Krycztij

TAW terrain format

979 posts in this topic

Excellent! another opcode understood. :thumbsup:

I notice the vertices in the 0034 lines are the same as some of those in the 0039 lines, so that would put those lights on the intersections. I'm still not sure what is the difference between the 0034 and 0033 opcodes, but at this rate we'll find out real soon. :)

Share this post


Link to post
Share on other sites
I notice the vertices in the 0034 lines are the same as some of those in the 0039 lines, so that would put those lights on the intersections.

This is correct. If you look close on the screenshot above, you can see that I rendered them with double size as the street lights :)

I'm still not sure what is the difference between the 0034 and 0033 opcodes, but at this rate we'll find out real soon. :)

I don't know, too. I have not encountered the 0033 in one of the files I'm working with yet.

Could it be there is a problem with aswan_d.3? At offset EE, there is a 0063 (xyz delta) command. It has some huge negative values (-1024 etc) in it. This results in the following:

aswtf.png

Do you have any idea what goes wrong? Nowhere in the file should appear a y coordinate outside the range [0, 80] :(

Share this post


Link to post
Share on other sites

Here's aswan_d parsed into text:

header ;fbf03e80000000007fff00000000000007d0000000020003000300000000000000a3000e000b000c000d0000000000000000000000000000215445585f3333002b5e0c0d0e0f070405060000002000000020000000200000003c

0000; 00930004    ; If 0093 flag set, jump to line 2

0001; 0000    ;

0002; 002717700008    ; If Distance >6000 then jump to line 5

0003; 007b0004    ; If 007b flag set, jump to line 5

0004; 0000    ;

0005; 00760004    ; If 0076 flag set, jump to line 7

0006; 0000    ;

0007; 0008000c    ; Jump to Sub at line 11

0008; 000806d4    ; Jump to Sub at line 281

0009; 000808f8    ; Jump to Sub at line 334

0010; 0000    ;

0011; 00620000fc00ffb0fc00    ; Vertex :0  X=-1024  Y=80  Z=-1024

0012; 00660200    ; Vertex :1  X=-1024  Y=80  Z=-512

0013; 00660200    ; Vertex :2  X=-1024  Y=80  Z=0

0014; 00660200    ; Vertex :3  X=-1024  Y=80  Z=512

0015; 00660200    ; Vertex :4  X=-1024  Y=80  Z=1024

0016; 006702000050    ; Vertex :5  X=-512  Y=0  Z=1024

0017; 0066fa00    ; Vertex :6  X=-512  Y=0  Z=-512

0018; 00640200    ; Vertex :7  X=0  Y=0  Z=-512

0019; 00640200    ; Vertex :8  X=512  Y=0  Z=-512

0020; 00640200    ; Vertex :9  X=1024  Y=0  Z=-512

0021; 00660200    ; Vertex :10  X=1024  Y=0  Z=0

0022; 0064fa00    ; Vertex :11  X=-512  Y=0  Z=0

0023; 00640200    ; Vertex :12  X=0  Y=0  Z=0

0024; 00640200    ; Vertex :13  X=512  Y=0  Z=0

0025; 0066fc00    ; Vertex :14  X=512  Y=0  Z=-1024

0026; 0064fe00    ; Vertex :15  X=0  Y=0  Z=-1024

0027; 00660600    ; Vertex :16  X=0  Y=0  Z=512

0028; 0064fe00    ; Vertex :17  X=-512  Y=0  Z=512

0029; 00640400    ; Vertex :18  X=512  Y=0  Z=512

0030; 00640200    ; Vertex :19  X=1024  Y=0  Z=512

0031; 0066fa00    ; Vertex :20  X=1024  Y=0  Z=-1024

0032; 0064fa00    ; Vertex :21  X=-512  Y=0  Z=-1024

0033; 006802000800    ; Vertex :22  X=0  Y=0  Z=1024

0034; 00640200    ; Vertex :23  X=512  Y=0  Z=1024

0035; 00640200    ; Vertex :24  X=1024  Y=0  Z=1024

0036; 0063fa00fc18fa00    ; Vertex :25  X=-512  Y=1000  Z=-512

0037; 00640400    ; Vertex :26  X=512  Y=1000  Z=-512

0038; 00660400    ; Vertex :27  X=512  Y=1000  Z=512

0039; 0064fc00    ; Vertex :28  X=-512  Y=1000  Z=512

0040; 00680200fe00    ; Vertex :29  X=0  Y=1000  Z=0

0041; 0061001e0000    ;

0042; 0015001d000a0002000c    ; If 0015 test on vertices 29,10,2 fails, jump to 46

0043; 00080030    ; Jump to Sub at line 56

0044; 0008000e    ; Jump to Sub at line 49

0045; 0000    ;

0046; 00080008    ; Jump to Sub at line 49

0047; 00080022    ; Jump to Sub at line 56

0048; 0000    ;

0049; 0015001d000f0016000c    ; If 0015 test on vertices 29,15,22 fails, jump to 53

0050; 00080030    ; Jump to Sub at line 63

0051; 00080086    ; Jump to Sub at line 84

0052; 0000    ;

0053; 00080080    ; Jump to Sub at line 84

0054; 00080022    ; Jump to Sub at line 63

0055; 0000    ;

0056; 0015001d000f0016000c    ; If 0015 test on vertices 29,15,22 fails, jump to 60

0057; 000800c6    ; Jump to Sub at line 105

0058; 0008011c    ; Jump to Sub at line 126

0059; 0000    ;

0060; 00080116    ; Jump to Sub at line 126

0061; 000800b8    ; Jump to Sub at line 105

0062; 0000    ;

0063; 0015001c00100003000c    ; If 0015 test on vertices 28,16,3 fails, jump to 67

0064; 00080012    ; Jump to Sub at line 70

0065; 0008002c    ; Jump to Sub at line 77

0066; 0000    ;

0067; 00080026    ; Jump to Sub at line 77

0068; 00080004    ; Jump to Sub at line 70

0069; 0000    ;

0070; 0015001c000b0005000c    ; If 0015 test on vertices 28,11,5 fails, jump to 74

0071; 0008027a    ; Jump to Sub at line 181

0072; 000802b6    ; Jump to Sub at line 187

0073; 0000    ;

0074; 000802b0    ; Jump to Sub at line 187

0075; 0008026c    ; Jump to Sub at line 181

0076; 0000    ;

0077; 0015001c000b0005000c    ; If 0015 test on vertices 28,11,5 fails, jump to 81

0078; 00080324    ; Jump to Sub at line 201

0079; 00080360    ; Jump to Sub at line 207

0080; 0000    ;

0081; 0008035a    ; Jump to Sub at line 207

0082; 00080316    ; Jump to Sub at line 201

0083; 0000    ;

0084; 0015001b00130010000c    ; If 0015 test on vertices 27,19,16 fails, jump to 88

0085; 00080012    ; Jump to Sub at line 91

0086; 0008002c    ; Jump to Sub at line 98

0087; 0000    ;

0088; 00080026    ; Jump to Sub at line 98

0089; 00080004    ; Jump to Sub at line 91

0090; 0000    ;

0091; 0015001b000d0017000c    ; If 0015 test on vertices 27,13,23 fails, jump to 95

0092; 000802a0    ; Jump to Sub at line 193

0093; 000802dc    ; Jump to Sub at line 199

0094; 0000    ;

0095; 000802d6    ; Jump to Sub at line 199

0096; 00080292    ; Jump to Sub at line 193

0097; 0000    ;

0098; 0015001b000d0017000c    ; If 0015 test on vertices 27,13,23 fails, jump to 102

0099; 00080382    ; Jump to Sub at line 219

0100; 000803f6    ; Jump to Sub at line 231

0101; 0000    ;

0102; 000803f0    ; Jump to Sub at line 231

0103; 00080374    ; Jump to Sub at line 219

0104; 0000    ;

0105; 0015001900070001000c    ; If 0015 test on vertices 25,7,1 fails, jump to 109

0106; 00080012    ; Jump to Sub at line 112

0107; 0008002c    ; Jump to Sub at line 119

0108; 0000    ;

0109; 00080026    ; Jump to Sub at line 119

0110; 00080004    ; Jump to Sub at line 112

0111; 0000    ;

0112; 001500190015000b000c    ; If 0015 test on vertices 25,21,11 fails, jump to 116

0113; 0008008a    ; Jump to Sub at line 147

0114; 000800c6    ; Jump to Sub at line 153

0115; 0000    ;

0116; 000800c0    ; Jump to Sub at line 153

0117; 0008007c    ; Jump to Sub at line 147

0118; 0000    ;

0119; 001500190015000b000c    ; If 0015 test on vertices 25,21,11 fails, jump to 123

0120; 000800fc    ; Jump to Sub at line 163

0121; 00080138    ; Jump to Sub at line 169

0122; 0000    ;

0123; 00080132    ; Jump to Sub at line 169

0124; 000800ee    ; Jump to Sub at line 163

0125; 0000    ;

0126; 0015001a00090007000c    ; If 0015 test on vertices 26,9,7 fails, jump to 130

0127; 00080012    ; Jump to Sub at line 133

0128; 0008002c    ; Jump to Sub at line 140

0129; 0000    ;

0130; 00080026    ; Jump to Sub at line 140

0131; 00080004    ; Jump to Sub at line 133

0132; 0000    ;

0133; 0015001a000e000d000c    ; If 0015 test on vertices 26,14,13 fails, jump to 137

0134; 000800b0    ; Jump to Sub at line 159

0135; 000800b4    ; Jump to Sub at line 161

0136; 0000    ;

0137; 000800ae    ; Jump to Sub at line 161

0138; 000800a2    ; Jump to Sub at line 159

0139; 0000    ;

0140; 0015001a000e000d000c    ; If 0015 test on vertices 26,14,13 fails, jump to 144

0141; 00080122    ; Jump to Sub at line 175

0142; 00080142    ; Jump to Sub at line 179

0143; 0000    ;

0144; 0008013c    ; Jump to Sub at line 179

0145; 00080114    ; Jump to Sub at line 175

0146; 0000    ;

0147; 002717700338    ; If Distance >6000 then jump to line 233

0148; 002e00000003007500a7006000bf006000a7    ;UV Coords: 117,167  96,191   96,167

0149; 002f0003000600000001    ; Texture = TEX_33

0150; 002e00000003006000bf007500a7007700bf    ;UV Coords: 96,191  117,167   119,191

0151; 002f0003000000060015    ; Texture = TEX_33

0152; 0000    ;

0153; 00271770030c    ; If Distance >6000 then jump to line 236

0154; 002e00000003008f00a7007700bf007500a7    ;UV Coords: 143,167  119,191   117,167

0155; 002f0003000700150006    ; Texture = TEX_33

0156; 002e00000003007700bf008f00a7008f00bf    ;UV Coords: 119,191  143,167   143,191

0157; 002f000300150007000f    ; Texture = TEX_33

0158; 0000    ;

0159; 0027177002e0    ; If Distance >6000 then jump to line 239

0160; 0000    ;

0161; 0027177002ec    ; If Distance >6000 then jump to line 242

0162; 0000    ;

0163; 0027177002f8    ; If Distance >6000 then jump to line 245

0164; 002e00000003007f008f006000a70060008f    ;UV Coords: 127,143  96,167   96,143

0165; 002f0003000b00010002    ; Texture = TEX_33

0166; 002e00000003006000a7007f008f007500a7    ;UV Coords: 96,167  127,143   117,167

0167; 002f00030001000b0006    ; Texture = TEX_33

0168; 0000    ;

0169; 0027177002cc    ; If Distance >6000 then jump to line 248

0170; 002e00000003008f008f007500a7007f008f    ;UV Coords: 143,143  117,167   127,143

0171; 002f0003000c0006000b    ; Texture = TEX_33

0172; 002e00000003007500a7008f008f008f00a7    ;UV Coords: 117,167  143,143   143,167

0173; 002f00030006000c0007    ; Texture = TEX_33

0174; 0000    ;

0175; 0027177002a0    ; If Distance >6000 then jump to line 251

0176; 002e00000003008f008f00a3008f008f00a7    ;UV Coords: 143,143  163,143   143,167

0177; 002f0003000c000d0007    ; Texture = TEX_33

0178; 0000    ;

0179; 002717700290    ; If Distance >6000 then jump to line 254

0180; 0000    ;

0181; 00271770029c    ; If Distance >6000 then jump to line 257

0182; 002e0000000300600077007f008f0060008f    ;UV Coords: 96,119  127,143   96,143

0183; 002f00030003000b0002    ; Texture = TEX_33

0184; 002e00000003007f008f0060007700750077    ;UV Coords: 127,143  96,119   117,119

0185; 002f0003000b00030011    ; Texture = TEX_33

0186; 0000    ;

0187; 002717700270    ; If Distance >6000 then jump to line 260

0188; 002e0000000300750077008f008f007f008f    ;UV Coords: 117,119  143,143   127,143

0189; 002f00030011000c000b    ; Texture = TEX_33

0190; 002e00000003008f008f00750077008f0077    ;UV Coords: 143,143  117,119   143,119

0191; 002f0003000c00110010    ; Texture = TEX_33

0192; 0000    ;

0193; 002717700244    ; If Distance >6000 then jump to line 263

0194; 002e0000000300a10077008f008f008f0077    ;UV Coords: 161,119  143,143   143,119

0195; 002f00030012000c0010    ; Texture = TEX_33

0196; 002e00000003008f008f00a1007700a3008f    ;UV Coords: 143,143  161,119   163,143

0197; 002f0003000c0012000d    ; Texture = TEX_33

0198; 0000    ;

0199; 002717700218    ; If Distance >6000 then jump to line 266

0200; 0000    ;

0201; 002717700224    ; If Distance >6000 then jump to line 269

0202; 002e00000003006000600075007700600077    ;UV Coords: 96,96  117,119   96,119

0203; 002f0003000400110003    ; Texture = TEX_33

0204; 002e00000003007500770060006000770060    ;UV Coords: 117,119  96,96   119,96

0205; 002f0003001100040005    ; Texture = TEX_33

0206; 0000    ;

0207; 0027177001f8    ; If Distance >6000 then jump to line 272

0208; 002e0000000300770060008f007700750077    ;UV Coords: 119,96  143,119   117,119

0209; 002f0003000500100011    ; Texture = TEX_33

0210; 002e00000003008f007700770060008f0060    ;UV Coords: 143,119  119,96   143,96

0211; 002f0003001000050016    ; Texture = TEX_33

0212; 00480000    ;

0213; 00210000000e    ; If Parameter 0000 = 0 then jump to line 216

0214; 00210002060e    ; If Parameter 0000 = 2 then jump to line 383

0215; 00270fa00608    ; If Distance >4000 then jump to line 383

0216; 00470022000400c0003000ef003000ef005f00c0005f    ;UV Coords: 192,48 239,48  239,95  192,95

0217; 008e00040005001600100011    ; Texture = TRG_2

0218; 0000    ;

0219; 002717700194    ; If Distance >6000 then jump to line 275

0220; 002e0000000300a70060008f0077008f0060    ;UV Coords: 167,96  143,119   143,96

0221; 002f0003001700100016    ; Texture = TEX_33

0222; 002e00000003008f007700a7006000a10077    ;UV Coords: 143,119  167,96   161,119

0223; 002f0003001000170012    ; Texture = TEX_33

0224; 00480000    ;

0225; 00210000000e    ; If Parameter 0000 = 0 then jump to line 228

0226; 002100020596    ; If Parameter 0000 = 2 then jump to line 383

0227; 00270fa00590    ; If Distance >4000 then jump to line 383

0228; 00470021000400c0000000ef000000ef002f00c0002f    ;UV Coords: 192,0 239,0  239,47  192,47

0229; 008e00040016001700120010    ; Texture = TRG_1

0230; 0000    ;

0231; 002717700130    ; If Distance >6000 then jump to line 278

0232; 0000    ;

0233; 00020018000600000001    ; Flat Shaded Triangle, Palette:24  Vertices: 6,0,1

0234; 0071000000060015    ; Flat Shaded Triangle, Palette:24  Vertices: 0,6,21

0235; 0000    ;

0236; 00020018000700150006    ; Flat Shaded Triangle, Palette:24  Vertices: 7,21,6

0237; 007100150007000f    ; Flat Shaded Triangle, Palette:24  Vertices: 21,7,15

0238; 0000    ;

0239; 000200180007000e000f    ; Flat Shaded Triangle, Palette:24  Vertices: 7,14,15

0240; 0071000e00070008    ; Flat Shaded Triangle, Palette:24  Vertices: 14,7,8

0241; 0000    ;

0242; 0002001800080014000e    ; Flat Shaded Triangle, Palette:24  Vertices: 8,20,14

0243; 0071001400080009    ; Flat Shaded Triangle, Palette:24  Vertices: 20,8,9

0244; 0000    ;

0245; 00020018000b00010002    ; Flat Shaded Triangle, Palette:24  Vertices: 11,1,2

0246; 00710001000b0006    ; Flat Shaded Triangle, Palette:24  Vertices: 1,11,6

0247; 0000    ;

0248; 00020018000c0006000b    ; Flat Shaded Triangle, Palette:24  Vertices: 12,6,11

0249; 00710006000c0007    ; Flat Shaded Triangle, Palette:24  Vertices: 6,12,7

0250; 0000    ;

0251; 00020018000c00080007    ; Flat Shaded Triangle, Palette:24  Vertices: 12,8,7

0252; 00710008000c000d    ; Flat Shaded Triangle, Palette:24  Vertices: 8,12,13

0253; 0000    ;

0254; 00020018000d00090008    ; Flat Shaded Triangle, Palette:24  Vertices: 13,9,8

0255; 00710009000d000a    ; Flat Shaded Triangle, Palette:24  Vertices: 9,13,10

0256; 0000    ;

0257; 000200180003000b0002    ; Flat Shaded Triangle, Palette:24  Vertices: 3,11,2

0258; 0071000b00030011    ; Flat Shaded Triangle, Palette:24  Vertices: 11,3,17

0259; 0000    ;

0260; 000200180011000c000b    ; Flat Shaded Triangle, Palette:24  Vertices: 17,12,11

0261; 0071000c00110010    ; Flat Shaded Triangle, Palette:24  Vertices: 12,17,16

0262; 0000    ;

0263; 000200180012000c0010    ; Flat Shaded Triangle, Palette:24  Vertices: 18,12,16

0264; 0071000c0012000d    ; Flat Shaded Triangle, Palette:24  Vertices: 12,18,13

0265; 0000    ;

0266; 000200180013000d0012    ; Flat Shaded Triangle, Palette:24  Vertices: 19,13,18

0267; 0071000d0013000a    ; Flat Shaded Triangle, Palette:24  Vertices: 13,19,10

0268; 0000    ;

0269; 00020018000400110003    ; Flat Shaded Triangle, Palette:24  Vertices: 4,17,3

0270; 0071001100040005    ; Flat Shaded Triangle, Palette:24  Vertices: 17,4,5

0271; 0000    ;

0272; 00020018000500100011    ; Flat Shaded Triangle, Palette:24  Vertices: 5,16,17

0273; 0071001000050016    ; Flat Shaded Triangle, Palette:24  Vertices: 16,5,22

0274; 0000    ;

0275; 00020018001700100016    ; Flat Shaded Triangle, Palette:24  Vertices: 23,16,22

0276; 0071001000170012    ; Flat Shaded Triangle, Palette:24  Vertices: 16,23,18

0277; 0000    ;

0278; 00020018001800120017    ; Flat Shaded Triangle, Palette:24  Vertices: 24,18,23

0279; 0071001200180013    ; Flat Shaded Triangle, Palette:24  Vertices: 18,24,19

0280; 0000    ;

0281; 00271770041e    ; If Distance >6000 then jump to line 383

0282; 0062001e018000000410    ; Vertex :30  X=384  Y=0  Z=1040

0283; 00640290    ; Vertex :31  X=1040  Y=0  Z=1040

0284; 0066ff30    ; Vertex :32  X=1040  Y=0  Z=832

0285; 0066ff3f    ; Vertex :33  X=1040  Y=0  Z=639

0286; 0066ff01    ; Vertex :34  X=1040  Y=0  Z=384

0287; 0066ff00    ; Vertex :35  X=1040  Y=0  Z=128

0288; 0066fec0    ; Vertex :36  X=1040  Y=0  Z=-192

0289; 0066ff00    ; Vertex :37  X=1040  Y=0  Z=-448

0290; 0066fec0    ; Vertex :38  X=1040  Y=0  Z=-768

0291; 0066fef0    ; Vertex :39  X=1040  Y=0  Z=-1040

0292; 0064fab0    ; Vertex :40  X=-320  Y=0  Z=-1040

0293; 0068008000d0    ; Vertex :41  X=-192  Y=0  Z=-832

0294; 006800a50157    ; Vertex :42  X=-27  Y=0  Z=-489

0295; 006800f4015e    ; Vertex :43  X=217  Y=0  Z=-139

0296; 006800d20128    ; Vertex :44  X=427  Y=0  Z=157

0297; 006602cd    ; Vertex :45  X=427  Y=0  Z=874

0298; 00680046ff51    ; Vertex :46  X=497  Y=0  Z=699

0299; 0068ffeffee8    ; Vertex :47  X=480  Y=0  Z=419

0300; 00610012001e    ;

0301; 0047003c0003005f005f0020005f00260056    ;UV Coords: 95,95 32,95  38,86

0302; 002f0003002700280029    ; Texture = tex_4

0303; 0047003c0003005f005f00260056002e0046    ;UV Coords: 95,95 38,86  46,70

0304; 002f000300270029002a    ; Texture = tex_4

0305; 0047003c0003005f0053005f005f002e0046    ;UV Coords: 95,83 95,95  46,70

0306; 002f000300260027002a    ; Texture = tex_4

0307; 0047003c0003005f0053002e004600390035    ;UV Coords: 95,83 46,70  57,53

0308; 002f00030026002a002b    ; Texture = tex_4

0309; 0047003c0003005f0044005f005300390035    ;UV Coords: 95,68 95,83  57,53

0310; 002f000300250026002b    ; Texture = tex_4

0311; 0047003c0003005f0038005f004400390035    ;UV Coords: 95,56 95,68  57,53

0312; 002f000300240025002b    ; Texture = tex_4

0313; 0047003c0003005f00380039003500430028    ;UV Coords: 95,56 57,53  67,40

0314; 002f00030024002b002c    ; Texture = tex_4

0315; 0047003c0003005f0029005f003800430028    ;UV Coords: 95,41 95,56  67,40

0316; 002f000300230024002c    ; Texture = tex_4

0317; 0047003c00030043000600410000005f0000    ;UV Coords: 67,6 65,0  95,0

0318; 002f0003002d001e001f    ; Texture = tex_4

0319; 0047003c000300430006005f0000005f0008    ;UV Coords: 67,6 95,0  95,8

0320; 002f0003002d001f0020    ; Texture = tex_4

0321; 0047003c00030046000f00430006005f0008    ;UV Coords: 70,15 67,6  95,8

0322; 002f0003002e002d0020    ; Texture = tex_4

0323; 0047003c00030046000f005f0008005f0011    ;UV Coords: 70,15 95,8  95,17

0324; 002f0003002e00200021    ; Texture = tex_4

0325; 0047003c0003005f0029004300280045001c    ;UV Coords: 95,41 67,40  69,28

0326; 002f00030023002c002f    ; Texture = tex_4

0327; 0047003c0003005f001d005f00290045001c    ;UV Coords: 95,29 95,41  69,28

0328; 002f000300220023002f    ; Texture = tex_4

0329; 0047003c0003005f0011005f001d0045001c    ;UV Coords: 95,17 95,29  69,28

0330; 002f000300210022002f    ; Texture = tex_4

0331; 0047003c00030046000f005f00110045001c    ;UV Coords: 70,15 95,17  69,28

0332; 002f0003002e0021002f    ; Texture = tex_4

0333; 0000    ;

0334; 0027177001f6    ; If Distance >6000 then jump to line 383

0335; 0062003001e50000fec0    ; Vertex :48  X=485  Y=0  Z=-320

0336; 00640185    ; Vertex :49  X=874  Y=0  Z=-320

0337; 0068ff150063    ; Vertex :50  X=639  Y=0  Z=-221

0338; 006800f4febb    ; Vertex :51  X=883  Y=0  Z=-546

0339; 0068ffa5fedf    ; Vertex :52  X=792  Y=0  Z=-835

0340; 006ffe97ff8b0019    ; Vertex :25  X=431  Y=0  Z=-952

0341; 006fffc1002d0035    ; Vertex :53  X=368  Y=0  Z=-907

0342; 006f01060087001a    ; Vertex :26  X=630  Y=0  Z=-772

0343; 006f002d002d0036    ; Vertex :54  X=675  Y=0  Z=-727

0344; 0068ff540009    ; Vertex :55  X=503  Y=0  Z=-718

0345; 0068004900b5    ; Vertex :56  X=576  Y=0  Z=-537

0346; 006d00a3001d    ; Vertex :29  X=576  Y=0  Z=-374

0347; 006fff9cff390039    ; Vertex :57  X=476  Y=0  Z=-573

0348; 0068ff9dffdc    ; Vertex :58  X=377  Y=0  Z=-609

0349; 0068ffdc006c    ; Vertex :59  X=341  Y=0  Z=-501

0350; 006100050030    ;

0351; 00750019    ;

0352; 00750035    ;

0353; 0075001a    ;

0354; 006100030036    ;

0355; 0075001d    ;

0356; 006100030039    ;

0357; 00470024000300c8002f00c3002c00d90023    ;UV Coords: 200,47 195,44  217,35

0358; 002f000300190035001a    ; Texture = TRG_4

0359; 00470024000300e7002700c8002f00d90023    ;UV Coords: 231,39 200,47  217,35

0360; 002f000300340019001a    ; Texture = TRG_4

0361; 00470024000300e7002700d9002300dd0020    ;UV Coords: 231,39 217,35  221,32

0362; 002f00030034001a0036    ; Texture = TRG_4

0363; 00470024000300ef001400e7002700dd0020    ;UV Coords: 239,20 231,39  221,32

0364; 002f0003003300340036    ; Texture = TRG_4

0365; 00470024000300dd002000ce001f00d40014    ;UV Coords: 221,32 206,31  212,20

0366; 002f0003003600370038    ; Texture = TRG_4

0367; 00470024000300ef001400dd002000d40014    ;UV Coords: 239,20 221,32  212,20

0368; 002f0003003300360038    ; Texture = TRG_4

0369; 00470024000300ee000600ef001400d40014    ;UV Coords: 238,6 239,20  212,20

0370; 002f0003003100330038    ; Texture = TRG_4

0371; 00470024000300ee000600d4001400d40009    ;UV Coords: 238,6 212,20  212,9

0372; 002f000300310038001d    ; Texture = TRG_4

0373; 00470024000300da000000ee000600d40009    ;UV Coords: 218,0 238,6  212,9

0374; 002f000300320031001d    ; Texture = TRG_4

0375; 00470024000300cd000600da000000d40009    ;UV Coords: 205,6 218,0  212,9

0376; 002f000300300032001d    ; Texture = TRG_4

0377; 00470024000300cc001600c4001800c10011    ;UV Coords: 204,22 196,24  193,17

0378; 002f00030039003a003b    ; Texture = TRG_4

0379; 00470024000300cc001600c1001100cd0006    ;UV Coords: 204,22 193,17  205,6

0380; 002f00030039003b0030    ; Texture = TRG_4

0381; 00470024000300d4000900cc001600cd0006    ;UV Coords: 212,9 204,22  205,6

0382; 002f0003001d00390030    ; Texture = TRG_4

0383; 0000    ;

0384; ffff    ;

0385; ffff    ;

Offset EE corresponds to line 0036 above. Looks OK to me. The Y=1000 vertices are used for the 0015 test and are not used for visible polygons.

Share this post


Link to post
Share on other sites

Ooh, I misinterpreted the 006A to 0070 instructions. I used the vertex at the index as a base instead of overwriting it. Aswan is now O.K.

This is no jeddah_j from same angle as your screenshot:

jeddahj.png

Pretty close. There are still small glitches but I'll find the cause.

Why are there dark lines left and right to the road? You see them clearly at the glitches. I can't figure it out what they are good for. You can not see them from your plane anyway.

Share this post


Link to post
Share on other sites

Very nice.

Those long lines look like stretched textures, which indicates that either the wrong vertex is mapped to a UV coordinate in some of the 0047 lines, or it's the right vertex, but its xyz values are wrong.

I'm assuming a problem in your code....but after all you've done here, it's not a pleasant thing to suggest. :)

By the way, what language are you coding this in?

Share this post


Link to post
Share on other sites
Those long lines look like stretched textures, which indicates that either the wrong vertex is mapped to a UV coordinate in some of the 0047 lines, or it's the right vertex, but its xyz values are wrong.

I'm assuming a problem in your code....but after all you've done here, it's not a pleasant thing to suggest. :)

Yes, it is a correct vertex index with a wrong xyz position. (I see it because few lines also have the wrong position.) I'm still searching for this bug ... very annoying :(

By the way, what language are you coding this in?

C++.

Share this post


Link to post
Share on other sites

C++.

:icon_bow:

I've been using VB and Python to analyse and even render some of the simpler objects, but come to a grinding halt when things get a bit complicated. :(

Here's a list of known opcodes obtained by scanning through all 1867 .3 files. The filename next to each one shows where the script first encountered them.


Vertex related, fairly well understood 

0061;707.3 

0062;707.3 

0063;707.3 

0064;707.3 

0065;707.3 

0066;707.3 

0067;707.3 

0068;707.3 

0069;707.3 

006a;707.3 

006b;707.3 

006c;707.3 

006d;707.3 

006e;abu.3 

006f;707.3 

0070;707.3 

0075;707.3 


Vertex related, not understood 

004a;aihq_180.3 

0051;a101.3 

0052;aswan_j.3 

0053;aswan_j.3 

0077;aswan_j.3 


Scale 

0030;707.3 


Terminators 

0000;707.3 

ffff;707.3 

00a8;atgtrail.3 


Polygons,points,lines etc. Don't necessarily know what they do....

0001;707.3 

0002;707.3 

0003;707.3 

0004;ian_0.3 

001a;aswan_j.3 

001b;aihq_180.3 

002e;707.3 

002f;a101.3 

0031;ses.3 

0033;707.3 

0034;707.3 

0038;707.3 

0039;aden_b.3 

003e;dust.3 

0047;707.3 

004c;707.3 

004d;chaparal.3 

004e;707.3 

004f;707.3 

005c;anglo.3 

005d;contrail.3 

005f;ian_0.3 

0060;car.3 

0071;707.3 

0072;707.3 

0073;ian_0.3 

007d;a50.3 

007e;apache1.3 

0080;707.3 

0081;707.3 

0083;aihq_180.3 

0084;aihq_180.3 

0088;707.3 

008d;awc_ef20.3 

008e;707.3 

0094;awc_f14.3 

0095;707.3 

0096;707.3 

0098;abdostem.3 

009d;rymq_180.3 

009e;skyn90.3 

009f;abdostem.3 

00a2;f22clegy.3 

00a7;atgtrail.3 


Decisions and jumps, sort of understood 

0007;a101.3 

0008;707.3 

0015;707.3 

0043;abdostem.3 

0020;abdostem.3 

0021;707.3 

0022;707.3 

0027;707.3 

0048;707.3 

00a3;atgtrail.3 


Decisions and jumps, not understood. 

0024;707.3 

0025;707.3 

0026;avengr.3 

002d;707.3 

003f;707.3 

0040;a101.3 

0041;barracks.3 

0042;air_hq.3 

0045;fact90.3 

0049;707.3 

004b;a101.3 

0076;abtw_1ra.3 

007b;abtw_1ra.3 

007c;f22egypt.3 

0086;f22egypt.3 

0087;a101.3 

0093;abtw_1ra.3  


Haven't got a clue 

0037;a50.3 

0054;newhoriz.3

Share this post


Link to post
Share on other sites

Here's a list of known opcodes obtained by scanning through all 1867 .3 files. The filename next to each one shows where the script first encountered them.

This is great. Here are all I have implemented so far:

IMPLEMENTED


0000

// Return to caller.


0001 <color> <position0> <position1>

// Draw a flat-shaded line of the color at palette index <color> between the <position0>'th and

//	<position1>'th position.


0002 <color> <position0> <position1> <position2>

// Draw a flat-shaded triangle with the color at palette index <color>. The indices of its vertices'

//	positions are given in clockwise order by <position0>, <position1> and <position2>.


0008 <offset>

// Call the subroutine at <offset> - 2 bytes offset from the instruction's end.


0015 <position0> <position1> <position2> <offset>

// If the triangle of the vertices at the given positions (clockwise) faces away from the viewer, jump

//	<offset> - 2 bytes relative to the end of the instruction.


0027 <threshold> <offset>

// If the object's distance from the viewer is above <threshold>, jump <offset> - 2 bytes.


002E <texture> <number> for each <number>[<u> <v>]

0047 <texture> <number> for each <number>[<u> <v>]

// Write <number> texture coordinates of a polygon.

//	!TODO! The difference between 002E and 0047 is probably color keying, but we're not sure yet.


002F <vertices> for each <vertices>[<index>]

008E <vertices> for each <vertices>[<index>]

// Draw a textured polygon with the last set of texture coordinates (002E on 002F opcode and 0047 on

//	008E opcode) and the <index>'th positions (in clockwise order).


0033 <color> <position>

// Light?


0034 <color> <position>

// Draw a city light of the color at palette index <color> at the <position>'th position.


0039 <pairs> <color> <position0> <position1>

// Draw <pairs> pairs of street lights of the color at palette index <color> between the <position0>'th

//	and <position1>'th position.


003F <unknown> <offset>

// If the lights are on, jump <offset> - 2 bytes.


0062 <index> <x> <y> <z>

// Write the given 3D position to the given index.


0063 <x> <y> <z>

0064 <x>

0065 <y>

0066 <z>

0067 <x> <y>

0068 <x> <z>

0069 <y> <z>

// Write the next 3D position with the given delta to the last one.


006A <x> <y> <z> <index>

006B <x> <index>

006C <y> <index>

006D <z> <index>

006E <x> <y> <index>

006F <x> <z> <index>

0070 <y> <z> <index>

// Write the 3D position at the given index with the given delta to the last one.


0071 <position0> <position1> <position2>

// Draw a flat-shaded triangle with the same color as the previous one.



UNCERTAIN


0021 <reference> <offset>

// If the external parameter equals <reference>, jump <offset> - 2 bytes.


002D <offset>

// If ???, jump <offset> - 2 bytes.


0048 <unknown>

// Could mark the end of a triangle strip.


0095 <unknown> <color> <position>

// Light?


FFFF

// Break execution and call the debugger. Used at the end of a file.



NO CLUE


0061 <number> <offset>


0075 <unknown>


0076 <offset>

// If ???, jump <offset> - 2 bytes.


007B <offset>

// If ???, jump <offset> - 2 bytes.


0093 <offset>

// If ???, jump <offset> - 2 bytes.

I still track down that bug. It occurs only in certain jeddah files. Everything else is fine. I check all positions one by one now and I hope I finally find it then.

Share this post


Link to post
Share on other sites

mikew, can you please send me analysis of jeddah_j.3? I identified a bad position (#3), but I have no knowing what goes wrong. My log:

	found bytecode at 96 B


	0027 jump 8 B if distance is above 6000 (false)

	007B jump 4 B if ??? (true)

	0076 jump 4 B if ??? (true)

	0008 call 8 B

	0062 fetch xyz #0: -1024 -80 -1024

	0064 fetch xyz #1 with x delta: -512 -80 -1024

	0064 fetch xyz #2 with x delta: 0 -80 -1024

=>	0064 fetch xyz #3 with x delta: 512 -80 -1024

	0064 fetch xyz #4 with x delta: 1024 -80 -1024

	0066 fetch xyz #5 with z delta: 1024 -80 -512

	0064 fetch xyz #6 with x delta: -1024 -80 -512

	0066 fetch xyz #7 with z delta: -1024 -80 0

	0064 fetch xyz #8 with x delta: 1024 -80 0

	0066 fetch xyz #9 with z delta: 1024 -80 512

	0064 fetch xyz #10 with x delta: -1024 -80 512

	0066 fetch xyz #11 with z delta: -1024 -80 1024

	0064 fetch xyz #12 with x delta: 1024 -80 1024

	0067 fetch xyz #13 with xy delta: -1536 80

	0066 fetch xyz #14 with z delta: -512 0 512

	0064 fetch xyz #15 with x delta: 0 0 512

	0066 fetch xyz #16 with z delta: 0 0 -512

	0064 fetch xyz #17 with x delta: 512 0 -512

	0066 fetch xyz #18 with z delta: 512 0 512

	0066 fetch xyz #19 with z delta: 512 0 0

	0064 fetch xyz #20 with x delta: -512 0 0

	0066 fetch xyz #21 with z delta: -512 0 -512

	0065 fetch xyz #22 with y delta: -512 -1000 -512

	0064 fetch xyz #23 with x delta: 512 -1000 -512

	0066 fetch xyz #24 with z delta: 512 -1000 512

	0064 fetch xyz #25 with x delta: -512 -1000 512

	0068 fetch xyz #26 with xz delta: 0 -1000 0

	0065 fetch xyz #27 with y delta: 0 0 0

	0066 fetch xyz #28 with z delta: 0 0 1024

	0064 fetch xyz #29 with x delta: 512 0 1024

	0061 complete xyz fetching (0/30)

	0008 call 8 B

	0015 jump 12 B if triangle 26-8-7 is invisible (true)

	0008 call 8 B

	0015 jump 12 B if triangle 26-2-28 is invisible (true)

	0008 call 128 B

	0015 jump 12 B if triangle 24-9-15 is invisible (true)

	0008 call 38 B

	0015 jump 12 B if triangle 24-19-29 is invisible (true)

	0008 call 1776 B

	0027 jump 360 B if distance is above 6000 (false)

	002E/0047 fetch polygon UV: texture 0; 95/191 66/167 71/191

	002F/008E draw textured polygon: 12-18-29

	002E/0047 fetch polygon UV: texture 0; 66/167 95/191 95/167

	002F/008E draw textured polygon: 18-12-9

	0000 return

	0008 call 1708 B

	0027 jump 404 B if distance is above 6000 (false)

	002E/0047 fetch polygon UV: texture 0; 71/191 47/167 47/191

	002F/008E draw textured polygon: 29-15-28

	002E/0047 fetch polygon UV: texture 0; 47/167 71/191 66/167

	002F/008E draw textured polygon: 15-29-18

	0000 return

	0000 return

	0008 call 4 B

	0015 jump 12 B if triangle 24-19-29 is invisible (true)

	0008 call 1382 B

	0027 jump 704 B if distance is above 6000 (false)

	002E/0047 fetch polygon UV: texture 0; 95/167 71/143 66/167

	002F/008E draw textured polygon: 9-19-18

	002E/0047 fetch polygon UV: texture 0; 71/143 95/167 95/143

	002F/008E draw textured polygon: 19-9-8

	0048 ???

	0021 jump 14 B if parameter equals 0 (true)

	002E/0047 fetch polygon UV: texture 34; 0/96 95/95 95/191 0/191

	002F/008E draw textured polygon: 18-9-8-19

	0000 return

	0008 call 1258 B

	0027 jump 804 B if distance is above 6000 (false)

	002E/0047 fetch polygon UV: texture 0; 66/167 47/143 47/167

	002F/008E draw textured polygon: 18-27-15

	002E/0047 fetch polygon UV: texture 0; 47/143 66/167 71/143

	002F/008E draw textured polygon: 27-18-19

	0048 ???

	0021 jump 14 B if parameter equals 0 (true)

	002E/0047 fetch polygon UV: texture 34; 96/96 191/96 191/191 96/191

	002F/008E draw textured polygon: 15-18-19-27

	0000 return

	0000 return

	0000 return

	0008 call 34 B

	0015 jump 12 B if triangle 25-15-10 is invisible (true)

	0008 call 38 B

	0015 jump 12 B if triangle 25-20-13 is invisible (true)

	0008 call 1682 B

	0027 jump 504 B if distance is above 6000 (false)

	002E/0047 fetch polygon UV: texture 0; 23/191 47/167 22/167

	002F/008E draw textured polygon: 13-15-14

	002E/0047 fetch polygon UV: texture 0; 47/167 23/191 47/191

	002F/008E draw textured polygon: 15-13-28

	0048 ???

	0021 jump 14 B if parameter equals 0 (true)

	002E/0047 fetch polygon UV: texture 34; 96/96 191/96 191/191 96/191

	002F/008E draw textured polygon: 13-28-15-14

	0000 return

	0008 call 1558 B

	0027 jump 604 B if distance is above 6000 (false)

	002E/0047 fetch polygon UV: texture 0; 0/191 22/167 0/167

	002F/008E draw textured polygon: 11-14-10

	002E/0047 fetch polygon UV: texture 0; 22/167 0/191 23/191

	002F/008E draw textured polygon: 14-11-13

	0048 ???

	0021 jump 14 B if parameter equals 0 (true)

	002E/0047 fetch polygon UV: texture 34; 0/96 95/95 95/191 0/191

	002F/008E draw textured polygon: 11-13-14-10

	0000 return

	0000 return

	0008 call 4 B

	0015 jump 12 B if triangle 25-20-13 is invisible (true)

	0008 call 1232 B

	0027 jump 904 B if distance is above 6000 (false)

	002E/0047 fetch polygon UV: texture 0; 22/167 47/143 26/142

	002F/008E draw textured polygon: 14-27-20

	002E/0047 fetch polygon UV: texture 0; 47/143 22/167 47/167

	002F/008E draw textured polygon: 27-14-15

	0048 ???

	0021 jump 14 B if parameter equals 0 (true)

	002E/0047 fetch polygon UV: texture 35; 96/96 191/96 191/191 96/191

	002F/008E draw textured polygon: 14-15-27-20

	0000 return

	0008 call 1108 B

	0027 jump 1004 B if distance is above 6000 (false)

	002E/0047 fetch polygon UV: texture 0; 0/167 26/142 0/143

	002F/008E draw textured polygon: 10-20-7

	002E/0047 fetch polygon UV: texture 0; 26/142 0/167 22/167

	002F/008E draw textured polygon: 20-10-14

	0048 ???

	0021 jump 14 B if parameter equals 0 (true)

	002E/0047 fetch polygon UV: texture 35; 0/96 95/95 95/191 0/191

	002F/008E draw textured polygon: 10-14-20-7

	0000 return

	0000 return

	0000 return

	0000 return

	0008 call 34 B

	0015 jump 12 B if triangle 26-2-28 is invisible (true)

	0008 call 278 B

	0015 jump 12 B if triangle 23-5-16 is invisible (true)

	0008 call 38 B

	0015 jump 12 B if triangle 23-3-19 is invisible (true)

	0008 call 692 B

	0027 jump 1104 B if distance is above 6000 (false)

	002E/0047 fetch polygon UV: texture 0; 71/143 95/119 69/124

	002F/008E draw textured polygon: 19-5-17

	002E/0047 fetch polygon UV: texture 0; 95/119 71/143 95/143

	002F/008E draw textured polygon: 5-19-8

	0048 ???

	0021 jump 14 B if parameter equals 0 (true)

	002E/0047 fetch polygon UV: texture 35; 0/96 95/95 95/191 0/191

	002F/008E draw textured polygon: 19-8-5-17

	0000 return

	0008 call 568 B

	0027 jump 1204 B if distance is above 6000 (false)

	002E/0047 fetch polygon UV: texture 0; 47/143 69/124 47/119

	002F/008E draw textured polygon: 27-17-16

	002E/0047 fetch polygon UV: texture 0; 69/124 47/143 71/143

	002F/008E draw textured polygon: 17-27-19

	0048 ???

	0021 jump 14 B if parameter equals 0 (true)

	002E/0047 fetch polygon UV: texture 35; 96/96 191/96 191/191 96/191

	002F/008E draw textured polygon: 27-19-17-16

	0000 return

	0000 return

	0008 call 4 B

	0015 jump 12 B if triangle 23-3-19 is invisible (true)

	0008 call 376 B

	0027 jump 1370 B if distance is above 6000 (false)

	002E/0047 fetch polygon UV: texture 36; 193/48 240/48 240/95

	002F/008E draw textured polygon: 17-5-4

	002E/0047 fetch polygon UV: texture 36; 193/48 240/95 193/95

	002F/008E draw textured polygon: 17-4-3

	0048 ???

	0021 jump 14 B if parameter equals 0 (true)

	002E/0047 fetch polygon UV: texture 33; 0/0 95/0 95/95

	002F/008E draw textured polygon: 17-5-4

	002E/0047 fetch polygon UV: texture 33; 0/0 95/95 0/95

	002F/008E draw textured polygon: 17-4-3

	0000 return

	0008 call 274 B

	0027 jump 1448 B if distance is above 6000 (false)

	002E/0047 fetch polygon UV: texture 36; 193/48 240/48 240/95 193/95

	002F/008E draw textured polygon: 16-17-3-2

	0048 ???

	0021 jump 14 B if parameter equals 0 (true)

	002E/0047 fetch polygon UV: texture 33; 0/0 95/0 95/95 0/95

	002F/008E draw textured polygon: 16-17-3-2

	0000 return

	0000 return

	0000 return

	0008 call 184 B

	0015 jump 12 B if triangle 22-16-6 is invisible (true)

	0008 call 38 B

	0015 jump 12 B if triangle 22-1-20 is invisible (true)

	0008 call 620 B

	0027 jump 1226 B if distance is above 6000 (false)

	002E/0047 fetch polygon UV: texture 36; 96/96 191/96 191/191 96/191

	002F/008E draw textured polygon: 20-27-16-21

	0000 return

	0008 call 574 B

	0027 jump 1248 B if distance is above 6000 (false)

	002E/0047 fetch polygon UV: texture 36; 96/0 191/0 191/95 96/95

	002F/008E draw textured polygon: 7-20-21-6

	0000 return

	0000 return

	0008 call 4 B

	0015 jump 12 B if triangle 22-1-20 is invisible (true)

	0008 call 270 B

	0027 jump 1526 B if distance is above 6000 (false)

	002E/0047 fetch polygon UV: texture 36; 193/48 240/48 240/95 193/95

	002F/008E draw textured polygon: 21-16-2-1

	0048 ???

	0021 jump 14 B if parameter equals 0 (true)

	002E/0047 fetch polygon UV: texture 33; 0/0 95/0 95/95 0/95

	002F/008E draw textured polygon: 21-16-2-1

	0000 return

	0008 call 124 B

	0027 jump 1648 B if distance is above 6000 (false)

	002E/0047 fetch polygon UV: texture 36; 193/48 240/48 193/95

	002F/008E draw textured polygon: 6-21-0

	002E/0047 fetch polygon UV: texture 36; 240/48 240/95 193/95

	002F/008E draw textured polygon: 21-1-0

	0048 ???

	0021 jump 14 B if parameter equals 0 (true)

	002E/0047 fetch polygon UV: texture 35; 0/0 95/0 0/95

	002F/008E draw textured polygon: 6-21-0

	002E/0047 fetch polygon UV: texture 35; 95/0 95/95 0/95

	002F/008E draw textured polygon: 21-1-0

	0000 return

	0000 return

	0000 return

	0000 return

	0000 return

	0008 call 3666 B

	003F jump 4 B if lights are on (true)

	0034 draw city light (color 223; position 21)

	0034 draw city light (color 223; position 16)

	0034 draw city light (color 223; position 17)

	0034 draw city light (color 223; position 27)

	0034 draw city light (color 223; position 20)

	0034 draw city light (color 223; position 14)

	0039 draw 36 street lights (color 223) between -1024 -80 -512 and -512 0 -512

	0039 draw 36 street lights (color 223) between -512 0 -512 and 0 0 -512

	0039 draw 36 street lights (color 223) between 512 0 -512 and 0 0 -512

	0039 draw 36 street lights (color 223) between 512 0 -512 and 1024 -80 -512

	0039 draw 36 street lights (color 223) between -512 0 0 and -1024 -80 0

	0039 draw 36 street lights (color 223) between 0 0 0 and -512 0 0

	0039 draw 36 street lights (color 223) between -512 0 0 and -512 0 512

	0039 draw 36 street lights (color 223) between -512 0 -512 and -512 0 0

	0039 draw 36 street lights (color 223) between 0 0 0 and 0 0 -512

	0000 return

	0000 return

	0008 call 2572 B

	0027 jump 1372 B if distance is above 6000 (false)

	0062 fetch xyz #30: -5 0 1024

	0066 fetch xyz #31 with z delta: -5 0 950

	0066 fetch xyz #32 with z delta: -5 0 900

	0066 fetch xyz #33 with z delta: -5 0 850

	0066 fetch xyz #34 with z delta: -5 0 800

	0066 fetch xyz #35 with z delta: -5 0 750

	0066 fetch xyz #36 with z delta: -5 0 700

	0066 fetch xyz #37 with z delta: -5 0 650

	0066 fetch xyz #38 with z delta: -5 0 600

	0066 fetch xyz #39 with z delta: -5 0 550

	0066 fetch xyz #40 with z delta: -5 0 500

	0066 fetch xyz #41 with z delta: -5 0 450

	0066 fetch xyz #42 with z delta: -5 0 400

	0066 fetch xyz #43 with z delta: -5 0 350

	0066 fetch xyz #44 with z delta: -5 0 300

	0066 fetch xyz #45 with z delta: -5 0 250

	0066 fetch xyz #46 with z delta: -5 0 200

	0066 fetch xyz #47 with z delta: -5 0 150

	0066 fetch xyz #48 with z delta: -5 0 100

	0066 fetch xyz #49 with z delta: -5 0 50

	006B overwrite fetched xyz #11 with x delta: 5 0 50

	006D overwrite fetched xyz #2 with z delta: 5 0 950

	0066 fetch xyz #50 with z delta: 5 0 900

	0066 fetch xyz #51 with z delta: 5 0 850

	006D overwrite fetched xyz #6 with z delta: 5 0 800

	006D overwrite fetched xyz #21 with z delta: 5 0 750

	006D overwrite fetched xyz #16 with z delta: 5 0 700

	0066 fetch xyz #52 with z delta: 5 0 650

	006D overwrite fetched xyz #5 with z delta: 5 0 600

	006D overwrite fetched xyz #7 with z delta: 5 0 550

	006D overwrite fetched xyz #20 with z delta: 5 0 500

	006D overwrite fetched xyz #27 with z delta: 5 0 450

	006D overwrite fetched xyz #19 with z delta: 5 0 400

	006D overwrite fetched xyz #8 with z delta: 5 0 350

	006D overwrite fetched xyz #10 with z delta: 5 0 300

	006D overwrite fetched xyz #14 with z delta: 5 0 250

	0066 fetch xyz #53 with z delta: 5 0 200

	006D overwrite fetched xyz #18 with z delta: 5 0 150

	006D overwrite fetched xyz #9 with z delta: 5 0 100

	006D overwrite fetched xyz #1 with z delta: 5 0 1024

	0061 complete xyz fetching (30/20)

	0075 ???

	0061 complete xyz fetching (2/3)

	0075 ???

	0075 ???

	0061 complete xyz fetching (16/2)

	0075 ???

	0075 ???

	0075 ???

	0075 ???

	0075 ???

	0075 ???

	0075 ???

	0061 complete xyz fetching (14/2)

	0075 ???

	0075 ???

	0075 ???

	0027 jump 802 B if distance is above 2000 (false)

	0001 draw flat-shaded line with color 44: 30-2

	002E/0047 fetch polygon UV: texture 38; 0/0 63/0 63/191 0/191

	002F/008E draw textured polygon: 30-1-2-31

	0001 draw flat-shaded line with color 44: 2-32

	002E/0047 fetch polygon UV: texture 38; 0/0 63/0 63/191 0/191

=>	002F/008E draw textured polygon: 31-2-3-32

	0001 draw flat-shaded line with color 44: 32-4

	002E/0047 fetch polygon UV: texture 38; 0/0 63/0 63/191 0/191

=>	002F/008E draw textured polygon: 32-3-4-33

	0001 draw flat-shaded line with color 44: 4-34

	002E/0047 fetch polygon UV: texture 38; 0/0 63/0 63/191 0/191

	002F/008E draw textured polygon: 33-4-6-34

	0001 draw flat-shaded line with color 44: 34-21

	002E/0047 fetch polygon UV: texture 38; 0/0 63/0 63/191 0/191

	002F/008E draw textured polygon: 34-6-21-35

	0001 draw flat-shaded line with color 44: 21-36

	002E/0047 fetch polygon UV: texture 38; 0/0 63/0 63/191 0/191

	002F/008E draw textured polygon: 35-21-16-36

	0001 draw flat-shaded line with color 44: 36-17

	002E/0047 fetch polygon UV: texture 38; 0/0 63/0 63/191 0/191

	002F/008E draw textured polygon: 36-16-17-37

	0001 draw flat-shaded line with color 44: 17-38

	002E/0047 fetch polygon UV: texture 38; 0/0 63/0 63/191 0/191

	002F/008E draw textured polygon: 37-17-5-38

	0001 draw flat-shaded line with color 44: 38-7

	002E/0047 fetch polygon UV: texture 38; 0/0 63/0 63/191 0/191

	002F/008E draw textured polygon: 38-5-7-39

	0001 draw flat-shaded line with color 44: 7-40

	002E/0047 fetch polygon UV: texture 38; 0/0 63/0 63/191 0/191

	002F/008E draw textured polygon: 39-7-20-40

	0001 draw flat-shaded line with color 44: 40-27

	002E/0047 fetch polygon UV: texture 38; 0/0 63/0 63/191 0/191

	002F/008E draw textured polygon: 40-20-27-41

	0001 draw flat-shaded line with color 44: 27-42

	002E/0047 fetch polygon UV: texture 38; 0/0 63/0 63/191 0/191

	002F/008E draw textured polygon: 41-27-19-42

	0001 draw flat-shaded line with color 44: 42-8

	002E/0047 fetch polygon UV: texture 38; 0/0 63/0 63/191 0/191

	002F/008E draw textured polygon: 42-19-8-43

	0001 draw flat-shaded line with color 44: 8-44

	002E/0047 fetch polygon UV: texture 38; 0/0 63/0 63/191 0/191

	002F/008E draw textured polygon: 43-8-10-44

	0001 draw flat-shaded line with color 44: 44-14

	002E/0047 fetch polygon UV: texture 38; 0/0 63/0 63/191 0/191

	002F/008E draw textured polygon: 44-10-14-45

	0001 draw flat-shaded line with color 44: 14-46

	002E/0047 fetch polygon UV: texture 38; 0/0 63/0 63/191 0/191

	002F/008E draw textured polygon: 45-14-15-46

	0001 draw flat-shaded line with color 44: 46-18

	002E/0047 fetch polygon UV: texture 38; 0/0 63/0 63/191 0/191

	002F/008E draw textured polygon: 46-15-18-47

	0001 draw flat-shaded line with color 44: 18-48

	002E/0047 fetch polygon UV: texture 38; 0/0 63/0 63/191 0/191

	002F/008E draw textured polygon: 47-18-9-48

	0001 draw flat-shaded line with color 44: 48-11

	002E/0047 fetch polygon UV: texture 38; 0/0 63/0 63/191 0/191

	002F/008E draw textured polygon: 48-9-11-49

	0000 return

	0000 return


	COMPLETE

Share this post


Link to post
Share on other sites

Here's my parsed jeddah_j:

header ;fc003e80000000007fff00000000000007d0000000020003000300000000000000a3000e000b000c000d0000000000000000000000000000215445585f3334002b5f0a0b08090e0d0c0f00000020000000200000002000000032

0000; 00930004    ; If 0093 flag set, jump to line 2

0001; 0000    ;

0002; 002717700008    ; If Distance >6000 then jump to line 5

0003; 007b0004    ; If 007b flag set, jump to line 5

0004; 0000    ;

0005; 00760004    ; If 0076 flag set, jump to line 7

0006; 0000    ;

0007; 00080008    ; Jump to Sub at line 10

0008; 00080a0c    ; Jump to Sub at line 361

0009; 0000    ;

0010; 00620000fc00ffb0fc00    ; Vertex :0  X=-1024  Y=80  Z=-1024

0011; 00640200    ; Vertex :1  X=-512  Y=80  Z=-1024

0012; 00640200    ; Vertex :2  X=0  Y=80  Z=-1024

0013; 00640200    ; Vertex :3  X=512  Y=80  Z=-1024

0014; 00640200    ; Vertex :4  X=1024  Y=80  Z=-1024

0015; 00660200    ; Vertex :5  X=1024  Y=80  Z=-512

0016; 0064f800    ; Vertex :6  X=-1024  Y=80  Z=-512

0017; 00660200    ; Vertex :7  X=-1024  Y=80  Z=0

0018; 00640800    ; Vertex :8  X=1024  Y=80  Z=0

0019; 00660200    ; Vertex :9  X=1024  Y=80  Z=512

0020; 0064f800    ; Vertex :10  X=-1024  Y=80  Z=512

0021; 00660200    ; Vertex :11  X=-1024  Y=80  Z=1024

0022; 00640800    ; Vertex :12  X=1024  Y=80  Z=1024

0023; 0067fa000050    ; Vertex :13  X=-512  Y=0  Z=1024

0024; 0066fe00    ; Vertex :14  X=-512  Y=0  Z=512

0025; 00640200    ; Vertex :15  X=0  Y=0  Z=512

0026; 0066fc00    ; Vertex :16  X=0  Y=0  Z=-512

0027; 00640200    ; Vertex :17  X=512  Y=0  Z=-512

0028; 00660400    ; Vertex :18  X=512  Y=0  Z=512

0029; 0066fe00    ; Vertex :19  X=512  Y=0  Z=0

0030; 0064fc00    ; Vertex :20  X=-512  Y=0  Z=0

0031; 0066fe00    ; Vertex :21  X=-512  Y=0  Z=-512

0032; 0065fc18    ; Vertex :22  X=-512  Y=1000  Z=-512

0033; 00640400    ; Vertex :23  X=512  Y=1000  Z=-512

0034; 00660400    ; Vertex :24  X=512  Y=1000  Z=512

0035; 0064fc00    ; Vertex :25  X=-512  Y=1000  Z=512

0036; 00680200fe00    ; Vertex :26  X=0  Y=1000  Z=0

0037; 006503e8    ; Vertex :27  X=0  Y=0  Z=0

0038; 00660400    ; Vertex :28  X=0  Y=0  Z=1024

0039; 00640200    ; Vertex :29  X=512  Y=0  Z=1024

0040; 0061001e0000    ;

0041; 00080008    ; Jump to Sub at line 44

0042; 00080e52    ; Jump to Sub at line 498

0043; 0000    ;

0044; 0015001a00080007000c    ; If 0015 test on vertices 26,8,7 fails, jump to 48

0045; 00080030    ; Jump to Sub at line 58

0046; 0008000e    ; Jump to Sub at line 51

0047; 0000    ;

0048; 00080008    ; Jump to Sub at line 51

0049; 00080022    ; Jump to Sub at line 58

0050; 0000    ;

0051; 0015001a0002001c000c    ; If 0015 test on vertices 26,2,28 fails, jump to 55

0052; 00080030    ; Jump to Sub at line 65

0053; 00080086    ; Jump to Sub at line 86

0054; 0000    ;

0055; 00080080    ; Jump to Sub at line 86

0056; 00080022    ; Jump to Sub at line 65

0057; 0000    ;

0058; 0015001a0002001c000c    ; If 0015 test on vertices 26,2,28 fails, jump to 62

0059; 000800c6    ; Jump to Sub at line 107

0060; 0008011c    ; Jump to Sub at line 128

0061; 0000    ;

0062; 00080116    ; Jump to Sub at line 128

0063; 000800b8    ; Jump to Sub at line 107

0064; 0000    ;

0065; 00150019000f000a000c    ; If 0015 test on vertices 25,15,10 fails, jump to 69

0066; 00080012    ; Jump to Sub at line 72

0067; 0008002c    ; Jump to Sub at line 79

0068; 0000    ;

0069; 00080026    ; Jump to Sub at line 79

0070; 00080004    ; Jump to Sub at line 72

0071; 0000    ;

0072; 001500190014000d000c    ; If 0015 test on vertices 25,20,13 fails, jump to 76

0073; 00080462    ; Jump to Sub at line 229

0074; 000804d6    ; Jump to Sub at line 241

0075; 0000    ;

0076; 000804d0    ; Jump to Sub at line 241

0077; 00080454    ; Jump to Sub at line 229

0078; 0000    ;

0079; 001500190014000d000c    ; If 0015 test on vertices 25,20,13 fails, jump to 83

0080; 00080624    ; Jump to Sub at line 277

0081; 00080698    ; Jump to Sub at line 289

0082; 0000    ;

0083; 00080692    ; Jump to Sub at line 289

0084; 00080616    ; Jump to Sub at line 277

0085; 0000    ;

0086; 001500180009000f000c    ; If 0015 test on vertices 24,9,15 fails, jump to 90

0087; 00080012    ; Jump to Sub at line 93

0088; 0008002c    ; Jump to Sub at line 100

0089; 0000    ;

0090; 00080026    ; Jump to Sub at line 100

0091; 00080004    ; Jump to Sub at line 93

0092; 0000    ;

0093; 001500180013001d000c    ; If 0015 test on vertices 24,19,29 fails, jump to 97

0094; 000804f8    ; Jump to Sub at line 253

0095; 0008056c    ; Jump to Sub at line 265

0096; 0000    ;

0097; 00080566    ; Jump to Sub at line 265

0098; 000804ea    ; Jump to Sub at line 253

0099; 0000    ;

0100; 001500180013001d000c    ; If 0015 test on vertices 24,19,29 fails, jump to 104

0101; 000806ba    ; Jump to Sub at line 301

0102; 000806f6    ; Jump to Sub at line 307

0103; 0000    ;

0104; 000806f0    ; Jump to Sub at line 307

0105; 000806ac    ; Jump to Sub at line 301

0106; 0000    ;

0107; 0015001600100006000c    ; If 0015 test on vertices 22,16,6 fails, jump to 111

0108; 00080012    ; Jump to Sub at line 114

0109; 0008002c    ; Jump to Sub at line 121

0110; 0000    ;

0111; 00080026    ; Jump to Sub at line 121

0112; 00080004    ; Jump to Sub at line 114

0113; 0000    ;

0114; 0015001600010014000c    ; If 0015 test on vertices 22,1,20 fails, jump to 118

0115; 0008008a    ; Jump to Sub at line 149

0116; 00080114    ; Jump to Sub at line 163

0117; 0000    ;

0118; 0008010e    ; Jump to Sub at line 163

0119; 0008007c    ; Jump to Sub at line 149

0120; 0000    ;

0121; 0015001600010014000c    ; If 0015 test on vertices 22,1,20 fails, jump to 125

0122; 0008024c    ; Jump to Sub at line 197

0123; 00080272    ; Jump to Sub at line 201

0124; 0000    ;

0125; 0008026c    ; Jump to Sub at line 201

0126; 0008023e    ; Jump to Sub at line 197

0127; 0000    ;

0128; 0015001700050010000c    ; If 0015 test on vertices 23,5,16 fails, jump to 132

0129; 00080012    ; Jump to Sub at line 135

0130; 0008002c    ; Jump to Sub at line 142

0131; 0000    ;

0132; 00080026    ; Jump to Sub at line 142

0133; 00080004    ; Jump to Sub at line 135

0134; 0000    ;

0135; 0015001700030013000c    ; If 0015 test on vertices 23,3,19 fails, jump to 139

0136; 00080120    ; Jump to Sub at line 173

0137; 0008017e    ; Jump to Sub at line 183

0138; 0000    ;

0139; 00080178    ; Jump to Sub at line 183

0140; 00080112    ; Jump to Sub at line 173

0141; 0000    ;

0142; 0015001700030013000c    ; If 0015 test on vertices 23,3,19 fails, jump to 146

0143; 00080246    ; Jump to Sub at line 205

0144; 000802ba    ; Jump to Sub at line 217

0145; 0000    ;

0146; 000802b4    ; Jump to Sub at line 217

0147; 00080238    ; Jump to Sub at line 205

0148; 0000    ;

0149; 002717700670    ; If Distance >6000 then jump to line 313

0150; 00470024000300c1003000f0003000c1005f    ;UV Coords: 193,48 240,48  193,95

0151; 002f0003000600150000    ; Texture = TRG_4

0152; 00470024000300f0003000f0005f00c1005f    ;UV Coords: 240,48 240,95  193,95

0153; 002f0003001500010000    ; Texture = TRG_4

0154; 00480000    ;

0155; 00210000000e    ; If Parameter 0000 = 0 then jump to line 158

0156; 002100020cc8    ; If Parameter 0000 = 2 then jump to line 516

0157; 00270fa00cc2    ; If Distance >4000 then jump to line 516

0158; 00470023000300000000005f00000000005f    ;UV Coords: 0,0 95,0  0,95

0159; 008e0003000600150000    ; Texture = TRG_3

0160; 004700230003005f0000005f005f0000005f    ;UV Coords: 95,0 95,95  0,95

0161; 008e0003001500010000    ; Texture = TRG_3

0162; 0000    ;

0163; 0027177005f6    ; If Distance >6000 then jump to line 316

0164; 00470024000400c1003000f0003000f0005f00c1005f    ;UV Coords: 193,48 240,48  240,95  193,95

0165; 002f00040015001000020001    ; Texture = TRG_4

0166; 00480000    ;

0167; 00210000000e    ; If Parameter 0000 = 0 then jump to line 170

0168; 002100020c50    ; If Parameter 0000 = 2 then jump to line 516

0169; 00270fa00c4a    ; If Distance >4000 then jump to line 516

0170; 00470021000400000000005f0000005f005f0000005f    ;UV Coords: 0,0 95,0  95,95  0,95

0171; 008e00040015001000020001    ; Texture = TRG_1

0172; 0000    ;

0173; 0027177005a8    ; If Distance >6000 then jump to line 319

0174; 00470024000400c1003000f0003000f0005f00c1005f    ;UV Coords: 193,48 240,48  240,95  193,95

0175; 002f00040010001100030002    ; Texture = TRG_4

0176; 00480000    ;

0177; 00210000000e    ; If Parameter 0000 = 0 then jump to line 180

0178; 002100020bee    ; If Parameter 0000 = 2 then jump to line 516

0179; 00270fa00be8    ; If Distance >4000 then jump to line 516

0180; 00470021000400000000005f0000005f005f0000005f    ;UV Coords: 0,0 95,0  95,95  0,95

0181; 008e00040010001100030002    ; Texture = TRG_1

0182; 0000    ;

0183; 00271770055a    ; If Distance >6000 then jump to line 322

0184; 00470024000300c1003000f0003000f0005f    ;UV Coords: 193,48 240,48  240,95

0185; 002f0003001100050004    ; Texture = TRG_4

0186; 00470024000300c1003000f0005f00c1005f    ;UV Coords: 193,48 240,95  193,95

0187; 002f0003001100040003    ; Texture = TRG_4

0188; 00480000    ;

0189; 00210000000e    ; If Parameter 0000 = 0 then jump to line 192

0190; 002100020b76    ; If Parameter 0000 = 2 then jump to line 516

0191; 00270fa00b70    ; If Distance >4000 then jump to line 516

0192; 00470021000300000000005f0000005f005f    ;UV Coords: 0,0 95,0  95,95

0193; 008e0003001100050004    ; Texture = TRG_1

0194; 00470021000300000000005f005f0000005f    ;UV Coords: 0,0 95,95  0,95

0195; 008e0003001100040003    ; Texture = TRG_1

0196; 0000    ;

0197; 0027177004e0    ; If Distance >6000 then jump to line 325

0198; 0047002400040060000000bf000000bf005f0060005f    ;UV Coords: 96,0 191,0  191,95  96,95

0199; 002f00040007001400150006    ; Texture = TRG_4

0200; 0000    ;

0201; 0027177004ca    ; If Distance >6000 then jump to line 328

0202; 0047002400040060006000bf006000bf00bf006000bf    ;UV Coords: 96,96 191,96  191,191  96,191

0203; 002f00040014001b00100015    ; Texture = TRG_4

0204; 0000    ;

0205; 0027177004b4    ; If Distance >6000 then jump to line 331

0206; 002e00000003002f008f0045007c002f0077    ;UV Coords: 47,143  69,124   47,119

0207; 002f0003001b00110010    ; Texture = TEX_34

0208; 002e000000030045007c002f008f0047008f    ;UV Coords: 69,124  47,143   71,143

0209; 002f00030011001b0013    ; Texture = TEX_34

0210; 00480000    ;

0211; 00210000000e    ; If Parameter 0000 = 0 then jump to line 214

0212; 002100020a94    ; If Parameter 0000 = 2 then jump to line 516

0213; 00270fa00a8e    ; If Distance >4000 then jump to line 516

0214; 0047002300040060006000bf006000bf00bf006000bf    ;UV Coords: 96,96 191,96  191,191  96,191

0215; 008e0004001b001300110010    ; Texture = TRG_3

0216; 0000    ;

0217; 002717700450    ; If Distance >6000 then jump to line 334

0218; 002e000000030047008f005f00770045007c    ;UV Coords: 71,143  95,119   69,124

0219; 002f0003001300050011    ; Texture = TEX_34

0220; 002e00000003005f00770047008f005f008f    ;UV Coords: 95,119  71,143   95,143

0221; 002f0003000500130008    ; Texture = TEX_34

0222; 00480000    ;

0223; 00210000000e    ; If Parameter 0000 = 0 then jump to line 226

0224; 002100020a1c    ; If Parameter 0000 = 2 then jump to line 516

0225; 00270fa00a16    ; If Distance >4000 then jump to line 516

0226; 00470023000400000060005f005f005f00bf000000bf    ;UV Coords: 0,96 95,95  95,191  0,191

0227; 008e00040013000800050011    ; Texture = TRG_3

0228; 0000    ;

0229; 0027177003ec    ; If Distance >6000 then jump to line 337

0230; 002e00000003000000a7001a008e0000008f    ;UV Coords: 0,167  26,142   0,143

0231; 002f0003000a00140007    ; Texture = TEX_34

0232; 002e00000003001a008e000000a7001600a7    ;UV Coords: 26,142  0,167   22,167

0233; 002f00030014000a000e    ; Texture = TEX_34

0234; 00480000    ;

0235; 00210000000e    ; If Parameter 0000 = 0 then jump to line 238

0236; 0021000209a4    ; If Parameter 0000 = 2 then jump to line 516

0237; 00270fa0099e    ; If Distance >4000 then jump to line 516

0238; 00470023000400000060005f005f005f00bf000000bf    ;UV Coords: 0,96 95,95  95,191  0,191

0239; 008e0004000a000e00140007    ; Texture = TRG_3

0240; 0000    ;

0241; 002717700388    ; If Distance >6000 then jump to line 340

0242; 002e00000003001600a7002f008f001a008e    ;UV Coords: 22,167  47,143   26,142

0243; 002f0003000e001b0014    ; Texture = TEX_34

0244; 002e00000003002f008f001600a7002f00a7    ;UV Coords: 47,143  22,167   47,167

0245; 002f0003001b000e000f    ; Texture = TEX_34

0246; 00480000    ;

0247; 00210000000e    ; If Parameter 0000 = 0 then jump to line 250

0248; 00210002092c    ; If Parameter 0000 = 2 then jump to line 516

0249; 00270fa00926    ; If Distance >4000 then jump to line 516

0250; 0047002300040060006000bf006000bf00bf006000bf    ;UV Coords: 96,96 191,96  191,191  96,191

0251; 008e0004000e000f001b0014    ; Texture = TRG_3

0252; 0000    ;

0253; 002717700324    ; If Distance >6000 then jump to line 343

0254; 002e00000003004200a7002f008f002f00a7    ;UV Coords: 66,167  47,143   47,167

0255; 002f00030012001b000f    ; Texture = TEX_34

0256; 002e00000003002f008f004200a70047008f    ;UV Coords: 47,143  66,167   71,143

0257; 002f0003001b00120013    ; Texture = TEX_34

0258; 00480000    ;

0259; 00210000000e    ; If Parameter 0000 = 0 then jump to line 262

0260; 0021000208b4    ; If Parameter 0000 = 2 then jump to line 516

0261; 00270fa008ae    ; If Distance >4000 then jump to line 516

0262; 0047002200040060006000bf006000bf00bf006000bf    ;UV Coords: 96,96 191,96  191,191  96,191

0263; 008e0004000f00120013001b    ; Texture = TRG_2

0264; 0000    ;

0265; 0027177002c0    ; If Distance >6000 then jump to line 346

0266; 002e00000003005f00a70047008f004200a7    ;UV Coords: 95,167  71,143   66,167

0267; 002f0003000900130012    ; Texture = TEX_34

0268; 002e000000030047008f005f00a7005f008f    ;UV Coords: 71,143  95,167   95,143

0269; 002f0003001300090008    ; Texture = TEX_34

0270; 00480000    ;

0271; 00210000000e    ; If Parameter 0000 = 0 then jump to line 274

0272; 00210002083c    ; If Parameter 0000 = 2 then jump to line 516

0273; 00270fa00836    ; If Distance >4000 then jump to line 516

0274; 00470022000400000060005f005f005f00bf000000bf    ;UV Coords: 0,96 95,95  95,191  0,191

0275; 008e00040012000900080013    ; Texture = TRG_2

0276; 0000    ;

0277; 00271770025c    ; If Distance >6000 then jump to line 349

0278; 002e00000003000000bf001600a7000000a7    ;UV Coords: 0,191  22,167   0,167

0279; 002f0003000b000e000a    ; Texture = TEX_34

0280; 002e00000003001600a7000000bf001700bf    ;UV Coords: 22,167  0,191   23,191

0281; 002f0003000e000b000d    ; Texture = TEX_34

0282; 00480000    ;

0283; 00210000000e    ; If Parameter 0000 = 0 then jump to line 286

0284; 0021000207c4    ; If Parameter 0000 = 2 then jump to line 516

0285; 00270fa007be    ; If Distance >4000 then jump to line 516

0286; 00470022000400000060005f005f005f00bf000000bf    ;UV Coords: 0,96 95,95  95,191  0,191

0287; 008e0004000b000d000e000a    ; Texture = TRG_2

0288; 0000    ;

0289; 0027177001f8    ; If Distance >6000 then jump to line 352

0290; 002e00000003001700bf002f00a7001600a7    ;UV Coords: 23,191  47,167   22,167

0291; 002f0003000d000f000e    ; Texture = TEX_34

0292; 002e00000003002f00a7001700bf002f00bf    ;UV Coords: 47,167  23,191   47,191

0293; 002f0003000f000d001c    ; Texture = TEX_34

0294; 00480000    ;

0295; 00210000000e    ; If Parameter 0000 = 0 then jump to line 298

0296; 00210002074c    ; If Parameter 0000 = 2 then jump to line 516

0297; 00270fa00746    ; If Distance >4000 then jump to line 516

0298; 0047002200040060006000bf006000bf00bf006000bf    ;UV Coords: 96,96 191,96  191,191  96,191

0299; 008e0004000d001c000f000e    ; Texture = TRG_2

0300; 0000    ;

0301; 002717700194    ; If Distance >6000 then jump to line 355

0302; 002e00000003004700bf002f00a7002f00bf    ;UV Coords: 71,191  47,167   47,191

0303; 002f0003001d000f001c    ; Texture = TEX_34

0304; 002e00000003002f00a7004700bf004200a7    ;UV Coords: 47,167  71,191   66,167

0305; 002f0003000f001d0012    ; Texture = TEX_34

0306; 0000    ;

0307; 002717700168    ; If Distance >6000 then jump to line 358

0308; 002e00000003005f00bf004200a7004700bf    ;UV Coords: 95,191  66,167   71,191

0309; 002f0003000c0012001d    ; Texture = TEX_34

0310; 002e00000003004200a7005f00bf005f00a7    ;UV Coords: 66,167  95,191   95,167

0311; 002f00030012000c0009    ; Texture = TEX_34

0312; 0000    ;

0313; 00020018001500000006    ; Flat Shaded Triangle, Palette:24  Vertices: 21,0,6

0314; 0071000000150001    ; Flat Shaded Triangle, Palette:24  Vertices: 0,21,1

0315; 0000    ;

0316; 00020018001000010015    ; Flat Shaded Triangle, Palette:24  Vertices: 16,1,21

0317; 0071000100100002    ; Flat Shaded Triangle, Palette:24  Vertices: 1,16,2

0318; 0000    ;

0319; 00020018001000030002    ; Flat Shaded Triangle, Palette:24  Vertices: 16,3,2

0320; 0071000300100011    ; Flat Shaded Triangle, Palette:24  Vertices: 3,16,17

0321; 0000    ;

0322; 00020018001100040003    ; Flat Shaded Triangle, Palette:24  Vertices: 17,4,3

0323; 0071000400110005    ; Flat Shaded Triangle, Palette:24  Vertices: 4,17,5

0324; 0000    ;

0325; 00020018001400060007    ; Flat Shaded Triangle, Palette:24  Vertices: 20,6,7

0326; 0071000600140015    ; Flat Shaded Triangle, Palette:24  Vertices: 6,20,21

0327; 0000    ;

0328; 00020018001b00150014    ; Flat Shaded Triangle, Palette:24  Vertices: 27,21,20

0329; 00710015001b0010    ; Flat Shaded Triangle, Palette:24  Vertices: 21,27,16

0330; 0000    ;

0331; 00020018001b00110010    ; Flat Shaded Triangle, Palette:24  Vertices: 27,17,16

0332; 00710011001b0013    ; Flat Shaded Triangle, Palette:24  Vertices: 17,27,19

0333; 0000    ;

0334; 00020018001300050011    ; Flat Shaded Triangle, Palette:24  Vertices: 19,5,17

0335; 0071000500130008    ; Flat Shaded Triangle, Palette:24  Vertices: 5,19,8

0336; 0000    ;

0337; 00020018000a00140007    ; Flat Shaded Triangle, Palette:24  Vertices: 10,20,7

0338; 00710014000a000e    ; Flat Shaded Triangle, Palette:24  Vertices: 20,10,14

0339; 0000    ;

0340; 00020018000e001b0014    ; Flat Shaded Triangle, Palette:24  Vertices: 14,27,20

0341; 0071001b000e000f    ; Flat Shaded Triangle, Palette:24  Vertices: 27,14,15

0342; 0000    ;

0343; 000200180012001b000f    ; Flat Shaded Triangle, Palette:24  Vertices: 18,27,15

0344; 0071001b00120013    ; Flat Shaded Triangle, Palette:24  Vertices: 27,18,19

0345; 0000    ;

0346; 00020018000900130012    ; Flat Shaded Triangle, Palette:24  Vertices: 9,19,18

0347; 0071001300090008    ; Flat Shaded Triangle, Palette:24  Vertices: 19,9,8

0348; 0000    ;

0349; 00020018000b000e000a    ; Flat Shaded Triangle, Palette:24  Vertices: 11,14,10

0350; 0071000e000b000d    ; Flat Shaded Triangle, Palette:24  Vertices: 14,11,13

0351; 0000    ;

0352; 00020018000d000f000e    ; Flat Shaded Triangle, Palette:24  Vertices: 13,15,14

0353; 0071000f000d001c    ; Flat Shaded Triangle, Palette:24  Vertices: 15,13,28

0354; 0000    ;

0355; 00020018001d000f001c    ; Flat Shaded Triangle, Palette:24  Vertices: 29,15,28

0356; 0071000f001d0012    ; Flat Shaded Triangle, Palette:24  Vertices: 15,29,18

0357; 0000    ;

0358; 00020018000c0012001d    ; Flat Shaded Triangle, Palette:24  Vertices: 12,18,29

0359; 00710012000c0009    ; Flat Shaded Triangle, Palette:24  Vertices: 18,12,9

0360; 0000    ;

0361; 00271770055c    ; If Distance >6000 then jump to line 516

0362; 0062001efffb00000400    ; Vertex :30  X=-5  Y=0  Z=1024

0363; 0066ffb6    ; Vertex :31  X=-5  Y=0  Z=950

0364; 0066ffce    ; Vertex :32  X=-5  Y=0  Z=900

0365; 0066ffce    ; Vertex :33  X=-5  Y=0  Z=850

0366; 0066ffce    ; Vertex :34  X=-5  Y=0  Z=800

0367; 0066ffce    ; Vertex :35  X=-5  Y=0  Z=750

0368; 0066ffce    ; Vertex :36  X=-5  Y=0  Z=700

0369; 0066ffce    ; Vertex :37  X=-5  Y=0  Z=650

0370; 0066ffce    ; Vertex :38  X=-5  Y=0  Z=600

0371; 0066ffce    ; Vertex :39  X=-5  Y=0  Z=550

0372; 0066ffce    ; Vertex :40  X=-5  Y=0  Z=500

0373; 0066ffce    ; Vertex :41  X=-5  Y=0  Z=450

0374; 0066ffce    ; Vertex :42  X=-5  Y=0  Z=400

0375; 0066ffce    ; Vertex :43  X=-5  Y=0  Z=350

0376; 0066ffce    ; Vertex :44  X=-5  Y=0  Z=300

0377; 0066ffce    ; Vertex :45  X=-5  Y=0  Z=250

0378; 0066ffce    ; Vertex :46  X=-5  Y=0  Z=200

0379; 0066ffce    ; Vertex :47  X=-5  Y=0  Z=150

0380; 0066ffce    ; Vertex :48  X=-5  Y=0  Z=100

0381; 0066ffce    ; Vertex :49  X=-5  Y=0  Z=50

0382; 006b000a000b    ; Vertex :11  X=5  Y=0  Z=50

0383; 006d03840002    ; Vertex :2  X=5  Y=0  Z=950

0384; 0066ffce    ; Vertex :3  X=5  Y=0  Z=900

0385; 0066ffce    ; Vertex :4  X=5  Y=0  Z=850

0386; 006dffce0006    ; Vertex :6  X=5  Y=0  Z=800

0387; 006dffce0015    ; Vertex :21  X=5  Y=0  Z=750

0388; 006dffce0010    ; Vertex :16  X=5  Y=0  Z=700

0389; 0066ffce    ; Vertex :17  X=5  Y=0  Z=650

0390; 006dffce0005    ; Vertex :5  X=5  Y=0  Z=600

0391; 006dffce0007    ; Vertex :7  X=5  Y=0  Z=550

0392; 006dffce0014    ; Vertex :20  X=5  Y=0  Z=500

0393; 006dffce001b    ; Vertex :27  X=5  Y=0  Z=450

0394; 006dffce0013    ; Vertex :19  X=5  Y=0  Z=400

0395; 006dffce0008    ; Vertex :8  X=5  Y=0  Z=350

0396; 006dffce000a    ; Vertex :10  X=5  Y=0  Z=300

0397; 006dffce000e    ; Vertex :14  X=5  Y=0  Z=250

0398; 0066ffce    ; Vertex :15  X=5  Y=0  Z=200

0399; 006dffce0012    ; Vertex :18  X=5  Y=0  Z=150

0400; 006dffce0009    ; Vertex :9  X=5  Y=0  Z=100

0401; 006d039c0001    ; Vertex :1  X=5  Y=0  Z=1024

0402; 00610014001e    ;

0403; 0075000b    ;

0404; 006100030002    ;

0405; 00750006    ;

0406; 00750015    ;

0407; 006100020010    ;

0408; 00750005    ;

0409; 00750007    ;

0410; 00750014    ;

0411; 0075001b    ;

0412; 00750013    ;

0413; 00750008    ;

0414; 0075000a    ;

0415; 00610002000e    ;

0416; 00750012    ;

0417; 00750009    ;

0418; 00750001    ;

0419; 002707d00322    ; If Distance >2000 then jump to line 478

0420; 0001002c001e0002    ; Line, Palette:44  Vertices: 30,2

0421; 00470026000400000000003f0000003f00bf000000bf    ;UV Coords: 0,0 63,0  63,191  0,191

0422; 008e0004001e00010002001f    ; Texture = trg_17

0423; 0001002c00020020    ; Line, Palette:44  Vertices: 2,32

0424; 00470026000400000000003f0000003f00bf000000bf    ;UV Coords: 0,0 63,0  63,191  0,191

0425; 008e0004001f000200030020    ; Texture = trg_17

0426; 0001002c00200004    ; Line, Palette:44  Vertices: 32,4

0427; 00470026000400000000003f0000003f00bf000000bf    ;UV Coords: 0,0 63,0  63,191  0,191

0428; 008e00040020000300040021    ; Texture = trg_17

0429; 0001002c00040022    ; Line, Palette:44  Vertices: 4,34

0430; 00470026000400000000003f0000003f00bf000000bf    ;UV Coords: 0,0 63,0  63,191  0,191

0431; 008e00040021000400060022    ; Texture = trg_17

0432; 0001002c00220015    ; Line, Palette:44  Vertices: 34,21

0433; 00470026000400000000003f0000003f00bf000000bf    ;UV Coords: 0,0 63,0  63,191  0,191

0434; 008e00040022000600150023    ; Texture = trg_17

0435; 0001002c00150024    ; Line, Palette:44  Vertices: 21,36

0436; 00470026000400000000003f0000003f00bf000000bf    ;UV Coords: 0,0 63,0  63,191  0,191

0437; 008e00040023001500100024    ; Texture = trg_17

0438; 0001002c00240011    ; Line, Palette:44  Vertices: 36,17

0439; 00470026000400000000003f0000003f00bf000000bf    ;UV Coords: 0,0 63,0  63,191  0,191

0440; 008e00040024001000110025    ; Texture = trg_17

0441; 0001002c00110026    ; Line, Palette:44  Vertices: 17,38

0442; 00470026000400000000003f0000003f00bf000000bf    ;UV Coords: 0,0 63,0  63,191  0,191

0443; 008e00040025001100050026    ; Texture = trg_17

0444; 0001002c00260007    ; Line, Palette:44  Vertices: 38,7

0445; 00470026000400000000003f0000003f00bf000000bf    ;UV Coords: 0,0 63,0  63,191  0,191

0446; 008e00040026000500070027    ; Texture = trg_17

0447; 0001002c00070028    ; Line, Palette:44  Vertices: 7,40

0448; 00470026000400000000003f0000003f00bf000000bf    ;UV Coords: 0,0 63,0  63,191  0,191

0449; 008e00040027000700140028    ; Texture = trg_17

0450; 0001002c0028001b    ; Line, Palette:44  Vertices: 40,27

0451; 00470026000400000000003f0000003f00bf000000bf    ;UV Coords: 0,0 63,0  63,191  0,191

0452; 008e000400280014001b0029    ; Texture = trg_17

0453; 0001002c001b002a    ; Line, Palette:44  Vertices: 27,42

0454; 00470026000400000000003f0000003f00bf000000bf    ;UV Coords: 0,0 63,0  63,191  0,191

0455; 008e00040029001b0013002a    ; Texture = trg_17

0456; 0001002c002a0008    ; Line, Palette:44  Vertices: 42,8

0457; 00470026000400000000003f0000003f00bf000000bf    ;UV Coords: 0,0 63,0  63,191  0,191

0458; 008e0004002a00130008002b    ; Texture = trg_17

0459; 0001002c0008002c    ; Line, Palette:44  Vertices: 8,44

0460; 00470026000400000000003f0000003f00bf000000bf    ;UV Coords: 0,0 63,0  63,191  0,191

0461; 008e0004002b0008000a002c    ; Texture = trg_17

0462; 0001002c002c000e    ; Line, Palette:44  Vertices: 44,14

0463; 00470026000400000000003f0000003f00bf000000bf    ;UV Coords: 0,0 63,0  63,191  0,191

0464; 008e0004002c000a000e002d    ; Texture = trg_17

0465; 0001002c000e002e    ; Line, Palette:44  Vertices: 14,46

0466; 00470026000400000000003f0000003f00bf000000bf    ;UV Coords: 0,0 63,0  63,191  0,191

0467; 008e0004002d000e000f002e    ; Texture = trg_17

0468; 0001002c002e0012    ; Line, Palette:44  Vertices: 46,18

0469; 00470026000400000000003f0000003f00bf000000bf    ;UV Coords: 0,0 63,0  63,191  0,191

0470; 008e0004002e000f0012002f    ; Texture = trg_17

0471; 0001002c00120030    ; Line, Palette:44  Vertices: 18,48

0472; 00470026000400000000003f0000003f00bf000000bf    ;UV Coords: 0,0 63,0  63,191  0,191

0473; 008e0004002f001200090030    ; Texture = trg_17

0474; 0001002c0030000b    ; Line, Palette:44  Vertices: 48,11

0475; 00470026000400000000003f0000003f00bf000000bf    ;UV Coords: 0,0 63,0  63,191  0,191

0476; 008e000400300009000b0031    ; Texture = trg_17

0477; 0000    ;

0478; 0001002c001e0002    ; Line, Palette:44  Vertices: 30,2

0479; 0001002c00020020    ; Line, Palette:44  Vertices: 2,32

0480; 0001002c00200004    ; Line, Palette:44  Vertices: 32,4

0481; 0001002c00040022    ; Line, Palette:44  Vertices: 4,34

0482; 0001002c00220015    ; Line, Palette:44  Vertices: 34,21

0483; 0001002c00150024    ; Line, Palette:44  Vertices: 21,36

0484; 0001002c00240011    ; Line, Palette:44  Vertices: 36,17

0485; 0001002c00110026    ; Line, Palette:44  Vertices: 17,38

0486; 0001002c00260007    ; Line, Palette:44  Vertices: 38,7

0487; 0001002c00070028    ; Line, Palette:44  Vertices: 7,40

0488; 0001002c0028001b    ; Line, Palette:44  Vertices: 40,27

0489; 0001002c001b002a    ; Line, Palette:44  Vertices: 27,42

0490; 0001002c002a0008    ; Line, Palette:44  Vertices: 42,8

0491; 0001002c0008002c    ; Line, Palette:44  Vertices: 8,44

0492; 0001002c002c000e    ; Line, Palette:44  Vertices: 44,14

0493; 0001002c000e002e    ; Line, Palette:44  Vertices: 14,46

0494; 0001002c002e0012    ; Line, Palette:44  Vertices: 46,18

0495; 0001002c00120030    ; Line, Palette:44  Vertices: 18,48

0496; 0001002c0030000b    ; Line, Palette:44  Vertices: 48,11

0497; 0000    ;

0498; 003f00800004    ;  If 003f (Time??) test(128), Jump to line 500

0499; 0000    ;

0500; 003400df0015    ; Light (Short range): Palette:223  Vertex: 21

0501; 003400df0010    ; Light (Short range): Palette:223  Vertex: 16

0502; 003400df0011    ; Light (Short range): Palette:223  Vertex: 17

0503; 003400df001b    ; Light (Short range): Palette:223  Vertex: 27

0504; 003400df0014    ; Light (Short range): Palette:223  Vertex: 20

0505; 003400df000e    ; Light (Short range): Palette:223  Vertex: 14

0506; 0039002400df00060015    ;

0507; 0039002400df00150010    ;

0508; 0039002400df00110010    ;

0509; 0039002400df00110005    ;

0510; 0039002400df00140007    ;

0511; 0039002400df001b0014    ;

0512; 0039002400df0014000e    ;

0513; 0039002400df00150014    ;

0514; 0039002400df001b0010    ;

0515; 0000    ;

0516; 0000    ;

0517; ffff    ;

Share this post


Link to post
Share on other sites

Here's a difference:

My file:


0381; 0066ffce    ; Vertex :49  X=-5  Y=0  Z=50

0382; 006b000a000b    ; Vertex :11  X=5  Y=0  Z=50

0383; 006d03840002    ; Vertex :2  X=5  Y=0  Z=950

0384; 0066ffce    ; Vertex :3  X=5  Y=0  Z=900

0385; 0066ffce    ; Vertex :4  X=5  Y=0  Z=850

0386; 006dffce0006    ; Vertex :6  X=5  Y=0  Z=800

your log:

        0066 fetch xyz #49 with z delta: -5 0 50 

        006B overwrite fetched xyz #11 with x delta: 5 0 50 

        006D overwrite fetched xyz #2 with z delta: 5 0 950 

        0066 fetch xyz #50 with z delta: 5 0 900 

        0066 fetch xyz #51 with z delta: 5 0 850 


Share this post


Link to post
Share on other sites

You are absolutely right. I had misunderstood the vertex counter. It's working now:

97102783.png

Thank you again. Now I know how the vertex counter works, and I will try to load the remaining tiles.

Share this post


Link to post
Share on other sites

Interesting (rdrddn_1.3):

rule violated: sizeof(Word) <= operand.jumpOffsetInBytes

at word #23 (46 B in bytecode) in cycle #194


context:

	opcode:	002Dh

There is a 002D instruction to jump 0 B. I did not think that this can happen, because a 0 B jump is useless in my opinion. Also: the distance to jump is measured from the beginning of the word which contains the jump distance. So a zero jump would mean that the operand of the 002D instruction is used as opcode for the next instruction! There is no way I can handle this. I think we should not see 002D as a jump instruction. I'm sure it is something else.

But, as you see, I have implemented error handling and use strict parsing rules now. I implement color palettes next and I work to release a very alpha-ish prototype to view terrain tiles by next weekend :icon_rock:

Share this post


Link to post
Share on other sites

OK, thanks for the info. I'll take another look at 002d tomorrow, but hopefully DrKevDog will have solved it by then. :)

Share this post


Link to post
Share on other sites

Hmmn, I've had a quick look at rdrddn_1.3 and there is only one 002d opcode (line 0011) and it seems to give a valid jump:


0000; 00930004    ; If 0093 flag set, jump to line 2

0001; 0000    ;

0002; 002717700008    ; If Distance >6000 then jump to line 5

0003; 007b0004    ; If 007b flag set, jump to line 5

0004; 0000    ;

0005; 00760004    ; If 0076 flag set, jump to line 7

0006; 0000    ;

0007; 00080044    ; Jump to Sub at line 16

0008; 002717701c9a    ; If Distance >6000 then jump to line 872

0009; 00620000000000000000    ; Vertex :0  X=0  Y=0  Z=0

0010; 00750000    ;

0011; 002d000010e2    ; Vertex Test 0 , jump to line 543

0012; 00620001000000000000    ; Vertex :1  X=0  Y=0  Z=0

0013; 00750001    ;

0014; 00490000400000000000000000000000000000000001079c    ; Vertex 1 , jump to 296

0015; 0000    ;

0016; 00620002fc00ff65fc00    ; Vertex :2  X=-1024  Y=155  Z=-1024

..

...but now we have a 0049 opcode involved as well. This applies a rotation to a vertex, but we don't know exactly how.

Share this post


Link to post
Share on other sites

Without more information, I would have to think it is possibly a parsing error on a non-operand 002d word. IIRC file rdrddn_1.3 is not used in the standard game I see it is in the 2.0 game and it parses exactly like that Mikew posted. Krycztij, would you confirm which file you are discussing?

Share this post


Link to post
Share on other sites

Without more information, I would have to think it is possibly a parsing error on a non-operand 002d word.

You are correct. I parsed the instruction with only one operand :( The parsing is O.K. now. I don't know how this happened because I had loaded 002D before. Very sorry.

Good you mention 0049, mikew. It would have been my next question. Do you know a file with heavy use of the command? I would then try to make the file render. When we can actually see what looks wrong when 0049 is missing, it is probably easier to see how the instruction works.

Share this post


Link to post
Share on other sites

Here's all we know about 0049:

After the 0049 opcode, the next three 16 bit words seem to give rotation values around the X,Y and Z axes, then a bunch of zeroes, then the vertex number and finally a jump.

So, the format is something like this:

0049XXXXYYYYZZZZ000000000000000000000000VVVVJJJJ

I've scanned through all the .3 files and there is nothing other than zeroes in the centre section. This area must be used for something but I can't think what, although maybe some sort of matrix is formed:

0049

XXXX YYYY ZZZZ

0000 0000 0000

0000 0000 0000

VVVV JJJJ

Note that the unit of rotation is 360/65536 degrees.

The simplest example is probably logo.3

Share this post


Link to post
Share on other sites
The simplest example is probably logo.3
Could you please tell me where in the file header ends and bytecode starts? I am always looking for the first 0027 word in the file to find the bytecode, but in logo.3 this goes wrong (he finds the 326th word, which is not a valid 0027 instruction because it jumps an odd byte number).

In general, because I doubt the bytecode always starts with 0027: How big are the headers? Seems their size can always be divided by six (90, 96, 180, ...), but I don't know more.

Share this post


Link to post
Share on other sites

The 'header' can be different sizes, but I use this rather messy Python code to find the start of the bytecode. 'data' contains the .3 file cut up into hex words, so the first thing I do is check the 17th word.

        self.type=data[16]

        if self.type=='0000' or self.type=='0020':

            code_start=int(data[17],16)/2+18

            opcode=data[code_start]

        elif self.type=='0087':

            temp=data[28]

            temp=temp[0:2]

            if temp=='21':

                code_start=39

            else:

                code_start=31

        elif self.type=='00a3':

            code_start=45

        elif self.type=='0083':

            x=0

            y=20

            while x==0:

                temp=data[y]+data[y+1]+data[y+2]+data[y+3]+data[y+4]

                if temp=='00200000002000000020':

                    x=1

                    code_start=y+7

                y+=1

Share this post


Link to post
Share on other sites

Thank you, I'm implementing it. In the meantime two screenshots of djibou_c.3 with and without the 0007 flag:

djiboucwith0007.th.jpg

djiboucwithout0007.th.jpg

Again this seems useless to me (becauso only part of road is removed), but maybe it helps you to interpret this jump.

Share this post


Link to post
Share on other sites

I've seen some evidence that 0007 may mean different things at different times, so we need all the information we can get. :thumbsup:

Share this post


Link to post
Share on other sites

One interesting thing I noted in _1msk90.3:

0948; 004301ff002e    ; If Time of Day = 511 then jump to line 957

0949; 004301ff0028    ; If Time of Day = 511 then jump to line 957

0950; 0043003f018a    ; If Time of Day = 63 then jump to line 999

0951; 0043001f0148    ; If Time of Day = 31 then jump to line 992

0952; 0043000f0106    ; If Time of Day = 15 then jump to line 985

0953; 0043000700c4    ; If Time of Day = 7 then jump to line 978

0954; 004300030082    ; If Time of Day = 3 then jump to line 971

0955; 004300010040    ; If Time of Day = 1 then jump to line 964
The times of day are powers of two minus 1:

511 = 2^9-1 = ooooooo1 11111111 binary

255 missing

127 missing

 63 = 2^6-1 = oooooooo oo111111

 31 = 2^5-1 = oooooooo ooo11111

 15 = 2^4-1 = oooooooo oooo1111

  7 = 2^3-1 = oooooooo ooooo111

  3 = 2^2-1 = oooooooo oooooo11

  1 = 2^1-1 = oooooooo ooooooo1

So we still don't know what the operand means, but I am sure the value is not interpreted as an index or a number. In a binary way, I think, maybe as a bit mask. There seem nine bits used and we have nine times of day, too: 0600, 0800, 1000, 1200, 1400, 1600, 1800, 2000, night.

Just something I wanted to let you know.

Share this post


Link to post
Share on other sites

Thanks. I'm not particularly happy with my interpretation of 0043 since lines 948 & 949 say the same thing.

The interpretation can't be far off though, since this selects one of eight translucent polygons to act as shadows depending on some time of day flag.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now