H2PC_TagExtraction icon indicating copy to clipboard operation
H2PC_TagExtraction copied to clipboard

Tag Extraction Issue List

Open General-101 opened this issue 6 years ago • 0 comments

I will be listing issues with tag groups here and possible causes and solutions if known.

physics_model/phmo

  • Crashes on load. Appears to be because the tag extractor isn't undoing the post processing H2Tool does on package. Add the number of mass distribution tag block equivalent to the amount of objects in the physics_model tag. The mass distribution tag block gets created when the file is initially created from source JMS files and is merged with rigid bodies tag block on package. Worked around by https://github.com/Project-Cartographer/H2PC_TagExtraction/commit/628b95a66bc3f0eee0ea7ac010611f5412d3547a Will need a proper fix at some point as Havok active physics objects won't work without proper mass distribution values. Current best solution would be to read the dumped tag and dump that to a JMS file to be reimported. https://pastebin.com/h6WUDFDZ

  • Block index in physics models that make use of the phantom tag block are set to unused. This has to be undone.

  • Objects with repaired Phantom meshes can cause death. Looking into this when I can. Seems to be related to Havok

collision_model/coll

  • Crashes on load. Appears to be because the tag extractor isn't properly handling the 3D BSP node tag block. Solution provided by https://github.com/Project-Cartographer/H2PC_TagExtraction/commit/0c528e3034142bf84b850a53f0ac92521aa923ec

render_model/mode

  • Mesh itself is fine but weights and/or node indexes in the parts tag block aren't filled in properly. This means rigged models have to be remade since their weights are missing.

  • Some models can be missing everything after the section tag block entirely such as the grunt which means they are just an empty render_model file with no mesh data. Seems to be fixed by https://github.com/Project-Cartographer/H2PC_TagExtraction/commit/0600328297ff22d1ff6fb95d4619c0a90c3d721c

  • If the render_model has PRT_info then this needs to be cleared as it will cause a crash on load. The crash in H2Sapien is because the render_model is missing the PRT specific shaders but I have no idea what state it would be after this. Seems fixed by https://github.com/Project-Cartographer/H2PC_TagExtraction/commit/26f718a88b04da7cbb652177d5186455f8ef6443

  • Render models made with the DAE converter don't seem to get their raw vertices tag block written. This is because the DAEConverter doesn't fill in the section info block.

sound/!snd

  • cache_file_sound is what is given instead of the .sound tag. Code to reconstruct the sound tag might be incomplete.

shader/shad

  • Due to post processing H2Tool does on package, the tag does not function for it's intended purpose. Must be remade from scratch. Data within can be used to remake the shader properly. Data changes completely from what H2Sapien expects. Workaround provided by https://github.com/Project-Cartographer/H2PC_TagExtraction/commit/e4e36f31f4881515e0e19431c46d12b1d8a02b36

  • Some quick notes on shaders. https://pastebin.com/FmqmP6F9

model/hlmt

  • Can be used without issue.

  • The nodes tag block needs to be undone as these don't exist until they are packaged. Fixed by https://github.com/Project-Cartographer/H2PC_TagExtraction/commit/a292b2abde55cb3b7dc218e99605f91511d4ee3d

  • The flag "has runtime nodes" needs to be undone as these don't exist until they are packaged. Fixed by https://github.com/Project-Cartographer/H2PC_TagExtraction/commit/fcfe0c61d944a41ac3c001e4ec0139597690fd21

biped/bipd

  • Mostly comes out without issue. Acceleration values have some math done on them on package and the tag extractor does not undo this. Use "X^(-1)" to undo. X is the extracted value. Solution provided by https://github.com/Project-Cartographer/H2PC_TagExtraction/commit/07bc53a3f142c6f9707aae9fdbadf9ad94acedb1

  • Dead sphere shapes, pill shapes, sphere shapes tag block should be empty as these don't exist until the tags are packaged. Fixed by https://github.com/Project-Cartographer/H2PC_TagExtraction/commit/a292b2abde55cb3b7dc218e99605f91511d4ee3d

scenario/scnr

  • Just barely working. Crash on load if the resource and AI resource tag block isn't deleted from the scenario resource tag block. solved by https://github.com/Project-Cartographer/H2PC_TagExtraction/commit/57812465d0d29bd7b3f0ac2cbfa4fd3bcc211c2e

  • Decorators tag block needs to be moved back from sbsp and repaired if needed.

  • Seems to have issues with tag references being fine in Guerilla but being empty in Sapien. This is related to the environment objects tag block in sbsp. tag block will overwrite whatever exists in scnr.

  • Scenario cluster data tag block needs its sbsp reference readded. Just add it back in the same order as structure bsp

  • Structure BSP lighting tag block needs it's sbsp reference readded. Just add it back in the same order as structure bsp

