You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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
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
The text was updated successfully, but these errors were encountered:
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
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
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
device_machine/mach
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
light_volume/MG32
vehicle/vehi
vehicle/vehi
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
The text was updated successfully, but these errors were encountered: