fixed turret facing order, added rocket turret
This commit is contained in:
committed by
Chris Forbes
parent
b9cda8fcca
commit
8041b17032
@@ -114,16 +114,16 @@ namespace OpenRA.Mods.D2k.Widgets.Logic
|
|||||||
new string[] {"--r8", PathToDataR8, PathToPalette, "2521", "2522", Path.Combine(PathToSHPs, "radara"), "--building"},
|
new string[] {"--r8", PathToDataR8, PathToPalette, "2521", "2522", Path.Combine(PathToSHPs, "radara"), "--building"},
|
||||||
new string[] {"--r8", PathToDataR8, PathToPalette, "2523", "2524", Path.Combine(PathToSHPs, "pwra"), "--building"},
|
new string[] {"--r8", PathToDataR8, PathToPalette, "2523", "2524", Path.Combine(PathToSHPs, "pwra"), "--building"},
|
||||||
new string[] {"--r8", PathToDataR8, PathToPalette, "2525", "2526", Path.Combine(PathToSHPs, "barra"), "--building"},
|
new string[] {"--r8", PathToDataR8, PathToPalette, "2525", "2526", Path.Combine(PathToSHPs, "barra"), "--building"},
|
||||||
new string[] {"--r8", PathToDataR8, PathToPalette, "2527", "2558", Path.Combine(PathToSHPs, "wall"), "--wall"},
|
new string[] {"--r8", PathToDataR8, PathToPalette, "2527", "2558", Path.Combine(PathToSHPs, "walla"), "--wall"},
|
||||||
new string[] {"--r8", PathToDataR8, PathToPalette, "2559", "2560", Path.Combine(PathToSHPs, "conyarda"), "--building"},
|
new string[] {"--r8", PathToDataR8, PathToPalette, "2559", "2560", Path.Combine(PathToSHPs, "conyarda"), "--building"},
|
||||||
new string[] {"--r8", PathToDataR8, PathToPalette, "2561", "2563", Path.Combine(PathToSHPs, "refa"), "--building"},
|
new string[] {"--r8", PathToDataR8, PathToPalette, "2561", "2563", Path.Combine(PathToSHPs, "refa"), "--building"},
|
||||||
new string[] {"--r8", PathToDataR8, PathToPalette, "2564", "2565", Path.Combine(PathToSHPs, "hightecha"), "--building"},
|
new string[] {"--r8", PathToDataR8, PathToPalette, "2564", "2565", Path.Combine(PathToSHPs, "hightecha"), "--building"},
|
||||||
new string[] {"--r8", PathToDataR8, PathToPalette, "2566", "2570", Path.Combine(PathToSHPs, "siloa"), "--building"},
|
new string[] {"--r8", PathToDataR8, PathToPalette, "2566", "2570", Path.Combine(PathToSHPs, "siloa"), "--building"},
|
||||||
new string[] {"--r8", PathToDataR8, PathToPalette, "2571", "2572", Path.Combine(PathToSHPs, "repaira"), "--building"},
|
new string[] {"--r8", PathToDataR8, PathToPalette, "2571", "2572", Path.Combine(PathToSHPs, "repaira"), "--building"},
|
||||||
new string[] {"--r8", PathToDataR8, PathToPalette, "2573", "2588", Path.Combine(PathToSHPs, "guntower"), "--building"},
|
new string[] {"--r8", PathToDataR8, PathToPalette, "2573", "2588", Path.Combine(PathToSHPs, "guntowera"), "--building"},
|
||||||
new string[] {"--r8", PathToDataR8, PathToPalette, "2589", "2620", Path.Combine(PathToSHPs, "gunturret"), "--building"},
|
new string[] {"--r8", PathToDataR8, PathToPalette, "2589", "2620", Path.Combine(PathToSHPs, "gunturreta"), "--turret"},
|
||||||
new string[] {"--r8", PathToDataR8, PathToPalette, "2621", "2636", Path.Combine(PathToSHPs, "rockettower"), "--building"},
|
new string[] {"--r8", PathToDataR8, PathToPalette, "2621", "2636", Path.Combine(PathToSHPs, "rockettowera"), "--building"},
|
||||||
new string[] {"--r8", PathToDataR8, PathToPalette, "2637", "2668", Path.Combine(PathToSHPs, "rocketturreta"), "--building"},
|
new string[] {"--r8", PathToDataR8, PathToPalette, "2637", "2668", Path.Combine(PathToSHPs, "rocketturreta"), "--turret"},
|
||||||
new string[] {"--r8", PathToDataR8, PathToPalette, "2669", "2670", Path.Combine(PathToSHPs, "researcha"), "--building"},
|
new string[] {"--r8", PathToDataR8, PathToPalette, "2669", "2670", Path.Combine(PathToSHPs, "researcha"), "--building"},
|
||||||
new string[] {"--r8", PathToDataR8, PathToPalette, "2671", "2672", Path.Combine(PathToSHPs, "starporta"), "--building"},
|
new string[] {"--r8", PathToDataR8, PathToPalette, "2671", "2672", Path.Combine(PathToSHPs, "starporta"), "--building"},
|
||||||
new string[] {"--r8", PathToDataR8, PathToPalette, "2673", "2675", Path.Combine(PathToSHPs, "lighta"), "--building"},
|
new string[] {"--r8", PathToDataR8, PathToPalette, "2673", "2675", Path.Combine(PathToSHPs, "lighta"), "--building"},
|
||||||
@@ -132,15 +132,16 @@ namespace OpenRA.Mods.D2k.Widgets.Logic
|
|||||||
new string[] {"--r8", PathToDataR8, PathToPalette, "2681", "2682", Path.Combine(PathToSHPs, "radarh"), "--building"},
|
new string[] {"--r8", PathToDataR8, PathToPalette, "2681", "2682", Path.Combine(PathToSHPs, "radarh"), "--building"},
|
||||||
new string[] {"--r8", PathToDataR8, PathToPalette, "2683", "2684", Path.Combine(PathToSHPs, "pwrh"), "--building"},
|
new string[] {"--r8", PathToDataR8, PathToPalette, "2683", "2684", Path.Combine(PathToSHPs, "pwrh"), "--building"},
|
||||||
new string[] {"--r8", PathToDataR8, PathToPalette, "2685", "2686", Path.Combine(PathToSHPs, "barrh"), "--building"},
|
new string[] {"--r8", PathToDataR8, PathToPalette, "2685", "2686", Path.Combine(PathToSHPs, "barrh"), "--building"},
|
||||||
// identical wall
|
new string[] {"--r8", PathToDataR8, PathToPalette, "2687", "2718", Path.Combine(PathToSHPs, "wallh"), "--wall"},
|
||||||
new string[] {"--r8", PathToDataR8, PathToPalette, "2719", "2720", Path.Combine(PathToSHPs, "conyardh"), "--building"},
|
new string[] {"--r8", PathToDataR8, PathToPalette, "2719", "2720", Path.Combine(PathToSHPs, "conyardh"), "--building"},
|
||||||
new string[] {"--r8", PathToDataR8, PathToPalette, "2721", "2723", Path.Combine(PathToSHPs, "refh"), "--building"},
|
new string[] {"--r8", PathToDataR8, PathToPalette, "2721", "2723", Path.Combine(PathToSHPs, "refh"), "--building"},
|
||||||
new string[] {"--r8", PathToDataR8, PathToPalette, "2724", "2725", Path.Combine(PathToSHPs, "hightechh"), "--building"},
|
new string[] {"--r8", PathToDataR8, PathToPalette, "2724", "2725", Path.Combine(PathToSHPs, "hightechh"), "--building"},
|
||||||
new string[] {"--r8", PathToDataR8, PathToPalette, "2726", "2730", Path.Combine(PathToSHPs, "siloh"), "--building"},
|
new string[] {"--r8", PathToDataR8, PathToPalette, "2726", "2730", Path.Combine(PathToSHPs, "siloh"), "--building"},
|
||||||
new string[] {"--r8", PathToDataR8, PathToPalette, "2731", "2732", Path.Combine(PathToSHPs, "repairh"), "--building"},
|
new string[] {"--r8", PathToDataR8, PathToPalette, "2731", "2732", Path.Combine(PathToSHPs, "repairh"), "--building"},
|
||||||
// identical guntower
|
new string[] {"--r8", PathToDataR8, PathToPalette, "2733", "2748", Path.Combine(PathToSHPs, "guntowerh"), "--building"},
|
||||||
new string[] {"--r8", PathToDataR8, PathToPalette, "2749", "2780", Path.Combine(PathToSHPs, "gunturreth"), "--building"},
|
new string[] {"--r8", PathToDataR8, PathToPalette, "2749", "2780", Path.Combine(PathToSHPs, "gunturreth"), "--turret"},
|
||||||
new string[] {"--r8", PathToDataR8, PathToPalette, "2797", "2828", Path.Combine(PathToSHPs, "rocketturreth"), "--building"},
|
new string[] {"--r8", PathToDataR8, PathToPalette, "2781", "2796", Path.Combine(PathToSHPs, "rockettowerh"), "--building"},
|
||||||
|
new string[] {"--r8", PathToDataR8, PathToPalette, "2797", "2828", Path.Combine(PathToSHPs, "rocketturreth"), "--turret"},
|
||||||
new string[] {"--r8", PathToDataR8, PathToPalette, "2829", "2830", Path.Combine(PathToSHPs, "researchh"), "--building"},
|
new string[] {"--r8", PathToDataR8, PathToPalette, "2829", "2830", Path.Combine(PathToSHPs, "researchh"), "--building"},
|
||||||
new string[] {"--r8", PathToDataR8, PathToPalette, "2831", "2832", Path.Combine(PathToSHPs, "starporth"), "--building"},
|
new string[] {"--r8", PathToDataR8, PathToPalette, "2831", "2832", Path.Combine(PathToSHPs, "starporth"), "--building"},
|
||||||
new string[] {"--r8", PathToDataR8, PathToPalette, "2833", "2835", Path.Combine(PathToSHPs, "lighth"), "--building"},
|
new string[] {"--r8", PathToDataR8, PathToPalette, "2833", "2835", Path.Combine(PathToSHPs, "lighth"), "--building"},
|
||||||
@@ -149,15 +150,16 @@ namespace OpenRA.Mods.D2k.Widgets.Logic
|
|||||||
new string[] {"--r8", PathToDataR8, PathToPalette, "2841", "2842", Path.Combine(PathToSHPs, "radaro"), "--building"},
|
new string[] {"--r8", PathToDataR8, PathToPalette, "2841", "2842", Path.Combine(PathToSHPs, "radaro"), "--building"},
|
||||||
new string[] {"--r8", PathToDataR8, PathToPalette, "2843", "2844", Path.Combine(PathToSHPs, "pwro"), "--building"},
|
new string[] {"--r8", PathToDataR8, PathToPalette, "2843", "2844", Path.Combine(PathToSHPs, "pwro"), "--building"},
|
||||||
new string[] {"--r8", PathToDataR8, PathToPalette, "2845", "2846", Path.Combine(PathToSHPs, "barro"), "--building"},
|
new string[] {"--r8", PathToDataR8, PathToPalette, "2845", "2846", Path.Combine(PathToSHPs, "barro"), "--building"},
|
||||||
// identical wall
|
new string[] {"--r8", PathToDataR8, PathToPalette, "2847", "2878", Path.Combine(PathToSHPs, "wallo"), "--wall"},
|
||||||
new string[] {"--r8", PathToDataR8, PathToPalette, "2879", "2880", Path.Combine(PathToSHPs, "conyardo"), "--building"},
|
new string[] {"--r8", PathToDataR8, PathToPalette, "2879", "2880", Path.Combine(PathToSHPs, "conyardo"), "--building"},
|
||||||
new string[] {"--r8", PathToDataR8, PathToPalette, "2881", "2883", Path.Combine(PathToSHPs, "refo"), "--building"},
|
new string[] {"--r8", PathToDataR8, PathToPalette, "2881", "2883", Path.Combine(PathToSHPs, "refo"), "--building"},
|
||||||
new string[] {"--r8", PathToDataR8, PathToPalette, "2884", "2885", Path.Combine(PathToSHPs, "hightecho"), "--building"},
|
new string[] {"--r8", PathToDataR8, PathToPalette, "2884", "2885", Path.Combine(PathToSHPs, "hightecho"), "--building"},
|
||||||
new string[] {"--r8", PathToDataR8, PathToPalette, "2886", "2890", Path.Combine(PathToSHPs, "siloo"), "--building"},
|
new string[] {"--r8", PathToDataR8, PathToPalette, "2886", "2890", Path.Combine(PathToSHPs, "siloo"), "--building"},
|
||||||
new string[] {"--r8", PathToDataR8, PathToPalette, "2891", "2892", Path.Combine(PathToSHPs, "repairo"), "--building"},
|
new string[] {"--r8", PathToDataR8, PathToPalette, "2891", "2892", Path.Combine(PathToSHPs, "repairo"), "--building"},
|
||||||
// identical guntower
|
new string[] {"--r8", PathToDataR8, PathToPalette, "2893", "2908", Path.Combine(PathToSHPs, "guntowero"), "--building"},
|
||||||
new string[] {"--r8", PathToDataR8, PathToPalette, "2909", "2940", Path.Combine(PathToSHPs, "gunturreto"), "--building"},
|
new string[] {"--r8", PathToDataR8, PathToPalette, "2909", "2940", Path.Combine(PathToSHPs, "gunturreto"), "--turret"},
|
||||||
new string[] {"--r8", PathToDataR8, PathToPalette, "2957", "2988", Path.Combine(PathToSHPs, "rocketturreto"), "--building"},
|
new string[] {"--r8", PathToDataR8, PathToPalette, "2941", "2956", Path.Combine(PathToSHPs, "rockettowero"), "--building"},
|
||||||
|
new string[] {"--r8", PathToDataR8, PathToPalette, "2957", "2988", Path.Combine(PathToSHPs, "rocketturreto"), "--turret"},
|
||||||
new string[] {"--r8", PathToDataR8, PathToPalette, "2989", "2990", Path.Combine(PathToSHPs, "researcho"), "--building"},
|
new string[] {"--r8", PathToDataR8, PathToPalette, "2989", "2990", Path.Combine(PathToSHPs, "researcho"), "--building"},
|
||||||
new string[] {"--r8", PathToDataR8, PathToPalette, "2991", "2992", Path.Combine(PathToSHPs, "starporto"), "--building"},
|
new string[] {"--r8", PathToDataR8, PathToPalette, "2991", "2992", Path.Combine(PathToSHPs, "starporto"), "--building"},
|
||||||
new string[] {"--r8", PathToDataR8, PathToPalette, "2993", "2995", Path.Combine(PathToSHPs, "lighto"), "--building"},
|
new string[] {"--r8", PathToDataR8, PathToPalette, "2993", "2995", Path.Combine(PathToSHPs, "lighto"), "--building"},
|
||||||
@@ -327,15 +329,15 @@ namespace OpenRA.Mods.D2k.Widgets.Logic
|
|||||||
new string[] {"--shp", Path.Combine(PathToSHPs, "radara.png"), "96"},
|
new string[] {"--shp", Path.Combine(PathToSHPs, "radara.png"), "96"},
|
||||||
new string[] {"--shp", Path.Combine(PathToSHPs, "pwra.png"), "64"},
|
new string[] {"--shp", Path.Combine(PathToSHPs, "pwra.png"), "64"},
|
||||||
new string[] {"--shp", Path.Combine(PathToSHPs, "barra.png"), "80"},
|
new string[] {"--shp", Path.Combine(PathToSHPs, "barra.png"), "80"},
|
||||||
new string[] {"--shp", Path.Combine(PathToSHPs, "wall.png"), "32"},
|
new string[] {"--shp", Path.Combine(PathToSHPs, "walla.png"), "32"},
|
||||||
new string[] {"--shp", Path.Combine(PathToSHPs, "conyarda.png"), "96"},
|
new string[] {"--shp", Path.Combine(PathToSHPs, "conyarda.png"), "96"},
|
||||||
new string[] {"--shp", Path.Combine(PathToSHPs, "refa.png"), "120"},
|
new string[] {"--shp", Path.Combine(PathToSHPs, "refa.png"), "120"},
|
||||||
new string[] {"--shp", Path.Combine(PathToSHPs, "hightecha.png"), "96"},
|
new string[] {"--shp", Path.Combine(PathToSHPs, "hightecha.png"), "96"},
|
||||||
new string[] {"--shp", Path.Combine(PathToSHPs, "siloa.png"), "32"},
|
new string[] {"--shp", Path.Combine(PathToSHPs, "siloa.png"), "32"},
|
||||||
new string[] {"--shp", Path.Combine(PathToSHPs, "repaira.png"), "96"},
|
new string[] {"--shp", Path.Combine(PathToSHPs, "repaira.png"), "96"},
|
||||||
new string[] {"--shp", Path.Combine(PathToSHPs, "guntower.png"), "48"},
|
new string[] {"--shp", Path.Combine(PathToSHPs, "guntowera.png"), "48"},
|
||||||
new string[] {"--shp", Path.Combine(PathToSHPs, "gunturret.png"), "48"},
|
new string[] {"--shp", Path.Combine(PathToSHPs, "gunturreta.png"), "48"},
|
||||||
new string[] {"--shp", Path.Combine(PathToSHPs, "rockettower.png"), "48"},
|
new string[] {"--shp", Path.Combine(PathToSHPs, "rockettowera.png"), "48"},
|
||||||
new string[] {"--shp", Path.Combine(PathToSHPs, "rocketturreta.png"), "48"},
|
new string[] {"--shp", Path.Combine(PathToSHPs, "rocketturreta.png"), "48"},
|
||||||
new string[] {"--shp", Path.Combine(PathToSHPs, "researcha.png"), "96"},
|
new string[] {"--shp", Path.Combine(PathToSHPs, "researcha.png"), "96"},
|
||||||
new string[] {"--shp", Path.Combine(PathToSHPs, "starporta.png"), "96"},
|
new string[] {"--shp", Path.Combine(PathToSHPs, "starporta.png"), "96"},
|
||||||
@@ -344,13 +346,16 @@ namespace OpenRA.Mods.D2k.Widgets.Logic
|
|||||||
new string[] {"--shp", Path.Combine(PathToSHPs, "heavyh.png"), "96"},
|
new string[] {"--shp", Path.Combine(PathToSHPs, "heavyh.png"), "96"},
|
||||||
new string[] {"--shp", Path.Combine(PathToSHPs, "radarh.png"), "96"},
|
new string[] {"--shp", Path.Combine(PathToSHPs, "radarh.png"), "96"},
|
||||||
new string[] {"--shp", Path.Combine(PathToSHPs, "pwrh.png"), "64"},
|
new string[] {"--shp", Path.Combine(PathToSHPs, "pwrh.png"), "64"},
|
||||||
|
new string[] {"--shp", Path.Combine(PathToSHPs, "wallh.png"), "32"},
|
||||||
new string[] {"--shp", Path.Combine(PathToSHPs, "barrh.png"), "64"},
|
new string[] {"--shp", Path.Combine(PathToSHPs, "barrh.png"), "64"},
|
||||||
new string[] {"--shp", Path.Combine(PathToSHPs, "conyardh.png"), "96"},
|
new string[] {"--shp", Path.Combine(PathToSHPs, "conyardh.png"), "96"},
|
||||||
new string[] {"--shp", Path.Combine(PathToSHPs, "refh.png"), "120"},
|
new string[] {"--shp", Path.Combine(PathToSHPs, "refh.png"), "120"},
|
||||||
new string[] {"--shp", Path.Combine(PathToSHPs, "hightechh.png"), "96"},
|
new string[] {"--shp", Path.Combine(PathToSHPs, "hightechh.png"), "96"},
|
||||||
new string[] {"--shp", Path.Combine(PathToSHPs, "siloh.png"), "32"},
|
new string[] {"--shp", Path.Combine(PathToSHPs, "siloh.png"), "32"},
|
||||||
new string[] {"--shp", Path.Combine(PathToSHPs, "repairh.png"), "96"},
|
new string[] {"--shp", Path.Combine(PathToSHPs, "repairh.png"), "96"},
|
||||||
|
new string[] {"--shp", Path.Combine(PathToSHPs, "guntowerh.png"), "48"},
|
||||||
new string[] {"--shp", Path.Combine(PathToSHPs, "gunturreth.png"), "48"},
|
new string[] {"--shp", Path.Combine(PathToSHPs, "gunturreth.png"), "48"},
|
||||||
|
new string[] {"--shp", Path.Combine(PathToSHPs, "rockettowerh.png"), "48"},
|
||||||
new string[] {"--shp", Path.Combine(PathToSHPs, "rocketturreth.png"), "48"},
|
new string[] {"--shp", Path.Combine(PathToSHPs, "rocketturreth.png"), "48"},
|
||||||
new string[] {"--shp", Path.Combine(PathToSHPs, "researchh.png"), "96"},
|
new string[] {"--shp", Path.Combine(PathToSHPs, "researchh.png"), "96"},
|
||||||
new string[] {"--shp", Path.Combine(PathToSHPs, "starporth.png"), "96"},
|
new string[] {"--shp", Path.Combine(PathToSHPs, "starporth.png"), "96"},
|
||||||
@@ -360,12 +365,15 @@ namespace OpenRA.Mods.D2k.Widgets.Logic
|
|||||||
new string[] {"--shp", Path.Combine(PathToSHPs, "radaro.png"), "96"},
|
new string[] {"--shp", Path.Combine(PathToSHPs, "radaro.png"), "96"},
|
||||||
new string[] {"--shp", Path.Combine(PathToSHPs, "pwro.png"), "64"},
|
new string[] {"--shp", Path.Combine(PathToSHPs, "pwro.png"), "64"},
|
||||||
new string[] {"--shp", Path.Combine(PathToSHPs, "barro.png"), "64"},
|
new string[] {"--shp", Path.Combine(PathToSHPs, "barro.png"), "64"},
|
||||||
|
new string[] {"--shp", Path.Combine(PathToSHPs, "wallo.png"), "32"},
|
||||||
new string[] {"--shp", Path.Combine(PathToSHPs, "conyardo.png"), "96"},
|
new string[] {"--shp", Path.Combine(PathToSHPs, "conyardo.png"), "96"},
|
||||||
new string[] {"--shp", Path.Combine(PathToSHPs, "refo.png"), "120"},
|
new string[] {"--shp", Path.Combine(PathToSHPs, "refo.png"), "120"},
|
||||||
new string[] {"--shp", Path.Combine(PathToSHPs, "hightecho.png"), "96"},
|
new string[] {"--shp", Path.Combine(PathToSHPs, "hightecho.png"), "96"},
|
||||||
new string[] {"--shp", Path.Combine(PathToSHPs, "siloo.png"), "32"},
|
new string[] {"--shp", Path.Combine(PathToSHPs, "siloo.png"), "32"},
|
||||||
new string[] {"--shp", Path.Combine(PathToSHPs, "repairo.png"), "96"},
|
new string[] {"--shp", Path.Combine(PathToSHPs, "repairo.png"), "96"},
|
||||||
|
new string[] {"--shp", Path.Combine(PathToSHPs, "guntowero.png"), "48"},
|
||||||
new string[] {"--shp", Path.Combine(PathToSHPs, "gunturreto.png"), "48"},
|
new string[] {"--shp", Path.Combine(PathToSHPs, "gunturreto.png"), "48"},
|
||||||
|
new string[] {"--shp", Path.Combine(PathToSHPs, "rockettowero.png"), "48"},
|
||||||
new string[] {"--shp", Path.Combine(PathToSHPs, "rocketturreto.png"), "48"},
|
new string[] {"--shp", Path.Combine(PathToSHPs, "rocketturreto.png"), "48"},
|
||||||
new string[] {"--shp", Path.Combine(PathToSHPs, "researcho.png"), "96"},
|
new string[] {"--shp", Path.Combine(PathToSHPs, "researcho.png"), "96"},
|
||||||
new string[] {"--shp", Path.Combine(PathToSHPs, "starporto.png"), "96"},
|
new string[] {"--shp", Path.Combine(PathToSHPs, "starporto.png"), "96"},
|
||||||
|
|||||||
@@ -128,7 +128,6 @@ namespace OpenRA.Utility
|
|||||||
|
|
||||||
frame = srcImage[startFrame];
|
frame = srcImage[startFrame];
|
||||||
|
|
||||||
//TODO: This is not enough as the run and shoot animation are next to each other for each sequence in RA/CnC.
|
|
||||||
if (args.Contains("--infantry")) //resorting to RA/CnC compatible counter-clockwise frame order
|
if (args.Contains("--infantry")) //resorting to RA/CnC compatible counter-clockwise frame order
|
||||||
{
|
{
|
||||||
endFrame = startFrame-1;
|
endFrame = startFrame-1;
|
||||||
@@ -189,6 +188,34 @@ namespace OpenRA.Utility
|
|||||||
frame = srcImage[f];
|
frame = srcImage[f];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
else if (args.Contains("--turret")) //resorting to RA/CnC compatible counter-clockwise frame order
|
||||||
|
{
|
||||||
|
frame = srcImage[startFrame];
|
||||||
|
|
||||||
|
for (int f = endFrame-1; f > startFrame-1; f--)
|
||||||
|
{
|
||||||
|
if (frame.OffsetX < 0) { frame.OffsetX = 0 - frame.OffsetX; }
|
||||||
|
if (frame.OffsetY < 0) { frame.OffsetY = 0 - frame.OffsetY; }
|
||||||
|
OffsetX = 0 + frame.OffsetX;
|
||||||
|
OffsetY = frame.FrameHeight - frame.OffsetY;
|
||||||
|
|
||||||
|
Console.WriteLine("calculated OffsetX: {0}", OffsetX);
|
||||||
|
Console.WriteLine("calculated OffsetY: {0}", OffsetY);
|
||||||
|
|
||||||
|
var data = bitmap.LockBits(new Rectangle(x+OffsetX, 0+OffsetY, frame.Width, frame.Height), ImageLockMode.WriteOnly,
|
||||||
|
PixelFormat.Format8bppIndexed);
|
||||||
|
|
||||||
|
for (var i = 0; i < frame.Height; i++)
|
||||||
|
Marshal.Copy(frame.Image, i * frame.Width,
|
||||||
|
new IntPtr(data.Scan0.ToInt64() + i * data.Stride), frame.Width);
|
||||||
|
|
||||||
|
bitmap.UnlockBits(data);
|
||||||
|
|
||||||
|
x += frame.FrameWidth;
|
||||||
|
|
||||||
|
frame = srcImage[f];
|
||||||
|
}
|
||||||
|
}
|
||||||
else if (args.Contains("--wall")) //complex resorting to RA/CnC compatible frame order
|
else if (args.Contains("--wall")) //complex resorting to RA/CnC compatible frame order
|
||||||
{
|
{
|
||||||
int[] D2kBrikFrameOrder = {1, 4, 2, 12, 5, 6, 16, 9, 3, 13, 7, 8, 14, 10, 11, 15, 17, 20, 18, 28, 21, 22, 32, 25, 19, 29, 23, 24, 30, 26, 27, 31};
|
int[] D2kBrikFrameOrder = {1, 4, 2, 12, 5, 6, 16, 9, 3, 13, 7, 8, 14, 10, 11, 15, 17, 20, 18, 28, 21, 22, 32, 25, 19, 29, 23, 24, 30, 26, 27, 31};
|
||||||
@@ -411,6 +438,7 @@ namespace OpenRA.Utility
|
|||||||
srcImage.Frames.Select( im => im.Image.Select(px => (byte)remap[px]).ToArray() ));
|
srcImage.Frames.Select( im => im.Image.Select(px => (byte)remap[px]).ToArray() ));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//This is needed because the run and shoot animation are next to each other for each sequence in RA/CnC, but not in D2k.
|
||||||
public static void TransposeShp(string[] args)
|
public static void TransposeShp(string[] args)
|
||||||
{
|
{
|
||||||
var srcImage = ShpReader.Load(args[1]);
|
var srcImage = ShpReader.Load(args[1]);
|
||||||
|
|||||||
@@ -13,7 +13,6 @@
|
|||||||
# add more spice tiles and make them fit
|
# add more spice tiles and make them fit
|
||||||
# add game logic for concrete plates (use terrain overlay from bridges/ressources)
|
# add game logic for concrete plates (use terrain overlay from bridges/ressources)
|
||||||
# allow placing turrets on walls
|
# allow placing turrets on walls
|
||||||
# RenderBuildingTurreted does not support separate turret sequence
|
|
||||||
# R8 converter needs infantry/ornithocopter frame resorter
|
# R8 converter needs infantry/ornithocopter frame resorter
|
||||||
# add grenade thrower
|
# add grenade thrower
|
||||||
# make sandworm behave like a moving anti-vehicle mine
|
# make sandworm behave like a moving anti-vehicle mine
|
||||||
@@ -33,4 +32,4 @@
|
|||||||
# support patch 1.06 gamefiles: DATA.R8 has more frames and currently fails to extract, also featuring new terrain with white houses and new unit: grenade thrower
|
# support patch 1.06 gamefiles: DATA.R8 has more frames and currently fails to extract, also featuring new terrain with white houses and new unit: grenade thrower
|
||||||
# infantry-only areas (Rough) do not show the dark-green mouse cursor
|
# infantry-only areas (Rough) do not show the dark-green mouse cursor
|
||||||
# put TilesetBuilder.Export into OpenRA.Utility to call the functions directly when extracting game-files (instead of opening a GUI)
|
# put TilesetBuilder.Export into OpenRA.Utility to call the functions directly when extracting game-files (instead of opening a GUI)
|
||||||
# group number metrics are off, should use DrawText not pips SHP
|
# group number metrics are off
|
||||||
@@ -25,6 +25,24 @@ PWRA:
|
|||||||
Prerequisites: conyarda
|
Prerequisites: conyarda
|
||||||
Owner: atreides
|
Owner: atreides
|
||||||
|
|
||||||
|
GUNTOWERA:
|
||||||
|
Inherits: ^GUNTOWER
|
||||||
|
Buildable:
|
||||||
|
Prerequisites: conyarda
|
||||||
|
Owner: atreides
|
||||||
|
|
||||||
|
ROCKETTOWERA:
|
||||||
|
Inherits: ^ROCKETTOWER
|
||||||
|
Buildable:
|
||||||
|
Prerequisites: radara
|
||||||
|
Owner: atreides
|
||||||
|
|
||||||
|
WALLA:
|
||||||
|
Inherits: ^WALL
|
||||||
|
Buildable:
|
||||||
|
Prerequisites: conyarda
|
||||||
|
Owner: atreides
|
||||||
|
|
||||||
REFA:
|
REFA:
|
||||||
Inherits: ^REFINERY
|
Inherits: ^REFINERY
|
||||||
Buildable:
|
Buildable:
|
||||||
|
|||||||
@@ -45,6 +45,24 @@ BARRH:
|
|||||||
CancelledAudio: HI_CANCL.AUD
|
CancelledAudio: HI_CANCL.AUD
|
||||||
BlockedAudio: HI_NROOM.AUD
|
BlockedAudio: HI_NROOM.AUD
|
||||||
|
|
||||||
|
GUNTOWERH:
|
||||||
|
Inherits: ^GUNTOWER
|
||||||
|
Buildable:
|
||||||
|
Prerequisites: conyardh
|
||||||
|
Owner: harkonnen
|
||||||
|
|
||||||
|
ROCKETTOWERH:
|
||||||
|
Inherits: ^ROCKETTOWER
|
||||||
|
Buildable:
|
||||||
|
Prerequisites: radarh
|
||||||
|
Owner: harkonnen
|
||||||
|
|
||||||
|
WALLH:
|
||||||
|
Inherits: ^WALL
|
||||||
|
Buildable:
|
||||||
|
Prerequisites: conyardh
|
||||||
|
Owner: harkonnen
|
||||||
|
|
||||||
HIGHTECHH:
|
HIGHTECHH:
|
||||||
Inherits: ^HIGHTECH
|
Inherits: ^HIGHTECH
|
||||||
Buildable:
|
Buildable:
|
||||||
|
|||||||
@@ -45,6 +45,24 @@ BARRO:
|
|||||||
CancelledAudio: OI_CANCL.AUD
|
CancelledAudio: OI_CANCL.AUD
|
||||||
BlockedAudio: OI_NROOM.AUD
|
BlockedAudio: OI_NROOM.AUD
|
||||||
|
|
||||||
|
GUNTOWERO:
|
||||||
|
Inherits: ^GUNTOWER
|
||||||
|
Buildable:
|
||||||
|
Prerequisites: conyardo
|
||||||
|
Owner: ordos
|
||||||
|
|
||||||
|
ROCKETTOWERO:
|
||||||
|
Inherits: ^ROCKETTOWER
|
||||||
|
Buildable:
|
||||||
|
Prerequisites: radaro
|
||||||
|
Owner: ordos
|
||||||
|
|
||||||
|
WALLO:
|
||||||
|
Inherits: ^WALL
|
||||||
|
Buildable:
|
||||||
|
Prerequisites: conyardo
|
||||||
|
Owner: ordos
|
||||||
|
|
||||||
HIGHTECHO:
|
HIGHTECHO:
|
||||||
Inherits: ^HIGHTECH
|
Inherits: ^HIGHTECH
|
||||||
Buildable:
|
Buildable:
|
||||||
|
|||||||
@@ -377,11 +377,10 @@
|
|||||||
LowPowerSlowdown: 3
|
LowPowerSlowdown: 3
|
||||||
ProductionBar:
|
ProductionBar:
|
||||||
|
|
||||||
WALL:
|
^WALL:
|
||||||
Buildable:
|
Buildable:
|
||||||
Queue: Defense
|
Queue: Defense
|
||||||
BuildPaletteOrder: 1000
|
BuildPaletteOrder: 1000
|
||||||
Owner: atreides,harkonnen,ordos
|
|
||||||
SoundOnDamageTransition:
|
SoundOnDamageTransition:
|
||||||
DamagedSound:
|
DamagedSound:
|
||||||
DestroyedSound:
|
DestroyedSound:
|
||||||
@@ -392,6 +391,7 @@ WALL:
|
|||||||
Tooltip:
|
Tooltip:
|
||||||
Name: Concrete Wall
|
Name: Concrete Wall
|
||||||
Description: Stop units and blocks enemy fire.
|
Description: Stop units and blocks enemy fire.
|
||||||
|
Icon: wallicon
|
||||||
AppearsOnRadar:
|
AppearsOnRadar:
|
||||||
Building:
|
Building:
|
||||||
Dimensions: 1,1
|
Dimensions: 1,1
|
||||||
@@ -423,12 +423,11 @@ WALL:
|
|||||||
Types:Wall
|
Types:Wall
|
||||||
Sellable:
|
Sellable:
|
||||||
|
|
||||||
GUNTOWER:
|
^GUNTOWER:
|
||||||
Inherits: ^Building
|
Inherits: ^Building
|
||||||
Buildable:
|
Buildable:
|
||||||
Queue: Defense
|
Queue: Defense
|
||||||
BuildPaletteOrder: 40
|
BuildPaletteOrder: 40
|
||||||
Owner: atreides,harkonnen,ordos
|
|
||||||
Valued:
|
Valued:
|
||||||
Cost: 600
|
Cost: 600
|
||||||
Tooltip:
|
Tooltip:
|
||||||
@@ -436,7 +435,7 @@ GUNTOWER:
|
|||||||
Description: Anti-Armor base defense.\n Strong vs Tanks\n Weak vs Infantry, Aircraft
|
Description: Anti-Armor base defense.\n Strong vs Tanks\n Weak vs Infantry, Aircraft
|
||||||
Icon: turreticon
|
Icon: turreticon
|
||||||
Building:
|
Building:
|
||||||
Power: -40
|
Power: -20
|
||||||
-GivesBuildableArea:
|
-GivesBuildableArea:
|
||||||
Health:
|
Health:
|
||||||
HP: 400
|
HP: 400
|
||||||
@@ -447,6 +446,7 @@ GUNTOWER:
|
|||||||
RenderRangeCircle:
|
RenderRangeCircle:
|
||||||
-RenderBuilding:
|
-RenderBuilding:
|
||||||
RenderBuildingSeparateTurret:
|
RenderBuildingSeparateTurret:
|
||||||
|
HasMakeAnimation: false
|
||||||
Turreted:
|
Turreted:
|
||||||
ROT: 12
|
ROT: 12
|
||||||
InitialFacing: 50
|
InitialFacing: 50
|
||||||
@@ -456,6 +456,40 @@ GUNTOWER:
|
|||||||
RequiresPower:
|
RequiresPower:
|
||||||
CanPowerDown:
|
CanPowerDown:
|
||||||
|
|
||||||
|
^ROCKETTOWER:
|
||||||
|
Inherits: ^Building
|
||||||
|
RequiresPower:
|
||||||
|
Valued:
|
||||||
|
Cost: 1000
|
||||||
|
Tooltip:
|
||||||
|
Name: Rocket Tower
|
||||||
|
Icon: rturreticon
|
||||||
|
Description: Anti-armor defensive structure.\n Strong vs Light Vehicles, Tanks\n Weak vs Infantry
|
||||||
|
Buildable:
|
||||||
|
Queue: Defense
|
||||||
|
BuildPaletteOrder: 60
|
||||||
|
Building:
|
||||||
|
Power: -40
|
||||||
|
-GivesBuildableArea:
|
||||||
|
Health:
|
||||||
|
HP: 800
|
||||||
|
Armor:
|
||||||
|
Type: Heavy
|
||||||
|
RevealsShroud:
|
||||||
|
Range: 8
|
||||||
|
-RenderBuilding:
|
||||||
|
RenderBuildingSeparateTurret:
|
||||||
|
HasMakeAnimation: false
|
||||||
|
AttackTurreted:
|
||||||
|
PrimaryWeapon: TowerMissle
|
||||||
|
PrimaryOffset: 0,0,5,2
|
||||||
|
PrimaryLocalOffset: 7,-7,0,0,-25, -7,-7,0,0,25
|
||||||
|
Turreted:
|
||||||
|
ROT: 12
|
||||||
|
InitialFacing: 50
|
||||||
|
AutoTarget:
|
||||||
|
RenderRangeCircle:
|
||||||
|
|
||||||
^REPAIR:
|
^REPAIR:
|
||||||
Inherits: ^Building
|
Inherits: ^Building
|
||||||
Buildable:
|
Buildable:
|
||||||
|
|||||||
@@ -18,7 +18,35 @@ harvester:
|
|||||||
Start: 10
|
Start: 10
|
||||||
Length: 1
|
Length: 1
|
||||||
|
|
||||||
wall:
|
walla:
|
||||||
|
idle:
|
||||||
|
Start: 0
|
||||||
|
Length: 16
|
||||||
|
scratched-idle:
|
||||||
|
Start: 0
|
||||||
|
Length: 16
|
||||||
|
damaged-idle:
|
||||||
|
Start: 16
|
||||||
|
Length: 16
|
||||||
|
critical-idle:
|
||||||
|
Start: 16
|
||||||
|
Length: 16
|
||||||
|
|
||||||
|
wallh:
|
||||||
|
idle:
|
||||||
|
Start: 0
|
||||||
|
Length: 16
|
||||||
|
scratched-idle:
|
||||||
|
Start: 0
|
||||||
|
Length: 16
|
||||||
|
damaged-idle:
|
||||||
|
Start: 16
|
||||||
|
Length: 16
|
||||||
|
critical-idle:
|
||||||
|
Start: 16
|
||||||
|
Length: 16
|
||||||
|
|
||||||
|
wallo:
|
||||||
idle:
|
idle:
|
||||||
Start: 0
|
Start: 0
|
||||||
Length: 16
|
Length: 16
|
||||||
@@ -75,7 +103,7 @@ sonictank:
|
|||||||
Start: 0
|
Start: 0
|
||||||
Facings: 32
|
Facings: 32
|
||||||
|
|
||||||
guntower:
|
guntowera:
|
||||||
idle:
|
idle:
|
||||||
Start: 0
|
Start: 0
|
||||||
Facings: 1
|
Facings: 1
|
||||||
@@ -91,7 +119,106 @@ guntower:
|
|||||||
damaged-recoil:
|
damaged-recoil:
|
||||||
Start: 0
|
Start: 0
|
||||||
Facings: 1
|
Facings: 1
|
||||||
turret: gunturret
|
turret: gunturreta
|
||||||
|
Start: 0
|
||||||
|
Facings: 32
|
||||||
|
|
||||||
|
guntowerh:
|
||||||
|
idle:
|
||||||
|
Start: 0
|
||||||
|
Facings: 1
|
||||||
|
recoil:
|
||||||
|
Start: 0
|
||||||
|
Facings: 1
|
||||||
|
make: silomake
|
||||||
|
Start: 0
|
||||||
|
Length: *
|
||||||
|
damaged-idle:
|
||||||
|
Start: 0
|
||||||
|
Facings: 1
|
||||||
|
damaged-recoil:
|
||||||
|
Start: 0
|
||||||
|
Facings: 1
|
||||||
|
turret: gunturreth
|
||||||
|
Start: 0
|
||||||
|
Facings: 32
|
||||||
|
|
||||||
|
guntowero:
|
||||||
|
idle:
|
||||||
|
Start: 0
|
||||||
|
Facings: 1
|
||||||
|
recoil:
|
||||||
|
Start: 0
|
||||||
|
Facings: 1
|
||||||
|
make: silomake
|
||||||
|
Start: 0
|
||||||
|
Length: *
|
||||||
|
damaged-idle:
|
||||||
|
Start: 0
|
||||||
|
Facings: 1
|
||||||
|
damaged-recoil:
|
||||||
|
Start: 0
|
||||||
|
Facings: 1
|
||||||
|
turret: gunturreto
|
||||||
|
Start: 0
|
||||||
|
Facings: 32
|
||||||
|
|
||||||
|
rockettowera:
|
||||||
|
idle:
|
||||||
|
Start: 0
|
||||||
|
Facings: 1
|
||||||
|
recoil:
|
||||||
|
Start: 0
|
||||||
|
Facings: 1
|
||||||
|
make: silomake
|
||||||
|
Start: 0
|
||||||
|
Length: *
|
||||||
|
damaged-idle:
|
||||||
|
Start: 0
|
||||||
|
Facings: 1
|
||||||
|
damaged-recoil:
|
||||||
|
Start: 0
|
||||||
|
Facings: 1
|
||||||
|
turret: rocketturreta
|
||||||
|
Start: 0
|
||||||
|
Facings: 32
|
||||||
|
|
||||||
|
rockettowerh:
|
||||||
|
idle:
|
||||||
|
Start: 0
|
||||||
|
Facings: 1
|
||||||
|
recoil:
|
||||||
|
Start: 0
|
||||||
|
Facings: 1
|
||||||
|
make: silomake
|
||||||
|
Start: 0
|
||||||
|
Length: *
|
||||||
|
damaged-idle:
|
||||||
|
Start: 0
|
||||||
|
Facings: 1
|
||||||
|
damaged-recoil:
|
||||||
|
Start: 0
|
||||||
|
Facings: 1
|
||||||
|
turret: rocketturreth
|
||||||
|
Start: 0
|
||||||
|
Facings: 32
|
||||||
|
rockettowero:
|
||||||
|
idle:
|
||||||
|
Start: 0
|
||||||
|
Facings: 1
|
||||||
|
recoil:
|
||||||
|
Start: 0
|
||||||
|
Facings: 1
|
||||||
|
make: silomake
|
||||||
|
Start: 0
|
||||||
|
Length: *
|
||||||
|
damaged-idle:
|
||||||
|
Start: 0
|
||||||
|
Facings: 1
|
||||||
|
damaged-recoil:
|
||||||
|
Start: 0
|
||||||
|
Facings: 1
|
||||||
|
turret: rocketturreto
|
||||||
Start: 0
|
Start: 0
|
||||||
Facings: 32
|
Facings: 32
|
||||||
|
|
||||||
|
|||||||
@@ -93,11 +93,41 @@ TurretGun:
|
|||||||
Light: 75%
|
Light: 75%
|
||||||
Concrete: 50%
|
Concrete: 50%
|
||||||
Explosion: small_explosion
|
Explosion: small_explosion
|
||||||
WaterExplosion: small_splash
|
|
||||||
InfDeath: 3
|
InfDeath: 3
|
||||||
SmudgeType: SandCrater, RockCrater
|
SmudgeType: SandCrater, RockCrater
|
||||||
Damage: 60
|
Damage: 60
|
||||||
|
|
||||||
|
TowerMissle:
|
||||||
|
ROF: 40
|
||||||
|
Range: 7
|
||||||
|
Report: MISSLE1
|
||||||
|
ValidTargets: Ground, Air
|
||||||
|
Burst: 2
|
||||||
|
BurstDelay: 10
|
||||||
|
Projectile: Missile
|
||||||
|
Arm: 0
|
||||||
|
High: yes
|
||||||
|
Shadow: no
|
||||||
|
Proximity: yes
|
||||||
|
Inaccuracy: 3
|
||||||
|
Image: DRAGON
|
||||||
|
ROT: 10
|
||||||
|
Trail: smokey
|
||||||
|
Speed: 25
|
||||||
|
RangeLimit: 40
|
||||||
|
Warhead:
|
||||||
|
Spread: 6
|
||||||
|
Versus:
|
||||||
|
None: 90%
|
||||||
|
Wood: 75%
|
||||||
|
Light: 60%
|
||||||
|
Heavy: 25%
|
||||||
|
InfDeath: 2
|
||||||
|
Explosion: small_explosion
|
||||||
|
ImpactSound: kaboom12
|
||||||
|
SmudgeType: SandCrater, RockCrater
|
||||||
|
Damage: 60
|
||||||
|
|
||||||
25mm:
|
25mm:
|
||||||
ROF: 13
|
ROF: 13
|
||||||
Range: 4
|
Range: 4
|
||||||
@@ -113,7 +143,6 @@ TurretGun:
|
|||||||
Heavy: 40%
|
Heavy: 40%
|
||||||
Concrete: 30%
|
Concrete: 30%
|
||||||
Explosion: small_explosion
|
Explosion: small_explosion
|
||||||
WaterExplosion: small_splash
|
|
||||||
InfDeath: 3
|
InfDeath: 3
|
||||||
SmudgeType: SandCrater, RockCrater
|
SmudgeType: SandCrater, RockCrater
|
||||||
Damage: 16
|
Damage: 16
|
||||||
@@ -133,7 +162,6 @@ TurretGun:
|
|||||||
Light: 75%
|
Light: 75%
|
||||||
Concrete: 50%
|
Concrete: 50%
|
||||||
Explosion: small_explosion
|
Explosion: small_explosion
|
||||||
WaterExplosion: small_splash
|
|
||||||
InfDeath: 3
|
InfDeath: 3
|
||||||
SmudgeType: SandCrater, RockCrater
|
SmudgeType: SandCrater, RockCrater
|
||||||
Damage: 30
|
Damage: 30
|
||||||
@@ -155,7 +183,6 @@ TurretGun:
|
|||||||
Light: 75%
|
Light: 75%
|
||||||
Concrete: 50%
|
Concrete: 50%
|
||||||
Explosion: small_explosion
|
Explosion: small_explosion
|
||||||
WaterExplosion: small_splash
|
|
||||||
InfDeath: 3
|
InfDeath: 3
|
||||||
SmudgeType: SandCrater, RockCrater
|
SmudgeType: SandCrater, RockCrater
|
||||||
Damage: 40
|
Damage: 40
|
||||||
@@ -176,7 +203,6 @@ TurretGun:
|
|||||||
Light: 75%
|
Light: 75%
|
||||||
Concrete: 50%
|
Concrete: 50%
|
||||||
Explosion: small_explosion
|
Explosion: small_explosion
|
||||||
WaterExplosion: small_splash
|
|
||||||
InfDeath: 3
|
InfDeath: 3
|
||||||
SmudgeType: SandCrater, RockCrater
|
SmudgeType: SandCrater, RockCrater
|
||||||
Damage: 50
|
Damage: 50
|
||||||
@@ -213,7 +239,6 @@ TurretGun:
|
|||||||
SmudgeType: SandCrater, RockCrater
|
SmudgeType: SandCrater, RockCrater
|
||||||
Damage: 25
|
Damage: 25
|
||||||
|
|
||||||
#for rocket turret
|
|
||||||
MammothTusk:
|
MammothTusk:
|
||||||
ROF: 60
|
ROF: 60
|
||||||
Range: 8
|
Range: 8
|
||||||
@@ -298,7 +323,6 @@ ChainGun:
|
|||||||
Heavy: 25%
|
Heavy: 25%
|
||||||
Concrete: 25%
|
Concrete: 25%
|
||||||
Explosion: piffs
|
Explosion: piffs
|
||||||
WaterExplosion: small_splash
|
|
||||||
InfDeath: 1
|
InfDeath: 1
|
||||||
Damage: 20
|
Damage: 20
|
||||||
|
|
||||||
@@ -317,7 +341,6 @@ M60mg:
|
|||||||
Heavy: 10%
|
Heavy: 10%
|
||||||
Concrete: 10%
|
Concrete: 10%
|
||||||
Explosion: piffs
|
Explosion: piffs
|
||||||
WaterExplosion: small_splash
|
|
||||||
InfDeath: 1
|
InfDeath: 1
|
||||||
Damage: 15
|
Damage: 15
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user