-
Posts
4,798 -
Joined
-
Last visited
-
Days Won
12
Content Type
Profiles
Forums
Calendar
Posts posted by mikew
-
-
Excellent. Thanks.

I don't have much time to look at TAW this week, but I did check out 'neil_10.3'. Adjusting Parameter 0001 made me feel quite sick.

-
Looks like my PC buying philosophy let me down on this one....
I can't be bothered these days to build a PC from scratch and usually just buy a store demo model of a Dell or HP and assume that for a similar price, a later build PC will have a more potent GFX card.
In this case though, the Dell Q6600/8800GT from August 2008, blows away the HP i7/GT230 from December 2009.
Maybe, I should do my homework next time....
Can't see me ever reaching Neph's figures though.

-
We still don't know what any of these numbers mean,but this earlier crash from Tigershark posted earlier indicates that some of the second row relate to contents of the stack, due to ASCII characters being present:
Program fault at 0x205453, cleanup up and exiting! 00631A98 0006FC00 00000000 00000000 0A0E0001 41452048 54554F53 20474E49 44414548 00A2D050 00000000 00000000 0000003B 00000000 0000001B 00000023 version 5.191 by on Nov 16 1998
Presumably, the first number is the Program Counter and it may be possible to tie this in with dissassembled code eg by deliberately causing a crash when running inside a debugger.
This sort of technique may at least help to determine what the program was doing at the time.
Unfortunately, I don't have the time to do this at the moment.

-
Thanks, but the last time I updated a GFX card the PSU wasn't up to the job and took out the hard disk.
This is interesting. I'm getting performance out of a machine I bought in 2008. Any idea why?

-
Not easy...
Here's the possible values that are used for the check in 0040,0041,0042:
0040;a101.3 Same form as 003f, Test for value 128 only 0041;barracks.3 Same form as 003f, Test for value 128 only 0042;air_hq.3 Same form as 003f, Test for values 0,4,128
This is a typical 0043 block:0187; 004301ff002e ; If Time of Day = 511 then jump to line 196 0188; 004301ff0028 ; If Time of Day = 511 then jump to line 196 0189; 0043003f0172 ; If Time of Day = 63 then jump to line 232 0190; 0043001f0134 ; If Time of Day = 31 then jump to line 226 0191; 0043000f00f6 ; If Time of Day = 15 then jump to line 220 0192; 0043000700b8 ; If Time of Day = 7 then jump to line 214 0193; 00430003007a ; If Time of Day = 3 then jump to line 208 0194; 00430001003c ; If Time of Day = 1 then jump to line 202
Lines 187 & 188 say the same thing, so I assume that I'm missing something.
Sorry, no answers I'm afraid.

-
Yeah, the movie '2012' was certainly a wake-up call. The plot was so believable and with the brilliant acting, it was almost like watching a documentary.

-
As 0900 is only used on a few buildings (at least in TAW), your solution seems fine.
-
...and how are you going to do that? Pretending to be a Spitfire I assume.....Ja, ve kould azk zhe Tommiez to giv it bak. If zhat doez nicht vork, zhen Ich zhink ve zhould schneak into zhe baze vhere zhe keep it und schteal it bak!

