replace the infantry sequences with transposed DATA.R8 frames

This commit is contained in:
Matthias Mailänder
2013-08-11 21:13:52 +02:00
parent 341522232e
commit bed3fc2498
4 changed files with 320 additions and 393 deletions

View File

@@ -87,20 +87,6 @@ namespace OpenRA.Mods.D2k.Widgets.Logic
new string[] { "--r8", pathToDataR8, pathToPalette, "162", "177", Path.Combine(pathToSHPs, "sandcrater2") },
new string[] { "--r8", pathToDataR8, pathToPalette, "178", "193", Path.Combine(pathToSHPs, "unknown") },
new string[] { "--r8", pathToDataR8, pathToPalette, "194", "205", Path.Combine(pathToSHPs, "unknown2") },
new string[] { "--r8", pathToDataR8, pathToPalette, "206", "381", Path.Combine(pathToSHPs, "rifle"), "--infantry" },
new string[] { "--r8", pathToDataR8, pathToPalette, "382", "457", Path.Combine(pathToSHPs, "rifledeath"), "--infantrydeath" },
new string[] { "--r8", pathToDataR8, pathToPalette, "458", "633", Path.Combine(pathToSHPs, "bazooka"), "--infantry" },
new string[] { "--r8", pathToDataR8, pathToPalette, "634", "693", Path.Combine(pathToSHPs, "bazookadeath"), "--infantrydeath" },
new string[] { "--r8", pathToDataR8, pathToPalette, "694", "869", Path.Combine(pathToSHPs, "fremen"), "--infantry" },
new string[] { "--r8", pathToDataR8, pathToPalette, "870", "929", Path.Combine(pathToSHPs, "fremendeath"), "--infantrydeath" },
new string[] { "--r8", pathToDataR8, pathToPalette, "930", "1105", Path.Combine(pathToSHPs, "sardaukar"), "--infantry" },
new string[] { "--r8", pathToDataR8, pathToPalette, "1106", "1165", Path.Combine(pathToSHPs, "sardaukardeath"), "--infantrydeath" },
new string[] { "--r8", pathToDataR8, pathToPalette, "1166", "1341", Path.Combine(pathToSHPs, "engineer"), "--infantry" },
new string[] { "--r8", pathToDataR8, pathToPalette, "1342", "1401", Path.Combine(pathToSHPs, "engineerdeath"), "--infantrydeath" },
new string[] { "--r8", pathToDataR8, pathToPalette, "1402", "1457", Path.Combine(pathToSHPs, "thumper"), "--infantry" },
new string[] { "--r8", pathToDataR8, pathToPalette, "1458", "1462", Path.Combine(pathToSHPs, "thumping"), "--infantrydeath" },
new string[] { "--r8", pathToDataR8, pathToPalette, "1463", "1542", Path.Combine(pathToSHPs, "thumper2"), "--infantry" },
new string[] { "--r8", pathToDataR8, pathToPalette, "1543", "1602", Path.Combine(pathToSHPs, "thumperdeath"), "--infantrydeath" },
new string[] { "--r8", pathToDataR8, pathToPalette, "1603", "1634", Path.Combine(pathToSHPs, "missiletank"), "--vehicle" },
new string[] { "--r8", pathToDataR8, pathToPalette, "1635", "1666", Path.Combine(pathToSHPs, "trike"), "--vehicle" },
new string[] { "--r8", pathToDataR8, pathToPalette, "1667", "1698", Path.Combine(pathToSHPs, "quad"), "--vehicle" },
@@ -117,8 +103,6 @@ namespace OpenRA.Mods.D2k.Widgets.Logic
new string[] { "--r8", pathToDataR8, pathToPalette, "2083", "2114", Path.Combine(pathToSHPs, "devast"), "--vehicle" },
new string[] { "--r8", pathToDataR8, pathToPalette, "2115", "2146", Path.Combine(pathToSHPs, "combathturret"), "--vehicle" },
new string[] { "--r8", pathToDataR8, pathToPalette, "2147", "2148", Path.Combine(pathToSHPs, "deathhandmissile") },
new string[] { "--r8", pathToDataR8, pathToPalette, "2149", "2324", Path.Combine(pathToSHPs, "saboteur"), "--infantry" },
new string[] { "--r8", pathToDataR8, pathToPalette, "2325", "2388", Path.Combine(pathToSHPs, "saboteurdeath"), "--infantrydeath" },
new string[] { "--r8", pathToDataR8, pathToPalette, "2389", "2420", Path.Combine(pathToSHPs, "deviatortank"), "--vehicle" },
new string[] { "--r8", pathToDataR8, pathToPalette, "2421", "2452", Path.Combine(pathToSHPs, "raider"), "--vehicle" },
new string[] { "--r8", pathToDataR8, pathToPalette, "2453", "2484", Path.Combine(pathToSHPs, "combato"), "--vehicle" },
@@ -319,20 +303,6 @@ namespace OpenRA.Mods.D2k.Widgets.Logic
new string[] { "--shp", Path.Combine(pathToSHPs, "sandcrater2.png"), "32" },
new string[] { "--shp", Path.Combine(pathToSHPs, "unknown.png"), "64" },
new string[] { "--shp", Path.Combine(pathToSHPs, "unknown2.png"), "64" },
new string[] { "--shp", Path.Combine(pathToSHPs, "rifle.png"), "48" },
new string[] { "--shp", Path.Combine(pathToSHPs, "rifledeath.png"), "48" },
new string[] { "--shp", Path.Combine(pathToSHPs, "bazooka.png"), "48" },
new string[] { "--shp", Path.Combine(pathToSHPs, "bazookadeath.png"), "48" },
new string[] { "--shp", Path.Combine(pathToSHPs, "fremen.png"), "48" },
new string[] { "--shp", Path.Combine(pathToSHPs, "fremendeath.png"), "48" },
new string[] { "--shp", Path.Combine(pathToSHPs, "sardaukar.png"), "48" },
new string[] { "--shp", Path.Combine(pathToSHPs, "sardaukardeath.png"), "48" },
new string[] { "--shp", Path.Combine(pathToSHPs, "engineer.png"), "48" },
new string[] { "--shp", Path.Combine(pathToSHPs, "engineerdeath.png"), "48" },
new string[] { "--shp", Path.Combine(pathToSHPs, "thumper.png"), "48" },
new string[] { "--shp", Path.Combine(pathToSHPs, "thumping.png"), "48" },
new string[] { "--shp", Path.Combine(pathToSHPs, "thumper2.png"), "48" },
new string[] { "--shp", Path.Combine(pathToSHPs, "thumperdeath.png"), "48" },
new string[] { "--shp", Path.Combine(pathToSHPs, "missiletank.png"), "48" },
new string[] { "--shp", Path.Combine(pathToSHPs, "trike.png"), "32" },
new string[] { "--shp", Path.Combine(pathToSHPs, "quad.png"), "32" },
@@ -349,8 +319,6 @@ namespace OpenRA.Mods.D2k.Widgets.Logic
new string[] { "--shp", Path.Combine(pathToSHPs, "devast.png"), "48" },
new string[] { "--shp", Path.Combine(pathToSHPs, "combathturret.png"), "48" },
new string[] { "--shp", Path.Combine(pathToSHPs, "deathhandmissile.png"), "24" },
new string[] { "--shp", Path.Combine(pathToSHPs, "saboteur.png"), "48" },
new string[] { "--shp", Path.Combine(pathToSHPs, "saboteurdeath.png"), "48" },
new string[] { "--shp", Path.Combine(pathToSHPs, "deviatortank.png"), "48" },
new string[] { "--shp", Path.Combine(pathToSHPs, "raider.png"), "32" },
new string[] { "--shp", Path.Combine(pathToSHPs, "combato.png"), "48" },
@@ -499,14 +467,6 @@ namespace OpenRA.Mods.D2k.Widgets.Logic
var shpToTranspose = new string[][]
{
new string[] { "--transpose", Path.Combine(pathToSHPs, "orni.shp"), Path.Combine(pathToSHPs, "orni.shp"), "0", "32", "3" },
new string[] { "--transpose", Path.Combine(pathToSHPs, "rifle.shp"), Path.Combine(pathToSHPs, "rifle.shp"), "8", "8", "6", "56", "8", "5", "112", "8", "3", "136", "8", "5" },
new string[] { "--transpose", Path.Combine(pathToSHPs, "bazooka.shp"), Path.Combine(pathToSHPs, "bazooka.shp"), "8", "8", "6", "56", "8", "5", "112", "8", "3", "136", "8", "5" },
new string[] { "--transpose", Path.Combine(pathToSHPs, "fremen.shp"), Path.Combine(pathToSHPs, "fremen.shp"), "8", "8", "6", "56", "8", "5", "112", "8", "3", "136", "8", "5" },
new string[] { "--transpose", Path.Combine(pathToSHPs, "sardaukar.shp"), Path.Combine(pathToSHPs, "sardaukar.shp"), "8", "8", "6", "56", "8", "5", "112", "8", "3", "136", "8", "5" },
new string[] { "--transpose", Path.Combine(pathToSHPs, "thumper.shp"), Path.Combine(pathToSHPs, "thumper.shp"), "8", "8", "6" },
new string[] { "--transpose", Path.Combine(pathToSHPs, "thumper2.shp"), Path.Combine(pathToSHPs, "thumper2.shp"), "8", "8", "5" },
new string[] { "--transpose", Path.Combine(pathToSHPs, "engineer.shp"), Path.Combine(pathToSHPs, "engineer.shp"), "8", "8", "6" },
new string[] { "--transpose", Path.Combine(pathToSHPs, "saboteur.shp"), Path.Combine(pathToSHPs, "saboteur.shp"), "8", "8", "6", "56", "8", "5", "112", "8", "3", "136", "8", "5" },
};
var onError = (Action<string>)(s => Game.RunAfterTick(() =>

View File

@@ -141,44 +141,7 @@ namespace OpenRA.Utility
frame = srcImage[startFrame];
// resorting to RA/CnC compatible counter-clockwise frame order
if (args.Contains("--infantry"))
{
endFrame = startFrame - 1;
// assuming 8 facings each animation set
for (int e = 8; e < frameCount + 1; e = e + 8)
{
for (int f = startFrame + e - 1; f > endFrame; f--)
{
var offsetX = frame.FrameSize.Width / 2 - frame.Size.Width / 2;
var offsetY = frame.FrameSize.Height / 2 - frame.Size.Height / 2;
Console.WriteLine("calculated OffsetX: {0}", offsetX);
Console.WriteLine("calculated OffsetY: {0}", offsetY);
var data = bitmap.LockBits(new Rectangle(x + offsetX, 0 + offsetY, frame.Size.Width, frame.Size.Height), ImageLockMode.WriteOnly,
PixelFormat.Format8bppIndexed);
for (var i = 0; i < frame.Size.Height; i++)
Marshal.Copy(frame.Image, i * frame.Size.Width,
new IntPtr(data.Scan0.ToInt64() + i * data.Stride), frame.Size.Width);
bitmap.UnlockBits(data);
x += frame.FrameSize.Width;
frame = srcImage[f];
Console.WriteLine("f: {0}", f);
}
endFrame = startFrame + e - 1;
frame = srcImage[startFrame + e];
Console.WriteLine("e: {0}", e);
Console.WriteLine("FrameCount: {0}", frameCount);
}
}
else if (args.Contains("--vehicle") || args.Contains("--projectile"))
if (args.Contains("--vehicle") || args.Contains("--projectile"))
{
frame = srcImage[startFrame];
@@ -260,34 +223,6 @@ namespace OpenRA.Utility
bitmap = tileset;
}
else
{
for (int f = startFrame; f < endFrame; f++)
{
frame = srcImage[f];
var offsetX = 0;
var offsetY = 0;
if (args.Contains("--infantrydeath"))
{
offsetX = frame.FrameSize.Width / 2 - frame.Size.Width / 2;
offsetY = frame.FrameSize.Height / 2 - frame.Size.Height / 2;
}
Console.WriteLine("calculated OffsetX: {0}", offsetX);
Console.WriteLine("calculated OffsetY: {0}", offsetY);
var data = bitmap.LockBits(new Rectangle(x + offsetX, 0 + offsetY, frame.Size.Width, frame.Size.Height), ImageLockMode.WriteOnly,
PixelFormat.Format8bppIndexed);
for (var i = 0; i < frame.Size.Height; i++)
Marshal.Copy(frame.Image, i * frame.Size.Width,
new IntPtr(data.Scan0.ToInt64() + i * data.Stride), frame.Size.Width);
bitmap.UnlockBits(data);
x += frame.FrameSize.Width;
}
}
bitmap.Save(filename + ".png");
Console.WriteLine(filename + ".png saved");

View File

@@ -64,7 +64,7 @@ namespace OpenRA.Utility
Console.WriteLine(" --extract MOD[,MOD]* FILES [--userdir] Extract files from mod packages to the current (or user) directory");
Console.WriteLine(" --tmp-png MOD[,MOD]* THEATER FILES Extract terrain tiles to PNG");
Console.WriteLine(" --remap SRCMOD:PAL DESTMOD:PAL SRCSHP DESTSHP Remap SHPs to another palette");
Console.WriteLine(" --r8 R8FILE PALETTE START END FILENAME [--noshadow] [--infrantry] [--vehicle] [--projectile] [--tileset] Convert Dune 2000 DATA.R8 to PNGs choosing start- and endframe as well as type for correct offset to append multiple frames to one PNG named by filename optionally removing the shadow.");
Console.WriteLine(" --r8 R8FILE PALETTE START END FILENAME [--noshadow] [--vehicle] [--projectile] [--tileset] Convert Dune 2000 DATA.R8 to PNGs choosing start- and endframe as well as type for correct offset to append multiple frames to one PNG named by filename optionally removing the shadow.");
Console.WriteLine(" --transpose SRCSHP DESTSHP START N M [START N M ...] Transpose the N*M block of frames starting at START.");
Console.WriteLine(" --docs MOD Generate trait documentation in MarkDown format.");
Console.WriteLine(" --map-hash MAPFILE Generate hash of specified oramap file.");

View File

@@ -1,385 +1,417 @@
rifle:
stand:
Start: 0
Facings: 8
stand2:
Start: 0
Facings: 8
stand3:
Start: 0
Facings: 8
run:
Start: 8
stand: DATA.R8
Start: 206
Facings: -8
Transpose: true
stand2: DATA.R8
Start: 206
Facings: -8
Transpose: true
stand3: DATA.R8
Start: 206
Facings: -8
Transpose: true
run: DATA.R8
Start: 214
Length: 6
Facings: 8
Facings: -8
Tick: 110
shoot:
Start: 56
Length: 5
Facings: 8
Tick: 120
prone-stand:
Start: 104
Length: 1
Facings: 8
prone-run:
Start: 112
Transpose: true
shoot: DATA.R8
Start: 254
Length: 6
Facings: -8
Transpose: true
prone-stand: DATA.R8
Start: 302
Facings: -8
Transpose: true
prone-run: DATA.R8
Start: 310
Length: 3
Facings: 8
Facings: -8
Transpose: true
Tick: 110
standup-0:
Start: 96
Length: 1
Facings: 8
standup-0: DATA.R8
Start: 302
Facings: -8
Transpose: true
Tick: 120
prone-shoot:
Start: 136
prone-shoot: DATA.R8
Start: 334
Length: 6
Facings: -8
Transpose: true
die1: DATA.R8
Start: 382
Length: 5
Facings: 8
Tick: 120
die1: rifledeath
Start: 12
Length: 12
die2: DATA.R8
Start: 387
Length: 7
Tick: 80
die2: rifledeath
Start: 12
die3: DATA.R8
Start: 394
Length: 7
die4: DATA.R8
Start: 401
Length: 7
die5: DATA.R8
Start: 408
Length: 7
die6: DATA.R8
Start: 415
Length: 12
Tick: 80
die3: rifledeath
Start: 36
die-crushed: DATA.R8
Start: 430
Length: 12
Tick: 80
die4: rifledeath
Start: 24
Length: 12
Tick: 80
die5: rifledeath
Start: 0
Length: 12
Tick: 80
die6: rifledeath
Start: 12
Length: 12
Tick: 80
die-crushed: rifledeath
Start: 48
Length: 12
Tick: 160
Tick: 1600
bazooka:
stand:
Start: 0
Facings: 8
stand2:
Start: 0
Facings: 8
stand3:
Start: 0
Facings: 8
run:
Start: 8
stand: DATA.R8
Start: 458
Facings: -8
Transpose: true
stand2: DATA.R8
Start: 458
Facings: -8
Transpose: true
stand3: DATA.R8
Start: 458
Facings: -8
Transpose: true
run: DATA.R8
Start: 466
Length: 6
Facings: 8
Facings: -8
Tick: 120
shoot:
Start: 56
Length: 5
Facings: 8
Tick: 120
prone-stand:
Start: 104
Transpose: true
shoot: DATA.R8
Start: 506
Length: 6
Facings: -8
Transpose: true
prone-stand: DATA.R8
Start: 562
Length: 1
Facings: 8
prone-run:
Start: 112
Facings: -8
Transpose: true
prone-run: DATA.R8
Start: 570
Length: 3
Facings: 8
Facings: -8
Transpose: true
Tick: 120
standup-0:
Start: 96
standup-0: DATA.R8
Start: 554
Length: 1
Facings: 8
prone-shoot:
Start: 136
Facings: -8
Transpose: true
prone-shoot: DATA.R8
Start: 586
Length: 6
Facings: -8
Transpose: true
die1: DATA.R8
Start: 634
Length: 5
Facings: 8
Tick: 120
die1: bazookadeath
Start: 0
Length: 5
die2: bazookadeath
Start: 5
die2: DATA.R8
Start: 639
Length: 7
die3: bazookadeath
Start: 12
die3: DATA.R8
Start: 646
Length: 7
die4: bazookadeath
Start: 19
die4: DATA.R8
Start: 653
Length: 7
die5: bazookadeath
Start: 26
die5: DATA.R8
Start: 660
Length: 7
die6: bazookadeath
Start: 26
die6: DATA.R8
Start: 660
Length: 7
die-crushed: bazookadeath
Start: 34
die-crushed: DATA.R8
Start: 668
Length: 26
Tick: 1600
engineer:
stand:
Start: 0
Facings: 8
stand2:
Start: 0
Facings: 8
run:
Start: 8
stand: DATA.R8
Start: 1166
Facings: -8
Transpose: true
stand2: DATA.R8
Start: 1166
Facings: -8
Transpose: true
run: DATA.R8
Start: 1174
Length: 6
Facings: 8
Facings: -8
Transpose: true
Tick: 120
die1: engineerdeath
Start: 0
die1: DATA.R8
Start: 1342
Length: 5
die2: engineerdeath
Start: 5
die2: DATA.R8
Start: 1347
Length: 7
die3: engineerdeath
Start: 12
die3: DATA.R8
Start: 1354
Length: 7
die4: engineerdeath
Start: 19
die4: DATA.R8
Start: 1361
Length: 7
die5: engineerdeath
Start: 26
die5: DATA.R8
Start: 1368
Length: 7
die6: engineerdeath
Start: 26
die6: DATA.R8
Start: 1368
Length: 7
die-crushed: engineerdeath
Start: 34
die-crushed: DATA.R8
Start: 1376
Length: 26
Tick: 1600
thumper:
stand:
Start: 0
Facings: 8
stand2:
Start: 0
Facings: 8
run:
Start: 8
stand: DATA.R8
Start: 1402
Facings: -8
Transpose: true
stand2: DATA.R8
Start: 1402
Facings: -8
Transpose: true
run: DATA.R8
Start: 1410
Length: 6
Facings: 8
Facings: -8
Transpose: true
Tick: 120
heal: thumping
Start: 0
Length: 4
Tick: 480
die1: thumperdeath
Start: 0
heal: DATA.R8
Start: 1458
Length: 5
die2: thumperdeath
Start: 5
Tick: 480
die1: DATA.R8
Start: 1543
Length: 5
die2: DATA.R8
Start: 1548
Length: 7
die3: thumperdeath
Start: 12
die3: DATA.R8
Start: 1555
Length: 7
die4: thumperdeath
Start: 19
die4: DATA.R8
Start: 1562
Length: 7
die5: thumperdeath
Start: 26
die5: DATA.R8
Start: 1569
Length: 7
die6: thumperdeath
Start: 26
die6: DATA.R8
Start: 1569
Length: 7
die-crushed: thumperdeath
Start: 34
die-crushed: DATA.R8
Start: 1577
Length: 26
Tick: 1600
thumping:
idle:
Start: 0
Length: 4
idle: DATA.R8
Start: 1458
Length: 5
Tick: 150
make:
Start: 0
Length: 4
damaged-idle:
Start: 0
Length: 4
make: DATA.R8
Start: 1458
Length: 5
damaged-idle: DATA.R8
Start: 1458
Length: 5
Tick: 150
fremen:
stand:
Start: 0
Facings: 8
stand2:
Start: 0
Facings: 8
run:
Start: 8
stand: DATA.R8
Start: 694
Facings: -8
Transpose: true
stand2: DATA.R8
Start: 694
Facings: -8
Transpose: true
run: DATA.R8
Start: 702
Length: 6
Facings: 8
Facings: -8
Transpose: true
Tick: 120
shoot:
Start: 56
Length: 5
Facings: 8
Tick: 120
prone-stand:
Start: 104
shoot: DATA.R8
Start: 742
Length: 6
Facings: -8
Transpose: true
prone-stand: DATA.R8
Start: 798
Length: 1
Facings: 8
prone-run:
Start: 112
Facings: -8
Transpose: true
prone-run: DATA.R8
Start: 806
Length: 3
Facings: 8
Facings: -8
Transpose: true
Tick: 120
standup-0:
Start: 96
standup-0: DATA.R8
Start: 790
Length: 1
Facings: 8
Facings: -8
Transpose: true
Tick: 120
prone-shoot:
Start: 136
prone-shoot: DATA.R8
Start: 822
Length: 6
Facings: -8
Transpose: true
die1: DATA.R8
Start: 870
Length: 5
Facings: 8
Tick: 120
die1: fremendeath
Start: 0
Length: 5
die2: fremendeath
Start: 5
die2: DATA.R8
Start: 875
Length: 7
die3: fremendeath
Start: 12
die3: DATA.R8
Start: 882
Length: 7
die4: fremendeath
Start: 19
die4: DATA.R8
Start: 889
Length: 7
die5: fremendeath
Start: 26
die5: DATA.R8
Start: 896
Length: 7
die6: fremendeath
Start: 26
die6: DATA.R8
Start: 896
Length: 7
die-crushed: fremendeath
Start: 34
die-crushed: DATA.R8
Start: 904
Length: 26
Tick: 1600
saboteur:
stand:
Start: 0
Facings: 8
stand2:
Start: 0
Facings: 8
stand3:
Start: 0
Facings: 8
run:
Start: 8
stand: DATA.R8
Start: 2149
Facings: -8
Transpose: true
stand2: DATA.R8
Start: 2149
Facings: -8
Transpose: true
stand3: DATA.R8
Start: 2149
Facings: -8
Transpose: true
run: DATA.R8
Start: 2157
Length: 6
Facings: 8
Facings: -8
Transpose: true
Tick: 120
prone-stand:
Start: 104
prone-stand: DATA.R8
Start: 2253
Length: 1
Facings: 8
prone-run:
Start: 112
Facings: -8
Transpose: true
prone-run: DATA.R8
Start: 2261
Length: 3
Facings: 8
Facings: -8
Transpose: true
Tick: 120
standup-0:
Start: 96
standup-0: DATA.R8
Start: 2245
Length: 1
Facings: 8
Facings: -8
Transpose: true
Tick: 120
die1: saboteurdeath
Start: 0
die1: DATA.R8
Start: 2325
Length: 5
die2: saboteurdeath
Start: 5
die2: DATA.R8
Start: 2330
Length: 7
die3: saboteurdeath
Start: 12
die3: DATA.R8
Start: 2337
Length: 7
die4: saboteurdeath
Start: 19
die4: DATA.R8
Start: 2344
Length: 7
die5: saboteurdeath
Start: 26
die5: DATA.R8
Start: 2351
Length: 7
die6: saboteurdeath
Start: 26
die6: DATA.R8
Start: 2351
Length: 7
die-crushed: saboteurdeath
Start: 34
die-crushed: DATA.R8
Start: 2359
Length: 26
Tick: 1600
sardaukar:
stand:
Start: 0
Facings: 8
stand2:
Start: 0
Facings: 8
run:
Start: 8
stand: DATA.R8
Start: 930
Facings: -8
Transpose: true
stand2: DATA.R8
Start: 930
Facings: -8
Transpose: true
run: DATA.R8
Start: 938
Length: 6
Facings: -8
Transpose: true
Tick: 120
shoot: DATA.R8
Start: 978
Length: 6
Facings: -8
Transpose: true
prone-stand: DATA.R8
Start: 1034
Length: 1
Facings: -8
Transpose: true
prone-run: DATA.R8
Start: 1042
Length: 3
Facings: -8
Transpose: true
Tick: 120
standup-0: DATA.R8
Start: 1026
Length: 1
Facings: -8
Transpose: true
Tick: 120
prone-shoot: DATA.R8
Start: 1058
Length: 6
Facings: 8
Tick: 120
shoot:
Start: 56
Transpose: true
die1: DATA.R8
Start: 1106
Length: 5
Facings: 8
Tick: 120
prone-stand:
Start: 104
Length: 1
Facings: 8
prone-run:
Start: 112
Length: 3
Facings: 8
Tick: 120
standup-0:
Start: 96
Length: 1
Facings: 8
Tick: 120
prone-shoot:
Start: 136
Length: 5
Facings: 8
Tick: 120
die1: sardaukardeath
Start: 0
Length: 5
die2: sardaukardeath
Start: 5
die2: DATA.R8
Start: 1111
Length: 7
die3: sardaukardeath
Start: 12
die3: DATA.R8
Start: 1118
Length: 7
die4: sardaukardeath
Start: 19
die4: DATA.R8
Start: 1125
Length: 7
die5: sardaukardeath
Start: 26
die5: DATA.R8
Start: 1132
Length: 7
die6: sardaukardeath
Start: 26
die6: DATA.R8
Start: 1132
Length: 7
die-crushed: sardaukardeath
Start: 34
die-crushed: DATA.R8
Start: 1140
Length: 26
Tick: 1600
Tick: 1600