18-05-15, 14:14 | #1 | |
Member
Joined: Sep 2007
Posts: 1,684
|
FexInspect Update
Latest Update:
fexinspect1_2_rev20.zip Details here https://www.tombraiderforums.com/sho...4&postcount=77 ----------------------------------------------------------------------------------------------------------- http://www.mediafire.com/download/9x...ect1_2Rev1.zip Quote:
Last edited by sapper; 05-09-20 at 07:13. |
|
18-05-15, 15:52 | #2 |
Member
Joined: Jun 2010
Posts: 1,503
|
Good to see that this is being updated
Not sure if this is a bug but in the first 2 games the pickups aren't displayed correctly anymore. Do you think you can fix that? |
18-05-15, 18:19 | #3 |
Member
Joined: Aug 2010
Posts: 1,810
|
Oh! I use FexInspect A LOT to understand original level set-up! Thanks a lot for this update!
While using old version, I noticed serious error - SWITCH_CAMERA trigger command is not parsed properly, i. e. I always get 0 in timer field (second parameter), most likely next parameters are also incorrect for this command. This bug almost broke my head, as I thought camera timers are hardcoded in TR1! Is there a way to fix it up? EDIT: I just noticed you have fixed the mask for camera, probably that's the fix. Another thing that could be updated is adding TR5 specific trigger types, like TIGHTROPE, CRAWLDUCK, SKELETON and CLIMB. Currently, these trigger types are parsed as UNKNOWN, while we already learned them with leaked TR4-5 SDK! Also, it would be nice to update TrCatalog.xml not only with TRNG objects, but with discovered names of classic TR1-3 objects. I can upload my updated TrCatalog.xml, which I constantly refresh while discovering object purpose in classic games. By the way, why whole TR5 section is missing with bundled xml? Another useful thing would be drawing non-entity objects, like sinks, cameras, flyby cameras, etc. Currently, when you looking for sink or camera which is activated by trigger, it's a bit awkward to see only sink/camera index in hexadecimal format. Last suggestion is, maybe, adding reverb_Info to "Room Info" infobox? P.S.: I've got strange bug, because Lara is now named "Walking". I guess it happens because you've bundled strange version of trcatalog.xml, which lists Lara's states, and seems that Fexinspect incorrectly parses it. EDIT 2: If you need, here is my updated version of trcatalog.xml. It contains many previously unknown TR1-3 objects. Last edited by Lwmte; 18-05-15 at 20:45. |
19-05-15, 02:37 | #4 | ||
Member
Joined: Sep 2007
Posts: 1,684
|
Quote:
Quote:
@Lwmte I have something for you to investigate. In TRLE project tut1 for example in room StackTop is trigger that triggers an object but the object is a flyby camera. Now in tut1.tr4 the FDList FDFunction is 12 which is flyby and not object but it seems there is a bitu16 extra data created as if the FDFunction was camera FDFunction 1. What does the engine treat this case as - flyby or camera? Last edited by sapper; 19-05-15 at 02:48. |
||
20-05-15, 20:32 | #5 |
Member
Joined: Feb 2006
Posts: 536
|
Thanks Sapper!
It was a good idea to update this tool. I tested it with the most complicated and heavyweight vertex & poly bursting .tr4 I could find and all works fine. |
21-05-15, 15:00 | #6 | |
Member
Joined: Aug 2010
Posts: 1,810
|
Quote:
Looks like all these years we missed this extra bitu16 field for flyby cameras, as even latest Dxtre3d revision creates flyby camera function incorrectly (without extra bitu16 operand). There is no any mention of this extra bitu16 field in any documentation I've read as well. Now finally I've found the reason why so many triggers in original TR4/5 levels contained "stray" Item(256) or Item(0) functions after each flyby command in Fexinspect! It's because this extra field was parsed incorrectly. So, as I said above, extra field somewhat resembles same field for classic camera, because the meaning is: bit08 (0x0100): flyby occurs only once; if bit is not set, flyby will loop. bit15 (0x8000): continuation bit. Also, bits 09-13 (0x3E00) saves 1-5 activation mask bits for this particular flyby camera function, but seemingly they are not used, as engine only checks for only once flag (0x0100). I will immediately update OpenTomb parser to handle this correctly, but seems that this fix will finally break compatibility with Dxtre3d levels (we already broken it with proper implementation of floor slant functions)... |
|
24-05-15, 00:29 | #7 |
Member
Joined: Jul 2012
Posts: 4,286
|
Would it be possible to get FexInspect to show positions/type/values of lightbulbs used in rooms and ambient values? I can't find a tool which shows this information about classic TR Levels.
|
28-05-15, 06:08 | #8 | |
Member
Joined: Sep 2007
Posts: 1,684
|
Quote:
Is their position info stored in Cameras array? And if so how to parse unknown field? Also where to get Room reverb info? |
|
28-05-15, 08:54 | #9 |
Member
Joined: Aug 2010
Posts: 1,810
|
Yes, technically sink is camera, only room/flag fields are parsed differently. For sink, room field counts for strength, and flag field counts for zone.
In TR3 and TR4, reverb info is stored in room info right after bitu16 room_flags and bitu8 water_scheme. It's also bitu8 value. In TR5, they changed position of this field, and moved it right between bitu16 num_static_meshes and bitu8 alternate_group. So, you should have it like that in your parser: For TR3/4: Code:
... room.flags = read_bitu16(src); room.water_scheme = read_bitu8(src); room.reverb_info = read_bitu8(src); ... Code:
... room.num_static_meshes = read_bitu16(newsrc); room.reverb_info = read_bitu8(newsrc); room.alternate_group = read_bitu8(newsrc); room.water_scheme = read_bitu16(newsrc); ... Considering reverb_info value meanings, here they are: 0 = Outside 1 = Small room 2 = Medium room 3 = Large room 4 = Pipe And if you need extra help with TR5-specific trigger functions, here they are: 0x0D = Skeleton 0x0E = Tightrope 0x0F = Crawl / duck 0x10 = Climb |
28-05-15, 09:50 | #10 | |
Member
Joined: Sep 2007
Posts: 1,684
|
Ok thanks.
Here is my next revision but note that Reverb is only correct for TR3/TR4 since I read your post too late! Turbo reads water_scheme as a word so reverb was included in that I think. Also the original trcatalog.xml has some TR5 moveable names that yours doesn't but I didn't add them. http://www.mediafire.com/download/ck...ect1_2Rev2.zip Quote:
I will look at adding the other features suggested in this thread in a future update. EDIT: Also for sinks I show the flags as strength and not the strength! Last edited by sapper; 05-05-18 at 01:51. |
|
Thread Tools | |
|
|