-
I don't know, but that line always (at least in ian_0.3) is associated with this sort of construct:
1242; 00620001fff40000001c ; Vertex :1 X=-12 Y=0 Z=28 1243; 006b00180003 ; Vertex :3 X=12 Y=0 Z=28 1244; 0066ffc8 ; Vertex :4 X=12 Y=0 Z=-28 1245; 006bffe80006 ; Vertex :6 X=-12 Y=0 Z=-28 1246; 006f002800280002 ; Vertex :2 X=28 Y=0 Z=12 1247; 006dffe80005 ; Vertex :5 X=28 Y=0 Z=-12 1248; 006bffc80057 ; Vertex :87 X=-28 Y=0 Z=-12 1249; 006d0018006d ; Vertex :109 X=-28 Y=0 Z=12 1250; 006f001cfff4005b ; Vertex :91 X=0 Y=0 Z=0 1251; 006a000a00a000190064 ; Vertex :100 X=10 Y=-160 Z=25 1252; 006dffce0063 ; Vertex :99 X=10 Y=-160 Z=-25 1253; 006bffec0059 ; Vertex :89 X=-10 Y=-160 Z=-25 1254; 00660032 ; Vertex :90 X=-10 Y=-160 Z=25 1255; 006f0023ffdd0058 ; Vertex :88 X=25 Y=-160 Z=-10 1256; 006bffce0069 ; Vertex :105 X=-25 Y=-160 Z=-10 1257; 006d00140060 ; Vertex :96 X=-25 Y=-160 Z=10 1258; 006b00320056 ; Vertex :86 X=25 Y=-160 Z=10 1259; 00750001 ; 1260; 006100020003 ; 1261; 00750006 ; 1262; 00750002 ; 1263; 00750005 ; 1264; 00750057 ; 1265; 0075006d ; 1266; 0075005b ; 1267; 00750064 ; 1268; 00750063 ; 1269; 006100020059 ; 1270; 00750058 ; 1271; 00750069 ; 1272; 00750060 ; 1273; 00750056 ; 1274; 0004003300090001000300020005000400060057006d0001 ; 1275; 00730009005a0060006900590063005800560064005a ; 1276; 0047000f000200d0004a00ff00780097005b001e ; 1277; 0000 ;
Maybe there's some clue there...
-
Most textures are 256x192 and a few years ago we tried to increase the texture size to 256x256 and change the appropriate V coordinates. IIRC the program ran quite happily, but just displayed a white area if the V coordinate was greater than 191.
-
0026 is not used very often. Here's the files where it appears:
avengr.3 0049; 002600230002 ; Comparison with (35), Jump to line 50 bmp_3.3 0005; 002600c80002 ; Comparison with (200), Jump to line 6 car.3 0677; 00260032032e ; Comparison with (50), Jump to line 760 chaparal.3 0001; 002600640002 ; Comparison with (100), Jump to line 2 crate.3 0608; 00260019032e ; Comparison with (25), Jump to line 691 explane1.3 0023; 0026000a6d82 ; Comparison with (10), Jump to line 3489 explanew.3 0049; 0026000a6d82 ; Comparison with (10), Jump to line 3515 ex_plane.3 0023; 0026000a738a ; Comparison with (10), Jump to line 3469 f22s1egy.3 0003; 002600192ede ; Comparison with (25), Jump to line 1328 f22s1sau.3 0003; 002600192ee4 ; Comparison with (25), Jump to line 1329 f22s1us1.3 0003; 002600192edc ; Comparison with (25), Jump to line 1328 f22s1us2.3 0003; 002600192ee4 ; Comparison with (25), Jump to line 1329 f22simp2.3 0008; 002600641b82 ; Comparison with (100), Jump to line 1131 gtatrail.3 0003; 00260032001e ; Comparison with (50), Jump to line 8 lux_h_90.3 0005; 002602bc000a ; Comparison with (700), Jump to line 8 lux_h_90.3 0006; 002609600d18 ; Comparison with (2400), Jump to line 405 lux_t180.3 0018; 00260258088e ; Comparison with (600), Jump to line 319 lux_t90.3 0018; 0026025806cc ; Comparison with (600), Jump to line 276 m1.3 0001; 002600640002 ; Comparison with (100), Jump to line 2 m109.3 0001; 002600640002 ; Comparison with (100), Jump to line 2 m163_vul.3 0001; 002600640002 ; Comparison with (100), Jump to line 2 mlrs.3 0001; 002600640002 ; Comparison with (100), Jump to line 2 para.3 0603; 0026004b032e ; Comparison with (75), Jump to line 686 patriot1.3 0001; 002600640002 ; Comparison with (100), Jump to line 2 patriot2.3 0001; 002600640002 ; Comparison with (100), Jump to line 2 ref_3.3 0686; 002601f4014a ; Comparison with (500), Jump to line 753 roland.3 0001; 002600640002 ; Comparison with (100), Jump to line 2 sa17.3 0001; 002600640002 ; Comparison with (100), Jump to line 2 sa_11.3 0005; 002600640002 ; Comparison with (100), Jump to line 6 smoke1.3 0022; 0026000a6d82 ; Comparison with (10), Jump to line 3488 smokew.3 0022; 0026000a6d82 ; Comparison with (10), Jump to line 3488 warrior.3 0001; 002600640002 ; Comparison with (100), Jump to line 2 zsu_23_4.3 0001; 002600640002 ; Comparison with (100), Jump to line 2
....and there are weird sequences like this from chaparal.3 which is hard to interpret:0000; 00300041 ; Scale Factor 65 0001; 002600640002 ; Comparison with (100), Jump to line 2 0002; 0027006428e0 ; If Distance >100 then jump to line 1466 0003; 00620000ffce0000005a ; Vertex :0 X=-50 Y=0 Z=90 0004; 00640064 ; Vertex :1 X=50 Y=0 Z=90 .. ..
EDIT:
oh, and which textures are 'nonexistent'?
-
Hmmn.

Here's all the occcurences were that word isn't 0003 or 0004:
ian_0.3 0767; 0047000f000200d0007b00ff00aa0097005b001e ; ian_0.3 0820; 0047000f000200d0007b00ff00aa0097005b001e ; ian_0.3 0873; 0047000f000200d0007b00ff00aa0097005b0019 ; ian_0.3 0926; 0047000f000200d0007b00ff00aa0097005b0019 ; ian_0.3 1223; 0047000f000200d0004a00ff00780097005b001e ; ian_0.3 1276; 0047000f000200d0004a00ff00780097005b001e ; ian_1.3 0926; 0047000f000200d0007b00ff00aa0097005b001e ; ian_1.3 0980; 0047000f000200d0007b00ff00aa0097005b001e ; ian_1.3 1034; 0047000f000200d0007b00ff00aa0097005b0019 ; ian_1.3 1088; 0047000f000200d0007b00ff00aa0097005b0019 ; ian_1.3 1386; 0047000f000200d0004a00ff00780097005b001e ; ian_1.3 1440; 0047000f000200d0004a00ff00780097005b001e ; ian_2.3 0750; 0047000f000200d0007b00ff00aa0097005a001e ; ian_2.3 0804; 0047000f000200d0007b00ff00aa0097005a001e ; ian_2.3 0858; 0047000f000200d0007b00ff00aa0097005a0019 ; ian_2.3 0912; 0047000f000200d0007b00ff00aa0097005a0019 ; ian_2.3 1210; 0047000f000200d0004a00ff00780097005a001e ; ian_2.3 1264; 0047000f000200d0004a00ff00780097005a001e ; ian_3.3 0750; 0047000f000200d0007b00ff00aa0097005a001e ; ian_3.3 0804; 0047000f000200d0007b00ff00aa0097005a001e ; ian_3.3 0858; 0047000f000200d0007b00ff00aa0097005a0019 ; ian_3.3 0912; 0047000f000200d0007b00ff00aa0097005a0019 ; ian_3.3 1210; 0047000f000200d0004a00ff00780097005a001e ; ian_3.3 1264; 0047000f000200d0004a00ff00780097005a001e ; ian_4.3 0756; 0047000f000200d0007b00ff00aa0097005a001e ; ian_4.3 0810; 0047000f000200d0007b00ff00aa0097005a001e ; ian_4.3 0864; 0047000f000200d0007b00ff00aa0097005a0019 ; ian_4.3 0918; 0047000f000200d0007b00ff00aa0097005a0019 ; ian_4.3 1216; 0047000f000200d0004a00ff00780097005a001e ; ian_4.3 1270; 0047000f000200d0004a00ff00780097005a001e ; ian_5.3 0756; 0047000f000200d0007b00ff00aa0097005a001e ; ian_5.3 0810; 0047000f000200d0007b00ff00aa0097005a001e ; ian_5.3 0864; 0047000f000200d0007b00ff00aa0097005a0019 ; ian_5.3 0918; 0047000f000200d0007b00ff00aa0097005a0019 ; ian_5.3 1216; 0047000f000200d0004a00ff00780097005a001e ; ian_5.3 1270; 0047000f000200d0004a00ff00780097005a001e ; ian_6.3 0756; 0047000f000200d0007b00ff00aa0097005a001e ; ian_6.3 0810; 0047000f000200d0007b00ff00aa0097005a001e ; ian_6.3 0864; 0047000f000200d0007b00ff00aa0097005a0019 ; ian_6.3 0918; 0047000f000200d0007b00ff00aa0097005a0019 ; ian_6.3 1216; 0047000f000200d0004a00ff00780097005a001e ; ian_6.3 1270; 0047000f000200d0004a00ff00780097005a001e ; ian_7.3 0742; 0047000f000200d0007b00ff00aa0097005a001e ; ian_7.3 0795; 0047000f000200d0007b00ff00aa0097005a001e ; ian_7.3 0848; 0047000f000200d0007b00ff00aa0097005a0019 ; ian_7.3 0901; 0047000f000200d0007b00ff00aa0097005a0019 ; ian_7.3 1196; 0047000f000200d0004a00ff00780097005a001e ; ian_7.3 1249; 0047000f000200d0004a00ff00780097005a001e ; ian_8.3 0742; 0047000f000200d0007b00ff00aa0097005a001e ; ian_8.3 0795; 0047000f000200d0007b00ff00aa0097005a001e ; ian_8.3 0848; 0047000f000200d0007b00ff00aa0097005a0019 ; ian_8.3 0901; 0047000f000200d0007b00ff00aa0097005a0019 ; ian_8.3 1196; 0047000f000200d0004a00ff00780097005a001e ; ian_8.3 1249; 0047000f000200d0004a00ff00780097005a001e ; neil_10.3 0879; 0047000f000200d0007b00ff00aa0097005e001e ; neil_10.3 0932; 0047000f000200d0007b00ff00aa0097005e001e ; neil_10.3 0985; 0047000f000200d0007b00ff00aa0097005e0019 ; neil_10.3 1038; 0047000f000200d0007b00ff00aa0097005e0019 ; neil_10.3 1333; 0047000f000200d0004a00ff00780097005e001e ; neil_10.3 1386; 0047000f000200d0004a00ff00780097005e001e ;
So, the only other alternative is 0002.
I suppose this could be a 2 dimensional texture, or textured line. We could then split this to produce a new 0097 opcode to define the vertices:
0047000f000200d0007b00ff00aa
0097005b001e
...or something like that?
-
Late indeed 01:38 here, so this is definitely the last contribution today.

The 007e list is quite short, so might as well post the whole thing:
apache1.3 0054; 007e000000be001800190017001a ; apache1.3 0064; 007e000000be001b001d001c001e ; apache1.3 0065; 007e000000be001e001c001d001b ; apache1.3 0072; 007e000000be001a001700190018 ; blakhawk.3 0054; 007e000000be001800190017001a ; blakhawk.3 0060; 007e000000be001b001d001c001e ; blakhawk.3 0061; 007e000000be001e001c001d001b ; blakhawk.3 0068; 007e000000be001a001700190018 ; chinook1.3 0058; 007e000000b40013001500140016 ; chinook1.3 0059; 007e000000b40016001400150013 ; chinook1.3 0060; 007e000000b4001700190018001a ; chinook1.3 0061; 007e000000b4001a001800190017 ; cobra1.3 0055; 007e000000be001800190017001a ; cobra1.3 0066; 007e000000be001b001d001c001e ; cobra1.3 0067; 007e000000be001e001c001d001b ; cobra1.3 0074; 007e000000be001a001700190018 ; comanch1.3 0050; 007e000000be001800190017001a ; comanch1.3 0056; 007e000000be001b001d001c001e ; comanch1.3 0057; 007e000000be001e001c001d001b ; comanch1.3 0064; 007e000000be001a001700190018 ; ka501.3 0054; 007e000000be001800190017001a ; ka501.3 0070; 007e000000be001a001700190018 ; mi241.3 0055; 007e000000b4001800190017001a ; mi241.3 0066; 007e000000b4001b001d001c001e ; mi241.3 0067; 007e000000b4001e001c001d001b ; mi241.3 0074; 007e000000b4001a001700190018 ; mi261.3 0055; 007e000000b9001800190017001a ; mi261.3 0061; 007e000000b9001b001d001c001e ; mi261.3 0062; 007e000000b9001e001c001d001b ; mi261.3 0069; 007e000000b9001a001700190018 ; mi281.3 0054; 007e000000be001800190017001a ; mi281.3 0064; 007e000000be001b001d001c001e ; mi281.3 0065; 007e000000be001e001c001d001b ; mi281.3 0072; 007e000000be001a001700190018 ; mi401.3 0054; 007e000000be001800190017001a ; mi401.3 0064; 007e000000be001b001d001c001e ; mi401.3 0065; 007e000000be001e001c001d001b ; mi401.3 0072; 007e000000be001a001700190018 ; oilrig.3 0962; 007e0000007f0069006b006a006c ; oilrig.3 1222; 007e0000007f0069006b006a006c ; oilrig.3 1466; 007e0000007f0069006b006a006c ; oilrig.3 1614; 007e0000007f0069006b006a006c ; oilrig.3 1757; 007e0000007f0069006b006a006c ; oilrig.3 2323; 007e0000007f009f00a100a000a2 ; oilrig.3 2603; 007e0000007f009f00a100a000a2 ; oilrig.3 2869; 007e0000007f009f00a100a000a2 ; oilrig.3 3103; 007e0000007f009f00a100a000a2 ; oilrig.3 3281; 007e0000007f009f00a100a000a2 ; stallion.3 0054; 007e000000b9001800190017001a ; stallion.3 0060; 007e000000b9001b001d001c001e ; stallion.3 0061; 007e000000b9001e001c001d001b ; stallion.3 0068; 007e000000b9001a001700190018 ;
-
The first word after 001a/001b is mostly zero, but in a few cases it's 0x000e, eg in u21.3.
These are the only values used.
-
Time for a picture..
The latest version of the viewer handles .3 files from EF2000 a lot better than before. Here's an AN225 which doesn't appear in TAW:

-
DKD, does that mean you've got the viewer up and running?
0024,0025 and 0026 don't have to be distance, but maybe some other attribute...although I can't think what.Mike, I'd like to say you're correct with 0024 and the distance, since it controls the plane's lights and those are disabled at a certain distance — but why does the opcode control blakhawk.3's rotor then? It doesn't make sense that way (yet)

-
Hmmn, I thought that these lights weren't there in 'Hard' but I've just done a flight and they are still on. Must have remembered wrong.

-
Something like factory1.3. The little lights are on the top corners. I always wondered how these were defined...
-
Heavenly.3 is indeed heavenly. There are a whole bunch of files (including .3) which are included in the did.dat data archive, but apparently not used in the game. Maybe one of them is a version of heavenly that uses a AGP moon. DrKevDog is our expert on these files.
The little yellow lights on the tops of buildings are used to help find the targets in 'easy' and 'medium' difficulty. So these must be enabled separately to other lights, so may explain 0096.
As we know 0027 is a decision based on view distance, so we could assume that 0024,0025 and 0026 act in a similar way for other and maybe unrelated parameters.
-
Ouch! I wouldn't have thought marib2.3 would be designed that way.

When I first came across the 0007 opcode, it was on buildings and seemed to enable shadows. This has now been confirmed using your viewer.

At the time, I linked this to the 'airfield detail' option:

But, as we are experiencing now, 0007 looks like it can be used in different ways depending on the type of model. So, maybe the .3 file 'Type' has a bearing, ie the '0000','0083', '0087' etc.
Oh, and thanks for the new version of viewer. Definite improvement.

The only thing I'm going´to comment on is the canopy on the F22 models. There is something odd drawn if the canopy is opened using 'Parameter 0004'.
-
Looks like I've been totally pwned.


I don't set up the machine in any special way and there's there's tons of other stuff running as well, although the OS should take care of that.
I guess my main problem is the graphics card. This machine is a couple of years old though, so it's hardly surprising.
-
Not sure what you're trying to do...Can't you just boot from your Windows CD/DVD and let it sort itself out.
-
I've been looking at 004a, and this also appears to be related to lights, by maybe fixing a vertex position like for those pylon points.When analyzing the bytecode, I also noticed that many lights are drawn in their own subroutine — more specifically, a 004B draw staring submesh subroutine. (This is the one used for pilots to always look at you). This implies that the "large" lights are not actually points, but flat-shaded sprites; quads (with a size given in pixels?) which always face the viewer. Probably the same sprites as used for spheres (spheres are used as lights in the KC-135).
Therefore, we should identify which instructions are used inside of 004B subroutines (which do nothing but write vertices, colors, and render one light) exclusively. These must be handled as sprites; the others must be handled as points. The ref_*.3 files should be a good start as they have hundreds of lights inside.
You could even do this with the viewer; it should be easy to spot in the indentation. I was already on it, but then the whole seperate-XYZ-buffers thing kicked in and I've lost the thread

Here's an example from brk90.3:
0596; 0062001e000000000000 ; Vertex :30 X=0 Y=0 Z=0 0597; 0075001e ; 0598; 004a001e ; 0599; 004b00030004 ; If 004b flag set, jump to line 601 0600; 0000 ; 0601; 004a001e ; 0602; 009600070090001e ; 0603; 0000 ;
-
Those billboarding lights already look spectacular, like oilrig for example. So, there are still unknown aspects regarding this?
I'd also be happy with information on program invariants that help me optimize buffer sizes for example:
- the highest vertex index ever written in any model
- The highest number of vertices in a single polygon instruction (002E, 002F, 0047, 0088, 008E and the like)
Do you still want this info? If so, I'll modify my scanner to to do it.
I would already guess that the biggest model is f22usa1 (or similar) and the highest number of vertices in a single polygon is one of the 0004 lines from an ianXX.3 file.
- the highest vertex index ever written in any model
TAW terrain format
in F22: ADF / TAW
Posted
I don't have access to my TAW files right now, but DrKevDog, do you remember those noname files with the newhoriz.3 and large 24 bit colour textures that we were looking at a couple of years ago?
if so, could you remind me which ones were involved?
Might be time to revisit them....