scenario_structure_bsp/sbsp

  • Crash on load due to improper handling of 3D BSP node. Fixed by https://github.com/Project-Cartographer/H2PC_TagExtraction/commit/0c528e3034142bf84b850a53f0ac92521aa923ec

  • Environment objects needs the references readded. Environment pallet seems to be emptied out and environment objects has a copy made in scnr. Not sure if there is any logic that can get back whatever the original was. Maybe compare unique ID and tag type to find the original?

  • Predicted resource tag block needs to be cleared. Fixed by https://github.com/Project-Cartographer/H2PC_TagExtraction/commit/a292b2abde55cb3b7dc218e99605f91511d4ee3d

model_animation_graph/jmad

  • Comes out without issue unless it references something to inherit animations from it. This must be undone as the blocks that were added from this will remain and will reference invalid animation indexes. Can cause crashing during packaging or during map loading. All that you have to do is delete any animations blocks that do not have a -1 value as a graph index as that means it is referencing the data from a different source. Fixed by https://github.com/Project-Cartographer/H2PC_TagExtraction/commit/309cf848ae1775ead67533ce577136edc5d9eb31

device_machine/mach

  • Comes out mostly without issue. Values in power transition time, power acceleration time, position transition time, position acceleration time, depowered position transition, and depowered position acceleration are changed on package. Use "X^(-1)" to undo. X is the extracted value. Fixed by https://github.com/Project-Cartographer/H2PC_TagExtraction/commit/101f08127ae53674f04ba219434638d6a8ad1a6b

bitmap/bitm

  • Appears to be missing bitmap data a majority of the time among other things. Seems to be an issue with the extractor not loading the resource maps. Fixed by https://github.com/Project-Cartographer/H2PC_TagExtraction/commit/0600328297ff22d1ff6fb95d4619c0a90c3d721c

  • Has issues beyond this where even if the bitmap data is internal then it may not be written for whatever reason. Not happening as of commit https://github.com/Project-Cartographer/H2PC_TagExtraction/commit/0600328297ff22d1ff6fb95d4619c0a90c3d721c so it was probably resource map related to and I just guessed wrong.

  • Something is preventing them from being compressed in H2Tool. This means that extracted bitmaps can't be reused until the cause is found and fixed. Worked around by Project-Cartographer/H2Codez@f4adbbc9cdb4ba1aab68efad39fea2853ec6bbdb

scenario_structure_lightmap/ltmp

  • The actual reason seems to be that the lightmap mesh is merged with sbsp on package. This needs to be confirmed but surface level examining of the ltmp tag in Assembly seems to point to the mesh being gone. Unless another solution comes around the best chance we have of reusing the lightmap tag is to rebuild it using the bsp tag. Workaround provided by https://github.com/Project-Cartographer/H2Codez/commit/419c886f944152c971888426bdb7843b5f0fe186

light_volume/MG32

  • light_volume_runtime_offset_block needs to be cleared. Fixed by https://github.com/Project-Cartographer/H2PC_TagExtraction/commit/a292b2abde55cb3b7dc218e99605f91511d4ee3d

vehicle/vehi

  • vehicle_phantom_shape_block needs to be cleared. Fixed by https://github.com/Project-Cartographer/H2PC_TagExtraction/commit/a292b2abde55cb3b7dc218e99605f91511d4ee3d

vehicle/vehi

  • vehicle_phantom_shape_block needs to be cleared. Fixed by https://github.com/Project-Cartographer/H2PC_TagExtraction/commit/a292b2abde55cb3b7dc218e99605f91511d4ee3d

particle/PRT3

  • What the title says. Will look into why H2Guerilla won't open them at times. Typically when the particle tag is 3kb in size is a trend I've noticed. Appears to be some issue with block size in the particle function area. I believe the issue is that some functions are different sizes and Blamlib isn't handling this correctly.

  • Also should look into clearing the processed particle data from the file. It seems it's still there in hex and Guerrilla does get rid of it when the file is saved but might as well take care of it here and now.

decorator_set/DECR

  • Resources tag block needs to be cleared. Fixed by https://github.com/Project-Cartographer/H2PC_TagExtraction/commit/ec8296ca12264ad79ee07057e8156a6999b5e451

General-101 avatar May 31 '19 11:05 General-101