-
Posts
4,798 -
Joined
-
Last visited
-
Days Won
12
Content Type
Profiles
Forums
Calendar
Posts posted by mikew
-
-
Thanks!
I need a new graphics card and that GTX580 looks pretty good.

-
Well, it goes to show how much it helps having krycztij's viewer.

By a bit of trial and error, the part of the 3 file dealing with that lip could be found quickly. I wouldn't have bothered if I had to start the game each time.
-
Yes.I assume we just need to add 50=TEX_50 to the redxxxx files now. Upload the new 3 file and I'll drop it in the next release!
-
There's probably more to palettes than meets the eye....With all those shadows and lights working, I'm really longing for palettes …

HF,
Here's aswan_q with tex_50 (and with the dam destroyed). Since the existing coordinates used the top right of the trg_4,I just removed 192 from each u coordinate:

-
Great work!I see the first free flight in the training section is a moonlit night; are there any other scenarios with moonless nights I can observe?
I'm not sure how it's decided whether there is a moon. It might be random since if I start the Takeoff training mission at 02:00, sometimes the moon is out, and sometimes it isn't.
-
Which set of .3 files are you using?
For the F-14, the first few words of the original f141.3 file are as follows:
fffb 0096 03e8 0000 0000 7fff
ie Most detailed LOD up to 0096 ( about 1200 feet), then least detailed LOD up to 03e8 ( about 1.5 miles)....then nothing.
There is also a set where we edited all the files so that the highest LOD is always shown. In this case, the first few words would look like this:
fffb 03e8 03e8 0000 0000 7fff.
-
I know that airbase at Luxor quite well, and also happen to know that the scenario is called sim6a, so it's easy to modify the .Xdl files to provide any vehicle I want.
This is the quickest way I know of seeing stuff in-game.
-
I did the same exercise with the F14 (f141.3) ie changing the second word to 0x0001 from 0x0096. I edited sim6a.udl and .mdl to call up F14s instead of Learjets. What's cool is the game is smart enough to put them at the military end of the airport near the F22.
Anyway, I couldn't see anything wrong with the LODs.

What technique are you using?
-
The LODs are working fine for the Learjet at least. I changed the second word of learjet1.3 from 0x96 to 0x0001. This should only show the highest LOD within 8 feet or so. We expect then to see the second LOD when we start the Luxor Takeoff mission....which is what happens:

-
Good point! I need to do some in-game experiments later.
0083/0087 files on their way.....
-
Well maybe. I certainly agree that there seem to be two 4 byte sequences.
While looking through my list of 00a3 headers, I was surprised to see chinook1.3. In this, the 2bXX and 8 following bytes are missing, so the header is shorter.
Since my parsing rules for 00a3 give the start of the bytecode at the 46th word, my parsing is wrong.

Now, for this single file, I'm in the same situation as 0083/0087 where it's not obvious where the bytecode should start.
:(...and I've had another look at 0083/0087 to try and calculate the LOD starts, but I just can't see any correlation.
:( 
-
...and finally, a quick look at 0083/0087 which seem to follow a common format.
Up to the 0083/0087 17th word, the format is the same as the other types. The only interesting feature being the various values assigned to the 9th word.
Immediately following the 17th word are a block which is padded out to seven words. Of this block, up to 3 words should give the offsets to the start of each extra LOD, although as yet, I haven't got the numbers to add up.
These offsets are always followed by 4 words, eg '0007000400050006' which somehow seem linked to the offset to the first LOD.
What happens now, depends on whether there is a hardcoded texture. If it exists, there are 4 padding words before the texture name. Sometimes. there appears to be 'too much' padding after the texture name. In this case, each value in the block of 4 bytes mentioned earlier is incremented by one. ie '000c0009000a000b' instead of '000b00080009000a' which is evidence that these are some sort of offset.
Then this sequence '002000000020000000200000'is always present immediately before the number of vertices in the first LOD.
Some examples, starting with the 17th word:
2 LODs with texture and 'too much' padding .... 0083 0086 000c0009000a000b 0000 0000 0000000000000000215441534b45523200000000 002000000020000000200000 0017 707.3 2 LODs, no texture .... 0083 008e 0007000400050006 0000 0000 002000000020000000200000 0018 a50.3 4 LODs, no texture .... 0083 027a 0093 002b 0007000400050006 002000000020000000200000 0004 amobl90.3 1 LOD, texture .... 0083 000b00080009000a 0000 0000 0000 0000000000000000214d4f425f320000 002000000020000000200000 00fc amx_10rc.3
-
Not really, except that there is some correlation between the hardcoded texture name and the 2bXX value. eg 2b52 always follows 215445585f323800.
-
....slight adjustment to that list. Just trying to work out if I can quantify the 'some' below.

- 0000 / 0020
- offset of the first LOD relative to current position, in bytes (pointing to the number of vertices, the bytecode starts one word behind)
- same as above, if there are 2 or more LOD's
- same as above, if there are 3 or more LOD's
- same as above, if there are 4 LOD's
- three words with the offset of the footer relative to the current position, in bytes
- zero padding until the first LOD begins
- For 0000, if there is a hardcoded texture there are 4 padding words, then the texture name, then 'some' padding before the number of vertices in first LOD
- LOD #1
- LOD #2, if there are 2 or more LOD's
- LOD #3, if there are 3 or more LOD's
- LOD #4, if there are 4 LOD's
- the 0020 0020 0020 footer
EDIT:
Maybe it doesn't matter how much padding is after the terminating zero of the texture name. Just as well, since I can't explain why these should be so different unless the minimum padding size is one word:
.. 0022 01d0 01d0 01d0 0000 0000 0000 00000000000000002154415849574159000000000010 adis1_90.3 .. 001e 3da6 3da6 3da6 0000 0000 0000 0000000000000000215452475f3139000021 aihq_180.3
- 0000 / 0020
-
On their way via e-mail....
Looking at '0000' now. The 18th word gives the number of bytes to the start of the byte code, then there are always 6 words, of which up to three give the start of each LOD followed by the three words noted for '0020' which appear to point to the end of file.
All '0000' files have a '002000200020' footer.
-
I've edited my earlier post to add some arbitrary formatting to the list of '0020' files.
After the '0020' 17th word, the 18th word is 0028. This gives the distance in bytes to the start of the bytecode. As all these headers are the same length, it might be a coincidence.
The 19th,20th & 21st words then give a number which seems proportional to the length of the file. Note that at the very end of the '0020' files is a footer sequence '002000200020' which is where these numbers may point to. In the following '00a3' list, these 0020s occur in the header.
After the hardcoded texture, I've elected to join the next 2 bytes in to one word of the form '2bXX' for now. Then come 8 seemingly separate bytes each in the range 00 to 0f....then finally the number of vertices as a word.
All the '0020' and '00a3' files are terrain, although the reverse isn't true. eg 'aswan_e' is a '0083'
I've shortened this list since the forum won't accept the whole thing. I've included the couple of instances where the 9th word isn't '07d0'.
fc00 1f40 0000 0000 7fff 0000 0000 0000 07d0 0000 0002 0003 0003 0000 0000 0000 00a3 000e 000b 000c 000d 0000 0000 0000 0000 0000 0000 0000 215445585f333000 2b5d 08 09 0a 0b 04 05 06 07 0000 0020 0000 0020 0000 0020 0000 005a abtw_1ra.3 fc00 1f40 0000 0000 7fff 0000 0000 0000 07d0 0000 0002 0003 0003 0000 0000 0000 00a3 000e 000b 000c 000d 0000 0000 0000 0000 0000 0000 0000 215445585f333000 2b5d 08 09 0a 0b 04 05 06 07 0000 0020 0000 0020 0000 0020 0000 0058 abtw_1ro.3 fc00 1f40 0000 0000 7fff 0000 0000 0000 07d0 0000 0002 0003 0003 0000 0000 0000 00a3 000e 000b 000c 000d 0000 0000 0000 0000 0000 0000 0000 215445585f333000 2b5d 0f 0c 0d 0e 04 05 06 07 0000 0020 0000 0020 0000 0020 0000 005a abtw_2ra.3 fc00 1f40 0000 0000 7fff 0000 0000 0000 07d0 0000 0002 0003 0003 0000 0000 0000 00a3 000e 000b 000c 000d 0000 0000 0000 0000 0000 0000 0000 215445585f333000 2b5d 0c 0d 0e 0f 07 04 05 06 0000 0020 0000 0020 0000 0020 0000 0058 abtw_2ro.3 fc00 1f40 0000 0000 7fff 0000 0000 0000 07d0 0000 0002 0003 0003 0000 0000 0000 00a3 000e 000b 000c 000d 0000 0000 0000 0000 0000 0000 0000 215445585f333300 2b5e 0c 0d 0e 0f 07 04 05 06 0000 0020 0000 0020 0000 0020 0000 0058 abusim2.3 fc00 1f40 0000 0000 7fff 0000 0000 0000 07d0 0000 0002 0003 0003 0000 0000 0000 00a3 000e 000b 000c 000d 0000 0000 0000 0000 0000 0000 0000 215445585f323500 2b58 08 09 0a 0b 0c 0d 0e 0f 0000 0020 0000 0020 0000 0020 0000 001e abu_sim.3 fc00 1f40 0000 0000 7fff 0000 0000 0000 07d0 0000 0002 0003 0003 0000 0000 0000 00a3 000e 000b 000c 000d 0000 0000 0000 0000 0000 0000 0000 215445585f333400 2b5f 09 0a 0b 08 0c 0d 0e 0f 0000 0020 0000 0020 0000 0020 0000 003a abydos.3 fc00 1f40 0000 0000 7fff 0000 0000 0000 07d0 0000 0002 0003 0003 0000 0000 0000 00a3 000e 000b 000c 000d 0000 0000 0000 0000 0000 0000 0000 215445585f333300 2b5e 04 05 06 07 03 00 01 02 0000 0020 0000 0020 0000 0020 0000 0032 aden_a.3 fc00 1f40 0000 0000 7fff 0000 0000 0000 07d0 0000 0002 0003 0003 0000 0000 0000 00a3 000e 000b 000c 000d 0000 0000 0000 0000 0000 0000 0000 215445585f313900 2b51 08 09 0a 0b 04 05 06 07 0000 0020 0000 0020 0000 0020 0000 0058 aden_b.3 fc00 1f40 0000 0000 7fff 0000 0000 0000 07d0 0000 0002 0003 0003 0000 0000 0000 00a3 000e 000b 000c 000d 0000 0000 0000 0000 0000 0000 0000 215445585f333300 2b5e 00 01 02 03 00 01 02 03 0000 0020 0000 0020 0000 0020 0000 0032 aden_c.3 fc00 1f40 0000 0000 7fff 0000 0000 0000 07d0 0000 0002 0003 0003 0000 0000 0000 00a3 000e 000b 000c 000d 0000 0000 0000 0000 0000 0000 0000 215445585f323800 2b52 00 01 02 03 00 01 02 03 0000 0020 0000 0020 0000 0020 0000 001e aden_d.3 fc00 1f40 0000 0000 7fff 0000 0000 0000 07d0 0000 0002 0003 0003 0000 0000 0000 00a3 000e 000b 000c 000d 0000 0000 0000 0000 0000 0000 0000 215445585f323100 2b51 0c 0d 0e 0f 0f 0c 0d 0e 0000 0020 0000 0020 0000 0020 0000 001e aden_e.3 fc00 1f40 0000 0000 7fff 0000 0000 0000 07d0 0000 0002 0003 0003 0000 0000 0000 00a3 000e 000b 000c 000d 0000 0000 0000 0000 0000 0000 0000 215445585f313900 2b51 0c 0d 0e 0f 07 04 05 06 0000 0020 0000 0020 0000 0020 0000 001e aden_f.3 fc00 1f40 0000 0000 7fff 0000 0000 0000 07d0 0000 0002 0003 0003 0000 0000 0000 00a3 000e 000b 000c 000d 0000 0000 0000 0000 0000 0000 0000 215445585f323100 2b51 0c 0d 0e 0f 0f 0c 0d 0e 0000 0020 0000 0020 0000 0020 0000 001e aden_g.3 .. fbf0 1f40 0000 0000 7fff 0000 0000 0000 07d0 0000 0002 0003 0003 0000 0000 0000 00a3 000e 000b 000c 000d 0000 0000 0000 0000 0000 0000 0000 215445585f333300 2b5e 0c 0d 0e 0f 07 04 05 06 0000 0020 0000 0020 0000 0020 0000 005a aswan_l.3 fbf0 1f40 0000 0000 7fff 0000 0000 0000 07d0 0000 0002 0003 0003 0000 0000 0000 00a3 000e 000b 000c 000d 0000 0000 0000 0000 0000 0000 0000 215445585f333400 2b5f 0a 0b 08 09 0e 0d 0c 0f 0000 0020 0000 0020 0000 0020 0000 0029 aswan_m.3 fa40 1f40 0000 0000 7fff 0000 0000 0000 03e8 0000 0002 0003 0003 0000 0000 0000 00a3 000e 000b 000c 000d 0000 0000 0000 0000 0000 0000 0000 215445585f323800 2b52 00 01 02 03 00 01 02 03 0000 0020 0000 0020 0000 0020 0000 005e aswan_n.3 fbf0 1f40 0000 0000 7fff 0000 0000 0000 07d0 0000 0002 0003 0003 0000 0000 0000 00a3 000e 000b 000c 000d 0000 0000 0000 0000 0000 0000 0000 215445585f333400 2b5f 0a 0b 08 09 0e 0d 0c 0f 0000 0020 0000 0020 0000 0020 0000 005a aswan_o.3 .. fc00 1f40 0000 0000 7fff 0000 0000 0000 07d0 0000 0002 0003 0003 0000 0000 0000 00a3 000e 000b 000c 000d 0000 0000 0000 0000 0000 0000 0000 215445585f323800 2b52 00 01 02 03 00 01 02 03 0000 0020 0000 0020 0000 0020 0000 0019 jeddah_f.3 fc00 1f40 0000 0000 7fff 0000 0000 0000 07d0 0000 0002 0003 0003 0000 0000 0000 00a3 000e 000b 000c 000d 0000 0000 0000 0000 0000 0000 0000 215445585f323000 2b51 04 05 06 07 0d 0e 0f 0c 0000 0020 0000 0020 0000 0020 0000 001e jeddah_g.3 fc00 1f40 0000 0000 7fff 0000 0000 0000 0c33 0000 0002 0003 0003 0000 0000 0000 00a3 000e 000b 000c 000d 0000 0000 0000 0000 0000 0000 0000 215445585f323800 2b52 00 01 02 03 00 01 02 03 0000 0020 0000 0020 0000 0020 0000 0019 jeddah_h.3 fc00 1f40 0000 0000 7fff 0000 0000 0000 07d0 0000 0002 0003 0003 0000 0000 0000 00a3 000e 000b 000c 000d 0000 0000 0000 0000 0000 0000 0000 215445585f313900 2b51 0c 0d 0e 0f 07 04 05 06 0000 0020 0000 0020 0000 0020 0000 001e jeddah_i.3 ..
-
While that describes the structure up to the 16th word, it doesn't really explain it. Not much happens in this region though except for the ninth word, like in these 0083 files:
f9c01770000000007fff00000000000000fa000000020003000300000000000000830007000400050006000000000000002000000020000000200000008d rwymid02.3 fffe009603e8000000007fff00000000fc1800000000000200030003000000000083009a000700040005000600000000002000000020000000200000001e awc_harr.3 fffd00fa000000007fff000000000000fc180000000200030003000000000000008300070004000500060000000000000020000000200000002000000123 f22clsau.3
...and here's all the 0020s. It may help to see them in the same place:fc00 1f40 0000 0000 7fff 0000 0000 0000 07d0 0000 0002 0003 0003 0000 0000 0000 0020 0028 0906 0906 0906 0000 0000 0000 0000 0000 0000 0000 215445585f320000 2b50 00 01 02 03 08 09 0a 0b 001e asyut_b.3 fc00 1f40 0000 0000 7fff 0000 0000 0000 07d0 0000 0002 0003 0003 0000 0000 0000 0020 0028 0a68 0a68 0a68 0000 0000 0000 0000 0000 0000 0000 215445585f333000 2b5d 0f 0c 0d 0e 04 05 06 07 0030 asyut_c.3 fc00 1f40 0000 0000 7fff 0000 0000 0000 07d0 0000 0002 0003 0003 0000 0000 0000 0020 0028 0b88 0b88 0b88 0000 0000 0000 0000 0000 0000 0000 215445585f333000 2b5d 04 05 06 07 01 00 03 02 0030 asyut_f.3 fc00 1f40 0000 0000 7fff 0000 0000 0000 07d0 0000 0002 0003 0003 0000 0000 0000 0020 0028 07ce 07ce 07ce 0000 0000 0000 0000 0000 0000 0000 215445585f320000 2b50 00 01 02 03 08 09 0a 0b 001e asyut_g.3 fc00 1f40 0000 0000 7fff 0000 0000 0000 07d0 0000 0002 0003 0003 0000 0000 0000 0020 0028 093e 093e 093e 0000 0000 0000 0000 0000 0000 0000 215445585f320000 2b50 00 01 02 03 08 09 0a 0b 001e asyut_i.3 fc00 1f40 0000 0000 7fff 0000 0000 0000 07d0 0000 0002 0003 0003 0000 0000 0000 0020 0028 1774 1774 1774 0000 0000 0000 0000 0000 0000 0000 215445585f333000 2b5d 08 09 0a 0b 04 05 06 07 005a cit1arl1.3 fc00 1f40 0000 0000 7fff 0000 0000 0000 07d0 0000 0002 0003 0003 0000 0000 0000 0020 0028 15f4 15f4 15f4 0000 0000 0000 0000 0000 0000 0000 215445585f333000 2b5d 0f 0c 0d 0e 04 05 06 07 005a cit1arl2.3 fc00 1f40 0000 0000 7fff 0000 0000 0000 07d0 0000 0002 0003 0003 0000 0000 0000 0020 0028 10b4 10b4 10b4 0000 0000 0000 0000 0000 0000 0000 215445585f333400 2b5f 09 0a 0b 08 0c 0d 0e 0f 0058 dam1b.3 fc00 1f40 0000 0000 7fff 0000 0000 0000 07d0 0000 0002 0003 0003 0000 0000 0000 0020 0028 10b2 10b2 10b2 0000 0000 0000 0000 0000 0000 0000 215445585f333400 2b5f 09 0a 0b 08 0c 0d 0e 0f 0058 dam2b.3 fc00 1f40 0000 0000 7fff 0000 0000 0000 07d0 0000 0002 0003 0003 0000 0000 0000 0020 0028 801c 801c 801c 0000 0000 0000 0000 0000 0000 0000 215445585f323500 2b58 08 09 0a 0b 0c 0d 0e 0f 00e7 dam_1.3 fc00 1f40 0000 0000 7fff 0000 0000 0000 07d0 0000 0002 0003 0003 0000 0000 0000 0020 0028 8160 8160 8160 0000 0000 0000 0000 0000 0000 0000 215445585f323500 2b58 08 09 0a 0b 0c 0d 0e 0f 00e7 dam_2.3 fc00 1f40 0000 0000 7fff 0000 0000 0000 07d0 0000 0002 0003 0003 0000 0000 0000 0020 0028 0d5e 0d5e 0d5e 0000 0000 0000 0000 0000 0000 0000 215445585f333400 2b5f 04 05 06 07 0c 0d 0e 0f 0044 khami_b.3 fbfa 1f40 0000 0000 7fff 0000 0000 0000 07d0 0000 0002 0003 0003 0000 0000 0000 0020 0028 0b66 0b66 0b66 0000 0000 0000 0000 0000 0000 0000 215445585f333500 2b5e 04 05 06 07 08 0b 0a 09 002a kharto_b.3 fc00 1f40 0000 0000 7fff 0000 0000 0000 07d0 0000 0002 0003 0003 0000 0000 0000 0020 0028 0690 0690 0690 0000 0000 0000 0000 0000 0000 0000 215445585f323800 2b52 00 01 02 03 00 01 02 03 0019 kharto_c.3 fc00 1f40 0000 0000 7fff 0000 0000 0000 07d0 0000 0002 0003 0003 0000 0000 0000 0020 0028 0654 0654 0654 0000 0000 0000 0000 0000 0000 0000 215445585f323800 2b52 00 01 02 03 00 01 02 03 0019 kharto_e.3 fbfa 1f40 0000 0000 7fff 0000 0000 0000 07d0 0000 0002 0003 0003 0000 0000 0000 0020 0028 0bfc 0bfc 0bfc 0000 0000 0000 0000 0000 0000 0000 215445585f333300 2b5e 0c 0d 0e 0f 07 04 05 06 0033 kharto_i.3 fc00 1f40 0000 0000 7fff 0000 0000 0000 07d0 0000 0002 0003 0003 0000 0000 0000 0020 0028 1176 1176 1176 0000 0000 0000 0000 0000 0000 0000 215445585f333300 2b5e 0c 0d 0e 0f 07 04 05 06 0058 kharto_l.3 fc00 1f40 0000 0000 7fff 0000 0000 0000 07d0 0000 0002 0003 0003 0000 0000 0000 0020 0028 067e 067e 067e 0000 0000 0000 0000 0000 0000 0000 215445585f323800 2b52 00 01 02 03 00 01 02 03 0019 kharto_m.3 fc00 1f40 0000 0000 7fff 0000 0000 0000 07d0 0000 0002 0003 0003 0000 0000 0000 0020 0028 140c 140c 140c 0000 0000 0000 0000 0000 0000 0000 215445585f333100 2b5d 00 01 02 03 0c 0d 0e 0f 0032 kom_ombo.3 fc00 1f40 0000 0000 7fff 0000 0000 0000 07d0 0000 0002 0003 0003 0000 0000 0000 0020 0028 10bc 10bc 10bc 0000 0000 0000 0000 0000 0000 0000 215445585f333400 2b5e 08 09 0a 0b 04 05 06 07 0058 marib2.3 fc00 1f40 0000 0000 7fff 0000 0000 0000 07d0 0000 0002 0003 0003 0000 0000 0000 0020 0028 2514 2514 2514 0000 0000 0000 0000 0000 0000 0000 215445585f323500 2b58 0c 0d 0e 0f 0f 0c 0d 0e 006f maribdam.3 fc00 1f40 0000 0000 7fff 0000 0000 0000 07d0 0000 0002 0003 0003 0000 0000 0000 0020 0028 06c2 06c2 06c2 0000 0000 0000 0000 0000 0000 0000 215445585f323800 2b52 00 01 02 03 00 01 02 03 0019 riyadh_a.3 fc00 1f40 0000 0000 7fff 0000 0000 0000 07d0 0000 0002 0003 0003 0000 0000 0000 0020 0028 06ce 06ce 06ce 0000 0000 0000 0000 0000 0000 0000 215445585f323800 2b52 00 01 02 03 00 01 02 03 0019 riyadh_b.3 fc00 1f40 0000 0000 7fff 0000 0000 0000 07d0 0000 0002 0003 0003 0000 0000 0000 0020 0028 08d4 08d4 08d4 0000 0000 0000 0000 0000 0000 0000 215445585f333400 2b5f 08 09 0a 0b 0f 0c 0d 0e 001e riyadh_d.3 fc00 1f40 0000 0000 7fff 0000 0000 0000 07d0 0000 0002 0003 0003 0000 0000 0000 0020 0028 0712 0712 0712 0000 0000 0000 0000 0000 0000 0000 215445585f323800 2b52 04 05 06 07 00 01 02 03 0019 riyadh_e.3 fc00 1f40 0000 0000 7fff 0000 0000 0000 07d0 0000 0002 0003 0003 0000 0000 0000 0020 0028 093c 093c 093c 0000 0000 0000 0000 0000 0000 0000 215445585f333300 2b5e 04 05 06 07 01 00 03 02 001e riyadh_f.3 fc00 1f40 0000 0000 7fff 0000 0000 0000 07d0 0000 0002 0003 0003 0000 0000 0000 0020 0028 0a2c 0a2c 0a2c 0000 0000 0000 0000 0000 0000 0000 215445585f333500 2b5e 04 05 06 07 08 0b 0a 09 001e riyadh_g.3 fc00 1f40 0000 0000 7fff 0000 0000 0000 07d0 0000 0002 0003 0003 0000 0000 0000 0020 0028 0a9a 0a9a 0a9a 0000 0000 0000 0000 0000 0000 0000 215445585f333300 2b5e 04 05 06 07 01 00 03 02 001e riyadh_i.3 fc00 1f40 0000 0000 7fff 0000 0000 0000 07d0 0000 0002 0003 0003 0000 0000 0000 0020 0028 09d4 09d4 09d4 0000 0000 0000 0000 0000 0000 0000 215445585f333500 2b5e 0b 08 09 0a 0b 08 09 0a 001e riyadh_j.3 fc00 1f40 0000 0000 7fff 0000 0000 0000 07d0 0000 0002 0003 0003 0000 0000 0000 0020 0028 06b0 06b0 06b0 0000 0000 0000 0000 0000 0000 0000 215445585f323800 2b52 0c 0d 0e 0f 00 01 02 03 0019 riyadh_k.3 fc00 1f40 0000 0000 7fff 0000 0000 0000 07d0 0000 0002 0003 0003 0000 0000 0000 0020 0028 0640 0640 0640 0000 0000 0000 0000 0000 0000 0000 215445585f323800 2b52 04 05 06 07 00 01 02 03 0019 riyadh_l.3 fc00 1f40 0000 0000 7fff 0000 0000 0000 07d0 0000 0002 0003 0003 0000 0000 0000 0020 0028 0aee 0aee 0aee 0000 0000 0000 0000 0000 0000 0000 215445585f333300 2b5e 00 01 02 03 00 01 02 03 001e riyadh_n.3 fc00 1f40 0000 0000 7fff 0000 0000 0000 07d0 0000 0002 0003 0003 0000 0000 0000 0020 0028 0ad2 0ad2 0ad2 0000 0000 0000 0000 0000 0000 0000 215445585f333300 2b5e 0c 0d 0e 0f 07 04 05 06 001e riyadh_o.3 fc00 1f40 0000 0000 7fff 0000 0000 0000 07d0 0000 0002 0003 0003 0000 0000 0000 0020 0028 118e 118e 118e 0000 0000 0000 0000 0000 0000 0000 215445585f333400 2b5f 04 05 06 07 0c 0d 0e 0f 0056 sana_b.3 fc00 1f40 0000 0000 7fff 0000 0000 0000 07d0 0000 0002 0003 0003 0000 0000 0000 0020 0028 09c8 09c8 09c8 0000 0000 0000 0000 0000 0000 0000 215445585f333300 2b5e 0c 0d 0e 0f 07 04 05 06 001e sana_c.3 fc00 1f40 0000 0000 7fff 0000 0000 0000 07d0 0000 0002 0003 0003 0000 0000 0000 0020 0028 06c4 06c4 06c4 0000 0000 0000 0000 0000 0000 0000 215445585f323800 2b52 08 09 0a 0b 00 01 02 03 0019 sana_d.3 fc00 1f40 0000 0000 7fff 0000 0000 0000 07d0 0000 0002 0003 0003 0000 0000 0000 0020 0028 06e4 06e4 06e4 0000 0000 0000 0000 0000 0000 0000 215445585f323800 2b52 00 01 02 03 00 01 02 03 0019 sana_f.3
-
Well, the weather's nice and warm for most of us, so I assume everybody is playing outside.
-
Good Luck!I agree that it looks good, however, I can't help but recall Krycztij's previous statement re: "If block 2 wasn't present in EF 2000, then I doubt it has anything to do with culling.". Comparing the 5 specific model types to their precursors in EF2000 and using the 17th word in the header, there are only 2 basic file types (0000, 0004) which would, it would seem to me, be insufficient information to support the rendering order process in EF2000? In EF2000 and TAW, there appears to be, at least with the TAW 0087 weapons files, an association between the 17th, 18th and 19th header words. I'm trying to establish a pattern with the 18th word which might be related...

I had another look at the EF2000 .3 files the other day and tried to hammer my parser into accepting them, which I was able to do except for 6 files which, apart from the header don't resemble other .3 files at all.
Even though we haven't extracted all the files with names from did.dat, there are still over 2000 files. Many of them, I'm guessing, are not used in the game even though they are called up for extraction.
Not that I'm a C++ programmer, but I thought I'd try to build this anyway. Tried to get away with using VC++ 2008, but as instructed, I needed to install VC++ 2010 to get it to work. Must be using some of the new C++0x stuff?Source code is included (if any C++ programmers are present). You need Visual C++ 2010 and the current DirectX SDK to build it (just include them into an empty console application project). Better don't look at the renderer, it's a big miss
All the "magic" and relevant information can be found in TAW_3_Processor.hpp and at the beginning of main.cpp. -
Looking VERY good!

There's still quite a few things to explain with the .3 files, particularly the header. We still have to work out where the bytecode starts for each LOD in 0083/0087 amongst other things. In fact, most of the header is still unexplored.
Depends whether we want 100% or 'good enough' understanding....
-
Just catching up on some earlier posts....
Ah yes,sorry. The ssd parser is still quite crude and lacks comments.And here's how the .3 files are positioned in the SSD, because I couldn't find that information in your scripts, Mike:
There is one entry for each object in the zero-terminated list behind block 7 (your scripts list it as Block4_Pointer_1). These mean:
- 0007 <3index> — the model is the <3index>'th entry in block 6; its position is 0/0/0 without any rotation or scaling.
- 0008 <3index> <XYZindex> — the model is the <3index>'th entry in block 6; its position is the <XYZindex>'th coordinate in block 3.
If a model's scaling in block 6 is positive, then the model must be upscaled by that value. If it is negative, it must be downscaled through multiplying by 1 ÷ -value.

Let us know if there are other areas that you are interested in, since we may have some idea what they do.
The terms 'Block1' etc, are mainly historical and represent our way of breaking down the binary file. The game probably doesn't see things the same way.
- 0007 <3index> — the model is the <3index>'th entry in block 6; its position is 0/0/0 without any rotation or scaling.
-
One would think that rendering speed was paramount, bearing in mind that the underlying engine predates the 3D graphics card era. So, I would tend to rule out a multipass process. Been wrong before though..

The .3 file format has been around at least since 1993's TFX and may go back to the Amiga days since data is stored in big-endian format.
The ssd 'Block2' was introduced in F22-ADF and is not present in EF2000, although the significance of this is not yet known.
-
Looking at that list actually discredits the 'first word' theory since a lot of those numbers don't make any sense.
There is some merit in the 'Block 2' theory, although the engine would have to differentiate between objects (particularly buildings) having the same index. This could probably be done with the origins of each model.
A clue may be to look at the in-game behaviour where there are certainly problems, especially buildings which can be seen behind terrain in certain circumstances.
Also, in the Luxor take-off training mission, the runway lights can be seen through the hanger the F22 starts off in front of.
I've missed a few days, so is the focus now on ssd?
There is another block (Targets) later on in the file which may have something to do with this, although so far I've assumed it has more to do with a higher level function...
54415247504f5300 0000 3800 4afcb0ff6803 0000 54415247504f5300 0000 3100 0400b0ffbb03 0000 54415247504f5300 0000 3000 4cfeb0ffe8fd 0000 54415247504f5300 0000 3100 c302b0ff3801 0000 54415247504f5300 0000 3800 edfcb0ffc6ff 0000 54415247504f5300 0000 2d00 dd02b0ff8501 0000 54415247504f5300 0000 3700 61feb0ff37ff 0000 54415247504f5300 0000 3500 7103b0ffe6ff 0000 54415247504f5300 0000 3500 74feb0ff97fe 0000 54415247504f5300 0000 3800 4efdb0ffc5fe 0000 54415247504f5300 0000 3200 2303b0ffcf00 0000 54415247504f5300 0000 3200 d9feb0ff82fc 0000 54415247504f5300 0000 3800 c4fcb0ff9503 0000 54415247504f5300 0000 3200 e8feb0ff5bfc 0000 54415247504f5300 0000 3200 0f03b0ff0301 0000 54415247504f5300 0000 2a00 2003b0ff8f00 0000 54415247504f5300 0000 2a00 1bffb0ff1cfc 0000 54415247504f5300 0000 2a00 3003b0ff6400 0000 54415247504f5300 0000 2a00 e3ffb0ff8903 0000 54415247504f5300 0000 3100 bbfeb0ff73fd 0000 54415247504f5300 0000 3100 a7ffb0ff9703 0000 54415247504f5300 0000 2a00 0dffb0ff42fc 0000 54415247504f5300 0000 3300 f7feb0ffaeff 0000 54415247504f5300 0000 3300 d501b0ffed00 0000 54415247504f5300 0000 3300 a5fab0ff8300 0000 54415247504f5300 0000 5200 dcffb0ff6203 0000 54415247504f5300 0000 5200 f5feb0ff73fc 0000 54415247504f5300 0000 5200 35ffb0ff39fc 0000 54415247504f5300 0000 5200 f1feb0ff44fd 0000 54415247504f5300 0000 5200 0a03b0ffe300 0000 54415247504f5300 0000 5200 9802b0ff0501 0000 54415247504f5300 0000 5200 0000b0ff6f03 0000 54415247504f5300 0000 fe00 b700b0ff8efe 0000 54415247504f5300 0000 fe00 1b01b0ff55fe 0000 54415247504f5300 0000 fe00 c700b0fffafd 0000 54415247504f5300 0000 fe00 eaffb0ff3a00 0000 54415247504f5300 0000 fe00 5500b0ff7801 0000 54415247504f5300 0000 fe00 0a00b0ff6001 0000
The line starts with the ASCII string 'TARGPOS' and ends with the target coordinates.It's the sixth word in each line that I don't understand yet, and looking at it here, I don't see how it can be used for the rendering sequence.
-
I've always considered the first word of the .3 file as giving this information. The numbers are increasingly negative the further away you expect an object to be.
TAW terrain format
in F22: ADF / TAW
Posted
Awesome!
It's great that you can lay waste to a whole scene.
I believe the altitude palettes are set in the redXXXX.txt files in the lev folder, eg this extract from red1000.txt: