Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Tag Extraction Issue List #10

Open
General-101 opened this issue May 31, 2019 · 0 comments
Open

Tag Extraction Issue List #10

General-101 opened this issue May 31, 2019 · 0 comments
Labels
bug enhancement post-processing h2tool makes changes to the tags when packaging

Comments

@General-101
Copy link

General-101 commented May 31, 2019

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 628b95a 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 0c528e3

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 0600328

  • 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 26f718a

  • 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 e4e36f3

  • 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 a292b2a

  • The flag "has runtime nodes" needs to be undone as these don't exist until they are packaged. Fixed by fcfe0c6

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 07bc53a

  • Dead sphere shapes, pill shapes, sphere shapes tag block should be empty as these don't exist until the tags are packaged. Fixed by a292b2a

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 5781246

  • 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 0c528e3

  • 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 a292b2a

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 309cf84

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 101f081

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 0600328

  • 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 0600328 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@f4adbbc

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 Project-Cartographer/H2Codez@419c886

light_volume/MG32

  • light_volume_runtime_offset_block needs to be cleared. Fixed by a292b2a

vehicle/vehi

  • vehicle_phantom_shape_block needs to be cleared. Fixed by a292b2a

vehicle/vehi

  • vehicle_phantom_shape_block needs to be cleared. Fixed by a292b2a

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 ec8296c
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug enhancement post-processing h2tool makes changes to the tags when packaging
Projects
None yet
Development

No branches or pull requests

2 participants