From 3c27b3942b4f86e7a799ba2ac4fd99d08989ffbd Mon Sep 17 00:00:00 2001 From: Hat Kid <6624576+Hat-Kid@users.noreply.github.com> Date: Fri, 6 Oct 2023 16:42:16 +0200 Subject: [PATCH] decompiler: better automatic detection of art groups and `joint-node-index` macro detection (#3061) --- common/goos/Interpreter.cpp | 8 + common/goos/Interpreter.h | 3 + decompiler/IR2/Env.cpp | 16 + decompiler/IR2/Env.h | 10 + decompiler/IR2/Form.h | 1 + decompiler/IR2/FormExpressionAnalysis.cpp | 33 + decompiler/ObjectFile/ObjectFileDB.cpp | 40 +- decompiler/ObjectFile/ObjectFileDB.h | 1 + decompiler/ObjectFile/ObjectFileDB_IR2.cpp | 26 +- decompiler/config.cpp | 17 +- decompiler/config.h | 6 +- decompiler/config/jak1/jak1_config.jsonc | 3 + decompiler/config/jak1/ntsc_v1/art_info.jsonc | 52 +- .../jak1/ntsc_v1/joint-node-info.min.json | 1 + .../config/jak1/ntsc_v1/type_casts.jsonc | 4 +- decompiler/config/jak2/jak2_config.jsonc | 3 + decompiler/config/jak2/ntsc_v1/art_info.jsonc | 54 +- .../jak2/ntsc_v1/joint-node-info.min.json | 1 + .../config/jak2/ntsc_v1/type_casts.jsonc | 24 +- decompiler/main.cpp | 28 +- decompiler/util/DecompilerTypeSystem.h | 10 + goal_src/goal-lib.gc | 32 + goal_src/goos-lib.gs | 3 + .../jak1/engine/common-obs/collectables.gc | 6 +- goal_src/jak1/engine/common-obs/orb-cache.gc | 4 +- goal_src/jak1/engine/data/art-h.gc | 18 + goal_src/jak1/engine/data/joint-nodes.gc | 7654 ++++++++ goal_src/jak1/engine/game/powerups.gc | 4 +- goal_src/jak1/engine/target/logic-target.gc | 10 +- goal_src/jak1/engine/target/target-util.gc | 6 +- goal_src/jak1/engine/target/target.gc | 2 +- goal_src/jak1/engine/target/target2.gc | 8 +- goal_src/jak1/levels/beach/beach-obs.gc | 18 +- goal_src/jak1/levels/beach/beach-rocks.gc | 33 +- .../jak1/levels/citadel/assistant-citadel.gc | 2 +- goal_src/jak1/levels/citadel/citadel-obs.gc | 10 +- goal_src/jak1/levels/citadel/citadel-sages.gc | 2 +- goal_src/jak1/levels/citadel/citb-plat.gc | 6 +- goal_src/jak1/levels/finalboss/final-door.gc | 4 +- .../jak1/levels/finalboss/robotboss-misc.gc | 2 +- .../jak1/levels/finalboss/robotboss-weapon.gc | 14 +- goal_src/jak1/levels/finalboss/robotboss.gc | 30 +- goal_src/jak1/levels/flut_common/flutflut.gc | 4 +- .../jak1/levels/flut_common/target-flut.gc | 184 +- goal_src/jak1/levels/jungle/bouncer.gc | 4 +- goal_src/jak1/levels/jungle/fisher.gc | 12 +- goal_src/jak1/levels/jungle/jungle-obs.gc | 26 +- goal_src/jak1/levels/jungleb/aphid.gc | 18 +- goal_src/jak1/levels/jungleb/jungleb-obs.gc | 4 +- .../levels/lavatube/assistant-lavatube.gc | 4 +- .../jak1/levels/lavatube/lavatube-energy.gc | 15 +- goal_src/jak1/levels/maincave/gnawer.gc | 8 +- goal_src/jak1/levels/maincave/maincave-obs.gc | 12 +- .../jak1/levels/maincave/mother-spider-egg.gc | 12 +- .../jak1/levels/maincave/mother-spider.gc | 6 +- .../jak1/levels/misty/babak-with-cannon.gc | 6 +- goal_src/jak1/levels/misty/misty-obs.gc | 6 +- .../jak1/levels/misty/misty-teetertotter.gc | 6 +- goal_src/jak1/levels/misty/misty-warehouse.gc | 6 +- goal_src/jak1/levels/misty/quicksandlurker.gc | 4 +- goal_src/jak1/levels/ogre/ogre-obs.gc | 6 +- .../jak1/levels/racer_common/racer-states.gc | 66 +- .../jak1/levels/racer_common/target-racer.gc | 12 +- .../levels/rolling/rolling-lightning-mole.gc | 12 +- goal_src/jak1/levels/rolling/rolling-obs.gc | 36 +- .../jak1/levels/rolling/rolling-robber.gc | 26 +- goal_src/jak1/levels/snow/ice-cube.gc | 18 +- .../jak1/levels/snow/snow-flutflut-obs.gc | 6 +- goal_src/jak1/levels/snow/snow-obs.gc | 38 +- goal_src/jak1/levels/snow/snow-ram-boss.gc | 36 +- goal_src/jak1/levels/snow/target-ice.gc | 58 +- goal_src/jak1/levels/snow/target-snowball.gc | 2 +- goal_src/jak1/levels/sunken/double-lurker.gc | 8 +- goal_src/jak1/levels/sunken/helix-water.gc | 2 +- goal_src/jak1/levels/sunken/orbit-plat.gc | 2 +- .../jak1/levels/sunken/sun-exit-chamber.gc | 18 +- goal_src/jak1/levels/sunken/sunken-fish.gc | 2 +- goal_src/jak1/levels/sunken/sunken-obs.gc | 30 +- goal_src/jak1/levels/sunken/target-tube.gc | 14 +- goal_src/jak1/levels/sunken/wedge-plats.gc | 30 +- goal_src/jak1/levels/swamp/billy.gc | 2 +- goal_src/jak1/levels/swamp/swamp-obs.gc | 14 +- goal_src/jak1/levels/training/training-obs.gc | 16 +- goal_src/jak1/levels/village1/assistant.gc | 10 +- .../jak1/levels/village1/fishermans-boat.gc | 6 +- goal_src/jak1/levels/village1/village-obs.gc | 2 +- .../levels/village2/assistant-village2.gc | 15 +- goal_src/jak1/levels/village2/swamp-blimp.gc | 6 +- goal_src/jak1/levels/village2/village2-obs.gc | 58 +- goal_src/jak1/levels/village3/minecart.gc | 8 +- goal_src/jak1/levels/village3/miners.gc | 5 +- goal_src/jak1/levels/village3/village3-obs.gc | 53 +- .../levels/village_common/villagep-obs.gc | 17 +- goal_src/jak2/engine/common_objs/conveyor.gc | 2 +- goal_src/jak2/engine/common_objs/powerups.gc | 4 +- goal_src/jak2/engine/data/art-h.gc | 22 +- goal_src/jak2/engine/data/joint-nodes.gc | 14451 ++++++++++++++++ .../jak2/engine/target/board/board-states.gc | 164 +- .../jak2/engine/target/board/board-util.gc | 6 +- goal_src/jak2/engine/target/gun/gun-states.gc | 61 +- goal_src/jak2/engine/target/gun/gun-util.gc | 42 +- goal_src/jak2/engine/target/logic-target.gc | 4 +- .../jak2/engine/target/mech/grunt-mech.gc | 25 +- .../jak2/engine/target/mech/mech-states.gc | 277 +- goal_src/jak2/engine/target/target-darkjak.gc | 6 +- goal_src/jak2/engine/target/target-gun.gc | 2 +- goal_src/jak2/engine/target/target-handler.gc | 2 +- goal_src/jak2/engine/target/target-swim.gc | 4 +- goal_src/jak2/engine/target/target-turret.gc | 40 +- goal_src/jak2/engine/target/target.gc | 2 +- goal_src/jak2/engine/target/target2.gc | 2 +- .../jak2/levels/castle/boss/castle-baron.gc | 88 +- goal_src/jak2/levels/castle/castle-obs.gc | 36 +- .../jak2/levels/castle/roboguard-level.gc | 56 +- .../jak2/levels/city/common/pilot-states.gc | 40 +- goal_src/jak2/levels/city/ctywide-obs.gc | 14 +- goal_src/jak2/levels/city/farm/ctyfarm-obs.gc | 30 +- .../city/kiddogescort/crocesc-states.gc | 40 +- .../levels/city/kiddogescort/kidesc-states.gc | 42 +- .../levels/city/meet-brutter/meet-brutter.gc | 24 +- .../jak2/levels/city/port/ctyport-part.gc | 2 +- .../jak2/levels/city/port/race/errol-chal.gc | 4 +- goal_src/jak2/levels/city/shuttle/shuttle.gc | 16 +- .../jak2/levels/city/slums/kor/kid-states.gc | 28 +- .../jak2/levels/city/slums/kor/kor-states.gc | 30 +- .../jak2/levels/city/traffic/citizen/guard.gc | 72 +- .../city/traffic/citizen/metalhead-flitter.gc | 16 +- .../city/traffic/citizen/metalhead-grunt.gc | 19 +- .../traffic/citizen/metalhead-predator.gc | 10 +- .../levels/common/ai/ashelin/ash-states.gc | 50 +- .../jak2/levels/common/ai/sig/sig-states.gc | 146 +- .../jak2/levels/common/enemy/grenadier.gc | 2 +- .../enemy/guards/crimson-guard-level.gc | 92 +- .../common/enemy/guards/transport-level.gc | 6 +- .../jak2/levels/common/enemy/hover/flamer.gc | 4 +- goal_src/jak2/levels/common/enemy/spyder.gc | 2 +- goal_src/jak2/levels/common/race/race-obs.gc | 4 +- goal_src/jak2/levels/common/warp-gate.gc | 23 +- goal_src/jak2/levels/dig/dig-digger.gc | 18 +- goal_src/jak2/levels/dig/dig1-obs.gc | 28 +- goal_src/jak2/levels/drill/drill-baron.gc | 14 +- goal_src/jak2/levels/drill/drill-obs.gc | 14 +- goal_src/jak2/levels/drill/drill-obs2.gc | 16 +- goal_src/jak2/levels/drill/drill-panel.gc | 4 +- goal_src/jak2/levels/drill/drillmid-obs.gc | 2 +- goal_src/jak2/levels/forest/fish.gc | 2 +- goal_src/jak2/levels/forest/forest-obs.gc | 17 +- .../jak2/levels/fortress/dump/fordumpc-obs.gc | 2 +- .../fortress/dump/fort-robotank-turret.gc | 16 +- .../levels/fortress/dump/fort-robotank.gc | 2 +- goal_src/jak2/levels/fortress/fort-turret.gc | 2 +- .../levels/fortress/rescue/forrescb-obs.gc | 6 +- goal_src/jak2/levels/gungame/gungame-obs.gc | 2 +- goal_src/jak2/levels/hideout/hideout-obs.gc | 2 +- goal_src/jak2/levels/hiphog/whack.gc | 52 +- goal_src/jak2/levels/intro/intro-obs.gc | 2 +- .../jak2/levels/mountain/canyon/mincan-obs.gc | 12 +- goal_src/jak2/levels/mountain/mountain-obs.gc | 10 +- .../jak2/levels/mountain/mountain-scenes.gc | 2 +- .../jak2/levels/nest/boss/metalkor-extras.gc | 130 +- .../jak2/levels/nest/boss/metalkor-states.gc | 220 +- goal_src/jak2/levels/nest/flying-spider.gc | 4 +- .../jak2/levels/palace/boss/squid-setup.gc | 10 +- .../jak2/levels/palace/boss/squid-states.gc | 138 +- .../jak2/levels/palace/cable/palcab-obs.gc | 2 +- goal_src/jak2/levels/palace/pal-obs.gc | 10 +- goal_src/jak2/levels/ruins/rapid-gunner.gc | 4 +- goal_src/jak2/levels/ruins/ruins-obs.gc | 10 +- .../jak2/levels/sewer/escort/jinx-states.gc | 92 +- goal_src/jak2/levels/sewer/gator.gc | 2 +- goal_src/jak2/levels/sewer/hosehead-fake.gc | 20 +- goal_src/jak2/levels/sewer/sewer-obs.gc | 6 +- goal_src/jak2/levels/sewer/sewer-obs2.gc | 6 +- .../jak2/levels/stadium/skate/skatea-obs.gc | 15 +- goal_src/jak2/levels/stadium/stadium-obs.gc | 8 +- goal_src/jak2/levels/strip/chaincrate.gc | 2 +- goal_src/jak2/levels/strip/strip-drop.gc | 8 +- goal_src/jak2/levels/strip/strip-obs.gc | 27 +- goal_src/jak2/levels/strip/strip-rescue.gc | 2 +- goal_src/jak2/levels/tomb/target-indax.gc | 36 +- goal_src/jak2/levels/tomb/tomb-obs.gc | 14 +- goal_src/jak2/levels/tomb/tomb-water.gc | 24 +- goal_src/jak2/levels/tomb/widow-baron.gc | 24 +- goal_src/jak2/levels/tomb/widow-extras.gc | 36 +- goal_src/jak2/levels/under/sig5-course.gc | 4 +- goal_src/jak2/levels/under/under-obs.gc | 4 +- goal_src/jak2/levels/under/under-sig-obs.gc | 4 +- goal_src/jak2/levels/under/underb-master.gc | 6 +- .../reference/jak1/decompiler-macros.gc | 17 + .../engine/common-obs/collectables_REF.gc | 6 +- .../jak1/engine/common-obs/orb-cache_REF.gc | 4 +- .../jak1/engine/game/powerups_REF.gc | 4 +- .../jak1/engine/target/logic-target_REF.gc | 10 +- .../jak1/engine/target/target-util_REF.gc | 6 +- .../jak1/engine/target/target2_REF.gc | 8 +- .../jak1/engine/target/target_REF.gc | 2 +- .../jak1/levels/beach/beach-obs_REF.gc | 18 +- .../jak1/levels/beach/beach-rocks_REF.gc | 33 +- .../levels/citadel/assistant-citadel_REF.gc | 2 +- .../jak1/levels/citadel/citadel-obs_REF.gc | 10 +- .../jak1/levels/citadel/citadel-sages_REF.gc | 2 +- .../jak1/levels/citadel/citb-plat_REF.gc | 6 +- .../jak1/levels/finalboss/final-door_REF.gc | 4 +- .../levels/finalboss/robotboss-misc_REF.gc | 2 +- .../levels/finalboss/robotboss-weapon_REF.gc | 14 +- .../jak1/levels/finalboss/robotboss_REF.gc | 30 +- .../jak1/levels/flut_common/flutflut_REF.gc | 4 +- .../levels/flut_common/target-flut_REF.gc | 184 +- .../jak1/levels/jungle/bouncer_REF.gc | 4 +- .../jak1/levels/jungle/fisher_REF.gc | 12 +- .../jak1/levels/jungle/jungle-obs_REF.gc | 26 +- .../jak1/levels/jungleb/aphid_REF.gc | 18 +- .../jak1/levels/jungleb/jungleb-obs_REF.gc | 4 +- .../levels/lavatube/assistant-lavatube_REF.gc | 4 +- .../levels/lavatube/lavatube-energy_REF.gc | 15 +- .../jak1/levels/maincave/gnawer_REF.gc | 8 +- .../jak1/levels/maincave/maincave-obs_REF.gc | 12 +- .../levels/maincave/mother-spider-egg_REF.gc | 12 +- .../jak1/levels/maincave/mother-spider_REF.gc | 6 +- .../levels/misty/babak-with-cannon_REF.gc | 6 +- .../jak1/levels/misty/misty-obs_REF.gc | 6 +- .../levels/misty/misty-teetertotter_REF.gc | 6 +- .../jak1/levels/misty/misty-warehouse_REF.gc | 6 +- .../jak1/levels/misty/quicksandlurker_REF.gc | 4 +- .../jak1/levels/ogre/ogre-obs_REF.gc | 6 +- .../levels/racer_common/racer-states_REF.gc | 66 +- .../levels/racer_common/target-racer_REF.gc | 12 +- .../rolling/rolling-lightning-mole_REF.gc | 12 +- .../jak1/levels/rolling/rolling-obs_REF.gc | 36 +- .../jak1/levels/rolling/rolling-robber_REF.gc | 26 +- .../jak1/levels/snow/ice-cube_REF.gc | 18 +- .../jak1/levels/snow/snow-flutflut-obs_REF.gc | 6 +- .../jak1/levels/snow/snow-obs_REF.gc | 38 +- .../jak1/levels/snow/snow-ram-boss_REF.gc | 36 +- .../jak1/levels/snow/target-ice_REF.gc | 58 +- .../jak1/levels/snow/target-snowball_REF.gc | 2 +- .../jak1/levels/sunken/double-lurker_REF.gc | 8 +- .../jak1/levels/sunken/helix-water_REF.gc | 2 +- .../jak1/levels/sunken/orbit-plat_REF.gc | 2 +- .../levels/sunken/sun-exit-chamber_REF.gc | 18 +- .../jak1/levels/sunken/sunken-fish_REF.gc | 2 +- .../jak1/levels/sunken/sunken-obs_REF.gc | 30 +- .../jak1/levels/sunken/target-tube_REF.gc | 14 +- .../jak1/levels/sunken/wedge-plats_REF.gc | 30 +- .../reference/jak1/levels/swamp/billy_REF.gc | 2 +- .../jak1/levels/swamp/swamp-obs_REF.gc | 14 +- .../jak1/levels/title/title-obs_REF.gc | 4 +- .../jak1/levels/training/training-obs_REF.gc | 16 +- .../jak1/levels/village1/assistant_REF.gc | 10 +- .../levels/village1/fishermans-boat_REF.gc | 6 +- .../jak1/levels/village1/village-obs_REF.gc | 2 +- .../levels/village2/assistant-village2_REF.gc | 15 +- .../jak1/levels/village2/swamp-blimp_REF.gc | 6 +- .../jak1/levels/village2/village2-obs_REF.gc | 58 +- .../jak1/levels/village3/minecart_REF.gc | 8 +- .../jak1/levels/village3/miners_REF.gc | 5 +- .../jak1/levels/village3/village3-obs_REF.gc | 37 +- .../levels/village_common/villagep-obs_REF.gc | 7 +- .../reference/jak2/decompiler-macros.gc | 17 + .../jak2/engine/common_objs/conveyor_REF.gc | 2 +- .../jak2/engine/common_objs/powerups_REF.gc | 4 +- .../engine/target/board/board-states_REF.gc | 164 +- .../engine/target/board/board-util_REF.gc | 6 +- .../jak2/engine/target/gun/gun-states_REF.gc | 10 +- .../jak2/engine/target/gun/gun-util_REF.gc | 42 +- .../jak2/engine/target/logic-target_REF.gc | 4 +- .../jak2/engine/target/mech/grunt-mech_REF.gc | 25 +- .../engine/target/mech/mech-states_REF.gc | 277 +- .../jak2/engine/target/target-darkjak_REF.gc | 6 +- .../jak2/engine/target/target-gun_REF.gc | 2 +- .../jak2/engine/target/target-handler_REF.gc | 2 +- .../jak2/engine/target/target-swim_REF.gc | 4 +- .../jak2/engine/target/target-turret_REF.gc | 10 +- .../jak2/engine/target/target2_REF.gc | 2 +- .../jak2/engine/target/target_REF.gc | 2 +- .../levels/castle/boss/castle-baron_REF.gc | 8 +- .../jak2/levels/castle/castle-obs_REF.gc | 36 +- .../jak2/levels/castle/roboguard-level_REF.gc | 56 +- .../levels/city/common/pilot-states_REF.gc | 40 +- .../jak2/levels/city/ctywide-obs_REF.gc | 12 +- .../jak2/levels/city/farm/ctyfarm-obs_REF.gc | 30 +- .../city/kiddogescort/crocesc-states_REF.gc | 40 +- .../city/kiddogescort/kidesc-states_REF.gc | 42 +- .../city/meet-brutter/meet-brutter_REF.gc | 24 +- .../jak2/levels/city/port/ctyport-part_REF.gc | 2 +- .../levels/city/port/race/errol-chal_REF.gc | 4 +- .../jak2/levels/city/shuttle/shuttle_REF.gc | 16 +- .../levels/city/slums/kor/kid-states_REF.gc | 28 +- .../levels/city/slums/kor/kor-states_REF.gc | 30 +- .../levels/city/traffic/citizen/guard_REF.gc | 72 +- .../traffic/citizen/metalhead-flitter_REF.gc | 16 +- .../traffic/citizen/metalhead-grunt_REF.gc | 19 +- .../traffic/citizen/metalhead-predator_REF.gc | 10 +- .../common/ai/ashelin/ash-states_REF.gc | 50 +- .../levels/common/ai/sig/sig-states_REF.gc | 146 +- .../jak2/levels/common/enemy/grenadier_REF.gc | 2 +- .../enemy/guards/crimson-guard-level_REF.gc | 92 +- .../enemy/guards/transport-level_REF.gc | 6 +- .../levels/common/enemy/hover/flamer_REF.gc | 4 +- .../jak2/levels/common/enemy/spyder_REF.gc | 2 +- .../jak2/levels/common/race/race-obs_REF.gc | 4 +- .../jak2/levels/common/warp-gate_REF.gc | 23 +- .../jak2/levels/dig/dig-digger_REF.gc | 18 +- .../reference/jak2/levels/dig/dig1-obs_REF.gc | 28 +- .../jak2/levels/drill/drill-baron_REF.gc | 14 +- .../jak2/levels/drill/drill-obs2_REF.gc | 16 +- .../jak2/levels/drill/drill-obs_REF.gc | 14 +- .../jak2/levels/drill/drill-panel_REF.gc | 4 +- .../jak2/levels/drill/drillmid-obs_REF.gc | 2 +- .../reference/jak2/levels/forest/fish_REF.gc | 2 +- .../jak2/levels/forest/forest-obs_REF.gc | 17 +- .../levels/fortress/dump/fordumpc-obs_REF.gc | 2 +- .../fortress/dump/fort-robotank-turret_REF.gc | 16 +- .../levels/fortress/dump/fort-robotank_REF.gc | 2 +- .../jak2/levels/fortress/fort-turret_REF.gc | 2 +- .../fortress/rescue/forrescb-obs_REF.gc | 6 +- .../jak2/levels/gungame/gungame-obs_REF.gc | 2 +- .../jak2/levels/hideout/hideout-obs_REF.gc | 2 +- .../reference/jak2/levels/hiphog/whack_REF.gc | 52 +- .../jak2/levels/intro/intro-obs_REF.gc | 2 +- .../levels/mountain/canyon/mincan-obs_REF.gc | 12 +- .../jak2/levels/mountain/mountain-obs_REF.gc | 10 +- .../levels/mountain/mountain-scenes_REF.gc | 2 +- .../levels/nest/boss/metalkor-extras_REF.gc | 130 +- .../levels/nest/boss/metalkor-states_REF.gc | 220 +- .../jak2/levels/nest/flying-spider_REF.gc | 4 +- .../levels/palace/boss/squid-setup_REF.gc | 10 +- .../levels/palace/boss/squid-states_REF.gc | 138 +- .../levels/palace/cable/palcab-obs_REF.gc | 2 +- .../jak2/levels/palace/pal-obs_REF.gc | 6 +- .../jak2/levels/ruins/rapid-gunner_REF.gc | 4 +- .../jak2/levels/ruins/ruins-obs_REF.gc | 2 +- .../levels/sewer/escort/jinx-states_REF.gc | 92 +- .../reference/jak2/levels/sewer/gator_REF.gc | 2 +- .../jak2/levels/sewer/hosehead-fake_REF.gc | 20 +- .../jak2/levels/sewer/sewer-obs2_REF.gc | 6 +- .../jak2/levels/sewer/sewer-obs_REF.gc | 6 +- .../levels/stadium/skate/skatea-obs_REF.gc | 2 +- .../jak2/levels/stadium/stadium-obs_REF.gc | 8 +- .../jak2/levels/strip/chaincrate_REF.gc | 2 +- .../jak2/levels/strip/strip-drop_REF.gc | 8 +- .../jak2/levels/strip/strip-obs_REF.gc | 27 +- .../jak2/levels/strip/strip-rescue_REF.gc | 2 +- .../jak2/levels/tomb/target-indax_REF.gc | 36 +- .../jak2/levels/tomb/tomb-obs_REF.gc | 14 +- .../jak2/levels/tomb/tomb-water_REF.gc | 24 +- .../jak2/levels/tomb/widow-baron_REF.gc | 24 +- .../jak2/levels/tomb/widow-extras_REF.gc | 36 +- .../jak2/levels/under/sig5-course_REF.gc | 4 +- .../jak2/levels/under/under-obs_REF.gc | 4 +- .../jak2/levels/under/under-sig-obs_REF.gc | 4 +- .../jak2/levels/under/underb-master_REF.gc | 6 +- test/offline/framework/orchestration.cpp | 1 + 353 files changed, 26060 insertions(+), 3814 deletions(-) create mode 100644 decompiler/config/jak1/ntsc_v1/joint-node-info.min.json create mode 100644 decompiler/config/jak2/ntsc_v1/joint-node-info.min.json create mode 100644 goal_src/jak1/engine/data/joint-nodes.gc create mode 100644 goal_src/jak2/engine/data/joint-nodes.gc diff --git a/common/goos/Interpreter.cpp b/common/goos/Interpreter.cpp index 1a1426c3b96..cf4f6b3e642 100644 --- a/common/goos/Interpreter.cpp +++ b/common/goos/Interpreter.cpp @@ -91,6 +91,7 @@ Interpreter::Interpreter(const std::string& username) { {"ash", &Interpreter::eval_ash}, {"symbol->string", &Interpreter::eval_symbol_to_string}, {"string->symbol", &Interpreter::eval_string_to_symbol}, + {"int->string", &Interpreter::eval_int_to_string}, {"get-environment-variable", &Interpreter::eval_get_env}, {"make-string-hash-table", &Interpreter::eval_make_string_hash_table}, {"hash-table-set!", &Interpreter::eval_hash_table_set}, @@ -1801,6 +1802,13 @@ Object Interpreter::eval_string_to_symbol(const Object& form, return SymbolObject::make_new(reader.symbolTable, args.unnamed.at(0).as_string()->data); } +Object Interpreter::eval_int_to_string(const Object& form, + Arguments& args, + const std::shared_ptr&) { + vararg_check(form, args, {ObjectType::INTEGER}, {}); + return StringObject::make_new(std::to_string(args.unnamed.at(0).as_int())); +} + Object Interpreter::eval_get_env(const Object& form, Arguments& args, const std::shared_ptr&) { diff --git a/common/goos/Interpreter.h b/common/goos/Interpreter.h index 55ebfb83fad..661c467ee4c 100644 --- a/common/goos/Interpreter.h +++ b/common/goos/Interpreter.h @@ -226,6 +226,9 @@ class Interpreter { Object eval_string_to_symbol(const Object& form, Arguments& args, const std::shared_ptr& env); + Object eval_int_to_string(const Object& form, + Arguments& args, + const std::shared_ptr& env); Object eval_get_env(const Object& form, Arguments& args, const std::shared_ptr& env); diff --git a/decompiler/IR2/Env.cpp b/decompiler/IR2/Env.cpp index f71c44a0793..27777a3de4e 100644 --- a/decompiler/IR2/Env.cpp +++ b/decompiler/IR2/Env.cpp @@ -617,4 +617,20 @@ std::optional Env::get_art_elt_name(int idx) const { } } +std::optional Env::get_joint_node_name(int idx) const { + ASSERT(dts); + auto it = dts->jg_info.find(joint_geo()); + if (it == dts->jg_info.end()) { + return {}; + } else { + const auto& jg = it->second; + auto it2 = jg.find(idx); + if (it2 == jg.end()) { + return {}; + } else { + return it2->second; + } + } +} + } // namespace decompiler diff --git a/decompiler/IR2/Env.h b/decompiler/IR2/Env.h index fa66cdef590..1ab527f8bf4 100644 --- a/decompiler/IR2/Env.h +++ b/decompiler/IR2/Env.h @@ -157,6 +157,15 @@ class Env { void set_art_group(const std::string& art_group) { m_art_group = art_group; } const std::string& art_group() const { return m_art_group; } std::optional get_art_elt_name(int idx) const; + void set_jg(const std::string& art_group) { + if (art_group.substr(art_group.size() - 3) == "-ag") { + m_joint_geo = art_group.substr(0, art_group.size() - 3) + "-lod0-jg"; + } else { + m_joint_geo = art_group + "-lod0-jg"; + } + } + const std::string& joint_geo() const { return m_joint_geo; } + std::optional get_joint_node_name(int idx) const; void set_remap_for_function(const Function& func); void set_remap_for_method(const TypeSpec& ts); @@ -244,5 +253,6 @@ class Env { StackSpillMap m_stack_spill_map; std::string m_art_group; + std::string m_joint_geo; }; } // namespace decompiler diff --git a/decompiler/IR2/Form.h b/decompiler/IR2/Form.h index 4ce31eb8ad4..a2cbf1914f4 100644 --- a/decompiler/IR2/Form.h +++ b/decompiler/IR2/Form.h @@ -1299,6 +1299,7 @@ class DerefElement : public FormElement { private: ConstantTokenElement* try_as_art_const(const Env& env, FormPool& pool); + GenericElement* try_as_joint_node_index(const Env& env, FormPool& pool); GenericElement* try_as_curtime(const Env& env, FormPool& pool); GenericElement* try_as_seconds_per_frame(const Env& env, FormPool& pool); diff --git a/decompiler/IR2/FormExpressionAnalysis.cpp b/decompiler/IR2/FormExpressionAnalysis.cpp index fd6bc26c219..fa3bb87d28b 100644 --- a/decompiler/IR2/FormExpressionAnalysis.cpp +++ b/decompiler/IR2/FormExpressionAnalysis.cpp @@ -3977,6 +3977,33 @@ ConstantTokenElement* DerefElement::try_as_art_const(const Env& env, FormPool& p return nullptr; } +GenericElement* DerefElement::try_as_joint_node_index(const Env& env, FormPool& pool) { + auto mr = + match(Matcher::deref(Matcher::s6(), false, + {DerefTokenMatcher::string("node-list"), + DerefTokenMatcher::string("data"), DerefTokenMatcher::any_integer(0)}), + this); + + if (mr.matched) { + // lg::print("func {} joint-geo: {}\n", env.func->name(), env.joint_geo()); + auto info = env.dts->jg_info; + std::vector args; + auto joint_name = env.get_joint_node_name(mr.maps.ints.at(0)); + args.push_back(pool.form(env.joint_geo())); + if (joint_name) { + args.push_back(pool.form(joint_name.value())); + return pool.alloc_element( + GenericOperator::make_function(pool.form("joint-node-index")), + args); + } else { + lg::error("function `{}`: did not find joint node {} in {}", env.func->name(), + mr.maps.ints.at(0), env.joint_geo()); + } + } + + return nullptr; +} + GenericElement* DerefElement::try_as_curtime(const Env& env, FormPool& pool) { if (env.version == GameVersion::Jak1) { auto mr = match(Matcher::deref(Matcher::symbol("*display*"), false, @@ -4048,6 +4075,12 @@ void DerefElement::update_from_stack(const Env& env, return; } + auto as_jnode = try_as_joint_node_index(env, pool); + if (as_jnode) { + result->push_back(as_jnode); + return; + } + auto as_simple_expr = m_base->try_as_element(); if (env.version == GameVersion::Jak2 && as_simple_expr && as_simple_expr->expr().is_identity() && as_simple_expr->expr().get_arg(0).is_sym_val() && diff --git a/decompiler/ObjectFile/ObjectFileDB.cpp b/decompiler/ObjectFile/ObjectFileDB.cpp index e864f20a205..68e2136c6ae 100644 --- a/decompiler/ObjectFile/ObjectFileDB.cpp +++ b/decompiler/ObjectFile/ObjectFileDB.cpp @@ -873,6 +873,24 @@ std::string ObjectFileDB::process_game_count_file() { } namespace { +struct JointGeo { + u32 offset{}; + std::string name; + u32 length{}; +}; + +void get_joint_info(ObjectFileDB& db, ObjectFileData& obj, JointGeo jg) { + const auto& words = obj.linked_data.words_by_seg.at(MAIN_SEGMENT); + for (size_t i = 0; i < jg.length; ++i) { + const auto& label = words.at((jg.offset / 4) + 7 + i).label_id(); + const auto& joint = obj.linked_data.labels.at(label); + const auto& name = + obj.linked_data.get_goal_string_by_label(words.at(joint.offset / 4).label_id()); + // lg::print("{} joint idx {}/{}: {}\n", jg.name, i + 1, jg.length, name); + db.dts.add_joint_node(jg.name, name, i + 1); + } +} + void get_art_info(ObjectFileDB& db, ObjectFileData& obj) { if (obj.obj_version == 4) { const auto& words = obj.linked_data.words_by_seg.at(MAIN_SEGMENT); @@ -908,6 +926,11 @@ void get_art_info(ObjectFileDB& db, ObjectFileData& obj) { if (elt_type == "art-joint-geo") { // the skeleton! unique_name += "-jg"; + JointGeo jg; + jg.offset = label.offset; + jg.name = unique_name; + jg.length = words.at(label.offset / 4 + 2).data; + get_joint_info(db, obj, jg); } else if (elt_type == "merc-ctrl" || elt_type == "shadow-geo") { // (maybe mesh-geo as well but that doesnt exist) // the skin! @@ -953,7 +976,7 @@ void ObjectFileDB::dump_art_info(const fs::path& output_dir) { lg::info("Writing art group info..."); Timer timer; - if (!dts.art_group_info.empty()) { + if (!dts.art_group_info.empty() || !dts.jg_info.empty()) { file_util::create_dir_if_needed(output_dir / "import"); } for (const auto& [ag_name, info] : dts.art_group_info) { @@ -970,6 +993,18 @@ void ObjectFileDB::dump_art_info(const fs::path& output_dir) { file_util::write_text_file(filename, result); } + auto jg_fpath = output_dir / "import" / "joint-nodes.gc"; + std::string jg_result; + + for (const auto& [jg_name, info] : dts.jg_info) { + for (const auto& [idx, joint] : info) { + jg_result += print_jg_for_dump(jg_name, joint, idx); + } + jg_result += "\n"; + } + + file_util::write_text_file(jg_fpath, jg_result); + lg::info("Written art group info: in {:.2f} ms", timer.getMs()); } @@ -988,4 +1023,7 @@ std::string print_art_elt_for_dump(const std::string& group_name, int idx) { return fmt::format("(def-art-elt {} {} {})\n", group_name, name, idx); } +std::string print_jg_for_dump(const std::string& jg_name, const std::string& joint_name, int idx) { + return fmt::format("(def-joint-node {} \"{}\" {})\n", jg_name, joint_name, idx); +} } // namespace decompiler diff --git a/decompiler/ObjectFile/ObjectFileDB.h b/decompiler/ObjectFile/ObjectFileDB.h index 8e22ed62ab3..624263b8426 100644 --- a/decompiler/ObjectFile/ObjectFileDB.h +++ b/decompiler/ObjectFile/ObjectFileDB.h @@ -395,4 +395,5 @@ class ObjectFileDB { }; std::string print_art_elt_for_dump(const std::string& group_name, const std::string& name, int idx); +std::string print_jg_for_dump(const std::string& jg_name, const std::string& joint_name, int idx); } // namespace decompiler diff --git a/decompiler/ObjectFile/ObjectFileDB_IR2.cpp b/decompiler/ObjectFile/ObjectFileDB_IR2.cpp index 2ced7e9a759..f4334d48228 100644 --- a/decompiler/ObjectFile/ObjectFileDB_IR2.cpp +++ b/decompiler/ObjectFile/ObjectFileDB_IR2.cpp @@ -548,14 +548,32 @@ void ObjectFileDB::ir2_type_analysis_pass(int seg, const Config& config, ObjectF func.ir2.env.set_stack_structure_hints( try_lookup(config.stack_structure_hints_by_function, func_name)); - if (config.art_groups_by_function.find(func_name) != config.art_groups_by_function.end()) { - func.ir2.env.set_art_group(config.art_groups_by_function.at(func_name)); - } else if (config.art_groups_by_file.find(obj_name) != config.art_groups_by_file.end()) { - func.ir2.env.set_art_group(config.art_groups_by_file.at(obj_name)); + if (func.guessed_name.kind == FunctionName::FunctionKind::V_STATE) { + if (config.art_group_type_remap.find(func.guessed_name.type_name) != + config.art_group_type_remap.end()) { + func.ir2.env.set_art_group(config.art_group_type_remap.at(func.guessed_name.type_name)); + } else { + func.ir2.env.set_art_group(func.guessed_name.type_name + "-ag"); + } + } else if (func.guessed_name.kind == FunctionName::FunctionKind::NV_STATE || + func.type.try_get_tag("behavior").has_value()) { + std::string type = func.type.get_tag("behavior"); + if (config.art_group_type_remap.find(type) != config.art_group_type_remap.end()) { + func.ir2.env.set_art_group(config.art_group_type_remap.at(type)); + } else { + func.ir2.env.set_art_group(type + "-ag"); + } } else { func.ir2.env.set_art_group(obj_name + "-ag"); } + func.ir2.env.set_jg(func.ir2.env.art_group()); + + if (config.joint_node_hacks.find(func.ir2.env.art_group()) != + config.joint_node_hacks.end()) { + func.ir2.env.set_jg(config.joint_node_hacks.at(func.ir2.env.art_group())); + } + constexpr bool kForceNewTypes = false; if (config.game_version == GameVersion::Jak2 || kForceNewTypes) { // use new types for jak 2 always diff --git a/decompiler/config.cpp b/decompiler/config.cpp index ffc1a2d60a8..f118d6ea9d9 100644 --- a/decompiler/config.cpp +++ b/decompiler/config.cpp @@ -56,6 +56,14 @@ Config make_config_via_json(nlohmann::json& json) { config.art_group_info_dump = serialized; } + if (json.contains("joint_node_dump_file")) { + auto json_data = file_util::read_text_file( + file_util::get_file_path({json.at("joint_node_dump_file").get()})); + std::unordered_map> serialized = + parse_commented_json(json_data, "joint_node_dump_file"); + config.jg_info_dump = serialized; + } + if (json.contains("obj_file_name_map_file")) { config.obj_file_name_map_file = json.at("obj_file_name_map_file").get(); } @@ -75,6 +83,7 @@ Config make_config_via_json(nlohmann::json& json) { config.process_subtitle_images = json.at("process_subtitle_images").get(); } config.dump_art_group_info = json.at("dump_art_group_info").get(); + config.dump_joint_geo_info = json.at("dump_joint_geo_info").get(); config.hexdump_code = json.at("hexdump_code").get(); config.hexdump_data = json.at("hexdump_data").get(); config.find_functions = json.at("find_functions").get(); @@ -286,10 +295,10 @@ Config make_config_via_json(nlohmann::json& json) { } auto art_info_json = read_json_file_from_config(json, "art_info_file"); - config.art_groups_by_file = - art_info_json.at("files").get>(); - config.art_groups_by_function = - art_info_json.at("functions").get>(); + config.art_group_type_remap = + art_info_json.at("type_remap").get>(); + config.joint_node_hacks = + art_info_json.at("joint_node_hacks").get>(); auto import_deps = read_json_file_from_config(json, "import_deps_file"); config.import_deps_by_file = diff --git a/decompiler/config.h b/decompiler/config.h index f9689bc31d3..8925c309121 100644 --- a/decompiler/config.h +++ b/decompiler/config.h @@ -116,6 +116,7 @@ struct Config { bool process_subtitle_text = false; bool process_subtitle_images = false; bool dump_art_group_info = false; + bool dump_joint_geo_info = false; bool rip_levels = false; bool extract_collision = false; bool find_functions = false; @@ -169,9 +170,10 @@ struct Config { DecompileHacks hacks; - std::unordered_map art_groups_by_file; - std::unordered_map art_groups_by_function; + std::unordered_map art_group_type_remap; std::unordered_map> art_group_info_dump; + std::unordered_map> jg_info_dump; + std::unordered_map joint_node_hacks; std::unordered_map> import_deps_by_file; }; diff --git a/decompiler/config/jak1/jak1_config.jsonc b/decompiler/config/jak1/jak1_config.jsonc index 57faf1e73f3..b8cf1f3fe09 100644 --- a/decompiler/config/jak1/jak1_config.jsonc +++ b/decompiler/config/jak1/jak1_config.jsonc @@ -42,6 +42,8 @@ "process_art_groups": false, // write out a json file containing the art info mapping, run this with all objects allowed "dump_art_group_info": false, + // write out a json file containing the joint node mapping, run this with all objects allowed + "dump_joint_geo_info": false, /////////////////////////// // WEIRD OPTIONS @@ -88,6 +90,7 @@ "import_deps_file": "decompiler/config/jak1/ntsc_v1/import_deps.jsonc", "all_types_file": "decompiler/config/jak1/all-types.gc", "art_group_dump_file": "decompiler/config/jak1/ntsc_v1/art-group-info.min.json", + "joint_node_dump_file": "decompiler/config/jak1/ntsc_v1/joint-node-info.min.json", // optional: a predetermined object file name map from a file. // this will make decompilation naming consistent even if you only run on some objects. diff --git a/decompiler/config/jak1/ntsc_v1/art_info.jsonc b/decompiler/config/jak1/ntsc_v1/art_info.jsonc index 19d3993682a..1e6c8706de0 100644 --- a/decompiler/config/jak1/ntsc_v1/art_info.jsonc +++ b/decompiler/config/jak1/ntsc_v1/art_info.jsonc @@ -4,24 +4,48 @@ ////////////////////// // defines what art group each file or function is using. - // by default, the decompiler assumes to be the name of the current file + -ag + // by default, the decompiler assumes this to be the name of the current type + -ag // so you only need to specify it when that's not the case. - // NOTE: it's fine to have a function and its file both in here. the function takes priority. - "files": { + // remap names for states and behaviors + "type_remap": { "target": "eichar-ag", - "target2": "eichar-ag", - "target-death": "eichar-ag", - "powerups": "eichar-ag", - "snow-ram": "ram-ag" + "aphid": "aphid-lurker-ag", + "mistycannon-missile": "sack-ag", + "beach-rock": "lrocklrg-ag", + "billy-snack": "farthy-snack-ag", + "billy-rat": "swamp-rat-ag", + "bully-broken-cage": "bully-ag", + "precurbridgecam": "junglecam-ag", + "assistant-bluehut": "assistant-village2-ag", + "assistant-levitator": "assistant-village2-ag", + "assistant-villagec": "assistant-village3-ag", + "balloonlurker-pilot": "balloonlurker-ag", + "flutflut": "flut-saddle-ag", + "gnawer-falling-segment": "gnawer-ag", + "babak-with-cannon": "babak-ag", + "springbox": "bounceytarp-ag", + "light-eco-mother": "light-eco-ag", + "light-eco-child": "light-eco-ag", + "bone-platform": "mis-bone-platform-ag", + "peeper": "lightning-mole-ag", + "mother-spider": "mother-spider-ag", + "mother-spider-leg": "mother-spider-ag", + "mother-spider-egg": "spider-egg-ag", + "ogreboss-super-boulder": "ogreboss-ag", + "ogreboss-bounce-boulder": "ogreboss-ag", + "plant-boss-arm": "plant-boss-ag", + "plant-boss-leaf": "plant-boss-ag", + "snow-ball-shadow": "snow-ball-ag", + "swamp-bat-slave": "swamp-bat-ag", + "swampgate": "swamp-spike-ag", + "starfish": "villa-starfish-ag", + "yeti-slave": "yeti-ag" }, - "functions": { - "(code target-warp-out)": "eichar-ag", - "(code mistycannon-missile-idle)": "sack-ag", - "(code billy-snack-eat)": "farthy-snack-ag", - "(code plunger-lurker-plunge)": "plunger-lurker-ag", - "(code plunger-lurker-flee)": "plunger-lurker-ag", - "(code plunger-lurker-idle)": "plunger-lurker-ag" + // some art groups (like robotboss-ag) have a name for their model that differs + // from the usual ag-name + "-lod0". you can add those exceptions here. + "joint_node_hacks": { + "robotboss-ag": "robotboss-basic" } } diff --git a/decompiler/config/jak1/ntsc_v1/joint-node-info.min.json b/decompiler/config/jak1/ntsc_v1/joint-node-info.min.json new file mode 100644 index 00000000000..f6b5bee18f6 --- /dev/null +++ b/decompiler/config/jak1/ntsc_v1/joint-node-info.min.json @@ -0,0 +1 @@ +{"accordian-lod0-jg":[[22,"three"],[21,"two"],[20,"one"],[19,"top"],[18,"midpeicetwo"],[17,"midpeiceone"],[16,"midpeicetop"],[15,"twistythree"],[14,"twistytwo"],[1,"align"],[2,"prejoint"],[3,"toptubeparent"],[4,"topthree"],[5,"onethree"],[6,"twothree"],[7,"threethree"],[8,"toptwo"],[9,"onetwo"],[10,"twotwo"],[11,"threetwo"],[12,"twistytop"],[13,"twistyone"]],"allpontoons-lod0-jg":[[9,"6"],[8,"camera"],[7,"5"],[6,"4"],[5,"3"],[4,"2"],[3,"1"],[2,"prejoint"],[1,"align"]],"aphid-lurker-lod0-jg":[[36,"ring"],[35,"head_spike"],[34,"r_antenna2"],[33,"r_antenna1"],[32,"l_antenna2"],[31,"l_antenna1"],[30,"spike5"],[13,"spike3"],[12,"jaw"],[11,"head"],[10,"neck"],[9,"chest"],[8,"spike6"],[7,"spike9"],[6,"spike1"],[5,"r_seg2"],[4,"r_seg1"],[3,"main"],[2,"prejoint"],[1,"align"],[14,"spike7"],[15,"spike4"],[16,"rleg_c1"],[17,"rleg_c2"],[18,"lleg_c1"],[19,"lleg_c2"],[20,"lleg_b1"],[21,"lleg_b2"],[22,"lleg_a1"],[23,"lleg_a2"],[24,"rleg_b1"],[25,"rleg_b2"],[26,"rleg_a1"],[27,"rleg_a2"],[28,"spike2"],[29,"spike8"]],"assistant-firecanyon-lod0-jg":[[94,"belt"],[93,"RpantFlap"],[92,"LpantFlap"],[91,"rBotStrap2"],[90,"rBotStrap1"],[89,"lBotStrap2"],[88,"lBotStrap1"],[87,"rKneeFlap"],[86,"RfootFlaps"],[85,"RtoeStrap"],[84,"lKneeFlap"],[83,"LfootFlaps"],[82,"gogglesLeft"],[81,"gogglesRight"],[80,"gogglesMid"],[79,"gogglesBase"],[78,"rBoob"],[77,"lBoob"],[76,"rTopStrap2"],[75,"rTopStrap1"],[74,"rGlove"],[73,"RpinkyC"],[72,"RpinkyB"],[71,"RpinkyA"],[70,"RringC"],[69,"RringB"],[68,"RringA"],[67,"RmiddleC"],[66,"RmiddleB"],[65,"RmiddleA"],[64,"RindexC"],[63,"RindexB"],[62,"RindexA"],[61,"RthumbC"],[60,"RthumbB"],[29,"camera"],[28,"Rball"],[27,"Rankle"],[26,"Rknee"],[25,"Rthigh"],[24,"LtoeStrap"],[23,"Lball"],[22,"Lankle"],[21,"Lknee"],[20,"Lthigh"],[19,"hips"],[18,"Rhand"],[17,"Relbow"],[16,"Rshoulder"],[15,"lTopStrap1"],[14,"Lhand"],[1,"align"],[2,"prejoint"],[3,"main"],[4,"chest"],[5,"neck"],[6,"head"],[7,"lEar1"],[8,"lEar2"],[9,"rEar1"],[10,"rEar2"],[11,"backHair1"],[12,"Lshoulder"],[13,"Lelbow"],[30,"cameraB"],[31,"flipR1"],[32,"flipR2"],[33,"flipR3"],[34,"flipL1"],[35,"flipL2"],[36,"flipL3"],[37,"Lhair1"],[38,"Lhair2"],[39,"Rhair1"],[40,"Rhair2"],[41,"backHair2"],[42,"LthumbA"],[43,"LthumbB"],[44,"LthumbC"],[45,"LindexA"],[46,"LindexB"],[47,"LindexC"],[48,"LmiddleA"],[49,"LmiddleB"],[50,"LmiddleC"],[51,"LringA"],[52,"LringB"],[53,"LringC"],[54,"LpinkyA"],[55,"LpinkyB"],[56,"LpinkyC"],[57,"lGlove"],[58,"lTopStrap2"],[59,"RthumbA"]],"assistant-lavatube-end-lod0-jg":[[94,"belt"],[93,"RpantFlap"],[92,"LpantFlap"],[91,"rBotStrap2"],[90,"rBotStrap1"],[89,"lBotStrap2"],[88,"lBotStrap1"],[87,"rKneeFlap"],[86,"RfootFlaps"],[85,"RtoeStrap"],[84,"lKneeFlap"],[83,"LfootFlaps"],[82,"gogglesLeft"],[81,"gogglesRight"],[80,"gogglesMid"],[79,"gogglesBase"],[78,"rBoob"],[77,"lBoob"],[76,"rTopStrap2"],[75,"rTopStrap1"],[74,"rGlove"],[73,"RpinkyC"],[72,"RpinkyB"],[71,"RpinkyA"],[70,"RringC"],[69,"RringB"],[68,"RringA"],[67,"RmiddleC"],[66,"RmiddleB"],[65,"RmiddleA"],[64,"RindexC"],[63,"RindexB"],[62,"RindexA"],[61,"RthumbC"],[60,"RthumbB"],[29,"camera"],[28,"Rball"],[27,"Rankle"],[26,"Rknee"],[25,"Rthigh"],[24,"LtoeStrap"],[23,"Lball"],[22,"Lankle"],[21,"Lknee"],[20,"Lthigh"],[19,"hips"],[18,"Rhand"],[17,"Relbow"],[16,"Rshoulder"],[15,"lTopStrap1"],[14,"Lhand"],[1,"align"],[2,"prejoint"],[3,"main"],[4,"chest"],[5,"neck"],[6,"head"],[7,"lEar1"],[8,"lEar2"],[9,"rEar1"],[10,"rEar2"],[11,"backHair1"],[12,"Lshoulder"],[13,"Lelbow"],[30,"cameraB"],[31,"flipR1"],[32,"flipR2"],[33,"flipR3"],[34,"flipL1"],[35,"flipL2"],[36,"flipL3"],[37,"Lhair1"],[38,"Lhair2"],[39,"Rhair1"],[40,"Rhair2"],[41,"backHair2"],[42,"LthumbA"],[43,"LthumbB"],[44,"LthumbC"],[45,"LindexA"],[46,"LindexB"],[47,"LindexC"],[48,"LmiddleA"],[49,"LmiddleB"],[50,"LmiddleC"],[51,"LringA"],[52,"LringB"],[53,"LringC"],[54,"LpinkyA"],[55,"LpinkyB"],[56,"LpinkyC"],[57,"lGlove"],[58,"lTopStrap2"],[59,"RthumbA"]],"assistant-lavatube-start-lod0-jg":[[94,"belt"],[93,"RpantFlap"],[92,"LpantFlap"],[91,"rBotStrap2"],[90,"rBotStrap1"],[89,"lBotStrap2"],[88,"lBotStrap1"],[87,"rKneeFlap"],[86,"RfootFlaps"],[85,"RtoeStrap"],[84,"lKneeFlap"],[83,"LfootFlaps"],[82,"gogglesLeft"],[81,"gogglesRight"],[80,"gogglesMid"],[79,"gogglesBase"],[78,"rBoob"],[77,"lBoob"],[76,"rTopStrap2"],[75,"rTopStrap1"],[74,"rGlove"],[73,"RpinkyC"],[72,"RpinkyB"],[71,"RpinkyA"],[70,"RringC"],[69,"RringB"],[68,"RringA"],[67,"RmiddleC"],[66,"RmiddleB"],[65,"RmiddleA"],[64,"RindexC"],[63,"RindexB"],[62,"RindexA"],[61,"RthumbC"],[60,"RthumbB"],[29,"camera"],[28,"Rball"],[27,"Rankle"],[26,"Rknee"],[25,"Rthigh"],[24,"LtoeStrap"],[23,"Lball"],[22,"Lankle"],[21,"Lknee"],[20,"Lthigh"],[19,"hips"],[18,"Rhand"],[17,"Relbow"],[16,"Rshoulder"],[15,"lTopStrap1"],[14,"Lhand"],[1,"align"],[2,"prejoint"],[3,"main"],[4,"chest"],[5,"neck"],[6,"head"],[7,"lEar1"],[8,"lEar2"],[9,"rEar1"],[10,"rEar2"],[11,"backHair1"],[12,"Lshoulder"],[13,"Lelbow"],[30,"cameraB"],[31,"flipR1"],[32,"flipR2"],[33,"flipR3"],[34,"flipL1"],[35,"flipL2"],[36,"flipL3"],[37,"Lhair1"],[38,"Lhair2"],[39,"Rhair1"],[40,"Rhair2"],[41,"backHair2"],[42,"LthumbA"],[43,"LthumbB"],[44,"LthumbC"],[45,"LindexA"],[46,"LindexB"],[47,"LindexC"],[48,"LmiddleA"],[49,"LmiddleB"],[50,"LmiddleC"],[51,"LringA"],[52,"LringB"],[53,"LringC"],[54,"LpinkyA"],[55,"LpinkyB"],[56,"LpinkyC"],[57,"lGlove"],[58,"lTopStrap2"],[59,"RthumbA"]],"assistant-lod0-jg":[[96,"belt"],[95,"RpantFlap"],[94,"LpantFlap"],[93,"rBotStrap2"],[92,"rBotStrap1"],[91,"lBotStrap2"],[90,"lBotStrap1"],[89,"rKneeFlap"],[88,"RfootFlaps"],[87,"RtoeStrap"],[86,"lKneeFlap"],[85,"LfootFlaps"],[84,"gogglesLeft"],[83,"gogglesRight"],[82,"gogglesMid"],[81,"gogglesBase"],[80,"rBoob"],[79,"lBoob"],[78,"rTopStrap2"],[77,"rTopStrap1"],[76,"rGlove"],[75,"RpinkyC"],[74,"RpinkyB"],[73,"RpinkyA"],[72,"RringC"],[71,"RringB"],[70,"RringA"],[69,"RmiddleC"],[68,"RmiddleB"],[67,"RmiddleA"],[66,"RindexC"],[65,"RindexB"],[64,"RindexA"],[63,"RthumbC"],[62,"RthumbB"],[61,"RthumbA"],[60,"lTopStrap2"],[29,"torch"],[28,"Rball"],[27,"Rankle"],[26,"Rknee"],[25,"Rthigh"],[24,"LtoeStrap"],[23,"Lball"],[22,"Lankle"],[21,"Lknee"],[20,"Lthigh"],[19,"hips"],[18,"Rhand"],[17,"Relbow"],[16,"Rshoulder"],[15,"lTopStrap1"],[14,"Lhand"],[1,"align"],[2,"prejoint"],[3,"main"],[4,"chest"],[5,"neck"],[6,"head"],[7,"lEar1"],[8,"lEar2"],[9,"rEar1"],[10,"rEar2"],[11,"backHair1"],[12,"Lshoulder"],[13,"Lelbow"],[30,"torchTIP"],[31,"camera"],[32,"cameraB"],[33,"flipR1"],[34,"flipR2"],[35,"flipR3"],[36,"flipL1"],[37,"flipL2"],[38,"flipL3"],[39,"Lhair1"],[40,"Lhair2"],[41,"Rhair1"],[42,"Rhair2"],[43,"backHair2"],[44,"LthumbA"],[45,"LthumbB"],[46,"LthumbC"],[47,"LindexA"],[48,"LindexB"],[49,"LindexC"],[50,"LmiddleA"],[51,"LmiddleB"],[52,"LmiddleC"],[53,"LringA"],[54,"LringB"],[55,"LringC"],[56,"LpinkyA"],[57,"LpinkyB"],[58,"LpinkyC"],[59,"lGlove"]],"assistant-village2-lod0-jg":[[96,"belt"],[95,"RpantFlap"],[94,"LpantFlap"],[93,"rBotStrap2"],[92,"lBotStrap2"],[91,"rKneeFlap"],[90,"RfootFlaps"],[89,"RtoeStrap"],[88,"lKneeFlap"],[87,"LfootFlaps"],[86,"rBoob"],[85,"lBoob"],[84,"rTopStrap2"],[83,"rGlove"],[82,"RpinkyC"],[81,"RpinkyB"],[80,"RpinkyA"],[79,"RringC"],[78,"RringB"],[77,"RringA"],[76,"RmiddleC"],[75,"RindexC"],[74,"RindexB"],[73,"RindexA"],[72,"RthumbC"],[71,"lTopStrap2"],[70,"lGlove"],[69,"LpinkyC"],[68,"LpinkyB"],[67,"LpinkyA"],[66,"LringC"],[65,"LringB"],[64,"LringA"],[63,"LmiddleC"],[62,"LindexC"],[61,"LindexB"],[60,"LindexA"],[29,"torch"],[28,"Rball"],[27,"Rankle"],[26,"Rknee"],[25,"Rthigh"],[24,"LtoeStrap"],[23,"Lball"],[22,"Lankle"],[21,"Lknee"],[20,"Lthigh"],[19,"hips"],[18,"Rhand"],[17,"Relbow"],[16,"Rshoulder"],[15,"lTopStrap1"],[14,"Lhand"],[1,"align"],[2,"prejoint"],[3,"main"],[4,"chest"],[5,"neck"],[6,"head"],[7,"lEar1"],[8,"lEar2"],[9,"rEar1"],[10,"rEar2"],[11,"backHair1"],[12,"Lshoulder"],[13,"Lelbow"],[30,"torchTIP"],[31,"camera"],[32,"cameraB"],[33,"gogglesBase"],[34,"backHair2"],[35,"LthumbA"],[36,"LthumbB"],[37,"LmiddleA"],[38,"LmiddleB"],[39,"RthumbA"],[40,"RthumbB"],[41,"RmiddleA"],[42,"RmiddleB"],[43,"rTopStrap1"],[44,"gogglesMid"],[45,"gogglesRight"],[46,"gogglesLeft"],[47,"lBotStrap1"],[48,"rBotStrap1"],[49,"flipR1"],[50,"flipR2"],[51,"flipR3"],[52,"flipL1"],[53,"flipL2"],[54,"flipL3"],[55,"Lhair1"],[56,"Lhair2"],[57,"Rhair1"],[58,"Rhair2"],[59,"LthumbC"]],"assistant-village3-lod0-jg":[[96,"belt"],[95,"RpantFlap"],[94,"LpantFlap"],[93,"rBotStrap2"],[92,"rBotStrap1"],[91,"lBotStrap2"],[90,"lBotStrap1"],[89,"rKneeFlap"],[88,"RfootFlaps"],[87,"RtoeStrap"],[86,"lKneeFlap"],[85,"LfootFlaps"],[84,"gogglesLeft"],[83,"gogglesRight"],[82,"gogglesMid"],[81,"gogglesBase"],[80,"rBoob"],[79,"lBoob"],[78,"rTopStrap2"],[77,"rTopStrap1"],[76,"rGlove"],[75,"RpinkyC"],[74,"RpinkyB"],[73,"RpinkyA"],[72,"RringC"],[71,"RringB"],[70,"RringA"],[69,"RmiddleC"],[68,"RmiddleB"],[67,"RmiddleA"],[66,"RindexC"],[65,"RindexB"],[64,"RindexA"],[63,"RthumbC"],[62,"RthumbB"],[61,"RthumbA"],[60,"lTopStrap2"],[29,"torch"],[28,"Rball"],[27,"Rankle"],[26,"Rknee"],[25,"Rthigh"],[24,"LtoeStrap"],[23,"Lball"],[22,"Lankle"],[21,"Lknee"],[20,"Lthigh"],[19,"hips"],[18,"Rhand"],[17,"Relbow"],[16,"Rshoulder"],[15,"lTopStrap1"],[14,"Lhand"],[1,"align"],[2,"prejoint"],[3,"main"],[4,"chest"],[5,"neck"],[6,"head"],[7,"lEar1"],[8,"lEar2"],[9,"rEar1"],[10,"rEar2"],[11,"backHair1"],[12,"Lshoulder"],[13,"Lelbow"],[30,"torchTIP"],[31,"camera"],[32,"cameraB"],[33,"flipR1"],[34,"flipR2"],[35,"flipR3"],[36,"flipL1"],[37,"flipL2"],[38,"flipL3"],[39,"Lhair1"],[40,"Lhair2"],[41,"Rhair1"],[42,"Rhair2"],[43,"backHair2"],[44,"LthumbA"],[45,"LthumbB"],[46,"LthumbC"],[47,"LindexA"],[48,"LindexB"],[49,"LindexC"],[50,"LmiddleA"],[51,"LmiddleB"],[52,"LmiddleC"],[53,"LringA"],[54,"LringB"],[55,"LringC"],[56,"LpinkyA"],[57,"LpinkyB"],[58,"LpinkyC"],[59,"lGlove"]],"babak-lod0-jg":[[47,"RmiddleC"],[46,"RindexC"],[45,"RthumbC"],[44,"LmiddleC"],[43,"LindexC"],[42,"LthumbC"],[41,"Lleghair"],[40,"backhair"],[39,"RmiddleB"],[38,"RmiddleA"],[37,"RindexB"],[36,"RindexA"],[35,"RthumbB"],[34,"RthumbA"],[33,"Larmhair"],[32,"LmiddleB"],[31,"LmiddleA"],[30,"LindexB"],[13,"Rhand"],[12,"Relbow"],[11,"Rshoulder"],[10,"Lhand"],[9,"Lelbow"],[8,"Lshoulder"],[7,"jaw"],[6,"head"],[5,"neck"],[4,"chest"],[3,"main"],[2,"prejoint"],[1,"align"],[14,"Rarmhair"],[15,"hips"],[16,"Lthigh"],[17,"Lknee"],[18,"Lankle"],[19,"Lball"],[20,"Rthigh"],[21,"Rknee"],[22,"Rankle"],[23,"Rball"],[24,"Rleghair"],[25,"headhair"],[26,"frontring"],[27,"LthumbA"],[28,"LthumbB"],[29,"LindexA"]],"baby-spider-lod0-jg":[[21,"hair"],[20,"ring"],[19,"jaw"],[18,"head"],[17,"rrearlegB"],[16,"rrearlegA"],[15,"rmidlegB"],[14,"rmidlegA"],[1,"align"],[2,"prejoint"],[3,"main"],[4,"bodA"],[5,"lrearlegA"],[6,"lrearlegB"],[7,"lmidlegA"],[8,"lmidlegB"],[9,"lfrontlegA"],[10,"lfrontlegB"],[11,"bodB"],[12,"rfrontlegA"],[13,"rfrontlegB"]],"balance-plat-lod0-jg":[[3,"balanceplat"],[2,"prejoint"],[1,"align"]],"balloon-lod0-jg":[[12,"rightbot"],[11,"rightmid"],[10,"leftbot"],[9,"leftmid"],[8,"midbot"],[7,"midmid"],[6,"righttop"],[5,"lefttop"],[4,"midtop"],[3,"main"],[2,"prejoint"],[1,"align"]],"balloonlurker-lod0-jg":[[20,"pedLEFT"],[19,"pedRIGHT"],[18,"Lpulley1"],[17,"Lpulley"],[16,"Rpulley1"],[15,"Rpulley"],[14,"pedals"],[1,"align"],[2,"prejoint"],[3,"all"],[4,"prop"],[5,"BmineA"],[6,"BmineB"],[7,"BmineC"],[8,"FmineA"],[9,"FmineB"],[10,"FmineC"],[11,"poleTop"],[12,"Rudder"],[13,"poleBot"]],"balloonlurker-pilot-lod0-jg":[[21,"Rankle"],[20,"Rknee"],[19,"Rthigh"],[18,"Lankle"],[17,"Lknee"],[16,"Lthigh"],[15,"hips"],[14,"Rhand"],[1,"align"],[2,"prejoint"],[3,"all"],[4,"poleTop"],[5,"poleBot"],[6,"main"],[7,"chest"],[8,"neck"],[9,"Lshoulder"],[10,"Lelbow"],[11,"Lhand"],[12,"Rshoulder"],[13,"Relbow"]],"barrel-lod0-jg":[[3,"crate"],[2,"prejoint"],[1,"align"]],"beachcam-lod0-jg":[[4,"camera"],[3,"beachcam"],[2,"prejoint"],[1,"align"]],"billy-lod0-jg":[[59,"RpinkyB"],[58,"RpinkyA"],[57,"RmiddleB"],[56,"RmiddleA"],[55,"RthumbB"],[54,"RthumbA"],[53,"tail3"],[52,"tail2"],[51,"tail1"],[50,"LpinkyB"],[49,"LpinkyA"],[48,"LmiddleB"],[47,"LmiddleA"],[46,"LthumbB"],[45,"lEar2"],[44,"lEar1"],[43,"rEar2"],[42,"rEar1"],[41,"cameraB"],[40,"camera"],[39,"strap3"],[38,"strap2"],[37,"strap1"],[36,"flap2"],[35,"flap1"],[34,"Rball"],[33,"Rankle"],[32,"Rknee"],[31,"Rthigh"],[30,"Lball"],[13,"LthumbA"],[12,"Lhand"],[11,"Lelbow"],[10,"Lshoulder"],[9,"hair2"],[8,"hair1"],[7,"goatee"],[6,"head"],[5,"neck"],[4,"chest"],[3,"main"],[2,"prejoint"],[1,"align"],[14,"LindexA"],[15,"LindexB"],[16,"LringA"],[17,"LringB"],[18,"jug"],[19,"Rshoulder"],[20,"Relbow"],[21,"Rhand"],[22,"RindexA"],[23,"RindexB"],[24,"RringA"],[25,"RringB"],[26,"hips"],[27,"Lthigh"],[28,"Lknee"],[29,"Lankle"]],"billy-sidekick-lod0-jg":[[39,"rightbackfur1"],[38,"leftbackfur1"],[37,"Rball_rear"],[36,"Rankle"],[35,"Rknee"],[34,"Rthigh"],[33,"tail4"],[32,"tail3"],[31,"tail2"],[30,"tail1"],[13,"jaw"],[12,"weed"],[11,"rightEAR2"],[10,"rightEAR1"],[9,"leftEAR2"],[8,"leftEAR1"],[7,"hat"],[6,"head"],[5,"neck"],[4,"chest"],[3,"main"],[2,"prejoint"],[1,"align"],[14,"tongue1"],[15,"tongue2"],[16,"Lshoulder"],[17,"Lelbow"],[18,"Lhand"],[19,"Lball_front"],[20,"Rshoulder"],[21,"Relbow"],[22,"Rhand"],[23,"Rball_front"],[24,"loSpine"],[25,"hips"],[26,"Lthigh"],[27,"Lknee"],[28,"Lankle"],[29,"Lball_rear"]],"bird-lady-beach-lod0-jg":[[68,"rBoob"],[67,"lBoob"],[66,"LringC"],[65,"LringB"],[64,"LringA"],[63,"LmiddleC"],[62,"LmiddleB"],[61,"LmiddleA"],[60,"RringC"],[29,"Lshoulder"],[28,"RpinkyC"],[27,"RpinkyB"],[26,"RpinkyA"],[25,"RindexC"],[24,"RindexB"],[23,"RindexA"],[22,"RthumbC"],[21,"RthumbB"],[20,"RthumbA"],[19,"Rhand"],[18,"Relbow"],[17,"Rshoulder"],[16,"scope"],[15,"scopeMID"],[14,"rEarEND"],[1,"align"],[2,"prejoint"],[3,"main"],[4,"chest"],[5,"neck"],[6,"head"],[7,"headEND"],[8,"RchickEye"],[9,"ploomA"],[10,"ploomB"],[11,"lEar"],[12,"lEarEND"],[13,"rEar"],[30,"Lelbow"],[31,"Lhand"],[32,"LthumbA"],[33,"LthumbB"],[34,"LthumbC"],[35,"LindexA"],[36,"LindexB"],[37,"LindexC"],[38,"LpinkyA"],[39,"LpinkyB"],[40,"LpinkyC"],[41,"hips"],[42,"Lthigh"],[43,"Lknee"],[44,"Lankle"],[45,"Lball"],[46,"Rthigh"],[47,"Rknee"],[48,"Rankle"],[49,"Rball"],[50,"pouch"],[51,"camera"],[52,"cameraB"],[53,"LchickEye"],[54,"ploomEND"],[55,"RmiddleA"],[56,"RmiddleB"],[57,"RmiddleC"],[58,"RringA"],[59,"RringB"]],"bird-lady-lod0-jg":[[68,"rBoob"],[67,"lBoob"],[66,"LringC"],[65,"LringB"],[64,"LringA"],[63,"LmiddleC"],[62,"LmiddleB"],[61,"LmiddleA"],[60,"RringC"],[29,"Lshoulder"],[28,"RpinkyC"],[27,"RpinkyB"],[26,"RpinkyA"],[25,"RindexC"],[24,"RindexB"],[23,"RindexA"],[22,"RthumbC"],[21,"RthumbB"],[20,"RthumbA"],[19,"Rhand"],[18,"Relbow"],[17,"Rshoulder"],[16,"scope"],[15,"scopeMID"],[14,"rEarEND"],[1,"align"],[2,"prejoint"],[3,"main"],[4,"chest"],[5,"neck"],[6,"head"],[7,"headEND"],[8,"RchickEye"],[9,"ploomA"],[10,"ploomB"],[11,"lEar"],[12,"lEarEND"],[13,"rEar"],[30,"Lelbow"],[31,"Lhand"],[32,"LthumbA"],[33,"LthumbB"],[34,"LthumbC"],[35,"LindexA"],[36,"LindexB"],[37,"LindexC"],[38,"LpinkyA"],[39,"LpinkyB"],[40,"LpinkyC"],[41,"hips"],[42,"Lthigh"],[43,"Lknee"],[44,"Lankle"],[45,"Lball"],[46,"Rthigh"],[47,"Rknee"],[48,"Rankle"],[49,"Rball"],[50,"pouch"],[51,"camera"],[52,"cameraB"],[53,"LchickEye"],[54,"ploomEND"],[55,"RmiddleA"],[56,"RmiddleB"],[57,"RmiddleC"],[58,"RringA"],[59,"RringB"]],"bladeassm-lod0-jg":[[3,"master"],[2,"prejoint"],[1,"align"]],"blue-eco-charger-lod0-jg":[[7,"four"],[6,"three"],[5,"two"],[4,"one"],[3,"base"],[2,"prejoint"],[1,"align"]],"blue-eco-charger-orb-lod0-jg":[[3,"boneless"],[2,"prejoint"],[1,"align"]],"bluesage-lod0-jg":[[92,"staff3"],[91,"staff2"],[90,"brleg_strap2"],[89,"brleg_strap1"],[88,"trleg_strap2"],[87,"trleg_strap1"],[86,"blleg_strap2"],[85,"blleg_strap1"],[84,"tlleg_strap2"],[83,"tlleg_strap1"],[82,"arm_tubejoint33"],[81,"LringB"],[80,"LringA"],[79,"LmiddleB"],[78,"LmiddleA"],[77,"LthumbC"],[76,"glove"],[75,"RringB"],[74,"RringA"],[73,"RmiddleB"],[72,"RmiddleA"],[71,"RthumbC"],[70,"rear_chain2"],[69,"rear_chain1"],[68,"head_tubejoint32"],[67,"conduct8"],[66,"conduct10"],[65,"conduct9"],[64,"conduct1"],[63,"conduct2"],[62,"conduct4"],[61,"conduct3"],[60,"arm_tube3"],[29,"RindexB"],[28,"RindexA"],[27,"RthumbB"],[26,"RthumbA"],[25,"Rhand"],[24,"Relbow"],[23,"Rshoulder"],[22,"reye_chain2"],[21,"reye_chain1"],[20,"rear2"],[19,"rear1"],[18,"lear2"],[17,"lear1"],[16,"rmustache2"],[15,"rmustache1"],[14,"lmustache2"],[1,"align"],[2,"prejoint"],[3,"main"],[4,"chest"],[5,"neck"],[6,"head"],[7,"helmet"],[8,"conduct5"],[9,"conduct6"],[10,"conduct6_tip"],[11,"conduct7"],[12,"conduct7_tip"],[13,"lmustache1"],[30,"RpinkyA"],[31,"RpinkyB"],[32,"Lshoulder"],[33,"Lelbow"],[34,"Lhand"],[35,"LthumbA"],[36,"LthumbB"],[37,"LindexA"],[38,"LindexB"],[39,"LpinkyA"],[40,"LpinkyB"],[41,"arm_tube1"],[42,"arm_glo"],[43,"hips"],[44,"Lthigh"],[45,"Lknee"],[46,"Lankle"],[47,"Lball"],[48,"Rthigh"],[49,"Rknee"],[50,"Rankle"],[51,"Rball"],[52,"staff1"],[53,"staff_glo"],[54,"camera"],[55,"cameraB"],[56,"head_tube1"],[57,"head_tubej2"],[58,"head_tube3"],[59,"arm_tube2"]],"boatpaddle-lod0-jg":[[3,"wheel"],[2,"prejoint"],[1,"align"]],"bonelurker-lod0-jg":[[58,"RringC"],[57,"RringB"],[56,"RringA"],[55,"RmiddleC"],[54,"RmiddleB"],[53,"RmiddleA"],[52,"RthumbC"],[51,"RthumbB"],[50,"RthumbA"],[49,"clubEND"],[48,"LringC"],[47,"LringB"],[46,"LringA"],[45,"LmiddleC"],[44,"LmiddleB"],[43,"LthumbC"],[42,"LmiddleA"],[41,"LthumbB"],[40,"ring"],[39,"Rball"],[38,"Rankle"],[37,"Rknee"],[36,"Rthigh"],[35,"Lball"],[34,"Lankle"],[33,"Lknee"],[32,"Lthigh"],[31,"hips"],[30,"shoulderPadR"],[13,"LindexA"],[12,"LthumbA"],[11,"Lhand"],[10,"Lelbow"],[9,"Lshoulder"],[8,"jaw"],[7,"helmet"],[6,"head"],[5,"neck"],[4,"chest"],[3,"main"],[2,"prejoint"],[1,"align"],[14,"LindexB"],[15,"LindexC"],[16,"LpinkyA"],[17,"LpinkyB"],[18,"LpinkyC"],[19,"shoulderPadL"],[20,"Rshoulder"],[21,"Relbow"],[22,"Rhand"],[23,"RindexA"],[24,"RindexB"],[25,"RindexC"],[26,"RpinkyA"],[27,"RpinkyB"],[28,"RpinkyC"],[29,"club"]],"bounceytarp-lod0-jg":[[4,"tarp"],[3,"base"],[2,"prejoint"],[1,"align"]],"breakaway-left-lod0-jg":[[3,"breakleft"],[2,"prejoint"],[1,"align"]],"breakaway-mid-lod0-jg":[[3,"breakaway_"],[2,"prejoint"],[1,"align"]],"breakaway-right-lod0-jg":[[3,"breakaway_"],[2,"prejoint"],[1,"align"]],"bully-broken-cage-lod0-jg":[[12,"backspike"],[11,"frontsupport"],[10,"rsupport"],[9,"backsupport"],[8,"lsupport"],[7,"lspike"],[6,"frontspike"],[5,"front"],[4,"rfront"],[3,"back"],[2,"prejoint"],[1,"align"]],"bully-lod0-jg":[[44,"RpinkyB"],[43,"RpinkyA"],[42,"RringB"],[41,"RringA"],[40,"RindexB"],[39,"RindexA"],[38,"LpinkyB"],[37,"LpinkyA"],[36,"LringB"],[35,"LringA"],[34,"LindexB"],[33,"LindexA"],[32,"lGuard"],[31,"rGuard"],[30,"RmiddleB"],[13,"hips"],[12,"Rhand"],[11,"Relbow"],[10,"Rshoulder"],[9,"Lhand"],[8,"Lelbow"],[7,"Lshoulder"],[6,"jaw"],[5,"head"],[4,"chest"],[3,"main"],[2,"prejoint"],[1,"align"],[14,"Lthigh"],[15,"Lknee"],[16,"Lankle"],[17,"Lball"],[18,"Rthigh"],[19,"Rknee"],[20,"Rankle"],[21,"Rball"],[22,"cage"],[23,"LthumbA"],[24,"LthumbB"],[25,"LmiddleA"],[26,"LmiddleB"],[27,"RthumbA"],[28,"RthumbB"],[29,"RmiddleA"]],"buzzer-lod0-jg":[[15,"wings"],[14,"rLegs"],[1,"align"],[2,"prejoint"],[3,"main"],[4,"head"],[5,"lANT1"],[6,"lANT2"],[7,"rANT1"],[8,"rANT2"],[9,"rLens"],[10,"focus"],[11,"lLens"],[12,"lower"],[13,"lLegs"]],"catch-fisha-lod0-jg":[[5,"tail"],[4,"mid"],[3,"main"],[2,"prejoint"],[1,"align"]],"catch-fishb-lod0-jg":[[5,"tail"],[4,"mid"],[3,"main"],[2,"prejoint"],[1,"align"]],"catch-fishc-lod0-jg":[[15,"Rfintip"],[14,"Rfin"],[1,"align"],[2,"prejoint"],[3,"top"],[4,"tail1"],[5,"tail2"],[6,"tail3"],[7,"tailtop"],[8,"tailbot"],[9,"Lfin"],[10,"Lfintip"],[11,"head"],[12,"jaw"],[13,"jawbot"]],"cavecrusher-lod0-jg":[[3,"roller_"],[2,"prejoint"],[1,"align"]],"cavecrystal-lod0-jg":[[3,"boneless"],[2,"prejoint"],[1,"align"]],"caveelevator-lod0-jg":[[5,"frontaxle"],[4,"backaxle"],[3,"main"],[2,"prejoint"],[1,"align"]],"cavegem-lod0-jg":[[3,"boneless"],[2,"prejoint"],[1,"align"]],"cavespatula-darkcave-lod0-jg":[[3,"boneless"],[2,"prejoint"],[1,"align"]],"cavespatulatwo-lod0-jg":[[3,"boneless"],[2,"prejoint"],[1,"align"]],"cavetrapdoor-lod0-jg":[[3,"trapdoor_"],[2,"prejoint"],[1,"align"]],"ceilingflag-geo-jg":[[7,"5"],[6,"4"],[5,"3"],[4,"2"],[3,"main"],[2,"prejoint"],[1,"align"]],"chainmine-lod0-jg":[[6,"mine"],[5,"chainB"],[4,"chainA"],[3,"main"],[2,"prejoint"],[1,"align"]],"citadelcam-lod0-jg":[[4,"camera"],[3,"beachcam"],[2,"prejoint"],[1,"align"]],"citb-arm-a-lod0-jg":[[4,"center_"],[3,"boneless"],[2,"prejoint"],[1,"align"]],"citb-arm-b-lod0-jg":[[4,"center_"],[3,"boneless"],[2,"prejoint"],[1,"align"]],"citb-arm-c-lod0-jg":[[4,"center_"],[3,"boneless"],[2,"prejoint"],[1,"align"]],"citb-arm-d-lod0-jg":[[4,"center_"],[3,"boneless"],[2,"prejoint"],[1,"align"]],"citb-arm-shoulder-a-lod0-jg":[[4,"center_"],[3,"boneless"],[2,"prejoint"],[1,"align"]],"citb-arm-shoulder-b-lod0-jg":[[4,"center_"],[3,"boneless"],[2,"prejoint"],[1,"align"]],"citb-bunny-lod0-jg":[[21,"Rball"],[20,"Rankle"],[19,"Rknee"],[18,"Rthigh"],[17,"Lball"],[16,"Lankle"],[15,"Lknee"],[14,"Lthigh"],[1,"align"],[2,"prejoint"],[3,"main"],[4,"chest"],[5,"neck"],[6,"head"],[7,"jaw"],[8,"Lshoulder"],[9,"Lebow"],[10,"Lhand"],[11,"Rshoulder"],[12,"Rebow"],[13,"Rhand"]],"citb-button-lod0-jg":[[3,"main_"],[2,"prejoint"],[1,"align"]],"citb-chain-plat-lod0-jg":[[3,"boneless"],[2,"prejoint"],[1,"align"]],"citb-chains-lod0-jg":[[9,"six_"],[8,"five_"],[7,"four_"],[6,"three_"],[5,"two_"],[4,"one_"],[3,"main_"],[2,"prejoint"],[1,"align"]],"citb-coil-lod0-jg":[[7,"four"],[6,"three"],[5,"two"],[4,"one"],[3,"main_"],[2,"prejoint"],[1,"align"]],"citb-disc-a-lod0-jg":[[3,"boneless"],[2,"prejoint"],[1,"align"]],"citb-disc-b-lod0-jg":[[3,"boneless"],[2,"prejoint"],[1,"align"]],"citb-disc-c-lod0-jg":[[3,"boneless"],[2,"prejoint"],[1,"align"]],"citb-disc-d-lod0-jg":[[3,"boneless"],[2,"prejoint"],[1,"align"]],"citb-donut-lod0-jg":[[3,"boneless"],[2,"prejoint"],[1,"align"]],"citb-drop-plat-blue-lod0-jg":[[3,"boneless"],[2,"prejoint"],[1,"align"]],"citb-drop-plat-green-lod0-jg":[[3,"boneless"],[2,"prejoint"],[1,"align"]],"citb-drop-plat-lod0-jg":[[3,"boneless"],[2,"prejoint"],[1,"align"]],"citb-drop-plat-red-lod0-jg":[[3,"boneless"],[2,"prejoint"],[1,"align"]],"citb-drop-plat-yellow-lod0-jg":[[3,"boneless"],[2,"prejoint"],[1,"align"]],"citb-exit-plat-lod0-jg":[[4,"button"],[3,"main_"],[2,"prejoint"],[1,"align"]],"citb-firehose-lod0-jg":[[5,"hosehead"],[4,"hose"],[3,"main"],[2,"prejoint"],[1,"align"]],"citb-generator-broken-lod0-jg":[[3,"boneless"],[2,"prejoint"],[1,"align"]],"citb-generator-lod0-jg":[[3,"boneless"],[2,"prejoint"],[1,"align"]],"citb-hose-lod0-jg":[[8,"4"],[7,"3"],[6,"2"],[5,"1"],[4,"0"],[3,"main"],[2,"prejoint"],[1,"align"]],"citb-iris-door-lod0-jg":[[11,"rote8"],[10,"rote1"],[9,"rote7"],[8,"rote6"],[7,"rote5"],[6,"rote4"],[5,"rote3"],[4,"rote2"],[3,"base"],[2,"prejoint"],[1,"align"]],"citb-launcher-lod0-jg":[[3,"boneless"],[2,"prejoint"],[1,"align"]],"citb-robotboss-belly-lod0-jg":[[3,"main"],[2,"prejoint"],[1,"align"]],"citb-robotboss-gun-lod0-jg":[[3,"main"],[2,"prejoint"],[1,"align"]],"citb-robotboss-head-lod0-jg":[[3,"main"],[2,"prejoint"],[1,"align"]],"citb-robotboss-leftarm-lod0-jg":[[3,"main"],[2,"prejoint"],[1,"align"]],"citb-robotboss-leftshoulder-lod0-jg":[[3,"main"],[2,"prejoint"],[1,"align"]],"citb-robotboss-lod0-jg":[[3,"main"],[2,"prejoint"],[1,"align"]],"citb-robotboss-nose-lod0-jg":[[3,"main"],[2,"prejoint"],[1,"align"]],"citb-robotboss-rightarm-lod0-jg":[[3,"main"],[2,"prejoint"],[1,"align"]],"citb-robotboss-rightshoulder-lod0-jg":[[3,"main"],[2,"prejoint"],[1,"align"]],"citb-rotatebox-lod0-jg":[[3,"main"],[2,"prejoint"],[1,"align"]],"citb-sagecage-lod0-jg":[[3,"main"],[2,"prejoint"],[1,"align"]],"citb-stopbox-lod0-jg":[[3,"boneless"],[2,"prejoint"],[1,"align"]],"crate-barrel-lod0-jg":[[3,"crate"],[2,"prejoint"],[1,"align"]],"crate-bucket-lod0-jg":[[3,"bucket"],[2,"prejoint"],[1,"align"]],"crate-darkeco-cluster-lod0-jg":[[3,"crate"],[2,"prejoint"],[1,"align"]],"crate-darkeco-lod0-jg":[[3,"crate"],[2,"prejoint"],[1,"align"]],"crate-iron-lod0-jg":[[3,"crate"],[2,"prejoint"],[1,"align"]],"crate-steel-lod0-jg":[[3,"crate"],[2,"prejoint"],[1,"align"]],"crate-wood-lod0-jg":[[3,"crate"],[2,"prejoint"],[1,"align"]],"dark-crystal-explode-lod0-jg":[[17,"crystl_15"],[16,"crystl_14"],[15,"crystl_13"],[14,"crystl_12"],[1,"align"],[2,"prejoint"],[3,"crystl_1"],[4,"crystl_2"],[5,"crystl_3"],[6,"crystl_4"],[7,"crystl_5"],[8,"crystl_6"],[9,"crystl_7"],[10,"crystl_8"],[11,"crystl_9"],[12,"crystl_10"],[13,"crystl_11"]],"dark-crystal-lod0-jg":[[3,"crystal"],[2,"prejoint"],[1,"align"]],"dark-plant-lod0-jg":[[15,"leaf_a3"],[14,"leaf_a2"],[1,"align"],[2,"prejoint"],[3,"main"],[4,"leaf_b1"],[5,"leaf_b2"],[6,"leaf_b3"],[7,"leaf_d1"],[8,"leaf_d2"],[9,"leaf_d3"],[10,"leaf_c1"],[11,"leaf_c2"],[12,"leaf_c3"],[13,"leaf_a1"]],"darkecobarrel-lod0-jg":[[4,"swinger"],[3,"main"],[2,"prejoint"],[1,"align"]],"darkecobomb-lod0-jg":[[15,"botSpike"],[14,"rightSpike"],[1,"align"],[2,"prejoint"],[3,"main"],[4,"bottomBomb"],[5,"particles"],[6,"topBomb"],[7,"BotFlare"],[8,"LeftFlare"],[9,"TopFlare"],[10,"RightFlare"],[11,"Button"],[12,"leftSpike"],[13,"topSpike"]],"darkecocan-glow-lod0-jg":[[4,"center"],[3,"main"],[2,"prejoint"],[1,"align"]],"darkecocan-lod0-jg":[[4,"center"],[3,"main"],[2,"prejoint"],[1,"align"]],"darkvine-lod0-jg":[[8,"plantE"],[7,"plantD"],[6,"plantC"],[5,"plantB"],[4,"plantA"],[3,"BASE"],[2,"prejoint"],[1,"align"]],"deathcam-lod0-jg":[[4,"camera"],[3,"deathcam"],[2,"prejoint"],[1,"align"]],"double-lurker-lod0-jg":[[32,"RthumbB"],[31,"LthumbB"],[30,"Rball"],[13,"LmiddleB"],[12,"LmiddleA"],[11,"LthumbA"],[10,"Lhand"],[9,"Lelbow"],[8,"Lshoulder"],[7,"jawB"],[6,"ringB"],[5,"head"],[4,"chest"],[3,"main"],[2,"prejoint"],[1,"align"],[14,"Rshoulder"],[15,"Relbow"],[16,"Rhand"],[17,"RthumbA"],[18,"RmiddleA"],[19,"RmiddleB"],[20,"backHair"],[21,"frontHair"],[22,"hips"],[23,"Lthigh"],[24,"Lknee"],[25,"Lankle"],[26,"Lball"],[27,"Rthigh"],[28,"Rknee"],[29,"Rankle"]],"double-lurker-top-lod0-jg":[[30,"RthumbB"],[13,"hair"],[12,"LmiddleB"],[11,"LmiddleA"],[10,"LthumbA"],[9,"Lhand"],[8,"Lelbow"],[7,"Lshoulder"],[6,"jawT"],[5,"head"],[4,"chest"],[3,"main"],[2,"prejoint"],[1,"align"],[14,"Rshoulder"],[15,"Relbow"],[16,"Rhand"],[17,"RthumbA"],[18,"RmiddleA"],[19,"RmiddleB"],[20,"hips"],[21,"Lthigh"],[22,"Lknee"],[23,"Lankle"],[24,"Lball"],[25,"Rthigh"],[26,"Rknee"],[27,"Rankle"],[28,"Rball"],[29,"LthumbB"]],"driller-lurker-lod0-jg":[[67,"lHandle"],[66,"drillHoseC"],[65,"drillHoseB"],[64,"drillHoseA"],[63,"rHandleC"],[62,"rHandleB"],[61,"apronB"],[60,"apronA"],[29,"LmiddleB"],[28,"LmiddleA"],[27,"LthumbA"],[26,"rHandleA"],[25,"drill"],[24,"Rball"],[23,"Rankle"],[22,"Rknee"],[21,"Rthigh"],[20,"Lball"],[19,"Lankle"],[18,"Lknee"],[17,"Lthigh"],[16,"hips"],[15,"Rhand"],[14,"Relbow"],[1,"align"],[2,"prejoint"],[3,"main"],[4,"chest"],[5,"neck"],[6,"head"],[7,"jaw"],[8,"lamp"],[9,"light"],[10,"Lshoulder"],[11,"Lelbow"],[12,"Lhand"],[13,"Rshoulder"],[30,"LpinkyA"],[31,"LpinkyB"],[32,"RthumbA"],[33,"RmiddleA"],[34,"RmiddleB"],[35,"RpinkyA"],[36,"RpinkyB"],[37,"tankA"],[38,"drillBit"],[39,"ring"],[40,"LthumbB"],[41,"LthumbC"],[42,"LindexA"],[43,"LindexB"],[44,"LringA"],[45,"LringB"],[46,"lGuanlet"],[47,"RthumbB"],[48,"RthumbC"],[49,"RindexA"],[50,"RindexB"],[51,"RringA"],[52,"RringB"],[53,"rGuantlet"],[54,"tankB"],[55,"tankHoseA"],[56,"tankHoseB"],[57,"tankHoseC"],[58,"l_shoulderGuard"],[59,"r_shoulderGuard"]],"ecoclaw-lod0-jg":[[7,"arm_4"],[6,"arm_3"],[5,"arm_2"],[4,"arm_1"],[3,"main"],[2,"prejoint"],[1,"align"]],"ecovalve-geo-jg":[[3,"boneless"],[2,"prejoint"],[1,"align"]],"ecoventrock-lod0-jg":[[3,"boneless"],[2,"prejoint"],[1,"align"]],"ef-plane-lod0-jg":[[3,"plane"],[2,"prejoint"],[1,"align"]],"eggtop-lod0-jg":[[4,"eggtop"],[3,"main"],[2,"prejoint"],[1,"align"]],"eichar-lod0-jg":[[83,"eyeR"],[82,"eyeL"],[81,"belt"],[80,"pantsLknee"],[79,"pantsLthigh"],[78,"pantsRknee"],[77,"pantsRthigh"],[76,"footRStrap"],[75,"Rtoes"],[74,"RbigToe"],[73,"Rball"],[72,"footLStrap"],[71,"Ltoes"],[70,"LbigToe"],[69,"Lball"],[68,"packStrapMid"],[67,"packStrapTop"],[66,"collarR"],[65,"collarL"],[64,"LshoulderPad"],[63,"handRStrapBotMid"],[62,"handRStrapBotTop"],[61,"rpinkB"],[60,"rpinkA"],[29,"Lankle"],[28,"Lknee"],[27,"Lthigh"],[26,"hips"],[25,"handRStrapTopMid"],[24,"handRStrapTopTop"],[23,"sk_rhand"],[22,"Rforarm"],[21,"Rarm"],[20,"Rshould"],[19,"handLStrapTopMid"],[18,"handLStrapTopTop"],[17,"sk_lhand"],[16,"Lforarm"],[15,"Larm"],[14,"Lshould"],[1,"align"],[2,"prejoint"],[3,"main"],[4,"upper_body"],[5,"chest"],[6,"neckA"],[7,"neckB"],[8,"MhairA"],[9,"MhairB"],[10,"Learbase"],[11,"Learmid"],[12,"Rearbase"],[13,"Rearmid"],[30,"ankleLStrap"],[31,"Rthigh"],[32,"Rknee"],[33,"Rankle"],[34,"ankleRStrap"],[35,"shirtLthigh"],[36,"shirtRthigh"],[37,"mouth"],[38,"browL"],[39,"browR"],[40,"lthumA"],[41,"lthumB"],[42,"lindA"],[43,"lindB"],[44,"lmidA"],[45,"lmidB"],[46,"lringA"],[47,"lringB"],[48,"lpinkA"],[49,"lpinkB"],[50,"handLStrapBotTop"],[51,"handLStrapBotMid"],[52,"rthumA"],[53,"rthumB"],[54,"rindA"],[55,"rindB"],[56,"rmidA"],[57,"rmidB"],[58,"rringA"],[59,"rringB"]],"energyarm-lod0-jg":[[6,"zapa"],[5,"zapb"],[4,"zapc"],[3,"main"],[2,"prejoint"],[1,"align"]],"energyball-lod0-jg":[[3,"boneless"],[2,"prejoint"],[1,"align"]],"energybase-lod0-jg":[[24,"disk"],[23,"box"],[22,"one_a"],[21,"one_b"],[20,"one_c"],[19,"four_a"],[18,"four_b"],[17,"four_c"],[16,"four_d"],[15,"four_e"],[14,"four_f"],[1,"align"],[2,"prejoint"],[3,"main"],[4,"two_d"],[5,"two_c"],[6,"two_b"],[7,"two_a"],[8,"ball3"],[9,"ball2"],[10,"three_c"],[11,"three_b"],[12,"three_a"],[13,"ball1"]],"energydoor-lod0-jg":[[8,"Door"],[7,"dustB"],[6,"dustA"],[5,"leftGear"],[4,"rightGear"],[3,"main"],[2,"prejoint"],[1,"align"]],"energyhub-lod0-jg":[[3,"boneless"],[2,"prejoint"],[1,"align"]],"evilbro-citadel-lod0-jg":[[75,"rball3"],[74,"rball2"],[73,"fball3"],[72,"fball2"],[71,"lball3"],[70,"lball2"],[69,"Rball"],[68,"Rankle"],[67,"Rknee"],[66,"Rthigh"],[65,"Lball"],[64,"Lankle"],[63,"Lknee"],[62,"RpinkyB"],[61,"RpinkyA"],[60,"RringB"],[29,"bcape1"],[28,"Lthigh"],[27,"hips"],[26,"rcollar"],[25,"bcollar"],[24,"lcollar"],[23,"Rhand"],[22,"Relbow"],[21,"Rshoulder"],[20,"lsleeve"],[19,"LthumbB"],[18,"LthumbA"],[17,"Lhand"],[16,"Lelbow"],[15,"Lshoulder"],[14,"hair3"],[1,"align"],[2,"prejoint"],[3,"main"],[4,"chest"],[5,"neck"],[6,"head"],[7,"lear1"],[8,"lear2"],[9,"rear1"],[10,"rear2"],[11,"hairBase"],[12,"hair1"],[13,"hair2"],[30,"bcape2"],[31,"fCapeA"],[32,"fCapeEND"],[33,"lball1"],[34,"fball1"],[35,"rball1"],[36,"lcape1"],[37,"lcape2"],[38,"rcape1"],[39,"rcape2"],[40,"camera"],[41,"goatee1"],[42,"goatee2"],[43,"LthumbC"],[44,"LindexA"],[45,"LindexB"],[46,"LmiddleA"],[47,"LmiddleB"],[48,"LringA"],[49,"LringB"],[50,"LpinkyA"],[51,"LpinkyB"],[52,"RthumbA"],[53,"RthumbB"],[54,"RthumbC"],[55,"RindexA"],[56,"RindexB"],[57,"RmiddleA"],[58,"RmiddleB"],[59,"RringA"]],"evilbro-lod0-jg":[[75,"rball3"],[74,"rball2"],[73,"fball3"],[72,"fball2"],[71,"lball3"],[70,"lball2"],[69,"Rball"],[68,"Rankle"],[67,"Rknee"],[66,"Rthigh"],[65,"Lball"],[64,"Lankle"],[63,"Lknee"],[62,"RpinkyB"],[61,"RpinkyA"],[60,"RringB"],[29,"bcape1"],[28,"Lthigh"],[27,"hips"],[26,"rcollar"],[25,"bcollar"],[24,"lcollar"],[23,"Rhand"],[22,"Relbow"],[21,"Rshoulder"],[20,"lsleeve"],[19,"LthumbB"],[18,"LthumbA"],[17,"Lhand"],[16,"Lelbow"],[15,"Lshoulder"],[14,"hair3"],[1,"align"],[2,"prejoint"],[3,"main"],[4,"chest"],[5,"neck"],[6,"head"],[7,"lear1"],[8,"lear2"],[9,"rear1"],[10,"rear2"],[11,"hairBase"],[12,"hair1"],[13,"hair2"],[30,"bcape2"],[31,"fCapeA"],[32,"fCapeEND"],[33,"lball1"],[34,"fball1"],[35,"rball1"],[36,"lcape1"],[37,"lcape2"],[38,"rcape1"],[39,"rcape2"],[40,"camera"],[41,"goatee1"],[42,"goatee2"],[43,"LthumbC"],[44,"LindexA"],[45,"LindexB"],[46,"LmiddleA"],[47,"LmiddleB"],[48,"LringA"],[49,"LringB"],[50,"LpinkyA"],[51,"LpinkyB"],[52,"RthumbA"],[53,"RthumbB"],[54,"RthumbC"],[55,"RindexA"],[56,"RindexB"],[57,"RmiddleA"],[58,"RmiddleB"],[59,"RringA"]],"evilbro-village3-lod0-jg":[[75,"rball3"],[74,"rball2"],[73,"fball3"],[72,"fball2"],[71,"lball3"],[70,"lball2"],[69,"Rball"],[68,"Rankle"],[67,"Rknee"],[66,"Rthigh"],[65,"Lball"],[64,"Lankle"],[63,"Lknee"],[62,"RpinkyB"],[61,"RpinkyA"],[60,"RringB"],[29,"bcape1"],[28,"Lthigh"],[27,"hips"],[26,"rcollar"],[25,"bcollar"],[24,"lcollar"],[23,"Rhand"],[22,"Relbow"],[21,"Rshoulder"],[20,"lsleeve"],[19,"LthumbB"],[18,"LthumbA"],[17,"Lhand"],[16,"Lelbow"],[15,"Lshoulder"],[14,"hair3"],[1,"align"],[2,"prejoint"],[3,"main"],[4,"chest"],[5,"neck"],[6,"head"],[7,"lear1"],[8,"lear2"],[9,"rear1"],[10,"rear2"],[11,"hairBase"],[12,"hair1"],[13,"hair2"],[30,"bcape2"],[31,"fCapeA"],[32,"fCapeEND"],[33,"lball1"],[34,"fball1"],[35,"rball1"],[36,"lcape1"],[37,"lcape2"],[38,"rcape1"],[39,"rcape2"],[40,"camera"],[41,"goatee1"],[42,"goatee2"],[43,"LthumbC"],[44,"LindexA"],[45,"LindexB"],[46,"LmiddleA"],[47,"LmiddleB"],[48,"LringA"],[49,"LringB"],[50,"LpinkyA"],[51,"LpinkyB"],[52,"RthumbA"],[53,"RthumbB"],[54,"RthumbC"],[55,"RindexA"],[56,"RindexB"],[57,"RmiddleA"],[58,"RmiddleB"],[59,"RringA"]],"evilplant-lod0-jg":[[15,"bottomleafrear"],[14,"bottomleaffront"],[1,"align"],[2,"prejoint"],[3,"main"],[4,"mid"],[5,"neck"],[6,"head"],[7,"leaf_lb"],[8,"leaf_lt"],[9,"leaf_rt"],[10,"leaf_rb"],[11,"jaw"],[12,"bottomleafl"],[13,"bottomleafr"]],"evilsis-citadel-lod0-jg":[[75,"RringB"],[74,"RringA"],[73,"RmiddleB"],[72,"RmiddleA"],[71,"LringB"],[70,"LringA"],[69,"LmiddleB"],[68,"LmiddleA"],[67,"backhair_r5"],[66,"backhair_l5"],[65,"backhair_l4"],[64,"backhair_l3"],[63,"ponytail7"],[62,"ponytail6"],[61,"ponytail5"],[60,"ponytail4"],[29,"LpinkyB"],[28,"LpinkyA"],[27,"LindexB"],[26,"LindexA"],[25,"LthumbB"],[24,"LthumbA"],[23,"Lhand"],[22,"Lelbow"],[21,"Lshoulder"],[20,"backhair_r4"],[19,"backhair_r3"],[18,"backhair_r2"],[17,"backhair_r1"],[16,"backhair_l2"],[15,"backhair_l1"],[14,"backhair5"],[1,"align"],[2,"prejoint"],[3,"main"],[4,"chest"],[5,"neck"],[6,"head"],[7,"hairbase"],[8,"ponytail1"],[9,"ponytail2"],[10,"backhair1"],[11,"backhair2"],[12,"backhair3"],[13,"backhair4"],[30,"Rshoulder"],[31,"Relbow"],[32,"Rhand"],[33,"RthumbA"],[34,"RthumbB"],[35,"RindexA"],[36,"RindexB"],[37,"RpinkyA"],[38,"RpinkyB"],[39,"lbood"],[40,"rboob"],[41,"hips"],[42,"Lthigh"],[43,"Lknee"],[44,"Lankle"],[45,"Lball"],[46,"Rthigh"],[47,"Rknee"],[48,"Rankle"],[49,"Rball"],[50,"camera"],[51,"l_ear1"],[52,"l_ear2"],[53,"r_ear1"],[54,"r_ear2"],[55,"l_flap1"],[56,"l_flap2"],[57,"r_flap1"],[58,"r_flap2"],[59,"ponytail3"]],"evilsis-lod0-jg":[[75,"RringB"],[74,"RringA"],[73,"RmiddleB"],[72,"RmiddleA"],[71,"LringB"],[70,"LringA"],[69,"LmiddleB"],[68,"LmiddleA"],[67,"backhair_r5"],[66,"backhair_l5"],[65,"backhair_l4"],[64,"backhair_l3"],[63,"ponytail7"],[62,"ponytail6"],[61,"ponytail5"],[60,"ponytail4"],[29,"LpinkyB"],[28,"LpinkyA"],[27,"LindexB"],[26,"LindexA"],[25,"LthumbB"],[24,"LthumbA"],[23,"Lhand"],[22,"Lelbow"],[21,"Lshoulder"],[20,"backhair_r4"],[19,"backhair_r3"],[18,"backhair_r2"],[17,"backhair_r1"],[16,"backhair_l2"],[15,"backhair_l1"],[14,"backhair5"],[1,"align"],[2,"prejoint"],[3,"main"],[4,"chest"],[5,"neck"],[6,"head"],[7,"hairbase"],[8,"ponytail1"],[9,"ponytail2"],[10,"backhair1"],[11,"backhair2"],[12,"backhair3"],[13,"backhair4"],[30,"Rshoulder"],[31,"Relbow"],[32,"Rhand"],[33,"RthumbA"],[34,"RthumbB"],[35,"RindexA"],[36,"RindexB"],[37,"RpinkyA"],[38,"RpinkyB"],[39,"lbood"],[40,"rboob"],[41,"hips"],[42,"Lthigh"],[43,"Lknee"],[44,"Lankle"],[45,"Lball"],[46,"Rthigh"],[47,"Rknee"],[48,"Rankle"],[49,"Rball"],[50,"camera"],[51,"l_ear1"],[52,"l_ear2"],[53,"r_ear1"],[54,"r_ear2"],[55,"l_flap1"],[56,"l_flap2"],[57,"r_flap1"],[58,"r_flap2"],[59,"ponytail3"]],"evilsis-village3-lod0-jg":[[75,"RringB"],[74,"RringA"],[73,"RmiddleB"],[72,"RmiddleA"],[71,"LringB"],[70,"LringA"],[69,"LmiddleB"],[68,"LmiddleA"],[67,"backhair_r5"],[66,"backhair_l5"],[65,"backhair_l4"],[64,"backhair_l3"],[63,"ponytail7"],[62,"ponytail6"],[61,"ponytail5"],[60,"ponytail4"],[29,"LpinkyB"],[28,"LpinkyA"],[27,"LindexB"],[26,"LindexA"],[25,"LthumbB"],[24,"LthumbA"],[23,"Lhand"],[22,"Lelbow"],[21,"Lshoulder"],[20,"backhair_r4"],[19,"backhair_r3"],[18,"backhair_r2"],[17,"backhair_r1"],[16,"backhair_l2"],[15,"backhair_l1"],[14,"backhair5"],[1,"align"],[2,"prejoint"],[3,"main"],[4,"chest"],[5,"neck"],[6,"head"],[7,"hairbase"],[8,"ponytail1"],[9,"ponytail2"],[10,"backhair1"],[11,"backhair2"],[12,"backhair3"],[13,"backhair4"],[30,"Rshoulder"],[31,"Relbow"],[32,"Rhand"],[33,"RthumbA"],[34,"RthumbB"],[35,"RindexA"],[36,"RindexB"],[37,"RpinkyA"],[38,"RpinkyB"],[39,"lbood"],[40,"rboob"],[41,"hips"],[42,"Lthigh"],[43,"Lknee"],[44,"Lankle"],[45,"Lball"],[46,"Rthigh"],[47,"Rknee"],[48,"Rankle"],[49,"Rball"],[50,"camera"],[51,"l_ear1"],[52,"l_ear2"],[53,"r_ear1"],[54,"r_ear2"],[55,"l_flap1"],[56,"l_flap2"],[57,"r_flap1"],[58,"r_flap2"],[59,"ponytail3"]],"exit-chamber-dummy-lod0-jg":[[3,"main"],[2,"prejoint"],[1,"align"]],"exit-chamber-lod0-jg":[[3,"main"],[2,"prejoint"],[1,"align"]],"explorer-lod0-jg":[[58,"RankleStrap"],[57,"LankleStrap"],[56,"rArmStrap"],[55,"RringB"],[54,"RringA"],[53,"RmiddleB"],[52,"RmiddleA"],[51,"RthumbB"],[50,"lArmStrap"],[49,"caneMID"],[48,"LringB"],[47,"LringA"],[46,"LmiddleB"],[45,"LmiddleA"],[44,"LthumbB"],[43,"cameraB"],[42,"camera"],[41,"Rball"],[40,"Rankle"],[39,"Rknee"],[38,"Rthigh"],[37,"Lball"],[36,"Lankle"],[35,"Lknee"],[34,"Lthigh"],[33,"hips"],[32,"Rcollar2"],[31,"Rcollar1"],[30,"Lcollar2"],[13,"Lhand"],[12,"Lelbow"],[11,"Lshoulder"],[10,"rEar2"],[9,"REar1"],[8,"lEar2"],[7,"lEar1"],[6,"head"],[5,"neck"],[4,"chest"],[3,"main"],[2,"prejoint"],[1,"align"],[14,"LthumbA"],[15,"LindexA"],[16,"LindexB"],[17,"LpinkyA"],[18,"LpinkyB"],[19,"caneTop"],[20,"Rshoulder"],[21,"Relbow"],[22,"Rhand"],[23,"RthumbA"],[24,"RindexA"],[25,"RindexB"],[26,"RpinkyA"],[27,"RpinkyB"],[28,"pouch"],[29,"Lcollar1"]],"farmer-lod0-jg":[[63,"RpinkyC"],[62,"RpinkyB"],[61,"RpinkyA"],[60,"RringC"],[29,"hair"],[28,"hat"],[27,"headEND"],[26,"cameraB"],[25,"camera"],[24,"Rball"],[23,"Rankle"],[22,"Rknee"],[21,"Rthigh"],[20,"Lball"],[19,"Lankle"],[18,"Lknee"],[17,"Lthigh"],[16,"hips"],[15,"fagRight"],[14,"fagLeft"],[1,"align"],[2,"prejoint"],[3,"main"],[4,"chest"],[5,"neck"],[6,"head"],[7,"Lshoulder"],[8,"Lelbow"],[9,"Lhand"],[10,"Rshoulder"],[11,"Relbow"],[12,"Rhand"],[13,"fagMain"],[30,"lEarEND"],[31,"rEarEND"],[32,"LthumbA"],[33,"LthumbB"],[34,"LthumbC"],[35,"LindexA"],[36,"LindexB"],[37,"LmiddleA"],[38,"LmiddleB"],[39,"LringA"],[40,"LringB"],[41,"LpinkyA"],[42,"LpinkyB"],[43,"lMustache"],[44,"rMustache"],[45,"LindexC"],[46,"LmiddleC"],[47,"LringC"],[48,"LpinkyC"],[49,"RthumbA"],[50,"RthumbB"],[51,"RthumbC"],[52,"RindexA"],[53,"RindexB"],[54,"RindexC"],[55,"RmiddleA"],[56,"RmiddleB"],[57,"RmiddleC"],[58,"RringA"],[59,"RringB"]],"farthy-snack-lod0-jg":[[3,"muffin"],[2,"prejoint"],[1,"align"]],"finalbosscam-lod0-jg":[[4,"camera"],[3,"beachcam"],[2,"prejoint"],[1,"align"]],"fireboulder-lod0-jg":[[4,"bouldercenter"],[3,"main"],[2,"prejoint"],[1,"align"]],"fish-net-lod0-jg":[[6,"basket"],[5,"hinge"],[4,"mid"],[3,"hold"],[2,"prejoint"],[1,"align"]],"fisher-lod0-jg":[[88,"basket"],[87,"hinge"],[86,"mid"],[85,"fishTAIL1"],[84,"headC"],[83,"tail3"],[82,"tail2"],[81,"tail1"],[80,"top"],[79,"tailB"],[78,"midB"],[77,"mainB"],[76,"tailA"],[75,"midA"],[74,"mainA"],[73,"hold"],[72,"RmiddleC"],[71,"RmiddleB"],[70,"RmiddleA"],[69,"RthumbC"],[68,"LmiddleC"],[67,"LmiddleB"],[66,"LmiddleA"],[65,"LthumbC"],[64,"tooth"],[63,"necklace2"],[62,"scaleMID"],[61,"fishHEAD"],[60,"fishTAIL2"],[29,"RringC"],[28,"RringB"],[27,"RringA"],[26,"RindexC"],[25,"RindexB"],[24,"RindexA"],[23,"RthumbB"],[22,"RthumbA"],[21,"Rhand"],[20,"Relbow"],[19,"Rshoulder"],[18,"LpinkyC"],[17,"LpinkyB"],[16,"LpinkyA"],[15,"LringC"],[14,"LringB"],[1,"align"],[2,"prejoint"],[3,"main"],[4,"chest"],[5,"Lshoulder"],[6,"Lelbow"],[7,"Lhand"],[8,"LthumbA"],[9,"LthumbB"],[10,"LindexA"],[11,"LindexB"],[12,"LindexC"],[13,"LringA"],[30,"RpinkyA"],[31,"RpinkyB"],[32,"RpinkyC"],[33,"head"],[34,"Lear1"],[35,"Lear2"],[36,"Rear1"],[37,"Rear2"],[38,"bandana1"],[39,"bandana2"],[40,"hips"],[41,"Lthigh"],[42,"Lknee"],[43,"Lankle"],[44,"Lball"],[45,"Rthigh"],[46,"Rknee"],[47,"Rankle"],[48,"Rball"],[49,"camera"],[50,"cameraB"],[51,"jaw"],[52,"Leye"],[53,"Reye"],[54,"sash1"],[55,"sash2"],[56,"belly"],[57,"fishbasket"],[58,"fishtop"],[59,"scaleFISH"]],"fishermans-boat-lod0-jg":[[5,"camera"],[4,"prop"],[3,"main"],[2,"prejoint"],[1,"align"]],"floating-launcher-lod0-jg":[[3,"boneless"],[2,"prejoint"],[1,"align"]],"flut-saddle-lod0-jg":[[49,"tongue"],[48,"rWingF2"],[47,"rWing2"],[46,"rWing1"],[45,"rShoulder"],[44,"lWingF2"],[43,"lWing2"],[42,"lWing1"],[41,"lShoulder"],[40,"reignr4"],[39,"reignr3"],[38,"reignr2"],[37,"reignr1"],[36,"reign_l4"],[35,"reign_l3"],[34,"reign_l2"],[33,"reign_l1"],[32,"jaw"],[31,"ploom3"],[30,"ploom2"],[13,"Rthigh"],[12,"lRearToe"],[11,"lFrontToe"],[10,"lOutToe"],[9,"lInToe"],[8,"Lankle"],[7,"Lknee"],[6,"Lquarter"],[5,"Lthigh"],[4,"hips"],[3,"main"],[2,"prejoint"],[1,"align"],[14,"Rquarter"],[15,"Rknee"],[16,"Rankle"],[17,"rInToe"],[18,"rOutToe"],[19,"rFrontToe"],[20,"rRearToe"],[21,"tail1"],[22,"tail2"],[23,"tailFL"],[24,"tailFR"],[25,"tail3"],[26,"chest"],[27,"neck"],[28,"head"],[29,"ploom1"]],"flutflut-bluehut-lod0-jg":[[49,"rWingF2"],[48,"rWing2"],[47,"rWing1"],[46,"rShoulder"],[45,"lWingF2"],[44,"lWing2"],[43,"lWing1"],[42,"lShoulder"],[41,"reignr4"],[40,"reignr3"],[39,"reignr2"],[38,"reignr1"],[37,"reign_l4"],[36,"reign_l3"],[35,"reign_l2"],[34,"reign_l1"],[33,"tongue"],[32,"jaw"],[31,"ploom3"],[30,"ploom2"],[13,"Rthigh"],[12,"lRearToe"],[11,"lFrontToe"],[10,"lOutToe"],[9,"lInToe"],[8,"Lankle"],[7,"Lknee"],[6,"Lquarter"],[5,"Lthigh"],[4,"hips"],[3,"main"],[2,"prejoint"],[1,"align"],[14,"Rquarter"],[15,"Rknee"],[16,"Rankle"],[17,"rInToe"],[18,"rOutToe"],[19,"rFrontToe"],[20,"rRearToe"],[21,"tail1"],[22,"tail2"],[23,"tailFL"],[24,"tailFR"],[25,"tail3"],[26,"chest"],[27,"neck"],[28,"head"],[29,"ploom1"]],"flutflut-lod0-jg":[[41,"tailFR"],[40,"tailFL"],[39,"rWingF2"],[38,"rWing2"],[37,"rWing1"],[36,"rShoulder"],[35,"lWingF2"],[34,"lWing2"],[33,"lWing1"],[32,"lShoulder"],[31,"tongue"],[30,"jaw"],[13,"tail1"],[12,"lRearToe"],[11,"lFrontToe"],[10,"lOutToe"],[9,"lInToe"],[8,"Lankle"],[7,"Lknee"],[6,"Lquarter"],[5,"Lthigh"],[4,"hips"],[3,"main"],[2,"prejoint"],[1,"align"],[14,"tail2"],[15,"tail3"],[16,"Rthigh"],[17,"Rquarter"],[18,"Rknee"],[19,"Rankle"],[20,"rInToe"],[21,"rOutToe"],[22,"rFrontToe"],[23,"rRearToe"],[24,"chest"],[25,"neck"],[26,"head"],[27,"ploom1"],[28,"ploom2"],[29,"ploom3"]],"flutflut-plat-large-lod0-jg":[[3,"boneless"],[2,"prejoint"],[1,"align"]],"flutflut-plat-med-lod0-jg":[[3,"boneless"],[2,"prejoint"],[1,"align"]],"flutflut-plat-small-lod0-jg":[[3,"boneless"],[2,"prejoint"],[1,"align"]],"flutflutegg-lod0-jg":[[18,"blackpoly"],[17,"p6B"],[16,"p6"],[15,"p5B"],[14,"p12"],[1,"align"],[2,"prejoint"],[3,"main"],[4,"p5"],[5,"p1"],[6,"p2"],[7,"p3"],[8,"p4"],[9,"p7"],[10,"p8"],[11,"p9"],[12,"p10"],[13,"p11"]],"flying-lurker-lod0-jg":[[72,"rWing3"],[71,"lWing3"],[70,"lWing2"],[69,"rArmFur"],[68,"lArmFur"],[67,"prop4B"],[66,"prop4A"],[65,"prop3B"],[64,"prop3A"],[63,"prop2B"],[62,"prop2A"],[61,"prop1B"],[60,"prop1A"],[29,"Rthigh"],[28,"Lball"],[27,"Lankle"],[26,"Lknee"],[25,"Lthigh"],[24,"hips"],[23,"rWing2"],[22,"rWing1"],[21,"lWing1"],[20,"rShoulderFur"],[19,"lShoulderFur"],[18,"RthumbB"],[17,"RthumbA"],[16,"Rhand"],[15,"Relbow"],[14,"Rshoulder"],[1,"align"],[2,"prejoint"],[3,"main"],[4,"chest"],[5,"neck"],[6,"head"],[7,"headprop"],[8,"jaw"],[9,"Lshoulder"],[10,"Lelbow"],[11,"Lhand"],[12,"LthumbA"],[13,"LthumbB"],[30,"Rknee"],[31,"Rankle"],[32,"Rball"],[33,"belly"],[34,"bodprop"],[35,"pedalarm"],[36,"flap1"],[37,"prop_end"],[38,"pedalcage"],[39,"pedal"],[40,"ring"],[41,"LindexA"],[42,"LmiddleA"],[43,"LmiddleB"],[44,"RindexA"],[45,"RmiddleA"],[46,"RmiddleB"],[47,"LindexB"],[48,"LringA"],[49,"LringB"],[50,"LpinkyA"],[51,"LpinkyB"],[52,"RindexB"],[53,"RringA"],[54,"RringB"],[55,"RpinkyA"],[56,"RpinkyB"],[57,"lLegFur"],[58,"rLegFur"],[59,"flap2"]],"fuel-cell-lod0-jg":[[10,"camera"],[9,"orbitEND"],[8,"orbit"],[7,"piece4"],[6,"piece3"],[5,"piece2"],[4,"piece1"],[3,"main"],[2,"prejoint"],[1,"align"]],"fuelcell-naked-lod0-jg":[[9,"orbit2"],[8,"orbit"],[7,"piece4"],[6,"piece3"],[5,"piece2"],[4,"piece1"],[3,"main"],[2,"prejoint"],[1,"align"]],"gambler-lod0-jg":[[72,"hair"],[71,"RpinkyC"],[70,"RpinkyB"],[69,"RpinkyA"],[68,"RringC"],[67,"RindexC"],[66,"RindexB"],[65,"RindexA"],[64,"LpinkyC"],[63,"LpinkyB"],[62,"LpinkyA"],[61,"LringC"],[60,"rLegStrap"],[29,"Rknee"],[28,"Rthigh"],[27,"Lball"],[26,"Lankle"],[25,"Lknee"],[24,"Lthigh"],[23,"hips"],[22,"barrell"],[21,"Rhand"],[20,"Relbow"],[19,"Rshoulder"],[18,"Lhand"],[17,"Lelbow"],[16,"Lshoulder"],[15,"rBow"],[14,"lTie2"],[1,"align"],[2,"prejoint"],[3,"main"],[4,"chest"],[5,"neck"],[6,"head"],[7,"lEar1"],[8,"lEar2"],[9,"rEar1"],[10,"rEar2"],[11,"hat"],[12,"hatMid"],[13,"lTie1"],[30,"Rankle"],[31,"Rball"],[32,"camera"],[33,"cameraB"],[34,"lBow"],[35,"lTie3"],[36,"rTie1"],[37,"rTie2"],[38,"LthumbA"],[39,"LthumbB"],[40,"LthumbC"],[41,"LindexA"],[42,"LindexB"],[43,"LindexC"],[44,"LmiddleA"],[45,"LmiddleB"],[46,"LmiddleC"],[47,"LringA"],[48,"LringB"],[49,"lArmStrap"],[50,"RthumbA"],[51,"RthumbB"],[52,"RthumbC"],[53,"RmiddleA"],[54,"RmiddleB"],[55,"RmiddleC"],[56,"RringA"],[57,"RringB"],[58,"rArmStrap"],[59,"lLegStrap"]],"generic-button-lod0-jg":[[4,"button"],[3,"main"],[2,"prejoint"],[1,"align"]],"geologist-lod0-jg":[[78,"RringB"],[77,"RringA"],[76,"LringB"],[75,"LringA"],[74,"rLegStrap1"],[73,"rLegStrap2"],[72,"rLegStrap3"],[71,"lLegStrap3"],[70,"lLegStrap2"],[69,"lLegStrap1"],[68,"rArmStrap2"],[67,"rArmStrap1"],[66,"RmiddleB"],[65,"RmiddleA"],[64,"RthumbB"],[63,"lArmStrap2"],[62,"lArmStrap1"],[61,"LmiddleB"],[60,"LmiddleA"],[29,"RindexA"],[28,"RthumbA"],[27,"Rhand"],[26,"Relbow"],[25,"Rshoulder"],[24,"LpinkyB"],[23,"LpinkyA"],[22,"LindexB"],[21,"LindexA"],[20,"LthumbA"],[19,"Lhand"],[18,"Lelbow"],[17,"Lshoulder"],[16,"rHatStrap2"],[15,"rHatStrap1"],[14,"lHatStrap2"],[1,"align"],[2,"prejoint"],[3,"main"],[4,"chest"],[5,"neck"],[6,"head"],[7,"lEar1"],[8,"lEar2"],[9,"rEar1"],[10,"rEar2"],[11,"headLamp"],[12,"lampPARTICLES"],[13,"lHatStrap1"],[30,"RindexB"],[31,"RpinkyA"],[32,"RpinkyB"],[33,"rope"],[34,"hips"],[35,"Lthigh"],[36,"Lknee"],[37,"Lankle"],[38,"Lball"],[39,"lLegStrap4"],[40,"Rthigh"],[41,"Rknee"],[42,"Rankle"],[43,"Rball"],[44,"rLegStrap4"],[45,"camera"],[46,"cameraB"],[47,"tHatStrap1"],[48,"tHatStrap2"],[49,"lBraid1"],[50,"lBraid2"],[51,"lBraid3"],[52,"rBraid1"],[53,"rBraid2"],[54,"rBraid3"],[55,"mBraid1"],[56,"mBraid2"],[57,"mBraid3"],[58,"mBraid4"],[59,"LthumbB"]],"gnawer-lod0-jg":[[36,"antennaeR"],[35,"antennaeL"],[34,"nandibleR"],[33,"mandibleL"],[32,"jaw"],[31,"ring"],[30,"tailA"],[13,"head"],[12,"tail"],[11,"segF"],[10,"segE"],[9,"segD"],[8,"segC"],[7,"segB"],[6,"segA"],[5,"upper"],[4,"neck"],[3,"main"],[2,"prejoint"],[1,"align"],[14,"upperleg_l"],[15,"upperleg_r"],[16,"segAleg_l"],[17,"segAleg_r"],[18,"segBleg_l"],[19,"segBleg_r"],[20,"segCleg_l"],[21,"segCleg_r"],[22,"segDleg_l"],[23,"segDleg_r"],[24,"segEleg_l"],[25,"segEleg_r"],[26,"segFleg_l"],[27,"segFleg_r"],[28,"tailleg_l"],[29,"tailleg_r"]],"gnawer-segment-lod0-jg":[[6,"segAleg_r"],[5,"segAleg_l"],[4,"segA"],[3,"main"],[2,"prejoint"],[1,"align"]],"gondola-lod0-jg":[[4,"camera"],[3,"main"],[2,"prejoint"],[1,"align"]],"gondolacables-lod0-jg":[[3,"boneless"],[2,"prejoint"],[1,"align"]],"green-eco-lurker-lod0-jg":[[49,"RmiddleC"],[48,"RindexC"],[47,"RthumbC"],[46,"LmiddleC"],[45,"LindexC"],[44,"LthumbC"],[43,"RmiddleB"],[42,"RmiddleA"],[41,"RindexB"],[40,"RindexA"],[39,"RthumbB"],[38,"RthumbA"],[37,"LmiddleB"],[36,"LmiddleA"],[35,"LindexB"],[34,"LindexA"],[33,"LthumbB"],[32,"LthumbA"],[31,"Reye"],[30,"Leye"],[13,"Larmhair"],[12,"Lhand"],[11,"Lelbow"],[10,"Lshoulder"],[9,"frontring"],[8,"headhair"],[7,"jaw"],[6,"head"],[5,"neck"],[4,"chest"],[3,"main"],[2,"prejoint"],[1,"align"],[14,"Rshoulder"],[15,"Relbow"],[16,"Rhand"],[17,"Rarmhair"],[18,"backhair"],[19,"hips"],[20,"Lthigh"],[21,"Lknee"],[22,"Lleghair"],[23,"Lankle"],[24,"Lball"],[25,"Rthigh"],[26,"Rknee"],[27,"Rleghair"],[28,"Rankle"],[29,"Rball"]],"green-sagecage-lod0-jg":[[74,"belly"],[73,"Rbigtoe"],[72,"Rtoes"],[71,"RringB"],[70,"RringA"],[69,"RmiddleB"],[68,"RmiddleA"],[67,"RthumbC"],[66,"LpinkyB"],[65,"LpinkyA"],[64,"LringB"],[63,"LringA"],[62,"LmiddleB"],[61,"LmiddleA"],[60,"LthumbC"],[29,"Lthigh"],[28,"hips"],[27,"RpinkyB"],[26,"RpinkyA"],[25,"RindexB"],[24,"RindexA"],[23,"RthumbA"],[22,"Rhand"],[21,"Relbow"],[20,"Rshoulder"],[19,"Lhand"],[18,"Lelbow"],[17,"Lshoulder"],[16,"beard"],[15,"beard_lip"],[14,"RearMID"],[1,"align"],[2,"prejoint"],[3,"main"],[4,"chest"],[5,"head"],[6,"headLog"],[7,"Llog"],[8,"Rlog"],[9,"LhairBASE"],[10,"Lhair"],[11,"LearBASE"],[12,"LearMID"],[13,"RearBASE"],[30,"Lknee"],[31,"Lankle"],[32,"Rthigh"],[33,"Rknee"],[34,"Rankle"],[35,"staffMAIN"],[36,"staffUpA"],[37,"staffDownA"],[38,"staffDownB"],[39,"staffBOTTOM"],[40,"camera"],[41,"cameraB"],[42,"ponytailBASE"],[43,"ponytailMID"],[44,"LthumbA"],[45,"LthumbB"],[46,"LindexA"],[47,"LindexB"],[48,"RthumbB"],[49,"Lfootball"],[50,"Ltoes"],[51,"Lbigtoe"],[52,"Lball"],[53,"Rfootball"],[54,"Rball"],[55,"BIRDfeet1"],[56,"BIRD1"],[57,"BIRDhead1"],[58,"BIRDR1"],[59,"BIRDL1"]],"greenshot-lod0-jg":[[9,"rightbot"],[8,"rightmid"],[7,"righttop"],[6,"leftbot"],[5,"leftmid"],[4,"lefttop"],[3,"main"],[2,"prejoint"],[1,"align"]],"grottopole-lod0-jg":[[3,"main"],[2,"prejoint"],[1,"align"]],"happy-plant-lod0-jg":[[38,"vine11"],[37,"vine10"],[36,"vine9"],[35,"vine8"],[34,"vine7"],[33,"vine6"],[32,"vine5"],[31,"vine4"],[30,"vine3"],[13,"Apedal4"],[12,"Apedal3"],[11,"Apedal2"],[10,"Apedal1"],[9,"stem6"],[8,"stem5"],[7,"stem4"],[6,"stem3"],[5,"stem2"],[4,"stem1"],[3,"main"],[2,"prejoint"],[1,"align"],[14,"Apedal5"],[15,"Bpedal1"],[16,"Bpedal2"],[17,"Bpedal3"],[18,"Bpedal4"],[19,"Bpedal5"],[20,"Cpedal1"],[21,"Cpedal2"],[22,"Cpedal3"],[23,"Cpedal4"],[24,"Cpedal5"],[25,"fuelcell"],[26,"leavesTop"],[27,"leaves"],[28,"vine1"],[29,"vine2"]],"harvester-lod0-jg":[[5,"balloon"],[4,"top"],[3,"main"],[2,"prejoint"],[1,"align"]],"helix-button-lod0-jg":[[3,"boneless"],[2,"prejoint"],[1,"align"]],"helix-slide-door-lod0-jg":[[3,"helixdoor"],[2,"prejoint"],[1,"align"]],"hopper-lod0-jg":[[39,"RthumbC"],[38,"LthumbC"],[37,"RlegFur"],[36,"LlegFur"],[35,"RarmFur"],[34,"LarmFur"],[33,"ring"],[32,"Rball"],[31,"Rankle"],[30,"Rknee"],[13,"LmiddleA"],[12,"LthumbB"],[11,"LthumbA"],[10,"Lhand"],[9,"Lelbow"],[8,"Lshoulder"],[7,"jaw"],[6,"head"],[5,"neck"],[4,"chest"],[3,"main"],[2,"prejoint"],[1,"align"],[14,"LmiddleB"],[15,"LmiddleC"],[16,"Rshoulder"],[17,"Relbow"],[18,"Rhand"],[19,"RthumbA"],[20,"RthumbB"],[21,"RmiddleA"],[22,"RmiddleB"],[23,"RmiddleC"],[24,"hips"],[25,"Lthigh"],[26,"Lknee"],[27,"Lankle"],[28,"Lball"],[29,"Rthigh"]],"hutlamp-lod0-jg":[[3,"hutlamp"],[2,"prejoint"],[1,"align"]],"ice-cube-break-lod0-jg":[[55,"cluster_r_leg2"],[54,"cluster_l_leg1"],[53,"Lball"],[52,"RmiddleC"],[51,"RmiddleB"],[50,"RmiddleA"],[49,"RindexC"],[48,"RindexB"],[47,"RindexA"],[46,"RthumbC"],[45,"RthumbB"],[44,"RthumbA"],[43,"LmiddleC"],[42,"LmiddleB"],[41,"LmiddleA"],[40,"LindexC"],[39,"LindexB"],[38,"LindexA"],[37,"LthumbC"],[36,"LthumbB"],[35,"LthumbA"],[34,"Lhand"],[33,"frontring"],[32,"Reye"],[31,"Leye"],[30,"jaw"],[13,"cluster2"],[12,"cluster1"],[11,"Rhand"],[10,"Relbow"],[9,"Rshoulder"],[8,"Lelbow"],[7,"Lshoulder"],[6,"head"],[5,"neck"],[4,"chest"],[3,"main"],[2,"prejoint"],[1,"align"],[14,"cluster3"],[15,"cluster4"],[16,"cluster5"],[17,"cluster6"],[18,"cluster7"],[19,"cluster8"],[20,"hips"],[21,"Lthigh"],[22,"Lknee"],[23,"Lankle"],[24,"cluster_l_leg2"],[25,"Rthigh"],[26,"Rknee"],[27,"Rankle"],[28,"Rball"],[29,"cluster_r_leg1"]],"ice-cube-lod0-jg":[[55,"cluster_r_leg1"],[54,"cluster_r_leg2"],[53,"cluster_l_leg1"],[52,"cluster_l_leg2"],[51,"RmiddleC"],[50,"RindexC"],[49,"LmiddleC"],[48,"LindexC"],[47,"frontring"],[46,"RmiddleB"],[45,"RmiddleA"],[44,"RindexB"],[43,"RindexA"],[42,"RthumbC"],[41,"RthumbB"],[40,"RthumbA"],[39,"LmiddleB"],[38,"LmiddleA"],[37,"LindexB"],[36,"LindexA"],[35,"LthumbC"],[34,"LthumbB"],[33,"LthumbA"],[32,"Reye"],[31,"Leye"],[30,"jaw"],[13,"cluster1"],[12,"Rhand"],[11,"Relbow"],[10,"Rshoulder"],[9,"Lhand"],[8,"Lelbow"],[7,"Lshoulder"],[6,"head"],[5,"neck"],[4,"chest"],[3,"main"],[2,"prejoint"],[1,"align"],[14,"cluster2"],[15,"cluster3"],[16,"cluster4"],[17,"cluster5"],[18,"cluster6"],[19,"cluster7"],[20,"cluster8"],[21,"hips"],[22,"Lthigh"],[23,"Lknee"],[24,"Lankle"],[25,"Lball"],[26,"Rthigh"],[27,"Rknee"],[28,"Rankle"],[29,"Rball"]],"jak-white-lod0-jg":[[83,"eyeR"],[82,"eyeL"],[81,"belt"],[80,"pantsLknee"],[79,"pantsLthigh"],[78,"pantsRknee"],[77,"pantsRthigh"],[76,"shirtRthigh"],[75,"shirtLthigh"],[74,"ankleRStrap"],[73,"footRStrap"],[72,"Rtoes"],[71,"RbigToe"],[70,"Rball"],[69,"Rankle"],[68,"Rknee"],[67,"Rthigh"],[66,"ankleLStrap"],[65,"footLStrap"],[64,"Ltoes"],[63,"LbigToe"],[62,"Lball"],[61,"Lankle"],[60,"Lknee"],[29,"lpinkA"],[28,"lringB"],[27,"lringA"],[26,"lmidB"],[25,"lmidA"],[24,"lindB"],[23,"lindA"],[22,"lthumB"],[21,"lthumA"],[20,"sk_lhand"],[19,"Lforarm"],[18,"Larm"],[17,"Lshould"],[16,"browR"],[15,"browL"],[14,"mouth"],[1,"align"],[2,"prejoint"],[3,"main"],[4,"upper_body"],[5,"chest"],[6,"neckA"],[7,"neckB"],[8,"MhairA"],[9,"MhairB"],[10,"Learbase"],[11,"Learmid"],[12,"Rearbase"],[13,"Rearmid"],[30,"lpinkB"],[31,"handLStrapTopTop"],[32,"handLStrapTopMid"],[33,"handLStrapBotTop"],[34,"handLStrapBotMid"],[35,"Rshould"],[36,"Rarm"],[37,"Rforarm"],[38,"sk_rhand"],[39,"rthumA"],[40,"rthumB"],[41,"rindA"],[42,"rindB"],[43,"rmidA"],[44,"rmidB"],[45,"rringA"],[46,"rringB"],[47,"rpinkA"],[48,"rpinkB"],[49,"handRStrapTopTop"],[50,"handRStrapTopMid"],[51,"handRStrapBotTop"],[52,"handRStrapBotMid"],[53,"LshoulderPad"],[54,"collarL"],[55,"collarR"],[56,"packStrapTop"],[57,"packStrapMid"],[58,"hips"],[59,"Lthigh"]],"jaws-lod0-jg":[[6,"topjaw"],[5,"botjaw"],[4,"tail"],[3,"main"],[2,"prejoint"],[1,"align"]],"jng-iris-door-lod0-jg":[[11,"rote8"],[10,"rote1"],[9,"rote7"],[8,"rote6"],[7,"rote5"],[6,"rote4"],[5,"rote3"],[4,"rote2"],[3,"base"],[2,"prejoint"],[1,"align"]],"junglecam-lod0-jg":[[4,"camera"],[3,"junglecam"],[2,"prejoint"],[1,"align"]],"junglefish-lod0-jg":[[14,"Lfin2"],[1,"align"],[2,"prejoint"],[3,"top"],[4,"body1"],[5,"body2"],[6,"tailmain"],[7,"tailtop"],[8,"tailbot"],[9,"Lfin1"],[10,"head"],[11,"jaw"],[12,"Rfin1"],[13,"Rfin2"]],"junglesnake-lod0-jg":[[26,"Aring"],[25,"Ajaw"],[24,"Ahead"],[23,"Aneck2"],[22,"Aneck1"],[21,"Abod10"],[20,"Abod9"],[19,"Abod8"],[18,"Abod7"],[17,"Abod6"],[16,"Abod5"],[15,"Pbod4"],[14,"Pbod3"],[1,"align"],[2,"prejoint"],[3,"tailStart"],[4,"PtailH"],[5,"PtailG"],[6,"PtailF"],[7,"PtailE"],[8,"PtailD"],[9,"PtailC"],[10,"PtailB"],[11,"main"],[12,"Pbod1"],[13,"Pbod2"]],"keg-conveyor-lod0-jg":[[4,"spindle"],[3,"main"],[2,"prejoint"],[1,"align"]],"keg-conveyor-paddle-lod0-jg":[[4,"barrell"],[3,"paddle1"],[2,"prejoint"],[1,"align"]],"keg-lod0-jg":[[3,"main"],[2,"prejoint"],[1,"align"]],"kermit-lod0-jg":[[28,"ReyeBALL"],[27,"tongueD"],[26,"tongueC"],[25,"tongueB"],[24,"tongueA"],[23,"LeyeBALL"],[22,"jaw"],[21,"ring"],[20,"rBall"],[19,"lBall"],[18,"rAnkle"],[17,"rKnee"],[16,"rThigh"],[15,"lAnkle"],[14,"lKnee"],[1,"align"],[2,"prejoint"],[3,"main"],[4,"chest"],[5,"lShoulder"],[6,"lElbow"],[7,"lHand"],[8,"head"],[9,"rShoulder"],[10,"rElbow"],[11,"rHand"],[12,"hips"],[13,"lThigh"]],"kickrock-lod0-jg":[[3,"boneless"],[2,"prejoint"],[1,"align"]],"launcherdoor-geo-jg":[[15,"slice12"],[14,"slice11"],[1,"align"],[2,"prejoint"],[3,"main"],[4,"slice1"],[5,"slice2"],[6,"slice3"],[7,"slice4"],[8,"slice5"],[9,"slice6"],[10,"slice7"],[11,"slice8"],[12,"slice9"],[13,"slice10"]],"launcherdoor-maincave-geo-jg":[[15,"slice12"],[14,"slice11"],[1,"align"],[2,"prejoint"],[3,"main"],[4,"slice1"],[5,"slice2"],[6,"slice3"],[7,"slice4"],[8,"slice5"],[9,"slice6"],[10,"slice7"],[11,"slice8"],[12,"slice9"],[13,"slice10"]],"lavaballoon-lod0-jg":[[9,"rightbot"],[8,"rightmid"],[7,"leftbot"],[6,"leftmid"],[5,"righttop"],[4,"lefttop"],[3,"main"],[2,"prejoint"],[1,"align"]],"lavabase-lod0-jg":[[9,"six"],[8,"four"],[7,"two"],[6,"five"],[5,"three"],[4,"one"],[3,"main"],[2,"prejoint"],[1,"align"]],"lavafall-lod0-jg":[[8,"five"],[7,"four"],[6,"three"],[5,"two"],[4,"one"],[3,"main"],[2,"prejoint"],[1,"align"]],"lavafallsewera-lod0-jg":[[3,"boneless"],[2,"prejoint"],[1,"align"]],"lavafallsewerb-lod0-jg":[[3,"boneless"],[2,"prejoint"],[1,"align"]],"lavashortcut-lod0-jg":[[3,"boneless"],[2,"prejoint"],[1,"align"]],"lavaspoutdrip-lod0-jg":[[9,"threetwo"],[8,"twotwo"],[7,"onetwo"],[6,"threeone"],[5,"twoone"],[4,"oneone"],[3,"main"],[2,"prejoint"],[1,"align"]],"lavayellowtarp-lod0-jg":[[6,"tarpD"],[5,"tarpC"],[4,"tarpB"],[3,"main"],[2,"prejoint"],[1,"align"]],"light-eco-big-lod0-jg":[[9,"6"],[8,"5"],[7,"4"],[6,"3"],[5,"2"],[4,"1"],[3,"main"],[2,"prejoint"],[1,"align"]],"light-eco-small-lod0-jg":[[8,"6"],[7,"5"],[6,"4"],[5,"3"],[4,"2"],[3,"1"],[2,"prejoint"],[1,"align"]],"lightning-mole-lod0-jg":[[36,"rightEAR2"],[35,"rightEAR1"],[34,"leftEAR2"],[33,"leftEAR1"],[32,"Rball"],[31,"Rankle"],[30,"Rcalf"],[13,"Relbow"],[12,"Rshoulder"],[11,"LfrontToe"],[10,"LfrontBall"],[9,"LfrontPaw"],[8,"Lelbow"],[7,"Lshoulder"],[6,"head"],[5,"neck"],[4,"chest"],[3,"main"],[2,"prejoint"],[1,"align"],[14,"RfrontPaw"],[15,"RfrontBall"],[16,"RfrontToe"],[17,"loSpine"],[18,"hips"],[19,"Lthigh"],[20,"Lknee"],[21,"Lcalf"],[22,"Lankle"],[23,"Lball"],[24,"tail1"],[25,"tail2"],[26,"tail3"],[27,"tail4"],[28,"Rthigh"],[29,"Rknee"]],"logo-black-lod0-jg":[[51,"volume4"],[50,"volume3"],[49,"volume2"],[48,"volume1"],[47,"volume"],[46,"volumeBase"],[45,"text"],[44,"jd"],[43,"camera"],[42,"wall39"],[41,"wall38"],[40,"wall37"],[39,"wall36"],[38,"wall35"],[37,"wall34"],[36,"wall33"],[35,"wall32"],[34,"wall31"],[33,"wall30"],[32,"wall29"],[31,"wall27"],[30,"wall26"],[13,"wall9"],[12,"wall8"],[11,"wall7"],[10,"wall6"],[9,"wall5"],[8,"wall4"],[7,"wall3"],[6,"wall2"],[5,"wall1"],[4,"lensflare"],[3,"main"],[2,"prejoint"],[1,"align"],[14,"wall10"],[15,"wall11"],[16,"wall12"],[17,"wall13"],[18,"wall14"],[19,"wall15"],[20,"wall16"],[21,"wall17"],[22,"wall18"],[23,"wall19"],[24,"wall20"],[25,"wall21"],[26,"wall22"],[27,"wall23"],[28,"wall24"],[29,"wall25"]],"logo-cam-lod0-jg":[[4,"camera"],[3,"titlecam"],[2,"prejoint"],[1,"align"]],"logo-english-lod0-jg":[[51,"wall39"],[50,"wall38"],[49,"wall37"],[48,"wall36"],[47,"wall35"],[46,"wall34"],[45,"wall33"],[44,"wall32"],[43,"wall31"],[42,"wall30"],[41,"wall29"],[40,"wall27"],[39,"wall26"],[38,"wall25"],[37,"wall24"],[36,"wall23"],[35,"wall22"],[34,"wall21"],[33,"wall20"],[32,"wall19"],[31,"wall18"],[30,"wall17"],[13,"volume4"],[12,"volume3"],[11,"volume2"],[10,"volume1"],[9,"volume"],[8,"volumeBase"],[7,"camera"],[6,"text"],[5,"jd"],[4,"lensflare"],[3,"main"],[2,"prejoint"],[1,"align"],[14,"wall1"],[15,"wall2"],[16,"wall3"],[17,"wall4"],[18,"wall5"],[19,"wall6"],[20,"wall7"],[21,"wall8"],[22,"wall9"],[23,"wall10"],[24,"wall11"],[25,"wall12"],[26,"wall13"],[27,"wall14"],[28,"wall15"],[29,"wall16"]],"logo-japan-lod0-jg":[[51,"wall39"],[50,"wall38"],[49,"wall37"],[48,"wall36"],[47,"wall35"],[46,"wall34"],[45,"wall33"],[44,"wall32"],[43,"wall31"],[42,"wall30"],[41,"wall29"],[40,"wall27"],[39,"wall26"],[38,"wall25"],[37,"wall24"],[36,"wall23"],[35,"wall22"],[34,"wall21"],[33,"wall20"],[32,"wall19"],[31,"wall18"],[30,"wall17"],[13,"volume4"],[12,"volume3"],[11,"volume2"],[10,"volume1"],[9,"volume"],[8,"volumeBase"],[7,"camera"],[6,"text"],[5,"jd"],[4,"lensflare"],[3,"main"],[2,"prejoint"],[1,"align"],[14,"wall1"],[15,"wall2"],[16,"wall3"],[17,"wall4"],[18,"wall5"],[19,"wall6"],[20,"wall7"],[21,"wall8"],[22,"wall9"],[23,"wall10"],[24,"wall11"],[25,"wall12"],[26,"wall13"],[27,"wall14"],[28,"wall15"],[29,"wall16"]],"logo-volumes-english-lod0-jg":[[51,"wall39"],[50,"wall38"],[49,"wall37"],[48,"wall36"],[47,"wall35"],[46,"wall34"],[45,"wall33"],[44,"wall32"],[43,"wall31"],[42,"wall30"],[41,"wall29"],[40,"wall27"],[39,"wall26"],[38,"wall25"],[37,"wall24"],[36,"wall23"],[35,"wall22"],[34,"wall21"],[33,"wall20"],[32,"wall19"],[31,"wall18"],[30,"wall17"],[13,"text"],[12,"jd"],[11,"camera"],[10,"volume4"],[9,"volume3"],[8,"volume2"],[7,"volume1"],[6,"volume"],[5,"volumeBase"],[4,"lensflare"],[3,"main"],[2,"prejoint"],[1,"align"],[14,"wall1"],[15,"wall2"],[16,"wall3"],[17,"wall4"],[18,"wall5"],[19,"wall6"],[20,"wall7"],[21,"wall8"],[22,"wall9"],[23,"wall10"],[24,"wall11"],[25,"wall12"],[26,"wall13"],[27,"wall14"],[28,"wall15"],[29,"wall16"]],"logo-volumes-japan-lod0-jg":[[51,"wall39"],[50,"wall38"],[49,"wall37"],[48,"wall36"],[47,"wall35"],[46,"wall34"],[45,"wall33"],[44,"wall32"],[43,"wall31"],[42,"wall30"],[41,"wall29"],[40,"wall27"],[39,"wall26"],[38,"wall25"],[37,"wall24"],[36,"wall23"],[35,"wall22"],[34,"wall21"],[33,"wall20"],[32,"wall19"],[31,"wall18"],[30,"wall17"],[13,"text"],[12,"jd"],[11,"camera"],[10,"volume4"],[9,"volume3"],[8,"volume2"],[7,"volume1"],[6,"volume"],[5,"volumeBase"],[4,"lensflare"],[3,"main"],[2,"prejoint"],[1,"align"],[14,"wall1"],[15,"wall2"],[16,"wall3"],[17,"wall4"],[18,"wall5"],[19,"wall6"],[20,"wall7"],[21,"wall8"],[22,"wall9"],[23,"wall10"],[24,"wall11"],[25,"wall12"],[26,"wall13"],[27,"wall14"],[28,"wall15"],[29,"wall16"]],"logtrap-lod0-jg":[[6,"log"],[5,"ropeknot"],[4,"logmid"],[3,"logtop"],[2,"prejoint"],[1,"align"]],"lrocklrg-lod0-jg":[[8,"fuelcell"],[7,"camera"],[6,"smlrock"],[5,"Rrocklrg"],[4,"platformrock"],[3,"Lrocklrg"],[2,"prejoint"],[1,"align"]],"lurkercrab-lod0-jg":[[25,"rKnee3"],[24,"rThigh3"],[23,"rKnee2"],[22,"rThigh2"],[21,"rTopPinch"],[20,"rBotPinch"],[19,"rHand"],[18,"rElbow"],[17,"rShoulder"],[16,"lTopPinch"],[15,"lBotPinch"],[14,"lHand"],[1,"align"],[2,"prejoint"],[3,"main"],[4,"bod"],[5,"shell"],[6,"head"],[7,"ring"],[8,"lThigh3"],[9,"lKnee3"],[10,"lThigh2"],[11,"lKnee2"],[12,"lShoulder"],[13,"lElbow"]],"lurkerm-piston-geo-jg":[[3,"main"],[2,"prejoint"],[1,"align"]],"lurkerm-tall-sail-lod0-jg":[[3,"center"],[2,"prejoint"],[1,"align"]],"lurkerpuppy-lod0-jg":[[31,"Rball"],[30,"Lball"],[13,"Rshoulder"],[12,"Lhand"],[11,"Lelbow"],[10,"Lshoulder"],[9,"Rear"],[8,"Lear"],[7,"hair"],[6,"head"],[5,"neck"],[4,"chest"],[3,"main"],[2,"prejoint"],[1,"align"],[14,"Relbow"],[15,"Rhand"],[16,"hips"],[17,"Lthigh"],[18,"Lknee"],[19,"Lankle"],[20,"tailA"],[21,"tailB"],[22,"Rthigh"],[23,"Rknee"],[24,"Rankle"],[25,"backFur"],[26,"ring"],[27,"jaw"],[28,"LthumbA"],[29,"RthumbA"]],"lurkerworm-lod0-jg":[[15,"ringRIGHT"],[14,"ringLEFT"],[1,"align"],[2,"prejoint"],[3,"main"],[4,"hip"],[5,"bod1"],[6,"bod2"],[7,"bod3"],[8,"bod4"],[9,"neck"],[10,"head"],[11,"jaw"],[12,"chinFur"],[13,"ringTOP"]],"maincavecam-lod0-jg":[[4,"camera"],[3,"cavecam"],[2,"prejoint"],[1,"align"]],"maindoor-lod0-jg":[[9,"door6"],[8,"door5"],[7,"door4"],[6,"door3"],[5,"door2"],[4,"door1"],[3,"master"],[2,"prejoint"],[1,"align"]],"mayor-lod0-jg":[[73,"RringC"],[72,"RmiddleC"],[71,"RthumbC"],[70,"LringC"],[69,"LmiddleC"],[68,"LthumbC"],[67,"RringB"],[66,"RringA"],[65,"RmiddleB"],[64,"RmiddleA"],[63,"RthumbB"],[62,"LringB"],[61,"LringA"],[60,"LmiddleB"],[29,"LpinkyB"],[28,"LpinkyA"],[27,"LindexC"],[26,"LindexB"],[25,"LindexA"],[24,"LthumbA"],[23,"Lhand"],[22,"Lelbow"],[21,"Lshoulder"],[20,"Ltie2"],[19,"Ltie1"],[18,"tHatBase1"],[17,"Rstache3"],[16,"Rstache2"],[15,"Rstache1"],[14,"Lstache3"],[1,"align"],[2,"prejoint"],[3,"main"],[4,"chest"],[5,"neck"],[6,"head"],[7,"Lear1"],[8,"Lear2"],[9,"Rear1"],[10,"Rear2"],[11,"stache"],[12,"Lstache1"],[13,"Lstache2"],[30,"LpinkyC"],[31,"Rshoulder"],[32,"Relbow"],[33,"Rhand"],[34,"RthumbA"],[35,"RindexA"],[36,"RindexB"],[37,"RindexC"],[38,"RpinkyA"],[39,"RpinkyB"],[40,"RpinkyC"],[41,"belly"],[42,"hips"],[43,"Lthigh"],[44,"Lknee"],[45,"Lankle"],[46,"Lball"],[47,"Rthigh"],[48,"Rknee"],[49,"Rankle"],[50,"Rball"],[51,"camera"],[52,"cameraB"],[53,"tHatEnd"],[54,"Ltie3"],[55,"Rtie1"],[56,"Rtie2"],[57,"Rtie3"],[58,"LthumbB"],[59,"LmiddleA"]],"mayorgears-geo-jg":[[3,"mayorgears"],[2,"prejoint"],[1,"align"]],"medres-beach-lod0-jg":[[3,"boneless"],[2,"prejoint"],[1,"align"]],"medres-beach1-lod0-jg":[[3,"boneless"],[2,"prejoint"],[1,"align"]],"medres-beach2-lod0-jg":[[3,"boneless"],[2,"prejoint"],[1,"align"]],"medres-beach3-lod0-jg":[[3,"boneless"],[2,"prejoint"],[1,"align"]],"medres-finalboss-lod0-jg":[[3,"boneless"],[2,"prejoint"],[1,"align"]],"medres-firecanyon-lod0-jg":[[3,"boneless"],[2,"prejoint"],[1,"align"]],"medres-jungle-lod0-jg":[[3,"boneless"],[2,"prejoint"],[1,"align"]],"medres-jungle1-lod0-jg":[[8,"planet"],[7,"planetR"],[6,"outerR"],[5,"innerR"],[4,"innersphere"],[3,"master"],[2,"prejoint"],[1,"align"]],"medres-jungle2-lod0-jg":[[3,"boneless"],[2,"prejoint"],[1,"align"]],"medres-misty-lod0-jg":[[3,"boneless"],[2,"prejoint"],[1,"align"]],"medres-ogre-lod0-jg":[[3,"boneless"],[2,"prejoint"],[1,"align"]],"medres-ogre2-lod0-jg":[[3,"boneless"],[2,"prejoint"],[1,"align"]],"medres-ogre3-lod0-jg":[[3,"boneless"],[2,"prejoint"],[1,"align"]],"medres-rolling-lod0-jg":[[3,"boneless"],[2,"prejoint"],[1,"align"]],"medres-rolling1-lod0-jg":[[3,"boneless"],[2,"prejoint"],[1,"align"]],"medres-snow-lod0-jg":[[3,"boneless"],[2,"prejoint"],[1,"align"]],"medres-training-lod0-jg":[[3,"boneless"],[2,"prejoint"],[1,"align"]],"medres-village11-lod0-jg":[[4,"windmill"],[3,"main"],[2,"prejoint"],[1,"align"]],"medres-village12-lod0-jg":[[3,"boneless"],[2,"prejoint"],[1,"align"]],"medres-village13-lod0-jg":[[3,"boneless"],[2,"prejoint"],[1,"align"]],"medres-village2-lod0-jg":[[3,"boneless"],[2,"prejoint"],[1,"align"]],"minecartsteel-lod0-jg":[[6,"frontAxle"],[5,"rearAxle"],[4,"cart"],[3,"main"],[2,"prejoint"],[1,"align"]],"minershort-lod0-jg":[[65,"rStrapBot"],[64,"lStrapBot"],[63,"rStrapTop"],[62,"lStrapTop"],[61,"axe2"],[60,"belly"],[29,"RthumbA"],[28,"Rhand"],[27,"Relbow"],[26,"Rshoulder"],[25,"LpinkyB"],[24,"LpinkyA"],[23,"LindexB"],[22,"LindexA"],[21,"LthumbA"],[20,"Lhand"],[19,"Lelbow"],[18,"Lshoulder"],[17,"rStash3"],[16,"rStash2"],[15,"rStash1"],[14,"candle"],[1,"align"],[2,"prejoint"],[3,"main"],[4,"chest"],[5,"neck"],[6,"head"],[7,"lEar1"],[8,"lEar2"],[9,"rEar1"],[10,"rEar2"],[11,"lStash1"],[12,"lStash2"],[13,"lStash3"],[30,"RindexA"],[31,"RindexB"],[32,"RpinkyA"],[33,"RpinkyB"],[34,"hips"],[35,"Lthigh"],[36,"Lknee"],[37,"Lankle"],[38,"Lball"],[39,"Rthigh"],[40,"Rknee"],[41,"Rankle"],[42,"Rball"],[43,"lStrapBotRoot"],[44,"rStrapBotRoot"],[45,"axe1"],[46,"camera"],[47,"cameraB"],[48,"LthumbB"],[49,"LthumbC"],[50,"LmiddleA"],[51,"LmiddleB"],[52,"LringA"],[53,"LringB"],[54,"RthumbB"],[55,"RthumbC"],[56,"RmiddleA"],[57,"RmiddleB"],[58,"RringA"],[59,"RringB"]],"minertall-lod0-jg":[[72,"shovel3"],[71,"shovel2"],[70,"dynoC"],[69,"dyno3"],[68,"dynoB"],[67,"dyno2"],[66,"rFootStrap2"],[65,"rFootStrap1"],[64,"lFootStrap2"],[63,"lFootStrap1"],[62,"RringB"],[61,"RringA"],[60,"RmiddleB"],[29,"RindexB"],[28,"RindexA"],[27,"RthumbA"],[26,"Rhand"],[25,"Relbow"],[24,"Rshoulder"],[23,"LpinkyB"],[22,"LpinkyA"],[21,"LindexB"],[20,"LindexA"],[19,"LthumbA"],[18,"Lhand"],[17,"Lelbow"],[16,"Lshoulder"],[15,"cageDoor"],[14,"birdLight"],[1,"align"],[2,"prejoint"],[3,"main"],[4,"chest"],[5,"neck"],[6,"head"],[7,"lEar1"],[8,"lEar2"],[9,"rEar1"],[10,"rEar2"],[11,"cage"],[12,"birdBase"],[13,"birdHead"],[30,"RpinkyA"],[31,"RpinkyB"],[32,"hips"],[33,"Lthigh"],[34,"Lknee"],[35,"Lankle"],[36,"Lball"],[37,"lLegStrap1"],[38,"lLegStrap2"],[39,"Rthigh"],[40,"Rknee"],[41,"Rankle"],[42,"Rball"],[43,"rLegStrap1"],[44,"rLegStrap2"],[45,"dyno1"],[46,"shovel1"],[47,"camera"],[48,"cameraB"],[49,"birdWingL"],[50,"birdWingR"],[51,"LthumbB"],[52,"LthumbC"],[53,"LmiddleA"],[54,"LmiddleB"],[55,"LringA"],[56,"LringB"],[57,"RthumbB"],[58,"RthumbC"],[59,"RmiddleA"]],"mis-bone-bridge-lod0-jg":[[4,"log"],[3,"main"],[2,"prejoint"],[1,"align"]],"mis-bone-platform-lod0-jg":[[3,"main"],[2,"prejoint"],[1,"align"]],"mistycam-lod0-jg":[[4,"camera"],[3,"beachcam"],[2,"prejoint"],[1,"align"]],"mistycannon-lod0-jg":[[9,"lfwheel"],[8,"rfwheel"],[7,"rrwheel"],[6,"lrwheel"],[5,"scope"],[4,"muzzel"],[3,"main"],[2,"prejoint"],[1,"align"]],"money-lod0-jg":[[3,"egg"],[2,"prejoint"],[1,"align"]],"mother-spider-leg-lod0-jg":[[4,"lmidlegB"],[3,"lmidlegA"],[2,"prejoint"],[1,"align"]],"mother-spider-lod0-jg":[[29,"hair"],[28,"ring"],[27,"webStart"],[26,"webA"],[25,"webB"],[24,"webC"],[23,"webD"],[22,"webE"],[21,"jaw"],[20,"head"],[19,"neck"],[18,"rfrontlegB"],[17,"rfrontlegA"],[16,"rmidlegB"],[15,"rmidlegA"],[14,"rrearlegB"],[1,"align"],[2,"prejoint"],[3,"webF"],[4,"bodC"],[5,"bodB"],[6,"bodA"],[7,"lrearlegA"],[8,"lrearlegB"],[9,"lmidlegA"],[10,"lmidlegB"],[11,"lfrontlegA"],[12,"lfrontlegB"],[13,"rrearlegA"]],"muse-lod0-jg":[[45,"jawEND"],[44,"tail_END"],[43,"tail8"],[42,"tail7"],[41,"RpinkyB"],[40,"RmiddleA"],[39,"RthumbA"],[38,"LpinkyA"],[37,"LmiddleA"],[36,"LthumbA"],[35,"Rball"],[34,"Rankle"],[33,"Rknee"],[32,"Rthigh"],[31,"tail6"],[30,"tail5"],[13,"fur"],[12,"rightEAREND"],[11,"rightEAR"],[10,"leftEAREND"],[9,"leftEAR"],[8,"jaw"],[7,"head"],[6,"neck"],[5,"chest"],[4,"main"],[3,"camera"],[2,"prejoint"],[1,"align"],[14,"Lshoulder"],[15,"Lelbow"],[16,"Lhand"],[17,"Rshoulder"],[18,"Relbow"],[19,"Rhand"],[20,"loSpine"],[21,"hips"],[22,"Lthigh"],[23,"Lknee"],[24,"Lankle"],[25,"Lball"],[26,"tail1"],[27,"tail2"],[28,"tail3"],[29,"tail4"]],"ndi-cam-lod0-jg":[[4,"dummy"],[3,"camera"],[2,"prejoint"],[1,"align"]],"ndi-lod0-jg":[[19,"stamp"],[18,"whiteClaw_paw"],[17,"whiteClaw_three"],[16,"whiteClaw_four"],[15,"white"],[14,"paw"],[1,"align"],[2,"prejoint"],[3,"main"],[4,"n"],[5,"a"],[6,"u"],[7,"g"],[8,"h"],[9,"t"],[10,"y"],[11,"d"],[12,"o"],[13,"g1"]],"ndi-volumes-lod0-jg":[[30,"whiteClaw_paw"],[13,"h_vol"],[12,"h"],[11,"g_vol"],[10,"g"],[9,"u_vol"],[8,"u"],[7,"a_vol"],[6,"a"],[5,"n_vol"],[4,"n"],[3,"main"],[2,"prejoint"],[1,"align"],[14,"t"],[15,"t_vol"],[16,"y"],[17,"y_vol"],[18,"d"],[19,"d_vol"],[20,"o"],[21,"o_vol"],[22,"g1"],[23,"g_vol2"],[24,"paw"],[25,"paw_vol"],[26,"white"],[27,"white_vol"],[28,"whiteClaw_four"],[29,"whiteClaw_three"]],"ogre-bridge-lod0-jg":[[20,"bridgestart"],[19,"walk_16"],[18,"walk_15"],[17,"walk_14"],[16,"walk_13"],[15,"walk_12"],[14,"walk_11"],[1,"align"],[2,"prejoint"],[3,"bridge"],[4,"walk_1"],[5,"walk_2"],[6,"walk_3"],[7,"walk_4"],[8,"walk_5"],[9,"walk_6"],[10,"walk_7"],[11,"walk_8"],[12,"walk_9"],[13,"walk_10"]],"ogre-bridgeend-lod0-jg":[[3,"boneless"],[2,"prejoint"],[1,"align"]],"ogre-isle-a-lod0-jg":[[3,"isle3"],[2,"prejoint"],[1,"align"]],"ogre-isle-b-lod0-jg":[[3,"isle2"],[2,"prejoint"],[1,"align"]],"ogre-isle-c-lod0-jg":[[3,"isle1"],[2,"prejoint"],[1,"align"]],"ogre-isle-d-lod0-jg":[[3,"isle4"],[2,"prejoint"],[1,"align"]],"ogre-step-a-lod0-jg":[[3,"step8"],[2,"prejoint"],[1,"align"]],"ogre-step-b-lod0-jg":[[3,"step7"],[2,"prejoint"],[1,"align"]],"ogre-step-c-lod0-jg":[[3,"step6"],[2,"prejoint"],[1,"align"]],"ogre-step-d-lod0-jg":[[3,"step5"],[2,"prejoint"],[1,"align"]],"ogreboss-bounce-boulder-lod0-jg":[[3,"main"],[2,"prejoint"],[1,"align"]],"ogreboss-cam-lod0-jg":[[4,"camera"],[3,"ogrebosscamera"],[2,"prejoint"],[1,"align"]],"ogreboss-column-lod0-jg":[[6,"bottom"],[5,"top"],[4,"mid"],[3,"main"],[2,"prejoint"],[1,"align"]],"ogreboss-lod0-jg":[[73,"Rball"],[72,"Rankle"],[71,"Rknee"],[70,"Rthigh"],[69,"Lball"],[68,"Lankle"],[67,"Lknee"],[66,"Lthigh"],[65,"hips"],[64,"RchestDangleA"],[63,"LchestDangleA"],[62,"backDanglerB"],[61,"backDanglerA"],[60,"LchestDanglerC"],[29,"LthumbA"],[28,"Lhand"],[27,"Lelbow"],[26,"Lshoulder"],[25,"Lcollar"],[24,"Reyebrow"],[23,"Leyebrow"],[22,"beardCluster"],[21,"beardD"],[20,"beardC"],[19,"beardB"],[18,"beardA"],[17,"jaw"],[16,"lips"],[15,"RhairFrontB"],[14,"RhairFrontA"],[1,"align"],[2,"prejoint"],[3,"main"],[4,"stomach"],[5,"chest"],[6,"neck"],[7,"head"],[8,"hairFront"],[9,"Lbone"],[10,"Rbone"],[11,"hairCenter"],[12,"LhairFrontA"],[13,"LhairFrontB"],[30,"LthumbB"],[31,"LindexA"],[32,"LindexB"],[33,"LmiddleA"],[34,"LmiddleB"],[35,"LringA"],[36,"LringB"],[37,"LpinkyA"],[38,"LpinkyB"],[39,"Lshackle"],[40,"Lfur"],[41,"Rcollar"],[42,"Rshoulder"],[43,"Relbow"],[44,"Rthumb_top"],[45,"Rthumb_mid"],[46,"Rclaw_topA"],[47,"Rclaw_midA"],[48,"Rclaw_topB"],[49,"Rclaw_midB"],[50,"Rclaw_topC"],[51,"Rclaw_midC"],[52,"boulder"],[53,"RarmDangler"],[54,"RarmDanglerToo"],[55,"RchestDanglerA"],[56,"RchestDanglerB"],[57,"RchestDanglerC"],[58,"LchestDanglerA"],[59,"LchestDanglerB"]],"ogreboss-shoot-boulder-break-lod0-jg":[[9,"F"],[8,"E"],[7,"D"],[6,"C"],[5,"B"],[4,"A"],[3,"main"],[2,"prejoint"],[1,"align"]],"ogreboss-shoot-boulder-lod0-jg":[[3,"main"],[2,"prejoint"],[1,"align"]],"ogreboss-super-boulder-lod0-jg":[[3,"main"],[2,"prejoint"],[1,"align"]],"ogreboss-village2-lod0-jg":[[75,"Rball"],[74,"Lball"],[73,"RchestDangleA"],[72,"LchestDanglerC"],[71,"RchestDanglerC"],[70,"RarmDanglerToo"],[69,"RarmDangler"],[68,"Rclaw_midC"],[67,"Rclaw_midB"],[66,"Rclaw_midA"],[65,"Rthumb_mid"],[64,"Lfur"],[63,"Lshackle"],[62,"LpinkyB"],[61,"LpinkyA"],[60,"LringB"],[29,"LchestDangleA"],[28,"backDanglerB"],[27,"backDanglerA"],[26,"LchestDanglerB"],[25,"LchestDanglerA"],[24,"RchestDanglerB"],[23,"RchestDanglerA"],[22,"boulder"],[21,"Rclaw_topC"],[20,"Rclaw_topB"],[19,"Rclaw_topA"],[18,"Rthumb_top"],[17,"Relbow"],[16,"Rshoulder"],[15,"Rcollar"],[14,"Lhand"],[1,"align"],[2,"prejoint"],[3,"main"],[4,"stomach"],[5,"chest"],[6,"neck"],[7,"head"],[8,"jaw"],[9,"beardA"],[10,"beardB"],[11,"Lcollar"],[12,"Lshoulder"],[13,"Lelbow"],[30,"hips"],[31,"Lthigh"],[32,"Lknee"],[33,"Lankle"],[34,"Rthigh"],[35,"Rknee"],[36,"Rankle"],[37,"camera"],[38,"cameraB"],[39,"hairFront"],[40,"Lbone"],[41,"Rbone"],[42,"hairCenter"],[43,"LhairFrontA"],[44,"LhairFrontB"],[45,"RhairFrontA"],[46,"RhairFrontB"],[47,"lips"],[48,"beardC"],[49,"beardD"],[50,"beardCluster"],[51,"Leyebrow"],[52,"Reyebrow"],[53,"LthumbA"],[54,"LthumbB"],[55,"LindexA"],[56,"LindexB"],[57,"LmiddleA"],[58,"LmiddleB"],[59,"LringA"]],"ogrecam-lod0-jg":[[5,"cameraB"],[4,"cameraA"],[3,"ogrecam"],[2,"prejoint"],[1,"align"]],"oracle-lod0-jg":[[6,"oracleleye"],[5,"oraclereye"],[4,"camera"],[3,"oracle"],[2,"prejoint"],[1,"align"]],"orb-cache-top-lod0-jg":[[3,"boneless"],[2,"prejoint"],[1,"align"]],"orbit-plat-bottom-lod0-jg":[[3,"boneless"],[2,"prejoint"],[1,"align"]],"orbit-plat-lod0-jg":[[4,"button"],[3,"main"],[2,"prejoint"],[1,"align"]],"pelican-lod0-jg":[[32,"lBall"],[31,"rBall"],[30,"neckFur"],[13,"jaw"],[12,"head"],[11,"neckD"],[10,"neckB"],[9,"neckA"],[8,"chest"],[7,"tailEnd"],[6,"tailB"],[5,"tailA"],[4,"hips"],[3,"main"],[2,"prejoint"],[1,"align"],[14,"jawEnd"],[15,"lShoulder"],[16,"lElbow"],[17,"lHand"],[18,"lHandEnd"],[19,"rShoulder"],[20,"rElbow"],[21,"rHand"],[22,"rHandEnd"],[23,"rThigh"],[24,"rKnee"],[25,"rAnkle"],[26,"lThigh"],[27,"lKnee"],[28,"lAnkle"],[29,"hair"]],"periscope-base-lod0-jg":[[7,"plug"],[6,"mirror"],[5,"mirrorbase"],[4,"grips"],[3,"pole"],[2,"prejoint"],[1,"align"]],"periscope-mirror-lod0-jg":[[3,"mirror"],[2,"prejoint"],[1,"align"]],"pistons-lod0-jg":[[15,"piston4A"],[14,"piston4B"],[1,"align"],[2,"prejoint"],[3,"main"],[4,"piston1C"],[5,"piston2C"],[6,"piston3C"],[7,"piston4C"],[8,"piston1B"],[9,"piston1A"],[10,"piston2B"],[11,"piston2A"],[12,"piston3B"],[13,"piston3A"]],"plant-boss-arms-lod0-jg":[[10,"armEND"],[9,"armE"],[8,"armD"],[7,"armC"],[6,"armB"],[5,"armA"],[4,"armBASE"],[3,"armNEW"],[2,"prejoint"],[1,"align"]],"plant-boss-back-arms-lod0-jg":[[9,"plugE"],[8,"plugD"],[7,"plugC"],[6,"plugB"],[5,"plugA"],[4,"backMID"],[3,"BASE"],[2,"prejoint"],[1,"align"]],"plant-boss-leaf-lod0-jg":[[10,"RleafPlat"],[9,"LleafPlat"],[8,"leafPlat"],[7,"leafArmD"],[6,"leafArmC"],[5,"leafArmB"],[4,"leafArmA"],[3,"leafArmBASE"],[2,"prejoint"],[1,"align"]],"plant-boss-main-lod0-jg":[[43,"lowerTeeth"],[42,"tongueTIP"],[41,"tongueMID1"],[40,"tongueMID"],[39,"tongueBASE"],[38,"jawEndTip"],[37,"jawEnd"],[36,"upperTeeth"],[35,"Reyebrow"],[34,"Reye"],[33,"ReyeStalkMID"],[32,"ReyeStalkBASE"],[31,"Leyebrow"],[30,"Leye"],[13,"head"],[12,"neckI"],[11,"neckH"],[10,"neckG"],[9,"neckF"],[8,"neckE"],[7,"neckD"],[6,"neckC"],[5,"neckB"],[4,"neckA"],[3,"BASE"],[2,"prejoint"],[1,"align"],[14,"upperJaw"],[15,"LeyeStalkBASE"],[16,"LeyeStalkMID"],[17,"lowerJaw"],[18,"Uleaf"],[19,"UleafMID"],[20,"Lleaf"],[21,"Bleaf"],[22,"BleafMID"],[23,"Rleaf"],[24,"eichar"],[25,"frontTentacleBASE"],[26,"frontTentacleMID"],[27,"back"],[28,"camera"],[29,"camera2"]],"plant-boss-root-lod0-jg":[[5,"rootC"],[4,"rootB"],[3,"rootA"],[2,"prejoint"],[1,"align"]],"plant-boss-vine-lod0-jg":[[12,"topvineD"],[11,"topvineC"],[10,"topvineB"],[9,"topvineA"],[8,"vineE"],[7,"vineD"],[6,"vineC"],[5,"vineB"],[4,"vineA"],[3,"vineBASE"],[2,"prejoint"],[1,"align"]],"plat-button-geo-jg":[[4,"button"],[3,"main"],[2,"prejoint"],[1,"align"]],"plat-citb-lod0-jg":[[3,"boneless"],[2,"prejoint"],[1,"align"]],"plat-eco-citb-lit-lod0-jg":[[3,"main"],[2,"prejoint"],[1,"align"]],"plat-eco-citb-lod0-jg":[[3,"main"],[2,"prejoint"],[1,"align"]],"plat-eco-finalboss-lit-lod0-jg":[[3,"main"],[2,"prejoint"],[1,"align"]],"plat-eco-finalboss-lod0-jg":[[3,"main"],[2,"prejoint"],[1,"align"]],"plat-eco-lit-lod0-jg":[[3,"main"],[2,"prejoint"],[1,"align"]],"plat-eco-lod0-jg":[[3,"main"],[2,"prejoint"],[1,"align"]],"plat-flip-geo-jg":[[3,"main"],[2,"prejoint"],[1,"align"]],"plat-jungleb-lod0-jg":[[3,"boneless"],[2,"prejoint"],[1,"align"]],"plat-lod0-jg":[[3,"boneless"],[2,"prejoint"],[1,"align"]],"plat-sunken-lod0-jg":[[3,"boneless"],[2,"prejoint"],[1,"align"]],"plunger-lurker-lod0-jg":[[65,"bellyEND"],[64,"RpinkyC"],[63,"RringC"],[62,"RmiddleC"],[61,"RindexC"],[60,"RthumbC"],[29,"Rball"],[28,"Lball"],[27,"Reco"],[26,"RmiddleA"],[25,"RthumbB"],[24,"RthumbA"],[23,"Leco"],[22,"LmiddleA"],[21,"LthumbB"],[20,"LthumbA"],[19,"Rankle"],[18,"Rknee"],[17,"Rthigh"],[16,"Lankle"],[15,"Lknee"],[14,"Lthigh"],[1,"align"],[2,"prejoint"],[3,"main"],[4,"chest"],[5,"neck"],[6,"head"],[7,"Lshoulder"],[8,"Lelbow"],[9,"Lhand"],[10,"Rshoulder"],[11,"Relbow"],[12,"Rhand"],[13,"hips"],[30,"detonate"],[31,"reye"],[32,"leye"],[33,"jaw"],[34,"hair"],[35,"LindexA"],[36,"LindexB"],[37,"LmiddleB"],[38,"LringA"],[39,"LringB"],[40,"LpinkyA"],[41,"LpinkyB"],[42,"RindexA"],[43,"RindexB"],[44,"RmiddleB"],[45,"RringA"],[46,"RringB"],[47,"RpinkyA"],[48,"RpinkyB"],[49,"Lleghair"],[50,"Rleghair"],[51,"belly"],[52,"detonate_mid"],[53,"plunger"],[54,"jawEND"],[55,"LthumbC"],[56,"LindexC"],[57,"LmiddleC"],[58,"LringC"],[59,"LpinkyC"]],"pontoonfive-lod0-jg":[[3,"boneless"],[2,"prejoint"],[1,"align"]],"pontoonten-lod0-jg":[[3,"boneless"],[2,"prejoint"],[1,"align"]],"power-left-lod0-jg":[[53,"150"],[52,"149"],[51,"148"],[50,"147"],[49,"146"],[48,"145"],[47,"144"],[46,"143"],[45,"142"],[44,"141"],[43,"140"],[42,"139"],[41,"138"],[40,"137"],[39,"136"],[38,"135"],[37,"134"],[36,"133"],[35,"132"],[34,"131"],[33,"130"],[32,"129"],[31,"128"],[30,"127"],[13,"110"],[12,"109"],[11,"108"],[10,"107"],[9,"106"],[8,"105"],[7,"104"],[6,"103"],[5,"102"],[4,"101"],[3,"main"],[2,"prejoint"],[1,"align"],[14,"111"],[15,"112"],[16,"113"],[17,"114"],[18,"115"],[19,"116"],[20,"117"],[21,"118"],[22,"119"],[23,"120"],[24,"121"],[25,"122"],[26,"123"],[27,"124"],[28,"125"],[29,"126"]],"power-right-lod0-jg":[[53,"1"],[52,"2"],[51,"3"],[50,"4"],[49,"5"],[48,"6"],[47,"7"],[46,"8"],[45,"9"],[44,"10"],[43,"11"],[42,"12"],[41,"13"],[40,"14"],[39,"15"],[38,"16"],[37,"17"],[36,"18"],[35,"19"],[34,"20"],[33,"21"],[32,"22"],[31,"23"],[30,"24"],[13,"41"],[12,"42"],[11,"43"],[10,"44"],[9,"45"],[8,"46"],[7,"47"],[6,"48"],[5,"49"],[4,"50"],[3,"main_"],[2,"prejoint"],[1,"align"],[14,"40"],[15,"39"],[16,"38"],[17,"37"],[18,"36"],[19,"35"],[20,"34"],[21,"33"],[22,"32"],[23,"31"],[24,"30"],[25,"29"],[26,"28"],[27,"27"],[28,"26"],[29,"25"]],"powercellalt-lod0-jg":[[3,"boneless"],[2,"prejoint"],[1,"align"]],"precurbridge-geo-jg":[[19,"walksec_8"],[18,"egg_8"],[17,"walksec_7"],[16,"egg_7"],[15,"walksec_6"],[14,"egg_6"],[1,"align"],[2,"prejoint"],[3,"main"],[4,"egg_1"],[5,"walksec_1"],[6,"egg_2"],[7,"walksec_2"],[8,"egg_3"],[9,"walksec_3"],[10,"egg_4"],[11,"walksec_4"],[12,"egg_5"],[13,"walksec_5"]],"precursor-arm-lod0-jg":[[4,"ropearm"],[3,"arm"],[2,"prejoint"],[1,"align"]],"puffer-main-lod0-jg":[[60,"spike9"],[29,"lwingC"],[28,"lwingB"],[27,"lwingA"],[26,"rhand"],[25,"relbow"],[24,"rarm"],[23,"lhand"],[22,"lelbow"],[21,"larm"],[20,"rball"],[19,"rankle"],[18,"rknee"],[17,"rthigh"],[16,"lball"],[15,"lankle"],[14,"lknee"],[1,"align"],[2,"prejoint"],[3,"main"],[4,"neck"],[5,"head"],[6,"jaw"],[7,"hips"],[8,"tailA"],[9,"tailB"],[10,"tailC"],[11,"tailD"],[12,"tailE"],[13,"lthigh"],[30,"rwingA"],[31,"rwingB"],[32,"rwingC"],[33,"ring"],[34,"spike12"],[35,"spike10"],[36,"spike3"],[37,"spike15"],[38,"spike6"],[39,"lpinkyA"],[40,"lpinkyB"],[41,"lindexA"],[42,"lindexB"],[43,"lthumbA"],[44,"lthumbB"],[45,"rpinkyA"],[46,"rpinkyB"],[47,"rindexA"],[48,"rindexB"],[49,"rthumbA"],[50,"rthumbB"],[51,"spike14"],[52,"spike5"],[53,"spike7"],[54,"spike8"],[55,"spike2"],[56,"spike11"],[57,"spike4"],[58,"spike13"],[59,"spike1"]],"puffer-mean-lod0-jg":[[60,"spike9"],[29,"lwingC"],[28,"lwingB"],[27,"lwingA"],[26,"rhand"],[25,"relbow"],[24,"rarm"],[23,"lhand"],[22,"lelbow"],[21,"larm"],[20,"rball"],[19,"rankle"],[18,"rknee"],[17,"rthigh"],[16,"lball"],[15,"lankle"],[14,"lknee"],[1,"align"],[2,"prejoint"],[3,"main"],[4,"neck"],[5,"head"],[6,"jaw"],[7,"hips"],[8,"tailA"],[9,"tailB"],[10,"tailC"],[11,"tailD"],[12,"tailE"],[13,"lthigh"],[30,"rwingA"],[31,"rwingB"],[32,"rwingC"],[33,"ring"],[34,"spike12"],[35,"spike10"],[36,"spike3"],[37,"spike15"],[38,"spike6"],[39,"lpinkyA"],[40,"lpinkyB"],[41,"lindexA"],[42,"lindexB"],[43,"lthumbA"],[44,"lthumbB"],[45,"rpinkyA"],[46,"rpinkyB"],[47,"rindexA"],[48,"rindexB"],[49,"rthumbA"],[50,"rthumbB"],[51,"spike14"],[52,"spike5"],[53,"spike7"],[54,"spike8"],[55,"spike2"],[56,"spike11"],[57,"spike4"],[58,"spike13"],[59,"spike1"]],"pusher-lod0-jg":[[4,"pusherfront"],[3,"pusher"],[2,"prejoint"],[1,"align"]],"qbert-plat-lod0-jg":[[3,"boneless"],[2,"prejoint"],[1,"align"]],"qbert-plat-on-lod0-jg":[[3,"boneless"],[2,"prejoint"],[1,"align"]],"quicksandlurker-lod0-jg":[[49,"Rball"],[48,"Rankle"],[47,"Rknee"],[46,"Rthigh"],[45,"Lball"],[44,"Lankle"],[43,"Lknee"],[42,"Lthigh"],[41,"hips"],[40,"belly"],[39,"Reco"],[38,"RpinkyB"],[37,"RpinkyA"],[36,"RringB"],[35,"RringA"],[34,"RmiddleB"],[33,"RmiddleA"],[32,"RindexB"],[31,"RindexA"],[30,"RthumbB"],[13,"Lhand"],[12,"Lelbow"],[11,"Lshoulder"],[10,"hair"],[9,"jawEND"],[8,"Rbrow"],[7,"Lbrow"],[6,"head"],[5,"neck"],[4,"chest"],[3,"main"],[2,"prejoint"],[1,"align"],[14,"LthumbA"],[15,"LthumbB"],[16,"LindexA"],[17,"LindexB"],[18,"LmiddleA"],[19,"LmiddleB"],[20,"LringA"],[21,"LringB"],[22,"LpinkyA"],[23,"LpinkyB"],[24,"Leco"],[25,"bottomjaw"],[26,"Rshoulder"],[27,"Relbow"],[28,"Rhand"],[29,"RthumbA"]],"race-ring-lod0-jg":[[5,"fuelcell"],[4,"camera"],[3,"racering"],[2,"prejoint"],[1,"align"]],"racer-explode-lod0-jg":[[18,"16"],[17,"15"],[16,"14"],[15,"13"],[14,"12"],[1,"align"],[2,"prejoint"],[3,"1"],[4,"2"],[5,"3"],[6,"4"],[7,"5"],[8,"6"],[9,"7"],[10,"8"],[11,"9"],[12,"10"],[13,"11"]],"racer-geo-jg":[[16,"bootAnkleL"],[15,"left_shoe"],[14,"bootAnkleR"],[1,"align"],[2,"prejoint"],[3,"racer"],[4,"mainProp"],[5,"front"],[6,"tail"],[7,"tail_top"],[8,"tail_right"],[9,"tail_left"],[10,"bottomProp"],[11,"leftStick"],[12,"rightStick"],[13,"right_shoe"]],"ram-boss-lod0-jg":[[44,"Rball"],[43,"Rankle"],[42,"Rknee"],[41,"Rthigh"],[40,"Lball"],[39,"Lankle"],[38,"Lknee"],[37,"Lthigh"],[36,"hips"],[35,"Ltassle"],[34,"Rtassle"],[33,"ring"],[32,"shield"],[31,"RmiddleC"],[30,"RmiddleB"],[13,"LthumbC"],[12,"LthumbB"],[11,"LthumbA"],[10,"Lhand"],[9,"Lelbow"],[8,"Lshoulder"],[7,"jaw"],[6,"head"],[5,"neck"],[4,"chest"],[3,"main"],[2,"prejoint"],[1,"align"],[14,"LindexA"],[15,"LindexB"],[16,"LindexC"],[17,"LmiddleA"],[18,"LmiddleB"],[19,"LmiddleC"],[20,"Rshoulder"],[21,"Relbow"],[22,"Rhand"],[23,"RthumbA"],[24,"RthumbB"],[25,"RthumbC"],[26,"RindexA"],[27,"RindexB"],[28,"RindexC"],[29,"RmiddleA"]],"ram-lod0-jg":[[10,"lever"],[9,"ramboss"],[8,"ramlog"],[7,"rammer"],[6,"rearwheels"],[5,"frontwheels"],[4,"rammerwheel"],[3,"main"],[2,"prejoint"],[1,"align"]],"redring-lod0-jg":[[6,"tail"],[5,"inring"],[4,"outring"],[3,"main"],[2,"prejoint"],[1,"align"]],"redsage-lod0-jg":[[69,"headLamp"],[68,"RlegFlapB"],[67,"RlegFlapA"],[66,"LlegFlapB"],[65,"LlegFlapA"],[64,"RtubeBack"],[63,"RtubeTop"],[62,"RtubeFront"],[61,"LtubeBack"],[60,"LtubeTop"],[29,"Rthigh"],[28,"Lball"],[27,"Lankle"],[26,"Lknee"],[25,"Lthigh"],[24,"hips"],[23,"Rhand"],[22,"Relbow"],[21,"Rshoulder"],[20,"ecobolt"],[19,"Lhand"],[18,"Lelbow"],[17,"Lshoulder"],[16,"goateeB"],[15,"goateeA"],[14,"RmustacheB"],[1,"align"],[2,"prejoint"],[3,"main"],[4,"chest"],[5,"neck"],[6,"head"],[7,"lEarA"],[8,"lEarB"],[9,"rEarA"],[10,"rEarB"],[11,"LmustacheA"],[12,"LmustacheB"],[13,"RmustacheA"],[30,"Rknee"],[31,"Rankle"],[32,"Rball"],[33,"camera"],[34,"cameraB"],[35,"LthumbA"],[36,"LthumbB"],[37,"LindexA"],[38,"LindexB"],[39,"RthumbA"],[40,"RthumbB"],[41,"RindexA"],[42,"RindexB"],[43,"LmiddleA"],[44,"LmiddleB"],[45,"LringA"],[46,"LringB"],[47,"LpinkyA"],[48,"LpinkyB"],[49,"LarmFlapB"],[50,"LarmFlapA"],[51,"RmiddleA"],[52,"RmiddleB"],[53,"RringA"],[54,"RringB"],[55,"RpinkyA"],[56,"RpinkyB"],[57,"RarmFlapB"],[58,"RarmFlapA"],[59,"LtubeFront"]],"reflector-middle-geo-jg":[[3,"boneless"],[2,"prejoint"],[1,"align"]],"reflector-mirror-break-lod0-jg":[[10,"wishbone"],[9,"bottomlegright"],[8,"bottomlegmiddle"],[7,"bottomlegleft"],[6,"topmirror"],[5,"bottommirror"],[4,"toplegright"],[3,"toplegleft"],[2,"prejoint"],[1,"align"]],"reflector-mirror-lod0-jg":[[3,"boneless"],[2,"prejoint"],[1,"align"]],"revcycle-geo-jg":[[3,"revcycle"],[2,"prejoint"],[1,"align"]],"revcycleprop-lod0-jg":[[3,"boneless"],[2,"prejoint"],[1,"align"]],"robber-lod0-jg":[[59,"flap2"],[58,"rArmFur"],[57,"RpinkyB"],[56,"RpinkyA"],[55,"RringB"],[54,"RringA"],[53,"RindexB"],[52,"lArmFur"],[51,"LpinkyB"],[50,"LpinkyA"],[49,"LringB"],[48,"LringA"],[47,"LindexB"],[46,"belly"],[45,"rShoulderFur"],[44,"lShoulderFur"],[43,"RmiddleB"],[42,"RmiddleA"],[41,"RindexA"],[40,"RthumbB"],[39,"RthumbA"],[38,"LmiddleB"],[37,"LmiddleA"],[36,"LindexA"],[35,"LthumbB"],[34,"LthumbA"],[33,"flap1"],[32,"rLegFur"],[31,"Rball"],[30,"Rankle"],[13,"Rshoulder"],[12,"Lhand"],[11,"Lelbow"],[10,"Lshoulder"],[9,"ring"],[8,"jaw"],[7,"hair"],[6,"head"],[5,"neck"],[4,"chest"],[3,"main"],[2,"prejoint"],[1,"align"],[14,"Relbow"],[15,"Rhand"],[16,"lWing1"],[17,"lWing2"],[18,"lWing3"],[19,"rWing1"],[20,"rWing2"],[21,"rWing3"],[22,"hips"],[23,"Lthigh"],[24,"Lknee"],[25,"Lankle"],[26,"Lball"],[27,"lLegFur"],[28,"Rthigh"],[29,"Rknee"]],"robotboss-basic-lod0-jg":[[88,"camera"],[87,"interesting"],[86,"Rfoot_back"],[85,"Rfoot_front"],[84,"Rfoot"],[83,"Rknee"],[82,"Rthigh"],[81,"Rhips"],[80,"Lball_side"],[79,"Lball_back"],[78,"Lball_front"],[77,"Lfoot"],[76,"Lheel"],[75,"Lankle"],[74,"Lknee"],[73,"Lthigh"],[72,"Lhips"],[71,"hips"],[70,"rightArmGuard"],[69,"leftArmGuard"],[68,"green_eco"],[67,"darkbombREAR"],[66,"darkbombspikeE"],[65,"darkbombspikeD"],[64,"darkbombspikeC"],[63,"darkbombspikeB"],[62,"darkbombspikeA"],[61,"darktip"],[60,"darkbombD"],[29,"leftArmShield"],[28,"leftArmWiring"],[27,"Lyellow_ecoTubeA"],[26,"Lyellow_ecoTubeB"],[25,"Lyellow_ecoTubeD"],[24,"Lyellow_ecoTubeE"],[23,"Lyellow_ecoTubeF"],[22,"Lyellow_ecoGlobe"],[21,"Lyellow_ecoBarrell"],[20,"Lyellow_gloringC"],[19,"Lyellow_gloringB"],[18,"Lyellow_gloringA"],[17,"Lyellow_ecoB"],[16,"Lyellow_ecoA"],[15,"Lelbow"],[14,"Lshoulder"],[1,"align"],[2,"prejoint"],[3,"main"],[4,"chest"],[5,"neck"],[6,"head"],[7,"blue_eco_piece"],[8,"blue_ecoA"],[9,"blue_ecoB"],[10,"headPiece"],[11,"eyeAll"],[12,"eyelid_top"],[13,"eyelid_bot"],[30,"Rshoulder"],[31,"Relbow"],[32,"Rhand"],[33,"RthumbA"],[34,"RthumbB"],[35,"RindexA"],[36,"RindexB"],[37,"RmiddleA"],[38,"RmiddleB"],[39,"red_ecoBarrell"],[40,"red_ecoTip"],[41,"dishA"],[42,"dishB"],[43,"dishC"],[44,"dishD"],[45,"rArmTopWireA"],[46,"rArmTopWireB"],[47,"rArmTopWireC"],[48,"rArmTopWireD"],[49,"rArmBotWireA"],[50,"rArmBotWireB"],[51,"rArmBotWireC"],[52,"rArmBotWireD"],[53,"rightArmShield"],[54,"darkbomb_base"],[55,"darkbombhingeA"],[56,"darkbombhingeB"],[57,"darkbombA"],[58,"darkbombB"],[59,"darkbombC"]],"robotboss-blueeco-lod0-jg":[[8,"blue_ecoE"],[7,"blue_ecoD"],[6,"blue_ecoC"],[5,"blue_ecoB"],[4,"blue_ecoA"],[3,"blue_eco_piece"],[2,"prejoint"],[1,"align"]],"robotboss-cinematic-lod0-jg":[[29,"Lfoot"],[28,"Lheel"],[27,"RindexA"],[26,"RthumbA"],[25,"Rfoot_front"],[24,"Lknee"],[23,"Relbow"],[22,"leftArmShield"],[21,"leftArmWiring"],[20,"Lelbow"],[19,"Rhips"],[18,"Rthigh"],[17,"Lthigh"],[16,"leftArmGuard"],[15,"green_eco"],[14,"Rshoulder"],[1,"align"],[2,"prejoint"],[3,"main"],[4,"chest"],[5,"hips"],[6,"head"],[7,"blue_eco_piece"],[8,"Lshoulder"],[9,"Lyellow_ecoTubeF"],[10,"Lyellow_ecoTubeE"],[11,"Lyellow_ecoTubeD"],[12,"Lyellow_ecoTubeB"],[13,"Lyellow_ecoTubeA"]],"robotboss-redeco-lod0-jg":[[10,"top"],[9,"junk"],[8,"dishD"],[7,"dishC"],[6,"dishB"],[5,"leg"],[4,"Tip"],[3,"main"],[2,"prejoint"],[1,"align"]],"robotboss-yelloweco-lod0-jg":[[19,"Lyellow_ecoGlobeA1"],[18,"Lyellow_FrontRing"],[17,"Lyellow_ecoTopRing"],[16,"Lyellow_poleBack"],[15,"Lyellow_ropeBracketD"],[14,"Lyellow_ropeBracketC"],[1,"align"],[2,"prejoint"],[3,"main"],[4,"Lyellow_ecoB"],[5,"Lyellow_gloringA"],[6,"Lyellow_gloringB"],[7,"Lyellow_gloringC"],[8,"Lyellow_ecoBarrell"],[9,"Lyellow_ecoGlobeA"],[10,"Lyellow_ecoBarrellRing"],[11,"Lyellow_ropeBracketA"],[12,"Lyellow_pole"],[13,"Lyellow_ropeBracketB"]],"rolling-start-broken-lod0-jg":[[9,"banner5"],[8,"banner3"],[7,"banner6"],[6,"banner2"],[5,"banner7"],[4,"banner1"],[3,"main"],[2,"prejoint"],[1,"align"]],"rolling-start-whole-lod0-jg":[[9,"banner5"],[8,"banner3"],[7,"banner6"],[6,"banner2"],[5,"banner7"],[4,"banner1"],[3,"main"],[2,"prejoint"],[1,"align"]],"rollingcam-lod0-jg":[[4,"camera"],[3,"beachcam"],[2,"prejoint"],[1,"align"]],"ropebridge-32-lod0-jg":[[20,"board17"],[19,"board16"],[18,"board15"],[17,"board14"],[16,"board13"],[15,"board12"],[14,"board11"],[1,"align"],[2,"prejoint"],[3,"head"],[4,"board1"],[5,"board2"],[6,"board3"],[7,"board4"],[8,"board5"],[9,"board6"],[10,"board7"],[11,"board8"],[12,"board9"],[13,"board10"]],"ropebridge-36-lod0-jg":[[22,"end"],[21,"board18"],[20,"board17"],[19,"board16"],[18,"board15"],[17,"board14"],[16,"board13"],[15,"board12"],[14,"board11"],[1,"align"],[2,"prejoint"],[3,"head"],[4,"board1"],[5,"board2"],[6,"board3"],[7,"board4"],[8,"board5"],[9,"board6"],[10,"board7"],[11,"board8"],[12,"board9"],[13,"board10"]],"ropebridge-52-lod0-jg":[[30,"tail"],[13,"board10"],[12,"board9"],[11,"board8"],[10,"board7"],[9,"board6"],[8,"board5"],[7,"board4"],[6,"board3"],[5,"board2"],[4,"board"],[3,"head"],[2,"prejoint"],[1,"align"],[14,"board11"],[15,"board12"],[16,"board13"],[17,"board14"],[18,"board15"],[19,"board16"],[20,"board17"],[21,"board18"],[22,"board19"],[23,"board20"],[24,"board21"],[25,"board22"],[26,"board23"],[27,"board24"],[28,"board25"],[29,"board26"]],"ropebridge-70-lod0-jg":[[39,"tail"],[38,"board35"],[37,"board34"],[36,"board33"],[35,"board32"],[34,"board31"],[33,"board30"],[32,"board29"],[31,"board28"],[30,"board27"],[13,"board10"],[12,"board9"],[11,"board8"],[10,"board7"],[9,"board6"],[8,"board5"],[7,"board4"],[6,"board3"],[5,"board2"],[4,"board"],[3,"head"],[2,"prejoint"],[1,"align"],[14,"board11"],[15,"board12"],[16,"board13"],[17,"board14"],[18,"board15"],[19,"board16"],[20,"board17"],[21,"board18"],[22,"board19"],[23,"board20"],[24,"board21"],[25,"board22"],[26,"board23"],[27,"board24"],[28,"board25"],[29,"board26"]],"rounddoor-lod0-jg":[[9,"door6"],[8,"door5"],[7,"door4"],[6,"door3"],[5,"door2"],[4,"door1"],[3,"master"],[2,"prejoint"],[1,"align"]],"sack-lod0-jg":[[7,"sparks"],[6,"fuse_bot"],[5,"neck"],[4,"mid"],[3,"top"],[2,"prejoint"],[1,"align"]],"sage-bluehut-lod0-jg":[[74,"belly"],[73,"Rball"],[72,"Rbigtoe"],[71,"Rtoes"],[70,"Rfootball"],[69,"Lball"],[68,"Lbigtoe"],[67,"Ltoes"],[66,"Lfootball"],[65,"RringB"],[64,"RringA"],[63,"RmiddleB"],[62,"RmiddleA"],[61,"RthumbC"],[60,"RthumbB"],[29,"Lthigh"],[28,"hips"],[27,"RpinkyB"],[26,"RpinkyA"],[25,"RindexB"],[24,"RindexA"],[23,"RthumbA"],[22,"Rhand"],[21,"Relbow"],[20,"Rshoulder"],[19,"Lhand"],[18,"Lelbow"],[17,"Lshoulder"],[16,"beard"],[15,"beard_lip"],[14,"RearMID"],[1,"align"],[2,"prejoint"],[3,"main"],[4,"chest"],[5,"head"],[6,"headLog"],[7,"Llog"],[8,"Rlog"],[9,"LhairBASE"],[10,"Lhair"],[11,"LearBASE"],[12,"LearMID"],[13,"RearBASE"],[30,"Lknee"],[31,"Lankle"],[32,"Rthigh"],[33,"Rknee"],[34,"Rankle"],[35,"staffMAIN"],[36,"staffUpA"],[37,"staffDownA"],[38,"staffDownB"],[39,"staffBOTTOM"],[40,"camera"],[41,"cameraB"],[42,"BIRDfeet1"],[43,"BIRD1"],[44,"BIRDhead1"],[45,"BIRDR1"],[46,"BIRDL1"],[47,"ponytailBASE"],[48,"ponytailMID"],[49,"LthumbA"],[50,"LthumbB"],[51,"LthumbC"],[52,"LindexA"],[53,"LindexB"],[54,"LmiddleA"],[55,"LmiddleB"],[56,"LringA"],[57,"LringB"],[58,"LpinkyA"],[59,"LpinkyB"]],"sage-lod0-jg":[[74,"belly"],[73,"Rball"],[72,"Rbigtoe"],[71,"Rtoes"],[70,"Rfootball"],[69,"Lball"],[68,"Lbigtoe"],[67,"Ltoes"],[66,"Lfootball"],[65,"RringB"],[64,"RringA"],[63,"RmiddleB"],[62,"RmiddleA"],[61,"RthumbC"],[60,"RthumbB"],[29,"Lthigh"],[28,"hips"],[27,"RpinkyB"],[26,"RpinkyA"],[25,"RindexB"],[24,"RindexA"],[23,"RthumbA"],[22,"Rhand"],[21,"Relbow"],[20,"Rshoulder"],[19,"Lhand"],[18,"Lelbow"],[17,"Lshoulder"],[16,"beard"],[15,"beard_lip"],[14,"RearMID"],[1,"align"],[2,"prejoint"],[3,"main"],[4,"chest"],[5,"head"],[6,"headLog"],[7,"Llog"],[8,"Rlog"],[9,"LhairBASE"],[10,"Lhair"],[11,"LearBASE"],[12,"LearMID"],[13,"RearBASE"],[30,"Lknee"],[31,"Lankle"],[32,"Rthigh"],[33,"Rknee"],[34,"Rankle"],[35,"staffMAIN"],[36,"staffUpA"],[37,"staffDownA"],[38,"staffDownB"],[39,"staffBOTTOM"],[40,"camera"],[41,"cameraB"],[42,"BIRDfeet1"],[43,"BIRD1"],[44,"BIRDhead1"],[45,"BIRDR1"],[46,"BIRDL1"],[47,"ponytailBASE"],[48,"ponytailMID"],[49,"LthumbA"],[50,"LthumbB"],[51,"LthumbC"],[52,"LindexA"],[53,"LindexB"],[54,"LmiddleA"],[55,"LmiddleB"],[56,"LringA"],[57,"LringB"],[58,"LpinkyA"],[59,"LpinkyB"]],"sage-village3-lod0-jg":[[74,"belly"],[73,"Rball"],[72,"Rbigtoe"],[71,"Rtoes"],[70,"Rfootball"],[69,"Lball"],[68,"Lbigtoe"],[67,"Ltoes"],[66,"Lfootball"],[65,"RringB"],[64,"RringA"],[63,"RmiddleB"],[62,"RmiddleA"],[61,"RthumbC"],[60,"RthumbB"],[29,"Lthigh"],[28,"hips"],[27,"RpinkyB"],[26,"RpinkyA"],[25,"RindexB"],[24,"RindexA"],[23,"RthumbA"],[22,"Rhand"],[21,"Relbow"],[20,"Rshoulder"],[19,"Lhand"],[18,"Lelbow"],[17,"Lshoulder"],[16,"beard"],[15,"beard_lip"],[14,"RearMID"],[1,"align"],[2,"prejoint"],[3,"main"],[4,"chest"],[5,"head"],[6,"headLog"],[7,"Llog"],[8,"Rlog"],[9,"LhairBASE"],[10,"Lhair"],[11,"LearBASE"],[12,"LearMID"],[13,"RearBASE"],[30,"Lknee"],[31,"Lankle"],[32,"Rthigh"],[33,"Rknee"],[34,"Rankle"],[35,"staffMAIN"],[36,"staffUpA"],[37,"staffDownA"],[38,"staffDownB"],[39,"staffBOTTOM"],[40,"camera"],[41,"cameraB"],[42,"BIRDfeet1"],[43,"BIRD1"],[44,"BIRDhead1"],[45,"BIRDR1"],[46,"BIRDL1"],[47,"ponytailBASE"],[48,"ponytailMID"],[49,"LthumbA"],[50,"LthumbB"],[51,"LthumbC"],[52,"LindexA"],[53,"LindexB"],[54,"LmiddleA"],[55,"LmiddleB"],[56,"LringA"],[57,"LringB"],[58,"LpinkyA"],[59,"LpinkyB"]],"sagesail-lod0-jg":[[3,"boneless"],[2,"prejoint"],[1,"align"]],"scarecrow-a-lod0-jg":[[22,"Rleg_straw"],[21,"Lleg_straw"],[20,"hairB"],[19,"hairA"],[18,"Rhand_straw"],[17,"Lhand_straw"],[16,"Rhand"],[15,"Lhand"],[14,"Rleg"],[1,"align"],[2,"prejoint"],[3,"main"],[4,"hips"],[5,"upper"],[6,"Larm"],[7,"Lelbow"],[8,"Rarm"],[9,"Relbow"],[10,"head"],[11,"jaw"],[12,"hay"],[13,"Lleg"]],"scarecrow-b-lod0-jg":[[22,"hairA"],[21,"hairB"],[20,"Rhand_straw"],[19,"Rhand"],[18,"Lhand_straw"],[17,"Lhand"],[16,"Rleg_straw"],[15,"Lleg_straw"],[14,"Rleg"],[1,"align"],[2,"prejoint"],[3,"main"],[4,"hips"],[5,"upper"],[6,"Larm"],[7,"Lelbow"],[8,"Rarm"],[9,"Relbow"],[10,"head"],[11,"jaw"],[12,"hay"],[13,"Lleg"]],"sculptor-lod0-jg":[[65,"LringC"],[64,"LmiddleC"],[63,"LthumbC"],[62,"RringC"],[61,"RmiddleC"],[60,"RthumbC"],[29,"hips"],[28,"scarf1"],[27,"LpinkyC"],[26,"LpinkyB"],[25,"LpinkyA"],[24,"LindexC"],[23,"LindexB"],[22,"LindexA"],[21,"LthumbA"],[20,"Lhand"],[19,"Lelbow"],[18,"Lshoulder"],[17,"RpinkyC"],[16,"RpinkyB"],[15,"RpinkyA"],[14,"RindexC"],[1,"align"],[2,"prejoint"],[3,"main"],[4,"chest"],[5,"neck"],[6,"head"],[7,"visor1"],[8,"Rshoulder"],[9,"Relbow"],[10,"Rhand"],[11,"RthumbA"],[12,"RindexA"],[13,"RindexB"],[30,"Lthigh"],[31,"Lknee"],[32,"Lankle"],[33,"Lball"],[34,"Rthigh"],[35,"Rknee"],[36,"Rankle"],[37,"Rball"],[38,"apron1"],[39,"apron2"],[40,"camera"],[41,"cameraB"],[42,"Lear1"],[43,"Lear2"],[44,"Learring"],[45,"Rear1"],[46,"Rear2"],[47,"RthumbB"],[48,"RmiddleA"],[49,"RmiddleB"],[50,"RringA"],[51,"RringB"],[52,"LthumbB"],[53,"LmiddleA"],[54,"LmiddleB"],[55,"LringA"],[56,"LringB"],[57,"scarf2"],[58,"hammer"],[59,"chisel"]],"sculptor-muse-lod0-jg":[[45,"fur"],[44,"jawEND"],[43,"Rball"],[42,"Rankle"],[41,"Rknee"],[40,"Rthigh"],[39,"tail_END"],[38,"tail8"],[37,"tail7"],[36,"tail6"],[35,"tail5"],[34,"tail4"],[33,"tail3"],[32,"tail2"],[31,"tail1"],[30,"Lball"],[13,"Lshoulder"],[12,"rightEAREND"],[11,"rightEAR"],[10,"leftEAREND"],[9,"leftEAR"],[8,"jaw"],[7,"head"],[6,"neck"],[5,"chest"],[4,"main"],[3,"camera"],[2,"prejoint"],[1,"align"],[14,"Lelbow"],[15,"Lhand"],[16,"LthumbA"],[17,"LmiddleA"],[18,"LpinkyA"],[19,"Rshoulder"],[20,"Relbow"],[21,"Rhand"],[22,"RthumbA"],[23,"RmiddleA"],[24,"RpinkyB"],[25,"loSpine"],[26,"hips"],[27,"Lthigh"],[28,"Lknee"],[29,"Lankle"]],"seagull-lod0-jg":[[10,"head"],[9,"Rwingtip"],[8,"RWing"],[7,"Lwingtip"],[6,"lWing"],[5,"rLeg"],[4,"lLeg"],[3,"main"],[2,"prejoint"],[1,"align"]],"seaweed-lod0-jg":[[11,"9"],[10,"8"],[9,"7"],[8,"6"],[7,"5"],[6,"4"],[5,"3"],[4,"2"],[3,"1"],[2,"prejoint"],[1,"align"]],"sharkey-lod0-jg":[[13,"RmidFin"],[12,"Rshoulder"],[11,"LmidFin"],[10,"Lshoulder"],[9,"tail"],[8,"mid"],[7,"back"],[6,"LOneck"],[5,"jaw"],[4,"head"],[3,"main"],[2,"prejoint"],[1,"align"]],"shortcut-boulder-broken-lod0-jg":[[12,"8"],[11,"7"],[10,"6"],[9,"5"],[8,"4"],[7,"3"],[6,"2"],[5,"1"],[4,"0"],[3,"main"],[2,"prejoint"],[1,"align"]],"shortcut-boulder-whole-lod0-jg":[[12,"8"],[11,"7"],[10,"6"],[9,"5"],[8,"4"],[7,"3"],[6,"2"],[5,"1"],[4,"0"],[3,"main"],[2,"prejoint"],[1,"align"]],"shover-lod0-jg":[[3,"boneless"],[2,"prejoint"],[1,"align"]],"side-to-side-plat-lod0-jg":[[3,"plat"],[2,"prejoint"],[1,"align"]],"sidedoor-geo-jg":[[9,"door6"],[8,"door5"],[7,"door4"],[6,"door3"],[5,"door2"],[4,"door1"],[3,"main"],[2,"prejoint"],[1,"align"]],"sidekick-human-lod0-jg":[[75,"RpinkyC"],[74,"RmiddleC"],[73,"RindexC"],[72,"RthumbC"],[71,"can_hold"],[70,"LpinkyC"],[69,"LmiddleC"],[68,"LindexC"],[67,"LthumbC"],[66,"RpinkyB"],[65,"RpinkyA"],[64,"RringC"],[63,"RringB"],[62,"RringA"],[61,"RmiddleB"],[60,"RmiddleA"],[29,"lstrap1"],[28,"Lball"],[27,"Lankle"],[26,"Lknee"],[25,"Lthigh"],[24,"hips"],[23,"RindexB"],[22,"RindexA"],[21,"Rhand"],[20,"Relbow"],[19,"Rshoulder"],[18,"LindexB"],[17,"LindexA"],[16,"Lhand"],[15,"Lelbow"],[14,"Lshoulder"],[1,"align"],[2,"prejoint"],[3,"main"],[4,"chest"],[5,"neck"],[6,"head"],[7,"hair1"],[8,"hair2"],[9,"lear1"],[10,"lear2"],[11,"rear1"],[12,"rear2"],[13,"spit"],[30,"lstrap2"],[31,"lshirt1"],[32,"lshirt2"],[33,"Rthigh"],[34,"Rknee"],[35,"Rankle"],[36,"Rball"],[37,"rstrap1"],[38,"rstrap2"],[39,"rshirt1"],[40,"rshirt2"],[41,"fshirt1"],[42,"fshirt2"],[43,"cameraB"],[44,"camera"],[45,"lflap1"],[46,"lflap2"],[47,"rflap1"],[48,"rflap2"],[49,"LthumbA"],[50,"LthumbB"],[51,"LmiddleA"],[52,"LmiddleB"],[53,"LringA"],[54,"LringB"],[55,"LringC"],[56,"LpinkyA"],[57,"LpinkyB"],[58,"RthumbA"],[59,"RthumbB"]],"sidekick-lod0-jg":[[49,"Reye"],[48,"Leye"],[47,"RthumbB"],[46,"RthumbA"],[45,"LthumbB"],[44,"LthumbA"],[43,"Rball"],[42,"Rankle"],[41,"Rknee"],[40,"Rthigh"],[39,"tailEnd"],[38,"tailMid"],[37,"tailBase"],[36,"Lball"],[35,"Lankle"],[34,"Lknee"],[33,"Lthigh"],[32,"hips"],[31,"RindexB"],[30,"RindexA"],[13,"flapMidL"],[12,"flapBaseL"],[11,"earMidL"],[10,"earBaseL"],[9,"head"],[8,"neckB"],[7,"neckA"],[6,"chest"],[5,"upper_bodyB"],[4,"upper_body"],[3,"main"],[2,"prejoint"],[1,"align"],[14,"flapBaseR"],[15,"flapMidR"],[16,"earBaseR"],[17,"earMidR"],[18,"Lshoulder"],[19,"Lelbow"],[20,"Lhand"],[21,"LmiddleA"],[22,"LmiddleB"],[23,"LindexA"],[24,"LindexB"],[25,"Rshoulder"],[26,"Relbow"],[27,"Rhand"],[28,"RmiddleA"],[29,"RmiddleB"]],"silodoor-lod0-jg":[[7,"door_c"],[6,"door_d"],[5,"door_a"],[4,"door_b"],[3,"main"],[2,"prejoint"],[1,"align"]],"silostep-lod0-jg":[[4,"step5"],[3,"main"],[2,"prejoint"],[1,"align"]],"snow-ball-lod0-jg":[[3,"boneless"],[2,"prejoint"],[1,"align"]],"snow-ball-shadow-lod0-jg":[[3,"boneless"],[2,"prejoint"],[1,"align"]],"snow-bridge-36-lod0-jg":[[22,"end"],[21,"board18"],[20,"board17"],[19,"board16"],[18,"board15"],[17,"board14"],[16,"board13"],[15,"board12"],[14,"board11"],[1,"align"],[2,"prejoint"],[3,"head"],[4,"board01"],[5,"board02"],[6,"board03"],[7,"board04"],[8,"board05"],[9,"board06"],[10,"board07"],[11,"board08"],[12,"board09"],[13,"board10"]],"snow-bumper-lod0-jg":[[6,"button"],[5,"top"],[4,"lower"],[3,"main"],[2,"prejoint"],[1,"align"]],"snow-bunny-lod0-jg":[[21,"Rball"],[20,"Rankle"],[19,"Rknee"],[18,"Rthigh"],[17,"Lball"],[16,"Lankle"],[15,"Lknee"],[14,"Lthigh"],[1,"align"],[2,"prejoint"],[3,"main"],[4,"chest"],[5,"neck"],[6,"head"],[7,"jaw"],[8,"Lshoulder"],[9,"Lebow"],[10,"Lhand"],[11,"Rshoulder"],[12,"Rebow"],[13,"Rhand"]],"snow-button-lod0-jg":[[4,"button"],[3,"main"],[2,"prejoint"],[1,"align"]],"snow-eggtop-lod0-jg":[[4,"eggtop"],[3,"main"],[2,"prejoint"],[1,"align"]],"snow-fort-gate-lod0-jg":[[3,"boneless"],[2,"prejoint"],[1,"align"]],"snow-gears-lod0-jg":[[7,"chain2"],[6,"chain1"],[5,"gear2"],[4,"gear1"],[3,"main"],[2,"prejoint"],[1,"align"]],"snow-log-lod0-jg":[[3,"log"],[2,"prejoint"],[1,"align"]],"snow-spatula-lod0-jg":[[3,"boneless"],[2,"prejoint"],[1,"align"]],"snow-switch-lod0-jg":[[3,"boneless"],[2,"prejoint"],[1,"align"]],"snowcam-lod0-jg":[[4,"camera"],[3,"snowcam"],[2,"prejoint"],[1,"align"]],"snowpusher-lod0-jg":[[3,"main"],[2,"prejoint"],[1,"align"]],"speaker-lod0-jg":[[4,"speaker"],[3,"main"],[2,"prejoint"],[1,"align"]],"spider-egg-broken-lod0-jg":[[18,"blackpoly"],[17,"p6B"],[16,"p5B"],[15,"p6"],[14,"p5"],[1,"align"],[2,"prejoint"],[3,"main"],[4,"p1"],[5,"p2"],[6,"p3"],[7,"p4"],[8,"p7"],[9,"p8"],[10,"p9"],[11,"p10"],[12,"p11"],[13,"p12"]],"spider-egg-unbroken-lod0-jg":[[18,"blackpoly"],[17,"p6B"],[16,"p5B"],[15,"p6"],[14,"p5"],[1,"align"],[2,"prejoint"],[3,"main"],[4,"p1"],[5,"p2"],[6,"p3"],[7,"p4"],[8,"p7"],[9,"p8"],[10,"p9"],[11,"p10"],[12,"p11"],[13,"p12"]],"spiderwebs-good-lod0-jg":[[4,"web"],[3,"main"],[2,"prejoint"],[1,"align"]],"spike-lod0-jg":[[3,"big"],[2,"prejoint"],[1,"align"]],"square-platform-lod0-jg":[[3,"plat"],[2,"prejoint"],[1,"align"]],"steam-cap-lod0-jg":[[4,"cap"],[3,"steamcap"],[2,"prejoint"],[1,"align"]],"sun-iris-door-lod0-jg":[[11,"rote8"],[10,"rote1"],[9,"rote7"],[8,"rote6"],[7,"rote5"],[6,"rote4"],[5,"rote3"],[4,"rote2"],[3,"base"],[2,"prejoint"],[1,"align"]],"sunken-elevator-lod0-jg":[[4,"button"],[3,"main"],[2,"prejoint"],[1,"align"]],"sunkencam-lod0-jg":[[4,"camera"],[3,"beachcam"],[2,"prejoint"],[1,"align"]],"sunkenfisha-red-yellow-lod0-jg":[[7,"Rfin"],[6,"tail2"],[5,"tail1"],[4,"Lfin"],[3,"top"],[2,"prejoint"],[1,"align"]],"sunkenfisha-yellow-blue-lod0-jg":[[7,"Rfin"],[6,"tail2"],[5,"tail1"],[4,"Lfin"],[3,"top"],[2,"prejoint"],[1,"align"]],"sunkenfisha-yellow-eye-lod0-jg":[[7,"Rfin"],[6,"tail2"],[5,"tail1"],[4,"Lfin"],[3,"top"],[2,"prejoint"],[1,"align"]],"swamp-bat-lod0-jg":[[16,"tailEND"],[15,"Rhand"],[14,"Lhand"],[1,"align"],[2,"prejoint"],[3,"main"],[4,"Lshoulder"],[5,"Lelbow"],[6,"Rshoulder"],[7,"Relbow"],[8,"hips"],[9,"head"],[10,"jaw"],[11,"thigh"],[12,"ankle"],[13,"tailMid"]],"swamp-blimp-lod0-jg":[[10,"ropefrontright"],[9,"ropefrontleft"],[8,"ropecenter"],[7,"ropebackleft"],[6,"ropebackright"],[5,"gondola"],[4,"xtra"],[3,"blimp"],[2,"prejoint"],[1,"align"]],"swamp-rat-lod0-jg":[[16,"tail3"],[15,"EARS"],[14,"ring"],[1,"align"],[2,"prejoint"],[3,"main"],[4,"chest"],[5,"hips"],[6,"tail1"],[7,"neck"],[8,"Lhand"],[9,"Rhand"],[10,"tail2"],[11,"Lankle"],[12,"Rankle"],[13,"jaw"]],"swamp-rat-nest-a-lod0-jg":[[10,"back"],[9,"mid"],[8,"bot"],[7,"top_right"],[6,"top_mid"],[5,"top_left"],[4,"spine2"],[3,"spine1"],[2,"prejoint"],[1,"align"]],"swamp-rat-nest-b-lod0-jg":[[10,"top_right"],[9,"top_mid"],[8,"back"],[7,"mid"],[6,"bot"],[5,"top_left"],[4,"spine2"],[3,"spine1"],[2,"prejoint"],[1,"align"]],"swamp-rat-nest-c-lod0-jg":[[10,"mid"],[9,"top_right"],[8,"top_mid"],[7,"top_left"],[6,"back"],[5,"bot"],[4,"spine2"],[3,"spine1"],[2,"prejoint"],[1,"align"]],"swamp-rock-lod0-jg":[[3,"rock"],[2,"prejoint"],[1,"align"]],"swamp-rope-lod0-jg":[[8,"ropeF"],[7,"ropeE"],[6,"ropeD"],[5,"ropeC"],[4,"ropeB"],[3,"ropeA"],[2,"prejoint"],[1,"align"]],"swamp-spike-lod0-jg":[[3,"spike_1"],[2,"prejoint"],[1,"align"]],"swamp-tetherrock-explode-lod0-jg":[[8,"camera"],[7,"5"],[6,"4"],[5,"3"],[4,"2"],[3,"1"],[2,"prejoint"],[1,"align"]],"swamp-tetherrock-lod0-jg":[[5,"camera"],[4,"roperock"],[3,"rock"],[2,"prejoint"],[1,"align"]],"swampcam-lod0-jg":[[4,"camera"],[3,"beachcam"],[2,"prejoint"],[1,"align"]],"tar-plat-lod0-jg":[[3,"tarplat"],[2,"prejoint"],[1,"align"]],"teetertotter-lod0-jg":[[7,"lside"],[6,"rside"],[5,"rock"],[4,"pivot"],[3,"main"],[2,"prejoint"],[1,"align"]],"tntbarrel-lod0-jg":[[3,"tntb"],[2,"prejoint"],[1,"align"]],"towertop-lod0-jg":[[8,"planetR"],[7,"planet"],[6,"outerR"],[5,"innerR"],[4,"innersphere"],[3,"master"],[2,"prejoint"],[1,"align"]],"trainingcam-lod0-jg":[[4,"camera"],[3,"trainingcam"],[2,"prejoint"],[1,"align"]],"vil3-bridge-36-lod0-jg":[[22,"end"],[21,"board18"],[20,"board17"],[19,"board16"],[18,"board15"],[17,"board14"],[16,"board13"],[15,"board12"],[14,"board11"],[1,"align"],[2,"prejoint"],[3,"head"],[4,"board01"],[5,"board02"],[6,"board03"],[7,"board04"],[8,"board05"],[9,"board06"],[10,"board07"],[11,"board08"],[12,"board09"],[13,"board10"]],"villa-starfish-lod0-jg":[[4,"bod"],[3,"main"],[2,"prejoint"],[1,"align"]],"village-cam-lod0-jg":[[4,"camera"],[3,"beachcam"],[2,"prejoint"],[1,"align"]],"village1cam-lod0-jg":[[4,"camera"],[3,"beachcam"],[2,"prejoint"],[1,"align"]],"village2cam-lod0-jg":[[4,"camera"],[3,"beachcam"],[2,"prejoint"],[1,"align"]],"wall-plat-lod0-jg":[[3,"boneless"],[2,"prejoint"],[1,"align"]],"warp-gate-switch-lod0-jg":[[4,"button"],[3,"main"],[2,"prejoint"],[1,"align"]],"warpgate-lod0-jg":[[4,"camera"],[3,"beachcam"],[2,"prejoint"],[1,"align"]],"warrior-lod0-jg":[[59,"RpinkyB"],[58,"RpinkyA"],[57,"RringB"],[56,"RringA"],[55,"RindexB"],[54,"LpinkyB"],[53,"LpinkyA"],[52,"LringB"],[51,"LringA"],[50,"LindexB"],[49,"lArmGuard1"],[48,"lArmGuard"],[47,"RmiddleB"],[46,"RmiddleA"],[45,"RindexA"],[44,"RthumbC"],[43,"RthumbB"],[42,"RthumbA"],[41,"LmiddleB"],[40,"LmiddleA"],[39,"LindexA"],[38,"LthumbC"],[37,"LthumbB"],[36,"LthumbA"],[35,"ploom3"],[34,"cameraB"],[33,"camera"],[32,"Rball"],[31,"Rankle"],[30,"Rknee"],[13,"ploom2"],[12,"ploom1"],[11,"mask"],[10,"rEar2"],[9,"rEar1"],[8,"lEar2"],[7,"lEar1"],[6,"head"],[5,"neck"],[4,"chest"],[3,"main"],[2,"prejoint"],[1,"align"],[14,"Lshoulder"],[15,"Lelbow"],[16,"Lhand"],[17,"Rshoulder"],[18,"Relbow"],[19,"Rhand"],[20,"capeBase"],[21,"capeMID1"],[22,"capeMID2"],[23,"capeMID3"],[24,"hips"],[25,"Lthigh"],[26,"Lknee"],[27,"Lankle"],[28,"Lball"],[29,"Rthigh"]],"water-anim-darkcave-water-with-crystal-lod0-jg":[[3,"boneless"],[2,"prejoint"],[1,"align"]],"water-anim-finalboss-dark-eco-pool-lod0-jg":[[3,"boneless"],[2,"prejoint"],[1,"align"]],"water-anim-jungle-river-lod0-jg":[[3,"boneless"],[2,"prejoint"],[1,"align"]],"water-anim-lavatube-energy-lava-lod0-jg":[[3,"boneless"],[2,"prejoint"],[1,"align"]],"water-anim-maincave-center-pool-lod0-jg":[[3,"boneless"],[2,"prejoint"],[1,"align"]],"water-anim-maincave-lower-left-pool-lod0-jg":[[3,"boneless"],[2,"prejoint"],[1,"align"]],"water-anim-maincave-lower-right-pool-lod0-jg":[[3,"boneless"],[2,"prejoint"],[1,"align"]],"water-anim-maincave-mid-left-pool-lod0-jg":[[3,"boneless"],[2,"prejoint"],[1,"align"]],"water-anim-maincave-mid-right-pool-lod0-jg":[[3,"boneless"],[2,"prejoint"],[1,"align"]],"water-anim-maincave-water-with-crystal-lod0-jg":[[3,"boneless"],[2,"prejoint"],[1,"align"]],"water-anim-misty-dark-eco-pool-lod0-jg":[[3,"boneless"],[2,"prejoint"],[1,"align"]],"water-anim-misty-mud-above-skeleton-lod0-jg":[[3,"boneless"],[2,"prejoint"],[1,"align"]],"water-anim-misty-mud-above-skull-back-lod0-jg":[[3,"boneless"],[2,"prejoint"],[1,"align"]],"water-anim-misty-mud-above-skull-front-lod0-jg":[[3,"boneless"],[2,"prejoint"],[1,"align"]],"water-anim-misty-mud-behind-skeleton-lod0-jg":[[3,"boneless"],[2,"prejoint"],[1,"align"]],"water-anim-misty-mud-by-arena-lod0-jg":[[3,"boneless"],[2,"prejoint"],[1,"align"]],"water-anim-misty-mud-by-dock-lod0-jg":[[3,"boneless"],[2,"prejoint"],[1,"align"]],"water-anim-misty-mud-island-near-dock-lod0-jg":[[3,"boneless"],[2,"prejoint"],[1,"align"]],"water-anim-misty-mud-lonely-island-lod0-jg":[[3,"boneless"],[2,"prejoint"],[1,"align"]],"water-anim-misty-mud-near-skull-lod0-jg":[[3,"boneless"],[2,"prejoint"],[1,"align"]],"water-anim-misty-mud-other-near-skull-lod0-jg":[[3,"boneless"],[2,"prejoint"],[1,"align"]],"water-anim-misty-mud-under-spine-lod0-jg":[[3,"boneless"],[2,"prejoint"],[1,"align"]],"water-anim-ogre-lava-lod0-jg":[[12,"boulder_two"],[11,"boulder_one"],[10,"boulder"],[9,"end_two"],[8,"end_one"],[7,"end"],[6,"start_two"],[5,"start_one"],[4,"start"],[3,"main"],[2,"prejoint"],[1,"align"]],"water-anim-robocave-main-pool-lod0-jg":[[3,"boneless"],[2,"prejoint"],[1,"align"]],"water-anim-rolling-water-back-lod0-jg":[[3,"boneless"],[2,"prejoint"],[1,"align"]],"water-anim-rolling-water-front-lod0-jg":[[3,"boneless"],[2,"prejoint"],[1,"align"]],"water-anim-sunken-big-room-lod0-jg":[[3,"boneless"],[2,"prejoint"],[1,"align"]],"water-anim-sunken-big-room-upper-water-lod0-jg":[[3,"boneless"],[2,"prejoint"],[1,"align"]],"water-anim-sunken-circular-with-bullys-lod0-jg":[[3,"boneless"],[2,"prejoint"],[1,"align"]],"water-anim-sunken-dark-eco-helix-room-lod0-jg":[[3,"boneless"],[2,"prejoint"],[1,"align"]],"water-anim-sunken-dark-eco-platform-room-lod0-jg":[[3,"boneless"],[2,"prejoint"],[1,"align"]],"water-anim-sunken-dark-eco-qbert-lod0-jg":[[3,"boneless"],[2,"prejoint"],[1,"align"]],"water-anim-sunken-first-right-branch-lod0-jg":[[3,"boneless"],[2,"prejoint"],[1,"align"]],"water-anim-sunken-first-room-from-entrance-lod0-jg":[[3,"boneless"],[2,"prejoint"],[1,"align"]],"water-anim-sunken-hall-before-big-room-lod0-jg":[[3,"boneless"],[2,"prejoint"],[1,"align"]],"water-anim-sunken-hall-with-one-whirlpool-lod0-jg":[[3,"boneless"],[2,"prejoint"],[1,"align"]],"water-anim-sunken-hall-with-three-whirlpools-lod0-jg":[[3,"boneless"],[2,"prejoint"],[1,"align"]],"water-anim-sunken-qbert-room-lod0-jg":[[3,"boneless"],[2,"prejoint"],[1,"align"]],"water-anim-sunken-room-above-exit-chamber-lod0-jg":[[3,"boneless"],[2,"prejoint"],[1,"align"]],"water-anim-sunken-short-piece-lod0-jg":[[3,"boneless"],[2,"prejoint"],[1,"align"]],"water-anim-sunken-start-of-helix-slide-lod0-jg":[[3,"boneless"],[2,"prejoint"],[1,"align"]],"water-anim-training-lake-lod0-jg":[[3,"boneless"],[2,"prejoint"],[1,"align"]],"water-anim-village1-fountain-lod0-jg":[[3,"boneless"],[2,"prejoint"],[1,"align"]],"water-anim-village1-rice-paddy-lod0-jg":[[3,"boneless"],[2,"prejoint"],[1,"align"]],"water-anim-village1-rice-paddy-mid-lod0-jg":[[3,"boneless"],[2,"prejoint"],[1,"align"]],"water-anim-village1-rice-paddy-top-lod0-jg":[[3,"boneless"],[2,"prejoint"],[1,"align"]],"water-anim-village2-bucket-lod0-jg":[[3,"boneless"],[2,"prejoint"],[1,"align"]],"water-anim-village3-lava-lod0-jg":[[3,"boneless"],[2,"prejoint"],[1,"align"]],"wedge-plat-lod0-jg":[[3,"plat"],[2,"prejoint"],[1,"align"]],"wedge-plat-outer-lod0-jg":[[3,"wedgeplatouter"],[2,"prejoint"],[1,"align"]],"wheel-geo-jg":[[3,"main"],[2,"prejoint"],[1,"align"]],"whirlpool-lod0-jg":[[4,"base"],[3,"whirlpool"],[2,"prejoint"],[1,"align"]],"windmill-one-lod0-jg":[[11,"belttwo"],[10,"beltone"],[9,"plat1"],[8,"plat"],[7,"bigdriver"],[6,"milldriver"],[5,"beltend"],[4,"big"],[3,"main"],[2,"prejoint"],[1,"align"]],"windmill-sail-lod0-jg":[[3,"boneless"],[2,"prejoint"],[1,"align"]],"windspinner-lod0-jg":[[3,"boneless"],[2,"prejoint"],[1,"align"]],"windturbine-lod0-jg":[[3,"main"],[2,"prejoint"],[1,"align"]],"yakow-lod0-jg":[[33,"RmiddleA"],[32,"LmiddleA"],[31,"rightEAREND"],[30,"leftEAR1"],[13,"loSpine"],[12,"Rhand"],[11,"Relbow"],[10,"Rshoulder"],[9,"Lhand"],[8,"Lelbow"],[7,"Lshoulder"],[6,"head"],[5,"neck"],[4,"chest"],[3,"main"],[2,"prejoint"],[1,"align"],[14,"hips"],[15,"Lthigh"],[16,"Lknee"],[17,"Lankle"],[18,"Lball"],[19,"tail1"],[20,"tail2"],[21,"tail3"],[22,"Rthigh"],[23,"Rknee"],[24,"Rankle"],[25,"Rball"],[26,"jaw"],[27,"jawEND"],[28,"leftEAR"],[29,"leftEAREND"]],"yellowsage-lod0-jg":[[79,"caneSpec"],[78,"caneTubeC"],[77,"caneTankTubeB"],[76,"caneTankTubeA"],[75,"caneEND"],[74,"caneExhaust"],[73,"tankJuiceC"],[72,"tankJuiceB"],[71,"tubeD"],[70,"tankJuiceA"],[69,"tankWhistle"],[68,"tankPipeExhaust"],[67,"RringB"],[66,"RringA"],[65,"RmiddleB"],[64,"RmiddleA"],[63,"LringB"],[62,"LringA"],[61,"LmiddleB"],[60,"LmiddleA"],[29,"RarmFlap"],[28,"RpinkyB"],[27,"RpinkyA"],[26,"RindexB"],[25,"RindexA"],[24,"Rhand"],[23,"Relbow"],[22,"Rshoulder"],[21,"LarmFlap"],[20,"LpinkyB"],[19,"LpinkyA"],[18,"LindexB"],[17,"LindexA"],[16,"Lhand"],[15,"Lelbow"],[14,"Lshoulder"],[1,"align"],[2,"prejoint"],[3,"main"],[4,"chest"],[5,"neck"],[6,"head"],[7,"LearA"],[8,"LearB"],[9,"beardA"],[10,"beardB"],[11,"Rspec"],[12,"RearA"],[13,"RearB"],[30,"tank"],[31,"tankGLO"],[32,"tubeA"],[33,"tubeB"],[34,"tubeC"],[35,"hips"],[36,"Lthigh"],[37,"Lknee"],[38,"Lankle"],[39,"Lball"],[40,"Lleg_flap"],[41,"Rthigh"],[42,"Rknee"],[43,"Rankle"],[44,"Rball"],[45,"Rleg_flap"],[46,"RcoatFlap"],[47,"cane"],[48,"caneMid"],[49,"caneTank"],[50,"camera"],[51,"cameraB"],[52,"LthumbA"],[53,"LthumbB"],[54,"RthumbA"],[55,"RthumbB"],[56,"LcoatFlap"],[57,"caneTubeA"],[58,"caneTubeB"],[59,"Lspec"]],"yeti-lod0-jg":[[47,"Larmhair"],[46,"Rleghair"],[45,"Rball"],[44,"Rankle"],[43,"Rknee"],[42,"Rthigh"],[41,"Lleghair"],[40,"Lball"],[39,"Lankle"],[38,"Lknee"],[37,"Lthigh"],[36,"hips"],[35,"backhair"],[34,"Rarmhair"],[33,"RmiddleC"],[32,"RmiddleB"],[31,"RmiddleA"],[30,"RindexC"],[13,"LthumbA"],[12,"Lhand"],[11,"Lelbow"],[10,"Lshoulder"],[9,"frontring"],[8,"headhair"],[7,"jaw"],[6,"head"],[5,"neck"],[4,"chest"],[3,"main"],[2,"prejoint"],[1,"align"],[14,"LthumbB"],[15,"LthumbC"],[16,"LindexA"],[17,"LindexB"],[18,"LindexC"],[19,"LmiddleA"],[20,"LmiddleB"],[21,"LmiddleC"],[22,"Rshoulder"],[23,"Relbow"],[24,"Rhand"],[25,"RthumbA"],[26,"RthumbB"],[27,"RthumbC"],[28,"RindexA"],[29,"RindexB"]]} diff --git a/decompiler/config/jak1/ntsc_v1/type_casts.jsonc b/decompiler/config/jak1/ntsc_v1/type_casts.jsonc index 9d554f33cd5..7a883cb86ac 100644 --- a/decompiler/config/jak1/ntsc_v1/type_casts.jsonc +++ b/decompiler/config/jak1/ntsc_v1/type_casts.jsonc @@ -1567,9 +1567,7 @@ [58, "v1", "(state symbol none)"] ], - "(method 7 rigid-body-platform)": [ - [5, "v1", "int"] - ], + "(method 7 rigid-body-platform)": [[5, "v1", "int"]], "(method 10 rigid-body)": [[50, "v1", "vector"]], diff --git a/decompiler/config/jak2/jak2_config.jsonc b/decompiler/config/jak2/jak2_config.jsonc index ee33e295bbf..2aa7e149e66 100644 --- a/decompiler/config/jak2/jak2_config.jsonc +++ b/decompiler/config/jak2/jak2_config.jsonc @@ -42,6 +42,8 @@ "process_art_groups": false, // write out a json file containing the art info mapping, run this with all objects allowed "dump_art_group_info": false, + // write out a json file containing the joint node mapping, run this with all objects allowed + "dump_joint_geo_info": false, // set to false to skip adding .STR files to the decompiler database "read_spools": false, @@ -98,6 +100,7 @@ "import_deps_file": "decompiler/config/jak2/ntsc_v1/import_deps.jsonc", "all_types_file": "decompiler/config/jak2/all-types.gc", "art_group_dump_file": "decompiler/config/jak2/ntsc_v1/art-group-info.min.json", + "joint_node_dump_file": "decompiler/config/jak2/ntsc_v1/joint-node-info.min.json", // optional: a predetermined object file name map from a file. // this will make decompilation naming consistent even if you only run on some objects. diff --git a/decompiler/config/jak2/ntsc_v1/art_info.jsonc b/decompiler/config/jak2/ntsc_v1/art_info.jsonc index 741ed748508..329ee12e311 100644 --- a/decompiler/config/jak2/ntsc_v1/art_info.jsonc +++ b/decompiler/config/jak2/ntsc_v1/art_info.jsonc @@ -4,26 +4,48 @@ ////////////////////// // defines what art group each file or function is using. - // by default, the decompiler assumes to be the name of the current file + -ag + // by default, the decompiler assumes this to be the name of the current type + -ag // so you only need to specify it when that's not the case. - // NOTE: it's fine to have a function and its file both in here. the function takes priority. - "files": { + // remap names for states and behaviors of these types + "type_remap": { "target": "jakb-ag", - "target2": "jakb-ag", - "target-death": "jakb-ag", - "target-gun": "jakb-ag", - "target-swim": "jakb-ag", - "target-tube": "jakb-ag", - "target-board": "jakb-ag", - "target-carry": "jakb-ag", - "target-darkjak": "jakb-ag", - "target-anim": "jakb-ag", - "powerups": "jakb-ag", - "sidekick": "daxter-ag" + "sidekick": "daxter-ag", + "crimson-guard-level": "crimson-guard-ag", + "roboguard-level": "roboguard-ag", + "krew-boss": "krew-lowres-ag", + "krew-boss-clone": "krew-clone-ag", + "dig-balloon-lurker-trapeze": "dig-ballon-lurker-ag", + "drill-barons-ship-explode": "drill-barons-ship-ag", + "drill-elevator-shaft": "drill-elevator-base-ag", + "drill-control-panel-a": "drill-control-panel-ag", + "forest-youngsamos": "youngsamos-highres-ag", + "stad-youngsamos": "youngsamos-highres-ag", + "fort-elec-belt-inst": "fort-elec-belt-ag", + "fort-robotank-reticle": "fort-robotank-sight-ag", + "fort-robotank-turret": "fort-robotank-top-ag", + "gungame-door": "fort-entry-gate-ag", + "base-turret": "drill-turret-ext", + "whack-a-metal": "daxter-highres-ag", + "city-lurker": "babak-ag", + "metalkor-spinner": "metalkor-ag", + "mincan-lighthouse-lens": "mincan-lighthouse-ag", + "gator": "amphibian-ag", + "grunt-mech": "grunt-ag", + "sig-under": "sig-ag", + "sew-scare-grunt": "grunt-ag", + "metalhead-grunt": "grunt-ag", + "metalhead-flitter": "flitter-ag", + "metalhead-predator": "predator-ag", + "hosehead-fake": "hosehead-ag", + "strip-chain-crate-slave": "strip-chain-crate-ag", + "tomb-simon-block": "tomb-plat-simon-ag", + "transport-level": "transport-ag" }, - "functions": { - // "(code target-warp-out)": "eichar-ag" + // some art groups (like robotboss-ag) have a name for their model that differs + // from the usual ag-name + "-lod0". you can add those exceptions here. + "joint_node_hacks": { + // "robotboss-ag": "robotboss-basic" } } diff --git a/decompiler/config/jak2/ntsc_v1/joint-node-info.min.json b/decompiler/config/jak2/ntsc_v1/joint-node-info.min.json new file mode 100644 index 00000000000..7e91185cd86 --- /dev/null +++ b/decompiler/config/jak2/ntsc_v1/joint-node-info.min.json @@ -0,0 +1 @@ +{"air-train-lod0-jg":[[6,"thruster_r"],[5,"thruster_l"],[4,"hatch"],[3,"main"],[2,"prejoint"],[1,"align"]],"amphibian-lod0-jg":[[35,"fin"],[34,"Reye"],[33,"Leye"],[32,"jawEND"],[31,"RmiddleA"],[30,"LmiddleA"],[13,"toungeA"],[12,"head"],[11,"neck"],[10,"Rhand"],[9,"Relbow"],[8,"Rshoulder"],[7,"Lhand"],[6,"Lelbow"],[5,"Lshoulder"],[4,"chest"],[3,"main"],[2,"prejoint"],[1,"align"],[14,"toungeB"],[15,"loSpine"],[16,"hips"],[17,"Lthigh"],[18,"Lknee"],[19,"Lankle"],[20,"tail1"],[21,"tail2"],[22,"tail3"],[23,"Rthigh"],[24,"Rknee"],[25,"Rankle"],[26,"jaw"],[27,"Lball"],[28,"tail4"],[29,"Rball"]],"ashelin-highres-lod0-jg":[[65,"gun"],[64,"holster"],[63,"rtitA"],[62,"ltitA"],[61,"RpinkyC"],[60,"RpinkyB"],[29,"lburnB"],[28,"lburnA"],[27,"hairB"],[26,"hairA"],[25,"rearB"],[24,"rearA"],[23,"learB"],[22,"learA"],[21,"Rball"],[20,"Rankle"],[19,"Rknee"],[18,"Rthigh"],[17,"Lball"],[16,"Lankle"],[15,"Lknee"],[14,"Lthigh"],[1,"align"],[2,"prejoint"],[3,"main"],[4,"chest"],[5,"neck"],[6,"head"],[7,"Lshoulder"],[8,"Lelbow"],[9,"Lhand"],[10,"Rshoulder"],[11,"Relbow"],[12,"Rhand"],[13,"hips"],[30,"rburnA"],[31,"rburnB"],[32,"LthumbA"],[33,"LthumbB"],[34,"LthumbC"],[35,"LindexA"],[36,"LindexB"],[37,"LindexC"],[38,"LmiddleA"],[39,"LmiddleB"],[40,"LmiddleC"],[41,"LringA"],[42,"LringB"],[43,"LringC"],[44,"LpinkyA"],[45,"LpinkyB"],[46,"LpinkyC"],[47,"RthumbA"],[48,"RthumbB"],[49,"RthumbC"],[50,"RindexA"],[51,"RindexB"],[52,"RindexC"],[53,"RmiddleA"],[54,"RmiddleB"],[55,"RmiddleC"],[56,"RringA"],[57,"RringB"],[58,"RringC"],[59,"RpinkyA"]],"ashelin-lod0-jg":[[39,"rtitA"],[38,"ltitA"],[37,"RthumbB"],[36,"RthumbA"],[35,"RmiddleB"],[34,"RmiddleA"],[33,"LthumbB"],[32,"LthumbA"],[31,"LmiddleB"],[30,"LmiddleA"],[13,"hips"],[12,"Rhand"],[11,"Relbow"],[10,"Rshoulder"],[9,"Lhand"],[8,"Lelbow"],[7,"Lshoulder"],[6,"head"],[5,"neck"],[4,"chest"],[3,"main"],[2,"prejoint"],[1,"align"],[14,"Lthigh"],[15,"Lknee"],[16,"Lankle"],[17,"Lball"],[18,"Rthigh"],[19,"Rknee"],[20,"Rankle"],[21,"Rball"],[22,"gun"],[23,"eyes"],[24,"hairA"],[25,"hairB"],[26,"lburnA"],[27,"lburnB"],[28,"rburnA"],[29,"rburnB"]],"atoll-hatch-lod0-jg":[[4,"hinge"],[3,"main"],[2,"prejoint"],[1,"align"]],"atoll-hellcat-lod0-jg":[[6,"turretA"],[5,"turret"],[4,"frontgun"],[3,"main"],[2,"prejoint"],[1,"align"]],"atoll-mar-symbol-lod0-jg":[[3,"main"],[2,"prejoint"],[1,"align"]],"atoll-tank-a-lod0-jg":[[60,"be"],[29,""],[28,"z"],[27,"y"],[26,"x"],[25,"w"],[24,"v"],[23,"u"],[22,"t"],[21,"s"],[20,"r"],[19,"q"],[18,"p"],[17,"o"],[16,"n"],[15,"m"],[14,"l"],[1,"align"],[2,"prejoint"],[3,"a"],[4,"b"],[5,"c"],[6,"d"],[7,"e"],[8,"f"],[9,"g"],[10,"h"],[11,"i"],[12,"j"],[13,"k"],[30,"aa"],[31,"ab"],[32,"ac"],[33,"ad"],[34,"ae"],[35,"af"],[36,"ag"],[37,"ah"],[38,"ai"],[39,"aj"],[40,"ak"],[41,"al"],[42,"am"],[43,"an"],[44,"ao"],[45,"ap"],[46,"aq"],[47,"ar"],[48,"as"],[49,"at"],[50,"au"],[51,"av"],[52,"aw"],[53,"ax"],[54,"ay"],[55,"az"],[56,"ba"],[57,"bb"],[58,"bc"],[59,"bd"]],"atoll-tank-b-lod0-jg":[[59,"dj"],[58,"di"],[57,"dh"],[56,"dg"],[55,"df"],[54,"de"],[53,"dd"],[52,"dc"],[51,"db"],[50,"da"],[49,"cz"],[48,"cy"],[47,"cx"],[46,"cw"],[45,"cv"],[44,"cu"],[43,"ct"],[42,"cs"],[41,"cr"],[40,"cq"],[39,"cp"],[38,"co"],[37,"cn"],[36,"cm"],[35,"cl"],[34,"ck"],[33,"cj"],[32,"ci"],[31,"ch"],[30,"cg"],[13,"bp"],[12,"bo"],[11,"bn"],[10,"bm"],[9,"bl"],[8,"bk"],[7,"bj"],[6,"bi"],[5,"bh"],[4,"bg"],[3,"bf"],[2,"prejoint"],[1,"align"],[14,"bq"],[15,"br"],[16,"bs"],[17,"bt"],[18,"bu"],[19,"bv"],[20,"bw"],[21,"bx"],[22,"by"],[23,"bz"],[24,"ca"],[25,"cb"],[26,"cc"],[27,"cd"],[28,"ce"],[29,"cf"]],"atoll-tank-c-lod0-jg":[[59,"fo"],[58,"fn"],[57,"fm"],[56,"fl"],[55,"fk"],[54,"fj"],[53,"fi"],[52,"fh"],[51,"fg"],[50,"ff"],[49,"fe"],[48,"fd"],[47,"fc"],[46,"fb"],[45,"fa"],[44,"ez"],[43,"ey"],[42,"ex"],[41,"ew"],[40,"ev"],[39,"eu"],[38,"et"],[37,"es"],[36,"er"],[35,"eq"],[34,"ep"],[33,"eo"],[32,"en"],[31,"em"],[30,"el"],[13,"du"],[12,"dt"],[11,"ds"],[10,"dr"],[9,"dq"],[8,"dp"],[7,"do"],[6,"dn"],[5,"dm"],[4,"dl"],[3,"dk"],[2,"prejoint"],[1,"align"],[14,"dv"],[15,"dw"],[16,"dx"],[17,"dy"],[18,"dz"],[19,"ea"],[20,"eb"],[21,"ec"],[22,"ed"],[23,"ee"],[24,"ef"],[25,"eg"],[26,"eh"],[27,"ei"],[28,"ej"],[29,"ek"]],"atoll-valve-lod0-jg":[[4,"wheelrot"],[3,"main"],[2,"prejoint"],[1,"align"]],"atoll-windmill-lod0-jg":[[3,"main"],[2,"prejoint"],[1,"align"]],"atollrotpipe-lod0-jg":[[3,"main_"],[2,"prejoint"],[1,"align"]],"awning-lod0-jg":[[8,"tarp"],[7,"rightB"],[6,"rightA"],[5,"leftB"],[4,"leftA"],[3,"main"],[2,"prejoint"],[1,"align"]],"babak-lod0-jg":[[41,"Lleghair"],[40,"backhair"],[39,"RmiddleB"],[38,"RmiddleA"],[37,"RindexB"],[36,"RindexA"],[35,"RthumbB"],[34,"RthumbA"],[33,"Larmhair"],[32,"LmiddleB"],[31,"LmiddleA"],[30,"LindexB"],[13,"Rhand"],[12,"Relbow"],[11,"Rshoulder"],[10,"Lhand"],[9,"Lelbow"],[8,"Lshoulder"],[7,"jaw"],[6,"head"],[5,"neck"],[4,"chest"],[3,"main"],[2,"prejoint"],[1,"align"],[14,"Rarmhair"],[15,"hips"],[16,"Lthigh"],[17,"Lknee"],[18,"Lankle"],[19,"Lball"],[20,"Rthigh"],[21,"Rknee"],[22,"Rankle"],[23,"Rball"],[24,"Rleghair"],[25,"headhair"],[26,"frontring"],[27,"LthumbA"],[28,"LthumbB"],[29,"LindexA"]],"barge-lod0-jg":[[3,"main"],[2,"prejoint"],[1,"align"]],"baron-highres-lod0-jg":[[71,"rctailB"],[70,"r_ctailA"],[69,"lctailB"],[68,"lctailA"],[67,"BKtailb"],[66,"frflapB"],[65,"frflapA"],[64,"swordB"],[63,"swordA"],[62,"Rball"],[61,"Lball"],[60,"RringC"],[29,"lshoulderplateA"],[28,"RpinkyC"],[27,"RpinkyB"],[26,"RpinkyA"],[25,"RindexC"],[24,"RindexB"],[23,"RindexA"],[22,"Rhand"],[21,"Relbow"],[20,"Rshoulder"],[19,"LpinkyC"],[18,"LpinkyB"],[17,"LpinkyA"],[16,"LindexC"],[15,"LindexB"],[14,"LindexA"],[1,"align"],[2,"prejoint"],[3,"main"],[4,"chest"],[5,"neck"],[6,"head"],[7,"learA"],[8,"learB"],[9,"rearA"],[10,"rearB"],[11,"Lshoulder"],[12,"Lelbow"],[13,"Lhand"],[30,"rshoulderplateA"],[31,"hips"],[32,"Lthigh"],[33,"Lknee"],[34,"Lankle"],[35,"Rthigh"],[36,"Rknee"],[37,"Rankle"],[38,"bkflapA"],[39,"bkflapB"],[40,"BKtaila"],[41,"sword"],[42,"swordnode"],[43,"LthumbA"],[44,"LthumbB"],[45,"LthumbC"],[46,"LmiddleA"],[47,"LmiddleB"],[48,"LmiddleC"],[49,"LringA"],[50,"LringB"],[51,"LringC"],[52,"RthumbA"],[53,"RthumbB"],[54,"RthumbC"],[55,"RmiddleA"],[56,"RmiddleB"],[57,"RmiddleC"],[58,"RringA"],[59,"RringB"]],"baron-lod0-jg":[[53,"Rball"],[52,"Rankle"],[51,"Rknee"],[50,"Rthigh"],[49,"Lball"],[48,"Lankle"],[47,"Lknee"],[46,"Lthigh"],[45,"hips"],[44,"rshoulderplateA"],[43,"lshoulderplateA"],[42,"RpinkyC"],[41,"RpinkyB"],[40,"RpinkyA"],[39,"RringC"],[38,"RringB"],[37,"RringA"],[36,"RmiddleC"],[35,"RmiddleB"],[34,"RmiddleA"],[33,"RindexC"],[32,"RindexB"],[31,"RindexA"],[30,"RthumbC"],[13,"LindexA"],[12,"LthumbC"],[11,"LthumbB"],[10,"LthumbA"],[9,"Lhand"],[8,"Lelbow"],[7,"Lshoulder"],[6,"head"],[5,"neck"],[4,"chest"],[3,"main"],[2,"prejoint"],[1,"align"],[14,"LindexB"],[15,"LindexC"],[16,"LmiddleA"],[17,"LmiddleB"],[18,"LmiddleC"],[19,"LringA"],[20,"LringB"],[21,"LringC"],[22,"LpinkyA"],[23,"LpinkyB"],[24,"LpinkyC"],[25,"Rshoulder"],[26,"Relbow"],[27,"Rhand"],[28,"RthumbA"],[29,"RthumbB"]],"baron-pod-lod0-jg":[[36,"canopy"],[35,"Lpedal"],[34,"Rpedal"],[33,"LforeStick"],[32,"LaftStick"],[31,"RforeStick"],[30,"RaftStick"],[13,"redConstantR"],[12,"yellowBlinkER"],[11,"yellowBlinkDR"],[10,"yellowBlinkCR"],[9,"yellowBlinkBR"],[8,"yellowBlinkAR"],[7,"tip"],[6,"redBlinkR"],[5,"redBlinkL"],[4,"ballTurret"],[3,"main"],[2,"prejoint"],[1,"align"],[14,"redConstantL"],[15,"yellowBlinkAL"],[16,"yellowBlinkBL"],[17,"yellowBlinkCL"],[18,"yellowBlinkDL"],[19,"yellowBlinkEL"],[20,"thrustYvertical"],[21,"thrustYhorizontal"],[22,"sparkA"],[23,"sparkB"],[24,"sparkC"],[25,"sparkD"],[26,"sparkE"],[27,"sparkF"],[28,"sparkG"],[29,"sparkH"]],"baron-statue-lod0-jg":[[5,"swordshimmer2"],[4,"swordshimmer1"],[3,"main"],[2,"prejoint"],[1,"align"]],"barons-ship-lores-lod0-jg":[[3,"main"],[2,"prejoint"],[1,"align"]],"beam-lod0-jg":[[3,"main"],[2,"prejoint"],[1,"align"]],"big-bopper-lod0-jg":[[3,"main"],[2,"prejoint"],[1,"align"]],"bikea-lod0-jg":[[10,"rearbraker_"],[9,"rearbrakel_"],[8,"frontfinl_"],[7,"frontfinr_"],[6,"tailfinl_"],[5,"tailfinr_"],[4,"rudder_"],[3,"main_"],[2,"prejoint"],[1,"align"]],"bikeb-lod0-jg":[[11,"rkid"],[10,"tailfinr_"],[9,"braker_"],[8,"brakel_"],[7,"frontfin_"],[6,"rudder_"],[5,"lkid"],[4,"tailfinl_"],[3,"main_"],[2,"prejoint"],[1,"align"]],"bikec-lod0-jg":[[14,"spoilerr_"],[1,"align"],[2,"prejoint"],[3,"main_"],[4,"nosefinlh_"],[5,"nosefinrh_"],[6,"nosefinrb_"],[7,"nosefinlb_"],[8,"rudder_"],[9,"tailfinl_"],[10,"tailfinr_"],[11,"brakel_"],[12,"braker_"],[13,"spoilerl_"]],"blocking-plane-lod0-jg":[[3,"plane"],[2,"prejoint"],[1,"align"]],"board-lod0-jg":[[14,"centerDome"],[1,"align"],[2,"prejoint"],[3,"main"],[4,"centerTip"],[5,"leftTip"],[6,"leftFin"],[7,"leftTail"],[8,"centerTail"],[9,"rightTail"],[10,"rightFin"],[11,"rightTip"],[12,"outerScale"],[13,"innerScale"]],"bomb-trigger-lod0-jg":[[3,"main"],[2,"prejoint"],[1,"align"]],"bombbot-exploding-lod0-jg":[[22,"t"],[21,"s"],[20,"r"],[19,"q"],[18,"p"],[17,"o"],[16,"n"],[15,"m"],[14,"l"],[1,"align"],[2,"prejoint"],[3,"a"],[4,"b"],[5,"c"],[6,"d"],[7,"e"],[8,"f"],[9,"g"],[10,"h"],[11,"i"],[12,"j"],[13,"k"]],"bombbot-lod0-jg":[[19,"left_front_knee"],[18,"left_front_thigh"],[17,"right_front_knee"],[16,"right_front_thigh"],[15,"right_hind_knee"],[14,"right_hind_thigh"],[1,"align"],[2,"prejoint"],[3,"main"],[4,"top"],[5,"gun_swivel"],[6,"gun"],[7,"gun_right"],[8,"gun_left"],[9,"front_left"],[10,"front_right"],[11,"eye"],[12,"left_hind_thigh"],[13,"left_hind_knee"]],"brutter-balloon-lod0-jg":[[6,"steering_wheel"],[5,"blades"],[4,"baloons"],[3,"main"],[2,"prejoint"],[1,"align"]],"brutter-balloon-norift-lod0-jg":[[6,"steering_wheel"],[5,"blades"],[4,"baloons"],[3,"main"],[2,"prejoint"],[1,"align"]],"brutter-highres-lod0-jg":[[62,"RBaskin"],[61,"RFaskin"],[60,"RringC"],[29,"RpinkyB"],[28,"RpinkyA"],[27,"RindexC"],[26,"RindexB"],[25,"RindexA"],[24,"RthumbA"],[23,"Rhand"],[22,"Relbow"],[21,"Rshoulder"],[20,"LpinkyC"],[19,"LpinkyB"],[18,"LpinkyA"],[17,"LindexC"],[16,"LindexB"],[15,"LindexA"],[14,"LthumbA"],[1,"align"],[2,"prejoint"],[3,"main"],[4,"chest"],[5,"neck"],[6,"head"],[7,"hairpiece"],[8,"LBhair"],[9,"lfeather"],[10,"rfeather"],[11,"Lshoulder"],[12,"Lelbow"],[13,"Lhand"],[30,"RpinkyC"],[31,"LFaskin"],[32,"LBaskin"],[33,"hips"],[34,"Lthigh"],[35,"Lknee"],[36,"Lankle"],[37,"Lball"],[38,"Rthigh"],[39,"Rknee"],[40,"Rankle"],[41,"Rball"],[42,"LFhair"],[43,"RFhair"],[44,"RBhair"],[45,"LthumbB"],[46,"LthumbC"],[47,"LmiddleA"],[48,"LmiddleB"],[49,"LmiddleC"],[50,"LringA"],[51,"LringB"],[52,"LringC"],[53,"RthumbB"],[54,"RthumbC"],[55,"RmiddleA"],[56,"RmiddleB"],[57,"RmiddleC"],[58,"RringA"],[59,"RringB"]],"brutter-low-lod0-jg":[[52,"RBaskin"],[51,"RFaskin"],[50,"RringC"],[49,"RringB"],[48,"RringA"],[47,"RmiddleC"],[46,"RmiddleB"],[45,"RmiddleA"],[44,"RthumbC"],[43,"RthumbB"],[42,"LmiddleA"],[41,"Rball"],[40,"Rankle"],[39,"Rknee"],[38,"Rthigh"],[37,"Lball"],[36,"Lankle"],[35,"Lknee"],[34,"Lthigh"],[33,"hips"],[32,"LBaskin"],[31,"LFaskin"],[30,"RpinkyC"],[13,"Lhand"],[12,"Lelbow"],[11,"Lshoulder"],[10,"rfeather"],[9,"lfeather"],[8,"LBhair"],[7,"hairpiece"],[6,"head"],[5,"neck"],[4,"chest"],[3,"main"],[2,"prejoint"],[1,"align"],[14,"LthumbA"],[15,"LindexA"],[16,"LindexB"],[17,"LindexC"],[18,"LpinkyA"],[19,"LpinkyB"],[20,"LpinkyC"],[21,"Rshoulder"],[22,"Relbow"],[23,"Rhand"],[24,"RthumbA"],[25,"RindexA"],[26,"RindexB"],[27,"RindexC"],[28,"RpinkyA"],[29,"RpinkyB"]],"burning-bush-lod0-jg":[[4,"burning_bush"],[3,"main"],[2,"prejoint"],[1,"align"]],"cable-lod0-jg":[[22,"button"],[21,"hook2"],[20,"hook1"],[19,"cable16"],[18,"cable15"],[17,"cable14"],[16,"cable13"],[15,"cable12"],[14,"cable11"],[1,"align"],[2,"prejoint"],[3,"main"],[4,"cable1"],[5,"cable2"],[6,"cable3"],[7,"cable4"],[8,"cable5"],[9,"cable6"],[10,"cable7"],[11,"cable8"],[12,"cable9"],[13,"cable10"]],"cara-lod0-jg":[[12,"wheel_right_"],[11,"wheel_left_"],[10,"rudder_"],[9,"rearrudderr_"],[8,"rearfinr_"],[7,"rearrudderl_"],[6,"rearfinl_"],[5,"frontfinr_"],[4,"frontfinl_"],[3,"main_"],[2,"prejoint"],[1,"align"]],"carb-lod0-jg":[[9,"wheelr"],[8,"wheell_"],[7,"tailfinr_"],[6,"frontfinr_"],[5,"tailfinl_"],[4,"frontfinl_"],[3,"main_"],[2,"prejoint"],[1,"align"]],"carc-lod0-jg":[[10,"wheel_"],[9,"tailfinR_"],[8,"tailfinL_"],[7,"rearfinR_"],[6,"rearfinL_"],[5,"frontfinR_"],[4,"frontfinL_"],[3,"main_"],[2,"prejoint"],[1,"align"]],"cas-button-lod0-jg":[[3,"main"],[2,"prejoint"],[1,"align"]],"cas-chain-plat-lod0-jg":[[4,"door"],[3,"main"],[2,"prejoint"],[1,"align"]],"cas-conveyor-switch-lod0-jg":[[6,"lightning_c"],[5,"lightning_b"],[4,"lightning_a"],[3,"main"],[2,"prejoint"],[1,"align"]],"cas-electric-fence-explode-lod0-jg":[[17,"o"],[16,"n"],[15,"m"],[14,"l"],[1,"align"],[2,"prejoint"],[3,"a"],[4,"b"],[5,"c"],[6,"d"],[7,"e"],[8,"f"],[9,"g"],[10,"h"],[11,"i"],[12,"j"],[13,"k"]],"cas-electric-fence-lod0-jg":[[3,"main"],[2,"prejoint"],[1,"align"]],"cas-elevator-lod0-jg":[[4,"wheel"],[3,"main"],[2,"prejoint"],[1,"align"]],"cas-flag-a-lod0-jg":[[6,"4"],[5,"3"],[4,"2"],[3,"main"],[2,"prejoint"],[1,"align"]],"cas-flag-b-lod0-jg":[[6,"4"],[5,"3"],[4,"2"],[3,"main"],[2,"prejoint"],[1,"align"]],"cas-robot-door-lod0-jg":[[9,"R_c"],[8,"R_b"],[7,"R_a"],[6,"L_c"],[5,"L_b"],[4,"L_a"],[3,"main"],[2,"prejoint"],[1,"align"]],"cas-rot-blade-lod0-jg":[[4,"blade"],[3,"main"],[2,"prejoint"],[1,"align"]],"cas-rot-bridge-lod0-jg":[[7,"c"],[6,"link_b"],[5,"b"],[4,"link_a"],[3,"a"],[2,"prejoint"],[1,"align"]],"cas-switch-lod0-jg":[[3,"main"],[2,"prejoint"],[1,"align"]],"cas-trapdoor-explode-lod0-jg":[[20,"explo17"],[19,"explo16"],[18,"explo15"],[17,"explo14"],[16,"explo13"],[15,"explo12"],[14,"explo11"],[1,"align"],[2,"prejoint"],[3,"main_"],[4,"explo1"],[5,"explo2"],[6,"explo3"],[7,"explo4"],[8,"explo5"],[9,"explo6"],[10,"explo7"],[11,"explo8"],[12,"explo9"],[13,"explo10"]],"cas-trapdoor-lod0-jg":[[3,"main_"],[2,"prejoint"],[1,"align"]],"cboss-bomb-lod0-jg":[[3,"bomb"],[2,"prejoint"],[1,"align"]],"cboss-elevator-lod0-jg":[[3,"boneless"],[2,"prejoint"],[1,"align"]],"cboss-tractor-lod0-jg":[[4,"trailer"],[3,"main"],[2,"prejoint"],[1,"align"]],"centipede-fma-lod0-jg":[[71,"legR_1C"],[70,"legR_1B"],[69,"legR_1A"],[68,"legL_1C"],[67,"legL_1B"],[66,"legL_1A"],[65,"legR_2C"],[64,"legR_2B"],[63,"legR_2A"],[62,"legL_2C"],[61,"legL_2B"],[60,"legL_2A"],[29,"legR_7C"],[28,"legR_7B"],[27,"legR_7A"],[26,"legL_7C"],[25,"legL_7B"],[24,"legL_7A"],[23,"tailC"],[22,"tailB"],[21,"tailA"],[20,"sectionF"],[19,"sectionE"],[18,"sectionD"],[17,"sectionC"],[16,"sectionB"],[15,"sectionA"],[14,"jawB"],[1,"align"],[2,"prejoint"],[3,"main"],[4,"neckA"],[5,"neckB"],[6,"head"],[7,"LmandibleA"],[8,"LmandibleB"],[9,"Lpincher"],[10,"RmandibleA"],[11,"RmandibleB"],[12,"Rpincher"],[13,"jawA"],[30,"legL_8A"],[31,"legL_8B"],[32,"legL_8C"],[33,"legR_8A"],[34,"legR_8B"],[35,"legR_8C"],[36,"legL_6A"],[37,"legL_6B"],[38,"legL_6C"],[39,"legR_6A"],[40,"legR_6B"],[41,"legR_6C"],[42,"legL_5A"],[43,"legL_5B"],[44,"legL_5C"],[45,"legR_5A"],[46,"legR_5B"],[47,"legR_5C"],[48,"legL_4A"],[49,"legL_4B"],[50,"legL_4C"],[51,"legR_4A"],[52,"legR_4B"],[53,"legR_4C"],[54,"legL_3A"],[55,"legL_3B"],[56,"legL_3C"],[57,"legR_3A"],[58,"legR_3B"],[59,"legR_3C"]],"centipede-lod0-jg":[[8,"Rmandible"],[7,"Lmandible"],[6,"head"],[5,"neckB"],[4,"neckA"],[3,"main"],[2,"prejoint"],[1,"align"]],"centurion-lod0-jg":[[44,"LthumbC"],[43,"LthumbB"],[42,"tailthree"],[41,"tailtwo"],[40,"tailone"],[39,"Rball"],[38,"Rankle"],[37,"Rknee"],[36,"Rthigh"],[35,"Lball"],[34,"Lankle"],[33,"Lknee"],[32,"Lthigh"],[31,"hips"],[30,"swivelMeLegs"],[13,"LthumbA"],[12,"Lhand"],[11,"Lelbow"],[10,"Lshoulder"],[9,"jaw"],[8,"head"],[7,"neckmid"],[6,"neck"],[5,"chest"],[4,"swivelMe"],[3,"main"],[2,"prejoint"],[1,"align"],[14,"LindexA"],[15,"LindexB"],[16,"LindexC"],[17,"LmiddleA"],[18,"LmiddleB"],[19,"LmiddleC"],[20,"Rshoulder"],[21,"Relbow"],[22,"Rhand"],[23,"RthumbA"],[24,"RindexA"],[25,"RindexB"],[26,"RindexC"],[27,"RmiddleA"],[28,"RmiddleB"],[29,"shoot"]],"citizen-chick-lod0-jg":[[27,"RmiddleA"],[26,"RindexA"],[25,"RthumbA"],[24,"LmiddleA"],[23,"LindexA"],[22,"LthumbA"],[21,"hairA"],[20,"Rball"],[19,"Rankle"],[18,"Rknee"],[17,"Rthigh"],[16,"Lball"],[15,"Lankle"],[14,"Lknee"],[1,"align"],[2,"prejoint"],[3,"main"],[4,"chest"],[5,"neck"],[6,"Lshoulder"],[7,"Lelbow"],[8,"Lhand"],[9,"Rshoulder"],[10,"Relbow"],[11,"Rhand"],[12,"hips"],[13,"Lthigh"]],"citizen-fat-lod0-jg":[[23,"RmiddleA"],[22,"LmiddleA"],[21,"Rball"],[20,"Rankle"],[19,"Rknee"],[18,"Rthigh"],[17,"Lball"],[16,"Lankle"],[15,"Lknee"],[14,"Lthigh"],[1,"align"],[2,"prejoint"],[3,"main"],[4,"chest"],[5,"neck"],[6,"head"],[7,"Lshoulder"],[8,"Lelbow"],[9,"Lhand"],[10,"Rshoulder"],[11,"Relbow"],[12,"Rhand"],[13,"hips"]],"citizen-norm-lod0-jg":[[23,"RmiddleA"],[22,"LmiddleA"],[21,"Rball"],[20,"Rankle"],[19,"Rknee"],[18,"Rthigh"],[17,"Lball"],[16,"Lankle"],[15,"Lknee"],[14,"Lthigh"],[1,"align"],[2,"prejoint"],[3,"main"],[4,"chest"],[5,"neck"],[6,"head"],[7,"Lshoulder"],[8,"Lelbow"],[9,"Lhand"],[10,"Rshoulder"],[11,"Relbow"],[12,"Rhand"],[13,"hips"]],"citizen-norm-rider-lod0-jg":[[18,"RmiddleA"],[17,"Rhand"],[16,"Relbow"],[15,"LmiddleA"],[14,"Lhand"],[1,"align"],[2,"prejoint"],[3,"main"],[4,"chest"],[5,"neck"],[6,"Lshoulder"],[7,"Rshoulder"],[8,"hips"],[9,"Lthigh"],[10,"Rthigh"],[11,"crap"],[12,"head"],[13,"Lelbow"]],"citizen-rebel-lod0-jg":[[23,"RmiddleA"],[22,"LmiddleA"],[21,"Rball"],[20,"Rankle"],[19,"Rknee"],[18,"Rthigh"],[17,"Lball"],[16,"Lankle"],[15,"Lknee"],[14,"Lthigh"],[1,"align"],[2,"prejoint"],[3,"main"],[4,"chest"],[5,"neck"],[6,"head"],[7,"Lshoulder"],[8,"Lelbow"],[9,"Lhand"],[10,"Rshoulder"],[11,"Relbow"],[12,"Rhand"],[13,"hips"]],"cntrlrm-button-lod0-jg":[[4,"button"],[3,"main"],[2,"prejoint"],[1,"align"]],"cntrlrm-door-lod0-jg":[[4,"doorbtm"],[3,"doortop"],[2,"prejoint"],[1,"align"]],"collectables-bomb-blast-lod0-jg":[[4,"bombB"],[3,"bombA"],[2,"prejoint"],[1,"align"]],"collectables-gem-lod0-jg":[[3,"main"],[2,"prejoint"],[1,"align"]],"collectables-generic-blast-lod0-jg":[[6,"innerSrc"],[5,"outer"],[4,"middle"],[3,"inner"],[2,"prejoint"],[1,"align"]],"collectables-generic-ripples-lod0-jg":[[13,"srcE"],[12,"srcD"],[11,"srcC"],[10,"srcB"],[9,"srcA"],[8,"destE"],[7,"destD"],[6,"destC"],[5,"destB"],[4,"destA"],[3,"main"],[2,"prejoint"],[1,"align"]],"collectables-health-lod0-jg":[[3,"main"],[2,"prejoint"],[1,"align"]],"collectables-skill-lod0-jg":[[3,"egg"],[2,"prejoint"],[1,"align"]],"com-airlock-inner-lod0-jg":[[12,"sml_gear"],[11,"Rlockring5"],[10,"Rlockring4"],[9,"Rlockring3"],[8,"Rdoormove"],[7,"Llockring3"],[6,"Llockring2"],[5,"Llockring1"],[4,"Ldoormove"],[3,"main"],[2,"prejoint"],[1,"align"]],"com-airlock-outer-lod0-jg":[[8,"slide2"],[7,"Rdoor"],[6,"slide1"],[5,"slide3"],[4,"Ldoor"],[3,"main"],[2,"prejoint"],[1,"align"]],"com-elevator-lod0-jg":[[3,"main"],[2,"prejoint"],[1,"align"]],"computerpaper-lod0-jg":[[10,"paperg"],[9,"paperf"],[8,"papere"],[7,"paperd"],[6,"paperc"],[5,"paperb"],[4,"papera"],[3,"paperbase"],[2,"prejoint"],[1,"align"]],"consite-bomb-elevator-hinges-lod0-jg":[[7,"hinge_d"],[6,"hinge_c"],[5,"hinge_b"],[4,"hinge_a"],[3,"elevator"],[2,"prejoint"],[1,"align"]],"consite-bomb-elevator-lod0-jg":[[7,"screw_d"],[6,"screw_c"],[5,"screw_b"],[4,"screw_a"],[3,"elevator"],[2,"prejoint"],[1,"align"]],"consite-break-scaffold-a-break-a-lod0-jg":[[38,"bq"],[37,"bp"],[36,"bo"],[35,"bn"],[34,"bm"],[33,"bl"],[32,"bk"],[31,"bj"],[30,"bi"],[13,"ar"],[12,"aq"],[11,"ap"],[10,"ao"],[9,"an"],[8,"am"],[7,"al"],[6,"ak"],[5,"aj"],[4,"ai"],[3,"main"],[2,"prejoint"],[1,"align"],[14,"as"],[15,"at"],[16,"au"],[17,"av"],[18,"aw"],[19,"ax"],[20,"ay"],[21,"az"],[22,"ba"],[23,"bb"],[24,"bc"],[25,"bd"],[26,"be"],[27,"bf"],[28,"bg"],[29,"bh"]],"consite-break-scaffold-a-break-b-lod0-jg":[[34,"cw"],[33,"cv"],[32,"cu"],[31,"ct"],[30,"cs"],[13,"cb"],[12,"ca"],[11,"bz"],[10,"by"],[9,"bx"],[8,"bw"],[7,"bv"],[6,"bu"],[5,"bt"],[4,"bs"],[3,"main"],[2,"prejoint"],[1,"align"],[14,"cc"],[15,"cd"],[16,"ce"],[17,"cf"],[18,"cg"],[19,"ch"],[20,"ci"],[21,"cj"],[22,"ck"],[23,"cl"],[24,"cm"],[25,"cn"],[26,"co"],[27,"cp"],[28,"cq"],[29,"cr"]],"consite-break-scaffold-a-break-c-lod0-jg":[[62,"fe"],[61,"fd"],[60,"fc"],[29,"dx"],[28,"dw"],[27,"dv"],[26,"du"],[25,"dt"],[24,"ds"],[23,"dr"],[22,"dq"],[21,"dp"],[20,"do"],[19,"dn"],[18,"dm"],[17,"dl"],[16,"dk"],[15,"dj"],[14,"di"],[1,"align"],[2,"prejoint"],[3,"main"],[4,"cy"],[5,"cz"],[6,"da"],[7,"db"],[8,"dc"],[9,"dd"],[10,"de"],[11,"df"],[12,"dg"],[13,"dh"],[30,"dy"],[31,"dz"],[32,"ea"],[33,"eb"],[34,"ec"],[35,"ed"],[36,"ee"],[37,"ef"],[38,"eg"],[39,"eh"],[40,"ei"],[41,"ej"],[42,"ek"],[43,"el"],[44,"em"],[45,"en"],[46,"eo"],[47,"ep"],[48,"eq"],[49,"er"],[50,"es"],[51,"et"],[52,"eu"],[53,"ev"],[54,"ew"],[55,"ex"],[56,"ey"],[57,"ez"],[58,"fa"],[59,"fb"]],"consite-break-scaffold-a-break-lod0-jg":[[41,"ag"],[40,"af"],[39,"ae"],[38,"ad"],[37,"ac"],[36,"ab"],[35,"aa"],[34,"zz"],[33,"z"],[32,"y"],[31,"x"],[30,"w"],[13,"f"],[12,"e"],[11,"d"],[10,"c"],[9,"b"],[8,"main"],[7,"explode"],[6,"yb"],[5,"ya"],[4,"xb"],[3,"xa"],[2,"prejoint"],[1,"align"],[14,"g"],[15,"h"],[16,"i"],[17,"j"],[18,"k"],[19,"l"],[20,"m"],[21,"n"],[22,"o"],[23,"p"],[24,"q"],[25,"r"],[26,"s"],[27,"t"],[28,"u"],[29,"v"]],"consite-break-scaffold-break-d-lod0-jg":[[4,"a"],[3,"main"],[2,"prejoint"],[1,"align"]],"consite-silo-doors-lod0-jg":[[5,"top_right"],[4,"top_left"],[3,"main"],[2,"prejoint"],[1,"align"]],"cpad-elevator-lod0-jg":[[3,"main"],[2,"prejoint"],[1,"align"]],"crane-lod0-jg":[[4,"gamecrate"],[3,"main"],[2,"prejoint"],[1,"align"]],"cranecrate-lod0-jg":[[3,"block"],[2,"prejoint"],[1,"align"]],"crate-krimson-lod0-jg":[[3,"main"],[2,"prejoint"],[1,"align"]],"crimson-bike-lod0-jg":[[5,"gun"],[4,"wheel"],[3,"main_"],[2,"prejoint"],[1,"align"]],"crimson-guard-highres-lod0-jg":[[60,"Rball"],[29,"LindexA"],[28,"LthumbC"],[27,"LthumbB"],[26,"LthumbA"],[25,"Rearmid"],[24,"Rearbase"],[23,"Learmid"],[22,"Learbase"],[21,"head"],[20,"blast"],[19,"gun"],[18,"Rankle"],[17,"Rknee"],[16,"Rthigh"],[15,"Lankle"],[14,"Lknee"],[1,"align"],[2,"prejoint"],[3,"main"],[4,"chest"],[5,"neck"],[6,"Lshoulder"],[7,"Lelbow"],[8,"Lhand"],[9,"Rshoulder"],[10,"Relbow"],[11,"Rhand"],[12,"hips"],[13,"Lthigh"],[30,"LindexB"],[31,"LindexC"],[32,"LmiddleA"],[33,"LmiddleB"],[34,"LmiddleC"],[35,"LringA"],[36,"LringB"],[37,"LringC"],[38,"LpinkyA"],[39,"LpinkyB"],[40,"LpinkyC"],[41,"RthumbA"],[42,"RthumbB"],[43,"RthumbC"],[44,"RindexA"],[45,"RindexB"],[46,"RindexC"],[47,"RmiddleA"],[48,"RmiddleB"],[49,"RmiddleC"],[50,"RringA"],[51,"RringB"],[52,"RringC"],[53,"RpinkyA"],[54,"RpinkyB"],[55,"RpinkyC"],[56,"hose"],[57,"Larmplate"],[58,"Rarmplate"],[59,"Lball"]],"crimson-guard-hover-explode-lod0-jg":[[16,"n"],[15,"m"],[14,"l"],[1,"align"],[2,"prejoint"],[3,"a"],[4,"b"],[5,"c"],[6,"d"],[7,"e"],[8,"f"],[9,"g"],[10,"h"],[11,"i"],[12,"j"],[13,"k"]],"crimson-guard-hover-lod0-jg":[[34,"Rstick"],[33,"Lstick"],[32,"Rhand"],[31,"Relbow"],[30,"Rshoulder"],[13,"engineBase"],[12,"recoil"],[11,"RgunTip"],[10,"RgunBarrell"],[9,"LgunTip"],[8,"LgunBarrell"],[7,"gunSwivel"],[6,"Rarmrest"],[5,"Larmrest"],[4,"chest"],[3,"main"],[2,"prejoint"],[1,"align"],[14,"Lengine"],[15,"Lturbine"],[16,"Rengine"],[17,"Rturbine"],[18,"hips"],[19,"Lthigh"],[20,"Lknee"],[21,"Lankle"],[22,"Rthigh"],[23,"Rknee"],[24,"Rankle"],[25,"neckA"],[26,"head"],[27,"Lshoulder"],[28,"Lelbow"],[29,"Lhand"]],"crimson-guard-lod0-jg":[[38,"Larmplate"],[37,"RmiddleB"],[36,"RthumbB"],[35,"RthumbA"],[34,"LmiddleB"],[33,"LthumbB"],[32,"LthumbA"],[31,"Rearmid"],[30,"Rearbase"],[13,"gun"],[12,"Rhand"],[11,"Relbow"],[10,"Rshoulder"],[9,"Lhand"],[8,"Lelbow"],[7,"Lshoulder"],[6,"neck"],[5,"realChest"],[4,"swivelMe"],[3,"main"],[2,"prejoint"],[1,"align"],[14,"blast"],[15,"dirblast"],[16,"hips"],[17,"Lthigh"],[18,"Lknee"],[19,"Lankle"],[20,"Rthigh"],[21,"Rknee"],[22,"Rankle"],[23,"LmiddleA"],[24,"RmiddleA"],[25,"Rarmplate"],[26,"Lball"],[27,"head"],[28,"Learbase"],[29,"Learmid"]],"crimson-guard-lowres-lod0-jg":[[37,"Rarmplate"],[36,"Larmplate"],[35,"RmiddleB"],[34,"RmiddleA"],[33,"RthumbB"],[32,"RthumbA"],[31,"LmiddleB"],[30,"LmiddleA"],[13,"gun"],[12,"Rhand"],[11,"Relbow"],[10,"Rshoulder"],[9,"Lhand"],[8,"Lelbow"],[7,"Lshoulder"],[6,"neck"],[5,"realChest"],[4,"swivelMe"],[3,"main"],[2,"prejoint"],[1,"align"],[14,"blast"],[15,"dirblast"],[16,"hips"],[17,"Lthigh"],[18,"Lknee"],[19,"Lankle"],[20,"Rthigh"],[21,"Rknee"],[22,"Rankle"],[23,"head"],[24,"Learbase"],[25,"Learmid"],[26,"Rearbase"],[27,"Rearmid"],[28,"LthumbA"],[29,"LthumbB"]],"crocadog-escort-lod0-jg":[[36,"hairA"],[35,"Rear"],[34,"Lear"],[33,"Rball"],[32,"Rankle"],[31,"Rcannon"],[30,"Rknee"],[13,"Lfrontknee"],[12,"Lfrontthigh"],[11,"tongueD"],[10,"tongueC"],[9,"tongueB"],[8,"tongueA"],[7,"jaw"],[6,"head"],[5,"neck"],[4,"chest"],[3,"main"],[2,"prejoint"],[1,"align"],[14,"Lfrontankle"],[15,"Lfrontball"],[16,"Rfrontthigh"],[17,"Rfrontknee"],[18,"Rfrontankle"],[19,"Rfrontball"],[20,"hips"],[21,"tailA"],[22,"tailB"],[23,"tailC"],[24,"Lthigh"],[25,"Lknee"],[26,"Lcannon"],[27,"Lankle"],[28,"Lball"],[29,"Rthigh"]],"crocadog-highres-lod0-jg":[[39,"hairB"],[38,"hairA"],[37,"Rear"],[36,"Lear"],[35,"nostrils"],[34,"snout"],[33,"Rball"],[32,"Rankle"],[31,"Rcannon"],[30,"Rknee"],[13,"Lfrontknee"],[12,"Lfrontthigh"],[11,"tongueD"],[10,"tongueC"],[9,"tongueB"],[8,"tongueA"],[7,"jaw"],[6,"head"],[5,"neck"],[4,"chest"],[3,"main"],[2,"prejoint"],[1,"align"],[14,"Lfrontankle"],[15,"Lfrontball"],[16,"Rfrontthigh"],[17,"Rfrontknee"],[18,"Rfrontankle"],[19,"Rfrontball"],[20,"hips"],[21,"tailA"],[22,"tailB"],[23,"tailC"],[24,"Lthigh"],[25,"Lknee"],[26,"Lcannon"],[27,"Lankle"],[28,"Lball"],[29,"Rthigh"]],"cty-fruit-stand-lod0-jg":[[4,"fruit"],[3,"main"],[2,"prejoint"],[1,"align"]],"cty-guard-turret-button-lod0-jg":[[4,"button"],[3,"main"],[2,"prejoint"],[1,"align"]],"cty-guard-turret-explode-lod0-jg":[[9,"g"],[8,"f"],[7,"e"],[6,"d"],[5,"c"],[4,"b"],[3,"a"],[2,"prejoint"],[1,"align"]],"cty-guard-turret-lod0-jg":[[8,"gunsR"],[7,"gunsL"],[6,"turret"],[5,"lidR"],[4,"lidL"],[3,"main"],[2,"prejoint"],[1,"align"]],"ctyn-lamp-explode-lod0-jg":[[6,"d"],[5,"c"],[4,"b"],[3,"a"],[2,"prejoint"],[1,"align"]],"ctyn-lamp-lod0-jg":[[3,"main"],[2,"prejoint"],[1,"align"]],"ctypal-baron-statue-break-a-lod0-jg":[[43,"bq"],[42,"bp"],[41,"bo"],[40,"bn"],[39,"bm"],[38,"bl"],[37,"bk"],[36,"bj"],[35,"bi"],[34,"bh"],[33,"bg"],[32,"bf"],[31,"be"],[30,"bd"],[13,"am"],[12,"al"],[11,"ak"],[10,"aj"],[9,"main"],[8,"explode_c"],[7,"explode_b"],[6,"explode_a"],[5,"explode"],[4,"swordshimmer2"],[3,"swordshimmer1"],[2,"prejoint"],[1,"align"],[14,"an"],[15,"ao"],[16,"ap"],[17,"aq"],[18,"ar"],[19,"as"],[20,"at"],[21,"au"],[22,"av"],[23,"aw"],[24,"ax"],[25,"ay"],[26,"az"],[27,"ba"],[28,"bb"],[29,"bc"]],"ctypal-baron-statue-break-b-lod0-jg":[[47,"dj"],[46,"di"],[45,"dh"],[44,"dg"],[43,"df"],[42,"de"],[41,"dd"],[40,"dc"],[39,"db"],[38,"da"],[37,"cz"],[36,"cy"],[35,"cx"],[34,"cw"],[33,"cv"],[32,"cu"],[31,"ct"],[30,"cs"],[13,"cb"],[12,"ca"],[11,"bz"],[10,"by"],[9,"bx"],[8,"bw"],[7,"bv"],[6,"bu"],[5,"bt"],[4,"bs"],[3,"main"],[2,"prejoint"],[1,"align"],[14,"cc"],[15,"cd"],[16,"ce"],[17,"cf"],[18,"cg"],[19,"ch"],[20,"ci"],[21,"cj"],[22,"ck"],[23,"cl"],[24,"cm"],[25,"cn"],[26,"co"],[27,"cp"],[28,"cq"],[29,"cr"]],"ctypal-baron-statue-break-c-lod0-jg":[[46,"fb"],[45,"fa"],[44,"ez"],[43,"ey"],[42,"ex"],[41,"ew"],[40,"ev"],[39,"eu"],[38,"et"],[37,"es"],[36,"er"],[35,"eq"],[34,"ep"],[33,"eo"],[32,"en"],[31,"em"],[30,"el"],[13,"du"],[12,"dt"],[11,"ds"],[10,"dr"],[9,"dq"],[8,"dp"],[7,"do"],[6,"dn"],[5,"dm"],[4,"dl"],[3,"main"],[2,"prejoint"],[1,"align"],[14,"dv"],[15,"dw"],[16,"dx"],[17,"dy"],[18,"dz"],[19,"ea"],[20,"eb"],[21,"ec"],[22,"ed"],[23,"ee"],[24,"ef"],[25,"eg"],[26,"eh"],[27,"ei"],[28,"ej"],[29,"ek"]],"ctypal-baron-statue-break-lod0-jg":[[43,"ah"],[42,"ag"],[41,"af"],[40,"ae"],[39,"ad"],[38,"ac"],[37,"ab"],[36,"aa"],[35,"zz"],[34,"z"],[33,"y"],[32,"x"],[31,"w"],[30,"v"],[13,"e"],[12,"d"],[11,"c"],[10,"b"],[9,"main"],[8,"explode_c"],[7,"explode_b"],[6,"explode_a"],[5,"explode"],[4,"swordshimmer2"],[3,"swordshimmer1"],[2,"prejoint"],[1,"align"],[14,"f"],[15,"g"],[16,"h"],[17,"i"],[18,"j"],[19,"k"],[20,"l"],[21,"m"],[22,"n"],[23,"o"],[24,"p"],[25,"q"],[26,"r"],[27,"s"],[28,"t"],[29,"u"]],"ctypal-baron-statue-broken-lod0-jg":[[3,"main"],[2,"prejoint"],[1,"align"]],"ctypal-break-wall-lod0-jg":[[70,"bo"],[69,"bn"],[68,"bm"],[67,"bl"],[66,"bk"],[65,"bj"],[64,"bi"],[63,"bh"],[62,"bg"],[61,"bf"],[60,"be"],[29,""],[28,"z"],[27,"y"],[26,"x"],[25,"w"],[24,"v"],[23,"u"],[22,"t"],[21,"s"],[20,"r"],[19,"q"],[18,"p"],[17,"o"],[16,"n"],[15,"m"],[14,"l"],[1,"align"],[2,"prejoint"],[3,"main"],[4,"b"],[5,"c"],[6,"d"],[7,"e"],[8,"f"],[9,"g"],[10,"h"],[11,"i"],[12,"j"],[13,"k"],[30,"aa"],[31,"ab"],[32,"ac"],[33,"ad"],[34,"ae"],[35,"af"],[36,"ag"],[37,"ah"],[38,"ai"],[39,"aj"],[40,"ak"],[41,"al"],[42,"am"],[43,"an"],[44,"ao"],[45,"ap"],[46,"aq"],[47,"ar"],[48,"as"],[49,"at"],[50,"au"],[51,"av"],[52,"aw"],[53,"ax"],[54,"ay"],[55,"az"],[56,"ba"],[57,"bb"],[58,"bc"],[59,"bd"]],"ctypal-broke-wall-lod0-jg":[[3,"main"],[2,"prejoint"],[1,"align"]],"ctyport-cargo-explode-lod0-jg":[[17,"detail14"],[16,"detail13"],[15,"detail12"],[14,"detail11"],[1,"align"],[2,"prejoint"],[3,"main_"],[4,"detail1"],[5,"detail2"],[6,"detail3"],[7,"detail4"],[8,"detail5"],[9,"detail6"],[10,"detail7"],[11,"detail8"],[12,"detail9"],[13,"detail10"]],"ctyport-cargo-lod0-jg":[[7,"rightlocks"],[6,"righttop"],[5,"leftocks"],[4,"lefttop"],[3,"main_"],[2,"prejoint"],[1,"align"]],"ctyport-mine-lod0-jg":[[3,"main"],[2,"prejoint"],[1,"align"]],"ctyport-spy-lod0-jg":[[5,"wing2"],[4,"wing1"],[3,"main_"],[2,"prejoint"],[1,"align"]],"ctywide-arrow-lod0-jg":[[3,"main"],[2,"prejoint"],[1,"align"]],"curtainsaw-lod0-jg":[[9,"bolt6"],[8,"bolt5"],[7,"bolt4"],[6,"bolt3"],[5,"bolt2"],[4,"bolt1"],[3,"main"],[2,"prejoint"],[1,"align"]],"dark-barrel-lod0-jg":[[7,"peace"],[6,"barrelExtend"],[5,"barrelTip"],[4,"barrelCenter"],[3,"main"],[2,"prejoint"],[1,"align"]],"darkjak-highres-lod0-jg":[[63,"board"],[62,"pantsLthigh"],[61,"pantsRthigh"],[60,"kneeRStrap"],[29,"Rshould"],[28,"lpinkB"],[27,"lpinkA"],[26,"lringB"],[25,"lringA"],[24,"lmidB"],[23,"lmidA"],[22,"lindB"],[21,"lindA"],[20,"lthumB"],[19,"lthumA"],[18,"sk_lhand"],[17,"Lforarm"],[16,"Larm"],[15,"Lshould"],[14,"horns"],[1,"align"],[2,"prejoint"],[3,"main"],[4,"upper_body"],[5,"chest"],[6,"neckA"],[7,"neckB"],[8,"MhairA"],[9,"MhairB"],[10,"Learbase"],[11,"Learmid"],[12,"Rearbase"],[13,"Rearmid"],[30,"Rarm"],[31,"Rforarm"],[32,"sk_rhand"],[33,"rthumA"],[34,"rthumB"],[35,"rindA"],[36,"rindB"],[37,"rmidA"],[38,"rmidB"],[39,"rringA"],[40,"rringB"],[41,"rpinkA"],[42,"rpinkB"],[43,"LshoulderPad"],[44,"packStrapTop"],[45,"gun"],[46,"hips"],[47,"Lthigh"],[48,"Lknee"],[49,"Lankle"],[50,"Lball"],[51,"LbigToe"],[52,"Ltoes"],[53,"kneeLStrap"],[54,"Rthigh"],[55,"Rknee"],[56,"Rankle"],[57,"Rball"],[58,"RbigToe"],[59,"Rtoes"]],"daxter-highres-lod0-jg":[[62,"RringB"],[61,"RringA"],[60,"RthumbB"],[29,"RindexA"],[28,"Rhand"],[27,"Relbow"],[26,"Rshoulder"],[25,"LpinkyB"],[24,"LpinkyA"],[23,"LindexB"],[22,"LindexA"],[21,"Lhand"],[20,"Lelbow"],[19,"Lshoulder"],[18,"tongueTip"],[17,"tongueMidB"],[16,"tongueMidA"],[15,"tongueBase"],[14,"tongueMaster"],[1,"align"],[2,"prejoint"],[3,"main"],[4,"upper_body"],[5,"upper_bodyB"],[6,"chest"],[7,"neckA"],[8,"neckB"],[9,"head"],[10,"earBaseL"],[11,"earMidL"],[12,"earBaseR"],[13,"earMidR"],[30,"RindexB"],[31,"RpinkyA"],[32,"RpinkyB"],[33,"hips"],[34,"Lthigh"],[35,"Lknee"],[36,"Lankle"],[37,"Lball"],[38,"tailBase"],[39,"tailFirst"],[40,"tailMid"],[41,"tailEnd"],[42,"Rthigh"],[43,"Rknee"],[44,"Rankle"],[45,"Rball"],[46,"flapBaseL"],[47,"flapMidL"],[48,"flapBaseR"],[49,"flapMidR"],[50,"uvula"],[51,"LmiddleA"],[52,"LmiddleB"],[53,"LthumbA"],[54,"LthumbB"],[55,"LringA"],[56,"LringB"],[57,"RmiddleA"],[58,"RmiddleB"],[59,"RthumbA"]],"daxter-lod0-jg":[[48,"RthumbB"],[47,"RthumbA"],[46,"LthumbB"],[45,"LthumbA"],[44,"flapMidR"],[43,"flapBaseR"],[42,"flapMidL"],[41,"flapBaseL"],[40,"Rball"],[39,"Rankle"],[38,"Rknee"],[37,"Rthigh"],[36,"tailEnd"],[35,"tailMid"],[34,"tailBase"],[33,"Lball"],[32,"Lankle"],[31,"Lknee"],[30,"Lthigh"],[13,"earMidR"],[12,"earBaseR"],[11,"earMidL"],[10,"earBaseL"],[9,"head"],[8,"neckB"],[7,"neckA"],[6,"chest"],[5,"upper_bodyB"],[4,"upper_body"],[3,"main"],[2,"prejoint"],[1,"align"],[14,"Lshoulder"],[15,"Lelbow"],[16,"Lhand"],[17,"LmiddleA"],[18,"LmiddleB"],[19,"LindexA"],[20,"LindexB"],[21,"Rshoulder"],[22,"Relbow"],[23,"Rhand"],[24,"RmiddleA"],[25,"RmiddleB"],[26,"RindexA"],[27,"RindexB"],[28,"gun"],[29,"hips"]],"dig-balloon-lurker-lod0-jg":[[24,"front_wheel"],[23,"Rankle"],[22,"Rknee"],[21,"Rthigh"],[20,"Lankle"],[19,"Lknee"],[18,"Lthigh"],[17,"hips"],[16,"Rhand"],[15,"Relbow"],[14,"Rshoulder"],[1,"align"],[2,"prejoint"],[3,"all"],[4,"prop"],[5,"Rudder"],[6,"poleBot"],[7,"pedals"],[8,"main"],[9,"chest"],[10,"neck"],[11,"Lshoulder"],[12,"Lelbow"],[13,"Lhand"]],"dig-balloon-lurker-trapeze-lod0-jg":[[11,"trapeze_end"],[10,"trapeze_six"],[9,"trapeze_five"],[8,"trapeze_four"],[7,"trapeze_three"],[6,"trapese_two"],[5,"trapeze_one"],[4,"trapese_top"],[3,"all"],[2,"prejoint"],[1,"align"]],"dig-bomb-crate-cylinder-lod0-jg":[[3,"main"],[2,"prejoint"],[1,"align"]],"dig-bomb-crate-explode-lod0-jg":[[13,"k"],[12,"j"],[11,"i"],[10,"h"],[9,"g"],[8,"f"],[7,"e"],[6,"d"],[5,"c"],[4,"b"],[3,"a"],[2,"prejoint"],[1,"align"]],"dig-bomb-crate-lod0-jg":[[3,"main"],[2,"prejoint"],[1,"align"]],"dig-breakable-door-lod0-jg":[[3,"main"],[2,"prejoint"],[1,"align"]],"dig-button-lod0-jg":[[3,"boneless"],[2,"prejoint"],[1,"align"]],"dig-clasp-b-lod0-jg":[[3,"main"],[2,"prejoint"],[1,"align"]],"dig-clasp-explode-lod0-jg":[[8,"f"],[7,"e"],[6,"d"],[5,"c"],[4,"b"],[3,"a"],[2,"prejoint"],[1,"align"]],"dig-clasp-lod0-jg":[[6,"clasp"],[5,"explode"],[4,"mid"],[3,"main"],[2,"prejoint"],[1,"align"]],"dig-conveyor-lod0-jg":[[6,"g3"],[5,"g2"],[4,"g1"],[3,"main"],[2,"prejoint"],[1,"align"]],"dig-digger-explode-a-lod0-jg":[[33,"bf"],[32,"be"],[31,"bd"],[30,"bc"],[13,"al"],[12,"ak"],[11,"aj"],[10,"ai"],[9,"ah"],[8,"ag"],[7,"af"],[6,"ae"],[5,"ad"],[4,"ac"],[3,"main"],[2,"prejoint"],[1,"align"],[14,"am"],[15,"an"],[16,"ao"],[17,"ap"],[18,"aq"],[19,"ar"],[20,"as"],[21,"at"],[22,"au"],[23,"av"],[24,"aw"],[25,"ax"],[26,"ay"],[27,"az"],[28,"ba"],[29,"bb"]],"dig-digger-explode-b-lod0-jg":[[37,"cp"],[36,"co"],[35,"cn"],[34,"cm"],[33,"cl"],[32,"ck"],[31,"cj"],[30,"ci"],[13,"br"],[12,"bq"],[11,"bp"],[10,"bo"],[9,"bn"],[8,"bm"],[7,"bl"],[6,"bk"],[5,"bj"],[4,"bi"],[3,"main"],[2,"prejoint"],[1,"align"],[14,"bs"],[15,"bt"],[16,"bu"],[17,"bv"],[18,"bw"],[19,"bx"],[20,"by"],[21,"bz"],[22,"ca"],[23,"cb"],[24,"cc"],[25,"cd"],[26,"ce"],[27,"cf"],[28,"cg"],[29,"ch"]],"dig-digger-explode-c-lod0-jg":[[20,"dm"],[19,"dl"],[18,"dk"],[17,"dj"],[16,"di"],[15,"dh"],[14,"dg"],[1,"align"],[2,"prejoint"],[3,"main"],[4,"cw"],[5,"cx"],[6,"cy"],[7,"cz"],[8,"da"],[9,"db"],[10,"dc"],[11,"dd"],[12,"de"],[13,"df"]],"dig-digger-explode-lod0-jg":[[18,"zz"],[17,"z"],[16,"y"],[15,"x"],[14,"w"],[1,"align"],[2,"prejoint"],[3,"explode"],[4,"main"],[5,"n"],[6,"o"],[7,"p"],[8,"q"],[9,"r"],[10,"s"],[11,"t"],[12,"u"],[13,"v"]],"dig-digger-lod0-jg":[[32,"drill"],[31,"smoke3"],[30,"smoke2"],[13,"tether9"],[12,"tether8"],[11,"tether7"],[10,"tether6"],[9,"tether5"],[8,"tether4"],[7,"tether3"],[6,"tether2"],[5,"tether1"],[4,"tether"],[3,"main"],[2,"prejoint"],[1,"align"],[14,"tether10"],[15,"tether11"],[16,"tether12"],[17,"tether13"],[18,"tether14"],[19,"tether15"],[20,"tether16"],[21,"tether17"],[22,"tether18"],[23,"tether19"],[24,"tether20"],[25,"tether21"],[26,"tether22"],[27,"tether23"],[28,"smoke"],[29,"smoke1"]],"dig-jump-pad-lod0-jg":[[4,"lid"],[3,"main"],[2,"prejoint"],[1,"align"]],"dig-log-lod0-jg":[[3,"boneless"],[2,"prejoint"],[1,"align"]],"dig-sinking-plat-lod0-jg":[[3,"main"],[2,"prejoint"],[1,"align"]],"dig-spikey-sphere-door-lod0-jg":[[4,"door"],[3,"main"],[2,"prejoint"],[1,"align"]],"dig-spikey-sphere-explode-lod0-jg":[[12,"j"],[11,"i"],[10,"h"],[9,"g"],[8,"f"],[7,"e"],[6,"d"],[5,"c"],[4,"b"],[3,"a"],[2,"prejoint"],[1,"align"]],"dig-spikey-sphere-lod0-jg":[[3,"main"],[2,"prejoint"],[1,"align"]],"dig-spikey-step-lod0-jg":[[3,"main"],[2,"prejoint"],[1,"align"]],"dig-stomp-block-lod0-jg":[[3,"main"],[2,"prejoint"],[1,"align"]],"dig-tether-snapped-lod0-jg":[[10,"end"],[9,"seven"],[8,"six"],[7,"five"],[6,"four"],[5,"three"],[4,"two"],[3,"one"],[2,"prejoint"],[1,"align"]],"dig-tether-unsnapped-lod0-jg":[[10,"end"],[9,"seven"],[8,"six"],[7,"five"],[6,"four"],[5,"three"],[4,"two"],[3,"one"],[2,"prejoint"],[1,"align"]],"dig-tipping-rock-lod0-jg":[[3,"main"],[2,"prejoint"],[1,"align"]],"dig-totem-fish-lod0-jg":[[3,"fish"],[2,"prejoint"],[1,"align"]],"dig-totem-lod0-jg":[[4,"fish"],[3,"totem"],[2,"prejoint"],[1,"align"]],"dig-wheel-step-lod0-jg":[[5,"platform_b"],[4,"platform_a"],[3,"wheel"],[2,"prejoint"],[1,"align"]],"drill-barons-ship-explode-lod0-jg":[[35,"af"],[34,"ae"],[33,"ad"],[32,"ac"],[31,"ab"],[30,"aa"],[13,"k"],[12,"j"],[11,"i"],[10,"h"],[9,"g"],[8,"f"],[7,"e"],[6,"d"],[5,"c"],[4,"b"],[3,"main"],[2,"prejoint"],[1,"align"],[14,"l"],[15,"m"],[16,"n"],[17,"o"],[18,"p"],[19,"q"],[20,"r"],[21,"s"],[22,"t"],[23,"u"],[24,"v"],[25,"w"],[26,"x"],[27,"y"],[28,"z"],[29,"zz"]],"drill-barons-ship-lod0-jg":[[32,"rpnode_gun_b"],[31,"rpnode_gun_b1"],[30,"rpnode_gun_b2"],[13,"rpnode_gun_a2"],[12,"rpnode_gun_a7"],[11,"rpnode_gun_a3"],[10,"rpnode_gun_a8"],[9,"rpnode_gun_a1"],[8,"light4"],[7,"light3"],[6,"light2"],[5,"light1"],[4,"light"],[3,"main"],[2,"prejoint"],[1,"align"],[14,"rpnode_gun_a6"],[15,"rpnode_gun_a5"],[16,"rpnode_gun_a"],[17,"rpnode_gun_a9"],[18,"rpnode_gun_a10"],[19,"rpnode_gun_a11"],[20,"rpnode_gun_a12"],[21,"rpnode_gun_a13"],[22,"rpnode_gun_a14"],[23,"rpnode_gun_a15"],[24,"rpnode_gun_a16"],[25,"rpnode_gun_a17"],[26,"rpnode_gun_a18"],[27,"rpnode_gun_b5"],[28,"rpnode_gun_b4"],[29,"rpnode_gun_b3"]],"drill-barons-ship-turret-b-lod0-jg":[[8,"bottom_door"],[7,"top_door"],[6,"gun_left"],[5,"gun_right"],[4,"gun"],[3,"main"],[2,"prejoint"],[1,"align"]],"drill-barons-ship-turret-c-lod0-jg":[[11,"small_gun_blast"],[10,"gun_small"],[9,"gun_blast"],[8,"gun"],[7,"gun_center"],[6,"gun_shaft"],[5,"R_door"],[4,"L_door"],[3,"main"],[2,"prejoint"],[1,"align"]],"drill-barons-ship-turret-lod0-jg":[[14,"Rgun"],[1,"align"],[2,"prejoint"],[3,"main"],[4,"L_hatch"],[5,"R_hatch"],[6,"shaft_a"],[7,"shaft_b"],[8,"shaft_c"],[9,"shaft_d"],[10,"gunbase"],[11,"gun_left"],[12,"gun_right"],[13,"Lgun"]],"drill-bridge-shot-lod0-jg":[[19,"p"],[18,"o"],[17,"n"],[16,"m"],[15,"l"],[14,"k"],[1,"align"],[2,"prejoint"],[3,"main"],[4,"explode"],[5,"b"],[6,"c"],[7,"d"],[8,"e"],[9,"f"],[10,"g"],[11,"h"],[12,"i"],[13,"j"]],"drill-control-panel-a-lod0-jg":[[38,"t"],[37,"s"],[36,"r"],[35,"q"],[34,"p"],[33,"o"],[32,"n"],[31,"m"],[30,"l"],[13,"steam_b"],[12,"explode_c"],[11,"light_blue_d"],[10,"light_blue_a"],[9,"light_blue_b"],[8,"light_blue_c"],[7,"light_amber_c"],[6,"light_amber_b"],[5,"light_amber_a"],[4,"light_big_amber_b"],[3,"light_big_amber_a"],[2,"prejoint"],[1,"align"],[14,"spark_k"],[15,"spark_l"],[16,"spark_m"],[17,"spark_n"],[18,"spark_o"],[19,"main"],[20,"a"],[21,"b"],[22,"c"],[23,"e"],[24,"f"],[25,"g"],[26,"h"],[27,"i"],[28,"j"],[29,"k"]],"drill-control-panel-lod0-jg":[[83,"be"],[82,"bd"],[81,"bc"],[80,"bb"],[79,"ba"],[78,"az"],[77,"ay"],[76,"ax"],[75,"aw"],[74,"av"],[73,"au"],[72,"at"],[71,"as"],[70,"ar"],[69,"aq"],[68,"ap"],[67,"ao"],[66,"an"],[65,"am"],[64,"al"],[63,"ak"],[62,"aj"],[61,"ai"],[60,"ah"],[29,"d"],[28,"c"],[27,"b"],[26,"main"],[25,"spark_ab"],[24,"spark_w"],[23,"spark_r"],[22,"spark_m"],[21,"spark_i"],[20,"spark_d"],[19,"steam_b"],[18,"explode_d"],[17,"light_amber_g"],[16,"light_amber_f"],[15,"light_amber_e"],[14,"light_amber_d"],[1,"align"],[2,"prejoint"],[3,"light_blue_a"],[4,"light_blue_b"],[5,"light_blue_c"],[6,"light_blue_d"],[7,"light_blue_e"],[8,"light_big_amber_a"],[9,"light_big_amber_b"],[10,"light_big_amber_c"],[11,"light_amber_a"],[12,"light_amber_b"],[13,"light_amber_c"],[30,"e"],[31,"f"],[32,"g"],[33,"h"],[34,"i"],[35,"j"],[36,"k"],[37,"l"],[38,"m"],[39,"n"],[40,"o"],[41,"p"],[42,"q"],[43,"r"],[44,"s"],[45,"t"],[46,"u"],[47,"v"],[48,"w"],[49,"x"],[50,"y"],[51,"z"],[52,"zz"],[53,"aa"],[54,"ab"],[55,"ac"],[56,"ad"],[57,"ae"],[58,"af"],[59,"ag"]],"drill-crane-a-lod0-jg":[[43,"am"],[42,"al"],[41,"ak"],[40,"aj"],[39,"ai"],[38,"ah"],[37,"ag"],[36,"af"],[35,"ae"],[34,"ad"],[33,"ac"],[32,"ab"],[31,"aa"],[30,"main"],[13,"j"],[12,"i"],[11,"h"],[10,"g"],[9,"f"],[8,"e"],[7,"d"],[6,"c"],[5,"b"],[4,"a"],[3,"explode"],[2,"prejoint"],[1,"align"],[14,"k"],[15,"l"],[16,"m"],[17,"n"],[18,"o"],[19,"p"],[20,"q"],[21,"r"],[22,"s"],[23,"t"],[24,"u"],[25,"v"],[26,"w"],[27,"x"],[28,"y"],[29,"z"]],"drill-crane-b-lod0-jg":[[36,"af"],[35,"ae"],[34,"ad"],[33,"ac"],[32,"ab"],[31,"aa"],[30,"main"],[13,"j"],[12,"i"],[11,"h"],[10,"g"],[9,"f"],[8,"e"],[7,"d"],[6,"c"],[5,"b"],[4,"a"],[3,"explode"],[2,"prejoint"],[1,"align"],[14,"k"],[15,"l"],[16,"m"],[17,"n"],[18,"o"],[19,"p"],[20,"q"],[21,"r"],[22,"s"],[23,"t"],[24,"u"],[25,"v"],[26,"w"],[27,"x"],[28,"y"],[29,"z"]],"drill-crane-c-lod0-jg":[[43,"am"],[42,"al"],[41,"ak"],[40,"aj"],[39,"ai"],[38,"ah"],[37,"ag"],[36,"af"],[35,"ae"],[34,"ad"],[33,"ac"],[32,"ab"],[31,"aa"],[30,"main"],[13,"j"],[12,"i"],[11,"h"],[10,"g"],[9,"f"],[8,"e"],[7,"d"],[6,"c"],[5,"b"],[4,"a"],[3,"explode"],[2,"prejoint"],[1,"align"],[14,"k"],[15,"l"],[16,"m"],[17,"n"],[18,"o"],[19,"p"],[20,"q"],[21,"r"],[22,"s"],[23,"t"],[24,"u"],[25,"v"],[26,"w"],[27,"x"],[28,"y"],[29,"z"]],"drill-crane-d-lod0-jg":[[29,"main"],[28,"y"],[27,"x"],[26,"w"],[25,"v"],[24,"u"],[23,"t"],[22,"s"],[21,"r"],[20,"q"],[19,"p"],[18,"o"],[17,"n"],[16,"m"],[15,"l"],[14,"k"],[1,"align"],[2,"prejoint"],[3,"explode"],[4,"a"],[5,"b"],[6,"c"],[7,"d"],[8,"e"],[9,"f"],[10,"g"],[11,"h"],[12,"i"],[13,"j"]],"drill-crane-lod0-jg":[[39,"ae"],[38,"ad"],[37,"ac"],[36,"ab"],[35,"aa"],[34,"i"],[33,"z"],[32,"y"],[31,"x"],[30,"w"],[13,"e"],[12,"d"],[11,"c"],[10,"b"],[9,"a"],[8,"main"],[7,"spark_b"],[6,"spark_a"],[5,"explode_c"],[4,"explode_b"],[3,"explode_a"],[2,"prejoint"],[1,"align"],[14,"f"],[15,"g"],[16,"h"],[17,"j"],[18,"k"],[19,"l"],[20,"m"],[21,"n"],[22,"o"],[23,"p"],[24,"q"],[25,"r"],[26,"s"],[27,"t"],[28,"u"],[29,"v"]],"drill-drill-lod0-jg":[[16,"bit"],[15,"smbit_rr"],[14,"smbit_lr"],[1,"align"],[2,"prejoint"],[3,"main"],[4,"front_wheel"],[5,"back_wheel"],[6,"side_wheel_L"],[7,"side_wheel_R"],[8,"mdbit_b"],[9,"mdbit_l"],[10,"mdbit_f"],[11,"mdbit_r"],[12,"smbit_rf"],[13,"smbit_lf"]],"drill-drop-plat-lod0-jg":[[6,"step"],[5,"mid"],[4,"first"],[3,"main"],[2,"prejoint"],[1,"align"]],"drill-elevator-base-lod0-jg":[[15,"base_well"],[14,"part11"],[1,"align"],[2,"prejoint"],[3,"main"],[4,"part1"],[5,"part2"],[6,"part3"],[7,"part4"],[8,"part5"],[9,"part6"],[10,"part7"],[11,"part8"],[12,"part9"],[13,"part10"]],"drill-elevator-doors-lod0-jg":[[5,"door_R"],[4,"door_L"],[3,"main"],[2,"prejoint"],[1,"align"]],"drill-elevator-lod0-jg":[[4,"railing"],[3,"main"],[2,"prejoint"],[1,"align"]],"drill-falling-door-lod0-jg":[[18,"damage14"],[17,"damage13"],[16,"damage12"],[15,"damage11"],[14,"damage10"],[1,"align"],[2,"prejoint"],[3,"main"],[4,"rotatedoor"],[5,"damage1"],[6,"damage2"],[7,"damage3"],[8,"damage4"],[9,"damage5"],[10,"damage6"],[11,"damage7"],[12,"damage8"],[13,"damage9"]],"drill-flip-step-lod0-jg":[[5,"step"],[4,"mid"],[3,"main"],[2,"prejoint"],[1,"align"]],"drill-lift-lod0-jg":[[3,"main"],[2,"prejoint"],[1,"align"]],"drill-metalhead-eggs-a-lod0-jg":[[4,"rot"],[3,"main"],[2,"prejoint"],[1,"align"]],"drill-metalhead-eggs-b-lod0-jg":[[4,"rot"],[3,"main"],[2,"prejoint"],[1,"align"]],"drill-metalhead-eggs-c-lod0-jg":[[4,"rot"],[3,"main"],[2,"prejoint"],[1,"align"]],"drill-moving-staircase-lod0-jg":[[3,"boneless"],[2,"prejoint"],[1,"align"]],"drill-plat-falling-lod0-jg":[[3,"main"],[2,"prejoint"],[1,"align"]],"drill-plat-lod0-jg":[[8,"circles"],[7,"plat"],[6,"shafttrans"],[5,"shaftrot"],[4,"rotpiston"],[3,"main"],[2,"prejoint"],[1,"align"]],"drill-switch-lod0-jg":[[5,"glow"],[4,"lever"],[3,"main"],[2,"prejoint"],[1,"align"]],"drill-top-break-explode-a-lod0-jg":[[38,"dr"],[37,"dq"],[36,"dp"],[35,"do"],[34,"dn"],[33,"dm"],[32,"dl"],[31,"dk"],[30,"dj"],[13,"cs"],[12,"cr"],[11,"cq"],[10,"cp"],[9,"co"],[8,"cn"],[7,"cm"],[6,"cl"],[5,"ck"],[4,"cj"],[3,"main"],[2,"prejoint"],[1,"align"],[14,"ct"],[15,"cu"],[16,"cv"],[17,"cw"],[18,"cx"],[19,"cy"],[20,"cz"],[21,"da"],[22,"db"],[23,"dc"],[24,"dd"],[25,"de"],[26,"df"],[27,"dg"],[28,"dh"],[29,"di"]],"drill-top-break-explode-b-lod0-jg":[[45,"ch"],[44,"cg"],[43,"cf"],[42,"ce"],[41,"cd"],[40,"cc"],[39,"cb"],[38,"ca"],[37,"bz"],[36,"by"],[35,"bx"],[34,"bw"],[33,"bv"],[32,"bu"],[31,"bt"],[30,"bs"],[13,"bb"],[12,"ba"],[11,"az"],[10,"ay"],[9,"ax"],[8,"aw"],[7,"av"],[6,"au"],[5,"at"],[4,"as"],[3,"main"],[2,"prejoint"],[1,"align"],[14,"bc"],[15,"bd"],[16,"be"],[17,"bf"],[18,"bg"],[19,"bh"],[20,"bi"],[21,"bj"],[22,"bk"],[23,"bl"],[24,"bm"],[25,"bn"],[26,"bo"],[27,"bp"],[28,"bq"],[29,"br"]],"drill-top-break-explode-lod0-jg":[[47,"aq"],[46,"ap"],[45,"ao"],[44,"an"],[43,"am"],[42,"al"],[41,"ak"],[40,"aj"],[39,"ai"],[38,"ah"],[37,"ag"],[36,"af"],[35,"ae"],[34,"ad"],[33,"ac"],[32,"ab"],[31,"aa"],[30,"zz"],[13,"j"],[12,"i"],[11,"h"],[10,"g"],[9,"f"],[8,"e"],[7,"d"],[6,"c"],[5,"b"],[4,"main"],[3,"explode"],[2,"prejoint"],[1,"align"],[14,"k"],[15,"l"],[16,"m"],[17,"n"],[18,"o"],[19,"p"],[20,"q"],[21,"r"],[22,"s"],[23,"t"],[24,"u"],[25,"v"],[26,"w"],[27,"x"],[28,"y"],[29,"z"]],"drill-top-break-lod0-jg":[[3,"main"],[2,"prejoint"],[1,"align"]],"drill-turret-ext-explode-lod0-jg":[[17,"o"],[16,"n"],[15,"m"],[14,"l"],[1,"align"],[2,"prejoint"],[3,"a"],[4,"b"],[5,"c"],[6,"d"],[7,"e"],[8,"f"],[9,"g"],[10,"h"],[11,"i"],[12,"j"],[13,"k"]],"drill-turret-ext-lod0-jg":[[12,"camera"],[11,"Rtopguntip"],[10,"Rtopgun"],[9,"Rbottomguntip"],[8,"Rbottomgun"],[7,"Lbottomguntip"],[6,"Lbottomgun"],[5,"Ltopguntip"],[4,"Ltopgun"],[3,"main"],[2,"prejoint"],[1,"align"]],"drill-turret-int-lod0-jg":[[3,"main"],[2,"prejoint"],[1,"align"]],"drill-wall-lod0-jg":[[26,"w"],[25,"v"],[24,"t"],[23,"s"],[22,"r"],[21,"q"],[20,"p"],[19,"o"],[18,"n"],[17,"m"],[16,"l"],[15,"k"],[14,"j"],[1,"align"],[2,"prejoint"],[3,"explode"],[4,"main"],[5,"a"],[6,"b"],[7,"c"],[8,"d"],[9,"e"],[10,"f"],[11,"g"],[12,"h"],[13,"i"]],"eco-canister-dark-lod0-jg":[[3,"top"],[2,"prejoint"],[1,"align"]],"ecowell-a-lod0-jg":[[54,"ay"],[53,"ax"],[52,"aw"],[51,"av"],[50,"au"],[49,"at"],[48,"as"],[47,"ar"],[46,"aq"],[45,"ap"],[44,"ao"],[43,"an"],[42,"am"],[41,"al"],[40,"ak"],[39,"aj"],[38,"ai"],[37,"ah"],[36,"ag"],[35,"af"],[34,"ae"],[33,"ad"],[32,"ac"],[31,"ab"],[30,"aa"],[13,"k"],[12,"j"],[11,"i"],[10,"h"],[9,"g"],[8,"f"],[7,"e"],[6,"d"],[5,"c"],[4,"b"],[3,"a"],[2,"prejoint"],[1,"align"],[14,"l"],[15,"m"],[16,"n"],[17,"o"],[18,"p"],[19,"q"],[20,"r"],[21,"s"],[22,"t"],[23,"u"],[24,"v"],[25,"w"],[26,"x"],[27,"y"],[28,"z"],[29,""]],"ecowell-b-lod0-jg":[[54,"ay"],[53,"ax"],[52,"aw"],[51,"av"],[50,"au"],[49,"at"],[48,"as"],[47,"ar"],[46,"aq"],[45,"ap"],[44,"ao"],[43,"an"],[42,"am"],[41,"al"],[40,"ak"],[39,"aj"],[38,"ai"],[37,"ah"],[36,"ag"],[35,"af"],[34,"ae"],[33,"ad"],[32,"ac"],[31,"ab"],[30,"aa"],[13,"k"],[12,"j"],[11,"i"],[10,"h"],[9,"g"],[8,"f"],[7,"e"],[6,"d"],[5,"c"],[4,"b"],[3,"a"],[2,"prejoint"],[1,"align"],[14,"l"],[15,"m"],[16,"n"],[17,"o"],[18,"p"],[19,"q"],[20,"r"],[21,"s"],[22,"t"],[23,"u"],[24,"v"],[25,"w"],[26,"x"],[27,"y"],[28,"z"],[29,""]],"ecowell-c-lod0-jg":[[54,"ay"],[53,"ax"],[52,"aw"],[51,"av"],[50,"au"],[49,"at"],[48,"as"],[47,"ar"],[46,"aq"],[45,"ap"],[44,"ao"],[43,"an"],[42,"am"],[41,"al"],[40,"ak"],[39,"aj"],[38,"ai"],[37,"ah"],[36,"ag"],[35,"af"],[34,"ae"],[33,"ad"],[32,"ac"],[31,"ab"],[30,"aa"],[13,"k"],[12,"j"],[11,"i"],[10,"h"],[9,"g"],[8,"f"],[7,"e"],[6,"d"],[5,"c"],[4,"b"],[3,"a"],[2,"prejoint"],[1,"align"],[14,"l"],[15,"m"],[16,"n"],[17,"o"],[18,"p"],[19,"q"],[20,"r"],[21,"s"],[22,"t"],[23,"u"],[24,"v"],[25,"w"],[26,"x"],[27,"y"],[28,"z"],[29,""]],"ecowell-d-lod0-jg":[[50,"au"],[49,"at"],[48,"as"],[47,"ar"],[46,"aq"],[45,"ap"],[44,"ao"],[43,"an"],[42,"am"],[41,"al"],[40,"ak"],[39,"aj"],[38,"ai"],[37,"ah"],[36,"ag"],[35,"af"],[34,"ae"],[33,"ad"],[32,"ac"],[31,"ab"],[30,"aa"],[13,"k"],[12,"j"],[11,"i"],[10,"h"],[9,"g"],[8,"f"],[7,"e"],[6,"d"],[5,"c"],[4,"b"],[3,"a"],[2,"prejoint"],[1,"align"],[14,"l"],[15,"m"],[16,"n"],[17,"o"],[18,"p"],[19,"q"],[20,"r"],[21,"s"],[22,"t"],[23,"u"],[24,"v"],[25,"w"],[26,"x"],[27,"y"],[28,"z"],[29,""]],"errol-highres-lod0-jg":[[62,"Rarmplate"],[61,"Larmplate"],[60,"RringC"],[29,"RpinkyC"],[28,"RpinkyB"],[27,"RpinkyA"],[26,"RindexC"],[25,"RindexB"],[24,"RindexA"],[23,"Rhand"],[22,"Relbow"],[21,"Rshoulder"],[20,"LpinkyC"],[19,"LpinkyB"],[18,"LpinkyA"],[17,"LindexC"],[16,"LindexB"],[15,"LindexA"],[14,"Lhand"],[1,"align"],[2,"prejoint"],[3,"main"],[4,"chest"],[5,"neck"],[6,"head"],[7,"HairBase"],[8,"Leara"],[9,"Learb"],[10,"Reara"],[11,"Rearb"],[12,"Lshoulder"],[13,"Lelbow"],[30,"Lshoulderplate"],[31,"Rshoulderplate"],[32,"hips"],[33,"Lthigh"],[34,"Lknee"],[35,"Lankle"],[36,"Lball"],[37,"gun"],[38,"Rthigh"],[39,"Rknee"],[40,"Rankle"],[41,"Rball"],[42,"mask"],[43,"LthumbA"],[44,"LthumbB"],[45,"LthumbC"],[46,"LmiddleA"],[47,"LmiddleB"],[48,"LmiddleC"],[49,"LringA"],[50,"LringB"],[51,"LringC"],[52,"RthumbA"],[53,"RthumbB"],[54,"RthumbC"],[55,"RmiddleA"],[56,"RmiddleB"],[57,"RmiddleC"],[58,"RringA"],[59,"RringB"]],"errol-racer-lod0-jg":[[29,"Rankle"],[28,"gun"],[27,"Lankle"],[26,"Rshoulderplate"],[25,"Lshoulderplate"],[24,"Rarmplate"],[23,"Larmplate"],[22,"RmiddleA"],[21,"RthumbA"],[20,"Rhand"],[19,"LmiddleA"],[18,"LthumbA"],[17,"Lhand"],[16,"mask"],[15,"head"],[14,"Rknee"],[1,"align"],[2,"prejoint"],[3,"main"],[4,"chest"],[5,"neck"],[6,"Lshoulder"],[7,"Lelbow"],[8,"Rshoulder"],[9,"Relbow"],[10,"hips"],[11,"Lthigh"],[12,"Lknee"],[13,"Rthigh"]],"farm-beetree-explode-lod0-jg":[[12,"j"],[11,"i"],[10,"h"],[9,"g"],[8,"f"],[7,"e"],[6,"d"],[5,"c"],[4,"b"],[3,"a"],[2,"prejoint"],[1,"align"]],"farm-beetree-lod0-jg":[[5,"leaves"],[4,"bulb"],[3,"main"],[2,"prejoint"],[1,"align"]],"farm-cabbage-explode-lod0-jg":[[8,"f"],[7,"e"],[6,"d"],[5,"c"],[4,"b"],[3,"a"],[2,"prejoint"],[1,"align"]],"farm-cabbage-lod0-jg":[[5,"leaves"],[4,"cabbage"],[3,"main"],[2,"prejoint"],[1,"align"]],"farm-chilirots-explode-lod0-jg":[[10,"h"],[9,"g"],[8,"f"],[7,"e"],[6,"d"],[5,"c"],[4,"b"],[3,"a"],[2,"prejoint"],[1,"align"]],"farm-chilirots-lod0-jg":[[7,"chili_d"],[6,"chili_c"],[5,"chili_b"],[4,"chili_a"],[3,"main"],[2,"prejoint"],[1,"align"]],"farm-marrow-explode-lod0-jg":[[12,"stem_b"],[11,"stem_a"],[10,"leaf_c"],[9,"leaf_b"],[8,"leaf_a"],[7,"meat_e"],[6,"meat_d"],[5,"meat_c"],[4,"meat_b"],[3,"meat_a"],[2,"prejoint"],[1,"align"]],"farm-marrow-lod0-jg":[[8,"marrow_c"],[7,"marrow_b"],[6,"marrow_a"],[5,"leaves_b"],[4,"leaves_a"],[3,"main"],[2,"prejoint"],[1,"align"]],"farm-small-cabbage-explode-lod0-jg":[[10,"h"],[9,"g"],[8,"f"],[7,"e"],[6,"d"],[5,"c"],[4,"b"],[3,"a"],[2,"prejoint"],[1,"align"]],"farm-small-cabbage-lod0-jg":[[4,"cabbage"],[3,"main"],[2,"prejoint"],[1,"align"]],"farm-sprinkler-barrels-lod0-jg":[[6,"right"],[5,"sprinkler_l"],[4,"left"],[3,"sprinkler_r"],[2,"prejoint"],[1,"align"]],"farthy-lod0-jg":[[6,"Rshoulder"],[5,"halo"],[4,"head"],[3,"main"],[2,"prejoint"],[1,"align"]],"fencespikes-lod0-jg":[[10,"collision"],[9,"head"],[8,"bld1"],[7,"bld2"],[6,"bld3"],[5,"bld4"],[4,"bld5"],[3,"main"],[2,"prejoint"],[1,"align"]],"flag-lod0-jg":[[12,"splitTop"],[11,"splitBottom"],[10,"flagE"],[9,"flagD"],[8,"flagC"],[7,"flagB"],[6,"flagA"],[5,"mainflag"],[4,"poleB"],[3,"poleA"],[2,"prejoint"],[1,"align"]],"flamer-explode-lod0-jg":[[17,"o"],[16,"n"],[15,"m"],[14,"l"],[1,"align"],[2,"prejoint"],[3,"a"],[4,"b"],[5,"c"],[6,"d"],[7,"e"],[8,"f"],[9,"g"],[10,"h"],[11,"i"],[12,"j"],[13,"k"]],"flamer-lod0-jg":[[27,"tailGunTop"],[26,"RwingBot"],[25,"RwingTop"],[24,"LwingBot"],[23,"LwingTop"],[22,"RwingBase"],[21,"LwingBase"],[20,"jaw"],[19,"head"],[18,"neckB"],[17,"neckA"],[16,"Rhand"],[15,"Relbow"],[14,"Rshoulder"],[1,"align"],[2,"prejoint"],[3,"main"],[4,"tailA"],[5,"tailB"],[6,"tailC"],[7,"tailD"],[8,"tailE"],[9,"tailF"],[10,"tailGunBottom"],[11,"Lshoulder"],[12,"Lelbow"],[13,"Lhand"]],"flitter-lod0-jg":[[44,"jaw"],[43,"Rtube"],[42,"Ltube"],[41,"backTubeBotB"],[40,"BackTubeBotA"],[39,"backTubeTopB"],[38,"backTubeTopA"],[37,"Rwing"],[36,"Lwing"],[35,"tailG"],[34,"tailF"],[33,"tailE"],[32,"tailD"],[31,"tailC"],[30,"tailB"],[13,"LoneLegA"],[12,"LtwoSpike"],[11,"LtwoLegB"],[10,"LtwoLegA"],[9,"LthreeSpike"],[8,"LthreeLegB"],[7,"LthreeLegA"],[6,"LfourSpike"],[5,"LfourLegB"],[4,"LfourLegA"],[3,"main"],[2,"prejoint"],[1,"align"],[14,"LoneLegB"],[15,"LoneSpike"],[16,"RfourLegA"],[17,"RfourLegB"],[18,"RfourSpike"],[19,"RthreeLegA"],[20,"RthreeLegB"],[21,"RthreeSpike"],[22,"RtwoLegA"],[23,"RtwoLegB"],[24,"RtwoSpike"],[25,"RoneLegA"],[26,"RoneLegB"],[27,"RoneSpike"],[28,"head"],[29,"tailA"]],"flying-spider-lod0-jg":[[38,"jaw"],[37,"Rwing"],[36,"Lwing"],[35,"RgunTip"],[34,"RwingShell"],[33,"LwingShell"],[32,"RgunBarrell"],[31,"Rgun"],[30,"LgunTip"],[13,"LrearlegC"],[12,"LrearlegB"],[11,"LrearlegA"],[10,"LmidlegC"],[9,"LmidlegB"],[8,"LmidlegA"],[7,"LfrontlegC"],[6,"LfrontlegB"],[5,"LfrontlegA"],[4,"legBase"],[3,"main"],[2,"prejoint"],[1,"align"],[14,"RfrontlegA"],[15,"RfrontlegB"],[16,"RfrontlegC"],[17,"RmidlegA"],[18,"RmidlegB"],[19,"RmidlegC"],[20,"RrearlegA"],[21,"RrearlegB"],[22,"RrearlegC"],[23,"thorax"],[24,"abdomen"],[25,"neckA"],[26,"neckB"],[27,"head"],[28,"Lgun"],[29,"LgunBarrell"]],"fodder-lod0-jg":[[32,"RinsideClaw"],[31,"RoutsideClaw"],[30,"RrearClaw"],[13,"tailA"],[12,"hips"],[11,"Rhand"],[10,"Relbow"],[9,"Rshoulder"],[8,"Lhand"],[7,"Lelbow"],[6,"Lshoulder"],[5,"head"],[4,"chest"],[3,"main"],[2,"prejoint"],[1,"align"],[14,"tailB"],[15,"tailC"],[16,"Lthigh"],[17,"Lknee"],[18,"Lankle"],[19,"Rthigh"],[20,"Rknee"],[21,"Rankle"],[22,"jaw"],[23,"Leye"],[24,"Reye"],[25,"Lball"],[26,"LrearClaw"],[27,"LoutsideClaw"],[28,"LinsideClaw"],[29,"Rball"]],"fort-conveyor-lod0-jg":[[3,"boneless"],[2,"prejoint"],[1,"align"]],"fort-dump-bomb-a-lod0-jg":[[3,"main"],[2,"prejoint"],[1,"align"]],"fort-elec-belt-lod0-jg":[[5,"rayb_"],[4,"raya_"],[3,"main_"],[2,"prejoint"],[1,"align"]],"fort-elec-switch-lod0-jg":[[3,"main"],[2,"prejoint"],[1,"align"]],"fort-entry-gate-lod0-jg":[[5,"frontdoorR"],[4,"frontdoorL"],[3,"main_"],[2,"prejoint"],[1,"align"]],"fort-fence-a-lod0-jg":[[37,"ag"],[36,"af"],[35,"ae"],[34,"ad"],[33,"ac"],[32,"ab"],[31,"aa"],[30,"zz"],[13,"j"],[12,"i"],[11,"h"],[10,"g"],[9,"f"],[8,"e"],[7,"d"],[6,"c"],[5,"b"],[4,"a"],[3,"main"],[2,"prejoint"],[1,"align"],[14,"k"],[15,"l"],[16,"m"],[17,"n"],[18,"o"],[19,"p"],[20,"q"],[21,"r"],[22,"s"],[23,"t"],[24,"u"],[25,"v"],[26,"w"],[27,"x"],[28,"y"],[29,"z"]],"fort-fence-b-lod0-jg":[[57,"aq"],[56,"ap"],[55,"ao"],[54,"an"],[53,"am"],[52,"al"],[51,"ak"],[50,"aj"],[49,"ai"],[48,"ah"],[47,"ag"],[46,"af"],[45,"ae"],[44,"ad"],[43,"ac"],[42,"ab"],[41,"aa"],[40,"zz"],[39,"z"],[38,"y"],[37,"x"],[36,"w"],[35,"v"],[34,"u"],[33,"t"],[32,"s"],[31,"r"],[30,"q"],[13,"main"],[12,"bj"],[11,"bi"],[10,"bh"],[9,"bg"],[8,"bf"],[7,"be"],[6,"bd"],[5,"bc"],[4,"bb"],[3,"ba"],[2,"prejoint"],[1,"align"],[14,"a"],[15,"b"],[16,"c"],[17,"d"],[18,"e"],[19,"f"],[20,"g"],[21,"h"],[22,"i"],[23,"j"],[24,"k"],[25,"l"],[26,"m"],[27,"n"],[28,"o"],[29,"p"]],"fort-floor-spike-b-lod0-jg":[[13,"spikes10"],[12,"spikes9"],[11,"spikes8"],[10,"spikes7"],[9,"spikes6"],[8,"spikes5"],[7,"spikes4"],[6,"spikes3"],[5,"spikes2"],[4,"spikes1"],[3,"main"],[2,"prejoint"],[1,"align"]],"fort-floor-spike-c-lod0-jg":[[18,"spikes15"],[17,"spikes14"],[16,"spikes13"],[15,"spikes12"],[14,"spikes11"],[1,"align"],[2,"prejoint"],[3,"main"],[4,"spikes1"],[5,"spikes2"],[6,"spikes3"],[7,"spikes4"],[8,"spikes5"],[9,"spikes6"],[10,"spikes7"],[11,"spikes8"],[12,"spikes9"],[13,"spikes10"]],"fort-led-lod0-jg":[[3,"main"],[2,"prejoint"],[1,"align"]],"fort-lift-plat-lod0-jg":[[7,"platscale"],[6,"liftlights"],[5,"platrotate"],[4,"armrotate"],[3,"main"],[2,"prejoint"],[1,"align"]],"fort-missile-lod0-jg":[[3,"main"],[2,"prejoint"],[1,"align"]],"fort-missile-target-explode-lod0-jg":[[12,"explo9"],[11,"explo8"],[10,"explo7"],[9,"explo6"],[8,"explo5"],[7,"explo4"],[6,"explo3"],[5,"explo2"],[4,"explo1"],[3,"main"],[2,"prejoint"],[1,"align"]],"fort-missile-target-lod0-jg":[[3,"main"],[2,"prejoint"],[1,"align"]],"fort-plat-orbit-lod0-jg":[[8,"arms3"],[7,"arms2"],[6,"arms1"],[5,"arms"],[4,"orbitrot"],[3,"main"],[2,"prejoint"],[1,"align"]],"fort-plat-shuttle-lod0-jg":[[3,"main"],[2,"prejoint"],[1,"align"]],"fort-roboscreen-lod0-jg":[[4,"main"],[3,"src"],[2,"prejoint"],[1,"align"]],"fort-robotank-lod0-jg":[[20,"turretpos"],[19,"Lsmlwheel6"],[18,"Lsmlwheel5"],[17,"Lsmlwheel4"],[16,"Lsmlwheel3"],[15,"Lsmlwheel2"],[14,"Lsmlwheel1"],[1,"align"],[2,"prejoint"],[3,"main"],[4,"vibe"],[5,"rollerrot"],[6,"Rlrgwheel"],[7,"Rsmlwheel1"],[8,"Rsmlwheel2"],[9,"Rsmlwheel3"],[10,"Rsmlwheel4"],[11,"Rsmlwheel5"],[12,"Rsmlwheel6"],[13,"Llrgwheel1"]],"fort-robotank-sight-lod0-jg":[[9,"bullseye"],[8,"innerring"],[7,"middlering"],[6,"outerring"],[5,"sight"],[4,"shadow"],[3,"main"],[2,"prejoint"],[1,"align"]],"fort-robotank-top-lod0-jg":[[12,"camera_"],[11,"guntrack"],[10,"Lguntop"],[9,"Lgunbot"],[8,"Lgun"],[7,"Rguntop"],[6,"Rgunbot"],[5,"Rgun"],[4,"barrelrotate"],[3,"main"],[2,"prejoint"],[1,"align"]],"fort-trap-door-explode-lod0-jg":[[20,"explo17"],[19,"explo16"],[18,"explo15"],[17,"explo14"],[16,"explo13"],[15,"explo12"],[14,"explo11"],[1,"align"],[2,"prejoint"],[3,"main_"],[4,"explo1"],[5,"explo2"],[6,"explo3"],[7,"explo4"],[8,"explo5"],[9,"explo6"],[10,"explo7"],[11,"explo8"],[12,"explo9"],[13,"explo10"]],"fort-trap-door-lod0-jg":[[3,"main_"],[2,"prejoint"],[1,"align"]],"fort-turret-explode-lod0-jg":[[16,"piece_m"],[15,"piece_l"],[14,"piece_k"],[1,"align"],[2,"prejoint"],[3,"main"],[4,"piece_a"],[5,"piece_b"],[6,"piece_c"],[7,"piece_d"],[8,"piece_e"],[9,"piece_f"],[10,"piece_g"],[11,"piece_h"],[12,"piece_i"],[13,"piece_j"]],"fort-turret-lod0-jg":[[12,"lasersight_"],[11,"trackgun"],[10,"laser_shadow"],[9,"gunfire3"],[8,"gunfire2"],[7,"gunfire1"],[6,"recoiltrans"],[5,"secrotate"],[4,"headrotate"],[3,"main"],[2,"prejoint"],[1,"align"]],"gar-curtain-lod0-jg":[[51,"Lunder8a"],[50,"Lunder8"],[49,"Lring8"],[48,"Lunder7a"],[47,"Lunder7"],[46,"Lring7"],[45,"Lunder6a"],[44,"Lunder6"],[43,"Lring6"],[42,"Lunder5a"],[41,"Lunder5"],[40,"Lring5"],[39,"Lunder4a"],[38,"Lunder4"],[37,"Lring4"],[36,"Lunder3a"],[35,"Lunder3"],[34,"Lring3"],[33,"Lunder2a"],[32,"Lunder2"],[31,"Lring2"],[30,"Lunder1a"],[13,"Rring4"],[12,"Runder3a"],[11,"Runder3"],[10,"Rring3"],[9,"Runder2a"],[8,"Runder2"],[7,"Rring2"],[6,"Runder1a"],[5,"Runder1"],[4,"Rring1"],[3,"main"],[2,"prejoint"],[1,"align"],[14,"Runder4"],[15,"Runder4a"],[16,"Rring5"],[17,"Runder5"],[18,"Runder5a"],[19,"Rring6"],[20,"Runder6"],[21,"Runder6a"],[22,"Rring7"],[23,"Runder7"],[24,"Runder7a"],[25,"Rring8"],[26,"Runder8"],[27,"Runder8a"],[28,"Lring1"],[29,"Lunder1"]],"gar-door-lod0-jg":[[5,"bottomdoor"],[4,"topdoor"],[3,"main_"],[2,"prejoint"],[1,"align"]],"gar-trophy-ca-lod0-jg":[[3,"main"],[2,"prejoint"],[1,"align"]],"gar-trophy-cb-lod0-jg":[[3,"main"],[2,"prejoint"],[1,"align"]],"gar-trophy-cc-lod0-jg":[[3,"main"],[2,"prejoint"],[1,"align"]],"gar-weld-project-lod0-jg":[[3,"main"],[2,"prejoint"],[1,"align"]],"garage-bikeb-lod0-jg":[[3,"main"],[2,"prejoint"],[1,"align"]],"garage-bikec-lod0-jg":[[3,"main_"],[2,"prejoint"],[1,"align"]],"ginsu-lod0-jg":[[12,"Rmidwing"],[11,"Lmidwing"],[10,"Rwing"],[9,"Lwing"],[8,"drill"],[7,"head"],[6,"neckb"],[5,"necka"],[4,"chest"],[3,"main"],[2,"prejoint"],[1,"align"]],"grenadier-lod0-jg":[[48,"RthumbB"],[47,"RthumbA"],[46,"LthumbB"],[45,"jaw"],[44,"Rball"],[43,"RoutsideClaw"],[42,"Lball"],[41,"LoutsideClaw"],[40,"breastPlate"],[39,"LmiddleB"],[38,"LmiddleA"],[37,"LthumbA"],[36,"RinsideClaw"],[35,"LinsideClaw"],[34,"bomb"],[33,"slingC"],[32,"slingB"],[31,"slingA"],[30,"Rhand"],[13,"tailA"],[12,"Rankle"],[11,"Rhindcannon"],[10,"Rknee"],[9,"Rthigh"],[8,"Lankle"],[7,"Lhindcannon"],[6,"Lknee"],[5,"Lthigh"],[4,"hips"],[3,"main"],[2,"prejoint"],[1,"align"],[14,"tailB"],[15,"tailC"],[16,"tailD"],[17,"swivelMe"],[18,"chest"],[19,"neckA"],[20,"neckB"],[21,"neckC"],[22,"neckD"],[23,"neckE"],[24,"head"],[25,"Lshoulder"],[26,"Lelbow"],[27,"Lhand"],[28,"Rshoulder"],[29,"Relbow"]],"grunt-egg-a-lod0-jg":[[13,"egg5"],[12,"egg4"],[11,"egg3"],[10,"egg2"],[9,"egg9"],[8,"egg8"],[7,"egg7"],[6,"egg6"],[5,"egg11"],[4,"egg10"],[3,"main"],[2,"prejoint"],[1,"align"]],"grunt-egg-b-lod0-jg":[[14,"egg_b"],[1,"align"],[2,"prejoint"],[3,"main"],[4,"6"],[5,"7"],[6,"8"],[7,"9"],[8,"10"],[9,"egg_a"],[10,"2"],[11,"3"],[12,"4"],[13,"5"]],"grunt-egg-c-lod0-jg":[[7,"egg_c"],[6,"neck"],[5,"mid"],[4,"low"],[3,"main"],[2,"prejoint"],[1,"align"]],"grunt-egg-d-lod0-jg":[[10,"egg_d"],[9,"bend7"],[8,"bend6"],[7,"bend5"],[6,"bend4"],[5,"bend3"],[4,"bend2"],[3,"main"],[2,"prejoint"],[1,"align"]],"grunt-fma-lod0-jg":[[49,"RoutsideClaw"],[48,"RinsideClaw"],[47,"Rball"],[46,"Rankle"],[45,"Rhindcannon"],[44,"Rknee"],[43,"Rthigh"],[42,"tail6"],[41,"tail5"],[40,"tail4"],[39,"tail3"],[38,"tail2"],[37,"tail1"],[36,"LoutsideClaw"],[35,"LinsideClaw"],[34,"Lball"],[33,"Lankle"],[32,"Lhindcannon"],[31,"Lknee"],[30,"Lthigh"],[13,"LthumbB"],[12,"LthumbA"],[11,"Lhand"],[10,"Lfrontcannon"],[9,"Lelbow"],[8,"Lshoulder"],[7,"jaw"],[6,"head"],[5,"neck"],[4,"chest"],[3,"main"],[2,"prejoint"],[1,"align"],[14,"LmiddleA"],[15,"LmiddleB"],[16,"Lbracelet"],[17,"Rshoulder"],[18,"Relbow"],[19,"Rfrontcannon"],[20,"Rhand"],[21,"RthumbA"],[22,"RthumbB"],[23,"RmiddleA"],[24,"RmiddleB"],[25,"Rbracelet"],[26,"LshoulderGuard"],[27,"RshoulderGuard"],[28,"loSpine"],[29,"hips"]],"grunt-lod0-jg":[[50,"Rball"],[49,"Lball"],[48,"Rbracelet"],[47,"RmiddleB"],[46,"RmiddleA"],[45,"RthumbB"],[44,"RthumbA"],[43,"Lbracelet"],[42,"LmiddleB"],[41,"LmiddleA"],[40,"LthumbB"],[39,"LthumbA"],[38,"RshoulderGuard"],[37,"LshoulderGuard"],[36,"RoutsideClaw"],[35,"RinsideClaw"],[34,"Rankle"],[33,"Rhindcannon"],[32,"Rknee"],[31,"Rthigh"],[30,"tail6"],[13,"Rshoulder"],[12,"Lhand"],[11,"Lfrontcannon"],[10,"Lelbow"],[9,"Lshoulder"],[8,"jawEND"],[7,"jaw"],[6,"head"],[5,"neck"],[4,"chest"],[3,"main"],[2,"prejoint"],[1,"align"],[14,"Relbow"],[15,"Rfrontcannon"],[16,"Rhand"],[17,"loSpine"],[18,"hips"],[19,"Lthigh"],[20,"Lknee"],[21,"Lhindcannon"],[22,"Lankle"],[23,"LinsideClaw"],[24,"LoutsideClaw"],[25,"tail1"],[26,"tail2"],[27,"tail3"],[28,"tail4"],[29,"tail5"]],"gun-ammo-blue-lod0-jg":[[3,"main"],[2,"prejoint"],[1,"align"]],"gun-ammo-dark-lod0-jg":[[3,"main"],[2,"prejoint"],[1,"align"]],"gun-ammo-red-lod0-jg":[[3,"main"],[2,"prejoint"],[1,"align"]],"gun-ammo-yellow-lod0-jg":[[3,"main"],[2,"prejoint"],[1,"align"]],"gun-barrel-lod0-jg":[[4,"rot"],[3,"main"],[2,"prejoint"],[1,"align"]],"gun-buoy-lod0-jg":[[10,"gunmid_R"],[9,"gunbase_R"],[8,"gunmid_L"],[7,"gunbase_L"],[6,"gunrotate"],[5,"door_R"],[4,"door_L"],[3,"main"],[2,"prejoint"],[1,"align"]],"gun-cit-a-explode-lod0-jg":[[18,"cit_a14"],[17,"cit_a13"],[16,"cit_a12"],[15,"cit_a11"],[14,"cit_a10"],[1,"align"],[2,"prejoint"],[3,"main"],[4,"cit_a"],[5,"cit_a1"],[6,"cit_a2"],[7,"cit_a3"],[8,"cit_a4"],[9,"cit_a5"],[10,"cit_a6"],[11,"cit_a7"],[12,"cit_a8"],[13,"cit_a9"]],"gun-cit-a-lod0-jg":[[3,"main"],[2,"prejoint"],[1,"align"]],"gun-cit-b-explode-lod0-jg":[[18,"citb14"],[17,"citb13"],[16,"citb12"],[15,"citb11"],[14,"citb10"],[1,"align"],[2,"prejoint"],[3,"main"],[4,"citb"],[5,"citb1"],[6,"citb2"],[7,"citb3"],[8,"citb4"],[9,"citb5"],[10,"citb6"],[11,"citb7"],[12,"citb8"],[13,"citb9"]],"gun-cit-b-lod0-jg":[[3,"main"],[2,"prejoint"],[1,"align"]],"gun-cit-c-explode-lod0-jg":[[17,"citc13"],[16,"citc12"],[15,"citc11"],[14,"citc10"],[1,"align"],[2,"prejoint"],[3,"main"],[4,"citc"],[5,"citc1"],[6,"citc2"],[7,"citc3"],[8,"citc4"],[9,"citc5"],[10,"citc6"],[11,"citc7"],[12,"citc8"],[13,"citc9"]],"gun-cit-c-lod0-jg":[[3,"main"],[2,"prejoint"],[1,"align"]],"gun-cit-d-explode-lod0-jg":[[18,"cit_d14"],[17,"cit_d13"],[16,"cit_d12"],[15,"cit_d11"],[14,"cit_d10"],[1,"align"],[2,"prejoint"],[3,"main"],[4,"cit_d"],[5,"cit_d1"],[6,"cit_d2"],[7,"cit_d3"],[8,"cit_d4"],[9,"cit_d5"],[10,"cit_d6"],[11,"cit_d7"],[12,"cit_d8"],[13,"cit_d9"]],"gun-cit-d-lod0-jg":[[3,"main"],[2,"prejoint"],[1,"align"]],"gun-dummy-a-explode-lod0-jg":[[17,"bodypart14"],[16,"bodypart13"],[15,"bodypart12"],[14,"bodypart11"],[1,"align"],[2,"prejoint"],[3,"main"],[4,"bodypart1"],[5,"bodypart2"],[6,"bodypart3"],[7,"bodypart4"],[8,"bodypart5"],[9,"bodypart6"],[10,"bodypart7"],[11,"bodypart8"],[12,"bodypart9"],[13,"bodypart10"]],"gun-dummy-a-lod0-jg":[[3,"main"],[2,"prejoint"],[1,"align"]],"gun-dummy-b-explode-lod0-jg":[[15,"bodypart12"],[14,"bodypart11"],[1,"align"],[2,"prejoint"],[3,"main"],[4,"bodypart1"],[5,"bodypart2"],[6,"bodypart3"],[7,"bodypart4"],[8,"bodypart5"],[9,"bodypart6"],[10,"bodypart7"],[11,"bodypart8"],[12,"bodypart9"],[13,"bodypart10"]],"gun-dummy-b-lod0-jg":[[3,"main"],[2,"prejoint"],[1,"align"]],"gun-dummy-big-explode-lod0-jg":[[15,"bodypart12"],[14,"bodypart11"],[1,"align"],[2,"prejoint"],[3,"main"],[4,"bodypart1"],[5,"bodypart2"],[6,"bodypart3"],[7,"bodypart4"],[8,"bodypart5"],[9,"bodypart6"],[10,"bodypart7"],[11,"bodypart8"],[12,"bodypart9"],[13,"bodypart10"]],"gun-dummy-big-lod0-jg":[[3,"main"],[2,"prejoint"],[1,"align"]],"gun-dummy-c-explode-lod0-jg":[[16,"dummy_c12"],[15,"dummy_c11"],[14,"dummy_c10"],[1,"align"],[2,"prejoint"],[3,"main"],[4,"dummy_c"],[5,"dummy_c1"],[6,"dummy_c2"],[7,"dummy_c3"],[8,"dummy_c4"],[9,"dummy_c5"],[10,"dummy_c6"],[11,"dummy_c7"],[12,"dummy_c8"],[13,"dummy_c9"]],"gun-dummy-c-lod0-jg":[[3,"main"],[2,"prejoint"],[1,"align"]],"gun-dummy-gold-explode-lod0-jg":[[17,"bodypart14"],[16,"bodypart13"],[15,"bodypart12"],[14,"bodypart11"],[1,"align"],[2,"prejoint"],[3,"main"],[4,"bodypart1"],[5,"bodypart2"],[6,"bodypart3"],[7,"bodypart4"],[8,"bodypart5"],[9,"bodypart6"],[10,"bodypart7"],[11,"bodypart8"],[12,"bodypart9"],[13,"bodypart10"]],"gun-dummy-gold-lod0-jg":[[3,"main"],[2,"prejoint"],[1,"align"]],"gun-dummy-yellow-gun-explode-lod0-jg":[[13,"k"],[12,"j"],[11,"i"],[10,"h"],[9,"g"],[8,"f"],[7,"e"],[6,"d"],[5,"c"],[4,"b"],[3,"a"],[2,"prejoint"],[1,"align"]],"gun-dummy-yellow-gun-lod0-jg":[[3,"main"],[2,"prejoint"],[1,"align"]],"gun-lod0-jg":[[35,"magazineDark"],[34,"magazineYellow"],[33,"magazineBlue"],[32,"magazineRed"],[31,"peace"],[30,"pump"],[13,"muzzle"],[12,"barrelExtend"],[11,"barrelTip"],[10,"barrelCenter"],[9,"cylinders"],[8,"barrelPivot"],[7,"backCoverBar"],[6,"backHandle"],[5,"backBottomBar"],[4,"backPivot"],[3,"main"],[2,"prejoint"],[1,"align"],[14,"laser"],[15,"backTopBar"],[16,"backCover"],[17,"grip"],[18,"barrelMid"],[19,"grenadeTipBase"],[20,"grenadeTip"],[21,"barrelTopRight"],[22,"barrelTopLeft"],[23,"barrelBottom"],[24,"cylTopBot"],[25,"barrelBottomLeft"],[26,"barrelBottomRight"],[27,"shieldT"],[28,"shieldL"],[29,"shieldR"]],"gun-red-cone-lod0-jg":[[11,"srcEnd"],[10,"inDelayed"],[9,"srcMid"],[8,"srcIn"],[7,"destEnd"],[6,"destOutDelayed"],[5,"destOut"],[4,"destMid"],[3,"destIn"],[2,"prejoint"],[1,"align"]],"gun-upgrade-a-lod0-jg":[[3,"main"],[2,"prejoint"],[1,"align"]],"heart-mar-lod0-jg":[[7,"armD"],[6,"armC"],[5,"armB"],[4,"armA"],[3,"main"],[2,"prejoint"],[1,"align"]],"heart-of-mar-lod0-jg":[[3,"main"],[2,"prejoint"],[1,"align"]],"hellcat-lod0-jg":[[6,"turretA"],[5,"turret"],[4,"frontgun"],[3,"main"],[2,"prejoint"],[1,"align"]],"helldog-lod0-jg":[[6,"turretA"],[5,"turret"],[4,"frontgun"],[3,"main"],[2,"prejoint"],[1,"align"]],"hide-bike-lod0-jg":[[11,"rearbraker_"],[10,"rearbrakel_"],[9,"rider"],[8,"frontfinl_"],[7,"frontfinr_"],[6,"tailfinl_"],[5,"tailfinr_"],[4,"rudder_"],[3,"main_"],[2,"prejoint"],[1,"align"]],"hide-door-a-lod0-jg":[[3,"main"],[2,"prejoint"],[1,"align"]],"hide-door-b-lod0-jg":[[5,"bottom"],[4,"top"],[3,"main"],[2,"prejoint"],[1,"align"]],"hide-faucet-lod0-jg":[[3,"hide_faucet"],[2,"prejoint"],[1,"align"]],"hide-light-fog-lod0-jg":[[3,"boneless"],[2,"prejoint"],[1,"align"]],"hide-light-lod0-jg":[[12,"bottom"],[11,"seven"],[10,"six"],[9,"five"],[8,"four"],[7,"three"],[6,"two"],[5,"one"],[4,"top"],[3,"main"],[2,"prejoint"],[1,"align"]],"hip-bottle-b-lod0-jg":[[5,"base"],[4,"middle"],[3,"neck_"],[2,"prejoint"],[1,"align"]],"hip-bottle-c-lod0-jg":[[5,"base"],[4,"middle"],[3,"neck_"],[2,"prejoint"],[1,"align"]],"hip-door-a-lod0-jg":[[5,"Rdoor"],[4,"Ldoor"],[3,"main"],[2,"prejoint"],[1,"align"]],"hip-mirror-lod0-jg":[[3,"main"],[2,"prejoint"],[1,"align"]],"hip-mole-lod0-jg":[[4,"head"],[3,"main"],[2,"prejoint"],[1,"align"]],"hip-mug-lod0-jg":[[3,"mug"],[2,"prejoint"],[1,"align"]],"hip-trophy-a-lod0-jg":[[3,"hip_trophy_a"],[2,"prejoint"],[1,"align"]],"hip-trophy-c-lod0-jg":[[3,"hip_trophy_c"],[2,"prejoint"],[1,"align"]],"hip-trophy-d-lod0-jg":[[3,"hip_trophy_d"],[2,"prejoint"],[1,"align"]],"hip-trophy-f-lod0-jg":[[3,"hip_trophy_f"],[2,"prejoint"],[1,"align"]],"hip-trophy-g-lod0-jg":[[3,"hip_trophy_g"],[2,"prejoint"],[1,"align"]],"hip-trophy-i-lod0-jg":[[3,"hip_trophy_i"],[2,"prejoint"],[1,"align"]],"hip-trophy-j-lod0-jg":[[3,"hip_trophy_j"],[2,"prejoint"],[1,"align"]],"hip-trophy-m-lod0-jg":[[3,"hip_trophy_m"],[2,"prejoint"],[1,"align"]],"hip-trophy-n-lod0-jg":[[3,"hip_trophy_n"],[2,"prejoint"],[1,"align"]],"hip-whack-a-metal-lod0-jg":[[13,"points"],[12,"misses"],[11,"mole7"],[10,"mole6"],[9,"mole5"],[8,"mole4"],[7,"mole3"],[6,"mole2"],[5,"mole1"],[4,"mole"],[3,"main"],[2,"prejoint"],[1,"align"]],"homing-beacon-lod0-jg":[[4,"beacon"],[3,"main"],[2,"prejoint"],[1,"align"]],"hopper-lod0-jg":[[20,"Rball"],[19,"Lball"],[18,"Rankle"],[17,"Rknee"],[16,"Rthigh"],[15,"Lankle"],[14,"Lknee"],[1,"align"],[2,"prejoint"],[3,"main"],[4,"chest"],[5,"head"],[6,"Lshoulder"],[7,"Lelbow"],[8,"Lhand"],[9,"Rshoulder"],[10,"Relbow"],[11,"Rhand"],[12,"hips"],[13,"Lthigh"]],"hosehead-lod0-jg":[[26,"hose"],[25,"RshoulderPad"],[24,"LshoulderPad"],[23,"Rfoot"],[22,"Rknee"],[21,"Rthigh"],[20,"Lfoot"],[19,"Lknee"],[18,"Lthigh"],[17,"hips"],[16,"Relbow"],[15,"Rshoulder"],[14,"Lelbow"],[1,"align"],[2,"prejoint"],[3,"main"],[4,"spineA"],[5,"spineB"],[6,"chest"],[7,"neckA"],[8,"neckB"],[9,"head"],[10,"gunA"],[11,"gunB"],[12,"blast"],[13,"Lshoulder"]],"hovering-mine-lod0-jg":[[3,"main"],[2,"prejoint"],[1,"align"]],"hud-ring-lod0-jg":[[24,"bottom_right"],[23,"botframe"],[22,"botloader"],[21,"top_left"],[20,"topframe"],[19,"topLoader"],[18,"Screen"],[17,"spinner"],[16,"hudseg_f"],[15,"hudseg_a"],[14,"hudseg_j"],[1,"align"],[2,"prejoint"],[3,"main"],[4,"Wheel"],[5,"Lexpander"],[6,"hudseg_b"],[7,"hudseg_c"],[8,"hudseg_d"],[9,"hudseg_e"],[10,"Rexpander"],[11,"hudseg_g"],[12,"hudseg_h"],[13,"hudseg_i"]],"hud-ring-part-lod0-jg":[[3,"main"],[2,"prejoint"],[1,"align"]],"intro-flamer-lod0-jg":[[27,"tailGunTop"],[26,"RwingBot"],[25,"RwingTop"],[24,"LwingBot"],[23,"LwingTop"],[22,"RwingBase"],[21,"LwingBase"],[20,"jaw"],[19,"head"],[18,"neckB"],[17,"neckA"],[16,"Rhand"],[15,"Relbow"],[14,"Rshoulder"],[1,"align"],[2,"prejoint"],[3,"main"],[4,"tailA"],[5,"tailB"],[6,"tailC"],[7,"tailD"],[8,"tailE"],[9,"tailF"],[10,"tailGunBottom"],[11,"Lshoulder"],[12,"Lelbow"],[13,"Lhand"]],"jak-clothes-lod0-jg":[[8,"armor"],[7,"goggle"],[6,"strap"],[5,"clothesB"],[4,"clothesA"],[3,"main"],[2,"prejoint"],[1,"align"]],"jak-highres-lod0-jg":[[63,"pantsLthigh"],[62,"pantsRthigh"],[61,"packStrapTop"],[60,"rpinkB"],[29,"LbigToe"],[28,"Lball"],[27,"Lankle"],[26,"Lknee"],[25,"Lthigh"],[24,"hips"],[23,"gun"],[22,"LshoulderPad"],[21,"sk_rhand"],[20,"Rforarm"],[19,"Rarm"],[18,"Rshould"],[17,"sk_lhand"],[16,"Lforarm"],[15,"Larm"],[14,"Lshould"],[1,"align"],[2,"prejoint"],[3,"main"],[4,"upper_body"],[5,"chest"],[6,"neckA"],[7,"neckB"],[8,"MhairA"],[9,"MhairB"],[10,"Learbase"],[11,"Learmid"],[12,"Rearbase"],[13,"Rearmid"],[30,"Ltoes"],[31,"kneeLStrap"],[32,"Rthigh"],[33,"Rknee"],[34,"Rankle"],[35,"Rball"],[36,"RbigToe"],[37,"Rtoes"],[38,"kneeRStrap"],[39,"board"],[40,"horns"],[41,"lthumA"],[42,"lthumB"],[43,"lindA"],[44,"lindB"],[45,"lmidA"],[46,"lmidB"],[47,"lringA"],[48,"lringB"],[49,"lpinkA"],[50,"lpinkB"],[51,"rthumA"],[52,"rthumB"],[53,"rindA"],[54,"rindB"],[55,"rmidA"],[56,"rmidB"],[57,"rringA"],[58,"rringB"],[59,"rpinkA"]],"jak-highres-prison-lod0-jg":[[63,"pantsLthigh"],[62,"pantsRthigh"],[61,"packStrapTop"],[60,"rpinkB"],[29,"LbigToe"],[28,"Lball"],[27,"Lankle"],[26,"Lknee"],[25,"Lthigh"],[24,"hips"],[23,"gun"],[22,"LshoulderPad"],[21,"sk_rhand"],[20,"Rforarm"],[19,"Rarm"],[18,"Rshould"],[17,"sk_lhand"],[16,"Lforarm"],[15,"Larm"],[14,"Lshould"],[1,"align"],[2,"prejoint"],[3,"main"],[4,"upper_body"],[5,"chest"],[6,"neckA"],[7,"neckB"],[8,"MhairA"],[9,"MhairB"],[10,"Learbase"],[11,"Learmid"],[12,"Rearbase"],[13,"Rearmid"],[30,"Ltoes"],[31,"kneeLStrap"],[32,"Rthigh"],[33,"Rknee"],[34,"Rankle"],[35,"Rball"],[36,"RbigToe"],[37,"Rtoes"],[38,"kneeRStrap"],[39,"board"],[40,"horns"],[41,"lthumA"],[42,"lthumB"],[43,"lindA"],[44,"lindB"],[45,"lmidA"],[46,"lmidB"],[47,"lringA"],[48,"lringB"],[49,"lpinkA"],[50,"lpinkB"],[51,"rthumA"],[52,"rthumB"],[53,"rindA"],[54,"rindB"],[55,"rmidA"],[56,"rmidB"],[57,"rringA"],[58,"rringB"],[59,"rpinkA"]],"jak-logo-lod0-jg":[[31,"edgespark10"],[30,"edgespark9"],[13,"femaleG"],[12,"maleA"],[11,"maleB"],[10,"maleC"],[9,"maleD"],[8,"maleE"],[7,"maleF"],[6,"male_plug"],[5,"maleG"],[4,"powercordALL"],[3,"main"],[2,"prejoint"],[1,"align"],[14,"female_plug"],[15,"femaleF"],[16,"femaleE"],[17,"femaleD"],[18,"femaleC"],[19,"femaleB"],[20,"femaleA"],[21,"plugsparks"],[22,"edgespark1"],[23,"edgespark2"],[24,"edgespark3"],[25,"edgespark4"],[26,"edgespark5"],[27,"edgespark6"],[28,"edgespark7"],[29,"edgespark8"]],"jak-stand-lod0-jg":[[3,"main"],[2,"prejoint"],[1,"align"]],"jakb-lod0-jg":[[63,"pantsRthigh"],[62,"rpinkB"],[61,"rpinkA"],[60,"rringB"],[29,"Lankle"],[28,"Lknee"],[27,"Lthigh"],[26,"hips"],[25,"board"],[24,"gun"],[23,"LshoulderPad"],[22,"sk_rhand"],[21,"Rforarm"],[20,"Rarm"],[19,"Rshould"],[18,"sk_lhand"],[17,"Lforarm"],[16,"Larm"],[15,"Lshould"],[14,"Rearmid"],[1,"align"],[2,"prejoint"],[3,"main"],[4,"waist_prog"],[5,"upper_body"],[6,"chest"],[7,"neckA"],[8,"neckB"],[9,"MhairA"],[10,"MhairB"],[11,"Learbase"],[12,"Learmid"],[13,"Rearbase"],[30,"Lball"],[31,"LbigToe"],[32,"Ltoes"],[33,"kneeLStrap"],[34,"Rthigh"],[35,"Rknee"],[36,"Rankle"],[37,"Rball"],[38,"RbigToe"],[39,"Rtoes"],[40,"kneeRStrap"],[41,"extra"],[42,"horns"],[43,"lthumA"],[44,"lthumB"],[45,"lindA"],[46,"lindB"],[47,"lmidA"],[48,"lmidB"],[49,"lringA"],[50,"lringB"],[51,"lpinkA"],[52,"lpinkB"],[53,"rthumA"],[54,"rthumB"],[55,"rindA"],[56,"rindB"],[57,"rmidA"],[58,"rmidB"],[59,"rringA"]],"jakone-highres-lod0-jg":[[75,"extra"],[74,"belt"],[73,"shirtRthigh"],[72,"shirtLthigh"],[71,"ankleRStrap"],[70,"footRStrap"],[69,"Rtoes"],[68,"RbigToe"],[67,"Rball"],[66,"Rankle"],[65,"Rknee"],[64,"Rthigh"],[63,"ankleLStrap"],[62,"footLStrap"],[61,"Ltoes"],[60,"LbigToe"],[29,"handLStrapTopMid"],[28,"handLStrapTopTop"],[27,"lpinkB"],[26,"lpinkA"],[25,"lringB"],[24,"lringA"],[23,"lmidB"],[22,"lmidA"],[21,"lindB"],[20,"lindA"],[19,"lthumB"],[18,"lthumA"],[17,"sk_lhand"],[16,"Lforarm"],[15,"Larm"],[14,"Lshould"],[1,"align"],[2,"prejoint"],[3,"main"],[4,"upper_body"],[5,"chest"],[6,"neckA"],[7,"neckB"],[8,"MhairA"],[9,"MhairB"],[10,"Learbase"],[11,"Learmid"],[12,"Rearbase"],[13,"Rearmid"],[30,"handLStrapBotTop"],[31,"handLStrapBotMid"],[32,"Rshould"],[33,"Rarm"],[34,"Rforarm"],[35,"sk_rhand"],[36,"rthumA"],[37,"rthumB"],[38,"rindA"],[39,"rindB"],[40,"rmidA"],[41,"rmidB"],[42,"rringA"],[43,"rringB"],[44,"rpinkA"],[45,"rpinkB"],[46,"handRStrapTopTop"],[47,"handRStrapTopMid"],[48,"handRStrapBotTop"],[49,"handRStrapBotMid"],[50,"LshoulderPad"],[51,"collarL"],[52,"collarR"],[53,"packStrapTop"],[54,"packStrapMid"],[55,"hips"],[56,"Lthigh"],[57,"Lknee"],[58,"Lankle"],[59,"Lball"]],"jellyfish-lod0-jg":[[40,"mouthTube"],[39,"RheadGear"],[38,"LheadGear"],[37,"headTube"],[36,"head"],[35,"RrearTentacleE"],[34,"RrearTentacleD"],[33,"RrearTentacleC"],[32,"RrearTentacleB"],[31,"RrearTentacleA"],[30,"LrearTentacleE"],[13,"mainVeinD"],[12,"mainVeinC"],[11,"mainVeinB"],[10,"mainVeinA"],[9,"RrearFlap"],[8,"LrearFlap"],[7,"RmidFlap"],[6,"LmidFlap"],[5,"RFrontFlap"],[4,"LFrontFlap"],[3,"main"],[2,"prejoint"],[1,"align"],[14,"mainVeinE"],[15,"mainVeinF"],[16,"LfrontTentacleA"],[17,"LfrontTentacleB"],[18,"LfrontTentacleC"],[19,"LfrontTentacleD"],[20,"LfrontTentacleE"],[21,"RfrontTentacleA"],[22,"RfrontTentacleB"],[23,"RfrontTentacleC"],[24,"RfrontTentacleD"],[25,"RfrontTentacleE"],[26,"LrearTentacleA"],[27,"LrearTentacleB"],[28,"LrearTentacleC"],[29,"LrearTentacleD"]],"jinx-bomb-lod0-jg":[[3,"main"],[2,"prejoint"],[1,"align"]],"jinx-lod0-jg":[[38,"minibombR"],[37,"minibombL"],[36,"bombstrapR"],[35,"bombstrapL"],[34,"RthumbB"],[33,"RthumbA"],[32,"RmiddleB"],[31,"RmiddleA"],[30,"LthumbB"],[13,"Rhand"],[12,"Relbow"],[11,"Rshoulder"],[10,"Lhand"],[9,"Lelbow"],[8,"Lshoulder"],[7,"head"],[6,"neck"],[5,"chest"],[4,"swivelMe"],[3,"main"],[2,"prejoint"],[1,"align"],[14,"bomb"],[15,"hips"],[16,"Lthigh"],[17,"Lknee"],[18,"Lankle"],[19,"Lball"],[20,"Rthigh"],[21,"Rknee"],[22,"Rankle"],[23,"Rball"],[24,"gun"],[25,"eyes"],[26,"Larmpad"],[27,"LmiddleA"],[28,"LmiddleB"],[29,"LthumbA"]],"juicer-lod0-jg":[[51,"Rball"],[50,"RoutsideClaw"],[49,"RinsideClaw"],[48,"Lball"],[47,"LoutsideClaw"],[46,"LinsideClaw"],[45,"RmiddleB"],[44,"RthumbC"],[43,"RthumbB"],[42,"LmiddleB"],[41,"LthumbC"],[40,"LthumbB"],[39,"jaw"],[38,"Rshoulderguard"],[37,"Lshoulderguard"],[36,"Rbracelet"],[35,"Lbracelet"],[34,"head"],[33,"tailD"],[32,"tailC"],[31,"tailB"],[30,"tailA"],[13,"LmiddleA"],[12,"LthumbA"],[11,"Lhand"],[10,"Lelbow"],[9,"Lshoulder"],[8,"neckB"],[7,"neckA"],[6,"chest"],[5,"swivelMe"],[4,"track"],[3,"main"],[2,"prejoint"],[1,"align"],[14,"Rshoulder"],[15,"Relbow"],[16,"Rhand"],[17,"RthumbA"],[18,"RmiddleA"],[19,"gun"],[20,"tazer"],[21,"hips"],[22,"Lthigh"],[23,"Lknee"],[24,"Lhindcannon"],[25,"Lankle"],[26,"Rthigh"],[27,"Rknee"],[28,"Rhindcannon"],[29,"Rankle"]],"keira-highres-lod0-jg":[[95,"Ranklestrap"],[94,"RpantFlap"],[93,"rKneeFlap"],[92,"RtoeStrap"],[91,"Lanklestrap"],[90,"LpantFlap"],[89,"lKneeFlap"],[88,"LtoeStrap"],[87,"RpinkyC"],[86,"RpinkyB"],[85,"RpinkyA"],[84,"RringC"],[83,"RmiddleC"],[82,"RindexC"],[81,"RindexB"],[80,"RindexA"],[79,"RthumbC"],[78,"LpinkyC"],[77,"LpinkyB"],[76,"LpinkyA"],[75,"LringC"],[74,"LmiddleC"],[73,"LindexC"],[72,"LindexB"],[71,"LindexA"],[70,"LthumbC"],[69,"lEarb"],[68,"rEarb"],[67,"torch"],[66,"mask"],[65,"maskstrap"],[64,"rBotStrap2"],[63,"rBotStrap"],[62,"lBotStrap2"],[61,"lBotStrap"],[60,"belt"],[29,"LringB"],[28,"LringA"],[27,"LmiddleB"],[26,"LmiddleA"],[25,"LthumbB"],[24,"LthumbA"],[23,"Lhand"],[22,"Lelbow"],[21,"Lshoulder"],[20,"lEara"],[19,"Lmidhairb"],[18,"Lmidhaira"],[17,"Lbangc"],[16,"Lbangb"],[15,"Lbanga"],[14,"Rbangc"],[1,"align"],[2,"prejoint"],[3,"main"],[4,"chest"],[5,"neck"],[6,"head"],[7,"backHair1"],[8,"backHair2"],[9,"rEara"],[10,"Rmidhaira"],[11,"Rmidhairb"],[12,"Rbanga"],[13,"Rbangb"],[30,"lGlove"],[31,"lTopStrap"],[32,"lTopStrap2"],[33,"Rshoulder"],[34,"Relbow"],[35,"Rhand"],[36,"RthumbA"],[37,"RthumbB"],[38,"RmiddleA"],[39,"RmiddleB"],[40,"RringA"],[41,"RringB"],[42,"rGlove"],[43,"rTopStrap"],[44,"rTopStrap2"],[45,"rBoob"],[46,"lBoob"],[47,"gogglesBase"],[48,"gogglesMid"],[49,"gogglesRight"],[50,"gogglesLeft"],[51,"hips"],[52,"Lthigh"],[53,"Lknee"],[54,"Lankle"],[55,"Lball"],[56,"Rthigh"],[57,"Rknee"],[58,"Rankle"],[59,"Rball"]],"keira-lod0-jg":[[93,"rBotStrap2"],[92,"lBotStrap2"],[91,"rKneeFlap"],[90,"RfootFlaps"],[89,"RtoeStrap"],[88,"lKneeFlap"],[87,"LfootFlaps"],[86,"rBoob"],[85,"lBoob"],[84,"rTopStrap2"],[83,"rGlove"],[82,"RpinkyC"],[81,"RpinkyB"],[80,"RpinkyA"],[79,"RringC"],[78,"RringB"],[77,"RringA"],[76,"RmiddleC"],[75,"RindexC"],[74,"RindexB"],[73,"RindexA"],[72,"RthumbC"],[71,"lTopStrap2"],[70,"lGlove"],[69,"LpinkyC"],[68,"LpinkyB"],[67,"LpinkyA"],[66,"LringC"],[65,"LringB"],[64,"LringA"],[63,"LmiddleC"],[62,"LindexC"],[61,"LindexB"],[60,"LindexA"],[29,"torch"],[28,"Rball"],[27,"Rankle"],[26,"Rknee"],[25,"Rthigh"],[24,"LtoeStrap"],[23,"Lball"],[22,"Lankle"],[21,"Lknee"],[20,"Lthigh"],[19,"hips"],[18,"Rhand"],[17,"Relbow"],[16,"Rshoulder"],[15,"lTopStrap1"],[14,"Lhand"],[1,"align"],[2,"prejoint"],[3,"main"],[4,"chest"],[5,"neck"],[6,"head"],[7,"lEar1"],[8,"lEar2"],[9,"rEar1"],[10,"rEar2"],[11,"backHair1"],[12,"Lshoulder"],[13,"Lelbow"],[30,"torchTIP"],[31,"camera"],[32,"cameraB"],[33,"gogglesBase"],[34,"backHair2"],[35,"LthumbA"],[36,"LthumbB"],[37,"LmiddleA"],[38,"LmiddleB"],[39,"RthumbA"],[40,"RthumbB"],[41,"RmiddleA"],[42,"RmiddleB"],[43,"rTopStrap1"],[44,"gogglesMid"],[45,"gogglesRight"],[46,"gogglesLeft"],[47,"lBotStrap1"],[48,"rBotStrap1"],[49,"flipR1"],[50,"flipR2"],[51,"flipR3"],[52,"flipL1"],[53,"flipL2"],[54,"flipL3"],[55,"Lhair1"],[56,"Lhair2"],[57,"Rhair1"],[58,"Rhair2"],[59,"LthumbC"]],"kid-escort-lod0-jg":[[37,"RmiddleB"],[36,"RmiddleA"],[35,"RthumbB"],[34,"RthumbA"],[33,"LmiddleB"],[32,"LmiddleA"],[31,"LthumbB"],[30,"LthumbA"],[13,"hips"],[12,"Rhand"],[11,"Relbow"],[10,"Rshoulder"],[9,"Lhand"],[8,"Lelbow"],[7,"Lshoulder"],[6,"head"],[5,"neck"],[4,"chest"],[3,"main"],[2,"prejoint"],[1,"align"],[14,"Lthigh"],[15,"Lknee"],[16,"Lankle"],[17,"Lball"],[18,"Rthigh"],[19,"Rknee"],[20,"Rankle"],[21,"Rball"],[22,"eye_blink"],[23,"Hairmida"],[24,"Leara"],[25,"Reara"],[26,"Lhatstrapa"],[27,"Rhatstrapa"],[28,"Pimpcharma"],[29,"Pimpcharmb"]],"kid-highres-lod0-jg":[[64,"medallion"],[63,"Pimpcharmb"],[62,"Pimpcharma"],[61,"RpinkyC"],[60,"RpinkyB"],[29,"Rhatstrapb"],[28,"Rhatstrapa"],[27,"Lhatstrapb"],[26,"Lhatstrapa"],[25,"Rearb"],[24,"Reara"],[23,"Learb"],[22,"Leara"],[21,"Rball"],[20,"Rankle"],[19,"Rknee"],[18,"Rthigh"],[17,"Lball"],[16,"Lankle"],[15,"Lknee"],[14,"Lthigh"],[1,"align"],[2,"prejoint"],[3,"main"],[4,"chest"],[5,"neck"],[6,"head"],[7,"Lshoulder"],[8,"Lelbow"],[9,"Lhand"],[10,"Rshoulder"],[11,"Relbow"],[12,"Rhand"],[13,"hips"],[30,"Hairmida"],[31,"Hairmidb"],[32,"LthumbA"],[33,"LthumbB"],[34,"LthumbC"],[35,"LindexA"],[36,"LindexB"],[37,"LindexC"],[38,"LmiddleA"],[39,"LmiddleB"],[40,"LmiddleC"],[41,"LringA"],[42,"LringB"],[43,"LringC"],[44,"LpinkyA"],[45,"LpinkyB"],[46,"LpinkyC"],[47,"RthumbA"],[48,"RthumbB"],[49,"RthumbC"],[50,"RindexA"],[51,"RindexB"],[52,"RindexC"],[53,"RmiddleA"],[54,"RmiddleB"],[55,"RmiddleC"],[56,"RringA"],[57,"RringB"],[58,"RringC"],[59,"RpinkyA"]],"kid-lod0-jg":[[37,"RmiddleB"],[36,"RmiddleA"],[35,"RthumbB"],[34,"RthumbA"],[33,"LmiddleB"],[32,"LmiddleA"],[31,"LthumbB"],[30,"LthumbA"],[13,"hips"],[12,"Rhand"],[11,"Relbow"],[10,"Rshoulder"],[9,"Lhand"],[8,"Lelbow"],[7,"Lshoulder"],[6,"head"],[5,"neck"],[4,"chest"],[3,"main"],[2,"prejoint"],[1,"align"],[14,"Lthigh"],[15,"Lknee"],[16,"Lankle"],[17,"Lball"],[18,"Rthigh"],[19,"Rknee"],[20,"Rankle"],[21,"Rball"],[22,"eye_blink"],[23,"Hairmida"],[24,"Leara"],[25,"Reara"],[26,"Lhatstrapa"],[27,"Rhatstrapa"],[28,"Pimpcharma"],[29,"Pimpcharmb"]],"kid-medallion-lod0-jg":[[3,"main"],[2,"prejoint"],[1,"align"]],"kiosk-banner-lod0-jg":[[15,"flag12"],[14,"flag11"],[1,"align"],[2,"prejoint"],[3,"main"],[4,"flag1"],[5,"flag2"],[6,"flag3"],[7,"flag4"],[8,"flag5"],[9,"flag6"],[10,"flag7"],[11,"flag8"],[12,"flag9"],[13,"flag10"]],"kiosk-fish-sign-lod0-jg":[[3,"main"],[2,"prejoint"],[1,"align"]],"kor-break-lod0-jg":[[72,"bq"],[71,"bp"],[70,"bo"],[69,"bn"],[68,"bm"],[67,"bl"],[66,"bk"],[65,"bj"],[64,"bi"],[63,"bh"],[62,"bg"],[61,"bf"],[60,"be"],[29,"zz"],[28,"z"],[27,"y"],[26,"x"],[25,"w"],[24,"v"],[23,"u"],[22,"t"],[21,"s"],[20,"r"],[19,"q"],[18,"p"],[17,"o"],[16,"n"],[15,"m"],[14,"l"],[1,"align"],[2,"prejoint"],[3,"main"],[4,"b"],[5,"c"],[6,"d"],[7,"e"],[8,"f"],[9,"g"],[10,"h"],[11,"i"],[12,"j"],[13,"k"],[30,"aa"],[31,"ab"],[32,"ac"],[33,"ad"],[34,"ae"],[35,"af"],[36,"ag"],[37,"ah"],[38,"ai"],[39,"aj"],[40,"ak"],[41,"al"],[42,"am"],[43,"an"],[44,"ao"],[45,"ap"],[46,"aq"],[47,"ar"],[48,"as"],[49,"at"],[50,"au"],[51,"av"],[52,"aw"],[53,"ax"],[54,"ay"],[55,"az"],[56,"ba"],[57,"bb"],[58,"bc"],[59,"bd"]],"kor-break-ray-lod0-jg":[[5,"body_out"],[4,"body_in"],[3,"main"],[2,"prejoint"],[1,"align"]],"kor-highres-lod0-jg":[[86,"staff"],[85,"bagB"],[84,"bagA"],[83,"bktunicB"],[82,"RpinkyC"],[81,"RmiddleC"],[80,"RmiddleB"],[79,"RmiddleA"],[78,"RthumbB"],[77,"LpinkyC"],[76,"LmiddleC"],[75,"LmiddleB"],[74,"LmiddleA"],[73,"LthumbB"],[72,"Rbeardd"],[71,"Rbeardc"],[70,"Rbeardb"],[69,"Rbearda"],[68,"Lbeardd"],[67,"Lbeardc"],[66,"Lbeardb"],[65,"Lbearda"],[64,"rtburnB"],[63,"rtburnA"],[62,"ltburnB"],[61,"ltburnA"],[60,"hatgemB"],[29,"RindexA"],[28,"RthumbA"],[27,"Rhand"],[26,"Relbow"],[25,"Rshoulder"],[24,"LpinkyB"],[23,"LpinkyA"],[22,"LringC"],[21,"LringB"],[20,"LringA"],[19,"LindexC"],[18,"LindexB"],[17,"LindexA"],[16,"LthumbA"],[15,"Lhand"],[14,"Lelbow"],[1,"align"],[2,"prejoint"],[3,"main"],[4,"chest"],[5,"neck"],[6,"head"],[7,"hairA"],[8,"hairB"],[9,"leftearA"],[10,"leftearB"],[11,"rightearA"],[12,"rightearB"],[13,"Lshoulder"],[30,"RindexB"],[31,"RindexC"],[32,"RringA"],[33,"RringB"],[34,"RringC"],[35,"RpinkyA"],[36,"RpinkyB"],[37,"necklaceA"],[38,"necklaceB"],[39,"hoodA"],[40,"hoodB"],[41,"hoodC"],[42,"frtunicA"],[43,"frtunicB"],[44,"frtunicC"],[45,"bktunicA"],[46,"Lcuffa"],[47,"Lcuffb"],[48,"Rcuffa"],[49,"Rcuffb"],[50,"hips"],[51,"Lthigh"],[52,"Lknee"],[53,"Lankle"],[54,"Lball"],[55,"Rthigh"],[56,"Rknee"],[57,"Rankle"],[58,"Rball"],[59,"hatgemA"]],"kor-lod0-jg":[[54,"frtunicB"],[53,"frtunicA"],[52,"bktunicB"],[51,"bktunicA"],[50,"bagB"],[49,"bagA"],[48,"RmiddleB"],[47,"RmiddleA"],[46,"RthumbB"],[45,"RthumbA"],[44,"LmiddleB"],[43,"LmiddleA"],[42,"LthumbB"],[41,"LthumbA"],[40,"rtcuffB"],[39,"rtcuffA"],[38,"ltcuffB"],[37,"ltcuffA"],[36,"hoodB"],[35,"hoodA"],[34,"necklaceB"],[33,"necklaceA"],[32,"rtbeardA"],[31,"ltbeardA"],[30,"hatgemA"],[13,"hips"],[12,"Rhand"],[11,"Relbow"],[10,"Rshoulder"],[9,"Lhand"],[8,"Lelbow"],[7,"Lshoulder"],[6,"head"],[5,"neck"],[4,"chest"],[3,"main"],[2,"prejoint"],[1,"align"],[14,"Lthigh"],[15,"Lknee"],[16,"Lankle"],[17,"Lball"],[18,"Rthigh"],[19,"Rknee"],[20,"Rankle"],[21,"Rball"],[22,"staff"],[23,"eyeBlink"],[24,"hairA"],[25,"hairB"],[26,"leftearA"],[27,"rightearA"],[28,"ltburnA"],[29,"rtburnA"]],"kor-transform-lod0-jg":[[86,"staff"],[85,"bagB"],[84,"bagA"],[83,"bktunicB"],[82,"RpinkyC"],[81,"RmiddleC"],[80,"RmiddleB"],[79,"RmiddleA"],[78,"RthumbB"],[77,"LpinkyC"],[76,"LmiddleC"],[75,"LmiddleB"],[74,"LmiddleA"],[73,"LthumbB"],[72,"Rbeardd"],[71,"Rbeardc"],[70,"Rbeardb"],[69,"Rbearda"],[68,"Lbeardd"],[67,"Lbeardc"],[66,"Lbeardb"],[65,"Lbearda"],[64,"rtburnB"],[63,"rtburnA"],[62,"ltburnB"],[61,"ltburnA"],[60,"hatgemB"],[29,"RindexA"],[28,"RthumbA"],[27,"Rhand"],[26,"Relbow"],[25,"Rshoulder"],[24,"LpinkyB"],[23,"LpinkyA"],[22,"LringC"],[21,"LringB"],[20,"LringA"],[19,"LindexC"],[18,"LindexB"],[17,"LindexA"],[16,"LthumbA"],[15,"Lhand"],[14,"Lelbow"],[1,"align"],[2,"prejoint"],[3,"main"],[4,"chest"],[5,"neck"],[6,"head"],[7,"hairA"],[8,"hairB"],[9,"leftearA"],[10,"leftearB"],[11,"rightearA"],[12,"rightearB"],[13,"Lshoulder"],[30,"RindexB"],[31,"RindexC"],[32,"RringA"],[33,"RringB"],[34,"RringC"],[35,"RpinkyA"],[36,"RpinkyB"],[37,"necklaceA"],[38,"necklaceB"],[39,"hoodA"],[40,"hoodB"],[41,"hoodC"],[42,"frtunicA"],[43,"frtunicB"],[44,"frtunicC"],[45,"bktunicA"],[46,"Lcuffa"],[47,"Lcuffb"],[48,"Rcuffa"],[49,"Rcuffb"],[50,"hips"],[51,"Lthigh"],[52,"Lknee"],[53,"Lankle"],[54,"Lball"],[55,"Rthigh"],[56,"Rknee"],[57,"Rankle"],[58,"Rball"],[59,"hatgemA"]],"kor-transform-monsterparts-lod0-jg":[[96,"backplateC"],[95,"backplateB"],[94,"backplateA"],[93,"RtmclawC"],[92,"RtmclawB"],[91,"RtmclawA"],[90,"RrngclawC"],[89,"RrngclawB"],[88,"RrngclawA"],[87,"RinclawC"],[86,"RinclawB"],[85,"RinclawA"],[84,"LtmclawC"],[83,"LtmclawB"],[82,"LtmclawA"],[81,"LrngclawC"],[80,"LrngclawB"],[79,"LrngclawA"],[78,"LinclawC"],[77,"LinclawB"],[76,"LinclawA"],[75,"tailT"],[74,"tailS"],[73,"tailR"],[72,"tailQ"],[71,"tailP"],[70,"tailO"],[69,"tailN"],[68,"tailM"],[67,"tailL"],[66,"tailK"],[65,"tailJ"],[64,"tailI"],[63,"tailH"],[62,"tailG"],[61,"tailF"],[60,"tailE"],[29,"LmidB"],[28,"LmidA"],[27,"lmTOP"],[26,"LfrontC"],[25,"LfrontB"],[24,"LfrontA"],[23,"lfTOP"],[22,"rbackwingD"],[21,"rbackwingC"],[20,"rbackwingB"],[19,"rbackwingA"],[18,"rfrwingE"],[17,"rfrwingD"],[16,"rfrwingC"],[15,"rfrwingB"],[14,"rfrwingA"],[1,"align"],[2,"prejoint"],[3,"main"],[4,"chest"],[5,"lfrwingA"],[6,"lfrwingB"],[7,"lfrwingC"],[8,"lfrwingD"],[9,"lfrwingE"],[10,"lbackwingA"],[11,"lbackwingB"],[12,"lbackwingC"],[13,"lbackwingD"],[30,"LmidC"],[31,"lbTOP"],[32,"LbackA"],[33,"LbackB"],[34,"LbackC"],[35,"rfTOP"],[36,"RfrontA"],[37,"RfrontB"],[38,"RfrontC"],[39,"rmTOP"],[40,"RmidA"],[41,"RmidB"],[42,"RmidC"],[43,"rbTOP"],[44,"RbackA"],[45,"RbackB"],[46,"RbackC"],[47,"lshoulder"],[48,"lelbow"],[49,"lhand"],[50,"rshoulder"],[51,"relbow"],[52,"rhand"],[53,"hips"],[54,"backA"],[55,"backB"],[56,"tailA"],[57,"tailB"],[58,"tailC"],[59,"tailD"]],"krew-clone-lod0-jg":[[41,"fan"],[40,"Rknee"],[39,"Rthigh"],[38,"Lknee"],[37,"Lthigh"],[36,"hips"],[35,"leftuarmA"],[34,"rightuarmA"],[33,"lightEnd"],[32,"lightC"],[31,"lightB"],[30,"lightA"],[13,"LmiddleA"],[12,"LindexC"],[11,"LindexB"],[10,"LindexA"],[9,"LthumbA"],[8,"Lhand"],[7,"Lelbow"],[6,"Lshoulder"],[5,"neck"],[4,"chest"],[3,"main"],[2,"prejoint"],[1,"align"],[14,"LmiddleB"],[15,"LpinkyA"],[16,"LpinkyB"],[17,"LpinkyC"],[18,"Rshoulder"],[19,"Relbow"],[20,"Rhand"],[21,"RthumbA"],[22,"RindexA"],[23,"RindexB"],[24,"RindexC"],[25,"RmiddleA"],[26,"RmiddleB"],[27,"RpinkyA"],[28,"RpinkyB"],[29,"RpinkyC"]],"krew-highres-lod0-jg":[[80,"fan"],[79,"lefttitA"],[78,"lbackfatA"],[77,"righttitA"],[76,"lfrontfatA"],[75,"frfatA"],[74,"rfrontfatA"],[73,"rbackfatA"],[72,"rlowhoseA"],[71,"llowhoseA"],[70,"rtophoseA"],[69,"watchC"],[68,"watchB"],[67,"watchA"],[66,"ltophoseA"],[65,"Rball"],[64,"Rankle"],[63,"Rknee"],[62,"Rthigh"],[61,"Lball"],[60,"Lankle"],[29,"RpinkyC"],[28,"RpinkyB"],[27,"RpinkyA"],[26,"RmiddleB"],[25,"RmiddleA"],[24,"RindexC"],[23,"RindexB"],[22,"RindexA"],[21,"RthumbA"],[20,"Rhand"],[19,"Relbow"],[18,"Rshoulder"],[17,"LpinkyC"],[16,"LpinkyB"],[15,"LpinkyA"],[14,"LmiddleB"],[1,"align"],[2,"prejoint"],[3,"main"],[4,"chest"],[5,"neck"],[6,"Lshoulder"],[7,"Lelbow"],[8,"Lhand"],[9,"LthumbA"],[10,"LindexA"],[11,"LindexB"],[12,"LindexC"],[13,"LmiddleA"],[30,"lightA"],[31,"lightB"],[32,"lightC"],[33,"lightEnd"],[34,"rightuarmA"],[35,"leftuarmA"],[36,"head"],[37,"learA"],[38,"learB"],[39,"rearA"],[40,"rearB"],[41,"tongueMaster"],[42,"tongueBase"],[43,"tongueMidA"],[44,"tongueMidB"],[45,"LthumbB"],[46,"LthumbC"],[47,"LmiddleC"],[48,"LringA"],[49,"LringB"],[50,"LringC"],[51,"RthumbB"],[52,"RthumbC"],[53,"RmiddleC"],[54,"RringA"],[55,"RringB"],[56,"RringC"],[57,"hips"],[58,"Lthigh"],[59,"Lknee"]],"krew-lowres-lod0-jg":[[56,"lefttitA"],[55,"lbackfatA"],[54,"righttitA"],[53,"lfrontfatA"],[52,"rfrontfatA"],[51,"rbackfatA"],[50,"rlowhoseA"],[49,"llowhoseA"],[48,"rtophoseA"],[47,"ltophoseA"],[46,"Rball"],[45,"Rankle"],[44,"Lball"],[43,"Lankle"],[42,"head"],[41,"fan"],[40,"Rknee"],[39,"Rthigh"],[38,"Lknee"],[37,"Lthigh"],[36,"hips"],[35,"leftuarmA"],[34,"rightuarmA"],[33,"lightEnd"],[32,"lightC"],[31,"lightB"],[30,"lightA"],[13,"LmiddleA"],[12,"LindexC"],[11,"LindexB"],[10,"LindexA"],[9,"LthumbA"],[8,"Lhand"],[7,"Lelbow"],[6,"Lshoulder"],[5,"neck"],[4,"chest"],[3,"main"],[2,"prejoint"],[1,"align"],[14,"LmiddleB"],[15,"LpinkyA"],[16,"LpinkyB"],[17,"LpinkyC"],[18,"Rshoulder"],[19,"Relbow"],[20,"Rhand"],[21,"RthumbA"],[22,"RindexA"],[23,"RindexB"],[24,"RindexC"],[25,"RmiddleA"],[26,"RmiddleB"],[27,"RpinkyA"],[28,"RpinkyB"],[29,"RpinkyC"]],"krew-moneybag-lod0-jg":[[7,"bag4"],[6,"bag3"],[5,"bag2"],[4,"bag1"],[3,"main"],[2,"prejoint"],[1,"align"]],"krew-package-lod0-jg":[[3,"main"],[2,"prejoint"],[1,"align"]],"lgconveyor-lod0-jg":[[6,"g3"],[5,"g2"],[4,"g1"],[3,"main"],[2,"prejoint"],[1,"align"]],"life-seed-lod0-jg":[[4,"leaves"],[3,"main"],[2,"prejoint"],[1,"align"]],"liftcat-lod0-jg":[[3,"main_"],[2,"prejoint"],[1,"align"]],"lurker-pipe-lid-lod0-jg":[[3,"main"],[2,"prejoint"],[1,"align"]],"mammoth-lod0-jg":[[55,"RportalC"],[54,"RportalB"],[53,"RportalA"],[52,"LportalC"],[51,"LportalB"],[50,"LportalA"],[49,"RchestTubeMoss"],[48,"RchestTubeC"],[47,"RchestTubeB"],[46,"RchestTubeA"],[45,"LchestTubeMoss"],[44,"LchestTubeC"],[43,"LchestTubeB"],[42,"LchestTubeA"],[41,"Reye"],[40,"Leye"],[39,"RheadTubeMoss"],[38,"RheadTubeC"],[37,"RheadTubeB"],[36,"RheadTubeA"],[35,"LheadTubeMoss"],[34,"LheadTubeC"],[33,"LheadTubeB"],[32,"LheadTubeA"],[31,"tailC"],[30,"tailB"],[13,"RFheel"],[12,"Rulna"],[11,"Rhumerus"],[10,"LFheel"],[9,"Lulna"],[8,"Lhumerus"],[7,"head"],[6,"neck"],[5,"chest"],[4,"tilt"],[3,"main"],[2,"prejoint"],[1,"align"],[14,"chestPlates"],[15,"LportalA_cover"],[16,"LportalB_cover"],[17,"LportalC_cover"],[18,"RportalA_cover"],[19,"RportalB_cover"],[20,"RportalC_cover"],[21,"hipPlates"],[22,"hips"],[23,"Lfemur"],[24,"L_tibia"],[25,"LRheel"],[26,"Rfemur"],[27,"R_tibia"],[28,"RRheel"],[29,"tailA"]],"mantis-lod0-jg":[[28,"tailD"],[27,"tailC"],[26,"tailB"],[25,"tailA"],[24,"Rspike"],[23,"Rheel"],[22,"Rtibia"],[21,"Rfemur"],[20,"Rcoxa"],[19,"Lspike"],[18,"Lheel"],[17,"Ltibia"],[16,"Lfemur"],[15,"Lcoxa"],[14,"hips"],[1,"align"],[2,"prejoint"],[3,"main"],[4,"chest"],[5,"neckA"],[6,"neckB"],[7,"head"],[8,"Lshoulder"],[9,"Lelbow"],[10,"Lhand"],[11,"Rshoulder"],[12,"Relbow"],[13,"Rhand"]],"market-basket-a-lod0-jg":[[3,"main"],[2,"prejoint"],[1,"align"]],"market-basket-b-lod0-jg":[[3,"main"],[2,"prejoint"],[1,"align"]],"market-crate-lod0-jg":[[3,"main"],[2,"prejoint"],[1,"align"]],"market-sack-a-lod0-jg":[[3,"main"],[2,"prejoint"],[1,"align"]],"market-sack-b-lod0-jg":[[3,"main"],[2,"prejoint"],[1,"align"]],"mech-explode-lod0-jg":[[19,"q"],[18,"p"],[17,"o"],[16,"n"],[15,"m"],[14,"l"],[1,"align"],[2,"prejoint"],[3,"a"],[4,"b"],[5,"c"],[6,"d"],[7,"e"],[8,"f"],[9,"g"],[10,"h"],[11,"i"],[12,"j"],[13,"k"]],"mech-lod0-jg":[[46,"controlDirR"],[45,"controlYZR"],[44,"controlArmXR"],[43,"controlDirL"],[42,"controlYZL"],[41,"controlArmXL"],[40,"canopySlide"],[39,"canopyRotate"],[38,"jet1"],[37,"jet0"],[36,"heelR"],[35,"toeR"],[34,"ankleR"],[33,"lowLegR"],[32,"midLegR"],[31,"upLegR"],[30,"heelL"],[13,"aftFingerMidL"],[12,"aftFingerL"],[11,"foreFingerMidL"],[10,"foreFingerL"],[9,"thumbMidL"],[8,"thumbL"],[7,"wristL"],[6,"elbowL"],[5,"extensionL"],[4,"shoulderL"],[3,"main"],[2,"prejoint"],[1,"align"],[14,"shoulderR"],[15,"extensionR"],[16,"elbowR"],[17,"wristR"],[18,"thumbR"],[19,"thumbMidR"],[20,"aftFingerR"],[21,"aftFingerMidR"],[22,"foreFingerR"],[23,"foreFingerMidR"],[24,"hips"],[25,"upLegL"],[26,"midLegL"],[27,"lowLegL"],[28,"ankleL"],[29,"toeL"]],"mech-target-lod0-jg":[[6,"outer"],[5,"mid"],[4,"inner"],[3,"main"],[2,"prejoint"],[1,"align"]],"mecha-daxter-lod0-jg":[[5,"head"],[4,"neck"],[3,"main"],[2,"prejoint"],[1,"align"]],"metalkor-bomb-lod0-jg":[[93,"tail29"],[92,"mid29"],[91,"head29"],[90,"tail28"],[89,"mid28"],[88,"head28"],[87,"tail27"],[86,"mid27"],[85,"head27"],[84,"tail26"],[83,"mid26"],[82,"head26"],[81,"tail25"],[80,"mid25"],[79,"head25"],[78,"tail24"],[77,"mid24"],[76,"head24"],[75,"tail23"],[74,"mid23"],[73,"head23"],[72,"tail22"],[71,"mid22"],[70,"head22"],[69,"tail21"],[68,"mid21"],[67,"head21"],[66,"tail20"],[65,"mid20"],[64,"head20"],[63,"tail19"],[62,"mid19"],[61,"head19"],[60,"tail18"],[29,"mid8"],[28,"head8"],[27,"tail7"],[26,"mid7"],[25,"head7"],[24,"tail6"],[23,"mid6"],[22,"head6"],[21,"tail5"],[20,"mid5"],[19,"head5"],[18,"tail4"],[17,"mid4"],[16,"head4"],[15,"tail3"],[14,"mid3"],[1,"align"],[2,"prejoint"],[3,"center"],[4,"head0"],[5,"mid0"],[6,"tail0"],[7,"head1"],[8,"mid1"],[9,"tail1"],[10,"head2"],[11,"mid2"],[12,"tail2"],[13,"head3"],[30,"tail8"],[31,"head9"],[32,"mid9"],[33,"tail9"],[34,"head10"],[35,"mid10"],[36,"tail10"],[37,"head11"],[38,"mid11"],[39,"tail11"],[40,"head12"],[41,"mid12"],[42,"tail12"],[43,"head13"],[44,"mid13"],[45,"tail13"],[46,"head14"],[47,"mid14"],[48,"tail14"],[49,"head15"],[50,"mid15"],[51,"tail15"],[52,"head16"],[53,"mid16"],[54,"tail16"],[55,"head17"],[56,"mid17"],[57,"tail17"],[58,"head18"],[59,"mid18"]],"metalkor-chopped-lod0-jg":[[39,"Rboteye"],[38,"Rtopeye"],[37,"Lboteye"],[36,"Ltopeye"],[35,"tongueC"],[34,"tongueB"],[33,"tongueA"],[32,"LffeelerB"],[31,"LffeelerA"],[30,"LffeelerD"],[13,"LfrfeelA"],[12,"RfrfeelB"],[11,"RfrfeelA"],[10,"RsidefeelB"],[9,"RsidefeelA"],[8,"lowlip"],[7,"lowerjaw"],[6,"topjaw"],[5,"head"],[4,"neck"],[3,"main"],[2,"prejoint"],[1,"align"],[14,"LfrfeelB"],[15,"LsidefeelA"],[16,"LsidefeelB"],[17,"RffeelerG"],[18,"RffeelerH"],[19,"RffeelerE"],[20,"RffeelerF"],[21,"RffeelerC"],[22,"RffeelerD"],[23,"RffeelerA"],[24,"RffeelerB"],[25,"LffeelerG"],[26,"LffeelerH"],[27,"LffeelerE"],[28,"LffeelerF"],[29,"LffeelerC"]],"metalkor-distort-lod0-jg":[[9,"destF"],[8,"destE"],[7,"destD"],[6,"destC"],[5,"destB"],[4,"destA"],[3,"main"],[2,"prejoint"],[1,"align"]],"metalkor-egg-lod0-jg":[[12,"F"],[11,"E"],[10,"D"],[9,"C"],[8,"B"],[7,"A"],[6,"base"],[5,"top"],[4,"flitter"],[3,"main"],[2,"prejoint"],[1,"align"]],"metalkor-explode-lod0-jg":[[71,"goo1"],[70,"goo"],[69,"Rtbspin"],[68,"Rshotbase"],[67,"Ltbspin"],[66,"Lshotbase"],[65,"Lbbspin"],[64,"Lbbshotbase"],[63,"Rbbspin"],[62,"Rbbshotbase"],[61,"upper"],[60,"goo4"],[29,"LpinchB"],[28,"goo12"],[27,"Relbow"],[26,"Lelbow"],[25,"backB"],[24,"goo6"],[23,"Rnad"],[22,"goo5"],[21,"Lnad"],[20,"goo2"],[19,"LffeelerB"],[18,"LffeelerA"],[17,"LffeelerD"],[16,"LffeelerC"],[15,"LffeelerF"],[14,"LffeelerE"],[1,"align"],[2,"prejoint"],[3,"head"],[4,"RffeelerG"],[5,"RffeelerH"],[6,"RffeelerE"],[7,"RffeelerF"],[8,"RffeelerC"],[9,"RffeelerD"],[10,"RffeelerA"],[11,"RffeelerB"],[12,"LffeelerG"],[13,"LffeelerH"],[30,"RpinchB"],[31,"LmidB"],[32,"LfrontB"],[33,"LbackB"],[34,"RbackB"],[35,"RmidB"],[36,"RfrontB"],[37,"LmidC"],[38,"LfrontC"],[39,"LbackC"],[40,"RbackC"],[41,"RmidC"],[42,"RfrontC"],[43,"lbackwingC"],[44,"goo15"],[45,"lfrwingC"],[46,"goo13"],[47,"rfrwingC"],[48,"goo14"],[49,"rbackwingC"],[50,"goo16"],[51,"scale"],[52,"tailB"],[53,"goo8"],[54,"goo7"],[55,"tailD"],[56,"goo10"],[57,"goo9"],[58,"main"],[59,"goo3"]],"metalkor-fma-spinner-lod0-jg":[[12,"base"],[11,"H"],[10,"G"],[9,"F"],[8,"E"],[7,"D"],[6,"C"],[5,"B"],[4,"A"],[3,"target"],[2,"prejoint"],[1,"align"]],"metalkor-head-lod0-jg":[[40,"Rboteye"],[39,"Rtopeye"],[38,"Lboteye"],[37,"Ltopeye"],[36,"tongueC"],[35,"tongueB"],[34,"tongueA"],[33,"LffeelerB"],[32,"LffeelerA"],[31,"LffeelerD"],[30,"LffeelerC"],[13,"RfrfeelB"],[12,"RfrfeelA"],[11,"RsidefeelB"],[10,"RsidefeelA"],[9,"lowlip"],[8,"lowerjaw"],[7,"topjaw"],[6,"head"],[5,"neck"],[4,"chest"],[3,"main"],[2,"prejoint"],[1,"align"],[14,"LfrfeelA"],[15,"LfrfeelB"],[16,"LsidefeelA"],[17,"LsidefeelB"],[18,"RffeelerG"],[19,"RffeelerH"],[20,"RffeelerE"],[21,"RffeelerF"],[22,"RffeelerC"],[23,"RffeelerD"],[24,"RffeelerA"],[25,"RffeelerB"],[26,"LffeelerG"],[27,"LffeelerH"],[28,"LffeelerE"],[29,"LffeelerF"]],"metalkor-highres-legs-lod0-jg":[[34,"RbackD"],[33,"RbackC"],[32,"RbackB"],[31,"RbackA"],[30,"rbTOP"],[13,"LmidC"],[12,"LmidB"],[11,"LmidA"],[10,"lmTOP"],[9,"LfrontD"],[8,"LfrontC"],[7,"LfrontB"],[6,"LfrontA"],[5,"lfTOP"],[4,"hips"],[3,"main"],[2,"prejoint"],[1,"align"],[14,"LmidD"],[15,"lbTOP"],[16,"LbackA"],[17,"LbackB"],[18,"LbackC"],[19,"LbackD"],[20,"rfTOP"],[21,"RfrontA"],[22,"RfrontB"],[23,"RfrontC"],[24,"RfrontD"],[25,"rmTOP"],[26,"RmidA"],[27,"RmidB"],[28,"RmidC"],[29,"RmidD"]],"metalkor-highres-lod0-jg":[[82,"Rspinshot2"],[81,"Rbbspin"],[80,"Rbbshotbase"],[79,"Lspinshot2"],[78,"Lbbspin"],[77,"Lbbshotbase"],[76,"Rspinshot1"],[75,"Rtbspin"],[74,"Rshotbase"],[73,"Lspinshot1"],[72,"Ltbspin"],[71,"Lshotbase"],[70,"RrngclawC"],[69,"RrngclawB"],[68,"RrngclawA"],[67,"RinclawC"],[66,"RinclawB"],[65,"RinclawA"],[64,"RtmclawC"],[63,"RtmclawB"],[62,"RtmclawA"],[61,"LrngclawC"],[60,"LrngclawB"],[29,"LsidefeelB"],[28,"LsidefeelA"],[27,"LfrfeelB"],[26,"LfrfeelA"],[25,"RfrfeelB"],[24,"RfrfeelA"],[23,"RsidefeelB"],[22,"RsidefeelA"],[21,"lowlip"],[20,"lowerjaw"],[19,"topjaw"],[18,"RpinchC"],[17,"RpinchB"],[16,"RpinchA"],[15,"LpinchC"],[14,"LpinchB"],[1,"align"],[2,"prejoint"],[3,"main"],[4,"chest"],[5,"neck"],[6,"head"],[7,"Lshoulder"],[8,"Lelbow"],[9,"Lhand"],[10,"Rshoulder"],[11,"Relbow"],[12,"Rhand"],[13,"LpinchA"],[30,"RffeelerG"],[31,"RffeelerH"],[32,"RffeelerE"],[33,"RffeelerF"],[34,"RffeelerC"],[35,"RffeelerD"],[36,"RffeelerA"],[37,"RffeelerB"],[38,"LffeelerG"],[39,"LffeelerH"],[40,"LffeelerE"],[41,"LffeelerF"],[42,"LffeelerC"],[43,"LffeelerD"],[44,"LffeelerA"],[45,"LffeelerB"],[46,"tongueA"],[47,"tongueB"],[48,"tongueC"],[49,"Ltopeye"],[50,"Lboteye"],[51,"Rtopeye"],[52,"Rboteye"],[53,"LtmclawA"],[54,"LtmclawB"],[55,"LtmclawC"],[56,"LinclawA"],[57,"LinclawB"],[58,"LinclawC"],[59,"LrngclawA"]],"metalkor-highres-lowtorso-lod0-jg":[[41,"backplateC"],[40,"backplateB"],[39,"backplateA"],[38,"Rspinshot3"],[37,"RspincvrA"],[36,"RsphotbaseA1"],[35,"Lspinshot3"],[34,"LspincvrA"],[33,"LshotbaseA1"],[32,"Rspinshot4"],[31,"RspincvrB"],[30,"RshotbaseB1"],[13,"tailG"],[12,"tailF"],[11,"tailE"],[10,"tailD"],[9,"tailC"],[8,"tailB"],[7,"tailA"],[6,"backB"],[5,"backA"],[4,"chest"],[3,"main"],[2,"prejoint"],[1,"align"],[14,"tailH"],[15,"tailI"],[16,"tailJ"],[17,"tailK"],[18,"tailL"],[19,"tailM"],[20,"tailN"],[21,"tailO"],[22,"tailP"],[23,"tailQ"],[24,"tailR"],[25,"tailS"],[26,"tailT"],[27,"LshotbaseB1"],[28,"LspincvrB"],[29,"Lspinshot4"]],"metalkor-highres-wings-lod0-jg":[[20,"rbackwingD"],[19,"rbackwingC"],[18,"rbackwingB"],[17,"rbackwingA"],[16,"rfrwingE"],[15,"rfrwingD"],[14,"rfrwingC"],[1,"align"],[2,"prejoint"],[3,"lfrwingA"],[4,"lfrwingB"],[5,"lfrwingC"],[6,"lfrwingD"],[7,"lfrwingE"],[8,"lbackwingA"],[9,"lbackwingB"],[10,"lbackwingC"],[11,"lbackwingD"],[12,"rfrwingA"],[13,"rfrwingB"]],"metalkor-legs-lod0-jg":[[34,"RbackD"],[33,"RbackC"],[32,"RbackB"],[31,"RbackA"],[30,"rbTOP"],[13,"LmidC"],[12,"LmidB"],[11,"LmidA"],[10,"lmTOP"],[9,"LfrontD"],[8,"LfrontC"],[7,"LfrontB"],[6,"LfrontA"],[5,"lfTOP"],[4,"hips"],[3,"main"],[2,"prejoint"],[1,"align"],[14,"LmidD"],[15,"lbTOP"],[16,"LbackA"],[17,"LbackB"],[18,"LbackC"],[19,"LbackD"],[20,"rfTOP"],[21,"RfrontA"],[22,"RfrontB"],[23,"RfrontC"],[24,"RfrontD"],[25,"rmTOP"],[26,"RmidA"],[27,"RmidB"],[28,"RmidC"],[29,"RmidD"]],"metalkor-lod0-jg":[[88,"LrngclawC"],[87,"LrngclawB"],[86,"LrngclawA"],[85,"LinclawC"],[84,"LinclawB"],[83,"LinclawA"],[82,"LtmclawC"],[81,"LtmclawB"],[80,"LtmclawA"],[79,"RrngclawC"],[78,"RrngclawB"],[77,"RrngclawA"],[76,"RinclawC"],[75,"RinclawB"],[74,"RinclawA"],[73,"RtmclawC"],[72,"RtmclawB"],[71,"RtmclawA"],[70,"Rspinshot1"],[69,"Rtbspin"],[68,"Rshotbase"],[67,"Lspinshot1"],[66,"Ltbspin"],[65,"Lshotbase"],[64,"Lspinshot2"],[63,"Lbbspin"],[62,"Lbbshotbase"],[61,"Rspinshot2"],[60,"Rbbspin"],[29,"RffeelerE"],[28,"RffeelerH"],[27,"RffeelerG"],[26,"LsidefeelA"],[25,"LfrfeelA"],[24,"RfrfeelA"],[23,"RsidefeelA"],[22,"lowlip"],[21,"lowerjaw"],[20,"topjaw"],[19,"RpinchC"],[18,"RpinchB"],[17,"RpinchA"],[16,"LpinchC"],[15,"LpinchB"],[14,"LpinchA"],[1,"align"],[2,"prejoint"],[3,"main"],[4,"chest"],[5,"upper"],[6,"neck"],[7,"head"],[8,"Rshoulder"],[9,"Relbow"],[10,"Rhand"],[11,"Lshoulder"],[12,"Lelbow"],[13,"Lhand"],[30,"RffeelerF"],[31,"RffeelerC"],[32,"RffeelerD"],[33,"RffeelerA"],[34,"RffeelerB"],[35,"LffeelerG"],[36,"LffeelerH"],[37,"LffeelerE"],[38,"LffeelerF"],[39,"LffeelerC"],[40,"LffeelerD"],[41,"LffeelerA"],[42,"LffeelerB"],[43,"tongueA"],[44,"tongueB"],[45,"tongueC"],[46,"LFgemholdA"],[47,"LFgemholdB"],[48,"LMgemholdA"],[49,"LMgemholdB"],[50,"LBgemholdA"],[51,"LBgemholdB"],[52,"RFgemholdA"],[53,"RFgemholdB"],[54,"RMgemholdA"],[55,"RMgemholdB"],[56,"RBgemholdA"],[57,"RBgemholdB"],[58,"Necksack"],[59,"Rbbshotbase"]],"metalkor-lowtorso-lod0-jg":[[42,"backplateA"],[41,"Lspinshot3"],[40,"LspincvrA"],[39,"LshotbaseA1"],[38,"Rspinshot3"],[37,"RspincvrA"],[36,"RsphotbaseA1"],[35,"backplateC"],[34,"backplateB"],[33,"Rspinshot4"],[32,"RspincvrB"],[31,"RshotbaseB1"],[30,"Lspinshot4"],[13,"tailF"],[12,"tailE"],[11,"tailD"],[10,"tailC"],[9,"tailB"],[8,"tailA"],[7,"backB"],[6,"backA"],[5,"lower"],[4,"chest"],[3,"main"],[2,"prejoint"],[1,"align"],[14,"tailG"],[15,"tailH"],[16,"tailI"],[17,"tailJ"],[18,"tailK"],[19,"tailL"],[20,"tailM"],[21,"tailN"],[22,"tailO"],[23,"tailP"],[24,"tailQ"],[25,"tailR"],[26,"tailS"],[27,"tailT"],[28,"LshotbaseB1"],[29,"LspincvrB"]],"metalkor-rays-lod0-jg":[[34,"goo1"],[33,"goo"],[32,"upperRaysChest"],[31,"upperRaysSpinners"],[30,"upper"],[13,"lbackwingC"],[12,"goo12"],[11,"Relbow"],[10,"goo6"],[9,"RnadRays"],[8,"Rnad"],[7,"goo5"],[6,"LnadRays"],[5,"Lnad"],[4,"goo2"],[3,"head"],[2,"prejoint"],[1,"align"],[14,"goo15"],[15,"lfrwingC"],[16,"goo13"],[17,"rfrwingC"],[18,"goo14"],[19,"rbackwingC"],[20,"goo16"],[21,"tailB"],[22,"goo8"],[23,"goo7"],[24,"tailD"],[25,"goo10"],[26,"goo9"],[27,"main"],[28,"goo3"],[29,"goo4"]],"metalkor-spinner-lod0-jg":[[12,"base"],[11,"H"],[10,"G"],[9,"F"],[8,"E"],[7,"D"],[6,"C"],[5,"B"],[4,"A"],[3,"target"],[2,"prejoint"],[1,"align"]],"metalkor-torso-lod0-jg":[[70,"RpinchC"],[69,"RpinchB"],[68,"RpinchA"],[67,"LpinchC"],[66,"LpinchB"],[65,"LpinchA"],[64,"RrngclawC"],[63,"RrngclawB"],[62,"RrngclawA"],[61,"RinclawC"],[60,"RinclawB"],[29,"LffeelerF"],[28,"LffeelerE"],[27,"LffeelerH"],[26,"LffeelerG"],[25,"RffeelerB"],[24,"RffeelerA"],[23,"RffeelerD"],[22,"RffeelerC"],[21,"RffeelerF"],[20,"RffeelerE"],[19,"RffeelerH"],[18,"RffeelerG"],[17,"LsidefeelB"],[16,"LsidefeelA"],[15,"LfrfeelB"],[14,"LfrfeelA"],[1,"align"],[2,"prejoint"],[3,"main"],[4,"chest"],[5,"neck"],[6,"head"],[7,"topjaw"],[8,"lowerjaw"],[9,"lowlip"],[10,"RsidefeelA"],[11,"RsidefeelB"],[12,"RfrfeelA"],[13,"RfrfeelB"],[30,"LffeelerC"],[31,"LffeelerD"],[32,"LffeelerA"],[33,"LffeelerB"],[34,"tongueA"],[35,"tongueB"],[36,"tongueC"],[37,"Ltopeye"],[38,"Lboteye"],[39,"Rtopeye"],[40,"Rboteye"],[41,"Lshoulder"],[42,"Lelbow"],[43,"Lhand"],[44,"LtmclawA"],[45,"LtmclawB"],[46,"LtmclawC"],[47,"LinclawA"],[48,"LinclawB"],[49,"LinclawC"],[50,"LrngclawA"],[51,"LrngclawB"],[52,"LrngclawC"],[53,"Rshoulder"],[54,"Relbow"],[55,"Rhand"],[56,"RtmclawA"],[57,"RtmclawB"],[58,"RtmclawC"],[59,"RinclawA"]],"metalkor-wings-lod0-jg":[[20,"rbackwingD"],[19,"rbackwingC"],[18,"rbackwingB"],[17,"rbackwingA"],[16,"rfrwingE"],[15,"rfrwingD"],[14,"rfrwingC"],[1,"align"],[2,"prejoint"],[3,"lfrwingA"],[4,"lfrwingB"],[5,"lfrwingC"],[6,"lfrwingD"],[7,"lfrwingE"],[8,"lbackwingA"],[9,"lbackwingB"],[10,"lbackwingC"],[11,"lbackwingD"],[12,"rfrwingA"],[13,"rfrwingB"]],"metalmonk-lod0-jg":[[41,"Rball"],[40,"RoutsideClaw"],[39,"RinsideClaw"],[38,"Lball"],[37,"LoutsideClaw"],[36,"LinsideClaw"],[35,"RmiddleB"],[34,"RthumbB"],[33,"LmiddleB"],[32,"LthumbB"],[31,"jaw"],[30,"RmiddleA"],[13,"Rhand"],[12,"Relbow"],[11,"Rshoulder"],[10,"Lhand"],[9,"Lelbow"],[8,"Lshoulder"],[7,"head"],[6,"neckB"],[5,"neckA"],[4,"chest"],[3,"main"],[2,"prejoint"],[1,"align"],[14,"hips"],[15,"Lthigh"],[16,"Lknee"],[17,"Lhindcannon"],[18,"Lankle"],[19,"tailA"],[20,"tailB"],[21,"tailC"],[22,"tailD"],[23,"Rthigh"],[24,"Rknee"],[25,"Rhindcannon"],[26,"Rankle"],[27,"LthumbA"],[28,"LmiddleA"],[29,"RthumbA"]],"meteor-lod0-jg":[[3,"main"],[2,"prejoint"],[1,"align"]],"mincan-cogs-lod0-jg":[[13,"small_ground_cog"],[12,"big_front_cog"],[11,"mid_vertical_cog"],[10,"uppercliff_tall"],[9,"uppercliff_small"],[8,"second_L"],[7,"second_R"],[6,"big_horizontal_cog"],[5,"front_R"],[4,"front_L"],[3,"main"],[2,"prejoint"],[1,"align"]],"mincan-lens-lod0-jg":[[17,"shard"],[16,"tower"],[15,"beam_d"],[14,"d"],[1,"align"],[2,"prejoint"],[3,"main"],[4,"low_a"],[5,"a"],[6,"beam_a"],[7,"low_b"],[8,"b"],[9,"beam_b"],[10,"low_c"],[11,"c"],[12,"beam_c"],[13,"low_d"]],"mincan-lighthouse-lens-lod0-jg":[[9,"lens"],[8,"top"],[7,"e"],[6,"d"],[5,"c"],[4,"b"],[3,"a"],[2,"prejoint"],[1,"align"]],"mincan-lighthouse-lod0-jg":[[11,"e"],[10,"d"],[9,"center_d"],[8,"center_c"],[7,"center_b"],[6,"center_a"],[5,"c"],[4,"b"],[3,"a"],[2,"prejoint"],[1,"align"]],"minnow-lod0-jg":[[4,"mid"],[3,"main"],[2,"prejoint"],[1,"align"]],"monster-frog-lod0-jg":[[24,"reye"],[23,"leye"],[22,"jaw"],[21,"tail"],[20,"Rball"],[19,"Rankle"],[18,"Rknee"],[17,"Rthigh"],[16,"Lball"],[15,"Lankle"],[14,"Lknee"],[1,"align"],[2,"prejoint"],[3,"main"],[4,"chest"],[5,"head"],[6,"Lshoulder"],[7,"Lelbow"],[8,"Lhand"],[9,"Rshoulder"],[10,"Relbow"],[11,"Rhand"],[12,"hips"],[13,"Lthigh"]],"mtn-aval-rocks-1-lod0-jg":[[50,"ai"],[49,"ah"],[48,"ag"],[47,"af"],[46,"ae"],[45,"ad"],[44,"s"],[43,"q"],[42,"p"],[41,"am"],[40,"al"],[39,"ak"],[38,"aj"],[37,"ac"],[36,"ab"],[35,"aa"],[34,"o"],[33,"n"],[32,"m"],[31,"aq"],[30,"ap"],[13,"e"],[12,"aw"],[11,"av"],[10,"w"],[9,"v"],[8,"u"],[7,"t"],[6,"d"],[5,"c"],[4,"b"],[3,"a"],[2,"prejoint"],[1,"align"],[14,"f"],[15,"g"],[16,"h"],[17,"x"],[18,"y"],[19,"ar"],[20,"at"],[21,"au"],[22,"i"],[23,"j"],[24,"k"],[25,"l"],[26,"z"],[27,"zz"],[28,"an"],[29,"ao"]],"mtn-aval-rocks-shadow-lod0-jg":[[3,"boneless"],[2,"prejoint"],[1,"align"]],"mtn-button-lod0-jg":[[13,"scale8"],[12,"scale7"],[11,"scale6"],[10,"scale5"],[9,"scale4"],[8,"scale3"],[7,"scale2"],[6,"scale1"],[5,"door_rot"],[4,"button"],[3,"main"],[2,"prejoint"],[1,"align"]],"mtn-dice-button-lod0-jg":[[3,"main"],[2,"prejoint"],[1,"align"]],"mtn-dice-lod0-jg":[[9,"sidef"],[8,"sidee"],[7,"sided"],[6,"sidec"],[5,"sideb"],[4,"sidea"],[3,"main"],[2,"prejoint"],[1,"align"]],"mtn-gate-lod0-jg":[[5,"Rgate"],[4,"Lgate"],[3,"main"],[2,"prejoint"],[1,"align"]],"mtn-gear-device-collapse-lod0-jg":[[39,"aj"],[38,"ai"],[37,"ah"],[36,"ag"],[35,"af"],[34,"ae"],[33,"ad"],[32,"ac"],[31,"ab"],[30,"aa"],[13,"k"],[12,"j"],[11,"i"],[10,"h"],[9,"g"],[8,"f"],[7,"e"],[6,"d"],[5,"c"],[4,"b"],[3,"a"],[2,"prejoint"],[1,"align"],[14,"l"],[15,"m"],[16,"n"],[17,"o"],[18,"p"],[19,"q"],[20,"r"],[21,"s"],[22,"t"],[23,"u"],[24,"v"],[25,"w"],[26,"x"],[27,"y"],[28,"z"],[29,"zz"]],"mtn-gear-device-gear-lod0-jg":[[4,"gear_rotation"],[3,"main"],[2,"prejoint"],[1,"align"]],"mtn-gear-device-lod0-jg":[[32,"orbit2A"],[31,"orbit2"],[30,"orbit1A"],[13,"gem6"],[12,"lrg_orbit_smlring"],[11,"lrg_orbit_planet"],[10,"lrg_orbit_ring"],[9,"sml_ring_planet_orbit"],[8,"sml_ring_planet"],[7,"lrg_arm_orbits"],[6,"sml_arm_orbits"],[5,"halfmoon_orbits"],[4,"mainrotate"],[3,"main"],[2,"prejoint"],[1,"align"],[14,"gem5"],[15,"gem7"],[16,"gem8"],[17,"gem9"],[18,"gem10"],[19,"centertop"],[20,"centertop_left"],[21,"gem3"],[22,"gem4"],[23,"centertop_right"],[24,"gem1"],[25,"gem2"],[26,"med_gear"],[27,"sml_gear"],[28,"lrg_gear"],[29,"orbit1"]],"mtn-iris-door-lod0-jg":[[9,"door6"],[8,"door5"],[7,"door4"],[6,"door3"],[5,"door2"],[4,"door1"],[3,"main"],[2,"prejoint"],[1,"align"]],"mtn-lens-base-lod0-jg":[[12,"panel9"],[11,"panel8"],[10,"panel7"],[9,"panel6"],[8,"panel5"],[7,"panel4"],[6,"panel3"],[5,"panel2"],[4,"shutterscale"],[3,"main"],[2,"prejoint"],[1,"align"]],"mtn-lens-floor-lod0-jg":[[3,"main"],[2,"prejoint"],[1,"align"]],"mtn-lens-lod0-jg":[[3,"main"],[2,"prejoint"],[1,"align"]],"mtn-plat-buried-lod0-jg":[[3,"main"],[2,"prejoint"],[1,"align"]],"mtn-plat-buried-rocks-lod0-jg":[[88,"cp"],[87,"co"],[86,"cn"],[85,"cm"],[84,"cl"],[83,"ck"],[82,"cj"],[81,"ci"],[80,"ch"],[79,"cg"],[78,"cf"],[77,"ce"],[76,"cd"],[75,"cb"],[74,"ca"],[73,"bz"],[72,"by"],[71,"bx"],[70,"bw"],[69,"bv"],[68,"bu"],[67,"bt"],[66,"bs"],[65,"br"],[64,"bq"],[63,"bp"],[62,"bo"],[61,"bn"],[60,"bm"],[29,"zz"],[28,"z"],[27,"y"],[26,"x"],[25,"w"],[24,"v"],[23,"u"],[22,"t"],[21,"s"],[20,"r"],[19,"q"],[18,"p"],[17,"o"],[16,"n"],[15,"m"],[14,"l"],[1,"align"],[2,"prejoint"],[3,"main"],[4,"a"],[5,"b"],[6,"c"],[7,"e"],[8,"f"],[9,"g"],[10,"h"],[11,"i"],[12,"j"],[13,"k"],[30,"ab"],[31,"ac"],[32,"ad"],[33,"ae"],[34,"af"],[35,"ai"],[36,"aj"],[37,"ak"],[38,"an"],[39,"ao"],[40,"ap"],[41,"ar"],[42,"as"],[43,"at"],[44,"au"],[45,"av"],[46,"ax"],[47,"az"],[48,"ba"],[49,"bb"],[50,"bc"],[51,"bd"],[52,"be"],[53,"bf"],[54,"bg"],[55,"bh"],[56,"bi"],[57,"bj"],[58,"bk"],[59,"bl"]],"mtn-plat-eject-lod0-jg":[[3,"main"],[2,"prejoint"],[1,"align"]],"mtn-plat-elevator-lod0-jg":[[3,"main"],[2,"prejoint"],[1,"align"]],"mtn-plat-long-lod0-jg":[[3,"main"],[2,"prejoint"],[1,"align"]],"mtn-plat-return-lod0-jg":[[3,"main"],[2,"prejoint"],[1,"align"]],"mtn-plat-shoot-lod0-jg":[[3,"main"],[2,"prejoint"],[1,"align"]],"mtn-plat-updown-lod0-jg":[[3,"main"],[2,"prejoint"],[1,"align"]],"mtn-shard-lod0-jg":[[4,"handle"],[3,"main"],[2,"prejoint"],[1,"align"]],"mtn-step-plat-rocks-a-lod0-jg":[[17,"n"],[16,"m"],[15,"l"],[14,"k"],[1,"align"],[2,"prejoint"],[3,"main"],[4,"a"],[5,"b"],[6,"c"],[7,"d"],[8,"e"],[9,"f"],[10,"g"],[11,"h"],[12,"i"],[13,"j"]],"mtn-step-plat-rocks-b-lod0-jg":[[53,"aw"],[52,"av"],[51,"au"],[50,"at"],[49,"as"],[48,"ar"],[47,"aq"],[46,"ap"],[45,"ao"],[44,"an"],[43,"am"],[42,"al"],[41,"ak"],[40,"aj"],[39,"ai"],[38,"ah"],[37,"ag"],[36,"af"],[35,"ae"],[34,"ad"],[33,"ac"],[32,"ab"],[31,"aa"],[30,"zz"],[13,"j"],[12,"i"],[11,"h"],[10,"g"],[9,"f"],[8,"e"],[7,"d"],[6,"c"],[5,"b"],[4,"a"],[3,"main"],[2,"prejoint"],[1,"align"],[14,"k"],[15,"l"],[16,"m"],[17,"n"],[18,"o"],[19,"p"],[20,"q"],[21,"r"],[22,"s"],[23,"t"],[24,"u"],[25,"v"],[26,"w"],[27,"x"],[28,"y"],[29,"z"]],"mtn-step-plat-rocks-c-lod0-jg":[[53,"aw"],[52,"av"],[51,"au"],[50,"at"],[49,"as"],[48,"ar"],[47,"aq"],[46,"ap"],[45,"ao"],[44,"an"],[43,"am"],[42,"al"],[41,"ak"],[40,"aj"],[39,"ai"],[38,"ah"],[37,"ag"],[36,"af"],[35,"ae"],[34,"ad"],[33,"ac"],[32,"ab"],[31,"aa"],[30,"zz"],[13,"j"],[12,"i"],[11,"h"],[10,"g"],[9,"f"],[8,"e"],[7,"d"],[6,"c"],[5,"b"],[4,"a"],[3,"main"],[2,"prejoint"],[1,"align"],[14,"k"],[15,"l"],[16,"m"],[17,"n"],[18,"o"],[19,"p"],[20,"q"],[21,"r"],[22,"s"],[23,"t"],[24,"u"],[25,"v"],[26,"w"],[27,"x"],[28,"y"],[29,"z"]],"nest-break-precipice-lod0-jg":[[70,"bo"],[69,"bn"],[68,"bm"],[67,"bl"],[66,"bk"],[65,"bj"],[64,"bi"],[63,"bh"],[62,"bg"],[61,"bf"],[60,"be"],[29,"zz"],[28,"z"],[27,"y"],[26,"x"],[25,"w"],[24,"v"],[23,"u"],[22,"t"],[21,"s"],[20,"r"],[19,"q"],[18,"p"],[17,"o"],[16,"n"],[15,"m"],[14,"l"],[1,"align"],[2,"prejoint"],[3,"main"],[4,"b"],[5,"c"],[6,"d"],[7,"e"],[8,"f"],[9,"g"],[10,"h"],[11,"i"],[12,"j"],[13,"k"],[30,"aa"],[31,"ab"],[32,"ac"],[33,"ad"],[34,"ae"],[35,"af"],[36,"ag"],[37,"ah"],[38,"ai"],[39,"aj"],[40,"ak"],[41,"al"],[42,"am"],[43,"an"],[44,"ao"],[45,"ap"],[46,"aq"],[47,"ar"],[48,"as"],[49,"at"],[50,"au"],[51,"av"],[52,"aw"],[53,"ax"],[54,"ay"],[55,"az"],[56,"ba"],[57,"bb"],[58,"bc"],[59,"bd"]],"nest-break-rocks-break-a-lod0-jg":[[42,"cf"],[41,"ce"],[40,"cd"],[39,"cc"],[38,"cb"],[37,"ca"],[36,"bz"],[35,"by"],[34,"bx"],[33,"bw"],[32,"bv"],[31,"bu"],[30,"bt"],[13,"bc"],[12,"bb"],[11,"ba"],[10,"az"],[9,"ay"],[8,"ax"],[7,"aw"],[6,"av"],[5,"au"],[4,"at"],[3,"main"],[2,"prejoint"],[1,"align"],[14,"bd"],[15,"be"],[16,"bf"],[17,"bg"],[18,"bh"],[19,"bi"],[20,"bj"],[21,"bk"],[22,"bl"],[23,"bm"],[24,"bn"],[25,"bo"],[26,"bp"],[27,"bq"],[28,"br"],[29,"bs"]],"nest-break-rocks-break-b-lod0-jg":[[42,"dt"],[41,"ds"],[40,"dr"],[39,"dq"],[38,"dp"],[37,"do"],[36,"dn"],[35,"dm"],[34,"dl"],[33,"dk"],[32,"dj"],[31,"di"],[30,"dh"],[13,"cq"],[12,"cp"],[11,"co"],[10,"cn"],[9,"cm"],[8,"cl"],[7,"ck"],[6,"cj"],[5,"ci"],[4,"ch"],[3,"main"],[2,"prejoint"],[1,"align"],[14,"cr"],[15,"cs"],[16,"ct"],[17,"cu"],[18,"cv"],[19,"cw"],[20,"cx"],[21,"cy"],[22,"cz"],[23,"da"],[24,"db"],[25,"dc"],[26,"dd"],[27,"de"],[28,"df"],[29,"dg"]],"nest-break-rocks-break-lod0-jg":[[47,"ar"],[46,"aq"],[45,"ap"],[44,"ao"],[43,"an"],[42,"am"],[41,"al"],[40,"ak"],[39,"aj"],[38,"ai"],[37,"ah"],[36,"ag"],[35,"af"],[34,"ae"],[33,"ad"],[32,"ac"],[31,"ab"],[30,"aa"],[13,"k"],[12,"j"],[11,"i"],[10,"h"],[9,"g"],[8,"f"],[7,"e"],[6,"d"],[5,"c"],[4,"b"],[3,"main"],[2,"prejoint"],[1,"align"],[14,"l"],[15,"m"],[16,"n"],[17,"o"],[18,"p"],[19,"q"],[20,"r"],[21,"s"],[22,"t"],[23,"u"],[24,"v"],[25,"w"],[26,"x"],[27,"y"],[28,"z"],[29,"zz"]],"nest-gun-elevator-lod0-jg":[[4,"rail"],[3,"main"],[2,"prejoint"],[1,"align"]],"nest-gun-parts-lod0-jg":[[26,"hinge_c"],[25,"hinge_b"],[24,"hinge_a"],[23,"lgwing_c"],[22,"lgwing_b"],[21,"lgwing_a"],[20,"wing_c"],[19,"wing_b"],[18,"wing_a"],[17,"ring_j"],[16,"ring_i"],[15,"ring_h"],[14,"ring_g"],[1,"align"],[2,"prejoint"],[3,"main"],[4,"hood"],[5,"topsteam_1"],[6,"topsteam_2"],[7,"topsteam_3"],[8,"ring_a"],[9,"ring_b"],[10,"ring_c"],[11,"ring_d"],[12,"ring_e"],[13,"ring_f"]],"nest-unbroken-rocks-lod0-jg":[[3,"main"],[2,"prejoint"],[1,"align"]],"nestb-tail-bound-lod0-jg":[[3,"main"],[2,"prejoint"],[1,"align"]],"onin-brain-lod0-jg":[[3,"onin_brain"],[2,"prejoint"],[1,"align"]],"onin-highres-lod0-jg":[[85,"mat"],[84,"llegD"],[83,"llegC"],[82,"llegB"],[81,"llegA"],[80,"rlegD"],[79,"rlegC"],[78,"rlegB"],[77,"rlegA"],[76,"rbraceletA"],[75,"rbraceletB"],[74,"rbraceletC"],[73,"RringC"],[72,"RringB"],[71,"RringA"],[70,"RmiddleC"],[69,"RmiddleB"],[68,"RmiddleA"],[67,"RthumbC"],[66,"RthumbB"],[65,"lbraceletD"],[64,"lbraceletC"],[63,"lbraceletB"],[62,"LringC"],[61,"LringB"],[60,"LringA"],[29,"LpinkyC"],[28,"LpinkyB"],[27,"LpinkyA"],[26,"lfingereffect"],[25,"LindexC"],[24,"LindexB"],[23,"LindexA"],[22,"LthumbB"],[21,"LthumbA"],[20,"Lhand"],[19,"Lelbow"],[18,"Lshoulder"],[17,"necklaceB"],[16,"necklaceA"],[15,"scarfA"],[14,"hatA"],[1,"align"],[2,"prejoint"],[3,"main"],[4,"chest"],[5,"neck"],[6,"head"],[7,"hairA"],[8,"hairB"],[9,"rearA"],[10,"rearB"],[11,"learA"],[12,"learB"],[13,"learingA"],[30,"lhandflame"],[31,"lbraceletA"],[32,"Rshoulder"],[33,"Relbow"],[34,"Rhand"],[35,"RthumbA"],[36,"RindexA"],[37,"RindexB"],[38,"RindexC"],[39,"rfingereffect"],[40,"RpinkyA"],[41,"RpinkyB"],[42,"RpinkyC"],[43,"rhandflame"],[44,"rtitA"],[45,"ltitA"],[46,"hips"],[47,"rearingA"],[48,"rearingB"],[49,"rearingC"],[50,"learingB"],[51,"learingC"],[52,"learingD"],[53,"learingE"],[54,"mouthA"],[55,"mouthB"],[56,"LthumbC"],[57,"LmiddleA"],[58,"LmiddleB"],[59,"LmiddleC"]],"oracle-door-lod0-jg":[[5,"Rdoor"],[4,"Ldoor"],[3,"main"],[2,"prejoint"],[1,"align"]],"oracle-roof-banner-b-lod0-jg":[[8,"banner5"],[7,"banner4"],[6,"banner3"],[5,"banner2"],[4,"banner1"],[3,"main"],[2,"prejoint"],[1,"align"]],"oracle-roof-banner-lod0-jg":[[8,"banner5"],[7,"banner4"],[6,"banner3"],[5,"banner2"],[4,"banner1"],[3,"main"],[2,"prejoint"],[1,"align"]],"oracle-wall-banner-lod0-jg":[[7,"ban4"],[6,"ban3"],[5,"ban2"],[4,"ban1"],[3,"main"],[2,"prejoint"],[1,"align"]],"paddy-wagon-lod0-jg":[[5,"steering"],[4,"hatch"],[3,"main"],[2,"prejoint"],[1,"align"]],"pal-breakable-window-explode-lod0-jg":[[33,"ee"],[32,"dd"],[31,"cc"],[30,"bb"],[13,"k"],[12,"j"],[11,"i"],[10,"h"],[9,"g"],[8,"f"],[7,"e"],[6,"d"],[5,"c"],[4,"b"],[3,"a"],[2,"prejoint"],[1,"align"],[14,"l"],[15,"m"],[16,"n"],[17,"o"],[18,"p"],[19,"q"],[20,"r"],[21,"s"],[22,"t"],[23,"u"],[24,"v"],[25,"w"],[26,"x"],[27,"y"],[28,"z"],[29,"aa"]],"pal-breakable-window-lod0-jg":[[3,"main"],[2,"prejoint"],[1,"align"]],"pal-cable-nut-lod0-jg":[[3,"main"],[2,"prejoint"],[1,"align"]],"pal-electric-fan-lod0-jg":[[3,"main"],[2,"prejoint"],[1,"align"]],"pal-ent-door-lod0-jg":[[3,"main"],[2,"prejoint"],[1,"align"]],"pal-ent-glass-explode-lod0-jg":[[22,"t"],[21,"s"],[20,"r"],[19,"q"],[18,"p"],[17,"o"],[16,"n"],[15,"m"],[14,"l"],[1,"align"],[2,"prejoint"],[3,"a"],[4,"b"],[5,"c"],[6,"d"],[7,"e"],[8,"f"],[9,"g"],[10,"h"],[11,"i"],[12,"j"],[13,"k"]],"pal-ent-glass-lod0-jg":[[3,"main"],[2,"prejoint"],[1,"align"]],"pal-falling-plat-lod0-jg":[[4,"plat"],[3,"main"],[2,"prejoint"],[1,"align"]],"pal-flip-step-lod0-jg":[[3,"main"],[2,"prejoint"],[1,"align"]],"pal-grind-ring-center-explode-lod0-jg":[[13,"k"],[12,"j"],[11,"i"],[10,"h"],[9,"g"],[8,"f"],[7,"e"],[6,"d"],[5,"c"],[4,"b"],[3,"a"],[2,"prejoint"],[1,"align"]],"pal-grind-ring-center-lod0-jg":[[3,"main"],[2,"prejoint"],[1,"align"]],"pal-grind-ring-lod0-jg":[[3,"main"],[2,"prejoint"],[1,"align"]],"pal-gun-turret-explode-lod0-jg":[[20,"bodypiece"],[19,"topbodyR"],[18,"topbodyL"],[17,"bottomL"],[16,"bottomR"],[15,"topholeL1"],[14,"topholeL2"],[1,"align"],[2,"prejoint"],[3,"main"],[4,"base"],[5,"round"],[6,"neck"],[7,"muzzle"],[8,"topholeR1"],[9,"topholeR2"],[10,"backbottom"],[11,"lowerreardetail"],[12,"upperreardetail"],[13,"top"]],"pal-gun-turret-lod0-jg":[[14,"hole_7"],[1,"align"],[2,"prejoint"],[3,"main"],[4,"barrel"],[5,"gun"],[6,"track"],[7,"hole_0"],[8,"hole_1"],[9,"hole_2"],[10,"hole_3"],[11,"hole_4"],[12,"hole_5"],[13,"hole_6"]],"pal-lowrez-throne-lod0-jg":[[3,"main"],[2,"prejoint"],[1,"align"]],"pal-prong-explode-lod0-jg":[[12,"j"],[11,"i"],[10,"h"],[9,"g"],[8,"f"],[7,"e"],[6,"d"],[5,"c"],[4,"b"],[3,"a"],[2,"prejoint"],[1,"align"]],"pal-prong-lod0-jg":[[3,"main"],[2,"prejoint"],[1,"align"]],"pal-rot-gun-lod0-jg":[[7,"gun_b_top"],[6,"gun_b_bottom"],[5,"gun_a_bottom"],[4,"gun_a_top"],[3,"main"],[2,"prejoint"],[1,"align"]],"pal-throne-door-lod0-jg":[[5,"doorL"],[4,"doorR"],[3,"main"],[2,"prejoint"],[1,"align"]],"pal-windmill-lod0-jg":[[3,"main"],[2,"prejoint"],[1,"align"]],"palace-door-lod0-jg":[[5,"hinge"],[4,"logo"],[3,"door"],[2,"prejoint"],[1,"align"]],"palent-turret-explode-lod0-jg":[[20,"bodypiece"],[19,"topbodyR"],[18,"topbodyL"],[17,"bottomL"],[16,"bottomR"],[15,"topholeL1"],[14,"topholeL2"],[1,"align"],[2,"prejoint"],[3,"main"],[4,"base"],[5,"round"],[6,"neck"],[7,"muzzle"],[8,"topholeR1"],[9,"topholeR2"],[10,"backbottom"],[11,"lowerreardetail"],[12,"upperreardetail"],[13,"top"]],"palent-turret-lod0-jg":[[14,"hole_7"],[1,"align"],[2,"prejoint"],[3,"main"],[4,"barrel"],[5,"gun"],[6,"track"],[7,"hole_0"],[8,"hole_1"],[9,"hole_2"],[10,"hole_3"],[11,"hole_4"],[12,"hole_5"],[13,"hole_6"]],"palmpilot-lod0-jg":[[6,"button"],[5,"datascreen"],[4,"fliptop"],[3,"pda"],[2,"prejoint"],[1,"align"]],"particleman-lod0-jg":[[6,"particleC"],[5,"particleB"],[4,"particleA"],[3,"main"],[2,"prejoint"],[1,"align"]],"pecker-highres-lod0-jg":[[74,"RpinkyC"],[73,"RmiddleC"],[72,"RmiddleB"],[71,"RmiddleA"],[70,"LmiddleC"],[69,"LmiddleB"],[68,"LmiddleA"],[67,"feather2B"],[66,"feather2A"],[65,"feather1B"],[64,"feather1A"],[63,"snoutC"],[62,"tailN"],[61,"tailM"],[60,"tailL"],[29,"RthumbA"],[28,"Rhand"],[27,"Relbow"],[26,"Rshoulder"],[25,"LpinkyC"],[24,"LpinkyB"],[23,"LpinkyA"],[22,"LringC"],[21,"LringB"],[20,"LringA"],[19,"LindexC"],[18,"LindexB"],[17,"LindexA"],[16,"LthumbC"],[15,"LthumbB"],[14,"LthumbA"],[1,"align"],[2,"prejoint"],[3,"main"],[4,"chest"],[5,"neck"],[6,"head"],[7,"snoutA"],[8,"snoutB"],[9,"feather3A"],[10,"feather3B"],[11,"Lshoulder"],[12,"Lelbow"],[13,"Lhand"],[30,"RthumbB"],[31,"RthumbC"],[32,"RindexA"],[33,"RindexB"],[34,"RindexC"],[35,"RringA"],[36,"RringB"],[37,"RringC"],[38,"RpinkyA"],[39,"RpinkyB"],[40,"hips"],[41,"Lthigh"],[42,"Lknee"],[43,"Lankle"],[44,"Lball"],[45,"Rthigh"],[46,"Rknee"],[47,"Rankle"],[48,"Rball"],[49,"tailA"],[50,"tailB"],[51,"tailC"],[52,"tailD"],[53,"tailE"],[54,"tailF"],[55,"tailG"],[56,"tailH"],[57,"tailI"],[58,"tailJ"],[59,"tailK"]],"pegasus-lod0-jg":[[51,"chestplateC"],[50,"chestplateB"],[49,"neckplateB"],[48,"neckplateA"],[47,"tailGuard"],[46,"Routclaw"],[45,"Rinclaw"],[44,"Rmidclaw"],[43,"Linclaw"],[42,"Loutclaw"],[41,"Lmidclaw"],[40,"LfrontclawIN"],[39,"LfrontclawOUT"],[38,"Lfrontclawball"],[37,"chestplateA"],[36,"tailC"],[35,"tailB"],[34,"tailA"],[33,"Rankle"],[32,"rhindcannon"],[31,"Rknee"],[30,"Rthigh"],[13,"Rshoulder"],[12,"Lfrontclaw"],[11,"Lelbow"],[10,"Lshoulder"],[9,"head"],[8,"neckC"],[7,"neckB"],[6,"neckA"],[5,"chest"],[4,"spine"],[3,"main"],[2,"prejoint"],[1,"align"],[14,"Relbow"],[15,"Rfrontclaw"],[16,"Rfrontclawball"],[17,"RfrontclawOUT"],[18,"RfrontclawIN"],[19,"LwingA"],[20,"LwingB"],[21,"LwingC"],[22,"RwingA"],[23,"RwingB"],[24,"RwingC"],[25,"hip"],[26,"Lthigh"],[27,"Lknee"],[28,"lhindcannon"],[29,"Lankle"]],"piston-lod0-jg":[[3,"main_"],[2,"prejoint"],[1,"align"]],"pitspikes-lod0-jg":[[4,"rotatnode"],[3,"main"],[2,"prejoint"],[1,"align"]],"plasmitebomb-lod0-jg":[[3,"main"],[2,"prejoint"],[1,"align"]],"plasmitebox-lod0-jg":[[18,"toptranslate7"],[17,"plasmite7"],[16,"toptranslate6"],[15,"plasmite6"],[14,"toptranslate5"],[1,"align"],[2,"prejoint"],[3,"boxmain"],[4,"rotate"],[5,"plasmite1"],[6,"toptranslate1"],[7,"plasmite2"],[8,"toptranslate2"],[9,"plasmite3"],[10,"toptranslate3"],[11,"plasmite4"],[12,"toptranslate4"],[13,"plasmite5"]],"port-turret-lod0-jg":[[12,"camera"],[11,"Rtopguntip"],[10,"Rtopgun"],[9,"Rbottomguntip"],[8,"Rbottomgun"],[7,"Lbottomguntip"],[6,"Lbottomgun"],[5,"Ltopguntip"],[4,"Ltopgun"],[3,"main"],[2,"prejoint"],[1,"align"]],"pow-mov-plat-lod0-jg":[[7,"button"],[6,"lfthinge"],[5,"rghthinge"],[4,"mvplat"],[3,"main"],[2,"prejoint"],[1,"align"]],"precipice-a-lod0-jg":[[46,"aq"],[45,"ap"],[44,"ao"],[43,"an"],[42,"am"],[41,"al"],[40,"ak"],[39,"aj"],[38,"ai"],[37,"ah"],[36,"ag"],[35,"af"],[34,"ae"],[33,"ad"],[32,"ac"],[31,"ab"],[30,"aa"],[13,"k"],[12,"j"],[11,"i"],[10,"h"],[9,"g"],[8,"f"],[7,"e"],[6,"d"],[5,"c"],[4,"b"],[3,"a"],[2,"prejoint"],[1,"align"],[14,"l"],[15,"m"],[16,"n"],[17,"o"],[18,"p"],[19,"q"],[20,"r"],[21,"s"],[22,"t"],[23,"u"],[24,"v"],[25,"w"],[26,"x"],[27,"y"],[28,"z"],[29,""]],"precipice-b-lod0-jg":[[46,"ci"],[45,"ch"],[44,"cg"],[43,"cf"],[42,"ce"],[41,"cd"],[40,"cc"],[39,"cb"],[38,"ca"],[37,"bz"],[36,"by"],[35,"bx"],[34,"bw"],[33,"bv"],[32,"bu"],[31,"bt"],[30,"bs"],[13,"bb"],[12,"ba"],[11,"az"],[10,"ay"],[9,"ax"],[8,"aw"],[7,"av"],[6,"au"],[5,"at"],[4,"as"],[3,"ar"],[2,"prejoint"],[1,"align"],[14,"bc"],[15,"bd"],[16,"be"],[17,"bf"],[18,"bg"],[19,"bh"],[20,"bi"],[21,"bj"],[22,"bk"],[23,"bl"],[24,"bm"],[25,"bn"],[26,"bo"],[27,"bp"],[28,"bq"],[29,"br"]],"precursor-lod0-jg":[[45,"Rball"],[44,"Rankle"],[43,"Rknee"],[42,"Rthigh"],[41,"Lball"],[40,"Lankle"],[39,"Lknee"],[38,"Lthigh"],[37,"hips"],[36,"rmidforearm"],[35,"RringC"],[34,"RringB"],[33,"RringA"],[32,"RindexC"],[31,"RindexB"],[30,"RindexA"],[13,"Lhand"],[12,"Lelbow"],[11,"Lshoulder"],[10,"learmid"],[9,"learbase"],[8,"rearmid"],[7,"rearbase"],[6,"head"],[5,"neck"],[4,"chest"],[3,"main"],[2,"prejoint"],[1,"align"],[14,"LthumbA"],[15,"LthumbB"],[16,"LthumbC"],[17,"LindexA"],[18,"LindexB"],[19,"LindexC"],[20,"LringA"],[21,"LringB"],[22,"LringC"],[23,"lmidforearm"],[24,"Rshoulder"],[25,"Relbow"],[26,"Rhand"],[27,"RthumbA"],[28,"RthumbB"],[29,"RthumbC"]],"precursor-stone-lod0-jg":[[3,"main"],[2,"prejoint"],[1,"align"]],"predator-lod0-jg":[[32,"jaw"],[31,"Rball"],[30,"RoutsideClaw"],[13,"RshoulderPad"],[12,"leftblast"],[11,"Lelbow"],[10,"Lshoulder"],[9,"LshoulderPad"],[8,"head"],[7,"neck"],[6,"chest"],[5,"swivelMe"],[4,"trackgun"],[3,"main"],[2,"prejoint"],[1,"align"],[14,"Rshoulder"],[15,"Relbow"],[16,"right_blast"],[17,"hips"],[18,"Lthigh"],[19,"Lknee"],[20,"Lhindcannon"],[21,"Lankle"],[22,"Rthigh"],[23,"Rknee"],[24,"Rhindcannon"],[25,"Rankle"],[26,"LinsideClaw"],[27,"LoutsideClaw"],[28,"Lball"],[29,"RinsideClaw"]],"propa-lod0-jg":[[3,"main"],[2,"prejoint"],[1,"align"]],"prsn-cell-door-lod0-jg":[[3,"main"],[2,"prejoint"],[1,"align"]],"prsn-chair-shackle-lod0-jg":[[12,"lamp5"],[11,"lamp4"],[10,"lamp3"],[9,"lamp2"],[8,"lamp1"],[7,"shackled"],[6,"shacklec"],[5,"shackleb"],[4,"shacklea"],[3,"main"],[2,"prejoint"],[1,"align"]],"prsn-daxter-plat-lod0-jg":[[7,"platjet_4"],[6,"platjet_3"],[5,"platjet_2"],[4,"platjet_1"],[3,"main"],[2,"prejoint"],[1,"align"]],"prsn-hang-cell-lod0-jg":[[3,"main"],[2,"prejoint"],[1,"align"]],"prsn-torture-lod0-jg":[[83,"machlight_6"],[82,"machlight_5"],[81,"machlight_4"],[80,"machlight_3"],[79,"machlight_2"],[78,"machlight_1"],[77,"L_hand_tweezers_lower"],[76,"L_hand_tweezers_upper"],[75,"L_hand_tweezers"],[74,"L_hand_scalpel_END"],[73,"L_hand_scalpel"],[72,"L_hand_knife"],[71,"L_hand_needle_END"],[70,"L_hand_needle"],[69,"L_hand_palm_L"],[68,"L_hand_wrist_L"],[67,"L_hand_rotate_wristL1"],[66,"L_hand_dblneedle"],[65,"L_hand_shortscalpel"],[64,"L_hand_saw_END"],[63,"L_hand_saw"],[62,"L_hand_shorttweezers_bottom"],[61,"L_hand_shorttweezers_top"],[60,"L_hand_shorttweezers"],[29,"R_hand_wristL"],[28,"R_hand_rotate_wristL"],[27,"R_hand_extender_main_END"],[26,"R_hand_extender_main"],[25,"R_arm_elbow"],[24,"R_shoulder"],[23,"C_arm_rod_END"],[22,"C_arm_rod_scale"],[21,"C_arm1_finger4b"],[20,"C_arm_finger4a"],[19,"C_arm1_finger3b"],[18,"C_arm_finger3a"],[17,"C_arm1_finger2b"],[16,"C_arm_finger2a"],[15,"C_arm1_finger1b"],[14,"C_arm_finger1a"],[1,"align"],[2,"prejoint"],[3,"main"],[4,"mainbody_needle1"],[5,"needleshock_"],[6,"mainbody_needle3"],[7,"mainbody_needle2"],[8,"machine_tier1"],[9,"machine_tier2"],[10,"C_arm_shoulder"],[11,"C_arm_elbow"],[12,"C_arm_movrot_claw"],[13,"C_arm_movrot_claw_END"],[30,"R_hand_palmL"],[31,"R_hand_buzsaw"],[32,"R_hand_buzsaw_END"],[33,"R_hand_shorttweezers"],[34,"R_hand_shorttweezers_top"],[35,"R_hand_shorttweezers_bottom"],[36,"R_hand_saw"],[37,"R_hand_saw_END"],[38,"R_hand_shortscalpel"],[39,"R_hand_dblneedle"],[40,"R_hand_rotate_wristR"],[41,"R_hand_wristR"],[42,"R_hand_palmR"],[43,"R_hand_needle"],[44,"R_hand_needle_END"],[45,"R_hand_knife"],[46,"R_hand_scalpel"],[47,"R_hand_scalpel_END"],[48,"R_hand_tweezers"],[49,"R_hand_tweezers_upper"],[50,"R_hand_tweezers_lower"],[51,"L_shoulder"],[52,"L_arm_elbow"],[53,"L_hand_extender_main"],[54,"L_hand_extender_main_END"],[55,"L_hand_rotate_wristL"],[56,"L_hand_wristL"],[57,"L_hand_palmL"],[58,"L_hand_buzsaw"],[59,"L_hand_buzsaw_END"]],"prsn-vent-fan-lod0-jg":[[3,"main"],[2,"prejoint"],[1,"align"]],"pushblock-lod0-jg":[[3,"top"],[2,"prejoint"],[1,"align"]],"race-bike-a-lod0-jg":[[6,"frontmid"],[5,"forks"],[4,"tailfin"],[3,"main"],[2,"prejoint"],[1,"align"]],"race-bike-b-lod0-jg":[[7,"tailfin_R"],[6,"tailfin_L"],[5,"frontmid"],[4,"forks"],[3,"main"],[2,"prejoint"],[1,"align"]],"race-bike-c-lod0-jg":[[7,"tailfin_R"],[6,"tailfin_L"],[5,"frontmid"],[4,"forks"],[3,"main"],[2,"prejoint"],[1,"align"]],"race-start-light-banner-lod0-jg":[[6,"banner_d"],[5,"banner_c"],[4,"banner_b"],[3,"banner_a"],[2,"prejoint"],[1,"align"]],"race-start-light-lod0-jg":[[10,"greenlite"],[9,"lite_c"],[8,"lite_c_shaft"],[7,"lite_b"],[6,"lite_b_shaft"],[5,"lite_a"],[4,"lite_a_shaft"],[3,"main"],[2,"prejoint"],[1,"align"]],"rapid-gunner-lod0-jg":[[42,"RoutsideClaw"],[41,"RinsideClaw"],[40,"Rball"],[39,"LoutsideClaw"],[38,"LinsideClaw"],[37,"Lball"],[36,"RmiddleB"],[35,"RthumbB"],[34,"LmiddleB"],[33,"LthumbB"],[32,"RmiddleA"],[31,"RthumbA"],[30,"LmiddleA"],[13,"Relbow"],[12,"Rshoulder"],[11,"Lhand"],[10,"Lelbow"],[9,"Lshoulder"],[8,"head"],[7,"neck"],[6,"chest"],[5,"swivelMe"],[4,"trackgun"],[3,"main"],[2,"prejoint"],[1,"align"],[14,"Rhand"],[15,"LshoulderPad"],[16,"RshoulderPad"],[17,"gun"],[18,"blast"],[19,"hips"],[20,"Lthigh"],[21,"Lknee"],[22,"Lhindcannon"],[23,"Lankle"],[24,"Rthigh"],[25,"Rknee"],[26,"Rhindcannon"],[27,"Rankle"],[28,"jaw"],[29,"LthumbA"]],"rhino-lod0-jg":[[33,"BackShieldB"],[32,"BackShieldC"],[31,"BackShieldD"],[30,"Rhindball"],[13,"RfrontAnkle"],[12,"RfrontCannon"],[11,"RfrontThigh"],[10,"LshoulderGuard"],[9,"LfrontAnkle"],[8,"LfrontCannon"],[7,"LfrontThigh"],[6,"head"],[5,"neck"],[4,"chest"],[3,"main"],[2,"prejoint"],[1,"align"],[14,"RshoulderGuard"],[15,"loSpine"],[16,"hips"],[17,"LhindThigh"],[18,"LhindKnee"],[19,"LhindAnkle"],[20,"tailA"],[21,"tailB"],[22,"RhindThigh"],[23,"RhindKnee"],[24,"RhindAnkle"],[25,"jaw"],[26,"LfrontBall"],[27,"RfrontBall"],[28,"BackShieldA"],[29,"Lhindball"]],"rhino-wall-1-lod0-jg":[[49,"at"],[48,"as"],[47,"ar"],[46,"aq"],[45,"ap"],[44,"ao"],[43,"an"],[42,"am"],[41,"al"],[40,"ak"],[39,"aj"],[38,"ai"],[37,"ah"],[36,"ag"],[35,"af"],[34,"ae"],[33,"ad"],[32,"ac"],[31,"ab"],[30,"aa"],[13,"k"],[12,"j"],[11,"i"],[10,"h"],[9,"g"],[8,"f"],[7,"e"],[6,"d"],[5,"c"],[4,"b"],[3,"a"],[2,"prejoint"],[1,"align"],[14,"l"],[15,"m"],[16,"n"],[17,"o"],[18,"p"],[19,"q"],[20,"r"],[21,"s"],[22,"t"],[23,"u"],[24,"v"],[25,"w"],[26,"x"],[27,"y"],[28,"z"],[29,""]],"rhino-wall-2-lod0-jg":[[58,"bc"],[57,"bb"],[56,"ba"],[55,"az"],[54,"ay"],[53,"ax"],[52,"aw"],[51,"av"],[50,"au"],[49,"at"],[48,"as"],[47,"ar"],[46,"aq"],[45,"ap"],[44,"ao"],[43,"an"],[42,"am"],[41,"al"],[40,"ak"],[39,"aj"],[38,"ai"],[37,"ah"],[36,"ag"],[35,"af"],[34,"ae"],[33,"ad"],[32,"ac"],[31,"ab"],[30,"aa"],[13,"k"],[12,"j"],[11,"i"],[10,"h"],[9,"g"],[8,"f"],[7,"e"],[6,"d"],[5,"c"],[4,"b"],[3,"a"],[2,"prejoint"],[1,"align"],[14,"l"],[15,"m"],[16,"n"],[17,"o"],[18,"p"],[19,"q"],[20,"r"],[21,"s"],[22,"t"],[23,"u"],[24,"v"],[25,"w"],[26,"x"],[27,"y"],[28,"z"],[29,"zz"]],"rift-break-ring-lod0-jg":[[45,"ao"],[44,"an"],[43,"am"],[42,"al"],[41,"ak"],[40,"aj"],[39,"ai"],[38,"ah"],[37,"ag"],[36,"af"],[35,"ae"],[34,"ad"],[33,"ac"],[32,"ab"],[31,"aa"],[30,"zz"],[13,"j"],[12,"i"],[11,"h"],[10,"g"],[9,"f"],[8,"e"],[7,"d"],[6,"c"],[5,"b"],[4,"main"],[3,"gate"],[2,"prejoint"],[1,"align"],[14,"k"],[15,"l"],[16,"m"],[17,"n"],[18,"o"],[19,"p"],[20,"q"],[21,"r"],[22,"s"],[23,"t"],[24,"u"],[25,"v"],[26,"w"],[27,"x"],[28,"y"],[29,"z"]],"rift-occlude-lod0-jg":[[3,"main"],[2,"prejoint"],[1,"align"]],"rift-rider-bar-lod0-jg":[[3,"main"],[2,"prejoint"],[1,"align"]],"rift-rider-break-a-lod0-jg":[[43,"cx"],[42,"cw"],[41,"cv"],[40,"cu"],[39,"ct"],[38,"cs"],[37,"cr"],[36,"cq"],[35,"cp"],[34,"co"],[33,"cn"],[32,"cm"],[31,"cl"],[30,"ck"],[13,"bt"],[12,"bs"],[11,"br"],[10,"main"],[9,"bp"],[8,"bo"],[7,"bn"],[6,"bm"],[5,"bl"],[4,"explode_engine_top"],[3,"explode_engine"],[2,"prejoint"],[1,"align"],[14,"bu"],[15,"bv"],[16,"bw"],[17,"bx"],[18,"by"],[19,"bz"],[20,"ca"],[21,"cb"],[22,"cc"],[23,"cd"],[24,"ce"],[25,"cf"],[26,"cg"],[27,"ch"],[28,"ci"],[29,"cj"]],"rift-rider-break-b-lod0-jg":[[3,"main"],[2,"prejoint"],[1,"align"]],"rift-rider-break-c-lod0-jg":[[3,"main"],[2,"prejoint"],[1,"align"]],"rift-rider-break-lod0-jg":[[66,"bk"],[65,"bj"],[64,"bi"],[63,"bh"],[62,"bg"],[61,"bf"],[60,"be"],[29,"zz"],[28,"z"],[27,"y"],[26,"x"],[25,"main"],[24,"v"],[23,"u"],[22,"t"],[21,"s"],[20,"r"],[19,"q"],[18,"p"],[17,"o"],[16,"n"],[15,"m"],[14,"l"],[1,"align"],[2,"prejoint"],[3,"a"],[4,"b"],[5,"c"],[6,"d"],[7,"e"],[8,"f"],[9,"g"],[10,"h"],[11,"i"],[12,"j"],[13,"k"],[30,"aa"],[31,"ab"],[32,"ac"],[33,"ad"],[34,"ae"],[35,"af"],[36,"ag"],[37,"ah"],[38,"ai"],[39,"aj"],[40,"ak"],[41,"al"],[42,"am"],[43,"an"],[44,"ao"],[45,"ap"],[46,"aq"],[47,"ar"],[48,"as"],[49,"at"],[50,"au"],[51,"av"],[52,"aw"],[53,"ax"],[54,"ay"],[55,"az"],[56,"ba"],[57,"bb"],[58,"bc"],[59,"bd"]],"rift-rider-chunk-a-lod0-jg":[[3,"main"],[2,"prejoint"],[1,"align"]],"rift-rider-dash-lod0-jg":[[13,"jet"],[12,"screen_b"],[11,"screen_a"],[10,"heart_of_mar"],[9,"button_d"],[8,"button_c"],[7,"button_b"],[6,"button_a"],[5,"dash"],[4,"seats"],[3,"main"],[2,"prejoint"],[1,"align"]],"rift-rider-donut-lod0-jg":[[16,"light_small_d"],[15,"light_small_c"],[14,"light_small_b"],[1,"align"],[2,"prejoint"],[3,"main"],[4,"rotate"],[5,"zappera"],[6,"zapperb"],[7,"zapperc"],[8,"zapperd"],[9,"light_center_a"],[10,"light_center_b"],[11,"light_center_c"],[12,"light_center_d"],[13,"light_small_a"]],"rift-rider-heart-of-mar-lod0-jg":[[5,"dash"],[4,"seats"],[3,"main"],[2,"prejoint"],[1,"align"]],"rift-rider-lod0-jg":[[23,"handle_j"],[22,"handle_i"],[21,"handle_h"],[20,"handle_g"],[19,"handle_f"],[18,"handle_e"],[17,"handle_d"],[16,"handle_c"],[15,"handle_b"],[14,"handle_a"],[1,"align"],[2,"prejoint"],[3,"main"],[4,"seats"],[5,"dash"],[6,"button_a"],[7,"button_b"],[8,"button_c"],[9,"button_d"],[10,"heart_of_mar"],[11,"screen_a"],[12,"screen_b"],[13,"jet"]],"rift-ring-in-game-lod0-jg":[[14,"inner_ring_c"],[1,"align"],[2,"prejoint"],[3,"bearing_a"],[4,"bearing_b"],[5,"bearing_c"],[6,"outer_ring"],[7,"gate"],[8,"zaptarget"],[9,"prong_a"],[10,"prong_b"],[11,"prong_c"],[12,"inner_ring_a"],[13,"inner_ring_b"]],"rift-ring-lod0-jg":[[23,"precurcrap_i"],[22,"precurcrap_h"],[21,"precurcrap_g"],[20,"precurcrap_f"],[19,"precurcrap_e"],[18,"precurcrap_d"],[17,"precurcrap_c"],[16,"precurcrap_b"],[15,"precurcrap_a"],[14,"inner_ring_c"],[1,"align"],[2,"prejoint"],[3,"bearing_a"],[4,"bearing_b"],[5,"bearing_c"],[6,"outer_ring"],[7,"gate"],[8,"zaptarget"],[9,"prong_a"],[10,"prong_b"],[11,"prong_c"],[12,"inner_ring_a"],[13,"inner_ring_b"]],"roboguard-explode-lod0-jg":[[18,"robopart_right_upperarm"],[17,"robopart_left_upperarm"],[16,"robopart_chest"],[15,"robopart_hips"],[14,"robopart_head"],[1,"align"],[2,"prejoint"],[3,"main"],[4,"robopart_left_foot"],[5,"robopart_right_foot"],[6,"robopart_left_leg"],[7,"robopart_right_leg"],[8,"robopart_right_hand"],[9,"robopart_left_hand"],[10,"robopart_right_arm_pad"],[11,"robopart_left_arm_pad"],[12,"robopart_right_shoulder"],[13,"robopart_left_shoulder"]],"roboguard-lod0-jg":[[29,"Rheel"],[28,"Rtoe"],[27,"Rpiston"],[26,"Lheel"],[25,"Ltoe"],[24,"Lpiston"],[23,"Rankle"],[22,"Rknee"],[21,"Rthigh"],[20,"Lankle"],[19,"Lknee"],[18,"Lthigh"],[17,"hips"],[16,"console"],[15,"Rfist"],[14,"Relbow"],[1,"align"],[2,"prejoint"],[3,"main"],[4,"chest"],[5,"neck"],[6,"head"],[7,"headglow"],[8,"Lshoulderguard"],[9,"Lshoulder"],[10,"Lelbow"],[11,"Lfist"],[12,"Rshoulderguard"],[13,"Rshoulder"]],"ruins-breakable-wall-1-lod0-jg":[[34,"sd"],[33,"sc"],[32,"sb"],[31,"sa"],[30,"b_aa"],[13,"b_j"],[12,"b_i"],[11,"b_h"],[10,"b_g"],[9,"b_f"],[8,"b_e"],[7,"b_d"],[6,"b_c"],[5,"b_b"],[4,"b_a"],[3,"b_outwall"],[2,"prejoint"],[1,"align"],[14,"b_k"],[15,"b_l"],[16,"b_m"],[17,"b_n"],[18,"b_o"],[19,"b_p"],[20,"b_q"],[21,"b_r"],[22,"b_s"],[23,"b_t"],[24,"b_u"],[25,"b_v"],[26,"b_w"],[27,"b_x"],[28,"b_y"],[29,"b_z"]],"ruins-breakable-wall-2-lod0-jg":[[40,"b2_ll"],[39,"b2_kk"],[38,"b2_jj"],[37,"b2_ii"],[36,"b2_hh"],[35,"b2_ff"],[34,"b2_ee"],[33,"b2_dd"],[32,"b2_cc"],[31,"b2_bb"],[30,"b2_aa"],[13,"b2_i"],[12,"b2_h"],[11,"b2_g"],[10,"b2_f"],[9,"b2_e"],[8,"b2_d"],[7,"b2_c"],[6,"b2_b"],[5,"b2_a"],[4,"b2_o"],[3,"b2_gg"],[2,"prejoint"],[1,"align"],[14,"b2_j"],[15,"b2_k"],[16,"b2_l"],[17,"b2_m"],[18,"b2_n"],[19,"b2_p"],[20,"b2_q"],[21,"b2_r"],[22,"b2_s"],[23,"b2_t"],[24,"b2_u"],[25,"b2_v"],[26,"b2_w"],[27,"b2_x"],[28,"b2_y"],[29,"b2_z"]],"ruins-breakable-wall-3-lod0-jg":[[28,"b2_y"],[27,"b2_x"],[26,"b2_w"],[25,"b2_v"],[24,"b2_u"],[23,"b2_t"],[22,"b2_s"],[21,"b2_r"],[20,"b2_q"],[19,"b2_p"],[18,"b2_o"],[17,"b2_n"],[16,"b2_m"],[15,"b2_l"],[14,"b2_k"],[1,"align"],[2,"prejoint"],[3,"b2_wall"],[4,"b2_a"],[5,"b2_b"],[6,"b2_c"],[7,"b2_d"],[8,"b2_e"],[9,"b2_f"],[10,"b2_g"],[11,"b2_h"],[12,"b2_i"],[13,"b2_j"]],"ruins-breakable-wall-4-lod0-jg":[[74,"wall"],[73,"brick"],[72,"70"],[71,"69"],[70,"68"],[69,"67"],[68,"66"],[67,"65"],[66,"64"],[65,"63"],[64,"62"],[63,"61"],[62,"60"],[61,"59"],[60,"58"],[29,"27"],[28,"26"],[27,"25"],[26,"24"],[25,"23"],[24,"22"],[23,"21"],[22,"20"],[21,"19"],[20,"18"],[19,"17"],[18,"16"],[17,"15"],[16,"14"],[15,"13"],[14,"12"],[1,"align"],[2,"prejoint"],[3,"1"],[4,"2"],[5,"3"],[6,"4"],[7,"5"],[8,"6"],[9,"7"],[10,"8"],[11,"9"],[12,"10"],[13,"11"],[30,"28"],[31,"29"],[32,"30"],[33,"31"],[34,"32"],[35,"33"],[36,"34"],[37,"35"],[38,"36"],[39,"37"],[40,"38"],[41,"39"],[42,"40"],[43,"41"],[44,"42"],[45,"43"],[46,"44"],[47,"45"],[48,"46"],[49,"47"],[50,"48"],[51,"49"],[52,"50"],[53,"51"],[54,"52"],[55,"53"],[56,"54"],[57,"55"],[58,"56"],[59,"57"]],"ruins-breakable-wall-5-lod0-jg":[[78,"main"],[77,"75"],[76,"74"],[75,"73"],[74,"72"],[73,"71"],[72,"70"],[71,"69"],[70,"68"],[69,"67"],[68,"66"],[67,"65"],[66,"64"],[65,"63"],[64,"62"],[63,"61"],[62,"60"],[61,"59"],[60,"58"],[29,"27"],[28,"26"],[27,"25"],[26,"24"],[25,"23"],[24,"22"],[23,"21"],[22,"20"],[21,"19"],[20,"18"],[19,"17"],[18,"16"],[17,"15"],[16,"14"],[15,"13"],[14,"12"],[1,"align"],[2,"prejoint"],[3,"1"],[4,"2"],[5,"3"],[6,"4"],[7,"5"],[8,"6"],[9,"7"],[10,"8"],[11,"9"],[12,"10"],[13,"11"],[30,"28"],[31,"29"],[32,"30"],[33,"31"],[34,"32"],[35,"33"],[36,"34"],[37,"35"],[38,"36"],[39,"37"],[40,"38"],[41,"39"],[42,"40"],[43,"41"],[44,"42"],[45,"43"],[46,"44"],[47,"45"],[48,"46"],[49,"47"],[50,"48"],[51,"49"],[52,"50"],[53,"51"],[54,"52"],[55,"53"],[56,"54"],[57,"55"],[58,"56"],[59,"57"]],"ruins-breakable-wall-6-lod0-jg":[[74,"main"],[73,"71"],[72,"70"],[71,"69"],[70,"68"],[69,"67"],[68,"66"],[67,"65"],[66,"64"],[65,"63"],[64,"62"],[63,"61"],[62,"60"],[61,"59"],[60,"58"],[29,"27"],[28,"26"],[27,"25"],[26,"24"],[25,"23"],[24,"22"],[23,"21"],[22,"20"],[21,"19"],[20,"18"],[19,"17"],[18,"16"],[17,"15"],[16,"14"],[15,"13"],[14,"12"],[1,"align"],[2,"prejoint"],[3,"1"],[4,"2"],[5,"3"],[6,"4"],[7,"5"],[8,"6"],[9,"7"],[10,"8"],[11,"9"],[12,"10"],[13,"11"],[30,"28"],[31,"29"],[32,"30"],[33,"31"],[34,"32"],[35,"33"],[36,"34"],[37,"35"],[38,"36"],[39,"37"],[40,"38"],[41,"39"],[42,"40"],[43,"41"],[44,"42"],[45,"43"],[46,"44"],[47,"45"],[48,"46"],[49,"47"],[50,"48"],[51,"49"],[52,"50"],[53,"51"],[54,"52"],[55,"53"],[56,"54"],[57,"55"],[58,"56"],[59,"57"]],"ruins-bridge-1-lod0-jg":[[71,"fall_c"],[70,"fall_b"],[69,"fall_a"],[68,"a"],[67,"b"],[66,"c"],[65,"d"],[64,"e"],[63,"f"],[62,"g"],[61,"h"],[60,"i"],[29,"am"],[28,"an"],[27,"ao"],[26,"ap"],[25,"aq"],[24,"ar"],[23,"as"],[22,"at"],[21,"au"],[20,"av"],[19,"aw"],[18,"ax"],[17,"ay"],[16,"az"],[15,"ba"],[14,"bb"],[1,"align"],[2,"prejoint"],[3,"main"],[4,"bl"],[5,"bk"],[6,"bj"],[7,"bi"],[8,"bh"],[9,"bg"],[10,"bf"],[11,"be"],[12,"bd"],[13,"bc"],[30,"al"],[31,"ak"],[32,"aj"],[33,"ai"],[34,"ah"],[35,"ag"],[36,"af"],[37,"ae"],[38,"ad"],[39,"ac"],[40,"ab"],[41,"aa"],[42,""],[43,"z"],[44,"y"],[45,"x"],[46,"w"],[47,"v"],[48,"u"],[49,"t"],[50,"s"],[51,"r"],[52,"q"],[53,"p"],[54,"o"],[55,"n"],[56,"m"],[57,"l"],[58,"k"],[59,"j"]],"ruins-drop-plat-a-lod0-jg":[[63,"bc"],[62,"bb"],[61,"ba"],[60,"az"],[29,"v"],[28,"u"],[27,"t"],[26,"s"],[25,"r"],[24,"q"],[23,"p"],[22,"o"],[21,"n"],[20,"m"],[19,"l"],[18,"k"],[17,"j"],[16,"i"],[15,"h"],[14,"g"],[1,"align"],[2,"prejoint"],[3,"main"],[4,"trap_LR"],[5,"trap_RR"],[6,"trap_RF"],[7,"trap_LF"],[8,"a"],[9,"b"],[10,"c"],[11,"d"],[12,"e"],[13,"f"],[30,"w"],[31,"x"],[32,"y"],[33,"z"],[34,""],[35,"aa"],[36,"ab"],[37,"ac"],[38,"ad"],[39,"ae"],[40,"af"],[41,"ag"],[42,"ah"],[43,"ai"],[44,"aj"],[45,"ak"],[46,"al"],[47,"am"],[48,"an"],[49,"ao"],[50,"ap"],[51,"aq"],[52,"ar"],[53,"as"],[54,"at"],[55,"au"],[56,"av"],[57,"aw"],[58,"ax"],[59,"ay"]],"ruins-drop-plat-b-lod0-jg":[[63,"bc"],[62,"bb"],[61,"ba"],[60,"az"],[29,"v"],[28,"u"],[27,"t"],[26,"s"],[25,"r"],[24,"q"],[23,"p"],[22,"o"],[21,"n"],[20,"m"],[19,"l"],[18,"k"],[17,"j"],[16,"i"],[15,"h"],[14,"g"],[1,"align"],[2,"prejoint"],[3,"main"],[4,"trap_LR"],[5,"trap_RR"],[6,"trap_RF"],[7,"trap_LF"],[8,"a"],[9,"b"],[10,"c"],[11,"d"],[12,"e"],[13,"f"],[30,"w"],[31,"x"],[32,"y"],[33,"z"],[34,""],[35,"aa"],[36,"ab"],[37,"ac"],[38,"ad"],[39,"ae"],[40,"af"],[41,"ag"],[42,"ah"],[43,"ai"],[44,"aj"],[45,"ak"],[46,"al"],[47,"am"],[48,"an"],[49,"ao"],[50,"ap"],[51,"aq"],[52,"ar"],[53,"as"],[54,"at"],[55,"au"],[56,"av"],[57,"aw"],[58,"ax"],[59,"ay"]],"ruins-drop-plat-c-lod0-jg":[[63,"bc"],[62,"bb"],[61,"ba"],[60,"az"],[29,"v"],[28,"u"],[27,"t"],[26,"s"],[25,"r"],[24,"q"],[23,"p"],[22,"o"],[21,"n"],[20,"m"],[19,"l"],[18,"k"],[17,"j"],[16,"i"],[15,"h"],[14,"g"],[1,"align"],[2,"prejoint"],[3,"main"],[4,"trap_LR"],[5,"trap_RR"],[6,"trap_RF"],[7,"trap_LF"],[8,"a"],[9,"b"],[10,"c"],[11,"d"],[12,"e"],[13,"f"],[30,"w"],[31,"x"],[32,"y"],[33,"z"],[34,""],[35,"aa"],[36,"ab"],[37,"ac"],[38,"ad"],[39,"ae"],[40,"af"],[41,"ag"],[42,"ah"],[43,"ai"],[44,"aj"],[45,"ak"],[46,"al"],[47,"am"],[48,"an"],[49,"ao"],[50,"ap"],[51,"aq"],[52,"ar"],[53,"as"],[54,"at"],[55,"au"],[56,"av"],[57,"aw"],[58,"ax"],[59,"ay"]],"ruins-pillar-collapse-lod0-jg":[[84,"ch"],[83,"cg"],[82,"cf"],[81,"ce"],[80,"cb"],[79,"ca"],[78,"bz"],[77,"by"],[76,"bx"],[75,"bw"],[74,"bv"],[73,"bu"],[72,"bt"],[71,"bs"],[70,"bq"],[69,"bp"],[68,"bo"],[67,"bl"],[66,"bj"],[65,"cj"],[64,"bi"],[63,"bh"],[62,"bg"],[61,"bf"],[60,"be"],[29,"zz"],[28,"z"],[27,"y"],[26,"x"],[25,"w"],[24,"v"],[23,"u"],[22,"t"],[21,"s"],[20,"r"],[19,"q"],[18,"p"],[17,"o"],[16,"n"],[15,"m"],[14,"l"],[1,"align"],[2,"prejoint"],[3,"a"],[4,"b"],[5,"c"],[6,"d"],[7,"e"],[8,"f"],[9,"g"],[10,"h"],[11,"i"],[12,"j"],[13,"k"],[30,"aa"],[31,"ab"],[32,"ac"],[33,"ad"],[34,"ae"],[35,"af"],[36,"ag"],[37,"ah"],[38,"ai"],[39,"aj"],[40,"ak"],[41,"al"],[42,"am"],[43,"an"],[44,"ao"],[45,"ap"],[46,"aq"],[47,"ar"],[48,"as"],[49,"at"],[50,"au"],[51,"av"],[52,"aw"],[53,"ax"],[54,"ay"],[55,"az"],[56,"ba"],[57,"bb"],[58,"bc"],[59,"bd"]],"ruins-precipice-lod0-jg":[[4,"ch"],[3,"main"],[2,"prejoint"],[1,"align"]],"ruins-tower-a-lod0-jg":[[53,"aw"],[52,"av"],[51,"au"],[50,"at"],[49,"as"],[48,"ar"],[47,"aq"],[46,"ap"],[45,"ao"],[44,"an"],[43,"am"],[42,"al"],[41,"ak"],[40,"aj"],[39,"ai"],[38,"ah"],[37,"ag"],[36,"af"],[35,"ae"],[34,"ad"],[33,"ac"],[32,"ab"],[31,"aa"],[30,""],[13,"j"],[12,"i"],[11,"h"],[10,"g"],[9,"f"],[8,"e"],[7,"d"],[6,"c"],[5,"b"],[4,"a"],[3,"main"],[2,"prejoint"],[1,"align"],[14,"k"],[15,"l"],[16,"m"],[17,"n"],[18,"o"],[19,"p"],[20,"q"],[21,"r"],[22,"s"],[23,"t"],[24,"u"],[25,"v"],[26,"w"],[27,"x"],[28,"y"],[29,"z"]],"ruins-tower-b-lod0-jg":[[49,"cu"],[48,"ct"],[47,"cs"],[46,"cr"],[45,"cq"],[44,"cp"],[43,"co"],[42,"cn"],[41,"cm"],[40,"cl"],[39,"ck"],[38,"cj"],[37,"ci"],[36,"ch"],[35,"cg"],[34,"cf"],[33,"ce"],[32,"cd"],[31,"cc"],[30,"ca"],[13,"bj"],[12,"bi"],[11,"bh"],[10,"bg"],[9,"bf"],[8,"be"],[7,"bd"],[6,"bc"],[5,"ba"],[4,"ay"],[3,"ax"],[2,"prejoint"],[1,"align"],[14,"bk"],[15,"bl"],[16,"bm"],[17,"bn"],[18,"bo"],[19,"bp"],[20,"bq"],[21,"br"],[22,"bs"],[23,"bt"],[24,"bu"],[25,"bv"],[26,"bw"],[27,"bx"],[28,"by"],[29,"bz"]],"ruins-tower-c-lod0-jg":[[43,"ej"],[42,"ei"],[41,"eh"],[40,"eg"],[39,"ef"],[38,"ee"],[37,"ed"],[36,"ec"],[35,"eb"],[34,"ea"],[33,"dz"],[32,"dy"],[31,"dx"],[30,"dw"],[13,"df"],[12,"de"],[11,"dd"],[10,"dc"],[9,"db"],[8,"da"],[7,"cz"],[6,"cy"],[5,"cx"],[4,"cw"],[3,"cv"],[2,"prejoint"],[1,"align"],[14,"dg"],[15,"dh"],[16,"di"],[17,"dj"],[18,"dk"],[19,"dl"],[20,"dm"],[21,"dn"],[22,"do"],[23,"dp"],[24,"dq"],[25,"dr"],[26,"ds"],[27,"dt"],[28,"du"],[29,"dv"]],"ruins-tower-d-lod0-jg":[[9,"fe"],[8,"fd"],[7,"fc"],[6,"fb"],[5,"fa"],[4,"ez"],[3,"ey"],[2,"prejoint"],[1,"align"]],"ruins-tower-e-lod0-jg":[[53,"ip"],[52,"io"],[51,"in"],[50,"im"],[49,"il"],[48,"ik"],[47,"ij"],[46,"ii"],[45,"ih"],[44,"ig"],[43,"if"],[42,"ie"],[41,"id"],[40,"ic"],[39,"ib"],[38,"ia"],[37,"hz"],[36,"hy"],[35,"hx"],[34,"hw"],[33,"hv"],[32,"hu"],[31,"ht"],[30,"hs"],[13,"hb"],[12,"ha"],[11,"gz"],[10,"gy"],[9,"gx"],[8,"gw"],[7,"gv"],[6,"gu"],[5,"gt"],[4,"gs"],[3,"gr"],[2,"prejoint"],[1,"align"],[14,"hc"],[15,"hd"],[16,"he"],[17,"hf"],[18,"hg"],[19,"hh"],[20,"hi"],[21,"hj"],[22,"hk"],[23,"hl"],[24,"hm"],[25,"hn"],[26,"ho"],[27,"hp"],[28,"hq"],[29,"hr"]],"ruins-tower-f-lod0-jg":[[4,"move"],[3,"main"],[2,"prejoint"],[1,"align"]],"ruins-tower-rp-lod0-jg":[[15,"hm_splash"],[14,"hm_trailer"],[1,"align"],[2,"prejoint"],[3,"main"],[4,"a_explode"],[5,"a_trailer"],[6,"a_splash"],[7,"as_explode"],[8,"as_trailer"],[9,"as_splash"],[10,"at_explode"],[11,"at_trailer"],[12,"at_splash"],[13,"hm_explode"]],"samos-highres-lod0-jg":[[80,"belly"],[79,"Rbigtoe"],[78,"Rtoes"],[77,"Rfootball"],[76,"Lbigtoe"],[75,"Ltoes"],[74,"Lfootball"],[73,"RringB"],[72,"RringA"],[71,"RmiddleB"],[70,"RmiddleA"],[69,"RthumbC"],[68,"RthumbB"],[67,"LpinkyB"],[66,"LpinkyA"],[65,"LringB"],[64,"LringA"],[63,"LmiddleB"],[62,"LmiddleA"],[61,"LindexB"],[60,"LindexA"],[29,"hips"],[28,"RpinkyB"],[27,"RpinkyA"],[26,"RindexB"],[25,"RindexA"],[24,"RthumbA"],[23,"Rhand"],[22,"Relbow"],[21,"Rshoulder"],[20,"Lhand"],[19,"Lelbow"],[18,"Lshoulder"],[17,"beard"],[16,"beard_lip"],[15,"beardDriver"],[14,"RearMID"],[1,"align"],[2,"prejoint"],[3,"main"],[4,"chest"],[5,"head"],[6,"headLog"],[7,"Llog"],[8,"Rlog"],[9,"LhairBASE"],[10,"Lhair"],[11,"LearBASE"],[12,"LearMID"],[13,"RearBASE"],[30,"Lthigh"],[31,"Lknee"],[32,"Lankle"],[33,"Rthigh"],[34,"Rknee"],[35,"Rankle"],[36,"staffMAIN"],[37,"staffUpA"],[38,"staffDownA"],[39,"staffDownB"],[40,"staffBOTTOM"],[41,"camera"],[42,"cameraB"],[43,"BIRDfeet1"],[44,"BIRD1"],[45,"BIRDhead1"],[46,"Birdfeather"],[47,"Birdjaw"],[48,"BIRDR1"],[49,"BIRDR2"],[50,"BIRDL1"],[51,"BIRDL2"],[52,"Birdtail"],[53,"ponytailBASE"],[54,"ponytailMID"],[55,"RhairBASE"],[56,"Rhair"],[57,"LthumbA"],[58,"LthumbB"],[59,"LthumbC"]],"samos-lod0-jg":[[74,"belly"],[73,"Rbigtoe"],[72,"Rtoes"],[71,"RringB"],[70,"RringA"],[69,"RmiddleB"],[68,"RmiddleA"],[67,"RthumbC"],[66,"LpinkyB"],[65,"LpinkyA"],[64,"LringB"],[63,"LringA"],[62,"LmiddleB"],[61,"LmiddleA"],[60,"LthumbC"],[29,"Lthigh"],[28,"hips"],[27,"RpinkyB"],[26,"RpinkyA"],[25,"RindexB"],[24,"RindexA"],[23,"RthumbA"],[22,"Rhand"],[21,"Relbow"],[20,"Rshoulder"],[19,"Lhand"],[18,"Lelbow"],[17,"Lshoulder"],[16,"beard"],[15,"beard_lip"],[14,"RearMID"],[1,"align"],[2,"prejoint"],[3,"main"],[4,"chest"],[5,"head"],[6,"headLog"],[7,"Llog"],[8,"Rlog"],[9,"LhairBASE"],[10,"Lhair"],[11,"LearBASE"],[12,"LearMID"],[13,"RearBASE"],[30,"Lknee"],[31,"Lankle"],[32,"Rthigh"],[33,"Rknee"],[34,"Rankle"],[35,"staffMAIN"],[36,"staffUpA"],[37,"staffDownA"],[38,"staffDownB"],[39,"staffBOTTOM"],[40,"camera"],[41,"cameraB"],[42,"ponytailBASE"],[43,"ponytailMID"],[44,"LthumbA"],[45,"LthumbB"],[46,"LindexA"],[47,"LindexB"],[48,"RthumbB"],[49,"Lfootball"],[50,"Ltoes"],[51,"Lbigtoe"],[52,"Lball"],[53,"Rfootball"],[54,"Rball"],[55,"BIRDfeet1"],[56,"BIRD1"],[57,"BIRDhead1"],[58,"BIRDR1"],[59,"BIRDL1"]],"scenecamera-lod0-jg":[[4,"camera"],[3,"scenecamera"],[2,"prejoint"],[1,"align"]],"seal-of-mar-base-lod0-jg":[[3,"base"],[2,"prejoint"],[1,"align"]],"seal-of-mar-lod0-jg":[[5,"bottom"],[4,"top"],[3,"base"],[2,"prejoint"],[1,"align"]],"seal-of-mar-top-lod0-jg":[[3,"top"],[2,"prejoint"],[1,"align"]],"searchlight-lod0-jg":[[3,"main"],[2,"prejoint"],[1,"align"]],"security-wall-lod0-jg":[[3,"plane"],[2,"prejoint"],[1,"align"]],"sew-arm-blade-lod0-jg":[[3,"main"],[2,"prejoint"],[1,"align"]],"sew-catwalk-1-lod0-jg":[[17,"n"],[16,"m"],[15,"l"],[14,"k"],[1,"align"],[2,"prejoint"],[3,"main"],[4,"a"],[5,"b"],[6,"c"],[7,"d"],[8,"e"],[9,"f"],[10,"g"],[11,"h"],[12,"i"],[13,"j"]],"sew-elevator-lod0-jg":[[3,"main"],[2,"prejoint"],[1,"align"]],"sew-gold-key-lod0-jg":[[3,"key"],[2,"prejoint"],[1,"align"]],"sew-grill-lod0-jg":[[6,"gripC"],[5,"gripA"],[4,"kick"],[3,"base"],[2,"prejoint"],[1,"align"]],"sew-gunturret-explode-lod0-jg":[[20,"bodypiece"],[19,"topbodyR"],[18,"topbodyL"],[17,"bottomL"],[16,"bottomR"],[15,"topholeL1"],[14,"topholeL2"],[1,"align"],[2,"prejoint"],[3,"main"],[4,"base"],[5,"round"],[6,"neck"],[7,"muzzle"],[8,"topholeR1"],[9,"topholeR2"],[10,"backbottom"],[11,"lowerreardetail"],[12,"upperreardetail"],[13,"top"]],"sew-gunturret-lod0-jg":[[14,"hole_7"],[1,"align"],[2,"prejoint"],[3,"main"],[4,"barrel"],[5,"gun"],[6,"track"],[7,"hole_0"],[8,"hole_1"],[9,"hole_2"],[10,"hole_3"],[11,"hole_4"],[12,"hole_5"],[13,"hole_6"]],"sew-light-switch-lod0-jg":[[3,"main"],[2,"prejoint"],[1,"align"]],"sew-mar-statue-explode-a-lod0-jg":[[43,"am"],[42,"al"],[41,"ak"],[40,"aj"],[39,"ai"],[38,"ah"],[37,"ag"],[36,"af"],[35,"ae"],[34,"ad"],[33,"ac"],[32,"ab"],[31,"aa"],[30,"zz"],[13,"j"],[12,"i"],[11,"h"],[10,"g"],[9,"f"],[8,"e"],[7,"d"],[6,"c"],[5,"b"],[4,"a"],[3,"main"],[2,"prejoint"],[1,"align"],[14,"k"],[15,"l"],[16,"m"],[17,"n"],[18,"o"],[19,"p"],[20,"q"],[21,"r"],[22,"s"],[23,"t"],[24,"u"],[25,"v"],[26,"w"],[27,"x"],[28,"y"],[29,"z"]],"sew-mar-statue-explode-b-lod0-jg":[[50,"ch"],[49,"cg"],[48,"cf"],[47,"ce"],[46,"cd"],[45,"cc"],[44,"cb"],[43,"ca"],[42,"bz"],[41,"by"],[40,"bx"],[39,"bw"],[38,"bv"],[37,"bu"],[36,"bt"],[35,"bs"],[34,"br"],[33,"bq"],[32,"bp"],[31,"bo"],[30,"bn"],[13,"aw"],[12,"av"],[11,"au"],[10,"at"],[9,"as"],[8,"ar"],[7,"aq"],[6,"ap"],[5,"ao"],[4,"an"],[3,"main"],[2,"prejoint"],[1,"align"],[14,"ax"],[15,"ay"],[16,"az"],[17,"ba"],[18,"bb"],[19,"bc"],[20,"bd"],[21,"be"],[22,"bf"],[23,"bg"],[24,"bh"],[25,"bi"],[26,"bj"],[27,"bk"],[28,"bl"],[29,"bm"]],"sew-mar-statue-lod0-jg":[[3,"main"],[2,"prejoint"],[1,"align"]],"sew-mine-a-lod0-jg":[[3,"main"],[2,"prejoint"],[1,"align"]],"sew-mine-b-lod0-jg":[[3,"main"],[2,"prejoint"],[1,"align"]],"sew-multi-blade-lod0-jg":[[14,"blade11"],[1,"align"],[2,"prejoint"],[3,"main"],[4,"blade1"],[5,"blade2"],[6,"blade3"],[7,"blade4"],[8,"blade5"],[9,"blade6"],[10,"blade7"],[11,"blade8"],[12,"blade9"],[13,"blade10"]],"sew-single-blade-lod0-jg":[[3,"main"],[2,"prejoint"],[1,"align"]],"sew-tri-blade-lod0-jg":[[6,"tier3"],[5,"tier2"],[4,"tier1"],[3,"main"],[2,"prejoint"],[1,"align"]],"sew-twist-blade-lod0-jg":[[3,"main"],[2,"prejoint"],[1,"align"]],"sew-valve-lod0-jg":[[4,"wheelrot"],[3,"main"],[2,"prejoint"],[1,"align"]],"sew-wall-lod0-jg":[[39,"ah"],[38,"ag"],[37,"af"],[36,"ae"],[35,"ad"],[34,"ac"],[33,"ab"],[32,"aa"],[31,"zz"],[30,"z"],[13,"i"],[12,"h"],[11,"g"],[10,"f"],[9,"e"],[8,"d"],[7,"c"],[6,"b"],[5,"a"],[4,"main"],[3,"explode"],[2,"prejoint"],[1,"align"],[14,"j"],[15,"k"],[16,"l"],[17,"m"],[18,"n"],[19,"o"],[20,"p"],[21,"q"],[22,"r"],[23,"s"],[24,"t"],[25,"u"],[26,"v"],[27,"w"],[28,"x"],[29,"y"]],"shield-gunner-lod0-jg":[[42,"RoutsideClaw"],[41,"RinsideClaw"],[40,"Rball"],[39,"Rankle"],[38,"Rhindcannon"],[37,"Rknee"],[36,"Rthigh"],[35,"LoutsideClaw"],[34,"LinsideClaw"],[33,"Lball"],[32,"Lankle"],[31,"Lhindcannon"],[30,"Lknee"],[13,"LthumbA"],[12,"Lhand"],[11,"Lelbow"],[10,"Lshoulder"],[9,"jaw"],[8,"head"],[7,"neck"],[6,"chest"],[5,"swivelMe"],[4,"trackgun"],[3,"main"],[2,"prejoint"],[1,"align"],[14,"LthumbB"],[15,"LmiddleA"],[16,"LmiddleB"],[17,"Rshoulder"],[18,"Relbow"],[19,"Rhand"],[20,"RthumbA"],[21,"RthumbB"],[22,"RmiddleA"],[23,"RmiddleB"],[24,"LshoulderPad"],[25,"RshoulderPad"],[26,"gun"],[27,"blast"],[28,"hips"],[29,"Lthigh"]],"sig-highres-lod0-jg":[[75,"beltbagA"],[74,"RpinkyC"],[73,"RringC"],[72,"RringB"],[71,"RringA"],[70,"RmiddleC"],[69,"RindexC"],[68,"RindexB"],[67,"RindexA"],[66,"RthumbC"],[65,"RthumbB"],[64,"RthumbA"],[63,"LpinkyC"],[62,"LringC"],[61,"LringB"],[60,"LringA"],[29,"RarmplateB"],[28,"RarmplateA"],[27,"LarmplateB"],[26,"LarmplateA"],[25,"RpinkyB"],[24,"RpinkyA"],[23,"RmiddleB"],[22,"RmiddleA"],[21,"Rhand"],[20,"Relbow"],[19,"Rshoulder"],[18,"LpinkyB"],[17,"LpinkyA"],[16,"LmiddleB"],[15,"LmiddleA"],[14,"Lhand"],[1,"align"],[2,"prejoint"],[3,"main"],[4,"chest"],[5,"neck"],[6,"head"],[7,"Learbase"],[8,"Learmid"],[9,"Rearbase"],[10,"Rearmid"],[11,"helmet"],[12,"Lshoulder"],[13,"Lelbow"],[30,"hips"],[31,"Lthigh"],[32,"Lknee"],[33,"Lankle"],[34,"Lball"],[35,"skirtLA"],[36,"skirtLB"],[37,"skirtLC"],[38,"skirtLD"],[39,"waterbottle"],[40,"Rthigh"],[41,"Rknee"],[42,"Rankle"],[43,"Rball"],[44,"skirtRA"],[45,"skirtRB"],[46,"skirtRC"],[47,"skirtRD"],[48,"beltbagB"],[49,"skirtflapA"],[50,"skirtflapB"],[51,"gun"],[52,"blast"],[53,"LthumbA"],[54,"LthumbB"],[55,"LthumbC"],[56,"LindexA"],[57,"LindexB"],[58,"LindexC"],[59,"LmiddleC"]],"sig-lod0-jg":[[58,"skirtRD"],[57,"skirtRC"],[56,"skirtRB"],[55,"skirtRA"],[54,"beltbagA"],[53,"waterbottle"],[52,"skirtLD"],[51,"skirtLC"],[50,"skirtLB"],[49,"skirtLA"],[48,"Rball"],[47,"Lball"],[46,"chestplate"],[45,"RmiddleC"],[44,"RmiddleB"],[43,"RmiddleA"],[42,"RthumbB"],[41,"RthumbA"],[40,"larmflapA"],[39,"LmiddleC"],[38,"LmiddleB"],[37,"LmiddleA"],[36,"LthumbB"],[35,"LthumbA"],[34,"skirtflapB"],[33,"skirtflapA"],[32,"beltbagB"],[31,"Rankle"],[30,"Rknee"],[13,"Lshoulder"],[12,"helmet"],[11,"Rearmid"],[10,"Rearbase"],[9,"Learmid"],[8,"Learbase"],[7,"head"],[6,"neck"],[5,"chest"],[4,"waistprog"],[3,"main"],[2,"prejoint"],[1,"align"],[14,"Lelbow"],[15,"Lhand"],[16,"Rshoulder"],[17,"Relbow"],[18,"Rhand"],[19,"LarmplateA"],[20,"LarmplateB"],[21,"RarmplateA"],[22,"RarmplateB"],[23,"gun"],[24,"blast"],[25,"hips"],[26,"Lthigh"],[27,"Lknee"],[28,"Lankle"],[29,"Rthigh"]],"sinking-plat-lod0-jg":[[3,"main"],[2,"prejoint"],[1,"align"]],"skate-gate-lod0-jg":[[3,"main"],[2,"prejoint"],[1,"align"]],"skate-training-ramp-lod0-jg":[[4,"barrier"],[3,"main"],[2,"prejoint"],[1,"align"]],"skatea-floating-ring-lod0-jg":[[4,"ringglow"],[3,"main"],[2,"prejoint"],[1,"align"]],"skatea-jump-pad-lod0-jg":[[4,"lid"],[3,"main"],[2,"prejoint"],[1,"align"]],"slider-lod0-jg":[[3,"main"],[2,"prejoint"],[1,"align"]],"son-of-particleman-lod0-jg":[[10,"particleJ"],[9,"particleI"],[8,"particleH"],[7,"particleG"],[6,"particleF"],[5,"particleE"],[4,"particleD"],[3,"main"],[2,"prejoint"],[1,"align"]],"spider-eyes-lod0-jg":[[3,"boneless"],[2,"prejoint"],[1,"align"]],"spotlight-lod0-jg":[[5,"main"],[4,"aim"],[3,"spot"],[2,"prejoint"],[1,"align"]],"spyder-lod0-jg":[[41,"Rshoulderpad"],[40,"Lshoulderpad"],[39,"gun"],[38,"jaw"],[37,"tracktorso"],[36,"Rbackknee"],[35,"Rbackthigh"],[34,"Lbackknee"],[33,"Lbackthigh"],[32,"Rfrontknee"],[31,"Rfrontthigh"],[30,"Lfrontknee"],[13,"LthumbC"],[12,"LthumbB"],[11,"LthumbA"],[10,"Lhand"],[9,"Lelbow"],[8,"Lshoulder"],[7,"head"],[6,"neck"],[5,"chest"],[4,"swivelMe"],[3,"main"],[2,"prejoint"],[1,"align"],[14,"LindexA"],[15,"LindexB"],[16,"LmiddleA"],[17,"LmiddleB"],[18,"Rshoulder"],[19,"Relbow"],[20,"Rhand"],[21,"RthumbA"],[22,"RthumbB"],[23,"RindexA"],[24,"RindexB"],[25,"RmiddleA"],[26,"RmiddleB"],[27,"shoot"],[28,"hips"],[29,"Lfrontthigh"]],"spydroid-exploding-lod0-jg":[[28,"rfrontfootfx"],[27,"right_front_cannon"],[26,"right_front_knee"],[25,"right_front_thigh"],[24,"rhindfootfx"],[23,"right_hind_cannon"],[22,"right_hind_knee"],[21,"right_hind_thigh"],[20,"lhindfootfx"],[19,"left_hind_cannon"],[18,"left_hind_knee"],[17,"left_hind_thigh"],[16,"lfrontfootfx"],[15,"left_front_cannon"],[14,"left_front_knee"],[1,"align"],[2,"prejoint"],[3,"main"],[4,"head"],[5,"camera"],[6,"left_turret"],[7,"left_gun"],[8,"right_turret"],[9,"right_gun"],[10,"antennae"],[11,"headfx"],[12,"tube"],[13,"left_front_thigh"]],"spydroid-lod0-jg":[[29,"tube"],[28,"rfrontfootfx"],[27,"right_front_cannon"],[26,"right_front_knee"],[25,"right_front_thigh"],[24,"rhindfootfx"],[23,"right_hind_cannon"],[22,"right_hind_knee"],[21,"right_hind_thigh"],[20,"lhindfootfx"],[19,"left_hind_cannon"],[18,"left_hind_knee"],[17,"left_hind_thigh"],[16,"lfrontfootfx"],[15,"left_front_cannon"],[14,"left_front_knee"],[1,"align"],[2,"prejoint"],[3,"main"],[4,"head"],[5,"camera"],[6,"cameraEND"],[7,"left_turret"],[8,"left_gun"],[9,"right_turret"],[10,"right_gun"],[11,"antennae"],[12,"headfx"],[13,"left_front_thigh"]],"squid-break-a-lod0-jg":[[44,"ao"],[43,"an"],[42,"am"],[41,"al"],[40,"ak"],[39,"aj"],[38,"ai"],[37,"ah"],[36,"ag"],[35,"af"],[34,"ae"],[33,"ad"],[32,"ac"],[31,"ab"],[30,"aa"],[13,"k"],[12,"j"],[11,"i"],[10,"h"],[9,"g"],[8,"f"],[7,"e"],[6,"d"],[5,"c"],[4,"b"],[3,"main"],[2,"prejoint"],[1,"align"],[14,"l"],[15,"m"],[16,"n"],[17,"o"],[18,"p"],[19,"q"],[20,"r"],[21,"s"],[22,"t"],[23,"u"],[24,"v"],[25,"w"],[26,"x"],[27,"y"],[28,"z"],[29,""]],"squid-break-b-lod0-jg":[[44,"ce"],[43,"cd"],[42,"cc"],[41,"cb"],[40,"ca"],[39,"bz"],[38,"by"],[37,"bx"],[36,"bw"],[35,"bv"],[34,"bu"],[33,"bt"],[32,"bs"],[31,"br"],[30,"bq"],[13,"az"],[12,"ay"],[11,"ax"],[10,"aw"],[9,"av"],[8,"au"],[7,"at"],[6,"as"],[5,"ar"],[4,"aq"],[3,"main"],[2,"prejoint"],[1,"align"],[14,"ba"],[15,"bb"],[16,"bc"],[17,"bd"],[18,"be"],[19,"bf"],[20,"bg"],[21,"bh"],[22,"bi"],[23,"bj"],[24,"bk"],[25,"bl"],[26,"bm"],[27,"bn"],[28,"bo"],[29,"bp"]],"squid-break-c-lod0-jg":[[44,"du"],[43,"dt"],[42,"ds"],[41,"dr"],[40,"dq"],[39,"dp"],[38,"do"],[37,"dn"],[36,"dm"],[35,"dl"],[34,"dk"],[33,"dj"],[32,"di"],[31,"dh"],[30,"dg"],[13,"cp"],[12,"co"],[11,"cn"],[10,"cm"],[9,"cl"],[8,"ck"],[7,"cj"],[6,"ci"],[5,"ch"],[4,"cg"],[3,"main"],[2,"prejoint"],[1,"align"],[14,"cq"],[15,"cr"],[16,"cs"],[17,"ct"],[18,"cu"],[19,"cv"],[20,"cw"],[21,"cx"],[22,"cy"],[23,"cz"],[24,"da"],[25,"db"],[26,"dc"],[27,"dd"],[28,"de"],[29,"df"]],"squid-break-d-lod0-jg":[[23,"ep"],[22,"eo"],[21,"en"],[20,"em"],[19,"el"],[18,"ek"],[17,"ej"],[16,"ei"],[15,"eh"],[14,"eg"],[1,"align"],[2,"prejoint"],[3,"main"],[4,"dw"],[5,"dx"],[6,"dy"],[7,"dz"],[8,"ea"],[9,"eb"],[10,"ec"],[11,"ed"],[12,"ee"],[13,"ef"]],"squid-break-e-lod0-jg":[[22,"fj"],[21,"fi"],[20,"fh"],[19,"fg"],[18,"ff"],[17,"fe"],[16,"fd"],[15,"fc"],[14,"fb"],[1,"align"],[2,"prejoint"],[3,"main"],[4,"er"],[5,"es"],[6,"et"],[7,"eu"],[8,"ev"],[9,"ew"],[10,"ex"],[11,"ey"],[12,"ez"],[13,"fa"]],"squid-break-pod-lod0-jg":[[36,"smoke"],[35,"sparkH"],[34,"sparkG"],[33,"sparkF"],[32,"sparkE"],[31,"sparkD"],[30,"sparkC"],[13,"yellowBlinkBR"],[12,"yellowBlinkAR"],[11,"Lpedal"],[10,"Rpedal"],[9,"LforeStick"],[8,"LaftStick"],[7,"RforeStick"],[6,"RaftStick"],[5,"cockpit"],[4,"body"],[3,"main"],[2,"prejoint"],[1,"align"],[14,"yellowBlinkCR"],[15,"yellowBlinkDR"],[16,"yellowBlinkER"],[17,"redConstantR"],[18,"redConstantL"],[19,"yellowBlinkAL"],[20,"yellowBlinkBL"],[21,"yellowBlinkCL"],[22,"yellowBlinkDL"],[23,"yellowBlinkEL"],[24,"yellowConstantL"],[25,"yellowConstantR"],[26,"exhaustL"],[27,"exhaustR"],[28,"sparkA"],[29,"sparkB"]],"squid-break-tentacle-lod0-jg":[[14,"k"],[1,"align"],[2,"prejoint"],[3,"main"],[4,"a"],[5,"b"],[6,"c"],[7,"d"],[8,"e"],[9,"f"],[10,"g"],[11,"h"],[12,"i"],[13,"j"]],"squid-collision-b-lod0-jg":[[3,"main"],[2,"prejoint"],[1,"align"]],"squid-collision-c-lod0-jg":[[3,"main"],[2,"prejoint"],[1,"align"]],"squid-collision-lod0-jg":[[3,"main"],[2,"prejoint"],[1,"align"]],"squid-driver-lod0-jg":[[3,"main"],[2,"prejoint"],[1,"align"]],"squid-firepool-lod0-jg":[[22,"streakDend"],[21,"streakDstart"],[20,"streakCend"],[19,"streakCstart"],[18,"flame"],[17,"streakBend"],[16,"streakBstart"],[15,"streakEnd"],[14,"streakStart"],[1,"align"],[2,"prejoint"],[3,"main"],[4,"destA"],[5,"destB"],[6,"destC"],[7,"destD"],[8,"destE"],[9,"srcA"],[10,"srcB"],[11,"srcC"],[12,"scrD"],[13,"srcE"]],"squid-grenade-lod0-jg":[[4,"thrust"],[3,"main"],[2,"prejoint"],[1,"align"]],"squid-lights-lod0-jg":[[15,"coneFR"],[14,"coneER"],[1,"align"],[2,"prejoint"],[3,"main"],[4,"coneAL"],[5,"coneBL"],[6,"coneCL"],[7,"coneDL"],[8,"coneEL"],[9,"coneFL"],[10,"coneAR"],[11,"coneBR"],[12,"coneCR"],[13,"coneDR"]],"squid-lod0-jg":[[78,"hatchAftR"],[77,"hatchForeR"],[76,"hatchAftL"],[75,"hatchForeL"],[74,"strutAftREND"],[73,"strutForeREND"],[72,"strutAftLEND"],[71,"strutForeLEND"],[70,"shieldStrutAftR"],[69,"shieldStrutForeR"],[68,"shieldStrutAftL"],[67,"shieldStrutForeL"],[66,"canopy"],[65,"Lpedal"],[64,"Rpedal"],[63,"LforeStick"],[62,"LaftStick"],[61,"RforeStick"],[60,"RaftStick"],[29,"thrusterArmBotMidR"],[28,"thrusterArmTopMidR"],[27,"thrusterArmTopR"],[26,"thrusterMountR"],[25,"thrustBL"],[24,"thrustAL"],[23,"thrusterL"],[22,"thrusterArmBotL"],[21,"thrusterArmBotMidL"],[20,"thrusterArmTopMidL"],[19,"thrusterArmTopL"],[18,"thrusterMountL"],[17,"thrusterBase"],[16,"shieldMid"],[15,"miniShield"],[14,"hinge"],[1,"align"],[2,"prejoint"],[3,"main"],[4,"body"],[5,"cockpit"],[6,"tentacleBase"],[7,"tentA"],[8,"tentB"],[9,"tentC"],[10,"tentD"],[11,"tentE"],[12,"tentF"],[13,"shield"],[30,"thrusterArmBotR"],[31,"thrusterR"],[32,"thrustAR"],[33,"thrustBR"],[34,"exhaustL"],[35,"exhaustR"],[36,"gunL"],[37,"gunBaseTopL"],[38,"gunSquashTopL"],[39,"gunTipTopL"],[40,"gunBaseBotL"],[41,"gunSquashBotL"],[42,"gunTipBotL"],[43,"gunR"],[44,"gunBaseTopR"],[45,"gunSquashTopR"],[46,"gunTipTopR"],[47,"gunBaseBotR"],[48,"gunSquashBotR"],[49,"gunTipBotR"],[50,"podL"],[51,"grenadeAL"],[52,"grenadeBL"],[53,"grenadeCL"],[54,"grenadeDL"],[55,"podR"],[56,"grenadeAR"],[57,"grenadeBR"],[58,"grenadeCR"],[59,"grenadeDR"]],"squid-squid-shield-lod0-jg":[[66,"thrusterRD"],[65,"thrusterRC"],[64,"thrusterRB"],[63,"thrusterR"],[62,"thrusterMountRB"],[61,"thrusterMountR"],[60,"thrusterMountLB"],[29,"podLB"],[28,"podL"],[27,"miniShieldD"],[26,"miniShieldC"],[25,"miniShieldB"],[24,"miniShield"],[23,"gunSquashTopRB"],[22,"gunSquashTopR"],[21,"gunSquashTopLB"],[20,"gunSquashTopL"],[19,"gunSquashBotRB"],[18,"gunSquashBotR"],[17,"gunSquashBotLB"],[16,"gunSquashBotL"],[15,"cockpitL"],[14,"cockpitK"],[1,"align"],[2,"prejoint"],[3,"main"],[4,"cockpit"],[5,"cockpitB"],[6,"cockpitC"],[7,"cockpitD"],[8,"cockpitE"],[9,"cockpitF"],[10,"cockpitG"],[11,"cockpitH"],[12,"cockpitI"],[13,"cockpitJ"],[30,"podLC"],[31,"podR"],[32,"podRB"],[33,"podRC"],[34,"shield"],[35,"shieldB"],[36,"shieldMid"],[37,"shieldMidB"],[38,"shieldMidC"],[39,"tentacleBase"],[40,"tentacleBaseB"],[41,"tentacleBaseC"],[42,"tentacleBaseD"],[43,"tentacleBaseE"],[44,"thrusterArmBotMidL"],[45,"thrusterArmBotMidLB"],[46,"thrusterArmBotMidR"],[47,"thrusterArmBotR"],[48,"thrusterArmTopMidL"],[49,"thrusterArmTopMidR"],[50,"thrusterBase"],[51,"thrusterBaseB"],[52,"thrusterBaseC"],[53,"thrusterBaseD"],[54,"thrusterL"],[55,"thrusterLB"],[56,"thrusterLC"],[57,"thrusterLD"],[58,"thrusterLE"],[59,"thrusterMountL"]],"squid-tentacle-lod0-jg":[[14,"tentaclePick"],[1,"align"],[2,"prejoint"],[3,"tentacleA"],[4,"tentacleB"],[5,"tentacleC"],[6,"tentacleD"],[7,"tentacleE"],[8,"tentacleF"],[9,"tentacleG"],[10,"tentacleH"],[11,"tentacleI"],[12,"tentacleJ"],[13,"tentacleK"]],"squid-tentacle-shield-lod0-jg":[[29,"tentacleBB"],[28,"tentacleCC"],[27,"tentacleDD"],[26,"tentacleGGG"],[25,"tentacleGG"],[24,"tentacleII"],[23,"tentacleJJJ"],[22,"tentacleJJ"],[21,"tentacleKKKK"],[20,"tentacleKKK"],[19,"tentacleKK"],[18,"tentaclePick4"],[17,"tentaclePick3"],[16,"tentaclePick2"],[15,"tentaclePick1"],[14,"tentaclePick"],[1,"align"],[2,"prejoint"],[3,"tentacleA"],[4,"tentacleB"],[5,"tentacleC"],[6,"tentacleD"],[7,"tentacleE"],[8,"tentacleF"],[9,"tentacleG"],[10,"tentacleH"],[11,"tentacleI"],[12,"tentacleJ"],[13,"tentacleK"]],"stad-c-force-field-lod0-jg":[[3,"main"],[2,"prejoint"],[1,"align"]],"stad-d-force-field-lod0-jg":[[3,"main"],[2,"prejoint"],[1,"align"]],"stad-force-field-lod0-jg":[[3,"main"],[2,"prejoint"],[1,"align"]],"stadium-barrier-lod0-jg":[[3,"boneless"],[2,"prejoint"],[1,"align"]],"stadium-racer-lod0-jg":[[29,"gun"],[28,"Rshoulderplate"],[27,"Lshoulderplate"],[26,"Rarmplate"],[25,"Larmplate"],[24,"RmiddleA"],[23,"RthumbA"],[22,"Rhand"],[21,"LmiddleA"],[20,"LthumbA"],[19,"Lhand"],[18,"mask"],[17,"head"],[16,"Rankle"],[15,"Rknee"],[14,"Rthigh"],[1,"align"],[2,"prejoint"],[3,"main"],[4,"chest"],[5,"neck"],[6,"Lshoulder"],[7,"Lelbow"],[8,"Rshoulder"],[9,"Relbow"],[10,"hips"],[11,"Lthigh"],[12,"Lknee"],[13,"Lankle"]],"stdm-baron-box-lod0-jg":[[19,"thruster_d"],[18,"thruster_c"],[17,"thruster_b"],[16,"thruster_a"],[15,"Rbanner_f"],[14,"Rbanner_e"],[1,"align"],[2,"prejoint"],[3,"main"],[4,"Lbanner_a"],[5,"Lbanner_b"],[6,"Lbanner_c"],[7,"Lbanner_d"],[8,"Lbanner_e"],[9,"Lbanner_f"],[10,"Rbanner_a"],[11,"Rbanner_b"],[12,"Rbanner_c"],[13,"Rbanner_d"]],"stdm-barrels-lod0-jg":[[19,"p"],[18,"o"],[17,"n"],[16,"m"],[15,"l"],[14,"k"],[1,"align"],[2,"prejoint"],[3,"main"],[4,"a"],[5,"b"],[6,"c"],[7,"d"],[8,"e"],[9,"f"],[10,"g"],[11,"h"],[12,"i"],[13,"j"]],"stdmb-race-hatch-lod0-jg":[[5,"rightdoor"],[4,"leftdoor"],[3,"main"],[2,"prejoint"],[1,"align"]],"strip-chain-crate-lod0-jg":[[3,"main"],[2,"prejoint"],[1,"align"]],"strip-conveyor-lod0-jg":[[3,"boneless"],[2,"prejoint"],[1,"align"]],"strip-game-crate-lod0-jg":[[14,"block"],[1,"align"],[2,"prejoint"],[3,"main"],[4,"cable1"],[5,"cable2"],[6,"cable3"],[7,"cable4"],[8,"cable5"],[9,"cable6"],[10,"cable7"],[11,"hook1"],[12,"hook2"],[13,"button"]],"talk-box-lod0-jg":[[3,"main"],[2,"prejoint"],[1,"align"]],"tanker-barrels-lod0-jg":[[16,"nn"],[15,"mm"],[14,"ll"],[1,"align"],[2,"prejoint"],[3,"aa"],[4,"bb"],[5,"cc"],[6,"dd"],[7,"ee"],[8,"ff"],[9,"gg"],[10,"hh"],[11,"ii"],[12,"jj"],[13,"kk"]],"tanker-container-lod0-jg":[[4,"lid"],[3,"main"],[2,"prejoint"],[1,"align"]],"tanker-crash-lod0-jg":[[8,"tractor"],[7,"trailer_a"],[6,"trailer_b"],[5,"chain3"],[4,"chain2"],[3,"chain1"],[2,"prejoint"],[1,"align"]],"tanker-lod0-jg":[[24,"n"],[23,"m"],[22,"l"],[21,"k"],[20,"j"],[19,"i"],[18,"h"],[17,"g"],[16,"f"],[15,"e"],[14,"d"],[1,"align"],[2,"prejoint"],[3,"explode_a"],[4,"explode_b"],[5,"chain1"],[6,"chain2"],[7,"chain3"],[8,"trailer_b"],[9,"trailer_a"],[10,"tractor"],[11,"a"],[12,"b"],[13,"c"]],"tanker-one-barrel-lod0-jg":[[3,"main"],[2,"prejoint"],[1,"align"]],"tanker-roof-break-lod0-jg":[[55,"az"],[54,"ay"],[53,"ax"],[52,"aw"],[51,"av"],[50,"au"],[49,"at"],[48,"as"],[47,"ar"],[46,"aq"],[45,"ap"],[44,"ao"],[43,"an"],[42,"am"],[41,"al"],[40,"ak"],[39,"aj"],[38,"ai"],[37,"ah"],[36,"ag"],[35,"af"],[34,"ae"],[33,"ad"],[32,"ac"],[31,"ab"],[30,"aa"],[13,"k"],[12,"j"],[11,"i"],[10,"h"],[9,"g"],[8,"f"],[7,"e"],[6,"d"],[5,"c"],[4,"b"],[3,"explode"],[2,"prejoint"],[1,"align"],[14,"l"],[15,"m"],[16,"n"],[17,"o"],[18,"p"],[19,"q"],[20,"r"],[21,"s"],[22,"t"],[23,"u"],[24,"v"],[25,"w"],[26,"x"],[27,"y"],[28,"z"],[29,"zz"]],"tess-highres-lod0-jg":[[65,"RringC"],[64,"RringB"],[63,"RringA"],[62,"RmiddleC"],[61,"RmiddleB"],[60,"RmiddleA"],[29,"LpinkyC"],[28,"LpinkyB"],[27,"LpinkyA"],[26,"LindexC"],[25,"LindexB"],[24,"LindexA"],[23,"LthumbB"],[22,"LthumbA"],[21,"Lhand"],[20,"Lelbow"],[19,"Lshoulder"],[18,"Lfrhairb"],[17,"Lfrhaira"],[16,"Rfrhairb"],[15,"Rfrhaira"],[14,"Rearb"],[1,"align"],[2,"prejoint"],[3,"main"],[4,"chest"],[5,"neck"],[6,"head"],[7,"Backhaira"],[8,"Backhairb"],[9,"Backhairc"],[10,"Backhaird"],[11,"Leara"],[12,"Learb"],[13,"Reara"],[30,"Rshoulder"],[31,"Relbow"],[32,"Rhand"],[33,"RthumbA"],[34,"RthumbB"],[35,"RindexA"],[36,"RindexB"],[37,"RindexC"],[38,"RpinkyA"],[39,"RpinkyB"],[40,"RpinkyC"],[41,"Ltit"],[42,"Rtit"],[43,"hips"],[44,"Lthigh"],[45,"Lknee"],[46,"Lankle"],[47,"Lball"],[48,"Rthigh"],[49,"Rknee"],[50,"Rankle"],[51,"Rball"],[52,"LthumbC"],[53,"LmiddleA"],[54,"LmiddleB"],[55,"LmiddleC"],[56,"LringA"],[57,"LringB"],[58,"LringC"],[59,"RthumbC"]],"throne-throne-lod0-jg":[[3,"main_"],[2,"prejoint"],[1,"align"]],"throwblock-lod0-jg":[[3,"top"],[2,"prejoint"],[1,"align"]],"time-map-lod0-jg":[[23,"center_ring_bottom"],[22,"center_ring_top"],[21,"time_map_glow"],[20,"center_sphere"],[19,"l"],[18,"k"],[17,"j"],[16,"i"],[15,"h"],[14,"g"],[1,"align"],[2,"prejoint"],[3,"bottom"],[4,"top"],[5,"star"],[6,"top_ring"],[7,"bottom_ring"],[8,"a"],[9,"b"],[10,"c"],[11,"d"],[12,"e"],[13,"f"]],"tomb-baby-spider-lod0-jg":[[26,"right_fangEND"],[25,"left_fangEND"],[24,"jaw"],[23,"right_fang"],[22,"left_fang"],[21,"right_metatarsus_d"],[20,"right_temur_d"],[19,"right_metatarsus_c"],[18,"right_temur_c"],[17,"right_metatarsus_b"],[16,"right_temur_b"],[15,"right_metatarsus_a"],[14,"right_temur_a"],[1,"align"],[2,"prejoint"],[3,"main"],[4,"abdomen"],[5,"abCollision"],[6,"left_temur_a"],[7,"left_metatarsus_a"],[8,"left_temur_b"],[9,"left_metatarsus_b"],[10,"left_temur_c"],[11,"left_metatarsus_c"],[12,"left_temur_d"],[13,"left_metatarsus_d"]],"tomb-beetle-door-lod0-jg":[[5,"Rdoor"],[4,"Ldoor"],[3,"main"],[2,"prejoint"],[1,"align"]],"tomb-beetle-lod0-jg":[[22,"Rwing"],[21,"Rshell"],[20,"Lwing"],[19,"Lshell"],[18,"Rantennae"],[17,"Lantennae"],[16,"RhindlegB"],[15,"RhindlegA"],[14,"RmidlegB"],[1,"align"],[2,"prejoint"],[3,"main"],[4,"head"],[5,"LfrontlegA"],[6,"LfrontlegB"],[7,"LmidlegA"],[8,"LmidlegB"],[9,"LhindlegA"],[10,"LhindlegB"],[11,"RfrontlegA"],[12,"RfrontlegB"],[13,"RmidlegA"]],"tomb-boss-bridge-a-lod0-jg":[[55,"ay"],[54,"ax"],[53,"aw"],[52,"av"],[51,"au"],[50,"at"],[49,"as"],[48,"ar"],[47,"aq"],[46,"ap"],[45,"ao"],[44,"an"],[43,"am"],[42,"al"],[41,"ak"],[40,"aj"],[39,"ai"],[38,"ah"],[37,"ag"],[36,"af"],[35,"ae"],[34,"ad"],[33,"ac"],[32,"ab"],[31,"aa"],[30,"main"],[13,"j"],[12,"i"],[11,"h"],[10,"g"],[9,"f"],[8,"e"],[7,"d"],[6,"c"],[5,"b"],[4,"a"],[3,"explode"],[2,"prejoint"],[1,"align"],[14,"k"],[15,"l"],[16,"m"],[17,"n"],[18,"o"],[19,"p"],[20,"q"],[21,"r"],[22,"s"],[23,"t"],[24,"u"],[25,"v"],[26,"w"],[27,"x"],[28,"y"],[29,"z"]],"tomb-boss-bridge-b-lod0-jg":[[56,"ay"],[55,"ax"],[54,"aw"],[53,"av"],[52,"au"],[51,"at"],[50,"as"],[49,"ar"],[48,"aq"],[47,"ap"],[46,"ao"],[45,"an"],[44,"am"],[43,"al"],[42,"ak"],[41,"aj"],[40,"ai"],[39,"ah"],[38,"ag"],[37,"af"],[36,"ae"],[35,"ad"],[34,"ac"],[33,"ab"],[32,"aa"],[31,"main"],[30,"z"],[13,"i"],[12,"h"],[11,"g"],[10,"f"],[9,"e"],[8,"d"],[7,"c"],[6,"b"],[5,"a"],[4,"explode_b"],[3,"explode_a"],[2,"prejoint"],[1,"align"],[14,"j"],[15,"k"],[16,"l"],[17,"m"],[18,"n"],[19,"o"],[20,"p"],[21,"q"],[22,"r"],[23,"s"],[24,"t"],[25,"u"],[26,"v"],[27,"w"],[28,"x"],[29,"y"]],"tomb-boss-catwalk-a-lod0-jg":[[50,"at"],[49,"as"],[48,"ar"],[47,"aq"],[46,"ap"],[45,"ao"],[44,"an"],[43,"am"],[42,"al"],[41,"ak"],[40,"aj"],[39,"ai"],[38,"ah"],[37,"ag"],[36,"af"],[35,"ae"],[34,"ad"],[33,"ac"],[32,"ab"],[31,"aa"],[30,"main"],[13,"j"],[12,"i"],[11,"h"],[10,"g"],[9,"f"],[8,"e"],[7,"d"],[6,"c"],[5,"b"],[4,"a"],[3,"explode"],[2,"prejoint"],[1,"align"],[14,"k"],[15,"l"],[16,"m"],[17,"n"],[18,"o"],[19,"p"],[20,"q"],[21,"r"],[22,"s"],[23,"t"],[24,"u"],[25,"v"],[26,"w"],[27,"x"],[28,"y"],[29,"z"]],"tomb-boss-catwalk-b-lod0-jg":[[56,"az"],[55,"ay"],[54,"ax"],[53,"aw"],[52,"av"],[51,"au"],[50,"at"],[49,"as"],[48,"ar"],[47,"aq"],[46,"ap"],[45,"ao"],[44,"an"],[43,"am"],[42,"al"],[41,"ak"],[40,"aj"],[39,"ai"],[38,"ah"],[37,"ag"],[36,"af"],[35,"ae"],[34,"ad"],[33,"ac"],[32,"ab"],[31,"aa"],[30,"main"],[13,"j"],[12,"i"],[11,"h"],[10,"g"],[9,"f"],[8,"e"],[7,"d"],[6,"c"],[5,"b"],[4,"a"],[3,"explode"],[2,"prejoint"],[1,"align"],[14,"k"],[15,"l"],[16,"m"],[17,"n"],[18,"o"],[19,"p"],[20,"q"],[21,"r"],[22,"s"],[23,"t"],[24,"u"],[25,"v"],[26,"w"],[27,"x"],[28,"y"],[29,"z"]],"tomb-boss-catwalk-c-lod0-jg":[[42,"al"],[41,"ak"],[40,"aj"],[39,"ai"],[38,"ah"],[37,"ag"],[36,"af"],[35,"ae"],[34,"ad"],[33,"ac"],[32,"ab"],[31,"aa"],[30,"main"],[13,"j"],[12,"i"],[11,"h"],[10,"g"],[9,"f"],[8,"e"],[7,"d"],[6,"c"],[5,"b"],[4,"a"],[3,"explode"],[2,"prejoint"],[1,"align"],[14,"k"],[15,"l"],[16,"m"],[17,"n"],[18,"o"],[19,"p"],[20,"q"],[21,"r"],[22,"s"],[23,"t"],[24,"u"],[25,"v"],[26,"w"],[27,"x"],[28,"y"],[29,"z"]],"tomb-boss-catwalk-d-lod0-jg":[[47,"aq"],[46,"ap"],[45,"ao"],[44,"an"],[43,"am"],[42,"al"],[41,"ak"],[40,"aj"],[39,"ai"],[38,"ah"],[37,"ag"],[36,"af"],[35,"ae"],[34,"ad"],[33,"ac"],[32,"ab"],[31,"aa"],[30,"main"],[13,"j"],[12,"i"],[11,"h"],[10,"g"],[9,"f"],[8,"e"],[7,"d"],[6,"c"],[5,"b"],[4,"a"],[3,"explode"],[2,"prejoint"],[1,"align"],[14,"k"],[15,"l"],[16,"m"],[17,"n"],[18,"o"],[19,"p"],[20,"q"],[21,"r"],[22,"s"],[23,"t"],[24,"u"],[25,"v"],[26,"w"],[27,"x"],[28,"y"],[29,"z"]],"tomb-boss-catwalk-e-lod0-jg":[[49,"bk"],[48,"bj"],[47,"bi"],[46,"bh"],[45,"bg"],[44,"bf"],[43,"be"],[42,"bd"],[41,"bc"],[40,"bb"],[39,"ba"],[38,"az"],[37,"ay"],[36,"ax"],[35,"aw"],[34,"av"],[33,"au"],[32,"at"],[31,"as"],[30,"ar"],[13,"r"],[12,"q"],[11,"p"],[10,"o"],[9,"j"],[8,"i"],[7,"h"],[6,"g"],[5,"d"],[4,"c"],[3,"explode"],[2,"prejoint"],[1,"align"],[14,"s"],[15,"t"],[16,"y"],[17,"z"],[18,"main"],[19,"aa"],[20,"ab"],[21,"ac"],[22,"ad"],[23,"ae"],[24,"ag"],[25,"ah"],[26,"ai"],[27,"an"],[28,"ap"],[29,"aq"]],"tomb-boss-catwalk-f-lod0-jg":[[53,"aw"],[52,"av"],[51,"au"],[50,"at"],[49,"as"],[48,"ar"],[47,"aq"],[46,"ap"],[45,"ao"],[44,"an"],[43,"am"],[42,"al"],[41,"ak"],[40,"aj"],[39,"ai"],[38,"ah"],[37,"ag"],[36,"af"],[35,"ae"],[34,"ad"],[33,"ac"],[32,"ab"],[31,"aa"],[30,"main"],[13,"j"],[12,"i"],[11,"h"],[10,"g"],[9,"f"],[8,"e"],[7,"d"],[6,"c"],[5,"b"],[4,"a"],[3,"explode"],[2,"prejoint"],[1,"align"],[14,"k"],[15,"l"],[16,"m"],[17,"n"],[18,"o"],[19,"p"],[20,"q"],[21,"r"],[22,"s"],[23,"t"],[24,"u"],[25,"v"],[26,"w"],[27,"x"],[28,"y"],[29,"z"]],"tomb-boss-catwalk-g-lod0-jg":[[52,"av"],[51,"au"],[50,"at"],[49,"as"],[48,"ar"],[47,"aq"],[46,"ap"],[45,"ao"],[44,"an"],[43,"am"],[42,"al"],[41,"ak"],[40,"aj"],[39,"ai"],[38,"ah"],[37,"ag"],[36,"af"],[35,"ae"],[34,"ad"],[33,"ac"],[32,"ab"],[31,"aa"],[30,"main"],[13,"j"],[12,"i"],[11,"h"],[10,"g"],[9,"f"],[8,"e"],[7,"d"],[6,"c"],[5,"b"],[4,"a"],[3,"explode"],[2,"prejoint"],[1,"align"],[14,"k"],[15,"l"],[16,"m"],[17,"n"],[18,"o"],[19,"p"],[20,"q"],[21,"r"],[22,"s"],[23,"t"],[24,"u"],[25,"v"],[26,"w"],[27,"x"],[28,"y"],[29,"z"]],"tomb-boss-catwalk-main-lod0-jg":[[11,"h"],[10,"g"],[9,"f"],[8,"e"],[7,"d"],[6,"c"],[5,"b"],[4,"a"],[3,"main"],[2,"prejoint"],[1,"align"]],"tomb-boss-debris-a-lod0-jg":[[3,"main"],[2,"prejoint"],[1,"align"]],"tomb-boss-debris-b-lod0-jg":[[3,"main"],[2,"prejoint"],[1,"align"]],"tomb-boss-debris-c-lod0-jg":[[3,"main"],[2,"prejoint"],[1,"align"]],"tomb-boss-debris-d-lod0-jg":[[3,"main"],[2,"prejoint"],[1,"align"]],"tomb-boss-debris-e-lod0-jg":[[3,"main"],[2,"prejoint"],[1,"align"]],"tomb-boss-debris-f-lod0-jg":[[3,"main"],[2,"prejoint"],[1,"align"]],"tomb-boss-debris-g-lod0-jg":[[3,"main"],[2,"prejoint"],[1,"align"]],"tomb-boss-debris-h-lod0-jg":[[3,"main"],[2,"prejoint"],[1,"align"]],"tomb-boss-debris-i-lod0-jg":[[3,"main"],[2,"prejoint"],[1,"align"]],"tomb-boss-door-lod0-jg":[[5,"doorL"],[4,"doorR"],[3,"main"],[2,"prejoint"],[1,"align"]],"tomb-boss-explode-a-lod0-jg":[[56,"ds"],[55,"dr"],[54,"dq"],[53,"dp"],[52,"do"],[51,"dn"],[50,"dm"],[49,"dl"],[48,"dk"],[47,"dj"],[46,"di"],[45,"dh"],[44,"dg"],[43,"df"],[42,"de"],[41,"dd"],[40,"dc"],[39,"db"],[38,"da"],[37,"cz"],[36,"cy"],[35,"cx"],[34,"cw"],[33,"cv"],[32,"cu"],[31,"ct"],[30,"cs"],[13,"cb"],[12,"ca"],[11,"bz"],[10,"by"],[9,"bx"],[8,"bw"],[7,"bv"],[6,"bu"],[5,"bt"],[4,"bs"],[3,"main"],[2,"prejoint"],[1,"align"],[14,"cc"],[15,"cd"],[16,"ce"],[17,"cf"],[18,"cg"],[19,"ch"],[20,"ci"],[21,"cj"],[22,"ck"],[23,"cl"],[24,"cm"],[25,"cn"],[26,"co"],[27,"cp"],[28,"cq"],[29,"cr"]],"tomb-boss-explode-lod0-jg":[[73,"bq"],[72,"bp"],[71,"bo"],[70,"bn"],[69,"bm"],[68,"bl"],[67,"bk"],[66,"bj"],[65,"bi"],[64,"bh"],[63,"bg"],[62,"bf"],[61,"be"],[60,"bd"],[29,"z"],[28,"y"],[27,"x"],[26,"w"],[25,"v"],[24,"u"],[23,"t"],[22,"s"],[21,"r"],[20,"q"],[19,"p"],[18,"o"],[17,"n"],[16,"m"],[15,"l"],[14,"k"],[1,"align"],[2,"prejoint"],[3,"explode"],[4,"main"],[5,"b"],[6,"c"],[7,"d"],[8,"e"],[9,"f"],[10,"g"],[11,"h"],[12,"i"],[13,"j"],[30,"zz"],[31,"aa"],[32,"ab"],[33,"ac"],[34,"ad"],[35,"ae"],[36,"af"],[37,"ag"],[38,"ah"],[39,"ai"],[40,"aj"],[41,"ak"],[42,"al"],[43,"am"],[44,"an"],[45,"ao"],[46,"ap"],[47,"aq"],[48,"ar"],[49,"as"],[50,"at"],[51,"au"],[52,"av"],[53,"aw"],[54,"ax"],[55,"ay"],[56,"az"],[57,"ba"],[58,"bb"],[59,"bc"]],"tomb-boss-firepot-lod0-jg":[[21,"p"],[20,"o"],[19,"n"],[18,"m"],[17,"l"],[16,"k"],[15,"j"],[14,"i"],[1,"align"],[2,"prejoint"],[3,"flame"],[4,"explode"],[5,"main"],[6,"a"],[7,"b"],[8,"c"],[9,"d"],[10,"e"],[11,"f"],[12,"g"],[13,"h"]],"tomb-boss-pillar-lod0-jg":[[42,"aj"],[41,"ai"],[40,"ah"],[39,"ag"],[38,"af"],[37,"ae"],[36,"ad"],[35,"ac"],[34,"ab"],[33,"aa"],[32,"zz"],[31,"z"],[30,"y"],[13,"h"],[12,"g"],[11,"f"],[10,"e"],[9,"d"],[8,"c"],[7,"b"],[6,"a"],[5,"explode"],[4,"seg_blast"],[3,"main"],[2,"prejoint"],[1,"align"],[14,"i"],[15,"j"],[16,"k"],[17,"l"],[18,"m"],[19,"n"],[20,"o"],[21,"p"],[22,"q"],[23,"r"],[24,"s"],[25,"t"],[26,"u"],[27,"v"],[28,"w"],[29,"x"]],"tomb-boulder-door-lod0-jg":[[3,"main_"],[2,"prejoint"],[1,"align"]],"tomb-boulder-explode-lod0-jg":[[41,"al"],[40,"ak"],[39,"aj"],[38,"ai"],[37,"ah"],[36,"ag"],[35,"af"],[34,"ae"],[33,"ad"],[32,"ac"],[31,"ab"],[30,"aa"],[13,"j"],[12,"i"],[11,"h"],[10,"g"],[9,"f"],[8,"e"],[7,"d"],[6,"c"],[5,"b"],[4,"a"],[3,"main"],[2,"prejoint"],[1,"align"],[14,"k"],[15,"l"],[16,"m"],[17,"n"],[18,"o"],[19,"p"],[20,"q"],[21,"r"],[22,"s"],[23,"t"],[24,"u"],[25,"v"],[26,"w"],[27,"x"],[28,"y"],[29,"z"]],"tomb-boulder-lod0-jg":[[4,"boulderrot"],[3,"main"],[2,"prejoint"],[1,"align"]],"tomb-boulder-pillar-lod0-jg":[[3,"main"],[2,"prejoint"],[1,"align"]],"tomb-boulder-spider-lod0-jg":[[40,"right_palp"],[39,"left_palp"],[38,"right_tarsus_d"],[37,"right_metatarsus_d"],[36,"right_patella_d"],[35,"right_temur_d"],[34,"right_tarsus_c"],[33,"right_metatarsus_c"],[32,"right_patella_c"],[31,"right_temur_c"],[30,"right_tarsus_b"],[13,"left_metatarsus_b"],[12,"left_patella_b"],[11,"left_temur_b"],[10,"left_tarsus_a"],[9,"left_metatarsus_a"],[8,"left_patella_a"],[7,"left_temur_a"],[6,"abdomen"],[5,"jaw_open"],[4,"head"],[3,"main"],[2,"prejoint"],[1,"align"],[14,"left_tarsus_b"],[15,"left_temur_c"],[16,"left_patella_c"],[17,"left_metatarsus_c"],[18,"left_tarsus_c"],[19,"left_temur_d"],[20,"left_patella_d"],[21,"left_metatarsus_d"],[22,"left_tarsus_d"],[23,"right_temur_a"],[24,"right_patella_a"],[25,"right_metatarsus_a"],[26,"right_tarsus_a"],[27,"right_temur_b"],[28,"right_patella_b"],[29,"right_metatarsus_b"]],"tomb-boulder-stick-lod0-jg":[[3,"main_"],[2,"prejoint"],[1,"align"]],"tomb-boulder-stop-lod0-jg":[[52,"as"],[51,"ar"],[50,"aq"],[49,"ao"],[48,"ap"],[47,"an"],[46,"am"],[45,"al"],[44,"ak"],[43,"aj"],[42,"ai"],[41,"ah"],[40,"ag"],[39,"af"],[38,"ae"],[37,"ad"],[36,"ac"],[35,"ab"],[34,"aa"],[33,"z"],[32,"y"],[31,"x"],[30,"w"],[13,"f"],[12,"e"],[11,"d"],[10,"c"],[9,"b"],[8,"a"],[7,"main"],[6,"explode_d"],[5,"explode_c"],[4,"explode_b"],[3,"explode_a"],[2,"prejoint"],[1,"align"],[14,"g"],[15,"h"],[16,"i"],[17,"j"],[18,"k"],[19,"l"],[20,"m"],[21,"n"],[22,"o"],[23,"p"],[24,"q"],[25,"r"],[26,"s"],[27,"t"],[28,"u"],[29,"v"]],"tomb-boulder-wing-door-lod0-jg":[[5,"leftdoor"],[4,"rightdoor"],[3,"main"],[2,"prejoint"],[1,"align"]],"tomb-bounce-web-lod0-jg":[[4,"tarp"],[3,"base"],[2,"prejoint"],[1,"align"]],"tomb-button-lod0-jg":[[3,"main"],[2,"prejoint"],[1,"align"]],"tomb-door-lod0-jg":[[5,"Rdoor"],[4,"Ldoor"],[3,"main"],[2,"prejoint"],[1,"align"]],"tomb-elevator-lod0-jg":[[4,"spoke_rotate"],[3,"main"],[2,"prejoint"],[1,"align"]],"tomb-mar-door-lod0-jg":[[3,"main"],[2,"prejoint"],[1,"align"]],"tomb-move-swing-pole-lod0-jg":[[3,"main"],[2,"prejoint"],[1,"align"]],"tomb-plat-pillar-lod0-jg":[[3,"main"],[2,"prejoint"],[1,"align"]],"tomb-plat-return-lod0-jg":[[3,"main"],[2,"prejoint"],[1,"align"]],"tomb-plat-simon-lod0-jg":[[3,"main"],[2,"prejoint"],[1,"align"]],"tomb-plat-wall-lod0-jg":[[3,"main"],[2,"prejoint"],[1,"align"]],"tomb-simon-button-lod0-jg":[[7,"buttoncover4"],[6,"buttoncover3"],[5,"buttoncover2"],[4,"buttoncover1"],[3,"main"],[2,"prejoint"],[1,"align"]],"tomb-stair-block-lod0-jg":[[10,"riser4"],[9,"filler3"],[8,"riser3"],[7,"filler2"],[6,"riser2"],[5,"filler1"],[4,"riser1"],[3,"main"],[2,"prejoint"],[1,"align"]],"tomb-stair-block-spikes-lod0-jg":[[3,"main"],[2,"prejoint"],[1,"align"]],"tomb-vibe-lod0-jg":[[4,"shake"],[3,"main"],[2,"prejoint"],[1,"align"]],"tomb-wing-door-lod0-jg":[[5,"leftdoor"],[4,"rightdoor"],[3,"main"],[2,"prejoint"],[1,"align"]],"torn-highres-lod0-jg":[[65,"Rgun"],[64,"Lgun"],[63,"lshoulderplate"],[62,"Rhose"],[61,"Lhose"],[60,"sword"],[29,"Lknee"],[28,"Lthigh"],[27,"hips"],[26,"RpinkyC"],[25,"RpinkyB"],[24,"RpinkyA"],[23,"RthumbA"],[22,"Rhand"],[21,"Relbow"],[20,"Rshoulder"],[19,"LpinkyC"],[18,"LpinkyB"],[17,"LpinkyA"],[16,"LthumbA"],[15,"Lhand"],[14,"Lelbow"],[1,"align"],[2,"prejoint"],[3,"main"],[4,"chest"],[5,"neck"],[6,"head"],[7,"hairbase"],[8,"hairmid"],[9,"Rearbase"],[10,"Rmidear"],[11,"Learbase"],[12,"Lmidear"],[13,"Lshoulder"],[30,"Lankle"],[31,"Lball"],[32,"Rthigh"],[33,"Rknee"],[34,"Rankle"],[35,"Rball"],[36,"LthumbB"],[37,"LthumbC"],[38,"LindexA"],[39,"LindexB"],[40,"LindexC"],[41,"LmiddleA"],[42,"LmiddleB"],[43,"LmiddleC"],[44,"LringA"],[45,"LringB"],[46,"LringC"],[47,"RthumbB"],[48,"RthumbC"],[49,"RindexA"],[50,"RindexB"],[51,"RindexC"],[52,"RmiddleA"],[53,"RmiddleB"],[54,"RmiddleC"],[55,"RringA"],[56,"RringB"],[57,"RringC"],[58,"rshoulderplateA"],[59,"rshoulderplateB"]],"transport-lod0-jg":[[4,"hatch"],[3,"main"],[2,"prejoint"],[1,"align"]],"turbine-lod0-jg":[[3,"main_"],[2,"prejoint"],[1,"align"]],"under-break-bridge-b-lod0-jg":[[62,"bj"],[61,"bi"],[60,"bh"],[29,"zz"],[28,"z"],[27,"y"],[26,"x"],[25,"w"],[24,"v"],[23,"u"],[22,"t"],[21,"s"],[20,"r"],[19,"q"],[18,"p"],[17,"o"],[16,"n"],[15,"m"],[14,"l"],[1,"align"],[2,"prejoint"],[3,"main"],[4,"b"],[5,"c"],[6,"d"],[7,"e"],[8,"f"],[9,"g"],[10,"h"],[11,"i"],[12,"j"],[13,"k"],[30,"ab"],[31,"ac"],[32,"ad"],[33,"ae"],[34,"af"],[35,"ag"],[36,"ai"],[37,"aj"],[38,"ak"],[39,"al"],[40,"an"],[41,"ao"],[42,"ap"],[43,"aq"],[44,"ar"],[45,"as"],[46,"at"],[47,"au"],[48,"av"],[49,"aw"],[50,"ax"],[51,"ay"],[52,"az"],[53,"ba"],[54,"bb"],[55,"bc"],[56,"bd"],[57,"be"],[58,"bf"],[59,"bg"]],"under-break-bridge-lod0-jg":[[62,"bj"],[61,"bi"],[60,"bh"],[29,"zz"],[28,"z"],[27,"y"],[26,"x"],[25,"w"],[24,"v"],[23,"u"],[22,"t"],[21,"s"],[20,"r"],[19,"q"],[18,"p"],[17,"o"],[16,"n"],[15,"m"],[14,"l"],[1,"align"],[2,"prejoint"],[3,"main"],[4,"b"],[5,"c"],[6,"d"],[7,"e"],[8,"f"],[9,"g"],[10,"h"],[11,"i"],[12,"j"],[13,"k"],[30,"ab"],[31,"ac"],[32,"ad"],[33,"ae"],[34,"af"],[35,"ag"],[36,"ai"],[37,"aj"],[38,"ak"],[39,"al"],[40,"an"],[41,"ao"],[42,"ap"],[43,"aq"],[44,"ar"],[45,"as"],[46,"at"],[47,"au"],[48,"av"],[49,"aw"],[50,"ax"],[51,"ay"],[52,"az"],[53,"ba"],[54,"bb"],[55,"bc"],[56,"bd"],[57,"be"],[58,"bf"],[59,"bg"]],"under-break-ceiling-lod0-jg":[[18,"o"],[17,"n"],[16,"m"],[15,"l"],[14,"k"],[1,"align"],[2,"prejoint"],[3,"explode"],[4,"main"],[5,"b"],[6,"c"],[7,"d"],[8,"e"],[9,"f"],[10,"g"],[11,"h"],[12,"i"],[13,"j"]],"under-break-door-lod0-jg":[[14,"l"],[1,"align"],[2,"prejoint"],[3,"main"],[4,"b"],[5,"c"],[6,"d"],[7,"e"],[8,"f"],[9,"g"],[10,"h"],[11,"i"],[12,"j"],[13,"k"]],"under-break-floor-explode-lod0-jg":[[13,"k"],[12,"j"],[11,"i"],[10,"h"],[9,"g"],[8,"f"],[7,"e"],[6,"d"],[5,"c"],[4,"b"],[3,"a"],[2,"prejoint"],[1,"align"]],"under-break-floor-lod0-jg":[[3,"main"],[2,"prejoint"],[1,"align"]],"under-break-wall-b-lod0-jg":[[60,"bd"],[29,"z"],[28,"y"],[27,"x"],[26,"w"],[25,"v"],[24,"u"],[23,"t"],[22,"s"],[21,"r"],[20,"q"],[19,"p"],[18,"o"],[17,"n"],[16,"m"],[15,"l"],[14,"k"],[1,"align"],[2,"prejoint"],[3,"explode"],[4,"main"],[5,"b"],[6,"c"],[7,"d"],[8,"e"],[9,"f"],[10,"g"],[11,"h"],[12,"i"],[13,"j"],[30,"zz"],[31,"aa"],[32,"ab"],[33,"ac"],[34,"ad"],[35,"ae"],[36,"af"],[37,"ag"],[38,"ah"],[39,"ai"],[40,"aj"],[41,"ak"],[42,"al"],[43,"am"],[44,"an"],[45,"ao"],[46,"ap"],[47,"aq"],[48,"ar"],[49,"as"],[50,"at"],[51,"au"],[52,"av"],[53,"aw"],[54,"ax"],[55,"ay"],[56,"az"],[57,"ba"],[58,"bb"],[59,"bc"]],"under-break-wall-lod0-jg":[[60,"bd"],[29,"z"],[28,"y"],[27,"x"],[26,"w"],[25,"v"],[24,"u"],[23,"t"],[22,"s"],[21,"r"],[20,"q"],[19,"p"],[18,"o"],[17,"n"],[16,"m"],[15,"l"],[14,"k"],[1,"align"],[2,"prejoint"],[3,"explode"],[4,"main"],[5,"b"],[6,"c"],[7,"d"],[8,"e"],[9,"f"],[10,"g"],[11,"h"],[12,"i"],[13,"j"],[30,"zz"],[31,"aa"],[32,"ab"],[33,"ac"],[34,"ad"],[35,"ae"],[36,"af"],[37,"ag"],[38,"ah"],[39,"ai"],[40,"aj"],[41,"ak"],[42,"al"],[43,"am"],[44,"an"],[45,"ao"],[46,"ap"],[47,"aq"],[48,"ar"],[49,"as"],[50,"at"],[51,"au"],[52,"av"],[53,"aw"],[54,"ax"],[55,"ay"],[56,"az"],[57,"ba"],[58,"bb"],[59,"bc"]],"under-buoy-base-lod0-jg":[[6,"arm3"],[5,"arm2"],[4,"arm1"],[3,"main"],[2,"prejoint"],[1,"align"]],"under-buoy-chain-lod0-jg":[[4,"raise"],[3,"main"],[2,"prejoint"],[1,"align"]],"under-buoy-plat-lod0-jg":[[4,"risenode"],[3,"main"],[2,"prejoint"],[1,"align"]],"under-int-door-lod0-jg":[[4,"door_R"],[3,"door_L"],[2,"prejoint"],[1,"align"]],"under-laser-lod0-jg":[[3,"main"],[2,"prejoint"],[1,"align"]],"under-laser-shadow-lod0-jg":[[3,"main"],[2,"prejoint"],[1,"align"]],"under-lift-lod0-jg":[[3,"main"],[2,"prejoint"],[1,"align"]],"under-mine-explode-lod0-jg":[[19,"q"],[18,"p"],[17,"o"],[16,"n"],[15,"m"],[14,"l"],[1,"align"],[2,"prejoint"],[3,"a"],[4,"b"],[5,"c"],[6,"d"],[7,"e"],[8,"f"],[9,"g"],[10,"h"],[11,"i"],[12,"j"],[13,"k"]],"under-mine-lod0-jg":[[15,"head"],[14,"link_k"],[1,"align"],[2,"prejoint"],[3,"main"],[4,"link_a"],[5,"link_b"],[6,"link_c"],[7,"link_d"],[8,"link_e"],[9,"link_f"],[10,"link_g"],[11,"link_h"],[12,"link_i"],[13,"link_j"]],"under-plat-long-lod0-jg":[[3,"main"],[2,"prejoint"],[1,"align"]],"under-plat-shoot-lod0-jg":[[3,"main"],[2,"prejoint"],[1,"align"]],"under-plat-wall-lod0-jg":[[3,"main"],[2,"prejoint"],[1,"align"]],"under-rise-plat-lod0-jg":[[3,"main"],[2,"prejoint"],[1,"align"]],"under-seaweed-a-lod0-jg":[[7,"secd"],[6,"secc"],[5,"secb"],[4,"seca"],[3,"main"],[2,"prejoint"],[1,"align"]],"under-seaweed-b-lod0-jg":[[12,"Rsidee"],[11,"Rsided"],[10,"Rsidec"],[9,"Rsideb"],[8,"Rsidea"],[7,"Lsided"],[6,"Lsidec"],[5,"Lsideb"],[4,"Lsidea"],[3,"main"],[2,"prejoint"],[1,"align"]],"under-seaweed-c-lod0-jg":[[13,"secg"],[12,"secf"],[11,"sece"],[10,"secd"],[9,"secc"],[8,"secj"],[7,"seci"],[6,"sech"],[5,"secb"],[4,"seca"],[3,"main"],[2,"prejoint"],[1,"align"]],"under-seaweed-d-lod0-jg":[[9,"secf"],[8,"sece"],[7,"secd"],[6,"secc"],[5,"secb"],[4,"seca"],[3,"main"],[2,"prejoint"],[1,"align"]],"under-shoot-block-explode-lod0-jg":[[16,"n"],[15,"m"],[14,"l"],[1,"align"],[2,"prejoint"],[3,"a"],[4,"b"],[5,"c"],[6,"d"],[7,"e"],[8,"f"],[9,"g"],[10,"h"],[11,"i"],[12,"j"],[13,"k"]],"under-shoot-block-lod0-jg":[[3,"main"],[2,"prejoint"],[1,"align"]],"under-warp-lod0-jg":[[7,"dest"],[6,"D"],[5,"C"],[4,"B"],[3,"A"],[2,"prejoint"],[1,"align"]],"vehicle-explosion-lod0-jg":[[18,"frontfinl_"],[17,"frontfinr_"],[16,"tailfinl_"],[15,"tailfinr_"],[14,"rearbrakel_"],[1,"align"],[2,"prejoint"],[3,"main_"],[4,"fuseb_"],[5,"fusea_"],[6,"fusec_"],[7,"nosea_"],[8,"enginea_"],[9,"sheld_"],[10,"engineb_"],[11,"intake_"],[12,"rudder_"],[13,"rearbraker_"]],"vehicle-turret-lod0-jg":[[3,"main"],[2,"prejoint"],[1,"align"]],"vil-break-support-lod0-jg":[[29,"main"],[28,"z"],[27,"y"],[26,"x"],[25,"w"],[24,"v"],[23,"u"],[22,"t"],[21,"s"],[20,"r"],[19,"q"],[18,"p"],[17,"o"],[16,"n"],[15,"m"],[14,"l"],[1,"align"],[2,"prejoint"],[3,"a"],[4,"b"],[5,"c"],[6,"d"],[7,"e"],[8,"f"],[9,"g"],[10,"h"],[11,"i"],[12,"j"],[13,"k"]],"vil-sagesail-lod0-jg":[[3,"main"],[2,"prejoint"],[1,"align"]],"vil-windmill-sail-lod0-jg":[[3,"main"],[2,"prejoint"],[1,"align"]],"vil-windspinner-lod0-jg":[[3,"main"],[2,"prejoint"],[1,"align"]],"vin-door-ctyinda-lod0-jg":[[5,"Rdoor"],[4,"Ldoor"],[3,"main"],[2,"prejoint"],[1,"align"]],"vin-door-lod0-jg":[[5,"Rdoor"],[4,"Ldoor"],[3,"main"],[2,"prejoint"],[1,"align"]],"vin-lod0-jg":[[61,"Rball"],[60,"Lball"],[29,"frhairmid"],[28,"frhairbase"],[27,"hairmid"],[26,"hairbase"],[25,"Rearmid"],[24,"Rearbase"],[23,"Learmid"],[22,"Learbase"],[21,"blast"],[20,"gun"],[19,"Rankle"],[18,"Rknee"],[17,"Rthigh"],[16,"Lankle"],[15,"Lknee"],[14,"Lthigh"],[1,"align"],[2,"prejoint"],[3,"main"],[4,"chest"],[5,"neck"],[6,"head"],[7,"Lshoulder"],[8,"Lelbow"],[9,"Lhand"],[10,"Rshoulder"],[11,"Relbow"],[12,"Rhand"],[13,"hips"],[30,"LthumbA"],[31,"LthumbB"],[32,"LthumbC"],[33,"LindexA"],[34,"LindexB"],[35,"LindexC"],[36,"LmiddleA"],[37,"LmiddleB"],[38,"LmiddleC"],[39,"LringA"],[40,"LringB"],[41,"LringC"],[42,"LpinkyA"],[43,"LpinkyB"],[44,"LpinkyC"],[45,"RthumbA"],[46,"RthumbB"],[47,"RthumbC"],[48,"RindexA"],[49,"RindexB"],[50,"RindexC"],[51,"RmiddleA"],[52,"RmiddleB"],[53,"RmiddleC"],[54,"RringA"],[55,"RringB"],[56,"RringC"],[57,"RpinkyA"],[58,"RpinkyB"],[59,"RpinkyC"]],"vin-turbine-lod0-jg":[[3,"boneless"],[2,"prejoint"],[1,"align"]],"vortex-light-lod0-jg":[[7,"outerScale3"],[6,"outerScale2"],[5,"outerScale1"],[4,"innerScale"],[3,"main"],[2,"prejoint"],[1,"align"]],"warp-gate-b-lod0-jg":[[9,"innerIn"],[8,"innerOut"],[7,"middleIn"],[6,"middleOut"],[5,"outerIn"],[4,"outerOut"],[3,"main"],[2,"prejoint"],[1,"align"]],"warp-gate-lod0-jg":[[9,"innerIn"],[8,"innerOut"],[7,"middleIn"],[6,"middleOut"],[5,"outerIn"],[4,"outerOut"],[3,"main"],[2,"prejoint"],[1,"align"]],"wasp-explode-lod0-jg":[[11,"i"],[10,"h"],[9,"g"],[8,"f"],[7,"e"],[6,"d"],[5,"c"],[4,"b"],[3,"a"],[2,"prejoint"],[1,"align"]],"wasp-lod0-jg":[[37,"RmiddleB"],[36,"RmiddleA"],[35,"RthumbB"],[34,"RthumbA"],[33,"LmiddleB"],[32,"LmiddleA"],[31,"LthumbB"],[30,"LthumbA"],[13,"Rturbine"],[12,"Rengine"],[11,"RengineBase"],[10,"Lturbine"],[9,"Lengine"],[8,"LengineBase"],[7,"head"],[6,"neckB"],[5,"neckA"],[4,"chest"],[3,"main"],[2,"prejoint"],[1,"align"],[14,"hips"],[15,"gunBase"],[16,"LgunSwivel"],[17,"Lrecoil"],[18,"LgunBarrell"],[19,"LgunTip"],[20,"RgunSwivel"],[21,"Rrecoil"],[22,"RgunBarrell"],[23,"RgunTip"],[24,"Lshoulder"],[25,"Lelbow"],[26,"Lhand"],[27,"Rshoulder"],[28,"Relbow"],[29,"Rhand"]],"water-anim-ctypal-long-grnd-pool-lod0-jg":[[3,"boneless"],[2,"prejoint"],[1,"align"]],"water-anim-ctypal-lrgfloor-pool-lod0-jg":[[3,"boneless"],[2,"prejoint"],[1,"align"]],"water-anim-ctypal-lrgsqr-pool-lod0-jg":[[3,"boneless"],[2,"prejoint"],[1,"align"]],"water-anim-ctypal-middle-fountain-lod0-jg":[[3,"boneless"],[2,"prejoint"],[1,"align"]],"water-anim-ctypal-smlground-pool-lod0-jg":[[3,"boneless"],[2,"prejoint"],[1,"align"]],"water-anim-ctypal-smlsqr-pool-lod0-jg":[[3,"boneless"],[2,"prejoint"],[1,"align"]],"water-anim-fortress-exitb-pool-lod0-jg":[[3,"boneless"],[2,"prejoint"],[1,"align"]],"water-anim-mincan-exitb-pool-lod0-jg":[[3,"boneless"],[2,"prejoint"],[1,"align"]],"water-anim-mountain-dark-eco-dice-lod0-jg":[[3,"boneless"],[2,"prejoint"],[1,"align"]],"water-anim-mountain-fall-hi-lod0-jg":[[3,"boneless"],[2,"prejoint"],[1,"align"]],"water-anim-mountain-fall-low-lod0-jg":[[3,"boneless"],[2,"prejoint"],[1,"align"]],"water-anim-mountain-fall-med-lod0-jg":[[3,"boneless"],[2,"prejoint"],[1,"align"]],"water-anim-nest-dark-eco-botpool-lod0-jg":[[3,"boneless"],[2,"prejoint"],[1,"align"]],"water-anim-nest-dark-eco-largepool-lod0-jg":[[3,"boneless"],[2,"prejoint"],[1,"align"]],"water-anim-nest-dark-eco-middlepool-lod0-jg":[[3,"boneless"],[2,"prejoint"],[1,"align"]],"water-anim-nest-dark-eco-smlupperpool-lod0-jg":[[3,"boneless"],[2,"prejoint"],[1,"align"]],"water-anim-stadium-floor-pool-lod0-jg":[[3,"boneless"],[2,"prejoint"],[1,"align"]],"water-anim-stadium-middle-pool-lod0-jg":[[3,"boneless"],[2,"prejoint"],[1,"align"]],"water-anim-stadium-top-fountain-lod0-jg":[[3,"boneless"],[2,"prejoint"],[1,"align"]],"water-anim-strip-dark-eco-near-crane-lod0-jg":[[3,"boneless"],[2,"prejoint"],[1,"align"]],"water-anim-strip-dark-eco-near-lift-lod0-jg":[[3,"boneless"],[2,"prejoint"],[1,"align"]],"water-anim-strip-dark-eco-under-bridge-lod0-jg":[[3,"boneless"],[2,"prejoint"],[1,"align"]],"water-anim-strip-dark-eco-with-eggs-lod0-jg":[[3,"boneless"],[2,"prejoint"],[1,"align"]],"water-anim-tomb-dark-eco-raised-block-lod0-jg":[[3,"boneless"],[2,"prejoint"],[1,"align"]],"water-anim-tomb-dark-eco-stair-block-lod0-jg":[[3,"boneless"],[2,"prejoint"],[1,"align"]],"water-anim-tomb-main-hall-lod0-jg":[[3,"boneless"],[2,"prejoint"],[1,"align"]],"water-anim-tomb-tunnel-b-lod0-jg":[[3,"boneless"],[2,"prejoint"],[1,"align"]],"water-anim-tomb-tunnel-c-lod0-jg":[[3,"boneless"],[2,"prejoint"],[1,"align"]],"water-anim-tomb-tunnel-d-lod0-jg":[[3,"boneless"],[2,"prejoint"],[1,"align"]],"water-anim-tomb-tunnel-e-lod0-jg":[[3,"boneless"],[2,"prejoint"],[1,"align"]],"water-anim-tomb-tunnel-f-lod0-jg":[[3,"boneless"],[2,"prejoint"],[1,"align"]],"water-anim-under-drainout-lod0-jg":[[3,"boneless"],[2,"prejoint"],[1,"align"]],"water-anim-under-fillup-lod0-jg":[[3,"boneless"],[2,"prejoint"],[1,"align"]],"water-anim-under-pool-lod0-jg":[[3,"boneless"],[2,"prejoint"],[1,"align"]],"widow-bomb-lod0-jg":[[8,"thrust"],[7,"flash"],[6,"flash1"],[5,"flash2"],[4,"flash3"],[3,"main"],[2,"prejoint"],[1,"align"]],"widow-lod0-jg":[[91,"RmissileCover"],[90,"LmissileCover"],[89,"RbiggerGunTip"],[88,"RbiggerGun"],[87,"RsmallGunTip"],[86,"RsmallGun"],[85,"Rturret"],[84,"LbiggerGunTip"],[83,"LbiggerGun"],[82,"LsmallGunTip"],[81,"LsmallGun"],[80,"Lturret"],[79,"thrust"],[78,"redConstantAft"],[77,"redConstantR"],[76,"bombR"],[75,"RmissilePod"],[74,"RmissilePodMount"],[73,"redConstantL"],[72,"bombL"],[71,"LmissilePod"],[70,"LmissilePodMount"],[69,"RaftFoot"],[68,"RaftLegHousing"],[67,"RaftLowerLeg"],[66,"RaftKnee"],[65,"RaftSlideKnee"],[64,"RaftUpperLeg"],[63,"RaftSlideUpperLeg"],[62,"RaftHip"],[61,"RmidFoot"],[60,"RmidLegHousing"],[29,"LaftHip"],[28,"LmidFoot"],[27,"LmidLegHousing"],[26,"LmidLowerLeg"],[25,"LmidKnee"],[24,"LmidSlideKnee"],[23,"LmidUpperLeg"],[22,"LmidSlideUpperLeg"],[21,"LmidHip"],[20,"LarmHousing"],[19,"LfingerDbot"],[18,"LfingerDtop"],[17,"LfingerCbot"],[16,"LfingerCtop"],[15,"LfingerBbot"],[14,"LfingerBtop"],[1,"align"],[2,"prejoint"],[3,"main"],[4,"Lshoulder"],[5,"LslideUpperArm"],[6,"LupperArm"],[7,"LslideElbow"],[8,"Lelbow"],[9,"LlowerArm"],[10,"LslideWrist"],[11,"Lwrist"],[12,"LfingerAtop"],[13,"LfingerAbot"],[30,"LaftSlideUpperLeg"],[31,"LaftUpperLeg"],[32,"LaftSlideKnee"],[33,"LaftKnee"],[34,"LaftLowerLeg"],[35,"LaftLegHousing"],[36,"LaftFoot"],[37,"Rshoulder"],[38,"RslideUpperArm"],[39,"RupperArm"],[40,"RslideElbow"],[41,"Relbow"],[42,"RlowerArm"],[43,"RslideWrist"],[44,"Rwrist"],[45,"RfingerAtop"],[46,"RfingerAbot"],[47,"RfingerBtop"],[48,"RfingerBbot"],[49,"RfingerCtop"],[50,"RfingerCbot"],[51,"RfingerDtop"],[52,"RfingerDbot"],[53,"RarmHousing"],[54,"RmidHip"],[55,"RmidSlideUpperLeg"],[56,"RmidUpperLeg"],[57,"RmidSlideKnee"],[58,"RmidKnee"],[59,"RmidLowerLeg"]],"wren-lod0-jg":[[7,"BIRDL"],[6,"BIRDR"],[5,"BIRDhead"],[4,"BIRD"],[3,"BIRDfeet"],[2,"prejoint"],[1,"align"]],"yakow-lod0-jg":[[33,"RmiddleA"],[32,"LmiddleA"],[31,"rightEAREND"],[30,"leftEAR1"],[13,"loSpine"],[12,"Rhand"],[11,"Relbow"],[10,"Rshoulder"],[9,"Lhand"],[8,"Lelbow"],[7,"Lshoulder"],[6,"head"],[5,"neck"],[4,"chest"],[3,"main"],[2,"prejoint"],[1,"align"],[14,"hips"],[15,"Lthigh"],[16,"Lknee"],[17,"Lankle"],[18,"Lball"],[19,"tail1"],[20,"tail2"],[21,"tail3"],[22,"Rthigh"],[23,"Rknee"],[24,"Rankle"],[25,"Rball"],[26,"jaw"],[27,"jawEND"],[28,"leftEAR"],[29,"leftEAREND"]],"yellow-barrel-lod0-jg":[[3,"main"],[2,"prejoint"],[1,"align"]],"youngsamos-highres-lod0-jg":[[58,"RringB"],[57,"RringA"],[56,"RmiddleB"],[55,"RmiddleA"],[54,"RthumbC"],[53,"LringB"],[52,"LringA"],[51,"LmiddleB"],[50,"LmiddleA"],[49,"LthumbC"],[48,"Froback"],[47,"Egg"],[46,"Rball"],[45,"Rbigtoe"],[44,"Rtoes"],[43,"Rfootball"],[42,"Rankle"],[41,"Rknee"],[40,"Rthigh"],[39,"Lball"],[38,"Lbigtoe"],[37,"Ltoes"],[36,"Lfootball"],[35,"Lankle"],[34,"Lknee"],[33,"Lthigh"],[32,"hips"],[31,"RpinkyB"],[30,"RpinkyA"],[13,"Fromid"],[12,"Frofront"],[11,"Rlog"],[10,"Llog"],[9,"LearMID"],[8,"Learbase"],[7,"RearMID"],[6,"Rearbase"],[5,"head"],[4,"chest"],[3,"main"],[2,"prejoint"],[1,"align"],[14,"Lshoulder"],[15,"Lelbow"],[16,"Lhand"],[17,"LthumbA"],[18,"LthumbB"],[19,"LindexA"],[20,"LindexB"],[21,"LpinkyA"],[22,"LpinkyB"],[23,"Rshoulder"],[24,"Relbow"],[25,"Rhand"],[26,"RthumbA"],[27,"RthumbB"],[28,"RindexA"],[29,"RindexB"]],"zipline-lod0-jg":[[10,"zipF"],[9,"zipE"],[8,"zipD"],[7,"zipC"],[6,"zipB"],[5,"zipA"],[4,"main"],[3,"offset"],[2,"prejoint"],[1,"align"]]} diff --git a/decompiler/config/jak2/ntsc_v1/type_casts.jsonc b/decompiler/config/jak2/ntsc_v1/type_casts.jsonc index 7df2f41b736..51a0423d7d4 100644 --- a/decompiler/config/jak2/ntsc_v1/type_casts.jsonc +++ b/decompiler/config/jak2/ntsc_v1/type_casts.jsonc @@ -1955,9 +1955,7 @@ [468, "a0", "editable-light"] ], "(method 29 editable)": [[[4, 8], "a0", "editable"]], - "(method 27 editable-plane)": [ - [10, "v0", "editable-plane"] - ], + "(method 27 editable-plane)": [[10, "v0", "editable-plane"]], "(method 29 editable-face)": [ [234, "a1", "editable-point"], [241, "f0", "float"], @@ -1969,9 +1967,7 @@ [381, "a1", "(array editable-point)"], [387, "a1", "(array editable-point)"] ], - "(method 27 editable-face)": [ - [10, "v0", "editable-face"] - ], + "(method 27 editable-face)": [[10, "v0", "editable-face"]], "(method 25 editable)": [[[12, 17], "a0", "editable"]], "merc-edge-stats": [[31, "v1", "merc-ctrl"]], "(method 8 merc-ctrl)": [ @@ -7703,9 +7699,7 @@ [27, "v1", "art-joint-anim"], [417, "v1", "art-joint-anim"] ], - "(enter ambush roboguard-level)": [ - [[72, 76], "a0", "process-focusable"] - ], + "(enter ambush roboguard-level)": [[[72, 76], "a0", "process-focusable"]], "(code roll-enter roboguard-level)": [[10, "v1", "art-joint-anim"]], "(trans roll-hostile roboguard-level)": [ [120, "gp", "process-focusable"], @@ -7826,9 +7820,7 @@ [254, "v1", "mysql-nav-edge"] ], "(method 11 city-level-info)": [[27, "a3", "(pointer int8)"]], - "(method 85 bike-base)": [ - [[22, 26], "v1", "(pointer uint128)"] - ], + "(method 85 bike-base)": [[[22, 26], "v1", "(pointer uint128)"]], "target-pilot-exit": [[64, "gp", "vehicle"]], "target-pilot-init": [ [[61, 68], "s4", "vehicle"], @@ -8407,9 +8399,7 @@ ], "(method 78 wasp)": [[11, "v1", "art-joint-anim"]], "(trans hostile wasp)": [[36, "v1", "art-joint-anim"]], - "(method 52 wasp)": [ - [21, "a1", "process-focusable"] - ], + "(method 52 wasp)": [[21, "a1", "process-focusable"]], "(method 115 crimson-guard-hover)": [ ["_stack_", 16, "res-tag"], ["_stack_", 32, "res-tag"], @@ -8445,9 +8435,7 @@ [31, "a0", "process-focusable"], [34, "a0", "process-focusable"] ], - "(method 52 crimson-guard-hover)": [ - [21, "a1", "process-focusable"] - ], + "(method 52 crimson-guard-hover)": [[21, "a1", "process-focusable"]], "(method 77 crimson-guard-hover)": [ [19, "v1", "art-joint-anim"], [49, "v1", "art-joint-anim"] diff --git a/decompiler/main.cpp b/decompiler/main.cpp index 91d8022e0ff..74f2426ea92 100644 --- a/decompiler/main.cpp +++ b/decompiler/main.cpp @@ -205,19 +205,31 @@ int main(int argc, char** argv) { if (config.process_art_groups) { db.extract_art_info(); - // dumb art info to json if requested + // dump art info to json if requested if (config.dump_art_group_info) { - auto file_name = out_folder / "dump" / "art-group-info.min.json"; - nlohmann::json json = db.dts.art_group_info; - file_util::create_dir_if_needed_for_file(file_name); - file_util::write_text_file(file_name, json.dump(-1)); - lg::info("[DUMP] Dumped art group info to {}", file_name.string()); + auto ag_file_name = out_folder / "dump" / "art-group-info.min.json"; + nlohmann::json ag_json = db.dts.art_group_info; + file_util::create_dir_if_needed_for_file(ag_file_name); + file_util::write_text_file(ag_file_name, ag_json.dump(-1)); + lg::info("[DUMP] Dumped art group info to {}", ag_file_name.string()); } - } else if (!config.art_group_info_dump.empty()) { + if (config.dump_joint_geo_info) { + auto jg_file_name = out_folder / "dump" / "joint-node-info.min.json"; + nlohmann::json jg_json = db.dts.jg_info; + file_util::create_dir_if_needed_for_file(jg_file_name); + file_util::write_text_file(jg_file_name, jg_json.dump(-1)); + lg::info("[DUMP] Dumped joint node info to {}", jg_file_name.string()); + } + } else if (!config.art_group_info_dump.empty() || !config.jg_info_dump.empty()) { // process art groups (used in decompilation) // - if the config has a path to the art info dump, just use that // - otherwise (or if we want to dump it fresh) extract it - db.dts.art_group_info = config.art_group_info_dump; + if (!config.art_group_info_dump.empty()) { + db.dts.art_group_info = config.art_group_info_dump; + } + if (!config.jg_info_dump.empty()) { + db.dts.jg_info = config.jg_info_dump; + } } else { lg::error("`process_art_groups` was false and no art-group-info dump was provided!"); return 1; diff --git a/decompiler/util/DecompilerTypeSystem.h b/decompiler/util/DecompilerTypeSystem.h index 5eaa0e8b302..b6569168f6b 100644 --- a/decompiler/util/DecompilerTypeSystem.h +++ b/decompiler/util/DecompilerTypeSystem.h @@ -37,6 +37,7 @@ class DecompilerTypeSystem { std::unordered_map>> format_ops_with_dynamic_string_by_func_name; std::unordered_map> art_group_info; + std::unordered_map> jg_info; void add_symbol(const std::string& name) { if (symbols.find(name) == symbols.end()) { @@ -78,6 +79,15 @@ class DecompilerTypeSystem { } } + void add_joint_node(const std::string& jg_name, const std::string& joint_name, int joint_idx) { + if (jg_info.count(jg_name) == 0) { + jg_info[jg_name] = {}; + } + if (jg_info.at(jg_name).count(joint_idx) == 0) { + jg_info.at(jg_name)[joint_idx] = joint_name; + } + } + // todo - totally eliminate this. struct { std::string current_method_type; diff --git a/goal_src/goal-lib.gc b/goal_src/goal-lib.gc index 545e1514d55..b75beca4e62 100644 --- a/goal_src/goal-lib.gc +++ b/goal_src/goal-lib.gc @@ -1066,6 +1066,38 @@ `(defconstant ,name (-> self draw art-group data ,idx)) ) +(defmacro def-joint-node (jg name idx) + "define a new joint node for a joint geo. adds it to a global map stored in goos." + ;; grab data about the joint geo + (let* ((jg-string (symbol->string jg)) + (name-string name) + (jg-info-lookup (hash-table-try-ref *jg-info* jg-string)) + (jg-info-exists (car jg-info-lookup)) + (jg-info (cdr jg-info-lookup)) + ) + ;; no joint geo was found, make a new one and add it. + (when (not jg-info-exists) + (set! jg-info (make-string-hash-table)) + (hash-table-set! *jg-info* jg-string jg-info) + ) + ;; lookup name in our joint geo + (let* ((joint-name-lookup (hash-table-try-ref jg-info name-string)) + (joint-name-exists (car joint-name-lookup)) + (joint-new (list name idx))) ;; this is the format of the individual entries + ;; found, check if valid + (if (and joint-name-exists (not (eq? (cdr joint-name-lookup) joint-new))) + (fmt #t "error redefining joint. data mismatch: {}\n" joint-new) + #f) + ;; not found. add to the joint geo. + (when (not joint-name-exists) + (hash-table-set! jg-info name-string joint-new) + ) + ) + ) + ;; `(defconstant ,name (-> self node-list data ,idx)) + `(empty) + ) + ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; built-in type stuff ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; diff --git a/goal_src/goos-lib.gs b/goal_src/goos-lib.gs index 9e24c1da9f4..aa76bfab82b 100644 --- a/goal_src/goos-lib.gs +++ b/goal_src/goos-lib.gs @@ -491,6 +491,9 @@ ;; a map for art definitions used by art loading code. (define *art-info* (make-string-hash-table)) +;; a map for joint node names used by art loading code. +(define *jg-info* (make-string-hash-table)) + ;;;;;;;;;;;;;;;;;;;;;;;; ;; build system ;; diff --git a/goal_src/jak1/engine/common-obs/collectables.gc b/goal_src/jak1/engine/common-obs/collectables.gc index ed41c7de494..3803f4917d2 100644 --- a/goal_src/jak1/engine/common-obs/collectables.gc +++ b/goal_src/jak1/engine/common-obs/collectables.gc @@ -1454,7 +1454,7 @@ :code (behavior () 0.5 (let ((f28-0 0.0)) - (ja :group! (-> self draw art-group data 2)) + (ja :group! fuel-cell-idle-ja) (loop (let ((f30-0 (vector-vector-distance (-> self base) (target-pos 0)))) (set! f28-0 @@ -1622,7 +1622,7 @@ (auto-save-command 'auto-save 0 0 *default-pool*) (ja-play-spooled-anim (-> self victory-anim) - (the-as art-joint-anim (-> self draw art-group data 2)) + (the-as art-joint-anim fuel-cell-idle-ja) (the-as art-joint-anim #f) (the-as (function process-drawable symbol) false-func) ) @@ -2015,7 +2015,7 @@ (set! (-> self root-override trans quad) (-> self draw origin quad)) (set! (-> self base quad) (-> self root-override trans quad)) (ja-channel-set! 1) - (ja :group! (-> self draw art-group data 2)) + (ja :group! fuel-cell-idle-ja) (logclear! (-> self draw status) (draw-status hidden)) (vector-reset! (-> self draw origin)) (go-virtual wait) diff --git a/goal_src/jak1/engine/common-obs/orb-cache.gc b/goal_src/jak1/engine/common-obs/orb-cache.gc index 039a4dd1c20..798c580c5d1 100644 --- a/goal_src/jak1/engine/common-obs/orb-cache.gc +++ b/goal_src/jak1/engine/common-obs/orb-cache.gc @@ -80,7 +80,7 @@ ) ) (process-entity-status! self (entity-perm-status complete) #f) - (ja :group! (-> self draw art-group data 3) :num! (identity (ja-aframe 0.0 0))) + (ja :group! orb-cache-top-idle-ja :num! (identity (ja-aframe 0.0 0))) (transform-post) (anim-loop) ) @@ -267,7 +267,7 @@ (if (not arg0) (sound-play "close-orb-cash") ) - (ja :group! (-> self draw art-group data 3) :num! (identity (ja-aframe 0.0 0))) + (ja :group! orb-cache-top-idle-ja :num! (identity (ja-aframe 0.0 0))) (new 'stack-no-clear 'vector) (set! (-> self basetrans y) (+ 2048.0 (-> self root-pos))) (anim-loop) diff --git a/goal_src/jak1/engine/data/art-h.gc b/goal_src/jak1/engine/data/art-h.gc index 4b3c077e053..0740d70b839 100644 --- a/goal_src/jak1/engine/data/art-h.gc +++ b/goal_src/jak1/engine/data/art-h.gc @@ -404,6 +404,23 @@ ) ) +(defmacro joint-name->index (jg-name name) + (let ((jg-info (hash-table-try-ref *jg-info* (symbol->string jg-name)))) + (if (not (car jg-info)) + -1 + (let ((joint-node (hash-table-try-ref (cdr jg-info) (if (integer? name) (int->string name) (symbol->string name))))) + (if (not (car joint-node)) + -1 + (cadr (cdr joint-node))) + ) + ) + ) + ) + +(defmacro joint-node-index (jg name) + `(-> self node-list data (joint-name->index ,jg ,name)) + ) + (defmacro defskelgroup (name art-name joint-geom joint-anim lods &key (shadow 0) &key bounds @@ -445,3 +462,4 @@ (import "goal_src/jak1/engine/data/art-elts.gc") +(import "goal_src/jak1/engine/data/joint-nodes.gc") diff --git a/goal_src/jak1/engine/data/joint-nodes.gc b/goal_src/jak1/engine/data/joint-nodes.gc new file mode 100644 index 00000000000..322bda2bf1f --- /dev/null +++ b/goal_src/jak1/engine/data/joint-nodes.gc @@ -0,0 +1,7654 @@ +(def-joint-node vil3-bridge-36-lod0-jg "end" 22) +(def-joint-node vil3-bridge-36-lod0-jg "board18" 21) +(def-joint-node vil3-bridge-36-lod0-jg "board17" 20) +(def-joint-node vil3-bridge-36-lod0-jg "board16" 19) +(def-joint-node vil3-bridge-36-lod0-jg "board15" 18) +(def-joint-node vil3-bridge-36-lod0-jg "board14" 17) +(def-joint-node vil3-bridge-36-lod0-jg "board13" 16) +(def-joint-node vil3-bridge-36-lod0-jg "board12" 15) +(def-joint-node vil3-bridge-36-lod0-jg "board11" 14) +(def-joint-node vil3-bridge-36-lod0-jg "align" 1) +(def-joint-node vil3-bridge-36-lod0-jg "prejoint" 2) +(def-joint-node vil3-bridge-36-lod0-jg "head" 3) +(def-joint-node vil3-bridge-36-lod0-jg "board01" 4) +(def-joint-node vil3-bridge-36-lod0-jg "board02" 5) +(def-joint-node vil3-bridge-36-lod0-jg "board03" 6) +(def-joint-node vil3-bridge-36-lod0-jg "board04" 7) +(def-joint-node vil3-bridge-36-lod0-jg "board05" 8) +(def-joint-node vil3-bridge-36-lod0-jg "board06" 9) +(def-joint-node vil3-bridge-36-lod0-jg "board07" 10) +(def-joint-node vil3-bridge-36-lod0-jg "board08" 11) +(def-joint-node vil3-bridge-36-lod0-jg "board09" 12) +(def-joint-node vil3-bridge-36-lod0-jg "board10" 13) + +(def-joint-node sage-village3-lod0-jg "belly" 74) +(def-joint-node sage-village3-lod0-jg "Rball" 73) +(def-joint-node sage-village3-lod0-jg "Rbigtoe" 72) +(def-joint-node sage-village3-lod0-jg "Rtoes" 71) +(def-joint-node sage-village3-lod0-jg "Rfootball" 70) +(def-joint-node sage-village3-lod0-jg "Lball" 69) +(def-joint-node sage-village3-lod0-jg "Lbigtoe" 68) +(def-joint-node sage-village3-lod0-jg "Ltoes" 67) +(def-joint-node sage-village3-lod0-jg "Lfootball" 66) +(def-joint-node sage-village3-lod0-jg "RringB" 65) +(def-joint-node sage-village3-lod0-jg "RringA" 64) +(def-joint-node sage-village3-lod0-jg "RmiddleB" 63) +(def-joint-node sage-village3-lod0-jg "RmiddleA" 62) +(def-joint-node sage-village3-lod0-jg "RthumbC" 61) +(def-joint-node sage-village3-lod0-jg "RthumbB" 60) +(def-joint-node sage-village3-lod0-jg "Lthigh" 29) +(def-joint-node sage-village3-lod0-jg "hips" 28) +(def-joint-node sage-village3-lod0-jg "RpinkyB" 27) +(def-joint-node sage-village3-lod0-jg "RpinkyA" 26) +(def-joint-node sage-village3-lod0-jg "RindexB" 25) +(def-joint-node sage-village3-lod0-jg "RindexA" 24) +(def-joint-node sage-village3-lod0-jg "RthumbA" 23) +(def-joint-node sage-village3-lod0-jg "Rhand" 22) +(def-joint-node sage-village3-lod0-jg "Relbow" 21) +(def-joint-node sage-village3-lod0-jg "Rshoulder" 20) +(def-joint-node sage-village3-lod0-jg "Lhand" 19) +(def-joint-node sage-village3-lod0-jg "Lelbow" 18) +(def-joint-node sage-village3-lod0-jg "Lshoulder" 17) +(def-joint-node sage-village3-lod0-jg "beard" 16) +(def-joint-node sage-village3-lod0-jg "beard_lip" 15) +(def-joint-node sage-village3-lod0-jg "RearMID" 14) +(def-joint-node sage-village3-lod0-jg "align" 1) +(def-joint-node sage-village3-lod0-jg "prejoint" 2) +(def-joint-node sage-village3-lod0-jg "main" 3) +(def-joint-node sage-village3-lod0-jg "chest" 4) +(def-joint-node sage-village3-lod0-jg "head" 5) +(def-joint-node sage-village3-lod0-jg "headLog" 6) +(def-joint-node sage-village3-lod0-jg "Llog" 7) +(def-joint-node sage-village3-lod0-jg "Rlog" 8) +(def-joint-node sage-village3-lod0-jg "LhairBASE" 9) +(def-joint-node sage-village3-lod0-jg "Lhair" 10) +(def-joint-node sage-village3-lod0-jg "LearBASE" 11) +(def-joint-node sage-village3-lod0-jg "LearMID" 12) +(def-joint-node sage-village3-lod0-jg "RearBASE" 13) +(def-joint-node sage-village3-lod0-jg "Lknee" 30) +(def-joint-node sage-village3-lod0-jg "Lankle" 31) +(def-joint-node sage-village3-lod0-jg "Rthigh" 32) +(def-joint-node sage-village3-lod0-jg "Rknee" 33) +(def-joint-node sage-village3-lod0-jg "Rankle" 34) +(def-joint-node sage-village3-lod0-jg "staffMAIN" 35) +(def-joint-node sage-village3-lod0-jg "staffUpA" 36) +(def-joint-node sage-village3-lod0-jg "staffDownA" 37) +(def-joint-node sage-village3-lod0-jg "staffDownB" 38) +(def-joint-node sage-village3-lod0-jg "staffBOTTOM" 39) +(def-joint-node sage-village3-lod0-jg "camera" 40) +(def-joint-node sage-village3-lod0-jg "cameraB" 41) +(def-joint-node sage-village3-lod0-jg "BIRDfeet1" 42) +(def-joint-node sage-village3-lod0-jg "BIRD1" 43) +(def-joint-node sage-village3-lod0-jg "BIRDhead1" 44) +(def-joint-node sage-village3-lod0-jg "BIRDR1" 45) +(def-joint-node sage-village3-lod0-jg "BIRDL1" 46) +(def-joint-node sage-village3-lod0-jg "ponytailBASE" 47) +(def-joint-node sage-village3-lod0-jg "ponytailMID" 48) +(def-joint-node sage-village3-lod0-jg "LthumbA" 49) +(def-joint-node sage-village3-lod0-jg "LthumbB" 50) +(def-joint-node sage-village3-lod0-jg "LthumbC" 51) +(def-joint-node sage-village3-lod0-jg "LindexA" 52) +(def-joint-node sage-village3-lod0-jg "LindexB" 53) +(def-joint-node sage-village3-lod0-jg "LmiddleA" 54) +(def-joint-node sage-village3-lod0-jg "LmiddleB" 55) +(def-joint-node sage-village3-lod0-jg "LringA" 56) +(def-joint-node sage-village3-lod0-jg "LringB" 57) +(def-joint-node sage-village3-lod0-jg "LpinkyA" 58) +(def-joint-node sage-village3-lod0-jg "LpinkyB" 59) + +(def-joint-node pistons-lod0-jg "piston4A" 15) +(def-joint-node pistons-lod0-jg "piston4B" 14) +(def-joint-node pistons-lod0-jg "align" 1) +(def-joint-node pistons-lod0-jg "prejoint" 2) +(def-joint-node pistons-lod0-jg "main" 3) +(def-joint-node pistons-lod0-jg "piston1C" 4) +(def-joint-node pistons-lod0-jg "piston2C" 5) +(def-joint-node pistons-lod0-jg "piston3C" 6) +(def-joint-node pistons-lod0-jg "piston4C" 7) +(def-joint-node pistons-lod0-jg "piston1B" 8) +(def-joint-node pistons-lod0-jg "piston1A" 9) +(def-joint-node pistons-lod0-jg "piston2B" 10) +(def-joint-node pistons-lod0-jg "piston2A" 11) +(def-joint-node pistons-lod0-jg "piston3B" 12) +(def-joint-node pistons-lod0-jg "piston3A" 13) + +(def-joint-node minertall-lod0-jg "shovel3" 72) +(def-joint-node minertall-lod0-jg "shovel2" 71) +(def-joint-node minertall-lod0-jg "dynoC" 70) +(def-joint-node minertall-lod0-jg "dyno3" 69) +(def-joint-node minertall-lod0-jg "dynoB" 68) +(def-joint-node minertall-lod0-jg "dyno2" 67) +(def-joint-node minertall-lod0-jg "rFootStrap2" 66) +(def-joint-node minertall-lod0-jg "rFootStrap1" 65) +(def-joint-node minertall-lod0-jg "lFootStrap2" 64) +(def-joint-node minertall-lod0-jg "lFootStrap1" 63) +(def-joint-node minertall-lod0-jg "RringB" 62) +(def-joint-node minertall-lod0-jg "RringA" 61) +(def-joint-node minertall-lod0-jg "RmiddleB" 60) +(def-joint-node minertall-lod0-jg "RindexB" 29) +(def-joint-node minertall-lod0-jg "RindexA" 28) +(def-joint-node minertall-lod0-jg "RthumbA" 27) +(def-joint-node minertall-lod0-jg "Rhand" 26) +(def-joint-node minertall-lod0-jg "Relbow" 25) +(def-joint-node minertall-lod0-jg "Rshoulder" 24) +(def-joint-node minertall-lod0-jg "LpinkyB" 23) +(def-joint-node minertall-lod0-jg "LpinkyA" 22) +(def-joint-node minertall-lod0-jg "LindexB" 21) +(def-joint-node minertall-lod0-jg "LindexA" 20) +(def-joint-node minertall-lod0-jg "LthumbA" 19) +(def-joint-node minertall-lod0-jg "Lhand" 18) +(def-joint-node minertall-lod0-jg "Lelbow" 17) +(def-joint-node minertall-lod0-jg "Lshoulder" 16) +(def-joint-node minertall-lod0-jg "cageDoor" 15) +(def-joint-node minertall-lod0-jg "birdLight" 14) +(def-joint-node minertall-lod0-jg "align" 1) +(def-joint-node minertall-lod0-jg "prejoint" 2) +(def-joint-node minertall-lod0-jg "main" 3) +(def-joint-node minertall-lod0-jg "chest" 4) +(def-joint-node minertall-lod0-jg "neck" 5) +(def-joint-node minertall-lod0-jg "head" 6) +(def-joint-node minertall-lod0-jg "lEar1" 7) +(def-joint-node minertall-lod0-jg "lEar2" 8) +(def-joint-node minertall-lod0-jg "rEar1" 9) +(def-joint-node minertall-lod0-jg "rEar2" 10) +(def-joint-node minertall-lod0-jg "cage" 11) +(def-joint-node minertall-lod0-jg "birdBase" 12) +(def-joint-node minertall-lod0-jg "birdHead" 13) +(def-joint-node minertall-lod0-jg "RpinkyA" 30) +(def-joint-node minertall-lod0-jg "RpinkyB" 31) +(def-joint-node minertall-lod0-jg "hips" 32) +(def-joint-node minertall-lod0-jg "Lthigh" 33) +(def-joint-node minertall-lod0-jg "Lknee" 34) +(def-joint-node minertall-lod0-jg "Lankle" 35) +(def-joint-node minertall-lod0-jg "Lball" 36) +(def-joint-node minertall-lod0-jg "lLegStrap1" 37) +(def-joint-node minertall-lod0-jg "lLegStrap2" 38) +(def-joint-node minertall-lod0-jg "Rthigh" 39) +(def-joint-node minertall-lod0-jg "Rknee" 40) +(def-joint-node minertall-lod0-jg "Rankle" 41) +(def-joint-node minertall-lod0-jg "Rball" 42) +(def-joint-node minertall-lod0-jg "rLegStrap1" 43) +(def-joint-node minertall-lod0-jg "rLegStrap2" 44) +(def-joint-node minertall-lod0-jg "dyno1" 45) +(def-joint-node minertall-lod0-jg "shovel1" 46) +(def-joint-node minertall-lod0-jg "camera" 47) +(def-joint-node minertall-lod0-jg "cameraB" 48) +(def-joint-node minertall-lod0-jg "birdWingL" 49) +(def-joint-node minertall-lod0-jg "birdWingR" 50) +(def-joint-node minertall-lod0-jg "LthumbB" 51) +(def-joint-node minertall-lod0-jg "LthumbC" 52) +(def-joint-node minertall-lod0-jg "LmiddleA" 53) +(def-joint-node minertall-lod0-jg "LmiddleB" 54) +(def-joint-node minertall-lod0-jg "LringA" 55) +(def-joint-node minertall-lod0-jg "LringB" 56) +(def-joint-node minertall-lod0-jg "RthumbB" 57) +(def-joint-node minertall-lod0-jg "RthumbC" 58) +(def-joint-node minertall-lod0-jg "RmiddleA" 59) + +(def-joint-node medres-ogre3-lod0-jg "boneless" 3) +(def-joint-node medres-ogre3-lod0-jg "prejoint" 2) +(def-joint-node medres-ogre3-lod0-jg "align" 1) + +(def-joint-node medres-ogre2-lod0-jg "boneless" 3) +(def-joint-node medres-ogre2-lod0-jg "prejoint" 2) +(def-joint-node medres-ogre2-lod0-jg "align" 1) + +(def-joint-node medres-finalboss-lod0-jg "boneless" 3) +(def-joint-node medres-finalboss-lod0-jg "prejoint" 2) +(def-joint-node medres-finalboss-lod0-jg "align" 1) + +(def-joint-node minecartsteel-lod0-jg "frontAxle" 6) +(def-joint-node minecartsteel-lod0-jg "rearAxle" 5) +(def-joint-node minecartsteel-lod0-jg "cart" 4) +(def-joint-node minecartsteel-lod0-jg "main" 3) +(def-joint-node minecartsteel-lod0-jg "prejoint" 2) +(def-joint-node minecartsteel-lod0-jg "align" 1) + +(def-joint-node lavaspoutdrip-lod0-jg "threetwo" 9) +(def-joint-node lavaspoutdrip-lod0-jg "twotwo" 8) +(def-joint-node lavaspoutdrip-lod0-jg "onetwo" 7) +(def-joint-node lavaspoutdrip-lod0-jg "threeone" 6) +(def-joint-node lavaspoutdrip-lod0-jg "twoone" 5) +(def-joint-node lavaspoutdrip-lod0-jg "oneone" 4) +(def-joint-node lavaspoutdrip-lod0-jg "main" 3) +(def-joint-node lavaspoutdrip-lod0-jg "prejoint" 2) +(def-joint-node lavaspoutdrip-lod0-jg "align" 1) + +(def-joint-node gondola-lod0-jg "camera" 4) +(def-joint-node gondola-lod0-jg "main" 3) +(def-joint-node gondola-lod0-jg "prejoint" 2) +(def-joint-node gondola-lod0-jg "align" 1) + +(def-joint-node evilsis-village3-lod0-jg "RringB" 75) +(def-joint-node evilsis-village3-lod0-jg "RringA" 74) +(def-joint-node evilsis-village3-lod0-jg "RmiddleB" 73) +(def-joint-node evilsis-village3-lod0-jg "RmiddleA" 72) +(def-joint-node evilsis-village3-lod0-jg "LringB" 71) +(def-joint-node evilsis-village3-lod0-jg "LringA" 70) +(def-joint-node evilsis-village3-lod0-jg "LmiddleB" 69) +(def-joint-node evilsis-village3-lod0-jg "LmiddleA" 68) +(def-joint-node evilsis-village3-lod0-jg "backhair_r5" 67) +(def-joint-node evilsis-village3-lod0-jg "backhair_l5" 66) +(def-joint-node evilsis-village3-lod0-jg "backhair_l4" 65) +(def-joint-node evilsis-village3-lod0-jg "backhair_l3" 64) +(def-joint-node evilsis-village3-lod0-jg "ponytail7" 63) +(def-joint-node evilsis-village3-lod0-jg "ponytail6" 62) +(def-joint-node evilsis-village3-lod0-jg "ponytail5" 61) +(def-joint-node evilsis-village3-lod0-jg "ponytail4" 60) +(def-joint-node evilsis-village3-lod0-jg "LpinkyB" 29) +(def-joint-node evilsis-village3-lod0-jg "LpinkyA" 28) +(def-joint-node evilsis-village3-lod0-jg "LindexB" 27) +(def-joint-node evilsis-village3-lod0-jg "LindexA" 26) +(def-joint-node evilsis-village3-lod0-jg "LthumbB" 25) +(def-joint-node evilsis-village3-lod0-jg "LthumbA" 24) +(def-joint-node evilsis-village3-lod0-jg "Lhand" 23) +(def-joint-node evilsis-village3-lod0-jg "Lelbow" 22) +(def-joint-node evilsis-village3-lod0-jg "Lshoulder" 21) +(def-joint-node evilsis-village3-lod0-jg "backhair_r4" 20) +(def-joint-node evilsis-village3-lod0-jg "backhair_r3" 19) +(def-joint-node evilsis-village3-lod0-jg "backhair_r2" 18) +(def-joint-node evilsis-village3-lod0-jg "backhair_r1" 17) +(def-joint-node evilsis-village3-lod0-jg "backhair_l2" 16) +(def-joint-node evilsis-village3-lod0-jg "backhair_l1" 15) +(def-joint-node evilsis-village3-lod0-jg "backhair5" 14) +(def-joint-node evilsis-village3-lod0-jg "align" 1) +(def-joint-node evilsis-village3-lod0-jg "prejoint" 2) +(def-joint-node evilsis-village3-lod0-jg "main" 3) +(def-joint-node evilsis-village3-lod0-jg "chest" 4) +(def-joint-node evilsis-village3-lod0-jg "neck" 5) +(def-joint-node evilsis-village3-lod0-jg "head" 6) +(def-joint-node evilsis-village3-lod0-jg "hairbase" 7) +(def-joint-node evilsis-village3-lod0-jg "ponytail1" 8) +(def-joint-node evilsis-village3-lod0-jg "ponytail2" 9) +(def-joint-node evilsis-village3-lod0-jg "backhair1" 10) +(def-joint-node evilsis-village3-lod0-jg "backhair2" 11) +(def-joint-node evilsis-village3-lod0-jg "backhair3" 12) +(def-joint-node evilsis-village3-lod0-jg "backhair4" 13) +(def-joint-node evilsis-village3-lod0-jg "Rshoulder" 30) +(def-joint-node evilsis-village3-lod0-jg "Relbow" 31) +(def-joint-node evilsis-village3-lod0-jg "Rhand" 32) +(def-joint-node evilsis-village3-lod0-jg "RthumbA" 33) +(def-joint-node evilsis-village3-lod0-jg "RthumbB" 34) +(def-joint-node evilsis-village3-lod0-jg "RindexA" 35) +(def-joint-node evilsis-village3-lod0-jg "RindexB" 36) +(def-joint-node evilsis-village3-lod0-jg "RpinkyA" 37) +(def-joint-node evilsis-village3-lod0-jg "RpinkyB" 38) +(def-joint-node evilsis-village3-lod0-jg "lbood" 39) +(def-joint-node evilsis-village3-lod0-jg "rboob" 40) +(def-joint-node evilsis-village3-lod0-jg "hips" 41) +(def-joint-node evilsis-village3-lod0-jg "Lthigh" 42) +(def-joint-node evilsis-village3-lod0-jg "Lknee" 43) +(def-joint-node evilsis-village3-lod0-jg "Lankle" 44) +(def-joint-node evilsis-village3-lod0-jg "Lball" 45) +(def-joint-node evilsis-village3-lod0-jg "Rthigh" 46) +(def-joint-node evilsis-village3-lod0-jg "Rknee" 47) +(def-joint-node evilsis-village3-lod0-jg "Rankle" 48) +(def-joint-node evilsis-village3-lod0-jg "Rball" 49) +(def-joint-node evilsis-village3-lod0-jg "camera" 50) +(def-joint-node evilsis-village3-lod0-jg "l_ear1" 51) +(def-joint-node evilsis-village3-lod0-jg "l_ear2" 52) +(def-joint-node evilsis-village3-lod0-jg "r_ear1" 53) +(def-joint-node evilsis-village3-lod0-jg "r_ear2" 54) +(def-joint-node evilsis-village3-lod0-jg "l_flap1" 55) +(def-joint-node evilsis-village3-lod0-jg "l_flap2" 56) +(def-joint-node evilsis-village3-lod0-jg "r_flap1" 57) +(def-joint-node evilsis-village3-lod0-jg "r_flap2" 58) +(def-joint-node evilsis-village3-lod0-jg "ponytail3" 59) + +(def-joint-node evilbro-village3-lod0-jg "rball3" 75) +(def-joint-node evilbro-village3-lod0-jg "rball2" 74) +(def-joint-node evilbro-village3-lod0-jg "fball3" 73) +(def-joint-node evilbro-village3-lod0-jg "fball2" 72) +(def-joint-node evilbro-village3-lod0-jg "lball3" 71) +(def-joint-node evilbro-village3-lod0-jg "lball2" 70) +(def-joint-node evilbro-village3-lod0-jg "Rball" 69) +(def-joint-node evilbro-village3-lod0-jg "Rankle" 68) +(def-joint-node evilbro-village3-lod0-jg "Rknee" 67) +(def-joint-node evilbro-village3-lod0-jg "Rthigh" 66) +(def-joint-node evilbro-village3-lod0-jg "Lball" 65) +(def-joint-node evilbro-village3-lod0-jg "Lankle" 64) +(def-joint-node evilbro-village3-lod0-jg "Lknee" 63) +(def-joint-node evilbro-village3-lod0-jg "RpinkyB" 62) +(def-joint-node evilbro-village3-lod0-jg "RpinkyA" 61) +(def-joint-node evilbro-village3-lod0-jg "RringB" 60) +(def-joint-node evilbro-village3-lod0-jg "bcape1" 29) +(def-joint-node evilbro-village3-lod0-jg "Lthigh" 28) +(def-joint-node evilbro-village3-lod0-jg "hips" 27) +(def-joint-node evilbro-village3-lod0-jg "rcollar" 26) +(def-joint-node evilbro-village3-lod0-jg "bcollar" 25) +(def-joint-node evilbro-village3-lod0-jg "lcollar" 24) +(def-joint-node evilbro-village3-lod0-jg "Rhand" 23) +(def-joint-node evilbro-village3-lod0-jg "Relbow" 22) +(def-joint-node evilbro-village3-lod0-jg "Rshoulder" 21) +(def-joint-node evilbro-village3-lod0-jg "lsleeve" 20) +(def-joint-node evilbro-village3-lod0-jg "LthumbB" 19) +(def-joint-node evilbro-village3-lod0-jg "LthumbA" 18) +(def-joint-node evilbro-village3-lod0-jg "Lhand" 17) +(def-joint-node evilbro-village3-lod0-jg "Lelbow" 16) +(def-joint-node evilbro-village3-lod0-jg "Lshoulder" 15) +(def-joint-node evilbro-village3-lod0-jg "hair3" 14) +(def-joint-node evilbro-village3-lod0-jg "align" 1) +(def-joint-node evilbro-village3-lod0-jg "prejoint" 2) +(def-joint-node evilbro-village3-lod0-jg "main" 3) +(def-joint-node evilbro-village3-lod0-jg "chest" 4) +(def-joint-node evilbro-village3-lod0-jg "neck" 5) +(def-joint-node evilbro-village3-lod0-jg "head" 6) +(def-joint-node evilbro-village3-lod0-jg "lear1" 7) +(def-joint-node evilbro-village3-lod0-jg "lear2" 8) +(def-joint-node evilbro-village3-lod0-jg "rear1" 9) +(def-joint-node evilbro-village3-lod0-jg "rear2" 10) +(def-joint-node evilbro-village3-lod0-jg "hairBase" 11) +(def-joint-node evilbro-village3-lod0-jg "hair1" 12) +(def-joint-node evilbro-village3-lod0-jg "hair2" 13) +(def-joint-node evilbro-village3-lod0-jg "bcape2" 30) +(def-joint-node evilbro-village3-lod0-jg "fCapeA" 31) +(def-joint-node evilbro-village3-lod0-jg "fCapeEND" 32) +(def-joint-node evilbro-village3-lod0-jg "lball1" 33) +(def-joint-node evilbro-village3-lod0-jg "fball1" 34) +(def-joint-node evilbro-village3-lod0-jg "rball1" 35) +(def-joint-node evilbro-village3-lod0-jg "lcape1" 36) +(def-joint-node evilbro-village3-lod0-jg "lcape2" 37) +(def-joint-node evilbro-village3-lod0-jg "rcape1" 38) +(def-joint-node evilbro-village3-lod0-jg "rcape2" 39) +(def-joint-node evilbro-village3-lod0-jg "camera" 40) +(def-joint-node evilbro-village3-lod0-jg "goatee1" 41) +(def-joint-node evilbro-village3-lod0-jg "goatee2" 42) +(def-joint-node evilbro-village3-lod0-jg "LthumbC" 43) +(def-joint-node evilbro-village3-lod0-jg "LindexA" 44) +(def-joint-node evilbro-village3-lod0-jg "LindexB" 45) +(def-joint-node evilbro-village3-lod0-jg "LmiddleA" 46) +(def-joint-node evilbro-village3-lod0-jg "LmiddleB" 47) +(def-joint-node evilbro-village3-lod0-jg "LringA" 48) +(def-joint-node evilbro-village3-lod0-jg "LringB" 49) +(def-joint-node evilbro-village3-lod0-jg "LpinkyA" 50) +(def-joint-node evilbro-village3-lod0-jg "LpinkyB" 51) +(def-joint-node evilbro-village3-lod0-jg "RthumbA" 52) +(def-joint-node evilbro-village3-lod0-jg "RthumbB" 53) +(def-joint-node evilbro-village3-lod0-jg "RthumbC" 54) +(def-joint-node evilbro-village3-lod0-jg "RindexA" 55) +(def-joint-node evilbro-village3-lod0-jg "RindexB" 56) +(def-joint-node evilbro-village3-lod0-jg "RmiddleA" 57) +(def-joint-node evilbro-village3-lod0-jg "RmiddleB" 58) +(def-joint-node evilbro-village3-lod0-jg "RringA" 59) + +(def-joint-node cavegem-lod0-jg "boneless" 3) +(def-joint-node cavegem-lod0-jg "prejoint" 2) +(def-joint-node cavegem-lod0-jg "align" 1) + +(def-joint-node water-anim-village2-bucket-lod0-jg "boneless" 3) +(def-joint-node water-anim-village2-bucket-lod0-jg "prejoint" 2) +(def-joint-node water-anim-village2-bucket-lod0-jg "align" 1) + +(def-joint-node warrior-lod0-jg "RpinkyB" 59) +(def-joint-node warrior-lod0-jg "RpinkyA" 58) +(def-joint-node warrior-lod0-jg "RringB" 57) +(def-joint-node warrior-lod0-jg "RringA" 56) +(def-joint-node warrior-lod0-jg "RindexB" 55) +(def-joint-node warrior-lod0-jg "LpinkyB" 54) +(def-joint-node warrior-lod0-jg "LpinkyA" 53) +(def-joint-node warrior-lod0-jg "LringB" 52) +(def-joint-node warrior-lod0-jg "LringA" 51) +(def-joint-node warrior-lod0-jg "LindexB" 50) +(def-joint-node warrior-lod0-jg "lArmGuard1" 49) +(def-joint-node warrior-lod0-jg "lArmGuard" 48) +(def-joint-node warrior-lod0-jg "RmiddleB" 47) +(def-joint-node warrior-lod0-jg "RmiddleA" 46) +(def-joint-node warrior-lod0-jg "RindexA" 45) +(def-joint-node warrior-lod0-jg "RthumbC" 44) +(def-joint-node warrior-lod0-jg "RthumbB" 43) +(def-joint-node warrior-lod0-jg "RthumbA" 42) +(def-joint-node warrior-lod0-jg "LmiddleB" 41) +(def-joint-node warrior-lod0-jg "LmiddleA" 40) +(def-joint-node warrior-lod0-jg "LindexA" 39) +(def-joint-node warrior-lod0-jg "LthumbC" 38) +(def-joint-node warrior-lod0-jg "LthumbB" 37) +(def-joint-node warrior-lod0-jg "LthumbA" 36) +(def-joint-node warrior-lod0-jg "ploom3" 35) +(def-joint-node warrior-lod0-jg "cameraB" 34) +(def-joint-node warrior-lod0-jg "camera" 33) +(def-joint-node warrior-lod0-jg "Rball" 32) +(def-joint-node warrior-lod0-jg "Rankle" 31) +(def-joint-node warrior-lod0-jg "Rknee" 30) +(def-joint-node warrior-lod0-jg "ploom2" 13) +(def-joint-node warrior-lod0-jg "ploom1" 12) +(def-joint-node warrior-lod0-jg "mask" 11) +(def-joint-node warrior-lod0-jg "rEar2" 10) +(def-joint-node warrior-lod0-jg "rEar1" 9) +(def-joint-node warrior-lod0-jg "lEar2" 8) +(def-joint-node warrior-lod0-jg "lEar1" 7) +(def-joint-node warrior-lod0-jg "head" 6) +(def-joint-node warrior-lod0-jg "neck" 5) +(def-joint-node warrior-lod0-jg "chest" 4) +(def-joint-node warrior-lod0-jg "main" 3) +(def-joint-node warrior-lod0-jg "prejoint" 2) +(def-joint-node warrior-lod0-jg "align" 1) +(def-joint-node warrior-lod0-jg "Lshoulder" 14) +(def-joint-node warrior-lod0-jg "Lelbow" 15) +(def-joint-node warrior-lod0-jg "Lhand" 16) +(def-joint-node warrior-lod0-jg "Rshoulder" 17) +(def-joint-node warrior-lod0-jg "Relbow" 18) +(def-joint-node warrior-lod0-jg "Rhand" 19) +(def-joint-node warrior-lod0-jg "capeBase" 20) +(def-joint-node warrior-lod0-jg "capeMID1" 21) +(def-joint-node warrior-lod0-jg "capeMID2" 22) +(def-joint-node warrior-lod0-jg "capeMID3" 23) +(def-joint-node warrior-lod0-jg "hips" 24) +(def-joint-node warrior-lod0-jg "Lthigh" 25) +(def-joint-node warrior-lod0-jg "Lknee" 26) +(def-joint-node warrior-lod0-jg "Lankle" 27) +(def-joint-node warrior-lod0-jg "Lball" 28) +(def-joint-node warrior-lod0-jg "Rthigh" 29) + +(def-joint-node village2cam-lod0-jg "camera" 4) +(def-joint-node village2cam-lod0-jg "beachcam" 3) +(def-joint-node village2cam-lod0-jg "prejoint" 2) +(def-joint-node village2cam-lod0-jg "align" 1) + +(def-joint-node swamp-tetherrock-explode-lod0-jg "camera" 8) +(def-joint-node swamp-tetherrock-explode-lod0-jg "5" 7) +(def-joint-node swamp-tetherrock-explode-lod0-jg "4" 6) +(def-joint-node swamp-tetherrock-explode-lod0-jg "3" 5) +(def-joint-node swamp-tetherrock-explode-lod0-jg "2" 4) +(def-joint-node swamp-tetherrock-explode-lod0-jg "1" 3) +(def-joint-node swamp-tetherrock-explode-lod0-jg "prejoint" 2) +(def-joint-node swamp-tetherrock-explode-lod0-jg "align" 1) + +(def-joint-node swamp-blimp-lod0-jg "ropefrontright" 10) +(def-joint-node swamp-blimp-lod0-jg "ropefrontleft" 9) +(def-joint-node swamp-blimp-lod0-jg "ropecenter" 8) +(def-joint-node swamp-blimp-lod0-jg "ropebackleft" 7) +(def-joint-node swamp-blimp-lod0-jg "ropebackright" 6) +(def-joint-node swamp-blimp-lod0-jg "gondola" 5) +(def-joint-node swamp-blimp-lod0-jg "xtra" 4) +(def-joint-node swamp-blimp-lod0-jg "blimp" 3) +(def-joint-node swamp-blimp-lod0-jg "prejoint" 2) +(def-joint-node swamp-blimp-lod0-jg "align" 1) + +(def-joint-node sunken-elevator-lod0-jg "button" 4) +(def-joint-node sunken-elevator-lod0-jg "main" 3) +(def-joint-node sunken-elevator-lod0-jg "prejoint" 2) +(def-joint-node sunken-elevator-lod0-jg "align" 1) + +(def-joint-node sage-bluehut-lod0-jg "belly" 74) +(def-joint-node sage-bluehut-lod0-jg "Rball" 73) +(def-joint-node sage-bluehut-lod0-jg "Rbigtoe" 72) +(def-joint-node sage-bluehut-lod0-jg "Rtoes" 71) +(def-joint-node sage-bluehut-lod0-jg "Rfootball" 70) +(def-joint-node sage-bluehut-lod0-jg "Lball" 69) +(def-joint-node sage-bluehut-lod0-jg "Lbigtoe" 68) +(def-joint-node sage-bluehut-lod0-jg "Ltoes" 67) +(def-joint-node sage-bluehut-lod0-jg "Lfootball" 66) +(def-joint-node sage-bluehut-lod0-jg "RringB" 65) +(def-joint-node sage-bluehut-lod0-jg "RringA" 64) +(def-joint-node sage-bluehut-lod0-jg "RmiddleB" 63) +(def-joint-node sage-bluehut-lod0-jg "RmiddleA" 62) +(def-joint-node sage-bluehut-lod0-jg "RthumbC" 61) +(def-joint-node sage-bluehut-lod0-jg "RthumbB" 60) +(def-joint-node sage-bluehut-lod0-jg "Lthigh" 29) +(def-joint-node sage-bluehut-lod0-jg "hips" 28) +(def-joint-node sage-bluehut-lod0-jg "RpinkyB" 27) +(def-joint-node sage-bluehut-lod0-jg "RpinkyA" 26) +(def-joint-node sage-bluehut-lod0-jg "RindexB" 25) +(def-joint-node sage-bluehut-lod0-jg "RindexA" 24) +(def-joint-node sage-bluehut-lod0-jg "RthumbA" 23) +(def-joint-node sage-bluehut-lod0-jg "Rhand" 22) +(def-joint-node sage-bluehut-lod0-jg "Relbow" 21) +(def-joint-node sage-bluehut-lod0-jg "Rshoulder" 20) +(def-joint-node sage-bluehut-lod0-jg "Lhand" 19) +(def-joint-node sage-bluehut-lod0-jg "Lelbow" 18) +(def-joint-node sage-bluehut-lod0-jg "Lshoulder" 17) +(def-joint-node sage-bluehut-lod0-jg "beard" 16) +(def-joint-node sage-bluehut-lod0-jg "beard_lip" 15) +(def-joint-node sage-bluehut-lod0-jg "RearMID" 14) +(def-joint-node sage-bluehut-lod0-jg "align" 1) +(def-joint-node sage-bluehut-lod0-jg "prejoint" 2) +(def-joint-node sage-bluehut-lod0-jg "main" 3) +(def-joint-node sage-bluehut-lod0-jg "chest" 4) +(def-joint-node sage-bluehut-lod0-jg "head" 5) +(def-joint-node sage-bluehut-lod0-jg "headLog" 6) +(def-joint-node sage-bluehut-lod0-jg "Llog" 7) +(def-joint-node sage-bluehut-lod0-jg "Rlog" 8) +(def-joint-node sage-bluehut-lod0-jg "LhairBASE" 9) +(def-joint-node sage-bluehut-lod0-jg "Lhair" 10) +(def-joint-node sage-bluehut-lod0-jg "LearBASE" 11) +(def-joint-node sage-bluehut-lod0-jg "LearMID" 12) +(def-joint-node sage-bluehut-lod0-jg "RearBASE" 13) +(def-joint-node sage-bluehut-lod0-jg "Lknee" 30) +(def-joint-node sage-bluehut-lod0-jg "Lankle" 31) +(def-joint-node sage-bluehut-lod0-jg "Rthigh" 32) +(def-joint-node sage-bluehut-lod0-jg "Rknee" 33) +(def-joint-node sage-bluehut-lod0-jg "Rankle" 34) +(def-joint-node sage-bluehut-lod0-jg "staffMAIN" 35) +(def-joint-node sage-bluehut-lod0-jg "staffUpA" 36) +(def-joint-node sage-bluehut-lod0-jg "staffDownA" 37) +(def-joint-node sage-bluehut-lod0-jg "staffDownB" 38) +(def-joint-node sage-bluehut-lod0-jg "staffBOTTOM" 39) +(def-joint-node sage-bluehut-lod0-jg "camera" 40) +(def-joint-node sage-bluehut-lod0-jg "cameraB" 41) +(def-joint-node sage-bluehut-lod0-jg "BIRDfeet1" 42) +(def-joint-node sage-bluehut-lod0-jg "BIRD1" 43) +(def-joint-node sage-bluehut-lod0-jg "BIRDhead1" 44) +(def-joint-node sage-bluehut-lod0-jg "BIRDR1" 45) +(def-joint-node sage-bluehut-lod0-jg "BIRDL1" 46) +(def-joint-node sage-bluehut-lod0-jg "ponytailBASE" 47) +(def-joint-node sage-bluehut-lod0-jg "ponytailMID" 48) +(def-joint-node sage-bluehut-lod0-jg "LthumbA" 49) +(def-joint-node sage-bluehut-lod0-jg "LthumbB" 50) +(def-joint-node sage-bluehut-lod0-jg "LthumbC" 51) +(def-joint-node sage-bluehut-lod0-jg "LindexA" 52) +(def-joint-node sage-bluehut-lod0-jg "LindexB" 53) +(def-joint-node sage-bluehut-lod0-jg "LmiddleA" 54) +(def-joint-node sage-bluehut-lod0-jg "LmiddleB" 55) +(def-joint-node sage-bluehut-lod0-jg "LringA" 56) +(def-joint-node sage-bluehut-lod0-jg "LringB" 57) +(def-joint-node sage-bluehut-lod0-jg "LpinkyA" 58) +(def-joint-node sage-bluehut-lod0-jg "LpinkyB" 59) + +(def-joint-node ogreboss-village2-lod0-jg "Rball" 75) +(def-joint-node ogreboss-village2-lod0-jg "Lball" 74) +(def-joint-node ogreboss-village2-lod0-jg "RchestDangleA" 73) +(def-joint-node ogreboss-village2-lod0-jg "LchestDanglerC" 72) +(def-joint-node ogreboss-village2-lod0-jg "RchestDanglerC" 71) +(def-joint-node ogreboss-village2-lod0-jg "RarmDanglerToo" 70) +(def-joint-node ogreboss-village2-lod0-jg "RarmDangler" 69) +(def-joint-node ogreboss-village2-lod0-jg "Rclaw_midC" 68) +(def-joint-node ogreboss-village2-lod0-jg "Rclaw_midB" 67) +(def-joint-node ogreboss-village2-lod0-jg "Rclaw_midA" 66) +(def-joint-node ogreboss-village2-lod0-jg "Rthumb_mid" 65) +(def-joint-node ogreboss-village2-lod0-jg "Lfur" 64) +(def-joint-node ogreboss-village2-lod0-jg "Lshackle" 63) +(def-joint-node ogreboss-village2-lod0-jg "LpinkyB" 62) +(def-joint-node ogreboss-village2-lod0-jg "LpinkyA" 61) +(def-joint-node ogreboss-village2-lod0-jg "LringB" 60) +(def-joint-node ogreboss-village2-lod0-jg "LchestDangleA" 29) +(def-joint-node ogreboss-village2-lod0-jg "backDanglerB" 28) +(def-joint-node ogreboss-village2-lod0-jg "backDanglerA" 27) +(def-joint-node ogreboss-village2-lod0-jg "LchestDanglerB" 26) +(def-joint-node ogreboss-village2-lod0-jg "LchestDanglerA" 25) +(def-joint-node ogreboss-village2-lod0-jg "RchestDanglerB" 24) +(def-joint-node ogreboss-village2-lod0-jg "RchestDanglerA" 23) +(def-joint-node ogreboss-village2-lod0-jg "boulder" 22) +(def-joint-node ogreboss-village2-lod0-jg "Rclaw_topC" 21) +(def-joint-node ogreboss-village2-lod0-jg "Rclaw_topB" 20) +(def-joint-node ogreboss-village2-lod0-jg "Rclaw_topA" 19) +(def-joint-node ogreboss-village2-lod0-jg "Rthumb_top" 18) +(def-joint-node ogreboss-village2-lod0-jg "Relbow" 17) +(def-joint-node ogreboss-village2-lod0-jg "Rshoulder" 16) +(def-joint-node ogreboss-village2-lod0-jg "Rcollar" 15) +(def-joint-node ogreboss-village2-lod0-jg "Lhand" 14) +(def-joint-node ogreboss-village2-lod0-jg "align" 1) +(def-joint-node ogreboss-village2-lod0-jg "prejoint" 2) +(def-joint-node ogreboss-village2-lod0-jg "main" 3) +(def-joint-node ogreboss-village2-lod0-jg "stomach" 4) +(def-joint-node ogreboss-village2-lod0-jg "chest" 5) +(def-joint-node ogreboss-village2-lod0-jg "neck" 6) +(def-joint-node ogreboss-village2-lod0-jg "head" 7) +(def-joint-node ogreboss-village2-lod0-jg "jaw" 8) +(def-joint-node ogreboss-village2-lod0-jg "beardA" 9) +(def-joint-node ogreboss-village2-lod0-jg "beardB" 10) +(def-joint-node ogreboss-village2-lod0-jg "Lcollar" 11) +(def-joint-node ogreboss-village2-lod0-jg "Lshoulder" 12) +(def-joint-node ogreboss-village2-lod0-jg "Lelbow" 13) +(def-joint-node ogreboss-village2-lod0-jg "hips" 30) +(def-joint-node ogreboss-village2-lod0-jg "Lthigh" 31) +(def-joint-node ogreboss-village2-lod0-jg "Lknee" 32) +(def-joint-node ogreboss-village2-lod0-jg "Lankle" 33) +(def-joint-node ogreboss-village2-lod0-jg "Rthigh" 34) +(def-joint-node ogreboss-village2-lod0-jg "Rknee" 35) +(def-joint-node ogreboss-village2-lod0-jg "Rankle" 36) +(def-joint-node ogreboss-village2-lod0-jg "camera" 37) +(def-joint-node ogreboss-village2-lod0-jg "cameraB" 38) +(def-joint-node ogreboss-village2-lod0-jg "hairFront" 39) +(def-joint-node ogreboss-village2-lod0-jg "Lbone" 40) +(def-joint-node ogreboss-village2-lod0-jg "Rbone" 41) +(def-joint-node ogreboss-village2-lod0-jg "hairCenter" 42) +(def-joint-node ogreboss-village2-lod0-jg "LhairFrontA" 43) +(def-joint-node ogreboss-village2-lod0-jg "LhairFrontB" 44) +(def-joint-node ogreboss-village2-lod0-jg "RhairFrontA" 45) +(def-joint-node ogreboss-village2-lod0-jg "RhairFrontB" 46) +(def-joint-node ogreboss-village2-lod0-jg "lips" 47) +(def-joint-node ogreboss-village2-lod0-jg "beardC" 48) +(def-joint-node ogreboss-village2-lod0-jg "beardD" 49) +(def-joint-node ogreboss-village2-lod0-jg "beardCluster" 50) +(def-joint-node ogreboss-village2-lod0-jg "Leyebrow" 51) +(def-joint-node ogreboss-village2-lod0-jg "Reyebrow" 52) +(def-joint-node ogreboss-village2-lod0-jg "LthumbA" 53) +(def-joint-node ogreboss-village2-lod0-jg "LthumbB" 54) +(def-joint-node ogreboss-village2-lod0-jg "LindexA" 55) +(def-joint-node ogreboss-village2-lod0-jg "LindexB" 56) +(def-joint-node ogreboss-village2-lod0-jg "LmiddleA" 57) +(def-joint-node ogreboss-village2-lod0-jg "LmiddleB" 58) +(def-joint-node ogreboss-village2-lod0-jg "LringA" 59) + +(def-joint-node gambler-lod0-jg "hair" 72) +(def-joint-node gambler-lod0-jg "RpinkyC" 71) +(def-joint-node gambler-lod0-jg "RpinkyB" 70) +(def-joint-node gambler-lod0-jg "RpinkyA" 69) +(def-joint-node gambler-lod0-jg "RringC" 68) +(def-joint-node gambler-lod0-jg "RindexC" 67) +(def-joint-node gambler-lod0-jg "RindexB" 66) +(def-joint-node gambler-lod0-jg "RindexA" 65) +(def-joint-node gambler-lod0-jg "LpinkyC" 64) +(def-joint-node gambler-lod0-jg "LpinkyB" 63) +(def-joint-node gambler-lod0-jg "LpinkyA" 62) +(def-joint-node gambler-lod0-jg "LringC" 61) +(def-joint-node gambler-lod0-jg "rLegStrap" 60) +(def-joint-node gambler-lod0-jg "Rknee" 29) +(def-joint-node gambler-lod0-jg "Rthigh" 28) +(def-joint-node gambler-lod0-jg "Lball" 27) +(def-joint-node gambler-lod0-jg "Lankle" 26) +(def-joint-node gambler-lod0-jg "Lknee" 25) +(def-joint-node gambler-lod0-jg "Lthigh" 24) +(def-joint-node gambler-lod0-jg "hips" 23) +(def-joint-node gambler-lod0-jg "barrell" 22) +(def-joint-node gambler-lod0-jg "Rhand" 21) +(def-joint-node gambler-lod0-jg "Relbow" 20) +(def-joint-node gambler-lod0-jg "Rshoulder" 19) +(def-joint-node gambler-lod0-jg "Lhand" 18) +(def-joint-node gambler-lod0-jg "Lelbow" 17) +(def-joint-node gambler-lod0-jg "Lshoulder" 16) +(def-joint-node gambler-lod0-jg "rBow" 15) +(def-joint-node gambler-lod0-jg "lTie2" 14) +(def-joint-node gambler-lod0-jg "align" 1) +(def-joint-node gambler-lod0-jg "prejoint" 2) +(def-joint-node gambler-lod0-jg "main" 3) +(def-joint-node gambler-lod0-jg "chest" 4) +(def-joint-node gambler-lod0-jg "neck" 5) +(def-joint-node gambler-lod0-jg "head" 6) +(def-joint-node gambler-lod0-jg "lEar1" 7) +(def-joint-node gambler-lod0-jg "lEar2" 8) +(def-joint-node gambler-lod0-jg "rEar1" 9) +(def-joint-node gambler-lod0-jg "rEar2" 10) +(def-joint-node gambler-lod0-jg "hat" 11) +(def-joint-node gambler-lod0-jg "hatMid" 12) +(def-joint-node gambler-lod0-jg "lTie1" 13) +(def-joint-node gambler-lod0-jg "Rankle" 30) +(def-joint-node gambler-lod0-jg "Rball" 31) +(def-joint-node gambler-lod0-jg "camera" 32) +(def-joint-node gambler-lod0-jg "cameraB" 33) +(def-joint-node gambler-lod0-jg "lBow" 34) +(def-joint-node gambler-lod0-jg "lTie3" 35) +(def-joint-node gambler-lod0-jg "rTie1" 36) +(def-joint-node gambler-lod0-jg "rTie2" 37) +(def-joint-node gambler-lod0-jg "LthumbA" 38) +(def-joint-node gambler-lod0-jg "LthumbB" 39) +(def-joint-node gambler-lod0-jg "LthumbC" 40) +(def-joint-node gambler-lod0-jg "LindexA" 41) +(def-joint-node gambler-lod0-jg "LindexB" 42) +(def-joint-node gambler-lod0-jg "LindexC" 43) +(def-joint-node gambler-lod0-jg "LmiddleA" 44) +(def-joint-node gambler-lod0-jg "LmiddleB" 45) +(def-joint-node gambler-lod0-jg "LmiddleC" 46) +(def-joint-node gambler-lod0-jg "LringA" 47) +(def-joint-node gambler-lod0-jg "LringB" 48) +(def-joint-node gambler-lod0-jg "lArmStrap" 49) +(def-joint-node gambler-lod0-jg "RthumbA" 50) +(def-joint-node gambler-lod0-jg "RthumbB" 51) +(def-joint-node gambler-lod0-jg "RthumbC" 52) +(def-joint-node gambler-lod0-jg "RmiddleA" 53) +(def-joint-node gambler-lod0-jg "RmiddleB" 54) +(def-joint-node gambler-lod0-jg "RmiddleC" 55) +(def-joint-node gambler-lod0-jg "RringA" 56) +(def-joint-node gambler-lod0-jg "RringB" 57) +(def-joint-node gambler-lod0-jg "rArmStrap" 58) +(def-joint-node gambler-lod0-jg "lLegStrap" 59) + +(def-joint-node flutflut-bluehut-lod0-jg "rWingF2" 49) +(def-joint-node flutflut-bluehut-lod0-jg "rWing2" 48) +(def-joint-node flutflut-bluehut-lod0-jg "rWing1" 47) +(def-joint-node flutflut-bluehut-lod0-jg "rShoulder" 46) +(def-joint-node flutflut-bluehut-lod0-jg "lWingF2" 45) +(def-joint-node flutflut-bluehut-lod0-jg "lWing2" 44) +(def-joint-node flutflut-bluehut-lod0-jg "lWing1" 43) +(def-joint-node flutflut-bluehut-lod0-jg "lShoulder" 42) +(def-joint-node flutflut-bluehut-lod0-jg "reignr4" 41) +(def-joint-node flutflut-bluehut-lod0-jg "reignr3" 40) +(def-joint-node flutflut-bluehut-lod0-jg "reignr2" 39) +(def-joint-node flutflut-bluehut-lod0-jg "reignr1" 38) +(def-joint-node flutflut-bluehut-lod0-jg "reign_l4" 37) +(def-joint-node flutflut-bluehut-lod0-jg "reign_l3" 36) +(def-joint-node flutflut-bluehut-lod0-jg "reign_l2" 35) +(def-joint-node flutflut-bluehut-lod0-jg "reign_l1" 34) +(def-joint-node flutflut-bluehut-lod0-jg "tongue" 33) +(def-joint-node flutflut-bluehut-lod0-jg "jaw" 32) +(def-joint-node flutflut-bluehut-lod0-jg "ploom3" 31) +(def-joint-node flutflut-bluehut-lod0-jg "ploom2" 30) +(def-joint-node flutflut-bluehut-lod0-jg "Rthigh" 13) +(def-joint-node flutflut-bluehut-lod0-jg "lRearToe" 12) +(def-joint-node flutflut-bluehut-lod0-jg "lFrontToe" 11) +(def-joint-node flutflut-bluehut-lod0-jg "lOutToe" 10) +(def-joint-node flutflut-bluehut-lod0-jg "lInToe" 9) +(def-joint-node flutflut-bluehut-lod0-jg "Lankle" 8) +(def-joint-node flutflut-bluehut-lod0-jg "Lknee" 7) +(def-joint-node flutflut-bluehut-lod0-jg "Lquarter" 6) +(def-joint-node flutflut-bluehut-lod0-jg "Lthigh" 5) +(def-joint-node flutflut-bluehut-lod0-jg "hips" 4) +(def-joint-node flutflut-bluehut-lod0-jg "main" 3) +(def-joint-node flutflut-bluehut-lod0-jg "prejoint" 2) +(def-joint-node flutflut-bluehut-lod0-jg "align" 1) +(def-joint-node flutflut-bluehut-lod0-jg "Rquarter" 14) +(def-joint-node flutflut-bluehut-lod0-jg "Rknee" 15) +(def-joint-node flutflut-bluehut-lod0-jg "Rankle" 16) +(def-joint-node flutflut-bluehut-lod0-jg "rInToe" 17) +(def-joint-node flutflut-bluehut-lod0-jg "rOutToe" 18) +(def-joint-node flutflut-bluehut-lod0-jg "rFrontToe" 19) +(def-joint-node flutflut-bluehut-lod0-jg "rRearToe" 20) +(def-joint-node flutflut-bluehut-lod0-jg "tail1" 21) +(def-joint-node flutflut-bluehut-lod0-jg "tail2" 22) +(def-joint-node flutflut-bluehut-lod0-jg "tailFL" 23) +(def-joint-node flutflut-bluehut-lod0-jg "tailFR" 24) +(def-joint-node flutflut-bluehut-lod0-jg "tail3" 25) +(def-joint-node flutflut-bluehut-lod0-jg "chest" 26) +(def-joint-node flutflut-bluehut-lod0-jg "neck" 27) +(def-joint-node flutflut-bluehut-lod0-jg "head" 28) +(def-joint-node flutflut-bluehut-lod0-jg "ploom1" 29) + +(def-joint-node fireboulder-lod0-jg "bouldercenter" 4) +(def-joint-node fireboulder-lod0-jg "main" 3) +(def-joint-node fireboulder-lod0-jg "prejoint" 2) +(def-joint-node fireboulder-lod0-jg "align" 1) + +(def-joint-node yakow-lod0-jg "RmiddleA" 33) +(def-joint-node yakow-lod0-jg "LmiddleA" 32) +(def-joint-node yakow-lod0-jg "rightEAREND" 31) +(def-joint-node yakow-lod0-jg "leftEAR1" 30) +(def-joint-node yakow-lod0-jg "loSpine" 13) +(def-joint-node yakow-lod0-jg "Rhand" 12) +(def-joint-node yakow-lod0-jg "Relbow" 11) +(def-joint-node yakow-lod0-jg "Rshoulder" 10) +(def-joint-node yakow-lod0-jg "Lhand" 9) +(def-joint-node yakow-lod0-jg "Lelbow" 8) +(def-joint-node yakow-lod0-jg "Lshoulder" 7) +(def-joint-node yakow-lod0-jg "head" 6) +(def-joint-node yakow-lod0-jg "neck" 5) +(def-joint-node yakow-lod0-jg "chest" 4) +(def-joint-node yakow-lod0-jg "main" 3) +(def-joint-node yakow-lod0-jg "prejoint" 2) +(def-joint-node yakow-lod0-jg "align" 1) +(def-joint-node yakow-lod0-jg "hips" 14) +(def-joint-node yakow-lod0-jg "Lthigh" 15) +(def-joint-node yakow-lod0-jg "Lknee" 16) +(def-joint-node yakow-lod0-jg "Lankle" 17) +(def-joint-node yakow-lod0-jg "Lball" 18) +(def-joint-node yakow-lod0-jg "tail1" 19) +(def-joint-node yakow-lod0-jg "tail2" 20) +(def-joint-node yakow-lod0-jg "tail3" 21) +(def-joint-node yakow-lod0-jg "Rthigh" 22) +(def-joint-node yakow-lod0-jg "Rknee" 23) +(def-joint-node yakow-lod0-jg "Rankle" 24) +(def-joint-node yakow-lod0-jg "Rball" 25) +(def-joint-node yakow-lod0-jg "jaw" 26) +(def-joint-node yakow-lod0-jg "jawEND" 27) +(def-joint-node yakow-lod0-jg "leftEAR" 28) +(def-joint-node yakow-lod0-jg "leftEAREND" 29) + +(def-joint-node water-anim-village1-rice-paddy-top-lod0-jg "boneless" 3) +(def-joint-node water-anim-village1-rice-paddy-top-lod0-jg "prejoint" 2) +(def-joint-node water-anim-village1-rice-paddy-top-lod0-jg "align" 1) + +(def-joint-node water-anim-village1-rice-paddy-mid-lod0-jg "boneless" 3) +(def-joint-node water-anim-village1-rice-paddy-mid-lod0-jg "prejoint" 2) +(def-joint-node water-anim-village1-rice-paddy-mid-lod0-jg "align" 1) + +(def-joint-node village1cam-lod0-jg "camera" 4) +(def-joint-node village1cam-lod0-jg "beachcam" 3) +(def-joint-node village1cam-lod0-jg "prejoint" 2) +(def-joint-node village1cam-lod0-jg "align" 1) + +(def-joint-node sagesail-lod0-jg "boneless" 3) +(def-joint-node sagesail-lod0-jg "prejoint" 2) +(def-joint-node sagesail-lod0-jg "align" 1) + +(def-joint-node ropebridge-32-lod0-jg "board17" 20) +(def-joint-node ropebridge-32-lod0-jg "board16" 19) +(def-joint-node ropebridge-32-lod0-jg "board15" 18) +(def-joint-node ropebridge-32-lod0-jg "board14" 17) +(def-joint-node ropebridge-32-lod0-jg "board13" 16) +(def-joint-node ropebridge-32-lod0-jg "board12" 15) +(def-joint-node ropebridge-32-lod0-jg "board11" 14) +(def-joint-node ropebridge-32-lod0-jg "align" 1) +(def-joint-node ropebridge-32-lod0-jg "prejoint" 2) +(def-joint-node ropebridge-32-lod0-jg "head" 3) +(def-joint-node ropebridge-32-lod0-jg "board1" 4) +(def-joint-node ropebridge-32-lod0-jg "board2" 5) +(def-joint-node ropebridge-32-lod0-jg "board3" 6) +(def-joint-node ropebridge-32-lod0-jg "board4" 7) +(def-joint-node ropebridge-32-lod0-jg "board5" 8) +(def-joint-node ropebridge-32-lod0-jg "board6" 9) +(def-joint-node ropebridge-32-lod0-jg "board7" 10) +(def-joint-node ropebridge-32-lod0-jg "board8" 11) +(def-joint-node ropebridge-32-lod0-jg "board9" 12) +(def-joint-node ropebridge-32-lod0-jg "board10" 13) + +(def-joint-node revcycleprop-lod0-jg "boneless" 3) +(def-joint-node revcycleprop-lod0-jg "prejoint" 2) +(def-joint-node revcycleprop-lod0-jg "align" 1) + +(def-joint-node pontoonten-lod0-jg "boneless" 3) +(def-joint-node pontoonten-lod0-jg "prejoint" 2) +(def-joint-node pontoonten-lod0-jg "align" 1) + +(def-joint-node reflector-middle-geo-jg "boneless" 3) +(def-joint-node reflector-middle-geo-jg "prejoint" 2) +(def-joint-node reflector-middle-geo-jg "align" 1) + +(def-joint-node oracle-lod0-jg "oracleleye" 6) +(def-joint-node oracle-lod0-jg "oraclereye" 5) +(def-joint-node oracle-lod0-jg "camera" 4) +(def-joint-node oracle-lod0-jg "oracle" 3) +(def-joint-node oracle-lod0-jg "prejoint" 2) +(def-joint-node oracle-lod0-jg "align" 1) + +(def-joint-node medres-village13-lod0-jg "boneless" 3) +(def-joint-node medres-village13-lod0-jg "prejoint" 2) +(def-joint-node medres-village13-lod0-jg "align" 1) + +(def-joint-node medres-village12-lod0-jg "boneless" 3) +(def-joint-node medres-village12-lod0-jg "prejoint" 2) +(def-joint-node medres-village12-lod0-jg "align" 1) + +(def-joint-node medres-training-lod0-jg "boneless" 3) +(def-joint-node medres-training-lod0-jg "prejoint" 2) +(def-joint-node medres-training-lod0-jg "align" 1) + +(def-joint-node geologist-lod0-jg "RringB" 78) +(def-joint-node geologist-lod0-jg "RringA" 77) +(def-joint-node geologist-lod0-jg "LringB" 76) +(def-joint-node geologist-lod0-jg "LringA" 75) +(def-joint-node geologist-lod0-jg "rLegStrap1" 74) +(def-joint-node geologist-lod0-jg "rLegStrap2" 73) +(def-joint-node geologist-lod0-jg "rLegStrap3" 72) +(def-joint-node geologist-lod0-jg "lLegStrap3" 71) +(def-joint-node geologist-lod0-jg "lLegStrap2" 70) +(def-joint-node geologist-lod0-jg "lLegStrap1" 69) +(def-joint-node geologist-lod0-jg "rArmStrap2" 68) +(def-joint-node geologist-lod0-jg "rArmStrap1" 67) +(def-joint-node geologist-lod0-jg "RmiddleB" 66) +(def-joint-node geologist-lod0-jg "RmiddleA" 65) +(def-joint-node geologist-lod0-jg "RthumbB" 64) +(def-joint-node geologist-lod0-jg "lArmStrap2" 63) +(def-joint-node geologist-lod0-jg "lArmStrap1" 62) +(def-joint-node geologist-lod0-jg "LmiddleB" 61) +(def-joint-node geologist-lod0-jg "LmiddleA" 60) +(def-joint-node geologist-lod0-jg "RindexA" 29) +(def-joint-node geologist-lod0-jg "RthumbA" 28) +(def-joint-node geologist-lod0-jg "Rhand" 27) +(def-joint-node geologist-lod0-jg "Relbow" 26) +(def-joint-node geologist-lod0-jg "Rshoulder" 25) +(def-joint-node geologist-lod0-jg "LpinkyB" 24) +(def-joint-node geologist-lod0-jg "LpinkyA" 23) +(def-joint-node geologist-lod0-jg "LindexB" 22) +(def-joint-node geologist-lod0-jg "LindexA" 21) +(def-joint-node geologist-lod0-jg "LthumbA" 20) +(def-joint-node geologist-lod0-jg "Lhand" 19) +(def-joint-node geologist-lod0-jg "Lelbow" 18) +(def-joint-node geologist-lod0-jg "Lshoulder" 17) +(def-joint-node geologist-lod0-jg "rHatStrap2" 16) +(def-joint-node geologist-lod0-jg "rHatStrap1" 15) +(def-joint-node geologist-lod0-jg "lHatStrap2" 14) +(def-joint-node geologist-lod0-jg "align" 1) +(def-joint-node geologist-lod0-jg "prejoint" 2) +(def-joint-node geologist-lod0-jg "main" 3) +(def-joint-node geologist-lod0-jg "chest" 4) +(def-joint-node geologist-lod0-jg "neck" 5) +(def-joint-node geologist-lod0-jg "head" 6) +(def-joint-node geologist-lod0-jg "lEar1" 7) +(def-joint-node geologist-lod0-jg "lEar2" 8) +(def-joint-node geologist-lod0-jg "rEar1" 9) +(def-joint-node geologist-lod0-jg "rEar2" 10) +(def-joint-node geologist-lod0-jg "headLamp" 11) +(def-joint-node geologist-lod0-jg "lampPARTICLES" 12) +(def-joint-node geologist-lod0-jg "lHatStrap1" 13) +(def-joint-node geologist-lod0-jg "RindexB" 30) +(def-joint-node geologist-lod0-jg "RpinkyA" 31) +(def-joint-node geologist-lod0-jg "RpinkyB" 32) +(def-joint-node geologist-lod0-jg "rope" 33) +(def-joint-node geologist-lod0-jg "hips" 34) +(def-joint-node geologist-lod0-jg "Lthigh" 35) +(def-joint-node geologist-lod0-jg "Lknee" 36) +(def-joint-node geologist-lod0-jg "Lankle" 37) +(def-joint-node geologist-lod0-jg "Lball" 38) +(def-joint-node geologist-lod0-jg "lLegStrap4" 39) +(def-joint-node geologist-lod0-jg "Rthigh" 40) +(def-joint-node geologist-lod0-jg "Rknee" 41) +(def-joint-node geologist-lod0-jg "Rankle" 42) +(def-joint-node geologist-lod0-jg "Rball" 43) +(def-joint-node geologist-lod0-jg "rLegStrap4" 44) +(def-joint-node geologist-lod0-jg "camera" 45) +(def-joint-node geologist-lod0-jg "cameraB" 46) +(def-joint-node geologist-lod0-jg "tHatStrap1" 47) +(def-joint-node geologist-lod0-jg "tHatStrap2" 48) +(def-joint-node geologist-lod0-jg "lBraid1" 49) +(def-joint-node geologist-lod0-jg "lBraid2" 50) +(def-joint-node geologist-lod0-jg "lBraid3" 51) +(def-joint-node geologist-lod0-jg "rBraid1" 52) +(def-joint-node geologist-lod0-jg "rBraid2" 53) +(def-joint-node geologist-lod0-jg "rBraid3" 54) +(def-joint-node geologist-lod0-jg "mBraid1" 55) +(def-joint-node geologist-lod0-jg "mBraid2" 56) +(def-joint-node geologist-lod0-jg "mBraid3" 57) +(def-joint-node geologist-lod0-jg "mBraid4" 58) +(def-joint-node geologist-lod0-jg "LthumbB" 59) + +(def-joint-node medres-misty-lod0-jg "boneless" 3) +(def-joint-node medres-misty-lod0-jg "prejoint" 2) +(def-joint-node medres-misty-lod0-jg "align" 1) + +(def-joint-node medres-jungle2-lod0-jg "boneless" 3) +(def-joint-node medres-jungle2-lod0-jg "prejoint" 2) +(def-joint-node medres-jungle2-lod0-jg "align" 1) + +(def-joint-node medres-beach1-lod0-jg "boneless" 3) +(def-joint-node medres-beach1-lod0-jg "prejoint" 2) +(def-joint-node medres-beach1-lod0-jg "align" 1) + +(def-joint-node mayorgears-geo-jg "mayorgears" 3) +(def-joint-node mayorgears-geo-jg "prejoint" 2) +(def-joint-node mayorgears-geo-jg "align" 1) + +(def-joint-node farmer-lod0-jg "RpinkyC" 63) +(def-joint-node farmer-lod0-jg "RpinkyB" 62) +(def-joint-node farmer-lod0-jg "RpinkyA" 61) +(def-joint-node farmer-lod0-jg "RringC" 60) +(def-joint-node farmer-lod0-jg "hair" 29) +(def-joint-node farmer-lod0-jg "hat" 28) +(def-joint-node farmer-lod0-jg "headEND" 27) +(def-joint-node farmer-lod0-jg "cameraB" 26) +(def-joint-node farmer-lod0-jg "camera" 25) +(def-joint-node farmer-lod0-jg "Rball" 24) +(def-joint-node farmer-lod0-jg "Rankle" 23) +(def-joint-node farmer-lod0-jg "Rknee" 22) +(def-joint-node farmer-lod0-jg "Rthigh" 21) +(def-joint-node farmer-lod0-jg "Lball" 20) +(def-joint-node farmer-lod0-jg "Lankle" 19) +(def-joint-node farmer-lod0-jg "Lknee" 18) +(def-joint-node farmer-lod0-jg "Lthigh" 17) +(def-joint-node farmer-lod0-jg "hips" 16) +(def-joint-node farmer-lod0-jg "fagRight" 15) +(def-joint-node farmer-lod0-jg "fagLeft" 14) +(def-joint-node farmer-lod0-jg "align" 1) +(def-joint-node farmer-lod0-jg "prejoint" 2) +(def-joint-node farmer-lod0-jg "main" 3) +(def-joint-node farmer-lod0-jg "chest" 4) +(def-joint-node farmer-lod0-jg "neck" 5) +(def-joint-node farmer-lod0-jg "head" 6) +(def-joint-node farmer-lod0-jg "Lshoulder" 7) +(def-joint-node farmer-lod0-jg "Lelbow" 8) +(def-joint-node farmer-lod0-jg "Lhand" 9) +(def-joint-node farmer-lod0-jg "Rshoulder" 10) +(def-joint-node farmer-lod0-jg "Relbow" 11) +(def-joint-node farmer-lod0-jg "Rhand" 12) +(def-joint-node farmer-lod0-jg "fagMain" 13) +(def-joint-node farmer-lod0-jg "lEarEND" 30) +(def-joint-node farmer-lod0-jg "rEarEND" 31) +(def-joint-node farmer-lod0-jg "LthumbA" 32) +(def-joint-node farmer-lod0-jg "LthumbB" 33) +(def-joint-node farmer-lod0-jg "LthumbC" 34) +(def-joint-node farmer-lod0-jg "LindexA" 35) +(def-joint-node farmer-lod0-jg "LindexB" 36) +(def-joint-node farmer-lod0-jg "LmiddleA" 37) +(def-joint-node farmer-lod0-jg "LmiddleB" 38) +(def-joint-node farmer-lod0-jg "LringA" 39) +(def-joint-node farmer-lod0-jg "LringB" 40) +(def-joint-node farmer-lod0-jg "LpinkyA" 41) +(def-joint-node farmer-lod0-jg "LpinkyB" 42) +(def-joint-node farmer-lod0-jg "lMustache" 43) +(def-joint-node farmer-lod0-jg "rMustache" 44) +(def-joint-node farmer-lod0-jg "LindexC" 45) +(def-joint-node farmer-lod0-jg "LmiddleC" 46) +(def-joint-node farmer-lod0-jg "LringC" 47) +(def-joint-node farmer-lod0-jg "LpinkyC" 48) +(def-joint-node farmer-lod0-jg "RthumbA" 49) +(def-joint-node farmer-lod0-jg "RthumbB" 50) +(def-joint-node farmer-lod0-jg "RthumbC" 51) +(def-joint-node farmer-lod0-jg "RindexA" 52) +(def-joint-node farmer-lod0-jg "RindexB" 53) +(def-joint-node farmer-lod0-jg "RindexC" 54) +(def-joint-node farmer-lod0-jg "RmiddleA" 55) +(def-joint-node farmer-lod0-jg "RmiddleB" 56) +(def-joint-node farmer-lod0-jg "RmiddleC" 57) +(def-joint-node farmer-lod0-jg "RringA" 58) +(def-joint-node farmer-lod0-jg "RringB" 59) + +(def-joint-node explorer-lod0-jg "RankleStrap" 58) +(def-joint-node explorer-lod0-jg "LankleStrap" 57) +(def-joint-node explorer-lod0-jg "rArmStrap" 56) +(def-joint-node explorer-lod0-jg "RringB" 55) +(def-joint-node explorer-lod0-jg "RringA" 54) +(def-joint-node explorer-lod0-jg "RmiddleB" 53) +(def-joint-node explorer-lod0-jg "RmiddleA" 52) +(def-joint-node explorer-lod0-jg "RthumbB" 51) +(def-joint-node explorer-lod0-jg "lArmStrap" 50) +(def-joint-node explorer-lod0-jg "caneMID" 49) +(def-joint-node explorer-lod0-jg "LringB" 48) +(def-joint-node explorer-lod0-jg "LringA" 47) +(def-joint-node explorer-lod0-jg "LmiddleB" 46) +(def-joint-node explorer-lod0-jg "LmiddleA" 45) +(def-joint-node explorer-lod0-jg "LthumbB" 44) +(def-joint-node explorer-lod0-jg "cameraB" 43) +(def-joint-node explorer-lod0-jg "camera" 42) +(def-joint-node explorer-lod0-jg "Rball" 41) +(def-joint-node explorer-lod0-jg "Rankle" 40) +(def-joint-node explorer-lod0-jg "Rknee" 39) +(def-joint-node explorer-lod0-jg "Rthigh" 38) +(def-joint-node explorer-lod0-jg "Lball" 37) +(def-joint-node explorer-lod0-jg "Lankle" 36) +(def-joint-node explorer-lod0-jg "Lknee" 35) +(def-joint-node explorer-lod0-jg "Lthigh" 34) +(def-joint-node explorer-lod0-jg "hips" 33) +(def-joint-node explorer-lod0-jg "Rcollar2" 32) +(def-joint-node explorer-lod0-jg "Rcollar1" 31) +(def-joint-node explorer-lod0-jg "Lcollar2" 30) +(def-joint-node explorer-lod0-jg "Lhand" 13) +(def-joint-node explorer-lod0-jg "Lelbow" 12) +(def-joint-node explorer-lod0-jg "Lshoulder" 11) +(def-joint-node explorer-lod0-jg "rEar2" 10) +(def-joint-node explorer-lod0-jg "REar1" 9) +(def-joint-node explorer-lod0-jg "lEar2" 8) +(def-joint-node explorer-lod0-jg "lEar1" 7) +(def-joint-node explorer-lod0-jg "head" 6) +(def-joint-node explorer-lod0-jg "neck" 5) +(def-joint-node explorer-lod0-jg "chest" 4) +(def-joint-node explorer-lod0-jg "main" 3) +(def-joint-node explorer-lod0-jg "prejoint" 2) +(def-joint-node explorer-lod0-jg "align" 1) +(def-joint-node explorer-lod0-jg "LthumbA" 14) +(def-joint-node explorer-lod0-jg "LindexA" 15) +(def-joint-node explorer-lod0-jg "LindexB" 16) +(def-joint-node explorer-lod0-jg "LpinkyA" 17) +(def-joint-node explorer-lod0-jg "LpinkyB" 18) +(def-joint-node explorer-lod0-jg "caneTop" 19) +(def-joint-node explorer-lod0-jg "Rshoulder" 20) +(def-joint-node explorer-lod0-jg "Relbow" 21) +(def-joint-node explorer-lod0-jg "Rhand" 22) +(def-joint-node explorer-lod0-jg "RthumbA" 23) +(def-joint-node explorer-lod0-jg "RindexA" 24) +(def-joint-node explorer-lod0-jg "RindexB" 25) +(def-joint-node explorer-lod0-jg "RpinkyA" 26) +(def-joint-node explorer-lod0-jg "RpinkyB" 27) +(def-joint-node explorer-lod0-jg "pouch" 28) +(def-joint-node explorer-lod0-jg "Lcollar1" 29) + +(def-joint-node assistant-lod0-jg "belt" 96) +(def-joint-node assistant-lod0-jg "RpantFlap" 95) +(def-joint-node assistant-lod0-jg "LpantFlap" 94) +(def-joint-node assistant-lod0-jg "rBotStrap2" 93) +(def-joint-node assistant-lod0-jg "rBotStrap1" 92) +(def-joint-node assistant-lod0-jg "lBotStrap2" 91) +(def-joint-node assistant-lod0-jg "lBotStrap1" 90) +(def-joint-node assistant-lod0-jg "rKneeFlap" 89) +(def-joint-node assistant-lod0-jg "RfootFlaps" 88) +(def-joint-node assistant-lod0-jg "RtoeStrap" 87) +(def-joint-node assistant-lod0-jg "lKneeFlap" 86) +(def-joint-node assistant-lod0-jg "LfootFlaps" 85) +(def-joint-node assistant-lod0-jg "gogglesLeft" 84) +(def-joint-node assistant-lod0-jg "gogglesRight" 83) +(def-joint-node assistant-lod0-jg "gogglesMid" 82) +(def-joint-node assistant-lod0-jg "gogglesBase" 81) +(def-joint-node assistant-lod0-jg "rBoob" 80) +(def-joint-node assistant-lod0-jg "lBoob" 79) +(def-joint-node assistant-lod0-jg "rTopStrap2" 78) +(def-joint-node assistant-lod0-jg "rTopStrap1" 77) +(def-joint-node assistant-lod0-jg "rGlove" 76) +(def-joint-node assistant-lod0-jg "RpinkyC" 75) +(def-joint-node assistant-lod0-jg "RpinkyB" 74) +(def-joint-node assistant-lod0-jg "RpinkyA" 73) +(def-joint-node assistant-lod0-jg "RringC" 72) +(def-joint-node assistant-lod0-jg "RringB" 71) +(def-joint-node assistant-lod0-jg "RringA" 70) +(def-joint-node assistant-lod0-jg "RmiddleC" 69) +(def-joint-node assistant-lod0-jg "RmiddleB" 68) +(def-joint-node assistant-lod0-jg "RmiddleA" 67) +(def-joint-node assistant-lod0-jg "RindexC" 66) +(def-joint-node assistant-lod0-jg "RindexB" 65) +(def-joint-node assistant-lod0-jg "RindexA" 64) +(def-joint-node assistant-lod0-jg "RthumbC" 63) +(def-joint-node assistant-lod0-jg "RthumbB" 62) +(def-joint-node assistant-lod0-jg "RthumbA" 61) +(def-joint-node assistant-lod0-jg "lTopStrap2" 60) +(def-joint-node assistant-lod0-jg "torch" 29) +(def-joint-node assistant-lod0-jg "Rball" 28) +(def-joint-node assistant-lod0-jg "Rankle" 27) +(def-joint-node assistant-lod0-jg "Rknee" 26) +(def-joint-node assistant-lod0-jg "Rthigh" 25) +(def-joint-node assistant-lod0-jg "LtoeStrap" 24) +(def-joint-node assistant-lod0-jg "Lball" 23) +(def-joint-node assistant-lod0-jg "Lankle" 22) +(def-joint-node assistant-lod0-jg "Lknee" 21) +(def-joint-node assistant-lod0-jg "Lthigh" 20) +(def-joint-node assistant-lod0-jg "hips" 19) +(def-joint-node assistant-lod0-jg "Rhand" 18) +(def-joint-node assistant-lod0-jg "Relbow" 17) +(def-joint-node assistant-lod0-jg "Rshoulder" 16) +(def-joint-node assistant-lod0-jg "lTopStrap1" 15) +(def-joint-node assistant-lod0-jg "Lhand" 14) +(def-joint-node assistant-lod0-jg "align" 1) +(def-joint-node assistant-lod0-jg "prejoint" 2) +(def-joint-node assistant-lod0-jg "main" 3) +(def-joint-node assistant-lod0-jg "chest" 4) +(def-joint-node assistant-lod0-jg "neck" 5) +(def-joint-node assistant-lod0-jg "head" 6) +(def-joint-node assistant-lod0-jg "lEar1" 7) +(def-joint-node assistant-lod0-jg "lEar2" 8) +(def-joint-node assistant-lod0-jg "rEar1" 9) +(def-joint-node assistant-lod0-jg "rEar2" 10) +(def-joint-node assistant-lod0-jg "backHair1" 11) +(def-joint-node assistant-lod0-jg "Lshoulder" 12) +(def-joint-node assistant-lod0-jg "Lelbow" 13) +(def-joint-node assistant-lod0-jg "torchTIP" 30) +(def-joint-node assistant-lod0-jg "camera" 31) +(def-joint-node assistant-lod0-jg "cameraB" 32) +(def-joint-node assistant-lod0-jg "flipR1" 33) +(def-joint-node assistant-lod0-jg "flipR2" 34) +(def-joint-node assistant-lod0-jg "flipR3" 35) +(def-joint-node assistant-lod0-jg "flipL1" 36) +(def-joint-node assistant-lod0-jg "flipL2" 37) +(def-joint-node assistant-lod0-jg "flipL3" 38) +(def-joint-node assistant-lod0-jg "Lhair1" 39) +(def-joint-node assistant-lod0-jg "Lhair2" 40) +(def-joint-node assistant-lod0-jg "Rhair1" 41) +(def-joint-node assistant-lod0-jg "Rhair2" 42) +(def-joint-node assistant-lod0-jg "backHair2" 43) +(def-joint-node assistant-lod0-jg "LthumbA" 44) +(def-joint-node assistant-lod0-jg "LthumbB" 45) +(def-joint-node assistant-lod0-jg "LthumbC" 46) +(def-joint-node assistant-lod0-jg "LindexA" 47) +(def-joint-node assistant-lod0-jg "LindexB" 48) +(def-joint-node assistant-lod0-jg "LindexC" 49) +(def-joint-node assistant-lod0-jg "LmiddleA" 50) +(def-joint-node assistant-lod0-jg "LmiddleB" 51) +(def-joint-node assistant-lod0-jg "LmiddleC" 52) +(def-joint-node assistant-lod0-jg "LringA" 53) +(def-joint-node assistant-lod0-jg "LringB" 54) +(def-joint-node assistant-lod0-jg "LringC" 55) +(def-joint-node assistant-lod0-jg "LpinkyA" 56) +(def-joint-node assistant-lod0-jg "LpinkyB" 57) +(def-joint-node assistant-lod0-jg "LpinkyC" 58) +(def-joint-node assistant-lod0-jg "lGlove" 59) + +(def-joint-node water-anim-training-lake-lod0-jg "boneless" 3) +(def-joint-node water-anim-training-lake-lod0-jg "prejoint" 2) +(def-joint-node water-anim-training-lake-lod0-jg "align" 1) + +(def-joint-node trainingcam-lod0-jg "camera" 4) +(def-joint-node trainingcam-lod0-jg "trainingcam" 3) +(def-joint-node trainingcam-lod0-jg "prejoint" 2) +(def-joint-node trainingcam-lod0-jg "align" 1) + +(def-joint-node scarecrow-b-lod0-jg "hairA" 22) +(def-joint-node scarecrow-b-lod0-jg "hairB" 21) +(def-joint-node scarecrow-b-lod0-jg "Rhand_straw" 20) +(def-joint-node scarecrow-b-lod0-jg "Rhand" 19) +(def-joint-node scarecrow-b-lod0-jg "Lhand_straw" 18) +(def-joint-node scarecrow-b-lod0-jg "Lhand" 17) +(def-joint-node scarecrow-b-lod0-jg "Rleg_straw" 16) +(def-joint-node scarecrow-b-lod0-jg "Lleg_straw" 15) +(def-joint-node scarecrow-b-lod0-jg "Rleg" 14) +(def-joint-node scarecrow-b-lod0-jg "align" 1) +(def-joint-node scarecrow-b-lod0-jg "prejoint" 2) +(def-joint-node scarecrow-b-lod0-jg "main" 3) +(def-joint-node scarecrow-b-lod0-jg "hips" 4) +(def-joint-node scarecrow-b-lod0-jg "upper" 5) +(def-joint-node scarecrow-b-lod0-jg "Larm" 6) +(def-joint-node scarecrow-b-lod0-jg "Lelbow" 7) +(def-joint-node scarecrow-b-lod0-jg "Rarm" 8) +(def-joint-node scarecrow-b-lod0-jg "Relbow" 9) +(def-joint-node scarecrow-b-lod0-jg "head" 10) +(def-joint-node scarecrow-b-lod0-jg "jaw" 11) +(def-joint-node scarecrow-b-lod0-jg "hay" 12) +(def-joint-node scarecrow-b-lod0-jg "Lleg" 13) + +(def-joint-node medres-beach3-lod0-jg "boneless" 3) +(def-joint-node medres-beach3-lod0-jg "prejoint" 2) +(def-joint-node medres-beach3-lod0-jg "align" 1) + +(def-joint-node scarecrow-a-lod0-jg "Rleg_straw" 22) +(def-joint-node scarecrow-a-lod0-jg "Lleg_straw" 21) +(def-joint-node scarecrow-a-lod0-jg "hairB" 20) +(def-joint-node scarecrow-a-lod0-jg "hairA" 19) +(def-joint-node scarecrow-a-lod0-jg "Rhand_straw" 18) +(def-joint-node scarecrow-a-lod0-jg "Lhand_straw" 17) +(def-joint-node scarecrow-a-lod0-jg "Rhand" 16) +(def-joint-node scarecrow-a-lod0-jg "Lhand" 15) +(def-joint-node scarecrow-a-lod0-jg "Rleg" 14) +(def-joint-node scarecrow-a-lod0-jg "align" 1) +(def-joint-node scarecrow-a-lod0-jg "prejoint" 2) +(def-joint-node scarecrow-a-lod0-jg "main" 3) +(def-joint-node scarecrow-a-lod0-jg "hips" 4) +(def-joint-node scarecrow-a-lod0-jg "upper" 5) +(def-joint-node scarecrow-a-lod0-jg "Larm" 6) +(def-joint-node scarecrow-a-lod0-jg "Lelbow" 7) +(def-joint-node scarecrow-a-lod0-jg "Rarm" 8) +(def-joint-node scarecrow-a-lod0-jg "Relbow" 9) +(def-joint-node scarecrow-a-lod0-jg "head" 10) +(def-joint-node scarecrow-a-lod0-jg "jaw" 11) +(def-joint-node scarecrow-a-lod0-jg "hay" 12) +(def-joint-node scarecrow-a-lod0-jg "Lleg" 13) + +(def-joint-node pontoonfive-lod0-jg "boneless" 3) +(def-joint-node pontoonfive-lod0-jg "prejoint" 2) +(def-joint-node pontoonfive-lod0-jg "align" 1) + +(def-joint-node medres-ogre-lod0-jg "boneless" 3) +(def-joint-node medres-ogre-lod0-jg "prejoint" 2) +(def-joint-node medres-ogre-lod0-jg "align" 1) + +(def-joint-node ndi-volumes-lod0-jg "whiteClaw_paw" 30) +(def-joint-node ndi-volumes-lod0-jg "h_vol" 13) +(def-joint-node ndi-volumes-lod0-jg "h" 12) +(def-joint-node ndi-volumes-lod0-jg "g_vol" 11) +(def-joint-node ndi-volumes-lod0-jg "g" 10) +(def-joint-node ndi-volumes-lod0-jg "u_vol" 9) +(def-joint-node ndi-volumes-lod0-jg "u" 8) +(def-joint-node ndi-volumes-lod0-jg "a_vol" 7) +(def-joint-node ndi-volumes-lod0-jg "a" 6) +(def-joint-node ndi-volumes-lod0-jg "n_vol" 5) +(def-joint-node ndi-volumes-lod0-jg "n" 4) +(def-joint-node ndi-volumes-lod0-jg "main" 3) +(def-joint-node ndi-volumes-lod0-jg "prejoint" 2) +(def-joint-node ndi-volumes-lod0-jg "align" 1) +(def-joint-node ndi-volumes-lod0-jg "t" 14) +(def-joint-node ndi-volumes-lod0-jg "t_vol" 15) +(def-joint-node ndi-volumes-lod0-jg "y" 16) +(def-joint-node ndi-volumes-lod0-jg "y_vol" 17) +(def-joint-node ndi-volumes-lod0-jg "d" 18) +(def-joint-node ndi-volumes-lod0-jg "d_vol" 19) +(def-joint-node ndi-volumes-lod0-jg "o" 20) +(def-joint-node ndi-volumes-lod0-jg "o_vol" 21) +(def-joint-node ndi-volumes-lod0-jg "g1" 22) +(def-joint-node ndi-volumes-lod0-jg "g_vol2" 23) +(def-joint-node ndi-volumes-lod0-jg "paw" 24) +(def-joint-node ndi-volumes-lod0-jg "paw_vol" 25) +(def-joint-node ndi-volumes-lod0-jg "white" 26) +(def-joint-node ndi-volumes-lod0-jg "white_vol" 27) +(def-joint-node ndi-volumes-lod0-jg "whiteClaw_four" 28) +(def-joint-node ndi-volumes-lod0-jg "whiteClaw_three" 29) + +(def-joint-node ndi-cam-lod0-jg "dummy" 4) +(def-joint-node ndi-cam-lod0-jg "camera" 3) +(def-joint-node ndi-cam-lod0-jg "prejoint" 2) +(def-joint-node ndi-cam-lod0-jg "align" 1) + +(def-joint-node logo-volumes-english-lod0-jg "wall39" 51) +(def-joint-node logo-volumes-english-lod0-jg "wall38" 50) +(def-joint-node logo-volumes-english-lod0-jg "wall37" 49) +(def-joint-node logo-volumes-english-lod0-jg "wall36" 48) +(def-joint-node logo-volumes-english-lod0-jg "wall35" 47) +(def-joint-node logo-volumes-english-lod0-jg "wall34" 46) +(def-joint-node logo-volumes-english-lod0-jg "wall33" 45) +(def-joint-node logo-volumes-english-lod0-jg "wall32" 44) +(def-joint-node logo-volumes-english-lod0-jg "wall31" 43) +(def-joint-node logo-volumes-english-lod0-jg "wall30" 42) +(def-joint-node logo-volumes-english-lod0-jg "wall29" 41) +(def-joint-node logo-volumes-english-lod0-jg "wall27" 40) +(def-joint-node logo-volumes-english-lod0-jg "wall26" 39) +(def-joint-node logo-volumes-english-lod0-jg "wall25" 38) +(def-joint-node logo-volumes-english-lod0-jg "wall24" 37) +(def-joint-node logo-volumes-english-lod0-jg "wall23" 36) +(def-joint-node logo-volumes-english-lod0-jg "wall22" 35) +(def-joint-node logo-volumes-english-lod0-jg "wall21" 34) +(def-joint-node logo-volumes-english-lod0-jg "wall20" 33) +(def-joint-node logo-volumes-english-lod0-jg "wall19" 32) +(def-joint-node logo-volumes-english-lod0-jg "wall18" 31) +(def-joint-node logo-volumes-english-lod0-jg "wall17" 30) +(def-joint-node logo-volumes-english-lod0-jg "text" 13) +(def-joint-node logo-volumes-english-lod0-jg "jd" 12) +(def-joint-node logo-volumes-english-lod0-jg "camera" 11) +(def-joint-node logo-volumes-english-lod0-jg "volume4" 10) +(def-joint-node logo-volumes-english-lod0-jg "volume3" 9) +(def-joint-node logo-volumes-english-lod0-jg "volume2" 8) +(def-joint-node logo-volumes-english-lod0-jg "volume1" 7) +(def-joint-node logo-volumes-english-lod0-jg "volume" 6) +(def-joint-node logo-volumes-english-lod0-jg "volumeBase" 5) +(def-joint-node logo-volumes-english-lod0-jg "lensflare" 4) +(def-joint-node logo-volumes-english-lod0-jg "main" 3) +(def-joint-node logo-volumes-english-lod0-jg "prejoint" 2) +(def-joint-node logo-volumes-english-lod0-jg "align" 1) +(def-joint-node logo-volumes-english-lod0-jg "wall1" 14) +(def-joint-node logo-volumes-english-lod0-jg "wall2" 15) +(def-joint-node logo-volumes-english-lod0-jg "wall3" 16) +(def-joint-node logo-volumes-english-lod0-jg "wall4" 17) +(def-joint-node logo-volumes-english-lod0-jg "wall5" 18) +(def-joint-node logo-volumes-english-lod0-jg "wall6" 19) +(def-joint-node logo-volumes-english-lod0-jg "wall7" 20) +(def-joint-node logo-volumes-english-lod0-jg "wall8" 21) +(def-joint-node logo-volumes-english-lod0-jg "wall9" 22) +(def-joint-node logo-volumes-english-lod0-jg "wall10" 23) +(def-joint-node logo-volumes-english-lod0-jg "wall11" 24) +(def-joint-node logo-volumes-english-lod0-jg "wall12" 25) +(def-joint-node logo-volumes-english-lod0-jg "wall13" 26) +(def-joint-node logo-volumes-english-lod0-jg "wall14" 27) +(def-joint-node logo-volumes-english-lod0-jg "wall15" 28) +(def-joint-node logo-volumes-english-lod0-jg "wall16" 29) + +(def-joint-node logo-black-lod0-jg "volume4" 51) +(def-joint-node logo-black-lod0-jg "volume3" 50) +(def-joint-node logo-black-lod0-jg "volume2" 49) +(def-joint-node logo-black-lod0-jg "volume1" 48) +(def-joint-node logo-black-lod0-jg "volume" 47) +(def-joint-node logo-black-lod0-jg "volumeBase" 46) +(def-joint-node logo-black-lod0-jg "text" 45) +(def-joint-node logo-black-lod0-jg "jd" 44) +(def-joint-node logo-black-lod0-jg "camera" 43) +(def-joint-node logo-black-lod0-jg "wall39" 42) +(def-joint-node logo-black-lod0-jg "wall38" 41) +(def-joint-node logo-black-lod0-jg "wall37" 40) +(def-joint-node logo-black-lod0-jg "wall36" 39) +(def-joint-node logo-black-lod0-jg "wall35" 38) +(def-joint-node logo-black-lod0-jg "wall34" 37) +(def-joint-node logo-black-lod0-jg "wall33" 36) +(def-joint-node logo-black-lod0-jg "wall32" 35) +(def-joint-node logo-black-lod0-jg "wall31" 34) +(def-joint-node logo-black-lod0-jg "wall30" 33) +(def-joint-node logo-black-lod0-jg "wall29" 32) +(def-joint-node logo-black-lod0-jg "wall27" 31) +(def-joint-node logo-black-lod0-jg "wall26" 30) +(def-joint-node logo-black-lod0-jg "wall9" 13) +(def-joint-node logo-black-lod0-jg "wall8" 12) +(def-joint-node logo-black-lod0-jg "wall7" 11) +(def-joint-node logo-black-lod0-jg "wall6" 10) +(def-joint-node logo-black-lod0-jg "wall5" 9) +(def-joint-node logo-black-lod0-jg "wall4" 8) +(def-joint-node logo-black-lod0-jg "wall3" 7) +(def-joint-node logo-black-lod0-jg "wall2" 6) +(def-joint-node logo-black-lod0-jg "wall1" 5) +(def-joint-node logo-black-lod0-jg "lensflare" 4) +(def-joint-node logo-black-lod0-jg "main" 3) +(def-joint-node logo-black-lod0-jg "prejoint" 2) +(def-joint-node logo-black-lod0-jg "align" 1) +(def-joint-node logo-black-lod0-jg "wall10" 14) +(def-joint-node logo-black-lod0-jg "wall11" 15) +(def-joint-node logo-black-lod0-jg "wall12" 16) +(def-joint-node logo-black-lod0-jg "wall13" 17) +(def-joint-node logo-black-lod0-jg "wall14" 18) +(def-joint-node logo-black-lod0-jg "wall15" 19) +(def-joint-node logo-black-lod0-jg "wall16" 20) +(def-joint-node logo-black-lod0-jg "wall17" 21) +(def-joint-node logo-black-lod0-jg "wall18" 22) +(def-joint-node logo-black-lod0-jg "wall19" 23) +(def-joint-node logo-black-lod0-jg "wall20" 24) +(def-joint-node logo-black-lod0-jg "wall21" 25) +(def-joint-node logo-black-lod0-jg "wall22" 26) +(def-joint-node logo-black-lod0-jg "wall23" 27) +(def-joint-node logo-black-lod0-jg "wall24" 28) +(def-joint-node logo-black-lod0-jg "wall25" 29) + +(def-joint-node logo-japan-lod0-jg "wall39" 51) +(def-joint-node logo-japan-lod0-jg "wall38" 50) +(def-joint-node logo-japan-lod0-jg "wall37" 49) +(def-joint-node logo-japan-lod0-jg "wall36" 48) +(def-joint-node logo-japan-lod0-jg "wall35" 47) +(def-joint-node logo-japan-lod0-jg "wall34" 46) +(def-joint-node logo-japan-lod0-jg "wall33" 45) +(def-joint-node logo-japan-lod0-jg "wall32" 44) +(def-joint-node logo-japan-lod0-jg "wall31" 43) +(def-joint-node logo-japan-lod0-jg "wall30" 42) +(def-joint-node logo-japan-lod0-jg "wall29" 41) +(def-joint-node logo-japan-lod0-jg "wall27" 40) +(def-joint-node logo-japan-lod0-jg "wall26" 39) +(def-joint-node logo-japan-lod0-jg "wall25" 38) +(def-joint-node logo-japan-lod0-jg "wall24" 37) +(def-joint-node logo-japan-lod0-jg "wall23" 36) +(def-joint-node logo-japan-lod0-jg "wall22" 35) +(def-joint-node logo-japan-lod0-jg "wall21" 34) +(def-joint-node logo-japan-lod0-jg "wall20" 33) +(def-joint-node logo-japan-lod0-jg "wall19" 32) +(def-joint-node logo-japan-lod0-jg "wall18" 31) +(def-joint-node logo-japan-lod0-jg "wall17" 30) +(def-joint-node logo-japan-lod0-jg "volume4" 13) +(def-joint-node logo-japan-lod0-jg "volume3" 12) +(def-joint-node logo-japan-lod0-jg "volume2" 11) +(def-joint-node logo-japan-lod0-jg "volume1" 10) +(def-joint-node logo-japan-lod0-jg "volume" 9) +(def-joint-node logo-japan-lod0-jg "volumeBase" 8) +(def-joint-node logo-japan-lod0-jg "camera" 7) +(def-joint-node logo-japan-lod0-jg "text" 6) +(def-joint-node logo-japan-lod0-jg "jd" 5) +(def-joint-node logo-japan-lod0-jg "lensflare" 4) +(def-joint-node logo-japan-lod0-jg "main" 3) +(def-joint-node logo-japan-lod0-jg "prejoint" 2) +(def-joint-node logo-japan-lod0-jg "align" 1) +(def-joint-node logo-japan-lod0-jg "wall1" 14) +(def-joint-node logo-japan-lod0-jg "wall2" 15) +(def-joint-node logo-japan-lod0-jg "wall3" 16) +(def-joint-node logo-japan-lod0-jg "wall4" 17) +(def-joint-node logo-japan-lod0-jg "wall5" 18) +(def-joint-node logo-japan-lod0-jg "wall6" 19) +(def-joint-node logo-japan-lod0-jg "wall7" 20) +(def-joint-node logo-japan-lod0-jg "wall8" 21) +(def-joint-node logo-japan-lod0-jg "wall9" 22) +(def-joint-node logo-japan-lod0-jg "wall10" 23) +(def-joint-node logo-japan-lod0-jg "wall11" 24) +(def-joint-node logo-japan-lod0-jg "wall12" 25) +(def-joint-node logo-japan-lod0-jg "wall13" 26) +(def-joint-node logo-japan-lod0-jg "wall14" 27) +(def-joint-node logo-japan-lod0-jg "wall15" 28) +(def-joint-node logo-japan-lod0-jg "wall16" 29) + +(def-joint-node swamp-rock-lod0-jg "rock" 3) +(def-joint-node swamp-rock-lod0-jg "prejoint" 2) +(def-joint-node swamp-rock-lod0-jg "align" 1) + +(def-joint-node swamp-rat-nest-b-lod0-jg "top_right" 10) +(def-joint-node swamp-rat-nest-b-lod0-jg "top_mid" 9) +(def-joint-node swamp-rat-nest-b-lod0-jg "back" 8) +(def-joint-node swamp-rat-nest-b-lod0-jg "mid" 7) +(def-joint-node swamp-rat-nest-b-lod0-jg "bot" 6) +(def-joint-node swamp-rat-nest-b-lod0-jg "top_left" 5) +(def-joint-node swamp-rat-nest-b-lod0-jg "spine2" 4) +(def-joint-node swamp-rat-nest-b-lod0-jg "spine1" 3) +(def-joint-node swamp-rat-nest-b-lod0-jg "prejoint" 2) +(def-joint-node swamp-rat-nest-b-lod0-jg "align" 1) + +(def-joint-node swamp-rat-nest-a-lod0-jg "back" 10) +(def-joint-node swamp-rat-nest-a-lod0-jg "mid" 9) +(def-joint-node swamp-rat-nest-a-lod0-jg "bot" 8) +(def-joint-node swamp-rat-nest-a-lod0-jg "top_right" 7) +(def-joint-node swamp-rat-nest-a-lod0-jg "top_mid" 6) +(def-joint-node swamp-rat-nest-a-lod0-jg "top_left" 5) +(def-joint-node swamp-rat-nest-a-lod0-jg "spine2" 4) +(def-joint-node swamp-rat-nest-a-lod0-jg "spine1" 3) +(def-joint-node swamp-rat-nest-a-lod0-jg "prejoint" 2) +(def-joint-node swamp-rat-nest-a-lod0-jg "align" 1) + +(def-joint-node swamp-rat-lod0-jg "tail3" 16) +(def-joint-node swamp-rat-lod0-jg "EARS" 15) +(def-joint-node swamp-rat-lod0-jg "ring" 14) +(def-joint-node swamp-rat-lod0-jg "align" 1) +(def-joint-node swamp-rat-lod0-jg "prejoint" 2) +(def-joint-node swamp-rat-lod0-jg "main" 3) +(def-joint-node swamp-rat-lod0-jg "chest" 4) +(def-joint-node swamp-rat-lod0-jg "hips" 5) +(def-joint-node swamp-rat-lod0-jg "tail1" 6) +(def-joint-node swamp-rat-lod0-jg "neck" 7) +(def-joint-node swamp-rat-lod0-jg "Lhand" 8) +(def-joint-node swamp-rat-lod0-jg "Rhand" 9) +(def-joint-node swamp-rat-lod0-jg "tail2" 10) +(def-joint-node swamp-rat-lod0-jg "Lankle" 11) +(def-joint-node swamp-rat-lod0-jg "Rankle" 12) +(def-joint-node swamp-rat-lod0-jg "jaw" 13) + +(def-joint-node kermit-lod0-jg "ReyeBALL" 28) +(def-joint-node kermit-lod0-jg "tongueD" 27) +(def-joint-node kermit-lod0-jg "tongueC" 26) +(def-joint-node kermit-lod0-jg "tongueB" 25) +(def-joint-node kermit-lod0-jg "tongueA" 24) +(def-joint-node kermit-lod0-jg "LeyeBALL" 23) +(def-joint-node kermit-lod0-jg "jaw" 22) +(def-joint-node kermit-lod0-jg "ring" 21) +(def-joint-node kermit-lod0-jg "rBall" 20) +(def-joint-node kermit-lod0-jg "lBall" 19) +(def-joint-node kermit-lod0-jg "rAnkle" 18) +(def-joint-node kermit-lod0-jg "rKnee" 17) +(def-joint-node kermit-lod0-jg "rThigh" 16) +(def-joint-node kermit-lod0-jg "lAnkle" 15) +(def-joint-node kermit-lod0-jg "lKnee" 14) +(def-joint-node kermit-lod0-jg "align" 1) +(def-joint-node kermit-lod0-jg "prejoint" 2) +(def-joint-node kermit-lod0-jg "main" 3) +(def-joint-node kermit-lod0-jg "chest" 4) +(def-joint-node kermit-lod0-jg "lShoulder" 5) +(def-joint-node kermit-lod0-jg "lElbow" 6) +(def-joint-node kermit-lod0-jg "lHand" 7) +(def-joint-node kermit-lod0-jg "head" 8) +(def-joint-node kermit-lod0-jg "rShoulder" 9) +(def-joint-node kermit-lod0-jg "rElbow" 10) +(def-joint-node kermit-lod0-jg "rHand" 11) +(def-joint-node kermit-lod0-jg "hips" 12) +(def-joint-node kermit-lod0-jg "lThigh" 13) + +(def-joint-node farthy-snack-lod0-jg "muffin" 3) +(def-joint-node farthy-snack-lod0-jg "prejoint" 2) +(def-joint-node farthy-snack-lod0-jg "align" 1) + +(def-joint-node billy-sidekick-lod0-jg "rightbackfur1" 39) +(def-joint-node billy-sidekick-lod0-jg "leftbackfur1" 38) +(def-joint-node billy-sidekick-lod0-jg "Rball_rear" 37) +(def-joint-node billy-sidekick-lod0-jg "Rankle" 36) +(def-joint-node billy-sidekick-lod0-jg "Rknee" 35) +(def-joint-node billy-sidekick-lod0-jg "Rthigh" 34) +(def-joint-node billy-sidekick-lod0-jg "tail4" 33) +(def-joint-node billy-sidekick-lod0-jg "tail3" 32) +(def-joint-node billy-sidekick-lod0-jg "tail2" 31) +(def-joint-node billy-sidekick-lod0-jg "tail1" 30) +(def-joint-node billy-sidekick-lod0-jg "jaw" 13) +(def-joint-node billy-sidekick-lod0-jg "weed" 12) +(def-joint-node billy-sidekick-lod0-jg "rightEAR2" 11) +(def-joint-node billy-sidekick-lod0-jg "rightEAR1" 10) +(def-joint-node billy-sidekick-lod0-jg "leftEAR2" 9) +(def-joint-node billy-sidekick-lod0-jg "leftEAR1" 8) +(def-joint-node billy-sidekick-lod0-jg "hat" 7) +(def-joint-node billy-sidekick-lod0-jg "head" 6) +(def-joint-node billy-sidekick-lod0-jg "neck" 5) +(def-joint-node billy-sidekick-lod0-jg "chest" 4) +(def-joint-node billy-sidekick-lod0-jg "main" 3) +(def-joint-node billy-sidekick-lod0-jg "prejoint" 2) +(def-joint-node billy-sidekick-lod0-jg "align" 1) +(def-joint-node billy-sidekick-lod0-jg "tongue1" 14) +(def-joint-node billy-sidekick-lod0-jg "tongue2" 15) +(def-joint-node billy-sidekick-lod0-jg "Lshoulder" 16) +(def-joint-node billy-sidekick-lod0-jg "Lelbow" 17) +(def-joint-node billy-sidekick-lod0-jg "Lhand" 18) +(def-joint-node billy-sidekick-lod0-jg "Lball_front" 19) +(def-joint-node billy-sidekick-lod0-jg "Rshoulder" 20) +(def-joint-node billy-sidekick-lod0-jg "Relbow" 21) +(def-joint-node billy-sidekick-lod0-jg "Rhand" 22) +(def-joint-node billy-sidekick-lod0-jg "Rball_front" 23) +(def-joint-node billy-sidekick-lod0-jg "loSpine" 24) +(def-joint-node billy-sidekick-lod0-jg "hips" 25) +(def-joint-node billy-sidekick-lod0-jg "Lthigh" 26) +(def-joint-node billy-sidekick-lod0-jg "Lknee" 27) +(def-joint-node billy-sidekick-lod0-jg "Lankle" 28) +(def-joint-node billy-sidekick-lod0-jg "Lball_rear" 29) + +(def-joint-node balance-plat-lod0-jg "balanceplat" 3) +(def-joint-node balance-plat-lod0-jg "prejoint" 2) +(def-joint-node balance-plat-lod0-jg "align" 1) + +(def-joint-node whirlpool-lod0-jg "base" 4) +(def-joint-node whirlpool-lod0-jg "whirlpool" 3) +(def-joint-node whirlpool-lod0-jg "prejoint" 2) +(def-joint-node whirlpool-lod0-jg "align" 1) + +(def-joint-node wedge-plat-outer-lod0-jg "wedgeplatouter" 3) +(def-joint-node wedge-plat-outer-lod0-jg "prejoint" 2) +(def-joint-node wedge-plat-outer-lod0-jg "align" 1) + +(def-joint-node wedge-plat-lod0-jg "plat" 3) +(def-joint-node wedge-plat-lod0-jg "prejoint" 2) +(def-joint-node wedge-plat-lod0-jg "align" 1) + +(def-joint-node sun-iris-door-lod0-jg "rote8" 11) +(def-joint-node sun-iris-door-lod0-jg "rote1" 10) +(def-joint-node sun-iris-door-lod0-jg "rote7" 9) +(def-joint-node sun-iris-door-lod0-jg "rote6" 8) +(def-joint-node sun-iris-door-lod0-jg "rote5" 7) +(def-joint-node sun-iris-door-lod0-jg "rote4" 6) +(def-joint-node sun-iris-door-lod0-jg "rote3" 5) +(def-joint-node sun-iris-door-lod0-jg "rote2" 4) +(def-joint-node sun-iris-door-lod0-jg "base" 3) +(def-joint-node sun-iris-door-lod0-jg "prejoint" 2) +(def-joint-node sun-iris-door-lod0-jg "align" 1) + +(def-joint-node square-platform-lod0-jg "plat" 3) +(def-joint-node square-platform-lod0-jg "prejoint" 2) +(def-joint-node square-platform-lod0-jg "align" 1) + +(def-joint-node side-to-side-plat-lod0-jg "plat" 3) +(def-joint-node side-to-side-plat-lod0-jg "prejoint" 2) +(def-joint-node side-to-side-plat-lod0-jg "align" 1) + +(def-joint-node qbert-plat-on-lod0-jg "boneless" 3) +(def-joint-node qbert-plat-on-lod0-jg "prejoint" 2) +(def-joint-node qbert-plat-on-lod0-jg "align" 1) + +(def-joint-node double-lurker-lod0-jg "RthumbB" 32) +(def-joint-node double-lurker-lod0-jg "LthumbB" 31) +(def-joint-node double-lurker-lod0-jg "Rball" 30) +(def-joint-node double-lurker-lod0-jg "LmiddleB" 13) +(def-joint-node double-lurker-lod0-jg "LmiddleA" 12) +(def-joint-node double-lurker-lod0-jg "LthumbA" 11) +(def-joint-node double-lurker-lod0-jg "Lhand" 10) +(def-joint-node double-lurker-lod0-jg "Lelbow" 9) +(def-joint-node double-lurker-lod0-jg "Lshoulder" 8) +(def-joint-node double-lurker-lod0-jg "jawB" 7) +(def-joint-node double-lurker-lod0-jg "ringB" 6) +(def-joint-node double-lurker-lod0-jg "head" 5) +(def-joint-node double-lurker-lod0-jg "chest" 4) +(def-joint-node double-lurker-lod0-jg "main" 3) +(def-joint-node double-lurker-lod0-jg "prejoint" 2) +(def-joint-node double-lurker-lod0-jg "align" 1) +(def-joint-node double-lurker-lod0-jg "Rshoulder" 14) +(def-joint-node double-lurker-lod0-jg "Relbow" 15) +(def-joint-node double-lurker-lod0-jg "Rhand" 16) +(def-joint-node double-lurker-lod0-jg "RthumbA" 17) +(def-joint-node double-lurker-lod0-jg "RmiddleA" 18) +(def-joint-node double-lurker-lod0-jg "RmiddleB" 19) +(def-joint-node double-lurker-lod0-jg "backHair" 20) +(def-joint-node double-lurker-lod0-jg "frontHair" 21) +(def-joint-node double-lurker-lod0-jg "hips" 22) +(def-joint-node double-lurker-lod0-jg "Lthigh" 23) +(def-joint-node double-lurker-lod0-jg "Lknee" 24) +(def-joint-node double-lurker-lod0-jg "Lankle" 25) +(def-joint-node double-lurker-lod0-jg "Lball" 26) +(def-joint-node double-lurker-lod0-jg "Rthigh" 27) +(def-joint-node double-lurker-lod0-jg "Rknee" 28) +(def-joint-node double-lurker-lod0-jg "Rankle" 29) + +(def-joint-node water-anim-sunken-dark-eco-helix-room-lod0-jg "boneless" 3) +(def-joint-node water-anim-sunken-dark-eco-helix-room-lod0-jg "prejoint" 2) +(def-joint-node water-anim-sunken-dark-eco-helix-room-lod0-jg "align" 1) + +(def-joint-node water-anim-sunken-dark-eco-platform-room-lod0-jg "boneless" 3) +(def-joint-node water-anim-sunken-dark-eco-platform-room-lod0-jg "prejoint" 2) +(def-joint-node water-anim-sunken-dark-eco-platform-room-lod0-jg "align" 1) + +(def-joint-node water-anim-sunken-dark-eco-qbert-lod0-jg "boneless" 3) +(def-joint-node water-anim-sunken-dark-eco-qbert-lod0-jg "prejoint" 2) +(def-joint-node water-anim-sunken-dark-eco-qbert-lod0-jg "align" 1) + +(def-joint-node water-anim-sunken-big-room-upper-water-lod0-jg "boneless" 3) +(def-joint-node water-anim-sunken-big-room-upper-water-lod0-jg "prejoint" 2) +(def-joint-node water-anim-sunken-big-room-upper-water-lod0-jg "align" 1) + +(def-joint-node billy-lod0-jg "RpinkyB" 59) +(def-joint-node billy-lod0-jg "RpinkyA" 58) +(def-joint-node billy-lod0-jg "RmiddleB" 57) +(def-joint-node billy-lod0-jg "RmiddleA" 56) +(def-joint-node billy-lod0-jg "RthumbB" 55) +(def-joint-node billy-lod0-jg "RthumbA" 54) +(def-joint-node billy-lod0-jg "tail3" 53) +(def-joint-node billy-lod0-jg "tail2" 52) +(def-joint-node billy-lod0-jg "tail1" 51) +(def-joint-node billy-lod0-jg "LpinkyB" 50) +(def-joint-node billy-lod0-jg "LpinkyA" 49) +(def-joint-node billy-lod0-jg "LmiddleB" 48) +(def-joint-node billy-lod0-jg "LmiddleA" 47) +(def-joint-node billy-lod0-jg "LthumbB" 46) +(def-joint-node billy-lod0-jg "lEar2" 45) +(def-joint-node billy-lod0-jg "lEar1" 44) +(def-joint-node billy-lod0-jg "rEar2" 43) +(def-joint-node billy-lod0-jg "rEar1" 42) +(def-joint-node billy-lod0-jg "cameraB" 41) +(def-joint-node billy-lod0-jg "camera" 40) +(def-joint-node billy-lod0-jg "strap3" 39) +(def-joint-node billy-lod0-jg "strap2" 38) +(def-joint-node billy-lod0-jg "strap1" 37) +(def-joint-node billy-lod0-jg "flap2" 36) +(def-joint-node billy-lod0-jg "flap1" 35) +(def-joint-node billy-lod0-jg "Rball" 34) +(def-joint-node billy-lod0-jg "Rankle" 33) +(def-joint-node billy-lod0-jg "Rknee" 32) +(def-joint-node billy-lod0-jg "Rthigh" 31) +(def-joint-node billy-lod0-jg "Lball" 30) +(def-joint-node billy-lod0-jg "LthumbA" 13) +(def-joint-node billy-lod0-jg "Lhand" 12) +(def-joint-node billy-lod0-jg "Lelbow" 11) +(def-joint-node billy-lod0-jg "Lshoulder" 10) +(def-joint-node billy-lod0-jg "hair2" 9) +(def-joint-node billy-lod0-jg "hair1" 8) +(def-joint-node billy-lod0-jg "goatee" 7) +(def-joint-node billy-lod0-jg "head" 6) +(def-joint-node billy-lod0-jg "neck" 5) +(def-joint-node billy-lod0-jg "chest" 4) +(def-joint-node billy-lod0-jg "main" 3) +(def-joint-node billy-lod0-jg "prejoint" 2) +(def-joint-node billy-lod0-jg "align" 1) +(def-joint-node billy-lod0-jg "LindexA" 14) +(def-joint-node billy-lod0-jg "LindexB" 15) +(def-joint-node billy-lod0-jg "LringA" 16) +(def-joint-node billy-lod0-jg "LringB" 17) +(def-joint-node billy-lod0-jg "jug" 18) +(def-joint-node billy-lod0-jg "Rshoulder" 19) +(def-joint-node billy-lod0-jg "Relbow" 20) +(def-joint-node billy-lod0-jg "Rhand" 21) +(def-joint-node billy-lod0-jg "RindexA" 22) +(def-joint-node billy-lod0-jg "RindexB" 23) +(def-joint-node billy-lod0-jg "RringA" 24) +(def-joint-node billy-lod0-jg "RringB" 25) +(def-joint-node billy-lod0-jg "hips" 26) +(def-joint-node billy-lod0-jg "Lthigh" 27) +(def-joint-node billy-lod0-jg "Lknee" 28) +(def-joint-node billy-lod0-jg "Lankle" 29) + +(def-joint-node water-anim-sunken-short-piece-lod0-jg "boneless" 3) +(def-joint-node water-anim-sunken-short-piece-lod0-jg "prejoint" 2) +(def-joint-node water-anim-sunken-short-piece-lod0-jg "align" 1) + +(def-joint-node water-anim-sunken-hall-with-three-whirlpools-lod0-jg "boneless" 3) +(def-joint-node water-anim-sunken-hall-with-three-whirlpools-lod0-jg "prejoint" 2) +(def-joint-node water-anim-sunken-hall-with-three-whirlpools-lod0-jg "align" 1) + +(def-joint-node water-anim-sunken-hall-with-one-whirlpool-lod0-jg "boneless" 3) +(def-joint-node water-anim-sunken-hall-with-one-whirlpool-lod0-jg "prejoint" 2) +(def-joint-node water-anim-sunken-hall-with-one-whirlpool-lod0-jg "align" 1) + +(def-joint-node water-anim-sunken-circular-with-bullys-lod0-jg "boneless" 3) +(def-joint-node water-anim-sunken-circular-with-bullys-lod0-jg "prejoint" 2) +(def-joint-node water-anim-sunken-circular-with-bullys-lod0-jg "align" 1) + +(def-joint-node water-anim-sunken-first-right-branch-lod0-jg "boneless" 3) +(def-joint-node water-anim-sunken-first-right-branch-lod0-jg "prejoint" 2) +(def-joint-node water-anim-sunken-first-right-branch-lod0-jg "align" 1) + +(def-joint-node water-anim-sunken-first-room-from-entrance-lod0-jg "boneless" 3) +(def-joint-node water-anim-sunken-first-room-from-entrance-lod0-jg "prejoint" 2) +(def-joint-node water-anim-sunken-first-room-from-entrance-lod0-jg "align" 1) + +(def-joint-node wall-plat-lod0-jg "boneless" 3) +(def-joint-node wall-plat-lod0-jg "prejoint" 2) +(def-joint-node wall-plat-lod0-jg "align" 1) + +(def-joint-node sunkenfisha-yellow-blue-lod0-jg "Rfin" 7) +(def-joint-node sunkenfisha-yellow-blue-lod0-jg "tail2" 6) +(def-joint-node sunkenfisha-yellow-blue-lod0-jg "tail1" 5) +(def-joint-node sunkenfisha-yellow-blue-lod0-jg "Lfin" 4) +(def-joint-node sunkenfisha-yellow-blue-lod0-jg "top" 3) +(def-joint-node sunkenfisha-yellow-blue-lod0-jg "prejoint" 2) +(def-joint-node sunkenfisha-yellow-blue-lod0-jg "align" 1) + +(def-joint-node floating-launcher-lod0-jg "boneless" 3) +(def-joint-node floating-launcher-lod0-jg "prejoint" 2) +(def-joint-node floating-launcher-lod0-jg "align" 1) + +(def-joint-node bully-lod0-jg "RpinkyB" 44) +(def-joint-node bully-lod0-jg "RpinkyA" 43) +(def-joint-node bully-lod0-jg "RringB" 42) +(def-joint-node bully-lod0-jg "RringA" 41) +(def-joint-node bully-lod0-jg "RindexB" 40) +(def-joint-node bully-lod0-jg "RindexA" 39) +(def-joint-node bully-lod0-jg "LpinkyB" 38) +(def-joint-node bully-lod0-jg "LpinkyA" 37) +(def-joint-node bully-lod0-jg "LringB" 36) +(def-joint-node bully-lod0-jg "LringA" 35) +(def-joint-node bully-lod0-jg "LindexB" 34) +(def-joint-node bully-lod0-jg "LindexA" 33) +(def-joint-node bully-lod0-jg "lGuard" 32) +(def-joint-node bully-lod0-jg "rGuard" 31) +(def-joint-node bully-lod0-jg "RmiddleB" 30) +(def-joint-node bully-lod0-jg "hips" 13) +(def-joint-node bully-lod0-jg "Rhand" 12) +(def-joint-node bully-lod0-jg "Relbow" 11) +(def-joint-node bully-lod0-jg "Rshoulder" 10) +(def-joint-node bully-lod0-jg "Lhand" 9) +(def-joint-node bully-lod0-jg "Lelbow" 8) +(def-joint-node bully-lod0-jg "Lshoulder" 7) +(def-joint-node bully-lod0-jg "jaw" 6) +(def-joint-node bully-lod0-jg "head" 5) +(def-joint-node bully-lod0-jg "chest" 4) +(def-joint-node bully-lod0-jg "main" 3) +(def-joint-node bully-lod0-jg "prejoint" 2) +(def-joint-node bully-lod0-jg "align" 1) +(def-joint-node bully-lod0-jg "Lthigh" 14) +(def-joint-node bully-lod0-jg "Lknee" 15) +(def-joint-node bully-lod0-jg "Lankle" 16) +(def-joint-node bully-lod0-jg "Lball" 17) +(def-joint-node bully-lod0-jg "Rthigh" 18) +(def-joint-node bully-lod0-jg "Rknee" 19) +(def-joint-node bully-lod0-jg "Rankle" 20) +(def-joint-node bully-lod0-jg "Rball" 21) +(def-joint-node bully-lod0-jg "cage" 22) +(def-joint-node bully-lod0-jg "LthumbA" 23) +(def-joint-node bully-lod0-jg "LthumbB" 24) +(def-joint-node bully-lod0-jg "LmiddleA" 25) +(def-joint-node bully-lod0-jg "LmiddleB" 26) +(def-joint-node bully-lod0-jg "RthumbA" 27) +(def-joint-node bully-lod0-jg "RthumbB" 28) +(def-joint-node bully-lod0-jg "RmiddleA" 29) + +(def-joint-node sunkenfisha-red-yellow-lod0-jg "Rfin" 7) +(def-joint-node sunkenfisha-red-yellow-lod0-jg "tail2" 6) +(def-joint-node sunkenfisha-red-yellow-lod0-jg "tail1" 5) +(def-joint-node sunkenfisha-red-yellow-lod0-jg "Lfin" 4) +(def-joint-node sunkenfisha-red-yellow-lod0-jg "top" 3) +(def-joint-node sunkenfisha-red-yellow-lod0-jg "prejoint" 2) +(def-joint-node sunkenfisha-red-yellow-lod0-jg "align" 1) + +(def-joint-node yeti-lod0-jg "Larmhair" 47) +(def-joint-node yeti-lod0-jg "Rleghair" 46) +(def-joint-node yeti-lod0-jg "Rball" 45) +(def-joint-node yeti-lod0-jg "Rankle" 44) +(def-joint-node yeti-lod0-jg "Rknee" 43) +(def-joint-node yeti-lod0-jg "Rthigh" 42) +(def-joint-node yeti-lod0-jg "Lleghair" 41) +(def-joint-node yeti-lod0-jg "Lball" 40) +(def-joint-node yeti-lod0-jg "Lankle" 39) +(def-joint-node yeti-lod0-jg "Lknee" 38) +(def-joint-node yeti-lod0-jg "Lthigh" 37) +(def-joint-node yeti-lod0-jg "hips" 36) +(def-joint-node yeti-lod0-jg "backhair" 35) +(def-joint-node yeti-lod0-jg "Rarmhair" 34) +(def-joint-node yeti-lod0-jg "RmiddleC" 33) +(def-joint-node yeti-lod0-jg "RmiddleB" 32) +(def-joint-node yeti-lod0-jg "RmiddleA" 31) +(def-joint-node yeti-lod0-jg "RindexC" 30) +(def-joint-node yeti-lod0-jg "LthumbA" 13) +(def-joint-node yeti-lod0-jg "Lhand" 12) +(def-joint-node yeti-lod0-jg "Lelbow" 11) +(def-joint-node yeti-lod0-jg "Lshoulder" 10) +(def-joint-node yeti-lod0-jg "frontring" 9) +(def-joint-node yeti-lod0-jg "headhair" 8) +(def-joint-node yeti-lod0-jg "jaw" 7) +(def-joint-node yeti-lod0-jg "head" 6) +(def-joint-node yeti-lod0-jg "neck" 5) +(def-joint-node yeti-lod0-jg "chest" 4) +(def-joint-node yeti-lod0-jg "main" 3) +(def-joint-node yeti-lod0-jg "prejoint" 2) +(def-joint-node yeti-lod0-jg "align" 1) +(def-joint-node yeti-lod0-jg "LthumbB" 14) +(def-joint-node yeti-lod0-jg "LthumbC" 15) +(def-joint-node yeti-lod0-jg "LindexA" 16) +(def-joint-node yeti-lod0-jg "LindexB" 17) +(def-joint-node yeti-lod0-jg "LindexC" 18) +(def-joint-node yeti-lod0-jg "LmiddleA" 19) +(def-joint-node yeti-lod0-jg "LmiddleB" 20) +(def-joint-node yeti-lod0-jg "LmiddleC" 21) +(def-joint-node yeti-lod0-jg "Rshoulder" 22) +(def-joint-node yeti-lod0-jg "Relbow" 23) +(def-joint-node yeti-lod0-jg "Rhand" 24) +(def-joint-node yeti-lod0-jg "RthumbA" 25) +(def-joint-node yeti-lod0-jg "RthumbB" 26) +(def-joint-node yeti-lod0-jg "RthumbC" 27) +(def-joint-node yeti-lod0-jg "RindexA" 28) +(def-joint-node yeti-lod0-jg "RindexB" 29) + +(def-joint-node snowpusher-lod0-jg "main" 3) +(def-joint-node snowpusher-lod0-jg "prejoint" 2) +(def-joint-node snowpusher-lod0-jg "align" 1) + +(def-joint-node snowcam-lod0-jg "camera" 4) +(def-joint-node snowcam-lod0-jg "snowcam" 3) +(def-joint-node snowcam-lod0-jg "prejoint" 2) +(def-joint-node snowcam-lod0-jg "align" 1) + +(def-joint-node water-anim-village1-fountain-lod0-jg "boneless" 3) +(def-joint-node water-anim-village1-fountain-lod0-jg "prejoint" 2) +(def-joint-node water-anim-village1-fountain-lod0-jg "align" 1) + +(def-joint-node snow-spatula-lod0-jg "boneless" 3) +(def-joint-node snow-spatula-lod0-jg "prejoint" 2) +(def-joint-node snow-spatula-lod0-jg "align" 1) + +(def-joint-node swampcam-lod0-jg "camera" 4) +(def-joint-node swampcam-lod0-jg "beachcam" 3) +(def-joint-node swampcam-lod0-jg "prejoint" 2) +(def-joint-node swampcam-lod0-jg "align" 1) + +(def-joint-node snow-log-lod0-jg "log" 3) +(def-joint-node snow-log-lod0-jg "prejoint" 2) +(def-joint-node snow-log-lod0-jg "align" 1) + +(def-joint-node snow-gears-lod0-jg "chain2" 7) +(def-joint-node snow-gears-lod0-jg "chain1" 6) +(def-joint-node snow-gears-lod0-jg "gear2" 5) +(def-joint-node snow-gears-lod0-jg "gear1" 4) +(def-joint-node snow-gears-lod0-jg "main" 3) +(def-joint-node snow-gears-lod0-jg "prejoint" 2) +(def-joint-node snow-gears-lod0-jg "align" 1) + +(def-joint-node snow-eggtop-lod0-jg "eggtop" 4) +(def-joint-node snow-eggtop-lod0-jg "main" 3) +(def-joint-node snow-eggtop-lod0-jg "prejoint" 2) +(def-joint-node snow-eggtop-lod0-jg "align" 1) + +(def-joint-node snow-bunny-lod0-jg "Rball" 21) +(def-joint-node snow-bunny-lod0-jg "Rankle" 20) +(def-joint-node snow-bunny-lod0-jg "Rknee" 19) +(def-joint-node snow-bunny-lod0-jg "Rthigh" 18) +(def-joint-node snow-bunny-lod0-jg "Lball" 17) +(def-joint-node snow-bunny-lod0-jg "Lankle" 16) +(def-joint-node snow-bunny-lod0-jg "Lknee" 15) +(def-joint-node snow-bunny-lod0-jg "Lthigh" 14) +(def-joint-node snow-bunny-lod0-jg "align" 1) +(def-joint-node snow-bunny-lod0-jg "prejoint" 2) +(def-joint-node snow-bunny-lod0-jg "main" 3) +(def-joint-node snow-bunny-lod0-jg "chest" 4) +(def-joint-node snow-bunny-lod0-jg "neck" 5) +(def-joint-node snow-bunny-lod0-jg "head" 6) +(def-joint-node snow-bunny-lod0-jg "jaw" 7) +(def-joint-node snow-bunny-lod0-jg "Lshoulder" 8) +(def-joint-node snow-bunny-lod0-jg "Lebow" 9) +(def-joint-node snow-bunny-lod0-jg "Lhand" 10) +(def-joint-node snow-bunny-lod0-jg "Rshoulder" 11) +(def-joint-node snow-bunny-lod0-jg "Rebow" 12) +(def-joint-node snow-bunny-lod0-jg "Rhand" 13) + +(def-joint-node water-anim-sunken-start-of-helix-slide-lod0-jg "boneless" 3) +(def-joint-node water-anim-sunken-start-of-helix-slide-lod0-jg "prejoint" 2) +(def-joint-node water-anim-sunken-start-of-helix-slide-lod0-jg "align" 1) + +(def-joint-node snow-bumper-lod0-jg "button" 6) +(def-joint-node snow-bumper-lod0-jg "top" 5) +(def-joint-node snow-bumper-lod0-jg "lower" 4) +(def-joint-node snow-bumper-lod0-jg "main" 3) +(def-joint-node snow-bumper-lod0-jg "prejoint" 2) +(def-joint-node snow-bumper-lod0-jg "align" 1) + +(def-joint-node snow-ball-shadow-lod0-jg "boneless" 3) +(def-joint-node snow-ball-shadow-lod0-jg "prejoint" 2) +(def-joint-node snow-ball-shadow-lod0-jg "align" 1) + +(def-joint-node ndi-lod0-jg "stamp" 19) +(def-joint-node ndi-lod0-jg "whiteClaw_paw" 18) +(def-joint-node ndi-lod0-jg "whiteClaw_three" 17) +(def-joint-node ndi-lod0-jg "whiteClaw_four" 16) +(def-joint-node ndi-lod0-jg "white" 15) +(def-joint-node ndi-lod0-jg "paw" 14) +(def-joint-node ndi-lod0-jg "align" 1) +(def-joint-node ndi-lod0-jg "prejoint" 2) +(def-joint-node ndi-lod0-jg "main" 3) +(def-joint-node ndi-lod0-jg "n" 4) +(def-joint-node ndi-lod0-jg "a" 5) +(def-joint-node ndi-lod0-jg "u" 6) +(def-joint-node ndi-lod0-jg "g" 7) +(def-joint-node ndi-lod0-jg "h" 8) +(def-joint-node ndi-lod0-jg "t" 9) +(def-joint-node ndi-lod0-jg "y" 10) +(def-joint-node ndi-lod0-jg "d" 11) +(def-joint-node ndi-lod0-jg "o" 12) +(def-joint-node ndi-lod0-jg "g1" 13) + +(def-joint-node snow-ball-lod0-jg "boneless" 3) +(def-joint-node snow-ball-lod0-jg "prejoint" 2) +(def-joint-node snow-ball-lod0-jg "align" 1) + +(def-joint-node ram-boss-lod0-jg "Rball" 44) +(def-joint-node ram-boss-lod0-jg "Rankle" 43) +(def-joint-node ram-boss-lod0-jg "Rknee" 42) +(def-joint-node ram-boss-lod0-jg "Rthigh" 41) +(def-joint-node ram-boss-lod0-jg "Lball" 40) +(def-joint-node ram-boss-lod0-jg "Lankle" 39) +(def-joint-node ram-boss-lod0-jg "Lknee" 38) +(def-joint-node ram-boss-lod0-jg "Lthigh" 37) +(def-joint-node ram-boss-lod0-jg "hips" 36) +(def-joint-node ram-boss-lod0-jg "Ltassle" 35) +(def-joint-node ram-boss-lod0-jg "Rtassle" 34) +(def-joint-node ram-boss-lod0-jg "ring" 33) +(def-joint-node ram-boss-lod0-jg "shield" 32) +(def-joint-node ram-boss-lod0-jg "RmiddleC" 31) +(def-joint-node ram-boss-lod0-jg "RmiddleB" 30) +(def-joint-node ram-boss-lod0-jg "LthumbC" 13) +(def-joint-node ram-boss-lod0-jg "LthumbB" 12) +(def-joint-node ram-boss-lod0-jg "LthumbA" 11) +(def-joint-node ram-boss-lod0-jg "Lhand" 10) +(def-joint-node ram-boss-lod0-jg "Lelbow" 9) +(def-joint-node ram-boss-lod0-jg "Lshoulder" 8) +(def-joint-node ram-boss-lod0-jg "jaw" 7) +(def-joint-node ram-boss-lod0-jg "head" 6) +(def-joint-node ram-boss-lod0-jg "neck" 5) +(def-joint-node ram-boss-lod0-jg "chest" 4) +(def-joint-node ram-boss-lod0-jg "main" 3) +(def-joint-node ram-boss-lod0-jg "prejoint" 2) +(def-joint-node ram-boss-lod0-jg "align" 1) +(def-joint-node ram-boss-lod0-jg "LindexA" 14) +(def-joint-node ram-boss-lod0-jg "LindexB" 15) +(def-joint-node ram-boss-lod0-jg "LindexC" 16) +(def-joint-node ram-boss-lod0-jg "LmiddleA" 17) +(def-joint-node ram-boss-lod0-jg "LmiddleB" 18) +(def-joint-node ram-boss-lod0-jg "LmiddleC" 19) +(def-joint-node ram-boss-lod0-jg "Rshoulder" 20) +(def-joint-node ram-boss-lod0-jg "Relbow" 21) +(def-joint-node ram-boss-lod0-jg "Rhand" 22) +(def-joint-node ram-boss-lod0-jg "RthumbA" 23) +(def-joint-node ram-boss-lod0-jg "RthumbB" 24) +(def-joint-node ram-boss-lod0-jg "RthumbC" 25) +(def-joint-node ram-boss-lod0-jg "RindexA" 26) +(def-joint-node ram-boss-lod0-jg "RindexB" 27) +(def-joint-node ram-boss-lod0-jg "RindexC" 28) +(def-joint-node ram-boss-lod0-jg "RmiddleA" 29) + +(def-joint-node ram-lod0-jg "lever" 10) +(def-joint-node ram-lod0-jg "ramboss" 9) +(def-joint-node ram-lod0-jg "ramlog" 8) +(def-joint-node ram-lod0-jg "rammer" 7) +(def-joint-node ram-lod0-jg "rearwheels" 6) +(def-joint-node ram-lod0-jg "frontwheels" 5) +(def-joint-node ram-lod0-jg "rammerwheel" 4) +(def-joint-node ram-lod0-jg "main" 3) +(def-joint-node ram-lod0-jg "prejoint" 2) +(def-joint-node ram-lod0-jg "align" 1) + +(def-joint-node ice-cube-break-lod0-jg "cluster_r_leg2" 55) +(def-joint-node ice-cube-break-lod0-jg "cluster_l_leg1" 54) +(def-joint-node ice-cube-break-lod0-jg "Lball" 53) +(def-joint-node ice-cube-break-lod0-jg "RmiddleC" 52) +(def-joint-node ice-cube-break-lod0-jg "RmiddleB" 51) +(def-joint-node ice-cube-break-lod0-jg "RmiddleA" 50) +(def-joint-node ice-cube-break-lod0-jg "RindexC" 49) +(def-joint-node ice-cube-break-lod0-jg "RindexB" 48) +(def-joint-node ice-cube-break-lod0-jg "RindexA" 47) +(def-joint-node ice-cube-break-lod0-jg "RthumbC" 46) +(def-joint-node ice-cube-break-lod0-jg "RthumbB" 45) +(def-joint-node ice-cube-break-lod0-jg "RthumbA" 44) +(def-joint-node ice-cube-break-lod0-jg "LmiddleC" 43) +(def-joint-node ice-cube-break-lod0-jg "LmiddleB" 42) +(def-joint-node ice-cube-break-lod0-jg "LmiddleA" 41) +(def-joint-node ice-cube-break-lod0-jg "LindexC" 40) +(def-joint-node ice-cube-break-lod0-jg "LindexB" 39) +(def-joint-node ice-cube-break-lod0-jg "LindexA" 38) +(def-joint-node ice-cube-break-lod0-jg "LthumbC" 37) +(def-joint-node ice-cube-break-lod0-jg "LthumbB" 36) +(def-joint-node ice-cube-break-lod0-jg "LthumbA" 35) +(def-joint-node ice-cube-break-lod0-jg "Lhand" 34) +(def-joint-node ice-cube-break-lod0-jg "frontring" 33) +(def-joint-node ice-cube-break-lod0-jg "Reye" 32) +(def-joint-node ice-cube-break-lod0-jg "Leye" 31) +(def-joint-node ice-cube-break-lod0-jg "jaw" 30) +(def-joint-node ice-cube-break-lod0-jg "cluster2" 13) +(def-joint-node ice-cube-break-lod0-jg "cluster1" 12) +(def-joint-node ice-cube-break-lod0-jg "Rhand" 11) +(def-joint-node ice-cube-break-lod0-jg "Relbow" 10) +(def-joint-node ice-cube-break-lod0-jg "Rshoulder" 9) +(def-joint-node ice-cube-break-lod0-jg "Lelbow" 8) +(def-joint-node ice-cube-break-lod0-jg "Lshoulder" 7) +(def-joint-node ice-cube-break-lod0-jg "head" 6) +(def-joint-node ice-cube-break-lod0-jg "neck" 5) +(def-joint-node ice-cube-break-lod0-jg "chest" 4) +(def-joint-node ice-cube-break-lod0-jg "main" 3) +(def-joint-node ice-cube-break-lod0-jg "prejoint" 2) +(def-joint-node ice-cube-break-lod0-jg "align" 1) +(def-joint-node ice-cube-break-lod0-jg "cluster3" 14) +(def-joint-node ice-cube-break-lod0-jg "cluster4" 15) +(def-joint-node ice-cube-break-lod0-jg "cluster5" 16) +(def-joint-node ice-cube-break-lod0-jg "cluster6" 17) +(def-joint-node ice-cube-break-lod0-jg "cluster7" 18) +(def-joint-node ice-cube-break-lod0-jg "cluster8" 19) +(def-joint-node ice-cube-break-lod0-jg "hips" 20) +(def-joint-node ice-cube-break-lod0-jg "Lthigh" 21) +(def-joint-node ice-cube-break-lod0-jg "Lknee" 22) +(def-joint-node ice-cube-break-lod0-jg "Lankle" 23) +(def-joint-node ice-cube-break-lod0-jg "cluster_l_leg2" 24) +(def-joint-node ice-cube-break-lod0-jg "Rthigh" 25) +(def-joint-node ice-cube-break-lod0-jg "Rknee" 26) +(def-joint-node ice-cube-break-lod0-jg "Rankle" 27) +(def-joint-node ice-cube-break-lod0-jg "Rball" 28) +(def-joint-node ice-cube-break-lod0-jg "cluster_r_leg1" 29) + +(def-joint-node swamp-rope-lod0-jg "ropeF" 8) +(def-joint-node swamp-rope-lod0-jg "ropeE" 7) +(def-joint-node swamp-rope-lod0-jg "ropeD" 6) +(def-joint-node swamp-rope-lod0-jg "ropeC" 5) +(def-joint-node swamp-rope-lod0-jg "ropeB" 4) +(def-joint-node swamp-rope-lod0-jg "ropeA" 3) +(def-joint-node swamp-rope-lod0-jg "prejoint" 2) +(def-joint-node swamp-rope-lod0-jg "align" 1) + +(def-joint-node ice-cube-lod0-jg "cluster_r_leg1" 55) +(def-joint-node ice-cube-lod0-jg "cluster_r_leg2" 54) +(def-joint-node ice-cube-lod0-jg "cluster_l_leg1" 53) +(def-joint-node ice-cube-lod0-jg "cluster_l_leg2" 52) +(def-joint-node ice-cube-lod0-jg "RmiddleC" 51) +(def-joint-node ice-cube-lod0-jg "RindexC" 50) +(def-joint-node ice-cube-lod0-jg "LmiddleC" 49) +(def-joint-node ice-cube-lod0-jg "LindexC" 48) +(def-joint-node ice-cube-lod0-jg "frontring" 47) +(def-joint-node ice-cube-lod0-jg "RmiddleB" 46) +(def-joint-node ice-cube-lod0-jg "RmiddleA" 45) +(def-joint-node ice-cube-lod0-jg "RindexB" 44) +(def-joint-node ice-cube-lod0-jg "RindexA" 43) +(def-joint-node ice-cube-lod0-jg "RthumbC" 42) +(def-joint-node ice-cube-lod0-jg "RthumbB" 41) +(def-joint-node ice-cube-lod0-jg "RthumbA" 40) +(def-joint-node ice-cube-lod0-jg "LmiddleB" 39) +(def-joint-node ice-cube-lod0-jg "LmiddleA" 38) +(def-joint-node ice-cube-lod0-jg "LindexB" 37) +(def-joint-node ice-cube-lod0-jg "LindexA" 36) +(def-joint-node ice-cube-lod0-jg "LthumbC" 35) +(def-joint-node ice-cube-lod0-jg "LthumbB" 34) +(def-joint-node ice-cube-lod0-jg "LthumbA" 33) +(def-joint-node ice-cube-lod0-jg "Reye" 32) +(def-joint-node ice-cube-lod0-jg "Leye" 31) +(def-joint-node ice-cube-lod0-jg "jaw" 30) +(def-joint-node ice-cube-lod0-jg "cluster1" 13) +(def-joint-node ice-cube-lod0-jg "Rhand" 12) +(def-joint-node ice-cube-lod0-jg "Relbow" 11) +(def-joint-node ice-cube-lod0-jg "Rshoulder" 10) +(def-joint-node ice-cube-lod0-jg "Lhand" 9) +(def-joint-node ice-cube-lod0-jg "Lelbow" 8) +(def-joint-node ice-cube-lod0-jg "Lshoulder" 7) +(def-joint-node ice-cube-lod0-jg "head" 6) +(def-joint-node ice-cube-lod0-jg "neck" 5) +(def-joint-node ice-cube-lod0-jg "chest" 4) +(def-joint-node ice-cube-lod0-jg "main" 3) +(def-joint-node ice-cube-lod0-jg "prejoint" 2) +(def-joint-node ice-cube-lod0-jg "align" 1) +(def-joint-node ice-cube-lod0-jg "cluster2" 14) +(def-joint-node ice-cube-lod0-jg "cluster3" 15) +(def-joint-node ice-cube-lod0-jg "cluster4" 16) +(def-joint-node ice-cube-lod0-jg "cluster5" 17) +(def-joint-node ice-cube-lod0-jg "cluster6" 18) +(def-joint-node ice-cube-lod0-jg "cluster7" 19) +(def-joint-node ice-cube-lod0-jg "cluster8" 20) +(def-joint-node ice-cube-lod0-jg "hips" 21) +(def-joint-node ice-cube-lod0-jg "Lthigh" 22) +(def-joint-node ice-cube-lod0-jg "Lknee" 23) +(def-joint-node ice-cube-lod0-jg "Lankle" 24) +(def-joint-node ice-cube-lod0-jg "Lball" 25) +(def-joint-node ice-cube-lod0-jg "Rthigh" 26) +(def-joint-node ice-cube-lod0-jg "Rknee" 27) +(def-joint-node ice-cube-lod0-jg "Rankle" 28) +(def-joint-node ice-cube-lod0-jg "Rball" 29) + +(def-joint-node flutflut-plat-small-lod0-jg "boneless" 3) +(def-joint-node flutflut-plat-small-lod0-jg "prejoint" 2) +(def-joint-node flutflut-plat-small-lod0-jg "align" 1) + +(def-joint-node flutflut-plat-med-lod0-jg "boneless" 3) +(def-joint-node flutflut-plat-med-lod0-jg "prejoint" 2) +(def-joint-node flutflut-plat-med-lod0-jg "align" 1) + +(def-joint-node flutflut-plat-large-lod0-jg "boneless" 3) +(def-joint-node flutflut-plat-large-lod0-jg "prejoint" 2) +(def-joint-node flutflut-plat-large-lod0-jg "align" 1) + +(def-joint-node water-anim-rolling-water-back-lod0-jg "boneless" 3) +(def-joint-node water-anim-rolling-water-back-lod0-jg "prejoint" 2) +(def-joint-node water-anim-rolling-water-back-lod0-jg "align" 1) + +(def-joint-node rollingcam-lod0-jg "camera" 4) +(def-joint-node rollingcam-lod0-jg "beachcam" 3) +(def-joint-node rollingcam-lod0-jg "prejoint" 2) +(def-joint-node rollingcam-lod0-jg "align" 1) + +(def-joint-node rolling-start-whole-lod0-jg "banner5" 9) +(def-joint-node rolling-start-whole-lod0-jg "banner3" 8) +(def-joint-node rolling-start-whole-lod0-jg "banner6" 7) +(def-joint-node rolling-start-whole-lod0-jg "banner2" 6) +(def-joint-node rolling-start-whole-lod0-jg "banner7" 5) +(def-joint-node rolling-start-whole-lod0-jg "banner1" 4) +(def-joint-node rolling-start-whole-lod0-jg "main" 3) +(def-joint-node rolling-start-whole-lod0-jg "prejoint" 2) +(def-joint-node rolling-start-whole-lod0-jg "align" 1) + +(def-joint-node happy-plant-lod0-jg "vine11" 38) +(def-joint-node happy-plant-lod0-jg "vine10" 37) +(def-joint-node happy-plant-lod0-jg "vine9" 36) +(def-joint-node happy-plant-lod0-jg "vine8" 35) +(def-joint-node happy-plant-lod0-jg "vine7" 34) +(def-joint-node happy-plant-lod0-jg "vine6" 33) +(def-joint-node happy-plant-lod0-jg "vine5" 32) +(def-joint-node happy-plant-lod0-jg "vine4" 31) +(def-joint-node happy-plant-lod0-jg "vine3" 30) +(def-joint-node happy-plant-lod0-jg "Apedal4" 13) +(def-joint-node happy-plant-lod0-jg "Apedal3" 12) +(def-joint-node happy-plant-lod0-jg "Apedal2" 11) +(def-joint-node happy-plant-lod0-jg "Apedal1" 10) +(def-joint-node happy-plant-lod0-jg "stem6" 9) +(def-joint-node happy-plant-lod0-jg "stem5" 8) +(def-joint-node happy-plant-lod0-jg "stem4" 7) +(def-joint-node happy-plant-lod0-jg "stem3" 6) +(def-joint-node happy-plant-lod0-jg "stem2" 5) +(def-joint-node happy-plant-lod0-jg "stem1" 4) +(def-joint-node happy-plant-lod0-jg "main" 3) +(def-joint-node happy-plant-lod0-jg "prejoint" 2) +(def-joint-node happy-plant-lod0-jg "align" 1) +(def-joint-node happy-plant-lod0-jg "Apedal5" 14) +(def-joint-node happy-plant-lod0-jg "Bpedal1" 15) +(def-joint-node happy-plant-lod0-jg "Bpedal2" 16) +(def-joint-node happy-plant-lod0-jg "Bpedal3" 17) +(def-joint-node happy-plant-lod0-jg "Bpedal4" 18) +(def-joint-node happy-plant-lod0-jg "Bpedal5" 19) +(def-joint-node happy-plant-lod0-jg "Cpedal1" 20) +(def-joint-node happy-plant-lod0-jg "Cpedal2" 21) +(def-joint-node happy-plant-lod0-jg "Cpedal3" 22) +(def-joint-node happy-plant-lod0-jg "Cpedal4" 23) +(def-joint-node happy-plant-lod0-jg "Cpedal5" 24) +(def-joint-node happy-plant-lod0-jg "fuelcell" 25) +(def-joint-node happy-plant-lod0-jg "leavesTop" 26) +(def-joint-node happy-plant-lod0-jg "leaves" 27) +(def-joint-node happy-plant-lod0-jg "vine1" 28) +(def-joint-node happy-plant-lod0-jg "vine2" 29) + +(def-joint-node water-anim-ogre-lava-lod0-jg "boulder_two" 12) +(def-joint-node water-anim-ogre-lava-lod0-jg "boulder_one" 11) +(def-joint-node water-anim-ogre-lava-lod0-jg "boulder" 10) +(def-joint-node water-anim-ogre-lava-lod0-jg "end_two" 9) +(def-joint-node water-anim-ogre-lava-lod0-jg "end_one" 8) +(def-joint-node water-anim-ogre-lava-lod0-jg "end" 7) +(def-joint-node water-anim-ogre-lava-lod0-jg "start_two" 6) +(def-joint-node water-anim-ogre-lava-lod0-jg "start_one" 5) +(def-joint-node water-anim-ogre-lava-lod0-jg "start" 4) +(def-joint-node water-anim-ogre-lava-lod0-jg "main" 3) +(def-joint-node water-anim-ogre-lava-lod0-jg "prejoint" 2) +(def-joint-node water-anim-ogre-lava-lod0-jg "align" 1) + +(def-joint-node shortcut-boulder-broken-lod0-jg "8" 12) +(def-joint-node shortcut-boulder-broken-lod0-jg "7" 11) +(def-joint-node shortcut-boulder-broken-lod0-jg "6" 10) +(def-joint-node shortcut-boulder-broken-lod0-jg "5" 9) +(def-joint-node shortcut-boulder-broken-lod0-jg "4" 8) +(def-joint-node shortcut-boulder-broken-lod0-jg "3" 7) +(def-joint-node shortcut-boulder-broken-lod0-jg "2" 6) +(def-joint-node shortcut-boulder-broken-lod0-jg "1" 5) +(def-joint-node shortcut-boulder-broken-lod0-jg "0" 4) +(def-joint-node shortcut-boulder-broken-lod0-jg "main" 3) +(def-joint-node shortcut-boulder-broken-lod0-jg "prejoint" 2) +(def-joint-node shortcut-boulder-broken-lod0-jg "align" 1) + +(def-joint-node shortcut-boulder-whole-lod0-jg "8" 12) +(def-joint-node shortcut-boulder-whole-lod0-jg "7" 11) +(def-joint-node shortcut-boulder-whole-lod0-jg "6" 10) +(def-joint-node shortcut-boulder-whole-lod0-jg "5" 9) +(def-joint-node shortcut-boulder-whole-lod0-jg "4" 8) +(def-joint-node shortcut-boulder-whole-lod0-jg "3" 7) +(def-joint-node shortcut-boulder-whole-lod0-jg "2" 6) +(def-joint-node shortcut-boulder-whole-lod0-jg "1" 5) +(def-joint-node shortcut-boulder-whole-lod0-jg "0" 4) +(def-joint-node shortcut-boulder-whole-lod0-jg "main" 3) +(def-joint-node shortcut-boulder-whole-lod0-jg "prejoint" 2) +(def-joint-node shortcut-boulder-whole-lod0-jg "align" 1) + +(def-joint-node plunger-lurker-lod0-jg "bellyEND" 65) +(def-joint-node plunger-lurker-lod0-jg "RpinkyC" 64) +(def-joint-node plunger-lurker-lod0-jg "RringC" 63) +(def-joint-node plunger-lurker-lod0-jg "RmiddleC" 62) +(def-joint-node plunger-lurker-lod0-jg "RindexC" 61) +(def-joint-node plunger-lurker-lod0-jg "RthumbC" 60) +(def-joint-node plunger-lurker-lod0-jg "Rball" 29) +(def-joint-node plunger-lurker-lod0-jg "Lball" 28) +(def-joint-node plunger-lurker-lod0-jg "Reco" 27) +(def-joint-node plunger-lurker-lod0-jg "RmiddleA" 26) +(def-joint-node plunger-lurker-lod0-jg "RthumbB" 25) +(def-joint-node plunger-lurker-lod0-jg "RthumbA" 24) +(def-joint-node plunger-lurker-lod0-jg "Leco" 23) +(def-joint-node plunger-lurker-lod0-jg "LmiddleA" 22) +(def-joint-node plunger-lurker-lod0-jg "LthumbB" 21) +(def-joint-node plunger-lurker-lod0-jg "LthumbA" 20) +(def-joint-node plunger-lurker-lod0-jg "Rankle" 19) +(def-joint-node plunger-lurker-lod0-jg "Rknee" 18) +(def-joint-node plunger-lurker-lod0-jg "Rthigh" 17) +(def-joint-node plunger-lurker-lod0-jg "Lankle" 16) +(def-joint-node plunger-lurker-lod0-jg "Lknee" 15) +(def-joint-node plunger-lurker-lod0-jg "Lthigh" 14) +(def-joint-node plunger-lurker-lod0-jg "align" 1) +(def-joint-node plunger-lurker-lod0-jg "prejoint" 2) +(def-joint-node plunger-lurker-lod0-jg "main" 3) +(def-joint-node plunger-lurker-lod0-jg "chest" 4) +(def-joint-node plunger-lurker-lod0-jg "neck" 5) +(def-joint-node plunger-lurker-lod0-jg "head" 6) +(def-joint-node plunger-lurker-lod0-jg "Lshoulder" 7) +(def-joint-node plunger-lurker-lod0-jg "Lelbow" 8) +(def-joint-node plunger-lurker-lod0-jg "Lhand" 9) +(def-joint-node plunger-lurker-lod0-jg "Rshoulder" 10) +(def-joint-node plunger-lurker-lod0-jg "Relbow" 11) +(def-joint-node plunger-lurker-lod0-jg "Rhand" 12) +(def-joint-node plunger-lurker-lod0-jg "hips" 13) +(def-joint-node plunger-lurker-lod0-jg "detonate" 30) +(def-joint-node plunger-lurker-lod0-jg "reye" 31) +(def-joint-node plunger-lurker-lod0-jg "leye" 32) +(def-joint-node plunger-lurker-lod0-jg "jaw" 33) +(def-joint-node plunger-lurker-lod0-jg "hair" 34) +(def-joint-node plunger-lurker-lod0-jg "LindexA" 35) +(def-joint-node plunger-lurker-lod0-jg "LindexB" 36) +(def-joint-node plunger-lurker-lod0-jg "LmiddleB" 37) +(def-joint-node plunger-lurker-lod0-jg "LringA" 38) +(def-joint-node plunger-lurker-lod0-jg "LringB" 39) +(def-joint-node plunger-lurker-lod0-jg "LpinkyA" 40) +(def-joint-node plunger-lurker-lod0-jg "LpinkyB" 41) +(def-joint-node plunger-lurker-lod0-jg "RindexA" 42) +(def-joint-node plunger-lurker-lod0-jg "RindexB" 43) +(def-joint-node plunger-lurker-lod0-jg "RmiddleB" 44) +(def-joint-node plunger-lurker-lod0-jg "RringA" 45) +(def-joint-node plunger-lurker-lod0-jg "RringB" 46) +(def-joint-node plunger-lurker-lod0-jg "RpinkyA" 47) +(def-joint-node plunger-lurker-lod0-jg "RpinkyB" 48) +(def-joint-node plunger-lurker-lod0-jg "Lleghair" 49) +(def-joint-node plunger-lurker-lod0-jg "Rleghair" 50) +(def-joint-node plunger-lurker-lod0-jg "belly" 51) +(def-joint-node plunger-lurker-lod0-jg "detonate_mid" 52) +(def-joint-node plunger-lurker-lod0-jg "plunger" 53) +(def-joint-node plunger-lurker-lod0-jg "jawEND" 54) +(def-joint-node plunger-lurker-lod0-jg "LthumbC" 55) +(def-joint-node plunger-lurker-lod0-jg "LindexC" 56) +(def-joint-node plunger-lurker-lod0-jg "LmiddleC" 57) +(def-joint-node plunger-lurker-lod0-jg "LringC" 58) +(def-joint-node plunger-lurker-lod0-jg "LpinkyC" 59) + +(def-joint-node ogrecam-lod0-jg "cameraB" 5) +(def-joint-node ogrecam-lod0-jg "cameraA" 4) +(def-joint-node ogrecam-lod0-jg "ogrecam" 3) +(def-joint-node ogrecam-lod0-jg "prejoint" 2) +(def-joint-node ogrecam-lod0-jg "align" 1) + +(def-joint-node sunkenfisha-yellow-eye-lod0-jg "Rfin" 7) +(def-joint-node sunkenfisha-yellow-eye-lod0-jg "tail2" 6) +(def-joint-node sunkenfisha-yellow-eye-lod0-jg "tail1" 5) +(def-joint-node sunkenfisha-yellow-eye-lod0-jg "Lfin" 4) +(def-joint-node sunkenfisha-yellow-eye-lod0-jg "top" 3) +(def-joint-node sunkenfisha-yellow-eye-lod0-jg "prejoint" 2) +(def-joint-node sunkenfisha-yellow-eye-lod0-jg "align" 1) + +(def-joint-node tntbarrel-lod0-jg "tntb" 3) +(def-joint-node tntbarrel-lod0-jg "prejoint" 2) +(def-joint-node tntbarrel-lod0-jg "align" 1) + +(def-joint-node ogreboss-column-lod0-jg "bottom" 6) +(def-joint-node ogreboss-column-lod0-jg "top" 5) +(def-joint-node ogreboss-column-lod0-jg "mid" 4) +(def-joint-node ogreboss-column-lod0-jg "main" 3) +(def-joint-node ogreboss-column-lod0-jg "prejoint" 2) +(def-joint-node ogreboss-column-lod0-jg "align" 1) + +(def-joint-node ogreboss-super-boulder-lod0-jg "main" 3) +(def-joint-node ogreboss-super-boulder-lod0-jg "prejoint" 2) +(def-joint-node ogreboss-super-boulder-lod0-jg "align" 1) + +(def-joint-node ogreboss-shoot-boulder-break-lod0-jg "F" 9) +(def-joint-node ogreboss-shoot-boulder-break-lod0-jg "E" 8) +(def-joint-node ogreboss-shoot-boulder-break-lod0-jg "D" 7) +(def-joint-node ogreboss-shoot-boulder-break-lod0-jg "C" 6) +(def-joint-node ogreboss-shoot-boulder-break-lod0-jg "B" 5) +(def-joint-node ogreboss-shoot-boulder-break-lod0-jg "A" 4) +(def-joint-node ogreboss-shoot-boulder-break-lod0-jg "main" 3) +(def-joint-node ogreboss-shoot-boulder-break-lod0-jg "prejoint" 2) +(def-joint-node ogreboss-shoot-boulder-break-lod0-jg "align" 1) + +(def-joint-node ogreboss-shoot-boulder-lod0-jg "main" 3) +(def-joint-node ogreboss-shoot-boulder-lod0-jg "prejoint" 2) +(def-joint-node ogreboss-shoot-boulder-lod0-jg "align" 1) + +(def-joint-node water-anim-finalboss-dark-eco-pool-lod0-jg "boneless" 3) +(def-joint-node water-anim-finalboss-dark-eco-pool-lod0-jg "prejoint" 2) +(def-joint-node water-anim-finalboss-dark-eco-pool-lod0-jg "align" 1) + +(def-joint-node citb-disc-c-lod0-jg "boneless" 3) +(def-joint-node citb-disc-c-lod0-jg "prejoint" 2) +(def-joint-node citb-disc-c-lod0-jg "align" 1) + +(def-joint-node ceilingflag-geo-jg "5" 7) +(def-joint-node ceilingflag-geo-jg "4" 6) +(def-joint-node ceilingflag-geo-jg "3" 5) +(def-joint-node ceilingflag-geo-jg "2" 4) +(def-joint-node ceilingflag-geo-jg "main" 3) +(def-joint-node ceilingflag-geo-jg "prejoint" 2) +(def-joint-node ceilingflag-geo-jg "align" 1) + +(def-joint-node robotboss-blueeco-lod0-jg "blue_ecoE" 8) +(def-joint-node robotboss-blueeco-lod0-jg "blue_ecoD" 7) +(def-joint-node robotboss-blueeco-lod0-jg "blue_ecoC" 6) +(def-joint-node robotboss-blueeco-lod0-jg "blue_ecoB" 5) +(def-joint-node robotboss-blueeco-lod0-jg "blue_ecoA" 4) +(def-joint-node robotboss-blueeco-lod0-jg "blue_eco_piece" 3) +(def-joint-node robotboss-blueeco-lod0-jg "prejoint" 2) +(def-joint-node robotboss-blueeco-lod0-jg "align" 1) + +(def-joint-node water-anim-sunken-room-above-exit-chamber-lod0-jg "boneless" 3) +(def-joint-node water-anim-sunken-room-above-exit-chamber-lod0-jg "prejoint" 2) +(def-joint-node water-anim-sunken-room-above-exit-chamber-lod0-jg "align" 1) + +(def-joint-node snow-button-lod0-jg "button" 4) +(def-joint-node snow-button-lod0-jg "main" 3) +(def-joint-node snow-button-lod0-jg "prejoint" 2) +(def-joint-node snow-button-lod0-jg "align" 1) + +(def-joint-node robotboss-redeco-lod0-jg "top" 10) +(def-joint-node robotboss-redeco-lod0-jg "junk" 9) +(def-joint-node robotboss-redeco-lod0-jg "dishD" 8) +(def-joint-node robotboss-redeco-lod0-jg "dishC" 7) +(def-joint-node robotboss-redeco-lod0-jg "dishB" 6) +(def-joint-node robotboss-redeco-lod0-jg "leg" 5) +(def-joint-node robotboss-redeco-lod0-jg "Tip" 4) +(def-joint-node robotboss-redeco-lod0-jg "main" 3) +(def-joint-node robotboss-redeco-lod0-jg "prejoint" 2) +(def-joint-node robotboss-redeco-lod0-jg "align" 1) + +(def-joint-node robotboss-cinematic-lod0-jg "Lfoot" 29) +(def-joint-node robotboss-cinematic-lod0-jg "Lheel" 28) +(def-joint-node robotboss-cinematic-lod0-jg "RindexA" 27) +(def-joint-node robotboss-cinematic-lod0-jg "RthumbA" 26) +(def-joint-node robotboss-cinematic-lod0-jg "Rfoot_front" 25) +(def-joint-node robotboss-cinematic-lod0-jg "Lknee" 24) +(def-joint-node robotboss-cinematic-lod0-jg "Relbow" 23) +(def-joint-node robotboss-cinematic-lod0-jg "leftArmShield" 22) +(def-joint-node robotboss-cinematic-lod0-jg "leftArmWiring" 21) +(def-joint-node robotboss-cinematic-lod0-jg "Lelbow" 20) +(def-joint-node robotboss-cinematic-lod0-jg "Rhips" 19) +(def-joint-node robotboss-cinematic-lod0-jg "Rthigh" 18) +(def-joint-node robotboss-cinematic-lod0-jg "Lthigh" 17) +(def-joint-node robotboss-cinematic-lod0-jg "leftArmGuard" 16) +(def-joint-node robotboss-cinematic-lod0-jg "green_eco" 15) +(def-joint-node robotboss-cinematic-lod0-jg "Rshoulder" 14) +(def-joint-node robotboss-cinematic-lod0-jg "align" 1) +(def-joint-node robotboss-cinematic-lod0-jg "prejoint" 2) +(def-joint-node robotboss-cinematic-lod0-jg "main" 3) +(def-joint-node robotboss-cinematic-lod0-jg "chest" 4) +(def-joint-node robotboss-cinematic-lod0-jg "hips" 5) +(def-joint-node robotboss-cinematic-lod0-jg "head" 6) +(def-joint-node robotboss-cinematic-lod0-jg "blue_eco_piece" 7) +(def-joint-node robotboss-cinematic-lod0-jg "Lshoulder" 8) +(def-joint-node robotboss-cinematic-lod0-jg "Lyellow_ecoTubeF" 9) +(def-joint-node robotboss-cinematic-lod0-jg "Lyellow_ecoTubeE" 10) +(def-joint-node robotboss-cinematic-lod0-jg "Lyellow_ecoTubeD" 11) +(def-joint-node robotboss-cinematic-lod0-jg "Lyellow_ecoTubeB" 12) +(def-joint-node robotboss-cinematic-lod0-jg "Lyellow_ecoTubeA" 13) + +(def-joint-node water-anim-maincave-lower-right-pool-lod0-jg "boneless" 3) +(def-joint-node water-anim-maincave-lower-right-pool-lod0-jg "prejoint" 2) +(def-joint-node water-anim-maincave-lower-right-pool-lod0-jg "align" 1) + +(def-joint-node robotboss-basic-lod0-jg "camera" 88) +(def-joint-node robotboss-basic-lod0-jg "interesting" 87) +(def-joint-node robotboss-basic-lod0-jg "Rfoot_back" 86) +(def-joint-node robotboss-basic-lod0-jg "Rfoot_front" 85) +(def-joint-node robotboss-basic-lod0-jg "Rfoot" 84) +(def-joint-node robotboss-basic-lod0-jg "Rknee" 83) +(def-joint-node robotboss-basic-lod0-jg "Rthigh" 82) +(def-joint-node robotboss-basic-lod0-jg "Rhips" 81) +(def-joint-node robotboss-basic-lod0-jg "Lball_side" 80) +(def-joint-node robotboss-basic-lod0-jg "Lball_back" 79) +(def-joint-node robotboss-basic-lod0-jg "Lball_front" 78) +(def-joint-node robotboss-basic-lod0-jg "Lfoot" 77) +(def-joint-node robotboss-basic-lod0-jg "Lheel" 76) +(def-joint-node robotboss-basic-lod0-jg "Lankle" 75) +(def-joint-node robotboss-basic-lod0-jg "Lknee" 74) +(def-joint-node robotboss-basic-lod0-jg "Lthigh" 73) +(def-joint-node robotboss-basic-lod0-jg "Lhips" 72) +(def-joint-node robotboss-basic-lod0-jg "hips" 71) +(def-joint-node robotboss-basic-lod0-jg "rightArmGuard" 70) +(def-joint-node robotboss-basic-lod0-jg "leftArmGuard" 69) +(def-joint-node robotboss-basic-lod0-jg "green_eco" 68) +(def-joint-node robotboss-basic-lod0-jg "darkbombREAR" 67) +(def-joint-node robotboss-basic-lod0-jg "darkbombspikeE" 66) +(def-joint-node robotboss-basic-lod0-jg "darkbombspikeD" 65) +(def-joint-node robotboss-basic-lod0-jg "darkbombspikeC" 64) +(def-joint-node robotboss-basic-lod0-jg "darkbombspikeB" 63) +(def-joint-node robotboss-basic-lod0-jg "darkbombspikeA" 62) +(def-joint-node robotboss-basic-lod0-jg "darktip" 61) +(def-joint-node robotboss-basic-lod0-jg "darkbombD" 60) +(def-joint-node robotboss-basic-lod0-jg "leftArmShield" 29) +(def-joint-node robotboss-basic-lod0-jg "leftArmWiring" 28) +(def-joint-node robotboss-basic-lod0-jg "Lyellow_ecoTubeA" 27) +(def-joint-node robotboss-basic-lod0-jg "Lyellow_ecoTubeB" 26) +(def-joint-node robotboss-basic-lod0-jg "Lyellow_ecoTubeD" 25) +(def-joint-node robotboss-basic-lod0-jg "Lyellow_ecoTubeE" 24) +(def-joint-node robotboss-basic-lod0-jg "Lyellow_ecoTubeF" 23) +(def-joint-node robotboss-basic-lod0-jg "Lyellow_ecoGlobe" 22) +(def-joint-node robotboss-basic-lod0-jg "Lyellow_ecoBarrell" 21) +(def-joint-node robotboss-basic-lod0-jg "Lyellow_gloringC" 20) +(def-joint-node robotboss-basic-lod0-jg "Lyellow_gloringB" 19) +(def-joint-node robotboss-basic-lod0-jg "Lyellow_gloringA" 18) +(def-joint-node robotboss-basic-lod0-jg "Lyellow_ecoB" 17) +(def-joint-node robotboss-basic-lod0-jg "Lyellow_ecoA" 16) +(def-joint-node robotboss-basic-lod0-jg "Lelbow" 15) +(def-joint-node robotboss-basic-lod0-jg "Lshoulder" 14) +(def-joint-node robotboss-basic-lod0-jg "align" 1) +(def-joint-node robotboss-basic-lod0-jg "prejoint" 2) +(def-joint-node robotboss-basic-lod0-jg "main" 3) +(def-joint-node robotboss-basic-lod0-jg "chest" 4) +(def-joint-node robotboss-basic-lod0-jg "neck" 5) +(def-joint-node robotboss-basic-lod0-jg "head" 6) +(def-joint-node robotboss-basic-lod0-jg "blue_eco_piece" 7) +(def-joint-node robotboss-basic-lod0-jg "blue_ecoA" 8) +(def-joint-node robotboss-basic-lod0-jg "blue_ecoB" 9) +(def-joint-node robotboss-basic-lod0-jg "headPiece" 10) +(def-joint-node robotboss-basic-lod0-jg "eyeAll" 11) +(def-joint-node robotboss-basic-lod0-jg "eyelid_top" 12) +(def-joint-node robotboss-basic-lod0-jg "eyelid_bot" 13) +(def-joint-node robotboss-basic-lod0-jg "Rshoulder" 30) +(def-joint-node robotboss-basic-lod0-jg "Relbow" 31) +(def-joint-node robotboss-basic-lod0-jg "Rhand" 32) +(def-joint-node robotboss-basic-lod0-jg "RthumbA" 33) +(def-joint-node robotboss-basic-lod0-jg "RthumbB" 34) +(def-joint-node robotboss-basic-lod0-jg "RindexA" 35) +(def-joint-node robotboss-basic-lod0-jg "RindexB" 36) +(def-joint-node robotboss-basic-lod0-jg "RmiddleA" 37) +(def-joint-node robotboss-basic-lod0-jg "RmiddleB" 38) +(def-joint-node robotboss-basic-lod0-jg "red_ecoBarrell" 39) +(def-joint-node robotboss-basic-lod0-jg "red_ecoTip" 40) +(def-joint-node robotboss-basic-lod0-jg "dishA" 41) +(def-joint-node robotboss-basic-lod0-jg "dishB" 42) +(def-joint-node robotboss-basic-lod0-jg "dishC" 43) +(def-joint-node robotboss-basic-lod0-jg "dishD" 44) +(def-joint-node robotboss-basic-lod0-jg "rArmTopWireA" 45) +(def-joint-node robotboss-basic-lod0-jg "rArmTopWireB" 46) +(def-joint-node robotboss-basic-lod0-jg "rArmTopWireC" 47) +(def-joint-node robotboss-basic-lod0-jg "rArmTopWireD" 48) +(def-joint-node robotboss-basic-lod0-jg "rArmBotWireA" 49) +(def-joint-node robotboss-basic-lod0-jg "rArmBotWireB" 50) +(def-joint-node robotboss-basic-lod0-jg "rArmBotWireC" 51) +(def-joint-node robotboss-basic-lod0-jg "rArmBotWireD" 52) +(def-joint-node robotboss-basic-lod0-jg "rightArmShield" 53) +(def-joint-node robotboss-basic-lod0-jg "darkbomb_base" 54) +(def-joint-node robotboss-basic-lod0-jg "darkbombhingeA" 55) +(def-joint-node robotboss-basic-lod0-jg "darkbombhingeB" 56) +(def-joint-node robotboss-basic-lod0-jg "darkbombA" 57) +(def-joint-node robotboss-basic-lod0-jg "darkbombB" 58) +(def-joint-node robotboss-basic-lod0-jg "darkbombC" 59) + +(def-joint-node plat-eco-finalboss-lit-lod0-jg "main" 3) +(def-joint-node plat-eco-finalboss-lit-lod0-jg "prejoint" 2) +(def-joint-node plat-eco-finalboss-lit-lod0-jg "align" 1) + +(def-joint-node evilsis-lod0-jg "RringB" 75) +(def-joint-node evilsis-lod0-jg "RringA" 74) +(def-joint-node evilsis-lod0-jg "RmiddleB" 73) +(def-joint-node evilsis-lod0-jg "RmiddleA" 72) +(def-joint-node evilsis-lod0-jg "LringB" 71) +(def-joint-node evilsis-lod0-jg "LringA" 70) +(def-joint-node evilsis-lod0-jg "LmiddleB" 69) +(def-joint-node evilsis-lod0-jg "LmiddleA" 68) +(def-joint-node evilsis-lod0-jg "backhair_r5" 67) +(def-joint-node evilsis-lod0-jg "backhair_l5" 66) +(def-joint-node evilsis-lod0-jg "backhair_l4" 65) +(def-joint-node evilsis-lod0-jg "backhair_l3" 64) +(def-joint-node evilsis-lod0-jg "ponytail7" 63) +(def-joint-node evilsis-lod0-jg "ponytail6" 62) +(def-joint-node evilsis-lod0-jg "ponytail5" 61) +(def-joint-node evilsis-lod0-jg "ponytail4" 60) +(def-joint-node evilsis-lod0-jg "LpinkyB" 29) +(def-joint-node evilsis-lod0-jg "LpinkyA" 28) +(def-joint-node evilsis-lod0-jg "LindexB" 27) +(def-joint-node evilsis-lod0-jg "LindexA" 26) +(def-joint-node evilsis-lod0-jg "LthumbB" 25) +(def-joint-node evilsis-lod0-jg "LthumbA" 24) +(def-joint-node evilsis-lod0-jg "Lhand" 23) +(def-joint-node evilsis-lod0-jg "Lelbow" 22) +(def-joint-node evilsis-lod0-jg "Lshoulder" 21) +(def-joint-node evilsis-lod0-jg "backhair_r4" 20) +(def-joint-node evilsis-lod0-jg "backhair_r3" 19) +(def-joint-node evilsis-lod0-jg "backhair_r2" 18) +(def-joint-node evilsis-lod0-jg "backhair_r1" 17) +(def-joint-node evilsis-lod0-jg "backhair_l2" 16) +(def-joint-node evilsis-lod0-jg "backhair_l1" 15) +(def-joint-node evilsis-lod0-jg "backhair5" 14) +(def-joint-node evilsis-lod0-jg "align" 1) +(def-joint-node evilsis-lod0-jg "prejoint" 2) +(def-joint-node evilsis-lod0-jg "main" 3) +(def-joint-node evilsis-lod0-jg "chest" 4) +(def-joint-node evilsis-lod0-jg "neck" 5) +(def-joint-node evilsis-lod0-jg "head" 6) +(def-joint-node evilsis-lod0-jg "hairbase" 7) +(def-joint-node evilsis-lod0-jg "ponytail1" 8) +(def-joint-node evilsis-lod0-jg "ponytail2" 9) +(def-joint-node evilsis-lod0-jg "backhair1" 10) +(def-joint-node evilsis-lod0-jg "backhair2" 11) +(def-joint-node evilsis-lod0-jg "backhair3" 12) +(def-joint-node evilsis-lod0-jg "backhair4" 13) +(def-joint-node evilsis-lod0-jg "Rshoulder" 30) +(def-joint-node evilsis-lod0-jg "Relbow" 31) +(def-joint-node evilsis-lod0-jg "Rhand" 32) +(def-joint-node evilsis-lod0-jg "RthumbA" 33) +(def-joint-node evilsis-lod0-jg "RthumbB" 34) +(def-joint-node evilsis-lod0-jg "RindexA" 35) +(def-joint-node evilsis-lod0-jg "RindexB" 36) +(def-joint-node evilsis-lod0-jg "RpinkyA" 37) +(def-joint-node evilsis-lod0-jg "RpinkyB" 38) +(def-joint-node evilsis-lod0-jg "lbood" 39) +(def-joint-node evilsis-lod0-jg "rboob" 40) +(def-joint-node evilsis-lod0-jg "hips" 41) +(def-joint-node evilsis-lod0-jg "Lthigh" 42) +(def-joint-node evilsis-lod0-jg "Lknee" 43) +(def-joint-node evilsis-lod0-jg "Lankle" 44) +(def-joint-node evilsis-lod0-jg "Lball" 45) +(def-joint-node evilsis-lod0-jg "Rthigh" 46) +(def-joint-node evilsis-lod0-jg "Rknee" 47) +(def-joint-node evilsis-lod0-jg "Rankle" 48) +(def-joint-node evilsis-lod0-jg "Rball" 49) +(def-joint-node evilsis-lod0-jg "camera" 50) +(def-joint-node evilsis-lod0-jg "l_ear1" 51) +(def-joint-node evilsis-lod0-jg "l_ear2" 52) +(def-joint-node evilsis-lod0-jg "r_ear1" 53) +(def-joint-node evilsis-lod0-jg "r_ear2" 54) +(def-joint-node evilsis-lod0-jg "l_flap1" 55) +(def-joint-node evilsis-lod0-jg "l_flap2" 56) +(def-joint-node evilsis-lod0-jg "r_flap1" 57) +(def-joint-node evilsis-lod0-jg "r_flap2" 58) +(def-joint-node evilsis-lod0-jg "ponytail3" 59) + +(def-joint-node citb-drop-plat-red-lod0-jg "boneless" 3) +(def-joint-node citb-drop-plat-red-lod0-jg "prejoint" 2) +(def-joint-node citb-drop-plat-red-lod0-jg "align" 1) + +(def-joint-node plat-eco-finalboss-lod0-jg "main" 3) +(def-joint-node plat-eco-finalboss-lod0-jg "prejoint" 2) +(def-joint-node plat-eco-finalboss-lod0-jg "align" 1) + +(def-joint-node light-eco-small-lod0-jg "6" 8) +(def-joint-node light-eco-small-lod0-jg "5" 7) +(def-joint-node light-eco-small-lod0-jg "4" 6) +(def-joint-node light-eco-small-lod0-jg "3" 5) +(def-joint-node light-eco-small-lod0-jg "2" 4) +(def-joint-node light-eco-small-lod0-jg "1" 3) +(def-joint-node light-eco-small-lod0-jg "prejoint" 2) +(def-joint-node light-eco-small-lod0-jg "align" 1) + +(def-joint-node energybase-lod0-jg "disk" 24) +(def-joint-node energybase-lod0-jg "box" 23) +(def-joint-node energybase-lod0-jg "one_a" 22) +(def-joint-node energybase-lod0-jg "one_b" 21) +(def-joint-node energybase-lod0-jg "one_c" 20) +(def-joint-node energybase-lod0-jg "four_a" 19) +(def-joint-node energybase-lod0-jg "four_b" 18) +(def-joint-node energybase-lod0-jg "four_c" 17) +(def-joint-node energybase-lod0-jg "four_d" 16) +(def-joint-node energybase-lod0-jg "four_e" 15) +(def-joint-node energybase-lod0-jg "four_f" 14) +(def-joint-node energybase-lod0-jg "align" 1) +(def-joint-node energybase-lod0-jg "prejoint" 2) +(def-joint-node energybase-lod0-jg "main" 3) +(def-joint-node energybase-lod0-jg "two_d" 4) +(def-joint-node energybase-lod0-jg "two_c" 5) +(def-joint-node energybase-lod0-jg "two_b" 6) +(def-joint-node energybase-lod0-jg "two_a" 7) +(def-joint-node energybase-lod0-jg "ball3" 8) +(def-joint-node energybase-lod0-jg "ball2" 9) +(def-joint-node energybase-lod0-jg "three_c" 10) +(def-joint-node energybase-lod0-jg "three_b" 11) +(def-joint-node energybase-lod0-jg "three_a" 12) +(def-joint-node energybase-lod0-jg "ball1" 13) + +(def-joint-node plat-sunken-lod0-jg "boneless" 3) +(def-joint-node plat-sunken-lod0-jg "prejoint" 2) +(def-joint-node plat-sunken-lod0-jg "align" 1) + +(def-joint-node spider-egg-broken-lod0-jg "blackpoly" 18) +(def-joint-node spider-egg-broken-lod0-jg "p6B" 17) +(def-joint-node spider-egg-broken-lod0-jg "p5B" 16) +(def-joint-node spider-egg-broken-lod0-jg "p6" 15) +(def-joint-node spider-egg-broken-lod0-jg "p5" 14) +(def-joint-node spider-egg-broken-lod0-jg "align" 1) +(def-joint-node spider-egg-broken-lod0-jg "prejoint" 2) +(def-joint-node spider-egg-broken-lod0-jg "main" 3) +(def-joint-node spider-egg-broken-lod0-jg "p1" 4) +(def-joint-node spider-egg-broken-lod0-jg "p2" 5) +(def-joint-node spider-egg-broken-lod0-jg "p3" 6) +(def-joint-node spider-egg-broken-lod0-jg "p4" 7) +(def-joint-node spider-egg-broken-lod0-jg "p7" 8) +(def-joint-node spider-egg-broken-lod0-jg "p8" 9) +(def-joint-node spider-egg-broken-lod0-jg "p9" 10) +(def-joint-node spider-egg-broken-lod0-jg "p10" 11) +(def-joint-node spider-egg-broken-lod0-jg "p11" 12) +(def-joint-node spider-egg-broken-lod0-jg "p12" 13) + +(def-joint-node ogre-step-c-lod0-jg "step6" 3) +(def-joint-node ogre-step-c-lod0-jg "prejoint" 2) +(def-joint-node ogre-step-c-lod0-jg "align" 1) + +(def-joint-node plat-jungleb-lod0-jg "boneless" 3) +(def-joint-node plat-jungleb-lod0-jg "prejoint" 2) +(def-joint-node plat-jungleb-lod0-jg "align" 1) + +(def-joint-node dark-crystal-lod0-jg "crystal" 3) +(def-joint-node dark-crystal-lod0-jg "prejoint" 2) +(def-joint-node dark-crystal-lod0-jg "align" 1) + +(def-joint-node cavetrapdoor-lod0-jg "trapdoor_" 3) +(def-joint-node cavetrapdoor-lod0-jg "prejoint" 2) +(def-joint-node cavetrapdoor-lod0-jg "align" 1) + +(def-joint-node cavecrystal-lod0-jg "boneless" 3) +(def-joint-node cavecrystal-lod0-jg "prejoint" 2) +(def-joint-node cavecrystal-lod0-jg "align" 1) + +(def-joint-node seagull-lod0-jg "head" 10) +(def-joint-node seagull-lod0-jg "Rwingtip" 9) +(def-joint-node seagull-lod0-jg "RWing" 8) +(def-joint-node seagull-lod0-jg "Lwingtip" 7) +(def-joint-node seagull-lod0-jg "lWing" 6) +(def-joint-node seagull-lod0-jg "rLeg" 5) +(def-joint-node seagull-lod0-jg "lLeg" 4) +(def-joint-node seagull-lod0-jg "main" 3) +(def-joint-node seagull-lod0-jg "prejoint" 2) +(def-joint-node seagull-lod0-jg "align" 1) + +(def-joint-node spiderwebs-good-lod0-jg "web" 4) +(def-joint-node spiderwebs-good-lod0-jg "main" 3) +(def-joint-node spiderwebs-good-lod0-jg "prejoint" 2) +(def-joint-node spiderwebs-good-lod0-jg "align" 1) + +(def-joint-node gondolacables-lod0-jg "boneless" 3) +(def-joint-node gondolacables-lod0-jg "prejoint" 2) +(def-joint-node gondolacables-lod0-jg "align" 1) + +(def-joint-node cavespatula-darkcave-lod0-jg "boneless" 3) +(def-joint-node cavespatula-darkcave-lod0-jg "prejoint" 2) +(def-joint-node cavespatula-darkcave-lod0-jg "align" 1) + +(def-joint-node sunkencam-lod0-jg "camera" 4) +(def-joint-node sunkencam-lod0-jg "beachcam" 3) +(def-joint-node sunkencam-lod0-jg "prejoint" 2) +(def-joint-node sunkencam-lod0-jg "align" 1) + +(def-joint-node darkecocan-glow-lod0-jg "center" 4) +(def-joint-node darkecocan-glow-lod0-jg "main" 3) +(def-joint-node darkecocan-glow-lod0-jg "prejoint" 2) +(def-joint-node darkecocan-glow-lod0-jg "align" 1) + +(def-joint-node silodoor-lod0-jg "door_c" 7) +(def-joint-node silodoor-lod0-jg "door_d" 6) +(def-joint-node silodoor-lod0-jg "door_a" 5) +(def-joint-node silodoor-lod0-jg "door_b" 4) +(def-joint-node silodoor-lod0-jg "main" 3) +(def-joint-node silodoor-lod0-jg "prejoint" 2) +(def-joint-node silodoor-lod0-jg "align" 1) + +(def-joint-node plat-eco-citb-lit-lod0-jg "main" 3) +(def-joint-node plat-eco-citb-lit-lod0-jg "prejoint" 2) +(def-joint-node plat-eco-citb-lit-lod0-jg "align" 1) + +(def-joint-node evilbro-citadel-lod0-jg "rball3" 75) +(def-joint-node evilbro-citadel-lod0-jg "rball2" 74) +(def-joint-node evilbro-citadel-lod0-jg "fball3" 73) +(def-joint-node evilbro-citadel-lod0-jg "fball2" 72) +(def-joint-node evilbro-citadel-lod0-jg "lball3" 71) +(def-joint-node evilbro-citadel-lod0-jg "lball2" 70) +(def-joint-node evilbro-citadel-lod0-jg "Rball" 69) +(def-joint-node evilbro-citadel-lod0-jg "Rankle" 68) +(def-joint-node evilbro-citadel-lod0-jg "Rknee" 67) +(def-joint-node evilbro-citadel-lod0-jg "Rthigh" 66) +(def-joint-node evilbro-citadel-lod0-jg "Lball" 65) +(def-joint-node evilbro-citadel-lod0-jg "Lankle" 64) +(def-joint-node evilbro-citadel-lod0-jg "Lknee" 63) +(def-joint-node evilbro-citadel-lod0-jg "RpinkyB" 62) +(def-joint-node evilbro-citadel-lod0-jg "RpinkyA" 61) +(def-joint-node evilbro-citadel-lod0-jg "RringB" 60) +(def-joint-node evilbro-citadel-lod0-jg "bcape1" 29) +(def-joint-node evilbro-citadel-lod0-jg "Lthigh" 28) +(def-joint-node evilbro-citadel-lod0-jg "hips" 27) +(def-joint-node evilbro-citadel-lod0-jg "rcollar" 26) +(def-joint-node evilbro-citadel-lod0-jg "bcollar" 25) +(def-joint-node evilbro-citadel-lod0-jg "lcollar" 24) +(def-joint-node evilbro-citadel-lod0-jg "Rhand" 23) +(def-joint-node evilbro-citadel-lod0-jg "Relbow" 22) +(def-joint-node evilbro-citadel-lod0-jg "Rshoulder" 21) +(def-joint-node evilbro-citadel-lod0-jg "lsleeve" 20) +(def-joint-node evilbro-citadel-lod0-jg "LthumbB" 19) +(def-joint-node evilbro-citadel-lod0-jg "LthumbA" 18) +(def-joint-node evilbro-citadel-lod0-jg "Lhand" 17) +(def-joint-node evilbro-citadel-lod0-jg "Lelbow" 16) +(def-joint-node evilbro-citadel-lod0-jg "Lshoulder" 15) +(def-joint-node evilbro-citadel-lod0-jg "hair3" 14) +(def-joint-node evilbro-citadel-lod0-jg "align" 1) +(def-joint-node evilbro-citadel-lod0-jg "prejoint" 2) +(def-joint-node evilbro-citadel-lod0-jg "main" 3) +(def-joint-node evilbro-citadel-lod0-jg "chest" 4) +(def-joint-node evilbro-citadel-lod0-jg "neck" 5) +(def-joint-node evilbro-citadel-lod0-jg "head" 6) +(def-joint-node evilbro-citadel-lod0-jg "lear1" 7) +(def-joint-node evilbro-citadel-lod0-jg "lear2" 8) +(def-joint-node evilbro-citadel-lod0-jg "rear1" 9) +(def-joint-node evilbro-citadel-lod0-jg "rear2" 10) +(def-joint-node evilbro-citadel-lod0-jg "hairBase" 11) +(def-joint-node evilbro-citadel-lod0-jg "hair1" 12) +(def-joint-node evilbro-citadel-lod0-jg "hair2" 13) +(def-joint-node evilbro-citadel-lod0-jg "bcape2" 30) +(def-joint-node evilbro-citadel-lod0-jg "fCapeA" 31) +(def-joint-node evilbro-citadel-lod0-jg "fCapeEND" 32) +(def-joint-node evilbro-citadel-lod0-jg "lball1" 33) +(def-joint-node evilbro-citadel-lod0-jg "fball1" 34) +(def-joint-node evilbro-citadel-lod0-jg "rball1" 35) +(def-joint-node evilbro-citadel-lod0-jg "lcape1" 36) +(def-joint-node evilbro-citadel-lod0-jg "lcape2" 37) +(def-joint-node evilbro-citadel-lod0-jg "rcape1" 38) +(def-joint-node evilbro-citadel-lod0-jg "rcape2" 39) +(def-joint-node evilbro-citadel-lod0-jg "camera" 40) +(def-joint-node evilbro-citadel-lod0-jg "goatee1" 41) +(def-joint-node evilbro-citadel-lod0-jg "goatee2" 42) +(def-joint-node evilbro-citadel-lod0-jg "LthumbC" 43) +(def-joint-node evilbro-citadel-lod0-jg "LindexA" 44) +(def-joint-node evilbro-citadel-lod0-jg "LindexB" 45) +(def-joint-node evilbro-citadel-lod0-jg "LmiddleA" 46) +(def-joint-node evilbro-citadel-lod0-jg "LmiddleB" 47) +(def-joint-node evilbro-citadel-lod0-jg "LringA" 48) +(def-joint-node evilbro-citadel-lod0-jg "LringB" 49) +(def-joint-node evilbro-citadel-lod0-jg "LpinkyA" 50) +(def-joint-node evilbro-citadel-lod0-jg "LpinkyB" 51) +(def-joint-node evilbro-citadel-lod0-jg "RthumbA" 52) +(def-joint-node evilbro-citadel-lod0-jg "RthumbB" 53) +(def-joint-node evilbro-citadel-lod0-jg "RthumbC" 54) +(def-joint-node evilbro-citadel-lod0-jg "RindexA" 55) +(def-joint-node evilbro-citadel-lod0-jg "RindexB" 56) +(def-joint-node evilbro-citadel-lod0-jg "RmiddleA" 57) +(def-joint-node evilbro-citadel-lod0-jg "RmiddleB" 58) +(def-joint-node evilbro-citadel-lod0-jg "RringA" 59) + +(def-joint-node citb-rotatebox-lod0-jg "main" 3) +(def-joint-node citb-rotatebox-lod0-jg "prejoint" 2) +(def-joint-node citb-rotatebox-lod0-jg "align" 1) + +(def-joint-node helix-slide-door-lod0-jg "helixdoor" 3) +(def-joint-node helix-slide-door-lod0-jg "prejoint" 2) +(def-joint-node helix-slide-door-lod0-jg "align" 1) + +(def-joint-node orb-cache-top-lod0-jg "boneless" 3) +(def-joint-node orb-cache-top-lod0-jg "prejoint" 2) +(def-joint-node orb-cache-top-lod0-jg "align" 1) + +(def-joint-node citb-iris-door-lod0-jg "rote8" 11) +(def-joint-node citb-iris-door-lod0-jg "rote1" 10) +(def-joint-node citb-iris-door-lod0-jg "rote7" 9) +(def-joint-node citb-iris-door-lod0-jg "rote6" 8) +(def-joint-node citb-iris-door-lod0-jg "rote5" 7) +(def-joint-node citb-iris-door-lod0-jg "rote4" 6) +(def-joint-node citb-iris-door-lod0-jg "rote3" 5) +(def-joint-node citb-iris-door-lod0-jg "rote2" 4) +(def-joint-node citb-iris-door-lod0-jg "base" 3) +(def-joint-node citb-iris-door-lod0-jg "prejoint" 2) +(def-joint-node citb-iris-door-lod0-jg "align" 1) + +(def-joint-node citb-robotboss-leftshoulder-lod0-jg "main" 3) +(def-joint-node citb-robotboss-leftshoulder-lod0-jg "prejoint" 2) +(def-joint-node citb-robotboss-leftshoulder-lod0-jg "align" 1) + +(def-joint-node citb-robotboss-nose-lod0-jg "main" 3) +(def-joint-node citb-robotboss-nose-lod0-jg "prejoint" 2) +(def-joint-node citb-robotboss-nose-lod0-jg "align" 1) + +(def-joint-node citb-hose-lod0-jg "4" 8) +(def-joint-node citb-hose-lod0-jg "3" 7) +(def-joint-node citb-hose-lod0-jg "2" 6) +(def-joint-node citb-hose-lod0-jg "1" 5) +(def-joint-node citb-hose-lod0-jg "0" 4) +(def-joint-node citb-hose-lod0-jg "main" 3) +(def-joint-node citb-hose-lod0-jg "prejoint" 2) +(def-joint-node citb-hose-lod0-jg "align" 1) + +(def-joint-node citb-robotboss-belly-lod0-jg "main" 3) +(def-joint-node citb-robotboss-belly-lod0-jg "prejoint" 2) +(def-joint-node citb-robotboss-belly-lod0-jg "align" 1) + +(def-joint-node eichar-lod0-jg "eyeR" 83) +(def-joint-node eichar-lod0-jg "eyeL" 82) +(def-joint-node eichar-lod0-jg "belt" 81) +(def-joint-node eichar-lod0-jg "pantsLknee" 80) +(def-joint-node eichar-lod0-jg "pantsLthigh" 79) +(def-joint-node eichar-lod0-jg "pantsRknee" 78) +(def-joint-node eichar-lod0-jg "pantsRthigh" 77) +(def-joint-node eichar-lod0-jg "footRStrap" 76) +(def-joint-node eichar-lod0-jg "Rtoes" 75) +(def-joint-node eichar-lod0-jg "RbigToe" 74) +(def-joint-node eichar-lod0-jg "Rball" 73) +(def-joint-node eichar-lod0-jg "footLStrap" 72) +(def-joint-node eichar-lod0-jg "Ltoes" 71) +(def-joint-node eichar-lod0-jg "LbigToe" 70) +(def-joint-node eichar-lod0-jg "Lball" 69) +(def-joint-node eichar-lod0-jg "packStrapMid" 68) +(def-joint-node eichar-lod0-jg "packStrapTop" 67) +(def-joint-node eichar-lod0-jg "collarR" 66) +(def-joint-node eichar-lod0-jg "collarL" 65) +(def-joint-node eichar-lod0-jg "LshoulderPad" 64) +(def-joint-node eichar-lod0-jg "handRStrapBotMid" 63) +(def-joint-node eichar-lod0-jg "handRStrapBotTop" 62) +(def-joint-node eichar-lod0-jg "rpinkB" 61) +(def-joint-node eichar-lod0-jg "rpinkA" 60) +(def-joint-node eichar-lod0-jg "Lankle" 29) +(def-joint-node eichar-lod0-jg "Lknee" 28) +(def-joint-node eichar-lod0-jg "Lthigh" 27) +(def-joint-node eichar-lod0-jg "hips" 26) +(def-joint-node eichar-lod0-jg "handRStrapTopMid" 25) +(def-joint-node eichar-lod0-jg "handRStrapTopTop" 24) +(def-joint-node eichar-lod0-jg "sk_rhand" 23) +(def-joint-node eichar-lod0-jg "Rforarm" 22) +(def-joint-node eichar-lod0-jg "Rarm" 21) +(def-joint-node eichar-lod0-jg "Rshould" 20) +(def-joint-node eichar-lod0-jg "handLStrapTopMid" 19) +(def-joint-node eichar-lod0-jg "handLStrapTopTop" 18) +(def-joint-node eichar-lod0-jg "sk_lhand" 17) +(def-joint-node eichar-lod0-jg "Lforarm" 16) +(def-joint-node eichar-lod0-jg "Larm" 15) +(def-joint-node eichar-lod0-jg "Lshould" 14) +(def-joint-node eichar-lod0-jg "align" 1) +(def-joint-node eichar-lod0-jg "prejoint" 2) +(def-joint-node eichar-lod0-jg "main" 3) +(def-joint-node eichar-lod0-jg "upper_body" 4) +(def-joint-node eichar-lod0-jg "chest" 5) +(def-joint-node eichar-lod0-jg "neckA" 6) +(def-joint-node eichar-lod0-jg "neckB" 7) +(def-joint-node eichar-lod0-jg "MhairA" 8) +(def-joint-node eichar-lod0-jg "MhairB" 9) +(def-joint-node eichar-lod0-jg "Learbase" 10) +(def-joint-node eichar-lod0-jg "Learmid" 11) +(def-joint-node eichar-lod0-jg "Rearbase" 12) +(def-joint-node eichar-lod0-jg "Rearmid" 13) +(def-joint-node eichar-lod0-jg "ankleLStrap" 30) +(def-joint-node eichar-lod0-jg "Rthigh" 31) +(def-joint-node eichar-lod0-jg "Rknee" 32) +(def-joint-node eichar-lod0-jg "Rankle" 33) +(def-joint-node eichar-lod0-jg "ankleRStrap" 34) +(def-joint-node eichar-lod0-jg "shirtLthigh" 35) +(def-joint-node eichar-lod0-jg "shirtRthigh" 36) +(def-joint-node eichar-lod0-jg "mouth" 37) +(def-joint-node eichar-lod0-jg "browL" 38) +(def-joint-node eichar-lod0-jg "browR" 39) +(def-joint-node eichar-lod0-jg "lthumA" 40) +(def-joint-node eichar-lod0-jg "lthumB" 41) +(def-joint-node eichar-lod0-jg "lindA" 42) +(def-joint-node eichar-lod0-jg "lindB" 43) +(def-joint-node eichar-lod0-jg "lmidA" 44) +(def-joint-node eichar-lod0-jg "lmidB" 45) +(def-joint-node eichar-lod0-jg "lringA" 46) +(def-joint-node eichar-lod0-jg "lringB" 47) +(def-joint-node eichar-lod0-jg "lpinkA" 48) +(def-joint-node eichar-lod0-jg "lpinkB" 49) +(def-joint-node eichar-lod0-jg "handLStrapBotTop" 50) +(def-joint-node eichar-lod0-jg "handLStrapBotMid" 51) +(def-joint-node eichar-lod0-jg "rthumA" 52) +(def-joint-node eichar-lod0-jg "rthumB" 53) +(def-joint-node eichar-lod0-jg "rindA" 54) +(def-joint-node eichar-lod0-jg "rindB" 55) +(def-joint-node eichar-lod0-jg "rmidA" 56) +(def-joint-node eichar-lod0-jg "rmidB" 57) +(def-joint-node eichar-lod0-jg "rringA" 58) +(def-joint-node eichar-lod0-jg "rringB" 59) + +(def-joint-node water-anim-sunken-qbert-room-lod0-jg "boneless" 3) +(def-joint-node water-anim-sunken-qbert-room-lod0-jg "prejoint" 2) +(def-joint-node water-anim-sunken-qbert-room-lod0-jg "align" 1) + +(def-joint-node grottopole-lod0-jg "main" 3) +(def-joint-node grottopole-lod0-jg "prejoint" 2) +(def-joint-node grottopole-lod0-jg "align" 1) + +(def-joint-node citb-generator-lod0-jg "boneless" 3) +(def-joint-node citb-generator-lod0-jg "prejoint" 2) +(def-joint-node citb-generator-lod0-jg "align" 1) + +(def-joint-node citb-exit-plat-lod0-jg "button" 4) +(def-joint-node citb-exit-plat-lod0-jg "main_" 3) +(def-joint-node citb-exit-plat-lod0-jg "prejoint" 2) +(def-joint-node citb-exit-plat-lod0-jg "align" 1) + +(def-joint-node sage-lod0-jg "belly" 74) +(def-joint-node sage-lod0-jg "Rball" 73) +(def-joint-node sage-lod0-jg "Rbigtoe" 72) +(def-joint-node sage-lod0-jg "Rtoes" 71) +(def-joint-node sage-lod0-jg "Rfootball" 70) +(def-joint-node sage-lod0-jg "Lball" 69) +(def-joint-node sage-lod0-jg "Lbigtoe" 68) +(def-joint-node sage-lod0-jg "Ltoes" 67) +(def-joint-node sage-lod0-jg "Lfootball" 66) +(def-joint-node sage-lod0-jg "RringB" 65) +(def-joint-node sage-lod0-jg "RringA" 64) +(def-joint-node sage-lod0-jg "RmiddleB" 63) +(def-joint-node sage-lod0-jg "RmiddleA" 62) +(def-joint-node sage-lod0-jg "RthumbC" 61) +(def-joint-node sage-lod0-jg "RthumbB" 60) +(def-joint-node sage-lod0-jg "Lthigh" 29) +(def-joint-node sage-lod0-jg "hips" 28) +(def-joint-node sage-lod0-jg "RpinkyB" 27) +(def-joint-node sage-lod0-jg "RpinkyA" 26) +(def-joint-node sage-lod0-jg "RindexB" 25) +(def-joint-node sage-lod0-jg "RindexA" 24) +(def-joint-node sage-lod0-jg "RthumbA" 23) +(def-joint-node sage-lod0-jg "Rhand" 22) +(def-joint-node sage-lod0-jg "Relbow" 21) +(def-joint-node sage-lod0-jg "Rshoulder" 20) +(def-joint-node sage-lod0-jg "Lhand" 19) +(def-joint-node sage-lod0-jg "Lelbow" 18) +(def-joint-node sage-lod0-jg "Lshoulder" 17) +(def-joint-node sage-lod0-jg "beard" 16) +(def-joint-node sage-lod0-jg "beard_lip" 15) +(def-joint-node sage-lod0-jg "RearMID" 14) +(def-joint-node sage-lod0-jg "align" 1) +(def-joint-node sage-lod0-jg "prejoint" 2) +(def-joint-node sage-lod0-jg "main" 3) +(def-joint-node sage-lod0-jg "chest" 4) +(def-joint-node sage-lod0-jg "head" 5) +(def-joint-node sage-lod0-jg "headLog" 6) +(def-joint-node sage-lod0-jg "Llog" 7) +(def-joint-node sage-lod0-jg "Rlog" 8) +(def-joint-node sage-lod0-jg "LhairBASE" 9) +(def-joint-node sage-lod0-jg "Lhair" 10) +(def-joint-node sage-lod0-jg "LearBASE" 11) +(def-joint-node sage-lod0-jg "LearMID" 12) +(def-joint-node sage-lod0-jg "RearBASE" 13) +(def-joint-node sage-lod0-jg "Lknee" 30) +(def-joint-node sage-lod0-jg "Lankle" 31) +(def-joint-node sage-lod0-jg "Rthigh" 32) +(def-joint-node sage-lod0-jg "Rknee" 33) +(def-joint-node sage-lod0-jg "Rankle" 34) +(def-joint-node sage-lod0-jg "staffMAIN" 35) +(def-joint-node sage-lod0-jg "staffUpA" 36) +(def-joint-node sage-lod0-jg "staffDownA" 37) +(def-joint-node sage-lod0-jg "staffDownB" 38) +(def-joint-node sage-lod0-jg "staffBOTTOM" 39) +(def-joint-node sage-lod0-jg "camera" 40) +(def-joint-node sage-lod0-jg "cameraB" 41) +(def-joint-node sage-lod0-jg "BIRDfeet1" 42) +(def-joint-node sage-lod0-jg "BIRD1" 43) +(def-joint-node sage-lod0-jg "BIRDhead1" 44) +(def-joint-node sage-lod0-jg "BIRDR1" 45) +(def-joint-node sage-lod0-jg "BIRDL1" 46) +(def-joint-node sage-lod0-jg "ponytailBASE" 47) +(def-joint-node sage-lod0-jg "ponytailMID" 48) +(def-joint-node sage-lod0-jg "LthumbA" 49) +(def-joint-node sage-lod0-jg "LthumbB" 50) +(def-joint-node sage-lod0-jg "LthumbC" 51) +(def-joint-node sage-lod0-jg "LindexA" 52) +(def-joint-node sage-lod0-jg "LindexB" 53) +(def-joint-node sage-lod0-jg "LmiddleA" 54) +(def-joint-node sage-lod0-jg "LmiddleB" 55) +(def-joint-node sage-lod0-jg "LringA" 56) +(def-joint-node sage-lod0-jg "LringB" 57) +(def-joint-node sage-lod0-jg "LpinkyA" 58) +(def-joint-node sage-lod0-jg "LpinkyB" 59) + +(def-joint-node eggtop-lod0-jg "eggtop" 4) +(def-joint-node eggtop-lod0-jg "main" 3) +(def-joint-node eggtop-lod0-jg "prejoint" 2) +(def-joint-node eggtop-lod0-jg "align" 1) + +(def-joint-node race-ring-lod0-jg "fuelcell" 5) +(def-joint-node race-ring-lod0-jg "camera" 4) +(def-joint-node race-ring-lod0-jg "racering" 3) +(def-joint-node race-ring-lod0-jg "prejoint" 2) +(def-joint-node race-ring-lod0-jg "align" 1) + +(def-joint-node plat-eco-lit-lod0-jg "main" 3) +(def-joint-node plat-eco-lit-lod0-jg "prejoint" 2) +(def-joint-node plat-eco-lit-lod0-jg "align" 1) + +(def-joint-node robber-lod0-jg "flap2" 59) +(def-joint-node robber-lod0-jg "rArmFur" 58) +(def-joint-node robber-lod0-jg "RpinkyB" 57) +(def-joint-node robber-lod0-jg "RpinkyA" 56) +(def-joint-node robber-lod0-jg "RringB" 55) +(def-joint-node robber-lod0-jg "RringA" 54) +(def-joint-node robber-lod0-jg "RindexB" 53) +(def-joint-node robber-lod0-jg "lArmFur" 52) +(def-joint-node robber-lod0-jg "LpinkyB" 51) +(def-joint-node robber-lod0-jg "LpinkyA" 50) +(def-joint-node robber-lod0-jg "LringB" 49) +(def-joint-node robber-lod0-jg "LringA" 48) +(def-joint-node robber-lod0-jg "LindexB" 47) +(def-joint-node robber-lod0-jg "belly" 46) +(def-joint-node robber-lod0-jg "rShoulderFur" 45) +(def-joint-node robber-lod0-jg "lShoulderFur" 44) +(def-joint-node robber-lod0-jg "RmiddleB" 43) +(def-joint-node robber-lod0-jg "RmiddleA" 42) +(def-joint-node robber-lod0-jg "RindexA" 41) +(def-joint-node robber-lod0-jg "RthumbB" 40) +(def-joint-node robber-lod0-jg "RthumbA" 39) +(def-joint-node robber-lod0-jg "LmiddleB" 38) +(def-joint-node robber-lod0-jg "LmiddleA" 37) +(def-joint-node robber-lod0-jg "LindexA" 36) +(def-joint-node robber-lod0-jg "LthumbB" 35) +(def-joint-node robber-lod0-jg "LthumbA" 34) +(def-joint-node robber-lod0-jg "flap1" 33) +(def-joint-node robber-lod0-jg "rLegFur" 32) +(def-joint-node robber-lod0-jg "Rball" 31) +(def-joint-node robber-lod0-jg "Rankle" 30) +(def-joint-node robber-lod0-jg "Rshoulder" 13) +(def-joint-node robber-lod0-jg "Lhand" 12) +(def-joint-node robber-lod0-jg "Lelbow" 11) +(def-joint-node robber-lod0-jg "Lshoulder" 10) +(def-joint-node robber-lod0-jg "ring" 9) +(def-joint-node robber-lod0-jg "jaw" 8) +(def-joint-node robber-lod0-jg "hair" 7) +(def-joint-node robber-lod0-jg "head" 6) +(def-joint-node robber-lod0-jg "neck" 5) +(def-joint-node robber-lod0-jg "chest" 4) +(def-joint-node robber-lod0-jg "main" 3) +(def-joint-node robber-lod0-jg "prejoint" 2) +(def-joint-node robber-lod0-jg "align" 1) +(def-joint-node robber-lod0-jg "Relbow" 14) +(def-joint-node robber-lod0-jg "Rhand" 15) +(def-joint-node robber-lod0-jg "lWing1" 16) +(def-joint-node robber-lod0-jg "lWing2" 17) +(def-joint-node robber-lod0-jg "lWing3" 18) +(def-joint-node robber-lod0-jg "rWing1" 19) +(def-joint-node robber-lod0-jg "rWing2" 20) +(def-joint-node robber-lod0-jg "rWing3" 21) +(def-joint-node robber-lod0-jg "hips" 22) +(def-joint-node robber-lod0-jg "Lthigh" 23) +(def-joint-node robber-lod0-jg "Lknee" 24) +(def-joint-node robber-lod0-jg "Lankle" 25) +(def-joint-node robber-lod0-jg "Lball" 26) +(def-joint-node robber-lod0-jg "lLegFur" 27) +(def-joint-node robber-lod0-jg "Rthigh" 28) +(def-joint-node robber-lod0-jg "Rknee" 29) + +(def-joint-node powercellalt-lod0-jg "boneless" 3) +(def-joint-node powercellalt-lod0-jg "prejoint" 2) +(def-joint-node powercellalt-lod0-jg "align" 1) + +(def-joint-node citb-drop-plat-yellow-lod0-jg "boneless" 3) +(def-joint-node citb-drop-plat-yellow-lod0-jg "prejoint" 2) +(def-joint-node citb-drop-plat-yellow-lod0-jg "align" 1) + +(def-joint-node tar-plat-lod0-jg "tarplat" 3) +(def-joint-node tar-plat-lod0-jg "prejoint" 2) +(def-joint-node tar-plat-lod0-jg "align" 1) + +(def-joint-node swamp-spike-lod0-jg "spike_1" 3) +(def-joint-node swamp-spike-lod0-jg "prejoint" 2) +(def-joint-node swamp-spike-lod0-jg "align" 1) + +(def-joint-node warp-gate-switch-lod0-jg "button" 4) +(def-joint-node warp-gate-switch-lod0-jg "main" 3) +(def-joint-node warp-gate-switch-lod0-jg "prejoint" 2) +(def-joint-node warp-gate-switch-lod0-jg "align" 1) + +(def-joint-node citb-drop-plat-blue-lod0-jg "boneless" 3) +(def-joint-node citb-drop-plat-blue-lod0-jg "prejoint" 2) +(def-joint-node citb-drop-plat-blue-lod0-jg "align" 1) + +(def-joint-node precursor-arm-lod0-jg "ropearm" 4) +(def-joint-node precursor-arm-lod0-jg "arm" 3) +(def-joint-node precursor-arm-lod0-jg "prejoint" 2) +(def-joint-node precursor-arm-lod0-jg "align" 1) + +(def-joint-node water-anim-rolling-water-front-lod0-jg "boneless" 3) +(def-joint-node water-anim-rolling-water-front-lod0-jg "prejoint" 2) +(def-joint-node water-anim-rolling-water-front-lod0-jg "align" 1) + +(def-joint-node fuelcell-naked-lod0-jg "orbit2" 9) +(def-joint-node fuelcell-naked-lod0-jg "orbit" 8) +(def-joint-node fuelcell-naked-lod0-jg "piece4" 7) +(def-joint-node fuelcell-naked-lod0-jg "piece3" 6) +(def-joint-node fuelcell-naked-lod0-jg "piece2" 5) +(def-joint-node fuelcell-naked-lod0-jg "piece1" 4) +(def-joint-node fuelcell-naked-lod0-jg "main" 3) +(def-joint-node fuelcell-naked-lod0-jg "prejoint" 2) +(def-joint-node fuelcell-naked-lod0-jg "align" 1) + +(def-joint-node water-anim-sunken-hall-before-big-room-lod0-jg "boneless" 3) +(def-joint-node water-anim-sunken-hall-before-big-room-lod0-jg "prejoint" 2) +(def-joint-node water-anim-sunken-hall-before-big-room-lod0-jg "align" 1) + +(def-joint-node water-anim-maincave-water-with-crystal-lod0-jg "boneless" 3) +(def-joint-node water-anim-maincave-water-with-crystal-lod0-jg "prejoint" 2) +(def-joint-node water-anim-maincave-water-with-crystal-lod0-jg "align" 1) + +(def-joint-node keg-conveyor-lod0-jg "spindle" 4) +(def-joint-node keg-conveyor-lod0-jg "main" 3) +(def-joint-node keg-conveyor-lod0-jg "prejoint" 2) +(def-joint-node keg-conveyor-lod0-jg "align" 1) + +(def-joint-node citb-donut-lod0-jg "boneless" 3) +(def-joint-node citb-donut-lod0-jg "prejoint" 2) +(def-joint-node citb-donut-lod0-jg "align" 1) + +(def-joint-node citb-robotboss-head-lod0-jg "main" 3) +(def-joint-node citb-robotboss-head-lod0-jg "prejoint" 2) +(def-joint-node citb-robotboss-head-lod0-jg "align" 1) + +(def-joint-node darkecocan-lod0-jg "center" 4) +(def-joint-node darkecocan-lod0-jg "main" 3) +(def-joint-node darkecocan-lod0-jg "prejoint" 2) +(def-joint-node darkecocan-lod0-jg "align" 1) + +(def-joint-node redring-lod0-jg "tail" 6) +(def-joint-node redring-lod0-jg "inring" 5) +(def-joint-node redring-lod0-jg "outring" 4) +(def-joint-node redring-lod0-jg "main" 3) +(def-joint-node redring-lod0-jg "prejoint" 2) +(def-joint-node redring-lod0-jg "align" 1) + +(def-joint-node greenshot-lod0-jg "rightbot" 9) +(def-joint-node greenshot-lod0-jg "rightmid" 8) +(def-joint-node greenshot-lod0-jg "righttop" 7) +(def-joint-node greenshot-lod0-jg "leftbot" 6) +(def-joint-node greenshot-lod0-jg "leftmid" 5) +(def-joint-node greenshot-lod0-jg "lefttop" 4) +(def-joint-node greenshot-lod0-jg "main" 3) +(def-joint-node greenshot-lod0-jg "prejoint" 2) +(def-joint-node greenshot-lod0-jg "align" 1) + +(def-joint-node citb-drop-plat-lod0-jg "boneless" 3) +(def-joint-node citb-drop-plat-lod0-jg "prejoint" 2) +(def-joint-node citb-drop-plat-lod0-jg "align" 1) + +(def-joint-node citb-robotboss-rightshoulder-lod0-jg "main" 3) +(def-joint-node citb-robotboss-rightshoulder-lod0-jg "prejoint" 2) +(def-joint-node citb-robotboss-rightshoulder-lod0-jg "align" 1) + +(def-joint-node crate-darkeco-lod0-jg "crate" 3) +(def-joint-node crate-darkeco-lod0-jg "prejoint" 2) +(def-joint-node crate-darkeco-lod0-jg "align" 1) + +(def-joint-node water-anim-misty-mud-other-near-skull-lod0-jg "boneless" 3) +(def-joint-node water-anim-misty-mud-other-near-skull-lod0-jg "prejoint" 2) +(def-joint-node water-anim-misty-mud-other-near-skull-lod0-jg "align" 1) + +(def-joint-node water-anim-lavatube-energy-lava-lod0-jg "boneless" 3) +(def-joint-node water-anim-lavatube-energy-lava-lod0-jg "prejoint" 2) +(def-joint-node water-anim-lavatube-energy-lava-lod0-jg "align" 1) + +(def-joint-node lurkercrab-lod0-jg "rKnee3" 25) +(def-joint-node lurkercrab-lod0-jg "rThigh3" 24) +(def-joint-node lurkercrab-lod0-jg "rKnee2" 23) +(def-joint-node lurkercrab-lod0-jg "rThigh2" 22) +(def-joint-node lurkercrab-lod0-jg "rTopPinch" 21) +(def-joint-node lurkercrab-lod0-jg "rBotPinch" 20) +(def-joint-node lurkercrab-lod0-jg "rHand" 19) +(def-joint-node lurkercrab-lod0-jg "rElbow" 18) +(def-joint-node lurkercrab-lod0-jg "rShoulder" 17) +(def-joint-node lurkercrab-lod0-jg "lTopPinch" 16) +(def-joint-node lurkercrab-lod0-jg "lBotPinch" 15) +(def-joint-node lurkercrab-lod0-jg "lHand" 14) +(def-joint-node lurkercrab-lod0-jg "align" 1) +(def-joint-node lurkercrab-lod0-jg "prejoint" 2) +(def-joint-node lurkercrab-lod0-jg "main" 3) +(def-joint-node lurkercrab-lod0-jg "bod" 4) +(def-joint-node lurkercrab-lod0-jg "shell" 5) +(def-joint-node lurkercrab-lod0-jg "head" 6) +(def-joint-node lurkercrab-lod0-jg "ring" 7) +(def-joint-node lurkercrab-lod0-jg "lThigh3" 8) +(def-joint-node lurkercrab-lod0-jg "lKnee3" 9) +(def-joint-node lurkercrab-lod0-jg "lThigh2" 10) +(def-joint-node lurkercrab-lod0-jg "lKnee2" 11) +(def-joint-node lurkercrab-lod0-jg "lShoulder" 12) +(def-joint-node lurkercrab-lod0-jg "lElbow" 13) + +(def-joint-node assistant-lavatube-start-lod0-jg "belt" 94) +(def-joint-node assistant-lavatube-start-lod0-jg "RpantFlap" 93) +(def-joint-node assistant-lavatube-start-lod0-jg "LpantFlap" 92) +(def-joint-node assistant-lavatube-start-lod0-jg "rBotStrap2" 91) +(def-joint-node assistant-lavatube-start-lod0-jg "rBotStrap1" 90) +(def-joint-node assistant-lavatube-start-lod0-jg "lBotStrap2" 89) +(def-joint-node assistant-lavatube-start-lod0-jg "lBotStrap1" 88) +(def-joint-node assistant-lavatube-start-lod0-jg "rKneeFlap" 87) +(def-joint-node assistant-lavatube-start-lod0-jg "RfootFlaps" 86) +(def-joint-node assistant-lavatube-start-lod0-jg "RtoeStrap" 85) +(def-joint-node assistant-lavatube-start-lod0-jg "lKneeFlap" 84) +(def-joint-node assistant-lavatube-start-lod0-jg "LfootFlaps" 83) +(def-joint-node assistant-lavatube-start-lod0-jg "gogglesLeft" 82) +(def-joint-node assistant-lavatube-start-lod0-jg "gogglesRight" 81) +(def-joint-node assistant-lavatube-start-lod0-jg "gogglesMid" 80) +(def-joint-node assistant-lavatube-start-lod0-jg "gogglesBase" 79) +(def-joint-node assistant-lavatube-start-lod0-jg "rBoob" 78) +(def-joint-node assistant-lavatube-start-lod0-jg "lBoob" 77) +(def-joint-node assistant-lavatube-start-lod0-jg "rTopStrap2" 76) +(def-joint-node assistant-lavatube-start-lod0-jg "rTopStrap1" 75) +(def-joint-node assistant-lavatube-start-lod0-jg "rGlove" 74) +(def-joint-node assistant-lavatube-start-lod0-jg "RpinkyC" 73) +(def-joint-node assistant-lavatube-start-lod0-jg "RpinkyB" 72) +(def-joint-node assistant-lavatube-start-lod0-jg "RpinkyA" 71) +(def-joint-node assistant-lavatube-start-lod0-jg "RringC" 70) +(def-joint-node assistant-lavatube-start-lod0-jg "RringB" 69) +(def-joint-node assistant-lavatube-start-lod0-jg "RringA" 68) +(def-joint-node assistant-lavatube-start-lod0-jg "RmiddleC" 67) +(def-joint-node assistant-lavatube-start-lod0-jg "RmiddleB" 66) +(def-joint-node assistant-lavatube-start-lod0-jg "RmiddleA" 65) +(def-joint-node assistant-lavatube-start-lod0-jg "RindexC" 64) +(def-joint-node assistant-lavatube-start-lod0-jg "RindexB" 63) +(def-joint-node assistant-lavatube-start-lod0-jg "RindexA" 62) +(def-joint-node assistant-lavatube-start-lod0-jg "RthumbC" 61) +(def-joint-node assistant-lavatube-start-lod0-jg "RthumbB" 60) +(def-joint-node assistant-lavatube-start-lod0-jg "camera" 29) +(def-joint-node assistant-lavatube-start-lod0-jg "Rball" 28) +(def-joint-node assistant-lavatube-start-lod0-jg "Rankle" 27) +(def-joint-node assistant-lavatube-start-lod0-jg "Rknee" 26) +(def-joint-node assistant-lavatube-start-lod0-jg "Rthigh" 25) +(def-joint-node assistant-lavatube-start-lod0-jg "LtoeStrap" 24) +(def-joint-node assistant-lavatube-start-lod0-jg "Lball" 23) +(def-joint-node assistant-lavatube-start-lod0-jg "Lankle" 22) +(def-joint-node assistant-lavatube-start-lod0-jg "Lknee" 21) +(def-joint-node assistant-lavatube-start-lod0-jg "Lthigh" 20) +(def-joint-node assistant-lavatube-start-lod0-jg "hips" 19) +(def-joint-node assistant-lavatube-start-lod0-jg "Rhand" 18) +(def-joint-node assistant-lavatube-start-lod0-jg "Relbow" 17) +(def-joint-node assistant-lavatube-start-lod0-jg "Rshoulder" 16) +(def-joint-node assistant-lavatube-start-lod0-jg "lTopStrap1" 15) +(def-joint-node assistant-lavatube-start-lod0-jg "Lhand" 14) +(def-joint-node assistant-lavatube-start-lod0-jg "align" 1) +(def-joint-node assistant-lavatube-start-lod0-jg "prejoint" 2) +(def-joint-node assistant-lavatube-start-lod0-jg "main" 3) +(def-joint-node assistant-lavatube-start-lod0-jg "chest" 4) +(def-joint-node assistant-lavatube-start-lod0-jg "neck" 5) +(def-joint-node assistant-lavatube-start-lod0-jg "head" 6) +(def-joint-node assistant-lavatube-start-lod0-jg "lEar1" 7) +(def-joint-node assistant-lavatube-start-lod0-jg "lEar2" 8) +(def-joint-node assistant-lavatube-start-lod0-jg "rEar1" 9) +(def-joint-node assistant-lavatube-start-lod0-jg "rEar2" 10) +(def-joint-node assistant-lavatube-start-lod0-jg "backHair1" 11) +(def-joint-node assistant-lavatube-start-lod0-jg "Lshoulder" 12) +(def-joint-node assistant-lavatube-start-lod0-jg "Lelbow" 13) +(def-joint-node assistant-lavatube-start-lod0-jg "cameraB" 30) +(def-joint-node assistant-lavatube-start-lod0-jg "flipR1" 31) +(def-joint-node assistant-lavatube-start-lod0-jg "flipR2" 32) +(def-joint-node assistant-lavatube-start-lod0-jg "flipR3" 33) +(def-joint-node assistant-lavatube-start-lod0-jg "flipL1" 34) +(def-joint-node assistant-lavatube-start-lod0-jg "flipL2" 35) +(def-joint-node assistant-lavatube-start-lod0-jg "flipL3" 36) +(def-joint-node assistant-lavatube-start-lod0-jg "Lhair1" 37) +(def-joint-node assistant-lavatube-start-lod0-jg "Lhair2" 38) +(def-joint-node assistant-lavatube-start-lod0-jg "Rhair1" 39) +(def-joint-node assistant-lavatube-start-lod0-jg "Rhair2" 40) +(def-joint-node assistant-lavatube-start-lod0-jg "backHair2" 41) +(def-joint-node assistant-lavatube-start-lod0-jg "LthumbA" 42) +(def-joint-node assistant-lavatube-start-lod0-jg "LthumbB" 43) +(def-joint-node assistant-lavatube-start-lod0-jg "LthumbC" 44) +(def-joint-node assistant-lavatube-start-lod0-jg "LindexA" 45) +(def-joint-node assistant-lavatube-start-lod0-jg "LindexB" 46) +(def-joint-node assistant-lavatube-start-lod0-jg "LindexC" 47) +(def-joint-node assistant-lavatube-start-lod0-jg "LmiddleA" 48) +(def-joint-node assistant-lavatube-start-lod0-jg "LmiddleB" 49) +(def-joint-node assistant-lavatube-start-lod0-jg "LmiddleC" 50) +(def-joint-node assistant-lavatube-start-lod0-jg "LringA" 51) +(def-joint-node assistant-lavatube-start-lod0-jg "LringB" 52) +(def-joint-node assistant-lavatube-start-lod0-jg "LringC" 53) +(def-joint-node assistant-lavatube-start-lod0-jg "LpinkyA" 54) +(def-joint-node assistant-lavatube-start-lod0-jg "LpinkyB" 55) +(def-joint-node assistant-lavatube-start-lod0-jg "LpinkyC" 56) +(def-joint-node assistant-lavatube-start-lod0-jg "lGlove" 57) +(def-joint-node assistant-lavatube-start-lod0-jg "lTopStrap2" 58) +(def-joint-node assistant-lavatube-start-lod0-jg "RthumbA" 59) + +(def-joint-node spider-egg-unbroken-lod0-jg "blackpoly" 18) +(def-joint-node spider-egg-unbroken-lod0-jg "p6B" 17) +(def-joint-node spider-egg-unbroken-lod0-jg "p5B" 16) +(def-joint-node spider-egg-unbroken-lod0-jg "p6" 15) +(def-joint-node spider-egg-unbroken-lod0-jg "p5" 14) +(def-joint-node spider-egg-unbroken-lod0-jg "align" 1) +(def-joint-node spider-egg-unbroken-lod0-jg "prejoint" 2) +(def-joint-node spider-egg-unbroken-lod0-jg "main" 3) +(def-joint-node spider-egg-unbroken-lod0-jg "p1" 4) +(def-joint-node spider-egg-unbroken-lod0-jg "p2" 5) +(def-joint-node spider-egg-unbroken-lod0-jg "p3" 6) +(def-joint-node spider-egg-unbroken-lod0-jg "p4" 7) +(def-joint-node spider-egg-unbroken-lod0-jg "p7" 8) +(def-joint-node spider-egg-unbroken-lod0-jg "p8" 9) +(def-joint-node spider-egg-unbroken-lod0-jg "p9" 10) +(def-joint-node spider-egg-unbroken-lod0-jg "p10" 11) +(def-joint-node spider-egg-unbroken-lod0-jg "p11" 12) +(def-joint-node spider-egg-unbroken-lod0-jg "p12" 13) + +(def-joint-node ecoventrock-lod0-jg "boneless" 3) +(def-joint-node ecoventrock-lod0-jg "prejoint" 2) +(def-joint-node ecoventrock-lod0-jg "align" 1) + +(def-joint-node dark-crystal-explode-lod0-jg "crystl_15" 17) +(def-joint-node dark-crystal-explode-lod0-jg "crystl_14" 16) +(def-joint-node dark-crystal-explode-lod0-jg "crystl_13" 15) +(def-joint-node dark-crystal-explode-lod0-jg "crystl_12" 14) +(def-joint-node dark-crystal-explode-lod0-jg "align" 1) +(def-joint-node dark-crystal-explode-lod0-jg "prejoint" 2) +(def-joint-node dark-crystal-explode-lod0-jg "crystl_1" 3) +(def-joint-node dark-crystal-explode-lod0-jg "crystl_2" 4) +(def-joint-node dark-crystal-explode-lod0-jg "crystl_3" 5) +(def-joint-node dark-crystal-explode-lod0-jg "crystl_4" 6) +(def-joint-node dark-crystal-explode-lod0-jg "crystl_5" 7) +(def-joint-node dark-crystal-explode-lod0-jg "crystl_6" 8) +(def-joint-node dark-crystal-explode-lod0-jg "crystl_7" 9) +(def-joint-node dark-crystal-explode-lod0-jg "crystl_8" 10) +(def-joint-node dark-crystal-explode-lod0-jg "crystl_9" 11) +(def-joint-node dark-crystal-explode-lod0-jg "crystl_10" 12) +(def-joint-node dark-crystal-explode-lod0-jg "crystl_11" 13) + +(def-joint-node water-anim-darkcave-water-with-crystal-lod0-jg "boneless" 3) +(def-joint-node water-anim-darkcave-water-with-crystal-lod0-jg "prejoint" 2) +(def-joint-node water-anim-darkcave-water-with-crystal-lod0-jg "align" 1) + +(def-joint-node plant-boss-main-lod0-jg "lowerTeeth" 43) +(def-joint-node plant-boss-main-lod0-jg "tongueTIP" 42) +(def-joint-node plant-boss-main-lod0-jg "tongueMID1" 41) +(def-joint-node plant-boss-main-lod0-jg "tongueMID" 40) +(def-joint-node plant-boss-main-lod0-jg "tongueBASE" 39) +(def-joint-node plant-boss-main-lod0-jg "jawEndTip" 38) +(def-joint-node plant-boss-main-lod0-jg "jawEnd" 37) +(def-joint-node plant-boss-main-lod0-jg "upperTeeth" 36) +(def-joint-node plant-boss-main-lod0-jg "Reyebrow" 35) +(def-joint-node plant-boss-main-lod0-jg "Reye" 34) +(def-joint-node plant-boss-main-lod0-jg "ReyeStalkMID" 33) +(def-joint-node plant-boss-main-lod0-jg "ReyeStalkBASE" 32) +(def-joint-node plant-boss-main-lod0-jg "Leyebrow" 31) +(def-joint-node plant-boss-main-lod0-jg "Leye" 30) +(def-joint-node plant-boss-main-lod0-jg "head" 13) +(def-joint-node plant-boss-main-lod0-jg "neckI" 12) +(def-joint-node plant-boss-main-lod0-jg "neckH" 11) +(def-joint-node plant-boss-main-lod0-jg "neckG" 10) +(def-joint-node plant-boss-main-lod0-jg "neckF" 9) +(def-joint-node plant-boss-main-lod0-jg "neckE" 8) +(def-joint-node plant-boss-main-lod0-jg "neckD" 7) +(def-joint-node plant-boss-main-lod0-jg "neckC" 6) +(def-joint-node plant-boss-main-lod0-jg "neckB" 5) +(def-joint-node plant-boss-main-lod0-jg "neckA" 4) +(def-joint-node plant-boss-main-lod0-jg "BASE" 3) +(def-joint-node plant-boss-main-lod0-jg "prejoint" 2) +(def-joint-node plant-boss-main-lod0-jg "align" 1) +(def-joint-node plant-boss-main-lod0-jg "upperJaw" 14) +(def-joint-node plant-boss-main-lod0-jg "LeyeStalkBASE" 15) +(def-joint-node plant-boss-main-lod0-jg "LeyeStalkMID" 16) +(def-joint-node plant-boss-main-lod0-jg "lowerJaw" 17) +(def-joint-node plant-boss-main-lod0-jg "Uleaf" 18) +(def-joint-node plant-boss-main-lod0-jg "UleafMID" 19) +(def-joint-node plant-boss-main-lod0-jg "Lleaf" 20) +(def-joint-node plant-boss-main-lod0-jg "Bleaf" 21) +(def-joint-node plant-boss-main-lod0-jg "BleafMID" 22) +(def-joint-node plant-boss-main-lod0-jg "Rleaf" 23) +(def-joint-node plant-boss-main-lod0-jg "eichar" 24) +(def-joint-node plant-boss-main-lod0-jg "frontTentacleBASE" 25) +(def-joint-node plant-boss-main-lod0-jg "frontTentacleMID" 26) +(def-joint-node plant-boss-main-lod0-jg "back" 27) +(def-joint-node plant-boss-main-lod0-jg "camera" 28) +(def-joint-node plant-boss-main-lod0-jg "camera2" 29) + +(def-joint-node lightning-mole-lod0-jg "rightEAR2" 36) +(def-joint-node lightning-mole-lod0-jg "rightEAR1" 35) +(def-joint-node lightning-mole-lod0-jg "leftEAR2" 34) +(def-joint-node lightning-mole-lod0-jg "leftEAR1" 33) +(def-joint-node lightning-mole-lod0-jg "Rball" 32) +(def-joint-node lightning-mole-lod0-jg "Rankle" 31) +(def-joint-node lightning-mole-lod0-jg "Rcalf" 30) +(def-joint-node lightning-mole-lod0-jg "Relbow" 13) +(def-joint-node lightning-mole-lod0-jg "Rshoulder" 12) +(def-joint-node lightning-mole-lod0-jg "LfrontToe" 11) +(def-joint-node lightning-mole-lod0-jg "LfrontBall" 10) +(def-joint-node lightning-mole-lod0-jg "LfrontPaw" 9) +(def-joint-node lightning-mole-lod0-jg "Lelbow" 8) +(def-joint-node lightning-mole-lod0-jg "Lshoulder" 7) +(def-joint-node lightning-mole-lod0-jg "head" 6) +(def-joint-node lightning-mole-lod0-jg "neck" 5) +(def-joint-node lightning-mole-lod0-jg "chest" 4) +(def-joint-node lightning-mole-lod0-jg "main" 3) +(def-joint-node lightning-mole-lod0-jg "prejoint" 2) +(def-joint-node lightning-mole-lod0-jg "align" 1) +(def-joint-node lightning-mole-lod0-jg "RfrontPaw" 14) +(def-joint-node lightning-mole-lod0-jg "RfrontBall" 15) +(def-joint-node lightning-mole-lod0-jg "RfrontToe" 16) +(def-joint-node lightning-mole-lod0-jg "loSpine" 17) +(def-joint-node lightning-mole-lod0-jg "hips" 18) +(def-joint-node lightning-mole-lod0-jg "Lthigh" 19) +(def-joint-node lightning-mole-lod0-jg "Lknee" 20) +(def-joint-node lightning-mole-lod0-jg "Lcalf" 21) +(def-joint-node lightning-mole-lod0-jg "Lankle" 22) +(def-joint-node lightning-mole-lod0-jg "Lball" 23) +(def-joint-node lightning-mole-lod0-jg "tail1" 24) +(def-joint-node lightning-mole-lod0-jg "tail2" 25) +(def-joint-node lightning-mole-lod0-jg "tail3" 26) +(def-joint-node lightning-mole-lod0-jg "tail4" 27) +(def-joint-node lightning-mole-lod0-jg "Rthigh" 28) +(def-joint-node lightning-mole-lod0-jg "Rknee" 29) + +(def-joint-node chainmine-lod0-jg "mine" 6) +(def-joint-node chainmine-lod0-jg "chainB" 5) +(def-joint-node chainmine-lod0-jg "chainA" 4) +(def-joint-node chainmine-lod0-jg "main" 3) +(def-joint-node chainmine-lod0-jg "prejoint" 2) +(def-joint-node chainmine-lod0-jg "align" 1) + +(def-joint-node beachcam-lod0-jg "camera" 4) +(def-joint-node beachcam-lod0-jg "beachcam" 3) +(def-joint-node beachcam-lod0-jg "prejoint" 2) +(def-joint-node beachcam-lod0-jg "align" 1) + +(def-joint-node village-cam-lod0-jg "camera" 4) +(def-joint-node village-cam-lod0-jg "beachcam" 3) +(def-joint-node village-cam-lod0-jg "prejoint" 2) +(def-joint-node village-cam-lod0-jg "align" 1) + +(def-joint-node bladeassm-lod0-jg "master" 3) +(def-joint-node bladeassm-lod0-jg "prejoint" 2) +(def-joint-node bladeassm-lod0-jg "align" 1) + +(def-joint-node seaweed-lod0-jg "9" 11) +(def-joint-node seaweed-lod0-jg "8" 10) +(def-joint-node seaweed-lod0-jg "7" 9) +(def-joint-node seaweed-lod0-jg "6" 8) +(def-joint-node seaweed-lod0-jg "5" 7) +(def-joint-node seaweed-lod0-jg "4" 6) +(def-joint-node seaweed-lod0-jg "3" 5) +(def-joint-node seaweed-lod0-jg "2" 4) +(def-joint-node seaweed-lod0-jg "1" 3) +(def-joint-node seaweed-lod0-jg "prejoint" 2) +(def-joint-node seaweed-lod0-jg "align" 1) + +(def-joint-node rolling-start-broken-lod0-jg "banner5" 9) +(def-joint-node rolling-start-broken-lod0-jg "banner3" 8) +(def-joint-node rolling-start-broken-lod0-jg "banner6" 7) +(def-joint-node rolling-start-broken-lod0-jg "banner2" 6) +(def-joint-node rolling-start-broken-lod0-jg "banner7" 5) +(def-joint-node rolling-start-broken-lod0-jg "banner1" 4) +(def-joint-node rolling-start-broken-lod0-jg "main" 3) +(def-joint-node rolling-start-broken-lod0-jg "prejoint" 2) +(def-joint-node rolling-start-broken-lod0-jg "align" 1) + +(def-joint-node ropebridge-70-lod0-jg "tail" 39) +(def-joint-node ropebridge-70-lod0-jg "board35" 38) +(def-joint-node ropebridge-70-lod0-jg "board34" 37) +(def-joint-node ropebridge-70-lod0-jg "board33" 36) +(def-joint-node ropebridge-70-lod0-jg "board32" 35) +(def-joint-node ropebridge-70-lod0-jg "board31" 34) +(def-joint-node ropebridge-70-lod0-jg "board30" 33) +(def-joint-node ropebridge-70-lod0-jg "board29" 32) +(def-joint-node ropebridge-70-lod0-jg "board28" 31) +(def-joint-node ropebridge-70-lod0-jg "board27" 30) +(def-joint-node ropebridge-70-lod0-jg "board10" 13) +(def-joint-node ropebridge-70-lod0-jg "board9" 12) +(def-joint-node ropebridge-70-lod0-jg "board8" 11) +(def-joint-node ropebridge-70-lod0-jg "board7" 10) +(def-joint-node ropebridge-70-lod0-jg "board6" 9) +(def-joint-node ropebridge-70-lod0-jg "board5" 8) +(def-joint-node ropebridge-70-lod0-jg "board4" 7) +(def-joint-node ropebridge-70-lod0-jg "board3" 6) +(def-joint-node ropebridge-70-lod0-jg "board2" 5) +(def-joint-node ropebridge-70-lod0-jg "board" 4) +(def-joint-node ropebridge-70-lod0-jg "head" 3) +(def-joint-node ropebridge-70-lod0-jg "prejoint" 2) +(def-joint-node ropebridge-70-lod0-jg "align" 1) +(def-joint-node ropebridge-70-lod0-jg "board11" 14) +(def-joint-node ropebridge-70-lod0-jg "board12" 15) +(def-joint-node ropebridge-70-lod0-jg "board13" 16) +(def-joint-node ropebridge-70-lod0-jg "board14" 17) +(def-joint-node ropebridge-70-lod0-jg "board15" 18) +(def-joint-node ropebridge-70-lod0-jg "board16" 19) +(def-joint-node ropebridge-70-lod0-jg "board17" 20) +(def-joint-node ropebridge-70-lod0-jg "board18" 21) +(def-joint-node ropebridge-70-lod0-jg "board19" 22) +(def-joint-node ropebridge-70-lod0-jg "board20" 23) +(def-joint-node ropebridge-70-lod0-jg "board21" 24) +(def-joint-node ropebridge-70-lod0-jg "board22" 25) +(def-joint-node ropebridge-70-lod0-jg "board23" 26) +(def-joint-node ropebridge-70-lod0-jg "board24" 27) +(def-joint-node ropebridge-70-lod0-jg "board25" 28) +(def-joint-node ropebridge-70-lod0-jg "board26" 29) + +(def-joint-node swamp-tetherrock-lod0-jg "camera" 5) +(def-joint-node swamp-tetherrock-lod0-jg "roperock" 4) +(def-joint-node swamp-tetherrock-lod0-jg "rock" 3) +(def-joint-node swamp-tetherrock-lod0-jg "prejoint" 2) +(def-joint-node swamp-tetherrock-lod0-jg "align" 1) + +(def-joint-node medres-village2-lod0-jg "boneless" 3) +(def-joint-node medres-village2-lod0-jg "prejoint" 2) +(def-joint-node medres-village2-lod0-jg "align" 1) + +(def-joint-node precurbridge-geo-jg "walksec_8" 19) +(def-joint-node precurbridge-geo-jg "egg_8" 18) +(def-joint-node precurbridge-geo-jg "walksec_7" 17) +(def-joint-node precurbridge-geo-jg "egg_7" 16) +(def-joint-node precurbridge-geo-jg "walksec_6" 15) +(def-joint-node precurbridge-geo-jg "egg_6" 14) +(def-joint-node precurbridge-geo-jg "align" 1) +(def-joint-node precurbridge-geo-jg "prejoint" 2) +(def-joint-node precurbridge-geo-jg "main" 3) +(def-joint-node precurbridge-geo-jg "egg_1" 4) +(def-joint-node precurbridge-geo-jg "walksec_1" 5) +(def-joint-node precurbridge-geo-jg "egg_2" 6) +(def-joint-node precurbridge-geo-jg "walksec_2" 7) +(def-joint-node precurbridge-geo-jg "egg_3" 8) +(def-joint-node precurbridge-geo-jg "walksec_3" 9) +(def-joint-node precurbridge-geo-jg "egg_4" 10) +(def-joint-node precurbridge-geo-jg "walksec_4" 11) +(def-joint-node precurbridge-geo-jg "egg_5" 12) +(def-joint-node precurbridge-geo-jg "walksec_5" 13) + +(def-joint-node ogre-step-d-lod0-jg "step5" 3) +(def-joint-node ogre-step-d-lod0-jg "prejoint" 2) +(def-joint-node ogre-step-d-lod0-jg "align" 1) + +(def-joint-node warpgate-lod0-jg "camera" 4) +(def-joint-node warpgate-lod0-jg "beachcam" 3) +(def-joint-node warpgate-lod0-jg "prejoint" 2) +(def-joint-node warpgate-lod0-jg "align" 1) + +(def-joint-node citb-robotboss-leftarm-lod0-jg "main" 3) +(def-joint-node citb-robotboss-leftarm-lod0-jg "prejoint" 2) +(def-joint-node citb-robotboss-leftarm-lod0-jg "align" 1) + +(def-joint-node swamp-rat-nest-c-lod0-jg "mid" 10) +(def-joint-node swamp-rat-nest-c-lod0-jg "top_right" 9) +(def-joint-node swamp-rat-nest-c-lod0-jg "top_mid" 8) +(def-joint-node swamp-rat-nest-c-lod0-jg "top_left" 7) +(def-joint-node swamp-rat-nest-c-lod0-jg "back" 6) +(def-joint-node swamp-rat-nest-c-lod0-jg "bot" 5) +(def-joint-node swamp-rat-nest-c-lod0-jg "spine2" 4) +(def-joint-node swamp-rat-nest-c-lod0-jg "spine1" 3) +(def-joint-node swamp-rat-nest-c-lod0-jg "prejoint" 2) +(def-joint-node swamp-rat-nest-c-lod0-jg "align" 1) + +(def-joint-node logtrap-lod0-jg "log" 6) +(def-joint-node logtrap-lod0-jg "ropeknot" 5) +(def-joint-node logtrap-lod0-jg "logmid" 4) +(def-joint-node logtrap-lod0-jg "logtop" 3) +(def-joint-node logtrap-lod0-jg "prejoint" 2) +(def-joint-node logtrap-lod0-jg "align" 1) + +(def-joint-node sidedoor-geo-jg "door6" 9) +(def-joint-node sidedoor-geo-jg "door5" 8) +(def-joint-node sidedoor-geo-jg "door4" 7) +(def-joint-node sidedoor-geo-jg "door3" 6) +(def-joint-node sidedoor-geo-jg "door2" 5) +(def-joint-node sidedoor-geo-jg "door1" 4) +(def-joint-node sidedoor-geo-jg "main" 3) +(def-joint-node sidedoor-geo-jg "prejoint" 2) +(def-joint-node sidedoor-geo-jg "align" 1) + +(def-joint-node babak-lod0-jg "RmiddleC" 47) +(def-joint-node babak-lod0-jg "RindexC" 46) +(def-joint-node babak-lod0-jg "RthumbC" 45) +(def-joint-node babak-lod0-jg "LmiddleC" 44) +(def-joint-node babak-lod0-jg "LindexC" 43) +(def-joint-node babak-lod0-jg "LthumbC" 42) +(def-joint-node babak-lod0-jg "Lleghair" 41) +(def-joint-node babak-lod0-jg "backhair" 40) +(def-joint-node babak-lod0-jg "RmiddleB" 39) +(def-joint-node babak-lod0-jg "RmiddleA" 38) +(def-joint-node babak-lod0-jg "RindexB" 37) +(def-joint-node babak-lod0-jg "RindexA" 36) +(def-joint-node babak-lod0-jg "RthumbB" 35) +(def-joint-node babak-lod0-jg "RthumbA" 34) +(def-joint-node babak-lod0-jg "Larmhair" 33) +(def-joint-node babak-lod0-jg "LmiddleB" 32) +(def-joint-node babak-lod0-jg "LmiddleA" 31) +(def-joint-node babak-lod0-jg "LindexB" 30) +(def-joint-node babak-lod0-jg "Rhand" 13) +(def-joint-node babak-lod0-jg "Relbow" 12) +(def-joint-node babak-lod0-jg "Rshoulder" 11) +(def-joint-node babak-lod0-jg "Lhand" 10) +(def-joint-node babak-lod0-jg "Lelbow" 9) +(def-joint-node babak-lod0-jg "Lshoulder" 8) +(def-joint-node babak-lod0-jg "jaw" 7) +(def-joint-node babak-lod0-jg "head" 6) +(def-joint-node babak-lod0-jg "neck" 5) +(def-joint-node babak-lod0-jg "chest" 4) +(def-joint-node babak-lod0-jg "main" 3) +(def-joint-node babak-lod0-jg "prejoint" 2) +(def-joint-node babak-lod0-jg "align" 1) +(def-joint-node babak-lod0-jg "Rarmhair" 14) +(def-joint-node babak-lod0-jg "hips" 15) +(def-joint-node babak-lod0-jg "Lthigh" 16) +(def-joint-node babak-lod0-jg "Lknee" 17) +(def-joint-node babak-lod0-jg "Lankle" 18) +(def-joint-node babak-lod0-jg "Lball" 19) +(def-joint-node babak-lod0-jg "Rthigh" 20) +(def-joint-node babak-lod0-jg "Rknee" 21) +(def-joint-node babak-lod0-jg "Rankle" 22) +(def-joint-node babak-lod0-jg "Rball" 23) +(def-joint-node babak-lod0-jg "Rleghair" 24) +(def-joint-node babak-lod0-jg "headhair" 25) +(def-joint-node babak-lod0-jg "frontring" 26) +(def-joint-node babak-lod0-jg "LthumbA" 27) +(def-joint-node babak-lod0-jg "LthumbB" 28) +(def-joint-node babak-lod0-jg "LindexA" 29) + +(def-joint-node mother-spider-leg-lod0-jg "lmidlegB" 4) +(def-joint-node mother-spider-leg-lod0-jg "lmidlegA" 3) +(def-joint-node mother-spider-leg-lod0-jg "prejoint" 2) +(def-joint-node mother-spider-leg-lod0-jg "align" 1) + +(def-joint-node villa-starfish-lod0-jg "bod" 4) +(def-joint-node villa-starfish-lod0-jg "main" 3) +(def-joint-node villa-starfish-lod0-jg "prejoint" 2) +(def-joint-node villa-starfish-lod0-jg "align" 1) + +(def-joint-node logo-volumes-japan-lod0-jg "wall39" 51) +(def-joint-node logo-volumes-japan-lod0-jg "wall38" 50) +(def-joint-node logo-volumes-japan-lod0-jg "wall37" 49) +(def-joint-node logo-volumes-japan-lod0-jg "wall36" 48) +(def-joint-node logo-volumes-japan-lod0-jg "wall35" 47) +(def-joint-node logo-volumes-japan-lod0-jg "wall34" 46) +(def-joint-node logo-volumes-japan-lod0-jg "wall33" 45) +(def-joint-node logo-volumes-japan-lod0-jg "wall32" 44) +(def-joint-node logo-volumes-japan-lod0-jg "wall31" 43) +(def-joint-node logo-volumes-japan-lod0-jg "wall30" 42) +(def-joint-node logo-volumes-japan-lod0-jg "wall29" 41) +(def-joint-node logo-volumes-japan-lod0-jg "wall27" 40) +(def-joint-node logo-volumes-japan-lod0-jg "wall26" 39) +(def-joint-node logo-volumes-japan-lod0-jg "wall25" 38) +(def-joint-node logo-volumes-japan-lod0-jg "wall24" 37) +(def-joint-node logo-volumes-japan-lod0-jg "wall23" 36) +(def-joint-node logo-volumes-japan-lod0-jg "wall22" 35) +(def-joint-node logo-volumes-japan-lod0-jg "wall21" 34) +(def-joint-node logo-volumes-japan-lod0-jg "wall20" 33) +(def-joint-node logo-volumes-japan-lod0-jg "wall19" 32) +(def-joint-node logo-volumes-japan-lod0-jg "wall18" 31) +(def-joint-node logo-volumes-japan-lod0-jg "wall17" 30) +(def-joint-node logo-volumes-japan-lod0-jg "text" 13) +(def-joint-node logo-volumes-japan-lod0-jg "jd" 12) +(def-joint-node logo-volumes-japan-lod0-jg "camera" 11) +(def-joint-node logo-volumes-japan-lod0-jg "volume4" 10) +(def-joint-node logo-volumes-japan-lod0-jg "volume3" 9) +(def-joint-node logo-volumes-japan-lod0-jg "volume2" 8) +(def-joint-node logo-volumes-japan-lod0-jg "volume1" 7) +(def-joint-node logo-volumes-japan-lod0-jg "volume" 6) +(def-joint-node logo-volumes-japan-lod0-jg "volumeBase" 5) +(def-joint-node logo-volumes-japan-lod0-jg "lensflare" 4) +(def-joint-node logo-volumes-japan-lod0-jg "main" 3) +(def-joint-node logo-volumes-japan-lod0-jg "prejoint" 2) +(def-joint-node logo-volumes-japan-lod0-jg "align" 1) +(def-joint-node logo-volumes-japan-lod0-jg "wall1" 14) +(def-joint-node logo-volumes-japan-lod0-jg "wall2" 15) +(def-joint-node logo-volumes-japan-lod0-jg "wall3" 16) +(def-joint-node logo-volumes-japan-lod0-jg "wall4" 17) +(def-joint-node logo-volumes-japan-lod0-jg "wall5" 18) +(def-joint-node logo-volumes-japan-lod0-jg "wall6" 19) +(def-joint-node logo-volumes-japan-lod0-jg "wall7" 20) +(def-joint-node logo-volumes-japan-lod0-jg "wall8" 21) +(def-joint-node logo-volumes-japan-lod0-jg "wall9" 22) +(def-joint-node logo-volumes-japan-lod0-jg "wall10" 23) +(def-joint-node logo-volumes-japan-lod0-jg "wall11" 24) +(def-joint-node logo-volumes-japan-lod0-jg "wall12" 25) +(def-joint-node logo-volumes-japan-lod0-jg "wall13" 26) +(def-joint-node logo-volumes-japan-lod0-jg "wall14" 27) +(def-joint-node logo-volumes-japan-lod0-jg "wall15" 28) +(def-joint-node logo-volumes-japan-lod0-jg "wall16" 29) + +(def-joint-node maincavecam-lod0-jg "camera" 4) +(def-joint-node maincavecam-lod0-jg "cavecam" 3) +(def-joint-node maincavecam-lod0-jg "prejoint" 2) +(def-joint-node maincavecam-lod0-jg "align" 1) + +(def-joint-node citb-coil-lod0-jg "four" 7) +(def-joint-node citb-coil-lod0-jg "three" 6) +(def-joint-node citb-coil-lod0-jg "two" 5) +(def-joint-node citb-coil-lod0-jg "one" 4) +(def-joint-node citb-coil-lod0-jg "main_" 3) +(def-joint-node citb-coil-lod0-jg "prejoint" 2) +(def-joint-node citb-coil-lod0-jg "align" 1) + +(def-joint-node citb-robotboss-lod0-jg "main" 3) +(def-joint-node citb-robotboss-lod0-jg "prejoint" 2) +(def-joint-node citb-robotboss-lod0-jg "align" 1) + +(def-joint-node light-eco-big-lod0-jg "6" 9) +(def-joint-node light-eco-big-lod0-jg "5" 8) +(def-joint-node light-eco-big-lod0-jg "4" 7) +(def-joint-node light-eco-big-lod0-jg "3" 6) +(def-joint-node light-eco-big-lod0-jg "2" 5) +(def-joint-node light-eco-big-lod0-jg "1" 4) +(def-joint-node light-eco-big-lod0-jg "main" 3) +(def-joint-node light-eco-big-lod0-jg "prejoint" 2) +(def-joint-node light-eco-big-lod0-jg "align" 1) + +(def-joint-node citb-robotboss-gun-lod0-jg "main" 3) +(def-joint-node citb-robotboss-gun-lod0-jg "prejoint" 2) +(def-joint-node citb-robotboss-gun-lod0-jg "align" 1) + +(def-joint-node mother-spider-lod0-jg "hair" 29) +(def-joint-node mother-spider-lod0-jg "ring" 28) +(def-joint-node mother-spider-lod0-jg "webStart" 27) +(def-joint-node mother-spider-lod0-jg "webA" 26) +(def-joint-node mother-spider-lod0-jg "webB" 25) +(def-joint-node mother-spider-lod0-jg "webC" 24) +(def-joint-node mother-spider-lod0-jg "webD" 23) +(def-joint-node mother-spider-lod0-jg "webE" 22) +(def-joint-node mother-spider-lod0-jg "jaw" 21) +(def-joint-node mother-spider-lod0-jg "head" 20) +(def-joint-node mother-spider-lod0-jg "neck" 19) +(def-joint-node mother-spider-lod0-jg "rfrontlegB" 18) +(def-joint-node mother-spider-lod0-jg "rfrontlegA" 17) +(def-joint-node mother-spider-lod0-jg "rmidlegB" 16) +(def-joint-node mother-spider-lod0-jg "rmidlegA" 15) +(def-joint-node mother-spider-lod0-jg "rrearlegB" 14) +(def-joint-node mother-spider-lod0-jg "align" 1) +(def-joint-node mother-spider-lod0-jg "prejoint" 2) +(def-joint-node mother-spider-lod0-jg "webF" 3) +(def-joint-node mother-spider-lod0-jg "bodC" 4) +(def-joint-node mother-spider-lod0-jg "bodB" 5) +(def-joint-node mother-spider-lod0-jg "bodA" 6) +(def-joint-node mother-spider-lod0-jg "lrearlegA" 7) +(def-joint-node mother-spider-lod0-jg "lrearlegB" 8) +(def-joint-node mother-spider-lod0-jg "lmidlegA" 9) +(def-joint-node mother-spider-lod0-jg "lmidlegB" 10) +(def-joint-node mother-spider-lod0-jg "lfrontlegA" 11) +(def-joint-node mother-spider-lod0-jg "lfrontlegB" 12) +(def-joint-node mother-spider-lod0-jg "rrearlegA" 13) + +(def-joint-node pelican-lod0-jg "lBall" 32) +(def-joint-node pelican-lod0-jg "rBall" 31) +(def-joint-node pelican-lod0-jg "neckFur" 30) +(def-joint-node pelican-lod0-jg "jaw" 13) +(def-joint-node pelican-lod0-jg "head" 12) +(def-joint-node pelican-lod0-jg "neckD" 11) +(def-joint-node pelican-lod0-jg "neckB" 10) +(def-joint-node pelican-lod0-jg "neckA" 9) +(def-joint-node pelican-lod0-jg "chest" 8) +(def-joint-node pelican-lod0-jg "tailEnd" 7) +(def-joint-node pelican-lod0-jg "tailB" 6) +(def-joint-node pelican-lod0-jg "tailA" 5) +(def-joint-node pelican-lod0-jg "hips" 4) +(def-joint-node pelican-lod0-jg "main" 3) +(def-joint-node pelican-lod0-jg "prejoint" 2) +(def-joint-node pelican-lod0-jg "align" 1) +(def-joint-node pelican-lod0-jg "jawEnd" 14) +(def-joint-node pelican-lod0-jg "lShoulder" 15) +(def-joint-node pelican-lod0-jg "lElbow" 16) +(def-joint-node pelican-lod0-jg "lHand" 17) +(def-joint-node pelican-lod0-jg "lHandEnd" 18) +(def-joint-node pelican-lod0-jg "rShoulder" 19) +(def-joint-node pelican-lod0-jg "rElbow" 20) +(def-joint-node pelican-lod0-jg "rHand" 21) +(def-joint-node pelican-lod0-jg "rHandEnd" 22) +(def-joint-node pelican-lod0-jg "rThigh" 23) +(def-joint-node pelican-lod0-jg "rKnee" 24) +(def-joint-node pelican-lod0-jg "rAnkle" 25) +(def-joint-node pelican-lod0-jg "lThigh" 26) +(def-joint-node pelican-lod0-jg "lKnee" 27) +(def-joint-node pelican-lod0-jg "lAnkle" 28) +(def-joint-node pelican-lod0-jg "hair" 29) + +(def-joint-node bully-broken-cage-lod0-jg "backspike" 12) +(def-joint-node bully-broken-cage-lod0-jg "frontsupport" 11) +(def-joint-node bully-broken-cage-lod0-jg "rsupport" 10) +(def-joint-node bully-broken-cage-lod0-jg "backsupport" 9) +(def-joint-node bully-broken-cage-lod0-jg "lsupport" 8) +(def-joint-node bully-broken-cage-lod0-jg "lspike" 7) +(def-joint-node bully-broken-cage-lod0-jg "frontspike" 6) +(def-joint-node bully-broken-cage-lod0-jg "front" 5) +(def-joint-node bully-broken-cage-lod0-jg "rfront" 4) +(def-joint-node bully-broken-cage-lod0-jg "back" 3) +(def-joint-node bully-broken-cage-lod0-jg "prejoint" 2) +(def-joint-node bully-broken-cage-lod0-jg "align" 1) + +(def-joint-node citb-generator-broken-lod0-jg "boneless" 3) +(def-joint-node citb-generator-broken-lod0-jg "prejoint" 2) +(def-joint-node citb-generator-broken-lod0-jg "align" 1) + +(def-joint-node buzzer-lod0-jg "wings" 15) +(def-joint-node buzzer-lod0-jg "rLegs" 14) +(def-joint-node buzzer-lod0-jg "align" 1) +(def-joint-node buzzer-lod0-jg "prejoint" 2) +(def-joint-node buzzer-lod0-jg "main" 3) +(def-joint-node buzzer-lod0-jg "head" 4) +(def-joint-node buzzer-lod0-jg "lANT1" 5) +(def-joint-node buzzer-lod0-jg "lANT2" 6) +(def-joint-node buzzer-lod0-jg "rANT1" 7) +(def-joint-node buzzer-lod0-jg "rANT2" 8) +(def-joint-node buzzer-lod0-jg "rLens" 9) +(def-joint-node buzzer-lod0-jg "focus" 10) +(def-joint-node buzzer-lod0-jg "lLens" 11) +(def-joint-node buzzer-lod0-jg "lower" 12) +(def-joint-node buzzer-lod0-jg "lLegs" 13) + +(def-joint-node citb-arm-shoulder-a-lod0-jg "center_" 4) +(def-joint-node citb-arm-shoulder-a-lod0-jg "boneless" 3) +(def-joint-node citb-arm-shoulder-a-lod0-jg "prejoint" 2) +(def-joint-node citb-arm-shoulder-a-lod0-jg "align" 1) + +(def-joint-node jaws-lod0-jg "topjaw" 6) +(def-joint-node jaws-lod0-jg "botjaw" 5) +(def-joint-node jaws-lod0-jg "tail" 4) +(def-joint-node jaws-lod0-jg "main" 3) +(def-joint-node jaws-lod0-jg "prejoint" 2) +(def-joint-node jaws-lod0-jg "align" 1) + +(def-joint-node pusher-lod0-jg "pusherfront" 4) +(def-joint-node pusher-lod0-jg "pusher" 3) +(def-joint-node pusher-lod0-jg "prejoint" 2) +(def-joint-node pusher-lod0-jg "align" 1) + +(def-joint-node racer-explode-lod0-jg "16" 18) +(def-joint-node racer-explode-lod0-jg "15" 17) +(def-joint-node racer-explode-lod0-jg "14" 16) +(def-joint-node racer-explode-lod0-jg "13" 15) +(def-joint-node racer-explode-lod0-jg "12" 14) +(def-joint-node racer-explode-lod0-jg "align" 1) +(def-joint-node racer-explode-lod0-jg "prejoint" 2) +(def-joint-node racer-explode-lod0-jg "1" 3) +(def-joint-node racer-explode-lod0-jg "2" 4) +(def-joint-node racer-explode-lod0-jg "3" 5) +(def-joint-node racer-explode-lod0-jg "4" 6) +(def-joint-node racer-explode-lod0-jg "5" 7) +(def-joint-node racer-explode-lod0-jg "6" 8) +(def-joint-node racer-explode-lod0-jg "7" 9) +(def-joint-node racer-explode-lod0-jg "8" 10) +(def-joint-node racer-explode-lod0-jg "9" 11) +(def-joint-node racer-explode-lod0-jg "10" 12) +(def-joint-node racer-explode-lod0-jg "11" 13) + +(def-joint-node medres-village11-lod0-jg "windmill" 4) +(def-joint-node medres-village11-lod0-jg "main" 3) +(def-joint-node medres-village11-lod0-jg "prejoint" 2) +(def-joint-node medres-village11-lod0-jg "align" 1) + +(def-joint-node blue-eco-charger-orb-lod0-jg "boneless" 3) +(def-joint-node blue-eco-charger-orb-lod0-jg "prejoint" 2) +(def-joint-node blue-eco-charger-orb-lod0-jg "align" 1) + +(def-joint-node evilsis-citadel-lod0-jg "RringB" 75) +(def-joint-node evilsis-citadel-lod0-jg "RringA" 74) +(def-joint-node evilsis-citadel-lod0-jg "RmiddleB" 73) +(def-joint-node evilsis-citadel-lod0-jg "RmiddleA" 72) +(def-joint-node evilsis-citadel-lod0-jg "LringB" 71) +(def-joint-node evilsis-citadel-lod0-jg "LringA" 70) +(def-joint-node evilsis-citadel-lod0-jg "LmiddleB" 69) +(def-joint-node evilsis-citadel-lod0-jg "LmiddleA" 68) +(def-joint-node evilsis-citadel-lod0-jg "backhair_r5" 67) +(def-joint-node evilsis-citadel-lod0-jg "backhair_l5" 66) +(def-joint-node evilsis-citadel-lod0-jg "backhair_l4" 65) +(def-joint-node evilsis-citadel-lod0-jg "backhair_l3" 64) +(def-joint-node evilsis-citadel-lod0-jg "ponytail7" 63) +(def-joint-node evilsis-citadel-lod0-jg "ponytail6" 62) +(def-joint-node evilsis-citadel-lod0-jg "ponytail5" 61) +(def-joint-node evilsis-citadel-lod0-jg "ponytail4" 60) +(def-joint-node evilsis-citadel-lod0-jg "LpinkyB" 29) +(def-joint-node evilsis-citadel-lod0-jg "LpinkyA" 28) +(def-joint-node evilsis-citadel-lod0-jg "LindexB" 27) +(def-joint-node evilsis-citadel-lod0-jg "LindexA" 26) +(def-joint-node evilsis-citadel-lod0-jg "LthumbB" 25) +(def-joint-node evilsis-citadel-lod0-jg "LthumbA" 24) +(def-joint-node evilsis-citadel-lod0-jg "Lhand" 23) +(def-joint-node evilsis-citadel-lod0-jg "Lelbow" 22) +(def-joint-node evilsis-citadel-lod0-jg "Lshoulder" 21) +(def-joint-node evilsis-citadel-lod0-jg "backhair_r4" 20) +(def-joint-node evilsis-citadel-lod0-jg "backhair_r3" 19) +(def-joint-node evilsis-citadel-lod0-jg "backhair_r2" 18) +(def-joint-node evilsis-citadel-lod0-jg "backhair_r1" 17) +(def-joint-node evilsis-citadel-lod0-jg "backhair_l2" 16) +(def-joint-node evilsis-citadel-lod0-jg "backhair_l1" 15) +(def-joint-node evilsis-citadel-lod0-jg "backhair5" 14) +(def-joint-node evilsis-citadel-lod0-jg "align" 1) +(def-joint-node evilsis-citadel-lod0-jg "prejoint" 2) +(def-joint-node evilsis-citadel-lod0-jg "main" 3) +(def-joint-node evilsis-citadel-lod0-jg "chest" 4) +(def-joint-node evilsis-citadel-lod0-jg "neck" 5) +(def-joint-node evilsis-citadel-lod0-jg "head" 6) +(def-joint-node evilsis-citadel-lod0-jg "hairbase" 7) +(def-joint-node evilsis-citadel-lod0-jg "ponytail1" 8) +(def-joint-node evilsis-citadel-lod0-jg "ponytail2" 9) +(def-joint-node evilsis-citadel-lod0-jg "backhair1" 10) +(def-joint-node evilsis-citadel-lod0-jg "backhair2" 11) +(def-joint-node evilsis-citadel-lod0-jg "backhair3" 12) +(def-joint-node evilsis-citadel-lod0-jg "backhair4" 13) +(def-joint-node evilsis-citadel-lod0-jg "Rshoulder" 30) +(def-joint-node evilsis-citadel-lod0-jg "Relbow" 31) +(def-joint-node evilsis-citadel-lod0-jg "Rhand" 32) +(def-joint-node evilsis-citadel-lod0-jg "RthumbA" 33) +(def-joint-node evilsis-citadel-lod0-jg "RthumbB" 34) +(def-joint-node evilsis-citadel-lod0-jg "RindexA" 35) +(def-joint-node evilsis-citadel-lod0-jg "RindexB" 36) +(def-joint-node evilsis-citadel-lod0-jg "RpinkyA" 37) +(def-joint-node evilsis-citadel-lod0-jg "RpinkyB" 38) +(def-joint-node evilsis-citadel-lod0-jg "lbood" 39) +(def-joint-node evilsis-citadel-lod0-jg "rboob" 40) +(def-joint-node evilsis-citadel-lod0-jg "hips" 41) +(def-joint-node evilsis-citadel-lod0-jg "Lthigh" 42) +(def-joint-node evilsis-citadel-lod0-jg "Lknee" 43) +(def-joint-node evilsis-citadel-lod0-jg "Lankle" 44) +(def-joint-node evilsis-citadel-lod0-jg "Lball" 45) +(def-joint-node evilsis-citadel-lod0-jg "Rthigh" 46) +(def-joint-node evilsis-citadel-lod0-jg "Rknee" 47) +(def-joint-node evilsis-citadel-lod0-jg "Rankle" 48) +(def-joint-node evilsis-citadel-lod0-jg "Rball" 49) +(def-joint-node evilsis-citadel-lod0-jg "camera" 50) +(def-joint-node evilsis-citadel-lod0-jg "l_ear1" 51) +(def-joint-node evilsis-citadel-lod0-jg "l_ear2" 52) +(def-joint-node evilsis-citadel-lod0-jg "r_ear1" 53) +(def-joint-node evilsis-citadel-lod0-jg "r_ear2" 54) +(def-joint-node evilsis-citadel-lod0-jg "l_flap1" 55) +(def-joint-node evilsis-citadel-lod0-jg "l_flap2" 56) +(def-joint-node evilsis-citadel-lod0-jg "r_flap1" 57) +(def-joint-node evilsis-citadel-lod0-jg "r_flap2" 58) +(def-joint-node evilsis-citadel-lod0-jg "ponytail3" 59) + +(def-joint-node qbert-plat-lod0-jg "boneless" 3) +(def-joint-node qbert-plat-lod0-jg "prejoint" 2) +(def-joint-node qbert-plat-lod0-jg "align" 1) + +(def-joint-node finalbosscam-lod0-jg "camera" 4) +(def-joint-node finalbosscam-lod0-jg "beachcam" 3) +(def-joint-node finalbosscam-lod0-jg "prejoint" 2) +(def-joint-node finalbosscam-lod0-jg "align" 1) + +(def-joint-node crate-wood-lod0-jg "crate" 3) +(def-joint-node crate-wood-lod0-jg "prejoint" 2) +(def-joint-node crate-wood-lod0-jg "align" 1) + +(def-joint-node medres-snow-lod0-jg "boneless" 3) +(def-joint-node medres-snow-lod0-jg "prejoint" 2) +(def-joint-node medres-snow-lod0-jg "align" 1) + +(def-joint-node crate-bucket-lod0-jg "bucket" 3) +(def-joint-node crate-bucket-lod0-jg "prejoint" 2) +(def-joint-node crate-bucket-lod0-jg "align" 1) + +(def-joint-node money-lod0-jg "egg" 3) +(def-joint-node money-lod0-jg "prejoint" 2) +(def-joint-node money-lod0-jg "align" 1) + +(def-joint-node minershort-lod0-jg "rStrapBot" 65) +(def-joint-node minershort-lod0-jg "lStrapBot" 64) +(def-joint-node minershort-lod0-jg "rStrapTop" 63) +(def-joint-node minershort-lod0-jg "lStrapTop" 62) +(def-joint-node minershort-lod0-jg "axe2" 61) +(def-joint-node minershort-lod0-jg "belly" 60) +(def-joint-node minershort-lod0-jg "RthumbA" 29) +(def-joint-node minershort-lod0-jg "Rhand" 28) +(def-joint-node minershort-lod0-jg "Relbow" 27) +(def-joint-node minershort-lod0-jg "Rshoulder" 26) +(def-joint-node minershort-lod0-jg "LpinkyB" 25) +(def-joint-node minershort-lod0-jg "LpinkyA" 24) +(def-joint-node minershort-lod0-jg "LindexB" 23) +(def-joint-node minershort-lod0-jg "LindexA" 22) +(def-joint-node minershort-lod0-jg "LthumbA" 21) +(def-joint-node minershort-lod0-jg "Lhand" 20) +(def-joint-node minershort-lod0-jg "Lelbow" 19) +(def-joint-node minershort-lod0-jg "Lshoulder" 18) +(def-joint-node minershort-lod0-jg "rStash3" 17) +(def-joint-node minershort-lod0-jg "rStash2" 16) +(def-joint-node minershort-lod0-jg "rStash1" 15) +(def-joint-node minershort-lod0-jg "candle" 14) +(def-joint-node minershort-lod0-jg "align" 1) +(def-joint-node minershort-lod0-jg "prejoint" 2) +(def-joint-node minershort-lod0-jg "main" 3) +(def-joint-node minershort-lod0-jg "chest" 4) +(def-joint-node minershort-lod0-jg "neck" 5) +(def-joint-node minershort-lod0-jg "head" 6) +(def-joint-node minershort-lod0-jg "lEar1" 7) +(def-joint-node minershort-lod0-jg "lEar2" 8) +(def-joint-node minershort-lod0-jg "rEar1" 9) +(def-joint-node minershort-lod0-jg "rEar2" 10) +(def-joint-node minershort-lod0-jg "lStash1" 11) +(def-joint-node minershort-lod0-jg "lStash2" 12) +(def-joint-node minershort-lod0-jg "lStash3" 13) +(def-joint-node minershort-lod0-jg "RindexA" 30) +(def-joint-node minershort-lod0-jg "RindexB" 31) +(def-joint-node minershort-lod0-jg "RpinkyA" 32) +(def-joint-node minershort-lod0-jg "RpinkyB" 33) +(def-joint-node minershort-lod0-jg "hips" 34) +(def-joint-node minershort-lod0-jg "Lthigh" 35) +(def-joint-node minershort-lod0-jg "Lknee" 36) +(def-joint-node minershort-lod0-jg "Lankle" 37) +(def-joint-node minershort-lod0-jg "Lball" 38) +(def-joint-node minershort-lod0-jg "Rthigh" 39) +(def-joint-node minershort-lod0-jg "Rknee" 40) +(def-joint-node minershort-lod0-jg "Rankle" 41) +(def-joint-node minershort-lod0-jg "Rball" 42) +(def-joint-node minershort-lod0-jg "lStrapBotRoot" 43) +(def-joint-node minershort-lod0-jg "rStrapBotRoot" 44) +(def-joint-node minershort-lod0-jg "axe1" 45) +(def-joint-node minershort-lod0-jg "camera" 46) +(def-joint-node minershort-lod0-jg "cameraB" 47) +(def-joint-node minershort-lod0-jg "LthumbB" 48) +(def-joint-node minershort-lod0-jg "LthumbC" 49) +(def-joint-node minershort-lod0-jg "LmiddleA" 50) +(def-joint-node minershort-lod0-jg "LmiddleB" 51) +(def-joint-node minershort-lod0-jg "LringA" 52) +(def-joint-node minershort-lod0-jg "LringB" 53) +(def-joint-node minershort-lod0-jg "RthumbB" 54) +(def-joint-node minershort-lod0-jg "RthumbC" 55) +(def-joint-node minershort-lod0-jg "RmiddleA" 56) +(def-joint-node minershort-lod0-jg "RmiddleB" 57) +(def-joint-node minershort-lod0-jg "RringA" 58) +(def-joint-node minershort-lod0-jg "RringB" 59) + +(def-joint-node jak-white-lod0-jg "eyeR" 83) +(def-joint-node jak-white-lod0-jg "eyeL" 82) +(def-joint-node jak-white-lod0-jg "belt" 81) +(def-joint-node jak-white-lod0-jg "pantsLknee" 80) +(def-joint-node jak-white-lod0-jg "pantsLthigh" 79) +(def-joint-node jak-white-lod0-jg "pantsRknee" 78) +(def-joint-node jak-white-lod0-jg "pantsRthigh" 77) +(def-joint-node jak-white-lod0-jg "shirtRthigh" 76) +(def-joint-node jak-white-lod0-jg "shirtLthigh" 75) +(def-joint-node jak-white-lod0-jg "ankleRStrap" 74) +(def-joint-node jak-white-lod0-jg "footRStrap" 73) +(def-joint-node jak-white-lod0-jg "Rtoes" 72) +(def-joint-node jak-white-lod0-jg "RbigToe" 71) +(def-joint-node jak-white-lod0-jg "Rball" 70) +(def-joint-node jak-white-lod0-jg "Rankle" 69) +(def-joint-node jak-white-lod0-jg "Rknee" 68) +(def-joint-node jak-white-lod0-jg "Rthigh" 67) +(def-joint-node jak-white-lod0-jg "ankleLStrap" 66) +(def-joint-node jak-white-lod0-jg "footLStrap" 65) +(def-joint-node jak-white-lod0-jg "Ltoes" 64) +(def-joint-node jak-white-lod0-jg "LbigToe" 63) +(def-joint-node jak-white-lod0-jg "Lball" 62) +(def-joint-node jak-white-lod0-jg "Lankle" 61) +(def-joint-node jak-white-lod0-jg "Lknee" 60) +(def-joint-node jak-white-lod0-jg "lpinkA" 29) +(def-joint-node jak-white-lod0-jg "lringB" 28) +(def-joint-node jak-white-lod0-jg "lringA" 27) +(def-joint-node jak-white-lod0-jg "lmidB" 26) +(def-joint-node jak-white-lod0-jg "lmidA" 25) +(def-joint-node jak-white-lod0-jg "lindB" 24) +(def-joint-node jak-white-lod0-jg "lindA" 23) +(def-joint-node jak-white-lod0-jg "lthumB" 22) +(def-joint-node jak-white-lod0-jg "lthumA" 21) +(def-joint-node jak-white-lod0-jg "sk_lhand" 20) +(def-joint-node jak-white-lod0-jg "Lforarm" 19) +(def-joint-node jak-white-lod0-jg "Larm" 18) +(def-joint-node jak-white-lod0-jg "Lshould" 17) +(def-joint-node jak-white-lod0-jg "browR" 16) +(def-joint-node jak-white-lod0-jg "browL" 15) +(def-joint-node jak-white-lod0-jg "mouth" 14) +(def-joint-node jak-white-lod0-jg "align" 1) +(def-joint-node jak-white-lod0-jg "prejoint" 2) +(def-joint-node jak-white-lod0-jg "main" 3) +(def-joint-node jak-white-lod0-jg "upper_body" 4) +(def-joint-node jak-white-lod0-jg "chest" 5) +(def-joint-node jak-white-lod0-jg "neckA" 6) +(def-joint-node jak-white-lod0-jg "neckB" 7) +(def-joint-node jak-white-lod0-jg "MhairA" 8) +(def-joint-node jak-white-lod0-jg "MhairB" 9) +(def-joint-node jak-white-lod0-jg "Learbase" 10) +(def-joint-node jak-white-lod0-jg "Learmid" 11) +(def-joint-node jak-white-lod0-jg "Rearbase" 12) +(def-joint-node jak-white-lod0-jg "Rearmid" 13) +(def-joint-node jak-white-lod0-jg "lpinkB" 30) +(def-joint-node jak-white-lod0-jg "handLStrapTopTop" 31) +(def-joint-node jak-white-lod0-jg "handLStrapTopMid" 32) +(def-joint-node jak-white-lod0-jg "handLStrapBotTop" 33) +(def-joint-node jak-white-lod0-jg "handLStrapBotMid" 34) +(def-joint-node jak-white-lod0-jg "Rshould" 35) +(def-joint-node jak-white-lod0-jg "Rarm" 36) +(def-joint-node jak-white-lod0-jg "Rforarm" 37) +(def-joint-node jak-white-lod0-jg "sk_rhand" 38) +(def-joint-node jak-white-lod0-jg "rthumA" 39) +(def-joint-node jak-white-lod0-jg "rthumB" 40) +(def-joint-node jak-white-lod0-jg "rindA" 41) +(def-joint-node jak-white-lod0-jg "rindB" 42) +(def-joint-node jak-white-lod0-jg "rmidA" 43) +(def-joint-node jak-white-lod0-jg "rmidB" 44) +(def-joint-node jak-white-lod0-jg "rringA" 45) +(def-joint-node jak-white-lod0-jg "rringB" 46) +(def-joint-node jak-white-lod0-jg "rpinkA" 47) +(def-joint-node jak-white-lod0-jg "rpinkB" 48) +(def-joint-node jak-white-lod0-jg "handRStrapTopTop" 49) +(def-joint-node jak-white-lod0-jg "handRStrapTopMid" 50) +(def-joint-node jak-white-lod0-jg "handRStrapBotTop" 51) +(def-joint-node jak-white-lod0-jg "handRStrapBotMid" 52) +(def-joint-node jak-white-lod0-jg "LshoulderPad" 53) +(def-joint-node jak-white-lod0-jg "collarL" 54) +(def-joint-node jak-white-lod0-jg "collarR" 55) +(def-joint-node jak-white-lod0-jg "packStrapTop" 56) +(def-joint-node jak-white-lod0-jg "packStrapMid" 57) +(def-joint-node jak-white-lod0-jg "hips" 58) +(def-joint-node jak-white-lod0-jg "Lthigh" 59) + +(def-joint-node windspinner-lod0-jg "boneless" 3) +(def-joint-node windspinner-lod0-jg "prejoint" 2) +(def-joint-node windspinner-lod0-jg "align" 1) + +(def-joint-node citb-arm-b-lod0-jg "center_" 4) +(def-joint-node citb-arm-b-lod0-jg "boneless" 3) +(def-joint-node citb-arm-b-lod0-jg "prejoint" 2) +(def-joint-node citb-arm-b-lod0-jg "align" 1) + +(def-joint-node crate-steel-lod0-jg "crate" 3) +(def-joint-node crate-steel-lod0-jg "prejoint" 2) +(def-joint-node crate-steel-lod0-jg "align" 1) + +(def-joint-node ogre-step-a-lod0-jg "step8" 3) +(def-joint-node ogre-step-a-lod0-jg "prejoint" 2) +(def-joint-node ogre-step-a-lod0-jg "align" 1) + +(def-joint-node water-anim-maincave-center-pool-lod0-jg "boneless" 3) +(def-joint-node water-anim-maincave-center-pool-lod0-jg "prejoint" 2) +(def-joint-node water-anim-maincave-center-pool-lod0-jg "align" 1) + +(def-joint-node redsage-lod0-jg "headLamp" 69) +(def-joint-node redsage-lod0-jg "RlegFlapB" 68) +(def-joint-node redsage-lod0-jg "RlegFlapA" 67) +(def-joint-node redsage-lod0-jg "LlegFlapB" 66) +(def-joint-node redsage-lod0-jg "LlegFlapA" 65) +(def-joint-node redsage-lod0-jg "RtubeBack" 64) +(def-joint-node redsage-lod0-jg "RtubeTop" 63) +(def-joint-node redsage-lod0-jg "RtubeFront" 62) +(def-joint-node redsage-lod0-jg "LtubeBack" 61) +(def-joint-node redsage-lod0-jg "LtubeTop" 60) +(def-joint-node redsage-lod0-jg "Rthigh" 29) +(def-joint-node redsage-lod0-jg "Lball" 28) +(def-joint-node redsage-lod0-jg "Lankle" 27) +(def-joint-node redsage-lod0-jg "Lknee" 26) +(def-joint-node redsage-lod0-jg "Lthigh" 25) +(def-joint-node redsage-lod0-jg "hips" 24) +(def-joint-node redsage-lod0-jg "Rhand" 23) +(def-joint-node redsage-lod0-jg "Relbow" 22) +(def-joint-node redsage-lod0-jg "Rshoulder" 21) +(def-joint-node redsage-lod0-jg "ecobolt" 20) +(def-joint-node redsage-lod0-jg "Lhand" 19) +(def-joint-node redsage-lod0-jg "Lelbow" 18) +(def-joint-node redsage-lod0-jg "Lshoulder" 17) +(def-joint-node redsage-lod0-jg "goateeB" 16) +(def-joint-node redsage-lod0-jg "goateeA" 15) +(def-joint-node redsage-lod0-jg "RmustacheB" 14) +(def-joint-node redsage-lod0-jg "align" 1) +(def-joint-node redsage-lod0-jg "prejoint" 2) +(def-joint-node redsage-lod0-jg "main" 3) +(def-joint-node redsage-lod0-jg "chest" 4) +(def-joint-node redsage-lod0-jg "neck" 5) +(def-joint-node redsage-lod0-jg "head" 6) +(def-joint-node redsage-lod0-jg "lEarA" 7) +(def-joint-node redsage-lod0-jg "lEarB" 8) +(def-joint-node redsage-lod0-jg "rEarA" 9) +(def-joint-node redsage-lod0-jg "rEarB" 10) +(def-joint-node redsage-lod0-jg "LmustacheA" 11) +(def-joint-node redsage-lod0-jg "LmustacheB" 12) +(def-joint-node redsage-lod0-jg "RmustacheA" 13) +(def-joint-node redsage-lod0-jg "Rknee" 30) +(def-joint-node redsage-lod0-jg "Rankle" 31) +(def-joint-node redsage-lod0-jg "Rball" 32) +(def-joint-node redsage-lod0-jg "camera" 33) +(def-joint-node redsage-lod0-jg "cameraB" 34) +(def-joint-node redsage-lod0-jg "LthumbA" 35) +(def-joint-node redsage-lod0-jg "LthumbB" 36) +(def-joint-node redsage-lod0-jg "LindexA" 37) +(def-joint-node redsage-lod0-jg "LindexB" 38) +(def-joint-node redsage-lod0-jg "RthumbA" 39) +(def-joint-node redsage-lod0-jg "RthumbB" 40) +(def-joint-node redsage-lod0-jg "RindexA" 41) +(def-joint-node redsage-lod0-jg "RindexB" 42) +(def-joint-node redsage-lod0-jg "LmiddleA" 43) +(def-joint-node redsage-lod0-jg "LmiddleB" 44) +(def-joint-node redsage-lod0-jg "LringA" 45) +(def-joint-node redsage-lod0-jg "LringB" 46) +(def-joint-node redsage-lod0-jg "LpinkyA" 47) +(def-joint-node redsage-lod0-jg "LpinkyB" 48) +(def-joint-node redsage-lod0-jg "LarmFlapB" 49) +(def-joint-node redsage-lod0-jg "LarmFlapA" 50) +(def-joint-node redsage-lod0-jg "RmiddleA" 51) +(def-joint-node redsage-lod0-jg "RmiddleB" 52) +(def-joint-node redsage-lod0-jg "RringA" 53) +(def-joint-node redsage-lod0-jg "RringB" 54) +(def-joint-node redsage-lod0-jg "RpinkyA" 55) +(def-joint-node redsage-lod0-jg "RpinkyB" 56) +(def-joint-node redsage-lod0-jg "RarmFlapB" 57) +(def-joint-node redsage-lod0-jg "RarmFlapA" 58) +(def-joint-node redsage-lod0-jg "LtubeFront" 59) + +(def-joint-node water-anim-maincave-lower-left-pool-lod0-jg "boneless" 3) +(def-joint-node water-anim-maincave-lower-left-pool-lod0-jg "prejoint" 2) +(def-joint-node water-anim-maincave-lower-left-pool-lod0-jg "align" 1) + +(def-joint-node lurkerpuppy-lod0-jg "Rball" 31) +(def-joint-node lurkerpuppy-lod0-jg "Lball" 30) +(def-joint-node lurkerpuppy-lod0-jg "Rshoulder" 13) +(def-joint-node lurkerpuppy-lod0-jg "Lhand" 12) +(def-joint-node lurkerpuppy-lod0-jg "Lelbow" 11) +(def-joint-node lurkerpuppy-lod0-jg "Lshoulder" 10) +(def-joint-node lurkerpuppy-lod0-jg "Rear" 9) +(def-joint-node lurkerpuppy-lod0-jg "Lear" 8) +(def-joint-node lurkerpuppy-lod0-jg "hair" 7) +(def-joint-node lurkerpuppy-lod0-jg "head" 6) +(def-joint-node lurkerpuppy-lod0-jg "neck" 5) +(def-joint-node lurkerpuppy-lod0-jg "chest" 4) +(def-joint-node lurkerpuppy-lod0-jg "main" 3) +(def-joint-node lurkerpuppy-lod0-jg "prejoint" 2) +(def-joint-node lurkerpuppy-lod0-jg "align" 1) +(def-joint-node lurkerpuppy-lod0-jg "Relbow" 14) +(def-joint-node lurkerpuppy-lod0-jg "Rhand" 15) +(def-joint-node lurkerpuppy-lod0-jg "hips" 16) +(def-joint-node lurkerpuppy-lod0-jg "Lthigh" 17) +(def-joint-node lurkerpuppy-lod0-jg "Lknee" 18) +(def-joint-node lurkerpuppy-lod0-jg "Lankle" 19) +(def-joint-node lurkerpuppy-lod0-jg "tailA" 20) +(def-joint-node lurkerpuppy-lod0-jg "tailB" 21) +(def-joint-node lurkerpuppy-lod0-jg "Rthigh" 22) +(def-joint-node lurkerpuppy-lod0-jg "Rknee" 23) +(def-joint-node lurkerpuppy-lod0-jg "Rankle" 24) +(def-joint-node lurkerpuppy-lod0-jg "backFur" 25) +(def-joint-node lurkerpuppy-lod0-jg "ring" 26) +(def-joint-node lurkerpuppy-lod0-jg "jaw" 27) +(def-joint-node lurkerpuppy-lod0-jg "LthumbA" 28) +(def-joint-node lurkerpuppy-lod0-jg "RthumbA" 29) + +(def-joint-node medres-jungle-lod0-jg "boneless" 3) +(def-joint-node medres-jungle-lod0-jg "prejoint" 2) +(def-joint-node medres-jungle-lod0-jg "align" 1) + +(def-joint-node balloonlurker-pilot-lod0-jg "Rankle" 21) +(def-joint-node balloonlurker-pilot-lod0-jg "Rknee" 20) +(def-joint-node balloonlurker-pilot-lod0-jg "Rthigh" 19) +(def-joint-node balloonlurker-pilot-lod0-jg "Lankle" 18) +(def-joint-node balloonlurker-pilot-lod0-jg "Lknee" 17) +(def-joint-node balloonlurker-pilot-lod0-jg "Lthigh" 16) +(def-joint-node balloonlurker-pilot-lod0-jg "hips" 15) +(def-joint-node balloonlurker-pilot-lod0-jg "Rhand" 14) +(def-joint-node balloonlurker-pilot-lod0-jg "align" 1) +(def-joint-node balloonlurker-pilot-lod0-jg "prejoint" 2) +(def-joint-node balloonlurker-pilot-lod0-jg "all" 3) +(def-joint-node balloonlurker-pilot-lod0-jg "poleTop" 4) +(def-joint-node balloonlurker-pilot-lod0-jg "poleBot" 5) +(def-joint-node balloonlurker-pilot-lod0-jg "main" 6) +(def-joint-node balloonlurker-pilot-lod0-jg "chest" 7) +(def-joint-node balloonlurker-pilot-lod0-jg "neck" 8) +(def-joint-node balloonlurker-pilot-lod0-jg "Lshoulder" 9) +(def-joint-node balloonlurker-pilot-lod0-jg "Lelbow" 10) +(def-joint-node balloonlurker-pilot-lod0-jg "Lhand" 11) +(def-joint-node balloonlurker-pilot-lod0-jg "Rshoulder" 12) +(def-joint-node balloonlurker-pilot-lod0-jg "Relbow" 13) + +(def-joint-node lurkerworm-lod0-jg "ringRIGHT" 15) +(def-joint-node lurkerworm-lod0-jg "ringLEFT" 14) +(def-joint-node lurkerworm-lod0-jg "align" 1) +(def-joint-node lurkerworm-lod0-jg "prejoint" 2) +(def-joint-node lurkerworm-lod0-jg "main" 3) +(def-joint-node lurkerworm-lod0-jg "hip" 4) +(def-joint-node lurkerworm-lod0-jg "bod1" 5) +(def-joint-node lurkerworm-lod0-jg "bod2" 6) +(def-joint-node lurkerworm-lod0-jg "bod3" 7) +(def-joint-node lurkerworm-lod0-jg "bod4" 8) +(def-joint-node lurkerworm-lod0-jg "neck" 9) +(def-joint-node lurkerworm-lod0-jg "head" 10) +(def-joint-node lurkerworm-lod0-jg "jaw" 11) +(def-joint-node lurkerworm-lod0-jg "chinFur" 12) +(def-joint-node lurkerworm-lod0-jg "ringTOP" 13) + +(def-joint-node citb-sagecage-lod0-jg "main" 3) +(def-joint-node citb-sagecage-lod0-jg "prejoint" 2) +(def-joint-node citb-sagecage-lod0-jg "align" 1) + +(def-joint-node medres-beach2-lod0-jg "boneless" 3) +(def-joint-node medres-beach2-lod0-jg "prejoint" 2) +(def-joint-node medres-beach2-lod0-jg "align" 1) + +(def-joint-node citb-disc-a-lod0-jg "boneless" 3) +(def-joint-node citb-disc-a-lod0-jg "prejoint" 2) +(def-joint-node citb-disc-a-lod0-jg "align" 1) + +(def-joint-node mayor-lod0-jg "RringC" 73) +(def-joint-node mayor-lod0-jg "RmiddleC" 72) +(def-joint-node mayor-lod0-jg "RthumbC" 71) +(def-joint-node mayor-lod0-jg "LringC" 70) +(def-joint-node mayor-lod0-jg "LmiddleC" 69) +(def-joint-node mayor-lod0-jg "LthumbC" 68) +(def-joint-node mayor-lod0-jg "RringB" 67) +(def-joint-node mayor-lod0-jg "RringA" 66) +(def-joint-node mayor-lod0-jg "RmiddleB" 65) +(def-joint-node mayor-lod0-jg "RmiddleA" 64) +(def-joint-node mayor-lod0-jg "RthumbB" 63) +(def-joint-node mayor-lod0-jg "LringB" 62) +(def-joint-node mayor-lod0-jg "LringA" 61) +(def-joint-node mayor-lod0-jg "LmiddleB" 60) +(def-joint-node mayor-lod0-jg "LpinkyB" 29) +(def-joint-node mayor-lod0-jg "LpinkyA" 28) +(def-joint-node mayor-lod0-jg "LindexC" 27) +(def-joint-node mayor-lod0-jg "LindexB" 26) +(def-joint-node mayor-lod0-jg "LindexA" 25) +(def-joint-node mayor-lod0-jg "LthumbA" 24) +(def-joint-node mayor-lod0-jg "Lhand" 23) +(def-joint-node mayor-lod0-jg "Lelbow" 22) +(def-joint-node mayor-lod0-jg "Lshoulder" 21) +(def-joint-node mayor-lod0-jg "Ltie2" 20) +(def-joint-node mayor-lod0-jg "Ltie1" 19) +(def-joint-node mayor-lod0-jg "tHatBase1" 18) +(def-joint-node mayor-lod0-jg "Rstache3" 17) +(def-joint-node mayor-lod0-jg "Rstache2" 16) +(def-joint-node mayor-lod0-jg "Rstache1" 15) +(def-joint-node mayor-lod0-jg "Lstache3" 14) +(def-joint-node mayor-lod0-jg "align" 1) +(def-joint-node mayor-lod0-jg "prejoint" 2) +(def-joint-node mayor-lod0-jg "main" 3) +(def-joint-node mayor-lod0-jg "chest" 4) +(def-joint-node mayor-lod0-jg "neck" 5) +(def-joint-node mayor-lod0-jg "head" 6) +(def-joint-node mayor-lod0-jg "Lear1" 7) +(def-joint-node mayor-lod0-jg "Lear2" 8) +(def-joint-node mayor-lod0-jg "Rear1" 9) +(def-joint-node mayor-lod0-jg "Rear2" 10) +(def-joint-node mayor-lod0-jg "stache" 11) +(def-joint-node mayor-lod0-jg "Lstache1" 12) +(def-joint-node mayor-lod0-jg "Lstache2" 13) +(def-joint-node mayor-lod0-jg "LpinkyC" 30) +(def-joint-node mayor-lod0-jg "Rshoulder" 31) +(def-joint-node mayor-lod0-jg "Relbow" 32) +(def-joint-node mayor-lod0-jg "Rhand" 33) +(def-joint-node mayor-lod0-jg "RthumbA" 34) +(def-joint-node mayor-lod0-jg "RindexA" 35) +(def-joint-node mayor-lod0-jg "RindexB" 36) +(def-joint-node mayor-lod0-jg "RindexC" 37) +(def-joint-node mayor-lod0-jg "RpinkyA" 38) +(def-joint-node mayor-lod0-jg "RpinkyB" 39) +(def-joint-node mayor-lod0-jg "RpinkyC" 40) +(def-joint-node mayor-lod0-jg "belly" 41) +(def-joint-node mayor-lod0-jg "hips" 42) +(def-joint-node mayor-lod0-jg "Lthigh" 43) +(def-joint-node mayor-lod0-jg "Lknee" 44) +(def-joint-node mayor-lod0-jg "Lankle" 45) +(def-joint-node mayor-lod0-jg "Lball" 46) +(def-joint-node mayor-lod0-jg "Rthigh" 47) +(def-joint-node mayor-lod0-jg "Rknee" 48) +(def-joint-node mayor-lod0-jg "Rankle" 49) +(def-joint-node mayor-lod0-jg "Rball" 50) +(def-joint-node mayor-lod0-jg "camera" 51) +(def-joint-node mayor-lod0-jg "cameraB" 52) +(def-joint-node mayor-lod0-jg "tHatEnd" 53) +(def-joint-node mayor-lod0-jg "Ltie3" 54) +(def-joint-node mayor-lod0-jg "Rtie1" 55) +(def-joint-node mayor-lod0-jg "Rtie2" 56) +(def-joint-node mayor-lod0-jg "Rtie3" 57) +(def-joint-node mayor-lod0-jg "LthumbB" 58) +(def-joint-node mayor-lod0-jg "LmiddleA" 59) + +(def-joint-node lavaballoon-lod0-jg "rightbot" 9) +(def-joint-node lavaballoon-lod0-jg "rightmid" 8) +(def-joint-node lavaballoon-lod0-jg "leftbot" 7) +(def-joint-node lavaballoon-lod0-jg "leftmid" 6) +(def-joint-node lavaballoon-lod0-jg "righttop" 5) +(def-joint-node lavaballoon-lod0-jg "lefttop" 4) +(def-joint-node lavaballoon-lod0-jg "main" 3) +(def-joint-node lavaballoon-lod0-jg "prejoint" 2) +(def-joint-node lavaballoon-lod0-jg "align" 1) + +(def-joint-node crate-barrel-lod0-jg "crate" 3) +(def-joint-node crate-barrel-lod0-jg "prejoint" 2) +(def-joint-node crate-barrel-lod0-jg "align" 1) + +(def-joint-node citb-arm-shoulder-b-lod0-jg "center_" 4) +(def-joint-node citb-arm-shoulder-b-lod0-jg "boneless" 3) +(def-joint-node citb-arm-shoulder-b-lod0-jg "prejoint" 2) +(def-joint-node citb-arm-shoulder-b-lod0-jg "align" 1) + +(def-joint-node ogreboss-lod0-jg "Rball" 73) +(def-joint-node ogreboss-lod0-jg "Rankle" 72) +(def-joint-node ogreboss-lod0-jg "Rknee" 71) +(def-joint-node ogreboss-lod0-jg "Rthigh" 70) +(def-joint-node ogreboss-lod0-jg "Lball" 69) +(def-joint-node ogreboss-lod0-jg "Lankle" 68) +(def-joint-node ogreboss-lod0-jg "Lknee" 67) +(def-joint-node ogreboss-lod0-jg "Lthigh" 66) +(def-joint-node ogreboss-lod0-jg "hips" 65) +(def-joint-node ogreboss-lod0-jg "RchestDangleA" 64) +(def-joint-node ogreboss-lod0-jg "LchestDangleA" 63) +(def-joint-node ogreboss-lod0-jg "backDanglerB" 62) +(def-joint-node ogreboss-lod0-jg "backDanglerA" 61) +(def-joint-node ogreboss-lod0-jg "LchestDanglerC" 60) +(def-joint-node ogreboss-lod0-jg "LthumbA" 29) +(def-joint-node ogreboss-lod0-jg "Lhand" 28) +(def-joint-node ogreboss-lod0-jg "Lelbow" 27) +(def-joint-node ogreboss-lod0-jg "Lshoulder" 26) +(def-joint-node ogreboss-lod0-jg "Lcollar" 25) +(def-joint-node ogreboss-lod0-jg "Reyebrow" 24) +(def-joint-node ogreboss-lod0-jg "Leyebrow" 23) +(def-joint-node ogreboss-lod0-jg "beardCluster" 22) +(def-joint-node ogreboss-lod0-jg "beardD" 21) +(def-joint-node ogreboss-lod0-jg "beardC" 20) +(def-joint-node ogreboss-lod0-jg "beardB" 19) +(def-joint-node ogreboss-lod0-jg "beardA" 18) +(def-joint-node ogreboss-lod0-jg "jaw" 17) +(def-joint-node ogreboss-lod0-jg "lips" 16) +(def-joint-node ogreboss-lod0-jg "RhairFrontB" 15) +(def-joint-node ogreboss-lod0-jg "RhairFrontA" 14) +(def-joint-node ogreboss-lod0-jg "align" 1) +(def-joint-node ogreboss-lod0-jg "prejoint" 2) +(def-joint-node ogreboss-lod0-jg "main" 3) +(def-joint-node ogreboss-lod0-jg "stomach" 4) +(def-joint-node ogreboss-lod0-jg "chest" 5) +(def-joint-node ogreboss-lod0-jg "neck" 6) +(def-joint-node ogreboss-lod0-jg "head" 7) +(def-joint-node ogreboss-lod0-jg "hairFront" 8) +(def-joint-node ogreboss-lod0-jg "Lbone" 9) +(def-joint-node ogreboss-lod0-jg "Rbone" 10) +(def-joint-node ogreboss-lod0-jg "hairCenter" 11) +(def-joint-node ogreboss-lod0-jg "LhairFrontA" 12) +(def-joint-node ogreboss-lod0-jg "LhairFrontB" 13) +(def-joint-node ogreboss-lod0-jg "LthumbB" 30) +(def-joint-node ogreboss-lod0-jg "LindexA" 31) +(def-joint-node ogreboss-lod0-jg "LindexB" 32) +(def-joint-node ogreboss-lod0-jg "LmiddleA" 33) +(def-joint-node ogreboss-lod0-jg "LmiddleB" 34) +(def-joint-node ogreboss-lod0-jg "LringA" 35) +(def-joint-node ogreboss-lod0-jg "LringB" 36) +(def-joint-node ogreboss-lod0-jg "LpinkyA" 37) +(def-joint-node ogreboss-lod0-jg "LpinkyB" 38) +(def-joint-node ogreboss-lod0-jg "Lshackle" 39) +(def-joint-node ogreboss-lod0-jg "Lfur" 40) +(def-joint-node ogreboss-lod0-jg "Rcollar" 41) +(def-joint-node ogreboss-lod0-jg "Rshoulder" 42) +(def-joint-node ogreboss-lod0-jg "Relbow" 43) +(def-joint-node ogreboss-lod0-jg "Rthumb_top" 44) +(def-joint-node ogreboss-lod0-jg "Rthumb_mid" 45) +(def-joint-node ogreboss-lod0-jg "Rclaw_topA" 46) +(def-joint-node ogreboss-lod0-jg "Rclaw_midA" 47) +(def-joint-node ogreboss-lod0-jg "Rclaw_topB" 48) +(def-joint-node ogreboss-lod0-jg "Rclaw_midB" 49) +(def-joint-node ogreboss-lod0-jg "Rclaw_topC" 50) +(def-joint-node ogreboss-lod0-jg "Rclaw_midC" 51) +(def-joint-node ogreboss-lod0-jg "boulder" 52) +(def-joint-node ogreboss-lod0-jg "RarmDangler" 53) +(def-joint-node ogreboss-lod0-jg "RarmDanglerToo" 54) +(def-joint-node ogreboss-lod0-jg "RchestDanglerA" 55) +(def-joint-node ogreboss-lod0-jg "RchestDanglerB" 56) +(def-joint-node ogreboss-lod0-jg "RchestDanglerC" 57) +(def-joint-node ogreboss-lod0-jg "LchestDanglerA" 58) +(def-joint-node ogreboss-lod0-jg "LchestDanglerB" 59) + +(def-joint-node blue-eco-charger-lod0-jg "four" 7) +(def-joint-node blue-eco-charger-lod0-jg "three" 6) +(def-joint-node blue-eco-charger-lod0-jg "two" 5) +(def-joint-node blue-eco-charger-lod0-jg "one" 4) +(def-joint-node blue-eco-charger-lod0-jg "base" 3) +(def-joint-node blue-eco-charger-lod0-jg "prejoint" 2) +(def-joint-node blue-eco-charger-lod0-jg "align" 1) + +(def-joint-node mistycannon-lod0-jg "lfwheel" 9) +(def-joint-node mistycannon-lod0-jg "rfwheel" 8) +(def-joint-node mistycannon-lod0-jg "rrwheel" 7) +(def-joint-node mistycannon-lod0-jg "lrwheel" 6) +(def-joint-node mistycannon-lod0-jg "scope" 5) +(def-joint-node mistycannon-lod0-jg "muzzel" 4) +(def-joint-node mistycannon-lod0-jg "main" 3) +(def-joint-node mistycannon-lod0-jg "prejoint" 2) +(def-joint-node mistycannon-lod0-jg "align" 1) + +(def-joint-node sculptor-muse-lod0-jg "fur" 45) +(def-joint-node sculptor-muse-lod0-jg "jawEND" 44) +(def-joint-node sculptor-muse-lod0-jg "Rball" 43) +(def-joint-node sculptor-muse-lod0-jg "Rankle" 42) +(def-joint-node sculptor-muse-lod0-jg "Rknee" 41) +(def-joint-node sculptor-muse-lod0-jg "Rthigh" 40) +(def-joint-node sculptor-muse-lod0-jg "tail_END" 39) +(def-joint-node sculptor-muse-lod0-jg "tail8" 38) +(def-joint-node sculptor-muse-lod0-jg "tail7" 37) +(def-joint-node sculptor-muse-lod0-jg "tail6" 36) +(def-joint-node sculptor-muse-lod0-jg "tail5" 35) +(def-joint-node sculptor-muse-lod0-jg "tail4" 34) +(def-joint-node sculptor-muse-lod0-jg "tail3" 33) +(def-joint-node sculptor-muse-lod0-jg "tail2" 32) +(def-joint-node sculptor-muse-lod0-jg "tail1" 31) +(def-joint-node sculptor-muse-lod0-jg "Lball" 30) +(def-joint-node sculptor-muse-lod0-jg "Lshoulder" 13) +(def-joint-node sculptor-muse-lod0-jg "rightEAREND" 12) +(def-joint-node sculptor-muse-lod0-jg "rightEAR" 11) +(def-joint-node sculptor-muse-lod0-jg "leftEAREND" 10) +(def-joint-node sculptor-muse-lod0-jg "leftEAR" 9) +(def-joint-node sculptor-muse-lod0-jg "jaw" 8) +(def-joint-node sculptor-muse-lod0-jg "head" 7) +(def-joint-node sculptor-muse-lod0-jg "neck" 6) +(def-joint-node sculptor-muse-lod0-jg "chest" 5) +(def-joint-node sculptor-muse-lod0-jg "main" 4) +(def-joint-node sculptor-muse-lod0-jg "camera" 3) +(def-joint-node sculptor-muse-lod0-jg "prejoint" 2) +(def-joint-node sculptor-muse-lod0-jg "align" 1) +(def-joint-node sculptor-muse-lod0-jg "Lelbow" 14) +(def-joint-node sculptor-muse-lod0-jg "Lhand" 15) +(def-joint-node sculptor-muse-lod0-jg "LthumbA" 16) +(def-joint-node sculptor-muse-lod0-jg "LmiddleA" 17) +(def-joint-node sculptor-muse-lod0-jg "LpinkyA" 18) +(def-joint-node sculptor-muse-lod0-jg "Rshoulder" 19) +(def-joint-node sculptor-muse-lod0-jg "Relbow" 20) +(def-joint-node sculptor-muse-lod0-jg "Rhand" 21) +(def-joint-node sculptor-muse-lod0-jg "RthumbA" 22) +(def-joint-node sculptor-muse-lod0-jg "RmiddleA" 23) +(def-joint-node sculptor-muse-lod0-jg "RpinkyB" 24) +(def-joint-node sculptor-muse-lod0-jg "loSpine" 25) +(def-joint-node sculptor-muse-lod0-jg "hips" 26) +(def-joint-node sculptor-muse-lod0-jg "Lthigh" 27) +(def-joint-node sculptor-muse-lod0-jg "Lknee" 28) +(def-joint-node sculptor-muse-lod0-jg "Lankle" 29) + +(def-joint-node lavashortcut-lod0-jg "boneless" 3) +(def-joint-node lavashortcut-lod0-jg "prejoint" 2) +(def-joint-node lavashortcut-lod0-jg "align" 1) + +(def-joint-node lrocklrg-lod0-jg "fuelcell" 8) +(def-joint-node lrocklrg-lod0-jg "camera" 7) +(def-joint-node lrocklrg-lod0-jg "smlrock" 6) +(def-joint-node lrocklrg-lod0-jg "Rrocklrg" 5) +(def-joint-node lrocklrg-lod0-jg "platformrock" 4) +(def-joint-node lrocklrg-lod0-jg "Lrocklrg" 3) +(def-joint-node lrocklrg-lod0-jg "prejoint" 2) +(def-joint-node lrocklrg-lod0-jg "align" 1) + +(def-joint-node revcycle-geo-jg "revcycle" 3) +(def-joint-node revcycle-geo-jg "prejoint" 2) +(def-joint-node revcycle-geo-jg "align" 1) + +(def-joint-node sidekick-human-lod0-jg "RpinkyC" 75) +(def-joint-node sidekick-human-lod0-jg "RmiddleC" 74) +(def-joint-node sidekick-human-lod0-jg "RindexC" 73) +(def-joint-node sidekick-human-lod0-jg "RthumbC" 72) +(def-joint-node sidekick-human-lod0-jg "can_hold" 71) +(def-joint-node sidekick-human-lod0-jg "LpinkyC" 70) +(def-joint-node sidekick-human-lod0-jg "LmiddleC" 69) +(def-joint-node sidekick-human-lod0-jg "LindexC" 68) +(def-joint-node sidekick-human-lod0-jg "LthumbC" 67) +(def-joint-node sidekick-human-lod0-jg "RpinkyB" 66) +(def-joint-node sidekick-human-lod0-jg "RpinkyA" 65) +(def-joint-node sidekick-human-lod0-jg "RringC" 64) +(def-joint-node sidekick-human-lod0-jg "RringB" 63) +(def-joint-node sidekick-human-lod0-jg "RringA" 62) +(def-joint-node sidekick-human-lod0-jg "RmiddleB" 61) +(def-joint-node sidekick-human-lod0-jg "RmiddleA" 60) +(def-joint-node sidekick-human-lod0-jg "lstrap1" 29) +(def-joint-node sidekick-human-lod0-jg "Lball" 28) +(def-joint-node sidekick-human-lod0-jg "Lankle" 27) +(def-joint-node sidekick-human-lod0-jg "Lknee" 26) +(def-joint-node sidekick-human-lod0-jg "Lthigh" 25) +(def-joint-node sidekick-human-lod0-jg "hips" 24) +(def-joint-node sidekick-human-lod0-jg "RindexB" 23) +(def-joint-node sidekick-human-lod0-jg "RindexA" 22) +(def-joint-node sidekick-human-lod0-jg "Rhand" 21) +(def-joint-node sidekick-human-lod0-jg "Relbow" 20) +(def-joint-node sidekick-human-lod0-jg "Rshoulder" 19) +(def-joint-node sidekick-human-lod0-jg "LindexB" 18) +(def-joint-node sidekick-human-lod0-jg "LindexA" 17) +(def-joint-node sidekick-human-lod0-jg "Lhand" 16) +(def-joint-node sidekick-human-lod0-jg "Lelbow" 15) +(def-joint-node sidekick-human-lod0-jg "Lshoulder" 14) +(def-joint-node sidekick-human-lod0-jg "align" 1) +(def-joint-node sidekick-human-lod0-jg "prejoint" 2) +(def-joint-node sidekick-human-lod0-jg "main" 3) +(def-joint-node sidekick-human-lod0-jg "chest" 4) +(def-joint-node sidekick-human-lod0-jg "neck" 5) +(def-joint-node sidekick-human-lod0-jg "head" 6) +(def-joint-node sidekick-human-lod0-jg "hair1" 7) +(def-joint-node sidekick-human-lod0-jg "hair2" 8) +(def-joint-node sidekick-human-lod0-jg "lear1" 9) +(def-joint-node sidekick-human-lod0-jg "lear2" 10) +(def-joint-node sidekick-human-lod0-jg "rear1" 11) +(def-joint-node sidekick-human-lod0-jg "rear2" 12) +(def-joint-node sidekick-human-lod0-jg "spit" 13) +(def-joint-node sidekick-human-lod0-jg "lstrap2" 30) +(def-joint-node sidekick-human-lod0-jg "lshirt1" 31) +(def-joint-node sidekick-human-lod0-jg "lshirt2" 32) +(def-joint-node sidekick-human-lod0-jg "Rthigh" 33) +(def-joint-node sidekick-human-lod0-jg "Rknee" 34) +(def-joint-node sidekick-human-lod0-jg "Rankle" 35) +(def-joint-node sidekick-human-lod0-jg "Rball" 36) +(def-joint-node sidekick-human-lod0-jg "rstrap1" 37) +(def-joint-node sidekick-human-lod0-jg "rstrap2" 38) +(def-joint-node sidekick-human-lod0-jg "rshirt1" 39) +(def-joint-node sidekick-human-lod0-jg "rshirt2" 40) +(def-joint-node sidekick-human-lod0-jg "fshirt1" 41) +(def-joint-node sidekick-human-lod0-jg "fshirt2" 42) +(def-joint-node sidekick-human-lod0-jg "cameraB" 43) +(def-joint-node sidekick-human-lod0-jg "camera" 44) +(def-joint-node sidekick-human-lod0-jg "lflap1" 45) +(def-joint-node sidekick-human-lod0-jg "lflap2" 46) +(def-joint-node sidekick-human-lod0-jg "rflap1" 47) +(def-joint-node sidekick-human-lod0-jg "rflap2" 48) +(def-joint-node sidekick-human-lod0-jg "LthumbA" 49) +(def-joint-node sidekick-human-lod0-jg "LthumbB" 50) +(def-joint-node sidekick-human-lod0-jg "LmiddleA" 51) +(def-joint-node sidekick-human-lod0-jg "LmiddleB" 52) +(def-joint-node sidekick-human-lod0-jg "LringA" 53) +(def-joint-node sidekick-human-lod0-jg "LringB" 54) +(def-joint-node sidekick-human-lod0-jg "LringC" 55) +(def-joint-node sidekick-human-lod0-jg "LpinkyA" 56) +(def-joint-node sidekick-human-lod0-jg "LpinkyB" 57) +(def-joint-node sidekick-human-lod0-jg "RthumbA" 58) +(def-joint-node sidekick-human-lod0-jg "RthumbB" 59) + +(def-joint-node citb-bunny-lod0-jg "Rball" 21) +(def-joint-node citb-bunny-lod0-jg "Rankle" 20) +(def-joint-node citb-bunny-lod0-jg "Rknee" 19) +(def-joint-node citb-bunny-lod0-jg "Rthigh" 18) +(def-joint-node citb-bunny-lod0-jg "Lball" 17) +(def-joint-node citb-bunny-lod0-jg "Lankle" 16) +(def-joint-node citb-bunny-lod0-jg "Lknee" 15) +(def-joint-node citb-bunny-lod0-jg "Lthigh" 14) +(def-joint-node citb-bunny-lod0-jg "align" 1) +(def-joint-node citb-bunny-lod0-jg "prejoint" 2) +(def-joint-node citb-bunny-lod0-jg "main" 3) +(def-joint-node citb-bunny-lod0-jg "chest" 4) +(def-joint-node citb-bunny-lod0-jg "neck" 5) +(def-joint-node citb-bunny-lod0-jg "head" 6) +(def-joint-node citb-bunny-lod0-jg "jaw" 7) +(def-joint-node citb-bunny-lod0-jg "Lshoulder" 8) +(def-joint-node citb-bunny-lod0-jg "Lebow" 9) +(def-joint-node citb-bunny-lod0-jg "Lhand" 10) +(def-joint-node citb-bunny-lod0-jg "Rshoulder" 11) +(def-joint-node citb-bunny-lod0-jg "Rebow" 12) +(def-joint-node citb-bunny-lod0-jg "Rhand" 13) + +(def-joint-node catch-fisha-lod0-jg "tail" 5) +(def-joint-node catch-fisha-lod0-jg "mid" 4) +(def-joint-node catch-fisha-lod0-jg "main" 3) +(def-joint-node catch-fisha-lod0-jg "prejoint" 2) +(def-joint-node catch-fisha-lod0-jg "align" 1) + +(def-joint-node maindoor-lod0-jg "door6" 9) +(def-joint-node maindoor-lod0-jg "door5" 8) +(def-joint-node maindoor-lod0-jg "door4" 7) +(def-joint-node maindoor-lod0-jg "door3" 6) +(def-joint-node maindoor-lod0-jg "door2" 5) +(def-joint-node maindoor-lod0-jg "door1" 4) +(def-joint-node maindoor-lod0-jg "master" 3) +(def-joint-node maindoor-lod0-jg "prejoint" 2) +(def-joint-node maindoor-lod0-jg "align" 1) + +(def-joint-node yellowsage-lod0-jg "caneSpec" 79) +(def-joint-node yellowsage-lod0-jg "caneTubeC" 78) +(def-joint-node yellowsage-lod0-jg "caneTankTubeB" 77) +(def-joint-node yellowsage-lod0-jg "caneTankTubeA" 76) +(def-joint-node yellowsage-lod0-jg "caneEND" 75) +(def-joint-node yellowsage-lod0-jg "caneExhaust" 74) +(def-joint-node yellowsage-lod0-jg "tankJuiceC" 73) +(def-joint-node yellowsage-lod0-jg "tankJuiceB" 72) +(def-joint-node yellowsage-lod0-jg "tubeD" 71) +(def-joint-node yellowsage-lod0-jg "tankJuiceA" 70) +(def-joint-node yellowsage-lod0-jg "tankWhistle" 69) +(def-joint-node yellowsage-lod0-jg "tankPipeExhaust" 68) +(def-joint-node yellowsage-lod0-jg "RringB" 67) +(def-joint-node yellowsage-lod0-jg "RringA" 66) +(def-joint-node yellowsage-lod0-jg "RmiddleB" 65) +(def-joint-node yellowsage-lod0-jg "RmiddleA" 64) +(def-joint-node yellowsage-lod0-jg "LringB" 63) +(def-joint-node yellowsage-lod0-jg "LringA" 62) +(def-joint-node yellowsage-lod0-jg "LmiddleB" 61) +(def-joint-node yellowsage-lod0-jg "LmiddleA" 60) +(def-joint-node yellowsage-lod0-jg "RarmFlap" 29) +(def-joint-node yellowsage-lod0-jg "RpinkyB" 28) +(def-joint-node yellowsage-lod0-jg "RpinkyA" 27) +(def-joint-node yellowsage-lod0-jg "RindexB" 26) +(def-joint-node yellowsage-lod0-jg "RindexA" 25) +(def-joint-node yellowsage-lod0-jg "Rhand" 24) +(def-joint-node yellowsage-lod0-jg "Relbow" 23) +(def-joint-node yellowsage-lod0-jg "Rshoulder" 22) +(def-joint-node yellowsage-lod0-jg "LarmFlap" 21) +(def-joint-node yellowsage-lod0-jg "LpinkyB" 20) +(def-joint-node yellowsage-lod0-jg "LpinkyA" 19) +(def-joint-node yellowsage-lod0-jg "LindexB" 18) +(def-joint-node yellowsage-lod0-jg "LindexA" 17) +(def-joint-node yellowsage-lod0-jg "Lhand" 16) +(def-joint-node yellowsage-lod0-jg "Lelbow" 15) +(def-joint-node yellowsage-lod0-jg "Lshoulder" 14) +(def-joint-node yellowsage-lod0-jg "align" 1) +(def-joint-node yellowsage-lod0-jg "prejoint" 2) +(def-joint-node yellowsage-lod0-jg "main" 3) +(def-joint-node yellowsage-lod0-jg "chest" 4) +(def-joint-node yellowsage-lod0-jg "neck" 5) +(def-joint-node yellowsage-lod0-jg "head" 6) +(def-joint-node yellowsage-lod0-jg "LearA" 7) +(def-joint-node yellowsage-lod0-jg "LearB" 8) +(def-joint-node yellowsage-lod0-jg "beardA" 9) +(def-joint-node yellowsage-lod0-jg "beardB" 10) +(def-joint-node yellowsage-lod0-jg "Rspec" 11) +(def-joint-node yellowsage-lod0-jg "RearA" 12) +(def-joint-node yellowsage-lod0-jg "RearB" 13) +(def-joint-node yellowsage-lod0-jg "tank" 30) +(def-joint-node yellowsage-lod0-jg "tankGLO" 31) +(def-joint-node yellowsage-lod0-jg "tubeA" 32) +(def-joint-node yellowsage-lod0-jg "tubeB" 33) +(def-joint-node yellowsage-lod0-jg "tubeC" 34) +(def-joint-node yellowsage-lod0-jg "hips" 35) +(def-joint-node yellowsage-lod0-jg "Lthigh" 36) +(def-joint-node yellowsage-lod0-jg "Lknee" 37) +(def-joint-node yellowsage-lod0-jg "Lankle" 38) +(def-joint-node yellowsage-lod0-jg "Lball" 39) +(def-joint-node yellowsage-lod0-jg "Lleg_flap" 40) +(def-joint-node yellowsage-lod0-jg "Rthigh" 41) +(def-joint-node yellowsage-lod0-jg "Rknee" 42) +(def-joint-node yellowsage-lod0-jg "Rankle" 43) +(def-joint-node yellowsage-lod0-jg "Rball" 44) +(def-joint-node yellowsage-lod0-jg "Rleg_flap" 45) +(def-joint-node yellowsage-lod0-jg "RcoatFlap" 46) +(def-joint-node yellowsage-lod0-jg "cane" 47) +(def-joint-node yellowsage-lod0-jg "caneMid" 48) +(def-joint-node yellowsage-lod0-jg "caneTank" 49) +(def-joint-node yellowsage-lod0-jg "camera" 50) +(def-joint-node yellowsage-lod0-jg "cameraB" 51) +(def-joint-node yellowsage-lod0-jg "LthumbA" 52) +(def-joint-node yellowsage-lod0-jg "LthumbB" 53) +(def-joint-node yellowsage-lod0-jg "RthumbA" 54) +(def-joint-node yellowsage-lod0-jg "RthumbB" 55) +(def-joint-node yellowsage-lod0-jg "LcoatFlap" 56) +(def-joint-node yellowsage-lod0-jg "caneTubeA" 57) +(def-joint-node yellowsage-lod0-jg "caneTubeB" 58) +(def-joint-node yellowsage-lod0-jg "Lspec" 59) + +(def-joint-node flut-saddle-lod0-jg "tongue" 49) +(def-joint-node flut-saddle-lod0-jg "rWingF2" 48) +(def-joint-node flut-saddle-lod0-jg "rWing2" 47) +(def-joint-node flut-saddle-lod0-jg "rWing1" 46) +(def-joint-node flut-saddle-lod0-jg "rShoulder" 45) +(def-joint-node flut-saddle-lod0-jg "lWingF2" 44) +(def-joint-node flut-saddle-lod0-jg "lWing2" 43) +(def-joint-node flut-saddle-lod0-jg "lWing1" 42) +(def-joint-node flut-saddle-lod0-jg "lShoulder" 41) +(def-joint-node flut-saddle-lod0-jg "reignr4" 40) +(def-joint-node flut-saddle-lod0-jg "reignr3" 39) +(def-joint-node flut-saddle-lod0-jg "reignr2" 38) +(def-joint-node flut-saddle-lod0-jg "reignr1" 37) +(def-joint-node flut-saddle-lod0-jg "reign_l4" 36) +(def-joint-node flut-saddle-lod0-jg "reign_l3" 35) +(def-joint-node flut-saddle-lod0-jg "reign_l2" 34) +(def-joint-node flut-saddle-lod0-jg "reign_l1" 33) +(def-joint-node flut-saddle-lod0-jg "jaw" 32) +(def-joint-node flut-saddle-lod0-jg "ploom3" 31) +(def-joint-node flut-saddle-lod0-jg "ploom2" 30) +(def-joint-node flut-saddle-lod0-jg "Rthigh" 13) +(def-joint-node flut-saddle-lod0-jg "lRearToe" 12) +(def-joint-node flut-saddle-lod0-jg "lFrontToe" 11) +(def-joint-node flut-saddle-lod0-jg "lOutToe" 10) +(def-joint-node flut-saddle-lod0-jg "lInToe" 9) +(def-joint-node flut-saddle-lod0-jg "Lankle" 8) +(def-joint-node flut-saddle-lod0-jg "Lknee" 7) +(def-joint-node flut-saddle-lod0-jg "Lquarter" 6) +(def-joint-node flut-saddle-lod0-jg "Lthigh" 5) +(def-joint-node flut-saddle-lod0-jg "hips" 4) +(def-joint-node flut-saddle-lod0-jg "main" 3) +(def-joint-node flut-saddle-lod0-jg "prejoint" 2) +(def-joint-node flut-saddle-lod0-jg "align" 1) +(def-joint-node flut-saddle-lod0-jg "Rquarter" 14) +(def-joint-node flut-saddle-lod0-jg "Rknee" 15) +(def-joint-node flut-saddle-lod0-jg "Rankle" 16) +(def-joint-node flut-saddle-lod0-jg "rInToe" 17) +(def-joint-node flut-saddle-lod0-jg "rOutToe" 18) +(def-joint-node flut-saddle-lod0-jg "rFrontToe" 19) +(def-joint-node flut-saddle-lod0-jg "rRearToe" 20) +(def-joint-node flut-saddle-lod0-jg "tail1" 21) +(def-joint-node flut-saddle-lod0-jg "tail2" 22) +(def-joint-node flut-saddle-lod0-jg "tailFL" 23) +(def-joint-node flut-saddle-lod0-jg "tailFR" 24) +(def-joint-node flut-saddle-lod0-jg "tail3" 25) +(def-joint-node flut-saddle-lod0-jg "chest" 26) +(def-joint-node flut-saddle-lod0-jg "neck" 27) +(def-joint-node flut-saddle-lod0-jg "head" 28) +(def-joint-node flut-saddle-lod0-jg "ploom1" 29) + +(def-joint-node ecovalve-geo-jg "boneless" 3) +(def-joint-node ecovalve-geo-jg "prejoint" 2) +(def-joint-node ecovalve-geo-jg "align" 1) + +(def-joint-node plant-boss-root-lod0-jg "rootC" 5) +(def-joint-node plant-boss-root-lod0-jg "rootB" 4) +(def-joint-node plant-boss-root-lod0-jg "rootA" 3) +(def-joint-node plant-boss-root-lod0-jg "prejoint" 2) +(def-joint-node plant-boss-root-lod0-jg "align" 1) + +(def-joint-node logo-english-lod0-jg "wall39" 51) +(def-joint-node logo-english-lod0-jg "wall38" 50) +(def-joint-node logo-english-lod0-jg "wall37" 49) +(def-joint-node logo-english-lod0-jg "wall36" 48) +(def-joint-node logo-english-lod0-jg "wall35" 47) +(def-joint-node logo-english-lod0-jg "wall34" 46) +(def-joint-node logo-english-lod0-jg "wall33" 45) +(def-joint-node logo-english-lod0-jg "wall32" 44) +(def-joint-node logo-english-lod0-jg "wall31" 43) +(def-joint-node logo-english-lod0-jg "wall30" 42) +(def-joint-node logo-english-lod0-jg "wall29" 41) +(def-joint-node logo-english-lod0-jg "wall27" 40) +(def-joint-node logo-english-lod0-jg "wall26" 39) +(def-joint-node logo-english-lod0-jg "wall25" 38) +(def-joint-node logo-english-lod0-jg "wall24" 37) +(def-joint-node logo-english-lod0-jg "wall23" 36) +(def-joint-node logo-english-lod0-jg "wall22" 35) +(def-joint-node logo-english-lod0-jg "wall21" 34) +(def-joint-node logo-english-lod0-jg "wall20" 33) +(def-joint-node logo-english-lod0-jg "wall19" 32) +(def-joint-node logo-english-lod0-jg "wall18" 31) +(def-joint-node logo-english-lod0-jg "wall17" 30) +(def-joint-node logo-english-lod0-jg "volume4" 13) +(def-joint-node logo-english-lod0-jg "volume3" 12) +(def-joint-node logo-english-lod0-jg "volume2" 11) +(def-joint-node logo-english-lod0-jg "volume1" 10) +(def-joint-node logo-english-lod0-jg "volume" 9) +(def-joint-node logo-english-lod0-jg "volumeBase" 8) +(def-joint-node logo-english-lod0-jg "camera" 7) +(def-joint-node logo-english-lod0-jg "text" 6) +(def-joint-node logo-english-lod0-jg "jd" 5) +(def-joint-node logo-english-lod0-jg "lensflare" 4) +(def-joint-node logo-english-lod0-jg "main" 3) +(def-joint-node logo-english-lod0-jg "prejoint" 2) +(def-joint-node logo-english-lod0-jg "align" 1) +(def-joint-node logo-english-lod0-jg "wall1" 14) +(def-joint-node logo-english-lod0-jg "wall2" 15) +(def-joint-node logo-english-lod0-jg "wall3" 16) +(def-joint-node logo-english-lod0-jg "wall4" 17) +(def-joint-node logo-english-lod0-jg "wall5" 18) +(def-joint-node logo-english-lod0-jg "wall6" 19) +(def-joint-node logo-english-lod0-jg "wall7" 20) +(def-joint-node logo-english-lod0-jg "wall8" 21) +(def-joint-node logo-english-lod0-jg "wall9" 22) +(def-joint-node logo-english-lod0-jg "wall10" 23) +(def-joint-node logo-english-lod0-jg "wall11" 24) +(def-joint-node logo-english-lod0-jg "wall12" 25) +(def-joint-node logo-english-lod0-jg "wall13" 26) +(def-joint-node logo-english-lod0-jg "wall14" 27) +(def-joint-node logo-english-lod0-jg "wall15" 28) +(def-joint-node logo-english-lod0-jg "wall16" 29) + +(def-joint-node green-eco-lurker-lod0-jg "RmiddleC" 49) +(def-joint-node green-eco-lurker-lod0-jg "RindexC" 48) +(def-joint-node green-eco-lurker-lod0-jg "RthumbC" 47) +(def-joint-node green-eco-lurker-lod0-jg "LmiddleC" 46) +(def-joint-node green-eco-lurker-lod0-jg "LindexC" 45) +(def-joint-node green-eco-lurker-lod0-jg "LthumbC" 44) +(def-joint-node green-eco-lurker-lod0-jg "RmiddleB" 43) +(def-joint-node green-eco-lurker-lod0-jg "RmiddleA" 42) +(def-joint-node green-eco-lurker-lod0-jg "RindexB" 41) +(def-joint-node green-eco-lurker-lod0-jg "RindexA" 40) +(def-joint-node green-eco-lurker-lod0-jg "RthumbB" 39) +(def-joint-node green-eco-lurker-lod0-jg "RthumbA" 38) +(def-joint-node green-eco-lurker-lod0-jg "LmiddleB" 37) +(def-joint-node green-eco-lurker-lod0-jg "LmiddleA" 36) +(def-joint-node green-eco-lurker-lod0-jg "LindexB" 35) +(def-joint-node green-eco-lurker-lod0-jg "LindexA" 34) +(def-joint-node green-eco-lurker-lod0-jg "LthumbB" 33) +(def-joint-node green-eco-lurker-lod0-jg "LthumbA" 32) +(def-joint-node green-eco-lurker-lod0-jg "Reye" 31) +(def-joint-node green-eco-lurker-lod0-jg "Leye" 30) +(def-joint-node green-eco-lurker-lod0-jg "Larmhair" 13) +(def-joint-node green-eco-lurker-lod0-jg "Lhand" 12) +(def-joint-node green-eco-lurker-lod0-jg "Lelbow" 11) +(def-joint-node green-eco-lurker-lod0-jg "Lshoulder" 10) +(def-joint-node green-eco-lurker-lod0-jg "frontring" 9) +(def-joint-node green-eco-lurker-lod0-jg "headhair" 8) +(def-joint-node green-eco-lurker-lod0-jg "jaw" 7) +(def-joint-node green-eco-lurker-lod0-jg "head" 6) +(def-joint-node green-eco-lurker-lod0-jg "neck" 5) +(def-joint-node green-eco-lurker-lod0-jg "chest" 4) +(def-joint-node green-eco-lurker-lod0-jg "main" 3) +(def-joint-node green-eco-lurker-lod0-jg "prejoint" 2) +(def-joint-node green-eco-lurker-lod0-jg "align" 1) +(def-joint-node green-eco-lurker-lod0-jg "Rshoulder" 14) +(def-joint-node green-eco-lurker-lod0-jg "Relbow" 15) +(def-joint-node green-eco-lurker-lod0-jg "Rhand" 16) +(def-joint-node green-eco-lurker-lod0-jg "Rarmhair" 17) +(def-joint-node green-eco-lurker-lod0-jg "backhair" 18) +(def-joint-node green-eco-lurker-lod0-jg "hips" 19) +(def-joint-node green-eco-lurker-lod0-jg "Lthigh" 20) +(def-joint-node green-eco-lurker-lod0-jg "Lknee" 21) +(def-joint-node green-eco-lurker-lod0-jg "Lleghair" 22) +(def-joint-node green-eco-lurker-lod0-jg "Lankle" 23) +(def-joint-node green-eco-lurker-lod0-jg "Lball" 24) +(def-joint-node green-eco-lurker-lod0-jg "Rthigh" 25) +(def-joint-node green-eco-lurker-lod0-jg "Rknee" 26) +(def-joint-node green-eco-lurker-lod0-jg "Rleghair" 27) +(def-joint-node green-eco-lurker-lod0-jg "Rankle" 28) +(def-joint-node green-eco-lurker-lod0-jg "Rball" 29) + +(def-joint-node citb-launcher-lod0-jg "boneless" 3) +(def-joint-node citb-launcher-lod0-jg "prejoint" 2) +(def-joint-node citb-launcher-lod0-jg "align" 1) + +(def-joint-node reflector-mirror-lod0-jg "boneless" 3) +(def-joint-node reflector-mirror-lod0-jg "prejoint" 2) +(def-joint-node reflector-mirror-lod0-jg "align" 1) + +(def-joint-node water-anim-village3-lava-lod0-jg "boneless" 3) +(def-joint-node water-anim-village3-lava-lod0-jg "prejoint" 2) +(def-joint-node water-anim-village3-lava-lod0-jg "align" 1) + +(def-joint-node catch-fishb-lod0-jg "tail" 5) +(def-joint-node catch-fishb-lod0-jg "mid" 4) +(def-joint-node catch-fishb-lod0-jg "main" 3) +(def-joint-node catch-fishb-lod0-jg "prejoint" 2) +(def-joint-node catch-fishb-lod0-jg "align" 1) + +(def-joint-node sack-lod0-jg "sparks" 7) +(def-joint-node sack-lod0-jg "fuse_bot" 6) +(def-joint-node sack-lod0-jg "neck" 5) +(def-joint-node sack-lod0-jg "mid" 4) +(def-joint-node sack-lod0-jg "top" 3) +(def-joint-node sack-lod0-jg "prejoint" 2) +(def-joint-node sack-lod0-jg "align" 1) + +(def-joint-node citb-disc-b-lod0-jg "boneless" 3) +(def-joint-node citb-disc-b-lod0-jg "prejoint" 2) +(def-joint-node citb-disc-b-lod0-jg "align" 1) + +(def-joint-node ecoclaw-lod0-jg "arm_4" 7) +(def-joint-node ecoclaw-lod0-jg "arm_3" 6) +(def-joint-node ecoclaw-lod0-jg "arm_2" 5) +(def-joint-node ecoclaw-lod0-jg "arm_1" 4) +(def-joint-node ecoclaw-lod0-jg "main" 3) +(def-joint-node ecoclaw-lod0-jg "prejoint" 2) +(def-joint-node ecoclaw-lod0-jg "align" 1) + +(def-joint-node plat-eco-citb-lod0-jg "main" 3) +(def-joint-node plat-eco-citb-lod0-jg "prejoint" 2) +(def-joint-node plat-eco-citb-lod0-jg "align" 1) + +(def-joint-node sculptor-lod0-jg "LringC" 65) +(def-joint-node sculptor-lod0-jg "LmiddleC" 64) +(def-joint-node sculptor-lod0-jg "LthumbC" 63) +(def-joint-node sculptor-lod0-jg "RringC" 62) +(def-joint-node sculptor-lod0-jg "RmiddleC" 61) +(def-joint-node sculptor-lod0-jg "RthumbC" 60) +(def-joint-node sculptor-lod0-jg "hips" 29) +(def-joint-node sculptor-lod0-jg "scarf1" 28) +(def-joint-node sculptor-lod0-jg "LpinkyC" 27) +(def-joint-node sculptor-lod0-jg "LpinkyB" 26) +(def-joint-node sculptor-lod0-jg "LpinkyA" 25) +(def-joint-node sculptor-lod0-jg "LindexC" 24) +(def-joint-node sculptor-lod0-jg "LindexB" 23) +(def-joint-node sculptor-lod0-jg "LindexA" 22) +(def-joint-node sculptor-lod0-jg "LthumbA" 21) +(def-joint-node sculptor-lod0-jg "Lhand" 20) +(def-joint-node sculptor-lod0-jg "Lelbow" 19) +(def-joint-node sculptor-lod0-jg "Lshoulder" 18) +(def-joint-node sculptor-lod0-jg "RpinkyC" 17) +(def-joint-node sculptor-lod0-jg "RpinkyB" 16) +(def-joint-node sculptor-lod0-jg "RpinkyA" 15) +(def-joint-node sculptor-lod0-jg "RindexC" 14) +(def-joint-node sculptor-lod0-jg "align" 1) +(def-joint-node sculptor-lod0-jg "prejoint" 2) +(def-joint-node sculptor-lod0-jg "main" 3) +(def-joint-node sculptor-lod0-jg "chest" 4) +(def-joint-node sculptor-lod0-jg "neck" 5) +(def-joint-node sculptor-lod0-jg "head" 6) +(def-joint-node sculptor-lod0-jg "visor1" 7) +(def-joint-node sculptor-lod0-jg "Rshoulder" 8) +(def-joint-node sculptor-lod0-jg "Relbow" 9) +(def-joint-node sculptor-lod0-jg "Rhand" 10) +(def-joint-node sculptor-lod0-jg "RthumbA" 11) +(def-joint-node sculptor-lod0-jg "RindexA" 12) +(def-joint-node sculptor-lod0-jg "RindexB" 13) +(def-joint-node sculptor-lod0-jg "Lthigh" 30) +(def-joint-node sculptor-lod0-jg "Lknee" 31) +(def-joint-node sculptor-lod0-jg "Lankle" 32) +(def-joint-node sculptor-lod0-jg "Lball" 33) +(def-joint-node sculptor-lod0-jg "Rthigh" 34) +(def-joint-node sculptor-lod0-jg "Rknee" 35) +(def-joint-node sculptor-lod0-jg "Rankle" 36) +(def-joint-node sculptor-lod0-jg "Rball" 37) +(def-joint-node sculptor-lod0-jg "apron1" 38) +(def-joint-node sculptor-lod0-jg "apron2" 39) +(def-joint-node sculptor-lod0-jg "camera" 40) +(def-joint-node sculptor-lod0-jg "cameraB" 41) +(def-joint-node sculptor-lod0-jg "Lear1" 42) +(def-joint-node sculptor-lod0-jg "Lear2" 43) +(def-joint-node sculptor-lod0-jg "Learring" 44) +(def-joint-node sculptor-lod0-jg "Rear1" 45) +(def-joint-node sculptor-lod0-jg "Rear2" 46) +(def-joint-node sculptor-lod0-jg "RthumbB" 47) +(def-joint-node sculptor-lod0-jg "RmiddleA" 48) +(def-joint-node sculptor-lod0-jg "RmiddleB" 49) +(def-joint-node sculptor-lod0-jg "RringA" 50) +(def-joint-node sculptor-lod0-jg "RringB" 51) +(def-joint-node sculptor-lod0-jg "LthumbB" 52) +(def-joint-node sculptor-lod0-jg "LmiddleA" 53) +(def-joint-node sculptor-lod0-jg "LmiddleB" 54) +(def-joint-node sculptor-lod0-jg "LringA" 55) +(def-joint-node sculptor-lod0-jg "LringB" 56) +(def-joint-node sculptor-lod0-jg "scarf2" 57) +(def-joint-node sculptor-lod0-jg "hammer" 58) +(def-joint-node sculptor-lod0-jg "chisel" 59) + +(def-joint-node teetertotter-lod0-jg "lside" 7) +(def-joint-node teetertotter-lod0-jg "rside" 6) +(def-joint-node teetertotter-lod0-jg "rock" 5) +(def-joint-node teetertotter-lod0-jg "pivot" 4) +(def-joint-node teetertotter-lod0-jg "main" 3) +(def-joint-node teetertotter-lod0-jg "prejoint" 2) +(def-joint-node teetertotter-lod0-jg "align" 1) + +(def-joint-node fuel-cell-lod0-jg "camera" 10) +(def-joint-node fuel-cell-lod0-jg "orbitEND" 9) +(def-joint-node fuel-cell-lod0-jg "orbit" 8) +(def-joint-node fuel-cell-lod0-jg "piece4" 7) +(def-joint-node fuel-cell-lod0-jg "piece3" 6) +(def-joint-node fuel-cell-lod0-jg "piece2" 5) +(def-joint-node fuel-cell-lod0-jg "piece1" 4) +(def-joint-node fuel-cell-lod0-jg "main" 3) +(def-joint-node fuel-cell-lod0-jg "prejoint" 2) +(def-joint-node fuel-cell-lod0-jg "align" 1) + +(def-joint-node double-lurker-top-lod0-jg "RthumbB" 30) +(def-joint-node double-lurker-top-lod0-jg "hair" 13) +(def-joint-node double-lurker-top-lod0-jg "LmiddleB" 12) +(def-joint-node double-lurker-top-lod0-jg "LmiddleA" 11) +(def-joint-node double-lurker-top-lod0-jg "LthumbA" 10) +(def-joint-node double-lurker-top-lod0-jg "Lhand" 9) +(def-joint-node double-lurker-top-lod0-jg "Lelbow" 8) +(def-joint-node double-lurker-top-lod0-jg "Lshoulder" 7) +(def-joint-node double-lurker-top-lod0-jg "jawT" 6) +(def-joint-node double-lurker-top-lod0-jg "head" 5) +(def-joint-node double-lurker-top-lod0-jg "chest" 4) +(def-joint-node double-lurker-top-lod0-jg "main" 3) +(def-joint-node double-lurker-top-lod0-jg "prejoint" 2) +(def-joint-node double-lurker-top-lod0-jg "align" 1) +(def-joint-node double-lurker-top-lod0-jg "Rshoulder" 14) +(def-joint-node double-lurker-top-lod0-jg "Relbow" 15) +(def-joint-node double-lurker-top-lod0-jg "Rhand" 16) +(def-joint-node double-lurker-top-lod0-jg "RthumbA" 17) +(def-joint-node double-lurker-top-lod0-jg "RmiddleA" 18) +(def-joint-node double-lurker-top-lod0-jg "RmiddleB" 19) +(def-joint-node double-lurker-top-lod0-jg "hips" 20) +(def-joint-node double-lurker-top-lod0-jg "Lthigh" 21) +(def-joint-node double-lurker-top-lod0-jg "Lknee" 22) +(def-joint-node double-lurker-top-lod0-jg "Lankle" 23) +(def-joint-node double-lurker-top-lod0-jg "Lball" 24) +(def-joint-node double-lurker-top-lod0-jg "Rthigh" 25) +(def-joint-node double-lurker-top-lod0-jg "Rknee" 26) +(def-joint-node double-lurker-top-lod0-jg "Rankle" 27) +(def-joint-node double-lurker-top-lod0-jg "Rball" 28) +(def-joint-node double-lurker-top-lod0-jg "LthumbB" 29) + +(def-joint-node water-anim-misty-dark-eco-pool-lod0-jg "boneless" 3) +(def-joint-node water-anim-misty-dark-eco-pool-lod0-jg "prejoint" 2) +(def-joint-node water-anim-misty-dark-eco-pool-lod0-jg "align" 1) + +(def-joint-node steam-cap-lod0-jg "cap" 4) +(def-joint-node steam-cap-lod0-jg "steamcap" 3) +(def-joint-node steam-cap-lod0-jg "prejoint" 2) +(def-joint-node steam-cap-lod0-jg "align" 1) + +(def-joint-node assistant-lavatube-end-lod0-jg "belt" 94) +(def-joint-node assistant-lavatube-end-lod0-jg "RpantFlap" 93) +(def-joint-node assistant-lavatube-end-lod0-jg "LpantFlap" 92) +(def-joint-node assistant-lavatube-end-lod0-jg "rBotStrap2" 91) +(def-joint-node assistant-lavatube-end-lod0-jg "rBotStrap1" 90) +(def-joint-node assistant-lavatube-end-lod0-jg "lBotStrap2" 89) +(def-joint-node assistant-lavatube-end-lod0-jg "lBotStrap1" 88) +(def-joint-node assistant-lavatube-end-lod0-jg "rKneeFlap" 87) +(def-joint-node assistant-lavatube-end-lod0-jg "RfootFlaps" 86) +(def-joint-node assistant-lavatube-end-lod0-jg "RtoeStrap" 85) +(def-joint-node assistant-lavatube-end-lod0-jg "lKneeFlap" 84) +(def-joint-node assistant-lavatube-end-lod0-jg "LfootFlaps" 83) +(def-joint-node assistant-lavatube-end-lod0-jg "gogglesLeft" 82) +(def-joint-node assistant-lavatube-end-lod0-jg "gogglesRight" 81) +(def-joint-node assistant-lavatube-end-lod0-jg "gogglesMid" 80) +(def-joint-node assistant-lavatube-end-lod0-jg "gogglesBase" 79) +(def-joint-node assistant-lavatube-end-lod0-jg "rBoob" 78) +(def-joint-node assistant-lavatube-end-lod0-jg "lBoob" 77) +(def-joint-node assistant-lavatube-end-lod0-jg "rTopStrap2" 76) +(def-joint-node assistant-lavatube-end-lod0-jg "rTopStrap1" 75) +(def-joint-node assistant-lavatube-end-lod0-jg "rGlove" 74) +(def-joint-node assistant-lavatube-end-lod0-jg "RpinkyC" 73) +(def-joint-node assistant-lavatube-end-lod0-jg "RpinkyB" 72) +(def-joint-node assistant-lavatube-end-lod0-jg "RpinkyA" 71) +(def-joint-node assistant-lavatube-end-lod0-jg "RringC" 70) +(def-joint-node assistant-lavatube-end-lod0-jg "RringB" 69) +(def-joint-node assistant-lavatube-end-lod0-jg "RringA" 68) +(def-joint-node assistant-lavatube-end-lod0-jg "RmiddleC" 67) +(def-joint-node assistant-lavatube-end-lod0-jg "RmiddleB" 66) +(def-joint-node assistant-lavatube-end-lod0-jg "RmiddleA" 65) +(def-joint-node assistant-lavatube-end-lod0-jg "RindexC" 64) +(def-joint-node assistant-lavatube-end-lod0-jg "RindexB" 63) +(def-joint-node assistant-lavatube-end-lod0-jg "RindexA" 62) +(def-joint-node assistant-lavatube-end-lod0-jg "RthumbC" 61) +(def-joint-node assistant-lavatube-end-lod0-jg "RthumbB" 60) +(def-joint-node assistant-lavatube-end-lod0-jg "camera" 29) +(def-joint-node assistant-lavatube-end-lod0-jg "Rball" 28) +(def-joint-node assistant-lavatube-end-lod0-jg "Rankle" 27) +(def-joint-node assistant-lavatube-end-lod0-jg "Rknee" 26) +(def-joint-node assistant-lavatube-end-lod0-jg "Rthigh" 25) +(def-joint-node assistant-lavatube-end-lod0-jg "LtoeStrap" 24) +(def-joint-node assistant-lavatube-end-lod0-jg "Lball" 23) +(def-joint-node assistant-lavatube-end-lod0-jg "Lankle" 22) +(def-joint-node assistant-lavatube-end-lod0-jg "Lknee" 21) +(def-joint-node assistant-lavatube-end-lod0-jg "Lthigh" 20) +(def-joint-node assistant-lavatube-end-lod0-jg "hips" 19) +(def-joint-node assistant-lavatube-end-lod0-jg "Rhand" 18) +(def-joint-node assistant-lavatube-end-lod0-jg "Relbow" 17) +(def-joint-node assistant-lavatube-end-lod0-jg "Rshoulder" 16) +(def-joint-node assistant-lavatube-end-lod0-jg "lTopStrap1" 15) +(def-joint-node assistant-lavatube-end-lod0-jg "Lhand" 14) +(def-joint-node assistant-lavatube-end-lod0-jg "align" 1) +(def-joint-node assistant-lavatube-end-lod0-jg "prejoint" 2) +(def-joint-node assistant-lavatube-end-lod0-jg "main" 3) +(def-joint-node assistant-lavatube-end-lod0-jg "chest" 4) +(def-joint-node assistant-lavatube-end-lod0-jg "neck" 5) +(def-joint-node assistant-lavatube-end-lod0-jg "head" 6) +(def-joint-node assistant-lavatube-end-lod0-jg "lEar1" 7) +(def-joint-node assistant-lavatube-end-lod0-jg "lEar2" 8) +(def-joint-node assistant-lavatube-end-lod0-jg "rEar1" 9) +(def-joint-node assistant-lavatube-end-lod0-jg "rEar2" 10) +(def-joint-node assistant-lavatube-end-lod0-jg "backHair1" 11) +(def-joint-node assistant-lavatube-end-lod0-jg "Lshoulder" 12) +(def-joint-node assistant-lavatube-end-lod0-jg "Lelbow" 13) +(def-joint-node assistant-lavatube-end-lod0-jg "cameraB" 30) +(def-joint-node assistant-lavatube-end-lod0-jg "flipR1" 31) +(def-joint-node assistant-lavatube-end-lod0-jg "flipR2" 32) +(def-joint-node assistant-lavatube-end-lod0-jg "flipR3" 33) +(def-joint-node assistant-lavatube-end-lod0-jg "flipL1" 34) +(def-joint-node assistant-lavatube-end-lod0-jg "flipL2" 35) +(def-joint-node assistant-lavatube-end-lod0-jg "flipL3" 36) +(def-joint-node assistant-lavatube-end-lod0-jg "Lhair1" 37) +(def-joint-node assistant-lavatube-end-lod0-jg "Lhair2" 38) +(def-joint-node assistant-lavatube-end-lod0-jg "Rhair1" 39) +(def-joint-node assistant-lavatube-end-lod0-jg "Rhair2" 40) +(def-joint-node assistant-lavatube-end-lod0-jg "backHair2" 41) +(def-joint-node assistant-lavatube-end-lod0-jg "LthumbA" 42) +(def-joint-node assistant-lavatube-end-lod0-jg "LthumbB" 43) +(def-joint-node assistant-lavatube-end-lod0-jg "LthumbC" 44) +(def-joint-node assistant-lavatube-end-lod0-jg "LindexA" 45) +(def-joint-node assistant-lavatube-end-lod0-jg "LindexB" 46) +(def-joint-node assistant-lavatube-end-lod0-jg "LindexC" 47) +(def-joint-node assistant-lavatube-end-lod0-jg "LmiddleA" 48) +(def-joint-node assistant-lavatube-end-lod0-jg "LmiddleB" 49) +(def-joint-node assistant-lavatube-end-lod0-jg "LmiddleC" 50) +(def-joint-node assistant-lavatube-end-lod0-jg "LringA" 51) +(def-joint-node assistant-lavatube-end-lod0-jg "LringB" 52) +(def-joint-node assistant-lavatube-end-lod0-jg "LringC" 53) +(def-joint-node assistant-lavatube-end-lod0-jg "LpinkyA" 54) +(def-joint-node assistant-lavatube-end-lod0-jg "LpinkyB" 55) +(def-joint-node assistant-lavatube-end-lod0-jg "LpinkyC" 56) +(def-joint-node assistant-lavatube-end-lod0-jg "lGlove" 57) +(def-joint-node assistant-lavatube-end-lod0-jg "lTopStrap2" 58) +(def-joint-node assistant-lavatube-end-lod0-jg "RthumbA" 59) + +(def-joint-node citb-chain-plat-lod0-jg "boneless" 3) +(def-joint-node citb-chain-plat-lod0-jg "prejoint" 2) +(def-joint-node citb-chain-plat-lod0-jg "align" 1) + +(def-joint-node orbit-plat-lod0-jg "button" 4) +(def-joint-node orbit-plat-lod0-jg "main" 3) +(def-joint-node orbit-plat-lod0-jg "prejoint" 2) +(def-joint-node orbit-plat-lod0-jg "align" 1) + +(def-joint-node shover-lod0-jg "boneless" 3) +(def-joint-node shover-lod0-jg "prejoint" 2) +(def-joint-node shover-lod0-jg "align" 1) + +(def-joint-node bird-lady-beach-lod0-jg "rBoob" 68) +(def-joint-node bird-lady-beach-lod0-jg "lBoob" 67) +(def-joint-node bird-lady-beach-lod0-jg "LringC" 66) +(def-joint-node bird-lady-beach-lod0-jg "LringB" 65) +(def-joint-node bird-lady-beach-lod0-jg "LringA" 64) +(def-joint-node bird-lady-beach-lod0-jg "LmiddleC" 63) +(def-joint-node bird-lady-beach-lod0-jg "LmiddleB" 62) +(def-joint-node bird-lady-beach-lod0-jg "LmiddleA" 61) +(def-joint-node bird-lady-beach-lod0-jg "RringC" 60) +(def-joint-node bird-lady-beach-lod0-jg "Lshoulder" 29) +(def-joint-node bird-lady-beach-lod0-jg "RpinkyC" 28) +(def-joint-node bird-lady-beach-lod0-jg "RpinkyB" 27) +(def-joint-node bird-lady-beach-lod0-jg "RpinkyA" 26) +(def-joint-node bird-lady-beach-lod0-jg "RindexC" 25) +(def-joint-node bird-lady-beach-lod0-jg "RindexB" 24) +(def-joint-node bird-lady-beach-lod0-jg "RindexA" 23) +(def-joint-node bird-lady-beach-lod0-jg "RthumbC" 22) +(def-joint-node bird-lady-beach-lod0-jg "RthumbB" 21) +(def-joint-node bird-lady-beach-lod0-jg "RthumbA" 20) +(def-joint-node bird-lady-beach-lod0-jg "Rhand" 19) +(def-joint-node bird-lady-beach-lod0-jg "Relbow" 18) +(def-joint-node bird-lady-beach-lod0-jg "Rshoulder" 17) +(def-joint-node bird-lady-beach-lod0-jg "scope" 16) +(def-joint-node bird-lady-beach-lod0-jg "scopeMID" 15) +(def-joint-node bird-lady-beach-lod0-jg "rEarEND" 14) +(def-joint-node bird-lady-beach-lod0-jg "align" 1) +(def-joint-node bird-lady-beach-lod0-jg "prejoint" 2) +(def-joint-node bird-lady-beach-lod0-jg "main" 3) +(def-joint-node bird-lady-beach-lod0-jg "chest" 4) +(def-joint-node bird-lady-beach-lod0-jg "neck" 5) +(def-joint-node bird-lady-beach-lod0-jg "head" 6) +(def-joint-node bird-lady-beach-lod0-jg "headEND" 7) +(def-joint-node bird-lady-beach-lod0-jg "RchickEye" 8) +(def-joint-node bird-lady-beach-lod0-jg "ploomA" 9) +(def-joint-node bird-lady-beach-lod0-jg "ploomB" 10) +(def-joint-node bird-lady-beach-lod0-jg "lEar" 11) +(def-joint-node bird-lady-beach-lod0-jg "lEarEND" 12) +(def-joint-node bird-lady-beach-lod0-jg "rEar" 13) +(def-joint-node bird-lady-beach-lod0-jg "Lelbow" 30) +(def-joint-node bird-lady-beach-lod0-jg "Lhand" 31) +(def-joint-node bird-lady-beach-lod0-jg "LthumbA" 32) +(def-joint-node bird-lady-beach-lod0-jg "LthumbB" 33) +(def-joint-node bird-lady-beach-lod0-jg "LthumbC" 34) +(def-joint-node bird-lady-beach-lod0-jg "LindexA" 35) +(def-joint-node bird-lady-beach-lod0-jg "LindexB" 36) +(def-joint-node bird-lady-beach-lod0-jg "LindexC" 37) +(def-joint-node bird-lady-beach-lod0-jg "LpinkyA" 38) +(def-joint-node bird-lady-beach-lod0-jg "LpinkyB" 39) +(def-joint-node bird-lady-beach-lod0-jg "LpinkyC" 40) +(def-joint-node bird-lady-beach-lod0-jg "hips" 41) +(def-joint-node bird-lady-beach-lod0-jg "Lthigh" 42) +(def-joint-node bird-lady-beach-lod0-jg "Lknee" 43) +(def-joint-node bird-lady-beach-lod0-jg "Lankle" 44) +(def-joint-node bird-lady-beach-lod0-jg "Lball" 45) +(def-joint-node bird-lady-beach-lod0-jg "Rthigh" 46) +(def-joint-node bird-lady-beach-lod0-jg "Rknee" 47) +(def-joint-node bird-lady-beach-lod0-jg "Rankle" 48) +(def-joint-node bird-lady-beach-lod0-jg "Rball" 49) +(def-joint-node bird-lady-beach-lod0-jg "pouch" 50) +(def-joint-node bird-lady-beach-lod0-jg "camera" 51) +(def-joint-node bird-lady-beach-lod0-jg "cameraB" 52) +(def-joint-node bird-lady-beach-lod0-jg "LchickEye" 53) +(def-joint-node bird-lady-beach-lod0-jg "ploomEND" 54) +(def-joint-node bird-lady-beach-lod0-jg "RmiddleA" 55) +(def-joint-node bird-lady-beach-lod0-jg "RmiddleB" 56) +(def-joint-node bird-lady-beach-lod0-jg "RmiddleC" 57) +(def-joint-node bird-lady-beach-lod0-jg "RringA" 58) +(def-joint-node bird-lady-beach-lod0-jg "RringB" 59) + +(def-joint-node evilbro-lod0-jg "rball3" 75) +(def-joint-node evilbro-lod0-jg "rball2" 74) +(def-joint-node evilbro-lod0-jg "fball3" 73) +(def-joint-node evilbro-lod0-jg "fball2" 72) +(def-joint-node evilbro-lod0-jg "lball3" 71) +(def-joint-node evilbro-lod0-jg "lball2" 70) +(def-joint-node evilbro-lod0-jg "Rball" 69) +(def-joint-node evilbro-lod0-jg "Rankle" 68) +(def-joint-node evilbro-lod0-jg "Rknee" 67) +(def-joint-node evilbro-lod0-jg "Rthigh" 66) +(def-joint-node evilbro-lod0-jg "Lball" 65) +(def-joint-node evilbro-lod0-jg "Lankle" 64) +(def-joint-node evilbro-lod0-jg "Lknee" 63) +(def-joint-node evilbro-lod0-jg "RpinkyB" 62) +(def-joint-node evilbro-lod0-jg "RpinkyA" 61) +(def-joint-node evilbro-lod0-jg "RringB" 60) +(def-joint-node evilbro-lod0-jg "bcape1" 29) +(def-joint-node evilbro-lod0-jg "Lthigh" 28) +(def-joint-node evilbro-lod0-jg "hips" 27) +(def-joint-node evilbro-lod0-jg "rcollar" 26) +(def-joint-node evilbro-lod0-jg "bcollar" 25) +(def-joint-node evilbro-lod0-jg "lcollar" 24) +(def-joint-node evilbro-lod0-jg "Rhand" 23) +(def-joint-node evilbro-lod0-jg "Relbow" 22) +(def-joint-node evilbro-lod0-jg "Rshoulder" 21) +(def-joint-node evilbro-lod0-jg "lsleeve" 20) +(def-joint-node evilbro-lod0-jg "LthumbB" 19) +(def-joint-node evilbro-lod0-jg "LthumbA" 18) +(def-joint-node evilbro-lod0-jg "Lhand" 17) +(def-joint-node evilbro-lod0-jg "Lelbow" 16) +(def-joint-node evilbro-lod0-jg "Lshoulder" 15) +(def-joint-node evilbro-lod0-jg "hair3" 14) +(def-joint-node evilbro-lod0-jg "align" 1) +(def-joint-node evilbro-lod0-jg "prejoint" 2) +(def-joint-node evilbro-lod0-jg "main" 3) +(def-joint-node evilbro-lod0-jg "chest" 4) +(def-joint-node evilbro-lod0-jg "neck" 5) +(def-joint-node evilbro-lod0-jg "head" 6) +(def-joint-node evilbro-lod0-jg "lear1" 7) +(def-joint-node evilbro-lod0-jg "lear2" 8) +(def-joint-node evilbro-lod0-jg "rear1" 9) +(def-joint-node evilbro-lod0-jg "rear2" 10) +(def-joint-node evilbro-lod0-jg "hairBase" 11) +(def-joint-node evilbro-lod0-jg "hair1" 12) +(def-joint-node evilbro-lod0-jg "hair2" 13) +(def-joint-node evilbro-lod0-jg "bcape2" 30) +(def-joint-node evilbro-lod0-jg "fCapeA" 31) +(def-joint-node evilbro-lod0-jg "fCapeEND" 32) +(def-joint-node evilbro-lod0-jg "lball1" 33) +(def-joint-node evilbro-lod0-jg "fball1" 34) +(def-joint-node evilbro-lod0-jg "rball1" 35) +(def-joint-node evilbro-lod0-jg "lcape1" 36) +(def-joint-node evilbro-lod0-jg "lcape2" 37) +(def-joint-node evilbro-lod0-jg "rcape1" 38) +(def-joint-node evilbro-lod0-jg "rcape2" 39) +(def-joint-node evilbro-lod0-jg "camera" 40) +(def-joint-node evilbro-lod0-jg "goatee1" 41) +(def-joint-node evilbro-lod0-jg "goatee2" 42) +(def-joint-node evilbro-lod0-jg "LthumbC" 43) +(def-joint-node evilbro-lod0-jg "LindexA" 44) +(def-joint-node evilbro-lod0-jg "LindexB" 45) +(def-joint-node evilbro-lod0-jg "LmiddleA" 46) +(def-joint-node evilbro-lod0-jg "LmiddleB" 47) +(def-joint-node evilbro-lod0-jg "LringA" 48) +(def-joint-node evilbro-lod0-jg "LringB" 49) +(def-joint-node evilbro-lod0-jg "LpinkyA" 50) +(def-joint-node evilbro-lod0-jg "LpinkyB" 51) +(def-joint-node evilbro-lod0-jg "RthumbA" 52) +(def-joint-node evilbro-lod0-jg "RthumbB" 53) +(def-joint-node evilbro-lod0-jg "RthumbC" 54) +(def-joint-node evilbro-lod0-jg "RindexA" 55) +(def-joint-node evilbro-lod0-jg "RindexB" 56) +(def-joint-node evilbro-lod0-jg "RmiddleA" 57) +(def-joint-node evilbro-lod0-jg "RmiddleB" 58) +(def-joint-node evilbro-lod0-jg "RringA" 59) + +(def-joint-node water-anim-sunken-big-room-lod0-jg "boneless" 3) +(def-joint-node water-anim-sunken-big-room-lod0-jg "prejoint" 2) +(def-joint-node water-anim-sunken-big-room-lod0-jg "align" 1) + +(def-joint-node citb-arm-c-lod0-jg "center_" 4) +(def-joint-node citb-arm-c-lod0-jg "boneless" 3) +(def-joint-node citb-arm-c-lod0-jg "prejoint" 2) +(def-joint-node citb-arm-c-lod0-jg "align" 1) + +(def-joint-node snow-switch-lod0-jg "boneless" 3) +(def-joint-node snow-switch-lod0-jg "prejoint" 2) +(def-joint-node snow-switch-lod0-jg "align" 1) + +(def-joint-node water-anim-misty-mud-lonely-island-lod0-jg "boneless" 3) +(def-joint-node water-anim-misty-mud-lonely-island-lod0-jg "prejoint" 2) +(def-joint-node water-anim-misty-mud-lonely-island-lod0-jg "align" 1) + +(def-joint-node power-left-lod0-jg "150" 53) +(def-joint-node power-left-lod0-jg "149" 52) +(def-joint-node power-left-lod0-jg "148" 51) +(def-joint-node power-left-lod0-jg "147" 50) +(def-joint-node power-left-lod0-jg "146" 49) +(def-joint-node power-left-lod0-jg "145" 48) +(def-joint-node power-left-lod0-jg "144" 47) +(def-joint-node power-left-lod0-jg "143" 46) +(def-joint-node power-left-lod0-jg "142" 45) +(def-joint-node power-left-lod0-jg "141" 44) +(def-joint-node power-left-lod0-jg "140" 43) +(def-joint-node power-left-lod0-jg "139" 42) +(def-joint-node power-left-lod0-jg "138" 41) +(def-joint-node power-left-lod0-jg "137" 40) +(def-joint-node power-left-lod0-jg "136" 39) +(def-joint-node power-left-lod0-jg "135" 38) +(def-joint-node power-left-lod0-jg "134" 37) +(def-joint-node power-left-lod0-jg "133" 36) +(def-joint-node power-left-lod0-jg "132" 35) +(def-joint-node power-left-lod0-jg "131" 34) +(def-joint-node power-left-lod0-jg "130" 33) +(def-joint-node power-left-lod0-jg "129" 32) +(def-joint-node power-left-lod0-jg "128" 31) +(def-joint-node power-left-lod0-jg "127" 30) +(def-joint-node power-left-lod0-jg "110" 13) +(def-joint-node power-left-lod0-jg "109" 12) +(def-joint-node power-left-lod0-jg "108" 11) +(def-joint-node power-left-lod0-jg "107" 10) +(def-joint-node power-left-lod0-jg "106" 9) +(def-joint-node power-left-lod0-jg "105" 8) +(def-joint-node power-left-lod0-jg "104" 7) +(def-joint-node power-left-lod0-jg "103" 6) +(def-joint-node power-left-lod0-jg "102" 5) +(def-joint-node power-left-lod0-jg "101" 4) +(def-joint-node power-left-lod0-jg "main" 3) +(def-joint-node power-left-lod0-jg "prejoint" 2) +(def-joint-node power-left-lod0-jg "align" 1) +(def-joint-node power-left-lod0-jg "111" 14) +(def-joint-node power-left-lod0-jg "112" 15) +(def-joint-node power-left-lod0-jg "113" 16) +(def-joint-node power-left-lod0-jg "114" 17) +(def-joint-node power-left-lod0-jg "115" 18) +(def-joint-node power-left-lod0-jg "116" 19) +(def-joint-node power-left-lod0-jg "117" 20) +(def-joint-node power-left-lod0-jg "118" 21) +(def-joint-node power-left-lod0-jg "119" 22) +(def-joint-node power-left-lod0-jg "120" 23) +(def-joint-node power-left-lod0-jg "121" 24) +(def-joint-node power-left-lod0-jg "122" 25) +(def-joint-node power-left-lod0-jg "123" 26) +(def-joint-node power-left-lod0-jg "124" 27) +(def-joint-node power-left-lod0-jg "125" 28) +(def-joint-node power-left-lod0-jg "126" 29) + +(def-joint-node crate-iron-lod0-jg "crate" 3) +(def-joint-node crate-iron-lod0-jg "prejoint" 2) +(def-joint-node crate-iron-lod0-jg "align" 1) + +(def-joint-node medres-firecanyon-lod0-jg "boneless" 3) +(def-joint-node medres-firecanyon-lod0-jg "prejoint" 2) +(def-joint-node medres-firecanyon-lod0-jg "align" 1) + +(def-joint-node launcherdoor-geo-jg "slice12" 15) +(def-joint-node launcherdoor-geo-jg "slice11" 14) +(def-joint-node launcherdoor-geo-jg "align" 1) +(def-joint-node launcherdoor-geo-jg "prejoint" 2) +(def-joint-node launcherdoor-geo-jg "main" 3) +(def-joint-node launcherdoor-geo-jg "slice1" 4) +(def-joint-node launcherdoor-geo-jg "slice2" 5) +(def-joint-node launcherdoor-geo-jg "slice3" 6) +(def-joint-node launcherdoor-geo-jg "slice4" 7) +(def-joint-node launcherdoor-geo-jg "slice5" 8) +(def-joint-node launcherdoor-geo-jg "slice6" 9) +(def-joint-node launcherdoor-geo-jg "slice7" 10) +(def-joint-node launcherdoor-geo-jg "slice8" 11) +(def-joint-node launcherdoor-geo-jg "slice9" 12) +(def-joint-node launcherdoor-geo-jg "slice10" 13) + +(def-joint-node caveelevator-lod0-jg "frontaxle" 5) +(def-joint-node caveelevator-lod0-jg "backaxle" 4) +(def-joint-node caveelevator-lod0-jg "main" 3) +(def-joint-node caveelevator-lod0-jg "prejoint" 2) +(def-joint-node caveelevator-lod0-jg "align" 1) + +(def-joint-node racer-geo-jg "bootAnkleL" 16) +(def-joint-node racer-geo-jg "left_shoe" 15) +(def-joint-node racer-geo-jg "bootAnkleR" 14) +(def-joint-node racer-geo-jg "align" 1) +(def-joint-node racer-geo-jg "prejoint" 2) +(def-joint-node racer-geo-jg "racer" 3) +(def-joint-node racer-geo-jg "mainProp" 4) +(def-joint-node racer-geo-jg "front" 5) +(def-joint-node racer-geo-jg "tail" 6) +(def-joint-node racer-geo-jg "tail_top" 7) +(def-joint-node racer-geo-jg "tail_right" 8) +(def-joint-node racer-geo-jg "tail_left" 9) +(def-joint-node racer-geo-jg "bottomProp" 10) +(def-joint-node racer-geo-jg "leftStick" 11) +(def-joint-node racer-geo-jg "rightStick" 12) +(def-joint-node racer-geo-jg "right_shoe" 13) + +(def-joint-node citb-button-lod0-jg "main_" 3) +(def-joint-node citb-button-lod0-jg "prejoint" 2) +(def-joint-node citb-button-lod0-jg "align" 1) + +(def-joint-node citb-chains-lod0-jg "six_" 9) +(def-joint-node citb-chains-lod0-jg "five_" 8) +(def-joint-node citb-chains-lod0-jg "four_" 7) +(def-joint-node citb-chains-lod0-jg "three_" 6) +(def-joint-node citb-chains-lod0-jg "two_" 5) +(def-joint-node citb-chains-lod0-jg "one_" 4) +(def-joint-node citb-chains-lod0-jg "main_" 3) +(def-joint-node citb-chains-lod0-jg "prejoint" 2) +(def-joint-node citb-chains-lod0-jg "align" 1) + +(def-joint-node water-anim-village1-rice-paddy-lod0-jg "boneless" 3) +(def-joint-node water-anim-village1-rice-paddy-lod0-jg "prejoint" 2) +(def-joint-node water-anim-village1-rice-paddy-lod0-jg "align" 1) + +(def-joint-node barrel-lod0-jg "crate" 3) +(def-joint-node barrel-lod0-jg "prejoint" 2) +(def-joint-node barrel-lod0-jg "align" 1) + +(def-joint-node windturbine-lod0-jg "main" 3) +(def-joint-node windturbine-lod0-jg "prejoint" 2) +(def-joint-node windturbine-lod0-jg "align" 1) + +(def-joint-node citb-firehose-lod0-jg "hosehead" 5) +(def-joint-node citb-firehose-lod0-jg "hose" 4) +(def-joint-node citb-firehose-lod0-jg "main" 3) +(def-joint-node citb-firehose-lod0-jg "prejoint" 2) +(def-joint-node citb-firehose-lod0-jg "align" 1) + +(def-joint-node aphid-lurker-lod0-jg "ring" 36) +(def-joint-node aphid-lurker-lod0-jg "head_spike" 35) +(def-joint-node aphid-lurker-lod0-jg "r_antenna2" 34) +(def-joint-node aphid-lurker-lod0-jg "r_antenna1" 33) +(def-joint-node aphid-lurker-lod0-jg "l_antenna2" 32) +(def-joint-node aphid-lurker-lod0-jg "l_antenna1" 31) +(def-joint-node aphid-lurker-lod0-jg "spike5" 30) +(def-joint-node aphid-lurker-lod0-jg "spike3" 13) +(def-joint-node aphid-lurker-lod0-jg "jaw" 12) +(def-joint-node aphid-lurker-lod0-jg "head" 11) +(def-joint-node aphid-lurker-lod0-jg "neck" 10) +(def-joint-node aphid-lurker-lod0-jg "chest" 9) +(def-joint-node aphid-lurker-lod0-jg "spike6" 8) +(def-joint-node aphid-lurker-lod0-jg "spike9" 7) +(def-joint-node aphid-lurker-lod0-jg "spike1" 6) +(def-joint-node aphid-lurker-lod0-jg "r_seg2" 5) +(def-joint-node aphid-lurker-lod0-jg "r_seg1" 4) +(def-joint-node aphid-lurker-lod0-jg "main" 3) +(def-joint-node aphid-lurker-lod0-jg "prejoint" 2) +(def-joint-node aphid-lurker-lod0-jg "align" 1) +(def-joint-node aphid-lurker-lod0-jg "spike7" 14) +(def-joint-node aphid-lurker-lod0-jg "spike4" 15) +(def-joint-node aphid-lurker-lod0-jg "rleg_c1" 16) +(def-joint-node aphid-lurker-lod0-jg "rleg_c2" 17) +(def-joint-node aphid-lurker-lod0-jg "lleg_c1" 18) +(def-joint-node aphid-lurker-lod0-jg "lleg_c2" 19) +(def-joint-node aphid-lurker-lod0-jg "lleg_b1" 20) +(def-joint-node aphid-lurker-lod0-jg "lleg_b2" 21) +(def-joint-node aphid-lurker-lod0-jg "lleg_a1" 22) +(def-joint-node aphid-lurker-lod0-jg "lleg_a2" 23) +(def-joint-node aphid-lurker-lod0-jg "rleg_b1" 24) +(def-joint-node aphid-lurker-lod0-jg "rleg_b2" 25) +(def-joint-node aphid-lurker-lod0-jg "rleg_a1" 26) +(def-joint-node aphid-lurker-lod0-jg "rleg_a2" 27) +(def-joint-node aphid-lurker-lod0-jg "spike2" 28) +(def-joint-node aphid-lurker-lod0-jg "spike8" 29) + +(def-joint-node puffer-main-lod0-jg "spike9" 60) +(def-joint-node puffer-main-lod0-jg "lwingC" 29) +(def-joint-node puffer-main-lod0-jg "lwingB" 28) +(def-joint-node puffer-main-lod0-jg "lwingA" 27) +(def-joint-node puffer-main-lod0-jg "rhand" 26) +(def-joint-node puffer-main-lod0-jg "relbow" 25) +(def-joint-node puffer-main-lod0-jg "rarm" 24) +(def-joint-node puffer-main-lod0-jg "lhand" 23) +(def-joint-node puffer-main-lod0-jg "lelbow" 22) +(def-joint-node puffer-main-lod0-jg "larm" 21) +(def-joint-node puffer-main-lod0-jg "rball" 20) +(def-joint-node puffer-main-lod0-jg "rankle" 19) +(def-joint-node puffer-main-lod0-jg "rknee" 18) +(def-joint-node puffer-main-lod0-jg "rthigh" 17) +(def-joint-node puffer-main-lod0-jg "lball" 16) +(def-joint-node puffer-main-lod0-jg "lankle" 15) +(def-joint-node puffer-main-lod0-jg "lknee" 14) +(def-joint-node puffer-main-lod0-jg "align" 1) +(def-joint-node puffer-main-lod0-jg "prejoint" 2) +(def-joint-node puffer-main-lod0-jg "main" 3) +(def-joint-node puffer-main-lod0-jg "neck" 4) +(def-joint-node puffer-main-lod0-jg "head" 5) +(def-joint-node puffer-main-lod0-jg "jaw" 6) +(def-joint-node puffer-main-lod0-jg "hips" 7) +(def-joint-node puffer-main-lod0-jg "tailA" 8) +(def-joint-node puffer-main-lod0-jg "tailB" 9) +(def-joint-node puffer-main-lod0-jg "tailC" 10) +(def-joint-node puffer-main-lod0-jg "tailD" 11) +(def-joint-node puffer-main-lod0-jg "tailE" 12) +(def-joint-node puffer-main-lod0-jg "lthigh" 13) +(def-joint-node puffer-main-lod0-jg "rwingA" 30) +(def-joint-node puffer-main-lod0-jg "rwingB" 31) +(def-joint-node puffer-main-lod0-jg "rwingC" 32) +(def-joint-node puffer-main-lod0-jg "ring" 33) +(def-joint-node puffer-main-lod0-jg "spike12" 34) +(def-joint-node puffer-main-lod0-jg "spike10" 35) +(def-joint-node puffer-main-lod0-jg "spike3" 36) +(def-joint-node puffer-main-lod0-jg "spike15" 37) +(def-joint-node puffer-main-lod0-jg "spike6" 38) +(def-joint-node puffer-main-lod0-jg "lpinkyA" 39) +(def-joint-node puffer-main-lod0-jg "lpinkyB" 40) +(def-joint-node puffer-main-lod0-jg "lindexA" 41) +(def-joint-node puffer-main-lod0-jg "lindexB" 42) +(def-joint-node puffer-main-lod0-jg "lthumbA" 43) +(def-joint-node puffer-main-lod0-jg "lthumbB" 44) +(def-joint-node puffer-main-lod0-jg "rpinkyA" 45) +(def-joint-node puffer-main-lod0-jg "rpinkyB" 46) +(def-joint-node puffer-main-lod0-jg "rindexA" 47) +(def-joint-node puffer-main-lod0-jg "rindexB" 48) +(def-joint-node puffer-main-lod0-jg "rthumbA" 49) +(def-joint-node puffer-main-lod0-jg "rthumbB" 50) +(def-joint-node puffer-main-lod0-jg "spike14" 51) +(def-joint-node puffer-main-lod0-jg "spike5" 52) +(def-joint-node puffer-main-lod0-jg "spike7" 53) +(def-joint-node puffer-main-lod0-jg "spike8" 54) +(def-joint-node puffer-main-lod0-jg "spike2" 55) +(def-joint-node puffer-main-lod0-jg "spike11" 56) +(def-joint-node puffer-main-lod0-jg "spike4" 57) +(def-joint-node puffer-main-lod0-jg "spike13" 58) +(def-joint-node puffer-main-lod0-jg "spike1" 59) + +(def-joint-node citb-arm-a-lod0-jg "center_" 4) +(def-joint-node citb-arm-a-lod0-jg "boneless" 3) +(def-joint-node citb-arm-a-lod0-jg "prejoint" 2) +(def-joint-node citb-arm-a-lod0-jg "align" 1) + +(def-joint-node darkvine-lod0-jg "plantE" 8) +(def-joint-node darkvine-lod0-jg "plantD" 7) +(def-joint-node darkvine-lod0-jg "plantC" 6) +(def-joint-node darkvine-lod0-jg "plantB" 5) +(def-joint-node darkvine-lod0-jg "plantA" 4) +(def-joint-node darkvine-lod0-jg "BASE" 3) +(def-joint-node darkvine-lod0-jg "prejoint" 2) +(def-joint-node darkvine-lod0-jg "align" 1) + +(def-joint-node deathcam-lod0-jg "camera" 4) +(def-joint-node deathcam-lod0-jg "deathcam" 3) +(def-joint-node deathcam-lod0-jg "prejoint" 2) +(def-joint-node deathcam-lod0-jg "align" 1) + +(def-joint-node lavabase-lod0-jg "six" 9) +(def-joint-node lavabase-lod0-jg "four" 8) +(def-joint-node lavabase-lod0-jg "two" 7) +(def-joint-node lavabase-lod0-jg "five" 6) +(def-joint-node lavabase-lod0-jg "three" 5) +(def-joint-node lavabase-lod0-jg "one" 4) +(def-joint-node lavabase-lod0-jg "main" 3) +(def-joint-node lavabase-lod0-jg "prejoint" 2) +(def-joint-node lavabase-lod0-jg "align" 1) + +(def-joint-node flutflut-lod0-jg "tailFR" 41) +(def-joint-node flutflut-lod0-jg "tailFL" 40) +(def-joint-node flutflut-lod0-jg "rWingF2" 39) +(def-joint-node flutflut-lod0-jg "rWing2" 38) +(def-joint-node flutflut-lod0-jg "rWing1" 37) +(def-joint-node flutflut-lod0-jg "rShoulder" 36) +(def-joint-node flutflut-lod0-jg "lWingF2" 35) +(def-joint-node flutflut-lod0-jg "lWing2" 34) +(def-joint-node flutflut-lod0-jg "lWing1" 33) +(def-joint-node flutflut-lod0-jg "lShoulder" 32) +(def-joint-node flutflut-lod0-jg "tongue" 31) +(def-joint-node flutflut-lod0-jg "jaw" 30) +(def-joint-node flutflut-lod0-jg "tail1" 13) +(def-joint-node flutflut-lod0-jg "lRearToe" 12) +(def-joint-node flutflut-lod0-jg "lFrontToe" 11) +(def-joint-node flutflut-lod0-jg "lOutToe" 10) +(def-joint-node flutflut-lod0-jg "lInToe" 9) +(def-joint-node flutflut-lod0-jg "Lankle" 8) +(def-joint-node flutflut-lod0-jg "Lknee" 7) +(def-joint-node flutflut-lod0-jg "Lquarter" 6) +(def-joint-node flutflut-lod0-jg "Lthigh" 5) +(def-joint-node flutflut-lod0-jg "hips" 4) +(def-joint-node flutflut-lod0-jg "main" 3) +(def-joint-node flutflut-lod0-jg "prejoint" 2) +(def-joint-node flutflut-lod0-jg "align" 1) +(def-joint-node flutflut-lod0-jg "tail2" 14) +(def-joint-node flutflut-lod0-jg "tail3" 15) +(def-joint-node flutflut-lod0-jg "Rthigh" 16) +(def-joint-node flutflut-lod0-jg "Rquarter" 17) +(def-joint-node flutflut-lod0-jg "Rknee" 18) +(def-joint-node flutflut-lod0-jg "Rankle" 19) +(def-joint-node flutflut-lod0-jg "rInToe" 20) +(def-joint-node flutflut-lod0-jg "rOutToe" 21) +(def-joint-node flutflut-lod0-jg "rFrontToe" 22) +(def-joint-node flutflut-lod0-jg "rRearToe" 23) +(def-joint-node flutflut-lod0-jg "chest" 24) +(def-joint-node flutflut-lod0-jg "neck" 25) +(def-joint-node flutflut-lod0-jg "head" 26) +(def-joint-node flutflut-lod0-jg "ploom1" 27) +(def-joint-node flutflut-lod0-jg "ploom2" 28) +(def-joint-node flutflut-lod0-jg "ploom3" 29) + +(def-joint-node water-anim-misty-mud-under-spine-lod0-jg "boneless" 3) +(def-joint-node water-anim-misty-mud-under-spine-lod0-jg "prejoint" 2) +(def-joint-node water-anim-misty-mud-under-spine-lod0-jg "align" 1) + +(def-joint-node jng-iris-door-lod0-jg "rote8" 11) +(def-joint-node jng-iris-door-lod0-jg "rote1" 10) +(def-joint-node jng-iris-door-lod0-jg "rote7" 9) +(def-joint-node jng-iris-door-lod0-jg "rote6" 8) +(def-joint-node jng-iris-door-lod0-jg "rote5" 7) +(def-joint-node jng-iris-door-lod0-jg "rote4" 6) +(def-joint-node jng-iris-door-lod0-jg "rote3" 5) +(def-joint-node jng-iris-door-lod0-jg "rote2" 4) +(def-joint-node jng-iris-door-lod0-jg "base" 3) +(def-joint-node jng-iris-door-lod0-jg "prejoint" 2) +(def-joint-node jng-iris-door-lod0-jg "align" 1) + +(def-joint-node evilplant-lod0-jg "bottomleafrear" 15) +(def-joint-node evilplant-lod0-jg "bottomleaffront" 14) +(def-joint-node evilplant-lod0-jg "align" 1) +(def-joint-node evilplant-lod0-jg "prejoint" 2) +(def-joint-node evilplant-lod0-jg "main" 3) +(def-joint-node evilplant-lod0-jg "mid" 4) +(def-joint-node evilplant-lod0-jg "neck" 5) +(def-joint-node evilplant-lod0-jg "head" 6) +(def-joint-node evilplant-lod0-jg "leaf_lb" 7) +(def-joint-node evilplant-lod0-jg "leaf_lt" 8) +(def-joint-node evilplant-lod0-jg "leaf_rt" 9) +(def-joint-node evilplant-lod0-jg "leaf_rb" 10) +(def-joint-node evilplant-lod0-jg "jaw" 11) +(def-joint-node evilplant-lod0-jg "bottomleafl" 12) +(def-joint-node evilplant-lod0-jg "bottomleafr" 13) + +(def-joint-node harvester-lod0-jg "balloon" 5) +(def-joint-node harvester-lod0-jg "top" 4) +(def-joint-node harvester-lod0-jg "main" 3) +(def-joint-node harvester-lod0-jg "prejoint" 2) +(def-joint-node harvester-lod0-jg "align" 1) + +(def-joint-node plant-boss-arms-lod0-jg "armEND" 10) +(def-joint-node plant-boss-arms-lod0-jg "armE" 9) +(def-joint-node plant-boss-arms-lod0-jg "armD" 8) +(def-joint-node plant-boss-arms-lod0-jg "armC" 7) +(def-joint-node plant-boss-arms-lod0-jg "armB" 6) +(def-joint-node plant-boss-arms-lod0-jg "armA" 5) +(def-joint-node plant-boss-arms-lod0-jg "armBASE" 4) +(def-joint-node plant-boss-arms-lod0-jg "armNEW" 3) +(def-joint-node plant-boss-arms-lod0-jg "prejoint" 2) +(def-joint-node plant-boss-arms-lod0-jg "align" 1) + +(def-joint-node water-anim-maincave-mid-right-pool-lod0-jg "boneless" 3) +(def-joint-node water-anim-maincave-mid-right-pool-lod0-jg "prejoint" 2) +(def-joint-node water-anim-maincave-mid-right-pool-lod0-jg "align" 1) + +(def-joint-node assistant-village3-lod0-jg "belt" 96) +(def-joint-node assistant-village3-lod0-jg "RpantFlap" 95) +(def-joint-node assistant-village3-lod0-jg "LpantFlap" 94) +(def-joint-node assistant-village3-lod0-jg "rBotStrap2" 93) +(def-joint-node assistant-village3-lod0-jg "rBotStrap1" 92) +(def-joint-node assistant-village3-lod0-jg "lBotStrap2" 91) +(def-joint-node assistant-village3-lod0-jg "lBotStrap1" 90) +(def-joint-node assistant-village3-lod0-jg "rKneeFlap" 89) +(def-joint-node assistant-village3-lod0-jg "RfootFlaps" 88) +(def-joint-node assistant-village3-lod0-jg "RtoeStrap" 87) +(def-joint-node assistant-village3-lod0-jg "lKneeFlap" 86) +(def-joint-node assistant-village3-lod0-jg "LfootFlaps" 85) +(def-joint-node assistant-village3-lod0-jg "gogglesLeft" 84) +(def-joint-node assistant-village3-lod0-jg "gogglesRight" 83) +(def-joint-node assistant-village3-lod0-jg "gogglesMid" 82) +(def-joint-node assistant-village3-lod0-jg "gogglesBase" 81) +(def-joint-node assistant-village3-lod0-jg "rBoob" 80) +(def-joint-node assistant-village3-lod0-jg "lBoob" 79) +(def-joint-node assistant-village3-lod0-jg "rTopStrap2" 78) +(def-joint-node assistant-village3-lod0-jg "rTopStrap1" 77) +(def-joint-node assistant-village3-lod0-jg "rGlove" 76) +(def-joint-node assistant-village3-lod0-jg "RpinkyC" 75) +(def-joint-node assistant-village3-lod0-jg "RpinkyB" 74) +(def-joint-node assistant-village3-lod0-jg "RpinkyA" 73) +(def-joint-node assistant-village3-lod0-jg "RringC" 72) +(def-joint-node assistant-village3-lod0-jg "RringB" 71) +(def-joint-node assistant-village3-lod0-jg "RringA" 70) +(def-joint-node assistant-village3-lod0-jg "RmiddleC" 69) +(def-joint-node assistant-village3-lod0-jg "RmiddleB" 68) +(def-joint-node assistant-village3-lod0-jg "RmiddleA" 67) +(def-joint-node assistant-village3-lod0-jg "RindexC" 66) +(def-joint-node assistant-village3-lod0-jg "RindexB" 65) +(def-joint-node assistant-village3-lod0-jg "RindexA" 64) +(def-joint-node assistant-village3-lod0-jg "RthumbC" 63) +(def-joint-node assistant-village3-lod0-jg "RthumbB" 62) +(def-joint-node assistant-village3-lod0-jg "RthumbA" 61) +(def-joint-node assistant-village3-lod0-jg "lTopStrap2" 60) +(def-joint-node assistant-village3-lod0-jg "torch" 29) +(def-joint-node assistant-village3-lod0-jg "Rball" 28) +(def-joint-node assistant-village3-lod0-jg "Rankle" 27) +(def-joint-node assistant-village3-lod0-jg "Rknee" 26) +(def-joint-node assistant-village3-lod0-jg "Rthigh" 25) +(def-joint-node assistant-village3-lod0-jg "LtoeStrap" 24) +(def-joint-node assistant-village3-lod0-jg "Lball" 23) +(def-joint-node assistant-village3-lod0-jg "Lankle" 22) +(def-joint-node assistant-village3-lod0-jg "Lknee" 21) +(def-joint-node assistant-village3-lod0-jg "Lthigh" 20) +(def-joint-node assistant-village3-lod0-jg "hips" 19) +(def-joint-node assistant-village3-lod0-jg "Rhand" 18) +(def-joint-node assistant-village3-lod0-jg "Relbow" 17) +(def-joint-node assistant-village3-lod0-jg "Rshoulder" 16) +(def-joint-node assistant-village3-lod0-jg "lTopStrap1" 15) +(def-joint-node assistant-village3-lod0-jg "Lhand" 14) +(def-joint-node assistant-village3-lod0-jg "align" 1) +(def-joint-node assistant-village3-lod0-jg "prejoint" 2) +(def-joint-node assistant-village3-lod0-jg "main" 3) +(def-joint-node assistant-village3-lod0-jg "chest" 4) +(def-joint-node assistant-village3-lod0-jg "neck" 5) +(def-joint-node assistant-village3-lod0-jg "head" 6) +(def-joint-node assistant-village3-lod0-jg "lEar1" 7) +(def-joint-node assistant-village3-lod0-jg "lEar2" 8) +(def-joint-node assistant-village3-lod0-jg "rEar1" 9) +(def-joint-node assistant-village3-lod0-jg "rEar2" 10) +(def-joint-node assistant-village3-lod0-jg "backHair1" 11) +(def-joint-node assistant-village3-lod0-jg "Lshoulder" 12) +(def-joint-node assistant-village3-lod0-jg "Lelbow" 13) +(def-joint-node assistant-village3-lod0-jg "torchTIP" 30) +(def-joint-node assistant-village3-lod0-jg "camera" 31) +(def-joint-node assistant-village3-lod0-jg "cameraB" 32) +(def-joint-node assistant-village3-lod0-jg "flipR1" 33) +(def-joint-node assistant-village3-lod0-jg "flipR2" 34) +(def-joint-node assistant-village3-lod0-jg "flipR3" 35) +(def-joint-node assistant-village3-lod0-jg "flipL1" 36) +(def-joint-node assistant-village3-lod0-jg "flipL2" 37) +(def-joint-node assistant-village3-lod0-jg "flipL3" 38) +(def-joint-node assistant-village3-lod0-jg "Lhair1" 39) +(def-joint-node assistant-village3-lod0-jg "Lhair2" 40) +(def-joint-node assistant-village3-lod0-jg "Rhair1" 41) +(def-joint-node assistant-village3-lod0-jg "Rhair2" 42) +(def-joint-node assistant-village3-lod0-jg "backHair2" 43) +(def-joint-node assistant-village3-lod0-jg "LthumbA" 44) +(def-joint-node assistant-village3-lod0-jg "LthumbB" 45) +(def-joint-node assistant-village3-lod0-jg "LthumbC" 46) +(def-joint-node assistant-village3-lod0-jg "LindexA" 47) +(def-joint-node assistant-village3-lod0-jg "LindexB" 48) +(def-joint-node assistant-village3-lod0-jg "LindexC" 49) +(def-joint-node assistant-village3-lod0-jg "LmiddleA" 50) +(def-joint-node assistant-village3-lod0-jg "LmiddleB" 51) +(def-joint-node assistant-village3-lod0-jg "LmiddleC" 52) +(def-joint-node assistant-village3-lod0-jg "LringA" 53) +(def-joint-node assistant-village3-lod0-jg "LringB" 54) +(def-joint-node assistant-village3-lod0-jg "LringC" 55) +(def-joint-node assistant-village3-lod0-jg "LpinkyA" 56) +(def-joint-node assistant-village3-lod0-jg "LpinkyB" 57) +(def-joint-node assistant-village3-lod0-jg "LpinkyC" 58) +(def-joint-node assistant-village3-lod0-jg "lGlove" 59) + +(def-joint-node mis-bone-platform-lod0-jg "main" 3) +(def-joint-node mis-bone-platform-lod0-jg "prejoint" 2) +(def-joint-node mis-bone-platform-lod0-jg "align" 1) + +(def-joint-node plant-boss-back-arms-lod0-jg "plugE" 9) +(def-joint-node plant-boss-back-arms-lod0-jg "plugD" 8) +(def-joint-node plant-boss-back-arms-lod0-jg "plugC" 7) +(def-joint-node plant-boss-back-arms-lod0-jg "plugB" 6) +(def-joint-node plant-boss-back-arms-lod0-jg "plugA" 5) +(def-joint-node plant-boss-back-arms-lod0-jg "backMID" 4) +(def-joint-node plant-boss-back-arms-lod0-jg "BASE" 3) +(def-joint-node plant-boss-back-arms-lod0-jg "prejoint" 2) +(def-joint-node plant-boss-back-arms-lod0-jg "align" 1) + +(def-joint-node orbit-plat-bottom-lod0-jg "boneless" 3) +(def-joint-node orbit-plat-bottom-lod0-jg "prejoint" 2) +(def-joint-node orbit-plat-bottom-lod0-jg "align" 1) + +(def-joint-node lurkerm-piston-geo-jg "main" 3) +(def-joint-node lurkerm-piston-geo-jg "prejoint" 2) +(def-joint-node lurkerm-piston-geo-jg "align" 1) + +(def-joint-node bird-lady-lod0-jg "rBoob" 68) +(def-joint-node bird-lady-lod0-jg "lBoob" 67) +(def-joint-node bird-lady-lod0-jg "LringC" 66) +(def-joint-node bird-lady-lod0-jg "LringB" 65) +(def-joint-node bird-lady-lod0-jg "LringA" 64) +(def-joint-node bird-lady-lod0-jg "LmiddleC" 63) +(def-joint-node bird-lady-lod0-jg "LmiddleB" 62) +(def-joint-node bird-lady-lod0-jg "LmiddleA" 61) +(def-joint-node bird-lady-lod0-jg "RringC" 60) +(def-joint-node bird-lady-lod0-jg "Lshoulder" 29) +(def-joint-node bird-lady-lod0-jg "RpinkyC" 28) +(def-joint-node bird-lady-lod0-jg "RpinkyB" 27) +(def-joint-node bird-lady-lod0-jg "RpinkyA" 26) +(def-joint-node bird-lady-lod0-jg "RindexC" 25) +(def-joint-node bird-lady-lod0-jg "RindexB" 24) +(def-joint-node bird-lady-lod0-jg "RindexA" 23) +(def-joint-node bird-lady-lod0-jg "RthumbC" 22) +(def-joint-node bird-lady-lod0-jg "RthumbB" 21) +(def-joint-node bird-lady-lod0-jg "RthumbA" 20) +(def-joint-node bird-lady-lod0-jg "Rhand" 19) +(def-joint-node bird-lady-lod0-jg "Relbow" 18) +(def-joint-node bird-lady-lod0-jg "Rshoulder" 17) +(def-joint-node bird-lady-lod0-jg "scope" 16) +(def-joint-node bird-lady-lod0-jg "scopeMID" 15) +(def-joint-node bird-lady-lod0-jg "rEarEND" 14) +(def-joint-node bird-lady-lod0-jg "align" 1) +(def-joint-node bird-lady-lod0-jg "prejoint" 2) +(def-joint-node bird-lady-lod0-jg "main" 3) +(def-joint-node bird-lady-lod0-jg "chest" 4) +(def-joint-node bird-lady-lod0-jg "neck" 5) +(def-joint-node bird-lady-lod0-jg "head" 6) +(def-joint-node bird-lady-lod0-jg "headEND" 7) +(def-joint-node bird-lady-lod0-jg "RchickEye" 8) +(def-joint-node bird-lady-lod0-jg "ploomA" 9) +(def-joint-node bird-lady-lod0-jg "ploomB" 10) +(def-joint-node bird-lady-lod0-jg "lEar" 11) +(def-joint-node bird-lady-lod0-jg "lEarEND" 12) +(def-joint-node bird-lady-lod0-jg "rEar" 13) +(def-joint-node bird-lady-lod0-jg "Lelbow" 30) +(def-joint-node bird-lady-lod0-jg "Lhand" 31) +(def-joint-node bird-lady-lod0-jg "LthumbA" 32) +(def-joint-node bird-lady-lod0-jg "LthumbB" 33) +(def-joint-node bird-lady-lod0-jg "LthumbC" 34) +(def-joint-node bird-lady-lod0-jg "LindexA" 35) +(def-joint-node bird-lady-lod0-jg "LindexB" 36) +(def-joint-node bird-lady-lod0-jg "LindexC" 37) +(def-joint-node bird-lady-lod0-jg "LpinkyA" 38) +(def-joint-node bird-lady-lod0-jg "LpinkyB" 39) +(def-joint-node bird-lady-lod0-jg "LpinkyC" 40) +(def-joint-node bird-lady-lod0-jg "hips" 41) +(def-joint-node bird-lady-lod0-jg "Lthigh" 42) +(def-joint-node bird-lady-lod0-jg "Lknee" 43) +(def-joint-node bird-lady-lod0-jg "Lankle" 44) +(def-joint-node bird-lady-lod0-jg "Lball" 45) +(def-joint-node bird-lady-lod0-jg "Rthigh" 46) +(def-joint-node bird-lady-lod0-jg "Rknee" 47) +(def-joint-node bird-lady-lod0-jg "Rankle" 48) +(def-joint-node bird-lady-lod0-jg "Rball" 49) +(def-joint-node bird-lady-lod0-jg "pouch" 50) +(def-joint-node bird-lady-lod0-jg "camera" 51) +(def-joint-node bird-lady-lod0-jg "cameraB" 52) +(def-joint-node bird-lady-lod0-jg "LchickEye" 53) +(def-joint-node bird-lady-lod0-jg "ploomEND" 54) +(def-joint-node bird-lady-lod0-jg "RmiddleA" 55) +(def-joint-node bird-lady-lod0-jg "RmiddleB" 56) +(def-joint-node bird-lady-lod0-jg "RmiddleC" 57) +(def-joint-node bird-lady-lod0-jg "RringA" 58) +(def-joint-node bird-lady-lod0-jg "RringB" 59) + +(def-joint-node plant-boss-leaf-lod0-jg "RleafPlat" 10) +(def-joint-node plant-boss-leaf-lod0-jg "LleafPlat" 9) +(def-joint-node plant-boss-leaf-lod0-jg "leafPlat" 8) +(def-joint-node plant-boss-leaf-lod0-jg "leafArmD" 7) +(def-joint-node plant-boss-leaf-lod0-jg "leafArmC" 6) +(def-joint-node plant-boss-leaf-lod0-jg "leafArmB" 5) +(def-joint-node plant-boss-leaf-lod0-jg "leafArmA" 4) +(def-joint-node plant-boss-leaf-lod0-jg "leafArmBASE" 3) +(def-joint-node plant-boss-leaf-lod0-jg "prejoint" 2) +(def-joint-node plant-boss-leaf-lod0-jg "align" 1) + +(def-joint-node medres-rolling1-lod0-jg "boneless" 3) +(def-joint-node medres-rolling1-lod0-jg "prejoint" 2) +(def-joint-node medres-rolling1-lod0-jg "align" 1) + +(def-joint-node kickrock-lod0-jg "boneless" 3) +(def-joint-node kickrock-lod0-jg "prejoint" 2) +(def-joint-node kickrock-lod0-jg "align" 1) + +(def-joint-node energydoor-lod0-jg "Door" 8) +(def-joint-node energydoor-lod0-jg "dustB" 7) +(def-joint-node energydoor-lod0-jg "dustA" 6) +(def-joint-node energydoor-lod0-jg "leftGear" 5) +(def-joint-node energydoor-lod0-jg "rightGear" 4) +(def-joint-node energydoor-lod0-jg "main" 3) +(def-joint-node energydoor-lod0-jg "prejoint" 2) +(def-joint-node energydoor-lod0-jg "align" 1) + +(def-joint-node ogre-isle-d-lod0-jg "isle4" 3) +(def-joint-node ogre-isle-d-lod0-jg "prejoint" 2) +(def-joint-node ogre-isle-d-lod0-jg "align" 1) + +(def-joint-node exit-chamber-dummy-lod0-jg "main" 3) +(def-joint-node exit-chamber-dummy-lod0-jg "prejoint" 2) +(def-joint-node exit-chamber-dummy-lod0-jg "align" 1) + +(def-joint-node plant-boss-vine-lod0-jg "topvineD" 12) +(def-joint-node plant-boss-vine-lod0-jg "topvineC" 11) +(def-joint-node plant-boss-vine-lod0-jg "topvineB" 10) +(def-joint-node plant-boss-vine-lod0-jg "topvineA" 9) +(def-joint-node plant-boss-vine-lod0-jg "vineE" 8) +(def-joint-node plant-boss-vine-lod0-jg "vineD" 7) +(def-joint-node plant-boss-vine-lod0-jg "vineC" 6) +(def-joint-node plant-boss-vine-lod0-jg "vineB" 5) +(def-joint-node plant-boss-vine-lod0-jg "vineA" 4) +(def-joint-node plant-boss-vine-lod0-jg "vineBASE" 3) +(def-joint-node plant-boss-vine-lod0-jg "prejoint" 2) +(def-joint-node plant-boss-vine-lod0-jg "align" 1) + +(def-joint-node accordian-lod0-jg "three" 22) +(def-joint-node accordian-lod0-jg "two" 21) +(def-joint-node accordian-lod0-jg "one" 20) +(def-joint-node accordian-lod0-jg "top" 19) +(def-joint-node accordian-lod0-jg "midpeicetwo" 18) +(def-joint-node accordian-lod0-jg "midpeiceone" 17) +(def-joint-node accordian-lod0-jg "midpeicetop" 16) +(def-joint-node accordian-lod0-jg "twistythree" 15) +(def-joint-node accordian-lod0-jg "twistytwo" 14) +(def-joint-node accordian-lod0-jg "align" 1) +(def-joint-node accordian-lod0-jg "prejoint" 2) +(def-joint-node accordian-lod0-jg "toptubeparent" 3) +(def-joint-node accordian-lod0-jg "topthree" 4) +(def-joint-node accordian-lod0-jg "onethree" 5) +(def-joint-node accordian-lod0-jg "twothree" 6) +(def-joint-node accordian-lod0-jg "threethree" 7) +(def-joint-node accordian-lod0-jg "toptwo" 8) +(def-joint-node accordian-lod0-jg "onetwo" 9) +(def-joint-node accordian-lod0-jg "twotwo" 10) +(def-joint-node accordian-lod0-jg "threetwo" 11) +(def-joint-node accordian-lod0-jg "twistytop" 12) +(def-joint-node accordian-lod0-jg "twistyone" 13) + +(def-joint-node allpontoons-lod0-jg "6" 9) +(def-joint-node allpontoons-lod0-jg "camera" 8) +(def-joint-node allpontoons-lod0-jg "5" 7) +(def-joint-node allpontoons-lod0-jg "4" 6) +(def-joint-node allpontoons-lod0-jg "3" 5) +(def-joint-node allpontoons-lod0-jg "2" 4) +(def-joint-node allpontoons-lod0-jg "1" 3) +(def-joint-node allpontoons-lod0-jg "prejoint" 2) +(def-joint-node allpontoons-lod0-jg "align" 1) + +(def-joint-node bounceytarp-lod0-jg "tarp" 4) +(def-joint-node bounceytarp-lod0-jg "base" 3) +(def-joint-node bounceytarp-lod0-jg "prejoint" 2) +(def-joint-node bounceytarp-lod0-jg "align" 1) + +(def-joint-node catch-fishc-lod0-jg "Rfintip" 15) +(def-joint-node catch-fishc-lod0-jg "Rfin" 14) +(def-joint-node catch-fishc-lod0-jg "align" 1) +(def-joint-node catch-fishc-lod0-jg "prejoint" 2) +(def-joint-node catch-fishc-lod0-jg "top" 3) +(def-joint-node catch-fishc-lod0-jg "tail1" 4) +(def-joint-node catch-fishc-lod0-jg "tail2" 5) +(def-joint-node catch-fishc-lod0-jg "tail3" 6) +(def-joint-node catch-fishc-lod0-jg "tailtop" 7) +(def-joint-node catch-fishc-lod0-jg "tailbot" 8) +(def-joint-node catch-fishc-lod0-jg "Lfin" 9) +(def-joint-node catch-fishc-lod0-jg "Lfintip" 10) +(def-joint-node catch-fishc-lod0-jg "head" 11) +(def-joint-node catch-fishc-lod0-jg "jaw" 12) +(def-joint-node catch-fishc-lod0-jg "jawbot" 13) + +(def-joint-node hutlamp-lod0-jg "hutlamp" 3) +(def-joint-node hutlamp-lod0-jg "prejoint" 2) +(def-joint-node hutlamp-lod0-jg "align" 1) + +(def-joint-node plat-flip-geo-jg "main" 3) +(def-joint-node plat-flip-geo-jg "prejoint" 2) +(def-joint-node plat-flip-geo-jg "align" 1) + +(def-joint-node junglecam-lod0-jg "camera" 4) +(def-joint-node junglecam-lod0-jg "junglecam" 3) +(def-joint-node junglecam-lod0-jg "prejoint" 2) +(def-joint-node junglecam-lod0-jg "align" 1) + +(def-joint-node fish-net-lod0-jg "basket" 6) +(def-joint-node fish-net-lod0-jg "hinge" 5) +(def-joint-node fish-net-lod0-jg "mid" 4) +(def-joint-node fish-net-lod0-jg "hold" 3) +(def-joint-node fish-net-lod0-jg "prejoint" 2) +(def-joint-node fish-net-lod0-jg "align" 1) + +(def-joint-node fisher-lod0-jg "basket" 88) +(def-joint-node fisher-lod0-jg "hinge" 87) +(def-joint-node fisher-lod0-jg "mid" 86) +(def-joint-node fisher-lod0-jg "fishTAIL1" 85) +(def-joint-node fisher-lod0-jg "headC" 84) +(def-joint-node fisher-lod0-jg "tail3" 83) +(def-joint-node fisher-lod0-jg "tail2" 82) +(def-joint-node fisher-lod0-jg "tail1" 81) +(def-joint-node fisher-lod0-jg "top" 80) +(def-joint-node fisher-lod0-jg "tailB" 79) +(def-joint-node fisher-lod0-jg "midB" 78) +(def-joint-node fisher-lod0-jg "mainB" 77) +(def-joint-node fisher-lod0-jg "tailA" 76) +(def-joint-node fisher-lod0-jg "midA" 75) +(def-joint-node fisher-lod0-jg "mainA" 74) +(def-joint-node fisher-lod0-jg "hold" 73) +(def-joint-node fisher-lod0-jg "RmiddleC" 72) +(def-joint-node fisher-lod0-jg "RmiddleB" 71) +(def-joint-node fisher-lod0-jg "RmiddleA" 70) +(def-joint-node fisher-lod0-jg "RthumbC" 69) +(def-joint-node fisher-lod0-jg "LmiddleC" 68) +(def-joint-node fisher-lod0-jg "LmiddleB" 67) +(def-joint-node fisher-lod0-jg "LmiddleA" 66) +(def-joint-node fisher-lod0-jg "LthumbC" 65) +(def-joint-node fisher-lod0-jg "tooth" 64) +(def-joint-node fisher-lod0-jg "necklace2" 63) +(def-joint-node fisher-lod0-jg "scaleMID" 62) +(def-joint-node fisher-lod0-jg "fishHEAD" 61) +(def-joint-node fisher-lod0-jg "fishTAIL2" 60) +(def-joint-node fisher-lod0-jg "RringC" 29) +(def-joint-node fisher-lod0-jg "RringB" 28) +(def-joint-node fisher-lod0-jg "RringA" 27) +(def-joint-node fisher-lod0-jg "RindexC" 26) +(def-joint-node fisher-lod0-jg "RindexB" 25) +(def-joint-node fisher-lod0-jg "RindexA" 24) +(def-joint-node fisher-lod0-jg "RthumbB" 23) +(def-joint-node fisher-lod0-jg "RthumbA" 22) +(def-joint-node fisher-lod0-jg "Rhand" 21) +(def-joint-node fisher-lod0-jg "Relbow" 20) +(def-joint-node fisher-lod0-jg "Rshoulder" 19) +(def-joint-node fisher-lod0-jg "LpinkyC" 18) +(def-joint-node fisher-lod0-jg "LpinkyB" 17) +(def-joint-node fisher-lod0-jg "LpinkyA" 16) +(def-joint-node fisher-lod0-jg "LringC" 15) +(def-joint-node fisher-lod0-jg "LringB" 14) +(def-joint-node fisher-lod0-jg "align" 1) +(def-joint-node fisher-lod0-jg "prejoint" 2) +(def-joint-node fisher-lod0-jg "main" 3) +(def-joint-node fisher-lod0-jg "chest" 4) +(def-joint-node fisher-lod0-jg "Lshoulder" 5) +(def-joint-node fisher-lod0-jg "Lelbow" 6) +(def-joint-node fisher-lod0-jg "Lhand" 7) +(def-joint-node fisher-lod0-jg "LthumbA" 8) +(def-joint-node fisher-lod0-jg "LthumbB" 9) +(def-joint-node fisher-lod0-jg "LindexA" 10) +(def-joint-node fisher-lod0-jg "LindexB" 11) +(def-joint-node fisher-lod0-jg "LindexC" 12) +(def-joint-node fisher-lod0-jg "LringA" 13) +(def-joint-node fisher-lod0-jg "RpinkyA" 30) +(def-joint-node fisher-lod0-jg "RpinkyB" 31) +(def-joint-node fisher-lod0-jg "RpinkyC" 32) +(def-joint-node fisher-lod0-jg "head" 33) +(def-joint-node fisher-lod0-jg "Lear1" 34) +(def-joint-node fisher-lod0-jg "Lear2" 35) +(def-joint-node fisher-lod0-jg "Rear1" 36) +(def-joint-node fisher-lod0-jg "Rear2" 37) +(def-joint-node fisher-lod0-jg "bandana1" 38) +(def-joint-node fisher-lod0-jg "bandana2" 39) +(def-joint-node fisher-lod0-jg "hips" 40) +(def-joint-node fisher-lod0-jg "Lthigh" 41) +(def-joint-node fisher-lod0-jg "Lknee" 42) +(def-joint-node fisher-lod0-jg "Lankle" 43) +(def-joint-node fisher-lod0-jg "Lball" 44) +(def-joint-node fisher-lod0-jg "Rthigh" 45) +(def-joint-node fisher-lod0-jg "Rknee" 46) +(def-joint-node fisher-lod0-jg "Rankle" 47) +(def-joint-node fisher-lod0-jg "Rball" 48) +(def-joint-node fisher-lod0-jg "camera" 49) +(def-joint-node fisher-lod0-jg "cameraB" 50) +(def-joint-node fisher-lod0-jg "jaw" 51) +(def-joint-node fisher-lod0-jg "Leye" 52) +(def-joint-node fisher-lod0-jg "Reye" 53) +(def-joint-node fisher-lod0-jg "sash1" 54) +(def-joint-node fisher-lod0-jg "sash2" 55) +(def-joint-node fisher-lod0-jg "belly" 56) +(def-joint-node fisher-lod0-jg "fishbasket" 57) +(def-joint-node fisher-lod0-jg "fishtop" 58) +(def-joint-node fisher-lod0-jg "scaleFISH" 59) + +(def-joint-node hopper-lod0-jg "RthumbC" 39) +(def-joint-node hopper-lod0-jg "LthumbC" 38) +(def-joint-node hopper-lod0-jg "RlegFur" 37) +(def-joint-node hopper-lod0-jg "LlegFur" 36) +(def-joint-node hopper-lod0-jg "RarmFur" 35) +(def-joint-node hopper-lod0-jg "LarmFur" 34) +(def-joint-node hopper-lod0-jg "ring" 33) +(def-joint-node hopper-lod0-jg "Rball" 32) +(def-joint-node hopper-lod0-jg "Rankle" 31) +(def-joint-node hopper-lod0-jg "Rknee" 30) +(def-joint-node hopper-lod0-jg "LmiddleA" 13) +(def-joint-node hopper-lod0-jg "LthumbB" 12) +(def-joint-node hopper-lod0-jg "LthumbA" 11) +(def-joint-node hopper-lod0-jg "Lhand" 10) +(def-joint-node hopper-lod0-jg "Lelbow" 9) +(def-joint-node hopper-lod0-jg "Lshoulder" 8) +(def-joint-node hopper-lod0-jg "jaw" 7) +(def-joint-node hopper-lod0-jg "head" 6) +(def-joint-node hopper-lod0-jg "neck" 5) +(def-joint-node hopper-lod0-jg "chest" 4) +(def-joint-node hopper-lod0-jg "main" 3) +(def-joint-node hopper-lod0-jg "prejoint" 2) +(def-joint-node hopper-lod0-jg "align" 1) +(def-joint-node hopper-lod0-jg "LmiddleB" 14) +(def-joint-node hopper-lod0-jg "LmiddleC" 15) +(def-joint-node hopper-lod0-jg "Rshoulder" 16) +(def-joint-node hopper-lod0-jg "Relbow" 17) +(def-joint-node hopper-lod0-jg "Rhand" 18) +(def-joint-node hopper-lod0-jg "RthumbA" 19) +(def-joint-node hopper-lod0-jg "RthumbB" 20) +(def-joint-node hopper-lod0-jg "RmiddleA" 21) +(def-joint-node hopper-lod0-jg "RmiddleB" 22) +(def-joint-node hopper-lod0-jg "RmiddleC" 23) +(def-joint-node hopper-lod0-jg "hips" 24) +(def-joint-node hopper-lod0-jg "Lthigh" 25) +(def-joint-node hopper-lod0-jg "Lknee" 26) +(def-joint-node hopper-lod0-jg "Lankle" 27) +(def-joint-node hopper-lod0-jg "Lball" 28) +(def-joint-node hopper-lod0-jg "Rthigh" 29) + +(def-joint-node ogre-isle-a-lod0-jg "isle3" 3) +(def-joint-node ogre-isle-a-lod0-jg "prejoint" 2) +(def-joint-node ogre-isle-a-lod0-jg "align" 1) + +(def-joint-node junglefish-lod0-jg "Lfin2" 14) +(def-joint-node junglefish-lod0-jg "align" 1) +(def-joint-node junglefish-lod0-jg "prejoint" 2) +(def-joint-node junglefish-lod0-jg "top" 3) +(def-joint-node junglefish-lod0-jg "body1" 4) +(def-joint-node junglefish-lod0-jg "body2" 5) +(def-joint-node junglefish-lod0-jg "tailmain" 6) +(def-joint-node junglefish-lod0-jg "tailtop" 7) +(def-joint-node junglefish-lod0-jg "tailbot" 8) +(def-joint-node junglefish-lod0-jg "Lfin1" 9) +(def-joint-node junglefish-lod0-jg "head" 10) +(def-joint-node junglefish-lod0-jg "jaw" 11) +(def-joint-node junglefish-lod0-jg "Rfin1" 12) +(def-joint-node junglefish-lod0-jg "Rfin2" 13) + +(def-joint-node junglesnake-lod0-jg "Aring" 26) +(def-joint-node junglesnake-lod0-jg "Ajaw" 25) +(def-joint-node junglesnake-lod0-jg "Ahead" 24) +(def-joint-node junglesnake-lod0-jg "Aneck2" 23) +(def-joint-node junglesnake-lod0-jg "Aneck1" 22) +(def-joint-node junglesnake-lod0-jg "Abod10" 21) +(def-joint-node junglesnake-lod0-jg "Abod9" 20) +(def-joint-node junglesnake-lod0-jg "Abod8" 19) +(def-joint-node junglesnake-lod0-jg "Abod7" 18) +(def-joint-node junglesnake-lod0-jg "Abod6" 17) +(def-joint-node junglesnake-lod0-jg "Abod5" 16) +(def-joint-node junglesnake-lod0-jg "Pbod4" 15) +(def-joint-node junglesnake-lod0-jg "Pbod3" 14) +(def-joint-node junglesnake-lod0-jg "align" 1) +(def-joint-node junglesnake-lod0-jg "prejoint" 2) +(def-joint-node junglesnake-lod0-jg "tailStart" 3) +(def-joint-node junglesnake-lod0-jg "PtailH" 4) +(def-joint-node junglesnake-lod0-jg "PtailG" 5) +(def-joint-node junglesnake-lod0-jg "PtailF" 6) +(def-joint-node junglesnake-lod0-jg "PtailE" 7) +(def-joint-node junglesnake-lod0-jg "PtailD" 8) +(def-joint-node junglesnake-lod0-jg "PtailC" 9) +(def-joint-node junglesnake-lod0-jg "PtailB" 10) +(def-joint-node junglesnake-lod0-jg "main" 11) +(def-joint-node junglesnake-lod0-jg "Pbod1" 12) +(def-joint-node junglesnake-lod0-jg "Pbod2" 13) + +(def-joint-node medres-beach-lod0-jg "boneless" 3) +(def-joint-node medres-beach-lod0-jg "prejoint" 2) +(def-joint-node medres-beach-lod0-jg "align" 1) + +(def-joint-node lurkerm-tall-sail-lod0-jg "center" 3) +(def-joint-node lurkerm-tall-sail-lod0-jg "prejoint" 2) +(def-joint-node lurkerm-tall-sail-lod0-jg "align" 1) + +(def-joint-node medres-rolling-lod0-jg "boneless" 3) +(def-joint-node medres-rolling-lod0-jg "prejoint" 2) +(def-joint-node medres-rolling-lod0-jg "align" 1) + +(def-joint-node periscope-base-lod0-jg "plug" 7) +(def-joint-node periscope-base-lod0-jg "mirror" 6) +(def-joint-node periscope-base-lod0-jg "mirrorbase" 5) +(def-joint-node periscope-base-lod0-jg "grips" 4) +(def-joint-node periscope-base-lod0-jg "pole" 3) +(def-joint-node periscope-base-lod0-jg "prejoint" 2) +(def-joint-node periscope-base-lod0-jg "align" 1) + +(def-joint-node periscope-mirror-lod0-jg "mirror" 3) +(def-joint-node periscope-mirror-lod0-jg "prejoint" 2) +(def-joint-node periscope-mirror-lod0-jg "align" 1) + +(def-joint-node flutflutegg-lod0-jg "blackpoly" 18) +(def-joint-node flutflutegg-lod0-jg "p6B" 17) +(def-joint-node flutflutegg-lod0-jg "p6" 16) +(def-joint-node flutflutegg-lod0-jg "p5B" 15) +(def-joint-node flutflutegg-lod0-jg "p12" 14) +(def-joint-node flutflutegg-lod0-jg "align" 1) +(def-joint-node flutflutegg-lod0-jg "prejoint" 2) +(def-joint-node flutflutegg-lod0-jg "main" 3) +(def-joint-node flutflutegg-lod0-jg "p5" 4) +(def-joint-node flutflutegg-lod0-jg "p1" 5) +(def-joint-node flutflutegg-lod0-jg "p2" 6) +(def-joint-node flutflutegg-lod0-jg "p3" 7) +(def-joint-node flutflutegg-lod0-jg "p4" 8) +(def-joint-node flutflutegg-lod0-jg "p7" 9) +(def-joint-node flutflutegg-lod0-jg "p8" 10) +(def-joint-node flutflutegg-lod0-jg "p9" 11) +(def-joint-node flutflutegg-lod0-jg "p10" 12) +(def-joint-node flutflutegg-lod0-jg "p11" 13) + +(def-joint-node water-anim-misty-mud-by-dock-lod0-jg "boneless" 3) +(def-joint-node water-anim-misty-mud-by-dock-lod0-jg "prejoint" 2) +(def-joint-node water-anim-misty-mud-by-dock-lod0-jg "align" 1) + +(def-joint-node citb-robotboss-rightarm-lod0-jg "main" 3) +(def-joint-node citb-robotboss-rightarm-lod0-jg "prejoint" 2) +(def-joint-node citb-robotboss-rightarm-lod0-jg "align" 1) + +(def-joint-node water-anim-misty-mud-by-arena-lod0-jg "boneless" 3) +(def-joint-node water-anim-misty-mud-by-arena-lod0-jg "prejoint" 2) +(def-joint-node water-anim-misty-mud-by-arena-lod0-jg "align" 1) + +(def-joint-node citb-arm-d-lod0-jg "center_" 4) +(def-joint-node citb-arm-d-lod0-jg "boneless" 3) +(def-joint-node citb-arm-d-lod0-jg "prejoint" 2) +(def-joint-node citb-arm-d-lod0-jg "align" 1) + +(def-joint-node plat-button-geo-jg "button" 4) +(def-joint-node plat-button-geo-jg "main" 3) +(def-joint-node plat-button-geo-jg "prejoint" 2) +(def-joint-node plat-button-geo-jg "align" 1) + +(def-joint-node plat-eco-lod0-jg "main" 3) +(def-joint-node plat-eco-lod0-jg "prejoint" 2) +(def-joint-node plat-eco-lod0-jg "align" 1) + +(def-joint-node driller-lurker-lod0-jg "lHandle" 67) +(def-joint-node driller-lurker-lod0-jg "drillHoseC" 66) +(def-joint-node driller-lurker-lod0-jg "drillHoseB" 65) +(def-joint-node driller-lurker-lod0-jg "drillHoseA" 64) +(def-joint-node driller-lurker-lod0-jg "rHandleC" 63) +(def-joint-node driller-lurker-lod0-jg "rHandleB" 62) +(def-joint-node driller-lurker-lod0-jg "apronB" 61) +(def-joint-node driller-lurker-lod0-jg "apronA" 60) +(def-joint-node driller-lurker-lod0-jg "LmiddleB" 29) +(def-joint-node driller-lurker-lod0-jg "LmiddleA" 28) +(def-joint-node driller-lurker-lod0-jg "LthumbA" 27) +(def-joint-node driller-lurker-lod0-jg "rHandleA" 26) +(def-joint-node driller-lurker-lod0-jg "drill" 25) +(def-joint-node driller-lurker-lod0-jg "Rball" 24) +(def-joint-node driller-lurker-lod0-jg "Rankle" 23) +(def-joint-node driller-lurker-lod0-jg "Rknee" 22) +(def-joint-node driller-lurker-lod0-jg "Rthigh" 21) +(def-joint-node driller-lurker-lod0-jg "Lball" 20) +(def-joint-node driller-lurker-lod0-jg "Lankle" 19) +(def-joint-node driller-lurker-lod0-jg "Lknee" 18) +(def-joint-node driller-lurker-lod0-jg "Lthigh" 17) +(def-joint-node driller-lurker-lod0-jg "hips" 16) +(def-joint-node driller-lurker-lod0-jg "Rhand" 15) +(def-joint-node driller-lurker-lod0-jg "Relbow" 14) +(def-joint-node driller-lurker-lod0-jg "align" 1) +(def-joint-node driller-lurker-lod0-jg "prejoint" 2) +(def-joint-node driller-lurker-lod0-jg "main" 3) +(def-joint-node driller-lurker-lod0-jg "chest" 4) +(def-joint-node driller-lurker-lod0-jg "neck" 5) +(def-joint-node driller-lurker-lod0-jg "head" 6) +(def-joint-node driller-lurker-lod0-jg "jaw" 7) +(def-joint-node driller-lurker-lod0-jg "lamp" 8) +(def-joint-node driller-lurker-lod0-jg "light" 9) +(def-joint-node driller-lurker-lod0-jg "Lshoulder" 10) +(def-joint-node driller-lurker-lod0-jg "Lelbow" 11) +(def-joint-node driller-lurker-lod0-jg "Lhand" 12) +(def-joint-node driller-lurker-lod0-jg "Rshoulder" 13) +(def-joint-node driller-lurker-lod0-jg "LpinkyA" 30) +(def-joint-node driller-lurker-lod0-jg "LpinkyB" 31) +(def-joint-node driller-lurker-lod0-jg "RthumbA" 32) +(def-joint-node driller-lurker-lod0-jg "RmiddleA" 33) +(def-joint-node driller-lurker-lod0-jg "RmiddleB" 34) +(def-joint-node driller-lurker-lod0-jg "RpinkyA" 35) +(def-joint-node driller-lurker-lod0-jg "RpinkyB" 36) +(def-joint-node driller-lurker-lod0-jg "tankA" 37) +(def-joint-node driller-lurker-lod0-jg "drillBit" 38) +(def-joint-node driller-lurker-lod0-jg "ring" 39) +(def-joint-node driller-lurker-lod0-jg "LthumbB" 40) +(def-joint-node driller-lurker-lod0-jg "LthumbC" 41) +(def-joint-node driller-lurker-lod0-jg "LindexA" 42) +(def-joint-node driller-lurker-lod0-jg "LindexB" 43) +(def-joint-node driller-lurker-lod0-jg "LringA" 44) +(def-joint-node driller-lurker-lod0-jg "LringB" 45) +(def-joint-node driller-lurker-lod0-jg "lGuanlet" 46) +(def-joint-node driller-lurker-lod0-jg "RthumbB" 47) +(def-joint-node driller-lurker-lod0-jg "RthumbC" 48) +(def-joint-node driller-lurker-lod0-jg "RindexA" 49) +(def-joint-node driller-lurker-lod0-jg "RindexB" 50) +(def-joint-node driller-lurker-lod0-jg "RringA" 51) +(def-joint-node driller-lurker-lod0-jg "RringB" 52) +(def-joint-node driller-lurker-lod0-jg "rGuantlet" 53) +(def-joint-node driller-lurker-lod0-jg "tankB" 54) +(def-joint-node driller-lurker-lod0-jg "tankHoseA" 55) +(def-joint-node driller-lurker-lod0-jg "tankHoseB" 56) +(def-joint-node driller-lurker-lod0-jg "tankHoseC" 57) +(def-joint-node driller-lurker-lod0-jg "l_shoulderGuard" 58) +(def-joint-node driller-lurker-lod0-jg "r_shoulderGuard" 59) + +(def-joint-node citb-disc-d-lod0-jg "boneless" 3) +(def-joint-node citb-disc-d-lod0-jg "prejoint" 2) +(def-joint-node citb-disc-d-lod0-jg "align" 1) + +(def-joint-node reflector-mirror-break-lod0-jg "wishbone" 10) +(def-joint-node reflector-mirror-break-lod0-jg "bottomlegright" 9) +(def-joint-node reflector-mirror-break-lod0-jg "bottomlegmiddle" 8) +(def-joint-node reflector-mirror-break-lod0-jg "bottomlegleft" 7) +(def-joint-node reflector-mirror-break-lod0-jg "topmirror" 6) +(def-joint-node reflector-mirror-break-lod0-jg "bottommirror" 5) +(def-joint-node reflector-mirror-break-lod0-jg "toplegright" 4) +(def-joint-node reflector-mirror-break-lod0-jg "toplegleft" 3) +(def-joint-node reflector-mirror-break-lod0-jg "prejoint" 2) +(def-joint-node reflector-mirror-break-lod0-jg "align" 1) + +(def-joint-node breakaway-mid-lod0-jg "breakaway_" 3) +(def-joint-node breakaway-mid-lod0-jg "prejoint" 2) +(def-joint-node breakaway-mid-lod0-jg "align" 1) + +(def-joint-node fishermans-boat-lod0-jg "camera" 5) +(def-joint-node fishermans-boat-lod0-jg "prop" 4) +(def-joint-node fishermans-boat-lod0-jg "main" 3) +(def-joint-node fishermans-boat-lod0-jg "prejoint" 2) +(def-joint-node fishermans-boat-lod0-jg "align" 1) + +(def-joint-node ropebridge-52-lod0-jg "tail" 30) +(def-joint-node ropebridge-52-lod0-jg "board10" 13) +(def-joint-node ropebridge-52-lod0-jg "board9" 12) +(def-joint-node ropebridge-52-lod0-jg "board8" 11) +(def-joint-node ropebridge-52-lod0-jg "board7" 10) +(def-joint-node ropebridge-52-lod0-jg "board6" 9) +(def-joint-node ropebridge-52-lod0-jg "board5" 8) +(def-joint-node ropebridge-52-lod0-jg "board4" 7) +(def-joint-node ropebridge-52-lod0-jg "board3" 6) +(def-joint-node ropebridge-52-lod0-jg "board2" 5) +(def-joint-node ropebridge-52-lod0-jg "board" 4) +(def-joint-node ropebridge-52-lod0-jg "head" 3) +(def-joint-node ropebridge-52-lod0-jg "prejoint" 2) +(def-joint-node ropebridge-52-lod0-jg "align" 1) +(def-joint-node ropebridge-52-lod0-jg "board11" 14) +(def-joint-node ropebridge-52-lod0-jg "board12" 15) +(def-joint-node ropebridge-52-lod0-jg "board13" 16) +(def-joint-node ropebridge-52-lod0-jg "board14" 17) +(def-joint-node ropebridge-52-lod0-jg "board15" 18) +(def-joint-node ropebridge-52-lod0-jg "board16" 19) +(def-joint-node ropebridge-52-lod0-jg "board17" 20) +(def-joint-node ropebridge-52-lod0-jg "board18" 21) +(def-joint-node ropebridge-52-lod0-jg "board19" 22) +(def-joint-node ropebridge-52-lod0-jg "board20" 23) +(def-joint-node ropebridge-52-lod0-jg "board21" 24) +(def-joint-node ropebridge-52-lod0-jg "board22" 25) +(def-joint-node ropebridge-52-lod0-jg "board23" 26) +(def-joint-node ropebridge-52-lod0-jg "board24" 27) +(def-joint-node ropebridge-52-lod0-jg "board25" 28) +(def-joint-node ropebridge-52-lod0-jg "board26" 29) + +(def-joint-node towertop-lod0-jg "planetR" 8) +(def-joint-node towertop-lod0-jg "planet" 7) +(def-joint-node towertop-lod0-jg "outerR" 6) +(def-joint-node towertop-lod0-jg "innerR" 5) +(def-joint-node towertop-lod0-jg "innersphere" 4) +(def-joint-node towertop-lod0-jg "master" 3) +(def-joint-node towertop-lod0-jg "prejoint" 2) +(def-joint-node towertop-lod0-jg "align" 1) + +(def-joint-node robotboss-yelloweco-lod0-jg "Lyellow_ecoGlobeA1" 19) +(def-joint-node robotboss-yelloweco-lod0-jg "Lyellow_FrontRing" 18) +(def-joint-node robotboss-yelloweco-lod0-jg "Lyellow_ecoTopRing" 17) +(def-joint-node robotboss-yelloweco-lod0-jg "Lyellow_poleBack" 16) +(def-joint-node robotboss-yelloweco-lod0-jg "Lyellow_ropeBracketD" 15) +(def-joint-node robotboss-yelloweco-lod0-jg "Lyellow_ropeBracketC" 14) +(def-joint-node robotboss-yelloweco-lod0-jg "align" 1) +(def-joint-node robotboss-yelloweco-lod0-jg "prejoint" 2) +(def-joint-node robotboss-yelloweco-lod0-jg "main" 3) +(def-joint-node robotboss-yelloweco-lod0-jg "Lyellow_ecoB" 4) +(def-joint-node robotboss-yelloweco-lod0-jg "Lyellow_gloringA" 5) +(def-joint-node robotboss-yelloweco-lod0-jg "Lyellow_gloringB" 6) +(def-joint-node robotboss-yelloweco-lod0-jg "Lyellow_gloringC" 7) +(def-joint-node robotboss-yelloweco-lod0-jg "Lyellow_ecoBarrell" 8) +(def-joint-node robotboss-yelloweco-lod0-jg "Lyellow_ecoGlobeA" 9) +(def-joint-node robotboss-yelloweco-lod0-jg "Lyellow_ecoBarrellRing" 10) +(def-joint-node robotboss-yelloweco-lod0-jg "Lyellow_ropeBracketA" 11) +(def-joint-node robotboss-yelloweco-lod0-jg "Lyellow_pole" 12) +(def-joint-node robotboss-yelloweco-lod0-jg "Lyellow_ropeBracketB" 13) + +(def-joint-node water-anim-jungle-river-lod0-jg "boneless" 3) +(def-joint-node water-anim-jungle-river-lod0-jg "prejoint" 2) +(def-joint-node water-anim-jungle-river-lod0-jg "align" 1) + +(def-joint-node medres-jungle1-lod0-jg "planet" 8) +(def-joint-node medres-jungle1-lod0-jg "planetR" 7) +(def-joint-node medres-jungle1-lod0-jg "outerR" 6) +(def-joint-node medres-jungle1-lod0-jg "innerR" 5) +(def-joint-node medres-jungle1-lod0-jg "innersphere" 4) +(def-joint-node medres-jungle1-lod0-jg "master" 3) +(def-joint-node medres-jungle1-lod0-jg "prejoint" 2) +(def-joint-node medres-jungle1-lod0-jg "align" 1) + +(def-joint-node energyball-lod0-jg "boneless" 3) +(def-joint-node energyball-lod0-jg "prejoint" 2) +(def-joint-node energyball-lod0-jg "align" 1) + +(def-joint-node assistant-firecanyon-lod0-jg "belt" 94) +(def-joint-node assistant-firecanyon-lod0-jg "RpantFlap" 93) +(def-joint-node assistant-firecanyon-lod0-jg "LpantFlap" 92) +(def-joint-node assistant-firecanyon-lod0-jg "rBotStrap2" 91) +(def-joint-node assistant-firecanyon-lod0-jg "rBotStrap1" 90) +(def-joint-node assistant-firecanyon-lod0-jg "lBotStrap2" 89) +(def-joint-node assistant-firecanyon-lod0-jg "lBotStrap1" 88) +(def-joint-node assistant-firecanyon-lod0-jg "rKneeFlap" 87) +(def-joint-node assistant-firecanyon-lod0-jg "RfootFlaps" 86) +(def-joint-node assistant-firecanyon-lod0-jg "RtoeStrap" 85) +(def-joint-node assistant-firecanyon-lod0-jg "lKneeFlap" 84) +(def-joint-node assistant-firecanyon-lod0-jg "LfootFlaps" 83) +(def-joint-node assistant-firecanyon-lod0-jg "gogglesLeft" 82) +(def-joint-node assistant-firecanyon-lod0-jg "gogglesRight" 81) +(def-joint-node assistant-firecanyon-lod0-jg "gogglesMid" 80) +(def-joint-node assistant-firecanyon-lod0-jg "gogglesBase" 79) +(def-joint-node assistant-firecanyon-lod0-jg "rBoob" 78) +(def-joint-node assistant-firecanyon-lod0-jg "lBoob" 77) +(def-joint-node assistant-firecanyon-lod0-jg "rTopStrap2" 76) +(def-joint-node assistant-firecanyon-lod0-jg "rTopStrap1" 75) +(def-joint-node assistant-firecanyon-lod0-jg "rGlove" 74) +(def-joint-node assistant-firecanyon-lod0-jg "RpinkyC" 73) +(def-joint-node assistant-firecanyon-lod0-jg "RpinkyB" 72) +(def-joint-node assistant-firecanyon-lod0-jg "RpinkyA" 71) +(def-joint-node assistant-firecanyon-lod0-jg "RringC" 70) +(def-joint-node assistant-firecanyon-lod0-jg "RringB" 69) +(def-joint-node assistant-firecanyon-lod0-jg "RringA" 68) +(def-joint-node assistant-firecanyon-lod0-jg "RmiddleC" 67) +(def-joint-node assistant-firecanyon-lod0-jg "RmiddleB" 66) +(def-joint-node assistant-firecanyon-lod0-jg "RmiddleA" 65) +(def-joint-node assistant-firecanyon-lod0-jg "RindexC" 64) +(def-joint-node assistant-firecanyon-lod0-jg "RindexB" 63) +(def-joint-node assistant-firecanyon-lod0-jg "RindexA" 62) +(def-joint-node assistant-firecanyon-lod0-jg "RthumbC" 61) +(def-joint-node assistant-firecanyon-lod0-jg "RthumbB" 60) +(def-joint-node assistant-firecanyon-lod0-jg "camera" 29) +(def-joint-node assistant-firecanyon-lod0-jg "Rball" 28) +(def-joint-node assistant-firecanyon-lod0-jg "Rankle" 27) +(def-joint-node assistant-firecanyon-lod0-jg "Rknee" 26) +(def-joint-node assistant-firecanyon-lod0-jg "Rthigh" 25) +(def-joint-node assistant-firecanyon-lod0-jg "LtoeStrap" 24) +(def-joint-node assistant-firecanyon-lod0-jg "Lball" 23) +(def-joint-node assistant-firecanyon-lod0-jg "Lankle" 22) +(def-joint-node assistant-firecanyon-lod0-jg "Lknee" 21) +(def-joint-node assistant-firecanyon-lod0-jg "Lthigh" 20) +(def-joint-node assistant-firecanyon-lod0-jg "hips" 19) +(def-joint-node assistant-firecanyon-lod0-jg "Rhand" 18) +(def-joint-node assistant-firecanyon-lod0-jg "Relbow" 17) +(def-joint-node assistant-firecanyon-lod0-jg "Rshoulder" 16) +(def-joint-node assistant-firecanyon-lod0-jg "lTopStrap1" 15) +(def-joint-node assistant-firecanyon-lod0-jg "Lhand" 14) +(def-joint-node assistant-firecanyon-lod0-jg "align" 1) +(def-joint-node assistant-firecanyon-lod0-jg "prejoint" 2) +(def-joint-node assistant-firecanyon-lod0-jg "main" 3) +(def-joint-node assistant-firecanyon-lod0-jg "chest" 4) +(def-joint-node assistant-firecanyon-lod0-jg "neck" 5) +(def-joint-node assistant-firecanyon-lod0-jg "head" 6) +(def-joint-node assistant-firecanyon-lod0-jg "lEar1" 7) +(def-joint-node assistant-firecanyon-lod0-jg "lEar2" 8) +(def-joint-node assistant-firecanyon-lod0-jg "rEar1" 9) +(def-joint-node assistant-firecanyon-lod0-jg "rEar2" 10) +(def-joint-node assistant-firecanyon-lod0-jg "backHair1" 11) +(def-joint-node assistant-firecanyon-lod0-jg "Lshoulder" 12) +(def-joint-node assistant-firecanyon-lod0-jg "Lelbow" 13) +(def-joint-node assistant-firecanyon-lod0-jg "cameraB" 30) +(def-joint-node assistant-firecanyon-lod0-jg "flipR1" 31) +(def-joint-node assistant-firecanyon-lod0-jg "flipR2" 32) +(def-joint-node assistant-firecanyon-lod0-jg "flipR3" 33) +(def-joint-node assistant-firecanyon-lod0-jg "flipL1" 34) +(def-joint-node assistant-firecanyon-lod0-jg "flipL2" 35) +(def-joint-node assistant-firecanyon-lod0-jg "flipL3" 36) +(def-joint-node assistant-firecanyon-lod0-jg "Lhair1" 37) +(def-joint-node assistant-firecanyon-lod0-jg "Lhair2" 38) +(def-joint-node assistant-firecanyon-lod0-jg "Rhair1" 39) +(def-joint-node assistant-firecanyon-lod0-jg "Rhair2" 40) +(def-joint-node assistant-firecanyon-lod0-jg "backHair2" 41) +(def-joint-node assistant-firecanyon-lod0-jg "LthumbA" 42) +(def-joint-node assistant-firecanyon-lod0-jg "LthumbB" 43) +(def-joint-node assistant-firecanyon-lod0-jg "LthumbC" 44) +(def-joint-node assistant-firecanyon-lod0-jg "LindexA" 45) +(def-joint-node assistant-firecanyon-lod0-jg "LindexB" 46) +(def-joint-node assistant-firecanyon-lod0-jg "LindexC" 47) +(def-joint-node assistant-firecanyon-lod0-jg "LmiddleA" 48) +(def-joint-node assistant-firecanyon-lod0-jg "LmiddleB" 49) +(def-joint-node assistant-firecanyon-lod0-jg "LmiddleC" 50) +(def-joint-node assistant-firecanyon-lod0-jg "LringA" 51) +(def-joint-node assistant-firecanyon-lod0-jg "LringB" 52) +(def-joint-node assistant-firecanyon-lod0-jg "LringC" 53) +(def-joint-node assistant-firecanyon-lod0-jg "LpinkyA" 54) +(def-joint-node assistant-firecanyon-lod0-jg "LpinkyB" 55) +(def-joint-node assistant-firecanyon-lod0-jg "LpinkyC" 56) +(def-joint-node assistant-firecanyon-lod0-jg "lGlove" 57) +(def-joint-node assistant-firecanyon-lod0-jg "lTopStrap2" 58) +(def-joint-node assistant-firecanyon-lod0-jg "RthumbA" 59) + +(def-joint-node sidekick-lod0-jg "Reye" 49) +(def-joint-node sidekick-lod0-jg "Leye" 48) +(def-joint-node sidekick-lod0-jg "RthumbB" 47) +(def-joint-node sidekick-lod0-jg "RthumbA" 46) +(def-joint-node sidekick-lod0-jg "LthumbB" 45) +(def-joint-node sidekick-lod0-jg "LthumbA" 44) +(def-joint-node sidekick-lod0-jg "Rball" 43) +(def-joint-node sidekick-lod0-jg "Rankle" 42) +(def-joint-node sidekick-lod0-jg "Rknee" 41) +(def-joint-node sidekick-lod0-jg "Rthigh" 40) +(def-joint-node sidekick-lod0-jg "tailEnd" 39) +(def-joint-node sidekick-lod0-jg "tailMid" 38) +(def-joint-node sidekick-lod0-jg "tailBase" 37) +(def-joint-node sidekick-lod0-jg "Lball" 36) +(def-joint-node sidekick-lod0-jg "Lankle" 35) +(def-joint-node sidekick-lod0-jg "Lknee" 34) +(def-joint-node sidekick-lod0-jg "Lthigh" 33) +(def-joint-node sidekick-lod0-jg "hips" 32) +(def-joint-node sidekick-lod0-jg "RindexB" 31) +(def-joint-node sidekick-lod0-jg "RindexA" 30) +(def-joint-node sidekick-lod0-jg "flapMidL" 13) +(def-joint-node sidekick-lod0-jg "flapBaseL" 12) +(def-joint-node sidekick-lod0-jg "earMidL" 11) +(def-joint-node sidekick-lod0-jg "earBaseL" 10) +(def-joint-node sidekick-lod0-jg "head" 9) +(def-joint-node sidekick-lod0-jg "neckB" 8) +(def-joint-node sidekick-lod0-jg "neckA" 7) +(def-joint-node sidekick-lod0-jg "chest" 6) +(def-joint-node sidekick-lod0-jg "upper_bodyB" 5) +(def-joint-node sidekick-lod0-jg "upper_body" 4) +(def-joint-node sidekick-lod0-jg "main" 3) +(def-joint-node sidekick-lod0-jg "prejoint" 2) +(def-joint-node sidekick-lod0-jg "align" 1) +(def-joint-node sidekick-lod0-jg "flapBaseR" 14) +(def-joint-node sidekick-lod0-jg "flapMidR" 15) +(def-joint-node sidekick-lod0-jg "earBaseR" 16) +(def-joint-node sidekick-lod0-jg "earMidR" 17) +(def-joint-node sidekick-lod0-jg "Lshoulder" 18) +(def-joint-node sidekick-lod0-jg "Lelbow" 19) +(def-joint-node sidekick-lod0-jg "Lhand" 20) +(def-joint-node sidekick-lod0-jg "LmiddleA" 21) +(def-joint-node sidekick-lod0-jg "LmiddleB" 22) +(def-joint-node sidekick-lod0-jg "LindexA" 23) +(def-joint-node sidekick-lod0-jg "LindexB" 24) +(def-joint-node sidekick-lod0-jg "Rshoulder" 25) +(def-joint-node sidekick-lod0-jg "Relbow" 26) +(def-joint-node sidekick-lod0-jg "Rhand" 27) +(def-joint-node sidekick-lod0-jg "RmiddleA" 28) +(def-joint-node sidekick-lod0-jg "RmiddleB" 29) + +(def-joint-node speaker-lod0-jg "speaker" 4) +(def-joint-node speaker-lod0-jg "main" 3) +(def-joint-node speaker-lod0-jg "prejoint" 2) +(def-joint-node speaker-lod0-jg "align" 1) + +(def-joint-node balloon-lod0-jg "rightbot" 12) +(def-joint-node balloon-lod0-jg "rightmid" 11) +(def-joint-node balloon-lod0-jg "leftbot" 10) +(def-joint-node balloon-lod0-jg "leftmid" 9) +(def-joint-node balloon-lod0-jg "midbot" 8) +(def-joint-node balloon-lod0-jg "midmid" 7) +(def-joint-node balloon-lod0-jg "righttop" 6) +(def-joint-node balloon-lod0-jg "lefttop" 5) +(def-joint-node balloon-lod0-jg "midtop" 4) +(def-joint-node balloon-lod0-jg "main" 3) +(def-joint-node balloon-lod0-jg "prejoint" 2) +(def-joint-node balloon-lod0-jg "align" 1) + +(def-joint-node crate-darkeco-cluster-lod0-jg "crate" 3) +(def-joint-node crate-darkeco-cluster-lod0-jg "prejoint" 2) +(def-joint-node crate-darkeco-cluster-lod0-jg "align" 1) + +(def-joint-node logo-cam-lod0-jg "camera" 4) +(def-joint-node logo-cam-lod0-jg "titlecam" 3) +(def-joint-node logo-cam-lod0-jg "prejoint" 2) +(def-joint-node logo-cam-lod0-jg "align" 1) + +(def-joint-node darkecobarrel-lod0-jg "swinger" 4) +(def-joint-node darkecobarrel-lod0-jg "main" 3) +(def-joint-node darkecobarrel-lod0-jg "prejoint" 2) +(def-joint-node darkecobarrel-lod0-jg "align" 1) + +(def-joint-node keg-conveyor-paddle-lod0-jg "barrell" 4) +(def-joint-node keg-conveyor-paddle-lod0-jg "paddle1" 3) +(def-joint-node keg-conveyor-paddle-lod0-jg "prejoint" 2) +(def-joint-node keg-conveyor-paddle-lod0-jg "align" 1) + +(def-joint-node assistant-village2-lod0-jg "belt" 96) +(def-joint-node assistant-village2-lod0-jg "RpantFlap" 95) +(def-joint-node assistant-village2-lod0-jg "LpantFlap" 94) +(def-joint-node assistant-village2-lod0-jg "rBotStrap2" 93) +(def-joint-node assistant-village2-lod0-jg "lBotStrap2" 92) +(def-joint-node assistant-village2-lod0-jg "rKneeFlap" 91) +(def-joint-node assistant-village2-lod0-jg "RfootFlaps" 90) +(def-joint-node assistant-village2-lod0-jg "RtoeStrap" 89) +(def-joint-node assistant-village2-lod0-jg "lKneeFlap" 88) +(def-joint-node assistant-village2-lod0-jg "LfootFlaps" 87) +(def-joint-node assistant-village2-lod0-jg "rBoob" 86) +(def-joint-node assistant-village2-lod0-jg "lBoob" 85) +(def-joint-node assistant-village2-lod0-jg "rTopStrap2" 84) +(def-joint-node assistant-village2-lod0-jg "rGlove" 83) +(def-joint-node assistant-village2-lod0-jg "RpinkyC" 82) +(def-joint-node assistant-village2-lod0-jg "RpinkyB" 81) +(def-joint-node assistant-village2-lod0-jg "RpinkyA" 80) +(def-joint-node assistant-village2-lod0-jg "RringC" 79) +(def-joint-node assistant-village2-lod0-jg "RringB" 78) +(def-joint-node assistant-village2-lod0-jg "RringA" 77) +(def-joint-node assistant-village2-lod0-jg "RmiddleC" 76) +(def-joint-node assistant-village2-lod0-jg "RindexC" 75) +(def-joint-node assistant-village2-lod0-jg "RindexB" 74) +(def-joint-node assistant-village2-lod0-jg "RindexA" 73) +(def-joint-node assistant-village2-lod0-jg "RthumbC" 72) +(def-joint-node assistant-village2-lod0-jg "lTopStrap2" 71) +(def-joint-node assistant-village2-lod0-jg "lGlove" 70) +(def-joint-node assistant-village2-lod0-jg "LpinkyC" 69) +(def-joint-node assistant-village2-lod0-jg "LpinkyB" 68) +(def-joint-node assistant-village2-lod0-jg "LpinkyA" 67) +(def-joint-node assistant-village2-lod0-jg "LringC" 66) +(def-joint-node assistant-village2-lod0-jg "LringB" 65) +(def-joint-node assistant-village2-lod0-jg "LringA" 64) +(def-joint-node assistant-village2-lod0-jg "LmiddleC" 63) +(def-joint-node assistant-village2-lod0-jg "LindexC" 62) +(def-joint-node assistant-village2-lod0-jg "LindexB" 61) +(def-joint-node assistant-village2-lod0-jg "LindexA" 60) +(def-joint-node assistant-village2-lod0-jg "torch" 29) +(def-joint-node assistant-village2-lod0-jg "Rball" 28) +(def-joint-node assistant-village2-lod0-jg "Rankle" 27) +(def-joint-node assistant-village2-lod0-jg "Rknee" 26) +(def-joint-node assistant-village2-lod0-jg "Rthigh" 25) +(def-joint-node assistant-village2-lod0-jg "LtoeStrap" 24) +(def-joint-node assistant-village2-lod0-jg "Lball" 23) +(def-joint-node assistant-village2-lod0-jg "Lankle" 22) +(def-joint-node assistant-village2-lod0-jg "Lknee" 21) +(def-joint-node assistant-village2-lod0-jg "Lthigh" 20) +(def-joint-node assistant-village2-lod0-jg "hips" 19) +(def-joint-node assistant-village2-lod0-jg "Rhand" 18) +(def-joint-node assistant-village2-lod0-jg "Relbow" 17) +(def-joint-node assistant-village2-lod0-jg "Rshoulder" 16) +(def-joint-node assistant-village2-lod0-jg "lTopStrap1" 15) +(def-joint-node assistant-village2-lod0-jg "Lhand" 14) +(def-joint-node assistant-village2-lod0-jg "align" 1) +(def-joint-node assistant-village2-lod0-jg "prejoint" 2) +(def-joint-node assistant-village2-lod0-jg "main" 3) +(def-joint-node assistant-village2-lod0-jg "chest" 4) +(def-joint-node assistant-village2-lod0-jg "neck" 5) +(def-joint-node assistant-village2-lod0-jg "head" 6) +(def-joint-node assistant-village2-lod0-jg "lEar1" 7) +(def-joint-node assistant-village2-lod0-jg "lEar2" 8) +(def-joint-node assistant-village2-lod0-jg "rEar1" 9) +(def-joint-node assistant-village2-lod0-jg "rEar2" 10) +(def-joint-node assistant-village2-lod0-jg "backHair1" 11) +(def-joint-node assistant-village2-lod0-jg "Lshoulder" 12) +(def-joint-node assistant-village2-lod0-jg "Lelbow" 13) +(def-joint-node assistant-village2-lod0-jg "torchTIP" 30) +(def-joint-node assistant-village2-lod0-jg "camera" 31) +(def-joint-node assistant-village2-lod0-jg "cameraB" 32) +(def-joint-node assistant-village2-lod0-jg "gogglesBase" 33) +(def-joint-node assistant-village2-lod0-jg "backHair2" 34) +(def-joint-node assistant-village2-lod0-jg "LthumbA" 35) +(def-joint-node assistant-village2-lod0-jg "LthumbB" 36) +(def-joint-node assistant-village2-lod0-jg "LmiddleA" 37) +(def-joint-node assistant-village2-lod0-jg "LmiddleB" 38) +(def-joint-node assistant-village2-lod0-jg "RthumbA" 39) +(def-joint-node assistant-village2-lod0-jg "RthumbB" 40) +(def-joint-node assistant-village2-lod0-jg "RmiddleA" 41) +(def-joint-node assistant-village2-lod0-jg "RmiddleB" 42) +(def-joint-node assistant-village2-lod0-jg "rTopStrap1" 43) +(def-joint-node assistant-village2-lod0-jg "gogglesMid" 44) +(def-joint-node assistant-village2-lod0-jg "gogglesRight" 45) +(def-joint-node assistant-village2-lod0-jg "gogglesLeft" 46) +(def-joint-node assistant-village2-lod0-jg "lBotStrap1" 47) +(def-joint-node assistant-village2-lod0-jg "rBotStrap1" 48) +(def-joint-node assistant-village2-lod0-jg "flipR1" 49) +(def-joint-node assistant-village2-lod0-jg "flipR2" 50) +(def-joint-node assistant-village2-lod0-jg "flipR3" 51) +(def-joint-node assistant-village2-lod0-jg "flipL1" 52) +(def-joint-node assistant-village2-lod0-jg "flipL2" 53) +(def-joint-node assistant-village2-lod0-jg "flipL3" 54) +(def-joint-node assistant-village2-lod0-jg "Lhair1" 55) +(def-joint-node assistant-village2-lod0-jg "Lhair2" 56) +(def-joint-node assistant-village2-lod0-jg "Rhair1" 57) +(def-joint-node assistant-village2-lod0-jg "Rhair2" 58) +(def-joint-node assistant-village2-lod0-jg "LthumbC" 59) + +(def-joint-node windmill-sail-lod0-jg "boneless" 3) +(def-joint-node windmill-sail-lod0-jg "prejoint" 2) +(def-joint-node windmill-sail-lod0-jg "align" 1) + +(def-joint-node energyarm-lod0-jg "zapa" 6) +(def-joint-node energyarm-lod0-jg "zapb" 5) +(def-joint-node energyarm-lod0-jg "zapc" 4) +(def-joint-node energyarm-lod0-jg "main" 3) +(def-joint-node energyarm-lod0-jg "prejoint" 2) +(def-joint-node energyarm-lod0-jg "align" 1) + +(def-joint-node snow-bridge-36-lod0-jg "end" 22) +(def-joint-node snow-bridge-36-lod0-jg "board18" 21) +(def-joint-node snow-bridge-36-lod0-jg "board17" 20) +(def-joint-node snow-bridge-36-lod0-jg "board16" 19) +(def-joint-node snow-bridge-36-lod0-jg "board15" 18) +(def-joint-node snow-bridge-36-lod0-jg "board14" 17) +(def-joint-node snow-bridge-36-lod0-jg "board13" 16) +(def-joint-node snow-bridge-36-lod0-jg "board12" 15) +(def-joint-node snow-bridge-36-lod0-jg "board11" 14) +(def-joint-node snow-bridge-36-lod0-jg "align" 1) +(def-joint-node snow-bridge-36-lod0-jg "prejoint" 2) +(def-joint-node snow-bridge-36-lod0-jg "head" 3) +(def-joint-node snow-bridge-36-lod0-jg "board01" 4) +(def-joint-node snow-bridge-36-lod0-jg "board02" 5) +(def-joint-node snow-bridge-36-lod0-jg "board03" 6) +(def-joint-node snow-bridge-36-lod0-jg "board04" 7) +(def-joint-node snow-bridge-36-lod0-jg "board05" 8) +(def-joint-node snow-bridge-36-lod0-jg "board06" 9) +(def-joint-node snow-bridge-36-lod0-jg "board07" 10) +(def-joint-node snow-bridge-36-lod0-jg "board08" 11) +(def-joint-node snow-bridge-36-lod0-jg "board09" 12) +(def-joint-node snow-bridge-36-lod0-jg "board10" 13) + +(def-joint-node energyhub-lod0-jg "boneless" 3) +(def-joint-node energyhub-lod0-jg "prejoint" 2) +(def-joint-node energyhub-lod0-jg "align" 1) + +(def-joint-node lavafall-lod0-jg "five" 8) +(def-joint-node lavafall-lod0-jg "four" 7) +(def-joint-node lavafall-lod0-jg "three" 6) +(def-joint-node lavafall-lod0-jg "two" 5) +(def-joint-node lavafall-lod0-jg "one" 4) +(def-joint-node lavafall-lod0-jg "main" 3) +(def-joint-node lavafall-lod0-jg "prejoint" 2) +(def-joint-node lavafall-lod0-jg "align" 1) + +(def-joint-node lavafallsewera-lod0-jg "boneless" 3) +(def-joint-node lavafallsewera-lod0-jg "prejoint" 2) +(def-joint-node lavafallsewera-lod0-jg "align" 1) + +(def-joint-node lavafallsewerb-lod0-jg "boneless" 3) +(def-joint-node lavafallsewerb-lod0-jg "prejoint" 2) +(def-joint-node lavafallsewerb-lod0-jg "align" 1) + +(def-joint-node swamp-bat-lod0-jg "tailEND" 16) +(def-joint-node swamp-bat-lod0-jg "Rhand" 15) +(def-joint-node swamp-bat-lod0-jg "Lhand" 14) +(def-joint-node swamp-bat-lod0-jg "align" 1) +(def-joint-node swamp-bat-lod0-jg "prejoint" 2) +(def-joint-node swamp-bat-lod0-jg "main" 3) +(def-joint-node swamp-bat-lod0-jg "Lshoulder" 4) +(def-joint-node swamp-bat-lod0-jg "Lelbow" 5) +(def-joint-node swamp-bat-lod0-jg "Rshoulder" 6) +(def-joint-node swamp-bat-lod0-jg "Relbow" 7) +(def-joint-node swamp-bat-lod0-jg "hips" 8) +(def-joint-node swamp-bat-lod0-jg "head" 9) +(def-joint-node swamp-bat-lod0-jg "jaw" 10) +(def-joint-node swamp-bat-lod0-jg "thigh" 11) +(def-joint-node swamp-bat-lod0-jg "ankle" 12) +(def-joint-node swamp-bat-lod0-jg "tailMid" 13) + +(def-joint-node bluesage-lod0-jg "staff3" 92) +(def-joint-node bluesage-lod0-jg "staff2" 91) +(def-joint-node bluesage-lod0-jg "brleg_strap2" 90) +(def-joint-node bluesage-lod0-jg "brleg_strap1" 89) +(def-joint-node bluesage-lod0-jg "trleg_strap2" 88) +(def-joint-node bluesage-lod0-jg "trleg_strap1" 87) +(def-joint-node bluesage-lod0-jg "blleg_strap2" 86) +(def-joint-node bluesage-lod0-jg "blleg_strap1" 85) +(def-joint-node bluesage-lod0-jg "tlleg_strap2" 84) +(def-joint-node bluesage-lod0-jg "tlleg_strap1" 83) +(def-joint-node bluesage-lod0-jg "arm_tubejoint33" 82) +(def-joint-node bluesage-lod0-jg "LringB" 81) +(def-joint-node bluesage-lod0-jg "LringA" 80) +(def-joint-node bluesage-lod0-jg "LmiddleB" 79) +(def-joint-node bluesage-lod0-jg "LmiddleA" 78) +(def-joint-node bluesage-lod0-jg "LthumbC" 77) +(def-joint-node bluesage-lod0-jg "glove" 76) +(def-joint-node bluesage-lod0-jg "RringB" 75) +(def-joint-node bluesage-lod0-jg "RringA" 74) +(def-joint-node bluesage-lod0-jg "RmiddleB" 73) +(def-joint-node bluesage-lod0-jg "RmiddleA" 72) +(def-joint-node bluesage-lod0-jg "RthumbC" 71) +(def-joint-node bluesage-lod0-jg "rear_chain2" 70) +(def-joint-node bluesage-lod0-jg "rear_chain1" 69) +(def-joint-node bluesage-lod0-jg "head_tubejoint32" 68) +(def-joint-node bluesage-lod0-jg "conduct8" 67) +(def-joint-node bluesage-lod0-jg "conduct10" 66) +(def-joint-node bluesage-lod0-jg "conduct9" 65) +(def-joint-node bluesage-lod0-jg "conduct1" 64) +(def-joint-node bluesage-lod0-jg "conduct2" 63) +(def-joint-node bluesage-lod0-jg "conduct4" 62) +(def-joint-node bluesage-lod0-jg "conduct3" 61) +(def-joint-node bluesage-lod0-jg "arm_tube3" 60) +(def-joint-node bluesage-lod0-jg "RindexB" 29) +(def-joint-node bluesage-lod0-jg "RindexA" 28) +(def-joint-node bluesage-lod0-jg "RthumbB" 27) +(def-joint-node bluesage-lod0-jg "RthumbA" 26) +(def-joint-node bluesage-lod0-jg "Rhand" 25) +(def-joint-node bluesage-lod0-jg "Relbow" 24) +(def-joint-node bluesage-lod0-jg "Rshoulder" 23) +(def-joint-node bluesage-lod0-jg "reye_chain2" 22) +(def-joint-node bluesage-lod0-jg "reye_chain1" 21) +(def-joint-node bluesage-lod0-jg "rear2" 20) +(def-joint-node bluesage-lod0-jg "rear1" 19) +(def-joint-node bluesage-lod0-jg "lear2" 18) +(def-joint-node bluesage-lod0-jg "lear1" 17) +(def-joint-node bluesage-lod0-jg "rmustache2" 16) +(def-joint-node bluesage-lod0-jg "rmustache1" 15) +(def-joint-node bluesage-lod0-jg "lmustache2" 14) +(def-joint-node bluesage-lod0-jg "align" 1) +(def-joint-node bluesage-lod0-jg "prejoint" 2) +(def-joint-node bluesage-lod0-jg "main" 3) +(def-joint-node bluesage-lod0-jg "chest" 4) +(def-joint-node bluesage-lod0-jg "neck" 5) +(def-joint-node bluesage-lod0-jg "head" 6) +(def-joint-node bluesage-lod0-jg "helmet" 7) +(def-joint-node bluesage-lod0-jg "conduct5" 8) +(def-joint-node bluesage-lod0-jg "conduct6" 9) +(def-joint-node bluesage-lod0-jg "conduct6_tip" 10) +(def-joint-node bluesage-lod0-jg "conduct7" 11) +(def-joint-node bluesage-lod0-jg "conduct7_tip" 12) +(def-joint-node bluesage-lod0-jg "lmustache1" 13) +(def-joint-node bluesage-lod0-jg "RpinkyA" 30) +(def-joint-node bluesage-lod0-jg "RpinkyB" 31) +(def-joint-node bluesage-lod0-jg "Lshoulder" 32) +(def-joint-node bluesage-lod0-jg "Lelbow" 33) +(def-joint-node bluesage-lod0-jg "Lhand" 34) +(def-joint-node bluesage-lod0-jg "LthumbA" 35) +(def-joint-node bluesage-lod0-jg "LthumbB" 36) +(def-joint-node bluesage-lod0-jg "LindexA" 37) +(def-joint-node bluesage-lod0-jg "LindexB" 38) +(def-joint-node bluesage-lod0-jg "LpinkyA" 39) +(def-joint-node bluesage-lod0-jg "LpinkyB" 40) +(def-joint-node bluesage-lod0-jg "arm_tube1" 41) +(def-joint-node bluesage-lod0-jg "arm_glo" 42) +(def-joint-node bluesage-lod0-jg "hips" 43) +(def-joint-node bluesage-lod0-jg "Lthigh" 44) +(def-joint-node bluesage-lod0-jg "Lknee" 45) +(def-joint-node bluesage-lod0-jg "Lankle" 46) +(def-joint-node bluesage-lod0-jg "Lball" 47) +(def-joint-node bluesage-lod0-jg "Rthigh" 48) +(def-joint-node bluesage-lod0-jg "Rknee" 49) +(def-joint-node bluesage-lod0-jg "Rankle" 50) +(def-joint-node bluesage-lod0-jg "Rball" 51) +(def-joint-node bluesage-lod0-jg "staff1" 52) +(def-joint-node bluesage-lod0-jg "staff_glo" 53) +(def-joint-node bluesage-lod0-jg "camera" 54) +(def-joint-node bluesage-lod0-jg "cameraB" 55) +(def-joint-node bluesage-lod0-jg "head_tube1" 56) +(def-joint-node bluesage-lod0-jg "head_tubej2" 57) +(def-joint-node bluesage-lod0-jg "head_tube3" 58) +(def-joint-node bluesage-lod0-jg "arm_tube2" 59) + +(def-joint-node lavayellowtarp-lod0-jg "tarpD" 6) +(def-joint-node lavayellowtarp-lod0-jg "tarpC" 5) +(def-joint-node lavayellowtarp-lod0-jg "tarpB" 4) +(def-joint-node lavayellowtarp-lod0-jg "main" 3) +(def-joint-node lavayellowtarp-lod0-jg "prejoint" 2) +(def-joint-node lavayellowtarp-lod0-jg "align" 1) + +(def-joint-node gnawer-lod0-jg "antennaeR" 36) +(def-joint-node gnawer-lod0-jg "antennaeL" 35) +(def-joint-node gnawer-lod0-jg "nandibleR" 34) +(def-joint-node gnawer-lod0-jg "mandibleL" 33) +(def-joint-node gnawer-lod0-jg "jaw" 32) +(def-joint-node gnawer-lod0-jg "ring" 31) +(def-joint-node gnawer-lod0-jg "tailA" 30) +(def-joint-node gnawer-lod0-jg "head" 13) +(def-joint-node gnawer-lod0-jg "tail" 12) +(def-joint-node gnawer-lod0-jg "segF" 11) +(def-joint-node gnawer-lod0-jg "segE" 10) +(def-joint-node gnawer-lod0-jg "segD" 9) +(def-joint-node gnawer-lod0-jg "segC" 8) +(def-joint-node gnawer-lod0-jg "segB" 7) +(def-joint-node gnawer-lod0-jg "segA" 6) +(def-joint-node gnawer-lod0-jg "upper" 5) +(def-joint-node gnawer-lod0-jg "neck" 4) +(def-joint-node gnawer-lod0-jg "main" 3) +(def-joint-node gnawer-lod0-jg "prejoint" 2) +(def-joint-node gnawer-lod0-jg "align" 1) +(def-joint-node gnawer-lod0-jg "upperleg_l" 14) +(def-joint-node gnawer-lod0-jg "upperleg_r" 15) +(def-joint-node gnawer-lod0-jg "segAleg_l" 16) +(def-joint-node gnawer-lod0-jg "segAleg_r" 17) +(def-joint-node gnawer-lod0-jg "segBleg_l" 18) +(def-joint-node gnawer-lod0-jg "segBleg_r" 19) +(def-joint-node gnawer-lod0-jg "segCleg_l" 20) +(def-joint-node gnawer-lod0-jg "segCleg_r" 21) +(def-joint-node gnawer-lod0-jg "segDleg_l" 22) +(def-joint-node gnawer-lod0-jg "segDleg_r" 23) +(def-joint-node gnawer-lod0-jg "segEleg_l" 24) +(def-joint-node gnawer-lod0-jg "segEleg_r" 25) +(def-joint-node gnawer-lod0-jg "segFleg_l" 26) +(def-joint-node gnawer-lod0-jg "segFleg_r" 27) +(def-joint-node gnawer-lod0-jg "tailleg_l" 28) +(def-joint-node gnawer-lod0-jg "tailleg_r" 29) + +(def-joint-node gnawer-segment-lod0-jg "segAleg_r" 6) +(def-joint-node gnawer-segment-lod0-jg "segAleg_l" 5) +(def-joint-node gnawer-segment-lod0-jg "segA" 4) +(def-joint-node gnawer-segment-lod0-jg "main" 3) +(def-joint-node gnawer-segment-lod0-jg "prejoint" 2) +(def-joint-node gnawer-segment-lod0-jg "align" 1) + +(def-joint-node cavespatulatwo-lod0-jg "boneless" 3) +(def-joint-node cavespatulatwo-lod0-jg "prejoint" 2) +(def-joint-node cavespatulatwo-lod0-jg "align" 1) + +(def-joint-node citb-stopbox-lod0-jg "boneless" 3) +(def-joint-node citb-stopbox-lod0-jg "prejoint" 2) +(def-joint-node citb-stopbox-lod0-jg "align" 1) + +(def-joint-node launcherdoor-maincave-geo-jg "slice12" 15) +(def-joint-node launcherdoor-maincave-geo-jg "slice11" 14) +(def-joint-node launcherdoor-maincave-geo-jg "align" 1) +(def-joint-node launcherdoor-maincave-geo-jg "prejoint" 2) +(def-joint-node launcherdoor-maincave-geo-jg "main" 3) +(def-joint-node launcherdoor-maincave-geo-jg "slice1" 4) +(def-joint-node launcherdoor-maincave-geo-jg "slice2" 5) +(def-joint-node launcherdoor-maincave-geo-jg "slice3" 6) +(def-joint-node launcherdoor-maincave-geo-jg "slice4" 7) +(def-joint-node launcherdoor-maincave-geo-jg "slice5" 8) +(def-joint-node launcherdoor-maincave-geo-jg "slice6" 9) +(def-joint-node launcherdoor-maincave-geo-jg "slice7" 10) +(def-joint-node launcherdoor-maincave-geo-jg "slice8" 11) +(def-joint-node launcherdoor-maincave-geo-jg "slice9" 12) +(def-joint-node launcherdoor-maincave-geo-jg "slice10" 13) + +(def-joint-node plat-lod0-jg "boneless" 3) +(def-joint-node plat-lod0-jg "prejoint" 2) +(def-joint-node plat-lod0-jg "align" 1) + +(def-joint-node plat-citb-lod0-jg "boneless" 3) +(def-joint-node plat-citb-lod0-jg "prejoint" 2) +(def-joint-node plat-citb-lod0-jg "align" 1) + +(def-joint-node water-anim-maincave-mid-left-pool-lod0-jg "boneless" 3) +(def-joint-node water-anim-maincave-mid-left-pool-lod0-jg "prejoint" 2) +(def-joint-node water-anim-maincave-mid-left-pool-lod0-jg "align" 1) + +(def-joint-node balloonlurker-lod0-jg "pedLEFT" 20) +(def-joint-node balloonlurker-lod0-jg "pedRIGHT" 19) +(def-joint-node balloonlurker-lod0-jg "Lpulley1" 18) +(def-joint-node balloonlurker-lod0-jg "Lpulley" 17) +(def-joint-node balloonlurker-lod0-jg "Rpulley1" 16) +(def-joint-node balloonlurker-lod0-jg "Rpulley" 15) +(def-joint-node balloonlurker-lod0-jg "pedals" 14) +(def-joint-node balloonlurker-lod0-jg "align" 1) +(def-joint-node balloonlurker-lod0-jg "prejoint" 2) +(def-joint-node balloonlurker-lod0-jg "all" 3) +(def-joint-node balloonlurker-lod0-jg "prop" 4) +(def-joint-node balloonlurker-lod0-jg "BmineA" 5) +(def-joint-node balloonlurker-lod0-jg "BmineB" 6) +(def-joint-node balloonlurker-lod0-jg "BmineC" 7) +(def-joint-node balloonlurker-lod0-jg "FmineA" 8) +(def-joint-node balloonlurker-lod0-jg "FmineB" 9) +(def-joint-node balloonlurker-lod0-jg "FmineC" 10) +(def-joint-node balloonlurker-lod0-jg "poleTop" 11) +(def-joint-node balloonlurker-lod0-jg "Rudder" 12) +(def-joint-node balloonlurker-lod0-jg "poleBot" 13) + +(def-joint-node exit-chamber-lod0-jg "main" 3) +(def-joint-node exit-chamber-lod0-jg "prejoint" 2) +(def-joint-node exit-chamber-lod0-jg "align" 1) + +(def-joint-node cavecrusher-lod0-jg "roller_" 3) +(def-joint-node cavecrusher-lod0-jg "prejoint" 2) +(def-joint-node cavecrusher-lod0-jg "align" 1) + +(def-joint-node boatpaddle-lod0-jg "wheel" 3) +(def-joint-node boatpaddle-lod0-jg "prejoint" 2) +(def-joint-node boatpaddle-lod0-jg "align" 1) + +(def-joint-node helix-button-lod0-jg "boneless" 3) +(def-joint-node helix-button-lod0-jg "prejoint" 2) +(def-joint-node helix-button-lod0-jg "align" 1) + +(def-joint-node wheel-geo-jg "main" 3) +(def-joint-node wheel-geo-jg "prejoint" 2) +(def-joint-node wheel-geo-jg "align" 1) + +(def-joint-node windmill-one-lod0-jg "belttwo" 11) +(def-joint-node windmill-one-lod0-jg "beltone" 10) +(def-joint-node windmill-one-lod0-jg "plat1" 9) +(def-joint-node windmill-one-lod0-jg "plat" 8) +(def-joint-node windmill-one-lod0-jg "bigdriver" 7) +(def-joint-node windmill-one-lod0-jg "milldriver" 6) +(def-joint-node windmill-one-lod0-jg "beltend" 5) +(def-joint-node windmill-one-lod0-jg "big" 4) +(def-joint-node windmill-one-lod0-jg "main" 3) +(def-joint-node windmill-one-lod0-jg "prejoint" 2) +(def-joint-node windmill-one-lod0-jg "align" 1) + +(def-joint-node citadelcam-lod0-jg "camera" 4) +(def-joint-node citadelcam-lod0-jg "beachcam" 3) +(def-joint-node citadelcam-lod0-jg "prejoint" 2) +(def-joint-node citadelcam-lod0-jg "align" 1) + +(def-joint-node bonelurker-lod0-jg "RringC" 58) +(def-joint-node bonelurker-lod0-jg "RringB" 57) +(def-joint-node bonelurker-lod0-jg "RringA" 56) +(def-joint-node bonelurker-lod0-jg "RmiddleC" 55) +(def-joint-node bonelurker-lod0-jg "RmiddleB" 54) +(def-joint-node bonelurker-lod0-jg "RmiddleA" 53) +(def-joint-node bonelurker-lod0-jg "RthumbC" 52) +(def-joint-node bonelurker-lod0-jg "RthumbB" 51) +(def-joint-node bonelurker-lod0-jg "RthumbA" 50) +(def-joint-node bonelurker-lod0-jg "clubEND" 49) +(def-joint-node bonelurker-lod0-jg "LringC" 48) +(def-joint-node bonelurker-lod0-jg "LringB" 47) +(def-joint-node bonelurker-lod0-jg "LringA" 46) +(def-joint-node bonelurker-lod0-jg "LmiddleC" 45) +(def-joint-node bonelurker-lod0-jg "LmiddleB" 44) +(def-joint-node bonelurker-lod0-jg "LthumbC" 43) +(def-joint-node bonelurker-lod0-jg "LmiddleA" 42) +(def-joint-node bonelurker-lod0-jg "LthumbB" 41) +(def-joint-node bonelurker-lod0-jg "ring" 40) +(def-joint-node bonelurker-lod0-jg "Rball" 39) +(def-joint-node bonelurker-lod0-jg "Rankle" 38) +(def-joint-node bonelurker-lod0-jg "Rknee" 37) +(def-joint-node bonelurker-lod0-jg "Rthigh" 36) +(def-joint-node bonelurker-lod0-jg "Lball" 35) +(def-joint-node bonelurker-lod0-jg "Lankle" 34) +(def-joint-node bonelurker-lod0-jg "Lknee" 33) +(def-joint-node bonelurker-lod0-jg "Lthigh" 32) +(def-joint-node bonelurker-lod0-jg "hips" 31) +(def-joint-node bonelurker-lod0-jg "shoulderPadR" 30) +(def-joint-node bonelurker-lod0-jg "LindexA" 13) +(def-joint-node bonelurker-lod0-jg "LthumbA" 12) +(def-joint-node bonelurker-lod0-jg "Lhand" 11) +(def-joint-node bonelurker-lod0-jg "Lelbow" 10) +(def-joint-node bonelurker-lod0-jg "Lshoulder" 9) +(def-joint-node bonelurker-lod0-jg "jaw" 8) +(def-joint-node bonelurker-lod0-jg "helmet" 7) +(def-joint-node bonelurker-lod0-jg "head" 6) +(def-joint-node bonelurker-lod0-jg "neck" 5) +(def-joint-node bonelurker-lod0-jg "chest" 4) +(def-joint-node bonelurker-lod0-jg "main" 3) +(def-joint-node bonelurker-lod0-jg "prejoint" 2) +(def-joint-node bonelurker-lod0-jg "align" 1) +(def-joint-node bonelurker-lod0-jg "LindexB" 14) +(def-joint-node bonelurker-lod0-jg "LindexC" 15) +(def-joint-node bonelurker-lod0-jg "LpinkyA" 16) +(def-joint-node bonelurker-lod0-jg "LpinkyB" 17) +(def-joint-node bonelurker-lod0-jg "LpinkyC" 18) +(def-joint-node bonelurker-lod0-jg "shoulderPadL" 19) +(def-joint-node bonelurker-lod0-jg "Rshoulder" 20) +(def-joint-node bonelurker-lod0-jg "Relbow" 21) +(def-joint-node bonelurker-lod0-jg "Rhand" 22) +(def-joint-node bonelurker-lod0-jg "RindexA" 23) +(def-joint-node bonelurker-lod0-jg "RindexB" 24) +(def-joint-node bonelurker-lod0-jg "RindexC" 25) +(def-joint-node bonelurker-lod0-jg "RpinkyA" 26) +(def-joint-node bonelurker-lod0-jg "RpinkyB" 27) +(def-joint-node bonelurker-lod0-jg "RpinkyC" 28) +(def-joint-node bonelurker-lod0-jg "club" 29) + +(def-joint-node ogre-bridgeend-lod0-jg "boneless" 3) +(def-joint-node ogre-bridgeend-lod0-jg "prejoint" 2) +(def-joint-node ogre-bridgeend-lod0-jg "align" 1) + +(def-joint-node water-anim-robocave-main-pool-lod0-jg "boneless" 3) +(def-joint-node water-anim-robocave-main-pool-lod0-jg "prejoint" 2) +(def-joint-node water-anim-robocave-main-pool-lod0-jg "align" 1) + +(def-joint-node spike-lod0-jg "big" 3) +(def-joint-node spike-lod0-jg "prejoint" 2) +(def-joint-node spike-lod0-jg "align" 1) + +(def-joint-node ef-plane-lod0-jg "plane" 3) +(def-joint-node ef-plane-lod0-jg "prejoint" 2) +(def-joint-node ef-plane-lod0-jg "align" 1) + +(def-joint-node breakaway-left-lod0-jg "breakleft" 3) +(def-joint-node breakaway-left-lod0-jg "prejoint" 2) +(def-joint-node breakaway-left-lod0-jg "align" 1) + +(def-joint-node water-anim-misty-mud-island-near-dock-lod0-jg "boneless" 3) +(def-joint-node water-anim-misty-mud-island-near-dock-lod0-jg "prejoint" 2) +(def-joint-node water-anim-misty-mud-island-near-dock-lod0-jg "align" 1) + +(def-joint-node breakaway-right-lod0-jg "breakaway_" 3) +(def-joint-node breakaway-right-lod0-jg "prejoint" 2) +(def-joint-node breakaway-right-lod0-jg "align" 1) + +(def-joint-node puffer-mean-lod0-jg "spike9" 60) +(def-joint-node puffer-mean-lod0-jg "lwingC" 29) +(def-joint-node puffer-mean-lod0-jg "lwingB" 28) +(def-joint-node puffer-mean-lod0-jg "lwingA" 27) +(def-joint-node puffer-mean-lod0-jg "rhand" 26) +(def-joint-node puffer-mean-lod0-jg "relbow" 25) +(def-joint-node puffer-mean-lod0-jg "rarm" 24) +(def-joint-node puffer-mean-lod0-jg "lhand" 23) +(def-joint-node puffer-mean-lod0-jg "lelbow" 22) +(def-joint-node puffer-mean-lod0-jg "larm" 21) +(def-joint-node puffer-mean-lod0-jg "rball" 20) +(def-joint-node puffer-mean-lod0-jg "rankle" 19) +(def-joint-node puffer-mean-lod0-jg "rknee" 18) +(def-joint-node puffer-mean-lod0-jg "rthigh" 17) +(def-joint-node puffer-mean-lod0-jg "lball" 16) +(def-joint-node puffer-mean-lod0-jg "lankle" 15) +(def-joint-node puffer-mean-lod0-jg "lknee" 14) +(def-joint-node puffer-mean-lod0-jg "align" 1) +(def-joint-node puffer-mean-lod0-jg "prejoint" 2) +(def-joint-node puffer-mean-lod0-jg "main" 3) +(def-joint-node puffer-mean-lod0-jg "neck" 4) +(def-joint-node puffer-mean-lod0-jg "head" 5) +(def-joint-node puffer-mean-lod0-jg "jaw" 6) +(def-joint-node puffer-mean-lod0-jg "hips" 7) +(def-joint-node puffer-mean-lod0-jg "tailA" 8) +(def-joint-node puffer-mean-lod0-jg "tailB" 9) +(def-joint-node puffer-mean-lod0-jg "tailC" 10) +(def-joint-node puffer-mean-lod0-jg "tailD" 11) +(def-joint-node puffer-mean-lod0-jg "tailE" 12) +(def-joint-node puffer-mean-lod0-jg "lthigh" 13) +(def-joint-node puffer-mean-lod0-jg "rwingA" 30) +(def-joint-node puffer-mean-lod0-jg "rwingB" 31) +(def-joint-node puffer-mean-lod0-jg "rwingC" 32) +(def-joint-node puffer-mean-lod0-jg "ring" 33) +(def-joint-node puffer-mean-lod0-jg "spike12" 34) +(def-joint-node puffer-mean-lod0-jg "spike10" 35) +(def-joint-node puffer-mean-lod0-jg "spike3" 36) +(def-joint-node puffer-mean-lod0-jg "spike15" 37) +(def-joint-node puffer-mean-lod0-jg "spike6" 38) +(def-joint-node puffer-mean-lod0-jg "lpinkyA" 39) +(def-joint-node puffer-mean-lod0-jg "lpinkyB" 40) +(def-joint-node puffer-mean-lod0-jg "lindexA" 41) +(def-joint-node puffer-mean-lod0-jg "lindexB" 42) +(def-joint-node puffer-mean-lod0-jg "lthumbA" 43) +(def-joint-node puffer-mean-lod0-jg "lthumbB" 44) +(def-joint-node puffer-mean-lod0-jg "rpinkyA" 45) +(def-joint-node puffer-mean-lod0-jg "rpinkyB" 46) +(def-joint-node puffer-mean-lod0-jg "rindexA" 47) +(def-joint-node puffer-mean-lod0-jg "rindexB" 48) +(def-joint-node puffer-mean-lod0-jg "rthumbA" 49) +(def-joint-node puffer-mean-lod0-jg "rthumbB" 50) +(def-joint-node puffer-mean-lod0-jg "spike14" 51) +(def-joint-node puffer-mean-lod0-jg "spike5" 52) +(def-joint-node puffer-mean-lod0-jg "spike7" 53) +(def-joint-node puffer-mean-lod0-jg "spike8" 54) +(def-joint-node puffer-mean-lod0-jg "spike2" 55) +(def-joint-node puffer-mean-lod0-jg "spike11" 56) +(def-joint-node puffer-mean-lod0-jg "spike4" 57) +(def-joint-node puffer-mean-lod0-jg "spike13" 58) +(def-joint-node puffer-mean-lod0-jg "spike1" 59) + +(def-joint-node keg-lod0-jg "main" 3) +(def-joint-node keg-lod0-jg "prejoint" 2) +(def-joint-node keg-lod0-jg "align" 1) + +(def-joint-node mis-bone-bridge-lod0-jg "log" 4) +(def-joint-node mis-bone-bridge-lod0-jg "main" 3) +(def-joint-node mis-bone-bridge-lod0-jg "prejoint" 2) +(def-joint-node mis-bone-bridge-lod0-jg "align" 1) + +(def-joint-node ogre-bridge-lod0-jg "bridgestart" 20) +(def-joint-node ogre-bridge-lod0-jg "walk_16" 19) +(def-joint-node ogre-bridge-lod0-jg "walk_15" 18) +(def-joint-node ogre-bridge-lod0-jg "walk_14" 17) +(def-joint-node ogre-bridge-lod0-jg "walk_13" 16) +(def-joint-node ogre-bridge-lod0-jg "walk_12" 15) +(def-joint-node ogre-bridge-lod0-jg "walk_11" 14) +(def-joint-node ogre-bridge-lod0-jg "align" 1) +(def-joint-node ogre-bridge-lod0-jg "prejoint" 2) +(def-joint-node ogre-bridge-lod0-jg "bridge" 3) +(def-joint-node ogre-bridge-lod0-jg "walk_1" 4) +(def-joint-node ogre-bridge-lod0-jg "walk_2" 5) +(def-joint-node ogre-bridge-lod0-jg "walk_3" 6) +(def-joint-node ogre-bridge-lod0-jg "walk_4" 7) +(def-joint-node ogre-bridge-lod0-jg "walk_5" 8) +(def-joint-node ogre-bridge-lod0-jg "walk_6" 9) +(def-joint-node ogre-bridge-lod0-jg "walk_7" 10) +(def-joint-node ogre-bridge-lod0-jg "walk_8" 11) +(def-joint-node ogre-bridge-lod0-jg "walk_9" 12) +(def-joint-node ogre-bridge-lod0-jg "walk_10" 13) + +(def-joint-node mistycam-lod0-jg "camera" 4) +(def-joint-node mistycam-lod0-jg "beachcam" 3) +(def-joint-node mistycam-lod0-jg "prejoint" 2) +(def-joint-node mistycam-lod0-jg "align" 1) + +(def-joint-node dark-plant-lod0-jg "leaf_a3" 15) +(def-joint-node dark-plant-lod0-jg "leaf_a2" 14) +(def-joint-node dark-plant-lod0-jg "align" 1) +(def-joint-node dark-plant-lod0-jg "prejoint" 2) +(def-joint-node dark-plant-lod0-jg "main" 3) +(def-joint-node dark-plant-lod0-jg "leaf_b1" 4) +(def-joint-node dark-plant-lod0-jg "leaf_b2" 5) +(def-joint-node dark-plant-lod0-jg "leaf_b3" 6) +(def-joint-node dark-plant-lod0-jg "leaf_d1" 7) +(def-joint-node dark-plant-lod0-jg "leaf_d2" 8) +(def-joint-node dark-plant-lod0-jg "leaf_d3" 9) +(def-joint-node dark-plant-lod0-jg "leaf_c1" 10) +(def-joint-node dark-plant-lod0-jg "leaf_c2" 11) +(def-joint-node dark-plant-lod0-jg "leaf_c3" 12) +(def-joint-node dark-plant-lod0-jg "leaf_a1" 13) + +(def-joint-node green-sagecage-lod0-jg "belly" 74) +(def-joint-node green-sagecage-lod0-jg "Rbigtoe" 73) +(def-joint-node green-sagecage-lod0-jg "Rtoes" 72) +(def-joint-node green-sagecage-lod0-jg "RringB" 71) +(def-joint-node green-sagecage-lod0-jg "RringA" 70) +(def-joint-node green-sagecage-lod0-jg "RmiddleB" 69) +(def-joint-node green-sagecage-lod0-jg "RmiddleA" 68) +(def-joint-node green-sagecage-lod0-jg "RthumbC" 67) +(def-joint-node green-sagecage-lod0-jg "LpinkyB" 66) +(def-joint-node green-sagecage-lod0-jg "LpinkyA" 65) +(def-joint-node green-sagecage-lod0-jg "LringB" 64) +(def-joint-node green-sagecage-lod0-jg "LringA" 63) +(def-joint-node green-sagecage-lod0-jg "LmiddleB" 62) +(def-joint-node green-sagecage-lod0-jg "LmiddleA" 61) +(def-joint-node green-sagecage-lod0-jg "LthumbC" 60) +(def-joint-node green-sagecage-lod0-jg "Lthigh" 29) +(def-joint-node green-sagecage-lod0-jg "hips" 28) +(def-joint-node green-sagecage-lod0-jg "RpinkyB" 27) +(def-joint-node green-sagecage-lod0-jg "RpinkyA" 26) +(def-joint-node green-sagecage-lod0-jg "RindexB" 25) +(def-joint-node green-sagecage-lod0-jg "RindexA" 24) +(def-joint-node green-sagecage-lod0-jg "RthumbA" 23) +(def-joint-node green-sagecage-lod0-jg "Rhand" 22) +(def-joint-node green-sagecage-lod0-jg "Relbow" 21) +(def-joint-node green-sagecage-lod0-jg "Rshoulder" 20) +(def-joint-node green-sagecage-lod0-jg "Lhand" 19) +(def-joint-node green-sagecage-lod0-jg "Lelbow" 18) +(def-joint-node green-sagecage-lod0-jg "Lshoulder" 17) +(def-joint-node green-sagecage-lod0-jg "beard" 16) +(def-joint-node green-sagecage-lod0-jg "beard_lip" 15) +(def-joint-node green-sagecage-lod0-jg "RearMID" 14) +(def-joint-node green-sagecage-lod0-jg "align" 1) +(def-joint-node green-sagecage-lod0-jg "prejoint" 2) +(def-joint-node green-sagecage-lod0-jg "main" 3) +(def-joint-node green-sagecage-lod0-jg "chest" 4) +(def-joint-node green-sagecage-lod0-jg "head" 5) +(def-joint-node green-sagecage-lod0-jg "headLog" 6) +(def-joint-node green-sagecage-lod0-jg "Llog" 7) +(def-joint-node green-sagecage-lod0-jg "Rlog" 8) +(def-joint-node green-sagecage-lod0-jg "LhairBASE" 9) +(def-joint-node green-sagecage-lod0-jg "Lhair" 10) +(def-joint-node green-sagecage-lod0-jg "LearBASE" 11) +(def-joint-node green-sagecage-lod0-jg "LearMID" 12) +(def-joint-node green-sagecage-lod0-jg "RearBASE" 13) +(def-joint-node green-sagecage-lod0-jg "Lknee" 30) +(def-joint-node green-sagecage-lod0-jg "Lankle" 31) +(def-joint-node green-sagecage-lod0-jg "Rthigh" 32) +(def-joint-node green-sagecage-lod0-jg "Rknee" 33) +(def-joint-node green-sagecage-lod0-jg "Rankle" 34) +(def-joint-node green-sagecage-lod0-jg "staffMAIN" 35) +(def-joint-node green-sagecage-lod0-jg "staffUpA" 36) +(def-joint-node green-sagecage-lod0-jg "staffDownA" 37) +(def-joint-node green-sagecage-lod0-jg "staffDownB" 38) +(def-joint-node green-sagecage-lod0-jg "staffBOTTOM" 39) +(def-joint-node green-sagecage-lod0-jg "camera" 40) +(def-joint-node green-sagecage-lod0-jg "cameraB" 41) +(def-joint-node green-sagecage-lod0-jg "ponytailBASE" 42) +(def-joint-node green-sagecage-lod0-jg "ponytailMID" 43) +(def-joint-node green-sagecage-lod0-jg "LthumbA" 44) +(def-joint-node green-sagecage-lod0-jg "LthumbB" 45) +(def-joint-node green-sagecage-lod0-jg "LindexA" 46) +(def-joint-node green-sagecage-lod0-jg "LindexB" 47) +(def-joint-node green-sagecage-lod0-jg "RthumbB" 48) +(def-joint-node green-sagecage-lod0-jg "Lfootball" 49) +(def-joint-node green-sagecage-lod0-jg "Ltoes" 50) +(def-joint-node green-sagecage-lod0-jg "Lbigtoe" 51) +(def-joint-node green-sagecage-lod0-jg "Lball" 52) +(def-joint-node green-sagecage-lod0-jg "Rfootball" 53) +(def-joint-node green-sagecage-lod0-jg "Rball" 54) +(def-joint-node green-sagecage-lod0-jg "BIRDfeet1" 55) +(def-joint-node green-sagecage-lod0-jg "BIRD1" 56) +(def-joint-node green-sagecage-lod0-jg "BIRDhead1" 57) +(def-joint-node green-sagecage-lod0-jg "BIRDR1" 58) +(def-joint-node green-sagecage-lod0-jg "BIRDL1" 59) + +(def-joint-node muse-lod0-jg "jawEND" 45) +(def-joint-node muse-lod0-jg "tail_END" 44) +(def-joint-node muse-lod0-jg "tail8" 43) +(def-joint-node muse-lod0-jg "tail7" 42) +(def-joint-node muse-lod0-jg "RpinkyB" 41) +(def-joint-node muse-lod0-jg "RmiddleA" 40) +(def-joint-node muse-lod0-jg "RthumbA" 39) +(def-joint-node muse-lod0-jg "LpinkyA" 38) +(def-joint-node muse-lod0-jg "LmiddleA" 37) +(def-joint-node muse-lod0-jg "LthumbA" 36) +(def-joint-node muse-lod0-jg "Rball" 35) +(def-joint-node muse-lod0-jg "Rankle" 34) +(def-joint-node muse-lod0-jg "Rknee" 33) +(def-joint-node muse-lod0-jg "Rthigh" 32) +(def-joint-node muse-lod0-jg "tail6" 31) +(def-joint-node muse-lod0-jg "tail5" 30) +(def-joint-node muse-lod0-jg "fur" 13) +(def-joint-node muse-lod0-jg "rightEAREND" 12) +(def-joint-node muse-lod0-jg "rightEAR" 11) +(def-joint-node muse-lod0-jg "leftEAREND" 10) +(def-joint-node muse-lod0-jg "leftEAR" 9) +(def-joint-node muse-lod0-jg "jaw" 8) +(def-joint-node muse-lod0-jg "head" 7) +(def-joint-node muse-lod0-jg "neck" 6) +(def-joint-node muse-lod0-jg "chest" 5) +(def-joint-node muse-lod0-jg "main" 4) +(def-joint-node muse-lod0-jg "camera" 3) +(def-joint-node muse-lod0-jg "prejoint" 2) +(def-joint-node muse-lod0-jg "align" 1) +(def-joint-node muse-lod0-jg "Lshoulder" 14) +(def-joint-node muse-lod0-jg "Lelbow" 15) +(def-joint-node muse-lod0-jg "Lhand" 16) +(def-joint-node muse-lod0-jg "Rshoulder" 17) +(def-joint-node muse-lod0-jg "Relbow" 18) +(def-joint-node muse-lod0-jg "Rhand" 19) +(def-joint-node muse-lod0-jg "loSpine" 20) +(def-joint-node muse-lod0-jg "hips" 21) +(def-joint-node muse-lod0-jg "Lthigh" 22) +(def-joint-node muse-lod0-jg "Lknee" 23) +(def-joint-node muse-lod0-jg "Lankle" 24) +(def-joint-node muse-lod0-jg "Lball" 25) +(def-joint-node muse-lod0-jg "tail1" 26) +(def-joint-node muse-lod0-jg "tail2" 27) +(def-joint-node muse-lod0-jg "tail3" 28) +(def-joint-node muse-lod0-jg "tail4" 29) + +(def-joint-node quicksandlurker-lod0-jg "Rball" 49) +(def-joint-node quicksandlurker-lod0-jg "Rankle" 48) +(def-joint-node quicksandlurker-lod0-jg "Rknee" 47) +(def-joint-node quicksandlurker-lod0-jg "Rthigh" 46) +(def-joint-node quicksandlurker-lod0-jg "Lball" 45) +(def-joint-node quicksandlurker-lod0-jg "Lankle" 44) +(def-joint-node quicksandlurker-lod0-jg "Lknee" 43) +(def-joint-node quicksandlurker-lod0-jg "Lthigh" 42) +(def-joint-node quicksandlurker-lod0-jg "hips" 41) +(def-joint-node quicksandlurker-lod0-jg "belly" 40) +(def-joint-node quicksandlurker-lod0-jg "Reco" 39) +(def-joint-node quicksandlurker-lod0-jg "RpinkyB" 38) +(def-joint-node quicksandlurker-lod0-jg "RpinkyA" 37) +(def-joint-node quicksandlurker-lod0-jg "RringB" 36) +(def-joint-node quicksandlurker-lod0-jg "RringA" 35) +(def-joint-node quicksandlurker-lod0-jg "RmiddleB" 34) +(def-joint-node quicksandlurker-lod0-jg "RmiddleA" 33) +(def-joint-node quicksandlurker-lod0-jg "RindexB" 32) +(def-joint-node quicksandlurker-lod0-jg "RindexA" 31) +(def-joint-node quicksandlurker-lod0-jg "RthumbB" 30) +(def-joint-node quicksandlurker-lod0-jg "Lhand" 13) +(def-joint-node quicksandlurker-lod0-jg "Lelbow" 12) +(def-joint-node quicksandlurker-lod0-jg "Lshoulder" 11) +(def-joint-node quicksandlurker-lod0-jg "hair" 10) +(def-joint-node quicksandlurker-lod0-jg "jawEND" 9) +(def-joint-node quicksandlurker-lod0-jg "Rbrow" 8) +(def-joint-node quicksandlurker-lod0-jg "Lbrow" 7) +(def-joint-node quicksandlurker-lod0-jg "head" 6) +(def-joint-node quicksandlurker-lod0-jg "neck" 5) +(def-joint-node quicksandlurker-lod0-jg "chest" 4) +(def-joint-node quicksandlurker-lod0-jg "main" 3) +(def-joint-node quicksandlurker-lod0-jg "prejoint" 2) +(def-joint-node quicksandlurker-lod0-jg "align" 1) +(def-joint-node quicksandlurker-lod0-jg "LthumbA" 14) +(def-joint-node quicksandlurker-lod0-jg "LthumbB" 15) +(def-joint-node quicksandlurker-lod0-jg "LindexA" 16) +(def-joint-node quicksandlurker-lod0-jg "LindexB" 17) +(def-joint-node quicksandlurker-lod0-jg "LmiddleA" 18) +(def-joint-node quicksandlurker-lod0-jg "LmiddleB" 19) +(def-joint-node quicksandlurker-lod0-jg "LringA" 20) +(def-joint-node quicksandlurker-lod0-jg "LringB" 21) +(def-joint-node quicksandlurker-lod0-jg "LpinkyA" 22) +(def-joint-node quicksandlurker-lod0-jg "LpinkyB" 23) +(def-joint-node quicksandlurker-lod0-jg "Leco" 24) +(def-joint-node quicksandlurker-lod0-jg "bottomjaw" 25) +(def-joint-node quicksandlurker-lod0-jg "Rshoulder" 26) +(def-joint-node quicksandlurker-lod0-jg "Relbow" 27) +(def-joint-node quicksandlurker-lod0-jg "Rhand" 28) +(def-joint-node quicksandlurker-lod0-jg "RthumbA" 29) + +(def-joint-node snow-fort-gate-lod0-jg "boneless" 3) +(def-joint-node snow-fort-gate-lod0-jg "prejoint" 2) +(def-joint-node snow-fort-gate-lod0-jg "align" 1) + +(def-joint-node sharkey-lod0-jg "RmidFin" 13) +(def-joint-node sharkey-lod0-jg "Rshoulder" 12) +(def-joint-node sharkey-lod0-jg "LmidFin" 11) +(def-joint-node sharkey-lod0-jg "Lshoulder" 10) +(def-joint-node sharkey-lod0-jg "tail" 9) +(def-joint-node sharkey-lod0-jg "mid" 8) +(def-joint-node sharkey-lod0-jg "back" 7) +(def-joint-node sharkey-lod0-jg "LOneck" 6) +(def-joint-node sharkey-lod0-jg "jaw" 5) +(def-joint-node sharkey-lod0-jg "head" 4) +(def-joint-node sharkey-lod0-jg "main" 3) +(def-joint-node sharkey-lod0-jg "prejoint" 2) +(def-joint-node sharkey-lod0-jg "align" 1) + +(def-joint-node ropebridge-36-lod0-jg "end" 22) +(def-joint-node ropebridge-36-lod0-jg "board18" 21) +(def-joint-node ropebridge-36-lod0-jg "board17" 20) +(def-joint-node ropebridge-36-lod0-jg "board16" 19) +(def-joint-node ropebridge-36-lod0-jg "board15" 18) +(def-joint-node ropebridge-36-lod0-jg "board14" 17) +(def-joint-node ropebridge-36-lod0-jg "board13" 16) +(def-joint-node ropebridge-36-lod0-jg "board12" 15) +(def-joint-node ropebridge-36-lod0-jg "board11" 14) +(def-joint-node ropebridge-36-lod0-jg "align" 1) +(def-joint-node ropebridge-36-lod0-jg "prejoint" 2) +(def-joint-node ropebridge-36-lod0-jg "head" 3) +(def-joint-node ropebridge-36-lod0-jg "board1" 4) +(def-joint-node ropebridge-36-lod0-jg "board2" 5) +(def-joint-node ropebridge-36-lod0-jg "board3" 6) +(def-joint-node ropebridge-36-lod0-jg "board4" 7) +(def-joint-node ropebridge-36-lod0-jg "board5" 8) +(def-joint-node ropebridge-36-lod0-jg "board6" 9) +(def-joint-node ropebridge-36-lod0-jg "board7" 10) +(def-joint-node ropebridge-36-lod0-jg "board8" 11) +(def-joint-node ropebridge-36-lod0-jg "board9" 12) +(def-joint-node ropebridge-36-lod0-jg "board10" 13) + +(def-joint-node generic-button-lod0-jg "button" 4) +(def-joint-node generic-button-lod0-jg "main" 3) +(def-joint-node generic-button-lod0-jg "prejoint" 2) +(def-joint-node generic-button-lod0-jg "align" 1) + +(def-joint-node rounddoor-lod0-jg "door6" 9) +(def-joint-node rounddoor-lod0-jg "door5" 8) +(def-joint-node rounddoor-lod0-jg "door4" 7) +(def-joint-node rounddoor-lod0-jg "door3" 6) +(def-joint-node rounddoor-lod0-jg "door2" 5) +(def-joint-node rounddoor-lod0-jg "door1" 4) +(def-joint-node rounddoor-lod0-jg "master" 3) +(def-joint-node rounddoor-lod0-jg "prejoint" 2) +(def-joint-node rounddoor-lod0-jg "align" 1) + +(def-joint-node ogreboss-bounce-boulder-lod0-jg "main" 3) +(def-joint-node ogreboss-bounce-boulder-lod0-jg "prejoint" 2) +(def-joint-node ogreboss-bounce-boulder-lod0-jg "align" 1) + +(def-joint-node silostep-lod0-jg "step5" 4) +(def-joint-node silostep-lod0-jg "main" 3) +(def-joint-node silostep-lod0-jg "prejoint" 2) +(def-joint-node silostep-lod0-jg "align" 1) + +(def-joint-node water-anim-misty-mud-near-skull-lod0-jg "boneless" 3) +(def-joint-node water-anim-misty-mud-near-skull-lod0-jg "prejoint" 2) +(def-joint-node water-anim-misty-mud-near-skull-lod0-jg "align" 1) + +(def-joint-node citb-drop-plat-green-lod0-jg "boneless" 3) +(def-joint-node citb-drop-plat-green-lod0-jg "prejoint" 2) +(def-joint-node citb-drop-plat-green-lod0-jg "align" 1) + +(def-joint-node water-anim-misty-mud-above-skeleton-lod0-jg "boneless" 3) +(def-joint-node water-anim-misty-mud-above-skeleton-lod0-jg "prejoint" 2) +(def-joint-node water-anim-misty-mud-above-skeleton-lod0-jg "align" 1) + +(def-joint-node darkecobomb-lod0-jg "botSpike" 15) +(def-joint-node darkecobomb-lod0-jg "rightSpike" 14) +(def-joint-node darkecobomb-lod0-jg "align" 1) +(def-joint-node darkecobomb-lod0-jg "prejoint" 2) +(def-joint-node darkecobomb-lod0-jg "main" 3) +(def-joint-node darkecobomb-lod0-jg "bottomBomb" 4) +(def-joint-node darkecobomb-lod0-jg "particles" 5) +(def-joint-node darkecobomb-lod0-jg "topBomb" 6) +(def-joint-node darkecobomb-lod0-jg "BotFlare" 7) +(def-joint-node darkecobomb-lod0-jg "LeftFlare" 8) +(def-joint-node darkecobomb-lod0-jg "TopFlare" 9) +(def-joint-node darkecobomb-lod0-jg "RightFlare" 10) +(def-joint-node darkecobomb-lod0-jg "Button" 11) +(def-joint-node darkecobomb-lod0-jg "leftSpike" 12) +(def-joint-node darkecobomb-lod0-jg "topSpike" 13) + +(def-joint-node power-right-lod0-jg "1" 53) +(def-joint-node power-right-lod0-jg "2" 52) +(def-joint-node power-right-lod0-jg "3" 51) +(def-joint-node power-right-lod0-jg "4" 50) +(def-joint-node power-right-lod0-jg "5" 49) +(def-joint-node power-right-lod0-jg "6" 48) +(def-joint-node power-right-lod0-jg "7" 47) +(def-joint-node power-right-lod0-jg "8" 46) +(def-joint-node power-right-lod0-jg "9" 45) +(def-joint-node power-right-lod0-jg "10" 44) +(def-joint-node power-right-lod0-jg "11" 43) +(def-joint-node power-right-lod0-jg "12" 42) +(def-joint-node power-right-lod0-jg "13" 41) +(def-joint-node power-right-lod0-jg "14" 40) +(def-joint-node power-right-lod0-jg "15" 39) +(def-joint-node power-right-lod0-jg "16" 38) +(def-joint-node power-right-lod0-jg "17" 37) +(def-joint-node power-right-lod0-jg "18" 36) +(def-joint-node power-right-lod0-jg "19" 35) +(def-joint-node power-right-lod0-jg "20" 34) +(def-joint-node power-right-lod0-jg "21" 33) +(def-joint-node power-right-lod0-jg "22" 32) +(def-joint-node power-right-lod0-jg "23" 31) +(def-joint-node power-right-lod0-jg "24" 30) +(def-joint-node power-right-lod0-jg "41" 13) +(def-joint-node power-right-lod0-jg "42" 12) +(def-joint-node power-right-lod0-jg "43" 11) +(def-joint-node power-right-lod0-jg "44" 10) +(def-joint-node power-right-lod0-jg "45" 9) +(def-joint-node power-right-lod0-jg "46" 8) +(def-joint-node power-right-lod0-jg "47" 7) +(def-joint-node power-right-lod0-jg "48" 6) +(def-joint-node power-right-lod0-jg "49" 5) +(def-joint-node power-right-lod0-jg "50" 4) +(def-joint-node power-right-lod0-jg "main_" 3) +(def-joint-node power-right-lod0-jg "prejoint" 2) +(def-joint-node power-right-lod0-jg "align" 1) +(def-joint-node power-right-lod0-jg "40" 14) +(def-joint-node power-right-lod0-jg "39" 15) +(def-joint-node power-right-lod0-jg "38" 16) +(def-joint-node power-right-lod0-jg "37" 17) +(def-joint-node power-right-lod0-jg "36" 18) +(def-joint-node power-right-lod0-jg "35" 19) +(def-joint-node power-right-lod0-jg "34" 20) +(def-joint-node power-right-lod0-jg "33" 21) +(def-joint-node power-right-lod0-jg "32" 22) +(def-joint-node power-right-lod0-jg "31" 23) +(def-joint-node power-right-lod0-jg "30" 24) +(def-joint-node power-right-lod0-jg "29" 25) +(def-joint-node power-right-lod0-jg "28" 26) +(def-joint-node power-right-lod0-jg "27" 27) +(def-joint-node power-right-lod0-jg "26" 28) +(def-joint-node power-right-lod0-jg "25" 29) + +(def-joint-node water-anim-misty-mud-behind-skeleton-lod0-jg "boneless" 3) +(def-joint-node water-anim-misty-mud-behind-skeleton-lod0-jg "prejoint" 2) +(def-joint-node water-anim-misty-mud-behind-skeleton-lod0-jg "align" 1) + +(def-joint-node water-anim-misty-mud-above-skull-back-lod0-jg "boneless" 3) +(def-joint-node water-anim-misty-mud-above-skull-back-lod0-jg "prejoint" 2) +(def-joint-node water-anim-misty-mud-above-skull-back-lod0-jg "align" 1) + +(def-joint-node baby-spider-lod0-jg "hair" 21) +(def-joint-node baby-spider-lod0-jg "ring" 20) +(def-joint-node baby-spider-lod0-jg "jaw" 19) +(def-joint-node baby-spider-lod0-jg "head" 18) +(def-joint-node baby-spider-lod0-jg "rrearlegB" 17) +(def-joint-node baby-spider-lod0-jg "rrearlegA" 16) +(def-joint-node baby-spider-lod0-jg "rmidlegB" 15) +(def-joint-node baby-spider-lod0-jg "rmidlegA" 14) +(def-joint-node baby-spider-lod0-jg "align" 1) +(def-joint-node baby-spider-lod0-jg "prejoint" 2) +(def-joint-node baby-spider-lod0-jg "main" 3) +(def-joint-node baby-spider-lod0-jg "bodA" 4) +(def-joint-node baby-spider-lod0-jg "lrearlegA" 5) +(def-joint-node baby-spider-lod0-jg "lrearlegB" 6) +(def-joint-node baby-spider-lod0-jg "lmidlegA" 7) +(def-joint-node baby-spider-lod0-jg "lmidlegB" 8) +(def-joint-node baby-spider-lod0-jg "lfrontlegA" 9) +(def-joint-node baby-spider-lod0-jg "lfrontlegB" 10) +(def-joint-node baby-spider-lod0-jg "bodB" 11) +(def-joint-node baby-spider-lod0-jg "rfrontlegA" 12) +(def-joint-node baby-spider-lod0-jg "rfrontlegB" 13) + +(def-joint-node water-anim-misty-mud-above-skull-front-lod0-jg "boneless" 3) +(def-joint-node water-anim-misty-mud-above-skull-front-lod0-jg "prejoint" 2) +(def-joint-node water-anim-misty-mud-above-skull-front-lod0-jg "align" 1) + +(def-joint-node ogre-isle-b-lod0-jg "isle2" 3) +(def-joint-node ogre-isle-b-lod0-jg "prejoint" 2) +(def-joint-node ogre-isle-b-lod0-jg "align" 1) + +(def-joint-node flying-lurker-lod0-jg "rWing3" 72) +(def-joint-node flying-lurker-lod0-jg "lWing3" 71) +(def-joint-node flying-lurker-lod0-jg "lWing2" 70) +(def-joint-node flying-lurker-lod0-jg "rArmFur" 69) +(def-joint-node flying-lurker-lod0-jg "lArmFur" 68) +(def-joint-node flying-lurker-lod0-jg "prop4B" 67) +(def-joint-node flying-lurker-lod0-jg "prop4A" 66) +(def-joint-node flying-lurker-lod0-jg "prop3B" 65) +(def-joint-node flying-lurker-lod0-jg "prop3A" 64) +(def-joint-node flying-lurker-lod0-jg "prop2B" 63) +(def-joint-node flying-lurker-lod0-jg "prop2A" 62) +(def-joint-node flying-lurker-lod0-jg "prop1B" 61) +(def-joint-node flying-lurker-lod0-jg "prop1A" 60) +(def-joint-node flying-lurker-lod0-jg "Rthigh" 29) +(def-joint-node flying-lurker-lod0-jg "Lball" 28) +(def-joint-node flying-lurker-lod0-jg "Lankle" 27) +(def-joint-node flying-lurker-lod0-jg "Lknee" 26) +(def-joint-node flying-lurker-lod0-jg "Lthigh" 25) +(def-joint-node flying-lurker-lod0-jg "hips" 24) +(def-joint-node flying-lurker-lod0-jg "rWing2" 23) +(def-joint-node flying-lurker-lod0-jg "rWing1" 22) +(def-joint-node flying-lurker-lod0-jg "lWing1" 21) +(def-joint-node flying-lurker-lod0-jg "rShoulderFur" 20) +(def-joint-node flying-lurker-lod0-jg "lShoulderFur" 19) +(def-joint-node flying-lurker-lod0-jg "RthumbB" 18) +(def-joint-node flying-lurker-lod0-jg "RthumbA" 17) +(def-joint-node flying-lurker-lod0-jg "Rhand" 16) +(def-joint-node flying-lurker-lod0-jg "Relbow" 15) +(def-joint-node flying-lurker-lod0-jg "Rshoulder" 14) +(def-joint-node flying-lurker-lod0-jg "align" 1) +(def-joint-node flying-lurker-lod0-jg "prejoint" 2) +(def-joint-node flying-lurker-lod0-jg "main" 3) +(def-joint-node flying-lurker-lod0-jg "chest" 4) +(def-joint-node flying-lurker-lod0-jg "neck" 5) +(def-joint-node flying-lurker-lod0-jg "head" 6) +(def-joint-node flying-lurker-lod0-jg "headprop" 7) +(def-joint-node flying-lurker-lod0-jg "jaw" 8) +(def-joint-node flying-lurker-lod0-jg "Lshoulder" 9) +(def-joint-node flying-lurker-lod0-jg "Lelbow" 10) +(def-joint-node flying-lurker-lod0-jg "Lhand" 11) +(def-joint-node flying-lurker-lod0-jg "LthumbA" 12) +(def-joint-node flying-lurker-lod0-jg "LthumbB" 13) +(def-joint-node flying-lurker-lod0-jg "Rknee" 30) +(def-joint-node flying-lurker-lod0-jg "Rankle" 31) +(def-joint-node flying-lurker-lod0-jg "Rball" 32) +(def-joint-node flying-lurker-lod0-jg "belly" 33) +(def-joint-node flying-lurker-lod0-jg "bodprop" 34) +(def-joint-node flying-lurker-lod0-jg "pedalarm" 35) +(def-joint-node flying-lurker-lod0-jg "flap1" 36) +(def-joint-node flying-lurker-lod0-jg "prop_end" 37) +(def-joint-node flying-lurker-lod0-jg "pedalcage" 38) +(def-joint-node flying-lurker-lod0-jg "pedal" 39) +(def-joint-node flying-lurker-lod0-jg "ring" 40) +(def-joint-node flying-lurker-lod0-jg "LindexA" 41) +(def-joint-node flying-lurker-lod0-jg "LmiddleA" 42) +(def-joint-node flying-lurker-lod0-jg "LmiddleB" 43) +(def-joint-node flying-lurker-lod0-jg "RindexA" 44) +(def-joint-node flying-lurker-lod0-jg "RmiddleA" 45) +(def-joint-node flying-lurker-lod0-jg "RmiddleB" 46) +(def-joint-node flying-lurker-lod0-jg "LindexB" 47) +(def-joint-node flying-lurker-lod0-jg "LringA" 48) +(def-joint-node flying-lurker-lod0-jg "LringB" 49) +(def-joint-node flying-lurker-lod0-jg "LpinkyA" 50) +(def-joint-node flying-lurker-lod0-jg "LpinkyB" 51) +(def-joint-node flying-lurker-lod0-jg "RindexB" 52) +(def-joint-node flying-lurker-lod0-jg "RringA" 53) +(def-joint-node flying-lurker-lod0-jg "RringB" 54) +(def-joint-node flying-lurker-lod0-jg "RpinkyA" 55) +(def-joint-node flying-lurker-lod0-jg "RpinkyB" 56) +(def-joint-node flying-lurker-lod0-jg "lLegFur" 57) +(def-joint-node flying-lurker-lod0-jg "rLegFur" 58) +(def-joint-node flying-lurker-lod0-jg "flap2" 59) + +(def-joint-node ogre-isle-c-lod0-jg "isle1" 3) +(def-joint-node ogre-isle-c-lod0-jg "prejoint" 2) +(def-joint-node ogre-isle-c-lod0-jg "align" 1) + +(def-joint-node ogre-step-b-lod0-jg "step7" 3) +(def-joint-node ogre-step-b-lod0-jg "prejoint" 2) +(def-joint-node ogre-step-b-lod0-jg "align" 1) + +(def-joint-node ogreboss-cam-lod0-jg "camera" 4) +(def-joint-node ogreboss-cam-lod0-jg "ogrebosscamera" 3) +(def-joint-node ogreboss-cam-lod0-jg "prejoint" 2) +(def-joint-node ogreboss-cam-lod0-jg "align" 1) + + diff --git a/goal_src/jak1/engine/game/powerups.gc b/goal_src/jak1/engine/game/powerups.gc index d0c1c22f99c..1eb10f55a85 100644 --- a/goal_src/jak1/engine/game/powerups.gc +++ b/goal_src/jak1/engine/game/powerups.gc @@ -520,7 +520,7 @@ (not (time-elapsed? (-> self control unknown-dword11) (seconds 0.05))) ) ) - (let ((gp-0 (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 74)))) + (let ((gp-0 (vector<-cspace! (new 'stack-no-clear 'vector) (joint-node-index eichar-lod0-jg RbigToe)))) (if (and (< (fabs (vector-dot (-> self control dynam gravity-normal) (vector-! (new 'stack-no-clear 'vector) gp-0 (-> self control trans)) @@ -533,7 +533,7 @@ (launch-particles :system *sp-particle-system-3d* (-> *part-id-table* 2391) gp-0) ) ) - (let ((gp-1 (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 70)))) + (let ((gp-1 (vector<-cspace! (new 'stack-no-clear 'vector) (joint-node-index eichar-lod0-jg LbigToe)))) (if (and (< (fabs (vector-dot (-> self control dynam gravity-normal) (vector-! (new 'stack-no-clear 'vector) gp-1 (-> self control trans)) diff --git a/goal_src/jak1/engine/target/logic-target.gc b/goal_src/jak1/engine/target/logic-target.gc index 4ad351cd0dd..4fc5a484c98 100644 --- a/goal_src/jak1/engine/target/logic-target.gc +++ b/goal_src/jak1/engine/target/logic-target.gc @@ -1399,7 +1399,7 @@ ((and (= (-> self next-state name) 'target-clone-anim) (not (logtest? (-> self draw status) (draw-status hidden))) (begin - (vector<-cspace! gp-0 (-> self node-list data 3)) + (vector<-cspace! gp-0 (joint-node-index eichar-lod0-jg main)) (+! (-> gp-0 y) -5896.192) (< (fabs (- (-> gp-0 y) (-> self control trans y))) 8192.0) ) @@ -2007,10 +2007,10 @@ (set! (-> self draw lod-set max-lod) 0) (logior! (-> self skel status) (janim-status inited eye)) (set! (-> self draw shadow-ctrl) *target-shadow-control*) - (set! (-> self control unknown-cspace00 parent) (-> self node-list data 42)) - (set! (-> self control unknown-cspace00 joint) (the-as joint (-> self node-list data 54))) - (set! (-> self control unknown-cspace00 joint) (the-as joint (-> self node-list data 54))) - (set! (-> self control unknown-cspace10 parent) (-> self node-list data 64)) + (set! (-> self control unknown-cspace00 parent) (joint-node-index eichar-lod0-jg lindA)) + (set! (-> self control unknown-cspace00 joint) (the-as joint (joint-node-index eichar-lod0-jg rindA))) + (set! (-> self control unknown-cspace00 joint) (the-as joint (joint-node-index eichar-lod0-jg rindA))) + (set! (-> self control unknown-cspace10 parent) (joint-node-index eichar-lod0-jg LshoulderPad)) (set! (-> self neck) (new 'process 'joint-mod (joint-mod-handler-mode look-at) self 7)) (set! (-> self fact-info-target) (new 'process 'fact-info-target self (pickup-type eco-pill-random) (-> *FACT-bank* default-pill-inc)) diff --git a/goal_src/jak1/engine/target/target-util.gc b/goal_src/jak1/engine/target/target-util.gc index 7863997d36d..aadcb2970cb 100644 --- a/goal_src/jak1/engine/target/target-util.gc +++ b/goal_src/jak1/engine/target/target-util.gc @@ -760,9 +760,9 @@ (time-elapsed? (-> self control unknown-dword11) (-> *TARGET-bank* ground-timeout)) (>= 0.0 (vector-dot (-> self control dynam gravity-normal) (-> self control transv))) (let ((v1-15 (ja-group))) - (or (not (or (= v1-15 (-> self draw art-group data 59)) - (= v1-15 (-> self draw art-group data 60)) - (= v1-15 (-> self draw art-group data 61)) + (or (not (or (= v1-15 eichar-attack-punch-ja) + (= v1-15 eichar-attack-punch-end-ja) + (= v1-15 eichar-attack-punch-alt-end-ja) ) ) (< 4096.0 (target-height-above-ground)) diff --git a/goal_src/jak1/engine/target/target.gc b/goal_src/jak1/engine/target/target.gc index 33c7daac685..e41883be58e 100644 --- a/goal_src/jak1/engine/target/target.gc +++ b/goal_src/jak1/engine/target/target.gc @@ -2139,7 +2139,7 @@ (create-splash (-> self water) (the-as float 0.6) - (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 37)) + (vector<-cspace! (new 'stack-no-clear 'vector) (joint-node-index eichar-lod0-jg mouth)) 0 (-> self control transv) ) diff --git a/goal_src/jak1/engine/target/target2.gc b/goal_src/jak1/engine/target/target2.gc index 7011cb998ab..bfa0a704ab5 100644 --- a/goal_src/jak1/engine/target/target2.gc +++ b/goal_src/jak1/engine/target/target2.gc @@ -1365,7 +1365,7 @@ gp-1 projectile-init-by-other (-> self entity) - (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 23)) + (vector<-cspace! (new 'stack-no-clear 'vector) (joint-node-index eichar-lod0-jg sk_rhand)) s5-2 (if (>= (-> self fact-info-target eco-level) (-> *FACT-bank* eco-level-max)) 25 @@ -1840,7 +1840,7 @@ (create-splash (-> self water) (the-as float 0.2) - (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 75)) + (vector<-cspace! (new 'stack-no-clear 'vector) (joint-node-index eichar-lod0-jg Rtoes)) 0 (vector-float*! (new 'stack-no-clear 'vector) (-> self control transv) 2.5) ) @@ -1850,7 +1850,7 @@ (create-splash (-> self water) (the-as float 0.2) - (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 71)) + (vector<-cspace! (new 'stack-no-clear 'vector) (joint-node-index eichar-lod0-jg Ltoes)) 0 (vector-float*! (new 'stack-no-clear 'vector) (-> self control transv) 2.5) ) @@ -2712,7 +2712,7 @@ :exit (behavior () (send-event (ppointer->process (-> self sidekick)) 'matrix 'normal) (send-event (ppointer->process (-> self sidekick)) 'shadow #t) - (let ((gp-0 (-> self node-list data 3)) + (let ((gp-0 (joint-node-index eichar-lod0-jg main)) (a1-2 (&-> (-> self control) unknown-qword00)) ) (cond diff --git a/goal_src/jak1/levels/beach/beach-obs.gc b/goal_src/jak1/levels/beach/beach-obs.gc index 206495c40e4..cab2f119cd2 100644 --- a/goal_src/jak1/levels/beach/beach-obs.gc +++ b/goal_src/jak1/levels/beach/beach-obs.gc @@ -40,7 +40,7 @@ ) :trans (behavior () (rider-trans) - (let ((t2-0 (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 4)))) + (let ((t2-0 (vector<-cspace! (new 'stack-no-clear 'vector) (joint-node-index windmill-one-lod0-jg big)))) (if (!= (+ (-> t2-0 x) (-> t2-0 y) (-> t2-0 z)) 0.0) (sound-play "gears-rumble" :id (-> self sound-id) :position (the-as symbol t2-0)) ) @@ -48,7 +48,7 @@ ) :code (behavior () (loop - (ja-no-eval :group! (-> self draw art-group data 4) :num! (seek! max 0.5) :frame-num 0.0) + (ja-no-eval :group! windmill-one-idle-ja :num! (seek! max 0.5) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek! max 0.5)) @@ -249,7 +249,7 @@ ) :code (behavior () (set-time! (-> self state-time)) - (ja :group! (-> self draw art-group data 3) :num! min) + (ja :group! grottopole-idle-ja :num! min) (transform-post) (suspend) (loop @@ -1216,13 +1216,13 @@ (suspend) (update-transforms! (-> self root-override)) (when (not arg0) - (ja-no-eval :group! (-> self draw art-group data 5) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! flutflutegg-crack-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) ) ) - (ja :group! (-> self draw art-group data 5) :num! max) + (ja :group! flutflutegg-crack-ja :num! max) (while (and (not (task-closed? (game-task beach-flutflut) (task-status need-reward-speech))) (not (logtest? (-> self ambients-played) 1024)) ) @@ -1252,7 +1252,7 @@ (ja-channel-set! 1) (set-vector! (-> self root-override trans) -231190.94 64559.105 -1164727.5 1.0) (quaternion-axis-angle! (-> self root-override quat) 0.0 1.0 0.0 0.0) - (ja :group! (-> self draw art-group data 6) :num! max) + (ja :group! flutflutegg-broke-ja :num! max) (loop (logior! (-> self mask) (process-mask sleep)) (suspend) @@ -1349,7 +1349,7 @@ (if (and (-> self alt-actor) (logtest? (-> self alt-actor extra perm status) (entity-perm-status complete))) (go harvester-inflate #t) ) - (ja :group! (-> self draw art-group data 5) :num! (identity (ja-aframe 1.0 0))) + (ja :group! harvester-inflate-ja :num! (identity (ja-aframe 1.0 0))) (ja-post) (loop (logior! (-> self mask) (process-mask sleep)) @@ -1361,14 +1361,14 @@ (defstate harvester-inflate (harvester) :code (behavior ((arg0 symbol)) (when (not arg0) - (ja-no-eval :group! (-> self draw art-group data 5) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! harvester-inflate-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) ) ) (loop - (ja-no-eval :group! (-> self draw art-group data 4) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! harvester-idle-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) diff --git a/goal_src/jak1/levels/beach/beach-rocks.gc b/goal_src/jak1/levels/beach/beach-rocks.gc index 18e93e14698..fc5383b3204 100644 --- a/goal_src/jak1/levels/beach/beach-rocks.gc +++ b/goal_src/jak1/levels/beach/beach-rocks.gc @@ -321,19 +321,34 @@ ) ) (if (and (< 200.0 f30-0) (< f30-0 275.0)) - (spawn (-> self part-falling) (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 3))) + (spawn + (-> self part-falling) + (vector<-cspace! (new 'stack-no-clear 'vector) (joint-node-index lrocklrg-lod0-jg Lrocklrg)) + ) ) (if (and (< 270.0 f30-0) (< f30-0 333.0)) - (spawn (-> self part-falling) (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 4))) + (spawn + (-> self part-falling) + (vector<-cspace! (new 'stack-no-clear 'vector) (joint-node-index lrocklrg-lod0-jg platformrock)) + ) ) (if (and (< (-> self prev-frame) 333.0) (>= f30-0 333.0)) - (spawn (-> self part-landing) (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 4))) + (spawn + (-> self part-landing) + (vector<-cspace! (new 'stack-no-clear 'vector) (joint-node-index lrocklrg-lod0-jg platformrock)) + ) ) (if (and (< 169.0 f30-0) (< f30-0 202.0)) - (spawn (-> self part-falling) (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 5))) + (spawn + (-> self part-falling) + (vector<-cspace! (new 'stack-no-clear 'vector) (joint-node-index lrocklrg-lod0-jg Rrocklrg)) + ) ) (if (and (< 240.0 f30-0) (< f30-0 270.0)) - (spawn (-> self part-falling) (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 6))) + (spawn + (-> self part-falling) + (vector<-cspace! (new 'stack-no-clear 'vector) (joint-node-index lrocklrg-lod0-jg smlrock)) + ) ) (set! (-> self prev-frame) f30-0) ) @@ -347,7 +362,7 @@ ) (logclear! (-> self draw status) (draw-status hidden)) (ja-channel-set! 1) - (ja :group! (-> self draw art-group data 2) :num! min) + (ja :group! lrocklrg-idle-ja :num! min) (let ((gp-2 (ppointer->handle (process-spawn othercam self 7 #f #t :to self))) (s5-1 (ppointer->handle (process-spawn fuel-cell @@ -369,8 +384,8 @@ :parts 4 :command-list '((-150 blackout 100) (-116 blackout 0)) ) - (the-as art-joint-anim (-> self draw art-group data 2)) - (the-as art-joint-anim (-> self draw art-group data 3)) + (the-as art-joint-anim lrocklrg-idle-ja) + (the-as art-joint-anim lrocklrg-fallen-ja) (the-as (function process-drawable symbol) false-func) ) (process-entity-status! self (entity-perm-status complete) #t) @@ -407,7 +422,7 @@ *entity-pool* (game-task none) ) - (ja :group! (-> self draw art-group data 3)) + (ja :group! lrocklrg-fallen-ja) (compute-alignment! (-> self align)) (let ((v1-6 (first-transform (-> self align)))) (set! (-> self root-override trans quad) (-> self entity extra trans quad)) diff --git a/goal_src/jak1/levels/citadel/assistant-citadel.gc b/goal_src/jak1/levels/citadel/assistant-citadel.gc index f851c60f41c..3e35c67b267 100644 --- a/goal_src/jak1/levels/citadel/assistant-citadel.gc +++ b/goal_src/jak1/levels/citadel/assistant-citadel.gc @@ -95,7 +95,7 @@ (loop (when (!= (ja-group) (get-art-elem self)) (ja-channel-push! 1 (seconds 0.05)) - (ja :group! (-> self draw art-group data 3)) + (ja :group! assistant-lavatube-end-idle-ja) ) (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) diff --git a/goal_src/jak1/levels/citadel/citadel-obs.gc b/goal_src/jak1/levels/citadel/citadel-obs.gc index c6c122ffe5e..fc7e02caf72 100644 --- a/goal_src/jak1/levels/citadel/citadel-obs.gc +++ b/goal_src/jak1/levels/citadel/citadel-obs.gc @@ -925,7 +925,7 @@ :code (behavior () (process-entity-status! self (entity-perm-status complete) #t) (ja-channel-push! 1 (seconds 0.1)) - (ja-no-eval :group! (-> self draw art-group data 4) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! citb-coil-die-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -937,7 +937,7 @@ (defstate citb-coil-broken (citb-coil) :code (behavior () - (ja-no-eval :group! (-> self draw art-group data 5) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! citb-coil-dead-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -1002,7 +1002,7 @@ :event citb-hose-event-handler :code (behavior () (loop - (ja-no-eval :group! (-> self draw art-group data 3) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! citb-hose-idle-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -1016,7 +1016,7 @@ :event citb-hose-event-handler :code (behavior () (ja-channel-push! 1 (seconds 0.1)) - (ja-no-eval :group! (-> self draw art-group data 4) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! citb-hose-spit-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -1031,7 +1031,7 @@ :code (behavior () (process-entity-status! self (entity-perm-status complete) #t) (ja-channel-push! 1 (seconds 0.1)) - (ja-no-eval :group! (-> self draw art-group data 5) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! citb-hose-die-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) diff --git a/goal_src/jak1/levels/citadel/citadel-sages.gc b/goal_src/jak1/levels/citadel/citadel-sages.gc index d94a2d31e21..848bdf50fe5 100644 --- a/goal_src/jak1/levels/citadel/citadel-sages.gc +++ b/goal_src/jak1/levels/citadel/citadel-sages.gc @@ -104,7 +104,7 @@ (('stop-cloning) (set! (-> self cloning) #f) (let ((v1-7 (-> self skel root-channel 0))) - (set! v0-3 (-> self draw art-group data 3)) + (set! v0-3 citb-sagecage-idle-ja) (set! (-> v1-7 frame-group) (the-as art-joint-anim v0-3)) ) v0-3 diff --git a/goal_src/jak1/levels/citadel/citb-plat.gc b/goal_src/jak1/levels/citadel/citb-plat.gc index da6dca2f611..6e1da67f4c0 100644 --- a/goal_src/jak1/levels/citadel/citb-plat.gc +++ b/goal_src/jak1/levels/citadel/citb-plat.gc @@ -875,7 +875,7 @@ ) ) :code (behavior () - (ja-no-eval :group! (-> self draw art-group data 3) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! citb-firehose-start-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -884,7 +884,7 @@ (restore-collide-with-as (-> self root-override)) (sound-play "eco-torch" :position (the-as symbol (-> self blast-pos))) (dotimes (gp-1 2) - (ja-no-eval :group! (-> self draw art-group data 4) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! citb-firehose-loopflame-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (set! (-> self blast-pos quad) (-> self node-list data 5 bone transform vector 3 quad)) (citb-firehose-blast-particles) @@ -894,7 +894,7 @@ ) (clear-collide-with-as (-> self root-override)) (ja-channel-push! 1 (seconds 0.1)) - (ja-no-eval :group! (-> self draw art-group data 5) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! citb-firehose-end-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) diff --git a/goal_src/jak1/levels/finalboss/final-door.gc b/goal_src/jak1/levels/finalboss/final-door.gc index dc3c6aa3914..857360f804e 100644 --- a/goal_src/jak1/levels/finalboss/final-door.gc +++ b/goal_src/jak1/levels/finalboss/final-door.gc @@ -323,13 +323,13 @@ (rot->dir-targ! (-> self control)) (transform-post) (ja-channel-push! 1 (seconds 0.2)) - (ja-no-eval :group! (-> self draw art-group data 88) :num! (seek! (ja-aframe 18.0 0)) :frame-num 0.0) + (ja-no-eval :group! eichar-shocked-ja :num! (seek! (ja-aframe 18.0 0)) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek! (ja-aframe 18.0 0))) ) (let ((s4-3 (-> (handle->process (the-as handle arg0)) entity)) - (s3-1 (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 7))) + (s3-1 (vector<-cspace! (new 'stack-no-clear 'vector) (joint-node-index eichar-lod0-jg neckB))) ) (dotimes (s2-0 50) (when (handle->process (the-as handle arg0)) diff --git a/goal_src/jak1/levels/finalboss/robotboss-misc.gc b/goal_src/jak1/levels/finalboss/robotboss-misc.gc index c274268db58..bc08982fa29 100644 --- a/goal_src/jak1/levels/finalboss/robotboss-misc.gc +++ b/goal_src/jak1/levels/finalboss/robotboss-misc.gc @@ -436,7 +436,7 @@ (defbehavior robotboss-manipy-trans-hook robotboss () (let ((gp-0 (new 'stack-no-clear 'vector))) - (vector<-cspace! gp-0 (-> self node-list data 7)) + (vector<-cspace! gp-0 (joint-node-index robotboss-basic-lod0-jg blue_eco_piece)) (spawn (-> self part) gp-0) ) 0 diff --git a/goal_src/jak1/levels/finalboss/robotboss-weapon.gc b/goal_src/jak1/levels/finalboss/robotboss-weapon.gc index e89f86f2fdf..d0ccbc9d86e 100644 --- a/goal_src/jak1/levels/finalboss/robotboss-weapon.gc +++ b/goal_src/jak1/levels/finalboss/robotboss-weapon.gc @@ -342,22 +342,22 @@ (if (>= (- (-> *display* game-frame-counter) (-> self state-time)) (the int (-> self countdown-time))) (go darkecobomb-explode #f) ) - (when (ja-group? (-> self draw art-group data 5)) + (when (ja-group? darkecobomb-spin-cycle-ja) (let ((gp-2 (new 'stack-no-clear 'vector))) - (vector<-cspace! gp-2 (-> self node-list data 5)) + (vector<-cspace! gp-2 (joint-node-index darkecobomb-lod0-jg particles)) (spawn (-> self part) gp-2) ) ) ) :code (behavior () (sound-play "bomb-open") - (ja-no-eval :group! (-> self draw art-group data 4) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! darkecobomb-open-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) ) (loop - (ja-no-eval :group! (-> self draw art-group data 5) :num! (seek! max (-> self anim-speed)) :frame-num 0.0) + (ja-no-eval :group! darkecobomb-spin-cycle-ja :num! (seek! max (-> self anim-speed)) :frame-num 0.0) (until (ja-done? 0) (update! (-> self sound)) (suspend) @@ -387,7 +387,7 @@ (ja-eval) ) (loop - (ja-no-eval :group! (-> self draw art-group data 2) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! darkecobomb-idle-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -411,13 +411,13 @@ ) ) :code (behavior () - (ja-no-eval :group! (-> self draw art-group data 3) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! darkecobomb-blast-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) ) (loop - (ja-no-eval :group! (-> self draw art-group data 2) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! darkecobomb-idle-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) diff --git a/goal_src/jak1/levels/finalboss/robotboss.gc b/goal_src/jak1/levels/finalboss/robotboss.gc index fb021899bbd..d7b03e6f246 100644 --- a/goal_src/jak1/levels/finalboss/robotboss.gc +++ b/goal_src/jak1/levels/finalboss/robotboss.gc @@ -57,7 +57,7 @@ (gp-1 (-> self node-list data 88 bone scale)) ) (let ((s4-1 (new 'stack-no-clear 'vector))) - (vector<-cspace! s4-1 (-> self node-list data 88)) + (vector<-cspace! s4-1 (joint-node-index robotboss-basic-lod0-jg camera)) (set! (-> *camera-other-trans* quad) (-> s4-1 quad)) ) (vector-normalize-copy! @@ -88,21 +88,21 @@ (defbehavior robotboss-always-trans robotboss ((arg0 (state robotboss))) (when (-> self blue-smoke) (let ((s5-0 (new 'stack-no-clear 'vector))) - (vector<-cspace! s5-0 (-> self node-list data 7)) + (vector<-cspace! s5-0 (joint-node-index robotboss-basic-lod0-jg blue_eco_piece)) (spawn (-> self particle 2) s5-0) ) ) (when (-> self red-smoke) (let ((s5-1 (new 'stack-no-clear 'vector))) - (vector<-cspace! s5-1 (-> self node-list data 47)) + (vector<-cspace! s5-1 (joint-node-index robotboss-basic-lod0-jg rArmTopWireC)) (spawn (-> self particle 3) s5-1) - (vector<-cspace! s5-1 (-> self node-list data 51)) + (vector<-cspace! s5-1 (joint-node-index robotboss-basic-lod0-jg rArmBotWireC)) (spawn (-> self particle 3) s5-1) ) ) (when (-> self yellow-smoke) (let ((s5-2 (new 'stack-no-clear 'vector))) - (vector<-cspace! s5-2 (-> self node-list data 27)) + (vector<-cspace! s5-2 (joint-node-index robotboss-basic-lod0-jg Lyellow_ecoTubeA)) (spawn (-> self particle 4) s5-2) ) ) @@ -206,7 +206,7 @@ ) ((-> self use-interesting) (let ((s5-10 (new 'stack-no-clear 'vector))) - (vector<-cspace! s5-10 (-> self node-list data 87)) + (vector<-cspace! s5-10 (joint-node-index robotboss-basic-lod0-jg interesting)) (send-event *camera* 'point-of-interest s5-10) ) ) @@ -331,7 +331,7 @@ (+! (-> self children-spawned) 1) (let ((gp-0 (new 'stack-no-clear 'vector))) (let ((s4-0 (new 'stack-no-clear 'vector))) - (vector<-cspace! gp-0 (-> self node-list data 60)) + (vector<-cspace! gp-0 (joint-node-index robotboss-basic-lod0-jg darkbombD)) (set! (-> s4-0 quad) (-> self entity extra trans quad)) (vector+! s4-0 s4-0 arg0) (process-spawn darkecobomb gp-0 s4-0 61440.0 300 arg1 :to self) @@ -844,7 +844,7 @@ (+! (-> self children-spawned) 1) (let ((gp-0 (new 'stack-no-clear 'vector))) (let ((s5-0 (new 'stack-no-clear 'vector))) - (vector<-cspace! gp-0 (-> self node-list data 21)) + (vector<-cspace! gp-0 (joint-node-index robotboss-basic-lod0-jg Lyellow_ecoBarrell)) (set! (-> gp-0 y) 1972633.6) (if *target* (set! (-> s5-0 quad) (-> (target-pos 0) quad)) @@ -989,7 +989,7 @@ (ja :group! robotboss-yellow-last-hit-ja) (set! (-> self yellow-smoke) #t) (let ((gp-0 (new 'stack-no-clear 'vector))) - (vector<-cspace! gp-0 (-> self node-list data 27)) + (vector<-cspace! gp-0 (joint-node-index robotboss-basic-lod0-jg Lyellow_ecoTubeA)) (process-spawn part-tracker :init part-tracker-init @@ -1026,7 +1026,7 @@ ) (let ((gp-2 (new 'stack-no-clear 'vector))) (update! (-> self looping-sound 3)) - (vector<-cspace! gp-2 (-> self node-list data 21)) + (vector<-cspace! gp-2 (joint-node-index robotboss-basic-lod0-jg Lyellow_ecoBarrell)) (spawn (-> self particle 6) gp-2) ) ) @@ -1380,7 +1380,7 @@ (let ((s5-0 arg1)) (+! (-> self children-spawned) 1) (let ((gp-0 (new 'stack-no-clear 'vector))) - (vector<-cspace! gp-0 (-> self node-list data 40)) + (vector<-cspace! gp-0 (joint-node-index robotboss-basic-lod0-jg red_ecoTip)) (let ((s4-0 (get-process *default-dead-pool* redshot #x4000))) (when s4-0 (let ((t9-2 (method-of-type redshot activate))) @@ -1573,7 +1573,7 @@ (ja :group! robotboss-red-last-hit-ja) (set! (-> self red-smoke) #t) (let ((gp-0 (new 'stack-no-clear 'vector))) - (vector<-cspace! gp-0 (-> self node-list data 51)) + (vector<-cspace! gp-0 (joint-node-index robotboss-basic-lod0-jg rArmBotWireC)) (process-spawn part-tracker :init part-tracker-init @@ -1641,7 +1641,7 @@ (until (ja-done? 0) (update! (-> self looping-sound 2)) (let ((gp-0 (new 'stack-no-clear 'vector))) - (vector<-cspace! gp-0 (-> self node-list data 40)) + (vector<-cspace! gp-0 (joint-node-index robotboss-basic-lod0-jg red_ecoTip)) (spawn (-> self particle 5) gp-0) ) (if (robotboss-is-red-hit) @@ -1855,7 +1855,7 @@ (+! (-> self children-spawned) 1) (let ((gp-0 (new 'stack-no-clear 'vector))) (let ((s2-0 (new 'stack-no-clear 'vector))) - (vector<-cspace! gp-0 (-> self node-list data 68)) + (vector<-cspace! gp-0 (joint-node-index robotboss-basic-lod0-jg green_eco)) (set! (-> s2-0 quad) (-> self entity extra trans quad)) (+! (-> s2-0 y) -40960.0) (vector+! s2-0 s2-0 arg0) @@ -2519,7 +2519,7 @@ (sound-play "explod-eye") (set! (-> self blue-smoke) #t) (let ((gp-1 (new 'stack-no-clear 'vector))) - (vector<-cspace! gp-1 (-> self node-list data 7)) + (vector<-cspace! gp-1 (joint-node-index robotboss-basic-lod0-jg blue_eco_piece)) (process-spawn part-tracker :init part-tracker-init diff --git a/goal_src/jak1/levels/flut_common/flutflut.gc b/goal_src/jak1/levels/flut_common/flutflut.gc index 4b721c7cbb8..2067d8c0bc1 100644 --- a/goal_src/jak1/levels/flut_common/flutflut.gc +++ b/goal_src/jak1/levels/flut_common/flutflut.gc @@ -175,7 +175,7 @@ :exit (-> (method-of-type flutflut wait-for-start) exit) :code (behavior () (ja-channel-set! 1) - (ja :group! (-> self draw art-group data 3)) + (ja :group! flut-saddle-flut-idle-ja) (set! (-> self root-override root-prim prim-core action) (collide-action solid attackable-unused)) (set! (-> self root-override root-prim prim-core offense) (collide-offense indestructible)) (loop @@ -228,7 +228,7 @@ (case message (('draw) (ja-channel-set! 1) - (ja :group! (-> self draw art-group data 3)) + (ja :group! flut-saddle-flut-idle-ja) (set! (-> self root-override root-prim prim-core action) (collide-action solid attackable-unused)) (set! (-> self root-override root-prim prim-core offense) (collide-offense indestructible)) (transform-post) diff --git a/goal_src/jak1/levels/flut_common/target-flut.gc b/goal_src/jak1/levels/flut_common/target-flut.gc index 2806c925640..aa18ac3481b 100644 --- a/goal_src/jak1/levels/flut_common/target-flut.gc +++ b/goal_src/jak1/levels/flut_common/target-flut.gc @@ -200,27 +200,23 @@ (defbehavior target-flut-falling-anim-trans target () (let ((v1-2 (ja-group))) - (b! - (or (= v1-2 (-> self draw art-group data 144)) (= v1-2 (-> self draw art-group data 145))) - cfg-7 - :delay (empty-form) - ) + (b! (or (= v1-2 eichar-flut-jump-loop-ja) (= v1-2 eichar-flut-jump-land-ja)) cfg-7 :delay (empty-form)) ) (ja-channel-push! 1 (seconds 0.33)) - (ja :group! (-> self draw art-group data 144)) + (ja :group! eichar-flut-jump-loop-ja) (b! #t cfg-23 :delay (nop!)) (label cfg-7) (cond ((and (logtest? (-> self control status) (cshape-moving-flags onsurf)) - (not (ja-group? (-> self draw art-group data 145))) + (not (ja-group? eichar-flut-jump-land-ja)) ) (ja-channel-push! 1 (seconds 0.02)) - (ja :group! (-> self draw art-group data 145)) + (ja :group! eichar-flut-jump-land-ja) ) - ((ja-group? (-> self draw art-group data 144)) + ((ja-group? eichar-flut-jump-loop-ja) (ja :num! (loop!)) ) - ((ja-group? (-> self draw art-group data 145)) + ((ja-group? eichar-flut-jump-land-ja) (ja :num! (seek!)) ) ) @@ -231,13 +227,13 @@ (defbehavior target-flut-hit-ground-anim target () (cond - ((ja-group? (-> self draw art-group data 144)) + ((ja-group? eichar-flut-jump-loop-ja) (if (!= (-> self skel root-channel 0) (-> self skel channel)) (ja-channel-push! 2 (seconds 0.05)) (ja-channel-set! 2) ) - (ja :group! (-> self draw art-group data 145) :num! min) - (ja :chan 1 :group! (-> self draw art-group data 148) :num! min) + (ja :group! eichar-flut-jump-land-ja :num! min) + (ja :chan 1 :group! eichar-flut-jump-forward-land-ja :num! min) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -246,13 +242,13 @@ #f ) ((let ((v1-33 (ja-group))) - (or (= v1-33 (-> self draw art-group data 143)) (= v1-33 (-> self draw art-group data 145))) + (or (= v1-33 eichar-flut-jump-ja) (= v1-33 eichar-flut-jump-land-ja)) ) #f ) - ((ja-group? (-> self draw art-group data 149)) + ((ja-group? eichar-flut-double-jump-ja) (ja-channel-set! 1) - (ja-no-eval :group! (-> self draw art-group data 145) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! eichar-flut-jump-land-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -260,10 +256,10 @@ #f ) ((let ((v1-68 (ja-group))) - (or (= v1-68 (-> self draw art-group data 152)) (= v1-68 (-> self draw art-group data 153))) + (or (= v1-68 eichar-flut-air-attack-ja) (= v1-68 eichar-flut-air-attack-loop-ja)) ) (ja-channel-set! 1) - (ja-no-eval :group! (-> self draw art-group data 154) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! eichar-flut-air-attack-land-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (compute-alignment! (-> self align)) (align! (-> self align) (align-opts adjust-xz-vel) (the-as float 1.0) (the-as float 1.0) (the-as float 1.0)) @@ -531,9 +527,9 @@ (and (time-elapsed? (-> self control unknown-dword11) (-> *FLUT-bank* ground-timeout)) (>= 0.0 (vector-dot (-> self control dynam gravity-normal) (-> self control transv))) (let ((v1-37 (ja-group))) - (or (not (or (= v1-37 (-> self draw art-group data 59)) - (= v1-37 (-> self draw art-group data 60)) - (= v1-37 (-> self draw art-group data 61)) + (or (not (or (= v1-37 eichar-attack-punch-ja) + (= v1-37 eichar-attack-punch-end-ja) + (= v1-37 eichar-attack-punch-alt-end-ja) ) ) (< 4096.0 (target-height-above-ground)) @@ -548,25 +544,25 @@ (let ((gp-0 22)) (let ((v1-2 (ja-group))) (cond - ((or (= v1-2 (-> self draw art-group data 141)) (= v1-2 (-> self draw art-group data 161))) + ((or (= v1-2 eichar-flut-walk-ja) (= v1-2 eichar-flut-squash-run-ja)) (set! gp-0 60) ) - ((ja-group? (-> self draw art-group data 155)) + ((ja-group? eichar-flut-get-on-ja) (ja-no-eval :num! (seek!)) (while (not (ja-done? 0)) (suspend) (ja-eval) ) ) - ((ja-group? (-> self draw art-group data 158)) - (ja-no-eval :group! (-> self draw art-group data 159) :num! (seek!) :frame-num 0.0) + ((ja-group? eichar-flut-smack-surface-ja) + (ja-no-eval :group! eichar-flut-smack-surface-end-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) ) ) - ((ja-group? (-> self draw art-group data 150)) - (ja-no-eval :group! (-> self draw art-group data 151) :num! (seek!) :frame-num 0.0) + ((ja-group? eichar-flut-running-attack-ja) + (ja-no-eval :group! eichar-flut-running-attack-end-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -574,11 +570,11 @@ ) ) ) - (if (not (ja-group? (-> self draw art-group data 140))) + (if (not (ja-group? eichar-flut-idle-ja)) (ja-channel-push! 1 (the-as time-frame gp-0)) ) ) - (ja :group! (-> self draw art-group data 140)) + (ja :group! eichar-flut-idle-ja) (loop (suspend) (ja :num! (loop!)) @@ -622,9 +618,9 @@ (and (time-elapsed? (-> self control unknown-dword11) (-> *FLUT-bank* ground-timeout)) (>= 0.0 (vector-dot (-> self control dynam gravity-normal) (-> self control transv))) (let ((v1-37 (ja-group))) - (or (not (or (= v1-37 (-> self draw art-group data 59)) - (= v1-37 (-> self draw art-group data 60)) - (= v1-37 (-> self draw art-group data 61)) + (or (not (or (= v1-37 eichar-attack-punch-ja) + (= v1-37 eichar-attack-punch-end-ja) + (= v1-37 eichar-attack-punch-alt-end-ja) ) ) (< 4096.0 (target-height-above-ground)) @@ -663,18 +659,18 @@ ) (let ((gp-0 22)) (cond - ((ja-group? (-> self draw art-group data 140)) + ((ja-group? eichar-flut-idle-ja) (set! gp-0 60) ) ((let ((v1-9 (ja-group))) - (or (= v1-9 (-> self draw art-group data 143)) - (= v1-9 (-> self draw art-group data 144)) - (= v1-9 (-> self draw art-group data 152)) - (= v1-9 (-> self draw art-group data 154)) + (or (= v1-9 eichar-flut-jump-ja) + (= v1-9 eichar-flut-jump-loop-ja) + (= v1-9 eichar-flut-air-attack-ja) + (= v1-9 eichar-flut-air-attack-land-ja) ) ) (ja-channel-push! 1 (seconds 0.08)) - (ja-no-eval :group! (-> self draw art-group data 161) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! eichar-flut-squash-run-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -682,11 +678,11 @@ ) ) (set! f30-0 (cond - ((ja-group? (-> self draw art-group data 161)) + ((ja-group? eichar-flut-squash-run-ja) (ja-channel-set! 2) 1.0 ) - ((ja-group? (-> self draw art-group data 141)) + ((ja-group? eichar-flut-walk-ja) (set! f28-0 (ja-frame-num 0)) (-> self skel root-channel 1 frame-interp) ) @@ -697,9 +693,9 @@ ) ) ) - (ja-no-eval :group! (-> self draw art-group data 141) :num! (loop!) :dist 49152.0 :frame-num f28-0) + (ja-no-eval :group! eichar-flut-walk-ja :num! (loop!) :dist 49152.0 :frame-num f28-0) (ja-no-eval :chan 1 - :group! (-> self draw art-group data 142) + :group! eichar-flut-run-ja :num! (identity (* 0.5 f28-0)) :frame-interp f30-0 :dist 40960.0 @@ -845,16 +841,16 @@ ) :code (behavior ((arg0 float) (arg1 float)) (ja-channel-push! 2 (seconds 0.12)) - (ja :group! (-> self draw art-group data 143) :num! min) + (ja :group! eichar-flut-jump-ja :num! min) (ja :chan 1 - :group! (-> self draw art-group data 146) + :group! eichar-flut-jump-forward-ja :num! (chan 0) :frame-interp (-> self control unknown-float122) ) (suspend) - (ja :group! (-> self draw art-group data 143) :num! (+!)) + (ja :group! eichar-flut-jump-ja :num! (+!)) (ja :chan 1 - :group! (-> self draw art-group data 146) + :group! eichar-flut-jump-forward-ja :num! (chan 0) :frame-interp (-> self control unknown-float122) ) @@ -881,17 +877,17 @@ (ja :chan 1 :num! (chan 0) :frame-interp (-> self control unknown-float122)) (suspend) ) - (ja-no-eval :group! (-> self draw art-group data 144) :num! (loop!) :frame-num 0.0) + (ja-no-eval :group! eichar-flut-jump-loop-ja :num! (loop!) :frame-num 0.0) (ja :chan 1 - :group! (-> self draw art-group data 147) + :group! eichar-flut-jump-forward-loop-ja :num! (chan 0) :frame-interp (-> self control unknown-float122) ) (loop (suspend) - (ja :group! (-> self draw art-group data 144) :num! (loop!)) + (ja :group! eichar-flut-jump-loop-ja :num! (loop!)) (ja :chan 1 - :group! (-> self draw art-group data 147) + :group! eichar-flut-jump-forward-loop-ja :num! (chan 0) :frame-interp (-> self control unknown-float122) ) @@ -939,7 +935,7 @@ (if (!= (-> self state-time) (current-time)) (mod-var-jump #t #t (cpad-hold? (-> self control unknown-cpad-info00 number) x) (-> self control transv)) ) - (if (ja-group? (-> self draw art-group data 149)) + (if (ja-group? eichar-flut-double-jump-ja) (sound-play "flut-flap" :id (-> self flut flap-sound-id)) ) (seek! @@ -950,7 +946,7 @@ ) :code (behavior ((arg0 float) (arg1 float)) (ja-channel-push! 1 (seconds 0.05)) - (ja-no-eval :group! (-> self draw art-group data 149) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! eichar-flut-double-jump-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (cpad-set-buzz! (-> *cpad-list* cpads 0) 0 3 (seconds 0.1)) (suspend) @@ -958,10 +954,7 @@ ) (set! (-> self control unknown-surface00) *flut-jump-mods*) (dotimes (gp-0 1) - (ja-no-eval :group! (-> self draw art-group data 149) - :num! (seek!) - :frame-num (ja-aframe (the-as float 14.0) 0) - ) + (ja-no-eval :group! eichar-flut-double-jump-ja :num! (seek!) :frame-num (ja-aframe (the-as float 14.0) 0)) (until (ja-done? 0) (cpad-set-buzz! (-> *cpad-list* cpads 0) 0 3 (seconds 0.1)) (suspend) @@ -988,9 +981,9 @@ ) (current-time) (ja-channel-push! 2 (seconds 0.1)) - (ja-no-eval :group! (-> self draw art-group data 144) :num! (loop!) :frame-num 0.0) + (ja-no-eval :group! eichar-flut-jump-loop-ja :num! (loop!) :frame-num 0.0) (ja :chan 1 - :group! (-> self draw art-group data 147) + :group! eichar-flut-jump-forward-loop-ja :num! min :frame-interp (-> self control unknown-float122) ) @@ -1044,9 +1037,9 @@ (and (time-elapsed? (-> self control unknown-dword11) (-> *FLUT-bank* ground-timeout)) (>= 0.0 (vector-dot (-> self control dynam gravity-normal) (-> self control transv))) (let ((v1-34 (ja-group))) - (or (not (or (= v1-34 (-> self draw art-group data 59)) - (= v1-34 (-> self draw art-group data 60)) - (= v1-34 (-> self draw art-group data 61)) + (or (not (or (= v1-34 eichar-attack-punch-ja) + (= v1-34 eichar-attack-punch-end-ja) + (= v1-34 eichar-attack-punch-alt-end-ja) ) ) (< 4096.0 (target-height-above-ground)) @@ -1094,18 +1087,18 @@ ) :code (behavior ((arg0 symbol)) (cond - ((ja-group? (-> self draw art-group data 144)) + ((ja-group? eichar-flut-jump-loop-ja) ) - ((ja-group? (-> self draw art-group data 149)) + ((ja-group? eichar-flut-double-jump-ja) (ja-channel-push! 2 (seconds 0.2)) ) (else (ja-channel-push! 2 (seconds 0.5)) ) ) - (ja-no-eval :group! (-> self draw art-group data 144) :num! (loop!) :frame-num 0.0) + (ja-no-eval :group! eichar-flut-jump-loop-ja :num! (loop!) :frame-num 0.0) (ja :chan 1 - :group! (-> self draw art-group data 147) + :group! eichar-flut-jump-forward-loop-ja :num! min :frame-interp (-> self control unknown-float122) ) @@ -1267,7 +1260,7 @@ (create-splash (-> self water) (the-as float 0.6) - (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 37)) + (vector<-cspace! (new 'stack-no-clear 'vector) (joint-node-index eichar-lod0-jg mouth)) 0 (-> self control transv) ) @@ -1277,7 +1270,7 @@ :code (behavior () (ja-channel-push! 1 (seconds 0.02)) (sound-play "flut-hit") - (ja :group! (-> self draw art-group data 150) :num! min) + (ja :group! eichar-flut-running-attack-ja :num! min) (set! (-> self control dynam gravity-max) 368640.0) (set! (-> self control dynam gravity-length) 368640.0) (let ((f28-0 0.0) @@ -1297,9 +1290,9 @@ (time-elapsed? (-> self control unknown-dword11) (-> *FLUT-bank* ground-timeout)) (>= 0.0 (vector-dot (-> self control dynam gravity-normal) (-> self control transv))) (let ((v1-39 (ja-group))) - (or (not (or (= v1-39 (-> self draw art-group data 59)) - (= v1-39 (-> self draw art-group data 60)) - (= v1-39 (-> self draw art-group data 61)) + (or (not (or (= v1-39 eichar-attack-punch-ja) + (= v1-39 eichar-attack-punch-end-ja) + (= v1-39 eichar-attack-punch-alt-end-ja) ) ) (< 4096.0 (target-height-above-ground)) @@ -1346,9 +1339,9 @@ (time-elapsed? (-> self control unknown-dword11) (-> *FLUT-bank* ground-timeout)) (>= 0.0 (vector-dot (-> self control dynam gravity-normal) (-> self control transv))) (let ((v1-105 (ja-group))) - (or (not (or (= v1-105 (-> self draw art-group data 59)) - (= v1-105 (-> self draw art-group data 60)) - (= v1-105 (-> self draw art-group data 61)) + (or (not (or (= v1-105 eichar-attack-punch-ja) + (= v1-105 eichar-attack-punch-end-ja) + (= v1-105 eichar-attack-punch-alt-end-ja) ) ) (< 4096.0 (target-height-above-ground)) @@ -1362,7 +1355,7 @@ (if (not (ja-done? 0)) (ja-channel-push! 1 (seconds 0.05)) ) - (ja-no-eval :group! (-> self draw art-group data 151) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! eichar-flut-running-attack-end-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (compute-alignment! (-> self align)) (align! (-> self align) (align-opts adjust-xz-vel) (the-as float 1.0) (the-as float 1.0) f30-0) @@ -1473,10 +1466,7 @@ :code (behavior ((arg0 float)) (sound-play "flut-hit" :pitch -0.5) (ja-channel-push! 1 (seconds 0.05)) - (ja-no-eval :group! (-> self draw art-group data 152) - :num! (seek! (ja-aframe (the-as float 8.0) 0)) - :frame-num 0.0 - ) + (ja-no-eval :group! eichar-flut-air-attack-ja :num! (seek! (ja-aframe (the-as float 8.0) 0)) :frame-num 0.0) (until (ja-done? 0) (compute-alignment! (-> self align)) (align! @@ -1489,10 +1479,7 @@ (suspend) (ja :num! (seek! (ja-aframe (the-as float 8.0) 0))) ) - (ja-no-eval :group! (-> self draw art-group data 152) - :num! (seek!) - :frame-num (ja-aframe (the-as float 8.0) 0) - ) + (ja-no-eval :group! eichar-flut-air-attack-ja :num! (seek!) :frame-num (ja-aframe (the-as float 8.0) 0)) (until (ja-done? 0) (compute-alignment! (-> self align)) (align! @@ -1505,7 +1492,7 @@ (suspend) (ja :num! (seek!)) ) - (ja :group! (-> self draw art-group data 153) :num! min) + (ja :group! eichar-flut-air-attack-loop-ja :num! min) (loop (suspend) ) @@ -1542,7 +1529,7 @@ :trans (-> target-flut-hit-ground trans) :code (behavior () (ja-channel-set! 1) - (ja-no-eval :group! (-> self draw art-group data 154) + (ja-no-eval :group! eichar-flut-air-attack-land-ja :num! (seek! (ja-aframe (the-as float 22.0) 0)) :frame-num 0.0 ) @@ -1553,10 +1540,7 @@ (ja :num! (seek! (ja-aframe (the-as float 22.0) 0))) ) (target-danger-set! 'harmless #f) - (ja-no-eval :group! (-> self draw art-group data 154) - :num! (seek!) - :frame-num (ja-aframe (the-as float 22.0) 0) - ) + (ja-no-eval :group! eichar-flut-air-attack-land-ja :num! (seek!) :frame-num (ja-aframe (the-as float 22.0) 0)) (until (ja-done? 0) (compute-alignment! (-> self align)) (align! (-> self align) (align-opts adjust-xz-vel) (the-as float 1.0) (the-as float 1.0) (the-as float 1.0)) @@ -1696,17 +1680,17 @@ (let ((f30-0 1.0)) (case (-> gp-0 angle) (('shove) - (when (not (ja-group? (-> self draw art-group data 158))) + (when (not (ja-group? eichar-flut-smack-surface-ja)) (ja-channel-set! 1) - (ja :group! (-> self draw art-group data 158) :num! min) + (ja :group! eichar-flut-smack-surface-ja :num! min) ) (sound-play "smack-surface") (sound-play "flut-hit" :pitch 1) ) (else - (when (not (ja-group? (-> self draw art-group data 157))) + (when (not (ja-group? eichar-flut-hit-back-ja)) (ja-channel-push! 1 (seconds 0.075)) - (ja :group! (-> self draw art-group data 157) :num! min) + (ja :group! eichar-flut-hit-back-ja :num! min) ) ) ) @@ -1801,7 +1785,7 @@ (else (set! (-> self control unknown-surface00) *neutral-mods*) (ja-channel-push! 1 (seconds 0.1)) - (ja-no-eval :group! (-> self draw art-group data 160) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! eichar-flut-deatha-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (compute-alignment! (-> self align)) (let ((gp-5 (new 'stack-no-clear 'vector))) @@ -1864,10 +1848,7 @@ (let ((gp-1 #f)) (sound-play "uppercut") (ja-channel-push! 1 (seconds 0.05)) - (ja-no-eval :group! (-> self draw art-group data 155) - :num! (seek! (ja-aframe (the-as float 24.0) 0)) - :frame-num 0.0 - ) + (ja-no-eval :group! eichar-flut-get-on-ja :num! (seek! (ja-aframe (the-as float 24.0) 0)) :frame-num 0.0) (until (ja-done? 0) (when (and (not gp-1) (= (-> self skel root-channel 0) (-> self skel channel))) (send-event (ppointer->process (-> self manipy)) 'anim-mode 'clone-anim) @@ -1966,7 +1947,7 @@ ) (sound-play "flut-coo" :vol 90 :pitch -0.5) (ja-channel-push! 1 (seconds 0.05)) - (ja-no-eval :group! (-> self draw art-group data 156) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! eichar-flut-get-off-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -1978,7 +1959,7 @@ ) (rot->dir-targ! (-> self control)) (ja-post) - (vector<-cspace! gp-0 (-> self node-list data 3)) + (vector<-cspace! gp-0 (joint-node-index eichar-lod0-jg main)) (+! (-> gp-0 y) -5896.192) (move-to-point! (-> self control) gp-0) ) @@ -2023,10 +2004,7 @@ ) :code (behavior ((arg0 symbol)) (ja-channel-set! 1) - (ja-no-eval :group! (-> self draw art-group data 35) - :num! (seek!) - :frame-num (ja-aframe (the-as float 42.0) 0) - ) + (ja-no-eval :group! eichar-jump-land-ja :num! (seek!) :frame-num (ja-aframe (the-as float 42.0) 0)) (until (ja-done? 0) (suspend) (ja :num! (seek!)) diff --git a/goal_src/jak1/levels/jungle/bouncer.gc b/goal_src/jak1/levels/jungle/bouncer.gc index 9e388231eb1..a70cb58c107 100644 --- a/goal_src/jak1/levels/jungle/bouncer.gc +++ b/goal_src/jak1/levels/jungle/bouncer.gc @@ -55,7 +55,7 @@ ) ) :code (behavior () - (ja :group! (-> self draw art-group data 2) :num! min) + (ja :group! bounceytarp-idle-ja :num! min) (transform-post) (loop (logior! (-> self mask) (process-mask sleep)) @@ -106,7 +106,7 @@ (defstate bouncer-fire (springbox) :code (behavior () (cpad-set-buzz! (-> *cpad-list* cpads 0) 1 178 (seconds 0.1)) - (ja-no-eval :group! (-> self draw art-group data 2) :num! (seek!) :frame-num (ja-aframe 6.0 0)) + (ja-no-eval :group! bounceytarp-idle-ja :num! (seek!) :frame-num (ja-aframe 6.0 0)) (until (ja-done? 0) (suspend) (ja :num! (seek!)) diff --git a/goal_src/jak1/levels/jungle/fisher.gc b/goal_src/jak1/levels/jungle/fisher.gc index 50eaa72746e..a894ad378de 100644 --- a/goal_src/jak1/levels/jungle/fisher.gc +++ b/goal_src/jak1/levels/jungle/fisher.gc @@ -1741,13 +1741,13 @@ :trans (behavior () (when (-> self training) (let ((gp-0 (new-stack-vector0))) - (vector<-cspace! gp-0 (-> self node-list data 74)) + (vector<-cspace! gp-0 (joint-node-index fisher-lod0-jg mainA)) (launch-particles (-> *part-id-table* 2001) gp-0) (fisher-fish-water gp-0 (+ 32768.0 (vector-y-angle (-> self node-list data 75 bone transform vector 1)))) - (vector<-cspace! gp-0 (-> self node-list data 77)) + (vector<-cspace! gp-0 (joint-node-index fisher-lod0-jg mainB)) (launch-particles (-> *part-id-table* 2001) gp-0) (fisher-fish-water gp-0 (+ 32768.0 (vector-y-angle (-> self node-list data 78 bone transform vector 1)))) - (vector<-cspace! gp-0 (-> self node-list data 80)) + (vector<-cspace! gp-0 (joint-node-index fisher-lod0-jg top)) (launch-particles (-> *part-id-table* 828) gp-0) (launch-particles (-> *part-id-table* 2013) gp-0) (fisher-fish-water gp-0 (+ 32768.0 (vector-y-angle (-> self node-list data 80 bone transform vector 1)))) @@ -2059,11 +2059,11 @@ ) (let ((v1-35 (-> self manipy 0 node-list data))) (set! (-> v1-35 0 param0) cspace<-cspace+quaternion!) - (set! (-> v1-35 0 param1) (the-as basic (-> self node-list data 23))) + (set! (-> v1-35 0 param1) (the-as basic (joint-node-index eichar-lod0-jg sk_rhand))) (set! (-> v1-35 0 param2) (the-as basic (-> self control quat))) ) ) - (ja :group! (-> self draw art-group data 99) :num! (identity (ja-aframe 15.0 0))) + (ja :group! eichar-fishing-ja :num! (identity (ja-aframe 15.0 0))) (let ((s5-2 (new 'stack-no-clear 'vector))) (until (-> self control unknown-spoolanim00) (let ((v1-42 (handle->process arg0))) @@ -2096,7 +2096,7 @@ (case (-> self control unknown-spoolanim00) (('lose) (ja-channel-push! 1 (seconds 0.1)) - (ja-no-eval :group! (-> self draw art-group data 100) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! eichar-fishing-lose-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) diff --git a/goal_src/jak1/levels/jungle/jungle-obs.gc b/goal_src/jak1/levels/jungle/jungle-obs.gc index 80ec11dc438..3c3a12fe422 100644 --- a/goal_src/jak1/levels/jungle/jungle-obs.gc +++ b/goal_src/jak1/levels/jungle/jungle-obs.gc @@ -49,7 +49,7 @@ :code (behavior () (transform-post) (loop - (ja-no-eval :group! (-> self draw art-group data 4) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! logtrap-idle-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (when (logtest? (-> self draw status) (draw-status was-drawn)) (cond @@ -122,7 +122,7 @@ (defstate towertop-idle (towertop) :code (behavior () (loop - (ja-no-eval :group! (-> self draw art-group data 4) :num! (seek! max 0.4) :frame-num 0.0) + (ja-no-eval :group! towertop-idle-ja :num! (seek! max 0.4) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek! max 0.4)) @@ -178,7 +178,7 @@ :trans rider-trans :code (behavior () (loop - (ja-no-eval :group! (-> self draw art-group data 4) :num! (seek! max (* 0.5 (-> self speed))) :frame-num 0.0) + (ja-no-eval :group! lurkerm-tall-sail-idle-ja :num! (seek! max (* 0.5 (-> self speed))) :frame-num 0.0) (until (ja-done? 0) (quaternion-rotate-local-y! (-> self root-override quat) @@ -378,7 +378,7 @@ :trans rider-trans :code (behavior () (loop - (ja-no-eval :group! (-> self draw art-group data 2) :num! (seek! max (-> self speed)) :frame-num 0.0) + (ja-no-eval :group! lurkerm-piston-idle-ja :num! (seek! max (-> self speed)) :frame-num 0.0) (until (ja-done? 0) (let ((gp-0 (new-stack-vector0))) (set! (-> gp-0 quad) (-> self base quad)) @@ -538,8 +538,8 @@ :virtual #t :code (behavior () (ambient-hint-spawn "gamcam30" (the-as vector #f) *entity-pool* 'camera) - (ja :group! (-> self draw art-group data 8)) - (ja-no-eval :group! (-> self draw art-group data 8) :num! (seek! (ja-aframe 0.0 0)) :frame-num 0.0) + (ja :group! junglecam-precurbridgecam-ja) + (ja-no-eval :group! junglecam-precurbridgecam-ja :num! (seek! (ja-aframe 0.0 0)) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek! (ja-aframe 0.0 0))) @@ -596,7 +596,7 @@ ) ) :code (behavior () - (ja :group! (-> self draw art-group data 3) :num! min) + (ja :group! precurbridge-idle-ja :num! min) (transform-post) (loop (when (and *target* @@ -656,7 +656,7 @@ :code (behavior () (process-entity-status! self (entity-perm-status complete) #t) (sound-play "blue-eco-on" :position (the-as symbol (-> self root-override trans))) - (ja-no-eval :group! (-> self draw art-group data 3) :num! (seek! max 0.25) :frame-num 0.0) + (ja-no-eval :group! precurbridge-idle-ja :num! (seek! max 0.25) :frame-num 0.0) (until (ja-done? 0) (if (rand-vu-percent? 0.1) (spawn-projectile-blue *target*) @@ -689,7 +689,7 @@ (set! (-> self draw bounds w) 81920.0) (when arg0 (ja-channel-set! 1) - (ja :group! (-> self draw art-group data 4) :num! min) + (ja :group! precurbridge-float-ja :num! min) ) (ja-post) (update-transforms! (-> self root-override)) @@ -700,15 +700,15 @@ ) (cond ((and *target* (>= 61440.0 (vector-vector-distance (-> self root-override trans) (-> *target* control trans)))) - (when (not (ja-group? (-> self draw art-group data 5))) + (when (not (ja-group? precurbridge-static-ja)) (ja-channel-push! 1 (seconds 0.2)) - (ja :group! (-> self draw art-group data 5) :num! min) + (ja :group! precurbridge-static-ja :num! min) ) ) (else - (when (not (ja-group? (-> self draw art-group data 4))) + (when (not (ja-group? precurbridge-float-ja)) (ja-channel-push! 1 (seconds 0.2)) - (ja :group! (-> self draw art-group data 4) :num! min) + (ja :group! precurbridge-float-ja :num! min) ) ) ) diff --git a/goal_src/jak1/levels/jungleb/aphid.gc b/goal_src/jak1/levels/jungleb/aphid.gc index c5313ef72f4..5e7f810c4f1 100644 --- a/goal_src/jak1/levels/jungleb/aphid.gc +++ b/goal_src/jak1/levels/jungleb/aphid.gc @@ -73,14 +73,14 @@ (loop (ja-channel-push! 1 (seconds 0.05)) (sound-play "aphid-spike-out") - (ja-no-eval :group! (-> self draw art-group data 6) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! aphid-lurker-spike-out-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) ) (aphid-invulnerable) (ja-channel-push! 1 (seconds 0.1)) - (ja :group! (-> self draw art-group data 5)) + (ja :group! aphid-lurker-walk-deadly-ja) (ja :num-func num-func-identity :frame-num 0.0) (let ((f30-0 (nav-enemy-rnd-float-range 0.9 1.1)) (s5-1 (current-time)) @@ -94,7 +94,7 @@ (aphid-vulnerable) (ja-channel-push! 1 (seconds 0.05)) (sound-play "aphid-spike-in") - (ja-no-eval :group! (-> self draw art-group data 6) :num! (seek! 0.0) :frame-num max) + (ja-no-eval :group! aphid-lurker-spike-out-ja :num! (seek! 0.0) :frame-num max) (until (ja-done? 0) (suspend) (ja :num! (seek! 0.0)) @@ -125,7 +125,7 @@ (and (nav-enemy-player-vulnerable?) (nav-enemy-rnd-percent? 0.5)) ) (ja-channel-push! 1 (seconds 0.1)) - (ja-no-eval :group! (-> self draw art-group data 10) :num! (seek! max f30-0) :frame-num 0.0) + (ja-no-eval :group! aphid-lurker-win-ja :num! (seek! max f30-0) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek! max f30-0)) @@ -136,7 +136,7 @@ (logior! (-> self nav-enemy-flags) (nav-enemy-flags enable-travel)) (ja-no-eval :num! (loop!)) (ja-channel-push! 1 (seconds 0.2)) - (ja :group! (-> self draw art-group data 4)) + (ja :group! aphid-lurker-walk-ja) (ja :num-func num-func-identity :frame-num 0.0) (until (nav-enemy-facing-player? 1820.4445) (ja-blend-eval) @@ -146,10 +146,10 @@ (logclear! (-> self nav-enemy-flags) (nav-enemy-flags enable-travel)) ) (when (nav-enemy-rnd-percent? 0.3) - (if (not (ja-group? (-> self draw art-group data 10))) + (if (not (ja-group? aphid-lurker-win-ja)) (ja-channel-push! 1 (seconds 0.1)) ) - (ja-no-eval :group! (-> self draw art-group data 10) :num! (seek! max f30-0) :frame-num 0.0) + (ja-no-eval :group! aphid-lurker-win-ja :num! (seek! max f30-0) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek! max f30-0)) @@ -174,7 +174,7 @@ ) 12743.111 ) - (ja-no-eval :group! (-> self draw art-group data 7) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! aphid-lurker-give-up-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -183,7 +183,7 @@ ) (logclear! (-> self nav flags) (nav-control-flags navcf17 navcf19)) (nav-enemy-get-new-patrol-point) - (ja-no-eval :group! (-> self draw art-group data 8) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! aphid-lurker-give-up-hop-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (seek-to-point-toward-point! (-> self collide-info) diff --git a/goal_src/jak1/levels/jungleb/jungleb-obs.gc b/goal_src/jak1/levels/jungleb/jungleb-obs.gc index 0afb403ed2b..88a74621665 100644 --- a/goal_src/jak1/levels/jungleb/jungleb-obs.gc +++ b/goal_src/jak1/levels/jungleb/jungleb-obs.gc @@ -268,7 +268,7 @@ ) (save-reminder (get-task-control (-> self entity extra perm task)) 2 0) (sound-play "jngb-eggtop-seq") - (ja-no-eval :group! (-> self draw art-group data 2) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! eggtop-idle-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -280,7 +280,7 @@ (entity-task-complete-on a0-20) ) ) - (ja :group! (-> self draw art-group data 2) :num! max) + (ja :group! eggtop-idle-ja :num! max) (suspend) (logior! (-> self mask) (process-mask sleep)) (suspend) diff --git a/goal_src/jak1/levels/lavatube/assistant-lavatube.gc b/goal_src/jak1/levels/lavatube/assistant-lavatube.gc index c485ffc2e29..92ee7edb58a 100644 --- a/goal_src/jak1/levels/lavatube/assistant-lavatube.gc +++ b/goal_src/jak1/levels/lavatube/assistant-lavatube.gc @@ -114,7 +114,7 @@ (loop (when (!= (ja-group) (get-art-elem self)) (ja-channel-push! 1 (seconds 0.05)) - (ja :group! (-> self draw art-group data 3)) + (ja :group! assistant-lavatube-start-idle-ja) ) (let* ((f30-0 2.0) (v1-7 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) @@ -129,7 +129,7 @@ ) ) (ja-channel-push! 1 (seconds 0.05)) - (ja-no-eval :group! (-> self draw art-group data 4) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! assistant-lavatube-start-idle-b-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) diff --git a/goal_src/jak1/levels/lavatube/lavatube-energy.gc b/goal_src/jak1/levels/lavatube/lavatube-energy.gc index 3a0678092c5..bbf62b05063 100644 --- a/goal_src/jak1/levels/lavatube/lavatube-energy.gc +++ b/goal_src/jak1/levels/lavatube/lavatube-energy.gc @@ -1000,9 +1000,18 @@ (energyarm-trans) (cond ((handle->process (-> self ball)) - (spawn (-> self part) (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 6))) - (spawn (-> self part) (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 5))) - (spawn (-> self part) (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 4))) + (spawn + (-> self part) + (vector<-cspace! (new 'stack-no-clear 'vector) (joint-node-index energyarm-lod0-jg zapa)) + ) + (spawn + (-> self part) + (vector<-cspace! (new 'stack-no-clear 'vector) (joint-node-index energyarm-lod0-jg zapb)) + ) + (spawn + (-> self part) + (vector<-cspace! (new 'stack-no-clear 'vector) (joint-node-index energyarm-lod0-jg zapc)) + ) ) ((!= (-> self ball) #f) (set! (-> self ball) (the-as handle #f)) diff --git a/goal_src/jak1/levels/maincave/gnawer.gc b/goal_src/jak1/levels/maincave/gnawer.gc index 7591d10d4c6..b48b1218d66 100644 --- a/goal_src/jak1/levels/maincave/gnawer.gc +++ b/goal_src/jak1/levels/maincave/gnawer.gc @@ -870,11 +870,11 @@ (ja-no-eval :group! gnawer-up-to-chew-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (let ((gp-3 (new 'stack-no-clear 'vector))) - (vector<-cspace! gp-3 (-> self node-list data 34)) + (vector<-cspace! gp-3 (joint-node-index gnawer-lod0-jg nandibleR)) (spawn (-> self part2) gp-3) ) (let ((gp-4 (new 'stack-no-clear 'vector))) - (vector<-cspace! gp-4 (-> self node-list data 33)) + (vector<-cspace! gp-4 (joint-node-index gnawer-lod0-jg mandibleL)) (spawn (-> self part2) gp-4) ) (suspend) @@ -887,11 +887,11 @@ (ja-no-eval :group! gnawer-chew-ja :num! (seek! max (-> self anim-speed)) :frame-num 0.0) (until (ja-done? 0) (let ((s4-1 (new 'stack-no-clear 'vector))) - (vector<-cspace! s4-1 (-> self node-list data 34)) + (vector<-cspace! s4-1 (joint-node-index gnawer-lod0-jg nandibleR)) (spawn (-> self part2) s4-1) ) (let ((s4-2 (new 'stack-no-clear 'vector))) - (vector<-cspace! s4-2 (-> self node-list data 33)) + (vector<-cspace! s4-2 (joint-node-index gnawer-lod0-jg mandibleL)) (spawn (-> self part2) s4-2) ) (update! (-> self sound2)) diff --git a/goal_src/jak1/levels/maincave/maincave-obs.gc b/goal_src/jak1/levels/maincave/maincave-obs.gc index 79e003df7bc..c8e23abd186 100644 --- a/goal_src/jak1/levels/maincave/maincave-obs.gc +++ b/goal_src/jak1/levels/maincave/maincave-obs.gc @@ -144,7 +144,7 @@ ) :code (behavior () (loop - (ja-no-eval :group! (-> self draw art-group data 4) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! cavecrusher-idle-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (update! (-> self sound)) (suspend) @@ -226,7 +226,7 @@ ) ) :code (behavior () - (ja-no-eval :group! (-> self draw art-group data 4) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! cavetrapdoor-idle-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (transform-post) (suspend) @@ -245,13 +245,13 @@ (suspend) ) ) - (ja-no-eval :group! (-> self draw art-group data 5) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! cavetrapdoor-bob-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) ) (clear-collide-with-as (-> self root-override)) - (ja-no-eval :group! (-> self draw art-group data 6) :num! (seek! (ja-aframe 290.0 0)) :frame-num 0.0) + (ja-no-eval :group! cavetrapdoor-swing-ja :num! (seek! (ja-aframe 290.0 0)) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek! (ja-aframe 290.0 0))) @@ -272,14 +272,14 @@ (not (logtest? (-> *target* control root-prim prim-core action) (collide-action edgegrab-cam))) ) ) - (ja-no-eval :group! (-> self draw art-group data 7) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! cavetrapdoor-idle-down-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) ) (label cfg-14) ) - (ja-no-eval :group! (-> self draw art-group data 8) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! cavetrapdoor-reset-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (when (and (and *target* (>= 28672.0 (vector-vector-distance (-> self root-override trans) (-> *target* control trans)))) (or (and (logtest? (-> *target* control unknown-surface00 flags) (surface-flags jump)) diff --git a/goal_src/jak1/levels/maincave/mother-spider-egg.gc b/goal_src/jak1/levels/maincave/mother-spider-egg.gc index 19c34daadb8..889ccfac8e3 100644 --- a/goal_src/jak1/levels/maincave/mother-spider-egg.gc +++ b/goal_src/jak1/levels/maincave/mother-spider-egg.gc @@ -243,7 +243,7 @@ :code (behavior () (ja-channel-push! 1 0) (loop - (ja-no-eval :group! (-> self draw art-group data 9) :num! (seek! max (-> self anim-speed)) :frame-num 0.0) + (ja-no-eval :group! spider-egg-idle-ja :num! (seek! max (-> self anim-speed)) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek! max (-> self anim-speed))) @@ -298,7 +298,7 @@ (quaternion-from-two-vectors! s5-0 s4-0 s3-0) ) (quaternion*! s5-0 s5-0 gp-0) - (ja-no-eval :group! (-> self draw art-group data 11) :num! (seek! max 1.3) :frame-num 0.0) + (ja-no-eval :group! spider-egg-bounce-ja :num! (seek! max 1.3) :frame-num 0.0) (until (ja-done? 0) (let* ((f0-8 (ja-frame-num 0)) (v1-19 (ja-group)) @@ -311,7 +311,7 @@ ) ) (loop - (ja-no-eval :group! (-> self draw art-group data 9) :num! (seek! max (-> self anim-speed)) :frame-num 0.0) + (ja-no-eval :group! spider-egg-idle-ja :num! (seek! max (-> self anim-speed)) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek! max (-> self anim-speed))) @@ -353,7 +353,7 @@ ) (lods-assign! (-> self draw) (-> self broken-look)) (ja-channel-push! 1 (seconds 0.2)) - (ja-no-eval :group! (-> self draw art-group data 10) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! spider-egg-crack-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -388,7 +388,7 @@ (-> self root-override trans) :to *entity-pool* ) - (ja-no-eval :group! (-> self draw art-group data 12) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! spider-egg-die-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -424,7 +424,7 @@ ) (lods-assign! (-> self draw) (-> self broken-look)) (ja-channel-push! 1 (seconds 0.1)) - (ja-no-eval :group! (-> self draw art-group data 12) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! spider-egg-die-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) diff --git a/goal_src/jak1/levels/maincave/mother-spider.gc b/goal_src/jak1/levels/maincave/mother-spider.gc index c8284d14a75..5cec1f37dc7 100644 --- a/goal_src/jak1/levels/maincave/mother-spider.gc +++ b/goal_src/jak1/levels/maincave/mother-spider.gc @@ -1016,7 +1016,7 @@ (go mother-spider-traveling (the-as uint 0)) ) (let ((gp-0 (new 'stack-no-clear 'vector))) - (vector<-cspace! gp-0 (-> self node-list data 6)) + (vector<-cspace! gp-0 (joint-node-index mother-spider-lod0-jg bodA)) (if (or (logtest? (-> *target* state-flags) (state-flags being-attacked invulnerable timed-invulnerable invuln-powerup do-not-notice dying) ) @@ -1054,7 +1054,7 @@ (set! (-> gp-2 quad) (-> self root-override trans quad)) (set! (-> gp-2 w) 4096.0) (when (sphere-in-view-frustum? (the-as sphere gp-2)) - (vector<-cspace! gp-2 (-> self node-list data 21)) + (vector<-cspace! gp-2 (joint-node-index mother-spider-lod0-jg jaw)) (set! (-> s5-2 quad) (-> (target-pos 0) quad)) (+! (-> s5-2 y) 4915.2) (cond @@ -1154,7 +1154,7 @@ (s5-0 (new 'stack-no-clear 'vector)) (s2-0 (new 'stack-no-clear 'vector)) ) - (vector<-cspace! s4-0 (-> self node-list data 21)) + (vector<-cspace! s4-0 (joint-node-index mother-spider-lod0-jg jaw)) (set! (-> s5-0 quad) (-> (target-pos 0) quad)) (+! (-> s5-0 y) 4915.2) (when (< 24576.0 (vector-vector-distance s5-0 s4-0)) diff --git a/goal_src/jak1/levels/misty/babak-with-cannon.gc b/goal_src/jak1/levels/misty/babak-with-cannon.gc index 622e6cf9424..cb97e03d917 100644 --- a/goal_src/jak1/levels/misty/babak-with-cannon.gc +++ b/goal_src/jak1/levels/misty/babak-with-cannon.gc @@ -103,7 +103,7 @@ nav-enemy-default-event-handler :code (behavior () (ja-channel-push! 1 (seconds 0.075)) (loop - (ja-no-eval :group! (-> self draw art-group data 8) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! babak-charge-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -221,7 +221,7 @@ nav-enemy-default-event-handler ) ) (ja-channel-push! 1 (seconds 0.1)) - (ja-no-eval :group! (-> self draw art-group data 17) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! babak-look-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -241,7 +241,7 @@ nav-enemy-default-event-handler (nav-enemy-initialize-jump (-> self entity extra trans)) (nav-enemy-neck-control-look-at) (logclear! (-> self nav-enemy-flags) (nav-enemy-flags enable-rotate enable-travel)) - (ja-no-eval :group! (-> self draw art-group data 17) :num! (seek! 0.0 2.0) :frame-num max) + (ja-no-eval :group! babak-look-ja :num! (seek! 0.0 2.0) :frame-num max) (until (ja-done? 0) (suspend) (ja :num! (seek! 0.0 2.0)) diff --git a/goal_src/jak1/levels/misty/misty-obs.gc b/goal_src/jak1/levels/misty/misty-obs.gc index 95d2a251fee..304c0aa265e 100644 --- a/goal_src/jak1/levels/misty/misty-obs.gc +++ b/goal_src/jak1/levels/misty/misty-obs.gc @@ -1198,7 +1198,7 @@ :event mis-bone-bridge-event-handler :trans rider-trans :code (behavior () - (ja-no-eval :group! (-> self draw art-group data 6) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! mis-bone-bridge-bumped-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -1216,7 +1216,7 @@ (if (zero? (-> self hit-points)) (go mis-bone-bridge-fall #f) ) - (ja-no-eval :group! (-> self draw art-group data 5) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! mis-bone-bridge-kicked-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -1617,7 +1617,7 @@ ) :code (behavior () (ja-channel-push! 1 (seconds 0.1)) - (ja :group! (-> self draw art-group data 2)) + (ja :group! mis-bone-platform-idle-ja) (ja :num-func num-func-identity :frame-num 0.0) (loop (suspend) diff --git a/goal_src/jak1/levels/misty/misty-teetertotter.gc b/goal_src/jak1/levels/misty/misty-teetertotter.gc index 2d39af3b968..25ac96e9c6c 100644 --- a/goal_src/jak1/levels/misty/misty-teetertotter.gc +++ b/goal_src/jak1/levels/misty/misty-teetertotter.gc @@ -62,7 +62,7 @@ ) ) :code (behavior () - (ja :group! (-> self draw art-group data 4) :num! min) + (ja :group! teetertotter-idle-ja :num! min) (loop (suspend) ) @@ -107,7 +107,7 @@ ) :code (behavior () (set! (-> self launched-player) #f) - (ja-no-eval :group! (-> self draw art-group data 4) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! teetertotter-idle-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (let ((f0-4 (ja-aframe-num 0))) (set! (-> self in-launch-window) (and (>= f0-4 76.0) (>= 82.0 f0-4))) @@ -125,7 +125,7 @@ (defstate teetertotter-bend (teetertotter) :code (behavior () - (ja-no-eval :group! (-> self draw art-group data 5) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! teetertotter-landing-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) diff --git a/goal_src/jak1/levels/misty/misty-warehouse.gc b/goal_src/jak1/levels/misty/misty-warehouse.gc index 63fda804014..7a223667644 100644 --- a/goal_src/jak1/levels/misty/misty-warehouse.gc +++ b/goal_src/jak1/levels/misty/misty-warehouse.gc @@ -42,7 +42,7 @@ ) ) :code (behavior () - (ja :group! (-> self draw art-group data 2) :num! min) + (ja :group! silostep-idle-ja :num! min) (transform-post) (loop (suspend) @@ -105,7 +105,7 @@ :code (behavior ((arg0 symbol)) (process-entity-status! self (entity-perm-status complete) #t) (when (not arg0) - (ja-no-eval :group! (-> self draw art-group data 2) :num! (seek! (-> self anim-limit)) :frame-num 0.0) + (ja-no-eval :group! silostep-idle-ja :num! (seek! (-> self anim-limit)) :frame-num 0.0) (until (ja-done? 0) (rider-trans) (rider-post) @@ -113,7 +113,7 @@ (ja :num! (seek! (-> self anim-limit))) ) ) - (ja :group! (-> self draw art-group data 2) :num! (identity (-> self anim-limit))) + (ja :group! silostep-idle-ja :num! (identity (-> self anim-limit))) (rider-post) (loop (ja-post) diff --git a/goal_src/jak1/levels/misty/quicksandlurker.gc b/goal_src/jak1/levels/misty/quicksandlurker.gc index 61a600e5d24..8f4688c80aa 100644 --- a/goal_src/jak1/levels/misty/quicksandlurker.gc +++ b/goal_src/jak1/levels/misty/quicksandlurker.gc @@ -695,7 +695,9 @@ (defbehavior quicksandlurker-spit quicksandlurker () (let ((gp-0 (new-stack-vector0))) (let ((s5-0 (new-stack-vector0))) - (set! (-> gp-0 quad) (-> (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 9)) quad)) + (set! (-> gp-0 quad) + (-> (vector<-cspace! (new 'stack-no-clear 'vector) (joint-node-index quicksandlurker-lod0-jg jawEND)) quad) + ) (vector-! s5-0 (target-pos 5) gp-0) (let ((f1-0 (vector-xz-length s5-0))) (set! (-> s5-0 y) (fmin (-> s5-0 y) (* 0.5 f1-0))) diff --git a/goal_src/jak1/levels/ogre/ogre-obs.gc b/goal_src/jak1/levels/ogre/ogre-obs.gc index 2d6322888a7..1c501171e06 100644 --- a/goal_src/jak1/levels/ogre/ogre-obs.gc +++ b/goal_src/jak1/levels/ogre/ogre-obs.gc @@ -880,7 +880,7 @@ 0 ) ) - (ja-no-eval :group! (-> self draw art-group data 3) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! ogre-bridge-assemble-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (if (rand-vu-percent? 0.2) (spawn-projectile-blue *target*) @@ -910,7 +910,7 @@ ) ) :code (behavior () - (ja :group! (-> self draw art-group data 3) :num! max) + (ja :group! ogre-bridge-assemble-ja :num! max) (transform-post) (loop (suspend) @@ -946,7 +946,7 @@ ) ) :code (behavior () - (ja-no-eval :group! (-> self draw art-group data 4) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! ogre-bridge-break-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) diff --git a/goal_src/jak1/levels/racer_common/racer-states.gc b/goal_src/jak1/levels/racer_common/racer-states.gc index 642c08f281f..99c2be412ac 100644 --- a/goal_src/jak1/levels/racer_common/racer-states.gc +++ b/goal_src/jak1/levels/racer_common/racer-states.gc @@ -367,7 +367,7 @@ ) :code (behavior () (cond - ((ja-group? (-> self draw art-group data 138)) + ((ja-group? eichar-racer-get-on-ja) (ja-no-eval :num! (seek!)) (while (not (ja-done? 0)) (suspend) @@ -375,7 +375,7 @@ ) ) ((let ((v1-16 (ja-group))) - (or (or (= v1-16 (-> self draw art-group data 130)) (= v1-16 (-> self draw art-group data 131))) + (or (or (= v1-16 eichar-racer-jump-small-ja) (= v1-16 eichar-racer-jump-small-loop-ja)) (> (-> self racer bounce) 0) ) ) @@ -444,12 +444,12 @@ (set! (-> self racer bounce) 0) (loop (let ((gp-3 (current-time))) - (when (not (ja-group? (-> self draw art-group data 123))) + (when (not (ja-group? eichar-racer-turn-ja)) (ja-channel-push! 4 (seconds 0.1)) - (ja :group! (-> self draw art-group data 123) :num! (identity (ja-aframe (-> self racer turn-anim-frame) 0))) - (ja :chan 1 :group! (-> self draw art-group data 124) :num! (chan 0)) - (ja :chan 2 :group! (-> self draw art-group data 125) :num! (chan 0)) - (ja :chan 3 :group! (-> self draw art-group data 126) :num! (chan 0)) + (ja :group! eichar-racer-turn-ja :num! (identity (ja-aframe (-> self racer turn-anim-frame) 0))) + (ja :chan 1 :group! eichar-racer-turn2-ja :num! (chan 0)) + (ja :chan 2 :group! eichar-racer-dig-ja :num! (chan 0)) + (ja :chan 3 :group! eichar-racer-dig2-ja :num! (chan 0)) ) (while (not (time-elapsed? gp-3 (seconds 1))) (if (or (!= (-> *cpad-list* cpads (-> self control unknown-cpad-info00 number) stick0-speed) 0.0) @@ -463,9 +463,9 @@ (suspend) ) ) - (when (not (ja-group? (-> self draw art-group data 133))) + (when (not (ja-group? eichar-racer-stance-ja)) (ja-channel-push! 1 (seconds 0.4)) - (ja :group! (-> self draw art-group data 133) :num! min) + (ja :group! eichar-racer-stance-ja :num! min) ) (while (not (or (!= (-> *cpad-list* cpads (-> self control unknown-cpad-info00 number) stick0-speed) 0.0) (or (cpad-hold? (-> self control unknown-cpad-info00 number) l1 r1 x) @@ -655,12 +655,12 @@ ) :code (behavior ((arg0 float) (arg1 float) (arg2 symbol)) (target-racing-land-anim arg2) - (when (not (ja-group? (-> self draw art-group data 123))) + (when (not (ja-group? eichar-racer-turn-ja)) (ja-channel-push! 4 (seconds 0.1)) - (ja :group! (-> self draw art-group data 123) :num! (identity (ja-aframe (-> self racer turn-anim-frame) 0))) - (ja :chan 1 :group! (-> self draw art-group data 124) :num! (chan 0)) - (ja :chan 2 :group! (-> self draw art-group data 125) :num! (chan 0)) - (ja :chan 3 :group! (-> self draw art-group data 126) :num! (chan 0)) + (ja :group! eichar-racer-turn-ja :num! (identity (ja-aframe (-> self racer turn-anim-frame) 0))) + (ja :chan 1 :group! eichar-racer-turn2-ja :num! (chan 0)) + (ja :chan 2 :group! eichar-racer-dig-ja :num! (chan 0)) + (ja :chan 3 :group! eichar-racer-dig2-ja :num! (chan 0)) ) (loop (target-racing-turn-anim) @@ -700,9 +700,9 @@ :code (behavior ((arg0 float) (arg1 symbol)) (sound-play "zoomer-crash-2") (ja-channel-push! 2 (seconds 0.05)) - (ja-no-eval :group! (-> self draw art-group data 136) :num! (seek!)) + (ja-no-eval :group! eichar-racer-smack-ja :num! (seek!)) (ja :chan 1 - :group! (-> self draw art-group data 122) + :group! eichar-racer-idle-ja :num! (identity (ja-aframe 0.0 0)) :frame-interp (lerp-scale 1.0 0.25 arg0 0.0 122880.0) ) @@ -822,7 +822,7 @@ (else (set! (-> self post-hook) target-racing-post) (ja-channel-push! 1 (seconds 0.05)) - (ja-no-eval :group! (-> self draw art-group data 136) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! eichar-racer-smack-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -925,7 +925,7 @@ (case (-> self attack-info mode) (('balloonlurker) (create-splash (-> self water) 2.0 (-> self control trans) 1 (-> self control transv)) - (ja-no-eval :group! (-> self draw art-group data 139) :num! (seek! (ja-aframe 240.0 0)) :frame-num 0.0) + (ja-no-eval :group! eichar-racer-death-explode-ja :num! (seek! (ja-aframe 240.0 0)) :frame-num 0.0) (until (ja-done? 0) (set! (-> self racer stick-lock) #t) (seek! (-> self control unknown-vector11 y) 6144.0 (* 12288.0 (seconds-per-frame))) @@ -935,7 +935,7 @@ ) ) (else - (ja-no-eval :group! (-> self draw art-group data 139) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! eichar-racer-death-explode-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (set! (-> self racer stick-lock) #t) (send-event *camera* 'joystick 0.0 1.0) @@ -1077,7 +1077,7 @@ (gp-1 #f) ) (ja-channel-push! 1 (seconds 0.05)) - (ja-no-eval :group! (-> self draw art-group data 138) :num! (seek! (ja-aframe 77.0 0)) :frame-num 0.0) + (ja-no-eval :group! eichar-racer-get-on-ja :num! (seek! (ja-aframe 77.0 0)) :frame-num 0.0) (until (ja-done? 0) (when (and (not s5-1) (= (-> self skel root-channel 0) (-> self skel channel))) (send-event (ppointer->process (-> self manipy)) 'anim-mode 'clone-anim) @@ -1179,12 +1179,12 @@ (set! (-> a0-4 0 deactivate-when-hidden) #t) ) ) - (when (not (ja-group? (-> self draw art-group data 123))) + (when (not (ja-group? eichar-racer-turn-ja)) (ja-channel-push! 4 (seconds 0.1)) - (ja :group! (-> self draw art-group data 123) :num! (identity (ja-aframe (-> self racer turn-anim-frame) 0))) - (ja :chan 1 :group! (-> self draw art-group data 124) :num! (chan 0)) - (ja :chan 2 :group! (-> self draw art-group data 125) :num! (chan 0)) - (ja :chan 3 :group! (-> self draw art-group data 126) :num! (chan 0)) + (ja :group! eichar-racer-turn-ja :num! (identity (ja-aframe (-> self racer turn-anim-frame) 0))) + (ja :chan 1 :group! eichar-racer-turn2-ja :num! (chan 0)) + (ja :chan 2 :group! eichar-racer-dig-ja :num! (chan 0)) + (ja :chan 3 :group! eichar-racer-dig2-ja :num! (chan 0)) ) (let ((s5-1 (current-time))) (until (time-elapsed? s5-1 (seconds 0.5)) @@ -1236,7 +1236,7 @@ (set! (-> self control unknown-vector103 quad) (-> s4-1 quad)) ) (ja-channel-push! 1 (seconds 0.05)) - (ja-no-eval :group! (-> self draw art-group data 137) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! eichar-racer-get-off-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -1248,7 +1248,7 @@ ) (rot->dir-targ! (-> self control)) (ja-post) - (vector<-cspace! gp-1 (-> self node-list data 3)) + (vector<-cspace! gp-1 (joint-node-index eichar-lod0-jg main)) (+! (-> gp-1 y) -5896.192) (move-to-point! (-> self control) gp-1) ) @@ -1320,7 +1320,7 @@ ) :code (behavior ((arg0 symbol)) (ja-channel-set! 1) - (ja-no-eval :group! (-> self draw art-group data 35) :num! (seek!) :frame-num (ja-aframe 42.0 0)) + (ja-no-eval :group! eichar-jump-land-ja :num! (seek!) :frame-num (ja-aframe 42.0 0)) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -1367,12 +1367,12 @@ ((-> target-racing-start exit)) ) :code (behavior () - (when (not (ja-group? (-> self draw art-group data 123))) + (when (not (ja-group? eichar-racer-turn-ja)) (ja-channel-push! 4 (seconds 0.1)) - (ja :group! (-> self draw art-group data 123) :num! (identity (ja-aframe (-> self racer turn-anim-frame) 0))) - (ja :chan 1 :group! (-> self draw art-group data 124) :num! (chan 0)) - (ja :chan 2 :group! (-> self draw art-group data 125) :num! (chan 0)) - (ja :chan 3 :group! (-> self draw art-group data 126) :num! (chan 0)) + (ja :group! eichar-racer-turn-ja :num! (identity (ja-aframe (-> self racer turn-anim-frame) 0))) + (ja :chan 1 :group! eichar-racer-turn2-ja :num! (chan 0)) + (ja :chan 2 :group! eichar-racer-dig-ja :num! (chan 0)) + (ja :chan 3 :group! eichar-racer-dig2-ja :num! (chan 0)) ) (loop (target-racing-turn-anim) diff --git a/goal_src/jak1/levels/racer_common/target-racer.gc b/goal_src/jak1/levels/racer_common/target-racer.gc index fd77da2d64a..d92c9f426e1 100644 --- a/goal_src/jak1/levels/racer_common/target-racer.gc +++ b/goal_src/jak1/levels/racer_common/target-racer.gc @@ -1087,7 +1087,7 @@ (ja-channel-push! 1 arg1) (ja-channel-push! 1 (seconds 0.125)) ) - (ja-no-eval :group! (-> self draw art-group data 130) :num! (seek!) :frame-num f30-0) + (ja-no-eval :group! eichar-racer-jump-small-ja :num! (seek!) :frame-num f30-0) (set! s4-0 s5-0) ) ) @@ -1103,8 +1103,8 @@ ) ) (ja-channel-set! 2) - (ja :group! (-> self draw art-group data 131) :num! min) - (ja :chan 1 :group! (-> self draw art-group data 132) :num! (identity (ja-aframe 44.0 0))) + (ja :group! eichar-racer-jump-small-loop-ja :num! min) + (ja :chan 1 :group! eichar-racer-jump-small-land-ja :num! (identity (ja-aframe 44.0 0))) (let ((f30-1 0.0)) (loop (suspend) @@ -1125,7 +1125,7 @@ (ja-channel-push! 1 (seconds 0.07)) (cond ((= arg0 'high-jump) - (ja-no-eval :group! (-> self draw art-group data 135) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! eichar-racer-jump-high-land-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (if (>= (-> self racer slide-mode) 0) (goto cfg-23) @@ -1135,7 +1135,7 @@ ) ) ((= arg0 'jump) - (ja-no-eval :group! (-> self draw art-group data 129) :num! (seek!) :frame-num (ja-aframe 44.0 0)) + (ja-no-eval :group! eichar-racer-jump-land-ja :num! (seek!) :frame-num (ja-aframe 44.0 0)) (until (ja-done? 0) (if (>= (-> self racer slide-mode) 0) (goto cfg-23) @@ -1145,7 +1145,7 @@ ) ) (else - (ja-no-eval :group! (-> self draw art-group data 132) :num! (seek!) :frame-num (ja-aframe 44.0 0)) + (ja-no-eval :group! eichar-racer-jump-small-land-ja :num! (seek!) :frame-num (ja-aframe 44.0 0)) (until (ja-done? 0) (if (>= (-> self racer slide-mode) 0) (goto cfg-23) diff --git a/goal_src/jak1/levels/rolling/rolling-lightning-mole.gc b/goal_src/jak1/levels/rolling/rolling-lightning-mole.gc index 6fea209f953..d1d1a1ff333 100644 --- a/goal_src/jak1/levels/rolling/rolling-lightning-mole.gc +++ b/goal_src/jak1/levels/rolling/rolling-lightning-mole.gc @@ -574,9 +574,9 @@ ) (defbehavior lightning-mole-run-code lightning-mole () - (when (!= (ja-group) (-> self draw art-group data 7)) + (when (!= (ja-group) lightning-mole-run-ja) (ja-channel-push! 1 (seconds 0.2)) - (ja :group! (-> self draw art-group data 7)) + (ja :group! lightning-mole-run-ja) ) (loop (ja :num! (loop! (-> self speed-adjust))) @@ -674,7 +674,7 @@ :trans (behavior () (when (task-closed? (-> self entity extra perm task) (task-status need-introduction)) (ja-channel-set! 1) - (ja :group! (-> self draw art-group data 5)) + (ja :group! lightning-mole-idle-ja) (restore-collide-with-as (-> self collide-info)) (go-virtual nav-enemy-idle) ) @@ -717,7 +717,7 @@ ) (ambient-hint-spawn "gamcam20" (the-as vector #f) *entity-pool* 'camera) (ja-channel-push! 1 (seconds 0.2)) - (ja-no-eval :group! (-> self draw art-group data 12) :num! (seek! max f30-0) :frame-num 0.0) + (ja-no-eval :group! lightning-mole-dive-ja :num! (seek! max f30-0) :frame-num 0.0) (until (ja-done? 0) (let ((s5-0 (new 'stack-no-clear 'vector))) (set! (-> *camera-other-fov* data) 11650.845) @@ -783,7 +783,7 @@ :code (behavior () (ja-channel-push! 1 (seconds 0.2)) (let ((f30-0 (nav-enemy-rnd-float-range 0.9 1.1))) - (ja-no-eval :group! (-> self draw art-group data 10) :num! (seek! max f30-0) :frame-num 0.0) + (ja-no-eval :group! lightning-mole-yelp-ja :num! (seek! max f30-0) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek! max f30-0)) @@ -1284,7 +1284,7 @@ ) :code (behavior () (loop - (ja-no-eval :group! (-> self draw art-group data 13) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! lightning-mole-peep-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) diff --git a/goal_src/jak1/levels/rolling/rolling-obs.gc b/goal_src/jak1/levels/rolling/rolling-obs.gc index 3f74b5492ac..d977a0ece49 100644 --- a/goal_src/jak1/levels/rolling/rolling-obs.gc +++ b/goal_src/jak1/levels/rolling/rolling-obs.gc @@ -266,7 +266,7 @@ (dark-plant-randomize self) (logclear! (-> self draw status) (draw-status hidden)) (sound-play "darkvine-grow") - (ja-no-eval :group! (-> self draw art-group data 4) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! dark-plant-sprout-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -315,7 +315,7 @@ (spawn (-> self part) (-> self root trans)) (ja-channel-push! 1 (seconds 0.2)) (sound-play "darkvine-kill") - (ja-no-eval :group! (-> self draw art-group data 3) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! dark-plant-death-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -350,17 +350,15 @@ ) ) (let ((gp-1 (-> self skel root-channel 0))) - (set! (-> gp-1 frame-group) (the-as art-joint-anim (-> self draw art-group data 2))) - (set! (-> gp-1 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 2)) data 0 length) -1)) - ) + (set! (-> gp-1 frame-group) (the-as art-joint-anim dark-plant-idle-ja)) + (set! (-> gp-1 param 0) (the float (+ (-> (the-as art-joint-anim dark-plant-idle-ja) data 0 length) -1))) (let ((f30-1 0.9) (f28-0 0.25) ) (set! (-> gp-1 param 1) (+ f30-1 (* f28-0 (rand-float-gen)))) ) (set! (-> gp-1 frame-num) 0.0) - (joint-control-channel-group! gp-1 (the-as art-joint-anim (-> self draw art-group data 2)) num-func-seek!) + (joint-control-channel-group! gp-1 (the-as art-joint-anim dark-plant-idle-ja) num-func-seek!) ) (until (ja-done? 0) (suspend) @@ -383,13 +381,11 @@ :trans dark-plant-trans :code (behavior () (let ((gp-0 (-> self skel root-channel 0))) - (set! (-> gp-0 frame-group) (the-as art-joint-anim (-> self draw art-group data 2))) - (set! (-> gp-0 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 2)) data 0 length) -1)) - ) + (set! (-> gp-0 frame-group) (the-as art-joint-anim dark-plant-idle-ja)) + (set! (-> gp-0 param 0) (the float (+ (-> (the-as art-joint-anim dark-plant-idle-ja) data 0 length) -1))) (set! (-> gp-0 param 1) 1.0) (set! (-> gp-0 frame-num) (* (rand-float-gen) (the float (ja-num-frames 0)))) - (joint-control-channel-group! gp-0 (the-as art-joint-anim (-> self draw art-group data 2)) num-func-seek!) + (joint-control-channel-group! gp-0 (the-as art-joint-anim dark-plant-idle-ja) num-func-seek!) ) (until (ja-done? 0) (suspend) @@ -498,7 +494,7 @@ (defstate happy-plant-opened (happy-plant) :code (behavior () (loop - (ja-no-eval :group! (-> self draw art-group data 4) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! happy-plant-idle-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -553,11 +549,11 @@ :command-list '((0 send-event target draw #f) (10000 send-event target draw #t)) ) (the-as art-joint-anim #f) - (the-as art-joint-anim (-> self draw art-group data 4)) + (the-as art-joint-anim happy-plant-idle-ja) (the-as (function process-drawable symbol) false-func) ) (ja-channel-set! 1) - (ja :group! (-> self draw art-group data 4)) + (ja :group! happy-plant-idle-ja) (if (handle->process (the-as int gp-2)) (deactivate (-> gp-2 process 0)) ) @@ -565,7 +561,7 @@ (when gp-3 (send-event gp-3 'stop-cloning) (let ((s5-4 (new-stack-vector0))) - (vector<-cspace! s5-4 (-> self node-list data 25)) + (vector<-cspace! s5-4 (joint-node-index happy-plant-lod0-jg fuelcell)) (send-event gp-3 'trans s5-4) ) ) @@ -773,19 +769,19 @@ ) ) :code (behavior ((arg0 symbol)) - (ja-no-eval :group! (-> self draw art-group data 5) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! rolling-start-break-whole-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) ) (lods-assign! (-> self draw) (-> self broken-look)) - (ja-no-eval :group! (-> self draw art-group data 6) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! rolling-start-break-broken-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) ) (loop - (ja-no-eval :group! (-> self draw art-group data 7) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! rolling-start-broken-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -813,7 +809,7 @@ :code (behavior () (lods-assign! (-> self draw) (-> self whole-look)) (loop - (ja-no-eval :group! (-> self draw art-group data 4) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! rolling-start-idle-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) diff --git a/goal_src/jak1/levels/rolling/rolling-robber.gc b/goal_src/jak1/levels/rolling/rolling-robber.gc index 3259a49ff00..593522f7ed4 100644 --- a/goal_src/jak1/levels/rolling/rolling-robber.gc +++ b/goal_src/jak1/levels/rolling/rolling-robber.gc @@ -12,7 +12,7 @@ :trans hide-hud-quick :code (behavior ((arg0 handle) (arg1 float) (arg2 float)) (logclear! (-> self mask) (process-mask actor-pause)) - (ja :group! (-> self draw art-group data 2)) + (ja :group! fuel-cell-idle-ja) (if *target* (process-grab? *target*) ) @@ -369,7 +369,7 @@ ) ) (when gp-0 - (ja-no-eval :group! (-> self draw art-group data 8) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! robber-death-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (robber-calc-speed 4096.0 8192.0 122880.0 122880.0 #f) (robber-move) @@ -405,9 +405,9 @@ ) ) :code (behavior () - (when (not (ja-group? (-> self draw art-group data 7))) + (when (not (ja-group? robber-fly-ja)) (ja-channel-push! 1 (seconds 0.2)) - (ja :group! (-> self draw art-group data 7)) + (ja :group! robber-fly-ja) ) (loop (ja :num! (loop! (robber-calc-anim-speed))) @@ -440,9 +440,9 @@ ) :code (behavior () (loop - (when (not (ja-group? (-> self draw art-group data 7))) + (when (not (ja-group? robber-fly-ja)) (ja-channel-push! 1 (seconds 0.2)) - (ja :group! (-> self draw art-group data 7)) + (ja :group! robber-fly-ja) ) (ja :num! (loop! (robber-calc-anim-speed))) (robber-calc-speed 32768.0 122880.0 122060.8 20480.0 #f) @@ -451,7 +451,7 @@ (suspend) (when (time-elapsed? (-> self last-ambient-time) (-> self time-to-next-ambient)) (ja-channel-push! 1 (seconds 0.2)) - (ja-no-eval :group! (-> self draw art-group data 11) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! robber-ambient-look-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (robber-calc-speed 32768.0 122880.0 122060.8 20480.0 #f) (robber-move) @@ -507,9 +507,9 @@ ) :code (behavior () (loop - (when (not (ja-group? (-> self draw art-group data 7))) + (when (not (ja-group? robber-fly-ja)) (ja-channel-push! 1 (seconds 0.2)) - (ja :group! (-> self draw art-group data 7)) + (ja :group! robber-fly-ja) ) (ja :num! (loop! (robber-calc-anim-speed))) (robber-calc-speed 61440.0 122880.0 204800.0 16384.0 #t) @@ -518,7 +518,7 @@ (suspend) (when (time-elapsed? (-> self last-ambient-time) (-> self time-to-next-ambient)) (ja-channel-push! 1 (seconds 0.2)) - (ja-no-eval :group! (-> self draw art-group data 11) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! robber-ambient-look-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (robber-calc-speed 61440.0 122880.0 204800.0 16384.0 #t) (robber-move) @@ -560,7 +560,7 @@ :code (behavior () (ja-channel-push! 1 (seconds 0.2)) (loop - (ja-no-eval :group! (-> self draw art-group data 10) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! robber-idle-hover-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -599,7 +599,7 @@ ) (ja-channel-push! 1 (seconds 0.2)) (loop - (ja-no-eval :group! (-> self draw art-group data 6) :num! (seek! max 2.0) :frame-num 0.0) + (ja-no-eval :group! robber-spots-ja :num! (seek! max 2.0) :frame-num 0.0) (until (ja-done? 0) (robber-calc-speed 61440.0 122880.0 2048.0 2048.0 #t) (robber-rotate (the-as target #f) 1820.4445) @@ -628,7 +628,7 @@ :code (behavior () (ja-channel-push! 1 (seconds 0.2)) (loop - (ja-no-eval :group! (-> self draw art-group data 5) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! robber-idle-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) diff --git a/goal_src/jak1/levels/snow/ice-cube.gc b/goal_src/jak1/levels/snow/ice-cube.gc index bb46873783b..feefe27116d 100644 --- a/goal_src/jak1/levels/snow/ice-cube.gc +++ b/goal_src/jak1/levels/snow/ice-cube.gc @@ -814,9 +814,9 @@ :event ice-cube-default-event-handler :code (behavior () (let ((gp-0 (new 'stack-no-clear 'vector))) - (vector<-cspace! gp-0 (-> self node-list data 29)) + (vector<-cspace! gp-0 (joint-node-index ice-cube-lod0-jg Rball)) (spawn (-> self part4) gp-0) - (vector<-cspace! gp-0 (-> self node-list data 25)) + (vector<-cspace! gp-0 (joint-node-index ice-cube-lod0-jg Lball)) (spawn (-> self part4) gp-0) ) (ja-channel-push! 1 (seconds 0.1)) @@ -958,9 +958,9 @@ ) (label cfg-26) (let ((gp-1 (new 'stack-no-clear 'vector))) - (vector<-cspace! gp-1 (-> self node-list data 29)) + (vector<-cspace! gp-1 (joint-node-index ice-cube-lod0-jg Rball)) (spawn (-> self part4) gp-1) - (vector<-cspace! gp-1 (-> self node-list data 25)) + (vector<-cspace! gp-1 (joint-node-index ice-cube-lod0-jg Lball)) (spawn (-> self part4) gp-1) ) (ja-no-eval :group! ice-cube-appear-land-ja :num! (seek!) :frame-num 0.0) @@ -1091,9 +1091,9 @@ ) (label cfg-26) (let ((gp-1 (new 'stack-no-clear 'vector))) - (vector<-cspace! gp-1 (-> self node-list data 29)) + (vector<-cspace! gp-1 (joint-node-index ice-cube-lod0-jg Rball)) (spawn (-> self part4) gp-1) - (vector<-cspace! gp-1 (-> self node-list data 25)) + (vector<-cspace! gp-1 (joint-node-index ice-cube-lod0-jg Lball)) (spawn (-> self part4) gp-1) ) (ja-no-eval :group! ice-cube-turn-on-player-land-ja :num! (seek!) :frame-num 0.0) @@ -1203,9 +1203,9 @@ ) (when (zero? (nav-enemy-rnd-int-count 45)) (let ((gp-3 (new 'stack-no-clear 'vector))) - (vector<-cspace! gp-3 (-> self node-list data 29)) + (vector<-cspace! gp-3 (joint-node-index ice-cube-lod0-jg Rball)) (spawn (-> self part4) gp-3) - (vector<-cspace! gp-3 (-> self node-list data 25)) + (vector<-cspace! gp-3 (joint-node-index ice-cube-lod0-jg Lball)) (spawn (-> self part4) gp-3) ) ) @@ -1338,7 +1338,7 @@ :code (behavior () (logclear! (-> self mask) (process-mask actor-pause)) (let ((gp-0 (new 'stack-no-clear 'vector))) - (vector<-cspace! gp-0 (-> self node-list data 3)) + (vector<-cspace! gp-0 (joint-node-index ice-cube-lod0-jg main)) (spawn (-> self part3) gp-0) ) (drop-pickup (-> self enemy-info) #t *entity-pool* (-> self enemy-info) 0) diff --git a/goal_src/jak1/levels/snow/snow-flutflut-obs.gc b/goal_src/jak1/levels/snow/snow-flutflut-obs.gc index 9160fe00fd4..a4619292e3f 100644 --- a/goal_src/jak1/levels/snow/snow-flutflut-obs.gc +++ b/goal_src/jak1/levels/snow/snow-flutflut-obs.gc @@ -245,7 +245,7 @@ ) ) :code (behavior () - (ja :group! (-> self draw art-group data 2) :num! min) + (ja :group! snow-button-going-down-ja :num! min) (transform-post) (logior! (-> self mask) (process-mask sleep-code)) (suspend) @@ -305,7 +305,7 @@ ) :code (behavior () (sound-play "prec-button1" :pitch -1) - (ja-no-eval :group! (-> self draw art-group data 2) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! snow-button-going-down-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -338,7 +338,7 @@ (until (time-elapsed? (-> self state-time) (seconds 0.6)) (suspend) ) - (ja-no-eval :group! (-> self draw art-group data 3) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! snow-button-going-up-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) diff --git a/goal_src/jak1/levels/snow/snow-obs.gc b/goal_src/jak1/levels/snow/snow-obs.gc index 792f80fdc7f..25e05e0b111 100644 --- a/goal_src/jak1/levels/snow/snow-obs.gc +++ b/goal_src/jak1/levels/snow/snow-obs.gc @@ -33,17 +33,17 @@ (let ((v1-0 (-> self seq))) (cond ((zero? v1-0) - (ja-no-eval :group! (-> self draw art-group data 2) :num! (seek! max 0.2) :frame-num 0.0) + (ja-no-eval :group! snowcam-gearstart-ja :num! (seek! max 0.2) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek! max 0.2)) ) - (ja-no-eval :group! (-> self draw art-group data 3) :num! (seek! max 0.25) :frame-num 0.0) + (ja-no-eval :group! snowcam-gate-ja :num! (seek! max 0.25) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek! max 0.25)) ) - (ja-no-eval :group! (-> self draw art-group data 4) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! snowcam-gearend-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -85,13 +85,13 @@ ) ) ((= v1-0 2) - (ja-no-eval :group! (-> self draw art-group data 5) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! snowcam-eggtop-activating-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) ) (send-event (handle->process (-> self notify-handle)) 'notify 'cut) - (ja-no-eval :group! (-> self draw art-group data 6) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! snowcam-ecovent-activating-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -296,7 +296,7 @@ ) :code (behavior () (ja-channel-push! 1 0) - (ja :group! (-> self draw art-group data 2) :num! min) + (ja :group! snow-eggtop-idle-ja :num! min) (transform-post) (loop (logior! (-> self mask) (process-mask sleep-code)) @@ -368,7 +368,7 @@ ) (change-sound! (-> self sound) (static-sound-name "snw-eggtop-seq")) (save-reminder (get-task-control (-> self entity extra perm task)) 2 4) - (ja-no-eval :group! (-> self draw art-group data 2) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! snow-eggtop-idle-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (if (-> self play-sound?) (update! (-> self sound)) @@ -416,7 +416,7 @@ ) ) (ja-channel-push! 1 0) - (ja :group! (-> self draw art-group data 2) :num! max) + (ja :group! snow-eggtop-idle-ja :num! max) (transform-post) (logior! (-> self mask) (process-mask sleep-code)) (suspend) @@ -905,7 +905,7 @@ ) ) :code (behavior () - (ja :group! (-> self draw art-group data 2) :num! min) + (ja :group! snow-fort-gate-idle-ja :num! min) (set! (-> self root-override trans quad) (-> self closed-trans quad)) (transform-post) (suspend) @@ -971,7 +971,7 @@ (defstate snow-fort-gate-idle-open (snow-fort-gate) :code (behavior () - (ja :group! (-> self draw art-group data 2) :num! min) + (ja :group! snow-fort-gate-idle-ja :num! min) (set! (-> self root-override trans quad) (-> self open-trans quad)) (transform-post) (suspend) @@ -1162,7 +1162,7 @@ ) ) :code (behavior () - (ja :group! (-> self draw art-group data 2) :num! min) + (ja :group! snow-gears-idle-ja :num! min) (ja-post) (loop (logior! (-> self mask) (process-mask sleep-code)) @@ -1177,19 +1177,19 @@ ) :code (behavior () (sound-play "eng-start-up") - (ja-no-eval :group! (-> self draw art-group data 3) :num! (seek! max 0.85) :frame-num 0.0) + (ja-no-eval :group! snow-gears-start-ja :num! (seek! max 0.85) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek! max 0.85)) ) - (ja-no-eval :group! (-> self draw art-group data 4) :num! (seek! max 0.35) :frame-num 0.0) + (ja-no-eval :group! snow-gears-loop-ja :num! (seek! max 0.35) :frame-num 0.0) (until (ja-done? 0) (update! (-> self sound)) (suspend) (ja :num! (seek! max 0.35)) ) (set-time! (-> self state-time)) - (ja :group! (-> self draw art-group data 2) :num! min) + (ja :group! snow-gears-idle-ja :num! min) (until (time-elapsed? (-> self state-time) (seconds 2)) (update! (-> self sound)) (suspend) @@ -1207,7 +1207,7 @@ (snow-gears-method-20 self) ) :code (behavior () - (ja-no-eval :group! (-> self draw art-group data 4) :num! (seek! max 0.35) :frame-num 0.0) + (ja-no-eval :group! snow-gears-loop-ja :num! (seek! max 0.35) :frame-num 0.0) (until (ja-done? 0) (update! (-> self sound)) (suspend) @@ -1215,7 +1215,7 @@ ) (stop! (-> self sound)) (sound-play "eng-shut-down") - (ja-no-eval :group! (-> self draw art-group data 5) :num! (seek! max 0.85) :frame-num 0.0) + (ja-no-eval :group! snow-gears-stop-ja :num! (seek! max 0.85) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek! max 0.85)) @@ -1530,7 +1530,7 @@ ) :code (behavior () (ja-channel-push! 1 0) - (ja :group! (-> self draw art-group data 2) :num! min) + (ja :group! snow-log-activate-ja :num! min) (transform-post) (logior! (-> self mask) (process-mask sleep-code)) (suspend) @@ -1553,7 +1553,7 @@ (activate! *camera-smush-control* 819.2 37 150 1.0 0.99) (ja-channel-push! 1 0) (let ((gp-0 #f)) - (ja-no-eval :group! (-> self draw art-group data 2) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! snow-log-activate-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (when (and (not gp-0) (>= (ja-frame-num 0) 5.0)) (set! gp-0 #t) @@ -1580,7 +1580,7 @@ (s5-0 #t) ) (loop - (ja-no-eval :group! (-> self draw art-group data 3) :num! (seek! max 0.25) :frame-num 0.0) + (ja-no-eval :group! snow-log-active-loop-ja :num! (seek! max 0.25) :frame-num 0.0) (until (ja-done? 0) (let ((f0-4 (ja-aframe-num 0))) (cond diff --git a/goal_src/jak1/levels/snow/snow-ram-boss.gc b/goal_src/jak1/levels/snow/snow-ram-boss.gc index 3cdfdf3fd88..b2fb0dc5bf9 100644 --- a/goal_src/jak1/levels/snow/snow-ram-boss.gc +++ b/goal_src/jak1/levels/snow/snow-ram-boss.gc @@ -1341,7 +1341,7 @@ ) :code (behavior ((arg0 basic)) (ja-channel-push! 1 (seconds 0.8)) - (ja-no-eval :group! (-> self draw art-group data 16) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! ram-boss-dismount-start-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (let ((gp-0 (new 'stack-no-clear 'vector))) (vector-! gp-0 (target-pos 0) (-> self collide-info trans)) @@ -1363,7 +1363,7 @@ :code (behavior () (logior! (-> self nav-enemy-flags) (nav-enemy-flags navenmf2)) (activate! *camera-smush-control* 409.6 37 150 1.0 0.99) - (ja-no-eval :group! (-> self draw art-group data 17) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! ram-boss-dismount-hit-ground-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -1614,31 +1614,31 @@ ((< 5461.3335 (-> self last-turn-speed)) (cond ((-> self has-shield?) - (when (not (ja-group? (-> self draw art-group data 7))) + (when (not (ja-group? ram-boss-forward-defend-tracking-ja)) (ja-channel-push! 2 (seconds 0.2)) - (ja :group! (-> self draw art-group data 7) :num! min) - (ja :chan 1 :group! (-> self draw art-group data 22) :num! (chan 0) :frame-interp f30-0) + (ja :group! ram-boss-forward-defend-tracking-ja :num! min) + (ja :chan 1 :group! ram-boss-up-defend-tracking-ja :num! (chan 0) :frame-interp f30-0) ) ) (else - (when (not (ja-group? (-> self draw art-group data 20))) + (when (not (ja-group? ram-boss-forward-defend-tracking-no-shield-ja)) (ja-channel-push! 1 (seconds 0.2)) - (ja :group! (-> self draw art-group data 20) :num! min) + (ja :group! ram-boss-forward-defend-tracking-no-shield-ja :num! min) ) ) ) ) ((-> self has-shield?) - (when (not (ja-group? (-> self draw art-group data 6))) + (when (not (ja-group? ram-boss-forward-defend-ja)) (ja-channel-push! 2 (seconds 0.2)) - (ja :group! (-> self draw art-group data 6) :num! min) - (ja :chan 1 :group! (-> self draw art-group data 21) :num! (chan 0) :frame-interp f30-0) + (ja :group! ram-boss-forward-defend-ja :num! min) + (ja :chan 1 :group! ram-boss-up-defend-ja :num! (chan 0) :frame-interp f30-0) ) ) (else - (when (not (ja-group? (-> self draw art-group data 24))) + (when (not (ja-group? ram-boss-forward-defend-no-shield-ja)) (ja-channel-push! 1 (seconds 0.2)) - (ja :group! (-> self draw art-group data 24) :num! min) + (ja :group! ram-boss-forward-defend-no-shield-ja :num! min) ) ) ) @@ -1664,7 +1664,7 @@ ) :code (behavior () (ja-channel-push! 1 (seconds 0.1)) - (ja-no-eval :group! (-> self draw art-group data 8) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! ram-boss-forward-defend-block-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -1685,7 +1685,7 @@ ) :code (behavior () (ja-channel-push! 1 (seconds 0.1)) - (ja-no-eval :group! (-> self draw art-group data 9) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! ram-boss-up-defend-block-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -1755,14 +1755,14 @@ (ja-channel-push! 1 (seconds 0.075)) (cond ((-> self has-shield?) - (ja-no-eval :group! (-> self draw art-group data 10) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! ram-boss-throw-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) ) ) (else - (ja-no-eval :group! (-> self draw art-group data 23) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! ram-boss-throw-no-shield-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -1800,10 +1800,10 @@ (set! (-> self nav target-pos quad) (-> gp-0 quad)) ) (ja-channel-push! 1 (seconds 0.1)) - (ja-no-eval :group! (-> self draw art-group data 18) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! ram-boss-lose-shield-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (let ((gp-1 (new 'stack-no-clear 'vector))) - (vector<-cspace! gp-1 (-> self node-list data 32)) + (vector<-cspace! gp-1 (joint-node-index ram-boss-lod0-jg shield)) (spawn (-> self part) gp-1) ) (suspend) diff --git a/goal_src/jak1/levels/snow/target-ice.gc b/goal_src/jak1/levels/snow/target-ice.gc index f96c6303805..e7757527d3b 100644 --- a/goal_src/jak1/levels/snow/target-ice.gc +++ b/goal_src/jak1/levels/snow/target-ice.gc @@ -58,27 +58,27 @@ (let ((gp-0 60)) (let ((v1-2 (ja-group))) (cond - ((or (= v1-2 (-> self draw art-group data 34)) (= v1-2 (-> self draw art-group data 38))) + ((or (= v1-2 eichar-jump-ja) (= v1-2 eichar-jump-loop-ja)) (set! gp-0 21) ) - ((ja-group? (-> self draw art-group data 71)) - (ja-no-eval :group! (-> self draw art-group data 72) :num! (seek!) :frame-num 0.0) + ((ja-group? eichar-wheel-flip-ja) + (ja-no-eval :group! eichar-wheel-flip-land-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) ) ) - ((ja-group? (-> self draw art-group data 51)) + ((ja-group? eichar-attack-from-stance-ja) (cond ((rand-vu-percent? 0.3) - (ja-no-eval :group! (-> self draw art-group data 53) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! eichar-attack-from-stance-alt-end-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) ) ) (else - (ja-no-eval :group! (-> self draw art-group data 52) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! eichar-attack-from-stance-end-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -86,27 +86,27 @@ ) ) ) - ((ja-group? (-> self draw art-group data 78)) - (ja-no-eval :group! (-> self draw art-group data 79) :num! (seek!) :frame-num 0.0) + ((ja-group? eichar-smack-surface-ja) + (ja-no-eval :group! eichar-smack-surface-end-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) ) ) - ((ja-group? (-> self draw art-group data 84)) - (ja-no-eval :group! (-> self draw art-group data 85) :num! (seek!) :frame-num 0.0) + ((ja-group? eichar-yellow-running-blast-ja) + (ja-no-eval :group! eichar-yellow-running-blast-end-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) ) (set! gp-0 0) ) - ((ja-group? (-> self draw art-group data 59)) + ((ja-group? eichar-attack-punch-ja) (set! (-> self control unknown-float81) (-> self control unknown-float80)) (set! (-> self control unknown-surface00) *walk-no-turn-mods*) (ja-no-eval :group! (if (rand-vu-percent? 0.3) - (-> self draw art-group data 61) - (-> self draw art-group data 60) + eichar-attack-punch-alt-end-ja + eichar-attack-punch-end-ja ) :num! (seek!) :frame-num 0.0 @@ -121,10 +121,10 @@ (rot->dir-targ! (-> self control)) ) ((let ((v1-188 (ja-group))) - (or (= v1-188 (-> self draw art-group data 31)) (= v1-188 (-> self draw art-group data 32))) + (or (= v1-188 eichar-duck-stance-ja) (= v1-188 eichar-duck-walk-ja)) ) (ja-channel-push! 1 (seconds 0.04)) - (ja-no-eval :group! (-> self draw art-group data 30) :num! (seek! 0.0 1.2) :frame-num max) + (ja-no-eval :group! eichar-stance-to-duck-ja :num! (seek! 0.0 1.2) :frame-num max) (until (ja-done? 0) (suspend) (ja :num! (seek! 0.0 1.2)) @@ -135,20 +135,20 @@ ) (while (< 16384.0 (-> self control unknown-float01)) (cond - ((ja-group? (-> self draw art-group data 103)) + ((ja-group? eichar-ice-slide-ja) ) (else (ja-channel-push! 1 (the-as time-frame gp-0)) (set! gp-0 150) - (ja :group! (-> self draw art-group data 103)) + (ja :group! eichar-ice-slide-ja) ) ) (suspend) (ja :num! (loop!)) ) - (when (not (ja-group? (-> self draw art-group data 104))) + (when (not (ja-group? eichar-ice-stance-ja)) (ja-channel-push! 1 (the-as time-frame gp-0)) - (ja :group! (-> self draw art-group data 104)) + (ja :group! eichar-ice-stance-ja) ) ) (loop @@ -196,7 +196,7 @@ (when (and (not (move-legs?)) (let ((gp-0 (ja-group)) (f0-1 (ja-aframe-num 0)) ) - (if (and (= gp-0 (-> self draw art-group data 102)) (>= f0-1 30.0) (>= 35.0 f0-1)) + (if (and (= gp-0 eichar-ice-skate-ja) (>= f0-1 30.0) (>= 35.0 f0-1)) #t ) ) @@ -235,18 +235,18 @@ ) :code (behavior () (cond - ((ja-group? (-> self draw art-group data 23)) + ((ja-group? eichar-walk-ja) (let ((f30-0 (ja-aframe-num 0))) (ja-channel-push! 1 (seconds 0.1)) - (ja :group! (-> self draw art-group data 102) :num! (identity f30-0)) + (ja :group! eichar-ice-skate-ja :num! (identity f30-0)) ) ) - ((ja-group? (-> self draw art-group data 102)) + ((ja-group? eichar-ice-skate-ja) ) (else (let ((v1-18 (ja-group))) (cond - ((or (= v1-18 (-> self draw art-group data 60)) (= v1-18 (-> self draw art-group data 61))) + ((or (= v1-18 eichar-attack-punch-end-ja) (= v1-18 eichar-attack-punch-alt-end-ja)) (set! (-> self control unknown-float81) (-> self control unknown-float80)) (set! (-> self control unknown-surface00) *walk-no-turn-mods*) (while (< (ja-aframe-num 0) 42.0) @@ -256,15 +256,15 @@ (set! (-> self control unknown-surface00) *walk-mods*) (set! (-> self control unknown-float81) 0.0) (ja-channel-push! 1 (seconds 0.1)) - (ja :group! (-> self draw art-group data 102) :num! (identity (ja-aframe 34.0 0))) + (ja :group! eichar-ice-skate-ja :num! (identity (ja-aframe 34.0 0))) (while (!= (-> self skel root-channel 0) (-> self skel channel)) (suspend) ) ) - ((ja-group? (-> self draw art-group data 59)) + ((ja-group? eichar-attack-punch-ja) (set! (-> self control unknown-float81) (-> self control unknown-float80)) (set! (-> self control unknown-surface00) *walk-no-turn-mods*) - (ja-no-eval :group! (-> self draw art-group data 60) :num! (seek! (ja-aframe 42.0 0)) :frame-num 0.0) + (ja-no-eval :group! eichar-attack-punch-end-ja :num! (seek! (ja-aframe 42.0 0)) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek! (ja-aframe 42.0 0))) @@ -272,14 +272,14 @@ (set! (-> self control unknown-surface00) *walk-mods*) (set! (-> self control unknown-float81) 0.0) (ja-channel-push! 1 (seconds 0.1)) - (ja :group! (-> self draw art-group data 102) :num! (identity (ja-aframe 34.0 0))) + (ja :group! eichar-ice-skate-ja :num! (identity (ja-aframe 34.0 0))) (while (!= (-> self skel root-channel 0) (-> self skel channel)) (suspend) ) ) (else (ja-channel-push! 1 (seconds 0.05)) - (ja :group! (-> self draw art-group data 102)) + (ja :group! eichar-ice-skate-ja) ) ) ) diff --git a/goal_src/jak1/levels/snow/target-snowball.gc b/goal_src/jak1/levels/snow/target-snowball.gc index 552daa24301..824f46d61af 100644 --- a/goal_src/jak1/levels/snow/target-snowball.gc +++ b/goal_src/jak1/levels/snow/target-snowball.gc @@ -105,7 +105,7 @@ (move-by-vector! (-> self control) (new 'static 'vector :y 4096.0 :w 1.0)) (logior! (-> self control root-prim prim-core action) (collide-action snowball)) (ja-channel-set! 1) - (ja :group! (-> self draw art-group data 5) :num! min) + (ja :group! eichar-stance-loop-ja :num! min) (remove-exit) (go target-snowball) ) diff --git a/goal_src/jak1/levels/sunken/double-lurker.gc b/goal_src/jak1/levels/sunken/double-lurker.gc index c3840d8fe0d..52ddcbd4994 100644 --- a/goal_src/jak1/levels/sunken/double-lurker.gc +++ b/goal_src/jak1/levels/sunken/double-lurker.gc @@ -278,7 +278,7 @@ :code (behavior () (logclear! (-> self mask) (process-mask actor-pause)) (ja-channel-push! 1 (seconds 0.1)) - (ja-no-eval :group! double-lurker-bottom-take-hit-ja :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! double-lurker-top-on-shoulders-die-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -313,7 +313,7 @@ (let ((gp-0 (new 'stack-no-clear 'vector))) (set! (-> gp-0 quad) (-> self collide-info trans quad)) (ja-channel-push! 1 (seconds 0.1)) - (ja-no-eval :group! double-lurker-both-break-apart-ja :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! double-lurker-top-both-break-apart-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (vector-lerp! (-> self collide-info trans) @@ -485,7 +485,7 @@ (cond (arg2 (ja-channel-set! 1) - (ja :group! double-lurker-both-idle-ja :num! min) + (ja :group! double-lurker-top-both-idle-ja :num! min) (transform-post) (let ((v1-13 (-> self draw shadow-ctrl))) (logior! (-> v1-13 settings flags) (shadow-flags disable-draw)) @@ -495,7 +495,7 @@ ) (else (ja-channel-set! 1) - (ja :group! double-lurker-idle-ja :num! min) + (ja :group! double-lurker-top-idle-ja :num! min) (transform-post) (move-to-ground (-> self collide-info) 40960.0 40960.0 #t (collide-kind background)) (nav-enemy-method-51 self) diff --git a/goal_src/jak1/levels/sunken/helix-water.gc b/goal_src/jak1/levels/sunken/helix-water.gc index ad2e9bc04a5..a5a10148a02 100644 --- a/goal_src/jak1/levels/sunken/helix-water.gc +++ b/goal_src/jak1/levels/sunken/helix-water.gc @@ -154,7 +154,7 @@ (defstate helix-slide-door-close (helix-slide-door) :code (behavior () - (ja-no-eval :group! (-> self draw art-group data 2) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! helix-slide-door-idle-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) diff --git a/goal_src/jak1/levels/sunken/orbit-plat.gc b/goal_src/jak1/levels/sunken/orbit-plat.gc index 5ded55f4818..08069f5e160 100644 --- a/goal_src/jak1/levels/sunken/orbit-plat.gc +++ b/goal_src/jak1/levels/sunken/orbit-plat.gc @@ -255,7 +255,7 @@ (set! (-> self part2) (create-launch-control (-> *part-group-id-table* 107) self)) (initialize-skeleton self *orbit-plat-bottom-sg* '()) (ja-channel-set! 1) - (ja :group! orbit-plat-idle-ja :num! min) + (ja :group! orbit-plat-bottom-idle-ja :num! min) (go orbit-plat-bottom-idle) (none) ) diff --git a/goal_src/jak1/levels/sunken/sun-exit-chamber.gc b/goal_src/jak1/levels/sunken/sun-exit-chamber.gc index a5849d2407b..fc8e2c4af25 100644 --- a/goal_src/jak1/levels/sunken/sun-exit-chamber.gc +++ b/goal_src/jak1/levels/sunken/sun-exit-chamber.gc @@ -296,7 +296,7 @@ (set! (-> self rest-pos quad) (-> self root trans quad)) (initialize-skeleton self *blue-eco-charger-orb-sg* '()) (ja-channel-set! 1) - (ja :group! (-> self draw art-group data 2) :num! min) + (ja :group! blue-eco-charger-orb-idle-ja :num! min) (set-vector! (-> self orbit-rot) 0.0 0.0 0.0 1.0) (go blue-eco-charger-orb-idle) (none) @@ -342,7 +342,7 @@ :code (behavior () (set! (-> self open-level) 0.0) (ja-channel-set! 1) - (ja :group! (-> self draw art-group data 2) :num! min) + (ja :group! blue-eco-charger-open-ja :num! min) (loop (when (logtest? (-> self draw status) (draw-status was-drawn)) (if (and (and *target* (>= 16384.0 (vector-vector-distance (-> self root-override trans) (-> *target* control trans)))) @@ -778,7 +778,7 @@ (suspend) (set-time! (-> self state-time)) (let ((gp-1 #f)) - (ja-no-eval :group! (-> self draw art-group data 3) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! exit-chamber-start-door-shut-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (when (and (not gp-1) (time-elapsed? (-> self state-time) (seconds 0.75)) (-> self door)) (set! gp-1 #t) @@ -789,13 +789,13 @@ ) ) (set! (-> self move-player?) #t) - (ja-no-eval :group! (-> self draw art-group data 4) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! exit-chamber-start-in-room-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) ) (load-state-want-levels 'sunken 'village2) - (ja-no-eval :group! (-> self draw art-group data 5) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! exit-chamber-middle-in-water-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (exit-chamber-method-24 self 51200.0) (update-trans! (-> self sound) (-> self last-pos)) @@ -807,7 +807,7 @@ (load-state-want-display-level 'village2 'display) (load-state-want-display-level 'sunken 'special) (let ((gp-2 #f)) - (ja-no-eval :group! (-> self draw art-group data 6) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! exit-chamber-end-out-of-water-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (seek! (-> self wave-scale) 1.0 0.0016666667) (exit-chamber-method-20 self (-> self wave-scale)) @@ -980,7 +980,7 @@ (let ((gp-1 #f) (s5-0 #f) ) - (ja-no-eval :group! (-> self draw art-group data 7) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! exit-chamber-dive-start-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (when (and (not gp-1) (time-elapsed? (-> self state-time) (seconds 0.25)) (-> self door)) (set! gp-1 #t) @@ -1004,7 +1004,7 @@ ) (load-state-want-levels 'sunken 'sunkenb) (kill-and-free-particles (-> self part)) - (ja-no-eval :group! (-> self draw art-group data 8) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! exit-chamber-dive-middle-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (exit-chamber-method-24 self 47104.0) (update-trans! (-> self sound) (-> self last-pos)) @@ -1015,7 +1015,7 @@ (stop! (-> self sound)) (load-state-want-display-level 'sunkenb 'display) (load-state-want-vis 'sub) - (ja-no-eval :group! (-> self draw art-group data 9) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! exit-chamber-dive-end-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) diff --git a/goal_src/jak1/levels/sunken/sunken-fish.gc b/goal_src/jak1/levels/sunken/sunken-fish.gc index fb807b379b2..f77f1d83a5e 100644 --- a/goal_src/jak1/levels/sunken/sunken-fish.gc +++ b/goal_src/jak1/levels/sunken/sunken-fish.gc @@ -199,7 +199,7 @@ ) :code (behavior () (loop - (ja-no-eval :group! (-> self draw art-group data 6) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! sunkenfisha-idle-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) diff --git a/goal_src/jak1/levels/sunken/sunken-obs.gc b/goal_src/jak1/levels/sunken/sunken-obs.gc index e04b03ea46e..b71b0f22711 100644 --- a/goal_src/jak1/levels/sunken/sunken-obs.gc +++ b/goal_src/jak1/levels/sunken/sunken-obs.gc @@ -165,12 +165,12 @@ (let ((v1-0 (-> self seq))) (cond ((zero? v1-0) - (ja-no-eval :group! (-> self draw art-group data 5) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! sunkencam-start-door-shut-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) ) - (ja-no-eval :group! (-> self draw art-group data 6) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! sunkencam-start-in-room-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -180,14 +180,14 @@ (set! (-> v1-45 color) (new 'static 'rgba :g #x20 :b #x40 :a #x50)) ) (set-blackout-frames (seconds 0.1)) - (ja-no-eval :group! (-> self draw art-group data 7) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! sunkencam-middle-in-water-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) ) (set-blackout-frames (seconds 0.5)) (let ((gp-0 2)) - (ja-no-eval :group! (-> self draw art-group data 8) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! sunkencam-end-out-of-water-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (+! gp-0 -1) (if (zero? gp-0) @@ -200,7 +200,7 @@ (set-blackout-frames (seconds 0.1)) ) ((= v1-0 1) - (ja-no-eval :group! (-> self draw art-group data 9) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! sunkencam-dive-start-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -210,14 +210,14 @@ (set! (-> v1-116 color) (new 'static 'rgba :g #x20 :b #x40 :a #x50)) ) (set-blackout-frames (seconds 0.1)) - (ja-no-eval :group! (-> self draw art-group data 10) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! sunkencam-dive-middle-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) ) (set-blackout-frames (seconds 0.1)) (let ((gp-1 2)) - (ja-no-eval :group! (-> self draw art-group data 11) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! sunkencam-dive-end-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (+! gp-1 -1) (if (zero? gp-1) @@ -238,18 +238,18 @@ ) ) ((= v1-0 2) - (ja-no-eval :group! (-> self draw art-group data 16) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! sunkencam-helix-hit-switch-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) ) - (ja-no-eval :group! (-> self draw art-group data 17) :num! (seek! max 0.67) :frame-num 0.0) + (ja-no-eval :group! sunkencam-helix-door-shuts-ja :num! (seek! max 0.67) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek! max 0.67)) ) (pov-camera-play-and-reposition - (the-as art-joint-anim (-> self draw art-group data 18)) + (the-as art-joint-anim sunkencam-helix-show-rising-water-ja) (new 'static 'vector :x 2449408.0 :y -1822720.0 :z -7299072.0) 0.67 ) @@ -257,7 +257,7 @@ ((= v1-0 3) (ambient-hint-spawn "gamcam34" (the-as vector #f) *entity-pool* 'camera) (pov-camera-play-and-reposition - (the-as art-joint-anim (-> self draw art-group data 12)) + (the-as art-joint-anim sunkencam-square-platform-setup1-rise1-ja) (new 'static 'vector :x 2707456.0 :y -630784.0 :z -6635520.0) 1.0 ) @@ -265,7 +265,7 @@ ((= v1-0 4) (ambient-hint-spawn "gamcam35" (the-as vector #f) *entity-pool* 'camera) (pov-camera-play-and-reposition - (the-as art-joint-anim (-> self draw art-group data 13)) + (the-as art-joint-anim sunkencam-square-platform-setup1-rise2-ja) (new 'static 'vector :x 2834432.0 :y -634880.0 :z -6811648.0) 1.3 ) @@ -277,7 +277,7 @@ ((= v1-0 5) (ambient-hint-spawn "gamcam37" (the-as vector #f) *entity-pool* 'camera) (pov-camera-play-and-reposition - (the-as art-joint-anim (-> self draw art-group data 14)) + (the-as art-joint-anim sunkencam-square-platform-setup2-rise1-ja) (new 'static 'vector :x 2695168.0 :y -544768.0 :z -7077888.0) 1.0 ) @@ -285,7 +285,7 @@ ((= v1-0 6) (ambient-hint-spawn "gamcam36" (the-as vector #f) *entity-pool* 'camera) (pov-camera-play-and-reposition - (the-as art-joint-anim (-> self draw art-group data 15)) + (the-as art-joint-anim sunkencam-square-platform-setup2-rise2-ja) (new 'static 'vector :x 2482176.0 :y -516096.0 :z -6922240.0) 1.0 ) @@ -326,7 +326,7 @@ (ja-eval) ) (loop - (ja-no-eval :group! (-> self draw art-group data 2) :num! (seek! max (-> self anim-speed)) :frame-num 0.0) + (ja-no-eval :group! seaweed-idle-ja :num! (seek! max (-> self anim-speed)) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek! max (-> self anim-speed))) diff --git a/goal_src/jak1/levels/sunken/target-tube.gc b/goal_src/jak1/levels/sunken/target-tube.gc index 4ac9bc3604e..91271a9e1a6 100644 --- a/goal_src/jak1/levels/sunken/target-tube.gc +++ b/goal_src/jak1/levels/sunken/target-tube.gc @@ -585,7 +585,7 @@ ) (set-time-ratios *display* (the float gp-0)) ) - (ja :group! (-> self draw art-group data 105) :num! (identity (ja-aframe (-> self tube turn-anim-frame) 0))) + (ja :group! eichar-tube-turn-ja :num! (identity (ja-aframe (-> self tube turn-anim-frame) 0))) 0 (none) ) @@ -612,9 +612,9 @@ ) :code (behavior () (case (ja-group) - (((-> self draw art-group data 41) (-> self draw art-group data 38)) + ((eichar-duck-high-jump-ja eichar-jump-loop-ja) (ja-channel-push! 1 (seconds 0.04)) - (ja-no-eval :group! (-> self draw art-group data 106) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! eichar-tube-jump-land-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -658,7 +658,7 @@ ) :code (behavior ((arg0 float) (arg1 float)) (ja-channel-push! 1 (seconds 0.05)) - (ja :group! (-> self draw art-group data 41) :num! (identity (ja-aframe 16.0 0))) + (ja :group! eichar-duck-high-jump-ja :num! (identity (ja-aframe 16.0 0))) (let ((f30-0 35.0) (f28-0 1.0) ) @@ -681,10 +681,10 @@ (suspend) ) ) - (ja-no-eval :group! (-> self draw art-group data 38) :num! (loop!) :frame-num 0.0) + (ja-no-eval :group! eichar-jump-loop-ja :num! (loop!) :frame-num 0.0) (loop (suspend) - (ja :group! (-> self draw art-group data 38) :num! (loop!)) + (ja :group! eichar-jump-loop-ja :num! (loop!)) ) ) :post (-> target-tube post) @@ -821,7 +821,7 @@ (set! (-> self control transv quad) (the-as uint128 0)) (set! (-> self control unknown-surface00) *neutral-mods*) (ja-channel-push! 1 (seconds 0.1)) - (ja-no-eval :group! (-> self draw art-group data 76) :num! (seek! (ja-aframe 134.0 0)) :frame-num 0.0) + (ja-no-eval :group! eichar-deatha-ja :num! (seek! (ja-aframe 134.0 0)) :frame-num 0.0) (until (ja-done? 0) (compute-alignment! (-> self align)) (let ((gp-2 (new 'stack-no-clear 'vector))) diff --git a/goal_src/jak1/levels/sunken/wedge-plats.gc b/goal_src/jak1/levels/sunken/wedge-plats.gc index 701487d87ca..8cc8e75d5a6 100644 --- a/goal_src/jak1/levels/sunken/wedge-plats.gc +++ b/goal_src/jak1/levels/sunken/wedge-plats.gc @@ -146,19 +146,13 @@ ) :trans plat-trans :code (behavior () - (ja-no-eval :group! (-> self draw art-group data 3) - :num! (seek! (ja-aframe 60.0 0)) - :frame-num (ja-aframe 0.0 0) - ) + (ja-no-eval :group! wedge-plat-tip-ja :num! (seek! (ja-aframe 60.0 0)) :frame-num (ja-aframe 0.0 0)) (until (ja-done? 0) (wedge-plat-method-27 self) (suspend) (ja :num! (seek! (ja-aframe 60.0 0))) ) - (ja-no-eval :group! (-> self draw art-group data 3) - :num! (seek! (ja-aframe 100.0 0)) - :frame-num (ja-aframe 60.0 0) - ) + (ja-no-eval :group! wedge-plat-tip-ja :num! (seek! (ja-aframe 100.0 0)) :frame-num (ja-aframe 60.0 0)) (until (ja-done? 0) (wedge-plat-method-27 self) (suspend) @@ -170,10 +164,7 @@ (wedge-plat-method-27 self) (suspend) ) - (ja-no-eval :group! (-> self draw art-group data 3) - :num! (seek! (ja-aframe 153.0 0)) - :frame-num (ja-aframe 100.0 0) - ) + (ja-no-eval :group! wedge-plat-tip-ja :num! (seek! (ja-aframe 153.0 0)) :frame-num (ja-aframe 100.0 0)) (until (ja-done? 0) (wedge-plat-method-27 self) (suspend) @@ -305,19 +296,13 @@ ) :trans plat-trans :code (behavior () - (ja-no-eval :group! (-> self draw art-group data 3) - :num! (seek! (ja-aframe 60.0 0)) - :frame-num (ja-aframe 0.0 0) - ) + (ja-no-eval :group! wedge-plat-outer-tip-ja :num! (seek! (ja-aframe 60.0 0)) :frame-num (ja-aframe 0.0 0)) (until (ja-done? 0) (wedge-plat-method-27 self) (suspend) (ja :num! (seek! (ja-aframe 60.0 0))) ) - (ja-no-eval :group! (-> self draw art-group data 3) - :num! (seek! (ja-aframe 100.0 0)) - :frame-num (ja-aframe 60.0 0) - ) + (ja-no-eval :group! wedge-plat-outer-tip-ja :num! (seek! (ja-aframe 100.0 0)) :frame-num (ja-aframe 60.0 0)) (until (ja-done? 0) (wedge-plat-method-27 self) (suspend) @@ -329,10 +314,7 @@ (wedge-plat-method-27 self) (suspend) ) - (ja-no-eval :group! (-> self draw art-group data 3) - :num! (seek! (ja-aframe 153.0 0)) - :frame-num (ja-aframe 100.0 0) - ) + (ja-no-eval :group! wedge-plat-outer-tip-ja :num! (seek! (ja-aframe 153.0 0)) :frame-num (ja-aframe 100.0 0)) (until (ja-done? 0) (wedge-plat-method-27 self) (suspend) diff --git a/goal_src/jak1/levels/swamp/billy.gc b/goal_src/jak1/levels/swamp/billy.gc index 15f099c0395..406aa2aabaa 100644 --- a/goal_src/jak1/levels/swamp/billy.gc +++ b/goal_src/jak1/levels/swamp/billy.gc @@ -162,7 +162,7 @@ (send-event (handle->process (-> self snack)) 'eat) (sound-play "rat-gulp") (ja-channel-push! 1 (seconds 0.05)) - (ja :group! (-> self draw art-group data 12)) + (ja :group! swamp-rat-eat-ja) (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) diff --git a/goal_src/jak1/levels/swamp/swamp-obs.gc b/goal_src/jak1/levels/swamp/swamp-obs.gc index 8bb613a26db..9e428f1127b 100644 --- a/goal_src/jak1/levels/swamp/swamp-obs.gc +++ b/goal_src/jak1/levels/swamp/swamp-obs.gc @@ -188,7 +188,7 @@ (set! (-> gp-0 w) (- (vector-dot gp-0 (-> self root-override trans)))) (loop (set-time! (-> self state-time)) - (ja :group! (-> self draw art-group data 3)) + (ja :group! swamp-spike-up-ja) (until (>= (get-current-phase (-> self sync)) 0.5) (ja :num-func num-func-identity :frame-num 0.0) (suspend) @@ -210,7 +210,7 @@ ) ) (else - (ja-no-eval :group! (-> self draw art-group data 5) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! swamp-spike-shake-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -229,7 +229,7 @@ ) ) (set! (-> self dangerous) #t) - (ja-no-eval :group! (-> self draw art-group data 3) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! swamp-spike-up-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -253,7 +253,7 @@ :to self ) ) - (ja-no-eval :group! (-> self draw art-group data 4) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! swamp-spike-down-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -280,7 +280,7 @@ ) :code (behavior () (set-time! (-> self state-time)) - (ja :group! (-> self draw art-group data 4)) + (ja :group! swamp-spike-down-ja) (until (-> self open-gate) (ja :num-func num-func-identity :frame-num 0.0) (suspend) @@ -296,7 +296,7 @@ (-> self root-override trans) :to self ) - (ja-no-eval :group! (-> self draw art-group data 4) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! swamp-spike-down-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -790,7 +790,7 @@ ) :code (behavior () (ja-channel-push! 1 (seconds 0.1)) - (ja :group! (-> self draw art-group data 3)) + (ja :group! tar-plat-idle-ja) (ja :num-func num-func-identity :frame-num 0.0) (loop (suspend) diff --git a/goal_src/jak1/levels/training/training-obs.gc b/goal_src/jak1/levels/training/training-obs.gc index c3546b71670..7077f7c3fb2 100644 --- a/goal_src/jak1/levels/training/training-obs.gc +++ b/goal_src/jak1/levels/training/training-obs.gc @@ -682,7 +682,7 @@ :code (behavior () (ja-channel-push! 1 (seconds 0.12)) (loop - (ja-no-eval :group! (-> self draw art-group data 5) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! scarecrow-a-idle-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -700,21 +700,21 @@ (ja-channel-push! 1 (seconds 0.07)) (cond ((< (fabs arg0) 8192.0) - (ja-no-eval :group! (-> self draw art-group data 8) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! scarecrow-a-hit-front-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) ) ) ((and (< 8192.0 arg0) (< arg0 24576.0)) - (ja-no-eval :group! (-> self draw art-group data 6) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! scarecrow-a-hit-left-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) ) ) (else - (ja-no-eval :group! (-> self draw art-group data 7) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! scarecrow-a-hit-right-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -818,7 +818,7 @@ :code (behavior () (ja-channel-push! 1 (seconds 0.12)) (loop - (ja-no-eval :group! (-> self draw art-group data 5) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! scarecrow-b-idle-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -836,21 +836,21 @@ (ja-channel-push! 1 (seconds 0.07)) (cond ((< (fabs arg0) 8192.0) - (ja-no-eval :group! (-> self draw art-group data 8) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! scarecrow-b-hit-front-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) ) ) ((and (< 8192.0 arg0) (< arg0 24576.0)) - (ja-no-eval :group! (-> self draw art-group data 6) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! scarecrow-b-hit-left-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) ) ) (else - (ja-no-eval :group! (-> self draw art-group data 7) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! scarecrow-b-hit-right-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) diff --git a/goal_src/jak1/levels/village1/assistant.gc b/goal_src/jak1/levels/village1/assistant.gc index b8b16bd2fa8..c1d331f2961 100644 --- a/goal_src/jak1/levels/village1/assistant.gc +++ b/goal_src/jak1/levels/village1/assistant.gc @@ -232,13 +232,19 @@ (countdown (gp-2 (+ (the int (* f30-0 (+ -1.0 (the-as float v1-77)))) 4)) (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) - (spawn (-> self part) (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 30))) + (spawn + (-> self part) + (vector<-cspace! (new 'stack-no-clear 'vector) (joint-node-index assistant-lod0-jg torchTIP)) + ) (suspend) (ja :num! (seek!)) ) (ja-no-eval :group! (ja-group) :num! (seek! 0.0) :frame-num max) (until (ja-done? 0) - (spawn (-> self part) (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 30))) + (spawn + (-> self part) + (vector<-cspace! (new 'stack-no-clear 'vector) (joint-node-index assistant-lod0-jg torchTIP)) + ) (suspend) (ja :num! (seek! 0.0)) ) diff --git a/goal_src/jak1/levels/village1/fishermans-boat.gc b/goal_src/jak1/levels/village1/fishermans-boat.gc index 7884b267ce9..3109d451b6a 100644 --- a/goal_src/jak1/levels/village1/fishermans-boat.gc +++ b/goal_src/jak1/levels/village1/fishermans-boat.gc @@ -721,7 +721,7 @@ (f28-0 (+ -1.0 (* 2.0 (-> self engine-sound-envelope)))) (gp-0 (new 'stack-no-clear 'vector)) ) - (vector<-cspace! gp-0 (-> self node-list data 4)) + (vector<-cspace! gp-0 (joint-node-index fishermans-boat-lod0-jg prop)) (sound-play "boat-engine" :id (-> self engine-sound-id) @@ -1415,7 +1415,7 @@ (send-event *target* 'blend-shape #f) (ja-channel-set! 1) (ja :group! fishermans-boat-idle-ja) - (vector<-cspace! (-> self root-overlay trans) (-> self node-list data 3)) + (vector<-cspace! (-> self root-overlay trans) (joint-node-index fishermans-boat-lod0-jg main)) (matrix->quaternion (-> self root-overlay quat) (-> self node-list data 3 bone transform)) (fishermans-boat-reset-physics) (transform-post) @@ -1533,7 +1533,7 @@ (send-event *target* 'blend-shape #f) (ja-channel-set! 1) (ja :group! fishermans-boat-idle-ja) - (vector<-cspace! (-> self root-overlay trans) (-> self node-list data 3)) + (vector<-cspace! (-> self root-overlay trans) (joint-node-index fishermans-boat-lod0-jg main)) (matrix->quaternion (-> self root-overlay quat) (-> self node-list data 3 bone transform)) (fishermans-boat-reset-physics) (transform-post) diff --git a/goal_src/jak1/levels/village1/village-obs.gc b/goal_src/jak1/levels/village1/village-obs.gc index 74c2ce8d5c7..7562ce0481f 100644 --- a/goal_src/jak1/levels/village1/village-obs.gc +++ b/goal_src/jak1/levels/village1/village-obs.gc @@ -684,7 +684,7 @@ (set! (-> self rotate-speed) 12743.111) (set! (-> self turn-time) (seconds 0.5)) (loop - (ja-no-eval :group! (-> self draw art-group data 2) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! villa-starfish-idle-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) diff --git a/goal_src/jak1/levels/village2/assistant-village2.gc b/goal_src/jak1/levels/village2/assistant-village2.gc index 00a7ae79a8b..bb4d24968ce 100644 --- a/goal_src/jak1/levels/village2/assistant-village2.gc +++ b/goal_src/jak1/levels/village2/assistant-village2.gc @@ -541,13 +541,19 @@ (countdown (gp-3 (+ (the int (* f30-1 (+ -1.0 (the-as float v1-114)))) 4)) (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) - (spawn (-> self part) (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 30))) + (spawn + (-> self part) + (vector<-cspace! (new 'stack-no-clear 'vector) (joint-node-index assistant-village2-lod0-jg torchTIP)) + ) (suspend) (ja :num! (seek!)) ) (ja-no-eval :group! (ja-group) :num! (seek! 0.0) :frame-num max) (until (ja-done? 0) - (spawn (-> self part) (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 30))) + (spawn + (-> self part) + (vector<-cspace! (new 'stack-no-clear 'vector) (joint-node-index assistant-village2-lod0-jg torchTIP)) + ) (suspend) (ja :num! (seek! 0.0)) ) @@ -555,7 +561,10 @@ ) (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) - (spawn (-> self part) (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 30))) + (spawn + (-> self part) + (vector<-cspace! (new 'stack-no-clear 'vector) (joint-node-index assistant-village2-lod0-jg torchTIP)) + ) (suspend) (ja :num! (seek!)) ) diff --git a/goal_src/jak1/levels/village2/swamp-blimp.gc b/goal_src/jak1/levels/village2/swamp-blimp.gc index 68d012090a8..69a1c5fc36b 100644 --- a/goal_src/jak1/levels/village2/swamp-blimp.gc +++ b/goal_src/jak1/levels/village2/swamp-blimp.gc @@ -1190,7 +1190,7 @@ (v1-11 (the-as number (logior #x3f800000 v1-10))) (f30-3 (+ f30-2 (* f28-1 (+ -1.0 (the-as float v1-11))))) ) - (ja-no-eval :group! (-> self draw art-group data 4) :num! (seek! max f30-3) :frame-num 0.0) + (ja-no-eval :group! swamp-rope-swing-ja :num! (seek! max f30-3) :frame-num 0.0) (until (ja-done? 0) (swamp-rope-break-code) (suspend) @@ -1249,7 +1249,7 @@ (defstate swamp-rope-idle-rock (swamp-rope) :trans swamp-rope-trans :code (behavior () - (ja :group! swamp-blimp-idle-ja) + (ja :group! swamp-rope-slack-ja) (loop (let* ((f0-1 (* 2000.0 (- (-> self old-scale) (-> self root scale y)))) (f1-3 (+ 0.5 f0-1)) @@ -1278,7 +1278,7 @@ (defstate swamp-rope-idle-arm (swamp-rope) :trans swamp-rope-trans :code (behavior () - (ja :group! swamp-blimp-idle-ja) + (ja :group! swamp-rope-slack-ja) (loop (let* ((a0-3 (-> self other-entity)) (v1-3 (if a0-3 diff --git a/goal_src/jak1/levels/village2/village2-obs.gc b/goal_src/jak1/levels/village2/village2-obs.gc index c1e07cf0c76..748f89ddbff 100644 --- a/goal_src/jak1/levels/village2/village2-obs.gc +++ b/goal_src/jak1/levels/village2/village2-obs.gc @@ -34,14 +34,14 @@ (let ((v1-0 (-> self seq))) (cond ((zero? v1-0) - (ja-no-eval :group! (-> self draw art-group data 2) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! village2cam-elevator-at-top-going-down-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) ) ) ((= v1-0 1) - (ja-no-eval :group! (-> self draw art-group data 3) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! village2cam-elevator-at-bottom-going-up-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -49,7 +49,7 @@ ) ((= v1-0 2) (pov-camera-play-and-reposition - (the-as art-joint-anim (-> self draw art-group data 4)) + (the-as art-joint-anim village2cam-elevator-at-top-going-up-ja) (new 'static 'vector :x 2199552.0 :y 40960.0 :z -6676480.0) 1.0 ) @@ -491,12 +491,30 @@ ) :trans (behavior () (when (>= (ja-aframe-num 0) 500.0) - (spawn (-> self part) (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 3))) - (spawn (-> self part) (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 4))) - (spawn (-> self part) (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 5))) - (spawn (-> self part) (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 6))) - (spawn (-> self part) (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 7))) - (spawn (-> self part) (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 9))) + (spawn + (-> self part) + (vector<-cspace! (new 'stack-no-clear 'vector) (joint-node-index allpontoons-lod0-jg 1)) + ) + (spawn + (-> self part) + (vector<-cspace! (new 'stack-no-clear 'vector) (joint-node-index allpontoons-lod0-jg 2)) + ) + (spawn + (-> self part) + (vector<-cspace! (new 'stack-no-clear 'vector) (joint-node-index allpontoons-lod0-jg 3)) + ) + (spawn + (-> self part) + (vector<-cspace! (new 'stack-no-clear 'vector) (joint-node-index allpontoons-lod0-jg 4)) + ) + (spawn + (-> self part) + (vector<-cspace! (new 'stack-no-clear 'vector) (joint-node-index allpontoons-lod0-jg 5)) + ) + (spawn + (-> self part) + (vector<-cspace! (new 'stack-no-clear 'vector) (joint-node-index allpontoons-lod0-jg 6)) + ) ) ) :code (behavior ((arg0 handle)) @@ -583,7 +601,7 @@ (defbehavior fireboulder-hover-stuff fireboulder () (local-vars (v0-1 object)) (let ((gp-0 (new 'stack-no-clear 'vector))) - (vector<-cspace! gp-0 (-> self node-list data 4)) + (vector<-cspace! gp-0 (joint-node-index fireboulder-lod0-jg bouldercenter)) (cond ((handle->process (-> self tracker)) (let ((v1-6 (-> (the-as (pointer part-tracker) (-> self tracker process)) 0))) @@ -625,7 +643,7 @@ :enter (behavior () (fireboulder-disable-blocking-collision) (ja-channel-set! 1) - (ja :group! (-> self draw art-group data 3)) + (ja :group! fireboulder-hover-ja) (logclear! (-> self draw status) (draw-status hidden)) (set! (-> self root-override trans quad) (-> self entity extra trans quad)) (vector-reset! (-> self draw origin)) @@ -633,7 +651,7 @@ (ja-post) (logclear! (-> self skel status) (janim-status inited)) (let ((gp-0 (new 'stack-no-clear 'vector))) - (vector<-cspace! gp-0 (-> self node-list data 4)) + (vector<-cspace! gp-0 (joint-node-index fireboulder-lod0-jg bouldercenter)) (vector-! (-> self draw bounds) gp-0 (-> self root-override trans)) ) (set! (-> self draw bounds w) 24576.0) @@ -1375,7 +1393,7 @@ ) ) (ja-channel-push! 1 (seconds 0.2)) - (ja-no-eval :group! (-> self draw art-group data 7) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! ogreboss-village2-pre-throw-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -1401,7 +1419,7 @@ ) ) (ja-channel-push! 1 (seconds 0.2)) - (ja-no-eval :group! (-> self draw art-group data 5) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! ogreboss-village2-throw-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -1419,7 +1437,7 @@ (let ((v1-0 (rand-vu-int-range 0 2))) (cond ((zero? v1-0) - (ja-no-eval :group! (-> self draw art-group data 2) :num! (seek! (ja-aframe 140.0 0)) :frame-num 0.0) + (ja-no-eval :group! ogreboss-village2-idle-ja :num! (seek! (ja-aframe 140.0 0)) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek! (ja-aframe 140.0 0))) @@ -1429,7 +1447,7 @@ (suspend) ) ) - (ja-no-eval :group! (-> self draw art-group data 2) + (ja-no-eval :group! ogreboss-village2-idle-ja :num! (seek! (ja-aframe 168.0 0)) :frame-num (ja-aframe 140.0 0) ) @@ -1442,14 +1460,14 @@ (suspend) ) ) - (ja-no-eval :group! (-> self draw art-group data 2) :num! (seek!) :frame-num (ja-aframe 168.0 0)) + (ja-no-eval :group! ogreboss-village2-idle-ja :num! (seek!) :frame-num (ja-aframe 168.0 0)) (until (ja-done? 0) (suspend) (ja :num! (seek!)) ) ) ((= v1-0 1) - (ja-no-eval :group! (-> self draw art-group data 4) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! ogreboss-village2-idle-alt-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -1457,7 +1475,7 @@ ) (else (dotimes (gp-7 4) - (ja-no-eval :group! (-> self draw art-group data 3) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! ogreboss-village2-idle-bored-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -1470,7 +1488,7 @@ (cond ((< 0.6666667 f0-33) (ja-channel-push! 1 (seconds 0.2)) - (ja-no-eval :group! (-> self draw art-group data 6) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! ogreboss-village2-victory-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) diff --git a/goal_src/jak1/levels/village3/minecart.gc b/goal_src/jak1/levels/village3/minecart.gc index 7e3378b51ea..62a4bdba3ba 100644 --- a/goal_src/jak1/levels/village3/minecart.gc +++ b/goal_src/jak1/levels/village3/minecart.gc @@ -55,7 +55,7 @@ (ja :num-func num-func-identity :frame-num (* (get-current-phase (-> self sync)) (the float (+ (-> (ja-group) data 0 length) -1))) ) - (let ((a1-1 (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 4)))) + (let ((a1-1 (vector<-cspace! (new 'stack-no-clear 'vector) (joint-node-index minecartsteel-lod0-jg cart)))) (update-trans! (-> self sound) a1-1) ) (update! (-> self sound)) @@ -103,7 +103,7 @@ spool-anim (cond ((zero? v1-33) - (-> self draw art-group data 5) + minecartsteel-rail0-ja ) ((= v1-33 1) (let ((a0-17 (-> self sync)) @@ -113,7 +113,7 @@ ) (t9-12 a0-17 (the-as uint a1-11) (- f0-7 (* (the float (the int (/ f0-7 1.0))) 1.0)) 0.15 0.15) ) - (-> self draw art-group data 6) + minecartsteel-rail1-ja ) (else (let ((a0-18 (-> self sync)) @@ -123,7 +123,7 @@ ) (t9-13 a0-18 (the-as uint a1-12) (- f0-10 (* (the float (the int (/ f0-10 1.0))) 1.0)) 0.15 0.15) ) - (-> self draw art-group data 7) + minecartsteel-rail2-ja ) ) ) diff --git a/goal_src/jak1/levels/village3/miners.gc b/goal_src/jak1/levels/village3/miners.gc index 53965621611..36d7ca1f00e 100644 --- a/goal_src/jak1/levels/village3/miners.gc +++ b/goal_src/jak1/levels/village3/miners.gc @@ -257,7 +257,10 @@ ) (defbehavior minershort-trans-hook minershort () - (spawn (-> self part) (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 14))) + (spawn + (-> self part) + (vector<-cspace! (new 'stack-no-clear 'vector) (joint-node-index minershort-lod0-jg candle)) + ) (none) ) diff --git a/goal_src/jak1/levels/village3/village3-obs.gc b/goal_src/jak1/levels/village3/village3-obs.gc index 844e1016b8c..2dfe3de7022 100644 --- a/goal_src/jak1/levels/village3/village3-obs.gc +++ b/goal_src/jak1/levels/village3/village3-obs.gc @@ -113,7 +113,7 @@ ) ) ) - (ja :group! (-> self draw art-group data 4)) + (ja :group! gondola-idle-up-ja) ) (else (set! (-> self anim) (new 'static 'spool-anim @@ -130,34 +130,35 @@ ) ) ) - (ja :group! (-> self draw art-group data 3)) + (ja :group! gondola-idle-down-ja) ) ) (transform-post) (loop - (when (and *target* (and (< (vector-vector-distance - (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 3)) - (target-pos 0) - ) - 81920.0 - ) - (not (movie?)) - (not (level-hint-displayed?)) - (>= (- (-> *display* base-frame-counter) (-> self state-time)) (seconds 3)) - ;; og:preserve-this fix gondola spool not loading because it's "too far away" (technically) - (#if (not PC_PORT) - (file-status *art-control* (-> self anim name) 0) - (begin - (spool-push *art-control* (-> self anim name) 0 self (vector-vector-distance - (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 3)) - (target-pos 0))) - (file-status *art-control* (-> self anim name) 0)) - ) - ) + (when (and *target* + (and (< (vector-vector-distance + (vector<-cspace! (new 'stack-no-clear 'vector) (joint-node-index gondola-lod0-jg main)) + (target-pos 0) + ) + 81920.0 + ) + (not (movie?)) + (not (level-hint-displayed?)) + (time-elapsed? (-> self state-time) (seconds 3)) + ;; og:preserve-this fix gondola spool not loading because it's "too far away" (technically) + (#if (not PC_PORT) + (file-status *art-control* (-> self anim name) 0) + (begin + (spool-push *art-control* (-> self anim name) 0 self (vector-vector-distance + (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 3)) + (target-pos 0))) + (file-status *art-control* (-> self anim name) 0)) + ) + ) ) (let ((s3-0 (get-reminder (get-task-control (game-task village3-button)) 2)) (s4-1 (and *cheat-mode* (cpad-hold? 0 l3))) - (s5-1 (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 3))) + (s5-1 (vector<-cspace! (new 'stack-no-clear 'vector) (joint-node-index gondola-lod0-jg main))) ) (cond ((not (or s4-1 (task-closed? (game-task village3-button) (task-status need-hint)))) @@ -255,8 +256,8 @@ (process-spawn othercam self 4 #f #t :to self) (ja-play-spooled-anim (-> self anim) - (the-as art-joint-anim (-> self draw art-group data 3)) - (the-as art-joint-anim (-> self draw art-group data 4)) + (the-as art-joint-anim gondola-idle-down-ja) + (the-as art-joint-anim gondola-idle-up-ja) (the-as (function process-drawable symbol) false-func) ) (remove-setting! 'sound-flava) @@ -296,8 +297,8 @@ (process-spawn othercam self 4 #f #t :to self) (ja-play-spooled-anim (-> self anim) - (the-as art-joint-anim (-> self draw art-group data 4)) - (the-as art-joint-anim (-> self draw art-group data 3)) + (the-as art-joint-anim gondola-idle-up-ja) + (the-as art-joint-anim gondola-idle-down-ja) (the-as (function process-drawable symbol) false-func) ) (remove-setting! 'sound-flava) diff --git a/goal_src/jak1/levels/village_common/villagep-obs.gc b/goal_src/jak1/levels/village_common/villagep-obs.gc index 83a098b0891..6f477151c37 100644 --- a/goal_src/jak1/levels/village_common/villagep-obs.gc +++ b/goal_src/jak1/levels/village_common/villagep-obs.gc @@ -69,16 +69,13 @@ (ja-channel-set! 1) (send-event self 'do-effect 'death-warp-in -1.0) (sound-play "warpgate-tele") - (ja-no-eval :group! (-> self draw art-group data 41) - :num! (seek! (ja-aframe 50.0 0)) - :frame-num (ja-aframe 40.0 0) - ) + (ja-no-eval :group! eichar-duck-high-jump-ja :num! (seek! (ja-aframe 50.0 0)) :frame-num (ja-aframe 40.0 0)) (until (ja-done? 0) (suspend) (ja :num! (seek! (ja-aframe 50.0 0))) ) (restore-collide-with-as (-> self control)) - (ja-no-eval :group! (-> self draw art-group data 41) :num! (seek!) :frame-num (ja-aframe 50.0 0)) + (ja-no-eval :group! eichar-duck-high-jump-ja :num! (seek!) :frame-num (ja-aframe 50.0 0)) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -617,15 +614,11 @@ ;; og:preserve-this ;; note: they appear to be calling this on the wrong object. ;; this doesn't actually cause any problems but corrupts the type of `float` in the symbol - ;; table because they they write to some field of arg0, which is actually #t and not a + ;; table because they write to some field of arg0, which is actually #t and not a ;; basebutton. The corruption is completely harmless but is annoying because it looks like ;; a more severe memory corruption problem. So we fix it. - (the-as int ((the-as (function basebutton symbol none) (find-parent-method warp-gate-switch 31)) - ;;(the-as basebutton arg0) - this - arg0 - ) - ) + ;; (call-parent-method (the-as warp-gate-switch arg0) arg0) + (call-parent-method this arg0) ) ) diff --git a/goal_src/jak2/engine/common_objs/conveyor.gc b/goal_src/jak2/engine/common_objs/conveyor.gc index 05a04d01998..e1b3a835f33 100644 --- a/goal_src/jak2/engine/common_objs/conveyor.gc +++ b/goal_src/jak2/engine/common_objs/conveyor.gc @@ -451,7 +451,7 @@ This commonly includes things such as: :virtual #t :code (behavior () (until #f - (ja-no-eval :group! (-> self draw art-group data 3) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! lgconveyor-idle-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) diff --git a/goal_src/jak2/engine/common_objs/powerups.gc b/goal_src/jak2/engine/common_objs/powerups.gc index b90e4a181b5..3b91ac5e71b 100644 --- a/goal_src/jak2/engine/common_objs/powerups.gc +++ b/goal_src/jak2/engine/common_objs/powerups.gc @@ -821,7 +821,7 @@ (not (time-elapsed? (-> self control last-time-on-surface) (seconds 0.05))) ) ) - (let ((gp-0 (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 38)))) + (let ((gp-0 (vector<-cspace! (new 'stack-no-clear 'vector) (joint-node-index jakb-lod0-jg RbigToe)))) (if (and (< (fabs (vector-dot (-> self control dynam gravity-normal) (vector-! (new 'stack-no-clear 'vector) gp-0 (-> self control trans)) @@ -834,7 +834,7 @@ (launch-particles :system *sp-particle-system-3d* (-> *part-id-table* 165) gp-0) ) ) - (let ((gp-1 (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 31)))) + (let ((gp-1 (vector<-cspace! (new 'stack-no-clear 'vector) (joint-node-index jakb-lod0-jg LbigToe)))) (if (and (< (fabs (vector-dot (-> self control dynam gravity-normal) (vector-! (new 'stack-no-clear 'vector) gp-1 (-> self control trans)) diff --git a/goal_src/jak2/engine/data/art-h.gc b/goal_src/jak2/engine/data/art-h.gc index 1e9b020ddf9..7677300a90b 100644 --- a/goal_src/jak2/engine/data/art-h.gc +++ b/goal_src/jak2/engine/data/art-h.gc @@ -421,6 +421,22 @@ ) ) +(defmacro joint-name->index (jg-name name) + (let ((jg-info (hash-table-try-ref *jg-info* (symbol->string jg-name)))) + (if (not (car jg-info)) + -1 + (let ((joint-node (hash-table-try-ref (cdr jg-info) (if (integer? name) (int->string name) (symbol->string name))))) + (if (not (car joint-node)) + -1 + (cadr (cdr joint-node))) + ) + ) + ) + ) + +(defmacro joint-node-index (jg name) + `(-> self node-list data (joint-name->index ,jg ,name)) + ) (defmacro defskelgroup (name ag-name joint-geom joint-anim lods &key (shadow 0) @@ -470,9 +486,5 @@ ) ) -0 - - - - (import "goal_src/jak2/engine/data/art-elts.gc") +(import "goal_src/jak2/engine/data/joint-nodes.gc") \ No newline at end of file diff --git a/goal_src/jak2/engine/data/joint-nodes.gc b/goal_src/jak2/engine/data/joint-nodes.gc new file mode 100644 index 00000000000..1ddacf4eec4 --- /dev/null +++ b/goal_src/jak2/engine/data/joint-nodes.gc @@ -0,0 +1,14451 @@ +(def-joint-node vil-sagesail-lod0-jg "main" 3) +(def-joint-node vil-sagesail-lod0-jg "prejoint" 2) +(def-joint-node vil-sagesail-lod0-jg "align" 1) + +(def-joint-node rift-rider-donut-lod0-jg "light_small_d" 16) +(def-joint-node rift-rider-donut-lod0-jg "light_small_c" 15) +(def-joint-node rift-rider-donut-lod0-jg "light_small_b" 14) +(def-joint-node rift-rider-donut-lod0-jg "align" 1) +(def-joint-node rift-rider-donut-lod0-jg "prejoint" 2) +(def-joint-node rift-rider-donut-lod0-jg "main" 3) +(def-joint-node rift-rider-donut-lod0-jg "rotate" 4) +(def-joint-node rift-rider-donut-lod0-jg "zappera" 5) +(def-joint-node rift-rider-donut-lod0-jg "zapperb" 6) +(def-joint-node rift-rider-donut-lod0-jg "zapperc" 7) +(def-joint-node rift-rider-donut-lod0-jg "zapperd" 8) +(def-joint-node rift-rider-donut-lod0-jg "light_center_a" 9) +(def-joint-node rift-rider-donut-lod0-jg "light_center_b" 10) +(def-joint-node rift-rider-donut-lod0-jg "light_center_c" 11) +(def-joint-node rift-rider-donut-lod0-jg "light_center_d" 12) +(def-joint-node rift-rider-donut-lod0-jg "light_small_a" 13) + +(def-joint-node intro-flamer-lod0-jg "tailGunTop" 27) +(def-joint-node intro-flamer-lod0-jg "RwingBot" 26) +(def-joint-node intro-flamer-lod0-jg "RwingTop" 25) +(def-joint-node intro-flamer-lod0-jg "LwingBot" 24) +(def-joint-node intro-flamer-lod0-jg "LwingTop" 23) +(def-joint-node intro-flamer-lod0-jg "RwingBase" 22) +(def-joint-node intro-flamer-lod0-jg "LwingBase" 21) +(def-joint-node intro-flamer-lod0-jg "jaw" 20) +(def-joint-node intro-flamer-lod0-jg "head" 19) +(def-joint-node intro-flamer-lod0-jg "neckB" 18) +(def-joint-node intro-flamer-lod0-jg "neckA" 17) +(def-joint-node intro-flamer-lod0-jg "Rhand" 16) +(def-joint-node intro-flamer-lod0-jg "Relbow" 15) +(def-joint-node intro-flamer-lod0-jg "Rshoulder" 14) +(def-joint-node intro-flamer-lod0-jg "align" 1) +(def-joint-node intro-flamer-lod0-jg "prejoint" 2) +(def-joint-node intro-flamer-lod0-jg "main" 3) +(def-joint-node intro-flamer-lod0-jg "tailA" 4) +(def-joint-node intro-flamer-lod0-jg "tailB" 5) +(def-joint-node intro-flamer-lod0-jg "tailC" 6) +(def-joint-node intro-flamer-lod0-jg "tailD" 7) +(def-joint-node intro-flamer-lod0-jg "tailE" 8) +(def-joint-node intro-flamer-lod0-jg "tailF" 9) +(def-joint-node intro-flamer-lod0-jg "tailGunBottom" 10) +(def-joint-node intro-flamer-lod0-jg "Lshoulder" 11) +(def-joint-node intro-flamer-lod0-jg "Lelbow" 12) +(def-joint-node intro-flamer-lod0-jg "Lhand" 13) + +(def-joint-node hip-trophy-n-lod0-jg "hip_trophy_n" 3) +(def-joint-node hip-trophy-n-lod0-jg "prejoint" 2) +(def-joint-node hip-trophy-n-lod0-jg "align" 1) + +(def-joint-node vil-windmill-sail-lod0-jg "main" 3) +(def-joint-node vil-windmill-sail-lod0-jg "prejoint" 2) +(def-joint-node vil-windmill-sail-lod0-jg "align" 1) + +(def-joint-node hip-trophy-m-lod0-jg "hip_trophy_m" 3) +(def-joint-node hip-trophy-m-lod0-jg "prejoint" 2) +(def-joint-node hip-trophy-m-lod0-jg "align" 1) + +(def-joint-node hip-trophy-i-lod0-jg "hip_trophy_i" 3) +(def-joint-node hip-trophy-i-lod0-jg "prejoint" 2) +(def-joint-node hip-trophy-i-lod0-jg "align" 1) + +(def-joint-node hip-trophy-c-lod0-jg "hip_trophy_c" 3) +(def-joint-node hip-trophy-c-lod0-jg "prejoint" 2) +(def-joint-node hip-trophy-c-lod0-jg "align" 1) + +(def-joint-node hip-trophy-d-lod0-jg "hip_trophy_d" 3) +(def-joint-node hip-trophy-d-lod0-jg "prejoint" 2) +(def-joint-node hip-trophy-d-lod0-jg "align" 1) + +(def-joint-node hip-whack-a-metal-lod0-jg "points" 13) +(def-joint-node hip-whack-a-metal-lod0-jg "misses" 12) +(def-joint-node hip-whack-a-metal-lod0-jg "mole7" 11) +(def-joint-node hip-whack-a-metal-lod0-jg "mole6" 10) +(def-joint-node hip-whack-a-metal-lod0-jg "mole5" 9) +(def-joint-node hip-whack-a-metal-lod0-jg "mole4" 8) +(def-joint-node hip-whack-a-metal-lod0-jg "mole3" 7) +(def-joint-node hip-whack-a-metal-lod0-jg "mole2" 6) +(def-joint-node hip-whack-a-metal-lod0-jg "mole1" 5) +(def-joint-node hip-whack-a-metal-lod0-jg "mole" 4) +(def-joint-node hip-whack-a-metal-lod0-jg "main" 3) +(def-joint-node hip-whack-a-metal-lod0-jg "prejoint" 2) +(def-joint-node hip-whack-a-metal-lod0-jg "align" 1) + +(def-joint-node citizen-fat-lod0-jg "RmiddleA" 23) +(def-joint-node citizen-fat-lod0-jg "LmiddleA" 22) +(def-joint-node citizen-fat-lod0-jg "Rball" 21) +(def-joint-node citizen-fat-lod0-jg "Rankle" 20) +(def-joint-node citizen-fat-lod0-jg "Rknee" 19) +(def-joint-node citizen-fat-lod0-jg "Rthigh" 18) +(def-joint-node citizen-fat-lod0-jg "Lball" 17) +(def-joint-node citizen-fat-lod0-jg "Lankle" 16) +(def-joint-node citizen-fat-lod0-jg "Lknee" 15) +(def-joint-node citizen-fat-lod0-jg "Lthigh" 14) +(def-joint-node citizen-fat-lod0-jg "align" 1) +(def-joint-node citizen-fat-lod0-jg "prejoint" 2) +(def-joint-node citizen-fat-lod0-jg "main" 3) +(def-joint-node citizen-fat-lod0-jg "chest" 4) +(def-joint-node citizen-fat-lod0-jg "neck" 5) +(def-joint-node citizen-fat-lod0-jg "head" 6) +(def-joint-node citizen-fat-lod0-jg "Lshoulder" 7) +(def-joint-node citizen-fat-lod0-jg "Lelbow" 8) +(def-joint-node citizen-fat-lod0-jg "Lhand" 9) +(def-joint-node citizen-fat-lod0-jg "Rshoulder" 10) +(def-joint-node citizen-fat-lod0-jg "Relbow" 11) +(def-joint-node citizen-fat-lod0-jg "Rhand" 12) +(def-joint-node citizen-fat-lod0-jg "hips" 13) + +(def-joint-node tanker-one-barrel-lod0-jg "main" 3) +(def-joint-node tanker-one-barrel-lod0-jg "prejoint" 2) +(def-joint-node tanker-one-barrel-lod0-jg "align" 1) + +(def-joint-node tanker-container-lod0-jg "lid" 4) +(def-joint-node tanker-container-lod0-jg "main" 3) +(def-joint-node tanker-container-lod0-jg "prejoint" 2) +(def-joint-node tanker-container-lod0-jg "align" 1) + +(def-joint-node tanker-barrels-lod0-jg "nn" 16) +(def-joint-node tanker-barrels-lod0-jg "mm" 15) +(def-joint-node tanker-barrels-lod0-jg "ll" 14) +(def-joint-node tanker-barrels-lod0-jg "align" 1) +(def-joint-node tanker-barrels-lod0-jg "prejoint" 2) +(def-joint-node tanker-barrels-lod0-jg "aa" 3) +(def-joint-node tanker-barrels-lod0-jg "bb" 4) +(def-joint-node tanker-barrels-lod0-jg "cc" 5) +(def-joint-node tanker-barrels-lod0-jg "dd" 6) +(def-joint-node tanker-barrels-lod0-jg "ee" 7) +(def-joint-node tanker-barrels-lod0-jg "ff" 8) +(def-joint-node tanker-barrels-lod0-jg "gg" 9) +(def-joint-node tanker-barrels-lod0-jg "hh" 10) +(def-joint-node tanker-barrels-lod0-jg "ii" 11) +(def-joint-node tanker-barrels-lod0-jg "jj" 12) +(def-joint-node tanker-barrels-lod0-jg "kk" 13) + +(def-joint-node tanker-roof-break-lod0-jg "az" 55) +(def-joint-node tanker-roof-break-lod0-jg "ay" 54) +(def-joint-node tanker-roof-break-lod0-jg "ax" 53) +(def-joint-node tanker-roof-break-lod0-jg "aw" 52) +(def-joint-node tanker-roof-break-lod0-jg "av" 51) +(def-joint-node tanker-roof-break-lod0-jg "au" 50) +(def-joint-node tanker-roof-break-lod0-jg "at" 49) +(def-joint-node tanker-roof-break-lod0-jg "as" 48) +(def-joint-node tanker-roof-break-lod0-jg "ar" 47) +(def-joint-node tanker-roof-break-lod0-jg "aq" 46) +(def-joint-node tanker-roof-break-lod0-jg "ap" 45) +(def-joint-node tanker-roof-break-lod0-jg "ao" 44) +(def-joint-node tanker-roof-break-lod0-jg "an" 43) +(def-joint-node tanker-roof-break-lod0-jg "am" 42) +(def-joint-node tanker-roof-break-lod0-jg "al" 41) +(def-joint-node tanker-roof-break-lod0-jg "ak" 40) +(def-joint-node tanker-roof-break-lod0-jg "aj" 39) +(def-joint-node tanker-roof-break-lod0-jg "ai" 38) +(def-joint-node tanker-roof-break-lod0-jg "ah" 37) +(def-joint-node tanker-roof-break-lod0-jg "ag" 36) +(def-joint-node tanker-roof-break-lod0-jg "af" 35) +(def-joint-node tanker-roof-break-lod0-jg "ae" 34) +(def-joint-node tanker-roof-break-lod0-jg "ad" 33) +(def-joint-node tanker-roof-break-lod0-jg "ac" 32) +(def-joint-node tanker-roof-break-lod0-jg "ab" 31) +(def-joint-node tanker-roof-break-lod0-jg "aa" 30) +(def-joint-node tanker-roof-break-lod0-jg "k" 13) +(def-joint-node tanker-roof-break-lod0-jg "j" 12) +(def-joint-node tanker-roof-break-lod0-jg "i" 11) +(def-joint-node tanker-roof-break-lod0-jg "h" 10) +(def-joint-node tanker-roof-break-lod0-jg "g" 9) +(def-joint-node tanker-roof-break-lod0-jg "f" 8) +(def-joint-node tanker-roof-break-lod0-jg "e" 7) +(def-joint-node tanker-roof-break-lod0-jg "d" 6) +(def-joint-node tanker-roof-break-lod0-jg "c" 5) +(def-joint-node tanker-roof-break-lod0-jg "b" 4) +(def-joint-node tanker-roof-break-lod0-jg "explode" 3) +(def-joint-node tanker-roof-break-lod0-jg "prejoint" 2) +(def-joint-node tanker-roof-break-lod0-jg "align" 1) +(def-joint-node tanker-roof-break-lod0-jg "l" 14) +(def-joint-node tanker-roof-break-lod0-jg "m" 15) +(def-joint-node tanker-roof-break-lod0-jg "n" 16) +(def-joint-node tanker-roof-break-lod0-jg "o" 17) +(def-joint-node tanker-roof-break-lod0-jg "p" 18) +(def-joint-node tanker-roof-break-lod0-jg "q" 19) +(def-joint-node tanker-roof-break-lod0-jg "r" 20) +(def-joint-node tanker-roof-break-lod0-jg "s" 21) +(def-joint-node tanker-roof-break-lod0-jg "t" 22) +(def-joint-node tanker-roof-break-lod0-jg "u" 23) +(def-joint-node tanker-roof-break-lod0-jg "v" 24) +(def-joint-node tanker-roof-break-lod0-jg "w" 25) +(def-joint-node tanker-roof-break-lod0-jg "x" 26) +(def-joint-node tanker-roof-break-lod0-jg "y" 27) +(def-joint-node tanker-roof-break-lod0-jg "z" 28) +(def-joint-node tanker-roof-break-lod0-jg "zz" 29) + +(def-joint-node krew-moneybag-lod0-jg "bag4" 7) +(def-joint-node krew-moneybag-lod0-jg "bag3" 6) +(def-joint-node krew-moneybag-lod0-jg "bag2" 5) +(def-joint-node krew-moneybag-lod0-jg "bag1" 4) +(def-joint-node krew-moneybag-lod0-jg "main" 3) +(def-joint-node krew-moneybag-lod0-jg "prejoint" 2) +(def-joint-node krew-moneybag-lod0-jg "align" 1) + +(def-joint-node beam-lod0-jg "main" 3) +(def-joint-node beam-lod0-jg "prejoint" 2) +(def-joint-node beam-lod0-jg "align" 1) + +(def-joint-node sinking-plat-lod0-jg "main" 3) +(def-joint-node sinking-plat-lod0-jg "prejoint" 2) +(def-joint-node sinking-plat-lod0-jg "align" 1) + +(def-joint-node zipline-lod0-jg "zipF" 10) +(def-joint-node zipline-lod0-jg "zipE" 9) +(def-joint-node zipline-lod0-jg "zipD" 8) +(def-joint-node zipline-lod0-jg "zipC" 7) +(def-joint-node zipline-lod0-jg "zipB" 6) +(def-joint-node zipline-lod0-jg "zipA" 5) +(def-joint-node zipline-lod0-jg "main" 4) +(def-joint-node zipline-lod0-jg "offset" 3) +(def-joint-node zipline-lod0-jg "prejoint" 2) +(def-joint-node zipline-lod0-jg "align" 1) + +(def-joint-node precipice-a-lod0-jg "aq" 46) +(def-joint-node precipice-a-lod0-jg "ap" 45) +(def-joint-node precipice-a-lod0-jg "ao" 44) +(def-joint-node precipice-a-lod0-jg "an" 43) +(def-joint-node precipice-a-lod0-jg "am" 42) +(def-joint-node precipice-a-lod0-jg "al" 41) +(def-joint-node precipice-a-lod0-jg "ak" 40) +(def-joint-node precipice-a-lod0-jg "aj" 39) +(def-joint-node precipice-a-lod0-jg "ai" 38) +(def-joint-node precipice-a-lod0-jg "ah" 37) +(def-joint-node precipice-a-lod0-jg "ag" 36) +(def-joint-node precipice-a-lod0-jg "af" 35) +(def-joint-node precipice-a-lod0-jg "ae" 34) +(def-joint-node precipice-a-lod0-jg "ad" 33) +(def-joint-node precipice-a-lod0-jg "ac" 32) +(def-joint-node precipice-a-lod0-jg "ab" 31) +(def-joint-node precipice-a-lod0-jg "aa" 30) +(def-joint-node precipice-a-lod0-jg "k" 13) +(def-joint-node precipice-a-lod0-jg "j" 12) +(def-joint-node precipice-a-lod0-jg "i" 11) +(def-joint-node precipice-a-lod0-jg "h" 10) +(def-joint-node precipice-a-lod0-jg "g" 9) +(def-joint-node precipice-a-lod0-jg "f" 8) +(def-joint-node precipice-a-lod0-jg "e" 7) +(def-joint-node precipice-a-lod0-jg "d" 6) +(def-joint-node precipice-a-lod0-jg "c" 5) +(def-joint-node precipice-a-lod0-jg "b" 4) +(def-joint-node precipice-a-lod0-jg "a" 3) +(def-joint-node precipice-a-lod0-jg "prejoint" 2) +(def-joint-node precipice-a-lod0-jg "align" 1) +(def-joint-node precipice-a-lod0-jg "l" 14) +(def-joint-node precipice-a-lod0-jg "m" 15) +(def-joint-node precipice-a-lod0-jg "n" 16) +(def-joint-node precipice-a-lod0-jg "o" 17) +(def-joint-node precipice-a-lod0-jg "p" 18) +(def-joint-node precipice-a-lod0-jg "q" 19) +(def-joint-node precipice-a-lod0-jg "r" 20) +(def-joint-node precipice-a-lod0-jg "s" 21) +(def-joint-node precipice-a-lod0-jg "t" 22) +(def-joint-node precipice-a-lod0-jg "u" 23) +(def-joint-node precipice-a-lod0-jg "v" 24) +(def-joint-node precipice-a-lod0-jg "w" 25) +(def-joint-node precipice-a-lod0-jg "x" 26) +(def-joint-node precipice-a-lod0-jg "y" 27) +(def-joint-node precipice-a-lod0-jg "z" 28) +(def-joint-node precipice-a-lod0-jg "" 29) + +(def-joint-node ruins-bridge-1-lod0-jg "fall_c" 71) +(def-joint-node ruins-bridge-1-lod0-jg "fall_b" 70) +(def-joint-node ruins-bridge-1-lod0-jg "fall_a" 69) +(def-joint-node ruins-bridge-1-lod0-jg "a" 68) +(def-joint-node ruins-bridge-1-lod0-jg "b" 67) +(def-joint-node ruins-bridge-1-lod0-jg "c" 66) +(def-joint-node ruins-bridge-1-lod0-jg "d" 65) +(def-joint-node ruins-bridge-1-lod0-jg "e" 64) +(def-joint-node ruins-bridge-1-lod0-jg "f" 63) +(def-joint-node ruins-bridge-1-lod0-jg "g" 62) +(def-joint-node ruins-bridge-1-lod0-jg "h" 61) +(def-joint-node ruins-bridge-1-lod0-jg "i" 60) +(def-joint-node ruins-bridge-1-lod0-jg "am" 29) +(def-joint-node ruins-bridge-1-lod0-jg "an" 28) +(def-joint-node ruins-bridge-1-lod0-jg "ao" 27) +(def-joint-node ruins-bridge-1-lod0-jg "ap" 26) +(def-joint-node ruins-bridge-1-lod0-jg "aq" 25) +(def-joint-node ruins-bridge-1-lod0-jg "ar" 24) +(def-joint-node ruins-bridge-1-lod0-jg "as" 23) +(def-joint-node ruins-bridge-1-lod0-jg "at" 22) +(def-joint-node ruins-bridge-1-lod0-jg "au" 21) +(def-joint-node ruins-bridge-1-lod0-jg "av" 20) +(def-joint-node ruins-bridge-1-lod0-jg "aw" 19) +(def-joint-node ruins-bridge-1-lod0-jg "ax" 18) +(def-joint-node ruins-bridge-1-lod0-jg "ay" 17) +(def-joint-node ruins-bridge-1-lod0-jg "az" 16) +(def-joint-node ruins-bridge-1-lod0-jg "ba" 15) +(def-joint-node ruins-bridge-1-lod0-jg "bb" 14) +(def-joint-node ruins-bridge-1-lod0-jg "align" 1) +(def-joint-node ruins-bridge-1-lod0-jg "prejoint" 2) +(def-joint-node ruins-bridge-1-lod0-jg "main" 3) +(def-joint-node ruins-bridge-1-lod0-jg "bl" 4) +(def-joint-node ruins-bridge-1-lod0-jg "bk" 5) +(def-joint-node ruins-bridge-1-lod0-jg "bj" 6) +(def-joint-node ruins-bridge-1-lod0-jg "bi" 7) +(def-joint-node ruins-bridge-1-lod0-jg "bh" 8) +(def-joint-node ruins-bridge-1-lod0-jg "bg" 9) +(def-joint-node ruins-bridge-1-lod0-jg "bf" 10) +(def-joint-node ruins-bridge-1-lod0-jg "be" 11) +(def-joint-node ruins-bridge-1-lod0-jg "bd" 12) +(def-joint-node ruins-bridge-1-lod0-jg "bc" 13) +(def-joint-node ruins-bridge-1-lod0-jg "al" 30) +(def-joint-node ruins-bridge-1-lod0-jg "ak" 31) +(def-joint-node ruins-bridge-1-lod0-jg "aj" 32) +(def-joint-node ruins-bridge-1-lod0-jg "ai" 33) +(def-joint-node ruins-bridge-1-lod0-jg "ah" 34) +(def-joint-node ruins-bridge-1-lod0-jg "ag" 35) +(def-joint-node ruins-bridge-1-lod0-jg "af" 36) +(def-joint-node ruins-bridge-1-lod0-jg "ae" 37) +(def-joint-node ruins-bridge-1-lod0-jg "ad" 38) +(def-joint-node ruins-bridge-1-lod0-jg "ac" 39) +(def-joint-node ruins-bridge-1-lod0-jg "ab" 40) +(def-joint-node ruins-bridge-1-lod0-jg "aa" 41) +(def-joint-node ruins-bridge-1-lod0-jg "" 42) +(def-joint-node ruins-bridge-1-lod0-jg "z" 43) +(def-joint-node ruins-bridge-1-lod0-jg "y" 44) +(def-joint-node ruins-bridge-1-lod0-jg "x" 45) +(def-joint-node ruins-bridge-1-lod0-jg "w" 46) +(def-joint-node ruins-bridge-1-lod0-jg "v" 47) +(def-joint-node ruins-bridge-1-lod0-jg "u" 48) +(def-joint-node ruins-bridge-1-lod0-jg "t" 49) +(def-joint-node ruins-bridge-1-lod0-jg "s" 50) +(def-joint-node ruins-bridge-1-lod0-jg "r" 51) +(def-joint-node ruins-bridge-1-lod0-jg "q" 52) +(def-joint-node ruins-bridge-1-lod0-jg "p" 53) +(def-joint-node ruins-bridge-1-lod0-jg "o" 54) +(def-joint-node ruins-bridge-1-lod0-jg "n" 55) +(def-joint-node ruins-bridge-1-lod0-jg "m" 56) +(def-joint-node ruins-bridge-1-lod0-jg "l" 57) +(def-joint-node ruins-bridge-1-lod0-jg "k" 58) +(def-joint-node ruins-bridge-1-lod0-jg "j" 59) + +(def-joint-node ruins-pillar-collapse-lod0-jg "ch" 84) +(def-joint-node ruins-pillar-collapse-lod0-jg "cg" 83) +(def-joint-node ruins-pillar-collapse-lod0-jg "cf" 82) +(def-joint-node ruins-pillar-collapse-lod0-jg "ce" 81) +(def-joint-node ruins-pillar-collapse-lod0-jg "cb" 80) +(def-joint-node ruins-pillar-collapse-lod0-jg "ca" 79) +(def-joint-node ruins-pillar-collapse-lod0-jg "bz" 78) +(def-joint-node ruins-pillar-collapse-lod0-jg "by" 77) +(def-joint-node ruins-pillar-collapse-lod0-jg "bx" 76) +(def-joint-node ruins-pillar-collapse-lod0-jg "bw" 75) +(def-joint-node ruins-pillar-collapse-lod0-jg "bv" 74) +(def-joint-node ruins-pillar-collapse-lod0-jg "bu" 73) +(def-joint-node ruins-pillar-collapse-lod0-jg "bt" 72) +(def-joint-node ruins-pillar-collapse-lod0-jg "bs" 71) +(def-joint-node ruins-pillar-collapse-lod0-jg "bq" 70) +(def-joint-node ruins-pillar-collapse-lod0-jg "bp" 69) +(def-joint-node ruins-pillar-collapse-lod0-jg "bo" 68) +(def-joint-node ruins-pillar-collapse-lod0-jg "bl" 67) +(def-joint-node ruins-pillar-collapse-lod0-jg "bj" 66) +(def-joint-node ruins-pillar-collapse-lod0-jg "cj" 65) +(def-joint-node ruins-pillar-collapse-lod0-jg "bi" 64) +(def-joint-node ruins-pillar-collapse-lod0-jg "bh" 63) +(def-joint-node ruins-pillar-collapse-lod0-jg "bg" 62) +(def-joint-node ruins-pillar-collapse-lod0-jg "bf" 61) +(def-joint-node ruins-pillar-collapse-lod0-jg "be" 60) +(def-joint-node ruins-pillar-collapse-lod0-jg "zz" 29) +(def-joint-node ruins-pillar-collapse-lod0-jg "z" 28) +(def-joint-node ruins-pillar-collapse-lod0-jg "y" 27) +(def-joint-node ruins-pillar-collapse-lod0-jg "x" 26) +(def-joint-node ruins-pillar-collapse-lod0-jg "w" 25) +(def-joint-node ruins-pillar-collapse-lod0-jg "v" 24) +(def-joint-node ruins-pillar-collapse-lod0-jg "u" 23) +(def-joint-node ruins-pillar-collapse-lod0-jg "t" 22) +(def-joint-node ruins-pillar-collapse-lod0-jg "s" 21) +(def-joint-node ruins-pillar-collapse-lod0-jg "r" 20) +(def-joint-node ruins-pillar-collapse-lod0-jg "q" 19) +(def-joint-node ruins-pillar-collapse-lod0-jg "p" 18) +(def-joint-node ruins-pillar-collapse-lod0-jg "o" 17) +(def-joint-node ruins-pillar-collapse-lod0-jg "n" 16) +(def-joint-node ruins-pillar-collapse-lod0-jg "m" 15) +(def-joint-node ruins-pillar-collapse-lod0-jg "l" 14) +(def-joint-node ruins-pillar-collapse-lod0-jg "align" 1) +(def-joint-node ruins-pillar-collapse-lod0-jg "prejoint" 2) +(def-joint-node ruins-pillar-collapse-lod0-jg "a" 3) +(def-joint-node ruins-pillar-collapse-lod0-jg "b" 4) +(def-joint-node ruins-pillar-collapse-lod0-jg "c" 5) +(def-joint-node ruins-pillar-collapse-lod0-jg "d" 6) +(def-joint-node ruins-pillar-collapse-lod0-jg "e" 7) +(def-joint-node ruins-pillar-collapse-lod0-jg "f" 8) +(def-joint-node ruins-pillar-collapse-lod0-jg "g" 9) +(def-joint-node ruins-pillar-collapse-lod0-jg "h" 10) +(def-joint-node ruins-pillar-collapse-lod0-jg "i" 11) +(def-joint-node ruins-pillar-collapse-lod0-jg "j" 12) +(def-joint-node ruins-pillar-collapse-lod0-jg "k" 13) +(def-joint-node ruins-pillar-collapse-lod0-jg "aa" 30) +(def-joint-node ruins-pillar-collapse-lod0-jg "ab" 31) +(def-joint-node ruins-pillar-collapse-lod0-jg "ac" 32) +(def-joint-node ruins-pillar-collapse-lod0-jg "ad" 33) +(def-joint-node ruins-pillar-collapse-lod0-jg "ae" 34) +(def-joint-node ruins-pillar-collapse-lod0-jg "af" 35) +(def-joint-node ruins-pillar-collapse-lod0-jg "ag" 36) +(def-joint-node ruins-pillar-collapse-lod0-jg "ah" 37) +(def-joint-node ruins-pillar-collapse-lod0-jg "ai" 38) +(def-joint-node ruins-pillar-collapse-lod0-jg "aj" 39) +(def-joint-node ruins-pillar-collapse-lod0-jg "ak" 40) +(def-joint-node ruins-pillar-collapse-lod0-jg "al" 41) +(def-joint-node ruins-pillar-collapse-lod0-jg "am" 42) +(def-joint-node ruins-pillar-collapse-lod0-jg "an" 43) +(def-joint-node ruins-pillar-collapse-lod0-jg "ao" 44) +(def-joint-node ruins-pillar-collapse-lod0-jg "ap" 45) +(def-joint-node ruins-pillar-collapse-lod0-jg "aq" 46) +(def-joint-node ruins-pillar-collapse-lod0-jg "ar" 47) +(def-joint-node ruins-pillar-collapse-lod0-jg "as" 48) +(def-joint-node ruins-pillar-collapse-lod0-jg "at" 49) +(def-joint-node ruins-pillar-collapse-lod0-jg "au" 50) +(def-joint-node ruins-pillar-collapse-lod0-jg "av" 51) +(def-joint-node ruins-pillar-collapse-lod0-jg "aw" 52) +(def-joint-node ruins-pillar-collapse-lod0-jg "ax" 53) +(def-joint-node ruins-pillar-collapse-lod0-jg "ay" 54) +(def-joint-node ruins-pillar-collapse-lod0-jg "az" 55) +(def-joint-node ruins-pillar-collapse-lod0-jg "ba" 56) +(def-joint-node ruins-pillar-collapse-lod0-jg "bb" 57) +(def-joint-node ruins-pillar-collapse-lod0-jg "bc" 58) +(def-joint-node ruins-pillar-collapse-lod0-jg "bd" 59) + +(def-joint-node ruins-drop-plat-c-lod0-jg "bc" 63) +(def-joint-node ruins-drop-plat-c-lod0-jg "bb" 62) +(def-joint-node ruins-drop-plat-c-lod0-jg "ba" 61) +(def-joint-node ruins-drop-plat-c-lod0-jg "az" 60) +(def-joint-node ruins-drop-plat-c-lod0-jg "v" 29) +(def-joint-node ruins-drop-plat-c-lod0-jg "u" 28) +(def-joint-node ruins-drop-plat-c-lod0-jg "t" 27) +(def-joint-node ruins-drop-plat-c-lod0-jg "s" 26) +(def-joint-node ruins-drop-plat-c-lod0-jg "r" 25) +(def-joint-node ruins-drop-plat-c-lod0-jg "q" 24) +(def-joint-node ruins-drop-plat-c-lod0-jg "p" 23) +(def-joint-node ruins-drop-plat-c-lod0-jg "o" 22) +(def-joint-node ruins-drop-plat-c-lod0-jg "n" 21) +(def-joint-node ruins-drop-plat-c-lod0-jg "m" 20) +(def-joint-node ruins-drop-plat-c-lod0-jg "l" 19) +(def-joint-node ruins-drop-plat-c-lod0-jg "k" 18) +(def-joint-node ruins-drop-plat-c-lod0-jg "j" 17) +(def-joint-node ruins-drop-plat-c-lod0-jg "i" 16) +(def-joint-node ruins-drop-plat-c-lod0-jg "h" 15) +(def-joint-node ruins-drop-plat-c-lod0-jg "g" 14) +(def-joint-node ruins-drop-plat-c-lod0-jg "align" 1) +(def-joint-node ruins-drop-plat-c-lod0-jg "prejoint" 2) +(def-joint-node ruins-drop-plat-c-lod0-jg "main" 3) +(def-joint-node ruins-drop-plat-c-lod0-jg "trap_LR" 4) +(def-joint-node ruins-drop-plat-c-lod0-jg "trap_RR" 5) +(def-joint-node ruins-drop-plat-c-lod0-jg "trap_RF" 6) +(def-joint-node ruins-drop-plat-c-lod0-jg "trap_LF" 7) +(def-joint-node ruins-drop-plat-c-lod0-jg "a" 8) +(def-joint-node ruins-drop-plat-c-lod0-jg "b" 9) +(def-joint-node ruins-drop-plat-c-lod0-jg "c" 10) +(def-joint-node ruins-drop-plat-c-lod0-jg "d" 11) +(def-joint-node ruins-drop-plat-c-lod0-jg "e" 12) +(def-joint-node ruins-drop-plat-c-lod0-jg "f" 13) +(def-joint-node ruins-drop-plat-c-lod0-jg "w" 30) +(def-joint-node ruins-drop-plat-c-lod0-jg "x" 31) +(def-joint-node ruins-drop-plat-c-lod0-jg "y" 32) +(def-joint-node ruins-drop-plat-c-lod0-jg "z" 33) +(def-joint-node ruins-drop-plat-c-lod0-jg "" 34) +(def-joint-node ruins-drop-plat-c-lod0-jg "aa" 35) +(def-joint-node ruins-drop-plat-c-lod0-jg "ab" 36) +(def-joint-node ruins-drop-plat-c-lod0-jg "ac" 37) +(def-joint-node ruins-drop-plat-c-lod0-jg "ad" 38) +(def-joint-node ruins-drop-plat-c-lod0-jg "ae" 39) +(def-joint-node ruins-drop-plat-c-lod0-jg "af" 40) +(def-joint-node ruins-drop-plat-c-lod0-jg "ag" 41) +(def-joint-node ruins-drop-plat-c-lod0-jg "ah" 42) +(def-joint-node ruins-drop-plat-c-lod0-jg "ai" 43) +(def-joint-node ruins-drop-plat-c-lod0-jg "aj" 44) +(def-joint-node ruins-drop-plat-c-lod0-jg "ak" 45) +(def-joint-node ruins-drop-plat-c-lod0-jg "al" 46) +(def-joint-node ruins-drop-plat-c-lod0-jg "am" 47) +(def-joint-node ruins-drop-plat-c-lod0-jg "an" 48) +(def-joint-node ruins-drop-plat-c-lod0-jg "ao" 49) +(def-joint-node ruins-drop-plat-c-lod0-jg "ap" 50) +(def-joint-node ruins-drop-plat-c-lod0-jg "aq" 51) +(def-joint-node ruins-drop-plat-c-lod0-jg "ar" 52) +(def-joint-node ruins-drop-plat-c-lod0-jg "as" 53) +(def-joint-node ruins-drop-plat-c-lod0-jg "at" 54) +(def-joint-node ruins-drop-plat-c-lod0-jg "au" 55) +(def-joint-node ruins-drop-plat-c-lod0-jg "av" 56) +(def-joint-node ruins-drop-plat-c-lod0-jg "aw" 57) +(def-joint-node ruins-drop-plat-c-lod0-jg "ax" 58) +(def-joint-node ruins-drop-plat-c-lod0-jg "ay" 59) + +(def-joint-node ruins-drop-plat-b-lod0-jg "bc" 63) +(def-joint-node ruins-drop-plat-b-lod0-jg "bb" 62) +(def-joint-node ruins-drop-plat-b-lod0-jg "ba" 61) +(def-joint-node ruins-drop-plat-b-lod0-jg "az" 60) +(def-joint-node ruins-drop-plat-b-lod0-jg "v" 29) +(def-joint-node ruins-drop-plat-b-lod0-jg "u" 28) +(def-joint-node ruins-drop-plat-b-lod0-jg "t" 27) +(def-joint-node ruins-drop-plat-b-lod0-jg "s" 26) +(def-joint-node ruins-drop-plat-b-lod0-jg "r" 25) +(def-joint-node ruins-drop-plat-b-lod0-jg "q" 24) +(def-joint-node ruins-drop-plat-b-lod0-jg "p" 23) +(def-joint-node ruins-drop-plat-b-lod0-jg "o" 22) +(def-joint-node ruins-drop-plat-b-lod0-jg "n" 21) +(def-joint-node ruins-drop-plat-b-lod0-jg "m" 20) +(def-joint-node ruins-drop-plat-b-lod0-jg "l" 19) +(def-joint-node ruins-drop-plat-b-lod0-jg "k" 18) +(def-joint-node ruins-drop-plat-b-lod0-jg "j" 17) +(def-joint-node ruins-drop-plat-b-lod0-jg "i" 16) +(def-joint-node ruins-drop-plat-b-lod0-jg "h" 15) +(def-joint-node ruins-drop-plat-b-lod0-jg "g" 14) +(def-joint-node ruins-drop-plat-b-lod0-jg "align" 1) +(def-joint-node ruins-drop-plat-b-lod0-jg "prejoint" 2) +(def-joint-node ruins-drop-plat-b-lod0-jg "main" 3) +(def-joint-node ruins-drop-plat-b-lod0-jg "trap_LR" 4) +(def-joint-node ruins-drop-plat-b-lod0-jg "trap_RR" 5) +(def-joint-node ruins-drop-plat-b-lod0-jg "trap_RF" 6) +(def-joint-node ruins-drop-plat-b-lod0-jg "trap_LF" 7) +(def-joint-node ruins-drop-plat-b-lod0-jg "a" 8) +(def-joint-node ruins-drop-plat-b-lod0-jg "b" 9) +(def-joint-node ruins-drop-plat-b-lod0-jg "c" 10) +(def-joint-node ruins-drop-plat-b-lod0-jg "d" 11) +(def-joint-node ruins-drop-plat-b-lod0-jg "e" 12) +(def-joint-node ruins-drop-plat-b-lod0-jg "f" 13) +(def-joint-node ruins-drop-plat-b-lod0-jg "w" 30) +(def-joint-node ruins-drop-plat-b-lod0-jg "x" 31) +(def-joint-node ruins-drop-plat-b-lod0-jg "y" 32) +(def-joint-node ruins-drop-plat-b-lod0-jg "z" 33) +(def-joint-node ruins-drop-plat-b-lod0-jg "" 34) +(def-joint-node ruins-drop-plat-b-lod0-jg "aa" 35) +(def-joint-node ruins-drop-plat-b-lod0-jg "ab" 36) +(def-joint-node ruins-drop-plat-b-lod0-jg "ac" 37) +(def-joint-node ruins-drop-plat-b-lod0-jg "ad" 38) +(def-joint-node ruins-drop-plat-b-lod0-jg "ae" 39) +(def-joint-node ruins-drop-plat-b-lod0-jg "af" 40) +(def-joint-node ruins-drop-plat-b-lod0-jg "ag" 41) +(def-joint-node ruins-drop-plat-b-lod0-jg "ah" 42) +(def-joint-node ruins-drop-plat-b-lod0-jg "ai" 43) +(def-joint-node ruins-drop-plat-b-lod0-jg "aj" 44) +(def-joint-node ruins-drop-plat-b-lod0-jg "ak" 45) +(def-joint-node ruins-drop-plat-b-lod0-jg "al" 46) +(def-joint-node ruins-drop-plat-b-lod0-jg "am" 47) +(def-joint-node ruins-drop-plat-b-lod0-jg "an" 48) +(def-joint-node ruins-drop-plat-b-lod0-jg "ao" 49) +(def-joint-node ruins-drop-plat-b-lod0-jg "ap" 50) +(def-joint-node ruins-drop-plat-b-lod0-jg "aq" 51) +(def-joint-node ruins-drop-plat-b-lod0-jg "ar" 52) +(def-joint-node ruins-drop-plat-b-lod0-jg "as" 53) +(def-joint-node ruins-drop-plat-b-lod0-jg "at" 54) +(def-joint-node ruins-drop-plat-b-lod0-jg "au" 55) +(def-joint-node ruins-drop-plat-b-lod0-jg "av" 56) +(def-joint-node ruins-drop-plat-b-lod0-jg "aw" 57) +(def-joint-node ruins-drop-plat-b-lod0-jg "ax" 58) +(def-joint-node ruins-drop-plat-b-lod0-jg "ay" 59) + +(def-joint-node ruins-drop-plat-a-lod0-jg "bc" 63) +(def-joint-node ruins-drop-plat-a-lod0-jg "bb" 62) +(def-joint-node ruins-drop-plat-a-lod0-jg "ba" 61) +(def-joint-node ruins-drop-plat-a-lod0-jg "az" 60) +(def-joint-node ruins-drop-plat-a-lod0-jg "v" 29) +(def-joint-node ruins-drop-plat-a-lod0-jg "u" 28) +(def-joint-node ruins-drop-plat-a-lod0-jg "t" 27) +(def-joint-node ruins-drop-plat-a-lod0-jg "s" 26) +(def-joint-node ruins-drop-plat-a-lod0-jg "r" 25) +(def-joint-node ruins-drop-plat-a-lod0-jg "q" 24) +(def-joint-node ruins-drop-plat-a-lod0-jg "p" 23) +(def-joint-node ruins-drop-plat-a-lod0-jg "o" 22) +(def-joint-node ruins-drop-plat-a-lod0-jg "n" 21) +(def-joint-node ruins-drop-plat-a-lod0-jg "m" 20) +(def-joint-node ruins-drop-plat-a-lod0-jg "l" 19) +(def-joint-node ruins-drop-plat-a-lod0-jg "k" 18) +(def-joint-node ruins-drop-plat-a-lod0-jg "j" 17) +(def-joint-node ruins-drop-plat-a-lod0-jg "i" 16) +(def-joint-node ruins-drop-plat-a-lod0-jg "h" 15) +(def-joint-node ruins-drop-plat-a-lod0-jg "g" 14) +(def-joint-node ruins-drop-plat-a-lod0-jg "align" 1) +(def-joint-node ruins-drop-plat-a-lod0-jg "prejoint" 2) +(def-joint-node ruins-drop-plat-a-lod0-jg "main" 3) +(def-joint-node ruins-drop-plat-a-lod0-jg "trap_LR" 4) +(def-joint-node ruins-drop-plat-a-lod0-jg "trap_RR" 5) +(def-joint-node ruins-drop-plat-a-lod0-jg "trap_RF" 6) +(def-joint-node ruins-drop-plat-a-lod0-jg "trap_LF" 7) +(def-joint-node ruins-drop-plat-a-lod0-jg "a" 8) +(def-joint-node ruins-drop-plat-a-lod0-jg "b" 9) +(def-joint-node ruins-drop-plat-a-lod0-jg "c" 10) +(def-joint-node ruins-drop-plat-a-lod0-jg "d" 11) +(def-joint-node ruins-drop-plat-a-lod0-jg "e" 12) +(def-joint-node ruins-drop-plat-a-lod0-jg "f" 13) +(def-joint-node ruins-drop-plat-a-lod0-jg "w" 30) +(def-joint-node ruins-drop-plat-a-lod0-jg "x" 31) +(def-joint-node ruins-drop-plat-a-lod0-jg "y" 32) +(def-joint-node ruins-drop-plat-a-lod0-jg "z" 33) +(def-joint-node ruins-drop-plat-a-lod0-jg "" 34) +(def-joint-node ruins-drop-plat-a-lod0-jg "aa" 35) +(def-joint-node ruins-drop-plat-a-lod0-jg "ab" 36) +(def-joint-node ruins-drop-plat-a-lod0-jg "ac" 37) +(def-joint-node ruins-drop-plat-a-lod0-jg "ad" 38) +(def-joint-node ruins-drop-plat-a-lod0-jg "ae" 39) +(def-joint-node ruins-drop-plat-a-lod0-jg "af" 40) +(def-joint-node ruins-drop-plat-a-lod0-jg "ag" 41) +(def-joint-node ruins-drop-plat-a-lod0-jg "ah" 42) +(def-joint-node ruins-drop-plat-a-lod0-jg "ai" 43) +(def-joint-node ruins-drop-plat-a-lod0-jg "aj" 44) +(def-joint-node ruins-drop-plat-a-lod0-jg "ak" 45) +(def-joint-node ruins-drop-plat-a-lod0-jg "al" 46) +(def-joint-node ruins-drop-plat-a-lod0-jg "am" 47) +(def-joint-node ruins-drop-plat-a-lod0-jg "an" 48) +(def-joint-node ruins-drop-plat-a-lod0-jg "ao" 49) +(def-joint-node ruins-drop-plat-a-lod0-jg "ap" 50) +(def-joint-node ruins-drop-plat-a-lod0-jg "aq" 51) +(def-joint-node ruins-drop-plat-a-lod0-jg "ar" 52) +(def-joint-node ruins-drop-plat-a-lod0-jg "as" 53) +(def-joint-node ruins-drop-plat-a-lod0-jg "at" 54) +(def-joint-node ruins-drop-plat-a-lod0-jg "au" 55) +(def-joint-node ruins-drop-plat-a-lod0-jg "av" 56) +(def-joint-node ruins-drop-plat-a-lod0-jg "aw" 57) +(def-joint-node ruins-drop-plat-a-lod0-jg "ax" 58) +(def-joint-node ruins-drop-plat-a-lod0-jg "ay" 59) + +(def-joint-node ruins-breakable-wall-4-lod0-jg "wall" 74) +(def-joint-node ruins-breakable-wall-4-lod0-jg "brick" 73) +(def-joint-node ruins-breakable-wall-4-lod0-jg "70" 72) +(def-joint-node ruins-breakable-wall-4-lod0-jg "69" 71) +(def-joint-node ruins-breakable-wall-4-lod0-jg "68" 70) +(def-joint-node ruins-breakable-wall-4-lod0-jg "67" 69) +(def-joint-node ruins-breakable-wall-4-lod0-jg "66" 68) +(def-joint-node ruins-breakable-wall-4-lod0-jg "65" 67) +(def-joint-node ruins-breakable-wall-4-lod0-jg "64" 66) +(def-joint-node ruins-breakable-wall-4-lod0-jg "63" 65) +(def-joint-node ruins-breakable-wall-4-lod0-jg "62" 64) +(def-joint-node ruins-breakable-wall-4-lod0-jg "61" 63) +(def-joint-node ruins-breakable-wall-4-lod0-jg "60" 62) +(def-joint-node ruins-breakable-wall-4-lod0-jg "59" 61) +(def-joint-node ruins-breakable-wall-4-lod0-jg "58" 60) +(def-joint-node ruins-breakable-wall-4-lod0-jg "27" 29) +(def-joint-node ruins-breakable-wall-4-lod0-jg "26" 28) +(def-joint-node ruins-breakable-wall-4-lod0-jg "25" 27) +(def-joint-node ruins-breakable-wall-4-lod0-jg "24" 26) +(def-joint-node ruins-breakable-wall-4-lod0-jg "23" 25) +(def-joint-node ruins-breakable-wall-4-lod0-jg "22" 24) +(def-joint-node ruins-breakable-wall-4-lod0-jg "21" 23) +(def-joint-node ruins-breakable-wall-4-lod0-jg "20" 22) +(def-joint-node ruins-breakable-wall-4-lod0-jg "19" 21) +(def-joint-node ruins-breakable-wall-4-lod0-jg "18" 20) +(def-joint-node ruins-breakable-wall-4-lod0-jg "17" 19) +(def-joint-node ruins-breakable-wall-4-lod0-jg "16" 18) +(def-joint-node ruins-breakable-wall-4-lod0-jg "15" 17) +(def-joint-node ruins-breakable-wall-4-lod0-jg "14" 16) +(def-joint-node ruins-breakable-wall-4-lod0-jg "13" 15) +(def-joint-node ruins-breakable-wall-4-lod0-jg "12" 14) +(def-joint-node ruins-breakable-wall-4-lod0-jg "align" 1) +(def-joint-node ruins-breakable-wall-4-lod0-jg "prejoint" 2) +(def-joint-node ruins-breakable-wall-4-lod0-jg "1" 3) +(def-joint-node ruins-breakable-wall-4-lod0-jg "2" 4) +(def-joint-node ruins-breakable-wall-4-lod0-jg "3" 5) +(def-joint-node ruins-breakable-wall-4-lod0-jg "4" 6) +(def-joint-node ruins-breakable-wall-4-lod0-jg "5" 7) +(def-joint-node ruins-breakable-wall-4-lod0-jg "6" 8) +(def-joint-node ruins-breakable-wall-4-lod0-jg "7" 9) +(def-joint-node ruins-breakable-wall-4-lod0-jg "8" 10) +(def-joint-node ruins-breakable-wall-4-lod0-jg "9" 11) +(def-joint-node ruins-breakable-wall-4-lod0-jg "10" 12) +(def-joint-node ruins-breakable-wall-4-lod0-jg "11" 13) +(def-joint-node ruins-breakable-wall-4-lod0-jg "28" 30) +(def-joint-node ruins-breakable-wall-4-lod0-jg "29" 31) +(def-joint-node ruins-breakable-wall-4-lod0-jg "30" 32) +(def-joint-node ruins-breakable-wall-4-lod0-jg "31" 33) +(def-joint-node ruins-breakable-wall-4-lod0-jg "32" 34) +(def-joint-node ruins-breakable-wall-4-lod0-jg "33" 35) +(def-joint-node ruins-breakable-wall-4-lod0-jg "34" 36) +(def-joint-node ruins-breakable-wall-4-lod0-jg "35" 37) +(def-joint-node ruins-breakable-wall-4-lod0-jg "36" 38) +(def-joint-node ruins-breakable-wall-4-lod0-jg "37" 39) +(def-joint-node ruins-breakable-wall-4-lod0-jg "38" 40) +(def-joint-node ruins-breakable-wall-4-lod0-jg "39" 41) +(def-joint-node ruins-breakable-wall-4-lod0-jg "40" 42) +(def-joint-node ruins-breakable-wall-4-lod0-jg "41" 43) +(def-joint-node ruins-breakable-wall-4-lod0-jg "42" 44) +(def-joint-node ruins-breakable-wall-4-lod0-jg "43" 45) +(def-joint-node ruins-breakable-wall-4-lod0-jg "44" 46) +(def-joint-node ruins-breakable-wall-4-lod0-jg "45" 47) +(def-joint-node ruins-breakable-wall-4-lod0-jg "46" 48) +(def-joint-node ruins-breakable-wall-4-lod0-jg "47" 49) +(def-joint-node ruins-breakable-wall-4-lod0-jg "48" 50) +(def-joint-node ruins-breakable-wall-4-lod0-jg "49" 51) +(def-joint-node ruins-breakable-wall-4-lod0-jg "50" 52) +(def-joint-node ruins-breakable-wall-4-lod0-jg "51" 53) +(def-joint-node ruins-breakable-wall-4-lod0-jg "52" 54) +(def-joint-node ruins-breakable-wall-4-lod0-jg "53" 55) +(def-joint-node ruins-breakable-wall-4-lod0-jg "54" 56) +(def-joint-node ruins-breakable-wall-4-lod0-jg "55" 57) +(def-joint-node ruins-breakable-wall-4-lod0-jg "56" 58) +(def-joint-node ruins-breakable-wall-4-lod0-jg "57" 59) + +(def-joint-node kor-lod0-jg "frtunicB" 54) +(def-joint-node kor-lod0-jg "frtunicA" 53) +(def-joint-node kor-lod0-jg "bktunicB" 52) +(def-joint-node kor-lod0-jg "bktunicA" 51) +(def-joint-node kor-lod0-jg "bagB" 50) +(def-joint-node kor-lod0-jg "bagA" 49) +(def-joint-node kor-lod0-jg "RmiddleB" 48) +(def-joint-node kor-lod0-jg "RmiddleA" 47) +(def-joint-node kor-lod0-jg "RthumbB" 46) +(def-joint-node kor-lod0-jg "RthumbA" 45) +(def-joint-node kor-lod0-jg "LmiddleB" 44) +(def-joint-node kor-lod0-jg "LmiddleA" 43) +(def-joint-node kor-lod0-jg "LthumbB" 42) +(def-joint-node kor-lod0-jg "LthumbA" 41) +(def-joint-node kor-lod0-jg "rtcuffB" 40) +(def-joint-node kor-lod0-jg "rtcuffA" 39) +(def-joint-node kor-lod0-jg "ltcuffB" 38) +(def-joint-node kor-lod0-jg "ltcuffA" 37) +(def-joint-node kor-lod0-jg "hoodB" 36) +(def-joint-node kor-lod0-jg "hoodA" 35) +(def-joint-node kor-lod0-jg "necklaceB" 34) +(def-joint-node kor-lod0-jg "necklaceA" 33) +(def-joint-node kor-lod0-jg "rtbeardA" 32) +(def-joint-node kor-lod0-jg "ltbeardA" 31) +(def-joint-node kor-lod0-jg "hatgemA" 30) +(def-joint-node kor-lod0-jg "hips" 13) +(def-joint-node kor-lod0-jg "Rhand" 12) +(def-joint-node kor-lod0-jg "Relbow" 11) +(def-joint-node kor-lod0-jg "Rshoulder" 10) +(def-joint-node kor-lod0-jg "Lhand" 9) +(def-joint-node kor-lod0-jg "Lelbow" 8) +(def-joint-node kor-lod0-jg "Lshoulder" 7) +(def-joint-node kor-lod0-jg "head" 6) +(def-joint-node kor-lod0-jg "neck" 5) +(def-joint-node kor-lod0-jg "chest" 4) +(def-joint-node kor-lod0-jg "main" 3) +(def-joint-node kor-lod0-jg "prejoint" 2) +(def-joint-node kor-lod0-jg "align" 1) +(def-joint-node kor-lod0-jg "Lthigh" 14) +(def-joint-node kor-lod0-jg "Lknee" 15) +(def-joint-node kor-lod0-jg "Lankle" 16) +(def-joint-node kor-lod0-jg "Lball" 17) +(def-joint-node kor-lod0-jg "Rthigh" 18) +(def-joint-node kor-lod0-jg "Rknee" 19) +(def-joint-node kor-lod0-jg "Rankle" 20) +(def-joint-node kor-lod0-jg "Rball" 21) +(def-joint-node kor-lod0-jg "staff" 22) +(def-joint-node kor-lod0-jg "eyeBlink" 23) +(def-joint-node kor-lod0-jg "hairA" 24) +(def-joint-node kor-lod0-jg "hairB" 25) +(def-joint-node kor-lod0-jg "leftearA" 26) +(def-joint-node kor-lod0-jg "rightearA" 27) +(def-joint-node kor-lod0-jg "ltburnA" 28) +(def-joint-node kor-lod0-jg "rtburnA" 29) + +(def-joint-node burning-bush-lod0-jg "burning_bush" 4) +(def-joint-node burning-bush-lod0-jg "main" 3) +(def-joint-node burning-bush-lod0-jg "prejoint" 2) +(def-joint-node burning-bush-lod0-jg "align" 1) + +(def-joint-node lurker-pipe-lid-lod0-jg "main" 3) +(def-joint-node lurker-pipe-lid-lod0-jg "prejoint" 2) +(def-joint-node lurker-pipe-lid-lod0-jg "align" 1) + +(def-joint-node propa-lod0-jg "main" 3) +(def-joint-node propa-lod0-jg "prejoint" 2) +(def-joint-node propa-lod0-jg "align" 1) + +(def-joint-node vehicle-explosion-lod0-jg "frontfinl_" 18) +(def-joint-node vehicle-explosion-lod0-jg "frontfinr_" 17) +(def-joint-node vehicle-explosion-lod0-jg "tailfinl_" 16) +(def-joint-node vehicle-explosion-lod0-jg "tailfinr_" 15) +(def-joint-node vehicle-explosion-lod0-jg "rearbrakel_" 14) +(def-joint-node vehicle-explosion-lod0-jg "align" 1) +(def-joint-node vehicle-explosion-lod0-jg "prejoint" 2) +(def-joint-node vehicle-explosion-lod0-jg "main_" 3) +(def-joint-node vehicle-explosion-lod0-jg "fuseb_" 4) +(def-joint-node vehicle-explosion-lod0-jg "fusea_" 5) +(def-joint-node vehicle-explosion-lod0-jg "fusec_" 6) +(def-joint-node vehicle-explosion-lod0-jg "nosea_" 7) +(def-joint-node vehicle-explosion-lod0-jg "enginea_" 8) +(def-joint-node vehicle-explosion-lod0-jg "sheld_" 9) +(def-joint-node vehicle-explosion-lod0-jg "engineb_" 10) +(def-joint-node vehicle-explosion-lod0-jg "intake_" 11) +(def-joint-node vehicle-explosion-lod0-jg "rudder_" 12) +(def-joint-node vehicle-explosion-lod0-jg "rearbraker_" 13) + +(def-joint-node cty-guard-turret-lod0-jg "gunsR" 8) +(def-joint-node cty-guard-turret-lod0-jg "gunsL" 7) +(def-joint-node cty-guard-turret-lod0-jg "turret" 6) +(def-joint-node cty-guard-turret-lod0-jg "lidR" 5) +(def-joint-node cty-guard-turret-lod0-jg "lidL" 4) +(def-joint-node cty-guard-turret-lod0-jg "main" 3) +(def-joint-node cty-guard-turret-lod0-jg "prejoint" 2) +(def-joint-node cty-guard-turret-lod0-jg "align" 1) + +(def-joint-node baron-statue-lod0-jg "swordshimmer2" 5) +(def-joint-node baron-statue-lod0-jg "swordshimmer1" 4) +(def-joint-node baron-statue-lod0-jg "main" 3) +(def-joint-node baron-statue-lod0-jg "prejoint" 2) +(def-joint-node baron-statue-lod0-jg "align" 1) + +(def-joint-node cpad-elevator-lod0-jg "main" 3) +(def-joint-node cpad-elevator-lod0-jg "prejoint" 2) +(def-joint-node cpad-elevator-lod0-jg "align" 1) + +(def-joint-node barge-lod0-jg "main" 3) +(def-joint-node barge-lod0-jg "prejoint" 2) +(def-joint-node barge-lod0-jg "align" 1) + +(def-joint-node under-laser-shadow-lod0-jg "main" 3) +(def-joint-node under-laser-shadow-lod0-jg "prejoint" 2) +(def-joint-node under-laser-shadow-lod0-jg "align" 1) + +(def-joint-node under-laser-lod0-jg "main" 3) +(def-joint-node under-laser-lod0-jg "prejoint" 2) +(def-joint-node under-laser-lod0-jg "align" 1) + +(def-joint-node under-warp-lod0-jg "dest" 7) +(def-joint-node under-warp-lod0-jg "D" 6) +(def-joint-node under-warp-lod0-jg "C" 5) +(def-joint-node under-warp-lod0-jg "B" 4) +(def-joint-node under-warp-lod0-jg "A" 3) +(def-joint-node under-warp-lod0-jg "prejoint" 2) +(def-joint-node under-warp-lod0-jg "align" 1) + +(def-joint-node under-plat-long-lod0-jg "main" 3) +(def-joint-node under-plat-long-lod0-jg "prejoint" 2) +(def-joint-node under-plat-long-lod0-jg "align" 1) + +(def-joint-node under-plat-wall-lod0-jg "main" 3) +(def-joint-node under-plat-wall-lod0-jg "prejoint" 2) +(def-joint-node under-plat-wall-lod0-jg "align" 1) + +(def-joint-node water-anim-under-pool-lod0-jg "boneless" 3) +(def-joint-node water-anim-under-pool-lod0-jg "prejoint" 2) +(def-joint-node water-anim-under-pool-lod0-jg "align" 1) + +(def-joint-node under-buoy-chain-lod0-jg "raise" 4) +(def-joint-node under-buoy-chain-lod0-jg "main" 3) +(def-joint-node under-buoy-chain-lod0-jg "prejoint" 2) +(def-joint-node under-buoy-chain-lod0-jg "align" 1) + +(def-joint-node under-buoy-base-lod0-jg "arm3" 6) +(def-joint-node under-buoy-base-lod0-jg "arm2" 5) +(def-joint-node under-buoy-base-lod0-jg "arm1" 4) +(def-joint-node under-buoy-base-lod0-jg "main" 3) +(def-joint-node under-buoy-base-lod0-jg "prejoint" 2) +(def-joint-node under-buoy-base-lod0-jg "align" 1) + +(def-joint-node under-rise-plat-lod0-jg "main" 3) +(def-joint-node under-rise-plat-lod0-jg "prejoint" 2) +(def-joint-node under-rise-plat-lod0-jg "align" 1) + +(def-joint-node under-int-door-lod0-jg "door_R" 4) +(def-joint-node under-int-door-lod0-jg "door_L" 3) +(def-joint-node under-int-door-lod0-jg "prejoint" 2) +(def-joint-node under-int-door-lod0-jg "align" 1) + +(def-joint-node centipede-lod0-jg "Rmandible" 8) +(def-joint-node centipede-lod0-jg "Lmandible" 7) +(def-joint-node centipede-lod0-jg "head" 6) +(def-joint-node centipede-lod0-jg "neckB" 5) +(def-joint-node centipede-lod0-jg "neckA" 4) +(def-joint-node centipede-lod0-jg "main" 3) +(def-joint-node centipede-lod0-jg "prejoint" 2) +(def-joint-node centipede-lod0-jg "align" 1) + +(def-joint-node under-break-floor-explode-lod0-jg "k" 13) +(def-joint-node under-break-floor-explode-lod0-jg "j" 12) +(def-joint-node under-break-floor-explode-lod0-jg "i" 11) +(def-joint-node under-break-floor-explode-lod0-jg "h" 10) +(def-joint-node under-break-floor-explode-lod0-jg "g" 9) +(def-joint-node under-break-floor-explode-lod0-jg "f" 8) +(def-joint-node under-break-floor-explode-lod0-jg "e" 7) +(def-joint-node under-break-floor-explode-lod0-jg "d" 6) +(def-joint-node under-break-floor-explode-lod0-jg "c" 5) +(def-joint-node under-break-floor-explode-lod0-jg "b" 4) +(def-joint-node under-break-floor-explode-lod0-jg "a" 3) +(def-joint-node under-break-floor-explode-lod0-jg "prejoint" 2) +(def-joint-node under-break-floor-explode-lod0-jg "align" 1) + +(def-joint-node under-break-floor-lod0-jg "main" 3) +(def-joint-node under-break-floor-lod0-jg "prejoint" 2) +(def-joint-node under-break-floor-lod0-jg "align" 1) + +(def-joint-node jellyfish-lod0-jg "mouthTube" 40) +(def-joint-node jellyfish-lod0-jg "RheadGear" 39) +(def-joint-node jellyfish-lod0-jg "LheadGear" 38) +(def-joint-node jellyfish-lod0-jg "headTube" 37) +(def-joint-node jellyfish-lod0-jg "head" 36) +(def-joint-node jellyfish-lod0-jg "RrearTentacleE" 35) +(def-joint-node jellyfish-lod0-jg "RrearTentacleD" 34) +(def-joint-node jellyfish-lod0-jg "RrearTentacleC" 33) +(def-joint-node jellyfish-lod0-jg "RrearTentacleB" 32) +(def-joint-node jellyfish-lod0-jg "RrearTentacleA" 31) +(def-joint-node jellyfish-lod0-jg "LrearTentacleE" 30) +(def-joint-node jellyfish-lod0-jg "mainVeinD" 13) +(def-joint-node jellyfish-lod0-jg "mainVeinC" 12) +(def-joint-node jellyfish-lod0-jg "mainVeinB" 11) +(def-joint-node jellyfish-lod0-jg "mainVeinA" 10) +(def-joint-node jellyfish-lod0-jg "RrearFlap" 9) +(def-joint-node jellyfish-lod0-jg "LrearFlap" 8) +(def-joint-node jellyfish-lod0-jg "RmidFlap" 7) +(def-joint-node jellyfish-lod0-jg "LmidFlap" 6) +(def-joint-node jellyfish-lod0-jg "RFrontFlap" 5) +(def-joint-node jellyfish-lod0-jg "LFrontFlap" 4) +(def-joint-node jellyfish-lod0-jg "main" 3) +(def-joint-node jellyfish-lod0-jg "prejoint" 2) +(def-joint-node jellyfish-lod0-jg "align" 1) +(def-joint-node jellyfish-lod0-jg "mainVeinE" 14) +(def-joint-node jellyfish-lod0-jg "mainVeinF" 15) +(def-joint-node jellyfish-lod0-jg "LfrontTentacleA" 16) +(def-joint-node jellyfish-lod0-jg "LfrontTentacleB" 17) +(def-joint-node jellyfish-lod0-jg "LfrontTentacleC" 18) +(def-joint-node jellyfish-lod0-jg "LfrontTentacleD" 19) +(def-joint-node jellyfish-lod0-jg "LfrontTentacleE" 20) +(def-joint-node jellyfish-lod0-jg "RfrontTentacleA" 21) +(def-joint-node jellyfish-lod0-jg "RfrontTentacleB" 22) +(def-joint-node jellyfish-lod0-jg "RfrontTentacleC" 23) +(def-joint-node jellyfish-lod0-jg "RfrontTentacleD" 24) +(def-joint-node jellyfish-lod0-jg "RfrontTentacleE" 25) +(def-joint-node jellyfish-lod0-jg "LrearTentacleA" 26) +(def-joint-node jellyfish-lod0-jg "LrearTentacleB" 27) +(def-joint-node jellyfish-lod0-jg "LrearTentacleC" 28) +(def-joint-node jellyfish-lod0-jg "LrearTentacleD" 29) + +(def-joint-node under-mine-lod0-jg "head" 15) +(def-joint-node under-mine-lod0-jg "link_k" 14) +(def-joint-node under-mine-lod0-jg "align" 1) +(def-joint-node under-mine-lod0-jg "prejoint" 2) +(def-joint-node under-mine-lod0-jg "main" 3) +(def-joint-node under-mine-lod0-jg "link_a" 4) +(def-joint-node under-mine-lod0-jg "link_b" 5) +(def-joint-node under-mine-lod0-jg "link_c" 6) +(def-joint-node under-mine-lod0-jg "link_d" 7) +(def-joint-node under-mine-lod0-jg "link_e" 8) +(def-joint-node under-mine-lod0-jg "link_f" 9) +(def-joint-node under-mine-lod0-jg "link_g" 10) +(def-joint-node under-mine-lod0-jg "link_h" 11) +(def-joint-node under-mine-lod0-jg "link_i" 12) +(def-joint-node under-mine-lod0-jg "link_j" 13) + +(def-joint-node water-anim-ctypal-smlsqr-pool-lod0-jg "boneless" 3) +(def-joint-node water-anim-ctypal-smlsqr-pool-lod0-jg "prejoint" 2) +(def-joint-node water-anim-ctypal-smlsqr-pool-lod0-jg "align" 1) + +(def-joint-node vin-turbine-lod0-jg "boneless" 3) +(def-joint-node vin-turbine-lod0-jg "prejoint" 2) +(def-joint-node vin-turbine-lod0-jg "align" 1) + +(def-joint-node vin-door-lod0-jg "Rdoor" 5) +(def-joint-node vin-door-lod0-jg "Ldoor" 4) +(def-joint-node vin-door-lod0-jg "main" 3) +(def-joint-node vin-door-lod0-jg "prejoint" 2) +(def-joint-node vin-door-lod0-jg "align" 1) + +(def-joint-node plasmitebox-lod0-jg "toptranslate7" 18) +(def-joint-node plasmitebox-lod0-jg "plasmite7" 17) +(def-joint-node plasmitebox-lod0-jg "toptranslate6" 16) +(def-joint-node plasmitebox-lod0-jg "plasmite6" 15) +(def-joint-node plasmitebox-lod0-jg "toptranslate5" 14) +(def-joint-node plasmitebox-lod0-jg "align" 1) +(def-joint-node plasmitebox-lod0-jg "prejoint" 2) +(def-joint-node plasmitebox-lod0-jg "boxmain" 3) +(def-joint-node plasmitebox-lod0-jg "rotate" 4) +(def-joint-node plasmitebox-lod0-jg "plasmite1" 5) +(def-joint-node plasmitebox-lod0-jg "toptranslate1" 6) +(def-joint-node plasmitebox-lod0-jg "plasmite2" 7) +(def-joint-node plasmitebox-lod0-jg "toptranslate2" 8) +(def-joint-node plasmitebox-lod0-jg "plasmite3" 9) +(def-joint-node plasmitebox-lod0-jg "toptranslate3" 10) +(def-joint-node plasmitebox-lod0-jg "plasmite4" 11) +(def-joint-node plasmitebox-lod0-jg "toptranslate4" 12) +(def-joint-node plasmitebox-lod0-jg "plasmite5" 13) + +(def-joint-node ecowell-c-lod0-jg "ay" 54) +(def-joint-node ecowell-c-lod0-jg "ax" 53) +(def-joint-node ecowell-c-lod0-jg "aw" 52) +(def-joint-node ecowell-c-lod0-jg "av" 51) +(def-joint-node ecowell-c-lod0-jg "au" 50) +(def-joint-node ecowell-c-lod0-jg "at" 49) +(def-joint-node ecowell-c-lod0-jg "as" 48) +(def-joint-node ecowell-c-lod0-jg "ar" 47) +(def-joint-node ecowell-c-lod0-jg "aq" 46) +(def-joint-node ecowell-c-lod0-jg "ap" 45) +(def-joint-node ecowell-c-lod0-jg "ao" 44) +(def-joint-node ecowell-c-lod0-jg "an" 43) +(def-joint-node ecowell-c-lod0-jg "am" 42) +(def-joint-node ecowell-c-lod0-jg "al" 41) +(def-joint-node ecowell-c-lod0-jg "ak" 40) +(def-joint-node ecowell-c-lod0-jg "aj" 39) +(def-joint-node ecowell-c-lod0-jg "ai" 38) +(def-joint-node ecowell-c-lod0-jg "ah" 37) +(def-joint-node ecowell-c-lod0-jg "ag" 36) +(def-joint-node ecowell-c-lod0-jg "af" 35) +(def-joint-node ecowell-c-lod0-jg "ae" 34) +(def-joint-node ecowell-c-lod0-jg "ad" 33) +(def-joint-node ecowell-c-lod0-jg "ac" 32) +(def-joint-node ecowell-c-lod0-jg "ab" 31) +(def-joint-node ecowell-c-lod0-jg "aa" 30) +(def-joint-node ecowell-c-lod0-jg "k" 13) +(def-joint-node ecowell-c-lod0-jg "j" 12) +(def-joint-node ecowell-c-lod0-jg "i" 11) +(def-joint-node ecowell-c-lod0-jg "h" 10) +(def-joint-node ecowell-c-lod0-jg "g" 9) +(def-joint-node ecowell-c-lod0-jg "f" 8) +(def-joint-node ecowell-c-lod0-jg "e" 7) +(def-joint-node ecowell-c-lod0-jg "d" 6) +(def-joint-node ecowell-c-lod0-jg "c" 5) +(def-joint-node ecowell-c-lod0-jg "b" 4) +(def-joint-node ecowell-c-lod0-jg "a" 3) +(def-joint-node ecowell-c-lod0-jg "prejoint" 2) +(def-joint-node ecowell-c-lod0-jg "align" 1) +(def-joint-node ecowell-c-lod0-jg "l" 14) +(def-joint-node ecowell-c-lod0-jg "m" 15) +(def-joint-node ecowell-c-lod0-jg "n" 16) +(def-joint-node ecowell-c-lod0-jg "o" 17) +(def-joint-node ecowell-c-lod0-jg "p" 18) +(def-joint-node ecowell-c-lod0-jg "q" 19) +(def-joint-node ecowell-c-lod0-jg "r" 20) +(def-joint-node ecowell-c-lod0-jg "s" 21) +(def-joint-node ecowell-c-lod0-jg "t" 22) +(def-joint-node ecowell-c-lod0-jg "u" 23) +(def-joint-node ecowell-c-lod0-jg "v" 24) +(def-joint-node ecowell-c-lod0-jg "w" 25) +(def-joint-node ecowell-c-lod0-jg "x" 26) +(def-joint-node ecowell-c-lod0-jg "y" 27) +(def-joint-node ecowell-c-lod0-jg "z" 28) +(def-joint-node ecowell-c-lod0-jg "" 29) + +(def-joint-node ruins-breakable-wall-5-lod0-jg "main" 78) +(def-joint-node ruins-breakable-wall-5-lod0-jg "75" 77) +(def-joint-node ruins-breakable-wall-5-lod0-jg "74" 76) +(def-joint-node ruins-breakable-wall-5-lod0-jg "73" 75) +(def-joint-node ruins-breakable-wall-5-lod0-jg "72" 74) +(def-joint-node ruins-breakable-wall-5-lod0-jg "71" 73) +(def-joint-node ruins-breakable-wall-5-lod0-jg "70" 72) +(def-joint-node ruins-breakable-wall-5-lod0-jg "69" 71) +(def-joint-node ruins-breakable-wall-5-lod0-jg "68" 70) +(def-joint-node ruins-breakable-wall-5-lod0-jg "67" 69) +(def-joint-node ruins-breakable-wall-5-lod0-jg "66" 68) +(def-joint-node ruins-breakable-wall-5-lod0-jg "65" 67) +(def-joint-node ruins-breakable-wall-5-lod0-jg "64" 66) +(def-joint-node ruins-breakable-wall-5-lod0-jg "63" 65) +(def-joint-node ruins-breakable-wall-5-lod0-jg "62" 64) +(def-joint-node ruins-breakable-wall-5-lod0-jg "61" 63) +(def-joint-node ruins-breakable-wall-5-lod0-jg "60" 62) +(def-joint-node ruins-breakable-wall-5-lod0-jg "59" 61) +(def-joint-node ruins-breakable-wall-5-lod0-jg "58" 60) +(def-joint-node ruins-breakable-wall-5-lod0-jg "27" 29) +(def-joint-node ruins-breakable-wall-5-lod0-jg "26" 28) +(def-joint-node ruins-breakable-wall-5-lod0-jg "25" 27) +(def-joint-node ruins-breakable-wall-5-lod0-jg "24" 26) +(def-joint-node ruins-breakable-wall-5-lod0-jg "23" 25) +(def-joint-node ruins-breakable-wall-5-lod0-jg "22" 24) +(def-joint-node ruins-breakable-wall-5-lod0-jg "21" 23) +(def-joint-node ruins-breakable-wall-5-lod0-jg "20" 22) +(def-joint-node ruins-breakable-wall-5-lod0-jg "19" 21) +(def-joint-node ruins-breakable-wall-5-lod0-jg "18" 20) +(def-joint-node ruins-breakable-wall-5-lod0-jg "17" 19) +(def-joint-node ruins-breakable-wall-5-lod0-jg "16" 18) +(def-joint-node ruins-breakable-wall-5-lod0-jg "15" 17) +(def-joint-node ruins-breakable-wall-5-lod0-jg "14" 16) +(def-joint-node ruins-breakable-wall-5-lod0-jg "13" 15) +(def-joint-node ruins-breakable-wall-5-lod0-jg "12" 14) +(def-joint-node ruins-breakable-wall-5-lod0-jg "align" 1) +(def-joint-node ruins-breakable-wall-5-lod0-jg "prejoint" 2) +(def-joint-node ruins-breakable-wall-5-lod0-jg "1" 3) +(def-joint-node ruins-breakable-wall-5-lod0-jg "2" 4) +(def-joint-node ruins-breakable-wall-5-lod0-jg "3" 5) +(def-joint-node ruins-breakable-wall-5-lod0-jg "4" 6) +(def-joint-node ruins-breakable-wall-5-lod0-jg "5" 7) +(def-joint-node ruins-breakable-wall-5-lod0-jg "6" 8) +(def-joint-node ruins-breakable-wall-5-lod0-jg "7" 9) +(def-joint-node ruins-breakable-wall-5-lod0-jg "8" 10) +(def-joint-node ruins-breakable-wall-5-lod0-jg "9" 11) +(def-joint-node ruins-breakable-wall-5-lod0-jg "10" 12) +(def-joint-node ruins-breakable-wall-5-lod0-jg "11" 13) +(def-joint-node ruins-breakable-wall-5-lod0-jg "28" 30) +(def-joint-node ruins-breakable-wall-5-lod0-jg "29" 31) +(def-joint-node ruins-breakable-wall-5-lod0-jg "30" 32) +(def-joint-node ruins-breakable-wall-5-lod0-jg "31" 33) +(def-joint-node ruins-breakable-wall-5-lod0-jg "32" 34) +(def-joint-node ruins-breakable-wall-5-lod0-jg "33" 35) +(def-joint-node ruins-breakable-wall-5-lod0-jg "34" 36) +(def-joint-node ruins-breakable-wall-5-lod0-jg "35" 37) +(def-joint-node ruins-breakable-wall-5-lod0-jg "36" 38) +(def-joint-node ruins-breakable-wall-5-lod0-jg "37" 39) +(def-joint-node ruins-breakable-wall-5-lod0-jg "38" 40) +(def-joint-node ruins-breakable-wall-5-lod0-jg "39" 41) +(def-joint-node ruins-breakable-wall-5-lod0-jg "40" 42) +(def-joint-node ruins-breakable-wall-5-lod0-jg "41" 43) +(def-joint-node ruins-breakable-wall-5-lod0-jg "42" 44) +(def-joint-node ruins-breakable-wall-5-lod0-jg "43" 45) +(def-joint-node ruins-breakable-wall-5-lod0-jg "44" 46) +(def-joint-node ruins-breakable-wall-5-lod0-jg "45" 47) +(def-joint-node ruins-breakable-wall-5-lod0-jg "46" 48) +(def-joint-node ruins-breakable-wall-5-lod0-jg "47" 49) +(def-joint-node ruins-breakable-wall-5-lod0-jg "48" 50) +(def-joint-node ruins-breakable-wall-5-lod0-jg "49" 51) +(def-joint-node ruins-breakable-wall-5-lod0-jg "50" 52) +(def-joint-node ruins-breakable-wall-5-lod0-jg "51" 53) +(def-joint-node ruins-breakable-wall-5-lod0-jg "52" 54) +(def-joint-node ruins-breakable-wall-5-lod0-jg "53" 55) +(def-joint-node ruins-breakable-wall-5-lod0-jg "54" 56) +(def-joint-node ruins-breakable-wall-5-lod0-jg "55" 57) +(def-joint-node ruins-breakable-wall-5-lod0-jg "56" 58) +(def-joint-node ruins-breakable-wall-5-lod0-jg "57" 59) + +(def-joint-node vin-lod0-jg "Rball" 61) +(def-joint-node vin-lod0-jg "Lball" 60) +(def-joint-node vin-lod0-jg "frhairmid" 29) +(def-joint-node vin-lod0-jg "frhairbase" 28) +(def-joint-node vin-lod0-jg "hairmid" 27) +(def-joint-node vin-lod0-jg "hairbase" 26) +(def-joint-node vin-lod0-jg "Rearmid" 25) +(def-joint-node vin-lod0-jg "Rearbase" 24) +(def-joint-node vin-lod0-jg "Learmid" 23) +(def-joint-node vin-lod0-jg "Learbase" 22) +(def-joint-node vin-lod0-jg "blast" 21) +(def-joint-node vin-lod0-jg "gun" 20) +(def-joint-node vin-lod0-jg "Rankle" 19) +(def-joint-node vin-lod0-jg "Rknee" 18) +(def-joint-node vin-lod0-jg "Rthigh" 17) +(def-joint-node vin-lod0-jg "Lankle" 16) +(def-joint-node vin-lod0-jg "Lknee" 15) +(def-joint-node vin-lod0-jg "Lthigh" 14) +(def-joint-node vin-lod0-jg "align" 1) +(def-joint-node vin-lod0-jg "prejoint" 2) +(def-joint-node vin-lod0-jg "main" 3) +(def-joint-node vin-lod0-jg "chest" 4) +(def-joint-node vin-lod0-jg "neck" 5) +(def-joint-node vin-lod0-jg "head" 6) +(def-joint-node vin-lod0-jg "Lshoulder" 7) +(def-joint-node vin-lod0-jg "Lelbow" 8) +(def-joint-node vin-lod0-jg "Lhand" 9) +(def-joint-node vin-lod0-jg "Rshoulder" 10) +(def-joint-node vin-lod0-jg "Relbow" 11) +(def-joint-node vin-lod0-jg "Rhand" 12) +(def-joint-node vin-lod0-jg "hips" 13) +(def-joint-node vin-lod0-jg "LthumbA" 30) +(def-joint-node vin-lod0-jg "LthumbB" 31) +(def-joint-node vin-lod0-jg "LthumbC" 32) +(def-joint-node vin-lod0-jg "LindexA" 33) +(def-joint-node vin-lod0-jg "LindexB" 34) +(def-joint-node vin-lod0-jg "LindexC" 35) +(def-joint-node vin-lod0-jg "LmiddleA" 36) +(def-joint-node vin-lod0-jg "LmiddleB" 37) +(def-joint-node vin-lod0-jg "LmiddleC" 38) +(def-joint-node vin-lod0-jg "LringA" 39) +(def-joint-node vin-lod0-jg "LringB" 40) +(def-joint-node vin-lod0-jg "LringC" 41) +(def-joint-node vin-lod0-jg "LpinkyA" 42) +(def-joint-node vin-lod0-jg "LpinkyB" 43) +(def-joint-node vin-lod0-jg "LpinkyC" 44) +(def-joint-node vin-lod0-jg "RthumbA" 45) +(def-joint-node vin-lod0-jg "RthumbB" 46) +(def-joint-node vin-lod0-jg "RthumbC" 47) +(def-joint-node vin-lod0-jg "RindexA" 48) +(def-joint-node vin-lod0-jg "RindexB" 49) +(def-joint-node vin-lod0-jg "RindexC" 50) +(def-joint-node vin-lod0-jg "RmiddleA" 51) +(def-joint-node vin-lod0-jg "RmiddleB" 52) +(def-joint-node vin-lod0-jg "RmiddleC" 53) +(def-joint-node vin-lod0-jg "RringA" 54) +(def-joint-node vin-lod0-jg "RringB" 55) +(def-joint-node vin-lod0-jg "RringC" 56) +(def-joint-node vin-lod0-jg "RpinkyA" 57) +(def-joint-node vin-lod0-jg "RpinkyB" 58) +(def-joint-node vin-lod0-jg "RpinkyC" 59) + +(def-joint-node sew-valve-lod0-jg "wheelrot" 4) +(def-joint-node sew-valve-lod0-jg "main" 3) +(def-joint-node sew-valve-lod0-jg "prejoint" 2) +(def-joint-node sew-valve-lod0-jg "align" 1) + +(def-joint-node sew-single-blade-lod0-jg "main" 3) +(def-joint-node sew-single-blade-lod0-jg "prejoint" 2) +(def-joint-node sew-single-blade-lod0-jg "align" 1) + +(def-joint-node sew-gunturret-explode-lod0-jg "bodypiece" 20) +(def-joint-node sew-gunturret-explode-lod0-jg "topbodyR" 19) +(def-joint-node sew-gunturret-explode-lod0-jg "topbodyL" 18) +(def-joint-node sew-gunturret-explode-lod0-jg "bottomL" 17) +(def-joint-node sew-gunturret-explode-lod0-jg "bottomR" 16) +(def-joint-node sew-gunturret-explode-lod0-jg "topholeL1" 15) +(def-joint-node sew-gunturret-explode-lod0-jg "topholeL2" 14) +(def-joint-node sew-gunturret-explode-lod0-jg "align" 1) +(def-joint-node sew-gunturret-explode-lod0-jg "prejoint" 2) +(def-joint-node sew-gunturret-explode-lod0-jg "main" 3) +(def-joint-node sew-gunturret-explode-lod0-jg "base" 4) +(def-joint-node sew-gunturret-explode-lod0-jg "round" 5) +(def-joint-node sew-gunturret-explode-lod0-jg "neck" 6) +(def-joint-node sew-gunturret-explode-lod0-jg "muzzle" 7) +(def-joint-node sew-gunturret-explode-lod0-jg "topholeR1" 8) +(def-joint-node sew-gunturret-explode-lod0-jg "topholeR2" 9) +(def-joint-node sew-gunturret-explode-lod0-jg "backbottom" 10) +(def-joint-node sew-gunturret-explode-lod0-jg "lowerreardetail" 11) +(def-joint-node sew-gunturret-explode-lod0-jg "upperreardetail" 12) +(def-joint-node sew-gunturret-explode-lod0-jg "top" 13) + +(def-joint-node mincan-lighthouse-lod0-jg "e" 11) +(def-joint-node mincan-lighthouse-lod0-jg "d" 10) +(def-joint-node mincan-lighthouse-lod0-jg "center_d" 9) +(def-joint-node mincan-lighthouse-lod0-jg "center_c" 8) +(def-joint-node mincan-lighthouse-lod0-jg "center_b" 7) +(def-joint-node mincan-lighthouse-lod0-jg "center_a" 6) +(def-joint-node mincan-lighthouse-lod0-jg "c" 5) +(def-joint-node mincan-lighthouse-lod0-jg "b" 4) +(def-joint-node mincan-lighthouse-lod0-jg "a" 3) +(def-joint-node mincan-lighthouse-lod0-jg "prejoint" 2) +(def-joint-node mincan-lighthouse-lod0-jg "align" 1) + +(def-joint-node flag-lod0-jg "splitTop" 12) +(def-joint-node flag-lod0-jg "splitBottom" 11) +(def-joint-node flag-lod0-jg "flagE" 10) +(def-joint-node flag-lod0-jg "flagD" 9) +(def-joint-node flag-lod0-jg "flagC" 8) +(def-joint-node flag-lod0-jg "flagB" 7) +(def-joint-node flag-lod0-jg "flagA" 6) +(def-joint-node flag-lod0-jg "mainflag" 5) +(def-joint-node flag-lod0-jg "poleB" 4) +(def-joint-node flag-lod0-jg "poleA" 3) +(def-joint-node flag-lod0-jg "prejoint" 2) +(def-joint-node flag-lod0-jg "align" 1) + +(def-joint-node ctypal-break-wall-lod0-jg "bo" 70) +(def-joint-node ctypal-break-wall-lod0-jg "bn" 69) +(def-joint-node ctypal-break-wall-lod0-jg "bm" 68) +(def-joint-node ctypal-break-wall-lod0-jg "bl" 67) +(def-joint-node ctypal-break-wall-lod0-jg "bk" 66) +(def-joint-node ctypal-break-wall-lod0-jg "bj" 65) +(def-joint-node ctypal-break-wall-lod0-jg "bi" 64) +(def-joint-node ctypal-break-wall-lod0-jg "bh" 63) +(def-joint-node ctypal-break-wall-lod0-jg "bg" 62) +(def-joint-node ctypal-break-wall-lod0-jg "bf" 61) +(def-joint-node ctypal-break-wall-lod0-jg "be" 60) +(def-joint-node ctypal-break-wall-lod0-jg "" 29) +(def-joint-node ctypal-break-wall-lod0-jg "z" 28) +(def-joint-node ctypal-break-wall-lod0-jg "y" 27) +(def-joint-node ctypal-break-wall-lod0-jg "x" 26) +(def-joint-node ctypal-break-wall-lod0-jg "w" 25) +(def-joint-node ctypal-break-wall-lod0-jg "v" 24) +(def-joint-node ctypal-break-wall-lod0-jg "u" 23) +(def-joint-node ctypal-break-wall-lod0-jg "t" 22) +(def-joint-node ctypal-break-wall-lod0-jg "s" 21) +(def-joint-node ctypal-break-wall-lod0-jg "r" 20) +(def-joint-node ctypal-break-wall-lod0-jg "q" 19) +(def-joint-node ctypal-break-wall-lod0-jg "p" 18) +(def-joint-node ctypal-break-wall-lod0-jg "o" 17) +(def-joint-node ctypal-break-wall-lod0-jg "n" 16) +(def-joint-node ctypal-break-wall-lod0-jg "m" 15) +(def-joint-node ctypal-break-wall-lod0-jg "l" 14) +(def-joint-node ctypal-break-wall-lod0-jg "align" 1) +(def-joint-node ctypal-break-wall-lod0-jg "prejoint" 2) +(def-joint-node ctypal-break-wall-lod0-jg "main" 3) +(def-joint-node ctypal-break-wall-lod0-jg "b" 4) +(def-joint-node ctypal-break-wall-lod0-jg "c" 5) +(def-joint-node ctypal-break-wall-lod0-jg "d" 6) +(def-joint-node ctypal-break-wall-lod0-jg "e" 7) +(def-joint-node ctypal-break-wall-lod0-jg "f" 8) +(def-joint-node ctypal-break-wall-lod0-jg "g" 9) +(def-joint-node ctypal-break-wall-lod0-jg "h" 10) +(def-joint-node ctypal-break-wall-lod0-jg "i" 11) +(def-joint-node ctypal-break-wall-lod0-jg "j" 12) +(def-joint-node ctypal-break-wall-lod0-jg "k" 13) +(def-joint-node ctypal-break-wall-lod0-jg "aa" 30) +(def-joint-node ctypal-break-wall-lod0-jg "ab" 31) +(def-joint-node ctypal-break-wall-lod0-jg "ac" 32) +(def-joint-node ctypal-break-wall-lod0-jg "ad" 33) +(def-joint-node ctypal-break-wall-lod0-jg "ae" 34) +(def-joint-node ctypal-break-wall-lod0-jg "af" 35) +(def-joint-node ctypal-break-wall-lod0-jg "ag" 36) +(def-joint-node ctypal-break-wall-lod0-jg "ah" 37) +(def-joint-node ctypal-break-wall-lod0-jg "ai" 38) +(def-joint-node ctypal-break-wall-lod0-jg "aj" 39) +(def-joint-node ctypal-break-wall-lod0-jg "ak" 40) +(def-joint-node ctypal-break-wall-lod0-jg "al" 41) +(def-joint-node ctypal-break-wall-lod0-jg "am" 42) +(def-joint-node ctypal-break-wall-lod0-jg "an" 43) +(def-joint-node ctypal-break-wall-lod0-jg "ao" 44) +(def-joint-node ctypal-break-wall-lod0-jg "ap" 45) +(def-joint-node ctypal-break-wall-lod0-jg "aq" 46) +(def-joint-node ctypal-break-wall-lod0-jg "ar" 47) +(def-joint-node ctypal-break-wall-lod0-jg "as" 48) +(def-joint-node ctypal-break-wall-lod0-jg "at" 49) +(def-joint-node ctypal-break-wall-lod0-jg "au" 50) +(def-joint-node ctypal-break-wall-lod0-jg "av" 51) +(def-joint-node ctypal-break-wall-lod0-jg "aw" 52) +(def-joint-node ctypal-break-wall-lod0-jg "ax" 53) +(def-joint-node ctypal-break-wall-lod0-jg "ay" 54) +(def-joint-node ctypal-break-wall-lod0-jg "az" 55) +(def-joint-node ctypal-break-wall-lod0-jg "ba" 56) +(def-joint-node ctypal-break-wall-lod0-jg "bb" 57) +(def-joint-node ctypal-break-wall-lod0-jg "bc" 58) +(def-joint-node ctypal-break-wall-lod0-jg "bd" 59) + +(def-joint-node water-anim-ctypal-lrgfloor-pool-lod0-jg "boneless" 3) +(def-joint-node water-anim-ctypal-lrgfloor-pool-lod0-jg "prejoint" 2) +(def-joint-node water-anim-ctypal-lrgfloor-pool-lod0-jg "align" 1) + +(def-joint-node mincan-cogs-lod0-jg "small_ground_cog" 13) +(def-joint-node mincan-cogs-lod0-jg "big_front_cog" 12) +(def-joint-node mincan-cogs-lod0-jg "mid_vertical_cog" 11) +(def-joint-node mincan-cogs-lod0-jg "uppercliff_tall" 10) +(def-joint-node mincan-cogs-lod0-jg "uppercliff_small" 9) +(def-joint-node mincan-cogs-lod0-jg "second_L" 8) +(def-joint-node mincan-cogs-lod0-jg "second_R" 7) +(def-joint-node mincan-cogs-lod0-jg "big_horizontal_cog" 6) +(def-joint-node mincan-cogs-lod0-jg "front_R" 5) +(def-joint-node mincan-cogs-lod0-jg "front_L" 4) +(def-joint-node mincan-cogs-lod0-jg "main" 3) +(def-joint-node mincan-cogs-lod0-jg "prejoint" 2) +(def-joint-node mincan-cogs-lod0-jg "align" 1) + +(def-joint-node under-break-wall-b-lod0-jg "bd" 60) +(def-joint-node under-break-wall-b-lod0-jg "z" 29) +(def-joint-node under-break-wall-b-lod0-jg "y" 28) +(def-joint-node under-break-wall-b-lod0-jg "x" 27) +(def-joint-node under-break-wall-b-lod0-jg "w" 26) +(def-joint-node under-break-wall-b-lod0-jg "v" 25) +(def-joint-node under-break-wall-b-lod0-jg "u" 24) +(def-joint-node under-break-wall-b-lod0-jg "t" 23) +(def-joint-node under-break-wall-b-lod0-jg "s" 22) +(def-joint-node under-break-wall-b-lod0-jg "r" 21) +(def-joint-node under-break-wall-b-lod0-jg "q" 20) +(def-joint-node under-break-wall-b-lod0-jg "p" 19) +(def-joint-node under-break-wall-b-lod0-jg "o" 18) +(def-joint-node under-break-wall-b-lod0-jg "n" 17) +(def-joint-node under-break-wall-b-lod0-jg "m" 16) +(def-joint-node under-break-wall-b-lod0-jg "l" 15) +(def-joint-node under-break-wall-b-lod0-jg "k" 14) +(def-joint-node under-break-wall-b-lod0-jg "align" 1) +(def-joint-node under-break-wall-b-lod0-jg "prejoint" 2) +(def-joint-node under-break-wall-b-lod0-jg "explode" 3) +(def-joint-node under-break-wall-b-lod0-jg "main" 4) +(def-joint-node under-break-wall-b-lod0-jg "b" 5) +(def-joint-node under-break-wall-b-lod0-jg "c" 6) +(def-joint-node under-break-wall-b-lod0-jg "d" 7) +(def-joint-node under-break-wall-b-lod0-jg "e" 8) +(def-joint-node under-break-wall-b-lod0-jg "f" 9) +(def-joint-node under-break-wall-b-lod0-jg "g" 10) +(def-joint-node under-break-wall-b-lod0-jg "h" 11) +(def-joint-node under-break-wall-b-lod0-jg "i" 12) +(def-joint-node under-break-wall-b-lod0-jg "j" 13) +(def-joint-node under-break-wall-b-lod0-jg "zz" 30) +(def-joint-node under-break-wall-b-lod0-jg "aa" 31) +(def-joint-node under-break-wall-b-lod0-jg "ab" 32) +(def-joint-node under-break-wall-b-lod0-jg "ac" 33) +(def-joint-node under-break-wall-b-lod0-jg "ad" 34) +(def-joint-node under-break-wall-b-lod0-jg "ae" 35) +(def-joint-node under-break-wall-b-lod0-jg "af" 36) +(def-joint-node under-break-wall-b-lod0-jg "ag" 37) +(def-joint-node under-break-wall-b-lod0-jg "ah" 38) +(def-joint-node under-break-wall-b-lod0-jg "ai" 39) +(def-joint-node under-break-wall-b-lod0-jg "aj" 40) +(def-joint-node under-break-wall-b-lod0-jg "ak" 41) +(def-joint-node under-break-wall-b-lod0-jg "al" 42) +(def-joint-node under-break-wall-b-lod0-jg "am" 43) +(def-joint-node under-break-wall-b-lod0-jg "an" 44) +(def-joint-node under-break-wall-b-lod0-jg "ao" 45) +(def-joint-node under-break-wall-b-lod0-jg "ap" 46) +(def-joint-node under-break-wall-b-lod0-jg "aq" 47) +(def-joint-node under-break-wall-b-lod0-jg "ar" 48) +(def-joint-node under-break-wall-b-lod0-jg "as" 49) +(def-joint-node under-break-wall-b-lod0-jg "at" 50) +(def-joint-node under-break-wall-b-lod0-jg "au" 51) +(def-joint-node under-break-wall-b-lod0-jg "av" 52) +(def-joint-node under-break-wall-b-lod0-jg "aw" 53) +(def-joint-node under-break-wall-b-lod0-jg "ax" 54) +(def-joint-node under-break-wall-b-lod0-jg "ay" 55) +(def-joint-node under-break-wall-b-lod0-jg "az" 56) +(def-joint-node under-break-wall-b-lod0-jg "ba" 57) +(def-joint-node under-break-wall-b-lod0-jg "bb" 58) +(def-joint-node under-break-wall-b-lod0-jg "bc" 59) + +(def-joint-node ctypal-baron-statue-break-b-lod0-jg "dj" 47) +(def-joint-node ctypal-baron-statue-break-b-lod0-jg "di" 46) +(def-joint-node ctypal-baron-statue-break-b-lod0-jg "dh" 45) +(def-joint-node ctypal-baron-statue-break-b-lod0-jg "dg" 44) +(def-joint-node ctypal-baron-statue-break-b-lod0-jg "df" 43) +(def-joint-node ctypal-baron-statue-break-b-lod0-jg "de" 42) +(def-joint-node ctypal-baron-statue-break-b-lod0-jg "dd" 41) +(def-joint-node ctypal-baron-statue-break-b-lod0-jg "dc" 40) +(def-joint-node ctypal-baron-statue-break-b-lod0-jg "db" 39) +(def-joint-node ctypal-baron-statue-break-b-lod0-jg "da" 38) +(def-joint-node ctypal-baron-statue-break-b-lod0-jg "cz" 37) +(def-joint-node ctypal-baron-statue-break-b-lod0-jg "cy" 36) +(def-joint-node ctypal-baron-statue-break-b-lod0-jg "cx" 35) +(def-joint-node ctypal-baron-statue-break-b-lod0-jg "cw" 34) +(def-joint-node ctypal-baron-statue-break-b-lod0-jg "cv" 33) +(def-joint-node ctypal-baron-statue-break-b-lod0-jg "cu" 32) +(def-joint-node ctypal-baron-statue-break-b-lod0-jg "ct" 31) +(def-joint-node ctypal-baron-statue-break-b-lod0-jg "cs" 30) +(def-joint-node ctypal-baron-statue-break-b-lod0-jg "cb" 13) +(def-joint-node ctypal-baron-statue-break-b-lod0-jg "ca" 12) +(def-joint-node ctypal-baron-statue-break-b-lod0-jg "bz" 11) +(def-joint-node ctypal-baron-statue-break-b-lod0-jg "by" 10) +(def-joint-node ctypal-baron-statue-break-b-lod0-jg "bx" 9) +(def-joint-node ctypal-baron-statue-break-b-lod0-jg "bw" 8) +(def-joint-node ctypal-baron-statue-break-b-lod0-jg "bv" 7) +(def-joint-node ctypal-baron-statue-break-b-lod0-jg "bu" 6) +(def-joint-node ctypal-baron-statue-break-b-lod0-jg "bt" 5) +(def-joint-node ctypal-baron-statue-break-b-lod0-jg "bs" 4) +(def-joint-node ctypal-baron-statue-break-b-lod0-jg "main" 3) +(def-joint-node ctypal-baron-statue-break-b-lod0-jg "prejoint" 2) +(def-joint-node ctypal-baron-statue-break-b-lod0-jg "align" 1) +(def-joint-node ctypal-baron-statue-break-b-lod0-jg "cc" 14) +(def-joint-node ctypal-baron-statue-break-b-lod0-jg "cd" 15) +(def-joint-node ctypal-baron-statue-break-b-lod0-jg "ce" 16) +(def-joint-node ctypal-baron-statue-break-b-lod0-jg "cf" 17) +(def-joint-node ctypal-baron-statue-break-b-lod0-jg "cg" 18) +(def-joint-node ctypal-baron-statue-break-b-lod0-jg "ch" 19) +(def-joint-node ctypal-baron-statue-break-b-lod0-jg "ci" 20) +(def-joint-node ctypal-baron-statue-break-b-lod0-jg "cj" 21) +(def-joint-node ctypal-baron-statue-break-b-lod0-jg "ck" 22) +(def-joint-node ctypal-baron-statue-break-b-lod0-jg "cl" 23) +(def-joint-node ctypal-baron-statue-break-b-lod0-jg "cm" 24) +(def-joint-node ctypal-baron-statue-break-b-lod0-jg "cn" 25) +(def-joint-node ctypal-baron-statue-break-b-lod0-jg "co" 26) +(def-joint-node ctypal-baron-statue-break-b-lod0-jg "cp" 27) +(def-joint-node ctypal-baron-statue-break-b-lod0-jg "cq" 28) +(def-joint-node ctypal-baron-statue-break-b-lod0-jg "cr" 29) + +(def-joint-node ctypal-baron-statue-break-a-lod0-jg "bq" 43) +(def-joint-node ctypal-baron-statue-break-a-lod0-jg "bp" 42) +(def-joint-node ctypal-baron-statue-break-a-lod0-jg "bo" 41) +(def-joint-node ctypal-baron-statue-break-a-lod0-jg "bn" 40) +(def-joint-node ctypal-baron-statue-break-a-lod0-jg "bm" 39) +(def-joint-node ctypal-baron-statue-break-a-lod0-jg "bl" 38) +(def-joint-node ctypal-baron-statue-break-a-lod0-jg "bk" 37) +(def-joint-node ctypal-baron-statue-break-a-lod0-jg "bj" 36) +(def-joint-node ctypal-baron-statue-break-a-lod0-jg "bi" 35) +(def-joint-node ctypal-baron-statue-break-a-lod0-jg "bh" 34) +(def-joint-node ctypal-baron-statue-break-a-lod0-jg "bg" 33) +(def-joint-node ctypal-baron-statue-break-a-lod0-jg "bf" 32) +(def-joint-node ctypal-baron-statue-break-a-lod0-jg "be" 31) +(def-joint-node ctypal-baron-statue-break-a-lod0-jg "bd" 30) +(def-joint-node ctypal-baron-statue-break-a-lod0-jg "am" 13) +(def-joint-node ctypal-baron-statue-break-a-lod0-jg "al" 12) +(def-joint-node ctypal-baron-statue-break-a-lod0-jg "ak" 11) +(def-joint-node ctypal-baron-statue-break-a-lod0-jg "aj" 10) +(def-joint-node ctypal-baron-statue-break-a-lod0-jg "main" 9) +(def-joint-node ctypal-baron-statue-break-a-lod0-jg "explode_c" 8) +(def-joint-node ctypal-baron-statue-break-a-lod0-jg "explode_b" 7) +(def-joint-node ctypal-baron-statue-break-a-lod0-jg "explode_a" 6) +(def-joint-node ctypal-baron-statue-break-a-lod0-jg "explode" 5) +(def-joint-node ctypal-baron-statue-break-a-lod0-jg "swordshimmer2" 4) +(def-joint-node ctypal-baron-statue-break-a-lod0-jg "swordshimmer1" 3) +(def-joint-node ctypal-baron-statue-break-a-lod0-jg "prejoint" 2) +(def-joint-node ctypal-baron-statue-break-a-lod0-jg "align" 1) +(def-joint-node ctypal-baron-statue-break-a-lod0-jg "an" 14) +(def-joint-node ctypal-baron-statue-break-a-lod0-jg "ao" 15) +(def-joint-node ctypal-baron-statue-break-a-lod0-jg "ap" 16) +(def-joint-node ctypal-baron-statue-break-a-lod0-jg "aq" 17) +(def-joint-node ctypal-baron-statue-break-a-lod0-jg "ar" 18) +(def-joint-node ctypal-baron-statue-break-a-lod0-jg "as" 19) +(def-joint-node ctypal-baron-statue-break-a-lod0-jg "at" 20) +(def-joint-node ctypal-baron-statue-break-a-lod0-jg "au" 21) +(def-joint-node ctypal-baron-statue-break-a-lod0-jg "av" 22) +(def-joint-node ctypal-baron-statue-break-a-lod0-jg "aw" 23) +(def-joint-node ctypal-baron-statue-break-a-lod0-jg "ax" 24) +(def-joint-node ctypal-baron-statue-break-a-lod0-jg "ay" 25) +(def-joint-node ctypal-baron-statue-break-a-lod0-jg "az" 26) +(def-joint-node ctypal-baron-statue-break-a-lod0-jg "ba" 27) +(def-joint-node ctypal-baron-statue-break-a-lod0-jg "bb" 28) +(def-joint-node ctypal-baron-statue-break-a-lod0-jg "bc" 29) + +(def-joint-node dark-barrel-lod0-jg "peace" 7) +(def-joint-node dark-barrel-lod0-jg "barrelExtend" 6) +(def-joint-node dark-barrel-lod0-jg "barrelTip" 5) +(def-joint-node dark-barrel-lod0-jg "barrelCenter" 4) +(def-joint-node dark-barrel-lod0-jg "main" 3) +(def-joint-node dark-barrel-lod0-jg "prejoint" 2) +(def-joint-node dark-barrel-lod0-jg "align" 1) + +(def-joint-node yellow-barrel-lod0-jg "main" 3) +(def-joint-node yellow-barrel-lod0-jg "prejoint" 2) +(def-joint-node yellow-barrel-lod0-jg "align" 1) + +(def-joint-node gun-dummy-big-explode-lod0-jg "bodypart12" 15) +(def-joint-node gun-dummy-big-explode-lod0-jg "bodypart11" 14) +(def-joint-node gun-dummy-big-explode-lod0-jg "align" 1) +(def-joint-node gun-dummy-big-explode-lod0-jg "prejoint" 2) +(def-joint-node gun-dummy-big-explode-lod0-jg "main" 3) +(def-joint-node gun-dummy-big-explode-lod0-jg "bodypart1" 4) +(def-joint-node gun-dummy-big-explode-lod0-jg "bodypart2" 5) +(def-joint-node gun-dummy-big-explode-lod0-jg "bodypart3" 6) +(def-joint-node gun-dummy-big-explode-lod0-jg "bodypart4" 7) +(def-joint-node gun-dummy-big-explode-lod0-jg "bodypart5" 8) +(def-joint-node gun-dummy-big-explode-lod0-jg "bodypart6" 9) +(def-joint-node gun-dummy-big-explode-lod0-jg "bodypart7" 10) +(def-joint-node gun-dummy-big-explode-lod0-jg "bodypart8" 11) +(def-joint-node gun-dummy-big-explode-lod0-jg "bodypart9" 12) +(def-joint-node gun-dummy-big-explode-lod0-jg "bodypart10" 13) + +(def-joint-node gun-cit-c-lod0-jg "main" 3) +(def-joint-node gun-cit-c-lod0-jg "prejoint" 2) +(def-joint-node gun-cit-c-lod0-jg "align" 1) + +(def-joint-node gun-dummy-b-lod0-jg "main" 3) +(def-joint-node gun-dummy-b-lod0-jg "prejoint" 2) +(def-joint-node gun-dummy-b-lod0-jg "align" 1) + +(def-joint-node gun-dummy-c-explode-lod0-jg "dummy_c12" 16) +(def-joint-node gun-dummy-c-explode-lod0-jg "dummy_c11" 15) +(def-joint-node gun-dummy-c-explode-lod0-jg "dummy_c10" 14) +(def-joint-node gun-dummy-c-explode-lod0-jg "align" 1) +(def-joint-node gun-dummy-c-explode-lod0-jg "prejoint" 2) +(def-joint-node gun-dummy-c-explode-lod0-jg "main" 3) +(def-joint-node gun-dummy-c-explode-lod0-jg "dummy_c" 4) +(def-joint-node gun-dummy-c-explode-lod0-jg "dummy_c1" 5) +(def-joint-node gun-dummy-c-explode-lod0-jg "dummy_c2" 6) +(def-joint-node gun-dummy-c-explode-lod0-jg "dummy_c3" 7) +(def-joint-node gun-dummy-c-explode-lod0-jg "dummy_c4" 8) +(def-joint-node gun-dummy-c-explode-lod0-jg "dummy_c5" 9) +(def-joint-node gun-dummy-c-explode-lod0-jg "dummy_c6" 10) +(def-joint-node gun-dummy-c-explode-lod0-jg "dummy_c7" 11) +(def-joint-node gun-dummy-c-explode-lod0-jg "dummy_c8" 12) +(def-joint-node gun-dummy-c-explode-lod0-jg "dummy_c9" 13) + +(def-joint-node gun-dummy-a-lod0-jg "main" 3) +(def-joint-node gun-dummy-a-lod0-jg "prejoint" 2) +(def-joint-node gun-dummy-a-lod0-jg "align" 1) + +(def-joint-node gun-dummy-gold-explode-lod0-jg "bodypart14" 17) +(def-joint-node gun-dummy-gold-explode-lod0-jg "bodypart13" 16) +(def-joint-node gun-dummy-gold-explode-lod0-jg "bodypart12" 15) +(def-joint-node gun-dummy-gold-explode-lod0-jg "bodypart11" 14) +(def-joint-node gun-dummy-gold-explode-lod0-jg "align" 1) +(def-joint-node gun-dummy-gold-explode-lod0-jg "prejoint" 2) +(def-joint-node gun-dummy-gold-explode-lod0-jg "main" 3) +(def-joint-node gun-dummy-gold-explode-lod0-jg "bodypart1" 4) +(def-joint-node gun-dummy-gold-explode-lod0-jg "bodypart2" 5) +(def-joint-node gun-dummy-gold-explode-lod0-jg "bodypart3" 6) +(def-joint-node gun-dummy-gold-explode-lod0-jg "bodypart4" 7) +(def-joint-node gun-dummy-gold-explode-lod0-jg "bodypart5" 8) +(def-joint-node gun-dummy-gold-explode-lod0-jg "bodypart6" 9) +(def-joint-node gun-dummy-gold-explode-lod0-jg "bodypart7" 10) +(def-joint-node gun-dummy-gold-explode-lod0-jg "bodypart8" 11) +(def-joint-node gun-dummy-gold-explode-lod0-jg "bodypart9" 12) +(def-joint-node gun-dummy-gold-explode-lod0-jg "bodypart10" 13) + +(def-joint-node gun-dummy-gold-lod0-jg "main" 3) +(def-joint-node gun-dummy-gold-lod0-jg "prejoint" 2) +(def-joint-node gun-dummy-gold-lod0-jg "align" 1) + +(def-joint-node gun-cit-a-lod0-jg "main" 3) +(def-joint-node gun-cit-a-lod0-jg "prejoint" 2) +(def-joint-node gun-cit-a-lod0-jg "align" 1) + +(def-joint-node gun-cit-d-lod0-jg "main" 3) +(def-joint-node gun-cit-d-lod0-jg "prejoint" 2) +(def-joint-node gun-cit-d-lod0-jg "align" 1) + +(def-joint-node gun-dummy-yellow-gun-explode-lod0-jg "k" 13) +(def-joint-node gun-dummy-yellow-gun-explode-lod0-jg "j" 12) +(def-joint-node gun-dummy-yellow-gun-explode-lod0-jg "i" 11) +(def-joint-node gun-dummy-yellow-gun-explode-lod0-jg "h" 10) +(def-joint-node gun-dummy-yellow-gun-explode-lod0-jg "g" 9) +(def-joint-node gun-dummy-yellow-gun-explode-lod0-jg "f" 8) +(def-joint-node gun-dummy-yellow-gun-explode-lod0-jg "e" 7) +(def-joint-node gun-dummy-yellow-gun-explode-lod0-jg "d" 6) +(def-joint-node gun-dummy-yellow-gun-explode-lod0-jg "c" 5) +(def-joint-node gun-dummy-yellow-gun-explode-lod0-jg "b" 4) +(def-joint-node gun-dummy-yellow-gun-explode-lod0-jg "a" 3) +(def-joint-node gun-dummy-yellow-gun-explode-lod0-jg "prejoint" 2) +(def-joint-node gun-dummy-yellow-gun-explode-lod0-jg "align" 1) + +(def-joint-node ctypal-broke-wall-lod0-jg "main" 3) +(def-joint-node ctypal-broke-wall-lod0-jg "prejoint" 2) +(def-joint-node ctypal-broke-wall-lod0-jg "align" 1) + +(def-joint-node gun-dummy-yellow-gun-lod0-jg "main" 3) +(def-joint-node gun-dummy-yellow-gun-lod0-jg "prejoint" 2) +(def-joint-node gun-dummy-yellow-gun-lod0-jg "align" 1) + +(def-joint-node rapid-gunner-lod0-jg "RoutsideClaw" 42) +(def-joint-node rapid-gunner-lod0-jg "RinsideClaw" 41) +(def-joint-node rapid-gunner-lod0-jg "Rball" 40) +(def-joint-node rapid-gunner-lod0-jg "LoutsideClaw" 39) +(def-joint-node rapid-gunner-lod0-jg "LinsideClaw" 38) +(def-joint-node rapid-gunner-lod0-jg "Lball" 37) +(def-joint-node rapid-gunner-lod0-jg "RmiddleB" 36) +(def-joint-node rapid-gunner-lod0-jg "RthumbB" 35) +(def-joint-node rapid-gunner-lod0-jg "LmiddleB" 34) +(def-joint-node rapid-gunner-lod0-jg "LthumbB" 33) +(def-joint-node rapid-gunner-lod0-jg "RmiddleA" 32) +(def-joint-node rapid-gunner-lod0-jg "RthumbA" 31) +(def-joint-node rapid-gunner-lod0-jg "LmiddleA" 30) +(def-joint-node rapid-gunner-lod0-jg "Relbow" 13) +(def-joint-node rapid-gunner-lod0-jg "Rshoulder" 12) +(def-joint-node rapid-gunner-lod0-jg "Lhand" 11) +(def-joint-node rapid-gunner-lod0-jg "Lelbow" 10) +(def-joint-node rapid-gunner-lod0-jg "Lshoulder" 9) +(def-joint-node rapid-gunner-lod0-jg "head" 8) +(def-joint-node rapid-gunner-lod0-jg "neck" 7) +(def-joint-node rapid-gunner-lod0-jg "chest" 6) +(def-joint-node rapid-gunner-lod0-jg "swivelMe" 5) +(def-joint-node rapid-gunner-lod0-jg "trackgun" 4) +(def-joint-node rapid-gunner-lod0-jg "main" 3) +(def-joint-node rapid-gunner-lod0-jg "prejoint" 2) +(def-joint-node rapid-gunner-lod0-jg "align" 1) +(def-joint-node rapid-gunner-lod0-jg "Rhand" 14) +(def-joint-node rapid-gunner-lod0-jg "LshoulderPad" 15) +(def-joint-node rapid-gunner-lod0-jg "RshoulderPad" 16) +(def-joint-node rapid-gunner-lod0-jg "gun" 17) +(def-joint-node rapid-gunner-lod0-jg "blast" 18) +(def-joint-node rapid-gunner-lod0-jg "hips" 19) +(def-joint-node rapid-gunner-lod0-jg "Lthigh" 20) +(def-joint-node rapid-gunner-lod0-jg "Lknee" 21) +(def-joint-node rapid-gunner-lod0-jg "Lhindcannon" 22) +(def-joint-node rapid-gunner-lod0-jg "Lankle" 23) +(def-joint-node rapid-gunner-lod0-jg "Rthigh" 24) +(def-joint-node rapid-gunner-lod0-jg "Rknee" 25) +(def-joint-node rapid-gunner-lod0-jg "Rhindcannon" 26) +(def-joint-node rapid-gunner-lod0-jg "Rankle" 27) +(def-joint-node rapid-gunner-lod0-jg "jaw" 28) +(def-joint-node rapid-gunner-lod0-jg "LthumbA" 29) + +(def-joint-node sew-grill-lod0-jg "gripC" 6) +(def-joint-node sew-grill-lod0-jg "gripA" 5) +(def-joint-node sew-grill-lod0-jg "kick" 4) +(def-joint-node sew-grill-lod0-jg "base" 3) +(def-joint-node sew-grill-lod0-jg "prejoint" 2) +(def-joint-node sew-grill-lod0-jg "align" 1) + +(def-joint-node sew-light-switch-lod0-jg "main" 3) +(def-joint-node sew-light-switch-lod0-jg "prejoint" 2) +(def-joint-node sew-light-switch-lod0-jg "align" 1) + +(def-joint-node sew-arm-blade-lod0-jg "main" 3) +(def-joint-node sew-arm-blade-lod0-jg "prejoint" 2) +(def-joint-node sew-arm-blade-lod0-jg "align" 1) + +(def-joint-node sew-twist-blade-lod0-jg "main" 3) +(def-joint-node sew-twist-blade-lod0-jg "prejoint" 2) +(def-joint-node sew-twist-blade-lod0-jg "align" 1) + +(def-joint-node sew-mar-statue-lod0-jg "main" 3) +(def-joint-node sew-mar-statue-lod0-jg "prejoint" 2) +(def-joint-node sew-mar-statue-lod0-jg "align" 1) + +(def-joint-node sew-mar-statue-explode-b-lod0-jg "ch" 50) +(def-joint-node sew-mar-statue-explode-b-lod0-jg "cg" 49) +(def-joint-node sew-mar-statue-explode-b-lod0-jg "cf" 48) +(def-joint-node sew-mar-statue-explode-b-lod0-jg "ce" 47) +(def-joint-node sew-mar-statue-explode-b-lod0-jg "cd" 46) +(def-joint-node sew-mar-statue-explode-b-lod0-jg "cc" 45) +(def-joint-node sew-mar-statue-explode-b-lod0-jg "cb" 44) +(def-joint-node sew-mar-statue-explode-b-lod0-jg "ca" 43) +(def-joint-node sew-mar-statue-explode-b-lod0-jg "bz" 42) +(def-joint-node sew-mar-statue-explode-b-lod0-jg "by" 41) +(def-joint-node sew-mar-statue-explode-b-lod0-jg "bx" 40) +(def-joint-node sew-mar-statue-explode-b-lod0-jg "bw" 39) +(def-joint-node sew-mar-statue-explode-b-lod0-jg "bv" 38) +(def-joint-node sew-mar-statue-explode-b-lod0-jg "bu" 37) +(def-joint-node sew-mar-statue-explode-b-lod0-jg "bt" 36) +(def-joint-node sew-mar-statue-explode-b-lod0-jg "bs" 35) +(def-joint-node sew-mar-statue-explode-b-lod0-jg "br" 34) +(def-joint-node sew-mar-statue-explode-b-lod0-jg "bq" 33) +(def-joint-node sew-mar-statue-explode-b-lod0-jg "bp" 32) +(def-joint-node sew-mar-statue-explode-b-lod0-jg "bo" 31) +(def-joint-node sew-mar-statue-explode-b-lod0-jg "bn" 30) +(def-joint-node sew-mar-statue-explode-b-lod0-jg "aw" 13) +(def-joint-node sew-mar-statue-explode-b-lod0-jg "av" 12) +(def-joint-node sew-mar-statue-explode-b-lod0-jg "au" 11) +(def-joint-node sew-mar-statue-explode-b-lod0-jg "at" 10) +(def-joint-node sew-mar-statue-explode-b-lod0-jg "as" 9) +(def-joint-node sew-mar-statue-explode-b-lod0-jg "ar" 8) +(def-joint-node sew-mar-statue-explode-b-lod0-jg "aq" 7) +(def-joint-node sew-mar-statue-explode-b-lod0-jg "ap" 6) +(def-joint-node sew-mar-statue-explode-b-lod0-jg "ao" 5) +(def-joint-node sew-mar-statue-explode-b-lod0-jg "an" 4) +(def-joint-node sew-mar-statue-explode-b-lod0-jg "main" 3) +(def-joint-node sew-mar-statue-explode-b-lod0-jg "prejoint" 2) +(def-joint-node sew-mar-statue-explode-b-lod0-jg "align" 1) +(def-joint-node sew-mar-statue-explode-b-lod0-jg "ax" 14) +(def-joint-node sew-mar-statue-explode-b-lod0-jg "ay" 15) +(def-joint-node sew-mar-statue-explode-b-lod0-jg "az" 16) +(def-joint-node sew-mar-statue-explode-b-lod0-jg "ba" 17) +(def-joint-node sew-mar-statue-explode-b-lod0-jg "bb" 18) +(def-joint-node sew-mar-statue-explode-b-lod0-jg "bc" 19) +(def-joint-node sew-mar-statue-explode-b-lod0-jg "bd" 20) +(def-joint-node sew-mar-statue-explode-b-lod0-jg "be" 21) +(def-joint-node sew-mar-statue-explode-b-lod0-jg "bf" 22) +(def-joint-node sew-mar-statue-explode-b-lod0-jg "bg" 23) +(def-joint-node sew-mar-statue-explode-b-lod0-jg "bh" 24) +(def-joint-node sew-mar-statue-explode-b-lod0-jg "bi" 25) +(def-joint-node sew-mar-statue-explode-b-lod0-jg "bj" 26) +(def-joint-node sew-mar-statue-explode-b-lod0-jg "bk" 27) +(def-joint-node sew-mar-statue-explode-b-lod0-jg "bl" 28) +(def-joint-node sew-mar-statue-explode-b-lod0-jg "bm" 29) + +(def-joint-node sew-wall-lod0-jg "ah" 39) +(def-joint-node sew-wall-lod0-jg "ag" 38) +(def-joint-node sew-wall-lod0-jg "af" 37) +(def-joint-node sew-wall-lod0-jg "ae" 36) +(def-joint-node sew-wall-lod0-jg "ad" 35) +(def-joint-node sew-wall-lod0-jg "ac" 34) +(def-joint-node sew-wall-lod0-jg "ab" 33) +(def-joint-node sew-wall-lod0-jg "aa" 32) +(def-joint-node sew-wall-lod0-jg "zz" 31) +(def-joint-node sew-wall-lod0-jg "z" 30) +(def-joint-node sew-wall-lod0-jg "i" 13) +(def-joint-node sew-wall-lod0-jg "h" 12) +(def-joint-node sew-wall-lod0-jg "g" 11) +(def-joint-node sew-wall-lod0-jg "f" 10) +(def-joint-node sew-wall-lod0-jg "e" 9) +(def-joint-node sew-wall-lod0-jg "d" 8) +(def-joint-node sew-wall-lod0-jg "c" 7) +(def-joint-node sew-wall-lod0-jg "b" 6) +(def-joint-node sew-wall-lod0-jg "a" 5) +(def-joint-node sew-wall-lod0-jg "main" 4) +(def-joint-node sew-wall-lod0-jg "explode" 3) +(def-joint-node sew-wall-lod0-jg "prejoint" 2) +(def-joint-node sew-wall-lod0-jg "align" 1) +(def-joint-node sew-wall-lod0-jg "j" 14) +(def-joint-node sew-wall-lod0-jg "k" 15) +(def-joint-node sew-wall-lod0-jg "l" 16) +(def-joint-node sew-wall-lod0-jg "m" 17) +(def-joint-node sew-wall-lod0-jg "n" 18) +(def-joint-node sew-wall-lod0-jg "o" 19) +(def-joint-node sew-wall-lod0-jg "p" 20) +(def-joint-node sew-wall-lod0-jg "q" 21) +(def-joint-node sew-wall-lod0-jg "r" 22) +(def-joint-node sew-wall-lod0-jg "s" 23) +(def-joint-node sew-wall-lod0-jg "t" 24) +(def-joint-node sew-wall-lod0-jg "u" 25) +(def-joint-node sew-wall-lod0-jg "v" 26) +(def-joint-node sew-wall-lod0-jg "w" 27) +(def-joint-node sew-wall-lod0-jg "x" 28) +(def-joint-node sew-wall-lod0-jg "y" 29) + +(def-joint-node hosehead-lod0-jg "hose" 26) +(def-joint-node hosehead-lod0-jg "RshoulderPad" 25) +(def-joint-node hosehead-lod0-jg "LshoulderPad" 24) +(def-joint-node hosehead-lod0-jg "Rfoot" 23) +(def-joint-node hosehead-lod0-jg "Rknee" 22) +(def-joint-node hosehead-lod0-jg "Rthigh" 21) +(def-joint-node hosehead-lod0-jg "Lfoot" 20) +(def-joint-node hosehead-lod0-jg "Lknee" 19) +(def-joint-node hosehead-lod0-jg "Lthigh" 18) +(def-joint-node hosehead-lod0-jg "hips" 17) +(def-joint-node hosehead-lod0-jg "Relbow" 16) +(def-joint-node hosehead-lod0-jg "Rshoulder" 15) +(def-joint-node hosehead-lod0-jg "Lelbow" 14) +(def-joint-node hosehead-lod0-jg "align" 1) +(def-joint-node hosehead-lod0-jg "prejoint" 2) +(def-joint-node hosehead-lod0-jg "main" 3) +(def-joint-node hosehead-lod0-jg "spineA" 4) +(def-joint-node hosehead-lod0-jg "spineB" 5) +(def-joint-node hosehead-lod0-jg "chest" 6) +(def-joint-node hosehead-lod0-jg "neckA" 7) +(def-joint-node hosehead-lod0-jg "neckB" 8) +(def-joint-node hosehead-lod0-jg "head" 9) +(def-joint-node hosehead-lod0-jg "gunA" 10) +(def-joint-node hosehead-lod0-jg "gunB" 11) +(def-joint-node hosehead-lod0-jg "blast" 12) +(def-joint-node hosehead-lod0-jg "Lshoulder" 13) + +(def-joint-node jinx-lod0-jg "minibombR" 38) +(def-joint-node jinx-lod0-jg "minibombL" 37) +(def-joint-node jinx-lod0-jg "bombstrapR" 36) +(def-joint-node jinx-lod0-jg "bombstrapL" 35) +(def-joint-node jinx-lod0-jg "RthumbB" 34) +(def-joint-node jinx-lod0-jg "RthumbA" 33) +(def-joint-node jinx-lod0-jg "RmiddleB" 32) +(def-joint-node jinx-lod0-jg "RmiddleA" 31) +(def-joint-node jinx-lod0-jg "LthumbB" 30) +(def-joint-node jinx-lod0-jg "Rhand" 13) +(def-joint-node jinx-lod0-jg "Relbow" 12) +(def-joint-node jinx-lod0-jg "Rshoulder" 11) +(def-joint-node jinx-lod0-jg "Lhand" 10) +(def-joint-node jinx-lod0-jg "Lelbow" 9) +(def-joint-node jinx-lod0-jg "Lshoulder" 8) +(def-joint-node jinx-lod0-jg "head" 7) +(def-joint-node jinx-lod0-jg "neck" 6) +(def-joint-node jinx-lod0-jg "chest" 5) +(def-joint-node jinx-lod0-jg "swivelMe" 4) +(def-joint-node jinx-lod0-jg "main" 3) +(def-joint-node jinx-lod0-jg "prejoint" 2) +(def-joint-node jinx-lod0-jg "align" 1) +(def-joint-node jinx-lod0-jg "bomb" 14) +(def-joint-node jinx-lod0-jg "hips" 15) +(def-joint-node jinx-lod0-jg "Lthigh" 16) +(def-joint-node jinx-lod0-jg "Lknee" 17) +(def-joint-node jinx-lod0-jg "Lankle" 18) +(def-joint-node jinx-lod0-jg "Lball" 19) +(def-joint-node jinx-lod0-jg "Rthigh" 20) +(def-joint-node jinx-lod0-jg "Rknee" 21) +(def-joint-node jinx-lod0-jg "Rankle" 22) +(def-joint-node jinx-lod0-jg "Rball" 23) +(def-joint-node jinx-lod0-jg "gun" 24) +(def-joint-node jinx-lod0-jg "eyes" 25) +(def-joint-node jinx-lod0-jg "Larmpad" 26) +(def-joint-node jinx-lod0-jg "LmiddleA" 27) +(def-joint-node jinx-lod0-jg "LmiddleB" 28) +(def-joint-node jinx-lod0-jg "LthumbA" 29) + +(def-joint-node helldog-lod0-jg "turretA" 6) +(def-joint-node helldog-lod0-jg "turret" 5) +(def-joint-node helldog-lod0-jg "frontgun" 4) +(def-joint-node helldog-lod0-jg "main" 3) +(def-joint-node helldog-lod0-jg "prejoint" 2) +(def-joint-node helldog-lod0-jg "align" 1) + +(def-joint-node mecha-daxter-lod0-jg "head" 5) +(def-joint-node mecha-daxter-lod0-jg "neck" 4) +(def-joint-node mecha-daxter-lod0-jg "main" 3) +(def-joint-node mecha-daxter-lod0-jg "prejoint" 2) +(def-joint-node mecha-daxter-lod0-jg "align" 1) + +(def-joint-node spotlight-lod0-jg "main" 5) +(def-joint-node spotlight-lod0-jg "aim" 4) +(def-joint-node spotlight-lod0-jg "spot" 3) +(def-joint-node spotlight-lod0-jg "prejoint" 2) +(def-joint-node spotlight-lod0-jg "align" 1) + +(def-joint-node gun-dummy-big-lod0-jg "main" 3) +(def-joint-node gun-dummy-big-lod0-jg "prejoint" 2) +(def-joint-node gun-dummy-big-lod0-jg "align" 1) + +(def-joint-node garage-bikeb-lod0-jg "main" 3) +(def-joint-node garage-bikeb-lod0-jg "prejoint" 2) +(def-joint-node garage-bikeb-lod0-jg "align" 1) + +(def-joint-node gar-weld-project-lod0-jg "main" 3) +(def-joint-node gar-weld-project-lod0-jg "prejoint" 2) +(def-joint-node gar-weld-project-lod0-jg "align" 1) + +(def-joint-node garage-bikec-lod0-jg "main_" 3) +(def-joint-node garage-bikec-lod0-jg "prejoint" 2) +(def-joint-node garage-bikec-lod0-jg "align" 1) + +(def-joint-node palace-door-lod0-jg "hinge" 5) +(def-joint-node palace-door-lod0-jg "logo" 4) +(def-joint-node palace-door-lod0-jg "door" 3) +(def-joint-node palace-door-lod0-jg "prejoint" 2) +(def-joint-node palace-door-lod0-jg "align" 1) + +(def-joint-node gar-trophy-cc-lod0-jg "main" 3) +(def-joint-node gar-trophy-cc-lod0-jg "prejoint" 2) +(def-joint-node gar-trophy-cc-lod0-jg "align" 1) + +(def-joint-node gar-trophy-cb-lod0-jg "main" 3) +(def-joint-node gar-trophy-cb-lod0-jg "prejoint" 2) +(def-joint-node gar-trophy-cb-lod0-jg "align" 1) + +(def-joint-node gar-curtain-lod0-jg "Lunder8a" 51) +(def-joint-node gar-curtain-lod0-jg "Lunder8" 50) +(def-joint-node gar-curtain-lod0-jg "Lring8" 49) +(def-joint-node gar-curtain-lod0-jg "Lunder7a" 48) +(def-joint-node gar-curtain-lod0-jg "Lunder7" 47) +(def-joint-node gar-curtain-lod0-jg "Lring7" 46) +(def-joint-node gar-curtain-lod0-jg "Lunder6a" 45) +(def-joint-node gar-curtain-lod0-jg "Lunder6" 44) +(def-joint-node gar-curtain-lod0-jg "Lring6" 43) +(def-joint-node gar-curtain-lod0-jg "Lunder5a" 42) +(def-joint-node gar-curtain-lod0-jg "Lunder5" 41) +(def-joint-node gar-curtain-lod0-jg "Lring5" 40) +(def-joint-node gar-curtain-lod0-jg "Lunder4a" 39) +(def-joint-node gar-curtain-lod0-jg "Lunder4" 38) +(def-joint-node gar-curtain-lod0-jg "Lring4" 37) +(def-joint-node gar-curtain-lod0-jg "Lunder3a" 36) +(def-joint-node gar-curtain-lod0-jg "Lunder3" 35) +(def-joint-node gar-curtain-lod0-jg "Lring3" 34) +(def-joint-node gar-curtain-lod0-jg "Lunder2a" 33) +(def-joint-node gar-curtain-lod0-jg "Lunder2" 32) +(def-joint-node gar-curtain-lod0-jg "Lring2" 31) +(def-joint-node gar-curtain-lod0-jg "Lunder1a" 30) +(def-joint-node gar-curtain-lod0-jg "Rring4" 13) +(def-joint-node gar-curtain-lod0-jg "Runder3a" 12) +(def-joint-node gar-curtain-lod0-jg "Runder3" 11) +(def-joint-node gar-curtain-lod0-jg "Rring3" 10) +(def-joint-node gar-curtain-lod0-jg "Runder2a" 9) +(def-joint-node gar-curtain-lod0-jg "Runder2" 8) +(def-joint-node gar-curtain-lod0-jg "Rring2" 7) +(def-joint-node gar-curtain-lod0-jg "Runder1a" 6) +(def-joint-node gar-curtain-lod0-jg "Runder1" 5) +(def-joint-node gar-curtain-lod0-jg "Rring1" 4) +(def-joint-node gar-curtain-lod0-jg "main" 3) +(def-joint-node gar-curtain-lod0-jg "prejoint" 2) +(def-joint-node gar-curtain-lod0-jg "align" 1) +(def-joint-node gar-curtain-lod0-jg "Runder4" 14) +(def-joint-node gar-curtain-lod0-jg "Runder4a" 15) +(def-joint-node gar-curtain-lod0-jg "Rring5" 16) +(def-joint-node gar-curtain-lod0-jg "Runder5" 17) +(def-joint-node gar-curtain-lod0-jg "Runder5a" 18) +(def-joint-node gar-curtain-lod0-jg "Rring6" 19) +(def-joint-node gar-curtain-lod0-jg "Runder6" 20) +(def-joint-node gar-curtain-lod0-jg "Runder6a" 21) +(def-joint-node gar-curtain-lod0-jg "Rring7" 22) +(def-joint-node gar-curtain-lod0-jg "Runder7" 23) +(def-joint-node gar-curtain-lod0-jg "Runder7a" 24) +(def-joint-node gar-curtain-lod0-jg "Rring8" 25) +(def-joint-node gar-curtain-lod0-jg "Runder8" 26) +(def-joint-node gar-curtain-lod0-jg "Runder8a" 27) +(def-joint-node gar-curtain-lod0-jg "Lring1" 28) +(def-joint-node gar-curtain-lod0-jg "Lunder1" 29) + +(def-joint-node stad-force-field-lod0-jg "main" 3) +(def-joint-node stad-force-field-lod0-jg "prejoint" 2) +(def-joint-node stad-force-field-lod0-jg "align" 1) + +(def-joint-node sew-mine-b-lod0-jg "main" 3) +(def-joint-node sew-mine-b-lod0-jg "prejoint" 2) +(def-joint-node sew-mine-b-lod0-jg "align" 1) + +(def-joint-node tanker-lod0-jg "n" 24) +(def-joint-node tanker-lod0-jg "m" 23) +(def-joint-node tanker-lod0-jg "l" 22) +(def-joint-node tanker-lod0-jg "k" 21) +(def-joint-node tanker-lod0-jg "j" 20) +(def-joint-node tanker-lod0-jg "i" 19) +(def-joint-node tanker-lod0-jg "h" 18) +(def-joint-node tanker-lod0-jg "g" 17) +(def-joint-node tanker-lod0-jg "f" 16) +(def-joint-node tanker-lod0-jg "e" 15) +(def-joint-node tanker-lod0-jg "d" 14) +(def-joint-node tanker-lod0-jg "align" 1) +(def-joint-node tanker-lod0-jg "prejoint" 2) +(def-joint-node tanker-lod0-jg "explode_a" 3) +(def-joint-node tanker-lod0-jg "explode_b" 4) +(def-joint-node tanker-lod0-jg "chain1" 5) +(def-joint-node tanker-lod0-jg "chain2" 6) +(def-joint-node tanker-lod0-jg "chain3" 7) +(def-joint-node tanker-lod0-jg "trailer_b" 8) +(def-joint-node tanker-lod0-jg "trailer_a" 9) +(def-joint-node tanker-lod0-jg "tractor" 10) +(def-joint-node tanker-lod0-jg "a" 11) +(def-joint-node tanker-lod0-jg "b" 12) +(def-joint-node tanker-lod0-jg "c" 13) + +(def-joint-node ctyport-spy-lod0-jg "wing2" 5) +(def-joint-node ctyport-spy-lod0-jg "wing1" 4) +(def-joint-node ctyport-spy-lod0-jg "main_" 3) +(def-joint-node ctyport-spy-lod0-jg "prejoint" 2) +(def-joint-node ctyport-spy-lod0-jg "align" 1) + +(def-joint-node ctyport-cargo-explode-lod0-jg "detail14" 17) +(def-joint-node ctyport-cargo-explode-lod0-jg "detail13" 16) +(def-joint-node ctyport-cargo-explode-lod0-jg "detail12" 15) +(def-joint-node ctyport-cargo-explode-lod0-jg "detail11" 14) +(def-joint-node ctyport-cargo-explode-lod0-jg "align" 1) +(def-joint-node ctyport-cargo-explode-lod0-jg "prejoint" 2) +(def-joint-node ctyport-cargo-explode-lod0-jg "main_" 3) +(def-joint-node ctyport-cargo-explode-lod0-jg "detail1" 4) +(def-joint-node ctyport-cargo-explode-lod0-jg "detail2" 5) +(def-joint-node ctyport-cargo-explode-lod0-jg "detail3" 6) +(def-joint-node ctyport-cargo-explode-lod0-jg "detail4" 7) +(def-joint-node ctyport-cargo-explode-lod0-jg "detail5" 8) +(def-joint-node ctyport-cargo-explode-lod0-jg "detail6" 9) +(def-joint-node ctyport-cargo-explode-lod0-jg "detail7" 10) +(def-joint-node ctyport-cargo-explode-lod0-jg "detail8" 11) +(def-joint-node ctyport-cargo-explode-lod0-jg "detail9" 12) +(def-joint-node ctyport-cargo-explode-lod0-jg "detail10" 13) + +(def-joint-node ctyport-cargo-lod0-jg "rightlocks" 7) +(def-joint-node ctyport-cargo-lod0-jg "righttop" 6) +(def-joint-node ctyport-cargo-lod0-jg "leftocks" 5) +(def-joint-node ctyport-cargo-lod0-jg "lefttop" 4) +(def-joint-node ctyport-cargo-lod0-jg "main_" 3) +(def-joint-node ctyport-cargo-lod0-jg "prejoint" 2) +(def-joint-node ctyport-cargo-lod0-jg "align" 1) + +(def-joint-node rift-rider-break-a-lod0-jg "cx" 43) +(def-joint-node rift-rider-break-a-lod0-jg "cw" 42) +(def-joint-node rift-rider-break-a-lod0-jg "cv" 41) +(def-joint-node rift-rider-break-a-lod0-jg "cu" 40) +(def-joint-node rift-rider-break-a-lod0-jg "ct" 39) +(def-joint-node rift-rider-break-a-lod0-jg "cs" 38) +(def-joint-node rift-rider-break-a-lod0-jg "cr" 37) +(def-joint-node rift-rider-break-a-lod0-jg "cq" 36) +(def-joint-node rift-rider-break-a-lod0-jg "cp" 35) +(def-joint-node rift-rider-break-a-lod0-jg "co" 34) +(def-joint-node rift-rider-break-a-lod0-jg "cn" 33) +(def-joint-node rift-rider-break-a-lod0-jg "cm" 32) +(def-joint-node rift-rider-break-a-lod0-jg "cl" 31) +(def-joint-node rift-rider-break-a-lod0-jg "ck" 30) +(def-joint-node rift-rider-break-a-lod0-jg "bt" 13) +(def-joint-node rift-rider-break-a-lod0-jg "bs" 12) +(def-joint-node rift-rider-break-a-lod0-jg "br" 11) +(def-joint-node rift-rider-break-a-lod0-jg "main" 10) +(def-joint-node rift-rider-break-a-lod0-jg "bp" 9) +(def-joint-node rift-rider-break-a-lod0-jg "bo" 8) +(def-joint-node rift-rider-break-a-lod0-jg "bn" 7) +(def-joint-node rift-rider-break-a-lod0-jg "bm" 6) +(def-joint-node rift-rider-break-a-lod0-jg "bl" 5) +(def-joint-node rift-rider-break-a-lod0-jg "explode_engine_top" 4) +(def-joint-node rift-rider-break-a-lod0-jg "explode_engine" 3) +(def-joint-node rift-rider-break-a-lod0-jg "prejoint" 2) +(def-joint-node rift-rider-break-a-lod0-jg "align" 1) +(def-joint-node rift-rider-break-a-lod0-jg "bu" 14) +(def-joint-node rift-rider-break-a-lod0-jg "bv" 15) +(def-joint-node rift-rider-break-a-lod0-jg "bw" 16) +(def-joint-node rift-rider-break-a-lod0-jg "bx" 17) +(def-joint-node rift-rider-break-a-lod0-jg "by" 18) +(def-joint-node rift-rider-break-a-lod0-jg "bz" 19) +(def-joint-node rift-rider-break-a-lod0-jg "ca" 20) +(def-joint-node rift-rider-break-a-lod0-jg "cb" 21) +(def-joint-node rift-rider-break-a-lod0-jg "cc" 22) +(def-joint-node rift-rider-break-a-lod0-jg "cd" 23) +(def-joint-node rift-rider-break-a-lod0-jg "ce" 24) +(def-joint-node rift-rider-break-a-lod0-jg "cf" 25) +(def-joint-node rift-rider-break-a-lod0-jg "cg" 26) +(def-joint-node rift-rider-break-a-lod0-jg "ch" 27) +(def-joint-node rift-rider-break-a-lod0-jg "ci" 28) +(def-joint-node rift-rider-break-a-lod0-jg "cj" 29) + +(def-joint-node rift-rider-break-lod0-jg "bk" 66) +(def-joint-node rift-rider-break-lod0-jg "bj" 65) +(def-joint-node rift-rider-break-lod0-jg "bi" 64) +(def-joint-node rift-rider-break-lod0-jg "bh" 63) +(def-joint-node rift-rider-break-lod0-jg "bg" 62) +(def-joint-node rift-rider-break-lod0-jg "bf" 61) +(def-joint-node rift-rider-break-lod0-jg "be" 60) +(def-joint-node rift-rider-break-lod0-jg "zz" 29) +(def-joint-node rift-rider-break-lod0-jg "z" 28) +(def-joint-node rift-rider-break-lod0-jg "y" 27) +(def-joint-node rift-rider-break-lod0-jg "x" 26) +(def-joint-node rift-rider-break-lod0-jg "main" 25) +(def-joint-node rift-rider-break-lod0-jg "v" 24) +(def-joint-node rift-rider-break-lod0-jg "u" 23) +(def-joint-node rift-rider-break-lod0-jg "t" 22) +(def-joint-node rift-rider-break-lod0-jg "s" 21) +(def-joint-node rift-rider-break-lod0-jg "r" 20) +(def-joint-node rift-rider-break-lod0-jg "q" 19) +(def-joint-node rift-rider-break-lod0-jg "p" 18) +(def-joint-node rift-rider-break-lod0-jg "o" 17) +(def-joint-node rift-rider-break-lod0-jg "n" 16) +(def-joint-node rift-rider-break-lod0-jg "m" 15) +(def-joint-node rift-rider-break-lod0-jg "l" 14) +(def-joint-node rift-rider-break-lod0-jg "align" 1) +(def-joint-node rift-rider-break-lod0-jg "prejoint" 2) +(def-joint-node rift-rider-break-lod0-jg "a" 3) +(def-joint-node rift-rider-break-lod0-jg "b" 4) +(def-joint-node rift-rider-break-lod0-jg "c" 5) +(def-joint-node rift-rider-break-lod0-jg "d" 6) +(def-joint-node rift-rider-break-lod0-jg "e" 7) +(def-joint-node rift-rider-break-lod0-jg "f" 8) +(def-joint-node rift-rider-break-lod0-jg "g" 9) +(def-joint-node rift-rider-break-lod0-jg "h" 10) +(def-joint-node rift-rider-break-lod0-jg "i" 11) +(def-joint-node rift-rider-break-lod0-jg "j" 12) +(def-joint-node rift-rider-break-lod0-jg "k" 13) +(def-joint-node rift-rider-break-lod0-jg "aa" 30) +(def-joint-node rift-rider-break-lod0-jg "ab" 31) +(def-joint-node rift-rider-break-lod0-jg "ac" 32) +(def-joint-node rift-rider-break-lod0-jg "ad" 33) +(def-joint-node rift-rider-break-lod0-jg "ae" 34) +(def-joint-node rift-rider-break-lod0-jg "af" 35) +(def-joint-node rift-rider-break-lod0-jg "ag" 36) +(def-joint-node rift-rider-break-lod0-jg "ah" 37) +(def-joint-node rift-rider-break-lod0-jg "ai" 38) +(def-joint-node rift-rider-break-lod0-jg "aj" 39) +(def-joint-node rift-rider-break-lod0-jg "ak" 40) +(def-joint-node rift-rider-break-lod0-jg "al" 41) +(def-joint-node rift-rider-break-lod0-jg "am" 42) +(def-joint-node rift-rider-break-lod0-jg "an" 43) +(def-joint-node rift-rider-break-lod0-jg "ao" 44) +(def-joint-node rift-rider-break-lod0-jg "ap" 45) +(def-joint-node rift-rider-break-lod0-jg "aq" 46) +(def-joint-node rift-rider-break-lod0-jg "ar" 47) +(def-joint-node rift-rider-break-lod0-jg "as" 48) +(def-joint-node rift-rider-break-lod0-jg "at" 49) +(def-joint-node rift-rider-break-lod0-jg "au" 50) +(def-joint-node rift-rider-break-lod0-jg "av" 51) +(def-joint-node rift-rider-break-lod0-jg "aw" 52) +(def-joint-node rift-rider-break-lod0-jg "ax" 53) +(def-joint-node rift-rider-break-lod0-jg "ay" 54) +(def-joint-node rift-rider-break-lod0-jg "az" 55) +(def-joint-node rift-rider-break-lod0-jg "ba" 56) +(def-joint-node rift-rider-break-lod0-jg "bb" 57) +(def-joint-node rift-rider-break-lod0-jg "bc" 58) +(def-joint-node rift-rider-break-lod0-jg "bd" 59) + +(def-joint-node hovering-mine-lod0-jg "main" 3) +(def-joint-node hovering-mine-lod0-jg "prejoint" 2) +(def-joint-node hovering-mine-lod0-jg "align" 1) + +(def-joint-node under-seaweed-b-lod0-jg "Rsidee" 12) +(def-joint-node under-seaweed-b-lod0-jg "Rsided" 11) +(def-joint-node under-seaweed-b-lod0-jg "Rsidec" 10) +(def-joint-node under-seaweed-b-lod0-jg "Rsideb" 9) +(def-joint-node under-seaweed-b-lod0-jg "Rsidea" 8) +(def-joint-node under-seaweed-b-lod0-jg "Lsided" 7) +(def-joint-node under-seaweed-b-lod0-jg "Lsidec" 6) +(def-joint-node under-seaweed-b-lod0-jg "Lsideb" 5) +(def-joint-node under-seaweed-b-lod0-jg "Lsidea" 4) +(def-joint-node under-seaweed-b-lod0-jg "main" 3) +(def-joint-node under-seaweed-b-lod0-jg "prejoint" 2) +(def-joint-node under-seaweed-b-lod0-jg "align" 1) + +(def-joint-node under-break-ceiling-lod0-jg "o" 18) +(def-joint-node under-break-ceiling-lod0-jg "n" 17) +(def-joint-node under-break-ceiling-lod0-jg "m" 16) +(def-joint-node under-break-ceiling-lod0-jg "l" 15) +(def-joint-node under-break-ceiling-lod0-jg "k" 14) +(def-joint-node under-break-ceiling-lod0-jg "align" 1) +(def-joint-node under-break-ceiling-lod0-jg "prejoint" 2) +(def-joint-node under-break-ceiling-lod0-jg "explode" 3) +(def-joint-node under-break-ceiling-lod0-jg "main" 4) +(def-joint-node under-break-ceiling-lod0-jg "b" 5) +(def-joint-node under-break-ceiling-lod0-jg "c" 6) +(def-joint-node under-break-ceiling-lod0-jg "d" 7) +(def-joint-node under-break-ceiling-lod0-jg "e" 8) +(def-joint-node under-break-ceiling-lod0-jg "f" 9) +(def-joint-node under-break-ceiling-lod0-jg "g" 10) +(def-joint-node under-break-ceiling-lod0-jg "h" 11) +(def-joint-node under-break-ceiling-lod0-jg "i" 12) +(def-joint-node under-break-ceiling-lod0-jg "j" 13) + +(def-joint-node hip-trophy-f-lod0-jg "hip_trophy_f" 3) +(def-joint-node hip-trophy-f-lod0-jg "prejoint" 2) +(def-joint-node hip-trophy-f-lod0-jg "align" 1) + +(def-joint-node under-break-door-lod0-jg "l" 14) +(def-joint-node under-break-door-lod0-jg "align" 1) +(def-joint-node under-break-door-lod0-jg "prejoint" 2) +(def-joint-node under-break-door-lod0-jg "main" 3) +(def-joint-node under-break-door-lod0-jg "b" 4) +(def-joint-node under-break-door-lod0-jg "c" 5) +(def-joint-node under-break-door-lod0-jg "d" 6) +(def-joint-node under-break-door-lod0-jg "e" 7) +(def-joint-node under-break-door-lod0-jg "f" 8) +(def-joint-node under-break-door-lod0-jg "g" 9) +(def-joint-node under-break-door-lod0-jg "h" 10) +(def-joint-node under-break-door-lod0-jg "i" 11) +(def-joint-node under-break-door-lod0-jg "j" 12) +(def-joint-node under-break-door-lod0-jg "k" 13) + +(def-joint-node under-break-bridge-lod0-jg "bj" 62) +(def-joint-node under-break-bridge-lod0-jg "bi" 61) +(def-joint-node under-break-bridge-lod0-jg "bh" 60) +(def-joint-node under-break-bridge-lod0-jg "zz" 29) +(def-joint-node under-break-bridge-lod0-jg "z" 28) +(def-joint-node under-break-bridge-lod0-jg "y" 27) +(def-joint-node under-break-bridge-lod0-jg "x" 26) +(def-joint-node under-break-bridge-lod0-jg "w" 25) +(def-joint-node under-break-bridge-lod0-jg "v" 24) +(def-joint-node under-break-bridge-lod0-jg "u" 23) +(def-joint-node under-break-bridge-lod0-jg "t" 22) +(def-joint-node under-break-bridge-lod0-jg "s" 21) +(def-joint-node under-break-bridge-lod0-jg "r" 20) +(def-joint-node under-break-bridge-lod0-jg "q" 19) +(def-joint-node under-break-bridge-lod0-jg "p" 18) +(def-joint-node under-break-bridge-lod0-jg "o" 17) +(def-joint-node under-break-bridge-lod0-jg "n" 16) +(def-joint-node under-break-bridge-lod0-jg "m" 15) +(def-joint-node under-break-bridge-lod0-jg "l" 14) +(def-joint-node under-break-bridge-lod0-jg "align" 1) +(def-joint-node under-break-bridge-lod0-jg "prejoint" 2) +(def-joint-node under-break-bridge-lod0-jg "main" 3) +(def-joint-node under-break-bridge-lod0-jg "b" 4) +(def-joint-node under-break-bridge-lod0-jg "c" 5) +(def-joint-node under-break-bridge-lod0-jg "d" 6) +(def-joint-node under-break-bridge-lod0-jg "e" 7) +(def-joint-node under-break-bridge-lod0-jg "f" 8) +(def-joint-node under-break-bridge-lod0-jg "g" 9) +(def-joint-node under-break-bridge-lod0-jg "h" 10) +(def-joint-node under-break-bridge-lod0-jg "i" 11) +(def-joint-node under-break-bridge-lod0-jg "j" 12) +(def-joint-node under-break-bridge-lod0-jg "k" 13) +(def-joint-node under-break-bridge-lod0-jg "ab" 30) +(def-joint-node under-break-bridge-lod0-jg "ac" 31) +(def-joint-node under-break-bridge-lod0-jg "ad" 32) +(def-joint-node under-break-bridge-lod0-jg "ae" 33) +(def-joint-node under-break-bridge-lod0-jg "af" 34) +(def-joint-node under-break-bridge-lod0-jg "ag" 35) +(def-joint-node under-break-bridge-lod0-jg "ai" 36) +(def-joint-node under-break-bridge-lod0-jg "aj" 37) +(def-joint-node under-break-bridge-lod0-jg "ak" 38) +(def-joint-node under-break-bridge-lod0-jg "al" 39) +(def-joint-node under-break-bridge-lod0-jg "an" 40) +(def-joint-node under-break-bridge-lod0-jg "ao" 41) +(def-joint-node under-break-bridge-lod0-jg "ap" 42) +(def-joint-node under-break-bridge-lod0-jg "aq" 43) +(def-joint-node under-break-bridge-lod0-jg "ar" 44) +(def-joint-node under-break-bridge-lod0-jg "as" 45) +(def-joint-node under-break-bridge-lod0-jg "at" 46) +(def-joint-node under-break-bridge-lod0-jg "au" 47) +(def-joint-node under-break-bridge-lod0-jg "av" 48) +(def-joint-node under-break-bridge-lod0-jg "aw" 49) +(def-joint-node under-break-bridge-lod0-jg "ax" 50) +(def-joint-node under-break-bridge-lod0-jg "ay" 51) +(def-joint-node under-break-bridge-lod0-jg "az" 52) +(def-joint-node under-break-bridge-lod0-jg "ba" 53) +(def-joint-node under-break-bridge-lod0-jg "bb" 54) +(def-joint-node under-break-bridge-lod0-jg "bc" 55) +(def-joint-node under-break-bridge-lod0-jg "bd" 56) +(def-joint-node under-break-bridge-lod0-jg "be" 57) +(def-joint-node under-break-bridge-lod0-jg "bf" 58) +(def-joint-node under-break-bridge-lod0-jg "bg" 59) + +(def-joint-node centipede-fma-lod0-jg "legR_1C" 71) +(def-joint-node centipede-fma-lod0-jg "legR_1B" 70) +(def-joint-node centipede-fma-lod0-jg "legR_1A" 69) +(def-joint-node centipede-fma-lod0-jg "legL_1C" 68) +(def-joint-node centipede-fma-lod0-jg "legL_1B" 67) +(def-joint-node centipede-fma-lod0-jg "legL_1A" 66) +(def-joint-node centipede-fma-lod0-jg "legR_2C" 65) +(def-joint-node centipede-fma-lod0-jg "legR_2B" 64) +(def-joint-node centipede-fma-lod0-jg "legR_2A" 63) +(def-joint-node centipede-fma-lod0-jg "legL_2C" 62) +(def-joint-node centipede-fma-lod0-jg "legL_2B" 61) +(def-joint-node centipede-fma-lod0-jg "legL_2A" 60) +(def-joint-node centipede-fma-lod0-jg "legR_7C" 29) +(def-joint-node centipede-fma-lod0-jg "legR_7B" 28) +(def-joint-node centipede-fma-lod0-jg "legR_7A" 27) +(def-joint-node centipede-fma-lod0-jg "legL_7C" 26) +(def-joint-node centipede-fma-lod0-jg "legL_7B" 25) +(def-joint-node centipede-fma-lod0-jg "legL_7A" 24) +(def-joint-node centipede-fma-lod0-jg "tailC" 23) +(def-joint-node centipede-fma-lod0-jg "tailB" 22) +(def-joint-node centipede-fma-lod0-jg "tailA" 21) +(def-joint-node centipede-fma-lod0-jg "sectionF" 20) +(def-joint-node centipede-fma-lod0-jg "sectionE" 19) +(def-joint-node centipede-fma-lod0-jg "sectionD" 18) +(def-joint-node centipede-fma-lod0-jg "sectionC" 17) +(def-joint-node centipede-fma-lod0-jg "sectionB" 16) +(def-joint-node centipede-fma-lod0-jg "sectionA" 15) +(def-joint-node centipede-fma-lod0-jg "jawB" 14) +(def-joint-node centipede-fma-lod0-jg "align" 1) +(def-joint-node centipede-fma-lod0-jg "prejoint" 2) +(def-joint-node centipede-fma-lod0-jg "main" 3) +(def-joint-node centipede-fma-lod0-jg "neckA" 4) +(def-joint-node centipede-fma-lod0-jg "neckB" 5) +(def-joint-node centipede-fma-lod0-jg "head" 6) +(def-joint-node centipede-fma-lod0-jg "LmandibleA" 7) +(def-joint-node centipede-fma-lod0-jg "LmandibleB" 8) +(def-joint-node centipede-fma-lod0-jg "Lpincher" 9) +(def-joint-node centipede-fma-lod0-jg "RmandibleA" 10) +(def-joint-node centipede-fma-lod0-jg "RmandibleB" 11) +(def-joint-node centipede-fma-lod0-jg "Rpincher" 12) +(def-joint-node centipede-fma-lod0-jg "jawA" 13) +(def-joint-node centipede-fma-lod0-jg "legL_8A" 30) +(def-joint-node centipede-fma-lod0-jg "legL_8B" 31) +(def-joint-node centipede-fma-lod0-jg "legL_8C" 32) +(def-joint-node centipede-fma-lod0-jg "legR_8A" 33) +(def-joint-node centipede-fma-lod0-jg "legR_8B" 34) +(def-joint-node centipede-fma-lod0-jg "legR_8C" 35) +(def-joint-node centipede-fma-lod0-jg "legL_6A" 36) +(def-joint-node centipede-fma-lod0-jg "legL_6B" 37) +(def-joint-node centipede-fma-lod0-jg "legL_6C" 38) +(def-joint-node centipede-fma-lod0-jg "legR_6A" 39) +(def-joint-node centipede-fma-lod0-jg "legR_6B" 40) +(def-joint-node centipede-fma-lod0-jg "legR_6C" 41) +(def-joint-node centipede-fma-lod0-jg "legL_5A" 42) +(def-joint-node centipede-fma-lod0-jg "legL_5B" 43) +(def-joint-node centipede-fma-lod0-jg "legL_5C" 44) +(def-joint-node centipede-fma-lod0-jg "legR_5A" 45) +(def-joint-node centipede-fma-lod0-jg "legR_5B" 46) +(def-joint-node centipede-fma-lod0-jg "legR_5C" 47) +(def-joint-node centipede-fma-lod0-jg "legL_4A" 48) +(def-joint-node centipede-fma-lod0-jg "legL_4B" 49) +(def-joint-node centipede-fma-lod0-jg "legL_4C" 50) +(def-joint-node centipede-fma-lod0-jg "legR_4A" 51) +(def-joint-node centipede-fma-lod0-jg "legR_4B" 52) +(def-joint-node centipede-fma-lod0-jg "legR_4C" 53) +(def-joint-node centipede-fma-lod0-jg "legL_3A" 54) +(def-joint-node centipede-fma-lod0-jg "legL_3B" 55) +(def-joint-node centipede-fma-lod0-jg "legL_3C" 56) +(def-joint-node centipede-fma-lod0-jg "legR_3A" 57) +(def-joint-node centipede-fma-lod0-jg "legR_3B" 58) +(def-joint-node centipede-fma-lod0-jg "legR_3C" 59) + +(def-joint-node brutter-balloon-lod0-jg "steering_wheel" 6) +(def-joint-node brutter-balloon-lod0-jg "blades" 5) +(def-joint-node brutter-balloon-lod0-jg "baloons" 4) +(def-joint-node brutter-balloon-lod0-jg "main" 3) +(def-joint-node brutter-balloon-lod0-jg "prejoint" 2) +(def-joint-node brutter-balloon-lod0-jg "align" 1) + +(def-joint-node fort-robotank-top-lod0-jg "camera_" 12) +(def-joint-node fort-robotank-top-lod0-jg "guntrack" 11) +(def-joint-node fort-robotank-top-lod0-jg "Lguntop" 10) +(def-joint-node fort-robotank-top-lod0-jg "Lgunbot" 9) +(def-joint-node fort-robotank-top-lod0-jg "Lgun" 8) +(def-joint-node fort-robotank-top-lod0-jg "Rguntop" 7) +(def-joint-node fort-robotank-top-lod0-jg "Rgunbot" 6) +(def-joint-node fort-robotank-top-lod0-jg "Rgun" 5) +(def-joint-node fort-robotank-top-lod0-jg "barrelrotate" 4) +(def-joint-node fort-robotank-top-lod0-jg "main" 3) +(def-joint-node fort-robotank-top-lod0-jg "prejoint" 2) +(def-joint-node fort-robotank-top-lod0-jg "align" 1) + +(def-joint-node cty-fruit-stand-lod0-jg "fruit" 4) +(def-joint-node cty-fruit-stand-lod0-jg "main" 3) +(def-joint-node cty-fruit-stand-lod0-jg "prejoint" 2) +(def-joint-node cty-fruit-stand-lod0-jg "align" 1) + +(def-joint-node metalkor-torso-lod0-jg "RpinchC" 70) +(def-joint-node metalkor-torso-lod0-jg "RpinchB" 69) +(def-joint-node metalkor-torso-lod0-jg "RpinchA" 68) +(def-joint-node metalkor-torso-lod0-jg "LpinchC" 67) +(def-joint-node metalkor-torso-lod0-jg "LpinchB" 66) +(def-joint-node metalkor-torso-lod0-jg "LpinchA" 65) +(def-joint-node metalkor-torso-lod0-jg "RrngclawC" 64) +(def-joint-node metalkor-torso-lod0-jg "RrngclawB" 63) +(def-joint-node metalkor-torso-lod0-jg "RrngclawA" 62) +(def-joint-node metalkor-torso-lod0-jg "RinclawC" 61) +(def-joint-node metalkor-torso-lod0-jg "RinclawB" 60) +(def-joint-node metalkor-torso-lod0-jg "LffeelerF" 29) +(def-joint-node metalkor-torso-lod0-jg "LffeelerE" 28) +(def-joint-node metalkor-torso-lod0-jg "LffeelerH" 27) +(def-joint-node metalkor-torso-lod0-jg "LffeelerG" 26) +(def-joint-node metalkor-torso-lod0-jg "RffeelerB" 25) +(def-joint-node metalkor-torso-lod0-jg "RffeelerA" 24) +(def-joint-node metalkor-torso-lod0-jg "RffeelerD" 23) +(def-joint-node metalkor-torso-lod0-jg "RffeelerC" 22) +(def-joint-node metalkor-torso-lod0-jg "RffeelerF" 21) +(def-joint-node metalkor-torso-lod0-jg "RffeelerE" 20) +(def-joint-node metalkor-torso-lod0-jg "RffeelerH" 19) +(def-joint-node metalkor-torso-lod0-jg "RffeelerG" 18) +(def-joint-node metalkor-torso-lod0-jg "LsidefeelB" 17) +(def-joint-node metalkor-torso-lod0-jg "LsidefeelA" 16) +(def-joint-node metalkor-torso-lod0-jg "LfrfeelB" 15) +(def-joint-node metalkor-torso-lod0-jg "LfrfeelA" 14) +(def-joint-node metalkor-torso-lod0-jg "align" 1) +(def-joint-node metalkor-torso-lod0-jg "prejoint" 2) +(def-joint-node metalkor-torso-lod0-jg "main" 3) +(def-joint-node metalkor-torso-lod0-jg "chest" 4) +(def-joint-node metalkor-torso-lod0-jg "neck" 5) +(def-joint-node metalkor-torso-lod0-jg "head" 6) +(def-joint-node metalkor-torso-lod0-jg "topjaw" 7) +(def-joint-node metalkor-torso-lod0-jg "lowerjaw" 8) +(def-joint-node metalkor-torso-lod0-jg "lowlip" 9) +(def-joint-node metalkor-torso-lod0-jg "RsidefeelA" 10) +(def-joint-node metalkor-torso-lod0-jg "RsidefeelB" 11) +(def-joint-node metalkor-torso-lod0-jg "RfrfeelA" 12) +(def-joint-node metalkor-torso-lod0-jg "RfrfeelB" 13) +(def-joint-node metalkor-torso-lod0-jg "LffeelerC" 30) +(def-joint-node metalkor-torso-lod0-jg "LffeelerD" 31) +(def-joint-node metalkor-torso-lod0-jg "LffeelerA" 32) +(def-joint-node metalkor-torso-lod0-jg "LffeelerB" 33) +(def-joint-node metalkor-torso-lod0-jg "tongueA" 34) +(def-joint-node metalkor-torso-lod0-jg "tongueB" 35) +(def-joint-node metalkor-torso-lod0-jg "tongueC" 36) +(def-joint-node metalkor-torso-lod0-jg "Ltopeye" 37) +(def-joint-node metalkor-torso-lod0-jg "Lboteye" 38) +(def-joint-node metalkor-torso-lod0-jg "Rtopeye" 39) +(def-joint-node metalkor-torso-lod0-jg "Rboteye" 40) +(def-joint-node metalkor-torso-lod0-jg "Lshoulder" 41) +(def-joint-node metalkor-torso-lod0-jg "Lelbow" 42) +(def-joint-node metalkor-torso-lod0-jg "Lhand" 43) +(def-joint-node metalkor-torso-lod0-jg "LtmclawA" 44) +(def-joint-node metalkor-torso-lod0-jg "LtmclawB" 45) +(def-joint-node metalkor-torso-lod0-jg "LtmclawC" 46) +(def-joint-node metalkor-torso-lod0-jg "LinclawA" 47) +(def-joint-node metalkor-torso-lod0-jg "LinclawB" 48) +(def-joint-node metalkor-torso-lod0-jg "LinclawC" 49) +(def-joint-node metalkor-torso-lod0-jg "LrngclawA" 50) +(def-joint-node metalkor-torso-lod0-jg "LrngclawB" 51) +(def-joint-node metalkor-torso-lod0-jg "LrngclawC" 52) +(def-joint-node metalkor-torso-lod0-jg "Rshoulder" 53) +(def-joint-node metalkor-torso-lod0-jg "Relbow" 54) +(def-joint-node metalkor-torso-lod0-jg "Rhand" 55) +(def-joint-node metalkor-torso-lod0-jg "RtmclawA" 56) +(def-joint-node metalkor-torso-lod0-jg "RtmclawB" 57) +(def-joint-node metalkor-torso-lod0-jg "RtmclawC" 58) +(def-joint-node metalkor-torso-lod0-jg "RinclawA" 59) + +(def-joint-node sew-tri-blade-lod0-jg "tier3" 6) +(def-joint-node sew-tri-blade-lod0-jg "tier2" 5) +(def-joint-node sew-tri-blade-lod0-jg "tier1" 4) +(def-joint-node sew-tri-blade-lod0-jg "main" 3) +(def-joint-node sew-tri-blade-lod0-jg "prejoint" 2) +(def-joint-node sew-tri-blade-lod0-jg "align" 1) + +(def-joint-node drill-metalhead-eggs-c-lod0-jg "rot" 4) +(def-joint-node drill-metalhead-eggs-c-lod0-jg "main" 3) +(def-joint-node drill-metalhead-eggs-c-lod0-jg "prejoint" 2) +(def-joint-node drill-metalhead-eggs-c-lod0-jg "align" 1) + +(def-joint-node krew-package-lod0-jg "main" 3) +(def-joint-node krew-package-lod0-jg "prejoint" 2) +(def-joint-node krew-package-lod0-jg "align" 1) + +(def-joint-node citizen-rebel-lod0-jg "RmiddleA" 23) +(def-joint-node citizen-rebel-lod0-jg "LmiddleA" 22) +(def-joint-node citizen-rebel-lod0-jg "Rball" 21) +(def-joint-node citizen-rebel-lod0-jg "Rankle" 20) +(def-joint-node citizen-rebel-lod0-jg "Rknee" 19) +(def-joint-node citizen-rebel-lod0-jg "Rthigh" 18) +(def-joint-node citizen-rebel-lod0-jg "Lball" 17) +(def-joint-node citizen-rebel-lod0-jg "Lankle" 16) +(def-joint-node citizen-rebel-lod0-jg "Lknee" 15) +(def-joint-node citizen-rebel-lod0-jg "Lthigh" 14) +(def-joint-node citizen-rebel-lod0-jg "align" 1) +(def-joint-node citizen-rebel-lod0-jg "prejoint" 2) +(def-joint-node citizen-rebel-lod0-jg "main" 3) +(def-joint-node citizen-rebel-lod0-jg "chest" 4) +(def-joint-node citizen-rebel-lod0-jg "neck" 5) +(def-joint-node citizen-rebel-lod0-jg "head" 6) +(def-joint-node citizen-rebel-lod0-jg "Lshoulder" 7) +(def-joint-node citizen-rebel-lod0-jg "Lelbow" 8) +(def-joint-node citizen-rebel-lod0-jg "Lhand" 9) +(def-joint-node citizen-rebel-lod0-jg "Rshoulder" 10) +(def-joint-node citizen-rebel-lod0-jg "Relbow" 11) +(def-joint-node citizen-rebel-lod0-jg "Rhand" 12) +(def-joint-node citizen-rebel-lod0-jg "hips" 13) + +(def-joint-node atoll-mar-symbol-lod0-jg "main" 3) +(def-joint-node atoll-mar-symbol-lod0-jg "prejoint" 2) +(def-joint-node atoll-mar-symbol-lod0-jg "align" 1) + +(def-joint-node atoll-windmill-lod0-jg "main" 3) +(def-joint-node atoll-windmill-lod0-jg "prejoint" 2) +(def-joint-node atoll-windmill-lod0-jg "align" 1) + +(def-joint-node grenadier-lod0-jg "RthumbB" 48) +(def-joint-node grenadier-lod0-jg "RthumbA" 47) +(def-joint-node grenadier-lod0-jg "LthumbB" 46) +(def-joint-node grenadier-lod0-jg "jaw" 45) +(def-joint-node grenadier-lod0-jg "Rball" 44) +(def-joint-node grenadier-lod0-jg "RoutsideClaw" 43) +(def-joint-node grenadier-lod0-jg "Lball" 42) +(def-joint-node grenadier-lod0-jg "LoutsideClaw" 41) +(def-joint-node grenadier-lod0-jg "breastPlate" 40) +(def-joint-node grenadier-lod0-jg "LmiddleB" 39) +(def-joint-node grenadier-lod0-jg "LmiddleA" 38) +(def-joint-node grenadier-lod0-jg "LthumbA" 37) +(def-joint-node grenadier-lod0-jg "RinsideClaw" 36) +(def-joint-node grenadier-lod0-jg "LinsideClaw" 35) +(def-joint-node grenadier-lod0-jg "bomb" 34) +(def-joint-node grenadier-lod0-jg "slingC" 33) +(def-joint-node grenadier-lod0-jg "slingB" 32) +(def-joint-node grenadier-lod0-jg "slingA" 31) +(def-joint-node grenadier-lod0-jg "Rhand" 30) +(def-joint-node grenadier-lod0-jg "tailA" 13) +(def-joint-node grenadier-lod0-jg "Rankle" 12) +(def-joint-node grenadier-lod0-jg "Rhindcannon" 11) +(def-joint-node grenadier-lod0-jg "Rknee" 10) +(def-joint-node grenadier-lod0-jg "Rthigh" 9) +(def-joint-node grenadier-lod0-jg "Lankle" 8) +(def-joint-node grenadier-lod0-jg "Lhindcannon" 7) +(def-joint-node grenadier-lod0-jg "Lknee" 6) +(def-joint-node grenadier-lod0-jg "Lthigh" 5) +(def-joint-node grenadier-lod0-jg "hips" 4) +(def-joint-node grenadier-lod0-jg "main" 3) +(def-joint-node grenadier-lod0-jg "prejoint" 2) +(def-joint-node grenadier-lod0-jg "align" 1) +(def-joint-node grenadier-lod0-jg "tailB" 14) +(def-joint-node grenadier-lod0-jg "tailC" 15) +(def-joint-node grenadier-lod0-jg "tailD" 16) +(def-joint-node grenadier-lod0-jg "swivelMe" 17) +(def-joint-node grenadier-lod0-jg "chest" 18) +(def-joint-node grenadier-lod0-jg "neckA" 19) +(def-joint-node grenadier-lod0-jg "neckB" 20) +(def-joint-node grenadier-lod0-jg "neckC" 21) +(def-joint-node grenadier-lod0-jg "neckD" 22) +(def-joint-node grenadier-lod0-jg "neckE" 23) +(def-joint-node grenadier-lod0-jg "head" 24) +(def-joint-node grenadier-lod0-jg "Lshoulder" 25) +(def-joint-node grenadier-lod0-jg "Lelbow" 26) +(def-joint-node grenadier-lod0-jg "Lhand" 27) +(def-joint-node grenadier-lod0-jg "Rshoulder" 28) +(def-joint-node grenadier-lod0-jg "Relbow" 29) + +(def-joint-node consite-silo-doors-lod0-jg "top_right" 5) +(def-joint-node consite-silo-doors-lod0-jg "top_left" 4) +(def-joint-node consite-silo-doors-lod0-jg "main" 3) +(def-joint-node consite-silo-doors-lod0-jg "prejoint" 2) +(def-joint-node consite-silo-doors-lod0-jg "align" 1) + +(def-joint-node atoll-hatch-lod0-jg "hinge" 4) +(def-joint-node atoll-hatch-lod0-jg "main" 3) +(def-joint-node atoll-hatch-lod0-jg "prejoint" 2) +(def-joint-node atoll-hatch-lod0-jg "align" 1) + +(def-joint-node mtn-plat-buried-rocks-lod0-jg "cp" 88) +(def-joint-node mtn-plat-buried-rocks-lod0-jg "co" 87) +(def-joint-node mtn-plat-buried-rocks-lod0-jg "cn" 86) +(def-joint-node mtn-plat-buried-rocks-lod0-jg "cm" 85) +(def-joint-node mtn-plat-buried-rocks-lod0-jg "cl" 84) +(def-joint-node mtn-plat-buried-rocks-lod0-jg "ck" 83) +(def-joint-node mtn-plat-buried-rocks-lod0-jg "cj" 82) +(def-joint-node mtn-plat-buried-rocks-lod0-jg "ci" 81) +(def-joint-node mtn-plat-buried-rocks-lod0-jg "ch" 80) +(def-joint-node mtn-plat-buried-rocks-lod0-jg "cg" 79) +(def-joint-node mtn-plat-buried-rocks-lod0-jg "cf" 78) +(def-joint-node mtn-plat-buried-rocks-lod0-jg "ce" 77) +(def-joint-node mtn-plat-buried-rocks-lod0-jg "cd" 76) +(def-joint-node mtn-plat-buried-rocks-lod0-jg "cb" 75) +(def-joint-node mtn-plat-buried-rocks-lod0-jg "ca" 74) +(def-joint-node mtn-plat-buried-rocks-lod0-jg "bz" 73) +(def-joint-node mtn-plat-buried-rocks-lod0-jg "by" 72) +(def-joint-node mtn-plat-buried-rocks-lod0-jg "bx" 71) +(def-joint-node mtn-plat-buried-rocks-lod0-jg "bw" 70) +(def-joint-node mtn-plat-buried-rocks-lod0-jg "bv" 69) +(def-joint-node mtn-plat-buried-rocks-lod0-jg "bu" 68) +(def-joint-node mtn-plat-buried-rocks-lod0-jg "bt" 67) +(def-joint-node mtn-plat-buried-rocks-lod0-jg "bs" 66) +(def-joint-node mtn-plat-buried-rocks-lod0-jg "br" 65) +(def-joint-node mtn-plat-buried-rocks-lod0-jg "bq" 64) +(def-joint-node mtn-plat-buried-rocks-lod0-jg "bp" 63) +(def-joint-node mtn-plat-buried-rocks-lod0-jg "bo" 62) +(def-joint-node mtn-plat-buried-rocks-lod0-jg "bn" 61) +(def-joint-node mtn-plat-buried-rocks-lod0-jg "bm" 60) +(def-joint-node mtn-plat-buried-rocks-lod0-jg "zz" 29) +(def-joint-node mtn-plat-buried-rocks-lod0-jg "z" 28) +(def-joint-node mtn-plat-buried-rocks-lod0-jg "y" 27) +(def-joint-node mtn-plat-buried-rocks-lod0-jg "x" 26) +(def-joint-node mtn-plat-buried-rocks-lod0-jg "w" 25) +(def-joint-node mtn-plat-buried-rocks-lod0-jg "v" 24) +(def-joint-node mtn-plat-buried-rocks-lod0-jg "u" 23) +(def-joint-node mtn-plat-buried-rocks-lod0-jg "t" 22) +(def-joint-node mtn-plat-buried-rocks-lod0-jg "s" 21) +(def-joint-node mtn-plat-buried-rocks-lod0-jg "r" 20) +(def-joint-node mtn-plat-buried-rocks-lod0-jg "q" 19) +(def-joint-node mtn-plat-buried-rocks-lod0-jg "p" 18) +(def-joint-node mtn-plat-buried-rocks-lod0-jg "o" 17) +(def-joint-node mtn-plat-buried-rocks-lod0-jg "n" 16) +(def-joint-node mtn-plat-buried-rocks-lod0-jg "m" 15) +(def-joint-node mtn-plat-buried-rocks-lod0-jg "l" 14) +(def-joint-node mtn-plat-buried-rocks-lod0-jg "align" 1) +(def-joint-node mtn-plat-buried-rocks-lod0-jg "prejoint" 2) +(def-joint-node mtn-plat-buried-rocks-lod0-jg "main" 3) +(def-joint-node mtn-plat-buried-rocks-lod0-jg "a" 4) +(def-joint-node mtn-plat-buried-rocks-lod0-jg "b" 5) +(def-joint-node mtn-plat-buried-rocks-lod0-jg "c" 6) +(def-joint-node mtn-plat-buried-rocks-lod0-jg "e" 7) +(def-joint-node mtn-plat-buried-rocks-lod0-jg "f" 8) +(def-joint-node mtn-plat-buried-rocks-lod0-jg "g" 9) +(def-joint-node mtn-plat-buried-rocks-lod0-jg "h" 10) +(def-joint-node mtn-plat-buried-rocks-lod0-jg "i" 11) +(def-joint-node mtn-plat-buried-rocks-lod0-jg "j" 12) +(def-joint-node mtn-plat-buried-rocks-lod0-jg "k" 13) +(def-joint-node mtn-plat-buried-rocks-lod0-jg "ab" 30) +(def-joint-node mtn-plat-buried-rocks-lod0-jg "ac" 31) +(def-joint-node mtn-plat-buried-rocks-lod0-jg "ad" 32) +(def-joint-node mtn-plat-buried-rocks-lod0-jg "ae" 33) +(def-joint-node mtn-plat-buried-rocks-lod0-jg "af" 34) +(def-joint-node mtn-plat-buried-rocks-lod0-jg "ai" 35) +(def-joint-node mtn-plat-buried-rocks-lod0-jg "aj" 36) +(def-joint-node mtn-plat-buried-rocks-lod0-jg "ak" 37) +(def-joint-node mtn-plat-buried-rocks-lod0-jg "an" 38) +(def-joint-node mtn-plat-buried-rocks-lod0-jg "ao" 39) +(def-joint-node mtn-plat-buried-rocks-lod0-jg "ap" 40) +(def-joint-node mtn-plat-buried-rocks-lod0-jg "ar" 41) +(def-joint-node mtn-plat-buried-rocks-lod0-jg "as" 42) +(def-joint-node mtn-plat-buried-rocks-lod0-jg "at" 43) +(def-joint-node mtn-plat-buried-rocks-lod0-jg "au" 44) +(def-joint-node mtn-plat-buried-rocks-lod0-jg "av" 45) +(def-joint-node mtn-plat-buried-rocks-lod0-jg "ax" 46) +(def-joint-node mtn-plat-buried-rocks-lod0-jg "az" 47) +(def-joint-node mtn-plat-buried-rocks-lod0-jg "ba" 48) +(def-joint-node mtn-plat-buried-rocks-lod0-jg "bb" 49) +(def-joint-node mtn-plat-buried-rocks-lod0-jg "bc" 50) +(def-joint-node mtn-plat-buried-rocks-lod0-jg "bd" 51) +(def-joint-node mtn-plat-buried-rocks-lod0-jg "be" 52) +(def-joint-node mtn-plat-buried-rocks-lod0-jg "bf" 53) +(def-joint-node mtn-plat-buried-rocks-lod0-jg "bg" 54) +(def-joint-node mtn-plat-buried-rocks-lod0-jg "bh" 55) +(def-joint-node mtn-plat-buried-rocks-lod0-jg "bi" 56) +(def-joint-node mtn-plat-buried-rocks-lod0-jg "bj" 57) +(def-joint-node mtn-plat-buried-rocks-lod0-jg "bk" 58) +(def-joint-node mtn-plat-buried-rocks-lod0-jg "bl" 59) + +(def-joint-node atoll-valve-lod0-jg "wheelrot" 4) +(def-joint-node atoll-valve-lod0-jg "main" 3) +(def-joint-node atoll-valve-lod0-jg "prejoint" 2) +(def-joint-node atoll-valve-lod0-jg "align" 1) + +(def-joint-node farm-cabbage-explode-lod0-jg "f" 8) +(def-joint-node farm-cabbage-explode-lod0-jg "e" 7) +(def-joint-node farm-cabbage-explode-lod0-jg "d" 6) +(def-joint-node farm-cabbage-explode-lod0-jg "c" 5) +(def-joint-node farm-cabbage-explode-lod0-jg "b" 4) +(def-joint-node farm-cabbage-explode-lod0-jg "a" 3) +(def-joint-node farm-cabbage-explode-lod0-jg "prejoint" 2) +(def-joint-node farm-cabbage-explode-lod0-jg "align" 1) + +(def-joint-node pal-cable-nut-lod0-jg "main" 3) +(def-joint-node pal-cable-nut-lod0-jg "prejoint" 2) +(def-joint-node pal-cable-nut-lod0-jg "align" 1) + +(def-joint-node grunt-egg-d-lod0-jg "egg_d" 10) +(def-joint-node grunt-egg-d-lod0-jg "bend7" 9) +(def-joint-node grunt-egg-d-lod0-jg "bend6" 8) +(def-joint-node grunt-egg-d-lod0-jg "bend5" 7) +(def-joint-node grunt-egg-d-lod0-jg "bend4" 6) +(def-joint-node grunt-egg-d-lod0-jg "bend3" 5) +(def-joint-node grunt-egg-d-lod0-jg "bend2" 4) +(def-joint-node grunt-egg-d-lod0-jg "main" 3) +(def-joint-node grunt-egg-d-lod0-jg "prejoint" 2) +(def-joint-node grunt-egg-d-lod0-jg "align" 1) + +(def-joint-node farthy-lod0-jg "Rshoulder" 6) +(def-joint-node farthy-lod0-jg "halo" 5) +(def-joint-node farthy-lod0-jg "head" 4) +(def-joint-node farthy-lod0-jg "main" 3) +(def-joint-node farthy-lod0-jg "prejoint" 2) +(def-joint-node farthy-lod0-jg "align" 1) + +(def-joint-node grunt-egg-b-lod0-jg "egg_b" 14) +(def-joint-node grunt-egg-b-lod0-jg "align" 1) +(def-joint-node grunt-egg-b-lod0-jg "prejoint" 2) +(def-joint-node grunt-egg-b-lod0-jg "main" 3) +(def-joint-node grunt-egg-b-lod0-jg "6" 4) +(def-joint-node grunt-egg-b-lod0-jg "7" 5) +(def-joint-node grunt-egg-b-lod0-jg "8" 6) +(def-joint-node grunt-egg-b-lod0-jg "9" 7) +(def-joint-node grunt-egg-b-lod0-jg "10" 8) +(def-joint-node grunt-egg-b-lod0-jg "egg_a" 9) +(def-joint-node grunt-egg-b-lod0-jg "2" 10) +(def-joint-node grunt-egg-b-lod0-jg "3" 11) +(def-joint-node grunt-egg-b-lod0-jg "4" 12) +(def-joint-node grunt-egg-b-lod0-jg "5" 13) + +(def-joint-node dig-jump-pad-lod0-jg "lid" 4) +(def-joint-node dig-jump-pad-lod0-jg "main" 3) +(def-joint-node dig-jump-pad-lod0-jg "prejoint" 2) +(def-joint-node dig-jump-pad-lod0-jg "align" 1) + +(def-joint-node pal-lowrez-throne-lod0-jg "main" 3) +(def-joint-node pal-lowrez-throne-lod0-jg "prejoint" 2) +(def-joint-node pal-lowrez-throne-lod0-jg "align" 1) + +(def-joint-node cranecrate-lod0-jg "block" 3) +(def-joint-node cranecrate-lod0-jg "prejoint" 2) +(def-joint-node cranecrate-lod0-jg "align" 1) + +(def-joint-node pal-electric-fan-lod0-jg "main" 3) +(def-joint-node pal-electric-fan-lod0-jg "prejoint" 2) +(def-joint-node pal-electric-fan-lod0-jg "align" 1) + +(def-joint-node plasmitebomb-lod0-jg "main" 3) +(def-joint-node plasmitebomb-lod0-jg "prejoint" 2) +(def-joint-node plasmitebomb-lod0-jg "align" 1) + +(def-joint-node squid-collision-c-lod0-jg "main" 3) +(def-joint-node squid-collision-c-lod0-jg "prejoint" 2) +(def-joint-node squid-collision-c-lod0-jg "align" 1) + +(def-joint-node flamer-lod0-jg "tailGunTop" 27) +(def-joint-node flamer-lod0-jg "RwingBot" 26) +(def-joint-node flamer-lod0-jg "RwingTop" 25) +(def-joint-node flamer-lod0-jg "LwingBot" 24) +(def-joint-node flamer-lod0-jg "LwingTop" 23) +(def-joint-node flamer-lod0-jg "RwingBase" 22) +(def-joint-node flamer-lod0-jg "LwingBase" 21) +(def-joint-node flamer-lod0-jg "jaw" 20) +(def-joint-node flamer-lod0-jg "head" 19) +(def-joint-node flamer-lod0-jg "neckB" 18) +(def-joint-node flamer-lod0-jg "neckA" 17) +(def-joint-node flamer-lod0-jg "Rhand" 16) +(def-joint-node flamer-lod0-jg "Relbow" 15) +(def-joint-node flamer-lod0-jg "Rshoulder" 14) +(def-joint-node flamer-lod0-jg "align" 1) +(def-joint-node flamer-lod0-jg "prejoint" 2) +(def-joint-node flamer-lod0-jg "main" 3) +(def-joint-node flamer-lod0-jg "tailA" 4) +(def-joint-node flamer-lod0-jg "tailB" 5) +(def-joint-node flamer-lod0-jg "tailC" 6) +(def-joint-node flamer-lod0-jg "tailD" 7) +(def-joint-node flamer-lod0-jg "tailE" 8) +(def-joint-node flamer-lod0-jg "tailF" 9) +(def-joint-node flamer-lod0-jg "tailGunBottom" 10) +(def-joint-node flamer-lod0-jg "Lshoulder" 11) +(def-joint-node flamer-lod0-jg "Lelbow" 12) +(def-joint-node flamer-lod0-jg "Lhand" 13) + +(def-joint-node krew-lowres-lod0-jg "lefttitA" 56) +(def-joint-node krew-lowres-lod0-jg "lbackfatA" 55) +(def-joint-node krew-lowres-lod0-jg "righttitA" 54) +(def-joint-node krew-lowres-lod0-jg "lfrontfatA" 53) +(def-joint-node krew-lowres-lod0-jg "rfrontfatA" 52) +(def-joint-node krew-lowres-lod0-jg "rbackfatA" 51) +(def-joint-node krew-lowres-lod0-jg "rlowhoseA" 50) +(def-joint-node krew-lowres-lod0-jg "llowhoseA" 49) +(def-joint-node krew-lowres-lod0-jg "rtophoseA" 48) +(def-joint-node krew-lowres-lod0-jg "ltophoseA" 47) +(def-joint-node krew-lowres-lod0-jg "Rball" 46) +(def-joint-node krew-lowres-lod0-jg "Rankle" 45) +(def-joint-node krew-lowres-lod0-jg "Lball" 44) +(def-joint-node krew-lowres-lod0-jg "Lankle" 43) +(def-joint-node krew-lowres-lod0-jg "head" 42) +(def-joint-node krew-lowres-lod0-jg "fan" 41) +(def-joint-node krew-lowres-lod0-jg "Rknee" 40) +(def-joint-node krew-lowres-lod0-jg "Rthigh" 39) +(def-joint-node krew-lowres-lod0-jg "Lknee" 38) +(def-joint-node krew-lowres-lod0-jg "Lthigh" 37) +(def-joint-node krew-lowres-lod0-jg "hips" 36) +(def-joint-node krew-lowres-lod0-jg "leftuarmA" 35) +(def-joint-node krew-lowres-lod0-jg "rightuarmA" 34) +(def-joint-node krew-lowres-lod0-jg "lightEnd" 33) +(def-joint-node krew-lowres-lod0-jg "lightC" 32) +(def-joint-node krew-lowres-lod0-jg "lightB" 31) +(def-joint-node krew-lowres-lod0-jg "lightA" 30) +(def-joint-node krew-lowres-lod0-jg "LmiddleA" 13) +(def-joint-node krew-lowres-lod0-jg "LindexC" 12) +(def-joint-node krew-lowres-lod0-jg "LindexB" 11) +(def-joint-node krew-lowres-lod0-jg "LindexA" 10) +(def-joint-node krew-lowres-lod0-jg "LthumbA" 9) +(def-joint-node krew-lowres-lod0-jg "Lhand" 8) +(def-joint-node krew-lowres-lod0-jg "Lelbow" 7) +(def-joint-node krew-lowres-lod0-jg "Lshoulder" 6) +(def-joint-node krew-lowres-lod0-jg "neck" 5) +(def-joint-node krew-lowres-lod0-jg "chest" 4) +(def-joint-node krew-lowres-lod0-jg "main" 3) +(def-joint-node krew-lowres-lod0-jg "prejoint" 2) +(def-joint-node krew-lowres-lod0-jg "align" 1) +(def-joint-node krew-lowres-lod0-jg "LmiddleB" 14) +(def-joint-node krew-lowres-lod0-jg "LpinkyA" 15) +(def-joint-node krew-lowres-lod0-jg "LpinkyB" 16) +(def-joint-node krew-lowres-lod0-jg "LpinkyC" 17) +(def-joint-node krew-lowres-lod0-jg "Rshoulder" 18) +(def-joint-node krew-lowres-lod0-jg "Relbow" 19) +(def-joint-node krew-lowres-lod0-jg "Rhand" 20) +(def-joint-node krew-lowres-lod0-jg "RthumbA" 21) +(def-joint-node krew-lowres-lod0-jg "RindexA" 22) +(def-joint-node krew-lowres-lod0-jg "RindexB" 23) +(def-joint-node krew-lowres-lod0-jg "RindexC" 24) +(def-joint-node krew-lowres-lod0-jg "RmiddleA" 25) +(def-joint-node krew-lowres-lod0-jg "RmiddleB" 26) +(def-joint-node krew-lowres-lod0-jg "RpinkyA" 27) +(def-joint-node krew-lowres-lod0-jg "RpinkyB" 28) +(def-joint-node krew-lowres-lod0-jg "RpinkyC" 29) + +(def-joint-node vil-break-support-lod0-jg "main" 29) +(def-joint-node vil-break-support-lod0-jg "z" 28) +(def-joint-node vil-break-support-lod0-jg "y" 27) +(def-joint-node vil-break-support-lod0-jg "x" 26) +(def-joint-node vil-break-support-lod0-jg "w" 25) +(def-joint-node vil-break-support-lod0-jg "v" 24) +(def-joint-node vil-break-support-lod0-jg "u" 23) +(def-joint-node vil-break-support-lod0-jg "t" 22) +(def-joint-node vil-break-support-lod0-jg "s" 21) +(def-joint-node vil-break-support-lod0-jg "r" 20) +(def-joint-node vil-break-support-lod0-jg "q" 19) +(def-joint-node vil-break-support-lod0-jg "p" 18) +(def-joint-node vil-break-support-lod0-jg "o" 17) +(def-joint-node vil-break-support-lod0-jg "n" 16) +(def-joint-node vil-break-support-lod0-jg "m" 15) +(def-joint-node vil-break-support-lod0-jg "l" 14) +(def-joint-node vil-break-support-lod0-jg "align" 1) +(def-joint-node vil-break-support-lod0-jg "prejoint" 2) +(def-joint-node vil-break-support-lod0-jg "a" 3) +(def-joint-node vil-break-support-lod0-jg "b" 4) +(def-joint-node vil-break-support-lod0-jg "c" 5) +(def-joint-node vil-break-support-lod0-jg "d" 6) +(def-joint-node vil-break-support-lod0-jg "e" 7) +(def-joint-node vil-break-support-lod0-jg "f" 8) +(def-joint-node vil-break-support-lod0-jg "g" 9) +(def-joint-node vil-break-support-lod0-jg "h" 10) +(def-joint-node vil-break-support-lod0-jg "i" 11) +(def-joint-node vil-break-support-lod0-jg "j" 12) +(def-joint-node vil-break-support-lod0-jg "k" 13) + +(def-joint-node stdm-barrels-lod0-jg "p" 19) +(def-joint-node stdm-barrels-lod0-jg "o" 18) +(def-joint-node stdm-barrels-lod0-jg "n" 17) +(def-joint-node stdm-barrels-lod0-jg "m" 16) +(def-joint-node stdm-barrels-lod0-jg "l" 15) +(def-joint-node stdm-barrels-lod0-jg "k" 14) +(def-joint-node stdm-barrels-lod0-jg "align" 1) +(def-joint-node stdm-barrels-lod0-jg "prejoint" 2) +(def-joint-node stdm-barrels-lod0-jg "main" 3) +(def-joint-node stdm-barrels-lod0-jg "a" 4) +(def-joint-node stdm-barrels-lod0-jg "b" 5) +(def-joint-node stdm-barrels-lod0-jg "c" 6) +(def-joint-node stdm-barrels-lod0-jg "d" 7) +(def-joint-node stdm-barrels-lod0-jg "e" 8) +(def-joint-node stdm-barrels-lod0-jg "f" 9) +(def-joint-node stdm-barrels-lod0-jg "g" 10) +(def-joint-node stdm-barrels-lod0-jg "h" 11) +(def-joint-node stdm-barrels-lod0-jg "i" 12) +(def-joint-node stdm-barrels-lod0-jg "j" 13) + +(def-joint-node dig-digger-lod0-jg "drill" 32) +(def-joint-node dig-digger-lod0-jg "smoke3" 31) +(def-joint-node dig-digger-lod0-jg "smoke2" 30) +(def-joint-node dig-digger-lod0-jg "tether9" 13) +(def-joint-node dig-digger-lod0-jg "tether8" 12) +(def-joint-node dig-digger-lod0-jg "tether7" 11) +(def-joint-node dig-digger-lod0-jg "tether6" 10) +(def-joint-node dig-digger-lod0-jg "tether5" 9) +(def-joint-node dig-digger-lod0-jg "tether4" 8) +(def-joint-node dig-digger-lod0-jg "tether3" 7) +(def-joint-node dig-digger-lod0-jg "tether2" 6) +(def-joint-node dig-digger-lod0-jg "tether1" 5) +(def-joint-node dig-digger-lod0-jg "tether" 4) +(def-joint-node dig-digger-lod0-jg "main" 3) +(def-joint-node dig-digger-lod0-jg "prejoint" 2) +(def-joint-node dig-digger-lod0-jg "align" 1) +(def-joint-node dig-digger-lod0-jg "tether10" 14) +(def-joint-node dig-digger-lod0-jg "tether11" 15) +(def-joint-node dig-digger-lod0-jg "tether12" 16) +(def-joint-node dig-digger-lod0-jg "tether13" 17) +(def-joint-node dig-digger-lod0-jg "tether14" 18) +(def-joint-node dig-digger-lod0-jg "tether15" 19) +(def-joint-node dig-digger-lod0-jg "tether16" 20) +(def-joint-node dig-digger-lod0-jg "tether17" 21) +(def-joint-node dig-digger-lod0-jg "tether18" 22) +(def-joint-node dig-digger-lod0-jg "tether19" 23) +(def-joint-node dig-digger-lod0-jg "tether20" 24) +(def-joint-node dig-digger-lod0-jg "tether21" 25) +(def-joint-node dig-digger-lod0-jg "tether22" 26) +(def-joint-node dig-digger-lod0-jg "tether23" 27) +(def-joint-node dig-digger-lod0-jg "smoke" 28) +(def-joint-node dig-digger-lod0-jg "smoke1" 29) + +(def-joint-node consite-bomb-elevator-hinges-lod0-jg "hinge_d" 7) +(def-joint-node consite-bomb-elevator-hinges-lod0-jg "hinge_c" 6) +(def-joint-node consite-bomb-elevator-hinges-lod0-jg "hinge_b" 5) +(def-joint-node consite-bomb-elevator-hinges-lod0-jg "hinge_a" 4) +(def-joint-node consite-bomb-elevator-hinges-lod0-jg "elevator" 3) +(def-joint-node consite-bomb-elevator-hinges-lod0-jg "prejoint" 2) +(def-joint-node consite-bomb-elevator-hinges-lod0-jg "align" 1) + +(def-joint-node farm-sprinkler-barrels-lod0-jg "right" 6) +(def-joint-node farm-sprinkler-barrels-lod0-jg "sprinkler_l" 5) +(def-joint-node farm-sprinkler-barrels-lod0-jg "left" 4) +(def-joint-node farm-sprinkler-barrels-lod0-jg "sprinkler_r" 3) +(def-joint-node farm-sprinkler-barrels-lod0-jg "prejoint" 2) +(def-joint-node farm-sprinkler-barrels-lod0-jg "align" 1) + +(def-joint-node farm-marrow-explode-lod0-jg "stem_b" 12) +(def-joint-node farm-marrow-explode-lod0-jg "stem_a" 11) +(def-joint-node farm-marrow-explode-lod0-jg "leaf_c" 10) +(def-joint-node farm-marrow-explode-lod0-jg "leaf_b" 9) +(def-joint-node farm-marrow-explode-lod0-jg "leaf_a" 8) +(def-joint-node farm-marrow-explode-lod0-jg "meat_e" 7) +(def-joint-node farm-marrow-explode-lod0-jg "meat_d" 6) +(def-joint-node farm-marrow-explode-lod0-jg "meat_c" 5) +(def-joint-node farm-marrow-explode-lod0-jg "meat_b" 4) +(def-joint-node farm-marrow-explode-lod0-jg "meat_a" 3) +(def-joint-node farm-marrow-explode-lod0-jg "prejoint" 2) +(def-joint-node farm-marrow-explode-lod0-jg "align" 1) + +(def-joint-node pal-ent-glass-explode-lod0-jg "t" 22) +(def-joint-node pal-ent-glass-explode-lod0-jg "s" 21) +(def-joint-node pal-ent-glass-explode-lod0-jg "r" 20) +(def-joint-node pal-ent-glass-explode-lod0-jg "q" 19) +(def-joint-node pal-ent-glass-explode-lod0-jg "p" 18) +(def-joint-node pal-ent-glass-explode-lod0-jg "o" 17) +(def-joint-node pal-ent-glass-explode-lod0-jg "n" 16) +(def-joint-node pal-ent-glass-explode-lod0-jg "m" 15) +(def-joint-node pal-ent-glass-explode-lod0-jg "l" 14) +(def-joint-node pal-ent-glass-explode-lod0-jg "align" 1) +(def-joint-node pal-ent-glass-explode-lod0-jg "prejoint" 2) +(def-joint-node pal-ent-glass-explode-lod0-jg "a" 3) +(def-joint-node pal-ent-glass-explode-lod0-jg "b" 4) +(def-joint-node pal-ent-glass-explode-lod0-jg "c" 5) +(def-joint-node pal-ent-glass-explode-lod0-jg "d" 6) +(def-joint-node pal-ent-glass-explode-lod0-jg "e" 7) +(def-joint-node pal-ent-glass-explode-lod0-jg "f" 8) +(def-joint-node pal-ent-glass-explode-lod0-jg "g" 9) +(def-joint-node pal-ent-glass-explode-lod0-jg "h" 10) +(def-joint-node pal-ent-glass-explode-lod0-jg "i" 11) +(def-joint-node pal-ent-glass-explode-lod0-jg "j" 12) +(def-joint-node pal-ent-glass-explode-lod0-jg "k" 13) + +(def-joint-node gun-buoy-lod0-jg "gunmid_R" 10) +(def-joint-node gun-buoy-lod0-jg "gunbase_R" 9) +(def-joint-node gun-buoy-lod0-jg "gunmid_L" 8) +(def-joint-node gun-buoy-lod0-jg "gunbase_L" 7) +(def-joint-node gun-buoy-lod0-jg "gunrotate" 6) +(def-joint-node gun-buoy-lod0-jg "door_R" 5) +(def-joint-node gun-buoy-lod0-jg "door_L" 4) +(def-joint-node gun-buoy-lod0-jg "main" 3) +(def-joint-node gun-buoy-lod0-jg "prejoint" 2) +(def-joint-node gun-buoy-lod0-jg "align" 1) + +(def-joint-node water-anim-tomb-tunnel-c-lod0-jg "boneless" 3) +(def-joint-node water-anim-tomb-tunnel-c-lod0-jg "prejoint" 2) +(def-joint-node water-anim-tomb-tunnel-c-lod0-jg "align" 1) + +(def-joint-node throwblock-lod0-jg "top" 3) +(def-joint-node throwblock-lod0-jg "prejoint" 2) +(def-joint-node throwblock-lod0-jg "align" 1) + +(def-joint-node gun-cit-a-explode-lod0-jg "cit_a14" 18) +(def-joint-node gun-cit-a-explode-lod0-jg "cit_a13" 17) +(def-joint-node gun-cit-a-explode-lod0-jg "cit_a12" 16) +(def-joint-node gun-cit-a-explode-lod0-jg "cit_a11" 15) +(def-joint-node gun-cit-a-explode-lod0-jg "cit_a10" 14) +(def-joint-node gun-cit-a-explode-lod0-jg "align" 1) +(def-joint-node gun-cit-a-explode-lod0-jg "prejoint" 2) +(def-joint-node gun-cit-a-explode-lod0-jg "main" 3) +(def-joint-node gun-cit-a-explode-lod0-jg "cit_a" 4) +(def-joint-node gun-cit-a-explode-lod0-jg "cit_a1" 5) +(def-joint-node gun-cit-a-explode-lod0-jg "cit_a2" 6) +(def-joint-node gun-cit-a-explode-lod0-jg "cit_a3" 7) +(def-joint-node gun-cit-a-explode-lod0-jg "cit_a4" 8) +(def-joint-node gun-cit-a-explode-lod0-jg "cit_a5" 9) +(def-joint-node gun-cit-a-explode-lod0-jg "cit_a6" 10) +(def-joint-node gun-cit-a-explode-lod0-jg "cit_a7" 11) +(def-joint-node gun-cit-a-explode-lod0-jg "cit_a8" 12) +(def-joint-node gun-cit-a-explode-lod0-jg "cit_a9" 13) + +(def-joint-node cboss-elevator-lod0-jg "boneless" 3) +(def-joint-node cboss-elevator-lod0-jg "prejoint" 2) +(def-joint-node cboss-elevator-lod0-jg "align" 1) + +(def-joint-node farm-marrow-lod0-jg "marrow_c" 8) +(def-joint-node farm-marrow-lod0-jg "marrow_b" 7) +(def-joint-node farm-marrow-lod0-jg "marrow_a" 6) +(def-joint-node farm-marrow-lod0-jg "leaves_b" 5) +(def-joint-node farm-marrow-lod0-jg "leaves_a" 4) +(def-joint-node farm-marrow-lod0-jg "main" 3) +(def-joint-node farm-marrow-lod0-jg "prejoint" 2) +(def-joint-node farm-marrow-lod0-jg "align" 1) + +(def-joint-node farm-cabbage-lod0-jg "leaves" 5) +(def-joint-node farm-cabbage-lod0-jg "cabbage" 4) +(def-joint-node farm-cabbage-lod0-jg "main" 3) +(def-joint-node farm-cabbage-lod0-jg "prejoint" 2) +(def-joint-node farm-cabbage-lod0-jg "align" 1) + +(def-joint-node fencespikes-lod0-jg "collision" 10) +(def-joint-node fencespikes-lod0-jg "head" 9) +(def-joint-node fencespikes-lod0-jg "bld1" 8) +(def-joint-node fencespikes-lod0-jg "bld2" 7) +(def-joint-node fencespikes-lod0-jg "bld3" 6) +(def-joint-node fencespikes-lod0-jg "bld4" 5) +(def-joint-node fencespikes-lod0-jg "bld5" 4) +(def-joint-node fencespikes-lod0-jg "main" 3) +(def-joint-node fencespikes-lod0-jg "prejoint" 2) +(def-joint-node fencespikes-lod0-jg "align" 1) + +(def-joint-node farm-chilirots-explode-lod0-jg "h" 10) +(def-joint-node farm-chilirots-explode-lod0-jg "g" 9) +(def-joint-node farm-chilirots-explode-lod0-jg "f" 8) +(def-joint-node farm-chilirots-explode-lod0-jg "e" 7) +(def-joint-node farm-chilirots-explode-lod0-jg "d" 6) +(def-joint-node farm-chilirots-explode-lod0-jg "c" 5) +(def-joint-node farm-chilirots-explode-lod0-jg "b" 4) +(def-joint-node farm-chilirots-explode-lod0-jg "a" 3) +(def-joint-node farm-chilirots-explode-lod0-jg "prejoint" 2) +(def-joint-node farm-chilirots-explode-lod0-jg "align" 1) + +(def-joint-node brutter-low-lod0-jg "RBaskin" 52) +(def-joint-node brutter-low-lod0-jg "RFaskin" 51) +(def-joint-node brutter-low-lod0-jg "RringC" 50) +(def-joint-node brutter-low-lod0-jg "RringB" 49) +(def-joint-node brutter-low-lod0-jg "RringA" 48) +(def-joint-node brutter-low-lod0-jg "RmiddleC" 47) +(def-joint-node brutter-low-lod0-jg "RmiddleB" 46) +(def-joint-node brutter-low-lod0-jg "RmiddleA" 45) +(def-joint-node brutter-low-lod0-jg "RthumbC" 44) +(def-joint-node brutter-low-lod0-jg "RthumbB" 43) +(def-joint-node brutter-low-lod0-jg "LmiddleA" 42) +(def-joint-node brutter-low-lod0-jg "Rball" 41) +(def-joint-node brutter-low-lod0-jg "Rankle" 40) +(def-joint-node brutter-low-lod0-jg "Rknee" 39) +(def-joint-node brutter-low-lod0-jg "Rthigh" 38) +(def-joint-node brutter-low-lod0-jg "Lball" 37) +(def-joint-node brutter-low-lod0-jg "Lankle" 36) +(def-joint-node brutter-low-lod0-jg "Lknee" 35) +(def-joint-node brutter-low-lod0-jg "Lthigh" 34) +(def-joint-node brutter-low-lod0-jg "hips" 33) +(def-joint-node brutter-low-lod0-jg "LBaskin" 32) +(def-joint-node brutter-low-lod0-jg "LFaskin" 31) +(def-joint-node brutter-low-lod0-jg "RpinkyC" 30) +(def-joint-node brutter-low-lod0-jg "Lhand" 13) +(def-joint-node brutter-low-lod0-jg "Lelbow" 12) +(def-joint-node brutter-low-lod0-jg "Lshoulder" 11) +(def-joint-node brutter-low-lod0-jg "rfeather" 10) +(def-joint-node brutter-low-lod0-jg "lfeather" 9) +(def-joint-node brutter-low-lod0-jg "LBhair" 8) +(def-joint-node brutter-low-lod0-jg "hairpiece" 7) +(def-joint-node brutter-low-lod0-jg "head" 6) +(def-joint-node brutter-low-lod0-jg "neck" 5) +(def-joint-node brutter-low-lod0-jg "chest" 4) +(def-joint-node brutter-low-lod0-jg "main" 3) +(def-joint-node brutter-low-lod0-jg "prejoint" 2) +(def-joint-node brutter-low-lod0-jg "align" 1) +(def-joint-node brutter-low-lod0-jg "LthumbA" 14) +(def-joint-node brutter-low-lod0-jg "LindexA" 15) +(def-joint-node brutter-low-lod0-jg "LindexB" 16) +(def-joint-node brutter-low-lod0-jg "LindexC" 17) +(def-joint-node brutter-low-lod0-jg "LpinkyA" 18) +(def-joint-node brutter-low-lod0-jg "LpinkyB" 19) +(def-joint-node brutter-low-lod0-jg "LpinkyC" 20) +(def-joint-node brutter-low-lod0-jg "Rshoulder" 21) +(def-joint-node brutter-low-lod0-jg "Relbow" 22) +(def-joint-node brutter-low-lod0-jg "Rhand" 23) +(def-joint-node brutter-low-lod0-jg "RthumbA" 24) +(def-joint-node brutter-low-lod0-jg "RindexA" 25) +(def-joint-node brutter-low-lod0-jg "RindexB" 26) +(def-joint-node brutter-low-lod0-jg "RindexC" 27) +(def-joint-node brutter-low-lod0-jg "RpinkyA" 28) +(def-joint-node brutter-low-lod0-jg "RpinkyB" 29) + +(def-joint-node tess-highres-lod0-jg "RringC" 65) +(def-joint-node tess-highres-lod0-jg "RringB" 64) +(def-joint-node tess-highres-lod0-jg "RringA" 63) +(def-joint-node tess-highres-lod0-jg "RmiddleC" 62) +(def-joint-node tess-highres-lod0-jg "RmiddleB" 61) +(def-joint-node tess-highres-lod0-jg "RmiddleA" 60) +(def-joint-node tess-highres-lod0-jg "LpinkyC" 29) +(def-joint-node tess-highres-lod0-jg "LpinkyB" 28) +(def-joint-node tess-highres-lod0-jg "LpinkyA" 27) +(def-joint-node tess-highres-lod0-jg "LindexC" 26) +(def-joint-node tess-highres-lod0-jg "LindexB" 25) +(def-joint-node tess-highres-lod0-jg "LindexA" 24) +(def-joint-node tess-highres-lod0-jg "LthumbB" 23) +(def-joint-node tess-highres-lod0-jg "LthumbA" 22) +(def-joint-node tess-highres-lod0-jg "Lhand" 21) +(def-joint-node tess-highres-lod0-jg "Lelbow" 20) +(def-joint-node tess-highres-lod0-jg "Lshoulder" 19) +(def-joint-node tess-highres-lod0-jg "Lfrhairb" 18) +(def-joint-node tess-highres-lod0-jg "Lfrhaira" 17) +(def-joint-node tess-highres-lod0-jg "Rfrhairb" 16) +(def-joint-node tess-highres-lod0-jg "Rfrhaira" 15) +(def-joint-node tess-highres-lod0-jg "Rearb" 14) +(def-joint-node tess-highres-lod0-jg "align" 1) +(def-joint-node tess-highres-lod0-jg "prejoint" 2) +(def-joint-node tess-highres-lod0-jg "main" 3) +(def-joint-node tess-highres-lod0-jg "chest" 4) +(def-joint-node tess-highres-lod0-jg "neck" 5) +(def-joint-node tess-highres-lod0-jg "head" 6) +(def-joint-node tess-highres-lod0-jg "Backhaira" 7) +(def-joint-node tess-highres-lod0-jg "Backhairb" 8) +(def-joint-node tess-highres-lod0-jg "Backhairc" 9) +(def-joint-node tess-highres-lod0-jg "Backhaird" 10) +(def-joint-node tess-highres-lod0-jg "Leara" 11) +(def-joint-node tess-highres-lod0-jg "Learb" 12) +(def-joint-node tess-highres-lod0-jg "Reara" 13) +(def-joint-node tess-highres-lod0-jg "Rshoulder" 30) +(def-joint-node tess-highres-lod0-jg "Relbow" 31) +(def-joint-node tess-highres-lod0-jg "Rhand" 32) +(def-joint-node tess-highres-lod0-jg "RthumbA" 33) +(def-joint-node tess-highres-lod0-jg "RthumbB" 34) +(def-joint-node tess-highres-lod0-jg "RindexA" 35) +(def-joint-node tess-highres-lod0-jg "RindexB" 36) +(def-joint-node tess-highres-lod0-jg "RindexC" 37) +(def-joint-node tess-highres-lod0-jg "RpinkyA" 38) +(def-joint-node tess-highres-lod0-jg "RpinkyB" 39) +(def-joint-node tess-highres-lod0-jg "RpinkyC" 40) +(def-joint-node tess-highres-lod0-jg "Ltit" 41) +(def-joint-node tess-highres-lod0-jg "Rtit" 42) +(def-joint-node tess-highres-lod0-jg "hips" 43) +(def-joint-node tess-highres-lod0-jg "Lthigh" 44) +(def-joint-node tess-highres-lod0-jg "Lknee" 45) +(def-joint-node tess-highres-lod0-jg "Lankle" 46) +(def-joint-node tess-highres-lod0-jg "Lball" 47) +(def-joint-node tess-highres-lod0-jg "Rthigh" 48) +(def-joint-node tess-highres-lod0-jg "Rknee" 49) +(def-joint-node tess-highres-lod0-jg "Rankle" 50) +(def-joint-node tess-highres-lod0-jg "Rball" 51) +(def-joint-node tess-highres-lod0-jg "LthumbC" 52) +(def-joint-node tess-highres-lod0-jg "LmiddleA" 53) +(def-joint-node tess-highres-lod0-jg "LmiddleB" 54) +(def-joint-node tess-highres-lod0-jg "LmiddleC" 55) +(def-joint-node tess-highres-lod0-jg "LringA" 56) +(def-joint-node tess-highres-lod0-jg "LringB" 57) +(def-joint-node tess-highres-lod0-jg "LringC" 58) +(def-joint-node tess-highres-lod0-jg "RthumbC" 59) + +(def-joint-node farm-chilirots-lod0-jg "chili_d" 7) +(def-joint-node farm-chilirots-lod0-jg "chili_c" 6) +(def-joint-node farm-chilirots-lod0-jg "chili_b" 5) +(def-joint-node farm-chilirots-lod0-jg "chili_a" 4) +(def-joint-node farm-chilirots-lod0-jg "main" 3) +(def-joint-node farm-chilirots-lod0-jg "prejoint" 2) +(def-joint-node farm-chilirots-lod0-jg "align" 1) + +(def-joint-node squid-break-a-lod0-jg "ao" 44) +(def-joint-node squid-break-a-lod0-jg "an" 43) +(def-joint-node squid-break-a-lod0-jg "am" 42) +(def-joint-node squid-break-a-lod0-jg "al" 41) +(def-joint-node squid-break-a-lod0-jg "ak" 40) +(def-joint-node squid-break-a-lod0-jg "aj" 39) +(def-joint-node squid-break-a-lod0-jg "ai" 38) +(def-joint-node squid-break-a-lod0-jg "ah" 37) +(def-joint-node squid-break-a-lod0-jg "ag" 36) +(def-joint-node squid-break-a-lod0-jg "af" 35) +(def-joint-node squid-break-a-lod0-jg "ae" 34) +(def-joint-node squid-break-a-lod0-jg "ad" 33) +(def-joint-node squid-break-a-lod0-jg "ac" 32) +(def-joint-node squid-break-a-lod0-jg "ab" 31) +(def-joint-node squid-break-a-lod0-jg "aa" 30) +(def-joint-node squid-break-a-lod0-jg "k" 13) +(def-joint-node squid-break-a-lod0-jg "j" 12) +(def-joint-node squid-break-a-lod0-jg "i" 11) +(def-joint-node squid-break-a-lod0-jg "h" 10) +(def-joint-node squid-break-a-lod0-jg "g" 9) +(def-joint-node squid-break-a-lod0-jg "f" 8) +(def-joint-node squid-break-a-lod0-jg "e" 7) +(def-joint-node squid-break-a-lod0-jg "d" 6) +(def-joint-node squid-break-a-lod0-jg "c" 5) +(def-joint-node squid-break-a-lod0-jg "b" 4) +(def-joint-node squid-break-a-lod0-jg "main" 3) +(def-joint-node squid-break-a-lod0-jg "prejoint" 2) +(def-joint-node squid-break-a-lod0-jg "align" 1) +(def-joint-node squid-break-a-lod0-jg "l" 14) +(def-joint-node squid-break-a-lod0-jg "m" 15) +(def-joint-node squid-break-a-lod0-jg "n" 16) +(def-joint-node squid-break-a-lod0-jg "o" 17) +(def-joint-node squid-break-a-lod0-jg "p" 18) +(def-joint-node squid-break-a-lod0-jg "q" 19) +(def-joint-node squid-break-a-lod0-jg "r" 20) +(def-joint-node squid-break-a-lod0-jg "s" 21) +(def-joint-node squid-break-a-lod0-jg "t" 22) +(def-joint-node squid-break-a-lod0-jg "u" 23) +(def-joint-node squid-break-a-lod0-jg "v" 24) +(def-joint-node squid-break-a-lod0-jg "w" 25) +(def-joint-node squid-break-a-lod0-jg "x" 26) +(def-joint-node squid-break-a-lod0-jg "y" 27) +(def-joint-node squid-break-a-lod0-jg "z" 28) +(def-joint-node squid-break-a-lod0-jg "" 29) + +(def-joint-node yakow-lod0-jg "RmiddleA" 33) +(def-joint-node yakow-lod0-jg "LmiddleA" 32) +(def-joint-node yakow-lod0-jg "rightEAREND" 31) +(def-joint-node yakow-lod0-jg "leftEAR1" 30) +(def-joint-node yakow-lod0-jg "loSpine" 13) +(def-joint-node yakow-lod0-jg "Rhand" 12) +(def-joint-node yakow-lod0-jg "Relbow" 11) +(def-joint-node yakow-lod0-jg "Rshoulder" 10) +(def-joint-node yakow-lod0-jg "Lhand" 9) +(def-joint-node yakow-lod0-jg "Lelbow" 8) +(def-joint-node yakow-lod0-jg "Lshoulder" 7) +(def-joint-node yakow-lod0-jg "head" 6) +(def-joint-node yakow-lod0-jg "neck" 5) +(def-joint-node yakow-lod0-jg "chest" 4) +(def-joint-node yakow-lod0-jg "main" 3) +(def-joint-node yakow-lod0-jg "prejoint" 2) +(def-joint-node yakow-lod0-jg "align" 1) +(def-joint-node yakow-lod0-jg "hips" 14) +(def-joint-node yakow-lod0-jg "Lthigh" 15) +(def-joint-node yakow-lod0-jg "Lknee" 16) +(def-joint-node yakow-lod0-jg "Lankle" 17) +(def-joint-node yakow-lod0-jg "Lball" 18) +(def-joint-node yakow-lod0-jg "tail1" 19) +(def-joint-node yakow-lod0-jg "tail2" 20) +(def-joint-node yakow-lod0-jg "tail3" 21) +(def-joint-node yakow-lod0-jg "Rthigh" 22) +(def-joint-node yakow-lod0-jg "Rknee" 23) +(def-joint-node yakow-lod0-jg "Rankle" 24) +(def-joint-node yakow-lod0-jg "Rball" 25) +(def-joint-node yakow-lod0-jg "jaw" 26) +(def-joint-node yakow-lod0-jg "jawEND" 27) +(def-joint-node yakow-lod0-jg "leftEAR" 28) +(def-joint-node yakow-lod0-jg "leftEAREND" 29) + +(def-joint-node tomb-vibe-lod0-jg "shake" 4) +(def-joint-node tomb-vibe-lod0-jg "main" 3) +(def-joint-node tomb-vibe-lod0-jg "prejoint" 2) +(def-joint-node tomb-vibe-lod0-jg "align" 1) + +(def-joint-node collectables-generic-blast-lod0-jg "innerSrc" 6) +(def-joint-node collectables-generic-blast-lod0-jg "outer" 5) +(def-joint-node collectables-generic-blast-lod0-jg "middle" 4) +(def-joint-node collectables-generic-blast-lod0-jg "inner" 3) +(def-joint-node collectables-generic-blast-lod0-jg "prejoint" 2) +(def-joint-node collectables-generic-blast-lod0-jg "align" 1) + +(def-joint-node cas-rot-blade-lod0-jg "blade" 4) +(def-joint-node cas-rot-blade-lod0-jg "main" 3) +(def-joint-node cas-rot-blade-lod0-jg "prejoint" 2) +(def-joint-node cas-rot-blade-lod0-jg "align" 1) + +(def-joint-node fodder-lod0-jg "RinsideClaw" 32) +(def-joint-node fodder-lod0-jg "RoutsideClaw" 31) +(def-joint-node fodder-lod0-jg "RrearClaw" 30) +(def-joint-node fodder-lod0-jg "tailA" 13) +(def-joint-node fodder-lod0-jg "hips" 12) +(def-joint-node fodder-lod0-jg "Rhand" 11) +(def-joint-node fodder-lod0-jg "Relbow" 10) +(def-joint-node fodder-lod0-jg "Rshoulder" 9) +(def-joint-node fodder-lod0-jg "Lhand" 8) +(def-joint-node fodder-lod0-jg "Lelbow" 7) +(def-joint-node fodder-lod0-jg "Lshoulder" 6) +(def-joint-node fodder-lod0-jg "head" 5) +(def-joint-node fodder-lod0-jg "chest" 4) +(def-joint-node fodder-lod0-jg "main" 3) +(def-joint-node fodder-lod0-jg "prejoint" 2) +(def-joint-node fodder-lod0-jg "align" 1) +(def-joint-node fodder-lod0-jg "tailB" 14) +(def-joint-node fodder-lod0-jg "tailC" 15) +(def-joint-node fodder-lod0-jg "Lthigh" 16) +(def-joint-node fodder-lod0-jg "Lknee" 17) +(def-joint-node fodder-lod0-jg "Lankle" 18) +(def-joint-node fodder-lod0-jg "Rthigh" 19) +(def-joint-node fodder-lod0-jg "Rknee" 20) +(def-joint-node fodder-lod0-jg "Rankle" 21) +(def-joint-node fodder-lod0-jg "jaw" 22) +(def-joint-node fodder-lod0-jg "Leye" 23) +(def-joint-node fodder-lod0-jg "Reye" 24) +(def-joint-node fodder-lod0-jg "Lball" 25) +(def-joint-node fodder-lod0-jg "LrearClaw" 26) +(def-joint-node fodder-lod0-jg "LoutsideClaw" 27) +(def-joint-node fodder-lod0-jg "LinsideClaw" 28) +(def-joint-node fodder-lod0-jg "Rball" 29) + +(def-joint-node drill-barons-ship-turret-b-lod0-jg "bottom_door" 8) +(def-joint-node drill-barons-ship-turret-b-lod0-jg "top_door" 7) +(def-joint-node drill-barons-ship-turret-b-lod0-jg "gun_left" 6) +(def-joint-node drill-barons-ship-turret-b-lod0-jg "gun_right" 5) +(def-joint-node drill-barons-ship-turret-b-lod0-jg "gun" 4) +(def-joint-node drill-barons-ship-turret-b-lod0-jg "main" 3) +(def-joint-node drill-barons-ship-turret-b-lod0-jg "prejoint" 2) +(def-joint-node drill-barons-ship-turret-b-lod0-jg "align" 1) + +(def-joint-node tomb-beetle-lod0-jg "Rwing" 22) +(def-joint-node tomb-beetle-lod0-jg "Rshell" 21) +(def-joint-node tomb-beetle-lod0-jg "Lwing" 20) +(def-joint-node tomb-beetle-lod0-jg "Lshell" 19) +(def-joint-node tomb-beetle-lod0-jg "Rantennae" 18) +(def-joint-node tomb-beetle-lod0-jg "Lantennae" 17) +(def-joint-node tomb-beetle-lod0-jg "RhindlegB" 16) +(def-joint-node tomb-beetle-lod0-jg "RhindlegA" 15) +(def-joint-node tomb-beetle-lod0-jg "RmidlegB" 14) +(def-joint-node tomb-beetle-lod0-jg "align" 1) +(def-joint-node tomb-beetle-lod0-jg "prejoint" 2) +(def-joint-node tomb-beetle-lod0-jg "main" 3) +(def-joint-node tomb-beetle-lod0-jg "head" 4) +(def-joint-node tomb-beetle-lod0-jg "LfrontlegA" 5) +(def-joint-node tomb-beetle-lod0-jg "LfrontlegB" 6) +(def-joint-node tomb-beetle-lod0-jg "LmidlegA" 7) +(def-joint-node tomb-beetle-lod0-jg "LmidlegB" 8) +(def-joint-node tomb-beetle-lod0-jg "LhindlegA" 9) +(def-joint-node tomb-beetle-lod0-jg "LhindlegB" 10) +(def-joint-node tomb-beetle-lod0-jg "RfrontlegA" 11) +(def-joint-node tomb-beetle-lod0-jg "RfrontlegB" 12) +(def-joint-node tomb-beetle-lod0-jg "RmidlegA" 13) + +(def-joint-node precursor-stone-lod0-jg "main" 3) +(def-joint-node precursor-stone-lod0-jg "prejoint" 2) +(def-joint-node precursor-stone-lod0-jg "align" 1) + +(def-joint-node barons-ship-lores-lod0-jg "main" 3) +(def-joint-node barons-ship-lores-lod0-jg "prejoint" 2) +(def-joint-node barons-ship-lores-lod0-jg "align" 1) + +(def-joint-node roboguard-explode-lod0-jg "robopart_right_upperarm" 18) +(def-joint-node roboguard-explode-lod0-jg "robopart_left_upperarm" 17) +(def-joint-node roboguard-explode-lod0-jg "robopart_chest" 16) +(def-joint-node roboguard-explode-lod0-jg "robopart_hips" 15) +(def-joint-node roboguard-explode-lod0-jg "robopart_head" 14) +(def-joint-node roboguard-explode-lod0-jg "align" 1) +(def-joint-node roboguard-explode-lod0-jg "prejoint" 2) +(def-joint-node roboguard-explode-lod0-jg "main" 3) +(def-joint-node roboguard-explode-lod0-jg "robopart_left_foot" 4) +(def-joint-node roboguard-explode-lod0-jg "robopart_right_foot" 5) +(def-joint-node roboguard-explode-lod0-jg "robopart_left_leg" 6) +(def-joint-node roboguard-explode-lod0-jg "robopart_right_leg" 7) +(def-joint-node roboguard-explode-lod0-jg "robopart_right_hand" 8) +(def-joint-node roboguard-explode-lod0-jg "robopart_left_hand" 9) +(def-joint-node roboguard-explode-lod0-jg "robopart_right_arm_pad" 10) +(def-joint-node roboguard-explode-lod0-jg "robopart_left_arm_pad" 11) +(def-joint-node roboguard-explode-lod0-jg "robopart_right_shoulder" 12) +(def-joint-node roboguard-explode-lod0-jg "robopart_left_shoulder" 13) + +(def-joint-node mtn-plat-shoot-lod0-jg "main" 3) +(def-joint-node mtn-plat-shoot-lod0-jg "prejoint" 2) +(def-joint-node mtn-plat-shoot-lod0-jg "align" 1) + +(def-joint-node homing-beacon-lod0-jg "beacon" 4) +(def-joint-node homing-beacon-lod0-jg "main" 3) +(def-joint-node homing-beacon-lod0-jg "prejoint" 2) +(def-joint-node homing-beacon-lod0-jg "align" 1) + +(def-joint-node palent-turret-lod0-jg "hole_7" 14) +(def-joint-node palent-turret-lod0-jg "align" 1) +(def-joint-node palent-turret-lod0-jg "prejoint" 2) +(def-joint-node palent-turret-lod0-jg "main" 3) +(def-joint-node palent-turret-lod0-jg "barrel" 4) +(def-joint-node palent-turret-lod0-jg "gun" 5) +(def-joint-node palent-turret-lod0-jg "track" 6) +(def-joint-node palent-turret-lod0-jg "hole_0" 7) +(def-joint-node palent-turret-lod0-jg "hole_1" 8) +(def-joint-node palent-turret-lod0-jg "hole_2" 9) +(def-joint-node palent-turret-lod0-jg "hole_3" 10) +(def-joint-node palent-turret-lod0-jg "hole_4" 11) +(def-joint-node palent-turret-lod0-jg "hole_5" 12) +(def-joint-node palent-turret-lod0-jg "hole_6" 13) + +(def-joint-node strip-conveyor-lod0-jg "boneless" 3) +(def-joint-node strip-conveyor-lod0-jg "prejoint" 2) +(def-joint-node strip-conveyor-lod0-jg "align" 1) + +(def-joint-node water-anim-strip-dark-eco-near-crane-lod0-jg "boneless" 3) +(def-joint-node water-anim-strip-dark-eco-near-crane-lod0-jg "prejoint" 2) +(def-joint-node water-anim-strip-dark-eco-near-crane-lod0-jg "align" 1) + +(def-joint-node atoll-tank-a-lod0-jg "be" 60) +(def-joint-node atoll-tank-a-lod0-jg "" 29) +(def-joint-node atoll-tank-a-lod0-jg "z" 28) +(def-joint-node atoll-tank-a-lod0-jg "y" 27) +(def-joint-node atoll-tank-a-lod0-jg "x" 26) +(def-joint-node atoll-tank-a-lod0-jg "w" 25) +(def-joint-node atoll-tank-a-lod0-jg "v" 24) +(def-joint-node atoll-tank-a-lod0-jg "u" 23) +(def-joint-node atoll-tank-a-lod0-jg "t" 22) +(def-joint-node atoll-tank-a-lod0-jg "s" 21) +(def-joint-node atoll-tank-a-lod0-jg "r" 20) +(def-joint-node atoll-tank-a-lod0-jg "q" 19) +(def-joint-node atoll-tank-a-lod0-jg "p" 18) +(def-joint-node atoll-tank-a-lod0-jg "o" 17) +(def-joint-node atoll-tank-a-lod0-jg "n" 16) +(def-joint-node atoll-tank-a-lod0-jg "m" 15) +(def-joint-node atoll-tank-a-lod0-jg "l" 14) +(def-joint-node atoll-tank-a-lod0-jg "align" 1) +(def-joint-node atoll-tank-a-lod0-jg "prejoint" 2) +(def-joint-node atoll-tank-a-lod0-jg "a" 3) +(def-joint-node atoll-tank-a-lod0-jg "b" 4) +(def-joint-node atoll-tank-a-lod0-jg "c" 5) +(def-joint-node atoll-tank-a-lod0-jg "d" 6) +(def-joint-node atoll-tank-a-lod0-jg "e" 7) +(def-joint-node atoll-tank-a-lod0-jg "f" 8) +(def-joint-node atoll-tank-a-lod0-jg "g" 9) +(def-joint-node atoll-tank-a-lod0-jg "h" 10) +(def-joint-node atoll-tank-a-lod0-jg "i" 11) +(def-joint-node atoll-tank-a-lod0-jg "j" 12) +(def-joint-node atoll-tank-a-lod0-jg "k" 13) +(def-joint-node atoll-tank-a-lod0-jg "aa" 30) +(def-joint-node atoll-tank-a-lod0-jg "ab" 31) +(def-joint-node atoll-tank-a-lod0-jg "ac" 32) +(def-joint-node atoll-tank-a-lod0-jg "ad" 33) +(def-joint-node atoll-tank-a-lod0-jg "ae" 34) +(def-joint-node atoll-tank-a-lod0-jg "af" 35) +(def-joint-node atoll-tank-a-lod0-jg "ag" 36) +(def-joint-node atoll-tank-a-lod0-jg "ah" 37) +(def-joint-node atoll-tank-a-lod0-jg "ai" 38) +(def-joint-node atoll-tank-a-lod0-jg "aj" 39) +(def-joint-node atoll-tank-a-lod0-jg "ak" 40) +(def-joint-node atoll-tank-a-lod0-jg "al" 41) +(def-joint-node atoll-tank-a-lod0-jg "am" 42) +(def-joint-node atoll-tank-a-lod0-jg "an" 43) +(def-joint-node atoll-tank-a-lod0-jg "ao" 44) +(def-joint-node atoll-tank-a-lod0-jg "ap" 45) +(def-joint-node atoll-tank-a-lod0-jg "aq" 46) +(def-joint-node atoll-tank-a-lod0-jg "ar" 47) +(def-joint-node atoll-tank-a-lod0-jg "as" 48) +(def-joint-node atoll-tank-a-lod0-jg "at" 49) +(def-joint-node atoll-tank-a-lod0-jg "au" 50) +(def-joint-node atoll-tank-a-lod0-jg "av" 51) +(def-joint-node atoll-tank-a-lod0-jg "aw" 52) +(def-joint-node atoll-tank-a-lod0-jg "ax" 53) +(def-joint-node atoll-tank-a-lod0-jg "ay" 54) +(def-joint-node atoll-tank-a-lod0-jg "az" 55) +(def-joint-node atoll-tank-a-lod0-jg "ba" 56) +(def-joint-node atoll-tank-a-lod0-jg "bb" 57) +(def-joint-node atoll-tank-a-lod0-jg "bc" 58) +(def-joint-node atoll-tank-a-lod0-jg "bd" 59) + +(def-joint-node fort-entry-gate-lod0-jg "frontdoorR" 5) +(def-joint-node fort-entry-gate-lod0-jg "frontdoorL" 4) +(def-joint-node fort-entry-gate-lod0-jg "main_" 3) +(def-joint-node fort-entry-gate-lod0-jg "prejoint" 2) +(def-joint-node fort-entry-gate-lod0-jg "align" 1) + +(def-joint-node amphibian-lod0-jg "fin" 35) +(def-joint-node amphibian-lod0-jg "Reye" 34) +(def-joint-node amphibian-lod0-jg "Leye" 33) +(def-joint-node amphibian-lod0-jg "jawEND" 32) +(def-joint-node amphibian-lod0-jg "RmiddleA" 31) +(def-joint-node amphibian-lod0-jg "LmiddleA" 30) +(def-joint-node amphibian-lod0-jg "toungeA" 13) +(def-joint-node amphibian-lod0-jg "head" 12) +(def-joint-node amphibian-lod0-jg "neck" 11) +(def-joint-node amphibian-lod0-jg "Rhand" 10) +(def-joint-node amphibian-lod0-jg "Relbow" 9) +(def-joint-node amphibian-lod0-jg "Rshoulder" 8) +(def-joint-node amphibian-lod0-jg "Lhand" 7) +(def-joint-node amphibian-lod0-jg "Lelbow" 6) +(def-joint-node amphibian-lod0-jg "Lshoulder" 5) +(def-joint-node amphibian-lod0-jg "chest" 4) +(def-joint-node amphibian-lod0-jg "main" 3) +(def-joint-node amphibian-lod0-jg "prejoint" 2) +(def-joint-node amphibian-lod0-jg "align" 1) +(def-joint-node amphibian-lod0-jg "toungeB" 14) +(def-joint-node amphibian-lod0-jg "loSpine" 15) +(def-joint-node amphibian-lod0-jg "hips" 16) +(def-joint-node amphibian-lod0-jg "Lthigh" 17) +(def-joint-node amphibian-lod0-jg "Lknee" 18) +(def-joint-node amphibian-lod0-jg "Lankle" 19) +(def-joint-node amphibian-lod0-jg "tail1" 20) +(def-joint-node amphibian-lod0-jg "tail2" 21) +(def-joint-node amphibian-lod0-jg "tail3" 22) +(def-joint-node amphibian-lod0-jg "Rthigh" 23) +(def-joint-node amphibian-lod0-jg "Rknee" 24) +(def-joint-node amphibian-lod0-jg "Rankle" 25) +(def-joint-node amphibian-lod0-jg "jaw" 26) +(def-joint-node amphibian-lod0-jg "Lball" 27) +(def-joint-node amphibian-lod0-jg "tail4" 28) +(def-joint-node amphibian-lod0-jg "Rball" 29) + +(def-joint-node farm-beetree-explode-lod0-jg "j" 12) +(def-joint-node farm-beetree-explode-lod0-jg "i" 11) +(def-joint-node farm-beetree-explode-lod0-jg "h" 10) +(def-joint-node farm-beetree-explode-lod0-jg "g" 9) +(def-joint-node farm-beetree-explode-lod0-jg "f" 8) +(def-joint-node farm-beetree-explode-lod0-jg "e" 7) +(def-joint-node farm-beetree-explode-lod0-jg "d" 6) +(def-joint-node farm-beetree-explode-lod0-jg "c" 5) +(def-joint-node farm-beetree-explode-lod0-jg "b" 4) +(def-joint-node farm-beetree-explode-lod0-jg "a" 3) +(def-joint-node farm-beetree-explode-lod0-jg "prejoint" 2) +(def-joint-node farm-beetree-explode-lod0-jg "align" 1) + +(def-joint-node jakone-highres-lod0-jg "extra" 75) +(def-joint-node jakone-highres-lod0-jg "belt" 74) +(def-joint-node jakone-highres-lod0-jg "shirtRthigh" 73) +(def-joint-node jakone-highres-lod0-jg "shirtLthigh" 72) +(def-joint-node jakone-highres-lod0-jg "ankleRStrap" 71) +(def-joint-node jakone-highres-lod0-jg "footRStrap" 70) +(def-joint-node jakone-highres-lod0-jg "Rtoes" 69) +(def-joint-node jakone-highres-lod0-jg "RbigToe" 68) +(def-joint-node jakone-highres-lod0-jg "Rball" 67) +(def-joint-node jakone-highres-lod0-jg "Rankle" 66) +(def-joint-node jakone-highres-lod0-jg "Rknee" 65) +(def-joint-node jakone-highres-lod0-jg "Rthigh" 64) +(def-joint-node jakone-highres-lod0-jg "ankleLStrap" 63) +(def-joint-node jakone-highres-lod0-jg "footLStrap" 62) +(def-joint-node jakone-highres-lod0-jg "Ltoes" 61) +(def-joint-node jakone-highres-lod0-jg "LbigToe" 60) +(def-joint-node jakone-highres-lod0-jg "handLStrapTopMid" 29) +(def-joint-node jakone-highres-lod0-jg "handLStrapTopTop" 28) +(def-joint-node jakone-highres-lod0-jg "lpinkB" 27) +(def-joint-node jakone-highres-lod0-jg "lpinkA" 26) +(def-joint-node jakone-highres-lod0-jg "lringB" 25) +(def-joint-node jakone-highres-lod0-jg "lringA" 24) +(def-joint-node jakone-highres-lod0-jg "lmidB" 23) +(def-joint-node jakone-highres-lod0-jg "lmidA" 22) +(def-joint-node jakone-highres-lod0-jg "lindB" 21) +(def-joint-node jakone-highres-lod0-jg "lindA" 20) +(def-joint-node jakone-highres-lod0-jg "lthumB" 19) +(def-joint-node jakone-highres-lod0-jg "lthumA" 18) +(def-joint-node jakone-highres-lod0-jg "sk_lhand" 17) +(def-joint-node jakone-highres-lod0-jg "Lforarm" 16) +(def-joint-node jakone-highres-lod0-jg "Larm" 15) +(def-joint-node jakone-highres-lod0-jg "Lshould" 14) +(def-joint-node jakone-highres-lod0-jg "align" 1) +(def-joint-node jakone-highres-lod0-jg "prejoint" 2) +(def-joint-node jakone-highres-lod0-jg "main" 3) +(def-joint-node jakone-highres-lod0-jg "upper_body" 4) +(def-joint-node jakone-highres-lod0-jg "chest" 5) +(def-joint-node jakone-highres-lod0-jg "neckA" 6) +(def-joint-node jakone-highres-lod0-jg "neckB" 7) +(def-joint-node jakone-highres-lod0-jg "MhairA" 8) +(def-joint-node jakone-highres-lod0-jg "MhairB" 9) +(def-joint-node jakone-highres-lod0-jg "Learbase" 10) +(def-joint-node jakone-highres-lod0-jg "Learmid" 11) +(def-joint-node jakone-highres-lod0-jg "Rearbase" 12) +(def-joint-node jakone-highres-lod0-jg "Rearmid" 13) +(def-joint-node jakone-highres-lod0-jg "handLStrapBotTop" 30) +(def-joint-node jakone-highres-lod0-jg "handLStrapBotMid" 31) +(def-joint-node jakone-highres-lod0-jg "Rshould" 32) +(def-joint-node jakone-highres-lod0-jg "Rarm" 33) +(def-joint-node jakone-highres-lod0-jg "Rforarm" 34) +(def-joint-node jakone-highres-lod0-jg "sk_rhand" 35) +(def-joint-node jakone-highres-lod0-jg "rthumA" 36) +(def-joint-node jakone-highres-lod0-jg "rthumB" 37) +(def-joint-node jakone-highres-lod0-jg "rindA" 38) +(def-joint-node jakone-highres-lod0-jg "rindB" 39) +(def-joint-node jakone-highres-lod0-jg "rmidA" 40) +(def-joint-node jakone-highres-lod0-jg "rmidB" 41) +(def-joint-node jakone-highres-lod0-jg "rringA" 42) +(def-joint-node jakone-highres-lod0-jg "rringB" 43) +(def-joint-node jakone-highres-lod0-jg "rpinkA" 44) +(def-joint-node jakone-highres-lod0-jg "rpinkB" 45) +(def-joint-node jakone-highres-lod0-jg "handRStrapTopTop" 46) +(def-joint-node jakone-highres-lod0-jg "handRStrapTopMid" 47) +(def-joint-node jakone-highres-lod0-jg "handRStrapBotTop" 48) +(def-joint-node jakone-highres-lod0-jg "handRStrapBotMid" 49) +(def-joint-node jakone-highres-lod0-jg "LshoulderPad" 50) +(def-joint-node jakone-highres-lod0-jg "collarL" 51) +(def-joint-node jakone-highres-lod0-jg "collarR" 52) +(def-joint-node jakone-highres-lod0-jg "packStrapTop" 53) +(def-joint-node jakone-highres-lod0-jg "packStrapMid" 54) +(def-joint-node jakone-highres-lod0-jg "hips" 55) +(def-joint-node jakone-highres-lod0-jg "Lthigh" 56) +(def-joint-node jakone-highres-lod0-jg "Lknee" 57) +(def-joint-node jakone-highres-lod0-jg "Lankle" 58) +(def-joint-node jakone-highres-lod0-jg "Lball" 59) + +(def-joint-node water-anim-tomb-dark-eco-stair-block-lod0-jg "boneless" 3) +(def-joint-node water-anim-tomb-dark-eco-stair-block-lod0-jg "prejoint" 2) +(def-joint-node water-anim-tomb-dark-eco-stair-block-lod0-jg "align" 1) + +(def-joint-node ashelin-lod0-jg "rtitA" 39) +(def-joint-node ashelin-lod0-jg "ltitA" 38) +(def-joint-node ashelin-lod0-jg "RthumbB" 37) +(def-joint-node ashelin-lod0-jg "RthumbA" 36) +(def-joint-node ashelin-lod0-jg "RmiddleB" 35) +(def-joint-node ashelin-lod0-jg "RmiddleA" 34) +(def-joint-node ashelin-lod0-jg "LthumbB" 33) +(def-joint-node ashelin-lod0-jg "LthumbA" 32) +(def-joint-node ashelin-lod0-jg "LmiddleB" 31) +(def-joint-node ashelin-lod0-jg "LmiddleA" 30) +(def-joint-node ashelin-lod0-jg "hips" 13) +(def-joint-node ashelin-lod0-jg "Rhand" 12) +(def-joint-node ashelin-lod0-jg "Relbow" 11) +(def-joint-node ashelin-lod0-jg "Rshoulder" 10) +(def-joint-node ashelin-lod0-jg "Lhand" 9) +(def-joint-node ashelin-lod0-jg "Lelbow" 8) +(def-joint-node ashelin-lod0-jg "Lshoulder" 7) +(def-joint-node ashelin-lod0-jg "head" 6) +(def-joint-node ashelin-lod0-jg "neck" 5) +(def-joint-node ashelin-lod0-jg "chest" 4) +(def-joint-node ashelin-lod0-jg "main" 3) +(def-joint-node ashelin-lod0-jg "prejoint" 2) +(def-joint-node ashelin-lod0-jg "align" 1) +(def-joint-node ashelin-lod0-jg "Lthigh" 14) +(def-joint-node ashelin-lod0-jg "Lknee" 15) +(def-joint-node ashelin-lod0-jg "Lankle" 16) +(def-joint-node ashelin-lod0-jg "Lball" 17) +(def-joint-node ashelin-lod0-jg "Rthigh" 18) +(def-joint-node ashelin-lod0-jg "Rknee" 19) +(def-joint-node ashelin-lod0-jg "Rankle" 20) +(def-joint-node ashelin-lod0-jg "Rball" 21) +(def-joint-node ashelin-lod0-jg "gun" 22) +(def-joint-node ashelin-lod0-jg "eyes" 23) +(def-joint-node ashelin-lod0-jg "hairA" 24) +(def-joint-node ashelin-lod0-jg "hairB" 25) +(def-joint-node ashelin-lod0-jg "lburnA" 26) +(def-joint-node ashelin-lod0-jg "lburnB" 27) +(def-joint-node ashelin-lod0-jg "rburnA" 28) +(def-joint-node ashelin-lod0-jg "rburnB" 29) + +(def-joint-node brutter-balloon-norift-lod0-jg "steering_wheel" 6) +(def-joint-node brutter-balloon-norift-lod0-jg "blades" 5) +(def-joint-node brutter-balloon-norift-lod0-jg "baloons" 4) +(def-joint-node brutter-balloon-norift-lod0-jg "main" 3) +(def-joint-node brutter-balloon-norift-lod0-jg "prejoint" 2) +(def-joint-node brutter-balloon-norift-lod0-jg "align" 1) + +(def-joint-node cas-rot-bridge-lod0-jg "c" 7) +(def-joint-node cas-rot-bridge-lod0-jg "link_b" 6) +(def-joint-node cas-rot-bridge-lod0-jg "b" 5) +(def-joint-node cas-rot-bridge-lod0-jg "link_a" 4) +(def-joint-node cas-rot-bridge-lod0-jg "a" 3) +(def-joint-node cas-rot-bridge-lod0-jg "prejoint" 2) +(def-joint-node cas-rot-bridge-lod0-jg "align" 1) + +(def-joint-node nest-break-rocks-break-b-lod0-jg "dt" 42) +(def-joint-node nest-break-rocks-break-b-lod0-jg "ds" 41) +(def-joint-node nest-break-rocks-break-b-lod0-jg "dr" 40) +(def-joint-node nest-break-rocks-break-b-lod0-jg "dq" 39) +(def-joint-node nest-break-rocks-break-b-lod0-jg "dp" 38) +(def-joint-node nest-break-rocks-break-b-lod0-jg "do" 37) +(def-joint-node nest-break-rocks-break-b-lod0-jg "dn" 36) +(def-joint-node nest-break-rocks-break-b-lod0-jg "dm" 35) +(def-joint-node nest-break-rocks-break-b-lod0-jg "dl" 34) +(def-joint-node nest-break-rocks-break-b-lod0-jg "dk" 33) +(def-joint-node nest-break-rocks-break-b-lod0-jg "dj" 32) +(def-joint-node nest-break-rocks-break-b-lod0-jg "di" 31) +(def-joint-node nest-break-rocks-break-b-lod0-jg "dh" 30) +(def-joint-node nest-break-rocks-break-b-lod0-jg "cq" 13) +(def-joint-node nest-break-rocks-break-b-lod0-jg "cp" 12) +(def-joint-node nest-break-rocks-break-b-lod0-jg "co" 11) +(def-joint-node nest-break-rocks-break-b-lod0-jg "cn" 10) +(def-joint-node nest-break-rocks-break-b-lod0-jg "cm" 9) +(def-joint-node nest-break-rocks-break-b-lod0-jg "cl" 8) +(def-joint-node nest-break-rocks-break-b-lod0-jg "ck" 7) +(def-joint-node nest-break-rocks-break-b-lod0-jg "cj" 6) +(def-joint-node nest-break-rocks-break-b-lod0-jg "ci" 5) +(def-joint-node nest-break-rocks-break-b-lod0-jg "ch" 4) +(def-joint-node nest-break-rocks-break-b-lod0-jg "main" 3) +(def-joint-node nest-break-rocks-break-b-lod0-jg "prejoint" 2) +(def-joint-node nest-break-rocks-break-b-lod0-jg "align" 1) +(def-joint-node nest-break-rocks-break-b-lod0-jg "cr" 14) +(def-joint-node nest-break-rocks-break-b-lod0-jg "cs" 15) +(def-joint-node nest-break-rocks-break-b-lod0-jg "ct" 16) +(def-joint-node nest-break-rocks-break-b-lod0-jg "cu" 17) +(def-joint-node nest-break-rocks-break-b-lod0-jg "cv" 18) +(def-joint-node nest-break-rocks-break-b-lod0-jg "cw" 19) +(def-joint-node nest-break-rocks-break-b-lod0-jg "cx" 20) +(def-joint-node nest-break-rocks-break-b-lod0-jg "cy" 21) +(def-joint-node nest-break-rocks-break-b-lod0-jg "cz" 22) +(def-joint-node nest-break-rocks-break-b-lod0-jg "da" 23) +(def-joint-node nest-break-rocks-break-b-lod0-jg "db" 24) +(def-joint-node nest-break-rocks-break-b-lod0-jg "dc" 25) +(def-joint-node nest-break-rocks-break-b-lod0-jg "dd" 26) +(def-joint-node nest-break-rocks-break-b-lod0-jg "de" 27) +(def-joint-node nest-break-rocks-break-b-lod0-jg "df" 28) +(def-joint-node nest-break-rocks-break-b-lod0-jg "dg" 29) + +(def-joint-node atoll-tank-c-lod0-jg "fo" 59) +(def-joint-node atoll-tank-c-lod0-jg "fn" 58) +(def-joint-node atoll-tank-c-lod0-jg "fm" 57) +(def-joint-node atoll-tank-c-lod0-jg "fl" 56) +(def-joint-node atoll-tank-c-lod0-jg "fk" 55) +(def-joint-node atoll-tank-c-lod0-jg "fj" 54) +(def-joint-node atoll-tank-c-lod0-jg "fi" 53) +(def-joint-node atoll-tank-c-lod0-jg "fh" 52) +(def-joint-node atoll-tank-c-lod0-jg "fg" 51) +(def-joint-node atoll-tank-c-lod0-jg "ff" 50) +(def-joint-node atoll-tank-c-lod0-jg "fe" 49) +(def-joint-node atoll-tank-c-lod0-jg "fd" 48) +(def-joint-node atoll-tank-c-lod0-jg "fc" 47) +(def-joint-node atoll-tank-c-lod0-jg "fb" 46) +(def-joint-node atoll-tank-c-lod0-jg "fa" 45) +(def-joint-node atoll-tank-c-lod0-jg "ez" 44) +(def-joint-node atoll-tank-c-lod0-jg "ey" 43) +(def-joint-node atoll-tank-c-lod0-jg "ex" 42) +(def-joint-node atoll-tank-c-lod0-jg "ew" 41) +(def-joint-node atoll-tank-c-lod0-jg "ev" 40) +(def-joint-node atoll-tank-c-lod0-jg "eu" 39) +(def-joint-node atoll-tank-c-lod0-jg "et" 38) +(def-joint-node atoll-tank-c-lod0-jg "es" 37) +(def-joint-node atoll-tank-c-lod0-jg "er" 36) +(def-joint-node atoll-tank-c-lod0-jg "eq" 35) +(def-joint-node atoll-tank-c-lod0-jg "ep" 34) +(def-joint-node atoll-tank-c-lod0-jg "eo" 33) +(def-joint-node atoll-tank-c-lod0-jg "en" 32) +(def-joint-node atoll-tank-c-lod0-jg "em" 31) +(def-joint-node atoll-tank-c-lod0-jg "el" 30) +(def-joint-node atoll-tank-c-lod0-jg "du" 13) +(def-joint-node atoll-tank-c-lod0-jg "dt" 12) +(def-joint-node atoll-tank-c-lod0-jg "ds" 11) +(def-joint-node atoll-tank-c-lod0-jg "dr" 10) +(def-joint-node atoll-tank-c-lod0-jg "dq" 9) +(def-joint-node atoll-tank-c-lod0-jg "dp" 8) +(def-joint-node atoll-tank-c-lod0-jg "do" 7) +(def-joint-node atoll-tank-c-lod0-jg "dn" 6) +(def-joint-node atoll-tank-c-lod0-jg "dm" 5) +(def-joint-node atoll-tank-c-lod0-jg "dl" 4) +(def-joint-node atoll-tank-c-lod0-jg "dk" 3) +(def-joint-node atoll-tank-c-lod0-jg "prejoint" 2) +(def-joint-node atoll-tank-c-lod0-jg "align" 1) +(def-joint-node atoll-tank-c-lod0-jg "dv" 14) +(def-joint-node atoll-tank-c-lod0-jg "dw" 15) +(def-joint-node atoll-tank-c-lod0-jg "dx" 16) +(def-joint-node atoll-tank-c-lod0-jg "dy" 17) +(def-joint-node atoll-tank-c-lod0-jg "dz" 18) +(def-joint-node atoll-tank-c-lod0-jg "ea" 19) +(def-joint-node atoll-tank-c-lod0-jg "eb" 20) +(def-joint-node atoll-tank-c-lod0-jg "ec" 21) +(def-joint-node atoll-tank-c-lod0-jg "ed" 22) +(def-joint-node atoll-tank-c-lod0-jg "ee" 23) +(def-joint-node atoll-tank-c-lod0-jg "ef" 24) +(def-joint-node atoll-tank-c-lod0-jg "eg" 25) +(def-joint-node atoll-tank-c-lod0-jg "eh" 26) +(def-joint-node atoll-tank-c-lod0-jg "ei" 27) +(def-joint-node atoll-tank-c-lod0-jg "ej" 28) +(def-joint-node atoll-tank-c-lod0-jg "ek" 29) + +(def-joint-node consite-break-scaffold-break-d-lod0-jg "a" 4) +(def-joint-node consite-break-scaffold-break-d-lod0-jg "main" 3) +(def-joint-node consite-break-scaffold-break-d-lod0-jg "prejoint" 2) +(def-joint-node consite-break-scaffold-break-d-lod0-jg "align" 1) + +(def-joint-node sig-lod0-jg "skirtRD" 58) +(def-joint-node sig-lod0-jg "skirtRC" 57) +(def-joint-node sig-lod0-jg "skirtRB" 56) +(def-joint-node sig-lod0-jg "skirtRA" 55) +(def-joint-node sig-lod0-jg "beltbagA" 54) +(def-joint-node sig-lod0-jg "waterbottle" 53) +(def-joint-node sig-lod0-jg "skirtLD" 52) +(def-joint-node sig-lod0-jg "skirtLC" 51) +(def-joint-node sig-lod0-jg "skirtLB" 50) +(def-joint-node sig-lod0-jg "skirtLA" 49) +(def-joint-node sig-lod0-jg "Rball" 48) +(def-joint-node sig-lod0-jg "Lball" 47) +(def-joint-node sig-lod0-jg "chestplate" 46) +(def-joint-node sig-lod0-jg "RmiddleC" 45) +(def-joint-node sig-lod0-jg "RmiddleB" 44) +(def-joint-node sig-lod0-jg "RmiddleA" 43) +(def-joint-node sig-lod0-jg "RthumbB" 42) +(def-joint-node sig-lod0-jg "RthumbA" 41) +(def-joint-node sig-lod0-jg "larmflapA" 40) +(def-joint-node sig-lod0-jg "LmiddleC" 39) +(def-joint-node sig-lod0-jg "LmiddleB" 38) +(def-joint-node sig-lod0-jg "LmiddleA" 37) +(def-joint-node sig-lod0-jg "LthumbB" 36) +(def-joint-node sig-lod0-jg "LthumbA" 35) +(def-joint-node sig-lod0-jg "skirtflapB" 34) +(def-joint-node sig-lod0-jg "skirtflapA" 33) +(def-joint-node sig-lod0-jg "beltbagB" 32) +(def-joint-node sig-lod0-jg "Rankle" 31) +(def-joint-node sig-lod0-jg "Rknee" 30) +(def-joint-node sig-lod0-jg "Lshoulder" 13) +(def-joint-node sig-lod0-jg "helmet" 12) +(def-joint-node sig-lod0-jg "Rearmid" 11) +(def-joint-node sig-lod0-jg "Rearbase" 10) +(def-joint-node sig-lod0-jg "Learmid" 9) +(def-joint-node sig-lod0-jg "Learbase" 8) +(def-joint-node sig-lod0-jg "head" 7) +(def-joint-node sig-lod0-jg "neck" 6) +(def-joint-node sig-lod0-jg "chest" 5) +(def-joint-node sig-lod0-jg "waistprog" 4) +(def-joint-node sig-lod0-jg "main" 3) +(def-joint-node sig-lod0-jg "prejoint" 2) +(def-joint-node sig-lod0-jg "align" 1) +(def-joint-node sig-lod0-jg "Lelbow" 14) +(def-joint-node sig-lod0-jg "Lhand" 15) +(def-joint-node sig-lod0-jg "Rshoulder" 16) +(def-joint-node sig-lod0-jg "Relbow" 17) +(def-joint-node sig-lod0-jg "Rhand" 18) +(def-joint-node sig-lod0-jg "LarmplateA" 19) +(def-joint-node sig-lod0-jg "LarmplateB" 20) +(def-joint-node sig-lod0-jg "RarmplateA" 21) +(def-joint-node sig-lod0-jg "RarmplateB" 22) +(def-joint-node sig-lod0-jg "gun" 23) +(def-joint-node sig-lod0-jg "blast" 24) +(def-joint-node sig-lod0-jg "hips" 25) +(def-joint-node sig-lod0-jg "Lthigh" 26) +(def-joint-node sig-lod0-jg "Lknee" 27) +(def-joint-node sig-lod0-jg "Lankle" 28) +(def-joint-node sig-lod0-jg "Rthigh" 29) + +(def-joint-node mech-lod0-jg "controlDirR" 46) +(def-joint-node mech-lod0-jg "controlYZR" 45) +(def-joint-node mech-lod0-jg "controlArmXR" 44) +(def-joint-node mech-lod0-jg "controlDirL" 43) +(def-joint-node mech-lod0-jg "controlYZL" 42) +(def-joint-node mech-lod0-jg "controlArmXL" 41) +(def-joint-node mech-lod0-jg "canopySlide" 40) +(def-joint-node mech-lod0-jg "canopyRotate" 39) +(def-joint-node mech-lod0-jg "jet1" 38) +(def-joint-node mech-lod0-jg "jet0" 37) +(def-joint-node mech-lod0-jg "heelR" 36) +(def-joint-node mech-lod0-jg "toeR" 35) +(def-joint-node mech-lod0-jg "ankleR" 34) +(def-joint-node mech-lod0-jg "lowLegR" 33) +(def-joint-node mech-lod0-jg "midLegR" 32) +(def-joint-node mech-lod0-jg "upLegR" 31) +(def-joint-node mech-lod0-jg "heelL" 30) +(def-joint-node mech-lod0-jg "aftFingerMidL" 13) +(def-joint-node mech-lod0-jg "aftFingerL" 12) +(def-joint-node mech-lod0-jg "foreFingerMidL" 11) +(def-joint-node mech-lod0-jg "foreFingerL" 10) +(def-joint-node mech-lod0-jg "thumbMidL" 9) +(def-joint-node mech-lod0-jg "thumbL" 8) +(def-joint-node mech-lod0-jg "wristL" 7) +(def-joint-node mech-lod0-jg "elbowL" 6) +(def-joint-node mech-lod0-jg "extensionL" 5) +(def-joint-node mech-lod0-jg "shoulderL" 4) +(def-joint-node mech-lod0-jg "main" 3) +(def-joint-node mech-lod0-jg "prejoint" 2) +(def-joint-node mech-lod0-jg "align" 1) +(def-joint-node mech-lod0-jg "shoulderR" 14) +(def-joint-node mech-lod0-jg "extensionR" 15) +(def-joint-node mech-lod0-jg "elbowR" 16) +(def-joint-node mech-lod0-jg "wristR" 17) +(def-joint-node mech-lod0-jg "thumbR" 18) +(def-joint-node mech-lod0-jg "thumbMidR" 19) +(def-joint-node mech-lod0-jg "aftFingerR" 20) +(def-joint-node mech-lod0-jg "aftFingerMidR" 21) +(def-joint-node mech-lod0-jg "foreFingerR" 22) +(def-joint-node mech-lod0-jg "foreFingerMidR" 23) +(def-joint-node mech-lod0-jg "hips" 24) +(def-joint-node mech-lod0-jg "upLegL" 25) +(def-joint-node mech-lod0-jg "midLegL" 26) +(def-joint-node mech-lod0-jg "lowLegL" 27) +(def-joint-node mech-lod0-jg "ankleL" 28) +(def-joint-node mech-lod0-jg "toeL" 29) + +(def-joint-node drill-switch-lod0-jg "glow" 5) +(def-joint-node drill-switch-lod0-jg "lever" 4) +(def-joint-node drill-switch-lod0-jg "main" 3) +(def-joint-node drill-switch-lod0-jg "prejoint" 2) +(def-joint-node drill-switch-lod0-jg "align" 1) + +(def-joint-node cable-lod0-jg "button" 22) +(def-joint-node cable-lod0-jg "hook2" 21) +(def-joint-node cable-lod0-jg "hook1" 20) +(def-joint-node cable-lod0-jg "cable16" 19) +(def-joint-node cable-lod0-jg "cable15" 18) +(def-joint-node cable-lod0-jg "cable14" 17) +(def-joint-node cable-lod0-jg "cable13" 16) +(def-joint-node cable-lod0-jg "cable12" 15) +(def-joint-node cable-lod0-jg "cable11" 14) +(def-joint-node cable-lod0-jg "align" 1) +(def-joint-node cable-lod0-jg "prejoint" 2) +(def-joint-node cable-lod0-jg "main" 3) +(def-joint-node cable-lod0-jg "cable1" 4) +(def-joint-node cable-lod0-jg "cable2" 5) +(def-joint-node cable-lod0-jg "cable3" 6) +(def-joint-node cable-lod0-jg "cable4" 7) +(def-joint-node cable-lod0-jg "cable5" 8) +(def-joint-node cable-lod0-jg "cable6" 9) +(def-joint-node cable-lod0-jg "cable7" 10) +(def-joint-node cable-lod0-jg "cable8" 11) +(def-joint-node cable-lod0-jg "cable9" 12) +(def-joint-node cable-lod0-jg "cable10" 13) + +(def-joint-node com-airlock-inner-lod0-jg "sml_gear" 12) +(def-joint-node com-airlock-inner-lod0-jg "Rlockring5" 11) +(def-joint-node com-airlock-inner-lod0-jg "Rlockring4" 10) +(def-joint-node com-airlock-inner-lod0-jg "Rlockring3" 9) +(def-joint-node com-airlock-inner-lod0-jg "Rdoormove" 8) +(def-joint-node com-airlock-inner-lod0-jg "Llockring3" 7) +(def-joint-node com-airlock-inner-lod0-jg "Llockring2" 6) +(def-joint-node com-airlock-inner-lod0-jg "Llockring1" 5) +(def-joint-node com-airlock-inner-lod0-jg "Ldoormove" 4) +(def-joint-node com-airlock-inner-lod0-jg "main" 3) +(def-joint-node com-airlock-inner-lod0-jg "prejoint" 2) +(def-joint-node com-airlock-inner-lod0-jg "align" 1) + +(def-joint-node drill-moving-staircase-lod0-jg "boneless" 3) +(def-joint-node drill-moving-staircase-lod0-jg "prejoint" 2) +(def-joint-node drill-moving-staircase-lod0-jg "align" 1) + +(def-joint-node drill-drop-plat-lod0-jg "step" 6) +(def-joint-node drill-drop-plat-lod0-jg "mid" 5) +(def-joint-node drill-drop-plat-lod0-jg "first" 4) +(def-joint-node drill-drop-plat-lod0-jg "main" 3) +(def-joint-node drill-drop-plat-lod0-jg "prejoint" 2) +(def-joint-node drill-drop-plat-lod0-jg "align" 1) + +(def-joint-node rift-rider-bar-lod0-jg "main" 3) +(def-joint-node rift-rider-bar-lod0-jg "prejoint" 2) +(def-joint-node rift-rider-bar-lod0-jg "align" 1) + +(def-joint-node spider-eyes-lod0-jg "boneless" 3) +(def-joint-node spider-eyes-lod0-jg "prejoint" 2) +(def-joint-node spider-eyes-lod0-jg "align" 1) + +(def-joint-node drill-flip-step-lod0-jg "step" 5) +(def-joint-node drill-flip-step-lod0-jg "mid" 4) +(def-joint-node drill-flip-step-lod0-jg "main" 3) +(def-joint-node drill-flip-step-lod0-jg "prejoint" 2) +(def-joint-node drill-flip-step-lod0-jg "align" 1) + +(def-joint-node tomb-boss-door-lod0-jg "doorL" 5) +(def-joint-node tomb-boss-door-lod0-jg "doorR" 4) +(def-joint-node tomb-boss-door-lod0-jg "main" 3) +(def-joint-node tomb-boss-door-lod0-jg "prejoint" 2) +(def-joint-node tomb-boss-door-lod0-jg "align" 1) + +(def-joint-node rift-rider-break-c-lod0-jg "main" 3) +(def-joint-node rift-rider-break-c-lod0-jg "prejoint" 2) +(def-joint-node rift-rider-break-c-lod0-jg "align" 1) + +(def-joint-node tomb-boss-debris-e-lod0-jg "main" 3) +(def-joint-node tomb-boss-debris-e-lod0-jg "prejoint" 2) +(def-joint-node tomb-boss-debris-e-lod0-jg "align" 1) + +(def-joint-node mincan-lighthouse-lens-lod0-jg "lens" 9) +(def-joint-node mincan-lighthouse-lens-lod0-jg "top" 8) +(def-joint-node mincan-lighthouse-lens-lod0-jg "e" 7) +(def-joint-node mincan-lighthouse-lens-lod0-jg "d" 6) +(def-joint-node mincan-lighthouse-lens-lod0-jg "c" 5) +(def-joint-node mincan-lighthouse-lens-lod0-jg "b" 4) +(def-joint-node mincan-lighthouse-lens-lod0-jg "a" 3) +(def-joint-node mincan-lighthouse-lens-lod0-jg "prejoint" 2) +(def-joint-node mincan-lighthouse-lens-lod0-jg "align" 1) + +(def-joint-node hip-door-a-lod0-jg "Rdoor" 5) +(def-joint-node hip-door-a-lod0-jg "Ldoor" 4) +(def-joint-node hip-door-a-lod0-jg "main" 3) +(def-joint-node hip-door-a-lod0-jg "prejoint" 2) +(def-joint-node hip-door-a-lod0-jg "align" 1) + +(def-joint-node vortex-light-lod0-jg "outerScale3" 7) +(def-joint-node vortex-light-lod0-jg "outerScale2" 6) +(def-joint-node vortex-light-lod0-jg "outerScale1" 5) +(def-joint-node vortex-light-lod0-jg "innerScale" 4) +(def-joint-node vortex-light-lod0-jg "main" 3) +(def-joint-node vortex-light-lod0-jg "prejoint" 2) +(def-joint-node vortex-light-lod0-jg "align" 1) + +(def-joint-node rift-rider-break-b-lod0-jg "main" 3) +(def-joint-node rift-rider-break-b-lod0-jg "prejoint" 2) +(def-joint-node rift-rider-break-b-lod0-jg "align" 1) + +(def-joint-node flying-spider-lod0-jg "jaw" 38) +(def-joint-node flying-spider-lod0-jg "Rwing" 37) +(def-joint-node flying-spider-lod0-jg "Lwing" 36) +(def-joint-node flying-spider-lod0-jg "RgunTip" 35) +(def-joint-node flying-spider-lod0-jg "RwingShell" 34) +(def-joint-node flying-spider-lod0-jg "LwingShell" 33) +(def-joint-node flying-spider-lod0-jg "RgunBarrell" 32) +(def-joint-node flying-spider-lod0-jg "Rgun" 31) +(def-joint-node flying-spider-lod0-jg "LgunTip" 30) +(def-joint-node flying-spider-lod0-jg "LrearlegC" 13) +(def-joint-node flying-spider-lod0-jg "LrearlegB" 12) +(def-joint-node flying-spider-lod0-jg "LrearlegA" 11) +(def-joint-node flying-spider-lod0-jg "LmidlegC" 10) +(def-joint-node flying-spider-lod0-jg "LmidlegB" 9) +(def-joint-node flying-spider-lod0-jg "LmidlegA" 8) +(def-joint-node flying-spider-lod0-jg "LfrontlegC" 7) +(def-joint-node flying-spider-lod0-jg "LfrontlegB" 6) +(def-joint-node flying-spider-lod0-jg "LfrontlegA" 5) +(def-joint-node flying-spider-lod0-jg "legBase" 4) +(def-joint-node flying-spider-lod0-jg "main" 3) +(def-joint-node flying-spider-lod0-jg "prejoint" 2) +(def-joint-node flying-spider-lod0-jg "align" 1) +(def-joint-node flying-spider-lod0-jg "RfrontlegA" 14) +(def-joint-node flying-spider-lod0-jg "RfrontlegB" 15) +(def-joint-node flying-spider-lod0-jg "RfrontlegC" 16) +(def-joint-node flying-spider-lod0-jg "RmidlegA" 17) +(def-joint-node flying-spider-lod0-jg "RmidlegB" 18) +(def-joint-node flying-spider-lod0-jg "RmidlegC" 19) +(def-joint-node flying-spider-lod0-jg "RrearlegA" 20) +(def-joint-node flying-spider-lod0-jg "RrearlegB" 21) +(def-joint-node flying-spider-lod0-jg "RrearlegC" 22) +(def-joint-node flying-spider-lod0-jg "thorax" 23) +(def-joint-node flying-spider-lod0-jg "abdomen" 24) +(def-joint-node flying-spider-lod0-jg "neckA" 25) +(def-joint-node flying-spider-lod0-jg "neckB" 26) +(def-joint-node flying-spider-lod0-jg "head" 27) +(def-joint-node flying-spider-lod0-jg "Lgun" 28) +(def-joint-node flying-spider-lod0-jg "LgunBarrell" 29) + +(def-joint-node meteor-lod0-jg "main" 3) +(def-joint-node meteor-lod0-jg "prejoint" 2) +(def-joint-node meteor-lod0-jg "align" 1) + +(def-joint-node ruins-tower-f-lod0-jg "move" 4) +(def-joint-node ruins-tower-f-lod0-jg "main" 3) +(def-joint-node ruins-tower-f-lod0-jg "prejoint" 2) +(def-joint-node ruins-tower-f-lod0-jg "align" 1) + +(def-joint-node cntrlrm-door-lod0-jg "doorbtm" 4) +(def-joint-node cntrlrm-door-lod0-jg "doortop" 3) +(def-joint-node cntrlrm-door-lod0-jg "prejoint" 2) +(def-joint-node cntrlrm-door-lod0-jg "align" 1) + +(def-joint-node com-elevator-lod0-jg "main" 3) +(def-joint-node com-elevator-lod0-jg "prejoint" 2) +(def-joint-node com-elevator-lod0-jg "align" 1) + +(def-joint-node mtn-gear-device-collapse-lod0-jg "aj" 39) +(def-joint-node mtn-gear-device-collapse-lod0-jg "ai" 38) +(def-joint-node mtn-gear-device-collapse-lod0-jg "ah" 37) +(def-joint-node mtn-gear-device-collapse-lod0-jg "ag" 36) +(def-joint-node mtn-gear-device-collapse-lod0-jg "af" 35) +(def-joint-node mtn-gear-device-collapse-lod0-jg "ae" 34) +(def-joint-node mtn-gear-device-collapse-lod0-jg "ad" 33) +(def-joint-node mtn-gear-device-collapse-lod0-jg "ac" 32) +(def-joint-node mtn-gear-device-collapse-lod0-jg "ab" 31) +(def-joint-node mtn-gear-device-collapse-lod0-jg "aa" 30) +(def-joint-node mtn-gear-device-collapse-lod0-jg "k" 13) +(def-joint-node mtn-gear-device-collapse-lod0-jg "j" 12) +(def-joint-node mtn-gear-device-collapse-lod0-jg "i" 11) +(def-joint-node mtn-gear-device-collapse-lod0-jg "h" 10) +(def-joint-node mtn-gear-device-collapse-lod0-jg "g" 9) +(def-joint-node mtn-gear-device-collapse-lod0-jg "f" 8) +(def-joint-node mtn-gear-device-collapse-lod0-jg "e" 7) +(def-joint-node mtn-gear-device-collapse-lod0-jg "d" 6) +(def-joint-node mtn-gear-device-collapse-lod0-jg "c" 5) +(def-joint-node mtn-gear-device-collapse-lod0-jg "b" 4) +(def-joint-node mtn-gear-device-collapse-lod0-jg "a" 3) +(def-joint-node mtn-gear-device-collapse-lod0-jg "prejoint" 2) +(def-joint-node mtn-gear-device-collapse-lod0-jg "align" 1) +(def-joint-node mtn-gear-device-collapse-lod0-jg "l" 14) +(def-joint-node mtn-gear-device-collapse-lod0-jg "m" 15) +(def-joint-node mtn-gear-device-collapse-lod0-jg "n" 16) +(def-joint-node mtn-gear-device-collapse-lod0-jg "o" 17) +(def-joint-node mtn-gear-device-collapse-lod0-jg "p" 18) +(def-joint-node mtn-gear-device-collapse-lod0-jg "q" 19) +(def-joint-node mtn-gear-device-collapse-lod0-jg "r" 20) +(def-joint-node mtn-gear-device-collapse-lod0-jg "s" 21) +(def-joint-node mtn-gear-device-collapse-lod0-jg "t" 22) +(def-joint-node mtn-gear-device-collapse-lod0-jg "u" 23) +(def-joint-node mtn-gear-device-collapse-lod0-jg "v" 24) +(def-joint-node mtn-gear-device-collapse-lod0-jg "w" 25) +(def-joint-node mtn-gear-device-collapse-lod0-jg "x" 26) +(def-joint-node mtn-gear-device-collapse-lod0-jg "y" 27) +(def-joint-node mtn-gear-device-collapse-lod0-jg "z" 28) +(def-joint-node mtn-gear-device-collapse-lod0-jg "zz" 29) + +(def-joint-node cas-elevator-lod0-jg "wheel" 4) +(def-joint-node cas-elevator-lod0-jg "main" 3) +(def-joint-node cas-elevator-lod0-jg "prejoint" 2) +(def-joint-node cas-elevator-lod0-jg "align" 1) + +(def-joint-node com-airlock-outer-lod0-jg "slide2" 8) +(def-joint-node com-airlock-outer-lod0-jg "Rdoor" 7) +(def-joint-node com-airlock-outer-lod0-jg "slide1" 6) +(def-joint-node com-airlock-outer-lod0-jg "slide3" 5) +(def-joint-node com-airlock-outer-lod0-jg "Ldoor" 4) +(def-joint-node com-airlock-outer-lod0-jg "main" 3) +(def-joint-node com-airlock-outer-lod0-jg "prejoint" 2) +(def-joint-node com-airlock-outer-lod0-jg "align" 1) + +(def-joint-node rift-rider-heart-of-mar-lod0-jg "dash" 5) +(def-joint-node rift-rider-heart-of-mar-lod0-jg "seats" 4) +(def-joint-node rift-rider-heart-of-mar-lod0-jg "main" 3) +(def-joint-node rift-rider-heart-of-mar-lod0-jg "prejoint" 2) +(def-joint-node rift-rider-heart-of-mar-lod0-jg "align" 1) + +(def-joint-node mtn-plat-updown-lod0-jg "main" 3) +(def-joint-node mtn-plat-updown-lod0-jg "prejoint" 2) +(def-joint-node mtn-plat-updown-lod0-jg "align" 1) + +(def-joint-node fort-missile-target-lod0-jg "main" 3) +(def-joint-node fort-missile-target-lod0-jg "prejoint" 2) +(def-joint-node fort-missile-target-lod0-jg "align" 1) + +(def-joint-node mtn-lens-floor-lod0-jg "main" 3) +(def-joint-node mtn-lens-floor-lod0-jg "prejoint" 2) +(def-joint-node mtn-lens-floor-lod0-jg "align" 1) + +(def-joint-node mtn-plat-elevator-lod0-jg "main" 3) +(def-joint-node mtn-plat-elevator-lod0-jg "prejoint" 2) +(def-joint-node mtn-plat-elevator-lod0-jg "align" 1) + +(def-joint-node daxter-highres-lod0-jg "RringB" 62) +(def-joint-node daxter-highres-lod0-jg "RringA" 61) +(def-joint-node daxter-highres-lod0-jg "RthumbB" 60) +(def-joint-node daxter-highres-lod0-jg "RindexA" 29) +(def-joint-node daxter-highres-lod0-jg "Rhand" 28) +(def-joint-node daxter-highres-lod0-jg "Relbow" 27) +(def-joint-node daxter-highres-lod0-jg "Rshoulder" 26) +(def-joint-node daxter-highres-lod0-jg "LpinkyB" 25) +(def-joint-node daxter-highres-lod0-jg "LpinkyA" 24) +(def-joint-node daxter-highres-lod0-jg "LindexB" 23) +(def-joint-node daxter-highres-lod0-jg "LindexA" 22) +(def-joint-node daxter-highres-lod0-jg "Lhand" 21) +(def-joint-node daxter-highres-lod0-jg "Lelbow" 20) +(def-joint-node daxter-highres-lod0-jg "Lshoulder" 19) +(def-joint-node daxter-highres-lod0-jg "tongueTip" 18) +(def-joint-node daxter-highres-lod0-jg "tongueMidB" 17) +(def-joint-node daxter-highres-lod0-jg "tongueMidA" 16) +(def-joint-node daxter-highres-lod0-jg "tongueBase" 15) +(def-joint-node daxter-highres-lod0-jg "tongueMaster" 14) +(def-joint-node daxter-highres-lod0-jg "align" 1) +(def-joint-node daxter-highres-lod0-jg "prejoint" 2) +(def-joint-node daxter-highres-lod0-jg "main" 3) +(def-joint-node daxter-highres-lod0-jg "upper_body" 4) +(def-joint-node daxter-highres-lod0-jg "upper_bodyB" 5) +(def-joint-node daxter-highres-lod0-jg "chest" 6) +(def-joint-node daxter-highres-lod0-jg "neckA" 7) +(def-joint-node daxter-highres-lod0-jg "neckB" 8) +(def-joint-node daxter-highres-lod0-jg "head" 9) +(def-joint-node daxter-highres-lod0-jg "earBaseL" 10) +(def-joint-node daxter-highres-lod0-jg "earMidL" 11) +(def-joint-node daxter-highres-lod0-jg "earBaseR" 12) +(def-joint-node daxter-highres-lod0-jg "earMidR" 13) +(def-joint-node daxter-highres-lod0-jg "RindexB" 30) +(def-joint-node daxter-highres-lod0-jg "RpinkyA" 31) +(def-joint-node daxter-highres-lod0-jg "RpinkyB" 32) +(def-joint-node daxter-highres-lod0-jg "hips" 33) +(def-joint-node daxter-highres-lod0-jg "Lthigh" 34) +(def-joint-node daxter-highres-lod0-jg "Lknee" 35) +(def-joint-node daxter-highres-lod0-jg "Lankle" 36) +(def-joint-node daxter-highres-lod0-jg "Lball" 37) +(def-joint-node daxter-highres-lod0-jg "tailBase" 38) +(def-joint-node daxter-highres-lod0-jg "tailFirst" 39) +(def-joint-node daxter-highres-lod0-jg "tailMid" 40) +(def-joint-node daxter-highres-lod0-jg "tailEnd" 41) +(def-joint-node daxter-highres-lod0-jg "Rthigh" 42) +(def-joint-node daxter-highres-lod0-jg "Rknee" 43) +(def-joint-node daxter-highres-lod0-jg "Rankle" 44) +(def-joint-node daxter-highres-lod0-jg "Rball" 45) +(def-joint-node daxter-highres-lod0-jg "flapBaseL" 46) +(def-joint-node daxter-highres-lod0-jg "flapMidL" 47) +(def-joint-node daxter-highres-lod0-jg "flapBaseR" 48) +(def-joint-node daxter-highres-lod0-jg "flapMidR" 49) +(def-joint-node daxter-highres-lod0-jg "uvula" 50) +(def-joint-node daxter-highres-lod0-jg "LmiddleA" 51) +(def-joint-node daxter-highres-lod0-jg "LmiddleB" 52) +(def-joint-node daxter-highres-lod0-jg "LthumbA" 53) +(def-joint-node daxter-highres-lod0-jg "LthumbB" 54) +(def-joint-node daxter-highres-lod0-jg "LringA" 55) +(def-joint-node daxter-highres-lod0-jg "LringB" 56) +(def-joint-node daxter-highres-lod0-jg "RmiddleA" 57) +(def-joint-node daxter-highres-lod0-jg "RmiddleB" 58) +(def-joint-node daxter-highres-lod0-jg "RthumbA" 59) + +(def-joint-node under-shoot-block-explode-lod0-jg "n" 16) +(def-joint-node under-shoot-block-explode-lod0-jg "m" 15) +(def-joint-node under-shoot-block-explode-lod0-jg "l" 14) +(def-joint-node under-shoot-block-explode-lod0-jg "align" 1) +(def-joint-node under-shoot-block-explode-lod0-jg "prejoint" 2) +(def-joint-node under-shoot-block-explode-lod0-jg "a" 3) +(def-joint-node under-shoot-block-explode-lod0-jg "b" 4) +(def-joint-node under-shoot-block-explode-lod0-jg "c" 5) +(def-joint-node under-shoot-block-explode-lod0-jg "d" 6) +(def-joint-node under-shoot-block-explode-lod0-jg "e" 7) +(def-joint-node under-shoot-block-explode-lod0-jg "f" 8) +(def-joint-node under-shoot-block-explode-lod0-jg "g" 9) +(def-joint-node under-shoot-block-explode-lod0-jg "h" 10) +(def-joint-node under-shoot-block-explode-lod0-jg "i" 11) +(def-joint-node under-shoot-block-explode-lod0-jg "j" 12) +(def-joint-node under-shoot-block-explode-lod0-jg "k" 13) + +(def-joint-node nestb-tail-bound-lod0-jg "main" 3) +(def-joint-node nestb-tail-bound-lod0-jg "prejoint" 2) +(def-joint-node nestb-tail-bound-lod0-jg "align" 1) + +(def-joint-node shield-gunner-lod0-jg "RoutsideClaw" 42) +(def-joint-node shield-gunner-lod0-jg "RinsideClaw" 41) +(def-joint-node shield-gunner-lod0-jg "Rball" 40) +(def-joint-node shield-gunner-lod0-jg "Rankle" 39) +(def-joint-node shield-gunner-lod0-jg "Rhindcannon" 38) +(def-joint-node shield-gunner-lod0-jg "Rknee" 37) +(def-joint-node shield-gunner-lod0-jg "Rthigh" 36) +(def-joint-node shield-gunner-lod0-jg "LoutsideClaw" 35) +(def-joint-node shield-gunner-lod0-jg "LinsideClaw" 34) +(def-joint-node shield-gunner-lod0-jg "Lball" 33) +(def-joint-node shield-gunner-lod0-jg "Lankle" 32) +(def-joint-node shield-gunner-lod0-jg "Lhindcannon" 31) +(def-joint-node shield-gunner-lod0-jg "Lknee" 30) +(def-joint-node shield-gunner-lod0-jg "LthumbA" 13) +(def-joint-node shield-gunner-lod0-jg "Lhand" 12) +(def-joint-node shield-gunner-lod0-jg "Lelbow" 11) +(def-joint-node shield-gunner-lod0-jg "Lshoulder" 10) +(def-joint-node shield-gunner-lod0-jg "jaw" 9) +(def-joint-node shield-gunner-lod0-jg "head" 8) +(def-joint-node shield-gunner-lod0-jg "neck" 7) +(def-joint-node shield-gunner-lod0-jg "chest" 6) +(def-joint-node shield-gunner-lod0-jg "swivelMe" 5) +(def-joint-node shield-gunner-lod0-jg "trackgun" 4) +(def-joint-node shield-gunner-lod0-jg "main" 3) +(def-joint-node shield-gunner-lod0-jg "prejoint" 2) +(def-joint-node shield-gunner-lod0-jg "align" 1) +(def-joint-node shield-gunner-lod0-jg "LthumbB" 14) +(def-joint-node shield-gunner-lod0-jg "LmiddleA" 15) +(def-joint-node shield-gunner-lod0-jg "LmiddleB" 16) +(def-joint-node shield-gunner-lod0-jg "Rshoulder" 17) +(def-joint-node shield-gunner-lod0-jg "Relbow" 18) +(def-joint-node shield-gunner-lod0-jg "Rhand" 19) +(def-joint-node shield-gunner-lod0-jg "RthumbA" 20) +(def-joint-node shield-gunner-lod0-jg "RthumbB" 21) +(def-joint-node shield-gunner-lod0-jg "RmiddleA" 22) +(def-joint-node shield-gunner-lod0-jg "RmiddleB" 23) +(def-joint-node shield-gunner-lod0-jg "LshoulderPad" 24) +(def-joint-node shield-gunner-lod0-jg "RshoulderPad" 25) +(def-joint-node shield-gunner-lod0-jg "gun" 26) +(def-joint-node shield-gunner-lod0-jg "blast" 27) +(def-joint-node shield-gunner-lod0-jg "hips" 28) +(def-joint-node shield-gunner-lod0-jg "Lthigh" 29) + +(def-joint-node mtn-iris-door-lod0-jg "door6" 9) +(def-joint-node mtn-iris-door-lod0-jg "door5" 8) +(def-joint-node mtn-iris-door-lod0-jg "door4" 7) +(def-joint-node mtn-iris-door-lod0-jg "door3" 6) +(def-joint-node mtn-iris-door-lod0-jg "door2" 5) +(def-joint-node mtn-iris-door-lod0-jg "door1" 4) +(def-joint-node mtn-iris-door-lod0-jg "main" 3) +(def-joint-node mtn-iris-door-lod0-jg "prejoint" 2) +(def-joint-node mtn-iris-door-lod0-jg "align" 1) + +(def-joint-node crimson-guard-highres-lod0-jg "Rball" 60) +(def-joint-node crimson-guard-highres-lod0-jg "LindexA" 29) +(def-joint-node crimson-guard-highres-lod0-jg "LthumbC" 28) +(def-joint-node crimson-guard-highres-lod0-jg "LthumbB" 27) +(def-joint-node crimson-guard-highres-lod0-jg "LthumbA" 26) +(def-joint-node crimson-guard-highres-lod0-jg "Rearmid" 25) +(def-joint-node crimson-guard-highres-lod0-jg "Rearbase" 24) +(def-joint-node crimson-guard-highres-lod0-jg "Learmid" 23) +(def-joint-node crimson-guard-highres-lod0-jg "Learbase" 22) +(def-joint-node crimson-guard-highres-lod0-jg "head" 21) +(def-joint-node crimson-guard-highres-lod0-jg "blast" 20) +(def-joint-node crimson-guard-highres-lod0-jg "gun" 19) +(def-joint-node crimson-guard-highres-lod0-jg "Rankle" 18) +(def-joint-node crimson-guard-highres-lod0-jg "Rknee" 17) +(def-joint-node crimson-guard-highres-lod0-jg "Rthigh" 16) +(def-joint-node crimson-guard-highres-lod0-jg "Lankle" 15) +(def-joint-node crimson-guard-highres-lod0-jg "Lknee" 14) +(def-joint-node crimson-guard-highres-lod0-jg "align" 1) +(def-joint-node crimson-guard-highres-lod0-jg "prejoint" 2) +(def-joint-node crimson-guard-highres-lod0-jg "main" 3) +(def-joint-node crimson-guard-highres-lod0-jg "chest" 4) +(def-joint-node crimson-guard-highres-lod0-jg "neck" 5) +(def-joint-node crimson-guard-highres-lod0-jg "Lshoulder" 6) +(def-joint-node crimson-guard-highres-lod0-jg "Lelbow" 7) +(def-joint-node crimson-guard-highres-lod0-jg "Lhand" 8) +(def-joint-node crimson-guard-highres-lod0-jg "Rshoulder" 9) +(def-joint-node crimson-guard-highres-lod0-jg "Relbow" 10) +(def-joint-node crimson-guard-highres-lod0-jg "Rhand" 11) +(def-joint-node crimson-guard-highres-lod0-jg "hips" 12) +(def-joint-node crimson-guard-highres-lod0-jg "Lthigh" 13) +(def-joint-node crimson-guard-highres-lod0-jg "LindexB" 30) +(def-joint-node crimson-guard-highres-lod0-jg "LindexC" 31) +(def-joint-node crimson-guard-highres-lod0-jg "LmiddleA" 32) +(def-joint-node crimson-guard-highres-lod0-jg "LmiddleB" 33) +(def-joint-node crimson-guard-highres-lod0-jg "LmiddleC" 34) +(def-joint-node crimson-guard-highres-lod0-jg "LringA" 35) +(def-joint-node crimson-guard-highres-lod0-jg "LringB" 36) +(def-joint-node crimson-guard-highres-lod0-jg "LringC" 37) +(def-joint-node crimson-guard-highres-lod0-jg "LpinkyA" 38) +(def-joint-node crimson-guard-highres-lod0-jg "LpinkyB" 39) +(def-joint-node crimson-guard-highres-lod0-jg "LpinkyC" 40) +(def-joint-node crimson-guard-highres-lod0-jg "RthumbA" 41) +(def-joint-node crimson-guard-highres-lod0-jg "RthumbB" 42) +(def-joint-node crimson-guard-highres-lod0-jg "RthumbC" 43) +(def-joint-node crimson-guard-highres-lod0-jg "RindexA" 44) +(def-joint-node crimson-guard-highres-lod0-jg "RindexB" 45) +(def-joint-node crimson-guard-highres-lod0-jg "RindexC" 46) +(def-joint-node crimson-guard-highres-lod0-jg "RmiddleA" 47) +(def-joint-node crimson-guard-highres-lod0-jg "RmiddleB" 48) +(def-joint-node crimson-guard-highres-lod0-jg "RmiddleC" 49) +(def-joint-node crimson-guard-highres-lod0-jg "RringA" 50) +(def-joint-node crimson-guard-highres-lod0-jg "RringB" 51) +(def-joint-node crimson-guard-highres-lod0-jg "RringC" 52) +(def-joint-node crimson-guard-highres-lod0-jg "RpinkyA" 53) +(def-joint-node crimson-guard-highres-lod0-jg "RpinkyB" 54) +(def-joint-node crimson-guard-highres-lod0-jg "RpinkyC" 55) +(def-joint-node crimson-guard-highres-lod0-jg "hose" 56) +(def-joint-node crimson-guard-highres-lod0-jg "Larmplate" 57) +(def-joint-node crimson-guard-highres-lod0-jg "Rarmplate" 58) +(def-joint-node crimson-guard-highres-lod0-jg "Lball" 59) + +(def-joint-node under-seaweed-d-lod0-jg "secf" 9) +(def-joint-node under-seaweed-d-lod0-jg "sece" 8) +(def-joint-node under-seaweed-d-lod0-jg "secd" 7) +(def-joint-node under-seaweed-d-lod0-jg "secc" 6) +(def-joint-node under-seaweed-d-lod0-jg "secb" 5) +(def-joint-node under-seaweed-d-lod0-jg "seca" 4) +(def-joint-node under-seaweed-d-lod0-jg "main" 3) +(def-joint-node under-seaweed-d-lod0-jg "prejoint" 2) +(def-joint-node under-seaweed-d-lod0-jg "align" 1) + +(def-joint-node fort-elec-switch-lod0-jg "main" 3) +(def-joint-node fort-elec-switch-lod0-jg "prejoint" 2) +(def-joint-node fort-elec-switch-lod0-jg "align" 1) + +(def-joint-node under-break-bridge-b-lod0-jg "bj" 62) +(def-joint-node under-break-bridge-b-lod0-jg "bi" 61) +(def-joint-node under-break-bridge-b-lod0-jg "bh" 60) +(def-joint-node under-break-bridge-b-lod0-jg "zz" 29) +(def-joint-node under-break-bridge-b-lod0-jg "z" 28) +(def-joint-node under-break-bridge-b-lod0-jg "y" 27) +(def-joint-node under-break-bridge-b-lod0-jg "x" 26) +(def-joint-node under-break-bridge-b-lod0-jg "w" 25) +(def-joint-node under-break-bridge-b-lod0-jg "v" 24) +(def-joint-node under-break-bridge-b-lod0-jg "u" 23) +(def-joint-node under-break-bridge-b-lod0-jg "t" 22) +(def-joint-node under-break-bridge-b-lod0-jg "s" 21) +(def-joint-node under-break-bridge-b-lod0-jg "r" 20) +(def-joint-node under-break-bridge-b-lod0-jg "q" 19) +(def-joint-node under-break-bridge-b-lod0-jg "p" 18) +(def-joint-node under-break-bridge-b-lod0-jg "o" 17) +(def-joint-node under-break-bridge-b-lod0-jg "n" 16) +(def-joint-node under-break-bridge-b-lod0-jg "m" 15) +(def-joint-node under-break-bridge-b-lod0-jg "l" 14) +(def-joint-node under-break-bridge-b-lod0-jg "align" 1) +(def-joint-node under-break-bridge-b-lod0-jg "prejoint" 2) +(def-joint-node under-break-bridge-b-lod0-jg "main" 3) +(def-joint-node under-break-bridge-b-lod0-jg "b" 4) +(def-joint-node under-break-bridge-b-lod0-jg "c" 5) +(def-joint-node under-break-bridge-b-lod0-jg "d" 6) +(def-joint-node under-break-bridge-b-lod0-jg "e" 7) +(def-joint-node under-break-bridge-b-lod0-jg "f" 8) +(def-joint-node under-break-bridge-b-lod0-jg "g" 9) +(def-joint-node under-break-bridge-b-lod0-jg "h" 10) +(def-joint-node under-break-bridge-b-lod0-jg "i" 11) +(def-joint-node under-break-bridge-b-lod0-jg "j" 12) +(def-joint-node under-break-bridge-b-lod0-jg "k" 13) +(def-joint-node under-break-bridge-b-lod0-jg "ab" 30) +(def-joint-node under-break-bridge-b-lod0-jg "ac" 31) +(def-joint-node under-break-bridge-b-lod0-jg "ad" 32) +(def-joint-node under-break-bridge-b-lod0-jg "ae" 33) +(def-joint-node under-break-bridge-b-lod0-jg "af" 34) +(def-joint-node under-break-bridge-b-lod0-jg "ag" 35) +(def-joint-node under-break-bridge-b-lod0-jg "ai" 36) +(def-joint-node under-break-bridge-b-lod0-jg "aj" 37) +(def-joint-node under-break-bridge-b-lod0-jg "ak" 38) +(def-joint-node under-break-bridge-b-lod0-jg "al" 39) +(def-joint-node under-break-bridge-b-lod0-jg "an" 40) +(def-joint-node under-break-bridge-b-lod0-jg "ao" 41) +(def-joint-node under-break-bridge-b-lod0-jg "ap" 42) +(def-joint-node under-break-bridge-b-lod0-jg "aq" 43) +(def-joint-node under-break-bridge-b-lod0-jg "ar" 44) +(def-joint-node under-break-bridge-b-lod0-jg "as" 45) +(def-joint-node under-break-bridge-b-lod0-jg "at" 46) +(def-joint-node under-break-bridge-b-lod0-jg "au" 47) +(def-joint-node under-break-bridge-b-lod0-jg "av" 48) +(def-joint-node under-break-bridge-b-lod0-jg "aw" 49) +(def-joint-node under-break-bridge-b-lod0-jg "ax" 50) +(def-joint-node under-break-bridge-b-lod0-jg "ay" 51) +(def-joint-node under-break-bridge-b-lod0-jg "az" 52) +(def-joint-node under-break-bridge-b-lod0-jg "ba" 53) +(def-joint-node under-break-bridge-b-lod0-jg "bb" 54) +(def-joint-node under-break-bridge-b-lod0-jg "bc" 55) +(def-joint-node under-break-bridge-b-lod0-jg "bd" 56) +(def-joint-node under-break-bridge-b-lod0-jg "be" 57) +(def-joint-node under-break-bridge-b-lod0-jg "bf" 58) +(def-joint-node under-break-bridge-b-lod0-jg "bg" 59) + +(def-joint-node mtn-plat-long-lod0-jg "main" 3) +(def-joint-node mtn-plat-long-lod0-jg "prejoint" 2) +(def-joint-node mtn-plat-long-lod0-jg "align" 1) + +(def-joint-node nest-break-rocks-break-a-lod0-jg "cf" 42) +(def-joint-node nest-break-rocks-break-a-lod0-jg "ce" 41) +(def-joint-node nest-break-rocks-break-a-lod0-jg "cd" 40) +(def-joint-node nest-break-rocks-break-a-lod0-jg "cc" 39) +(def-joint-node nest-break-rocks-break-a-lod0-jg "cb" 38) +(def-joint-node nest-break-rocks-break-a-lod0-jg "ca" 37) +(def-joint-node nest-break-rocks-break-a-lod0-jg "bz" 36) +(def-joint-node nest-break-rocks-break-a-lod0-jg "by" 35) +(def-joint-node nest-break-rocks-break-a-lod0-jg "bx" 34) +(def-joint-node nest-break-rocks-break-a-lod0-jg "bw" 33) +(def-joint-node nest-break-rocks-break-a-lod0-jg "bv" 32) +(def-joint-node nest-break-rocks-break-a-lod0-jg "bu" 31) +(def-joint-node nest-break-rocks-break-a-lod0-jg "bt" 30) +(def-joint-node nest-break-rocks-break-a-lod0-jg "bc" 13) +(def-joint-node nest-break-rocks-break-a-lod0-jg "bb" 12) +(def-joint-node nest-break-rocks-break-a-lod0-jg "ba" 11) +(def-joint-node nest-break-rocks-break-a-lod0-jg "az" 10) +(def-joint-node nest-break-rocks-break-a-lod0-jg "ay" 9) +(def-joint-node nest-break-rocks-break-a-lod0-jg "ax" 8) +(def-joint-node nest-break-rocks-break-a-lod0-jg "aw" 7) +(def-joint-node nest-break-rocks-break-a-lod0-jg "av" 6) +(def-joint-node nest-break-rocks-break-a-lod0-jg "au" 5) +(def-joint-node nest-break-rocks-break-a-lod0-jg "at" 4) +(def-joint-node nest-break-rocks-break-a-lod0-jg "main" 3) +(def-joint-node nest-break-rocks-break-a-lod0-jg "prejoint" 2) +(def-joint-node nest-break-rocks-break-a-lod0-jg "align" 1) +(def-joint-node nest-break-rocks-break-a-lod0-jg "bd" 14) +(def-joint-node nest-break-rocks-break-a-lod0-jg "be" 15) +(def-joint-node nest-break-rocks-break-a-lod0-jg "bf" 16) +(def-joint-node nest-break-rocks-break-a-lod0-jg "bg" 17) +(def-joint-node nest-break-rocks-break-a-lod0-jg "bh" 18) +(def-joint-node nest-break-rocks-break-a-lod0-jg "bi" 19) +(def-joint-node nest-break-rocks-break-a-lod0-jg "bj" 20) +(def-joint-node nest-break-rocks-break-a-lod0-jg "bk" 21) +(def-joint-node nest-break-rocks-break-a-lod0-jg "bl" 22) +(def-joint-node nest-break-rocks-break-a-lod0-jg "bm" 23) +(def-joint-node nest-break-rocks-break-a-lod0-jg "bn" 24) +(def-joint-node nest-break-rocks-break-a-lod0-jg "bo" 25) +(def-joint-node nest-break-rocks-break-a-lod0-jg "bp" 26) +(def-joint-node nest-break-rocks-break-a-lod0-jg "bq" 27) +(def-joint-node nest-break-rocks-break-a-lod0-jg "br" 28) +(def-joint-node nest-break-rocks-break-a-lod0-jg "bs" 29) + +(def-joint-node fort-elec-belt-lod0-jg "rayb_" 5) +(def-joint-node fort-elec-belt-lod0-jg "raya_" 4) +(def-joint-node fort-elec-belt-lod0-jg "main_" 3) +(def-joint-node fort-elec-belt-lod0-jg "prejoint" 2) +(def-joint-node fort-elec-belt-lod0-jg "align" 1) + +(def-joint-node water-anim-mountain-fall-med-lod0-jg "boneless" 3) +(def-joint-node water-anim-mountain-fall-med-lod0-jg "prejoint" 2) +(def-joint-node water-anim-mountain-fall-med-lod0-jg "align" 1) + +(def-joint-node sig-highres-lod0-jg "beltbagA" 75) +(def-joint-node sig-highres-lod0-jg "RpinkyC" 74) +(def-joint-node sig-highres-lod0-jg "RringC" 73) +(def-joint-node sig-highres-lod0-jg "RringB" 72) +(def-joint-node sig-highres-lod0-jg "RringA" 71) +(def-joint-node sig-highres-lod0-jg "RmiddleC" 70) +(def-joint-node sig-highres-lod0-jg "RindexC" 69) +(def-joint-node sig-highres-lod0-jg "RindexB" 68) +(def-joint-node sig-highres-lod0-jg "RindexA" 67) +(def-joint-node sig-highres-lod0-jg "RthumbC" 66) +(def-joint-node sig-highres-lod0-jg "RthumbB" 65) +(def-joint-node sig-highres-lod0-jg "RthumbA" 64) +(def-joint-node sig-highres-lod0-jg "LpinkyC" 63) +(def-joint-node sig-highres-lod0-jg "LringC" 62) +(def-joint-node sig-highres-lod0-jg "LringB" 61) +(def-joint-node sig-highres-lod0-jg "LringA" 60) +(def-joint-node sig-highres-lod0-jg "RarmplateB" 29) +(def-joint-node sig-highres-lod0-jg "RarmplateA" 28) +(def-joint-node sig-highres-lod0-jg "LarmplateB" 27) +(def-joint-node sig-highres-lod0-jg "LarmplateA" 26) +(def-joint-node sig-highres-lod0-jg "RpinkyB" 25) +(def-joint-node sig-highres-lod0-jg "RpinkyA" 24) +(def-joint-node sig-highres-lod0-jg "RmiddleB" 23) +(def-joint-node sig-highres-lod0-jg "RmiddleA" 22) +(def-joint-node sig-highres-lod0-jg "Rhand" 21) +(def-joint-node sig-highres-lod0-jg "Relbow" 20) +(def-joint-node sig-highres-lod0-jg "Rshoulder" 19) +(def-joint-node sig-highres-lod0-jg "LpinkyB" 18) +(def-joint-node sig-highres-lod0-jg "LpinkyA" 17) +(def-joint-node sig-highres-lod0-jg "LmiddleB" 16) +(def-joint-node sig-highres-lod0-jg "LmiddleA" 15) +(def-joint-node sig-highres-lod0-jg "Lhand" 14) +(def-joint-node sig-highres-lod0-jg "align" 1) +(def-joint-node sig-highres-lod0-jg "prejoint" 2) +(def-joint-node sig-highres-lod0-jg "main" 3) +(def-joint-node sig-highres-lod0-jg "chest" 4) +(def-joint-node sig-highres-lod0-jg "neck" 5) +(def-joint-node sig-highres-lod0-jg "head" 6) +(def-joint-node sig-highres-lod0-jg "Learbase" 7) +(def-joint-node sig-highres-lod0-jg "Learmid" 8) +(def-joint-node sig-highres-lod0-jg "Rearbase" 9) +(def-joint-node sig-highres-lod0-jg "Rearmid" 10) +(def-joint-node sig-highres-lod0-jg "helmet" 11) +(def-joint-node sig-highres-lod0-jg "Lshoulder" 12) +(def-joint-node sig-highres-lod0-jg "Lelbow" 13) +(def-joint-node sig-highres-lod0-jg "hips" 30) +(def-joint-node sig-highres-lod0-jg "Lthigh" 31) +(def-joint-node sig-highres-lod0-jg "Lknee" 32) +(def-joint-node sig-highres-lod0-jg "Lankle" 33) +(def-joint-node sig-highres-lod0-jg "Lball" 34) +(def-joint-node sig-highres-lod0-jg "skirtLA" 35) +(def-joint-node sig-highres-lod0-jg "skirtLB" 36) +(def-joint-node sig-highres-lod0-jg "skirtLC" 37) +(def-joint-node sig-highres-lod0-jg "skirtLD" 38) +(def-joint-node sig-highres-lod0-jg "waterbottle" 39) +(def-joint-node sig-highres-lod0-jg "Rthigh" 40) +(def-joint-node sig-highres-lod0-jg "Rknee" 41) +(def-joint-node sig-highres-lod0-jg "Rankle" 42) +(def-joint-node sig-highres-lod0-jg "Rball" 43) +(def-joint-node sig-highres-lod0-jg "skirtRA" 44) +(def-joint-node sig-highres-lod0-jg "skirtRB" 45) +(def-joint-node sig-highres-lod0-jg "skirtRC" 46) +(def-joint-node sig-highres-lod0-jg "skirtRD" 47) +(def-joint-node sig-highres-lod0-jg "beltbagB" 48) +(def-joint-node sig-highres-lod0-jg "skirtflapA" 49) +(def-joint-node sig-highres-lod0-jg "skirtflapB" 50) +(def-joint-node sig-highres-lod0-jg "gun" 51) +(def-joint-node sig-highres-lod0-jg "blast" 52) +(def-joint-node sig-highres-lod0-jg "LthumbA" 53) +(def-joint-node sig-highres-lod0-jg "LthumbB" 54) +(def-joint-node sig-highres-lod0-jg "LthumbC" 55) +(def-joint-node sig-highres-lod0-jg "LindexA" 56) +(def-joint-node sig-highres-lod0-jg "LindexB" 57) +(def-joint-node sig-highres-lod0-jg "LindexC" 58) +(def-joint-node sig-highres-lod0-jg "LmiddleC" 59) + +(def-joint-node transport-lod0-jg "hatch" 4) +(def-joint-node transport-lod0-jg "main" 3) +(def-joint-node transport-lod0-jg "prejoint" 2) +(def-joint-node transport-lod0-jg "align" 1) + +(def-joint-node cntrlrm-button-lod0-jg "button" 4) +(def-joint-node cntrlrm-button-lod0-jg "main" 3) +(def-joint-node cntrlrm-button-lod0-jg "prejoint" 2) +(def-joint-node cntrlrm-button-lod0-jg "align" 1) + +(def-joint-node scenecamera-lod0-jg "camera" 4) +(def-joint-node scenecamera-lod0-jg "scenecamera" 3) +(def-joint-node scenecamera-lod0-jg "prejoint" 2) +(def-joint-node scenecamera-lod0-jg "align" 1) + +(def-joint-node sew-catwalk-1-lod0-jg "n" 17) +(def-joint-node sew-catwalk-1-lod0-jg "m" 16) +(def-joint-node sew-catwalk-1-lod0-jg "l" 15) +(def-joint-node sew-catwalk-1-lod0-jg "k" 14) +(def-joint-node sew-catwalk-1-lod0-jg "align" 1) +(def-joint-node sew-catwalk-1-lod0-jg "prejoint" 2) +(def-joint-node sew-catwalk-1-lod0-jg "main" 3) +(def-joint-node sew-catwalk-1-lod0-jg "a" 4) +(def-joint-node sew-catwalk-1-lod0-jg "b" 5) +(def-joint-node sew-catwalk-1-lod0-jg "c" 6) +(def-joint-node sew-catwalk-1-lod0-jg "d" 7) +(def-joint-node sew-catwalk-1-lod0-jg "e" 8) +(def-joint-node sew-catwalk-1-lod0-jg "f" 9) +(def-joint-node sew-catwalk-1-lod0-jg "g" 10) +(def-joint-node sew-catwalk-1-lod0-jg "h" 11) +(def-joint-node sew-catwalk-1-lod0-jg "i" 12) +(def-joint-node sew-catwalk-1-lod0-jg "j" 13) + +(def-joint-node squid-break-c-lod0-jg "du" 44) +(def-joint-node squid-break-c-lod0-jg "dt" 43) +(def-joint-node squid-break-c-lod0-jg "ds" 42) +(def-joint-node squid-break-c-lod0-jg "dr" 41) +(def-joint-node squid-break-c-lod0-jg "dq" 40) +(def-joint-node squid-break-c-lod0-jg "dp" 39) +(def-joint-node squid-break-c-lod0-jg "do" 38) +(def-joint-node squid-break-c-lod0-jg "dn" 37) +(def-joint-node squid-break-c-lod0-jg "dm" 36) +(def-joint-node squid-break-c-lod0-jg "dl" 35) +(def-joint-node squid-break-c-lod0-jg "dk" 34) +(def-joint-node squid-break-c-lod0-jg "dj" 33) +(def-joint-node squid-break-c-lod0-jg "di" 32) +(def-joint-node squid-break-c-lod0-jg "dh" 31) +(def-joint-node squid-break-c-lod0-jg "dg" 30) +(def-joint-node squid-break-c-lod0-jg "cp" 13) +(def-joint-node squid-break-c-lod0-jg "co" 12) +(def-joint-node squid-break-c-lod0-jg "cn" 11) +(def-joint-node squid-break-c-lod0-jg "cm" 10) +(def-joint-node squid-break-c-lod0-jg "cl" 9) +(def-joint-node squid-break-c-lod0-jg "ck" 8) +(def-joint-node squid-break-c-lod0-jg "cj" 7) +(def-joint-node squid-break-c-lod0-jg "ci" 6) +(def-joint-node squid-break-c-lod0-jg "ch" 5) +(def-joint-node squid-break-c-lod0-jg "cg" 4) +(def-joint-node squid-break-c-lod0-jg "main" 3) +(def-joint-node squid-break-c-lod0-jg "prejoint" 2) +(def-joint-node squid-break-c-lod0-jg "align" 1) +(def-joint-node squid-break-c-lod0-jg "cq" 14) +(def-joint-node squid-break-c-lod0-jg "cr" 15) +(def-joint-node squid-break-c-lod0-jg "cs" 16) +(def-joint-node squid-break-c-lod0-jg "ct" 17) +(def-joint-node squid-break-c-lod0-jg "cu" 18) +(def-joint-node squid-break-c-lod0-jg "cv" 19) +(def-joint-node squid-break-c-lod0-jg "cw" 20) +(def-joint-node squid-break-c-lod0-jg "cx" 21) +(def-joint-node squid-break-c-lod0-jg "cy" 22) +(def-joint-node squid-break-c-lod0-jg "cz" 23) +(def-joint-node squid-break-c-lod0-jg "da" 24) +(def-joint-node squid-break-c-lod0-jg "db" 25) +(def-joint-node squid-break-c-lod0-jg "dc" 26) +(def-joint-node squid-break-c-lod0-jg "dd" 27) +(def-joint-node squid-break-c-lod0-jg "de" 28) +(def-joint-node squid-break-c-lod0-jg "df" 29) + +(def-joint-node hide-door-b-lod0-jg "bottom" 5) +(def-joint-node hide-door-b-lod0-jg "top" 4) +(def-joint-node hide-door-b-lod0-jg "main" 3) +(def-joint-node hide-door-b-lod0-jg "prejoint" 2) +(def-joint-node hide-door-b-lod0-jg "align" 1) + +(def-joint-node jak-logo-lod0-jg "edgespark10" 31) +(def-joint-node jak-logo-lod0-jg "edgespark9" 30) +(def-joint-node jak-logo-lod0-jg "femaleG" 13) +(def-joint-node jak-logo-lod0-jg "maleA" 12) +(def-joint-node jak-logo-lod0-jg "maleB" 11) +(def-joint-node jak-logo-lod0-jg "maleC" 10) +(def-joint-node jak-logo-lod0-jg "maleD" 9) +(def-joint-node jak-logo-lod0-jg "maleE" 8) +(def-joint-node jak-logo-lod0-jg "maleF" 7) +(def-joint-node jak-logo-lod0-jg "male_plug" 6) +(def-joint-node jak-logo-lod0-jg "maleG" 5) +(def-joint-node jak-logo-lod0-jg "powercordALL" 4) +(def-joint-node jak-logo-lod0-jg "main" 3) +(def-joint-node jak-logo-lod0-jg "prejoint" 2) +(def-joint-node jak-logo-lod0-jg "align" 1) +(def-joint-node jak-logo-lod0-jg "female_plug" 14) +(def-joint-node jak-logo-lod0-jg "femaleF" 15) +(def-joint-node jak-logo-lod0-jg "femaleE" 16) +(def-joint-node jak-logo-lod0-jg "femaleD" 17) +(def-joint-node jak-logo-lod0-jg "femaleC" 18) +(def-joint-node jak-logo-lod0-jg "femaleB" 19) +(def-joint-node jak-logo-lod0-jg "femaleA" 20) +(def-joint-node jak-logo-lod0-jg "plugsparks" 21) +(def-joint-node jak-logo-lod0-jg "edgespark1" 22) +(def-joint-node jak-logo-lod0-jg "edgespark2" 23) +(def-joint-node jak-logo-lod0-jg "edgespark3" 24) +(def-joint-node jak-logo-lod0-jg "edgespark4" 25) +(def-joint-node jak-logo-lod0-jg "edgespark5" 26) +(def-joint-node jak-logo-lod0-jg "edgespark6" 27) +(def-joint-node jak-logo-lod0-jg "edgespark7" 28) +(def-joint-node jak-logo-lod0-jg "edgespark8" 29) + +(def-joint-node kid-escort-lod0-jg "RmiddleB" 37) +(def-joint-node kid-escort-lod0-jg "RmiddleA" 36) +(def-joint-node kid-escort-lod0-jg "RthumbB" 35) +(def-joint-node kid-escort-lod0-jg "RthumbA" 34) +(def-joint-node kid-escort-lod0-jg "LmiddleB" 33) +(def-joint-node kid-escort-lod0-jg "LmiddleA" 32) +(def-joint-node kid-escort-lod0-jg "LthumbB" 31) +(def-joint-node kid-escort-lod0-jg "LthumbA" 30) +(def-joint-node kid-escort-lod0-jg "hips" 13) +(def-joint-node kid-escort-lod0-jg "Rhand" 12) +(def-joint-node kid-escort-lod0-jg "Relbow" 11) +(def-joint-node kid-escort-lod0-jg "Rshoulder" 10) +(def-joint-node kid-escort-lod0-jg "Lhand" 9) +(def-joint-node kid-escort-lod0-jg "Lelbow" 8) +(def-joint-node kid-escort-lod0-jg "Lshoulder" 7) +(def-joint-node kid-escort-lod0-jg "head" 6) +(def-joint-node kid-escort-lod0-jg "neck" 5) +(def-joint-node kid-escort-lod0-jg "chest" 4) +(def-joint-node kid-escort-lod0-jg "main" 3) +(def-joint-node kid-escort-lod0-jg "prejoint" 2) +(def-joint-node kid-escort-lod0-jg "align" 1) +(def-joint-node kid-escort-lod0-jg "Lthigh" 14) +(def-joint-node kid-escort-lod0-jg "Lknee" 15) +(def-joint-node kid-escort-lod0-jg "Lankle" 16) +(def-joint-node kid-escort-lod0-jg "Lball" 17) +(def-joint-node kid-escort-lod0-jg "Rthigh" 18) +(def-joint-node kid-escort-lod0-jg "Rknee" 19) +(def-joint-node kid-escort-lod0-jg "Rankle" 20) +(def-joint-node kid-escort-lod0-jg "Rball" 21) +(def-joint-node kid-escort-lod0-jg "eye_blink" 22) +(def-joint-node kid-escort-lod0-jg "Hairmida" 23) +(def-joint-node kid-escort-lod0-jg "Leara" 24) +(def-joint-node kid-escort-lod0-jg "Reara" 25) +(def-joint-node kid-escort-lod0-jg "Lhatstrapa" 26) +(def-joint-node kid-escort-lod0-jg "Rhatstrapa" 27) +(def-joint-node kid-escort-lod0-jg "Pimpcharma" 28) +(def-joint-node kid-escort-lod0-jg "Pimpcharmb" 29) + +(def-joint-node tomb-baby-spider-lod0-jg "right_fangEND" 26) +(def-joint-node tomb-baby-spider-lod0-jg "left_fangEND" 25) +(def-joint-node tomb-baby-spider-lod0-jg "jaw" 24) +(def-joint-node tomb-baby-spider-lod0-jg "right_fang" 23) +(def-joint-node tomb-baby-spider-lod0-jg "left_fang" 22) +(def-joint-node tomb-baby-spider-lod0-jg "right_metatarsus_d" 21) +(def-joint-node tomb-baby-spider-lod0-jg "right_temur_d" 20) +(def-joint-node tomb-baby-spider-lod0-jg "right_metatarsus_c" 19) +(def-joint-node tomb-baby-spider-lod0-jg "right_temur_c" 18) +(def-joint-node tomb-baby-spider-lod0-jg "right_metatarsus_b" 17) +(def-joint-node tomb-baby-spider-lod0-jg "right_temur_b" 16) +(def-joint-node tomb-baby-spider-lod0-jg "right_metatarsus_a" 15) +(def-joint-node tomb-baby-spider-lod0-jg "right_temur_a" 14) +(def-joint-node tomb-baby-spider-lod0-jg "align" 1) +(def-joint-node tomb-baby-spider-lod0-jg "prejoint" 2) +(def-joint-node tomb-baby-spider-lod0-jg "main" 3) +(def-joint-node tomb-baby-spider-lod0-jg "abdomen" 4) +(def-joint-node tomb-baby-spider-lod0-jg "abCollision" 5) +(def-joint-node tomb-baby-spider-lod0-jg "left_temur_a" 6) +(def-joint-node tomb-baby-spider-lod0-jg "left_metatarsus_a" 7) +(def-joint-node tomb-baby-spider-lod0-jg "left_temur_b" 8) +(def-joint-node tomb-baby-spider-lod0-jg "left_metatarsus_b" 9) +(def-joint-node tomb-baby-spider-lod0-jg "left_temur_c" 10) +(def-joint-node tomb-baby-spider-lod0-jg "left_metatarsus_c" 11) +(def-joint-node tomb-baby-spider-lod0-jg "left_temur_d" 12) +(def-joint-node tomb-baby-spider-lod0-jg "left_metatarsus_d" 13) + +(def-joint-node vil-windspinner-lod0-jg "main" 3) +(def-joint-node vil-windspinner-lod0-jg "prejoint" 2) +(def-joint-node vil-windspinner-lod0-jg "align" 1) + +(def-joint-node tomb-button-lod0-jg "main" 3) +(def-joint-node tomb-button-lod0-jg "prejoint" 2) +(def-joint-node tomb-button-lod0-jg "align" 1) + +(def-joint-node stadium-racer-lod0-jg "gun" 29) +(def-joint-node stadium-racer-lod0-jg "Rshoulderplate" 28) +(def-joint-node stadium-racer-lod0-jg "Lshoulderplate" 27) +(def-joint-node stadium-racer-lod0-jg "Rarmplate" 26) +(def-joint-node stadium-racer-lod0-jg "Larmplate" 25) +(def-joint-node stadium-racer-lod0-jg "RmiddleA" 24) +(def-joint-node stadium-racer-lod0-jg "RthumbA" 23) +(def-joint-node stadium-racer-lod0-jg "Rhand" 22) +(def-joint-node stadium-racer-lod0-jg "LmiddleA" 21) +(def-joint-node stadium-racer-lod0-jg "LthumbA" 20) +(def-joint-node stadium-racer-lod0-jg "Lhand" 19) +(def-joint-node stadium-racer-lod0-jg "mask" 18) +(def-joint-node stadium-racer-lod0-jg "head" 17) +(def-joint-node stadium-racer-lod0-jg "Rankle" 16) +(def-joint-node stadium-racer-lod0-jg "Rknee" 15) +(def-joint-node stadium-racer-lod0-jg "Rthigh" 14) +(def-joint-node stadium-racer-lod0-jg "align" 1) +(def-joint-node stadium-racer-lod0-jg "prejoint" 2) +(def-joint-node stadium-racer-lod0-jg "main" 3) +(def-joint-node stadium-racer-lod0-jg "chest" 4) +(def-joint-node stadium-racer-lod0-jg "neck" 5) +(def-joint-node stadium-racer-lod0-jg "Lshoulder" 6) +(def-joint-node stadium-racer-lod0-jg "Lelbow" 7) +(def-joint-node stadium-racer-lod0-jg "Rshoulder" 8) +(def-joint-node stadium-racer-lod0-jg "Relbow" 9) +(def-joint-node stadium-racer-lod0-jg "hips" 10) +(def-joint-node stadium-racer-lod0-jg "Lthigh" 11) +(def-joint-node stadium-racer-lod0-jg "Lknee" 12) +(def-joint-node stadium-racer-lod0-jg "Lankle" 13) + +(def-joint-node spydroid-lod0-jg "tube" 29) +(def-joint-node spydroid-lod0-jg "rfrontfootfx" 28) +(def-joint-node spydroid-lod0-jg "right_front_cannon" 27) +(def-joint-node spydroid-lod0-jg "right_front_knee" 26) +(def-joint-node spydroid-lod0-jg "right_front_thigh" 25) +(def-joint-node spydroid-lod0-jg "rhindfootfx" 24) +(def-joint-node spydroid-lod0-jg "right_hind_cannon" 23) +(def-joint-node spydroid-lod0-jg "right_hind_knee" 22) +(def-joint-node spydroid-lod0-jg "right_hind_thigh" 21) +(def-joint-node spydroid-lod0-jg "lhindfootfx" 20) +(def-joint-node spydroid-lod0-jg "left_hind_cannon" 19) +(def-joint-node spydroid-lod0-jg "left_hind_knee" 18) +(def-joint-node spydroid-lod0-jg "left_hind_thigh" 17) +(def-joint-node spydroid-lod0-jg "lfrontfootfx" 16) +(def-joint-node spydroid-lod0-jg "left_front_cannon" 15) +(def-joint-node spydroid-lod0-jg "left_front_knee" 14) +(def-joint-node spydroid-lod0-jg "align" 1) +(def-joint-node spydroid-lod0-jg "prejoint" 2) +(def-joint-node spydroid-lod0-jg "main" 3) +(def-joint-node spydroid-lod0-jg "head" 4) +(def-joint-node spydroid-lod0-jg "camera" 5) +(def-joint-node spydroid-lod0-jg "cameraEND" 6) +(def-joint-node spydroid-lod0-jg "left_turret" 7) +(def-joint-node spydroid-lod0-jg "left_gun" 8) +(def-joint-node spydroid-lod0-jg "right_turret" 9) +(def-joint-node spydroid-lod0-jg "right_gun" 10) +(def-joint-node spydroid-lod0-jg "antennae" 11) +(def-joint-node spydroid-lod0-jg "headfx" 12) +(def-joint-node spydroid-lod0-jg "left_front_thigh" 13) + +(def-joint-node cas-flag-a-lod0-jg "4" 6) +(def-joint-node cas-flag-a-lod0-jg "3" 5) +(def-joint-node cas-flag-a-lod0-jg "2" 4) +(def-joint-node cas-flag-a-lod0-jg "main" 3) +(def-joint-node cas-flag-a-lod0-jg "prejoint" 2) +(def-joint-node cas-flag-a-lod0-jg "align" 1) + +(def-joint-node dig-clasp-b-lod0-jg "main" 3) +(def-joint-node dig-clasp-b-lod0-jg "prejoint" 2) +(def-joint-node dig-clasp-b-lod0-jg "align" 1) + +(def-joint-node under-lift-lod0-jg "main" 3) +(def-joint-node under-lift-lod0-jg "prejoint" 2) +(def-joint-node under-lift-lod0-jg "align" 1) + +(def-joint-node kor-transform-monsterparts-lod0-jg "backplateC" 96) +(def-joint-node kor-transform-monsterparts-lod0-jg "backplateB" 95) +(def-joint-node kor-transform-monsterparts-lod0-jg "backplateA" 94) +(def-joint-node kor-transform-monsterparts-lod0-jg "RtmclawC" 93) +(def-joint-node kor-transform-monsterparts-lod0-jg "RtmclawB" 92) +(def-joint-node kor-transform-monsterparts-lod0-jg "RtmclawA" 91) +(def-joint-node kor-transform-monsterparts-lod0-jg "RrngclawC" 90) +(def-joint-node kor-transform-monsterparts-lod0-jg "RrngclawB" 89) +(def-joint-node kor-transform-monsterparts-lod0-jg "RrngclawA" 88) +(def-joint-node kor-transform-monsterparts-lod0-jg "RinclawC" 87) +(def-joint-node kor-transform-monsterparts-lod0-jg "RinclawB" 86) +(def-joint-node kor-transform-monsterparts-lod0-jg "RinclawA" 85) +(def-joint-node kor-transform-monsterparts-lod0-jg "LtmclawC" 84) +(def-joint-node kor-transform-monsterparts-lod0-jg "LtmclawB" 83) +(def-joint-node kor-transform-monsterparts-lod0-jg "LtmclawA" 82) +(def-joint-node kor-transform-monsterparts-lod0-jg "LrngclawC" 81) +(def-joint-node kor-transform-monsterparts-lod0-jg "LrngclawB" 80) +(def-joint-node kor-transform-monsterparts-lod0-jg "LrngclawA" 79) +(def-joint-node kor-transform-monsterparts-lod0-jg "LinclawC" 78) +(def-joint-node kor-transform-monsterparts-lod0-jg "LinclawB" 77) +(def-joint-node kor-transform-monsterparts-lod0-jg "LinclawA" 76) +(def-joint-node kor-transform-monsterparts-lod0-jg "tailT" 75) +(def-joint-node kor-transform-monsterparts-lod0-jg "tailS" 74) +(def-joint-node kor-transform-monsterparts-lod0-jg "tailR" 73) +(def-joint-node kor-transform-monsterparts-lod0-jg "tailQ" 72) +(def-joint-node kor-transform-monsterparts-lod0-jg "tailP" 71) +(def-joint-node kor-transform-monsterparts-lod0-jg "tailO" 70) +(def-joint-node kor-transform-monsterparts-lod0-jg "tailN" 69) +(def-joint-node kor-transform-monsterparts-lod0-jg "tailM" 68) +(def-joint-node kor-transform-monsterparts-lod0-jg "tailL" 67) +(def-joint-node kor-transform-monsterparts-lod0-jg "tailK" 66) +(def-joint-node kor-transform-monsterparts-lod0-jg "tailJ" 65) +(def-joint-node kor-transform-monsterparts-lod0-jg "tailI" 64) +(def-joint-node kor-transform-monsterparts-lod0-jg "tailH" 63) +(def-joint-node kor-transform-monsterparts-lod0-jg "tailG" 62) +(def-joint-node kor-transform-monsterparts-lod0-jg "tailF" 61) +(def-joint-node kor-transform-monsterparts-lod0-jg "tailE" 60) +(def-joint-node kor-transform-monsterparts-lod0-jg "LmidB" 29) +(def-joint-node kor-transform-monsterparts-lod0-jg "LmidA" 28) +(def-joint-node kor-transform-monsterparts-lod0-jg "lmTOP" 27) +(def-joint-node kor-transform-monsterparts-lod0-jg "LfrontC" 26) +(def-joint-node kor-transform-monsterparts-lod0-jg "LfrontB" 25) +(def-joint-node kor-transform-monsterparts-lod0-jg "LfrontA" 24) +(def-joint-node kor-transform-monsterparts-lod0-jg "lfTOP" 23) +(def-joint-node kor-transform-monsterparts-lod0-jg "rbackwingD" 22) +(def-joint-node kor-transform-monsterparts-lod0-jg "rbackwingC" 21) +(def-joint-node kor-transform-monsterparts-lod0-jg "rbackwingB" 20) +(def-joint-node kor-transform-monsterparts-lod0-jg "rbackwingA" 19) +(def-joint-node kor-transform-monsterparts-lod0-jg "rfrwingE" 18) +(def-joint-node kor-transform-monsterparts-lod0-jg "rfrwingD" 17) +(def-joint-node kor-transform-monsterparts-lod0-jg "rfrwingC" 16) +(def-joint-node kor-transform-monsterparts-lod0-jg "rfrwingB" 15) +(def-joint-node kor-transform-monsterparts-lod0-jg "rfrwingA" 14) +(def-joint-node kor-transform-monsterparts-lod0-jg "align" 1) +(def-joint-node kor-transform-monsterparts-lod0-jg "prejoint" 2) +(def-joint-node kor-transform-monsterparts-lod0-jg "main" 3) +(def-joint-node kor-transform-monsterparts-lod0-jg "chest" 4) +(def-joint-node kor-transform-monsterparts-lod0-jg "lfrwingA" 5) +(def-joint-node kor-transform-monsterparts-lod0-jg "lfrwingB" 6) +(def-joint-node kor-transform-monsterparts-lod0-jg "lfrwingC" 7) +(def-joint-node kor-transform-monsterparts-lod0-jg "lfrwingD" 8) +(def-joint-node kor-transform-monsterparts-lod0-jg "lfrwingE" 9) +(def-joint-node kor-transform-monsterparts-lod0-jg "lbackwingA" 10) +(def-joint-node kor-transform-monsterparts-lod0-jg "lbackwingB" 11) +(def-joint-node kor-transform-monsterparts-lod0-jg "lbackwingC" 12) +(def-joint-node kor-transform-monsterparts-lod0-jg "lbackwingD" 13) +(def-joint-node kor-transform-monsterparts-lod0-jg "LmidC" 30) +(def-joint-node kor-transform-monsterparts-lod0-jg "lbTOP" 31) +(def-joint-node kor-transform-monsterparts-lod0-jg "LbackA" 32) +(def-joint-node kor-transform-monsterparts-lod0-jg "LbackB" 33) +(def-joint-node kor-transform-monsterparts-lod0-jg "LbackC" 34) +(def-joint-node kor-transform-monsterparts-lod0-jg "rfTOP" 35) +(def-joint-node kor-transform-monsterparts-lod0-jg "RfrontA" 36) +(def-joint-node kor-transform-monsterparts-lod0-jg "RfrontB" 37) +(def-joint-node kor-transform-monsterparts-lod0-jg "RfrontC" 38) +(def-joint-node kor-transform-monsterparts-lod0-jg "rmTOP" 39) +(def-joint-node kor-transform-monsterparts-lod0-jg "RmidA" 40) +(def-joint-node kor-transform-monsterparts-lod0-jg "RmidB" 41) +(def-joint-node kor-transform-monsterparts-lod0-jg "RmidC" 42) +(def-joint-node kor-transform-monsterparts-lod0-jg "rbTOP" 43) +(def-joint-node kor-transform-monsterparts-lod0-jg "RbackA" 44) +(def-joint-node kor-transform-monsterparts-lod0-jg "RbackB" 45) +(def-joint-node kor-transform-monsterparts-lod0-jg "RbackC" 46) +(def-joint-node kor-transform-monsterparts-lod0-jg "lshoulder" 47) +(def-joint-node kor-transform-monsterparts-lod0-jg "lelbow" 48) +(def-joint-node kor-transform-monsterparts-lod0-jg "lhand" 49) +(def-joint-node kor-transform-monsterparts-lod0-jg "rshoulder" 50) +(def-joint-node kor-transform-monsterparts-lod0-jg "relbow" 51) +(def-joint-node kor-transform-monsterparts-lod0-jg "rhand" 52) +(def-joint-node kor-transform-monsterparts-lod0-jg "hips" 53) +(def-joint-node kor-transform-monsterparts-lod0-jg "backA" 54) +(def-joint-node kor-transform-monsterparts-lod0-jg "backB" 55) +(def-joint-node kor-transform-monsterparts-lod0-jg "tailA" 56) +(def-joint-node kor-transform-monsterparts-lod0-jg "tailB" 57) +(def-joint-node kor-transform-monsterparts-lod0-jg "tailC" 58) +(def-joint-node kor-transform-monsterparts-lod0-jg "tailD" 59) + +(def-joint-node life-seed-lod0-jg "leaves" 4) +(def-joint-node life-seed-lod0-jg "main" 3) +(def-joint-node life-seed-lod0-jg "prejoint" 2) +(def-joint-node life-seed-lod0-jg "align" 1) + +(def-joint-node metalkor-highres-lowtorso-lod0-jg "backplateC" 41) +(def-joint-node metalkor-highres-lowtorso-lod0-jg "backplateB" 40) +(def-joint-node metalkor-highres-lowtorso-lod0-jg "backplateA" 39) +(def-joint-node metalkor-highres-lowtorso-lod0-jg "Rspinshot3" 38) +(def-joint-node metalkor-highres-lowtorso-lod0-jg "RspincvrA" 37) +(def-joint-node metalkor-highres-lowtorso-lod0-jg "RsphotbaseA1" 36) +(def-joint-node metalkor-highres-lowtorso-lod0-jg "Lspinshot3" 35) +(def-joint-node metalkor-highres-lowtorso-lod0-jg "LspincvrA" 34) +(def-joint-node metalkor-highres-lowtorso-lod0-jg "LshotbaseA1" 33) +(def-joint-node metalkor-highres-lowtorso-lod0-jg "Rspinshot4" 32) +(def-joint-node metalkor-highres-lowtorso-lod0-jg "RspincvrB" 31) +(def-joint-node metalkor-highres-lowtorso-lod0-jg "RshotbaseB1" 30) +(def-joint-node metalkor-highres-lowtorso-lod0-jg "tailG" 13) +(def-joint-node metalkor-highres-lowtorso-lod0-jg "tailF" 12) +(def-joint-node metalkor-highres-lowtorso-lod0-jg "tailE" 11) +(def-joint-node metalkor-highres-lowtorso-lod0-jg "tailD" 10) +(def-joint-node metalkor-highres-lowtorso-lod0-jg "tailC" 9) +(def-joint-node metalkor-highres-lowtorso-lod0-jg "tailB" 8) +(def-joint-node metalkor-highres-lowtorso-lod0-jg "tailA" 7) +(def-joint-node metalkor-highres-lowtorso-lod0-jg "backB" 6) +(def-joint-node metalkor-highres-lowtorso-lod0-jg "backA" 5) +(def-joint-node metalkor-highres-lowtorso-lod0-jg "chest" 4) +(def-joint-node metalkor-highres-lowtorso-lod0-jg "main" 3) +(def-joint-node metalkor-highres-lowtorso-lod0-jg "prejoint" 2) +(def-joint-node metalkor-highres-lowtorso-lod0-jg "align" 1) +(def-joint-node metalkor-highres-lowtorso-lod0-jg "tailH" 14) +(def-joint-node metalkor-highres-lowtorso-lod0-jg "tailI" 15) +(def-joint-node metalkor-highres-lowtorso-lod0-jg "tailJ" 16) +(def-joint-node metalkor-highres-lowtorso-lod0-jg "tailK" 17) +(def-joint-node metalkor-highres-lowtorso-lod0-jg "tailL" 18) +(def-joint-node metalkor-highres-lowtorso-lod0-jg "tailM" 19) +(def-joint-node metalkor-highres-lowtorso-lod0-jg "tailN" 20) +(def-joint-node metalkor-highres-lowtorso-lod0-jg "tailO" 21) +(def-joint-node metalkor-highres-lowtorso-lod0-jg "tailP" 22) +(def-joint-node metalkor-highres-lowtorso-lod0-jg "tailQ" 23) +(def-joint-node metalkor-highres-lowtorso-lod0-jg "tailR" 24) +(def-joint-node metalkor-highres-lowtorso-lod0-jg "tailS" 25) +(def-joint-node metalkor-highres-lowtorso-lod0-jg "tailT" 26) +(def-joint-node metalkor-highres-lowtorso-lod0-jg "LshotbaseB1" 27) +(def-joint-node metalkor-highres-lowtorso-lod0-jg "LspincvrB" 28) +(def-joint-node metalkor-highres-lowtorso-lod0-jg "Lspinshot4" 29) + +(def-joint-node kiosk-banner-lod0-jg "flag12" 15) +(def-joint-node kiosk-banner-lod0-jg "flag11" 14) +(def-joint-node kiosk-banner-lod0-jg "align" 1) +(def-joint-node kiosk-banner-lod0-jg "prejoint" 2) +(def-joint-node kiosk-banner-lod0-jg "main" 3) +(def-joint-node kiosk-banner-lod0-jg "flag1" 4) +(def-joint-node kiosk-banner-lod0-jg "flag2" 5) +(def-joint-node kiosk-banner-lod0-jg "flag3" 6) +(def-joint-node kiosk-banner-lod0-jg "flag4" 7) +(def-joint-node kiosk-banner-lod0-jg "flag5" 8) +(def-joint-node kiosk-banner-lod0-jg "flag6" 9) +(def-joint-node kiosk-banner-lod0-jg "flag7" 10) +(def-joint-node kiosk-banner-lod0-jg "flag8" 11) +(def-joint-node kiosk-banner-lod0-jg "flag9" 12) +(def-joint-node kiosk-banner-lod0-jg "flag10" 13) + +(def-joint-node flamer-explode-lod0-jg "o" 17) +(def-joint-node flamer-explode-lod0-jg "n" 16) +(def-joint-node flamer-explode-lod0-jg "m" 15) +(def-joint-node flamer-explode-lod0-jg "l" 14) +(def-joint-node flamer-explode-lod0-jg "align" 1) +(def-joint-node flamer-explode-lod0-jg "prejoint" 2) +(def-joint-node flamer-explode-lod0-jg "a" 3) +(def-joint-node flamer-explode-lod0-jg "b" 4) +(def-joint-node flamer-explode-lod0-jg "c" 5) +(def-joint-node flamer-explode-lod0-jg "d" 6) +(def-joint-node flamer-explode-lod0-jg "e" 7) +(def-joint-node flamer-explode-lod0-jg "f" 8) +(def-joint-node flamer-explode-lod0-jg "g" 9) +(def-joint-node flamer-explode-lod0-jg "h" 10) +(def-joint-node flamer-explode-lod0-jg "i" 11) +(def-joint-node flamer-explode-lod0-jg "j" 12) +(def-joint-node flamer-explode-lod0-jg "k" 13) + +(def-joint-node wren-lod0-jg "BIRDL" 7) +(def-joint-node wren-lod0-jg "BIRDR" 6) +(def-joint-node wren-lod0-jg "BIRDhead" 5) +(def-joint-node wren-lod0-jg "BIRD" 4) +(def-joint-node wren-lod0-jg "BIRDfeet" 3) +(def-joint-node wren-lod0-jg "prejoint" 2) +(def-joint-node wren-lod0-jg "align" 1) + +(def-joint-node bikea-lod0-jg "rearbraker_" 10) +(def-joint-node bikea-lod0-jg "rearbrakel_" 9) +(def-joint-node bikea-lod0-jg "frontfinl_" 8) +(def-joint-node bikea-lod0-jg "frontfinr_" 7) +(def-joint-node bikea-lod0-jg "tailfinl_" 6) +(def-joint-node bikea-lod0-jg "tailfinr_" 5) +(def-joint-node bikea-lod0-jg "rudder_" 4) +(def-joint-node bikea-lod0-jg "main_" 3) +(def-joint-node bikea-lod0-jg "prejoint" 2) +(def-joint-node bikea-lod0-jg "align" 1) + +(def-joint-node crimson-guard-hover-explode-lod0-jg "n" 16) +(def-joint-node crimson-guard-hover-explode-lod0-jg "m" 15) +(def-joint-node crimson-guard-hover-explode-lod0-jg "l" 14) +(def-joint-node crimson-guard-hover-explode-lod0-jg "align" 1) +(def-joint-node crimson-guard-hover-explode-lod0-jg "prejoint" 2) +(def-joint-node crimson-guard-hover-explode-lod0-jg "a" 3) +(def-joint-node crimson-guard-hover-explode-lod0-jg "b" 4) +(def-joint-node crimson-guard-hover-explode-lod0-jg "c" 5) +(def-joint-node crimson-guard-hover-explode-lod0-jg "d" 6) +(def-joint-node crimson-guard-hover-explode-lod0-jg "e" 7) +(def-joint-node crimson-guard-hover-explode-lod0-jg "f" 8) +(def-joint-node crimson-guard-hover-explode-lod0-jg "g" 9) +(def-joint-node crimson-guard-hover-explode-lod0-jg "h" 10) +(def-joint-node crimson-guard-hover-explode-lod0-jg "i" 11) +(def-joint-node crimson-guard-hover-explode-lod0-jg "j" 12) +(def-joint-node crimson-guard-hover-explode-lod0-jg "k" 13) + +(def-joint-node pegasus-lod0-jg "chestplateC" 51) +(def-joint-node pegasus-lod0-jg "chestplateB" 50) +(def-joint-node pegasus-lod0-jg "neckplateB" 49) +(def-joint-node pegasus-lod0-jg "neckplateA" 48) +(def-joint-node pegasus-lod0-jg "tailGuard" 47) +(def-joint-node pegasus-lod0-jg "Routclaw" 46) +(def-joint-node pegasus-lod0-jg "Rinclaw" 45) +(def-joint-node pegasus-lod0-jg "Rmidclaw" 44) +(def-joint-node pegasus-lod0-jg "Linclaw" 43) +(def-joint-node pegasus-lod0-jg "Loutclaw" 42) +(def-joint-node pegasus-lod0-jg "Lmidclaw" 41) +(def-joint-node pegasus-lod0-jg "LfrontclawIN" 40) +(def-joint-node pegasus-lod0-jg "LfrontclawOUT" 39) +(def-joint-node pegasus-lod0-jg "Lfrontclawball" 38) +(def-joint-node pegasus-lod0-jg "chestplateA" 37) +(def-joint-node pegasus-lod0-jg "tailC" 36) +(def-joint-node pegasus-lod0-jg "tailB" 35) +(def-joint-node pegasus-lod0-jg "tailA" 34) +(def-joint-node pegasus-lod0-jg "Rankle" 33) +(def-joint-node pegasus-lod0-jg "rhindcannon" 32) +(def-joint-node pegasus-lod0-jg "Rknee" 31) +(def-joint-node pegasus-lod0-jg "Rthigh" 30) +(def-joint-node pegasus-lod0-jg "Rshoulder" 13) +(def-joint-node pegasus-lod0-jg "Lfrontclaw" 12) +(def-joint-node pegasus-lod0-jg "Lelbow" 11) +(def-joint-node pegasus-lod0-jg "Lshoulder" 10) +(def-joint-node pegasus-lod0-jg "head" 9) +(def-joint-node pegasus-lod0-jg "neckC" 8) +(def-joint-node pegasus-lod0-jg "neckB" 7) +(def-joint-node pegasus-lod0-jg "neckA" 6) +(def-joint-node pegasus-lod0-jg "chest" 5) +(def-joint-node pegasus-lod0-jg "spine" 4) +(def-joint-node pegasus-lod0-jg "main" 3) +(def-joint-node pegasus-lod0-jg "prejoint" 2) +(def-joint-node pegasus-lod0-jg "align" 1) +(def-joint-node pegasus-lod0-jg "Relbow" 14) +(def-joint-node pegasus-lod0-jg "Rfrontclaw" 15) +(def-joint-node pegasus-lod0-jg "Rfrontclawball" 16) +(def-joint-node pegasus-lod0-jg "RfrontclawOUT" 17) +(def-joint-node pegasus-lod0-jg "RfrontclawIN" 18) +(def-joint-node pegasus-lod0-jg "LwingA" 19) +(def-joint-node pegasus-lod0-jg "LwingB" 20) +(def-joint-node pegasus-lod0-jg "LwingC" 21) +(def-joint-node pegasus-lod0-jg "RwingA" 22) +(def-joint-node pegasus-lod0-jg "RwingB" 23) +(def-joint-node pegasus-lod0-jg "RwingC" 24) +(def-joint-node pegasus-lod0-jg "hip" 25) +(def-joint-node pegasus-lod0-jg "Lthigh" 26) +(def-joint-node pegasus-lod0-jg "Lknee" 27) +(def-joint-node pegasus-lod0-jg "lhindcannon" 28) +(def-joint-node pegasus-lod0-jg "Lankle" 29) + +(def-joint-node dig-spikey-sphere-door-lod0-jg "door" 4) +(def-joint-node dig-spikey-sphere-door-lod0-jg "main" 3) +(def-joint-node dig-spikey-sphere-door-lod0-jg "prejoint" 2) +(def-joint-node dig-spikey-sphere-door-lod0-jg "align" 1) + +(def-joint-node warp-gate-lod0-jg "innerIn" 9) +(def-joint-node warp-gate-lod0-jg "innerOut" 8) +(def-joint-node warp-gate-lod0-jg "middleIn" 7) +(def-joint-node warp-gate-lod0-jg "middleOut" 6) +(def-joint-node warp-gate-lod0-jg "outerIn" 5) +(def-joint-node warp-gate-lod0-jg "outerOut" 4) +(def-joint-node warp-gate-lod0-jg "main" 3) +(def-joint-node warp-gate-lod0-jg "prejoint" 2) +(def-joint-node warp-gate-lod0-jg "align" 1) + +(def-joint-node darkjak-highres-lod0-jg "board" 63) +(def-joint-node darkjak-highres-lod0-jg "pantsLthigh" 62) +(def-joint-node darkjak-highres-lod0-jg "pantsRthigh" 61) +(def-joint-node darkjak-highres-lod0-jg "kneeRStrap" 60) +(def-joint-node darkjak-highres-lod0-jg "Rshould" 29) +(def-joint-node darkjak-highres-lod0-jg "lpinkB" 28) +(def-joint-node darkjak-highres-lod0-jg "lpinkA" 27) +(def-joint-node darkjak-highres-lod0-jg "lringB" 26) +(def-joint-node darkjak-highres-lod0-jg "lringA" 25) +(def-joint-node darkjak-highres-lod0-jg "lmidB" 24) +(def-joint-node darkjak-highres-lod0-jg "lmidA" 23) +(def-joint-node darkjak-highres-lod0-jg "lindB" 22) +(def-joint-node darkjak-highres-lod0-jg "lindA" 21) +(def-joint-node darkjak-highres-lod0-jg "lthumB" 20) +(def-joint-node darkjak-highres-lod0-jg "lthumA" 19) +(def-joint-node darkjak-highres-lod0-jg "sk_lhand" 18) +(def-joint-node darkjak-highres-lod0-jg "Lforarm" 17) +(def-joint-node darkjak-highres-lod0-jg "Larm" 16) +(def-joint-node darkjak-highres-lod0-jg "Lshould" 15) +(def-joint-node darkjak-highres-lod0-jg "horns" 14) +(def-joint-node darkjak-highres-lod0-jg "align" 1) +(def-joint-node darkjak-highres-lod0-jg "prejoint" 2) +(def-joint-node darkjak-highres-lod0-jg "main" 3) +(def-joint-node darkjak-highres-lod0-jg "upper_body" 4) +(def-joint-node darkjak-highres-lod0-jg "chest" 5) +(def-joint-node darkjak-highres-lod0-jg "neckA" 6) +(def-joint-node darkjak-highres-lod0-jg "neckB" 7) +(def-joint-node darkjak-highres-lod0-jg "MhairA" 8) +(def-joint-node darkjak-highres-lod0-jg "MhairB" 9) +(def-joint-node darkjak-highres-lod0-jg "Learbase" 10) +(def-joint-node darkjak-highres-lod0-jg "Learmid" 11) +(def-joint-node darkjak-highres-lod0-jg "Rearbase" 12) +(def-joint-node darkjak-highres-lod0-jg "Rearmid" 13) +(def-joint-node darkjak-highres-lod0-jg "Rarm" 30) +(def-joint-node darkjak-highres-lod0-jg "Rforarm" 31) +(def-joint-node darkjak-highres-lod0-jg "sk_rhand" 32) +(def-joint-node darkjak-highres-lod0-jg "rthumA" 33) +(def-joint-node darkjak-highres-lod0-jg "rthumB" 34) +(def-joint-node darkjak-highres-lod0-jg "rindA" 35) +(def-joint-node darkjak-highres-lod0-jg "rindB" 36) +(def-joint-node darkjak-highres-lod0-jg "rmidA" 37) +(def-joint-node darkjak-highres-lod0-jg "rmidB" 38) +(def-joint-node darkjak-highres-lod0-jg "rringA" 39) +(def-joint-node darkjak-highres-lod0-jg "rringB" 40) +(def-joint-node darkjak-highres-lod0-jg "rpinkA" 41) +(def-joint-node darkjak-highres-lod0-jg "rpinkB" 42) +(def-joint-node darkjak-highres-lod0-jg "LshoulderPad" 43) +(def-joint-node darkjak-highres-lod0-jg "packStrapTop" 44) +(def-joint-node darkjak-highres-lod0-jg "gun" 45) +(def-joint-node darkjak-highres-lod0-jg "hips" 46) +(def-joint-node darkjak-highres-lod0-jg "Lthigh" 47) +(def-joint-node darkjak-highres-lod0-jg "Lknee" 48) +(def-joint-node darkjak-highres-lod0-jg "Lankle" 49) +(def-joint-node darkjak-highres-lod0-jg "Lball" 50) +(def-joint-node darkjak-highres-lod0-jg "LbigToe" 51) +(def-joint-node darkjak-highres-lod0-jg "Ltoes" 52) +(def-joint-node darkjak-highres-lod0-jg "kneeLStrap" 53) +(def-joint-node darkjak-highres-lod0-jg "Rthigh" 54) +(def-joint-node darkjak-highres-lod0-jg "Rknee" 55) +(def-joint-node darkjak-highres-lod0-jg "Rankle" 56) +(def-joint-node darkjak-highres-lod0-jg "Rball" 57) +(def-joint-node darkjak-highres-lod0-jg "RbigToe" 58) +(def-joint-node darkjak-highres-lod0-jg "Rtoes" 59) + +(def-joint-node fort-robotank-sight-lod0-jg "bullseye" 9) +(def-joint-node fort-robotank-sight-lod0-jg "innerring" 8) +(def-joint-node fort-robotank-sight-lod0-jg "middlering" 7) +(def-joint-node fort-robotank-sight-lod0-jg "outerring" 6) +(def-joint-node fort-robotank-sight-lod0-jg "sight" 5) +(def-joint-node fort-robotank-sight-lod0-jg "shadow" 4) +(def-joint-node fort-robotank-sight-lod0-jg "main" 3) +(def-joint-node fort-robotank-sight-lod0-jg "prejoint" 2) +(def-joint-node fort-robotank-sight-lod0-jg "align" 1) + +(def-joint-node race-bike-c-lod0-jg "tailfin_R" 7) +(def-joint-node race-bike-c-lod0-jg "tailfin_L" 6) +(def-joint-node race-bike-c-lod0-jg "frontmid" 5) +(def-joint-node race-bike-c-lod0-jg "forks" 4) +(def-joint-node race-bike-c-lod0-jg "main" 3) +(def-joint-node race-bike-c-lod0-jg "prejoint" 2) +(def-joint-node race-bike-c-lod0-jg "align" 1) + +(def-joint-node ruins-tower-b-lod0-jg "cu" 49) +(def-joint-node ruins-tower-b-lod0-jg "ct" 48) +(def-joint-node ruins-tower-b-lod0-jg "cs" 47) +(def-joint-node ruins-tower-b-lod0-jg "cr" 46) +(def-joint-node ruins-tower-b-lod0-jg "cq" 45) +(def-joint-node ruins-tower-b-lod0-jg "cp" 44) +(def-joint-node ruins-tower-b-lod0-jg "co" 43) +(def-joint-node ruins-tower-b-lod0-jg "cn" 42) +(def-joint-node ruins-tower-b-lod0-jg "cm" 41) +(def-joint-node ruins-tower-b-lod0-jg "cl" 40) +(def-joint-node ruins-tower-b-lod0-jg "ck" 39) +(def-joint-node ruins-tower-b-lod0-jg "cj" 38) +(def-joint-node ruins-tower-b-lod0-jg "ci" 37) +(def-joint-node ruins-tower-b-lod0-jg "ch" 36) +(def-joint-node ruins-tower-b-lod0-jg "cg" 35) +(def-joint-node ruins-tower-b-lod0-jg "cf" 34) +(def-joint-node ruins-tower-b-lod0-jg "ce" 33) +(def-joint-node ruins-tower-b-lod0-jg "cd" 32) +(def-joint-node ruins-tower-b-lod0-jg "cc" 31) +(def-joint-node ruins-tower-b-lod0-jg "ca" 30) +(def-joint-node ruins-tower-b-lod0-jg "bj" 13) +(def-joint-node ruins-tower-b-lod0-jg "bi" 12) +(def-joint-node ruins-tower-b-lod0-jg "bh" 11) +(def-joint-node ruins-tower-b-lod0-jg "bg" 10) +(def-joint-node ruins-tower-b-lod0-jg "bf" 9) +(def-joint-node ruins-tower-b-lod0-jg "be" 8) +(def-joint-node ruins-tower-b-lod0-jg "bd" 7) +(def-joint-node ruins-tower-b-lod0-jg "bc" 6) +(def-joint-node ruins-tower-b-lod0-jg "ba" 5) +(def-joint-node ruins-tower-b-lod0-jg "ay" 4) +(def-joint-node ruins-tower-b-lod0-jg "ax" 3) +(def-joint-node ruins-tower-b-lod0-jg "prejoint" 2) +(def-joint-node ruins-tower-b-lod0-jg "align" 1) +(def-joint-node ruins-tower-b-lod0-jg "bk" 14) +(def-joint-node ruins-tower-b-lod0-jg "bl" 15) +(def-joint-node ruins-tower-b-lod0-jg "bm" 16) +(def-joint-node ruins-tower-b-lod0-jg "bn" 17) +(def-joint-node ruins-tower-b-lod0-jg "bo" 18) +(def-joint-node ruins-tower-b-lod0-jg "bp" 19) +(def-joint-node ruins-tower-b-lod0-jg "bq" 20) +(def-joint-node ruins-tower-b-lod0-jg "br" 21) +(def-joint-node ruins-tower-b-lod0-jg "bs" 22) +(def-joint-node ruins-tower-b-lod0-jg "bt" 23) +(def-joint-node ruins-tower-b-lod0-jg "bu" 24) +(def-joint-node ruins-tower-b-lod0-jg "bv" 25) +(def-joint-node ruins-tower-b-lod0-jg "bw" 26) +(def-joint-node ruins-tower-b-lod0-jg "bx" 27) +(def-joint-node ruins-tower-b-lod0-jg "by" 28) +(def-joint-node ruins-tower-b-lod0-jg "bz" 29) + +(def-joint-node mincan-lens-lod0-jg "shard" 17) +(def-joint-node mincan-lens-lod0-jg "tower" 16) +(def-joint-node mincan-lens-lod0-jg "beam_d" 15) +(def-joint-node mincan-lens-lod0-jg "d" 14) +(def-joint-node mincan-lens-lod0-jg "align" 1) +(def-joint-node mincan-lens-lod0-jg "prejoint" 2) +(def-joint-node mincan-lens-lod0-jg "main" 3) +(def-joint-node mincan-lens-lod0-jg "low_a" 4) +(def-joint-node mincan-lens-lod0-jg "a" 5) +(def-joint-node mincan-lens-lod0-jg "beam_a" 6) +(def-joint-node mincan-lens-lod0-jg "low_b" 7) +(def-joint-node mincan-lens-lod0-jg "b" 8) +(def-joint-node mincan-lens-lod0-jg "beam_b" 9) +(def-joint-node mincan-lens-lod0-jg "low_c" 10) +(def-joint-node mincan-lens-lod0-jg "c" 11) +(def-joint-node mincan-lens-lod0-jg "beam_c" 12) +(def-joint-node mincan-lens-lod0-jg "low_d" 13) + +(def-joint-node fort-robotank-lod0-jg "turretpos" 20) +(def-joint-node fort-robotank-lod0-jg "Lsmlwheel6" 19) +(def-joint-node fort-robotank-lod0-jg "Lsmlwheel5" 18) +(def-joint-node fort-robotank-lod0-jg "Lsmlwheel4" 17) +(def-joint-node fort-robotank-lod0-jg "Lsmlwheel3" 16) +(def-joint-node fort-robotank-lod0-jg "Lsmlwheel2" 15) +(def-joint-node fort-robotank-lod0-jg "Lsmlwheel1" 14) +(def-joint-node fort-robotank-lod0-jg "align" 1) +(def-joint-node fort-robotank-lod0-jg "prejoint" 2) +(def-joint-node fort-robotank-lod0-jg "main" 3) +(def-joint-node fort-robotank-lod0-jg "vibe" 4) +(def-joint-node fort-robotank-lod0-jg "rollerrot" 5) +(def-joint-node fort-robotank-lod0-jg "Rlrgwheel" 6) +(def-joint-node fort-robotank-lod0-jg "Rsmlwheel1" 7) +(def-joint-node fort-robotank-lod0-jg "Rsmlwheel2" 8) +(def-joint-node fort-robotank-lod0-jg "Rsmlwheel3" 9) +(def-joint-node fort-robotank-lod0-jg "Rsmlwheel4" 10) +(def-joint-node fort-robotank-lod0-jg "Rsmlwheel5" 11) +(def-joint-node fort-robotank-lod0-jg "Rsmlwheel6" 12) +(def-joint-node fort-robotank-lod0-jg "Llrgwheel1" 13) + +(def-joint-node pal-prong-lod0-jg "main" 3) +(def-joint-node pal-prong-lod0-jg "prejoint" 2) +(def-joint-node pal-prong-lod0-jg "align" 1) + +(def-joint-node jak-clothes-lod0-jg "armor" 8) +(def-joint-node jak-clothes-lod0-jg "goggle" 7) +(def-joint-node jak-clothes-lod0-jg "strap" 6) +(def-joint-node jak-clothes-lod0-jg "clothesB" 5) +(def-joint-node jak-clothes-lod0-jg "clothesA" 4) +(def-joint-node jak-clothes-lod0-jg "main" 3) +(def-joint-node jak-clothes-lod0-jg "prejoint" 2) +(def-joint-node jak-clothes-lod0-jg "align" 1) + +(def-joint-node brutter-highres-lod0-jg "RBaskin" 62) +(def-joint-node brutter-highres-lod0-jg "RFaskin" 61) +(def-joint-node brutter-highres-lod0-jg "RringC" 60) +(def-joint-node brutter-highres-lod0-jg "RpinkyB" 29) +(def-joint-node brutter-highres-lod0-jg "RpinkyA" 28) +(def-joint-node brutter-highres-lod0-jg "RindexC" 27) +(def-joint-node brutter-highres-lod0-jg "RindexB" 26) +(def-joint-node brutter-highres-lod0-jg "RindexA" 25) +(def-joint-node brutter-highres-lod0-jg "RthumbA" 24) +(def-joint-node brutter-highres-lod0-jg "Rhand" 23) +(def-joint-node brutter-highres-lod0-jg "Relbow" 22) +(def-joint-node brutter-highres-lod0-jg "Rshoulder" 21) +(def-joint-node brutter-highres-lod0-jg "LpinkyC" 20) +(def-joint-node brutter-highres-lod0-jg "LpinkyB" 19) +(def-joint-node brutter-highres-lod0-jg "LpinkyA" 18) +(def-joint-node brutter-highres-lod0-jg "LindexC" 17) +(def-joint-node brutter-highres-lod0-jg "LindexB" 16) +(def-joint-node brutter-highres-lod0-jg "LindexA" 15) +(def-joint-node brutter-highres-lod0-jg "LthumbA" 14) +(def-joint-node brutter-highres-lod0-jg "align" 1) +(def-joint-node brutter-highres-lod0-jg "prejoint" 2) +(def-joint-node brutter-highres-lod0-jg "main" 3) +(def-joint-node brutter-highres-lod0-jg "chest" 4) +(def-joint-node brutter-highres-lod0-jg "neck" 5) +(def-joint-node brutter-highres-lod0-jg "head" 6) +(def-joint-node brutter-highres-lod0-jg "hairpiece" 7) +(def-joint-node brutter-highres-lod0-jg "LBhair" 8) +(def-joint-node brutter-highres-lod0-jg "lfeather" 9) +(def-joint-node brutter-highres-lod0-jg "rfeather" 10) +(def-joint-node brutter-highres-lod0-jg "Lshoulder" 11) +(def-joint-node brutter-highres-lod0-jg "Lelbow" 12) +(def-joint-node brutter-highres-lod0-jg "Lhand" 13) +(def-joint-node brutter-highres-lod0-jg "RpinkyC" 30) +(def-joint-node brutter-highres-lod0-jg "LFaskin" 31) +(def-joint-node brutter-highres-lod0-jg "LBaskin" 32) +(def-joint-node brutter-highres-lod0-jg "hips" 33) +(def-joint-node brutter-highres-lod0-jg "Lthigh" 34) +(def-joint-node brutter-highres-lod0-jg "Lknee" 35) +(def-joint-node brutter-highres-lod0-jg "Lankle" 36) +(def-joint-node brutter-highres-lod0-jg "Lball" 37) +(def-joint-node brutter-highres-lod0-jg "Rthigh" 38) +(def-joint-node brutter-highres-lod0-jg "Rknee" 39) +(def-joint-node brutter-highres-lod0-jg "Rankle" 40) +(def-joint-node brutter-highres-lod0-jg "Rball" 41) +(def-joint-node brutter-highres-lod0-jg "LFhair" 42) +(def-joint-node brutter-highres-lod0-jg "RFhair" 43) +(def-joint-node brutter-highres-lod0-jg "RBhair" 44) +(def-joint-node brutter-highres-lod0-jg "LthumbB" 45) +(def-joint-node brutter-highres-lod0-jg "LthumbC" 46) +(def-joint-node brutter-highres-lod0-jg "LmiddleA" 47) +(def-joint-node brutter-highres-lod0-jg "LmiddleB" 48) +(def-joint-node brutter-highres-lod0-jg "LmiddleC" 49) +(def-joint-node brutter-highres-lod0-jg "LringA" 50) +(def-joint-node brutter-highres-lod0-jg "LringB" 51) +(def-joint-node brutter-highres-lod0-jg "LringC" 52) +(def-joint-node brutter-highres-lod0-jg "RthumbB" 53) +(def-joint-node brutter-highres-lod0-jg "RthumbC" 54) +(def-joint-node brutter-highres-lod0-jg "RmiddleA" 55) +(def-joint-node brutter-highres-lod0-jg "RmiddleB" 56) +(def-joint-node brutter-highres-lod0-jg "RmiddleC" 57) +(def-joint-node brutter-highres-lod0-jg "RringA" 58) +(def-joint-node brutter-highres-lod0-jg "RringB" 59) + +(def-joint-node precipice-b-lod0-jg "ci" 46) +(def-joint-node precipice-b-lod0-jg "ch" 45) +(def-joint-node precipice-b-lod0-jg "cg" 44) +(def-joint-node precipice-b-lod0-jg "cf" 43) +(def-joint-node precipice-b-lod0-jg "ce" 42) +(def-joint-node precipice-b-lod0-jg "cd" 41) +(def-joint-node precipice-b-lod0-jg "cc" 40) +(def-joint-node precipice-b-lod0-jg "cb" 39) +(def-joint-node precipice-b-lod0-jg "ca" 38) +(def-joint-node precipice-b-lod0-jg "bz" 37) +(def-joint-node precipice-b-lod0-jg "by" 36) +(def-joint-node precipice-b-lod0-jg "bx" 35) +(def-joint-node precipice-b-lod0-jg "bw" 34) +(def-joint-node precipice-b-lod0-jg "bv" 33) +(def-joint-node precipice-b-lod0-jg "bu" 32) +(def-joint-node precipice-b-lod0-jg "bt" 31) +(def-joint-node precipice-b-lod0-jg "bs" 30) +(def-joint-node precipice-b-lod0-jg "bb" 13) +(def-joint-node precipice-b-lod0-jg "ba" 12) +(def-joint-node precipice-b-lod0-jg "az" 11) +(def-joint-node precipice-b-lod0-jg "ay" 10) +(def-joint-node precipice-b-lod0-jg "ax" 9) +(def-joint-node precipice-b-lod0-jg "aw" 8) +(def-joint-node precipice-b-lod0-jg "av" 7) +(def-joint-node precipice-b-lod0-jg "au" 6) +(def-joint-node precipice-b-lod0-jg "at" 5) +(def-joint-node precipice-b-lod0-jg "as" 4) +(def-joint-node precipice-b-lod0-jg "ar" 3) +(def-joint-node precipice-b-lod0-jg "prejoint" 2) +(def-joint-node precipice-b-lod0-jg "align" 1) +(def-joint-node precipice-b-lod0-jg "bc" 14) +(def-joint-node precipice-b-lod0-jg "bd" 15) +(def-joint-node precipice-b-lod0-jg "be" 16) +(def-joint-node precipice-b-lod0-jg "bf" 17) +(def-joint-node precipice-b-lod0-jg "bg" 18) +(def-joint-node precipice-b-lod0-jg "bh" 19) +(def-joint-node precipice-b-lod0-jg "bi" 20) +(def-joint-node precipice-b-lod0-jg "bj" 21) +(def-joint-node precipice-b-lod0-jg "bk" 22) +(def-joint-node precipice-b-lod0-jg "bl" 23) +(def-joint-node precipice-b-lod0-jg "bm" 24) +(def-joint-node precipice-b-lod0-jg "bn" 25) +(def-joint-node precipice-b-lod0-jg "bo" 26) +(def-joint-node precipice-b-lod0-jg "bp" 27) +(def-joint-node precipice-b-lod0-jg "bq" 28) +(def-joint-node precipice-b-lod0-jg "br" 29) + +(def-joint-node curtainsaw-lod0-jg "bolt6" 9) +(def-joint-node curtainsaw-lod0-jg "bolt5" 8) +(def-joint-node curtainsaw-lod0-jg "bolt4" 7) +(def-joint-node curtainsaw-lod0-jg "bolt3" 6) +(def-joint-node curtainsaw-lod0-jg "bolt2" 5) +(def-joint-node curtainsaw-lod0-jg "bolt1" 4) +(def-joint-node curtainsaw-lod0-jg "main" 3) +(def-joint-node curtainsaw-lod0-jg "prejoint" 2) +(def-joint-node curtainsaw-lod0-jg "align" 1) + +(def-joint-node mtn-plat-eject-lod0-jg "main" 3) +(def-joint-node mtn-plat-eject-lod0-jg "prejoint" 2) +(def-joint-node mtn-plat-eject-lod0-jg "align" 1) + +(def-joint-node pal-rot-gun-lod0-jg "gun_b_top" 7) +(def-joint-node pal-rot-gun-lod0-jg "gun_b_bottom" 6) +(def-joint-node pal-rot-gun-lod0-jg "gun_a_bottom" 5) +(def-joint-node pal-rot-gun-lod0-jg "gun_a_top" 4) +(def-joint-node pal-rot-gun-lod0-jg "main" 3) +(def-joint-node pal-rot-gun-lod0-jg "prejoint" 2) +(def-joint-node pal-rot-gun-lod0-jg "align" 1) + +(def-joint-node kor-break-ray-lod0-jg "body_out" 5) +(def-joint-node kor-break-ray-lod0-jg "body_in" 4) +(def-joint-node kor-break-ray-lod0-jg "main" 3) +(def-joint-node kor-break-ray-lod0-jg "prejoint" 2) +(def-joint-node kor-break-ray-lod0-jg "align" 1) + +(def-joint-node water-anim-tomb-tunnel-f-lod0-jg "boneless" 3) +(def-joint-node water-anim-tomb-tunnel-f-lod0-jg "prejoint" 2) +(def-joint-node water-anim-tomb-tunnel-f-lod0-jg "align" 1) + +(def-joint-node collectables-bomb-blast-lod0-jg "bombB" 4) +(def-joint-node collectables-bomb-blast-lod0-jg "bombA" 3) +(def-joint-node collectables-bomb-blast-lod0-jg "prejoint" 2) +(def-joint-node collectables-bomb-blast-lod0-jg "align" 1) + +(def-joint-node drill-elevator-lod0-jg "railing" 4) +(def-joint-node drill-elevator-lod0-jg "main" 3) +(def-joint-node drill-elevator-lod0-jg "prejoint" 2) +(def-joint-node drill-elevator-lod0-jg "align" 1) + +(def-joint-node mech-explode-lod0-jg "q" 19) +(def-joint-node mech-explode-lod0-jg "p" 18) +(def-joint-node mech-explode-lod0-jg "o" 17) +(def-joint-node mech-explode-lod0-jg "n" 16) +(def-joint-node mech-explode-lod0-jg "m" 15) +(def-joint-node mech-explode-lod0-jg "l" 14) +(def-joint-node mech-explode-lod0-jg "align" 1) +(def-joint-node mech-explode-lod0-jg "prejoint" 2) +(def-joint-node mech-explode-lod0-jg "a" 3) +(def-joint-node mech-explode-lod0-jg "b" 4) +(def-joint-node mech-explode-lod0-jg "c" 5) +(def-joint-node mech-explode-lod0-jg "d" 6) +(def-joint-node mech-explode-lod0-jg "e" 7) +(def-joint-node mech-explode-lod0-jg "f" 8) +(def-joint-node mech-explode-lod0-jg "g" 9) +(def-joint-node mech-explode-lod0-jg "h" 10) +(def-joint-node mech-explode-lod0-jg "i" 11) +(def-joint-node mech-explode-lod0-jg "j" 12) +(def-joint-node mech-explode-lod0-jg "k" 13) + +(def-joint-node fort-led-lod0-jg "main" 3) +(def-joint-node fort-led-lod0-jg "prejoint" 2) +(def-joint-node fort-led-lod0-jg "align" 1) + +(def-joint-node crocadog-escort-lod0-jg "hairA" 36) +(def-joint-node crocadog-escort-lod0-jg "Rear" 35) +(def-joint-node crocadog-escort-lod0-jg "Lear" 34) +(def-joint-node crocadog-escort-lod0-jg "Rball" 33) +(def-joint-node crocadog-escort-lod0-jg "Rankle" 32) +(def-joint-node crocadog-escort-lod0-jg "Rcannon" 31) +(def-joint-node crocadog-escort-lod0-jg "Rknee" 30) +(def-joint-node crocadog-escort-lod0-jg "Lfrontknee" 13) +(def-joint-node crocadog-escort-lod0-jg "Lfrontthigh" 12) +(def-joint-node crocadog-escort-lod0-jg "tongueD" 11) +(def-joint-node crocadog-escort-lod0-jg "tongueC" 10) +(def-joint-node crocadog-escort-lod0-jg "tongueB" 9) +(def-joint-node crocadog-escort-lod0-jg "tongueA" 8) +(def-joint-node crocadog-escort-lod0-jg "jaw" 7) +(def-joint-node crocadog-escort-lod0-jg "head" 6) +(def-joint-node crocadog-escort-lod0-jg "neck" 5) +(def-joint-node crocadog-escort-lod0-jg "chest" 4) +(def-joint-node crocadog-escort-lod0-jg "main" 3) +(def-joint-node crocadog-escort-lod0-jg "prejoint" 2) +(def-joint-node crocadog-escort-lod0-jg "align" 1) +(def-joint-node crocadog-escort-lod0-jg "Lfrontankle" 14) +(def-joint-node crocadog-escort-lod0-jg "Lfrontball" 15) +(def-joint-node crocadog-escort-lod0-jg "Rfrontthigh" 16) +(def-joint-node crocadog-escort-lod0-jg "Rfrontknee" 17) +(def-joint-node crocadog-escort-lod0-jg "Rfrontankle" 18) +(def-joint-node crocadog-escort-lod0-jg "Rfrontball" 19) +(def-joint-node crocadog-escort-lod0-jg "hips" 20) +(def-joint-node crocadog-escort-lod0-jg "tailA" 21) +(def-joint-node crocadog-escort-lod0-jg "tailB" 22) +(def-joint-node crocadog-escort-lod0-jg "tailC" 23) +(def-joint-node crocadog-escort-lod0-jg "Lthigh" 24) +(def-joint-node crocadog-escort-lod0-jg "Lknee" 25) +(def-joint-node crocadog-escort-lod0-jg "Lcannon" 26) +(def-joint-node crocadog-escort-lod0-jg "Lankle" 27) +(def-joint-node crocadog-escort-lod0-jg "Lball" 28) +(def-joint-node crocadog-escort-lod0-jg "Rthigh" 29) + +(def-joint-node metalkor-chopped-lod0-jg "Rboteye" 39) +(def-joint-node metalkor-chopped-lod0-jg "Rtopeye" 38) +(def-joint-node metalkor-chopped-lod0-jg "Lboteye" 37) +(def-joint-node metalkor-chopped-lod0-jg "Ltopeye" 36) +(def-joint-node metalkor-chopped-lod0-jg "tongueC" 35) +(def-joint-node metalkor-chopped-lod0-jg "tongueB" 34) +(def-joint-node metalkor-chopped-lod0-jg "tongueA" 33) +(def-joint-node metalkor-chopped-lod0-jg "LffeelerB" 32) +(def-joint-node metalkor-chopped-lod0-jg "LffeelerA" 31) +(def-joint-node metalkor-chopped-lod0-jg "LffeelerD" 30) +(def-joint-node metalkor-chopped-lod0-jg "LfrfeelA" 13) +(def-joint-node metalkor-chopped-lod0-jg "RfrfeelB" 12) +(def-joint-node metalkor-chopped-lod0-jg "RfrfeelA" 11) +(def-joint-node metalkor-chopped-lod0-jg "RsidefeelB" 10) +(def-joint-node metalkor-chopped-lod0-jg "RsidefeelA" 9) +(def-joint-node metalkor-chopped-lod0-jg "lowlip" 8) +(def-joint-node metalkor-chopped-lod0-jg "lowerjaw" 7) +(def-joint-node metalkor-chopped-lod0-jg "topjaw" 6) +(def-joint-node metalkor-chopped-lod0-jg "head" 5) +(def-joint-node metalkor-chopped-lod0-jg "neck" 4) +(def-joint-node metalkor-chopped-lod0-jg "main" 3) +(def-joint-node metalkor-chopped-lod0-jg "prejoint" 2) +(def-joint-node metalkor-chopped-lod0-jg "align" 1) +(def-joint-node metalkor-chopped-lod0-jg "LfrfeelB" 14) +(def-joint-node metalkor-chopped-lod0-jg "LsidefeelA" 15) +(def-joint-node metalkor-chopped-lod0-jg "LsidefeelB" 16) +(def-joint-node metalkor-chopped-lod0-jg "RffeelerG" 17) +(def-joint-node metalkor-chopped-lod0-jg "RffeelerH" 18) +(def-joint-node metalkor-chopped-lod0-jg "RffeelerE" 19) +(def-joint-node metalkor-chopped-lod0-jg "RffeelerF" 20) +(def-joint-node metalkor-chopped-lod0-jg "RffeelerC" 21) +(def-joint-node metalkor-chopped-lod0-jg "RffeelerD" 22) +(def-joint-node metalkor-chopped-lod0-jg "RffeelerA" 23) +(def-joint-node metalkor-chopped-lod0-jg "RffeelerB" 24) +(def-joint-node metalkor-chopped-lod0-jg "LffeelerG" 25) +(def-joint-node metalkor-chopped-lod0-jg "LffeelerH" 26) +(def-joint-node metalkor-chopped-lod0-jg "LffeelerE" 27) +(def-joint-node metalkor-chopped-lod0-jg "LffeelerF" 28) +(def-joint-node metalkor-chopped-lod0-jg "LffeelerC" 29) + +(def-joint-node mtn-aval-rocks-shadow-lod0-jg "boneless" 3) +(def-joint-node mtn-aval-rocks-shadow-lod0-jg "prejoint" 2) +(def-joint-node mtn-aval-rocks-shadow-lod0-jg "align" 1) + +(def-joint-node jak-highres-lod0-jg "pantsLthigh" 63) +(def-joint-node jak-highres-lod0-jg "pantsRthigh" 62) +(def-joint-node jak-highres-lod0-jg "packStrapTop" 61) +(def-joint-node jak-highres-lod0-jg "rpinkB" 60) +(def-joint-node jak-highres-lod0-jg "LbigToe" 29) +(def-joint-node jak-highres-lod0-jg "Lball" 28) +(def-joint-node jak-highres-lod0-jg "Lankle" 27) +(def-joint-node jak-highres-lod0-jg "Lknee" 26) +(def-joint-node jak-highres-lod0-jg "Lthigh" 25) +(def-joint-node jak-highres-lod0-jg "hips" 24) +(def-joint-node jak-highres-lod0-jg "gun" 23) +(def-joint-node jak-highres-lod0-jg "LshoulderPad" 22) +(def-joint-node jak-highres-lod0-jg "sk_rhand" 21) +(def-joint-node jak-highres-lod0-jg "Rforarm" 20) +(def-joint-node jak-highres-lod0-jg "Rarm" 19) +(def-joint-node jak-highres-lod0-jg "Rshould" 18) +(def-joint-node jak-highres-lod0-jg "sk_lhand" 17) +(def-joint-node jak-highres-lod0-jg "Lforarm" 16) +(def-joint-node jak-highres-lod0-jg "Larm" 15) +(def-joint-node jak-highres-lod0-jg "Lshould" 14) +(def-joint-node jak-highres-lod0-jg "align" 1) +(def-joint-node jak-highres-lod0-jg "prejoint" 2) +(def-joint-node jak-highres-lod0-jg "main" 3) +(def-joint-node jak-highres-lod0-jg "upper_body" 4) +(def-joint-node jak-highres-lod0-jg "chest" 5) +(def-joint-node jak-highres-lod0-jg "neckA" 6) +(def-joint-node jak-highres-lod0-jg "neckB" 7) +(def-joint-node jak-highres-lod0-jg "MhairA" 8) +(def-joint-node jak-highres-lod0-jg "MhairB" 9) +(def-joint-node jak-highres-lod0-jg "Learbase" 10) +(def-joint-node jak-highres-lod0-jg "Learmid" 11) +(def-joint-node jak-highres-lod0-jg "Rearbase" 12) +(def-joint-node jak-highres-lod0-jg "Rearmid" 13) +(def-joint-node jak-highres-lod0-jg "Ltoes" 30) +(def-joint-node jak-highres-lod0-jg "kneeLStrap" 31) +(def-joint-node jak-highres-lod0-jg "Rthigh" 32) +(def-joint-node jak-highres-lod0-jg "Rknee" 33) +(def-joint-node jak-highres-lod0-jg "Rankle" 34) +(def-joint-node jak-highres-lod0-jg "Rball" 35) +(def-joint-node jak-highres-lod0-jg "RbigToe" 36) +(def-joint-node jak-highres-lod0-jg "Rtoes" 37) +(def-joint-node jak-highres-lod0-jg "kneeRStrap" 38) +(def-joint-node jak-highres-lod0-jg "board" 39) +(def-joint-node jak-highres-lod0-jg "horns" 40) +(def-joint-node jak-highres-lod0-jg "lthumA" 41) +(def-joint-node jak-highres-lod0-jg "lthumB" 42) +(def-joint-node jak-highres-lod0-jg "lindA" 43) +(def-joint-node jak-highres-lod0-jg "lindB" 44) +(def-joint-node jak-highres-lod0-jg "lmidA" 45) +(def-joint-node jak-highres-lod0-jg "lmidB" 46) +(def-joint-node jak-highres-lod0-jg "lringA" 47) +(def-joint-node jak-highres-lod0-jg "lringB" 48) +(def-joint-node jak-highres-lod0-jg "lpinkA" 49) +(def-joint-node jak-highres-lod0-jg "lpinkB" 50) +(def-joint-node jak-highres-lod0-jg "rthumA" 51) +(def-joint-node jak-highres-lod0-jg "rthumB" 52) +(def-joint-node jak-highres-lod0-jg "rindA" 53) +(def-joint-node jak-highres-lod0-jg "rindB" 54) +(def-joint-node jak-highres-lod0-jg "rmidA" 55) +(def-joint-node jak-highres-lod0-jg "rmidB" 56) +(def-joint-node jak-highres-lod0-jg "rringA" 57) +(def-joint-node jak-highres-lod0-jg "rringB" 58) +(def-joint-node jak-highres-lod0-jg "rpinkA" 59) + +(def-joint-node tomb-boss-explode-lod0-jg "bq" 73) +(def-joint-node tomb-boss-explode-lod0-jg "bp" 72) +(def-joint-node tomb-boss-explode-lod0-jg "bo" 71) +(def-joint-node tomb-boss-explode-lod0-jg "bn" 70) +(def-joint-node tomb-boss-explode-lod0-jg "bm" 69) +(def-joint-node tomb-boss-explode-lod0-jg "bl" 68) +(def-joint-node tomb-boss-explode-lod0-jg "bk" 67) +(def-joint-node tomb-boss-explode-lod0-jg "bj" 66) +(def-joint-node tomb-boss-explode-lod0-jg "bi" 65) +(def-joint-node tomb-boss-explode-lod0-jg "bh" 64) +(def-joint-node tomb-boss-explode-lod0-jg "bg" 63) +(def-joint-node tomb-boss-explode-lod0-jg "bf" 62) +(def-joint-node tomb-boss-explode-lod0-jg "be" 61) +(def-joint-node tomb-boss-explode-lod0-jg "bd" 60) +(def-joint-node tomb-boss-explode-lod0-jg "z" 29) +(def-joint-node tomb-boss-explode-lod0-jg "y" 28) +(def-joint-node tomb-boss-explode-lod0-jg "x" 27) +(def-joint-node tomb-boss-explode-lod0-jg "w" 26) +(def-joint-node tomb-boss-explode-lod0-jg "v" 25) +(def-joint-node tomb-boss-explode-lod0-jg "u" 24) +(def-joint-node tomb-boss-explode-lod0-jg "t" 23) +(def-joint-node tomb-boss-explode-lod0-jg "s" 22) +(def-joint-node tomb-boss-explode-lod0-jg "r" 21) +(def-joint-node tomb-boss-explode-lod0-jg "q" 20) +(def-joint-node tomb-boss-explode-lod0-jg "p" 19) +(def-joint-node tomb-boss-explode-lod0-jg "o" 18) +(def-joint-node tomb-boss-explode-lod0-jg "n" 17) +(def-joint-node tomb-boss-explode-lod0-jg "m" 16) +(def-joint-node tomb-boss-explode-lod0-jg "l" 15) +(def-joint-node tomb-boss-explode-lod0-jg "k" 14) +(def-joint-node tomb-boss-explode-lod0-jg "align" 1) +(def-joint-node tomb-boss-explode-lod0-jg "prejoint" 2) +(def-joint-node tomb-boss-explode-lod0-jg "explode" 3) +(def-joint-node tomb-boss-explode-lod0-jg "main" 4) +(def-joint-node tomb-boss-explode-lod0-jg "b" 5) +(def-joint-node tomb-boss-explode-lod0-jg "c" 6) +(def-joint-node tomb-boss-explode-lod0-jg "d" 7) +(def-joint-node tomb-boss-explode-lod0-jg "e" 8) +(def-joint-node tomb-boss-explode-lod0-jg "f" 9) +(def-joint-node tomb-boss-explode-lod0-jg "g" 10) +(def-joint-node tomb-boss-explode-lod0-jg "h" 11) +(def-joint-node tomb-boss-explode-lod0-jg "i" 12) +(def-joint-node tomb-boss-explode-lod0-jg "j" 13) +(def-joint-node tomb-boss-explode-lod0-jg "zz" 30) +(def-joint-node tomb-boss-explode-lod0-jg "aa" 31) +(def-joint-node tomb-boss-explode-lod0-jg "ab" 32) +(def-joint-node tomb-boss-explode-lod0-jg "ac" 33) +(def-joint-node tomb-boss-explode-lod0-jg "ad" 34) +(def-joint-node tomb-boss-explode-lod0-jg "ae" 35) +(def-joint-node tomb-boss-explode-lod0-jg "af" 36) +(def-joint-node tomb-boss-explode-lod0-jg "ag" 37) +(def-joint-node tomb-boss-explode-lod0-jg "ah" 38) +(def-joint-node tomb-boss-explode-lod0-jg "ai" 39) +(def-joint-node tomb-boss-explode-lod0-jg "aj" 40) +(def-joint-node tomb-boss-explode-lod0-jg "ak" 41) +(def-joint-node tomb-boss-explode-lod0-jg "al" 42) +(def-joint-node tomb-boss-explode-lod0-jg "am" 43) +(def-joint-node tomb-boss-explode-lod0-jg "an" 44) +(def-joint-node tomb-boss-explode-lod0-jg "ao" 45) +(def-joint-node tomb-boss-explode-lod0-jg "ap" 46) +(def-joint-node tomb-boss-explode-lod0-jg "aq" 47) +(def-joint-node tomb-boss-explode-lod0-jg "ar" 48) +(def-joint-node tomb-boss-explode-lod0-jg "as" 49) +(def-joint-node tomb-boss-explode-lod0-jg "at" 50) +(def-joint-node tomb-boss-explode-lod0-jg "au" 51) +(def-joint-node tomb-boss-explode-lod0-jg "av" 52) +(def-joint-node tomb-boss-explode-lod0-jg "aw" 53) +(def-joint-node tomb-boss-explode-lod0-jg "ax" 54) +(def-joint-node tomb-boss-explode-lod0-jg "ay" 55) +(def-joint-node tomb-boss-explode-lod0-jg "az" 56) +(def-joint-node tomb-boss-explode-lod0-jg "ba" 57) +(def-joint-node tomb-boss-explode-lod0-jg "bb" 58) +(def-joint-node tomb-boss-explode-lod0-jg "bc" 59) + +(def-joint-node hide-door-a-lod0-jg "main" 3) +(def-joint-node hide-door-a-lod0-jg "prejoint" 2) +(def-joint-node hide-door-a-lod0-jg "align" 1) + +(def-joint-node water-anim-tomb-main-hall-lod0-jg "boneless" 3) +(def-joint-node water-anim-tomb-main-hall-lod0-jg "prejoint" 2) +(def-joint-node water-anim-tomb-main-hall-lod0-jg "align" 1) + +(def-joint-node tomb-boss-catwalk-a-lod0-jg "at" 50) +(def-joint-node tomb-boss-catwalk-a-lod0-jg "as" 49) +(def-joint-node tomb-boss-catwalk-a-lod0-jg "ar" 48) +(def-joint-node tomb-boss-catwalk-a-lod0-jg "aq" 47) +(def-joint-node tomb-boss-catwalk-a-lod0-jg "ap" 46) +(def-joint-node tomb-boss-catwalk-a-lod0-jg "ao" 45) +(def-joint-node tomb-boss-catwalk-a-lod0-jg "an" 44) +(def-joint-node tomb-boss-catwalk-a-lod0-jg "am" 43) +(def-joint-node tomb-boss-catwalk-a-lod0-jg "al" 42) +(def-joint-node tomb-boss-catwalk-a-lod0-jg "ak" 41) +(def-joint-node tomb-boss-catwalk-a-lod0-jg "aj" 40) +(def-joint-node tomb-boss-catwalk-a-lod0-jg "ai" 39) +(def-joint-node tomb-boss-catwalk-a-lod0-jg "ah" 38) +(def-joint-node tomb-boss-catwalk-a-lod0-jg "ag" 37) +(def-joint-node tomb-boss-catwalk-a-lod0-jg "af" 36) +(def-joint-node tomb-boss-catwalk-a-lod0-jg "ae" 35) +(def-joint-node tomb-boss-catwalk-a-lod0-jg "ad" 34) +(def-joint-node tomb-boss-catwalk-a-lod0-jg "ac" 33) +(def-joint-node tomb-boss-catwalk-a-lod0-jg "ab" 32) +(def-joint-node tomb-boss-catwalk-a-lod0-jg "aa" 31) +(def-joint-node tomb-boss-catwalk-a-lod0-jg "main" 30) +(def-joint-node tomb-boss-catwalk-a-lod0-jg "j" 13) +(def-joint-node tomb-boss-catwalk-a-lod0-jg "i" 12) +(def-joint-node tomb-boss-catwalk-a-lod0-jg "h" 11) +(def-joint-node tomb-boss-catwalk-a-lod0-jg "g" 10) +(def-joint-node tomb-boss-catwalk-a-lod0-jg "f" 9) +(def-joint-node tomb-boss-catwalk-a-lod0-jg "e" 8) +(def-joint-node tomb-boss-catwalk-a-lod0-jg "d" 7) +(def-joint-node tomb-boss-catwalk-a-lod0-jg "c" 6) +(def-joint-node tomb-boss-catwalk-a-lod0-jg "b" 5) +(def-joint-node tomb-boss-catwalk-a-lod0-jg "a" 4) +(def-joint-node tomb-boss-catwalk-a-lod0-jg "explode" 3) +(def-joint-node tomb-boss-catwalk-a-lod0-jg "prejoint" 2) +(def-joint-node tomb-boss-catwalk-a-lod0-jg "align" 1) +(def-joint-node tomb-boss-catwalk-a-lod0-jg "k" 14) +(def-joint-node tomb-boss-catwalk-a-lod0-jg "l" 15) +(def-joint-node tomb-boss-catwalk-a-lod0-jg "m" 16) +(def-joint-node tomb-boss-catwalk-a-lod0-jg "n" 17) +(def-joint-node tomb-boss-catwalk-a-lod0-jg "o" 18) +(def-joint-node tomb-boss-catwalk-a-lod0-jg "p" 19) +(def-joint-node tomb-boss-catwalk-a-lod0-jg "q" 20) +(def-joint-node tomb-boss-catwalk-a-lod0-jg "r" 21) +(def-joint-node tomb-boss-catwalk-a-lod0-jg "s" 22) +(def-joint-node tomb-boss-catwalk-a-lod0-jg "t" 23) +(def-joint-node tomb-boss-catwalk-a-lod0-jg "u" 24) +(def-joint-node tomb-boss-catwalk-a-lod0-jg "v" 25) +(def-joint-node tomb-boss-catwalk-a-lod0-jg "w" 26) +(def-joint-node tomb-boss-catwalk-a-lod0-jg "x" 27) +(def-joint-node tomb-boss-catwalk-a-lod0-jg "y" 28) +(def-joint-node tomb-boss-catwalk-a-lod0-jg "z" 29) + +(def-joint-node under-shoot-block-lod0-jg "main" 3) +(def-joint-node under-shoot-block-lod0-jg "prejoint" 2) +(def-joint-node under-shoot-block-lod0-jg "align" 1) + +(def-joint-node pitspikes-lod0-jg "rotatnode" 4) +(def-joint-node pitspikes-lod0-jg "main" 3) +(def-joint-node pitspikes-lod0-jg "prejoint" 2) +(def-joint-node pitspikes-lod0-jg "align" 1) + +(def-joint-node tomb-boulder-lod0-jg "boulderrot" 4) +(def-joint-node tomb-boulder-lod0-jg "main" 3) +(def-joint-node tomb-boulder-lod0-jg "prejoint" 2) +(def-joint-node tomb-boulder-lod0-jg "align" 1) + +(def-joint-node sew-mar-statue-explode-a-lod0-jg "am" 43) +(def-joint-node sew-mar-statue-explode-a-lod0-jg "al" 42) +(def-joint-node sew-mar-statue-explode-a-lod0-jg "ak" 41) +(def-joint-node sew-mar-statue-explode-a-lod0-jg "aj" 40) +(def-joint-node sew-mar-statue-explode-a-lod0-jg "ai" 39) +(def-joint-node sew-mar-statue-explode-a-lod0-jg "ah" 38) +(def-joint-node sew-mar-statue-explode-a-lod0-jg "ag" 37) +(def-joint-node sew-mar-statue-explode-a-lod0-jg "af" 36) +(def-joint-node sew-mar-statue-explode-a-lod0-jg "ae" 35) +(def-joint-node sew-mar-statue-explode-a-lod0-jg "ad" 34) +(def-joint-node sew-mar-statue-explode-a-lod0-jg "ac" 33) +(def-joint-node sew-mar-statue-explode-a-lod0-jg "ab" 32) +(def-joint-node sew-mar-statue-explode-a-lod0-jg "aa" 31) +(def-joint-node sew-mar-statue-explode-a-lod0-jg "zz" 30) +(def-joint-node sew-mar-statue-explode-a-lod0-jg "j" 13) +(def-joint-node sew-mar-statue-explode-a-lod0-jg "i" 12) +(def-joint-node sew-mar-statue-explode-a-lod0-jg "h" 11) +(def-joint-node sew-mar-statue-explode-a-lod0-jg "g" 10) +(def-joint-node sew-mar-statue-explode-a-lod0-jg "f" 9) +(def-joint-node sew-mar-statue-explode-a-lod0-jg "e" 8) +(def-joint-node sew-mar-statue-explode-a-lod0-jg "d" 7) +(def-joint-node sew-mar-statue-explode-a-lod0-jg "c" 6) +(def-joint-node sew-mar-statue-explode-a-lod0-jg "b" 5) +(def-joint-node sew-mar-statue-explode-a-lod0-jg "a" 4) +(def-joint-node sew-mar-statue-explode-a-lod0-jg "main" 3) +(def-joint-node sew-mar-statue-explode-a-lod0-jg "prejoint" 2) +(def-joint-node sew-mar-statue-explode-a-lod0-jg "align" 1) +(def-joint-node sew-mar-statue-explode-a-lod0-jg "k" 14) +(def-joint-node sew-mar-statue-explode-a-lod0-jg "l" 15) +(def-joint-node sew-mar-statue-explode-a-lod0-jg "m" 16) +(def-joint-node sew-mar-statue-explode-a-lod0-jg "n" 17) +(def-joint-node sew-mar-statue-explode-a-lod0-jg "o" 18) +(def-joint-node sew-mar-statue-explode-a-lod0-jg "p" 19) +(def-joint-node sew-mar-statue-explode-a-lod0-jg "q" 20) +(def-joint-node sew-mar-statue-explode-a-lod0-jg "r" 21) +(def-joint-node sew-mar-statue-explode-a-lod0-jg "s" 22) +(def-joint-node sew-mar-statue-explode-a-lod0-jg "t" 23) +(def-joint-node sew-mar-statue-explode-a-lod0-jg "u" 24) +(def-joint-node sew-mar-statue-explode-a-lod0-jg "v" 25) +(def-joint-node sew-mar-statue-explode-a-lod0-jg "w" 26) +(def-joint-node sew-mar-statue-explode-a-lod0-jg "x" 27) +(def-joint-node sew-mar-statue-explode-a-lod0-jg "y" 28) +(def-joint-node sew-mar-statue-explode-a-lod0-jg "z" 29) + +(def-joint-node rift-ring-lod0-jg "precurcrap_i" 23) +(def-joint-node rift-ring-lod0-jg "precurcrap_h" 22) +(def-joint-node rift-ring-lod0-jg "precurcrap_g" 21) +(def-joint-node rift-ring-lod0-jg "precurcrap_f" 20) +(def-joint-node rift-ring-lod0-jg "precurcrap_e" 19) +(def-joint-node rift-ring-lod0-jg "precurcrap_d" 18) +(def-joint-node rift-ring-lod0-jg "precurcrap_c" 17) +(def-joint-node rift-ring-lod0-jg "precurcrap_b" 16) +(def-joint-node rift-ring-lod0-jg "precurcrap_a" 15) +(def-joint-node rift-ring-lod0-jg "inner_ring_c" 14) +(def-joint-node rift-ring-lod0-jg "align" 1) +(def-joint-node rift-ring-lod0-jg "prejoint" 2) +(def-joint-node rift-ring-lod0-jg "bearing_a" 3) +(def-joint-node rift-ring-lod0-jg "bearing_b" 4) +(def-joint-node rift-ring-lod0-jg "bearing_c" 5) +(def-joint-node rift-ring-lod0-jg "outer_ring" 6) +(def-joint-node rift-ring-lod0-jg "gate" 7) +(def-joint-node rift-ring-lod0-jg "zaptarget" 8) +(def-joint-node rift-ring-lod0-jg "prong_a" 9) +(def-joint-node rift-ring-lod0-jg "prong_b" 10) +(def-joint-node rift-ring-lod0-jg "prong_c" 11) +(def-joint-node rift-ring-lod0-jg "inner_ring_a" 12) +(def-joint-node rift-ring-lod0-jg "inner_ring_b" 13) + +(def-joint-node drill-elevator-base-lod0-jg "base_well" 15) +(def-joint-node drill-elevator-base-lod0-jg "part11" 14) +(def-joint-node drill-elevator-base-lod0-jg "align" 1) +(def-joint-node drill-elevator-base-lod0-jg "prejoint" 2) +(def-joint-node drill-elevator-base-lod0-jg "main" 3) +(def-joint-node drill-elevator-base-lod0-jg "part1" 4) +(def-joint-node drill-elevator-base-lod0-jg "part2" 5) +(def-joint-node drill-elevator-base-lod0-jg "part3" 6) +(def-joint-node drill-elevator-base-lod0-jg "part4" 7) +(def-joint-node drill-elevator-base-lod0-jg "part5" 8) +(def-joint-node drill-elevator-base-lod0-jg "part6" 9) +(def-joint-node drill-elevator-base-lod0-jg "part7" 10) +(def-joint-node drill-elevator-base-lod0-jg "part8" 11) +(def-joint-node drill-elevator-base-lod0-jg "part9" 12) +(def-joint-node drill-elevator-base-lod0-jg "part10" 13) + +(def-joint-node errol-highres-lod0-jg "Rarmplate" 62) +(def-joint-node errol-highres-lod0-jg "Larmplate" 61) +(def-joint-node errol-highres-lod0-jg "RringC" 60) +(def-joint-node errol-highres-lod0-jg "RpinkyC" 29) +(def-joint-node errol-highres-lod0-jg "RpinkyB" 28) +(def-joint-node errol-highres-lod0-jg "RpinkyA" 27) +(def-joint-node errol-highres-lod0-jg "RindexC" 26) +(def-joint-node errol-highres-lod0-jg "RindexB" 25) +(def-joint-node errol-highres-lod0-jg "RindexA" 24) +(def-joint-node errol-highres-lod0-jg "Rhand" 23) +(def-joint-node errol-highres-lod0-jg "Relbow" 22) +(def-joint-node errol-highres-lod0-jg "Rshoulder" 21) +(def-joint-node errol-highres-lod0-jg "LpinkyC" 20) +(def-joint-node errol-highres-lod0-jg "LpinkyB" 19) +(def-joint-node errol-highres-lod0-jg "LpinkyA" 18) +(def-joint-node errol-highres-lod0-jg "LindexC" 17) +(def-joint-node errol-highres-lod0-jg "LindexB" 16) +(def-joint-node errol-highres-lod0-jg "LindexA" 15) +(def-joint-node errol-highres-lod0-jg "Lhand" 14) +(def-joint-node errol-highres-lod0-jg "align" 1) +(def-joint-node errol-highres-lod0-jg "prejoint" 2) +(def-joint-node errol-highres-lod0-jg "main" 3) +(def-joint-node errol-highres-lod0-jg "chest" 4) +(def-joint-node errol-highres-lod0-jg "neck" 5) +(def-joint-node errol-highres-lod0-jg "head" 6) +(def-joint-node errol-highres-lod0-jg "HairBase" 7) +(def-joint-node errol-highres-lod0-jg "Leara" 8) +(def-joint-node errol-highres-lod0-jg "Learb" 9) +(def-joint-node errol-highres-lod0-jg "Reara" 10) +(def-joint-node errol-highres-lod0-jg "Rearb" 11) +(def-joint-node errol-highres-lod0-jg "Lshoulder" 12) +(def-joint-node errol-highres-lod0-jg "Lelbow" 13) +(def-joint-node errol-highres-lod0-jg "Lshoulderplate" 30) +(def-joint-node errol-highres-lod0-jg "Rshoulderplate" 31) +(def-joint-node errol-highres-lod0-jg "hips" 32) +(def-joint-node errol-highres-lod0-jg "Lthigh" 33) +(def-joint-node errol-highres-lod0-jg "Lknee" 34) +(def-joint-node errol-highres-lod0-jg "Lankle" 35) +(def-joint-node errol-highres-lod0-jg "Lball" 36) +(def-joint-node errol-highres-lod0-jg "gun" 37) +(def-joint-node errol-highres-lod0-jg "Rthigh" 38) +(def-joint-node errol-highres-lod0-jg "Rknee" 39) +(def-joint-node errol-highres-lod0-jg "Rankle" 40) +(def-joint-node errol-highres-lod0-jg "Rball" 41) +(def-joint-node errol-highres-lod0-jg "mask" 42) +(def-joint-node errol-highres-lod0-jg "LthumbA" 43) +(def-joint-node errol-highres-lod0-jg "LthumbB" 44) +(def-joint-node errol-highres-lod0-jg "LthumbC" 45) +(def-joint-node errol-highres-lod0-jg "LmiddleA" 46) +(def-joint-node errol-highres-lod0-jg "LmiddleB" 47) +(def-joint-node errol-highres-lod0-jg "LmiddleC" 48) +(def-joint-node errol-highres-lod0-jg "LringA" 49) +(def-joint-node errol-highres-lod0-jg "LringB" 50) +(def-joint-node errol-highres-lod0-jg "LringC" 51) +(def-joint-node errol-highres-lod0-jg "RthumbA" 52) +(def-joint-node errol-highres-lod0-jg "RthumbB" 53) +(def-joint-node errol-highres-lod0-jg "RthumbC" 54) +(def-joint-node errol-highres-lod0-jg "RmiddleA" 55) +(def-joint-node errol-highres-lod0-jg "RmiddleB" 56) +(def-joint-node errol-highres-lod0-jg "RmiddleC" 57) +(def-joint-node errol-highres-lod0-jg "RringA" 58) +(def-joint-node errol-highres-lod0-jg "RringB" 59) + +(def-joint-node metalkor-explode-lod0-jg "goo1" 71) +(def-joint-node metalkor-explode-lod0-jg "goo" 70) +(def-joint-node metalkor-explode-lod0-jg "Rtbspin" 69) +(def-joint-node metalkor-explode-lod0-jg "Rshotbase" 68) +(def-joint-node metalkor-explode-lod0-jg "Ltbspin" 67) +(def-joint-node metalkor-explode-lod0-jg "Lshotbase" 66) +(def-joint-node metalkor-explode-lod0-jg "Lbbspin" 65) +(def-joint-node metalkor-explode-lod0-jg "Lbbshotbase" 64) +(def-joint-node metalkor-explode-lod0-jg "Rbbspin" 63) +(def-joint-node metalkor-explode-lod0-jg "Rbbshotbase" 62) +(def-joint-node metalkor-explode-lod0-jg "upper" 61) +(def-joint-node metalkor-explode-lod0-jg "goo4" 60) +(def-joint-node metalkor-explode-lod0-jg "LpinchB" 29) +(def-joint-node metalkor-explode-lod0-jg "goo12" 28) +(def-joint-node metalkor-explode-lod0-jg "Relbow" 27) +(def-joint-node metalkor-explode-lod0-jg "Lelbow" 26) +(def-joint-node metalkor-explode-lod0-jg "backB" 25) +(def-joint-node metalkor-explode-lod0-jg "goo6" 24) +(def-joint-node metalkor-explode-lod0-jg "Rnad" 23) +(def-joint-node metalkor-explode-lod0-jg "goo5" 22) +(def-joint-node metalkor-explode-lod0-jg "Lnad" 21) +(def-joint-node metalkor-explode-lod0-jg "goo2" 20) +(def-joint-node metalkor-explode-lod0-jg "LffeelerB" 19) +(def-joint-node metalkor-explode-lod0-jg "LffeelerA" 18) +(def-joint-node metalkor-explode-lod0-jg "LffeelerD" 17) +(def-joint-node metalkor-explode-lod0-jg "LffeelerC" 16) +(def-joint-node metalkor-explode-lod0-jg "LffeelerF" 15) +(def-joint-node metalkor-explode-lod0-jg "LffeelerE" 14) +(def-joint-node metalkor-explode-lod0-jg "align" 1) +(def-joint-node metalkor-explode-lod0-jg "prejoint" 2) +(def-joint-node metalkor-explode-lod0-jg "head" 3) +(def-joint-node metalkor-explode-lod0-jg "RffeelerG" 4) +(def-joint-node metalkor-explode-lod0-jg "RffeelerH" 5) +(def-joint-node metalkor-explode-lod0-jg "RffeelerE" 6) +(def-joint-node metalkor-explode-lod0-jg "RffeelerF" 7) +(def-joint-node metalkor-explode-lod0-jg "RffeelerC" 8) +(def-joint-node metalkor-explode-lod0-jg "RffeelerD" 9) +(def-joint-node metalkor-explode-lod0-jg "RffeelerA" 10) +(def-joint-node metalkor-explode-lod0-jg "RffeelerB" 11) +(def-joint-node metalkor-explode-lod0-jg "LffeelerG" 12) +(def-joint-node metalkor-explode-lod0-jg "LffeelerH" 13) +(def-joint-node metalkor-explode-lod0-jg "RpinchB" 30) +(def-joint-node metalkor-explode-lod0-jg "LmidB" 31) +(def-joint-node metalkor-explode-lod0-jg "LfrontB" 32) +(def-joint-node metalkor-explode-lod0-jg "LbackB" 33) +(def-joint-node metalkor-explode-lod0-jg "RbackB" 34) +(def-joint-node metalkor-explode-lod0-jg "RmidB" 35) +(def-joint-node metalkor-explode-lod0-jg "RfrontB" 36) +(def-joint-node metalkor-explode-lod0-jg "LmidC" 37) +(def-joint-node metalkor-explode-lod0-jg "LfrontC" 38) +(def-joint-node metalkor-explode-lod0-jg "LbackC" 39) +(def-joint-node metalkor-explode-lod0-jg "RbackC" 40) +(def-joint-node metalkor-explode-lod0-jg "RmidC" 41) +(def-joint-node metalkor-explode-lod0-jg "RfrontC" 42) +(def-joint-node metalkor-explode-lod0-jg "lbackwingC" 43) +(def-joint-node metalkor-explode-lod0-jg "goo15" 44) +(def-joint-node metalkor-explode-lod0-jg "lfrwingC" 45) +(def-joint-node metalkor-explode-lod0-jg "goo13" 46) +(def-joint-node metalkor-explode-lod0-jg "rfrwingC" 47) +(def-joint-node metalkor-explode-lod0-jg "goo14" 48) +(def-joint-node metalkor-explode-lod0-jg "rbackwingC" 49) +(def-joint-node metalkor-explode-lod0-jg "goo16" 50) +(def-joint-node metalkor-explode-lod0-jg "scale" 51) +(def-joint-node metalkor-explode-lod0-jg "tailB" 52) +(def-joint-node metalkor-explode-lod0-jg "goo8" 53) +(def-joint-node metalkor-explode-lod0-jg "goo7" 54) +(def-joint-node metalkor-explode-lod0-jg "tailD" 55) +(def-joint-node metalkor-explode-lod0-jg "goo10" 56) +(def-joint-node metalkor-explode-lod0-jg "goo9" 57) +(def-joint-node metalkor-explode-lod0-jg "main" 58) +(def-joint-node metalkor-explode-lod0-jg "goo3" 59) + +(def-joint-node kiosk-fish-sign-lod0-jg "main" 3) +(def-joint-node kiosk-fish-sign-lod0-jg "prejoint" 2) +(def-joint-node kiosk-fish-sign-lod0-jg "align" 1) + +(def-joint-node kid-highres-lod0-jg "medallion" 64) +(def-joint-node kid-highres-lod0-jg "Pimpcharmb" 63) +(def-joint-node kid-highres-lod0-jg "Pimpcharma" 62) +(def-joint-node kid-highres-lod0-jg "RpinkyC" 61) +(def-joint-node kid-highres-lod0-jg "RpinkyB" 60) +(def-joint-node kid-highres-lod0-jg "Rhatstrapb" 29) +(def-joint-node kid-highres-lod0-jg "Rhatstrapa" 28) +(def-joint-node kid-highres-lod0-jg "Lhatstrapb" 27) +(def-joint-node kid-highres-lod0-jg "Lhatstrapa" 26) +(def-joint-node kid-highres-lod0-jg "Rearb" 25) +(def-joint-node kid-highres-lod0-jg "Reara" 24) +(def-joint-node kid-highres-lod0-jg "Learb" 23) +(def-joint-node kid-highres-lod0-jg "Leara" 22) +(def-joint-node kid-highres-lod0-jg "Rball" 21) +(def-joint-node kid-highres-lod0-jg "Rankle" 20) +(def-joint-node kid-highres-lod0-jg "Rknee" 19) +(def-joint-node kid-highres-lod0-jg "Rthigh" 18) +(def-joint-node kid-highres-lod0-jg "Lball" 17) +(def-joint-node kid-highres-lod0-jg "Lankle" 16) +(def-joint-node kid-highres-lod0-jg "Lknee" 15) +(def-joint-node kid-highres-lod0-jg "Lthigh" 14) +(def-joint-node kid-highres-lod0-jg "align" 1) +(def-joint-node kid-highres-lod0-jg "prejoint" 2) +(def-joint-node kid-highres-lod0-jg "main" 3) +(def-joint-node kid-highres-lod0-jg "chest" 4) +(def-joint-node kid-highres-lod0-jg "neck" 5) +(def-joint-node kid-highres-lod0-jg "head" 6) +(def-joint-node kid-highres-lod0-jg "Lshoulder" 7) +(def-joint-node kid-highres-lod0-jg "Lelbow" 8) +(def-joint-node kid-highres-lod0-jg "Lhand" 9) +(def-joint-node kid-highres-lod0-jg "Rshoulder" 10) +(def-joint-node kid-highres-lod0-jg "Relbow" 11) +(def-joint-node kid-highres-lod0-jg "Rhand" 12) +(def-joint-node kid-highres-lod0-jg "hips" 13) +(def-joint-node kid-highres-lod0-jg "Hairmida" 30) +(def-joint-node kid-highres-lod0-jg "Hairmidb" 31) +(def-joint-node kid-highres-lod0-jg "LthumbA" 32) +(def-joint-node kid-highres-lod0-jg "LthumbB" 33) +(def-joint-node kid-highres-lod0-jg "LthumbC" 34) +(def-joint-node kid-highres-lod0-jg "LindexA" 35) +(def-joint-node kid-highres-lod0-jg "LindexB" 36) +(def-joint-node kid-highres-lod0-jg "LindexC" 37) +(def-joint-node kid-highres-lod0-jg "LmiddleA" 38) +(def-joint-node kid-highres-lod0-jg "LmiddleB" 39) +(def-joint-node kid-highres-lod0-jg "LmiddleC" 40) +(def-joint-node kid-highres-lod0-jg "LringA" 41) +(def-joint-node kid-highres-lod0-jg "LringB" 42) +(def-joint-node kid-highres-lod0-jg "LringC" 43) +(def-joint-node kid-highres-lod0-jg "LpinkyA" 44) +(def-joint-node kid-highres-lod0-jg "LpinkyB" 45) +(def-joint-node kid-highres-lod0-jg "LpinkyC" 46) +(def-joint-node kid-highres-lod0-jg "RthumbA" 47) +(def-joint-node kid-highres-lod0-jg "RthumbB" 48) +(def-joint-node kid-highres-lod0-jg "RthumbC" 49) +(def-joint-node kid-highres-lod0-jg "RindexA" 50) +(def-joint-node kid-highres-lod0-jg "RindexB" 51) +(def-joint-node kid-highres-lod0-jg "RindexC" 52) +(def-joint-node kid-highres-lod0-jg "RmiddleA" 53) +(def-joint-node kid-highres-lod0-jg "RmiddleB" 54) +(def-joint-node kid-highres-lod0-jg "RmiddleC" 55) +(def-joint-node kid-highres-lod0-jg "RringA" 56) +(def-joint-node kid-highres-lod0-jg "RringB" 57) +(def-joint-node kid-highres-lod0-jg "RringC" 58) +(def-joint-node kid-highres-lod0-jg "RpinkyA" 59) + +(def-joint-node nest-break-precipice-lod0-jg "bo" 70) +(def-joint-node nest-break-precipice-lod0-jg "bn" 69) +(def-joint-node nest-break-precipice-lod0-jg "bm" 68) +(def-joint-node nest-break-precipice-lod0-jg "bl" 67) +(def-joint-node nest-break-precipice-lod0-jg "bk" 66) +(def-joint-node nest-break-precipice-lod0-jg "bj" 65) +(def-joint-node nest-break-precipice-lod0-jg "bi" 64) +(def-joint-node nest-break-precipice-lod0-jg "bh" 63) +(def-joint-node nest-break-precipice-lod0-jg "bg" 62) +(def-joint-node nest-break-precipice-lod0-jg "bf" 61) +(def-joint-node nest-break-precipice-lod0-jg "be" 60) +(def-joint-node nest-break-precipice-lod0-jg "zz" 29) +(def-joint-node nest-break-precipice-lod0-jg "z" 28) +(def-joint-node nest-break-precipice-lod0-jg "y" 27) +(def-joint-node nest-break-precipice-lod0-jg "x" 26) +(def-joint-node nest-break-precipice-lod0-jg "w" 25) +(def-joint-node nest-break-precipice-lod0-jg "v" 24) +(def-joint-node nest-break-precipice-lod0-jg "u" 23) +(def-joint-node nest-break-precipice-lod0-jg "t" 22) +(def-joint-node nest-break-precipice-lod0-jg "s" 21) +(def-joint-node nest-break-precipice-lod0-jg "r" 20) +(def-joint-node nest-break-precipice-lod0-jg "q" 19) +(def-joint-node nest-break-precipice-lod0-jg "p" 18) +(def-joint-node nest-break-precipice-lod0-jg "o" 17) +(def-joint-node nest-break-precipice-lod0-jg "n" 16) +(def-joint-node nest-break-precipice-lod0-jg "m" 15) +(def-joint-node nest-break-precipice-lod0-jg "l" 14) +(def-joint-node nest-break-precipice-lod0-jg "align" 1) +(def-joint-node nest-break-precipice-lod0-jg "prejoint" 2) +(def-joint-node nest-break-precipice-lod0-jg "main" 3) +(def-joint-node nest-break-precipice-lod0-jg "b" 4) +(def-joint-node nest-break-precipice-lod0-jg "c" 5) +(def-joint-node nest-break-precipice-lod0-jg "d" 6) +(def-joint-node nest-break-precipice-lod0-jg "e" 7) +(def-joint-node nest-break-precipice-lod0-jg "f" 8) +(def-joint-node nest-break-precipice-lod0-jg "g" 9) +(def-joint-node nest-break-precipice-lod0-jg "h" 10) +(def-joint-node nest-break-precipice-lod0-jg "i" 11) +(def-joint-node nest-break-precipice-lod0-jg "j" 12) +(def-joint-node nest-break-precipice-lod0-jg "k" 13) +(def-joint-node nest-break-precipice-lod0-jg "aa" 30) +(def-joint-node nest-break-precipice-lod0-jg "ab" 31) +(def-joint-node nest-break-precipice-lod0-jg "ac" 32) +(def-joint-node nest-break-precipice-lod0-jg "ad" 33) +(def-joint-node nest-break-precipice-lod0-jg "ae" 34) +(def-joint-node nest-break-precipice-lod0-jg "af" 35) +(def-joint-node nest-break-precipice-lod0-jg "ag" 36) +(def-joint-node nest-break-precipice-lod0-jg "ah" 37) +(def-joint-node nest-break-precipice-lod0-jg "ai" 38) +(def-joint-node nest-break-precipice-lod0-jg "aj" 39) +(def-joint-node nest-break-precipice-lod0-jg "ak" 40) +(def-joint-node nest-break-precipice-lod0-jg "al" 41) +(def-joint-node nest-break-precipice-lod0-jg "am" 42) +(def-joint-node nest-break-precipice-lod0-jg "an" 43) +(def-joint-node nest-break-precipice-lod0-jg "ao" 44) +(def-joint-node nest-break-precipice-lod0-jg "ap" 45) +(def-joint-node nest-break-precipice-lod0-jg "aq" 46) +(def-joint-node nest-break-precipice-lod0-jg "ar" 47) +(def-joint-node nest-break-precipice-lod0-jg "as" 48) +(def-joint-node nest-break-precipice-lod0-jg "at" 49) +(def-joint-node nest-break-precipice-lod0-jg "au" 50) +(def-joint-node nest-break-precipice-lod0-jg "av" 51) +(def-joint-node nest-break-precipice-lod0-jg "aw" 52) +(def-joint-node nest-break-precipice-lod0-jg "ax" 53) +(def-joint-node nest-break-precipice-lod0-jg "ay" 54) +(def-joint-node nest-break-precipice-lod0-jg "az" 55) +(def-joint-node nest-break-precipice-lod0-jg "ba" 56) +(def-joint-node nest-break-precipice-lod0-jg "bb" 57) +(def-joint-node nest-break-precipice-lod0-jg "bc" 58) +(def-joint-node nest-break-precipice-lod0-jg "bd" 59) + +(def-joint-node farm-small-cabbage-explode-lod0-jg "h" 10) +(def-joint-node farm-small-cabbage-explode-lod0-jg "g" 9) +(def-joint-node farm-small-cabbage-explode-lod0-jg "f" 8) +(def-joint-node farm-small-cabbage-explode-lod0-jg "e" 7) +(def-joint-node farm-small-cabbage-explode-lod0-jg "d" 6) +(def-joint-node farm-small-cabbage-explode-lod0-jg "c" 5) +(def-joint-node farm-small-cabbage-explode-lod0-jg "b" 4) +(def-joint-node farm-small-cabbage-explode-lod0-jg "a" 3) +(def-joint-node farm-small-cabbage-explode-lod0-jg "prejoint" 2) +(def-joint-node farm-small-cabbage-explode-lod0-jg "align" 1) + +(def-joint-node tomb-boss-explode-a-lod0-jg "ds" 56) +(def-joint-node tomb-boss-explode-a-lod0-jg "dr" 55) +(def-joint-node tomb-boss-explode-a-lod0-jg "dq" 54) +(def-joint-node tomb-boss-explode-a-lod0-jg "dp" 53) +(def-joint-node tomb-boss-explode-a-lod0-jg "do" 52) +(def-joint-node tomb-boss-explode-a-lod0-jg "dn" 51) +(def-joint-node tomb-boss-explode-a-lod0-jg "dm" 50) +(def-joint-node tomb-boss-explode-a-lod0-jg "dl" 49) +(def-joint-node tomb-boss-explode-a-lod0-jg "dk" 48) +(def-joint-node tomb-boss-explode-a-lod0-jg "dj" 47) +(def-joint-node tomb-boss-explode-a-lod0-jg "di" 46) +(def-joint-node tomb-boss-explode-a-lod0-jg "dh" 45) +(def-joint-node tomb-boss-explode-a-lod0-jg "dg" 44) +(def-joint-node tomb-boss-explode-a-lod0-jg "df" 43) +(def-joint-node tomb-boss-explode-a-lod0-jg "de" 42) +(def-joint-node tomb-boss-explode-a-lod0-jg "dd" 41) +(def-joint-node tomb-boss-explode-a-lod0-jg "dc" 40) +(def-joint-node tomb-boss-explode-a-lod0-jg "db" 39) +(def-joint-node tomb-boss-explode-a-lod0-jg "da" 38) +(def-joint-node tomb-boss-explode-a-lod0-jg "cz" 37) +(def-joint-node tomb-boss-explode-a-lod0-jg "cy" 36) +(def-joint-node tomb-boss-explode-a-lod0-jg "cx" 35) +(def-joint-node tomb-boss-explode-a-lod0-jg "cw" 34) +(def-joint-node tomb-boss-explode-a-lod0-jg "cv" 33) +(def-joint-node tomb-boss-explode-a-lod0-jg "cu" 32) +(def-joint-node tomb-boss-explode-a-lod0-jg "ct" 31) +(def-joint-node tomb-boss-explode-a-lod0-jg "cs" 30) +(def-joint-node tomb-boss-explode-a-lod0-jg "cb" 13) +(def-joint-node tomb-boss-explode-a-lod0-jg "ca" 12) +(def-joint-node tomb-boss-explode-a-lod0-jg "bz" 11) +(def-joint-node tomb-boss-explode-a-lod0-jg "by" 10) +(def-joint-node tomb-boss-explode-a-lod0-jg "bx" 9) +(def-joint-node tomb-boss-explode-a-lod0-jg "bw" 8) +(def-joint-node tomb-boss-explode-a-lod0-jg "bv" 7) +(def-joint-node tomb-boss-explode-a-lod0-jg "bu" 6) +(def-joint-node tomb-boss-explode-a-lod0-jg "bt" 5) +(def-joint-node tomb-boss-explode-a-lod0-jg "bs" 4) +(def-joint-node tomb-boss-explode-a-lod0-jg "main" 3) +(def-joint-node tomb-boss-explode-a-lod0-jg "prejoint" 2) +(def-joint-node tomb-boss-explode-a-lod0-jg "align" 1) +(def-joint-node tomb-boss-explode-a-lod0-jg "cc" 14) +(def-joint-node tomb-boss-explode-a-lod0-jg "cd" 15) +(def-joint-node tomb-boss-explode-a-lod0-jg "ce" 16) +(def-joint-node tomb-boss-explode-a-lod0-jg "cf" 17) +(def-joint-node tomb-boss-explode-a-lod0-jg "cg" 18) +(def-joint-node tomb-boss-explode-a-lod0-jg "ch" 19) +(def-joint-node tomb-boss-explode-a-lod0-jg "ci" 20) +(def-joint-node tomb-boss-explode-a-lod0-jg "cj" 21) +(def-joint-node tomb-boss-explode-a-lod0-jg "ck" 22) +(def-joint-node tomb-boss-explode-a-lod0-jg "cl" 23) +(def-joint-node tomb-boss-explode-a-lod0-jg "cm" 24) +(def-joint-node tomb-boss-explode-a-lod0-jg "cn" 25) +(def-joint-node tomb-boss-explode-a-lod0-jg "co" 26) +(def-joint-node tomb-boss-explode-a-lod0-jg "cp" 27) +(def-joint-node tomb-boss-explode-a-lod0-jg "cq" 28) +(def-joint-node tomb-boss-explode-a-lod0-jg "cr" 29) + +(def-joint-node collectables-gem-lod0-jg "main" 3) +(def-joint-node collectables-gem-lod0-jg "prejoint" 2) +(def-joint-node collectables-gem-lod0-jg "align" 1) + +(def-joint-node flitter-lod0-jg "jaw" 44) +(def-joint-node flitter-lod0-jg "Rtube" 43) +(def-joint-node flitter-lod0-jg "Ltube" 42) +(def-joint-node flitter-lod0-jg "backTubeBotB" 41) +(def-joint-node flitter-lod0-jg "BackTubeBotA" 40) +(def-joint-node flitter-lod0-jg "backTubeTopB" 39) +(def-joint-node flitter-lod0-jg "backTubeTopA" 38) +(def-joint-node flitter-lod0-jg "Rwing" 37) +(def-joint-node flitter-lod0-jg "Lwing" 36) +(def-joint-node flitter-lod0-jg "tailG" 35) +(def-joint-node flitter-lod0-jg "tailF" 34) +(def-joint-node flitter-lod0-jg "tailE" 33) +(def-joint-node flitter-lod0-jg "tailD" 32) +(def-joint-node flitter-lod0-jg "tailC" 31) +(def-joint-node flitter-lod0-jg "tailB" 30) +(def-joint-node flitter-lod0-jg "LoneLegA" 13) +(def-joint-node flitter-lod0-jg "LtwoSpike" 12) +(def-joint-node flitter-lod0-jg "LtwoLegB" 11) +(def-joint-node flitter-lod0-jg "LtwoLegA" 10) +(def-joint-node flitter-lod0-jg "LthreeSpike" 9) +(def-joint-node flitter-lod0-jg "LthreeLegB" 8) +(def-joint-node flitter-lod0-jg "LthreeLegA" 7) +(def-joint-node flitter-lod0-jg "LfourSpike" 6) +(def-joint-node flitter-lod0-jg "LfourLegB" 5) +(def-joint-node flitter-lod0-jg "LfourLegA" 4) +(def-joint-node flitter-lod0-jg "main" 3) +(def-joint-node flitter-lod0-jg "prejoint" 2) +(def-joint-node flitter-lod0-jg "align" 1) +(def-joint-node flitter-lod0-jg "LoneLegB" 14) +(def-joint-node flitter-lod0-jg "LoneSpike" 15) +(def-joint-node flitter-lod0-jg "RfourLegA" 16) +(def-joint-node flitter-lod0-jg "RfourLegB" 17) +(def-joint-node flitter-lod0-jg "RfourSpike" 18) +(def-joint-node flitter-lod0-jg "RthreeLegA" 19) +(def-joint-node flitter-lod0-jg "RthreeLegB" 20) +(def-joint-node flitter-lod0-jg "RthreeSpike" 21) +(def-joint-node flitter-lod0-jg "RtwoLegA" 22) +(def-joint-node flitter-lod0-jg "RtwoLegB" 23) +(def-joint-node flitter-lod0-jg "RtwoSpike" 24) +(def-joint-node flitter-lod0-jg "RoneLegA" 25) +(def-joint-node flitter-lod0-jg "RoneLegB" 26) +(def-joint-node flitter-lod0-jg "RoneSpike" 27) +(def-joint-node flitter-lod0-jg "head" 28) +(def-joint-node flitter-lod0-jg "tailA" 29) + +(def-joint-node keira-lod0-jg "rBotStrap2" 93) +(def-joint-node keira-lod0-jg "lBotStrap2" 92) +(def-joint-node keira-lod0-jg "rKneeFlap" 91) +(def-joint-node keira-lod0-jg "RfootFlaps" 90) +(def-joint-node keira-lod0-jg "RtoeStrap" 89) +(def-joint-node keira-lod0-jg "lKneeFlap" 88) +(def-joint-node keira-lod0-jg "LfootFlaps" 87) +(def-joint-node keira-lod0-jg "rBoob" 86) +(def-joint-node keira-lod0-jg "lBoob" 85) +(def-joint-node keira-lod0-jg "rTopStrap2" 84) +(def-joint-node keira-lod0-jg "rGlove" 83) +(def-joint-node keira-lod0-jg "RpinkyC" 82) +(def-joint-node keira-lod0-jg "RpinkyB" 81) +(def-joint-node keira-lod0-jg "RpinkyA" 80) +(def-joint-node keira-lod0-jg "RringC" 79) +(def-joint-node keira-lod0-jg "RringB" 78) +(def-joint-node keira-lod0-jg "RringA" 77) +(def-joint-node keira-lod0-jg "RmiddleC" 76) +(def-joint-node keira-lod0-jg "RindexC" 75) +(def-joint-node keira-lod0-jg "RindexB" 74) +(def-joint-node keira-lod0-jg "RindexA" 73) +(def-joint-node keira-lod0-jg "RthumbC" 72) +(def-joint-node keira-lod0-jg "lTopStrap2" 71) +(def-joint-node keira-lod0-jg "lGlove" 70) +(def-joint-node keira-lod0-jg "LpinkyC" 69) +(def-joint-node keira-lod0-jg "LpinkyB" 68) +(def-joint-node keira-lod0-jg "LpinkyA" 67) +(def-joint-node keira-lod0-jg "LringC" 66) +(def-joint-node keira-lod0-jg "LringB" 65) +(def-joint-node keira-lod0-jg "LringA" 64) +(def-joint-node keira-lod0-jg "LmiddleC" 63) +(def-joint-node keira-lod0-jg "LindexC" 62) +(def-joint-node keira-lod0-jg "LindexB" 61) +(def-joint-node keira-lod0-jg "LindexA" 60) +(def-joint-node keira-lod0-jg "torch" 29) +(def-joint-node keira-lod0-jg "Rball" 28) +(def-joint-node keira-lod0-jg "Rankle" 27) +(def-joint-node keira-lod0-jg "Rknee" 26) +(def-joint-node keira-lod0-jg "Rthigh" 25) +(def-joint-node keira-lod0-jg "LtoeStrap" 24) +(def-joint-node keira-lod0-jg "Lball" 23) +(def-joint-node keira-lod0-jg "Lankle" 22) +(def-joint-node keira-lod0-jg "Lknee" 21) +(def-joint-node keira-lod0-jg "Lthigh" 20) +(def-joint-node keira-lod0-jg "hips" 19) +(def-joint-node keira-lod0-jg "Rhand" 18) +(def-joint-node keira-lod0-jg "Relbow" 17) +(def-joint-node keira-lod0-jg "Rshoulder" 16) +(def-joint-node keira-lod0-jg "lTopStrap1" 15) +(def-joint-node keira-lod0-jg "Lhand" 14) +(def-joint-node keira-lod0-jg "align" 1) +(def-joint-node keira-lod0-jg "prejoint" 2) +(def-joint-node keira-lod0-jg "main" 3) +(def-joint-node keira-lod0-jg "chest" 4) +(def-joint-node keira-lod0-jg "neck" 5) +(def-joint-node keira-lod0-jg "head" 6) +(def-joint-node keira-lod0-jg "lEar1" 7) +(def-joint-node keira-lod0-jg "lEar2" 8) +(def-joint-node keira-lod0-jg "rEar1" 9) +(def-joint-node keira-lod0-jg "rEar2" 10) +(def-joint-node keira-lod0-jg "backHair1" 11) +(def-joint-node keira-lod0-jg "Lshoulder" 12) +(def-joint-node keira-lod0-jg "Lelbow" 13) +(def-joint-node keira-lod0-jg "torchTIP" 30) +(def-joint-node keira-lod0-jg "camera" 31) +(def-joint-node keira-lod0-jg "cameraB" 32) +(def-joint-node keira-lod0-jg "gogglesBase" 33) +(def-joint-node keira-lod0-jg "backHair2" 34) +(def-joint-node keira-lod0-jg "LthumbA" 35) +(def-joint-node keira-lod0-jg "LthumbB" 36) +(def-joint-node keira-lod0-jg "LmiddleA" 37) +(def-joint-node keira-lod0-jg "LmiddleB" 38) +(def-joint-node keira-lod0-jg "RthumbA" 39) +(def-joint-node keira-lod0-jg "RthumbB" 40) +(def-joint-node keira-lod0-jg "RmiddleA" 41) +(def-joint-node keira-lod0-jg "RmiddleB" 42) +(def-joint-node keira-lod0-jg "rTopStrap1" 43) +(def-joint-node keira-lod0-jg "gogglesMid" 44) +(def-joint-node keira-lod0-jg "gogglesRight" 45) +(def-joint-node keira-lod0-jg "gogglesLeft" 46) +(def-joint-node keira-lod0-jg "lBotStrap1" 47) +(def-joint-node keira-lod0-jg "rBotStrap1" 48) +(def-joint-node keira-lod0-jg "flipR1" 49) +(def-joint-node keira-lod0-jg "flipR2" 50) +(def-joint-node keira-lod0-jg "flipR3" 51) +(def-joint-node keira-lod0-jg "flipL1" 52) +(def-joint-node keira-lod0-jg "flipL2" 53) +(def-joint-node keira-lod0-jg "flipL3" 54) +(def-joint-node keira-lod0-jg "Lhair1" 55) +(def-joint-node keira-lod0-jg "Lhair2" 56) +(def-joint-node keira-lod0-jg "Rhair1" 57) +(def-joint-node keira-lod0-jg "Rhair2" 58) +(def-joint-node keira-lod0-jg "LthumbC" 59) + +(def-joint-node heart-of-mar-lod0-jg "main" 3) +(def-joint-node heart-of-mar-lod0-jg "prejoint" 2) +(def-joint-node heart-of-mar-lod0-jg "align" 1) + +(def-joint-node atoll-tank-b-lod0-jg "dj" 59) +(def-joint-node atoll-tank-b-lod0-jg "di" 58) +(def-joint-node atoll-tank-b-lod0-jg "dh" 57) +(def-joint-node atoll-tank-b-lod0-jg "dg" 56) +(def-joint-node atoll-tank-b-lod0-jg "df" 55) +(def-joint-node atoll-tank-b-lod0-jg "de" 54) +(def-joint-node atoll-tank-b-lod0-jg "dd" 53) +(def-joint-node atoll-tank-b-lod0-jg "dc" 52) +(def-joint-node atoll-tank-b-lod0-jg "db" 51) +(def-joint-node atoll-tank-b-lod0-jg "da" 50) +(def-joint-node atoll-tank-b-lod0-jg "cz" 49) +(def-joint-node atoll-tank-b-lod0-jg "cy" 48) +(def-joint-node atoll-tank-b-lod0-jg "cx" 47) +(def-joint-node atoll-tank-b-lod0-jg "cw" 46) +(def-joint-node atoll-tank-b-lod0-jg "cv" 45) +(def-joint-node atoll-tank-b-lod0-jg "cu" 44) +(def-joint-node atoll-tank-b-lod0-jg "ct" 43) +(def-joint-node atoll-tank-b-lod0-jg "cs" 42) +(def-joint-node atoll-tank-b-lod0-jg "cr" 41) +(def-joint-node atoll-tank-b-lod0-jg "cq" 40) +(def-joint-node atoll-tank-b-lod0-jg "cp" 39) +(def-joint-node atoll-tank-b-lod0-jg "co" 38) +(def-joint-node atoll-tank-b-lod0-jg "cn" 37) +(def-joint-node atoll-tank-b-lod0-jg "cm" 36) +(def-joint-node atoll-tank-b-lod0-jg "cl" 35) +(def-joint-node atoll-tank-b-lod0-jg "ck" 34) +(def-joint-node atoll-tank-b-lod0-jg "cj" 33) +(def-joint-node atoll-tank-b-lod0-jg "ci" 32) +(def-joint-node atoll-tank-b-lod0-jg "ch" 31) +(def-joint-node atoll-tank-b-lod0-jg "cg" 30) +(def-joint-node atoll-tank-b-lod0-jg "bp" 13) +(def-joint-node atoll-tank-b-lod0-jg "bo" 12) +(def-joint-node atoll-tank-b-lod0-jg "bn" 11) +(def-joint-node atoll-tank-b-lod0-jg "bm" 10) +(def-joint-node atoll-tank-b-lod0-jg "bl" 9) +(def-joint-node atoll-tank-b-lod0-jg "bk" 8) +(def-joint-node atoll-tank-b-lod0-jg "bj" 7) +(def-joint-node atoll-tank-b-lod0-jg "bi" 6) +(def-joint-node atoll-tank-b-lod0-jg "bh" 5) +(def-joint-node atoll-tank-b-lod0-jg "bg" 4) +(def-joint-node atoll-tank-b-lod0-jg "bf" 3) +(def-joint-node atoll-tank-b-lod0-jg "prejoint" 2) +(def-joint-node atoll-tank-b-lod0-jg "align" 1) +(def-joint-node atoll-tank-b-lod0-jg "bq" 14) +(def-joint-node atoll-tank-b-lod0-jg "br" 15) +(def-joint-node atoll-tank-b-lod0-jg "bs" 16) +(def-joint-node atoll-tank-b-lod0-jg "bt" 17) +(def-joint-node atoll-tank-b-lod0-jg "bu" 18) +(def-joint-node atoll-tank-b-lod0-jg "bv" 19) +(def-joint-node atoll-tank-b-lod0-jg "bw" 20) +(def-joint-node atoll-tank-b-lod0-jg "bx" 21) +(def-joint-node atoll-tank-b-lod0-jg "by" 22) +(def-joint-node atoll-tank-b-lod0-jg "bz" 23) +(def-joint-node atoll-tank-b-lod0-jg "ca" 24) +(def-joint-node atoll-tank-b-lod0-jg "cb" 25) +(def-joint-node atoll-tank-b-lod0-jg "cc" 26) +(def-joint-node atoll-tank-b-lod0-jg "cd" 27) +(def-joint-node atoll-tank-b-lod0-jg "ce" 28) +(def-joint-node atoll-tank-b-lod0-jg "cf" 29) + +(def-joint-node krew-highres-lod0-jg "fan" 80) +(def-joint-node krew-highres-lod0-jg "lefttitA" 79) +(def-joint-node krew-highres-lod0-jg "lbackfatA" 78) +(def-joint-node krew-highres-lod0-jg "righttitA" 77) +(def-joint-node krew-highres-lod0-jg "lfrontfatA" 76) +(def-joint-node krew-highres-lod0-jg "frfatA" 75) +(def-joint-node krew-highres-lod0-jg "rfrontfatA" 74) +(def-joint-node krew-highres-lod0-jg "rbackfatA" 73) +(def-joint-node krew-highres-lod0-jg "rlowhoseA" 72) +(def-joint-node krew-highres-lod0-jg "llowhoseA" 71) +(def-joint-node krew-highres-lod0-jg "rtophoseA" 70) +(def-joint-node krew-highres-lod0-jg "watchC" 69) +(def-joint-node krew-highres-lod0-jg "watchB" 68) +(def-joint-node krew-highres-lod0-jg "watchA" 67) +(def-joint-node krew-highres-lod0-jg "ltophoseA" 66) +(def-joint-node krew-highres-lod0-jg "Rball" 65) +(def-joint-node krew-highres-lod0-jg "Rankle" 64) +(def-joint-node krew-highres-lod0-jg "Rknee" 63) +(def-joint-node krew-highres-lod0-jg "Rthigh" 62) +(def-joint-node krew-highres-lod0-jg "Lball" 61) +(def-joint-node krew-highres-lod0-jg "Lankle" 60) +(def-joint-node krew-highres-lod0-jg "RpinkyC" 29) +(def-joint-node krew-highres-lod0-jg "RpinkyB" 28) +(def-joint-node krew-highres-lod0-jg "RpinkyA" 27) +(def-joint-node krew-highres-lod0-jg "RmiddleB" 26) +(def-joint-node krew-highres-lod0-jg "RmiddleA" 25) +(def-joint-node krew-highres-lod0-jg "RindexC" 24) +(def-joint-node krew-highres-lod0-jg "RindexB" 23) +(def-joint-node krew-highres-lod0-jg "RindexA" 22) +(def-joint-node krew-highres-lod0-jg "RthumbA" 21) +(def-joint-node krew-highres-lod0-jg "Rhand" 20) +(def-joint-node krew-highres-lod0-jg "Relbow" 19) +(def-joint-node krew-highres-lod0-jg "Rshoulder" 18) +(def-joint-node krew-highres-lod0-jg "LpinkyC" 17) +(def-joint-node krew-highres-lod0-jg "LpinkyB" 16) +(def-joint-node krew-highres-lod0-jg "LpinkyA" 15) +(def-joint-node krew-highres-lod0-jg "LmiddleB" 14) +(def-joint-node krew-highres-lod0-jg "align" 1) +(def-joint-node krew-highres-lod0-jg "prejoint" 2) +(def-joint-node krew-highres-lod0-jg "main" 3) +(def-joint-node krew-highres-lod0-jg "chest" 4) +(def-joint-node krew-highres-lod0-jg "neck" 5) +(def-joint-node krew-highres-lod0-jg "Lshoulder" 6) +(def-joint-node krew-highres-lod0-jg "Lelbow" 7) +(def-joint-node krew-highres-lod0-jg "Lhand" 8) +(def-joint-node krew-highres-lod0-jg "LthumbA" 9) +(def-joint-node krew-highres-lod0-jg "LindexA" 10) +(def-joint-node krew-highres-lod0-jg "LindexB" 11) +(def-joint-node krew-highres-lod0-jg "LindexC" 12) +(def-joint-node krew-highres-lod0-jg "LmiddleA" 13) +(def-joint-node krew-highres-lod0-jg "lightA" 30) +(def-joint-node krew-highres-lod0-jg "lightB" 31) +(def-joint-node krew-highres-lod0-jg "lightC" 32) +(def-joint-node krew-highres-lod0-jg "lightEnd" 33) +(def-joint-node krew-highres-lod0-jg "rightuarmA" 34) +(def-joint-node krew-highres-lod0-jg "leftuarmA" 35) +(def-joint-node krew-highres-lod0-jg "head" 36) +(def-joint-node krew-highres-lod0-jg "learA" 37) +(def-joint-node krew-highres-lod0-jg "learB" 38) +(def-joint-node krew-highres-lod0-jg "rearA" 39) +(def-joint-node krew-highres-lod0-jg "rearB" 40) +(def-joint-node krew-highres-lod0-jg "tongueMaster" 41) +(def-joint-node krew-highres-lod0-jg "tongueBase" 42) +(def-joint-node krew-highres-lod0-jg "tongueMidA" 43) +(def-joint-node krew-highres-lod0-jg "tongueMidB" 44) +(def-joint-node krew-highres-lod0-jg "LthumbB" 45) +(def-joint-node krew-highres-lod0-jg "LthumbC" 46) +(def-joint-node krew-highres-lod0-jg "LmiddleC" 47) +(def-joint-node krew-highres-lod0-jg "LringA" 48) +(def-joint-node krew-highres-lod0-jg "LringB" 49) +(def-joint-node krew-highres-lod0-jg "LringC" 50) +(def-joint-node krew-highres-lod0-jg "RthumbB" 51) +(def-joint-node krew-highres-lod0-jg "RthumbC" 52) +(def-joint-node krew-highres-lod0-jg "RmiddleC" 53) +(def-joint-node krew-highres-lod0-jg "RringA" 54) +(def-joint-node krew-highres-lod0-jg "RringB" 55) +(def-joint-node krew-highres-lod0-jg "RringC" 56) +(def-joint-node krew-highres-lod0-jg "hips" 57) +(def-joint-node krew-highres-lod0-jg "Lthigh" 58) +(def-joint-node krew-highres-lod0-jg "Lknee" 59) + +(def-joint-node squid-firepool-lod0-jg "streakDend" 22) +(def-joint-node squid-firepool-lod0-jg "streakDstart" 21) +(def-joint-node squid-firepool-lod0-jg "streakCend" 20) +(def-joint-node squid-firepool-lod0-jg "streakCstart" 19) +(def-joint-node squid-firepool-lod0-jg "flame" 18) +(def-joint-node squid-firepool-lod0-jg "streakBend" 17) +(def-joint-node squid-firepool-lod0-jg "streakBstart" 16) +(def-joint-node squid-firepool-lod0-jg "streakEnd" 15) +(def-joint-node squid-firepool-lod0-jg "streakStart" 14) +(def-joint-node squid-firepool-lod0-jg "align" 1) +(def-joint-node squid-firepool-lod0-jg "prejoint" 2) +(def-joint-node squid-firepool-lod0-jg "main" 3) +(def-joint-node squid-firepool-lod0-jg "destA" 4) +(def-joint-node squid-firepool-lod0-jg "destB" 5) +(def-joint-node squid-firepool-lod0-jg "destC" 6) +(def-joint-node squid-firepool-lod0-jg "destD" 7) +(def-joint-node squid-firepool-lod0-jg "destE" 8) +(def-joint-node squid-firepool-lod0-jg "srcA" 9) +(def-joint-node squid-firepool-lod0-jg "srcB" 10) +(def-joint-node squid-firepool-lod0-jg "srcC" 11) +(def-joint-node squid-firepool-lod0-jg "scrD" 12) +(def-joint-node squid-firepool-lod0-jg "srcE" 13) + +(def-joint-node gun-dummy-b-explode-lod0-jg "bodypart12" 15) +(def-joint-node gun-dummy-b-explode-lod0-jg "bodypart11" 14) +(def-joint-node gun-dummy-b-explode-lod0-jg "align" 1) +(def-joint-node gun-dummy-b-explode-lod0-jg "prejoint" 2) +(def-joint-node gun-dummy-b-explode-lod0-jg "main" 3) +(def-joint-node gun-dummy-b-explode-lod0-jg "bodypart1" 4) +(def-joint-node gun-dummy-b-explode-lod0-jg "bodypart2" 5) +(def-joint-node gun-dummy-b-explode-lod0-jg "bodypart3" 6) +(def-joint-node gun-dummy-b-explode-lod0-jg "bodypart4" 7) +(def-joint-node gun-dummy-b-explode-lod0-jg "bodypart5" 8) +(def-joint-node gun-dummy-b-explode-lod0-jg "bodypart6" 9) +(def-joint-node gun-dummy-b-explode-lod0-jg "bodypart7" 10) +(def-joint-node gun-dummy-b-explode-lod0-jg "bodypart8" 11) +(def-joint-node gun-dummy-b-explode-lod0-jg "bodypart9" 12) +(def-joint-node gun-dummy-b-explode-lod0-jg "bodypart10" 13) + +(def-joint-node collectables-skill-lod0-jg "egg" 3) +(def-joint-node collectables-skill-lod0-jg "prejoint" 2) +(def-joint-node collectables-skill-lod0-jg "align" 1) + +(def-joint-node dig-breakable-door-lod0-jg "main" 3) +(def-joint-node dig-breakable-door-lod0-jg "prejoint" 2) +(def-joint-node dig-breakable-door-lod0-jg "align" 1) + +(def-joint-node dig-sinking-plat-lod0-jg "main" 3) +(def-joint-node dig-sinking-plat-lod0-jg "prejoint" 2) +(def-joint-node dig-sinking-plat-lod0-jg "align" 1) + +(def-joint-node squid-collision-b-lod0-jg "main" 3) +(def-joint-node squid-collision-b-lod0-jg "prejoint" 2) +(def-joint-node squid-collision-b-lod0-jg "align" 1) + +(def-joint-node liftcat-lod0-jg "main_" 3) +(def-joint-node liftcat-lod0-jg "prejoint" 2) +(def-joint-node liftcat-lod0-jg "align" 1) + +(def-joint-node water-anim-tomb-tunnel-d-lod0-jg "boneless" 3) +(def-joint-node water-anim-tomb-tunnel-d-lod0-jg "prejoint" 2) +(def-joint-node water-anim-tomb-tunnel-d-lod0-jg "align" 1) + +(def-joint-node stdmb-race-hatch-lod0-jg "rightdoor" 5) +(def-joint-node stdmb-race-hatch-lod0-jg "leftdoor" 4) +(def-joint-node stdmb-race-hatch-lod0-jg "main" 3) +(def-joint-node stdmb-race-hatch-lod0-jg "prejoint" 2) +(def-joint-node stdmb-race-hatch-lod0-jg "align" 1) + +(def-joint-node dig-stomp-block-lod0-jg "main" 3) +(def-joint-node dig-stomp-block-lod0-jg "prejoint" 2) +(def-joint-node dig-stomp-block-lod0-jg "align" 1) + +(def-joint-node dig-clasp-lod0-jg "clasp" 6) +(def-joint-node dig-clasp-lod0-jg "explode" 5) +(def-joint-node dig-clasp-lod0-jg "mid" 4) +(def-joint-node dig-clasp-lod0-jg "main" 3) +(def-joint-node dig-clasp-lod0-jg "prejoint" 2) +(def-joint-node dig-clasp-lod0-jg "align" 1) + +(def-joint-node collectables-generic-ripples-lod0-jg "srcE" 13) +(def-joint-node collectables-generic-ripples-lod0-jg "srcD" 12) +(def-joint-node collectables-generic-ripples-lod0-jg "srcC" 11) +(def-joint-node collectables-generic-ripples-lod0-jg "srcB" 10) +(def-joint-node collectables-generic-ripples-lod0-jg "srcA" 9) +(def-joint-node collectables-generic-ripples-lod0-jg "destE" 8) +(def-joint-node collectables-generic-ripples-lod0-jg "destD" 7) +(def-joint-node collectables-generic-ripples-lod0-jg "destC" 6) +(def-joint-node collectables-generic-ripples-lod0-jg "destB" 5) +(def-joint-node collectables-generic-ripples-lod0-jg "destA" 4) +(def-joint-node collectables-generic-ripples-lod0-jg "main" 3) +(def-joint-node collectables-generic-ripples-lod0-jg "prejoint" 2) +(def-joint-node collectables-generic-ripples-lod0-jg "align" 1) + +(def-joint-node air-train-lod0-jg "thruster_r" 6) +(def-joint-node air-train-lod0-jg "thruster_l" 5) +(def-joint-node air-train-lod0-jg "hatch" 4) +(def-joint-node air-train-lod0-jg "main" 3) +(def-joint-node air-train-lod0-jg "prejoint" 2) +(def-joint-node air-train-lod0-jg "align" 1) + +(def-joint-node cara-lod0-jg "wheel_right_" 12) +(def-joint-node cara-lod0-jg "wheel_left_" 11) +(def-joint-node cara-lod0-jg "rudder_" 10) +(def-joint-node cara-lod0-jg "rearrudderr_" 9) +(def-joint-node cara-lod0-jg "rearfinr_" 8) +(def-joint-node cara-lod0-jg "rearrudderl_" 7) +(def-joint-node cara-lod0-jg "rearfinl_" 6) +(def-joint-node cara-lod0-jg "frontfinr_" 5) +(def-joint-node cara-lod0-jg "frontfinl_" 4) +(def-joint-node cara-lod0-jg "main_" 3) +(def-joint-node cara-lod0-jg "prejoint" 2) +(def-joint-node cara-lod0-jg "align" 1) + +(def-joint-node metalmonk-lod0-jg "Rball" 41) +(def-joint-node metalmonk-lod0-jg "RoutsideClaw" 40) +(def-joint-node metalmonk-lod0-jg "RinsideClaw" 39) +(def-joint-node metalmonk-lod0-jg "Lball" 38) +(def-joint-node metalmonk-lod0-jg "LoutsideClaw" 37) +(def-joint-node metalmonk-lod0-jg "LinsideClaw" 36) +(def-joint-node metalmonk-lod0-jg "RmiddleB" 35) +(def-joint-node metalmonk-lod0-jg "RthumbB" 34) +(def-joint-node metalmonk-lod0-jg "LmiddleB" 33) +(def-joint-node metalmonk-lod0-jg "LthumbB" 32) +(def-joint-node metalmonk-lod0-jg "jaw" 31) +(def-joint-node metalmonk-lod0-jg "RmiddleA" 30) +(def-joint-node metalmonk-lod0-jg "Rhand" 13) +(def-joint-node metalmonk-lod0-jg "Relbow" 12) +(def-joint-node metalmonk-lod0-jg "Rshoulder" 11) +(def-joint-node metalmonk-lod0-jg "Lhand" 10) +(def-joint-node metalmonk-lod0-jg "Lelbow" 9) +(def-joint-node metalmonk-lod0-jg "Lshoulder" 8) +(def-joint-node metalmonk-lod0-jg "head" 7) +(def-joint-node metalmonk-lod0-jg "neckB" 6) +(def-joint-node metalmonk-lod0-jg "neckA" 5) +(def-joint-node metalmonk-lod0-jg "chest" 4) +(def-joint-node metalmonk-lod0-jg "main" 3) +(def-joint-node metalmonk-lod0-jg "prejoint" 2) +(def-joint-node metalmonk-lod0-jg "align" 1) +(def-joint-node metalmonk-lod0-jg "hips" 14) +(def-joint-node metalmonk-lod0-jg "Lthigh" 15) +(def-joint-node metalmonk-lod0-jg "Lknee" 16) +(def-joint-node metalmonk-lod0-jg "Lhindcannon" 17) +(def-joint-node metalmonk-lod0-jg "Lankle" 18) +(def-joint-node metalmonk-lod0-jg "tailA" 19) +(def-joint-node metalmonk-lod0-jg "tailB" 20) +(def-joint-node metalmonk-lod0-jg "tailC" 21) +(def-joint-node metalmonk-lod0-jg "tailD" 22) +(def-joint-node metalmonk-lod0-jg "Rthigh" 23) +(def-joint-node metalmonk-lod0-jg "Rknee" 24) +(def-joint-node metalmonk-lod0-jg "Rhindcannon" 25) +(def-joint-node metalmonk-lod0-jg "Rankle" 26) +(def-joint-node metalmonk-lod0-jg "LthumbA" 27) +(def-joint-node metalmonk-lod0-jg "LmiddleA" 28) +(def-joint-node metalmonk-lod0-jg "RthumbA" 29) + +(def-joint-node hip-mole-lod0-jg "head" 4) +(def-joint-node hip-mole-lod0-jg "main" 3) +(def-joint-node hip-mole-lod0-jg "prejoint" 2) +(def-joint-node hip-mole-lod0-jg "align" 1) + +(def-joint-node pow-mov-plat-lod0-jg "button" 7) +(def-joint-node pow-mov-plat-lod0-jg "lfthinge" 6) +(def-joint-node pow-mov-plat-lod0-jg "rghthinge" 5) +(def-joint-node pow-mov-plat-lod0-jg "mvplat" 4) +(def-joint-node pow-mov-plat-lod0-jg "main" 3) +(def-joint-node pow-mov-plat-lod0-jg "prejoint" 2) +(def-joint-node pow-mov-plat-lod0-jg "align" 1) + +(def-joint-node crate-krimson-lod0-jg "main" 3) +(def-joint-node crate-krimson-lod0-jg "prejoint" 2) +(def-joint-node crate-krimson-lod0-jg "align" 1) + +(def-joint-node stdm-baron-box-lod0-jg "thruster_d" 19) +(def-joint-node stdm-baron-box-lod0-jg "thruster_c" 18) +(def-joint-node stdm-baron-box-lod0-jg "thruster_b" 17) +(def-joint-node stdm-baron-box-lod0-jg "thruster_a" 16) +(def-joint-node stdm-baron-box-lod0-jg "Rbanner_f" 15) +(def-joint-node stdm-baron-box-lod0-jg "Rbanner_e" 14) +(def-joint-node stdm-baron-box-lod0-jg "align" 1) +(def-joint-node stdm-baron-box-lod0-jg "prejoint" 2) +(def-joint-node stdm-baron-box-lod0-jg "main" 3) +(def-joint-node stdm-baron-box-lod0-jg "Lbanner_a" 4) +(def-joint-node stdm-baron-box-lod0-jg "Lbanner_b" 5) +(def-joint-node stdm-baron-box-lod0-jg "Lbanner_c" 6) +(def-joint-node stdm-baron-box-lod0-jg "Lbanner_d" 7) +(def-joint-node stdm-baron-box-lod0-jg "Lbanner_e" 8) +(def-joint-node stdm-baron-box-lod0-jg "Lbanner_f" 9) +(def-joint-node stdm-baron-box-lod0-jg "Rbanner_a" 10) +(def-joint-node stdm-baron-box-lod0-jg "Rbanner_b" 11) +(def-joint-node stdm-baron-box-lod0-jg "Rbanner_c" 12) +(def-joint-node stdm-baron-box-lod0-jg "Rbanner_d" 13) + +(def-joint-node cas-trapdoor-lod0-jg "main_" 3) +(def-joint-node cas-trapdoor-lod0-jg "prejoint" 2) +(def-joint-node cas-trapdoor-lod0-jg "align" 1) + +(def-joint-node hide-bike-lod0-jg "rearbraker_" 11) +(def-joint-node hide-bike-lod0-jg "rearbrakel_" 10) +(def-joint-node hide-bike-lod0-jg "rider" 9) +(def-joint-node hide-bike-lod0-jg "frontfinl_" 8) +(def-joint-node hide-bike-lod0-jg "frontfinr_" 7) +(def-joint-node hide-bike-lod0-jg "tailfinl_" 6) +(def-joint-node hide-bike-lod0-jg "tailfinr_" 5) +(def-joint-node hide-bike-lod0-jg "rudder_" 4) +(def-joint-node hide-bike-lod0-jg "main_" 3) +(def-joint-node hide-bike-lod0-jg "prejoint" 2) +(def-joint-node hide-bike-lod0-jg "align" 1) + +(def-joint-node tanker-crash-lod0-jg "tractor" 8) +(def-joint-node tanker-crash-lod0-jg "trailer_a" 7) +(def-joint-node tanker-crash-lod0-jg "trailer_b" 6) +(def-joint-node tanker-crash-lod0-jg "chain3" 5) +(def-joint-node tanker-crash-lod0-jg "chain2" 4) +(def-joint-node tanker-crash-lod0-jg "chain1" 3) +(def-joint-node tanker-crash-lod0-jg "prejoint" 2) +(def-joint-node tanker-crash-lod0-jg "align" 1) + +(def-joint-node water-anim-strip-dark-eco-with-eggs-lod0-jg "boneless" 3) +(def-joint-node water-anim-strip-dark-eco-with-eggs-lod0-jg "prejoint" 2) +(def-joint-node water-anim-strip-dark-eco-with-eggs-lod0-jg "align" 1) + +(def-joint-node pal-throne-door-lod0-jg "doorL" 5) +(def-joint-node pal-throne-door-lod0-jg "doorR" 4) +(def-joint-node pal-throne-door-lod0-jg "main" 3) +(def-joint-node pal-throne-door-lod0-jg "prejoint" 2) +(def-joint-node pal-throne-door-lod0-jg "align" 1) + +(def-joint-node mtn-plat-buried-lod0-jg "main" 3) +(def-joint-node mtn-plat-buried-lod0-jg "prejoint" 2) +(def-joint-node mtn-plat-buried-lod0-jg "align" 1) + +(def-joint-node rift-ring-in-game-lod0-jg "inner_ring_c" 14) +(def-joint-node rift-ring-in-game-lod0-jg "align" 1) +(def-joint-node rift-ring-in-game-lod0-jg "prejoint" 2) +(def-joint-node rift-ring-in-game-lod0-jg "bearing_a" 3) +(def-joint-node rift-ring-in-game-lod0-jg "bearing_b" 4) +(def-joint-node rift-ring-in-game-lod0-jg "bearing_c" 5) +(def-joint-node rift-ring-in-game-lod0-jg "outer_ring" 6) +(def-joint-node rift-ring-in-game-lod0-jg "gate" 7) +(def-joint-node rift-ring-in-game-lod0-jg "zaptarget" 8) +(def-joint-node rift-ring-in-game-lod0-jg "prong_a" 9) +(def-joint-node rift-ring-in-game-lod0-jg "prong_b" 10) +(def-joint-node rift-ring-in-game-lod0-jg "prong_c" 11) +(def-joint-node rift-ring-in-game-lod0-jg "inner_ring_a" 12) +(def-joint-node rift-ring-in-game-lod0-jg "inner_ring_b" 13) + +(def-joint-node under-seaweed-c-lod0-jg "secg" 13) +(def-joint-node under-seaweed-c-lod0-jg "secf" 12) +(def-joint-node under-seaweed-c-lod0-jg "sece" 11) +(def-joint-node under-seaweed-c-lod0-jg "secd" 10) +(def-joint-node under-seaweed-c-lod0-jg "secc" 9) +(def-joint-node under-seaweed-c-lod0-jg "secj" 8) +(def-joint-node under-seaweed-c-lod0-jg "seci" 7) +(def-joint-node under-seaweed-c-lod0-jg "sech" 6) +(def-joint-node under-seaweed-c-lod0-jg "secb" 5) +(def-joint-node under-seaweed-c-lod0-jg "seca" 4) +(def-joint-node under-seaweed-c-lod0-jg "main" 3) +(def-joint-node under-seaweed-c-lod0-jg "prejoint" 2) +(def-joint-node under-seaweed-c-lod0-jg "align" 1) + +(def-joint-node dig-clasp-explode-lod0-jg "f" 8) +(def-joint-node dig-clasp-explode-lod0-jg "e" 7) +(def-joint-node dig-clasp-explode-lod0-jg "d" 6) +(def-joint-node dig-clasp-explode-lod0-jg "c" 5) +(def-joint-node dig-clasp-explode-lod0-jg "b" 4) +(def-joint-node dig-clasp-explode-lod0-jg "a" 3) +(def-joint-node dig-clasp-explode-lod0-jg "prejoint" 2) +(def-joint-node dig-clasp-explode-lod0-jg "align" 1) + +(def-joint-node prsn-cell-door-lod0-jg "main" 3) +(def-joint-node prsn-cell-door-lod0-jg "prejoint" 2) +(def-joint-node prsn-cell-door-lod0-jg "align" 1) + +(def-joint-node hide-faucet-lod0-jg "hide_faucet" 3) +(def-joint-node hide-faucet-lod0-jg "prejoint" 2) +(def-joint-node hide-faucet-lod0-jg "align" 1) + +(def-joint-node strip-game-crate-lod0-jg "block" 14) +(def-joint-node strip-game-crate-lod0-jg "align" 1) +(def-joint-node strip-game-crate-lod0-jg "prejoint" 2) +(def-joint-node strip-game-crate-lod0-jg "main" 3) +(def-joint-node strip-game-crate-lod0-jg "cable1" 4) +(def-joint-node strip-game-crate-lod0-jg "cable2" 5) +(def-joint-node strip-game-crate-lod0-jg "cable3" 6) +(def-joint-node strip-game-crate-lod0-jg "cable4" 7) +(def-joint-node strip-game-crate-lod0-jg "cable5" 8) +(def-joint-node strip-game-crate-lod0-jg "cable6" 9) +(def-joint-node strip-game-crate-lod0-jg "cable7" 10) +(def-joint-node strip-game-crate-lod0-jg "hook1" 11) +(def-joint-node strip-game-crate-lod0-jg "hook2" 12) +(def-joint-node strip-game-crate-lod0-jg "button" 13) + +(def-joint-node race-bike-b-lod0-jg "tailfin_R" 7) +(def-joint-node race-bike-b-lod0-jg "tailfin_L" 6) +(def-joint-node race-bike-b-lod0-jg "frontmid" 5) +(def-joint-node race-bike-b-lod0-jg "forks" 4) +(def-joint-node race-bike-b-lod0-jg "main" 3) +(def-joint-node race-bike-b-lod0-jg "prejoint" 2) +(def-joint-node race-bike-b-lod0-jg "align" 1) + +(def-joint-node ruins-breakable-wall-2-lod0-jg "b2_ll" 40) +(def-joint-node ruins-breakable-wall-2-lod0-jg "b2_kk" 39) +(def-joint-node ruins-breakable-wall-2-lod0-jg "b2_jj" 38) +(def-joint-node ruins-breakable-wall-2-lod0-jg "b2_ii" 37) +(def-joint-node ruins-breakable-wall-2-lod0-jg "b2_hh" 36) +(def-joint-node ruins-breakable-wall-2-lod0-jg "b2_ff" 35) +(def-joint-node ruins-breakable-wall-2-lod0-jg "b2_ee" 34) +(def-joint-node ruins-breakable-wall-2-lod0-jg "b2_dd" 33) +(def-joint-node ruins-breakable-wall-2-lod0-jg "b2_cc" 32) +(def-joint-node ruins-breakable-wall-2-lod0-jg "b2_bb" 31) +(def-joint-node ruins-breakable-wall-2-lod0-jg "b2_aa" 30) +(def-joint-node ruins-breakable-wall-2-lod0-jg "b2_i" 13) +(def-joint-node ruins-breakable-wall-2-lod0-jg "b2_h" 12) +(def-joint-node ruins-breakable-wall-2-lod0-jg "b2_g" 11) +(def-joint-node ruins-breakable-wall-2-lod0-jg "b2_f" 10) +(def-joint-node ruins-breakable-wall-2-lod0-jg "b2_e" 9) +(def-joint-node ruins-breakable-wall-2-lod0-jg "b2_d" 8) +(def-joint-node ruins-breakable-wall-2-lod0-jg "b2_c" 7) +(def-joint-node ruins-breakable-wall-2-lod0-jg "b2_b" 6) +(def-joint-node ruins-breakable-wall-2-lod0-jg "b2_a" 5) +(def-joint-node ruins-breakable-wall-2-lod0-jg "b2_o" 4) +(def-joint-node ruins-breakable-wall-2-lod0-jg "b2_gg" 3) +(def-joint-node ruins-breakable-wall-2-lod0-jg "prejoint" 2) +(def-joint-node ruins-breakable-wall-2-lod0-jg "align" 1) +(def-joint-node ruins-breakable-wall-2-lod0-jg "b2_j" 14) +(def-joint-node ruins-breakable-wall-2-lod0-jg "b2_k" 15) +(def-joint-node ruins-breakable-wall-2-lod0-jg "b2_l" 16) +(def-joint-node ruins-breakable-wall-2-lod0-jg "b2_m" 17) +(def-joint-node ruins-breakable-wall-2-lod0-jg "b2_n" 18) +(def-joint-node ruins-breakable-wall-2-lod0-jg "b2_p" 19) +(def-joint-node ruins-breakable-wall-2-lod0-jg "b2_q" 20) +(def-joint-node ruins-breakable-wall-2-lod0-jg "b2_r" 21) +(def-joint-node ruins-breakable-wall-2-lod0-jg "b2_s" 22) +(def-joint-node ruins-breakable-wall-2-lod0-jg "b2_t" 23) +(def-joint-node ruins-breakable-wall-2-lod0-jg "b2_u" 24) +(def-joint-node ruins-breakable-wall-2-lod0-jg "b2_v" 25) +(def-joint-node ruins-breakable-wall-2-lod0-jg "b2_w" 26) +(def-joint-node ruins-breakable-wall-2-lod0-jg "b2_x" 27) +(def-joint-node ruins-breakable-wall-2-lod0-jg "b2_y" 28) +(def-joint-node ruins-breakable-wall-2-lod0-jg "b2_z" 29) + +(def-joint-node eco-canister-dark-lod0-jg "top" 3) +(def-joint-node eco-canister-dark-lod0-jg "prejoint" 2) +(def-joint-node eco-canister-dark-lod0-jg "align" 1) + +(def-joint-node dig-digger-explode-b-lod0-jg "cp" 37) +(def-joint-node dig-digger-explode-b-lod0-jg "co" 36) +(def-joint-node dig-digger-explode-b-lod0-jg "cn" 35) +(def-joint-node dig-digger-explode-b-lod0-jg "cm" 34) +(def-joint-node dig-digger-explode-b-lod0-jg "cl" 33) +(def-joint-node dig-digger-explode-b-lod0-jg "ck" 32) +(def-joint-node dig-digger-explode-b-lod0-jg "cj" 31) +(def-joint-node dig-digger-explode-b-lod0-jg "ci" 30) +(def-joint-node dig-digger-explode-b-lod0-jg "br" 13) +(def-joint-node dig-digger-explode-b-lod0-jg "bq" 12) +(def-joint-node dig-digger-explode-b-lod0-jg "bp" 11) +(def-joint-node dig-digger-explode-b-lod0-jg "bo" 10) +(def-joint-node dig-digger-explode-b-lod0-jg "bn" 9) +(def-joint-node dig-digger-explode-b-lod0-jg "bm" 8) +(def-joint-node dig-digger-explode-b-lod0-jg "bl" 7) +(def-joint-node dig-digger-explode-b-lod0-jg "bk" 6) +(def-joint-node dig-digger-explode-b-lod0-jg "bj" 5) +(def-joint-node dig-digger-explode-b-lod0-jg "bi" 4) +(def-joint-node dig-digger-explode-b-lod0-jg "main" 3) +(def-joint-node dig-digger-explode-b-lod0-jg "prejoint" 2) +(def-joint-node dig-digger-explode-b-lod0-jg "align" 1) +(def-joint-node dig-digger-explode-b-lod0-jg "bs" 14) +(def-joint-node dig-digger-explode-b-lod0-jg "bt" 15) +(def-joint-node dig-digger-explode-b-lod0-jg "bu" 16) +(def-joint-node dig-digger-explode-b-lod0-jg "bv" 17) +(def-joint-node dig-digger-explode-b-lod0-jg "bw" 18) +(def-joint-node dig-digger-explode-b-lod0-jg "bx" 19) +(def-joint-node dig-digger-explode-b-lod0-jg "by" 20) +(def-joint-node dig-digger-explode-b-lod0-jg "bz" 21) +(def-joint-node dig-digger-explode-b-lod0-jg "ca" 22) +(def-joint-node dig-digger-explode-b-lod0-jg "cb" 23) +(def-joint-node dig-digger-explode-b-lod0-jg "cc" 24) +(def-joint-node dig-digger-explode-b-lod0-jg "cd" 25) +(def-joint-node dig-digger-explode-b-lod0-jg "ce" 26) +(def-joint-node dig-digger-explode-b-lod0-jg "cf" 27) +(def-joint-node dig-digger-explode-b-lod0-jg "cg" 28) +(def-joint-node dig-digger-explode-b-lod0-jg "ch" 29) + +(def-joint-node widow-bomb-lod0-jg "thrust" 8) +(def-joint-node widow-bomb-lod0-jg "flash" 7) +(def-joint-node widow-bomb-lod0-jg "flash1" 6) +(def-joint-node widow-bomb-lod0-jg "flash2" 5) +(def-joint-node widow-bomb-lod0-jg "flash3" 4) +(def-joint-node widow-bomb-lod0-jg "main" 3) +(def-joint-node widow-bomb-lod0-jg "prejoint" 2) +(def-joint-node widow-bomb-lod0-jg "align" 1) + +(def-joint-node water-anim-fortress-exitb-pool-lod0-jg "boneless" 3) +(def-joint-node water-anim-fortress-exitb-pool-lod0-jg "prejoint" 2) +(def-joint-node water-anim-fortress-exitb-pool-lod0-jg "align" 1) + +(def-joint-node ginsu-lod0-jg "Rmidwing" 12) +(def-joint-node ginsu-lod0-jg "Lmidwing" 11) +(def-joint-node ginsu-lod0-jg "Rwing" 10) +(def-joint-node ginsu-lod0-jg "Lwing" 9) +(def-joint-node ginsu-lod0-jg "drill" 8) +(def-joint-node ginsu-lod0-jg "head" 7) +(def-joint-node ginsu-lod0-jg "neckb" 6) +(def-joint-node ginsu-lod0-jg "necka" 5) +(def-joint-node ginsu-lod0-jg "chest" 4) +(def-joint-node ginsu-lod0-jg "main" 3) +(def-joint-node ginsu-lod0-jg "prejoint" 2) +(def-joint-node ginsu-lod0-jg "align" 1) + +(def-joint-node fort-roboscreen-lod0-jg "main" 4) +(def-joint-node fort-roboscreen-lod0-jg "src" 3) +(def-joint-node fort-roboscreen-lod0-jg "prejoint" 2) +(def-joint-node fort-roboscreen-lod0-jg "align" 1) + +(def-joint-node crimson-bike-lod0-jg "gun" 5) +(def-joint-node crimson-bike-lod0-jg "wheel" 4) +(def-joint-node crimson-bike-lod0-jg "main_" 3) +(def-joint-node crimson-bike-lod0-jg "prejoint" 2) +(def-joint-node crimson-bike-lod0-jg "align" 1) + +(def-joint-node skate-gate-lod0-jg "main" 3) +(def-joint-node skate-gate-lod0-jg "prejoint" 2) +(def-joint-node skate-gate-lod0-jg "align" 1) + +(def-joint-node babak-lod0-jg "Lleghair" 41) +(def-joint-node babak-lod0-jg "backhair" 40) +(def-joint-node babak-lod0-jg "RmiddleB" 39) +(def-joint-node babak-lod0-jg "RmiddleA" 38) +(def-joint-node babak-lod0-jg "RindexB" 37) +(def-joint-node babak-lod0-jg "RindexA" 36) +(def-joint-node babak-lod0-jg "RthumbB" 35) +(def-joint-node babak-lod0-jg "RthumbA" 34) +(def-joint-node babak-lod0-jg "Larmhair" 33) +(def-joint-node babak-lod0-jg "LmiddleB" 32) +(def-joint-node babak-lod0-jg "LmiddleA" 31) +(def-joint-node babak-lod0-jg "LindexB" 30) +(def-joint-node babak-lod0-jg "Rhand" 13) +(def-joint-node babak-lod0-jg "Relbow" 12) +(def-joint-node babak-lod0-jg "Rshoulder" 11) +(def-joint-node babak-lod0-jg "Lhand" 10) +(def-joint-node babak-lod0-jg "Lelbow" 9) +(def-joint-node babak-lod0-jg "Lshoulder" 8) +(def-joint-node babak-lod0-jg "jaw" 7) +(def-joint-node babak-lod0-jg "head" 6) +(def-joint-node babak-lod0-jg "neck" 5) +(def-joint-node babak-lod0-jg "chest" 4) +(def-joint-node babak-lod0-jg "main" 3) +(def-joint-node babak-lod0-jg "prejoint" 2) +(def-joint-node babak-lod0-jg "align" 1) +(def-joint-node babak-lod0-jg "Rarmhair" 14) +(def-joint-node babak-lod0-jg "hips" 15) +(def-joint-node babak-lod0-jg "Lthigh" 16) +(def-joint-node babak-lod0-jg "Lknee" 17) +(def-joint-node babak-lod0-jg "Lankle" 18) +(def-joint-node babak-lod0-jg "Lball" 19) +(def-joint-node babak-lod0-jg "Rthigh" 20) +(def-joint-node babak-lod0-jg "Rknee" 21) +(def-joint-node babak-lod0-jg "Rankle" 22) +(def-joint-node babak-lod0-jg "Rball" 23) +(def-joint-node babak-lod0-jg "Rleghair" 24) +(def-joint-node babak-lod0-jg "headhair" 25) +(def-joint-node babak-lod0-jg "frontring" 26) +(def-joint-node babak-lod0-jg "LthumbA" 27) +(def-joint-node babak-lod0-jg "LthumbB" 28) +(def-joint-node babak-lod0-jg "LindexA" 29) + +(def-joint-node rift-rider-dash-lod0-jg "jet" 13) +(def-joint-node rift-rider-dash-lod0-jg "screen_b" 12) +(def-joint-node rift-rider-dash-lod0-jg "screen_a" 11) +(def-joint-node rift-rider-dash-lod0-jg "heart_of_mar" 10) +(def-joint-node rift-rider-dash-lod0-jg "button_d" 9) +(def-joint-node rift-rider-dash-lod0-jg "button_c" 8) +(def-joint-node rift-rider-dash-lod0-jg "button_b" 7) +(def-joint-node rift-rider-dash-lod0-jg "button_a" 6) +(def-joint-node rift-rider-dash-lod0-jg "dash" 5) +(def-joint-node rift-rider-dash-lod0-jg "seats" 4) +(def-joint-node rift-rider-dash-lod0-jg "main" 3) +(def-joint-node rift-rider-dash-lod0-jg "prejoint" 2) +(def-joint-node rift-rider-dash-lod0-jg "align" 1) + +(def-joint-node grunt-egg-c-lod0-jg "egg_c" 7) +(def-joint-node grunt-egg-c-lod0-jg "neck" 6) +(def-joint-node grunt-egg-c-lod0-jg "mid" 5) +(def-joint-node grunt-egg-c-lod0-jg "low" 4) +(def-joint-node grunt-egg-c-lod0-jg "main" 3) +(def-joint-node grunt-egg-c-lod0-jg "prejoint" 2) +(def-joint-node grunt-egg-c-lod0-jg "align" 1) + +(def-joint-node roboguard-lod0-jg "Rheel" 29) +(def-joint-node roboguard-lod0-jg "Rtoe" 28) +(def-joint-node roboguard-lod0-jg "Rpiston" 27) +(def-joint-node roboguard-lod0-jg "Lheel" 26) +(def-joint-node roboguard-lod0-jg "Ltoe" 25) +(def-joint-node roboguard-lod0-jg "Lpiston" 24) +(def-joint-node roboguard-lod0-jg "Rankle" 23) +(def-joint-node roboguard-lod0-jg "Rknee" 22) +(def-joint-node roboguard-lod0-jg "Rthigh" 21) +(def-joint-node roboguard-lod0-jg "Lankle" 20) +(def-joint-node roboguard-lod0-jg "Lknee" 19) +(def-joint-node roboguard-lod0-jg "Lthigh" 18) +(def-joint-node roboguard-lod0-jg "hips" 17) +(def-joint-node roboguard-lod0-jg "console" 16) +(def-joint-node roboguard-lod0-jg "Rfist" 15) +(def-joint-node roboguard-lod0-jg "Relbow" 14) +(def-joint-node roboguard-lod0-jg "align" 1) +(def-joint-node roboguard-lod0-jg "prejoint" 2) +(def-joint-node roboguard-lod0-jg "main" 3) +(def-joint-node roboguard-lod0-jg "chest" 4) +(def-joint-node roboguard-lod0-jg "neck" 5) +(def-joint-node roboguard-lod0-jg "head" 6) +(def-joint-node roboguard-lod0-jg "headglow" 7) +(def-joint-node roboguard-lod0-jg "Lshoulderguard" 8) +(def-joint-node roboguard-lod0-jg "Lshoulder" 9) +(def-joint-node roboguard-lod0-jg "Lelbow" 10) +(def-joint-node roboguard-lod0-jg "Lfist" 11) +(def-joint-node roboguard-lod0-jg "Rshoulderguard" 12) +(def-joint-node roboguard-lod0-jg "Rshoulder" 13) + +(def-joint-node mech-target-lod0-jg "outer" 6) +(def-joint-node mech-target-lod0-jg "mid" 5) +(def-joint-node mech-target-lod0-jg "inner" 4) +(def-joint-node mech-target-lod0-jg "main" 3) +(def-joint-node mech-target-lod0-jg "prejoint" 2) +(def-joint-node mech-target-lod0-jg "align" 1) + +(def-joint-node oracle-wall-banner-lod0-jg "ban4" 7) +(def-joint-node oracle-wall-banner-lod0-jg "ban3" 6) +(def-joint-node oracle-wall-banner-lod0-jg "ban2" 5) +(def-joint-node oracle-wall-banner-lod0-jg "ban1" 4) +(def-joint-node oracle-wall-banner-lod0-jg "main" 3) +(def-joint-node oracle-wall-banner-lod0-jg "prejoint" 2) +(def-joint-node oracle-wall-banner-lod0-jg "align" 1) + +(def-joint-node big-bopper-lod0-jg "main" 3) +(def-joint-node big-bopper-lod0-jg "prejoint" 2) +(def-joint-node big-bopper-lod0-jg "align" 1) + +(def-joint-node spyder-lod0-jg "Rshoulderpad" 41) +(def-joint-node spyder-lod0-jg "Lshoulderpad" 40) +(def-joint-node spyder-lod0-jg "gun" 39) +(def-joint-node spyder-lod0-jg "jaw" 38) +(def-joint-node spyder-lod0-jg "tracktorso" 37) +(def-joint-node spyder-lod0-jg "Rbackknee" 36) +(def-joint-node spyder-lod0-jg "Rbackthigh" 35) +(def-joint-node spyder-lod0-jg "Lbackknee" 34) +(def-joint-node spyder-lod0-jg "Lbackthigh" 33) +(def-joint-node spyder-lod0-jg "Rfrontknee" 32) +(def-joint-node spyder-lod0-jg "Rfrontthigh" 31) +(def-joint-node spyder-lod0-jg "Lfrontknee" 30) +(def-joint-node spyder-lod0-jg "LthumbC" 13) +(def-joint-node spyder-lod0-jg "LthumbB" 12) +(def-joint-node spyder-lod0-jg "LthumbA" 11) +(def-joint-node spyder-lod0-jg "Lhand" 10) +(def-joint-node spyder-lod0-jg "Lelbow" 9) +(def-joint-node spyder-lod0-jg "Lshoulder" 8) +(def-joint-node spyder-lod0-jg "head" 7) +(def-joint-node spyder-lod0-jg "neck" 6) +(def-joint-node spyder-lod0-jg "chest" 5) +(def-joint-node spyder-lod0-jg "swivelMe" 4) +(def-joint-node spyder-lod0-jg "main" 3) +(def-joint-node spyder-lod0-jg "prejoint" 2) +(def-joint-node spyder-lod0-jg "align" 1) +(def-joint-node spyder-lod0-jg "LindexA" 14) +(def-joint-node spyder-lod0-jg "LindexB" 15) +(def-joint-node spyder-lod0-jg "LmiddleA" 16) +(def-joint-node spyder-lod0-jg "LmiddleB" 17) +(def-joint-node spyder-lod0-jg "Rshoulder" 18) +(def-joint-node spyder-lod0-jg "Relbow" 19) +(def-joint-node spyder-lod0-jg "Rhand" 20) +(def-joint-node spyder-lod0-jg "RthumbA" 21) +(def-joint-node spyder-lod0-jg "RthumbB" 22) +(def-joint-node spyder-lod0-jg "RindexA" 23) +(def-joint-node spyder-lod0-jg "RindexB" 24) +(def-joint-node spyder-lod0-jg "RmiddleA" 25) +(def-joint-node spyder-lod0-jg "RmiddleB" 26) +(def-joint-node spyder-lod0-jg "shoot" 27) +(def-joint-node spyder-lod0-jg "hips" 28) +(def-joint-node spyder-lod0-jg "Lfrontthigh" 29) + +(def-joint-node race-start-light-banner-lod0-jg "banner_d" 6) +(def-joint-node race-start-light-banner-lod0-jg "banner_c" 5) +(def-joint-node race-start-light-banner-lod0-jg "banner_b" 4) +(def-joint-node race-start-light-banner-lod0-jg "banner_a" 3) +(def-joint-node race-start-light-banner-lod0-jg "prejoint" 2) +(def-joint-node race-start-light-banner-lod0-jg "align" 1) + +(def-joint-node tomb-wing-door-lod0-jg "leftdoor" 5) +(def-joint-node tomb-wing-door-lod0-jg "rightdoor" 4) +(def-joint-node tomb-wing-door-lod0-jg "main" 3) +(def-joint-node tomb-wing-door-lod0-jg "prejoint" 2) +(def-joint-node tomb-wing-door-lod0-jg "align" 1) + +(def-joint-node gun-ammo-red-lod0-jg "main" 3) +(def-joint-node gun-ammo-red-lod0-jg "prejoint" 2) +(def-joint-node gun-ammo-red-lod0-jg "align" 1) + +(def-joint-node gun-ammo-dark-lod0-jg "main" 3) +(def-joint-node gun-ammo-dark-lod0-jg "prejoint" 2) +(def-joint-node gun-ammo-dark-lod0-jg "align" 1) + +(def-joint-node tomb-simon-button-lod0-jg "buttoncover4" 7) +(def-joint-node tomb-simon-button-lod0-jg "buttoncover3" 6) +(def-joint-node tomb-simon-button-lod0-jg "buttoncover2" 5) +(def-joint-node tomb-simon-button-lod0-jg "buttoncover1" 4) +(def-joint-node tomb-simon-button-lod0-jg "main" 3) +(def-joint-node tomb-simon-button-lod0-jg "prejoint" 2) +(def-joint-node tomb-simon-button-lod0-jg "align" 1) + +(def-joint-node minnow-lod0-jg "mid" 4) +(def-joint-node minnow-lod0-jg "main" 3) +(def-joint-node minnow-lod0-jg "prejoint" 2) +(def-joint-node minnow-lod0-jg "align" 1) + +(def-joint-node race-start-light-lod0-jg "greenlite" 10) +(def-joint-node race-start-light-lod0-jg "lite_c" 9) +(def-joint-node race-start-light-lod0-jg "lite_c_shaft" 8) +(def-joint-node race-start-light-lod0-jg "lite_b" 7) +(def-joint-node race-start-light-lod0-jg "lite_b_shaft" 6) +(def-joint-node race-start-light-lod0-jg "lite_a" 5) +(def-joint-node race-start-light-lod0-jg "lite_a_shaft" 4) +(def-joint-node race-start-light-lod0-jg "main" 3) +(def-joint-node race-start-light-lod0-jg "prejoint" 2) +(def-joint-node race-start-light-lod0-jg "align" 1) + +(def-joint-node water-anim-tomb-tunnel-b-lod0-jg "boneless" 3) +(def-joint-node water-anim-tomb-tunnel-b-lod0-jg "prejoint" 2) +(def-joint-node water-anim-tomb-tunnel-b-lod0-jg "align" 1) + +(def-joint-node nest-gun-elevator-lod0-jg "rail" 4) +(def-joint-node nest-gun-elevator-lod0-jg "main" 3) +(def-joint-node nest-gun-elevator-lod0-jg "prejoint" 2) +(def-joint-node nest-gun-elevator-lod0-jg "align" 1) + +(def-joint-node drill-plat-falling-lod0-jg "main" 3) +(def-joint-node drill-plat-falling-lod0-jg "prejoint" 2) +(def-joint-node drill-plat-falling-lod0-jg "align" 1) + +(def-joint-node prsn-chair-shackle-lod0-jg "lamp5" 12) +(def-joint-node prsn-chair-shackle-lod0-jg "lamp4" 11) +(def-joint-node prsn-chair-shackle-lod0-jg "lamp3" 10) +(def-joint-node prsn-chair-shackle-lod0-jg "lamp2" 9) +(def-joint-node prsn-chair-shackle-lod0-jg "lamp1" 8) +(def-joint-node prsn-chair-shackle-lod0-jg "shackled" 7) +(def-joint-node prsn-chair-shackle-lod0-jg "shacklec" 6) +(def-joint-node prsn-chair-shackle-lod0-jg "shackleb" 5) +(def-joint-node prsn-chair-shackle-lod0-jg "shacklea" 4) +(def-joint-node prsn-chair-shackle-lod0-jg "main" 3) +(def-joint-node prsn-chair-shackle-lod0-jg "prejoint" 2) +(def-joint-node prsn-chair-shackle-lod0-jg "align" 1) + +(def-joint-node ruins-tower-e-lod0-jg "ip" 53) +(def-joint-node ruins-tower-e-lod0-jg "io" 52) +(def-joint-node ruins-tower-e-lod0-jg "in" 51) +(def-joint-node ruins-tower-e-lod0-jg "im" 50) +(def-joint-node ruins-tower-e-lod0-jg "il" 49) +(def-joint-node ruins-tower-e-lod0-jg "ik" 48) +(def-joint-node ruins-tower-e-lod0-jg "ij" 47) +(def-joint-node ruins-tower-e-lod0-jg "ii" 46) +(def-joint-node ruins-tower-e-lod0-jg "ih" 45) +(def-joint-node ruins-tower-e-lod0-jg "ig" 44) +(def-joint-node ruins-tower-e-lod0-jg "if" 43) +(def-joint-node ruins-tower-e-lod0-jg "ie" 42) +(def-joint-node ruins-tower-e-lod0-jg "id" 41) +(def-joint-node ruins-tower-e-lod0-jg "ic" 40) +(def-joint-node ruins-tower-e-lod0-jg "ib" 39) +(def-joint-node ruins-tower-e-lod0-jg "ia" 38) +(def-joint-node ruins-tower-e-lod0-jg "hz" 37) +(def-joint-node ruins-tower-e-lod0-jg "hy" 36) +(def-joint-node ruins-tower-e-lod0-jg "hx" 35) +(def-joint-node ruins-tower-e-lod0-jg "hw" 34) +(def-joint-node ruins-tower-e-lod0-jg "hv" 33) +(def-joint-node ruins-tower-e-lod0-jg "hu" 32) +(def-joint-node ruins-tower-e-lod0-jg "ht" 31) +(def-joint-node ruins-tower-e-lod0-jg "hs" 30) +(def-joint-node ruins-tower-e-lod0-jg "hb" 13) +(def-joint-node ruins-tower-e-lod0-jg "ha" 12) +(def-joint-node ruins-tower-e-lod0-jg "gz" 11) +(def-joint-node ruins-tower-e-lod0-jg "gy" 10) +(def-joint-node ruins-tower-e-lod0-jg "gx" 9) +(def-joint-node ruins-tower-e-lod0-jg "gw" 8) +(def-joint-node ruins-tower-e-lod0-jg "gv" 7) +(def-joint-node ruins-tower-e-lod0-jg "gu" 6) +(def-joint-node ruins-tower-e-lod0-jg "gt" 5) +(def-joint-node ruins-tower-e-lod0-jg "gs" 4) +(def-joint-node ruins-tower-e-lod0-jg "gr" 3) +(def-joint-node ruins-tower-e-lod0-jg "prejoint" 2) +(def-joint-node ruins-tower-e-lod0-jg "align" 1) +(def-joint-node ruins-tower-e-lod0-jg "hc" 14) +(def-joint-node ruins-tower-e-lod0-jg "hd" 15) +(def-joint-node ruins-tower-e-lod0-jg "he" 16) +(def-joint-node ruins-tower-e-lod0-jg "hf" 17) +(def-joint-node ruins-tower-e-lod0-jg "hg" 18) +(def-joint-node ruins-tower-e-lod0-jg "hh" 19) +(def-joint-node ruins-tower-e-lod0-jg "hi" 20) +(def-joint-node ruins-tower-e-lod0-jg "hj" 21) +(def-joint-node ruins-tower-e-lod0-jg "hk" 22) +(def-joint-node ruins-tower-e-lod0-jg "hl" 23) +(def-joint-node ruins-tower-e-lod0-jg "hm" 24) +(def-joint-node ruins-tower-e-lod0-jg "hn" 25) +(def-joint-node ruins-tower-e-lod0-jg "ho" 26) +(def-joint-node ruins-tower-e-lod0-jg "hp" 27) +(def-joint-node ruins-tower-e-lod0-jg "hq" 28) +(def-joint-node ruins-tower-e-lod0-jg "hr" 29) + +(def-joint-node vehicle-turret-lod0-jg "main" 3) +(def-joint-node vehicle-turret-lod0-jg "prejoint" 2) +(def-joint-node vehicle-turret-lod0-jg "align" 1) + +(def-joint-node predator-lod0-jg "jaw" 32) +(def-joint-node predator-lod0-jg "Rball" 31) +(def-joint-node predator-lod0-jg "RoutsideClaw" 30) +(def-joint-node predator-lod0-jg "RshoulderPad" 13) +(def-joint-node predator-lod0-jg "leftblast" 12) +(def-joint-node predator-lod0-jg "Lelbow" 11) +(def-joint-node predator-lod0-jg "Lshoulder" 10) +(def-joint-node predator-lod0-jg "LshoulderPad" 9) +(def-joint-node predator-lod0-jg "head" 8) +(def-joint-node predator-lod0-jg "neck" 7) +(def-joint-node predator-lod0-jg "chest" 6) +(def-joint-node predator-lod0-jg "swivelMe" 5) +(def-joint-node predator-lod0-jg "trackgun" 4) +(def-joint-node predator-lod0-jg "main" 3) +(def-joint-node predator-lod0-jg "prejoint" 2) +(def-joint-node predator-lod0-jg "align" 1) +(def-joint-node predator-lod0-jg "Rshoulder" 14) +(def-joint-node predator-lod0-jg "Relbow" 15) +(def-joint-node predator-lod0-jg "right_blast" 16) +(def-joint-node predator-lod0-jg "hips" 17) +(def-joint-node predator-lod0-jg "Lthigh" 18) +(def-joint-node predator-lod0-jg "Lknee" 19) +(def-joint-node predator-lod0-jg "Lhindcannon" 20) +(def-joint-node predator-lod0-jg "Lankle" 21) +(def-joint-node predator-lod0-jg "Rthigh" 22) +(def-joint-node predator-lod0-jg "Rknee" 23) +(def-joint-node predator-lod0-jg "Rhindcannon" 24) +(def-joint-node predator-lod0-jg "Rankle" 25) +(def-joint-node predator-lod0-jg "LinsideClaw" 26) +(def-joint-node predator-lod0-jg "LoutsideClaw" 27) +(def-joint-node predator-lod0-jg "Lball" 28) +(def-joint-node predator-lod0-jg "RinsideClaw" 29) + +(def-joint-node under-break-wall-lod0-jg "bd" 60) +(def-joint-node under-break-wall-lod0-jg "z" 29) +(def-joint-node under-break-wall-lod0-jg "y" 28) +(def-joint-node under-break-wall-lod0-jg "x" 27) +(def-joint-node under-break-wall-lod0-jg "w" 26) +(def-joint-node under-break-wall-lod0-jg "v" 25) +(def-joint-node under-break-wall-lod0-jg "u" 24) +(def-joint-node under-break-wall-lod0-jg "t" 23) +(def-joint-node under-break-wall-lod0-jg "s" 22) +(def-joint-node under-break-wall-lod0-jg "r" 21) +(def-joint-node under-break-wall-lod0-jg "q" 20) +(def-joint-node under-break-wall-lod0-jg "p" 19) +(def-joint-node under-break-wall-lod0-jg "o" 18) +(def-joint-node under-break-wall-lod0-jg "n" 17) +(def-joint-node under-break-wall-lod0-jg "m" 16) +(def-joint-node under-break-wall-lod0-jg "l" 15) +(def-joint-node under-break-wall-lod0-jg "k" 14) +(def-joint-node under-break-wall-lod0-jg "align" 1) +(def-joint-node under-break-wall-lod0-jg "prejoint" 2) +(def-joint-node under-break-wall-lod0-jg "explode" 3) +(def-joint-node under-break-wall-lod0-jg "main" 4) +(def-joint-node under-break-wall-lod0-jg "b" 5) +(def-joint-node under-break-wall-lod0-jg "c" 6) +(def-joint-node under-break-wall-lod0-jg "d" 7) +(def-joint-node under-break-wall-lod0-jg "e" 8) +(def-joint-node under-break-wall-lod0-jg "f" 9) +(def-joint-node under-break-wall-lod0-jg "g" 10) +(def-joint-node under-break-wall-lod0-jg "h" 11) +(def-joint-node under-break-wall-lod0-jg "i" 12) +(def-joint-node under-break-wall-lod0-jg "j" 13) +(def-joint-node under-break-wall-lod0-jg "zz" 30) +(def-joint-node under-break-wall-lod0-jg "aa" 31) +(def-joint-node under-break-wall-lod0-jg "ab" 32) +(def-joint-node under-break-wall-lod0-jg "ac" 33) +(def-joint-node under-break-wall-lod0-jg "ad" 34) +(def-joint-node under-break-wall-lod0-jg "ae" 35) +(def-joint-node under-break-wall-lod0-jg "af" 36) +(def-joint-node under-break-wall-lod0-jg "ag" 37) +(def-joint-node under-break-wall-lod0-jg "ah" 38) +(def-joint-node under-break-wall-lod0-jg "ai" 39) +(def-joint-node under-break-wall-lod0-jg "aj" 40) +(def-joint-node under-break-wall-lod0-jg "ak" 41) +(def-joint-node under-break-wall-lod0-jg "al" 42) +(def-joint-node under-break-wall-lod0-jg "am" 43) +(def-joint-node under-break-wall-lod0-jg "an" 44) +(def-joint-node under-break-wall-lod0-jg "ao" 45) +(def-joint-node under-break-wall-lod0-jg "ap" 46) +(def-joint-node under-break-wall-lod0-jg "aq" 47) +(def-joint-node under-break-wall-lod0-jg "ar" 48) +(def-joint-node under-break-wall-lod0-jg "as" 49) +(def-joint-node under-break-wall-lod0-jg "at" 50) +(def-joint-node under-break-wall-lod0-jg "au" 51) +(def-joint-node under-break-wall-lod0-jg "av" 52) +(def-joint-node under-break-wall-lod0-jg "aw" 53) +(def-joint-node under-break-wall-lod0-jg "ax" 54) +(def-joint-node under-break-wall-lod0-jg "ay" 55) +(def-joint-node under-break-wall-lod0-jg "az" 56) +(def-joint-node under-break-wall-lod0-jg "ba" 57) +(def-joint-node under-break-wall-lod0-jg "bb" 58) +(def-joint-node under-break-wall-lod0-jg "bc" 59) + +(def-joint-node tomb-bounce-web-lod0-jg "tarp" 4) +(def-joint-node tomb-bounce-web-lod0-jg "base" 3) +(def-joint-node tomb-bounce-web-lod0-jg "prejoint" 2) +(def-joint-node tomb-bounce-web-lod0-jg "align" 1) + +(def-joint-node monster-frog-lod0-jg "reye" 24) +(def-joint-node monster-frog-lod0-jg "leye" 23) +(def-joint-node monster-frog-lod0-jg "jaw" 22) +(def-joint-node monster-frog-lod0-jg "tail" 21) +(def-joint-node monster-frog-lod0-jg "Rball" 20) +(def-joint-node monster-frog-lod0-jg "Rankle" 19) +(def-joint-node monster-frog-lod0-jg "Rknee" 18) +(def-joint-node monster-frog-lod0-jg "Rthigh" 17) +(def-joint-node monster-frog-lod0-jg "Lball" 16) +(def-joint-node monster-frog-lod0-jg "Lankle" 15) +(def-joint-node monster-frog-lod0-jg "Lknee" 14) +(def-joint-node monster-frog-lod0-jg "align" 1) +(def-joint-node monster-frog-lod0-jg "prejoint" 2) +(def-joint-node monster-frog-lod0-jg "main" 3) +(def-joint-node monster-frog-lod0-jg "chest" 4) +(def-joint-node monster-frog-lod0-jg "head" 5) +(def-joint-node monster-frog-lod0-jg "Lshoulder" 6) +(def-joint-node monster-frog-lod0-jg "Lelbow" 7) +(def-joint-node monster-frog-lod0-jg "Lhand" 8) +(def-joint-node monster-frog-lod0-jg "Rshoulder" 9) +(def-joint-node monster-frog-lod0-jg "Relbow" 10) +(def-joint-node monster-frog-lod0-jg "Rhand" 11) +(def-joint-node monster-frog-lod0-jg "hips" 12) +(def-joint-node monster-frog-lod0-jg "Lthigh" 13) + +(def-joint-node grunt-lod0-jg "Rball" 50) +(def-joint-node grunt-lod0-jg "Lball" 49) +(def-joint-node grunt-lod0-jg "Rbracelet" 48) +(def-joint-node grunt-lod0-jg "RmiddleB" 47) +(def-joint-node grunt-lod0-jg "RmiddleA" 46) +(def-joint-node grunt-lod0-jg "RthumbB" 45) +(def-joint-node grunt-lod0-jg "RthumbA" 44) +(def-joint-node grunt-lod0-jg "Lbracelet" 43) +(def-joint-node grunt-lod0-jg "LmiddleB" 42) +(def-joint-node grunt-lod0-jg "LmiddleA" 41) +(def-joint-node grunt-lod0-jg "LthumbB" 40) +(def-joint-node grunt-lod0-jg "LthumbA" 39) +(def-joint-node grunt-lod0-jg "RshoulderGuard" 38) +(def-joint-node grunt-lod0-jg "LshoulderGuard" 37) +(def-joint-node grunt-lod0-jg "RoutsideClaw" 36) +(def-joint-node grunt-lod0-jg "RinsideClaw" 35) +(def-joint-node grunt-lod0-jg "Rankle" 34) +(def-joint-node grunt-lod0-jg "Rhindcannon" 33) +(def-joint-node grunt-lod0-jg "Rknee" 32) +(def-joint-node grunt-lod0-jg "Rthigh" 31) +(def-joint-node grunt-lod0-jg "tail6" 30) +(def-joint-node grunt-lod0-jg "Rshoulder" 13) +(def-joint-node grunt-lod0-jg "Lhand" 12) +(def-joint-node grunt-lod0-jg "Lfrontcannon" 11) +(def-joint-node grunt-lod0-jg "Lelbow" 10) +(def-joint-node grunt-lod0-jg "Lshoulder" 9) +(def-joint-node grunt-lod0-jg "jawEND" 8) +(def-joint-node grunt-lod0-jg "jaw" 7) +(def-joint-node grunt-lod0-jg "head" 6) +(def-joint-node grunt-lod0-jg "neck" 5) +(def-joint-node grunt-lod0-jg "chest" 4) +(def-joint-node grunt-lod0-jg "main" 3) +(def-joint-node grunt-lod0-jg "prejoint" 2) +(def-joint-node grunt-lod0-jg "align" 1) +(def-joint-node grunt-lod0-jg "Relbow" 14) +(def-joint-node grunt-lod0-jg "Rfrontcannon" 15) +(def-joint-node grunt-lod0-jg "Rhand" 16) +(def-joint-node grunt-lod0-jg "loSpine" 17) +(def-joint-node grunt-lod0-jg "hips" 18) +(def-joint-node grunt-lod0-jg "Lthigh" 19) +(def-joint-node grunt-lod0-jg "Lknee" 20) +(def-joint-node grunt-lod0-jg "Lhindcannon" 21) +(def-joint-node grunt-lod0-jg "Lankle" 22) +(def-joint-node grunt-lod0-jg "LinsideClaw" 23) +(def-joint-node grunt-lod0-jg "LoutsideClaw" 24) +(def-joint-node grunt-lod0-jg "tail1" 25) +(def-joint-node grunt-lod0-jg "tail2" 26) +(def-joint-node grunt-lod0-jg "tail3" 27) +(def-joint-node grunt-lod0-jg "tail4" 28) +(def-joint-node grunt-lod0-jg "tail5" 29) + +(def-joint-node gun-dummy-a-explode-lod0-jg "bodypart14" 17) +(def-joint-node gun-dummy-a-explode-lod0-jg "bodypart13" 16) +(def-joint-node gun-dummy-a-explode-lod0-jg "bodypart12" 15) +(def-joint-node gun-dummy-a-explode-lod0-jg "bodypart11" 14) +(def-joint-node gun-dummy-a-explode-lod0-jg "align" 1) +(def-joint-node gun-dummy-a-explode-lod0-jg "prejoint" 2) +(def-joint-node gun-dummy-a-explode-lod0-jg "main" 3) +(def-joint-node gun-dummy-a-explode-lod0-jg "bodypart1" 4) +(def-joint-node gun-dummy-a-explode-lod0-jg "bodypart2" 5) +(def-joint-node gun-dummy-a-explode-lod0-jg "bodypart3" 6) +(def-joint-node gun-dummy-a-explode-lod0-jg "bodypart4" 7) +(def-joint-node gun-dummy-a-explode-lod0-jg "bodypart5" 8) +(def-joint-node gun-dummy-a-explode-lod0-jg "bodypart6" 9) +(def-joint-node gun-dummy-a-explode-lod0-jg "bodypart7" 10) +(def-joint-node gun-dummy-a-explode-lod0-jg "bodypart8" 11) +(def-joint-node gun-dummy-a-explode-lod0-jg "bodypart9" 12) +(def-joint-node gun-dummy-a-explode-lod0-jg "bodypart10" 13) + +(def-joint-node paddy-wagon-lod0-jg "steering" 5) +(def-joint-node paddy-wagon-lod0-jg "hatch" 4) +(def-joint-node paddy-wagon-lod0-jg "main" 3) +(def-joint-node paddy-wagon-lod0-jg "prejoint" 2) +(def-joint-node paddy-wagon-lod0-jg "align" 1) + +(def-joint-node ruins-tower-d-lod0-jg "fe" 9) +(def-joint-node ruins-tower-d-lod0-jg "fd" 8) +(def-joint-node ruins-tower-d-lod0-jg "fc" 7) +(def-joint-node ruins-tower-d-lod0-jg "fb" 6) +(def-joint-node ruins-tower-d-lod0-jg "fa" 5) +(def-joint-node ruins-tower-d-lod0-jg "ez" 4) +(def-joint-node ruins-tower-d-lod0-jg "ey" 3) +(def-joint-node ruins-tower-d-lod0-jg "prejoint" 2) +(def-joint-node ruins-tower-d-lod0-jg "align" 1) + +(def-joint-node citizen-norm-lod0-jg "RmiddleA" 23) +(def-joint-node citizen-norm-lod0-jg "LmiddleA" 22) +(def-joint-node citizen-norm-lod0-jg "Rball" 21) +(def-joint-node citizen-norm-lod0-jg "Rankle" 20) +(def-joint-node citizen-norm-lod0-jg "Rknee" 19) +(def-joint-node citizen-norm-lod0-jg "Rthigh" 18) +(def-joint-node citizen-norm-lod0-jg "Lball" 17) +(def-joint-node citizen-norm-lod0-jg "Lankle" 16) +(def-joint-node citizen-norm-lod0-jg "Lknee" 15) +(def-joint-node citizen-norm-lod0-jg "Lthigh" 14) +(def-joint-node citizen-norm-lod0-jg "align" 1) +(def-joint-node citizen-norm-lod0-jg "prejoint" 2) +(def-joint-node citizen-norm-lod0-jg "main" 3) +(def-joint-node citizen-norm-lod0-jg "chest" 4) +(def-joint-node citizen-norm-lod0-jg "neck" 5) +(def-joint-node citizen-norm-lod0-jg "head" 6) +(def-joint-node citizen-norm-lod0-jg "Lshoulder" 7) +(def-joint-node citizen-norm-lod0-jg "Lelbow" 8) +(def-joint-node citizen-norm-lod0-jg "Lhand" 9) +(def-joint-node citizen-norm-lod0-jg "Rshoulder" 10) +(def-joint-node citizen-norm-lod0-jg "Relbow" 11) +(def-joint-node citizen-norm-lod0-jg "Rhand" 12) +(def-joint-node citizen-norm-lod0-jg "hips" 13) + +(def-joint-node gun-cit-c-explode-lod0-jg "citc13" 17) +(def-joint-node gun-cit-c-explode-lod0-jg "citc12" 16) +(def-joint-node gun-cit-c-explode-lod0-jg "citc11" 15) +(def-joint-node gun-cit-c-explode-lod0-jg "citc10" 14) +(def-joint-node gun-cit-c-explode-lod0-jg "align" 1) +(def-joint-node gun-cit-c-explode-lod0-jg "prejoint" 2) +(def-joint-node gun-cit-c-explode-lod0-jg "main" 3) +(def-joint-node gun-cit-c-explode-lod0-jg "citc" 4) +(def-joint-node gun-cit-c-explode-lod0-jg "citc1" 5) +(def-joint-node gun-cit-c-explode-lod0-jg "citc2" 6) +(def-joint-node gun-cit-c-explode-lod0-jg "citc3" 7) +(def-joint-node gun-cit-c-explode-lod0-jg "citc4" 8) +(def-joint-node gun-cit-c-explode-lod0-jg "citc5" 9) +(def-joint-node gun-cit-c-explode-lod0-jg "citc6" 10) +(def-joint-node gun-cit-c-explode-lod0-jg "citc7" 11) +(def-joint-node gun-cit-c-explode-lod0-jg "citc8" 12) +(def-joint-node gun-cit-c-explode-lod0-jg "citc9" 13) + +(def-joint-node rift-rider-lod0-jg "handle_j" 23) +(def-joint-node rift-rider-lod0-jg "handle_i" 22) +(def-joint-node rift-rider-lod0-jg "handle_h" 21) +(def-joint-node rift-rider-lod0-jg "handle_g" 20) +(def-joint-node rift-rider-lod0-jg "handle_f" 19) +(def-joint-node rift-rider-lod0-jg "handle_e" 18) +(def-joint-node rift-rider-lod0-jg "handle_d" 17) +(def-joint-node rift-rider-lod0-jg "handle_c" 16) +(def-joint-node rift-rider-lod0-jg "handle_b" 15) +(def-joint-node rift-rider-lod0-jg "handle_a" 14) +(def-joint-node rift-rider-lod0-jg "align" 1) +(def-joint-node rift-rider-lod0-jg "prejoint" 2) +(def-joint-node rift-rider-lod0-jg "main" 3) +(def-joint-node rift-rider-lod0-jg "seats" 4) +(def-joint-node rift-rider-lod0-jg "dash" 5) +(def-joint-node rift-rider-lod0-jg "button_a" 6) +(def-joint-node rift-rider-lod0-jg "button_b" 7) +(def-joint-node rift-rider-lod0-jg "button_c" 8) +(def-joint-node rift-rider-lod0-jg "button_d" 9) +(def-joint-node rift-rider-lod0-jg "heart_of_mar" 10) +(def-joint-node rift-rider-lod0-jg "screen_a" 11) +(def-joint-node rift-rider-lod0-jg "screen_b" 12) +(def-joint-node rift-rider-lod0-jg "jet" 13) + +(def-joint-node mantis-lod0-jg "tailD" 28) +(def-joint-node mantis-lod0-jg "tailC" 27) +(def-joint-node mantis-lod0-jg "tailB" 26) +(def-joint-node mantis-lod0-jg "tailA" 25) +(def-joint-node mantis-lod0-jg "Rspike" 24) +(def-joint-node mantis-lod0-jg "Rheel" 23) +(def-joint-node mantis-lod0-jg "Rtibia" 22) +(def-joint-node mantis-lod0-jg "Rfemur" 21) +(def-joint-node mantis-lod0-jg "Rcoxa" 20) +(def-joint-node mantis-lod0-jg "Lspike" 19) +(def-joint-node mantis-lod0-jg "Lheel" 18) +(def-joint-node mantis-lod0-jg "Ltibia" 17) +(def-joint-node mantis-lod0-jg "Lfemur" 16) +(def-joint-node mantis-lod0-jg "Lcoxa" 15) +(def-joint-node mantis-lod0-jg "hips" 14) +(def-joint-node mantis-lod0-jg "align" 1) +(def-joint-node mantis-lod0-jg "prejoint" 2) +(def-joint-node mantis-lod0-jg "main" 3) +(def-joint-node mantis-lod0-jg "chest" 4) +(def-joint-node mantis-lod0-jg "neckA" 5) +(def-joint-node mantis-lod0-jg "neckB" 6) +(def-joint-node mantis-lod0-jg "head" 7) +(def-joint-node mantis-lod0-jg "Lshoulder" 8) +(def-joint-node mantis-lod0-jg "Lelbow" 9) +(def-joint-node mantis-lod0-jg "Lhand" 10) +(def-joint-node mantis-lod0-jg "Rshoulder" 11) +(def-joint-node mantis-lod0-jg "Relbow" 12) +(def-joint-node mantis-lod0-jg "Rhand" 13) + +(def-joint-node strip-chain-crate-lod0-jg "main" 3) +(def-joint-node strip-chain-crate-lod0-jg "prejoint" 2) +(def-joint-node strip-chain-crate-lod0-jg "align" 1) + +(def-joint-node ruins-breakable-wall-6-lod0-jg "main" 74) +(def-joint-node ruins-breakable-wall-6-lod0-jg "71" 73) +(def-joint-node ruins-breakable-wall-6-lod0-jg "70" 72) +(def-joint-node ruins-breakable-wall-6-lod0-jg "69" 71) +(def-joint-node ruins-breakable-wall-6-lod0-jg "68" 70) +(def-joint-node ruins-breakable-wall-6-lod0-jg "67" 69) +(def-joint-node ruins-breakable-wall-6-lod0-jg "66" 68) +(def-joint-node ruins-breakable-wall-6-lod0-jg "65" 67) +(def-joint-node ruins-breakable-wall-6-lod0-jg "64" 66) +(def-joint-node ruins-breakable-wall-6-lod0-jg "63" 65) +(def-joint-node ruins-breakable-wall-6-lod0-jg "62" 64) +(def-joint-node ruins-breakable-wall-6-lod0-jg "61" 63) +(def-joint-node ruins-breakable-wall-6-lod0-jg "60" 62) +(def-joint-node ruins-breakable-wall-6-lod0-jg "59" 61) +(def-joint-node ruins-breakable-wall-6-lod0-jg "58" 60) +(def-joint-node ruins-breakable-wall-6-lod0-jg "27" 29) +(def-joint-node ruins-breakable-wall-6-lod0-jg "26" 28) +(def-joint-node ruins-breakable-wall-6-lod0-jg "25" 27) +(def-joint-node ruins-breakable-wall-6-lod0-jg "24" 26) +(def-joint-node ruins-breakable-wall-6-lod0-jg "23" 25) +(def-joint-node ruins-breakable-wall-6-lod0-jg "22" 24) +(def-joint-node ruins-breakable-wall-6-lod0-jg "21" 23) +(def-joint-node ruins-breakable-wall-6-lod0-jg "20" 22) +(def-joint-node ruins-breakable-wall-6-lod0-jg "19" 21) +(def-joint-node ruins-breakable-wall-6-lod0-jg "18" 20) +(def-joint-node ruins-breakable-wall-6-lod0-jg "17" 19) +(def-joint-node ruins-breakable-wall-6-lod0-jg "16" 18) +(def-joint-node ruins-breakable-wall-6-lod0-jg "15" 17) +(def-joint-node ruins-breakable-wall-6-lod0-jg "14" 16) +(def-joint-node ruins-breakable-wall-6-lod0-jg "13" 15) +(def-joint-node ruins-breakable-wall-6-lod0-jg "12" 14) +(def-joint-node ruins-breakable-wall-6-lod0-jg "align" 1) +(def-joint-node ruins-breakable-wall-6-lod0-jg "prejoint" 2) +(def-joint-node ruins-breakable-wall-6-lod0-jg "1" 3) +(def-joint-node ruins-breakable-wall-6-lod0-jg "2" 4) +(def-joint-node ruins-breakable-wall-6-lod0-jg "3" 5) +(def-joint-node ruins-breakable-wall-6-lod0-jg "4" 6) +(def-joint-node ruins-breakable-wall-6-lod0-jg "5" 7) +(def-joint-node ruins-breakable-wall-6-lod0-jg "6" 8) +(def-joint-node ruins-breakable-wall-6-lod0-jg "7" 9) +(def-joint-node ruins-breakable-wall-6-lod0-jg "8" 10) +(def-joint-node ruins-breakable-wall-6-lod0-jg "9" 11) +(def-joint-node ruins-breakable-wall-6-lod0-jg "10" 12) +(def-joint-node ruins-breakable-wall-6-lod0-jg "11" 13) +(def-joint-node ruins-breakable-wall-6-lod0-jg "28" 30) +(def-joint-node ruins-breakable-wall-6-lod0-jg "29" 31) +(def-joint-node ruins-breakable-wall-6-lod0-jg "30" 32) +(def-joint-node ruins-breakable-wall-6-lod0-jg "31" 33) +(def-joint-node ruins-breakable-wall-6-lod0-jg "32" 34) +(def-joint-node ruins-breakable-wall-6-lod0-jg "33" 35) +(def-joint-node ruins-breakable-wall-6-lod0-jg "34" 36) +(def-joint-node ruins-breakable-wall-6-lod0-jg "35" 37) +(def-joint-node ruins-breakable-wall-6-lod0-jg "36" 38) +(def-joint-node ruins-breakable-wall-6-lod0-jg "37" 39) +(def-joint-node ruins-breakable-wall-6-lod0-jg "38" 40) +(def-joint-node ruins-breakable-wall-6-lod0-jg "39" 41) +(def-joint-node ruins-breakable-wall-6-lod0-jg "40" 42) +(def-joint-node ruins-breakable-wall-6-lod0-jg "41" 43) +(def-joint-node ruins-breakable-wall-6-lod0-jg "42" 44) +(def-joint-node ruins-breakable-wall-6-lod0-jg "43" 45) +(def-joint-node ruins-breakable-wall-6-lod0-jg "44" 46) +(def-joint-node ruins-breakable-wall-6-lod0-jg "45" 47) +(def-joint-node ruins-breakable-wall-6-lod0-jg "46" 48) +(def-joint-node ruins-breakable-wall-6-lod0-jg "47" 49) +(def-joint-node ruins-breakable-wall-6-lod0-jg "48" 50) +(def-joint-node ruins-breakable-wall-6-lod0-jg "49" 51) +(def-joint-node ruins-breakable-wall-6-lod0-jg "50" 52) +(def-joint-node ruins-breakable-wall-6-lod0-jg "51" 53) +(def-joint-node ruins-breakable-wall-6-lod0-jg "52" 54) +(def-joint-node ruins-breakable-wall-6-lod0-jg "53" 55) +(def-joint-node ruins-breakable-wall-6-lod0-jg "54" 56) +(def-joint-node ruins-breakable-wall-6-lod0-jg "55" 57) +(def-joint-node ruins-breakable-wall-6-lod0-jg "56" 58) +(def-joint-node ruins-breakable-wall-6-lod0-jg "57" 59) + +(def-joint-node hide-light-fog-lod0-jg "boneless" 3) +(def-joint-node hide-light-fog-lod0-jg "prejoint" 2) +(def-joint-node hide-light-fog-lod0-jg "align" 1) + +(def-joint-node water-anim-nest-dark-eco-botpool-lod0-jg "boneless" 3) +(def-joint-node water-anim-nest-dark-eco-botpool-lod0-jg "prejoint" 2) +(def-joint-node water-anim-nest-dark-eco-botpool-lod0-jg "align" 1) + +(def-joint-node tomb-door-lod0-jg "Rdoor" 5) +(def-joint-node tomb-door-lod0-jg "Ldoor" 4) +(def-joint-node tomb-door-lod0-jg "main" 3) +(def-joint-node tomb-door-lod0-jg "prejoint" 2) +(def-joint-node tomb-door-lod0-jg "align" 1) + +(def-joint-node nest-gun-parts-lod0-jg "hinge_c" 26) +(def-joint-node nest-gun-parts-lod0-jg "hinge_b" 25) +(def-joint-node nest-gun-parts-lod0-jg "hinge_a" 24) +(def-joint-node nest-gun-parts-lod0-jg "lgwing_c" 23) +(def-joint-node nest-gun-parts-lod0-jg "lgwing_b" 22) +(def-joint-node nest-gun-parts-lod0-jg "lgwing_a" 21) +(def-joint-node nest-gun-parts-lod0-jg "wing_c" 20) +(def-joint-node nest-gun-parts-lod0-jg "wing_b" 19) +(def-joint-node nest-gun-parts-lod0-jg "wing_a" 18) +(def-joint-node nest-gun-parts-lod0-jg "ring_j" 17) +(def-joint-node nest-gun-parts-lod0-jg "ring_i" 16) +(def-joint-node nest-gun-parts-lod0-jg "ring_h" 15) +(def-joint-node nest-gun-parts-lod0-jg "ring_g" 14) +(def-joint-node nest-gun-parts-lod0-jg "align" 1) +(def-joint-node nest-gun-parts-lod0-jg "prejoint" 2) +(def-joint-node nest-gun-parts-lod0-jg "main" 3) +(def-joint-node nest-gun-parts-lod0-jg "hood" 4) +(def-joint-node nest-gun-parts-lod0-jg "topsteam_1" 5) +(def-joint-node nest-gun-parts-lod0-jg "topsteam_2" 6) +(def-joint-node nest-gun-parts-lod0-jg "topsteam_3" 7) +(def-joint-node nest-gun-parts-lod0-jg "ring_a" 8) +(def-joint-node nest-gun-parts-lod0-jg "ring_b" 9) +(def-joint-node nest-gun-parts-lod0-jg "ring_c" 10) +(def-joint-node nest-gun-parts-lod0-jg "ring_d" 11) +(def-joint-node nest-gun-parts-lod0-jg "ring_e" 12) +(def-joint-node nest-gun-parts-lod0-jg "ring_f" 13) + +(def-joint-node drill-plat-lod0-jg "circles" 8) +(def-joint-node drill-plat-lod0-jg "plat" 7) +(def-joint-node drill-plat-lod0-jg "shafttrans" 6) +(def-joint-node drill-plat-lod0-jg "shaftrot" 5) +(def-joint-node drill-plat-lod0-jg "rotpiston" 4) +(def-joint-node drill-plat-lod0-jg "main" 3) +(def-joint-node drill-plat-lod0-jg "prejoint" 2) +(def-joint-node drill-plat-lod0-jg "align" 1) + +(def-joint-node hud-ring-part-lod0-jg "main" 3) +(def-joint-node hud-ring-part-lod0-jg "prejoint" 2) +(def-joint-node hud-ring-part-lod0-jg "align" 1) + +(def-joint-node water-anim-mincan-exitb-pool-lod0-jg "boneless" 3) +(def-joint-node water-anim-mincan-exitb-pool-lod0-jg "prejoint" 2) +(def-joint-node water-anim-mincan-exitb-pool-lod0-jg "align" 1) + +(def-joint-node krew-clone-lod0-jg "fan" 41) +(def-joint-node krew-clone-lod0-jg "Rknee" 40) +(def-joint-node krew-clone-lod0-jg "Rthigh" 39) +(def-joint-node krew-clone-lod0-jg "Lknee" 38) +(def-joint-node krew-clone-lod0-jg "Lthigh" 37) +(def-joint-node krew-clone-lod0-jg "hips" 36) +(def-joint-node krew-clone-lod0-jg "leftuarmA" 35) +(def-joint-node krew-clone-lod0-jg "rightuarmA" 34) +(def-joint-node krew-clone-lod0-jg "lightEnd" 33) +(def-joint-node krew-clone-lod0-jg "lightC" 32) +(def-joint-node krew-clone-lod0-jg "lightB" 31) +(def-joint-node krew-clone-lod0-jg "lightA" 30) +(def-joint-node krew-clone-lod0-jg "LmiddleA" 13) +(def-joint-node krew-clone-lod0-jg "LindexC" 12) +(def-joint-node krew-clone-lod0-jg "LindexB" 11) +(def-joint-node krew-clone-lod0-jg "LindexA" 10) +(def-joint-node krew-clone-lod0-jg "LthumbA" 9) +(def-joint-node krew-clone-lod0-jg "Lhand" 8) +(def-joint-node krew-clone-lod0-jg "Lelbow" 7) +(def-joint-node krew-clone-lod0-jg "Lshoulder" 6) +(def-joint-node krew-clone-lod0-jg "neck" 5) +(def-joint-node krew-clone-lod0-jg "chest" 4) +(def-joint-node krew-clone-lod0-jg "main" 3) +(def-joint-node krew-clone-lod0-jg "prejoint" 2) +(def-joint-node krew-clone-lod0-jg "align" 1) +(def-joint-node krew-clone-lod0-jg "LmiddleB" 14) +(def-joint-node krew-clone-lod0-jg "LpinkyA" 15) +(def-joint-node krew-clone-lod0-jg "LpinkyB" 16) +(def-joint-node krew-clone-lod0-jg "LpinkyC" 17) +(def-joint-node krew-clone-lod0-jg "Rshoulder" 18) +(def-joint-node krew-clone-lod0-jg "Relbow" 19) +(def-joint-node krew-clone-lod0-jg "Rhand" 20) +(def-joint-node krew-clone-lod0-jg "RthumbA" 21) +(def-joint-node krew-clone-lod0-jg "RindexA" 22) +(def-joint-node krew-clone-lod0-jg "RindexB" 23) +(def-joint-node krew-clone-lod0-jg "RindexC" 24) +(def-joint-node krew-clone-lod0-jg "RmiddleA" 25) +(def-joint-node krew-clone-lod0-jg "RmiddleB" 26) +(def-joint-node krew-clone-lod0-jg "RpinkyA" 27) +(def-joint-node krew-clone-lod0-jg "RpinkyB" 28) +(def-joint-node krew-clone-lod0-jg "RpinkyC" 29) + +(def-joint-node baron-highres-lod0-jg "rctailB" 71) +(def-joint-node baron-highres-lod0-jg "r_ctailA" 70) +(def-joint-node baron-highres-lod0-jg "lctailB" 69) +(def-joint-node baron-highres-lod0-jg "lctailA" 68) +(def-joint-node baron-highres-lod0-jg "BKtailb" 67) +(def-joint-node baron-highres-lod0-jg "frflapB" 66) +(def-joint-node baron-highres-lod0-jg "frflapA" 65) +(def-joint-node baron-highres-lod0-jg "swordB" 64) +(def-joint-node baron-highres-lod0-jg "swordA" 63) +(def-joint-node baron-highres-lod0-jg "Rball" 62) +(def-joint-node baron-highres-lod0-jg "Lball" 61) +(def-joint-node baron-highres-lod0-jg "RringC" 60) +(def-joint-node baron-highres-lod0-jg "lshoulderplateA" 29) +(def-joint-node baron-highres-lod0-jg "RpinkyC" 28) +(def-joint-node baron-highres-lod0-jg "RpinkyB" 27) +(def-joint-node baron-highres-lod0-jg "RpinkyA" 26) +(def-joint-node baron-highres-lod0-jg "RindexC" 25) +(def-joint-node baron-highres-lod0-jg "RindexB" 24) +(def-joint-node baron-highres-lod0-jg "RindexA" 23) +(def-joint-node baron-highres-lod0-jg "Rhand" 22) +(def-joint-node baron-highres-lod0-jg "Relbow" 21) +(def-joint-node baron-highres-lod0-jg "Rshoulder" 20) +(def-joint-node baron-highres-lod0-jg "LpinkyC" 19) +(def-joint-node baron-highres-lod0-jg "LpinkyB" 18) +(def-joint-node baron-highres-lod0-jg "LpinkyA" 17) +(def-joint-node baron-highres-lod0-jg "LindexC" 16) +(def-joint-node baron-highres-lod0-jg "LindexB" 15) +(def-joint-node baron-highres-lod0-jg "LindexA" 14) +(def-joint-node baron-highres-lod0-jg "align" 1) +(def-joint-node baron-highres-lod0-jg "prejoint" 2) +(def-joint-node baron-highres-lod0-jg "main" 3) +(def-joint-node baron-highres-lod0-jg "chest" 4) +(def-joint-node baron-highres-lod0-jg "neck" 5) +(def-joint-node baron-highres-lod0-jg "head" 6) +(def-joint-node baron-highres-lod0-jg "learA" 7) +(def-joint-node baron-highres-lod0-jg "learB" 8) +(def-joint-node baron-highres-lod0-jg "rearA" 9) +(def-joint-node baron-highres-lod0-jg "rearB" 10) +(def-joint-node baron-highres-lod0-jg "Lshoulder" 11) +(def-joint-node baron-highres-lod0-jg "Lelbow" 12) +(def-joint-node baron-highres-lod0-jg "Lhand" 13) +(def-joint-node baron-highres-lod0-jg "rshoulderplateA" 30) +(def-joint-node baron-highres-lod0-jg "hips" 31) +(def-joint-node baron-highres-lod0-jg "Lthigh" 32) +(def-joint-node baron-highres-lod0-jg "Lknee" 33) +(def-joint-node baron-highres-lod0-jg "Lankle" 34) +(def-joint-node baron-highres-lod0-jg "Rthigh" 35) +(def-joint-node baron-highres-lod0-jg "Rknee" 36) +(def-joint-node baron-highres-lod0-jg "Rankle" 37) +(def-joint-node baron-highres-lod0-jg "bkflapA" 38) +(def-joint-node baron-highres-lod0-jg "bkflapB" 39) +(def-joint-node baron-highres-lod0-jg "BKtaila" 40) +(def-joint-node baron-highres-lod0-jg "sword" 41) +(def-joint-node baron-highres-lod0-jg "swordnode" 42) +(def-joint-node baron-highres-lod0-jg "LthumbA" 43) +(def-joint-node baron-highres-lod0-jg "LthumbB" 44) +(def-joint-node baron-highres-lod0-jg "LthumbC" 45) +(def-joint-node baron-highres-lod0-jg "LmiddleA" 46) +(def-joint-node baron-highres-lod0-jg "LmiddleB" 47) +(def-joint-node baron-highres-lod0-jg "LmiddleC" 48) +(def-joint-node baron-highres-lod0-jg "LringA" 49) +(def-joint-node baron-highres-lod0-jg "LringB" 50) +(def-joint-node baron-highres-lod0-jg "LringC" 51) +(def-joint-node baron-highres-lod0-jg "RthumbA" 52) +(def-joint-node baron-highres-lod0-jg "RthumbB" 53) +(def-joint-node baron-highres-lod0-jg "RthumbC" 54) +(def-joint-node baron-highres-lod0-jg "RmiddleA" 55) +(def-joint-node baron-highres-lod0-jg "RmiddleB" 56) +(def-joint-node baron-highres-lod0-jg "RmiddleC" 57) +(def-joint-node baron-highres-lod0-jg "RringA" 58) +(def-joint-node baron-highres-lod0-jg "RringB" 59) + +(def-joint-node gun-cit-b-explode-lod0-jg "citb14" 18) +(def-joint-node gun-cit-b-explode-lod0-jg "citb13" 17) +(def-joint-node gun-cit-b-explode-lod0-jg "citb12" 16) +(def-joint-node gun-cit-b-explode-lod0-jg "citb11" 15) +(def-joint-node gun-cit-b-explode-lod0-jg "citb10" 14) +(def-joint-node gun-cit-b-explode-lod0-jg "align" 1) +(def-joint-node gun-cit-b-explode-lod0-jg "prejoint" 2) +(def-joint-node gun-cit-b-explode-lod0-jg "main" 3) +(def-joint-node gun-cit-b-explode-lod0-jg "citb" 4) +(def-joint-node gun-cit-b-explode-lod0-jg "citb1" 5) +(def-joint-node gun-cit-b-explode-lod0-jg "citb2" 6) +(def-joint-node gun-cit-b-explode-lod0-jg "citb3" 7) +(def-joint-node gun-cit-b-explode-lod0-jg "citb4" 8) +(def-joint-node gun-cit-b-explode-lod0-jg "citb5" 9) +(def-joint-node gun-cit-b-explode-lod0-jg "citb6" 10) +(def-joint-node gun-cit-b-explode-lod0-jg "citb7" 11) +(def-joint-node gun-cit-b-explode-lod0-jg "citb8" 12) +(def-joint-node gun-cit-b-explode-lod0-jg "citb9" 13) + +(def-joint-node dig-digger-explode-lod0-jg "zz" 18) +(def-joint-node dig-digger-explode-lod0-jg "z" 17) +(def-joint-node dig-digger-explode-lod0-jg "y" 16) +(def-joint-node dig-digger-explode-lod0-jg "x" 15) +(def-joint-node dig-digger-explode-lod0-jg "w" 14) +(def-joint-node dig-digger-explode-lod0-jg "align" 1) +(def-joint-node dig-digger-explode-lod0-jg "prejoint" 2) +(def-joint-node dig-digger-explode-lod0-jg "explode" 3) +(def-joint-node dig-digger-explode-lod0-jg "main" 4) +(def-joint-node dig-digger-explode-lod0-jg "n" 5) +(def-joint-node dig-digger-explode-lod0-jg "o" 6) +(def-joint-node dig-digger-explode-lod0-jg "p" 7) +(def-joint-node dig-digger-explode-lod0-jg "q" 8) +(def-joint-node dig-digger-explode-lod0-jg "r" 9) +(def-joint-node dig-digger-explode-lod0-jg "s" 10) +(def-joint-node dig-digger-explode-lod0-jg "t" 11) +(def-joint-node dig-digger-explode-lod0-jg "u" 12) +(def-joint-node dig-digger-explode-lod0-jg "v" 13) + +(def-joint-node gun-upgrade-a-lod0-jg "main" 3) +(def-joint-node gun-upgrade-a-lod0-jg "prejoint" 2) +(def-joint-node gun-upgrade-a-lod0-jg "align" 1) + +(def-joint-node rift-rider-chunk-a-lod0-jg "main" 3) +(def-joint-node rift-rider-chunk-a-lod0-jg "prejoint" 2) +(def-joint-node rift-rider-chunk-a-lod0-jg "align" 1) + +(def-joint-node cas-trapdoor-explode-lod0-jg "explo17" 20) +(def-joint-node cas-trapdoor-explode-lod0-jg "explo16" 19) +(def-joint-node cas-trapdoor-explode-lod0-jg "explo15" 18) +(def-joint-node cas-trapdoor-explode-lod0-jg "explo14" 17) +(def-joint-node cas-trapdoor-explode-lod0-jg "explo13" 16) +(def-joint-node cas-trapdoor-explode-lod0-jg "explo12" 15) +(def-joint-node cas-trapdoor-explode-lod0-jg "explo11" 14) +(def-joint-node cas-trapdoor-explode-lod0-jg "align" 1) +(def-joint-node cas-trapdoor-explode-lod0-jg "prejoint" 2) +(def-joint-node cas-trapdoor-explode-lod0-jg "main_" 3) +(def-joint-node cas-trapdoor-explode-lod0-jg "explo1" 4) +(def-joint-node cas-trapdoor-explode-lod0-jg "explo2" 5) +(def-joint-node cas-trapdoor-explode-lod0-jg "explo3" 6) +(def-joint-node cas-trapdoor-explode-lod0-jg "explo4" 7) +(def-joint-node cas-trapdoor-explode-lod0-jg "explo5" 8) +(def-joint-node cas-trapdoor-explode-lod0-jg "explo6" 9) +(def-joint-node cas-trapdoor-explode-lod0-jg "explo7" 10) +(def-joint-node cas-trapdoor-explode-lod0-jg "explo8" 11) +(def-joint-node cas-trapdoor-explode-lod0-jg "explo9" 12) +(def-joint-node cas-trapdoor-explode-lod0-jg "explo10" 13) + +(def-joint-node gun-lod0-jg "magazineDark" 35) +(def-joint-node gun-lod0-jg "magazineYellow" 34) +(def-joint-node gun-lod0-jg "magazineBlue" 33) +(def-joint-node gun-lod0-jg "magazineRed" 32) +(def-joint-node gun-lod0-jg "peace" 31) +(def-joint-node gun-lod0-jg "pump" 30) +(def-joint-node gun-lod0-jg "muzzle" 13) +(def-joint-node gun-lod0-jg "barrelExtend" 12) +(def-joint-node gun-lod0-jg "barrelTip" 11) +(def-joint-node gun-lod0-jg "barrelCenter" 10) +(def-joint-node gun-lod0-jg "cylinders" 9) +(def-joint-node gun-lod0-jg "barrelPivot" 8) +(def-joint-node gun-lod0-jg "backCoverBar" 7) +(def-joint-node gun-lod0-jg "backHandle" 6) +(def-joint-node gun-lod0-jg "backBottomBar" 5) +(def-joint-node gun-lod0-jg "backPivot" 4) +(def-joint-node gun-lod0-jg "main" 3) +(def-joint-node gun-lod0-jg "prejoint" 2) +(def-joint-node gun-lod0-jg "align" 1) +(def-joint-node gun-lod0-jg "laser" 14) +(def-joint-node gun-lod0-jg "backTopBar" 15) +(def-joint-node gun-lod0-jg "backCover" 16) +(def-joint-node gun-lod0-jg "grip" 17) +(def-joint-node gun-lod0-jg "barrelMid" 18) +(def-joint-node gun-lod0-jg "grenadeTipBase" 19) +(def-joint-node gun-lod0-jg "grenadeTip" 20) +(def-joint-node gun-lod0-jg "barrelTopRight" 21) +(def-joint-node gun-lod0-jg "barrelTopLeft" 22) +(def-joint-node gun-lod0-jg "barrelBottom" 23) +(def-joint-node gun-lod0-jg "cylTopBot" 24) +(def-joint-node gun-lod0-jg "barrelBottomLeft" 25) +(def-joint-node gun-lod0-jg "barrelBottomRight" 26) +(def-joint-node gun-lod0-jg "shieldT" 27) +(def-joint-node gun-lod0-jg "shieldL" 28) +(def-joint-node gun-lod0-jg "shieldR" 29) + +(def-joint-node particleman-lod0-jg "particleC" 6) +(def-joint-node particleman-lod0-jg "particleB" 5) +(def-joint-node particleman-lod0-jg "particleA" 4) +(def-joint-node particleman-lod0-jg "main" 3) +(def-joint-node particleman-lod0-jg "prejoint" 2) +(def-joint-node particleman-lod0-jg "align" 1) + +(def-joint-node hud-ring-lod0-jg "bottom_right" 24) +(def-joint-node hud-ring-lod0-jg "botframe" 23) +(def-joint-node hud-ring-lod0-jg "botloader" 22) +(def-joint-node hud-ring-lod0-jg "top_left" 21) +(def-joint-node hud-ring-lod0-jg "topframe" 20) +(def-joint-node hud-ring-lod0-jg "topLoader" 19) +(def-joint-node hud-ring-lod0-jg "Screen" 18) +(def-joint-node hud-ring-lod0-jg "spinner" 17) +(def-joint-node hud-ring-lod0-jg "hudseg_f" 16) +(def-joint-node hud-ring-lod0-jg "hudseg_a" 15) +(def-joint-node hud-ring-lod0-jg "hudseg_j" 14) +(def-joint-node hud-ring-lod0-jg "align" 1) +(def-joint-node hud-ring-lod0-jg "prejoint" 2) +(def-joint-node hud-ring-lod0-jg "main" 3) +(def-joint-node hud-ring-lod0-jg "Wheel" 4) +(def-joint-node hud-ring-lod0-jg "Lexpander" 5) +(def-joint-node hud-ring-lod0-jg "hudseg_b" 6) +(def-joint-node hud-ring-lod0-jg "hudseg_c" 7) +(def-joint-node hud-ring-lod0-jg "hudseg_d" 8) +(def-joint-node hud-ring-lod0-jg "hudseg_e" 9) +(def-joint-node hud-ring-lod0-jg "Rexpander" 10) +(def-joint-node hud-ring-lod0-jg "hudseg_g" 11) +(def-joint-node hud-ring-lod0-jg "hudseg_h" 12) +(def-joint-node hud-ring-lod0-jg "hudseg_i" 13) + +(def-joint-node water-anim-tomb-tunnel-e-lod0-jg "boneless" 3) +(def-joint-node water-anim-tomb-tunnel-e-lod0-jg "prejoint" 2) +(def-joint-node water-anim-tomb-tunnel-e-lod0-jg "align" 1) + +(def-joint-node time-map-lod0-jg "center_ring_bottom" 23) +(def-joint-node time-map-lod0-jg "center_ring_top" 22) +(def-joint-node time-map-lod0-jg "time_map_glow" 21) +(def-joint-node time-map-lod0-jg "center_sphere" 20) +(def-joint-node time-map-lod0-jg "l" 19) +(def-joint-node time-map-lod0-jg "k" 18) +(def-joint-node time-map-lod0-jg "j" 17) +(def-joint-node time-map-lod0-jg "i" 16) +(def-joint-node time-map-lod0-jg "h" 15) +(def-joint-node time-map-lod0-jg "g" 14) +(def-joint-node time-map-lod0-jg "align" 1) +(def-joint-node time-map-lod0-jg "prejoint" 2) +(def-joint-node time-map-lod0-jg "bottom" 3) +(def-joint-node time-map-lod0-jg "top" 4) +(def-joint-node time-map-lod0-jg "star" 5) +(def-joint-node time-map-lod0-jg "top_ring" 6) +(def-joint-node time-map-lod0-jg "bottom_ring" 7) +(def-joint-node time-map-lod0-jg "a" 8) +(def-joint-node time-map-lod0-jg "b" 9) +(def-joint-node time-map-lod0-jg "c" 10) +(def-joint-node time-map-lod0-jg "d" 11) +(def-joint-node time-map-lod0-jg "e" 12) +(def-joint-node time-map-lod0-jg "f" 13) + +(def-joint-node crimson-guard-lowres-lod0-jg "Rarmplate" 37) +(def-joint-node crimson-guard-lowres-lod0-jg "Larmplate" 36) +(def-joint-node crimson-guard-lowres-lod0-jg "RmiddleB" 35) +(def-joint-node crimson-guard-lowres-lod0-jg "RmiddleA" 34) +(def-joint-node crimson-guard-lowres-lod0-jg "RthumbB" 33) +(def-joint-node crimson-guard-lowres-lod0-jg "RthumbA" 32) +(def-joint-node crimson-guard-lowres-lod0-jg "LmiddleB" 31) +(def-joint-node crimson-guard-lowres-lod0-jg "LmiddleA" 30) +(def-joint-node crimson-guard-lowres-lod0-jg "gun" 13) +(def-joint-node crimson-guard-lowres-lod0-jg "Rhand" 12) +(def-joint-node crimson-guard-lowres-lod0-jg "Relbow" 11) +(def-joint-node crimson-guard-lowres-lod0-jg "Rshoulder" 10) +(def-joint-node crimson-guard-lowres-lod0-jg "Lhand" 9) +(def-joint-node crimson-guard-lowres-lod0-jg "Lelbow" 8) +(def-joint-node crimson-guard-lowres-lod0-jg "Lshoulder" 7) +(def-joint-node crimson-guard-lowres-lod0-jg "neck" 6) +(def-joint-node crimson-guard-lowres-lod0-jg "realChest" 5) +(def-joint-node crimson-guard-lowres-lod0-jg "swivelMe" 4) +(def-joint-node crimson-guard-lowres-lod0-jg "main" 3) +(def-joint-node crimson-guard-lowres-lod0-jg "prejoint" 2) +(def-joint-node crimson-guard-lowres-lod0-jg "align" 1) +(def-joint-node crimson-guard-lowres-lod0-jg "blast" 14) +(def-joint-node crimson-guard-lowres-lod0-jg "dirblast" 15) +(def-joint-node crimson-guard-lowres-lod0-jg "hips" 16) +(def-joint-node crimson-guard-lowres-lod0-jg "Lthigh" 17) +(def-joint-node crimson-guard-lowres-lod0-jg "Lknee" 18) +(def-joint-node crimson-guard-lowres-lod0-jg "Lankle" 19) +(def-joint-node crimson-guard-lowres-lod0-jg "Rthigh" 20) +(def-joint-node crimson-guard-lowres-lod0-jg "Rknee" 21) +(def-joint-node crimson-guard-lowres-lod0-jg "Rankle" 22) +(def-joint-node crimson-guard-lowres-lod0-jg "head" 23) +(def-joint-node crimson-guard-lowres-lod0-jg "Learbase" 24) +(def-joint-node crimson-guard-lowres-lod0-jg "Learmid" 25) +(def-joint-node crimson-guard-lowres-lod0-jg "Rearbase" 26) +(def-joint-node crimson-guard-lowres-lod0-jg "Rearmid" 27) +(def-joint-node crimson-guard-lowres-lod0-jg "LthumbA" 28) +(def-joint-node crimson-guard-lowres-lod0-jg "LthumbB" 29) + +(def-joint-node under-plat-shoot-lod0-jg "main" 3) +(def-joint-node under-plat-shoot-lod0-jg "prejoint" 2) +(def-joint-node under-plat-shoot-lod0-jg "align" 1) + +(def-joint-node mtn-step-plat-rocks-a-lod0-jg "n" 17) +(def-joint-node mtn-step-plat-rocks-a-lod0-jg "m" 16) +(def-joint-node mtn-step-plat-rocks-a-lod0-jg "l" 15) +(def-joint-node mtn-step-plat-rocks-a-lod0-jg "k" 14) +(def-joint-node mtn-step-plat-rocks-a-lod0-jg "align" 1) +(def-joint-node mtn-step-plat-rocks-a-lod0-jg "prejoint" 2) +(def-joint-node mtn-step-plat-rocks-a-lod0-jg "main" 3) +(def-joint-node mtn-step-plat-rocks-a-lod0-jg "a" 4) +(def-joint-node mtn-step-plat-rocks-a-lod0-jg "b" 5) +(def-joint-node mtn-step-plat-rocks-a-lod0-jg "c" 6) +(def-joint-node mtn-step-plat-rocks-a-lod0-jg "d" 7) +(def-joint-node mtn-step-plat-rocks-a-lod0-jg "e" 8) +(def-joint-node mtn-step-plat-rocks-a-lod0-jg "f" 9) +(def-joint-node mtn-step-plat-rocks-a-lod0-jg "g" 10) +(def-joint-node mtn-step-plat-rocks-a-lod0-jg "h" 11) +(def-joint-node mtn-step-plat-rocks-a-lod0-jg "i" 12) +(def-joint-node mtn-step-plat-rocks-a-lod0-jg "j" 13) + +(def-joint-node hip-trophy-a-lod0-jg "hip_trophy_a" 3) +(def-joint-node hip-trophy-a-lod0-jg "prejoint" 2) +(def-joint-node hip-trophy-a-lod0-jg "align" 1) + +(def-joint-node atollrotpipe-lod0-jg "main_" 3) +(def-joint-node atollrotpipe-lod0-jg "prejoint" 2) +(def-joint-node atollrotpipe-lod0-jg "align" 1) + +(def-joint-node mtn-step-plat-rocks-b-lod0-jg "aw" 53) +(def-joint-node mtn-step-plat-rocks-b-lod0-jg "av" 52) +(def-joint-node mtn-step-plat-rocks-b-lod0-jg "au" 51) +(def-joint-node mtn-step-plat-rocks-b-lod0-jg "at" 50) +(def-joint-node mtn-step-plat-rocks-b-lod0-jg "as" 49) +(def-joint-node mtn-step-plat-rocks-b-lod0-jg "ar" 48) +(def-joint-node mtn-step-plat-rocks-b-lod0-jg "aq" 47) +(def-joint-node mtn-step-plat-rocks-b-lod0-jg "ap" 46) +(def-joint-node mtn-step-plat-rocks-b-lod0-jg "ao" 45) +(def-joint-node mtn-step-plat-rocks-b-lod0-jg "an" 44) +(def-joint-node mtn-step-plat-rocks-b-lod0-jg "am" 43) +(def-joint-node mtn-step-plat-rocks-b-lod0-jg "al" 42) +(def-joint-node mtn-step-plat-rocks-b-lod0-jg "ak" 41) +(def-joint-node mtn-step-plat-rocks-b-lod0-jg "aj" 40) +(def-joint-node mtn-step-plat-rocks-b-lod0-jg "ai" 39) +(def-joint-node mtn-step-plat-rocks-b-lod0-jg "ah" 38) +(def-joint-node mtn-step-plat-rocks-b-lod0-jg "ag" 37) +(def-joint-node mtn-step-plat-rocks-b-lod0-jg "af" 36) +(def-joint-node mtn-step-plat-rocks-b-lod0-jg "ae" 35) +(def-joint-node mtn-step-plat-rocks-b-lod0-jg "ad" 34) +(def-joint-node mtn-step-plat-rocks-b-lod0-jg "ac" 33) +(def-joint-node mtn-step-plat-rocks-b-lod0-jg "ab" 32) +(def-joint-node mtn-step-plat-rocks-b-lod0-jg "aa" 31) +(def-joint-node mtn-step-plat-rocks-b-lod0-jg "zz" 30) +(def-joint-node mtn-step-plat-rocks-b-lod0-jg "j" 13) +(def-joint-node mtn-step-plat-rocks-b-lod0-jg "i" 12) +(def-joint-node mtn-step-plat-rocks-b-lod0-jg "h" 11) +(def-joint-node mtn-step-plat-rocks-b-lod0-jg "g" 10) +(def-joint-node mtn-step-plat-rocks-b-lod0-jg "f" 9) +(def-joint-node mtn-step-plat-rocks-b-lod0-jg "e" 8) +(def-joint-node mtn-step-plat-rocks-b-lod0-jg "d" 7) +(def-joint-node mtn-step-plat-rocks-b-lod0-jg "c" 6) +(def-joint-node mtn-step-plat-rocks-b-lod0-jg "b" 5) +(def-joint-node mtn-step-plat-rocks-b-lod0-jg "a" 4) +(def-joint-node mtn-step-plat-rocks-b-lod0-jg "main" 3) +(def-joint-node mtn-step-plat-rocks-b-lod0-jg "prejoint" 2) +(def-joint-node mtn-step-plat-rocks-b-lod0-jg "align" 1) +(def-joint-node mtn-step-plat-rocks-b-lod0-jg "k" 14) +(def-joint-node mtn-step-plat-rocks-b-lod0-jg "l" 15) +(def-joint-node mtn-step-plat-rocks-b-lod0-jg "m" 16) +(def-joint-node mtn-step-plat-rocks-b-lod0-jg "n" 17) +(def-joint-node mtn-step-plat-rocks-b-lod0-jg "o" 18) +(def-joint-node mtn-step-plat-rocks-b-lod0-jg "p" 19) +(def-joint-node mtn-step-plat-rocks-b-lod0-jg "q" 20) +(def-joint-node mtn-step-plat-rocks-b-lod0-jg "r" 21) +(def-joint-node mtn-step-plat-rocks-b-lod0-jg "s" 22) +(def-joint-node mtn-step-plat-rocks-b-lod0-jg "t" 23) +(def-joint-node mtn-step-plat-rocks-b-lod0-jg "u" 24) +(def-joint-node mtn-step-plat-rocks-b-lod0-jg "v" 25) +(def-joint-node mtn-step-plat-rocks-b-lod0-jg "w" 26) +(def-joint-node mtn-step-plat-rocks-b-lod0-jg "x" 27) +(def-joint-node mtn-step-plat-rocks-b-lod0-jg "y" 28) +(def-joint-node mtn-step-plat-rocks-b-lod0-jg "z" 29) + +(def-joint-node tomb-plat-simon-lod0-jg "main" 3) +(def-joint-node tomb-plat-simon-lod0-jg "prejoint" 2) +(def-joint-node tomb-plat-simon-lod0-jg "align" 1) + +(def-joint-node mtn-dice-button-lod0-jg "main" 3) +(def-joint-node mtn-dice-button-lod0-jg "prejoint" 2) +(def-joint-node mtn-dice-button-lod0-jg "align" 1) + +(def-joint-node drill-turret-int-lod0-jg "main" 3) +(def-joint-node drill-turret-int-lod0-jg "prejoint" 2) +(def-joint-node drill-turret-int-lod0-jg "align" 1) + +(def-joint-node carb-lod0-jg "wheelr" 9) +(def-joint-node carb-lod0-jg "wheell_" 8) +(def-joint-node carb-lod0-jg "tailfinr_" 7) +(def-joint-node carb-lod0-jg "frontfinr_" 6) +(def-joint-node carb-lod0-jg "tailfinl_" 5) +(def-joint-node carb-lod0-jg "frontfinl_" 4) +(def-joint-node carb-lod0-jg "main_" 3) +(def-joint-node carb-lod0-jg "prejoint" 2) +(def-joint-node carb-lod0-jg "align" 1) + +(def-joint-node security-wall-lod0-jg "plane" 3) +(def-joint-node security-wall-lod0-jg "prejoint" 2) +(def-joint-node security-wall-lod0-jg "align" 1) + +(def-joint-node metalkor-bomb-lod0-jg "tail29" 93) +(def-joint-node metalkor-bomb-lod0-jg "mid29" 92) +(def-joint-node metalkor-bomb-lod0-jg "head29" 91) +(def-joint-node metalkor-bomb-lod0-jg "tail28" 90) +(def-joint-node metalkor-bomb-lod0-jg "mid28" 89) +(def-joint-node metalkor-bomb-lod0-jg "head28" 88) +(def-joint-node metalkor-bomb-lod0-jg "tail27" 87) +(def-joint-node metalkor-bomb-lod0-jg "mid27" 86) +(def-joint-node metalkor-bomb-lod0-jg "head27" 85) +(def-joint-node metalkor-bomb-lod0-jg "tail26" 84) +(def-joint-node metalkor-bomb-lod0-jg "mid26" 83) +(def-joint-node metalkor-bomb-lod0-jg "head26" 82) +(def-joint-node metalkor-bomb-lod0-jg "tail25" 81) +(def-joint-node metalkor-bomb-lod0-jg "mid25" 80) +(def-joint-node metalkor-bomb-lod0-jg "head25" 79) +(def-joint-node metalkor-bomb-lod0-jg "tail24" 78) +(def-joint-node metalkor-bomb-lod0-jg "mid24" 77) +(def-joint-node metalkor-bomb-lod0-jg "head24" 76) +(def-joint-node metalkor-bomb-lod0-jg "tail23" 75) +(def-joint-node metalkor-bomb-lod0-jg "mid23" 74) +(def-joint-node metalkor-bomb-lod0-jg "head23" 73) +(def-joint-node metalkor-bomb-lod0-jg "tail22" 72) +(def-joint-node metalkor-bomb-lod0-jg "mid22" 71) +(def-joint-node metalkor-bomb-lod0-jg "head22" 70) +(def-joint-node metalkor-bomb-lod0-jg "tail21" 69) +(def-joint-node metalkor-bomb-lod0-jg "mid21" 68) +(def-joint-node metalkor-bomb-lod0-jg "head21" 67) +(def-joint-node metalkor-bomb-lod0-jg "tail20" 66) +(def-joint-node metalkor-bomb-lod0-jg "mid20" 65) +(def-joint-node metalkor-bomb-lod0-jg "head20" 64) +(def-joint-node metalkor-bomb-lod0-jg "tail19" 63) +(def-joint-node metalkor-bomb-lod0-jg "mid19" 62) +(def-joint-node metalkor-bomb-lod0-jg "head19" 61) +(def-joint-node metalkor-bomb-lod0-jg "tail18" 60) +(def-joint-node metalkor-bomb-lod0-jg "mid8" 29) +(def-joint-node metalkor-bomb-lod0-jg "head8" 28) +(def-joint-node metalkor-bomb-lod0-jg "tail7" 27) +(def-joint-node metalkor-bomb-lod0-jg "mid7" 26) +(def-joint-node metalkor-bomb-lod0-jg "head7" 25) +(def-joint-node metalkor-bomb-lod0-jg "tail6" 24) +(def-joint-node metalkor-bomb-lod0-jg "mid6" 23) +(def-joint-node metalkor-bomb-lod0-jg "head6" 22) +(def-joint-node metalkor-bomb-lod0-jg "tail5" 21) +(def-joint-node metalkor-bomb-lod0-jg "mid5" 20) +(def-joint-node metalkor-bomb-lod0-jg "head5" 19) +(def-joint-node metalkor-bomb-lod0-jg "tail4" 18) +(def-joint-node metalkor-bomb-lod0-jg "mid4" 17) +(def-joint-node metalkor-bomb-lod0-jg "head4" 16) +(def-joint-node metalkor-bomb-lod0-jg "tail3" 15) +(def-joint-node metalkor-bomb-lod0-jg "mid3" 14) +(def-joint-node metalkor-bomb-lod0-jg "align" 1) +(def-joint-node metalkor-bomb-lod0-jg "prejoint" 2) +(def-joint-node metalkor-bomb-lod0-jg "center" 3) +(def-joint-node metalkor-bomb-lod0-jg "head0" 4) +(def-joint-node metalkor-bomb-lod0-jg "mid0" 5) +(def-joint-node metalkor-bomb-lod0-jg "tail0" 6) +(def-joint-node metalkor-bomb-lod0-jg "head1" 7) +(def-joint-node metalkor-bomb-lod0-jg "mid1" 8) +(def-joint-node metalkor-bomb-lod0-jg "tail1" 9) +(def-joint-node metalkor-bomb-lod0-jg "head2" 10) +(def-joint-node metalkor-bomb-lod0-jg "mid2" 11) +(def-joint-node metalkor-bomb-lod0-jg "tail2" 12) +(def-joint-node metalkor-bomb-lod0-jg "head3" 13) +(def-joint-node metalkor-bomb-lod0-jg "tail8" 30) +(def-joint-node metalkor-bomb-lod0-jg "head9" 31) +(def-joint-node metalkor-bomb-lod0-jg "mid9" 32) +(def-joint-node metalkor-bomb-lod0-jg "tail9" 33) +(def-joint-node metalkor-bomb-lod0-jg "head10" 34) +(def-joint-node metalkor-bomb-lod0-jg "mid10" 35) +(def-joint-node metalkor-bomb-lod0-jg "tail10" 36) +(def-joint-node metalkor-bomb-lod0-jg "head11" 37) +(def-joint-node metalkor-bomb-lod0-jg "mid11" 38) +(def-joint-node metalkor-bomb-lod0-jg "tail11" 39) +(def-joint-node metalkor-bomb-lod0-jg "head12" 40) +(def-joint-node metalkor-bomb-lod0-jg "mid12" 41) +(def-joint-node metalkor-bomb-lod0-jg "tail12" 42) +(def-joint-node metalkor-bomb-lod0-jg "head13" 43) +(def-joint-node metalkor-bomb-lod0-jg "mid13" 44) +(def-joint-node metalkor-bomb-lod0-jg "tail13" 45) +(def-joint-node metalkor-bomb-lod0-jg "head14" 46) +(def-joint-node metalkor-bomb-lod0-jg "mid14" 47) +(def-joint-node metalkor-bomb-lod0-jg "tail14" 48) +(def-joint-node metalkor-bomb-lod0-jg "head15" 49) +(def-joint-node metalkor-bomb-lod0-jg "mid15" 50) +(def-joint-node metalkor-bomb-lod0-jg "tail15" 51) +(def-joint-node metalkor-bomb-lod0-jg "head16" 52) +(def-joint-node metalkor-bomb-lod0-jg "mid16" 53) +(def-joint-node metalkor-bomb-lod0-jg "tail16" 54) +(def-joint-node metalkor-bomb-lod0-jg "head17" 55) +(def-joint-node metalkor-bomb-lod0-jg "mid17" 56) +(def-joint-node metalkor-bomb-lod0-jg "tail17" 57) +(def-joint-node metalkor-bomb-lod0-jg "head18" 58) +(def-joint-node metalkor-bomb-lod0-jg "mid18" 59) + +(def-joint-node metalkor-highres-wings-lod0-jg "rbackwingD" 20) +(def-joint-node metalkor-highres-wings-lod0-jg "rbackwingC" 19) +(def-joint-node metalkor-highres-wings-lod0-jg "rbackwingB" 18) +(def-joint-node metalkor-highres-wings-lod0-jg "rbackwingA" 17) +(def-joint-node metalkor-highres-wings-lod0-jg "rfrwingE" 16) +(def-joint-node metalkor-highres-wings-lod0-jg "rfrwingD" 15) +(def-joint-node metalkor-highres-wings-lod0-jg "rfrwingC" 14) +(def-joint-node metalkor-highres-wings-lod0-jg "align" 1) +(def-joint-node metalkor-highres-wings-lod0-jg "prejoint" 2) +(def-joint-node metalkor-highres-wings-lod0-jg "lfrwingA" 3) +(def-joint-node metalkor-highres-wings-lod0-jg "lfrwingB" 4) +(def-joint-node metalkor-highres-wings-lod0-jg "lfrwingC" 5) +(def-joint-node metalkor-highres-wings-lod0-jg "lfrwingD" 6) +(def-joint-node metalkor-highres-wings-lod0-jg "lfrwingE" 7) +(def-joint-node metalkor-highres-wings-lod0-jg "lbackwingA" 8) +(def-joint-node metalkor-highres-wings-lod0-jg "lbackwingB" 9) +(def-joint-node metalkor-highres-wings-lod0-jg "lbackwingC" 10) +(def-joint-node metalkor-highres-wings-lod0-jg "lbackwingD" 11) +(def-joint-node metalkor-highres-wings-lod0-jg "rfrwingA" 12) +(def-joint-node metalkor-highres-wings-lod0-jg "rfrwingB" 13) + +(def-joint-node fort-missile-target-explode-lod0-jg "explo9" 12) +(def-joint-node fort-missile-target-explode-lod0-jg "explo8" 11) +(def-joint-node fort-missile-target-explode-lod0-jg "explo7" 10) +(def-joint-node fort-missile-target-explode-lod0-jg "explo6" 9) +(def-joint-node fort-missile-target-explode-lod0-jg "explo5" 8) +(def-joint-node fort-missile-target-explode-lod0-jg "explo4" 7) +(def-joint-node fort-missile-target-explode-lod0-jg "explo3" 6) +(def-joint-node fort-missile-target-explode-lod0-jg "explo2" 5) +(def-joint-node fort-missile-target-explode-lod0-jg "explo1" 4) +(def-joint-node fort-missile-target-explode-lod0-jg "main" 3) +(def-joint-node fort-missile-target-explode-lod0-jg "prejoint" 2) +(def-joint-node fort-missile-target-explode-lod0-jg "align" 1) + +(def-joint-node fort-missile-lod0-jg "main" 3) +(def-joint-node fort-missile-lod0-jg "prejoint" 2) +(def-joint-node fort-missile-lod0-jg "align" 1) + +(def-joint-node metalkor-legs-lod0-jg "RbackD" 34) +(def-joint-node metalkor-legs-lod0-jg "RbackC" 33) +(def-joint-node metalkor-legs-lod0-jg "RbackB" 32) +(def-joint-node metalkor-legs-lod0-jg "RbackA" 31) +(def-joint-node metalkor-legs-lod0-jg "rbTOP" 30) +(def-joint-node metalkor-legs-lod0-jg "LmidC" 13) +(def-joint-node metalkor-legs-lod0-jg "LmidB" 12) +(def-joint-node metalkor-legs-lod0-jg "LmidA" 11) +(def-joint-node metalkor-legs-lod0-jg "lmTOP" 10) +(def-joint-node metalkor-legs-lod0-jg "LfrontD" 9) +(def-joint-node metalkor-legs-lod0-jg "LfrontC" 8) +(def-joint-node metalkor-legs-lod0-jg "LfrontB" 7) +(def-joint-node metalkor-legs-lod0-jg "LfrontA" 6) +(def-joint-node metalkor-legs-lod0-jg "lfTOP" 5) +(def-joint-node metalkor-legs-lod0-jg "hips" 4) +(def-joint-node metalkor-legs-lod0-jg "main" 3) +(def-joint-node metalkor-legs-lod0-jg "prejoint" 2) +(def-joint-node metalkor-legs-lod0-jg "align" 1) +(def-joint-node metalkor-legs-lod0-jg "LmidD" 14) +(def-joint-node metalkor-legs-lod0-jg "lbTOP" 15) +(def-joint-node metalkor-legs-lod0-jg "LbackA" 16) +(def-joint-node metalkor-legs-lod0-jg "LbackB" 17) +(def-joint-node metalkor-legs-lod0-jg "LbackC" 18) +(def-joint-node metalkor-legs-lod0-jg "LbackD" 19) +(def-joint-node metalkor-legs-lod0-jg "rfTOP" 20) +(def-joint-node metalkor-legs-lod0-jg "RfrontA" 21) +(def-joint-node metalkor-legs-lod0-jg "RfrontB" 22) +(def-joint-node metalkor-legs-lod0-jg "RfrontC" 23) +(def-joint-node metalkor-legs-lod0-jg "RfrontD" 24) +(def-joint-node metalkor-legs-lod0-jg "rmTOP" 25) +(def-joint-node metalkor-legs-lod0-jg "RmidA" 26) +(def-joint-node metalkor-legs-lod0-jg "RmidB" 27) +(def-joint-node metalkor-legs-lod0-jg "RmidC" 28) +(def-joint-node metalkor-legs-lod0-jg "RmidD" 29) + +(def-joint-node sew-gunturret-lod0-jg "hole_7" 14) +(def-joint-node sew-gunturret-lod0-jg "align" 1) +(def-joint-node sew-gunturret-lod0-jg "prejoint" 2) +(def-joint-node sew-gunturret-lod0-jg "main" 3) +(def-joint-node sew-gunturret-lod0-jg "barrel" 4) +(def-joint-node sew-gunturret-lod0-jg "gun" 5) +(def-joint-node sew-gunturret-lod0-jg "track" 6) +(def-joint-node sew-gunturret-lod0-jg "hole_0" 7) +(def-joint-node sew-gunturret-lod0-jg "hole_1" 8) +(def-joint-node sew-gunturret-lod0-jg "hole_2" 9) +(def-joint-node sew-gunturret-lod0-jg "hole_3" 10) +(def-joint-node sew-gunturret-lod0-jg "hole_4" 11) +(def-joint-node sew-gunturret-lod0-jg "hole_5" 12) +(def-joint-node sew-gunturret-lod0-jg "hole_6" 13) + +(def-joint-node turbine-lod0-jg "main_" 3) +(def-joint-node turbine-lod0-jg "prejoint" 2) +(def-joint-node turbine-lod0-jg "align" 1) + +(def-joint-node jakb-lod0-jg "pantsRthigh" 63) +(def-joint-node jakb-lod0-jg "rpinkB" 62) +(def-joint-node jakb-lod0-jg "rpinkA" 61) +(def-joint-node jakb-lod0-jg "rringB" 60) +(def-joint-node jakb-lod0-jg "Lankle" 29) +(def-joint-node jakb-lod0-jg "Lknee" 28) +(def-joint-node jakb-lod0-jg "Lthigh" 27) +(def-joint-node jakb-lod0-jg "hips" 26) +(def-joint-node jakb-lod0-jg "board" 25) +(def-joint-node jakb-lod0-jg "gun" 24) +(def-joint-node jakb-lod0-jg "LshoulderPad" 23) +(def-joint-node jakb-lod0-jg "sk_rhand" 22) +(def-joint-node jakb-lod0-jg "Rforarm" 21) +(def-joint-node jakb-lod0-jg "Rarm" 20) +(def-joint-node jakb-lod0-jg "Rshould" 19) +(def-joint-node jakb-lod0-jg "sk_lhand" 18) +(def-joint-node jakb-lod0-jg "Lforarm" 17) +(def-joint-node jakb-lod0-jg "Larm" 16) +(def-joint-node jakb-lod0-jg "Lshould" 15) +(def-joint-node jakb-lod0-jg "Rearmid" 14) +(def-joint-node jakb-lod0-jg "align" 1) +(def-joint-node jakb-lod0-jg "prejoint" 2) +(def-joint-node jakb-lod0-jg "main" 3) +(def-joint-node jakb-lod0-jg "waist_prog" 4) +(def-joint-node jakb-lod0-jg "upper_body" 5) +(def-joint-node jakb-lod0-jg "chest" 6) +(def-joint-node jakb-lod0-jg "neckA" 7) +(def-joint-node jakb-lod0-jg "neckB" 8) +(def-joint-node jakb-lod0-jg "MhairA" 9) +(def-joint-node jakb-lod0-jg "MhairB" 10) +(def-joint-node jakb-lod0-jg "Learbase" 11) +(def-joint-node jakb-lod0-jg "Learmid" 12) +(def-joint-node jakb-lod0-jg "Rearbase" 13) +(def-joint-node jakb-lod0-jg "Lball" 30) +(def-joint-node jakb-lod0-jg "LbigToe" 31) +(def-joint-node jakb-lod0-jg "Ltoes" 32) +(def-joint-node jakb-lod0-jg "kneeLStrap" 33) +(def-joint-node jakb-lod0-jg "Rthigh" 34) +(def-joint-node jakb-lod0-jg "Rknee" 35) +(def-joint-node jakb-lod0-jg "Rankle" 36) +(def-joint-node jakb-lod0-jg "Rball" 37) +(def-joint-node jakb-lod0-jg "RbigToe" 38) +(def-joint-node jakb-lod0-jg "Rtoes" 39) +(def-joint-node jakb-lod0-jg "kneeRStrap" 40) +(def-joint-node jakb-lod0-jg "extra" 41) +(def-joint-node jakb-lod0-jg "horns" 42) +(def-joint-node jakb-lod0-jg "lthumA" 43) +(def-joint-node jakb-lod0-jg "lthumB" 44) +(def-joint-node jakb-lod0-jg "lindA" 45) +(def-joint-node jakb-lod0-jg "lindB" 46) +(def-joint-node jakb-lod0-jg "lmidA" 47) +(def-joint-node jakb-lod0-jg "lmidB" 48) +(def-joint-node jakb-lod0-jg "lringA" 49) +(def-joint-node jakb-lod0-jg "lringB" 50) +(def-joint-node jakb-lod0-jg "lpinkA" 51) +(def-joint-node jakb-lod0-jg "lpinkB" 52) +(def-joint-node jakb-lod0-jg "rthumA" 53) +(def-joint-node jakb-lod0-jg "rthumB" 54) +(def-joint-node jakb-lod0-jg "rindA" 55) +(def-joint-node jakb-lod0-jg "rindB" 56) +(def-joint-node jakb-lod0-jg "rmidA" 57) +(def-joint-node jakb-lod0-jg "rmidB" 58) +(def-joint-node jakb-lod0-jg "rringA" 59) + +(def-joint-node mtn-aval-rocks-1-lod0-jg "ai" 50) +(def-joint-node mtn-aval-rocks-1-lod0-jg "ah" 49) +(def-joint-node mtn-aval-rocks-1-lod0-jg "ag" 48) +(def-joint-node mtn-aval-rocks-1-lod0-jg "af" 47) +(def-joint-node mtn-aval-rocks-1-lod0-jg "ae" 46) +(def-joint-node mtn-aval-rocks-1-lod0-jg "ad" 45) +(def-joint-node mtn-aval-rocks-1-lod0-jg "s" 44) +(def-joint-node mtn-aval-rocks-1-lod0-jg "q" 43) +(def-joint-node mtn-aval-rocks-1-lod0-jg "p" 42) +(def-joint-node mtn-aval-rocks-1-lod0-jg "am" 41) +(def-joint-node mtn-aval-rocks-1-lod0-jg "al" 40) +(def-joint-node mtn-aval-rocks-1-lod0-jg "ak" 39) +(def-joint-node mtn-aval-rocks-1-lod0-jg "aj" 38) +(def-joint-node mtn-aval-rocks-1-lod0-jg "ac" 37) +(def-joint-node mtn-aval-rocks-1-lod0-jg "ab" 36) +(def-joint-node mtn-aval-rocks-1-lod0-jg "aa" 35) +(def-joint-node mtn-aval-rocks-1-lod0-jg "o" 34) +(def-joint-node mtn-aval-rocks-1-lod0-jg "n" 33) +(def-joint-node mtn-aval-rocks-1-lod0-jg "m" 32) +(def-joint-node mtn-aval-rocks-1-lod0-jg "aq" 31) +(def-joint-node mtn-aval-rocks-1-lod0-jg "ap" 30) +(def-joint-node mtn-aval-rocks-1-lod0-jg "e" 13) +(def-joint-node mtn-aval-rocks-1-lod0-jg "aw" 12) +(def-joint-node mtn-aval-rocks-1-lod0-jg "av" 11) +(def-joint-node mtn-aval-rocks-1-lod0-jg "w" 10) +(def-joint-node mtn-aval-rocks-1-lod0-jg "v" 9) +(def-joint-node mtn-aval-rocks-1-lod0-jg "u" 8) +(def-joint-node mtn-aval-rocks-1-lod0-jg "t" 7) +(def-joint-node mtn-aval-rocks-1-lod0-jg "d" 6) +(def-joint-node mtn-aval-rocks-1-lod0-jg "c" 5) +(def-joint-node mtn-aval-rocks-1-lod0-jg "b" 4) +(def-joint-node mtn-aval-rocks-1-lod0-jg "a" 3) +(def-joint-node mtn-aval-rocks-1-lod0-jg "prejoint" 2) +(def-joint-node mtn-aval-rocks-1-lod0-jg "align" 1) +(def-joint-node mtn-aval-rocks-1-lod0-jg "f" 14) +(def-joint-node mtn-aval-rocks-1-lod0-jg "g" 15) +(def-joint-node mtn-aval-rocks-1-lod0-jg "h" 16) +(def-joint-node mtn-aval-rocks-1-lod0-jg "x" 17) +(def-joint-node mtn-aval-rocks-1-lod0-jg "y" 18) +(def-joint-node mtn-aval-rocks-1-lod0-jg "ar" 19) +(def-joint-node mtn-aval-rocks-1-lod0-jg "at" 20) +(def-joint-node mtn-aval-rocks-1-lod0-jg "au" 21) +(def-joint-node mtn-aval-rocks-1-lod0-jg "i" 22) +(def-joint-node mtn-aval-rocks-1-lod0-jg "j" 23) +(def-joint-node mtn-aval-rocks-1-lod0-jg "k" 24) +(def-joint-node mtn-aval-rocks-1-lod0-jg "l" 25) +(def-joint-node mtn-aval-rocks-1-lod0-jg "z" 26) +(def-joint-node mtn-aval-rocks-1-lod0-jg "zz" 27) +(def-joint-node mtn-aval-rocks-1-lod0-jg "an" 28) +(def-joint-node mtn-aval-rocks-1-lod0-jg "ao" 29) + +(def-joint-node dig-digger-explode-a-lod0-jg "bf" 33) +(def-joint-node dig-digger-explode-a-lod0-jg "be" 32) +(def-joint-node dig-digger-explode-a-lod0-jg "bd" 31) +(def-joint-node dig-digger-explode-a-lod0-jg "bc" 30) +(def-joint-node dig-digger-explode-a-lod0-jg "al" 13) +(def-joint-node dig-digger-explode-a-lod0-jg "ak" 12) +(def-joint-node dig-digger-explode-a-lod0-jg "aj" 11) +(def-joint-node dig-digger-explode-a-lod0-jg "ai" 10) +(def-joint-node dig-digger-explode-a-lod0-jg "ah" 9) +(def-joint-node dig-digger-explode-a-lod0-jg "ag" 8) +(def-joint-node dig-digger-explode-a-lod0-jg "af" 7) +(def-joint-node dig-digger-explode-a-lod0-jg "ae" 6) +(def-joint-node dig-digger-explode-a-lod0-jg "ad" 5) +(def-joint-node dig-digger-explode-a-lod0-jg "ac" 4) +(def-joint-node dig-digger-explode-a-lod0-jg "main" 3) +(def-joint-node dig-digger-explode-a-lod0-jg "prejoint" 2) +(def-joint-node dig-digger-explode-a-lod0-jg "align" 1) +(def-joint-node dig-digger-explode-a-lod0-jg "am" 14) +(def-joint-node dig-digger-explode-a-lod0-jg "an" 15) +(def-joint-node dig-digger-explode-a-lod0-jg "ao" 16) +(def-joint-node dig-digger-explode-a-lod0-jg "ap" 17) +(def-joint-node dig-digger-explode-a-lod0-jg "aq" 18) +(def-joint-node dig-digger-explode-a-lod0-jg "ar" 19) +(def-joint-node dig-digger-explode-a-lod0-jg "as" 20) +(def-joint-node dig-digger-explode-a-lod0-jg "at" 21) +(def-joint-node dig-digger-explode-a-lod0-jg "au" 22) +(def-joint-node dig-digger-explode-a-lod0-jg "av" 23) +(def-joint-node dig-digger-explode-a-lod0-jg "aw" 24) +(def-joint-node dig-digger-explode-a-lod0-jg "ax" 25) +(def-joint-node dig-digger-explode-a-lod0-jg "ay" 26) +(def-joint-node dig-digger-explode-a-lod0-jg "az" 27) +(def-joint-node dig-digger-explode-a-lod0-jg "ba" 28) +(def-joint-node dig-digger-explode-a-lod0-jg "bb" 29) + +(def-joint-node ruins-breakable-wall-3-lod0-jg "b2_y" 28) +(def-joint-node ruins-breakable-wall-3-lod0-jg "b2_x" 27) +(def-joint-node ruins-breakable-wall-3-lod0-jg "b2_w" 26) +(def-joint-node ruins-breakable-wall-3-lod0-jg "b2_v" 25) +(def-joint-node ruins-breakable-wall-3-lod0-jg "b2_u" 24) +(def-joint-node ruins-breakable-wall-3-lod0-jg "b2_t" 23) +(def-joint-node ruins-breakable-wall-3-lod0-jg "b2_s" 22) +(def-joint-node ruins-breakable-wall-3-lod0-jg "b2_r" 21) +(def-joint-node ruins-breakable-wall-3-lod0-jg "b2_q" 20) +(def-joint-node ruins-breakable-wall-3-lod0-jg "b2_p" 19) +(def-joint-node ruins-breakable-wall-3-lod0-jg "b2_o" 18) +(def-joint-node ruins-breakable-wall-3-lod0-jg "b2_n" 17) +(def-joint-node ruins-breakable-wall-3-lod0-jg "b2_m" 16) +(def-joint-node ruins-breakable-wall-3-lod0-jg "b2_l" 15) +(def-joint-node ruins-breakable-wall-3-lod0-jg "b2_k" 14) +(def-joint-node ruins-breakable-wall-3-lod0-jg "align" 1) +(def-joint-node ruins-breakable-wall-3-lod0-jg "prejoint" 2) +(def-joint-node ruins-breakable-wall-3-lod0-jg "b2_wall" 3) +(def-joint-node ruins-breakable-wall-3-lod0-jg "b2_a" 4) +(def-joint-node ruins-breakable-wall-3-lod0-jg "b2_b" 5) +(def-joint-node ruins-breakable-wall-3-lod0-jg "b2_c" 6) +(def-joint-node ruins-breakable-wall-3-lod0-jg "b2_d" 7) +(def-joint-node ruins-breakable-wall-3-lod0-jg "b2_e" 8) +(def-joint-node ruins-breakable-wall-3-lod0-jg "b2_f" 9) +(def-joint-node ruins-breakable-wall-3-lod0-jg "b2_g" 10) +(def-joint-node ruins-breakable-wall-3-lod0-jg "b2_h" 11) +(def-joint-node ruins-breakable-wall-3-lod0-jg "b2_i" 12) +(def-joint-node ruins-breakable-wall-3-lod0-jg "b2_j" 13) + +(def-joint-node ruins-breakable-wall-1-lod0-jg "sd" 34) +(def-joint-node ruins-breakable-wall-1-lod0-jg "sc" 33) +(def-joint-node ruins-breakable-wall-1-lod0-jg "sb" 32) +(def-joint-node ruins-breakable-wall-1-lod0-jg "sa" 31) +(def-joint-node ruins-breakable-wall-1-lod0-jg "b_aa" 30) +(def-joint-node ruins-breakable-wall-1-lod0-jg "b_j" 13) +(def-joint-node ruins-breakable-wall-1-lod0-jg "b_i" 12) +(def-joint-node ruins-breakable-wall-1-lod0-jg "b_h" 11) +(def-joint-node ruins-breakable-wall-1-lod0-jg "b_g" 10) +(def-joint-node ruins-breakable-wall-1-lod0-jg "b_f" 9) +(def-joint-node ruins-breakable-wall-1-lod0-jg "b_e" 8) +(def-joint-node ruins-breakable-wall-1-lod0-jg "b_d" 7) +(def-joint-node ruins-breakable-wall-1-lod0-jg "b_c" 6) +(def-joint-node ruins-breakable-wall-1-lod0-jg "b_b" 5) +(def-joint-node ruins-breakable-wall-1-lod0-jg "b_a" 4) +(def-joint-node ruins-breakable-wall-1-lod0-jg "b_outwall" 3) +(def-joint-node ruins-breakable-wall-1-lod0-jg "prejoint" 2) +(def-joint-node ruins-breakable-wall-1-lod0-jg "align" 1) +(def-joint-node ruins-breakable-wall-1-lod0-jg "b_k" 14) +(def-joint-node ruins-breakable-wall-1-lod0-jg "b_l" 15) +(def-joint-node ruins-breakable-wall-1-lod0-jg "b_m" 16) +(def-joint-node ruins-breakable-wall-1-lod0-jg "b_n" 17) +(def-joint-node ruins-breakable-wall-1-lod0-jg "b_o" 18) +(def-joint-node ruins-breakable-wall-1-lod0-jg "b_p" 19) +(def-joint-node ruins-breakable-wall-1-lod0-jg "b_q" 20) +(def-joint-node ruins-breakable-wall-1-lod0-jg "b_r" 21) +(def-joint-node ruins-breakable-wall-1-lod0-jg "b_s" 22) +(def-joint-node ruins-breakable-wall-1-lod0-jg "b_t" 23) +(def-joint-node ruins-breakable-wall-1-lod0-jg "b_u" 24) +(def-joint-node ruins-breakable-wall-1-lod0-jg "b_v" 25) +(def-joint-node ruins-breakable-wall-1-lod0-jg "b_w" 26) +(def-joint-node ruins-breakable-wall-1-lod0-jg "b_x" 27) +(def-joint-node ruins-breakable-wall-1-lod0-jg "b_y" 28) +(def-joint-node ruins-breakable-wall-1-lod0-jg "b_z" 29) + +(def-joint-node farm-small-cabbage-lod0-jg "cabbage" 4) +(def-joint-node farm-small-cabbage-lod0-jg "main" 3) +(def-joint-node farm-small-cabbage-lod0-jg "prejoint" 2) +(def-joint-node farm-small-cabbage-lod0-jg "align" 1) + +(def-joint-node drill-control-panel-a-lod0-jg "t" 38) +(def-joint-node drill-control-panel-a-lod0-jg "s" 37) +(def-joint-node drill-control-panel-a-lod0-jg "r" 36) +(def-joint-node drill-control-panel-a-lod0-jg "q" 35) +(def-joint-node drill-control-panel-a-lod0-jg "p" 34) +(def-joint-node drill-control-panel-a-lod0-jg "o" 33) +(def-joint-node drill-control-panel-a-lod0-jg "n" 32) +(def-joint-node drill-control-panel-a-lod0-jg "m" 31) +(def-joint-node drill-control-panel-a-lod0-jg "l" 30) +(def-joint-node drill-control-panel-a-lod0-jg "steam_b" 13) +(def-joint-node drill-control-panel-a-lod0-jg "explode_c" 12) +(def-joint-node drill-control-panel-a-lod0-jg "light_blue_d" 11) +(def-joint-node drill-control-panel-a-lod0-jg "light_blue_a" 10) +(def-joint-node drill-control-panel-a-lod0-jg "light_blue_b" 9) +(def-joint-node drill-control-panel-a-lod0-jg "light_blue_c" 8) +(def-joint-node drill-control-panel-a-lod0-jg "light_amber_c" 7) +(def-joint-node drill-control-panel-a-lod0-jg "light_amber_b" 6) +(def-joint-node drill-control-panel-a-lod0-jg "light_amber_a" 5) +(def-joint-node drill-control-panel-a-lod0-jg "light_big_amber_b" 4) +(def-joint-node drill-control-panel-a-lod0-jg "light_big_amber_a" 3) +(def-joint-node drill-control-panel-a-lod0-jg "prejoint" 2) +(def-joint-node drill-control-panel-a-lod0-jg "align" 1) +(def-joint-node drill-control-panel-a-lod0-jg "spark_k" 14) +(def-joint-node drill-control-panel-a-lod0-jg "spark_l" 15) +(def-joint-node drill-control-panel-a-lod0-jg "spark_m" 16) +(def-joint-node drill-control-panel-a-lod0-jg "spark_n" 17) +(def-joint-node drill-control-panel-a-lod0-jg "spark_o" 18) +(def-joint-node drill-control-panel-a-lod0-jg "main" 19) +(def-joint-node drill-control-panel-a-lod0-jg "a" 20) +(def-joint-node drill-control-panel-a-lod0-jg "b" 21) +(def-joint-node drill-control-panel-a-lod0-jg "c" 22) +(def-joint-node drill-control-panel-a-lod0-jg "e" 23) +(def-joint-node drill-control-panel-a-lod0-jg "f" 24) +(def-joint-node drill-control-panel-a-lod0-jg "g" 25) +(def-joint-node drill-control-panel-a-lod0-jg "h" 26) +(def-joint-node drill-control-panel-a-lod0-jg "i" 27) +(def-joint-node drill-control-panel-a-lod0-jg "j" 28) +(def-joint-node drill-control-panel-a-lod0-jg "k" 29) + +(def-joint-node fort-dump-bomb-a-lod0-jg "main" 3) +(def-joint-node fort-dump-bomb-a-lod0-jg "prejoint" 2) +(def-joint-node fort-dump-bomb-a-lod0-jg "align" 1) + +(def-joint-node drill-bridge-shot-lod0-jg "p" 19) +(def-joint-node drill-bridge-shot-lod0-jg "o" 18) +(def-joint-node drill-bridge-shot-lod0-jg "n" 17) +(def-joint-node drill-bridge-shot-lod0-jg "m" 16) +(def-joint-node drill-bridge-shot-lod0-jg "l" 15) +(def-joint-node drill-bridge-shot-lod0-jg "k" 14) +(def-joint-node drill-bridge-shot-lod0-jg "align" 1) +(def-joint-node drill-bridge-shot-lod0-jg "prejoint" 2) +(def-joint-node drill-bridge-shot-lod0-jg "main" 3) +(def-joint-node drill-bridge-shot-lod0-jg "explode" 4) +(def-joint-node drill-bridge-shot-lod0-jg "b" 5) +(def-joint-node drill-bridge-shot-lod0-jg "c" 6) +(def-joint-node drill-bridge-shot-lod0-jg "d" 7) +(def-joint-node drill-bridge-shot-lod0-jg "e" 8) +(def-joint-node drill-bridge-shot-lod0-jg "f" 9) +(def-joint-node drill-bridge-shot-lod0-jg "g" 10) +(def-joint-node drill-bridge-shot-lod0-jg "h" 11) +(def-joint-node drill-bridge-shot-lod0-jg "i" 12) +(def-joint-node drill-bridge-shot-lod0-jg "j" 13) + +(def-joint-node gar-trophy-ca-lod0-jg "main" 3) +(def-joint-node gar-trophy-ca-lod0-jg "prejoint" 2) +(def-joint-node gar-trophy-ca-lod0-jg "align" 1) + +(def-joint-node baron-lod0-jg "Rball" 53) +(def-joint-node baron-lod0-jg "Rankle" 52) +(def-joint-node baron-lod0-jg "Rknee" 51) +(def-joint-node baron-lod0-jg "Rthigh" 50) +(def-joint-node baron-lod0-jg "Lball" 49) +(def-joint-node baron-lod0-jg "Lankle" 48) +(def-joint-node baron-lod0-jg "Lknee" 47) +(def-joint-node baron-lod0-jg "Lthigh" 46) +(def-joint-node baron-lod0-jg "hips" 45) +(def-joint-node baron-lod0-jg "rshoulderplateA" 44) +(def-joint-node baron-lod0-jg "lshoulderplateA" 43) +(def-joint-node baron-lod0-jg "RpinkyC" 42) +(def-joint-node baron-lod0-jg "RpinkyB" 41) +(def-joint-node baron-lod0-jg "RpinkyA" 40) +(def-joint-node baron-lod0-jg "RringC" 39) +(def-joint-node baron-lod0-jg "RringB" 38) +(def-joint-node baron-lod0-jg "RringA" 37) +(def-joint-node baron-lod0-jg "RmiddleC" 36) +(def-joint-node baron-lod0-jg "RmiddleB" 35) +(def-joint-node baron-lod0-jg "RmiddleA" 34) +(def-joint-node baron-lod0-jg "RindexC" 33) +(def-joint-node baron-lod0-jg "RindexB" 32) +(def-joint-node baron-lod0-jg "RindexA" 31) +(def-joint-node baron-lod0-jg "RthumbC" 30) +(def-joint-node baron-lod0-jg "LindexA" 13) +(def-joint-node baron-lod0-jg "LthumbC" 12) +(def-joint-node baron-lod0-jg "LthumbB" 11) +(def-joint-node baron-lod0-jg "LthumbA" 10) +(def-joint-node baron-lod0-jg "Lhand" 9) +(def-joint-node baron-lod0-jg "Lelbow" 8) +(def-joint-node baron-lod0-jg "Lshoulder" 7) +(def-joint-node baron-lod0-jg "head" 6) +(def-joint-node baron-lod0-jg "neck" 5) +(def-joint-node baron-lod0-jg "chest" 4) +(def-joint-node baron-lod0-jg "main" 3) +(def-joint-node baron-lod0-jg "prejoint" 2) +(def-joint-node baron-lod0-jg "align" 1) +(def-joint-node baron-lod0-jg "LindexB" 14) +(def-joint-node baron-lod0-jg "LindexC" 15) +(def-joint-node baron-lod0-jg "LmiddleA" 16) +(def-joint-node baron-lod0-jg "LmiddleB" 17) +(def-joint-node baron-lod0-jg "LmiddleC" 18) +(def-joint-node baron-lod0-jg "LringA" 19) +(def-joint-node baron-lod0-jg "LringB" 20) +(def-joint-node baron-lod0-jg "LringC" 21) +(def-joint-node baron-lod0-jg "LpinkyA" 22) +(def-joint-node baron-lod0-jg "LpinkyB" 23) +(def-joint-node baron-lod0-jg "LpinkyC" 24) +(def-joint-node baron-lod0-jg "Rshoulder" 25) +(def-joint-node baron-lod0-jg "Relbow" 26) +(def-joint-node baron-lod0-jg "Rhand" 27) +(def-joint-node baron-lod0-jg "RthumbA" 28) +(def-joint-node baron-lod0-jg "RthumbB" 29) + +(def-joint-node under-seaweed-a-lod0-jg "secd" 7) +(def-joint-node under-seaweed-a-lod0-jg "secc" 6) +(def-joint-node under-seaweed-a-lod0-jg "secb" 5) +(def-joint-node under-seaweed-a-lod0-jg "seca" 4) +(def-joint-node under-seaweed-a-lod0-jg "main" 3) +(def-joint-node under-seaweed-a-lod0-jg "prejoint" 2) +(def-joint-node under-seaweed-a-lod0-jg "align" 1) + +(def-joint-node tomb-boss-catwalk-g-lod0-jg "av" 52) +(def-joint-node tomb-boss-catwalk-g-lod0-jg "au" 51) +(def-joint-node tomb-boss-catwalk-g-lod0-jg "at" 50) +(def-joint-node tomb-boss-catwalk-g-lod0-jg "as" 49) +(def-joint-node tomb-boss-catwalk-g-lod0-jg "ar" 48) +(def-joint-node tomb-boss-catwalk-g-lod0-jg "aq" 47) +(def-joint-node tomb-boss-catwalk-g-lod0-jg "ap" 46) +(def-joint-node tomb-boss-catwalk-g-lod0-jg "ao" 45) +(def-joint-node tomb-boss-catwalk-g-lod0-jg "an" 44) +(def-joint-node tomb-boss-catwalk-g-lod0-jg "am" 43) +(def-joint-node tomb-boss-catwalk-g-lod0-jg "al" 42) +(def-joint-node tomb-boss-catwalk-g-lod0-jg "ak" 41) +(def-joint-node tomb-boss-catwalk-g-lod0-jg "aj" 40) +(def-joint-node tomb-boss-catwalk-g-lod0-jg "ai" 39) +(def-joint-node tomb-boss-catwalk-g-lod0-jg "ah" 38) +(def-joint-node tomb-boss-catwalk-g-lod0-jg "ag" 37) +(def-joint-node tomb-boss-catwalk-g-lod0-jg "af" 36) +(def-joint-node tomb-boss-catwalk-g-lod0-jg "ae" 35) +(def-joint-node tomb-boss-catwalk-g-lod0-jg "ad" 34) +(def-joint-node tomb-boss-catwalk-g-lod0-jg "ac" 33) +(def-joint-node tomb-boss-catwalk-g-lod0-jg "ab" 32) +(def-joint-node tomb-boss-catwalk-g-lod0-jg "aa" 31) +(def-joint-node tomb-boss-catwalk-g-lod0-jg "main" 30) +(def-joint-node tomb-boss-catwalk-g-lod0-jg "j" 13) +(def-joint-node tomb-boss-catwalk-g-lod0-jg "i" 12) +(def-joint-node tomb-boss-catwalk-g-lod0-jg "h" 11) +(def-joint-node tomb-boss-catwalk-g-lod0-jg "g" 10) +(def-joint-node tomb-boss-catwalk-g-lod0-jg "f" 9) +(def-joint-node tomb-boss-catwalk-g-lod0-jg "e" 8) +(def-joint-node tomb-boss-catwalk-g-lod0-jg "d" 7) +(def-joint-node tomb-boss-catwalk-g-lod0-jg "c" 6) +(def-joint-node tomb-boss-catwalk-g-lod0-jg "b" 5) +(def-joint-node tomb-boss-catwalk-g-lod0-jg "a" 4) +(def-joint-node tomb-boss-catwalk-g-lod0-jg "explode" 3) +(def-joint-node tomb-boss-catwalk-g-lod0-jg "prejoint" 2) +(def-joint-node tomb-boss-catwalk-g-lod0-jg "align" 1) +(def-joint-node tomb-boss-catwalk-g-lod0-jg "k" 14) +(def-joint-node tomb-boss-catwalk-g-lod0-jg "l" 15) +(def-joint-node tomb-boss-catwalk-g-lod0-jg "m" 16) +(def-joint-node tomb-boss-catwalk-g-lod0-jg "n" 17) +(def-joint-node tomb-boss-catwalk-g-lod0-jg "o" 18) +(def-joint-node tomb-boss-catwalk-g-lod0-jg "p" 19) +(def-joint-node tomb-boss-catwalk-g-lod0-jg "q" 20) +(def-joint-node tomb-boss-catwalk-g-lod0-jg "r" 21) +(def-joint-node tomb-boss-catwalk-g-lod0-jg "s" 22) +(def-joint-node tomb-boss-catwalk-g-lod0-jg "t" 23) +(def-joint-node tomb-boss-catwalk-g-lod0-jg "u" 24) +(def-joint-node tomb-boss-catwalk-g-lod0-jg "v" 25) +(def-joint-node tomb-boss-catwalk-g-lod0-jg "w" 26) +(def-joint-node tomb-boss-catwalk-g-lod0-jg "x" 27) +(def-joint-node tomb-boss-catwalk-g-lod0-jg "y" 28) +(def-joint-node tomb-boss-catwalk-g-lod0-jg "z" 29) + +(def-joint-node citizen-norm-rider-lod0-jg "RmiddleA" 18) +(def-joint-node citizen-norm-rider-lod0-jg "Rhand" 17) +(def-joint-node citizen-norm-rider-lod0-jg "Relbow" 16) +(def-joint-node citizen-norm-rider-lod0-jg "LmiddleA" 15) +(def-joint-node citizen-norm-rider-lod0-jg "Lhand" 14) +(def-joint-node citizen-norm-rider-lod0-jg "align" 1) +(def-joint-node citizen-norm-rider-lod0-jg "prejoint" 2) +(def-joint-node citizen-norm-rider-lod0-jg "main" 3) +(def-joint-node citizen-norm-rider-lod0-jg "chest" 4) +(def-joint-node citizen-norm-rider-lod0-jg "neck" 5) +(def-joint-node citizen-norm-rider-lod0-jg "Lshoulder" 6) +(def-joint-node citizen-norm-rider-lod0-jg "Rshoulder" 7) +(def-joint-node citizen-norm-rider-lod0-jg "hips" 8) +(def-joint-node citizen-norm-rider-lod0-jg "Lthigh" 9) +(def-joint-node citizen-norm-rider-lod0-jg "Rthigh" 10) +(def-joint-node citizen-norm-rider-lod0-jg "crap" 11) +(def-joint-node citizen-norm-rider-lod0-jg "head" 12) +(def-joint-node citizen-norm-rider-lod0-jg "Lelbow" 13) + +(def-joint-node farm-beetree-lod0-jg "leaves" 5) +(def-joint-node farm-beetree-lod0-jg "bulb" 4) +(def-joint-node farm-beetree-lod0-jg "main" 3) +(def-joint-node farm-beetree-lod0-jg "prejoint" 2) +(def-joint-node farm-beetree-lod0-jg "align" 1) + +(def-joint-node stad-c-force-field-lod0-jg "main" 3) +(def-joint-node stad-c-force-field-lod0-jg "prejoint" 2) +(def-joint-node stad-c-force-field-lod0-jg "align" 1) + +(def-joint-node dig-bomb-crate-lod0-jg "main" 3) +(def-joint-node dig-bomb-crate-lod0-jg "prejoint" 2) +(def-joint-node dig-bomb-crate-lod0-jg "align" 1) + +(def-joint-node tomb-boss-bridge-a-lod0-jg "ay" 55) +(def-joint-node tomb-boss-bridge-a-lod0-jg "ax" 54) +(def-joint-node tomb-boss-bridge-a-lod0-jg "aw" 53) +(def-joint-node tomb-boss-bridge-a-lod0-jg "av" 52) +(def-joint-node tomb-boss-bridge-a-lod0-jg "au" 51) +(def-joint-node tomb-boss-bridge-a-lod0-jg "at" 50) +(def-joint-node tomb-boss-bridge-a-lod0-jg "as" 49) +(def-joint-node tomb-boss-bridge-a-lod0-jg "ar" 48) +(def-joint-node tomb-boss-bridge-a-lod0-jg "aq" 47) +(def-joint-node tomb-boss-bridge-a-lod0-jg "ap" 46) +(def-joint-node tomb-boss-bridge-a-lod0-jg "ao" 45) +(def-joint-node tomb-boss-bridge-a-lod0-jg "an" 44) +(def-joint-node tomb-boss-bridge-a-lod0-jg "am" 43) +(def-joint-node tomb-boss-bridge-a-lod0-jg "al" 42) +(def-joint-node tomb-boss-bridge-a-lod0-jg "ak" 41) +(def-joint-node tomb-boss-bridge-a-lod0-jg "aj" 40) +(def-joint-node tomb-boss-bridge-a-lod0-jg "ai" 39) +(def-joint-node tomb-boss-bridge-a-lod0-jg "ah" 38) +(def-joint-node tomb-boss-bridge-a-lod0-jg "ag" 37) +(def-joint-node tomb-boss-bridge-a-lod0-jg "af" 36) +(def-joint-node tomb-boss-bridge-a-lod0-jg "ae" 35) +(def-joint-node tomb-boss-bridge-a-lod0-jg "ad" 34) +(def-joint-node tomb-boss-bridge-a-lod0-jg "ac" 33) +(def-joint-node tomb-boss-bridge-a-lod0-jg "ab" 32) +(def-joint-node tomb-boss-bridge-a-lod0-jg "aa" 31) +(def-joint-node tomb-boss-bridge-a-lod0-jg "main" 30) +(def-joint-node tomb-boss-bridge-a-lod0-jg "j" 13) +(def-joint-node tomb-boss-bridge-a-lod0-jg "i" 12) +(def-joint-node tomb-boss-bridge-a-lod0-jg "h" 11) +(def-joint-node tomb-boss-bridge-a-lod0-jg "g" 10) +(def-joint-node tomb-boss-bridge-a-lod0-jg "f" 9) +(def-joint-node tomb-boss-bridge-a-lod0-jg "e" 8) +(def-joint-node tomb-boss-bridge-a-lod0-jg "d" 7) +(def-joint-node tomb-boss-bridge-a-lod0-jg "c" 6) +(def-joint-node tomb-boss-bridge-a-lod0-jg "b" 5) +(def-joint-node tomb-boss-bridge-a-lod0-jg "a" 4) +(def-joint-node tomb-boss-bridge-a-lod0-jg "explode" 3) +(def-joint-node tomb-boss-bridge-a-lod0-jg "prejoint" 2) +(def-joint-node tomb-boss-bridge-a-lod0-jg "align" 1) +(def-joint-node tomb-boss-bridge-a-lod0-jg "k" 14) +(def-joint-node tomb-boss-bridge-a-lod0-jg "l" 15) +(def-joint-node tomb-boss-bridge-a-lod0-jg "m" 16) +(def-joint-node tomb-boss-bridge-a-lod0-jg "n" 17) +(def-joint-node tomb-boss-bridge-a-lod0-jg "o" 18) +(def-joint-node tomb-boss-bridge-a-lod0-jg "p" 19) +(def-joint-node tomb-boss-bridge-a-lod0-jg "q" 20) +(def-joint-node tomb-boss-bridge-a-lod0-jg "r" 21) +(def-joint-node tomb-boss-bridge-a-lod0-jg "s" 22) +(def-joint-node tomb-boss-bridge-a-lod0-jg "t" 23) +(def-joint-node tomb-boss-bridge-a-lod0-jg "u" 24) +(def-joint-node tomb-boss-bridge-a-lod0-jg "v" 25) +(def-joint-node tomb-boss-bridge-a-lod0-jg "w" 26) +(def-joint-node tomb-boss-bridge-a-lod0-jg "x" 27) +(def-joint-node tomb-boss-bridge-a-lod0-jg "y" 28) +(def-joint-node tomb-boss-bridge-a-lod0-jg "z" 29) + +(def-joint-node dig-bomb-crate-explode-lod0-jg "k" 13) +(def-joint-node dig-bomb-crate-explode-lod0-jg "j" 12) +(def-joint-node dig-bomb-crate-explode-lod0-jg "i" 11) +(def-joint-node dig-bomb-crate-explode-lod0-jg "h" 10) +(def-joint-node dig-bomb-crate-explode-lod0-jg "g" 9) +(def-joint-node dig-bomb-crate-explode-lod0-jg "f" 8) +(def-joint-node dig-bomb-crate-explode-lod0-jg "e" 7) +(def-joint-node dig-bomb-crate-explode-lod0-jg "d" 6) +(def-joint-node dig-bomb-crate-explode-lod0-jg "c" 5) +(def-joint-node dig-bomb-crate-explode-lod0-jg "b" 4) +(def-joint-node dig-bomb-crate-explode-lod0-jg "a" 3) +(def-joint-node dig-bomb-crate-explode-lod0-jg "prejoint" 2) +(def-joint-node dig-bomb-crate-explode-lod0-jg "align" 1) + +(def-joint-node dig-conveyor-lod0-jg "g3" 6) +(def-joint-node dig-conveyor-lod0-jg "g2" 5) +(def-joint-node dig-conveyor-lod0-jg "g1" 4) +(def-joint-node dig-conveyor-lod0-jg "main" 3) +(def-joint-node dig-conveyor-lod0-jg "prejoint" 2) +(def-joint-node dig-conveyor-lod0-jg "align" 1) + +(def-joint-node skate-training-ramp-lod0-jg "barrier" 4) +(def-joint-node skate-training-ramp-lod0-jg "main" 3) +(def-joint-node skate-training-ramp-lod0-jg "prejoint" 2) +(def-joint-node skate-training-ramp-lod0-jg "align" 1) + +(def-joint-node centurion-lod0-jg "LthumbC" 44) +(def-joint-node centurion-lod0-jg "LthumbB" 43) +(def-joint-node centurion-lod0-jg "tailthree" 42) +(def-joint-node centurion-lod0-jg "tailtwo" 41) +(def-joint-node centurion-lod0-jg "tailone" 40) +(def-joint-node centurion-lod0-jg "Rball" 39) +(def-joint-node centurion-lod0-jg "Rankle" 38) +(def-joint-node centurion-lod0-jg "Rknee" 37) +(def-joint-node centurion-lod0-jg "Rthigh" 36) +(def-joint-node centurion-lod0-jg "Lball" 35) +(def-joint-node centurion-lod0-jg "Lankle" 34) +(def-joint-node centurion-lod0-jg "Lknee" 33) +(def-joint-node centurion-lod0-jg "Lthigh" 32) +(def-joint-node centurion-lod0-jg "hips" 31) +(def-joint-node centurion-lod0-jg "swivelMeLegs" 30) +(def-joint-node centurion-lod0-jg "LthumbA" 13) +(def-joint-node centurion-lod0-jg "Lhand" 12) +(def-joint-node centurion-lod0-jg "Lelbow" 11) +(def-joint-node centurion-lod0-jg "Lshoulder" 10) +(def-joint-node centurion-lod0-jg "jaw" 9) +(def-joint-node centurion-lod0-jg "head" 8) +(def-joint-node centurion-lod0-jg "neckmid" 7) +(def-joint-node centurion-lod0-jg "neck" 6) +(def-joint-node centurion-lod0-jg "chest" 5) +(def-joint-node centurion-lod0-jg "swivelMe" 4) +(def-joint-node centurion-lod0-jg "main" 3) +(def-joint-node centurion-lod0-jg "prejoint" 2) +(def-joint-node centurion-lod0-jg "align" 1) +(def-joint-node centurion-lod0-jg "LindexA" 14) +(def-joint-node centurion-lod0-jg "LindexB" 15) +(def-joint-node centurion-lod0-jg "LindexC" 16) +(def-joint-node centurion-lod0-jg "LmiddleA" 17) +(def-joint-node centurion-lod0-jg "LmiddleB" 18) +(def-joint-node centurion-lod0-jg "LmiddleC" 19) +(def-joint-node centurion-lod0-jg "Rshoulder" 20) +(def-joint-node centurion-lod0-jg "Relbow" 21) +(def-joint-node centurion-lod0-jg "Rhand" 22) +(def-joint-node centurion-lod0-jg "RthumbA" 23) +(def-joint-node centurion-lod0-jg "RindexA" 24) +(def-joint-node centurion-lod0-jg "RindexB" 25) +(def-joint-node centurion-lod0-jg "RindexC" 26) +(def-joint-node centurion-lod0-jg "RmiddleA" 27) +(def-joint-node centurion-lod0-jg "RmiddleB" 28) +(def-joint-node centurion-lod0-jg "shoot" 29) + +(def-joint-node port-turret-lod0-jg "camera" 12) +(def-joint-node port-turret-lod0-jg "Rtopguntip" 11) +(def-joint-node port-turret-lod0-jg "Rtopgun" 10) +(def-joint-node port-turret-lod0-jg "Rbottomguntip" 9) +(def-joint-node port-turret-lod0-jg "Rbottomgun" 8) +(def-joint-node port-turret-lod0-jg "Lbottomguntip" 7) +(def-joint-node port-turret-lod0-jg "Lbottomgun" 6) +(def-joint-node port-turret-lod0-jg "Ltopguntip" 5) +(def-joint-node port-turret-lod0-jg "Ltopgun" 4) +(def-joint-node port-turret-lod0-jg "main" 3) +(def-joint-node port-turret-lod0-jg "prejoint" 2) +(def-joint-node port-turret-lod0-jg "align" 1) + +(def-joint-node blocking-plane-lod0-jg "plane" 3) +(def-joint-node blocking-plane-lod0-jg "prejoint" 2) +(def-joint-node blocking-plane-lod0-jg "align" 1) + +(def-joint-node dig-tether-snapped-lod0-jg "end" 10) +(def-joint-node dig-tether-snapped-lod0-jg "seven" 9) +(def-joint-node dig-tether-snapped-lod0-jg "six" 8) +(def-joint-node dig-tether-snapped-lod0-jg "five" 7) +(def-joint-node dig-tether-snapped-lod0-jg "four" 6) +(def-joint-node dig-tether-snapped-lod0-jg "three" 5) +(def-joint-node dig-tether-snapped-lod0-jg "two" 4) +(def-joint-node dig-tether-snapped-lod0-jg "one" 3) +(def-joint-node dig-tether-snapped-lod0-jg "prejoint" 2) +(def-joint-node dig-tether-snapped-lod0-jg "align" 1) + +(def-joint-node pal-falling-plat-lod0-jg "plat" 4) +(def-joint-node pal-falling-plat-lod0-jg "main" 3) +(def-joint-node pal-falling-plat-lod0-jg "prejoint" 2) +(def-joint-node pal-falling-plat-lod0-jg "align" 1) + +(def-joint-node searchlight-lod0-jg "main" 3) +(def-joint-node searchlight-lod0-jg "prejoint" 2) +(def-joint-node searchlight-lod0-jg "align" 1) + +(def-joint-node market-crate-lod0-jg "main" 3) +(def-joint-node market-crate-lod0-jg "prejoint" 2) +(def-joint-node market-crate-lod0-jg "align" 1) + +(def-joint-node squid-collision-lod0-jg "main" 3) +(def-joint-node squid-collision-lod0-jg "prejoint" 2) +(def-joint-node squid-collision-lod0-jg "align" 1) + +(def-joint-node tomb-boulder-door-lod0-jg "main_" 3) +(def-joint-node tomb-boulder-door-lod0-jg "prejoint" 2) +(def-joint-node tomb-boulder-door-lod0-jg "align" 1) + +(def-joint-node gun-cit-b-lod0-jg "main" 3) +(def-joint-node gun-cit-b-lod0-jg "prejoint" 2) +(def-joint-node gun-cit-b-lod0-jg "align" 1) + +(def-joint-node dig-tether-unsnapped-lod0-jg "end" 10) +(def-joint-node dig-tether-unsnapped-lod0-jg "seven" 9) +(def-joint-node dig-tether-unsnapped-lod0-jg "six" 8) +(def-joint-node dig-tether-unsnapped-lod0-jg "five" 7) +(def-joint-node dig-tether-unsnapped-lod0-jg "four" 6) +(def-joint-node dig-tether-unsnapped-lod0-jg "three" 5) +(def-joint-node dig-tether-unsnapped-lod0-jg "two" 4) +(def-joint-node dig-tether-unsnapped-lod0-jg "one" 3) +(def-joint-node dig-tether-unsnapped-lod0-jg "prejoint" 2) +(def-joint-node dig-tether-unsnapped-lod0-jg "align" 1) + +(def-joint-node ctyport-mine-lod0-jg "main" 3) +(def-joint-node ctyport-mine-lod0-jg "prejoint" 2) +(def-joint-node ctyport-mine-lod0-jg "align" 1) + +(def-joint-node metalkor-highres-legs-lod0-jg "RbackD" 34) +(def-joint-node metalkor-highres-legs-lod0-jg "RbackC" 33) +(def-joint-node metalkor-highres-legs-lod0-jg "RbackB" 32) +(def-joint-node metalkor-highres-legs-lod0-jg "RbackA" 31) +(def-joint-node metalkor-highres-legs-lod0-jg "rbTOP" 30) +(def-joint-node metalkor-highres-legs-lod0-jg "LmidC" 13) +(def-joint-node metalkor-highres-legs-lod0-jg "LmidB" 12) +(def-joint-node metalkor-highres-legs-lod0-jg "LmidA" 11) +(def-joint-node metalkor-highres-legs-lod0-jg "lmTOP" 10) +(def-joint-node metalkor-highres-legs-lod0-jg "LfrontD" 9) +(def-joint-node metalkor-highres-legs-lod0-jg "LfrontC" 8) +(def-joint-node metalkor-highres-legs-lod0-jg "LfrontB" 7) +(def-joint-node metalkor-highres-legs-lod0-jg "LfrontA" 6) +(def-joint-node metalkor-highres-legs-lod0-jg "lfTOP" 5) +(def-joint-node metalkor-highres-legs-lod0-jg "hips" 4) +(def-joint-node metalkor-highres-legs-lod0-jg "main" 3) +(def-joint-node metalkor-highres-legs-lod0-jg "prejoint" 2) +(def-joint-node metalkor-highres-legs-lod0-jg "align" 1) +(def-joint-node metalkor-highres-legs-lod0-jg "LmidD" 14) +(def-joint-node metalkor-highres-legs-lod0-jg "lbTOP" 15) +(def-joint-node metalkor-highres-legs-lod0-jg "LbackA" 16) +(def-joint-node metalkor-highres-legs-lod0-jg "LbackB" 17) +(def-joint-node metalkor-highres-legs-lod0-jg "LbackC" 18) +(def-joint-node metalkor-highres-legs-lod0-jg "LbackD" 19) +(def-joint-node metalkor-highres-legs-lod0-jg "rfTOP" 20) +(def-joint-node metalkor-highres-legs-lod0-jg "RfrontA" 21) +(def-joint-node metalkor-highres-legs-lod0-jg "RfrontB" 22) +(def-joint-node metalkor-highres-legs-lod0-jg "RfrontC" 23) +(def-joint-node metalkor-highres-legs-lod0-jg "RfrontD" 24) +(def-joint-node metalkor-highres-legs-lod0-jg "rmTOP" 25) +(def-joint-node metalkor-highres-legs-lod0-jg "RmidA" 26) +(def-joint-node metalkor-highres-legs-lod0-jg "RmidB" 27) +(def-joint-node metalkor-highres-legs-lod0-jg "RmidC" 28) +(def-joint-node metalkor-highres-legs-lod0-jg "RmidD" 29) + +(def-joint-node drill-metalhead-eggs-b-lod0-jg "rot" 4) +(def-joint-node drill-metalhead-eggs-b-lod0-jg "main" 3) +(def-joint-node drill-metalhead-eggs-b-lod0-jg "prejoint" 2) +(def-joint-node drill-metalhead-eggs-b-lod0-jg "align" 1) + +(def-joint-node errol-racer-lod0-jg "Rankle" 29) +(def-joint-node errol-racer-lod0-jg "gun" 28) +(def-joint-node errol-racer-lod0-jg "Lankle" 27) +(def-joint-node errol-racer-lod0-jg "Rshoulderplate" 26) +(def-joint-node errol-racer-lod0-jg "Lshoulderplate" 25) +(def-joint-node errol-racer-lod0-jg "Rarmplate" 24) +(def-joint-node errol-racer-lod0-jg "Larmplate" 23) +(def-joint-node errol-racer-lod0-jg "RmiddleA" 22) +(def-joint-node errol-racer-lod0-jg "RthumbA" 21) +(def-joint-node errol-racer-lod0-jg "Rhand" 20) +(def-joint-node errol-racer-lod0-jg "LmiddleA" 19) +(def-joint-node errol-racer-lod0-jg "LthumbA" 18) +(def-joint-node errol-racer-lod0-jg "Lhand" 17) +(def-joint-node errol-racer-lod0-jg "mask" 16) +(def-joint-node errol-racer-lod0-jg "head" 15) +(def-joint-node errol-racer-lod0-jg "Rknee" 14) +(def-joint-node errol-racer-lod0-jg "align" 1) +(def-joint-node errol-racer-lod0-jg "prejoint" 2) +(def-joint-node errol-racer-lod0-jg "main" 3) +(def-joint-node errol-racer-lod0-jg "chest" 4) +(def-joint-node errol-racer-lod0-jg "neck" 5) +(def-joint-node errol-racer-lod0-jg "Lshoulder" 6) +(def-joint-node errol-racer-lod0-jg "Lelbow" 7) +(def-joint-node errol-racer-lod0-jg "Rshoulder" 8) +(def-joint-node errol-racer-lod0-jg "Relbow" 9) +(def-joint-node errol-racer-lod0-jg "hips" 10) +(def-joint-node errol-racer-lod0-jg "Lthigh" 11) +(def-joint-node errol-racer-lod0-jg "Lknee" 12) +(def-joint-node errol-racer-lod0-jg "Rthigh" 13) + +(def-joint-node cboss-bomb-lod0-jg "bomb" 3) +(def-joint-node cboss-bomb-lod0-jg "prejoint" 2) +(def-joint-node cboss-bomb-lod0-jg "align" 1) + +(def-joint-node dig-bomb-crate-cylinder-lod0-jg "main" 3) +(def-joint-node dig-bomb-crate-cylinder-lod0-jg "prejoint" 2) +(def-joint-node dig-bomb-crate-cylinder-lod0-jg "align" 1) + +(def-joint-node fort-trap-door-lod0-jg "main_" 3) +(def-joint-node fort-trap-door-lod0-jg "prejoint" 2) +(def-joint-node fort-trap-door-lod0-jg "align" 1) + +(def-joint-node fort-trap-door-explode-lod0-jg "explo17" 20) +(def-joint-node fort-trap-door-explode-lod0-jg "explo16" 19) +(def-joint-node fort-trap-door-explode-lod0-jg "explo15" 18) +(def-joint-node fort-trap-door-explode-lod0-jg "explo14" 17) +(def-joint-node fort-trap-door-explode-lod0-jg "explo13" 16) +(def-joint-node fort-trap-door-explode-lod0-jg "explo12" 15) +(def-joint-node fort-trap-door-explode-lod0-jg "explo11" 14) +(def-joint-node fort-trap-door-explode-lod0-jg "align" 1) +(def-joint-node fort-trap-door-explode-lod0-jg "prejoint" 2) +(def-joint-node fort-trap-door-explode-lod0-jg "main_" 3) +(def-joint-node fort-trap-door-explode-lod0-jg "explo1" 4) +(def-joint-node fort-trap-door-explode-lod0-jg "explo2" 5) +(def-joint-node fort-trap-door-explode-lod0-jg "explo3" 6) +(def-joint-node fort-trap-door-explode-lod0-jg "explo4" 7) +(def-joint-node fort-trap-door-explode-lod0-jg "explo5" 8) +(def-joint-node fort-trap-door-explode-lod0-jg "explo6" 9) +(def-joint-node fort-trap-door-explode-lod0-jg "explo7" 10) +(def-joint-node fort-trap-door-explode-lod0-jg "explo8" 11) +(def-joint-node fort-trap-door-explode-lod0-jg "explo9" 12) +(def-joint-node fort-trap-door-explode-lod0-jg "explo10" 13) + +(def-joint-node fort-plat-shuttle-lod0-jg "main" 3) +(def-joint-node fort-plat-shuttle-lod0-jg "prejoint" 2) +(def-joint-node fort-plat-shuttle-lod0-jg "align" 1) + +(def-joint-node ecowell-a-lod0-jg "ay" 54) +(def-joint-node ecowell-a-lod0-jg "ax" 53) +(def-joint-node ecowell-a-lod0-jg "aw" 52) +(def-joint-node ecowell-a-lod0-jg "av" 51) +(def-joint-node ecowell-a-lod0-jg "au" 50) +(def-joint-node ecowell-a-lod0-jg "at" 49) +(def-joint-node ecowell-a-lod0-jg "as" 48) +(def-joint-node ecowell-a-lod0-jg "ar" 47) +(def-joint-node ecowell-a-lod0-jg "aq" 46) +(def-joint-node ecowell-a-lod0-jg "ap" 45) +(def-joint-node ecowell-a-lod0-jg "ao" 44) +(def-joint-node ecowell-a-lod0-jg "an" 43) +(def-joint-node ecowell-a-lod0-jg "am" 42) +(def-joint-node ecowell-a-lod0-jg "al" 41) +(def-joint-node ecowell-a-lod0-jg "ak" 40) +(def-joint-node ecowell-a-lod0-jg "aj" 39) +(def-joint-node ecowell-a-lod0-jg "ai" 38) +(def-joint-node ecowell-a-lod0-jg "ah" 37) +(def-joint-node ecowell-a-lod0-jg "ag" 36) +(def-joint-node ecowell-a-lod0-jg "af" 35) +(def-joint-node ecowell-a-lod0-jg "ae" 34) +(def-joint-node ecowell-a-lod0-jg "ad" 33) +(def-joint-node ecowell-a-lod0-jg "ac" 32) +(def-joint-node ecowell-a-lod0-jg "ab" 31) +(def-joint-node ecowell-a-lod0-jg "aa" 30) +(def-joint-node ecowell-a-lod0-jg "k" 13) +(def-joint-node ecowell-a-lod0-jg "j" 12) +(def-joint-node ecowell-a-lod0-jg "i" 11) +(def-joint-node ecowell-a-lod0-jg "h" 10) +(def-joint-node ecowell-a-lod0-jg "g" 9) +(def-joint-node ecowell-a-lod0-jg "f" 8) +(def-joint-node ecowell-a-lod0-jg "e" 7) +(def-joint-node ecowell-a-lod0-jg "d" 6) +(def-joint-node ecowell-a-lod0-jg "c" 5) +(def-joint-node ecowell-a-lod0-jg "b" 4) +(def-joint-node ecowell-a-lod0-jg "a" 3) +(def-joint-node ecowell-a-lod0-jg "prejoint" 2) +(def-joint-node ecowell-a-lod0-jg "align" 1) +(def-joint-node ecowell-a-lod0-jg "l" 14) +(def-joint-node ecowell-a-lod0-jg "m" 15) +(def-joint-node ecowell-a-lod0-jg "n" 16) +(def-joint-node ecowell-a-lod0-jg "o" 17) +(def-joint-node ecowell-a-lod0-jg "p" 18) +(def-joint-node ecowell-a-lod0-jg "q" 19) +(def-joint-node ecowell-a-lod0-jg "r" 20) +(def-joint-node ecowell-a-lod0-jg "s" 21) +(def-joint-node ecowell-a-lod0-jg "t" 22) +(def-joint-node ecowell-a-lod0-jg "u" 23) +(def-joint-node ecowell-a-lod0-jg "v" 24) +(def-joint-node ecowell-a-lod0-jg "w" 25) +(def-joint-node ecowell-a-lod0-jg "x" 26) +(def-joint-node ecowell-a-lod0-jg "y" 27) +(def-joint-node ecowell-a-lod0-jg "z" 28) +(def-joint-node ecowell-a-lod0-jg "" 29) + +(def-joint-node hellcat-lod0-jg "turretA" 6) +(def-joint-node hellcat-lod0-jg "turret" 5) +(def-joint-node hellcat-lod0-jg "frontgun" 4) +(def-joint-node hellcat-lod0-jg "main" 3) +(def-joint-node hellcat-lod0-jg "prejoint" 2) +(def-joint-node hellcat-lod0-jg "align" 1) + +(def-joint-node oracle-roof-banner-lod0-jg "banner5" 8) +(def-joint-node oracle-roof-banner-lod0-jg "banner4" 7) +(def-joint-node oracle-roof-banner-lod0-jg "banner3" 6) +(def-joint-node oracle-roof-banner-lod0-jg "banner2" 5) +(def-joint-node oracle-roof-banner-lod0-jg "banner1" 4) +(def-joint-node oracle-roof-banner-lod0-jg "main" 3) +(def-joint-node oracle-roof-banner-lod0-jg "prejoint" 2) +(def-joint-node oracle-roof-banner-lod0-jg "align" 1) + +(def-joint-node pal-prong-explode-lod0-jg "j" 12) +(def-joint-node pal-prong-explode-lod0-jg "i" 11) +(def-joint-node pal-prong-explode-lod0-jg "h" 10) +(def-joint-node pal-prong-explode-lod0-jg "g" 9) +(def-joint-node pal-prong-explode-lod0-jg "f" 8) +(def-joint-node pal-prong-explode-lod0-jg "e" 7) +(def-joint-node pal-prong-explode-lod0-jg "d" 6) +(def-joint-node pal-prong-explode-lod0-jg "c" 5) +(def-joint-node pal-prong-explode-lod0-jg "b" 4) +(def-joint-node pal-prong-explode-lod0-jg "a" 3) +(def-joint-node pal-prong-explode-lod0-jg "prejoint" 2) +(def-joint-node pal-prong-explode-lod0-jg "align" 1) + +(def-joint-node cboss-tractor-lod0-jg "trailer" 4) +(def-joint-node cboss-tractor-lod0-jg "main" 3) +(def-joint-node cboss-tractor-lod0-jg "prejoint" 2) +(def-joint-node cboss-tractor-lod0-jg "align" 1) + +(def-joint-node torn-highres-lod0-jg "Rgun" 65) +(def-joint-node torn-highres-lod0-jg "Lgun" 64) +(def-joint-node torn-highres-lod0-jg "lshoulderplate" 63) +(def-joint-node torn-highres-lod0-jg "Rhose" 62) +(def-joint-node torn-highres-lod0-jg "Lhose" 61) +(def-joint-node torn-highres-lod0-jg "sword" 60) +(def-joint-node torn-highres-lod0-jg "Lknee" 29) +(def-joint-node torn-highres-lod0-jg "Lthigh" 28) +(def-joint-node torn-highres-lod0-jg "hips" 27) +(def-joint-node torn-highres-lod0-jg "RpinkyC" 26) +(def-joint-node torn-highres-lod0-jg "RpinkyB" 25) +(def-joint-node torn-highres-lod0-jg "RpinkyA" 24) +(def-joint-node torn-highres-lod0-jg "RthumbA" 23) +(def-joint-node torn-highres-lod0-jg "Rhand" 22) +(def-joint-node torn-highres-lod0-jg "Relbow" 21) +(def-joint-node torn-highres-lod0-jg "Rshoulder" 20) +(def-joint-node torn-highres-lod0-jg "LpinkyC" 19) +(def-joint-node torn-highres-lod0-jg "LpinkyB" 18) +(def-joint-node torn-highres-lod0-jg "LpinkyA" 17) +(def-joint-node torn-highres-lod0-jg "LthumbA" 16) +(def-joint-node torn-highres-lod0-jg "Lhand" 15) +(def-joint-node torn-highres-lod0-jg "Lelbow" 14) +(def-joint-node torn-highres-lod0-jg "align" 1) +(def-joint-node torn-highres-lod0-jg "prejoint" 2) +(def-joint-node torn-highres-lod0-jg "main" 3) +(def-joint-node torn-highres-lod0-jg "chest" 4) +(def-joint-node torn-highres-lod0-jg "neck" 5) +(def-joint-node torn-highres-lod0-jg "head" 6) +(def-joint-node torn-highres-lod0-jg "hairbase" 7) +(def-joint-node torn-highres-lod0-jg "hairmid" 8) +(def-joint-node torn-highres-lod0-jg "Rearbase" 9) +(def-joint-node torn-highres-lod0-jg "Rmidear" 10) +(def-joint-node torn-highres-lod0-jg "Learbase" 11) +(def-joint-node torn-highres-lod0-jg "Lmidear" 12) +(def-joint-node torn-highres-lod0-jg "Lshoulder" 13) +(def-joint-node torn-highres-lod0-jg "Lankle" 30) +(def-joint-node torn-highres-lod0-jg "Lball" 31) +(def-joint-node torn-highres-lod0-jg "Rthigh" 32) +(def-joint-node torn-highres-lod0-jg "Rknee" 33) +(def-joint-node torn-highres-lod0-jg "Rankle" 34) +(def-joint-node torn-highres-lod0-jg "Rball" 35) +(def-joint-node torn-highres-lod0-jg "LthumbB" 36) +(def-joint-node torn-highres-lod0-jg "LthumbC" 37) +(def-joint-node torn-highres-lod0-jg "LindexA" 38) +(def-joint-node torn-highres-lod0-jg "LindexB" 39) +(def-joint-node torn-highres-lod0-jg "LindexC" 40) +(def-joint-node torn-highres-lod0-jg "LmiddleA" 41) +(def-joint-node torn-highres-lod0-jg "LmiddleB" 42) +(def-joint-node torn-highres-lod0-jg "LmiddleC" 43) +(def-joint-node torn-highres-lod0-jg "LringA" 44) +(def-joint-node torn-highres-lod0-jg "LringB" 45) +(def-joint-node torn-highres-lod0-jg "LringC" 46) +(def-joint-node torn-highres-lod0-jg "RthumbB" 47) +(def-joint-node torn-highres-lod0-jg "RthumbC" 48) +(def-joint-node torn-highres-lod0-jg "RindexA" 49) +(def-joint-node torn-highres-lod0-jg "RindexB" 50) +(def-joint-node torn-highres-lod0-jg "RindexC" 51) +(def-joint-node torn-highres-lod0-jg "RmiddleA" 52) +(def-joint-node torn-highres-lod0-jg "RmiddleB" 53) +(def-joint-node torn-highres-lod0-jg "RmiddleC" 54) +(def-joint-node torn-highres-lod0-jg "RringA" 55) +(def-joint-node torn-highres-lod0-jg "RringB" 56) +(def-joint-node torn-highres-lod0-jg "RringC" 57) +(def-joint-node torn-highres-lod0-jg "rshoulderplateA" 58) +(def-joint-node torn-highres-lod0-jg "rshoulderplateB" 59) + +(def-joint-node tomb-boss-catwalk-c-lod0-jg "al" 42) +(def-joint-node tomb-boss-catwalk-c-lod0-jg "ak" 41) +(def-joint-node tomb-boss-catwalk-c-lod0-jg "aj" 40) +(def-joint-node tomb-boss-catwalk-c-lod0-jg "ai" 39) +(def-joint-node tomb-boss-catwalk-c-lod0-jg "ah" 38) +(def-joint-node tomb-boss-catwalk-c-lod0-jg "ag" 37) +(def-joint-node tomb-boss-catwalk-c-lod0-jg "af" 36) +(def-joint-node tomb-boss-catwalk-c-lod0-jg "ae" 35) +(def-joint-node tomb-boss-catwalk-c-lod0-jg "ad" 34) +(def-joint-node tomb-boss-catwalk-c-lod0-jg "ac" 33) +(def-joint-node tomb-boss-catwalk-c-lod0-jg "ab" 32) +(def-joint-node tomb-boss-catwalk-c-lod0-jg "aa" 31) +(def-joint-node tomb-boss-catwalk-c-lod0-jg "main" 30) +(def-joint-node tomb-boss-catwalk-c-lod0-jg "j" 13) +(def-joint-node tomb-boss-catwalk-c-lod0-jg "i" 12) +(def-joint-node tomb-boss-catwalk-c-lod0-jg "h" 11) +(def-joint-node tomb-boss-catwalk-c-lod0-jg "g" 10) +(def-joint-node tomb-boss-catwalk-c-lod0-jg "f" 9) +(def-joint-node tomb-boss-catwalk-c-lod0-jg "e" 8) +(def-joint-node tomb-boss-catwalk-c-lod0-jg "d" 7) +(def-joint-node tomb-boss-catwalk-c-lod0-jg "c" 6) +(def-joint-node tomb-boss-catwalk-c-lod0-jg "b" 5) +(def-joint-node tomb-boss-catwalk-c-lod0-jg "a" 4) +(def-joint-node tomb-boss-catwalk-c-lod0-jg "explode" 3) +(def-joint-node tomb-boss-catwalk-c-lod0-jg "prejoint" 2) +(def-joint-node tomb-boss-catwalk-c-lod0-jg "align" 1) +(def-joint-node tomb-boss-catwalk-c-lod0-jg "k" 14) +(def-joint-node tomb-boss-catwalk-c-lod0-jg "l" 15) +(def-joint-node tomb-boss-catwalk-c-lod0-jg "m" 16) +(def-joint-node tomb-boss-catwalk-c-lod0-jg "n" 17) +(def-joint-node tomb-boss-catwalk-c-lod0-jg "o" 18) +(def-joint-node tomb-boss-catwalk-c-lod0-jg "p" 19) +(def-joint-node tomb-boss-catwalk-c-lod0-jg "q" 20) +(def-joint-node tomb-boss-catwalk-c-lod0-jg "r" 21) +(def-joint-node tomb-boss-catwalk-c-lod0-jg "s" 22) +(def-joint-node tomb-boss-catwalk-c-lod0-jg "t" 23) +(def-joint-node tomb-boss-catwalk-c-lod0-jg "u" 24) +(def-joint-node tomb-boss-catwalk-c-lod0-jg "v" 25) +(def-joint-node tomb-boss-catwalk-c-lod0-jg "w" 26) +(def-joint-node tomb-boss-catwalk-c-lod0-jg "x" 27) +(def-joint-node tomb-boss-catwalk-c-lod0-jg "y" 28) +(def-joint-node tomb-boss-catwalk-c-lod0-jg "z" 29) + +(def-joint-node oracle-door-lod0-jg "Rdoor" 5) +(def-joint-node oracle-door-lod0-jg "Ldoor" 4) +(def-joint-node oracle-door-lod0-jg "main" 3) +(def-joint-node oracle-door-lod0-jg "prejoint" 2) +(def-joint-node oracle-door-lod0-jg "align" 1) + +(def-joint-node awning-lod0-jg "tarp" 8) +(def-joint-node awning-lod0-jg "rightB" 7) +(def-joint-node awning-lod0-jg "rightA" 6) +(def-joint-node awning-lod0-jg "leftB" 5) +(def-joint-node awning-lod0-jg "leftA" 4) +(def-joint-node awning-lod0-jg "main" 3) +(def-joint-node awning-lod0-jg "prejoint" 2) +(def-joint-node awning-lod0-jg "align" 1) + +(def-joint-node drill-turret-ext-lod0-jg "camera" 12) +(def-joint-node drill-turret-ext-lod0-jg "Rtopguntip" 11) +(def-joint-node drill-turret-ext-lod0-jg "Rtopgun" 10) +(def-joint-node drill-turret-ext-lod0-jg "Rbottomguntip" 9) +(def-joint-node drill-turret-ext-lod0-jg "Rbottomgun" 8) +(def-joint-node drill-turret-ext-lod0-jg "Lbottomguntip" 7) +(def-joint-node drill-turret-ext-lod0-jg "Lbottomgun" 6) +(def-joint-node drill-turret-ext-lod0-jg "Ltopguntip" 5) +(def-joint-node drill-turret-ext-lod0-jg "Ltopgun" 4) +(def-joint-node drill-turret-ext-lod0-jg "main" 3) +(def-joint-node drill-turret-ext-lod0-jg "prejoint" 2) +(def-joint-node drill-turret-ext-lod0-jg "align" 1) + +(def-joint-node drill-falling-door-lod0-jg "damage14" 18) +(def-joint-node drill-falling-door-lod0-jg "damage13" 17) +(def-joint-node drill-falling-door-lod0-jg "damage12" 16) +(def-joint-node drill-falling-door-lod0-jg "damage11" 15) +(def-joint-node drill-falling-door-lod0-jg "damage10" 14) +(def-joint-node drill-falling-door-lod0-jg "align" 1) +(def-joint-node drill-falling-door-lod0-jg "prejoint" 2) +(def-joint-node drill-falling-door-lod0-jg "main" 3) +(def-joint-node drill-falling-door-lod0-jg "rotatedoor" 4) +(def-joint-node drill-falling-door-lod0-jg "damage1" 5) +(def-joint-node drill-falling-door-lod0-jg "damage2" 6) +(def-joint-node drill-falling-door-lod0-jg "damage3" 7) +(def-joint-node drill-falling-door-lod0-jg "damage4" 8) +(def-joint-node drill-falling-door-lod0-jg "damage5" 9) +(def-joint-node drill-falling-door-lod0-jg "damage6" 10) +(def-joint-node drill-falling-door-lod0-jg "damage7" 11) +(def-joint-node drill-falling-door-lod0-jg "damage8" 12) +(def-joint-node drill-falling-door-lod0-jg "damage9" 13) + +(def-joint-node drill-barons-ship-explode-lod0-jg "af" 35) +(def-joint-node drill-barons-ship-explode-lod0-jg "ae" 34) +(def-joint-node drill-barons-ship-explode-lod0-jg "ad" 33) +(def-joint-node drill-barons-ship-explode-lod0-jg "ac" 32) +(def-joint-node drill-barons-ship-explode-lod0-jg "ab" 31) +(def-joint-node drill-barons-ship-explode-lod0-jg "aa" 30) +(def-joint-node drill-barons-ship-explode-lod0-jg "k" 13) +(def-joint-node drill-barons-ship-explode-lod0-jg "j" 12) +(def-joint-node drill-barons-ship-explode-lod0-jg "i" 11) +(def-joint-node drill-barons-ship-explode-lod0-jg "h" 10) +(def-joint-node drill-barons-ship-explode-lod0-jg "g" 9) +(def-joint-node drill-barons-ship-explode-lod0-jg "f" 8) +(def-joint-node drill-barons-ship-explode-lod0-jg "e" 7) +(def-joint-node drill-barons-ship-explode-lod0-jg "d" 6) +(def-joint-node drill-barons-ship-explode-lod0-jg "c" 5) +(def-joint-node drill-barons-ship-explode-lod0-jg "b" 4) +(def-joint-node drill-barons-ship-explode-lod0-jg "main" 3) +(def-joint-node drill-barons-ship-explode-lod0-jg "prejoint" 2) +(def-joint-node drill-barons-ship-explode-lod0-jg "align" 1) +(def-joint-node drill-barons-ship-explode-lod0-jg "l" 14) +(def-joint-node drill-barons-ship-explode-lod0-jg "m" 15) +(def-joint-node drill-barons-ship-explode-lod0-jg "n" 16) +(def-joint-node drill-barons-ship-explode-lod0-jg "o" 17) +(def-joint-node drill-barons-ship-explode-lod0-jg "p" 18) +(def-joint-node drill-barons-ship-explode-lod0-jg "q" 19) +(def-joint-node drill-barons-ship-explode-lod0-jg "r" 20) +(def-joint-node drill-barons-ship-explode-lod0-jg "s" 21) +(def-joint-node drill-barons-ship-explode-lod0-jg "t" 22) +(def-joint-node drill-barons-ship-explode-lod0-jg "u" 23) +(def-joint-node drill-barons-ship-explode-lod0-jg "v" 24) +(def-joint-node drill-barons-ship-explode-lod0-jg "w" 25) +(def-joint-node drill-barons-ship-explode-lod0-jg "x" 26) +(def-joint-node drill-barons-ship-explode-lod0-jg "y" 27) +(def-joint-node drill-barons-ship-explode-lod0-jg "z" 28) +(def-joint-node drill-barons-ship-explode-lod0-jg "zz" 29) + +(def-joint-node water-anim-strip-dark-eco-under-bridge-lod0-jg "boneless" 3) +(def-joint-node water-anim-strip-dark-eco-under-bridge-lod0-jg "prejoint" 2) +(def-joint-node water-anim-strip-dark-eco-under-bridge-lod0-jg "align" 1) + +(def-joint-node computerpaper-lod0-jg "paperg" 10) +(def-joint-node computerpaper-lod0-jg "paperf" 9) +(def-joint-node computerpaper-lod0-jg "papere" 8) +(def-joint-node computerpaper-lod0-jg "paperd" 7) +(def-joint-node computerpaper-lod0-jg "paperc" 6) +(def-joint-node computerpaper-lod0-jg "paperb" 5) +(def-joint-node computerpaper-lod0-jg "papera" 4) +(def-joint-node computerpaper-lod0-jg "paperbase" 3) +(def-joint-node computerpaper-lod0-jg "prejoint" 2) +(def-joint-node computerpaper-lod0-jg "align" 1) + +(def-joint-node gun-ammo-yellow-lod0-jg "main" 3) +(def-joint-node gun-ammo-yellow-lod0-jg "prejoint" 2) +(def-joint-node gun-ammo-yellow-lod0-jg "align" 1) + +(def-joint-node nest-unbroken-rocks-lod0-jg "main" 3) +(def-joint-node nest-unbroken-rocks-lod0-jg "prejoint" 2) +(def-joint-node nest-unbroken-rocks-lod0-jg "align" 1) + +(def-joint-node mtn-lens-base-lod0-jg "panel9" 12) +(def-joint-node mtn-lens-base-lod0-jg "panel8" 11) +(def-joint-node mtn-lens-base-lod0-jg "panel7" 10) +(def-joint-node mtn-lens-base-lod0-jg "panel6" 9) +(def-joint-node mtn-lens-base-lod0-jg "panel5" 8) +(def-joint-node mtn-lens-base-lod0-jg "panel4" 7) +(def-joint-node mtn-lens-base-lod0-jg "panel3" 6) +(def-joint-node mtn-lens-base-lod0-jg "panel2" 5) +(def-joint-node mtn-lens-base-lod0-jg "shutterscale" 4) +(def-joint-node mtn-lens-base-lod0-jg "main" 3) +(def-joint-node mtn-lens-base-lod0-jg "prejoint" 2) +(def-joint-node mtn-lens-base-lod0-jg "align" 1) + +(def-joint-node rhino-lod0-jg "BackShieldB" 33) +(def-joint-node rhino-lod0-jg "BackShieldC" 32) +(def-joint-node rhino-lod0-jg "BackShieldD" 31) +(def-joint-node rhino-lod0-jg "Rhindball" 30) +(def-joint-node rhino-lod0-jg "RfrontAnkle" 13) +(def-joint-node rhino-lod0-jg "RfrontCannon" 12) +(def-joint-node rhino-lod0-jg "RfrontThigh" 11) +(def-joint-node rhino-lod0-jg "LshoulderGuard" 10) +(def-joint-node rhino-lod0-jg "LfrontAnkle" 9) +(def-joint-node rhino-lod0-jg "LfrontCannon" 8) +(def-joint-node rhino-lod0-jg "LfrontThigh" 7) +(def-joint-node rhino-lod0-jg "head" 6) +(def-joint-node rhino-lod0-jg "neck" 5) +(def-joint-node rhino-lod0-jg "chest" 4) +(def-joint-node rhino-lod0-jg "main" 3) +(def-joint-node rhino-lod0-jg "prejoint" 2) +(def-joint-node rhino-lod0-jg "align" 1) +(def-joint-node rhino-lod0-jg "RshoulderGuard" 14) +(def-joint-node rhino-lod0-jg "loSpine" 15) +(def-joint-node rhino-lod0-jg "hips" 16) +(def-joint-node rhino-lod0-jg "LhindThigh" 17) +(def-joint-node rhino-lod0-jg "LhindKnee" 18) +(def-joint-node rhino-lod0-jg "LhindAnkle" 19) +(def-joint-node rhino-lod0-jg "tailA" 20) +(def-joint-node rhino-lod0-jg "tailB" 21) +(def-joint-node rhino-lod0-jg "RhindThigh" 22) +(def-joint-node rhino-lod0-jg "RhindKnee" 23) +(def-joint-node rhino-lod0-jg "RhindAnkle" 24) +(def-joint-node rhino-lod0-jg "jaw" 25) +(def-joint-node rhino-lod0-jg "LfrontBall" 26) +(def-joint-node rhino-lod0-jg "RfrontBall" 27) +(def-joint-node rhino-lod0-jg "BackShieldA" 28) +(def-joint-node rhino-lod0-jg "Lhindball" 29) + +(def-joint-node tomb-boulder-pillar-lod0-jg "main" 3) +(def-joint-node tomb-boulder-pillar-lod0-jg "prejoint" 2) +(def-joint-node tomb-boulder-pillar-lod0-jg "align" 1) + +(def-joint-node cty-guard-turret-button-lod0-jg "button" 4) +(def-joint-node cty-guard-turret-button-lod0-jg "main" 3) +(def-joint-node cty-guard-turret-button-lod0-jg "prejoint" 2) +(def-joint-node cty-guard-turret-button-lod0-jg "align" 1) + +(def-joint-node pushblock-lod0-jg "top" 3) +(def-joint-node pushblock-lod0-jg "prejoint" 2) +(def-joint-node pushblock-lod0-jg "align" 1) + +(def-joint-node sew-elevator-lod0-jg "main" 3) +(def-joint-node sew-elevator-lod0-jg "prejoint" 2) +(def-joint-node sew-elevator-lod0-jg "align" 1) + +(def-joint-node juicer-lod0-jg "Rball" 51) +(def-joint-node juicer-lod0-jg "RoutsideClaw" 50) +(def-joint-node juicer-lod0-jg "RinsideClaw" 49) +(def-joint-node juicer-lod0-jg "Lball" 48) +(def-joint-node juicer-lod0-jg "LoutsideClaw" 47) +(def-joint-node juicer-lod0-jg "LinsideClaw" 46) +(def-joint-node juicer-lod0-jg "RmiddleB" 45) +(def-joint-node juicer-lod0-jg "RthumbC" 44) +(def-joint-node juicer-lod0-jg "RthumbB" 43) +(def-joint-node juicer-lod0-jg "LmiddleB" 42) +(def-joint-node juicer-lod0-jg "LthumbC" 41) +(def-joint-node juicer-lod0-jg "LthumbB" 40) +(def-joint-node juicer-lod0-jg "jaw" 39) +(def-joint-node juicer-lod0-jg "Rshoulderguard" 38) +(def-joint-node juicer-lod0-jg "Lshoulderguard" 37) +(def-joint-node juicer-lod0-jg "Rbracelet" 36) +(def-joint-node juicer-lod0-jg "Lbracelet" 35) +(def-joint-node juicer-lod0-jg "head" 34) +(def-joint-node juicer-lod0-jg "tailD" 33) +(def-joint-node juicer-lod0-jg "tailC" 32) +(def-joint-node juicer-lod0-jg "tailB" 31) +(def-joint-node juicer-lod0-jg "tailA" 30) +(def-joint-node juicer-lod0-jg "LmiddleA" 13) +(def-joint-node juicer-lod0-jg "LthumbA" 12) +(def-joint-node juicer-lod0-jg "Lhand" 11) +(def-joint-node juicer-lod0-jg "Lelbow" 10) +(def-joint-node juicer-lod0-jg "Lshoulder" 9) +(def-joint-node juicer-lod0-jg "neckB" 8) +(def-joint-node juicer-lod0-jg "neckA" 7) +(def-joint-node juicer-lod0-jg "chest" 6) +(def-joint-node juicer-lod0-jg "swivelMe" 5) +(def-joint-node juicer-lod0-jg "track" 4) +(def-joint-node juicer-lod0-jg "main" 3) +(def-joint-node juicer-lod0-jg "prejoint" 2) +(def-joint-node juicer-lod0-jg "align" 1) +(def-joint-node juicer-lod0-jg "Rshoulder" 14) +(def-joint-node juicer-lod0-jg "Relbow" 15) +(def-joint-node juicer-lod0-jg "Rhand" 16) +(def-joint-node juicer-lod0-jg "RthumbA" 17) +(def-joint-node juicer-lod0-jg "RmiddleA" 18) +(def-joint-node juicer-lod0-jg "gun" 19) +(def-joint-node juicer-lod0-jg "tazer" 20) +(def-joint-node juicer-lod0-jg "hips" 21) +(def-joint-node juicer-lod0-jg "Lthigh" 22) +(def-joint-node juicer-lod0-jg "Lknee" 23) +(def-joint-node juicer-lod0-jg "Lhindcannon" 24) +(def-joint-node juicer-lod0-jg "Lankle" 25) +(def-joint-node juicer-lod0-jg "Rthigh" 26) +(def-joint-node juicer-lod0-jg "Rknee" 27) +(def-joint-node juicer-lod0-jg "Rhindcannon" 28) +(def-joint-node juicer-lod0-jg "Rankle" 29) + +(def-joint-node samos-highres-lod0-jg "belly" 80) +(def-joint-node samos-highres-lod0-jg "Rbigtoe" 79) +(def-joint-node samos-highres-lod0-jg "Rtoes" 78) +(def-joint-node samos-highres-lod0-jg "Rfootball" 77) +(def-joint-node samos-highres-lod0-jg "Lbigtoe" 76) +(def-joint-node samos-highres-lod0-jg "Ltoes" 75) +(def-joint-node samos-highres-lod0-jg "Lfootball" 74) +(def-joint-node samos-highres-lod0-jg "RringB" 73) +(def-joint-node samos-highres-lod0-jg "RringA" 72) +(def-joint-node samos-highres-lod0-jg "RmiddleB" 71) +(def-joint-node samos-highres-lod0-jg "RmiddleA" 70) +(def-joint-node samos-highres-lod0-jg "RthumbC" 69) +(def-joint-node samos-highres-lod0-jg "RthumbB" 68) +(def-joint-node samos-highres-lod0-jg "LpinkyB" 67) +(def-joint-node samos-highres-lod0-jg "LpinkyA" 66) +(def-joint-node samos-highres-lod0-jg "LringB" 65) +(def-joint-node samos-highres-lod0-jg "LringA" 64) +(def-joint-node samos-highres-lod0-jg "LmiddleB" 63) +(def-joint-node samos-highres-lod0-jg "LmiddleA" 62) +(def-joint-node samos-highres-lod0-jg "LindexB" 61) +(def-joint-node samos-highres-lod0-jg "LindexA" 60) +(def-joint-node samos-highres-lod0-jg "hips" 29) +(def-joint-node samos-highres-lod0-jg "RpinkyB" 28) +(def-joint-node samos-highres-lod0-jg "RpinkyA" 27) +(def-joint-node samos-highres-lod0-jg "RindexB" 26) +(def-joint-node samos-highres-lod0-jg "RindexA" 25) +(def-joint-node samos-highres-lod0-jg "RthumbA" 24) +(def-joint-node samos-highres-lod0-jg "Rhand" 23) +(def-joint-node samos-highres-lod0-jg "Relbow" 22) +(def-joint-node samos-highres-lod0-jg "Rshoulder" 21) +(def-joint-node samos-highres-lod0-jg "Lhand" 20) +(def-joint-node samos-highres-lod0-jg "Lelbow" 19) +(def-joint-node samos-highres-lod0-jg "Lshoulder" 18) +(def-joint-node samos-highres-lod0-jg "beard" 17) +(def-joint-node samos-highres-lod0-jg "beard_lip" 16) +(def-joint-node samos-highres-lod0-jg "beardDriver" 15) +(def-joint-node samos-highres-lod0-jg "RearMID" 14) +(def-joint-node samos-highres-lod0-jg "align" 1) +(def-joint-node samos-highres-lod0-jg "prejoint" 2) +(def-joint-node samos-highres-lod0-jg "main" 3) +(def-joint-node samos-highres-lod0-jg "chest" 4) +(def-joint-node samos-highres-lod0-jg "head" 5) +(def-joint-node samos-highres-lod0-jg "headLog" 6) +(def-joint-node samos-highres-lod0-jg "Llog" 7) +(def-joint-node samos-highres-lod0-jg "Rlog" 8) +(def-joint-node samos-highres-lod0-jg "LhairBASE" 9) +(def-joint-node samos-highres-lod0-jg "Lhair" 10) +(def-joint-node samos-highres-lod0-jg "LearBASE" 11) +(def-joint-node samos-highres-lod0-jg "LearMID" 12) +(def-joint-node samos-highres-lod0-jg "RearBASE" 13) +(def-joint-node samos-highres-lod0-jg "Lthigh" 30) +(def-joint-node samos-highres-lod0-jg "Lknee" 31) +(def-joint-node samos-highres-lod0-jg "Lankle" 32) +(def-joint-node samos-highres-lod0-jg "Rthigh" 33) +(def-joint-node samos-highres-lod0-jg "Rknee" 34) +(def-joint-node samos-highres-lod0-jg "Rankle" 35) +(def-joint-node samos-highres-lod0-jg "staffMAIN" 36) +(def-joint-node samos-highres-lod0-jg "staffUpA" 37) +(def-joint-node samos-highres-lod0-jg "staffDownA" 38) +(def-joint-node samos-highres-lod0-jg "staffDownB" 39) +(def-joint-node samos-highres-lod0-jg "staffBOTTOM" 40) +(def-joint-node samos-highres-lod0-jg "camera" 41) +(def-joint-node samos-highres-lod0-jg "cameraB" 42) +(def-joint-node samos-highres-lod0-jg "BIRDfeet1" 43) +(def-joint-node samos-highres-lod0-jg "BIRD1" 44) +(def-joint-node samos-highres-lod0-jg "BIRDhead1" 45) +(def-joint-node samos-highres-lod0-jg "Birdfeather" 46) +(def-joint-node samos-highres-lod0-jg "Birdjaw" 47) +(def-joint-node samos-highres-lod0-jg "BIRDR1" 48) +(def-joint-node samos-highres-lod0-jg "BIRDR2" 49) +(def-joint-node samos-highres-lod0-jg "BIRDL1" 50) +(def-joint-node samos-highres-lod0-jg "BIRDL2" 51) +(def-joint-node samos-highres-lod0-jg "Birdtail" 52) +(def-joint-node samos-highres-lod0-jg "ponytailBASE" 53) +(def-joint-node samos-highres-lod0-jg "ponytailMID" 54) +(def-joint-node samos-highres-lod0-jg "RhairBASE" 55) +(def-joint-node samos-highres-lod0-jg "Rhair" 56) +(def-joint-node samos-highres-lod0-jg "LthumbA" 57) +(def-joint-node samos-highres-lod0-jg "LthumbB" 58) +(def-joint-node samos-highres-lod0-jg "LthumbC" 59) + +(def-joint-node pal-windmill-lod0-jg "main" 3) +(def-joint-node pal-windmill-lod0-jg "prejoint" 2) +(def-joint-node pal-windmill-lod0-jg "align" 1) + +(def-joint-node ruins-tower-c-lod0-jg "ej" 43) +(def-joint-node ruins-tower-c-lod0-jg "ei" 42) +(def-joint-node ruins-tower-c-lod0-jg "eh" 41) +(def-joint-node ruins-tower-c-lod0-jg "eg" 40) +(def-joint-node ruins-tower-c-lod0-jg "ef" 39) +(def-joint-node ruins-tower-c-lod0-jg "ee" 38) +(def-joint-node ruins-tower-c-lod0-jg "ed" 37) +(def-joint-node ruins-tower-c-lod0-jg "ec" 36) +(def-joint-node ruins-tower-c-lod0-jg "eb" 35) +(def-joint-node ruins-tower-c-lod0-jg "ea" 34) +(def-joint-node ruins-tower-c-lod0-jg "dz" 33) +(def-joint-node ruins-tower-c-lod0-jg "dy" 32) +(def-joint-node ruins-tower-c-lod0-jg "dx" 31) +(def-joint-node ruins-tower-c-lod0-jg "dw" 30) +(def-joint-node ruins-tower-c-lod0-jg "df" 13) +(def-joint-node ruins-tower-c-lod0-jg "de" 12) +(def-joint-node ruins-tower-c-lod0-jg "dd" 11) +(def-joint-node ruins-tower-c-lod0-jg "dc" 10) +(def-joint-node ruins-tower-c-lod0-jg "db" 9) +(def-joint-node ruins-tower-c-lod0-jg "da" 8) +(def-joint-node ruins-tower-c-lod0-jg "cz" 7) +(def-joint-node ruins-tower-c-lod0-jg "cy" 6) +(def-joint-node ruins-tower-c-lod0-jg "cx" 5) +(def-joint-node ruins-tower-c-lod0-jg "cw" 4) +(def-joint-node ruins-tower-c-lod0-jg "cv" 3) +(def-joint-node ruins-tower-c-lod0-jg "prejoint" 2) +(def-joint-node ruins-tower-c-lod0-jg "align" 1) +(def-joint-node ruins-tower-c-lod0-jg "dg" 14) +(def-joint-node ruins-tower-c-lod0-jg "dh" 15) +(def-joint-node ruins-tower-c-lod0-jg "di" 16) +(def-joint-node ruins-tower-c-lod0-jg "dj" 17) +(def-joint-node ruins-tower-c-lod0-jg "dk" 18) +(def-joint-node ruins-tower-c-lod0-jg "dl" 19) +(def-joint-node ruins-tower-c-lod0-jg "dm" 20) +(def-joint-node ruins-tower-c-lod0-jg "dn" 21) +(def-joint-node ruins-tower-c-lod0-jg "do" 22) +(def-joint-node ruins-tower-c-lod0-jg "dp" 23) +(def-joint-node ruins-tower-c-lod0-jg "dq" 24) +(def-joint-node ruins-tower-c-lod0-jg "dr" 25) +(def-joint-node ruins-tower-c-lod0-jg "ds" 26) +(def-joint-node ruins-tower-c-lod0-jg "dt" 27) +(def-joint-node ruins-tower-c-lod0-jg "du" 28) +(def-joint-node ruins-tower-c-lod0-jg "dv" 29) + +(def-joint-node water-anim-ctypal-middle-fountain-lod0-jg "boneless" 3) +(def-joint-node water-anim-ctypal-middle-fountain-lod0-jg "prejoint" 2) +(def-joint-node water-anim-ctypal-middle-fountain-lod0-jg "align" 1) + +(def-joint-node widow-lod0-jg "RmissileCover" 91) +(def-joint-node widow-lod0-jg "LmissileCover" 90) +(def-joint-node widow-lod0-jg "RbiggerGunTip" 89) +(def-joint-node widow-lod0-jg "RbiggerGun" 88) +(def-joint-node widow-lod0-jg "RsmallGunTip" 87) +(def-joint-node widow-lod0-jg "RsmallGun" 86) +(def-joint-node widow-lod0-jg "Rturret" 85) +(def-joint-node widow-lod0-jg "LbiggerGunTip" 84) +(def-joint-node widow-lod0-jg "LbiggerGun" 83) +(def-joint-node widow-lod0-jg "LsmallGunTip" 82) +(def-joint-node widow-lod0-jg "LsmallGun" 81) +(def-joint-node widow-lod0-jg "Lturret" 80) +(def-joint-node widow-lod0-jg "thrust" 79) +(def-joint-node widow-lod0-jg "redConstantAft" 78) +(def-joint-node widow-lod0-jg "redConstantR" 77) +(def-joint-node widow-lod0-jg "bombR" 76) +(def-joint-node widow-lod0-jg "RmissilePod" 75) +(def-joint-node widow-lod0-jg "RmissilePodMount" 74) +(def-joint-node widow-lod0-jg "redConstantL" 73) +(def-joint-node widow-lod0-jg "bombL" 72) +(def-joint-node widow-lod0-jg "LmissilePod" 71) +(def-joint-node widow-lod0-jg "LmissilePodMount" 70) +(def-joint-node widow-lod0-jg "RaftFoot" 69) +(def-joint-node widow-lod0-jg "RaftLegHousing" 68) +(def-joint-node widow-lod0-jg "RaftLowerLeg" 67) +(def-joint-node widow-lod0-jg "RaftKnee" 66) +(def-joint-node widow-lod0-jg "RaftSlideKnee" 65) +(def-joint-node widow-lod0-jg "RaftUpperLeg" 64) +(def-joint-node widow-lod0-jg "RaftSlideUpperLeg" 63) +(def-joint-node widow-lod0-jg "RaftHip" 62) +(def-joint-node widow-lod0-jg "RmidFoot" 61) +(def-joint-node widow-lod0-jg "RmidLegHousing" 60) +(def-joint-node widow-lod0-jg "LaftHip" 29) +(def-joint-node widow-lod0-jg "LmidFoot" 28) +(def-joint-node widow-lod0-jg "LmidLegHousing" 27) +(def-joint-node widow-lod0-jg "LmidLowerLeg" 26) +(def-joint-node widow-lod0-jg "LmidKnee" 25) +(def-joint-node widow-lod0-jg "LmidSlideKnee" 24) +(def-joint-node widow-lod0-jg "LmidUpperLeg" 23) +(def-joint-node widow-lod0-jg "LmidSlideUpperLeg" 22) +(def-joint-node widow-lod0-jg "LmidHip" 21) +(def-joint-node widow-lod0-jg "LarmHousing" 20) +(def-joint-node widow-lod0-jg "LfingerDbot" 19) +(def-joint-node widow-lod0-jg "LfingerDtop" 18) +(def-joint-node widow-lod0-jg "LfingerCbot" 17) +(def-joint-node widow-lod0-jg "LfingerCtop" 16) +(def-joint-node widow-lod0-jg "LfingerBbot" 15) +(def-joint-node widow-lod0-jg "LfingerBtop" 14) +(def-joint-node widow-lod0-jg "align" 1) +(def-joint-node widow-lod0-jg "prejoint" 2) +(def-joint-node widow-lod0-jg "main" 3) +(def-joint-node widow-lod0-jg "Lshoulder" 4) +(def-joint-node widow-lod0-jg "LslideUpperArm" 5) +(def-joint-node widow-lod0-jg "LupperArm" 6) +(def-joint-node widow-lod0-jg "LslideElbow" 7) +(def-joint-node widow-lod0-jg "Lelbow" 8) +(def-joint-node widow-lod0-jg "LlowerArm" 9) +(def-joint-node widow-lod0-jg "LslideWrist" 10) +(def-joint-node widow-lod0-jg "Lwrist" 11) +(def-joint-node widow-lod0-jg "LfingerAtop" 12) +(def-joint-node widow-lod0-jg "LfingerAbot" 13) +(def-joint-node widow-lod0-jg "LaftSlideUpperLeg" 30) +(def-joint-node widow-lod0-jg "LaftUpperLeg" 31) +(def-joint-node widow-lod0-jg "LaftSlideKnee" 32) +(def-joint-node widow-lod0-jg "LaftKnee" 33) +(def-joint-node widow-lod0-jg "LaftLowerLeg" 34) +(def-joint-node widow-lod0-jg "LaftLegHousing" 35) +(def-joint-node widow-lod0-jg "LaftFoot" 36) +(def-joint-node widow-lod0-jg "Rshoulder" 37) +(def-joint-node widow-lod0-jg "RslideUpperArm" 38) +(def-joint-node widow-lod0-jg "RupperArm" 39) +(def-joint-node widow-lod0-jg "RslideElbow" 40) +(def-joint-node widow-lod0-jg "Relbow" 41) +(def-joint-node widow-lod0-jg "RlowerArm" 42) +(def-joint-node widow-lod0-jg "RslideWrist" 43) +(def-joint-node widow-lod0-jg "Rwrist" 44) +(def-joint-node widow-lod0-jg "RfingerAtop" 45) +(def-joint-node widow-lod0-jg "RfingerAbot" 46) +(def-joint-node widow-lod0-jg "RfingerBtop" 47) +(def-joint-node widow-lod0-jg "RfingerBbot" 48) +(def-joint-node widow-lod0-jg "RfingerCtop" 49) +(def-joint-node widow-lod0-jg "RfingerCbot" 50) +(def-joint-node widow-lod0-jg "RfingerDtop" 51) +(def-joint-node widow-lod0-jg "RfingerDbot" 52) +(def-joint-node widow-lod0-jg "RarmHousing" 53) +(def-joint-node widow-lod0-jg "RmidHip" 54) +(def-joint-node widow-lod0-jg "RmidSlideUpperLeg" 55) +(def-joint-node widow-lod0-jg "RmidUpperLeg" 56) +(def-joint-node widow-lod0-jg "RmidSlideKnee" 57) +(def-joint-node widow-lod0-jg "RmidKnee" 58) +(def-joint-node widow-lod0-jg "RmidLowerLeg" 59) + +(def-joint-node drill-wall-lod0-jg "w" 26) +(def-joint-node drill-wall-lod0-jg "v" 25) +(def-joint-node drill-wall-lod0-jg "t" 24) +(def-joint-node drill-wall-lod0-jg "s" 23) +(def-joint-node drill-wall-lod0-jg "r" 22) +(def-joint-node drill-wall-lod0-jg "q" 21) +(def-joint-node drill-wall-lod0-jg "p" 20) +(def-joint-node drill-wall-lod0-jg "o" 19) +(def-joint-node drill-wall-lod0-jg "n" 18) +(def-joint-node drill-wall-lod0-jg "m" 17) +(def-joint-node drill-wall-lod0-jg "l" 16) +(def-joint-node drill-wall-lod0-jg "k" 15) +(def-joint-node drill-wall-lod0-jg "j" 14) +(def-joint-node drill-wall-lod0-jg "align" 1) +(def-joint-node drill-wall-lod0-jg "prejoint" 2) +(def-joint-node drill-wall-lod0-jg "explode" 3) +(def-joint-node drill-wall-lod0-jg "main" 4) +(def-joint-node drill-wall-lod0-jg "a" 5) +(def-joint-node drill-wall-lod0-jg "b" 6) +(def-joint-node drill-wall-lod0-jg "c" 7) +(def-joint-node drill-wall-lod0-jg "d" 8) +(def-joint-node drill-wall-lod0-jg "e" 9) +(def-joint-node drill-wall-lod0-jg "f" 10) +(def-joint-node drill-wall-lod0-jg "g" 11) +(def-joint-node drill-wall-lod0-jg "h" 12) +(def-joint-node drill-wall-lod0-jg "i" 13) + +(def-joint-node water-anim-under-drainout-lod0-jg "boneless" 3) +(def-joint-node water-anim-under-drainout-lod0-jg "prejoint" 2) +(def-joint-node water-anim-under-drainout-lod0-jg "align" 1) + +(def-joint-node metalkor-head-lod0-jg "Rboteye" 40) +(def-joint-node metalkor-head-lod0-jg "Rtopeye" 39) +(def-joint-node metalkor-head-lod0-jg "Lboteye" 38) +(def-joint-node metalkor-head-lod0-jg "Ltopeye" 37) +(def-joint-node metalkor-head-lod0-jg "tongueC" 36) +(def-joint-node metalkor-head-lod0-jg "tongueB" 35) +(def-joint-node metalkor-head-lod0-jg "tongueA" 34) +(def-joint-node metalkor-head-lod0-jg "LffeelerB" 33) +(def-joint-node metalkor-head-lod0-jg "LffeelerA" 32) +(def-joint-node metalkor-head-lod0-jg "LffeelerD" 31) +(def-joint-node metalkor-head-lod0-jg "LffeelerC" 30) +(def-joint-node metalkor-head-lod0-jg "RfrfeelB" 13) +(def-joint-node metalkor-head-lod0-jg "RfrfeelA" 12) +(def-joint-node metalkor-head-lod0-jg "RsidefeelB" 11) +(def-joint-node metalkor-head-lod0-jg "RsidefeelA" 10) +(def-joint-node metalkor-head-lod0-jg "lowlip" 9) +(def-joint-node metalkor-head-lod0-jg "lowerjaw" 8) +(def-joint-node metalkor-head-lod0-jg "topjaw" 7) +(def-joint-node metalkor-head-lod0-jg "head" 6) +(def-joint-node metalkor-head-lod0-jg "neck" 5) +(def-joint-node metalkor-head-lod0-jg "chest" 4) +(def-joint-node metalkor-head-lod0-jg "main" 3) +(def-joint-node metalkor-head-lod0-jg "prejoint" 2) +(def-joint-node metalkor-head-lod0-jg "align" 1) +(def-joint-node metalkor-head-lod0-jg "LfrfeelA" 14) +(def-joint-node metalkor-head-lod0-jg "LfrfeelB" 15) +(def-joint-node metalkor-head-lod0-jg "LsidefeelA" 16) +(def-joint-node metalkor-head-lod0-jg "LsidefeelB" 17) +(def-joint-node metalkor-head-lod0-jg "RffeelerG" 18) +(def-joint-node metalkor-head-lod0-jg "RffeelerH" 19) +(def-joint-node metalkor-head-lod0-jg "RffeelerE" 20) +(def-joint-node metalkor-head-lod0-jg "RffeelerF" 21) +(def-joint-node metalkor-head-lod0-jg "RffeelerC" 22) +(def-joint-node metalkor-head-lod0-jg "RffeelerD" 23) +(def-joint-node metalkor-head-lod0-jg "RffeelerA" 24) +(def-joint-node metalkor-head-lod0-jg "RffeelerB" 25) +(def-joint-node metalkor-head-lod0-jg "LffeelerG" 26) +(def-joint-node metalkor-head-lod0-jg "LffeelerH" 27) +(def-joint-node metalkor-head-lod0-jg "LffeelerE" 28) +(def-joint-node metalkor-head-lod0-jg "LffeelerF" 29) + +(def-joint-node crimson-guard-hover-lod0-jg "Rstick" 34) +(def-joint-node crimson-guard-hover-lod0-jg "Lstick" 33) +(def-joint-node crimson-guard-hover-lod0-jg "Rhand" 32) +(def-joint-node crimson-guard-hover-lod0-jg "Relbow" 31) +(def-joint-node crimson-guard-hover-lod0-jg "Rshoulder" 30) +(def-joint-node crimson-guard-hover-lod0-jg "engineBase" 13) +(def-joint-node crimson-guard-hover-lod0-jg "recoil" 12) +(def-joint-node crimson-guard-hover-lod0-jg "RgunTip" 11) +(def-joint-node crimson-guard-hover-lod0-jg "RgunBarrell" 10) +(def-joint-node crimson-guard-hover-lod0-jg "LgunTip" 9) +(def-joint-node crimson-guard-hover-lod0-jg "LgunBarrell" 8) +(def-joint-node crimson-guard-hover-lod0-jg "gunSwivel" 7) +(def-joint-node crimson-guard-hover-lod0-jg "Rarmrest" 6) +(def-joint-node crimson-guard-hover-lod0-jg "Larmrest" 5) +(def-joint-node crimson-guard-hover-lod0-jg "chest" 4) +(def-joint-node crimson-guard-hover-lod0-jg "main" 3) +(def-joint-node crimson-guard-hover-lod0-jg "prejoint" 2) +(def-joint-node crimson-guard-hover-lod0-jg "align" 1) +(def-joint-node crimson-guard-hover-lod0-jg "Lengine" 14) +(def-joint-node crimson-guard-hover-lod0-jg "Lturbine" 15) +(def-joint-node crimson-guard-hover-lod0-jg "Rengine" 16) +(def-joint-node crimson-guard-hover-lod0-jg "Rturbine" 17) +(def-joint-node crimson-guard-hover-lod0-jg "hips" 18) +(def-joint-node crimson-guard-hover-lod0-jg "Lthigh" 19) +(def-joint-node crimson-guard-hover-lod0-jg "Lknee" 20) +(def-joint-node crimson-guard-hover-lod0-jg "Lankle" 21) +(def-joint-node crimson-guard-hover-lod0-jg "Rthigh" 22) +(def-joint-node crimson-guard-hover-lod0-jg "Rknee" 23) +(def-joint-node crimson-guard-hover-lod0-jg "Rankle" 24) +(def-joint-node crimson-guard-hover-lod0-jg "neckA" 25) +(def-joint-node crimson-guard-hover-lod0-jg "head" 26) +(def-joint-node crimson-guard-hover-lod0-jg "Lshoulder" 27) +(def-joint-node crimson-guard-hover-lod0-jg "Lelbow" 28) +(def-joint-node crimson-guard-hover-lod0-jg "Lhand" 29) + +(def-joint-node race-bike-a-lod0-jg "frontmid" 6) +(def-joint-node race-bike-a-lod0-jg "forks" 5) +(def-joint-node race-bike-a-lod0-jg "tailfin" 4) +(def-joint-node race-bike-a-lod0-jg "main" 3) +(def-joint-node race-bike-a-lod0-jg "prejoint" 2) +(def-joint-node race-bike-a-lod0-jg "align" 1) + +(def-joint-node ashelin-highres-lod0-jg "gun" 65) +(def-joint-node ashelin-highres-lod0-jg "holster" 64) +(def-joint-node ashelin-highres-lod0-jg "rtitA" 63) +(def-joint-node ashelin-highres-lod0-jg "ltitA" 62) +(def-joint-node ashelin-highres-lod0-jg "RpinkyC" 61) +(def-joint-node ashelin-highres-lod0-jg "RpinkyB" 60) +(def-joint-node ashelin-highres-lod0-jg "lburnB" 29) +(def-joint-node ashelin-highres-lod0-jg "lburnA" 28) +(def-joint-node ashelin-highres-lod0-jg "hairB" 27) +(def-joint-node ashelin-highres-lod0-jg "hairA" 26) +(def-joint-node ashelin-highres-lod0-jg "rearB" 25) +(def-joint-node ashelin-highres-lod0-jg "rearA" 24) +(def-joint-node ashelin-highres-lod0-jg "learB" 23) +(def-joint-node ashelin-highres-lod0-jg "learA" 22) +(def-joint-node ashelin-highres-lod0-jg "Rball" 21) +(def-joint-node ashelin-highres-lod0-jg "Rankle" 20) +(def-joint-node ashelin-highres-lod0-jg "Rknee" 19) +(def-joint-node ashelin-highres-lod0-jg "Rthigh" 18) +(def-joint-node ashelin-highres-lod0-jg "Lball" 17) +(def-joint-node ashelin-highres-lod0-jg "Lankle" 16) +(def-joint-node ashelin-highres-lod0-jg "Lknee" 15) +(def-joint-node ashelin-highres-lod0-jg "Lthigh" 14) +(def-joint-node ashelin-highres-lod0-jg "align" 1) +(def-joint-node ashelin-highres-lod0-jg "prejoint" 2) +(def-joint-node ashelin-highres-lod0-jg "main" 3) +(def-joint-node ashelin-highres-lod0-jg "chest" 4) +(def-joint-node ashelin-highres-lod0-jg "neck" 5) +(def-joint-node ashelin-highres-lod0-jg "head" 6) +(def-joint-node ashelin-highres-lod0-jg "Lshoulder" 7) +(def-joint-node ashelin-highres-lod0-jg "Lelbow" 8) +(def-joint-node ashelin-highres-lod0-jg "Lhand" 9) +(def-joint-node ashelin-highres-lod0-jg "Rshoulder" 10) +(def-joint-node ashelin-highres-lod0-jg "Relbow" 11) +(def-joint-node ashelin-highres-lod0-jg "Rhand" 12) +(def-joint-node ashelin-highres-lod0-jg "hips" 13) +(def-joint-node ashelin-highres-lod0-jg "rburnA" 30) +(def-joint-node ashelin-highres-lod0-jg "rburnB" 31) +(def-joint-node ashelin-highres-lod0-jg "LthumbA" 32) +(def-joint-node ashelin-highres-lod0-jg "LthumbB" 33) +(def-joint-node ashelin-highres-lod0-jg "LthumbC" 34) +(def-joint-node ashelin-highres-lod0-jg "LindexA" 35) +(def-joint-node ashelin-highres-lod0-jg "LindexB" 36) +(def-joint-node ashelin-highres-lod0-jg "LindexC" 37) +(def-joint-node ashelin-highres-lod0-jg "LmiddleA" 38) +(def-joint-node ashelin-highres-lod0-jg "LmiddleB" 39) +(def-joint-node ashelin-highres-lod0-jg "LmiddleC" 40) +(def-joint-node ashelin-highres-lod0-jg "LringA" 41) +(def-joint-node ashelin-highres-lod0-jg "LringB" 42) +(def-joint-node ashelin-highres-lod0-jg "LringC" 43) +(def-joint-node ashelin-highres-lod0-jg "LpinkyA" 44) +(def-joint-node ashelin-highres-lod0-jg "LpinkyB" 45) +(def-joint-node ashelin-highres-lod0-jg "LpinkyC" 46) +(def-joint-node ashelin-highres-lod0-jg "RthumbA" 47) +(def-joint-node ashelin-highres-lod0-jg "RthumbB" 48) +(def-joint-node ashelin-highres-lod0-jg "RthumbC" 49) +(def-joint-node ashelin-highres-lod0-jg "RindexA" 50) +(def-joint-node ashelin-highres-lod0-jg "RindexB" 51) +(def-joint-node ashelin-highres-lod0-jg "RindexC" 52) +(def-joint-node ashelin-highres-lod0-jg "RmiddleA" 53) +(def-joint-node ashelin-highres-lod0-jg "RmiddleB" 54) +(def-joint-node ashelin-highres-lod0-jg "RmiddleC" 55) +(def-joint-node ashelin-highres-lod0-jg "RringA" 56) +(def-joint-node ashelin-highres-lod0-jg "RringB" 57) +(def-joint-node ashelin-highres-lod0-jg "RringC" 58) +(def-joint-node ashelin-highres-lod0-jg "RpinkyA" 59) + +(def-joint-node tomb-boss-catwalk-d-lod0-jg "aq" 47) +(def-joint-node tomb-boss-catwalk-d-lod0-jg "ap" 46) +(def-joint-node tomb-boss-catwalk-d-lod0-jg "ao" 45) +(def-joint-node tomb-boss-catwalk-d-lod0-jg "an" 44) +(def-joint-node tomb-boss-catwalk-d-lod0-jg "am" 43) +(def-joint-node tomb-boss-catwalk-d-lod0-jg "al" 42) +(def-joint-node tomb-boss-catwalk-d-lod0-jg "ak" 41) +(def-joint-node tomb-boss-catwalk-d-lod0-jg "aj" 40) +(def-joint-node tomb-boss-catwalk-d-lod0-jg "ai" 39) +(def-joint-node tomb-boss-catwalk-d-lod0-jg "ah" 38) +(def-joint-node tomb-boss-catwalk-d-lod0-jg "ag" 37) +(def-joint-node tomb-boss-catwalk-d-lod0-jg "af" 36) +(def-joint-node tomb-boss-catwalk-d-lod0-jg "ae" 35) +(def-joint-node tomb-boss-catwalk-d-lod0-jg "ad" 34) +(def-joint-node tomb-boss-catwalk-d-lod0-jg "ac" 33) +(def-joint-node tomb-boss-catwalk-d-lod0-jg "ab" 32) +(def-joint-node tomb-boss-catwalk-d-lod0-jg "aa" 31) +(def-joint-node tomb-boss-catwalk-d-lod0-jg "main" 30) +(def-joint-node tomb-boss-catwalk-d-lod0-jg "j" 13) +(def-joint-node tomb-boss-catwalk-d-lod0-jg "i" 12) +(def-joint-node tomb-boss-catwalk-d-lod0-jg "h" 11) +(def-joint-node tomb-boss-catwalk-d-lod0-jg "g" 10) +(def-joint-node tomb-boss-catwalk-d-lod0-jg "f" 9) +(def-joint-node tomb-boss-catwalk-d-lod0-jg "e" 8) +(def-joint-node tomb-boss-catwalk-d-lod0-jg "d" 7) +(def-joint-node tomb-boss-catwalk-d-lod0-jg "c" 6) +(def-joint-node tomb-boss-catwalk-d-lod0-jg "b" 5) +(def-joint-node tomb-boss-catwalk-d-lod0-jg "a" 4) +(def-joint-node tomb-boss-catwalk-d-lod0-jg "explode" 3) +(def-joint-node tomb-boss-catwalk-d-lod0-jg "prejoint" 2) +(def-joint-node tomb-boss-catwalk-d-lod0-jg "align" 1) +(def-joint-node tomb-boss-catwalk-d-lod0-jg "k" 14) +(def-joint-node tomb-boss-catwalk-d-lod0-jg "l" 15) +(def-joint-node tomb-boss-catwalk-d-lod0-jg "m" 16) +(def-joint-node tomb-boss-catwalk-d-lod0-jg "n" 17) +(def-joint-node tomb-boss-catwalk-d-lod0-jg "o" 18) +(def-joint-node tomb-boss-catwalk-d-lod0-jg "p" 19) +(def-joint-node tomb-boss-catwalk-d-lod0-jg "q" 20) +(def-joint-node tomb-boss-catwalk-d-lod0-jg "r" 21) +(def-joint-node tomb-boss-catwalk-d-lod0-jg "s" 22) +(def-joint-node tomb-boss-catwalk-d-lod0-jg "t" 23) +(def-joint-node tomb-boss-catwalk-d-lod0-jg "u" 24) +(def-joint-node tomb-boss-catwalk-d-lod0-jg "v" 25) +(def-joint-node tomb-boss-catwalk-d-lod0-jg "w" 26) +(def-joint-node tomb-boss-catwalk-d-lod0-jg "x" 27) +(def-joint-node tomb-boss-catwalk-d-lod0-jg "y" 28) +(def-joint-node tomb-boss-catwalk-d-lod0-jg "z" 29) + +(def-joint-node drill-top-break-explode-a-lod0-jg "dr" 38) +(def-joint-node drill-top-break-explode-a-lod0-jg "dq" 37) +(def-joint-node drill-top-break-explode-a-lod0-jg "dp" 36) +(def-joint-node drill-top-break-explode-a-lod0-jg "do" 35) +(def-joint-node drill-top-break-explode-a-lod0-jg "dn" 34) +(def-joint-node drill-top-break-explode-a-lod0-jg "dm" 33) +(def-joint-node drill-top-break-explode-a-lod0-jg "dl" 32) +(def-joint-node drill-top-break-explode-a-lod0-jg "dk" 31) +(def-joint-node drill-top-break-explode-a-lod0-jg "dj" 30) +(def-joint-node drill-top-break-explode-a-lod0-jg "cs" 13) +(def-joint-node drill-top-break-explode-a-lod0-jg "cr" 12) +(def-joint-node drill-top-break-explode-a-lod0-jg "cq" 11) +(def-joint-node drill-top-break-explode-a-lod0-jg "cp" 10) +(def-joint-node drill-top-break-explode-a-lod0-jg "co" 9) +(def-joint-node drill-top-break-explode-a-lod0-jg "cn" 8) +(def-joint-node drill-top-break-explode-a-lod0-jg "cm" 7) +(def-joint-node drill-top-break-explode-a-lod0-jg "cl" 6) +(def-joint-node drill-top-break-explode-a-lod0-jg "ck" 5) +(def-joint-node drill-top-break-explode-a-lod0-jg "cj" 4) +(def-joint-node drill-top-break-explode-a-lod0-jg "main" 3) +(def-joint-node drill-top-break-explode-a-lod0-jg "prejoint" 2) +(def-joint-node drill-top-break-explode-a-lod0-jg "align" 1) +(def-joint-node drill-top-break-explode-a-lod0-jg "ct" 14) +(def-joint-node drill-top-break-explode-a-lod0-jg "cu" 15) +(def-joint-node drill-top-break-explode-a-lod0-jg "cv" 16) +(def-joint-node drill-top-break-explode-a-lod0-jg "cw" 17) +(def-joint-node drill-top-break-explode-a-lod0-jg "cx" 18) +(def-joint-node drill-top-break-explode-a-lod0-jg "cy" 19) +(def-joint-node drill-top-break-explode-a-lod0-jg "cz" 20) +(def-joint-node drill-top-break-explode-a-lod0-jg "da" 21) +(def-joint-node drill-top-break-explode-a-lod0-jg "db" 22) +(def-joint-node drill-top-break-explode-a-lod0-jg "dc" 23) +(def-joint-node drill-top-break-explode-a-lod0-jg "dd" 24) +(def-joint-node drill-top-break-explode-a-lod0-jg "de" 25) +(def-joint-node drill-top-break-explode-a-lod0-jg "df" 26) +(def-joint-node drill-top-break-explode-a-lod0-jg "dg" 27) +(def-joint-node drill-top-break-explode-a-lod0-jg "dh" 28) +(def-joint-node drill-top-break-explode-a-lod0-jg "di" 29) + +(def-joint-node tomb-boss-catwalk-e-lod0-jg "bk" 49) +(def-joint-node tomb-boss-catwalk-e-lod0-jg "bj" 48) +(def-joint-node tomb-boss-catwalk-e-lod0-jg "bi" 47) +(def-joint-node tomb-boss-catwalk-e-lod0-jg "bh" 46) +(def-joint-node tomb-boss-catwalk-e-lod0-jg "bg" 45) +(def-joint-node tomb-boss-catwalk-e-lod0-jg "bf" 44) +(def-joint-node tomb-boss-catwalk-e-lod0-jg "be" 43) +(def-joint-node tomb-boss-catwalk-e-lod0-jg "bd" 42) +(def-joint-node tomb-boss-catwalk-e-lod0-jg "bc" 41) +(def-joint-node tomb-boss-catwalk-e-lod0-jg "bb" 40) +(def-joint-node tomb-boss-catwalk-e-lod0-jg "ba" 39) +(def-joint-node tomb-boss-catwalk-e-lod0-jg "az" 38) +(def-joint-node tomb-boss-catwalk-e-lod0-jg "ay" 37) +(def-joint-node tomb-boss-catwalk-e-lod0-jg "ax" 36) +(def-joint-node tomb-boss-catwalk-e-lod0-jg "aw" 35) +(def-joint-node tomb-boss-catwalk-e-lod0-jg "av" 34) +(def-joint-node tomb-boss-catwalk-e-lod0-jg "au" 33) +(def-joint-node tomb-boss-catwalk-e-lod0-jg "at" 32) +(def-joint-node tomb-boss-catwalk-e-lod0-jg "as" 31) +(def-joint-node tomb-boss-catwalk-e-lod0-jg "ar" 30) +(def-joint-node tomb-boss-catwalk-e-lod0-jg "r" 13) +(def-joint-node tomb-boss-catwalk-e-lod0-jg "q" 12) +(def-joint-node tomb-boss-catwalk-e-lod0-jg "p" 11) +(def-joint-node tomb-boss-catwalk-e-lod0-jg "o" 10) +(def-joint-node tomb-boss-catwalk-e-lod0-jg "j" 9) +(def-joint-node tomb-boss-catwalk-e-lod0-jg "i" 8) +(def-joint-node tomb-boss-catwalk-e-lod0-jg "h" 7) +(def-joint-node tomb-boss-catwalk-e-lod0-jg "g" 6) +(def-joint-node tomb-boss-catwalk-e-lod0-jg "d" 5) +(def-joint-node tomb-boss-catwalk-e-lod0-jg "c" 4) +(def-joint-node tomb-boss-catwalk-e-lod0-jg "explode" 3) +(def-joint-node tomb-boss-catwalk-e-lod0-jg "prejoint" 2) +(def-joint-node tomb-boss-catwalk-e-lod0-jg "align" 1) +(def-joint-node tomb-boss-catwalk-e-lod0-jg "s" 14) +(def-joint-node tomb-boss-catwalk-e-lod0-jg "t" 15) +(def-joint-node tomb-boss-catwalk-e-lod0-jg "y" 16) +(def-joint-node tomb-boss-catwalk-e-lod0-jg "z" 17) +(def-joint-node tomb-boss-catwalk-e-lod0-jg "main" 18) +(def-joint-node tomb-boss-catwalk-e-lod0-jg "aa" 19) +(def-joint-node tomb-boss-catwalk-e-lod0-jg "ab" 20) +(def-joint-node tomb-boss-catwalk-e-lod0-jg "ac" 21) +(def-joint-node tomb-boss-catwalk-e-lod0-jg "ad" 22) +(def-joint-node tomb-boss-catwalk-e-lod0-jg "ae" 23) +(def-joint-node tomb-boss-catwalk-e-lod0-jg "ag" 24) +(def-joint-node tomb-boss-catwalk-e-lod0-jg "ah" 25) +(def-joint-node tomb-boss-catwalk-e-lod0-jg "ai" 26) +(def-joint-node tomb-boss-catwalk-e-lod0-jg "an" 27) +(def-joint-node tomb-boss-catwalk-e-lod0-jg "ap" 28) +(def-joint-node tomb-boss-catwalk-e-lod0-jg "aq" 29) + +(def-joint-node tomb-boss-catwalk-f-lod0-jg "aw" 53) +(def-joint-node tomb-boss-catwalk-f-lod0-jg "av" 52) +(def-joint-node tomb-boss-catwalk-f-lod0-jg "au" 51) +(def-joint-node tomb-boss-catwalk-f-lod0-jg "at" 50) +(def-joint-node tomb-boss-catwalk-f-lod0-jg "as" 49) +(def-joint-node tomb-boss-catwalk-f-lod0-jg "ar" 48) +(def-joint-node tomb-boss-catwalk-f-lod0-jg "aq" 47) +(def-joint-node tomb-boss-catwalk-f-lod0-jg "ap" 46) +(def-joint-node tomb-boss-catwalk-f-lod0-jg "ao" 45) +(def-joint-node tomb-boss-catwalk-f-lod0-jg "an" 44) +(def-joint-node tomb-boss-catwalk-f-lod0-jg "am" 43) +(def-joint-node tomb-boss-catwalk-f-lod0-jg "al" 42) +(def-joint-node tomb-boss-catwalk-f-lod0-jg "ak" 41) +(def-joint-node tomb-boss-catwalk-f-lod0-jg "aj" 40) +(def-joint-node tomb-boss-catwalk-f-lod0-jg "ai" 39) +(def-joint-node tomb-boss-catwalk-f-lod0-jg "ah" 38) +(def-joint-node tomb-boss-catwalk-f-lod0-jg "ag" 37) +(def-joint-node tomb-boss-catwalk-f-lod0-jg "af" 36) +(def-joint-node tomb-boss-catwalk-f-lod0-jg "ae" 35) +(def-joint-node tomb-boss-catwalk-f-lod0-jg "ad" 34) +(def-joint-node tomb-boss-catwalk-f-lod0-jg "ac" 33) +(def-joint-node tomb-boss-catwalk-f-lod0-jg "ab" 32) +(def-joint-node tomb-boss-catwalk-f-lod0-jg "aa" 31) +(def-joint-node tomb-boss-catwalk-f-lod0-jg "main" 30) +(def-joint-node tomb-boss-catwalk-f-lod0-jg "j" 13) +(def-joint-node tomb-boss-catwalk-f-lod0-jg "i" 12) +(def-joint-node tomb-boss-catwalk-f-lod0-jg "h" 11) +(def-joint-node tomb-boss-catwalk-f-lod0-jg "g" 10) +(def-joint-node tomb-boss-catwalk-f-lod0-jg "f" 9) +(def-joint-node tomb-boss-catwalk-f-lod0-jg "e" 8) +(def-joint-node tomb-boss-catwalk-f-lod0-jg "d" 7) +(def-joint-node tomb-boss-catwalk-f-lod0-jg "c" 6) +(def-joint-node tomb-boss-catwalk-f-lod0-jg "b" 5) +(def-joint-node tomb-boss-catwalk-f-lod0-jg "a" 4) +(def-joint-node tomb-boss-catwalk-f-lod0-jg "explode" 3) +(def-joint-node tomb-boss-catwalk-f-lod0-jg "prejoint" 2) +(def-joint-node tomb-boss-catwalk-f-lod0-jg "align" 1) +(def-joint-node tomb-boss-catwalk-f-lod0-jg "k" 14) +(def-joint-node tomb-boss-catwalk-f-lod0-jg "l" 15) +(def-joint-node tomb-boss-catwalk-f-lod0-jg "m" 16) +(def-joint-node tomb-boss-catwalk-f-lod0-jg "n" 17) +(def-joint-node tomb-boss-catwalk-f-lod0-jg "o" 18) +(def-joint-node tomb-boss-catwalk-f-lod0-jg "p" 19) +(def-joint-node tomb-boss-catwalk-f-lod0-jg "q" 20) +(def-joint-node tomb-boss-catwalk-f-lod0-jg "r" 21) +(def-joint-node tomb-boss-catwalk-f-lod0-jg "s" 22) +(def-joint-node tomb-boss-catwalk-f-lod0-jg "t" 23) +(def-joint-node tomb-boss-catwalk-f-lod0-jg "u" 24) +(def-joint-node tomb-boss-catwalk-f-lod0-jg "v" 25) +(def-joint-node tomb-boss-catwalk-f-lod0-jg "w" 26) +(def-joint-node tomb-boss-catwalk-f-lod0-jg "x" 27) +(def-joint-node tomb-boss-catwalk-f-lod0-jg "y" 28) +(def-joint-node tomb-boss-catwalk-f-lod0-jg "z" 29) + +(def-joint-node tomb-boss-catwalk-main-lod0-jg "h" 11) +(def-joint-node tomb-boss-catwalk-main-lod0-jg "g" 10) +(def-joint-node tomb-boss-catwalk-main-lod0-jg "f" 9) +(def-joint-node tomb-boss-catwalk-main-lod0-jg "e" 8) +(def-joint-node tomb-boss-catwalk-main-lod0-jg "d" 7) +(def-joint-node tomb-boss-catwalk-main-lod0-jg "c" 6) +(def-joint-node tomb-boss-catwalk-main-lod0-jg "b" 5) +(def-joint-node tomb-boss-catwalk-main-lod0-jg "a" 4) +(def-joint-node tomb-boss-catwalk-main-lod0-jg "main" 3) +(def-joint-node tomb-boss-catwalk-main-lod0-jg "prejoint" 2) +(def-joint-node tomb-boss-catwalk-main-lod0-jg "align" 1) + +(def-joint-node cas-robot-door-lod0-jg "R_c" 9) +(def-joint-node cas-robot-door-lod0-jg "R_b" 8) +(def-joint-node cas-robot-door-lod0-jg "R_a" 7) +(def-joint-node cas-robot-door-lod0-jg "L_c" 6) +(def-joint-node cas-robot-door-lod0-jg "L_b" 5) +(def-joint-node cas-robot-door-lod0-jg "L_a" 4) +(def-joint-node cas-robot-door-lod0-jg "main" 3) +(def-joint-node cas-robot-door-lod0-jg "prejoint" 2) +(def-joint-node cas-robot-door-lod0-jg "align" 1) + +(def-joint-node tomb-boss-bridge-b-lod0-jg "ay" 56) +(def-joint-node tomb-boss-bridge-b-lod0-jg "ax" 55) +(def-joint-node tomb-boss-bridge-b-lod0-jg "aw" 54) +(def-joint-node tomb-boss-bridge-b-lod0-jg "av" 53) +(def-joint-node tomb-boss-bridge-b-lod0-jg "au" 52) +(def-joint-node tomb-boss-bridge-b-lod0-jg "at" 51) +(def-joint-node tomb-boss-bridge-b-lod0-jg "as" 50) +(def-joint-node tomb-boss-bridge-b-lod0-jg "ar" 49) +(def-joint-node tomb-boss-bridge-b-lod0-jg "aq" 48) +(def-joint-node tomb-boss-bridge-b-lod0-jg "ap" 47) +(def-joint-node tomb-boss-bridge-b-lod0-jg "ao" 46) +(def-joint-node tomb-boss-bridge-b-lod0-jg "an" 45) +(def-joint-node tomb-boss-bridge-b-lod0-jg "am" 44) +(def-joint-node tomb-boss-bridge-b-lod0-jg "al" 43) +(def-joint-node tomb-boss-bridge-b-lod0-jg "ak" 42) +(def-joint-node tomb-boss-bridge-b-lod0-jg "aj" 41) +(def-joint-node tomb-boss-bridge-b-lod0-jg "ai" 40) +(def-joint-node tomb-boss-bridge-b-lod0-jg "ah" 39) +(def-joint-node tomb-boss-bridge-b-lod0-jg "ag" 38) +(def-joint-node tomb-boss-bridge-b-lod0-jg "af" 37) +(def-joint-node tomb-boss-bridge-b-lod0-jg "ae" 36) +(def-joint-node tomb-boss-bridge-b-lod0-jg "ad" 35) +(def-joint-node tomb-boss-bridge-b-lod0-jg "ac" 34) +(def-joint-node tomb-boss-bridge-b-lod0-jg "ab" 33) +(def-joint-node tomb-boss-bridge-b-lod0-jg "aa" 32) +(def-joint-node tomb-boss-bridge-b-lod0-jg "main" 31) +(def-joint-node tomb-boss-bridge-b-lod0-jg "z" 30) +(def-joint-node tomb-boss-bridge-b-lod0-jg "i" 13) +(def-joint-node tomb-boss-bridge-b-lod0-jg "h" 12) +(def-joint-node tomb-boss-bridge-b-lod0-jg "g" 11) +(def-joint-node tomb-boss-bridge-b-lod0-jg "f" 10) +(def-joint-node tomb-boss-bridge-b-lod0-jg "e" 9) +(def-joint-node tomb-boss-bridge-b-lod0-jg "d" 8) +(def-joint-node tomb-boss-bridge-b-lod0-jg "c" 7) +(def-joint-node tomb-boss-bridge-b-lod0-jg "b" 6) +(def-joint-node tomb-boss-bridge-b-lod0-jg "a" 5) +(def-joint-node tomb-boss-bridge-b-lod0-jg "explode_b" 4) +(def-joint-node tomb-boss-bridge-b-lod0-jg "explode_a" 3) +(def-joint-node tomb-boss-bridge-b-lod0-jg "prejoint" 2) +(def-joint-node tomb-boss-bridge-b-lod0-jg "align" 1) +(def-joint-node tomb-boss-bridge-b-lod0-jg "j" 14) +(def-joint-node tomb-boss-bridge-b-lod0-jg "k" 15) +(def-joint-node tomb-boss-bridge-b-lod0-jg "l" 16) +(def-joint-node tomb-boss-bridge-b-lod0-jg "m" 17) +(def-joint-node tomb-boss-bridge-b-lod0-jg "n" 18) +(def-joint-node tomb-boss-bridge-b-lod0-jg "o" 19) +(def-joint-node tomb-boss-bridge-b-lod0-jg "p" 20) +(def-joint-node tomb-boss-bridge-b-lod0-jg "q" 21) +(def-joint-node tomb-boss-bridge-b-lod0-jg "r" 22) +(def-joint-node tomb-boss-bridge-b-lod0-jg "s" 23) +(def-joint-node tomb-boss-bridge-b-lod0-jg "t" 24) +(def-joint-node tomb-boss-bridge-b-lod0-jg "u" 25) +(def-joint-node tomb-boss-bridge-b-lod0-jg "v" 26) +(def-joint-node tomb-boss-bridge-b-lod0-jg "w" 27) +(def-joint-node tomb-boss-bridge-b-lod0-jg "x" 28) +(def-joint-node tomb-boss-bridge-b-lod0-jg "y" 29) + +(def-joint-node baron-pod-lod0-jg "canopy" 36) +(def-joint-node baron-pod-lod0-jg "Lpedal" 35) +(def-joint-node baron-pod-lod0-jg "Rpedal" 34) +(def-joint-node baron-pod-lod0-jg "LforeStick" 33) +(def-joint-node baron-pod-lod0-jg "LaftStick" 32) +(def-joint-node baron-pod-lod0-jg "RforeStick" 31) +(def-joint-node baron-pod-lod0-jg "RaftStick" 30) +(def-joint-node baron-pod-lod0-jg "redConstantR" 13) +(def-joint-node baron-pod-lod0-jg "yellowBlinkER" 12) +(def-joint-node baron-pod-lod0-jg "yellowBlinkDR" 11) +(def-joint-node baron-pod-lod0-jg "yellowBlinkCR" 10) +(def-joint-node baron-pod-lod0-jg "yellowBlinkBR" 9) +(def-joint-node baron-pod-lod0-jg "yellowBlinkAR" 8) +(def-joint-node baron-pod-lod0-jg "tip" 7) +(def-joint-node baron-pod-lod0-jg "redBlinkR" 6) +(def-joint-node baron-pod-lod0-jg "redBlinkL" 5) +(def-joint-node baron-pod-lod0-jg "ballTurret" 4) +(def-joint-node baron-pod-lod0-jg "main" 3) +(def-joint-node baron-pod-lod0-jg "prejoint" 2) +(def-joint-node baron-pod-lod0-jg "align" 1) +(def-joint-node baron-pod-lod0-jg "redConstantL" 14) +(def-joint-node baron-pod-lod0-jg "yellowBlinkAL" 15) +(def-joint-node baron-pod-lod0-jg "yellowBlinkBL" 16) +(def-joint-node baron-pod-lod0-jg "yellowBlinkCL" 17) +(def-joint-node baron-pod-lod0-jg "yellowBlinkDL" 18) +(def-joint-node baron-pod-lod0-jg "yellowBlinkEL" 19) +(def-joint-node baron-pod-lod0-jg "thrustYvertical" 20) +(def-joint-node baron-pod-lod0-jg "thrustYhorizontal" 21) +(def-joint-node baron-pod-lod0-jg "sparkA" 22) +(def-joint-node baron-pod-lod0-jg "sparkB" 23) +(def-joint-node baron-pod-lod0-jg "sparkC" 24) +(def-joint-node baron-pod-lod0-jg "sparkD" 25) +(def-joint-node baron-pod-lod0-jg "sparkE" 26) +(def-joint-node baron-pod-lod0-jg "sparkF" 27) +(def-joint-node baron-pod-lod0-jg "sparkG" 28) +(def-joint-node baron-pod-lod0-jg "sparkH" 29) + +(def-joint-node lgconveyor-lod0-jg "g3" 6) +(def-joint-node lgconveyor-lod0-jg "g2" 5) +(def-joint-node lgconveyor-lod0-jg "g1" 4) +(def-joint-node lgconveyor-lod0-jg "main" 3) +(def-joint-node lgconveyor-lod0-jg "prejoint" 2) +(def-joint-node lgconveyor-lod0-jg "align" 1) + +(def-joint-node bombbot-exploding-lod0-jg "t" 22) +(def-joint-node bombbot-exploding-lod0-jg "s" 21) +(def-joint-node bombbot-exploding-lod0-jg "r" 20) +(def-joint-node bombbot-exploding-lod0-jg "q" 19) +(def-joint-node bombbot-exploding-lod0-jg "p" 18) +(def-joint-node bombbot-exploding-lod0-jg "o" 17) +(def-joint-node bombbot-exploding-lod0-jg "n" 16) +(def-joint-node bombbot-exploding-lod0-jg "m" 15) +(def-joint-node bombbot-exploding-lod0-jg "l" 14) +(def-joint-node bombbot-exploding-lod0-jg "align" 1) +(def-joint-node bombbot-exploding-lod0-jg "prejoint" 2) +(def-joint-node bombbot-exploding-lod0-jg "a" 3) +(def-joint-node bombbot-exploding-lod0-jg "b" 4) +(def-joint-node bombbot-exploding-lod0-jg "c" 5) +(def-joint-node bombbot-exploding-lod0-jg "d" 6) +(def-joint-node bombbot-exploding-lod0-jg "e" 7) +(def-joint-node bombbot-exploding-lod0-jg "f" 8) +(def-joint-node bombbot-exploding-lod0-jg "g" 9) +(def-joint-node bombbot-exploding-lod0-jg "h" 10) +(def-joint-node bombbot-exploding-lod0-jg "i" 11) +(def-joint-node bombbot-exploding-lod0-jg "j" 12) +(def-joint-node bombbot-exploding-lod0-jg "k" 13) + +(def-joint-node consite-break-scaffold-a-break-a-lod0-jg "bq" 38) +(def-joint-node consite-break-scaffold-a-break-a-lod0-jg "bp" 37) +(def-joint-node consite-break-scaffold-a-break-a-lod0-jg "bo" 36) +(def-joint-node consite-break-scaffold-a-break-a-lod0-jg "bn" 35) +(def-joint-node consite-break-scaffold-a-break-a-lod0-jg "bm" 34) +(def-joint-node consite-break-scaffold-a-break-a-lod0-jg "bl" 33) +(def-joint-node consite-break-scaffold-a-break-a-lod0-jg "bk" 32) +(def-joint-node consite-break-scaffold-a-break-a-lod0-jg "bj" 31) +(def-joint-node consite-break-scaffold-a-break-a-lod0-jg "bi" 30) +(def-joint-node consite-break-scaffold-a-break-a-lod0-jg "ar" 13) +(def-joint-node consite-break-scaffold-a-break-a-lod0-jg "aq" 12) +(def-joint-node consite-break-scaffold-a-break-a-lod0-jg "ap" 11) +(def-joint-node consite-break-scaffold-a-break-a-lod0-jg "ao" 10) +(def-joint-node consite-break-scaffold-a-break-a-lod0-jg "an" 9) +(def-joint-node consite-break-scaffold-a-break-a-lod0-jg "am" 8) +(def-joint-node consite-break-scaffold-a-break-a-lod0-jg "al" 7) +(def-joint-node consite-break-scaffold-a-break-a-lod0-jg "ak" 6) +(def-joint-node consite-break-scaffold-a-break-a-lod0-jg "aj" 5) +(def-joint-node consite-break-scaffold-a-break-a-lod0-jg "ai" 4) +(def-joint-node consite-break-scaffold-a-break-a-lod0-jg "main" 3) +(def-joint-node consite-break-scaffold-a-break-a-lod0-jg "prejoint" 2) +(def-joint-node consite-break-scaffold-a-break-a-lod0-jg "align" 1) +(def-joint-node consite-break-scaffold-a-break-a-lod0-jg "as" 14) +(def-joint-node consite-break-scaffold-a-break-a-lod0-jg "at" 15) +(def-joint-node consite-break-scaffold-a-break-a-lod0-jg "au" 16) +(def-joint-node consite-break-scaffold-a-break-a-lod0-jg "av" 17) +(def-joint-node consite-break-scaffold-a-break-a-lod0-jg "aw" 18) +(def-joint-node consite-break-scaffold-a-break-a-lod0-jg "ax" 19) +(def-joint-node consite-break-scaffold-a-break-a-lod0-jg "ay" 20) +(def-joint-node consite-break-scaffold-a-break-a-lod0-jg "az" 21) +(def-joint-node consite-break-scaffold-a-break-a-lod0-jg "ba" 22) +(def-joint-node consite-break-scaffold-a-break-a-lod0-jg "bb" 23) +(def-joint-node consite-break-scaffold-a-break-a-lod0-jg "bc" 24) +(def-joint-node consite-break-scaffold-a-break-a-lod0-jg "bd" 25) +(def-joint-node consite-break-scaffold-a-break-a-lod0-jg "be" 26) +(def-joint-node consite-break-scaffold-a-break-a-lod0-jg "bf" 27) +(def-joint-node consite-break-scaffold-a-break-a-lod0-jg "bg" 28) +(def-joint-node consite-break-scaffold-a-break-a-lod0-jg "bh" 29) + +(def-joint-node tomb-boss-pillar-lod0-jg "aj" 42) +(def-joint-node tomb-boss-pillar-lod0-jg "ai" 41) +(def-joint-node tomb-boss-pillar-lod0-jg "ah" 40) +(def-joint-node tomb-boss-pillar-lod0-jg "ag" 39) +(def-joint-node tomb-boss-pillar-lod0-jg "af" 38) +(def-joint-node tomb-boss-pillar-lod0-jg "ae" 37) +(def-joint-node tomb-boss-pillar-lod0-jg "ad" 36) +(def-joint-node tomb-boss-pillar-lod0-jg "ac" 35) +(def-joint-node tomb-boss-pillar-lod0-jg "ab" 34) +(def-joint-node tomb-boss-pillar-lod0-jg "aa" 33) +(def-joint-node tomb-boss-pillar-lod0-jg "zz" 32) +(def-joint-node tomb-boss-pillar-lod0-jg "z" 31) +(def-joint-node tomb-boss-pillar-lod0-jg "y" 30) +(def-joint-node tomb-boss-pillar-lod0-jg "h" 13) +(def-joint-node tomb-boss-pillar-lod0-jg "g" 12) +(def-joint-node tomb-boss-pillar-lod0-jg "f" 11) +(def-joint-node tomb-boss-pillar-lod0-jg "e" 10) +(def-joint-node tomb-boss-pillar-lod0-jg "d" 9) +(def-joint-node tomb-boss-pillar-lod0-jg "c" 8) +(def-joint-node tomb-boss-pillar-lod0-jg "b" 7) +(def-joint-node tomb-boss-pillar-lod0-jg "a" 6) +(def-joint-node tomb-boss-pillar-lod0-jg "explode" 5) +(def-joint-node tomb-boss-pillar-lod0-jg "seg_blast" 4) +(def-joint-node tomb-boss-pillar-lod0-jg "main" 3) +(def-joint-node tomb-boss-pillar-lod0-jg "prejoint" 2) +(def-joint-node tomb-boss-pillar-lod0-jg "align" 1) +(def-joint-node tomb-boss-pillar-lod0-jg "i" 14) +(def-joint-node tomb-boss-pillar-lod0-jg "j" 15) +(def-joint-node tomb-boss-pillar-lod0-jg "k" 16) +(def-joint-node tomb-boss-pillar-lod0-jg "l" 17) +(def-joint-node tomb-boss-pillar-lod0-jg "m" 18) +(def-joint-node tomb-boss-pillar-lod0-jg "n" 19) +(def-joint-node tomb-boss-pillar-lod0-jg "o" 20) +(def-joint-node tomb-boss-pillar-lod0-jg "p" 21) +(def-joint-node tomb-boss-pillar-lod0-jg "q" 22) +(def-joint-node tomb-boss-pillar-lod0-jg "r" 23) +(def-joint-node tomb-boss-pillar-lod0-jg "s" 24) +(def-joint-node tomb-boss-pillar-lod0-jg "t" 25) +(def-joint-node tomb-boss-pillar-lod0-jg "u" 26) +(def-joint-node tomb-boss-pillar-lod0-jg "v" 27) +(def-joint-node tomb-boss-pillar-lod0-jg "w" 28) +(def-joint-node tomb-boss-pillar-lod0-jg "x" 29) + +(def-joint-node stadium-barrier-lod0-jg "boneless" 3) +(def-joint-node stadium-barrier-lod0-jg "prejoint" 2) +(def-joint-node stadium-barrier-lod0-jg "align" 1) + +(def-joint-node spydroid-exploding-lod0-jg "rfrontfootfx" 28) +(def-joint-node spydroid-exploding-lod0-jg "right_front_cannon" 27) +(def-joint-node spydroid-exploding-lod0-jg "right_front_knee" 26) +(def-joint-node spydroid-exploding-lod0-jg "right_front_thigh" 25) +(def-joint-node spydroid-exploding-lod0-jg "rhindfootfx" 24) +(def-joint-node spydroid-exploding-lod0-jg "right_hind_cannon" 23) +(def-joint-node spydroid-exploding-lod0-jg "right_hind_knee" 22) +(def-joint-node spydroid-exploding-lod0-jg "right_hind_thigh" 21) +(def-joint-node spydroid-exploding-lod0-jg "lhindfootfx" 20) +(def-joint-node spydroid-exploding-lod0-jg "left_hind_cannon" 19) +(def-joint-node spydroid-exploding-lod0-jg "left_hind_knee" 18) +(def-joint-node spydroid-exploding-lod0-jg "left_hind_thigh" 17) +(def-joint-node spydroid-exploding-lod0-jg "lfrontfootfx" 16) +(def-joint-node spydroid-exploding-lod0-jg "left_front_cannon" 15) +(def-joint-node spydroid-exploding-lod0-jg "left_front_knee" 14) +(def-joint-node spydroid-exploding-lod0-jg "align" 1) +(def-joint-node spydroid-exploding-lod0-jg "prejoint" 2) +(def-joint-node spydroid-exploding-lod0-jg "main" 3) +(def-joint-node spydroid-exploding-lod0-jg "head" 4) +(def-joint-node spydroid-exploding-lod0-jg "camera" 5) +(def-joint-node spydroid-exploding-lod0-jg "left_turret" 6) +(def-joint-node spydroid-exploding-lod0-jg "left_gun" 7) +(def-joint-node spydroid-exploding-lod0-jg "right_turret" 8) +(def-joint-node spydroid-exploding-lod0-jg "right_gun" 9) +(def-joint-node spydroid-exploding-lod0-jg "antennae" 10) +(def-joint-node spydroid-exploding-lod0-jg "headfx" 11) +(def-joint-node spydroid-exploding-lod0-jg "tube" 12) +(def-joint-node spydroid-exploding-lod0-jg "left_front_thigh" 13) + +(def-joint-node ctypal-baron-statue-break-lod0-jg "ah" 43) +(def-joint-node ctypal-baron-statue-break-lod0-jg "ag" 42) +(def-joint-node ctypal-baron-statue-break-lod0-jg "af" 41) +(def-joint-node ctypal-baron-statue-break-lod0-jg "ae" 40) +(def-joint-node ctypal-baron-statue-break-lod0-jg "ad" 39) +(def-joint-node ctypal-baron-statue-break-lod0-jg "ac" 38) +(def-joint-node ctypal-baron-statue-break-lod0-jg "ab" 37) +(def-joint-node ctypal-baron-statue-break-lod0-jg "aa" 36) +(def-joint-node ctypal-baron-statue-break-lod0-jg "zz" 35) +(def-joint-node ctypal-baron-statue-break-lod0-jg "z" 34) +(def-joint-node ctypal-baron-statue-break-lod0-jg "y" 33) +(def-joint-node ctypal-baron-statue-break-lod0-jg "x" 32) +(def-joint-node ctypal-baron-statue-break-lod0-jg "w" 31) +(def-joint-node ctypal-baron-statue-break-lod0-jg "v" 30) +(def-joint-node ctypal-baron-statue-break-lod0-jg "e" 13) +(def-joint-node ctypal-baron-statue-break-lod0-jg "d" 12) +(def-joint-node ctypal-baron-statue-break-lod0-jg "c" 11) +(def-joint-node ctypal-baron-statue-break-lod0-jg "b" 10) +(def-joint-node ctypal-baron-statue-break-lod0-jg "main" 9) +(def-joint-node ctypal-baron-statue-break-lod0-jg "explode_c" 8) +(def-joint-node ctypal-baron-statue-break-lod0-jg "explode_b" 7) +(def-joint-node ctypal-baron-statue-break-lod0-jg "explode_a" 6) +(def-joint-node ctypal-baron-statue-break-lod0-jg "explode" 5) +(def-joint-node ctypal-baron-statue-break-lod0-jg "swordshimmer2" 4) +(def-joint-node ctypal-baron-statue-break-lod0-jg "swordshimmer1" 3) +(def-joint-node ctypal-baron-statue-break-lod0-jg "prejoint" 2) +(def-joint-node ctypal-baron-statue-break-lod0-jg "align" 1) +(def-joint-node ctypal-baron-statue-break-lod0-jg "f" 14) +(def-joint-node ctypal-baron-statue-break-lod0-jg "g" 15) +(def-joint-node ctypal-baron-statue-break-lod0-jg "h" 16) +(def-joint-node ctypal-baron-statue-break-lod0-jg "i" 17) +(def-joint-node ctypal-baron-statue-break-lod0-jg "j" 18) +(def-joint-node ctypal-baron-statue-break-lod0-jg "k" 19) +(def-joint-node ctypal-baron-statue-break-lod0-jg "l" 20) +(def-joint-node ctypal-baron-statue-break-lod0-jg "m" 21) +(def-joint-node ctypal-baron-statue-break-lod0-jg "n" 22) +(def-joint-node ctypal-baron-statue-break-lod0-jg "o" 23) +(def-joint-node ctypal-baron-statue-break-lod0-jg "p" 24) +(def-joint-node ctypal-baron-statue-break-lod0-jg "q" 25) +(def-joint-node ctypal-baron-statue-break-lod0-jg "r" 26) +(def-joint-node ctypal-baron-statue-break-lod0-jg "s" 27) +(def-joint-node ctypal-baron-statue-break-lod0-jg "t" 28) +(def-joint-node ctypal-baron-statue-break-lod0-jg "u" 29) + +(def-joint-node squid-break-d-lod0-jg "ep" 23) +(def-joint-node squid-break-d-lod0-jg "eo" 22) +(def-joint-node squid-break-d-lod0-jg "en" 21) +(def-joint-node squid-break-d-lod0-jg "em" 20) +(def-joint-node squid-break-d-lod0-jg "el" 19) +(def-joint-node squid-break-d-lod0-jg "ek" 18) +(def-joint-node squid-break-d-lod0-jg "ej" 17) +(def-joint-node squid-break-d-lod0-jg "ei" 16) +(def-joint-node squid-break-d-lod0-jg "eh" 15) +(def-joint-node squid-break-d-lod0-jg "eg" 14) +(def-joint-node squid-break-d-lod0-jg "align" 1) +(def-joint-node squid-break-d-lod0-jg "prejoint" 2) +(def-joint-node squid-break-d-lod0-jg "main" 3) +(def-joint-node squid-break-d-lod0-jg "dw" 4) +(def-joint-node squid-break-d-lod0-jg "dx" 5) +(def-joint-node squid-break-d-lod0-jg "dy" 6) +(def-joint-node squid-break-d-lod0-jg "dz" 7) +(def-joint-node squid-break-d-lod0-jg "ea" 8) +(def-joint-node squid-break-d-lod0-jg "eb" 9) +(def-joint-node squid-break-d-lod0-jg "ec" 10) +(def-joint-node squid-break-d-lod0-jg "ed" 11) +(def-joint-node squid-break-d-lod0-jg "ee" 12) +(def-joint-node squid-break-d-lod0-jg "ef" 13) + +(def-joint-node onin-brain-lod0-jg "onin_brain" 3) +(def-joint-node onin-brain-lod0-jg "prejoint" 2) +(def-joint-node onin-brain-lod0-jg "align" 1) + +(def-joint-node tomb-boss-firepot-lod0-jg "p" 21) +(def-joint-node tomb-boss-firepot-lod0-jg "o" 20) +(def-joint-node tomb-boss-firepot-lod0-jg "n" 19) +(def-joint-node tomb-boss-firepot-lod0-jg "m" 18) +(def-joint-node tomb-boss-firepot-lod0-jg "l" 17) +(def-joint-node tomb-boss-firepot-lod0-jg "k" 16) +(def-joint-node tomb-boss-firepot-lod0-jg "j" 15) +(def-joint-node tomb-boss-firepot-lod0-jg "i" 14) +(def-joint-node tomb-boss-firepot-lod0-jg "align" 1) +(def-joint-node tomb-boss-firepot-lod0-jg "prejoint" 2) +(def-joint-node tomb-boss-firepot-lod0-jg "flame" 3) +(def-joint-node tomb-boss-firepot-lod0-jg "explode" 4) +(def-joint-node tomb-boss-firepot-lod0-jg "main" 5) +(def-joint-node tomb-boss-firepot-lod0-jg "a" 6) +(def-joint-node tomb-boss-firepot-lod0-jg "b" 7) +(def-joint-node tomb-boss-firepot-lod0-jg "c" 8) +(def-joint-node tomb-boss-firepot-lod0-jg "d" 9) +(def-joint-node tomb-boss-firepot-lod0-jg "e" 10) +(def-joint-node tomb-boss-firepot-lod0-jg "f" 11) +(def-joint-node tomb-boss-firepot-lod0-jg "g" 12) +(def-joint-node tomb-boss-firepot-lod0-jg "h" 13) + +(def-joint-node ctypal-baron-statue-broken-lod0-jg "main" 3) +(def-joint-node ctypal-baron-statue-broken-lod0-jg "prejoint" 2) +(def-joint-node ctypal-baron-statue-broken-lod0-jg "align" 1) + +(def-joint-node stad-d-force-field-lod0-jg "main" 3) +(def-joint-node stad-d-force-field-lod0-jg "prejoint" 2) +(def-joint-node stad-d-force-field-lod0-jg "align" 1) + +(def-joint-node tomb-boss-debris-a-lod0-jg "main" 3) +(def-joint-node tomb-boss-debris-a-lod0-jg "prejoint" 2) +(def-joint-node tomb-boss-debris-a-lod0-jg "align" 1) + +(def-joint-node drill-barons-ship-turret-c-lod0-jg "small_gun_blast" 11) +(def-joint-node drill-barons-ship-turret-c-lod0-jg "gun_small" 10) +(def-joint-node drill-barons-ship-turret-c-lod0-jg "gun_blast" 9) +(def-joint-node drill-barons-ship-turret-c-lod0-jg "gun" 8) +(def-joint-node drill-barons-ship-turret-c-lod0-jg "gun_center" 7) +(def-joint-node drill-barons-ship-turret-c-lod0-jg "gun_shaft" 6) +(def-joint-node drill-barons-ship-turret-c-lod0-jg "R_door" 5) +(def-joint-node drill-barons-ship-turret-c-lod0-jg "L_door" 4) +(def-joint-node drill-barons-ship-turret-c-lod0-jg "main" 3) +(def-joint-node drill-barons-ship-turret-c-lod0-jg "prejoint" 2) +(def-joint-node drill-barons-ship-turret-c-lod0-jg "align" 1) + +(def-joint-node youngsamos-highres-lod0-jg "RringB" 58) +(def-joint-node youngsamos-highres-lod0-jg "RringA" 57) +(def-joint-node youngsamos-highres-lod0-jg "RmiddleB" 56) +(def-joint-node youngsamos-highres-lod0-jg "RmiddleA" 55) +(def-joint-node youngsamos-highres-lod0-jg "RthumbC" 54) +(def-joint-node youngsamos-highres-lod0-jg "LringB" 53) +(def-joint-node youngsamos-highres-lod0-jg "LringA" 52) +(def-joint-node youngsamos-highres-lod0-jg "LmiddleB" 51) +(def-joint-node youngsamos-highres-lod0-jg "LmiddleA" 50) +(def-joint-node youngsamos-highres-lod0-jg "LthumbC" 49) +(def-joint-node youngsamos-highres-lod0-jg "Froback" 48) +(def-joint-node youngsamos-highres-lod0-jg "Egg" 47) +(def-joint-node youngsamos-highres-lod0-jg "Rball" 46) +(def-joint-node youngsamos-highres-lod0-jg "Rbigtoe" 45) +(def-joint-node youngsamos-highres-lod0-jg "Rtoes" 44) +(def-joint-node youngsamos-highres-lod0-jg "Rfootball" 43) +(def-joint-node youngsamos-highres-lod0-jg "Rankle" 42) +(def-joint-node youngsamos-highres-lod0-jg "Rknee" 41) +(def-joint-node youngsamos-highres-lod0-jg "Rthigh" 40) +(def-joint-node youngsamos-highres-lod0-jg "Lball" 39) +(def-joint-node youngsamos-highres-lod0-jg "Lbigtoe" 38) +(def-joint-node youngsamos-highres-lod0-jg "Ltoes" 37) +(def-joint-node youngsamos-highres-lod0-jg "Lfootball" 36) +(def-joint-node youngsamos-highres-lod0-jg "Lankle" 35) +(def-joint-node youngsamos-highres-lod0-jg "Lknee" 34) +(def-joint-node youngsamos-highres-lod0-jg "Lthigh" 33) +(def-joint-node youngsamos-highres-lod0-jg "hips" 32) +(def-joint-node youngsamos-highres-lod0-jg "RpinkyB" 31) +(def-joint-node youngsamos-highres-lod0-jg "RpinkyA" 30) +(def-joint-node youngsamos-highres-lod0-jg "Fromid" 13) +(def-joint-node youngsamos-highres-lod0-jg "Frofront" 12) +(def-joint-node youngsamos-highres-lod0-jg "Rlog" 11) +(def-joint-node youngsamos-highres-lod0-jg "Llog" 10) +(def-joint-node youngsamos-highres-lod0-jg "LearMID" 9) +(def-joint-node youngsamos-highres-lod0-jg "Learbase" 8) +(def-joint-node youngsamos-highres-lod0-jg "RearMID" 7) +(def-joint-node youngsamos-highres-lod0-jg "Rearbase" 6) +(def-joint-node youngsamos-highres-lod0-jg "head" 5) +(def-joint-node youngsamos-highres-lod0-jg "chest" 4) +(def-joint-node youngsamos-highres-lod0-jg "main" 3) +(def-joint-node youngsamos-highres-lod0-jg "prejoint" 2) +(def-joint-node youngsamos-highres-lod0-jg "align" 1) +(def-joint-node youngsamos-highres-lod0-jg "Lshoulder" 14) +(def-joint-node youngsamos-highres-lod0-jg "Lelbow" 15) +(def-joint-node youngsamos-highres-lod0-jg "Lhand" 16) +(def-joint-node youngsamos-highres-lod0-jg "LthumbA" 17) +(def-joint-node youngsamos-highres-lod0-jg "LthumbB" 18) +(def-joint-node youngsamos-highres-lod0-jg "LindexA" 19) +(def-joint-node youngsamos-highres-lod0-jg "LindexB" 20) +(def-joint-node youngsamos-highres-lod0-jg "LpinkyA" 21) +(def-joint-node youngsamos-highres-lod0-jg "LpinkyB" 22) +(def-joint-node youngsamos-highres-lod0-jg "Rshoulder" 23) +(def-joint-node youngsamos-highres-lod0-jg "Relbow" 24) +(def-joint-node youngsamos-highres-lod0-jg "Rhand" 25) +(def-joint-node youngsamos-highres-lod0-jg "RthumbA" 26) +(def-joint-node youngsamos-highres-lod0-jg "RthumbB" 27) +(def-joint-node youngsamos-highres-lod0-jg "RindexA" 28) +(def-joint-node youngsamos-highres-lod0-jg "RindexB" 29) + +(def-joint-node water-anim-stadium-floor-pool-lod0-jg "boneless" 3) +(def-joint-node water-anim-stadium-floor-pool-lod0-jg "prejoint" 2) +(def-joint-node water-anim-stadium-floor-pool-lod0-jg "align" 1) + +(def-joint-node jinx-bomb-lod0-jg "main" 3) +(def-joint-node jinx-bomb-lod0-jg "prejoint" 2) +(def-joint-node jinx-bomb-lod0-jg "align" 1) + +(def-joint-node piston-lod0-jg "main_" 3) +(def-joint-node piston-lod0-jg "prejoint" 2) +(def-joint-node piston-lod0-jg "align" 1) + +(def-joint-node tomb-boss-debris-b-lod0-jg "main" 3) +(def-joint-node tomb-boss-debris-b-lod0-jg "prejoint" 2) +(def-joint-node tomb-boss-debris-b-lod0-jg "align" 1) + +(def-joint-node tomb-boss-debris-c-lod0-jg "main" 3) +(def-joint-node tomb-boss-debris-c-lod0-jg "prejoint" 2) +(def-joint-node tomb-boss-debris-c-lod0-jg "align" 1) + +(def-joint-node tomb-boss-debris-d-lod0-jg "main" 3) +(def-joint-node tomb-boss-debris-d-lod0-jg "prejoint" 2) +(def-joint-node tomb-boss-debris-d-lod0-jg "align" 1) + +(def-joint-node tomb-boss-debris-f-lod0-jg "main" 3) +(def-joint-node tomb-boss-debris-f-lod0-jg "prejoint" 2) +(def-joint-node tomb-boss-debris-f-lod0-jg "align" 1) + +(def-joint-node sew-multi-blade-lod0-jg "blade11" 14) +(def-joint-node sew-multi-blade-lod0-jg "align" 1) +(def-joint-node sew-multi-blade-lod0-jg "prejoint" 2) +(def-joint-node sew-multi-blade-lod0-jg "main" 3) +(def-joint-node sew-multi-blade-lod0-jg "blade1" 4) +(def-joint-node sew-multi-blade-lod0-jg "blade2" 5) +(def-joint-node sew-multi-blade-lod0-jg "blade3" 6) +(def-joint-node sew-multi-blade-lod0-jg "blade4" 7) +(def-joint-node sew-multi-blade-lod0-jg "blade5" 8) +(def-joint-node sew-multi-blade-lod0-jg "blade6" 9) +(def-joint-node sew-multi-blade-lod0-jg "blade7" 10) +(def-joint-node sew-multi-blade-lod0-jg "blade8" 11) +(def-joint-node sew-multi-blade-lod0-jg "blade9" 12) +(def-joint-node sew-multi-blade-lod0-jg "blade10" 13) + +(def-joint-node tomb-boss-debris-i-lod0-jg "main" 3) +(def-joint-node tomb-boss-debris-i-lod0-jg "prejoint" 2) +(def-joint-node tomb-boss-debris-i-lod0-jg "align" 1) + +(def-joint-node throne-throne-lod0-jg "main_" 3) +(def-joint-node throne-throne-lod0-jg "prejoint" 2) +(def-joint-node throne-throne-lod0-jg "align" 1) + +(def-joint-node tomb-plat-wall-lod0-jg "main" 3) +(def-joint-node tomb-plat-wall-lod0-jg "prejoint" 2) +(def-joint-node tomb-plat-wall-lod0-jg "align" 1) + +(def-joint-node hide-light-lod0-jg "bottom" 12) +(def-joint-node hide-light-lod0-jg "seven" 11) +(def-joint-node hide-light-lod0-jg "six" 10) +(def-joint-node hide-light-lod0-jg "five" 9) +(def-joint-node hide-light-lod0-jg "four" 8) +(def-joint-node hide-light-lod0-jg "three" 7) +(def-joint-node hide-light-lod0-jg "two" 6) +(def-joint-node hide-light-lod0-jg "one" 5) +(def-joint-node hide-light-lod0-jg "top" 4) +(def-joint-node hide-light-lod0-jg "main" 3) +(def-joint-node hide-light-lod0-jg "prejoint" 2) +(def-joint-node hide-light-lod0-jg "align" 1) + +(def-joint-node prsn-torture-lod0-jg "machlight_6" 83) +(def-joint-node prsn-torture-lod0-jg "machlight_5" 82) +(def-joint-node prsn-torture-lod0-jg "machlight_4" 81) +(def-joint-node prsn-torture-lod0-jg "machlight_3" 80) +(def-joint-node prsn-torture-lod0-jg "machlight_2" 79) +(def-joint-node prsn-torture-lod0-jg "machlight_1" 78) +(def-joint-node prsn-torture-lod0-jg "L_hand_tweezers_lower" 77) +(def-joint-node prsn-torture-lod0-jg "L_hand_tweezers_upper" 76) +(def-joint-node prsn-torture-lod0-jg "L_hand_tweezers" 75) +(def-joint-node prsn-torture-lod0-jg "L_hand_scalpel_END" 74) +(def-joint-node prsn-torture-lod0-jg "L_hand_scalpel" 73) +(def-joint-node prsn-torture-lod0-jg "L_hand_knife" 72) +(def-joint-node prsn-torture-lod0-jg "L_hand_needle_END" 71) +(def-joint-node prsn-torture-lod0-jg "L_hand_needle" 70) +(def-joint-node prsn-torture-lod0-jg "L_hand_palm_L" 69) +(def-joint-node prsn-torture-lod0-jg "L_hand_wrist_L" 68) +(def-joint-node prsn-torture-lod0-jg "L_hand_rotate_wristL1" 67) +(def-joint-node prsn-torture-lod0-jg "L_hand_dblneedle" 66) +(def-joint-node prsn-torture-lod0-jg "L_hand_shortscalpel" 65) +(def-joint-node prsn-torture-lod0-jg "L_hand_saw_END" 64) +(def-joint-node prsn-torture-lod0-jg "L_hand_saw" 63) +(def-joint-node prsn-torture-lod0-jg "L_hand_shorttweezers_bottom" 62) +(def-joint-node prsn-torture-lod0-jg "L_hand_shorttweezers_top" 61) +(def-joint-node prsn-torture-lod0-jg "L_hand_shorttweezers" 60) +(def-joint-node prsn-torture-lod0-jg "R_hand_wristL" 29) +(def-joint-node prsn-torture-lod0-jg "R_hand_rotate_wristL" 28) +(def-joint-node prsn-torture-lod0-jg "R_hand_extender_main_END" 27) +(def-joint-node prsn-torture-lod0-jg "R_hand_extender_main" 26) +(def-joint-node prsn-torture-lod0-jg "R_arm_elbow" 25) +(def-joint-node prsn-torture-lod0-jg "R_shoulder" 24) +(def-joint-node prsn-torture-lod0-jg "C_arm_rod_END" 23) +(def-joint-node prsn-torture-lod0-jg "C_arm_rod_scale" 22) +(def-joint-node prsn-torture-lod0-jg "C_arm1_finger4b" 21) +(def-joint-node prsn-torture-lod0-jg "C_arm_finger4a" 20) +(def-joint-node prsn-torture-lod0-jg "C_arm1_finger3b" 19) +(def-joint-node prsn-torture-lod0-jg "C_arm_finger3a" 18) +(def-joint-node prsn-torture-lod0-jg "C_arm1_finger2b" 17) +(def-joint-node prsn-torture-lod0-jg "C_arm_finger2a" 16) +(def-joint-node prsn-torture-lod0-jg "C_arm1_finger1b" 15) +(def-joint-node prsn-torture-lod0-jg "C_arm_finger1a" 14) +(def-joint-node prsn-torture-lod0-jg "align" 1) +(def-joint-node prsn-torture-lod0-jg "prejoint" 2) +(def-joint-node prsn-torture-lod0-jg "main" 3) +(def-joint-node prsn-torture-lod0-jg "mainbody_needle1" 4) +(def-joint-node prsn-torture-lod0-jg "needleshock_" 5) +(def-joint-node prsn-torture-lod0-jg "mainbody_needle3" 6) +(def-joint-node prsn-torture-lod0-jg "mainbody_needle2" 7) +(def-joint-node prsn-torture-lod0-jg "machine_tier1" 8) +(def-joint-node prsn-torture-lod0-jg "machine_tier2" 9) +(def-joint-node prsn-torture-lod0-jg "C_arm_shoulder" 10) +(def-joint-node prsn-torture-lod0-jg "C_arm_elbow" 11) +(def-joint-node prsn-torture-lod0-jg "C_arm_movrot_claw" 12) +(def-joint-node prsn-torture-lod0-jg "C_arm_movrot_claw_END" 13) +(def-joint-node prsn-torture-lod0-jg "R_hand_palmL" 30) +(def-joint-node prsn-torture-lod0-jg "R_hand_buzsaw" 31) +(def-joint-node prsn-torture-lod0-jg "R_hand_buzsaw_END" 32) +(def-joint-node prsn-torture-lod0-jg "R_hand_shorttweezers" 33) +(def-joint-node prsn-torture-lod0-jg "R_hand_shorttweezers_top" 34) +(def-joint-node prsn-torture-lod0-jg "R_hand_shorttweezers_bottom" 35) +(def-joint-node prsn-torture-lod0-jg "R_hand_saw" 36) +(def-joint-node prsn-torture-lod0-jg "R_hand_saw_END" 37) +(def-joint-node prsn-torture-lod0-jg "R_hand_shortscalpel" 38) +(def-joint-node prsn-torture-lod0-jg "R_hand_dblneedle" 39) +(def-joint-node prsn-torture-lod0-jg "R_hand_rotate_wristR" 40) +(def-joint-node prsn-torture-lod0-jg "R_hand_wristR" 41) +(def-joint-node prsn-torture-lod0-jg "R_hand_palmR" 42) +(def-joint-node prsn-torture-lod0-jg "R_hand_needle" 43) +(def-joint-node prsn-torture-lod0-jg "R_hand_needle_END" 44) +(def-joint-node prsn-torture-lod0-jg "R_hand_knife" 45) +(def-joint-node prsn-torture-lod0-jg "R_hand_scalpel" 46) +(def-joint-node prsn-torture-lod0-jg "R_hand_scalpel_END" 47) +(def-joint-node prsn-torture-lod0-jg "R_hand_tweezers" 48) +(def-joint-node prsn-torture-lod0-jg "R_hand_tweezers_upper" 49) +(def-joint-node prsn-torture-lod0-jg "R_hand_tweezers_lower" 50) +(def-joint-node prsn-torture-lod0-jg "L_shoulder" 51) +(def-joint-node prsn-torture-lod0-jg "L_arm_elbow" 52) +(def-joint-node prsn-torture-lod0-jg "L_hand_extender_main" 53) +(def-joint-node prsn-torture-lod0-jg "L_hand_extender_main_END" 54) +(def-joint-node prsn-torture-lod0-jg "L_hand_rotate_wristL" 55) +(def-joint-node prsn-torture-lod0-jg "L_hand_wristL" 56) +(def-joint-node prsn-torture-lod0-jg "L_hand_palmL" 57) +(def-joint-node prsn-torture-lod0-jg "L_hand_buzsaw" 58) +(def-joint-node prsn-torture-lod0-jg "L_hand_buzsaw_END" 59) + +(def-joint-node kid-lod0-jg "RmiddleB" 37) +(def-joint-node kid-lod0-jg "RmiddleA" 36) +(def-joint-node kid-lod0-jg "RthumbB" 35) +(def-joint-node kid-lod0-jg "RthumbA" 34) +(def-joint-node kid-lod0-jg "LmiddleB" 33) +(def-joint-node kid-lod0-jg "LmiddleA" 32) +(def-joint-node kid-lod0-jg "LthumbB" 31) +(def-joint-node kid-lod0-jg "LthumbA" 30) +(def-joint-node kid-lod0-jg "hips" 13) +(def-joint-node kid-lod0-jg "Rhand" 12) +(def-joint-node kid-lod0-jg "Relbow" 11) +(def-joint-node kid-lod0-jg "Rshoulder" 10) +(def-joint-node kid-lod0-jg "Lhand" 9) +(def-joint-node kid-lod0-jg "Lelbow" 8) +(def-joint-node kid-lod0-jg "Lshoulder" 7) +(def-joint-node kid-lod0-jg "head" 6) +(def-joint-node kid-lod0-jg "neck" 5) +(def-joint-node kid-lod0-jg "chest" 4) +(def-joint-node kid-lod0-jg "main" 3) +(def-joint-node kid-lod0-jg "prejoint" 2) +(def-joint-node kid-lod0-jg "align" 1) +(def-joint-node kid-lod0-jg "Lthigh" 14) +(def-joint-node kid-lod0-jg "Lknee" 15) +(def-joint-node kid-lod0-jg "Lankle" 16) +(def-joint-node kid-lod0-jg "Lball" 17) +(def-joint-node kid-lod0-jg "Rthigh" 18) +(def-joint-node kid-lod0-jg "Rknee" 19) +(def-joint-node kid-lod0-jg "Rankle" 20) +(def-joint-node kid-lod0-jg "Rball" 21) +(def-joint-node kid-lod0-jg "eye_blink" 22) +(def-joint-node kid-lod0-jg "Hairmida" 23) +(def-joint-node kid-lod0-jg "Leara" 24) +(def-joint-node kid-lod0-jg "Reara" 25) +(def-joint-node kid-lod0-jg "Lhatstrapa" 26) +(def-joint-node kid-lod0-jg "Rhatstrapa" 27) +(def-joint-node kid-lod0-jg "Pimpcharma" 28) +(def-joint-node kid-lod0-jg "Pimpcharmb" 29) + +(def-joint-node prsn-hang-cell-lod0-jg "main" 3) +(def-joint-node prsn-hang-cell-lod0-jg "prejoint" 2) +(def-joint-node prsn-hang-cell-lod0-jg "align" 1) + +(def-joint-node water-anim-mountain-fall-hi-lod0-jg "boneless" 3) +(def-joint-node water-anim-mountain-fall-hi-lod0-jg "prejoint" 2) +(def-joint-node water-anim-mountain-fall-hi-lod0-jg "align" 1) + +(def-joint-node dig-spikey-step-lod0-jg "main" 3) +(def-joint-node dig-spikey-step-lod0-jg "prejoint" 2) +(def-joint-node dig-spikey-step-lod0-jg "align" 1) + +(def-joint-node ctypal-baron-statue-break-c-lod0-jg "fb" 46) +(def-joint-node ctypal-baron-statue-break-c-lod0-jg "fa" 45) +(def-joint-node ctypal-baron-statue-break-c-lod0-jg "ez" 44) +(def-joint-node ctypal-baron-statue-break-c-lod0-jg "ey" 43) +(def-joint-node ctypal-baron-statue-break-c-lod0-jg "ex" 42) +(def-joint-node ctypal-baron-statue-break-c-lod0-jg "ew" 41) +(def-joint-node ctypal-baron-statue-break-c-lod0-jg "ev" 40) +(def-joint-node ctypal-baron-statue-break-c-lod0-jg "eu" 39) +(def-joint-node ctypal-baron-statue-break-c-lod0-jg "et" 38) +(def-joint-node ctypal-baron-statue-break-c-lod0-jg "es" 37) +(def-joint-node ctypal-baron-statue-break-c-lod0-jg "er" 36) +(def-joint-node ctypal-baron-statue-break-c-lod0-jg "eq" 35) +(def-joint-node ctypal-baron-statue-break-c-lod0-jg "ep" 34) +(def-joint-node ctypal-baron-statue-break-c-lod0-jg "eo" 33) +(def-joint-node ctypal-baron-statue-break-c-lod0-jg "en" 32) +(def-joint-node ctypal-baron-statue-break-c-lod0-jg "em" 31) +(def-joint-node ctypal-baron-statue-break-c-lod0-jg "el" 30) +(def-joint-node ctypal-baron-statue-break-c-lod0-jg "du" 13) +(def-joint-node ctypal-baron-statue-break-c-lod0-jg "dt" 12) +(def-joint-node ctypal-baron-statue-break-c-lod0-jg "ds" 11) +(def-joint-node ctypal-baron-statue-break-c-lod0-jg "dr" 10) +(def-joint-node ctypal-baron-statue-break-c-lod0-jg "dq" 9) +(def-joint-node ctypal-baron-statue-break-c-lod0-jg "dp" 8) +(def-joint-node ctypal-baron-statue-break-c-lod0-jg "do" 7) +(def-joint-node ctypal-baron-statue-break-c-lod0-jg "dn" 6) +(def-joint-node ctypal-baron-statue-break-c-lod0-jg "dm" 5) +(def-joint-node ctypal-baron-statue-break-c-lod0-jg "dl" 4) +(def-joint-node ctypal-baron-statue-break-c-lod0-jg "main" 3) +(def-joint-node ctypal-baron-statue-break-c-lod0-jg "prejoint" 2) +(def-joint-node ctypal-baron-statue-break-c-lod0-jg "align" 1) +(def-joint-node ctypal-baron-statue-break-c-lod0-jg "dv" 14) +(def-joint-node ctypal-baron-statue-break-c-lod0-jg "dw" 15) +(def-joint-node ctypal-baron-statue-break-c-lod0-jg "dx" 16) +(def-joint-node ctypal-baron-statue-break-c-lod0-jg "dy" 17) +(def-joint-node ctypal-baron-statue-break-c-lod0-jg "dz" 18) +(def-joint-node ctypal-baron-statue-break-c-lod0-jg "ea" 19) +(def-joint-node ctypal-baron-statue-break-c-lod0-jg "eb" 20) +(def-joint-node ctypal-baron-statue-break-c-lod0-jg "ec" 21) +(def-joint-node ctypal-baron-statue-break-c-lod0-jg "ed" 22) +(def-joint-node ctypal-baron-statue-break-c-lod0-jg "ee" 23) +(def-joint-node ctypal-baron-statue-break-c-lod0-jg "ef" 24) +(def-joint-node ctypal-baron-statue-break-c-lod0-jg "eg" 25) +(def-joint-node ctypal-baron-statue-break-c-lod0-jg "eh" 26) +(def-joint-node ctypal-baron-statue-break-c-lod0-jg "ei" 27) +(def-joint-node ctypal-baron-statue-break-c-lod0-jg "ej" 28) +(def-joint-node ctypal-baron-statue-break-c-lod0-jg "ek" 29) + +(def-joint-node warp-gate-b-lod0-jg "innerIn" 9) +(def-joint-node warp-gate-b-lod0-jg "innerOut" 8) +(def-joint-node warp-gate-b-lod0-jg "middleIn" 7) +(def-joint-node warp-gate-b-lod0-jg "middleOut" 6) +(def-joint-node warp-gate-b-lod0-jg "outerIn" 5) +(def-joint-node warp-gate-b-lod0-jg "outerOut" 4) +(def-joint-node warp-gate-b-lod0-jg "main" 3) +(def-joint-node warp-gate-b-lod0-jg "prejoint" 2) +(def-joint-node warp-gate-b-lod0-jg "align" 1) + +(def-joint-node pal-breakable-window-lod0-jg "main" 3) +(def-joint-node pal-breakable-window-lod0-jg "prejoint" 2) +(def-joint-node pal-breakable-window-lod0-jg "align" 1) + +(def-joint-node mammoth-lod0-jg "RportalC" 55) +(def-joint-node mammoth-lod0-jg "RportalB" 54) +(def-joint-node mammoth-lod0-jg "RportalA" 53) +(def-joint-node mammoth-lod0-jg "LportalC" 52) +(def-joint-node mammoth-lod0-jg "LportalB" 51) +(def-joint-node mammoth-lod0-jg "LportalA" 50) +(def-joint-node mammoth-lod0-jg "RchestTubeMoss" 49) +(def-joint-node mammoth-lod0-jg "RchestTubeC" 48) +(def-joint-node mammoth-lod0-jg "RchestTubeB" 47) +(def-joint-node mammoth-lod0-jg "RchestTubeA" 46) +(def-joint-node mammoth-lod0-jg "LchestTubeMoss" 45) +(def-joint-node mammoth-lod0-jg "LchestTubeC" 44) +(def-joint-node mammoth-lod0-jg "LchestTubeB" 43) +(def-joint-node mammoth-lod0-jg "LchestTubeA" 42) +(def-joint-node mammoth-lod0-jg "Reye" 41) +(def-joint-node mammoth-lod0-jg "Leye" 40) +(def-joint-node mammoth-lod0-jg "RheadTubeMoss" 39) +(def-joint-node mammoth-lod0-jg "RheadTubeC" 38) +(def-joint-node mammoth-lod0-jg "RheadTubeB" 37) +(def-joint-node mammoth-lod0-jg "RheadTubeA" 36) +(def-joint-node mammoth-lod0-jg "LheadTubeMoss" 35) +(def-joint-node mammoth-lod0-jg "LheadTubeC" 34) +(def-joint-node mammoth-lod0-jg "LheadTubeB" 33) +(def-joint-node mammoth-lod0-jg "LheadTubeA" 32) +(def-joint-node mammoth-lod0-jg "tailC" 31) +(def-joint-node mammoth-lod0-jg "tailB" 30) +(def-joint-node mammoth-lod0-jg "RFheel" 13) +(def-joint-node mammoth-lod0-jg "Rulna" 12) +(def-joint-node mammoth-lod0-jg "Rhumerus" 11) +(def-joint-node mammoth-lod0-jg "LFheel" 10) +(def-joint-node mammoth-lod0-jg "Lulna" 9) +(def-joint-node mammoth-lod0-jg "Lhumerus" 8) +(def-joint-node mammoth-lod0-jg "head" 7) +(def-joint-node mammoth-lod0-jg "neck" 6) +(def-joint-node mammoth-lod0-jg "chest" 5) +(def-joint-node mammoth-lod0-jg "tilt" 4) +(def-joint-node mammoth-lod0-jg "main" 3) +(def-joint-node mammoth-lod0-jg "prejoint" 2) +(def-joint-node mammoth-lod0-jg "align" 1) +(def-joint-node mammoth-lod0-jg "chestPlates" 14) +(def-joint-node mammoth-lod0-jg "LportalA_cover" 15) +(def-joint-node mammoth-lod0-jg "LportalB_cover" 16) +(def-joint-node mammoth-lod0-jg "LportalC_cover" 17) +(def-joint-node mammoth-lod0-jg "RportalA_cover" 18) +(def-joint-node mammoth-lod0-jg "RportalB_cover" 19) +(def-joint-node mammoth-lod0-jg "RportalC_cover" 20) +(def-joint-node mammoth-lod0-jg "hipPlates" 21) +(def-joint-node mammoth-lod0-jg "hips" 22) +(def-joint-node mammoth-lod0-jg "Lfemur" 23) +(def-joint-node mammoth-lod0-jg "L_tibia" 24) +(def-joint-node mammoth-lod0-jg "LRheel" 25) +(def-joint-node mammoth-lod0-jg "Rfemur" 26) +(def-joint-node mammoth-lod0-jg "R_tibia" 27) +(def-joint-node mammoth-lod0-jg "RRheel" 28) +(def-joint-node mammoth-lod0-jg "tailA" 29) + +(def-joint-node gun-cit-d-explode-lod0-jg "cit_d14" 18) +(def-joint-node gun-cit-d-explode-lod0-jg "cit_d13" 17) +(def-joint-node gun-cit-d-explode-lod0-jg "cit_d12" 16) +(def-joint-node gun-cit-d-explode-lod0-jg "cit_d11" 15) +(def-joint-node gun-cit-d-explode-lod0-jg "cit_d10" 14) +(def-joint-node gun-cit-d-explode-lod0-jg "align" 1) +(def-joint-node gun-cit-d-explode-lod0-jg "prejoint" 2) +(def-joint-node gun-cit-d-explode-lod0-jg "main" 3) +(def-joint-node gun-cit-d-explode-lod0-jg "cit_d" 4) +(def-joint-node gun-cit-d-explode-lod0-jg "cit_d1" 5) +(def-joint-node gun-cit-d-explode-lod0-jg "cit_d2" 6) +(def-joint-node gun-cit-d-explode-lod0-jg "cit_d3" 7) +(def-joint-node gun-cit-d-explode-lod0-jg "cit_d4" 8) +(def-joint-node gun-cit-d-explode-lod0-jg "cit_d5" 9) +(def-joint-node gun-cit-d-explode-lod0-jg "cit_d6" 10) +(def-joint-node gun-cit-d-explode-lod0-jg "cit_d7" 11) +(def-joint-node gun-cit-d-explode-lod0-jg "cit_d8" 12) +(def-joint-node gun-cit-d-explode-lod0-jg "cit_d9" 13) + +(def-joint-node drill-crane-d-lod0-jg "main" 29) +(def-joint-node drill-crane-d-lod0-jg "y" 28) +(def-joint-node drill-crane-d-lod0-jg "x" 27) +(def-joint-node drill-crane-d-lod0-jg "w" 26) +(def-joint-node drill-crane-d-lod0-jg "v" 25) +(def-joint-node drill-crane-d-lod0-jg "u" 24) +(def-joint-node drill-crane-d-lod0-jg "t" 23) +(def-joint-node drill-crane-d-lod0-jg "s" 22) +(def-joint-node drill-crane-d-lod0-jg "r" 21) +(def-joint-node drill-crane-d-lod0-jg "q" 20) +(def-joint-node drill-crane-d-lod0-jg "p" 19) +(def-joint-node drill-crane-d-lod0-jg "o" 18) +(def-joint-node drill-crane-d-lod0-jg "n" 17) +(def-joint-node drill-crane-d-lod0-jg "m" 16) +(def-joint-node drill-crane-d-lod0-jg "l" 15) +(def-joint-node drill-crane-d-lod0-jg "k" 14) +(def-joint-node drill-crane-d-lod0-jg "align" 1) +(def-joint-node drill-crane-d-lod0-jg "prejoint" 2) +(def-joint-node drill-crane-d-lod0-jg "explode" 3) +(def-joint-node drill-crane-d-lod0-jg "a" 4) +(def-joint-node drill-crane-d-lod0-jg "b" 5) +(def-joint-node drill-crane-d-lod0-jg "c" 6) +(def-joint-node drill-crane-d-lod0-jg "d" 7) +(def-joint-node drill-crane-d-lod0-jg "e" 8) +(def-joint-node drill-crane-d-lod0-jg "f" 9) +(def-joint-node drill-crane-d-lod0-jg "g" 10) +(def-joint-node drill-crane-d-lod0-jg "h" 11) +(def-joint-node drill-crane-d-lod0-jg "i" 12) +(def-joint-node drill-crane-d-lod0-jg "j" 13) + +(def-joint-node prsn-vent-fan-lod0-jg "main" 3) +(def-joint-node prsn-vent-fan-lod0-jg "prejoint" 2) +(def-joint-node prsn-vent-fan-lod0-jg "align" 1) + +(def-joint-node nest-break-rocks-break-lod0-jg "ar" 47) +(def-joint-node nest-break-rocks-break-lod0-jg "aq" 46) +(def-joint-node nest-break-rocks-break-lod0-jg "ap" 45) +(def-joint-node nest-break-rocks-break-lod0-jg "ao" 44) +(def-joint-node nest-break-rocks-break-lod0-jg "an" 43) +(def-joint-node nest-break-rocks-break-lod0-jg "am" 42) +(def-joint-node nest-break-rocks-break-lod0-jg "al" 41) +(def-joint-node nest-break-rocks-break-lod0-jg "ak" 40) +(def-joint-node nest-break-rocks-break-lod0-jg "aj" 39) +(def-joint-node nest-break-rocks-break-lod0-jg "ai" 38) +(def-joint-node nest-break-rocks-break-lod0-jg "ah" 37) +(def-joint-node nest-break-rocks-break-lod0-jg "ag" 36) +(def-joint-node nest-break-rocks-break-lod0-jg "af" 35) +(def-joint-node nest-break-rocks-break-lod0-jg "ae" 34) +(def-joint-node nest-break-rocks-break-lod0-jg "ad" 33) +(def-joint-node nest-break-rocks-break-lod0-jg "ac" 32) +(def-joint-node nest-break-rocks-break-lod0-jg "ab" 31) +(def-joint-node nest-break-rocks-break-lod0-jg "aa" 30) +(def-joint-node nest-break-rocks-break-lod0-jg "k" 13) +(def-joint-node nest-break-rocks-break-lod0-jg "j" 12) +(def-joint-node nest-break-rocks-break-lod0-jg "i" 11) +(def-joint-node nest-break-rocks-break-lod0-jg "h" 10) +(def-joint-node nest-break-rocks-break-lod0-jg "g" 9) +(def-joint-node nest-break-rocks-break-lod0-jg "f" 8) +(def-joint-node nest-break-rocks-break-lod0-jg "e" 7) +(def-joint-node nest-break-rocks-break-lod0-jg "d" 6) +(def-joint-node nest-break-rocks-break-lod0-jg "c" 5) +(def-joint-node nest-break-rocks-break-lod0-jg "b" 4) +(def-joint-node nest-break-rocks-break-lod0-jg "main" 3) +(def-joint-node nest-break-rocks-break-lod0-jg "prejoint" 2) +(def-joint-node nest-break-rocks-break-lod0-jg "align" 1) +(def-joint-node nest-break-rocks-break-lod0-jg "l" 14) +(def-joint-node nest-break-rocks-break-lod0-jg "m" 15) +(def-joint-node nest-break-rocks-break-lod0-jg "n" 16) +(def-joint-node nest-break-rocks-break-lod0-jg "o" 17) +(def-joint-node nest-break-rocks-break-lod0-jg "p" 18) +(def-joint-node nest-break-rocks-break-lod0-jg "q" 19) +(def-joint-node nest-break-rocks-break-lod0-jg "r" 20) +(def-joint-node nest-break-rocks-break-lod0-jg "s" 21) +(def-joint-node nest-break-rocks-break-lod0-jg "t" 22) +(def-joint-node nest-break-rocks-break-lod0-jg "u" 23) +(def-joint-node nest-break-rocks-break-lod0-jg "v" 24) +(def-joint-node nest-break-rocks-break-lod0-jg "w" 25) +(def-joint-node nest-break-rocks-break-lod0-jg "x" 26) +(def-joint-node nest-break-rocks-break-lod0-jg "y" 27) +(def-joint-node nest-break-rocks-break-lod0-jg "z" 28) +(def-joint-node nest-break-rocks-break-lod0-jg "zz" 29) + +(def-joint-node ruins-precipice-lod0-jg "ch" 4) +(def-joint-node ruins-precipice-lod0-jg "main" 3) +(def-joint-node ruins-precipice-lod0-jg "prejoint" 2) +(def-joint-node ruins-precipice-lod0-jg "align" 1) + +(def-joint-node water-anim-nest-dark-eco-largepool-lod0-jg "boneless" 3) +(def-joint-node water-anim-nest-dark-eco-largepool-lod0-jg "prejoint" 2) +(def-joint-node water-anim-nest-dark-eco-largepool-lod0-jg "align" 1) + +(def-joint-node oracle-roof-banner-b-lod0-jg "banner5" 8) +(def-joint-node oracle-roof-banner-b-lod0-jg "banner4" 7) +(def-joint-node oracle-roof-banner-b-lod0-jg "banner3" 6) +(def-joint-node oracle-roof-banner-b-lod0-jg "banner2" 5) +(def-joint-node oracle-roof-banner-b-lod0-jg "banner1" 4) +(def-joint-node oracle-roof-banner-b-lod0-jg "main" 3) +(def-joint-node oracle-roof-banner-b-lod0-jg "prejoint" 2) +(def-joint-node oracle-roof-banner-b-lod0-jg "align" 1) + +(def-joint-node water-anim-nest-dark-eco-smlupperpool-lod0-jg "boneless" 3) +(def-joint-node water-anim-nest-dark-eco-smlupperpool-lod0-jg "prejoint" 2) +(def-joint-node water-anim-nest-dark-eco-smlupperpool-lod0-jg "align" 1) + +(def-joint-node water-anim-ctypal-long-grnd-pool-lod0-jg "boneless" 3) +(def-joint-node water-anim-ctypal-long-grnd-pool-lod0-jg "prejoint" 2) +(def-joint-node water-anim-ctypal-long-grnd-pool-lod0-jg "align" 1) + +(def-joint-node pal-gun-turret-lod0-jg "hole_7" 14) +(def-joint-node pal-gun-turret-lod0-jg "align" 1) +(def-joint-node pal-gun-turret-lod0-jg "prejoint" 2) +(def-joint-node pal-gun-turret-lod0-jg "main" 3) +(def-joint-node pal-gun-turret-lod0-jg "barrel" 4) +(def-joint-node pal-gun-turret-lod0-jg "gun" 5) +(def-joint-node pal-gun-turret-lod0-jg "track" 6) +(def-joint-node pal-gun-turret-lod0-jg "hole_0" 7) +(def-joint-node pal-gun-turret-lod0-jg "hole_1" 8) +(def-joint-node pal-gun-turret-lod0-jg "hole_2" 9) +(def-joint-node pal-gun-turret-lod0-jg "hole_3" 10) +(def-joint-node pal-gun-turret-lod0-jg "hole_4" 11) +(def-joint-node pal-gun-turret-lod0-jg "hole_5" 12) +(def-joint-node pal-gun-turret-lod0-jg "hole_6" 13) + +(def-joint-node grunt-egg-a-lod0-jg "egg5" 13) +(def-joint-node grunt-egg-a-lod0-jg "egg4" 12) +(def-joint-node grunt-egg-a-lod0-jg "egg3" 11) +(def-joint-node grunt-egg-a-lod0-jg "egg2" 10) +(def-joint-node grunt-egg-a-lod0-jg "egg9" 9) +(def-joint-node grunt-egg-a-lod0-jg "egg8" 8) +(def-joint-node grunt-egg-a-lod0-jg "egg7" 7) +(def-joint-node grunt-egg-a-lod0-jg "egg6" 6) +(def-joint-node grunt-egg-a-lod0-jg "egg11" 5) +(def-joint-node grunt-egg-a-lod0-jg "egg10" 4) +(def-joint-node grunt-egg-a-lod0-jg "main" 3) +(def-joint-node grunt-egg-a-lod0-jg "prejoint" 2) +(def-joint-node grunt-egg-a-lod0-jg "align" 1) + +(def-joint-node dig-digger-explode-c-lod0-jg "dm" 20) +(def-joint-node dig-digger-explode-c-lod0-jg "dl" 19) +(def-joint-node dig-digger-explode-c-lod0-jg "dk" 18) +(def-joint-node dig-digger-explode-c-lod0-jg "dj" 17) +(def-joint-node dig-digger-explode-c-lod0-jg "di" 16) +(def-joint-node dig-digger-explode-c-lod0-jg "dh" 15) +(def-joint-node dig-digger-explode-c-lod0-jg "dg" 14) +(def-joint-node dig-digger-explode-c-lod0-jg "align" 1) +(def-joint-node dig-digger-explode-c-lod0-jg "prejoint" 2) +(def-joint-node dig-digger-explode-c-lod0-jg "main" 3) +(def-joint-node dig-digger-explode-c-lod0-jg "cw" 4) +(def-joint-node dig-digger-explode-c-lod0-jg "cx" 5) +(def-joint-node dig-digger-explode-c-lod0-jg "cy" 6) +(def-joint-node dig-digger-explode-c-lod0-jg "cz" 7) +(def-joint-node dig-digger-explode-c-lod0-jg "da" 8) +(def-joint-node dig-digger-explode-c-lod0-jg "db" 9) +(def-joint-node dig-digger-explode-c-lod0-jg "dc" 10) +(def-joint-node dig-digger-explode-c-lod0-jg "dd" 11) +(def-joint-node dig-digger-explode-c-lod0-jg "de" 12) +(def-joint-node dig-digger-explode-c-lod0-jg "df" 13) + +(def-joint-node water-anim-nest-dark-eco-middlepool-lod0-jg "boneless" 3) +(def-joint-node water-anim-nest-dark-eco-middlepool-lod0-jg "prejoint" 2) +(def-joint-node water-anim-nest-dark-eco-middlepool-lod0-jg "align" 1) + +(def-joint-node dig-totem-fish-lod0-jg "fish" 3) +(def-joint-node dig-totem-fish-lod0-jg "prejoint" 2) +(def-joint-node dig-totem-fish-lod0-jg "align" 1) + +(def-joint-node cas-switch-lod0-jg "main" 3) +(def-joint-node cas-switch-lod0-jg "prejoint" 2) +(def-joint-node cas-switch-lod0-jg "align" 1) + +(def-joint-node ctywide-arrow-lod0-jg "main" 3) +(def-joint-node ctywide-arrow-lod0-jg "prejoint" 2) +(def-joint-node ctywide-arrow-lod0-jg "align" 1) + +(def-joint-node citizen-chick-lod0-jg "RmiddleA" 27) +(def-joint-node citizen-chick-lod0-jg "RindexA" 26) +(def-joint-node citizen-chick-lod0-jg "RthumbA" 25) +(def-joint-node citizen-chick-lod0-jg "LmiddleA" 24) +(def-joint-node citizen-chick-lod0-jg "LindexA" 23) +(def-joint-node citizen-chick-lod0-jg "LthumbA" 22) +(def-joint-node citizen-chick-lod0-jg "hairA" 21) +(def-joint-node citizen-chick-lod0-jg "Rball" 20) +(def-joint-node citizen-chick-lod0-jg "Rankle" 19) +(def-joint-node citizen-chick-lod0-jg "Rknee" 18) +(def-joint-node citizen-chick-lod0-jg "Rthigh" 17) +(def-joint-node citizen-chick-lod0-jg "Lball" 16) +(def-joint-node citizen-chick-lod0-jg "Lankle" 15) +(def-joint-node citizen-chick-lod0-jg "Lknee" 14) +(def-joint-node citizen-chick-lod0-jg "align" 1) +(def-joint-node citizen-chick-lod0-jg "prejoint" 2) +(def-joint-node citizen-chick-lod0-jg "main" 3) +(def-joint-node citizen-chick-lod0-jg "chest" 4) +(def-joint-node citizen-chick-lod0-jg "neck" 5) +(def-joint-node citizen-chick-lod0-jg "Lshoulder" 6) +(def-joint-node citizen-chick-lod0-jg "Lelbow" 7) +(def-joint-node citizen-chick-lod0-jg "Lhand" 8) +(def-joint-node citizen-chick-lod0-jg "Rshoulder" 9) +(def-joint-node citizen-chick-lod0-jg "Relbow" 10) +(def-joint-node citizen-chick-lod0-jg "Rhand" 11) +(def-joint-node citizen-chick-lod0-jg "hips" 12) +(def-joint-node citizen-chick-lod0-jg "Lthigh" 13) + +(def-joint-node carc-lod0-jg "wheel_" 10) +(def-joint-node carc-lod0-jg "tailfinR_" 9) +(def-joint-node carc-lod0-jg "tailfinL_" 8) +(def-joint-node carc-lod0-jg "rearfinR_" 7) +(def-joint-node carc-lod0-jg "rearfinL_" 6) +(def-joint-node carc-lod0-jg "frontfinR_" 5) +(def-joint-node carc-lod0-jg "frontfinL_" 4) +(def-joint-node carc-lod0-jg "main_" 3) +(def-joint-node carc-lod0-jg "prejoint" 2) +(def-joint-node carc-lod0-jg "align" 1) + +(def-joint-node ruins-tower-a-lod0-jg "aw" 53) +(def-joint-node ruins-tower-a-lod0-jg "av" 52) +(def-joint-node ruins-tower-a-lod0-jg "au" 51) +(def-joint-node ruins-tower-a-lod0-jg "at" 50) +(def-joint-node ruins-tower-a-lod0-jg "as" 49) +(def-joint-node ruins-tower-a-lod0-jg "ar" 48) +(def-joint-node ruins-tower-a-lod0-jg "aq" 47) +(def-joint-node ruins-tower-a-lod0-jg "ap" 46) +(def-joint-node ruins-tower-a-lod0-jg "ao" 45) +(def-joint-node ruins-tower-a-lod0-jg "an" 44) +(def-joint-node ruins-tower-a-lod0-jg "am" 43) +(def-joint-node ruins-tower-a-lod0-jg "al" 42) +(def-joint-node ruins-tower-a-lod0-jg "ak" 41) +(def-joint-node ruins-tower-a-lod0-jg "aj" 40) +(def-joint-node ruins-tower-a-lod0-jg "ai" 39) +(def-joint-node ruins-tower-a-lod0-jg "ah" 38) +(def-joint-node ruins-tower-a-lod0-jg "ag" 37) +(def-joint-node ruins-tower-a-lod0-jg "af" 36) +(def-joint-node ruins-tower-a-lod0-jg "ae" 35) +(def-joint-node ruins-tower-a-lod0-jg "ad" 34) +(def-joint-node ruins-tower-a-lod0-jg "ac" 33) +(def-joint-node ruins-tower-a-lod0-jg "ab" 32) +(def-joint-node ruins-tower-a-lod0-jg "aa" 31) +(def-joint-node ruins-tower-a-lod0-jg "" 30) +(def-joint-node ruins-tower-a-lod0-jg "j" 13) +(def-joint-node ruins-tower-a-lod0-jg "i" 12) +(def-joint-node ruins-tower-a-lod0-jg "h" 11) +(def-joint-node ruins-tower-a-lod0-jg "g" 10) +(def-joint-node ruins-tower-a-lod0-jg "f" 9) +(def-joint-node ruins-tower-a-lod0-jg "e" 8) +(def-joint-node ruins-tower-a-lod0-jg "d" 7) +(def-joint-node ruins-tower-a-lod0-jg "c" 6) +(def-joint-node ruins-tower-a-lod0-jg "b" 5) +(def-joint-node ruins-tower-a-lod0-jg "a" 4) +(def-joint-node ruins-tower-a-lod0-jg "main" 3) +(def-joint-node ruins-tower-a-lod0-jg "prejoint" 2) +(def-joint-node ruins-tower-a-lod0-jg "align" 1) +(def-joint-node ruins-tower-a-lod0-jg "k" 14) +(def-joint-node ruins-tower-a-lod0-jg "l" 15) +(def-joint-node ruins-tower-a-lod0-jg "m" 16) +(def-joint-node ruins-tower-a-lod0-jg "n" 17) +(def-joint-node ruins-tower-a-lod0-jg "o" 18) +(def-joint-node ruins-tower-a-lod0-jg "p" 19) +(def-joint-node ruins-tower-a-lod0-jg "q" 20) +(def-joint-node ruins-tower-a-lod0-jg "r" 21) +(def-joint-node ruins-tower-a-lod0-jg "s" 22) +(def-joint-node ruins-tower-a-lod0-jg "t" 23) +(def-joint-node ruins-tower-a-lod0-jg "u" 24) +(def-joint-node ruins-tower-a-lod0-jg "v" 25) +(def-joint-node ruins-tower-a-lod0-jg "w" 26) +(def-joint-node ruins-tower-a-lod0-jg "x" 27) +(def-joint-node ruins-tower-a-lod0-jg "y" 28) +(def-joint-node ruins-tower-a-lod0-jg "z" 29) + +(def-joint-node fort-lift-plat-lod0-jg "platscale" 7) +(def-joint-node fort-lift-plat-lod0-jg "liftlights" 6) +(def-joint-node fort-lift-plat-lod0-jg "platrotate" 5) +(def-joint-node fort-lift-plat-lod0-jg "armrotate" 4) +(def-joint-node fort-lift-plat-lod0-jg "main" 3) +(def-joint-node fort-lift-plat-lod0-jg "prejoint" 2) +(def-joint-node fort-lift-plat-lod0-jg "align" 1) + +(def-joint-node ruins-tower-rp-lod0-jg "hm_splash" 15) +(def-joint-node ruins-tower-rp-lod0-jg "hm_trailer" 14) +(def-joint-node ruins-tower-rp-lod0-jg "align" 1) +(def-joint-node ruins-tower-rp-lod0-jg "prejoint" 2) +(def-joint-node ruins-tower-rp-lod0-jg "main" 3) +(def-joint-node ruins-tower-rp-lod0-jg "a_explode" 4) +(def-joint-node ruins-tower-rp-lod0-jg "a_trailer" 5) +(def-joint-node ruins-tower-rp-lod0-jg "a_splash" 6) +(def-joint-node ruins-tower-rp-lod0-jg "as_explode" 7) +(def-joint-node ruins-tower-rp-lod0-jg "as_trailer" 8) +(def-joint-node ruins-tower-rp-lod0-jg "as_splash" 9) +(def-joint-node ruins-tower-rp-lod0-jg "at_explode" 10) +(def-joint-node ruins-tower-rp-lod0-jg "at_trailer" 11) +(def-joint-node ruins-tower-rp-lod0-jg "at_splash" 12) +(def-joint-node ruins-tower-rp-lod0-jg "hm_explode" 13) + +(def-joint-node dig-spikey-sphere-lod0-jg "main" 3) +(def-joint-node dig-spikey-sphere-lod0-jg "prejoint" 2) +(def-joint-node dig-spikey-sphere-lod0-jg "align" 1) + +(def-joint-node pecker-highres-lod0-jg "RpinkyC" 74) +(def-joint-node pecker-highres-lod0-jg "RmiddleC" 73) +(def-joint-node pecker-highres-lod0-jg "RmiddleB" 72) +(def-joint-node pecker-highres-lod0-jg "RmiddleA" 71) +(def-joint-node pecker-highres-lod0-jg "LmiddleC" 70) +(def-joint-node pecker-highres-lod0-jg "LmiddleB" 69) +(def-joint-node pecker-highres-lod0-jg "LmiddleA" 68) +(def-joint-node pecker-highres-lod0-jg "feather2B" 67) +(def-joint-node pecker-highres-lod0-jg "feather2A" 66) +(def-joint-node pecker-highres-lod0-jg "feather1B" 65) +(def-joint-node pecker-highres-lod0-jg "feather1A" 64) +(def-joint-node pecker-highres-lod0-jg "snoutC" 63) +(def-joint-node pecker-highres-lod0-jg "tailN" 62) +(def-joint-node pecker-highres-lod0-jg "tailM" 61) +(def-joint-node pecker-highres-lod0-jg "tailL" 60) +(def-joint-node pecker-highres-lod0-jg "RthumbA" 29) +(def-joint-node pecker-highres-lod0-jg "Rhand" 28) +(def-joint-node pecker-highres-lod0-jg "Relbow" 27) +(def-joint-node pecker-highres-lod0-jg "Rshoulder" 26) +(def-joint-node pecker-highres-lod0-jg "LpinkyC" 25) +(def-joint-node pecker-highres-lod0-jg "LpinkyB" 24) +(def-joint-node pecker-highres-lod0-jg "LpinkyA" 23) +(def-joint-node pecker-highres-lod0-jg "LringC" 22) +(def-joint-node pecker-highres-lod0-jg "LringB" 21) +(def-joint-node pecker-highres-lod0-jg "LringA" 20) +(def-joint-node pecker-highres-lod0-jg "LindexC" 19) +(def-joint-node pecker-highres-lod0-jg "LindexB" 18) +(def-joint-node pecker-highres-lod0-jg "LindexA" 17) +(def-joint-node pecker-highres-lod0-jg "LthumbC" 16) +(def-joint-node pecker-highres-lod0-jg "LthumbB" 15) +(def-joint-node pecker-highres-lod0-jg "LthumbA" 14) +(def-joint-node pecker-highres-lod0-jg "align" 1) +(def-joint-node pecker-highres-lod0-jg "prejoint" 2) +(def-joint-node pecker-highres-lod0-jg "main" 3) +(def-joint-node pecker-highres-lod0-jg "chest" 4) +(def-joint-node pecker-highres-lod0-jg "neck" 5) +(def-joint-node pecker-highres-lod0-jg "head" 6) +(def-joint-node pecker-highres-lod0-jg "snoutA" 7) +(def-joint-node pecker-highres-lod0-jg "snoutB" 8) +(def-joint-node pecker-highres-lod0-jg "feather3A" 9) +(def-joint-node pecker-highres-lod0-jg "feather3B" 10) +(def-joint-node pecker-highres-lod0-jg "Lshoulder" 11) +(def-joint-node pecker-highres-lod0-jg "Lelbow" 12) +(def-joint-node pecker-highres-lod0-jg "Lhand" 13) +(def-joint-node pecker-highres-lod0-jg "RthumbB" 30) +(def-joint-node pecker-highres-lod0-jg "RthumbC" 31) +(def-joint-node pecker-highres-lod0-jg "RindexA" 32) +(def-joint-node pecker-highres-lod0-jg "RindexB" 33) +(def-joint-node pecker-highres-lod0-jg "RindexC" 34) +(def-joint-node pecker-highres-lod0-jg "RringA" 35) +(def-joint-node pecker-highres-lod0-jg "RringB" 36) +(def-joint-node pecker-highres-lod0-jg "RringC" 37) +(def-joint-node pecker-highres-lod0-jg "RpinkyA" 38) +(def-joint-node pecker-highres-lod0-jg "RpinkyB" 39) +(def-joint-node pecker-highres-lod0-jg "hips" 40) +(def-joint-node pecker-highres-lod0-jg "Lthigh" 41) +(def-joint-node pecker-highres-lod0-jg "Lknee" 42) +(def-joint-node pecker-highres-lod0-jg "Lankle" 43) +(def-joint-node pecker-highres-lod0-jg "Lball" 44) +(def-joint-node pecker-highres-lod0-jg "Rthigh" 45) +(def-joint-node pecker-highres-lod0-jg "Rknee" 46) +(def-joint-node pecker-highres-lod0-jg "Rankle" 47) +(def-joint-node pecker-highres-lod0-jg "Rball" 48) +(def-joint-node pecker-highres-lod0-jg "tailA" 49) +(def-joint-node pecker-highres-lod0-jg "tailB" 50) +(def-joint-node pecker-highres-lod0-jg "tailC" 51) +(def-joint-node pecker-highres-lod0-jg "tailD" 52) +(def-joint-node pecker-highres-lod0-jg "tailE" 53) +(def-joint-node pecker-highres-lod0-jg "tailF" 54) +(def-joint-node pecker-highres-lod0-jg "tailG" 55) +(def-joint-node pecker-highres-lod0-jg "tailH" 56) +(def-joint-node pecker-highres-lod0-jg "tailI" 57) +(def-joint-node pecker-highres-lod0-jg "tailJ" 58) +(def-joint-node pecker-highres-lod0-jg "tailK" 59) + +(def-joint-node metalkor-lod0-jg "LrngclawC" 88) +(def-joint-node metalkor-lod0-jg "LrngclawB" 87) +(def-joint-node metalkor-lod0-jg "LrngclawA" 86) +(def-joint-node metalkor-lod0-jg "LinclawC" 85) +(def-joint-node metalkor-lod0-jg "LinclawB" 84) +(def-joint-node metalkor-lod0-jg "LinclawA" 83) +(def-joint-node metalkor-lod0-jg "LtmclawC" 82) +(def-joint-node metalkor-lod0-jg "LtmclawB" 81) +(def-joint-node metalkor-lod0-jg "LtmclawA" 80) +(def-joint-node metalkor-lod0-jg "RrngclawC" 79) +(def-joint-node metalkor-lod0-jg "RrngclawB" 78) +(def-joint-node metalkor-lod0-jg "RrngclawA" 77) +(def-joint-node metalkor-lod0-jg "RinclawC" 76) +(def-joint-node metalkor-lod0-jg "RinclawB" 75) +(def-joint-node metalkor-lod0-jg "RinclawA" 74) +(def-joint-node metalkor-lod0-jg "RtmclawC" 73) +(def-joint-node metalkor-lod0-jg "RtmclawB" 72) +(def-joint-node metalkor-lod0-jg "RtmclawA" 71) +(def-joint-node metalkor-lod0-jg "Rspinshot1" 70) +(def-joint-node metalkor-lod0-jg "Rtbspin" 69) +(def-joint-node metalkor-lod0-jg "Rshotbase" 68) +(def-joint-node metalkor-lod0-jg "Lspinshot1" 67) +(def-joint-node metalkor-lod0-jg "Ltbspin" 66) +(def-joint-node metalkor-lod0-jg "Lshotbase" 65) +(def-joint-node metalkor-lod0-jg "Lspinshot2" 64) +(def-joint-node metalkor-lod0-jg "Lbbspin" 63) +(def-joint-node metalkor-lod0-jg "Lbbshotbase" 62) +(def-joint-node metalkor-lod0-jg "Rspinshot2" 61) +(def-joint-node metalkor-lod0-jg "Rbbspin" 60) +(def-joint-node metalkor-lod0-jg "RffeelerE" 29) +(def-joint-node metalkor-lod0-jg "RffeelerH" 28) +(def-joint-node metalkor-lod0-jg "RffeelerG" 27) +(def-joint-node metalkor-lod0-jg "LsidefeelA" 26) +(def-joint-node metalkor-lod0-jg "LfrfeelA" 25) +(def-joint-node metalkor-lod0-jg "RfrfeelA" 24) +(def-joint-node metalkor-lod0-jg "RsidefeelA" 23) +(def-joint-node metalkor-lod0-jg "lowlip" 22) +(def-joint-node metalkor-lod0-jg "lowerjaw" 21) +(def-joint-node metalkor-lod0-jg "topjaw" 20) +(def-joint-node metalkor-lod0-jg "RpinchC" 19) +(def-joint-node metalkor-lod0-jg "RpinchB" 18) +(def-joint-node metalkor-lod0-jg "RpinchA" 17) +(def-joint-node metalkor-lod0-jg "LpinchC" 16) +(def-joint-node metalkor-lod0-jg "LpinchB" 15) +(def-joint-node metalkor-lod0-jg "LpinchA" 14) +(def-joint-node metalkor-lod0-jg "align" 1) +(def-joint-node metalkor-lod0-jg "prejoint" 2) +(def-joint-node metalkor-lod0-jg "main" 3) +(def-joint-node metalkor-lod0-jg "chest" 4) +(def-joint-node metalkor-lod0-jg "upper" 5) +(def-joint-node metalkor-lod0-jg "neck" 6) +(def-joint-node metalkor-lod0-jg "head" 7) +(def-joint-node metalkor-lod0-jg "Rshoulder" 8) +(def-joint-node metalkor-lod0-jg "Relbow" 9) +(def-joint-node metalkor-lod0-jg "Rhand" 10) +(def-joint-node metalkor-lod0-jg "Lshoulder" 11) +(def-joint-node metalkor-lod0-jg "Lelbow" 12) +(def-joint-node metalkor-lod0-jg "Lhand" 13) +(def-joint-node metalkor-lod0-jg "RffeelerF" 30) +(def-joint-node metalkor-lod0-jg "RffeelerC" 31) +(def-joint-node metalkor-lod0-jg "RffeelerD" 32) +(def-joint-node metalkor-lod0-jg "RffeelerA" 33) +(def-joint-node metalkor-lod0-jg "RffeelerB" 34) +(def-joint-node metalkor-lod0-jg "LffeelerG" 35) +(def-joint-node metalkor-lod0-jg "LffeelerH" 36) +(def-joint-node metalkor-lod0-jg "LffeelerE" 37) +(def-joint-node metalkor-lod0-jg "LffeelerF" 38) +(def-joint-node metalkor-lod0-jg "LffeelerC" 39) +(def-joint-node metalkor-lod0-jg "LffeelerD" 40) +(def-joint-node metalkor-lod0-jg "LffeelerA" 41) +(def-joint-node metalkor-lod0-jg "LffeelerB" 42) +(def-joint-node metalkor-lod0-jg "tongueA" 43) +(def-joint-node metalkor-lod0-jg "tongueB" 44) +(def-joint-node metalkor-lod0-jg "tongueC" 45) +(def-joint-node metalkor-lod0-jg "LFgemholdA" 46) +(def-joint-node metalkor-lod0-jg "LFgemholdB" 47) +(def-joint-node metalkor-lod0-jg "LMgemholdA" 48) +(def-joint-node metalkor-lod0-jg "LMgemholdB" 49) +(def-joint-node metalkor-lod0-jg "LBgemholdA" 50) +(def-joint-node metalkor-lod0-jg "LBgemholdB" 51) +(def-joint-node metalkor-lod0-jg "RFgemholdA" 52) +(def-joint-node metalkor-lod0-jg "RFgemholdB" 53) +(def-joint-node metalkor-lod0-jg "RMgemholdA" 54) +(def-joint-node metalkor-lod0-jg "RMgemholdB" 55) +(def-joint-node metalkor-lod0-jg "RBgemholdA" 56) +(def-joint-node metalkor-lod0-jg "RBgemholdB" 57) +(def-joint-node metalkor-lod0-jg "Necksack" 58) +(def-joint-node metalkor-lod0-jg "Rbbshotbase" 59) + +(def-joint-node metalkor-spinner-lod0-jg "base" 12) +(def-joint-node metalkor-spinner-lod0-jg "H" 11) +(def-joint-node metalkor-spinner-lod0-jg "G" 10) +(def-joint-node metalkor-spinner-lod0-jg "F" 9) +(def-joint-node metalkor-spinner-lod0-jg "E" 8) +(def-joint-node metalkor-spinner-lod0-jg "D" 7) +(def-joint-node metalkor-spinner-lod0-jg "C" 6) +(def-joint-node metalkor-spinner-lod0-jg "B" 5) +(def-joint-node metalkor-spinner-lod0-jg "A" 4) +(def-joint-node metalkor-spinner-lod0-jg "target" 3) +(def-joint-node metalkor-spinner-lod0-jg "prejoint" 2) +(def-joint-node metalkor-spinner-lod0-jg "align" 1) + +(def-joint-node wasp-lod0-jg "RmiddleB" 37) +(def-joint-node wasp-lod0-jg "RmiddleA" 36) +(def-joint-node wasp-lod0-jg "RthumbB" 35) +(def-joint-node wasp-lod0-jg "RthumbA" 34) +(def-joint-node wasp-lod0-jg "LmiddleB" 33) +(def-joint-node wasp-lod0-jg "LmiddleA" 32) +(def-joint-node wasp-lod0-jg "LthumbB" 31) +(def-joint-node wasp-lod0-jg "LthumbA" 30) +(def-joint-node wasp-lod0-jg "Rturbine" 13) +(def-joint-node wasp-lod0-jg "Rengine" 12) +(def-joint-node wasp-lod0-jg "RengineBase" 11) +(def-joint-node wasp-lod0-jg "Lturbine" 10) +(def-joint-node wasp-lod0-jg "Lengine" 9) +(def-joint-node wasp-lod0-jg "LengineBase" 8) +(def-joint-node wasp-lod0-jg "head" 7) +(def-joint-node wasp-lod0-jg "neckB" 6) +(def-joint-node wasp-lod0-jg "neckA" 5) +(def-joint-node wasp-lod0-jg "chest" 4) +(def-joint-node wasp-lod0-jg "main" 3) +(def-joint-node wasp-lod0-jg "prejoint" 2) +(def-joint-node wasp-lod0-jg "align" 1) +(def-joint-node wasp-lod0-jg "hips" 14) +(def-joint-node wasp-lod0-jg "gunBase" 15) +(def-joint-node wasp-lod0-jg "LgunSwivel" 16) +(def-joint-node wasp-lod0-jg "Lrecoil" 17) +(def-joint-node wasp-lod0-jg "LgunBarrell" 18) +(def-joint-node wasp-lod0-jg "LgunTip" 19) +(def-joint-node wasp-lod0-jg "RgunSwivel" 20) +(def-joint-node wasp-lod0-jg "Rrecoil" 21) +(def-joint-node wasp-lod0-jg "RgunBarrell" 22) +(def-joint-node wasp-lod0-jg "RgunTip" 23) +(def-joint-node wasp-lod0-jg "Lshoulder" 24) +(def-joint-node wasp-lod0-jg "Lelbow" 25) +(def-joint-node wasp-lod0-jg "Lhand" 26) +(def-joint-node wasp-lod0-jg "Rshoulder" 27) +(def-joint-node wasp-lod0-jg "Relbow" 28) +(def-joint-node wasp-lod0-jg "Rhand" 29) + +(def-joint-node metalkor-lowtorso-lod0-jg "backplateA" 42) +(def-joint-node metalkor-lowtorso-lod0-jg "Lspinshot3" 41) +(def-joint-node metalkor-lowtorso-lod0-jg "LspincvrA" 40) +(def-joint-node metalkor-lowtorso-lod0-jg "LshotbaseA1" 39) +(def-joint-node metalkor-lowtorso-lod0-jg "Rspinshot3" 38) +(def-joint-node metalkor-lowtorso-lod0-jg "RspincvrA" 37) +(def-joint-node metalkor-lowtorso-lod0-jg "RsphotbaseA1" 36) +(def-joint-node metalkor-lowtorso-lod0-jg "backplateC" 35) +(def-joint-node metalkor-lowtorso-lod0-jg "backplateB" 34) +(def-joint-node metalkor-lowtorso-lod0-jg "Rspinshot4" 33) +(def-joint-node metalkor-lowtorso-lod0-jg "RspincvrB" 32) +(def-joint-node metalkor-lowtorso-lod0-jg "RshotbaseB1" 31) +(def-joint-node metalkor-lowtorso-lod0-jg "Lspinshot4" 30) +(def-joint-node metalkor-lowtorso-lod0-jg "tailF" 13) +(def-joint-node metalkor-lowtorso-lod0-jg "tailE" 12) +(def-joint-node metalkor-lowtorso-lod0-jg "tailD" 11) +(def-joint-node metalkor-lowtorso-lod0-jg "tailC" 10) +(def-joint-node metalkor-lowtorso-lod0-jg "tailB" 9) +(def-joint-node metalkor-lowtorso-lod0-jg "tailA" 8) +(def-joint-node metalkor-lowtorso-lod0-jg "backB" 7) +(def-joint-node metalkor-lowtorso-lod0-jg "backA" 6) +(def-joint-node metalkor-lowtorso-lod0-jg "lower" 5) +(def-joint-node metalkor-lowtorso-lod0-jg "chest" 4) +(def-joint-node metalkor-lowtorso-lod0-jg "main" 3) +(def-joint-node metalkor-lowtorso-lod0-jg "prejoint" 2) +(def-joint-node metalkor-lowtorso-lod0-jg "align" 1) +(def-joint-node metalkor-lowtorso-lod0-jg "tailG" 14) +(def-joint-node metalkor-lowtorso-lod0-jg "tailH" 15) +(def-joint-node metalkor-lowtorso-lod0-jg "tailI" 16) +(def-joint-node metalkor-lowtorso-lod0-jg "tailJ" 17) +(def-joint-node metalkor-lowtorso-lod0-jg "tailK" 18) +(def-joint-node metalkor-lowtorso-lod0-jg "tailL" 19) +(def-joint-node metalkor-lowtorso-lod0-jg "tailM" 20) +(def-joint-node metalkor-lowtorso-lod0-jg "tailN" 21) +(def-joint-node metalkor-lowtorso-lod0-jg "tailO" 22) +(def-joint-node metalkor-lowtorso-lod0-jg "tailP" 23) +(def-joint-node metalkor-lowtorso-lod0-jg "tailQ" 24) +(def-joint-node metalkor-lowtorso-lod0-jg "tailR" 25) +(def-joint-node metalkor-lowtorso-lod0-jg "tailS" 26) +(def-joint-node metalkor-lowtorso-lod0-jg "tailT" 27) +(def-joint-node metalkor-lowtorso-lod0-jg "LshotbaseB1" 28) +(def-joint-node metalkor-lowtorso-lod0-jg "LspincvrB" 29) + +(def-joint-node squid-tentacle-shield-lod0-jg "tentacleBB" 29) +(def-joint-node squid-tentacle-shield-lod0-jg "tentacleCC" 28) +(def-joint-node squid-tentacle-shield-lod0-jg "tentacleDD" 27) +(def-joint-node squid-tentacle-shield-lod0-jg "tentacleGGG" 26) +(def-joint-node squid-tentacle-shield-lod0-jg "tentacleGG" 25) +(def-joint-node squid-tentacle-shield-lod0-jg "tentacleII" 24) +(def-joint-node squid-tentacle-shield-lod0-jg "tentacleJJJ" 23) +(def-joint-node squid-tentacle-shield-lod0-jg "tentacleJJ" 22) +(def-joint-node squid-tentacle-shield-lod0-jg "tentacleKKKK" 21) +(def-joint-node squid-tentacle-shield-lod0-jg "tentacleKKK" 20) +(def-joint-node squid-tentacle-shield-lod0-jg "tentacleKK" 19) +(def-joint-node squid-tentacle-shield-lod0-jg "tentaclePick4" 18) +(def-joint-node squid-tentacle-shield-lod0-jg "tentaclePick3" 17) +(def-joint-node squid-tentacle-shield-lod0-jg "tentaclePick2" 16) +(def-joint-node squid-tentacle-shield-lod0-jg "tentaclePick1" 15) +(def-joint-node squid-tentacle-shield-lod0-jg "tentaclePick" 14) +(def-joint-node squid-tentacle-shield-lod0-jg "align" 1) +(def-joint-node squid-tentacle-shield-lod0-jg "prejoint" 2) +(def-joint-node squid-tentacle-shield-lod0-jg "tentacleA" 3) +(def-joint-node squid-tentacle-shield-lod0-jg "tentacleB" 4) +(def-joint-node squid-tentacle-shield-lod0-jg "tentacleC" 5) +(def-joint-node squid-tentacle-shield-lod0-jg "tentacleD" 6) +(def-joint-node squid-tentacle-shield-lod0-jg "tentacleE" 7) +(def-joint-node squid-tentacle-shield-lod0-jg "tentacleF" 8) +(def-joint-node squid-tentacle-shield-lod0-jg "tentacleG" 9) +(def-joint-node squid-tentacle-shield-lod0-jg "tentacleH" 10) +(def-joint-node squid-tentacle-shield-lod0-jg "tentacleI" 11) +(def-joint-node squid-tentacle-shield-lod0-jg "tentacleJ" 12) +(def-joint-node squid-tentacle-shield-lod0-jg "tentacleK" 13) + +(def-joint-node wasp-explode-lod0-jg "i" 11) +(def-joint-node wasp-explode-lod0-jg "h" 10) +(def-joint-node wasp-explode-lod0-jg "g" 9) +(def-joint-node wasp-explode-lod0-jg "f" 8) +(def-joint-node wasp-explode-lod0-jg "e" 7) +(def-joint-node wasp-explode-lod0-jg "d" 6) +(def-joint-node wasp-explode-lod0-jg "c" 5) +(def-joint-node wasp-explode-lod0-jg "b" 4) +(def-joint-node wasp-explode-lod0-jg "a" 3) +(def-joint-node wasp-explode-lod0-jg "prejoint" 2) +(def-joint-node wasp-explode-lod0-jg "align" 1) + +(def-joint-node dig-log-lod0-jg "boneless" 3) +(def-joint-node dig-log-lod0-jg "prejoint" 2) +(def-joint-node dig-log-lod0-jg "align" 1) + +(def-joint-node metalkor-egg-lod0-jg "F" 12) +(def-joint-node metalkor-egg-lod0-jg "E" 11) +(def-joint-node metalkor-egg-lod0-jg "D" 10) +(def-joint-node metalkor-egg-lod0-jg "C" 9) +(def-joint-node metalkor-egg-lod0-jg "B" 8) +(def-joint-node metalkor-egg-lod0-jg "A" 7) +(def-joint-node metalkor-egg-lod0-jg "base" 6) +(def-joint-node metalkor-egg-lod0-jg "top" 5) +(def-joint-node metalkor-egg-lod0-jg "flitter" 4) +(def-joint-node metalkor-egg-lod0-jg "main" 3) +(def-joint-node metalkor-egg-lod0-jg "prejoint" 2) +(def-joint-node metalkor-egg-lod0-jg "align" 1) + +(def-joint-node metalkor-rays-lod0-jg "goo1" 34) +(def-joint-node metalkor-rays-lod0-jg "goo" 33) +(def-joint-node metalkor-rays-lod0-jg "upperRaysChest" 32) +(def-joint-node metalkor-rays-lod0-jg "upperRaysSpinners" 31) +(def-joint-node metalkor-rays-lod0-jg "upper" 30) +(def-joint-node metalkor-rays-lod0-jg "lbackwingC" 13) +(def-joint-node metalkor-rays-lod0-jg "goo12" 12) +(def-joint-node metalkor-rays-lod0-jg "Relbow" 11) +(def-joint-node metalkor-rays-lod0-jg "goo6" 10) +(def-joint-node metalkor-rays-lod0-jg "RnadRays" 9) +(def-joint-node metalkor-rays-lod0-jg "Rnad" 8) +(def-joint-node metalkor-rays-lod0-jg "goo5" 7) +(def-joint-node metalkor-rays-lod0-jg "LnadRays" 6) +(def-joint-node metalkor-rays-lod0-jg "Lnad" 5) +(def-joint-node metalkor-rays-lod0-jg "goo2" 4) +(def-joint-node metalkor-rays-lod0-jg "head" 3) +(def-joint-node metalkor-rays-lod0-jg "prejoint" 2) +(def-joint-node metalkor-rays-lod0-jg "align" 1) +(def-joint-node metalkor-rays-lod0-jg "goo15" 14) +(def-joint-node metalkor-rays-lod0-jg "lfrwingC" 15) +(def-joint-node metalkor-rays-lod0-jg "goo13" 16) +(def-joint-node metalkor-rays-lod0-jg "rfrwingC" 17) +(def-joint-node metalkor-rays-lod0-jg "goo14" 18) +(def-joint-node metalkor-rays-lod0-jg "rbackwingC" 19) +(def-joint-node metalkor-rays-lod0-jg "goo16" 20) +(def-joint-node metalkor-rays-lod0-jg "tailB" 21) +(def-joint-node metalkor-rays-lod0-jg "goo8" 22) +(def-joint-node metalkor-rays-lod0-jg "goo7" 23) +(def-joint-node metalkor-rays-lod0-jg "tailD" 24) +(def-joint-node metalkor-rays-lod0-jg "goo10" 25) +(def-joint-node metalkor-rays-lod0-jg "goo9" 26) +(def-joint-node metalkor-rays-lod0-jg "main" 27) +(def-joint-node metalkor-rays-lod0-jg "goo3" 28) +(def-joint-node metalkor-rays-lod0-jg "goo4" 29) + +(def-joint-node ecowell-b-lod0-jg "ay" 54) +(def-joint-node ecowell-b-lod0-jg "ax" 53) +(def-joint-node ecowell-b-lod0-jg "aw" 52) +(def-joint-node ecowell-b-lod0-jg "av" 51) +(def-joint-node ecowell-b-lod0-jg "au" 50) +(def-joint-node ecowell-b-lod0-jg "at" 49) +(def-joint-node ecowell-b-lod0-jg "as" 48) +(def-joint-node ecowell-b-lod0-jg "ar" 47) +(def-joint-node ecowell-b-lod0-jg "aq" 46) +(def-joint-node ecowell-b-lod0-jg "ap" 45) +(def-joint-node ecowell-b-lod0-jg "ao" 44) +(def-joint-node ecowell-b-lod0-jg "an" 43) +(def-joint-node ecowell-b-lod0-jg "am" 42) +(def-joint-node ecowell-b-lod0-jg "al" 41) +(def-joint-node ecowell-b-lod0-jg "ak" 40) +(def-joint-node ecowell-b-lod0-jg "aj" 39) +(def-joint-node ecowell-b-lod0-jg "ai" 38) +(def-joint-node ecowell-b-lod0-jg "ah" 37) +(def-joint-node ecowell-b-lod0-jg "ag" 36) +(def-joint-node ecowell-b-lod0-jg "af" 35) +(def-joint-node ecowell-b-lod0-jg "ae" 34) +(def-joint-node ecowell-b-lod0-jg "ad" 33) +(def-joint-node ecowell-b-lod0-jg "ac" 32) +(def-joint-node ecowell-b-lod0-jg "ab" 31) +(def-joint-node ecowell-b-lod0-jg "aa" 30) +(def-joint-node ecowell-b-lod0-jg "k" 13) +(def-joint-node ecowell-b-lod0-jg "j" 12) +(def-joint-node ecowell-b-lod0-jg "i" 11) +(def-joint-node ecowell-b-lod0-jg "h" 10) +(def-joint-node ecowell-b-lod0-jg "g" 9) +(def-joint-node ecowell-b-lod0-jg "f" 8) +(def-joint-node ecowell-b-lod0-jg "e" 7) +(def-joint-node ecowell-b-lod0-jg "d" 6) +(def-joint-node ecowell-b-lod0-jg "c" 5) +(def-joint-node ecowell-b-lod0-jg "b" 4) +(def-joint-node ecowell-b-lod0-jg "a" 3) +(def-joint-node ecowell-b-lod0-jg "prejoint" 2) +(def-joint-node ecowell-b-lod0-jg "align" 1) +(def-joint-node ecowell-b-lod0-jg "l" 14) +(def-joint-node ecowell-b-lod0-jg "m" 15) +(def-joint-node ecowell-b-lod0-jg "n" 16) +(def-joint-node ecowell-b-lod0-jg "o" 17) +(def-joint-node ecowell-b-lod0-jg "p" 18) +(def-joint-node ecowell-b-lod0-jg "q" 19) +(def-joint-node ecowell-b-lod0-jg "r" 20) +(def-joint-node ecowell-b-lod0-jg "s" 21) +(def-joint-node ecowell-b-lod0-jg "t" 22) +(def-joint-node ecowell-b-lod0-jg "u" 23) +(def-joint-node ecowell-b-lod0-jg "v" 24) +(def-joint-node ecowell-b-lod0-jg "w" 25) +(def-joint-node ecowell-b-lod0-jg "x" 26) +(def-joint-node ecowell-b-lod0-jg "y" 27) +(def-joint-node ecowell-b-lod0-jg "z" 28) +(def-joint-node ecowell-b-lod0-jg "" 29) + +(def-joint-node metalkor-fma-spinner-lod0-jg "base" 12) +(def-joint-node metalkor-fma-spinner-lod0-jg "H" 11) +(def-joint-node metalkor-fma-spinner-lod0-jg "G" 10) +(def-joint-node metalkor-fma-spinner-lod0-jg "F" 9) +(def-joint-node metalkor-fma-spinner-lod0-jg "E" 8) +(def-joint-node metalkor-fma-spinner-lod0-jg "D" 7) +(def-joint-node metalkor-fma-spinner-lod0-jg "C" 6) +(def-joint-node metalkor-fma-spinner-lod0-jg "B" 5) +(def-joint-node metalkor-fma-spinner-lod0-jg "A" 4) +(def-joint-node metalkor-fma-spinner-lod0-jg "target" 3) +(def-joint-node metalkor-fma-spinner-lod0-jg "prejoint" 2) +(def-joint-node metalkor-fma-spinner-lod0-jg "align" 1) + +(def-joint-node prsn-daxter-plat-lod0-jg "platjet_4" 7) +(def-joint-node prsn-daxter-plat-lod0-jg "platjet_3" 6) +(def-joint-node prsn-daxter-plat-lod0-jg "platjet_2" 5) +(def-joint-node prsn-daxter-plat-lod0-jg "platjet_1" 4) +(def-joint-node prsn-daxter-plat-lod0-jg "main" 3) +(def-joint-node prsn-daxter-plat-lod0-jg "prejoint" 2) +(def-joint-node prsn-daxter-plat-lod0-jg "align" 1) + +(def-joint-node kor-transform-lod0-jg "staff" 86) +(def-joint-node kor-transform-lod0-jg "bagB" 85) +(def-joint-node kor-transform-lod0-jg "bagA" 84) +(def-joint-node kor-transform-lod0-jg "bktunicB" 83) +(def-joint-node kor-transform-lod0-jg "RpinkyC" 82) +(def-joint-node kor-transform-lod0-jg "RmiddleC" 81) +(def-joint-node kor-transform-lod0-jg "RmiddleB" 80) +(def-joint-node kor-transform-lod0-jg "RmiddleA" 79) +(def-joint-node kor-transform-lod0-jg "RthumbB" 78) +(def-joint-node kor-transform-lod0-jg "LpinkyC" 77) +(def-joint-node kor-transform-lod0-jg "LmiddleC" 76) +(def-joint-node kor-transform-lod0-jg "LmiddleB" 75) +(def-joint-node kor-transform-lod0-jg "LmiddleA" 74) +(def-joint-node kor-transform-lod0-jg "LthumbB" 73) +(def-joint-node kor-transform-lod0-jg "Rbeardd" 72) +(def-joint-node kor-transform-lod0-jg "Rbeardc" 71) +(def-joint-node kor-transform-lod0-jg "Rbeardb" 70) +(def-joint-node kor-transform-lod0-jg "Rbearda" 69) +(def-joint-node kor-transform-lod0-jg "Lbeardd" 68) +(def-joint-node kor-transform-lod0-jg "Lbeardc" 67) +(def-joint-node kor-transform-lod0-jg "Lbeardb" 66) +(def-joint-node kor-transform-lod0-jg "Lbearda" 65) +(def-joint-node kor-transform-lod0-jg "rtburnB" 64) +(def-joint-node kor-transform-lod0-jg "rtburnA" 63) +(def-joint-node kor-transform-lod0-jg "ltburnB" 62) +(def-joint-node kor-transform-lod0-jg "ltburnA" 61) +(def-joint-node kor-transform-lod0-jg "hatgemB" 60) +(def-joint-node kor-transform-lod0-jg "RindexA" 29) +(def-joint-node kor-transform-lod0-jg "RthumbA" 28) +(def-joint-node kor-transform-lod0-jg "Rhand" 27) +(def-joint-node kor-transform-lod0-jg "Relbow" 26) +(def-joint-node kor-transform-lod0-jg "Rshoulder" 25) +(def-joint-node kor-transform-lod0-jg "LpinkyB" 24) +(def-joint-node kor-transform-lod0-jg "LpinkyA" 23) +(def-joint-node kor-transform-lod0-jg "LringC" 22) +(def-joint-node kor-transform-lod0-jg "LringB" 21) +(def-joint-node kor-transform-lod0-jg "LringA" 20) +(def-joint-node kor-transform-lod0-jg "LindexC" 19) +(def-joint-node kor-transform-lod0-jg "LindexB" 18) +(def-joint-node kor-transform-lod0-jg "LindexA" 17) +(def-joint-node kor-transform-lod0-jg "LthumbA" 16) +(def-joint-node kor-transform-lod0-jg "Lhand" 15) +(def-joint-node kor-transform-lod0-jg "Lelbow" 14) +(def-joint-node kor-transform-lod0-jg "align" 1) +(def-joint-node kor-transform-lod0-jg "prejoint" 2) +(def-joint-node kor-transform-lod0-jg "main" 3) +(def-joint-node kor-transform-lod0-jg "chest" 4) +(def-joint-node kor-transform-lod0-jg "neck" 5) +(def-joint-node kor-transform-lod0-jg "head" 6) +(def-joint-node kor-transform-lod0-jg "hairA" 7) +(def-joint-node kor-transform-lod0-jg "hairB" 8) +(def-joint-node kor-transform-lod0-jg "leftearA" 9) +(def-joint-node kor-transform-lod0-jg "leftearB" 10) +(def-joint-node kor-transform-lod0-jg "rightearA" 11) +(def-joint-node kor-transform-lod0-jg "rightearB" 12) +(def-joint-node kor-transform-lod0-jg "Lshoulder" 13) +(def-joint-node kor-transform-lod0-jg "RindexB" 30) +(def-joint-node kor-transform-lod0-jg "RindexC" 31) +(def-joint-node kor-transform-lod0-jg "RringA" 32) +(def-joint-node kor-transform-lod0-jg "RringB" 33) +(def-joint-node kor-transform-lod0-jg "RringC" 34) +(def-joint-node kor-transform-lod0-jg "RpinkyA" 35) +(def-joint-node kor-transform-lod0-jg "RpinkyB" 36) +(def-joint-node kor-transform-lod0-jg "necklaceA" 37) +(def-joint-node kor-transform-lod0-jg "necklaceB" 38) +(def-joint-node kor-transform-lod0-jg "hoodA" 39) +(def-joint-node kor-transform-lod0-jg "hoodB" 40) +(def-joint-node kor-transform-lod0-jg "hoodC" 41) +(def-joint-node kor-transform-lod0-jg "frtunicA" 42) +(def-joint-node kor-transform-lod0-jg "frtunicB" 43) +(def-joint-node kor-transform-lod0-jg "frtunicC" 44) +(def-joint-node kor-transform-lod0-jg "bktunicA" 45) +(def-joint-node kor-transform-lod0-jg "Lcuffa" 46) +(def-joint-node kor-transform-lod0-jg "Lcuffb" 47) +(def-joint-node kor-transform-lod0-jg "Rcuffa" 48) +(def-joint-node kor-transform-lod0-jg "Rcuffb" 49) +(def-joint-node kor-transform-lod0-jg "hips" 50) +(def-joint-node kor-transform-lod0-jg "Lthigh" 51) +(def-joint-node kor-transform-lod0-jg "Lknee" 52) +(def-joint-node kor-transform-lod0-jg "Lankle" 53) +(def-joint-node kor-transform-lod0-jg "Lball" 54) +(def-joint-node kor-transform-lod0-jg "Rthigh" 55) +(def-joint-node kor-transform-lod0-jg "Rknee" 56) +(def-joint-node kor-transform-lod0-jg "Rankle" 57) +(def-joint-node kor-transform-lod0-jg "Rball" 58) +(def-joint-node kor-transform-lod0-jg "hatgemA" 59) + +(def-joint-node hip-mirror-lod0-jg "main" 3) +(def-joint-node hip-mirror-lod0-jg "prejoint" 2) +(def-joint-node hip-mirror-lod0-jg "align" 1) + +(def-joint-node kor-break-lod0-jg "bq" 72) +(def-joint-node kor-break-lod0-jg "bp" 71) +(def-joint-node kor-break-lod0-jg "bo" 70) +(def-joint-node kor-break-lod0-jg "bn" 69) +(def-joint-node kor-break-lod0-jg "bm" 68) +(def-joint-node kor-break-lod0-jg "bl" 67) +(def-joint-node kor-break-lod0-jg "bk" 66) +(def-joint-node kor-break-lod0-jg "bj" 65) +(def-joint-node kor-break-lod0-jg "bi" 64) +(def-joint-node kor-break-lod0-jg "bh" 63) +(def-joint-node kor-break-lod0-jg "bg" 62) +(def-joint-node kor-break-lod0-jg "bf" 61) +(def-joint-node kor-break-lod0-jg "be" 60) +(def-joint-node kor-break-lod0-jg "zz" 29) +(def-joint-node kor-break-lod0-jg "z" 28) +(def-joint-node kor-break-lod0-jg "y" 27) +(def-joint-node kor-break-lod0-jg "x" 26) +(def-joint-node kor-break-lod0-jg "w" 25) +(def-joint-node kor-break-lod0-jg "v" 24) +(def-joint-node kor-break-lod0-jg "u" 23) +(def-joint-node kor-break-lod0-jg "t" 22) +(def-joint-node kor-break-lod0-jg "s" 21) +(def-joint-node kor-break-lod0-jg "r" 20) +(def-joint-node kor-break-lod0-jg "q" 19) +(def-joint-node kor-break-lod0-jg "p" 18) +(def-joint-node kor-break-lod0-jg "o" 17) +(def-joint-node kor-break-lod0-jg "n" 16) +(def-joint-node kor-break-lod0-jg "m" 15) +(def-joint-node kor-break-lod0-jg "l" 14) +(def-joint-node kor-break-lod0-jg "align" 1) +(def-joint-node kor-break-lod0-jg "prejoint" 2) +(def-joint-node kor-break-lod0-jg "main" 3) +(def-joint-node kor-break-lod0-jg "b" 4) +(def-joint-node kor-break-lod0-jg "c" 5) +(def-joint-node kor-break-lod0-jg "d" 6) +(def-joint-node kor-break-lod0-jg "e" 7) +(def-joint-node kor-break-lod0-jg "f" 8) +(def-joint-node kor-break-lod0-jg "g" 9) +(def-joint-node kor-break-lod0-jg "h" 10) +(def-joint-node kor-break-lod0-jg "i" 11) +(def-joint-node kor-break-lod0-jg "j" 12) +(def-joint-node kor-break-lod0-jg "k" 13) +(def-joint-node kor-break-lod0-jg "aa" 30) +(def-joint-node kor-break-lod0-jg "ab" 31) +(def-joint-node kor-break-lod0-jg "ac" 32) +(def-joint-node kor-break-lod0-jg "ad" 33) +(def-joint-node kor-break-lod0-jg "ae" 34) +(def-joint-node kor-break-lod0-jg "af" 35) +(def-joint-node kor-break-lod0-jg "ag" 36) +(def-joint-node kor-break-lod0-jg "ah" 37) +(def-joint-node kor-break-lod0-jg "ai" 38) +(def-joint-node kor-break-lod0-jg "aj" 39) +(def-joint-node kor-break-lod0-jg "ak" 40) +(def-joint-node kor-break-lod0-jg "al" 41) +(def-joint-node kor-break-lod0-jg "am" 42) +(def-joint-node kor-break-lod0-jg "an" 43) +(def-joint-node kor-break-lod0-jg "ao" 44) +(def-joint-node kor-break-lod0-jg "ap" 45) +(def-joint-node kor-break-lod0-jg "aq" 46) +(def-joint-node kor-break-lod0-jg "ar" 47) +(def-joint-node kor-break-lod0-jg "as" 48) +(def-joint-node kor-break-lod0-jg "at" 49) +(def-joint-node kor-break-lod0-jg "au" 50) +(def-joint-node kor-break-lod0-jg "av" 51) +(def-joint-node kor-break-lod0-jg "aw" 52) +(def-joint-node kor-break-lod0-jg "ax" 53) +(def-joint-node kor-break-lod0-jg "ay" 54) +(def-joint-node kor-break-lod0-jg "az" 55) +(def-joint-node kor-break-lod0-jg "ba" 56) +(def-joint-node kor-break-lod0-jg "bb" 57) +(def-joint-node kor-break-lod0-jg "bc" 58) +(def-joint-node kor-break-lod0-jg "bd" 59) + +(def-joint-node water-anim-ctypal-smlground-pool-lod0-jg "boneless" 3) +(def-joint-node water-anim-ctypal-smlground-pool-lod0-jg "prejoint" 2) +(def-joint-node water-anim-ctypal-smlground-pool-lod0-jg "align" 1) + +(def-joint-node vin-door-ctyinda-lod0-jg "Rdoor" 5) +(def-joint-node vin-door-ctyinda-lod0-jg "Ldoor" 4) +(def-joint-node vin-door-ctyinda-lod0-jg "main" 3) +(def-joint-node vin-door-ctyinda-lod0-jg "prejoint" 2) +(def-joint-node vin-door-ctyinda-lod0-jg "align" 1) + +(def-joint-node heart-mar-lod0-jg "armD" 7) +(def-joint-node heart-mar-lod0-jg "armC" 6) +(def-joint-node heart-mar-lod0-jg "armB" 5) +(def-joint-node heart-mar-lod0-jg "armA" 4) +(def-joint-node heart-mar-lod0-jg "main" 3) +(def-joint-node heart-mar-lod0-jg "prejoint" 2) +(def-joint-node heart-mar-lod0-jg "align" 1) + +(def-joint-node bombbot-lod0-jg "left_front_knee" 19) +(def-joint-node bombbot-lod0-jg "left_front_thigh" 18) +(def-joint-node bombbot-lod0-jg "right_front_knee" 17) +(def-joint-node bombbot-lod0-jg "right_front_thigh" 16) +(def-joint-node bombbot-lod0-jg "right_hind_knee" 15) +(def-joint-node bombbot-lod0-jg "right_hind_thigh" 14) +(def-joint-node bombbot-lod0-jg "align" 1) +(def-joint-node bombbot-lod0-jg "prejoint" 2) +(def-joint-node bombbot-lod0-jg "main" 3) +(def-joint-node bombbot-lod0-jg "top" 4) +(def-joint-node bombbot-lod0-jg "gun_swivel" 5) +(def-joint-node bombbot-lod0-jg "gun" 6) +(def-joint-node bombbot-lod0-jg "gun_right" 7) +(def-joint-node bombbot-lod0-jg "gun_left" 8) +(def-joint-node bombbot-lod0-jg "front_left" 9) +(def-joint-node bombbot-lod0-jg "front_right" 10) +(def-joint-node bombbot-lod0-jg "eye" 11) +(def-joint-node bombbot-lod0-jg "left_hind_thigh" 12) +(def-joint-node bombbot-lod0-jg "left_hind_knee" 13) + +(def-joint-node cas-conveyor-switch-lod0-jg "lightning_c" 6) +(def-joint-node cas-conveyor-switch-lod0-jg "lightning_b" 5) +(def-joint-node cas-conveyor-switch-lod0-jg "lightning_a" 4) +(def-joint-node cas-conveyor-switch-lod0-jg "main" 3) +(def-joint-node cas-conveyor-switch-lod0-jg "prejoint" 2) +(def-joint-node cas-conveyor-switch-lod0-jg "align" 1) + +(def-joint-node tomb-elevator-lod0-jg "spoke_rotate" 4) +(def-joint-node tomb-elevator-lod0-jg "main" 3) +(def-joint-node tomb-elevator-lod0-jg "prejoint" 2) +(def-joint-node tomb-elevator-lod0-jg "align" 1) + +(def-joint-node jak-stand-lod0-jg "main" 3) +(def-joint-node jak-stand-lod0-jg "prejoint" 2) +(def-joint-node jak-stand-lod0-jg "align" 1) + +(def-joint-node metalkor-distort-lod0-jg "destF" 9) +(def-joint-node metalkor-distort-lod0-jg "destE" 8) +(def-joint-node metalkor-distort-lod0-jg "destD" 7) +(def-joint-node metalkor-distort-lod0-jg "destC" 6) +(def-joint-node metalkor-distort-lod0-jg "destB" 5) +(def-joint-node metalkor-distort-lod0-jg "destA" 4) +(def-joint-node metalkor-distort-lod0-jg "main" 3) +(def-joint-node metalkor-distort-lod0-jg "prejoint" 2) +(def-joint-node metalkor-distort-lod0-jg "align" 1) + +(def-joint-node kid-medallion-lod0-jg "main" 3) +(def-joint-node kid-medallion-lod0-jg "prejoint" 2) +(def-joint-node kid-medallion-lod0-jg "align" 1) + +(def-joint-node hip-bottle-c-lod0-jg "base" 5) +(def-joint-node hip-bottle-c-lod0-jg "middle" 4) +(def-joint-node hip-bottle-c-lod0-jg "neck_" 3) +(def-joint-node hip-bottle-c-lod0-jg "prejoint" 2) +(def-joint-node hip-bottle-c-lod0-jg "align" 1) + +(def-joint-node hip-mug-lod0-jg "mug" 3) +(def-joint-node hip-mug-lod0-jg "prejoint" 2) +(def-joint-node hip-mug-lod0-jg "align" 1) + +(def-joint-node onin-highres-lod0-jg "mat" 85) +(def-joint-node onin-highres-lod0-jg "llegD" 84) +(def-joint-node onin-highres-lod0-jg "llegC" 83) +(def-joint-node onin-highres-lod0-jg "llegB" 82) +(def-joint-node onin-highres-lod0-jg "llegA" 81) +(def-joint-node onin-highres-lod0-jg "rlegD" 80) +(def-joint-node onin-highres-lod0-jg "rlegC" 79) +(def-joint-node onin-highres-lod0-jg "rlegB" 78) +(def-joint-node onin-highres-lod0-jg "rlegA" 77) +(def-joint-node onin-highres-lod0-jg "rbraceletA" 76) +(def-joint-node onin-highres-lod0-jg "rbraceletB" 75) +(def-joint-node onin-highres-lod0-jg "rbraceletC" 74) +(def-joint-node onin-highres-lod0-jg "RringC" 73) +(def-joint-node onin-highres-lod0-jg "RringB" 72) +(def-joint-node onin-highres-lod0-jg "RringA" 71) +(def-joint-node onin-highres-lod0-jg "RmiddleC" 70) +(def-joint-node onin-highres-lod0-jg "RmiddleB" 69) +(def-joint-node onin-highres-lod0-jg "RmiddleA" 68) +(def-joint-node onin-highres-lod0-jg "RthumbC" 67) +(def-joint-node onin-highres-lod0-jg "RthumbB" 66) +(def-joint-node onin-highres-lod0-jg "lbraceletD" 65) +(def-joint-node onin-highres-lod0-jg "lbraceletC" 64) +(def-joint-node onin-highres-lod0-jg "lbraceletB" 63) +(def-joint-node onin-highres-lod0-jg "LringC" 62) +(def-joint-node onin-highres-lod0-jg "LringB" 61) +(def-joint-node onin-highres-lod0-jg "LringA" 60) +(def-joint-node onin-highres-lod0-jg "LpinkyC" 29) +(def-joint-node onin-highres-lod0-jg "LpinkyB" 28) +(def-joint-node onin-highres-lod0-jg "LpinkyA" 27) +(def-joint-node onin-highres-lod0-jg "lfingereffect" 26) +(def-joint-node onin-highres-lod0-jg "LindexC" 25) +(def-joint-node onin-highres-lod0-jg "LindexB" 24) +(def-joint-node onin-highres-lod0-jg "LindexA" 23) +(def-joint-node onin-highres-lod0-jg "LthumbB" 22) +(def-joint-node onin-highres-lod0-jg "LthumbA" 21) +(def-joint-node onin-highres-lod0-jg "Lhand" 20) +(def-joint-node onin-highres-lod0-jg "Lelbow" 19) +(def-joint-node onin-highres-lod0-jg "Lshoulder" 18) +(def-joint-node onin-highres-lod0-jg "necklaceB" 17) +(def-joint-node onin-highres-lod0-jg "necklaceA" 16) +(def-joint-node onin-highres-lod0-jg "scarfA" 15) +(def-joint-node onin-highres-lod0-jg "hatA" 14) +(def-joint-node onin-highres-lod0-jg "align" 1) +(def-joint-node onin-highres-lod0-jg "prejoint" 2) +(def-joint-node onin-highres-lod0-jg "main" 3) +(def-joint-node onin-highres-lod0-jg "chest" 4) +(def-joint-node onin-highres-lod0-jg "neck" 5) +(def-joint-node onin-highres-lod0-jg "head" 6) +(def-joint-node onin-highres-lod0-jg "hairA" 7) +(def-joint-node onin-highres-lod0-jg "hairB" 8) +(def-joint-node onin-highres-lod0-jg "rearA" 9) +(def-joint-node onin-highres-lod0-jg "rearB" 10) +(def-joint-node onin-highres-lod0-jg "learA" 11) +(def-joint-node onin-highres-lod0-jg "learB" 12) +(def-joint-node onin-highres-lod0-jg "learingA" 13) +(def-joint-node onin-highres-lod0-jg "lhandflame" 30) +(def-joint-node onin-highres-lod0-jg "lbraceletA" 31) +(def-joint-node onin-highres-lod0-jg "Rshoulder" 32) +(def-joint-node onin-highres-lod0-jg "Relbow" 33) +(def-joint-node onin-highres-lod0-jg "Rhand" 34) +(def-joint-node onin-highres-lod0-jg "RthumbA" 35) +(def-joint-node onin-highres-lod0-jg "RindexA" 36) +(def-joint-node onin-highres-lod0-jg "RindexB" 37) +(def-joint-node onin-highres-lod0-jg "RindexC" 38) +(def-joint-node onin-highres-lod0-jg "rfingereffect" 39) +(def-joint-node onin-highres-lod0-jg "RpinkyA" 40) +(def-joint-node onin-highres-lod0-jg "RpinkyB" 41) +(def-joint-node onin-highres-lod0-jg "RpinkyC" 42) +(def-joint-node onin-highres-lod0-jg "rhandflame" 43) +(def-joint-node onin-highres-lod0-jg "rtitA" 44) +(def-joint-node onin-highres-lod0-jg "ltitA" 45) +(def-joint-node onin-highres-lod0-jg "hips" 46) +(def-joint-node onin-highres-lod0-jg "rearingA" 47) +(def-joint-node onin-highres-lod0-jg "rearingB" 48) +(def-joint-node onin-highres-lod0-jg "rearingC" 49) +(def-joint-node onin-highres-lod0-jg "learingB" 50) +(def-joint-node onin-highres-lod0-jg "learingC" 51) +(def-joint-node onin-highres-lod0-jg "learingD" 52) +(def-joint-node onin-highres-lod0-jg "learingE" 53) +(def-joint-node onin-highres-lod0-jg "mouthA" 54) +(def-joint-node onin-highres-lod0-jg "mouthB" 55) +(def-joint-node onin-highres-lod0-jg "LthumbC" 56) +(def-joint-node onin-highres-lod0-jg "LmiddleA" 57) +(def-joint-node onin-highres-lod0-jg "LmiddleB" 58) +(def-joint-node onin-highres-lod0-jg "LmiddleC" 59) + +(def-joint-node gun-barrel-lod0-jg "rot" 4) +(def-joint-node gun-barrel-lod0-jg "main" 3) +(def-joint-node gun-barrel-lod0-jg "prejoint" 2) +(def-joint-node gun-barrel-lod0-jg "align" 1) + +(def-joint-node gun-red-cone-lod0-jg "srcEnd" 11) +(def-joint-node gun-red-cone-lod0-jg "inDelayed" 10) +(def-joint-node gun-red-cone-lod0-jg "srcMid" 9) +(def-joint-node gun-red-cone-lod0-jg "srcIn" 8) +(def-joint-node gun-red-cone-lod0-jg "destEnd" 7) +(def-joint-node gun-red-cone-lod0-jg "destOutDelayed" 6) +(def-joint-node gun-red-cone-lod0-jg "destOut" 5) +(def-joint-node gun-red-cone-lod0-jg "destMid" 4) +(def-joint-node gun-red-cone-lod0-jg "destIn" 3) +(def-joint-node gun-red-cone-lod0-jg "prejoint" 2) +(def-joint-node gun-red-cone-lod0-jg "align" 1) + +(def-joint-node dig-wheel-step-lod0-jg "platform_b" 5) +(def-joint-node dig-wheel-step-lod0-jg "platform_a" 4) +(def-joint-node dig-wheel-step-lod0-jg "wheel" 3) +(def-joint-node dig-wheel-step-lod0-jg "prejoint" 2) +(def-joint-node dig-wheel-step-lod0-jg "align" 1) + +(def-joint-node rift-break-ring-lod0-jg "ao" 45) +(def-joint-node rift-break-ring-lod0-jg "an" 44) +(def-joint-node rift-break-ring-lod0-jg "am" 43) +(def-joint-node rift-break-ring-lod0-jg "al" 42) +(def-joint-node rift-break-ring-lod0-jg "ak" 41) +(def-joint-node rift-break-ring-lod0-jg "aj" 40) +(def-joint-node rift-break-ring-lod0-jg "ai" 39) +(def-joint-node rift-break-ring-lod0-jg "ah" 38) +(def-joint-node rift-break-ring-lod0-jg "ag" 37) +(def-joint-node rift-break-ring-lod0-jg "af" 36) +(def-joint-node rift-break-ring-lod0-jg "ae" 35) +(def-joint-node rift-break-ring-lod0-jg "ad" 34) +(def-joint-node rift-break-ring-lod0-jg "ac" 33) +(def-joint-node rift-break-ring-lod0-jg "ab" 32) +(def-joint-node rift-break-ring-lod0-jg "aa" 31) +(def-joint-node rift-break-ring-lod0-jg "zz" 30) +(def-joint-node rift-break-ring-lod0-jg "j" 13) +(def-joint-node rift-break-ring-lod0-jg "i" 12) +(def-joint-node rift-break-ring-lod0-jg "h" 11) +(def-joint-node rift-break-ring-lod0-jg "g" 10) +(def-joint-node rift-break-ring-lod0-jg "f" 9) +(def-joint-node rift-break-ring-lod0-jg "e" 8) +(def-joint-node rift-break-ring-lod0-jg "d" 7) +(def-joint-node rift-break-ring-lod0-jg "c" 6) +(def-joint-node rift-break-ring-lod0-jg "b" 5) +(def-joint-node rift-break-ring-lod0-jg "main" 4) +(def-joint-node rift-break-ring-lod0-jg "gate" 3) +(def-joint-node rift-break-ring-lod0-jg "prejoint" 2) +(def-joint-node rift-break-ring-lod0-jg "align" 1) +(def-joint-node rift-break-ring-lod0-jg "k" 14) +(def-joint-node rift-break-ring-lod0-jg "l" 15) +(def-joint-node rift-break-ring-lod0-jg "m" 16) +(def-joint-node rift-break-ring-lod0-jg "n" 17) +(def-joint-node rift-break-ring-lod0-jg "o" 18) +(def-joint-node rift-break-ring-lod0-jg "p" 19) +(def-joint-node rift-break-ring-lod0-jg "q" 20) +(def-joint-node rift-break-ring-lod0-jg "r" 21) +(def-joint-node rift-break-ring-lod0-jg "s" 22) +(def-joint-node rift-break-ring-lod0-jg "t" 23) +(def-joint-node rift-break-ring-lod0-jg "u" 24) +(def-joint-node rift-break-ring-lod0-jg "v" 25) +(def-joint-node rift-break-ring-lod0-jg "w" 26) +(def-joint-node rift-break-ring-lod0-jg "x" 27) +(def-joint-node rift-break-ring-lod0-jg "y" 28) +(def-joint-node rift-break-ring-lod0-jg "z" 29) + +(def-joint-node squid-lights-lod0-jg "coneFR" 15) +(def-joint-node squid-lights-lod0-jg "coneER" 14) +(def-joint-node squid-lights-lod0-jg "align" 1) +(def-joint-node squid-lights-lod0-jg "prejoint" 2) +(def-joint-node squid-lights-lod0-jg "main" 3) +(def-joint-node squid-lights-lod0-jg "coneAL" 4) +(def-joint-node squid-lights-lod0-jg "coneBL" 5) +(def-joint-node squid-lights-lod0-jg "coneCL" 6) +(def-joint-node squid-lights-lod0-jg "coneDL" 7) +(def-joint-node squid-lights-lod0-jg "coneEL" 8) +(def-joint-node squid-lights-lod0-jg "coneFL" 9) +(def-joint-node squid-lights-lod0-jg "coneAR" 10) +(def-joint-node squid-lights-lod0-jg "coneBR" 11) +(def-joint-node squid-lights-lod0-jg "coneCR" 12) +(def-joint-node squid-lights-lod0-jg "coneDR" 13) + +(def-joint-node squid-break-b-lod0-jg "ce" 44) +(def-joint-node squid-break-b-lod0-jg "cd" 43) +(def-joint-node squid-break-b-lod0-jg "cc" 42) +(def-joint-node squid-break-b-lod0-jg "cb" 41) +(def-joint-node squid-break-b-lod0-jg "ca" 40) +(def-joint-node squid-break-b-lod0-jg "bz" 39) +(def-joint-node squid-break-b-lod0-jg "by" 38) +(def-joint-node squid-break-b-lod0-jg "bx" 37) +(def-joint-node squid-break-b-lod0-jg "bw" 36) +(def-joint-node squid-break-b-lod0-jg "bv" 35) +(def-joint-node squid-break-b-lod0-jg "bu" 34) +(def-joint-node squid-break-b-lod0-jg "bt" 33) +(def-joint-node squid-break-b-lod0-jg "bs" 32) +(def-joint-node squid-break-b-lod0-jg "br" 31) +(def-joint-node squid-break-b-lod0-jg "bq" 30) +(def-joint-node squid-break-b-lod0-jg "az" 13) +(def-joint-node squid-break-b-lod0-jg "ay" 12) +(def-joint-node squid-break-b-lod0-jg "ax" 11) +(def-joint-node squid-break-b-lod0-jg "aw" 10) +(def-joint-node squid-break-b-lod0-jg "av" 9) +(def-joint-node squid-break-b-lod0-jg "au" 8) +(def-joint-node squid-break-b-lod0-jg "at" 7) +(def-joint-node squid-break-b-lod0-jg "as" 6) +(def-joint-node squid-break-b-lod0-jg "ar" 5) +(def-joint-node squid-break-b-lod0-jg "aq" 4) +(def-joint-node squid-break-b-lod0-jg "main" 3) +(def-joint-node squid-break-b-lod0-jg "prejoint" 2) +(def-joint-node squid-break-b-lod0-jg "align" 1) +(def-joint-node squid-break-b-lod0-jg "ba" 14) +(def-joint-node squid-break-b-lod0-jg "bb" 15) +(def-joint-node squid-break-b-lod0-jg "bc" 16) +(def-joint-node squid-break-b-lod0-jg "bd" 17) +(def-joint-node squid-break-b-lod0-jg "be" 18) +(def-joint-node squid-break-b-lod0-jg "bf" 19) +(def-joint-node squid-break-b-lod0-jg "bg" 20) +(def-joint-node squid-break-b-lod0-jg "bh" 21) +(def-joint-node squid-break-b-lod0-jg "bi" 22) +(def-joint-node squid-break-b-lod0-jg "bj" 23) +(def-joint-node squid-break-b-lod0-jg "bk" 24) +(def-joint-node squid-break-b-lod0-jg "bl" 25) +(def-joint-node squid-break-b-lod0-jg "bm" 26) +(def-joint-node squid-break-b-lod0-jg "bn" 27) +(def-joint-node squid-break-b-lod0-jg "bo" 28) +(def-joint-node squid-break-b-lod0-jg "bp" 29) + +(def-joint-node precursor-lod0-jg "Rball" 45) +(def-joint-node precursor-lod0-jg "Rankle" 44) +(def-joint-node precursor-lod0-jg "Rknee" 43) +(def-joint-node precursor-lod0-jg "Rthigh" 42) +(def-joint-node precursor-lod0-jg "Lball" 41) +(def-joint-node precursor-lod0-jg "Lankle" 40) +(def-joint-node precursor-lod0-jg "Lknee" 39) +(def-joint-node precursor-lod0-jg "Lthigh" 38) +(def-joint-node precursor-lod0-jg "hips" 37) +(def-joint-node precursor-lod0-jg "rmidforearm" 36) +(def-joint-node precursor-lod0-jg "RringC" 35) +(def-joint-node precursor-lod0-jg "RringB" 34) +(def-joint-node precursor-lod0-jg "RringA" 33) +(def-joint-node precursor-lod0-jg "RindexC" 32) +(def-joint-node precursor-lod0-jg "RindexB" 31) +(def-joint-node precursor-lod0-jg "RindexA" 30) +(def-joint-node precursor-lod0-jg "Lhand" 13) +(def-joint-node precursor-lod0-jg "Lelbow" 12) +(def-joint-node precursor-lod0-jg "Lshoulder" 11) +(def-joint-node precursor-lod0-jg "learmid" 10) +(def-joint-node precursor-lod0-jg "learbase" 9) +(def-joint-node precursor-lod0-jg "rearmid" 8) +(def-joint-node precursor-lod0-jg "rearbase" 7) +(def-joint-node precursor-lod0-jg "head" 6) +(def-joint-node precursor-lod0-jg "neck" 5) +(def-joint-node precursor-lod0-jg "chest" 4) +(def-joint-node precursor-lod0-jg "main" 3) +(def-joint-node precursor-lod0-jg "prejoint" 2) +(def-joint-node precursor-lod0-jg "align" 1) +(def-joint-node precursor-lod0-jg "LthumbA" 14) +(def-joint-node precursor-lod0-jg "LthumbB" 15) +(def-joint-node precursor-lod0-jg "LthumbC" 16) +(def-joint-node precursor-lod0-jg "LindexA" 17) +(def-joint-node precursor-lod0-jg "LindexB" 18) +(def-joint-node precursor-lod0-jg "LindexC" 19) +(def-joint-node precursor-lod0-jg "LringA" 20) +(def-joint-node precursor-lod0-jg "LringB" 21) +(def-joint-node precursor-lod0-jg "LringC" 22) +(def-joint-node precursor-lod0-jg "lmidforearm" 23) +(def-joint-node precursor-lod0-jg "Rshoulder" 24) +(def-joint-node precursor-lod0-jg "Relbow" 25) +(def-joint-node precursor-lod0-jg "Rhand" 26) +(def-joint-node precursor-lod0-jg "RthumbA" 27) +(def-joint-node precursor-lod0-jg "RthumbB" 28) +(def-joint-node precursor-lod0-jg "RthumbC" 29) + +(def-joint-node pal-flip-step-lod0-jg "main" 3) +(def-joint-node pal-flip-step-lod0-jg "prejoint" 2) +(def-joint-node pal-flip-step-lod0-jg "align" 1) + +(def-joint-node hip-trophy-j-lod0-jg "hip_trophy_j" 3) +(def-joint-node hip-trophy-j-lod0-jg "prejoint" 2) +(def-joint-node hip-trophy-j-lod0-jg "align" 1) + +(def-joint-node collectables-health-lod0-jg "main" 3) +(def-joint-node collectables-health-lod0-jg "prejoint" 2) +(def-joint-node collectables-health-lod0-jg "align" 1) + +(def-joint-node mtn-gear-device-lod0-jg "orbit2A" 32) +(def-joint-node mtn-gear-device-lod0-jg "orbit2" 31) +(def-joint-node mtn-gear-device-lod0-jg "orbit1A" 30) +(def-joint-node mtn-gear-device-lod0-jg "gem6" 13) +(def-joint-node mtn-gear-device-lod0-jg "lrg_orbit_smlring" 12) +(def-joint-node mtn-gear-device-lod0-jg "lrg_orbit_planet" 11) +(def-joint-node mtn-gear-device-lod0-jg "lrg_orbit_ring" 10) +(def-joint-node mtn-gear-device-lod0-jg "sml_ring_planet_orbit" 9) +(def-joint-node mtn-gear-device-lod0-jg "sml_ring_planet" 8) +(def-joint-node mtn-gear-device-lod0-jg "lrg_arm_orbits" 7) +(def-joint-node mtn-gear-device-lod0-jg "sml_arm_orbits" 6) +(def-joint-node mtn-gear-device-lod0-jg "halfmoon_orbits" 5) +(def-joint-node mtn-gear-device-lod0-jg "mainrotate" 4) +(def-joint-node mtn-gear-device-lod0-jg "main" 3) +(def-joint-node mtn-gear-device-lod0-jg "prejoint" 2) +(def-joint-node mtn-gear-device-lod0-jg "align" 1) +(def-joint-node mtn-gear-device-lod0-jg "gem5" 14) +(def-joint-node mtn-gear-device-lod0-jg "gem7" 15) +(def-joint-node mtn-gear-device-lod0-jg "gem8" 16) +(def-joint-node mtn-gear-device-lod0-jg "gem9" 17) +(def-joint-node mtn-gear-device-lod0-jg "gem10" 18) +(def-joint-node mtn-gear-device-lod0-jg "centertop" 19) +(def-joint-node mtn-gear-device-lod0-jg "centertop_left" 20) +(def-joint-node mtn-gear-device-lod0-jg "gem3" 21) +(def-joint-node mtn-gear-device-lod0-jg "gem4" 22) +(def-joint-node mtn-gear-device-lod0-jg "centertop_right" 23) +(def-joint-node mtn-gear-device-lod0-jg "gem1" 24) +(def-joint-node mtn-gear-device-lod0-jg "gem2" 25) +(def-joint-node mtn-gear-device-lod0-jg "med_gear" 26) +(def-joint-node mtn-gear-device-lod0-jg "sml_gear" 27) +(def-joint-node mtn-gear-device-lod0-jg "lrg_gear" 28) +(def-joint-node mtn-gear-device-lod0-jg "orbit1" 29) + +(def-joint-node mtn-step-plat-rocks-c-lod0-jg "aw" 53) +(def-joint-node mtn-step-plat-rocks-c-lod0-jg "av" 52) +(def-joint-node mtn-step-plat-rocks-c-lod0-jg "au" 51) +(def-joint-node mtn-step-plat-rocks-c-lod0-jg "at" 50) +(def-joint-node mtn-step-plat-rocks-c-lod0-jg "as" 49) +(def-joint-node mtn-step-plat-rocks-c-lod0-jg "ar" 48) +(def-joint-node mtn-step-plat-rocks-c-lod0-jg "aq" 47) +(def-joint-node mtn-step-plat-rocks-c-lod0-jg "ap" 46) +(def-joint-node mtn-step-plat-rocks-c-lod0-jg "ao" 45) +(def-joint-node mtn-step-plat-rocks-c-lod0-jg "an" 44) +(def-joint-node mtn-step-plat-rocks-c-lod0-jg "am" 43) +(def-joint-node mtn-step-plat-rocks-c-lod0-jg "al" 42) +(def-joint-node mtn-step-plat-rocks-c-lod0-jg "ak" 41) +(def-joint-node mtn-step-plat-rocks-c-lod0-jg "aj" 40) +(def-joint-node mtn-step-plat-rocks-c-lod0-jg "ai" 39) +(def-joint-node mtn-step-plat-rocks-c-lod0-jg "ah" 38) +(def-joint-node mtn-step-plat-rocks-c-lod0-jg "ag" 37) +(def-joint-node mtn-step-plat-rocks-c-lod0-jg "af" 36) +(def-joint-node mtn-step-plat-rocks-c-lod0-jg "ae" 35) +(def-joint-node mtn-step-plat-rocks-c-lod0-jg "ad" 34) +(def-joint-node mtn-step-plat-rocks-c-lod0-jg "ac" 33) +(def-joint-node mtn-step-plat-rocks-c-lod0-jg "ab" 32) +(def-joint-node mtn-step-plat-rocks-c-lod0-jg "aa" 31) +(def-joint-node mtn-step-plat-rocks-c-lod0-jg "zz" 30) +(def-joint-node mtn-step-plat-rocks-c-lod0-jg "j" 13) +(def-joint-node mtn-step-plat-rocks-c-lod0-jg "i" 12) +(def-joint-node mtn-step-plat-rocks-c-lod0-jg "h" 11) +(def-joint-node mtn-step-plat-rocks-c-lod0-jg "g" 10) +(def-joint-node mtn-step-plat-rocks-c-lod0-jg "f" 9) +(def-joint-node mtn-step-plat-rocks-c-lod0-jg "e" 8) +(def-joint-node mtn-step-plat-rocks-c-lod0-jg "d" 7) +(def-joint-node mtn-step-plat-rocks-c-lod0-jg "c" 6) +(def-joint-node mtn-step-plat-rocks-c-lod0-jg "b" 5) +(def-joint-node mtn-step-plat-rocks-c-lod0-jg "a" 4) +(def-joint-node mtn-step-plat-rocks-c-lod0-jg "main" 3) +(def-joint-node mtn-step-plat-rocks-c-lod0-jg "prejoint" 2) +(def-joint-node mtn-step-plat-rocks-c-lod0-jg "align" 1) +(def-joint-node mtn-step-plat-rocks-c-lod0-jg "k" 14) +(def-joint-node mtn-step-plat-rocks-c-lod0-jg "l" 15) +(def-joint-node mtn-step-plat-rocks-c-lod0-jg "m" 16) +(def-joint-node mtn-step-plat-rocks-c-lod0-jg "n" 17) +(def-joint-node mtn-step-plat-rocks-c-lod0-jg "o" 18) +(def-joint-node mtn-step-plat-rocks-c-lod0-jg "p" 19) +(def-joint-node mtn-step-plat-rocks-c-lod0-jg "q" 20) +(def-joint-node mtn-step-plat-rocks-c-lod0-jg "r" 21) +(def-joint-node mtn-step-plat-rocks-c-lod0-jg "s" 22) +(def-joint-node mtn-step-plat-rocks-c-lod0-jg "t" 23) +(def-joint-node mtn-step-plat-rocks-c-lod0-jg "u" 24) +(def-joint-node mtn-step-plat-rocks-c-lod0-jg "v" 25) +(def-joint-node mtn-step-plat-rocks-c-lod0-jg "w" 26) +(def-joint-node mtn-step-plat-rocks-c-lod0-jg "x" 27) +(def-joint-node mtn-step-plat-rocks-c-lod0-jg "y" 28) +(def-joint-node mtn-step-plat-rocks-c-lod0-jg "z" 29) + +(def-joint-node rhino-wall-1-lod0-jg "at" 49) +(def-joint-node rhino-wall-1-lod0-jg "as" 48) +(def-joint-node rhino-wall-1-lod0-jg "ar" 47) +(def-joint-node rhino-wall-1-lod0-jg "aq" 46) +(def-joint-node rhino-wall-1-lod0-jg "ap" 45) +(def-joint-node rhino-wall-1-lod0-jg "ao" 44) +(def-joint-node rhino-wall-1-lod0-jg "an" 43) +(def-joint-node rhino-wall-1-lod0-jg "am" 42) +(def-joint-node rhino-wall-1-lod0-jg "al" 41) +(def-joint-node rhino-wall-1-lod0-jg "ak" 40) +(def-joint-node rhino-wall-1-lod0-jg "aj" 39) +(def-joint-node rhino-wall-1-lod0-jg "ai" 38) +(def-joint-node rhino-wall-1-lod0-jg "ah" 37) +(def-joint-node rhino-wall-1-lod0-jg "ag" 36) +(def-joint-node rhino-wall-1-lod0-jg "af" 35) +(def-joint-node rhino-wall-1-lod0-jg "ae" 34) +(def-joint-node rhino-wall-1-lod0-jg "ad" 33) +(def-joint-node rhino-wall-1-lod0-jg "ac" 32) +(def-joint-node rhino-wall-1-lod0-jg "ab" 31) +(def-joint-node rhino-wall-1-lod0-jg "aa" 30) +(def-joint-node rhino-wall-1-lod0-jg "k" 13) +(def-joint-node rhino-wall-1-lod0-jg "j" 12) +(def-joint-node rhino-wall-1-lod0-jg "i" 11) +(def-joint-node rhino-wall-1-lod0-jg "h" 10) +(def-joint-node rhino-wall-1-lod0-jg "g" 9) +(def-joint-node rhino-wall-1-lod0-jg "f" 8) +(def-joint-node rhino-wall-1-lod0-jg "e" 7) +(def-joint-node rhino-wall-1-lod0-jg "d" 6) +(def-joint-node rhino-wall-1-lod0-jg "c" 5) +(def-joint-node rhino-wall-1-lod0-jg "b" 4) +(def-joint-node rhino-wall-1-lod0-jg "a" 3) +(def-joint-node rhino-wall-1-lod0-jg "prejoint" 2) +(def-joint-node rhino-wall-1-lod0-jg "align" 1) +(def-joint-node rhino-wall-1-lod0-jg "l" 14) +(def-joint-node rhino-wall-1-lod0-jg "m" 15) +(def-joint-node rhino-wall-1-lod0-jg "n" 16) +(def-joint-node rhino-wall-1-lod0-jg "o" 17) +(def-joint-node rhino-wall-1-lod0-jg "p" 18) +(def-joint-node rhino-wall-1-lod0-jg "q" 19) +(def-joint-node rhino-wall-1-lod0-jg "r" 20) +(def-joint-node rhino-wall-1-lod0-jg "s" 21) +(def-joint-node rhino-wall-1-lod0-jg "t" 22) +(def-joint-node rhino-wall-1-lod0-jg "u" 23) +(def-joint-node rhino-wall-1-lod0-jg "v" 24) +(def-joint-node rhino-wall-1-lod0-jg "w" 25) +(def-joint-node rhino-wall-1-lod0-jg "x" 26) +(def-joint-node rhino-wall-1-lod0-jg "y" 27) +(def-joint-node rhino-wall-1-lod0-jg "z" 28) +(def-joint-node rhino-wall-1-lod0-jg "" 29) + +(def-joint-node rhino-wall-2-lod0-jg "bc" 58) +(def-joint-node rhino-wall-2-lod0-jg "bb" 57) +(def-joint-node rhino-wall-2-lod0-jg "ba" 56) +(def-joint-node rhino-wall-2-lod0-jg "az" 55) +(def-joint-node rhino-wall-2-lod0-jg "ay" 54) +(def-joint-node rhino-wall-2-lod0-jg "ax" 53) +(def-joint-node rhino-wall-2-lod0-jg "aw" 52) +(def-joint-node rhino-wall-2-lod0-jg "av" 51) +(def-joint-node rhino-wall-2-lod0-jg "au" 50) +(def-joint-node rhino-wall-2-lod0-jg "at" 49) +(def-joint-node rhino-wall-2-lod0-jg "as" 48) +(def-joint-node rhino-wall-2-lod0-jg "ar" 47) +(def-joint-node rhino-wall-2-lod0-jg "aq" 46) +(def-joint-node rhino-wall-2-lod0-jg "ap" 45) +(def-joint-node rhino-wall-2-lod0-jg "ao" 44) +(def-joint-node rhino-wall-2-lod0-jg "an" 43) +(def-joint-node rhino-wall-2-lod0-jg "am" 42) +(def-joint-node rhino-wall-2-lod0-jg "al" 41) +(def-joint-node rhino-wall-2-lod0-jg "ak" 40) +(def-joint-node rhino-wall-2-lod0-jg "aj" 39) +(def-joint-node rhino-wall-2-lod0-jg "ai" 38) +(def-joint-node rhino-wall-2-lod0-jg "ah" 37) +(def-joint-node rhino-wall-2-lod0-jg "ag" 36) +(def-joint-node rhino-wall-2-lod0-jg "af" 35) +(def-joint-node rhino-wall-2-lod0-jg "ae" 34) +(def-joint-node rhino-wall-2-lod0-jg "ad" 33) +(def-joint-node rhino-wall-2-lod0-jg "ac" 32) +(def-joint-node rhino-wall-2-lod0-jg "ab" 31) +(def-joint-node rhino-wall-2-lod0-jg "aa" 30) +(def-joint-node rhino-wall-2-lod0-jg "k" 13) +(def-joint-node rhino-wall-2-lod0-jg "j" 12) +(def-joint-node rhino-wall-2-lod0-jg "i" 11) +(def-joint-node rhino-wall-2-lod0-jg "h" 10) +(def-joint-node rhino-wall-2-lod0-jg "g" 9) +(def-joint-node rhino-wall-2-lod0-jg "f" 8) +(def-joint-node rhino-wall-2-lod0-jg "e" 7) +(def-joint-node rhino-wall-2-lod0-jg "d" 6) +(def-joint-node rhino-wall-2-lod0-jg "c" 5) +(def-joint-node rhino-wall-2-lod0-jg "b" 4) +(def-joint-node rhino-wall-2-lod0-jg "a" 3) +(def-joint-node rhino-wall-2-lod0-jg "prejoint" 2) +(def-joint-node rhino-wall-2-lod0-jg "align" 1) +(def-joint-node rhino-wall-2-lod0-jg "l" 14) +(def-joint-node rhino-wall-2-lod0-jg "m" 15) +(def-joint-node rhino-wall-2-lod0-jg "n" 16) +(def-joint-node rhino-wall-2-lod0-jg "o" 17) +(def-joint-node rhino-wall-2-lod0-jg "p" 18) +(def-joint-node rhino-wall-2-lod0-jg "q" 19) +(def-joint-node rhino-wall-2-lod0-jg "r" 20) +(def-joint-node rhino-wall-2-lod0-jg "s" 21) +(def-joint-node rhino-wall-2-lod0-jg "t" 22) +(def-joint-node rhino-wall-2-lod0-jg "u" 23) +(def-joint-node rhino-wall-2-lod0-jg "v" 24) +(def-joint-node rhino-wall-2-lod0-jg "w" 25) +(def-joint-node rhino-wall-2-lod0-jg "x" 26) +(def-joint-node rhino-wall-2-lod0-jg "y" 27) +(def-joint-node rhino-wall-2-lod0-jg "z" 28) +(def-joint-node rhino-wall-2-lod0-jg "zz" 29) + +(def-joint-node water-anim-under-fillup-lod0-jg "boneless" 3) +(def-joint-node water-anim-under-fillup-lod0-jg "prejoint" 2) +(def-joint-node water-anim-under-fillup-lod0-jg "align" 1) + +(def-joint-node hopper-lod0-jg "Rball" 20) +(def-joint-node hopper-lod0-jg "Lball" 19) +(def-joint-node hopper-lod0-jg "Rankle" 18) +(def-joint-node hopper-lod0-jg "Rknee" 17) +(def-joint-node hopper-lod0-jg "Rthigh" 16) +(def-joint-node hopper-lod0-jg "Lankle" 15) +(def-joint-node hopper-lod0-jg "Lknee" 14) +(def-joint-node hopper-lod0-jg "align" 1) +(def-joint-node hopper-lod0-jg "prejoint" 2) +(def-joint-node hopper-lod0-jg "main" 3) +(def-joint-node hopper-lod0-jg "chest" 4) +(def-joint-node hopper-lod0-jg "head" 5) +(def-joint-node hopper-lod0-jg "Lshoulder" 6) +(def-joint-node hopper-lod0-jg "Lelbow" 7) +(def-joint-node hopper-lod0-jg "Lhand" 8) +(def-joint-node hopper-lod0-jg "Rshoulder" 9) +(def-joint-node hopper-lod0-jg "Relbow" 10) +(def-joint-node hopper-lod0-jg "Rhand" 11) +(def-joint-node hopper-lod0-jg "hips" 12) +(def-joint-node hopper-lod0-jg "Lthigh" 13) + +(def-joint-node water-anim-mountain-dark-eco-dice-lod0-jg "boneless" 3) +(def-joint-node water-anim-mountain-dark-eco-dice-lod0-jg "prejoint" 2) +(def-joint-node water-anim-mountain-dark-eco-dice-lod0-jg "align" 1) + +(def-joint-node cas-electric-fence-lod0-jg "main" 3) +(def-joint-node cas-electric-fence-lod0-jg "prejoint" 2) +(def-joint-node cas-electric-fence-lod0-jg "align" 1) + +(def-joint-node mtn-dice-lod0-jg "sidef" 9) +(def-joint-node mtn-dice-lod0-jg "sidee" 8) +(def-joint-node mtn-dice-lod0-jg "sided" 7) +(def-joint-node mtn-dice-lod0-jg "sidec" 6) +(def-joint-node mtn-dice-lod0-jg "sideb" 5) +(def-joint-node mtn-dice-lod0-jg "sidea" 4) +(def-joint-node mtn-dice-lod0-jg "main" 3) +(def-joint-node mtn-dice-lod0-jg "prejoint" 2) +(def-joint-node mtn-dice-lod0-jg "align" 1) + +(def-joint-node seal-of-mar-lod0-jg "bottom" 5) +(def-joint-node seal-of-mar-lod0-jg "top" 4) +(def-joint-node seal-of-mar-lod0-jg "base" 3) +(def-joint-node seal-of-mar-lod0-jg "prejoint" 2) +(def-joint-node seal-of-mar-lod0-jg "align" 1) + +(def-joint-node mtn-button-lod0-jg "scale8" 13) +(def-joint-node mtn-button-lod0-jg "scale7" 12) +(def-joint-node mtn-button-lod0-jg "scale6" 11) +(def-joint-node mtn-button-lod0-jg "scale5" 10) +(def-joint-node mtn-button-lod0-jg "scale4" 9) +(def-joint-node mtn-button-lod0-jg "scale3" 8) +(def-joint-node mtn-button-lod0-jg "scale2" 7) +(def-joint-node mtn-button-lod0-jg "scale1" 6) +(def-joint-node mtn-button-lod0-jg "door_rot" 5) +(def-joint-node mtn-button-lod0-jg "button" 4) +(def-joint-node mtn-button-lod0-jg "main" 3) +(def-joint-node mtn-button-lod0-jg "prejoint" 2) +(def-joint-node mtn-button-lod0-jg "align" 1) + +(def-joint-node pal-grind-ring-center-explode-lod0-jg "k" 13) +(def-joint-node pal-grind-ring-center-explode-lod0-jg "j" 12) +(def-joint-node pal-grind-ring-center-explode-lod0-jg "i" 11) +(def-joint-node pal-grind-ring-center-explode-lod0-jg "h" 10) +(def-joint-node pal-grind-ring-center-explode-lod0-jg "g" 9) +(def-joint-node pal-grind-ring-center-explode-lod0-jg "f" 8) +(def-joint-node pal-grind-ring-center-explode-lod0-jg "e" 7) +(def-joint-node pal-grind-ring-center-explode-lod0-jg "d" 6) +(def-joint-node pal-grind-ring-center-explode-lod0-jg "c" 5) +(def-joint-node pal-grind-ring-center-explode-lod0-jg "b" 4) +(def-joint-node pal-grind-ring-center-explode-lod0-jg "a" 3) +(def-joint-node pal-grind-ring-center-explode-lod0-jg "prejoint" 2) +(def-joint-node pal-grind-ring-center-explode-lod0-jg "align" 1) + +(def-joint-node tomb-beetle-door-lod0-jg "Rdoor" 5) +(def-joint-node tomb-beetle-door-lod0-jg "Ldoor" 4) +(def-joint-node tomb-beetle-door-lod0-jg "main" 3) +(def-joint-node tomb-beetle-door-lod0-jg "prejoint" 2) +(def-joint-node tomb-beetle-door-lod0-jg "align" 1) + +(def-joint-node atoll-hellcat-lod0-jg "turretA" 6) +(def-joint-node atoll-hellcat-lod0-jg "turret" 5) +(def-joint-node atoll-hellcat-lod0-jg "frontgun" 4) +(def-joint-node atoll-hellcat-lod0-jg "main" 3) +(def-joint-node atoll-hellcat-lod0-jg "prejoint" 2) +(def-joint-node atoll-hellcat-lod0-jg "align" 1) + +(def-joint-node mtn-lens-lod0-jg "main" 3) +(def-joint-node mtn-lens-lod0-jg "prejoint" 2) +(def-joint-node mtn-lens-lod0-jg "align" 1) + +(def-joint-node cty-guard-turret-explode-lod0-jg "g" 9) +(def-joint-node cty-guard-turret-explode-lod0-jg "f" 8) +(def-joint-node cty-guard-turret-explode-lod0-jg "e" 7) +(def-joint-node cty-guard-turret-explode-lod0-jg "d" 6) +(def-joint-node cty-guard-turret-explode-lod0-jg "c" 5) +(def-joint-node cty-guard-turret-explode-lod0-jg "b" 4) +(def-joint-node cty-guard-turret-explode-lod0-jg "a" 3) +(def-joint-node cty-guard-turret-explode-lod0-jg "prejoint" 2) +(def-joint-node cty-guard-turret-explode-lod0-jg "align" 1) + +(def-joint-node drill-turret-ext-explode-lod0-jg "o" 17) +(def-joint-node drill-turret-ext-explode-lod0-jg "n" 16) +(def-joint-node drill-turret-ext-explode-lod0-jg "m" 15) +(def-joint-node drill-turret-ext-explode-lod0-jg "l" 14) +(def-joint-node drill-turret-ext-explode-lod0-jg "align" 1) +(def-joint-node drill-turret-ext-explode-lod0-jg "prejoint" 2) +(def-joint-node drill-turret-ext-explode-lod0-jg "a" 3) +(def-joint-node drill-turret-ext-explode-lod0-jg "b" 4) +(def-joint-node drill-turret-ext-explode-lod0-jg "c" 5) +(def-joint-node drill-turret-ext-explode-lod0-jg "d" 6) +(def-joint-node drill-turret-ext-explode-lod0-jg "e" 7) +(def-joint-node drill-turret-ext-explode-lod0-jg "f" 8) +(def-joint-node drill-turret-ext-explode-lod0-jg "g" 9) +(def-joint-node drill-turret-ext-explode-lod0-jg "h" 10) +(def-joint-node drill-turret-ext-explode-lod0-jg "i" 11) +(def-joint-node drill-turret-ext-explode-lod0-jg "j" 12) +(def-joint-node drill-turret-ext-explode-lod0-jg "k" 13) + +(def-joint-node fort-fence-b-lod0-jg "aq" 57) +(def-joint-node fort-fence-b-lod0-jg "ap" 56) +(def-joint-node fort-fence-b-lod0-jg "ao" 55) +(def-joint-node fort-fence-b-lod0-jg "an" 54) +(def-joint-node fort-fence-b-lod0-jg "am" 53) +(def-joint-node fort-fence-b-lod0-jg "al" 52) +(def-joint-node fort-fence-b-lod0-jg "ak" 51) +(def-joint-node fort-fence-b-lod0-jg "aj" 50) +(def-joint-node fort-fence-b-lod0-jg "ai" 49) +(def-joint-node fort-fence-b-lod0-jg "ah" 48) +(def-joint-node fort-fence-b-lod0-jg "ag" 47) +(def-joint-node fort-fence-b-lod0-jg "af" 46) +(def-joint-node fort-fence-b-lod0-jg "ae" 45) +(def-joint-node fort-fence-b-lod0-jg "ad" 44) +(def-joint-node fort-fence-b-lod0-jg "ac" 43) +(def-joint-node fort-fence-b-lod0-jg "ab" 42) +(def-joint-node fort-fence-b-lod0-jg "aa" 41) +(def-joint-node fort-fence-b-lod0-jg "zz" 40) +(def-joint-node fort-fence-b-lod0-jg "z" 39) +(def-joint-node fort-fence-b-lod0-jg "y" 38) +(def-joint-node fort-fence-b-lod0-jg "x" 37) +(def-joint-node fort-fence-b-lod0-jg "w" 36) +(def-joint-node fort-fence-b-lod0-jg "v" 35) +(def-joint-node fort-fence-b-lod0-jg "u" 34) +(def-joint-node fort-fence-b-lod0-jg "t" 33) +(def-joint-node fort-fence-b-lod0-jg "s" 32) +(def-joint-node fort-fence-b-lod0-jg "r" 31) +(def-joint-node fort-fence-b-lod0-jg "q" 30) +(def-joint-node fort-fence-b-lod0-jg "main" 13) +(def-joint-node fort-fence-b-lod0-jg "bj" 12) +(def-joint-node fort-fence-b-lod0-jg "bi" 11) +(def-joint-node fort-fence-b-lod0-jg "bh" 10) +(def-joint-node fort-fence-b-lod0-jg "bg" 9) +(def-joint-node fort-fence-b-lod0-jg "bf" 8) +(def-joint-node fort-fence-b-lod0-jg "be" 7) +(def-joint-node fort-fence-b-lod0-jg "bd" 6) +(def-joint-node fort-fence-b-lod0-jg "bc" 5) +(def-joint-node fort-fence-b-lod0-jg "bb" 4) +(def-joint-node fort-fence-b-lod0-jg "ba" 3) +(def-joint-node fort-fence-b-lod0-jg "prejoint" 2) +(def-joint-node fort-fence-b-lod0-jg "align" 1) +(def-joint-node fort-fence-b-lod0-jg "a" 14) +(def-joint-node fort-fence-b-lod0-jg "b" 15) +(def-joint-node fort-fence-b-lod0-jg "c" 16) +(def-joint-node fort-fence-b-lod0-jg "d" 17) +(def-joint-node fort-fence-b-lod0-jg "e" 18) +(def-joint-node fort-fence-b-lod0-jg "f" 19) +(def-joint-node fort-fence-b-lod0-jg "g" 20) +(def-joint-node fort-fence-b-lod0-jg "h" 21) +(def-joint-node fort-fence-b-lod0-jg "i" 22) +(def-joint-node fort-fence-b-lod0-jg "j" 23) +(def-joint-node fort-fence-b-lod0-jg "k" 24) +(def-joint-node fort-fence-b-lod0-jg "l" 25) +(def-joint-node fort-fence-b-lod0-jg "m" 26) +(def-joint-node fort-fence-b-lod0-jg "n" 27) +(def-joint-node fort-fence-b-lod0-jg "o" 28) +(def-joint-node fort-fence-b-lod0-jg "p" 29) + +(def-joint-node fort-turret-lod0-jg "lasersight_" 12) +(def-joint-node fort-turret-lod0-jg "trackgun" 11) +(def-joint-node fort-turret-lod0-jg "laser_shadow" 10) +(def-joint-node fort-turret-lod0-jg "gunfire3" 9) +(def-joint-node fort-turret-lod0-jg "gunfire2" 8) +(def-joint-node fort-turret-lod0-jg "gunfire1" 7) +(def-joint-node fort-turret-lod0-jg "recoiltrans" 6) +(def-joint-node fort-turret-lod0-jg "secrotate" 5) +(def-joint-node fort-turret-lod0-jg "headrotate" 4) +(def-joint-node fort-turret-lod0-jg "main" 3) +(def-joint-node fort-turret-lod0-jg "prejoint" 2) +(def-joint-node fort-turret-lod0-jg "align" 1) + +(def-joint-node tomb-boss-catwalk-b-lod0-jg "az" 56) +(def-joint-node tomb-boss-catwalk-b-lod0-jg "ay" 55) +(def-joint-node tomb-boss-catwalk-b-lod0-jg "ax" 54) +(def-joint-node tomb-boss-catwalk-b-lod0-jg "aw" 53) +(def-joint-node tomb-boss-catwalk-b-lod0-jg "av" 52) +(def-joint-node tomb-boss-catwalk-b-lod0-jg "au" 51) +(def-joint-node tomb-boss-catwalk-b-lod0-jg "at" 50) +(def-joint-node tomb-boss-catwalk-b-lod0-jg "as" 49) +(def-joint-node tomb-boss-catwalk-b-lod0-jg "ar" 48) +(def-joint-node tomb-boss-catwalk-b-lod0-jg "aq" 47) +(def-joint-node tomb-boss-catwalk-b-lod0-jg "ap" 46) +(def-joint-node tomb-boss-catwalk-b-lod0-jg "ao" 45) +(def-joint-node tomb-boss-catwalk-b-lod0-jg "an" 44) +(def-joint-node tomb-boss-catwalk-b-lod0-jg "am" 43) +(def-joint-node tomb-boss-catwalk-b-lod0-jg "al" 42) +(def-joint-node tomb-boss-catwalk-b-lod0-jg "ak" 41) +(def-joint-node tomb-boss-catwalk-b-lod0-jg "aj" 40) +(def-joint-node tomb-boss-catwalk-b-lod0-jg "ai" 39) +(def-joint-node tomb-boss-catwalk-b-lod0-jg "ah" 38) +(def-joint-node tomb-boss-catwalk-b-lod0-jg "ag" 37) +(def-joint-node tomb-boss-catwalk-b-lod0-jg "af" 36) +(def-joint-node tomb-boss-catwalk-b-lod0-jg "ae" 35) +(def-joint-node tomb-boss-catwalk-b-lod0-jg "ad" 34) +(def-joint-node tomb-boss-catwalk-b-lod0-jg "ac" 33) +(def-joint-node tomb-boss-catwalk-b-lod0-jg "ab" 32) +(def-joint-node tomb-boss-catwalk-b-lod0-jg "aa" 31) +(def-joint-node tomb-boss-catwalk-b-lod0-jg "main" 30) +(def-joint-node tomb-boss-catwalk-b-lod0-jg "j" 13) +(def-joint-node tomb-boss-catwalk-b-lod0-jg "i" 12) +(def-joint-node tomb-boss-catwalk-b-lod0-jg "h" 11) +(def-joint-node tomb-boss-catwalk-b-lod0-jg "g" 10) +(def-joint-node tomb-boss-catwalk-b-lod0-jg "f" 9) +(def-joint-node tomb-boss-catwalk-b-lod0-jg "e" 8) +(def-joint-node tomb-boss-catwalk-b-lod0-jg "d" 7) +(def-joint-node tomb-boss-catwalk-b-lod0-jg "c" 6) +(def-joint-node tomb-boss-catwalk-b-lod0-jg "b" 5) +(def-joint-node tomb-boss-catwalk-b-lod0-jg "a" 4) +(def-joint-node tomb-boss-catwalk-b-lod0-jg "explode" 3) +(def-joint-node tomb-boss-catwalk-b-lod0-jg "prejoint" 2) +(def-joint-node tomb-boss-catwalk-b-lod0-jg "align" 1) +(def-joint-node tomb-boss-catwalk-b-lod0-jg "k" 14) +(def-joint-node tomb-boss-catwalk-b-lod0-jg "l" 15) +(def-joint-node tomb-boss-catwalk-b-lod0-jg "m" 16) +(def-joint-node tomb-boss-catwalk-b-lod0-jg "n" 17) +(def-joint-node tomb-boss-catwalk-b-lod0-jg "o" 18) +(def-joint-node tomb-boss-catwalk-b-lod0-jg "p" 19) +(def-joint-node tomb-boss-catwalk-b-lod0-jg "q" 20) +(def-joint-node tomb-boss-catwalk-b-lod0-jg "r" 21) +(def-joint-node tomb-boss-catwalk-b-lod0-jg "s" 22) +(def-joint-node tomb-boss-catwalk-b-lod0-jg "t" 23) +(def-joint-node tomb-boss-catwalk-b-lod0-jg "u" 24) +(def-joint-node tomb-boss-catwalk-b-lod0-jg "v" 25) +(def-joint-node tomb-boss-catwalk-b-lod0-jg "w" 26) +(def-joint-node tomb-boss-catwalk-b-lod0-jg "x" 27) +(def-joint-node tomb-boss-catwalk-b-lod0-jg "y" 28) +(def-joint-node tomb-boss-catwalk-b-lod0-jg "z" 29) + +(def-joint-node fort-fence-a-lod0-jg "ag" 37) +(def-joint-node fort-fence-a-lod0-jg "af" 36) +(def-joint-node fort-fence-a-lod0-jg "ae" 35) +(def-joint-node fort-fence-a-lod0-jg "ad" 34) +(def-joint-node fort-fence-a-lod0-jg "ac" 33) +(def-joint-node fort-fence-a-lod0-jg "ab" 32) +(def-joint-node fort-fence-a-lod0-jg "aa" 31) +(def-joint-node fort-fence-a-lod0-jg "zz" 30) +(def-joint-node fort-fence-a-lod0-jg "j" 13) +(def-joint-node fort-fence-a-lod0-jg "i" 12) +(def-joint-node fort-fence-a-lod0-jg "h" 11) +(def-joint-node fort-fence-a-lod0-jg "g" 10) +(def-joint-node fort-fence-a-lod0-jg "f" 9) +(def-joint-node fort-fence-a-lod0-jg "e" 8) +(def-joint-node fort-fence-a-lod0-jg "d" 7) +(def-joint-node fort-fence-a-lod0-jg "c" 6) +(def-joint-node fort-fence-a-lod0-jg "b" 5) +(def-joint-node fort-fence-a-lod0-jg "a" 4) +(def-joint-node fort-fence-a-lod0-jg "main" 3) +(def-joint-node fort-fence-a-lod0-jg "prejoint" 2) +(def-joint-node fort-fence-a-lod0-jg "align" 1) +(def-joint-node fort-fence-a-lod0-jg "k" 14) +(def-joint-node fort-fence-a-lod0-jg "l" 15) +(def-joint-node fort-fence-a-lod0-jg "m" 16) +(def-joint-node fort-fence-a-lod0-jg "n" 17) +(def-joint-node fort-fence-a-lod0-jg "o" 18) +(def-joint-node fort-fence-a-lod0-jg "p" 19) +(def-joint-node fort-fence-a-lod0-jg "q" 20) +(def-joint-node fort-fence-a-lod0-jg "r" 21) +(def-joint-node fort-fence-a-lod0-jg "s" 22) +(def-joint-node fort-fence-a-lod0-jg "t" 23) +(def-joint-node fort-fence-a-lod0-jg "u" 24) +(def-joint-node fort-fence-a-lod0-jg "v" 25) +(def-joint-node fort-fence-a-lod0-jg "w" 26) +(def-joint-node fort-fence-a-lod0-jg "x" 27) +(def-joint-node fort-fence-a-lod0-jg "y" 28) +(def-joint-node fort-fence-a-lod0-jg "z" 29) + +(def-joint-node squid-squid-shield-lod0-jg "thrusterRD" 66) +(def-joint-node squid-squid-shield-lod0-jg "thrusterRC" 65) +(def-joint-node squid-squid-shield-lod0-jg "thrusterRB" 64) +(def-joint-node squid-squid-shield-lod0-jg "thrusterR" 63) +(def-joint-node squid-squid-shield-lod0-jg "thrusterMountRB" 62) +(def-joint-node squid-squid-shield-lod0-jg "thrusterMountR" 61) +(def-joint-node squid-squid-shield-lod0-jg "thrusterMountLB" 60) +(def-joint-node squid-squid-shield-lod0-jg "podLB" 29) +(def-joint-node squid-squid-shield-lod0-jg "podL" 28) +(def-joint-node squid-squid-shield-lod0-jg "miniShieldD" 27) +(def-joint-node squid-squid-shield-lod0-jg "miniShieldC" 26) +(def-joint-node squid-squid-shield-lod0-jg "miniShieldB" 25) +(def-joint-node squid-squid-shield-lod0-jg "miniShield" 24) +(def-joint-node squid-squid-shield-lod0-jg "gunSquashTopRB" 23) +(def-joint-node squid-squid-shield-lod0-jg "gunSquashTopR" 22) +(def-joint-node squid-squid-shield-lod0-jg "gunSquashTopLB" 21) +(def-joint-node squid-squid-shield-lod0-jg "gunSquashTopL" 20) +(def-joint-node squid-squid-shield-lod0-jg "gunSquashBotRB" 19) +(def-joint-node squid-squid-shield-lod0-jg "gunSquashBotR" 18) +(def-joint-node squid-squid-shield-lod0-jg "gunSquashBotLB" 17) +(def-joint-node squid-squid-shield-lod0-jg "gunSquashBotL" 16) +(def-joint-node squid-squid-shield-lod0-jg "cockpitL" 15) +(def-joint-node squid-squid-shield-lod0-jg "cockpitK" 14) +(def-joint-node squid-squid-shield-lod0-jg "align" 1) +(def-joint-node squid-squid-shield-lod0-jg "prejoint" 2) +(def-joint-node squid-squid-shield-lod0-jg "main" 3) +(def-joint-node squid-squid-shield-lod0-jg "cockpit" 4) +(def-joint-node squid-squid-shield-lod0-jg "cockpitB" 5) +(def-joint-node squid-squid-shield-lod0-jg "cockpitC" 6) +(def-joint-node squid-squid-shield-lod0-jg "cockpitD" 7) +(def-joint-node squid-squid-shield-lod0-jg "cockpitE" 8) +(def-joint-node squid-squid-shield-lod0-jg "cockpitF" 9) +(def-joint-node squid-squid-shield-lod0-jg "cockpitG" 10) +(def-joint-node squid-squid-shield-lod0-jg "cockpitH" 11) +(def-joint-node squid-squid-shield-lod0-jg "cockpitI" 12) +(def-joint-node squid-squid-shield-lod0-jg "cockpitJ" 13) +(def-joint-node squid-squid-shield-lod0-jg "podLC" 30) +(def-joint-node squid-squid-shield-lod0-jg "podR" 31) +(def-joint-node squid-squid-shield-lod0-jg "podRB" 32) +(def-joint-node squid-squid-shield-lod0-jg "podRC" 33) +(def-joint-node squid-squid-shield-lod0-jg "shield" 34) +(def-joint-node squid-squid-shield-lod0-jg "shieldB" 35) +(def-joint-node squid-squid-shield-lod0-jg "shieldMid" 36) +(def-joint-node squid-squid-shield-lod0-jg "shieldMidB" 37) +(def-joint-node squid-squid-shield-lod0-jg "shieldMidC" 38) +(def-joint-node squid-squid-shield-lod0-jg "tentacleBase" 39) +(def-joint-node squid-squid-shield-lod0-jg "tentacleBaseB" 40) +(def-joint-node squid-squid-shield-lod0-jg "tentacleBaseC" 41) +(def-joint-node squid-squid-shield-lod0-jg "tentacleBaseD" 42) +(def-joint-node squid-squid-shield-lod0-jg "tentacleBaseE" 43) +(def-joint-node squid-squid-shield-lod0-jg "thrusterArmBotMidL" 44) +(def-joint-node squid-squid-shield-lod0-jg "thrusterArmBotMidLB" 45) +(def-joint-node squid-squid-shield-lod0-jg "thrusterArmBotMidR" 46) +(def-joint-node squid-squid-shield-lod0-jg "thrusterArmBotR" 47) +(def-joint-node squid-squid-shield-lod0-jg "thrusterArmTopMidL" 48) +(def-joint-node squid-squid-shield-lod0-jg "thrusterArmTopMidR" 49) +(def-joint-node squid-squid-shield-lod0-jg "thrusterBase" 50) +(def-joint-node squid-squid-shield-lod0-jg "thrusterBaseB" 51) +(def-joint-node squid-squid-shield-lod0-jg "thrusterBaseC" 52) +(def-joint-node squid-squid-shield-lod0-jg "thrusterBaseD" 53) +(def-joint-node squid-squid-shield-lod0-jg "thrusterL" 54) +(def-joint-node squid-squid-shield-lod0-jg "thrusterLB" 55) +(def-joint-node squid-squid-shield-lod0-jg "thrusterLC" 56) +(def-joint-node squid-squid-shield-lod0-jg "thrusterLD" 57) +(def-joint-node squid-squid-shield-lod0-jg "thrusterLE" 58) +(def-joint-node squid-squid-shield-lod0-jg "thrusterMountL" 59) + +(def-joint-node grunt-fma-lod0-jg "RoutsideClaw" 49) +(def-joint-node grunt-fma-lod0-jg "RinsideClaw" 48) +(def-joint-node grunt-fma-lod0-jg "Rball" 47) +(def-joint-node grunt-fma-lod0-jg "Rankle" 46) +(def-joint-node grunt-fma-lod0-jg "Rhindcannon" 45) +(def-joint-node grunt-fma-lod0-jg "Rknee" 44) +(def-joint-node grunt-fma-lod0-jg "Rthigh" 43) +(def-joint-node grunt-fma-lod0-jg "tail6" 42) +(def-joint-node grunt-fma-lod0-jg "tail5" 41) +(def-joint-node grunt-fma-lod0-jg "tail4" 40) +(def-joint-node grunt-fma-lod0-jg "tail3" 39) +(def-joint-node grunt-fma-lod0-jg "tail2" 38) +(def-joint-node grunt-fma-lod0-jg "tail1" 37) +(def-joint-node grunt-fma-lod0-jg "LoutsideClaw" 36) +(def-joint-node grunt-fma-lod0-jg "LinsideClaw" 35) +(def-joint-node grunt-fma-lod0-jg "Lball" 34) +(def-joint-node grunt-fma-lod0-jg "Lankle" 33) +(def-joint-node grunt-fma-lod0-jg "Lhindcannon" 32) +(def-joint-node grunt-fma-lod0-jg "Lknee" 31) +(def-joint-node grunt-fma-lod0-jg "Lthigh" 30) +(def-joint-node grunt-fma-lod0-jg "LthumbB" 13) +(def-joint-node grunt-fma-lod0-jg "LthumbA" 12) +(def-joint-node grunt-fma-lod0-jg "Lhand" 11) +(def-joint-node grunt-fma-lod0-jg "Lfrontcannon" 10) +(def-joint-node grunt-fma-lod0-jg "Lelbow" 9) +(def-joint-node grunt-fma-lod0-jg "Lshoulder" 8) +(def-joint-node grunt-fma-lod0-jg "jaw" 7) +(def-joint-node grunt-fma-lod0-jg "head" 6) +(def-joint-node grunt-fma-lod0-jg "neck" 5) +(def-joint-node grunt-fma-lod0-jg "chest" 4) +(def-joint-node grunt-fma-lod0-jg "main" 3) +(def-joint-node grunt-fma-lod0-jg "prejoint" 2) +(def-joint-node grunt-fma-lod0-jg "align" 1) +(def-joint-node grunt-fma-lod0-jg "LmiddleA" 14) +(def-joint-node grunt-fma-lod0-jg "LmiddleB" 15) +(def-joint-node grunt-fma-lod0-jg "Lbracelet" 16) +(def-joint-node grunt-fma-lod0-jg "Rshoulder" 17) +(def-joint-node grunt-fma-lod0-jg "Relbow" 18) +(def-joint-node grunt-fma-lod0-jg "Rfrontcannon" 19) +(def-joint-node grunt-fma-lod0-jg "Rhand" 20) +(def-joint-node grunt-fma-lod0-jg "RthumbA" 21) +(def-joint-node grunt-fma-lod0-jg "RthumbB" 22) +(def-joint-node grunt-fma-lod0-jg "RmiddleA" 23) +(def-joint-node grunt-fma-lod0-jg "RmiddleB" 24) +(def-joint-node grunt-fma-lod0-jg "Rbracelet" 25) +(def-joint-node grunt-fma-lod0-jg "LshoulderGuard" 26) +(def-joint-node grunt-fma-lod0-jg "RshoulderGuard" 27) +(def-joint-node grunt-fma-lod0-jg "loSpine" 28) +(def-joint-node grunt-fma-lod0-jg "hips" 29) + +(def-joint-node cas-electric-fence-explode-lod0-jg "o" 17) +(def-joint-node cas-electric-fence-explode-lod0-jg "n" 16) +(def-joint-node cas-electric-fence-explode-lod0-jg "m" 15) +(def-joint-node cas-electric-fence-explode-lod0-jg "l" 14) +(def-joint-node cas-electric-fence-explode-lod0-jg "align" 1) +(def-joint-node cas-electric-fence-explode-lod0-jg "prejoint" 2) +(def-joint-node cas-electric-fence-explode-lod0-jg "a" 3) +(def-joint-node cas-electric-fence-explode-lod0-jg "b" 4) +(def-joint-node cas-electric-fence-explode-lod0-jg "c" 5) +(def-joint-node cas-electric-fence-explode-lod0-jg "d" 6) +(def-joint-node cas-electric-fence-explode-lod0-jg "e" 7) +(def-joint-node cas-electric-fence-explode-lod0-jg "f" 8) +(def-joint-node cas-electric-fence-explode-lod0-jg "g" 9) +(def-joint-node cas-electric-fence-explode-lod0-jg "h" 10) +(def-joint-node cas-electric-fence-explode-lod0-jg "i" 11) +(def-joint-node cas-electric-fence-explode-lod0-jg "j" 12) +(def-joint-node cas-electric-fence-explode-lod0-jg "k" 13) + +(def-joint-node cas-chain-plat-lod0-jg "door" 4) +(def-joint-node cas-chain-plat-lod0-jg "main" 3) +(def-joint-node cas-chain-plat-lod0-jg "prejoint" 2) +(def-joint-node cas-chain-plat-lod0-jg "align" 1) + +(def-joint-node bikeb-lod0-jg "rkid" 11) +(def-joint-node bikeb-lod0-jg "tailfinr_" 10) +(def-joint-node bikeb-lod0-jg "braker_" 9) +(def-joint-node bikeb-lod0-jg "brakel_" 8) +(def-joint-node bikeb-lod0-jg "frontfin_" 7) +(def-joint-node bikeb-lod0-jg "rudder_" 6) +(def-joint-node bikeb-lod0-jg "lkid" 5) +(def-joint-node bikeb-lod0-jg "tailfinl_" 4) +(def-joint-node bikeb-lod0-jg "main_" 3) +(def-joint-node bikeb-lod0-jg "prejoint" 2) +(def-joint-node bikeb-lod0-jg "align" 1) + +(def-joint-node cas-button-lod0-jg "main" 3) +(def-joint-node cas-button-lod0-jg "prejoint" 2) +(def-joint-node cas-button-lod0-jg "align" 1) + +(def-joint-node board-lod0-jg "centerDome" 14) +(def-joint-node board-lod0-jg "align" 1) +(def-joint-node board-lod0-jg "prejoint" 2) +(def-joint-node board-lod0-jg "main" 3) +(def-joint-node board-lod0-jg "centerTip" 4) +(def-joint-node board-lod0-jg "leftTip" 5) +(def-joint-node board-lod0-jg "leftFin" 6) +(def-joint-node board-lod0-jg "leftTail" 7) +(def-joint-node board-lod0-jg "centerTail" 8) +(def-joint-node board-lod0-jg "rightTail" 9) +(def-joint-node board-lod0-jg "rightFin" 10) +(def-joint-node board-lod0-jg "rightTip" 11) +(def-joint-node board-lod0-jg "outerScale" 12) +(def-joint-node board-lod0-jg "innerScale" 13) + +(def-joint-node squid-tentacle-lod0-jg "tentaclePick" 14) +(def-joint-node squid-tentacle-lod0-jg "align" 1) +(def-joint-node squid-tentacle-lod0-jg "prejoint" 2) +(def-joint-node squid-tentacle-lod0-jg "tentacleA" 3) +(def-joint-node squid-tentacle-lod0-jg "tentacleB" 4) +(def-joint-node squid-tentacle-lod0-jg "tentacleC" 5) +(def-joint-node squid-tentacle-lod0-jg "tentacleD" 6) +(def-joint-node squid-tentacle-lod0-jg "tentacleE" 7) +(def-joint-node squid-tentacle-lod0-jg "tentacleF" 8) +(def-joint-node squid-tentacle-lod0-jg "tentacleG" 9) +(def-joint-node squid-tentacle-lod0-jg "tentacleH" 10) +(def-joint-node squid-tentacle-lod0-jg "tentacleI" 11) +(def-joint-node squid-tentacle-lod0-jg "tentacleJ" 12) +(def-joint-node squid-tentacle-lod0-jg "tentacleK" 13) + +(def-joint-node cas-flag-b-lod0-jg "4" 6) +(def-joint-node cas-flag-b-lod0-jg "3" 5) +(def-joint-node cas-flag-b-lod0-jg "2" 4) +(def-joint-node cas-flag-b-lod0-jg "main" 3) +(def-joint-node cas-flag-b-lod0-jg "prejoint" 2) +(def-joint-node cas-flag-b-lod0-jg "align" 1) + +(def-joint-node consite-break-scaffold-a-break-b-lod0-jg "cw" 34) +(def-joint-node consite-break-scaffold-a-break-b-lod0-jg "cv" 33) +(def-joint-node consite-break-scaffold-a-break-b-lod0-jg "cu" 32) +(def-joint-node consite-break-scaffold-a-break-b-lod0-jg "ct" 31) +(def-joint-node consite-break-scaffold-a-break-b-lod0-jg "cs" 30) +(def-joint-node consite-break-scaffold-a-break-b-lod0-jg "cb" 13) +(def-joint-node consite-break-scaffold-a-break-b-lod0-jg "ca" 12) +(def-joint-node consite-break-scaffold-a-break-b-lod0-jg "bz" 11) +(def-joint-node consite-break-scaffold-a-break-b-lod0-jg "by" 10) +(def-joint-node consite-break-scaffold-a-break-b-lod0-jg "bx" 9) +(def-joint-node consite-break-scaffold-a-break-b-lod0-jg "bw" 8) +(def-joint-node consite-break-scaffold-a-break-b-lod0-jg "bv" 7) +(def-joint-node consite-break-scaffold-a-break-b-lod0-jg "bu" 6) +(def-joint-node consite-break-scaffold-a-break-b-lod0-jg "bt" 5) +(def-joint-node consite-break-scaffold-a-break-b-lod0-jg "bs" 4) +(def-joint-node consite-break-scaffold-a-break-b-lod0-jg "main" 3) +(def-joint-node consite-break-scaffold-a-break-b-lod0-jg "prejoint" 2) +(def-joint-node consite-break-scaffold-a-break-b-lod0-jg "align" 1) +(def-joint-node consite-break-scaffold-a-break-b-lod0-jg "cc" 14) +(def-joint-node consite-break-scaffold-a-break-b-lod0-jg "cd" 15) +(def-joint-node consite-break-scaffold-a-break-b-lod0-jg "ce" 16) +(def-joint-node consite-break-scaffold-a-break-b-lod0-jg "cf" 17) +(def-joint-node consite-break-scaffold-a-break-b-lod0-jg "cg" 18) +(def-joint-node consite-break-scaffold-a-break-b-lod0-jg "ch" 19) +(def-joint-node consite-break-scaffold-a-break-b-lod0-jg "ci" 20) +(def-joint-node consite-break-scaffold-a-break-b-lod0-jg "cj" 21) +(def-joint-node consite-break-scaffold-a-break-b-lod0-jg "ck" 22) +(def-joint-node consite-break-scaffold-a-break-b-lod0-jg "cl" 23) +(def-joint-node consite-break-scaffold-a-break-b-lod0-jg "cm" 24) +(def-joint-node consite-break-scaffold-a-break-b-lod0-jg "cn" 25) +(def-joint-node consite-break-scaffold-a-break-b-lod0-jg "co" 26) +(def-joint-node consite-break-scaffold-a-break-b-lod0-jg "cp" 27) +(def-joint-node consite-break-scaffold-a-break-b-lod0-jg "cq" 28) +(def-joint-node consite-break-scaffold-a-break-b-lod0-jg "cr" 29) + +(def-joint-node consite-break-scaffold-a-break-c-lod0-jg "fe" 62) +(def-joint-node consite-break-scaffold-a-break-c-lod0-jg "fd" 61) +(def-joint-node consite-break-scaffold-a-break-c-lod0-jg "fc" 60) +(def-joint-node consite-break-scaffold-a-break-c-lod0-jg "dx" 29) +(def-joint-node consite-break-scaffold-a-break-c-lod0-jg "dw" 28) +(def-joint-node consite-break-scaffold-a-break-c-lod0-jg "dv" 27) +(def-joint-node consite-break-scaffold-a-break-c-lod0-jg "du" 26) +(def-joint-node consite-break-scaffold-a-break-c-lod0-jg "dt" 25) +(def-joint-node consite-break-scaffold-a-break-c-lod0-jg "ds" 24) +(def-joint-node consite-break-scaffold-a-break-c-lod0-jg "dr" 23) +(def-joint-node consite-break-scaffold-a-break-c-lod0-jg "dq" 22) +(def-joint-node consite-break-scaffold-a-break-c-lod0-jg "dp" 21) +(def-joint-node consite-break-scaffold-a-break-c-lod0-jg "do" 20) +(def-joint-node consite-break-scaffold-a-break-c-lod0-jg "dn" 19) +(def-joint-node consite-break-scaffold-a-break-c-lod0-jg "dm" 18) +(def-joint-node consite-break-scaffold-a-break-c-lod0-jg "dl" 17) +(def-joint-node consite-break-scaffold-a-break-c-lod0-jg "dk" 16) +(def-joint-node consite-break-scaffold-a-break-c-lod0-jg "dj" 15) +(def-joint-node consite-break-scaffold-a-break-c-lod0-jg "di" 14) +(def-joint-node consite-break-scaffold-a-break-c-lod0-jg "align" 1) +(def-joint-node consite-break-scaffold-a-break-c-lod0-jg "prejoint" 2) +(def-joint-node consite-break-scaffold-a-break-c-lod0-jg "main" 3) +(def-joint-node consite-break-scaffold-a-break-c-lod0-jg "cy" 4) +(def-joint-node consite-break-scaffold-a-break-c-lod0-jg "cz" 5) +(def-joint-node consite-break-scaffold-a-break-c-lod0-jg "da" 6) +(def-joint-node consite-break-scaffold-a-break-c-lod0-jg "db" 7) +(def-joint-node consite-break-scaffold-a-break-c-lod0-jg "dc" 8) +(def-joint-node consite-break-scaffold-a-break-c-lod0-jg "dd" 9) +(def-joint-node consite-break-scaffold-a-break-c-lod0-jg "de" 10) +(def-joint-node consite-break-scaffold-a-break-c-lod0-jg "df" 11) +(def-joint-node consite-break-scaffold-a-break-c-lod0-jg "dg" 12) +(def-joint-node consite-break-scaffold-a-break-c-lod0-jg "dh" 13) +(def-joint-node consite-break-scaffold-a-break-c-lod0-jg "dy" 30) +(def-joint-node consite-break-scaffold-a-break-c-lod0-jg "dz" 31) +(def-joint-node consite-break-scaffold-a-break-c-lod0-jg "ea" 32) +(def-joint-node consite-break-scaffold-a-break-c-lod0-jg "eb" 33) +(def-joint-node consite-break-scaffold-a-break-c-lod0-jg "ec" 34) +(def-joint-node consite-break-scaffold-a-break-c-lod0-jg "ed" 35) +(def-joint-node consite-break-scaffold-a-break-c-lod0-jg "ee" 36) +(def-joint-node consite-break-scaffold-a-break-c-lod0-jg "ef" 37) +(def-joint-node consite-break-scaffold-a-break-c-lod0-jg "eg" 38) +(def-joint-node consite-break-scaffold-a-break-c-lod0-jg "eh" 39) +(def-joint-node consite-break-scaffold-a-break-c-lod0-jg "ei" 40) +(def-joint-node consite-break-scaffold-a-break-c-lod0-jg "ej" 41) +(def-joint-node consite-break-scaffold-a-break-c-lod0-jg "ek" 42) +(def-joint-node consite-break-scaffold-a-break-c-lod0-jg "el" 43) +(def-joint-node consite-break-scaffold-a-break-c-lod0-jg "em" 44) +(def-joint-node consite-break-scaffold-a-break-c-lod0-jg "en" 45) +(def-joint-node consite-break-scaffold-a-break-c-lod0-jg "eo" 46) +(def-joint-node consite-break-scaffold-a-break-c-lod0-jg "ep" 47) +(def-joint-node consite-break-scaffold-a-break-c-lod0-jg "eq" 48) +(def-joint-node consite-break-scaffold-a-break-c-lod0-jg "er" 49) +(def-joint-node consite-break-scaffold-a-break-c-lod0-jg "es" 50) +(def-joint-node consite-break-scaffold-a-break-c-lod0-jg "et" 51) +(def-joint-node consite-break-scaffold-a-break-c-lod0-jg "eu" 52) +(def-joint-node consite-break-scaffold-a-break-c-lod0-jg "ev" 53) +(def-joint-node consite-break-scaffold-a-break-c-lod0-jg "ew" 54) +(def-joint-node consite-break-scaffold-a-break-c-lod0-jg "ex" 55) +(def-joint-node consite-break-scaffold-a-break-c-lod0-jg "ey" 56) +(def-joint-node consite-break-scaffold-a-break-c-lod0-jg "ez" 57) +(def-joint-node consite-break-scaffold-a-break-c-lod0-jg "fa" 58) +(def-joint-node consite-break-scaffold-a-break-c-lod0-jg "fb" 59) + +(def-joint-node sew-gold-key-lod0-jg "key" 3) +(def-joint-node sew-gold-key-lod0-jg "prejoint" 2) +(def-joint-node sew-gold-key-lod0-jg "align" 1) + +(def-joint-node consite-bomb-elevator-lod0-jg "screw_d" 7) +(def-joint-node consite-bomb-elevator-lod0-jg "screw_c" 6) +(def-joint-node consite-bomb-elevator-lod0-jg "screw_b" 5) +(def-joint-node consite-bomb-elevator-lod0-jg "screw_a" 4) +(def-joint-node consite-bomb-elevator-lod0-jg "elevator" 3) +(def-joint-node consite-bomb-elevator-lod0-jg "prejoint" 2) +(def-joint-node consite-bomb-elevator-lod0-jg "align" 1) + +(def-joint-node mtn-gear-device-gear-lod0-jg "gear_rotation" 4) +(def-joint-node mtn-gear-device-gear-lod0-jg "main" 3) +(def-joint-node mtn-gear-device-gear-lod0-jg "prejoint" 2) +(def-joint-node mtn-gear-device-gear-lod0-jg "align" 1) + +(def-joint-node hip-bottle-b-lod0-jg "base" 5) +(def-joint-node hip-bottle-b-lod0-jg "middle" 4) +(def-joint-node hip-bottle-b-lod0-jg "neck_" 3) +(def-joint-node hip-bottle-b-lod0-jg "prejoint" 2) +(def-joint-node hip-bottle-b-lod0-jg "align" 1) + +(def-joint-node tomb-boulder-explode-lod0-jg "al" 41) +(def-joint-node tomb-boulder-explode-lod0-jg "ak" 40) +(def-joint-node tomb-boulder-explode-lod0-jg "aj" 39) +(def-joint-node tomb-boulder-explode-lod0-jg "ai" 38) +(def-joint-node tomb-boulder-explode-lod0-jg "ah" 37) +(def-joint-node tomb-boulder-explode-lod0-jg "ag" 36) +(def-joint-node tomb-boulder-explode-lod0-jg "af" 35) +(def-joint-node tomb-boulder-explode-lod0-jg "ae" 34) +(def-joint-node tomb-boulder-explode-lod0-jg "ad" 33) +(def-joint-node tomb-boulder-explode-lod0-jg "ac" 32) +(def-joint-node tomb-boulder-explode-lod0-jg "ab" 31) +(def-joint-node tomb-boulder-explode-lod0-jg "aa" 30) +(def-joint-node tomb-boulder-explode-lod0-jg "j" 13) +(def-joint-node tomb-boulder-explode-lod0-jg "i" 12) +(def-joint-node tomb-boulder-explode-lod0-jg "h" 11) +(def-joint-node tomb-boulder-explode-lod0-jg "g" 10) +(def-joint-node tomb-boulder-explode-lod0-jg "f" 9) +(def-joint-node tomb-boulder-explode-lod0-jg "e" 8) +(def-joint-node tomb-boulder-explode-lod0-jg "d" 7) +(def-joint-node tomb-boulder-explode-lod0-jg "c" 6) +(def-joint-node tomb-boulder-explode-lod0-jg "b" 5) +(def-joint-node tomb-boulder-explode-lod0-jg "a" 4) +(def-joint-node tomb-boulder-explode-lod0-jg "main" 3) +(def-joint-node tomb-boulder-explode-lod0-jg "prejoint" 2) +(def-joint-node tomb-boulder-explode-lod0-jg "align" 1) +(def-joint-node tomb-boulder-explode-lod0-jg "k" 14) +(def-joint-node tomb-boulder-explode-lod0-jg "l" 15) +(def-joint-node tomb-boulder-explode-lod0-jg "m" 16) +(def-joint-node tomb-boulder-explode-lod0-jg "n" 17) +(def-joint-node tomb-boulder-explode-lod0-jg "o" 18) +(def-joint-node tomb-boulder-explode-lod0-jg "p" 19) +(def-joint-node tomb-boulder-explode-lod0-jg "q" 20) +(def-joint-node tomb-boulder-explode-lod0-jg "r" 21) +(def-joint-node tomb-boulder-explode-lod0-jg "s" 22) +(def-joint-node tomb-boulder-explode-lod0-jg "t" 23) +(def-joint-node tomb-boulder-explode-lod0-jg "u" 24) +(def-joint-node tomb-boulder-explode-lod0-jg "v" 25) +(def-joint-node tomb-boulder-explode-lod0-jg "w" 26) +(def-joint-node tomb-boulder-explode-lod0-jg "x" 27) +(def-joint-node tomb-boulder-explode-lod0-jg "y" 28) +(def-joint-node tomb-boulder-explode-lod0-jg "z" 29) + +(def-joint-node tomb-boulder-stop-lod0-jg "as" 52) +(def-joint-node tomb-boulder-stop-lod0-jg "ar" 51) +(def-joint-node tomb-boulder-stop-lod0-jg "aq" 50) +(def-joint-node tomb-boulder-stop-lod0-jg "ao" 49) +(def-joint-node tomb-boulder-stop-lod0-jg "ap" 48) +(def-joint-node tomb-boulder-stop-lod0-jg "an" 47) +(def-joint-node tomb-boulder-stop-lod0-jg "am" 46) +(def-joint-node tomb-boulder-stop-lod0-jg "al" 45) +(def-joint-node tomb-boulder-stop-lod0-jg "ak" 44) +(def-joint-node tomb-boulder-stop-lod0-jg "aj" 43) +(def-joint-node tomb-boulder-stop-lod0-jg "ai" 42) +(def-joint-node tomb-boulder-stop-lod0-jg "ah" 41) +(def-joint-node tomb-boulder-stop-lod0-jg "ag" 40) +(def-joint-node tomb-boulder-stop-lod0-jg "af" 39) +(def-joint-node tomb-boulder-stop-lod0-jg "ae" 38) +(def-joint-node tomb-boulder-stop-lod0-jg "ad" 37) +(def-joint-node tomb-boulder-stop-lod0-jg "ac" 36) +(def-joint-node tomb-boulder-stop-lod0-jg "ab" 35) +(def-joint-node tomb-boulder-stop-lod0-jg "aa" 34) +(def-joint-node tomb-boulder-stop-lod0-jg "z" 33) +(def-joint-node tomb-boulder-stop-lod0-jg "y" 32) +(def-joint-node tomb-boulder-stop-lod0-jg "x" 31) +(def-joint-node tomb-boulder-stop-lod0-jg "w" 30) +(def-joint-node tomb-boulder-stop-lod0-jg "f" 13) +(def-joint-node tomb-boulder-stop-lod0-jg "e" 12) +(def-joint-node tomb-boulder-stop-lod0-jg "d" 11) +(def-joint-node tomb-boulder-stop-lod0-jg "c" 10) +(def-joint-node tomb-boulder-stop-lod0-jg "b" 9) +(def-joint-node tomb-boulder-stop-lod0-jg "a" 8) +(def-joint-node tomb-boulder-stop-lod0-jg "main" 7) +(def-joint-node tomb-boulder-stop-lod0-jg "explode_d" 6) +(def-joint-node tomb-boulder-stop-lod0-jg "explode_c" 5) +(def-joint-node tomb-boulder-stop-lod0-jg "explode_b" 4) +(def-joint-node tomb-boulder-stop-lod0-jg "explode_a" 3) +(def-joint-node tomb-boulder-stop-lod0-jg "prejoint" 2) +(def-joint-node tomb-boulder-stop-lod0-jg "align" 1) +(def-joint-node tomb-boulder-stop-lod0-jg "g" 14) +(def-joint-node tomb-boulder-stop-lod0-jg "h" 15) +(def-joint-node tomb-boulder-stop-lod0-jg "i" 16) +(def-joint-node tomb-boulder-stop-lod0-jg "j" 17) +(def-joint-node tomb-boulder-stop-lod0-jg "k" 18) +(def-joint-node tomb-boulder-stop-lod0-jg "l" 19) +(def-joint-node tomb-boulder-stop-lod0-jg "m" 20) +(def-joint-node tomb-boulder-stop-lod0-jg "n" 21) +(def-joint-node tomb-boulder-stop-lod0-jg "o" 22) +(def-joint-node tomb-boulder-stop-lod0-jg "p" 23) +(def-joint-node tomb-boulder-stop-lod0-jg "q" 24) +(def-joint-node tomb-boulder-stop-lod0-jg "r" 25) +(def-joint-node tomb-boulder-stop-lod0-jg "s" 26) +(def-joint-node tomb-boulder-stop-lod0-jg "t" 27) +(def-joint-node tomb-boulder-stop-lod0-jg "u" 28) +(def-joint-node tomb-boulder-stop-lod0-jg "v" 29) + +(def-joint-node tomb-boulder-spider-lod0-jg "right_palp" 40) +(def-joint-node tomb-boulder-spider-lod0-jg "left_palp" 39) +(def-joint-node tomb-boulder-spider-lod0-jg "right_tarsus_d" 38) +(def-joint-node tomb-boulder-spider-lod0-jg "right_metatarsus_d" 37) +(def-joint-node tomb-boulder-spider-lod0-jg "right_patella_d" 36) +(def-joint-node tomb-boulder-spider-lod0-jg "right_temur_d" 35) +(def-joint-node tomb-boulder-spider-lod0-jg "right_tarsus_c" 34) +(def-joint-node tomb-boulder-spider-lod0-jg "right_metatarsus_c" 33) +(def-joint-node tomb-boulder-spider-lod0-jg "right_patella_c" 32) +(def-joint-node tomb-boulder-spider-lod0-jg "right_temur_c" 31) +(def-joint-node tomb-boulder-spider-lod0-jg "right_tarsus_b" 30) +(def-joint-node tomb-boulder-spider-lod0-jg "left_metatarsus_b" 13) +(def-joint-node tomb-boulder-spider-lod0-jg "left_patella_b" 12) +(def-joint-node tomb-boulder-spider-lod0-jg "left_temur_b" 11) +(def-joint-node tomb-boulder-spider-lod0-jg "left_tarsus_a" 10) +(def-joint-node tomb-boulder-spider-lod0-jg "left_metatarsus_a" 9) +(def-joint-node tomb-boulder-spider-lod0-jg "left_patella_a" 8) +(def-joint-node tomb-boulder-spider-lod0-jg "left_temur_a" 7) +(def-joint-node tomb-boulder-spider-lod0-jg "abdomen" 6) +(def-joint-node tomb-boulder-spider-lod0-jg "jaw_open" 5) +(def-joint-node tomb-boulder-spider-lod0-jg "head" 4) +(def-joint-node tomb-boulder-spider-lod0-jg "main" 3) +(def-joint-node tomb-boulder-spider-lod0-jg "prejoint" 2) +(def-joint-node tomb-boulder-spider-lod0-jg "align" 1) +(def-joint-node tomb-boulder-spider-lod0-jg "left_tarsus_b" 14) +(def-joint-node tomb-boulder-spider-lod0-jg "left_temur_c" 15) +(def-joint-node tomb-boulder-spider-lod0-jg "left_patella_c" 16) +(def-joint-node tomb-boulder-spider-lod0-jg "left_metatarsus_c" 17) +(def-joint-node tomb-boulder-spider-lod0-jg "left_tarsus_c" 18) +(def-joint-node tomb-boulder-spider-lod0-jg "left_temur_d" 19) +(def-joint-node tomb-boulder-spider-lod0-jg "left_patella_d" 20) +(def-joint-node tomb-boulder-spider-lod0-jg "left_metatarsus_d" 21) +(def-joint-node tomb-boulder-spider-lod0-jg "left_tarsus_d" 22) +(def-joint-node tomb-boulder-spider-lod0-jg "right_temur_a" 23) +(def-joint-node tomb-boulder-spider-lod0-jg "right_patella_a" 24) +(def-joint-node tomb-boulder-spider-lod0-jg "right_metatarsus_a" 25) +(def-joint-node tomb-boulder-spider-lod0-jg "right_tarsus_a" 26) +(def-joint-node tomb-boulder-spider-lod0-jg "right_temur_b" 27) +(def-joint-node tomb-boulder-spider-lod0-jg "right_patella_b" 28) +(def-joint-node tomb-boulder-spider-lod0-jg "right_metatarsus_b" 29) + +(def-joint-node under-mine-explode-lod0-jg "q" 19) +(def-joint-node under-mine-explode-lod0-jg "p" 18) +(def-joint-node under-mine-explode-lod0-jg "o" 17) +(def-joint-node under-mine-explode-lod0-jg "n" 16) +(def-joint-node under-mine-explode-lod0-jg "m" 15) +(def-joint-node under-mine-explode-lod0-jg "l" 14) +(def-joint-node under-mine-explode-lod0-jg "align" 1) +(def-joint-node under-mine-explode-lod0-jg "prejoint" 2) +(def-joint-node under-mine-explode-lod0-jg "a" 3) +(def-joint-node under-mine-explode-lod0-jg "b" 4) +(def-joint-node under-mine-explode-lod0-jg "c" 5) +(def-joint-node under-mine-explode-lod0-jg "d" 6) +(def-joint-node under-mine-explode-lod0-jg "e" 7) +(def-joint-node under-mine-explode-lod0-jg "f" 8) +(def-joint-node under-mine-explode-lod0-jg "g" 9) +(def-joint-node under-mine-explode-lod0-jg "h" 10) +(def-joint-node under-mine-explode-lod0-jg "i" 11) +(def-joint-node under-mine-explode-lod0-jg "j" 12) +(def-joint-node under-mine-explode-lod0-jg "k" 13) + +(def-joint-node gun-ammo-blue-lod0-jg "main" 3) +(def-joint-node gun-ammo-blue-lod0-jg "prejoint" 2) +(def-joint-node gun-ammo-blue-lod0-jg "align" 1) + +(def-joint-node market-basket-a-lod0-jg "main" 3) +(def-joint-node market-basket-a-lod0-jg "prejoint" 2) +(def-joint-node market-basket-a-lod0-jg "align" 1) + +(def-joint-node tomb-boulder-stick-lod0-jg "main_" 3) +(def-joint-node tomb-boulder-stick-lod0-jg "prejoint" 2) +(def-joint-node tomb-boulder-stick-lod0-jg "align" 1) + +(def-joint-node drill-top-break-explode-lod0-jg "aq" 47) +(def-joint-node drill-top-break-explode-lod0-jg "ap" 46) +(def-joint-node drill-top-break-explode-lod0-jg "ao" 45) +(def-joint-node drill-top-break-explode-lod0-jg "an" 44) +(def-joint-node drill-top-break-explode-lod0-jg "am" 43) +(def-joint-node drill-top-break-explode-lod0-jg "al" 42) +(def-joint-node drill-top-break-explode-lod0-jg "ak" 41) +(def-joint-node drill-top-break-explode-lod0-jg "aj" 40) +(def-joint-node drill-top-break-explode-lod0-jg "ai" 39) +(def-joint-node drill-top-break-explode-lod0-jg "ah" 38) +(def-joint-node drill-top-break-explode-lod0-jg "ag" 37) +(def-joint-node drill-top-break-explode-lod0-jg "af" 36) +(def-joint-node drill-top-break-explode-lod0-jg "ae" 35) +(def-joint-node drill-top-break-explode-lod0-jg "ad" 34) +(def-joint-node drill-top-break-explode-lod0-jg "ac" 33) +(def-joint-node drill-top-break-explode-lod0-jg "ab" 32) +(def-joint-node drill-top-break-explode-lod0-jg "aa" 31) +(def-joint-node drill-top-break-explode-lod0-jg "zz" 30) +(def-joint-node drill-top-break-explode-lod0-jg "j" 13) +(def-joint-node drill-top-break-explode-lod0-jg "i" 12) +(def-joint-node drill-top-break-explode-lod0-jg "h" 11) +(def-joint-node drill-top-break-explode-lod0-jg "g" 10) +(def-joint-node drill-top-break-explode-lod0-jg "f" 9) +(def-joint-node drill-top-break-explode-lod0-jg "e" 8) +(def-joint-node drill-top-break-explode-lod0-jg "d" 7) +(def-joint-node drill-top-break-explode-lod0-jg "c" 6) +(def-joint-node drill-top-break-explode-lod0-jg "b" 5) +(def-joint-node drill-top-break-explode-lod0-jg "main" 4) +(def-joint-node drill-top-break-explode-lod0-jg "explode" 3) +(def-joint-node drill-top-break-explode-lod0-jg "prejoint" 2) +(def-joint-node drill-top-break-explode-lod0-jg "align" 1) +(def-joint-node drill-top-break-explode-lod0-jg "k" 14) +(def-joint-node drill-top-break-explode-lod0-jg "l" 15) +(def-joint-node drill-top-break-explode-lod0-jg "m" 16) +(def-joint-node drill-top-break-explode-lod0-jg "n" 17) +(def-joint-node drill-top-break-explode-lod0-jg "o" 18) +(def-joint-node drill-top-break-explode-lod0-jg "p" 19) +(def-joint-node drill-top-break-explode-lod0-jg "q" 20) +(def-joint-node drill-top-break-explode-lod0-jg "r" 21) +(def-joint-node drill-top-break-explode-lod0-jg "s" 22) +(def-joint-node drill-top-break-explode-lod0-jg "t" 23) +(def-joint-node drill-top-break-explode-lod0-jg "u" 24) +(def-joint-node drill-top-break-explode-lod0-jg "v" 25) +(def-joint-node drill-top-break-explode-lod0-jg "w" 26) +(def-joint-node drill-top-break-explode-lod0-jg "x" 27) +(def-joint-node drill-top-break-explode-lod0-jg "y" 28) +(def-joint-node drill-top-break-explode-lod0-jg "z" 29) + +(def-joint-node fort-turret-explode-lod0-jg "piece_m" 16) +(def-joint-node fort-turret-explode-lod0-jg "piece_l" 15) +(def-joint-node fort-turret-explode-lod0-jg "piece_k" 14) +(def-joint-node fort-turret-explode-lod0-jg "align" 1) +(def-joint-node fort-turret-explode-lod0-jg "prejoint" 2) +(def-joint-node fort-turret-explode-lod0-jg "main" 3) +(def-joint-node fort-turret-explode-lod0-jg "piece_a" 4) +(def-joint-node fort-turret-explode-lod0-jg "piece_b" 5) +(def-joint-node fort-turret-explode-lod0-jg "piece_c" 6) +(def-joint-node fort-turret-explode-lod0-jg "piece_d" 7) +(def-joint-node fort-turret-explode-lod0-jg "piece_e" 8) +(def-joint-node fort-turret-explode-lod0-jg "piece_f" 9) +(def-joint-node fort-turret-explode-lod0-jg "piece_g" 10) +(def-joint-node fort-turret-explode-lod0-jg "piece_h" 11) +(def-joint-node fort-turret-explode-lod0-jg "piece_i" 12) +(def-joint-node fort-turret-explode-lod0-jg "piece_j" 13) + +(def-joint-node seal-of-mar-base-lod0-jg "base" 3) +(def-joint-node seal-of-mar-base-lod0-jg "prejoint" 2) +(def-joint-node seal-of-mar-base-lod0-jg "align" 1) + +(def-joint-node tomb-boulder-wing-door-lod0-jg "leftdoor" 5) +(def-joint-node tomb-boulder-wing-door-lod0-jg "rightdoor" 4) +(def-joint-node tomb-boulder-wing-door-lod0-jg "main" 3) +(def-joint-node tomb-boulder-wing-door-lod0-jg "prejoint" 2) +(def-joint-node tomb-boulder-wing-door-lod0-jg "align" 1) + +(def-joint-node water-anim-strip-dark-eco-near-lift-lod0-jg "boneless" 3) +(def-joint-node water-anim-strip-dark-eco-near-lift-lod0-jg "prejoint" 2) +(def-joint-node water-anim-strip-dark-eco-near-lift-lod0-jg "align" 1) + +(def-joint-node tomb-plat-pillar-lod0-jg "main" 3) +(def-joint-node tomb-plat-pillar-lod0-jg "prejoint" 2) +(def-joint-node tomb-plat-pillar-lod0-jg "align" 1) + +(def-joint-node squid-lod0-jg "hatchAftR" 78) +(def-joint-node squid-lod0-jg "hatchForeR" 77) +(def-joint-node squid-lod0-jg "hatchAftL" 76) +(def-joint-node squid-lod0-jg "hatchForeL" 75) +(def-joint-node squid-lod0-jg "strutAftREND" 74) +(def-joint-node squid-lod0-jg "strutForeREND" 73) +(def-joint-node squid-lod0-jg "strutAftLEND" 72) +(def-joint-node squid-lod0-jg "strutForeLEND" 71) +(def-joint-node squid-lod0-jg "shieldStrutAftR" 70) +(def-joint-node squid-lod0-jg "shieldStrutForeR" 69) +(def-joint-node squid-lod0-jg "shieldStrutAftL" 68) +(def-joint-node squid-lod0-jg "shieldStrutForeL" 67) +(def-joint-node squid-lod0-jg "canopy" 66) +(def-joint-node squid-lod0-jg "Lpedal" 65) +(def-joint-node squid-lod0-jg "Rpedal" 64) +(def-joint-node squid-lod0-jg "LforeStick" 63) +(def-joint-node squid-lod0-jg "LaftStick" 62) +(def-joint-node squid-lod0-jg "RforeStick" 61) +(def-joint-node squid-lod0-jg "RaftStick" 60) +(def-joint-node squid-lod0-jg "thrusterArmBotMidR" 29) +(def-joint-node squid-lod0-jg "thrusterArmTopMidR" 28) +(def-joint-node squid-lod0-jg "thrusterArmTopR" 27) +(def-joint-node squid-lod0-jg "thrusterMountR" 26) +(def-joint-node squid-lod0-jg "thrustBL" 25) +(def-joint-node squid-lod0-jg "thrustAL" 24) +(def-joint-node squid-lod0-jg "thrusterL" 23) +(def-joint-node squid-lod0-jg "thrusterArmBotL" 22) +(def-joint-node squid-lod0-jg "thrusterArmBotMidL" 21) +(def-joint-node squid-lod0-jg "thrusterArmTopMidL" 20) +(def-joint-node squid-lod0-jg "thrusterArmTopL" 19) +(def-joint-node squid-lod0-jg "thrusterMountL" 18) +(def-joint-node squid-lod0-jg "thrusterBase" 17) +(def-joint-node squid-lod0-jg "shieldMid" 16) +(def-joint-node squid-lod0-jg "miniShield" 15) +(def-joint-node squid-lod0-jg "hinge" 14) +(def-joint-node squid-lod0-jg "align" 1) +(def-joint-node squid-lod0-jg "prejoint" 2) +(def-joint-node squid-lod0-jg "main" 3) +(def-joint-node squid-lod0-jg "body" 4) +(def-joint-node squid-lod0-jg "cockpit" 5) +(def-joint-node squid-lod0-jg "tentacleBase" 6) +(def-joint-node squid-lod0-jg "tentA" 7) +(def-joint-node squid-lod0-jg "tentB" 8) +(def-joint-node squid-lod0-jg "tentC" 9) +(def-joint-node squid-lod0-jg "tentD" 10) +(def-joint-node squid-lod0-jg "tentE" 11) +(def-joint-node squid-lod0-jg "tentF" 12) +(def-joint-node squid-lod0-jg "shield" 13) +(def-joint-node squid-lod0-jg "thrusterArmBotR" 30) +(def-joint-node squid-lod0-jg "thrusterR" 31) +(def-joint-node squid-lod0-jg "thrustAR" 32) +(def-joint-node squid-lod0-jg "thrustBR" 33) +(def-joint-node squid-lod0-jg "exhaustL" 34) +(def-joint-node squid-lod0-jg "exhaustR" 35) +(def-joint-node squid-lod0-jg "gunL" 36) +(def-joint-node squid-lod0-jg "gunBaseTopL" 37) +(def-joint-node squid-lod0-jg "gunSquashTopL" 38) +(def-joint-node squid-lod0-jg "gunTipTopL" 39) +(def-joint-node squid-lod0-jg "gunBaseBotL" 40) +(def-joint-node squid-lod0-jg "gunSquashBotL" 41) +(def-joint-node squid-lod0-jg "gunTipBotL" 42) +(def-joint-node squid-lod0-jg "gunR" 43) +(def-joint-node squid-lod0-jg "gunBaseTopR" 44) +(def-joint-node squid-lod0-jg "gunSquashTopR" 45) +(def-joint-node squid-lod0-jg "gunTipTopR" 46) +(def-joint-node squid-lod0-jg "gunBaseBotR" 47) +(def-joint-node squid-lod0-jg "gunSquashBotR" 48) +(def-joint-node squid-lod0-jg "gunTipBotR" 49) +(def-joint-node squid-lod0-jg "podL" 50) +(def-joint-node squid-lod0-jg "grenadeAL" 51) +(def-joint-node squid-lod0-jg "grenadeBL" 52) +(def-joint-node squid-lod0-jg "grenadeCL" 53) +(def-joint-node squid-lod0-jg "grenadeDL" 54) +(def-joint-node squid-lod0-jg "podR" 55) +(def-joint-node squid-lod0-jg "grenadeAR" 56) +(def-joint-node squid-lod0-jg "grenadeBR" 57) +(def-joint-node squid-lod0-jg "grenadeCR" 58) +(def-joint-node squid-lod0-jg "grenadeDR" 59) + +(def-joint-node sew-mine-a-lod0-jg "main" 3) +(def-joint-node sew-mine-a-lod0-jg "prejoint" 2) +(def-joint-node sew-mine-a-lod0-jg "align" 1) + +(def-joint-node squid-grenade-lod0-jg "thrust" 4) +(def-joint-node squid-grenade-lod0-jg "main" 3) +(def-joint-node squid-grenade-lod0-jg "prejoint" 2) +(def-joint-node squid-grenade-lod0-jg "align" 1) + +(def-joint-node slider-lod0-jg "main" 3) +(def-joint-node slider-lod0-jg "prejoint" 2) +(def-joint-node slider-lod0-jg "align" 1) + +(def-joint-node squid-break-pod-lod0-jg "smoke" 36) +(def-joint-node squid-break-pod-lod0-jg "sparkH" 35) +(def-joint-node squid-break-pod-lod0-jg "sparkG" 34) +(def-joint-node squid-break-pod-lod0-jg "sparkF" 33) +(def-joint-node squid-break-pod-lod0-jg "sparkE" 32) +(def-joint-node squid-break-pod-lod0-jg "sparkD" 31) +(def-joint-node squid-break-pod-lod0-jg "sparkC" 30) +(def-joint-node squid-break-pod-lod0-jg "yellowBlinkBR" 13) +(def-joint-node squid-break-pod-lod0-jg "yellowBlinkAR" 12) +(def-joint-node squid-break-pod-lod0-jg "Lpedal" 11) +(def-joint-node squid-break-pod-lod0-jg "Rpedal" 10) +(def-joint-node squid-break-pod-lod0-jg "LforeStick" 9) +(def-joint-node squid-break-pod-lod0-jg "LaftStick" 8) +(def-joint-node squid-break-pod-lod0-jg "RforeStick" 7) +(def-joint-node squid-break-pod-lod0-jg "RaftStick" 6) +(def-joint-node squid-break-pod-lod0-jg "cockpit" 5) +(def-joint-node squid-break-pod-lod0-jg "body" 4) +(def-joint-node squid-break-pod-lod0-jg "main" 3) +(def-joint-node squid-break-pod-lod0-jg "prejoint" 2) +(def-joint-node squid-break-pod-lod0-jg "align" 1) +(def-joint-node squid-break-pod-lod0-jg "yellowBlinkCR" 14) +(def-joint-node squid-break-pod-lod0-jg "yellowBlinkDR" 15) +(def-joint-node squid-break-pod-lod0-jg "yellowBlinkER" 16) +(def-joint-node squid-break-pod-lod0-jg "redConstantR" 17) +(def-joint-node squid-break-pod-lod0-jg "redConstantL" 18) +(def-joint-node squid-break-pod-lod0-jg "yellowBlinkAL" 19) +(def-joint-node squid-break-pod-lod0-jg "yellowBlinkBL" 20) +(def-joint-node squid-break-pod-lod0-jg "yellowBlinkCL" 21) +(def-joint-node squid-break-pod-lod0-jg "yellowBlinkDL" 22) +(def-joint-node squid-break-pod-lod0-jg "yellowBlinkEL" 23) +(def-joint-node squid-break-pod-lod0-jg "yellowConstantL" 24) +(def-joint-node squid-break-pod-lod0-jg "yellowConstantR" 25) +(def-joint-node squid-break-pod-lod0-jg "exhaustL" 26) +(def-joint-node squid-break-pod-lod0-jg "exhaustR" 27) +(def-joint-node squid-break-pod-lod0-jg "sparkA" 28) +(def-joint-node squid-break-pod-lod0-jg "sparkB" 29) + +(def-joint-node squid-break-e-lod0-jg "fj" 22) +(def-joint-node squid-break-e-lod0-jg "fi" 21) +(def-joint-node squid-break-e-lod0-jg "fh" 20) +(def-joint-node squid-break-e-lod0-jg "fg" 19) +(def-joint-node squid-break-e-lod0-jg "ff" 18) +(def-joint-node squid-break-e-lod0-jg "fe" 17) +(def-joint-node squid-break-e-lod0-jg "fd" 16) +(def-joint-node squid-break-e-lod0-jg "fc" 15) +(def-joint-node squid-break-e-lod0-jg "fb" 14) +(def-joint-node squid-break-e-lod0-jg "align" 1) +(def-joint-node squid-break-e-lod0-jg "prejoint" 2) +(def-joint-node squid-break-e-lod0-jg "main" 3) +(def-joint-node squid-break-e-lod0-jg "er" 4) +(def-joint-node squid-break-e-lod0-jg "es" 5) +(def-joint-node squid-break-e-lod0-jg "et" 6) +(def-joint-node squid-break-e-lod0-jg "eu" 7) +(def-joint-node squid-break-e-lod0-jg "ev" 8) +(def-joint-node squid-break-e-lod0-jg "ew" 9) +(def-joint-node squid-break-e-lod0-jg "ex" 10) +(def-joint-node squid-break-e-lod0-jg "ey" 11) +(def-joint-node squid-break-e-lod0-jg "ez" 12) +(def-joint-node squid-break-e-lod0-jg "fa" 13) + +(def-joint-node squid-break-tentacle-lod0-jg "k" 14) +(def-joint-node squid-break-tentacle-lod0-jg "align" 1) +(def-joint-node squid-break-tentacle-lod0-jg "prejoint" 2) +(def-joint-node squid-break-tentacle-lod0-jg "main" 3) +(def-joint-node squid-break-tentacle-lod0-jg "a" 4) +(def-joint-node squid-break-tentacle-lod0-jg "b" 5) +(def-joint-node squid-break-tentacle-lod0-jg "c" 6) +(def-joint-node squid-break-tentacle-lod0-jg "d" 7) +(def-joint-node squid-break-tentacle-lod0-jg "e" 8) +(def-joint-node squid-break-tentacle-lod0-jg "f" 9) +(def-joint-node squid-break-tentacle-lod0-jg "g" 10) +(def-joint-node squid-break-tentacle-lod0-jg "h" 11) +(def-joint-node squid-break-tentacle-lod0-jg "i" 12) +(def-joint-node squid-break-tentacle-lod0-jg "j" 13) + +(def-joint-node keira-highres-lod0-jg "Ranklestrap" 95) +(def-joint-node keira-highres-lod0-jg "RpantFlap" 94) +(def-joint-node keira-highres-lod0-jg "rKneeFlap" 93) +(def-joint-node keira-highres-lod0-jg "RtoeStrap" 92) +(def-joint-node keira-highres-lod0-jg "Lanklestrap" 91) +(def-joint-node keira-highres-lod0-jg "LpantFlap" 90) +(def-joint-node keira-highres-lod0-jg "lKneeFlap" 89) +(def-joint-node keira-highres-lod0-jg "LtoeStrap" 88) +(def-joint-node keira-highres-lod0-jg "RpinkyC" 87) +(def-joint-node keira-highres-lod0-jg "RpinkyB" 86) +(def-joint-node keira-highres-lod0-jg "RpinkyA" 85) +(def-joint-node keira-highres-lod0-jg "RringC" 84) +(def-joint-node keira-highres-lod0-jg "RmiddleC" 83) +(def-joint-node keira-highres-lod0-jg "RindexC" 82) +(def-joint-node keira-highres-lod0-jg "RindexB" 81) +(def-joint-node keira-highres-lod0-jg "RindexA" 80) +(def-joint-node keira-highres-lod0-jg "RthumbC" 79) +(def-joint-node keira-highres-lod0-jg "LpinkyC" 78) +(def-joint-node keira-highres-lod0-jg "LpinkyB" 77) +(def-joint-node keira-highres-lod0-jg "LpinkyA" 76) +(def-joint-node keira-highres-lod0-jg "LringC" 75) +(def-joint-node keira-highres-lod0-jg "LmiddleC" 74) +(def-joint-node keira-highres-lod0-jg "LindexC" 73) +(def-joint-node keira-highres-lod0-jg "LindexB" 72) +(def-joint-node keira-highres-lod0-jg "LindexA" 71) +(def-joint-node keira-highres-lod0-jg "LthumbC" 70) +(def-joint-node keira-highres-lod0-jg "lEarb" 69) +(def-joint-node keira-highres-lod0-jg "rEarb" 68) +(def-joint-node keira-highres-lod0-jg "torch" 67) +(def-joint-node keira-highres-lod0-jg "mask" 66) +(def-joint-node keira-highres-lod0-jg "maskstrap" 65) +(def-joint-node keira-highres-lod0-jg "rBotStrap2" 64) +(def-joint-node keira-highres-lod0-jg "rBotStrap" 63) +(def-joint-node keira-highres-lod0-jg "lBotStrap2" 62) +(def-joint-node keira-highres-lod0-jg "lBotStrap" 61) +(def-joint-node keira-highres-lod0-jg "belt" 60) +(def-joint-node keira-highres-lod0-jg "LringB" 29) +(def-joint-node keira-highres-lod0-jg "LringA" 28) +(def-joint-node keira-highres-lod0-jg "LmiddleB" 27) +(def-joint-node keira-highres-lod0-jg "LmiddleA" 26) +(def-joint-node keira-highres-lod0-jg "LthumbB" 25) +(def-joint-node keira-highres-lod0-jg "LthumbA" 24) +(def-joint-node keira-highres-lod0-jg "Lhand" 23) +(def-joint-node keira-highres-lod0-jg "Lelbow" 22) +(def-joint-node keira-highres-lod0-jg "Lshoulder" 21) +(def-joint-node keira-highres-lod0-jg "lEara" 20) +(def-joint-node keira-highres-lod0-jg "Lmidhairb" 19) +(def-joint-node keira-highres-lod0-jg "Lmidhaira" 18) +(def-joint-node keira-highres-lod0-jg "Lbangc" 17) +(def-joint-node keira-highres-lod0-jg "Lbangb" 16) +(def-joint-node keira-highres-lod0-jg "Lbanga" 15) +(def-joint-node keira-highres-lod0-jg "Rbangc" 14) +(def-joint-node keira-highres-lod0-jg "align" 1) +(def-joint-node keira-highres-lod0-jg "prejoint" 2) +(def-joint-node keira-highres-lod0-jg "main" 3) +(def-joint-node keira-highres-lod0-jg "chest" 4) +(def-joint-node keira-highres-lod0-jg "neck" 5) +(def-joint-node keira-highres-lod0-jg "head" 6) +(def-joint-node keira-highres-lod0-jg "backHair1" 7) +(def-joint-node keira-highres-lod0-jg "backHair2" 8) +(def-joint-node keira-highres-lod0-jg "rEara" 9) +(def-joint-node keira-highres-lod0-jg "Rmidhaira" 10) +(def-joint-node keira-highres-lod0-jg "Rmidhairb" 11) +(def-joint-node keira-highres-lod0-jg "Rbanga" 12) +(def-joint-node keira-highres-lod0-jg "Rbangb" 13) +(def-joint-node keira-highres-lod0-jg "lGlove" 30) +(def-joint-node keira-highres-lod0-jg "lTopStrap" 31) +(def-joint-node keira-highres-lod0-jg "lTopStrap2" 32) +(def-joint-node keira-highres-lod0-jg "Rshoulder" 33) +(def-joint-node keira-highres-lod0-jg "Relbow" 34) +(def-joint-node keira-highres-lod0-jg "Rhand" 35) +(def-joint-node keira-highres-lod0-jg "RthumbA" 36) +(def-joint-node keira-highres-lod0-jg "RthumbB" 37) +(def-joint-node keira-highres-lod0-jg "RmiddleA" 38) +(def-joint-node keira-highres-lod0-jg "RmiddleB" 39) +(def-joint-node keira-highres-lod0-jg "RringA" 40) +(def-joint-node keira-highres-lod0-jg "RringB" 41) +(def-joint-node keira-highres-lod0-jg "rGlove" 42) +(def-joint-node keira-highres-lod0-jg "rTopStrap" 43) +(def-joint-node keira-highres-lod0-jg "rTopStrap2" 44) +(def-joint-node keira-highres-lod0-jg "rBoob" 45) +(def-joint-node keira-highres-lod0-jg "lBoob" 46) +(def-joint-node keira-highres-lod0-jg "gogglesBase" 47) +(def-joint-node keira-highres-lod0-jg "gogglesMid" 48) +(def-joint-node keira-highres-lod0-jg "gogglesRight" 49) +(def-joint-node keira-highres-lod0-jg "gogglesLeft" 50) +(def-joint-node keira-highres-lod0-jg "hips" 51) +(def-joint-node keira-highres-lod0-jg "Lthigh" 52) +(def-joint-node keira-highres-lod0-jg "Lknee" 53) +(def-joint-node keira-highres-lod0-jg "Lankle" 54) +(def-joint-node keira-highres-lod0-jg "Lball" 55) +(def-joint-node keira-highres-lod0-jg "Rthigh" 56) +(def-joint-node keira-highres-lod0-jg "Rknee" 57) +(def-joint-node keira-highres-lod0-jg "Rankle" 58) +(def-joint-node keira-highres-lod0-jg "Rball" 59) + +(def-joint-node drill-crane-a-lod0-jg "am" 43) +(def-joint-node drill-crane-a-lod0-jg "al" 42) +(def-joint-node drill-crane-a-lod0-jg "ak" 41) +(def-joint-node drill-crane-a-lod0-jg "aj" 40) +(def-joint-node drill-crane-a-lod0-jg "ai" 39) +(def-joint-node drill-crane-a-lod0-jg "ah" 38) +(def-joint-node drill-crane-a-lod0-jg "ag" 37) +(def-joint-node drill-crane-a-lod0-jg "af" 36) +(def-joint-node drill-crane-a-lod0-jg "ae" 35) +(def-joint-node drill-crane-a-lod0-jg "ad" 34) +(def-joint-node drill-crane-a-lod0-jg "ac" 33) +(def-joint-node drill-crane-a-lod0-jg "ab" 32) +(def-joint-node drill-crane-a-lod0-jg "aa" 31) +(def-joint-node drill-crane-a-lod0-jg "main" 30) +(def-joint-node drill-crane-a-lod0-jg "j" 13) +(def-joint-node drill-crane-a-lod0-jg "i" 12) +(def-joint-node drill-crane-a-lod0-jg "h" 11) +(def-joint-node drill-crane-a-lod0-jg "g" 10) +(def-joint-node drill-crane-a-lod0-jg "f" 9) +(def-joint-node drill-crane-a-lod0-jg "e" 8) +(def-joint-node drill-crane-a-lod0-jg "d" 7) +(def-joint-node drill-crane-a-lod0-jg "c" 6) +(def-joint-node drill-crane-a-lod0-jg "b" 5) +(def-joint-node drill-crane-a-lod0-jg "a" 4) +(def-joint-node drill-crane-a-lod0-jg "explode" 3) +(def-joint-node drill-crane-a-lod0-jg "prejoint" 2) +(def-joint-node drill-crane-a-lod0-jg "align" 1) +(def-joint-node drill-crane-a-lod0-jg "k" 14) +(def-joint-node drill-crane-a-lod0-jg "l" 15) +(def-joint-node drill-crane-a-lod0-jg "m" 16) +(def-joint-node drill-crane-a-lod0-jg "n" 17) +(def-joint-node drill-crane-a-lod0-jg "o" 18) +(def-joint-node drill-crane-a-lod0-jg "p" 19) +(def-joint-node drill-crane-a-lod0-jg "q" 20) +(def-joint-node drill-crane-a-lod0-jg "r" 21) +(def-joint-node drill-crane-a-lod0-jg "s" 22) +(def-joint-node drill-crane-a-lod0-jg "t" 23) +(def-joint-node drill-crane-a-lod0-jg "u" 24) +(def-joint-node drill-crane-a-lod0-jg "v" 25) +(def-joint-node drill-crane-a-lod0-jg "w" 26) +(def-joint-node drill-crane-a-lod0-jg "x" 27) +(def-joint-node drill-crane-a-lod0-jg "y" 28) +(def-joint-node drill-crane-a-lod0-jg "z" 29) + +(def-joint-node palent-turret-explode-lod0-jg "bodypiece" 20) +(def-joint-node palent-turret-explode-lod0-jg "topbodyR" 19) +(def-joint-node palent-turret-explode-lod0-jg "topbodyL" 18) +(def-joint-node palent-turret-explode-lod0-jg "bottomL" 17) +(def-joint-node palent-turret-explode-lod0-jg "bottomR" 16) +(def-joint-node palent-turret-explode-lod0-jg "topholeL1" 15) +(def-joint-node palent-turret-explode-lod0-jg "topholeL2" 14) +(def-joint-node palent-turret-explode-lod0-jg "align" 1) +(def-joint-node palent-turret-explode-lod0-jg "prejoint" 2) +(def-joint-node palent-turret-explode-lod0-jg "main" 3) +(def-joint-node palent-turret-explode-lod0-jg "base" 4) +(def-joint-node palent-turret-explode-lod0-jg "round" 5) +(def-joint-node palent-turret-explode-lod0-jg "neck" 6) +(def-joint-node palent-turret-explode-lod0-jg "muzzle" 7) +(def-joint-node palent-turret-explode-lod0-jg "topholeR1" 8) +(def-joint-node palent-turret-explode-lod0-jg "topholeR2" 9) +(def-joint-node palent-turret-explode-lod0-jg "backbottom" 10) +(def-joint-node palent-turret-explode-lod0-jg "lowerreardetail" 11) +(def-joint-node palent-turret-explode-lod0-jg "upperreardetail" 12) +(def-joint-node palent-turret-explode-lod0-jg "top" 13) + +(def-joint-node pal-breakable-window-explode-lod0-jg "ee" 33) +(def-joint-node pal-breakable-window-explode-lod0-jg "dd" 32) +(def-joint-node pal-breakable-window-explode-lod0-jg "cc" 31) +(def-joint-node pal-breakable-window-explode-lod0-jg "bb" 30) +(def-joint-node pal-breakable-window-explode-lod0-jg "k" 13) +(def-joint-node pal-breakable-window-explode-lod0-jg "j" 12) +(def-joint-node pal-breakable-window-explode-lod0-jg "i" 11) +(def-joint-node pal-breakable-window-explode-lod0-jg "h" 10) +(def-joint-node pal-breakable-window-explode-lod0-jg "g" 9) +(def-joint-node pal-breakable-window-explode-lod0-jg "f" 8) +(def-joint-node pal-breakable-window-explode-lod0-jg "e" 7) +(def-joint-node pal-breakable-window-explode-lod0-jg "d" 6) +(def-joint-node pal-breakable-window-explode-lod0-jg "c" 5) +(def-joint-node pal-breakable-window-explode-lod0-jg "b" 4) +(def-joint-node pal-breakable-window-explode-lod0-jg "a" 3) +(def-joint-node pal-breakable-window-explode-lod0-jg "prejoint" 2) +(def-joint-node pal-breakable-window-explode-lod0-jg "align" 1) +(def-joint-node pal-breakable-window-explode-lod0-jg "l" 14) +(def-joint-node pal-breakable-window-explode-lod0-jg "m" 15) +(def-joint-node pal-breakable-window-explode-lod0-jg "n" 16) +(def-joint-node pal-breakable-window-explode-lod0-jg "o" 17) +(def-joint-node pal-breakable-window-explode-lod0-jg "p" 18) +(def-joint-node pal-breakable-window-explode-lod0-jg "q" 19) +(def-joint-node pal-breakable-window-explode-lod0-jg "r" 20) +(def-joint-node pal-breakable-window-explode-lod0-jg "s" 21) +(def-joint-node pal-breakable-window-explode-lod0-jg "t" 22) +(def-joint-node pal-breakable-window-explode-lod0-jg "u" 23) +(def-joint-node pal-breakable-window-explode-lod0-jg "v" 24) +(def-joint-node pal-breakable-window-explode-lod0-jg "w" 25) +(def-joint-node pal-breakable-window-explode-lod0-jg "x" 26) +(def-joint-node pal-breakable-window-explode-lod0-jg "y" 27) +(def-joint-node pal-breakable-window-explode-lod0-jg "z" 28) +(def-joint-node pal-breakable-window-explode-lod0-jg "aa" 29) + +(def-joint-node bomb-trigger-lod0-jg "main" 3) +(def-joint-node bomb-trigger-lod0-jg "prejoint" 2) +(def-joint-node bomb-trigger-lod0-jg "align" 1) + +(def-joint-node pal-grind-ring-lod0-jg "main" 3) +(def-joint-node pal-grind-ring-lod0-jg "prejoint" 2) +(def-joint-node pal-grind-ring-lod0-jg "align" 1) + +(def-joint-node palmpilot-lod0-jg "button" 6) +(def-joint-node palmpilot-lod0-jg "datascreen" 5) +(def-joint-node palmpilot-lod0-jg "fliptop" 4) +(def-joint-node palmpilot-lod0-jg "pda" 3) +(def-joint-node palmpilot-lod0-jg "prejoint" 2) +(def-joint-node palmpilot-lod0-jg "align" 1) + +(def-joint-node pal-ent-door-lod0-jg "main" 3) +(def-joint-node pal-ent-door-lod0-jg "prejoint" 2) +(def-joint-node pal-ent-door-lod0-jg "align" 1) + +(def-joint-node pal-ent-glass-lod0-jg "main" 3) +(def-joint-node pal-ent-glass-lod0-jg "prejoint" 2) +(def-joint-node pal-ent-glass-lod0-jg "align" 1) + +(def-joint-node drill-crane-b-lod0-jg "af" 36) +(def-joint-node drill-crane-b-lod0-jg "ae" 35) +(def-joint-node drill-crane-b-lod0-jg "ad" 34) +(def-joint-node drill-crane-b-lod0-jg "ac" 33) +(def-joint-node drill-crane-b-lod0-jg "ab" 32) +(def-joint-node drill-crane-b-lod0-jg "aa" 31) +(def-joint-node drill-crane-b-lod0-jg "main" 30) +(def-joint-node drill-crane-b-lod0-jg "j" 13) +(def-joint-node drill-crane-b-lod0-jg "i" 12) +(def-joint-node drill-crane-b-lod0-jg "h" 11) +(def-joint-node drill-crane-b-lod0-jg "g" 10) +(def-joint-node drill-crane-b-lod0-jg "f" 9) +(def-joint-node drill-crane-b-lod0-jg "e" 8) +(def-joint-node drill-crane-b-lod0-jg "d" 7) +(def-joint-node drill-crane-b-lod0-jg "c" 6) +(def-joint-node drill-crane-b-lod0-jg "b" 5) +(def-joint-node drill-crane-b-lod0-jg "a" 4) +(def-joint-node drill-crane-b-lod0-jg "explode" 3) +(def-joint-node drill-crane-b-lod0-jg "prejoint" 2) +(def-joint-node drill-crane-b-lod0-jg "align" 1) +(def-joint-node drill-crane-b-lod0-jg "k" 14) +(def-joint-node drill-crane-b-lod0-jg "l" 15) +(def-joint-node drill-crane-b-lod0-jg "m" 16) +(def-joint-node drill-crane-b-lod0-jg "n" 17) +(def-joint-node drill-crane-b-lod0-jg "o" 18) +(def-joint-node drill-crane-b-lod0-jg "p" 19) +(def-joint-node drill-crane-b-lod0-jg "q" 20) +(def-joint-node drill-crane-b-lod0-jg "r" 21) +(def-joint-node drill-crane-b-lod0-jg "s" 22) +(def-joint-node drill-crane-b-lod0-jg "t" 23) +(def-joint-node drill-crane-b-lod0-jg "u" 24) +(def-joint-node drill-crane-b-lod0-jg "v" 25) +(def-joint-node drill-crane-b-lod0-jg "w" 26) +(def-joint-node drill-crane-b-lod0-jg "x" 27) +(def-joint-node drill-crane-b-lod0-jg "y" 28) +(def-joint-node drill-crane-b-lod0-jg "z" 29) + +(def-joint-node hip-trophy-g-lod0-jg "hip_trophy_g" 3) +(def-joint-node hip-trophy-g-lod0-jg "prejoint" 2) +(def-joint-node hip-trophy-g-lod0-jg "align" 1) + +(def-joint-node consite-break-scaffold-a-break-lod0-jg "ag" 41) +(def-joint-node consite-break-scaffold-a-break-lod0-jg "af" 40) +(def-joint-node consite-break-scaffold-a-break-lod0-jg "ae" 39) +(def-joint-node consite-break-scaffold-a-break-lod0-jg "ad" 38) +(def-joint-node consite-break-scaffold-a-break-lod0-jg "ac" 37) +(def-joint-node consite-break-scaffold-a-break-lod0-jg "ab" 36) +(def-joint-node consite-break-scaffold-a-break-lod0-jg "aa" 35) +(def-joint-node consite-break-scaffold-a-break-lod0-jg "zz" 34) +(def-joint-node consite-break-scaffold-a-break-lod0-jg "z" 33) +(def-joint-node consite-break-scaffold-a-break-lod0-jg "y" 32) +(def-joint-node consite-break-scaffold-a-break-lod0-jg "x" 31) +(def-joint-node consite-break-scaffold-a-break-lod0-jg "w" 30) +(def-joint-node consite-break-scaffold-a-break-lod0-jg "f" 13) +(def-joint-node consite-break-scaffold-a-break-lod0-jg "e" 12) +(def-joint-node consite-break-scaffold-a-break-lod0-jg "d" 11) +(def-joint-node consite-break-scaffold-a-break-lod0-jg "c" 10) +(def-joint-node consite-break-scaffold-a-break-lod0-jg "b" 9) +(def-joint-node consite-break-scaffold-a-break-lod0-jg "main" 8) +(def-joint-node consite-break-scaffold-a-break-lod0-jg "explode" 7) +(def-joint-node consite-break-scaffold-a-break-lod0-jg "yb" 6) +(def-joint-node consite-break-scaffold-a-break-lod0-jg "ya" 5) +(def-joint-node consite-break-scaffold-a-break-lod0-jg "xb" 4) +(def-joint-node consite-break-scaffold-a-break-lod0-jg "xa" 3) +(def-joint-node consite-break-scaffold-a-break-lod0-jg "prejoint" 2) +(def-joint-node consite-break-scaffold-a-break-lod0-jg "align" 1) +(def-joint-node consite-break-scaffold-a-break-lod0-jg "g" 14) +(def-joint-node consite-break-scaffold-a-break-lod0-jg "h" 15) +(def-joint-node consite-break-scaffold-a-break-lod0-jg "i" 16) +(def-joint-node consite-break-scaffold-a-break-lod0-jg "j" 17) +(def-joint-node consite-break-scaffold-a-break-lod0-jg "k" 18) +(def-joint-node consite-break-scaffold-a-break-lod0-jg "l" 19) +(def-joint-node consite-break-scaffold-a-break-lod0-jg "m" 20) +(def-joint-node consite-break-scaffold-a-break-lod0-jg "n" 21) +(def-joint-node consite-break-scaffold-a-break-lod0-jg "o" 22) +(def-joint-node consite-break-scaffold-a-break-lod0-jg "p" 23) +(def-joint-node consite-break-scaffold-a-break-lod0-jg "q" 24) +(def-joint-node consite-break-scaffold-a-break-lod0-jg "r" 25) +(def-joint-node consite-break-scaffold-a-break-lod0-jg "s" 26) +(def-joint-node consite-break-scaffold-a-break-lod0-jg "t" 27) +(def-joint-node consite-break-scaffold-a-break-lod0-jg "u" 28) +(def-joint-node consite-break-scaffold-a-break-lod0-jg "v" 29) + +(def-joint-node dig-balloon-lurker-lod0-jg "front_wheel" 24) +(def-joint-node dig-balloon-lurker-lod0-jg "Rankle" 23) +(def-joint-node dig-balloon-lurker-lod0-jg "Rknee" 22) +(def-joint-node dig-balloon-lurker-lod0-jg "Rthigh" 21) +(def-joint-node dig-balloon-lurker-lod0-jg "Lankle" 20) +(def-joint-node dig-balloon-lurker-lod0-jg "Lknee" 19) +(def-joint-node dig-balloon-lurker-lod0-jg "Lthigh" 18) +(def-joint-node dig-balloon-lurker-lod0-jg "hips" 17) +(def-joint-node dig-balloon-lurker-lod0-jg "Rhand" 16) +(def-joint-node dig-balloon-lurker-lod0-jg "Relbow" 15) +(def-joint-node dig-balloon-lurker-lod0-jg "Rshoulder" 14) +(def-joint-node dig-balloon-lurker-lod0-jg "align" 1) +(def-joint-node dig-balloon-lurker-lod0-jg "prejoint" 2) +(def-joint-node dig-balloon-lurker-lod0-jg "all" 3) +(def-joint-node dig-balloon-lurker-lod0-jg "prop" 4) +(def-joint-node dig-balloon-lurker-lod0-jg "Rudder" 5) +(def-joint-node dig-balloon-lurker-lod0-jg "poleBot" 6) +(def-joint-node dig-balloon-lurker-lod0-jg "pedals" 7) +(def-joint-node dig-balloon-lurker-lod0-jg "main" 8) +(def-joint-node dig-balloon-lurker-lod0-jg "chest" 9) +(def-joint-node dig-balloon-lurker-lod0-jg "neck" 10) +(def-joint-node dig-balloon-lurker-lod0-jg "Lshoulder" 11) +(def-joint-node dig-balloon-lurker-lod0-jg "Lelbow" 12) +(def-joint-node dig-balloon-lurker-lod0-jg "Lhand" 13) + +(def-joint-node seal-of-mar-top-lod0-jg "top" 3) +(def-joint-node seal-of-mar-top-lod0-jg "prejoint" 2) +(def-joint-node seal-of-mar-top-lod0-jg "align" 1) + +(def-joint-node metalkor-highres-lod0-jg "Rspinshot2" 82) +(def-joint-node metalkor-highres-lod0-jg "Rbbspin" 81) +(def-joint-node metalkor-highres-lod0-jg "Rbbshotbase" 80) +(def-joint-node metalkor-highres-lod0-jg "Lspinshot2" 79) +(def-joint-node metalkor-highres-lod0-jg "Lbbspin" 78) +(def-joint-node metalkor-highres-lod0-jg "Lbbshotbase" 77) +(def-joint-node metalkor-highres-lod0-jg "Rspinshot1" 76) +(def-joint-node metalkor-highres-lod0-jg "Rtbspin" 75) +(def-joint-node metalkor-highres-lod0-jg "Rshotbase" 74) +(def-joint-node metalkor-highres-lod0-jg "Lspinshot1" 73) +(def-joint-node metalkor-highres-lod0-jg "Ltbspin" 72) +(def-joint-node metalkor-highres-lod0-jg "Lshotbase" 71) +(def-joint-node metalkor-highres-lod0-jg "RrngclawC" 70) +(def-joint-node metalkor-highres-lod0-jg "RrngclawB" 69) +(def-joint-node metalkor-highres-lod0-jg "RrngclawA" 68) +(def-joint-node metalkor-highres-lod0-jg "RinclawC" 67) +(def-joint-node metalkor-highres-lod0-jg "RinclawB" 66) +(def-joint-node metalkor-highres-lod0-jg "RinclawA" 65) +(def-joint-node metalkor-highres-lod0-jg "RtmclawC" 64) +(def-joint-node metalkor-highres-lod0-jg "RtmclawB" 63) +(def-joint-node metalkor-highres-lod0-jg "RtmclawA" 62) +(def-joint-node metalkor-highres-lod0-jg "LrngclawC" 61) +(def-joint-node metalkor-highres-lod0-jg "LrngclawB" 60) +(def-joint-node metalkor-highres-lod0-jg "LsidefeelB" 29) +(def-joint-node metalkor-highres-lod0-jg "LsidefeelA" 28) +(def-joint-node metalkor-highres-lod0-jg "LfrfeelB" 27) +(def-joint-node metalkor-highres-lod0-jg "LfrfeelA" 26) +(def-joint-node metalkor-highres-lod0-jg "RfrfeelB" 25) +(def-joint-node metalkor-highres-lod0-jg "RfrfeelA" 24) +(def-joint-node metalkor-highres-lod0-jg "RsidefeelB" 23) +(def-joint-node metalkor-highres-lod0-jg "RsidefeelA" 22) +(def-joint-node metalkor-highres-lod0-jg "lowlip" 21) +(def-joint-node metalkor-highres-lod0-jg "lowerjaw" 20) +(def-joint-node metalkor-highres-lod0-jg "topjaw" 19) +(def-joint-node metalkor-highres-lod0-jg "RpinchC" 18) +(def-joint-node metalkor-highres-lod0-jg "RpinchB" 17) +(def-joint-node metalkor-highres-lod0-jg "RpinchA" 16) +(def-joint-node metalkor-highres-lod0-jg "LpinchC" 15) +(def-joint-node metalkor-highres-lod0-jg "LpinchB" 14) +(def-joint-node metalkor-highres-lod0-jg "align" 1) +(def-joint-node metalkor-highres-lod0-jg "prejoint" 2) +(def-joint-node metalkor-highres-lod0-jg "main" 3) +(def-joint-node metalkor-highres-lod0-jg "chest" 4) +(def-joint-node metalkor-highres-lod0-jg "neck" 5) +(def-joint-node metalkor-highres-lod0-jg "head" 6) +(def-joint-node metalkor-highres-lod0-jg "Lshoulder" 7) +(def-joint-node metalkor-highres-lod0-jg "Lelbow" 8) +(def-joint-node metalkor-highres-lod0-jg "Lhand" 9) +(def-joint-node metalkor-highres-lod0-jg "Rshoulder" 10) +(def-joint-node metalkor-highres-lod0-jg "Relbow" 11) +(def-joint-node metalkor-highres-lod0-jg "Rhand" 12) +(def-joint-node metalkor-highres-lod0-jg "LpinchA" 13) +(def-joint-node metalkor-highres-lod0-jg "RffeelerG" 30) +(def-joint-node metalkor-highres-lod0-jg "RffeelerH" 31) +(def-joint-node metalkor-highres-lod0-jg "RffeelerE" 32) +(def-joint-node metalkor-highres-lod0-jg "RffeelerF" 33) +(def-joint-node metalkor-highres-lod0-jg "RffeelerC" 34) +(def-joint-node metalkor-highres-lod0-jg "RffeelerD" 35) +(def-joint-node metalkor-highres-lod0-jg "RffeelerA" 36) +(def-joint-node metalkor-highres-lod0-jg "RffeelerB" 37) +(def-joint-node metalkor-highres-lod0-jg "LffeelerG" 38) +(def-joint-node metalkor-highres-lod0-jg "LffeelerH" 39) +(def-joint-node metalkor-highres-lod0-jg "LffeelerE" 40) +(def-joint-node metalkor-highres-lod0-jg "LffeelerF" 41) +(def-joint-node metalkor-highres-lod0-jg "LffeelerC" 42) +(def-joint-node metalkor-highres-lod0-jg "LffeelerD" 43) +(def-joint-node metalkor-highres-lod0-jg "LffeelerA" 44) +(def-joint-node metalkor-highres-lod0-jg "LffeelerB" 45) +(def-joint-node metalkor-highres-lod0-jg "tongueA" 46) +(def-joint-node metalkor-highres-lod0-jg "tongueB" 47) +(def-joint-node metalkor-highres-lod0-jg "tongueC" 48) +(def-joint-node metalkor-highres-lod0-jg "Ltopeye" 49) +(def-joint-node metalkor-highres-lod0-jg "Lboteye" 50) +(def-joint-node metalkor-highres-lod0-jg "Rtopeye" 51) +(def-joint-node metalkor-highres-lod0-jg "Rboteye" 52) +(def-joint-node metalkor-highres-lod0-jg "LtmclawA" 53) +(def-joint-node metalkor-highres-lod0-jg "LtmclawB" 54) +(def-joint-node metalkor-highres-lod0-jg "LtmclawC" 55) +(def-joint-node metalkor-highres-lod0-jg "LinclawA" 56) +(def-joint-node metalkor-highres-lod0-jg "LinclawB" 57) +(def-joint-node metalkor-highres-lod0-jg "LinclawC" 58) +(def-joint-node metalkor-highres-lod0-jg "LrngclawA" 59) + +(def-joint-node market-sack-a-lod0-jg "main" 3) +(def-joint-node market-sack-a-lod0-jg "prejoint" 2) +(def-joint-node market-sack-a-lod0-jg "align" 1) + +(def-joint-node mtn-shard-lod0-jg "handle" 4) +(def-joint-node mtn-shard-lod0-jg "main" 3) +(def-joint-node mtn-shard-lod0-jg "prejoint" 2) +(def-joint-node mtn-shard-lod0-jg "align" 1) + +(def-joint-node dig-balloon-lurker-trapeze-lod0-jg "trapeze_end" 11) +(def-joint-node dig-balloon-lurker-trapeze-lod0-jg "trapeze_six" 10) +(def-joint-node dig-balloon-lurker-trapeze-lod0-jg "trapeze_five" 9) +(def-joint-node dig-balloon-lurker-trapeze-lod0-jg "trapeze_four" 8) +(def-joint-node dig-balloon-lurker-trapeze-lod0-jg "trapeze_three" 7) +(def-joint-node dig-balloon-lurker-trapeze-lod0-jg "trapese_two" 6) +(def-joint-node dig-balloon-lurker-trapeze-lod0-jg "trapeze_one" 5) +(def-joint-node dig-balloon-lurker-trapeze-lod0-jg "trapese_top" 4) +(def-joint-node dig-balloon-lurker-trapeze-lod0-jg "all" 3) +(def-joint-node dig-balloon-lurker-trapeze-lod0-jg "prejoint" 2) +(def-joint-node dig-balloon-lurker-trapeze-lod0-jg "align" 1) + +(def-joint-node crocadog-highres-lod0-jg "hairB" 39) +(def-joint-node crocadog-highres-lod0-jg "hairA" 38) +(def-joint-node crocadog-highres-lod0-jg "Rear" 37) +(def-joint-node crocadog-highres-lod0-jg "Lear" 36) +(def-joint-node crocadog-highres-lod0-jg "nostrils" 35) +(def-joint-node crocadog-highres-lod0-jg "snout" 34) +(def-joint-node crocadog-highres-lod0-jg "Rball" 33) +(def-joint-node crocadog-highres-lod0-jg "Rankle" 32) +(def-joint-node crocadog-highres-lod0-jg "Rcannon" 31) +(def-joint-node crocadog-highres-lod0-jg "Rknee" 30) +(def-joint-node crocadog-highres-lod0-jg "Lfrontknee" 13) +(def-joint-node crocadog-highres-lod0-jg "Lfrontthigh" 12) +(def-joint-node crocadog-highres-lod0-jg "tongueD" 11) +(def-joint-node crocadog-highres-lod0-jg "tongueC" 10) +(def-joint-node crocadog-highres-lod0-jg "tongueB" 9) +(def-joint-node crocadog-highres-lod0-jg "tongueA" 8) +(def-joint-node crocadog-highres-lod0-jg "jaw" 7) +(def-joint-node crocadog-highres-lod0-jg "head" 6) +(def-joint-node crocadog-highres-lod0-jg "neck" 5) +(def-joint-node crocadog-highres-lod0-jg "chest" 4) +(def-joint-node crocadog-highres-lod0-jg "main" 3) +(def-joint-node crocadog-highres-lod0-jg "prejoint" 2) +(def-joint-node crocadog-highres-lod0-jg "align" 1) +(def-joint-node crocadog-highres-lod0-jg "Lfrontankle" 14) +(def-joint-node crocadog-highres-lod0-jg "Lfrontball" 15) +(def-joint-node crocadog-highres-lod0-jg "Rfrontthigh" 16) +(def-joint-node crocadog-highres-lod0-jg "Rfrontknee" 17) +(def-joint-node crocadog-highres-lod0-jg "Rfrontankle" 18) +(def-joint-node crocadog-highres-lod0-jg "Rfrontball" 19) +(def-joint-node crocadog-highres-lod0-jg "hips" 20) +(def-joint-node crocadog-highres-lod0-jg "tailA" 21) +(def-joint-node crocadog-highres-lod0-jg "tailB" 22) +(def-joint-node crocadog-highres-lod0-jg "tailC" 23) +(def-joint-node crocadog-highres-lod0-jg "Lthigh" 24) +(def-joint-node crocadog-highres-lod0-jg "Lknee" 25) +(def-joint-node crocadog-highres-lod0-jg "Lcannon" 26) +(def-joint-node crocadog-highres-lod0-jg "Lankle" 27) +(def-joint-node crocadog-highres-lod0-jg "Lball" 28) +(def-joint-node crocadog-highres-lod0-jg "Rthigh" 29) + +(def-joint-node tomb-move-swing-pole-lod0-jg "main" 3) +(def-joint-node tomb-move-swing-pole-lod0-jg "prejoint" 2) +(def-joint-node tomb-move-swing-pole-lod0-jg "align" 1) + +(def-joint-node dig-spikey-sphere-explode-lod0-jg "j" 12) +(def-joint-node dig-spikey-sphere-explode-lod0-jg "i" 11) +(def-joint-node dig-spikey-sphere-explode-lod0-jg "h" 10) +(def-joint-node dig-spikey-sphere-explode-lod0-jg "g" 9) +(def-joint-node dig-spikey-sphere-explode-lod0-jg "f" 8) +(def-joint-node dig-spikey-sphere-explode-lod0-jg "e" 7) +(def-joint-node dig-spikey-sphere-explode-lod0-jg "d" 6) +(def-joint-node dig-spikey-sphere-explode-lod0-jg "c" 5) +(def-joint-node dig-spikey-sphere-explode-lod0-jg "b" 4) +(def-joint-node dig-spikey-sphere-explode-lod0-jg "a" 3) +(def-joint-node dig-spikey-sphere-explode-lod0-jg "prejoint" 2) +(def-joint-node dig-spikey-sphere-explode-lod0-jg "align" 1) + +(def-joint-node dig-totem-lod0-jg "fish" 4) +(def-joint-node dig-totem-lod0-jg "totem" 3) +(def-joint-node dig-totem-lod0-jg "prejoint" 2) +(def-joint-node dig-totem-lod0-jg "align" 1) + +(def-joint-node water-anim-ctypal-lrgsqr-pool-lod0-jg "boneless" 3) +(def-joint-node water-anim-ctypal-lrgsqr-pool-lod0-jg "prejoint" 2) +(def-joint-node water-anim-ctypal-lrgsqr-pool-lod0-jg "align" 1) + +(def-joint-node gun-dummy-c-lod0-jg "main" 3) +(def-joint-node gun-dummy-c-lod0-jg "prejoint" 2) +(def-joint-node gun-dummy-c-lod0-jg "align" 1) + +(def-joint-node dig-tipping-rock-lod0-jg "main" 3) +(def-joint-node dig-tipping-rock-lod0-jg "prejoint" 2) +(def-joint-node dig-tipping-rock-lod0-jg "align" 1) + +(def-joint-node bikec-lod0-jg "spoilerr_" 14) +(def-joint-node bikec-lod0-jg "align" 1) +(def-joint-node bikec-lod0-jg "prejoint" 2) +(def-joint-node bikec-lod0-jg "main_" 3) +(def-joint-node bikec-lod0-jg "nosefinlh_" 4) +(def-joint-node bikec-lod0-jg "nosefinrh_" 5) +(def-joint-node bikec-lod0-jg "nosefinrb_" 6) +(def-joint-node bikec-lod0-jg "nosefinlb_" 7) +(def-joint-node bikec-lod0-jg "rudder_" 8) +(def-joint-node bikec-lod0-jg "tailfinl_" 9) +(def-joint-node bikec-lod0-jg "tailfinr_" 10) +(def-joint-node bikec-lod0-jg "brakel_" 11) +(def-joint-node bikec-lod0-jg "braker_" 12) +(def-joint-node bikec-lod0-jg "spoilerl_" 13) + +(def-joint-node drill-top-break-lod0-jg "main" 3) +(def-joint-node drill-top-break-lod0-jg "prejoint" 2) +(def-joint-node drill-top-break-lod0-jg "align" 1) + +(def-joint-node metalkor-wings-lod0-jg "rbackwingD" 20) +(def-joint-node metalkor-wings-lod0-jg "rbackwingC" 19) +(def-joint-node metalkor-wings-lod0-jg "rbackwingB" 18) +(def-joint-node metalkor-wings-lod0-jg "rbackwingA" 17) +(def-joint-node metalkor-wings-lod0-jg "rfrwingE" 16) +(def-joint-node metalkor-wings-lod0-jg "rfrwingD" 15) +(def-joint-node metalkor-wings-lod0-jg "rfrwingC" 14) +(def-joint-node metalkor-wings-lod0-jg "align" 1) +(def-joint-node metalkor-wings-lod0-jg "prejoint" 2) +(def-joint-node metalkor-wings-lod0-jg "lfrwingA" 3) +(def-joint-node metalkor-wings-lod0-jg "lfrwingB" 4) +(def-joint-node metalkor-wings-lod0-jg "lfrwingC" 5) +(def-joint-node metalkor-wings-lod0-jg "lfrwingD" 6) +(def-joint-node metalkor-wings-lod0-jg "lfrwingE" 7) +(def-joint-node metalkor-wings-lod0-jg "lbackwingA" 8) +(def-joint-node metalkor-wings-lod0-jg "lbackwingB" 9) +(def-joint-node metalkor-wings-lod0-jg "lbackwingC" 10) +(def-joint-node metalkor-wings-lod0-jg "lbackwingD" 11) +(def-joint-node metalkor-wings-lod0-jg "rfrwingA" 12) +(def-joint-node metalkor-wings-lod0-jg "rfrwingB" 13) + +(def-joint-node drill-top-break-explode-b-lod0-jg "ch" 45) +(def-joint-node drill-top-break-explode-b-lod0-jg "cg" 44) +(def-joint-node drill-top-break-explode-b-lod0-jg "cf" 43) +(def-joint-node drill-top-break-explode-b-lod0-jg "ce" 42) +(def-joint-node drill-top-break-explode-b-lod0-jg "cd" 41) +(def-joint-node drill-top-break-explode-b-lod0-jg "cc" 40) +(def-joint-node drill-top-break-explode-b-lod0-jg "cb" 39) +(def-joint-node drill-top-break-explode-b-lod0-jg "ca" 38) +(def-joint-node drill-top-break-explode-b-lod0-jg "bz" 37) +(def-joint-node drill-top-break-explode-b-lod0-jg "by" 36) +(def-joint-node drill-top-break-explode-b-lod0-jg "bx" 35) +(def-joint-node drill-top-break-explode-b-lod0-jg "bw" 34) +(def-joint-node drill-top-break-explode-b-lod0-jg "bv" 33) +(def-joint-node drill-top-break-explode-b-lod0-jg "bu" 32) +(def-joint-node drill-top-break-explode-b-lod0-jg "bt" 31) +(def-joint-node drill-top-break-explode-b-lod0-jg "bs" 30) +(def-joint-node drill-top-break-explode-b-lod0-jg "bb" 13) +(def-joint-node drill-top-break-explode-b-lod0-jg "ba" 12) +(def-joint-node drill-top-break-explode-b-lod0-jg "az" 11) +(def-joint-node drill-top-break-explode-b-lod0-jg "ay" 10) +(def-joint-node drill-top-break-explode-b-lod0-jg "ax" 9) +(def-joint-node drill-top-break-explode-b-lod0-jg "aw" 8) +(def-joint-node drill-top-break-explode-b-lod0-jg "av" 7) +(def-joint-node drill-top-break-explode-b-lod0-jg "au" 6) +(def-joint-node drill-top-break-explode-b-lod0-jg "at" 5) +(def-joint-node drill-top-break-explode-b-lod0-jg "as" 4) +(def-joint-node drill-top-break-explode-b-lod0-jg "main" 3) +(def-joint-node drill-top-break-explode-b-lod0-jg "prejoint" 2) +(def-joint-node drill-top-break-explode-b-lod0-jg "align" 1) +(def-joint-node drill-top-break-explode-b-lod0-jg "bc" 14) +(def-joint-node drill-top-break-explode-b-lod0-jg "bd" 15) +(def-joint-node drill-top-break-explode-b-lod0-jg "be" 16) +(def-joint-node drill-top-break-explode-b-lod0-jg "bf" 17) +(def-joint-node drill-top-break-explode-b-lod0-jg "bg" 18) +(def-joint-node drill-top-break-explode-b-lod0-jg "bh" 19) +(def-joint-node drill-top-break-explode-b-lod0-jg "bi" 20) +(def-joint-node drill-top-break-explode-b-lod0-jg "bj" 21) +(def-joint-node drill-top-break-explode-b-lod0-jg "bk" 22) +(def-joint-node drill-top-break-explode-b-lod0-jg "bl" 23) +(def-joint-node drill-top-break-explode-b-lod0-jg "bm" 24) +(def-joint-node drill-top-break-explode-b-lod0-jg "bn" 25) +(def-joint-node drill-top-break-explode-b-lod0-jg "bo" 26) +(def-joint-node drill-top-break-explode-b-lod0-jg "bp" 27) +(def-joint-node drill-top-break-explode-b-lod0-jg "bq" 28) +(def-joint-node drill-top-break-explode-b-lod0-jg "br" 29) + +(def-joint-node fort-plat-orbit-lod0-jg "arms3" 8) +(def-joint-node fort-plat-orbit-lod0-jg "arms2" 7) +(def-joint-node fort-plat-orbit-lod0-jg "arms1" 6) +(def-joint-node fort-plat-orbit-lod0-jg "arms" 5) +(def-joint-node fort-plat-orbit-lod0-jg "orbitrot" 4) +(def-joint-node fort-plat-orbit-lod0-jg "main" 3) +(def-joint-node fort-plat-orbit-lod0-jg "prejoint" 2) +(def-joint-node fort-plat-orbit-lod0-jg "align" 1) + +(def-joint-node drill-barons-ship-lod0-jg "rpnode_gun_b" 32) +(def-joint-node drill-barons-ship-lod0-jg "rpnode_gun_b1" 31) +(def-joint-node drill-barons-ship-lod0-jg "rpnode_gun_b2" 30) +(def-joint-node drill-barons-ship-lod0-jg "rpnode_gun_a2" 13) +(def-joint-node drill-barons-ship-lod0-jg "rpnode_gun_a7" 12) +(def-joint-node drill-barons-ship-lod0-jg "rpnode_gun_a3" 11) +(def-joint-node drill-barons-ship-lod0-jg "rpnode_gun_a8" 10) +(def-joint-node drill-barons-ship-lod0-jg "rpnode_gun_a1" 9) +(def-joint-node drill-barons-ship-lod0-jg "light4" 8) +(def-joint-node drill-barons-ship-lod0-jg "light3" 7) +(def-joint-node drill-barons-ship-lod0-jg "light2" 6) +(def-joint-node drill-barons-ship-lod0-jg "light1" 5) +(def-joint-node drill-barons-ship-lod0-jg "light" 4) +(def-joint-node drill-barons-ship-lod0-jg "main" 3) +(def-joint-node drill-barons-ship-lod0-jg "prejoint" 2) +(def-joint-node drill-barons-ship-lod0-jg "align" 1) +(def-joint-node drill-barons-ship-lod0-jg "rpnode_gun_a6" 14) +(def-joint-node drill-barons-ship-lod0-jg "rpnode_gun_a5" 15) +(def-joint-node drill-barons-ship-lod0-jg "rpnode_gun_a" 16) +(def-joint-node drill-barons-ship-lod0-jg "rpnode_gun_a9" 17) +(def-joint-node drill-barons-ship-lod0-jg "rpnode_gun_a10" 18) +(def-joint-node drill-barons-ship-lod0-jg "rpnode_gun_a11" 19) +(def-joint-node drill-barons-ship-lod0-jg "rpnode_gun_a12" 20) +(def-joint-node drill-barons-ship-lod0-jg "rpnode_gun_a13" 21) +(def-joint-node drill-barons-ship-lod0-jg "rpnode_gun_a14" 22) +(def-joint-node drill-barons-ship-lod0-jg "rpnode_gun_a15" 23) +(def-joint-node drill-barons-ship-lod0-jg "rpnode_gun_a16" 24) +(def-joint-node drill-barons-ship-lod0-jg "rpnode_gun_a17" 25) +(def-joint-node drill-barons-ship-lod0-jg "rpnode_gun_a18" 26) +(def-joint-node drill-barons-ship-lod0-jg "rpnode_gun_b5" 27) +(def-joint-node drill-barons-ship-lod0-jg "rpnode_gun_b4" 28) +(def-joint-node drill-barons-ship-lod0-jg "rpnode_gun_b3" 29) + +(def-joint-node dig-button-lod0-jg "boneless" 3) +(def-joint-node dig-button-lod0-jg "prejoint" 2) +(def-joint-node dig-button-lod0-jg "align" 1) + +(def-joint-node skatea-jump-pad-lod0-jg "lid" 4) +(def-joint-node skatea-jump-pad-lod0-jg "main" 3) +(def-joint-node skatea-jump-pad-lod0-jg "prejoint" 2) +(def-joint-node skatea-jump-pad-lod0-jg "align" 1) + +(def-joint-node drill-barons-ship-turret-lod0-jg "Rgun" 14) +(def-joint-node drill-barons-ship-turret-lod0-jg "align" 1) +(def-joint-node drill-barons-ship-turret-lod0-jg "prejoint" 2) +(def-joint-node drill-barons-ship-turret-lod0-jg "main" 3) +(def-joint-node drill-barons-ship-turret-lod0-jg "L_hatch" 4) +(def-joint-node drill-barons-ship-turret-lod0-jg "R_hatch" 5) +(def-joint-node drill-barons-ship-turret-lod0-jg "shaft_a" 6) +(def-joint-node drill-barons-ship-turret-lod0-jg "shaft_b" 7) +(def-joint-node drill-barons-ship-turret-lod0-jg "shaft_c" 8) +(def-joint-node drill-barons-ship-turret-lod0-jg "shaft_d" 9) +(def-joint-node drill-barons-ship-turret-lod0-jg "gunbase" 10) +(def-joint-node drill-barons-ship-turret-lod0-jg "gun_left" 11) +(def-joint-node drill-barons-ship-turret-lod0-jg "gun_right" 12) +(def-joint-node drill-barons-ship-turret-lod0-jg "Lgun" 13) + +(def-joint-node ctyn-lamp-lod0-jg "main" 3) +(def-joint-node ctyn-lamp-lod0-jg "prejoint" 2) +(def-joint-node ctyn-lamp-lod0-jg "align" 1) + +(def-joint-node drill-control-panel-lod0-jg "be" 83) +(def-joint-node drill-control-panel-lod0-jg "bd" 82) +(def-joint-node drill-control-panel-lod0-jg "bc" 81) +(def-joint-node drill-control-panel-lod0-jg "bb" 80) +(def-joint-node drill-control-panel-lod0-jg "ba" 79) +(def-joint-node drill-control-panel-lod0-jg "az" 78) +(def-joint-node drill-control-panel-lod0-jg "ay" 77) +(def-joint-node drill-control-panel-lod0-jg "ax" 76) +(def-joint-node drill-control-panel-lod0-jg "aw" 75) +(def-joint-node drill-control-panel-lod0-jg "av" 74) +(def-joint-node drill-control-panel-lod0-jg "au" 73) +(def-joint-node drill-control-panel-lod0-jg "at" 72) +(def-joint-node drill-control-panel-lod0-jg "as" 71) +(def-joint-node drill-control-panel-lod0-jg "ar" 70) +(def-joint-node drill-control-panel-lod0-jg "aq" 69) +(def-joint-node drill-control-panel-lod0-jg "ap" 68) +(def-joint-node drill-control-panel-lod0-jg "ao" 67) +(def-joint-node drill-control-panel-lod0-jg "an" 66) +(def-joint-node drill-control-panel-lod0-jg "am" 65) +(def-joint-node drill-control-panel-lod0-jg "al" 64) +(def-joint-node drill-control-panel-lod0-jg "ak" 63) +(def-joint-node drill-control-panel-lod0-jg "aj" 62) +(def-joint-node drill-control-panel-lod0-jg "ai" 61) +(def-joint-node drill-control-panel-lod0-jg "ah" 60) +(def-joint-node drill-control-panel-lod0-jg "d" 29) +(def-joint-node drill-control-panel-lod0-jg "c" 28) +(def-joint-node drill-control-panel-lod0-jg "b" 27) +(def-joint-node drill-control-panel-lod0-jg "main" 26) +(def-joint-node drill-control-panel-lod0-jg "spark_ab" 25) +(def-joint-node drill-control-panel-lod0-jg "spark_w" 24) +(def-joint-node drill-control-panel-lod0-jg "spark_r" 23) +(def-joint-node drill-control-panel-lod0-jg "spark_m" 22) +(def-joint-node drill-control-panel-lod0-jg "spark_i" 21) +(def-joint-node drill-control-panel-lod0-jg "spark_d" 20) +(def-joint-node drill-control-panel-lod0-jg "steam_b" 19) +(def-joint-node drill-control-panel-lod0-jg "explode_d" 18) +(def-joint-node drill-control-panel-lod0-jg "light_amber_g" 17) +(def-joint-node drill-control-panel-lod0-jg "light_amber_f" 16) +(def-joint-node drill-control-panel-lod0-jg "light_amber_e" 15) +(def-joint-node drill-control-panel-lod0-jg "light_amber_d" 14) +(def-joint-node drill-control-panel-lod0-jg "align" 1) +(def-joint-node drill-control-panel-lod0-jg "prejoint" 2) +(def-joint-node drill-control-panel-lod0-jg "light_blue_a" 3) +(def-joint-node drill-control-panel-lod0-jg "light_blue_b" 4) +(def-joint-node drill-control-panel-lod0-jg "light_blue_c" 5) +(def-joint-node drill-control-panel-lod0-jg "light_blue_d" 6) +(def-joint-node drill-control-panel-lod0-jg "light_blue_e" 7) +(def-joint-node drill-control-panel-lod0-jg "light_big_amber_a" 8) +(def-joint-node drill-control-panel-lod0-jg "light_big_amber_b" 9) +(def-joint-node drill-control-panel-lod0-jg "light_big_amber_c" 10) +(def-joint-node drill-control-panel-lod0-jg "light_amber_a" 11) +(def-joint-node drill-control-panel-lod0-jg "light_amber_b" 12) +(def-joint-node drill-control-panel-lod0-jg "light_amber_c" 13) +(def-joint-node drill-control-panel-lod0-jg "e" 30) +(def-joint-node drill-control-panel-lod0-jg "f" 31) +(def-joint-node drill-control-panel-lod0-jg "g" 32) +(def-joint-node drill-control-panel-lod0-jg "h" 33) +(def-joint-node drill-control-panel-lod0-jg "i" 34) +(def-joint-node drill-control-panel-lod0-jg "j" 35) +(def-joint-node drill-control-panel-lod0-jg "k" 36) +(def-joint-node drill-control-panel-lod0-jg "l" 37) +(def-joint-node drill-control-panel-lod0-jg "m" 38) +(def-joint-node drill-control-panel-lod0-jg "n" 39) +(def-joint-node drill-control-panel-lod0-jg "o" 40) +(def-joint-node drill-control-panel-lod0-jg "p" 41) +(def-joint-node drill-control-panel-lod0-jg "q" 42) +(def-joint-node drill-control-panel-lod0-jg "r" 43) +(def-joint-node drill-control-panel-lod0-jg "s" 44) +(def-joint-node drill-control-panel-lod0-jg "t" 45) +(def-joint-node drill-control-panel-lod0-jg "u" 46) +(def-joint-node drill-control-panel-lod0-jg "v" 47) +(def-joint-node drill-control-panel-lod0-jg "w" 48) +(def-joint-node drill-control-panel-lod0-jg "x" 49) +(def-joint-node drill-control-panel-lod0-jg "y" 50) +(def-joint-node drill-control-panel-lod0-jg "z" 51) +(def-joint-node drill-control-panel-lod0-jg "zz" 52) +(def-joint-node drill-control-panel-lod0-jg "aa" 53) +(def-joint-node drill-control-panel-lod0-jg "ab" 54) +(def-joint-node drill-control-panel-lod0-jg "ac" 55) +(def-joint-node drill-control-panel-lod0-jg "ad" 56) +(def-joint-node drill-control-panel-lod0-jg "ae" 57) +(def-joint-node drill-control-panel-lod0-jg "af" 58) +(def-joint-node drill-control-panel-lod0-jg "ag" 59) + +(def-joint-node rift-occlude-lod0-jg "main" 3) +(def-joint-node rift-occlude-lod0-jg "prejoint" 2) +(def-joint-node rift-occlude-lod0-jg "align" 1) + +(def-joint-node talk-box-lod0-jg "main" 3) +(def-joint-node talk-box-lod0-jg "prejoint" 2) +(def-joint-node talk-box-lod0-jg "align" 1) + +(def-joint-node drill-crane-lod0-jg "ae" 39) +(def-joint-node drill-crane-lod0-jg "ad" 38) +(def-joint-node drill-crane-lod0-jg "ac" 37) +(def-joint-node drill-crane-lod0-jg "ab" 36) +(def-joint-node drill-crane-lod0-jg "aa" 35) +(def-joint-node drill-crane-lod0-jg "i" 34) +(def-joint-node drill-crane-lod0-jg "z" 33) +(def-joint-node drill-crane-lod0-jg "y" 32) +(def-joint-node drill-crane-lod0-jg "x" 31) +(def-joint-node drill-crane-lod0-jg "w" 30) +(def-joint-node drill-crane-lod0-jg "e" 13) +(def-joint-node drill-crane-lod0-jg "d" 12) +(def-joint-node drill-crane-lod0-jg "c" 11) +(def-joint-node drill-crane-lod0-jg "b" 10) +(def-joint-node drill-crane-lod0-jg "a" 9) +(def-joint-node drill-crane-lod0-jg "main" 8) +(def-joint-node drill-crane-lod0-jg "spark_b" 7) +(def-joint-node drill-crane-lod0-jg "spark_a" 6) +(def-joint-node drill-crane-lod0-jg "explode_c" 5) +(def-joint-node drill-crane-lod0-jg "explode_b" 4) +(def-joint-node drill-crane-lod0-jg "explode_a" 3) +(def-joint-node drill-crane-lod0-jg "prejoint" 2) +(def-joint-node drill-crane-lod0-jg "align" 1) +(def-joint-node drill-crane-lod0-jg "f" 14) +(def-joint-node drill-crane-lod0-jg "g" 15) +(def-joint-node drill-crane-lod0-jg "h" 16) +(def-joint-node drill-crane-lod0-jg "j" 17) +(def-joint-node drill-crane-lod0-jg "k" 18) +(def-joint-node drill-crane-lod0-jg "l" 19) +(def-joint-node drill-crane-lod0-jg "m" 20) +(def-joint-node drill-crane-lod0-jg "n" 21) +(def-joint-node drill-crane-lod0-jg "o" 22) +(def-joint-node drill-crane-lod0-jg "p" 23) +(def-joint-node drill-crane-lod0-jg "q" 24) +(def-joint-node drill-crane-lod0-jg "r" 25) +(def-joint-node drill-crane-lod0-jg "s" 26) +(def-joint-node drill-crane-lod0-jg "t" 27) +(def-joint-node drill-crane-lod0-jg "u" 28) +(def-joint-node drill-crane-lod0-jg "v" 29) + +(def-joint-node tomb-stair-block-lod0-jg "riser4" 10) +(def-joint-node tomb-stair-block-lod0-jg "filler3" 9) +(def-joint-node tomb-stair-block-lod0-jg "riser3" 8) +(def-joint-node tomb-stair-block-lod0-jg "filler2" 7) +(def-joint-node tomb-stair-block-lod0-jg "riser2" 6) +(def-joint-node tomb-stair-block-lod0-jg "filler1" 5) +(def-joint-node tomb-stair-block-lod0-jg "riser1" 4) +(def-joint-node tomb-stair-block-lod0-jg "main" 3) +(def-joint-node tomb-stair-block-lod0-jg "prejoint" 2) +(def-joint-node tomb-stair-block-lod0-jg "align" 1) + +(def-joint-node drill-crane-c-lod0-jg "am" 43) +(def-joint-node drill-crane-c-lod0-jg "al" 42) +(def-joint-node drill-crane-c-lod0-jg "ak" 41) +(def-joint-node drill-crane-c-lod0-jg "aj" 40) +(def-joint-node drill-crane-c-lod0-jg "ai" 39) +(def-joint-node drill-crane-c-lod0-jg "ah" 38) +(def-joint-node drill-crane-c-lod0-jg "ag" 37) +(def-joint-node drill-crane-c-lod0-jg "af" 36) +(def-joint-node drill-crane-c-lod0-jg "ae" 35) +(def-joint-node drill-crane-c-lod0-jg "ad" 34) +(def-joint-node drill-crane-c-lod0-jg "ac" 33) +(def-joint-node drill-crane-c-lod0-jg "ab" 32) +(def-joint-node drill-crane-c-lod0-jg "aa" 31) +(def-joint-node drill-crane-c-lod0-jg "main" 30) +(def-joint-node drill-crane-c-lod0-jg "j" 13) +(def-joint-node drill-crane-c-lod0-jg "i" 12) +(def-joint-node drill-crane-c-lod0-jg "h" 11) +(def-joint-node drill-crane-c-lod0-jg "g" 10) +(def-joint-node drill-crane-c-lod0-jg "f" 9) +(def-joint-node drill-crane-c-lod0-jg "e" 8) +(def-joint-node drill-crane-c-lod0-jg "d" 7) +(def-joint-node drill-crane-c-lod0-jg "c" 6) +(def-joint-node drill-crane-c-lod0-jg "b" 5) +(def-joint-node drill-crane-c-lod0-jg "a" 4) +(def-joint-node drill-crane-c-lod0-jg "explode" 3) +(def-joint-node drill-crane-c-lod0-jg "prejoint" 2) +(def-joint-node drill-crane-c-lod0-jg "align" 1) +(def-joint-node drill-crane-c-lod0-jg "k" 14) +(def-joint-node drill-crane-c-lod0-jg "l" 15) +(def-joint-node drill-crane-c-lod0-jg "m" 16) +(def-joint-node drill-crane-c-lod0-jg "n" 17) +(def-joint-node drill-crane-c-lod0-jg "o" 18) +(def-joint-node drill-crane-c-lod0-jg "p" 19) +(def-joint-node drill-crane-c-lod0-jg "q" 20) +(def-joint-node drill-crane-c-lod0-jg "r" 21) +(def-joint-node drill-crane-c-lod0-jg "s" 22) +(def-joint-node drill-crane-c-lod0-jg "t" 23) +(def-joint-node drill-crane-c-lod0-jg "u" 24) +(def-joint-node drill-crane-c-lod0-jg "v" 25) +(def-joint-node drill-crane-c-lod0-jg "w" 26) +(def-joint-node drill-crane-c-lod0-jg "x" 27) +(def-joint-node drill-crane-c-lod0-jg "y" 28) +(def-joint-node drill-crane-c-lod0-jg "z" 29) + +(def-joint-node drill-drill-lod0-jg "bit" 16) +(def-joint-node drill-drill-lod0-jg "smbit_rr" 15) +(def-joint-node drill-drill-lod0-jg "smbit_lr" 14) +(def-joint-node drill-drill-lod0-jg "align" 1) +(def-joint-node drill-drill-lod0-jg "prejoint" 2) +(def-joint-node drill-drill-lod0-jg "main" 3) +(def-joint-node drill-drill-lod0-jg "front_wheel" 4) +(def-joint-node drill-drill-lod0-jg "back_wheel" 5) +(def-joint-node drill-drill-lod0-jg "side_wheel_L" 6) +(def-joint-node drill-drill-lod0-jg "side_wheel_R" 7) +(def-joint-node drill-drill-lod0-jg "mdbit_b" 8) +(def-joint-node drill-drill-lod0-jg "mdbit_l" 9) +(def-joint-node drill-drill-lod0-jg "mdbit_f" 10) +(def-joint-node drill-drill-lod0-jg "mdbit_r" 11) +(def-joint-node drill-drill-lod0-jg "smbit_rf" 12) +(def-joint-node drill-drill-lod0-jg "smbit_lf" 13) + +(def-joint-node mtn-gate-lod0-jg "Rgate" 5) +(def-joint-node mtn-gate-lod0-jg "Lgate" 4) +(def-joint-node mtn-gate-lod0-jg "main" 3) +(def-joint-node mtn-gate-lod0-jg "prejoint" 2) +(def-joint-node mtn-gate-lod0-jg "align" 1) + +(def-joint-node drill-lift-lod0-jg "main" 3) +(def-joint-node drill-lift-lod0-jg "prejoint" 2) +(def-joint-node drill-lift-lod0-jg "align" 1) + +(def-joint-node drill-elevator-doors-lod0-jg "door_R" 5) +(def-joint-node drill-elevator-doors-lod0-jg "door_L" 4) +(def-joint-node drill-elevator-doors-lod0-jg "main" 3) +(def-joint-node drill-elevator-doors-lod0-jg "prejoint" 2) +(def-joint-node drill-elevator-doors-lod0-jg "align" 1) + +(def-joint-node crane-lod0-jg "gamecrate" 4) +(def-joint-node crane-lod0-jg "main" 3) +(def-joint-node crane-lod0-jg "prejoint" 2) +(def-joint-node crane-lod0-jg "align" 1) + +(def-joint-node squid-driver-lod0-jg "main" 3) +(def-joint-node squid-driver-lod0-jg "prejoint" 2) +(def-joint-node squid-driver-lod0-jg "align" 1) + +(def-joint-node crimson-guard-lod0-jg "Larmplate" 38) +(def-joint-node crimson-guard-lod0-jg "RmiddleB" 37) +(def-joint-node crimson-guard-lod0-jg "RthumbB" 36) +(def-joint-node crimson-guard-lod0-jg "RthumbA" 35) +(def-joint-node crimson-guard-lod0-jg "LmiddleB" 34) +(def-joint-node crimson-guard-lod0-jg "LthumbB" 33) +(def-joint-node crimson-guard-lod0-jg "LthumbA" 32) +(def-joint-node crimson-guard-lod0-jg "Rearmid" 31) +(def-joint-node crimson-guard-lod0-jg "Rearbase" 30) +(def-joint-node crimson-guard-lod0-jg "gun" 13) +(def-joint-node crimson-guard-lod0-jg "Rhand" 12) +(def-joint-node crimson-guard-lod0-jg "Relbow" 11) +(def-joint-node crimson-guard-lod0-jg "Rshoulder" 10) +(def-joint-node crimson-guard-lod0-jg "Lhand" 9) +(def-joint-node crimson-guard-lod0-jg "Lelbow" 8) +(def-joint-node crimson-guard-lod0-jg "Lshoulder" 7) +(def-joint-node crimson-guard-lod0-jg "neck" 6) +(def-joint-node crimson-guard-lod0-jg "realChest" 5) +(def-joint-node crimson-guard-lod0-jg "swivelMe" 4) +(def-joint-node crimson-guard-lod0-jg "main" 3) +(def-joint-node crimson-guard-lod0-jg "prejoint" 2) +(def-joint-node crimson-guard-lod0-jg "align" 1) +(def-joint-node crimson-guard-lod0-jg "blast" 14) +(def-joint-node crimson-guard-lod0-jg "dirblast" 15) +(def-joint-node crimson-guard-lod0-jg "hips" 16) +(def-joint-node crimson-guard-lod0-jg "Lthigh" 17) +(def-joint-node crimson-guard-lod0-jg "Lknee" 18) +(def-joint-node crimson-guard-lod0-jg "Lankle" 19) +(def-joint-node crimson-guard-lod0-jg "Rthigh" 20) +(def-joint-node crimson-guard-lod0-jg "Rknee" 21) +(def-joint-node crimson-guard-lod0-jg "Rankle" 22) +(def-joint-node crimson-guard-lod0-jg "LmiddleA" 23) +(def-joint-node crimson-guard-lod0-jg "RmiddleA" 24) +(def-joint-node crimson-guard-lod0-jg "Rarmplate" 25) +(def-joint-node crimson-guard-lod0-jg "Lball" 26) +(def-joint-node crimson-guard-lod0-jg "head" 27) +(def-joint-node crimson-guard-lod0-jg "Learbase" 28) +(def-joint-node crimson-guard-lod0-jg "Learmid" 29) + +(def-joint-node pal-gun-turret-explode-lod0-jg "bodypiece" 20) +(def-joint-node pal-gun-turret-explode-lod0-jg "topbodyR" 19) +(def-joint-node pal-gun-turret-explode-lod0-jg "topbodyL" 18) +(def-joint-node pal-gun-turret-explode-lod0-jg "bottomL" 17) +(def-joint-node pal-gun-turret-explode-lod0-jg "bottomR" 16) +(def-joint-node pal-gun-turret-explode-lod0-jg "topholeL1" 15) +(def-joint-node pal-gun-turret-explode-lod0-jg "topholeL2" 14) +(def-joint-node pal-gun-turret-explode-lod0-jg "align" 1) +(def-joint-node pal-gun-turret-explode-lod0-jg "prejoint" 2) +(def-joint-node pal-gun-turret-explode-lod0-jg "main" 3) +(def-joint-node pal-gun-turret-explode-lod0-jg "base" 4) +(def-joint-node pal-gun-turret-explode-lod0-jg "round" 5) +(def-joint-node pal-gun-turret-explode-lod0-jg "neck" 6) +(def-joint-node pal-gun-turret-explode-lod0-jg "muzzle" 7) +(def-joint-node pal-gun-turret-explode-lod0-jg "topholeR1" 8) +(def-joint-node pal-gun-turret-explode-lod0-jg "topholeR2" 9) +(def-joint-node pal-gun-turret-explode-lod0-jg "backbottom" 10) +(def-joint-node pal-gun-turret-explode-lod0-jg "lowerreardetail" 11) +(def-joint-node pal-gun-turret-explode-lod0-jg "upperreardetail" 12) +(def-joint-node pal-gun-turret-explode-lod0-jg "top" 13) + +(def-joint-node water-anim-mountain-fall-low-lod0-jg "boneless" 3) +(def-joint-node water-anim-mountain-fall-low-lod0-jg "prejoint" 2) +(def-joint-node water-anim-mountain-fall-low-lod0-jg "align" 1) + +(def-joint-node kor-highres-lod0-jg "staff" 86) +(def-joint-node kor-highres-lod0-jg "bagB" 85) +(def-joint-node kor-highres-lod0-jg "bagA" 84) +(def-joint-node kor-highres-lod0-jg "bktunicB" 83) +(def-joint-node kor-highres-lod0-jg "RpinkyC" 82) +(def-joint-node kor-highres-lod0-jg "RmiddleC" 81) +(def-joint-node kor-highres-lod0-jg "RmiddleB" 80) +(def-joint-node kor-highres-lod0-jg "RmiddleA" 79) +(def-joint-node kor-highres-lod0-jg "RthumbB" 78) +(def-joint-node kor-highres-lod0-jg "LpinkyC" 77) +(def-joint-node kor-highres-lod0-jg "LmiddleC" 76) +(def-joint-node kor-highres-lod0-jg "LmiddleB" 75) +(def-joint-node kor-highres-lod0-jg "LmiddleA" 74) +(def-joint-node kor-highres-lod0-jg "LthumbB" 73) +(def-joint-node kor-highres-lod0-jg "Rbeardd" 72) +(def-joint-node kor-highres-lod0-jg "Rbeardc" 71) +(def-joint-node kor-highres-lod0-jg "Rbeardb" 70) +(def-joint-node kor-highres-lod0-jg "Rbearda" 69) +(def-joint-node kor-highres-lod0-jg "Lbeardd" 68) +(def-joint-node kor-highres-lod0-jg "Lbeardc" 67) +(def-joint-node kor-highres-lod0-jg "Lbeardb" 66) +(def-joint-node kor-highres-lod0-jg "Lbearda" 65) +(def-joint-node kor-highres-lod0-jg "rtburnB" 64) +(def-joint-node kor-highres-lod0-jg "rtburnA" 63) +(def-joint-node kor-highres-lod0-jg "ltburnB" 62) +(def-joint-node kor-highres-lod0-jg "ltburnA" 61) +(def-joint-node kor-highres-lod0-jg "hatgemB" 60) +(def-joint-node kor-highres-lod0-jg "RindexA" 29) +(def-joint-node kor-highres-lod0-jg "RthumbA" 28) +(def-joint-node kor-highres-lod0-jg "Rhand" 27) +(def-joint-node kor-highres-lod0-jg "Relbow" 26) +(def-joint-node kor-highres-lod0-jg "Rshoulder" 25) +(def-joint-node kor-highres-lod0-jg "LpinkyB" 24) +(def-joint-node kor-highres-lod0-jg "LpinkyA" 23) +(def-joint-node kor-highres-lod0-jg "LringC" 22) +(def-joint-node kor-highres-lod0-jg "LringB" 21) +(def-joint-node kor-highres-lod0-jg "LringA" 20) +(def-joint-node kor-highres-lod0-jg "LindexC" 19) +(def-joint-node kor-highres-lod0-jg "LindexB" 18) +(def-joint-node kor-highres-lod0-jg "LindexA" 17) +(def-joint-node kor-highres-lod0-jg "LthumbA" 16) +(def-joint-node kor-highres-lod0-jg "Lhand" 15) +(def-joint-node kor-highres-lod0-jg "Lelbow" 14) +(def-joint-node kor-highres-lod0-jg "align" 1) +(def-joint-node kor-highres-lod0-jg "prejoint" 2) +(def-joint-node kor-highres-lod0-jg "main" 3) +(def-joint-node kor-highres-lod0-jg "chest" 4) +(def-joint-node kor-highres-lod0-jg "neck" 5) +(def-joint-node kor-highres-lod0-jg "head" 6) +(def-joint-node kor-highres-lod0-jg "hairA" 7) +(def-joint-node kor-highres-lod0-jg "hairB" 8) +(def-joint-node kor-highres-lod0-jg "leftearA" 9) +(def-joint-node kor-highres-lod0-jg "leftearB" 10) +(def-joint-node kor-highres-lod0-jg "rightearA" 11) +(def-joint-node kor-highres-lod0-jg "rightearB" 12) +(def-joint-node kor-highres-lod0-jg "Lshoulder" 13) +(def-joint-node kor-highres-lod0-jg "RindexB" 30) +(def-joint-node kor-highres-lod0-jg "RindexC" 31) +(def-joint-node kor-highres-lod0-jg "RringA" 32) +(def-joint-node kor-highres-lod0-jg "RringB" 33) +(def-joint-node kor-highres-lod0-jg "RringC" 34) +(def-joint-node kor-highres-lod0-jg "RpinkyA" 35) +(def-joint-node kor-highres-lod0-jg "RpinkyB" 36) +(def-joint-node kor-highres-lod0-jg "necklaceA" 37) +(def-joint-node kor-highres-lod0-jg "necklaceB" 38) +(def-joint-node kor-highres-lod0-jg "hoodA" 39) +(def-joint-node kor-highres-lod0-jg "hoodB" 40) +(def-joint-node kor-highres-lod0-jg "hoodC" 41) +(def-joint-node kor-highres-lod0-jg "frtunicA" 42) +(def-joint-node kor-highres-lod0-jg "frtunicB" 43) +(def-joint-node kor-highres-lod0-jg "frtunicC" 44) +(def-joint-node kor-highres-lod0-jg "bktunicA" 45) +(def-joint-node kor-highres-lod0-jg "Lcuffa" 46) +(def-joint-node kor-highres-lod0-jg "Lcuffb" 47) +(def-joint-node kor-highres-lod0-jg "Rcuffa" 48) +(def-joint-node kor-highres-lod0-jg "Rcuffb" 49) +(def-joint-node kor-highres-lod0-jg "hips" 50) +(def-joint-node kor-highres-lod0-jg "Lthigh" 51) +(def-joint-node kor-highres-lod0-jg "Lknee" 52) +(def-joint-node kor-highres-lod0-jg "Lankle" 53) +(def-joint-node kor-highres-lod0-jg "Lball" 54) +(def-joint-node kor-highres-lod0-jg "Rthigh" 55) +(def-joint-node kor-highres-lod0-jg "Rknee" 56) +(def-joint-node kor-highres-lod0-jg "Rankle" 57) +(def-joint-node kor-highres-lod0-jg "Rball" 58) +(def-joint-node kor-highres-lod0-jg "hatgemA" 59) + +(def-joint-node water-anim-stadium-middle-pool-lod0-jg "boneless" 3) +(def-joint-node water-anim-stadium-middle-pool-lod0-jg "prejoint" 2) +(def-joint-node water-anim-stadium-middle-pool-lod0-jg "align" 1) + +(def-joint-node water-anim-stadium-top-fountain-lod0-jg "boneless" 3) +(def-joint-node water-anim-stadium-top-fountain-lod0-jg "prejoint" 2) +(def-joint-node water-anim-stadium-top-fountain-lod0-jg "align" 1) + +(def-joint-node mtn-plat-return-lod0-jg "main" 3) +(def-joint-node mtn-plat-return-lod0-jg "prejoint" 2) +(def-joint-node mtn-plat-return-lod0-jg "align" 1) + +(def-joint-node daxter-lod0-jg "RthumbB" 48) +(def-joint-node daxter-lod0-jg "RthumbA" 47) +(def-joint-node daxter-lod0-jg "LthumbB" 46) +(def-joint-node daxter-lod0-jg "LthumbA" 45) +(def-joint-node daxter-lod0-jg "flapMidR" 44) +(def-joint-node daxter-lod0-jg "flapBaseR" 43) +(def-joint-node daxter-lod0-jg "flapMidL" 42) +(def-joint-node daxter-lod0-jg "flapBaseL" 41) +(def-joint-node daxter-lod0-jg "Rball" 40) +(def-joint-node daxter-lod0-jg "Rankle" 39) +(def-joint-node daxter-lod0-jg "Rknee" 38) +(def-joint-node daxter-lod0-jg "Rthigh" 37) +(def-joint-node daxter-lod0-jg "tailEnd" 36) +(def-joint-node daxter-lod0-jg "tailMid" 35) +(def-joint-node daxter-lod0-jg "tailBase" 34) +(def-joint-node daxter-lod0-jg "Lball" 33) +(def-joint-node daxter-lod0-jg "Lankle" 32) +(def-joint-node daxter-lod0-jg "Lknee" 31) +(def-joint-node daxter-lod0-jg "Lthigh" 30) +(def-joint-node daxter-lod0-jg "earMidR" 13) +(def-joint-node daxter-lod0-jg "earBaseR" 12) +(def-joint-node daxter-lod0-jg "earMidL" 11) +(def-joint-node daxter-lod0-jg "earBaseL" 10) +(def-joint-node daxter-lod0-jg "head" 9) +(def-joint-node daxter-lod0-jg "neckB" 8) +(def-joint-node daxter-lod0-jg "neckA" 7) +(def-joint-node daxter-lod0-jg "chest" 6) +(def-joint-node daxter-lod0-jg "upper_bodyB" 5) +(def-joint-node daxter-lod0-jg "upper_body" 4) +(def-joint-node daxter-lod0-jg "main" 3) +(def-joint-node daxter-lod0-jg "prejoint" 2) +(def-joint-node daxter-lod0-jg "align" 1) +(def-joint-node daxter-lod0-jg "Lshoulder" 14) +(def-joint-node daxter-lod0-jg "Lelbow" 15) +(def-joint-node daxter-lod0-jg "Lhand" 16) +(def-joint-node daxter-lod0-jg "LmiddleA" 17) +(def-joint-node daxter-lod0-jg "LmiddleB" 18) +(def-joint-node daxter-lod0-jg "LindexA" 19) +(def-joint-node daxter-lod0-jg "LindexB" 20) +(def-joint-node daxter-lod0-jg "Rshoulder" 21) +(def-joint-node daxter-lod0-jg "Relbow" 22) +(def-joint-node daxter-lod0-jg "Rhand" 23) +(def-joint-node daxter-lod0-jg "RmiddleA" 24) +(def-joint-node daxter-lod0-jg "RmiddleB" 25) +(def-joint-node daxter-lod0-jg "RindexA" 26) +(def-joint-node daxter-lod0-jg "RindexB" 27) +(def-joint-node daxter-lod0-jg "gun" 28) +(def-joint-node daxter-lod0-jg "hips" 29) + +(def-joint-node gar-door-lod0-jg "bottomdoor" 5) +(def-joint-node gar-door-lod0-jg "topdoor" 4) +(def-joint-node gar-door-lod0-jg "main_" 3) +(def-joint-node gar-door-lod0-jg "prejoint" 2) +(def-joint-node gar-door-lod0-jg "align" 1) + +(def-joint-node ctyn-lamp-explode-lod0-jg "d" 6) +(def-joint-node ctyn-lamp-explode-lod0-jg "c" 5) +(def-joint-node ctyn-lamp-explode-lod0-jg "b" 4) +(def-joint-node ctyn-lamp-explode-lod0-jg "a" 3) +(def-joint-node ctyn-lamp-explode-lod0-jg "prejoint" 2) +(def-joint-node ctyn-lamp-explode-lod0-jg "align" 1) + +(def-joint-node tomb-boss-debris-h-lod0-jg "main" 3) +(def-joint-node tomb-boss-debris-h-lod0-jg "prejoint" 2) +(def-joint-node tomb-boss-debris-h-lod0-jg "align" 1) + +(def-joint-node market-sack-b-lod0-jg "main" 3) +(def-joint-node market-sack-b-lod0-jg "prejoint" 2) +(def-joint-node market-sack-b-lod0-jg "align" 1) + +(def-joint-node skatea-floating-ring-lod0-jg "ringglow" 4) +(def-joint-node skatea-floating-ring-lod0-jg "main" 3) +(def-joint-node skatea-floating-ring-lod0-jg "prejoint" 2) +(def-joint-node skatea-floating-ring-lod0-jg "align" 1) + +(def-joint-node market-basket-b-lod0-jg "main" 3) +(def-joint-node market-basket-b-lod0-jg "prejoint" 2) +(def-joint-node market-basket-b-lod0-jg "align" 1) + +(def-joint-node fort-floor-spike-c-lod0-jg "spikes15" 18) +(def-joint-node fort-floor-spike-c-lod0-jg "spikes14" 17) +(def-joint-node fort-floor-spike-c-lod0-jg "spikes13" 16) +(def-joint-node fort-floor-spike-c-lod0-jg "spikes12" 15) +(def-joint-node fort-floor-spike-c-lod0-jg "spikes11" 14) +(def-joint-node fort-floor-spike-c-lod0-jg "align" 1) +(def-joint-node fort-floor-spike-c-lod0-jg "prejoint" 2) +(def-joint-node fort-floor-spike-c-lod0-jg "main" 3) +(def-joint-node fort-floor-spike-c-lod0-jg "spikes1" 4) +(def-joint-node fort-floor-spike-c-lod0-jg "spikes2" 5) +(def-joint-node fort-floor-spike-c-lod0-jg "spikes3" 6) +(def-joint-node fort-floor-spike-c-lod0-jg "spikes4" 7) +(def-joint-node fort-floor-spike-c-lod0-jg "spikes5" 8) +(def-joint-node fort-floor-spike-c-lod0-jg "spikes6" 9) +(def-joint-node fort-floor-spike-c-lod0-jg "spikes7" 10) +(def-joint-node fort-floor-spike-c-lod0-jg "spikes8" 11) +(def-joint-node fort-floor-spike-c-lod0-jg "spikes9" 12) +(def-joint-node fort-floor-spike-c-lod0-jg "spikes10" 13) + +(def-joint-node under-buoy-plat-lod0-jg "risenode" 4) +(def-joint-node under-buoy-plat-lod0-jg "main" 3) +(def-joint-node under-buoy-plat-lod0-jg "prejoint" 2) +(def-joint-node under-buoy-plat-lod0-jg "align" 1) + +(def-joint-node fort-floor-spike-b-lod0-jg "spikes10" 13) +(def-joint-node fort-floor-spike-b-lod0-jg "spikes9" 12) +(def-joint-node fort-floor-spike-b-lod0-jg "spikes8" 11) +(def-joint-node fort-floor-spike-b-lod0-jg "spikes7" 10) +(def-joint-node fort-floor-spike-b-lod0-jg "spikes6" 9) +(def-joint-node fort-floor-spike-b-lod0-jg "spikes5" 8) +(def-joint-node fort-floor-spike-b-lod0-jg "spikes4" 7) +(def-joint-node fort-floor-spike-b-lod0-jg "spikes3" 6) +(def-joint-node fort-floor-spike-b-lod0-jg "spikes2" 5) +(def-joint-node fort-floor-spike-b-lod0-jg "spikes1" 4) +(def-joint-node fort-floor-spike-b-lod0-jg "main" 3) +(def-joint-node fort-floor-spike-b-lod0-jg "prejoint" 2) +(def-joint-node fort-floor-spike-b-lod0-jg "align" 1) + +(def-joint-node fort-conveyor-lod0-jg "boneless" 3) +(def-joint-node fort-conveyor-lod0-jg "prejoint" 2) +(def-joint-node fort-conveyor-lod0-jg "align" 1) + +(def-joint-node pal-grind-ring-center-lod0-jg "main" 3) +(def-joint-node pal-grind-ring-center-lod0-jg "prejoint" 2) +(def-joint-node pal-grind-ring-center-lod0-jg "align" 1) + +(def-joint-node water-anim-tomb-dark-eco-raised-block-lod0-jg "boneless" 3) +(def-joint-node water-anim-tomb-dark-eco-raised-block-lod0-jg "prejoint" 2) +(def-joint-node water-anim-tomb-dark-eco-raised-block-lod0-jg "align" 1) + +(def-joint-node drill-metalhead-eggs-a-lod0-jg "rot" 4) +(def-joint-node drill-metalhead-eggs-a-lod0-jg "main" 3) +(def-joint-node drill-metalhead-eggs-a-lod0-jg "prejoint" 2) +(def-joint-node drill-metalhead-eggs-a-lod0-jg "align" 1) + +(def-joint-node tomb-stair-block-spikes-lod0-jg "main" 3) +(def-joint-node tomb-stair-block-spikes-lod0-jg "prejoint" 2) +(def-joint-node tomb-stair-block-spikes-lod0-jg "align" 1) + +(def-joint-node tomb-boss-debris-g-lod0-jg "main" 3) +(def-joint-node tomb-boss-debris-g-lod0-jg "prejoint" 2) +(def-joint-node tomb-boss-debris-g-lod0-jg "align" 1) + +(def-joint-node son-of-particleman-lod0-jg "particleJ" 10) +(def-joint-node son-of-particleman-lod0-jg "particleI" 9) +(def-joint-node son-of-particleman-lod0-jg "particleH" 8) +(def-joint-node son-of-particleman-lod0-jg "particleG" 7) +(def-joint-node son-of-particleman-lod0-jg "particleF" 6) +(def-joint-node son-of-particleman-lod0-jg "particleE" 5) +(def-joint-node son-of-particleman-lod0-jg "particleD" 4) +(def-joint-node son-of-particleman-lod0-jg "main" 3) +(def-joint-node son-of-particleman-lod0-jg "prejoint" 2) +(def-joint-node son-of-particleman-lod0-jg "align" 1) + +(def-joint-node jak-highres-prison-lod0-jg "pantsLthigh" 63) +(def-joint-node jak-highres-prison-lod0-jg "pantsRthigh" 62) +(def-joint-node jak-highres-prison-lod0-jg "packStrapTop" 61) +(def-joint-node jak-highres-prison-lod0-jg "rpinkB" 60) +(def-joint-node jak-highres-prison-lod0-jg "LbigToe" 29) +(def-joint-node jak-highres-prison-lod0-jg "Lball" 28) +(def-joint-node jak-highres-prison-lod0-jg "Lankle" 27) +(def-joint-node jak-highres-prison-lod0-jg "Lknee" 26) +(def-joint-node jak-highres-prison-lod0-jg "Lthigh" 25) +(def-joint-node jak-highres-prison-lod0-jg "hips" 24) +(def-joint-node jak-highres-prison-lod0-jg "gun" 23) +(def-joint-node jak-highres-prison-lod0-jg "LshoulderPad" 22) +(def-joint-node jak-highres-prison-lod0-jg "sk_rhand" 21) +(def-joint-node jak-highres-prison-lod0-jg "Rforarm" 20) +(def-joint-node jak-highres-prison-lod0-jg "Rarm" 19) +(def-joint-node jak-highres-prison-lod0-jg "Rshould" 18) +(def-joint-node jak-highres-prison-lod0-jg "sk_lhand" 17) +(def-joint-node jak-highres-prison-lod0-jg "Lforarm" 16) +(def-joint-node jak-highres-prison-lod0-jg "Larm" 15) +(def-joint-node jak-highres-prison-lod0-jg "Lshould" 14) +(def-joint-node jak-highres-prison-lod0-jg "align" 1) +(def-joint-node jak-highres-prison-lod0-jg "prejoint" 2) +(def-joint-node jak-highres-prison-lod0-jg "main" 3) +(def-joint-node jak-highres-prison-lod0-jg "upper_body" 4) +(def-joint-node jak-highres-prison-lod0-jg "chest" 5) +(def-joint-node jak-highres-prison-lod0-jg "neckA" 6) +(def-joint-node jak-highres-prison-lod0-jg "neckB" 7) +(def-joint-node jak-highres-prison-lod0-jg "MhairA" 8) +(def-joint-node jak-highres-prison-lod0-jg "MhairB" 9) +(def-joint-node jak-highres-prison-lod0-jg "Learbase" 10) +(def-joint-node jak-highres-prison-lod0-jg "Learmid" 11) +(def-joint-node jak-highres-prison-lod0-jg "Rearbase" 12) +(def-joint-node jak-highres-prison-lod0-jg "Rearmid" 13) +(def-joint-node jak-highres-prison-lod0-jg "Ltoes" 30) +(def-joint-node jak-highres-prison-lod0-jg "kneeLStrap" 31) +(def-joint-node jak-highres-prison-lod0-jg "Rthigh" 32) +(def-joint-node jak-highres-prison-lod0-jg "Rknee" 33) +(def-joint-node jak-highres-prison-lod0-jg "Rankle" 34) +(def-joint-node jak-highres-prison-lod0-jg "Rball" 35) +(def-joint-node jak-highres-prison-lod0-jg "RbigToe" 36) +(def-joint-node jak-highres-prison-lod0-jg "Rtoes" 37) +(def-joint-node jak-highres-prison-lod0-jg "kneeRStrap" 38) +(def-joint-node jak-highres-prison-lod0-jg "board" 39) +(def-joint-node jak-highres-prison-lod0-jg "horns" 40) +(def-joint-node jak-highres-prison-lod0-jg "lthumA" 41) +(def-joint-node jak-highres-prison-lod0-jg "lthumB" 42) +(def-joint-node jak-highres-prison-lod0-jg "lindA" 43) +(def-joint-node jak-highres-prison-lod0-jg "lindB" 44) +(def-joint-node jak-highres-prison-lod0-jg "lmidA" 45) +(def-joint-node jak-highres-prison-lod0-jg "lmidB" 46) +(def-joint-node jak-highres-prison-lod0-jg "lringA" 47) +(def-joint-node jak-highres-prison-lod0-jg "lringB" 48) +(def-joint-node jak-highres-prison-lod0-jg "lpinkA" 49) +(def-joint-node jak-highres-prison-lod0-jg "lpinkB" 50) +(def-joint-node jak-highres-prison-lod0-jg "rthumA" 51) +(def-joint-node jak-highres-prison-lod0-jg "rthumB" 52) +(def-joint-node jak-highres-prison-lod0-jg "rindA" 53) +(def-joint-node jak-highres-prison-lod0-jg "rindB" 54) +(def-joint-node jak-highres-prison-lod0-jg "rmidA" 55) +(def-joint-node jak-highres-prison-lod0-jg "rmidB" 56) +(def-joint-node jak-highres-prison-lod0-jg "rringA" 57) +(def-joint-node jak-highres-prison-lod0-jg "rringB" 58) +(def-joint-node jak-highres-prison-lod0-jg "rpinkA" 59) + +(def-joint-node ecowell-d-lod0-jg "au" 50) +(def-joint-node ecowell-d-lod0-jg "at" 49) +(def-joint-node ecowell-d-lod0-jg "as" 48) +(def-joint-node ecowell-d-lod0-jg "ar" 47) +(def-joint-node ecowell-d-lod0-jg "aq" 46) +(def-joint-node ecowell-d-lod0-jg "ap" 45) +(def-joint-node ecowell-d-lod0-jg "ao" 44) +(def-joint-node ecowell-d-lod0-jg "an" 43) +(def-joint-node ecowell-d-lod0-jg "am" 42) +(def-joint-node ecowell-d-lod0-jg "al" 41) +(def-joint-node ecowell-d-lod0-jg "ak" 40) +(def-joint-node ecowell-d-lod0-jg "aj" 39) +(def-joint-node ecowell-d-lod0-jg "ai" 38) +(def-joint-node ecowell-d-lod0-jg "ah" 37) +(def-joint-node ecowell-d-lod0-jg "ag" 36) +(def-joint-node ecowell-d-lod0-jg "af" 35) +(def-joint-node ecowell-d-lod0-jg "ae" 34) +(def-joint-node ecowell-d-lod0-jg "ad" 33) +(def-joint-node ecowell-d-lod0-jg "ac" 32) +(def-joint-node ecowell-d-lod0-jg "ab" 31) +(def-joint-node ecowell-d-lod0-jg "aa" 30) +(def-joint-node ecowell-d-lod0-jg "k" 13) +(def-joint-node ecowell-d-lod0-jg "j" 12) +(def-joint-node ecowell-d-lod0-jg "i" 11) +(def-joint-node ecowell-d-lod0-jg "h" 10) +(def-joint-node ecowell-d-lod0-jg "g" 9) +(def-joint-node ecowell-d-lod0-jg "f" 8) +(def-joint-node ecowell-d-lod0-jg "e" 7) +(def-joint-node ecowell-d-lod0-jg "d" 6) +(def-joint-node ecowell-d-lod0-jg "c" 5) +(def-joint-node ecowell-d-lod0-jg "b" 4) +(def-joint-node ecowell-d-lod0-jg "a" 3) +(def-joint-node ecowell-d-lod0-jg "prejoint" 2) +(def-joint-node ecowell-d-lod0-jg "align" 1) +(def-joint-node ecowell-d-lod0-jg "l" 14) +(def-joint-node ecowell-d-lod0-jg "m" 15) +(def-joint-node ecowell-d-lod0-jg "n" 16) +(def-joint-node ecowell-d-lod0-jg "o" 17) +(def-joint-node ecowell-d-lod0-jg "p" 18) +(def-joint-node ecowell-d-lod0-jg "q" 19) +(def-joint-node ecowell-d-lod0-jg "r" 20) +(def-joint-node ecowell-d-lod0-jg "s" 21) +(def-joint-node ecowell-d-lod0-jg "t" 22) +(def-joint-node ecowell-d-lod0-jg "u" 23) +(def-joint-node ecowell-d-lod0-jg "v" 24) +(def-joint-node ecowell-d-lod0-jg "w" 25) +(def-joint-node ecowell-d-lod0-jg "x" 26) +(def-joint-node ecowell-d-lod0-jg "y" 27) +(def-joint-node ecowell-d-lod0-jg "z" 28) +(def-joint-node ecowell-d-lod0-jg "" 29) + +(def-joint-node tomb-mar-door-lod0-jg "main" 3) +(def-joint-node tomb-mar-door-lod0-jg "prejoint" 2) +(def-joint-node tomb-mar-door-lod0-jg "align" 1) + +(def-joint-node tomb-plat-return-lod0-jg "main" 3) +(def-joint-node tomb-plat-return-lod0-jg "prejoint" 2) +(def-joint-node tomb-plat-return-lod0-jg "align" 1) + +(def-joint-node samos-lod0-jg "belly" 74) +(def-joint-node samos-lod0-jg "Rbigtoe" 73) +(def-joint-node samos-lod0-jg "Rtoes" 72) +(def-joint-node samos-lod0-jg "RringB" 71) +(def-joint-node samos-lod0-jg "RringA" 70) +(def-joint-node samos-lod0-jg "RmiddleB" 69) +(def-joint-node samos-lod0-jg "RmiddleA" 68) +(def-joint-node samos-lod0-jg "RthumbC" 67) +(def-joint-node samos-lod0-jg "LpinkyB" 66) +(def-joint-node samos-lod0-jg "LpinkyA" 65) +(def-joint-node samos-lod0-jg "LringB" 64) +(def-joint-node samos-lod0-jg "LringA" 63) +(def-joint-node samos-lod0-jg "LmiddleB" 62) +(def-joint-node samos-lod0-jg "LmiddleA" 61) +(def-joint-node samos-lod0-jg "LthumbC" 60) +(def-joint-node samos-lod0-jg "Lthigh" 29) +(def-joint-node samos-lod0-jg "hips" 28) +(def-joint-node samos-lod0-jg "RpinkyB" 27) +(def-joint-node samos-lod0-jg "RpinkyA" 26) +(def-joint-node samos-lod0-jg "RindexB" 25) +(def-joint-node samos-lod0-jg "RindexA" 24) +(def-joint-node samos-lod0-jg "RthumbA" 23) +(def-joint-node samos-lod0-jg "Rhand" 22) +(def-joint-node samos-lod0-jg "Relbow" 21) +(def-joint-node samos-lod0-jg "Rshoulder" 20) +(def-joint-node samos-lod0-jg "Lhand" 19) +(def-joint-node samos-lod0-jg "Lelbow" 18) +(def-joint-node samos-lod0-jg "Lshoulder" 17) +(def-joint-node samos-lod0-jg "beard" 16) +(def-joint-node samos-lod0-jg "beard_lip" 15) +(def-joint-node samos-lod0-jg "RearMID" 14) +(def-joint-node samos-lod0-jg "align" 1) +(def-joint-node samos-lod0-jg "prejoint" 2) +(def-joint-node samos-lod0-jg "main" 3) +(def-joint-node samos-lod0-jg "chest" 4) +(def-joint-node samos-lod0-jg "head" 5) +(def-joint-node samos-lod0-jg "headLog" 6) +(def-joint-node samos-lod0-jg "Llog" 7) +(def-joint-node samos-lod0-jg "Rlog" 8) +(def-joint-node samos-lod0-jg "LhairBASE" 9) +(def-joint-node samos-lod0-jg "Lhair" 10) +(def-joint-node samos-lod0-jg "LearBASE" 11) +(def-joint-node samos-lod0-jg "LearMID" 12) +(def-joint-node samos-lod0-jg "RearBASE" 13) +(def-joint-node samos-lod0-jg "Lknee" 30) +(def-joint-node samos-lod0-jg "Lankle" 31) +(def-joint-node samos-lod0-jg "Rthigh" 32) +(def-joint-node samos-lod0-jg "Rknee" 33) +(def-joint-node samos-lod0-jg "Rankle" 34) +(def-joint-node samos-lod0-jg "staffMAIN" 35) +(def-joint-node samos-lod0-jg "staffUpA" 36) +(def-joint-node samos-lod0-jg "staffDownA" 37) +(def-joint-node samos-lod0-jg "staffDownB" 38) +(def-joint-node samos-lod0-jg "staffBOTTOM" 39) +(def-joint-node samos-lod0-jg "camera" 40) +(def-joint-node samos-lod0-jg "cameraB" 41) +(def-joint-node samos-lod0-jg "ponytailBASE" 42) +(def-joint-node samos-lod0-jg "ponytailMID" 43) +(def-joint-node samos-lod0-jg "LthumbA" 44) +(def-joint-node samos-lod0-jg "LthumbB" 45) +(def-joint-node samos-lod0-jg "LindexA" 46) +(def-joint-node samos-lod0-jg "LindexB" 47) +(def-joint-node samos-lod0-jg "RthumbB" 48) +(def-joint-node samos-lod0-jg "Lfootball" 49) +(def-joint-node samos-lod0-jg "Ltoes" 50) +(def-joint-node samos-lod0-jg "Lbigtoe" 51) +(def-joint-node samos-lod0-jg "Lball" 52) +(def-joint-node samos-lod0-jg "Rfootball" 53) +(def-joint-node samos-lod0-jg "Rball" 54) +(def-joint-node samos-lod0-jg "BIRDfeet1" 55) +(def-joint-node samos-lod0-jg "BIRD1" 56) +(def-joint-node samos-lod0-jg "BIRDhead1" 57) +(def-joint-node samos-lod0-jg "BIRDR1" 58) +(def-joint-node samos-lod0-jg "BIRDL1" 59) + + diff --git a/goal_src/jak2/engine/target/board/board-states.gc b/goal_src/jak2/engine/target/board/board-states.gc index 7015d0dc21a..73b53843dae 100644 --- a/goal_src/jak2/engine/target/board/board-states.gc +++ b/goal_src/jak2/engine/target/board/board-states.gc @@ -660,11 +660,11 @@ (let ((s5-0 30) (v1-3 (ja-group)) ) - (when (not (and (and v1-3 (= v1-3 (-> self draw art-group data 161))) (= (ja-group-size) 4))) + (when (not (and (and v1-3 (= v1-3 jakb-board-turn-left-ja)) (= (ja-group-size) 4))) (let ((v1-10 (ja-group))) - (when (and v1-10 (= v1-10 (-> self draw art-group data 170))) + (when (and v1-10 (= v1-10 jakb-board-get-on-ja)) (ja-channel-set! 1) - (ja-no-eval :group! (-> self draw art-group data 190) :num! (seek! max 1.8) :frame-num 0.0) + (ja-no-eval :group! jakb-board-get-on-land-ja :num! (seek! max 1.8) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek! max 1.8)) @@ -681,15 +681,15 @@ (ground-tween-initialize gp-0 (the-as uint 0) - (the-as uint (-> self draw art-group data 153)) - (the-as uint (-> self draw art-group data 163)) - (the-as uint (-> self draw art-group data 164)) - (the-as uint (-> self draw art-group data 162)) - (the-as uint (-> self draw art-group data 161)) + (the-as uint jakb-board-turn-ja) + (the-as uint jakb-board-turn-up-ja) + (the-as uint jakb-board-turn-down-ja) + (the-as uint jakb-board-turn-right-ja) + (the-as uint jakb-board-turn-left-ja) f30-0 ) ) - (ja :chan 3 :group! (-> self draw art-group data 152)) + (ja :chan 3 :group! jakb-board-duck-turn-ja) (until #f (target-board-turn-anim 0) (let ((f0-10 (* 1.6 (-> self control ctrl-slope-z))) @@ -715,13 +715,9 @@ (set! (-> a0-27 frame-interp 1) f0-14) (set! (-> a0-27 frame-interp 0) f0-14) ) - (set! (-> a0-27 frame-group) (the-as art-joint-anim (-> self draw art-group data 152))) + (set! (-> a0-27 frame-group) (the-as art-joint-anim jakb-board-duck-turn-ja)) (set! (-> a0-27 param 0) 0.0) - (joint-control-channel-group-eval! - a0-27 - (the-as art-joint-anim (-> self draw art-group data 152)) - num-func-chan - ) + (joint-control-channel-group-eval! a0-27 (the-as art-joint-anim jakb-board-duck-turn-ja) num-func-chan) ) ) (else @@ -730,13 +726,9 @@ (set! (-> a0-28 frame-interp 1) f0-17) (set! (-> a0-28 frame-interp 0) f0-17) ) - (set! (-> a0-28 frame-group) (the-as art-joint-anim (-> self draw art-group data 177))) + (set! (-> a0-28 frame-group) (the-as art-joint-anim jakb-board-air-turn-ja)) (set! (-> a0-28 param 0) 0.0) - (joint-control-channel-group-eval! - a0-28 - (the-as art-joint-anim (-> self draw art-group data 177)) - num-func-chan - ) + (joint-control-channel-group-eval! a0-28 (the-as art-joint-anim jakb-board-air-turn-ja) num-func-chan) ) ) ) @@ -1022,7 +1014,7 @@ (case arg2 (('hit) (ja-channel-push! 1 (seconds 0.05)) - (ja-no-eval :group! (-> self draw art-group data 158) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! jakb-board-hit-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -1031,7 +1023,7 @@ ) (else (ja-channel-push! 1 (seconds 0.05)) - (ja :group! (-> self draw art-group data 155) :num! min) + (ja :group! jakb-board-jump-ja :num! min) (suspend) (until (ja-done? 0) (let ((f30-0 (vector-dot (-> self control dynam gravity-normal) (-> self control transv))) @@ -1061,7 +1053,7 @@ (ja-channel-push! 1 (seconds 0.05)) ) ) - (ja :group! (-> self draw art-group data 156)) + (ja :group! jakb-board-jump-loop-ja) (until #f (suspend) (ja :num! (loop!)) @@ -1296,23 +1288,17 @@ (cond ((not (time-elapsed? (-> self board halfpipe-jump-time) (seconds 0.5))) (ja-channel-push! 1 (seconds 0.05)) - (ja-no-eval :group! (-> self draw art-group data 155) :num! (seek! (ja-aframe 8.0 0) 0.5) :frame-num 0.0) + (ja-no-eval :group! jakb-board-jump-ja :num! (seek! (ja-aframe 8.0 0) 0.5) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek! (ja-aframe 8.0 0) 0.5)) ) - (ja-no-eval :group! (-> self draw art-group data 155) - :num! (seek! (ja-aframe 10.0 0) 0.2) - :frame-num (ja-aframe 8.0 0) - ) + (ja-no-eval :group! jakb-board-jump-ja :num! (seek! (ja-aframe 10.0 0) 0.2) :frame-num (ja-aframe 8.0 0)) (until (ja-done? 0) (suspend) (ja :num! (seek! (ja-aframe 10.0 0) 0.2)) ) - (ja-no-eval :group! (-> self draw art-group data 155) - :num! (seek! (ja-aframe 12.0 0) 0.1) - :frame-num (ja-aframe 10.0 0) - ) + (ja-no-eval :group! jakb-board-jump-ja :num! (seek! (ja-aframe 12.0 0) 0.1) :frame-num (ja-aframe 10.0 0)) (until (ja-done? 0) (suspend) (ja :num! (seek! (ja-aframe 12.0 0) 0.1)) @@ -1350,19 +1336,19 @@ :code (behavior () (let ((v1-2 (ja-group))) (cond - ((and v1-2 (= v1-2 (-> self draw art-group data 156))) + ((and v1-2 (= v1-2 jakb-board-jump-loop-ja)) ) ((let ((v1-8 (ja-group))) - (and v1-8 (= v1-8 (-> self draw art-group data 187))) + (and v1-8 (= v1-8 jakb-board-noseflip-ja)) ) (ja-no-eval :num! (seek!)) (ja-channel-push! 1 (seconds 0.5)) ) ((let ((v1-22 (ja-group))) - (and v1-22 (or (= v1-22 (-> self draw art-group data 178)) - (= v1-22 (-> self draw art-group data 182)) - (= v1-22 (-> self draw art-group data 159)) - (= v1-22 (-> self draw art-group data 181)) + (and v1-22 (or (= v1-22 jakb-board-flip-backward-ja) + (= v1-22 jakb-board-flip-backward-loop-ja) + (= v1-22 jakb-board-flip-forward-ja) + (= v1-22 jakb-board-flip-forward-loop-ja) ) ) ) @@ -1372,7 +1358,7 @@ (else (let ((v1-36 (ja-group))) (cond - ((and v1-36 (= v1-36 (-> self draw art-group data 176))) + ((and v1-36 (= v1-36 jakb-board-spin-ja)) (ja-no-eval :num! (seek!)) (ja-channel-push! 1 (seconds 0.1)) ) @@ -1386,14 +1372,14 @@ ) (cond ((focus-test? self halfpipe) - (ja :group! (-> self draw art-group data 152) :num! (identity (ja-aframe 0.0 0))) + (ja :group! jakb-board-duck-turn-ja :num! (identity (ja-aframe 0.0 0))) (loop (suspend) (ja-blend-eval) ) ) (else - (ja :group! (-> self draw art-group data 156)) + (ja :group! jakb-board-jump-loop-ja) (loop (suspend) (ja-blend-eval) @@ -1434,13 +1420,13 @@ ) :code (behavior () (ja-channel-push! 1 (seconds 0.1)) - (ja-no-eval :group! (-> self draw art-group data 154) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! jakb-board-jump-kick-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) ) (ja-channel-push! 1 (seconds 2)) - (ja :group! (-> self draw art-group data 156)) + (ja :group! jakb-board-jump-loop-ja) (until #f (suspend) (ja :num! (loop!)) @@ -1473,7 +1459,7 @@ :exit target-board-exit :trans target-board-jump-trans :code (behavior ((arg0 vector) (arg1 float)) - (ja-no-eval :group! (-> self draw art-group data 188) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! jakb-board-jump-kickoff-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (if (and (jump-hit-ground-stuck?) (< 31.0 (ja-aframe-num 0))) (go target-board-hit-ground) @@ -1594,14 +1580,14 @@ (cond ((zero? s4-0) (ja-channel-push! 1 (seconds 0.1)) - (ja-no-eval :group! (-> self draw art-group data 159) :num! (seek! (ja-aframe 15.0 0)) :frame-num 0.0) + (ja-no-eval :group! jakb-board-flip-forward-ja :num! (seek! (ja-aframe 15.0 0)) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek! (ja-aframe 15.0 0))) ) ) (else - (ja-no-eval :group! (-> self draw art-group data 181) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! jakb-board-flip-forward-loop-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -1611,14 +1597,14 @@ ) ((zero? s4-0) (ja-channel-push! 1 (seconds 0.1)) - (ja-no-eval :group! (-> self draw art-group data 178) :num! (seek! (ja-aframe 10.0 0)) :frame-num 0.0) + (ja-no-eval :group! jakb-board-flip-backward-ja :num! (seek! (ja-aframe 10.0 0)) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek! (ja-aframe 10.0 0))) ) ) (else - (ja-no-eval :group! (-> self draw art-group data 182) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! jakb-board-flip-backward-loop-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -1633,7 +1619,7 @@ ) (cond (gp-0 - (ja-no-eval :group! (-> self draw art-group data 159) :num! (seek!) :frame-num (ja-aframe 15.0 0)) + (ja-no-eval :group! jakb-board-flip-forward-ja :num! (seek!) :frame-num (ja-aframe 15.0 0)) (until (ja-done? 0) (if (jump-hit-ground-stuck?) (go target-board-hit-ground) @@ -1643,7 +1629,7 @@ ) ) (else - (ja-no-eval :group! (-> self draw art-group data 178) :num! (seek!) :frame-num (ja-aframe 10.0 0)) + (ja-no-eval :group! jakb-board-flip-backward-ja :num! (seek!) :frame-num (ja-aframe 10.0 0)) (until (ja-done? 0) (if (jump-hit-ground-stuck?) (go target-board-hit-ground) @@ -1701,7 +1687,7 @@ (-> v1-3 id) ) (let ((v1-7 (ja-group))) - (if (and v1-7 (= v1-7 (-> self draw art-group data 187))) + (if (and v1-7 (= v1-7 jakb-board-noseflip-ja)) (sound-play "board-boots") ) ) @@ -1741,25 +1727,25 @@ ((< f30-0 0.0) (let ((v1-3 (ja-group))) (cond - ((and v1-3 (= v1-3 (-> self draw art-group data 183))) + ((and v1-3 (= v1-3 jakb-board-method-loop-ja)) (ja :num! (loop!)) ) (else (add-to-trick-list (-> self board) (board-tricks board-method) 500.0) (set! (-> self board unknown-sound-id01) (sound-play "board-method")) (ja-channel-push! 1 (seconds 0.08)) - (ja-no-eval :group! (-> self draw art-group data 174) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! jakb-board-method-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) ) - (ja :group! (-> self draw art-group data 183) :num! min) + (ja :group! jakb-board-method-loop-ja :num! min) ) ) ) ) ((let ((v1-45 (ja-group))) - (and v1-45 (= v1-45 (-> self draw art-group data 185))) + (and v1-45 (= v1-45 jakb-board-nosegrab-loop-ja)) ) (ja :num! (loop!)) ) @@ -1767,18 +1753,18 @@ (add-to-trick-list (-> self board) (board-tricks board-nosegrab) 500.0) (set! (-> self board unknown-sound-id01) (sound-play "board-nosegrab")) (ja-channel-push! 1 (seconds 0.08)) - (ja-no-eval :group! (-> self draw art-group data 173) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! jakb-board-nosegrab-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) ) - (ja :group! (-> self draw art-group data 185) :num! min) + (ja :group! jakb-board-nosegrab-loop-ja :num! min) ) (else (add-to-trick-list (-> self board) (board-tricks board-noseflip) 500.0) (set! (-> self board unknown-sound-id01) (sound-play "board-noseflip")) (ja-channel-push! 1 (seconds 0.08)) - (ja-no-eval :group! (-> self draw art-group data 187) :num! (seek! (ja-aframe 20.0 0)) :frame-num 0.0) + (ja-no-eval :group! jakb-board-noseflip-ja :num! (seek! (ja-aframe 20.0 0)) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek! (ja-aframe 20.0 0))) @@ -1793,19 +1779,19 @@ (label cfg-36) (let ((v1-121 (ja-group))) (cond - ((and v1-121 (= v1-121 (-> self draw art-group data 183))) + ((and v1-121 (= v1-121 jakb-board-method-loop-ja)) (ja-channel-push! 1 (seconds 0.08)) - (ja-no-eval :group! (-> self draw art-group data 184) :num! (seek! max 1.5) :frame-num 0.0) + (ja-no-eval :group! jakb-board-method-end-ja :num! (seek! max 1.5) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek! max 1.5)) ) ) ((let ((v1-151 (ja-group))) - (and v1-151 (= v1-151 (-> self draw art-group data 185))) + (and v1-151 (= v1-151 jakb-board-nosegrab-loop-ja)) ) (ja-channel-push! 1 (seconds 0.08)) - (ja-no-eval :group! (-> self draw art-group data 186) :num! (seek! max 1.5) :frame-num 0.0) + (ja-no-eval :group! jakb-board-nosegrab-end-ja :num! (seek! max 1.5) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek! max 1.5)) @@ -1887,19 +1873,19 @@ (add-to-trick-list (-> self board) (board-tricks board-kickflip) 500.0) (set! (-> self board unknown-sound-id01) (sound-play "board-kickflip")) (ja-channel-push! 1 (seconds 0.07)) - (ja-no-eval :group! (-> self draw art-group data 175) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! jakb-board-kickflip-a-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) ) (send-event (ppointer->process (-> self sidekick)) 'matrix #f) - (ja-no-eval :group! (-> self draw art-group data 192) :num! (seek! max 1.05) :frame-num 0.0) + (ja-no-eval :group! jakb-board-kickflip-b-ja :num! (seek! max 1.05) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek! max 1.05)) ) (send-event (ppointer->process (-> self sidekick)) 'matrix 'board) - (ja-no-eval :group! (-> self draw art-group data 193) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! jakb-board-kickflip-c-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -1909,7 +1895,7 @@ (add-to-trick-list (-> self board) (board-tricks board-board-spin) 500.0) (set! (-> self board unknown-sound-id01) (sound-play "board-boardspin")) (ja-channel-push! 1 (seconds 0.05)) - (ja-no-eval :group! (-> self draw art-group data 176) :num! (seek! max 0.95) :frame-num 0.0) + (ja-no-eval :group! jakb-board-spin-ja :num! (seek! max 0.95) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek! max 0.95)) @@ -1962,7 +1948,7 @@ (set! (-> self control mod-surface) *board-walk-mods*) (let ((v1-3 (ja-group))) (cond - ((and v1-3 (or (= v1-3 (-> self draw art-group data 184)) (= v1-3 (-> self draw art-group data 186)))) + ((and v1-3 (or (= v1-3 jakb-board-method-end-ja) (= v1-3 jakb-board-nosegrab-end-ja))) (ja-no-eval :num! (seek! max 1.5)) (while (not (ja-done? 0)) (suspend) @@ -1970,20 +1956,20 @@ ) ) ((let ((v1-18 (ja-group))) - (and v1-18 (= v1-18 (-> self draw art-group data 183))) + (and v1-18 (= v1-18 jakb-board-method-loop-ja)) ) (ja-channel-push! 1 (seconds 0.08)) - (ja-no-eval :group! (-> self draw art-group data 184) :num! (seek! max 1.5) :frame-num 0.0) + (ja-no-eval :group! jakb-board-method-end-ja :num! (seek! max 1.5) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek! max 1.5)) ) ) ((let ((v1-48 (ja-group))) - (and v1-48 (= v1-48 (-> self draw art-group data 185))) + (and v1-48 (= v1-48 jakb-board-nosegrab-loop-ja)) ) (ja-channel-push! 1 (seconds 0.08)) - (ja-no-eval :group! (-> self draw art-group data 186) :num! (seek! max 1.5) :frame-num 0.0) + (ja-no-eval :group! jakb-board-nosegrab-end-ja :num! (seek! max 1.5) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek! max 1.5)) @@ -2261,16 +2247,16 @@ (let* ((v1-1 (-> self board ride-mode)) (gp-0 (cond ((zero? v1-1) - (-> self draw art-group data 167) + jakb-board-ride-turn-front-ja ) ((= v1-1 1) - (-> self draw art-group data 166) + jakb-board-ride-turn-back-ja ) ((= v1-1 2) - (-> self draw art-group data 169) + jakb-board-ride-turn-left-ja ) ((= v1-1 3) - (-> self draw art-group data 168) + jakb-board-ride-turn-right-ja ) (else (the-as art-element #f) @@ -2369,12 +2355,12 @@ ) :code (behavior ((arg0 handle)) (ja-channel-push! 1 (seconds 0.05)) - (ja-no-eval :group! (-> self draw art-group data 172) :num! (seek! (ja-aframe 19.0 0)) :frame-num 0.0) + (ja-no-eval :group! jakb-board-grenade-ja :num! (seek! (ja-aframe 19.0 0)) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek! (ja-aframe 19.0 0))) ) - (let ((a1-5 (-> self node-list data 41)) + (let ((a1-5 (joint-node-index jakb-lod0-jg extra)) (s5-2 (new 'stack-no-clear 'projectile-init-by-other-params)) ) (let ((a0-7 (handle->process arg0))) @@ -2536,7 +2522,7 @@ ) ) ) - (ja-no-eval :group! (-> self draw art-group data 170) :num! (seek! max f30-1) :frame-num 0.0) + (ja-no-eval :group! jakb-board-get-on-ja :num! (seek! max f30-1) :frame-num 0.0) (until (ja-done? 0) (when (logtest? (-> self control status) (collide-status on-surface)) (set! (-> self board turn-anim-duck-vel) 0.0) @@ -2577,7 +2563,7 @@ ) :exit target-board-exit :code (behavior ((arg0 handle)) - (let ((s4-0 (-> self draw art-group data 195)) + (let ((s4-0 jakb-board-attack-pegasus-ja) (f30-0 0.0) (s5-0 #t) ) @@ -2750,7 +2736,7 @@ (cond ((= v1-1 'hit) (ja-channel-push! 1 (seconds 0.1)) - (ja-no-eval :group! (-> self draw art-group data 194) :num! (seek! (ja-aframe 24.0 0) 2.5) :frame-num 0.0) + (ja-no-eval :group! jakb-board-hit-get-off-ja :num! (seek! (ja-aframe 24.0 0) 2.5) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek! (ja-aframe 24.0 0) 2.5)) @@ -2758,13 +2744,13 @@ ) ((-> self control unknown-spool-anim00) (ja-channel-push! 1 (seconds 0.1)) - (ja-no-eval :group! (-> self draw art-group data 191) :num! (seek! max f30-0) :frame-num 0.0) + (ja-no-eval :group! jakb-board-get-off-pre-ja :num! (seek! max f30-0) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek! max f30-0)) ) (send-event (ppointer->process (-> self sidekick)) 'matrix 'normal) - (ja-no-eval :group! (-> self draw art-group data 171) :num! (seek! (ja-aframe 24.0 0) f30-0) :frame-num 0.0) + (ja-no-eval :group! jakb-board-get-off-ja :num! (seek! (ja-aframe 24.0 0) f30-0) :frame-num 0.0) (until (ja-done? 0) (if (and (jump-hit-ground-stuck?) (>= (ja-aframe-num 0) 14.0)) (go target-falling #f) @@ -2777,7 +2763,7 @@ (set! f30-0 (fmax 0.5 (fmin 2.0 (/ 150.0 (the float (target-time-to-ground)))))) (ja-channel-push! 1 (seconds 0.1)) (send-event (ppointer->process (-> self sidekick)) 'matrix 'normal) - (ja-no-eval :group! (-> self draw art-group data 171) + (ja-no-eval :group! jakb-board-get-off-ja :num! (seek! (ja-aframe 24.0 0) f30-0) :frame-num (ja-aframe 11.0 0) ) @@ -2883,9 +2869,9 @@ ) :code (behavior ((arg0 symbol)) (let ((v1-2 (ja-group))) - (when (not (and v1-2 (= v1-2 (-> self draw art-group data 151)))) + (when (not (and v1-2 (= v1-2 jakb-board-stance-ja))) (ja-channel-push! 1 (seconds 0.1)) - (ja :group! (-> self draw art-group data 151) :num! (identity (ja-aframe 0.0 0))) + (ja :group! jakb-board-stance-ja :num! (identity (ja-aframe 0.0 0))) ) ) (until #f @@ -3069,11 +3055,11 @@ ) (set! (-> self control mod-surface) *smack-mods*) (let ((v1-92 (ja-group))) - (when (not (and v1-92 (or (= v1-92 (-> self draw art-group data 158)) (= v1-92 (-> self draw art-group data 165))))) + (when (not (and v1-92 (or (= v1-92 jakb-board-hit-ja) (= v1-92 jakb-board-hit-forward-ja)))) (ja-channel-push! 1 (seconds 0.075)) (if (or (= (-> gp-0 mode) 'shock) (= (-> gp-0 mode) 'shock-red) (= (-> gp-0 mode) 'shockup)) - (ja :group! (-> self draw art-group data 189) :num! min) - (ja :group! (-> self draw art-group data 158) :num! min) + (ja :group! jakb-board-hit-elec-ja :num! min) + (ja :group! jakb-board-hit-ja :num! min) ) ) ) diff --git a/goal_src/jak2/engine/target/board/board-util.gc b/goal_src/jak2/engine/target/board/board-util.gc index 2a97c52d5c9..2baf3bce1c4 100644 --- a/goal_src/jak2/engine/target/board/board-util.gc +++ b/goal_src/jak2/engine/target/board/board-util.gc @@ -116,10 +116,10 @@ (ja-channel-push! 1 (seconds 0.1)) (cond (arg0 - (ja :group! (-> self draw art-group data 4) :num! max) + (ja :group! board-close-ja :num! max) ) (else - (ja-no-eval :group! (-> self draw art-group data 4) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! board-close-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -178,7 +178,7 @@ :code (behavior () (set! (-> self draw shadow) (-> self shadow-backup)) (ja-channel-push! 1 (seconds 0.1)) - (ja-no-eval :group! (-> self draw art-group data 3) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! board-open-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) diff --git a/goal_src/jak2/engine/target/gun/gun-states.gc b/goal_src/jak2/engine/target/gun/gun-states.gc index 60b0fd0a381..fb3792fe5d5 100644 --- a/goal_src/jak2/engine/target/gun/gun-states.gc +++ b/goal_src/jak2/engine/target/gun/gun-states.gc @@ -18,18 +18,18 @@ (cond ((= gp-0 2) (if (logtest? (-> self game features) (game-feature gun-upgrade-speed)) - (set! (-> self control unknown-word04) (the-as uint (-> self draw art-group data 309))) - (set! (-> self control unknown-word04) (the-as uint (-> self draw art-group data 256))) + (set! (-> self control unknown-word04) (the-as uint jakb-gun-red-fire-fast-ja)) + (set! (-> self control unknown-word04) (the-as uint jakb-gun-red-fire-ja)) ) ) ((= gp-0 4) - (set! (-> self control unknown-word04) (the-as uint (-> self draw art-group data 259))) + (set! (-> self control unknown-word04) (the-as uint jakb-gun-dark-fire-ja)) ) ((= gp-0 1) - (set! (-> self control unknown-word04) (the-as uint (-> self draw art-group data 246))) + (set! (-> self control unknown-word04) (the-as uint jakb-gun-yellow-fire-low-ja)) ) ((= gp-0 3) - (set! (-> self control unknown-word04) (the-as uint (-> self draw art-group data 258))) + (set! (-> self control unknown-word04) (the-as uint jakb-gun-blue-fire-single-ja)) ) ) ) @@ -118,10 +118,10 @@ :code (behavior () (local-vars (v1-232 object)) (let ((gp-0 (-> self skel top-anim frame-targ))) - (when (or (= gp-0 (-> self draw art-group data 263)) - (= gp-0 (-> self draw art-group data 265)) - (= gp-0 (-> self draw art-group data 266)) - (= gp-0 (-> self draw art-group data 264)) + (when (or (= gp-0 jakb-gun-red-takeout-ja) + (= gp-0 jakb-gun-yellow-takeout-ja) + (= gp-0 jakb-gun-blue-takeout-ja) + (= gp-0 jakb-gun-dark-takeout-ja) ) (ja-channel-push! 1 (seconds 0.1)) (ja-no-eval :group! gp-0 :num! (seek!) :frame-num 0.0) @@ -135,16 +135,16 @@ (let* ((v1-33 (-> self gun gun-type)) (gp-1 (cond ((= v1-33 (pickup-type eco-blue)) - (-> self draw art-group data 255) + jakb-gun-stance-blue-ja ) ((= v1-33 (pickup-type eco-yellow)) - (-> self draw art-group data 254) + jakb-gun-stance-yellow-ja ) ((= v1-33 (pickup-type eco-dark)) - (-> self draw art-group data 253) + jakb-gun-stance-dark-ja ) (else - (-> self draw art-group data 244) + jakb-gun-stance-ja ) ) ) @@ -155,11 +155,11 @@ (else (let ((v1-50 (ja-group))) (cond - ((and (and v1-50 (or (= v1-50 (-> self draw art-group data 244)) (= v1-50 (-> self draw art-group data 253)))) - (or (= gp-1 (-> self draw art-group data 244)) (= gp-1 (-> self draw art-group data 253))) + ((and (and v1-50 (or (= v1-50 jakb-gun-stance-ja) (= v1-50 jakb-gun-stance-dark-ja))) + (or (= gp-1 jakb-gun-stance-ja) (= gp-1 jakb-gun-stance-dark-ja)) ) (ja-channel-push! 1 (seconds 0.1)) - (ja-no-eval :group! (-> self draw art-group data 269) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! jakb-gun-transformation-twirl-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -168,12 +168,12 @@ (set! (-> self skel root-channel 0 frame-group) (the-as art-joint-anim gp-1)) ) ((let ((v1-89 (ja-group))) - (and (and v1-89 (or (= v1-89 (-> self draw art-group data 244)) (= v1-89 (-> self draw art-group data 253)))) - (or (= gp-1 (-> self draw art-group data 254)) (= gp-1 (-> self draw art-group data 255))) + (and (and v1-89 (or (= v1-89 jakb-gun-stance-ja) (= v1-89 jakb-gun-stance-dark-ja))) + (or (= gp-1 jakb-gun-stance-yellow-ja) (= gp-1 jakb-gun-stance-blue-ja)) ) ) (ja-channel-push! 1 (seconds 0.1)) - (ja-no-eval :group! (-> self draw art-group data 270) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! jakb-gun-front-to-side-hop-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -182,12 +182,12 @@ (set! (-> self skel root-channel 0 frame-group) (the-as art-joint-anim gp-1)) ) ((let ((v1-129 (ja-group))) - (and (and v1-129 (or (= v1-129 (-> self draw art-group data 254)) (= v1-129 (-> self draw art-group data 255)))) - (or (= gp-1 (-> self draw art-group data 244)) (= gp-1 (-> self draw art-group data 253))) + (and (and v1-129 (or (= v1-129 jakb-gun-stance-yellow-ja) (= v1-129 jakb-gun-stance-blue-ja))) + (or (= gp-1 jakb-gun-stance-ja) (= gp-1 jakb-gun-stance-dark-ja)) ) ) (ja-channel-push! 1 (seconds 0.1)) - (ja-no-eval :group! (-> self draw art-group data 268) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! jakb-gun-side-to-front-hop-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -196,12 +196,12 @@ (set! (-> self skel root-channel 0 frame-group) (the-as art-joint-anim gp-1)) ) ((let ((v1-169 (ja-group))) - (and (and v1-169 (or (= v1-169 (-> self draw art-group data 254)) (= v1-169 (-> self draw art-group data 255)))) - (or (= gp-1 (-> self draw art-group data 255)) (= gp-1 (-> self draw art-group data 254))) + (and (and v1-169 (or (= v1-169 jakb-gun-stance-yellow-ja) (= v1-169 jakb-gun-stance-blue-ja))) + (or (= gp-1 jakb-gun-stance-blue-ja) (= gp-1 jakb-gun-stance-yellow-ja)) ) ) (ja-channel-push! 1 (seconds 0.1)) - (ja-no-eval :group! (-> self draw art-group data 252) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! jakb-gun-blue-to-yellow-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -227,7 +227,7 @@ (cond ((not (-> self control unknown-spool-anim00)) ) - ((= (-> self control unknown-spool-anim00) (-> self draw art-group data 259)) + ((= (-> self control unknown-spool-anim00) jakb-gun-dark-fire-ja) (ja-channel-push! 1 0) (ja :group! (-> self control unknown-spool-anim00)) (suspend) @@ -236,7 +236,7 @@ (until (not v1-232) (let ((v1-231 (get-channel (-> self skel top-anim) 0))) (b! (not v1-231) cfg-101 :likely-delay (set! v1-232 v1-231)) - (let ((a1-30 (= (-> v1-231 frame-group) (-> self draw art-group data 259)))) + (let ((a1-30 (= (-> v1-231 frame-group) jakb-gun-dark-fire-ja))) (b! (not a1-30) cfg-101 :likely-delay (set! v1-232 a1-30)) ) (let ((a0-74 (-> self skel root-channel 0))) @@ -268,10 +268,7 @@ ) (let ((gp-2 (-> self skel top-anim frame-targ))) (cond - ((or (= gp-2 (-> self draw art-group data 263)) - (= gp-2 (-> self draw art-group data 265)) - (= gp-2 (-> self draw art-group data 264)) - ) + ((or (= gp-2 jakb-gun-red-takeout-ja) (= gp-2 jakb-gun-yellow-takeout-ja) (= gp-2 jakb-gun-dark-takeout-ja)) (ja-channel-push! 1 (seconds 0.1)) (ja-no-eval :group! gp-2 :num! (seek! 0.0) :frame-num max) (until (ja-done? 0) @@ -279,7 +276,7 @@ (ja :num! (seek! 0.0)) ) ) - ((= gp-2 (-> self draw art-group data 266)) + ((= gp-2 jakb-gun-blue-takeout-ja) (ja-channel-push! 1 (seconds 0.1)) (ja-no-eval :group! gp-2 :num! (seek! 0.0) :frame-num (ja-aframe -34.0 0)) (until (ja-done? 0) diff --git a/goal_src/jak2/engine/target/gun/gun-util.gc b/goal_src/jak2/engine/target/gun/gun-util.gc index dab0b17f3a3..31fc5872097 100644 --- a/goal_src/jak2/engine/target/gun/gun-util.gc +++ b/goal_src/jak2/engine/target/gun/gun-util.gc @@ -456,7 +456,7 @@ (ja-channel-set! 1) (set! (-> self read-scale) #f) (until #f - (ja-no-eval :group! (-> self draw art-group data 12) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! gun-idle-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -530,84 +530,84 @@ (set! (-> self gun-type) a0-5) (cond ((and (= v1-0 (pickup-type eco-yellow)) (= a0-5 (pickup-type eco-red))) - (ja-no-eval :group! (-> self draw art-group data 28) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! gun-gun-yellow-red-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) ) ) ((and (= v1-0 (pickup-type eco-yellow)) (= a0-5 (pickup-type eco-blue))) - (ja-no-eval :group! (-> self draw art-group data 27) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! gun-gun-yellow-blue-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) ) ) ((and (= v1-0 (pickup-type eco-yellow)) (= a0-5 (pickup-type eco-dark))) - (ja-no-eval :group! (-> self draw art-group data 26) :num! (seek! 0.0) :frame-num max) + (ja-no-eval :group! gun-gun-dark-yellow-ja :num! (seek! 0.0) :frame-num max) (until (ja-done? 0) (suspend) (ja :num! (seek! 0.0)) ) ) ((and (= v1-0 (pickup-type eco-red)) (= a0-5 (pickup-type eco-yellow))) - (ja-no-eval :group! (-> self draw art-group data 28) :num! (seek! 0.0) :frame-num max) + (ja-no-eval :group! gun-gun-yellow-red-ja :num! (seek! 0.0) :frame-num max) (until (ja-done? 0) (suspend) (ja :num! (seek! 0.0)) ) ) ((and (= v1-0 (pickup-type eco-red)) (= a0-5 (pickup-type eco-blue))) - (ja-no-eval :group! (-> self draw art-group data 30) :num! (seek! 0.0) :frame-num max) + (ja-no-eval :group! gun-gun-blue-red-ja :num! (seek! 0.0) :frame-num max) (until (ja-done? 0) (suspend) (ja :num! (seek! 0.0)) ) ) ((and (= v1-0 (pickup-type eco-red)) (= a0-5 (pickup-type eco-dark))) - (ja-no-eval :group! (-> self draw art-group data 23) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! gun-gun-red-dark-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) ) ) ((and (= v1-0 (pickup-type eco-blue)) (= a0-5 (pickup-type eco-yellow))) - (ja-no-eval :group! (-> self draw art-group data 27) :num! (seek! 0.0) :frame-num max) + (ja-no-eval :group! gun-gun-yellow-blue-ja :num! (seek! 0.0) :frame-num max) (until (ja-done? 0) (suspend) (ja :num! (seek! 0.0)) ) ) ((and (= v1-0 (pickup-type eco-blue)) (= a0-5 (pickup-type eco-red))) - (ja-no-eval :group! (-> self draw art-group data 30) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! gun-gun-blue-red-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) ) ) ((and (= v1-0 (pickup-type eco-blue)) (= a0-5 (pickup-type eco-dark))) - (ja-no-eval :group! (-> self draw art-group data 29) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! gun-gun-blue-dark-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) ) ) ((and (= v1-0 (pickup-type eco-dark)) (= a0-5 (pickup-type eco-yellow))) - (ja-no-eval :group! (-> self draw art-group data 26) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! gun-gun-dark-yellow-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) ) ) ((and (= v1-0 (pickup-type eco-dark)) (= a0-5 (pickup-type eco-red))) - (ja-no-eval :group! (-> self draw art-group data 23) :num! (seek! 0.0) :frame-num max) + (ja-no-eval :group! gun-gun-red-dark-ja :num! (seek! 0.0) :frame-num max) (until (ja-done? 0) (suspend) (ja :num! (seek! 0.0)) ) ) ((and (= v1-0 (pickup-type eco-dark)) (= a0-5 (pickup-type eco-blue))) - (ja-no-eval :group! (-> self draw art-group data 29) :num! (seek! 0.0) :frame-num max) + (ja-no-eval :group! gun-gun-blue-dark-ja :num! (seek! 0.0) :frame-num max) (until (ja-done? 0) (suspend) (ja :num! (seek! 0.0)) @@ -618,16 +618,16 @@ (let* ((v1-268 (-> self gun-type)) (gp-0 (cond ((= v1-268 (pickup-type eco-yellow)) - (-> self draw art-group data 15) + gun-idle-yellow-ja ) ((= v1-268 (pickup-type eco-red)) - (-> self draw art-group data 13) + gun-idle-red-ja ) ((= v1-268 (pickup-type eco-blue)) - (-> self draw art-group data 16) + gun-idle-blue-ja ) (else - (-> self draw art-group data 14) + gun-idle-dark-ja ) ) ) @@ -710,7 +710,7 @@ ((string= s2-0 "jakb-gun-blue-takeout") (if (>= f30-0 (-> s3-1 artist-base)) (ja :group! s3-1 :num! (identity (ja-aframe f30-0 0))) - (ja :group! (-> self draw art-group data 12)) + (ja :group! gun-idle-ja) ) ) ((or (string= s2-0 "jakb-gun-dark-takeout") (string= s2-0 "jakb-pilot-gun-dark-takeout")) @@ -723,7 +723,7 @@ (ja :group! s3-1 :num! (identity (ja-aframe f30-0 0))) ) (else - (ja :group! (-> self draw art-group data 12)) + (ja :group! gun-idle-ja) ) ) ) @@ -756,7 +756,7 @@ ) ) ) - (vector<-cspace! (-> (the-as target gp-0) gun fire-point) (-> (the-as gun self) node-list data 13)) + (vector<-cspace! (-> (the-as target gp-0) gun fire-point) (joint-node-index gun-lod0-jg muzzle)) (set! (-> (the-as target gp-0) gun fire-dir 1 quad) (-> (the-as target gp-0) gun fire-dir 0 quad)) (cond ((and (handle->process (-> (the-as target gp-0) gun track-target 0 handle)) @@ -788,7 +788,7 @@ ) ) ) - (vector<-cspace! (-> (the-as target gp-0) gun laser-point) (-> (the-as gun self) node-list data 14)) + (vector<-cspace! (-> (the-as target gp-0) gun laser-point) (joint-node-index gun-lod0-jg laser)) (set! (-> (the-as target gp-0) gun laser-dir 1 quad) (-> (the-as target gp-0) gun laser-dir 0 quad)) (set! (-> (the-as target gp-0) gun laser-dir 0 quad) (-> (the-as target gp-0) gun fire-dir-out quad)) (if s5-0 diff --git a/goal_src/jak2/engine/target/logic-target.gc b/goal_src/jak2/engine/target/logic-target.gc index 5cdbd839305..9f9edab7fd0 100644 --- a/goal_src/jak2/engine/target/logic-target.gc +++ b/goal_src/jak2/engine/target/logic-target.gc @@ -2279,7 +2279,7 @@ ((and (and (-> self next-state) (= (-> self next-state name) 'target-clone-anim)) (and (not (logtest? (-> self draw status) (draw-control-status no-draw))) (begin - (vector<-cspace! s5-0 (-> self node-list data 3)) + (vector<-cspace! s5-0 (joint-node-index jakb-lod0-jg main)) (+! (-> s5-0 y) -5896.192) (< (fabs (- (-> s5-0 y) (-> self control trans y))) 8192.0) ) @@ -2305,7 +2305,7 @@ ) (set! (-> s5-0 y) (- (-> self water surface-height) (-> self water swim-height))) ) - (vector<-cspace! gp-0 (-> self node-list data 6)) + (vector<-cspace! gp-0 (joint-node-index jakb-lod0-jg chest)) (cond ((>= (+ (current-time) (seconds -2)) (-> self control unknown-time-frame26)) (set! (-> self control camera-pos quad) (-> s5-0 quad)) diff --git a/goal_src/jak2/engine/target/mech/grunt-mech.gc b/goal_src/jak2/engine/target/mech/grunt-mech.gc index e43e1000523..386d8ae60a0 100644 --- a/goal_src/jak2/engine/target/mech/grunt-mech.gc +++ b/goal_src/jak2/engine/target/mech/grunt-mech.gc @@ -366,7 +366,7 @@ (let ((gp-0 (new 'stack-no-clear 'matrix))) (quaternion-copy! (the-as quaternion (-> gp-0 vector)) (-> self root quat)) (set! (-> gp-0 vector 1 quad) (-> self root trans quad)) - (ja-no-eval :group! (-> self draw art-group data 48) :num! (seek! max 0.769) :frame-num 0.0) + (ja-no-eval :group! grunt-mech-lunge-ja :num! (seek! max 0.769) :frame-num 0.0) (until (ja-done? 0) (let ((s5-0 *grunt-mech-info*)) (grunt-mech-info-method-10 s5-0) @@ -560,7 +560,7 @@ ) ) :code (behavior () - (ja-no-eval :group! (-> self draw art-group data 49) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! grunt-mech-grab-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -576,15 +576,12 @@ (ja-channel-push! 1 (seconds 0.13)) (countdown (s5-0 (get-rand-int-range self 1 2)) (let ((s4-0 #t)) - (ja-no-eval :group! (-> self draw art-group data 51) :num! (seek! (ja-aframe 17.0 0) 0.222) :frame-num 0.0) + (ja-no-eval :group! grunt-mech-head-butt-ja :num! (seek! (ja-aframe 17.0 0) 0.222) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek! (ja-aframe 17.0 0) 0.222)) ) - (ja-no-eval :group! (-> self draw art-group data 51) - :num! (seek! (ja-aframe 20.0 0)) - :frame-num (ja-aframe 17.0 0) - ) + (ja-no-eval :group! grunt-mech-head-butt-ja :num! (seek! (ja-aframe 20.0 0)) :frame-num (ja-aframe 17.0 0)) (until (ja-done? 0) (when (and s4-0 (>= (ja-aframe-num 0) 18.5)) (grunt-mech-method-194 self) @@ -601,12 +598,12 @@ (ja-channel-push! 1 (seconds 0.13)) (countdown (s5-1 (get-rand-int-range self 1 3)) (let ((s4-1 #t)) - (ja-no-eval :group! (-> self draw art-group data 52) :num! (seek! (ja-aframe 24.0 0) 0.568) :frame-num 0.0) + (ja-no-eval :group! grunt-mech-punch-left-ja :num! (seek! (ja-aframe 24.0 0) 0.568) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek! (ja-aframe 24.0 0) 0.568)) ) - (ja-no-eval :group! (-> self draw art-group data 52) + (ja-no-eval :group! grunt-mech-punch-left-ja :num! (seek! (ja-aframe 28.0 0) 2.0) :frame-num (ja-aframe 24.0 0) ) @@ -626,12 +623,12 @@ (ja-channel-push! 1 (seconds 0.13)) (countdown (s5-2 (get-rand-int-range self 1 3)) (let ((s4-2 #t)) - (ja-no-eval :group! (-> self draw art-group data 53) :num! (seek! (ja-aframe 30.0 0) 0.111) :frame-num 0.0) + (ja-no-eval :group! grunt-mech-double-pound-ja :num! (seek! (ja-aframe 30.0 0) 0.111) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek! (ja-aframe 30.0 0) 0.111)) ) - (ja-no-eval :group! (-> self draw art-group data 53) + (ja-no-eval :group! grunt-mech-double-pound-ja :num! (seek! (ja-aframe 32.0 0) 0.5) :frame-num (ja-aframe 30.0 0) ) @@ -651,7 +648,7 @@ ) (when (= (get-rand-int self 4) 3) (ja-channel-push! 1 (seconds 0.13)) - (ja-no-eval :group! (-> self draw art-group data 50) :num! (seek! max 0.090909) :frame-num 0.0) + (ja-no-eval :group! grunt-mech-idle0-ja :num! (seek! max 0.090909) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek! max 0.090909)) @@ -709,7 +706,7 @@ (quaternion-look-at! (the-as quaternion (-> gp-0 vector 2)) (-> gp-0 vector 1) *up-vector*) (quaternion-copy! (the-as quaternion (-> gp-0 vector)) (-> self root quat)) (set! (-> gp-0 vector 1 quad) (-> self root trans quad)) - (ja-no-eval :group! (-> self draw art-group data 54) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! grunt-mech-dismount-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (let ((f30-0 (lerp-scale 0.0 1.0 (ja-aframe-num 0) 33.0 41.0))) (quaternion-slerp! @@ -737,7 +734,7 @@ ) 0 (logclear! (-> self nav state flags) (nav-state-flag at-target)) - (ja-no-eval :group! (-> self draw art-group data 55) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! grunt-mech-dismount-land-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) diff --git a/goal_src/jak2/engine/target/mech/mech-states.gc b/goal_src/jak2/engine/target/mech/mech-states.gc index 9a42832f669..42186b524fa 100644 --- a/goal_src/jak2/engine/target/mech/mech-states.gc +++ b/goal_src/jak2/engine/target/mech/mech-states.gc @@ -102,16 +102,16 @@ ) :code (behavior () (let ((v1-2 (ja-group))) - (when (not (and v1-2 (= v1-2 (-> self draw art-group data 327)))) + (when (not (and v1-2 (= v1-2 jakb-mech-turn90-ja))) (let ((v1-8 (ja-group))) - (if (and v1-8 (= v1-8 (-> self draw art-group data 326))) + (if (and v1-8 (= v1-8 jakb-mech-walk-ja)) (sound-play "mech-stop") ) ) (ja-channel-push! 3 (seconds 0.2)) - (ja :group! (-> self draw art-group data 327) :dist 16384.0) - (ja :chan 1 :group! (-> self draw art-group data 332) :dist 3640.889) - (ja :chan 2 :group! (-> self draw art-group data 324) :dist 0.0) + (ja :group! jakb-mech-turn90-ja :dist 16384.0) + (ja :chan 1 :group! jakb-mech-turn20-ja :dist 3640.889) + (ja :chan 2 :group! jakb-mech-stance-ja :dist 0.0) ) ) (let ((f28-0 0.0) @@ -213,8 +213,8 @@ (let ((gp-0 (ja-group)) (f0-2 (ja-aframe-num 0)) ) - (when (if (or (and (= gp-0 (-> self draw art-group data 326)) (>= f0-2 5.5) (>= 9.5 f0-2)) - (and (= gp-0 (-> self draw art-group data 326)) (>= f0-2 20.5) (>= 24.5 f0-2)) + (when (if (or (and (= gp-0 jakb-mech-walk-ja) (>= f0-2 5.5) (>= 9.5 f0-2)) + (and (= gp-0 jakb-mech-walk-ja) (>= f0-2 20.5) (>= 24.5 f0-2)) ) #t ) @@ -275,14 +275,14 @@ ) (v1-7 (ja-group)) ) - (when (not (and v1-7 (= v1-7 (-> self draw art-group data 326)))) + (when (not (and v1-7 (= v1-7 jakb-mech-walk-ja))) (ja-channel-push! 3 (seconds 0.1)) - (ja :group! (-> self draw art-group data 326) + (ja :group! jakb-mech-walk-ja :num! (identity (ja-aframe f26-0 0)) :dist (-> *TARGET-bank* mech-walk-cycle-dist) ) - (ja :chan 1 :group! (-> self draw art-group data 325) :dist (-> *TARGET-bank* mech-run-cycle-dist)) - (ja :chan 2 :group! (-> self draw art-group data 324) :dist 0.0) + (ja :chan 1 :group! jakb-mech-run-ja :dist (-> *TARGET-bank* mech-run-cycle-dist)) + (ja :chan 2 :group! jakb-mech-stance-ja :dist 0.0) ) ) (until #f @@ -393,7 +393,7 @@ (cond ((zero? v1-26) (set! (-> self mech walk-anim-leg) 1) - (set! s5-0 (-> self draw art-group data 333)) + (set! s5-0 jakb-mech-punch-l-ja) ((method-of-type impact-control initialize) (the-as impact-control (-> self mech state-impact)) (the-as process-drawable (ppointer->process (-> self manipy))) @@ -404,7 +404,7 @@ ) ((= v1-26 1) (set! (-> self mech walk-anim-leg) 0) - (set! s5-0 (-> self draw art-group data 334)) + (set! s5-0 jakb-mech-punch-r-ja) ((method-of-type impact-control initialize) (the-as impact-control (-> self mech state-impact)) (the-as process-drawable (ppointer->process (-> self manipy))) @@ -415,7 +415,7 @@ ) ((= v1-26 2) (set! (-> self mech walk-anim-leg) 0) - (set! s5-0 (-> self draw art-group data 335)) + (set! s5-0 jakb-mech-punch-b-ja) ((method-of-type impact-control initialize) (the-as impact-control (-> self mech state-impact)) (the-as process-drawable (ppointer->process (-> self manipy))) @@ -426,7 +426,7 @@ ) ((= v1-26 3) (set! (-> self mech walk-anim-leg) 0) - (set! s5-0 (-> self draw art-group data 353)) + (set! s5-0 jakb-mech-punch-u-ja) ((method-of-type impact-control initialize) (the-as impact-control (-> self mech state-impact)) (the-as process-drawable (ppointer->process (-> self manipy))) @@ -585,10 +585,10 @@ (compute-alignment! (-> self align)) (when (and (not (focus-test? self dangerous)) (let ((v1-10 (ja-group))) - (and v1-10 (or (= v1-10 (-> self draw art-group data 333)) - (= v1-10 (-> self draw art-group data 334)) - (= v1-10 (-> self draw art-group data 335)) - (= v1-10 (-> self draw art-group data 353)) + (and v1-10 (or (= v1-10 jakb-mech-punch-l-ja) + (= v1-10 jakb-mech-punch-r-ja) + (= v1-10 jakb-mech-punch-b-ja) + (= v1-10 jakb-mech-punch-u-ja) ) ) ) @@ -601,29 +601,21 @@ (let ((s3-0 (ja-group)) (f30-0 (ja-aframe-num 0)) ) - (if (or (and (= s3-0 (-> self draw art-group data 333)) + (if (or (and (= s3-0 jakb-mech-punch-l-ja) (>= f30-0 2.0) - (>= (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 333)) frames num-frames) -1)) - (ja-frame-num 0) - ) + (>= (the float (+ (-> (the-as art-joint-anim jakb-mech-punch-l-ja) frames num-frames) -1)) (ja-frame-num 0)) ) - (and (= s3-0 (-> self draw art-group data 334)) + (and (= s3-0 jakb-mech-punch-r-ja) (>= f30-0 2.0) - (>= (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 334)) frames num-frames) -1)) - (ja-frame-num 0) - ) + (>= (the float (+ (-> (the-as art-joint-anim jakb-mech-punch-r-ja) frames num-frames) -1)) (ja-frame-num 0)) ) - (and (= s3-0 (-> self draw art-group data 335)) + (and (= s3-0 jakb-mech-punch-b-ja) (>= f30-0 2.0) - (>= (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 335)) frames num-frames) -1)) - (ja-frame-num 0) - ) + (>= (the float (+ (-> (the-as art-joint-anim jakb-mech-punch-b-ja) frames num-frames) -1)) (ja-frame-num 0)) ) - (and (= s3-0 (-> self draw art-group data 353)) + (and (= s3-0 jakb-mech-punch-u-ja) (>= f30-0 2.0) - (>= (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 353)) frames num-frames) -1)) - (ja-frame-num 0) - ) + (>= (the float (+ (-> (the-as art-joint-anim jakb-mech-punch-u-ja) frames num-frames) -1)) (ja-frame-num 0)) ) ) (set! s5-0 #t) @@ -634,29 +626,21 @@ (let ((s3-1 (ja-group)) (f30-2 (ja-aframe-num 0)) ) - (when (or (and (= s3-1 (-> self draw art-group data 333)) + (when (or (and (= s3-1 jakb-mech-punch-l-ja) (>= f30-2 21.0) - (>= (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 333)) frames num-frames) -1)) - (ja-frame-num 0) - ) + (>= (the float (+ (-> (the-as art-joint-anim jakb-mech-punch-l-ja) frames num-frames) -1)) (ja-frame-num 0)) ) - (and (= s3-1 (-> self draw art-group data 334)) + (and (= s3-1 jakb-mech-punch-r-ja) (>= f30-2 21.0) - (>= (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 334)) frames num-frames) -1)) - (ja-frame-num 0) - ) + (>= (the float (+ (-> (the-as art-joint-anim jakb-mech-punch-r-ja) frames num-frames) -1)) (ja-frame-num 0)) ) - (and (= s3-1 (-> self draw art-group data 335)) + (and (= s3-1 jakb-mech-punch-b-ja) (>= f30-2 21.0) - (>= (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 335)) frames num-frames) -1)) - (ja-frame-num 0) - ) + (>= (the float (+ (-> (the-as art-joint-anim jakb-mech-punch-b-ja) frames num-frames) -1)) (ja-frame-num 0)) ) - (and (= s3-1 (-> self draw art-group data 353)) + (and (= s3-1 jakb-mech-punch-u-ja) (>= f30-2 21.0) - (>= (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 353)) frames num-frames) -1)) - (ja-frame-num 0) - ) + (>= (the float (+ (-> (the-as art-joint-anim jakb-mech-punch-u-ja) frames num-frames) -1)) (ja-frame-num 0)) ) ) (+! gp-0 1) @@ -677,7 +661,7 @@ (seek! (-> self mech forward-vel) -0.04096 (* 122880.0 (seconds-per-frame))) ) ((let ((a0-43 (ja-group))) - (and a0-43 (or (= a0-43 (-> self draw art-group data 335)) (= a0-43 (-> self draw art-group data 353)))) + (and a0-43 (or (= a0-43 jakb-mech-punch-b-ja) (= a0-43 jakb-mech-punch-u-ja))) ) (cond ((< v1-142 (seconds 0.465)) @@ -694,7 +678,7 @@ (else (let ((a0-50 (ja-group))) (cond - ((and a0-50 (= a0-50 (-> self draw art-group data 333))) + ((and a0-50 (= a0-50 jakb-mech-punch-l-ja)) (cond ((< v1-142 (seconds 0.465)) (seek! (-> self mech forward-vel) 0.0 (* 20480.0 (seconds-per-frame))) @@ -779,7 +763,7 @@ (let ((f0-0 (target-move-dist (-> *TARGET-bank* stuck-time))) (v1-9 (ja-group)) ) - (when (if (and (and v1-9 (= v1-9 (-> self draw art-group data 330))) + (when (if (and (and v1-9 (= v1-9 jakb-mech-jump-loop-ja)) (< f0-0 (-> *TARGET-bank* stuck-distance)) (and (time-elapsed? (-> self state-time) (seconds 2)) (not (and *cheat-mode* (cpad-hold? (-> self control cpad number) r2))) @@ -854,9 +838,9 @@ (cond ((< 0.0 (vector-dot (-> self control dynam gravity-normal) (-> self control transv))) (let ((v1-7 (ja-group))) - (when (not (and v1-7 (= v1-7 (-> self draw art-group data 329)))) + (when (not (and v1-7 (= v1-7 jakb-mech-jump-thrust-ja))) (ja-channel-push! 1 (seconds 0.1)) - (ja :group! (-> self draw art-group data 329) :num! min) + (ja :group! jakb-mech-jump-thrust-ja :num! min) ) ) (suspend) @@ -864,9 +848,9 @@ ) (else (let ((v1-22 (ja-group))) - (when (not (and v1-22 (= v1-22 (-> self draw art-group data 330)))) + (when (not (and v1-22 (= v1-22 jakb-mech-jump-loop-ja))) (ja-channel-push! 1 (seconds 0.5)) - (ja :group! (-> self draw art-group data 330) :num! min) + (ja :group! jakb-mech-jump-loop-ja :num! min) ) ) (suspend) @@ -899,7 +883,7 @@ :trans (-> target-mech-falling trans) :code (behavior ((arg0 float) (arg1 float) (arg2 surface)) (let ((v1-2 (ja-group))) - (if (and v1-2 (= v1-2 (-> self draw art-group data 331))) + (if (and v1-2 (= v1-2 jakb-mech-jump-land-ja)) (ja-channel-push! 1 (seconds 0.5)) (ja-channel-push! 1 (seconds 0.05)) ) @@ -1095,9 +1079,9 @@ ) (set! (-> self control mod-surface) *smack-mods*) (let ((v1-63 (ja-group))) - (when (not (and v1-63 (= v1-63 (-> self draw art-group data 348)))) + (when (not (and v1-63 (= v1-63 jakb-mech-hit-front-ja))) (ja-channel-push! 1 (seconds 0.075)) - (ja :group! (-> self draw art-group data 348) :num! min) + (ja :group! jakb-mech-hit-front-ja :num! min) ) ) (target-hit-move gp-0 (target-hit-orient gp-0 s5-0) target-mech-falling-anim-trans 1.0) @@ -1201,10 +1185,10 @@ ) ) (ja-channel-push! 1 (seconds 0.3)) - (ja-no-eval :group! (-> self draw art-group data 330) :num! (loop! 0.5) :frame-num 0.0) + (ja-no-eval :group! jakb-mech-jump-loop-ja :num! (loop! 0.5) :frame-num 0.0) (let ((gp-3 (current-time))) (until (time-elapsed? gp-3 (seconds 0.8)) - (ja :group! (-> self draw art-group data 330) :num! (loop! 0.5)) + (ja :group! jakb-mech-jump-loop-ja :num! (loop! 0.5)) (suspend) ) ) @@ -1223,8 +1207,8 @@ ) ) (let ((gp-5 (if (zero? (rand-vu-int-count 2)) - (-> self draw art-group data 351) - (-> self draw art-group data 352) + jakb-mech-death-a-ja + jakb-mech-death-b-ja ) ) ) @@ -1316,7 +1300,7 @@ (set! (-> self alt-cam-pos quad) (-> self control trans quad)) (set! (-> self post-hook) target-no-move-post) (ja-channel-set! 1) - (ja-no-eval :group! (-> self draw art-group data 70) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! jakb-death-painful-land-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (set! (-> self control transv quad) (the-as uint128 0)) (vector-seek! @@ -1467,17 +1451,13 @@ (gp-0 #f) ) (ja-channel-push! 2 1) - (ja :group! (-> self draw art-group data 337) :num! min) + (ja :group! jakb-mech-carry-pickup-high-ja :num! min) (let ((a0-2 (-> self skel root-channel 1))) (set! (-> a0-2 frame-interp 1) f30-0) (set! (-> a0-2 frame-interp 0) f30-0) - (set! (-> a0-2 frame-group) (the-as art-joint-anim (-> self draw art-group data 336))) + (set! (-> a0-2 frame-group) (the-as art-joint-anim jakb-mech-carry-pickup-low-ja)) (set! (-> a0-2 param 0) 0.0) - (joint-control-channel-group-eval! - a0-2 - (the-as art-joint-anim (-> self draw art-group data 336)) - num-func-chan - ) + (joint-control-channel-group-eval! a0-2 (the-as art-joint-anim jakb-mech-carry-pickup-low-ja) num-func-chan) ) (suspend) (ja :num! (seek!)) @@ -1556,7 +1536,7 @@ (cond (gp-0 (ja-channel-push! 1 (seconds 0.01)) - (ja-no-eval :group! (-> self draw art-group data 347) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! jakb-mech-drag-pickup-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -1709,17 +1689,13 @@ ) ) (ja-channel-push! 2 (seconds 0.1)) - (ja :group! (-> self draw art-group data 337) :num! max) + (ja :group! jakb-mech-carry-pickup-high-ja :num! max) (let ((a0-19 (-> self skel root-channel 1))) (set! (-> a0-19 frame-interp 1) f30-0) (set! (-> a0-19 frame-interp 0) f30-0) - (set! (-> a0-19 frame-group) (the-as art-joint-anim (-> self draw art-group data 336))) + (set! (-> a0-19 frame-group) (the-as art-joint-anim jakb-mech-carry-pickup-low-ja)) (set! (-> a0-19 param 0) 0.0) - (joint-control-channel-group-eval! - a0-19 - (the-as art-joint-anim (-> self draw art-group data 336)) - num-func-chan - ) + (joint-control-channel-group-eval! a0-19 (the-as art-joint-anim jakb-mech-carry-pickup-low-ja) num-func-chan) ) (suspend) (ja-no-eval :num! (seek! (ja-aframe 8.0 0))) @@ -1879,10 +1855,10 @@ ) :code (behavior () (let ((v1-2 (ja-group))) - (when (not (and v1-2 (= v1-2 (-> self draw art-group data 344)))) + (when (not (and v1-2 (= v1-2 jakb-mech-carry-turn45-ja))) (ja-channel-push! 2 (seconds 0.2)) - (ja :group! (-> self draw art-group data 344) :dist 8192.0) - (ja :chan 1 :group! (-> self draw art-group data 338) :dist 0.0) + (ja :group! jakb-mech-carry-turn45-ja :dist 8192.0) + (ja :chan 1 :group! jakb-mech-carry-stance-ja :dist 0.0) ) ) (let ((f30-0 0.0)) @@ -1933,8 +1909,8 @@ (let ((gp-0 (ja-group)) (f0-0 (ja-aframe-num 0)) ) - (when (if (or (and (= gp-0 (-> self draw art-group data 339)) (>= f0-0 5.5) (>= 9.5 f0-0)) - (and (= gp-0 (-> self draw art-group data 339)) (>= f0-0 20.5) (>= 24.5 f0-0)) + (when (if (or (and (= gp-0 jakb-mech-carry-walk-ja) (>= f0-0 5.5) (>= 9.5 f0-0)) + (and (= gp-0 jakb-mech-carry-walk-ja) (>= f0-0 20.5) (>= 24.5 f0-0)) ) #t ) @@ -1987,13 +1963,13 @@ ) (v1-7 (ja-group)) ) - (when (not (and v1-7 (= v1-7 (-> self draw art-group data 339)))) + (when (not (and v1-7 (= v1-7 jakb-mech-carry-walk-ja))) (ja-channel-push! 2 (seconds 0.1)) - (ja :group! (-> self draw art-group data 339) + (ja :group! jakb-mech-carry-walk-ja :num! (identity (ja-aframe f28-0 0)) :dist (-> *TARGET-bank* mech-walk-cycle-dist) ) - (ja :chan 1 :group! (-> self draw art-group data 338) :dist 0.0) + (ja :chan 1 :group! jakb-mech-carry-stance-ja :dist 0.0) ) ) (until #f @@ -2136,61 +2112,60 @@ ) (if (and (nonzero? (-> self control sliding-start-time)) (< (-> self control sliding-start-time) (current-time))) (send-event self 'drop) - (set! f28-0 - (cond - ((nonzero? (-> self control sliding-start-time)) - (let ((v1-17 (ja-group))) - (when (not (and v1-17 (= v1-17 (-> self draw art-group data 345)))) - (let ((v1-23 (ja-group))) - (if (and v1-23 (= v1-23 (-> self draw art-group data 346))) - (set! f26-0 (ja-aframe-num 0)) + (set! f28-0 (cond + ((nonzero? (-> self control sliding-start-time)) + (let ((v1-17 (ja-group))) + (when (not (and v1-17 (= v1-17 jakb-mech-push-ja))) + (let ((v1-23 (ja-group))) + (if (and v1-23 (= v1-23 jakb-mech-pull-ja)) + (set! f26-0 (ja-aframe-num 0)) + ) + ) + (sound-play "mech-drag-push") + (ja-channel-push! 1 (seconds 0.3)) + (ja :group! jakb-mech-push-ja :num! (identity (ja-aframe f26-0 0)) :dist 16384.0) ) + ) + (when (-> self control unknown-spool-anim00) + (set! (-> self control unknown-word04) (the-as uint #f)) + (set! f28-0 32768.0) + ) + (seek f28-0 0.0 (* 65536.0 (seconds-per-frame))) ) - (sound-play "mech-drag-push") - (ja-channel-push! 1 (seconds 0.3)) - (ja :group! (-> self draw art-group data 345) :num! (identity (ja-aframe f26-0 0)) :dist 16384.0) - ) - ) - (when (-> self control unknown-spool-anim00) - (set! (-> self control unknown-word04) (the-as uint #f)) - (set! f28-0 32768.0) - ) - (seek f28-0 0.0 (* 65536.0 (seconds-per-frame))) - ) - ((< 0.0 f0-2) - (let ((v1-47 (ja-group))) - (when (not (and v1-47 (= v1-47 (-> self draw art-group data 345)))) - (let ((v1-53 (ja-group))) - (if (and v1-53 (= v1-53 (-> self draw art-group data 346))) - (set! f26-0 (ja-aframe-num 0)) + ((< 0.0 f0-2) + (let ((v1-47 (ja-group))) + (when (not (and v1-47 (= v1-47 jakb-mech-push-ja))) + (let ((v1-53 (ja-group))) + (if (and v1-53 (= v1-53 jakb-mech-pull-ja)) + (set! f26-0 (ja-aframe-num 0)) + ) + ) + (sound-play "mech-drag-push") + (ja-channel-push! 1 (seconds 0.3)) + (ja :group! jakb-mech-push-ja :num! (identity (ja-aframe f26-0 0)) :dist 16384.0) ) + ) + (seek f28-0 49152.0 (* 24576.0 (seconds-per-frame))) ) - (sound-play "mech-drag-push") - (ja-channel-push! 1 (seconds 0.3)) - (ja :group! (-> self draw art-group data 345) :num! (identity (ja-aframe f26-0 0)) :dist 16384.0) - ) - ) - (seek f28-0 49152.0 (* 24576.0 (seconds-per-frame))) - ) - ((< f0-2 0.0) - (let ((v1-71 (ja-group))) - (when (not (and v1-71 (= v1-71 (-> self draw art-group data 346)))) - (let ((v1-77 (ja-group))) - (if (and v1-77 (= v1-77 (-> self draw art-group data 345))) - (set! f26-0 (ja-aframe-num 0)) + ((< f0-2 0.0) + (let ((v1-71 (ja-group))) + (when (not (and v1-71 (= v1-71 jakb-mech-pull-ja))) + (let ((v1-77 (ja-group))) + (if (and v1-77 (= v1-77 jakb-mech-push-ja)) + (set! f26-0 (ja-aframe-num 0)) + ) + ) + (sound-play "mech-drag-pull") + (ja-channel-push! 1 (seconds 0.3)) + (ja :group! jakb-mech-pull-ja :num! (identity (ja-aframe f26-0 0)) :dist 16384.0) ) + ) + (seek f28-0 -49152.0 (* 24576.0 (seconds-per-frame))) ) - (sound-play "mech-drag-pull") - (ja-channel-push! 1 (seconds 0.3)) - (ja :group! (-> self draw art-group data 346) :num! (identity (ja-aframe f26-0 0)) :dist 16384.0) - ) - ) - (seek f28-0 -49152.0 (* 24576.0 (seconds-per-frame))) - ) - (else - (seek f28-0 0.0 (* 32768.0 (seconds-per-frame))) - ) - ) + (else + (seek f28-0 0.0 (* 32768.0 (seconds-per-frame))) + ) + ) ) ) ) @@ -2230,7 +2205,7 @@ (set! (-> self mech thruster-flame-width) (* 0.021428572 (-> self mech jump-thrust))) (set! (-> self mech thruster-flame-length) (* 0.028571429 (-> self mech jump-thrust))) (let ((v1-120 (ja-group))) - (if (and v1-120 (or (= v1-120 (-> self draw art-group data 345)) (= v1-120 (-> self draw art-group data 346)))) + (if (and v1-120 (or (= v1-120 jakb-mech-push-ja) (= v1-120 jakb-mech-pull-ja))) (ja :num! (loop! f26-1)) ) ) @@ -2280,21 +2255,21 @@ :code (behavior () (let ((v1-2 (ja-group))) (cond - ((and v1-2 (= v1-2 (-> self draw art-group data 341))) + ((and v1-2 (= v1-2 jakb-mech-carry-jump-loop-ja)) ) (else (ja-channel-push! 1 (seconds 0.33)) - (ja :group! (-> self draw art-group data 341)) + (ja :group! jakb-mech-carry-jump-loop-ja) (while (!= (-> self skel root-channel 0) (-> self skel channel)) (suspend) ) ) ) ) - (ja-no-eval :group! (-> self draw art-group data 341) :num! (loop!) :frame-num 0.0) + (ja-no-eval :group! jakb-mech-carry-jump-loop-ja :num! (loop!) :frame-num 0.0) (until #f (suspend) - (ja :group! (-> self draw art-group data 341) :num! (loop!)) + (ja :group! jakb-mech-carry-jump-loop-ja :num! (loop!)) ) #f ) @@ -2359,7 +2334,7 @@ ) (if (and (!= (-> *cpad-list* cpads (-> self control cpad number) stick0-speed) 0.0) (let ((v1-26 (ja-group))) - (and (and v1-26 (= v1-26 (-> self draw art-group data 342))) (>= (ja-aframe-num 0) 30.0)) + (and (and v1-26 (= v1-26 jakb-mech-carry-jump-land-ja)) (>= (ja-aframe-num 0) 30.0)) ) ) (go target-mech-carry-walk) @@ -2416,9 +2391,9 @@ ) :code (behavior ((arg0 float) (arg1 float) (arg2 symbol)) (ja-channel-push! 1 (seconds 0.05)) - (ja :group! (-> self draw art-group data 340) :num! min) + (ja :group! jakb-mech-carry-jump-ja :num! min) (suspend) - (ja :group! (-> self draw art-group data 340) :num! (+!)) + (ja :group! jakb-mech-carry-jump-ja :num! (+!)) (suspend) (until (ja-done? 0) (let ((f30-0 (vector-dot (-> self control dynam gravity-normal) (-> self control transv))) @@ -2454,7 +2429,7 @@ :exit (-> target-mech-carry-pickup exit) :code (behavior () (ja-channel-push! 1 (seconds 0.1)) - (ja-no-eval :group! (-> self draw art-group data 343) :num! (seek! (ja-aframe 16.0 0)) :frame-num 0.0) + (ja-no-eval :group! jakb-mech-carry-throw-ja :num! (seek! (ja-aframe 16.0 0)) :frame-num 0.0) (until (ja-done? 0) (let ((a1-3 (new 'stack-no-clear 'event-message-block))) (set! (-> a1-3 from) (process->ppointer self)) @@ -2557,7 +2532,7 @@ ) (set! (-> self mech mech-scale quad) (-> self control scale quad)) (set! (-> self mech stick-off) (the-as basic #t)) - (ja-no-eval :group! (-> self draw art-group data 350) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! jakb-mech-get-on-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (let ((f30-0 (sin (lerp-scale 0.0 16384.0 (ja-aframe-num 0) 70.0 80.0)))) (let ((f28-0 (lerp-scale 0.0 1.0 (ja-aframe-num 0) 70.0 80.0))) @@ -2607,11 +2582,11 @@ (send-event *camera* 'set-dist #f #f) (set! (-> self neck flex-blend) 0.0) (ja-channel-push! 1 (seconds 0.1)) - (ja-no-eval :group! (-> self draw art-group data 349) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! jakb-mech-get-off-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (when (< 51.0 (ja-aframe-num 0)) (logior! (-> self state-flags) (state-flags sf6)) - (vector<-cspace! (-> self alt-cam-pos) (-> self node-list data 36)) + (vector<-cspace! (-> self alt-cam-pos) (joint-node-index jakb-lod0-jg Rankle)) ) (suspend) (ja :num! (seek!)) @@ -2628,7 +2603,7 @@ (rot->dir-targ! (-> self control)) (ja-post) (let ((gp-1 (new 'stack-no-clear 'vector))) - (vector<-cspace! gp-1 (-> self node-list data 3)) + (vector<-cspace! gp-1 (joint-node-index jakb-lod0-jg main)) (+! (-> gp-1 y) -9011.2) (move-to-point! (-> self control) gp-1) ) diff --git a/goal_src/jak2/engine/target/target-darkjak.gc b/goal_src/jak2/engine/target/target-darkjak.gc index 1dcfb97975f..a82e890d95e 100644 --- a/goal_src/jak2/engine/target/target-darkjak.gc +++ b/goal_src/jak2/engine/target/target-darkjak.gc @@ -1183,7 +1183,7 @@ (activate! *camera-smush-control* 819.2 15 75 1.0 0.9 (-> *display* camera-clock)) (target-start-attack) (target-danger-set! 'bomb #f) - (set! sv-80 (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 18))) + (set! sv-80 (vector<-cspace! (new 'stack-no-clear 'vector) (joint-node-index jakb-lod0-jg sk_lhand))) (set! sv-84 (lambda :behavior target () (set-vector! (-> self draw color-mult) 0.0 0.0 0.0 1.0) @@ -1585,7 +1585,9 @@ (set! sv-32 (-> self focus-search)) (set! sv-40 0) (set! sv-48 0) - (set! sv-56 (the-as sphere (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 3)))) + (set! sv-56 + (the-as sphere (vector<-cspace! (new 'stack-no-clear 'vector) (joint-node-index jakb-lod0-jg main))) + ) (set! sv-60 (new 'static 'array handle 128 (new 'static 'handle) diff --git a/goal_src/jak2/engine/target/target-gun.gc b/goal_src/jak2/engine/target/target-gun.gc index 1c1028d49f5..13c3b96df43 100644 --- a/goal_src/jak2/engine/target/target-gun.gc +++ b/goal_src/jak2/engine/target/target-gun.gc @@ -1187,7 +1187,7 @@ (>= (current-time) (-> self gun track-target-hold-time)) ) (target-gun-build-track-list) - (let ((t2-0 (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 8)))) + (let ((t2-0 (vector<-cspace! (new 'stack-no-clear 'vector) (joint-node-index jakb-lod0-jg neckB)))) (+! (-> t2-0 y) 2048.0) (cond ((logtest? (surface-flag gun-strafe) (-> self control current-surface flags)) diff --git a/goal_src/jak2/engine/target/target-handler.gc b/goal_src/jak2/engine/target/target-handler.gc index d3ba275663c..60086fc062a 100644 --- a/goal_src/jak2/engine/target/target-handler.gc +++ b/goal_src/jak2/engine/target/target-handler.gc @@ -1340,7 +1340,7 @@ (-> self control) (the-as uint 2) ) - (-> self draw art-group data 104) + jakb-pole-cycle-ja ) (go target-pole-cycle (process->handle arg0)) ) diff --git a/goal_src/jak2/engine/target/target-swim.gc b/goal_src/jak2/engine/target/target-swim.gc index 38a6b8ac718..28377face62 100644 --- a/goal_src/jak2/engine/target/target-swim.gc +++ b/goal_src/jak2/engine/target/target-swim.gc @@ -295,7 +295,7 @@ (spawn-ripples (-> self water) 0.2 - (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 39)) + (vector<-cspace! (new 'stack-no-clear 'vector) (joint-node-index jakb-lod0-jg Rtoes)) 0 (vector-float*! (new 'stack-no-clear 'vector) (-> self control transv) 2.5) #f @@ -306,7 +306,7 @@ (spawn-ripples (-> self water) 0.2 - (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 32)) + (vector<-cspace! (new 'stack-no-clear 'vector) (joint-node-index jakb-lod0-jg Ltoes)) 0 (vector-float*! (new 'stack-no-clear 'vector) (-> self control transv) 2.5) #f diff --git a/goal_src/jak2/engine/target/target-turret.gc b/goal_src/jak2/engine/target/target-turret.gc index bf6a3a123ee..9b16425045e 100644 --- a/goal_src/jak2/engine/target/target-turret.gc +++ b/goal_src/jak2/engine/target/target-turret.gc @@ -284,9 +284,9 @@ (set-as-offset-from! (-> this sprites 3) (the-as vector4w (-> this sprites)) 44 44) (dotimes (v1-6 16) (set! (-> this sprites (- 19 v1-6) scale-x) (if (< v1-6 (-> this values 0 current)) - 0.7 - 0.0 - ) + 0.7 + 0.0 + ) ) ) (set-as-offset-from! (-> this sprites 4) (the-as vector4w (-> this sprites)) 13 6) @@ -363,10 +363,10 @@ ) (set! (-> this sprites 29 color x) (the int f0-34)) (set! (-> this sprites 29 color y) (the int (if (>= (-> this values 1 current) 100) - 0.0 - f0-34 - ) - ) + 0.0 + f0-34 + ) + ) ) ) (set! (-> this sprites 29 color z) (-> this sprites 29 color y)) @@ -424,9 +424,9 @@ ) (('set-target-flash) (set! (-> this values 4 target) (if (-> arg3 param 0) - 1 - 0 - ) + 1 + 0 + ) ) ) (('set-arrow-red) @@ -1061,21 +1061,21 @@ (a1-1 (-> self fire-time-interval)) ) (when (>= v1-8 (* a0-7 a1-1)) - (set! (-> self fire-time) (current-time)) + (set-time! (-> self fire-time)) (base-turret-method-45 self a1-1 message) ) ) ) (else - (when (>= (- (current-time) (-> self fire-time)) (-> self fire-time-interval)) - (set! (-> self fire-time) (current-time)) + (when (time-elapsed? (-> self fire-time) (-> self fire-time-interval)) + (set-time! (-> self fire-time)) (base-turret-method-45 self argc message) ) ) ) ) (('fire-pressed) - (set! (-> self fire-time) (current-time)) + (set-time! (-> self fire-time)) (base-turret-method-45 self argc message) ) (('bonk) @@ -1481,7 +1481,7 @@ (sound-stop (-> self sound-id 2)) (set! (-> self focus-status) (focus-status disable ignore inactive)) (let ((gp-0 (current-time))) - (until (>= (- (current-time) gp-0) (seconds 0.8)) + (until (time-elapsed? gp-0 (seconds 0.8)) (suspend) ) ) @@ -2227,7 +2227,7 @@ This commonly includes things such as: ) (set! (-> self control unknown-handle02) (-> self turret handle)) (ja-channel-set! 1) - (ja :group! (-> self draw art-group data 359)) + (ja :group! jakb-turret-stance-ja) (until v1-19 (suspend) (can-play-stance-amibent?) @@ -2295,7 +2295,7 @@ This commonly includes things such as: ) ) (set! (-> self alt-cam-pos quad) (-> self control camera-pos quad)) - (ja-no-eval :group! (-> self draw art-group data 361) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! jakb-turret-get-on-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (let ((f30-0 (sin (lerp-scale 0.0 16384.0 (ja-aframe-num 0) 0.0 12.0)))) (let ((f28-0 (lerp-scale 0.0 1.0 (ja-aframe-num 0) 0.0 12.0))) @@ -2355,7 +2355,7 @@ This commonly includes things such as: (set! (-> self control unknown-vector40 quad) (-> gp-0 quad)) ) (ja-channel-push! 1 (seconds 0.1)) - (ja-no-eval :group! (-> self draw art-group data 360) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! jakb-turret-get-off-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (cond ((< (ja-aframe-num 0) 88.0) @@ -2400,7 +2400,7 @@ This commonly includes things such as: ) (rot->dir-targ! (-> self control)) (if (< 86.0 (ja-aframe-num 0)) - (vector<-cspace! (-> self alt-cam-pos) (-> self node-list data 36)) + (vector<-cspace! (-> self alt-cam-pos) (joint-node-index jakb-lod0-jg Rankle)) ) (suspend) (ja :num! (seek!)) @@ -2408,7 +2408,7 @@ This commonly includes things such as: (rot->dir-targ! (-> self control)) (ja-post) (let ((gp-4 (new 'stack-no-clear 'vector))) - (vector<-cspace! gp-4 (-> self node-list data 3)) + (vector<-cspace! gp-4 (joint-node-index jakb-lod0-jg main)) (+! (-> gp-4 y) -9011.2) (move-to-point! (-> self control) gp-4) ) diff --git a/goal_src/jak2/engine/target/target.gc b/goal_src/jak2/engine/target/target.gc index b257273c523..611c38d4c6d 100644 --- a/goal_src/jak2/engine/target/target.gc +++ b/goal_src/jak2/engine/target/target.gc @@ -2379,7 +2379,7 @@ (spawn-ripples (-> self water) 0.6 - (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 8)) + (vector<-cspace! (new 'stack-no-clear 'vector) (joint-node-index jakb-lod0-jg neckB)) 0 (-> self control transv) #f diff --git a/goal_src/jak2/engine/target/target2.gc b/goal_src/jak2/engine/target/target2.gc index 99e706fc94d..a3e593acd1d 100644 --- a/goal_src/jak2/engine/target/target2.gc +++ b/goal_src/jak2/engine/target/target2.gc @@ -1466,7 +1466,7 @@ :exit (behavior () (send-event (ppointer->process (-> self sidekick)) 'matrix 'normal) (send-event (ppointer->process (-> self sidekick)) 'shadow #t) - (let ((gp-0 (-> self node-list data 3)) + (let ((gp-0 (joint-node-index jakb-lod0-jg main)) (a1-2 (-> self control camera-pos)) ) (cond diff --git a/goal_src/jak2/levels/castle/boss/castle-baron.gc b/goal_src/jak2/levels/castle/boss/castle-baron.gc index 6cdf73479fd..436bcbee3c3 100644 --- a/goal_src/jak2/levels/castle/boss/castle-baron.gc +++ b/goal_src/jak2/levels/castle/boss/castle-baron.gc @@ -878,7 +878,7 @@ For example for an elevator pre-compute the distance between the first and last ) ) :code (behavior () - (ja-no-eval :group! (-> self draw art-group data 12) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! krew-clone-birth-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -923,7 +923,9 @@ For example for an elevator pre-compute the distance between the first and last (cond ((<= (-> this hit-points) 0) (let ((a0-2 (-> this skel root-channel 0))) - (set! (-> a0-2 frame-group) (the-as art-joint-anim (-> this draw art-group data (-> this enemy-info die-anim)))) + (set! (-> a0-2 frame-group) + (the-as art-joint-anim (-> this draw art-group data (-> this enemy-info die-anim))) + ) (set! (-> a0-2 param 0) 0.0) (set! (-> a0-2 param 1) (* 2.0 (-> pp clock time-adjust-ratio))) (set! (-> a0-2 frame-num) @@ -1107,8 +1109,8 @@ For example for an elevator pre-compute the distance between the first and last (let ((f30-0 (get-rand-float-range self 0.9 1.1))) (until #f (ja :num! (loop! f30-0)) - (when (>= (- (current-time) (-> self wiggle-time)) (seconds 1)) - (set! (-> self wiggle-time) (current-time)) + (when (time-elapsed? (-> self wiggle-time) (seconds 1)) + (set-time! (-> self wiggle-time)) (krew-boss-clone-method-180 self) ) (suspend) @@ -1269,28 +1271,28 @@ For example for an elevator pre-compute the distance between the first and last (init-enemy-behaviour-and-stats! this *krew-boss-clone-nav-enemy-info*) (dotimes (s5-1 4) (set! (-> this lightning s5-1) (new - 'process - 'lightning-control - (new 'static 'lightning-spec - :name #f - :flags (lightning-spec-flags lsf0) - :start-color (new 'static 'rgba :r #xff :g #xff :b #xff :a #x80) - :end-color (new 'static 'rgba :r #xff :g #xff :b #xff :a #x80) - :fade-to-color (new 'static 'rgba :r #xbf :b #x8f :a #x5) - :fade-start-factor 0.2 - :texture (new 'static 'texture-id :page #xd82) - :reduction 0.42 - :num-points 16 - :box-size 8192.0 - :merge-factor 0.5 - :merge-count 2 - :radius 512.0 - :duration 30.0 - :sound #f - ) - this - 0.0 - ) + 'process + 'lightning-control + (new 'static 'lightning-spec + :name #f + :flags (lightning-spec-flags lsf0) + :start-color (new 'static 'rgba :r #xff :g #xff :b #xff :a #x80) + :end-color (new 'static 'rgba :r #xff :g #xff :b #xff :a #x80) + :fade-to-color (new 'static 'rgba :r #xbf :b #x8f :a #x5) + :fade-start-factor 0.2 + :texture (new 'static 'texture-id :page #xd82) + :reduction 0.42 + :num-points 16 + :box-size 8192.0 + :merge-factor 0.5 + :merge-count 2 + :radius 512.0 + :duration 30.0 + :sound #f + ) + this + 0.0 + ) ) (let ((v1-17 (-> this lightning s5-1)) (a0-8 0) @@ -2254,6 +2256,7 @@ For example for an elevator pre-compute the distance between the first and last ) :trans (behavior () (local-vars + ;; og:preserve-this array -> pointer (sv-752 (pointer collide-shape)) (sv-756 sphere) (sv-760 (pointer uint32)) @@ -2303,7 +2306,7 @@ For example for an elevator pre-compute the distance between the first and last 0 (set! (-> self root trans y) 1449984.0) (set! (-> self num-clones-to-spawn) 20) - (set! (-> self state-time) (current-time)) + (set-time! (-> self state-time)) ) (when (< (vector-vector-xz-distance (-> self root trans) (-> *krew-boss-idle-path* (-> self next-path-point))) 20480.0 @@ -2347,10 +2350,7 @@ For example for an elevator pre-compute the distance between the first and last (go-virtual hostile) ) ) - (when (and (> gp-2 0) - (> (-> self num-clones-to-spawn) 0) - (>= (- (current-time) (-> self state-time)) (seconds 0.6)) - ) + (when (and (> gp-2 0) (> (-> self num-clones-to-spawn) 0) (time-elapsed? (-> self state-time) (seconds 0.6))) (let ((s3-0 (-> self root)) (a1-26 (new 'stack-no-clear 'collide-query)) (s2-0 #t) @@ -2368,7 +2368,7 @@ For example for an elevator pre-compute the distance between the first and last ((not s2-0) (set! (-> s5-1 quad) (-> s3-0 trans quad)) (set! s4-1 #t) - (set! (-> self state-time) (current-time)) + (set-time! (-> self state-time)) ) (else (let ((s2-1 0) @@ -2442,6 +2442,7 @@ For example for an elevator pre-compute the distance between the first and last ) ) ) + ;; og:preserve-this array -> pointer (set! sv-752 (the-as (pointer collide-shape) (new 'stack-no-clear 'array 'collide-shape 10))) (let ((v1-121 (new 'stack-no-clear 'sphere))) (set! (-> v1-121 quad) (-> s5-1 quad)) @@ -2516,6 +2517,7 @@ For example for an elevator pre-compute the distance between the first and last ) (set! sv-768 0) (set! (-> sv-756 r) 10240.0) + ;; og:preserve-this (set! sv-768 (fill-actor-list-for-sphere *actor-hash* sv-756 sv-752 10)) (if s4-1 (set! sv-768 (+ sv-768 -1)) @@ -2569,8 +2571,8 @@ For example for an elevator pre-compute the distance between the first and last (cond ((or (logtest? (penetrate jak-blue-shot) v1-0) (logtest? (penetrate jak-dark-shot) v1-0)) (cond - ((>= (- (current-time) (-> this last-damage-time)) (seconds 5)) - (set! (-> this last-damage-time) (current-time)) + ((time-elapsed? (-> this last-damage-time) (seconds 5)) + (set-time! (-> this last-damage-time)) 5 ) (else @@ -2722,7 +2724,7 @@ For example for an elevator pre-compute the distance between the first and last (set! (-> self spawn-charge) #t) (set! (-> self enemy-flags) (the-as enemy-flag (logxor (shl 256 32) (the-as int (-> self enemy-flags))))) (set! (-> self enemy-flags) (the-as enemy-flag (logclear (-> self enemy-flags) (enemy-flag enemy-flag41)))) - (set! (-> self starting-time) (current-time)) + (set-time! (-> self starting-time)) (when (not (handle->process (-> self hud-handle))) (set! (-> self hud-handle) (ppointer->handle (process-spawn hud-krew-boss :init hud-init-by-other :to self))) (krew-comes-in-speech self) @@ -2744,7 +2746,7 @@ For example for an elevator pre-compute the distance between the first and last ) ) (if (or (!= (-> self focus aware) 3) (not (get-enemy-target self))) - (set! (-> self starting-time) (current-time)) + (set-time! (-> self starting-time)) ) (when (= (-> self next-shooting-frame) 200) (cond @@ -2783,7 +2785,7 @@ For example for an elevator pre-compute the distance between the first and last ) ) (else - (set! (-> self state-time) (current-time)) + (set-time! (-> self state-time)) ) ) ) @@ -2848,7 +2850,7 @@ For example for an elevator pre-compute the distance between the first and last ) ) (let ((gp-2 (the int (* 300.0 (- 3.0 (* 0.5 (+ -1.0 (the float (-> self gameplay-pass))))))))) - (when (and (-> self spawn-charge) (>= (- (current-time) (-> self state-time)) (+ gp-2 -300))) + (when (and (-> self spawn-charge) (time-elapsed? (-> self state-time) (+ gp-2 -300))) (process-spawn part-tracker :init part-tracker-init @@ -2862,7 +2864,7 @@ For example for an elevator pre-compute the distance between the first and last ) (set! (-> self spawn-charge) #f) ) - (when (and (= (-> self next-shooting-frame) 100) (>= (- (current-time) (-> self state-time)) gp-2)) + (when (and (= (-> self next-shooting-frame) 100) (time-elapsed? (-> self state-time) gp-2)) (set! (-> self next-shooting-frame) 0) (ja :chan 1 :num-func num-func-identity :frame-num 0.0) ) @@ -2878,7 +2880,7 @@ For example for an elevator pre-compute the distance between the first and last ((= (-> self next-shooting-frame) 20) (set! (-> self next-shooting-frame) 100) (set! (-> self spawn-charge) #t) - (set! (-> self state-time) (current-time)) + (set-time! (-> self state-time)) ) (else (+! (-> self next-shooting-frame) 5) @@ -2894,8 +2896,8 @@ For example for an elevator pre-compute the distance between the first and last (let ((gp-6 (new 'stack-no-clear 'projectile-init-by-other-params))) (let ((s4-0 (new 'stack-no-clear 'vector))) (set! (-> s4-0 quad) (-> (get-trans a0-40 0) quad)) - (let ((s2-0 (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 32))) - (s5-2 (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 33))) + (let ((s2-0 (vector<-cspace! (new 'stack-no-clear 'vector) (joint-node-index krew-lowres-lod0-jg lightC))) + (s5-2 (vector<-cspace! (new 'stack-no-clear 'vector) (joint-node-index krew-lowres-lod0-jg lightEnd))) ) (let ((s3-0 (new 'stack-no-clear 'vector))) 0.0 @@ -3049,7 +3051,7 @@ For example for an elevator pre-compute the distance between the first and last (suspend) ) (ja-channel-push! 1 (seconds 0.1)) - (ja-no-eval :group! (-> self draw art-group data 15) + (ja-no-eval :group! krew-lowres-death-land-ja :num! (seek! max (-> self clock time-adjust-ratio)) :frame-num 0.0 ) diff --git a/goal_src/jak2/levels/castle/castle-obs.gc b/goal_src/jak2/levels/castle/castle-obs.gc index 79b31c7263d..6a7f09612fa 100644 --- a/goal_src/jak2/levels/castle/castle-obs.gc +++ b/goal_src/jak2/levels/castle/castle-obs.gc @@ -1058,7 +1058,7 @@ For example for an elevator pre-compute the distance between the first and last ) (('reset) (when (nonzero? (-> self anim-index)) - (ja-no-eval :group! (-> self draw art-group data 3) :num! min) + (ja-no-eval :group! cas-rot-bridge-section-one-ja :num! min) (set! (-> self anim-index) (the-as uint 0)) (set! v0-0 (logclear (-> self mask) (process-mask sleep-code))) (set! (-> self mask) (the-as process-mask v0-0)) @@ -1077,14 +1077,14 @@ For example for an elevator pre-compute the distance between the first and last (when (or (= f0-0 10.0) (= f0-0 40.0) (= f0-0 50.0)) (cond ((= f0-0 10.0) - (ja-no-eval :group! (-> self draw art-group data 3) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! cas-rot-bridge-section-one-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) ) ) (else - (ja-no-eval :group! (-> self draw art-group data 7) :num! (seek! 0.0) :frame-num max) + (ja-no-eval :group! cas-rot-bridge-section-one-reverse-ja :num! (seek! 0.0) :frame-num max) (until (ja-done? 0) (suspend) (ja :num! (seek! 0.0)) @@ -1097,14 +1097,14 @@ For example for an elevator pre-compute the distance between the first and last (when (or (= f0-0 40.0) (= f0-0 50.0) (= f0-0 80.0) (= f0-0 90.0)) (cond ((or (= f0-0 40.0) (= f0-0 50.0)) - (ja-no-eval :group! (-> self draw art-group data 4) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! cas-rot-bridge-section-two-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) ) ) (else - (ja-no-eval :group! (-> self draw art-group data 8) :num! (seek! 0.0) :frame-num max) + (ja-no-eval :group! cas-rot-bridge-section-two-reverse-ja :num! (seek! 0.0) :frame-num max) (until (ja-done? 0) (suspend) (ja :num! (seek! 0.0)) @@ -1117,14 +1117,14 @@ For example for an elevator pre-compute the distance between the first and last (when (or (= f0-0 80.0) (= f0-0 90.0) (= f0-0 120.0)) (cond ((or (= f0-0 80.0) (= f0-0 90.0)) - (ja-no-eval :group! (-> self draw art-group data 5) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! cas-rot-bridge-section-three-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) ) ) (else - (ja-no-eval :group! (-> self draw art-group data 9) :num! (seek! 0.0) :frame-num max) + (ja-no-eval :group! cas-rot-bridge-section-three-reverse-ja :num! (seek! 0.0) :frame-num max) (until (ja-done? 0) (suspend) (ja :num! (seek! 0.0)) @@ -1136,14 +1136,14 @@ For example for an elevator pre-compute the distance between the first and last ((= (-> self anim-index) 3) (cond ((= f0-0 10.0) - (ja-no-eval :group! (-> self draw art-group data 6) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! cas-rot-bridge-single-section-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) ) ) (else - (ja-no-eval :group! (-> self draw art-group data 10) :num! (seek! 0.0) :frame-num max) + (ja-no-eval :group! cas-rot-bridge-single-section-reverse-ja :num! (seek! 0.0) :frame-num max) (until (ja-done? 0) (suspend) (ja :num! (seek! 0.0)) @@ -1209,14 +1209,14 @@ For example for an elevator pre-compute the distance between the first and last (sound-play "track-plat-loop" :id (-> self sound-id) - :position (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 5)) + :position (vector<-cspace! (new 'stack-no-clear 'vector) (joint-node-index cas-rot-bridge-lod0-jg b)) ) (set! (-> self sound-flag) #t) ) ((-> self sound-flag) (sound-play "track-plat-stop" - :position (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 5)) + :position (vector<-cspace! (new 'stack-no-clear 'vector) (joint-node-index cas-rot-bridge-lod0-jg b)) ) (sound-stop (-> self sound-id)) (set! (-> self sound-flag) #f) @@ -1229,14 +1229,14 @@ For example for an elevator pre-compute the distance between the first and last (sound-play "track-plat-loop" :id (-> self sound-id) - :position (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 5)) + :position (vector<-cspace! (new 'stack-no-clear 'vector) (joint-node-index cas-rot-bridge-lod0-jg b)) ) (set! (-> self sound-flag) #t) ) ((-> self sound-flag) (sound-play "track-plat-stop" - :position (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 5)) + :position (vector<-cspace! (new 'stack-no-clear 'vector) (joint-node-index cas-rot-bridge-lod0-jg b)) ) (sound-stop (-> self sound-id)) (set! (-> self sound-flag) #f) @@ -1779,7 +1779,7 @@ This commonly includes things such as: (defstate drop (cas-chain-plat) :virtual #t :code (behavior () - (ja-no-eval :group! (-> self draw art-group data 3) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! cas-chain-plat-drop-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -1896,7 +1896,7 @@ This commonly includes things such as: (sound-play "cas-arm-blade" :id (-> self sound-id) - :position (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 4)) + :position (vector<-cspace! (new 'stack-no-clear 'vector) (joint-node-index cas-rot-blade-lod0-jg blade)) ) ) :code (behavior () @@ -2182,7 +2182,7 @@ This commonly includes things such as: ) :code (behavior () (sound-play "robo-hatch-open") - (ja-no-eval :group! (-> self draw art-group data 2) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! cas-robot-door-idle-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (transform-post) (suspend) @@ -2319,7 +2319,7 @@ This commonly includes things such as: ) ) (sound-play "robo-hatch-cls") - (ja-no-eval :group! (-> self draw art-group data 2) :num! (seek! 0.0) :frame-num max) + (ja-no-eval :group! cas-robot-door-idle-ja :num! (seek! 0.0) :frame-num max) (until (ja-done? 0) (transform-post) (suspend) @@ -2346,7 +2346,7 @@ This commonly includes things such as: :code (behavior () (local-vars (v1-28 symbol)) (sound-play "robo-hatch-cls") - (ja-no-eval :group! (-> self draw art-group data 2) :num! (seek! 0.0) :frame-num max) + (ja-no-eval :group! cas-robot-door-idle-ja :num! (seek! 0.0) :frame-num max) (until (ja-done? 0) (transform-post) (suspend) diff --git a/goal_src/jak2/levels/castle/roboguard-level.gc b/goal_src/jak2/levels/castle/roboguard-level.gc index 41cf8afbdf4..d0b2e81eafd 100644 --- a/goal_src/jak2/levels/castle/roboguard-level.gc +++ b/goal_src/jak2/levels/castle/roboguard-level.gc @@ -377,9 +377,9 @@ ) :code (behavior () (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 frame-group) (the-as art-joint-anim (-> self draw art-group data 9))) + (set! (-> a0-0 frame-group) (the-as art-joint-anim roboguard-idle-to-ball-ja)) (set! (-> a0-0 frame-num) 3.0) - (joint-control-channel-group! a0-0 (the-as art-joint-anim (-> self draw art-group data 9)) num-func-identity) + (joint-control-channel-group! a0-0 (the-as art-joint-anim roboguard-idle-to-ball-ja) num-func-identity) ) (until (logtest? (-> self root status) (collide-status on-surface)) (nav-enemy-falling-post) @@ -412,65 +412,47 @@ :code (behavior () (ja-channel-push! 1 (seconds 0.1)) (until #f - (ja-no-eval :group! (-> self draw art-group data 4) - :num! (seek! 2.0 (rand-vu-float-range 0.1 0.15)) - :frame-num 0.0 - ) + (ja-no-eval :group! roboguard-idle0-ja :num! (seek! 2.0 (rand-vu-float-range 0.1 0.15)) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek! 2.0 (rand-vu-float-range 0.1 0.15))) ) - (ja-no-eval :group! (-> self draw art-group data 4) - :num! (seek! 3.0 (rand-vu-float-range 0.1 0.15)) - :frame-num 2.0 - ) + (ja-no-eval :group! roboguard-idle0-ja :num! (seek! 3.0 (rand-vu-float-range 0.1 0.15)) :frame-num 2.0) (until (ja-done? 0) (suspend) (ja :num! (seek! 3.0 (rand-vu-float-range 0.1 0.15))) ) - (ja-no-eval :group! (-> self draw art-group data 4) - :num! (seek! 4.0 (rand-vu-float-range 0.1 0.15)) - :frame-num 3.0 - ) + (ja-no-eval :group! roboguard-idle0-ja :num! (seek! 4.0 (rand-vu-float-range 0.1 0.15)) :frame-num 3.0) (until (ja-done? 0) (suspend) (ja :num! (seek! 4.0 (rand-vu-float-range 0.1 0.15))) ) - (ja-no-eval :group! (-> self draw art-group data 4) - :num! (seek! 5.0 (rand-vu-float-range 0.1 0.15)) - :frame-num 4.0 - ) + (ja-no-eval :group! roboguard-idle0-ja :num! (seek! 5.0 (rand-vu-float-range 0.1 0.15)) :frame-num 4.0) (until (ja-done? 0) (suspend) (ja :num! (seek! 5.0 (rand-vu-float-range 0.1 0.15))) ) - (ja-no-eval :group! (-> self draw art-group data 4) - :num! (seek! 6.0 (rand-vu-float-range 0.1 0.15)) - :frame-num 5.0 - ) + (ja-no-eval :group! roboguard-idle0-ja :num! (seek! 6.0 (rand-vu-float-range 0.1 0.15)) :frame-num 5.0) (until (ja-done? 0) (suspend) (ja :num! (seek! 6.0 (rand-vu-float-range 0.1 0.15))) ) - (ja-no-eval :group! (-> self draw art-group data 4) :num! (seek! 7.0 0.07) :frame-num 6.0) + (ja-no-eval :group! roboguard-idle0-ja :num! (seek! 7.0 0.07) :frame-num 6.0) (until (ja-done? 0) (suspend) (ja :num! (seek! 7.0 0.07)) ) - (ja-no-eval :group! (-> self draw art-group data 4) :num! (seek! 8.0 0.07) :frame-num 7.0) + (ja-no-eval :group! roboguard-idle0-ja :num! (seek! 8.0 0.07) :frame-num 7.0) (until (ja-done? 0) (suspend) (ja :num! (seek! 8.0 0.07)) ) - (ja-no-eval :group! (-> self draw art-group data 4) :num! (seek! 9.0 0.07) :frame-num 8.0) + (ja-no-eval :group! roboguard-idle0-ja :num! (seek! 9.0 0.07) :frame-num 8.0) (until (ja-done? 0) (suspend) (ja :num! (seek! 9.0 0.07)) ) - (ja-no-eval :group! (-> self draw art-group data 4) - :num! (seek! 10.0 (rand-vu-float-range 0.02 0.05)) - :frame-num 9.0 - ) + (ja-no-eval :group! roboguard-idle0-ja :num! (seek! 10.0 (rand-vu-float-range 0.02 0.05)) :frame-num 9.0) (until (ja-done? 0) (suspend) (ja :num! (seek! 10.0 (rand-vu-float-range 0.02 0.05))) @@ -501,7 +483,7 @@ (ja-channel-push! 1 (seconds 0.2)) (let ((f30-0 (get-rand-float-range self 0.9 1.1))) (until #f - (ja-no-eval :group! (-> self draw art-group data 4) :num! (seek! 10.0 (* 0.1 f30-0)) :frame-num 9.0) + (ja-no-eval :group! roboguard-idle0-ja :num! (seek! 10.0 (* 0.1 f30-0)) :frame-num 9.0) (until (ja-done? 0) (suspend) (ja :num! (seek! 10.0 (* 0.1 f30-0))) @@ -520,7 +502,7 @@ (logand! (-> self flags) -9) ) :code (behavior () - (ja-no-eval :group! (-> self draw art-group data 9) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! roboguard-idle-to-ball-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -676,7 +658,7 @@ ) ) :code (behavior () - (ja :group! (-> self draw art-group data 10)) + (ja :group! roboguard-ball-ja) (until #f (let ((a0-3 (-> self skel root-channel 0))) (let ((f0-0 0.000024414063) @@ -702,7 +684,7 @@ '() ) :code (behavior () - (ja-no-eval :group! (-> self draw art-group data 27) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! roboguard-ball-to-dizzy-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (when (< 17.0 (ja-aframe-num 0)) (logand! (-> self flags) -5) @@ -734,7 +716,7 @@ ) :code (behavior () (ja-channel-push! 1 (seconds 0.1)) - (ja-no-eval :group! (-> self draw art-group data 28) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! roboguard-dizzy-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -762,7 +744,7 @@ ) :code (behavior () (ja-channel-push! 1 (seconds 0.075)) - (ja-no-eval :group! (-> self draw art-group data 12) + (ja-no-eval :group! roboguard-death-standing-ja :num! (seek! (ja-aframe 20.0 0)) :frame-num (ja-aframe 13.0 0) ) @@ -770,7 +752,7 @@ (suspend) (ja :num! (seek! (ja-aframe 20.0 0))) ) - (ja-no-eval :group! (-> self draw art-group data 12) + (ja-no-eval :group! roboguard-death-standing-ja :num! (seek! (ja-aframe 25.0 0) 0.5) :frame-num (ja-aframe 20.0 0) ) @@ -778,7 +760,7 @@ (suspend) (ja :num! (seek! (ja-aframe 25.0 0) 0.5)) ) - (ja-no-eval :group! (-> self draw art-group data 12) + (ja-no-eval :group! roboguard-death-standing-ja :num! (seek! (ja-aframe 26.0 0)) :frame-num (ja-aframe 25.0 0) ) diff --git a/goal_src/jak2/levels/city/common/pilot-states.gc b/goal_src/jak2/levels/city/common/pilot-states.gc index 20e93e4f755..b517d804fbd 100644 --- a/goal_src/jak2/levels/city/common/pilot-states.gc +++ b/goal_src/jak2/levels/city/common/pilot-states.gc @@ -28,9 +28,9 @@ ;; WARN: new jak 2 until loop case, check carefully (defbehavior target-pilot-bike-anim-loop target () (ja-channel-push! 3 (seconds 0.1)) - (ja :group! (-> self draw art-group data 210)) - (ja :chan 1 :group! (-> self draw art-group data 209)) - (ja :chan 2 :group! (-> self draw art-group data 214)) + (ja :group! jakb-pilot-bike-turn-back-ja) + (ja :chan 1 :group! jakb-pilot-bike-turn-front-ja) + (ja :chan 2 :group! jakb-pilot-bike-up-down-ja) (until #f (let ((gp-0 (-> self pilot))) (let ((f30-0 (* 5.0 (- 1.0 (-> gp-0 left-right-interp))))) @@ -66,9 +66,9 @@ ;; WARN: new jak 2 until loop case, check carefully (defbehavior target-pilot-car-anim-loop target () (ja-channel-push! 3 (seconds 0.1)) - (ja :group! (-> self draw art-group data 203)) - (ja :chan 1 :group! (-> self draw art-group data 202)) - (ja :chan 2 :group! (-> self draw art-group data 213)) + (ja :group! jakb-pilot-car-turn-back-ja) + (ja :chan 1 :group! jakb-pilot-car-turn-front-ja) + (ja :chan 2 :group! jakb-pilot-car-up-down-ja) (until #f (let ((gp-0 (-> self pilot))) (let ((f30-0 (* 5.0 (+ 1.0 (-> gp-0 left-right-interp))))) @@ -363,35 +363,35 @@ (let ((v1-131 s5-0)) (cond ((= v1-131 4) - (ja-no-eval :group! (-> self draw art-group data 232) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! jakb-pilot-bike-smack-left-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) ) ) ((= v1-131 5) - (ja-no-eval :group! (-> self draw art-group data 233) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! jakb-pilot-bike-smack-right-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) ) ) ((zero? v1-131) - (ja-no-eval :group! (-> self draw art-group data 211) :num! (seek!) :frame-num (ja-aframe 0.0 0)) + (ja-no-eval :group! jakb-pilot-bike-smack-front-ja :num! (seek!) :frame-num (ja-aframe 0.0 0)) (until (ja-done? 0) (suspend) (ja :num! (seek!)) ) ) ((= v1-131 1) - (ja-no-eval :group! (-> self draw art-group data 212) :num! (seek!) :frame-num (ja-aframe 0.0 0)) + (ja-no-eval :group! jakb-pilot-bike-smack-back-ja :num! (seek!) :frame-num (ja-aframe 0.0 0)) (until (ja-done? 0) (suspend) (ja :num! (seek!)) ) ) (else - (ja-no-eval :group! (-> self draw art-group data 215) :num! (seek!) :frame-num (ja-aframe 0.0 0)) + (ja-no-eval :group! jakb-pilot-bike-smack-shock-ja :num! (seek!) :frame-num (ja-aframe 0.0 0)) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -401,35 +401,35 @@ ) ) ((begin (ja-channel-push! 1 (seconds 0.05)) (set! v1-252 s5-0) (= v1-252 4)) - (ja-no-eval :group! (-> self draw art-group data 234) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! jakb-pilot-car-smack-left-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) ) ) ((= v1-252 5) - (ja-no-eval :group! (-> self draw art-group data 235) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! jakb-pilot-car-smack-right-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) ) ) ((zero? v1-252) - (ja-no-eval :group! (-> self draw art-group data 204) :num! (seek! max 1.3) :frame-num (ja-aframe 4.0 0)) + (ja-no-eval :group! jakb-pilot-car-smack-front-ja :num! (seek! max 1.3) :frame-num (ja-aframe 4.0 0)) (until (ja-done? 0) (suspend) (ja :num! (seek! max 1.3)) ) ) ((= v1-252 1) - (ja-no-eval :group! (-> self draw art-group data 205) :num! (seek!) :frame-num (ja-aframe 2.0 0)) + (ja-no-eval :group! jakb-pilot-car-smack-back-ja :num! (seek!) :frame-num (ja-aframe 2.0 0)) (until (ja-done? 0) (suspend) (ja :num! (seek!)) ) ) (else - (ja-no-eval :group! (-> self draw art-group data 208) :num! (seek!) :frame-num (ja-aframe 0.0 0)) + (ja-no-eval :group! jakb-pilot-car-smack-shock-ja :num! (seek!) :frame-num (ja-aframe 0.0 0)) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -502,8 +502,8 @@ (logior! (-> self state-flags) (state-flags sf6)) (set! (-> self alt-cam-pos quad) (-> self control camera-pos quad)) (let ((gp-0 (if (zero? (-> self pilot stance)) - (-> self draw art-group data 201) - (-> self draw art-group data 200) + jakb-pilot-bike-get-on-ja + jakb-pilot-car-get-on-ja ) ) ) @@ -604,11 +604,11 @@ (let ((gp-0 (cond ((zero? (-> self pilot stance)) (set! f30-0 7.2) - (-> self draw art-group data 216) + jakb-pilot-bike-get-off-ja ) (else (set! f30-0 15.2) - (-> self draw art-group data 199) + jakb-pilot-car-get-off-ja ) ) ) diff --git a/goal_src/jak2/levels/city/ctywide-obs.gc b/goal_src/jak2/levels/city/ctywide-obs.gc index 4a08280009f..a904c8016c3 100644 --- a/goal_src/jak2/levels/city/ctywide-obs.gc +++ b/goal_src/jak2/levels/city/ctywide-obs.gc @@ -1401,7 +1401,7 @@ This commonly includes things such as: :enter (behavior () (try-update-focus (-> self focus) *target*) (ja-channel-push! 1 0) - (ja-no-eval :group! (-> self draw art-group data 2) :num! zero) + (ja-no-eval :group! cty-guard-turret-idle-ja :num! zero) (transform-post) (logior! (-> self focus-status) (focus-status ignore)) ) @@ -1567,7 +1567,7 @@ This commonly includes things such as: (go-virtual pushed) ) (else - (ja-no-eval :group! (-> self draw art-group data 3) :num! (seek! 32.0 0.5) :frame-num 20.0) + (ja-no-eval :group! cty-guard-turret-pop-up-down-ja :num! (seek! 32.0 0.5) :frame-num 20.0) (until (ja-done? 0) (let ((a1-4 (new 'stack-no-clear 'vector))) (set! (-> a1-4 quad) (-> self root trans quad)) @@ -1630,7 +1630,7 @@ This commonly includes things such as: (set! (-> self root root-prim specific 0) (+ (-> self root root-prim specific 1) -1)) ) :code (behavior () - (ja-no-eval :group! (-> self draw art-group data 3) :num! (seek! 20.0) :frame-num 20.0) + (ja-no-eval :group! cty-guard-turret-pop-up-down-ja :num! (seek! 20.0) :frame-num 20.0) (until (ja-done? 0) (suspend) (ja :num! (seek! 20.0)) @@ -1706,7 +1706,7 @@ This commonly includes things such as: (set! (-> self button-down?) #f) ) :code (behavior () - (ja-no-eval :group! (-> self draw art-group data 3) + (ja-no-eval :group! cty-guard-turret-pop-up-down-ja :num! (seek! (ja-aframe 20.0 0)) :frame-num (ja-aframe 20.0 0) ) @@ -1717,7 +1717,7 @@ This commonly includes things such as: (while (not (-> self button-down?)) (suspend) ) - (ja-no-eval :group! (-> self draw art-group data 3) + (ja-no-eval :group! cty-guard-turret-pop-up-down-ja :num! (seek! (ja-aframe 32.0 0)) :frame-num (ja-aframe 20.0 0) ) @@ -1952,7 +1952,7 @@ This commonly includes things such as: '() ) :code (behavior () - (ja-no-eval :group! (-> self draw art-group data 3) :num! (seek! 20.0 0.5) :frame-num 0.0) + (ja-no-eval :group! cty-guard-turret-pop-up-down-ja :num! (seek! 20.0 0.5) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek! 20.0 0.5)) @@ -2007,7 +2007,7 @@ This commonly includes things such as: ) #f (label cfg-36) - (ja-no-eval :group! (-> self draw art-group data 3) :num! (seek! 32.0 0.5) :frame-num 20.0) + (ja-no-eval :group! cty-guard-turret-pop-up-down-ja :num! (seek! 32.0 0.5) :frame-num 20.0) (until (ja-done? 0) (suspend) (ja :num! (seek! 32.0 0.5)) diff --git a/goal_src/jak2/levels/city/farm/ctyfarm-obs.gc b/goal_src/jak2/levels/city/farm/ctyfarm-obs.gc index 51669bf80c9..a515e9c8b7c 100644 --- a/goal_src/jak2/levels/city/farm/ctyfarm-obs.gc +++ b/goal_src/jak2/levels/city/farm/ctyfarm-obs.gc @@ -1067,7 +1067,7 @@ (set! (-> v1-10 0 amplitude) 1820.4445) (set! (-> v1-10 0 y-amplitude) 0.0) ) - (let ((a0-17 (-> self node-list data 6))) + (let ((a0-17 (joint-node-index farm-marrow-lod0-jg marrow_a))) (set! (-> a0-17 param0) farm-marrow-callback) (set! (-> a0-17 param1) self) (set! (-> a0-17 param2) (the-as basic 0)) @@ -1080,7 +1080,7 @@ (set! (-> v1-13 amplitude) 1820.4445) (set! (-> v1-13 y-amplitude) 0.0) ) - (let ((v1-15 (-> self node-list data 7))) + (let ((v1-15 (joint-node-index farm-marrow-lod0-jg marrow_b))) (set! (-> v1-15 param0) farm-marrow-callback) (set! (-> v1-15 param1) self) (set! (-> v1-15 param2) (the-as basic 1)) @@ -1093,7 +1093,7 @@ (set! (-> v1-16 amplitude) 1820.4445) (set! (-> v1-16 y-amplitude) 0.0) ) - (let ((v1-18 (-> self node-list data 8))) + (let ((v1-18 (joint-node-index farm-marrow-lod0-jg marrow_c))) (set! (-> v1-18 param0) farm-marrow-callback) (set! (-> v1-18 param1) self) (set! (-> v1-18 param2) (the-as basic 2)) @@ -1108,7 +1108,7 @@ (set! (-> v1-19 y-freq) 150.0) (set! (-> v1-19 y-amplitude) -1820.4445) ) - (let ((v1-21 (-> self node-list data 4))) + (let ((v1-21 (joint-node-index farm-marrow-lod0-jg leaves_a))) (set! (-> v1-21 param0) farm-marrow-callback) (set! (-> v1-21 param1) self) (set! (-> v1-21 param2) (the-as basic 3)) @@ -1122,7 +1122,7 @@ (set! (-> v1-22 y-amplitude) 0.0) ) ) - (let ((v0-0 (the-as object (-> self node-list data 5)))) + (let ((v0-0 (the-as object (joint-node-index farm-marrow-lod0-jg leaves_b)))) (set! (-> (the-as cspace v0-0) param0) farm-marrow-callback) (set! (-> (the-as cspace v0-0) param1) self) (set! (-> (the-as cspace v0-0) param2) (the-as basic 4)) @@ -1357,7 +1357,7 @@ This commonly includes things such as: (set! (-> v1-10 0 amplitude) 1820.4445) (set! (-> v1-10 0 y-amplitude) 0.0) ) - (let ((a0-17 (-> self node-list data 4))) + (let ((a0-17 (joint-node-index farm-beetree-lod0-jg bulb))) (set! (-> a0-17 param0) farm-beetree-callback) (set! (-> a0-17 param1) self) (set! (-> a0-17 param2) (the-as basic 0)) @@ -1373,7 +1373,7 @@ This commonly includes things such as: (set! (-> v1-13 y-amplitude) 3640.889) ) ) - (let ((v0-0 (the-as object (-> self node-list data 5)))) + (let ((v0-0 (the-as object (joint-node-index farm-beetree-lod0-jg leaves)))) (set! (-> (the-as cspace v0-0) param0) farm-beetree-callback) (set! (-> (the-as cspace v0-0) param1) self) (set! (-> (the-as cspace v0-0) param2) (the-as basic 1)) @@ -1602,7 +1602,7 @@ This commonly includes things such as: (set! (-> v1-10 0 amplitude) 1820.4445) (set! (-> v1-10 0 y-amplitude) 0.0) ) - (let ((a0-17 (-> self node-list data 4))) + (let ((a0-17 (joint-node-index farm-cabbage-lod0-jg cabbage))) (set! (-> a0-17 param0) farm-cabbage-callback) (set! (-> a0-17 param1) self) (set! (-> a0-17 param2) (the-as basic 0)) @@ -1618,7 +1618,7 @@ This commonly includes things such as: (set! (-> v1-13 y-amplitude) 910.2222) ) ) - (let ((v0-0 (the-as object (-> self node-list data 5)))) + (let ((v0-0 (the-as object (joint-node-index farm-cabbage-lod0-jg leaves)))) (set! (-> (the-as cspace v0-0) param0) farm-cabbage-callback) (set! (-> (the-as cspace v0-0) param1) self) (set! (-> (the-as cspace v0-0) param2) (the-as basic 1)) @@ -1850,7 +1850,7 @@ This commonly includes things such as: (set! (-> v1-10 0 y-amplitude) 0.0) ) ) - (let ((v0-0 (the-as object (-> self node-list data 4)))) + (let ((v0-0 (the-as object (joint-node-index farm-small-cabbage-lod0-jg cabbage)))) (set! (-> (the-as cspace v0-0) param0) farm-small-cabbage-callback) (set! (-> (the-as cspace v0-0) param1) self) (set! (-> (the-as cspace v0-0) param2) (the-as basic 0)) @@ -2081,7 +2081,7 @@ This commonly includes things such as: (set! (-> v1-10 0 amplitude) 1820.4445) (set! (-> v1-10 0 y-amplitude) 0.0) ) - (let ((a0-17 (-> self node-list data 4))) + (let ((a0-17 (joint-node-index farm-chilirots-lod0-jg chili_a))) (set! (-> a0-17 param0) farm-chilirots-callback) (set! (-> a0-17 param1) self) (set! (-> a0-17 param2) (the-as basic 0)) @@ -2096,7 +2096,7 @@ This commonly includes things such as: (set! (-> v1-13 y-freq) 150.0) (set! (-> v1-13 y-amplitude) 1820.4445) ) - (let ((v1-15 (-> self node-list data 5))) + (let ((v1-15 (joint-node-index farm-chilirots-lod0-jg chili_b))) (set! (-> v1-15 param0) farm-chilirots-callback) (set! (-> v1-15 param1) self) (set! (-> v1-15 param2) (the-as basic 1)) @@ -2111,7 +2111,7 @@ This commonly includes things such as: (set! (-> v1-16 y-freq) 150.0) (set! (-> v1-16 y-amplitude) 1820.4445) ) - (let ((v1-18 (-> self node-list data 6))) + (let ((v1-18 (joint-node-index farm-chilirots-lod0-jg chili_c))) (set! (-> v1-18 param0) farm-chilirots-callback) (set! (-> v1-18 param1) self) (set! (-> v1-18 param2) (the-as basic 2)) @@ -2127,7 +2127,7 @@ This commonly includes things such as: (set! (-> v1-19 y-amplitude) 1820.4445) ) ) - (let ((v0-0 (the-as object (-> self node-list data 7)))) + (let ((v0-0 (the-as object (joint-node-index farm-chilirots-lod0-jg chili_d)))) (set! (-> (the-as cspace v0-0) param0) farm-chilirots-callback) (set! (-> (the-as cspace v0-0) param1) self) (set! (-> (the-as cspace v0-0) param2) (the-as basic 3)) @@ -2262,7 +2262,7 @@ This commonly includes things such as: :virtual #t :code (behavior () (until #f - (ja-no-eval :group! (-> self draw art-group data 2) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! farm-sprinkler-barrels-idle-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) diff --git a/goal_src/jak2/levels/city/kiddogescort/crocesc-states.gc b/goal_src/jak2/levels/city/kiddogescort/crocesc-states.gc index 0ccd2a06cef..829d66781fc 100644 --- a/goal_src/jak2/levels/city/kiddogescort/crocesc-states.gc +++ b/goal_src/jak2/levels/city/kiddogescort/crocesc-states.gc @@ -56,7 +56,7 @@ ((zero? v1-7) (let ((v1-10 (ja-group))) (cond - ((and v1-10 (= v1-10 (-> self draw art-group data 3))) + ((and v1-10 (= v1-10 crocadog-escort-idle-pant-ja)) (ja-no-eval :num! (seek! max 0.5)) (while (not (ja-done? 0)) (suspend) @@ -70,7 +70,7 @@ ) (let ((s5-0 (get-rand-int-range self 3 7))) (dotimes (s4-0 s5-0) - (ja-no-eval :group! (-> self draw art-group data 3) :num! (seek! max 0.5) :frame-num 0.0) + (ja-no-eval :group! crocadog-escort-idle-pant-ja :num! (seek! max 0.5) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek! max 0.5)) @@ -80,12 +80,12 @@ ) ((= v1-7 1) (ja-channel-push! 1 (seconds 0.1)) - (ja-no-eval :group! (-> self draw art-group data 6) :num! (seek! (ja-aframe 3.0 0) 0.5) :frame-num 0.0) + (ja-no-eval :group! crocadog-escort-idle-bark-ja :num! (seek! (ja-aframe 3.0 0) 0.5) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek! (ja-aframe 3.0 0) 0.5)) ) - (ja-no-eval :group! (-> self draw art-group data 6) :num! (seek! max 0.33) :frame-num (ja-aframe 3.0 0)) + (ja-no-eval :group! crocadog-escort-idle-bark-ja :num! (seek! max 0.33) :frame-num (ja-aframe 3.0 0)) (until (ja-done? 0) (suspend) (ja :num! (seek! max 0.33)) @@ -94,7 +94,7 @@ ((= v1-7 2) (let ((v1-90 (ja-group))) (cond - ((and v1-90 (= v1-90 (-> self draw art-group data 5))) + ((and v1-90 (= v1-90 crocadog-escort-idle-scratch-ja)) (ja-no-eval :num! (seek! max 0.5)) (while (not (ja-done? 0)) (suspend) @@ -108,7 +108,7 @@ ) (let ((s5-4 (get-rand-int-range self 5 7))) (dotimes (s4-1 s5-4) - (ja-no-eval :group! (-> self draw art-group data 5) :num! (seek! max 0.5) :frame-num (ja-aframe 2.0 0)) + (ja-no-eval :group! crocadog-escort-idle-scratch-ja :num! (seek! max 0.5) :frame-num (ja-aframe 2.0 0)) (until (ja-done? 0) (suspend) (ja :num! (seek! max 0.5)) @@ -119,7 +119,7 @@ (else (let ((v1-132 (ja-group))) (cond - ((and v1-132 (= v1-132 (-> self draw art-group data 4))) + ((and v1-132 (= v1-132 crocadog-escort-idle-wag-ja)) (ja-no-eval :num! (seek!)) (while (not (ja-done? 0)) (suspend) @@ -133,7 +133,7 @@ ) (let ((s5-5 (get-rand-int-range self 3 7))) (dotimes (s4-2 s5-5) - (ja-no-eval :group! (-> self draw art-group data 4) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! crocadog-escort-idle-wag-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -180,7 +180,7 @@ ) :code (behavior () (ja-channel-push! 1 (seconds 0.1)) - (ja-no-eval :group! (-> self draw art-group data 9) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! crocadog-escort-turn0-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -393,7 +393,7 @@ (local-vars (sv-128 float)) (ja-channel-push! 1 (seconds 0.1)) (let ((gp-0 (new 'stack-no-clear 'matrix))) - (ja-no-eval :group! (-> self draw art-group data 10) + (ja-no-eval :group! crocadog-escort-jump-in-vehicle-ja :num! (seek! (ja-aframe 1.0 0) 0.5) :frame-num (ja-aframe 0.0 0) ) @@ -404,7 +404,7 @@ (let ((s5-2 (new 'stack-no-clear 'vector))) (set! (-> s5-2 quad) (-> self root trans quad)) (let ((s4-0 (quaternion-copy! (new 'stack-no-clear 'quaternion) (-> self root quat)))) - (ja-no-eval :group! (-> self draw art-group data 10) + (ja-no-eval :group! crocadog-escort-jump-in-vehicle-ja :num! (seek! (ja-aframe 5.0 0) 0.5) :frame-num (ja-aframe 1.0 0) ) @@ -443,7 +443,7 @@ ) (let ((s5-3 (new 'stack-no-clear 'vector))) (set! (-> s5-3 quad) (-> self root trans quad)) - (ja-no-eval :group! (-> self draw art-group data 10) + (ja-no-eval :group! crocadog-escort-jump-in-vehicle-ja :num! (seek! (ja-aframe 7.0 0) 0.5) :frame-num (ja-aframe 5.0 0) ) @@ -470,7 +470,7 @@ ) ) (quaternion-copy! (new 'stack-no-clear 'quaternion) (-> self root quat)) - (ja-no-eval :group! (-> self draw art-group data 10) + (ja-no-eval :group! crocadog-escort-jump-in-vehicle-ja :num! (seek! (ja-aframe 12.0 0) 0.5) :frame-num (ja-aframe 7.0 0) ) @@ -566,7 +566,7 @@ ) :code (behavior () (until #f - (ja-no-eval :group! (-> self draw art-group data 11) :num! (seek! max (-> self anim-speed)) :frame-num 0.0) + (ja-no-eval :group! crocadog-escort-idle-car0-ja :num! (seek! max (-> self anim-speed)) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek! max (-> self anim-speed))) @@ -631,7 +631,7 @@ :code (behavior () (ja-channel-push! 1 (seconds 0.1)) (let ((gp-0 (new 'stack-no-clear 'inline-array 'matrix 2))) - (ja-no-eval :group! (-> self draw art-group data 10) + (ja-no-eval :group! crocadog-escort-jump-in-vehicle-ja :num! (seek! (ja-aframe 7.0 0) 0.25) :frame-num (ja-aframe 12.0 0) ) @@ -659,7 +659,7 @@ (ja :num! (seek! (ja-aframe 7.0 0) 0.25)) ) (set! (-> gp-0 0 vector 1 quad) (-> self root trans quad)) - (ja-no-eval :group! (-> self draw art-group data 10) + (ja-no-eval :group! crocadog-escort-jump-in-vehicle-ja :num! (seek! (ja-aframe 5.0 0) 0.5) :frame-num (ja-aframe 7.0 0) ) @@ -682,7 +682,7 @@ ) (logclear! (-> self focus-status) (focus-status pilot-riding)) (set! (-> gp-0 0 quad 0) (-> self root trans quad)) - (ja-no-eval :group! (-> self draw art-group data 10) + (ja-no-eval :group! crocadog-escort-jump-in-vehicle-ja :num! (seek! (ja-aframe 0.0 0)) :frame-num (ja-aframe 5.0 0) ) @@ -865,12 +865,12 @@ (cond ((zero? (get-rand-int self 3)) (ja-channel-push! 1 (seconds 0.1)) - (ja-no-eval :group! (-> self draw art-group data 6) :num! (seek! (ja-aframe 3.0 0) 0.5) :frame-num 0.0) + (ja-no-eval :group! crocadog-escort-idle-bark-ja :num! (seek! (ja-aframe 3.0 0) 0.5) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek! (ja-aframe 3.0 0) 0.5)) ) - (ja-no-eval :group! (-> self draw art-group data 6) :num! (seek! max 0.33) :frame-num (ja-aframe 3.0 0)) + (ja-no-eval :group! crocadog-escort-idle-bark-ja :num! (seek! max 0.33) :frame-num (ja-aframe 3.0 0)) (until (ja-done? 0) (suspend) (ja :num! (seek! max 0.33)) @@ -879,7 +879,7 @@ (else (ja-channel-push! 1 (seconds 0.1)) (let ((f30-0 (get-rand-float-range self 0.4 0.6))) - (ja-no-eval :group! (-> self draw art-group data 14) :num! (seek! max f30-0) :frame-num 0.0) + (ja-no-eval :group! crocadog-escort-angry-bark-ja :num! (seek! max f30-0) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek! max f30-0)) diff --git a/goal_src/jak2/levels/city/kiddogescort/kidesc-states.gc b/goal_src/jak2/levels/city/kiddogescort/kidesc-states.gc index 6f190e63dc5..89d8eff850d 100644 --- a/goal_src/jak2/levels/city/kiddogescort/kidesc-states.gc +++ b/goal_src/jak2/levels/city/kiddogescort/kidesc-states.gc @@ -58,7 +58,7 @@ :code (behavior () (let ((v1-2 (ja-group))) (cond - ((and v1-2 (= v1-2 (-> self draw art-group data 3))) + ((and v1-2 (= v1-2 kid-escort-idle0-ja)) (ja-no-eval :num! (seek! max 0.1)) (while (not (ja-done? 0)) (suspend) @@ -71,7 +71,7 @@ ) ) (until #f - (ja-no-eval :group! (-> self draw art-group data 3) :num! (seek! max 0.1) :frame-num 0.0) + (ja-no-eval :group! kid-escort-idle0-ja :num! (seek! max 0.1) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek! max 0.1)) @@ -119,7 +119,7 @@ ) :code (behavior () (ja-channel-push! 1 (seconds 0.1)) - (ja-no-eval :group! (-> self draw art-group data 5) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! kid-escort-turn0-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -339,7 +339,7 @@ (ja-channel-push! 1 (seconds 0.1)) (let ((gp-0 (new 'stack-no-clear 'matrix))) (quaternion-copy! (the-as quaternion (-> gp-0 vector)) (-> self root quat)) - (ja-no-eval :group! (-> self draw art-group data 10) + (ja-no-eval :group! kid-escort-jump-in-vehicle-ja :num! (seek! (ja-aframe 1.0 0) 0.25) :frame-num (ja-aframe 0.0 0) ) @@ -363,7 +363,7 @@ (let ((s5-3 (new 'stack-no-clear 'vector))) (set! (-> s5-3 quad) (-> self root trans quad)) (quaternion-copy! (the-as quaternion (-> gp-0 vector)) (-> self root quat)) - (ja-no-eval :group! (-> self draw art-group data 10) + (ja-no-eval :group! kid-escort-jump-in-vehicle-ja :num! (seek! (ja-aframe 8.0 0)) :frame-num (ja-aframe 1.0 0) ) @@ -409,7 +409,7 @@ ) 0 (quaternion-copy! (new 'stack-no-clear 'quaternion) (-> self root quat)) - (ja-no-eval :group! (-> self draw art-group data 10) + (ja-no-eval :group! kid-escort-jump-in-vehicle-ja :num! (seek! (ja-aframe 12.0 0) 0.25) :frame-num (ja-aframe 8.0 0) ) @@ -483,8 +483,8 @@ ) :code (behavior () (ja-channel-push! 2 (seconds 0.2)) - (ja :group! (-> self draw art-group data 11)) - (ja :chan 1 :group! (-> self draw art-group data 12)) + (ja :group! kid-escort-vehicle-lean-x-ja) + (ja :chan 1 :group! kid-escort-vehicle-lean-z-ja) (let ((f30-0 0.5) (f28-0 0.5) (f26-0 0.5) @@ -571,7 +571,7 @@ :code (behavior () (local-vars (sv-80 float) (sv-96 float)) (ja-channel-push! 1 (seconds 0.1)) - (ja-no-eval :group! (-> self draw art-group data 10) + (ja-no-eval :group! kid-escort-jump-in-vehicle-ja :num! (seek! (ja-aframe 8.0 0) 0.25) :frame-num (ja-aframe 12.0 0) ) @@ -599,7 +599,7 @@ (s5-1 (new 'stack-no-clear 'quaternion)) ) (set! (-> gp-4 quad) (-> self root trans quad)) - (ja-no-eval :group! (-> self draw art-group data 10) + (ja-no-eval :group! kid-escort-jump-in-vehicle-ja :num! (seek! (ja-aframe 0.0 0)) :frame-num (ja-aframe 8.0 0) ) @@ -869,7 +869,7 @@ ) (else (ja-channel-push! 1 (seconds 0.1)) - (ja-no-eval :group! (-> self draw art-group data 8) :num! (seek! max 0.143) :frame-num 0.0) + (ja-no-eval :group! kid-escort-arrest-start-ja :num! (seek! max 0.143) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek! max 0.143)) @@ -877,11 +877,11 @@ ) ) (let ((v1-34 (ja-group))) - (if (not (and v1-34 (= v1-34 (-> self draw art-group data 8)))) + (if (not (and v1-34 (= v1-34 kid-escort-arrest-start-ja))) (ja-channel-push! 1 (seconds 0.1)) ) ) - (ja-no-eval :group! (-> self draw art-group data 9) :num! (seek! max 0.1) :frame-num 0.0) + (ja-no-eval :group! kid-escort-arrest-idle0-ja :num! (seek! max 0.1) :frame-num 0.0) (when (not (logtest? (bot-flags bf19) (-> self bot-flags))) (until #f (until (ja-done? 0) @@ -891,7 +891,7 @@ (suspend) (ja :num! (seek! max 0.1)) ) - (ja-no-eval :group! (-> self draw art-group data 9) :num! (seek! max 0.1) :frame-num 0.0) + (ja-no-eval :group! kid-escort-arrest-idle0-ja :num! (seek! max 0.1) :frame-num 0.0) ) #f (label cfg-27) @@ -919,7 +919,7 @@ (suspend) (ja :num! (seek! max 0.1)) ) - (ja-no-eval :group! (-> self draw art-group data 9) :num! (seek! max 0.1) :frame-num 0.0) + (ja-no-eval :group! kid-escort-arrest-idle0-ja :num! (seek! max 0.1) :frame-num 0.0) ) #f ) @@ -940,12 +940,12 @@ ) :code (behavior () (ja-channel-push! 1 (seconds 0.1)) - (ja-no-eval :group! (-> self draw art-group data 8) :num! (seek! max 0.143) :frame-num 0.0) + (ja-no-eval :group! kid-escort-arrest-start-ja :num! (seek! max 0.143) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek! max 0.143)) ) - (ja-no-eval :group! (-> self draw art-group data 9) :num! (seek! max 0.1) :frame-num 0.0) + (ja-no-eval :group! kid-escort-arrest-idle0-ja :num! (seek! max 0.1) :frame-num 0.0) (until #f (until (ja-done? 0) (if (and (logtest? (-> self bot-flags) (bot-flags failed)) @@ -957,7 +957,7 @@ (suspend) (ja :num! (seek! max 0.1)) ) - (ja-no-eval :group! (-> self draw art-group data 9) :num! (seek! max 0.1) :frame-num 0.0) + (ja-no-eval :group! kid-escort-arrest-idle0-ja :num! (seek! max 0.1) :frame-num 0.0) ) #f ) @@ -1010,20 +1010,20 @@ :code (behavior () (ja-channel-push! 1 (seconds 0.2)) (dotimes (gp-0 3) - (ja-no-eval :group! (-> self draw art-group data 3) :num! (seek! max 0.1) :frame-num 0.0) + (ja-no-eval :group! kid-escort-idle0-ja :num! (seek! max 0.1) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek! max 0.1)) ) ) (ja-channel-push! 1 (seconds 0.1)) - (ja-no-eval :group! (-> self draw art-group data 8) :num! (seek! max 0.143) :frame-num 0.0) + (ja-no-eval :group! kid-escort-arrest-start-ja :num! (seek! max 0.143) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek! max 0.143)) ) (until #f - (ja-no-eval :group! (-> self draw art-group data 9) :num! (seek! max 0.1) :frame-num 0.0) + (ja-no-eval :group! kid-escort-arrest-idle0-ja :num! (seek! max 0.1) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek! max 0.1)) diff --git a/goal_src/jak2/levels/city/meet-brutter/meet-brutter.gc b/goal_src/jak2/levels/city/meet-brutter/meet-brutter.gc index fa1c9bdf12f..4f7c4a66826 100644 --- a/goal_src/jak2/levels/city/meet-brutter/meet-brutter.gc +++ b/goal_src/jak2/levels/city/meet-brutter/meet-brutter.gc @@ -1043,17 +1043,17 @@ (ja-channel-push! 3 (seconds 0.2)) (case (-> (the-as vehicle (handle->process (-> self vehicle))) info object-type) ((11 12 13) - (ja :group! (-> self draw art-group data 12)) - (ja :chan 1 :group! (-> self draw art-group data 13)) - (ja :chan 2 :group! (-> self draw art-group data 14)) + (ja :group! babak-idle-bike-back-sides-ja) + (ja :chan 1 :group! babak-idle-bike-sides-ja) + (ja :chan 2 :group! babak-idle-bike-forward-sides-ja) ) ((14 15 16) - (ja :group! (-> self draw art-group data 9)) - (ja :chan 1 :group! (-> self draw art-group data 10)) - (ja :chan 2 :group! (-> self draw art-group data 11)) + (ja :group! babak-idle-car-back-sides-ja) + (ja :chan 1 :group! babak-idle-car-sides-ja) + (ja :chan 2 :group! babak-idle-car-forward-sides-ja) ) ) - (let ((v1-26 (ja-channel-float! (the-as art-joint-anim (-> self draw art-group data 15)) 0.0 0.0 0.0))) + (let ((v1-26 (ja-channel-float! (the-as art-joint-anim babak-idle-hair-ja) 0.0 0.0 0.0))) (when v1-26 (set! (-> self skel interp-select 0) (the-as int (the-as uint #x8100002000))) (set! (-> self skel interp-select 1) 0) @@ -1828,7 +1828,7 @@ (ja-channel-push! 1 (seconds 0.2)) (until #f (countdown (gp-0 (+ (rand-vu-int-count 4) 1)) - (ja-no-eval :group! (-> self draw art-group data 18) + (ja-no-eval :group! babak-idle-patty-wagon-ja :num! (seek! (ja-aframe 4.0 0) 0.25) :frame-num (ja-aframe 0.0 0) ) @@ -1837,7 +1837,7 @@ (ja :num! (seek! (ja-aframe 4.0 0) 0.25)) ) ) - (ja-no-eval :group! (-> self draw art-group data 18) + (ja-no-eval :group! babak-idle-patty-wagon-ja :num! (seek! (ja-aframe 8.0 0) 0.5) :frame-num (ja-aframe 4.0 0) ) @@ -1848,7 +1848,7 @@ (cond ((zero? (rand-vu-int-count 2)) (countdown (gp-3 (+ (rand-vu-int-count 4) 1)) - (ja-no-eval :group! (-> self draw art-group data 18) + (ja-no-eval :group! babak-idle-patty-wagon-ja :num! (seek! (ja-aframe 12.0 0) 0.25) :frame-num (ja-aframe 8.0 0) ) @@ -1860,7 +1860,7 @@ ) (else (countdown (gp-4 (+ (rand-vu-int-count 4) 1)) - (ja-no-eval :group! (-> self draw art-group data 18) + (ja-no-eval :group! babak-idle-patty-wagon-ja :num! (seek! (ja-aframe 16.0 0) 0.4) :frame-num (ja-aframe 12.0 0) ) @@ -1871,7 +1871,7 @@ ) ) ) - (ja-no-eval :group! (-> self draw art-group data 18) + (ja-no-eval :group! babak-idle-patty-wagon-ja :num! (seek! (ja-aframe 4.0 0) 0.5) :frame-num (ja-aframe 8.0 0) ) diff --git a/goal_src/jak2/levels/city/port/ctyport-part.gc b/goal_src/jak2/levels/city/port/ctyport-part.gc index 1d44f768f56..5a9d17fb1e9 100644 --- a/goal_src/jak2/levels/city/port/ctyport-part.gc +++ b/goal_src/jak2/levels/city/port/ctyport-part.gc @@ -3555,7 +3555,7 @@ This commonly includes things such as: :post (behavior () (ja-post) (if (nonzero? (-> self part)) - (spawn-with-cspace (-> self part) (-> self node-list data 5)) + (spawn-with-cspace (-> self part) (joint-node-index farthy-lod0-jg halo)) ) ) ) diff --git a/goal_src/jak2/levels/city/port/race/errol-chal.gc b/goal_src/jak2/levels/city/port/race/errol-chal.gc index fe9b8190e68..da95e455313 100644 --- a/goal_src/jak2/levels/city/port/race/errol-chal.gc +++ b/goal_src/jak2/levels/city/port/race/errol-chal.gc @@ -450,14 +450,14 @@ (ja-channel-push! 1 (seconds 0.05)) (cond ((zero? (rand-vu-int-count 2)) - (ja-no-eval :group! (-> self draw art-group data 5) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! errol-racer-bike-taunt-left-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) ) ) (else - (ja-no-eval :group! (-> self draw art-group data 6) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! errol-racer-bike-taunt-right-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) diff --git a/goal_src/jak2/levels/city/shuttle/shuttle.gc b/goal_src/jak2/levels/city/shuttle/shuttle.gc index 62374834feb..a0c082bd037 100644 --- a/goal_src/jak2/levels/city/shuttle/shuttle.gc +++ b/goal_src/jak2/levels/city/shuttle/shuttle.gc @@ -576,8 +576,8 @@ ) (ja-channel-push! 1 (seconds 0.2)) (if (zero? s5-0) - (ja-no-eval :group! (-> self draw art-group data 4) :num! min) - (ja-no-eval :group! (-> self draw art-group data 6) :num! min) + (ja-no-eval :group! citizen-rebel-idle-to-arms-hips-ja :num! min) + (ja-no-eval :group! citizen-rebel-idle-to-arms-crossed-ja :num! min) ) (let ((f28-0 0.0)) (while (< f28-0 1.0) @@ -593,14 +593,14 @@ (+! gp-0 -1) (cond ((zero? s5-0) - (ja-no-eval :group! (-> self draw art-group data 5) :num! (seek! max f30-1) :frame-num 0.0) + (ja-no-eval :group! citizen-rebel-arms-hips-ja :num! (seek! max f30-1) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek! max f30-1)) ) ) (else - (ja-no-eval :group! (-> self draw art-group data 7) :num! (seek! max f30-1) :frame-num 0.0) + (ja-no-eval :group! citizen-rebel-arms-crossed-ja :num! (seek! max f30-1) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek! max f30-1)) @@ -723,8 +723,8 @@ ) (ja-channel-push! 1 (seconds 0.2)) (if (zero? s5-0) - (ja-no-eval :group! (-> self draw art-group data 4) :num! min) - (ja-no-eval :group! (-> self draw art-group data 6) :num! min) + (ja-no-eval :group! citizen-rebel-idle-to-arms-hips-ja :num! min) + (ja-no-eval :group! citizen-rebel-idle-to-arms-crossed-ja :num! min) ) (let ((f28-0 0.0)) (while (< f28-0 1.0) @@ -740,14 +740,14 @@ (+! gp-0 -1) (cond ((zero? s5-0) - (ja-no-eval :group! (-> self draw art-group data 5) :num! (seek! max f30-1) :frame-num 0.0) + (ja-no-eval :group! citizen-rebel-arms-hips-ja :num! (seek! max f30-1) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek! max f30-1)) ) ) (else - (ja-no-eval :group! (-> self draw art-group data 7) :num! (seek! max f30-1) :frame-num 0.0) + (ja-no-eval :group! citizen-rebel-arms-crossed-ja :num! (seek! max f30-1) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek! max f30-1)) diff --git a/goal_src/jak2/levels/city/slums/kor/kid-states.gc b/goal_src/jak2/levels/city/slums/kor/kid-states.gc index 4b7fbb15abb..fdff2fabac0 100644 --- a/goal_src/jak2/levels/city/slums/kor/kid-states.gc +++ b/goal_src/jak2/levels/city/slums/kor/kid-states.gc @@ -55,7 +55,7 @@ :code (behavior () (let ((v1-2 (ja-group))) (cond - ((and v1-2 (= v1-2 (-> self draw art-group data 3))) + ((and v1-2 (= v1-2 kid-idle0-ja)) (ja-no-eval :num! (seek!)) (while (not (ja-done? 0)) (suspend) @@ -68,7 +68,7 @@ ) ) (until #f - (ja-no-eval :group! (-> self draw art-group data 3) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! kid-idle0-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -154,16 +154,16 @@ (cond ((< f0-8 18204.445) (set! f0-9 9102.223) - (set! s4-1 (-> self draw art-group data 8)) + (set! s4-1 kid-turn-left50-end0-ja) (set! f28-0 8.0) ) ((< f0-8 27306.666) (set! f0-9 18204.445) - (set! s4-1 (-> self draw art-group data 9)) + (set! s4-1 kid-turn-left100-end0-ja) ) (else (set! f0-9 27306.666) - (set! s4-1 (-> self draw art-group data 10)) + (set! s4-1 kid-turn-left150-end0-ja) ) ) ) @@ -174,16 +174,16 @@ (cond ((< -18204.445 f0-8) (set! f0-9 -9102.223) - (set! s4-1 (-> self draw art-group data 12)) + (set! s4-1 kid-turn-right50-end0-ja) (set! f28-0 8.0) ) ((< -27306.666 f0-8) (set! f0-9 -18204.445) - (set! s4-1 (-> self draw art-group data 13)) + (set! s4-1 kid-turn-right100-end0-ja) ) (else (set! f0-9 -27306.666) - (set! s4-1 (-> self draw art-group data 14)) + (set! s4-1 kid-turn-right150-end0-ja) ) ) ) @@ -277,7 +277,7 @@ :code (behavior () (let ((v1-2 (ja-group))) (cond - ((and v1-2 (= v1-2 (-> self draw art-group data 4))) + ((and v1-2 (= v1-2 kid-scared0-ja)) (ja-no-eval :num! (seek!)) (while (not (ja-done? 0)) (suspend) @@ -290,7 +290,7 @@ ) ) (until #f - (ja-no-eval :group! (-> self draw art-group data 4) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! kid-scared0-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -447,7 +447,7 @@ :code (behavior () (local-vars (v1-31 enemy-flag) (v1-39 enemy-flag)) (ja-channel-push! 1 (seconds 0.1)) - (ja-no-eval :group! (-> self draw art-group data 3) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! kid-idle0-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -542,7 +542,7 @@ :code (behavior () (when (not (logtest? (bot-flags bf20) (-> self bot-flags))) (ja-channel-push! 1 (seconds 0.1)) - (ja-no-eval :group! (-> self draw art-group data 15) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! kid-arrest-start-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -560,13 +560,13 @@ ) ) (let ((v1-35 (ja-group))) - (if (not (and v1-35 (= v1-35 (-> self draw art-group data 15)))) + (if (not (and v1-35 (= v1-35 kid-arrest-start-ja))) (ja-channel-push! 1 (seconds 0.1)) ) ) (set-time! (-> self state-time)) (until #f - (ja-no-eval :group! (-> self draw art-group data 16) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! kid-arrest-idle0-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (if (and (logtest? (-> self bot-flags) (bot-flags failed)) (time-elapsed? (-> self state-time) (seconds 4)) diff --git a/goal_src/jak2/levels/city/slums/kor/kor-states.gc b/goal_src/jak2/levels/city/slums/kor/kor-states.gc index d4fe958755d..63ed4b3678a 100644 --- a/goal_src/jak2/levels/city/slums/kor/kor-states.gc +++ b/goal_src/jak2/levels/city/slums/kor/kor-states.gc @@ -53,7 +53,7 @@ :code (behavior () (let ((v1-2 (ja-group))) (cond - ((and v1-2 (= v1-2 (-> self draw art-group data 3))) + ((and v1-2 (= v1-2 kor-idle0-ja)) (ja-no-eval :num! (seek!)) (while (not (ja-done? 0)) (suspend) @@ -66,7 +66,7 @@ ) ) (until #f - (ja-no-eval :group! (-> self draw art-group data 3) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! kor-idle0-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -153,19 +153,19 @@ (cond ((< f0-8 18204.445) (set! f0-9 9102.223) - (set! s4-1 (-> self draw art-group data 8)) + (set! s4-1 kor-turn-left50-end0-ja) (set! f30-0 5.0) 14.0 ) ((< f0-8 27306.666) (set! f0-9 18204.445) - (set! s4-1 (-> self draw art-group data 9)) + (set! s4-1 kor-turn-left100-end0-ja) (set! f30-0 5.0) 23.0 ) (else (set! f0-9 27306.666) - (set! s4-1 (-> self draw art-group data 10)) + (set! s4-1 kor-turn-left150-end0-ja) (set! f30-0 5.0) 23.0 ) @@ -178,17 +178,17 @@ (cond ((< -18204.445 f0-8) (set! f0-9 -9102.223) - (set! s4-1 (-> self draw art-group data 12)) + (set! s4-1 kor-turn-right50-end0-ja) ) ((< -27306.666 f0-8) (set! f0-9 -18204.445) - (set! s4-1 (-> self draw art-group data 13)) + (set! s4-1 kor-turn-right100-end0-ja) (set! f30-0 5.0) (set! f28-0 23.0) ) (else (set! f0-9 -27306.666) - (set! s4-1 (-> self draw art-group data 14)) + (set! s4-1 kor-turn-right150-end0-ja) (set! f30-0 5.0) (set! f28-0 23.0) ) @@ -286,7 +286,7 @@ :code (behavior () (let ((v1-2 (ja-group))) (cond - ((and v1-2 (= v1-2 (-> self draw art-group data 4))) + ((and v1-2 (= v1-2 kor-scared0-ja)) (ja-no-eval :num! (seek!)) (while (not (ja-done? 0)) (suspend) @@ -299,7 +299,7 @@ ) ) (until #f - (ja-no-eval :group! (-> self draw art-group data 4) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! kor-scared0-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -456,7 +456,7 @@ :code (behavior () (local-vars (v1-31 enemy-flag) (v1-39 enemy-flag)) (ja-channel-push! 1 (seconds 0.1)) - (ja-no-eval :group! (-> self draw art-group data 3) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! kor-idle0-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -554,14 +554,14 @@ ((and (not (logtest? (bot-flags bf20) (-> self bot-flags))) (not (time-elapsed? (-> self arrest-attempt-time) (seconds 0.8))) ) - (ja-no-eval :group! (-> self draw art-group data 4) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! kor-scared0-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) ) ) (else - (ja-no-eval :group! (-> self draw art-group data 4) :num! (seek! (ja-aframe 8.0 0)) :frame-num 0.0) + (ja-no-eval :group! kor-scared0-ja :num! (seek! (ja-aframe 8.0 0)) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek! (ja-aframe 8.0 0))) @@ -580,14 +580,14 @@ ) ) (ja-channel-push! 1 (seconds 0.1)) - (ja-no-eval :group! (-> self draw art-group data 17) :num! (seek!) :frame-num (ja-aframe 4.0 0)) + (ja-no-eval :group! kor-arrest-start-ja :num! (seek!) :frame-num (ja-aframe 4.0 0)) (until (ja-done? 0) (suspend) (ja :num! (seek!)) ) (set-time! (-> self state-time)) (until #f - (ja-no-eval :group! (-> self draw art-group data 18) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! kor-arrest-idle0-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (if (and (logtest? (-> self bot-flags) (bot-flags failed)) (time-elapsed? (-> self state-time) (seconds 3)) diff --git a/goal_src/jak2/levels/city/traffic/citizen/guard.gc b/goal_src/jak2/levels/city/traffic/citizen/guard.gc index ef83e7aae19..55adf9e4d83 100644 --- a/goal_src/jak2/levels/city/traffic/citizen/guard.gc +++ b/goal_src/jak2/levels/city/traffic/citizen/guard.gc @@ -1324,7 +1324,7 @@ :code (behavior () (ja-channel-push! 1 (seconds 0.2)) (let ((gp-0 #f)) - (ja-no-eval :group! (-> self draw art-group data 18) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! crimson-guard-rifle-butt-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (when (and (< 7.0 (ja-frame-num 0)) (not gp-0)) (let ((v1-22 (-> (the-as collide-shape-prim-group (-> self root root-prim)) child 3))) @@ -2024,7 +2024,7 @@ :code (behavior () (ja-channel-push! 1 (seconds 0.2)) (let ((gp-0 #f)) - (ja-no-eval :group! (-> self draw art-group data 18) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! crimson-guard-rifle-butt-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (when (and (< 7.0 (ja-frame-num 0)) (not gp-0)) (let ((v1-22 (-> (the-as collide-shape-prim-group (-> self root root-prim)) child 3))) @@ -2289,10 +2289,7 @@ (ja-channel-push! 1 (seconds 0.1)) (cond ((logtest? (enemy-flag dislike-combo) (-> self enemy-flags)) - (ja-no-eval :group! (-> self draw art-group data 40) - :num! (seek! (ja-aframe 6.0 0)) - :frame-num (ja-aframe 0.0 0) - ) + (ja-no-eval :group! crimson-guard-jump-right-ja :num! (seek! (ja-aframe 6.0 0)) :frame-num (ja-aframe 0.0 0)) (until (ja-done? 0) (let ((a0-20 (handle->process (-> self focus handle)))) (if a0-20 @@ -2309,10 +2306,7 @@ ) ) (else - (ja-no-eval :group! (-> self draw art-group data 41) - :num! (seek! (ja-aframe 9.0 0)) - :frame-num (ja-aframe 0.0 0) - ) + (ja-no-eval :group! crimson-guard-jump-left-ja :num! (seek! (ja-aframe 9.0 0)) :frame-num (ja-aframe 0.0 0)) (until (ja-done? 0) (let ((a0-33 (handle->process (-> self focus handle)))) (if a0-33 @@ -2336,20 +2330,14 @@ 0 (cond ((logtest? (enemy-flag dislike-combo) (-> self enemy-flags)) - (ja-no-eval :group! (-> self draw art-group data 40) - :num! (seek! (ja-aframe 11.0 0)) - :frame-num (ja-aframe 6.0 0) - ) + (ja-no-eval :group! crimson-guard-jump-right-ja :num! (seek! (ja-aframe 11.0 0)) :frame-num (ja-aframe 6.0 0)) (until (ja-done? 0) (suspend) (ja :num! (seek! (ja-aframe 11.0 0))) ) ) (else - (ja-no-eval :group! (-> self draw art-group data 41) - :num! (seek! (ja-aframe 11.0 0)) - :frame-num (ja-aframe 9.0 0) - ) + (ja-no-eval :group! crimson-guard-jump-left-ja :num! (seek! (ja-aframe 11.0 0)) :frame-num (ja-aframe 9.0 0)) (until (ja-done? 0) (suspend) (ja :num! (seek! (ja-aframe 11.0 0))) @@ -2400,10 +2388,7 @@ (ja-channel-push! 1 (seconds 0.1)) (cond ((logtest? (enemy-flag dislike-combo) (-> self enemy-flags)) - (ja-no-eval :group! (-> self draw art-group data 41) - :num! (seek! (ja-aframe 9.0 0)) - :frame-num (ja-aframe 0.0 0) - ) + (ja-no-eval :group! crimson-guard-jump-left-ja :num! (seek! (ja-aframe 9.0 0)) :frame-num (ja-aframe 0.0 0)) (until (ja-done? 0) (let ((a0-20 (handle->process (-> self focus handle)))) (if a0-20 @@ -2420,10 +2405,7 @@ ) ) (else - (ja-no-eval :group! (-> self draw art-group data 40) - :num! (seek! (ja-aframe 6.0 0)) - :frame-num (ja-aframe 0.0 0) - ) + (ja-no-eval :group! crimson-guard-jump-right-ja :num! (seek! (ja-aframe 6.0 0)) :frame-num (ja-aframe 0.0 0)) (until (ja-done? 0) (let ((a0-33 (handle->process (-> self focus handle)))) (if a0-33 @@ -2447,20 +2429,14 @@ 0 (cond ((logtest? (enemy-flag dislike-combo) (-> self enemy-flags)) - (ja-no-eval :group! (-> self draw art-group data 41) - :num! (seek! (ja-aframe 11.0 0)) - :frame-num (ja-aframe 9.0 0) - ) + (ja-no-eval :group! crimson-guard-jump-left-ja :num! (seek! (ja-aframe 11.0 0)) :frame-num (ja-aframe 9.0 0)) (until (ja-done? 0) (suspend) (ja :num! (seek! (ja-aframe 11.0 0))) ) ) (else - (ja-no-eval :group! (-> self draw art-group data 40) - :num! (seek! (ja-aframe 11.0 0)) - :frame-num (ja-aframe 6.0 0) - ) + (ja-no-eval :group! crimson-guard-jump-right-ja :num! (seek! (ja-aframe 11.0 0)) :frame-num (ja-aframe 6.0 0)) (until (ja-done? 0) (suspend) (ja :num! (seek! (ja-aframe 11.0 0))) @@ -2513,7 +2489,7 @@ (speech-control-method-12 *speech-control* self (speech-type speech-type-13)) (ja-channel-push! 1 (seconds 0.2)) (let ((f30-0 (get-rand-float-range self 0.9 1.1))) - (ja-no-eval :group! (-> self draw art-group data 19) :num! (seek! max f30-0) :frame-num 0.0) + (ja-no-eval :group! crimson-guard-idle-to-stab-idle-ja :num! (seek! max f30-0) :frame-num 0.0) (until (ja-done? 0) (seek-toward-heading-vec! (-> self root) (-> self target-self-xz) 65536.0 (seconds 0.02)) (suspend) @@ -2527,7 +2503,7 @@ ) (goto cfg-17) ) - (ja-no-eval :group! (-> self draw art-group data 20) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! crimson-guard-stab-idle-loop-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -2537,7 +2513,7 @@ (label cfg-17) (let ((f30-1 (get-rand-float-range self 0.9 1.1))) (ja-channel-push! 1 (seconds 0.2)) - (ja-no-eval :group! (-> self draw art-group data 24) :num! (seek! max f30-1) :frame-num 0.0) + (ja-no-eval :group! crimson-guard-stab-idle-to-idle-ja :num! (seek! max f30-1) :frame-num 0.0) (until (ja-done? 0) (seek-toward-heading-vec! (-> self root) (-> self target-self-xz) 65536.0 (seconds 0.02)) (suspend) @@ -2593,14 +2569,14 @@ :code (behavior () (ja-channel-push! 1 (seconds 0.2)) (let ((f30-0 (get-rand-float-range self 0.9 1.1))) - (ja-no-eval :group! (-> self draw art-group data 19) :num! (seek! max f30-0) :frame-num 0.0) + (ja-no-eval :group! crimson-guard-idle-to-stab-idle-ja :num! (seek! max f30-0) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek! max f30-0)) ) ) (while (not (logtest? (-> self flags) (citizen-flag target-in-sight))) - (ja-no-eval :group! (-> self draw art-group data 20) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! crimson-guard-stab-idle-loop-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -2608,7 +2584,7 @@ ) (let ((f30-1 (get-rand-float-range self 0.9 1.1))) (ja-channel-push! 1 (seconds 0.2)) - (ja-no-eval :group! (-> self draw art-group data 24) :num! (seek! max f30-1) :frame-num 0.0) + (ja-no-eval :group! crimson-guard-stab-idle-to-idle-ja :num! (seek! max f30-1) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek! max f30-1)) @@ -3086,7 +3062,7 @@ :code (behavior () (local-vars (v1-94 symbol)) (ja-channel-push! 1 (seconds 0.2)) - (ja-no-eval :group! (-> self draw art-group data 19) :num! (seek! (ja-aframe 7.0 0)) :frame-num 0.0) + (ja-no-eval :group! crimson-guard-idle-to-stab-idle-ja :num! (seek! (ja-aframe 7.0 0)) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek! (ja-aframe 7.0 0))) @@ -3112,7 +3088,7 @@ ) (cond ((< f0-6 0.0) - (ja-no-eval :group! (-> self draw art-group data 25) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! crimson-guard-stab-shuffle-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (quaternion-rotate-local-y! (-> self root quat) (-> self root quat) (* f30-0 (seconds-per-frame))) (suspend) @@ -3120,7 +3096,7 @@ ) ) (else - (ja-no-eval :group! (-> self draw art-group data 25) :num! (seek! 0.0) :frame-num max) + (ja-no-eval :group! crimson-guard-stab-shuffle-ja :num! (seek! 0.0) :frame-num max) (until (ja-done? 0) (quaternion-rotate-local-y! (-> self root quat) (-> self root quat) (* f30-0 (seconds-per-frame))) (suspend) @@ -3133,7 +3109,7 @@ ) (else (ja-channel-push! 1 (seconds 0.1)) - (ja-no-eval :group! (-> self draw art-group data 20) :num! (loop!)) + (ja-no-eval :group! crimson-guard-stab-idle-loop-ja :num! (loop!)) (until v1-94 (suspend) (ja :num! (loop!)) @@ -3171,7 +3147,7 @@ ) (else (ja-channel-push! 1 (seconds 0.1)) - (ja-no-eval :group! (-> self draw art-group data 21) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! crimson-guard-stab-idle-to-attack-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -3210,7 +3186,7 @@ (s4-1 150) (f30-1 1.0) ) - (ja-no-eval :group! (-> self draw art-group data 22) :num! (loop! f30-1) :frame-num 0.0) + (ja-no-eval :group! crimson-guard-stab-attack-ja :num! (loop! f30-1) :frame-num 0.0) (until (time-elapsed? s5-1 s4-1) (crimson-guard-method-222 self) (suspend) @@ -3238,7 +3214,7 @@ ) (set! (-> v1-182 state mode) (the-as lightning-mode a0-62)) ) - (ja-no-eval :group! (-> self draw art-group data 23) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! crimson-guard-stab-attack-to-stab-idle-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -3614,7 +3590,7 @@ (s5-0 150) (f30-0 2.0) ) - (ja-no-eval :group! (-> self draw art-group data 6) :num! (loop! f30-0) :frame-num 0.0) + (ja-no-eval :group! crimson-guard-run-ja :num! (loop! f30-0) :frame-num 0.0) (until (time-elapsed? gp-0 s5-0) (crimson-guard-method-223 self (* 0.006666667 (the float (- (current-time) (-> self state-time))))) (suspend) diff --git a/goal_src/jak2/levels/city/traffic/citizen/metalhead-flitter.gc b/goal_src/jak2/levels/city/traffic/citizen/metalhead-flitter.gc index 6254cb06bd0..e8bf1b7ad53 100644 --- a/goal_src/jak2/levels/city/traffic/citizen/metalhead-flitter.gc +++ b/goal_src/jak2/levels/city/traffic/citizen/metalhead-flitter.gc @@ -426,7 +426,7 @@ ) :code (behavior () (ja-channel-push! 1 (seconds 0.1)) - (ja-no-eval :group! (-> self draw art-group data 10) :num! (seek!)) + (ja-no-eval :group! flitter-ambush-jump-ja :num! (seek!)) (until #f (when (< (-> self base-height) (-> self root trans y)) (let ((gp-0 (get-process *default-dead-pool* part-tracker #x4000))) @@ -497,7 +497,7 @@ ) #f (label cfg-26) - (ja-no-eval :group! (-> self draw art-group data 11) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! flitter-ambush-land-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -653,7 +653,7 @@ 0 (ja-no-eval :num! (loop!)) (ja-channel-push! 1 (seconds 0.2)) - (ja :group! (-> self draw art-group data 15)) + (ja :group! flitter-turn-ja) (ja :num-func num-func-identity :frame-num 0.0) (until (enemy-method-96 self 1820.4445 #t) (ja-blend-eval) @@ -820,14 +820,14 @@ :code (behavior () (ja-channel-push! 2 (seconds 0.1)) (let ((f30-0 (metalhead-flitter-method-209 self))) - (ja-no-eval :group! (-> self draw art-group data 16) :num! (seek! max 0.8) :frame-num 0.0) + (ja-no-eval :group! flitter-attack-ja :num! (seek! max 0.8) :frame-num 0.0) (let ((a0-3 (-> self skel root-channel 1))) (set! (-> a0-3 frame-interp 1) f30-0) (set! (-> a0-3 frame-interp 0) f30-0) - (set! (-> a0-3 frame-group) (the-as art-joint-anim (-> self draw art-group data 17))) + (set! (-> a0-3 frame-group) (the-as art-joint-anim flitter-attack-high-ja)) (set! (-> a0-3 param 0) 0.0) (set! (-> a0-3 frame-num) 0.0) - (joint-control-channel-group! a0-3 (the-as art-joint-anim (-> self draw art-group data 17)) num-func-chan) + (joint-control-channel-group! a0-3 (the-as art-joint-anim flitter-attack-high-ja) num-func-chan) ) (until (ja-done? 0) (suspend) @@ -853,7 +853,7 @@ (logclear! (-> self focus-status) (focus-status dangerous)) ) (dotimes (gp-1 (get-rand-int self 3)) - (ja-no-eval :group! (-> self draw art-group data 5) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! flitter-idle-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -885,7 +885,7 @@ 0 (ja-no-eval :num! (loop!)) (ja-channel-push! 1 (seconds 0.2)) - (ja :group! (-> self draw art-group data 15)) + (ja :group! flitter-turn-ja) (ja :num-func num-func-identity :frame-num 0.0) (until (enemy-method-96 self 1820.4445 #t) (ja-blend-eval) diff --git a/goal_src/jak2/levels/city/traffic/citizen/metalhead-grunt.gc b/goal_src/jak2/levels/city/traffic/citizen/metalhead-grunt.gc index 89af60cff7a..84b9c286afb 100644 --- a/goal_src/jak2/levels/city/traffic/citizen/metalhead-grunt.gc +++ b/goal_src/jak2/levels/city/traffic/citizen/metalhead-grunt.gc @@ -462,17 +462,10 @@ :virtual #t :code (behavior () (let ((v1-2 (ja-group))) - (when (or (and v1-2 (or (= v1-2 (-> self draw art-group data 14)) - (= v1-2 (-> self draw art-group data 15)) - (= v1-2 (-> self draw art-group data 16)) - ) - ) + (when (or (and v1-2 (or (= v1-2 grunt-charge0-ja) (= v1-2 grunt-charge1-ja) (= v1-2 grunt-charge2-ja))) (let ((v1-8 (ja-group))) - (and v1-8 (or (= v1-8 (-> self draw art-group data 11)) - (= v1-8 (-> self draw art-group data 12)) - (= v1-8 (-> self draw art-group data 14)) - (= v1-8 (-> self draw art-group data 15)) - ) + (and v1-8 + (or (= v1-8 grunt-patrol0-ja) (= v1-8 grunt-patrol1-ja) (= v1-8 grunt-charge0-ja) (= v1-8 grunt-charge1-ja)) ) ) ) @@ -652,11 +645,7 @@ ) :code (behavior () (let ((v1-2 (ja-group))) - (when (and v1-2 (or (= v1-2 (-> self draw art-group data 14)) - (= v1-2 (-> self draw art-group data 15)) - (= v1-2 (-> self draw art-group data 16)) - ) - ) + (when (and v1-2 (or (= v1-2 grunt-charge0-ja) (= v1-2 grunt-charge1-ja) (= v1-2 grunt-charge2-ja))) (let ((v1-6 (-> self nav))) (set! (-> v1-6 target-speed) (-> self charge-anim travel-speed)) ) diff --git a/goal_src/jak2/levels/city/traffic/citizen/metalhead-predator.gc b/goal_src/jak2/levels/city/traffic/citizen/metalhead-predator.gc index 3e8e6c775a5..86468937439 100644 --- a/goal_src/jak2/levels/city/traffic/citizen/metalhead-predator.gc +++ b/goal_src/jak2/levels/city/traffic/citizen/metalhead-predator.gc @@ -850,13 +850,13 @@ ) :code (behavior () (ja-channel-push! 1 (seconds 0.2)) - (ja-no-eval :group! (-> self draw art-group data 7) :num! (seek!) :frame-num 6.0) + (ja-no-eval :group! predator-run0-ja :num! (seek!) :frame-num 6.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) ) (until #f - (ja-no-eval :group! (-> self draw art-group data 7) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! predator-run0-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -905,7 +905,7 @@ (let ((gp-0 0)) (set! (-> self shoot-angle) (* 182.04445 (rand-vu-float-range -45.0 45.0))) (ja-channel-push! 1 (seconds 0.2)) - (ja-no-eval :group! (-> self draw art-group data 10) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! predator-shoot-guns0-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (when (and (< 9.0 (ja-frame-num 0)) (zero? gp-0)) (set! gp-0 1) @@ -974,7 +974,7 @@ :code (behavior () (ja-channel-push! 1 (seconds 0.2)) (let ((gp-0 #f)) - (ja-no-eval :group! (-> self draw art-group data 8) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! predator-close-attack-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (when (and (< 4.0 (ja-frame-num 0)) (not gp-0)) (metalhead-predator-method-205 self #t) @@ -988,7 +988,7 @@ (set! (-> v1-32 speed) 0.0) ) 0 - (ja-no-eval :group! (-> self draw art-group data 9) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! predator-close-attack-recover-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) diff --git a/goal_src/jak2/levels/common/ai/ashelin/ash-states.gc b/goal_src/jak2/levels/common/ai/ashelin/ash-states.gc index b5eece7c354..35024f2f850 100644 --- a/goal_src/jak2/levels/common/ai/ashelin/ash-states.gc +++ b/goal_src/jak2/levels/common/ai/ashelin/ash-states.gc @@ -42,7 +42,7 @@ :code (behavior () (let ((v1-2 (ja-group))) (cond - ((and v1-2 (= v1-2 (-> self draw art-group data 3))) + ((and v1-2 (= v1-2 ashelin-idle0-ja)) (ja-no-eval :num! (seek!)) (while (not (ja-done? 0)) (suspend) @@ -50,7 +50,7 @@ ) ) ((let ((v1-16 (ja-group))) - (and v1-16 (= v1-16 (-> self draw art-group data 29))) + (and v1-16 (= v1-16 ashelin-standing-idle-ja)) ) (ja-no-eval :num! (seek!)) (while (not (ja-done? 0)) @@ -58,7 +58,7 @@ (ja-eval) ) (ja-channel-push! 1 (seconds 0.03)) - (ja-no-eval :group! (-> self draw art-group data 30) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! ashelin-standing-to-waiting-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -68,7 +68,7 @@ (else (let ((v1-55 (ja-group))) (cond - ((and v1-55 (= v1-55 (-> self draw art-group data 30))) + ((and v1-55 (= v1-55 ashelin-standing-to-waiting-ja)) (ja-no-eval :num! (seek!)) (while (not (ja-done? 0)) (suspend) @@ -85,7 +85,7 @@ ) ) (until #f - (ja-no-eval :group! (-> self draw art-group data 3) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! ashelin-idle0-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -122,7 +122,7 @@ (cond ((ashelin-method-238 self #t #t) (when (and (ashelin-method-235 self #t) (let ((v1-11 (ja-group))) - (and v1-11 (= v1-11 (-> self draw art-group data 29))) + (and v1-11 (= v1-11 ashelin-standing-idle-ja)) ) ) (cond @@ -186,7 +186,7 @@ :code (behavior () (let ((v1-2 (ja-group))) (cond - ((and v1-2 (= v1-2 (-> self draw art-group data 29))) + ((and v1-2 (= v1-2 ashelin-standing-idle-ja)) (ja-no-eval :num! (seek!)) (while (not (ja-done? 0)) (suspend) @@ -194,9 +194,9 @@ ) ) ((let ((v1-16 (ja-group))) - (and v1-16 (or (= v1-16 (-> self draw art-group data 27)) - (= v1-16 (-> self draw art-group data 31)) - (= v1-16 (-> self draw art-group data 32)) + (and v1-16 (or (= v1-16 ashelin-waiting-to-standing-ja) + (= v1-16 ashelin-standing-turn-left-ja) + (= v1-16 ashelin-standing-turn-right-ja) ) ) ) @@ -208,10 +208,10 @@ (ja-channel-push! 1 (seconds 0.03)) ) ((let ((v1-31 (ja-group))) - (and v1-31 (= v1-31 (-> self draw art-group data 3))) + (and v1-31 (= v1-31 ashelin-idle0-ja)) ) (ja-channel-push! 1 (seconds 0.1)) - (ja-no-eval :group! (-> self draw art-group data 27) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! ashelin-waiting-to-standing-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -224,7 +224,7 @@ ) ) (until #f - (ja-no-eval :group! (-> self draw art-group data 29) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! ashelin-standing-idle-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -470,13 +470,13 @@ (react-to-focus self) ) (let ((v1-12 (ja-group))) - (if (and v1-12 (or (= v1-12 (-> self draw art-group data 29)) (= v1-12 (-> self draw art-group data 28)))) + (if (and v1-12 (or (= v1-12 ashelin-standing-idle-ja) (= v1-12 ashelin-standing-fire-ja))) (ja-channel-push! 1 (seconds 0.03)) (ja-channel-push! 1 (seconds 0.08)) ) ) (let ((gp-0 #f)) - (ja-no-eval :group! (-> self draw art-group data 28) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! ashelin-standing-fire-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (when (and (not gp-0) (>= (ja-aframe-num 0) 7.0)) (set! gp-0 #t) @@ -587,7 +587,7 @@ ) (quaternion-copy! s5-0 (-> self root quat)) (quaternion<-rotate-y-vector s4-0 gp-1) - (ja-no-eval :group! (-> self draw art-group data 33) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! ashelin-back-spring-start-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (quaternion-slerp! (-> self root quat) s5-0 s4-0 (/ (ja-frame-num 0) (the float (ja-num-frames 0)))) (suspend) @@ -633,7 +633,7 @@ (set! (-> self nav state speed) f0-13) ) 0 - (ja-no-eval :group! (-> self draw art-group data 34) :num! (seek! max 1.4) :frame-num 0.0) + (ja-no-eval :group! ashelin-back-spring-loop-ja :num! (seek! max 1.4) :frame-num 0.0) (until (ja-done? 0) (let ((a1-12 (-> self nav state))) (set! (-> gp-1 quad) (-> a1-12 heading quad)) @@ -663,7 +663,7 @@ (logior! (-> self focus-status) (focus-status dangerous)) (logclear! (-> self focus-status) (focus-status dangerous)) ) - (ja-no-eval :group! (-> self draw art-group data 35) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! ashelin-back-spring-land-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -717,7 +717,7 @@ (quaternion-copy! s5-0 (-> self root quat)) (quaternion<-rotate-y-vector s4-0 gp-1) (quaternion-rotate-y! s4-0 s4-0 -16384.0) - (ja-no-eval :group! (-> self draw art-group data 36) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! ashelin-cartwheel-left-start-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (quaternion-slerp! (-> self root quat) s5-0 s4-0 (/ (ja-frame-num 0) (the float (ja-num-frames 0)))) (suspend) @@ -761,7 +761,7 @@ (set! (-> self nav state speed) f0-13) ) 0 - (ja-no-eval :group! (-> self draw art-group data 37) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! ashelin-cartwheel-left-loop-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (let ((a1-11 (-> self nav state))) (set! (-> gp-1 quad) (-> a1-11 heading quad)) @@ -785,7 +785,7 @@ (logior! (-> self focus-status) (focus-status dangerous)) (logclear! (-> self focus-status) (focus-status dangerous)) ) - (ja-no-eval :group! (-> self draw art-group data 38) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! ashelin-cartwheel-left-land-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -839,7 +839,7 @@ (quaternion-copy! s5-0 (-> self root quat)) (quaternion<-rotate-y-vector s4-0 gp-1) (quaternion-rotate-y! s4-0 s4-0 16384.0) - (ja-no-eval :group! (-> self draw art-group data 39) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! ashelin-tumble-right-start-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (quaternion-slerp! (-> self root quat) s5-0 s4-0 (/ (ja-frame-num 0) (the float (ja-num-frames 0)))) (suspend) @@ -883,7 +883,7 @@ (set! (-> self nav state speed) f0-13) ) 0 - (ja-no-eval :group! (-> self draw art-group data 40) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! ashelin-tumble-right-loop-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (let ((a1-11 (-> self nav state))) (set! (-> gp-1 quad) (-> a1-11 heading quad)) @@ -907,7 +907,7 @@ (logior! (-> self focus-status) (focus-status dangerous)) (logclear! (-> self focus-status) (focus-status dangerous)) ) - (ja-no-eval :group! (-> self draw art-group data 41) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! ashelin-tumble-right-land-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -1026,7 +1026,7 @@ ) (let ((v1-10 (ja-group))) (cond - ((and v1-10 (or (= v1-10 (-> self draw art-group data 9)) (= v1-10 (-> self draw art-group data 12)))) + ((and v1-10 (or (= v1-10 ashelin-knocked-back-die0-ja) (= v1-10 ashelin-knocked-right-die0-ja))) (ja-no-eval :num! (seek!)) (while (not (ja-done? 0)) (suspend) diff --git a/goal_src/jak2/levels/common/ai/sig/sig-states.gc b/goal_src/jak2/levels/common/ai/sig/sig-states.gc index 2918c0d53ee..60f11a897c4 100644 --- a/goal_src/jak2/levels/common/ai/sig/sig-states.gc +++ b/goal_src/jak2/levels/common/ai/sig/sig-states.gc @@ -49,7 +49,7 @@ :code (behavior () (ja-channel-push! 1 (seconds 0.2)) (until #f - (ja-no-eval :group! (-> self draw art-group data 47) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! sig-idle-crouch-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -114,7 +114,7 @@ :code (behavior () (let ((v1-2 (ja-group))) (cond - ((and v1-2 (= v1-2 (-> self draw art-group data 6))) + ((and v1-2 (= v1-2 sig-ready0-to-idle-right0-ja)) (ja-no-eval :num! (seek!)) (while (not (ja-done? 0)) (suspend) @@ -123,7 +123,7 @@ (ja-channel-push! 1 (seconds 0.2)) ) ((let ((v1-17 (ja-group))) - (and v1-17 (= v1-17 (-> self draw art-group data 4))) + (and v1-17 (= v1-17 sig-idle-right0-ja)) ) (ja-no-eval :num! (seek!)) (while (not (ja-done? 0)) @@ -133,7 +133,7 @@ ) (else (ja-channel-push! 1 (seconds 0.3)) - (ja-no-eval :group! (-> self draw art-group data 6) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! sig-ready0-to-idle-right0-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -143,7 +143,7 @@ ) ) (until #f - (ja-no-eval :group! (-> self draw art-group data 4) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! sig-idle-right0-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -213,9 +213,9 @@ art-group data (cond - ((and v1-2 (= v1-2 (-> self draw art-group data 4))) + ((and v1-2 (= v1-2 sig-idle-right0-ja)) (ja-channel-push! 1 (seconds 0.1)) - (ja-no-eval :group! (-> self draw art-group data 5) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! sig-idle-right0-to-ready0-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -225,7 +225,7 @@ (else (let ((v1-32 (ja-group))) (cond - ((and v1-32 (= v1-32 (-> self draw art-group data 5))) + ((and v1-32 (= v1-32 sig-idle-right0-to-ready0-ja)) (ja-no-eval :num! (seek!)) (while (not (ja-done? 0)) (suspend) @@ -236,7 +236,7 @@ (else (let ((v1-46 (ja-group))) (cond - ((and v1-46 (= v1-46 (-> self draw art-group data 7))) + ((and v1-46 (= v1-46 sig-ready0-ja)) (ja-no-eval :num! (seek!)) (while (not (ja-done? 0)) (suspend) @@ -324,9 +324,9 @@ ) (let ((v1-8 (ja-group))) (cond - ((and v1-8 (or (= v1-8 (-> self draw art-group data 4)) (= v1-8 (-> self draw art-group data 6)))) + ((and v1-8 (or (= v1-8 sig-idle-right0-ja) (= v1-8 sig-ready0-to-idle-right0-ja))) (ja-channel-push! 1 (seconds 0.1)) - (ja-no-eval :group! (-> self draw art-group data 5) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! sig-idle-right0-to-ready0-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -336,7 +336,7 @@ (else (let ((v1-38 (ja-group))) (cond - ((and v1-38 (= v1-38 (-> self draw art-group data 5))) + ((and v1-38 (= v1-38 sig-idle-right0-to-ready0-ja)) (ja-no-eval :num! (seek!)) (while (not (ja-done? 0)) (suspend) @@ -346,7 +346,7 @@ ) (else (let ((v1-53 (ja-group))) - (if (and v1-53 (= v1-53 (-> self draw art-group data 7))) + (if (and v1-53 (= v1-53 sig-ready0-ja)) (ja-channel-push! 1 (seconds 0.1)) (ja-channel-push! 1 (seconds 0.3)) ) @@ -394,16 +394,16 @@ (cond ((< f0-18 18204.445) (set! f0-19 9102.223) - (set! s4-1 (-> self draw art-group data 49)) + (set! s4-1 sig-turn-left50-end0-ja) (set! f28-0 18.0) ) ((< f0-18 27306.666) (set! f0-19 18204.445) - (set! s4-1 (-> self draw art-group data 50)) + (set! s4-1 sig-turn-left100-end0-ja) ) (else (set! f0-19 27306.666) - (set! s4-1 (-> self draw art-group data 51)) + (set! s4-1 sig-turn-left150-end0-ja) ) ) ) @@ -414,16 +414,16 @@ (cond ((< -18204.445 f0-18) (set! f0-19 -9102.223) - (set! s4-1 (-> self draw art-group data 53)) + (set! s4-1 sig-turn-right50-end0-ja) (set! f28-0 18.0) ) ((< -27306.666 f0-18) (set! f0-19 -18204.445) - (set! s4-1 (-> self draw art-group data 54)) + (set! s4-1 sig-turn-right100-end0-ja) ) (else (set! f0-19 -27306.666) - (set! s4-1 (-> self draw art-group data 55)) + (set! s4-1 sig-turn-right150-end0-ja) ) ) ) @@ -501,7 +501,7 @@ ) :code (behavior () (ja-channel-push! 1 (seconds 0.15)) - (ja-no-eval :group! (-> self draw art-group data 35) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! sig-charge-to-crouch-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -509,7 +509,7 @@ (logior! (-> self plasma flags) (plasma-flags pf01)) (ja-channel-push! 1 (seconds 0.07)) (until #f - (ja-no-eval :group! (-> self draw art-group data 36) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! sig-charge0-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (if (and (logtest? (-> self plasma flags) (plasma-flags pf02)) (logtest? (-> self plasma flags) (plasma-flags pf03)) @@ -523,14 +523,14 @@ #f (label cfg-12) (ja-channel-push! 1 (seconds 0.1)) - (ja-no-eval :group! (-> self draw art-group data 37) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! sig-charge-to-ready-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) ) (ja-channel-push! 1 (seconds 0.07)) (until #f - (ja-no-eval :group! (-> self draw art-group data 38) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! sig-charge-ready-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (if (logtest? (-> self plasma flags) (plasma-flags pf03)) (logior! (-> self plasma flags) (plasma-flags pf04)) @@ -568,7 +568,7 @@ ) :code (behavior () (ja-channel-push! 1 (seconds 0.2)) - (ja-no-eval :group! (-> self draw art-group data 12) :num! (seek! (ja-aframe 8.0 0)) :frame-num 0.0) + (ja-no-eval :group! sig-blast-forward-ja :num! (seek! (ja-aframe 8.0 0)) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek! (ja-aframe 8.0 0))) @@ -626,7 +626,7 @@ ) :code (behavior () (ja-channel-push! 1 (seconds 0.2)) - (ja-no-eval :group! (-> self draw art-group data 26) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! sig-gun-fix-start-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -634,7 +634,7 @@ (until #f (ja-channel-push! 1 (seconds 0.07)) (countdown (gp-0 (get-rand-int-range self 2 4)) - (ja-no-eval :group! (-> self draw art-group data 27) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! sig-gun-fix-hit-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -647,7 +647,7 @@ ) ) (ja-channel-push! 1 (seconds 0.07)) - (ja-no-eval :group! (-> self draw art-group data 28) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! sig-gun-fix-hit-to-look-a-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -659,7 +659,7 @@ (go-virtual waiting-close) ) (ja-channel-push! 1 (seconds 0.13)) - (ja-no-eval :group! (-> self draw art-group data 29) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! sig-gun-fix-look-a-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -671,7 +671,7 @@ (go-virtual waiting-close) ) (ja-channel-push! 1 (seconds 0.07)) - (ja-no-eval :group! (-> self draw art-group data 31) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! sig-gun-fix-shake-look-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -683,7 +683,7 @@ (go-virtual waiting-close) ) (ja-channel-push! 1 (seconds 0.13)) - (ja-no-eval :group! (-> self draw art-group data 30) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! sig-gun-fix-look-b-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -695,7 +695,7 @@ (go-virtual waiting-close) ) (ja-channel-push! 1 (seconds 0.07)) - (ja-no-eval :group! (-> self draw art-group data 32) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! sig-gun-fix-look-to-stomp-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -708,7 +708,7 @@ ) (countdown (gp-1 (get-rand-int-range self 2 3)) (ja-channel-push! 1 (seconds 0.07)) - (ja-no-eval :group! (-> self draw art-group data 33) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! sig-gun-fix-stomp-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -721,7 +721,7 @@ ) ) (ja-channel-push! 1 (seconds 0.07)) - (ja-no-eval :group! (-> self draw art-group data 34) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! sig-gun-fix-stomp-to-hit-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -779,7 +779,7 @@ ) :code (behavior () (ja-channel-push! 1 (seconds 0.15)) - (ja-no-eval :group! (-> self draw art-group data 7) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! sig-ready0-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -793,7 +793,7 @@ (ja-channel-push! 1 (seconds 0.13)) (while (nonzero? s5-0) (+! s5-0 -1) - (ja-no-eval :group! (-> self draw art-group data 29) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! sig-gun-fix-look-a-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -806,7 +806,7 @@ (ja-channel-push! 1 (seconds 0.13)) (while (nonzero? s5-1) (+! s5-1 -1) - (ja-no-eval :group! (-> self draw art-group data 30) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! sig-gun-fix-look-b-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -817,7 +817,7 @@ ) (when (nonzero? gp-0) (ja-channel-push! 1 (seconds 0.07)) - (ja-no-eval :group! (-> self draw art-group data 31) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! sig-gun-fix-shake-look-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -935,7 +935,7 @@ :code (behavior () (ja-channel-push! 1 (seconds 0.3)) (until #f - (ja-no-eval :group! (-> self draw art-group data 7) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! sig-ready0-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -994,9 +994,9 @@ art-group data (cond - ((and v1-2 (= v1-2 (-> self draw art-group data 4))) + ((and v1-2 (= v1-2 sig-idle-right0-ja)) (ja-channel-push! 1 (seconds 0.1)) - (ja-no-eval :group! (-> self draw art-group data 5) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! sig-idle-right0-to-ready0-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -1006,7 +1006,7 @@ (else (let ((v1-32 (ja-group))) (cond - ((and v1-32 (= v1-32 (-> self draw art-group data 5))) + ((and v1-32 (= v1-32 sig-idle-right0-to-ready0-ja)) (ja-no-eval :num! (seek!)) (while (not (ja-done? 0)) (suspend) @@ -1017,7 +1017,7 @@ (else (let ((v1-46 (ja-group))) (cond - ((and v1-46 (= v1-46 (-> self draw art-group data 7))) + ((and v1-46 (= v1-46 sig-ready0-ja)) (ja-no-eval :num! (seek!)) (while (not (ja-done? 0)) (suspend) @@ -1095,15 +1095,15 @@ 0.0 (let ((f30-0 (cond ((< (fabs (-> self focus-info ry-diff)) 8192.0) - (set! a1-2 (-> self draw art-group data 9)) + (set! a1-2 sig-whip-forward-ja) 18.0 ) ((< (-> self focus-info ry-diff) 0.0) - (set! a1-2 (-> self draw art-group data 11)) + (set! a1-2 sig-whip-right-ja) 16.0 ) (else - (set! a1-2 (-> self draw art-group data 10)) + (set! a1-2 sig-whip-left-ja) 18.0 ) ) @@ -1159,15 +1159,15 @@ (cond ((< (fabs (-> self focus-info ry-diff)) 8192.0) (ja-channel-push! 1 (seconds 0.1)) - (set! gp-0 (-> self draw art-group data 12)) + (set! gp-0 sig-blast-forward-ja) ) ((< (-> self focus-info ry-diff) 0.0) (ja-channel-push! 1 (seconds 0.1)) - (set! gp-0 (-> self draw art-group data 14)) + (set! gp-0 sig-blast-right-ja) ) (else (ja-channel-push! 1 (seconds 0.1)) - (set! gp-0 (-> self draw art-group data 13)) + (set! gp-0 sig-blast-left-ja) ) ) (let ((f30-1 (ja-aframe f30-0 0))) @@ -1273,16 +1273,7 @@ (logclear! (-> self enemy-flags) (enemy-flag actor-pause-backup)) ) :code (behavior () - (push-anim-to-targ - (-> self skel top-anim) - (the-as art-joint-anim (-> self draw art-group data 45)) - 0.0 - 9 - 9 - 1.0 - 0.0 - #f - ) + (push-anim-to-targ (-> self skel top-anim) (the-as art-joint-anim sig-upper-shoot-ja) 0.0 9 9 1.0 0.0 #f) (until (time-elapsed? (-> self state-time) (seconds 0.167)) (sig-method-258 self) (suspend) @@ -1300,16 +1291,7 @@ 0 ) (else - (push-anim-to-targ - (-> self skel top-anim) - (the-as art-joint-anim (-> self draw art-group data 44)) - 0.0 - 30 - 0 - 1.0 - 0.0 - #f - ) + (push-anim-to-targ (-> self skel top-anim) (the-as art-joint-anim sig-upper-base-high-ja) 0.0 30 0 1.0 0.0 #f) ) ) ) @@ -1353,7 +1335,7 @@ :code (behavior () (local-vars (v1-31 enemy-flag) (v1-39 enemy-flag)) (ja-channel-push! 1 (seconds 0.1)) - (ja-no-eval :group! (-> self draw art-group data 4) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! sig-idle-right0-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -1432,13 +1414,13 @@ ) :code (behavior () (ja-channel-push! 1 (seconds 0.2)) - (ja-no-eval :group! (-> self draw art-group data 7) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! sig-ready0-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) ) (ja-channel-push! 1 (seconds 0.2)) - (ja-no-eval :group! (-> self draw art-group data 6) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! sig-ready0-to-idle-right0-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -1446,7 +1428,7 @@ (ja-channel-push! 1 (seconds 0.2)) (set-time! (-> self state-time)) (until #f - (ja-no-eval :group! (-> self draw art-group data 4) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! sig-idle-right0-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (if (and (logtest? (-> self bot-flags) (bot-flags failed)) (time-elapsed? (-> self state-time) (seconds 0.5)) @@ -1502,12 +1484,12 @@ ) :code (behavior () (let ((v1-2 (ja-group))) - (if (and v1-2 (or (= v1-2 (-> self draw art-group data 58)) (= v1-2 (-> self draw art-group data 60)))) + (if (and v1-2 (or (= v1-2 sig-chased-run-jump-land0-ja) (= v1-2 sig-chased-shoot-jump-land0-ja))) (ja-channel-push! 1 (seconds 0.07)) (ja-channel-push! 1 (seconds 0.15)) ) ) - (ja-no-eval :group! (-> self draw art-group data 56) :num! (loop!)) + (ja-no-eval :group! sig-chased-run0-ja :num! (loop!)) (until #f (suspend) (let* ((f0-1 (vector-length (-> self root transv))) @@ -1568,12 +1550,12 @@ :code (behavior () (let ((f30-0 0.0)) (let ((v1-2 (ja-group))) - (if (and v1-2 (= v1-2 (-> self draw art-group data 57))) + (if (and v1-2 (= v1-2 sig-chased-run-jump0-ja)) (set! f30-0 1.0) ) ) (ja-channel-push! 1 (seconds 0.07)) - (ja-no-eval :group! (-> self draw art-group data 57) :num! (seek!) :frame-num f30-0) + (ja-no-eval :group! sig-chased-run-jump0-ja :num! (seek!) :frame-num f30-0) ) (until (ja-done? 0) (suspend) @@ -1632,7 +1614,7 @@ (let* ((f0-0 (vector-length (-> self root transv))) (f0-2 (fmax 0.1 (* 0.000020345053 f0-0))) ) - (ja-no-eval :group! (-> self draw art-group data 58) :num! (seek! max f0-2) :frame-num 0.0) + (ja-no-eval :group! sig-chased-run-jump-land0-ja :num! (seek! max f0-2) :frame-num 0.0) ) (until (ja-done? 0) (suspend) @@ -1695,12 +1677,12 @@ :code (behavior () (let ((f30-0 0.0)) (let ((v1-2 (ja-group))) - (if (and v1-2 (= v1-2 (-> self draw art-group data 59))) + (if (and v1-2 (= v1-2 sig-chased-shoot-jump0-ja)) (set! f30-0 1.0) ) ) (ja-channel-push! 1 (seconds 0.07)) - (ja-no-eval :group! (-> self draw art-group data 59) :num! (seek!) :frame-num f30-0) + (ja-no-eval :group! sig-chased-shoot-jump0-ja :num! (seek!) :frame-num f30-0) ) (until (ja-done? 0) (if (and (not (logtest? (bot-flags bf25) (-> self bot-flags))) @@ -1764,7 +1746,7 @@ (let* ((f0-0 (vector-length (-> self root transv))) (f0-2 (fmax 0.1 (* 0.000020345053 f0-0))) ) - (ja-no-eval :group! (-> self draw art-group data 60) :num! (seek! max f0-2) :frame-num 0.0) + (ja-no-eval :group! sig-chased-shoot-jump-land0-ja :num! (seek! max f0-2) :frame-num 0.0) ) (until (ja-done? 0) (suspend) @@ -1801,13 +1783,13 @@ ) :code (behavior () (ja-channel-push! 1 (seconds 0.15)) - (ja-no-eval :group! (-> self draw art-group data 61) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! sig-chased-idle-start-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) ) (until #f - (ja-no-eval :group! (-> self draw art-group data 62) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! sig-chased-idle-loop-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) diff --git a/goal_src/jak2/levels/common/enemy/grenadier.gc b/goal_src/jak2/levels/common/enemy/grenadier.gc index a51027a593c..7b9b8fbf6bc 100644 --- a/goal_src/jak2/levels/common/enemy/grenadier.gc +++ b/goal_src/jak2/levels/common/enemy/grenadier.gc @@ -763,7 +763,7 @@ (('event-attack) (let ((s4-0 (handle->process (-> self focus handle)))) (when s4-0 - (let ((gp-0 (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 34)))) + (let ((gp-0 (vector<-cspace! (new 'stack-no-clear 'vector) (joint-node-index grenadier-lod0-jg bomb)))) (let ((s5-1 (vector-! (new 'stack-no-clear 'vector) (get-trans (the-as process-focusable s4-0) 0) gp-0))) (let ((s4-1 (new 'stack-no-clear 'vector))) (let ((f0-0 (vector-length s5-1))) diff --git a/goal_src/jak2/levels/common/enemy/guards/crimson-guard-level.gc b/goal_src/jak2/levels/common/enemy/guards/crimson-guard-level.gc index bd07fad212c..430e7c496ec 100644 --- a/goal_src/jak2/levels/common/enemy/guards/crimson-guard-level.gc +++ b/goal_src/jak2/levels/common/enemy/guards/crimson-guard-level.gc @@ -1972,7 +1972,7 @@ (speech-control-method-12 *speech-control* self (speech-type speech-type-13)) (ja-channel-push! 1 (seconds 0.2)) (let ((f30-0 (get-rand-float-range self 0.9 1.1))) - (ja-no-eval :group! (-> self draw art-group data 19) :num! (seek! max f30-0) :frame-num 0.0) + (ja-no-eval :group! crimson-guard-idle-to-stab-idle-ja :num! (seek! max f30-0) :frame-num 0.0) (until (ja-done? 0) (seek-toward-heading-vec! (-> self root) (-> self target-self-xz) 65536.0 (seconds 0.02)) (suspend) @@ -1985,7 +1985,7 @@ ) (goto cfg-13) ) - (ja-no-eval :group! (-> self draw art-group data 20) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! crimson-guard-stab-idle-loop-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -1995,7 +1995,7 @@ (label cfg-13) (let ((f30-1 (get-rand-float-range self 0.9 1.1))) (ja-channel-push! 1 (seconds 0.2)) - (ja-no-eval :group! (-> self draw art-group data 24) :num! (seek! max f30-1) :frame-num 0.0) + (ja-no-eval :group! crimson-guard-stab-idle-to-idle-ja :num! (seek! max f30-1) :frame-num 0.0) (until (ja-done? 0) (seek-toward-heading-vec! (-> self root) (-> self target-self-xz) 65536.0 (seconds 0.02)) (suspend) @@ -2612,7 +2612,7 @@ ) :code (behavior () (ja-channel-push! 1 (seconds 0.2)) - (ja-no-eval :group! (-> self draw art-group data 18) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! crimson-guard-rifle-butt-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -2707,7 +2707,7 @@ ) :code (behavior () (ja-channel-push! 1 (seconds 0.2)) - (ja-no-eval :group! (-> self draw art-group data 37) + (ja-no-eval :group! crimson-guard-grenade-attack-ja :num! (seek! (ja-aframe 12.0 0)) :frame-num (ja-aframe 1.0 0) ) @@ -2718,7 +2718,7 @@ ) (let ((gp-2 (current-time))) (until (time-elapsed? gp-2 (the int (* 900.0 (you-suck-scale *game-info* #f)))) - (ja-no-eval :group! (-> self draw art-group data 37) + (ja-no-eval :group! crimson-guard-grenade-attack-ja :num! (seek! (ja-aframe 12.0 0)) :frame-num (ja-aframe 12.0 0) ) @@ -2734,7 +2734,7 @@ ) ) (crimson-guard-level-method-192 self) - (ja-no-eval :group! (-> self draw art-group data 37) + (ja-no-eval :group! crimson-guard-grenade-attack-ja :num! (seek! (ja-aframe 32.0 0)) :frame-num (ja-aframe 22.0 0) ) @@ -2742,7 +2742,7 @@ (suspend) (ja :num! (seek! (ja-aframe 32.0 0))) ) - (ja-no-eval :group! (-> self draw art-group data 37) + (ja-no-eval :group! crimson-guard-grenade-attack-ja :num! (seek! (ja-aframe 37.0 0)) :frame-num (ja-aframe 33.0 0) ) @@ -2829,7 +2829,7 @@ :code (behavior () (local-vars (v1-69 symbol)) (ja-channel-push! 1 (seconds 0.2)) - (ja-no-eval :group! (-> self draw art-group data 19) :num! (seek! (ja-aframe 7.0 0)) :frame-num 0.0) + (ja-no-eval :group! crimson-guard-idle-to-stab-idle-ja :num! (seek! (ja-aframe 7.0 0)) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek! (ja-aframe 7.0 0))) @@ -2843,7 +2843,7 @@ ) (cond ((< 5461.3335 (fabs (-> self target-y-angle))) - (ja-no-eval :group! (-> self draw art-group data 25) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! crimson-guard-stab-shuffle-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (if (< 5461.3335 (fabs (-> self target-y-angle))) (seek-to-point-toward-point! @@ -2858,7 +2858,7 @@ ) ) (else - (ja-no-eval :group! (-> self draw art-group data 20) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! crimson-guard-stab-idle-loop-ja :num! (seek!) :frame-num 0.0) (until v1-69 (suspend) (ja :num! (seek!)) @@ -2888,7 +2888,7 @@ ) (else (ja-channel-push! 1 (seconds 0.1)) - (ja-no-eval :group! (-> self draw art-group data 21) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! crimson-guard-stab-idle-to-attack-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -2926,7 +2926,7 @@ (s5-1 150) (f30-0 1.0) ) - (ja-no-eval :group! (-> self draw art-group data 22) :num! (loop! f30-0) :frame-num 0.0) + (ja-no-eval :group! crimson-guard-stab-attack-ja :num! (loop! f30-0) :frame-num 0.0) (until (time-elapsed? gp-4 s5-1) (crimson-guard-level-method-198 self) (suspend) @@ -2954,7 +2954,7 @@ ) (set! (-> v1-151 state mode) (the-as lightning-mode a0-44)) ) - (ja-no-eval :group! (-> self draw art-group data 23) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! crimson-guard-stab-attack-to-stab-idle-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -2969,7 +2969,7 @@ ) ) (when (not (handle->process (-> self focus handle))) - (ja-no-eval :group! (-> self draw art-group data 24) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! crimson-guard-stab-idle-to-idle-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -3162,10 +3162,7 @@ (ja-channel-push! 1 (seconds 0.1)) (cond ((logtest? (enemy-flag dislike-combo) (-> self enemy-flags)) - (ja-no-eval :group! (-> self draw art-group data 40) - :num! (seek! (ja-aframe 6.0 0)) - :frame-num (ja-aframe 0.0 0) - ) + (ja-no-eval :group! crimson-guard-jump-right-ja :num! (seek! (ja-aframe 6.0 0)) :frame-num (ja-aframe 0.0 0)) (until (ja-done? 0) (let ((a0-20 (handle->process (-> self focus handle)))) (if a0-20 @@ -3182,10 +3179,7 @@ ) ) (else - (ja-no-eval :group! (-> self draw art-group data 41) - :num! (seek! (ja-aframe 9.0 0)) - :frame-num (ja-aframe 0.0 0) - ) + (ja-no-eval :group! crimson-guard-jump-left-ja :num! (seek! (ja-aframe 9.0 0)) :frame-num (ja-aframe 0.0 0)) (until (ja-done? 0) (let ((a0-33 (handle->process (-> self focus handle)))) (if a0-33 @@ -3209,20 +3203,14 @@ 0 (cond ((logtest? (enemy-flag dislike-combo) (-> self enemy-flags)) - (ja-no-eval :group! (-> self draw art-group data 40) - :num! (seek! (ja-aframe 11.0 0)) - :frame-num (ja-aframe 6.0 0) - ) + (ja-no-eval :group! crimson-guard-jump-right-ja :num! (seek! (ja-aframe 11.0 0)) :frame-num (ja-aframe 6.0 0)) (until (ja-done? 0) (suspend) (ja :num! (seek! (ja-aframe 11.0 0))) ) ) (else - (ja-no-eval :group! (-> self draw art-group data 41) - :num! (seek! (ja-aframe 11.0 0)) - :frame-num (ja-aframe 9.0 0) - ) + (ja-no-eval :group! crimson-guard-jump-left-ja :num! (seek! (ja-aframe 11.0 0)) :frame-num (ja-aframe 9.0 0)) (until (ja-done? 0) (suspend) (ja :num! (seek! (ja-aframe 11.0 0))) @@ -3273,10 +3261,7 @@ (ja-channel-push! 1 (seconds 0.1)) (cond ((logtest? (enemy-flag dislike-combo) (-> self enemy-flags)) - (ja-no-eval :group! (-> self draw art-group data 41) - :num! (seek! (ja-aframe 9.0 0)) - :frame-num (ja-aframe 0.0 0) - ) + (ja-no-eval :group! crimson-guard-jump-left-ja :num! (seek! (ja-aframe 9.0 0)) :frame-num (ja-aframe 0.0 0)) (until (ja-done? 0) (let ((a0-20 (handle->process (-> self focus handle)))) (if a0-20 @@ -3293,10 +3278,7 @@ ) ) (else - (ja-no-eval :group! (-> self draw art-group data 40) - :num! (seek! (ja-aframe 6.0 0)) - :frame-num (ja-aframe 0.0 0) - ) + (ja-no-eval :group! crimson-guard-jump-right-ja :num! (seek! (ja-aframe 6.0 0)) :frame-num (ja-aframe 0.0 0)) (until (ja-done? 0) (let ((a0-33 (handle->process (-> self focus handle)))) (if a0-33 @@ -3320,20 +3302,14 @@ 0 (cond ((logtest? (enemy-flag dislike-combo) (-> self enemy-flags)) - (ja-no-eval :group! (-> self draw art-group data 41) - :num! (seek! (ja-aframe 11.0 0)) - :frame-num (ja-aframe 9.0 0) - ) + (ja-no-eval :group! crimson-guard-jump-left-ja :num! (seek! (ja-aframe 11.0 0)) :frame-num (ja-aframe 9.0 0)) (until (ja-done? 0) (suspend) (ja :num! (seek! (ja-aframe 11.0 0))) ) ) (else - (ja-no-eval :group! (-> self draw art-group data 40) - :num! (seek! (ja-aframe 11.0 0)) - :frame-num (ja-aframe 6.0 0) - ) + (ja-no-eval :group! crimson-guard-jump-right-ja :num! (seek! (ja-aframe 11.0 0)) :frame-num (ja-aframe 6.0 0)) (until (ja-done? 0) (suspend) (ja :num! (seek! (ja-aframe 11.0 0))) @@ -3617,7 +3593,7 @@ (let ((gp-1 #t)) (let ((v1-24 (ja-group))) (cond - ((and v1-24 (or (= v1-24 (-> self draw art-group data 33)) (= v1-24 (-> self draw art-group data 34)))) + ((and v1-24 (or (= v1-24 crimson-guard-get-up-front-ja) (= v1-24 crimson-guard-get-up-back-ja))) (ja-no-eval :num! (seek!)) (while (not (ja-done? 0)) (suspend) @@ -3625,7 +3601,7 @@ ) ) ((let ((v1-39 (ja-group))) - (and v1-39 (= v1-39 (-> self draw art-group data 8))) + (and v1-39 (= v1-39 crimson-guard-knocked-ja)) ) (ja-no-eval :num! (seek!)) (while (not (ja-done? 0)) @@ -3633,7 +3609,7 @@ (ja-eval) ) (ja-channel-push! 1 (seconds 0.07)) - (ja-no-eval :group! (-> self draw art-group data 9) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! crimson-guard-knocked-land-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -3641,7 +3617,7 @@ (set! gp-1 #f) ) ((let ((v1-79 (ja-group))) - (and v1-79 (= v1-79 (-> self draw art-group data 31))) + (and v1-79 (= v1-79 crimson-guard-knocked-back-ja)) ) (ja-no-eval :num! (seek!)) (while (not (ja-done? 0)) @@ -3649,7 +3625,7 @@ (ja-eval) ) (ja-channel-push! 1 (seconds 0.07)) - (ja-no-eval :group! (-> self draw art-group data 32) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! crimson-guard-knocked-back-land-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -3657,7 +3633,7 @@ (set! gp-1 #f) ) ((let ((v1-119 (ja-group))) - (and v1-119 (= v1-119 (-> self draw art-group data 9))) + (and v1-119 (= v1-119 crimson-guard-knocked-land-ja)) ) (ja-no-eval :num! (seek!)) (while (not (ja-done? 0)) @@ -3665,14 +3641,14 @@ (ja-eval) ) (ja-channel-push! 1 (seconds 0.07)) - (ja-no-eval :group! (-> self draw art-group data 34) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! crimson-guard-get-up-back-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) ) ) ((let ((v1-158 (ja-group))) - (and v1-158 (= v1-158 (-> self draw art-group data 32))) + (and v1-158 (= v1-158 crimson-guard-knocked-back-land-ja)) ) (ja-no-eval :num! (seek!)) (while (not (ja-done? 0)) @@ -3680,7 +3656,7 @@ (ja-eval) ) (ja-channel-push! 1 (seconds 0.07)) - (ja-no-eval :group! (-> self draw art-group data 33) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! crimson-guard-get-up-front-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -3690,7 +3666,7 @@ ) (when gp-1 (ja-channel-push! 1 (seconds 0.1)) - (ja-no-eval :group! (-> self draw art-group data 17) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! crimson-guard-die-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -4054,7 +4030,7 @@ (s5-0 150) (f30-0 2.0) ) - (ja-no-eval :group! (-> self draw art-group data 6) :num! (loop! f30-0) :frame-num 0.0) + (ja-no-eval :group! crimson-guard-run-ja :num! (loop! f30-0) :frame-num 0.0) (until (time-elapsed? gp-0 s5-0) (crimson-guard-level-method-201 self (* 0.006666667 (the float (- (current-time) (-> self state-time))))) (suspend) diff --git a/goal_src/jak2/levels/common/enemy/guards/transport-level.gc b/goal_src/jak2/levels/common/enemy/guards/transport-level.gc index 2c5c0bbabd9..85ff01825ce 100644 --- a/goal_src/jak2/levels/common/enemy/guards/transport-level.gc +++ b/goal_src/jak2/levels/common/enemy/guards/transport-level.gc @@ -112,7 +112,7 @@ ) :code (behavior () (ja-channel-push! 1 0) - (ja-no-eval :group! (-> self draw art-group data 4) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! transport-idle-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -146,7 +146,7 @@ :code (behavior () (ja-channel-push! 1 0) (sound-play "tran-door-open") - (ja-no-eval :group! (-> self draw art-group data 5) :num! (seek! max 0.5) :frame-num 0.0) + (ja-no-eval :group! transport-hatch-open-ja :num! (seek! max 0.5) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek! max 0.5)) @@ -210,7 +210,7 @@ (ja-channel-push! 1 0) (sound-play "tran-thrust") (sound-play "tran-door-close") - (ja-no-eval :group! (-> self draw art-group data 6) :num! (seek! max 0.2) :frame-num 0.0) + (ja-no-eval :group! transport-hatch-close-ja :num! (seek! max 0.2) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek! max 0.2)) diff --git a/goal_src/jak2/levels/common/enemy/hover/flamer.gc b/goal_src/jak2/levels/common/enemy/hover/flamer.gc index d61c2bff949..1f8ca433774 100644 --- a/goal_src/jak2/levels/common/enemy/hover/flamer.gc +++ b/goal_src/jak2/levels/common/enemy/hover/flamer.gc @@ -850,7 +850,7 @@ 0 (set! (-> self flit-joint twist-min-y) (the-as float #f)) (vector-reset! (-> self flit-joint target)) - (vector<-cspace! (-> self main-joint-pos) (-> self node-list data 3)) + (vector<-cspace! (-> self main-joint-pos) (joint-node-index flamer-lod0-jg main)) (vector-reset! (-> self main-joint-vel)) (vector-reset! (-> self main-joint-acc)) (set! (-> self main-acceleration) 0.0) @@ -1062,7 +1062,7 @@ (('event-attack) (let ((s5-0 (handle->process (-> self focus handle)))) (when s5-0 - (let ((gp-0 (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 9)))) + (let ((gp-0 (vector<-cspace! (new 'stack-no-clear 'vector) (joint-node-index flamer-lod0-jg tailF)))) (let ((a2-1 (get-trans (the-as process-focusable s5-0) 3)) (s5-1 (new 'stack-no-clear 'vector)) ) diff --git a/goal_src/jak2/levels/common/enemy/spyder.gc b/goal_src/jak2/levels/common/enemy/spyder.gc index e0ce458d8b0..97018b4dc05 100644 --- a/goal_src/jak2/levels/common/enemy/spyder.gc +++ b/goal_src/jak2/levels/common/enemy/spyder.gc @@ -1065,7 +1065,7 @@ (let ((f28-0 0.0)) (dotimes (s4-0 8) (let* ((f26-0 (fmin (-> self root trans y) (-> gp-0 y))) - (s3-0 (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 27))) + (s3-0 (vector<-cspace! (new 'stack-no-clear 'vector) (joint-node-index spyder-lod0-jg shoot))) (f0-11 (fmin 40960.0 (+ -16384.0 (vector-vector-distance s3-0 gp-0)))) (s2-1 (vector-! (new 'stack-no-clear 'vector) s3-0 gp-0)) ) diff --git a/goal_src/jak2/levels/common/race/race-obs.gc b/goal_src/jak2/levels/common/race/race-obs.gc index a9686596c8e..92bca4221b3 100644 --- a/goal_src/jak2/levels/common/race/race-obs.gc +++ b/goal_src/jak2/levels/common/race/race-obs.gc @@ -555,14 +555,14 @@ (ja-channel-push! 1 (seconds 0.05)) (cond ((zero? (rand-vu-int-count 2)) - (ja-no-eval :group! (-> self draw art-group data 6) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! stadium-racer-car-taunt-left-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) ) ) (else - (ja-no-eval :group! (-> self draw art-group data 7) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! stadium-racer-car-taunt-right-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) diff --git a/goal_src/jak2/levels/common/warp-gate.gc b/goal_src/jak2/levels/common/warp-gate.gc index 31e61c8a17f..9f0567467de 100644 --- a/goal_src/jak2/levels/common/warp-gate.gc +++ b/goal_src/jak2/levels/common/warp-gate.gc @@ -862,7 +862,7 @@ This commonly includes things such as: ) :code (behavior ((arg0 vector) (arg1 vector) (arg2 target)) (ja-channel-push! 1 (seconds 0.2)) - (ja-no-eval :group! (-> self draw art-group data 30) :num! (seek! (ja-aframe 16.0 0)) :frame-num 0.0) + (ja-no-eval :group! jakb-duck-high-jump-ja :num! (seek! (ja-aframe 16.0 0)) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek! (ja-aframe 16.0 0))) @@ -944,10 +944,7 @@ This commonly includes things such as: (none) ) ) - (ja-no-eval :group! (-> self draw art-group data 30) - :num! (seek! (ja-aframe 40.0 0)) - :frame-num (ja-aframe 16.0 0) - ) + (ja-no-eval :group! jakb-duck-high-jump-ja :num! (seek! (ja-aframe 40.0 0)) :frame-num (ja-aframe 16.0 0)) (until (ja-done? 0) (suspend) (ja :num! (seek! (ja-aframe 40.0 0))) @@ -1038,10 +1035,7 @@ This commonly includes things such as: ) (send-event self 'draw #t) (sound-play "warpgate-tele") - (ja-no-eval :group! (-> self draw art-group data 30) - :num! (seek! (ja-aframe 42.0 0)) - :frame-num (ja-aframe 40.0 0) - ) + (ja-no-eval :group! jakb-duck-high-jump-ja :num! (seek! (ja-aframe 42.0 0)) :frame-num (ja-aframe 40.0 0)) (until (ja-done? 0) (let ((v1-59 (new-stack-vector0))) (let ((f0-5 (vector-dot (-> self control dynam gravity-normal) (-> self control transv)))) @@ -1066,10 +1060,7 @@ This commonly includes things such as: (suspend) (ja :num! (seek! (ja-aframe 42.0 0))) ) - (ja-no-eval :group! (-> self draw art-group data 30) - :num! (seek! (ja-aframe 50.0 0)) - :frame-num (ja-aframe 42.0 0) - ) + (ja-no-eval :group! jakb-duck-high-jump-ja :num! (seek! (ja-aframe 50.0 0)) :frame-num (ja-aframe 42.0 0)) (until (ja-done? 0) (suspend) (ja :num! (seek! (ja-aframe 50.0 0))) @@ -1078,7 +1069,7 @@ This commonly includes things such as: (set! (-> v1-80 prim-core collide-as) (-> self control backup-collide-as)) (set! (-> v1-80 prim-core collide-with) (-> self control backup-collide-with)) ) - (ja-no-eval :group! (-> self draw art-group data 30) :num! (seek!) :frame-num (ja-aframe 50.0 0)) + (ja-no-eval :group! jakb-duck-high-jump-ja :num! (seek!) :frame-num (ja-aframe 50.0 0)) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -1227,8 +1218,8 @@ This commonly includes things such as: (* 450.56 (cos (* 42.25403 (the float (mod (current-time) 1551))))) ) ) - (spawn-with-cspace (-> self part-exhaust-left) (-> self node-list data 5)) - (spawn-with-cspace (-> self part-exhaust-right) (-> self node-list data 6)) + (spawn-with-cspace (-> self part-exhaust-left) (joint-node-index air-train-lod0-jg thruster_l)) + (spawn-with-cspace (-> self part-exhaust-right) (joint-node-index air-train-lod0-jg thruster_r)) (let ((f0-9 (-> self dust-y))) (when (!= f0-9 (the-as float #x7f800000)) (let ((a1-2 (new 'stack-no-clear 'vector))) diff --git a/goal_src/jak2/levels/dig/dig-digger.gc b/goal_src/jak2/levels/dig/dig-digger.gc index 267bd85214c..54e198cdc71 100644 --- a/goal_src/jak2/levels/dig/dig-digger.gc +++ b/goal_src/jak2/levels/dig/dig-digger.gc @@ -588,11 +588,11 @@ ) (cond ((-> self b) - (ja :group! dig-digger-idle-ja :num! max) + (ja :group! dig-clasp-idle-ja :num! max) (setup-masks (-> self draw) 0 2) ) (else - (ja :group! dig-digger-idle-ja :num! max) + (ja :group! dig-clasp-idle-ja :num! max) (setup-masks (-> self draw) 0 2) ) ) @@ -617,11 +617,11 @@ (play-communicator-speech! (-> *talker-speech* 192)) (cond ((-> self b) - (ja :group! dig-digger-idle-ja :num! min) + (ja :group! dig-clasp-idle-ja :num! min) (setup-masks (-> self draw) 0 2) ) (else - (ja :group! dig-digger-idle-ja :num! min) + (ja :group! dig-clasp-idle-ja :num! min) (setup-masks (-> self draw) 0 2) ) ) @@ -1282,7 +1282,7 @@ This commonly includes things such as: ) (when (< f0-0 (* f1-0 f1-0)) (let ((gp-1 (new 'stack-no-clear 'vector))) - (vector<-cspace! gp-1 (-> self node-list data 29)) + (vector<-cspace! gp-1 (joint-node-index dig-digger-lod0-jg smoke1)) (sound-play "digger-motor" :id (-> self motor-sound) :position gp-1) ) (sound-play "digger-bit" :id (-> self bit-sound) :position (-> self root trans)) @@ -1318,10 +1318,10 @@ This commonly includes things such as: (update! (-> self y-offset) (-> self y-offset-kicker value)) (set! (-> self root trans y) (+ (-> self start-y) (* 4096.0 (-> self y-offset osc value)))) (when (nonzero? (-> self smoke-part)) - (spawn-with-cspace (-> self smoke-part) (-> self node-list data 28)) - (spawn-with-cspace (-> self smoke-part) (-> self node-list data 29)) - (spawn-with-cspace (-> self smoke-part) (-> self node-list data 30)) - (spawn-with-cspace (-> self smoke-part) (-> self node-list data 31)) + (spawn-with-cspace (-> self smoke-part) (joint-node-index dig-digger-lod0-jg smoke)) + (spawn-with-cspace (-> self smoke-part) (joint-node-index dig-digger-lod0-jg smoke1)) + (spawn-with-cspace (-> self smoke-part) (joint-node-index dig-digger-lod0-jg smoke2)) + (spawn-with-cspace (-> self smoke-part) (joint-node-index dig-digger-lod0-jg smoke3)) ) (if (nonzero? (-> self part)) (spawn (-> self part) (-> self root trans)) diff --git a/goal_src/jak2/levels/dig/dig1-obs.gc b/goal_src/jak2/levels/dig/dig1-obs.gc index 0494fc2ceec..12336e58fc4 100644 --- a/goal_src/jak2/levels/dig/dig1-obs.gc +++ b/goal_src/jak2/levels/dig/dig1-obs.gc @@ -406,7 +406,7 @@ ) :trans (behavior () (let ((v1-2 (ja-group))) - (when (and v1-2 (= v1-2 (-> self draw art-group data 3))) + (when (and v1-2 (= v1-2 dig-bomb-crate-cylinder-pulse-ja)) (let* ((gp-0 (-> self flash-counter)) (v1-5 gp-0) ) @@ -445,69 +445,69 @@ (while (< (current-time) (-> self wait-time)) (suspend) ) - (ja-no-eval :group! (-> self draw art-group data 3) :num! (seek! max f30-0) :frame-num 0.0) + (ja-no-eval :group! dig-bomb-crate-cylinder-pulse-ja :num! (seek! max f30-0) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek! max f30-0)) ) - (ja-no-eval :group! (-> self draw art-group data 2) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! dig-bomb-crate-cylinder-idle-ja :num! (seek!) :frame-num 0.0) (let ((gp-1 (current-time))) (until (time-elapsed? gp-1 (seconds 0.5)) (suspend) ) ) - (ja-no-eval :group! (-> self draw art-group data 3) :num! (seek! max f30-0) :frame-num 0.0) + (ja-no-eval :group! dig-bomb-crate-cylinder-pulse-ja :num! (seek! max f30-0) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek! max f30-0)) ) - (ja-no-eval :group! (-> self draw art-group data 2) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! dig-bomb-crate-cylinder-idle-ja :num! (seek!) :frame-num 0.0) (let ((gp-2 (current-time))) (until (time-elapsed? gp-2 (seconds 0.5)) (suspend) ) ) - (ja-no-eval :group! (-> self draw art-group data 3) :num! (seek! max f30-0) :frame-num 0.0) + (ja-no-eval :group! dig-bomb-crate-cylinder-pulse-ja :num! (seek! max f30-0) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek! max f30-0)) ) ) - (ja-no-eval :group! (-> self draw art-group data 2) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! dig-bomb-crate-cylinder-idle-ja :num! (seek!) :frame-num 0.0) (let ((gp-3 (current-time))) (until (time-elapsed? gp-3 (seconds 0.5)) (suspend) ) ) - (ja-no-eval :group! (-> self draw art-group data 3) :num! (seek! max 0.375) :frame-num 0.0) + (ja-no-eval :group! dig-bomb-crate-cylinder-pulse-ja :num! (seek! max 0.375) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek! max 0.375)) ) - (ja-no-eval :group! (-> self draw art-group data 2) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! dig-bomb-crate-cylinder-idle-ja :num! (seek!) :frame-num 0.0) (let ((gp-4 (current-time))) (until (time-elapsed? gp-4 (seconds 0.25)) (suspend) ) ) - (ja-no-eval :group! (-> self draw art-group data 3) :num! (seek! max 0.4375) :frame-num 0.0) + (ja-no-eval :group! dig-bomb-crate-cylinder-pulse-ja :num! (seek! max 0.4375) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek! max 0.4375)) ) - (ja-no-eval :group! (-> self draw art-group data 2) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! dig-bomb-crate-cylinder-idle-ja :num! (seek!) :frame-num 0.0) (let ((gp-5 (current-time))) (until (time-elapsed? gp-5 (seconds 0.125)) (suspend) ) ) (dotimes (gp-6 12) - (ja-no-eval :group! (-> self draw art-group data 3) :num! (seek! max 0.437) :frame-num 0.0) + (ja-no-eval :group! dig-bomb-crate-cylinder-pulse-ja :num! (seek! max 0.437) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek! max 0.437)) ) - (ja-no-eval :group! (-> self draw art-group data 2) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! dig-bomb-crate-cylinder-idle-ja :num! (seek!) :frame-num 0.0) (let ((s5-0 (current-time))) (until (time-elapsed? s5-0 (seconds 0.05)) (suspend) @@ -1018,7 +1018,7 @@ This commonly includes things such as: :virtual #t :code (behavior () (sound-play "dig-air-lifter") - (let ((s5-1 (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 3))) + (let ((s5-1 (vector<-cspace! (new 'stack-no-clear 'vector) (joint-node-index dig-jump-pad-lod0-jg main))) (gp-1 (get-process *default-dead-pool* part-tracker #x4000)) ) (when gp-1 diff --git a/goal_src/jak2/levels/drill/drill-baron.gc b/goal_src/jak2/levels/drill/drill-baron.gc index 253418da9a7..368b0f20e7b 100644 --- a/goal_src/jak2/levels/drill/drill-baron.gc +++ b/goal_src/jak2/levels/drill/drill-baron.gc @@ -1079,7 +1079,7 @@ This commonly includes things such as: ) (the-as pair 0) ) - (ja-no-eval :group! (-> self draw art-group data 5) :num! zero) + (ja-no-eval :group! drill-barons-ship-explode-idle-ja :num! zero) (ja-post) (quaternion-rotate-local-y! (-> self root quat) (-> self root quat) 32768.0) (add-process *gui-control* self (gui-channel background) (gui-action play) "shpxplo2" -99.0 0) @@ -1877,24 +1877,24 @@ This commonly includes things such as: ((zero? (-> self info mesh)) (cond ((not (logtest? (-> self shot-counter) 1)) - (vector<-cspace! (-> gp-0 pos) (-> self node-list data 13)) + (vector<-cspace! (-> gp-0 pos) (joint-node-index drill-barons-ship-turret-lod0-jg Lgun)) (calculate-ship-projectile-velocity gp-0 f30-0) (spawn-projectile drill-ship-shot gp-0 self *default-dead-pool*) ) (else - (vector<-cspace! (-> gp-0 pos) (-> self node-list data 14)) + (vector<-cspace! (-> gp-0 pos) (joint-node-index drill-barons-ship-turret-lod0-jg Rgun)) (calculate-ship-projectile-velocity gp-0 f30-0) (spawn-projectile drill-ship-shot gp-0 self *default-dead-pool*) ) ) ) ((not (logtest? (-> self shot-counter) 1)) - (vector<-cspace! (-> gp-0 pos) (-> self node-list data 9)) + (vector<-cspace! (-> gp-0 pos) (joint-node-index drill-barons-ship-turret-lod0-jg shaft_d)) (calculate-ship-projectile-velocity gp-0 f30-0) (spawn-projectile drill-ship-shot gp-0 self *default-dead-pool*) ) (else - (vector<-cspace! (-> gp-0 pos) (-> self node-list data 11)) + (vector<-cspace! (-> gp-0 pos) (joint-node-index drill-barons-ship-turret-lod0-jg gun_left)) (calculate-ship-projectile-velocity gp-0 f30-0) (spawn-projectile drill-ship-shot gp-0 self *default-dead-pool*) ) @@ -1924,12 +1924,12 @@ This commonly includes things such as: (set! (-> gp-0 timeout) (seconds 4)) (cond ((not (logtest? (-> self shot-counter) 1)) - (vector<-cspace! (-> gp-0 pos) (-> self node-list data 6)) + (vector<-cspace! (-> gp-0 pos) (joint-node-index drill-barons-ship-turret-lod0-jg shaft_a)) (calculate-ship-projectile-velocity gp-0 0.0) (spawn-projectile drill-ship-shot gp-0 self *default-dead-pool*) ) (else - (vector<-cspace! (-> gp-0 pos) (-> self node-list data 5)) + (vector<-cspace! (-> gp-0 pos) (joint-node-index drill-barons-ship-turret-lod0-jg R_hatch)) (calculate-ship-projectile-velocity gp-0 0.0) (spawn-projectile drill-ship-shot gp-0 self *default-dead-pool*) ) diff --git a/goal_src/jak2/levels/drill/drill-obs.gc b/goal_src/jak2/levels/drill/drill-obs.gc index d80d1f3ec70..ee22267e75b 100644 --- a/goal_src/jak2/levels/drill/drill-obs.gc +++ b/goal_src/jak2/levels/drill/drill-obs.gc @@ -142,7 +142,7 @@ and translate the platform via the `smush` ) ) :enter (behavior () - (ja :group! (-> self draw art-group data 2) :num! min) + (ja :group! drill-plat-falling-idle-ja :num! min) (logior! (-> self root root-prim prim-core action) (collide-action rideable)) ) :trans drill-plat-falling-trans @@ -289,7 +289,7 @@ This commonly includes things such as: :code (behavior () (ja-channel-push! 1 0) (until #f - (ja-no-eval :group! (-> self draw art-group data 2) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! drill-elevator-idle-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -303,7 +303,7 @@ This commonly includes things such as: :virtual #t :code (behavior () (ja-channel-push! 1 0) - (ja-no-eval :group! (-> self draw art-group data 3) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! drill-elevator-raise-rail-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (sound-play "drill-elevator" :id (-> self sound-id) :position (-> self root trans)) (suspend) @@ -316,7 +316,7 @@ This commonly includes things such as: ) (sound-stop (-> self sound-id)) (sound-play "d-elev-fence-dn" :position (-> self root trans)) - (ja-no-eval :group! (-> self draw art-group data 4) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! drill-elevator-drop-rail-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -344,7 +344,7 @@ This commonly includes things such as: :virtual #t :enter (behavior () (ja-channel-push! 1 0) - (ja-no-eval :group! (-> self draw art-group data 2) :num! zero) + (ja-no-eval :group! drill-elevator-base-idle-ja :num! zero) (-> self skel root-channel 0) (ja-post) ) @@ -1111,7 +1111,7 @@ This commonly includes things such as: (set-switch-color self #f) ) :code (behavior () - (ja :group! (-> self draw art-group data 2) :num! (identity 1.0)) + (ja :group! drill-switch-idle-ja :num! (identity 1.0)) (transform-post) (sleep-code) ) @@ -1182,7 +1182,7 @@ This commonly includes things such as: (set-switch-color self #t) ) :code (behavior () - (ja :group! (-> self draw art-group data 2) :num! (identity (-> self down-frame))) + (ja :group! drill-switch-idle-ja :num! (identity (-> self down-frame))) (transform-post) (cond ((= (-> self timeout) 0.0) diff --git a/goal_src/jak2/levels/drill/drill-obs2.gc b/goal_src/jak2/levels/drill/drill-obs2.gc index 4c05263cc1a..26805c9d53f 100644 --- a/goal_src/jak2/levels/drill/drill-obs2.gc +++ b/goal_src/jak2/levels/drill/drill-obs2.gc @@ -51,7 +51,7 @@ ) :code (behavior () (ja-channel-push! 1 0) - (ja :group! (-> self draw art-group data 2) :num! min) + (ja :group! drill-flip-step-swing-up-ja :num! min) (transform-post) (sleep-code) ) @@ -72,7 +72,7 @@ :trans plat-trans :code (behavior () (ja-channel-push! 1 0) - (ja :group! (-> self draw art-group data 3) :num! min) + (ja :group! drill-flip-step-swing-down-ja :num! min) (sleep-code) ) :post plat-post @@ -93,7 +93,7 @@ ) :code (behavior () (logclear! (-> self root root-prim prim-core action) (collide-action rideable)) - (ja-no-eval :group! (-> self draw art-group data 3) :num! (seek! max 0.75) :frame-num 0.0) + (ja-no-eval :group! drill-flip-step-swing-down-ja :num! (seek! max 0.75) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek! max 0.75)) @@ -117,7 +117,7 @@ (plat-trans) ) :code (behavior () - (ja-no-eval :group! (-> self draw art-group data 2) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! drill-flip-step-swing-up-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -333,10 +333,10 @@ This commonly includes things such as: (process-entity-status! self (entity-perm-status bit-12) #t) (cond (arg0 - (ja :group! (-> self draw art-group data 6) :num! max) + (ja :group! drill-falling-door-fall-ja :num! max) ) (else - (ja-no-eval :group! (-> self draw art-group data 6) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! drill-falling-door-fall-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -1163,13 +1163,13 @@ This commonly includes things such as: (-> gp-1 ppointer) ) ) - (ja-no-eval :group! (-> self draw art-group data 4) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! drill-bridge-shot-break-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) ) ) - (ja :group! (-> self draw art-group data 4) :num! max) + (ja :group! drill-bridge-shot-break-ja :num! max) (suspend) (logior! (-> self mask) (process-mask sleep)) (suspend) diff --git a/goal_src/jak2/levels/drill/drill-panel.gc b/goal_src/jak2/levels/drill/drill-panel.gc index 7a52753ab78..b8583bc0d3f 100644 --- a/goal_src/jak2/levels/drill/drill-panel.gc +++ b/goal_src/jak2/levels/drill/drill-panel.gc @@ -810,14 +810,14 @@ This commonly includes things such as: :code (behavior ((arg0 symbol)) (when (not arg0) (spawn-explode-part self) - (ja-no-eval :group! (-> self draw art-group data 9) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! drill-control-panel-a-break-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (transform-post) (suspend) (ja :num! (seek!)) ) ) - (ja :group! (-> self draw art-group data 9) :num! max) + (ja :group! drill-control-panel-a-break-ja :num! max) (transform-post) (sleep-code) ) diff --git a/goal_src/jak2/levels/drill/drillmid-obs.gc b/goal_src/jak2/levels/drill/drillmid-obs.gc index 751b1b02a36..764571d0c93 100644 --- a/goal_src/jak2/levels/drill/drillmid-obs.gc +++ b/goal_src/jak2/levels/drill/drillmid-obs.gc @@ -309,7 +309,7 @@ This commonly includes things such as: :virtual #t :code (behavior () (until #f - (ja-no-eval :group! (-> self draw art-group data 2) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! drill-moving-staircase-idle-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) diff --git a/goal_src/jak2/levels/forest/fish.gc b/goal_src/jak2/levels/forest/fish.gc index 32ef4ea5751..7684a2e66bc 100644 --- a/goal_src/jak2/levels/forest/fish.gc +++ b/goal_src/jak2/levels/forest/fish.gc @@ -70,7 +70,7 @@ :virtual #t :code (behavior () (until #f - (ja-no-eval :group! (-> self draw art-group data 2) :num! (seek! max 5.0) :frame-num 0.0) + (ja-no-eval :group! minnow-idle-ja :num! (seek! max 5.0) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek! max 5.0)) diff --git a/goal_src/jak2/levels/forest/forest-obs.gc b/goal_src/jak2/levels/forest/forest-obs.gc index e60ca21ca1d..2713b693953 100644 --- a/goal_src/jak2/levels/forest/forest-obs.gc +++ b/goal_src/jak2/levels/forest/forest-obs.gc @@ -110,7 +110,10 @@ This commonly includes things such as: ) (if (-> self falling?) (vector-v++! (-> self root transv) (compute-acc-due-to-gravity (-> self root) (new-stack-vector0) 1.0)) - (spawn (-> self part) (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 3))) + (spawn + (-> self part) + (vector<-cspace! (new 'stack-no-clear 'vector) (joint-node-index youngsamos-highres-lod0-jg main)) + ) ) (let ((gp-4 (-> self root))) (let ((a2-7 (new 'stack-no-clear 'collide-query))) @@ -228,7 +231,7 @@ This commonly includes things such as: :code (behavior () (ja-channel-push! 1 (seconds 0.2)) (until #f - (ja-no-eval :group! (-> self draw art-group data 11) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! youngsamos-highres-idle-deep-meditate0-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -270,21 +273,21 @@ This commonly includes things such as: (let ((v1-5 (vector-inv-orient-by-quat! (new 'stack-no-clear 'vector) (-> self hit-dir) (-> self root quat)))) (cond ((< (-> v1-5 x) (-> v1-5 z)) - (ja-no-eval :group! (-> self draw art-group data 12) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! youngsamos-highres-hit-back0-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) ) ) ((< (-> v1-5 x) 0.0) - (ja-no-eval :group! (-> self draw art-group data 13) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! youngsamos-highres-hit-right0-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) ) ) (else - (ja-no-eval :group! (-> self draw art-group data 14) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! youngsamos-highres-hit-left0-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -321,12 +324,12 @@ This commonly includes things such as: (set! (-> gp-0 y) (lerp 20480.0 40960.0 f30-0)) ) (ja-channel-push! 1 (seconds 0.2)) - (ja-no-eval :group! (-> self draw art-group data 15) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! youngsamos-highres-death-fall-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) ) - (ja-no-eval :group! (-> self draw art-group data 16) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! youngsamos-highres-death-land-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) diff --git a/goal_src/jak2/levels/fortress/dump/fordumpc-obs.gc b/goal_src/jak2/levels/fortress/dump/fordumpc-obs.gc index 0cb2e68d833..a3f6f45bc1d 100644 --- a/goal_src/jak2/levels/fortress/dump/fordumpc-obs.gc +++ b/goal_src/jak2/levels/fortress/dump/fordumpc-obs.gc @@ -444,7 +444,7 @@ This commonly includes things such as: (set! (-> self draw light-index) (the-as uint 17)) (set! (-> self part) (create-launch-control (-> *part-group-id-table* 582) self)) (setup-masks (-> self draw) -1 0) - (ja-no-eval :group! (-> self draw art-group data 2) :num! zero) + (ja-no-eval :group! fort-missile-target-idle-ja :num! zero) (transform-post) (set! (-> self sound-id) (the-as uint (new-sound-id))) (go-virtual idle) diff --git a/goal_src/jak2/levels/fortress/dump/fort-robotank-turret.gc b/goal_src/jak2/levels/fortress/dump/fort-robotank-turret.gc index e417a8373d5..db8d5e4b0d0 100644 --- a/goal_src/jak2/levels/fortress/dump/fort-robotank-turret.gc +++ b/goal_src/jak2/levels/fortress/dump/fort-robotank-turret.gc @@ -318,7 +318,7 @@ (set-vector! (-> self draw color-emissive) 0.0 0.0 0.0 0.0) (set-vector! (-> self draw color-emissive) 0.0 0.0 0.0 0.0) (logior! (-> self skel status) (joint-control-status blend-shape)) - (ja :group! (-> self draw art-group data 3)) + (ja :group! fort-roboscreen-end-ja) (go-virtual idle) (none) ) @@ -506,7 +506,7 @@ ) ) :code (behavior () - (ja-no-eval :group! (-> self draw art-group data 3) :num! zero) + (ja-no-eval :group! fort-robotank-sight-idle-ja :num! zero) (sleep-code) ) :post (behavior () @@ -534,7 +534,7 @@ ) :code (behavior () (ja-channel-push! 1 (seconds 0.04)) - (ja-no-eval :group! (-> self draw art-group data 4) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! fort-robotank-sight-locked-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -596,7 +596,7 @@ (set! (-> v1-20 settings shadow-type) 1) (set! (-> self draw shadow-ctrl) v1-20) ) - (ja-no-eval :group! (-> self draw art-group data 3) :num! zero) + (ja-no-eval :group! fort-robotank-sight-idle-ja :num! zero) (ja-post) (set-setting! 'spotlight-color #f 0.0 (the-as uint #x80a0a0ff)) (go-virtual idle) @@ -1143,7 +1143,7 @@ ) :code (behavior () (until #f - (ja-no-eval :group! (-> self draw art-group data 3) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! fort-robotank-top-idle-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -1207,13 +1207,13 @@ (dotimes (s5-2 gp-2) (let ((s4-1 (max 2 (min 4 (rand-vu-int-range 1 8))))) (dotimes (s3-2 s4-1) - (ja-no-eval :group! (-> self draw art-group data 4) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! fort-robotank-top-fire-start-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) ) (fort-robotank-turret-method-33 self) - (ja-no-eval :group! (-> self draw art-group data 5) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! fort-robotank-top-fire-end-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -1404,7 +1404,7 @@ ) ) ) - (ja-no-eval :group! (-> self draw art-group data 3) :num! zero) + (ja-no-eval :group! fort-robotank-top-idle-ja :num! zero) (transform-post) (set! (-> self turn-sound-id) (new-sound-id)) (go-virtual idle) diff --git a/goal_src/jak2/levels/fortress/dump/fort-robotank.gc b/goal_src/jak2/levels/fortress/dump/fort-robotank.gc index e830997aa98..1aa7808ed65 100644 --- a/goal_src/jak2/levels/fortress/dump/fort-robotank.gc +++ b/goal_src/jak2/levels/fortress/dump/fort-robotank.gc @@ -323,7 +323,7 @@ ) (fort-robotank-method-25 self) (seek! (-> self roller-jmod twist y) (-> self roller-spin-rate) (* 16384.0 (seconds-per-frame))) - (let ((gp-0 (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 5))) + (let ((gp-0 (vector<-cspace! (new 'stack-no-clear 'vector) (joint-node-index fort-robotank-lod0-jg rollerrot))) (s4-0 (get-field-spec-by-id (-> *part-id-table* 2474) (sp-field-id spt-num))) (s5-0 (new 'stack-no-clear 'matrix)) ) diff --git a/goal_src/jak2/levels/fortress/fort-turret.gc b/goal_src/jak2/levels/fortress/fort-turret.gc index 6dfe5541097..a579e741207 100644 --- a/goal_src/jak2/levels/fortress/fort-turret.gc +++ b/goal_src/jak2/levels/fortress/fort-turret.gc @@ -918,7 +918,7 @@ (sound-play "turret-explode") (suspend) (ja-channel-set! 0) - (let ((gp-2 (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 4))) + (let ((gp-2 (vector<-cspace! (new 'stack-no-clear 'vector) (joint-node-index fort-turret-lod0-jg headrotate))) (s5-2 (current-time)) ) (until (time-elapsed? s5-2 (seconds 2)) diff --git a/goal_src/jak2/levels/fortress/rescue/forrescb-obs.gc b/goal_src/jak2/levels/fortress/rescue/forrescb-obs.gc index e5178ec585b..04ea89ac05d 100644 --- a/goal_src/jak2/levels/fortress/rescue/forrescb-obs.gc +++ b/goal_src/jak2/levels/fortress/rescue/forrescb-obs.gc @@ -212,8 +212,8 @@ This commonly includes things such as: ) ) (+! (-> self path-u) (* (-> self path-du) (seconds-per-frame))) - (let ((s3-0 (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 4))) - (s2-0 (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 5))) + (let ((s3-0 (vector<-cspace! (new 'stack-no-clear 'vector) (joint-node-index fort-elec-belt-lod0-jg raya_))) + (s2-0 (vector<-cspace! (new 'stack-no-clear 'vector) (joint-node-index fort-elec-belt-lod0-jg rayb_))) ) (let ((t2-0 (new 'stack-no-clear 'vector))) (vector+! t2-0 s3-0 s2-0) @@ -432,7 +432,7 @@ This commonly includes things such as: (set! (-> self l-spec) arg3) (set! (-> self attack-id) arg4) (set! (-> self sound-id) (new-sound-id)) - (ja-no-eval :group! (-> self draw art-group data 2) :num! zero) + (ja-no-eval :group! fort-elec-belt-idle-ja :num! zero) (ja-post) (go-virtual idle) (none) diff --git a/goal_src/jak2/levels/gungame/gungame-obs.gc b/goal_src/jak2/levels/gungame/gungame-obs.gc index 8b3ddf8d565..039de6932c2 100644 --- a/goal_src/jak2/levels/gungame/gungame-obs.gc +++ b/goal_src/jak2/levels/gungame/gungame-obs.gc @@ -2279,7 +2279,7 @@ This commonly includes things such as: (suspend) ) ) - (ja-no-eval :group! (-> self draw art-group data 2) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! fort-entry-gate-idle-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) diff --git a/goal_src/jak2/levels/hideout/hideout-obs.gc b/goal_src/jak2/levels/hideout/hideout-obs.gc index cb1c570412f..17f510dd594 100644 --- a/goal_src/jak2/levels/hideout/hideout-obs.gc +++ b/goal_src/jak2/levels/hideout/hideout-obs.gc @@ -141,7 +141,7 @@ This commonly includes things such as: :virtual #t :code (behavior () (until #f - (ja-no-eval :group! (-> self draw art-group data 3) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! hide-light-idle-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) diff --git a/goal_src/jak2/levels/hiphog/whack.gc b/goal_src/jak2/levels/hiphog/whack.gc index d7b902533d6..38bfa15c5f2 100644 --- a/goal_src/jak2/levels/hiphog/whack.gc +++ b/goal_src/jak2/levels/hiphog/whack.gc @@ -1476,7 +1476,7 @@ (setup-masks (-> self draw) 2 1) (set-vector! (-> self draw color-mult) 1.0 1.0 1.0 1.0) (ja-channel-push! 1 (seconds 0.05)) - (ja :group! (-> self draw art-group data 3) :num! min) + (ja :group! hip-mole-up-ja :num! min) (sleep-code) ) :post (behavior () @@ -1575,8 +1575,8 @@ (case (-> self mode) ((10) (when (rand-vu-percent? 0.4) - (let ((gp-0 (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 4))) - (s5-0 (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 4))) + (let ((gp-0 (vector<-cspace! (new 'stack-no-clear 'vector) (joint-node-index hip-mole-lod0-jg head))) + (s5-0 (vector<-cspace! (new 'stack-no-clear 'vector) (joint-node-index hip-mole-lod0-jg head))) ) (+! (-> gp-0 x) (rand-vu-float-range -1638.4 819.2)) (+! (-> s5-0 x) (rand-vu-float-range -1638.4 819.2)) @@ -1601,7 +1601,7 @@ ) ) :code (behavior ((arg0 time-frame) (arg1 uint)) - (ja-no-eval :group! (-> self draw art-group data 3) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! hip-mole-up-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -1609,13 +1609,13 @@ (ja-channel-push! 1 (seconds 0.05)) (let ((s5-0 (current-time))) (while (and (not (time-elapsed? s5-0 arg0)) (not (-> self abort?))) - (ja :group! (-> self draw art-group data 4) :num! (loop!)) + (ja :group! hip-mole-loop-ja :num! (loop!)) (suspend) ) ) (ja-channel-push! 1 (seconds 0.05)) (sound-play "whack-down") - (ja-no-eval :group! (-> self draw art-group data 5) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! hip-mole-down-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -2168,13 +2168,13 @@ ) (let ((gp-0 (cond ((>= (-> self air-attack-count) 10) - (-> self draw art-group data 14) + daxter-highres-mole-idle-tired-ja ) (#f - (-> self draw art-group data 13) + daxter-highres-mole-idle-crazy-ja ) (else - (-> self draw art-group data 4) + daxter-highres-mole-idle-ja ) ) ) @@ -2183,7 +2183,7 @@ (when (-> self dizzy?) (sound-play "whack-dizzy") (ja-channel-push! 1 (seconds 0.1)) - (ja-no-eval :group! (-> self draw art-group data 16) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! daxter-highres-mole-shock-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (when (rand-vu-percent? 0.2) (let* ((gp-2 (get-process *default-dead-pool* lightning-tracker #x4000)) @@ -2253,7 +2253,7 @@ 9 :to *entity-pool* ) - (ja-no-eval :group! (-> self draw art-group data 17) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! daxter-highres-mole-idle-shock-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (+! (-> self event-time) (- (current-time) (-> self clock old-frame-counter))) (suspend) @@ -2263,13 +2263,13 @@ (dotimes (v1-85 4) (set! (-> self slot-buffer v1-85) -1) ) - (ja-no-eval :group! (-> self draw art-group data 18) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! daxter-highres-mole-idle-shock-end-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (+! (-> self event-time) (- (current-time) (-> self clock old-frame-counter))) (suspend) (ja :num! (seek!)) ) - (set! gp-0 (-> self draw art-group data 15)) + (set! gp-0 daxter-highres-mole-idle-angry-ja) ) (ja-channel-push! 1 (seconds 0.2)) (ja :group! gp-0 :num! (identity (ja-aframe 8.0 0))) @@ -2302,34 +2302,34 @@ (let* ((v1-9 arg0) (s5-1 (cond ((zero? v1-9) - (-> self draw art-group data 5) + daxter-highres-mole-whack0-ja ) ((= v1-9 1) - (-> self draw art-group data 7) + daxter-highres-mole-whack2-ja ) ((= v1-9 2) - (-> self draw art-group data 8) + daxter-highres-mole-whack3-ja ) ((= v1-9 3) - (-> self draw art-group data 6) + daxter-highres-mole-whack1-ja ) ((= v1-9 4) - (-> self draw art-group data 9) + daxter-highres-mole-whack4-ja ) ((= v1-9 5) - (-> self draw art-group data 11) + daxter-highres-mole-whack6-ja ) ((= v1-9 6) - (-> self draw art-group data 12) + daxter-highres-mole-whack7-ja ) (else - (-> self draw art-group data 10) + daxter-highres-mole-whack5-ja ) ) ) (v1-28 (ja-group)) (f30-0 (cond - ((and v1-28 (= v1-28 (-> self draw art-group data 4))) + ((and v1-28 (= v1-28 daxter-highres-mole-idle-ja)) 0.0 ) ((>= (ja-aframe-num 0) 22.0) @@ -2592,9 +2592,9 @@ :code (behavior () (auto-save-user) (let ((v1-2 (ja-group))) - (when (not (and v1-2 (= v1-2 (-> self draw art-group data 14)))) + (when (not (and v1-2 (= v1-2 daxter-highres-mole-idle-tired-ja))) (ja-channel-push! 1 (seconds 0.1)) - (ja :group! (-> self draw art-group data 14)) + (ja :group! daxter-highres-mole-idle-tired-ja) ) ) (let* ((v1-9 (rand-vu-int-count 8)) @@ -2663,9 +2663,9 @@ :exit (-> (method-of-type whack-a-metal active) exit) :code (behavior () (let ((v1-2 (ja-group))) - (when (not (and v1-2 (= v1-2 (-> self draw art-group data 13)))) + (when (not (and v1-2 (= v1-2 daxter-highres-mole-idle-crazy-ja))) (ja-channel-push! 1 (seconds 0.1)) - (ja :group! (-> self draw art-group data 13)) + (ja :group! daxter-highres-mole-idle-crazy-ja) ) ) (let* ((v1-9 (rand-vu-int-count 8)) diff --git a/goal_src/jak2/levels/intro/intro-obs.gc b/goal_src/jak2/levels/intro/intro-obs.gc index d0d3e476cc0..00a1500328c 100644 --- a/goal_src/jak2/levels/intro/intro-obs.gc +++ b/goal_src/jak2/levels/intro/intro-obs.gc @@ -69,7 +69,7 @@ (ja-channel-set! 1) (let ((f30-0 (rand-vu-float-range 0.8 1.2))) (until #f - (ja-no-eval :group! (-> self draw art-group data 5) :num! (seek! max f30-0) :frame-num 0.0) + (ja-no-eval :group! intro-flamer-fly-straight-ja :num! (seek! max f30-0) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek! max f30-0)) diff --git a/goal_src/jak2/levels/mountain/canyon/mincan-obs.gc b/goal_src/jak2/levels/mountain/canyon/mincan-obs.gc index 85334b83fe1..663c94aaacf 100644 --- a/goal_src/jak2/levels/mountain/canyon/mincan-obs.gc +++ b/goal_src/jak2/levels/mountain/canyon/mincan-obs.gc @@ -76,7 +76,7 @@ ) :code (behavior () (until #f - (ja-no-eval :group! (-> self draw art-group data 7) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! mincan-lighthouse-lens-idle-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -92,7 +92,7 @@ :code (behavior () (ja-channel-push! 1 0) (until #f - (ja-no-eval :group! (-> self draw art-group data 8) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! mincan-lighthouse-lens-idle-erect-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -171,7 +171,7 @@ This commonly includes things such as: :code (behavior () (ja-channel-push! 1 0) (until #f - (ja-no-eval :group! (-> self draw art-group data 2) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! mincan-lighthouse-idle-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -187,7 +187,7 @@ This commonly includes things such as: :code (behavior () (ja-channel-push! 1 0) (until #f - (ja-no-eval :group! (-> self draw art-group data 3) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! mincan-lighthouse-idle-erect-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -247,7 +247,7 @@ This commonly includes things such as: :code (behavior () (ja-channel-push! 1 0) (until #f - (ja-no-eval :group! (-> self draw art-group data 3) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! mincan-lens-idle-closed-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -263,7 +263,7 @@ This commonly includes things such as: :code (behavior () (ja-channel-push! 1 0) (until #f - (ja-no-eval :group! (-> self draw art-group data 2) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! mincan-lens-idle-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) diff --git a/goal_src/jak2/levels/mountain/mountain-obs.gc b/goal_src/jak2/levels/mountain/mountain-obs.gc index afd19a7c01e..8bd8a494085 100644 --- a/goal_src/jak2/levels/mountain/mountain-obs.gc +++ b/goal_src/jak2/levels/mountain/mountain-obs.gc @@ -1683,7 +1683,7 @@ This commonly includes things such as: :enter (behavior () (process-entity-status! self (entity-perm-status subtask-complete) #t) (ja-channel-push! 1 0) - (ja-no-eval :group! (-> self draw art-group data 3) :num! (loop!) :frame-num 0.0) + (ja-no-eval :group! mtn-plat-eject-idle-ja :num! (loop!) :frame-num 0.0) ) :code sleep-code :post (behavior () @@ -2803,7 +2803,7 @@ This commonly includes things such as: :virtual #t :trans rider-trans :code (behavior () - (ja-no-eval :group! (-> self draw art-group data 2) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! mtn-button-open-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -2823,7 +2823,7 @@ This commonly includes things such as: ) ) :enter (behavior () - (ja-no-eval :group! (-> self draw art-group data 3) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! mtn-button-press-ja :num! (seek!) :frame-num 0.0) (transform-post) ) :code sleep-code @@ -2838,14 +2838,14 @@ This commonly includes things such as: (script-eval (the-as pair gp-0) :vector (-> self root trans)) ) ) - (ja-no-eval :group! (-> self draw art-group data 3) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! mtn-button-press-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (transform-post) (suspend) (ja :num! (seek!)) ) ) - (ja :group! (-> self draw art-group data 3) :num! max) + (ja :group! mtn-button-press-ja :num! max) (transform-post) (process-entity-status! self (entity-perm-status subtask-complete) #t) (sleep-code) diff --git a/goal_src/jak2/levels/mountain/mountain-scenes.gc b/goal_src/jak2/levels/mountain/mountain-scenes.gc index 8fbe792b830..690b102ad6e 100644 --- a/goal_src/jak2/levels/mountain/mountain-scenes.gc +++ b/goal_src/jak2/levels/mountain/mountain-scenes.gc @@ -2995,7 +2995,7 @@ This commonly includes things such as: :virtual #t :code transform-and-sleep-code :post (behavior () - (spawn-with-cspace (-> self part) (-> self node-list data 3)) + (spawn-with-cspace (-> self part) (joint-node-index mtn-lens-floor-lod0-jg main)) ) ) diff --git a/goal_src/jak2/levels/nest/boss/metalkor-extras.gc b/goal_src/jak2/levels/nest/boss/metalkor-extras.gc index ff69ba9950b..9e238aab138 100644 --- a/goal_src/jak2/levels/nest/boss/metalkor-extras.gc +++ b/goal_src/jak2/levels/nest/boss/metalkor-extras.gc @@ -26,7 +26,7 @@ :trans (behavior () (let ((v1-2 (ja-group))) (cond - ((and v1-2 (= v1-2 (-> self draw art-group data 5))) + ((and v1-2 (= v1-2 metalkor-egg-hatch-ja)) (ja :num! (seek!)) (if (ja-done? 0) (deactivate self) @@ -34,7 +34,7 @@ ) (else (ja-channel-push! 1 (seconds 0.1)) - (ja :group! (-> self draw art-group data 5)) + (ja :group! metalkor-egg-hatch-ja) ) ) ) @@ -86,7 +86,7 @@ :trans (behavior () (let ((v1-2 (ja-group))) (cond - ((and v1-2 (= v1-2 (-> self draw art-group data 5))) + ((and v1-2 (= v1-2 metalkor-egg-hatch-ja)) (ja :num! (seek!)) (if (ja-done? 0) (deactivate self) @@ -94,7 +94,7 @@ ) (else (ja-channel-push! 1 (seconds 0.1)) - (ja :group! (-> self draw art-group data 5)) + (ja :group! metalkor-egg-hatch-ja) ) ) ) @@ -185,16 +185,16 @@ ) ) (ja-channel-push! 1 (seconds 0.1)) - (ja :group! (-> self draw art-group data 4)) + (ja :group! metalkor-egg-land-ja) ) (else (let ((v1-40 (ja-group))) (cond - ((and v1-40 (= v1-40 (-> self draw art-group data 4))) + ((and v1-40 (= v1-40 metalkor-egg-land-ja)) (ja :num! (seek!)) (when (ja-done? 0) (ja-channel-push! 1 (seconds 0.1)) - (ja :group! (-> self draw art-group data 3)) + (ja :group! metalkor-egg-idle-ja) ) ) (else @@ -227,21 +227,21 @@ ) (let ((v1-9 (ja-group))) (cond - ((and v1-9 (= v1-9 (-> self draw art-group data 3))) + ((and v1-9 (= v1-9 metalkor-egg-idle-ja)) (ja :num! (loop!)) ) ((let ((v1-17 (ja-group))) - (and v1-17 (or (= v1-17 (-> self draw art-group data 7)) (= v1-17 (-> self draw art-group data 4)))) + (and v1-17 (or (= v1-17 metalkor-egg-hop-ja) (= v1-17 metalkor-egg-land-ja))) ) (ja :num! (seek!)) (when (ja-done? 0) (ja-channel-push! 1 (seconds 0.1)) - (ja :group! (-> self draw art-group data 3)) + (ja :group! metalkor-egg-idle-ja) ) ) (else (ja-channel-push! 1 (seconds 0.1)) - (ja :group! (-> self draw art-group data 4)) + (ja :group! metalkor-egg-land-ja) ) ) ) @@ -1427,9 +1427,9 @@ ) (let ((v1-38 (ja-group))) (set! (-> self tail move-with-parent) - (the-as symbol (and (and v1-38 (or (= v1-38 (-> self draw art-group data 18)) - (= v1-38 (-> self draw art-group data 19)) - (= v1-38 (-> self draw art-group data 20)) + (the-as symbol (and (and v1-38 (or (= v1-38 metalkor-lowtorso-hang-hit-ja) + (= v1-38 metalkor-lowtorso-hang-hit-left-ja) + (= v1-38 metalkor-lowtorso-hang-hit-right-ja) ) ) (< (ja-aframe-num 0) 45.0) @@ -1717,7 +1717,7 @@ This commonly includes things such as: ) (turn-off (-> self chain) (the-as time-frame (the int (* 300.0 (rand-vu-float-range 0.9 1.2))))) (ja-channel-push! 1 (seconds 0.1)) - (ja :group! (-> self draw art-group data 52) :num! min) + (ja :group! metalkor-spinner-short-ja :num! min) ) :trans (behavior () (let* ((v1-1 (quaternion->matrix (new 'stack-no-clear 'matrix) (-> self root quat))) @@ -1737,7 +1737,7 @@ This commonly includes things such as: ((not (time-elapsed? (-> self state-time) (seconds 1))) ) ((let ((v1-13 (ja-group))) - (and v1-13 (= v1-13 (-> self draw art-group data 53))) + (and v1-13 (= v1-13 metalkor-spinner-dissolve-ja)) ) (ja :num! (seek! max (-> self anim-speed))) (if (ja-done? 0) @@ -1746,7 +1746,7 @@ This commonly includes things such as: ) (else (ja-channel-push! 1 (seconds 0.1)) - (ja :group! (-> self draw art-group data 53) :num! min) + (ja :group! metalkor-spinner-dissolve-ja :num! min) ) ) ) @@ -1764,7 +1764,7 @@ This commonly includes things such as: ) ) :enter (behavior () - (ja :group! (-> self draw art-group data 50)) + (ja :group! metalkor-spinner-idle-ja) ) :trans (behavior () (ja :num! (loop!)) @@ -1819,7 +1819,7 @@ This commonly includes things such as: :trans (behavior () (let ((v1-2 (ja-group))) (cond - ((and v1-2 (= v1-2 (-> self draw art-group data 51))) + ((and v1-2 (= v1-2 metalkor-spinner-fire-ja)) (ja :num! (seek! max (-> self anim-speed))) (when (ja-done? 0) (set! (-> self root trans quad) (-> self target-pos quad)) @@ -1827,7 +1827,7 @@ This commonly includes things such as: ) ) (else - (ja :group! (-> self draw art-group data 51) :num! min) + (ja :group! metalkor-spinner-fire-ja :num! min) ) ) ) @@ -2176,7 +2176,10 @@ This commonly includes things such as: (set! sv-400 (the-as symbol #f)) (set! sv-432 *launch-matrix*) (set! sv-416 (-> sv-432 trans)) - (let ((v1-27 (-> (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 3)) quad))) + (let ((v1-27 + (-> (vector<-cspace! (new 'stack-no-clear 'vector) (joint-node-index metalkor-explode-lod0-jg head)) quad) + ) + ) (set! (-> sv-416 quad) v1-27) ) ((the-as (function object object object object object object object object none) s5-0) @@ -2196,23 +2199,74 @@ This commonly includes things such as: ) ) (when (< 40.0 (ja-aframe-num 0)) - (spawn (-> self part) (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 70))) - (spawn (-> self part) (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 71))) - (spawn (-> self part) (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 20))) - (spawn (-> self part) (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 59))) - (spawn (-> self part) (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 60))) - (spawn (-> self part) (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 22))) - (spawn (-> self part) (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 24))) - (spawn (-> self part) (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 54))) - (spawn (-> self part) (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 53))) - (spawn (-> self part) (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 57))) - (spawn (-> self part) (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 56))) - (spawn (-> self part) (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 28))) - (spawn (-> self part) (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 46))) - (spawn (-> self part) (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 48))) - (spawn (-> self part) (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 44))) - (spawn (-> self part) (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 50))) - (spawn (-> self part) (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 3))) + (spawn + (-> self part) + (vector<-cspace! (new 'stack-no-clear 'vector) (joint-node-index metalkor-explode-lod0-jg goo)) + ) + (spawn + (-> self part) + (vector<-cspace! (new 'stack-no-clear 'vector) (joint-node-index metalkor-explode-lod0-jg goo1)) + ) + (spawn + (-> self part) + (vector<-cspace! (new 'stack-no-clear 'vector) (joint-node-index metalkor-explode-lod0-jg goo2)) + ) + (spawn + (-> self part) + (vector<-cspace! (new 'stack-no-clear 'vector) (joint-node-index metalkor-explode-lod0-jg goo3)) + ) + (spawn + (-> self part) + (vector<-cspace! (new 'stack-no-clear 'vector) (joint-node-index metalkor-explode-lod0-jg goo4)) + ) + (spawn + (-> self part) + (vector<-cspace! (new 'stack-no-clear 'vector) (joint-node-index metalkor-explode-lod0-jg goo5)) + ) + (spawn + (-> self part) + (vector<-cspace! (new 'stack-no-clear 'vector) (joint-node-index metalkor-explode-lod0-jg goo6)) + ) + (spawn + (-> self part) + (vector<-cspace! (new 'stack-no-clear 'vector) (joint-node-index metalkor-explode-lod0-jg goo7)) + ) + (spawn + (-> self part) + (vector<-cspace! (new 'stack-no-clear 'vector) (joint-node-index metalkor-explode-lod0-jg goo8)) + ) + (spawn + (-> self part) + (vector<-cspace! (new 'stack-no-clear 'vector) (joint-node-index metalkor-explode-lod0-jg goo9)) + ) + (spawn + (-> self part) + (vector<-cspace! (new 'stack-no-clear 'vector) (joint-node-index metalkor-explode-lod0-jg goo10)) + ) + (spawn + (-> self part) + (vector<-cspace! (new 'stack-no-clear 'vector) (joint-node-index metalkor-explode-lod0-jg goo12)) + ) + (spawn + (-> self part) + (vector<-cspace! (new 'stack-no-clear 'vector) (joint-node-index metalkor-explode-lod0-jg goo13)) + ) + (spawn + (-> self part) + (vector<-cspace! (new 'stack-no-clear 'vector) (joint-node-index metalkor-explode-lod0-jg goo14)) + ) + (spawn + (-> self part) + (vector<-cspace! (new 'stack-no-clear 'vector) (joint-node-index metalkor-explode-lod0-jg goo15)) + ) + (spawn + (-> self part) + (vector<-cspace! (new 'stack-no-clear 'vector) (joint-node-index metalkor-explode-lod0-jg goo16)) + ) + (spawn + (-> self part) + (vector<-cspace! (new 'stack-no-clear 'vector) (joint-node-index metalkor-explode-lod0-jg head)) + ) ) (if (ja-done? 0) (send-event (ppointer->process (-> self parent)) 'explode-done) diff --git a/goal_src/jak2/levels/nest/boss/metalkor-states.gc b/goal_src/jak2/levels/nest/boss/metalkor-states.gc index 392f2039d7d..d5e332cd38c 100644 --- a/goal_src/jak2/levels/nest/boss/metalkor-states.gc +++ b/goal_src/jak2/levels/nest/boss/metalkor-states.gc @@ -163,22 +163,22 @@ (cond ((or (not v1-2) (zero? v1-2) (!= (-> self skel channel gp-0 command) 42)) ) - ((= v1-2 (-> self draw art-group data 23)) + ((= v1-2 metalkor-hang-pre-shot-ja) (send-event (handle->process (-> self lowtorso)) 'ja-float "hang-pre-shot" gp-0) ) - ((= v1-2 (-> self draw art-group data 32)) + ((= v1-2 metalkor-pre-shot-ja) (send-event (handle->process (-> self legs)) 'ja-float "pre-shot" gp-0) (send-event (handle->process (-> self lowtorso)) 'ja-float "pre-shot" gp-0) ) - ((= v1-2 (-> self draw art-group data 34)) + ((= v1-2 metalkor-hit-ja) (send-event (handle->process (-> self legs)) 'ja-float "hit" gp-0) (send-event (handle->process (-> self lowtorso)) 'ja-float "hit" gp-0) ) - ((= v1-2 (-> self draw art-group data 35)) + ((= v1-2 metalkor-hit-left-ja) (send-event (handle->process (-> self legs)) 'ja-float "hit-left" gp-0) (send-event (handle->process (-> self lowtorso)) 'ja-float "hit-left" gp-0) ) - ((= v1-2 (-> self draw art-group data 36)) + ((= v1-2 metalkor-hit-right-ja) (send-event (handle->process (-> self legs)) 'ja-float "hit-right" gp-0) (send-event (handle->process (-> self lowtorso)) 'ja-float "hit-right" gp-0) ) @@ -223,7 +223,7 @@ ((and (= (ja-group-size) 9) (= (if (> (-> self skel active-channels) 0) (-> self skel root-channel 8 frame-group) ) - (-> self draw art-group data 41) + metalkor-walk-to-stance-ja ) ) (let ((v1-8 (-> self skel effect))) @@ -420,7 +420,7 @@ ) (set-countdown-to-roar) (set-setting! 'fov 'abs (degrees 84.0) 0) - (ja :group! (-> self draw art-group data 9) :num! min) + (ja :group! metalkor-hang-ja :num! min) (go-virtual hang-shoot-n-launch) ) ((= v1-28 2) @@ -637,7 +637,7 @@ ((>= 1 (-> self countdown-to-roar)) (set-countdown-to-roar) (ja-channel-push! 1 (seconds 0.2)) - (ja :group! (-> self draw art-group data 21) :num! min) + (ja :group! metalkor-hang-roar-ja :num! min) (metalkor-all-spinners-on) ) (else @@ -748,23 +748,23 @@ (metalkor-setup-hit-anim (the-as attack-info s5-2) (the-as process-drawable arg0) - (-> self draw art-group data 18) - (-> self draw art-group data 20) - (the-as float (-> self draw art-group data 19)) + metalkor-hang-hit-ja + metalkor-hang-hit-right-ja + (the-as float metalkor-hang-hit-left-ja) ) (metalkor-all-spinners-on) ) ((and (and (-> self next-state) (= (-> self next-state name) 'fall-down)) (let ((v1-139 (ja-group))) - (or (not (and v1-139 (= v1-139 (-> self draw art-group data 7)))) (>= (ja-aframe-num 0) 10.0)) + (or (not (and v1-139 (= v1-139 metalkor-collapse-ja))) (>= (ja-aframe-num 0) 10.0)) ) ) (metalkor-setup-hit-anim (the-as attack-info s5-2) (the-as process-drawable arg0) - (-> self draw art-group data 25) - (-> self draw art-group data 27) - (the-as float (-> self draw art-group data 26)) + metalkor-collapse-hit-ja + metalkor-collapse-hit-right-ja + (the-as float metalkor-collapse-hit-left-ja) ) ) ((and (-> self next-state) (let ((v1-153 (-> self next-state name))) @@ -779,7 +779,7 @@ ) (if (< (-> self stage-hit-points) f30-0) (go-virtual fall-down) - (metalkor-ja-float (the-as art-joint-anim (-> self draw art-group data 34)) 1.0 0.25 2.0) + (metalkor-ja-float (the-as art-joint-anim metalkor-hit-ja) 1.0 0.25 2.0) ) ) ) @@ -803,7 +803,7 @@ (let ((s3-0 (quaternion->matrix (new 'stack-no-clear 'matrix) (-> self root quat))) (s4-4 (new 'stack-no-clear 'vector)) ) - (if (>= (metalkor-ja-float-group? (the-as art-joint-anim (-> self draw art-group data 42))) 0) + (if (>= (metalkor-ja-float-group? (the-as art-joint-anim metalkor-attack-sweep-left-ja)) 0) (vector+! s4-4 (-> s3-0 vector 2) (the-as vector (-> s3-0 vector))) (vector-! s4-4 (-> s3-0 vector 2) (the-as vector (-> s3-0 vector))) ) @@ -907,7 +907,7 @@ (set! (-> gp-0 attack-id) a0-5) ) (set! (-> gp-0 timeout) (seconds 4)) - (vector<-cspace! (-> gp-0 pos) (-> self node-list data 7)) + (vector<-cspace! (-> gp-0 pos) (joint-node-index metalkor-lod0-jg head)) (vector-! (-> gp-0 vel) (target-pos 0) (-> gp-0 pos)) (vector-normalize! (-> gp-0 vel) 491520.0) (if (spawn-projectile metalkor-shot gp-0 self *default-dead-pool*) @@ -959,7 +959,7 @@ (local-vars (f24-0 float)) (let ((v1-2 (ja-group))) (cond - ((and (and v1-2 (= v1-2 (-> self draw art-group data 33))) (begin (ja :num! (seek!)) (not (ja-done? 0)))) + ((and (and v1-2 (= v1-2 metalkor-shot-ja)) (begin (ja :num! (seek!)) (not (ja-done? 0)))) ) (else (let* ((s5-1 (vector-! (new 'stack-no-clear 'vector) (-> self root trans) arg0)) @@ -972,16 +972,8 @@ (f28-0 0.0) ) 0.0 - (let ((f0-11 (* 0.000024414063 - (the float (-> (the-as art-joint-anim (-> self draw art-group data 5)) frames num-frames)) - f26-0 - ) - ) - (f26-1 (* 0.000015258789 - (the float (-> (the-as art-joint-anim (-> self draw art-group data 6)) frames num-frames)) - f26-0 - ) - ) + (let ((f0-11 (* 0.000024414063 (the float (-> (the-as art-joint-anim metalkor-walk-ja) frames num-frames)) f26-0)) + (f26-1 (* 0.000015258789 (the float (-> (the-as art-joint-anim metalkor-run-ja) frames num-frames)) f26-0)) ) (cond ((or (< 1.0 f26-1) arg1) @@ -997,7 +989,7 @@ ) ) (let ((f0-15 (* 0.000045776367 - (the float (-> (the-as art-joint-anim (-> self draw art-group data 37)) frames num-frames)) + (the float (-> (the-as art-joint-anim metalkor-walk-left-ja) frames num-frames)) (-> self last-rotation) ) ) @@ -1022,27 +1014,27 @@ ) (let ((v1-41 (ja-group))) (cond - ((not (and v1-41 (= v1-41 (-> self draw art-group data 6)))) + ((not (and v1-41 (= v1-41 metalkor-run-ja))) (ja-channel-push! 9 (seconds 0.5)) - (ja :group! (-> self draw art-group data 6) :num! min) - (ja :chan 1 :group! (-> self draw art-group data 40) :num! min) + (ja :group! metalkor-run-ja :num! min) + (ja :chan 1 :group! metalkor-run-back-ja :num! min) (set! (-> self skel root-channel 2 command) (joint-control-command push)) - (ja :chan 2 :group! (-> self draw art-group data 5) :num! min) - (ja :chan 3 :group! (-> self draw art-group data 39) :num! min) + (ja :chan 2 :group! metalkor-walk-ja :num! min) + (ja :chan 3 :group! metalkor-walk-back-ja :num! min) (set! (-> self skel root-channel 4 command) (joint-control-command stack)) (set! (-> self skel root-channel 5 command) (joint-control-command push)) - (ja :chan 5 :group! (-> self draw art-group data 37) :num! min) - (ja :chan 6 :group! (-> self draw art-group data 38) :num! min) + (ja :chan 5 :group! metalkor-walk-left-ja :num! min) + (ja :chan 6 :group! metalkor-walk-right-ja :num! min) (set! (-> self skel root-channel 7 command) (joint-control-command stack)) (let* ((v1-79 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) (v1-80 (the-as number (logior #x3f800000 v1-79))) ) (cond ((< (+ -1.0 (the-as float v1-80)) 0.2) - (ja :chan 8 :group! (-> self draw art-group data 4) :num! min) + (ja :chan 8 :group! metalkor-idle-alt-ja :num! min) ) (else - (ja :chan 8 :group! (-> self draw art-group data 3) :num! min) + (ja :chan 8 :group! metalkor-idle-ja :num! min) (set! (-> self reps-till-idle-alt) (rand-vu-int-range 0 1)) ) ) @@ -1065,7 +1057,7 @@ ((= (if (> (-> self skel active-channels) 0) (-> self skel root-channel 8 frame-group) ) - (-> self draw art-group data 41) + metalkor-walk-to-stance-ja ) (ja :chan 8 :num! (seek!)) (when (ja-done? 8) @@ -1074,10 +1066,10 @@ ) (cond ((< (+ -1.0 (the-as float v1-118)) 0.2) - (ja :chan 8 :group! (-> self draw art-group data 4) :num! min) + (ja :chan 8 :group! metalkor-idle-alt-ja :num! min) ) (else - (ja :chan 8 :group! (-> self draw art-group data 3) :num! min) + (ja :chan 8 :group! metalkor-idle-ja :num! min) (set! (-> self reps-till-idle-alt) (rand-vu-int-range 0 1)) ) ) @@ -1087,18 +1079,18 @@ ((= (if (> (-> self skel active-channels) 0) (-> self skel root-channel 8 frame-group) ) - (-> self draw art-group data 4) + metalkor-idle-alt-ja ) (ja :chan 8 :num! (seek!)) (when (ja-done? 8) - (ja :chan 8 :group! (-> self draw art-group data 3) :num! min) + (ja :chan 8 :group! metalkor-idle-ja :num! min) (set! (-> self reps-till-idle-alt) (rand-vu-int-range 2 4)) ) ) ((zero? (-> self reps-till-idle-alt)) (ja :chan 8 :num! (seek!)) (if (ja-done? 8) - (ja :chan 8 :group! (-> self draw art-group data 4) :num! min) + (ja :chan 8 :group! metalkor-idle-alt-ja :num! min) ) ) (else @@ -1133,7 +1125,7 @@ (set! (-> self idle-interp target) f22-0) ) ((< (-> self idle-interp value) 0.01) - (ja :chan 8 :group! (-> self draw art-group data 41) :num! min) + (ja :chan 8 :group! metalkor-walk-to-stance-ja :num! min) (set! (-> self idle-interp target) f22-0) ) ) @@ -1210,36 +1202,34 @@ ) (let ((v1-12 (ja-group))) (cond - ((and (and v1-12 (or (= v1-12 (-> self draw art-group data 18)) - (= v1-12 (-> self draw art-group data 21)) - (= v1-12 (-> self draw art-group data 24)) - ) + ((and (and v1-12 + (or (= v1-12 metalkor-hang-hit-ja) (= v1-12 metalkor-hang-roar-ja) (= v1-12 metalkor-hang-shot-ja)) ) (begin (ja :num! (seek!)) (not (ja-done? 0))) ) ) ((and (< 8738.134 f26-0) (let ((v1-30 (ja-group))) - (not (and v1-30 (or (= v1-30 (-> self draw art-group data 10)) (= v1-30 (-> self draw art-group data 11))))) + (not (and v1-30 (or (= v1-30 metalkor-hang-turn-right-start-ja) (= v1-30 metalkor-hang-turn-right-ja)))) ) ) (ja-channel-push! 1 (seconds 0.2)) - (ja :group! (-> self draw art-group data 10) :num! min) + (ja :group! metalkor-hang-turn-right-start-ja :num! min) (metalkor-spinners-off) ) ((and (< f26-0 -8738.134) (let ((v1-44 (ja-group))) - (not (and v1-44 (or (= v1-44 (-> self draw art-group data 13)) (= v1-44 (-> self draw art-group data 14))))) + (not (and v1-44 (or (= v1-44 metalkor-hang-turn-left-start-ja) (= v1-44 metalkor-hang-turn-left-ja)))) ) ) (ja-channel-push! 1 (seconds 0.2)) - (ja :group! (-> self draw art-group data 13) :num! min) + (ja :group! metalkor-hang-turn-left-start-ja :num! min) (metalkor-spinners-off) ) (else (let ((v1-55 (ja-group))) (cond - ((and v1-55 (= v1-55 (-> self draw art-group data 10))) + ((and v1-55 (= v1-55 metalkor-hang-turn-right-start-ja)) (ja :num! (seek!)) (metalkor-spinner-check 0 10.0 (-> gp-0 vector 2)) (metalkor-spinner-check 1 11.0 (-> gp-0 vector 2)) @@ -1257,15 +1247,15 @@ ((not (ja-done? 0)) ) ((< 8738.134 f26-0) - (ja :group! (-> self draw art-group data 11) :num! min) + (ja :group! metalkor-hang-turn-right-ja :num! min) ) (else - (ja :group! (-> self draw art-group data 12) :num! min) + (ja :group! metalkor-hang-turn-right-end-ja :num! min) ) ) ) ((let ((v1-87 (ja-group))) - (and v1-87 (= v1-87 (-> self draw art-group data 11))) + (and v1-87 (= v1-87 metalkor-hang-turn-right-ja)) ) (if (< 8738.134 f26-0) (ja :num! (loop!)) @@ -1287,11 +1277,11 @@ (metalkor-lowtorso-spinner-check (the-as metalkor-lowtorso 0) 73.0 f28-0) (set! f30-0 (/ 16384.0 (the float (ja-num-frames 0)))) (if (ja-done? 0) - (ja :group! (-> self draw art-group data 12) :num! min) + (ja :group! metalkor-hang-turn-right-end-ja :num! min) ) ) ((let ((v1-124 (ja-group))) - (and v1-124 (= v1-124 (-> self draw art-group data 12))) + (and v1-124 (= v1-124 metalkor-hang-turn-right-end-ja)) ) (ja :num! (seek!)) (if (and (>= 80.0 f28-0) (< 80.0 (ja-aframe-num 0))) @@ -1305,11 +1295,11 @@ (set! f30-0 (/ 4096.0 (the float (/ (ja-num-frames 0) 2)))) ) (if (ja-done? 0) - (ja :group! (-> self draw art-group data 9) :num! min) + (ja :group! metalkor-hang-ja :num! min) ) ) ((let ((v1-154 (ja-group))) - (and v1-154 (= v1-154 (-> self draw art-group data 13))) + (and v1-154 (= v1-154 metalkor-hang-turn-left-start-ja)) ) (ja :num! (seek!)) (metalkor-spinner-check 2 10.0 (-> gp-0 vector 2)) @@ -1328,15 +1318,15 @@ ((not (ja-done? 0)) ) ((< f26-0 -8738.134) - (ja :group! (-> self draw art-group data 14) :num! min) + (ja :group! metalkor-hang-turn-left-ja :num! min) ) (else - (ja :group! (-> self draw art-group data 15) :num! min) + (ja :group! metalkor-hang-turn-left-end-ja :num! min) ) ) ) ((let ((v1-186 (ja-group))) - (and v1-186 (= v1-186 (-> self draw art-group data 14))) + (and v1-186 (= v1-186 metalkor-hang-turn-left-ja)) ) (if (< f26-0 -8738.134) (ja :num! (loop!)) @@ -1358,11 +1348,11 @@ (metalkor-lowtorso-spinner-check (the-as metalkor-lowtorso 2) 73.0 f28-0) (set! f30-0 (/ -16384.0 (the float (ja-num-frames 0)))) (if (ja-done? 0) - (ja :group! (-> self draw art-group data 15) :num! min) + (ja :group! metalkor-hang-turn-left-end-ja :num! min) ) ) ((let ((v1-223 (ja-group))) - (and v1-223 (= v1-223 (-> self draw art-group data 15))) + (and v1-223 (= v1-223 metalkor-hang-turn-left-end-ja)) ) (ja :num! (seek!)) (if (and (>= 80.0 f28-0) (< 80.0 (ja-aframe-num 0))) @@ -1376,18 +1366,18 @@ (set! f30-0 (/ -4096.0 (the float (/ (ja-num-frames 0) 2)))) ) (if (ja-done? 0) - (ja :group! (-> self draw art-group data 9) :num! min) + (ja :group! metalkor-hang-ja :num! min) ) ) (else (let ((v1-253 (ja-group))) (cond - ((and v1-253 (= v1-253 (-> self draw art-group data 9))) + ((and v1-253 (= v1-253 metalkor-hang-ja)) (ja :num! (loop!)) ) (else (ja-channel-push! 1 (seconds 0.2)) - (ja :group! (-> self draw art-group data 9) :num! min) + (ja :group! metalkor-hang-ja :num! min) ) ) ) @@ -1443,7 +1433,7 @@ ) :exit (behavior () (ja-channel-push! 1 (seconds 0.1)) - (ja :group! (-> self draw art-group data 3) :num! min) + (ja :group! metalkor-idle-ja :num! min) ) :code (the-as (function symbol object) sleep-code) ) @@ -1499,7 +1489,7 @@ ) ) (ja-channel-push! 1 (seconds 0.1)) - (ja :group! (-> self draw art-group data 3) :num! min) + (ja :group! metalkor-idle-ja :num! min) (let ((a0-7 (handle->process (-> self explode)))) (if a0-7 (deactivate a0-7) @@ -1537,7 +1527,7 @@ ) (let ((v1-21 (ja-group))) (cond - ((and v1-21 (= v1-21 (-> self draw art-group data 47))) + ((and v1-21 (= v1-21 metalkor-impact-ja)) (let ((f30-0 (ja-aframe-num 0))) (ja :num! (seek!)) (if (and (< f30-0 16.0) (>= (ja-aframe-num 0) 16.0)) @@ -1567,7 +1557,7 @@ ) ) (else - (ja :group! (-> self draw art-group data 47) :num! min) + (ja :group! metalkor-impact-ja :num! min) (let ((gp-3 (new 'stack-no-clear 'event-message-block))) (set! (-> gp-3 from) (process->ppointer self)) (set! (-> gp-3 num-params) 1) @@ -1652,12 +1642,12 @@ :trans (behavior () (let ((v1-2 (ja-group))) (cond - ((and v1-2 (= v1-2 (-> self draw art-group data 46))) + ((and v1-2 (= v1-2 metalkor-fly-ja)) (ja :num! (loop!)) ) (else (ja-channel-push! 1 (seconds 0.1)) - (ja :group! (-> self draw art-group data 46) :num! min) + (ja :group! metalkor-fly-ja :num! min) ) ) ) @@ -1738,15 +1728,15 @@ :trans (behavior () (let ((v1-2 (ja-group))) (cond - ((and v1-2 (= v1-2 (-> self draw art-group data 7))) + ((and v1-2 (= v1-2 metalkor-collapse-ja)) (ja :num! (seek! max 0.5)) (when (ja-done? 0) (ja-channel-push! 1 (seconds 0.1)) - (ja :group! (-> self draw art-group data 45) :num! min) + (ja :group! metalkor-wings-open-ja :num! min) ) ) ((let ((v1-21 (ja-group))) - (and v1-21 (= v1-21 (-> self draw art-group data 45))) + (and v1-21 (= v1-21 metalkor-wings-open-ja)) ) (ja :num! (seek!)) (if (and (< 218.0 (ja-aframe-num 0)) (nonzero? (-> self neck))) @@ -1758,7 +1748,7 @@ ) (else (ja-channel-push! 1 (seconds 0.1)) - (ja :group! (-> self draw art-group data 7) :num! min) + (ja :group! metalkor-collapse-ja :num! min) ) ) ) @@ -1783,7 +1773,7 @@ :enter (behavior () (set-time! (-> self state-time)) (ja-channel-push! 1 (seconds 0.1)) - (ja :group! (-> self draw art-group data 30) :num! min) + (ja :group! metalkor-collapse-recover-ja :num! min) ) :exit (behavior () (if (nonzero? (-> self neck)) @@ -1865,12 +1855,12 @@ ) (let ((v1-10 (ja-group))) (cond - ((and v1-10 (or (= v1-10 (-> self draw art-group data 7)) (= v1-10 (-> self draw art-group data 25)))) + ((and v1-10 (or (= v1-10 metalkor-collapse-ja) (= v1-10 metalkor-collapse-hit-ja))) (let ((f30-0 (ja-aframe-num 0))) (let ((a0-10 (-> self skel root-channel 0))) (set! (-> a0-10 param 0) (the float (+ (-> a0-10 frame-group frames num-frames) -1))) (let ((v1-21 (ja-group))) - (set! (-> a0-10 param 1) (if (and v1-21 (= v1-21 (-> self draw art-group data 7))) + (set! (-> a0-10 param 1) (if (and v1-21 (= v1-21 metalkor-collapse-ja)) 0.5 1.0 ) @@ -1894,18 +1884,18 @@ ) ) (if (ja-done? 0) - (ja :group! (-> self draw art-group data 8) :num! min) + (ja :group! metalkor-collapse-breathe-ja :num! min) ) ) (else (let ((v1-49 (ja-group))) (cond - ((and v1-49 (= v1-49 (-> self draw art-group data 8))) + ((and v1-49 (= v1-49 metalkor-collapse-breathe-ja)) (ja :num! (loop!)) ) (else (ja-channel-push! 1 (seconds 0.2)) - (ja :group! (-> self draw art-group data 7) :num! min) + (ja :group! metalkor-collapse-ja :num! min) ) ) ) @@ -1954,7 +1944,7 @@ ) (init-vf0-vector) (let ((v1-2 (ja-group))) - (if (and (and v1-2 (= v1-2 (-> self draw art-group data 33))) (begin (ja :num! (seek!)) (not (ja-done? 0)))) + (if (and (and v1-2 (= v1-2 metalkor-shot-ja)) (begin (ja :num! (seek!)) (not (ja-done? 0)))) (return #f) ) ) @@ -2100,7 +2090,7 @@ :trans (behavior () (let ((v1-2 (ja-group))) (cond - ((and v1-2 (= v1-2 (-> self draw art-group data 31))) + ((and v1-2 (= v1-2 metalkor-attack-tail-ja)) (ja :num! (seek!)) (if (ja-done? 0) (go-virtual chase-target) @@ -2108,7 +2098,7 @@ ) (else (ja-channel-push! 1 (seconds 0.2)) - (ja :group! (-> self draw art-group data 31) :num! min) + (ja :group! metalkor-attack-tail-ja :num! min) ) ) ) @@ -2148,11 +2138,11 @@ (vector-flatten! gp-1 gp-1 (-> s5-0 vector 1)) (cond ((< (vector-dot gp-1 (the-as vector (-> s5-0 vector))) 0.0) - (metalkor-ja-float (the-as art-joint-anim (-> self draw art-group data 43)) 1.0 1.0 4.0) + (metalkor-ja-float (the-as art-joint-anim metalkor-attack-sweep-right-ja) 1.0 1.0 4.0) (metalkor-set-deadly self #t 2) ) (else - (metalkor-ja-float (the-as art-joint-anim (-> self draw art-group data 42)) 1.0 1.0 4.0) + (metalkor-ja-float (the-as art-joint-anim metalkor-attack-sweep-left-ja) 1.0 1.0 4.0) (metalkor-set-deadly self #t 3) ) ) @@ -2166,7 +2156,7 @@ :trans (behavior () (local-vars (a0-10 int)) -1 - (let ((a0-1 (metalkor-ja-float-group? (the-as art-joint-anim (-> self draw art-group data 42))))) + (let ((a0-1 (metalkor-ja-float-group? (the-as art-joint-anim metalkor-attack-sweep-left-ja)))) (cond ((>= a0-1 0) (let ((f30-0 (ja-aframe-num a0-1))) @@ -2185,7 +2175,7 @@ ) ) ((begin - (set! a0-10 (metalkor-ja-float-group? (the-as art-joint-anim (-> self draw art-group data 43)))) + (set! a0-10 (metalkor-ja-float-group? (the-as art-joint-anim metalkor-attack-sweep-right-ja))) (>= a0-10 0) ) (let ((f30-1 (ja-aframe-num a0-10))) @@ -2270,15 +2260,18 @@ ) ) :exit (behavior () - (metalkor-ja-float-stop (the-as art-joint-anim (-> self draw art-group data 32))) + (metalkor-ja-float-stop (the-as art-joint-anim metalkor-pre-shot-ja)) ) :trans (behavior () (if (>= (-> self shots-fired) (-> self stage)) (go-virtual chase-target) ) (metalkor-walk-the-walk 122880.0 #f) - (spawn (-> self shot-anticipate) (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 7))) - (let* ((a0-4 (-> self draw art-group data 32)) + (spawn + (-> self shot-anticipate) + (vector<-cspace! (new 'stack-no-clear 'vector) (joint-node-index metalkor-lod0-jg head)) + ) + (let* ((a0-4 metalkor-pre-shot-ja) (f0-2 (/ (the float (-> (the-as art-joint-anim a0-4) frames num-frames)) (-> (the-as art-joint-anim a0-4) speed)) ) @@ -2297,9 +2290,9 @@ (set-time! (-> self state-time)) (metalkor-shoot-projectile) (set-nestb-purple! (fmax 1.0 (get-nestb-purple))) - (metalkor-ja-float-stop (the-as art-joint-anim (-> self draw art-group data 32))) + (metalkor-ja-float-stop (the-as art-joint-anim metalkor-pre-shot-ja)) (ja-channel-push! 1 (seconds 0.05)) - (ja :group! (-> self draw art-group data 33) :num! min) + (ja :group! metalkor-shot-ja :num! min) ) (if (zero? (-> self shots-fired)) (set-nestb-purple! @@ -2329,9 +2322,7 @@ ) :trans (behavior () (let ((v1-2 (ja-group))) - (when (and (not (and v1-2 (= v1-2 (-> self draw art-group data 33)))) - (time-elapsed? (-> self state-time) (seconds 3)) - ) + (when (and (not (and v1-2 (= v1-2 metalkor-shot-ja))) (time-elapsed? (-> self state-time) (seconds 3))) (cond ((or (< (-> self last-standing-attack) -1) (and (< (-> self last-standing-attack) 2) @@ -2367,7 +2358,7 @@ :event metalkor-handler :enter (behavior () (ja-channel-push! 1 (seconds 0.2)) - (ja :group! (-> self draw art-group data 44) :num! min) + (ja :group! metalkor-hang-hit-major-ja :num! min) (metalkor-spinners-off) (dotimes (gp-1 4) (let ((a0-3 (handle->process (-> self lowtorso)))) @@ -2380,14 +2371,14 @@ :trans (behavior () (let ((v1-2 (ja-group))) (cond - ((and v1-2 (= v1-2 (-> self draw art-group data 21))) + ((and v1-2 (= v1-2 metalkor-hang-roar-ja)) (ja :num! (seek!)) (if (ja-done? 0) (go-virtual hang-shoot-n-launch) ) ) ((let ((v1-17 (ja-group))) - (and v1-17 (= v1-17 (-> self draw art-group data 44))) + (and v1-17 (= v1-17 metalkor-hang-hit-major-ja)) ) (let ((f30-0 (ja-aframe-num 0))) (ja :num! (seek!)) @@ -2408,11 +2399,11 @@ ) (when (ja-done? 0) (ja-channel-push! 1 (seconds 0.2)) - (ja :group! (-> self draw art-group data 21) :num! min) + (ja :group! metalkor-hang-roar-ja :num! min) ) ) (else - (ja :group! (-> self draw art-group data 44) :num! min) + (ja :group! metalkor-hang-hit-major-ja :num! min) ) ) ) @@ -2441,7 +2432,7 @@ ) :exit (behavior () (send-event (handle->process (-> self lowtorso)) 'egg-toss 0) - (metalkor-ja-float-stop (the-as art-joint-anim (-> self draw art-group data 23))) + (metalkor-ja-float-stop (the-as art-joint-anim metalkor-hang-pre-shot-ja)) ) :trans (behavior () (local-vars (sv-16 res-tag)) @@ -2548,7 +2539,10 @@ (nonzero? (mod (-> self shots-fired) (-> self stage))) ) (set-time! (-> self flitter-timer)) - (spawn (-> self shot-anticipate) (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 7))) + (spawn + (-> self shot-anticipate) + (vector<-cspace! (new 'stack-no-clear 'vector) (joint-node-index metalkor-lod0-jg head)) + ) (if (zero? (mod (-> self shots-fired) (-> self stage))) (set-nestb-purple! (fmax @@ -2560,14 +2554,14 @@ (fmax (get-nestb-purple) (* 0.0022222223 (the float (- (current-time) (-> self shoot-timer))))) ) ) - (let* ((v1-123 (the-as art-joint-anim (-> self draw art-group data 23))) + (let* ((v1-123 (the-as art-joint-anim metalkor-hang-pre-shot-ja)) (f0-7 (/ (the float (-> v1-123 frames num-frames)) (-> v1-123 speed))) (f1-6 45.0) ) (if (zero? (mod (-> self shots-fired) (-> self stage))) (set! f1-6 75.0) ) - (if (metalkor-ja-float (the-as art-joint-anim (-> self draw art-group data 23)) (/ f0-7 f1-6) 1.0 f0-7) + (if (metalkor-ja-float (the-as art-joint-anim metalkor-hang-pre-shot-ja) (/ f0-7 f1-6) 1.0 f0-7) (sound-play "nboss-pre-shot") ) ) @@ -2579,9 +2573,9 @@ (set-time! (-> self shoot-timer)) (metalkor-shoot-projectile) (set-nestb-purple! (fmax 1.0 (get-nestb-purple))) - (metalkor-ja-float-stop (the-as art-joint-anim (-> self draw art-group data 23))) + (metalkor-ja-float-stop (the-as art-joint-anim metalkor-hang-pre-shot-ja)) (ja-channel-push! 1 (seconds 0.05)) - (ja :group! (-> self draw art-group data 24) :num! min) + (ja :group! metalkor-hang-shot-ja :num! min) (metalkor-all-spinners-on) ) ) @@ -2629,7 +2623,7 @@ (set! (-> self current-nav-poly) (cloest-point-on-mesh (-> self nav) (-> self root trans) (-> self root trans) (-> self current-nav-poly)) ) - (ja :group! (-> self draw art-group data 5)) + (ja :group! metalkor-walk-ja) ) :trans (behavior () (local-vars (v1-72 float)) diff --git a/goal_src/jak2/levels/nest/flying-spider.gc b/goal_src/jak2/levels/nest/flying-spider.gc index f07d00c6aaf..2079412f8e8 100644 --- a/goal_src/jak2/levels/nest/flying-spider.gc +++ b/goal_src/jak2/levels/nest/flying-spider.gc @@ -442,7 +442,7 @@ :event (behavior ((proc process) (argc int) (message symbol) (block event-message-block)) (case message (('event-attack-l) - (let* ((s5-0 (-> self node-list data 30)) + (let* ((s5-0 (joint-node-index flying-spider-lod0-jg LgunTip)) (gp-0 (vector<-cspace! (new 'stack-no-clear 'vector) s5-0)) (a0-3 (vector-normalize-copy! (new 'stack-no-clear 'vector) (-> s5-0 bone transform vector 2) 163840.0)) (a2-3 (vector+! (new 'stack-no-clear 'vector) gp-0 a0-3)) @@ -451,7 +451,7 @@ ) ) (('event-attack-r) - (let* ((s5-1 (-> self node-list data 35)) + (let* ((s5-1 (joint-node-index flying-spider-lod0-jg RgunTip)) (gp-1 (vector<-cspace! (new 'stack-no-clear 'vector) s5-1)) (a0-7 (vector-normalize-copy! (new 'stack-no-clear 'vector) (-> s5-1 bone transform vector 2) -163840.0)) (a2-6 (vector+! (new 'stack-no-clear 'vector) gp-1 a0-7)) diff --git a/goal_src/jak2/levels/palace/boss/squid-setup.gc b/goal_src/jak2/levels/palace/boss/squid-setup.gc index d0a930b636e..4902ca1c1f6 100644 --- a/goal_src/jak2/levels/palace/boss/squid-setup.gc +++ b/goal_src/jak2/levels/palace/boss/squid-setup.gc @@ -1328,7 +1328,7 @@ (set! sv-64 (the-as symbol #f)) (set! sv-96 *launch-matrix*) (set! sv-80 (-> sv-96 trans)) - (let ((v1-13 (-> (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 36)) quad))) + (let ((v1-13 (-> (vector<-cspace! (new 'stack-no-clear 'vector) (joint-node-index squid-lod0-jg gunL)) quad))) (set! (-> sv-80 quad) v1-13) ) ((the-as (function object object object object object object object object none) s5-0) @@ -1364,7 +1364,7 @@ (set! sv-128 (the-as symbol #f)) (set! sv-160 *launch-matrix*) (set! sv-144 (-> sv-160 trans)) - (let ((v1-25 (-> (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 50)) quad))) + (let ((v1-25 (-> (vector<-cspace! (new 'stack-no-clear 'vector) (joint-node-index squid-lod0-jg podL)) quad))) (set! (-> sv-144 quad) v1-25) ) ((the-as (function object object object object object object object object none) s5-1) @@ -1461,11 +1461,11 @@ (go-virtual pre-flee) ) ((let ((v1-41 (ja-group))) - (or (and (and v1-41 (= v1-41 (-> self draw art-group data 4))) (< 16.0 (ja-aframe-num 0))) + (or (and (and v1-41 (= v1-41 squid-shields-up-ja)) (< 16.0 (ja-aframe-num 0))) (let ((v1-49 (ja-group))) - (or (and v1-49 (= v1-49 (-> self draw art-group data 5))) + (or (and v1-49 (= v1-49 squid-shields-idle-ja)) (let ((v1-54 (ja-group))) - (and (and v1-54 (= v1-54 (-> self draw art-group data 6))) (< (ja-aframe-num 0) 105.0)) + (and (and v1-54 (= v1-54 squid-shields-down-ja)) (< (ja-aframe-num 0) 105.0)) ) ) ) diff --git a/goal_src/jak2/levels/palace/boss/squid-states.gc b/goal_src/jak2/levels/palace/boss/squid-states.gc index 8241c32502a..748644c11e2 100644 --- a/goal_src/jak2/levels/palace/boss/squid-states.gc +++ b/goal_src/jak2/levels/palace/boss/squid-states.gc @@ -516,7 +516,7 @@ ) (set! (-> self tentacle-base-rotation-speed target) 1.0) (ja-channel-push! 1 (seconds 0.2)) - (ja :group! (-> self draw art-group data 36) :num! min) + (ja :group! squid-damaged-ja :num! min) ) :exit (behavior () (process-release? *target*) @@ -551,7 +551,7 @@ (if (time-elapsed? (-> self state-time) (seconds 3)) (go-virtual flee) ) - (spawn (-> self part) (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 55))) + (spawn (-> self part) (vector<-cspace! (new 'stack-no-clear 'vector) (joint-node-index squid-lod0-jg podR))) (when (>= (- (current-time) (-> self traj-timer)) 0) (sound-play "squid-explosion") (set! (-> self traj-timer) (+ (current-time) (the int (* 300.0 (rand-vu-float-range 0.25 0.5))))) @@ -574,7 +574,7 @@ (set! sv-96 (the-as symbol #f)) (set! sv-128 *launch-matrix*) (set! sv-112 (-> sv-128 trans)) - (let ((v1-33 (-> (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 43)) quad))) + (let ((v1-33 (-> (vector<-cspace! (new 'stack-no-clear 'vector) (joint-node-index squid-lod0-jg gunR)) quad))) (set! (-> sv-112 quad) v1-33) ) ((the-as (function object object object object object object object object none) s5-3) @@ -610,7 +610,7 @@ (set! sv-160 (the-as symbol #f)) (set! sv-192 *launch-matrix*) (set! sv-176 (-> sv-192 trans)) - (let ((v1-47 (-> (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 55)) quad))) + (let ((v1-47 (-> (vector<-cspace! (new 'stack-no-clear 'vector) (joint-node-index squid-lod0-jg podR)) quad))) (set! (-> sv-176 quad) v1-47) ) ((the-as (function object object object object object object object object none) s5-4) @@ -645,7 +645,7 @@ (set! sv-224 (the-as symbol #f)) (set! sv-256 *launch-matrix*) (set! sv-240 (-> sv-256 trans)) - (let ((v1-59 (-> (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 55)) quad))) + (let ((v1-59 (-> (vector<-cspace! (new 'stack-no-clear 'vector) (joint-node-index squid-lod0-jg podR)) quad))) (set! (-> sv-240 quad) v1-59) ) ((the-as (function object object object object object object object object none) s5-5) @@ -688,7 +688,7 @@ ) (set! (-> self driver-blend target) 0.0) (ja-channel-push! 1 (seconds 0.5)) - (ja :group! (-> self draw art-group data 33) :num! min) + (ja :group! squid-recharge-landing-ja :num! min) ) :exit (behavior () (squid-talker 'done-recharging) @@ -704,7 +704,7 @@ ) (let ((v1-10 (ja-group))) (cond - ((and v1-10 (= v1-10 (-> self draw art-group data 34))) + ((and v1-10 (= v1-10 squid-recharge-liftoff-ja)) (ja :num! (seek!)) (when (ja-done? 0) (vector-reset! (-> self residual-velocity)) @@ -714,21 +714,21 @@ ((time-elapsed? (-> self state-time) (seconds 2)) (set! (-> self driver-blend target) 1.0) (ja-channel-push! 1 (seconds 0.1)) - (ja :group! (-> self draw art-group data 34) :num! min) + (ja :group! squid-recharge-liftoff-ja :num! min) ) ((let ((v1-37 (ja-group))) - (and v1-37 (= v1-37 (-> self draw art-group data 35))) + (and v1-37 (= v1-37 squid-recharge-ja)) ) (ja :num! (seek!)) (when (ja-done? 0) (ja-channel-push! 1 (seconds 0.25)) - (ja :group! (-> self draw art-group data 35) :num! min) + (ja :group! squid-recharge-ja :num! min) ) ) (else (ja :num! (seek!)) (if (ja-done? 0) - (ja :group! (-> self draw art-group data 35) :num! min) + (ja :group! squid-recharge-ja :num! min) ) ) ) @@ -790,28 +790,26 @@ (defbehavior squid-adjust-fly-anim squid () (let ((v1-2 (ja-group))) (cond - ((and v1-2 (= v1-2 (-> self draw art-group data 21))) + ((and v1-2 (= v1-2 squid-fly-left-start-ja)) (ja :num! (seek!)) (if (>= 5.0 (ja-frame-num 0)) (set! (-> self allowed-rotate-to-vector-angle) 0.0) ) (when (or (ja-done? 0) (< -364.0889 (-> self desired-rotate-to-vector-angle))) (ja-channel-push! 1 (seconds 0.1)) - (ja :group! (-> self draw art-group data 23) - :num! (identity (the float (max 0 (- 20 (the int (ja-aframe-num 0)))))) - ) + (ja :group! squid-fly-left-end-ja :num! (identity (the float (max 0 (- 20 (the int (ja-aframe-num 0))))))) ) ) ((let ((v1-26 (ja-group))) - (and (and v1-26 (= v1-26 (-> self draw art-group data 23))) (< (-> self desired-rotate-to-vector-angle) 0.0)) + (and (and v1-26 (= v1-26 squid-fly-left-end-ja)) (< (-> self desired-rotate-to-vector-angle) 0.0)) ) (ja :num! (seek!)) (if (ja-done? 0) - (ja :group! (-> self draw art-group data 3) :num! min) + (ja :group! squid-squid-idle-ja :num! min) ) ) ((let ((v1-44 (ja-group))) - (and v1-44 (= v1-44 (-> self draw art-group data 24))) + (and v1-44 (= v1-44 squid-fly-right-start-ja)) ) (ja :num! (seek!)) (if (>= 5.0 (ja-frame-num 0)) @@ -819,24 +817,22 @@ ) (when (or (ja-done? 0) (< (-> self desired-rotate-to-vector-angle) 364.0889)) (ja-channel-push! 1 (seconds 0.1)) - (ja :group! (-> self draw art-group data 26) - :num! (identity (the float (max 0 (- 105 (the int (ja-aframe-num 0)))))) - ) + (ja :group! squid-fly-right-end-ja :num! (identity (the float (max 0 (- 105 (the int (ja-aframe-num 0))))))) ) ) (else (let ((v1-68 (ja-group))) (cond - ((and (and v1-68 (= v1-68 (-> self draw art-group data 26))) (< 0.0 (-> self desired-rotate-to-vector-angle))) + ((and (and v1-68 (= v1-68 squid-fly-right-end-ja)) (< 0.0 (-> self desired-rotate-to-vector-angle))) (ja :num! (seek!)) (if (ja-done? 0) - (ja :group! (-> self draw art-group data 3) :num! min) + (ja :group! squid-squid-idle-ja :num! min) ) ) ((< (-> self desired-rotate-to-vector-angle) -910.2222) (set! (-> self allowed-rotate-to-vector-angle) 0.0) (ja-channel-push! 1 (seconds 0.2)) - (ja :group! (-> self draw art-group data 21) :num! min) + (ja :group! squid-fly-left-start-ja :num! min) (set! (-> self jet-volume) (the-as int (current-time))) (set! (-> self jet-pitch) (the-as int (current-time))) (set! (-> self negate-jet-pitch) #f) @@ -844,13 +840,13 @@ ((< 910.2222 (-> self desired-rotate-to-vector-angle)) (set! (-> self allowed-rotate-to-vector-angle) 0.0) (ja-channel-push! 1 (seconds 0.2)) - (ja :group! (-> self draw art-group data 24) :num! min) + (ja :group! squid-fly-right-start-ja :num! min) (set! (-> self jet-volume) (the-as int (current-time))) (set! (-> self jet-pitch) (the-as int (current-time))) (set! (-> self negate-jet-pitch) #f) ) ((let ((v1-106 (ja-group))) - (and v1-106 (= v1-106 (-> self draw art-group data 3))) + (and v1-106 (= v1-106 squid-squid-idle-ja)) ) (ja :num! (loop!)) ) @@ -858,7 +854,7 @@ (ja :num! (seek!)) (when (ja-done? 0) (ja-channel-push! 1 (seconds 0.2)) - (ja :group! (-> self draw art-group data 3) :num! min) + (ja :group! squid-squid-idle-ja :num! min) ) ) ) @@ -920,9 +916,9 @@ (sound-play "squid-rush-end") (set-time! (-> self rush-end-time)) (let ((v1-5 (ja-group))) - (when (and v1-5 (= v1-5 (-> self draw art-group data 5))) + (when (and v1-5 (= v1-5 squid-shields-idle-ja)) (ja-channel-push! 1 (seconds 0.05)) - (ja :group! (-> self draw art-group data 6) :num! min) + (ja :group! squid-shields-down-ja :num! min) (sound-play "sqd-shield-down") (set! (-> self jet-volume) (the-as int (current-time))) (set! (-> self jet-pitch) (the-as int (current-time))) @@ -941,7 +937,7 @@ ) (let ((v1-17 (ja-group))) (cond - ((and v1-17 (= v1-17 (-> self draw art-group data 4))) + ((and v1-17 (= v1-17 squid-shields-up-ja)) (ja :num! (seek!)) (when (and (-> self can-play-squid-boost) (< 30.0 (ja-aframe-num 0))) (sound-play "squid-boost") @@ -954,7 +950,7 @@ 0 ) (if (ja-done? 0) - (ja :group! (-> self draw art-group data 5) :num! min) + (ja :group! squid-shields-idle-ja :num! min) ) (if (< (ja-aframe-num 0) 20.0) (squid-method-42 self (-> self traj-dest)) @@ -964,12 +960,12 @@ (else (let ((v1-53 (ja-group))) (cond - ((and v1-53 (= v1-53 (-> self draw art-group data 5))) + ((and v1-53 (= v1-53 squid-shields-idle-ja)) (ja :num! (loop!)) ) (else (ja-channel-push! 1 (seconds 0.1)) - (ja :group! (-> self draw art-group data 4) :num! min) + (ja :group! squid-shields-up-ja :num! min) ) ) ) @@ -997,7 +993,7 @@ (go-virtual fly-to-shoot-spot) ) (let ((v1-89 (ja-group))) - (when (and v1-89 (or (= v1-89 (-> self draw art-group data 4)) (= v1-89 (-> self draw art-group data 5)))) + (when (and v1-89 (or (= v1-89 squid-shields-up-ja) (= v1-89 squid-shields-idle-ja))) (set! (-> gp-3 quad) (-> self traj-dest quad)) (set! (-> s3-0 quad) (-> self traj-dest quad)) (clamp-vector-to-mesh-cross-gaps (-> self nav) gp-3 (-> self current-nav-poly) s3-0 409600.0 #f s2-0) @@ -1083,9 +1079,9 @@ ) (let ((v1-10 (ja-group))) (cond - ((not (and v1-10 (= v1-10 (-> self draw art-group data 3)))) + ((not (and v1-10 (= v1-10 squid-squid-idle-ja))) (ja-channel-push! 1 (seconds 0.2)) - (ja :group! (-> self draw art-group data 3) :num! min) + (ja :group! squid-squid-idle-ja :num! min) ) (else (ja :num! (loop!)) @@ -1206,36 +1202,36 @@ (squid-method-43 self (squid-method-42 self (new 'stack-no-clear 'vector)) 22.755556 0.75) (let ((v1-13 (ja-group))) (cond - ((and v1-13 (= v1-13 (-> self draw art-group data 7))) + ((and v1-13 (= v1-13 squid-pods-down-ja)) (ja :num! (seek!)) (when (ja-done? 0) (cond ((or (= (-> self shield-hit-points) 0.0) (zero? (-> self hit-points)) (-> self stop-shooting)) - (ja :group! (-> self draw art-group data 15) :num! min) + (ja :group! squid-pods-up-ja :num! min) ) ((-> self fire-aft) - (ja :group! (-> self draw art-group data 11) :num! min) + (ja :group! squid-hatch-aft-open-ja :num! min) (set! (-> self fire-aft) #f) ) (else - (ja :group! (-> self draw art-group data 8) :num! min) + (ja :group! squid-hatch-fore-open-ja :num! min) (set! (-> self fire-aft) #t) ) ) ) ) ((let ((v1-44 (ja-group))) - (and v1-44 (= v1-44 (-> self draw art-group data 8))) + (and v1-44 (= v1-44 squid-hatch-fore-open-ja)) ) (ja :num! (seek!)) (cond ((not (ja-done? 0)) ) ((or (= (-> self shield-hit-points) 0.0) (zero? (-> self hit-points)) (-> self stop-shooting)) - (ja :group! (-> self draw art-group data 10) :num! min) + (ja :group! squid-hatch-fore-close-ja :num! min) ) (else - (ja :group! (-> self draw art-group data 9) :num! min) + (ja :group! squid-hatch-fore-launch-ja :num! min) (setup-grenade 0) (setup-grenade 5) (spawn-grenade self 51 (the-as squid-grenade-holder (-> self grenade)) 2.0) @@ -1246,7 +1242,7 @@ ) ) ((let ((v1-75 (ja-group))) - (and v1-75 (= v1-75 (-> self draw art-group data 9))) + (and v1-75 (= v1-75 squid-hatch-fore-launch-ja)) ) (ja :num! (seek!)) (cond @@ -1256,7 +1252,7 @@ ) ((or (= (-> self shield-hit-points) 0.0) (zero? (-> self hit-points)) (-> self stop-shooting)) (set! (-> self next-gun) 0) - (ja :group! (-> self draw art-group data 10) :num! min) + (ja :group! squid-hatch-fore-close-ja :num! min) ) ((< (-> self next-gun) (squid-num-grenades-to-shoot)) (setup-grenade (-> self next-gun)) @@ -1265,34 +1261,34 @@ (spawn-grenade self 57 (-> self grenade (+ (-> self next-gun) 5)) 1.0) (setup-masks (-> self draw) 0 4) (+! (-> self next-gun) 1) - (ja :group! (-> self draw art-group data 9) :num! min) + (ja :group! squid-hatch-fore-launch-ja :num! min) ) (else (set! (-> self next-gun) 0) - (ja :group! (-> self draw art-group data 10) :num! min) + (ja :group! squid-hatch-fore-close-ja :num! min) ) ) ) ((let ((v1-124 (ja-group))) - (and v1-124 (= v1-124 (-> self draw art-group data 10))) + (and v1-124 (= v1-124 squid-hatch-fore-close-ja)) ) (ja :num! (seek!)) (if (ja-done? 0) - (ja :group! (-> self draw art-group data 15) :num! min) + (ja :group! squid-pods-up-ja :num! min) ) ) ((let ((v1-141 (ja-group))) - (and v1-141 (= v1-141 (-> self draw art-group data 11))) + (and v1-141 (= v1-141 squid-hatch-aft-open-ja)) ) (ja :num! (seek!)) (cond ((not (ja-done? 0)) ) ((or (= (-> self shield-hit-points) 0.0) (zero? (-> self hit-points)) (-> self stop-shooting)) - (ja :group! (-> self draw art-group data 13) :num! min) + (ja :group! squid-hatch-aft-close-ja :num! min) ) (else - (ja :group! (-> self draw art-group data 12) :num! min) + (ja :group! squid-hatch-aft-launch-ja :num! min) (setup-grenade 0) (setup-grenade 5) (spawn-grenade self 53 (the-as squid-grenade-holder (-> self grenade)) 2.0) @@ -1303,7 +1299,7 @@ ) ) ((let ((v1-172 (ja-group))) - (and v1-172 (= v1-172 (-> self draw art-group data 12))) + (and v1-172 (= v1-172 squid-hatch-aft-launch-ja)) ) (ja :num! (seek!)) (cond @@ -1313,7 +1309,7 @@ ) ((or (= (-> self shield-hit-points) 0.0) (zero? (-> self hit-points)) (-> self stop-shooting)) (set! (-> self next-gun) 0) - (ja :group! (-> self draw art-group data 13) :num! min) + (ja :group! squid-hatch-aft-close-ja :num! min) ) ((< (-> self next-gun) (squid-num-grenades-to-shoot)) (setup-grenade (-> self next-gun)) @@ -1322,29 +1318,29 @@ (spawn-grenade self 59 (-> self grenade (+ (-> self next-gun) 5)) 1.0) (setup-masks (-> self draw) 0 16) (+! (-> self next-gun) 1) - (ja :group! (-> self draw art-group data 12) :num! min) + (ja :group! squid-hatch-aft-launch-ja :num! min) ) (else (set! (-> self next-gun) 0) - (ja :group! (-> self draw art-group data 13) :num! min) + (ja :group! squid-hatch-aft-close-ja :num! min) ) ) ) ((let ((v1-221 (ja-group))) - (and v1-221 (= v1-221 (-> self draw art-group data 13))) + (and v1-221 (= v1-221 squid-hatch-aft-close-ja)) ) (ja :num! (seek!)) (if (ja-done? 0) - (ja :group! (-> self draw art-group data 15) :num! min) + (ja :group! squid-pods-up-ja :num! min) ) ) ((let ((v1-238 (ja-group))) - (and v1-238 (= v1-238 (-> self draw art-group data 15))) + (and v1-238 (= v1-238 squid-pods-up-ja)) ) (ja :num! (seek!)) (when (ja-done? 0) (ja-channel-push! 1 (seconds 0.05)) - (ja :group! (-> self draw art-group data 3) :num! min) + (ja :group! squid-squid-idle-ja :num! min) (cond ((= (-> self shield-hit-points) 0.0) (go-virtual fly-to-post) @@ -1358,7 +1354,7 @@ ) (else (ja-channel-push! 1 (seconds 0.15)) - (ja :group! (-> self draw art-group data 7) :num! min) + (ja :group! squid-pods-down-ja :num! min) (set-time! (-> self state-time)) ) ) @@ -1451,7 +1447,7 @@ (quaternion-copy! (-> self gun-tilt-right-jm quat) (-> self gun-tilt-left-jm quat)) (let ((v1-50 (ja-group))) (cond - ((and v1-50 (= v1-50 (-> self draw art-group data 16))) + ((and v1-50 (= v1-50 squid-fire-guns-start-ja)) (ja :num! (seek!)) (when (and (= (-> self next-gun) 1) (>= (ja-aframe-num 0) 250.0)) (squid-method-53 self 39) @@ -1460,11 +1456,11 @@ 0 ) (if (ja-done? 0) - (ja :group! (-> self draw art-group data 17) :num! min) + (ja :group! squid-fire-guns-loop-ja :num! min) ) ) ((let ((v1-77 (ja-group))) - (and v1-77 (= v1-77 (-> self draw art-group data 17))) + (and v1-77 (= v1-77 squid-fire-guns-loop-ja)) ) (if (or (time-elapsed? (-> self state-time) (seconds 3)) (or (= (-> self shield-hit-points) 0.0) (zero? (-> self hit-points)) (-> self stop-shooting)) @@ -1490,11 +1486,11 @@ ) (ja-done? 0) ) - (ja :group! (-> self draw art-group data 18) :num! min) + (ja :group! squid-fire-guns-end-ja :num! min) ) ) ((let ((v1-132 (ja-group))) - (and v1-132 (= v1-132 (-> self draw art-group data 18))) + (and v1-132 (= v1-132 squid-fire-guns-end-ja)) ) (ja :num! (seek!)) (when (and (zero? (-> self next-gun)) (>= (ja-aframe-num 0) 262.0)) @@ -1503,17 +1499,17 @@ (set! (-> self next-gun) 1) ) (if (ja-done? 0) - (ja :group! (-> self draw art-group data 19) :num! min) + (ja :group! squid-fire-guns-release-ja :num! min) ) ) (else (let ((v1-158 (ja-group))) (cond - ((and v1-158 (= v1-158 (-> self draw art-group data 19))) + ((and v1-158 (= v1-158 squid-fire-guns-release-ja)) (ja :num! (seek!)) (when (ja-done? 0) (ja-channel-push! 1 (seconds 0.2)) - (ja :group! (-> self draw art-group data 3) :num! min) + (ja :group! squid-squid-idle-ja :num! min) (cond ((= (-> self shield-hit-points) 0.0) (go-virtual fly-to-post) @@ -1527,7 +1523,7 @@ ) (else (ja-channel-push! 1 (seconds 0.2)) - (ja :group! (-> self draw art-group data 16) :num! min) + (ja :group! squid-fire-guns-start-ja :num! min) (set-time! (-> self state-time)) (set! (-> self next-gun) 1) ) @@ -1652,7 +1648,7 @@ ) :exit (behavior () (ja-channel-push! 1 0) - (ja :group! (-> self draw art-group data 3) :num! min) + (ja :group! squid-squid-idle-ja :num! min) ) :trans (behavior () (cond diff --git a/goal_src/jak2/levels/palace/cable/palcab-obs.gc b/goal_src/jak2/levels/palace/cable/palcab-obs.gc index b4c3e60070c..4cfc4177430 100644 --- a/goal_src/jak2/levels/palace/cable/palcab-obs.gc +++ b/goal_src/jak2/levels/palace/cable/palcab-obs.gc @@ -1050,7 +1050,7 @@ This commonly includes things such as: (defstate fall (pal-flip-step) :virtual #t :code (behavior () - (ja-no-eval :group! (-> self draw art-group data 3) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! pal-flip-step-fall-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (transform-post) (suspend) diff --git a/goal_src/jak2/levels/palace/pal-obs.gc b/goal_src/jak2/levels/palace/pal-obs.gc index bf897a418f0..6be0dac463e 100644 --- a/goal_src/jak2/levels/palace/pal-obs.gc +++ b/goal_src/jak2/levels/palace/pal-obs.gc @@ -40,7 +40,7 @@ ) :trans rider-trans :code (behavior () - (ja-no-eval :group! (-> self draw art-group data 2) :num! zero) + (ja-no-eval :group! pal-falling-plat-idle-ja :num! zero) (transform-post) (sleep-code) ) @@ -72,13 +72,13 @@ ) :trans rider-trans :code (behavior () - (ja-no-eval :group! (-> self draw art-group data 3) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! pal-falling-plat-shake-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) ) (logclear! (-> self root root-prim prim-core action) (collide-action rideable)) - (ja-no-eval :group! (-> self draw art-group data 2) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! pal-falling-plat-idle-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -763,7 +763,7 @@ This commonly includes things such as: (defstate idle (palent-turret) :virtual #t :enter (behavior () - (set! (-> self state-time) (current-time)) + (set-time! (-> self state-time)) ) :exit (behavior () '() @@ -771,7 +771,7 @@ This commonly includes things such as: :trans (behavior () (cond ((not (task-node-closed? (game-task-node palace-sneak-in-meeting))) - (set! (-> self state-time) (current-time)) + (set-time! (-> self state-time)) ) (else (let* ((f0-0 65536.0) diff --git a/goal_src/jak2/levels/ruins/rapid-gunner.gc b/goal_src/jak2/levels/ruins/rapid-gunner.gc index ca51c8dc5de..9135acaa954 100644 --- a/goal_src/jak2/levels/ruins/rapid-gunner.gc +++ b/goal_src/jak2/levels/ruins/rapid-gunner.gc @@ -544,7 +544,7 @@ (let ((gp-0 (new 'stack-no-clear 'vector))) (set! (-> gp-0 quad) (-> (get-trans (the-as process-focusable a0-1) 0) quad)) (let ((s5-1 (vector-! (new 'stack-no-clear 'vector) gp-0 (-> self target-prev-pos)))) - (let* ((a1-3 (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 18))) + (let* ((a1-3 (vector<-cspace! (new 'stack-no-clear 'vector) (joint-node-index rapid-gunner-lod0-jg blast))) (f0-0 (vector-vector-distance gp-0 a1-3)) ) (vector-normalize! s5-1 (* 0.00028170072 f0-0 (vector-length s5-1))) @@ -756,7 +756,7 @@ ) ((time-elapsed? (the-as int (-> self shot-timer)) (seconds 0.25)) (when (rapid-gunner-method-184 self 2184.5334) - (let* ((a1-11 (-> self node-list data 18)) + (let* ((a1-11 (joint-node-index rapid-gunner-lod0-jg blast)) (f30-0 (fmax 0.0 (the float (- (-> self spin-up-timer) (current-time))))) (s5-1 (vector<-cspace! (new 'stack-no-clear 'vector) a1-11)) (s4-2 diff --git a/goal_src/jak2/levels/ruins/ruins-obs.gc b/goal_src/jak2/levels/ruins/ruins-obs.gc index 3627282b3aa..5bac446c456 100644 --- a/goal_src/jak2/levels/ruins/ruins-obs.gc +++ b/goal_src/jak2/levels/ruins/ruins-obs.gc @@ -171,7 +171,7 @@ :virtual #t :code (behavior () (sound-play "beam-slip") - (ja-no-eval :group! (-> self draw art-group data 3) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! beam-slide-center-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -266,11 +266,11 @@ and translate the platform via the `smush` (format (clear *temp-string*) "~S-end" (-> self art-name)) (let ((s5-1 (s4-0 s5-0 *temp-string* art-joint-anim))) (if (not arg0) - ;; added cast + ;; og:preserve-this added cast (ja-play-spooled-anim (-> self anim) (ja-group) (the-as art-joint-anim s5-1) (the-as (function process-drawable symbol) false-func)) ) (ja-channel-set! 1) - ;; added cast + ;; og:preserve-this added cast (set! (-> self skel root-channel 0 frame-group) (the-as art-joint-anim s5-1)) ) ) @@ -482,11 +482,11 @@ and translate the platform via the `smush` ) (set! (-> self anim anim-name) (-> self break-anim-name)) (sound-play "tower-plat-fall") - ;; added cast + ;; og:preserve-this added cast (ja-play-spooled-anim (-> self anim) (ja-group) (the-as art-joint-anim gp-1) (the-as (function process-drawable symbol) false-func)) ) (ja-channel-set! 1) - ;; added cast + ;; og:preserve-this added cast (set! (-> self skel root-channel 0 frame-group) (the-as art-joint-anim gp-1)) ) ) diff --git a/goal_src/jak2/levels/sewer/escort/jinx-states.gc b/goal_src/jak2/levels/sewer/escort/jinx-states.gc index faf7b881588..fc5e42becd5 100644 --- a/goal_src/jak2/levels/sewer/escort/jinx-states.gc +++ b/goal_src/jak2/levels/sewer/escort/jinx-states.gc @@ -12,11 +12,8 @@ :code (behavior () (let ((v1-2 (ja-group))) (cond - ((and v1-2 (or (= v1-2 (-> self draw art-group data 3)) - (= v1-2 (-> self draw art-group data 4)) - (= v1-2 (-> self draw art-group data 5)) - (= v1-2 (-> self draw art-group data 6)) - ) + ((and v1-2 + (or (= v1-2 jinx-idle0-ja) (= v1-2 jinx-idle1-ja) (= v1-2 jinx-scared0-ja) (= v1-2 jinx-scared1-ja)) ) (ja-no-eval :num! (seek!)) (while (not (ja-done? 0)) @@ -25,14 +22,14 @@ ) ) ((let ((v1-17 (ja-group))) - (and v1-17 (= v1-17 (-> self draw art-group data 60))) + (and v1-17 (= v1-17 jinx-alert0-ja)) ) (ja-no-eval :num! (seek!)) (while (not (ja-done? 0)) (suspend) (ja-eval) ) - (ja-no-eval :group! (-> self draw art-group data 61) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! jinx-alert-to-idle0-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -44,11 +41,11 @@ (let ((gp-0 (get-rand-int self 5))) (while (>= gp-0 0) (let ((v1-57 (ja-group))) - (if (not (and v1-57 (= v1-57 (-> self draw art-group data 3)))) + (if (not (and v1-57 (= v1-57 jinx-idle0-ja))) (ja-channel-push! 1 (seconds 0.2)) ) ) - (ja-no-eval :group! (-> self draw art-group data 3) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! jinx-idle0-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -57,12 +54,12 @@ ) ) (let ((v1-89 (ja-group))) - (if (not (and v1-89 (= v1-89 (-> self draw art-group data 4)))) + (if (not (and v1-89 (= v1-89 jinx-idle1-ja))) (ja-channel-push! 1 (seconds 0.2)) ) ) (stop-looking-at-target! self) - (ja-no-eval :group! (-> self draw art-group data 4) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! jinx-idle1-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -117,17 +114,17 @@ (cond ((< f0-8 18204.445) (set! f0-9 9102.223) - (set! s4-1 (-> self draw art-group data 39)) + (set! s4-1 jinx-turn-left50-end0-ja) ) ((< f0-8 27306.666) (set! f0-9 18204.445) - (set! s4-1 (-> self draw art-group data 40)) + (set! s4-1 jinx-turn-left100-end0-ja) (set! f30-0 10.0) (set! f28-0 24.0) ) (else (set! f0-9 27306.666) - (set! s4-1 (-> self draw art-group data 41)) + (set! s4-1 jinx-turn-left150-end0-ja) (set! f30-0 10.0) (set! f28-0 24.0) ) @@ -140,16 +137,16 @@ (cond ((< -18204.445 f0-8) (set! f0-9 -9102.223) - (set! s4-1 (-> self draw art-group data 43)) + (set! s4-1 jinx-turn-right50-end0-ja) ) ((< -27306.666 f0-8) (set! f0-9 -18204.445) - (set! s4-1 (-> self draw art-group data 44)) + (set! s4-1 jinx-turn-right100-end0-ja) (set! f28-0 17.0) ) (else (set! f0-9 -27306.666) - (set! s4-1 (-> self draw art-group data 45)) + (set! s4-1 jinx-turn-right150-end0-ja) (set! f28-0 17.0) ) ) @@ -186,11 +183,8 @@ :code (behavior () (let ((v1-2 (ja-group))) (cond - ((and v1-2 (or (= v1-2 (-> self draw art-group data 5)) - (= v1-2 (-> self draw art-group data 6)) - (= v1-2 (-> self draw art-group data 7)) - (= v1-2 (-> self draw art-group data 8)) - ) + ((and v1-2 + (or (= v1-2 jinx-scared0-ja) (= v1-2 jinx-scared1-ja) (= v1-2 jinx-scared2-ja) (= v1-2 jinx-scared3-ja)) ) (ja-no-eval :num! (seek!)) (while (not (ja-done? 0)) @@ -199,14 +193,14 @@ ) ) ((let ((v1-17 (ja-group))) - (and v1-17 (= v1-17 (-> self draw art-group data 60))) + (and v1-17 (= v1-17 jinx-alert0-ja)) ) (ja-no-eval :num! (seek!)) (while (not (ja-done? 0)) (suspend) (ja-eval) ) - (ja-no-eval :group! (-> self draw art-group data 61) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! jinx-alert-to-idle0-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -218,11 +212,11 @@ (until #f (countdown (s5-0 (get-rand-int-range self 1 3)) (let ((v1-57 (ja-group))) - (if (not (and v1-57 (= v1-57 (-> self draw art-group data 5)))) + (if (not (and v1-57 (= v1-57 jinx-scared0-ja))) (ja-channel-push! 1 (seconds 0.1)) ) ) - (ja-no-eval :group! (-> self draw art-group data 5) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! jinx-scared0-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -292,16 +286,16 @@ (cond ((< f0-8 18204.445) (set! f0-9 9102.223) - (set! s4-1 (-> self draw art-group data 47)) + (set! s4-1 jinx-scared-turn-left50-end0-ja) ) ((< f0-8 27306.666) (set! f0-9 18204.445) - (set! s4-1 (-> self draw art-group data 48)) + (set! s4-1 jinx-scared-turn-left100-end0-ja) (set! f28-0 5.0) ) (else (set! f0-9 27306.666) - (set! s4-1 (-> self draw art-group data 49)) + (set! s4-1 jinx-scared-turn-left150-end0-ja) ) ) ) @@ -312,16 +306,16 @@ (cond ((< -18204.445 f0-8) (set! f0-9 -9102.223) - (set! s4-1 (-> self draw art-group data 51)) + (set! s4-1 jinx-scared-turn-right50-end0-ja) ) ((< -27306.666 f0-8) (set! f0-9 -18204.445) - (set! s4-1 (-> self draw art-group data 52)) + (set! s4-1 jinx-scared-turn-right100-end0-ja) (set! f28-0 5.0) ) (else (set! f0-9 -27306.666) - (set! s4-1 (-> self draw art-group data 53)) + (set! s4-1 jinx-scared-turn-right150-end0-ja) ) ) ) @@ -356,7 +350,7 @@ :virtual #t :code (behavior () (let ((v1-2 (ja-group))) - (when (and v1-2 (= v1-2 (-> self draw art-group data 60))) + (when (and v1-2 (= v1-2 jinx-alert0-ja)) (ja-no-eval :num! (seek!)) (while (not (ja-done? 0)) (suspend) @@ -365,9 +359,9 @@ ) ) (let ((v1-17 (ja-group))) - (if (not (or (and v1-17 (= v1-17 (-> self draw art-group data 60))) + (if (not (or (and v1-17 (= v1-17 jinx-alert0-ja)) (let ((v1-23 (ja-group))) - (and (and v1-23 (= v1-23 (-> self draw art-group data 59))) (ja-done? 0)) + (and (and v1-23 (= v1-23 jinx-blast-forward-alert-ja)) (ja-done? 0)) ) ) ) @@ -375,7 +369,7 @@ ) ) (until #f - (ja-no-eval :group! (-> self draw art-group data 60) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! jinx-alert0-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -428,10 +422,10 @@ ) (let ((a1-0 30)) (let ((v1-4 (ja-group))) - (when (and v1-4 (or (= v1-4 (-> self draw art-group data 22)) - (= v1-4 (-> self draw art-group data 20)) - (= v1-4 (-> self draw art-group data 18)) - (= v1-4 (-> self draw art-group data 16)) + (when (and v1-4 (or (= v1-4 jinx-knocked-land0-ja) + (= v1-4 jinx-yellow-hit-land-right0-ja) + (= v1-4 jinx-yellow-hit-land-left0-ja) + (= v1-4 jinx-blue-hit-land-ja) ) ) (set! gp-0 #t) @@ -442,14 +436,14 @@ ((< (fabs (-> self focus-info ry-diff)) 8192.0) (let ((v1-12 (ja-group))) (cond - ((and v1-12 (= v1-12 (-> self draw art-group data 60))) - (set! s5-0 (-> self draw art-group data 59)) + ((and v1-12 (= v1-12 jinx-alert0-ja)) + (set! s5-0 jinx-blast-forward-alert-ja) (set! f30-0 7.0) (set! gp-0 #f) (set! a1-0 12) ) (else - (set! s5-0 (-> self draw art-group data 54)) + (set! s5-0 jinx-blast-forward-ja) ) ) ) @@ -457,11 +451,11 @@ ) ((< (-> self focus-info ry-diff) 0.0) (ja-channel-push! 1 (the-as time-frame a1-0)) - (set! s5-0 (-> self draw art-group data 56)) + (set! s5-0 jinx-blast-right-ja) ) (else (ja-channel-push! 1 (the-as time-frame a1-0)) - (set! s5-0 (-> self draw art-group data 55)) + (set! s5-0 jinx-blast-left-ja) ) ) ) @@ -555,14 +549,14 @@ :virtual #t :code (behavior () (ja-channel-push! 1 (seconds 0.2)) - (ja-no-eval :group! (-> self draw art-group data 3) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! jinx-idle0-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) ) (set-time! (-> self state-time)) (until #f - (ja-no-eval :group! (-> self draw art-group data 3) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! jinx-idle0-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (if (and (logtest? (-> self bot-flags) (bot-flags failed)) (time-elapsed? (-> self state-time) (seconds 0.5)) @@ -587,7 +581,7 @@ ) :code (behavior () (ja-channel-push! 1 (seconds 0.1)) - (ja-no-eval :group! (-> self draw art-group data 62) :num! (seek! (ja-aframe 56.0 0)) :frame-num 0.0) + (ja-no-eval :group! jinx-plant-bomb-right-ja :num! (seek! (ja-aframe 56.0 0)) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek! (ja-aframe 56.0 0))) @@ -615,7 +609,7 @@ (send-event (handle->process (-> self master-handle)) 'notify 'jinx-bomb) (logior! (-> self bot-flags) (bot-flags bf21)) (setup-masks (-> self draw) 0 4096) - (ja-no-eval :group! (-> self draw art-group data 62) :num! (seek!) :frame-num (ja-aframe 56.0 0)) + (ja-no-eval :group! jinx-plant-bomb-right-ja :num! (seek!) :frame-num (ja-aframe 56.0 0)) (until (ja-done? 0) (suspend) (ja :num! (seek!)) diff --git a/goal_src/jak2/levels/sewer/gator.gc b/goal_src/jak2/levels/sewer/gator.gc index 28f7eadc12f..de0204a4b95 100644 --- a/goal_src/jak2/levels/sewer/gator.gc +++ b/goal_src/jak2/levels/sewer/gator.gc @@ -451,7 +451,7 @@ ) :code (behavior () (ja-channel-push! 1 (seconds 0.07)) - (ja-no-eval :group! (-> self draw art-group data 15) :num! (seek!) :frame-num (ja-aframe 0.0 0)) + (ja-no-eval :group! amphibian-swim-chomp-ja :num! (seek!) :frame-num (ja-aframe 0.0 0)) (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (let ((target-pos (new 'stack-no-clear 'vector))) diff --git a/goal_src/jak2/levels/sewer/hosehead-fake.gc b/goal_src/jak2/levels/sewer/hosehead-fake.gc index 9b52650fc2d..4609447827b 100644 --- a/goal_src/jak2/levels/sewer/hosehead-fake.gc +++ b/goal_src/jak2/levels/sewer/hosehead-fake.gc @@ -177,11 +177,11 @@ (cond ((zero? v1-0) (let ((v1-3 (ja-group))) - (if (not (and v1-3 (= v1-3 (-> self draw art-group data 15)))) + (if (not (and v1-3 (= v1-3 hosehead-idle0-ja))) (ja-channel-push! 1 (seconds 0.17)) ) ) - (ja-no-eval :group! (-> self draw art-group data 15) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! hosehead-idle0-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -189,11 +189,11 @@ ) ((= v1-0 1) (let ((v1-34 (ja-group))) - (if (not (and v1-34 (= v1-34 (-> self draw art-group data 15)))) + (if (not (and v1-34 (= v1-34 hosehead-idle0-ja))) (ja-channel-push! 1 (seconds 0.17)) ) ) - (ja-no-eval :group! (-> self draw art-group data 37) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! hosehead-idle1-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -201,7 +201,7 @@ ) ((= v1-0 2) (ja-channel-push! 1 (seconds 0.17)) - (ja-no-eval :group! (-> self draw art-group data 13) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! hosehead-attack0-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -209,7 +209,7 @@ ) ((= v1-0 3) (ja-channel-push! 1 (seconds 0.17)) - (ja-no-eval :group! (-> self draw art-group data 14) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! hosehead-attack1-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -217,7 +217,7 @@ ) ((= v1-0 4) (ja-channel-push! 1 (seconds 0.17)) - (ja-no-eval :group! (-> self draw art-group data 21) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! hosehead-attack-left-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -225,7 +225,7 @@ ) ((= v1-0 5) (ja-channel-push! 1 (seconds 0.17)) - (ja-no-eval :group! (-> self draw art-group data 35) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! hosehead-knocked-land2-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -233,7 +233,7 @@ ) (else (ja-channel-push! 1 (seconds 0.17)) - (ja-no-eval :group! (-> self draw art-group data 10) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! hosehead-shoot-start-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -324,7 +324,7 @@ ) (set! (-> self draw light-index) (the-as uint 10)) (ja-channel-push! 1 0) - (ja :group! (-> self draw art-group data 5) :num! min) + (ja :group! hosehead-walk-ja :num! min) (ja-post) (set! (-> self event-hook) hosehead-fake-event-handler) (go-virtual idle) diff --git a/goal_src/jak2/levels/sewer/sewer-obs.gc b/goal_src/jak2/levels/sewer/sewer-obs.gc index d3ae278d660..ed485cc6ad0 100644 --- a/goal_src/jak2/levels/sewer/sewer-obs.gc +++ b/goal_src/jak2/levels/sewer/sewer-obs.gc @@ -296,7 +296,7 @@ This commonly includes things such as: (if (< 6.0 f30-0) (set! f30-0 (+ -6.0 f30-0)) ) - (ja :group! (-> self draw art-group data 3) :num! (identity f30-0)) + (ja :group! sew-tri-blade-idle-ja :num! (identity f30-0)) ) (suspend) ) @@ -840,7 +840,7 @@ This commonly includes things such as: ) :code (behavior () (ja-channel-set! 1) - (ja :group! (-> self draw art-group data 2) :num! min) + (ja :group! sew-light-switch-idle-ja :num! min) (transform-post) (sleep-code) ) @@ -864,7 +864,7 @@ This commonly includes things such as: (sound-play "sew-light-switc") ) :code (behavior () - (ja-no-eval :group! (-> self draw art-group data 2) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! sew-light-switch-idle-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (transform-post) (suspend) diff --git a/goal_src/jak2/levels/sewer/sewer-obs2.gc b/goal_src/jak2/levels/sewer/sewer-obs2.gc index 079438d4e46..4ca8b909c09 100644 --- a/goal_src/jak2/levels/sewer/sewer-obs2.gc +++ b/goal_src/jak2/levels/sewer/sewer-obs2.gc @@ -1563,7 +1563,7 @@ This commonly includes things such as: ) :code (behavior () (until #f - (ja-no-eval :group! (-> self draw art-group data 5) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! grunt-idle-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -1624,7 +1624,7 @@ This commonly includes things such as: ) :code (behavior () (ja-channel-push! 1 (seconds 0.2)) - (let ((anim (-> self draw art-group data 57))) + (let ((anim grunt-sew-scare-grunt-end-ja)) (ja-play-spooled-anim (-> self anim) (ja-group) @@ -1643,7 +1643,7 @@ This commonly includes things such as: 0 ) :post (behavior () - (let* ((a1-1 (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 3))) + (let* ((a1-1 (vector<-cspace! (new 'stack-no-clear 'vector) (joint-node-index grunt-lod0-jg main))) (f1-0 (vector-vector-xz-distance (-> self root trans) a1-1)) ) (vector-lerp! diff --git a/goal_src/jak2/levels/stadium/skate/skatea-obs.gc b/goal_src/jak2/levels/stadium/skate/skatea-obs.gc index 33b4da92a00..8970b8e119d 100644 --- a/goal_src/jak2/levels/stadium/skate/skatea-obs.gc +++ b/goal_src/jak2/levels/stadium/skate/skatea-obs.gc @@ -945,11 +945,11 @@ (hoverboard-training-manager-method-29 self) (when (not (-> self challenge-done)) (when (and (not (-> self combo-done?)) - (>= (- (current-time) (-> self hint-time)) (seconds 30)) + (time-elapsed? (-> self hint-time) (seconds 30)) (not (task-node-closed? (game-task-node stadium-board1-resolution))) ) (add-process *gui-control* self (gui-channel sig) (gui-action play) "kei018" -99.0 0) - (set! (-> self hint-time) (current-time)) + (set-time! (-> self hint-time)) ) ) ) @@ -1029,7 +1029,7 @@ (set! (-> self score) 0.0) (set! (-> self challenge-done) #f) (set! (-> self combo-done?) #f) - (set! (-> self hint-time) (current-time)) + (set-time! (-> self hint-time)) (while (and (not (-> self challenge-done)) (logtest? (-> *game-info* features) (game-feature board))) (suspend) ) @@ -1084,7 +1084,7 @@ ) ) (let ((s5-2 (current-time))) - (until (>= (- (current-time) s5-2) (seconds 1)) + (until (time-elapsed? s5-2 (seconds 1)) (suspend) ) ) @@ -1292,7 +1292,7 @@ ) ) (let ((s5-2 (current-time))) - (until (>= (- (current-time) s5-2) (seconds 1)) + (until (time-elapsed? s5-2 (seconds 1)) (suspend) ) ) @@ -1325,7 +1325,8 @@ This commonly includes things such as: - collision information - loading the skeleton group / bones - sounds" - (stack-size-set! (-> this main-thread) 1024) ;; added + ;; og:preserve-this added + (stack-size-set! (-> this main-thread) 1024) (local-vars (sv-16 res-tag)) (set! sv-16 (new 'static 'res-tag)) (let ((v1-1 (res-lump-data (-> this entity) 'actor-groups pointer :tag-ptr (& sv-16)))) @@ -1722,7 +1723,7 @@ This commonly includes things such as: :virtual #t :code (behavior () (sound-play "dig-air-lifter") - (let ((s5-1 (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 3))) + (let ((s5-1 (vector<-cspace! (new 'stack-no-clear 'vector) (joint-node-index skatea-jump-pad-lod0-jg main))) (gp-1 (get-process *default-dead-pool* part-tracker #x4000)) ) (when gp-1 diff --git a/goal_src/jak2/levels/stadium/stadium-obs.gc b/goal_src/jak2/levels/stadium/stadium-obs.gc index b1f36e5877a..64892f733d6 100644 --- a/goal_src/jak2/levels/stadium/stadium-obs.gc +++ b/goal_src/jak2/levels/stadium/stadium-obs.gc @@ -172,7 +172,7 @@ This commonly includes things such as: :virtual #t :code (behavior () (until #f - (ja-no-eval :group! (-> self draw art-group data 2) :num! (seek! max 0.5) :frame-num 0.0) + (ja-no-eval :group! gar-curtain-idle-ja :num! (seek! max 0.5) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek! max 0.5)) @@ -2109,16 +2109,16 @@ This commonly includes things such as: :virtual #t :code (behavior () (ja-channel-push! 2 (seconds 0.2)) - (ja-no-eval :group! (-> self draw art-group data 25) :num! (loop!) :frame-num 0.0) + (ja-no-eval :group! youngsamos-highres-walk0-ja :num! (loop!) :frame-num 0.0) (let ((a0-2 (-> self skel root-channel 1))) (let ((f0-2 0.0)) (set! (-> a0-2 frame-interp 1) f0-2) (set! (-> a0-2 frame-interp 0) f0-2) ) - (set! (-> a0-2 frame-group) (the-as art-joint-anim (-> self draw art-group data 26))) + (set! (-> a0-2 frame-group) (the-as art-joint-anim youngsamos-highres-walk1-ja)) (set! (-> a0-2 param 0) 0.0) (set! (-> a0-2 frame-num) (-> self skel root-channel 0 frame-num)) - (joint-control-channel-group! a0-2 (the-as art-joint-anim (-> self draw art-group data 26)) num-func-chan) + (joint-control-channel-group! a0-2 (the-as art-joint-anim youngsamos-highres-walk1-ja) num-func-chan) ) (until #f (suspend) diff --git a/goal_src/jak2/levels/strip/chaincrate.gc b/goal_src/jak2/levels/strip/chaincrate.gc index cf54c6aa39d..79a4ff30a0b 100644 --- a/goal_src/jak2/levels/strip/chaincrate.gc +++ b/goal_src/jak2/levels/strip/chaincrate.gc @@ -237,7 +237,7 @@ (new 'process 'ambient-sound (static-sound-spec "crate-loop" :fo-max 100) (-> self root trans)) ) (ja-channel-push! 1 0) - (ja :group! (-> self draw art-group data 2) :num! min) + (ja :group! strip-chain-crate-idle-ja :num! min) (transform-post) (logclear! (-> self mask) (process-mask actor-pause)) (strip-chain-crate-slave-method-22 self) diff --git a/goal_src/jak2/levels/strip/strip-drop.gc b/goal_src/jak2/levels/strip/strip-drop.gc index 1002f65cb62..81f37b4c3d1 100644 --- a/goal_src/jak2/levels/strip/strip-drop.gc +++ b/goal_src/jak2/levels/strip/strip-drop.gc @@ -246,7 +246,7 @@ (defstate final-position (strip-game-crate) :virtual #t :enter (behavior () - (ja :group! (-> self draw art-group data 3) :num! min) + (ja :group! strip-game-crate-final-ja :num! min) (ja-post) ) :code sleep-code @@ -391,7 +391,7 @@ (quaternion-rotate-y! (-> self root quat) (-> self init-quat) f0-5) ) (ja-post) - (let ((a1-2 (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 4)))) + (let ((a1-2 (vector<-cspace! (new 'stack-no-clear 'vector) (joint-node-index crane-lod0-jg gamecrate)))) (strip-game-crate-method-22 (-> self crate 0) a1-2 (-> self root quat)) ) ) @@ -404,7 +404,7 @@ (quaternion-copy! (-> self root quat) (-> self final-quat)) (when (-> self crate) (send-event (ppointer->process (-> self crate)) 'go-final) - (let ((a1-3 (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 4)))) + (let ((a1-3 (vector<-cspace! (new 'stack-no-clear 'vector) (joint-node-index crane-lod0-jg gamecrate)))) (strip-game-crate-method-22 (-> self crate 0) a1-3 (-> self root quat)) ) ) @@ -462,7 +462,7 @@ This commonly includes things such as: :virtual #t :code (behavior () (ja-channel-set! 1) - (ja :group! (-> self draw art-group data 3)) + (ja :group! cranecrate-idle-ja) (dotimes (gp-0 2) (transform-post) (suspend) diff --git a/goal_src/jak2/levels/strip/strip-obs.gc b/goal_src/jak2/levels/strip/strip-obs.gc index 9332e93984d..af03c8cef00 100644 --- a/goal_src/jak2/levels/strip/strip-obs.gc +++ b/goal_src/jak2/levels/strip/strip-obs.gc @@ -218,13 +218,16 @@ This commonly includes things such as: (f0-0 (ja-aframe-num 0)) ) (cond - ((and (= gp-0 (-> self draw art-group data 3)) (>= f0-0 47.0) (>= 67.0 f0-0)) - (spawn (-> self part) (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 9))) + ((and (= gp-0 fencespikes-idle-ja) (>= f0-0 47.0) (>= 67.0 f0-0)) + (spawn + (-> self part) + (vector<-cspace! (new 'stack-no-clear 'vector) (joint-node-index fencespikes-lod0-jg head)) + ) ) - ((and (= gp-0 (-> self draw art-group data 3)) (>= f0-0 42.0) (>= 65.0 f0-0)) + ((and (= gp-0 fencespikes-idle-ja) (>= f0-0 42.0) (>= 65.0 f0-0)) (seek! (-> self spin) 393216.0 32768.0) ) - ((and (= gp-0 (-> self draw art-group data 3)) (>= f0-0 66.0) (>= 78.0 f0-0)) + ((and (= gp-0 fencespikes-idle-ja) (>= f0-0 66.0) (>= 78.0 f0-0)) (seek! (-> self spin) 0.0 16384.0) ) ) @@ -346,7 +349,10 @@ This commonly includes things such as: (t9-0) ) ) - (update-trans! (-> self sound) (vector<-cspace! (new 'static 'vector) (-> self node-list data 4))) + (update-trans! + (-> self sound) + (vector<-cspace! (new 'static 'vector) (joint-node-index pitspikes-lod0-jg rotatnode)) + ) (update! (-> self sound)) ) :post (behavior () @@ -355,7 +361,7 @@ This commonly includes things such as: ((the-as (function none) t9-0)) ) ) - (let ((gp-0 (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 3)))) + (let ((gp-0 (vector<-cspace! (new 'stack-no-clear 'vector) (joint-node-index pitspikes-lod0-jg main)))) (let ((f0-0 (quaternion-y-angle (-> self root quat)))) (set! (-> *pitspikes-rotate-pos* quad) (-> gp-0 quad)) (set! (-> *pitspikes-rotate-pos* w) f0-0) @@ -447,7 +453,10 @@ This commonly includes things such as: (t9-0) ) ) - (update-trans! (-> self sound) (vector<-cspace! (new 'static 'vector) (-> self node-list data 3))) + (update-trans! + (-> self sound) + (vector<-cspace! (new 'static 'vector) (joint-node-index curtainsaw-lod0-jg main)) + ) (update! (-> self sound)) ) :post (behavior () @@ -461,7 +470,7 @@ This commonly includes things such as: (set! (-> gp-0 y) 0.0) (set! (-> gp-0 z) 0.0) (set! (-> gp-0 w) 1.0) - (let ((s5-0 (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 3)))) + (let ((s5-0 (vector<-cspace! (new 'stack-no-clear 'vector) (joint-node-index curtainsaw-lod0-jg main)))) (vector-orient-by-quat! gp-0 gp-0 (-> self root quat)) (vector+! s5-0 s5-0 gp-0) (spawn (-> self part) s5-0) @@ -1624,7 +1633,7 @@ This commonly includes things such as: (update! (-> self sound)) (update-trans! (-> self plat-sound) - (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 7)) + (vector<-cspace! (new 'stack-no-clear 'vector) (joint-node-index drill-plat-lod0-jg plat)) ) (update! (-> self plat-sound)) ) diff --git a/goal_src/jak2/levels/strip/strip-rescue.gc b/goal_src/jak2/levels/strip/strip-rescue.gc index ff7e31a3aa2..dbcfbaa85de 100644 --- a/goal_src/jak2/levels/strip/strip-rescue.gc +++ b/goal_src/jak2/levels/strip/strip-rescue.gc @@ -41,7 +41,7 @@ (defstate opened (cntrlrm-door) :virtual #t :code (behavior () - (ja :group! (-> self draw art-group data 3)) + (ja :group! cntrlrm-door-opened-ja) (dotimes (gp-0 2) (transform-post) (suspend) diff --git a/goal_src/jak2/levels/tomb/target-indax.gc b/goal_src/jak2/levels/tomb/target-indax.gc index 44ac76535a0..0cc5525e0e0 100644 --- a/goal_src/jak2/levels/tomb/target-indax.gc +++ b/goal_src/jak2/levels/tomb/target-indax.gc @@ -514,7 +514,7 @@ :code (behavior () (let ((v1-2 (ja-group))) (cond - ((and v1-2 (= v1-2 (-> self draw art-group data 421))) + ((and v1-2 (= v1-2 jakb-darkjak-attack-ice-end-ja)) (ja-no-eval :group! (-> self draw art-group data 422) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) @@ -533,7 +533,7 @@ (ja-channel-push! 1 (seconds 0.05)) ) ((let ((v1-62 (ja-group))) - (and (and v1-62 (= v1-62 (-> self draw art-group data 417))) + (and (and v1-62 (= v1-62 jakb-darkjak-bomb-loop-ja)) (< (-> self skel root-channel 2 frame-interp (-> self skel active-frame-interp)) 0.5) ) ) @@ -550,7 +550,7 @@ ) ) (until #f - (ja-no-eval :group! (-> self draw art-group data 415) :num! (seek! max 1.5) :frame-num 0.0) + (ja-no-eval :group! jakb-darkjak-get-off-end-ja :num! (seek! max 1.5) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek! max 1.5)) @@ -627,13 +627,13 @@ ) (let ((v1-3 (ja-group))) (cond - ((and v1-3 (or (= v1-3 (-> self draw art-group data 416)) (= v1-3 (-> self draw art-group data 417)))) + ((and v1-3 (or (= v1-3 jakb-darkjak-bomb-ja) (= v1-3 jakb-darkjak-bomb-loop-ja))) (set! f26-0 (ja-frame-num 0)) ) ((let ((v1-9 (ja-group))) - (and (or (and v1-9 (= v1-9 (-> self draw art-group data 419))) + (and (or (and v1-9 (= v1-9 jakb-darkjak-attack-ice-loop-ja)) (let ((v1-15 (ja-group))) - (and (and v1-15 (= v1-15 (-> self draw art-group data 418))) (< 15.0 (ja-aframe-num 0))) + (and (and v1-15 (= v1-15 jakb-darkjak-bomb-land-ja)) (< 15.0 (ja-aframe-num 0))) ) ) (< 12288.0 (-> self control ctrl-xz-vel)) @@ -652,7 +652,7 @@ ) ) ) - (ja-no-eval :group! (-> self draw art-group data 417) :num! (identity f26-0) :dist 13107.2) + (ja-no-eval :group! jakb-darkjak-bomb-loop-ja :num! (identity f26-0) :dist 13107.2) (ja-no-eval :chan 1 :group! (-> self draw art-group data 423) :num! (identity f26-0) :dist 12697.6) (let ((a0-25 (-> self skel root-channel 2))) (let ((f0-12 (- 1.0 f30-0))) @@ -660,10 +660,10 @@ (set! (-> a0-25 frame-interp 0) f0-12) ) (set! (-> a0-25 dist) 5939.2) - (set! (-> a0-25 frame-group) (the-as art-joint-anim (-> self draw art-group data 416))) + (set! (-> a0-25 frame-group) (the-as art-joint-anim jakb-darkjak-bomb-ja)) (set! (-> a0-25 param 0) 1.0) (set! (-> a0-25 frame-num) f26-0) - (joint-control-channel-group! a0-25 (the-as art-joint-anim (-> self draw art-group data 416)) num-func-loop!) + (joint-control-channel-group! a0-25 (the-as art-joint-anim jakb-darkjak-bomb-ja) num-func-loop!) ) (until #f (suspend) @@ -754,7 +754,7 @@ (let ((a1-0 75)) (let ((v1-2 (ja-group))) (cond - ((and v1-2 (or (= v1-2 (-> self draw art-group data 418)) (= v1-2 (-> self draw art-group data 419)))) + ((and v1-2 (or (= v1-2 jakb-darkjak-bomb-land-ja) (= v1-2 jakb-darkjak-attack-ice-loop-ja))) ) (else (let ((v1-8 (ja-group))) @@ -773,7 +773,7 @@ ) (ja-channel-push! 1 (the-as time-frame a1-0)) ) - (ja-no-eval :group! (-> self draw art-group data 419) :num! (loop!) :frame-num 0.0) + (ja-no-eval :group! jakb-darkjak-attack-ice-loop-ja :num! (loop!) :frame-num 0.0) (until #f (seek! (-> self control unknown-float35) 0.0 (* 10.0 (seconds-per-frame))) (suspend) @@ -826,7 +826,7 @@ ) :code (behavior ((arg0 float) (arg1 float) (arg2 surface)) (ja-channel-push! 2 (seconds 0.02)) - (ja :group! (-> self draw art-group data 418) :num! min) + (ja :group! jakb-darkjak-bomb-land-ja :num! min) (ja :chan 1 :group! (-> self draw art-group data 424) :num! (chan 0)) (suspend) (until (ja-done? 0) @@ -871,7 +871,7 @@ ) (let ((v1-10 (ja-group))) (cond - ((and v1-10 (or (= v1-10 (-> self draw art-group data 418)) (= v1-10 (-> self draw art-group data 419)))) + ((and v1-10 (or (= v1-10 jakb-darkjak-bomb-land-ja) (= v1-10 jakb-darkjak-attack-ice-loop-ja))) ) (else (set! (-> self control unknown-float35) 0.0) @@ -888,14 +888,14 @@ (sound-play "jump-double") (let ((v1-3 (ja-group))) (cond - ((and (and v1-3 (= v1-3 (-> self draw art-group data 418))) (< 0.6 (-> self control unknown-float35))) + ((and (and v1-3 (= v1-3 jakb-darkjak-bomb-land-ja)) (< 0.6 (-> self control unknown-float35))) (ja-channel-push! 2 (seconds 0.04)) - (ja-no-eval :group! (-> self draw art-group data 418) :num! (seek!) :frame-num (ja-aframe 1.0 0)) + (ja-no-eval :group! jakb-darkjak-bomb-land-ja :num! (seek!) :frame-num (ja-aframe 1.0 0)) (ja :chan 1 :group! (-> self draw art-group data 424) :num! (chan 0)) ) (else (ja-channel-push! 2 (seconds 0.05)) - (ja-no-eval :group! (-> self draw art-group data 418) :num! (seek!) :frame-num (ja-aframe 5.0 0)) + (ja-no-eval :group! jakb-darkjak-bomb-land-ja :num! (seek!) :frame-num (ja-aframe 5.0 0)) (ja :chan 1 :group! (-> self draw art-group data 424) :num! (chan 0)) ) ) @@ -970,7 +970,7 @@ ) :code (behavior ((arg0 symbol)) (ja-channel-push! 1 (seconds 0.05)) - (ja-no-eval :group! (-> self draw art-group data 420) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! jakb-darkjak-attack-ice-loop2-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -1022,7 +1022,7 @@ (target-indax-exit) ) :code (behavior () - (let ((gp-0 (-> self draw art-group data 421))) + (let ((gp-0 jakb-darkjak-attack-ice-end-ja)) (quaternion-rotate-y! (-> self control quat-for-control) (-> self control quat-for-control) -1365.3334) (ja-channel-push! 1 (seconds 0.05)) (ja-no-eval :group! gp-0 :num! (seek! max (-> self control current-surface align-speed)) :frame-num 0.0) diff --git a/goal_src/jak2/levels/tomb/tomb-obs.gc b/goal_src/jak2/levels/tomb/tomb-obs.gc index fff7ac4af9a..cf883df5aa0 100644 --- a/goal_src/jak2/levels/tomb/tomb-obs.gc +++ b/goal_src/jak2/levels/tomb/tomb-obs.gc @@ -457,7 +457,7 @@ This commonly includes things such as: :virtual #t :enter (behavior () (set! (-> self root trans y) (-> self initial-y)) - (ja :group! (-> self draw art-group data 4) :num! max) + (ja :group! tomb-stair-block-sink-ja :num! max) (transform-post) ) :trans (behavior () @@ -517,7 +517,7 @@ This commonly includes things such as: (set-setting! 'entity-name "camera-171" 0.0 0) (set! (-> self camera-state) 1) (ja-channel-push! 1 (seconds 2)) - (ja :group! (-> self draw art-group data 3) :num! min) + (ja :group! tomb-stair-block-straight-ja :num! min) (set-time! (-> self state-time)) (until (time-elapsed? (-> self state-time) (seconds 2)) (lift-pool 0) @@ -533,7 +533,7 @@ This commonly includes things such as: (drop-pool 1) (suspend) ) - (ja-no-eval :group! (-> self draw art-group data 4) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! tomb-stair-block-sink-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (lift-pool 1) (drop-pool 0) @@ -634,7 +634,7 @@ This commonly includes things such as: (set! (-> self camera-state) 1) (ja-channel-push! 1 (seconds 2)) (until #f - (ja-no-eval :group! (-> self draw art-group data 2) :num! (seek! max 0.125) :frame-num 0.0) + (ja-no-eval :group! tomb-stair-block-idle-ja :num! (seek! max 0.125) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek! max 0.125)) @@ -668,7 +668,7 @@ This commonly includes things such as: :enter (behavior () (local-vars (sv-16 res-tag)) (ja-channel-push! 1 (seconds 2)) - (ja :group! (-> self draw art-group data 3) :num! min) + (ja :group! tomb-stair-block-straight-ja :num! min) (set! (-> self rise-sound) (add-process *gui-control* self (gui-channel jak) (gui-action queue) "tombplta" -99.0 0) ) @@ -1026,7 +1026,7 @@ This commonly includes things such as: ) :code (behavior () (logior! (-> self elevator-status) (elevator-status waiting-to-ascend)) - (ja-no-eval :group! (-> self draw art-group data 4) :num! (loop! 0.0)) + (ja-no-eval :group! tomb-elevator-run-ja :num! (loop! 0.0)) (until #f (when (= (-> self path-pos) 1.0) (logclear! (-> self elevator-status) (elevator-status waiting-to-ascend)) @@ -1426,7 +1426,7 @@ This commonly includes things such as: (process-entity-status! self (entity-perm-status subtask-complete) #t) (logclear! (-> self draw status) (draw-control-status no-draw)) (ja-channel-set! 1) - (ja-no-eval :group! (-> self draw art-group data 2) :num! zero) + (ja-no-eval :group! tomb-plat-return-idle-ja :num! zero) (set! (-> self path-pos) 0.0) (set-vector! (-> self root scale) 0.0 0.0 0.0 0.0) ) diff --git a/goal_src/jak2/levels/tomb/tomb-water.gc b/goal_src/jak2/levels/tomb/tomb-water.gc index b0d1026f84b..c34a7065d0a 100644 --- a/goal_src/jak2/levels/tomb/tomb-water.gc +++ b/goal_src/jak2/levels/tomb/tomb-water.gc @@ -132,7 +132,7 @@ (suspend) ) ) - (ja-no-eval :group! (-> self draw art-group data 3) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! tomb-door-open-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (-> self root quat) (transform-post) @@ -298,7 +298,7 @@ This commonly includes things such as: ) ) :code (behavior () - (ja-no-eval :group! (-> self draw art-group data 3) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! tomb-beetle-door-open-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (transform-post) (suspend) @@ -1408,7 +1408,7 @@ This commonly includes things such as: ) :trans plat-trans :code (behavior () - (ja-no-eval :group! (-> self draw art-group data 3) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! tomb-plat-simon-idle-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -1561,11 +1561,11 @@ This commonly includes things such as: :code (behavior ((arg0 symbol)) (cond (arg0 - (ja :group! (-> self draw art-group data 3) :num! max) + (ja :group! tomb-simon-button-open-ja :num! max) ) (else (sound-play "simon-btn-open") - (ja-no-eval :group! (-> self draw art-group data 3) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! tomb-simon-button-open-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -1606,7 +1606,7 @@ This commonly includes things such as: ) ) :enter (behavior () - (ja-no-eval :group! (-> self draw art-group data 4) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! tomb-simon-button-press-ja :num! (seek!) :frame-num 0.0) (transform-post) ) :code sleep-code @@ -1627,12 +1627,12 @@ This commonly includes things such as: ) (cond (arg0 - (ja :group! (-> self draw art-group data 4) :num! max) + (ja :group! tomb-simon-button-press-ja :num! max) (transform-post) ) (else (sound-play "simon-btn-press") - (ja-no-eval :group! (-> self draw art-group data 4) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! tomb-simon-button-press-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (transform-post) (suspend) @@ -1652,7 +1652,7 @@ This commonly includes things such as: (defstate unpress (tomb-simon-button) :virtual #t :code (behavior () - (ja-no-eval :group! (-> self draw art-group data 5) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! tomb-simon-button-unpress-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (transform-post) (suspend) @@ -1999,7 +1999,7 @@ This commonly includes things such as: (s5-0 540) (f30-0 1.0) ) - (ja-no-eval :group! (-> self draw art-group data 4) :num! (loop! f30-0) :frame-num 0.0) + (ja-no-eval :group! tomb-vibe-vibrate-ja :num! (loop! f30-0) :frame-num 0.0) (until (time-elapsed? gp-2 s5-0) (suspend) (ja :num! (loop! f30-0)) @@ -2022,7 +2022,7 @@ This commonly includes things such as: :code (behavior ((arg0 symbol)) (cond (arg0 - (ja :group! (-> self draw art-group data 5) :num! max) + (ja :group! tomb-vibe-fall-ja :num! max) (transform-post) ) (else @@ -2056,7 +2056,7 @@ This commonly includes things such as: (-> gp-1 ppointer) ) ) - (ja-no-eval :group! (-> self draw art-group data 5) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! tomb-vibe-fall-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (transform-post) (suspend) diff --git a/goal_src/jak2/levels/tomb/widow-baron.gc b/goal_src/jak2/levels/tomb/widow-baron.gc index 7a2c69d95f4..5683c5c50bc 100644 --- a/goal_src/jak2/levels/tomb/widow-baron.gc +++ b/goal_src/jak2/levels/tomb/widow-baron.gc @@ -444,8 +444,8 @@ (case message (('frame) (let ((v1-3 (ja-group))) - (when (not (and v1-3 (= v1-3 (-> self draw art-group data 4)))) - (ja :group! (-> self draw art-group data 4) :num! min) + (when (not (and v1-3 (= v1-3 baron-pod-grab-success-ja))) + (ja :group! baron-pod-grab-success-ja :num! min) (set! (-> self draw bounds w) 81920.0) ) ) @@ -973,7 +973,7 @@ This commonly includes things such as: (set! sv-240 (the-as symbol #f)) (set! sv-272 *launch-matrix*) (set! sv-256 (-> sv-272 trans)) - (let ((v1-16 (-> (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 11)) quad))) + (let ((v1-16 (-> (vector<-cspace! (new 'stack-no-clear 'vector) (joint-node-index widow-lod0-jg Lwrist)) quad))) (set! (-> sv-256 quad) v1-16) ) ((the-as (function object object object object object object object object none) s5-0) @@ -1054,7 +1054,7 @@ This commonly includes things such as: ) (when (and (not (-> self flying)) (< (-> self bomb-hits) 4)) (let* ((s4-2 (-> arg3 param 0)) - (v0-9 (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 3))) + (v0-9 (vector<-cspace! (new 'stack-no-clear 'vector) (joint-node-index widow-lod0-jg main))) (s5-2 (-> self node-list data 3 bone transform)) (s4-3 (vector-normalize! (vector-! (new 'stack-no-clear 'vector) (the-as vector s4-2) v0-9) 1.0)) (f30-0 (vector-dot s4-3 (vector-normalize-copy! (new 'stack-no-clear 'vector) (-> s5-2 vector 2) 1.0))) @@ -1066,23 +1066,23 @@ This commonly includes things such as: (set! (-> self drill-speed target) 0.0) (cond ((< (cos 5461.3335) f30-0) - (ja :group! (-> self draw art-group data 25) :num! min) + (ja :group! widow-hit-front-ja :num! min) (setup-masks (-> self draw) 2 128) ) ((and (< (cos 8192.0) f30-0) (< 0.0 f28-0)) - (ja :group! (-> self draw art-group data 26) :num! min) + (ja :group! widow-hit-gun-left-ja :num! min) (setup-masks (-> self draw) 4 256) ) ((< (cos 8192.0) f30-0) - (ja :group! (-> self draw art-group data 27) :num! min) + (ja :group! widow-hit-gun-right-ja :num! min) (setup-masks (-> self draw) 8 512) ) ((< 0.0 f28-0) - (ja :group! (-> self draw art-group data 23) :num! min) + (ja :group! widow-hit-pod-left-ja :num! min) (setup-masks (-> self draw) 16 1024) ) (else - (ja :group! (-> self draw art-group data 24) :num! min) + (ja :group! widow-hit-pod-right-ja :num! min) (setup-masks (-> self draw) 32 2048) ) ) @@ -1097,7 +1097,7 @@ This commonly includes things such as: ((begin (ja-channel-push! 1 (seconds 0.03)) (let* ((gp-3 (-> arg3 param 0)) - (v0-28 (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 3))) + (v0-28 (vector<-cspace! (new 'stack-no-clear 'vector) (joint-node-index widow-lod0-jg main))) (s5-8 (-> self node-list data 3 bone transform)) (f0-20 (vector-dot (vector-normalize! (vector-! (new 'stack-no-clear 'vector) (the-as vector gp-3) v0-28) 1.0) @@ -1108,11 +1108,11 @@ This commonly includes things such as: (< 0.0 f0-20) ) ) - (ja :group! (-> self draw art-group data 37) :num! min) + (ja :group! widow-flight-hit-left-ja :num! min) (setup-masks (-> self draw) 16 1024) ) (else - (ja :group! (-> self draw art-group data 36) :num! min) + (ja :group! widow-flight-hit-right-ja :num! min) (setup-masks (-> self draw) 32 2048) ) ) diff --git a/goal_src/jak2/levels/tomb/widow-extras.gc b/goal_src/jak2/levels/tomb/widow-extras.gc index ebdfefd3128..501403e1a04 100644 --- a/goal_src/jak2/levels/tomb/widow-extras.gc +++ b/goal_src/jak2/levels/tomb/widow-extras.gc @@ -83,31 +83,31 @@ (let ((gp-0 (new 'stack-no-clear 'vector))) (case (-> self which-look) ((1) - (ja :group! (-> self draw art-group data 3) :num! min) + (ja :group! tomb-boss-catwalk-a-break-ja :num! min) (set-vector! gp-0 188416.0 32768.0 -81920.0 1.0) ) ((2) - (ja :group! (-> self draw art-group data 8) :num! min) + (ja :group! tomb-boss-catwalk-b-break-ja :num! min) (set-vector! gp-0 139264.0 32768.0 -147456.0 1.0) ) ((3) - (ja :group! (-> self draw art-group data 13) :num! min) + (ja :group! tomb-boss-catwalk-c-break-ja :num! min) (set-vector! gp-0 81920.0 32768.0 -188416.0 1.0) ) ((4) - (ja :group! (-> self draw art-group data 18) :num! min) + (ja :group! tomb-boss-catwalk-d-break-ja :num! min) (set-vector! gp-0 0.0 32768.0 -200704.0 1.0) ) ((5) - (ja :group! (-> self draw art-group data 23) :num! min) + (ja :group! tomb-boss-catwalk-e-break-ja :num! min) (set-vector! gp-0 -81920.0 32768.0 -188416.0 1.0) ) ((6) - (ja :group! (-> self draw art-group data 28) :num! min) + (ja :group! tomb-boss-catwalk-f-break-ja :num! min) (set-vector! gp-0 -139264.0 32768.0 -147456.0 1.0) ) ((7) - (ja :group! (-> self draw art-group data 33) :num! min) + (ja :group! tomb-boss-catwalk-g-break-ja :num! min) (set-vector! gp-0 -188416.0 32768.0 -81920.0 1.0) ) ) @@ -767,7 +767,7 @@ This commonly includes things such as: (+! (-> self x-rotate) 1092.2667) (+! (-> self y-rotate) 728.1778) (widow-bomb-method-34 self) - (spawn-with-cspace (-> self part) (-> self node-list data 3)) + (spawn-with-cspace (-> self part) (joint-node-index widow-bomb-lod0-jg main)) (cond ((time-elapsed? (-> self state-time) (seconds 4)) (go-virtual explode) @@ -852,7 +852,7 @@ This commonly includes things such as: ) ) ) - (spawn-with-cspace (-> self part) (-> self node-list data 3)) + (spawn-with-cspace (-> self part) (joint-node-index widow-bomb-lod0-jg main)) ) ) (ja :num! (loop!)) @@ -1148,7 +1148,7 @@ This commonly includes things such as: ) ) ) - (spawn-with-cspace (-> self trail-part) (-> self node-list data 3)) + (spawn-with-cspace (-> self trail-part) (joint-node-index widow-bomb-lod0-jg main)) (when (zero? (-> self which-trajectory)) (update-from-cspace (-> self impact)) (when (time-elapsed? (-> self state-time) (seconds 0.05)) @@ -1321,8 +1321,8 @@ This commonly includes things such as: (case message (('frame) (let ((v1-3 (ja-group))) - (when (not (and v1-3 (= v1-3 (-> self draw art-group data 3)))) - (ja :group! (-> self draw art-group data 3) :num! min) + (when (not (and v1-3 (= v1-3 heart-mar-grab-success-ja))) + (ja :group! heart-mar-grab-success-ja :num! min) (set! (-> self draw bounds w) 81920.0) (setup-masks (-> self draw) 2 0) ) @@ -1471,7 +1471,7 @@ This commonly includes things such as: :virtual #t :enter (behavior () (set! (-> self draw bounds w) 36864.0) - (ja :group! (-> self draw art-group data 4) :num! max) + (ja :group! tomb-boss-pillar-break-ja :num! max) (tomb-boss-pillar-shrink-collision) (ja-post) ) @@ -1486,18 +1486,18 @@ This commonly includes things such as: ) :trans (behavior () (if (not (time-elapsed? (-> self state-time) (seconds 1))) - (spawn-with-cspace (-> self explode-part) (-> self node-list data 6)) + (spawn-with-cspace (-> self explode-part) (joint-node-index tomb-boss-pillar-lod0-jg a)) ) (let ((v1-9 (ja-group))) (cond - ((and v1-9 (= v1-9 (-> self draw art-group data 4))) + ((and v1-9 (= v1-9 tomb-boss-pillar-break-ja)) (ja :num! (seek!)) (if (ja-done? 0) (go-virtual broken) ) ) (else - (ja :group! (-> self draw art-group data 4) :num! min) + (ja :group! tomb-boss-pillar-break-ja :num! min) (activate! *camera-smush-control* 819.2 37 210 1.0 0.995 (-> self clock)) ) ) @@ -1674,7 +1674,7 @@ This commonly includes things such as: :virtual #t :enter (behavior () (set! (-> self draw bounds w) 36864.0) - (ja :group! (-> self draw art-group data 4) :num! max) + (ja :group! tomb-boss-firepot-break-ja :num! max) (tomb-boss-firepot-shrink-collision) (ja-post) ) @@ -1687,7 +1687,7 @@ This commonly includes things such as: (process-entity-status! self (entity-perm-status subtask-complete) #t) (tomb-boss-firepot-shrink-collision) (set! (-> self draw bounds w) 245760.0) - (ja :group! (-> self draw art-group data 4) :num! min) + (ja :group! tomb-boss-firepot-break-ja :num! min) (let ((gp-1 (get-process *default-dead-pool* part-tracker #x4000))) (when gp-1 (let ((t9-4 (method-of-type part-tracker activate))) diff --git a/goal_src/jak2/levels/under/sig5-course.gc b/goal_src/jak2/levels/under/sig5-course.gc index 8adf69cca46..d504c15a0a8 100644 --- a/goal_src/jak2/levels/under/sig5-course.gc +++ b/goal_src/jak2/levels/under/sig5-course.gc @@ -380,7 +380,7 @@ (bot-method-223 self #f) (let ((f30-2 8.0)) (ja-channel-push! 1 (seconds 0.1)) - (let ((gp-1 (-> self draw art-group data 12)) + (let ((gp-1 sig-blast-forward-ja) (f30-3 (ja-aframe f30-2 0)) ) (ja-no-eval :group! gp-1 :num! (seek! f30-3) :frame-num 0.0) @@ -402,7 +402,7 @@ (logclear! (-> self bot-flags) (bot-flags bf18)) (let ((gp-3 (+ (current-time) (get-rand-int-range self 30 600)))) (ja-channel-push! 1 (seconds 0.5)) - (ja-no-eval :group! (-> self draw art-group data 7) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! sig-ready0-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (if (>= (current-time) gp-3) (goto cfg-27) diff --git a/goal_src/jak2/levels/under/under-obs.gc b/goal_src/jak2/levels/under/under-obs.gc index 665824e1111..a4aed8bde47 100644 --- a/goal_src/jak2/levels/under/under-obs.gc +++ b/goal_src/jak2/levels/under/under-obs.gc @@ -763,12 +763,12 @@ This commonly includes things such as: (cond ((and (-> self entity) (logtest? (-> self entity extra perm status) (entity-perm-status subtask-complete))) (set! (-> self open-anim-frame) 17.0) - (ja-no-eval :group! (-> self draw art-group data 2) :num! (identity (-> self open-anim-frame))) + (ja-no-eval :group! under-buoy-base-idle-ja :num! (identity (-> self open-anim-frame))) (go-virtual opened) ) (else (set! (-> self open-anim-frame) 0.0) - (ja-no-eval :group! (-> self draw art-group data 2) :num! (identity (-> self open-anim-frame))) + (ja-no-eval :group! under-buoy-base-idle-ja :num! (identity (-> self open-anim-frame))) (go-virtual idle) ) ) diff --git a/goal_src/jak2/levels/under/under-sig-obs.gc b/goal_src/jak2/levels/under/under-sig-obs.gc index 04e6e7da913..ae896053a71 100644 --- a/goal_src/jak2/levels/under/under-sig-obs.gc +++ b/goal_src/jak2/levels/under/under-sig-obs.gc @@ -738,7 +738,7 @@ This commonly includes things such as: (set! (-> a0-3 prim-core collide-as) (-> v1-2 prim-core collide-as)) ) (ja-channel-push! 1 0) - (ja :group! (-> self draw art-group data 3) :num! min) + (ja :group! under-break-bridge-broken-sig-dead-ja :num! min) (transform-post) (sleep-code) ) @@ -868,7 +868,7 @@ This commonly includes things such as: (process-entity-status! self (entity-perm-status subtask-complete) #t) (sound-play "und-block-door") (logior! (-> self skel status) (joint-control-status sync-math)) - (ja-no-eval :group! (-> self draw art-group data 2) :num! (seek! max 0.13) :frame-num 0.0) + (ja-no-eval :group! under-int-door-open-ja :num! (seek! max 0.13) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek! max 0.13)) diff --git a/goal_src/jak2/levels/under/underb-master.gc b/goal_src/jak2/levels/under/underb-master.gc index 3893bfae5aa..8639e34360d 100644 --- a/goal_src/jak2/levels/under/underb-master.gc +++ b/goal_src/jak2/levels/under/underb-master.gc @@ -57,7 +57,7 @@ ) (ja :num! (loop!)) (ja :chan 1 :num! (chan 0)) - (ja-no-eval :group! (-> self draw art-group data 2) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! under-warp-idle-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -127,13 +127,13 @@ ) (set! (-> self interp) 0.5) (ja-channel-push! 2 (seconds 0.3)) - (ja-no-eval :group! (-> self draw art-group data 2) :num! (loop!)) + (ja-no-eval :group! under-warp-idle-ja :num! (loop!)) (let ((gp-2 (-> self skel root-channel 1))) (let ((f0-2 (-> self interp))) (set! (-> gp-2 frame-interp 1) f0-2) (set! (-> gp-2 frame-interp 0) f0-2) ) - (joint-control-channel-group! gp-2 (the-as art-joint-anim (-> self draw art-group data 3)) num-func-identity) + (joint-control-channel-group! gp-2 (the-as art-joint-anim under-warp-none-ja) num-func-identity) (set! (-> gp-2 frame-num) 0.0) ) (logior! (-> self skel status) (joint-control-status blend-shape)) diff --git a/test/decompiler/reference/jak1/decompiler-macros.gc b/test/decompiler/reference/jak1/decompiler-macros.gc index 645a6269867..63eec584350 100644 --- a/test/decompiler/reference/jak1/decompiler-macros.gc +++ b/test/decompiler/reference/jak1/decompiler-macros.gc @@ -967,6 +967,23 @@ ) ) +(defmacro joint-name->index (jg-name name) + (let ((jg-info (hash-table-try-ref *jg-info* (symbol->string jg-name)))) + (if (not (car jg-info)) + -1 + (let ((joint-node (hash-table-try-ref (cdr jg-info) (if (integer? name) (int->string name) (symbol->string name))))) + (if (not (car joint-node)) + -1 + (cadr (cdr joint-node))) + ) + ) + ) + ) + +(defmacro joint-node-index (jg name) + `(-> self node-list data (joint-name->index ,jg ,name)) + ) + (defmacro defskelgroup (name art-name joint-geom joint-anim lods &key (shadow 0) &key bounds diff --git a/test/decompiler/reference/jak1/engine/common-obs/collectables_REF.gc b/test/decompiler/reference/jak1/engine/common-obs/collectables_REF.gc index 1cf21228383..4d711344dbb 100644 --- a/test/decompiler/reference/jak1/engine/common-obs/collectables_REF.gc +++ b/test/decompiler/reference/jak1/engine/common-obs/collectables_REF.gc @@ -1592,7 +1592,7 @@ :code (behavior () 0.5 (let ((f28-0 0.0)) - (ja :group! (-> self draw art-group data 2)) + (ja :group! fuel-cell-idle-ja) (loop (let ((f30-0 (vector-vector-distance (-> self base) (target-pos 0)))) (set! f28-0 @@ -1761,7 +1761,7 @@ (auto-save-command 'auto-save 0 0 *default-pool*) (ja-play-spooled-anim (-> self victory-anim) - (the-as art-joint-anim (-> self draw art-group data 2)) + (the-as art-joint-anim fuel-cell-idle-ja) (the-as art-joint-anim #f) (the-as (function process-drawable symbol) false-func) ) @@ -2162,7 +2162,7 @@ (set! (-> self root-override trans quad) (-> self draw origin quad)) (set! (-> self base quad) (-> self root-override trans quad)) (ja-channel-set! 1) - (ja :group! (-> self draw art-group data 2)) + (ja :group! fuel-cell-idle-ja) (logclear! (-> self draw status) (draw-status hidden)) (vector-reset! (-> self draw origin)) (go-virtual wait) diff --git a/test/decompiler/reference/jak1/engine/common-obs/orb-cache_REF.gc b/test/decompiler/reference/jak1/engine/common-obs/orb-cache_REF.gc index 4cad7ac7778..fef4d404ebe 100644 --- a/test/decompiler/reference/jak1/engine/common-obs/orb-cache_REF.gc +++ b/test/decompiler/reference/jak1/engine/common-obs/orb-cache_REF.gc @@ -93,7 +93,7 @@ ) ) (process-entity-status! self (entity-perm-status complete) #f) - (ja :group! (-> self draw art-group data 3) :num! (identity (ja-aframe 0.0 0))) + (ja :group! orb-cache-top-idle-ja :num! (identity (ja-aframe 0.0 0))) (transform-post) (anim-loop) ) @@ -288,7 +288,7 @@ (if (not arg0) (sound-play "close-orb-cash") ) - (ja :group! (-> self draw art-group data 3) :num! (identity (ja-aframe 0.0 0))) + (ja :group! orb-cache-top-idle-ja :num! (identity (ja-aframe 0.0 0))) (new 'stack-no-clear 'vector) (set! (-> self basetrans y) (+ 2048.0 (-> self root-pos))) (anim-loop) diff --git a/test/decompiler/reference/jak1/engine/game/powerups_REF.gc b/test/decompiler/reference/jak1/engine/game/powerups_REF.gc index 9c1e0d520ac..c7d59946c86 100644 --- a/test/decompiler/reference/jak1/engine/game/powerups_REF.gc +++ b/test/decompiler/reference/jak1/engine/game/powerups_REF.gc @@ -548,7 +548,7 @@ (not (time-elapsed? (-> self control unknown-dword11) (seconds 0.05))) ) ) - (let ((gp-0 (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 74)))) + (let ((gp-0 (vector<-cspace! (new 'stack-no-clear 'vector) (joint-node-index eichar-lod0-jg RbigToe)))) (if (and (< (fabs (vector-dot (-> self control dynam gravity-normal) (vector-! (new 'stack-no-clear 'vector) gp-0 (-> self control trans)) @@ -561,7 +561,7 @@ (launch-particles :system *sp-particle-system-3d* (-> *part-id-table* 2391) gp-0) ) ) - (let ((gp-1 (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 70)))) + (let ((gp-1 (vector<-cspace! (new 'stack-no-clear 'vector) (joint-node-index eichar-lod0-jg LbigToe)))) (if (and (< (fabs (vector-dot (-> self control dynam gravity-normal) (vector-! (new 'stack-no-clear 'vector) gp-1 (-> self control trans)) diff --git a/test/decompiler/reference/jak1/engine/target/logic-target_REF.gc b/test/decompiler/reference/jak1/engine/target/logic-target_REF.gc index 3fe0bc1e4ca..95a8440e4d9 100644 --- a/test/decompiler/reference/jak1/engine/target/logic-target_REF.gc +++ b/test/decompiler/reference/jak1/engine/target/logic-target_REF.gc @@ -1442,7 +1442,7 @@ ((and (= (-> self next-state name) 'target-clone-anim) (not (logtest? (-> self draw status) (draw-status hidden))) (begin - (vector<-cspace! gp-0 (-> self node-list data 3)) + (vector<-cspace! gp-0 (joint-node-index eichar-lod0-jg main)) (+! (-> gp-0 y) -5896.192) (< (fabs (- (-> gp-0 y) (-> self control trans y))) 8192.0) ) @@ -2069,10 +2069,10 @@ (set! (-> self draw lod-set max-lod) 0) (logior! (-> self skel status) (janim-status inited eye)) (set! (-> self draw shadow-ctrl) *target-shadow-control*) - (set! (-> self control unknown-cspace00 parent) (-> self node-list data 42)) - (set! (-> self control unknown-cspace00 joint) (the-as joint (-> self node-list data 54))) - (set! (-> self control unknown-cspace00 joint) (the-as joint (-> self node-list data 54))) - (set! (-> self control unknown-cspace10 parent) (-> self node-list data 64)) + (set! (-> self control unknown-cspace00 parent) (joint-node-index eichar-lod0-jg lindA)) + (set! (-> self control unknown-cspace00 joint) (the-as joint (joint-node-index eichar-lod0-jg rindA))) + (set! (-> self control unknown-cspace00 joint) (the-as joint (joint-node-index eichar-lod0-jg rindA))) + (set! (-> self control unknown-cspace10 parent) (joint-node-index eichar-lod0-jg LshoulderPad)) (set! (-> self neck) (new 'process 'joint-mod (joint-mod-handler-mode look-at) self 7)) (set! (-> self fact-info-target) (new 'process 'fact-info-target self (pickup-type eco-pill-random) (-> *FACT-bank* default-pill-inc)) diff --git a/test/decompiler/reference/jak1/engine/target/target-util_REF.gc b/test/decompiler/reference/jak1/engine/target/target-util_REF.gc index 5894ce03f80..9e823671d51 100644 --- a/test/decompiler/reference/jak1/engine/target/target-util_REF.gc +++ b/test/decompiler/reference/jak1/engine/target/target-util_REF.gc @@ -859,9 +859,9 @@ (time-elapsed? (-> self control unknown-dword11) (-> *TARGET-bank* ground-timeout)) (>= 0.0 (vector-dot (-> self control dynam gravity-normal) (-> self control transv))) (let ((v1-15 (ja-group))) - (or (not (or (= v1-15 (-> self draw art-group data 59)) - (= v1-15 (-> self draw art-group data 60)) - (= v1-15 (-> self draw art-group data 61)) + (or (not (or (= v1-15 eichar-attack-punch-ja) + (= v1-15 eichar-attack-punch-end-ja) + (= v1-15 eichar-attack-punch-alt-end-ja) ) ) (< 4096.0 (target-height-above-ground)) diff --git a/test/decompiler/reference/jak1/engine/target/target2_REF.gc b/test/decompiler/reference/jak1/engine/target/target2_REF.gc index f2c88c66afa..30eb28ccbb7 100644 --- a/test/decompiler/reference/jak1/engine/target/target2_REF.gc +++ b/test/decompiler/reference/jak1/engine/target/target2_REF.gc @@ -1404,7 +1404,7 @@ gp-1 projectile-init-by-other (-> self entity) - (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 23)) + (vector<-cspace! (new 'stack-no-clear 'vector) (joint-node-index eichar-lod0-jg sk_rhand)) s5-2 (if (>= (-> self fact-info-target eco-level) (-> *FACT-bank* eco-level-max)) 25 @@ -1884,7 +1884,7 @@ (create-splash (-> self water) (the-as float 0.2) - (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 75)) + (vector<-cspace! (new 'stack-no-clear 'vector) (joint-node-index eichar-lod0-jg Rtoes)) 0 (vector-float*! (new 'stack-no-clear 'vector) (-> self control transv) 2.5) ) @@ -1894,7 +1894,7 @@ (create-splash (-> self water) (the-as float 0.2) - (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 71)) + (vector<-cspace! (new 'stack-no-clear 'vector) (joint-node-index eichar-lod0-jg Ltoes)) 0 (vector-float*! (new 'stack-no-clear 'vector) (-> self control transv) 2.5) ) @@ -2768,7 +2768,7 @@ :exit (behavior () (send-event (ppointer->process (-> self sidekick)) 'matrix 'normal) (send-event (ppointer->process (-> self sidekick)) 'shadow #t) - (let ((gp-0 (-> self node-list data 3)) + (let ((gp-0 (joint-node-index eichar-lod0-jg main)) (a1-2 (&-> (-> self control) unknown-qword00)) ) (cond diff --git a/test/decompiler/reference/jak1/engine/target/target_REF.gc b/test/decompiler/reference/jak1/engine/target/target_REF.gc index b7feecaccc8..31ce3e0a2db 100644 --- a/test/decompiler/reference/jak1/engine/target/target_REF.gc +++ b/test/decompiler/reference/jak1/engine/target/target_REF.gc @@ -2098,7 +2098,7 @@ (create-splash (-> self water) (the-as float 0.6) - (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 37)) + (vector<-cspace! (new 'stack-no-clear 'vector) (joint-node-index eichar-lod0-jg mouth)) 0 (-> self control transv) ) diff --git a/test/decompiler/reference/jak1/levels/beach/beach-obs_REF.gc b/test/decompiler/reference/jak1/levels/beach/beach-obs_REF.gc index 9bec20b1550..927306c3219 100644 --- a/test/decompiler/reference/jak1/levels/beach/beach-obs_REF.gc +++ b/test/decompiler/reference/jak1/levels/beach/beach-obs_REF.gc @@ -44,7 +44,7 @@ ) :trans (behavior () (rider-trans) - (let ((t2-0 (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 4)))) + (let ((t2-0 (vector<-cspace! (new 'stack-no-clear 'vector) (joint-node-index windmill-one-lod0-jg big)))) (if (!= (+ (-> t2-0 x) (-> t2-0 y) (-> t2-0 z)) 0.0) (sound-play "gears-rumble" :id (-> self sound-id) :position (the-as symbol t2-0)) ) @@ -52,7 +52,7 @@ ) :code (behavior () (loop - (ja-no-eval :group! (-> self draw art-group data 4) :num! (seek! max 0.5) :frame-num 0.0) + (ja-no-eval :group! windmill-one-idle-ja :num! (seek! max 0.5) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek! max 0.5)) @@ -275,7 +275,7 @@ ) :code (behavior () (set-time! (-> self state-time)) - (ja :group! (-> self draw art-group data 3) :num! min) + (ja :group! grottopole-idle-ja :num! min) (transform-post) (suspend) (loop @@ -1332,13 +1332,13 @@ (suspend) (update-transforms! (-> self root-override)) (when (not arg0) - (ja-no-eval :group! (-> self draw art-group data 5) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! flutflutegg-crack-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) ) ) - (ja :group! (-> self draw art-group data 5) :num! max) + (ja :group! flutflutegg-crack-ja :num! max) (while (and (not (task-closed? (game-task beach-flutflut) (task-status need-reward-speech))) (not (logtest? (-> self ambients-played) 1024)) ) @@ -1368,7 +1368,7 @@ (ja-channel-set! 1) (set-vector! (-> self root-override trans) -231190.94 64559.105 -1164727.5 1.0) (quaternion-axis-angle! (-> self root-override quat) 0.0 1.0 0.0 0.0) - (ja :group! (-> self draw art-group data 6) :num! max) + (ja :group! flutflutegg-broke-ja :num! max) (loop (logior! (-> self mask) (process-mask sleep)) (suspend) @@ -1479,7 +1479,7 @@ (if (and (-> self alt-actor) (logtest? (-> self alt-actor extra perm status) (entity-perm-status complete))) (go harvester-inflate #t) ) - (ja :group! (-> self draw art-group data 5) :num! (identity (ja-aframe 1.0 0))) + (ja :group! harvester-inflate-ja :num! (identity (ja-aframe 1.0 0))) (ja-post) (loop (logior! (-> self mask) (process-mask sleep)) @@ -1492,14 +1492,14 @@ (defstate harvester-inflate (harvester) :code (behavior ((arg0 symbol)) (when (not arg0) - (ja-no-eval :group! (-> self draw art-group data 5) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! harvester-inflate-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) ) ) (loop - (ja-no-eval :group! (-> self draw art-group data 4) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! harvester-idle-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) diff --git a/test/decompiler/reference/jak1/levels/beach/beach-rocks_REF.gc b/test/decompiler/reference/jak1/levels/beach/beach-rocks_REF.gc index f3cc172747d..0e0cfae0ad2 100644 --- a/test/decompiler/reference/jak1/levels/beach/beach-rocks_REF.gc +++ b/test/decompiler/reference/jak1/levels/beach/beach-rocks_REF.gc @@ -344,19 +344,34 @@ ) ) (if (and (< 200.0 f30-0) (< f30-0 275.0)) - (spawn (-> self part-falling) (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 3))) + (spawn + (-> self part-falling) + (vector<-cspace! (new 'stack-no-clear 'vector) (joint-node-index lrocklrg-lod0-jg Lrocklrg)) + ) ) (if (and (< 270.0 f30-0) (< f30-0 333.0)) - (spawn (-> self part-falling) (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 4))) + (spawn + (-> self part-falling) + (vector<-cspace! (new 'stack-no-clear 'vector) (joint-node-index lrocklrg-lod0-jg platformrock)) + ) ) (if (and (< (-> self prev-frame) 333.0) (>= f30-0 333.0)) - (spawn (-> self part-landing) (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 4))) + (spawn + (-> self part-landing) + (vector<-cspace! (new 'stack-no-clear 'vector) (joint-node-index lrocklrg-lod0-jg platformrock)) + ) ) (if (and (< 169.0 f30-0) (< f30-0 202.0)) - (spawn (-> self part-falling) (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 5))) + (spawn + (-> self part-falling) + (vector<-cspace! (new 'stack-no-clear 'vector) (joint-node-index lrocklrg-lod0-jg Rrocklrg)) + ) ) (if (and (< 240.0 f30-0) (< f30-0 270.0)) - (spawn (-> self part-falling) (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 6))) + (spawn + (-> self part-falling) + (vector<-cspace! (new 'stack-no-clear 'vector) (joint-node-index lrocklrg-lod0-jg smlrock)) + ) ) (set! (-> self prev-frame) f30-0) ) @@ -370,7 +385,7 @@ ) (logclear! (-> self draw status) (draw-status hidden)) (ja-channel-set! 1) - (ja :group! (-> self draw art-group data 2) :num! min) + (ja :group! lrocklrg-idle-ja :num! min) (let ((gp-2 (ppointer->handle (process-spawn othercam self 7 #f #t :to self))) (s5-1 (ppointer->handle (process-spawn fuel-cell @@ -392,8 +407,8 @@ :parts 4 :command-list '((-150 blackout 100) (-116 blackout 0)) ) - (the-as art-joint-anim (-> self draw art-group data 2)) - (the-as art-joint-anim (-> self draw art-group data 3)) + (the-as art-joint-anim lrocklrg-idle-ja) + (the-as art-joint-anim lrocklrg-fallen-ja) (the-as (function process-drawable symbol) false-func) ) (process-entity-status! self (entity-perm-status complete) #t) @@ -431,7 +446,7 @@ *entity-pool* (game-task none) ) - (ja :group! (-> self draw art-group data 3)) + (ja :group! lrocklrg-fallen-ja) (compute-alignment! (-> self align)) (let ((v1-6 (first-transform (-> self align)))) (set! (-> self root-override trans quad) (-> self entity extra trans quad)) diff --git a/test/decompiler/reference/jak1/levels/citadel/assistant-citadel_REF.gc b/test/decompiler/reference/jak1/levels/citadel/assistant-citadel_REF.gc index f325a706353..cc2ace69640 100644 --- a/test/decompiler/reference/jak1/levels/citadel/assistant-citadel_REF.gc +++ b/test/decompiler/reference/jak1/levels/citadel/assistant-citadel_REF.gc @@ -102,7 +102,7 @@ (loop (when (!= (ja-group) (get-art-elem self)) (ja-channel-push! 1 (seconds 0.05)) - (ja :group! (-> self draw art-group data 3)) + (ja :group! assistant-lavatube-end-idle-ja) ) (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) diff --git a/test/decompiler/reference/jak1/levels/citadel/citadel-obs_REF.gc b/test/decompiler/reference/jak1/levels/citadel/citadel-obs_REF.gc index e3b1def1488..f32fb800ab0 100644 --- a/test/decompiler/reference/jak1/levels/citadel/citadel-obs_REF.gc +++ b/test/decompiler/reference/jak1/levels/citadel/citadel-obs_REF.gc @@ -1165,7 +1165,7 @@ :code (behavior () (process-entity-status! self (entity-perm-status complete) #t) (ja-channel-push! 1 (seconds 0.1)) - (ja-no-eval :group! (-> self draw art-group data 4) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! citb-coil-die-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -1178,7 +1178,7 @@ ;; failed to figure out what this is: (defstate citb-coil-broken (citb-coil) :code (behavior () - (ja-no-eval :group! (-> self draw art-group data 5) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! citb-coil-dead-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -1256,7 +1256,7 @@ :event citb-hose-event-handler :code (behavior () (loop - (ja-no-eval :group! (-> self draw art-group data 3) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! citb-hose-idle-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -1271,7 +1271,7 @@ :event citb-hose-event-handler :code (behavior () (ja-channel-push! 1 (seconds 0.1)) - (ja-no-eval :group! (-> self draw art-group data 4) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! citb-hose-spit-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -1287,7 +1287,7 @@ :code (behavior () (process-entity-status! self (entity-perm-status complete) #t) (ja-channel-push! 1 (seconds 0.1)) - (ja-no-eval :group! (-> self draw art-group data 5) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! citb-hose-die-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) diff --git a/test/decompiler/reference/jak1/levels/citadel/citadel-sages_REF.gc b/test/decompiler/reference/jak1/levels/citadel/citadel-sages_REF.gc index b232f9e4a69..4c5849e020b 100644 --- a/test/decompiler/reference/jak1/levels/citadel/citadel-sages_REF.gc +++ b/test/decompiler/reference/jak1/levels/citadel/citadel-sages_REF.gc @@ -111,7 +111,7 @@ (('stop-cloning) (set! (-> self cloning) #f) (let ((v1-7 (-> self skel root-channel 0))) - (set! v0-3 (-> self draw art-group data 3)) + (set! v0-3 citb-sagecage-idle-ja) (set! (-> v1-7 frame-group) (the-as art-joint-anim v0-3)) ) v0-3 diff --git a/test/decompiler/reference/jak1/levels/citadel/citb-plat_REF.gc b/test/decompiler/reference/jak1/levels/citadel/citb-plat_REF.gc index 12c636090ee..03c7f96c66f 100644 --- a/test/decompiler/reference/jak1/levels/citadel/citb-plat_REF.gc +++ b/test/decompiler/reference/jak1/levels/citadel/citb-plat_REF.gc @@ -1027,7 +1027,7 @@ ) ) :code (behavior () - (ja-no-eval :group! (-> self draw art-group data 3) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! citb-firehose-start-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -1036,7 +1036,7 @@ (restore-collide-with-as (-> self root-override)) (sound-play "eco-torch" :position (the-as symbol (-> self blast-pos))) (dotimes (gp-1 2) - (ja-no-eval :group! (-> self draw art-group data 4) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! citb-firehose-loopflame-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (set! (-> self blast-pos quad) (-> self node-list data 5 bone transform vector 3 quad)) (citb-firehose-blast-particles) @@ -1046,7 +1046,7 @@ ) (clear-collide-with-as (-> self root-override)) (ja-channel-push! 1 (seconds 0.1)) - (ja-no-eval :group! (-> self draw art-group data 5) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! citb-firehose-end-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) diff --git a/test/decompiler/reference/jak1/levels/finalboss/final-door_REF.gc b/test/decompiler/reference/jak1/levels/finalboss/final-door_REF.gc index 3b833fed238..5667516e6b6 100644 --- a/test/decompiler/reference/jak1/levels/finalboss/final-door_REF.gc +++ b/test/decompiler/reference/jak1/levels/finalboss/final-door_REF.gc @@ -400,13 +400,13 @@ (rot->dir-targ! (-> self control)) (transform-post) (ja-channel-push! 1 (seconds 0.2)) - (ja-no-eval :group! (-> self draw art-group data 88) :num! (seek! (ja-aframe 18.0 0)) :frame-num 0.0) + (ja-no-eval :group! eichar-shocked-ja :num! (seek! (ja-aframe 18.0 0)) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek! (ja-aframe 18.0 0))) ) (let ((s4-3 (-> (handle->process (the-as handle arg0)) entity)) - (s3-1 (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 7))) + (s3-1 (vector<-cspace! (new 'stack-no-clear 'vector) (joint-node-index eichar-lod0-jg neckB))) ) (dotimes (s2-0 50) (when (handle->process (the-as handle arg0)) diff --git a/test/decompiler/reference/jak1/levels/finalboss/robotboss-misc_REF.gc b/test/decompiler/reference/jak1/levels/finalboss/robotboss-misc_REF.gc index 12ac58e13c9..7176e3153be 100644 --- a/test/decompiler/reference/jak1/levels/finalboss/robotboss-misc_REF.gc +++ b/test/decompiler/reference/jak1/levels/finalboss/robotboss-misc_REF.gc @@ -481,7 +481,7 @@ ;; INFO: Return type mismatch int vs none. (defbehavior robotboss-manipy-trans-hook robotboss () (let ((gp-0 (new 'stack-no-clear 'vector))) - (vector<-cspace! gp-0 (-> self node-list data 7)) + (vector<-cspace! gp-0 (joint-node-index robotboss-basic-lod0-jg blue_eco_piece)) (spawn (-> self part) gp-0) ) 0 diff --git a/test/decompiler/reference/jak1/levels/finalboss/robotboss-weapon_REF.gc b/test/decompiler/reference/jak1/levels/finalboss/robotboss-weapon_REF.gc index 4afe245f838..43ec4345d55 100644 --- a/test/decompiler/reference/jak1/levels/finalboss/robotboss-weapon_REF.gc +++ b/test/decompiler/reference/jak1/levels/finalboss/robotboss-weapon_REF.gc @@ -395,22 +395,22 @@ (if (>= (- (-> *display* game-frame-counter) (-> self state-time)) (the int (-> self countdown-time))) (go darkecobomb-explode #f) ) - (when (ja-group? (-> self draw art-group data 5)) + (when (ja-group? darkecobomb-spin-cycle-ja) (let ((gp-2 (new 'stack-no-clear 'vector))) - (vector<-cspace! gp-2 (-> self node-list data 5)) + (vector<-cspace! gp-2 (joint-node-index darkecobomb-lod0-jg particles)) (spawn (-> self part) gp-2) ) ) ) :code (behavior () (sound-play "bomb-open") - (ja-no-eval :group! (-> self draw art-group data 4) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! darkecobomb-open-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) ) (loop - (ja-no-eval :group! (-> self draw art-group data 5) :num! (seek! max (-> self anim-speed)) :frame-num 0.0) + (ja-no-eval :group! darkecobomb-spin-cycle-ja :num! (seek! max (-> self anim-speed)) :frame-num 0.0) (until (ja-done? 0) (update! (-> self sound)) (suspend) @@ -441,7 +441,7 @@ (ja-eval) ) (loop - (ja-no-eval :group! (-> self draw art-group data 2) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! darkecobomb-idle-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -466,13 +466,13 @@ ) ) :code (behavior () - (ja-no-eval :group! (-> self draw art-group data 3) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! darkecobomb-blast-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) ) (loop - (ja-no-eval :group! (-> self draw art-group data 2) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! darkecobomb-idle-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) diff --git a/test/decompiler/reference/jak1/levels/finalboss/robotboss_REF.gc b/test/decompiler/reference/jak1/levels/finalboss/robotboss_REF.gc index 0a226ee60e8..a2925c6c79b 100644 --- a/test/decompiler/reference/jak1/levels/finalboss/robotboss_REF.gc +++ b/test/decompiler/reference/jak1/levels/finalboss/robotboss_REF.gc @@ -60,7 +60,7 @@ (gp-1 (-> self node-list data 88 bone scale)) ) (let ((s4-1 (new 'stack-no-clear 'vector))) - (vector<-cspace! s4-1 (-> self node-list data 88)) + (vector<-cspace! s4-1 (joint-node-index robotboss-basic-lod0-jg camera)) (set! (-> *camera-other-trans* quad) (-> s4-1 quad)) ) (vector-normalize-copy! @@ -93,21 +93,21 @@ (defbehavior robotboss-always-trans robotboss ((arg0 (state robotboss))) (when (-> self blue-smoke) (let ((s5-0 (new 'stack-no-clear 'vector))) - (vector<-cspace! s5-0 (-> self node-list data 7)) + (vector<-cspace! s5-0 (joint-node-index robotboss-basic-lod0-jg blue_eco_piece)) (spawn (-> self particle 2) s5-0) ) ) (when (-> self red-smoke) (let ((s5-1 (new 'stack-no-clear 'vector))) - (vector<-cspace! s5-1 (-> self node-list data 47)) + (vector<-cspace! s5-1 (joint-node-index robotboss-basic-lod0-jg rArmTopWireC)) (spawn (-> self particle 3) s5-1) - (vector<-cspace! s5-1 (-> self node-list data 51)) + (vector<-cspace! s5-1 (joint-node-index robotboss-basic-lod0-jg rArmBotWireC)) (spawn (-> self particle 3) s5-1) ) ) (when (-> self yellow-smoke) (let ((s5-2 (new 'stack-no-clear 'vector))) - (vector<-cspace! s5-2 (-> self node-list data 27)) + (vector<-cspace! s5-2 (joint-node-index robotboss-basic-lod0-jg Lyellow_ecoTubeA)) (spawn (-> self particle 4) s5-2) ) ) @@ -211,7 +211,7 @@ ) ((-> self use-interesting) (let ((s5-10 (new 'stack-no-clear 'vector))) - (vector<-cspace! s5-10 (-> self node-list data 87)) + (vector<-cspace! s5-10 (joint-node-index robotboss-basic-lod0-jg interesting)) (send-event *camera* 'point-of-interest s5-10) ) ) @@ -341,7 +341,7 @@ (+! (-> self children-spawned) 1) (let ((gp-0 (new 'stack-no-clear 'vector))) (let ((s4-0 (new 'stack-no-clear 'vector))) - (vector<-cspace! gp-0 (-> self node-list data 60)) + (vector<-cspace! gp-0 (joint-node-index robotboss-basic-lod0-jg darkbombD)) (set! (-> s4-0 quad) (-> self entity extra trans quad)) (vector+! s4-0 s4-0 arg0) (process-spawn darkecobomb gp-0 s4-0 61440.0 300 arg1 :to self) @@ -859,7 +859,7 @@ (+! (-> self children-spawned) 1) (let ((gp-0 (new 'stack-no-clear 'vector))) (let ((s5-0 (new 'stack-no-clear 'vector))) - (vector<-cspace! gp-0 (-> self node-list data 21)) + (vector<-cspace! gp-0 (joint-node-index robotboss-basic-lod0-jg Lyellow_ecoBarrell)) (set! (-> gp-0 y) 1972633.6) (if *target* (set! (-> s5-0 quad) (-> (target-pos 0) quad)) @@ -1007,7 +1007,7 @@ (ja :group! robotboss-yellow-last-hit-ja) (set! (-> self yellow-smoke) #t) (let ((gp-0 (new 'stack-no-clear 'vector))) - (vector<-cspace! gp-0 (-> self node-list data 27)) + (vector<-cspace! gp-0 (joint-node-index robotboss-basic-lod0-jg Lyellow_ecoTubeA)) (process-spawn part-tracker :init part-tracker-init @@ -1043,7 +1043,7 @@ ) (let ((gp-2 (new 'stack-no-clear 'vector))) (update! (-> self looping-sound 3)) - (vector<-cspace! gp-2 (-> self node-list data 21)) + (vector<-cspace! gp-2 (joint-node-index robotboss-basic-lod0-jg Lyellow_ecoBarrell)) (spawn (-> self particle 6) gp-2) ) ) @@ -1421,7 +1421,7 @@ (let ((s5-0 arg1)) (+! (-> self children-spawned) 1) (let ((gp-0 (new 'stack-no-clear 'vector))) - (vector<-cspace! gp-0 (-> self node-list data 40)) + (vector<-cspace! gp-0 (joint-node-index robotboss-basic-lod0-jg red_ecoTip)) (let ((s4-0 (get-process *default-dead-pool* redshot #x4000))) (when s4-0 (let ((t9-2 (method-of-type redshot activate))) @@ -1616,7 +1616,7 @@ (ja :group! robotboss-red-last-hit-ja) (set! (-> self red-smoke) #t) (let ((gp-0 (new 'stack-no-clear 'vector))) - (vector<-cspace! gp-0 (-> self node-list data 51)) + (vector<-cspace! gp-0 (joint-node-index robotboss-basic-lod0-jg rArmBotWireC)) (process-spawn part-tracker :init part-tracker-init @@ -1683,7 +1683,7 @@ (until (ja-done? 0) (update! (-> self looping-sound 2)) (let ((gp-0 (new 'stack-no-clear 'vector))) - (vector<-cspace! gp-0 (-> self node-list data 40)) + (vector<-cspace! gp-0 (joint-node-index robotboss-basic-lod0-jg red_ecoTip)) (spawn (-> self particle 5) gp-0) ) (if (robotboss-is-red-hit) @@ -1903,7 +1903,7 @@ (+! (-> self children-spawned) 1) (let ((gp-0 (new 'stack-no-clear 'vector))) (let ((s2-0 (new 'stack-no-clear 'vector))) - (vector<-cspace! gp-0 (-> self node-list data 68)) + (vector<-cspace! gp-0 (joint-node-index robotboss-basic-lod0-jg green_eco)) (set! (-> s2-0 quad) (-> self entity extra trans quad)) (+! (-> s2-0 y) -40960.0) (vector+! s2-0 s2-0 arg0) @@ -2578,7 +2578,7 @@ (sound-play "explod-eye") (set! (-> self blue-smoke) #t) (let ((gp-1 (new 'stack-no-clear 'vector))) - (vector<-cspace! gp-1 (-> self node-list data 7)) + (vector<-cspace! gp-1 (joint-node-index robotboss-basic-lod0-jg blue_eco_piece)) (process-spawn part-tracker :init part-tracker-init diff --git a/test/decompiler/reference/jak1/levels/flut_common/flutflut_REF.gc b/test/decompiler/reference/jak1/levels/flut_common/flutflut_REF.gc index c27700d3cdb..bada9cce7ca 100644 --- a/test/decompiler/reference/jak1/levels/flut_common/flutflut_REF.gc +++ b/test/decompiler/reference/jak1/levels/flut_common/flutflut_REF.gc @@ -194,7 +194,7 @@ :exit (-> (method-of-type flutflut wait-for-start) exit) :code (behavior () (ja-channel-set! 1) - (ja :group! (-> self draw art-group data 3)) + (ja :group! flut-saddle-flut-idle-ja) (set! (-> self root-override root-prim prim-core action) (collide-action solid attackable-unused)) (set! (-> self root-override root-prim prim-core offense) (collide-offense indestructible)) (loop @@ -248,7 +248,7 @@ (case message (('draw) (ja-channel-set! 1) - (ja :group! (-> self draw art-group data 3)) + (ja :group! flut-saddle-flut-idle-ja) (set! (-> self root-override root-prim prim-core action) (collide-action solid attackable-unused)) (set! (-> self root-override root-prim prim-core offense) (collide-offense indestructible)) (transform-post) diff --git a/test/decompiler/reference/jak1/levels/flut_common/target-flut_REF.gc b/test/decompiler/reference/jak1/levels/flut_common/target-flut_REF.gc index 20f65ef1790..cf7d498dcfd 100644 --- a/test/decompiler/reference/jak1/levels/flut_common/target-flut_REF.gc +++ b/test/decompiler/reference/jak1/levels/flut_common/target-flut_REF.gc @@ -231,27 +231,23 @@ ;; INFO: Return type mismatch int vs none. (defbehavior target-flut-falling-anim-trans target () (let ((v1-2 (ja-group))) - (b! - (or (= v1-2 (-> self draw art-group data 144)) (= v1-2 (-> self draw art-group data 145))) - cfg-7 - :delay (empty-form) - ) + (b! (or (= v1-2 eichar-flut-jump-loop-ja) (= v1-2 eichar-flut-jump-land-ja)) cfg-7 :delay (empty-form)) ) (ja-channel-push! 1 (seconds 0.33)) - (ja :group! (-> self draw art-group data 144)) + (ja :group! eichar-flut-jump-loop-ja) (b! #t cfg-23 :delay (nop!)) (label cfg-7) (cond ((and (logtest? (-> self control status) (cshape-moving-flags onsurf)) - (not (ja-group? (-> self draw art-group data 145))) + (not (ja-group? eichar-flut-jump-land-ja)) ) (ja-channel-push! 1 (seconds 0.02)) - (ja :group! (-> self draw art-group data 145)) + (ja :group! eichar-flut-jump-land-ja) ) - ((ja-group? (-> self draw art-group data 144)) + ((ja-group? eichar-flut-jump-loop-ja) (ja :num! (loop!)) ) - ((ja-group? (-> self draw art-group data 145)) + ((ja-group? eichar-flut-jump-land-ja) (ja :num! (seek!)) ) ) @@ -263,13 +259,13 @@ ;; definition for function target-flut-hit-ground-anim (defbehavior target-flut-hit-ground-anim target () (cond - ((ja-group? (-> self draw art-group data 144)) + ((ja-group? eichar-flut-jump-loop-ja) (if (!= (-> self skel root-channel 0) (-> self skel channel)) (ja-channel-push! 2 (seconds 0.05)) (ja-channel-set! 2) ) - (ja :group! (-> self draw art-group data 145) :num! min) - (ja :chan 1 :group! (-> self draw art-group data 148) :num! min) + (ja :group! eichar-flut-jump-land-ja :num! min) + (ja :chan 1 :group! eichar-flut-jump-forward-land-ja :num! min) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -278,13 +274,13 @@ #f ) ((let ((v1-33 (ja-group))) - (or (= v1-33 (-> self draw art-group data 143)) (= v1-33 (-> self draw art-group data 145))) + (or (= v1-33 eichar-flut-jump-ja) (= v1-33 eichar-flut-jump-land-ja)) ) #f ) - ((ja-group? (-> self draw art-group data 149)) + ((ja-group? eichar-flut-double-jump-ja) (ja-channel-set! 1) - (ja-no-eval :group! (-> self draw art-group data 145) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! eichar-flut-jump-land-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -292,10 +288,10 @@ #f ) ((let ((v1-68 (ja-group))) - (or (= v1-68 (-> self draw art-group data 152)) (= v1-68 (-> self draw art-group data 153))) + (or (= v1-68 eichar-flut-air-attack-ja) (= v1-68 eichar-flut-air-attack-loop-ja)) ) (ja-channel-set! 1) - (ja-no-eval :group! (-> self draw art-group data 154) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! eichar-flut-air-attack-land-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (compute-alignment! (-> self align)) (align! (-> self align) (align-opts adjust-xz-vel) (the-as float 1.0) (the-as float 1.0) (the-as float 1.0)) @@ -568,9 +564,9 @@ (and (time-elapsed? (-> self control unknown-dword11) (-> *FLUT-bank* ground-timeout)) (>= 0.0 (vector-dot (-> self control dynam gravity-normal) (-> self control transv))) (let ((v1-37 (ja-group))) - (or (not (or (= v1-37 (-> self draw art-group data 59)) - (= v1-37 (-> self draw art-group data 60)) - (= v1-37 (-> self draw art-group data 61)) + (or (not (or (= v1-37 eichar-attack-punch-ja) + (= v1-37 eichar-attack-punch-end-ja) + (= v1-37 eichar-attack-punch-alt-end-ja) ) ) (< 4096.0 (target-height-above-ground)) @@ -585,25 +581,25 @@ (let ((gp-0 22)) (let ((v1-2 (ja-group))) (cond - ((or (= v1-2 (-> self draw art-group data 141)) (= v1-2 (-> self draw art-group data 161))) + ((or (= v1-2 eichar-flut-walk-ja) (= v1-2 eichar-flut-squash-run-ja)) (set! gp-0 60) ) - ((ja-group? (-> self draw art-group data 155)) + ((ja-group? eichar-flut-get-on-ja) (ja-no-eval :num! (seek!)) (while (not (ja-done? 0)) (suspend) (ja-eval) ) ) - ((ja-group? (-> self draw art-group data 158)) - (ja-no-eval :group! (-> self draw art-group data 159) :num! (seek!) :frame-num 0.0) + ((ja-group? eichar-flut-smack-surface-ja) + (ja-no-eval :group! eichar-flut-smack-surface-end-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) ) ) - ((ja-group? (-> self draw art-group data 150)) - (ja-no-eval :group! (-> self draw art-group data 151) :num! (seek!) :frame-num 0.0) + ((ja-group? eichar-flut-running-attack-ja) + (ja-no-eval :group! eichar-flut-running-attack-end-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -611,11 +607,11 @@ ) ) ) - (if (not (ja-group? (-> self draw art-group data 140))) + (if (not (ja-group? eichar-flut-idle-ja)) (ja-channel-push! 1 (the-as time-frame gp-0)) ) ) - (ja :group! (-> self draw art-group data 140)) + (ja :group! eichar-flut-idle-ja) (loop (suspend) (ja :num! (loop!)) @@ -660,9 +656,9 @@ (and (time-elapsed? (-> self control unknown-dword11) (-> *FLUT-bank* ground-timeout)) (>= 0.0 (vector-dot (-> self control dynam gravity-normal) (-> self control transv))) (let ((v1-37 (ja-group))) - (or (not (or (= v1-37 (-> self draw art-group data 59)) - (= v1-37 (-> self draw art-group data 60)) - (= v1-37 (-> self draw art-group data 61)) + (or (not (or (= v1-37 eichar-attack-punch-ja) + (= v1-37 eichar-attack-punch-end-ja) + (= v1-37 eichar-attack-punch-alt-end-ja) ) ) (< 4096.0 (target-height-above-ground)) @@ -701,18 +697,18 @@ ) (let ((gp-0 22)) (cond - ((ja-group? (-> self draw art-group data 140)) + ((ja-group? eichar-flut-idle-ja) (set! gp-0 60) ) ((let ((v1-9 (ja-group))) - (or (= v1-9 (-> self draw art-group data 143)) - (= v1-9 (-> self draw art-group data 144)) - (= v1-9 (-> self draw art-group data 152)) - (= v1-9 (-> self draw art-group data 154)) + (or (= v1-9 eichar-flut-jump-ja) + (= v1-9 eichar-flut-jump-loop-ja) + (= v1-9 eichar-flut-air-attack-ja) + (= v1-9 eichar-flut-air-attack-land-ja) ) ) (ja-channel-push! 1 (seconds 0.08)) - (ja-no-eval :group! (-> self draw art-group data 161) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! eichar-flut-squash-run-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -720,11 +716,11 @@ ) ) (set! f30-0 (cond - ((ja-group? (-> self draw art-group data 161)) + ((ja-group? eichar-flut-squash-run-ja) (ja-channel-set! 2) 1.0 ) - ((ja-group? (-> self draw art-group data 141)) + ((ja-group? eichar-flut-walk-ja) (set! f28-0 (ja-frame-num 0)) (-> self skel root-channel 1 frame-interp) ) @@ -735,9 +731,9 @@ ) ) ) - (ja-no-eval :group! (-> self draw art-group data 141) :num! (loop!) :dist 49152.0 :frame-num f28-0) + (ja-no-eval :group! eichar-flut-walk-ja :num! (loop!) :dist 49152.0 :frame-num f28-0) (ja-no-eval :chan 1 - :group! (-> self draw art-group data 142) + :group! eichar-flut-run-ja :num! (identity (* 0.5 f28-0)) :frame-interp f30-0 :dist 40960.0 @@ -884,16 +880,16 @@ ) :code (behavior ((arg0 float) (arg1 float)) (ja-channel-push! 2 (seconds 0.12)) - (ja :group! (-> self draw art-group data 143) :num! min) + (ja :group! eichar-flut-jump-ja :num! min) (ja :chan 1 - :group! (-> self draw art-group data 146) + :group! eichar-flut-jump-forward-ja :num! (chan 0) :frame-interp (-> self control unknown-float122) ) (suspend) - (ja :group! (-> self draw art-group data 143) :num! (+!)) + (ja :group! eichar-flut-jump-ja :num! (+!)) (ja :chan 1 - :group! (-> self draw art-group data 146) + :group! eichar-flut-jump-forward-ja :num! (chan 0) :frame-interp (-> self control unknown-float122) ) @@ -920,17 +916,17 @@ (ja :chan 1 :num! (chan 0) :frame-interp (-> self control unknown-float122)) (suspend) ) - (ja-no-eval :group! (-> self draw art-group data 144) :num! (loop!) :frame-num 0.0) + (ja-no-eval :group! eichar-flut-jump-loop-ja :num! (loop!) :frame-num 0.0) (ja :chan 1 - :group! (-> self draw art-group data 147) + :group! eichar-flut-jump-forward-loop-ja :num! (chan 0) :frame-interp (-> self control unknown-float122) ) (loop (suspend) - (ja :group! (-> self draw art-group data 144) :num! (loop!)) + (ja :group! eichar-flut-jump-loop-ja :num! (loop!)) (ja :chan 1 - :group! (-> self draw art-group data 147) + :group! eichar-flut-jump-forward-loop-ja :num! (chan 0) :frame-interp (-> self control unknown-float122) ) @@ -979,7 +975,7 @@ (if (!= (-> self state-time) (current-time)) (mod-var-jump #t #t (cpad-hold? (-> self control unknown-cpad-info00 number) x) (-> self control transv)) ) - (if (ja-group? (-> self draw art-group data 149)) + (if (ja-group? eichar-flut-double-jump-ja) (sound-play "flut-flap" :id (-> self flut flap-sound-id)) ) (seek! @@ -990,7 +986,7 @@ ) :code (behavior ((arg0 float) (arg1 float)) (ja-channel-push! 1 (seconds 0.05)) - (ja-no-eval :group! (-> self draw art-group data 149) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! eichar-flut-double-jump-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (cpad-set-buzz! (-> *cpad-list* cpads 0) 0 3 (seconds 0.1)) (suspend) @@ -998,10 +994,7 @@ ) (set! (-> self control unknown-surface00) *flut-jump-mods*) (dotimes (gp-0 1) - (ja-no-eval :group! (-> self draw art-group data 149) - :num! (seek!) - :frame-num (ja-aframe (the-as float 14.0) 0) - ) + (ja-no-eval :group! eichar-flut-double-jump-ja :num! (seek!) :frame-num (ja-aframe (the-as float 14.0) 0)) (until (ja-done? 0) (cpad-set-buzz! (-> *cpad-list* cpads 0) 0 3 (seconds 0.1)) (suspend) @@ -1028,9 +1021,9 @@ ) (current-time) (ja-channel-push! 2 (seconds 0.1)) - (ja-no-eval :group! (-> self draw art-group data 144) :num! (loop!) :frame-num 0.0) + (ja-no-eval :group! eichar-flut-jump-loop-ja :num! (loop!) :frame-num 0.0) (ja :chan 1 - :group! (-> self draw art-group data 147) + :group! eichar-flut-jump-forward-loop-ja :num! min :frame-interp (-> self control unknown-float122) ) @@ -1085,9 +1078,9 @@ (and (time-elapsed? (-> self control unknown-dword11) (-> *FLUT-bank* ground-timeout)) (>= 0.0 (vector-dot (-> self control dynam gravity-normal) (-> self control transv))) (let ((v1-34 (ja-group))) - (or (not (or (= v1-34 (-> self draw art-group data 59)) - (= v1-34 (-> self draw art-group data 60)) - (= v1-34 (-> self draw art-group data 61)) + (or (not (or (= v1-34 eichar-attack-punch-ja) + (= v1-34 eichar-attack-punch-end-ja) + (= v1-34 eichar-attack-punch-alt-end-ja) ) ) (< 4096.0 (target-height-above-ground)) @@ -1136,18 +1129,18 @@ ) :code (behavior ((arg0 symbol)) (cond - ((ja-group? (-> self draw art-group data 144)) + ((ja-group? eichar-flut-jump-loop-ja) ) - ((ja-group? (-> self draw art-group data 149)) + ((ja-group? eichar-flut-double-jump-ja) (ja-channel-push! 2 (seconds 0.2)) ) (else (ja-channel-push! 2 (seconds 0.5)) ) ) - (ja-no-eval :group! (-> self draw art-group data 144) :num! (loop!) :frame-num 0.0) + (ja-no-eval :group! eichar-flut-jump-loop-ja :num! (loop!) :frame-num 0.0) (ja :chan 1 - :group! (-> self draw art-group data 147) + :group! eichar-flut-jump-forward-loop-ja :num! min :frame-interp (-> self control unknown-float122) ) @@ -1310,7 +1303,7 @@ (create-splash (-> self water) (the-as float 0.6) - (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 37)) + (vector<-cspace! (new 'stack-no-clear 'vector) (joint-node-index eichar-lod0-jg mouth)) 0 (-> self control transv) ) @@ -1320,7 +1313,7 @@ :code (behavior () (ja-channel-push! 1 (seconds 0.02)) (sound-play "flut-hit") - (ja :group! (-> self draw art-group data 150) :num! min) + (ja :group! eichar-flut-running-attack-ja :num! min) (set! (-> self control dynam gravity-max) 368640.0) (set! (-> self control dynam gravity-length) 368640.0) (let ((f28-0 0.0) @@ -1340,9 +1333,9 @@ (time-elapsed? (-> self control unknown-dword11) (-> *FLUT-bank* ground-timeout)) (>= 0.0 (vector-dot (-> self control dynam gravity-normal) (-> self control transv))) (let ((v1-39 (ja-group))) - (or (not (or (= v1-39 (-> self draw art-group data 59)) - (= v1-39 (-> self draw art-group data 60)) - (= v1-39 (-> self draw art-group data 61)) + (or (not (or (= v1-39 eichar-attack-punch-ja) + (= v1-39 eichar-attack-punch-end-ja) + (= v1-39 eichar-attack-punch-alt-end-ja) ) ) (< 4096.0 (target-height-above-ground)) @@ -1389,9 +1382,9 @@ (time-elapsed? (-> self control unknown-dword11) (-> *FLUT-bank* ground-timeout)) (>= 0.0 (vector-dot (-> self control dynam gravity-normal) (-> self control transv))) (let ((v1-105 (ja-group))) - (or (not (or (= v1-105 (-> self draw art-group data 59)) - (= v1-105 (-> self draw art-group data 60)) - (= v1-105 (-> self draw art-group data 61)) + (or (not (or (= v1-105 eichar-attack-punch-ja) + (= v1-105 eichar-attack-punch-end-ja) + (= v1-105 eichar-attack-punch-alt-end-ja) ) ) (< 4096.0 (target-height-above-ground)) @@ -1405,7 +1398,7 @@ (if (not (ja-done? 0)) (ja-channel-push! 1 (seconds 0.05)) ) - (ja-no-eval :group! (-> self draw art-group data 151) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! eichar-flut-running-attack-end-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (compute-alignment! (-> self align)) (align! (-> self align) (align-opts adjust-xz-vel) (the-as float 1.0) (the-as float 1.0) f30-0) @@ -1517,10 +1510,7 @@ :code (behavior ((arg0 float)) (sound-play "flut-hit" :pitch -0.5) (ja-channel-push! 1 (seconds 0.05)) - (ja-no-eval :group! (-> self draw art-group data 152) - :num! (seek! (ja-aframe (the-as float 8.0) 0)) - :frame-num 0.0 - ) + (ja-no-eval :group! eichar-flut-air-attack-ja :num! (seek! (ja-aframe (the-as float 8.0) 0)) :frame-num 0.0) (until (ja-done? 0) (compute-alignment! (-> self align)) (align! @@ -1533,10 +1523,7 @@ (suspend) (ja :num! (seek! (ja-aframe (the-as float 8.0) 0))) ) - (ja-no-eval :group! (-> self draw art-group data 152) - :num! (seek!) - :frame-num (ja-aframe (the-as float 8.0) 0) - ) + (ja-no-eval :group! eichar-flut-air-attack-ja :num! (seek!) :frame-num (ja-aframe (the-as float 8.0) 0)) (until (ja-done? 0) (compute-alignment! (-> self align)) (align! @@ -1549,7 +1536,7 @@ (suspend) (ja :num! (seek!)) ) - (ja :group! (-> self draw art-group data 153) :num! min) + (ja :group! eichar-flut-air-attack-loop-ja :num! min) (loop (suspend) ) @@ -1587,7 +1574,7 @@ :trans (-> target-flut-hit-ground trans) :code (behavior () (ja-channel-set! 1) - (ja-no-eval :group! (-> self draw art-group data 154) + (ja-no-eval :group! eichar-flut-air-attack-land-ja :num! (seek! (ja-aframe (the-as float 22.0) 0)) :frame-num 0.0 ) @@ -1598,10 +1585,7 @@ (ja :num! (seek! (ja-aframe (the-as float 22.0) 0))) ) (target-danger-set! 'harmless #f) - (ja-no-eval :group! (-> self draw art-group data 154) - :num! (seek!) - :frame-num (ja-aframe (the-as float 22.0) 0) - ) + (ja-no-eval :group! eichar-flut-air-attack-land-ja :num! (seek!) :frame-num (ja-aframe (the-as float 22.0) 0)) (until (ja-done? 0) (compute-alignment! (-> self align)) (align! (-> self align) (align-opts adjust-xz-vel) (the-as float 1.0) (the-as float 1.0) (the-as float 1.0)) @@ -1742,17 +1726,17 @@ (let ((f30-0 1.0)) (case (-> gp-0 angle) (('shove) - (when (not (ja-group? (-> self draw art-group data 158))) + (when (not (ja-group? eichar-flut-smack-surface-ja)) (ja-channel-set! 1) - (ja :group! (-> self draw art-group data 158) :num! min) + (ja :group! eichar-flut-smack-surface-ja :num! min) ) (sound-play "smack-surface") (sound-play "flut-hit" :pitch 1) ) (else - (when (not (ja-group? (-> self draw art-group data 157))) + (when (not (ja-group? eichar-flut-hit-back-ja)) (ja-channel-push! 1 (seconds 0.075)) - (ja :group! (-> self draw art-group data 157) :num! min) + (ja :group! eichar-flut-hit-back-ja :num! min) ) ) ) @@ -1848,7 +1832,7 @@ (else (set! (-> self control unknown-surface00) *neutral-mods*) (ja-channel-push! 1 (seconds 0.1)) - (ja-no-eval :group! (-> self draw art-group data 160) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! eichar-flut-deatha-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (compute-alignment! (-> self align)) (let ((gp-5 (new 'stack-no-clear 'vector))) @@ -1912,10 +1896,7 @@ (let ((gp-1 #f)) (sound-play "uppercut") (ja-channel-push! 1 (seconds 0.05)) - (ja-no-eval :group! (-> self draw art-group data 155) - :num! (seek! (ja-aframe (the-as float 24.0) 0)) - :frame-num 0.0 - ) + (ja-no-eval :group! eichar-flut-get-on-ja :num! (seek! (ja-aframe (the-as float 24.0) 0)) :frame-num 0.0) (until (ja-done? 0) (when (and (not gp-1) (= (-> self skel root-channel 0) (-> self skel channel))) (send-event (ppointer->process (-> self manipy)) 'anim-mode 'clone-anim) @@ -2016,7 +1997,7 @@ ) (sound-play "flut-coo" :vol 90 :pitch -0.5) (ja-channel-push! 1 (seconds 0.05)) - (ja-no-eval :group! (-> self draw art-group data 156) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! eichar-flut-get-off-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -2028,7 +2009,7 @@ ) (rot->dir-targ! (-> self control)) (ja-post) - (vector<-cspace! gp-0 (-> self node-list data 3)) + (vector<-cspace! gp-0 (joint-node-index eichar-lod0-jg main)) (+! (-> gp-0 y) -5896.192) (move-to-point! (-> self control) gp-0) ) @@ -2074,10 +2055,7 @@ ) :code (behavior ((arg0 symbol)) (ja-channel-set! 1) - (ja-no-eval :group! (-> self draw art-group data 35) - :num! (seek!) - :frame-num (ja-aframe (the-as float 42.0) 0) - ) + (ja-no-eval :group! eichar-jump-land-ja :num! (seek!) :frame-num (ja-aframe (the-as float 42.0) 0)) (until (ja-done? 0) (suspend) (ja :num! (seek!)) diff --git a/test/decompiler/reference/jak1/levels/jungle/bouncer_REF.gc b/test/decompiler/reference/jak1/levels/jungle/bouncer_REF.gc index 174a77d7e39..8086d273017 100644 --- a/test/decompiler/reference/jak1/levels/jungle/bouncer_REF.gc +++ b/test/decompiler/reference/jak1/levels/jungle/bouncer_REF.gc @@ -60,7 +60,7 @@ ) ) :code (behavior () - (ja :group! (-> self draw art-group data 2) :num! min) + (ja :group! bounceytarp-idle-ja :num! min) (transform-post) (loop (logior! (-> self mask) (process-mask sleep)) @@ -113,7 +113,7 @@ (defstate bouncer-fire (springbox) :code (behavior () (cpad-set-buzz! (-> *cpad-list* cpads 0) 1 178 (seconds 0.1)) - (ja-no-eval :group! (-> self draw art-group data 2) :num! (seek!) :frame-num (ja-aframe 6.0 0)) + (ja-no-eval :group! bounceytarp-idle-ja :num! (seek!) :frame-num (ja-aframe 6.0 0)) (until (ja-done? 0) (suspend) (ja :num! (seek!)) diff --git a/test/decompiler/reference/jak1/levels/jungle/fisher_REF.gc b/test/decompiler/reference/jak1/levels/jungle/fisher_REF.gc index 2ae690d7df5..1f1afef02f8 100644 --- a/test/decompiler/reference/jak1/levels/jungle/fisher_REF.gc +++ b/test/decompiler/reference/jak1/levels/jungle/fisher_REF.gc @@ -1814,13 +1814,13 @@ :trans (behavior () (when (-> self training) (let ((gp-0 (new-stack-vector0))) - (vector<-cspace! gp-0 (-> self node-list data 74)) + (vector<-cspace! gp-0 (joint-node-index fisher-lod0-jg mainA)) (launch-particles (-> *part-id-table* 2001) gp-0) (fisher-fish-water gp-0 (+ 32768.0 (vector-y-angle (-> self node-list data 75 bone transform vector 1)))) - (vector<-cspace! gp-0 (-> self node-list data 77)) + (vector<-cspace! gp-0 (joint-node-index fisher-lod0-jg mainB)) (launch-particles (-> *part-id-table* 2001) gp-0) (fisher-fish-water gp-0 (+ 32768.0 (vector-y-angle (-> self node-list data 78 bone transform vector 1)))) - (vector<-cspace! gp-0 (-> self node-list data 80)) + (vector<-cspace! gp-0 (joint-node-index fisher-lod0-jg top)) (launch-particles (-> *part-id-table* 828) gp-0) (launch-particles (-> *part-id-table* 2013) gp-0) (fisher-fish-water gp-0 (+ 32768.0 (vector-y-angle (-> self node-list data 80 bone transform vector 1)))) @@ -2139,11 +2139,11 @@ ) (let ((v1-35 (-> self manipy 0 node-list data))) (set! (-> v1-35 0 param0) cspace<-cspace+quaternion!) - (set! (-> v1-35 0 param1) (the-as basic (-> self node-list data 23))) + (set! (-> v1-35 0 param1) (the-as basic (joint-node-index eichar-lod0-jg sk_rhand))) (set! (-> v1-35 0 param2) (the-as basic (-> self control quat))) ) ) - (ja :group! (-> self draw art-group data 99) :num! (identity (ja-aframe 15.0 0))) + (ja :group! eichar-fishing-ja :num! (identity (ja-aframe 15.0 0))) (let ((s5-2 (new 'stack-no-clear 'vector))) (until (-> self control unknown-spoolanim00) (let ((v1-42 (handle->process arg0))) @@ -2176,7 +2176,7 @@ (case (-> self control unknown-spoolanim00) (('lose) (ja-channel-push! 1 (seconds 0.1)) - (ja-no-eval :group! (-> self draw art-group data 100) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! eichar-fishing-lose-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) diff --git a/test/decompiler/reference/jak1/levels/jungle/jungle-obs_REF.gc b/test/decompiler/reference/jak1/levels/jungle/jungle-obs_REF.gc index 38e6c8048f8..4891cd12e7f 100644 --- a/test/decompiler/reference/jak1/levels/jungle/jungle-obs_REF.gc +++ b/test/decompiler/reference/jak1/levels/jungle/jungle-obs_REF.gc @@ -55,7 +55,7 @@ :code (behavior () (transform-post) (loop - (ja-no-eval :group! (-> self draw art-group data 4) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! logtrap-idle-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (when (logtest? (-> self draw status) (draw-status was-drawn)) (cond @@ -140,7 +140,7 @@ (defstate towertop-idle (towertop) :code (behavior () (loop - (ja-no-eval :group! (-> self draw art-group data 4) :num! (seek! max 0.4) :frame-num 0.0) + (ja-no-eval :group! towertop-idle-ja :num! (seek! max 0.4) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek! max 0.4)) @@ -210,7 +210,7 @@ :trans rider-trans :code (behavior () (loop - (ja-no-eval :group! (-> self draw art-group data 4) :num! (seek! max (* 0.5 (-> self speed))) :frame-num 0.0) + (ja-no-eval :group! lurkerm-tall-sail-idle-ja :num! (seek! max (* 0.5 (-> self speed))) :frame-num 0.0) (until (ja-done? 0) (quaternion-rotate-local-y! (-> self root-override quat) @@ -441,7 +441,7 @@ :trans rider-trans :code (behavior () (loop - (ja-no-eval :group! (-> self draw art-group data 2) :num! (seek! max (-> self speed)) :frame-num 0.0) + (ja-no-eval :group! lurkerm-piston-idle-ja :num! (seek! max (-> self speed)) :frame-num 0.0) (until (ja-done? 0) (let ((gp-0 (new-stack-vector0))) (set! (-> gp-0 quad) (-> self base quad)) @@ -660,8 +660,8 @@ :virtual #t :code (behavior () (ambient-hint-spawn "gamcam30" (the-as vector #f) *entity-pool* 'camera) - (ja :group! (-> self draw art-group data 8)) - (ja-no-eval :group! (-> self draw art-group data 8) :num! (seek! (ja-aframe 0.0 0)) :frame-num 0.0) + (ja :group! junglecam-precurbridgecam-ja) + (ja-no-eval :group! junglecam-precurbridgecam-ja :num! (seek! (ja-aframe 0.0 0)) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek! (ja-aframe 0.0 0))) @@ -738,7 +738,7 @@ ) ) :code (behavior () - (ja :group! (-> self draw art-group data 3) :num! min) + (ja :group! precurbridge-idle-ja :num! min) (transform-post) (loop (when (and *target* @@ -799,7 +799,7 @@ :code (behavior () (process-entity-status! self (entity-perm-status complete) #t) (sound-play "blue-eco-on" :position (the-as symbol (-> self root-override trans))) - (ja-no-eval :group! (-> self draw art-group data 3) :num! (seek! max 0.25) :frame-num 0.0) + (ja-no-eval :group! precurbridge-idle-ja :num! (seek! max 0.25) :frame-num 0.0) (until (ja-done? 0) (if (rand-vu-percent? 0.1) (spawn-projectile-blue *target*) @@ -833,7 +833,7 @@ (set! (-> self draw bounds w) 81920.0) (when arg0 (ja-channel-set! 1) - (ja :group! (-> self draw art-group data 4) :num! min) + (ja :group! precurbridge-float-ja :num! min) ) (ja-post) (update-transforms! (-> self root-override)) @@ -844,15 +844,15 @@ ) (cond ((and *target* (>= 61440.0 (vector-vector-distance (-> self root-override trans) (-> *target* control trans)))) - (when (not (ja-group? (-> self draw art-group data 5))) + (when (not (ja-group? precurbridge-static-ja)) (ja-channel-push! 1 (seconds 0.2)) - (ja :group! (-> self draw art-group data 5) :num! min) + (ja :group! precurbridge-static-ja :num! min) ) ) (else - (when (not (ja-group? (-> self draw art-group data 4))) + (when (not (ja-group? precurbridge-float-ja)) (ja-channel-push! 1 (seconds 0.2)) - (ja :group! (-> self draw art-group data 4) :num! min) + (ja :group! precurbridge-float-ja :num! min) ) ) ) diff --git a/test/decompiler/reference/jak1/levels/jungleb/aphid_REF.gc b/test/decompiler/reference/jak1/levels/jungleb/aphid_REF.gc index b484aaf21d3..072911d7c47 100644 --- a/test/decompiler/reference/jak1/levels/jungleb/aphid_REF.gc +++ b/test/decompiler/reference/jak1/levels/jungleb/aphid_REF.gc @@ -81,14 +81,14 @@ (loop (ja-channel-push! 1 (seconds 0.05)) (sound-play "aphid-spike-out") - (ja-no-eval :group! (-> self draw art-group data 6) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! aphid-lurker-spike-out-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) ) (aphid-invulnerable) (ja-channel-push! 1 (seconds 0.1)) - (ja :group! (-> self draw art-group data 5)) + (ja :group! aphid-lurker-walk-deadly-ja) (ja :num-func num-func-identity :frame-num 0.0) (let ((f30-0 (nav-enemy-rnd-float-range 0.9 1.1)) (s5-1 (current-time)) @@ -102,7 +102,7 @@ (aphid-vulnerable) (ja-channel-push! 1 (seconds 0.05)) (sound-play "aphid-spike-in") - (ja-no-eval :group! (-> self draw art-group data 6) :num! (seek! 0.0) :frame-num max) + (ja-no-eval :group! aphid-lurker-spike-out-ja :num! (seek! 0.0) :frame-num max) (until (ja-done? 0) (suspend) (ja :num! (seek! 0.0)) @@ -134,7 +134,7 @@ (and (nav-enemy-player-vulnerable?) (nav-enemy-rnd-percent? 0.5)) ) (ja-channel-push! 1 (seconds 0.1)) - (ja-no-eval :group! (-> self draw art-group data 10) :num! (seek! max f30-0) :frame-num 0.0) + (ja-no-eval :group! aphid-lurker-win-ja :num! (seek! max f30-0) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek! max f30-0)) @@ -145,7 +145,7 @@ (logior! (-> self nav-enemy-flags) (nav-enemy-flags enable-travel)) (ja-no-eval :num! (loop!)) (ja-channel-push! 1 (seconds 0.2)) - (ja :group! (-> self draw art-group data 4)) + (ja :group! aphid-lurker-walk-ja) (ja :num-func num-func-identity :frame-num 0.0) (until (nav-enemy-facing-player? 1820.4445) (ja-blend-eval) @@ -155,10 +155,10 @@ (logclear! (-> self nav-enemy-flags) (nav-enemy-flags enable-travel)) ) (when (nav-enemy-rnd-percent? 0.3) - (if (not (ja-group? (-> self draw art-group data 10))) + (if (not (ja-group? aphid-lurker-win-ja)) (ja-channel-push! 1 (seconds 0.1)) ) - (ja-no-eval :group! (-> self draw art-group data 10) :num! (seek! max f30-0) :frame-num 0.0) + (ja-no-eval :group! aphid-lurker-win-ja :num! (seek! max f30-0) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek! max f30-0)) @@ -184,7 +184,7 @@ ) 12743.111 ) - (ja-no-eval :group! (-> self draw art-group data 7) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! aphid-lurker-give-up-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -193,7 +193,7 @@ ) (logclear! (-> self nav flags) (nav-control-flags navcf17 navcf19)) (nav-enemy-get-new-patrol-point) - (ja-no-eval :group! (-> self draw art-group data 8) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! aphid-lurker-give-up-hop-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (seek-to-point-toward-point! (-> self collide-info) diff --git a/test/decompiler/reference/jak1/levels/jungleb/jungleb-obs_REF.gc b/test/decompiler/reference/jak1/levels/jungleb/jungleb-obs_REF.gc index fc12982559f..1b2772485f5 100644 --- a/test/decompiler/reference/jak1/levels/jungleb/jungleb-obs_REF.gc +++ b/test/decompiler/reference/jak1/levels/jungleb/jungleb-obs_REF.gc @@ -285,7 +285,7 @@ ) (save-reminder (get-task-control (-> self entity extra perm task)) 2 0) (sound-play "jngb-eggtop-seq") - (ja-no-eval :group! (-> self draw art-group data 2) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! eggtop-idle-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -297,7 +297,7 @@ (entity-task-complete-on a0-20) ) ) - (ja :group! (-> self draw art-group data 2) :num! max) + (ja :group! eggtop-idle-ja :num! max) (suspend) (logior! (-> self mask) (process-mask sleep)) (suspend) diff --git a/test/decompiler/reference/jak1/levels/lavatube/assistant-lavatube_REF.gc b/test/decompiler/reference/jak1/levels/lavatube/assistant-lavatube_REF.gc index a9b411cb428..6a4c4139fb8 100644 --- a/test/decompiler/reference/jak1/levels/lavatube/assistant-lavatube_REF.gc +++ b/test/decompiler/reference/jak1/levels/lavatube/assistant-lavatube_REF.gc @@ -121,7 +121,7 @@ (loop (when (!= (ja-group) (get-art-elem self)) (ja-channel-push! 1 (seconds 0.05)) - (ja :group! (-> self draw art-group data 3)) + (ja :group! assistant-lavatube-start-idle-ja) ) (let* ((f30-0 2.0) (v1-7 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) @@ -136,7 +136,7 @@ ) ) (ja-channel-push! 1 (seconds 0.05)) - (ja-no-eval :group! (-> self draw art-group data 4) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! assistant-lavatube-start-idle-b-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) diff --git a/test/decompiler/reference/jak1/levels/lavatube/lavatube-energy_REF.gc b/test/decompiler/reference/jak1/levels/lavatube/lavatube-energy_REF.gc index 9dd99fa0a91..12ead6386d5 100644 --- a/test/decompiler/reference/jak1/levels/lavatube/lavatube-energy_REF.gc +++ b/test/decompiler/reference/jak1/levels/lavatube/lavatube-energy_REF.gc @@ -1104,9 +1104,18 @@ (energyarm-trans) (cond ((handle->process (-> self ball)) - (spawn (-> self part) (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 6))) - (spawn (-> self part) (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 5))) - (spawn (-> self part) (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 4))) + (spawn + (-> self part) + (vector<-cspace! (new 'stack-no-clear 'vector) (joint-node-index energyarm-lod0-jg zapa)) + ) + (spawn + (-> self part) + (vector<-cspace! (new 'stack-no-clear 'vector) (joint-node-index energyarm-lod0-jg zapb)) + ) + (spawn + (-> self part) + (vector<-cspace! (new 'stack-no-clear 'vector) (joint-node-index energyarm-lod0-jg zapc)) + ) ) ((!= (-> self ball) #f) (set! (-> self ball) (the-as handle #f)) diff --git a/test/decompiler/reference/jak1/levels/maincave/gnawer_REF.gc b/test/decompiler/reference/jak1/levels/maincave/gnawer_REF.gc index ffedb7d0e8f..13d7774347b 100644 --- a/test/decompiler/reference/jak1/levels/maincave/gnawer_REF.gc +++ b/test/decompiler/reference/jak1/levels/maincave/gnawer_REF.gc @@ -966,11 +966,11 @@ (ja-no-eval :group! gnawer-up-to-chew-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (let ((gp-3 (new 'stack-no-clear 'vector))) - (vector<-cspace! gp-3 (-> self node-list data 34)) + (vector<-cspace! gp-3 (joint-node-index gnawer-lod0-jg nandibleR)) (spawn (-> self part2) gp-3) ) (let ((gp-4 (new 'stack-no-clear 'vector))) - (vector<-cspace! gp-4 (-> self node-list data 33)) + (vector<-cspace! gp-4 (joint-node-index gnawer-lod0-jg mandibleL)) (spawn (-> self part2) gp-4) ) (suspend) @@ -983,11 +983,11 @@ (ja-no-eval :group! gnawer-chew-ja :num! (seek! max (-> self anim-speed)) :frame-num 0.0) (until (ja-done? 0) (let ((s4-1 (new 'stack-no-clear 'vector))) - (vector<-cspace! s4-1 (-> self node-list data 34)) + (vector<-cspace! s4-1 (joint-node-index gnawer-lod0-jg nandibleR)) (spawn (-> self part2) s4-1) ) (let ((s4-2 (new 'stack-no-clear 'vector))) - (vector<-cspace! s4-2 (-> self node-list data 33)) + (vector<-cspace! s4-2 (joint-node-index gnawer-lod0-jg mandibleL)) (spawn (-> self part2) s4-2) ) (update! (-> self sound2)) diff --git a/test/decompiler/reference/jak1/levels/maincave/maincave-obs_REF.gc b/test/decompiler/reference/jak1/levels/maincave/maincave-obs_REF.gc index a9b65c492ef..6873189f76a 100644 --- a/test/decompiler/reference/jak1/levels/maincave/maincave-obs_REF.gc +++ b/test/decompiler/reference/jak1/levels/maincave/maincave-obs_REF.gc @@ -171,7 +171,7 @@ ) :code (behavior () (loop - (ja-no-eval :group! (-> self draw art-group data 4) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! cavecrusher-idle-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (update! (-> self sound)) (suspend) @@ -266,7 +266,7 @@ ) ) :code (behavior () - (ja-no-eval :group! (-> self draw art-group data 4) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! cavetrapdoor-idle-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (transform-post) (suspend) @@ -286,13 +286,13 @@ (suspend) ) ) - (ja-no-eval :group! (-> self draw art-group data 5) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! cavetrapdoor-bob-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) ) (clear-collide-with-as (-> self root-override)) - (ja-no-eval :group! (-> self draw art-group data 6) :num! (seek! (ja-aframe 290.0 0)) :frame-num 0.0) + (ja-no-eval :group! cavetrapdoor-swing-ja :num! (seek! (ja-aframe 290.0 0)) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek! (ja-aframe 290.0 0))) @@ -313,14 +313,14 @@ (not (logtest? (-> *target* control root-prim prim-core action) (collide-action edgegrab-cam))) ) ) - (ja-no-eval :group! (-> self draw art-group data 7) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! cavetrapdoor-idle-down-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) ) (label cfg-14) ) - (ja-no-eval :group! (-> self draw art-group data 8) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! cavetrapdoor-reset-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (when (and (and *target* (>= 28672.0 (vector-vector-distance (-> self root-override trans) (-> *target* control trans)))) (or (and (logtest? (-> *target* control unknown-surface00 flags) (surface-flags jump)) diff --git a/test/decompiler/reference/jak1/levels/maincave/mother-spider-egg_REF.gc b/test/decompiler/reference/jak1/levels/maincave/mother-spider-egg_REF.gc index 643a3d581af..0fb9be1adf3 100644 --- a/test/decompiler/reference/jak1/levels/maincave/mother-spider-egg_REF.gc +++ b/test/decompiler/reference/jak1/levels/maincave/mother-spider-egg_REF.gc @@ -264,7 +264,7 @@ :code (behavior () (ja-channel-push! 1 0) (loop - (ja-no-eval :group! (-> self draw art-group data 9) :num! (seek! max (-> self anim-speed)) :frame-num 0.0) + (ja-no-eval :group! spider-egg-idle-ja :num! (seek! max (-> self anim-speed)) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek! max (-> self anim-speed))) @@ -320,7 +320,7 @@ (quaternion-from-two-vectors! s5-0 s4-0 s3-0) ) (quaternion*! s5-0 s5-0 gp-0) - (ja-no-eval :group! (-> self draw art-group data 11) :num! (seek! max 1.3) :frame-num 0.0) + (ja-no-eval :group! spider-egg-bounce-ja :num! (seek! max 1.3) :frame-num 0.0) (until (ja-done? 0) (let* ((f0-8 (ja-frame-num 0)) (v1-19 (ja-group)) @@ -333,7 +333,7 @@ ) ) (loop - (ja-no-eval :group! (-> self draw art-group data 9) :num! (seek! max (-> self anim-speed)) :frame-num 0.0) + (ja-no-eval :group! spider-egg-idle-ja :num! (seek! max (-> self anim-speed)) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek! max (-> self anim-speed))) @@ -376,7 +376,7 @@ ) (lods-assign! (-> self draw) (-> self broken-look)) (ja-channel-push! 1 (seconds 0.2)) - (ja-no-eval :group! (-> self draw art-group data 10) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! spider-egg-crack-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -412,7 +412,7 @@ (-> self root-override trans) :to *entity-pool* ) - (ja-no-eval :group! (-> self draw art-group data 12) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! spider-egg-die-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -449,7 +449,7 @@ ) (lods-assign! (-> self draw) (-> self broken-look)) (ja-channel-push! 1 (seconds 0.1)) - (ja-no-eval :group! (-> self draw art-group data 12) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! spider-egg-die-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) diff --git a/test/decompiler/reference/jak1/levels/maincave/mother-spider_REF.gc b/test/decompiler/reference/jak1/levels/maincave/mother-spider_REF.gc index ab4d5b78566..cdbc8fe32d0 100644 --- a/test/decompiler/reference/jak1/levels/maincave/mother-spider_REF.gc +++ b/test/decompiler/reference/jak1/levels/maincave/mother-spider_REF.gc @@ -1042,7 +1042,7 @@ (go mother-spider-traveling (the-as uint 0)) ) (let ((gp-0 (new 'stack-no-clear 'vector))) - (vector<-cspace! gp-0 (-> self node-list data 6)) + (vector<-cspace! gp-0 (joint-node-index mother-spider-lod0-jg bodA)) (if (or (logtest? (-> *target* state-flags) (state-flags being-attacked invulnerable timed-invulnerable invuln-powerup do-not-notice dying) ) @@ -1080,7 +1080,7 @@ (set! (-> gp-2 quad) (-> self root-override trans quad)) (set! (-> gp-2 w) 4096.0) (when (sphere-in-view-frustum? (the-as sphere gp-2)) - (vector<-cspace! gp-2 (-> self node-list data 21)) + (vector<-cspace! gp-2 (joint-node-index mother-spider-lod0-jg jaw)) (set! (-> s5-2 quad) (-> (target-pos 0) quad)) (+! (-> s5-2 y) 4915.2) (cond @@ -1182,7 +1182,7 @@ (s5-0 (new 'stack-no-clear 'vector)) (s2-0 (new 'stack-no-clear 'vector)) ) - (vector<-cspace! s4-0 (-> self node-list data 21)) + (vector<-cspace! s4-0 (joint-node-index mother-spider-lod0-jg jaw)) (set! (-> s5-0 quad) (-> (target-pos 0) quad)) (+! (-> s5-0 y) 4915.2) (when (< 24576.0 (vector-vector-distance s5-0 s4-0)) diff --git a/test/decompiler/reference/jak1/levels/misty/babak-with-cannon_REF.gc b/test/decompiler/reference/jak1/levels/misty/babak-with-cannon_REF.gc index 43d15354693..2af062ab3d8 100644 --- a/test/decompiler/reference/jak1/levels/misty/babak-with-cannon_REF.gc +++ b/test/decompiler/reference/jak1/levels/misty/babak-with-cannon_REF.gc @@ -109,7 +109,7 @@ nav-enemy-default-event-handler :code (behavior () (ja-channel-push! 1 (seconds 0.075)) (loop - (ja-no-eval :group! (-> self draw art-group data 8) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! babak-charge-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -234,7 +234,7 @@ nav-enemy-default-event-handler ) ) (ja-channel-push! 1 (seconds 0.1)) - (ja-no-eval :group! (-> self draw art-group data 17) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! babak-look-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -255,7 +255,7 @@ nav-enemy-default-event-handler (nav-enemy-initialize-jump (-> self entity extra trans)) (nav-enemy-neck-control-look-at) (logclear! (-> self nav-enemy-flags) (nav-enemy-flags enable-rotate enable-travel)) - (ja-no-eval :group! (-> self draw art-group data 17) :num! (seek! 0.0 2.0) :frame-num max) + (ja-no-eval :group! babak-look-ja :num! (seek! 0.0 2.0) :frame-num max) (until (ja-done? 0) (suspend) (ja :num! (seek! 0.0 2.0)) diff --git a/test/decompiler/reference/jak1/levels/misty/misty-obs_REF.gc b/test/decompiler/reference/jak1/levels/misty/misty-obs_REF.gc index 27841588664..607c0e3dac4 100644 --- a/test/decompiler/reference/jak1/levels/misty/misty-obs_REF.gc +++ b/test/decompiler/reference/jak1/levels/misty/misty-obs_REF.gc @@ -1281,7 +1281,7 @@ :event mis-bone-bridge-event-handler :trans rider-trans :code (behavior () - (ja-no-eval :group! (-> self draw art-group data 6) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! mis-bone-bridge-bumped-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -1300,7 +1300,7 @@ (if (zero? (-> self hit-points)) (go mis-bone-bridge-fall #f) ) - (ja-no-eval :group! (-> self draw art-group data 5) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! mis-bone-bridge-kicked-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -1766,7 +1766,7 @@ ) :code (behavior () (ja-channel-push! 1 (seconds 0.1)) - (ja :group! (-> self draw art-group data 2)) + (ja :group! mis-bone-platform-idle-ja) (ja :num-func num-func-identity :frame-num 0.0) (loop (suspend) diff --git a/test/decompiler/reference/jak1/levels/misty/misty-teetertotter_REF.gc b/test/decompiler/reference/jak1/levels/misty/misty-teetertotter_REF.gc index b25515fef80..7d6b68d964d 100644 --- a/test/decompiler/reference/jak1/levels/misty/misty-teetertotter_REF.gc +++ b/test/decompiler/reference/jak1/levels/misty/misty-teetertotter_REF.gc @@ -69,7 +69,7 @@ ) ) :code (behavior () - (ja :group! (-> self draw art-group data 4) :num! min) + (ja :group! teetertotter-idle-ja :num! min) (loop (suspend) ) @@ -115,7 +115,7 @@ ) :code (behavior () (set! (-> self launched-player) #f) - (ja-no-eval :group! (-> self draw art-group data 4) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! teetertotter-idle-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (let ((f0-4 (ja-aframe-num 0))) (set! (-> self in-launch-window) (and (>= f0-4 76.0) (>= 82.0 f0-4))) @@ -134,7 +134,7 @@ ;; failed to figure out what this is: (defstate teetertotter-bend (teetertotter) :code (behavior () - (ja-no-eval :group! (-> self draw art-group data 5) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! teetertotter-landing-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) diff --git a/test/decompiler/reference/jak1/levels/misty/misty-warehouse_REF.gc b/test/decompiler/reference/jak1/levels/misty/misty-warehouse_REF.gc index 38cbe9d2884..5968ed27928 100644 --- a/test/decompiler/reference/jak1/levels/misty/misty-warehouse_REF.gc +++ b/test/decompiler/reference/jak1/levels/misty/misty-warehouse_REF.gc @@ -46,7 +46,7 @@ ) ) :code (behavior () - (ja :group! (-> self draw art-group data 2) :num! min) + (ja :group! silostep-idle-ja :num! min) (transform-post) (loop (suspend) @@ -113,7 +113,7 @@ :code (behavior ((arg0 symbol)) (process-entity-status! self (entity-perm-status complete) #t) (when (not arg0) - (ja-no-eval :group! (-> self draw art-group data 2) :num! (seek! (-> self anim-limit)) :frame-num 0.0) + (ja-no-eval :group! silostep-idle-ja :num! (seek! (-> self anim-limit)) :frame-num 0.0) (until (ja-done? 0) (rider-trans) (rider-post) @@ -121,7 +121,7 @@ (ja :num! (seek! (-> self anim-limit))) ) ) - (ja :group! (-> self draw art-group data 2) :num! (identity (-> self anim-limit))) + (ja :group! silostep-idle-ja :num! (identity (-> self anim-limit))) (rider-post) (loop (ja-post) diff --git a/test/decompiler/reference/jak1/levels/misty/quicksandlurker_REF.gc b/test/decompiler/reference/jak1/levels/misty/quicksandlurker_REF.gc index c225b5f3f98..ae74bddcc64 100644 --- a/test/decompiler/reference/jak1/levels/misty/quicksandlurker_REF.gc +++ b/test/decompiler/reference/jak1/levels/misty/quicksandlurker_REF.gc @@ -756,7 +756,9 @@ (defbehavior quicksandlurker-spit quicksandlurker () (let ((gp-0 (new-stack-vector0))) (let ((s5-0 (new-stack-vector0))) - (set! (-> gp-0 quad) (-> (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 9)) quad)) + (set! (-> gp-0 quad) + (-> (vector<-cspace! (new 'stack-no-clear 'vector) (joint-node-index quicksandlurker-lod0-jg jawEND)) quad) + ) (vector-! s5-0 (target-pos 5) gp-0) (let ((f1-0 (vector-xz-length s5-0))) (set! (-> s5-0 y) (fmin (-> s5-0 y) (* 0.5 f1-0))) diff --git a/test/decompiler/reference/jak1/levels/ogre/ogre-obs_REF.gc b/test/decompiler/reference/jak1/levels/ogre/ogre-obs_REF.gc index 859c4938ddd..ddac46aaa34 100644 --- a/test/decompiler/reference/jak1/levels/ogre/ogre-obs_REF.gc +++ b/test/decompiler/reference/jak1/levels/ogre/ogre-obs_REF.gc @@ -1046,7 +1046,7 @@ 0 ) ) - (ja-no-eval :group! (-> self draw art-group data 3) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! ogre-bridge-assemble-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (if (rand-vu-percent? 0.2) (spawn-projectile-blue *target*) @@ -1077,7 +1077,7 @@ ) ) :code (behavior () - (ja :group! (-> self draw art-group data 3) :num! max) + (ja :group! ogre-bridge-assemble-ja :num! max) (transform-post) (loop (suspend) @@ -1114,7 +1114,7 @@ ) ) :code (behavior () - (ja-no-eval :group! (-> self draw art-group data 4) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! ogre-bridge-break-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) diff --git a/test/decompiler/reference/jak1/levels/racer_common/racer-states_REF.gc b/test/decompiler/reference/jak1/levels/racer_common/racer-states_REF.gc index 50e090a1e3a..881ab1f4aaf 100644 --- a/test/decompiler/reference/jak1/levels/racer_common/racer-states_REF.gc +++ b/test/decompiler/reference/jak1/levels/racer_common/racer-states_REF.gc @@ -364,7 +364,7 @@ ) :code (behavior () (cond - ((ja-group? (-> self draw art-group data 138)) + ((ja-group? eichar-racer-get-on-ja) (ja-no-eval :num! (seek!)) (while (not (ja-done? 0)) (suspend) @@ -372,7 +372,7 @@ ) ) ((let ((v1-16 (ja-group))) - (or (or (= v1-16 (-> self draw art-group data 130)) (= v1-16 (-> self draw art-group data 131))) + (or (or (= v1-16 eichar-racer-jump-small-ja) (= v1-16 eichar-racer-jump-small-loop-ja)) (> (-> self racer bounce) 0) ) ) @@ -441,12 +441,12 @@ (set! (-> self racer bounce) 0) (loop (let ((gp-3 (current-time))) - (when (not (ja-group? (-> self draw art-group data 123))) + (when (not (ja-group? eichar-racer-turn-ja)) (ja-channel-push! 4 (seconds 0.1)) - (ja :group! (-> self draw art-group data 123) :num! (identity (ja-aframe (-> self racer turn-anim-frame) 0))) - (ja :chan 1 :group! (-> self draw art-group data 124) :num! (chan 0)) - (ja :chan 2 :group! (-> self draw art-group data 125) :num! (chan 0)) - (ja :chan 3 :group! (-> self draw art-group data 126) :num! (chan 0)) + (ja :group! eichar-racer-turn-ja :num! (identity (ja-aframe (-> self racer turn-anim-frame) 0))) + (ja :chan 1 :group! eichar-racer-turn2-ja :num! (chan 0)) + (ja :chan 2 :group! eichar-racer-dig-ja :num! (chan 0)) + (ja :chan 3 :group! eichar-racer-dig2-ja :num! (chan 0)) ) (while (not (time-elapsed? gp-3 (seconds 1))) (if (or (!= (-> *cpad-list* cpads (-> self control unknown-cpad-info00 number) stick0-speed) 0.0) @@ -460,9 +460,9 @@ (suspend) ) ) - (when (not (ja-group? (-> self draw art-group data 133))) + (when (not (ja-group? eichar-racer-stance-ja)) (ja-channel-push! 1 (seconds 0.4)) - (ja :group! (-> self draw art-group data 133) :num! min) + (ja :group! eichar-racer-stance-ja :num! min) ) (while (not (or (!= (-> *cpad-list* cpads (-> self control unknown-cpad-info00 number) stick0-speed) 0.0) (or (cpad-hold? (-> self control unknown-cpad-info00 number) l1 r1 x) @@ -654,12 +654,12 @@ ) :code (behavior ((arg0 float) (arg1 float) (arg2 symbol)) (target-racing-land-anim arg2) - (when (not (ja-group? (-> self draw art-group data 123))) + (when (not (ja-group? eichar-racer-turn-ja)) (ja-channel-push! 4 (seconds 0.1)) - (ja :group! (-> self draw art-group data 123) :num! (identity (ja-aframe (-> self racer turn-anim-frame) 0))) - (ja :chan 1 :group! (-> self draw art-group data 124) :num! (chan 0)) - (ja :chan 2 :group! (-> self draw art-group data 125) :num! (chan 0)) - (ja :chan 3 :group! (-> self draw art-group data 126) :num! (chan 0)) + (ja :group! eichar-racer-turn-ja :num! (identity (ja-aframe (-> self racer turn-anim-frame) 0))) + (ja :chan 1 :group! eichar-racer-turn2-ja :num! (chan 0)) + (ja :chan 2 :group! eichar-racer-dig-ja :num! (chan 0)) + (ja :chan 3 :group! eichar-racer-dig2-ja :num! (chan 0)) ) (loop (target-racing-turn-anim) @@ -700,9 +700,9 @@ :code (behavior ((arg0 float) (arg1 symbol)) (sound-play "zoomer-crash-2") (ja-channel-push! 2 (seconds 0.05)) - (ja-no-eval :group! (-> self draw art-group data 136) :num! (seek!)) + (ja-no-eval :group! eichar-racer-smack-ja :num! (seek!)) (ja :chan 1 - :group! (-> self draw art-group data 122) + :group! eichar-racer-idle-ja :num! (identity (ja-aframe 0.0 0)) :frame-interp (lerp-scale 1.0 0.25 arg0 0.0 122880.0) ) @@ -824,7 +824,7 @@ (else (set! (-> self post-hook) target-racing-post) (ja-channel-push! 1 (seconds 0.05)) - (ja-no-eval :group! (-> self draw art-group data 136) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! eichar-racer-smack-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -928,7 +928,7 @@ (case (-> self attack-info mode) (('balloonlurker) (create-splash (-> self water) 2.0 (-> self control trans) 1 (-> self control transv)) - (ja-no-eval :group! (-> self draw art-group data 139) :num! (seek! (ja-aframe 240.0 0)) :frame-num 0.0) + (ja-no-eval :group! eichar-racer-death-explode-ja :num! (seek! (ja-aframe 240.0 0)) :frame-num 0.0) (until (ja-done? 0) (set! (-> self racer stick-lock) #t) (seek! (-> self control unknown-vector11 y) 6144.0 (* 12288.0 (seconds-per-frame))) @@ -938,7 +938,7 @@ ) ) (else - (ja-no-eval :group! (-> self draw art-group data 139) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! eichar-racer-death-explode-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (set! (-> self racer stick-lock) #t) (send-event *camera* 'joystick 0.0 1.0) @@ -1081,7 +1081,7 @@ (gp-1 #f) ) (ja-channel-push! 1 (seconds 0.05)) - (ja-no-eval :group! (-> self draw art-group data 138) :num! (seek! (ja-aframe 77.0 0)) :frame-num 0.0) + (ja-no-eval :group! eichar-racer-get-on-ja :num! (seek! (ja-aframe 77.0 0)) :frame-num 0.0) (until (ja-done? 0) (when (and (not s5-1) (= (-> self skel root-channel 0) (-> self skel channel))) (send-event (ppointer->process (-> self manipy)) 'anim-mode 'clone-anim) @@ -1184,12 +1184,12 @@ (set! (-> a0-4 0 deactivate-when-hidden) #t) ) ) - (when (not (ja-group? (-> self draw art-group data 123))) + (when (not (ja-group? eichar-racer-turn-ja)) (ja-channel-push! 4 (seconds 0.1)) - (ja :group! (-> self draw art-group data 123) :num! (identity (ja-aframe (-> self racer turn-anim-frame) 0))) - (ja :chan 1 :group! (-> self draw art-group data 124) :num! (chan 0)) - (ja :chan 2 :group! (-> self draw art-group data 125) :num! (chan 0)) - (ja :chan 3 :group! (-> self draw art-group data 126) :num! (chan 0)) + (ja :group! eichar-racer-turn-ja :num! (identity (ja-aframe (-> self racer turn-anim-frame) 0))) + (ja :chan 1 :group! eichar-racer-turn2-ja :num! (chan 0)) + (ja :chan 2 :group! eichar-racer-dig-ja :num! (chan 0)) + (ja :chan 3 :group! eichar-racer-dig2-ja :num! (chan 0)) ) (let ((s5-1 (current-time))) (until (time-elapsed? s5-1 (seconds 0.5)) @@ -1242,7 +1242,7 @@ (set! (-> self control unknown-vector103 quad) (-> s4-1 quad)) ) (ja-channel-push! 1 (seconds 0.05)) - (ja-no-eval :group! (-> self draw art-group data 137) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! eichar-racer-get-off-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -1254,7 +1254,7 @@ ) (rot->dir-targ! (-> self control)) (ja-post) - (vector<-cspace! gp-1 (-> self node-list data 3)) + (vector<-cspace! gp-1 (joint-node-index eichar-lod0-jg main)) (+! (-> gp-1 y) -5896.192) (move-to-point! (-> self control) gp-1) ) @@ -1327,7 +1327,7 @@ ) :code (behavior ((arg0 symbol)) (ja-channel-set! 1) - (ja-no-eval :group! (-> self draw art-group data 35) :num! (seek!) :frame-num (ja-aframe 42.0 0)) + (ja-no-eval :group! eichar-jump-land-ja :num! (seek!) :frame-num (ja-aframe 42.0 0)) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -1375,12 +1375,12 @@ ((-> target-racing-start exit)) ) :code (behavior () - (when (not (ja-group? (-> self draw art-group data 123))) + (when (not (ja-group? eichar-racer-turn-ja)) (ja-channel-push! 4 (seconds 0.1)) - (ja :group! (-> self draw art-group data 123) :num! (identity (ja-aframe (-> self racer turn-anim-frame) 0))) - (ja :chan 1 :group! (-> self draw art-group data 124) :num! (chan 0)) - (ja :chan 2 :group! (-> self draw art-group data 125) :num! (chan 0)) - (ja :chan 3 :group! (-> self draw art-group data 126) :num! (chan 0)) + (ja :group! eichar-racer-turn-ja :num! (identity (ja-aframe (-> self racer turn-anim-frame) 0))) + (ja :chan 1 :group! eichar-racer-turn2-ja :num! (chan 0)) + (ja :chan 2 :group! eichar-racer-dig-ja :num! (chan 0)) + (ja :chan 3 :group! eichar-racer-dig2-ja :num! (chan 0)) ) (loop (target-racing-turn-anim) diff --git a/test/decompiler/reference/jak1/levels/racer_common/target-racer_REF.gc b/test/decompiler/reference/jak1/levels/racer_common/target-racer_REF.gc index 690347fdda7..e7a8ba973d7 100644 --- a/test/decompiler/reference/jak1/levels/racer_common/target-racer_REF.gc +++ b/test/decompiler/reference/jak1/levels/racer_common/target-racer_REF.gc @@ -1112,7 +1112,7 @@ (ja-channel-push! 1 arg1) (ja-channel-push! 1 (seconds 0.125)) ) - (ja-no-eval :group! (-> self draw art-group data 130) :num! (seek!) :frame-num f30-0) + (ja-no-eval :group! eichar-racer-jump-small-ja :num! (seek!) :frame-num f30-0) (set! s4-0 s5-0) ) ) @@ -1128,8 +1128,8 @@ ) ) (ja-channel-set! 2) - (ja :group! (-> self draw art-group data 131) :num! min) - (ja :chan 1 :group! (-> self draw art-group data 132) :num! (identity (ja-aframe 44.0 0))) + (ja :group! eichar-racer-jump-small-loop-ja :num! min) + (ja :chan 1 :group! eichar-racer-jump-small-land-ja :num! (identity (ja-aframe 44.0 0))) (let ((f30-1 0.0)) (loop (suspend) @@ -1152,7 +1152,7 @@ (ja-channel-push! 1 (seconds 0.07)) (cond ((= arg0 'high-jump) - (ja-no-eval :group! (-> self draw art-group data 135) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! eichar-racer-jump-high-land-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (if (>= (-> self racer slide-mode) 0) (goto cfg-23) @@ -1162,7 +1162,7 @@ ) ) ((= arg0 'jump) - (ja-no-eval :group! (-> self draw art-group data 129) :num! (seek!) :frame-num (ja-aframe 44.0 0)) + (ja-no-eval :group! eichar-racer-jump-land-ja :num! (seek!) :frame-num (ja-aframe 44.0 0)) (until (ja-done? 0) (if (>= (-> self racer slide-mode) 0) (goto cfg-23) @@ -1172,7 +1172,7 @@ ) ) (else - (ja-no-eval :group! (-> self draw art-group data 132) :num! (seek!) :frame-num (ja-aframe 44.0 0)) + (ja-no-eval :group! eichar-racer-jump-small-land-ja :num! (seek!) :frame-num (ja-aframe 44.0 0)) (until (ja-done? 0) (if (>= (-> self racer slide-mode) 0) (goto cfg-23) diff --git a/test/decompiler/reference/jak1/levels/rolling/rolling-lightning-mole_REF.gc b/test/decompiler/reference/jak1/levels/rolling/rolling-lightning-mole_REF.gc index b0cc117ef38..46430b75d6c 100644 --- a/test/decompiler/reference/jak1/levels/rolling/rolling-lightning-mole_REF.gc +++ b/test/decompiler/reference/jak1/levels/rolling/rolling-lightning-mole_REF.gc @@ -633,9 +633,9 @@ ;; definition for function lightning-mole-run-code (defbehavior lightning-mole-run-code lightning-mole () - (when (!= (ja-group) (-> self draw art-group data 7)) + (when (!= (ja-group) lightning-mole-run-ja) (ja-channel-push! 1 (seconds 0.2)) - (ja :group! (-> self draw art-group data 7)) + (ja :group! lightning-mole-run-ja) ) (loop (ja :num! (loop! (-> self speed-adjust))) @@ -737,7 +737,7 @@ :trans (behavior () (when (task-closed? (-> self entity extra perm task) (task-status need-introduction)) (ja-channel-set! 1) - (ja :group! (-> self draw art-group data 5)) + (ja :group! lightning-mole-idle-ja) (restore-collide-with-as (-> self collide-info)) (go-virtual nav-enemy-idle) ) @@ -781,7 +781,7 @@ ) (ambient-hint-spawn "gamcam20" (the-as vector #f) *entity-pool* 'camera) (ja-channel-push! 1 (seconds 0.2)) - (ja-no-eval :group! (-> self draw art-group data 12) :num! (seek! max f30-0) :frame-num 0.0) + (ja-no-eval :group! lightning-mole-dive-ja :num! (seek! max f30-0) :frame-num 0.0) (until (ja-done? 0) (let ((s5-0 (new 'stack-no-clear 'vector))) (set! (-> *camera-other-fov* data) 11650.845) @@ -849,7 +849,7 @@ :code (behavior () (ja-channel-push! 1 (seconds 0.2)) (let ((f30-0 (nav-enemy-rnd-float-range 0.9 1.1))) - (ja-no-eval :group! (-> self draw art-group data 10) :num! (seek! max f30-0) :frame-num 0.0) + (ja-no-eval :group! lightning-mole-yelp-ja :num! (seek! max f30-0) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek! max f30-0)) @@ -1379,7 +1379,7 @@ ) :code (behavior () (loop - (ja-no-eval :group! (-> self draw art-group data 13) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! lightning-mole-peep-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) diff --git a/test/decompiler/reference/jak1/levels/rolling/rolling-obs_REF.gc b/test/decompiler/reference/jak1/levels/rolling/rolling-obs_REF.gc index 7461a346443..5e131fc39c5 100644 --- a/test/decompiler/reference/jak1/levels/rolling/rolling-obs_REF.gc +++ b/test/decompiler/reference/jak1/levels/rolling/rolling-obs_REF.gc @@ -357,7 +357,7 @@ (dark-plant-randomize self) (logclear! (-> self draw status) (draw-status hidden)) (sound-play "darkvine-grow") - (ja-no-eval :group! (-> self draw art-group data 4) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! dark-plant-sprout-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -408,7 +408,7 @@ (spawn (-> self part) (-> self root trans)) (ja-channel-push! 1 (seconds 0.2)) (sound-play "darkvine-kill") - (ja-no-eval :group! (-> self draw art-group data 3) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! dark-plant-death-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -444,17 +444,15 @@ ) ) (let ((gp-1 (-> self skel root-channel 0))) - (set! (-> gp-1 frame-group) (the-as art-joint-anim (-> self draw art-group data 2))) - (set! (-> gp-1 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 2)) data 0 length) -1)) - ) + (set! (-> gp-1 frame-group) (the-as art-joint-anim dark-plant-idle-ja)) + (set! (-> gp-1 param 0) (the float (+ (-> (the-as art-joint-anim dark-plant-idle-ja) data 0 length) -1))) (let ((f30-1 0.9) (f28-0 0.25) ) (set! (-> gp-1 param 1) (+ f30-1 (* f28-0 (rand-float-gen)))) ) (set! (-> gp-1 frame-num) 0.0) - (joint-control-channel-group! gp-1 (the-as art-joint-anim (-> self draw art-group data 2)) num-func-seek!) + (joint-control-channel-group! gp-1 (the-as art-joint-anim dark-plant-idle-ja) num-func-seek!) ) (until (ja-done? 0) (suspend) @@ -478,13 +476,11 @@ :trans dark-plant-trans :code (behavior () (let ((gp-0 (-> self skel root-channel 0))) - (set! (-> gp-0 frame-group) (the-as art-joint-anim (-> self draw art-group data 2))) - (set! (-> gp-0 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 2)) data 0 length) -1)) - ) + (set! (-> gp-0 frame-group) (the-as art-joint-anim dark-plant-idle-ja)) + (set! (-> gp-0 param 0) (the float (+ (-> (the-as art-joint-anim dark-plant-idle-ja) data 0 length) -1))) (set! (-> gp-0 param 1) 1.0) (set! (-> gp-0 frame-num) (* (rand-float-gen) (the float (ja-num-frames 0)))) - (joint-control-channel-group! gp-0 (the-as art-joint-anim (-> self draw art-group data 2)) num-func-seek!) + (joint-control-channel-group! gp-0 (the-as art-joint-anim dark-plant-idle-ja) num-func-seek!) ) (until (ja-done? 0) (suspend) @@ -609,7 +605,7 @@ (defstate happy-plant-opened (happy-plant) :code (behavior () (loop - (ja-no-eval :group! (-> self draw art-group data 4) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! happy-plant-idle-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -665,11 +661,11 @@ :command-list '((0 send-event target draw #f) (10000 send-event target draw #t)) ) (the-as art-joint-anim #f) - (the-as art-joint-anim (-> self draw art-group data 4)) + (the-as art-joint-anim happy-plant-idle-ja) (the-as (function process-drawable symbol) false-func) ) (ja-channel-set! 1) - (ja :group! (-> self draw art-group data 4)) + (ja :group! happy-plant-idle-ja) (if (handle->process (the-as int gp-2)) (deactivate (-> gp-2 process 0)) ) @@ -677,7 +673,7 @@ (when gp-3 (send-event gp-3 'stop-cloning) (let ((s5-4 (new-stack-vector0))) - (vector<-cspace! s5-4 (-> self node-list data 25)) + (vector<-cspace! s5-4 (joint-node-index happy-plant-lod0-jg fuelcell)) (send-event gp-3 'trans s5-4) ) ) @@ -929,19 +925,19 @@ ) ) :code (behavior ((arg0 symbol)) - (ja-no-eval :group! (-> self draw art-group data 5) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! rolling-start-break-whole-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) ) (lods-assign! (-> self draw) (-> self broken-look)) - (ja-no-eval :group! (-> self draw art-group data 6) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! rolling-start-break-broken-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) ) (loop - (ja-no-eval :group! (-> self draw art-group data 7) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! rolling-start-broken-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -970,7 +966,7 @@ :code (behavior () (lods-assign! (-> self draw) (-> self whole-look)) (loop - (ja-no-eval :group! (-> self draw art-group data 4) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! rolling-start-idle-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) diff --git a/test/decompiler/reference/jak1/levels/rolling/rolling-robber_REF.gc b/test/decompiler/reference/jak1/levels/rolling/rolling-robber_REF.gc index 8d7a0ef169c..9bfe7cb0603 100644 --- a/test/decompiler/reference/jak1/levels/rolling/rolling-robber_REF.gc +++ b/test/decompiler/reference/jak1/levels/rolling/rolling-robber_REF.gc @@ -6,7 +6,7 @@ :trans hide-hud-quick :code (behavior ((arg0 handle) (arg1 float) (arg2 float)) (logclear! (-> self mask) (process-mask actor-pause)) - (ja :group! (-> self draw art-group data 2)) + (ja :group! fuel-cell-idle-ja) (if *target* (process-grab? *target*) ) @@ -402,7 +402,7 @@ ) ) (when gp-0 - (ja-no-eval :group! (-> self draw art-group data 8) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! robber-death-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (robber-calc-speed 4096.0 8192.0 122880.0 122880.0 #f) (robber-move) @@ -439,9 +439,9 @@ ) ) :code (behavior () - (when (not (ja-group? (-> self draw art-group data 7))) + (when (not (ja-group? robber-fly-ja)) (ja-channel-push! 1 (seconds 0.2)) - (ja :group! (-> self draw art-group data 7)) + (ja :group! robber-fly-ja) ) (loop (ja :num! (loop! (robber-calc-anim-speed))) @@ -475,9 +475,9 @@ ) :code (behavior () (loop - (when (not (ja-group? (-> self draw art-group data 7))) + (when (not (ja-group? robber-fly-ja)) (ja-channel-push! 1 (seconds 0.2)) - (ja :group! (-> self draw art-group data 7)) + (ja :group! robber-fly-ja) ) (ja :num! (loop! (robber-calc-anim-speed))) (robber-calc-speed 32768.0 122880.0 122060.8 20480.0 #f) @@ -486,7 +486,7 @@ (suspend) (when (time-elapsed? (-> self last-ambient-time) (-> self time-to-next-ambient)) (ja-channel-push! 1 (seconds 0.2)) - (ja-no-eval :group! (-> self draw art-group data 11) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! robber-ambient-look-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (robber-calc-speed 32768.0 122880.0 122060.8 20480.0 #f) (robber-move) @@ -543,9 +543,9 @@ ) :code (behavior () (loop - (when (not (ja-group? (-> self draw art-group data 7))) + (when (not (ja-group? robber-fly-ja)) (ja-channel-push! 1 (seconds 0.2)) - (ja :group! (-> self draw art-group data 7)) + (ja :group! robber-fly-ja) ) (ja :num! (loop! (robber-calc-anim-speed))) (robber-calc-speed 61440.0 122880.0 204800.0 16384.0 #t) @@ -554,7 +554,7 @@ (suspend) (when (time-elapsed? (-> self last-ambient-time) (-> self time-to-next-ambient)) (ja-channel-push! 1 (seconds 0.2)) - (ja-no-eval :group! (-> self draw art-group data 11) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! robber-ambient-look-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (robber-calc-speed 61440.0 122880.0 204800.0 16384.0 #t) (robber-move) @@ -597,7 +597,7 @@ :code (behavior () (ja-channel-push! 1 (seconds 0.2)) (loop - (ja-no-eval :group! (-> self draw art-group data 10) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! robber-idle-hover-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -637,7 +637,7 @@ ) (ja-channel-push! 1 (seconds 0.2)) (loop - (ja-no-eval :group! (-> self draw art-group data 6) :num! (seek! max 2.0) :frame-num 0.0) + (ja-no-eval :group! robber-spots-ja :num! (seek! max 2.0) :frame-num 0.0) (until (ja-done? 0) (robber-calc-speed 61440.0 122880.0 2048.0 2048.0 #t) (robber-rotate (the-as target #f) 1820.4445) @@ -667,7 +667,7 @@ :code (behavior () (ja-channel-push! 1 (seconds 0.2)) (loop - (ja-no-eval :group! (-> self draw art-group data 5) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! robber-idle-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) diff --git a/test/decompiler/reference/jak1/levels/snow/ice-cube_REF.gc b/test/decompiler/reference/jak1/levels/snow/ice-cube_REF.gc index 6bb4facc000..b78489b0956 100644 --- a/test/decompiler/reference/jak1/levels/snow/ice-cube_REF.gc +++ b/test/decompiler/reference/jak1/levels/snow/ice-cube_REF.gc @@ -871,9 +871,9 @@ :event ice-cube-default-event-handler :code (behavior () (let ((gp-0 (new 'stack-no-clear 'vector))) - (vector<-cspace! gp-0 (-> self node-list data 29)) + (vector<-cspace! gp-0 (joint-node-index ice-cube-lod0-jg Rball)) (spawn (-> self part4) gp-0) - (vector<-cspace! gp-0 (-> self node-list data 25)) + (vector<-cspace! gp-0 (joint-node-index ice-cube-lod0-jg Lball)) (spawn (-> self part4) gp-0) ) (ja-channel-push! 1 (seconds 0.1)) @@ -1019,9 +1019,9 @@ ) (label cfg-26) (let ((gp-1 (new 'stack-no-clear 'vector))) - (vector<-cspace! gp-1 (-> self node-list data 29)) + (vector<-cspace! gp-1 (joint-node-index ice-cube-lod0-jg Rball)) (spawn (-> self part4) gp-1) - (vector<-cspace! gp-1 (-> self node-list data 25)) + (vector<-cspace! gp-1 (joint-node-index ice-cube-lod0-jg Lball)) (spawn (-> self part4) gp-1) ) (ja-no-eval :group! ice-cube-appear-land-ja :num! (seek!) :frame-num 0.0) @@ -1156,9 +1156,9 @@ ) (label cfg-26) (let ((gp-1 (new 'stack-no-clear 'vector))) - (vector<-cspace! gp-1 (-> self node-list data 29)) + (vector<-cspace! gp-1 (joint-node-index ice-cube-lod0-jg Rball)) (spawn (-> self part4) gp-1) - (vector<-cspace! gp-1 (-> self node-list data 25)) + (vector<-cspace! gp-1 (joint-node-index ice-cube-lod0-jg Lball)) (spawn (-> self part4) gp-1) ) (ja-no-eval :group! ice-cube-turn-on-player-land-ja :num! (seek!) :frame-num 0.0) @@ -1269,9 +1269,9 @@ ) (when (zero? (nav-enemy-rnd-int-count 45)) (let ((gp-3 (new 'stack-no-clear 'vector))) - (vector<-cspace! gp-3 (-> self node-list data 29)) + (vector<-cspace! gp-3 (joint-node-index ice-cube-lod0-jg Rball)) (spawn (-> self part4) gp-3) - (vector<-cspace! gp-3 (-> self node-list data 25)) + (vector<-cspace! gp-3 (joint-node-index ice-cube-lod0-jg Lball)) (spawn (-> self part4) gp-3) ) ) @@ -1408,7 +1408,7 @@ :code (behavior () (logclear! (-> self mask) (process-mask actor-pause)) (let ((gp-0 (new 'stack-no-clear 'vector))) - (vector<-cspace! gp-0 (-> self node-list data 3)) + (vector<-cspace! gp-0 (joint-node-index ice-cube-lod0-jg main)) (spawn (-> self part3) gp-0) ) (drop-pickup (-> self enemy-info) #t *entity-pool* (-> self enemy-info) 0) diff --git a/test/decompiler/reference/jak1/levels/snow/snow-flutflut-obs_REF.gc b/test/decompiler/reference/jak1/levels/snow/snow-flutflut-obs_REF.gc index 8ee6ecf88df..53329d3b2a1 100644 --- a/test/decompiler/reference/jak1/levels/snow/snow-flutflut-obs_REF.gc +++ b/test/decompiler/reference/jak1/levels/snow/snow-flutflut-obs_REF.gc @@ -285,7 +285,7 @@ ) ) :code (behavior () - (ja :group! (-> self draw art-group data 2) :num! min) + (ja :group! snow-button-going-down-ja :num! min) (transform-post) (logior! (-> self mask) (process-mask sleep-code)) (suspend) @@ -339,7 +339,7 @@ ) :code (behavior () (sound-play "prec-button1" :pitch -1) - (ja-no-eval :group! (-> self draw art-group data 2) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! snow-button-going-down-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -373,7 +373,7 @@ (until (time-elapsed? (-> self state-time) (seconds 0.6)) (suspend) ) - (ja-no-eval :group! (-> self draw art-group data 3) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! snow-button-going-up-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) diff --git a/test/decompiler/reference/jak1/levels/snow/snow-obs_REF.gc b/test/decompiler/reference/jak1/levels/snow/snow-obs_REF.gc index 67c6553a7aa..a39b72d2dca 100644 --- a/test/decompiler/reference/jak1/levels/snow/snow-obs_REF.gc +++ b/test/decompiler/reference/jak1/levels/snow/snow-obs_REF.gc @@ -39,17 +39,17 @@ (let ((v1-0 (-> self seq))) (cond ((zero? v1-0) - (ja-no-eval :group! (-> self draw art-group data 2) :num! (seek! max 0.2) :frame-num 0.0) + (ja-no-eval :group! snowcam-gearstart-ja :num! (seek! max 0.2) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek! max 0.2)) ) - (ja-no-eval :group! (-> self draw art-group data 3) :num! (seek! max 0.25) :frame-num 0.0) + (ja-no-eval :group! snowcam-gate-ja :num! (seek! max 0.25) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek! max 0.25)) ) - (ja-no-eval :group! (-> self draw art-group data 4) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! snowcam-gearend-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -91,13 +91,13 @@ ) ) ((= v1-0 2) - (ja-no-eval :group! (-> self draw art-group data 5) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! snowcam-eggtop-activating-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) ) (send-event (handle->process (-> self notify-handle)) 'notify 'cut) - (ja-no-eval :group! (-> self draw art-group data 6) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! snowcam-ecovent-activating-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -325,7 +325,7 @@ ) :code (behavior () (ja-channel-push! 1 0) - (ja :group! (-> self draw art-group data 2) :num! min) + (ja :group! snow-eggtop-idle-ja :num! min) (transform-post) (loop (logior! (-> self mask) (process-mask sleep-code)) @@ -398,7 +398,7 @@ ) (change-sound! (-> self sound) (static-sound-name "snw-eggtop-seq")) (save-reminder (get-task-control (-> self entity extra perm task)) 2 4) - (ja-no-eval :group! (-> self draw art-group data 2) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! snow-eggtop-idle-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (if (-> self play-sound?) (update! (-> self sound)) @@ -447,7 +447,7 @@ ) ) (ja-channel-push! 1 0) - (ja :group! (-> self draw art-group data 2) :num! max) + (ja :group! snow-eggtop-idle-ja :num! max) (transform-post) (logior! (-> self mask) (process-mask sleep-code)) (suspend) @@ -996,7 +996,7 @@ ) ) :code (behavior () - (ja :group! (-> self draw art-group data 2) :num! min) + (ja :group! snow-fort-gate-idle-ja :num! min) (set! (-> self root-override trans quad) (-> self closed-trans quad)) (transform-post) (suspend) @@ -1064,7 +1064,7 @@ ;; failed to figure out what this is: (defstate snow-fort-gate-idle-open (snow-fort-gate) :code (behavior () - (ja :group! (-> self draw art-group data 2) :num! min) + (ja :group! snow-fort-gate-idle-ja :num! min) (set! (-> self root-override trans quad) (-> self open-trans quad)) (transform-post) (suspend) @@ -1278,7 +1278,7 @@ ) ) :code (behavior () - (ja :group! (-> self draw art-group data 2) :num! min) + (ja :group! snow-gears-idle-ja :num! min) (ja-post) (loop (logior! (-> self mask) (process-mask sleep-code)) @@ -1294,19 +1294,19 @@ ) :code (behavior () (sound-play "eng-start-up") - (ja-no-eval :group! (-> self draw art-group data 3) :num! (seek! max 0.85) :frame-num 0.0) + (ja-no-eval :group! snow-gears-start-ja :num! (seek! max 0.85) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek! max 0.85)) ) - (ja-no-eval :group! (-> self draw art-group data 4) :num! (seek! max 0.35) :frame-num 0.0) + (ja-no-eval :group! snow-gears-loop-ja :num! (seek! max 0.35) :frame-num 0.0) (until (ja-done? 0) (update! (-> self sound)) (suspend) (ja :num! (seek! max 0.35)) ) (set-time! (-> self state-time)) - (ja :group! (-> self draw art-group data 2) :num! min) + (ja :group! snow-gears-idle-ja :num! min) (until (time-elapsed? (-> self state-time) (seconds 2)) (update! (-> self sound)) (suspend) @@ -1325,7 +1325,7 @@ (snow-gears-method-20 self) ) :code (behavior () - (ja-no-eval :group! (-> self draw art-group data 4) :num! (seek! max 0.35) :frame-num 0.0) + (ja-no-eval :group! snow-gears-loop-ja :num! (seek! max 0.35) :frame-num 0.0) (until (ja-done? 0) (update! (-> self sound)) (suspend) @@ -1333,7 +1333,7 @@ ) (stop! (-> self sound)) (sound-play "eng-shut-down") - (ja-no-eval :group! (-> self draw art-group data 5) :num! (seek! max 0.85) :frame-num 0.0) + (ja-no-eval :group! snow-gears-stop-ja :num! (seek! max 0.85) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek! max 0.85)) @@ -1682,7 +1682,7 @@ ) :code (behavior () (ja-channel-push! 1 0) - (ja :group! (-> self draw art-group data 2) :num! min) + (ja :group! snow-log-activate-ja :num! min) (transform-post) (logior! (-> self mask) (process-mask sleep-code)) (suspend) @@ -1706,7 +1706,7 @@ (activate! *camera-smush-control* 819.2 37 150 1.0 0.99) (ja-channel-push! 1 0) (let ((gp-0 #f)) - (ja-no-eval :group! (-> self draw art-group data 2) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! snow-log-activate-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (when (and (not gp-0) (>= (ja-frame-num 0) 5.0)) (set! gp-0 #t) @@ -1734,7 +1734,7 @@ (s5-0 #t) ) (loop - (ja-no-eval :group! (-> self draw art-group data 3) :num! (seek! max 0.25) :frame-num 0.0) + (ja-no-eval :group! snow-log-active-loop-ja :num! (seek! max 0.25) :frame-num 0.0) (until (ja-done? 0) (let ((f0-4 (ja-aframe-num 0))) (cond diff --git a/test/decompiler/reference/jak1/levels/snow/snow-ram-boss_REF.gc b/test/decompiler/reference/jak1/levels/snow/snow-ram-boss_REF.gc index 7aff61e69fd..11ca31f1009 100644 --- a/test/decompiler/reference/jak1/levels/snow/snow-ram-boss_REF.gc +++ b/test/decompiler/reference/jak1/levels/snow/snow-ram-boss_REF.gc @@ -1439,7 +1439,7 @@ ) :code (behavior ((arg0 basic)) (ja-channel-push! 1 (seconds 0.8)) - (ja-no-eval :group! (-> self draw art-group data 16) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! ram-boss-dismount-start-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (let ((gp-0 (new 'stack-no-clear 'vector))) (vector-! gp-0 (target-pos 0) (-> self collide-info trans)) @@ -1462,7 +1462,7 @@ :code (behavior () (logior! (-> self nav-enemy-flags) (nav-enemy-flags navenmf2)) (activate! *camera-smush-control* 409.6 37 150 1.0 0.99) - (ja-no-eval :group! (-> self draw art-group data 17) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! ram-boss-dismount-hit-ground-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -1721,31 +1721,31 @@ ((< 5461.3335 (-> self last-turn-speed)) (cond ((-> self has-shield?) - (when (not (ja-group? (-> self draw art-group data 7))) + (when (not (ja-group? ram-boss-forward-defend-tracking-ja)) (ja-channel-push! 2 (seconds 0.2)) - (ja :group! (-> self draw art-group data 7) :num! min) - (ja :chan 1 :group! (-> self draw art-group data 22) :num! (chan 0) :frame-interp f30-0) + (ja :group! ram-boss-forward-defend-tracking-ja :num! min) + (ja :chan 1 :group! ram-boss-up-defend-tracking-ja :num! (chan 0) :frame-interp f30-0) ) ) (else - (when (not (ja-group? (-> self draw art-group data 20))) + (when (not (ja-group? ram-boss-forward-defend-tracking-no-shield-ja)) (ja-channel-push! 1 (seconds 0.2)) - (ja :group! (-> self draw art-group data 20) :num! min) + (ja :group! ram-boss-forward-defend-tracking-no-shield-ja :num! min) ) ) ) ) ((-> self has-shield?) - (when (not (ja-group? (-> self draw art-group data 6))) + (when (not (ja-group? ram-boss-forward-defend-ja)) (ja-channel-push! 2 (seconds 0.2)) - (ja :group! (-> self draw art-group data 6) :num! min) - (ja :chan 1 :group! (-> self draw art-group data 21) :num! (chan 0) :frame-interp f30-0) + (ja :group! ram-boss-forward-defend-ja :num! min) + (ja :chan 1 :group! ram-boss-up-defend-ja :num! (chan 0) :frame-interp f30-0) ) ) (else - (when (not (ja-group? (-> self draw art-group data 24))) + (when (not (ja-group? ram-boss-forward-defend-no-shield-ja)) (ja-channel-push! 1 (seconds 0.2)) - (ja :group! (-> self draw art-group data 24) :num! min) + (ja :group! ram-boss-forward-defend-no-shield-ja :num! min) ) ) ) @@ -1772,7 +1772,7 @@ ) :code (behavior () (ja-channel-push! 1 (seconds 0.1)) - (ja-no-eval :group! (-> self draw art-group data 8) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! ram-boss-forward-defend-block-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -1794,7 +1794,7 @@ ) :code (behavior () (ja-channel-push! 1 (seconds 0.1)) - (ja-no-eval :group! (-> self draw art-group data 9) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! ram-boss-up-defend-block-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -1867,14 +1867,14 @@ (ja-channel-push! 1 (seconds 0.075)) (cond ((-> self has-shield?) - (ja-no-eval :group! (-> self draw art-group data 10) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! ram-boss-throw-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) ) ) (else - (ja-no-eval :group! (-> self draw art-group data 23) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! ram-boss-throw-no-shield-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -1913,10 +1913,10 @@ (set! (-> self nav target-pos quad) (-> gp-0 quad)) ) (ja-channel-push! 1 (seconds 0.1)) - (ja-no-eval :group! (-> self draw art-group data 18) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! ram-boss-lose-shield-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (let ((gp-1 (new 'stack-no-clear 'vector))) - (vector<-cspace! gp-1 (-> self node-list data 32)) + (vector<-cspace! gp-1 (joint-node-index ram-boss-lod0-jg shield)) (spawn (-> self part) gp-1) ) (suspend) diff --git a/test/decompiler/reference/jak1/levels/snow/target-ice_REF.gc b/test/decompiler/reference/jak1/levels/snow/target-ice_REF.gc index c5947e47bd9..a9bca85fcf0 100644 --- a/test/decompiler/reference/jak1/levels/snow/target-ice_REF.gc +++ b/test/decompiler/reference/jak1/levels/snow/target-ice_REF.gc @@ -53,27 +53,27 @@ (let ((gp-0 60)) (let ((v1-2 (ja-group))) (cond - ((or (= v1-2 (-> self draw art-group data 34)) (= v1-2 (-> self draw art-group data 38))) + ((or (= v1-2 eichar-jump-ja) (= v1-2 eichar-jump-loop-ja)) (set! gp-0 21) ) - ((ja-group? (-> self draw art-group data 71)) - (ja-no-eval :group! (-> self draw art-group data 72) :num! (seek!) :frame-num 0.0) + ((ja-group? eichar-wheel-flip-ja) + (ja-no-eval :group! eichar-wheel-flip-land-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) ) ) - ((ja-group? (-> self draw art-group data 51)) + ((ja-group? eichar-attack-from-stance-ja) (cond ((rand-vu-percent? 0.3) - (ja-no-eval :group! (-> self draw art-group data 53) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! eichar-attack-from-stance-alt-end-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) ) ) (else - (ja-no-eval :group! (-> self draw art-group data 52) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! eichar-attack-from-stance-end-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -81,27 +81,27 @@ ) ) ) - ((ja-group? (-> self draw art-group data 78)) - (ja-no-eval :group! (-> self draw art-group data 79) :num! (seek!) :frame-num 0.0) + ((ja-group? eichar-smack-surface-ja) + (ja-no-eval :group! eichar-smack-surface-end-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) ) ) - ((ja-group? (-> self draw art-group data 84)) - (ja-no-eval :group! (-> self draw art-group data 85) :num! (seek!) :frame-num 0.0) + ((ja-group? eichar-yellow-running-blast-ja) + (ja-no-eval :group! eichar-yellow-running-blast-end-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) ) (set! gp-0 0) ) - ((ja-group? (-> self draw art-group data 59)) + ((ja-group? eichar-attack-punch-ja) (set! (-> self control unknown-float81) (-> self control unknown-float80)) (set! (-> self control unknown-surface00) *walk-no-turn-mods*) (ja-no-eval :group! (if (rand-vu-percent? 0.3) - (-> self draw art-group data 61) - (-> self draw art-group data 60) + eichar-attack-punch-alt-end-ja + eichar-attack-punch-end-ja ) :num! (seek!) :frame-num 0.0 @@ -116,10 +116,10 @@ (rot->dir-targ! (-> self control)) ) ((let ((v1-188 (ja-group))) - (or (= v1-188 (-> self draw art-group data 31)) (= v1-188 (-> self draw art-group data 32))) + (or (= v1-188 eichar-duck-stance-ja) (= v1-188 eichar-duck-walk-ja)) ) (ja-channel-push! 1 (seconds 0.04)) - (ja-no-eval :group! (-> self draw art-group data 30) :num! (seek! 0.0 1.2) :frame-num max) + (ja-no-eval :group! eichar-stance-to-duck-ja :num! (seek! 0.0 1.2) :frame-num max) (until (ja-done? 0) (suspend) (ja :num! (seek! 0.0 1.2)) @@ -130,20 +130,20 @@ ) (while (< 16384.0 (-> self control unknown-float01)) (cond - ((ja-group? (-> self draw art-group data 103)) + ((ja-group? eichar-ice-slide-ja) ) (else (ja-channel-push! 1 (the-as time-frame gp-0)) (set! gp-0 150) - (ja :group! (-> self draw art-group data 103)) + (ja :group! eichar-ice-slide-ja) ) ) (suspend) (ja :num! (loop!)) ) - (when (not (ja-group? (-> self draw art-group data 104))) + (when (not (ja-group? eichar-ice-stance-ja)) (ja-channel-push! 1 (the-as time-frame gp-0)) - (ja :group! (-> self draw art-group data 104)) + (ja :group! eichar-ice-stance-ja) ) ) (loop @@ -192,7 +192,7 @@ (when (and (not (move-legs?)) (let ((gp-0 (ja-group)) (f0-1 (ja-aframe-num 0)) ) - (if (and (= gp-0 (-> self draw art-group data 102)) (>= f0-1 30.0) (>= 35.0 f0-1)) + (if (and (= gp-0 eichar-ice-skate-ja) (>= f0-1 30.0) (>= 35.0 f0-1)) #t ) ) @@ -231,18 +231,18 @@ ) :code (behavior () (cond - ((ja-group? (-> self draw art-group data 23)) + ((ja-group? eichar-walk-ja) (let ((f30-0 (ja-aframe-num 0))) (ja-channel-push! 1 (seconds 0.1)) - (ja :group! (-> self draw art-group data 102) :num! (identity f30-0)) + (ja :group! eichar-ice-skate-ja :num! (identity f30-0)) ) ) - ((ja-group? (-> self draw art-group data 102)) + ((ja-group? eichar-ice-skate-ja) ) (else (let ((v1-18 (ja-group))) (cond - ((or (= v1-18 (-> self draw art-group data 60)) (= v1-18 (-> self draw art-group data 61))) + ((or (= v1-18 eichar-attack-punch-end-ja) (= v1-18 eichar-attack-punch-alt-end-ja)) (set! (-> self control unknown-float81) (-> self control unknown-float80)) (set! (-> self control unknown-surface00) *walk-no-turn-mods*) (while (< (ja-aframe-num 0) 42.0) @@ -252,15 +252,15 @@ (set! (-> self control unknown-surface00) *walk-mods*) (set! (-> self control unknown-float81) 0.0) (ja-channel-push! 1 (seconds 0.1)) - (ja :group! (-> self draw art-group data 102) :num! (identity (ja-aframe 34.0 0))) + (ja :group! eichar-ice-skate-ja :num! (identity (ja-aframe 34.0 0))) (while (!= (-> self skel root-channel 0) (-> self skel channel)) (suspend) ) ) - ((ja-group? (-> self draw art-group data 59)) + ((ja-group? eichar-attack-punch-ja) (set! (-> self control unknown-float81) (-> self control unknown-float80)) (set! (-> self control unknown-surface00) *walk-no-turn-mods*) - (ja-no-eval :group! (-> self draw art-group data 60) :num! (seek! (ja-aframe 42.0 0)) :frame-num 0.0) + (ja-no-eval :group! eichar-attack-punch-end-ja :num! (seek! (ja-aframe 42.0 0)) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek! (ja-aframe 42.0 0))) @@ -268,14 +268,14 @@ (set! (-> self control unknown-surface00) *walk-mods*) (set! (-> self control unknown-float81) 0.0) (ja-channel-push! 1 (seconds 0.1)) - (ja :group! (-> self draw art-group data 102) :num! (identity (ja-aframe 34.0 0))) + (ja :group! eichar-ice-skate-ja :num! (identity (ja-aframe 34.0 0))) (while (!= (-> self skel root-channel 0) (-> self skel channel)) (suspend) ) ) (else (ja-channel-push! 1 (seconds 0.05)) - (ja :group! (-> self draw art-group data 102)) + (ja :group! eichar-ice-skate-ja) ) ) ) diff --git a/test/decompiler/reference/jak1/levels/snow/target-snowball_REF.gc b/test/decompiler/reference/jak1/levels/snow/target-snowball_REF.gc index 631f19f6aa9..e20a00ac570 100644 --- a/test/decompiler/reference/jak1/levels/snow/target-snowball_REF.gc +++ b/test/decompiler/reference/jak1/levels/snow/target-snowball_REF.gc @@ -115,7 +115,7 @@ (move-by-vector! (-> self control) (new 'static 'vector :y 4096.0 :w 1.0)) (logior! (-> self control root-prim prim-core action) (collide-action snowball)) (ja-channel-set! 1) - (ja :group! (-> self draw art-group data 5) :num! min) + (ja :group! eichar-stance-loop-ja :num! min) (remove-exit) (go target-snowball) ) diff --git a/test/decompiler/reference/jak1/levels/sunken/double-lurker_REF.gc b/test/decompiler/reference/jak1/levels/sunken/double-lurker_REF.gc index 291874cda27..6f063a75824 100644 --- a/test/decompiler/reference/jak1/levels/sunken/double-lurker_REF.gc +++ b/test/decompiler/reference/jak1/levels/sunken/double-lurker_REF.gc @@ -299,7 +299,7 @@ :code (behavior () (logclear! (-> self mask) (process-mask actor-pause)) (ja-channel-push! 1 (seconds 0.1)) - (ja-no-eval :group! double-lurker-bottom-take-hit-ja :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! double-lurker-top-on-shoulders-die-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -335,7 +335,7 @@ (let ((gp-0 (new 'stack-no-clear 'vector))) (set! (-> gp-0 quad) (-> self collide-info trans quad)) (ja-channel-push! 1 (seconds 0.1)) - (ja-no-eval :group! double-lurker-both-break-apart-ja :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! double-lurker-top-both-break-apart-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (vector-lerp! (-> self collide-info trans) @@ -518,7 +518,7 @@ (cond (arg2 (ja-channel-set! 1) - (ja :group! double-lurker-both-idle-ja :num! min) + (ja :group! double-lurker-top-both-idle-ja :num! min) (transform-post) (let ((v1-13 (-> self draw shadow-ctrl))) (logior! (-> v1-13 settings flags) (shadow-flags disable-draw)) @@ -528,7 +528,7 @@ ) (else (ja-channel-set! 1) - (ja :group! double-lurker-idle-ja :num! min) + (ja :group! double-lurker-top-idle-ja :num! min) (transform-post) (move-to-ground (-> self collide-info) 40960.0 40960.0 #t (collide-kind background)) (nav-enemy-method-51 self) diff --git a/test/decompiler/reference/jak1/levels/sunken/helix-water_REF.gc b/test/decompiler/reference/jak1/levels/sunken/helix-water_REF.gc index 7776347354d..f1aee464720 100644 --- a/test/decompiler/reference/jak1/levels/sunken/helix-water_REF.gc +++ b/test/decompiler/reference/jak1/levels/sunken/helix-water_REF.gc @@ -189,7 +189,7 @@ ;; failed to figure out what this is: (defstate helix-slide-door-close (helix-slide-door) :code (behavior () - (ja-no-eval :group! (-> self draw art-group data 2) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! helix-slide-door-idle-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) diff --git a/test/decompiler/reference/jak1/levels/sunken/orbit-plat_REF.gc b/test/decompiler/reference/jak1/levels/sunken/orbit-plat_REF.gc index 973407b315b..3ad789b3fb1 100644 --- a/test/decompiler/reference/jak1/levels/sunken/orbit-plat_REF.gc +++ b/test/decompiler/reference/jak1/levels/sunken/orbit-plat_REF.gc @@ -286,7 +286,7 @@ (set! (-> self part2) (create-launch-control (-> *part-group-id-table* 107) self)) (initialize-skeleton self *orbit-plat-bottom-sg* '()) (ja-channel-set! 1) - (ja :group! orbit-plat-idle-ja :num! min) + (ja :group! orbit-plat-bottom-idle-ja :num! min) (go orbit-plat-bottom-idle) (none) ) diff --git a/test/decompiler/reference/jak1/levels/sunken/sun-exit-chamber_REF.gc b/test/decompiler/reference/jak1/levels/sunken/sun-exit-chamber_REF.gc index c76a1406e5f..2da6edb3ac7 100644 --- a/test/decompiler/reference/jak1/levels/sunken/sun-exit-chamber_REF.gc +++ b/test/decompiler/reference/jak1/levels/sunken/sun-exit-chamber_REF.gc @@ -350,7 +350,7 @@ (set! (-> self rest-pos quad) (-> self root trans quad)) (initialize-skeleton self *blue-eco-charger-orb-sg* '()) (ja-channel-set! 1) - (ja :group! (-> self draw art-group data 2) :num! min) + (ja :group! blue-eco-charger-orb-idle-ja :num! min) (set-vector! (-> self orbit-rot) 0.0 0.0 0.0 1.0) (go blue-eco-charger-orb-idle) (none) @@ -399,7 +399,7 @@ :code (behavior () (set! (-> self open-level) 0.0) (ja-channel-set! 1) - (ja :group! (-> self draw art-group data 2) :num! min) + (ja :group! blue-eco-charger-open-ja :num! min) (loop (when (logtest? (-> self draw status) (draw-status was-drawn)) (if (and (and *target* (>= 16384.0 (vector-vector-distance (-> self root-override trans) (-> *target* control trans)))) @@ -859,7 +859,7 @@ (suspend) (set-time! (-> self state-time)) (let ((gp-1 #f)) - (ja-no-eval :group! (-> self draw art-group data 3) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! exit-chamber-start-door-shut-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (when (and (not gp-1) (time-elapsed? (-> self state-time) (seconds 0.75)) (-> self door)) (set! gp-1 #t) @@ -870,13 +870,13 @@ ) ) (set! (-> self move-player?) #t) - (ja-no-eval :group! (-> self draw art-group data 4) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! exit-chamber-start-in-room-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) ) (load-state-want-levels 'sunken 'village2) - (ja-no-eval :group! (-> self draw art-group data 5) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! exit-chamber-middle-in-water-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (exit-chamber-method-24 self 51200.0) (update-trans! (-> self sound) (-> self last-pos)) @@ -888,7 +888,7 @@ (load-state-want-display-level 'village2 'display) (load-state-want-display-level 'sunken 'special) (let ((gp-2 #f)) - (ja-no-eval :group! (-> self draw art-group data 6) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! exit-chamber-end-out-of-water-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (seek! (-> self wave-scale) 1.0 0.0016666667) (exit-chamber-method-20 self (-> self wave-scale)) @@ -1063,7 +1063,7 @@ (let ((gp-1 #f) (s5-0 #f) ) - (ja-no-eval :group! (-> self draw art-group data 7) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! exit-chamber-dive-start-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (when (and (not gp-1) (time-elapsed? (-> self state-time) (seconds 0.25)) (-> self door)) (set! gp-1 #t) @@ -1087,7 +1087,7 @@ ) (load-state-want-levels 'sunken 'sunkenb) (kill-and-free-particles (-> self part)) - (ja-no-eval :group! (-> self draw art-group data 8) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! exit-chamber-dive-middle-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (exit-chamber-method-24 self 47104.0) (update-trans! (-> self sound) (-> self last-pos)) @@ -1098,7 +1098,7 @@ (stop! (-> self sound)) (load-state-want-display-level 'sunkenb 'display) (load-state-want-vis 'sub) - (ja-no-eval :group! (-> self draw art-group data 9) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! exit-chamber-dive-end-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) diff --git a/test/decompiler/reference/jak1/levels/sunken/sunken-fish_REF.gc b/test/decompiler/reference/jak1/levels/sunken/sunken-fish_REF.gc index 1c48492a529..b16c520d201 100644 --- a/test/decompiler/reference/jak1/levels/sunken/sunken-fish_REF.gc +++ b/test/decompiler/reference/jak1/levels/sunken/sunken-fish_REF.gc @@ -227,7 +227,7 @@ ) :code (behavior () (loop - (ja-no-eval :group! (-> self draw art-group data 6) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! sunkenfisha-idle-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) diff --git a/test/decompiler/reference/jak1/levels/sunken/sunken-obs_REF.gc b/test/decompiler/reference/jak1/levels/sunken/sunken-obs_REF.gc index c47ebe7ae7c..a1ff5c86570 100644 --- a/test/decompiler/reference/jak1/levels/sunken/sunken-obs_REF.gc +++ b/test/decompiler/reference/jak1/levels/sunken/sunken-obs_REF.gc @@ -222,12 +222,12 @@ (let ((v1-0 (-> self seq))) (cond ((zero? v1-0) - (ja-no-eval :group! (-> self draw art-group data 5) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! sunkencam-start-door-shut-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) ) - (ja-no-eval :group! (-> self draw art-group data 6) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! sunkencam-start-in-room-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -237,14 +237,14 @@ (set! (-> v1-45 color) (new 'static 'rgba :g #x20 :b #x40 :a #x50)) ) (set-blackout-frames (seconds 0.1)) - (ja-no-eval :group! (-> self draw art-group data 7) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! sunkencam-middle-in-water-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) ) (set-blackout-frames (seconds 0.5)) (let ((gp-0 2)) - (ja-no-eval :group! (-> self draw art-group data 8) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! sunkencam-end-out-of-water-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (+! gp-0 -1) (if (zero? gp-0) @@ -257,7 +257,7 @@ (set-blackout-frames (seconds 0.1)) ) ((= v1-0 1) - (ja-no-eval :group! (-> self draw art-group data 9) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! sunkencam-dive-start-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -267,14 +267,14 @@ (set! (-> v1-116 color) (new 'static 'rgba :g #x20 :b #x40 :a #x50)) ) (set-blackout-frames (seconds 0.1)) - (ja-no-eval :group! (-> self draw art-group data 10) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! sunkencam-dive-middle-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) ) (set-blackout-frames (seconds 0.1)) (let ((gp-1 2)) - (ja-no-eval :group! (-> self draw art-group data 11) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! sunkencam-dive-end-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (+! gp-1 -1) (if (zero? gp-1) @@ -295,18 +295,18 @@ ) ) ((= v1-0 2) - (ja-no-eval :group! (-> self draw art-group data 16) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! sunkencam-helix-hit-switch-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) ) - (ja-no-eval :group! (-> self draw art-group data 17) :num! (seek! max 0.67) :frame-num 0.0) + (ja-no-eval :group! sunkencam-helix-door-shuts-ja :num! (seek! max 0.67) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek! max 0.67)) ) (pov-camera-play-and-reposition - (the-as art-joint-anim (-> self draw art-group data 18)) + (the-as art-joint-anim sunkencam-helix-show-rising-water-ja) (new 'static 'vector :x 2449408.0 :y -1822720.0 :z -7299072.0) 0.67 ) @@ -314,7 +314,7 @@ ((= v1-0 3) (ambient-hint-spawn "gamcam34" (the-as vector #f) *entity-pool* 'camera) (pov-camera-play-and-reposition - (the-as art-joint-anim (-> self draw art-group data 12)) + (the-as art-joint-anim sunkencam-square-platform-setup1-rise1-ja) (new 'static 'vector :x 2707456.0 :y -630784.0 :z -6635520.0) 1.0 ) @@ -322,7 +322,7 @@ ((= v1-0 4) (ambient-hint-spawn "gamcam35" (the-as vector #f) *entity-pool* 'camera) (pov-camera-play-and-reposition - (the-as art-joint-anim (-> self draw art-group data 13)) + (the-as art-joint-anim sunkencam-square-platform-setup1-rise2-ja) (new 'static 'vector :x 2834432.0 :y -634880.0 :z -6811648.0) 1.3 ) @@ -334,7 +334,7 @@ ((= v1-0 5) (ambient-hint-spawn "gamcam37" (the-as vector #f) *entity-pool* 'camera) (pov-camera-play-and-reposition - (the-as art-joint-anim (-> self draw art-group data 14)) + (the-as art-joint-anim sunkencam-square-platform-setup2-rise1-ja) (new 'static 'vector :x 2695168.0 :y -544768.0 :z -7077888.0) 1.0 ) @@ -342,7 +342,7 @@ ((= v1-0 6) (ambient-hint-spawn "gamcam36" (the-as vector #f) *entity-pool* 'camera) (pov-camera-play-and-reposition - (the-as art-joint-anim (-> self draw art-group data 15)) + (the-as art-joint-anim sunkencam-square-platform-setup2-rise2-ja) (new 'static 'vector :x 2482176.0 :y -516096.0 :z -6922240.0) 1.0 ) @@ -394,7 +394,7 @@ (ja-eval) ) (loop - (ja-no-eval :group! (-> self draw art-group data 2) :num! (seek! max (-> self anim-speed)) :frame-num 0.0) + (ja-no-eval :group! seaweed-idle-ja :num! (seek! max (-> self anim-speed)) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek! max (-> self anim-speed))) diff --git a/test/decompiler/reference/jak1/levels/sunken/target-tube_REF.gc b/test/decompiler/reference/jak1/levels/sunken/target-tube_REF.gc index e67392b00b1..da459077fdf 100644 --- a/test/decompiler/reference/jak1/levels/sunken/target-tube_REF.gc +++ b/test/decompiler/reference/jak1/levels/sunken/target-tube_REF.gc @@ -618,7 +618,7 @@ ) (set-time-ratios *display* (the float gp-0)) ) - (ja :group! (-> self draw art-group data 105) :num! (identity (ja-aframe (-> self tube turn-anim-frame) 0))) + (ja :group! eichar-tube-turn-ja :num! (identity (ja-aframe (-> self tube turn-anim-frame) 0))) 0 (none) ) @@ -646,9 +646,9 @@ ) :code (behavior () (case (ja-group) - (((-> self draw art-group data 41) (-> self draw art-group data 38)) + ((eichar-duck-high-jump-ja eichar-jump-loop-ja) (ja-channel-push! 1 (seconds 0.04)) - (ja-no-eval :group! (-> self draw art-group data 106) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! eichar-tube-jump-land-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -693,7 +693,7 @@ ) :code (behavior ((arg0 float) (arg1 float)) (ja-channel-push! 1 (seconds 0.05)) - (ja :group! (-> self draw art-group data 41) :num! (identity (ja-aframe 16.0 0))) + (ja :group! eichar-duck-high-jump-ja :num! (identity (ja-aframe 16.0 0))) (let ((f30-0 35.0) (f28-0 1.0) ) @@ -716,10 +716,10 @@ (suspend) ) ) - (ja-no-eval :group! (-> self draw art-group data 38) :num! (loop!) :frame-num 0.0) + (ja-no-eval :group! eichar-jump-loop-ja :num! (loop!) :frame-num 0.0) (loop (suspend) - (ja :group! (-> self draw art-group data 38) :num! (loop!)) + (ja :group! eichar-jump-loop-ja :num! (loop!)) ) ) :post (-> target-tube post) @@ -858,7 +858,7 @@ (set! (-> self control transv quad) (the-as uint128 0)) (set! (-> self control unknown-surface00) *neutral-mods*) (ja-channel-push! 1 (seconds 0.1)) - (ja-no-eval :group! (-> self draw art-group data 76) :num! (seek! (ja-aframe 134.0 0)) :frame-num 0.0) + (ja-no-eval :group! eichar-deatha-ja :num! (seek! (ja-aframe 134.0 0)) :frame-num 0.0) (until (ja-done? 0) (compute-alignment! (-> self align)) (let ((gp-2 (new 'stack-no-clear 'vector))) diff --git a/test/decompiler/reference/jak1/levels/sunken/wedge-plats_REF.gc b/test/decompiler/reference/jak1/levels/sunken/wedge-plats_REF.gc index 3067c44c579..004968ee45b 100644 --- a/test/decompiler/reference/jak1/levels/sunken/wedge-plats_REF.gc +++ b/test/decompiler/reference/jak1/levels/sunken/wedge-plats_REF.gc @@ -167,19 +167,13 @@ ) :trans plat-trans :code (behavior () - (ja-no-eval :group! (-> self draw art-group data 3) - :num! (seek! (ja-aframe 60.0 0)) - :frame-num (ja-aframe 0.0 0) - ) + (ja-no-eval :group! wedge-plat-tip-ja :num! (seek! (ja-aframe 60.0 0)) :frame-num (ja-aframe 0.0 0)) (until (ja-done? 0) (wedge-plat-method-27 self) (suspend) (ja :num! (seek! (ja-aframe 60.0 0))) ) - (ja-no-eval :group! (-> self draw art-group data 3) - :num! (seek! (ja-aframe 100.0 0)) - :frame-num (ja-aframe 60.0 0) - ) + (ja-no-eval :group! wedge-plat-tip-ja :num! (seek! (ja-aframe 100.0 0)) :frame-num (ja-aframe 60.0 0)) (until (ja-done? 0) (wedge-plat-method-27 self) (suspend) @@ -191,10 +185,7 @@ (wedge-plat-method-27 self) (suspend) ) - (ja-no-eval :group! (-> self draw art-group data 3) - :num! (seek! (ja-aframe 153.0 0)) - :frame-num (ja-aframe 100.0 0) - ) + (ja-no-eval :group! wedge-plat-tip-ja :num! (seek! (ja-aframe 153.0 0)) :frame-num (ja-aframe 100.0 0)) (until (ja-done? 0) (wedge-plat-method-27 self) (suspend) @@ -340,19 +331,13 @@ ) :trans plat-trans :code (behavior () - (ja-no-eval :group! (-> self draw art-group data 3) - :num! (seek! (ja-aframe 60.0 0)) - :frame-num (ja-aframe 0.0 0) - ) + (ja-no-eval :group! wedge-plat-outer-tip-ja :num! (seek! (ja-aframe 60.0 0)) :frame-num (ja-aframe 0.0 0)) (until (ja-done? 0) (wedge-plat-method-27 self) (suspend) (ja :num! (seek! (ja-aframe 60.0 0))) ) - (ja-no-eval :group! (-> self draw art-group data 3) - :num! (seek! (ja-aframe 100.0 0)) - :frame-num (ja-aframe 60.0 0) - ) + (ja-no-eval :group! wedge-plat-outer-tip-ja :num! (seek! (ja-aframe 100.0 0)) :frame-num (ja-aframe 60.0 0)) (until (ja-done? 0) (wedge-plat-method-27 self) (suspend) @@ -364,10 +349,7 @@ (wedge-plat-method-27 self) (suspend) ) - (ja-no-eval :group! (-> self draw art-group data 3) - :num! (seek! (ja-aframe 153.0 0)) - :frame-num (ja-aframe 100.0 0) - ) + (ja-no-eval :group! wedge-plat-outer-tip-ja :num! (seek! (ja-aframe 153.0 0)) :frame-num (ja-aframe 100.0 0)) (until (ja-done? 0) (wedge-plat-method-27 self) (suspend) diff --git a/test/decompiler/reference/jak1/levels/swamp/billy_REF.gc b/test/decompiler/reference/jak1/levels/swamp/billy_REF.gc index 95c63d39317..e944029af80 100644 --- a/test/decompiler/reference/jak1/levels/swamp/billy_REF.gc +++ b/test/decompiler/reference/jak1/levels/swamp/billy_REF.gc @@ -209,7 +209,7 @@ (send-event (handle->process (-> self snack)) 'eat) (sound-play "rat-gulp") (ja-channel-push! 1 (seconds 0.05)) - (ja :group! (-> self draw art-group data 12)) + (ja :group! swamp-rat-eat-ja) (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) diff --git a/test/decompiler/reference/jak1/levels/swamp/swamp-obs_REF.gc b/test/decompiler/reference/jak1/levels/swamp/swamp-obs_REF.gc index 292fa1bc021..0bf5beece2e 100644 --- a/test/decompiler/reference/jak1/levels/swamp/swamp-obs_REF.gc +++ b/test/decompiler/reference/jak1/levels/swamp/swamp-obs_REF.gc @@ -201,7 +201,7 @@ (set! (-> gp-0 w) (- (vector-dot gp-0 (-> self root-override trans)))) (loop (set-time! (-> self state-time)) - (ja :group! (-> self draw art-group data 3)) + (ja :group! swamp-spike-up-ja) (until (>= (get-current-phase (-> self sync)) 0.5) (ja :num-func num-func-identity :frame-num 0.0) (suspend) @@ -223,7 +223,7 @@ ) ) (else - (ja-no-eval :group! (-> self draw art-group data 5) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! swamp-spike-shake-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -242,7 +242,7 @@ ) ) (set! (-> self dangerous) #t) - (ja-no-eval :group! (-> self draw art-group data 3) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! swamp-spike-up-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -266,7 +266,7 @@ :to self ) ) - (ja-no-eval :group! (-> self draw art-group data 4) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! swamp-spike-down-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -294,7 +294,7 @@ ) :code (behavior () (set-time! (-> self state-time)) - (ja :group! (-> self draw art-group data 4)) + (ja :group! swamp-spike-down-ja) (until (-> self open-gate) (ja :num-func num-func-identity :frame-num 0.0) (suspend) @@ -310,7 +310,7 @@ (-> self root-override trans) :to self ) - (ja-no-eval :group! (-> self draw art-group data 4) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! swamp-spike-down-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -865,7 +865,7 @@ ) :code (behavior () (ja-channel-push! 1 (seconds 0.1)) - (ja :group! (-> self draw art-group data 3)) + (ja :group! tar-plat-idle-ja) (ja :num-func num-func-identity :frame-num 0.0) (loop (suspend) diff --git a/test/decompiler/reference/jak1/levels/title/title-obs_REF.gc b/test/decompiler/reference/jak1/levels/title/title-obs_REF.gc index 5981be2d804..6ac7ddcdde1 100644 --- a/test/decompiler/reference/jak1/levels/title/title-obs_REF.gc +++ b/test/decompiler/reference/jak1/levels/title/title-obs_REF.gc @@ -322,7 +322,7 @@ (send-event (ppointer->process (-> self parent)) 'wait) (send-event self 'update) (ja-channel-set! 1) - (ja-no-eval :group! (-> self draw art-group data 6) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! logo-logo-intro-2-pre-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (logior! (-> self skel status) (janim-status spool)) (suspend) @@ -420,7 +420,7 @@ ) (set! *spawn-actors* #f) (ja-channel-set! 1) - (ja-no-eval :group! (-> self draw art-group data 8) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! logo-logo-loop-pre-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (logior! (-> self skel status) (janim-status spool)) (suspend) diff --git a/test/decompiler/reference/jak1/levels/training/training-obs_REF.gc b/test/decompiler/reference/jak1/levels/training/training-obs_REF.gc index bf7df04745f..6fa0d1077d7 100644 --- a/test/decompiler/reference/jak1/levels/training/training-obs_REF.gc +++ b/test/decompiler/reference/jak1/levels/training/training-obs_REF.gc @@ -774,7 +774,7 @@ :code (behavior () (ja-channel-push! 1 (seconds 0.12)) (loop - (ja-no-eval :group! (-> self draw art-group data 5) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! scarecrow-a-idle-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -793,21 +793,21 @@ (ja-channel-push! 1 (seconds 0.07)) (cond ((< (fabs arg0) 8192.0) - (ja-no-eval :group! (-> self draw art-group data 8) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! scarecrow-a-hit-front-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) ) ) ((and (< 8192.0 arg0) (< arg0 24576.0)) - (ja-no-eval :group! (-> self draw art-group data 6) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! scarecrow-a-hit-left-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) ) ) (else - (ja-no-eval :group! (-> self draw art-group data 7) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! scarecrow-a-hit-right-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -916,7 +916,7 @@ :code (behavior () (ja-channel-push! 1 (seconds 0.12)) (loop - (ja-no-eval :group! (-> self draw art-group data 5) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! scarecrow-b-idle-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -935,21 +935,21 @@ (ja-channel-push! 1 (seconds 0.07)) (cond ((< (fabs arg0) 8192.0) - (ja-no-eval :group! (-> self draw art-group data 8) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! scarecrow-b-hit-front-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) ) ) ((and (< 8192.0 arg0) (< arg0 24576.0)) - (ja-no-eval :group! (-> self draw art-group data 6) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! scarecrow-b-hit-left-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) ) ) (else - (ja-no-eval :group! (-> self draw art-group data 7) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! scarecrow-b-hit-right-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) diff --git a/test/decompiler/reference/jak1/levels/village1/assistant_REF.gc b/test/decompiler/reference/jak1/levels/village1/assistant_REF.gc index 7d5d7297b4a..3c05b591d09 100644 --- a/test/decompiler/reference/jak1/levels/village1/assistant_REF.gc +++ b/test/decompiler/reference/jak1/levels/village1/assistant_REF.gc @@ -244,13 +244,19 @@ (countdown (gp-2 (+ (the int (* f30-0 (+ -1.0 (the-as float v1-77)))) 4)) (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) - (spawn (-> self part) (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 30))) + (spawn + (-> self part) + (vector<-cspace! (new 'stack-no-clear 'vector) (joint-node-index assistant-lod0-jg torchTIP)) + ) (suspend) (ja :num! (seek!)) ) (ja-no-eval :group! (ja-group) :num! (seek! 0.0) :frame-num max) (until (ja-done? 0) - (spawn (-> self part) (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 30))) + (spawn + (-> self part) + (vector<-cspace! (new 'stack-no-clear 'vector) (joint-node-index assistant-lod0-jg torchTIP)) + ) (suspend) (ja :num! (seek! 0.0)) ) diff --git a/test/decompiler/reference/jak1/levels/village1/fishermans-boat_REF.gc b/test/decompiler/reference/jak1/levels/village1/fishermans-boat_REF.gc index 554b05cec08..fbcc167864f 100644 --- a/test/decompiler/reference/jak1/levels/village1/fishermans-boat_REF.gc +++ b/test/decompiler/reference/jak1/levels/village1/fishermans-boat_REF.gc @@ -840,7 +840,7 @@ (f28-0 (+ -1.0 (* 2.0 (-> self engine-sound-envelope)))) (gp-0 (new 'stack-no-clear 'vector)) ) - (vector<-cspace! gp-0 (-> self node-list data 4)) + (vector<-cspace! gp-0 (joint-node-index fishermans-boat-lod0-jg prop)) (sound-play "boat-engine" :id (-> self engine-sound-id) @@ -1559,7 +1559,7 @@ (send-event *target* 'blend-shape #f) (ja-channel-set! 1) (ja :group! fishermans-boat-idle-ja) - (vector<-cspace! (-> self root-overlay trans) (-> self node-list data 3)) + (vector<-cspace! (-> self root-overlay trans) (joint-node-index fishermans-boat-lod0-jg main)) (matrix->quaternion (-> self root-overlay quat) (-> self node-list data 3 bone transform)) (fishermans-boat-reset-physics) (transform-post) @@ -1678,7 +1678,7 @@ (send-event *target* 'blend-shape #f) (ja-channel-set! 1) (ja :group! fishermans-boat-idle-ja) - (vector<-cspace! (-> self root-overlay trans) (-> self node-list data 3)) + (vector<-cspace! (-> self root-overlay trans) (joint-node-index fishermans-boat-lod0-jg main)) (matrix->quaternion (-> self root-overlay quat) (-> self node-list data 3 bone transform)) (fishermans-boat-reset-physics) (transform-post) diff --git a/test/decompiler/reference/jak1/levels/village1/village-obs_REF.gc b/test/decompiler/reference/jak1/levels/village1/village-obs_REF.gc index 739c9cf2865..9f81e2e8b1d 100644 --- a/test/decompiler/reference/jak1/levels/village1/village-obs_REF.gc +++ b/test/decompiler/reference/jak1/levels/village1/village-obs_REF.gc @@ -760,7 +760,7 @@ (set! (-> self rotate-speed) 12743.111) (set! (-> self turn-time) (seconds 0.5)) (loop - (ja-no-eval :group! (-> self draw art-group data 2) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! villa-starfish-idle-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) diff --git a/test/decompiler/reference/jak1/levels/village2/assistant-village2_REF.gc b/test/decompiler/reference/jak1/levels/village2/assistant-village2_REF.gc index eb8ea2af4f5..9cae6e289c5 100644 --- a/test/decompiler/reference/jak1/levels/village2/assistant-village2_REF.gc +++ b/test/decompiler/reference/jak1/levels/village2/assistant-village2_REF.gc @@ -560,13 +560,19 @@ (countdown (gp-3 (+ (the int (* f30-1 (+ -1.0 (the-as float v1-114)))) 4)) (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) - (spawn (-> self part) (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 30))) + (spawn + (-> self part) + (vector<-cspace! (new 'stack-no-clear 'vector) (joint-node-index assistant-village2-lod0-jg torchTIP)) + ) (suspend) (ja :num! (seek!)) ) (ja-no-eval :group! (ja-group) :num! (seek! 0.0) :frame-num max) (until (ja-done? 0) - (spawn (-> self part) (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 30))) + (spawn + (-> self part) + (vector<-cspace! (new 'stack-no-clear 'vector) (joint-node-index assistant-village2-lod0-jg torchTIP)) + ) (suspend) (ja :num! (seek! 0.0)) ) @@ -574,7 +580,10 @@ ) (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) - (spawn (-> self part) (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 30))) + (spawn + (-> self part) + (vector<-cspace! (new 'stack-no-clear 'vector) (joint-node-index assistant-village2-lod0-jg torchTIP)) + ) (suspend) (ja :num! (seek!)) ) diff --git a/test/decompiler/reference/jak1/levels/village2/swamp-blimp_REF.gc b/test/decompiler/reference/jak1/levels/village2/swamp-blimp_REF.gc index a693d679ba9..5ddb992c916 100644 --- a/test/decompiler/reference/jak1/levels/village2/swamp-blimp_REF.gc +++ b/test/decompiler/reference/jak1/levels/village2/swamp-blimp_REF.gc @@ -1383,7 +1383,7 @@ (v1-11 (the-as number (logior #x3f800000 v1-10))) (f30-3 (+ f30-2 (* f28-1 (+ -1.0 (the-as float v1-11))))) ) - (ja-no-eval :group! (-> self draw art-group data 4) :num! (seek! max f30-3) :frame-num 0.0) + (ja-no-eval :group! swamp-rope-swing-ja :num! (seek! max f30-3) :frame-num 0.0) (until (ja-done? 0) (swamp-rope-break-code) (suspend) @@ -1446,7 +1446,7 @@ (defstate swamp-rope-idle-rock (swamp-rope) :trans swamp-rope-trans :code (behavior () - (ja :group! swamp-blimp-idle-ja) + (ja :group! swamp-rope-slack-ja) (loop (let* ((f0-1 (* 2000.0 (- (-> self old-scale) (-> self root scale y)))) (f1-3 (+ 0.5 f0-1)) @@ -1476,7 +1476,7 @@ (defstate swamp-rope-idle-arm (swamp-rope) :trans swamp-rope-trans :code (behavior () - (ja :group! swamp-blimp-idle-ja) + (ja :group! swamp-rope-slack-ja) (loop (let* ((a0-3 (-> self other-entity)) (v1-3 (if a0-3 diff --git a/test/decompiler/reference/jak1/levels/village2/village2-obs_REF.gc b/test/decompiler/reference/jak1/levels/village2/village2-obs_REF.gc index 3ce9a58f003..703dfe75477 100644 --- a/test/decompiler/reference/jak1/levels/village2/village2-obs_REF.gc +++ b/test/decompiler/reference/jak1/levels/village2/village2-obs_REF.gc @@ -39,14 +39,14 @@ (let ((v1-0 (-> self seq))) (cond ((zero? v1-0) - (ja-no-eval :group! (-> self draw art-group data 2) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! village2cam-elevator-at-top-going-down-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) ) ) ((= v1-0 1) - (ja-no-eval :group! (-> self draw art-group data 3) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! village2cam-elevator-at-bottom-going-up-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -54,7 +54,7 @@ ) ((= v1-0 2) (pov-camera-play-and-reposition - (the-as art-joint-anim (-> self draw art-group data 4)) + (the-as art-joint-anim village2cam-elevator-at-top-going-up-ja) (new 'static 'vector :x 2199552.0 :y 40960.0 :z -6676480.0) 1.0 ) @@ -563,12 +563,30 @@ ) :trans (behavior () (when (>= (ja-aframe-num 0) 500.0) - (spawn (-> self part) (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 3))) - (spawn (-> self part) (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 4))) - (spawn (-> self part) (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 5))) - (spawn (-> self part) (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 6))) - (spawn (-> self part) (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 7))) - (spawn (-> self part) (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 9))) + (spawn + (-> self part) + (vector<-cspace! (new 'stack-no-clear 'vector) (joint-node-index allpontoons-lod0-jg 1)) + ) + (spawn + (-> self part) + (vector<-cspace! (new 'stack-no-clear 'vector) (joint-node-index allpontoons-lod0-jg 2)) + ) + (spawn + (-> self part) + (vector<-cspace! (new 'stack-no-clear 'vector) (joint-node-index allpontoons-lod0-jg 3)) + ) + (spawn + (-> self part) + (vector<-cspace! (new 'stack-no-clear 'vector) (joint-node-index allpontoons-lod0-jg 4)) + ) + (spawn + (-> self part) + (vector<-cspace! (new 'stack-no-clear 'vector) (joint-node-index allpontoons-lod0-jg 5)) + ) + (spawn + (-> self part) + (vector<-cspace! (new 'stack-no-clear 'vector) (joint-node-index allpontoons-lod0-jg 6)) + ) ) ) :code (behavior ((arg0 handle)) @@ -673,7 +691,7 @@ (defbehavior fireboulder-hover-stuff fireboulder () (local-vars (v0-1 object)) (let ((gp-0 (new 'stack-no-clear 'vector))) - (vector<-cspace! gp-0 (-> self node-list data 4)) + (vector<-cspace! gp-0 (joint-node-index fireboulder-lod0-jg bouldercenter)) (cond ((handle->process (-> self tracker)) (let ((v1-6 (-> (the-as (pointer part-tracker) (-> self tracker process)) 0))) @@ -716,7 +734,7 @@ :enter (behavior () (fireboulder-disable-blocking-collision) (ja-channel-set! 1) - (ja :group! (-> self draw art-group data 3)) + (ja :group! fireboulder-hover-ja) (logclear! (-> self draw status) (draw-status hidden)) (set! (-> self root-override trans quad) (-> self entity extra trans quad)) (vector-reset! (-> self draw origin)) @@ -724,7 +742,7 @@ (ja-post) (logclear! (-> self skel status) (janim-status inited)) (let ((gp-0 (new 'stack-no-clear 'vector))) - (vector<-cspace! gp-0 (-> self node-list data 4)) + (vector<-cspace! gp-0 (joint-node-index fireboulder-lod0-jg bouldercenter)) (vector-! (-> self draw bounds) gp-0 (-> self root-override trans)) ) (set! (-> self draw bounds w) 24576.0) @@ -1545,7 +1563,7 @@ ) ) (ja-channel-push! 1 (seconds 0.2)) - (ja-no-eval :group! (-> self draw art-group data 7) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! ogreboss-village2-pre-throw-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -1571,7 +1589,7 @@ ) ) (ja-channel-push! 1 (seconds 0.2)) - (ja-no-eval :group! (-> self draw art-group data 5) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! ogreboss-village2-throw-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -1590,7 +1608,7 @@ (let ((v1-0 (rand-vu-int-range 0 2))) (cond ((zero? v1-0) - (ja-no-eval :group! (-> self draw art-group data 2) :num! (seek! (ja-aframe 140.0 0)) :frame-num 0.0) + (ja-no-eval :group! ogreboss-village2-idle-ja :num! (seek! (ja-aframe 140.0 0)) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek! (ja-aframe 140.0 0))) @@ -1600,7 +1618,7 @@ (suspend) ) ) - (ja-no-eval :group! (-> self draw art-group data 2) + (ja-no-eval :group! ogreboss-village2-idle-ja :num! (seek! (ja-aframe 168.0 0)) :frame-num (ja-aframe 140.0 0) ) @@ -1613,14 +1631,14 @@ (suspend) ) ) - (ja-no-eval :group! (-> self draw art-group data 2) :num! (seek!) :frame-num (ja-aframe 168.0 0)) + (ja-no-eval :group! ogreboss-village2-idle-ja :num! (seek!) :frame-num (ja-aframe 168.0 0)) (until (ja-done? 0) (suspend) (ja :num! (seek!)) ) ) ((= v1-0 1) - (ja-no-eval :group! (-> self draw art-group data 4) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! ogreboss-village2-idle-alt-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -1628,7 +1646,7 @@ ) (else (dotimes (gp-7 4) - (ja-no-eval :group! (-> self draw art-group data 3) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! ogreboss-village2-idle-bored-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -1641,7 +1659,7 @@ (cond ((< 0.6666667 f0-33) (ja-channel-push! 1 (seconds 0.2)) - (ja-no-eval :group! (-> self draw art-group data 6) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! ogreboss-village2-victory-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) diff --git a/test/decompiler/reference/jak1/levels/village3/minecart_REF.gc b/test/decompiler/reference/jak1/levels/village3/minecart_REF.gc index 51d36478b0e..dbd678694d8 100644 --- a/test/decompiler/reference/jak1/levels/village3/minecart_REF.gc +++ b/test/decompiler/reference/jak1/levels/village3/minecart_REF.gc @@ -62,7 +62,7 @@ (ja :num-func num-func-identity :frame-num (* (get-current-phase (-> self sync)) (the float (+ (-> (ja-group) data 0 length) -1))) ) - (let ((a1-1 (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 4)))) + (let ((a1-1 (vector<-cspace! (new 'stack-no-clear 'vector) (joint-node-index minecartsteel-lod0-jg cart)))) (update-trans! (-> self sound) a1-1) ) (update! (-> self sound)) @@ -111,7 +111,7 @@ spool-anim (cond ((zero? v1-33) - (-> self draw art-group data 5) + minecartsteel-rail0-ja ) ((= v1-33 1) (let ((a0-17 (-> self sync)) @@ -121,7 +121,7 @@ ) (t9-12 a0-17 (the-as uint a1-11) (- f0-7 (* (the float (the int (/ f0-7 1.0))) 1.0)) 0.15 0.15) ) - (-> self draw art-group data 6) + minecartsteel-rail1-ja ) (else (let ((a0-18 (-> self sync)) @@ -131,7 +131,7 @@ ) (t9-13 a0-18 (the-as uint a1-12) (- f0-10 (* (the float (the int (/ f0-10 1.0))) 1.0)) 0.15 0.15) ) - (-> self draw art-group data 7) + minecartsteel-rail2-ja ) ) ) diff --git a/test/decompiler/reference/jak1/levels/village3/miners_REF.gc b/test/decompiler/reference/jak1/levels/village3/miners_REF.gc index fe340873c0f..74b496788be 100644 --- a/test/decompiler/reference/jak1/levels/village3/miners_REF.gc +++ b/test/decompiler/reference/jak1/levels/village3/miners_REF.gc @@ -289,7 +289,10 @@ ;; definition for function minershort-trans-hook ;; INFO: Return type mismatch object vs none. (defbehavior minershort-trans-hook minershort () - (spawn (-> self part) (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 14))) + (spawn + (-> self part) + (vector<-cspace! (new 'stack-no-clear 'vector) (joint-node-index minershort-lod0-jg candle)) + ) (none) ) diff --git a/test/decompiler/reference/jak1/levels/village3/village3-obs_REF.gc b/test/decompiler/reference/jak1/levels/village3/village3-obs_REF.gc index 251ea5ad3ab..3d6b1c78bca 100644 --- a/test/decompiler/reference/jak1/levels/village3/village3-obs_REF.gc +++ b/test/decompiler/reference/jak1/levels/village3/village3-obs_REF.gc @@ -134,7 +134,7 @@ ) ) ) - (ja :group! (-> self draw art-group data 4)) + (ja :group! gondola-idle-up-ja) ) (else (set! (-> self anim) (new 'static 'spool-anim @@ -151,26 +151,27 @@ ) ) ) - (ja :group! (-> self draw art-group data 3)) + (ja :group! gondola-idle-down-ja) ) ) (transform-post) (loop - (when (and *target* (and (< (vector-vector-distance - (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 3)) - (target-pos 0) - ) - 81920.0 - ) - (not (movie?)) - (not (level-hint-displayed?)) - (time-elapsed? (-> self state-time) (seconds 3)) - (file-status *art-control* (-> self anim name) 0) - ) + (when (and *target* + (and (< (vector-vector-distance + (vector<-cspace! (new 'stack-no-clear 'vector) (joint-node-index gondola-lod0-jg main)) + (target-pos 0) + ) + 81920.0 + ) + (not (movie?)) + (not (level-hint-displayed?)) + (time-elapsed? (-> self state-time) (seconds 3)) + (file-status *art-control* (-> self anim name) 0) + ) ) (let ((s3-0 (get-reminder (get-task-control (game-task village3-button)) 2)) (s4-1 (and *cheat-mode* (cpad-hold? 0 l3))) - (s5-1 (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 3))) + (s5-1 (vector<-cspace! (new 'stack-no-clear 'vector) (joint-node-index gondola-lod0-jg main))) ) (cond ((not (or s4-1 (task-closed? (game-task village3-button) (task-status need-hint)))) @@ -269,8 +270,8 @@ (process-spawn othercam self 4 #f #t :to self) (ja-play-spooled-anim (-> self anim) - (the-as art-joint-anim (-> self draw art-group data 3)) - (the-as art-joint-anim (-> self draw art-group data 4)) + (the-as art-joint-anim gondola-idle-down-ja) + (the-as art-joint-anim gondola-idle-up-ja) (the-as (function process-drawable symbol) false-func) ) (remove-setting! 'sound-flava) @@ -311,8 +312,8 @@ (process-spawn othercam self 4 #f #t :to self) (ja-play-spooled-anim (-> self anim) - (the-as art-joint-anim (-> self draw art-group data 4)) - (the-as art-joint-anim (-> self draw art-group data 3)) + (the-as art-joint-anim gondola-idle-up-ja) + (the-as art-joint-anim gondola-idle-down-ja) (the-as (function process-drawable symbol) false-func) ) (remove-setting! 'sound-flava) diff --git a/test/decompiler/reference/jak1/levels/village_common/villagep-obs_REF.gc b/test/decompiler/reference/jak1/levels/village_common/villagep-obs_REF.gc index 227ba9d89e8..2d62230ae72 100644 --- a/test/decompiler/reference/jak1/levels/village_common/villagep-obs_REF.gc +++ b/test/decompiler/reference/jak1/levels/village_common/villagep-obs_REF.gc @@ -95,16 +95,13 @@ (ja-channel-set! 1) (send-event self 'do-effect 'death-warp-in -1.0) (sound-play "warpgate-tele") - (ja-no-eval :group! (-> self draw art-group data 41) - :num! (seek! (ja-aframe 50.0 0)) - :frame-num (ja-aframe 40.0 0) - ) + (ja-no-eval :group! eichar-duck-high-jump-ja :num! (seek! (ja-aframe 50.0 0)) :frame-num (ja-aframe 40.0 0)) (until (ja-done? 0) (suspend) (ja :num! (seek! (ja-aframe 50.0 0))) ) (restore-collide-with-as (-> self control)) - (ja-no-eval :group! (-> self draw art-group data 41) :num! (seek!) :frame-num (ja-aframe 50.0 0)) + (ja-no-eval :group! eichar-duck-high-jump-ja :num! (seek!) :frame-num (ja-aframe 50.0 0)) (until (ja-done? 0) (suspend) (ja :num! (seek!)) diff --git a/test/decompiler/reference/jak2/decompiler-macros.gc b/test/decompiler/reference/jak2/decompiler-macros.gc index 55b8f4f78cc..8a06cef2ec2 100644 --- a/test/decompiler/reference/jak2/decompiler-macros.gc +++ b/test/decompiler/reference/jak2/decompiler-macros.gc @@ -1282,6 +1282,23 @@ ) ) +(defmacro joint-name->index (jg-name name) + (let ((jg-info (hash-table-try-ref *jg-info* (symbol->string jg-name)))) + (if (not (car jg-info)) + -1 + (let ((joint-node (hash-table-try-ref (cdr jg-info) (if (integer? name) (int->string name) (symbol->string name))))) + (if (not (car joint-node)) + -1 + (cadr (cdr joint-node))) + ) + ) + ) + ) + +(defmacro joint-node-index (jg name) + `(-> self node-list data (joint-name->index ,jg ,name)) + ) + (defmacro defskelgroup (name ag-name joint-geom joint-anim lods &key (shadow 0) &key bounds diff --git a/test/decompiler/reference/jak2/engine/common_objs/conveyor_REF.gc b/test/decompiler/reference/jak2/engine/common_objs/conveyor_REF.gc index 1b65a327e50..b474a02a033 100644 --- a/test/decompiler/reference/jak2/engine/common_objs/conveyor_REF.gc +++ b/test/decompiler/reference/jak2/engine/common_objs/conveyor_REF.gc @@ -543,7 +543,7 @@ This commonly includes things such as: :virtual #t :code (behavior () (until #f - (ja-no-eval :group! (-> self draw art-group data 3) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! lgconveyor-idle-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) diff --git a/test/decompiler/reference/jak2/engine/common_objs/powerups_REF.gc b/test/decompiler/reference/jak2/engine/common_objs/powerups_REF.gc index 824ac4fff87..c9ec0984463 100644 --- a/test/decompiler/reference/jak2/engine/common_objs/powerups_REF.gc +++ b/test/decompiler/reference/jak2/engine/common_objs/powerups_REF.gc @@ -856,7 +856,7 @@ (not (time-elapsed? (-> self control last-time-on-surface) (seconds 0.05))) ) ) - (let ((gp-0 (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 38)))) + (let ((gp-0 (vector<-cspace! (new 'stack-no-clear 'vector) (joint-node-index jakb-lod0-jg RbigToe)))) (if (and (< (fabs (vector-dot (-> self control dynam gravity-normal) (vector-! (new 'stack-no-clear 'vector) gp-0 (-> self control trans)) @@ -869,7 +869,7 @@ (launch-particles :system *sp-particle-system-3d* (-> *part-id-table* 165) gp-0) ) ) - (let ((gp-1 (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 31)))) + (let ((gp-1 (vector<-cspace! (new 'stack-no-clear 'vector) (joint-node-index jakb-lod0-jg LbigToe)))) (if (and (< (fabs (vector-dot (-> self control dynam gravity-normal) (vector-! (new 'stack-no-clear 'vector) gp-1 (-> self control trans)) diff --git a/test/decompiler/reference/jak2/engine/target/board/board-states_REF.gc b/test/decompiler/reference/jak2/engine/target/board/board-states_REF.gc index d4839409587..e305c3026e8 100644 --- a/test/decompiler/reference/jak2/engine/target/board/board-states_REF.gc +++ b/test/decompiler/reference/jak2/engine/target/board/board-states_REF.gc @@ -646,11 +646,11 @@ (let ((s5-0 30) (v1-3 (ja-group)) ) - (when (not (and (and v1-3 (= v1-3 (-> self draw art-group data 161))) (= (ja-group-size) 4))) + (when (not (and (and v1-3 (= v1-3 jakb-board-turn-left-ja)) (= (ja-group-size) 4))) (let ((v1-10 (ja-group))) - (when (and v1-10 (= v1-10 (-> self draw art-group data 170))) + (when (and v1-10 (= v1-10 jakb-board-get-on-ja)) (ja-channel-set! 1) - (ja-no-eval :group! (-> self draw art-group data 190) :num! (seek! max 1.8) :frame-num 0.0) + (ja-no-eval :group! jakb-board-get-on-land-ja :num! (seek! max 1.8) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek! max 1.8)) @@ -667,15 +667,15 @@ (ground-tween-initialize gp-0 (the-as uint 0) - (the-as uint (-> self draw art-group data 153)) - (the-as uint (-> self draw art-group data 163)) - (the-as uint (-> self draw art-group data 164)) - (the-as uint (-> self draw art-group data 162)) - (the-as uint (-> self draw art-group data 161)) + (the-as uint jakb-board-turn-ja) + (the-as uint jakb-board-turn-up-ja) + (the-as uint jakb-board-turn-down-ja) + (the-as uint jakb-board-turn-right-ja) + (the-as uint jakb-board-turn-left-ja) f30-0 ) ) - (ja :chan 3 :group! (-> self draw art-group data 152)) + (ja :chan 3 :group! jakb-board-duck-turn-ja) (until #f (target-board-turn-anim 0) (let ((f0-10 (* 1.6 (-> self control ctrl-slope-z))) @@ -701,13 +701,9 @@ (set! (-> a0-27 frame-interp 1) f0-14) (set! (-> a0-27 frame-interp 0) f0-14) ) - (set! (-> a0-27 frame-group) (the-as art-joint-anim (-> self draw art-group data 152))) + (set! (-> a0-27 frame-group) (the-as art-joint-anim jakb-board-duck-turn-ja)) (set! (-> a0-27 param 0) 0.0) - (joint-control-channel-group-eval! - a0-27 - (the-as art-joint-anim (-> self draw art-group data 152)) - num-func-chan - ) + (joint-control-channel-group-eval! a0-27 (the-as art-joint-anim jakb-board-duck-turn-ja) num-func-chan) ) ) (else @@ -716,13 +712,9 @@ (set! (-> a0-28 frame-interp 1) f0-17) (set! (-> a0-28 frame-interp 0) f0-17) ) - (set! (-> a0-28 frame-group) (the-as art-joint-anim (-> self draw art-group data 177))) + (set! (-> a0-28 frame-group) (the-as art-joint-anim jakb-board-air-turn-ja)) (set! (-> a0-28 param 0) 0.0) - (joint-control-channel-group-eval! - a0-28 - (the-as art-joint-anim (-> self draw art-group data 177)) - num-func-chan - ) + (joint-control-channel-group-eval! a0-28 (the-as art-joint-anim jakb-board-air-turn-ja) num-func-chan) ) ) ) @@ -1010,7 +1002,7 @@ (case arg2 (('hit) (ja-channel-push! 1 (seconds 0.05)) - (ja-no-eval :group! (-> self draw art-group data 158) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! jakb-board-hit-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -1019,7 +1011,7 @@ ) (else (ja-channel-push! 1 (seconds 0.05)) - (ja :group! (-> self draw art-group data 155) :num! min) + (ja :group! jakb-board-jump-ja :num! min) (suspend) (until (ja-done? 0) (let ((f30-0 (vector-dot (-> self control dynam gravity-normal) (-> self control transv))) @@ -1049,7 +1041,7 @@ (ja-channel-push! 1 (seconds 0.05)) ) ) - (ja :group! (-> self draw art-group data 156)) + (ja :group! jakb-board-jump-loop-ja) (until #f (suspend) (ja :num! (loop!)) @@ -1285,23 +1277,17 @@ (cond ((not (time-elapsed? (-> self board halfpipe-jump-time) (seconds 0.5))) (ja-channel-push! 1 (seconds 0.05)) - (ja-no-eval :group! (-> self draw art-group data 155) :num! (seek! (ja-aframe 8.0 0) 0.5) :frame-num 0.0) + (ja-no-eval :group! jakb-board-jump-ja :num! (seek! (ja-aframe 8.0 0) 0.5) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek! (ja-aframe 8.0 0) 0.5)) ) - (ja-no-eval :group! (-> self draw art-group data 155) - :num! (seek! (ja-aframe 10.0 0) 0.2) - :frame-num (ja-aframe 8.0 0) - ) + (ja-no-eval :group! jakb-board-jump-ja :num! (seek! (ja-aframe 10.0 0) 0.2) :frame-num (ja-aframe 8.0 0)) (until (ja-done? 0) (suspend) (ja :num! (seek! (ja-aframe 10.0 0) 0.2)) ) - (ja-no-eval :group! (-> self draw art-group data 155) - :num! (seek! (ja-aframe 12.0 0) 0.1) - :frame-num (ja-aframe 10.0 0) - ) + (ja-no-eval :group! jakb-board-jump-ja :num! (seek! (ja-aframe 12.0 0) 0.1) :frame-num (ja-aframe 10.0 0)) (until (ja-done? 0) (suspend) (ja :num! (seek! (ja-aframe 12.0 0) 0.1)) @@ -1340,19 +1326,19 @@ :code (behavior () (let ((v1-2 (ja-group))) (cond - ((and v1-2 (= v1-2 (-> self draw art-group data 156))) + ((and v1-2 (= v1-2 jakb-board-jump-loop-ja)) ) ((let ((v1-8 (ja-group))) - (and v1-8 (= v1-8 (-> self draw art-group data 187))) + (and v1-8 (= v1-8 jakb-board-noseflip-ja)) ) (ja-no-eval :num! (seek!)) (ja-channel-push! 1 (seconds 0.5)) ) ((let ((v1-22 (ja-group))) - (and v1-22 (or (= v1-22 (-> self draw art-group data 178)) - (= v1-22 (-> self draw art-group data 182)) - (= v1-22 (-> self draw art-group data 159)) - (= v1-22 (-> self draw art-group data 181)) + (and v1-22 (or (= v1-22 jakb-board-flip-backward-ja) + (= v1-22 jakb-board-flip-backward-loop-ja) + (= v1-22 jakb-board-flip-forward-ja) + (= v1-22 jakb-board-flip-forward-loop-ja) ) ) ) @@ -1362,7 +1348,7 @@ (else (let ((v1-36 (ja-group))) (cond - ((and v1-36 (= v1-36 (-> self draw art-group data 176))) + ((and v1-36 (= v1-36 jakb-board-spin-ja)) (ja-no-eval :num! (seek!)) (ja-channel-push! 1 (seconds 0.1)) ) @@ -1376,14 +1362,14 @@ ) (cond ((focus-test? self halfpipe) - (ja :group! (-> self draw art-group data 152) :num! (identity (ja-aframe 0.0 0))) + (ja :group! jakb-board-duck-turn-ja :num! (identity (ja-aframe 0.0 0))) (loop (suspend) (ja-blend-eval) ) ) (else - (ja :group! (-> self draw art-group data 156)) + (ja :group! jakb-board-jump-loop-ja) (loop (suspend) (ja-blend-eval) @@ -1425,13 +1411,13 @@ ) :code (behavior () (ja-channel-push! 1 (seconds 0.1)) - (ja-no-eval :group! (-> self draw art-group data 154) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! jakb-board-jump-kick-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) ) (ja-channel-push! 1 (seconds 2)) - (ja :group! (-> self draw art-group data 156)) + (ja :group! jakb-board-jump-loop-ja) (until #f (suspend) (ja :num! (loop!)) @@ -1465,7 +1451,7 @@ :exit target-board-exit :trans target-board-jump-trans :code (behavior ((arg0 vector) (arg1 float)) - (ja-no-eval :group! (-> self draw art-group data 188) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! jakb-board-jump-kickoff-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (if (and (jump-hit-ground-stuck?) (< 31.0 (ja-aframe-num 0))) (go target-board-hit-ground) @@ -1587,14 +1573,14 @@ (cond ((zero? s4-0) (ja-channel-push! 1 (seconds 0.1)) - (ja-no-eval :group! (-> self draw art-group data 159) :num! (seek! (ja-aframe 15.0 0)) :frame-num 0.0) + (ja-no-eval :group! jakb-board-flip-forward-ja :num! (seek! (ja-aframe 15.0 0)) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek! (ja-aframe 15.0 0))) ) ) (else - (ja-no-eval :group! (-> self draw art-group data 181) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! jakb-board-flip-forward-loop-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -1604,14 +1590,14 @@ ) ((zero? s4-0) (ja-channel-push! 1 (seconds 0.1)) - (ja-no-eval :group! (-> self draw art-group data 178) :num! (seek! (ja-aframe 10.0 0)) :frame-num 0.0) + (ja-no-eval :group! jakb-board-flip-backward-ja :num! (seek! (ja-aframe 10.0 0)) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek! (ja-aframe 10.0 0))) ) ) (else - (ja-no-eval :group! (-> self draw art-group data 182) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! jakb-board-flip-backward-loop-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -1626,7 +1612,7 @@ ) (cond (gp-0 - (ja-no-eval :group! (-> self draw art-group data 159) :num! (seek!) :frame-num (ja-aframe 15.0 0)) + (ja-no-eval :group! jakb-board-flip-forward-ja :num! (seek!) :frame-num (ja-aframe 15.0 0)) (until (ja-done? 0) (if (jump-hit-ground-stuck?) (go target-board-hit-ground) @@ -1636,7 +1622,7 @@ ) ) (else - (ja-no-eval :group! (-> self draw art-group data 178) :num! (seek!) :frame-num (ja-aframe 10.0 0)) + (ja-no-eval :group! jakb-board-flip-backward-ja :num! (seek!) :frame-num (ja-aframe 10.0 0)) (until (ja-done? 0) (if (jump-hit-ground-stuck?) (go target-board-hit-ground) @@ -1695,7 +1681,7 @@ (-> v1-3 id) ) (let ((v1-7 (ja-group))) - (if (and v1-7 (= v1-7 (-> self draw art-group data 187))) + (if (and v1-7 (= v1-7 jakb-board-noseflip-ja)) (sound-play "board-boots") ) ) @@ -1735,25 +1721,25 @@ ((< f30-0 0.0) (let ((v1-3 (ja-group))) (cond - ((and v1-3 (= v1-3 (-> self draw art-group data 183))) + ((and v1-3 (= v1-3 jakb-board-method-loop-ja)) (ja :num! (loop!)) ) (else (add-to-trick-list (-> self board) (board-tricks board-method) 500.0) (set! (-> self board unknown-sound-id01) (sound-play "board-method")) (ja-channel-push! 1 (seconds 0.08)) - (ja-no-eval :group! (-> self draw art-group data 174) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! jakb-board-method-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) ) - (ja :group! (-> self draw art-group data 183) :num! min) + (ja :group! jakb-board-method-loop-ja :num! min) ) ) ) ) ((let ((v1-45 (ja-group))) - (and v1-45 (= v1-45 (-> self draw art-group data 185))) + (and v1-45 (= v1-45 jakb-board-nosegrab-loop-ja)) ) (ja :num! (loop!)) ) @@ -1761,18 +1747,18 @@ (add-to-trick-list (-> self board) (board-tricks board-nosegrab) 500.0) (set! (-> self board unknown-sound-id01) (sound-play "board-nosegrab")) (ja-channel-push! 1 (seconds 0.08)) - (ja-no-eval :group! (-> self draw art-group data 173) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! jakb-board-nosegrab-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) ) - (ja :group! (-> self draw art-group data 185) :num! min) + (ja :group! jakb-board-nosegrab-loop-ja :num! min) ) (else (add-to-trick-list (-> self board) (board-tricks board-noseflip) 500.0) (set! (-> self board unknown-sound-id01) (sound-play "board-noseflip")) (ja-channel-push! 1 (seconds 0.08)) - (ja-no-eval :group! (-> self draw art-group data 187) :num! (seek! (ja-aframe 20.0 0)) :frame-num 0.0) + (ja-no-eval :group! jakb-board-noseflip-ja :num! (seek! (ja-aframe 20.0 0)) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek! (ja-aframe 20.0 0))) @@ -1787,19 +1773,19 @@ (label cfg-36) (let ((v1-121 (ja-group))) (cond - ((and v1-121 (= v1-121 (-> self draw art-group data 183))) + ((and v1-121 (= v1-121 jakb-board-method-loop-ja)) (ja-channel-push! 1 (seconds 0.08)) - (ja-no-eval :group! (-> self draw art-group data 184) :num! (seek! max 1.5) :frame-num 0.0) + (ja-no-eval :group! jakb-board-method-end-ja :num! (seek! max 1.5) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek! max 1.5)) ) ) ((let ((v1-151 (ja-group))) - (and v1-151 (= v1-151 (-> self draw art-group data 185))) + (and v1-151 (= v1-151 jakb-board-nosegrab-loop-ja)) ) (ja-channel-push! 1 (seconds 0.08)) - (ja-no-eval :group! (-> self draw art-group data 186) :num! (seek! max 1.5) :frame-num 0.0) + (ja-no-eval :group! jakb-board-nosegrab-end-ja :num! (seek! max 1.5) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek! max 1.5)) @@ -1882,19 +1868,19 @@ (add-to-trick-list (-> self board) (board-tricks board-kickflip) 500.0) (set! (-> self board unknown-sound-id01) (sound-play "board-kickflip")) (ja-channel-push! 1 (seconds 0.07)) - (ja-no-eval :group! (-> self draw art-group data 175) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! jakb-board-kickflip-a-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) ) (send-event (ppointer->process (-> self sidekick)) 'matrix #f) - (ja-no-eval :group! (-> self draw art-group data 192) :num! (seek! max 1.05) :frame-num 0.0) + (ja-no-eval :group! jakb-board-kickflip-b-ja :num! (seek! max 1.05) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek! max 1.05)) ) (send-event (ppointer->process (-> self sidekick)) 'matrix 'board) - (ja-no-eval :group! (-> self draw art-group data 193) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! jakb-board-kickflip-c-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -1904,7 +1890,7 @@ (add-to-trick-list (-> self board) (board-tricks board-board-spin) 500.0) (set! (-> self board unknown-sound-id01) (sound-play "board-boardspin")) (ja-channel-push! 1 (seconds 0.05)) - (ja-no-eval :group! (-> self draw art-group data 176) :num! (seek! max 0.95) :frame-num 0.0) + (ja-no-eval :group! jakb-board-spin-ja :num! (seek! max 0.95) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek! max 0.95)) @@ -1958,7 +1944,7 @@ (set! (-> self control mod-surface) *board-walk-mods*) (let ((v1-3 (ja-group))) (cond - ((and v1-3 (or (= v1-3 (-> self draw art-group data 184)) (= v1-3 (-> self draw art-group data 186)))) + ((and v1-3 (or (= v1-3 jakb-board-method-end-ja) (= v1-3 jakb-board-nosegrab-end-ja))) (ja-no-eval :num! (seek! max 1.5)) (while (not (ja-done? 0)) (suspend) @@ -1966,20 +1952,20 @@ ) ) ((let ((v1-18 (ja-group))) - (and v1-18 (= v1-18 (-> self draw art-group data 183))) + (and v1-18 (= v1-18 jakb-board-method-loop-ja)) ) (ja-channel-push! 1 (seconds 0.08)) - (ja-no-eval :group! (-> self draw art-group data 184) :num! (seek! max 1.5) :frame-num 0.0) + (ja-no-eval :group! jakb-board-method-end-ja :num! (seek! max 1.5) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek! max 1.5)) ) ) ((let ((v1-48 (ja-group))) - (and v1-48 (= v1-48 (-> self draw art-group data 185))) + (and v1-48 (= v1-48 jakb-board-nosegrab-loop-ja)) ) (ja-channel-push! 1 (seconds 0.08)) - (ja-no-eval :group! (-> self draw art-group data 186) :num! (seek! max 1.5) :frame-num 0.0) + (ja-no-eval :group! jakb-board-nosegrab-end-ja :num! (seek! max 1.5) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek! max 1.5)) @@ -2259,16 +2245,16 @@ (let* ((v1-1 (-> self board ride-mode)) (gp-0 (cond ((zero? v1-1) - (-> self draw art-group data 167) + jakb-board-ride-turn-front-ja ) ((= v1-1 1) - (-> self draw art-group data 166) + jakb-board-ride-turn-back-ja ) ((= v1-1 2) - (-> self draw art-group data 169) + jakb-board-ride-turn-left-ja ) ((= v1-1 3) - (-> self draw art-group data 168) + jakb-board-ride-turn-right-ja ) (else (the-as art-element #f) @@ -2368,12 +2354,12 @@ ) :code (behavior ((arg0 handle)) (ja-channel-push! 1 (seconds 0.05)) - (ja-no-eval :group! (-> self draw art-group data 172) :num! (seek! (ja-aframe 19.0 0)) :frame-num 0.0) + (ja-no-eval :group! jakb-board-grenade-ja :num! (seek! (ja-aframe 19.0 0)) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek! (ja-aframe 19.0 0))) ) - (let ((a1-5 (-> self node-list data 41)) + (let ((a1-5 (joint-node-index jakb-lod0-jg extra)) (s5-2 (new 'stack-no-clear 'projectile-init-by-other-params)) ) (let ((a0-7 (handle->process arg0))) @@ -2536,7 +2522,7 @@ ) ) ) - (ja-no-eval :group! (-> self draw art-group data 170) :num! (seek! max f30-1) :frame-num 0.0) + (ja-no-eval :group! jakb-board-get-on-ja :num! (seek! max f30-1) :frame-num 0.0) (until (ja-done? 0) (when (logtest? (-> self control status) (collide-status on-surface)) (set! (-> self board turn-anim-duck-vel) 0.0) @@ -2578,7 +2564,7 @@ ) :exit target-board-exit :code (behavior ((arg0 handle)) - (let ((s4-0 (-> self draw art-group data 195)) + (let ((s4-0 jakb-board-attack-pegasus-ja) (f30-0 0.0) (s5-0 #t) ) @@ -2752,7 +2738,7 @@ (cond ((= v1-1 'hit) (ja-channel-push! 1 (seconds 0.1)) - (ja-no-eval :group! (-> self draw art-group data 194) :num! (seek! (ja-aframe 24.0 0) 2.5) :frame-num 0.0) + (ja-no-eval :group! jakb-board-hit-get-off-ja :num! (seek! (ja-aframe 24.0 0) 2.5) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek! (ja-aframe 24.0 0) 2.5)) @@ -2760,13 +2746,13 @@ ) ((-> self control unknown-spool-anim00) (ja-channel-push! 1 (seconds 0.1)) - (ja-no-eval :group! (-> self draw art-group data 191) :num! (seek! max f30-0) :frame-num 0.0) + (ja-no-eval :group! jakb-board-get-off-pre-ja :num! (seek! max f30-0) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek! max f30-0)) ) (send-event (ppointer->process (-> self sidekick)) 'matrix 'normal) - (ja-no-eval :group! (-> self draw art-group data 171) :num! (seek! (ja-aframe 24.0 0) f30-0) :frame-num 0.0) + (ja-no-eval :group! jakb-board-get-off-ja :num! (seek! (ja-aframe 24.0 0) f30-0) :frame-num 0.0) (until (ja-done? 0) (if (and (jump-hit-ground-stuck?) (>= (ja-aframe-num 0) 14.0)) (go target-falling #f) @@ -2779,7 +2765,7 @@ (set! f30-0 (fmax 0.5 (fmin 2.0 (/ 150.0 (the float (target-time-to-ground)))))) (ja-channel-push! 1 (seconds 0.1)) (send-event (ppointer->process (-> self sidekick)) 'matrix 'normal) - (ja-no-eval :group! (-> self draw art-group data 171) + (ja-no-eval :group! jakb-board-get-off-ja :num! (seek! (ja-aframe 24.0 0) f30-0) :frame-num (ja-aframe 11.0 0) ) @@ -2886,9 +2872,9 @@ ) :code (behavior ((arg0 symbol)) (let ((v1-2 (ja-group))) - (when (not (and v1-2 (= v1-2 (-> self draw art-group data 151)))) + (when (not (and v1-2 (= v1-2 jakb-board-stance-ja))) (ja-channel-push! 1 (seconds 0.1)) - (ja :group! (-> self draw art-group data 151) :num! (identity (ja-aframe 0.0 0))) + (ja :group! jakb-board-stance-ja :num! (identity (ja-aframe 0.0 0))) ) ) (until #f @@ -3074,11 +3060,11 @@ ) (set! (-> self control mod-surface) *smack-mods*) (let ((v1-92 (ja-group))) - (when (not (and v1-92 (or (= v1-92 (-> self draw art-group data 158)) (= v1-92 (-> self draw art-group data 165))))) + (when (not (and v1-92 (or (= v1-92 jakb-board-hit-ja) (= v1-92 jakb-board-hit-forward-ja)))) (ja-channel-push! 1 (seconds 0.075)) (if (or (= (-> gp-0 mode) 'shock) (= (-> gp-0 mode) 'shock-red) (= (-> gp-0 mode) 'shockup)) - (ja :group! (-> self draw art-group data 189) :num! min) - (ja :group! (-> self draw art-group data 158) :num! min) + (ja :group! jakb-board-hit-elec-ja :num! min) + (ja :group! jakb-board-hit-ja :num! min) ) ) ) diff --git a/test/decompiler/reference/jak2/engine/target/board/board-util_REF.gc b/test/decompiler/reference/jak2/engine/target/board/board-util_REF.gc index 16b9048303d..e2119833557 100644 --- a/test/decompiler/reference/jak2/engine/target/board/board-util_REF.gc +++ b/test/decompiler/reference/jak2/engine/target/board/board-util_REF.gc @@ -110,10 +110,10 @@ (ja-channel-push! 1 (seconds 0.1)) (cond (arg0 - (ja :group! (-> self draw art-group data 4) :num! max) + (ja :group! board-close-ja :num! max) ) (else - (ja-no-eval :group! (-> self draw art-group data 4) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! board-close-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -173,7 +173,7 @@ :code (behavior () (set! (-> self draw shadow) (-> self shadow-backup)) (ja-channel-push! 1 (seconds 0.1)) - (ja-no-eval :group! (-> self draw art-group data 3) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! board-open-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) diff --git a/test/decompiler/reference/jak2/engine/target/gun/gun-states_REF.gc b/test/decompiler/reference/jak2/engine/target/gun/gun-states_REF.gc index 3645f1fa35e..d651cdf6902 100644 --- a/test/decompiler/reference/jak2/engine/target/gun/gun-states_REF.gc +++ b/test/decompiler/reference/jak2/engine/target/gun/gun-states_REF.gc @@ -13,18 +13,18 @@ (cond ((= gp-0 2) (if (logtest? (-> self game features) (game-feature gun-upgrade-speed)) - (set! (-> self control unknown-word04) (the-as uint (-> self draw art-group data 309))) - (set! (-> self control unknown-word04) (the-as uint (-> self draw art-group data 256))) + (set! (-> self control unknown-word04) (the-as uint jakb-gun-red-fire-fast-ja)) + (set! (-> self control unknown-word04) (the-as uint jakb-gun-red-fire-ja)) ) ) ((= gp-0 4) - (set! (-> self control unknown-word04) (the-as uint (-> self draw art-group data 259))) + (set! (-> self control unknown-word04) (the-as uint jakb-gun-dark-fire-ja)) ) ((= gp-0 1) - (set! (-> self control unknown-word04) (the-as uint (-> self draw art-group data 246))) + (set! (-> self control unknown-word04) (the-as uint jakb-gun-yellow-fire-low-ja)) ) ((= gp-0 3) - (set! (-> self control unknown-word04) (the-as uint (-> self draw art-group data 258))) + (set! (-> self control unknown-word04) (the-as uint jakb-gun-blue-fire-single-ja)) ) ) ) diff --git a/test/decompiler/reference/jak2/engine/target/gun/gun-util_REF.gc b/test/decompiler/reference/jak2/engine/target/gun/gun-util_REF.gc index bb8f6cac200..cb960ce6906 100644 --- a/test/decompiler/reference/jak2/engine/target/gun/gun-util_REF.gc +++ b/test/decompiler/reference/jak2/engine/target/gun/gun-util_REF.gc @@ -551,7 +551,7 @@ (ja-channel-set! 1) (set! (-> self read-scale) #f) (until #f - (ja-no-eval :group! (-> self draw art-group data 12) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! gun-idle-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -626,84 +626,84 @@ (set! (-> self gun-type) a0-5) (cond ((and (= v1-0 (pickup-type eco-yellow)) (= a0-5 (pickup-type eco-red))) - (ja-no-eval :group! (-> self draw art-group data 28) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! gun-gun-yellow-red-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) ) ) ((and (= v1-0 (pickup-type eco-yellow)) (= a0-5 (pickup-type eco-blue))) - (ja-no-eval :group! (-> self draw art-group data 27) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! gun-gun-yellow-blue-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) ) ) ((and (= v1-0 (pickup-type eco-yellow)) (= a0-5 (pickup-type eco-dark))) - (ja-no-eval :group! (-> self draw art-group data 26) :num! (seek! 0.0) :frame-num max) + (ja-no-eval :group! gun-gun-dark-yellow-ja :num! (seek! 0.0) :frame-num max) (until (ja-done? 0) (suspend) (ja :num! (seek! 0.0)) ) ) ((and (= v1-0 (pickup-type eco-red)) (= a0-5 (pickup-type eco-yellow))) - (ja-no-eval :group! (-> self draw art-group data 28) :num! (seek! 0.0) :frame-num max) + (ja-no-eval :group! gun-gun-yellow-red-ja :num! (seek! 0.0) :frame-num max) (until (ja-done? 0) (suspend) (ja :num! (seek! 0.0)) ) ) ((and (= v1-0 (pickup-type eco-red)) (= a0-5 (pickup-type eco-blue))) - (ja-no-eval :group! (-> self draw art-group data 30) :num! (seek! 0.0) :frame-num max) + (ja-no-eval :group! gun-gun-blue-red-ja :num! (seek! 0.0) :frame-num max) (until (ja-done? 0) (suspend) (ja :num! (seek! 0.0)) ) ) ((and (= v1-0 (pickup-type eco-red)) (= a0-5 (pickup-type eco-dark))) - (ja-no-eval :group! (-> self draw art-group data 23) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! gun-gun-red-dark-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) ) ) ((and (= v1-0 (pickup-type eco-blue)) (= a0-5 (pickup-type eco-yellow))) - (ja-no-eval :group! (-> self draw art-group data 27) :num! (seek! 0.0) :frame-num max) + (ja-no-eval :group! gun-gun-yellow-blue-ja :num! (seek! 0.0) :frame-num max) (until (ja-done? 0) (suspend) (ja :num! (seek! 0.0)) ) ) ((and (= v1-0 (pickup-type eco-blue)) (= a0-5 (pickup-type eco-red))) - (ja-no-eval :group! (-> self draw art-group data 30) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! gun-gun-blue-red-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) ) ) ((and (= v1-0 (pickup-type eco-blue)) (= a0-5 (pickup-type eco-dark))) - (ja-no-eval :group! (-> self draw art-group data 29) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! gun-gun-blue-dark-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) ) ) ((and (= v1-0 (pickup-type eco-dark)) (= a0-5 (pickup-type eco-yellow))) - (ja-no-eval :group! (-> self draw art-group data 26) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! gun-gun-dark-yellow-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) ) ) ((and (= v1-0 (pickup-type eco-dark)) (= a0-5 (pickup-type eco-red))) - (ja-no-eval :group! (-> self draw art-group data 23) :num! (seek! 0.0) :frame-num max) + (ja-no-eval :group! gun-gun-red-dark-ja :num! (seek! 0.0) :frame-num max) (until (ja-done? 0) (suspend) (ja :num! (seek! 0.0)) ) ) ((and (= v1-0 (pickup-type eco-dark)) (= a0-5 (pickup-type eco-blue))) - (ja-no-eval :group! (-> self draw art-group data 29) :num! (seek! 0.0) :frame-num max) + (ja-no-eval :group! gun-gun-blue-dark-ja :num! (seek! 0.0) :frame-num max) (until (ja-done? 0) (suspend) (ja :num! (seek! 0.0)) @@ -714,16 +714,16 @@ (let* ((v1-268 (-> self gun-type)) (gp-0 (cond ((= v1-268 (pickup-type eco-yellow)) - (-> self draw art-group data 15) + gun-idle-yellow-ja ) ((= v1-268 (pickup-type eco-red)) - (-> self draw art-group data 13) + gun-idle-red-ja ) ((= v1-268 (pickup-type eco-blue)) - (-> self draw art-group data 16) + gun-idle-blue-ja ) (else - (-> self draw art-group data 14) + gun-idle-dark-ja ) ) ) @@ -806,7 +806,7 @@ ((string= s2-0 "jakb-gun-blue-takeout") (if (>= f30-0 (-> s3-1 artist-base)) (ja :group! s3-1 :num! (identity (ja-aframe f30-0 0))) - (ja :group! (-> self draw art-group data 12)) + (ja :group! gun-idle-ja) ) ) ((or (string= s2-0 "jakb-gun-dark-takeout") (string= s2-0 "jakb-pilot-gun-dark-takeout")) @@ -819,7 +819,7 @@ (ja :group! s3-1 :num! (identity (ja-aframe f30-0 0))) ) (else - (ja :group! (-> self draw art-group data 12)) + (ja :group! gun-idle-ja) ) ) ) @@ -852,7 +852,7 @@ ) ) ) - (vector<-cspace! (-> (the-as target gp-0) gun fire-point) (-> (the-as gun self) node-list data 13)) + (vector<-cspace! (-> (the-as target gp-0) gun fire-point) (joint-node-index gun-lod0-jg muzzle)) (set! (-> (the-as target gp-0) gun fire-dir 1 quad) (-> (the-as target gp-0) gun fire-dir 0 quad)) (cond ((and (handle->process (-> (the-as target gp-0) gun track-target 0 handle)) @@ -884,7 +884,7 @@ ) ) ) - (vector<-cspace! (-> (the-as target gp-0) gun laser-point) (-> (the-as gun self) node-list data 14)) + (vector<-cspace! (-> (the-as target gp-0) gun laser-point) (joint-node-index gun-lod0-jg laser)) (set! (-> (the-as target gp-0) gun laser-dir 1 quad) (-> (the-as target gp-0) gun laser-dir 0 quad)) (set! (-> (the-as target gp-0) gun laser-dir 0 quad) (-> (the-as target gp-0) gun fire-dir-out quad)) (if s5-0 diff --git a/test/decompiler/reference/jak2/engine/target/logic-target_REF.gc b/test/decompiler/reference/jak2/engine/target/logic-target_REF.gc index d0142f5d6a3..071009e6c51 100644 --- a/test/decompiler/reference/jak2/engine/target/logic-target_REF.gc +++ b/test/decompiler/reference/jak2/engine/target/logic-target_REF.gc @@ -2312,7 +2312,7 @@ ((and (and (-> self next-state) (= (-> self next-state name) 'target-clone-anim)) (and (not (logtest? (-> self draw status) (draw-control-status no-draw))) (begin - (vector<-cspace! s5-0 (-> self node-list data 3)) + (vector<-cspace! s5-0 (joint-node-index jakb-lod0-jg main)) (+! (-> s5-0 y) -5896.192) (< (fabs (- (-> s5-0 y) (-> self control trans y))) 8192.0) ) @@ -2338,7 +2338,7 @@ ) (set! (-> s5-0 y) (- (-> self water surface-height) (-> self water swim-height))) ) - (vector<-cspace! gp-0 (-> self node-list data 6)) + (vector<-cspace! gp-0 (joint-node-index jakb-lod0-jg chest)) (cond ((>= (+ (current-time) (seconds -2)) (-> self control unknown-time-frame26)) (set! (-> self control camera-pos quad) (-> s5-0 quad)) diff --git a/test/decompiler/reference/jak2/engine/target/mech/grunt-mech_REF.gc b/test/decompiler/reference/jak2/engine/target/mech/grunt-mech_REF.gc index a42f83fb3d7..ebdc81ec3cb 100644 --- a/test/decompiler/reference/jak2/engine/target/mech/grunt-mech_REF.gc +++ b/test/decompiler/reference/jak2/engine/target/mech/grunt-mech_REF.gc @@ -417,7 +417,7 @@ (let ((gp-0 (new 'stack-no-clear 'matrix))) (quaternion-copy! (the-as quaternion (-> gp-0 vector)) (-> self root quat)) (set! (-> gp-0 vector 1 quad) (-> self root trans quad)) - (ja-no-eval :group! (-> self draw art-group data 48) :num! (seek! max 0.769) :frame-num 0.0) + (ja-no-eval :group! grunt-mech-lunge-ja :num! (seek! max 0.769) :frame-num 0.0) (until (ja-done? 0) (let ((s5-0 *grunt-mech-info*)) (grunt-mech-info-method-10 s5-0) @@ -619,7 +619,7 @@ ) ) :code (behavior () - (ja-no-eval :group! (-> self draw art-group data 49) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! grunt-mech-grab-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -635,15 +635,12 @@ (ja-channel-push! 1 (seconds 0.13)) (countdown (s5-0 (get-rand-int-range self 1 2)) (let ((s4-0 #t)) - (ja-no-eval :group! (-> self draw art-group data 51) :num! (seek! (ja-aframe 17.0 0) 0.222) :frame-num 0.0) + (ja-no-eval :group! grunt-mech-head-butt-ja :num! (seek! (ja-aframe 17.0 0) 0.222) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek! (ja-aframe 17.0 0) 0.222)) ) - (ja-no-eval :group! (-> self draw art-group data 51) - :num! (seek! (ja-aframe 20.0 0)) - :frame-num (ja-aframe 17.0 0) - ) + (ja-no-eval :group! grunt-mech-head-butt-ja :num! (seek! (ja-aframe 20.0 0)) :frame-num (ja-aframe 17.0 0)) (until (ja-done? 0) (when (and s4-0 (>= (ja-aframe-num 0) 18.5)) (grunt-mech-method-194 self) @@ -660,12 +657,12 @@ (ja-channel-push! 1 (seconds 0.13)) (countdown (s5-1 (get-rand-int-range self 1 3)) (let ((s4-1 #t)) - (ja-no-eval :group! (-> self draw art-group data 52) :num! (seek! (ja-aframe 24.0 0) 0.568) :frame-num 0.0) + (ja-no-eval :group! grunt-mech-punch-left-ja :num! (seek! (ja-aframe 24.0 0) 0.568) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek! (ja-aframe 24.0 0) 0.568)) ) - (ja-no-eval :group! (-> self draw art-group data 52) + (ja-no-eval :group! grunt-mech-punch-left-ja :num! (seek! (ja-aframe 28.0 0) 2.0) :frame-num (ja-aframe 24.0 0) ) @@ -685,12 +682,12 @@ (ja-channel-push! 1 (seconds 0.13)) (countdown (s5-2 (get-rand-int-range self 1 3)) (let ((s4-2 #t)) - (ja-no-eval :group! (-> self draw art-group data 53) :num! (seek! (ja-aframe 30.0 0) 0.111) :frame-num 0.0) + (ja-no-eval :group! grunt-mech-double-pound-ja :num! (seek! (ja-aframe 30.0 0) 0.111) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek! (ja-aframe 30.0 0) 0.111)) ) - (ja-no-eval :group! (-> self draw art-group data 53) + (ja-no-eval :group! grunt-mech-double-pound-ja :num! (seek! (ja-aframe 32.0 0) 0.5) :frame-num (ja-aframe 30.0 0) ) @@ -710,7 +707,7 @@ ) (when (= (get-rand-int self 4) 3) (ja-channel-push! 1 (seconds 0.13)) - (ja-no-eval :group! (-> self draw art-group data 50) :num! (seek! max 0.090909) :frame-num 0.0) + (ja-no-eval :group! grunt-mech-idle0-ja :num! (seek! max 0.090909) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek! max 0.090909)) @@ -769,7 +766,7 @@ (quaternion-look-at! (the-as quaternion (-> gp-0 vector 2)) (-> gp-0 vector 1) *up-vector*) (quaternion-copy! (the-as quaternion (-> gp-0 vector)) (-> self root quat)) (set! (-> gp-0 vector 1 quad) (-> self root trans quad)) - (ja-no-eval :group! (-> self draw art-group data 54) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! grunt-mech-dismount-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (let ((f30-0 (lerp-scale 0.0 1.0 (ja-aframe-num 0) 33.0 41.0))) (quaternion-slerp! @@ -797,7 +794,7 @@ ) 0 (logclear! (-> self nav state flags) (nav-state-flag at-target)) - (ja-no-eval :group! (-> self draw art-group data 55) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! grunt-mech-dismount-land-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) diff --git a/test/decompiler/reference/jak2/engine/target/mech/mech-states_REF.gc b/test/decompiler/reference/jak2/engine/target/mech/mech-states_REF.gc index f2a0e5b8862..d96944bca4c 100644 --- a/test/decompiler/reference/jak2/engine/target/mech/mech-states_REF.gc +++ b/test/decompiler/reference/jak2/engine/target/mech/mech-states_REF.gc @@ -99,16 +99,16 @@ ) :code (behavior () (let ((v1-2 (ja-group))) - (when (not (and v1-2 (= v1-2 (-> self draw art-group data 327)))) + (when (not (and v1-2 (= v1-2 jakb-mech-turn90-ja))) (let ((v1-8 (ja-group))) - (if (and v1-8 (= v1-8 (-> self draw art-group data 326))) + (if (and v1-8 (= v1-8 jakb-mech-walk-ja)) (sound-play "mech-stop") ) ) (ja-channel-push! 3 (seconds 0.2)) - (ja :group! (-> self draw art-group data 327) :dist 16384.0) - (ja :chan 1 :group! (-> self draw art-group data 332) :dist 3640.889) - (ja :chan 2 :group! (-> self draw art-group data 324) :dist 0.0) + (ja :group! jakb-mech-turn90-ja :dist 16384.0) + (ja :chan 1 :group! jakb-mech-turn20-ja :dist 3640.889) + (ja :chan 2 :group! jakb-mech-stance-ja :dist 0.0) ) ) (let ((f28-0 0.0) @@ -211,8 +211,8 @@ (let ((gp-0 (ja-group)) (f0-2 (ja-aframe-num 0)) ) - (when (if (or (and (= gp-0 (-> self draw art-group data 326)) (>= f0-2 5.5) (>= 9.5 f0-2)) - (and (= gp-0 (-> self draw art-group data 326)) (>= f0-2 20.5) (>= 24.5 f0-2)) + (when (if (or (and (= gp-0 jakb-mech-walk-ja) (>= f0-2 5.5) (>= 9.5 f0-2)) + (and (= gp-0 jakb-mech-walk-ja) (>= f0-2 20.5) (>= 24.5 f0-2)) ) #t ) @@ -273,14 +273,14 @@ ) (v1-7 (ja-group)) ) - (when (not (and v1-7 (= v1-7 (-> self draw art-group data 326)))) + (when (not (and v1-7 (= v1-7 jakb-mech-walk-ja))) (ja-channel-push! 3 (seconds 0.1)) - (ja :group! (-> self draw art-group data 326) + (ja :group! jakb-mech-walk-ja :num! (identity (ja-aframe f26-0 0)) :dist (-> *TARGET-bank* mech-walk-cycle-dist) ) - (ja :chan 1 :group! (-> self draw art-group data 325) :dist (-> *TARGET-bank* mech-run-cycle-dist)) - (ja :chan 2 :group! (-> self draw art-group data 324) :dist 0.0) + (ja :chan 1 :group! jakb-mech-run-ja :dist (-> *TARGET-bank* mech-run-cycle-dist)) + (ja :chan 2 :group! jakb-mech-stance-ja :dist 0.0) ) ) (until #f @@ -393,7 +393,7 @@ (cond ((zero? v1-26) (set! (-> self mech walk-anim-leg) 1) - (set! s5-0 (-> self draw art-group data 333)) + (set! s5-0 jakb-mech-punch-l-ja) ((method-of-type impact-control initialize) (the-as impact-control (-> self mech state-impact)) (the-as process-drawable (ppointer->process (-> self manipy))) @@ -404,7 +404,7 @@ ) ((= v1-26 1) (set! (-> self mech walk-anim-leg) 0) - (set! s5-0 (-> self draw art-group data 334)) + (set! s5-0 jakb-mech-punch-r-ja) ((method-of-type impact-control initialize) (the-as impact-control (-> self mech state-impact)) (the-as process-drawable (ppointer->process (-> self manipy))) @@ -415,7 +415,7 @@ ) ((= v1-26 2) (set! (-> self mech walk-anim-leg) 0) - (set! s5-0 (-> self draw art-group data 335)) + (set! s5-0 jakb-mech-punch-b-ja) ((method-of-type impact-control initialize) (the-as impact-control (-> self mech state-impact)) (the-as process-drawable (ppointer->process (-> self manipy))) @@ -426,7 +426,7 @@ ) ((= v1-26 3) (set! (-> self mech walk-anim-leg) 0) - (set! s5-0 (-> self draw art-group data 353)) + (set! s5-0 jakb-mech-punch-u-ja) ((method-of-type impact-control initialize) (the-as impact-control (-> self mech state-impact)) (the-as process-drawable (ppointer->process (-> self manipy))) @@ -586,10 +586,10 @@ (compute-alignment! (-> self align)) (when (and (not (focus-test? self dangerous)) (let ((v1-10 (ja-group))) - (and v1-10 (or (= v1-10 (-> self draw art-group data 333)) - (= v1-10 (-> self draw art-group data 334)) - (= v1-10 (-> self draw art-group data 335)) - (= v1-10 (-> self draw art-group data 353)) + (and v1-10 (or (= v1-10 jakb-mech-punch-l-ja) + (= v1-10 jakb-mech-punch-r-ja) + (= v1-10 jakb-mech-punch-b-ja) + (= v1-10 jakb-mech-punch-u-ja) ) ) ) @@ -602,29 +602,21 @@ (let ((s3-0 (ja-group)) (f30-0 (ja-aframe-num 0)) ) - (if (or (and (= s3-0 (-> self draw art-group data 333)) + (if (or (and (= s3-0 jakb-mech-punch-l-ja) (>= f30-0 2.0) - (>= (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 333)) frames num-frames) -1)) - (ja-frame-num 0) - ) + (>= (the float (+ (-> (the-as art-joint-anim jakb-mech-punch-l-ja) frames num-frames) -1)) (ja-frame-num 0)) ) - (and (= s3-0 (-> self draw art-group data 334)) + (and (= s3-0 jakb-mech-punch-r-ja) (>= f30-0 2.0) - (>= (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 334)) frames num-frames) -1)) - (ja-frame-num 0) - ) + (>= (the float (+ (-> (the-as art-joint-anim jakb-mech-punch-r-ja) frames num-frames) -1)) (ja-frame-num 0)) ) - (and (= s3-0 (-> self draw art-group data 335)) + (and (= s3-0 jakb-mech-punch-b-ja) (>= f30-0 2.0) - (>= (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 335)) frames num-frames) -1)) - (ja-frame-num 0) - ) + (>= (the float (+ (-> (the-as art-joint-anim jakb-mech-punch-b-ja) frames num-frames) -1)) (ja-frame-num 0)) ) - (and (= s3-0 (-> self draw art-group data 353)) + (and (= s3-0 jakb-mech-punch-u-ja) (>= f30-0 2.0) - (>= (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 353)) frames num-frames) -1)) - (ja-frame-num 0) - ) + (>= (the float (+ (-> (the-as art-joint-anim jakb-mech-punch-u-ja) frames num-frames) -1)) (ja-frame-num 0)) ) ) (set! s5-0 #t) @@ -635,29 +627,21 @@ (let ((s3-1 (ja-group)) (f30-2 (ja-aframe-num 0)) ) - (when (or (and (= s3-1 (-> self draw art-group data 333)) + (when (or (and (= s3-1 jakb-mech-punch-l-ja) (>= f30-2 21.0) - (>= (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 333)) frames num-frames) -1)) - (ja-frame-num 0) - ) + (>= (the float (+ (-> (the-as art-joint-anim jakb-mech-punch-l-ja) frames num-frames) -1)) (ja-frame-num 0)) ) - (and (= s3-1 (-> self draw art-group data 334)) + (and (= s3-1 jakb-mech-punch-r-ja) (>= f30-2 21.0) - (>= (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 334)) frames num-frames) -1)) - (ja-frame-num 0) - ) + (>= (the float (+ (-> (the-as art-joint-anim jakb-mech-punch-r-ja) frames num-frames) -1)) (ja-frame-num 0)) ) - (and (= s3-1 (-> self draw art-group data 335)) + (and (= s3-1 jakb-mech-punch-b-ja) (>= f30-2 21.0) - (>= (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 335)) frames num-frames) -1)) - (ja-frame-num 0) - ) + (>= (the float (+ (-> (the-as art-joint-anim jakb-mech-punch-b-ja) frames num-frames) -1)) (ja-frame-num 0)) ) - (and (= s3-1 (-> self draw art-group data 353)) + (and (= s3-1 jakb-mech-punch-u-ja) (>= f30-2 21.0) - (>= (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 353)) frames num-frames) -1)) - (ja-frame-num 0) - ) + (>= (the float (+ (-> (the-as art-joint-anim jakb-mech-punch-u-ja) frames num-frames) -1)) (ja-frame-num 0)) ) ) (+! gp-0 1) @@ -678,7 +662,7 @@ (seek! (-> self mech forward-vel) -0.04096 (* 122880.0 (seconds-per-frame))) ) ((let ((a0-43 (ja-group))) - (and a0-43 (or (= a0-43 (-> self draw art-group data 335)) (= a0-43 (-> self draw art-group data 353)))) + (and a0-43 (or (= a0-43 jakb-mech-punch-b-ja) (= a0-43 jakb-mech-punch-u-ja))) ) (cond ((< v1-142 (seconds 0.465)) @@ -695,7 +679,7 @@ (else (let ((a0-50 (ja-group))) (cond - ((and a0-50 (= a0-50 (-> self draw art-group data 333))) + ((and a0-50 (= a0-50 jakb-mech-punch-l-ja)) (cond ((< v1-142 (seconds 0.465)) (seek! (-> self mech forward-vel) 0.0 (* 20480.0 (seconds-per-frame))) @@ -781,7 +765,7 @@ (let ((f0-0 (target-move-dist (-> *TARGET-bank* stuck-time))) (v1-9 (ja-group)) ) - (when (if (and (and v1-9 (= v1-9 (-> self draw art-group data 330))) + (when (if (and (and v1-9 (= v1-9 jakb-mech-jump-loop-ja)) (< f0-0 (-> *TARGET-bank* stuck-distance)) (and (time-elapsed? (-> self state-time) (seconds 2)) (not (and *cheat-mode* (cpad-hold? (-> self control cpad number) r2))) @@ -856,9 +840,9 @@ (cond ((< 0.0 (vector-dot (-> self control dynam gravity-normal) (-> self control transv))) (let ((v1-7 (ja-group))) - (when (not (and v1-7 (= v1-7 (-> self draw art-group data 329)))) + (when (not (and v1-7 (= v1-7 jakb-mech-jump-thrust-ja))) (ja-channel-push! 1 (seconds 0.1)) - (ja :group! (-> self draw art-group data 329) :num! min) + (ja :group! jakb-mech-jump-thrust-ja :num! min) ) ) (suspend) @@ -866,9 +850,9 @@ ) (else (let ((v1-22 (ja-group))) - (when (not (and v1-22 (= v1-22 (-> self draw art-group data 330)))) + (when (not (and v1-22 (= v1-22 jakb-mech-jump-loop-ja))) (ja-channel-push! 1 (seconds 0.5)) - (ja :group! (-> self draw art-group data 330) :num! min) + (ja :group! jakb-mech-jump-loop-ja :num! min) ) ) (suspend) @@ -902,7 +886,7 @@ :trans (-> target-mech-falling trans) :code (behavior ((arg0 float) (arg1 float) (arg2 surface)) (let ((v1-2 (ja-group))) - (if (and v1-2 (= v1-2 (-> self draw art-group data 331))) + (if (and v1-2 (= v1-2 jakb-mech-jump-land-ja)) (ja-channel-push! 1 (seconds 0.5)) (ja-channel-push! 1 (seconds 0.05)) ) @@ -1100,9 +1084,9 @@ ) (set! (-> self control mod-surface) *smack-mods*) (let ((v1-63 (ja-group))) - (when (not (and v1-63 (= v1-63 (-> self draw art-group data 348)))) + (when (not (and v1-63 (= v1-63 jakb-mech-hit-front-ja))) (ja-channel-push! 1 (seconds 0.075)) - (ja :group! (-> self draw art-group data 348) :num! min) + (ja :group! jakb-mech-hit-front-ja :num! min) ) ) (target-hit-move gp-0 (target-hit-orient gp-0 s5-0) target-mech-falling-anim-trans 1.0) @@ -1207,10 +1191,10 @@ ) ) (ja-channel-push! 1 (seconds 0.3)) - (ja-no-eval :group! (-> self draw art-group data 330) :num! (loop! 0.5) :frame-num 0.0) + (ja-no-eval :group! jakb-mech-jump-loop-ja :num! (loop! 0.5) :frame-num 0.0) (let ((gp-3 (current-time))) (until (time-elapsed? gp-3 (seconds 0.8)) - (ja :group! (-> self draw art-group data 330) :num! (loop! 0.5)) + (ja :group! jakb-mech-jump-loop-ja :num! (loop! 0.5)) (suspend) ) ) @@ -1229,8 +1213,8 @@ ) ) (let ((gp-5 (if (zero? (rand-vu-int-count 2)) - (-> self draw art-group data 351) - (-> self draw art-group data 352) + jakb-mech-death-a-ja + jakb-mech-death-b-ja ) ) ) @@ -1322,7 +1306,7 @@ (set! (-> self alt-cam-pos quad) (-> self control trans quad)) (set! (-> self post-hook) target-no-move-post) (ja-channel-set! 1) - (ja-no-eval :group! (-> self draw art-group data 70) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! jakb-death-painful-land-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (set! (-> self control transv quad) (the-as uint128 0)) (vector-seek! @@ -1477,17 +1461,13 @@ (gp-0 #f) ) (ja-channel-push! 2 1) - (ja :group! (-> self draw art-group data 337) :num! min) + (ja :group! jakb-mech-carry-pickup-high-ja :num! min) (let ((a0-2 (-> self skel root-channel 1))) (set! (-> a0-2 frame-interp 1) f30-0) (set! (-> a0-2 frame-interp 0) f30-0) - (set! (-> a0-2 frame-group) (the-as art-joint-anim (-> self draw art-group data 336))) + (set! (-> a0-2 frame-group) (the-as art-joint-anim jakb-mech-carry-pickup-low-ja)) (set! (-> a0-2 param 0) 0.0) - (joint-control-channel-group-eval! - a0-2 - (the-as art-joint-anim (-> self draw art-group data 336)) - num-func-chan - ) + (joint-control-channel-group-eval! a0-2 (the-as art-joint-anim jakb-mech-carry-pickup-low-ja) num-func-chan) ) (suspend) (ja :num! (seek!)) @@ -1566,7 +1546,7 @@ (cond (gp-0 (ja-channel-push! 1 (seconds 0.01)) - (ja-no-eval :group! (-> self draw art-group data 347) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! jakb-mech-drag-pickup-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -1720,17 +1700,13 @@ ) ) (ja-channel-push! 2 (seconds 0.1)) - (ja :group! (-> self draw art-group data 337) :num! max) + (ja :group! jakb-mech-carry-pickup-high-ja :num! max) (let ((a0-19 (-> self skel root-channel 1))) (set! (-> a0-19 frame-interp 1) f30-0) (set! (-> a0-19 frame-interp 0) f30-0) - (set! (-> a0-19 frame-group) (the-as art-joint-anim (-> self draw art-group data 336))) + (set! (-> a0-19 frame-group) (the-as art-joint-anim jakb-mech-carry-pickup-low-ja)) (set! (-> a0-19 param 0) 0.0) - (joint-control-channel-group-eval! - a0-19 - (the-as art-joint-anim (-> self draw art-group data 336)) - num-func-chan - ) + (joint-control-channel-group-eval! a0-19 (the-as art-joint-anim jakb-mech-carry-pickup-low-ja) num-func-chan) ) (suspend) (ja-no-eval :num! (seek! (ja-aframe 8.0 0))) @@ -1891,10 +1867,10 @@ ) :code (behavior () (let ((v1-2 (ja-group))) - (when (not (and v1-2 (= v1-2 (-> self draw art-group data 344)))) + (when (not (and v1-2 (= v1-2 jakb-mech-carry-turn45-ja))) (ja-channel-push! 2 (seconds 0.2)) - (ja :group! (-> self draw art-group data 344) :dist 8192.0) - (ja :chan 1 :group! (-> self draw art-group data 338) :dist 0.0) + (ja :group! jakb-mech-carry-turn45-ja :dist 8192.0) + (ja :chan 1 :group! jakb-mech-carry-stance-ja :dist 0.0) ) ) (let ((f30-0 0.0)) @@ -1946,8 +1922,8 @@ (let ((gp-0 (ja-group)) (f0-0 (ja-aframe-num 0)) ) - (when (if (or (and (= gp-0 (-> self draw art-group data 339)) (>= f0-0 5.5) (>= 9.5 f0-0)) - (and (= gp-0 (-> self draw art-group data 339)) (>= f0-0 20.5) (>= 24.5 f0-0)) + (when (if (or (and (= gp-0 jakb-mech-carry-walk-ja) (>= f0-0 5.5) (>= 9.5 f0-0)) + (and (= gp-0 jakb-mech-carry-walk-ja) (>= f0-0 20.5) (>= 24.5 f0-0)) ) #t ) @@ -2000,13 +1976,13 @@ ) (v1-7 (ja-group)) ) - (when (not (and v1-7 (= v1-7 (-> self draw art-group data 339)))) + (when (not (and v1-7 (= v1-7 jakb-mech-carry-walk-ja))) (ja-channel-push! 2 (seconds 0.1)) - (ja :group! (-> self draw art-group data 339) + (ja :group! jakb-mech-carry-walk-ja :num! (identity (ja-aframe f28-0 0)) :dist (-> *TARGET-bank* mech-walk-cycle-dist) ) - (ja :chan 1 :group! (-> self draw art-group data 338) :dist 0.0) + (ja :chan 1 :group! jakb-mech-carry-stance-ja :dist 0.0) ) ) (until #f @@ -2150,61 +2126,60 @@ ) (if (and (nonzero? (-> self control sliding-start-time)) (< (-> self control sliding-start-time) (current-time))) (send-event self 'drop) - (set! f28-0 - (cond - ((nonzero? (-> self control sliding-start-time)) - (let ((v1-17 (ja-group))) - (when (not (and v1-17 (= v1-17 (-> self draw art-group data 345)))) - (let ((v1-23 (ja-group))) - (if (and v1-23 (= v1-23 (-> self draw art-group data 346))) - (set! f26-0 (ja-aframe-num 0)) + (set! f28-0 (cond + ((nonzero? (-> self control sliding-start-time)) + (let ((v1-17 (ja-group))) + (when (not (and v1-17 (= v1-17 jakb-mech-push-ja))) + (let ((v1-23 (ja-group))) + (if (and v1-23 (= v1-23 jakb-mech-pull-ja)) + (set! f26-0 (ja-aframe-num 0)) + ) + ) + (sound-play "mech-drag-push") + (ja-channel-push! 1 (seconds 0.3)) + (ja :group! jakb-mech-push-ja :num! (identity (ja-aframe f26-0 0)) :dist 16384.0) ) + ) + (when (-> self control unknown-spool-anim00) + (set! (-> self control unknown-word04) (the-as uint #f)) + (set! f28-0 32768.0) + ) + (seek f28-0 0.0 (* 65536.0 (seconds-per-frame))) ) - (sound-play "mech-drag-push") - (ja-channel-push! 1 (seconds 0.3)) - (ja :group! (-> self draw art-group data 345) :num! (identity (ja-aframe f26-0 0)) :dist 16384.0) - ) - ) - (when (-> self control unknown-spool-anim00) - (set! (-> self control unknown-word04) (the-as uint #f)) - (set! f28-0 32768.0) - ) - (seek f28-0 0.0 (* 65536.0 (seconds-per-frame))) - ) - ((< 0.0 f0-2) - (let ((v1-47 (ja-group))) - (when (not (and v1-47 (= v1-47 (-> self draw art-group data 345)))) - (let ((v1-53 (ja-group))) - (if (and v1-53 (= v1-53 (-> self draw art-group data 346))) - (set! f26-0 (ja-aframe-num 0)) + ((< 0.0 f0-2) + (let ((v1-47 (ja-group))) + (when (not (and v1-47 (= v1-47 jakb-mech-push-ja))) + (let ((v1-53 (ja-group))) + (if (and v1-53 (= v1-53 jakb-mech-pull-ja)) + (set! f26-0 (ja-aframe-num 0)) + ) + ) + (sound-play "mech-drag-push") + (ja-channel-push! 1 (seconds 0.3)) + (ja :group! jakb-mech-push-ja :num! (identity (ja-aframe f26-0 0)) :dist 16384.0) ) + ) + (seek f28-0 49152.0 (* 24576.0 (seconds-per-frame))) ) - (sound-play "mech-drag-push") - (ja-channel-push! 1 (seconds 0.3)) - (ja :group! (-> self draw art-group data 345) :num! (identity (ja-aframe f26-0 0)) :dist 16384.0) - ) - ) - (seek f28-0 49152.0 (* 24576.0 (seconds-per-frame))) - ) - ((< f0-2 0.0) - (let ((v1-71 (ja-group))) - (when (not (and v1-71 (= v1-71 (-> self draw art-group data 346)))) - (let ((v1-77 (ja-group))) - (if (and v1-77 (= v1-77 (-> self draw art-group data 345))) - (set! f26-0 (ja-aframe-num 0)) + ((< f0-2 0.0) + (let ((v1-71 (ja-group))) + (when (not (and v1-71 (= v1-71 jakb-mech-pull-ja))) + (let ((v1-77 (ja-group))) + (if (and v1-77 (= v1-77 jakb-mech-push-ja)) + (set! f26-0 (ja-aframe-num 0)) + ) + ) + (sound-play "mech-drag-pull") + (ja-channel-push! 1 (seconds 0.3)) + (ja :group! jakb-mech-pull-ja :num! (identity (ja-aframe f26-0 0)) :dist 16384.0) ) + ) + (seek f28-0 -49152.0 (* 24576.0 (seconds-per-frame))) ) - (sound-play "mech-drag-pull") - (ja-channel-push! 1 (seconds 0.3)) - (ja :group! (-> self draw art-group data 346) :num! (identity (ja-aframe f26-0 0)) :dist 16384.0) - ) - ) - (seek f28-0 -49152.0 (* 24576.0 (seconds-per-frame))) - ) - (else - (seek f28-0 0.0 (* 32768.0 (seconds-per-frame))) - ) - ) + (else + (seek f28-0 0.0 (* 32768.0 (seconds-per-frame))) + ) + ) ) ) ) @@ -2244,7 +2219,7 @@ (set! (-> self mech thruster-flame-width) (* 0.021428572 (-> self mech jump-thrust))) (set! (-> self mech thruster-flame-length) (* 0.028571429 (-> self mech jump-thrust))) (let ((v1-120 (ja-group))) - (if (and v1-120 (or (= v1-120 (-> self draw art-group data 345)) (= v1-120 (-> self draw art-group data 346)))) + (if (and v1-120 (or (= v1-120 jakb-mech-push-ja) (= v1-120 jakb-mech-pull-ja))) (ja :num! (loop! f26-1)) ) ) @@ -2295,21 +2270,21 @@ :code (behavior () (let ((v1-2 (ja-group))) (cond - ((and v1-2 (= v1-2 (-> self draw art-group data 341))) + ((and v1-2 (= v1-2 jakb-mech-carry-jump-loop-ja)) ) (else (ja-channel-push! 1 (seconds 0.33)) - (ja :group! (-> self draw art-group data 341)) + (ja :group! jakb-mech-carry-jump-loop-ja) (while (!= (-> self skel root-channel 0) (-> self skel channel)) (suspend) ) ) ) ) - (ja-no-eval :group! (-> self draw art-group data 341) :num! (loop!) :frame-num 0.0) + (ja-no-eval :group! jakb-mech-carry-jump-loop-ja :num! (loop!) :frame-num 0.0) (until #f (suspend) - (ja :group! (-> self draw art-group data 341) :num! (loop!)) + (ja :group! jakb-mech-carry-jump-loop-ja :num! (loop!)) ) #f ) @@ -2375,7 +2350,7 @@ ) (if (and (!= (-> *cpad-list* cpads (-> self control cpad number) stick0-speed) 0.0) (let ((v1-26 (ja-group))) - (and (and v1-26 (= v1-26 (-> self draw art-group data 342))) (>= (ja-aframe-num 0) 30.0)) + (and (and v1-26 (= v1-26 jakb-mech-carry-jump-land-ja)) (>= (ja-aframe-num 0) 30.0)) ) ) (go target-mech-carry-walk) @@ -2433,9 +2408,9 @@ ) :code (behavior ((arg0 float) (arg1 float) (arg2 symbol)) (ja-channel-push! 1 (seconds 0.05)) - (ja :group! (-> self draw art-group data 340) :num! min) + (ja :group! jakb-mech-carry-jump-ja :num! min) (suspend) - (ja :group! (-> self draw art-group data 340) :num! (+!)) + (ja :group! jakb-mech-carry-jump-ja :num! (+!)) (suspend) (until (ja-done? 0) (let ((f30-0 (vector-dot (-> self control dynam gravity-normal) (-> self control transv))) @@ -2472,7 +2447,7 @@ :exit (-> target-mech-carry-pickup exit) :code (behavior () (ja-channel-push! 1 (seconds 0.1)) - (ja-no-eval :group! (-> self draw art-group data 343) :num! (seek! (ja-aframe 16.0 0)) :frame-num 0.0) + (ja-no-eval :group! jakb-mech-carry-throw-ja :num! (seek! (ja-aframe 16.0 0)) :frame-num 0.0) (until (ja-done? 0) (let ((a1-3 (new 'stack-no-clear 'event-message-block))) (set! (-> a1-3 from) (process->ppointer self)) @@ -2576,7 +2551,7 @@ ) (set! (-> self mech mech-scale quad) (-> self control scale quad)) (set! (-> self mech stick-off) (the-as basic #t)) - (ja-no-eval :group! (-> self draw art-group data 350) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! jakb-mech-get-on-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (let ((f30-0 (sin (lerp-scale 0.0 16384.0 (ja-aframe-num 0) 70.0 80.0)))) (let ((f28-0 (lerp-scale 0.0 1.0 (ja-aframe-num 0) 70.0 80.0))) @@ -2627,11 +2602,11 @@ (send-event *camera* 'set-dist #f #f) (set! (-> self neck flex-blend) 0.0) (ja-channel-push! 1 (seconds 0.1)) - (ja-no-eval :group! (-> self draw art-group data 349) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! jakb-mech-get-off-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (when (< 51.0 (ja-aframe-num 0)) (logior! (-> self state-flags) (state-flags sf6)) - (vector<-cspace! (-> self alt-cam-pos) (-> self node-list data 36)) + (vector<-cspace! (-> self alt-cam-pos) (joint-node-index jakb-lod0-jg Rankle)) ) (suspend) (ja :num! (seek!)) @@ -2648,7 +2623,7 @@ (rot->dir-targ! (-> self control)) (ja-post) (let ((gp-1 (new 'stack-no-clear 'vector))) - (vector<-cspace! gp-1 (-> self node-list data 3)) + (vector<-cspace! gp-1 (joint-node-index jakb-lod0-jg main)) (+! (-> gp-1 y) -9011.2) (move-to-point! (-> self control) gp-1) ) diff --git a/test/decompiler/reference/jak2/engine/target/target-darkjak_REF.gc b/test/decompiler/reference/jak2/engine/target/target-darkjak_REF.gc index f7a1114d109..dcdb17c7f2e 100644 --- a/test/decompiler/reference/jak2/engine/target/target-darkjak_REF.gc +++ b/test/decompiler/reference/jak2/engine/target/target-darkjak_REF.gc @@ -1192,7 +1192,7 @@ (activate! *camera-smush-control* 819.2 15 75 1.0 0.9 (-> *display* camera-clock)) (target-start-attack) (target-danger-set! 'bomb #f) - (set! sv-80 (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 18))) + (set! sv-80 (vector<-cspace! (new 'stack-no-clear 'vector) (joint-node-index jakb-lod0-jg sk_lhand))) (set! sv-84 (lambda :behavior target () (set-vector! (-> self draw color-mult) 0.0 0.0 0.0 1.0) @@ -1598,7 +1598,9 @@ (set! sv-32 (-> self focus-search)) (set! sv-40 0) (set! sv-48 0) - (set! sv-56 (the-as sphere (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 3)))) + (set! sv-56 + (the-as sphere (vector<-cspace! (new 'stack-no-clear 'vector) (joint-node-index jakb-lod0-jg main))) + ) (set! sv-60 (new 'static 'array handle 128 (new 'static 'handle) diff --git a/test/decompiler/reference/jak2/engine/target/target-gun_REF.gc b/test/decompiler/reference/jak2/engine/target/target-gun_REF.gc index 548897ad6d5..c6fb42cfe85 100644 --- a/test/decompiler/reference/jak2/engine/target/target-gun_REF.gc +++ b/test/decompiler/reference/jak2/engine/target/target-gun_REF.gc @@ -1202,7 +1202,7 @@ (>= (current-time) (-> self gun track-target-hold-time)) ) (target-gun-build-track-list) - (let ((t2-0 (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 8)))) + (let ((t2-0 (vector<-cspace! (new 'stack-no-clear 'vector) (joint-node-index jakb-lod0-jg neckB)))) (+! (-> t2-0 y) 2048.0) (cond ((logtest? (surface-flag gun-strafe) (-> self control current-surface flags)) diff --git a/test/decompiler/reference/jak2/engine/target/target-handler_REF.gc b/test/decompiler/reference/jak2/engine/target/target-handler_REF.gc index 9524dd2eeae..d71dc8531fa 100644 --- a/test/decompiler/reference/jak2/engine/target/target-handler_REF.gc +++ b/test/decompiler/reference/jak2/engine/target/target-handler_REF.gc @@ -1347,7 +1347,7 @@ (-> self control) (the-as uint 2) ) - (-> self draw art-group data 104) + jakb-pole-cycle-ja ) (go target-pole-cycle (process->handle arg0)) ) diff --git a/test/decompiler/reference/jak2/engine/target/target-swim_REF.gc b/test/decompiler/reference/jak2/engine/target/target-swim_REF.gc index 9acb600f2cb..5039ef0af1d 100644 --- a/test/decompiler/reference/jak2/engine/target/target-swim_REF.gc +++ b/test/decompiler/reference/jak2/engine/target/target-swim_REF.gc @@ -291,7 +291,7 @@ (spawn-ripples (-> self water) 0.2 - (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 39)) + (vector<-cspace! (new 'stack-no-clear 'vector) (joint-node-index jakb-lod0-jg Rtoes)) 0 (vector-float*! (new 'stack-no-clear 'vector) (-> self control transv) 2.5) #f @@ -302,7 +302,7 @@ (spawn-ripples (-> self water) 0.2 - (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 32)) + (vector<-cspace! (new 'stack-no-clear 'vector) (joint-node-index jakb-lod0-jg Ltoes)) 0 (vector-float*! (new 'stack-no-clear 'vector) (-> self control transv) 2.5) #f diff --git a/test/decompiler/reference/jak2/engine/target/target-turret_REF.gc b/test/decompiler/reference/jak2/engine/target/target-turret_REF.gc index 94cb661b311..3c9482121dd 100644 --- a/test/decompiler/reference/jak2/engine/target/target-turret_REF.gc +++ b/test/decompiler/reference/jak2/engine/target/target-turret_REF.gc @@ -2468,7 +2468,7 @@ This commonly includes things such as: ) (set! (-> self control unknown-handle02) (-> self turret handle)) (ja-channel-set! 1) - (ja :group! (-> self draw art-group data 359)) + (ja :group! jakb-turret-stance-ja) (until v1-19 (suspend) (can-play-stance-amibent?) @@ -2538,7 +2538,7 @@ This commonly includes things such as: ) ) (set! (-> self alt-cam-pos quad) (-> self control camera-pos quad)) - (ja-no-eval :group! (-> self draw art-group data 361) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! jakb-turret-get-on-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (let ((f30-0 (sin (lerp-scale 0.0 16384.0 (ja-aframe-num 0) 0.0 12.0)))) (let ((f28-0 (lerp-scale 0.0 1.0 (ja-aframe-num 0) 0.0 12.0))) @@ -2599,7 +2599,7 @@ This commonly includes things such as: (set! (-> self control unknown-vector40 quad) (-> gp-0 quad)) ) (ja-channel-push! 1 (seconds 0.1)) - (ja-no-eval :group! (-> self draw art-group data 360) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! jakb-turret-get-off-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (cond ((< (ja-aframe-num 0) 88.0) @@ -2644,7 +2644,7 @@ This commonly includes things such as: ) (rot->dir-targ! (-> self control)) (if (< 86.0 (ja-aframe-num 0)) - (vector<-cspace! (-> self alt-cam-pos) (-> self node-list data 36)) + (vector<-cspace! (-> self alt-cam-pos) (joint-node-index jakb-lod0-jg Rankle)) ) (suspend) (ja :num! (seek!)) @@ -2652,7 +2652,7 @@ This commonly includes things such as: (rot->dir-targ! (-> self control)) (ja-post) (let ((gp-4 (new 'stack-no-clear 'vector))) - (vector<-cspace! gp-4 (-> self node-list data 3)) + (vector<-cspace! gp-4 (joint-node-index jakb-lod0-jg main)) (+! (-> gp-4 y) -9011.2) (move-to-point! (-> self control) gp-4) ) diff --git a/test/decompiler/reference/jak2/engine/target/target2_REF.gc b/test/decompiler/reference/jak2/engine/target/target2_REF.gc index dbae22646e4..5da5cccb673 100644 --- a/test/decompiler/reference/jak2/engine/target/target2_REF.gc +++ b/test/decompiler/reference/jak2/engine/target/target2_REF.gc @@ -1479,7 +1479,7 @@ :exit (behavior () (send-event (ppointer->process (-> self sidekick)) 'matrix 'normal) (send-event (ppointer->process (-> self sidekick)) 'shadow #t) - (let ((gp-0 (-> self node-list data 3)) + (let ((gp-0 (joint-node-index jakb-lod0-jg main)) (a1-2 (-> self control camera-pos)) ) (cond diff --git a/test/decompiler/reference/jak2/engine/target/target_REF.gc b/test/decompiler/reference/jak2/engine/target/target_REF.gc index 03e185cbc1e..a89f1bd1c4b 100644 --- a/test/decompiler/reference/jak2/engine/target/target_REF.gc +++ b/test/decompiler/reference/jak2/engine/target/target_REF.gc @@ -2405,7 +2405,7 @@ (spawn-ripples (-> self water) 0.6 - (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 8)) + (vector<-cspace! (new 'stack-no-clear 'vector) (joint-node-index jakb-lod0-jg neckB)) 0 (-> self control transv) #f diff --git a/test/decompiler/reference/jak2/levels/castle/boss/castle-baron_REF.gc b/test/decompiler/reference/jak2/levels/castle/boss/castle-baron_REF.gc index 05770deeecc..832c36a8d15 100644 --- a/test/decompiler/reference/jak2/levels/castle/boss/castle-baron_REF.gc +++ b/test/decompiler/reference/jak2/levels/castle/boss/castle-baron_REF.gc @@ -982,7 +982,7 @@ For example for an elevator pre-compute the distance between the first and last ) ) :code (behavior () - (ja-no-eval :group! (-> self draw art-group data 12) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! krew-clone-birth-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -2801,8 +2801,8 @@ For example for an elevator pre-compute the distance between the first and last (let ((gp-6 (new 'stack-no-clear 'projectile-init-by-other-params))) (let ((s4-0 (new 'stack-no-clear 'vector))) (set! (-> s4-0 quad) (-> (get-trans a0-40 0) quad)) - (let ((s2-0 (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 32))) - (s5-2 (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 33))) + (let ((s2-0 (vector<-cspace! (new 'stack-no-clear 'vector) (joint-node-index krew-lowres-lod0-jg lightC))) + (s5-2 (vector<-cspace! (new 'stack-no-clear 'vector) (joint-node-index krew-lowres-lod0-jg lightEnd))) ) (let ((s3-0 (new 'stack-no-clear 'vector))) 0.0 @@ -2959,7 +2959,7 @@ For example for an elevator pre-compute the distance between the first and last (suspend) ) (ja-channel-push! 1 (seconds 0.1)) - (ja-no-eval :group! (-> self draw art-group data 15) + (ja-no-eval :group! krew-lowres-death-land-ja :num! (seek! max (-> self clock time-adjust-ratio)) :frame-num 0.0 ) diff --git a/test/decompiler/reference/jak2/levels/castle/castle-obs_REF.gc b/test/decompiler/reference/jak2/levels/castle/castle-obs_REF.gc index 9cce38d4355..c3cbbd58689 100644 --- a/test/decompiler/reference/jak2/levels/castle/castle-obs_REF.gc +++ b/test/decompiler/reference/jak2/levels/castle/castle-obs_REF.gc @@ -1204,7 +1204,7 @@ For example for an elevator pre-compute the distance between the first and last ) (('reset) (when (nonzero? (-> self anim-index)) - (ja-no-eval :group! (-> self draw art-group data 3) :num! min) + (ja-no-eval :group! cas-rot-bridge-section-one-ja :num! min) (set! (-> self anim-index) (the-as uint 0)) (set! v0-0 (logclear (-> self mask) (process-mask sleep-code))) (set! (-> self mask) (the-as process-mask v0-0)) @@ -1223,14 +1223,14 @@ For example for an elevator pre-compute the distance between the first and last (when (or (= f0-0 10.0) (= f0-0 40.0) (= f0-0 50.0)) (cond ((= f0-0 10.0) - (ja-no-eval :group! (-> self draw art-group data 3) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! cas-rot-bridge-section-one-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) ) ) (else - (ja-no-eval :group! (-> self draw art-group data 7) :num! (seek! 0.0) :frame-num max) + (ja-no-eval :group! cas-rot-bridge-section-one-reverse-ja :num! (seek! 0.0) :frame-num max) (until (ja-done? 0) (suspend) (ja :num! (seek! 0.0)) @@ -1243,14 +1243,14 @@ For example for an elevator pre-compute the distance between the first and last (when (or (= f0-0 40.0) (= f0-0 50.0) (= f0-0 80.0) (= f0-0 90.0)) (cond ((or (= f0-0 40.0) (= f0-0 50.0)) - (ja-no-eval :group! (-> self draw art-group data 4) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! cas-rot-bridge-section-two-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) ) ) (else - (ja-no-eval :group! (-> self draw art-group data 8) :num! (seek! 0.0) :frame-num max) + (ja-no-eval :group! cas-rot-bridge-section-two-reverse-ja :num! (seek! 0.0) :frame-num max) (until (ja-done? 0) (suspend) (ja :num! (seek! 0.0)) @@ -1263,14 +1263,14 @@ For example for an elevator pre-compute the distance between the first and last (when (or (= f0-0 80.0) (= f0-0 90.0) (= f0-0 120.0)) (cond ((or (= f0-0 80.0) (= f0-0 90.0)) - (ja-no-eval :group! (-> self draw art-group data 5) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! cas-rot-bridge-section-three-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) ) ) (else - (ja-no-eval :group! (-> self draw art-group data 9) :num! (seek! 0.0) :frame-num max) + (ja-no-eval :group! cas-rot-bridge-section-three-reverse-ja :num! (seek! 0.0) :frame-num max) (until (ja-done? 0) (suspend) (ja :num! (seek! 0.0)) @@ -1282,14 +1282,14 @@ For example for an elevator pre-compute the distance between the first and last ((= (-> self anim-index) 3) (cond ((= f0-0 10.0) - (ja-no-eval :group! (-> self draw art-group data 6) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! cas-rot-bridge-single-section-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) ) ) (else - (ja-no-eval :group! (-> self draw art-group data 10) :num! (seek! 0.0) :frame-num max) + (ja-no-eval :group! cas-rot-bridge-single-section-reverse-ja :num! (seek! 0.0) :frame-num max) (until (ja-done? 0) (suspend) (ja :num! (seek! 0.0)) @@ -1355,14 +1355,14 @@ For example for an elevator pre-compute the distance between the first and last (sound-play "track-plat-loop" :id (-> self sound-id) - :position (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 5)) + :position (vector<-cspace! (new 'stack-no-clear 'vector) (joint-node-index cas-rot-bridge-lod0-jg b)) ) (set! (-> self sound-flag) #t) ) ((-> self sound-flag) (sound-play "track-plat-stop" - :position (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 5)) + :position (vector<-cspace! (new 'stack-no-clear 'vector) (joint-node-index cas-rot-bridge-lod0-jg b)) ) (sound-stop (-> self sound-id)) (set! (-> self sound-flag) #f) @@ -1375,14 +1375,14 @@ For example for an elevator pre-compute the distance between the first and last (sound-play "track-plat-loop" :id (-> self sound-id) - :position (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 5)) + :position (vector<-cspace! (new 'stack-no-clear 'vector) (joint-node-index cas-rot-bridge-lod0-jg b)) ) (set! (-> self sound-flag) #t) ) ((-> self sound-flag) (sound-play "track-plat-stop" - :position (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 5)) + :position (vector<-cspace! (new 'stack-no-clear 'vector) (joint-node-index cas-rot-bridge-lod0-jg b)) ) (sound-stop (-> self sound-id)) (set! (-> self sound-flag) #f) @@ -1991,7 +1991,7 @@ This commonly includes things such as: (defstate drop (cas-chain-plat) :virtual #t :code (behavior () - (ja-no-eval :group! (-> self draw art-group data 3) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! cas-chain-plat-drop-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -2132,7 +2132,7 @@ This commonly includes things such as: (sound-play "cas-arm-blade" :id (-> self sound-id) - :position (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 4)) + :position (vector<-cspace! (new 'stack-no-clear 'vector) (joint-node-index cas-rot-blade-lod0-jg blade)) ) ) :code (behavior () @@ -2483,7 +2483,7 @@ This commonly includes things such as: ) :code (behavior () (sound-play "robo-hatch-open") - (ja-no-eval :group! (-> self draw art-group data 2) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! cas-robot-door-idle-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (transform-post) (suspend) @@ -2620,7 +2620,7 @@ This commonly includes things such as: ) ) (sound-play "robo-hatch-cls") - (ja-no-eval :group! (-> self draw art-group data 2) :num! (seek! 0.0) :frame-num max) + (ja-no-eval :group! cas-robot-door-idle-ja :num! (seek! 0.0) :frame-num max) (until (ja-done? 0) (transform-post) (suspend) @@ -2648,7 +2648,7 @@ This commonly includes things such as: :code (behavior () (local-vars (v1-28 symbol)) (sound-play "robo-hatch-cls") - (ja-no-eval :group! (-> self draw art-group data 2) :num! (seek! 0.0) :frame-num max) + (ja-no-eval :group! cas-robot-door-idle-ja :num! (seek! 0.0) :frame-num max) (until (ja-done? 0) (transform-post) (suspend) diff --git a/test/decompiler/reference/jak2/levels/castle/roboguard-level_REF.gc b/test/decompiler/reference/jak2/levels/castle/roboguard-level_REF.gc index da554fb997a..3e45272ffd8 100644 --- a/test/decompiler/reference/jak2/levels/castle/roboguard-level_REF.gc +++ b/test/decompiler/reference/jak2/levels/castle/roboguard-level_REF.gc @@ -405,9 +405,9 @@ ) :code (behavior () (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 frame-group) (the-as art-joint-anim (-> self draw art-group data 9))) + (set! (-> a0-0 frame-group) (the-as art-joint-anim roboguard-idle-to-ball-ja)) (set! (-> a0-0 frame-num) 3.0) - (joint-control-channel-group! a0-0 (the-as art-joint-anim (-> self draw art-group data 9)) num-func-identity) + (joint-control-channel-group! a0-0 (the-as art-joint-anim roboguard-idle-to-ball-ja) num-func-identity) ) (until (logtest? (-> self root status) (collide-status on-surface)) (nav-enemy-falling-post) @@ -441,65 +441,47 @@ :code (behavior () (ja-channel-push! 1 (seconds 0.1)) (until #f - (ja-no-eval :group! (-> self draw art-group data 4) - :num! (seek! 2.0 (rand-vu-float-range 0.1 0.15)) - :frame-num 0.0 - ) + (ja-no-eval :group! roboguard-idle0-ja :num! (seek! 2.0 (rand-vu-float-range 0.1 0.15)) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek! 2.0 (rand-vu-float-range 0.1 0.15))) ) - (ja-no-eval :group! (-> self draw art-group data 4) - :num! (seek! 3.0 (rand-vu-float-range 0.1 0.15)) - :frame-num 2.0 - ) + (ja-no-eval :group! roboguard-idle0-ja :num! (seek! 3.0 (rand-vu-float-range 0.1 0.15)) :frame-num 2.0) (until (ja-done? 0) (suspend) (ja :num! (seek! 3.0 (rand-vu-float-range 0.1 0.15))) ) - (ja-no-eval :group! (-> self draw art-group data 4) - :num! (seek! 4.0 (rand-vu-float-range 0.1 0.15)) - :frame-num 3.0 - ) + (ja-no-eval :group! roboguard-idle0-ja :num! (seek! 4.0 (rand-vu-float-range 0.1 0.15)) :frame-num 3.0) (until (ja-done? 0) (suspend) (ja :num! (seek! 4.0 (rand-vu-float-range 0.1 0.15))) ) - (ja-no-eval :group! (-> self draw art-group data 4) - :num! (seek! 5.0 (rand-vu-float-range 0.1 0.15)) - :frame-num 4.0 - ) + (ja-no-eval :group! roboguard-idle0-ja :num! (seek! 5.0 (rand-vu-float-range 0.1 0.15)) :frame-num 4.0) (until (ja-done? 0) (suspend) (ja :num! (seek! 5.0 (rand-vu-float-range 0.1 0.15))) ) - (ja-no-eval :group! (-> self draw art-group data 4) - :num! (seek! 6.0 (rand-vu-float-range 0.1 0.15)) - :frame-num 5.0 - ) + (ja-no-eval :group! roboguard-idle0-ja :num! (seek! 6.0 (rand-vu-float-range 0.1 0.15)) :frame-num 5.0) (until (ja-done? 0) (suspend) (ja :num! (seek! 6.0 (rand-vu-float-range 0.1 0.15))) ) - (ja-no-eval :group! (-> self draw art-group data 4) :num! (seek! 7.0 0.07) :frame-num 6.0) + (ja-no-eval :group! roboguard-idle0-ja :num! (seek! 7.0 0.07) :frame-num 6.0) (until (ja-done? 0) (suspend) (ja :num! (seek! 7.0 0.07)) ) - (ja-no-eval :group! (-> self draw art-group data 4) :num! (seek! 8.0 0.07) :frame-num 7.0) + (ja-no-eval :group! roboguard-idle0-ja :num! (seek! 8.0 0.07) :frame-num 7.0) (until (ja-done? 0) (suspend) (ja :num! (seek! 8.0 0.07)) ) - (ja-no-eval :group! (-> self draw art-group data 4) :num! (seek! 9.0 0.07) :frame-num 8.0) + (ja-no-eval :group! roboguard-idle0-ja :num! (seek! 9.0 0.07) :frame-num 8.0) (until (ja-done? 0) (suspend) (ja :num! (seek! 9.0 0.07)) ) - (ja-no-eval :group! (-> self draw art-group data 4) - :num! (seek! 10.0 (rand-vu-float-range 0.02 0.05)) - :frame-num 9.0 - ) + (ja-no-eval :group! roboguard-idle0-ja :num! (seek! 10.0 (rand-vu-float-range 0.02 0.05)) :frame-num 9.0) (until (ja-done? 0) (suspend) (ja :num! (seek! 10.0 (rand-vu-float-range 0.02 0.05))) @@ -531,7 +513,7 @@ (ja-channel-push! 1 (seconds 0.2)) (let ((f30-0 (get-rand-float-range self 0.9 1.1))) (until #f - (ja-no-eval :group! (-> self draw art-group data 4) :num! (seek! 10.0 (* 0.1 f30-0)) :frame-num 9.0) + (ja-no-eval :group! roboguard-idle0-ja :num! (seek! 10.0 (* 0.1 f30-0)) :frame-num 9.0) (until (ja-done? 0) (suspend) (ja :num! (seek! 10.0 (* 0.1 f30-0))) @@ -551,7 +533,7 @@ (logand! (-> self flags) -9) ) :code (behavior () - (ja-no-eval :group! (-> self draw art-group data 9) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! roboguard-idle-to-ball-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -708,7 +690,7 @@ ) ) :code (behavior () - (ja :group! (-> self draw art-group data 10)) + (ja :group! roboguard-ball-ja) (until #f (let ((a0-3 (-> self skel root-channel 0))) (let ((f0-0 0.000024414063) @@ -735,7 +717,7 @@ '() ) :code (behavior () - (ja-no-eval :group! (-> self draw art-group data 27) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! roboguard-ball-to-dizzy-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (when (< 17.0 (ja-aframe-num 0)) (logand! (-> self flags) -5) @@ -768,7 +750,7 @@ ) :code (behavior () (ja-channel-push! 1 (seconds 0.1)) - (ja-no-eval :group! (-> self draw art-group data 28) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! roboguard-dizzy-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -798,7 +780,7 @@ ) :code (behavior () (ja-channel-push! 1 (seconds 0.075)) - (ja-no-eval :group! (-> self draw art-group data 12) + (ja-no-eval :group! roboguard-death-standing-ja :num! (seek! (ja-aframe 20.0 0)) :frame-num (ja-aframe 13.0 0) ) @@ -806,7 +788,7 @@ (suspend) (ja :num! (seek! (ja-aframe 20.0 0))) ) - (ja-no-eval :group! (-> self draw art-group data 12) + (ja-no-eval :group! roboguard-death-standing-ja :num! (seek! (ja-aframe 25.0 0) 0.5) :frame-num (ja-aframe 20.0 0) ) @@ -814,7 +796,7 @@ (suspend) (ja :num! (seek! (ja-aframe 25.0 0) 0.5)) ) - (ja-no-eval :group! (-> self draw art-group data 12) + (ja-no-eval :group! roboguard-death-standing-ja :num! (seek! (ja-aframe 26.0 0)) :frame-num (ja-aframe 25.0 0) ) diff --git a/test/decompiler/reference/jak2/levels/city/common/pilot-states_REF.gc b/test/decompiler/reference/jak2/levels/city/common/pilot-states_REF.gc index 0677d825de8..0caeec8de79 100644 --- a/test/decompiler/reference/jak2/levels/city/common/pilot-states_REF.gc +++ b/test/decompiler/reference/jak2/levels/city/common/pilot-states_REF.gc @@ -22,9 +22,9 @@ ;; WARN: new jak 2 until loop case, check carefully (defbehavior target-pilot-bike-anim-loop target () (ja-channel-push! 3 (seconds 0.1)) - (ja :group! (-> self draw art-group data 210)) - (ja :chan 1 :group! (-> self draw art-group data 209)) - (ja :chan 2 :group! (-> self draw art-group data 214)) + (ja :group! jakb-pilot-bike-turn-back-ja) + (ja :chan 1 :group! jakb-pilot-bike-turn-front-ja) + (ja :chan 2 :group! jakb-pilot-bike-up-down-ja) (until #f (let ((gp-0 (-> self pilot))) (let ((f30-0 (* 5.0 (- 1.0 (-> gp-0 left-right-interp))))) @@ -61,9 +61,9 @@ ;; WARN: new jak 2 until loop case, check carefully (defbehavior target-pilot-car-anim-loop target () (ja-channel-push! 3 (seconds 0.1)) - (ja :group! (-> self draw art-group data 203)) - (ja :chan 1 :group! (-> self draw art-group data 202)) - (ja :chan 2 :group! (-> self draw art-group data 213)) + (ja :group! jakb-pilot-car-turn-back-ja) + (ja :chan 1 :group! jakb-pilot-car-turn-front-ja) + (ja :chan 2 :group! jakb-pilot-car-up-down-ja) (until #f (let ((gp-0 (-> self pilot))) (let ((f30-0 (* 5.0 (+ 1.0 (-> gp-0 left-right-interp))))) @@ -364,35 +364,35 @@ (let ((v1-131 s5-0)) (cond ((= v1-131 4) - (ja-no-eval :group! (-> self draw art-group data 232) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! jakb-pilot-bike-smack-left-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) ) ) ((= v1-131 5) - (ja-no-eval :group! (-> self draw art-group data 233) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! jakb-pilot-bike-smack-right-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) ) ) ((zero? v1-131) - (ja-no-eval :group! (-> self draw art-group data 211) :num! (seek!) :frame-num (ja-aframe 0.0 0)) + (ja-no-eval :group! jakb-pilot-bike-smack-front-ja :num! (seek!) :frame-num (ja-aframe 0.0 0)) (until (ja-done? 0) (suspend) (ja :num! (seek!)) ) ) ((= v1-131 1) - (ja-no-eval :group! (-> self draw art-group data 212) :num! (seek!) :frame-num (ja-aframe 0.0 0)) + (ja-no-eval :group! jakb-pilot-bike-smack-back-ja :num! (seek!) :frame-num (ja-aframe 0.0 0)) (until (ja-done? 0) (suspend) (ja :num! (seek!)) ) ) (else - (ja-no-eval :group! (-> self draw art-group data 215) :num! (seek!) :frame-num (ja-aframe 0.0 0)) + (ja-no-eval :group! jakb-pilot-bike-smack-shock-ja :num! (seek!) :frame-num (ja-aframe 0.0 0)) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -402,35 +402,35 @@ ) ) ((begin (ja-channel-push! 1 (seconds 0.05)) (set! v1-252 s5-0) (= v1-252 4)) - (ja-no-eval :group! (-> self draw art-group data 234) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! jakb-pilot-car-smack-left-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) ) ) ((= v1-252 5) - (ja-no-eval :group! (-> self draw art-group data 235) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! jakb-pilot-car-smack-right-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) ) ) ((zero? v1-252) - (ja-no-eval :group! (-> self draw art-group data 204) :num! (seek! max 1.3) :frame-num (ja-aframe 4.0 0)) + (ja-no-eval :group! jakb-pilot-car-smack-front-ja :num! (seek! max 1.3) :frame-num (ja-aframe 4.0 0)) (until (ja-done? 0) (suspend) (ja :num! (seek! max 1.3)) ) ) ((= v1-252 1) - (ja-no-eval :group! (-> self draw art-group data 205) :num! (seek!) :frame-num (ja-aframe 2.0 0)) + (ja-no-eval :group! jakb-pilot-car-smack-back-ja :num! (seek!) :frame-num (ja-aframe 2.0 0)) (until (ja-done? 0) (suspend) (ja :num! (seek!)) ) ) (else - (ja-no-eval :group! (-> self draw art-group data 208) :num! (seek!) :frame-num (ja-aframe 0.0 0)) + (ja-no-eval :group! jakb-pilot-car-smack-shock-ja :num! (seek!) :frame-num (ja-aframe 0.0 0)) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -481,8 +481,8 @@ (logior! (-> self state-flags) (state-flags sf6)) (set! (-> self alt-cam-pos quad) (-> self control camera-pos quad)) (let ((gp-0 (if (zero? (-> self pilot stance)) - (-> self draw art-group data 201) - (-> self draw art-group data 200) + jakb-pilot-bike-get-on-ja + jakb-pilot-car-get-on-ja ) ) ) @@ -585,11 +585,11 @@ (let ((gp-0 (cond ((zero? (-> self pilot stance)) (set! f30-0 7.2) - (-> self draw art-group data 216) + jakb-pilot-bike-get-off-ja ) (else (set! f30-0 15.2) - (-> self draw art-group data 199) + jakb-pilot-car-get-off-ja ) ) ) diff --git a/test/decompiler/reference/jak2/levels/city/ctywide-obs_REF.gc b/test/decompiler/reference/jak2/levels/city/ctywide-obs_REF.gc index 484e2bf65c4..c2c7e089a7f 100644 --- a/test/decompiler/reference/jak2/levels/city/ctywide-obs_REF.gc +++ b/test/decompiler/reference/jak2/levels/city/ctywide-obs_REF.gc @@ -1504,7 +1504,7 @@ This commonly includes things such as: :enter (behavior () (try-update-focus (-> self focus) *target*) (ja-channel-push! 1 0) - (ja-no-eval :group! (-> self draw art-group data 2) :num! zero) + (ja-no-eval :group! cty-guard-turret-idle-ja :num! zero) (transform-post) (logior! (-> self focus-status) (focus-status ignore)) ) @@ -1660,7 +1660,7 @@ This commonly includes things such as: (set! (-> self root root-prim specific 0) (+ (-> self root root-prim specific 1) -1)) ) :code (behavior () - (ja-no-eval :group! (-> self draw art-group data 3) :num! (seek! 20.0) :frame-num 20.0) + (ja-no-eval :group! cty-guard-turret-pop-up-down-ja :num! (seek! 20.0) :frame-num 20.0) (until (ja-done? 0) (suspend) (ja :num! (seek! 20.0)) @@ -1737,7 +1737,7 @@ This commonly includes things such as: (set! (-> self button-down?) #f) ) :code (behavior () - (ja-no-eval :group! (-> self draw art-group data 3) + (ja-no-eval :group! cty-guard-turret-pop-up-down-ja :num! (seek! (ja-aframe 20.0 0)) :frame-num (ja-aframe 20.0 0) ) @@ -1748,7 +1748,7 @@ This commonly includes things such as: (while (not (-> self button-down?)) (suspend) ) - (ja-no-eval :group! (-> self draw art-group data 3) + (ja-no-eval :group! cty-guard-turret-pop-up-down-ja :num! (seek! (ja-aframe 32.0 0)) :frame-num (ja-aframe 20.0 0) ) @@ -1988,7 +1988,7 @@ This commonly includes things such as: '() ) :code (behavior () - (ja-no-eval :group! (-> self draw art-group data 3) :num! (seek! 20.0 0.5) :frame-num 0.0) + (ja-no-eval :group! cty-guard-turret-pop-up-down-ja :num! (seek! 20.0 0.5) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek! 20.0 0.5)) @@ -2043,7 +2043,7 @@ This commonly includes things such as: ) #f (label cfg-36) - (ja-no-eval :group! (-> self draw art-group data 3) :num! (seek! 32.0 0.5) :frame-num 20.0) + (ja-no-eval :group! cty-guard-turret-pop-up-down-ja :num! (seek! 32.0 0.5) :frame-num 20.0) (until (ja-done? 0) (suspend) (ja :num! (seek! 32.0 0.5)) diff --git a/test/decompiler/reference/jak2/levels/city/farm/ctyfarm-obs_REF.gc b/test/decompiler/reference/jak2/levels/city/farm/ctyfarm-obs_REF.gc index f123c4c8810..cefd3147f79 100644 --- a/test/decompiler/reference/jak2/levels/city/farm/ctyfarm-obs_REF.gc +++ b/test/decompiler/reference/jak2/levels/city/farm/ctyfarm-obs_REF.gc @@ -1142,7 +1142,7 @@ (set! (-> v1-10 0 amplitude) 1820.4445) (set! (-> v1-10 0 y-amplitude) 0.0) ) - (let ((a0-17 (-> self node-list data 6))) + (let ((a0-17 (joint-node-index farm-marrow-lod0-jg marrow_a))) (set! (-> a0-17 param0) farm-marrow-callback) (set! (-> a0-17 param1) self) (set! (-> a0-17 param2) (the-as basic 0)) @@ -1155,7 +1155,7 @@ (set! (-> v1-13 amplitude) 1820.4445) (set! (-> v1-13 y-amplitude) 0.0) ) - (let ((v1-15 (-> self node-list data 7))) + (let ((v1-15 (joint-node-index farm-marrow-lod0-jg marrow_b))) (set! (-> v1-15 param0) farm-marrow-callback) (set! (-> v1-15 param1) self) (set! (-> v1-15 param2) (the-as basic 1)) @@ -1168,7 +1168,7 @@ (set! (-> v1-16 amplitude) 1820.4445) (set! (-> v1-16 y-amplitude) 0.0) ) - (let ((v1-18 (-> self node-list data 8))) + (let ((v1-18 (joint-node-index farm-marrow-lod0-jg marrow_c))) (set! (-> v1-18 param0) farm-marrow-callback) (set! (-> v1-18 param1) self) (set! (-> v1-18 param2) (the-as basic 2)) @@ -1183,7 +1183,7 @@ (set! (-> v1-19 y-freq) 150.0) (set! (-> v1-19 y-amplitude) -1820.4445) ) - (let ((v1-21 (-> self node-list data 4))) + (let ((v1-21 (joint-node-index farm-marrow-lod0-jg leaves_a))) (set! (-> v1-21 param0) farm-marrow-callback) (set! (-> v1-21 param1) self) (set! (-> v1-21 param2) (the-as basic 3)) @@ -1197,7 +1197,7 @@ (set! (-> v1-22 y-amplitude) 0.0) ) ) - (let ((v0-0 (the-as object (-> self node-list data 5)))) + (let ((v0-0 (the-as object (joint-node-index farm-marrow-lod0-jg leaves_b)))) (set! (-> (the-as cspace v0-0) param0) farm-marrow-callback) (set! (-> (the-as cspace v0-0) param1) self) (set! (-> (the-as cspace v0-0) param2) (the-as basic 4)) @@ -1459,7 +1459,7 @@ This commonly includes things such as: (set! (-> v1-10 0 amplitude) 1820.4445) (set! (-> v1-10 0 y-amplitude) 0.0) ) - (let ((a0-17 (-> self node-list data 4))) + (let ((a0-17 (joint-node-index farm-beetree-lod0-jg bulb))) (set! (-> a0-17 param0) farm-beetree-callback) (set! (-> a0-17 param1) self) (set! (-> a0-17 param2) (the-as basic 0)) @@ -1475,7 +1475,7 @@ This commonly includes things such as: (set! (-> v1-13 y-amplitude) 3640.889) ) ) - (let ((v0-0 (the-as object (-> self node-list data 5)))) + (let ((v0-0 (the-as object (joint-node-index farm-beetree-lod0-jg leaves)))) (set! (-> (the-as cspace v0-0) param0) farm-beetree-callback) (set! (-> (the-as cspace v0-0) param1) self) (set! (-> (the-as cspace v0-0) param2) (the-as basic 1)) @@ -1731,7 +1731,7 @@ This commonly includes things such as: (set! (-> v1-10 0 amplitude) 1820.4445) (set! (-> v1-10 0 y-amplitude) 0.0) ) - (let ((a0-17 (-> self node-list data 4))) + (let ((a0-17 (joint-node-index farm-cabbage-lod0-jg cabbage))) (set! (-> a0-17 param0) farm-cabbage-callback) (set! (-> a0-17 param1) self) (set! (-> a0-17 param2) (the-as basic 0)) @@ -1747,7 +1747,7 @@ This commonly includes things such as: (set! (-> v1-13 y-amplitude) 910.2222) ) ) - (let ((v0-0 (the-as object (-> self node-list data 5)))) + (let ((v0-0 (the-as object (joint-node-index farm-cabbage-lod0-jg leaves)))) (set! (-> (the-as cspace v0-0) param0) farm-cabbage-callback) (set! (-> (the-as cspace v0-0) param1) self) (set! (-> (the-as cspace v0-0) param2) (the-as basic 1)) @@ -2006,7 +2006,7 @@ This commonly includes things such as: (set! (-> v1-10 0 y-amplitude) 0.0) ) ) - (let ((v0-0 (the-as object (-> self node-list data 4)))) + (let ((v0-0 (the-as object (joint-node-index farm-small-cabbage-lod0-jg cabbage)))) (set! (-> (the-as cspace v0-0) param0) farm-small-cabbage-callback) (set! (-> (the-as cspace v0-0) param1) self) (set! (-> (the-as cspace v0-0) param2) (the-as basic 0)) @@ -2264,7 +2264,7 @@ This commonly includes things such as: (set! (-> v1-10 0 amplitude) 1820.4445) (set! (-> v1-10 0 y-amplitude) 0.0) ) - (let ((a0-17 (-> self node-list data 4))) + (let ((a0-17 (joint-node-index farm-chilirots-lod0-jg chili_a))) (set! (-> a0-17 param0) farm-chilirots-callback) (set! (-> a0-17 param1) self) (set! (-> a0-17 param2) (the-as basic 0)) @@ -2279,7 +2279,7 @@ This commonly includes things such as: (set! (-> v1-13 y-freq) 150.0) (set! (-> v1-13 y-amplitude) 1820.4445) ) - (let ((v1-15 (-> self node-list data 5))) + (let ((v1-15 (joint-node-index farm-chilirots-lod0-jg chili_b))) (set! (-> v1-15 param0) farm-chilirots-callback) (set! (-> v1-15 param1) self) (set! (-> v1-15 param2) (the-as basic 1)) @@ -2294,7 +2294,7 @@ This commonly includes things such as: (set! (-> v1-16 y-freq) 150.0) (set! (-> v1-16 y-amplitude) 1820.4445) ) - (let ((v1-18 (-> self node-list data 6))) + (let ((v1-18 (joint-node-index farm-chilirots-lod0-jg chili_c))) (set! (-> v1-18 param0) farm-chilirots-callback) (set! (-> v1-18 param1) self) (set! (-> v1-18 param2) (the-as basic 2)) @@ -2310,7 +2310,7 @@ This commonly includes things such as: (set! (-> v1-19 y-amplitude) 1820.4445) ) ) - (let ((v0-0 (the-as object (-> self node-list data 7)))) + (let ((v0-0 (the-as object (joint-node-index farm-chilirots-lod0-jg chili_d)))) (set! (-> (the-as cspace v0-0) param0) farm-chilirots-callback) (set! (-> (the-as cspace v0-0) param1) self) (set! (-> (the-as cspace v0-0) param2) (the-as basic 3)) @@ -2465,7 +2465,7 @@ This commonly includes things such as: :virtual #t :code (behavior () (until #f - (ja-no-eval :group! (-> self draw art-group data 2) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! farm-sprinkler-barrels-idle-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) diff --git a/test/decompiler/reference/jak2/levels/city/kiddogescort/crocesc-states_REF.gc b/test/decompiler/reference/jak2/levels/city/kiddogescort/crocesc-states_REF.gc index 871fcd33dd2..c71ec9040d0 100644 --- a/test/decompiler/reference/jak2/levels/city/kiddogescort/crocesc-states_REF.gc +++ b/test/decompiler/reference/jak2/levels/city/kiddogescort/crocesc-states_REF.gc @@ -51,7 +51,7 @@ ((zero? v1-7) (let ((v1-10 (ja-group))) (cond - ((and v1-10 (= v1-10 (-> self draw art-group data 3))) + ((and v1-10 (= v1-10 crocadog-escort-idle-pant-ja)) (ja-no-eval :num! (seek! max 0.5)) (while (not (ja-done? 0)) (suspend) @@ -65,7 +65,7 @@ ) (let ((s5-0 (get-rand-int-range self 3 7))) (dotimes (s4-0 s5-0) - (ja-no-eval :group! (-> self draw art-group data 3) :num! (seek! max 0.5) :frame-num 0.0) + (ja-no-eval :group! crocadog-escort-idle-pant-ja :num! (seek! max 0.5) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek! max 0.5)) @@ -75,12 +75,12 @@ ) ((= v1-7 1) (ja-channel-push! 1 (seconds 0.1)) - (ja-no-eval :group! (-> self draw art-group data 6) :num! (seek! (ja-aframe 3.0 0) 0.5) :frame-num 0.0) + (ja-no-eval :group! crocadog-escort-idle-bark-ja :num! (seek! (ja-aframe 3.0 0) 0.5) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek! (ja-aframe 3.0 0) 0.5)) ) - (ja-no-eval :group! (-> self draw art-group data 6) :num! (seek! max 0.33) :frame-num (ja-aframe 3.0 0)) + (ja-no-eval :group! crocadog-escort-idle-bark-ja :num! (seek! max 0.33) :frame-num (ja-aframe 3.0 0)) (until (ja-done? 0) (suspend) (ja :num! (seek! max 0.33)) @@ -89,7 +89,7 @@ ((= v1-7 2) (let ((v1-90 (ja-group))) (cond - ((and v1-90 (= v1-90 (-> self draw art-group data 5))) + ((and v1-90 (= v1-90 crocadog-escort-idle-scratch-ja)) (ja-no-eval :num! (seek! max 0.5)) (while (not (ja-done? 0)) (suspend) @@ -103,7 +103,7 @@ ) (let ((s5-4 (get-rand-int-range self 5 7))) (dotimes (s4-1 s5-4) - (ja-no-eval :group! (-> self draw art-group data 5) :num! (seek! max 0.5) :frame-num (ja-aframe 2.0 0)) + (ja-no-eval :group! crocadog-escort-idle-scratch-ja :num! (seek! max 0.5) :frame-num (ja-aframe 2.0 0)) (until (ja-done? 0) (suspend) (ja :num! (seek! max 0.5)) @@ -114,7 +114,7 @@ (else (let ((v1-132 (ja-group))) (cond - ((and v1-132 (= v1-132 (-> self draw art-group data 4))) + ((and v1-132 (= v1-132 crocadog-escort-idle-wag-ja)) (ja-no-eval :num! (seek!)) (while (not (ja-done? 0)) (suspend) @@ -128,7 +128,7 @@ ) (let ((s5-5 (get-rand-int-range self 3 7))) (dotimes (s4-2 s5-5) - (ja-no-eval :group! (-> self draw art-group data 4) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! crocadog-escort-idle-wag-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -176,7 +176,7 @@ ) :code (behavior () (ja-channel-push! 1 (seconds 0.1)) - (ja-no-eval :group! (-> self draw art-group data 9) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! crocadog-escort-turn0-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -392,7 +392,7 @@ (local-vars (sv-128 float)) (ja-channel-push! 1 (seconds 0.1)) (let ((gp-0 (new 'stack-no-clear 'matrix))) - (ja-no-eval :group! (-> self draw art-group data 10) + (ja-no-eval :group! crocadog-escort-jump-in-vehicle-ja :num! (seek! (ja-aframe 1.0 0) 0.5) :frame-num (ja-aframe 0.0 0) ) @@ -403,7 +403,7 @@ (let ((s5-2 (new 'stack-no-clear 'vector))) (set! (-> s5-2 quad) (-> self root trans quad)) (let ((s4-0 (quaternion-copy! (new 'stack-no-clear 'quaternion) (-> self root quat)))) - (ja-no-eval :group! (-> self draw art-group data 10) + (ja-no-eval :group! crocadog-escort-jump-in-vehicle-ja :num! (seek! (ja-aframe 5.0 0) 0.5) :frame-num (ja-aframe 1.0 0) ) @@ -442,7 +442,7 @@ ) (let ((s5-3 (new 'stack-no-clear 'vector))) (set! (-> s5-3 quad) (-> self root trans quad)) - (ja-no-eval :group! (-> self draw art-group data 10) + (ja-no-eval :group! crocadog-escort-jump-in-vehicle-ja :num! (seek! (ja-aframe 7.0 0) 0.5) :frame-num (ja-aframe 5.0 0) ) @@ -469,7 +469,7 @@ ) ) (quaternion-copy! (new 'stack-no-clear 'quaternion) (-> self root quat)) - (ja-no-eval :group! (-> self draw art-group data 10) + (ja-no-eval :group! crocadog-escort-jump-in-vehicle-ja :num! (seek! (ja-aframe 12.0 0) 0.5) :frame-num (ja-aframe 7.0 0) ) @@ -566,7 +566,7 @@ ) :code (behavior () (until #f - (ja-no-eval :group! (-> self draw art-group data 11) :num! (seek! max (-> self anim-speed)) :frame-num 0.0) + (ja-no-eval :group! crocadog-escort-idle-car0-ja :num! (seek! max (-> self anim-speed)) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek! max (-> self anim-speed))) @@ -632,7 +632,7 @@ :code (behavior () (ja-channel-push! 1 (seconds 0.1)) (let ((gp-0 (new 'stack-no-clear 'inline-array 'matrix 2))) - (ja-no-eval :group! (-> self draw art-group data 10) + (ja-no-eval :group! crocadog-escort-jump-in-vehicle-ja :num! (seek! (ja-aframe 7.0 0) 0.25) :frame-num (ja-aframe 12.0 0) ) @@ -660,7 +660,7 @@ (ja :num! (seek! (ja-aframe 7.0 0) 0.25)) ) (set! (-> gp-0 0 vector 1 quad) (-> self root trans quad)) - (ja-no-eval :group! (-> self draw art-group data 10) + (ja-no-eval :group! crocadog-escort-jump-in-vehicle-ja :num! (seek! (ja-aframe 5.0 0) 0.5) :frame-num (ja-aframe 7.0 0) ) @@ -683,7 +683,7 @@ ) (logclear! (-> self focus-status) (focus-status pilot-riding)) (set! (-> gp-0 0 quad 0) (-> self root trans quad)) - (ja-no-eval :group! (-> self draw art-group data 10) + (ja-no-eval :group! crocadog-escort-jump-in-vehicle-ja :num! (seek! (ja-aframe 0.0 0)) :frame-num (ja-aframe 5.0 0) ) @@ -871,12 +871,12 @@ (cond ((zero? (get-rand-int self 3)) (ja-channel-push! 1 (seconds 0.1)) - (ja-no-eval :group! (-> self draw art-group data 6) :num! (seek! (ja-aframe 3.0 0) 0.5) :frame-num 0.0) + (ja-no-eval :group! crocadog-escort-idle-bark-ja :num! (seek! (ja-aframe 3.0 0) 0.5) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek! (ja-aframe 3.0 0) 0.5)) ) - (ja-no-eval :group! (-> self draw art-group data 6) :num! (seek! max 0.33) :frame-num (ja-aframe 3.0 0)) + (ja-no-eval :group! crocadog-escort-idle-bark-ja :num! (seek! max 0.33) :frame-num (ja-aframe 3.0 0)) (until (ja-done? 0) (suspend) (ja :num! (seek! max 0.33)) @@ -885,7 +885,7 @@ (else (ja-channel-push! 1 (seconds 0.1)) (let ((f30-0 (get-rand-float-range self 0.4 0.6))) - (ja-no-eval :group! (-> self draw art-group data 14) :num! (seek! max f30-0) :frame-num 0.0) + (ja-no-eval :group! crocadog-escort-angry-bark-ja :num! (seek! max f30-0) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek! max f30-0)) diff --git a/test/decompiler/reference/jak2/levels/city/kiddogescort/kidesc-states_REF.gc b/test/decompiler/reference/jak2/levels/city/kiddogescort/kidesc-states_REF.gc index b29a651632e..43e2884c8dd 100644 --- a/test/decompiler/reference/jak2/levels/city/kiddogescort/kidesc-states_REF.gc +++ b/test/decompiler/reference/jak2/levels/city/kiddogescort/kidesc-states_REF.gc @@ -53,7 +53,7 @@ :code (behavior () (let ((v1-2 (ja-group))) (cond - ((and v1-2 (= v1-2 (-> self draw art-group data 3))) + ((and v1-2 (= v1-2 kid-escort-idle0-ja)) (ja-no-eval :num! (seek! max 0.1)) (while (not (ja-done? 0)) (suspend) @@ -66,7 +66,7 @@ ) ) (until #f - (ja-no-eval :group! (-> self draw art-group data 3) :num! (seek! max 0.1) :frame-num 0.0) + (ja-no-eval :group! kid-escort-idle0-ja :num! (seek! max 0.1) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek! max 0.1)) @@ -115,7 +115,7 @@ ) :code (behavior () (ja-channel-push! 1 (seconds 0.1)) - (ja-no-eval :group! (-> self draw art-group data 5) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! kid-escort-turn0-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -338,7 +338,7 @@ (ja-channel-push! 1 (seconds 0.1)) (let ((gp-0 (new 'stack-no-clear 'matrix))) (quaternion-copy! (the-as quaternion (-> gp-0 vector)) (-> self root quat)) - (ja-no-eval :group! (-> self draw art-group data 10) + (ja-no-eval :group! kid-escort-jump-in-vehicle-ja :num! (seek! (ja-aframe 1.0 0) 0.25) :frame-num (ja-aframe 0.0 0) ) @@ -362,7 +362,7 @@ (let ((s5-3 (new 'stack-no-clear 'vector))) (set! (-> s5-3 quad) (-> self root trans quad)) (quaternion-copy! (the-as quaternion (-> gp-0 vector)) (-> self root quat)) - (ja-no-eval :group! (-> self draw art-group data 10) + (ja-no-eval :group! kid-escort-jump-in-vehicle-ja :num! (seek! (ja-aframe 8.0 0)) :frame-num (ja-aframe 1.0 0) ) @@ -408,7 +408,7 @@ ) 0 (quaternion-copy! (new 'stack-no-clear 'quaternion) (-> self root quat)) - (ja-no-eval :group! (-> self draw art-group data 10) + (ja-no-eval :group! kid-escort-jump-in-vehicle-ja :num! (seek! (ja-aframe 12.0 0) 0.25) :frame-num (ja-aframe 8.0 0) ) @@ -483,8 +483,8 @@ ) :code (behavior () (ja-channel-push! 2 (seconds 0.2)) - (ja :group! (-> self draw art-group data 11)) - (ja :chan 1 :group! (-> self draw art-group data 12)) + (ja :group! kid-escort-vehicle-lean-x-ja) + (ja :chan 1 :group! kid-escort-vehicle-lean-z-ja) (let ((f30-0 0.5) (f28-0 0.5) (f26-0 0.5) @@ -572,7 +572,7 @@ :code (behavior () (local-vars (sv-80 float) (sv-96 float)) (ja-channel-push! 1 (seconds 0.1)) - (ja-no-eval :group! (-> self draw art-group data 10) + (ja-no-eval :group! kid-escort-jump-in-vehicle-ja :num! (seek! (ja-aframe 8.0 0) 0.25) :frame-num (ja-aframe 12.0 0) ) @@ -600,7 +600,7 @@ (s5-1 (new 'stack-no-clear 'quaternion)) ) (set! (-> gp-4 quad) (-> self root trans quad)) - (ja-no-eval :group! (-> self draw art-group data 10) + (ja-no-eval :group! kid-escort-jump-in-vehicle-ja :num! (seek! (ja-aframe 0.0 0)) :frame-num (ja-aframe 8.0 0) ) @@ -875,7 +875,7 @@ ) (else (ja-channel-push! 1 (seconds 0.1)) - (ja-no-eval :group! (-> self draw art-group data 8) :num! (seek! max 0.143) :frame-num 0.0) + (ja-no-eval :group! kid-escort-arrest-start-ja :num! (seek! max 0.143) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek! max 0.143)) @@ -883,11 +883,11 @@ ) ) (let ((v1-34 (ja-group))) - (if (not (and v1-34 (= v1-34 (-> self draw art-group data 8)))) + (if (not (and v1-34 (= v1-34 kid-escort-arrest-start-ja))) (ja-channel-push! 1 (seconds 0.1)) ) ) - (ja-no-eval :group! (-> self draw art-group data 9) :num! (seek! max 0.1) :frame-num 0.0) + (ja-no-eval :group! kid-escort-arrest-idle0-ja :num! (seek! max 0.1) :frame-num 0.0) (when (not (logtest? (bot-flags bf19) (-> self bot-flags))) (until #f (until (ja-done? 0) @@ -897,7 +897,7 @@ (suspend) (ja :num! (seek! max 0.1)) ) - (ja-no-eval :group! (-> self draw art-group data 9) :num! (seek! max 0.1) :frame-num 0.0) + (ja-no-eval :group! kid-escort-arrest-idle0-ja :num! (seek! max 0.1) :frame-num 0.0) ) #f (label cfg-27) @@ -925,7 +925,7 @@ (suspend) (ja :num! (seek! max 0.1)) ) - (ja-no-eval :group! (-> self draw art-group data 9) :num! (seek! max 0.1) :frame-num 0.0) + (ja-no-eval :group! kid-escort-arrest-idle0-ja :num! (seek! max 0.1) :frame-num 0.0) ) #f ) @@ -947,12 +947,12 @@ ) :code (behavior () (ja-channel-push! 1 (seconds 0.1)) - (ja-no-eval :group! (-> self draw art-group data 8) :num! (seek! max 0.143) :frame-num 0.0) + (ja-no-eval :group! kid-escort-arrest-start-ja :num! (seek! max 0.143) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek! max 0.143)) ) - (ja-no-eval :group! (-> self draw art-group data 9) :num! (seek! max 0.1) :frame-num 0.0) + (ja-no-eval :group! kid-escort-arrest-idle0-ja :num! (seek! max 0.1) :frame-num 0.0) (until #f (until (ja-done? 0) (if (and (logtest? (-> self bot-flags) (bot-flags failed)) @@ -964,7 +964,7 @@ (suspend) (ja :num! (seek! max 0.1)) ) - (ja-no-eval :group! (-> self draw art-group data 9) :num! (seek! max 0.1) :frame-num 0.0) + (ja-no-eval :group! kid-escort-arrest-idle0-ja :num! (seek! max 0.1) :frame-num 0.0) ) #f ) @@ -1019,20 +1019,20 @@ :code (behavior () (ja-channel-push! 1 (seconds 0.2)) (dotimes (gp-0 3) - (ja-no-eval :group! (-> self draw art-group data 3) :num! (seek! max 0.1) :frame-num 0.0) + (ja-no-eval :group! kid-escort-idle0-ja :num! (seek! max 0.1) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek! max 0.1)) ) ) (ja-channel-push! 1 (seconds 0.1)) - (ja-no-eval :group! (-> self draw art-group data 8) :num! (seek! max 0.143) :frame-num 0.0) + (ja-no-eval :group! kid-escort-arrest-start-ja :num! (seek! max 0.143) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek! max 0.143)) ) (until #f - (ja-no-eval :group! (-> self draw art-group data 9) :num! (seek! max 0.1) :frame-num 0.0) + (ja-no-eval :group! kid-escort-arrest-idle0-ja :num! (seek! max 0.1) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek! max 0.1)) diff --git a/test/decompiler/reference/jak2/levels/city/meet-brutter/meet-brutter_REF.gc b/test/decompiler/reference/jak2/levels/city/meet-brutter/meet-brutter_REF.gc index 2e3286267fa..c0db6604516 100644 --- a/test/decompiler/reference/jak2/levels/city/meet-brutter/meet-brutter_REF.gc +++ b/test/decompiler/reference/jak2/levels/city/meet-brutter/meet-brutter_REF.gc @@ -1124,17 +1124,17 @@ (ja-channel-push! 3 (seconds 0.2)) (case (-> (the-as vehicle (handle->process (-> self vehicle))) info object-type) ((11 12 13) - (ja :group! (-> self draw art-group data 12)) - (ja :chan 1 :group! (-> self draw art-group data 13)) - (ja :chan 2 :group! (-> self draw art-group data 14)) + (ja :group! babak-idle-bike-back-sides-ja) + (ja :chan 1 :group! babak-idle-bike-sides-ja) + (ja :chan 2 :group! babak-idle-bike-forward-sides-ja) ) ((14 15 16) - (ja :group! (-> self draw art-group data 9)) - (ja :chan 1 :group! (-> self draw art-group data 10)) - (ja :chan 2 :group! (-> self draw art-group data 11)) + (ja :group! babak-idle-car-back-sides-ja) + (ja :chan 1 :group! babak-idle-car-sides-ja) + (ja :chan 2 :group! babak-idle-car-forward-sides-ja) ) ) - (let ((v1-26 (ja-channel-float! (the-as art-joint-anim (-> self draw art-group data 15)) 0.0 0.0 0.0))) + (let ((v1-26 (ja-channel-float! (the-as art-joint-anim babak-idle-hair-ja) 0.0 0.0 0.0))) (when v1-26 (set! (-> self skel interp-select 0) (the-as int (the-as uint #x8100002000))) (set! (-> self skel interp-select 1) 0) @@ -1926,7 +1926,7 @@ (ja-channel-push! 1 (seconds 0.2)) (until #f (countdown (gp-0 (+ (rand-vu-int-count 4) 1)) - (ja-no-eval :group! (-> self draw art-group data 18) + (ja-no-eval :group! babak-idle-patty-wagon-ja :num! (seek! (ja-aframe 4.0 0) 0.25) :frame-num (ja-aframe 0.0 0) ) @@ -1935,7 +1935,7 @@ (ja :num! (seek! (ja-aframe 4.0 0) 0.25)) ) ) - (ja-no-eval :group! (-> self draw art-group data 18) + (ja-no-eval :group! babak-idle-patty-wagon-ja :num! (seek! (ja-aframe 8.0 0) 0.5) :frame-num (ja-aframe 4.0 0) ) @@ -1946,7 +1946,7 @@ (cond ((zero? (rand-vu-int-count 2)) (countdown (gp-3 (+ (rand-vu-int-count 4) 1)) - (ja-no-eval :group! (-> self draw art-group data 18) + (ja-no-eval :group! babak-idle-patty-wagon-ja :num! (seek! (ja-aframe 12.0 0) 0.25) :frame-num (ja-aframe 8.0 0) ) @@ -1958,7 +1958,7 @@ ) (else (countdown (gp-4 (+ (rand-vu-int-count 4) 1)) - (ja-no-eval :group! (-> self draw art-group data 18) + (ja-no-eval :group! babak-idle-patty-wagon-ja :num! (seek! (ja-aframe 16.0 0) 0.4) :frame-num (ja-aframe 12.0 0) ) @@ -1969,7 +1969,7 @@ ) ) ) - (ja-no-eval :group! (-> self draw art-group data 18) + (ja-no-eval :group! babak-idle-patty-wagon-ja :num! (seek! (ja-aframe 4.0 0) 0.5) :frame-num (ja-aframe 8.0 0) ) diff --git a/test/decompiler/reference/jak2/levels/city/port/ctyport-part_REF.gc b/test/decompiler/reference/jak2/levels/city/port/ctyport-part_REF.gc index 31b0a8d33b6..89e89e77cff 100644 --- a/test/decompiler/reference/jak2/levels/city/port/ctyport-part_REF.gc +++ b/test/decompiler/reference/jak2/levels/city/port/ctyport-part_REF.gc @@ -3779,7 +3779,7 @@ This commonly includes things such as: :post (behavior () (ja-post) (if (nonzero? (-> self part)) - (spawn-with-cspace (-> self part) (-> self node-list data 5)) + (spawn-with-cspace (-> self part) (joint-node-index farthy-lod0-jg halo)) ) ) ) diff --git a/test/decompiler/reference/jak2/levels/city/port/race/errol-chal_REF.gc b/test/decompiler/reference/jak2/levels/city/port/race/errol-chal_REF.gc index 07faa2a0cff..dd8c64bc984 100644 --- a/test/decompiler/reference/jak2/levels/city/port/race/errol-chal_REF.gc +++ b/test/decompiler/reference/jak2/levels/city/port/race/errol-chal_REF.gc @@ -469,14 +469,14 @@ (ja-channel-push! 1 (seconds 0.05)) (cond ((zero? (rand-vu-int-count 2)) - (ja-no-eval :group! (-> self draw art-group data 5) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! errol-racer-bike-taunt-left-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) ) ) (else - (ja-no-eval :group! (-> self draw art-group data 6) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! errol-racer-bike-taunt-right-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) diff --git a/test/decompiler/reference/jak2/levels/city/shuttle/shuttle_REF.gc b/test/decompiler/reference/jak2/levels/city/shuttle/shuttle_REF.gc index 510398a651f..1e0e04962f8 100644 --- a/test/decompiler/reference/jak2/levels/city/shuttle/shuttle_REF.gc +++ b/test/decompiler/reference/jak2/levels/city/shuttle/shuttle_REF.gc @@ -605,8 +605,8 @@ ) (ja-channel-push! 1 (seconds 0.2)) (if (zero? s5-0) - (ja-no-eval :group! (-> self draw art-group data 4) :num! min) - (ja-no-eval :group! (-> self draw art-group data 6) :num! min) + (ja-no-eval :group! citizen-rebel-idle-to-arms-hips-ja :num! min) + (ja-no-eval :group! citizen-rebel-idle-to-arms-crossed-ja :num! min) ) (let ((f28-0 0.0)) (while (< f28-0 1.0) @@ -622,14 +622,14 @@ (+! gp-0 -1) (cond ((zero? s5-0) - (ja-no-eval :group! (-> self draw art-group data 5) :num! (seek! max f30-1) :frame-num 0.0) + (ja-no-eval :group! citizen-rebel-arms-hips-ja :num! (seek! max f30-1) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek! max f30-1)) ) ) (else - (ja-no-eval :group! (-> self draw art-group data 7) :num! (seek! max f30-1) :frame-num 0.0) + (ja-no-eval :group! citizen-rebel-arms-crossed-ja :num! (seek! max f30-1) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek! max f30-1)) @@ -757,8 +757,8 @@ ) (ja-channel-push! 1 (seconds 0.2)) (if (zero? s5-0) - (ja-no-eval :group! (-> self draw art-group data 4) :num! min) - (ja-no-eval :group! (-> self draw art-group data 6) :num! min) + (ja-no-eval :group! citizen-rebel-idle-to-arms-hips-ja :num! min) + (ja-no-eval :group! citizen-rebel-idle-to-arms-crossed-ja :num! min) ) (let ((f28-0 0.0)) (while (< f28-0 1.0) @@ -774,14 +774,14 @@ (+! gp-0 -1) (cond ((zero? s5-0) - (ja-no-eval :group! (-> self draw art-group data 5) :num! (seek! max f30-1) :frame-num 0.0) + (ja-no-eval :group! citizen-rebel-arms-hips-ja :num! (seek! max f30-1) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek! max f30-1)) ) ) (else - (ja-no-eval :group! (-> self draw art-group data 7) :num! (seek! max f30-1) :frame-num 0.0) + (ja-no-eval :group! citizen-rebel-arms-crossed-ja :num! (seek! max f30-1) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek! max f30-1)) diff --git a/test/decompiler/reference/jak2/levels/city/slums/kor/kid-states_REF.gc b/test/decompiler/reference/jak2/levels/city/slums/kor/kid-states_REF.gc index 62678b901a4..f218b72b368 100644 --- a/test/decompiler/reference/jak2/levels/city/slums/kor/kid-states_REF.gc +++ b/test/decompiler/reference/jak2/levels/city/slums/kor/kid-states_REF.gc @@ -48,7 +48,7 @@ :code (behavior () (let ((v1-2 (ja-group))) (cond - ((and v1-2 (= v1-2 (-> self draw art-group data 3))) + ((and v1-2 (= v1-2 kid-idle0-ja)) (ja-no-eval :num! (seek!)) (while (not (ja-done? 0)) (suspend) @@ -61,7 +61,7 @@ ) ) (until #f - (ja-no-eval :group! (-> self draw art-group data 3) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! kid-idle0-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -148,16 +148,16 @@ (cond ((< f0-8 18204.445) (set! f0-9 9102.223) - (set! s4-1 (-> self draw art-group data 8)) + (set! s4-1 kid-turn-left50-end0-ja) (set! f28-0 8.0) ) ((< f0-8 27306.666) (set! f0-9 18204.445) - (set! s4-1 (-> self draw art-group data 9)) + (set! s4-1 kid-turn-left100-end0-ja) ) (else (set! f0-9 27306.666) - (set! s4-1 (-> self draw art-group data 10)) + (set! s4-1 kid-turn-left150-end0-ja) ) ) ) @@ -168,16 +168,16 @@ (cond ((< -18204.445 f0-8) (set! f0-9 -9102.223) - (set! s4-1 (-> self draw art-group data 12)) + (set! s4-1 kid-turn-right50-end0-ja) (set! f28-0 8.0) ) ((< -27306.666 f0-8) (set! f0-9 -18204.445) - (set! s4-1 (-> self draw art-group data 13)) + (set! s4-1 kid-turn-right100-end0-ja) ) (else (set! f0-9 -27306.666) - (set! s4-1 (-> self draw art-group data 14)) + (set! s4-1 kid-turn-right150-end0-ja) ) ) ) @@ -273,7 +273,7 @@ :code (behavior () (let ((v1-2 (ja-group))) (cond - ((and v1-2 (= v1-2 (-> self draw art-group data 4))) + ((and v1-2 (= v1-2 kid-scared0-ja)) (ja-no-eval :num! (seek!)) (while (not (ja-done? 0)) (suspend) @@ -286,7 +286,7 @@ ) ) (until #f - (ja-no-eval :group! (-> self draw art-group data 4) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! kid-scared0-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -447,7 +447,7 @@ :code (behavior () (local-vars (v1-31 enemy-flag) (v1-39 enemy-flag)) (ja-channel-push! 1 (seconds 0.1)) - (ja-no-eval :group! (-> self draw art-group data 3) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! kid-idle0-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -544,7 +544,7 @@ :code (behavior () (when (not (logtest? (bot-flags bf20) (-> self bot-flags))) (ja-channel-push! 1 (seconds 0.1)) - (ja-no-eval :group! (-> self draw art-group data 15) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! kid-arrest-start-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -562,13 +562,13 @@ ) ) (let ((v1-35 (ja-group))) - (if (not (and v1-35 (= v1-35 (-> self draw art-group data 15)))) + (if (not (and v1-35 (= v1-35 kid-arrest-start-ja))) (ja-channel-push! 1 (seconds 0.1)) ) ) (set-time! (-> self state-time)) (until #f - (ja-no-eval :group! (-> self draw art-group data 16) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! kid-arrest-idle0-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (if (and (logtest? (-> self bot-flags) (bot-flags failed)) (time-elapsed? (-> self state-time) (seconds 4)) diff --git a/test/decompiler/reference/jak2/levels/city/slums/kor/kor-states_REF.gc b/test/decompiler/reference/jak2/levels/city/slums/kor/kor-states_REF.gc index cc0aed1c337..e382156275c 100644 --- a/test/decompiler/reference/jak2/levels/city/slums/kor/kor-states_REF.gc +++ b/test/decompiler/reference/jak2/levels/city/slums/kor/kor-states_REF.gc @@ -48,7 +48,7 @@ :code (behavior () (let ((v1-2 (ja-group))) (cond - ((and v1-2 (= v1-2 (-> self draw art-group data 3))) + ((and v1-2 (= v1-2 kor-idle0-ja)) (ja-no-eval :num! (seek!)) (while (not (ja-done? 0)) (suspend) @@ -61,7 +61,7 @@ ) ) (until #f - (ja-no-eval :group! (-> self draw art-group data 3) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! kor-idle0-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -149,19 +149,19 @@ (cond ((< f0-8 18204.445) (set! f0-9 9102.223) - (set! s4-1 (-> self draw art-group data 8)) + (set! s4-1 kor-turn-left50-end0-ja) (set! f30-0 5.0) 14.0 ) ((< f0-8 27306.666) (set! f0-9 18204.445) - (set! s4-1 (-> self draw art-group data 9)) + (set! s4-1 kor-turn-left100-end0-ja) (set! f30-0 5.0) 23.0 ) (else (set! f0-9 27306.666) - (set! s4-1 (-> self draw art-group data 10)) + (set! s4-1 kor-turn-left150-end0-ja) (set! f30-0 5.0) 23.0 ) @@ -174,17 +174,17 @@ (cond ((< -18204.445 f0-8) (set! f0-9 -9102.223) - (set! s4-1 (-> self draw art-group data 12)) + (set! s4-1 kor-turn-right50-end0-ja) ) ((< -27306.666 f0-8) (set! f0-9 -18204.445) - (set! s4-1 (-> self draw art-group data 13)) + (set! s4-1 kor-turn-right100-end0-ja) (set! f30-0 5.0) (set! f28-0 23.0) ) (else (set! f0-9 -27306.666) - (set! s4-1 (-> self draw art-group data 14)) + (set! s4-1 kor-turn-right150-end0-ja) (set! f30-0 5.0) (set! f28-0 23.0) ) @@ -284,7 +284,7 @@ :code (behavior () (let ((v1-2 (ja-group))) (cond - ((and v1-2 (= v1-2 (-> self draw art-group data 4))) + ((and v1-2 (= v1-2 kor-scared0-ja)) (ja-no-eval :num! (seek!)) (while (not (ja-done? 0)) (suspend) @@ -297,7 +297,7 @@ ) ) (until #f - (ja-no-eval :group! (-> self draw art-group data 4) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! kor-scared0-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -458,7 +458,7 @@ :code (behavior () (local-vars (v1-31 enemy-flag) (v1-39 enemy-flag)) (ja-channel-push! 1 (seconds 0.1)) - (ja-no-eval :group! (-> self draw art-group data 3) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! kor-idle0-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -558,14 +558,14 @@ ((and (not (logtest? (bot-flags bf20) (-> self bot-flags))) (not (time-elapsed? (-> self arrest-attempt-time) (seconds 0.8))) ) - (ja-no-eval :group! (-> self draw art-group data 4) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! kor-scared0-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) ) ) (else - (ja-no-eval :group! (-> self draw art-group data 4) :num! (seek! (ja-aframe 8.0 0)) :frame-num 0.0) + (ja-no-eval :group! kor-scared0-ja :num! (seek! (ja-aframe 8.0 0)) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek! (ja-aframe 8.0 0))) @@ -584,14 +584,14 @@ ) ) (ja-channel-push! 1 (seconds 0.1)) - (ja-no-eval :group! (-> self draw art-group data 17) :num! (seek!) :frame-num (ja-aframe 4.0 0)) + (ja-no-eval :group! kor-arrest-start-ja :num! (seek!) :frame-num (ja-aframe 4.0 0)) (until (ja-done? 0) (suspend) (ja :num! (seek!)) ) (set-time! (-> self state-time)) (until #f - (ja-no-eval :group! (-> self draw art-group data 18) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! kor-arrest-idle0-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (if (and (logtest? (-> self bot-flags) (bot-flags failed)) (time-elapsed? (-> self state-time) (seconds 3)) diff --git a/test/decompiler/reference/jak2/levels/city/traffic/citizen/guard_REF.gc b/test/decompiler/reference/jak2/levels/city/traffic/citizen/guard_REF.gc index 18a88f085d6..bccaee56e20 100644 --- a/test/decompiler/reference/jak2/levels/city/traffic/citizen/guard_REF.gc +++ b/test/decompiler/reference/jak2/levels/city/traffic/citizen/guard_REF.gc @@ -1450,7 +1450,7 @@ :code (behavior () (ja-channel-push! 1 (seconds 0.2)) (let ((gp-0 #f)) - (ja-no-eval :group! (-> self draw art-group data 18) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! crimson-guard-rifle-butt-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (when (and (< 7.0 (ja-frame-num 0)) (not gp-0)) (let ((v1-22 (-> (the-as collide-shape-prim-group (-> self root root-prim)) child 3))) @@ -2166,7 +2166,7 @@ :code (behavior () (ja-channel-push! 1 (seconds 0.2)) (let ((gp-0 #f)) - (ja-no-eval :group! (-> self draw art-group data 18) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! crimson-guard-rifle-butt-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (when (and (< 7.0 (ja-frame-num 0)) (not gp-0)) (let ((v1-22 (-> (the-as collide-shape-prim-group (-> self root root-prim)) child 3))) @@ -2434,10 +2434,7 @@ (ja-channel-push! 1 (seconds 0.1)) (cond ((logtest? (enemy-flag dislike-combo) (-> self enemy-flags)) - (ja-no-eval :group! (-> self draw art-group data 40) - :num! (seek! (ja-aframe 6.0 0)) - :frame-num (ja-aframe 0.0 0) - ) + (ja-no-eval :group! crimson-guard-jump-right-ja :num! (seek! (ja-aframe 6.0 0)) :frame-num (ja-aframe 0.0 0)) (until (ja-done? 0) (let ((a0-20 (handle->process (-> self focus handle)))) (if a0-20 @@ -2454,10 +2451,7 @@ ) ) (else - (ja-no-eval :group! (-> self draw art-group data 41) - :num! (seek! (ja-aframe 9.0 0)) - :frame-num (ja-aframe 0.0 0) - ) + (ja-no-eval :group! crimson-guard-jump-left-ja :num! (seek! (ja-aframe 9.0 0)) :frame-num (ja-aframe 0.0 0)) (until (ja-done? 0) (let ((a0-33 (handle->process (-> self focus handle)))) (if a0-33 @@ -2481,20 +2475,14 @@ 0 (cond ((logtest? (enemy-flag dislike-combo) (-> self enemy-flags)) - (ja-no-eval :group! (-> self draw art-group data 40) - :num! (seek! (ja-aframe 11.0 0)) - :frame-num (ja-aframe 6.0 0) - ) + (ja-no-eval :group! crimson-guard-jump-right-ja :num! (seek! (ja-aframe 11.0 0)) :frame-num (ja-aframe 6.0 0)) (until (ja-done? 0) (suspend) (ja :num! (seek! (ja-aframe 11.0 0))) ) ) (else - (ja-no-eval :group! (-> self draw art-group data 41) - :num! (seek! (ja-aframe 11.0 0)) - :frame-num (ja-aframe 9.0 0) - ) + (ja-no-eval :group! crimson-guard-jump-left-ja :num! (seek! (ja-aframe 11.0 0)) :frame-num (ja-aframe 9.0 0)) (until (ja-done? 0) (suspend) (ja :num! (seek! (ja-aframe 11.0 0))) @@ -2546,10 +2534,7 @@ (ja-channel-push! 1 (seconds 0.1)) (cond ((logtest? (enemy-flag dislike-combo) (-> self enemy-flags)) - (ja-no-eval :group! (-> self draw art-group data 41) - :num! (seek! (ja-aframe 9.0 0)) - :frame-num (ja-aframe 0.0 0) - ) + (ja-no-eval :group! crimson-guard-jump-left-ja :num! (seek! (ja-aframe 9.0 0)) :frame-num (ja-aframe 0.0 0)) (until (ja-done? 0) (let ((a0-20 (handle->process (-> self focus handle)))) (if a0-20 @@ -2566,10 +2551,7 @@ ) ) (else - (ja-no-eval :group! (-> self draw art-group data 40) - :num! (seek! (ja-aframe 6.0 0)) - :frame-num (ja-aframe 0.0 0) - ) + (ja-no-eval :group! crimson-guard-jump-right-ja :num! (seek! (ja-aframe 6.0 0)) :frame-num (ja-aframe 0.0 0)) (until (ja-done? 0) (let ((a0-33 (handle->process (-> self focus handle)))) (if a0-33 @@ -2593,20 +2575,14 @@ 0 (cond ((logtest? (enemy-flag dislike-combo) (-> self enemy-flags)) - (ja-no-eval :group! (-> self draw art-group data 41) - :num! (seek! (ja-aframe 11.0 0)) - :frame-num (ja-aframe 9.0 0) - ) + (ja-no-eval :group! crimson-guard-jump-left-ja :num! (seek! (ja-aframe 11.0 0)) :frame-num (ja-aframe 9.0 0)) (until (ja-done? 0) (suspend) (ja :num! (seek! (ja-aframe 11.0 0))) ) ) (else - (ja-no-eval :group! (-> self draw art-group data 40) - :num! (seek! (ja-aframe 11.0 0)) - :frame-num (ja-aframe 6.0 0) - ) + (ja-no-eval :group! crimson-guard-jump-right-ja :num! (seek! (ja-aframe 11.0 0)) :frame-num (ja-aframe 6.0 0)) (until (ja-done? 0) (suspend) (ja :num! (seek! (ja-aframe 11.0 0))) @@ -2660,7 +2636,7 @@ (speech-control-method-12 *speech-control* self (speech-type speech-type-13)) (ja-channel-push! 1 (seconds 0.2)) (let ((f30-0 (get-rand-float-range self 0.9 1.1))) - (ja-no-eval :group! (-> self draw art-group data 19) :num! (seek! max f30-0) :frame-num 0.0) + (ja-no-eval :group! crimson-guard-idle-to-stab-idle-ja :num! (seek! max f30-0) :frame-num 0.0) (until (ja-done? 0) (seek-toward-heading-vec! (-> self root) (-> self target-self-xz) 65536.0 (seconds 0.02)) (suspend) @@ -2674,7 +2650,7 @@ ) (goto cfg-17) ) - (ja-no-eval :group! (-> self draw art-group data 20) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! crimson-guard-stab-idle-loop-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -2684,7 +2660,7 @@ (label cfg-17) (let ((f30-1 (get-rand-float-range self 0.9 1.1))) (ja-channel-push! 1 (seconds 0.2)) - (ja-no-eval :group! (-> self draw art-group data 24) :num! (seek! max f30-1) :frame-num 0.0) + (ja-no-eval :group! crimson-guard-stab-idle-to-idle-ja :num! (seek! max f30-1) :frame-num 0.0) (until (ja-done? 0) (seek-toward-heading-vec! (-> self root) (-> self target-self-xz) 65536.0 (seconds 0.02)) (suspend) @@ -2741,14 +2717,14 @@ :code (behavior () (ja-channel-push! 1 (seconds 0.2)) (let ((f30-0 (get-rand-float-range self 0.9 1.1))) - (ja-no-eval :group! (-> self draw art-group data 19) :num! (seek! max f30-0) :frame-num 0.0) + (ja-no-eval :group! crimson-guard-idle-to-stab-idle-ja :num! (seek! max f30-0) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek! max f30-0)) ) ) (while (not (logtest? (-> self flags) (citizen-flag target-in-sight))) - (ja-no-eval :group! (-> self draw art-group data 20) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! crimson-guard-stab-idle-loop-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -2756,7 +2732,7 @@ ) (let ((f30-1 (get-rand-float-range self 0.9 1.1))) (ja-channel-push! 1 (seconds 0.2)) - (ja-no-eval :group! (-> self draw art-group data 24) :num! (seek! max f30-1) :frame-num 0.0) + (ja-no-eval :group! crimson-guard-stab-idle-to-idle-ja :num! (seek! max f30-1) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek! max f30-1)) @@ -3239,7 +3215,7 @@ :code (behavior () (local-vars (v1-94 symbol)) (ja-channel-push! 1 (seconds 0.2)) - (ja-no-eval :group! (-> self draw art-group data 19) :num! (seek! (ja-aframe 7.0 0)) :frame-num 0.0) + (ja-no-eval :group! crimson-guard-idle-to-stab-idle-ja :num! (seek! (ja-aframe 7.0 0)) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek! (ja-aframe 7.0 0))) @@ -3265,7 +3241,7 @@ ) (cond ((< f0-6 0.0) - (ja-no-eval :group! (-> self draw art-group data 25) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! crimson-guard-stab-shuffle-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (quaternion-rotate-local-y! (-> self root quat) (-> self root quat) (* f30-0 (seconds-per-frame))) (suspend) @@ -3273,7 +3249,7 @@ ) ) (else - (ja-no-eval :group! (-> self draw art-group data 25) :num! (seek! 0.0) :frame-num max) + (ja-no-eval :group! crimson-guard-stab-shuffle-ja :num! (seek! 0.0) :frame-num max) (until (ja-done? 0) (quaternion-rotate-local-y! (-> self root quat) (-> self root quat) (* f30-0 (seconds-per-frame))) (suspend) @@ -3286,7 +3262,7 @@ ) (else (ja-channel-push! 1 (seconds 0.1)) - (ja-no-eval :group! (-> self draw art-group data 20) :num! (loop!)) + (ja-no-eval :group! crimson-guard-stab-idle-loop-ja :num! (loop!)) (until v1-94 (suspend) (ja :num! (loop!)) @@ -3324,7 +3300,7 @@ ) (else (ja-channel-push! 1 (seconds 0.1)) - (ja-no-eval :group! (-> self draw art-group data 21) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! crimson-guard-stab-idle-to-attack-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -3363,7 +3339,7 @@ (s4-1 150) (f30-1 1.0) ) - (ja-no-eval :group! (-> self draw art-group data 22) :num! (loop! f30-1) :frame-num 0.0) + (ja-no-eval :group! crimson-guard-stab-attack-ja :num! (loop! f30-1) :frame-num 0.0) (until (time-elapsed? s5-1 s4-1) (crimson-guard-method-222 self) (suspend) @@ -3391,7 +3367,7 @@ ) (set! (-> v1-182 state mode) (the-as lightning-mode a0-62)) ) - (ja-no-eval :group! (-> self draw art-group data 23) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! crimson-guard-stab-attack-to-stab-idle-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -3776,7 +3752,7 @@ (s5-0 150) (f30-0 2.0) ) - (ja-no-eval :group! (-> self draw art-group data 6) :num! (loop! f30-0) :frame-num 0.0) + (ja-no-eval :group! crimson-guard-run-ja :num! (loop! f30-0) :frame-num 0.0) (until (time-elapsed? gp-0 s5-0) (crimson-guard-method-223 self (* 0.006666667 (the float (- (current-time) (-> self state-time))))) (suspend) diff --git a/test/decompiler/reference/jak2/levels/city/traffic/citizen/metalhead-flitter_REF.gc b/test/decompiler/reference/jak2/levels/city/traffic/citizen/metalhead-flitter_REF.gc index 39a5b304659..c1c3e1bda1f 100644 --- a/test/decompiler/reference/jak2/levels/city/traffic/citizen/metalhead-flitter_REF.gc +++ b/test/decompiler/reference/jak2/levels/city/traffic/citizen/metalhead-flitter_REF.gc @@ -451,7 +451,7 @@ ) :code (behavior () (ja-channel-push! 1 (seconds 0.1)) - (ja-no-eval :group! (-> self draw art-group data 10) :num! (seek!)) + (ja-no-eval :group! flitter-ambush-jump-ja :num! (seek!)) (until #f (when (< (-> self base-height) (-> self root trans y)) (let ((gp-0 (get-process *default-dead-pool* part-tracker #x4000))) @@ -522,7 +522,7 @@ ) #f (label cfg-26) - (ja-no-eval :group! (-> self draw art-group data 11) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! flitter-ambush-land-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -687,7 +687,7 @@ 0 (ja-no-eval :num! (loop!)) (ja-channel-push! 1 (seconds 0.2)) - (ja :group! (-> self draw art-group data 15)) + (ja :group! flitter-turn-ja) (ja :num-func num-func-identity :frame-num 0.0) (until (enemy-method-96 self 1820.4445 #t) (ja-blend-eval) @@ -858,14 +858,14 @@ :code (behavior () (ja-channel-push! 2 (seconds 0.1)) (let ((f30-0 (metalhead-flitter-method-209 self))) - (ja-no-eval :group! (-> self draw art-group data 16) :num! (seek! max 0.8) :frame-num 0.0) + (ja-no-eval :group! flitter-attack-ja :num! (seek! max 0.8) :frame-num 0.0) (let ((a0-3 (-> self skel root-channel 1))) (set! (-> a0-3 frame-interp 1) f30-0) (set! (-> a0-3 frame-interp 0) f30-0) - (set! (-> a0-3 frame-group) (the-as art-joint-anim (-> self draw art-group data 17))) + (set! (-> a0-3 frame-group) (the-as art-joint-anim flitter-attack-high-ja)) (set! (-> a0-3 param 0) 0.0) (set! (-> a0-3 frame-num) 0.0) - (joint-control-channel-group! a0-3 (the-as art-joint-anim (-> self draw art-group data 17)) num-func-chan) + (joint-control-channel-group! a0-3 (the-as art-joint-anim flitter-attack-high-ja) num-func-chan) ) (until (ja-done? 0) (suspend) @@ -891,7 +891,7 @@ (logclear! (-> self focus-status) (focus-status dangerous)) ) (dotimes (gp-1 (get-rand-int self 3)) - (ja-no-eval :group! (-> self draw art-group data 5) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! flitter-idle-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -925,7 +925,7 @@ 0 (ja-no-eval :num! (loop!)) (ja-channel-push! 1 (seconds 0.2)) - (ja :group! (-> self draw art-group data 15)) + (ja :group! flitter-turn-ja) (ja :num-func num-func-identity :frame-num 0.0) (until (enemy-method-96 self 1820.4445 #t) (ja-blend-eval) diff --git a/test/decompiler/reference/jak2/levels/city/traffic/citizen/metalhead-grunt_REF.gc b/test/decompiler/reference/jak2/levels/city/traffic/citizen/metalhead-grunt_REF.gc index 6213e789885..e49855e89b8 100644 --- a/test/decompiler/reference/jak2/levels/city/traffic/citizen/metalhead-grunt_REF.gc +++ b/test/decompiler/reference/jak2/levels/city/traffic/citizen/metalhead-grunt_REF.gc @@ -494,17 +494,10 @@ :virtual #t :code (behavior () (let ((v1-2 (ja-group))) - (when (or (and v1-2 (or (= v1-2 (-> self draw art-group data 14)) - (= v1-2 (-> self draw art-group data 15)) - (= v1-2 (-> self draw art-group data 16)) - ) - ) + (when (or (and v1-2 (or (= v1-2 grunt-charge0-ja) (= v1-2 grunt-charge1-ja) (= v1-2 grunt-charge2-ja))) (let ((v1-8 (ja-group))) - (and v1-8 (or (= v1-8 (-> self draw art-group data 11)) - (= v1-8 (-> self draw art-group data 12)) - (= v1-8 (-> self draw art-group data 14)) - (= v1-8 (-> self draw art-group data 15)) - ) + (and v1-8 + (or (= v1-8 grunt-patrol0-ja) (= v1-8 grunt-patrol1-ja) (= v1-8 grunt-charge0-ja) (= v1-8 grunt-charge1-ja)) ) ) ) @@ -686,11 +679,7 @@ ) :code (behavior () (let ((v1-2 (ja-group))) - (when (and v1-2 (or (= v1-2 (-> self draw art-group data 14)) - (= v1-2 (-> self draw art-group data 15)) - (= v1-2 (-> self draw art-group data 16)) - ) - ) + (when (and v1-2 (or (= v1-2 grunt-charge0-ja) (= v1-2 grunt-charge1-ja) (= v1-2 grunt-charge2-ja))) (let ((v1-6 (-> self nav))) (set! (-> v1-6 target-speed) (-> self charge-anim travel-speed)) ) diff --git a/test/decompiler/reference/jak2/levels/city/traffic/citizen/metalhead-predator_REF.gc b/test/decompiler/reference/jak2/levels/city/traffic/citizen/metalhead-predator_REF.gc index 919c48785c4..70385e18aab 100644 --- a/test/decompiler/reference/jak2/levels/city/traffic/citizen/metalhead-predator_REF.gc +++ b/test/decompiler/reference/jak2/levels/city/traffic/citizen/metalhead-predator_REF.gc @@ -906,13 +906,13 @@ ) :code (behavior () (ja-channel-push! 1 (seconds 0.2)) - (ja-no-eval :group! (-> self draw art-group data 7) :num! (seek!) :frame-num 6.0) + (ja-no-eval :group! predator-run0-ja :num! (seek!) :frame-num 6.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) ) (until #f - (ja-no-eval :group! (-> self draw art-group data 7) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! predator-run0-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -962,7 +962,7 @@ (let ((gp-0 0)) (set! (-> self shoot-angle) (* 182.04445 (rand-vu-float-range -45.0 45.0))) (ja-channel-push! 1 (seconds 0.2)) - (ja-no-eval :group! (-> self draw art-group data 10) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! predator-shoot-guns0-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (when (and (< 9.0 (ja-frame-num 0)) (zero? gp-0)) (set! gp-0 1) @@ -1032,7 +1032,7 @@ :code (behavior () (ja-channel-push! 1 (seconds 0.2)) (let ((gp-0 #f)) - (ja-no-eval :group! (-> self draw art-group data 8) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! predator-close-attack-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (when (and (< 4.0 (ja-frame-num 0)) (not gp-0)) (metalhead-predator-method-205 self #t) @@ -1046,7 +1046,7 @@ (set! (-> v1-32 speed) 0.0) ) 0 - (ja-no-eval :group! (-> self draw art-group data 9) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! predator-close-attack-recover-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) diff --git a/test/decompiler/reference/jak2/levels/common/ai/ashelin/ash-states_REF.gc b/test/decompiler/reference/jak2/levels/common/ai/ashelin/ash-states_REF.gc index ca7d0da5f02..ce21089a8af 100644 --- a/test/decompiler/reference/jak2/levels/common/ai/ashelin/ash-states_REF.gc +++ b/test/decompiler/reference/jak2/levels/common/ai/ashelin/ash-states_REF.gc @@ -37,7 +37,7 @@ :code (behavior () (let ((v1-2 (ja-group))) (cond - ((and v1-2 (= v1-2 (-> self draw art-group data 3))) + ((and v1-2 (= v1-2 ashelin-idle0-ja)) (ja-no-eval :num! (seek!)) (while (not (ja-done? 0)) (suspend) @@ -45,7 +45,7 @@ ) ) ((let ((v1-16 (ja-group))) - (and v1-16 (= v1-16 (-> self draw art-group data 29))) + (and v1-16 (= v1-16 ashelin-standing-idle-ja)) ) (ja-no-eval :num! (seek!)) (while (not (ja-done? 0)) @@ -53,7 +53,7 @@ (ja-eval) ) (ja-channel-push! 1 (seconds 0.03)) - (ja-no-eval :group! (-> self draw art-group data 30) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! ashelin-standing-to-waiting-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -63,7 +63,7 @@ (else (let ((v1-55 (ja-group))) (cond - ((and v1-55 (= v1-55 (-> self draw art-group data 30))) + ((and v1-55 (= v1-55 ashelin-standing-to-waiting-ja)) (ja-no-eval :num! (seek!)) (while (not (ja-done? 0)) (suspend) @@ -80,7 +80,7 @@ ) ) (until #f - (ja-no-eval :group! (-> self draw art-group data 3) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! ashelin-idle0-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -118,7 +118,7 @@ (cond ((ashelin-method-238 self #t #t) (when (and (ashelin-method-235 self #t) (let ((v1-11 (ja-group))) - (and v1-11 (= v1-11 (-> self draw art-group data 29))) + (and v1-11 (= v1-11 ashelin-standing-idle-ja)) ) ) (cond @@ -182,7 +182,7 @@ :code (behavior () (let ((v1-2 (ja-group))) (cond - ((and v1-2 (= v1-2 (-> self draw art-group data 29))) + ((and v1-2 (= v1-2 ashelin-standing-idle-ja)) (ja-no-eval :num! (seek!)) (while (not (ja-done? 0)) (suspend) @@ -190,9 +190,9 @@ ) ) ((let ((v1-16 (ja-group))) - (and v1-16 (or (= v1-16 (-> self draw art-group data 27)) - (= v1-16 (-> self draw art-group data 31)) - (= v1-16 (-> self draw art-group data 32)) + (and v1-16 (or (= v1-16 ashelin-waiting-to-standing-ja) + (= v1-16 ashelin-standing-turn-left-ja) + (= v1-16 ashelin-standing-turn-right-ja) ) ) ) @@ -204,10 +204,10 @@ (ja-channel-push! 1 (seconds 0.03)) ) ((let ((v1-31 (ja-group))) - (and v1-31 (= v1-31 (-> self draw art-group data 3))) + (and v1-31 (= v1-31 ashelin-idle0-ja)) ) (ja-channel-push! 1 (seconds 0.1)) - (ja-no-eval :group! (-> self draw art-group data 27) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! ashelin-waiting-to-standing-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -220,7 +220,7 @@ ) ) (until #f - (ja-no-eval :group! (-> self draw art-group data 29) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! ashelin-standing-idle-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -471,13 +471,13 @@ (react-to-focus self) ) (let ((v1-12 (ja-group))) - (if (and v1-12 (or (= v1-12 (-> self draw art-group data 29)) (= v1-12 (-> self draw art-group data 28)))) + (if (and v1-12 (or (= v1-12 ashelin-standing-idle-ja) (= v1-12 ashelin-standing-fire-ja))) (ja-channel-push! 1 (seconds 0.03)) (ja-channel-push! 1 (seconds 0.08)) ) ) (let ((gp-0 #f)) - (ja-no-eval :group! (-> self draw art-group data 28) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! ashelin-standing-fire-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (when (and (not gp-0) (>= (ja-aframe-num 0) 7.0)) (set! gp-0 #t) @@ -590,7 +590,7 @@ ) (quaternion-copy! s5-0 (-> self root quat)) (quaternion<-rotate-y-vector s4-0 gp-1) - (ja-no-eval :group! (-> self draw art-group data 33) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! ashelin-back-spring-start-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (quaternion-slerp! (-> self root quat) s5-0 s4-0 (/ (ja-frame-num 0) (the float (ja-num-frames 0)))) (suspend) @@ -636,7 +636,7 @@ (set! (-> self nav state speed) f0-13) ) 0 - (ja-no-eval :group! (-> self draw art-group data 34) :num! (seek! max 1.4) :frame-num 0.0) + (ja-no-eval :group! ashelin-back-spring-loop-ja :num! (seek! max 1.4) :frame-num 0.0) (until (ja-done? 0) (let ((a1-12 (-> self nav state))) (set! (-> gp-1 quad) (-> a1-12 heading quad)) @@ -666,7 +666,7 @@ (logior! (-> self focus-status) (focus-status dangerous)) (logclear! (-> self focus-status) (focus-status dangerous)) ) - (ja-no-eval :group! (-> self draw art-group data 35) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! ashelin-back-spring-land-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -721,7 +721,7 @@ (quaternion-copy! s5-0 (-> self root quat)) (quaternion<-rotate-y-vector s4-0 gp-1) (quaternion-rotate-y! s4-0 s4-0 -16384.0) - (ja-no-eval :group! (-> self draw art-group data 36) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! ashelin-cartwheel-left-start-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (quaternion-slerp! (-> self root quat) s5-0 s4-0 (/ (ja-frame-num 0) (the float (ja-num-frames 0)))) (suspend) @@ -765,7 +765,7 @@ (set! (-> self nav state speed) f0-13) ) 0 - (ja-no-eval :group! (-> self draw art-group data 37) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! ashelin-cartwheel-left-loop-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (let ((a1-11 (-> self nav state))) (set! (-> gp-1 quad) (-> a1-11 heading quad)) @@ -789,7 +789,7 @@ (logior! (-> self focus-status) (focus-status dangerous)) (logclear! (-> self focus-status) (focus-status dangerous)) ) - (ja-no-eval :group! (-> self draw art-group data 38) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! ashelin-cartwheel-left-land-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -844,7 +844,7 @@ (quaternion-copy! s5-0 (-> self root quat)) (quaternion<-rotate-y-vector s4-0 gp-1) (quaternion-rotate-y! s4-0 s4-0 16384.0) - (ja-no-eval :group! (-> self draw art-group data 39) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! ashelin-tumble-right-start-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (quaternion-slerp! (-> self root quat) s5-0 s4-0 (/ (ja-frame-num 0) (the float (ja-num-frames 0)))) (suspend) @@ -888,7 +888,7 @@ (set! (-> self nav state speed) f0-13) ) 0 - (ja-no-eval :group! (-> self draw art-group data 40) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! ashelin-tumble-right-loop-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (let ((a1-11 (-> self nav state))) (set! (-> gp-1 quad) (-> a1-11 heading quad)) @@ -912,7 +912,7 @@ (logior! (-> self focus-status) (focus-status dangerous)) (logclear! (-> self focus-status) (focus-status dangerous)) ) - (ja-no-eval :group! (-> self draw art-group data 41) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! ashelin-tumble-right-land-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -1034,7 +1034,7 @@ ) (let ((v1-10 (ja-group))) (cond - ((and v1-10 (or (= v1-10 (-> self draw art-group data 9)) (= v1-10 (-> self draw art-group data 12)))) + ((and v1-10 (or (= v1-10 ashelin-knocked-back-die0-ja) (= v1-10 ashelin-knocked-right-die0-ja))) (ja-no-eval :num! (seek!)) (while (not (ja-done? 0)) (suspend) diff --git a/test/decompiler/reference/jak2/levels/common/ai/sig/sig-states_REF.gc b/test/decompiler/reference/jak2/levels/common/ai/sig/sig-states_REF.gc index 351298b9bad..db040b863c9 100644 --- a/test/decompiler/reference/jak2/levels/common/ai/sig/sig-states_REF.gc +++ b/test/decompiler/reference/jak2/levels/common/ai/sig/sig-states_REF.gc @@ -44,7 +44,7 @@ :code (behavior () (ja-channel-push! 1 (seconds 0.2)) (until #f - (ja-no-eval :group! (-> self draw art-group data 47) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! sig-idle-crouch-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -110,7 +110,7 @@ :code (behavior () (let ((v1-2 (ja-group))) (cond - ((and v1-2 (= v1-2 (-> self draw art-group data 6))) + ((and v1-2 (= v1-2 sig-ready0-to-idle-right0-ja)) (ja-no-eval :num! (seek!)) (while (not (ja-done? 0)) (suspend) @@ -119,7 +119,7 @@ (ja-channel-push! 1 (seconds 0.2)) ) ((let ((v1-17 (ja-group))) - (and v1-17 (= v1-17 (-> self draw art-group data 4))) + (and v1-17 (= v1-17 sig-idle-right0-ja)) ) (ja-no-eval :num! (seek!)) (while (not (ja-done? 0)) @@ -129,7 +129,7 @@ ) (else (ja-channel-push! 1 (seconds 0.3)) - (ja-no-eval :group! (-> self draw art-group data 6) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! sig-ready0-to-idle-right0-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -139,7 +139,7 @@ ) ) (until #f - (ja-no-eval :group! (-> self draw art-group data 4) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! sig-idle-right0-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -210,9 +210,9 @@ art-group data (cond - ((and v1-2 (= v1-2 (-> self draw art-group data 4))) + ((and v1-2 (= v1-2 sig-idle-right0-ja)) (ja-channel-push! 1 (seconds 0.1)) - (ja-no-eval :group! (-> self draw art-group data 5) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! sig-idle-right0-to-ready0-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -222,7 +222,7 @@ (else (let ((v1-32 (ja-group))) (cond - ((and v1-32 (= v1-32 (-> self draw art-group data 5))) + ((and v1-32 (= v1-32 sig-idle-right0-to-ready0-ja)) (ja-no-eval :num! (seek!)) (while (not (ja-done? 0)) (suspend) @@ -233,7 +233,7 @@ (else (let ((v1-46 (ja-group))) (cond - ((and v1-46 (= v1-46 (-> self draw art-group data 7))) + ((and v1-46 (= v1-46 sig-ready0-ja)) (ja-no-eval :num! (seek!)) (while (not (ja-done? 0)) (suspend) @@ -322,9 +322,9 @@ ) (let ((v1-8 (ja-group))) (cond - ((and v1-8 (or (= v1-8 (-> self draw art-group data 4)) (= v1-8 (-> self draw art-group data 6)))) + ((and v1-8 (or (= v1-8 sig-idle-right0-ja) (= v1-8 sig-ready0-to-idle-right0-ja))) (ja-channel-push! 1 (seconds 0.1)) - (ja-no-eval :group! (-> self draw art-group data 5) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! sig-idle-right0-to-ready0-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -334,7 +334,7 @@ (else (let ((v1-38 (ja-group))) (cond - ((and v1-38 (= v1-38 (-> self draw art-group data 5))) + ((and v1-38 (= v1-38 sig-idle-right0-to-ready0-ja)) (ja-no-eval :num! (seek!)) (while (not (ja-done? 0)) (suspend) @@ -344,7 +344,7 @@ ) (else (let ((v1-53 (ja-group))) - (if (and v1-53 (= v1-53 (-> self draw art-group data 7))) + (if (and v1-53 (= v1-53 sig-ready0-ja)) (ja-channel-push! 1 (seconds 0.1)) (ja-channel-push! 1 (seconds 0.3)) ) @@ -392,16 +392,16 @@ (cond ((< f0-18 18204.445) (set! f0-19 9102.223) - (set! s4-1 (-> self draw art-group data 49)) + (set! s4-1 sig-turn-left50-end0-ja) (set! f28-0 18.0) ) ((< f0-18 27306.666) (set! f0-19 18204.445) - (set! s4-1 (-> self draw art-group data 50)) + (set! s4-1 sig-turn-left100-end0-ja) ) (else (set! f0-19 27306.666) - (set! s4-1 (-> self draw art-group data 51)) + (set! s4-1 sig-turn-left150-end0-ja) ) ) ) @@ -412,16 +412,16 @@ (cond ((< -18204.445 f0-18) (set! f0-19 -9102.223) - (set! s4-1 (-> self draw art-group data 53)) + (set! s4-1 sig-turn-right50-end0-ja) (set! f28-0 18.0) ) ((< -27306.666 f0-18) (set! f0-19 -18204.445) - (set! s4-1 (-> self draw art-group data 54)) + (set! s4-1 sig-turn-right100-end0-ja) ) (else (set! f0-19 -27306.666) - (set! s4-1 (-> self draw art-group data 55)) + (set! s4-1 sig-turn-right150-end0-ja) ) ) ) @@ -500,7 +500,7 @@ ) :code (behavior () (ja-channel-push! 1 (seconds 0.15)) - (ja-no-eval :group! (-> self draw art-group data 35) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! sig-charge-to-crouch-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -508,7 +508,7 @@ (logior! (-> self plasma flags) (plasma-flags pf01)) (ja-channel-push! 1 (seconds 0.07)) (until #f - (ja-no-eval :group! (-> self draw art-group data 36) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! sig-charge0-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (if (and (logtest? (-> self plasma flags) (plasma-flags pf02)) (logtest? (-> self plasma flags) (plasma-flags pf03)) @@ -522,14 +522,14 @@ #f (label cfg-12) (ja-channel-push! 1 (seconds 0.1)) - (ja-no-eval :group! (-> self draw art-group data 37) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! sig-charge-to-ready-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) ) (ja-channel-push! 1 (seconds 0.07)) (until #f - (ja-no-eval :group! (-> self draw art-group data 38) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! sig-charge-ready-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (if (logtest? (-> self plasma flags) (plasma-flags pf03)) (logior! (-> self plasma flags) (plasma-flags pf04)) @@ -568,7 +568,7 @@ ) :code (behavior () (ja-channel-push! 1 (seconds 0.2)) - (ja-no-eval :group! (-> self draw art-group data 12) :num! (seek! (ja-aframe 8.0 0)) :frame-num 0.0) + (ja-no-eval :group! sig-blast-forward-ja :num! (seek! (ja-aframe 8.0 0)) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek! (ja-aframe 8.0 0))) @@ -627,7 +627,7 @@ ) :code (behavior () (ja-channel-push! 1 (seconds 0.2)) - (ja-no-eval :group! (-> self draw art-group data 26) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! sig-gun-fix-start-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -635,7 +635,7 @@ (until #f (ja-channel-push! 1 (seconds 0.07)) (countdown (gp-0 (get-rand-int-range self 2 4)) - (ja-no-eval :group! (-> self draw art-group data 27) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! sig-gun-fix-hit-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -648,7 +648,7 @@ ) ) (ja-channel-push! 1 (seconds 0.07)) - (ja-no-eval :group! (-> self draw art-group data 28) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! sig-gun-fix-hit-to-look-a-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -660,7 +660,7 @@ (go-virtual waiting-close) ) (ja-channel-push! 1 (seconds 0.13)) - (ja-no-eval :group! (-> self draw art-group data 29) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! sig-gun-fix-look-a-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -672,7 +672,7 @@ (go-virtual waiting-close) ) (ja-channel-push! 1 (seconds 0.07)) - (ja-no-eval :group! (-> self draw art-group data 31) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! sig-gun-fix-shake-look-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -684,7 +684,7 @@ (go-virtual waiting-close) ) (ja-channel-push! 1 (seconds 0.13)) - (ja-no-eval :group! (-> self draw art-group data 30) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! sig-gun-fix-look-b-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -696,7 +696,7 @@ (go-virtual waiting-close) ) (ja-channel-push! 1 (seconds 0.07)) - (ja-no-eval :group! (-> self draw art-group data 32) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! sig-gun-fix-look-to-stomp-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -709,7 +709,7 @@ ) (countdown (gp-1 (get-rand-int-range self 2 3)) (ja-channel-push! 1 (seconds 0.07)) - (ja-no-eval :group! (-> self draw art-group data 33) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! sig-gun-fix-stomp-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -722,7 +722,7 @@ ) ) (ja-channel-push! 1 (seconds 0.07)) - (ja-no-eval :group! (-> self draw art-group data 34) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! sig-gun-fix-stomp-to-hit-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -781,7 +781,7 @@ ) :code (behavior () (ja-channel-push! 1 (seconds 0.15)) - (ja-no-eval :group! (-> self draw art-group data 7) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! sig-ready0-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -795,7 +795,7 @@ (ja-channel-push! 1 (seconds 0.13)) (while (nonzero? s5-0) (+! s5-0 -1) - (ja-no-eval :group! (-> self draw art-group data 29) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! sig-gun-fix-look-a-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -808,7 +808,7 @@ (ja-channel-push! 1 (seconds 0.13)) (while (nonzero? s5-1) (+! s5-1 -1) - (ja-no-eval :group! (-> self draw art-group data 30) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! sig-gun-fix-look-b-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -819,7 +819,7 @@ ) (when (nonzero? gp-0) (ja-channel-push! 1 (seconds 0.07)) - (ja-no-eval :group! (-> self draw art-group data 31) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! sig-gun-fix-shake-look-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -939,7 +939,7 @@ :code (behavior () (ja-channel-push! 1 (seconds 0.3)) (until #f - (ja-no-eval :group! (-> self draw art-group data 7) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! sig-ready0-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -999,9 +999,9 @@ art-group data (cond - ((and v1-2 (= v1-2 (-> self draw art-group data 4))) + ((and v1-2 (= v1-2 sig-idle-right0-ja)) (ja-channel-push! 1 (seconds 0.1)) - (ja-no-eval :group! (-> self draw art-group data 5) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! sig-idle-right0-to-ready0-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -1011,7 +1011,7 @@ (else (let ((v1-32 (ja-group))) (cond - ((and v1-32 (= v1-32 (-> self draw art-group data 5))) + ((and v1-32 (= v1-32 sig-idle-right0-to-ready0-ja)) (ja-no-eval :num! (seek!)) (while (not (ja-done? 0)) (suspend) @@ -1022,7 +1022,7 @@ (else (let ((v1-46 (ja-group))) (cond - ((and v1-46 (= v1-46 (-> self draw art-group data 7))) + ((and v1-46 (= v1-46 sig-ready0-ja)) (ja-no-eval :num! (seek!)) (while (not (ja-done? 0)) (suspend) @@ -1101,15 +1101,15 @@ 0.0 (let ((f30-0 (cond ((< (fabs (-> self focus-info ry-diff)) 8192.0) - (set! a1-2 (-> self draw art-group data 9)) + (set! a1-2 sig-whip-forward-ja) 18.0 ) ((< (-> self focus-info ry-diff) 0.0) - (set! a1-2 (-> self draw art-group data 11)) + (set! a1-2 sig-whip-right-ja) 16.0 ) (else - (set! a1-2 (-> self draw art-group data 10)) + (set! a1-2 sig-whip-left-ja) 18.0 ) ) @@ -1166,15 +1166,15 @@ (cond ((< (fabs (-> self focus-info ry-diff)) 8192.0) (ja-channel-push! 1 (seconds 0.1)) - (set! gp-0 (-> self draw art-group data 12)) + (set! gp-0 sig-blast-forward-ja) ) ((< (-> self focus-info ry-diff) 0.0) (ja-channel-push! 1 (seconds 0.1)) - (set! gp-0 (-> self draw art-group data 14)) + (set! gp-0 sig-blast-right-ja) ) (else (ja-channel-push! 1 (seconds 0.1)) - (set! gp-0 (-> self draw art-group data 13)) + (set! gp-0 sig-blast-left-ja) ) ) (let ((f30-1 (ja-aframe f30-0 0))) @@ -1282,16 +1282,7 @@ (logclear! (-> self enemy-flags) (enemy-flag actor-pause-backup)) ) :code (behavior () - (push-anim-to-targ - (-> self skel top-anim) - (the-as art-joint-anim (-> self draw art-group data 45)) - 0.0 - 9 - 9 - 1.0 - 0.0 - #f - ) + (push-anim-to-targ (-> self skel top-anim) (the-as art-joint-anim sig-upper-shoot-ja) 0.0 9 9 1.0 0.0 #f) (until (time-elapsed? (-> self state-time) (seconds 0.167)) (sig-method-258 self) (suspend) @@ -1309,16 +1300,7 @@ 0 ) (else - (push-anim-to-targ - (-> self skel top-anim) - (the-as art-joint-anim (-> self draw art-group data 44)) - 0.0 - 30 - 0 - 1.0 - 0.0 - #f - ) + (push-anim-to-targ (-> self skel top-anim) (the-as art-joint-anim sig-upper-base-high-ja) 0.0 30 0 1.0 0.0 #f) ) ) ) @@ -1363,7 +1345,7 @@ :code (behavior () (local-vars (v1-31 enemy-flag) (v1-39 enemy-flag)) (ja-channel-push! 1 (seconds 0.1)) - (ja-no-eval :group! (-> self draw art-group data 4) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! sig-idle-right0-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -1445,13 +1427,13 @@ ) :code (behavior () (ja-channel-push! 1 (seconds 0.2)) - (ja-no-eval :group! (-> self draw art-group data 7) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! sig-ready0-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) ) (ja-channel-push! 1 (seconds 0.2)) - (ja-no-eval :group! (-> self draw art-group data 6) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! sig-ready0-to-idle-right0-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -1459,7 +1441,7 @@ (ja-channel-push! 1 (seconds 0.2)) (set-time! (-> self state-time)) (until #f - (ja-no-eval :group! (-> self draw art-group data 4) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! sig-idle-right0-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (if (and (logtest? (-> self bot-flags) (bot-flags failed)) (time-elapsed? (-> self state-time) (seconds 0.5)) @@ -1516,12 +1498,12 @@ ) :code (behavior () (let ((v1-2 (ja-group))) - (if (and v1-2 (or (= v1-2 (-> self draw art-group data 58)) (= v1-2 (-> self draw art-group data 60)))) + (if (and v1-2 (or (= v1-2 sig-chased-run-jump-land0-ja) (= v1-2 sig-chased-shoot-jump-land0-ja))) (ja-channel-push! 1 (seconds 0.07)) (ja-channel-push! 1 (seconds 0.15)) ) ) - (ja-no-eval :group! (-> self draw art-group data 56) :num! (loop!)) + (ja-no-eval :group! sig-chased-run0-ja :num! (loop!)) (until #f (suspend) (let* ((f0-1 (vector-length (-> self root transv))) @@ -1583,12 +1565,12 @@ :code (behavior () (let ((f30-0 0.0)) (let ((v1-2 (ja-group))) - (if (and v1-2 (= v1-2 (-> self draw art-group data 57))) + (if (and v1-2 (= v1-2 sig-chased-run-jump0-ja)) (set! f30-0 1.0) ) ) (ja-channel-push! 1 (seconds 0.07)) - (ja-no-eval :group! (-> self draw art-group data 57) :num! (seek!) :frame-num f30-0) + (ja-no-eval :group! sig-chased-run-jump0-ja :num! (seek!) :frame-num f30-0) ) (until (ja-done? 0) (suspend) @@ -1648,7 +1630,7 @@ (let* ((f0-0 (vector-length (-> self root transv))) (f0-2 (fmax 0.1 (* 0.000020345053 f0-0))) ) - (ja-no-eval :group! (-> self draw art-group data 58) :num! (seek! max f0-2) :frame-num 0.0) + (ja-no-eval :group! sig-chased-run-jump-land0-ja :num! (seek! max f0-2) :frame-num 0.0) ) (until (ja-done? 0) (suspend) @@ -1712,12 +1694,12 @@ :code (behavior () (let ((f30-0 0.0)) (let ((v1-2 (ja-group))) - (if (and v1-2 (= v1-2 (-> self draw art-group data 59))) + (if (and v1-2 (= v1-2 sig-chased-shoot-jump0-ja)) (set! f30-0 1.0) ) ) (ja-channel-push! 1 (seconds 0.07)) - (ja-no-eval :group! (-> self draw art-group data 59) :num! (seek!) :frame-num f30-0) + (ja-no-eval :group! sig-chased-shoot-jump0-ja :num! (seek!) :frame-num f30-0) ) (until (ja-done? 0) (if (and (not (logtest? (bot-flags bf25) (-> self bot-flags))) @@ -1782,7 +1764,7 @@ (let* ((f0-0 (vector-length (-> self root transv))) (f0-2 (fmax 0.1 (* 0.000020345053 f0-0))) ) - (ja-no-eval :group! (-> self draw art-group data 60) :num! (seek! max f0-2) :frame-num 0.0) + (ja-no-eval :group! sig-chased-shoot-jump-land0-ja :num! (seek! max f0-2) :frame-num 0.0) ) (until (ja-done? 0) (suspend) @@ -1820,13 +1802,13 @@ ) :code (behavior () (ja-channel-push! 1 (seconds 0.15)) - (ja-no-eval :group! (-> self draw art-group data 61) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! sig-chased-idle-start-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) ) (until #f - (ja-no-eval :group! (-> self draw art-group data 62) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! sig-chased-idle-loop-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) diff --git a/test/decompiler/reference/jak2/levels/common/enemy/grenadier_REF.gc b/test/decompiler/reference/jak2/levels/common/enemy/grenadier_REF.gc index 842f671bbb3..982af0a3840 100644 --- a/test/decompiler/reference/jak2/levels/common/enemy/grenadier_REF.gc +++ b/test/decompiler/reference/jak2/levels/common/enemy/grenadier_REF.gc @@ -801,7 +801,7 @@ (('event-attack) (let ((s4-0 (handle->process (-> self focus handle)))) (when s4-0 - (let ((gp-0 (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 34)))) + (let ((gp-0 (vector<-cspace! (new 'stack-no-clear 'vector) (joint-node-index grenadier-lod0-jg bomb)))) (let ((s5-1 (vector-! (new 'stack-no-clear 'vector) (get-trans (the-as process-focusable s4-0) 0) gp-0))) (let ((s4-1 (new 'stack-no-clear 'vector))) (let ((f0-0 (vector-length s5-1))) diff --git a/test/decompiler/reference/jak2/levels/common/enemy/guards/crimson-guard-level_REF.gc b/test/decompiler/reference/jak2/levels/common/enemy/guards/crimson-guard-level_REF.gc index 3a011e2e535..1ced26191cb 100644 --- a/test/decompiler/reference/jak2/levels/common/enemy/guards/crimson-guard-level_REF.gc +++ b/test/decompiler/reference/jak2/levels/common/enemy/guards/crimson-guard-level_REF.gc @@ -2101,7 +2101,7 @@ (speech-control-method-12 *speech-control* self (speech-type speech-type-13)) (ja-channel-push! 1 (seconds 0.2)) (let ((f30-0 (get-rand-float-range self 0.9 1.1))) - (ja-no-eval :group! (-> self draw art-group data 19) :num! (seek! max f30-0) :frame-num 0.0) + (ja-no-eval :group! crimson-guard-idle-to-stab-idle-ja :num! (seek! max f30-0) :frame-num 0.0) (until (ja-done? 0) (seek-toward-heading-vec! (-> self root) (-> self target-self-xz) 65536.0 (seconds 0.02)) (suspend) @@ -2114,7 +2114,7 @@ ) (goto cfg-13) ) - (ja-no-eval :group! (-> self draw art-group data 20) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! crimson-guard-stab-idle-loop-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -2124,7 +2124,7 @@ (label cfg-13) (let ((f30-1 (get-rand-float-range self 0.9 1.1))) (ja-channel-push! 1 (seconds 0.2)) - (ja-no-eval :group! (-> self draw art-group data 24) :num! (seek! max f30-1) :frame-num 0.0) + (ja-no-eval :group! crimson-guard-stab-idle-to-idle-ja :num! (seek! max f30-1) :frame-num 0.0) (until (ja-done? 0) (seek-toward-heading-vec! (-> self root) (-> self target-self-xz) 65536.0 (seconds 0.02)) (suspend) @@ -2747,7 +2747,7 @@ ) :code (behavior () (ja-channel-push! 1 (seconds 0.2)) - (ja-no-eval :group! (-> self draw art-group data 18) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! crimson-guard-rifle-butt-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -2846,7 +2846,7 @@ ) :code (behavior () (ja-channel-push! 1 (seconds 0.2)) - (ja-no-eval :group! (-> self draw art-group data 37) + (ja-no-eval :group! crimson-guard-grenade-attack-ja :num! (seek! (ja-aframe 12.0 0)) :frame-num (ja-aframe 1.0 0) ) @@ -2857,7 +2857,7 @@ ) (let ((gp-2 (current-time))) (until (time-elapsed? gp-2 (the int (* 900.0 (you-suck-scale *game-info* #f)))) - (ja-no-eval :group! (-> self draw art-group data 37) + (ja-no-eval :group! crimson-guard-grenade-attack-ja :num! (seek! (ja-aframe 12.0 0)) :frame-num (ja-aframe 12.0 0) ) @@ -2873,7 +2873,7 @@ ) ) (crimson-guard-level-method-192 self) - (ja-no-eval :group! (-> self draw art-group data 37) + (ja-no-eval :group! crimson-guard-grenade-attack-ja :num! (seek! (ja-aframe 32.0 0)) :frame-num (ja-aframe 22.0 0) ) @@ -2881,7 +2881,7 @@ (suspend) (ja :num! (seek! (ja-aframe 32.0 0))) ) - (ja-no-eval :group! (-> self draw art-group data 37) + (ja-no-eval :group! crimson-guard-grenade-attack-ja :num! (seek! (ja-aframe 37.0 0)) :frame-num (ja-aframe 33.0 0) ) @@ -2969,7 +2969,7 @@ :code (behavior () (local-vars (v1-69 symbol)) (ja-channel-push! 1 (seconds 0.2)) - (ja-no-eval :group! (-> self draw art-group data 19) :num! (seek! (ja-aframe 7.0 0)) :frame-num 0.0) + (ja-no-eval :group! crimson-guard-idle-to-stab-idle-ja :num! (seek! (ja-aframe 7.0 0)) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek! (ja-aframe 7.0 0))) @@ -2983,7 +2983,7 @@ ) (cond ((< 5461.3335 (fabs (-> self target-y-angle))) - (ja-no-eval :group! (-> self draw art-group data 25) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! crimson-guard-stab-shuffle-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (if (< 5461.3335 (fabs (-> self target-y-angle))) (seek-to-point-toward-point! @@ -2998,7 +2998,7 @@ ) ) (else - (ja-no-eval :group! (-> self draw art-group data 20) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! crimson-guard-stab-idle-loop-ja :num! (seek!) :frame-num 0.0) (until v1-69 (suspend) (ja :num! (seek!)) @@ -3028,7 +3028,7 @@ ) (else (ja-channel-push! 1 (seconds 0.1)) - (ja-no-eval :group! (-> self draw art-group data 21) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! crimson-guard-stab-idle-to-attack-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -3066,7 +3066,7 @@ (s5-1 150) (f30-0 1.0) ) - (ja-no-eval :group! (-> self draw art-group data 22) :num! (loop! f30-0) :frame-num 0.0) + (ja-no-eval :group! crimson-guard-stab-attack-ja :num! (loop! f30-0) :frame-num 0.0) (until (time-elapsed? gp-4 s5-1) (crimson-guard-level-method-198 self) (suspend) @@ -3094,7 +3094,7 @@ ) (set! (-> v1-151 state mode) (the-as lightning-mode a0-44)) ) - (ja-no-eval :group! (-> self draw art-group data 23) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! crimson-guard-stab-attack-to-stab-idle-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -3109,7 +3109,7 @@ ) ) (when (not (handle->process (-> self focus handle))) - (ja-no-eval :group! (-> self draw art-group data 24) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! crimson-guard-stab-idle-to-idle-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -3306,10 +3306,7 @@ (ja-channel-push! 1 (seconds 0.1)) (cond ((logtest? (enemy-flag dislike-combo) (-> self enemy-flags)) - (ja-no-eval :group! (-> self draw art-group data 40) - :num! (seek! (ja-aframe 6.0 0)) - :frame-num (ja-aframe 0.0 0) - ) + (ja-no-eval :group! crimson-guard-jump-right-ja :num! (seek! (ja-aframe 6.0 0)) :frame-num (ja-aframe 0.0 0)) (until (ja-done? 0) (let ((a0-20 (handle->process (-> self focus handle)))) (if a0-20 @@ -3326,10 +3323,7 @@ ) ) (else - (ja-no-eval :group! (-> self draw art-group data 41) - :num! (seek! (ja-aframe 9.0 0)) - :frame-num (ja-aframe 0.0 0) - ) + (ja-no-eval :group! crimson-guard-jump-left-ja :num! (seek! (ja-aframe 9.0 0)) :frame-num (ja-aframe 0.0 0)) (until (ja-done? 0) (let ((a0-33 (handle->process (-> self focus handle)))) (if a0-33 @@ -3353,20 +3347,14 @@ 0 (cond ((logtest? (enemy-flag dislike-combo) (-> self enemy-flags)) - (ja-no-eval :group! (-> self draw art-group data 40) - :num! (seek! (ja-aframe 11.0 0)) - :frame-num (ja-aframe 6.0 0) - ) + (ja-no-eval :group! crimson-guard-jump-right-ja :num! (seek! (ja-aframe 11.0 0)) :frame-num (ja-aframe 6.0 0)) (until (ja-done? 0) (suspend) (ja :num! (seek! (ja-aframe 11.0 0))) ) ) (else - (ja-no-eval :group! (-> self draw art-group data 41) - :num! (seek! (ja-aframe 11.0 0)) - :frame-num (ja-aframe 9.0 0) - ) + (ja-no-eval :group! crimson-guard-jump-left-ja :num! (seek! (ja-aframe 11.0 0)) :frame-num (ja-aframe 9.0 0)) (until (ja-done? 0) (suspend) (ja :num! (seek! (ja-aframe 11.0 0))) @@ -3418,10 +3406,7 @@ (ja-channel-push! 1 (seconds 0.1)) (cond ((logtest? (enemy-flag dislike-combo) (-> self enemy-flags)) - (ja-no-eval :group! (-> self draw art-group data 41) - :num! (seek! (ja-aframe 9.0 0)) - :frame-num (ja-aframe 0.0 0) - ) + (ja-no-eval :group! crimson-guard-jump-left-ja :num! (seek! (ja-aframe 9.0 0)) :frame-num (ja-aframe 0.0 0)) (until (ja-done? 0) (let ((a0-20 (handle->process (-> self focus handle)))) (if a0-20 @@ -3438,10 +3423,7 @@ ) ) (else - (ja-no-eval :group! (-> self draw art-group data 40) - :num! (seek! (ja-aframe 6.0 0)) - :frame-num (ja-aframe 0.0 0) - ) + (ja-no-eval :group! crimson-guard-jump-right-ja :num! (seek! (ja-aframe 6.0 0)) :frame-num (ja-aframe 0.0 0)) (until (ja-done? 0) (let ((a0-33 (handle->process (-> self focus handle)))) (if a0-33 @@ -3465,20 +3447,14 @@ 0 (cond ((logtest? (enemy-flag dislike-combo) (-> self enemy-flags)) - (ja-no-eval :group! (-> self draw art-group data 41) - :num! (seek! (ja-aframe 11.0 0)) - :frame-num (ja-aframe 9.0 0) - ) + (ja-no-eval :group! crimson-guard-jump-left-ja :num! (seek! (ja-aframe 11.0 0)) :frame-num (ja-aframe 9.0 0)) (until (ja-done? 0) (suspend) (ja :num! (seek! (ja-aframe 11.0 0))) ) ) (else - (ja-no-eval :group! (-> self draw art-group data 40) - :num! (seek! (ja-aframe 11.0 0)) - :frame-num (ja-aframe 6.0 0) - ) + (ja-no-eval :group! crimson-guard-jump-right-ja :num! (seek! (ja-aframe 11.0 0)) :frame-num (ja-aframe 6.0 0)) (until (ja-done? 0) (suspend) (ja :num! (seek! (ja-aframe 11.0 0))) @@ -3767,7 +3743,7 @@ (let ((gp-1 #t)) (let ((v1-24 (ja-group))) (cond - ((and v1-24 (or (= v1-24 (-> self draw art-group data 33)) (= v1-24 (-> self draw art-group data 34)))) + ((and v1-24 (or (= v1-24 crimson-guard-get-up-front-ja) (= v1-24 crimson-guard-get-up-back-ja))) (ja-no-eval :num! (seek!)) (while (not (ja-done? 0)) (suspend) @@ -3775,7 +3751,7 @@ ) ) ((let ((v1-39 (ja-group))) - (and v1-39 (= v1-39 (-> self draw art-group data 8))) + (and v1-39 (= v1-39 crimson-guard-knocked-ja)) ) (ja-no-eval :num! (seek!)) (while (not (ja-done? 0)) @@ -3783,7 +3759,7 @@ (ja-eval) ) (ja-channel-push! 1 (seconds 0.07)) - (ja-no-eval :group! (-> self draw art-group data 9) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! crimson-guard-knocked-land-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -3791,7 +3767,7 @@ (set! gp-1 #f) ) ((let ((v1-79 (ja-group))) - (and v1-79 (= v1-79 (-> self draw art-group data 31))) + (and v1-79 (= v1-79 crimson-guard-knocked-back-ja)) ) (ja-no-eval :num! (seek!)) (while (not (ja-done? 0)) @@ -3799,7 +3775,7 @@ (ja-eval) ) (ja-channel-push! 1 (seconds 0.07)) - (ja-no-eval :group! (-> self draw art-group data 32) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! crimson-guard-knocked-back-land-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -3807,7 +3783,7 @@ (set! gp-1 #f) ) ((let ((v1-119 (ja-group))) - (and v1-119 (= v1-119 (-> self draw art-group data 9))) + (and v1-119 (= v1-119 crimson-guard-knocked-land-ja)) ) (ja-no-eval :num! (seek!)) (while (not (ja-done? 0)) @@ -3815,14 +3791,14 @@ (ja-eval) ) (ja-channel-push! 1 (seconds 0.07)) - (ja-no-eval :group! (-> self draw art-group data 34) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! crimson-guard-get-up-back-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) ) ) ((let ((v1-158 (ja-group))) - (and v1-158 (= v1-158 (-> self draw art-group data 32))) + (and v1-158 (= v1-158 crimson-guard-knocked-back-land-ja)) ) (ja-no-eval :num! (seek!)) (while (not (ja-done? 0)) @@ -3830,7 +3806,7 @@ (ja-eval) ) (ja-channel-push! 1 (seconds 0.07)) - (ja-no-eval :group! (-> self draw art-group data 33) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! crimson-guard-get-up-front-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -3840,7 +3816,7 @@ ) (when gp-1 (ja-channel-push! 1 (seconds 0.1)) - (ja-no-eval :group! (-> self draw art-group data 17) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! crimson-guard-die-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -4213,7 +4189,7 @@ (s5-0 150) (f30-0 2.0) ) - (ja-no-eval :group! (-> self draw art-group data 6) :num! (loop! f30-0) :frame-num 0.0) + (ja-no-eval :group! crimson-guard-run-ja :num! (loop! f30-0) :frame-num 0.0) (until (time-elapsed? gp-0 s5-0) (crimson-guard-level-method-201 self (* 0.006666667 (the float (- (current-time) (-> self state-time))))) (suspend) diff --git a/test/decompiler/reference/jak2/levels/common/enemy/guards/transport-level_REF.gc b/test/decompiler/reference/jak2/levels/common/enemy/guards/transport-level_REF.gc index 8f0d5bc9b4f..a8b83871c24 100644 --- a/test/decompiler/reference/jak2/levels/common/enemy/guards/transport-level_REF.gc +++ b/test/decompiler/reference/jak2/levels/common/enemy/guards/transport-level_REF.gc @@ -137,7 +137,7 @@ ) :code (behavior () (ja-channel-push! 1 0) - (ja-no-eval :group! (-> self draw art-group data 4) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! transport-idle-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -172,7 +172,7 @@ :code (behavior () (ja-channel-push! 1 0) (sound-play "tran-door-open") - (ja-no-eval :group! (-> self draw art-group data 5) :num! (seek! max 0.5) :frame-num 0.0) + (ja-no-eval :group! transport-hatch-open-ja :num! (seek! max 0.5) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek! max 0.5)) @@ -238,7 +238,7 @@ (ja-channel-push! 1 0) (sound-play "tran-thrust") (sound-play "tran-door-close") - (ja-no-eval :group! (-> self draw art-group data 6) :num! (seek! max 0.2) :frame-num 0.0) + (ja-no-eval :group! transport-hatch-close-ja :num! (seek! max 0.2) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek! max 0.2)) diff --git a/test/decompiler/reference/jak2/levels/common/enemy/hover/flamer_REF.gc b/test/decompiler/reference/jak2/levels/common/enemy/hover/flamer_REF.gc index 9ede4df5367..531d4353454 100644 --- a/test/decompiler/reference/jak2/levels/common/enemy/hover/flamer_REF.gc +++ b/test/decompiler/reference/jak2/levels/common/enemy/hover/flamer_REF.gc @@ -934,7 +934,7 @@ 0 (set! (-> self flit-joint twist-min-y) (the-as float #f)) (vector-reset! (-> self flit-joint target)) - (vector<-cspace! (-> self main-joint-pos) (-> self node-list data 3)) + (vector<-cspace! (-> self main-joint-pos) (joint-node-index flamer-lod0-jg main)) (vector-reset! (-> self main-joint-vel)) (vector-reset! (-> self main-joint-acc)) (set! (-> self main-acceleration) 0.0) @@ -1152,7 +1152,7 @@ (('event-attack) (let ((s5-0 (handle->process (-> self focus handle)))) (when s5-0 - (let ((gp-0 (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 9)))) + (let ((gp-0 (vector<-cspace! (new 'stack-no-clear 'vector) (joint-node-index flamer-lod0-jg tailF)))) (let ((a2-1 (get-trans (the-as process-focusable s5-0) 3)) (s5-1 (new 'stack-no-clear 'vector)) ) diff --git a/test/decompiler/reference/jak2/levels/common/enemy/spyder_REF.gc b/test/decompiler/reference/jak2/levels/common/enemy/spyder_REF.gc index 71f3dadfcb0..4a02ae9d105 100644 --- a/test/decompiler/reference/jak2/levels/common/enemy/spyder_REF.gc +++ b/test/decompiler/reference/jak2/levels/common/enemy/spyder_REF.gc @@ -1142,7 +1142,7 @@ (let ((f28-0 0.0)) (dotimes (s4-0 8) (let* ((f26-0 (fmin (-> self root trans y) (-> gp-0 y))) - (s3-0 (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 27))) + (s3-0 (vector<-cspace! (new 'stack-no-clear 'vector) (joint-node-index spyder-lod0-jg shoot))) (f0-11 (fmin 40960.0 (+ -16384.0 (vector-vector-distance s3-0 gp-0)))) (s2-1 (vector-! (new 'stack-no-clear 'vector) s3-0 gp-0)) ) diff --git a/test/decompiler/reference/jak2/levels/common/race/race-obs_REF.gc b/test/decompiler/reference/jak2/levels/common/race/race-obs_REF.gc index d48f0e48caf..aab555cab9f 100644 --- a/test/decompiler/reference/jak2/levels/common/race/race-obs_REF.gc +++ b/test/decompiler/reference/jak2/levels/common/race/race-obs_REF.gc @@ -625,14 +625,14 @@ (ja-channel-push! 1 (seconds 0.05)) (cond ((zero? (rand-vu-int-count 2)) - (ja-no-eval :group! (-> self draw art-group data 6) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! stadium-racer-car-taunt-left-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) ) ) (else - (ja-no-eval :group! (-> self draw art-group data 7) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! stadium-racer-car-taunt-right-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) diff --git a/test/decompiler/reference/jak2/levels/common/warp-gate_REF.gc b/test/decompiler/reference/jak2/levels/common/warp-gate_REF.gc index a3251dc65d3..2f7d024a4e1 100644 --- a/test/decompiler/reference/jak2/levels/common/warp-gate_REF.gc +++ b/test/decompiler/reference/jak2/levels/common/warp-gate_REF.gc @@ -906,7 +906,7 @@ This commonly includes things such as: ) :code (behavior ((arg0 vector) (arg1 vector) (arg2 target)) (ja-channel-push! 1 (seconds 0.2)) - (ja-no-eval :group! (-> self draw art-group data 30) :num! (seek! (ja-aframe 16.0 0)) :frame-num 0.0) + (ja-no-eval :group! jakb-duck-high-jump-ja :num! (seek! (ja-aframe 16.0 0)) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek! (ja-aframe 16.0 0))) @@ -988,10 +988,7 @@ This commonly includes things such as: (none) ) ) - (ja-no-eval :group! (-> self draw art-group data 30) - :num! (seek! (ja-aframe 40.0 0)) - :frame-num (ja-aframe 16.0 0) - ) + (ja-no-eval :group! jakb-duck-high-jump-ja :num! (seek! (ja-aframe 40.0 0)) :frame-num (ja-aframe 16.0 0)) (until (ja-done? 0) (suspend) (ja :num! (seek! (ja-aframe 40.0 0))) @@ -1083,10 +1080,7 @@ This commonly includes things such as: ) (send-event self 'draw #t) (sound-play "warpgate-tele") - (ja-no-eval :group! (-> self draw art-group data 30) - :num! (seek! (ja-aframe 42.0 0)) - :frame-num (ja-aframe 40.0 0) - ) + (ja-no-eval :group! jakb-duck-high-jump-ja :num! (seek! (ja-aframe 42.0 0)) :frame-num (ja-aframe 40.0 0)) (until (ja-done? 0) (let ((v1-59 (new-stack-vector0))) (let ((f0-5 (vector-dot (-> self control dynam gravity-normal) (-> self control transv)))) @@ -1111,10 +1105,7 @@ This commonly includes things such as: (suspend) (ja :num! (seek! (ja-aframe 42.0 0))) ) - (ja-no-eval :group! (-> self draw art-group data 30) - :num! (seek! (ja-aframe 50.0 0)) - :frame-num (ja-aframe 42.0 0) - ) + (ja-no-eval :group! jakb-duck-high-jump-ja :num! (seek! (ja-aframe 50.0 0)) :frame-num (ja-aframe 42.0 0)) (until (ja-done? 0) (suspend) (ja :num! (seek! (ja-aframe 50.0 0))) @@ -1123,7 +1114,7 @@ This commonly includes things such as: (set! (-> v1-80 prim-core collide-as) (-> self control backup-collide-as)) (set! (-> v1-80 prim-core collide-with) (-> self control backup-collide-with)) ) - (ja-no-eval :group! (-> self draw art-group data 30) :num! (seek!) :frame-num (ja-aframe 50.0 0)) + (ja-no-eval :group! jakb-duck-high-jump-ja :num! (seek!) :frame-num (ja-aframe 50.0 0)) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -1298,8 +1289,8 @@ This commonly includes things such as: (* 450.56 (cos (* 42.25403 (the float (mod (current-time) 1551))))) ) ) - (spawn-with-cspace (-> self part-exhaust-left) (-> self node-list data 5)) - (spawn-with-cspace (-> self part-exhaust-right) (-> self node-list data 6)) + (spawn-with-cspace (-> self part-exhaust-left) (joint-node-index air-train-lod0-jg thruster_l)) + (spawn-with-cspace (-> self part-exhaust-right) (joint-node-index air-train-lod0-jg thruster_r)) (let ((f0-9 (-> self dust-y))) (when (!= f0-9 (the-as float #x7f800000)) (let ((a1-2 (new 'stack-no-clear 'vector))) diff --git a/test/decompiler/reference/jak2/levels/dig/dig-digger_REF.gc b/test/decompiler/reference/jak2/levels/dig/dig-digger_REF.gc index df5a54d2be7..1d865e617ff 100644 --- a/test/decompiler/reference/jak2/levels/dig/dig-digger_REF.gc +++ b/test/decompiler/reference/jak2/levels/dig/dig-digger_REF.gc @@ -635,11 +635,11 @@ ) (cond ((-> self b) - (ja :group! dig-digger-idle-ja :num! max) + (ja :group! dig-clasp-idle-ja :num! max) (setup-masks (-> self draw) 0 2) ) (else - (ja :group! dig-digger-idle-ja :num! max) + (ja :group! dig-clasp-idle-ja :num! max) (setup-masks (-> self draw) 0 2) ) ) @@ -665,11 +665,11 @@ (play-communicator-speech! (-> *talker-speech* 192)) (cond ((-> self b) - (ja :group! dig-digger-idle-ja :num! min) + (ja :group! dig-clasp-idle-ja :num! min) (setup-masks (-> self draw) 0 2) ) (else - (ja :group! dig-digger-idle-ja :num! min) + (ja :group! dig-clasp-idle-ja :num! min) (setup-masks (-> self draw) 0 2) ) ) @@ -1454,7 +1454,7 @@ This commonly includes things such as: ) (when (< f0-0 (* f1-0 f1-0)) (let ((gp-1 (new 'stack-no-clear 'vector))) - (vector<-cspace! gp-1 (-> self node-list data 29)) + (vector<-cspace! gp-1 (joint-node-index dig-digger-lod0-jg smoke1)) (sound-play "digger-motor" :id (-> self motor-sound) :position gp-1) ) (sound-play "digger-bit" :id (-> self bit-sound) :position (-> self root trans)) @@ -1490,10 +1490,10 @@ This commonly includes things such as: (update! (-> self y-offset) (-> self y-offset-kicker value)) (set! (-> self root trans y) (+ (-> self start-y) (* 4096.0 (-> self y-offset osc value)))) (when (nonzero? (-> self smoke-part)) - (spawn-with-cspace (-> self smoke-part) (-> self node-list data 28)) - (spawn-with-cspace (-> self smoke-part) (-> self node-list data 29)) - (spawn-with-cspace (-> self smoke-part) (-> self node-list data 30)) - (spawn-with-cspace (-> self smoke-part) (-> self node-list data 31)) + (spawn-with-cspace (-> self smoke-part) (joint-node-index dig-digger-lod0-jg smoke)) + (spawn-with-cspace (-> self smoke-part) (joint-node-index dig-digger-lod0-jg smoke1)) + (spawn-with-cspace (-> self smoke-part) (joint-node-index dig-digger-lod0-jg smoke2)) + (spawn-with-cspace (-> self smoke-part) (joint-node-index dig-digger-lod0-jg smoke3)) ) (if (nonzero? (-> self part)) (spawn (-> self part) (-> self root trans)) diff --git a/test/decompiler/reference/jak2/levels/dig/dig1-obs_REF.gc b/test/decompiler/reference/jak2/levels/dig/dig1-obs_REF.gc index abc33b9f575..0af86d530e6 100644 --- a/test/decompiler/reference/jak2/levels/dig/dig1-obs_REF.gc +++ b/test/decompiler/reference/jak2/levels/dig/dig1-obs_REF.gc @@ -471,7 +471,7 @@ ) :trans (behavior () (let ((v1-2 (ja-group))) - (when (and v1-2 (= v1-2 (-> self draw art-group data 3))) + (when (and v1-2 (= v1-2 dig-bomb-crate-cylinder-pulse-ja)) (let* ((gp-0 (-> self flash-counter)) (v1-5 gp-0) ) @@ -510,69 +510,69 @@ (while (< (current-time) (-> self wait-time)) (suspend) ) - (ja-no-eval :group! (-> self draw art-group data 3) :num! (seek! max f30-0) :frame-num 0.0) + (ja-no-eval :group! dig-bomb-crate-cylinder-pulse-ja :num! (seek! max f30-0) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek! max f30-0)) ) - (ja-no-eval :group! (-> self draw art-group data 2) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! dig-bomb-crate-cylinder-idle-ja :num! (seek!) :frame-num 0.0) (let ((gp-1 (current-time))) (until (time-elapsed? gp-1 (seconds 0.5)) (suspend) ) ) - (ja-no-eval :group! (-> self draw art-group data 3) :num! (seek! max f30-0) :frame-num 0.0) + (ja-no-eval :group! dig-bomb-crate-cylinder-pulse-ja :num! (seek! max f30-0) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek! max f30-0)) ) - (ja-no-eval :group! (-> self draw art-group data 2) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! dig-bomb-crate-cylinder-idle-ja :num! (seek!) :frame-num 0.0) (let ((gp-2 (current-time))) (until (time-elapsed? gp-2 (seconds 0.5)) (suspend) ) ) - (ja-no-eval :group! (-> self draw art-group data 3) :num! (seek! max f30-0) :frame-num 0.0) + (ja-no-eval :group! dig-bomb-crate-cylinder-pulse-ja :num! (seek! max f30-0) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek! max f30-0)) ) ) - (ja-no-eval :group! (-> self draw art-group data 2) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! dig-bomb-crate-cylinder-idle-ja :num! (seek!) :frame-num 0.0) (let ((gp-3 (current-time))) (until (time-elapsed? gp-3 (seconds 0.5)) (suspend) ) ) - (ja-no-eval :group! (-> self draw art-group data 3) :num! (seek! max 0.375) :frame-num 0.0) + (ja-no-eval :group! dig-bomb-crate-cylinder-pulse-ja :num! (seek! max 0.375) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek! max 0.375)) ) - (ja-no-eval :group! (-> self draw art-group data 2) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! dig-bomb-crate-cylinder-idle-ja :num! (seek!) :frame-num 0.0) (let ((gp-4 (current-time))) (until (time-elapsed? gp-4 (seconds 0.25)) (suspend) ) ) - (ja-no-eval :group! (-> self draw art-group data 3) :num! (seek! max 0.4375) :frame-num 0.0) + (ja-no-eval :group! dig-bomb-crate-cylinder-pulse-ja :num! (seek! max 0.4375) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek! max 0.4375)) ) - (ja-no-eval :group! (-> self draw art-group data 2) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! dig-bomb-crate-cylinder-idle-ja :num! (seek!) :frame-num 0.0) (let ((gp-5 (current-time))) (until (time-elapsed? gp-5 (seconds 0.125)) (suspend) ) ) (dotimes (gp-6 12) - (ja-no-eval :group! (-> self draw art-group data 3) :num! (seek! max 0.437) :frame-num 0.0) + (ja-no-eval :group! dig-bomb-crate-cylinder-pulse-ja :num! (seek! max 0.437) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek! max 0.437)) ) - (ja-no-eval :group! (-> self draw art-group data 2) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! dig-bomb-crate-cylinder-idle-ja :num! (seek!) :frame-num 0.0) (let ((s5-0 (current-time))) (until (time-elapsed? s5-0 (seconds 0.05)) (suspend) @@ -1139,7 +1139,7 @@ This commonly includes things such as: :virtual #t :code (behavior () (sound-play "dig-air-lifter") - (let ((s5-1 (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 3))) + (let ((s5-1 (vector<-cspace! (new 'stack-no-clear 'vector) (joint-node-index dig-jump-pad-lod0-jg main))) (gp-1 (get-process *default-dead-pool* part-tracker #x4000)) ) (when gp-1 diff --git a/test/decompiler/reference/jak2/levels/drill/drill-baron_REF.gc b/test/decompiler/reference/jak2/levels/drill/drill-baron_REF.gc index 9a76d69412a..1921b4086b0 100644 --- a/test/decompiler/reference/jak2/levels/drill/drill-baron_REF.gc +++ b/test/decompiler/reference/jak2/levels/drill/drill-baron_REF.gc @@ -1210,7 +1210,7 @@ This commonly includes things such as: ) (the-as pair 0) ) - (ja-no-eval :group! (-> self draw art-group data 5) :num! zero) + (ja-no-eval :group! drill-barons-ship-explode-idle-ja :num! zero) (ja-post) (quaternion-rotate-local-y! (-> self root quat) (-> self root quat) 32768.0) (add-process *gui-control* self (gui-channel background) (gui-action play) "shpxplo2" -99.0 0) @@ -2031,24 +2031,24 @@ This commonly includes things such as: ((zero? (-> self info mesh)) (cond ((not (logtest? (-> self shot-counter) 1)) - (vector<-cspace! (-> gp-0 pos) (-> self node-list data 13)) + (vector<-cspace! (-> gp-0 pos) (joint-node-index drill-barons-ship-turret-lod0-jg Lgun)) (calculate-ship-projectile-velocity gp-0 f30-0) (spawn-projectile drill-ship-shot gp-0 self *default-dead-pool*) ) (else - (vector<-cspace! (-> gp-0 pos) (-> self node-list data 14)) + (vector<-cspace! (-> gp-0 pos) (joint-node-index drill-barons-ship-turret-lod0-jg Rgun)) (calculate-ship-projectile-velocity gp-0 f30-0) (spawn-projectile drill-ship-shot gp-0 self *default-dead-pool*) ) ) ) ((not (logtest? (-> self shot-counter) 1)) - (vector<-cspace! (-> gp-0 pos) (-> self node-list data 9)) + (vector<-cspace! (-> gp-0 pos) (joint-node-index drill-barons-ship-turret-lod0-jg shaft_d)) (calculate-ship-projectile-velocity gp-0 f30-0) (spawn-projectile drill-ship-shot gp-0 self *default-dead-pool*) ) (else - (vector<-cspace! (-> gp-0 pos) (-> self node-list data 11)) + (vector<-cspace! (-> gp-0 pos) (joint-node-index drill-barons-ship-turret-lod0-jg gun_left)) (calculate-ship-projectile-velocity gp-0 f30-0) (spawn-projectile drill-ship-shot gp-0 self *default-dead-pool*) ) @@ -2078,12 +2078,12 @@ This commonly includes things such as: (set! (-> gp-0 timeout) (seconds 4)) (cond ((not (logtest? (-> self shot-counter) 1)) - (vector<-cspace! (-> gp-0 pos) (-> self node-list data 6)) + (vector<-cspace! (-> gp-0 pos) (joint-node-index drill-barons-ship-turret-lod0-jg shaft_a)) (calculate-ship-projectile-velocity gp-0 0.0) (spawn-projectile drill-ship-shot gp-0 self *default-dead-pool*) ) (else - (vector<-cspace! (-> gp-0 pos) (-> self node-list data 5)) + (vector<-cspace! (-> gp-0 pos) (joint-node-index drill-barons-ship-turret-lod0-jg R_hatch)) (calculate-ship-projectile-velocity gp-0 0.0) (spawn-projectile drill-ship-shot gp-0 self *default-dead-pool*) ) diff --git a/test/decompiler/reference/jak2/levels/drill/drill-obs2_REF.gc b/test/decompiler/reference/jak2/levels/drill/drill-obs2_REF.gc index 89109337ce3..53f0fc07a78 100644 --- a/test/decompiler/reference/jak2/levels/drill/drill-obs2_REF.gc +++ b/test/decompiler/reference/jak2/levels/drill/drill-obs2_REF.gc @@ -60,7 +60,7 @@ ) :code (behavior () (ja-channel-push! 1 0) - (ja :group! (-> self draw art-group data 2) :num! min) + (ja :group! drill-flip-step-swing-up-ja :num! min) (transform-post) (sleep-code) ) @@ -82,7 +82,7 @@ :trans plat-trans :code (behavior () (ja-channel-push! 1 0) - (ja :group! (-> self draw art-group data 3) :num! min) + (ja :group! drill-flip-step-swing-down-ja :num! min) (sleep-code) ) :post plat-post @@ -104,7 +104,7 @@ ) :code (behavior () (logclear! (-> self root root-prim prim-core action) (collide-action rideable)) - (ja-no-eval :group! (-> self draw art-group data 3) :num! (seek! max 0.75) :frame-num 0.0) + (ja-no-eval :group! drill-flip-step-swing-down-ja :num! (seek! max 0.75) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek! max 0.75)) @@ -129,7 +129,7 @@ (plat-trans) ) :code (behavior () - (ja-no-eval :group! (-> self draw art-group data 2) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! drill-flip-step-swing-up-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -372,10 +372,10 @@ This commonly includes things such as: (process-entity-status! self (entity-perm-status bit-12) #t) (cond (arg0 - (ja :group! (-> self draw art-group data 6) :num! max) + (ja :group! drill-falling-door-fall-ja :num! max) ) (else - (ja-no-eval :group! (-> self draw art-group data 6) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! drill-falling-door-fall-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -1348,13 +1348,13 @@ This commonly includes things such as: (-> gp-1 ppointer) ) ) - (ja-no-eval :group! (-> self draw art-group data 4) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! drill-bridge-shot-break-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) ) ) - (ja :group! (-> self draw art-group data 4) :num! max) + (ja :group! drill-bridge-shot-break-ja :num! max) (suspend) (logior! (-> self mask) (process-mask sleep)) (suspend) diff --git a/test/decompiler/reference/jak2/levels/drill/drill-obs_REF.gc b/test/decompiler/reference/jak2/levels/drill/drill-obs_REF.gc index b3ee53e2b38..a1026762c76 100644 --- a/test/decompiler/reference/jak2/levels/drill/drill-obs_REF.gc +++ b/test/decompiler/reference/jak2/levels/drill/drill-obs_REF.gc @@ -167,7 +167,7 @@ and translate the platform via the `smush` ) ) :enter (behavior () - (ja :group! (-> self draw art-group data 2) :num! min) + (ja :group! drill-plat-falling-idle-ja :num! min) (logior! (-> self root root-prim prim-core action) (collide-action rideable)) ) :trans drill-plat-falling-trans @@ -351,7 +351,7 @@ This commonly includes things such as: :code (behavior () (ja-channel-push! 1 0) (until #f - (ja-no-eval :group! (-> self draw art-group data 2) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! drill-elevator-idle-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -366,7 +366,7 @@ This commonly includes things such as: :virtual #t :code (behavior () (ja-channel-push! 1 0) - (ja-no-eval :group! (-> self draw art-group data 3) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! drill-elevator-raise-rail-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (sound-play "drill-elevator" :id (-> self sound-id) :position (-> self root trans)) (suspend) @@ -379,7 +379,7 @@ This commonly includes things such as: ) (sound-stop (-> self sound-id)) (sound-play "d-elev-fence-dn" :position (-> self root trans)) - (ja-no-eval :group! (-> self draw art-group data 4) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! drill-elevator-drop-rail-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -409,7 +409,7 @@ This commonly includes things such as: :virtual #t :enter (behavior () (ja-channel-push! 1 0) - (ja-no-eval :group! (-> self draw art-group data 2) :num! zero) + (ja-no-eval :group! drill-elevator-base-idle-ja :num! zero) (-> self skel root-channel 0) (ja-post) ) @@ -1290,7 +1290,7 @@ This commonly includes things such as: (set-switch-color self #f) ) :code (behavior () - (ja :group! (-> self draw art-group data 2) :num! (identity 1.0)) + (ja :group! drill-switch-idle-ja :num! (identity 1.0)) (transform-post) (sleep-code) ) @@ -1363,7 +1363,7 @@ This commonly includes things such as: (set-switch-color self #t) ) :code (behavior () - (ja :group! (-> self draw art-group data 2) :num! (identity (-> self down-frame))) + (ja :group! drill-switch-idle-ja :num! (identity (-> self down-frame))) (transform-post) (cond ((= (-> self timeout) 0.0) diff --git a/test/decompiler/reference/jak2/levels/drill/drill-panel_REF.gc b/test/decompiler/reference/jak2/levels/drill/drill-panel_REF.gc index 9cc11f61903..7244d816251 100644 --- a/test/decompiler/reference/jak2/levels/drill/drill-panel_REF.gc +++ b/test/decompiler/reference/jak2/levels/drill/drill-panel_REF.gc @@ -849,14 +849,14 @@ This commonly includes things such as: :code (behavior ((arg0 symbol)) (when (not arg0) (spawn-explode-part self) - (ja-no-eval :group! (-> self draw art-group data 9) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! drill-control-panel-a-break-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (transform-post) (suspend) (ja :num! (seek!)) ) ) - (ja :group! (-> self draw art-group data 9) :num! max) + (ja :group! drill-control-panel-a-break-ja :num! max) (transform-post) (sleep-code) ) diff --git a/test/decompiler/reference/jak2/levels/drill/drillmid-obs_REF.gc b/test/decompiler/reference/jak2/levels/drill/drillmid-obs_REF.gc index f29d16398c4..01b78ce553e 100644 --- a/test/decompiler/reference/jak2/levels/drill/drillmid-obs_REF.gc +++ b/test/decompiler/reference/jak2/levels/drill/drillmid-obs_REF.gc @@ -357,7 +357,7 @@ This commonly includes things such as: :virtual #t :code (behavior () (until #f - (ja-no-eval :group! (-> self draw art-group data 2) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! drill-moving-staircase-idle-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) diff --git a/test/decompiler/reference/jak2/levels/forest/fish_REF.gc b/test/decompiler/reference/jak2/levels/forest/fish_REF.gc index c2d7d98f353..573fff4d41b 100644 --- a/test/decompiler/reference/jak2/levels/forest/fish_REF.gc +++ b/test/decompiler/reference/jak2/levels/forest/fish_REF.gc @@ -70,7 +70,7 @@ :virtual #t :code (behavior () (until #f - (ja-no-eval :group! (-> self draw art-group data 2) :num! (seek! max 5.0) :frame-num 0.0) + (ja-no-eval :group! minnow-idle-ja :num! (seek! max 5.0) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek! max 5.0)) diff --git a/test/decompiler/reference/jak2/levels/forest/forest-obs_REF.gc b/test/decompiler/reference/jak2/levels/forest/forest-obs_REF.gc index 74d4f1618c0..ddcb89dcaa7 100644 --- a/test/decompiler/reference/jak2/levels/forest/forest-obs_REF.gc +++ b/test/decompiler/reference/jak2/levels/forest/forest-obs_REF.gc @@ -146,7 +146,10 @@ This commonly includes things such as: ) (if (-> self falling?) (vector-v++! (-> self root transv) (compute-acc-due-to-gravity (-> self root) (new-stack-vector0) 1.0)) - (spawn (-> self part) (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 3))) + (spawn + (-> self part) + (vector<-cspace! (new 'stack-no-clear 'vector) (joint-node-index youngsamos-highres-lod0-jg main)) + ) ) (let ((gp-4 (-> self root))) (let ((a2-7 (new 'stack-no-clear 'collide-query))) @@ -265,7 +268,7 @@ This commonly includes things such as: :code (behavior () (ja-channel-push! 1 (seconds 0.2)) (until #f - (ja-no-eval :group! (-> self draw art-group data 11) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! youngsamos-highres-idle-deep-meditate0-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -308,21 +311,21 @@ This commonly includes things such as: (let ((v1-5 (vector-inv-orient-by-quat! (new 'stack-no-clear 'vector) (-> self hit-dir) (-> self root quat)))) (cond ((< (-> v1-5 x) (-> v1-5 z)) - (ja-no-eval :group! (-> self draw art-group data 12) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! youngsamos-highres-hit-back0-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) ) ) ((< (-> v1-5 x) 0.0) - (ja-no-eval :group! (-> self draw art-group data 13) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! youngsamos-highres-hit-right0-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) ) ) (else - (ja-no-eval :group! (-> self draw art-group data 14) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! youngsamos-highres-hit-left0-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -360,12 +363,12 @@ This commonly includes things such as: (set! (-> gp-0 y) (lerp 20480.0 40960.0 f30-0)) ) (ja-channel-push! 1 (seconds 0.2)) - (ja-no-eval :group! (-> self draw art-group data 15) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! youngsamos-highres-death-fall-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) ) - (ja-no-eval :group! (-> self draw art-group data 16) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! youngsamos-highres-death-land-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) diff --git a/test/decompiler/reference/jak2/levels/fortress/dump/fordumpc-obs_REF.gc b/test/decompiler/reference/jak2/levels/fortress/dump/fordumpc-obs_REF.gc index 20eea3a206b..2cf98c8a57d 100644 --- a/test/decompiler/reference/jak2/levels/fortress/dump/fordumpc-obs_REF.gc +++ b/test/decompiler/reference/jak2/levels/fortress/dump/fordumpc-obs_REF.gc @@ -484,7 +484,7 @@ This commonly includes things such as: (set! (-> self draw light-index) (the-as uint 17)) (set! (-> self part) (create-launch-control (-> *part-group-id-table* 582) self)) (setup-masks (-> self draw) -1 0) - (ja-no-eval :group! (-> self draw art-group data 2) :num! zero) + (ja-no-eval :group! fort-missile-target-idle-ja :num! zero) (transform-post) (set! (-> self sound-id) (the-as uint (new-sound-id))) (go-virtual idle) diff --git a/test/decompiler/reference/jak2/levels/fortress/dump/fort-robotank-turret_REF.gc b/test/decompiler/reference/jak2/levels/fortress/dump/fort-robotank-turret_REF.gc index 804de9106b9..cf7b051be1c 100644 --- a/test/decompiler/reference/jak2/levels/fortress/dump/fort-robotank-turret_REF.gc +++ b/test/decompiler/reference/jak2/levels/fortress/dump/fort-robotank-turret_REF.gc @@ -371,7 +371,7 @@ (set-vector! (-> self draw color-emissive) 0.0 0.0 0.0 0.0) (set-vector! (-> self draw color-emissive) 0.0 0.0 0.0 0.0) (logior! (-> self skel status) (joint-control-status blend-shape)) - (ja :group! (-> self draw art-group data 3)) + (ja :group! fort-roboscreen-end-ja) (go-virtual idle) (none) ) @@ -569,7 +569,7 @@ ) ) :code (behavior () - (ja-no-eval :group! (-> self draw art-group data 3) :num! zero) + (ja-no-eval :group! fort-robotank-sight-idle-ja :num! zero) (sleep-code) ) :post (behavior () @@ -598,7 +598,7 @@ ) :code (behavior () (ja-channel-push! 1 (seconds 0.04)) - (ja-no-eval :group! (-> self draw art-group data 4) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! fort-robotank-sight-locked-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -663,7 +663,7 @@ (set! (-> v1-20 settings shadow-type) 1) (set! (-> self draw shadow-ctrl) v1-20) ) - (ja-no-eval :group! (-> self draw art-group data 3) :num! zero) + (ja-no-eval :group! fort-robotank-sight-idle-ja :num! zero) (ja-post) (set-setting! 'spotlight-color #f 0.0 (the-as uint #x80a0a0ff)) (go-virtual idle) @@ -1409,7 +1409,7 @@ ) :code (behavior () (until #f - (ja-no-eval :group! (-> self draw art-group data 3) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! fort-robotank-top-idle-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -1474,13 +1474,13 @@ (dotimes (s5-2 gp-2) (let ((s4-1 (max 2 (min 4 (rand-vu-int-range 1 8))))) (dotimes (s3-2 s4-1) - (ja-no-eval :group! (-> self draw art-group data 4) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! fort-robotank-top-fire-start-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) ) (fort-robotank-turret-method-33 self) - (ja-no-eval :group! (-> self draw art-group data 5) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! fort-robotank-top-fire-end-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -1676,7 +1676,7 @@ ) ) ) - (ja-no-eval :group! (-> self draw art-group data 3) :num! zero) + (ja-no-eval :group! fort-robotank-top-idle-ja :num! zero) (transform-post) (set! (-> self turn-sound-id) (new-sound-id)) (go-virtual idle) diff --git a/test/decompiler/reference/jak2/levels/fortress/dump/fort-robotank_REF.gc b/test/decompiler/reference/jak2/levels/fortress/dump/fort-robotank_REF.gc index 86db587b46d..d2b76a31b11 100644 --- a/test/decompiler/reference/jak2/levels/fortress/dump/fort-robotank_REF.gc +++ b/test/decompiler/reference/jak2/levels/fortress/dump/fort-robotank_REF.gc @@ -435,7 +435,7 @@ ) (fort-robotank-method-25 self) (seek! (-> self roller-jmod twist y) (-> self roller-spin-rate) (* 16384.0 (seconds-per-frame))) - (let ((gp-0 (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 5))) + (let ((gp-0 (vector<-cspace! (new 'stack-no-clear 'vector) (joint-node-index fort-robotank-lod0-jg rollerrot))) (s4-0 (get-field-spec-by-id (-> *part-id-table* 2474) (sp-field-id spt-num))) (s5-0 (new 'stack-no-clear 'matrix)) ) diff --git a/test/decompiler/reference/jak2/levels/fortress/fort-turret_REF.gc b/test/decompiler/reference/jak2/levels/fortress/fort-turret_REF.gc index 43c358a1773..7caf0e8f3b2 100644 --- a/test/decompiler/reference/jak2/levels/fortress/fort-turret_REF.gc +++ b/test/decompiler/reference/jak2/levels/fortress/fort-turret_REF.gc @@ -985,7 +985,7 @@ (sound-play "turret-explode") (suspend) (ja-channel-set! 0) - (let ((gp-2 (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 4))) + (let ((gp-2 (vector<-cspace! (new 'stack-no-clear 'vector) (joint-node-index fort-turret-lod0-jg headrotate))) (s5-2 (current-time)) ) (until (time-elapsed? s5-2 (seconds 2)) diff --git a/test/decompiler/reference/jak2/levels/fortress/rescue/forrescb-obs_REF.gc b/test/decompiler/reference/jak2/levels/fortress/rescue/forrescb-obs_REF.gc index bb1a10545f3..f6b8cf0aee3 100644 --- a/test/decompiler/reference/jak2/levels/fortress/rescue/forrescb-obs_REF.gc +++ b/test/decompiler/reference/jak2/levels/fortress/rescue/forrescb-obs_REF.gc @@ -247,8 +247,8 @@ This commonly includes things such as: ) ) (+! (-> self path-u) (* (-> self path-du) (seconds-per-frame))) - (let ((s3-0 (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 4))) - (s2-0 (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 5))) + (let ((s3-0 (vector<-cspace! (new 'stack-no-clear 'vector) (joint-node-index fort-elec-belt-lod0-jg raya_))) + (s2-0 (vector<-cspace! (new 'stack-no-clear 'vector) (joint-node-index fort-elec-belt-lod0-jg rayb_))) ) (let ((t2-0 (new 'stack-no-clear 'vector))) (vector+! t2-0 s3-0 s2-0) @@ -471,7 +471,7 @@ This commonly includes things such as: (set! (-> self l-spec) arg3) (set! (-> self attack-id) arg4) (set! (-> self sound-id) (new-sound-id)) - (ja-no-eval :group! (-> self draw art-group data 2) :num! zero) + (ja-no-eval :group! fort-elec-belt-idle-ja :num! zero) (ja-post) (go-virtual idle) (none) diff --git a/test/decompiler/reference/jak2/levels/gungame/gungame-obs_REF.gc b/test/decompiler/reference/jak2/levels/gungame/gungame-obs_REF.gc index 75b9bc53080..d82aac78f67 100644 --- a/test/decompiler/reference/jak2/levels/gungame/gungame-obs_REF.gc +++ b/test/decompiler/reference/jak2/levels/gungame/gungame-obs_REF.gc @@ -2382,7 +2382,7 @@ This commonly includes things such as: (suspend) ) ) - (ja-no-eval :group! (-> self draw art-group data 2) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! fort-entry-gate-idle-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) diff --git a/test/decompiler/reference/jak2/levels/hideout/hideout-obs_REF.gc b/test/decompiler/reference/jak2/levels/hideout/hideout-obs_REF.gc index f3453f6049e..e8555f707a5 100644 --- a/test/decompiler/reference/jak2/levels/hideout/hideout-obs_REF.gc +++ b/test/decompiler/reference/jak2/levels/hideout/hideout-obs_REF.gc @@ -166,7 +166,7 @@ This commonly includes things such as: :virtual #t :code (behavior () (until #f - (ja-no-eval :group! (-> self draw art-group data 3) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! hide-light-idle-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) diff --git a/test/decompiler/reference/jak2/levels/hiphog/whack_REF.gc b/test/decompiler/reference/jak2/levels/hiphog/whack_REF.gc index e48ef02c4d6..40823acf4b6 100644 --- a/test/decompiler/reference/jak2/levels/hiphog/whack_REF.gc +++ b/test/decompiler/reference/jak2/levels/hiphog/whack_REF.gc @@ -1540,7 +1540,7 @@ (setup-masks (-> self draw) 2 1) (set-vector! (-> self draw color-mult) 1.0 1.0 1.0 1.0) (ja-channel-push! 1 (seconds 0.05)) - (ja :group! (-> self draw art-group data 3) :num! min) + (ja :group! hip-mole-up-ja :num! min) (sleep-code) ) :post (behavior () @@ -1640,8 +1640,8 @@ (case (-> self mode) ((10) (when (rand-vu-percent? 0.4) - (let ((gp-0 (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 4))) - (s5-0 (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 4))) + (let ((gp-0 (vector<-cspace! (new 'stack-no-clear 'vector) (joint-node-index hip-mole-lod0-jg head))) + (s5-0 (vector<-cspace! (new 'stack-no-clear 'vector) (joint-node-index hip-mole-lod0-jg head))) ) (+! (-> gp-0 x) (rand-vu-float-range -1638.4 819.2)) (+! (-> s5-0 x) (rand-vu-float-range -1638.4 819.2)) @@ -1666,7 +1666,7 @@ ) ) :code (behavior ((arg0 time-frame) (arg1 uint)) - (ja-no-eval :group! (-> self draw art-group data 3) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! hip-mole-up-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -1674,13 +1674,13 @@ (ja-channel-push! 1 (seconds 0.05)) (let ((s5-0 (current-time))) (while (and (not (time-elapsed? s5-0 arg0)) (not (-> self abort?))) - (ja :group! (-> self draw art-group data 4) :num! (loop!)) + (ja :group! hip-mole-loop-ja :num! (loop!)) (suspend) ) ) (ja-channel-push! 1 (seconds 0.05)) (sound-play "whack-down") - (ja-no-eval :group! (-> self draw art-group data 5) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! hip-mole-down-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -2277,13 +2277,13 @@ ) (let ((gp-0 (cond ((>= (-> self air-attack-count) 10) - (-> self draw art-group data 14) + daxter-highres-mole-idle-tired-ja ) (#f - (-> self draw art-group data 13) + daxter-highres-mole-idle-crazy-ja ) (else - (-> self draw art-group data 4) + daxter-highres-mole-idle-ja ) ) ) @@ -2292,7 +2292,7 @@ (when (-> self dizzy?) (sound-play "whack-dizzy") (ja-channel-push! 1 (seconds 0.1)) - (ja-no-eval :group! (-> self draw art-group data 16) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! daxter-highres-mole-shock-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (when (rand-vu-percent? 0.2) (let* ((gp-2 (get-process *default-dead-pool* lightning-tracker #x4000)) @@ -2362,7 +2362,7 @@ 9 :to *entity-pool* ) - (ja-no-eval :group! (-> self draw art-group data 17) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! daxter-highres-mole-idle-shock-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (+! (-> self event-time) (- (current-time) (-> self clock old-frame-counter))) (suspend) @@ -2372,13 +2372,13 @@ (dotimes (v1-85 4) (set! (-> self slot-buffer v1-85) -1) ) - (ja-no-eval :group! (-> self draw art-group data 18) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! daxter-highres-mole-idle-shock-end-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (+! (-> self event-time) (- (current-time) (-> self clock old-frame-counter))) (suspend) (ja :num! (seek!)) ) - (set! gp-0 (-> self draw art-group data 15)) + (set! gp-0 daxter-highres-mole-idle-angry-ja) ) (ja-channel-push! 1 (seconds 0.2)) (ja :group! gp-0 :num! (identity (ja-aframe 8.0 0))) @@ -2412,34 +2412,34 @@ (let* ((v1-9 arg0) (s5-1 (cond ((zero? v1-9) - (-> self draw art-group data 5) + daxter-highres-mole-whack0-ja ) ((= v1-9 1) - (-> self draw art-group data 7) + daxter-highres-mole-whack2-ja ) ((= v1-9 2) - (-> self draw art-group data 8) + daxter-highres-mole-whack3-ja ) ((= v1-9 3) - (-> self draw art-group data 6) + daxter-highres-mole-whack1-ja ) ((= v1-9 4) - (-> self draw art-group data 9) + daxter-highres-mole-whack4-ja ) ((= v1-9 5) - (-> self draw art-group data 11) + daxter-highres-mole-whack6-ja ) ((= v1-9 6) - (-> self draw art-group data 12) + daxter-highres-mole-whack7-ja ) (else - (-> self draw art-group data 10) + daxter-highres-mole-whack5-ja ) ) ) (v1-28 (ja-group)) (f30-0 (cond - ((and v1-28 (= v1-28 (-> self draw art-group data 4))) + ((and v1-28 (= v1-28 daxter-highres-mole-idle-ja)) 0.0 ) ((>= (ja-aframe-num 0) 22.0) @@ -2703,9 +2703,9 @@ :code (behavior () (auto-save-user) (let ((v1-2 (ja-group))) - (when (not (and v1-2 (= v1-2 (-> self draw art-group data 14)))) + (when (not (and v1-2 (= v1-2 daxter-highres-mole-idle-tired-ja))) (ja-channel-push! 1 (seconds 0.1)) - (ja :group! (-> self draw art-group data 14)) + (ja :group! daxter-highres-mole-idle-tired-ja) ) ) (let* ((v1-9 (rand-vu-int-count 8)) @@ -2775,9 +2775,9 @@ :exit (-> (method-of-type whack-a-metal active) exit) :code (behavior () (let ((v1-2 (ja-group))) - (when (not (and v1-2 (= v1-2 (-> self draw art-group data 13)))) + (when (not (and v1-2 (= v1-2 daxter-highres-mole-idle-crazy-ja))) (ja-channel-push! 1 (seconds 0.1)) - (ja :group! (-> self draw art-group data 13)) + (ja :group! daxter-highres-mole-idle-crazy-ja) ) ) (let* ((v1-9 (rand-vu-int-count 8)) diff --git a/test/decompiler/reference/jak2/levels/intro/intro-obs_REF.gc b/test/decompiler/reference/jak2/levels/intro/intro-obs_REF.gc index aac87b824f9..e3739609040 100644 --- a/test/decompiler/reference/jak2/levels/intro/intro-obs_REF.gc +++ b/test/decompiler/reference/jak2/levels/intro/intro-obs_REF.gc @@ -89,7 +89,7 @@ (ja-channel-set! 1) (let ((f30-0 (rand-vu-float-range 0.8 1.2))) (until #f - (ja-no-eval :group! (-> self draw art-group data 5) :num! (seek! max f30-0) :frame-num 0.0) + (ja-no-eval :group! intro-flamer-fly-straight-ja :num! (seek! max f30-0) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek! max f30-0)) diff --git a/test/decompiler/reference/jak2/levels/mountain/canyon/mincan-obs_REF.gc b/test/decompiler/reference/jak2/levels/mountain/canyon/mincan-obs_REF.gc index 7e3531e7dbd..500d74f8e74 100644 --- a/test/decompiler/reference/jak2/levels/mountain/canyon/mincan-obs_REF.gc +++ b/test/decompiler/reference/jak2/levels/mountain/canyon/mincan-obs_REF.gc @@ -99,7 +99,7 @@ ) :code (behavior () (until #f - (ja-no-eval :group! (-> self draw art-group data 7) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! mincan-lighthouse-lens-idle-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -116,7 +116,7 @@ :code (behavior () (ja-channel-push! 1 0) (until #f - (ja-no-eval :group! (-> self draw art-group data 8) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! mincan-lighthouse-lens-idle-erect-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -212,7 +212,7 @@ This commonly includes things such as: :code (behavior () (ja-channel-push! 1 0) (until #f - (ja-no-eval :group! (-> self draw art-group data 2) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! mincan-lighthouse-idle-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -229,7 +229,7 @@ This commonly includes things such as: :code (behavior () (ja-channel-push! 1 0) (until #f - (ja-no-eval :group! (-> self draw art-group data 3) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! mincan-lighthouse-idle-erect-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -305,7 +305,7 @@ This commonly includes things such as: :code (behavior () (ja-channel-push! 1 0) (until #f - (ja-no-eval :group! (-> self draw art-group data 3) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! mincan-lens-idle-closed-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -322,7 +322,7 @@ This commonly includes things such as: :code (behavior () (ja-channel-push! 1 0) (until #f - (ja-no-eval :group! (-> self draw art-group data 2) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! mincan-lens-idle-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) diff --git a/test/decompiler/reference/jak2/levels/mountain/mountain-obs_REF.gc b/test/decompiler/reference/jak2/levels/mountain/mountain-obs_REF.gc index f39220e67b0..2433c7ff9dd 100644 --- a/test/decompiler/reference/jak2/levels/mountain/mountain-obs_REF.gc +++ b/test/decompiler/reference/jak2/levels/mountain/mountain-obs_REF.gc @@ -1821,7 +1821,7 @@ This commonly includes things such as: :enter (behavior () (process-entity-status! self (entity-perm-status subtask-complete) #t) (ja-channel-push! 1 0) - (ja-no-eval :group! (-> self draw art-group data 3) :num! (loop!) :frame-num 0.0) + (ja-no-eval :group! mtn-plat-eject-idle-ja :num! (loop!) :frame-num 0.0) ) :code sleep-code :post (behavior () @@ -3084,7 +3084,7 @@ This commonly includes things such as: :virtual #t :trans rider-trans :code (behavior () - (ja-no-eval :group! (-> self draw art-group data 2) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! mtn-button-open-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -3105,7 +3105,7 @@ This commonly includes things such as: ) ) :enter (behavior () - (ja-no-eval :group! (-> self draw art-group data 3) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! mtn-button-press-ja :num! (seek!) :frame-num 0.0) (transform-post) ) :code sleep-code @@ -3121,14 +3121,14 @@ This commonly includes things such as: (script-eval (the-as pair gp-0) :vector (-> self root trans)) ) ) - (ja-no-eval :group! (-> self draw art-group data 3) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! mtn-button-press-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (transform-post) (suspend) (ja :num! (seek!)) ) ) - (ja :group! (-> self draw art-group data 3) :num! max) + (ja :group! mtn-button-press-ja :num! max) (transform-post) (process-entity-status! self (entity-perm-status subtask-complete) #t) (sleep-code) diff --git a/test/decompiler/reference/jak2/levels/mountain/mountain-scenes_REF.gc b/test/decompiler/reference/jak2/levels/mountain/mountain-scenes_REF.gc index f4b5245e4a5..5954e8beadc 100644 --- a/test/decompiler/reference/jak2/levels/mountain/mountain-scenes_REF.gc +++ b/test/decompiler/reference/jak2/levels/mountain/mountain-scenes_REF.gc @@ -3218,7 +3218,7 @@ This commonly includes things such as: :virtual #t :code transform-and-sleep-code :post (behavior () - (spawn-with-cspace (-> self part) (-> self node-list data 3)) + (spawn-with-cspace (-> self part) (joint-node-index mtn-lens-floor-lod0-jg main)) ) ) diff --git a/test/decompiler/reference/jak2/levels/nest/boss/metalkor-extras_REF.gc b/test/decompiler/reference/jak2/levels/nest/boss/metalkor-extras_REF.gc index eae1f41c16c..af146752457 100644 --- a/test/decompiler/reference/jak2/levels/nest/boss/metalkor-extras_REF.gc +++ b/test/decompiler/reference/jak2/levels/nest/boss/metalkor-extras_REF.gc @@ -22,7 +22,7 @@ :trans (behavior () (let ((v1-2 (ja-group))) (cond - ((and v1-2 (= v1-2 (-> self draw art-group data 5))) + ((and v1-2 (= v1-2 metalkor-egg-hatch-ja)) (ja :num! (seek!)) (if (ja-done? 0) (deactivate self) @@ -30,7 +30,7 @@ ) (else (ja-channel-push! 1 (seconds 0.1)) - (ja :group! (-> self draw art-group data 5)) + (ja :group! metalkor-egg-hatch-ja) ) ) ) @@ -83,7 +83,7 @@ :trans (behavior () (let ((v1-2 (ja-group))) (cond - ((and v1-2 (= v1-2 (-> self draw art-group data 5))) + ((and v1-2 (= v1-2 metalkor-egg-hatch-ja)) (ja :num! (seek!)) (if (ja-done? 0) (deactivate self) @@ -91,7 +91,7 @@ ) (else (ja-channel-push! 1 (seconds 0.1)) - (ja :group! (-> self draw art-group data 5)) + (ja :group! metalkor-egg-hatch-ja) ) ) ) @@ -183,16 +183,16 @@ ) ) (ja-channel-push! 1 (seconds 0.1)) - (ja :group! (-> self draw art-group data 4)) + (ja :group! metalkor-egg-land-ja) ) (else (let ((v1-40 (ja-group))) (cond - ((and v1-40 (= v1-40 (-> self draw art-group data 4))) + ((and v1-40 (= v1-40 metalkor-egg-land-ja)) (ja :num! (seek!)) (when (ja-done? 0) (ja-channel-push! 1 (seconds 0.1)) - (ja :group! (-> self draw art-group data 3)) + (ja :group! metalkor-egg-idle-ja) ) ) (else @@ -226,21 +226,21 @@ ) (let ((v1-9 (ja-group))) (cond - ((and v1-9 (= v1-9 (-> self draw art-group data 3))) + ((and v1-9 (= v1-9 metalkor-egg-idle-ja)) (ja :num! (loop!)) ) ((let ((v1-17 (ja-group))) - (and v1-17 (or (= v1-17 (-> self draw art-group data 7)) (= v1-17 (-> self draw art-group data 4)))) + (and v1-17 (or (= v1-17 metalkor-egg-hop-ja) (= v1-17 metalkor-egg-land-ja))) ) (ja :num! (seek!)) (when (ja-done? 0) (ja-channel-push! 1 (seconds 0.1)) - (ja :group! (-> self draw art-group data 3)) + (ja :group! metalkor-egg-idle-ja) ) ) (else (ja-channel-push! 1 (seconds 0.1)) - (ja :group! (-> self draw art-group data 4)) + (ja :group! metalkor-egg-land-ja) ) ) ) @@ -1461,9 +1461,9 @@ ) (let ((v1-38 (ja-group))) (set! (-> self tail move-with-parent) - (the-as symbol (and (and v1-38 (or (= v1-38 (-> self draw art-group data 18)) - (= v1-38 (-> self draw art-group data 19)) - (= v1-38 (-> self draw art-group data 20)) + (the-as symbol (and (and v1-38 (or (= v1-38 metalkor-lowtorso-hang-hit-ja) + (= v1-38 metalkor-lowtorso-hang-hit-left-ja) + (= v1-38 metalkor-lowtorso-hang-hit-right-ja) ) ) (< (ja-aframe-num 0) 45.0) @@ -1794,7 +1794,7 @@ This commonly includes things such as: ) (turn-off (-> self chain) (the-as time-frame (the int (* 300.0 (rand-vu-float-range 0.9 1.2))))) (ja-channel-push! 1 (seconds 0.1)) - (ja :group! (-> self draw art-group data 52) :num! min) + (ja :group! metalkor-spinner-short-ja :num! min) ) :trans (behavior () (let* ((v1-1 (quaternion->matrix (new 'stack-no-clear 'matrix) (-> self root quat))) @@ -1814,7 +1814,7 @@ This commonly includes things such as: ((not (time-elapsed? (-> self state-time) (seconds 1))) ) ((let ((v1-13 (ja-group))) - (and v1-13 (= v1-13 (-> self draw art-group data 53))) + (and v1-13 (= v1-13 metalkor-spinner-dissolve-ja)) ) (ja :num! (seek! max (-> self anim-speed))) (if (ja-done? 0) @@ -1823,7 +1823,7 @@ This commonly includes things such as: ) (else (ja-channel-push! 1 (seconds 0.1)) - (ja :group! (-> self draw art-group data 53) :num! min) + (ja :group! metalkor-spinner-dissolve-ja :num! min) ) ) ) @@ -1842,7 +1842,7 @@ This commonly includes things such as: ) ) :enter (behavior () - (ja :group! (-> self draw art-group data 50)) + (ja :group! metalkor-spinner-idle-ja) ) :trans (behavior () (ja :num! (loop!)) @@ -1898,7 +1898,7 @@ This commonly includes things such as: :trans (behavior () (let ((v1-2 (ja-group))) (cond - ((and v1-2 (= v1-2 (-> self draw art-group data 51))) + ((and v1-2 (= v1-2 metalkor-spinner-fire-ja)) (ja :num! (seek! max (-> self anim-speed))) (when (ja-done? 0) (set! (-> self root trans quad) (-> self target-pos quad)) @@ -1906,7 +1906,7 @@ This commonly includes things such as: ) ) (else - (ja :group! (-> self draw art-group data 51) :num! min) + (ja :group! metalkor-spinner-fire-ja :num! min) ) ) ) @@ -2302,7 +2302,10 @@ This commonly includes things such as: (set! sv-400 (the-as symbol #f)) (set! sv-432 *launch-matrix*) (set! sv-416 (-> sv-432 trans)) - (let ((v1-27 (-> (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 3)) quad))) + (let ((v1-27 + (-> (vector<-cspace! (new 'stack-no-clear 'vector) (joint-node-index metalkor-explode-lod0-jg head)) quad) + ) + ) (set! (-> sv-416 quad) v1-27) ) ((the-as (function object object object object object object object object none) s5-0) @@ -2322,23 +2325,74 @@ This commonly includes things such as: ) ) (when (< 40.0 (ja-aframe-num 0)) - (spawn (-> self part) (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 70))) - (spawn (-> self part) (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 71))) - (spawn (-> self part) (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 20))) - (spawn (-> self part) (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 59))) - (spawn (-> self part) (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 60))) - (spawn (-> self part) (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 22))) - (spawn (-> self part) (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 24))) - (spawn (-> self part) (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 54))) - (spawn (-> self part) (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 53))) - (spawn (-> self part) (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 57))) - (spawn (-> self part) (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 56))) - (spawn (-> self part) (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 28))) - (spawn (-> self part) (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 46))) - (spawn (-> self part) (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 48))) - (spawn (-> self part) (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 44))) - (spawn (-> self part) (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 50))) - (spawn (-> self part) (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 3))) + (spawn + (-> self part) + (vector<-cspace! (new 'stack-no-clear 'vector) (joint-node-index metalkor-explode-lod0-jg goo)) + ) + (spawn + (-> self part) + (vector<-cspace! (new 'stack-no-clear 'vector) (joint-node-index metalkor-explode-lod0-jg goo1)) + ) + (spawn + (-> self part) + (vector<-cspace! (new 'stack-no-clear 'vector) (joint-node-index metalkor-explode-lod0-jg goo2)) + ) + (spawn + (-> self part) + (vector<-cspace! (new 'stack-no-clear 'vector) (joint-node-index metalkor-explode-lod0-jg goo3)) + ) + (spawn + (-> self part) + (vector<-cspace! (new 'stack-no-clear 'vector) (joint-node-index metalkor-explode-lod0-jg goo4)) + ) + (spawn + (-> self part) + (vector<-cspace! (new 'stack-no-clear 'vector) (joint-node-index metalkor-explode-lod0-jg goo5)) + ) + (spawn + (-> self part) + (vector<-cspace! (new 'stack-no-clear 'vector) (joint-node-index metalkor-explode-lod0-jg goo6)) + ) + (spawn + (-> self part) + (vector<-cspace! (new 'stack-no-clear 'vector) (joint-node-index metalkor-explode-lod0-jg goo7)) + ) + (spawn + (-> self part) + (vector<-cspace! (new 'stack-no-clear 'vector) (joint-node-index metalkor-explode-lod0-jg goo8)) + ) + (spawn + (-> self part) + (vector<-cspace! (new 'stack-no-clear 'vector) (joint-node-index metalkor-explode-lod0-jg goo9)) + ) + (spawn + (-> self part) + (vector<-cspace! (new 'stack-no-clear 'vector) (joint-node-index metalkor-explode-lod0-jg goo10)) + ) + (spawn + (-> self part) + (vector<-cspace! (new 'stack-no-clear 'vector) (joint-node-index metalkor-explode-lod0-jg goo12)) + ) + (spawn + (-> self part) + (vector<-cspace! (new 'stack-no-clear 'vector) (joint-node-index metalkor-explode-lod0-jg goo13)) + ) + (spawn + (-> self part) + (vector<-cspace! (new 'stack-no-clear 'vector) (joint-node-index metalkor-explode-lod0-jg goo14)) + ) + (spawn + (-> self part) + (vector<-cspace! (new 'stack-no-clear 'vector) (joint-node-index metalkor-explode-lod0-jg goo15)) + ) + (spawn + (-> self part) + (vector<-cspace! (new 'stack-no-clear 'vector) (joint-node-index metalkor-explode-lod0-jg goo16)) + ) + (spawn + (-> self part) + (vector<-cspace! (new 'stack-no-clear 'vector) (joint-node-index metalkor-explode-lod0-jg head)) + ) ) (if (ja-done? 0) (send-event (ppointer->process (-> self parent)) 'explode-done) diff --git a/test/decompiler/reference/jak2/levels/nest/boss/metalkor-states_REF.gc b/test/decompiler/reference/jak2/levels/nest/boss/metalkor-states_REF.gc index 6bff66baded..7f4925a790d 100644 --- a/test/decompiler/reference/jak2/levels/nest/boss/metalkor-states_REF.gc +++ b/test/decompiler/reference/jak2/levels/nest/boss/metalkor-states_REF.gc @@ -169,22 +169,22 @@ (cond ((or (not v1-2) (zero? v1-2) (!= (-> self skel channel gp-0 command) 42)) ) - ((= v1-2 (-> self draw art-group data 23)) + ((= v1-2 metalkor-hang-pre-shot-ja) (send-event (handle->process (-> self lowtorso)) 'ja-float "hang-pre-shot" gp-0) ) - ((= v1-2 (-> self draw art-group data 32)) + ((= v1-2 metalkor-pre-shot-ja) (send-event (handle->process (-> self legs)) 'ja-float "pre-shot" gp-0) (send-event (handle->process (-> self lowtorso)) 'ja-float "pre-shot" gp-0) ) - ((= v1-2 (-> self draw art-group data 34)) + ((= v1-2 metalkor-hit-ja) (send-event (handle->process (-> self legs)) 'ja-float "hit" gp-0) (send-event (handle->process (-> self lowtorso)) 'ja-float "hit" gp-0) ) - ((= v1-2 (-> self draw art-group data 35)) + ((= v1-2 metalkor-hit-left-ja) (send-event (handle->process (-> self legs)) 'ja-float "hit-left" gp-0) (send-event (handle->process (-> self lowtorso)) 'ja-float "hit-left" gp-0) ) - ((= v1-2 (-> self draw art-group data 36)) + ((= v1-2 metalkor-hit-right-ja) (send-event (handle->process (-> self legs)) 'ja-float "hit-right" gp-0) (send-event (handle->process (-> self lowtorso)) 'ja-float "hit-right" gp-0) ) @@ -234,7 +234,7 @@ ((and (= (ja-group-size) 9) (= (if (> (-> self skel active-channels) 0) (-> self skel root-channel 8 frame-group) ) - (-> self draw art-group data 41) + metalkor-walk-to-stance-ja ) ) (let ((v1-8 (-> self skel effect))) @@ -439,7 +439,7 @@ ) (set-countdown-to-roar) (set-setting! 'fov 'abs (degrees 84.0) 0) - (ja :group! (-> self draw art-group data 9) :num! min) + (ja :group! metalkor-hang-ja :num! min) (go-virtual hang-shoot-n-launch) ) ((= v1-28 2) @@ -660,7 +660,7 @@ ((>= 1 (-> self countdown-to-roar)) (set-countdown-to-roar) (ja-channel-push! 1 (seconds 0.2)) - (ja :group! (-> self draw art-group data 21) :num! min) + (ja :group! metalkor-hang-roar-ja :num! min) (metalkor-all-spinners-on) ) (else @@ -756,23 +756,23 @@ (metalkor-setup-hit-anim (the-as attack-info s5-2) (the-as process-drawable arg0) - (-> self draw art-group data 18) - (-> self draw art-group data 20) - (the-as float (-> self draw art-group data 19)) + metalkor-hang-hit-ja + metalkor-hang-hit-right-ja + (the-as float metalkor-hang-hit-left-ja) ) (metalkor-all-spinners-on) ) ((and (and (-> self next-state) (= (-> self next-state name) 'fall-down)) (let ((v1-139 (ja-group))) - (or (not (and v1-139 (= v1-139 (-> self draw art-group data 7)))) (>= (ja-aframe-num 0) 10.0)) + (or (not (and v1-139 (= v1-139 metalkor-collapse-ja))) (>= (ja-aframe-num 0) 10.0)) ) ) (metalkor-setup-hit-anim (the-as attack-info s5-2) (the-as process-drawable arg0) - (-> self draw art-group data 25) - (-> self draw art-group data 27) - (the-as float (-> self draw art-group data 26)) + metalkor-collapse-hit-ja + metalkor-collapse-hit-right-ja + (the-as float metalkor-collapse-hit-left-ja) ) ) ((and (-> self next-state) (let ((v1-153 (-> self next-state name))) @@ -787,7 +787,7 @@ ) (if (< (-> self stage-hit-points) f30-0) (go-virtual fall-down) - (metalkor-ja-float (the-as art-joint-anim (-> self draw art-group data 34)) 1.0 0.25 2.0) + (metalkor-ja-float (the-as art-joint-anim metalkor-hit-ja) 1.0 0.25 2.0) ) ) ) @@ -811,7 +811,7 @@ (let ((s3-0 (quaternion->matrix (new 'stack-no-clear 'matrix) (-> self root quat))) (s4-4 (new 'stack-no-clear 'vector)) ) - (if (>= (metalkor-ja-float-group? (the-as art-joint-anim (-> self draw art-group data 42))) 0) + (if (>= (metalkor-ja-float-group? (the-as art-joint-anim metalkor-attack-sweep-left-ja)) 0) (vector+! s4-4 (-> s3-0 vector 2) (the-as vector (-> s3-0 vector))) (vector-! s4-4 (-> s3-0 vector 2) (the-as vector (-> s3-0 vector))) ) @@ -920,7 +920,7 @@ (set! (-> gp-0 attack-id) a0-5) ) (set! (-> gp-0 timeout) (seconds 4)) - (vector<-cspace! (-> gp-0 pos) (-> self node-list data 7)) + (vector<-cspace! (-> gp-0 pos) (joint-node-index metalkor-lod0-jg head)) (vector-! (-> gp-0 vel) (target-pos 0) (-> gp-0 pos)) (vector-normalize! (-> gp-0 vel) 491520.0) (if (spawn-projectile metalkor-shot gp-0 self *default-dead-pool*) @@ -975,7 +975,7 @@ (local-vars (f24-0 float)) (let ((v1-2 (ja-group))) (cond - ((and (and v1-2 (= v1-2 (-> self draw art-group data 33))) (begin (ja :num! (seek!)) (not (ja-done? 0)))) + ((and (and v1-2 (= v1-2 metalkor-shot-ja)) (begin (ja :num! (seek!)) (not (ja-done? 0)))) ) (else (let* ((s5-1 (vector-! (new 'stack-no-clear 'vector) (-> self root trans) arg0)) @@ -988,16 +988,8 @@ (f28-0 0.0) ) 0.0 - (let ((f0-11 (* 0.000024414063 - (the float (-> (the-as art-joint-anim (-> self draw art-group data 5)) frames num-frames)) - f26-0 - ) - ) - (f26-1 (* 0.000015258789 - (the float (-> (the-as art-joint-anim (-> self draw art-group data 6)) frames num-frames)) - f26-0 - ) - ) + (let ((f0-11 (* 0.000024414063 (the float (-> (the-as art-joint-anim metalkor-walk-ja) frames num-frames)) f26-0)) + (f26-1 (* 0.000015258789 (the float (-> (the-as art-joint-anim metalkor-run-ja) frames num-frames)) f26-0)) ) (cond ((or (< 1.0 f26-1) arg1) @@ -1013,7 +1005,7 @@ ) ) (let ((f0-15 (* 0.000045776367 - (the float (-> (the-as art-joint-anim (-> self draw art-group data 37)) frames num-frames)) + (the float (-> (the-as art-joint-anim metalkor-walk-left-ja) frames num-frames)) (-> self last-rotation) ) ) @@ -1038,27 +1030,27 @@ ) (let ((v1-41 (ja-group))) (cond - ((not (and v1-41 (= v1-41 (-> self draw art-group data 6)))) + ((not (and v1-41 (= v1-41 metalkor-run-ja))) (ja-channel-push! 9 (seconds 0.5)) - (ja :group! (-> self draw art-group data 6) :num! min) - (ja :chan 1 :group! (-> self draw art-group data 40) :num! min) + (ja :group! metalkor-run-ja :num! min) + (ja :chan 1 :group! metalkor-run-back-ja :num! min) (set! (-> self skel root-channel 2 command) (joint-control-command push)) - (ja :chan 2 :group! (-> self draw art-group data 5) :num! min) - (ja :chan 3 :group! (-> self draw art-group data 39) :num! min) + (ja :chan 2 :group! metalkor-walk-ja :num! min) + (ja :chan 3 :group! metalkor-walk-back-ja :num! min) (set! (-> self skel root-channel 4 command) (joint-control-command stack)) (set! (-> self skel root-channel 5 command) (joint-control-command push)) - (ja :chan 5 :group! (-> self draw art-group data 37) :num! min) - (ja :chan 6 :group! (-> self draw art-group data 38) :num! min) + (ja :chan 5 :group! metalkor-walk-left-ja :num! min) + (ja :chan 6 :group! metalkor-walk-right-ja :num! min) (set! (-> self skel root-channel 7 command) (joint-control-command stack)) (let* ((v1-79 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) (v1-80 (the-as number (logior #x3f800000 v1-79))) ) (cond ((< (+ -1.0 (the-as float v1-80)) 0.2) - (ja :chan 8 :group! (-> self draw art-group data 4) :num! min) + (ja :chan 8 :group! metalkor-idle-alt-ja :num! min) ) (else - (ja :chan 8 :group! (-> self draw art-group data 3) :num! min) + (ja :chan 8 :group! metalkor-idle-ja :num! min) (set! (-> self reps-till-idle-alt) (rand-vu-int-range 0 1)) ) ) @@ -1081,7 +1073,7 @@ ((= (if (> (-> self skel active-channels) 0) (-> self skel root-channel 8 frame-group) ) - (-> self draw art-group data 41) + metalkor-walk-to-stance-ja ) (ja :chan 8 :num! (seek!)) (when (ja-done? 8) @@ -1090,10 +1082,10 @@ ) (cond ((< (+ -1.0 (the-as float v1-118)) 0.2) - (ja :chan 8 :group! (-> self draw art-group data 4) :num! min) + (ja :chan 8 :group! metalkor-idle-alt-ja :num! min) ) (else - (ja :chan 8 :group! (-> self draw art-group data 3) :num! min) + (ja :chan 8 :group! metalkor-idle-ja :num! min) (set! (-> self reps-till-idle-alt) (rand-vu-int-range 0 1)) ) ) @@ -1103,18 +1095,18 @@ ((= (if (> (-> self skel active-channels) 0) (-> self skel root-channel 8 frame-group) ) - (-> self draw art-group data 4) + metalkor-idle-alt-ja ) (ja :chan 8 :num! (seek!)) (when (ja-done? 8) - (ja :chan 8 :group! (-> self draw art-group data 3) :num! min) + (ja :chan 8 :group! metalkor-idle-ja :num! min) (set! (-> self reps-till-idle-alt) (rand-vu-int-range 2 4)) ) ) ((zero? (-> self reps-till-idle-alt)) (ja :chan 8 :num! (seek!)) (if (ja-done? 8) - (ja :chan 8 :group! (-> self draw art-group data 4) :num! min) + (ja :chan 8 :group! metalkor-idle-alt-ja :num! min) ) ) (else @@ -1149,7 +1141,7 @@ (set! (-> self idle-interp target) f22-0) ) ((< (-> self idle-interp value) 0.01) - (ja :chan 8 :group! (-> self draw art-group data 41) :num! min) + (ja :chan 8 :group! metalkor-walk-to-stance-ja :num! min) (set! (-> self idle-interp target) f22-0) ) ) @@ -1228,36 +1220,34 @@ ) (let ((v1-12 (ja-group))) (cond - ((and (and v1-12 (or (= v1-12 (-> self draw art-group data 18)) - (= v1-12 (-> self draw art-group data 21)) - (= v1-12 (-> self draw art-group data 24)) - ) + ((and (and v1-12 + (or (= v1-12 metalkor-hang-hit-ja) (= v1-12 metalkor-hang-roar-ja) (= v1-12 metalkor-hang-shot-ja)) ) (begin (ja :num! (seek!)) (not (ja-done? 0))) ) ) ((and (< 8738.134 f26-0) (let ((v1-30 (ja-group))) - (not (and v1-30 (or (= v1-30 (-> self draw art-group data 10)) (= v1-30 (-> self draw art-group data 11))))) + (not (and v1-30 (or (= v1-30 metalkor-hang-turn-right-start-ja) (= v1-30 metalkor-hang-turn-right-ja)))) ) ) (ja-channel-push! 1 (seconds 0.2)) - (ja :group! (-> self draw art-group data 10) :num! min) + (ja :group! metalkor-hang-turn-right-start-ja :num! min) (metalkor-spinners-off) ) ((and (< f26-0 -8738.134) (let ((v1-44 (ja-group))) - (not (and v1-44 (or (= v1-44 (-> self draw art-group data 13)) (= v1-44 (-> self draw art-group data 14))))) + (not (and v1-44 (or (= v1-44 metalkor-hang-turn-left-start-ja) (= v1-44 metalkor-hang-turn-left-ja)))) ) ) (ja-channel-push! 1 (seconds 0.2)) - (ja :group! (-> self draw art-group data 13) :num! min) + (ja :group! metalkor-hang-turn-left-start-ja :num! min) (metalkor-spinners-off) ) (else (let ((v1-55 (ja-group))) (cond - ((and v1-55 (= v1-55 (-> self draw art-group data 10))) + ((and v1-55 (= v1-55 metalkor-hang-turn-right-start-ja)) (ja :num! (seek!)) (metalkor-spinner-check 0 10.0 (-> gp-0 vector 2)) (metalkor-spinner-check 1 11.0 (-> gp-0 vector 2)) @@ -1275,15 +1265,15 @@ ((not (ja-done? 0)) ) ((< 8738.134 f26-0) - (ja :group! (-> self draw art-group data 11) :num! min) + (ja :group! metalkor-hang-turn-right-ja :num! min) ) (else - (ja :group! (-> self draw art-group data 12) :num! min) + (ja :group! metalkor-hang-turn-right-end-ja :num! min) ) ) ) ((let ((v1-87 (ja-group))) - (and v1-87 (= v1-87 (-> self draw art-group data 11))) + (and v1-87 (= v1-87 metalkor-hang-turn-right-ja)) ) (if (< 8738.134 f26-0) (ja :num! (loop!)) @@ -1305,11 +1295,11 @@ (metalkor-lowtorso-spinner-check (the-as metalkor-lowtorso 0) 73.0 f28-0) (set! f30-0 (/ 16384.0 (the float (ja-num-frames 0)))) (if (ja-done? 0) - (ja :group! (-> self draw art-group data 12) :num! min) + (ja :group! metalkor-hang-turn-right-end-ja :num! min) ) ) ((let ((v1-124 (ja-group))) - (and v1-124 (= v1-124 (-> self draw art-group data 12))) + (and v1-124 (= v1-124 metalkor-hang-turn-right-end-ja)) ) (ja :num! (seek!)) (if (and (>= 80.0 f28-0) (< 80.0 (ja-aframe-num 0))) @@ -1323,11 +1313,11 @@ (set! f30-0 (/ 4096.0 (the float (/ (ja-num-frames 0) 2)))) ) (if (ja-done? 0) - (ja :group! (-> self draw art-group data 9) :num! min) + (ja :group! metalkor-hang-ja :num! min) ) ) ((let ((v1-154 (ja-group))) - (and v1-154 (= v1-154 (-> self draw art-group data 13))) + (and v1-154 (= v1-154 metalkor-hang-turn-left-start-ja)) ) (ja :num! (seek!)) (metalkor-spinner-check 2 10.0 (-> gp-0 vector 2)) @@ -1346,15 +1336,15 @@ ((not (ja-done? 0)) ) ((< f26-0 -8738.134) - (ja :group! (-> self draw art-group data 14) :num! min) + (ja :group! metalkor-hang-turn-left-ja :num! min) ) (else - (ja :group! (-> self draw art-group data 15) :num! min) + (ja :group! metalkor-hang-turn-left-end-ja :num! min) ) ) ) ((let ((v1-186 (ja-group))) - (and v1-186 (= v1-186 (-> self draw art-group data 14))) + (and v1-186 (= v1-186 metalkor-hang-turn-left-ja)) ) (if (< f26-0 -8738.134) (ja :num! (loop!)) @@ -1376,11 +1366,11 @@ (metalkor-lowtorso-spinner-check (the-as metalkor-lowtorso 2) 73.0 f28-0) (set! f30-0 (/ -16384.0 (the float (ja-num-frames 0)))) (if (ja-done? 0) - (ja :group! (-> self draw art-group data 15) :num! min) + (ja :group! metalkor-hang-turn-left-end-ja :num! min) ) ) ((let ((v1-223 (ja-group))) - (and v1-223 (= v1-223 (-> self draw art-group data 15))) + (and v1-223 (= v1-223 metalkor-hang-turn-left-end-ja)) ) (ja :num! (seek!)) (if (and (>= 80.0 f28-0) (< 80.0 (ja-aframe-num 0))) @@ -1394,18 +1384,18 @@ (set! f30-0 (/ -4096.0 (the float (/ (ja-num-frames 0) 2)))) ) (if (ja-done? 0) - (ja :group! (-> self draw art-group data 9) :num! min) + (ja :group! metalkor-hang-ja :num! min) ) ) (else (let ((v1-253 (ja-group))) (cond - ((and v1-253 (= v1-253 (-> self draw art-group data 9))) + ((and v1-253 (= v1-253 metalkor-hang-ja)) (ja :num! (loop!)) ) (else (ja-channel-push! 1 (seconds 0.2)) - (ja :group! (-> self draw art-group data 9) :num! min) + (ja :group! metalkor-hang-ja :num! min) ) ) ) @@ -1462,7 +1452,7 @@ ) :exit (behavior () (ja-channel-push! 1 (seconds 0.1)) - (ja :group! (-> self draw art-group data 3) :num! min) + (ja :group! metalkor-idle-ja :num! min) ) :code (the-as (function symbol object) sleep-code) ) @@ -1519,7 +1509,7 @@ ) ) (ja-channel-push! 1 (seconds 0.1)) - (ja :group! (-> self draw art-group data 3) :num! min) + (ja :group! metalkor-idle-ja :num! min) (let ((a0-7 (handle->process (-> self explode)))) (if a0-7 (deactivate a0-7) @@ -1557,7 +1547,7 @@ ) (let ((v1-21 (ja-group))) (cond - ((and v1-21 (= v1-21 (-> self draw art-group data 47))) + ((and v1-21 (= v1-21 metalkor-impact-ja)) (let ((f30-0 (ja-aframe-num 0))) (ja :num! (seek!)) (if (and (< f30-0 16.0) (>= (ja-aframe-num 0) 16.0)) @@ -1587,7 +1577,7 @@ ) ) (else - (ja :group! (-> self draw art-group data 47) :num! min) + (ja :group! metalkor-impact-ja :num! min) (let ((gp-3 (new 'stack-no-clear 'event-message-block))) (set! (-> gp-3 from) (process->ppointer self)) (set! (-> gp-3 num-params) 1) @@ -1673,12 +1663,12 @@ :trans (behavior () (let ((v1-2 (ja-group))) (cond - ((and v1-2 (= v1-2 (-> self draw art-group data 46))) + ((and v1-2 (= v1-2 metalkor-fly-ja)) (ja :num! (loop!)) ) (else (ja-channel-push! 1 (seconds 0.1)) - (ja :group! (-> self draw art-group data 46) :num! min) + (ja :group! metalkor-fly-ja :num! min) ) ) ) @@ -1760,15 +1750,15 @@ :trans (behavior () (let ((v1-2 (ja-group))) (cond - ((and v1-2 (= v1-2 (-> self draw art-group data 7))) + ((and v1-2 (= v1-2 metalkor-collapse-ja)) (ja :num! (seek! max 0.5)) (when (ja-done? 0) (ja-channel-push! 1 (seconds 0.1)) - (ja :group! (-> self draw art-group data 45) :num! min) + (ja :group! metalkor-wings-open-ja :num! min) ) ) ((let ((v1-21 (ja-group))) - (and v1-21 (= v1-21 (-> self draw art-group data 45))) + (and v1-21 (= v1-21 metalkor-wings-open-ja)) ) (ja :num! (seek!)) (if (and (< 218.0 (ja-aframe-num 0)) (nonzero? (-> self neck))) @@ -1780,7 +1770,7 @@ ) (else (ja-channel-push! 1 (seconds 0.1)) - (ja :group! (-> self draw art-group data 7) :num! min) + (ja :group! metalkor-collapse-ja :num! min) ) ) ) @@ -1806,7 +1796,7 @@ :enter (behavior () (set-time! (-> self state-time)) (ja-channel-push! 1 (seconds 0.1)) - (ja :group! (-> self draw art-group data 30) :num! min) + (ja :group! metalkor-collapse-recover-ja :num! min) ) :exit (behavior () (if (nonzero? (-> self neck)) @@ -1890,12 +1880,12 @@ ) (let ((v1-10 (ja-group))) (cond - ((and v1-10 (or (= v1-10 (-> self draw art-group data 7)) (= v1-10 (-> self draw art-group data 25)))) + ((and v1-10 (or (= v1-10 metalkor-collapse-ja) (= v1-10 metalkor-collapse-hit-ja))) (let ((f30-0 (ja-aframe-num 0))) (let ((a0-10 (-> self skel root-channel 0))) (set! (-> a0-10 param 0) (the float (+ (-> a0-10 frame-group frames num-frames) -1))) (let ((v1-21 (ja-group))) - (set! (-> a0-10 param 1) (if (and v1-21 (= v1-21 (-> self draw art-group data 7))) + (set! (-> a0-10 param 1) (if (and v1-21 (= v1-21 metalkor-collapse-ja)) 0.5 1.0 ) @@ -1919,18 +1909,18 @@ ) ) (if (ja-done? 0) - (ja :group! (-> self draw art-group data 8) :num! min) + (ja :group! metalkor-collapse-breathe-ja :num! min) ) ) (else (let ((v1-49 (ja-group))) (cond - ((and v1-49 (= v1-49 (-> self draw art-group data 8))) + ((and v1-49 (= v1-49 metalkor-collapse-breathe-ja)) (ja :num! (loop!)) ) (else (ja-channel-push! 1 (seconds 0.2)) - (ja :group! (-> self draw art-group data 7) :num! min) + (ja :group! metalkor-collapse-ja :num! min) ) ) ) @@ -1982,7 +1972,7 @@ ) (init-vf0-vector) (let ((v1-2 (ja-group))) - (if (and (and v1-2 (= v1-2 (-> self draw art-group data 33))) (begin (ja :num! (seek!)) (not (ja-done? 0)))) + (if (and (and v1-2 (= v1-2 metalkor-shot-ja)) (begin (ja :num! (seek!)) (not (ja-done? 0)))) (return #f) ) ) @@ -2129,7 +2119,7 @@ :trans (behavior () (let ((v1-2 (ja-group))) (cond - ((and v1-2 (= v1-2 (-> self draw art-group data 31))) + ((and v1-2 (= v1-2 metalkor-attack-tail-ja)) (ja :num! (seek!)) (if (ja-done? 0) (go-virtual chase-target) @@ -2137,7 +2127,7 @@ ) (else (ja-channel-push! 1 (seconds 0.2)) - (ja :group! (-> self draw art-group data 31) :num! min) + (ja :group! metalkor-attack-tail-ja :num! min) ) ) ) @@ -2180,11 +2170,11 @@ (vector-flatten! gp-1 gp-1 (-> s5-0 vector 1)) (cond ((< (vector-dot gp-1 (the-as vector (-> s5-0 vector))) 0.0) - (metalkor-ja-float (the-as art-joint-anim (-> self draw art-group data 43)) 1.0 1.0 4.0) + (metalkor-ja-float (the-as art-joint-anim metalkor-attack-sweep-right-ja) 1.0 1.0 4.0) (metalkor-set-deadly self #t 2) ) (else - (metalkor-ja-float (the-as art-joint-anim (-> self draw art-group data 42)) 1.0 1.0 4.0) + (metalkor-ja-float (the-as art-joint-anim metalkor-attack-sweep-left-ja) 1.0 1.0 4.0) (metalkor-set-deadly self #t 3) ) ) @@ -2198,7 +2188,7 @@ :trans (behavior () (local-vars (a0-10 int)) -1 - (let ((a0-1 (metalkor-ja-float-group? (the-as art-joint-anim (-> self draw art-group data 42))))) + (let ((a0-1 (metalkor-ja-float-group? (the-as art-joint-anim metalkor-attack-sweep-left-ja)))) (cond ((>= a0-1 0) (let ((f30-0 (ja-aframe-num a0-1))) @@ -2217,7 +2207,7 @@ ) ) ((begin - (set! a0-10 (metalkor-ja-float-group? (the-as art-joint-anim (-> self draw art-group data 43)))) + (set! a0-10 (metalkor-ja-float-group? (the-as art-joint-anim metalkor-attack-sweep-right-ja))) (>= a0-10 0) ) (let ((f30-1 (ja-aframe-num a0-10))) @@ -2304,15 +2294,18 @@ ) ) :exit (behavior () - (metalkor-ja-float-stop (the-as art-joint-anim (-> self draw art-group data 32))) + (metalkor-ja-float-stop (the-as art-joint-anim metalkor-pre-shot-ja)) ) :trans (behavior () (if (>= (-> self shots-fired) (-> self stage)) (go-virtual chase-target) ) (metalkor-walk-the-walk 122880.0 #f) - (spawn (-> self shot-anticipate) (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 7))) - (let* ((a0-4 (-> self draw art-group data 32)) + (spawn + (-> self shot-anticipate) + (vector<-cspace! (new 'stack-no-clear 'vector) (joint-node-index metalkor-lod0-jg head)) + ) + (let* ((a0-4 metalkor-pre-shot-ja) (f0-2 (/ (the float (-> (the-as art-joint-anim a0-4) frames num-frames)) (-> (the-as art-joint-anim a0-4) speed)) ) @@ -2331,9 +2324,9 @@ (set-time! (-> self state-time)) (metalkor-shoot-projectile) (set-nestb-purple! (fmax 1.0 (get-nestb-purple))) - (metalkor-ja-float-stop (the-as art-joint-anim (-> self draw art-group data 32))) + (metalkor-ja-float-stop (the-as art-joint-anim metalkor-pre-shot-ja)) (ja-channel-push! 1 (seconds 0.05)) - (ja :group! (-> self draw art-group data 33) :num! min) + (ja :group! metalkor-shot-ja :num! min) ) (if (zero? (-> self shots-fired)) (set-nestb-purple! @@ -2364,9 +2357,7 @@ ) :trans (behavior () (let ((v1-2 (ja-group))) - (when (and (not (and v1-2 (= v1-2 (-> self draw art-group data 33)))) - (time-elapsed? (-> self state-time) (seconds 3)) - ) + (when (and (not (and v1-2 (= v1-2 metalkor-shot-ja))) (time-elapsed? (-> self state-time) (seconds 3))) (cond ((or (< (-> self last-standing-attack) -1) (and (< (-> self last-standing-attack) 2) @@ -2403,7 +2394,7 @@ :event metalkor-handler :enter (behavior () (ja-channel-push! 1 (seconds 0.2)) - (ja :group! (-> self draw art-group data 44) :num! min) + (ja :group! metalkor-hang-hit-major-ja :num! min) (metalkor-spinners-off) (dotimes (gp-1 4) (let ((a0-3 (handle->process (-> self lowtorso)))) @@ -2416,14 +2407,14 @@ :trans (behavior () (let ((v1-2 (ja-group))) (cond - ((and v1-2 (= v1-2 (-> self draw art-group data 21))) + ((and v1-2 (= v1-2 metalkor-hang-roar-ja)) (ja :num! (seek!)) (if (ja-done? 0) (go-virtual hang-shoot-n-launch) ) ) ((let ((v1-17 (ja-group))) - (and v1-17 (= v1-17 (-> self draw art-group data 44))) + (and v1-17 (= v1-17 metalkor-hang-hit-major-ja)) ) (let ((f30-0 (ja-aframe-num 0))) (ja :num! (seek!)) @@ -2444,11 +2435,11 @@ ) (when (ja-done? 0) (ja-channel-push! 1 (seconds 0.2)) - (ja :group! (-> self draw art-group data 21) :num! min) + (ja :group! metalkor-hang-roar-ja :num! min) ) ) (else - (ja :group! (-> self draw art-group data 44) :num! min) + (ja :group! metalkor-hang-hit-major-ja :num! min) ) ) ) @@ -2478,7 +2469,7 @@ ) :exit (behavior () (send-event (handle->process (-> self lowtorso)) 'egg-toss 0) - (metalkor-ja-float-stop (the-as art-joint-anim (-> self draw art-group data 23))) + (metalkor-ja-float-stop (the-as art-joint-anim metalkor-hang-pre-shot-ja)) ) :trans (behavior () (local-vars (sv-16 res-tag)) @@ -2585,7 +2576,10 @@ (nonzero? (mod (-> self shots-fired) (-> self stage))) ) (set-time! (-> self flitter-timer)) - (spawn (-> self shot-anticipate) (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 7))) + (spawn + (-> self shot-anticipate) + (vector<-cspace! (new 'stack-no-clear 'vector) (joint-node-index metalkor-lod0-jg head)) + ) (if (zero? (mod (-> self shots-fired) (-> self stage))) (set-nestb-purple! (fmax @@ -2597,14 +2591,14 @@ (fmax (get-nestb-purple) (* 0.0022222223 (the float (- (current-time) (-> self shoot-timer))))) ) ) - (let* ((v1-123 (the-as art-joint-anim (-> self draw art-group data 23))) + (let* ((v1-123 (the-as art-joint-anim metalkor-hang-pre-shot-ja)) (f0-7 (/ (the float (-> v1-123 frames num-frames)) (-> v1-123 speed))) (f1-6 45.0) ) (if (zero? (mod (-> self shots-fired) (-> self stage))) (set! f1-6 75.0) ) - (if (metalkor-ja-float (the-as art-joint-anim (-> self draw art-group data 23)) (/ f0-7 f1-6) 1.0 f0-7) + (if (metalkor-ja-float (the-as art-joint-anim metalkor-hang-pre-shot-ja) (/ f0-7 f1-6) 1.0 f0-7) (sound-play "nboss-pre-shot") ) ) @@ -2616,9 +2610,9 @@ (set-time! (-> self shoot-timer)) (metalkor-shoot-projectile) (set-nestb-purple! (fmax 1.0 (get-nestb-purple))) - (metalkor-ja-float-stop (the-as art-joint-anim (-> self draw art-group data 23))) + (metalkor-ja-float-stop (the-as art-joint-anim metalkor-hang-pre-shot-ja)) (ja-channel-push! 1 (seconds 0.05)) - (ja :group! (-> self draw art-group data 24) :num! min) + (ja :group! metalkor-hang-shot-ja :num! min) (metalkor-all-spinners-on) ) ) @@ -2668,7 +2662,7 @@ (set! (-> self current-nav-poly) (cloest-point-on-mesh (-> self nav) (-> self root trans) (-> self root trans) (-> self current-nav-poly)) ) - (ja :group! (-> self draw art-group data 5)) + (ja :group! metalkor-walk-ja) ) :trans (behavior () (local-vars (v1-72 float)) diff --git a/test/decompiler/reference/jak2/levels/nest/flying-spider_REF.gc b/test/decompiler/reference/jak2/levels/nest/flying-spider_REF.gc index 5c04cc533f6..31742b2d0d0 100644 --- a/test/decompiler/reference/jak2/levels/nest/flying-spider_REF.gc +++ b/test/decompiler/reference/jak2/levels/nest/flying-spider_REF.gc @@ -480,7 +480,7 @@ :event (behavior ((proc process) (argc int) (message symbol) (block event-message-block)) (case message (('event-attack-l) - (let* ((s5-0 (-> self node-list data 30)) + (let* ((s5-0 (joint-node-index flying-spider-lod0-jg LgunTip)) (gp-0 (vector<-cspace! (new 'stack-no-clear 'vector) s5-0)) (a0-3 (vector-normalize-copy! (new 'stack-no-clear 'vector) (-> s5-0 bone transform vector 2) 163840.0)) (a2-3 (vector+! (new 'stack-no-clear 'vector) gp-0 a0-3)) @@ -489,7 +489,7 @@ ) ) (('event-attack-r) - (let* ((s5-1 (-> self node-list data 35)) + (let* ((s5-1 (joint-node-index flying-spider-lod0-jg RgunTip)) (gp-1 (vector<-cspace! (new 'stack-no-clear 'vector) s5-1)) (a0-7 (vector-normalize-copy! (new 'stack-no-clear 'vector) (-> s5-1 bone transform vector 2) -163840.0)) (a2-6 (vector+! (new 'stack-no-clear 'vector) gp-1 a0-7)) diff --git a/test/decompiler/reference/jak2/levels/palace/boss/squid-setup_REF.gc b/test/decompiler/reference/jak2/levels/palace/boss/squid-setup_REF.gc index 7240d6ad9f3..e7f0761efc3 100644 --- a/test/decompiler/reference/jak2/levels/palace/boss/squid-setup_REF.gc +++ b/test/decompiler/reference/jak2/levels/palace/boss/squid-setup_REF.gc @@ -1574,7 +1574,7 @@ (set! sv-64 (the-as symbol #f)) (set! sv-96 *launch-matrix*) (set! sv-80 (-> sv-96 trans)) - (let ((v1-13 (-> (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 36)) quad))) + (let ((v1-13 (-> (vector<-cspace! (new 'stack-no-clear 'vector) (joint-node-index squid-lod0-jg gunL)) quad))) (set! (-> sv-80 quad) v1-13) ) ((the-as (function object object object object object object object object none) s5-0) @@ -1610,7 +1610,7 @@ (set! sv-128 (the-as symbol #f)) (set! sv-160 *launch-matrix*) (set! sv-144 (-> sv-160 trans)) - (let ((v1-25 (-> (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 50)) quad))) + (let ((v1-25 (-> (vector<-cspace! (new 'stack-no-clear 'vector) (joint-node-index squid-lod0-jg podL)) quad))) (set! (-> sv-144 quad) v1-25) ) ((the-as (function object object object object object object object object none) s5-1) @@ -1709,11 +1709,11 @@ (go-virtual pre-flee) ) ((let ((v1-41 (ja-group))) - (or (and (and v1-41 (= v1-41 (-> self draw art-group data 4))) (< 16.0 (ja-aframe-num 0))) + (or (and (and v1-41 (= v1-41 squid-shields-up-ja)) (< 16.0 (ja-aframe-num 0))) (let ((v1-49 (ja-group))) - (or (and v1-49 (= v1-49 (-> self draw art-group data 5))) + (or (and v1-49 (= v1-49 squid-shields-idle-ja)) (let ((v1-54 (ja-group))) - (and (and v1-54 (= v1-54 (-> self draw art-group data 6))) (< (ja-aframe-num 0) 105.0)) + (and (and v1-54 (= v1-54 squid-shields-down-ja)) (< (ja-aframe-num 0) 105.0)) ) ) ) diff --git a/test/decompiler/reference/jak2/levels/palace/boss/squid-states_REF.gc b/test/decompiler/reference/jak2/levels/palace/boss/squid-states_REF.gc index 115dcff1c04..24143f56627 100644 --- a/test/decompiler/reference/jak2/levels/palace/boss/squid-states_REF.gc +++ b/test/decompiler/reference/jak2/levels/palace/boss/squid-states_REF.gc @@ -521,7 +521,7 @@ ) (set! (-> self tentacle-base-rotation-speed target) 1.0) (ja-channel-push! 1 (seconds 0.2)) - (ja :group! (-> self draw art-group data 36) :num! min) + (ja :group! squid-damaged-ja :num! min) ) :exit (behavior () (process-release? *target*) @@ -556,7 +556,7 @@ (if (time-elapsed? (-> self state-time) (seconds 3)) (go-virtual flee) ) - (spawn (-> self part) (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 55))) + (spawn (-> self part) (vector<-cspace! (new 'stack-no-clear 'vector) (joint-node-index squid-lod0-jg podR))) (when (>= (- (current-time) (-> self traj-timer)) 0) (sound-play "squid-explosion") (set! (-> self traj-timer) (+ (current-time) (the int (* 300.0 (rand-vu-float-range 0.25 0.5))))) @@ -579,7 +579,7 @@ (set! sv-96 (the-as symbol #f)) (set! sv-128 *launch-matrix*) (set! sv-112 (-> sv-128 trans)) - (let ((v1-33 (-> (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 43)) quad))) + (let ((v1-33 (-> (vector<-cspace! (new 'stack-no-clear 'vector) (joint-node-index squid-lod0-jg gunR)) quad))) (set! (-> sv-112 quad) v1-33) ) ((the-as (function object object object object object object object object none) s5-3) @@ -615,7 +615,7 @@ (set! sv-160 (the-as symbol #f)) (set! sv-192 *launch-matrix*) (set! sv-176 (-> sv-192 trans)) - (let ((v1-47 (-> (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 55)) quad))) + (let ((v1-47 (-> (vector<-cspace! (new 'stack-no-clear 'vector) (joint-node-index squid-lod0-jg podR)) quad))) (set! (-> sv-176 quad) v1-47) ) ((the-as (function object object object object object object object object none) s5-4) @@ -650,7 +650,7 @@ (set! sv-224 (the-as symbol #f)) (set! sv-256 *launch-matrix*) (set! sv-240 (-> sv-256 trans)) - (let ((v1-59 (-> (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 55)) quad))) + (let ((v1-59 (-> (vector<-cspace! (new 'stack-no-clear 'vector) (joint-node-index squid-lod0-jg podR)) quad))) (set! (-> sv-240 quad) v1-59) ) ((the-as (function object object object object object object object object none) s5-5) @@ -694,7 +694,7 @@ ) (set! (-> self driver-blend target) 0.0) (ja-channel-push! 1 (seconds 0.5)) - (ja :group! (-> self draw art-group data 33) :num! min) + (ja :group! squid-recharge-landing-ja :num! min) ) :exit (behavior () (squid-talker 'done-recharging) @@ -710,7 +710,7 @@ ) (let ((v1-10 (ja-group))) (cond - ((and v1-10 (= v1-10 (-> self draw art-group data 34))) + ((and v1-10 (= v1-10 squid-recharge-liftoff-ja)) (ja :num! (seek!)) (when (ja-done? 0) (vector-reset! (-> self residual-velocity)) @@ -720,21 +720,21 @@ ((time-elapsed? (-> self state-time) (seconds 2)) (set! (-> self driver-blend target) 1.0) (ja-channel-push! 1 (seconds 0.1)) - (ja :group! (-> self draw art-group data 34) :num! min) + (ja :group! squid-recharge-liftoff-ja :num! min) ) ((let ((v1-37 (ja-group))) - (and v1-37 (= v1-37 (-> self draw art-group data 35))) + (and v1-37 (= v1-37 squid-recharge-ja)) ) (ja :num! (seek!)) (when (ja-done? 0) (ja-channel-push! 1 (seconds 0.25)) - (ja :group! (-> self draw art-group data 35) :num! min) + (ja :group! squid-recharge-ja :num! min) ) ) (else (ja :num! (seek!)) (if (ja-done? 0) - (ja :group! (-> self draw art-group data 35) :num! min) + (ja :group! squid-recharge-ja :num! min) ) ) ) @@ -797,28 +797,26 @@ (defbehavior squid-adjust-fly-anim squid () (let ((v1-2 (ja-group))) (cond - ((and v1-2 (= v1-2 (-> self draw art-group data 21))) + ((and v1-2 (= v1-2 squid-fly-left-start-ja)) (ja :num! (seek!)) (if (>= 5.0 (ja-frame-num 0)) (set! (-> self allowed-rotate-to-vector-angle) 0.0) ) (when (or (ja-done? 0) (< -364.0889 (-> self desired-rotate-to-vector-angle))) (ja-channel-push! 1 (seconds 0.1)) - (ja :group! (-> self draw art-group data 23) - :num! (identity (the float (max 0 (- 20 (the int (ja-aframe-num 0)))))) - ) + (ja :group! squid-fly-left-end-ja :num! (identity (the float (max 0 (- 20 (the int (ja-aframe-num 0))))))) ) ) ((let ((v1-26 (ja-group))) - (and (and v1-26 (= v1-26 (-> self draw art-group data 23))) (< (-> self desired-rotate-to-vector-angle) 0.0)) + (and (and v1-26 (= v1-26 squid-fly-left-end-ja)) (< (-> self desired-rotate-to-vector-angle) 0.0)) ) (ja :num! (seek!)) (if (ja-done? 0) - (ja :group! (-> self draw art-group data 3) :num! min) + (ja :group! squid-squid-idle-ja :num! min) ) ) ((let ((v1-44 (ja-group))) - (and v1-44 (= v1-44 (-> self draw art-group data 24))) + (and v1-44 (= v1-44 squid-fly-right-start-ja)) ) (ja :num! (seek!)) (if (>= 5.0 (ja-frame-num 0)) @@ -826,24 +824,22 @@ ) (when (or (ja-done? 0) (< (-> self desired-rotate-to-vector-angle) 364.0889)) (ja-channel-push! 1 (seconds 0.1)) - (ja :group! (-> self draw art-group data 26) - :num! (identity (the float (max 0 (- 105 (the int (ja-aframe-num 0)))))) - ) + (ja :group! squid-fly-right-end-ja :num! (identity (the float (max 0 (- 105 (the int (ja-aframe-num 0))))))) ) ) (else (let ((v1-68 (ja-group))) (cond - ((and (and v1-68 (= v1-68 (-> self draw art-group data 26))) (< 0.0 (-> self desired-rotate-to-vector-angle))) + ((and (and v1-68 (= v1-68 squid-fly-right-end-ja)) (< 0.0 (-> self desired-rotate-to-vector-angle))) (ja :num! (seek!)) (if (ja-done? 0) - (ja :group! (-> self draw art-group data 3) :num! min) + (ja :group! squid-squid-idle-ja :num! min) ) ) ((< (-> self desired-rotate-to-vector-angle) -910.2222) (set! (-> self allowed-rotate-to-vector-angle) 0.0) (ja-channel-push! 1 (seconds 0.2)) - (ja :group! (-> self draw art-group data 21) :num! min) + (ja :group! squid-fly-left-start-ja :num! min) (set! (-> self jet-volume) (the-as int (current-time))) (set! (-> self jet-pitch) (the-as int (current-time))) (set! (-> self negate-jet-pitch) #f) @@ -851,13 +847,13 @@ ((< 910.2222 (-> self desired-rotate-to-vector-angle)) (set! (-> self allowed-rotate-to-vector-angle) 0.0) (ja-channel-push! 1 (seconds 0.2)) - (ja :group! (-> self draw art-group data 24) :num! min) + (ja :group! squid-fly-right-start-ja :num! min) (set! (-> self jet-volume) (the-as int (current-time))) (set! (-> self jet-pitch) (the-as int (current-time))) (set! (-> self negate-jet-pitch) #f) ) ((let ((v1-106 (ja-group))) - (and v1-106 (= v1-106 (-> self draw art-group data 3))) + (and v1-106 (= v1-106 squid-squid-idle-ja)) ) (ja :num! (loop!)) ) @@ -865,7 +861,7 @@ (ja :num! (seek!)) (when (ja-done? 0) (ja-channel-push! 1 (seconds 0.2)) - (ja :group! (-> self draw art-group data 3) :num! min) + (ja :group! squid-squid-idle-ja :num! min) ) ) ) @@ -929,9 +925,9 @@ (sound-play "squid-rush-end") (set-time! (-> self rush-end-time)) (let ((v1-5 (ja-group))) - (when (and v1-5 (= v1-5 (-> self draw art-group data 5))) + (when (and v1-5 (= v1-5 squid-shields-idle-ja)) (ja-channel-push! 1 (seconds 0.05)) - (ja :group! (-> self draw art-group data 6) :num! min) + (ja :group! squid-shields-down-ja :num! min) (sound-play "sqd-shield-down") (set! (-> self jet-volume) (the-as int (current-time))) (set! (-> self jet-pitch) (the-as int (current-time))) @@ -950,7 +946,7 @@ ) (let ((v1-17 (ja-group))) (cond - ((and v1-17 (= v1-17 (-> self draw art-group data 4))) + ((and v1-17 (= v1-17 squid-shields-up-ja)) (ja :num! (seek!)) (when (and (-> self can-play-squid-boost) (< 30.0 (ja-aframe-num 0))) (sound-play "squid-boost") @@ -963,7 +959,7 @@ 0 ) (if (ja-done? 0) - (ja :group! (-> self draw art-group data 5) :num! min) + (ja :group! squid-shields-idle-ja :num! min) ) (if (< (ja-aframe-num 0) 20.0) (squid-method-42 self (-> self traj-dest)) @@ -973,12 +969,12 @@ (else (let ((v1-53 (ja-group))) (cond - ((and v1-53 (= v1-53 (-> self draw art-group data 5))) + ((and v1-53 (= v1-53 squid-shields-idle-ja)) (ja :num! (loop!)) ) (else (ja-channel-push! 1 (seconds 0.1)) - (ja :group! (-> self draw art-group data 4) :num! min) + (ja :group! squid-shields-up-ja :num! min) ) ) ) @@ -1006,7 +1002,7 @@ (go-virtual fly-to-shoot-spot) ) (let ((v1-89 (ja-group))) - (when (and v1-89 (or (= v1-89 (-> self draw art-group data 4)) (= v1-89 (-> self draw art-group data 5)))) + (when (and v1-89 (or (= v1-89 squid-shields-up-ja) (= v1-89 squid-shields-idle-ja))) (set! (-> gp-3 quad) (-> self traj-dest quad)) (set! (-> s3-0 quad) (-> self traj-dest quad)) (clamp-vector-to-mesh-cross-gaps (-> self nav) gp-3 (-> self current-nav-poly) s3-0 409600.0 #f s2-0) @@ -1094,9 +1090,9 @@ ) (let ((v1-10 (ja-group))) (cond - ((not (and v1-10 (= v1-10 (-> self draw art-group data 3)))) + ((not (and v1-10 (= v1-10 squid-squid-idle-ja))) (ja-channel-push! 1 (seconds 0.2)) - (ja :group! (-> self draw art-group data 3) :num! min) + (ja :group! squid-squid-idle-ja :num! min) ) (else (ja :num! (loop!)) @@ -1220,36 +1216,36 @@ (squid-method-43 self (squid-method-42 self (new 'stack-no-clear 'vector)) 22.755556 0.75) (let ((v1-13 (ja-group))) (cond - ((and v1-13 (= v1-13 (-> self draw art-group data 7))) + ((and v1-13 (= v1-13 squid-pods-down-ja)) (ja :num! (seek!)) (when (ja-done? 0) (cond ((or (= (-> self shield-hit-points) 0.0) (zero? (-> self hit-points)) (-> self stop-shooting)) - (ja :group! (-> self draw art-group data 15) :num! min) + (ja :group! squid-pods-up-ja :num! min) ) ((-> self fire-aft) - (ja :group! (-> self draw art-group data 11) :num! min) + (ja :group! squid-hatch-aft-open-ja :num! min) (set! (-> self fire-aft) #f) ) (else - (ja :group! (-> self draw art-group data 8) :num! min) + (ja :group! squid-hatch-fore-open-ja :num! min) (set! (-> self fire-aft) #t) ) ) ) ) ((let ((v1-44 (ja-group))) - (and v1-44 (= v1-44 (-> self draw art-group data 8))) + (and v1-44 (= v1-44 squid-hatch-fore-open-ja)) ) (ja :num! (seek!)) (cond ((not (ja-done? 0)) ) ((or (= (-> self shield-hit-points) 0.0) (zero? (-> self hit-points)) (-> self stop-shooting)) - (ja :group! (-> self draw art-group data 10) :num! min) + (ja :group! squid-hatch-fore-close-ja :num! min) ) (else - (ja :group! (-> self draw art-group data 9) :num! min) + (ja :group! squid-hatch-fore-launch-ja :num! min) (setup-grenade 0) (setup-grenade 5) (spawn-grenade self 51 (the-as squid-grenade-holder (-> self grenade)) 2.0) @@ -1260,7 +1256,7 @@ ) ) ((let ((v1-75 (ja-group))) - (and v1-75 (= v1-75 (-> self draw art-group data 9))) + (and v1-75 (= v1-75 squid-hatch-fore-launch-ja)) ) (ja :num! (seek!)) (cond @@ -1270,7 +1266,7 @@ ) ((or (= (-> self shield-hit-points) 0.0) (zero? (-> self hit-points)) (-> self stop-shooting)) (set! (-> self next-gun) 0) - (ja :group! (-> self draw art-group data 10) :num! min) + (ja :group! squid-hatch-fore-close-ja :num! min) ) ((< (-> self next-gun) (squid-num-grenades-to-shoot)) (setup-grenade (-> self next-gun)) @@ -1279,34 +1275,34 @@ (spawn-grenade self 57 (-> self grenade (+ (-> self next-gun) 5)) 1.0) (setup-masks (-> self draw) 0 4) (+! (-> self next-gun) 1) - (ja :group! (-> self draw art-group data 9) :num! min) + (ja :group! squid-hatch-fore-launch-ja :num! min) ) (else (set! (-> self next-gun) 0) - (ja :group! (-> self draw art-group data 10) :num! min) + (ja :group! squid-hatch-fore-close-ja :num! min) ) ) ) ((let ((v1-124 (ja-group))) - (and v1-124 (= v1-124 (-> self draw art-group data 10))) + (and v1-124 (= v1-124 squid-hatch-fore-close-ja)) ) (ja :num! (seek!)) (if (ja-done? 0) - (ja :group! (-> self draw art-group data 15) :num! min) + (ja :group! squid-pods-up-ja :num! min) ) ) ((let ((v1-141 (ja-group))) - (and v1-141 (= v1-141 (-> self draw art-group data 11))) + (and v1-141 (= v1-141 squid-hatch-aft-open-ja)) ) (ja :num! (seek!)) (cond ((not (ja-done? 0)) ) ((or (= (-> self shield-hit-points) 0.0) (zero? (-> self hit-points)) (-> self stop-shooting)) - (ja :group! (-> self draw art-group data 13) :num! min) + (ja :group! squid-hatch-aft-close-ja :num! min) ) (else - (ja :group! (-> self draw art-group data 12) :num! min) + (ja :group! squid-hatch-aft-launch-ja :num! min) (setup-grenade 0) (setup-grenade 5) (spawn-grenade self 53 (the-as squid-grenade-holder (-> self grenade)) 2.0) @@ -1317,7 +1313,7 @@ ) ) ((let ((v1-172 (ja-group))) - (and v1-172 (= v1-172 (-> self draw art-group data 12))) + (and v1-172 (= v1-172 squid-hatch-aft-launch-ja)) ) (ja :num! (seek!)) (cond @@ -1327,7 +1323,7 @@ ) ((or (= (-> self shield-hit-points) 0.0) (zero? (-> self hit-points)) (-> self stop-shooting)) (set! (-> self next-gun) 0) - (ja :group! (-> self draw art-group data 13) :num! min) + (ja :group! squid-hatch-aft-close-ja :num! min) ) ((< (-> self next-gun) (squid-num-grenades-to-shoot)) (setup-grenade (-> self next-gun)) @@ -1336,29 +1332,29 @@ (spawn-grenade self 59 (-> self grenade (+ (-> self next-gun) 5)) 1.0) (setup-masks (-> self draw) 0 16) (+! (-> self next-gun) 1) - (ja :group! (-> self draw art-group data 12) :num! min) + (ja :group! squid-hatch-aft-launch-ja :num! min) ) (else (set! (-> self next-gun) 0) - (ja :group! (-> self draw art-group data 13) :num! min) + (ja :group! squid-hatch-aft-close-ja :num! min) ) ) ) ((let ((v1-221 (ja-group))) - (and v1-221 (= v1-221 (-> self draw art-group data 13))) + (and v1-221 (= v1-221 squid-hatch-aft-close-ja)) ) (ja :num! (seek!)) (if (ja-done? 0) - (ja :group! (-> self draw art-group data 15) :num! min) + (ja :group! squid-pods-up-ja :num! min) ) ) ((let ((v1-238 (ja-group))) - (and v1-238 (= v1-238 (-> self draw art-group data 15))) + (and v1-238 (= v1-238 squid-pods-up-ja)) ) (ja :num! (seek!)) (when (ja-done? 0) (ja-channel-push! 1 (seconds 0.05)) - (ja :group! (-> self draw art-group data 3) :num! min) + (ja :group! squid-squid-idle-ja :num! min) (cond ((= (-> self shield-hit-points) 0.0) (go-virtual fly-to-post) @@ -1372,7 +1368,7 @@ ) (else (ja-channel-push! 1 (seconds 0.15)) - (ja :group! (-> self draw art-group data 7) :num! min) + (ja :group! squid-pods-down-ja :num! min) (set-time! (-> self state-time)) ) ) @@ -1466,7 +1462,7 @@ (quaternion-copy! (-> self gun-tilt-right-jm quat) (-> self gun-tilt-left-jm quat)) (let ((v1-50 (ja-group))) (cond - ((and v1-50 (= v1-50 (-> self draw art-group data 16))) + ((and v1-50 (= v1-50 squid-fire-guns-start-ja)) (ja :num! (seek!)) (when (and (= (-> self next-gun) 1) (>= (ja-aframe-num 0) 250.0)) (squid-method-53 self 39) @@ -1475,11 +1471,11 @@ 0 ) (if (ja-done? 0) - (ja :group! (-> self draw art-group data 17) :num! min) + (ja :group! squid-fire-guns-loop-ja :num! min) ) ) ((let ((v1-77 (ja-group))) - (and v1-77 (= v1-77 (-> self draw art-group data 17))) + (and v1-77 (= v1-77 squid-fire-guns-loop-ja)) ) (if (or (time-elapsed? (-> self state-time) (seconds 3)) (or (= (-> self shield-hit-points) 0.0) (zero? (-> self hit-points)) (-> self stop-shooting)) @@ -1505,11 +1501,11 @@ ) (ja-done? 0) ) - (ja :group! (-> self draw art-group data 18) :num! min) + (ja :group! squid-fire-guns-end-ja :num! min) ) ) ((let ((v1-132 (ja-group))) - (and v1-132 (= v1-132 (-> self draw art-group data 18))) + (and v1-132 (= v1-132 squid-fire-guns-end-ja)) ) (ja :num! (seek!)) (when (and (zero? (-> self next-gun)) (>= (ja-aframe-num 0) 262.0)) @@ -1518,17 +1514,17 @@ (set! (-> self next-gun) 1) ) (if (ja-done? 0) - (ja :group! (-> self draw art-group data 19) :num! min) + (ja :group! squid-fire-guns-release-ja :num! min) ) ) (else (let ((v1-158 (ja-group))) (cond - ((and v1-158 (= v1-158 (-> self draw art-group data 19))) + ((and v1-158 (= v1-158 squid-fire-guns-release-ja)) (ja :num! (seek!)) (when (ja-done? 0) (ja-channel-push! 1 (seconds 0.2)) - (ja :group! (-> self draw art-group data 3) :num! min) + (ja :group! squid-squid-idle-ja :num! min) (cond ((= (-> self shield-hit-points) 0.0) (go-virtual fly-to-post) @@ -1542,7 +1538,7 @@ ) (else (ja-channel-push! 1 (seconds 0.2)) - (ja :group! (-> self draw art-group data 16) :num! min) + (ja :group! squid-fire-guns-start-ja :num! min) (set-time! (-> self state-time)) (set! (-> self next-gun) 1) ) @@ -1670,7 +1666,7 @@ ) :exit (behavior () (ja-channel-push! 1 0) - (ja :group! (-> self draw art-group data 3) :num! min) + (ja :group! squid-squid-idle-ja :num! min) ) :trans (behavior () (cond diff --git a/test/decompiler/reference/jak2/levels/palace/cable/palcab-obs_REF.gc b/test/decompiler/reference/jak2/levels/palace/cable/palcab-obs_REF.gc index 29de5be14cd..fee3714ac6e 100644 --- a/test/decompiler/reference/jak2/levels/palace/cable/palcab-obs_REF.gc +++ b/test/decompiler/reference/jak2/levels/palace/cable/palcab-obs_REF.gc @@ -1208,7 +1208,7 @@ This commonly includes things such as: (defstate fall (pal-flip-step) :virtual #t :code (behavior () - (ja-no-eval :group! (-> self draw art-group data 3) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! pal-flip-step-fall-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (transform-post) (suspend) diff --git a/test/decompiler/reference/jak2/levels/palace/pal-obs_REF.gc b/test/decompiler/reference/jak2/levels/palace/pal-obs_REF.gc index e5689906dc7..24e5a7dd653 100644 --- a/test/decompiler/reference/jak2/levels/palace/pal-obs_REF.gc +++ b/test/decompiler/reference/jak2/levels/palace/pal-obs_REF.gc @@ -49,7 +49,7 @@ ) :trans rider-trans :code (behavior () - (ja-no-eval :group! (-> self draw art-group data 2) :num! zero) + (ja-no-eval :group! pal-falling-plat-idle-ja :num! zero) (transform-post) (sleep-code) ) @@ -82,13 +82,13 @@ ) :trans rider-trans :code (behavior () - (ja-no-eval :group! (-> self draw art-group data 3) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! pal-falling-plat-shake-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) ) (logclear! (-> self root root-prim prim-core action) (collide-action rideable)) - (ja-no-eval :group! (-> self draw art-group data 2) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! pal-falling-plat-idle-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) diff --git a/test/decompiler/reference/jak2/levels/ruins/rapid-gunner_REF.gc b/test/decompiler/reference/jak2/levels/ruins/rapid-gunner_REF.gc index dffa66dd1f1..b05f1e2073e 100644 --- a/test/decompiler/reference/jak2/levels/ruins/rapid-gunner_REF.gc +++ b/test/decompiler/reference/jak2/levels/ruins/rapid-gunner_REF.gc @@ -576,7 +576,7 @@ (let ((gp-0 (new 'stack-no-clear 'vector))) (set! (-> gp-0 quad) (-> (get-trans (the-as process-focusable a0-1) 0) quad)) (let ((s5-1 (vector-! (new 'stack-no-clear 'vector) gp-0 (-> self target-prev-pos)))) - (let* ((a1-3 (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 18))) + (let* ((a1-3 (vector<-cspace! (new 'stack-no-clear 'vector) (joint-node-index rapid-gunner-lod0-jg blast))) (f0-0 (vector-vector-distance gp-0 a1-3)) ) (vector-normalize! s5-1 (* 0.00028170072 f0-0 (vector-length s5-1))) @@ -795,7 +795,7 @@ ) ((time-elapsed? (the-as int (-> self shot-timer)) (seconds 0.25)) (when (rapid-gunner-method-184 self 2184.5334) - (let* ((a1-11 (-> self node-list data 18)) + (let* ((a1-11 (joint-node-index rapid-gunner-lod0-jg blast)) (f30-0 (fmax 0.0 (the float (- (-> self spin-up-timer) (current-time))))) (s5-1 (vector<-cspace! (new 'stack-no-clear 'vector) a1-11)) (s4-2 diff --git a/test/decompiler/reference/jak2/levels/ruins/ruins-obs_REF.gc b/test/decompiler/reference/jak2/levels/ruins/ruins-obs_REF.gc index 0049f8cabf7..cb7cd79eb60 100644 --- a/test/decompiler/reference/jak2/levels/ruins/ruins-obs_REF.gc +++ b/test/decompiler/reference/jak2/levels/ruins/ruins-obs_REF.gc @@ -205,7 +205,7 @@ :virtual #t :code (behavior () (sound-play "beam-slip") - (ja-no-eval :group! (-> self draw art-group data 3) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! beam-slide-center-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) diff --git a/test/decompiler/reference/jak2/levels/sewer/escort/jinx-states_REF.gc b/test/decompiler/reference/jak2/levels/sewer/escort/jinx-states_REF.gc index f188fba91a7..4a90b118b95 100644 --- a/test/decompiler/reference/jak2/levels/sewer/escort/jinx-states_REF.gc +++ b/test/decompiler/reference/jak2/levels/sewer/escort/jinx-states_REF.gc @@ -7,11 +7,8 @@ :code (behavior () (let ((v1-2 (ja-group))) (cond - ((and v1-2 (or (= v1-2 (-> self draw art-group data 3)) - (= v1-2 (-> self draw art-group data 4)) - (= v1-2 (-> self draw art-group data 5)) - (= v1-2 (-> self draw art-group data 6)) - ) + ((and v1-2 + (or (= v1-2 jinx-idle0-ja) (= v1-2 jinx-idle1-ja) (= v1-2 jinx-scared0-ja) (= v1-2 jinx-scared1-ja)) ) (ja-no-eval :num! (seek!)) (while (not (ja-done? 0)) @@ -20,14 +17,14 @@ ) ) ((let ((v1-17 (ja-group))) - (and v1-17 (= v1-17 (-> self draw art-group data 60))) + (and v1-17 (= v1-17 jinx-alert0-ja)) ) (ja-no-eval :num! (seek!)) (while (not (ja-done? 0)) (suspend) (ja-eval) ) - (ja-no-eval :group! (-> self draw art-group data 61) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! jinx-alert-to-idle0-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -39,11 +36,11 @@ (let ((gp-0 (get-rand-int self 5))) (while (>= gp-0 0) (let ((v1-57 (ja-group))) - (if (not (and v1-57 (= v1-57 (-> self draw art-group data 3)))) + (if (not (and v1-57 (= v1-57 jinx-idle0-ja))) (ja-channel-push! 1 (seconds 0.2)) ) ) - (ja-no-eval :group! (-> self draw art-group data 3) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! jinx-idle0-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -52,12 +49,12 @@ ) ) (let ((v1-89 (ja-group))) - (if (not (and v1-89 (= v1-89 (-> self draw art-group data 4)))) + (if (not (and v1-89 (= v1-89 jinx-idle1-ja))) (ja-channel-push! 1 (seconds 0.2)) ) ) (stop-looking-at-target! self) - (ja-no-eval :group! (-> self draw art-group data 4) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! jinx-idle1-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -113,17 +110,17 @@ (cond ((< f0-8 18204.445) (set! f0-9 9102.223) - (set! s4-1 (-> self draw art-group data 39)) + (set! s4-1 jinx-turn-left50-end0-ja) ) ((< f0-8 27306.666) (set! f0-9 18204.445) - (set! s4-1 (-> self draw art-group data 40)) + (set! s4-1 jinx-turn-left100-end0-ja) (set! f30-0 10.0) (set! f28-0 24.0) ) (else (set! f0-9 27306.666) - (set! s4-1 (-> self draw art-group data 41)) + (set! s4-1 jinx-turn-left150-end0-ja) (set! f30-0 10.0) (set! f28-0 24.0) ) @@ -136,16 +133,16 @@ (cond ((< -18204.445 f0-8) (set! f0-9 -9102.223) - (set! s4-1 (-> self draw art-group data 43)) + (set! s4-1 jinx-turn-right50-end0-ja) ) ((< -27306.666 f0-8) (set! f0-9 -18204.445) - (set! s4-1 (-> self draw art-group data 44)) + (set! s4-1 jinx-turn-right100-end0-ja) (set! f28-0 17.0) ) (else (set! f0-9 -27306.666) - (set! s4-1 (-> self draw art-group data 45)) + (set! s4-1 jinx-turn-right150-end0-ja) (set! f28-0 17.0) ) ) @@ -183,11 +180,8 @@ :code (behavior () (let ((v1-2 (ja-group))) (cond - ((and v1-2 (or (= v1-2 (-> self draw art-group data 5)) - (= v1-2 (-> self draw art-group data 6)) - (= v1-2 (-> self draw art-group data 7)) - (= v1-2 (-> self draw art-group data 8)) - ) + ((and v1-2 + (or (= v1-2 jinx-scared0-ja) (= v1-2 jinx-scared1-ja) (= v1-2 jinx-scared2-ja) (= v1-2 jinx-scared3-ja)) ) (ja-no-eval :num! (seek!)) (while (not (ja-done? 0)) @@ -196,14 +190,14 @@ ) ) ((let ((v1-17 (ja-group))) - (and v1-17 (= v1-17 (-> self draw art-group data 60))) + (and v1-17 (= v1-17 jinx-alert0-ja)) ) (ja-no-eval :num! (seek!)) (while (not (ja-done? 0)) (suspend) (ja-eval) ) - (ja-no-eval :group! (-> self draw art-group data 61) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! jinx-alert-to-idle0-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -215,11 +209,11 @@ (until #f (countdown (s5-0 (get-rand-int-range self 1 3)) (let ((v1-57 (ja-group))) - (if (not (and v1-57 (= v1-57 (-> self draw art-group data 5)))) + (if (not (and v1-57 (= v1-57 jinx-scared0-ja))) (ja-channel-push! 1 (seconds 0.1)) ) ) - (ja-no-eval :group! (-> self draw art-group data 5) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! jinx-scared0-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -290,16 +284,16 @@ (cond ((< f0-8 18204.445) (set! f0-9 9102.223) - (set! s4-1 (-> self draw art-group data 47)) + (set! s4-1 jinx-scared-turn-left50-end0-ja) ) ((< f0-8 27306.666) (set! f0-9 18204.445) - (set! s4-1 (-> self draw art-group data 48)) + (set! s4-1 jinx-scared-turn-left100-end0-ja) (set! f28-0 5.0) ) (else (set! f0-9 27306.666) - (set! s4-1 (-> self draw art-group data 49)) + (set! s4-1 jinx-scared-turn-left150-end0-ja) ) ) ) @@ -310,16 +304,16 @@ (cond ((< -18204.445 f0-8) (set! f0-9 -9102.223) - (set! s4-1 (-> self draw art-group data 51)) + (set! s4-1 jinx-scared-turn-right50-end0-ja) ) ((< -27306.666 f0-8) (set! f0-9 -18204.445) - (set! s4-1 (-> self draw art-group data 52)) + (set! s4-1 jinx-scared-turn-right100-end0-ja) (set! f28-0 5.0) ) (else (set! f0-9 -27306.666) - (set! s4-1 (-> self draw art-group data 53)) + (set! s4-1 jinx-scared-turn-right150-end0-ja) ) ) ) @@ -355,7 +349,7 @@ :virtual #t :code (behavior () (let ((v1-2 (ja-group))) - (when (and v1-2 (= v1-2 (-> self draw art-group data 60))) + (when (and v1-2 (= v1-2 jinx-alert0-ja)) (ja-no-eval :num! (seek!)) (while (not (ja-done? 0)) (suspend) @@ -364,9 +358,9 @@ ) ) (let ((v1-17 (ja-group))) - (if (not (or (and v1-17 (= v1-17 (-> self draw art-group data 60))) + (if (not (or (and v1-17 (= v1-17 jinx-alert0-ja)) (let ((v1-23 (ja-group))) - (and (and v1-23 (= v1-23 (-> self draw art-group data 59))) (ja-done? 0)) + (and (and v1-23 (= v1-23 jinx-blast-forward-alert-ja)) (ja-done? 0)) ) ) ) @@ -374,7 +368,7 @@ ) ) (until #f - (ja-no-eval :group! (-> self draw art-group data 60) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! jinx-alert0-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -432,10 +426,10 @@ ) (let ((a1-0 30)) (let ((v1-4 (ja-group))) - (when (and v1-4 (or (= v1-4 (-> self draw art-group data 22)) - (= v1-4 (-> self draw art-group data 20)) - (= v1-4 (-> self draw art-group data 18)) - (= v1-4 (-> self draw art-group data 16)) + (when (and v1-4 (or (= v1-4 jinx-knocked-land0-ja) + (= v1-4 jinx-yellow-hit-land-right0-ja) + (= v1-4 jinx-yellow-hit-land-left0-ja) + (= v1-4 jinx-blue-hit-land-ja) ) ) (set! gp-0 #t) @@ -446,14 +440,14 @@ ((< (fabs (-> self focus-info ry-diff)) 8192.0) (let ((v1-12 (ja-group))) (cond - ((and v1-12 (= v1-12 (-> self draw art-group data 60))) - (set! s5-0 (-> self draw art-group data 59)) + ((and v1-12 (= v1-12 jinx-alert0-ja)) + (set! s5-0 jinx-blast-forward-alert-ja) (set! f30-0 7.0) (set! gp-0 #f) (set! a1-0 12) ) (else - (set! s5-0 (-> self draw art-group data 54)) + (set! s5-0 jinx-blast-forward-ja) ) ) ) @@ -461,11 +455,11 @@ ) ((< (-> self focus-info ry-diff) 0.0) (ja-channel-push! 1 (the-as time-frame a1-0)) - (set! s5-0 (-> self draw art-group data 56)) + (set! s5-0 jinx-blast-right-ja) ) (else (ja-channel-push! 1 (the-as time-frame a1-0)) - (set! s5-0 (-> self draw art-group data 55)) + (set! s5-0 jinx-blast-left-ja) ) ) ) @@ -562,14 +556,14 @@ :virtual #t :code (behavior () (ja-channel-push! 1 (seconds 0.2)) - (ja-no-eval :group! (-> self draw art-group data 3) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! jinx-idle0-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) ) (set-time! (-> self state-time)) (until #f - (ja-no-eval :group! (-> self draw art-group data 3) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! jinx-idle0-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (if (and (logtest? (-> self bot-flags) (bot-flags failed)) (time-elapsed? (-> self state-time) (seconds 0.5)) @@ -595,7 +589,7 @@ ) :code (behavior () (ja-channel-push! 1 (seconds 0.1)) - (ja-no-eval :group! (-> self draw art-group data 62) :num! (seek! (ja-aframe 56.0 0)) :frame-num 0.0) + (ja-no-eval :group! jinx-plant-bomb-right-ja :num! (seek! (ja-aframe 56.0 0)) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek! (ja-aframe 56.0 0))) @@ -623,7 +617,7 @@ (send-event (handle->process (-> self master-handle)) 'notify 'jinx-bomb) (logior! (-> self bot-flags) (bot-flags bf21)) (setup-masks (-> self draw) 0 4096) - (ja-no-eval :group! (-> self draw art-group data 62) :num! (seek!) :frame-num (ja-aframe 56.0 0)) + (ja-no-eval :group! jinx-plant-bomb-right-ja :num! (seek!) :frame-num (ja-aframe 56.0 0)) (until (ja-done? 0) (suspend) (ja :num! (seek!)) diff --git a/test/decompiler/reference/jak2/levels/sewer/gator_REF.gc b/test/decompiler/reference/jak2/levels/sewer/gator_REF.gc index 42f8087e860..20657e57f10 100644 --- a/test/decompiler/reference/jak2/levels/sewer/gator_REF.gc +++ b/test/decompiler/reference/jak2/levels/sewer/gator_REF.gc @@ -480,7 +480,7 @@ ) :code (behavior () (ja-channel-push! 1 (seconds 0.07)) - (ja-no-eval :group! (-> self draw art-group data 15) :num! (seek!) :frame-num (ja-aframe 0.0 0)) + (ja-no-eval :group! amphibian-swim-chomp-ja :num! (seek!) :frame-num (ja-aframe 0.0 0)) (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (let ((target-pos (new 'stack-no-clear 'vector))) diff --git a/test/decompiler/reference/jak2/levels/sewer/hosehead-fake_REF.gc b/test/decompiler/reference/jak2/levels/sewer/hosehead-fake_REF.gc index 4bff223692b..d67fac63bd8 100644 --- a/test/decompiler/reference/jak2/levels/sewer/hosehead-fake_REF.gc +++ b/test/decompiler/reference/jak2/levels/sewer/hosehead-fake_REF.gc @@ -214,11 +214,11 @@ (cond ((zero? v1-0) (let ((v1-3 (ja-group))) - (if (not (and v1-3 (= v1-3 (-> self draw art-group data 15)))) + (if (not (and v1-3 (= v1-3 hosehead-idle0-ja))) (ja-channel-push! 1 (seconds 0.17)) ) ) - (ja-no-eval :group! (-> self draw art-group data 15) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! hosehead-idle0-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -226,11 +226,11 @@ ) ((= v1-0 1) (let ((v1-34 (ja-group))) - (if (not (and v1-34 (= v1-34 (-> self draw art-group data 15)))) + (if (not (and v1-34 (= v1-34 hosehead-idle0-ja))) (ja-channel-push! 1 (seconds 0.17)) ) ) - (ja-no-eval :group! (-> self draw art-group data 37) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! hosehead-idle1-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -238,7 +238,7 @@ ) ((= v1-0 2) (ja-channel-push! 1 (seconds 0.17)) - (ja-no-eval :group! (-> self draw art-group data 13) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! hosehead-attack0-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -246,7 +246,7 @@ ) ((= v1-0 3) (ja-channel-push! 1 (seconds 0.17)) - (ja-no-eval :group! (-> self draw art-group data 14) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! hosehead-attack1-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -254,7 +254,7 @@ ) ((= v1-0 4) (ja-channel-push! 1 (seconds 0.17)) - (ja-no-eval :group! (-> self draw art-group data 21) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! hosehead-attack-left-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -262,7 +262,7 @@ ) ((= v1-0 5) (ja-channel-push! 1 (seconds 0.17)) - (ja-no-eval :group! (-> self draw art-group data 35) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! hosehead-knocked-land2-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -270,7 +270,7 @@ ) (else (ja-channel-push! 1 (seconds 0.17)) - (ja-no-eval :group! (-> self draw art-group data 10) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! hosehead-shoot-start-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -365,7 +365,7 @@ ) (set! (-> self draw light-index) (the-as uint 10)) (ja-channel-push! 1 0) - (ja :group! (-> self draw art-group data 5) :num! min) + (ja :group! hosehead-walk-ja :num! min) (ja-post) (set! (-> self event-hook) hosehead-fake-event-handler) (go-virtual idle) diff --git a/test/decompiler/reference/jak2/levels/sewer/sewer-obs2_REF.gc b/test/decompiler/reference/jak2/levels/sewer/sewer-obs2_REF.gc index 27d30d454a3..cd352297fab 100644 --- a/test/decompiler/reference/jak2/levels/sewer/sewer-obs2_REF.gc +++ b/test/decompiler/reference/jak2/levels/sewer/sewer-obs2_REF.gc @@ -1802,7 +1802,7 @@ This commonly includes things such as: ) :code (behavior () (until #f - (ja-no-eval :group! (-> self draw art-group data 5) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! grunt-idle-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -1861,7 +1861,7 @@ This commonly includes things such as: ) :code (behavior () (ja-channel-push! 1 (seconds 0.2)) - (let ((anim (-> self draw art-group data 57))) + (let ((anim grunt-sew-scare-grunt-end-ja)) (ja-play-spooled-anim (-> self anim) (ja-group) @@ -1880,7 +1880,7 @@ This commonly includes things such as: 0 ) :post (behavior () - (let* ((a1-1 (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 3))) + (let* ((a1-1 (vector<-cspace! (new 'stack-no-clear 'vector) (joint-node-index grunt-lod0-jg main))) (f1-0 (vector-vector-xz-distance (-> self root trans) a1-1)) ) (vector-lerp! diff --git a/test/decompiler/reference/jak2/levels/sewer/sewer-obs_REF.gc b/test/decompiler/reference/jak2/levels/sewer/sewer-obs_REF.gc index 77dfd9b43f3..47cce8adc43 100644 --- a/test/decompiler/reference/jak2/levels/sewer/sewer-obs_REF.gc +++ b/test/decompiler/reference/jak2/levels/sewer/sewer-obs_REF.gc @@ -352,7 +352,7 @@ This commonly includes things such as: (if (< 6.0 f30-0) (set! f30-0 (+ -6.0 f30-0)) ) - (ja :group! (-> self draw art-group data 3) :num! (identity f30-0)) + (ja :group! sew-tri-blade-idle-ja :num! (identity f30-0)) ) (suspend) ) @@ -988,7 +988,7 @@ This commonly includes things such as: ) :code (behavior () (ja-channel-set! 1) - (ja :group! (-> self draw art-group data 2) :num! min) + (ja :group! sew-light-switch-idle-ja :num! min) (transform-post) (sleep-code) ) @@ -1013,7 +1013,7 @@ This commonly includes things such as: (sound-play "sew-light-switc") ) :code (behavior () - (ja-no-eval :group! (-> self draw art-group data 2) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! sew-light-switch-idle-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (transform-post) (suspend) diff --git a/test/decompiler/reference/jak2/levels/stadium/skate/skatea-obs_REF.gc b/test/decompiler/reference/jak2/levels/stadium/skate/skatea-obs_REF.gc index a0267b2fa17..401f8156b43 100644 --- a/test/decompiler/reference/jak2/levels/stadium/skate/skatea-obs_REF.gc +++ b/test/decompiler/reference/jak2/levels/stadium/skate/skatea-obs_REF.gc @@ -1828,7 +1828,7 @@ This commonly includes things such as: :virtual #t :code (behavior () (sound-play "dig-air-lifter") - (let ((s5-1 (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 3))) + (let ((s5-1 (vector<-cspace! (new 'stack-no-clear 'vector) (joint-node-index skatea-jump-pad-lod0-jg main))) (gp-1 (get-process *default-dead-pool* part-tracker #x4000)) ) (when gp-1 diff --git a/test/decompiler/reference/jak2/levels/stadium/stadium-obs_REF.gc b/test/decompiler/reference/jak2/levels/stadium/stadium-obs_REF.gc index 3f5969620e1..37f6dedcca1 100644 --- a/test/decompiler/reference/jak2/levels/stadium/stadium-obs_REF.gc +++ b/test/decompiler/reference/jak2/levels/stadium/stadium-obs_REF.gc @@ -211,7 +211,7 @@ This commonly includes things such as: :virtual #t :code (behavior () (until #f - (ja-no-eval :group! (-> self draw art-group data 2) :num! (seek! max 0.5) :frame-num 0.0) + (ja-no-eval :group! gar-curtain-idle-ja :num! (seek! max 0.5) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek! max 0.5)) @@ -2319,16 +2319,16 @@ This commonly includes things such as: :virtual #t :code (behavior () (ja-channel-push! 2 (seconds 0.2)) - (ja-no-eval :group! (-> self draw art-group data 25) :num! (loop!) :frame-num 0.0) + (ja-no-eval :group! youngsamos-highres-walk0-ja :num! (loop!) :frame-num 0.0) (let ((a0-2 (-> self skel root-channel 1))) (let ((f0-2 0.0)) (set! (-> a0-2 frame-interp 1) f0-2) (set! (-> a0-2 frame-interp 0) f0-2) ) - (set! (-> a0-2 frame-group) (the-as art-joint-anim (-> self draw art-group data 26))) + (set! (-> a0-2 frame-group) (the-as art-joint-anim youngsamos-highres-walk1-ja)) (set! (-> a0-2 param 0) 0.0) (set! (-> a0-2 frame-num) (-> self skel root-channel 0 frame-num)) - (joint-control-channel-group! a0-2 (the-as art-joint-anim (-> self draw art-group data 26)) num-func-chan) + (joint-control-channel-group! a0-2 (the-as art-joint-anim youngsamos-highres-walk1-ja) num-func-chan) ) (until #f (suspend) diff --git a/test/decompiler/reference/jak2/levels/strip/chaincrate_REF.gc b/test/decompiler/reference/jak2/levels/strip/chaincrate_REF.gc index 7f32563d410..d6879d49315 100644 --- a/test/decompiler/reference/jak2/levels/strip/chaincrate_REF.gc +++ b/test/decompiler/reference/jak2/levels/strip/chaincrate_REF.gc @@ -259,7 +259,7 @@ (new 'process 'ambient-sound (static-sound-spec "crate-loop" :fo-max 100) (-> self root trans)) ) (ja-channel-push! 1 0) - (ja :group! (-> self draw art-group data 2) :num! min) + (ja :group! strip-chain-crate-idle-ja :num! min) (transform-post) (logclear! (-> self mask) (process-mask actor-pause)) (strip-chain-crate-slave-method-22 self) diff --git a/test/decompiler/reference/jak2/levels/strip/strip-drop_REF.gc b/test/decompiler/reference/jak2/levels/strip/strip-drop_REF.gc index 5e964f663e5..0cbffdc0f7b 100644 --- a/test/decompiler/reference/jak2/levels/strip/strip-drop_REF.gc +++ b/test/decompiler/reference/jak2/levels/strip/strip-drop_REF.gc @@ -273,7 +273,7 @@ (defstate final-position (strip-game-crate) :virtual #t :enter (behavior () - (ja :group! (-> self draw art-group data 3) :num! min) + (ja :group! strip-game-crate-final-ja :num! min) (ja-post) ) :code sleep-code @@ -443,7 +443,7 @@ (quaternion-rotate-y! (-> self root quat) (-> self init-quat) f0-5) ) (ja-post) - (let ((a1-2 (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 4)))) + (let ((a1-2 (vector<-cspace! (new 'stack-no-clear 'vector) (joint-node-index crane-lod0-jg gamecrate)))) (strip-game-crate-method-22 (-> self crate 0) a1-2 (-> self root quat)) ) ) @@ -457,7 +457,7 @@ (quaternion-copy! (-> self root quat) (-> self final-quat)) (when (-> self crate) (send-event (ppointer->process (-> self crate)) 'go-final) - (let ((a1-3 (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 4)))) + (let ((a1-3 (vector<-cspace! (new 'stack-no-clear 'vector) (joint-node-index crane-lod0-jg gamecrate)))) (strip-game-crate-method-22 (-> self crate 0) a1-3 (-> self root quat)) ) ) @@ -531,7 +531,7 @@ This commonly includes things such as: :virtual #t :code (behavior () (ja-channel-set! 1) - (ja :group! (-> self draw art-group data 3)) + (ja :group! cranecrate-idle-ja) (dotimes (gp-0 2) (transform-post) (suspend) diff --git a/test/decompiler/reference/jak2/levels/strip/strip-obs_REF.gc b/test/decompiler/reference/jak2/levels/strip/strip-obs_REF.gc index ae85d29cda3..bfffc3cd25b 100644 --- a/test/decompiler/reference/jak2/levels/strip/strip-obs_REF.gc +++ b/test/decompiler/reference/jak2/levels/strip/strip-obs_REF.gc @@ -260,13 +260,16 @@ This commonly includes things such as: (f0-0 (ja-aframe-num 0)) ) (cond - ((and (= gp-0 (-> self draw art-group data 3)) (>= f0-0 47.0) (>= 67.0 f0-0)) - (spawn (-> self part) (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 9))) + ((and (= gp-0 fencespikes-idle-ja) (>= f0-0 47.0) (>= 67.0 f0-0)) + (spawn + (-> self part) + (vector<-cspace! (new 'stack-no-clear 'vector) (joint-node-index fencespikes-lod0-jg head)) + ) ) - ((and (= gp-0 (-> self draw art-group data 3)) (>= f0-0 42.0) (>= 65.0 f0-0)) + ((and (= gp-0 fencespikes-idle-ja) (>= f0-0 42.0) (>= 65.0 f0-0)) (seek! (-> self spin) 393216.0 32768.0) ) - ((and (= gp-0 (-> self draw art-group data 3)) (>= f0-0 66.0) (>= 78.0 f0-0)) + ((and (= gp-0 fencespikes-idle-ja) (>= f0-0 66.0) (>= 78.0 f0-0)) (seek! (-> self spin) 0.0 16384.0) ) ) @@ -407,7 +410,10 @@ This commonly includes things such as: (t9-0) ) ) - (update-trans! (-> self sound) (vector<-cspace! (new 'static 'vector) (-> self node-list data 4))) + (update-trans! + (-> self sound) + (vector<-cspace! (new 'static 'vector) (joint-node-index pitspikes-lod0-jg rotatnode)) + ) (update! (-> self sound)) ) :post (behavior () @@ -416,7 +422,7 @@ This commonly includes things such as: ((the-as (function none) t9-0)) ) ) - (let ((gp-0 (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 3)))) + (let ((gp-0 (vector<-cspace! (new 'stack-no-clear 'vector) (joint-node-index pitspikes-lod0-jg main)))) (let ((f0-0 (quaternion-y-angle (-> self root quat)))) (set! (-> *pitspikes-rotate-pos* quad) (-> gp-0 quad)) (set! (-> *pitspikes-rotate-pos* w) f0-0) @@ -525,7 +531,10 @@ This commonly includes things such as: (t9-0) ) ) - (update-trans! (-> self sound) (vector<-cspace! (new 'static 'vector) (-> self node-list data 3))) + (update-trans! + (-> self sound) + (vector<-cspace! (new 'static 'vector) (joint-node-index curtainsaw-lod0-jg main)) + ) (update! (-> self sound)) ) :post (behavior () @@ -539,7 +548,7 @@ This commonly includes things such as: (set! (-> gp-0 y) 0.0) (set! (-> gp-0 z) 0.0) (set! (-> gp-0 w) 1.0) - (let ((s5-0 (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 3)))) + (let ((s5-0 (vector<-cspace! (new 'stack-no-clear 'vector) (joint-node-index curtainsaw-lod0-jg main)))) (vector-orient-by-quat! gp-0 gp-0 (-> self root quat)) (vector+! s5-0 s5-0 gp-0) (spawn (-> self part) s5-0) @@ -1806,7 +1815,7 @@ This commonly includes things such as: (update! (-> self sound)) (update-trans! (-> self plat-sound) - (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 7)) + (vector<-cspace! (new 'stack-no-clear 'vector) (joint-node-index drill-plat-lod0-jg plat)) ) (update! (-> self plat-sound)) ) diff --git a/test/decompiler/reference/jak2/levels/strip/strip-rescue_REF.gc b/test/decompiler/reference/jak2/levels/strip/strip-rescue_REF.gc index f09e1add293..758a89f1f74 100644 --- a/test/decompiler/reference/jak2/levels/strip/strip-rescue_REF.gc +++ b/test/decompiler/reference/jak2/levels/strip/strip-rescue_REF.gc @@ -52,7 +52,7 @@ (defstate opened (cntrlrm-door) :virtual #t :code (behavior () - (ja :group! (-> self draw art-group data 3)) + (ja :group! cntrlrm-door-opened-ja) (dotimes (gp-0 2) (transform-post) (suspend) diff --git a/test/decompiler/reference/jak2/levels/tomb/target-indax_REF.gc b/test/decompiler/reference/jak2/levels/tomb/target-indax_REF.gc index 1677029a610..6b948dfbe44 100644 --- a/test/decompiler/reference/jak2/levels/tomb/target-indax_REF.gc +++ b/test/decompiler/reference/jak2/levels/tomb/target-indax_REF.gc @@ -512,7 +512,7 @@ :code (behavior () (let ((v1-2 (ja-group))) (cond - ((and v1-2 (= v1-2 (-> self draw art-group data 421))) + ((and v1-2 (= v1-2 jakb-darkjak-attack-ice-end-ja)) (ja-no-eval :group! (-> self draw art-group data 422) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) @@ -531,7 +531,7 @@ (ja-channel-push! 1 (seconds 0.05)) ) ((let ((v1-62 (ja-group))) - (and (and v1-62 (= v1-62 (-> self draw art-group data 417))) + (and (and v1-62 (= v1-62 jakb-darkjak-bomb-loop-ja)) (< (-> self skel root-channel 2 frame-interp (-> self skel active-frame-interp)) 0.5) ) ) @@ -548,7 +548,7 @@ ) ) (until #f - (ja-no-eval :group! (-> self draw art-group data 415) :num! (seek! max 1.5) :frame-num 0.0) + (ja-no-eval :group! jakb-darkjak-get-off-end-ja :num! (seek! max 1.5) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek! max 1.5)) @@ -626,13 +626,13 @@ ) (let ((v1-3 (ja-group))) (cond - ((and v1-3 (or (= v1-3 (-> self draw art-group data 416)) (= v1-3 (-> self draw art-group data 417)))) + ((and v1-3 (or (= v1-3 jakb-darkjak-bomb-ja) (= v1-3 jakb-darkjak-bomb-loop-ja))) (set! f26-0 (ja-frame-num 0)) ) ((let ((v1-9 (ja-group))) - (and (or (and v1-9 (= v1-9 (-> self draw art-group data 419))) + (and (or (and v1-9 (= v1-9 jakb-darkjak-attack-ice-loop-ja)) (let ((v1-15 (ja-group))) - (and (and v1-15 (= v1-15 (-> self draw art-group data 418))) (< 15.0 (ja-aframe-num 0))) + (and (and v1-15 (= v1-15 jakb-darkjak-bomb-land-ja)) (< 15.0 (ja-aframe-num 0))) ) ) (< 12288.0 (-> self control ctrl-xz-vel)) @@ -651,7 +651,7 @@ ) ) ) - (ja-no-eval :group! (-> self draw art-group data 417) :num! (identity f26-0) :dist 13107.2) + (ja-no-eval :group! jakb-darkjak-bomb-loop-ja :num! (identity f26-0) :dist 13107.2) (ja-no-eval :chan 1 :group! (-> self draw art-group data 423) :num! (identity f26-0) :dist 12697.6) (let ((a0-25 (-> self skel root-channel 2))) (let ((f0-12 (- 1.0 f30-0))) @@ -659,10 +659,10 @@ (set! (-> a0-25 frame-interp 0) f0-12) ) (set! (-> a0-25 dist) 5939.2) - (set! (-> a0-25 frame-group) (the-as art-joint-anim (-> self draw art-group data 416))) + (set! (-> a0-25 frame-group) (the-as art-joint-anim jakb-darkjak-bomb-ja)) (set! (-> a0-25 param 0) 1.0) (set! (-> a0-25 frame-num) f26-0) - (joint-control-channel-group! a0-25 (the-as art-joint-anim (-> self draw art-group data 416)) num-func-loop!) + (joint-control-channel-group! a0-25 (the-as art-joint-anim jakb-darkjak-bomb-ja) num-func-loop!) ) (until #f (suspend) @@ -754,7 +754,7 @@ (let ((a1-0 75)) (let ((v1-2 (ja-group))) (cond - ((and v1-2 (or (= v1-2 (-> self draw art-group data 418)) (= v1-2 (-> self draw art-group data 419)))) + ((and v1-2 (or (= v1-2 jakb-darkjak-bomb-land-ja) (= v1-2 jakb-darkjak-attack-ice-loop-ja))) ) (else (let ((v1-8 (ja-group))) @@ -773,7 +773,7 @@ ) (ja-channel-push! 1 (the-as time-frame a1-0)) ) - (ja-no-eval :group! (-> self draw art-group data 419) :num! (loop!) :frame-num 0.0) + (ja-no-eval :group! jakb-darkjak-attack-ice-loop-ja :num! (loop!) :frame-num 0.0) (until #f (seek! (-> self control unknown-float35) 0.0 (* 10.0 (seconds-per-frame))) (suspend) @@ -827,7 +827,7 @@ ) :code (behavior ((arg0 float) (arg1 float) (arg2 surface)) (ja-channel-push! 2 (seconds 0.02)) - (ja :group! (-> self draw art-group data 418) :num! min) + (ja :group! jakb-darkjak-bomb-land-ja :num! min) (ja :chan 1 :group! (-> self draw art-group data 424) :num! (chan 0)) (suspend) (until (ja-done? 0) @@ -873,7 +873,7 @@ ) (let ((v1-10 (ja-group))) (cond - ((and v1-10 (or (= v1-10 (-> self draw art-group data 418)) (= v1-10 (-> self draw art-group data 419)))) + ((and v1-10 (or (= v1-10 jakb-darkjak-bomb-land-ja) (= v1-10 jakb-darkjak-attack-ice-loop-ja))) ) (else (set! (-> self control unknown-float35) 0.0) @@ -890,14 +890,14 @@ (sound-play "jump-double") (let ((v1-3 (ja-group))) (cond - ((and (and v1-3 (= v1-3 (-> self draw art-group data 418))) (< 0.6 (-> self control unknown-float35))) + ((and (and v1-3 (= v1-3 jakb-darkjak-bomb-land-ja)) (< 0.6 (-> self control unknown-float35))) (ja-channel-push! 2 (seconds 0.04)) - (ja-no-eval :group! (-> self draw art-group data 418) :num! (seek!) :frame-num (ja-aframe 1.0 0)) + (ja-no-eval :group! jakb-darkjak-bomb-land-ja :num! (seek!) :frame-num (ja-aframe 1.0 0)) (ja :chan 1 :group! (-> self draw art-group data 424) :num! (chan 0)) ) (else (ja-channel-push! 2 (seconds 0.05)) - (ja-no-eval :group! (-> self draw art-group data 418) :num! (seek!) :frame-num (ja-aframe 5.0 0)) + (ja-no-eval :group! jakb-darkjak-bomb-land-ja :num! (seek!) :frame-num (ja-aframe 5.0 0)) (ja :chan 1 :group! (-> self draw art-group data 424) :num! (chan 0)) ) ) @@ -973,7 +973,7 @@ ) :code (behavior ((arg0 symbol)) (ja-channel-push! 1 (seconds 0.05)) - (ja-no-eval :group! (-> self draw art-group data 420) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! jakb-darkjak-attack-ice-loop2-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -1027,7 +1027,7 @@ (target-indax-exit) ) :code (behavior () - (let ((gp-0 (-> self draw art-group data 421))) + (let ((gp-0 jakb-darkjak-attack-ice-end-ja)) (quaternion-rotate-y! (-> self control quat-for-control) (-> self control quat-for-control) -1365.3334) (ja-channel-push! 1 (seconds 0.05)) (ja-no-eval :group! gp-0 :num! (seek! max (-> self control current-surface align-speed)) :frame-num 0.0) diff --git a/test/decompiler/reference/jak2/levels/tomb/tomb-obs_REF.gc b/test/decompiler/reference/jak2/levels/tomb/tomb-obs_REF.gc index c2b0ad15f6e..a1e28cfb998 100644 --- a/test/decompiler/reference/jak2/levels/tomb/tomb-obs_REF.gc +++ b/test/decompiler/reference/jak2/levels/tomb/tomb-obs_REF.gc @@ -525,7 +525,7 @@ This commonly includes things such as: :virtual #t :enter (behavior () (set! (-> self root trans y) (-> self initial-y)) - (ja :group! (-> self draw art-group data 4) :num! max) + (ja :group! tomb-stair-block-sink-ja :num! max) (transform-post) ) :trans (behavior () @@ -586,7 +586,7 @@ This commonly includes things such as: (set-setting! 'entity-name "camera-171" 0.0 0) (set! (-> self camera-state) 1) (ja-channel-push! 1 (seconds 2)) - (ja :group! (-> self draw art-group data 3) :num! min) + (ja :group! tomb-stair-block-straight-ja :num! min) (set-time! (-> self state-time)) (until (time-elapsed? (-> self state-time) (seconds 2)) (lift-pool 0) @@ -602,7 +602,7 @@ This commonly includes things such as: (drop-pool 1) (suspend) ) - (ja-no-eval :group! (-> self draw art-group data 4) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! tomb-stair-block-sink-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (lift-pool 1) (drop-pool 0) @@ -704,7 +704,7 @@ This commonly includes things such as: (set! (-> self camera-state) 1) (ja-channel-push! 1 (seconds 2)) (until #f - (ja-no-eval :group! (-> self draw art-group data 2) :num! (seek! max 0.125) :frame-num 0.0) + (ja-no-eval :group! tomb-stair-block-idle-ja :num! (seek! max 0.125) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek! max 0.125)) @@ -739,7 +739,7 @@ This commonly includes things such as: :enter (behavior () (local-vars (sv-16 res-tag)) (ja-channel-push! 1 (seconds 2)) - (ja :group! (-> self draw art-group data 3) :num! min) + (ja :group! tomb-stair-block-straight-ja :num! min) (set! (-> self rise-sound) (add-process *gui-control* self (gui-channel jak) (gui-action queue) "tombplta" -99.0 0) ) @@ -1152,7 +1152,7 @@ This commonly includes things such as: ) :code (behavior () (logior! (-> self elevator-status) (elevator-status waiting-to-ascend)) - (ja-no-eval :group! (-> self draw art-group data 4) :num! (loop! 0.0)) + (ja-no-eval :group! tomb-elevator-run-ja :num! (loop! 0.0)) (until #f (when (= (-> self path-pos) 1.0) (logclear! (-> self elevator-status) (elevator-status waiting-to-ascend)) @@ -1639,7 +1639,7 @@ This commonly includes things such as: (process-entity-status! self (entity-perm-status subtask-complete) #t) (logclear! (-> self draw status) (draw-control-status no-draw)) (ja-channel-set! 1) - (ja-no-eval :group! (-> self draw art-group data 2) :num! zero) + (ja-no-eval :group! tomb-plat-return-idle-ja :num! zero) (set! (-> self path-pos) 0.0) (set-vector! (-> self root scale) 0.0 0.0 0.0 0.0) ) diff --git a/test/decompiler/reference/jak2/levels/tomb/tomb-water_REF.gc b/test/decompiler/reference/jak2/levels/tomb/tomb-water_REF.gc index 7015651eece..969c9e5fc98 100644 --- a/test/decompiler/reference/jak2/levels/tomb/tomb-water_REF.gc +++ b/test/decompiler/reference/jak2/levels/tomb/tomb-water_REF.gc @@ -119,7 +119,7 @@ (suspend) ) ) - (ja-no-eval :group! (-> self draw art-group data 3) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! tomb-door-open-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (-> self root quat) (transform-post) @@ -311,7 +311,7 @@ This commonly includes things such as: ) ) :code (behavior () - (ja-no-eval :group! (-> self draw art-group data 3) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! tomb-beetle-door-open-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (transform-post) (suspend) @@ -1521,7 +1521,7 @@ This commonly includes things such as: ) :trans plat-trans :code (behavior () - (ja-no-eval :group! (-> self draw art-group data 3) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! tomb-plat-simon-idle-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -1699,11 +1699,11 @@ This commonly includes things such as: :code (behavior ((arg0 symbol)) (cond (arg0 - (ja :group! (-> self draw art-group data 3) :num! max) + (ja :group! tomb-simon-button-open-ja :num! max) ) (else (sound-play "simon-btn-open") - (ja-no-eval :group! (-> self draw art-group data 3) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! tomb-simon-button-open-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -1745,7 +1745,7 @@ This commonly includes things such as: ) ) :enter (behavior () - (ja-no-eval :group! (-> self draw art-group data 4) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! tomb-simon-button-press-ja :num! (seek!) :frame-num 0.0) (transform-post) ) :code sleep-code @@ -1767,12 +1767,12 @@ This commonly includes things such as: ) (cond (arg0 - (ja :group! (-> self draw art-group data 4) :num! max) + (ja :group! tomb-simon-button-press-ja :num! max) (transform-post) ) (else (sound-play "simon-btn-press") - (ja-no-eval :group! (-> self draw art-group data 4) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! tomb-simon-button-press-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (transform-post) (suspend) @@ -1793,7 +1793,7 @@ This commonly includes things such as: (defstate unpress (tomb-simon-button) :virtual #t :code (behavior () - (ja-no-eval :group! (-> self draw art-group data 5) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! tomb-simon-button-unpress-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (transform-post) (suspend) @@ -2172,7 +2172,7 @@ This commonly includes things such as: (s5-0 540) (f30-0 1.0) ) - (ja-no-eval :group! (-> self draw art-group data 4) :num! (loop! f30-0) :frame-num 0.0) + (ja-no-eval :group! tomb-vibe-vibrate-ja :num! (loop! f30-0) :frame-num 0.0) (until (time-elapsed? gp-2 s5-0) (suspend) (ja :num! (loop! f30-0)) @@ -2196,7 +2196,7 @@ This commonly includes things such as: :code (behavior ((arg0 symbol)) (cond (arg0 - (ja :group! (-> self draw art-group data 5) :num! max) + (ja :group! tomb-vibe-fall-ja :num! max) (transform-post) ) (else @@ -2230,7 +2230,7 @@ This commonly includes things such as: (-> gp-1 ppointer) ) ) - (ja-no-eval :group! (-> self draw art-group data 5) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! tomb-vibe-fall-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (transform-post) (suspend) diff --git a/test/decompiler/reference/jak2/levels/tomb/widow-baron_REF.gc b/test/decompiler/reference/jak2/levels/tomb/widow-baron_REF.gc index 2a7683947f4..83cbb3b714d 100644 --- a/test/decompiler/reference/jak2/levels/tomb/widow-baron_REF.gc +++ b/test/decompiler/reference/jak2/levels/tomb/widow-baron_REF.gc @@ -624,8 +624,8 @@ (case message (('frame) (let ((v1-3 (ja-group))) - (when (not (and v1-3 (= v1-3 (-> self draw art-group data 4)))) - (ja :group! (-> self draw art-group data 4) :num! min) + (when (not (and v1-3 (= v1-3 baron-pod-grab-success-ja))) + (ja :group! baron-pod-grab-success-ja :num! min) (set! (-> self draw bounds w) 81920.0) ) ) @@ -1181,7 +1181,7 @@ This commonly includes things such as: (set! sv-240 (the-as symbol #f)) (set! sv-272 *launch-matrix*) (set! sv-256 (-> sv-272 trans)) - (let ((v1-16 (-> (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 11)) quad))) + (let ((v1-16 (-> (vector<-cspace! (new 'stack-no-clear 'vector) (joint-node-index widow-lod0-jg Lwrist)) quad))) (set! (-> sv-256 quad) v1-16) ) ((the-as (function object object object object object object object object none) s5-0) @@ -1262,7 +1262,7 @@ This commonly includes things such as: ) (when (and (not (-> self flying)) (< (-> self bomb-hits) 4)) (let* ((s4-2 (-> arg3 param 0)) - (v0-9 (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 3))) + (v0-9 (vector<-cspace! (new 'stack-no-clear 'vector) (joint-node-index widow-lod0-jg main))) (s5-2 (-> self node-list data 3 bone transform)) (s4-3 (vector-normalize! (vector-! (new 'stack-no-clear 'vector) (the-as vector s4-2) v0-9) 1.0)) (f30-0 (vector-dot s4-3 (vector-normalize-copy! (new 'stack-no-clear 'vector) (-> s5-2 vector 2) 1.0))) @@ -1274,23 +1274,23 @@ This commonly includes things such as: (set! (-> self drill-speed target) 0.0) (cond ((< (cos 5461.3335) f30-0) - (ja :group! (-> self draw art-group data 25) :num! min) + (ja :group! widow-hit-front-ja :num! min) (setup-masks (-> self draw) 2 128) ) ((and (< (cos 8192.0) f30-0) (< 0.0 f28-0)) - (ja :group! (-> self draw art-group data 26) :num! min) + (ja :group! widow-hit-gun-left-ja :num! min) (setup-masks (-> self draw) 4 256) ) ((< (cos 8192.0) f30-0) - (ja :group! (-> self draw art-group data 27) :num! min) + (ja :group! widow-hit-gun-right-ja :num! min) (setup-masks (-> self draw) 8 512) ) ((< 0.0 f28-0) - (ja :group! (-> self draw art-group data 23) :num! min) + (ja :group! widow-hit-pod-left-ja :num! min) (setup-masks (-> self draw) 16 1024) ) (else - (ja :group! (-> self draw art-group data 24) :num! min) + (ja :group! widow-hit-pod-right-ja :num! min) (setup-masks (-> self draw) 32 2048) ) ) @@ -1305,7 +1305,7 @@ This commonly includes things such as: ((begin (ja-channel-push! 1 (seconds 0.03)) (let* ((gp-3 (-> arg3 param 0)) - (v0-28 (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 3))) + (v0-28 (vector<-cspace! (new 'stack-no-clear 'vector) (joint-node-index widow-lod0-jg main))) (s5-8 (-> self node-list data 3 bone transform)) (f0-20 (vector-dot (vector-normalize! (vector-! (new 'stack-no-clear 'vector) (the-as vector gp-3) v0-28) 1.0) @@ -1316,11 +1316,11 @@ This commonly includes things such as: (< 0.0 f0-20) ) ) - (ja :group! (-> self draw art-group data 37) :num! min) + (ja :group! widow-flight-hit-left-ja :num! min) (setup-masks (-> self draw) 16 1024) ) (else - (ja :group! (-> self draw art-group data 36) :num! min) + (ja :group! widow-flight-hit-right-ja :num! min) (setup-masks (-> self draw) 32 2048) ) ) diff --git a/test/decompiler/reference/jak2/levels/tomb/widow-extras_REF.gc b/test/decompiler/reference/jak2/levels/tomb/widow-extras_REF.gc index 0d28047476d..4b38e6d3d58 100644 --- a/test/decompiler/reference/jak2/levels/tomb/widow-extras_REF.gc +++ b/test/decompiler/reference/jak2/levels/tomb/widow-extras_REF.gc @@ -100,31 +100,31 @@ (let ((gp-0 (new 'stack-no-clear 'vector))) (case (-> self which-look) ((1) - (ja :group! (-> self draw art-group data 3) :num! min) + (ja :group! tomb-boss-catwalk-a-break-ja :num! min) (set-vector! gp-0 188416.0 32768.0 -81920.0 1.0) ) ((2) - (ja :group! (-> self draw art-group data 8) :num! min) + (ja :group! tomb-boss-catwalk-b-break-ja :num! min) (set-vector! gp-0 139264.0 32768.0 -147456.0 1.0) ) ((3) - (ja :group! (-> self draw art-group data 13) :num! min) + (ja :group! tomb-boss-catwalk-c-break-ja :num! min) (set-vector! gp-0 81920.0 32768.0 -188416.0 1.0) ) ((4) - (ja :group! (-> self draw art-group data 18) :num! min) + (ja :group! tomb-boss-catwalk-d-break-ja :num! min) (set-vector! gp-0 0.0 32768.0 -200704.0 1.0) ) ((5) - (ja :group! (-> self draw art-group data 23) :num! min) + (ja :group! tomb-boss-catwalk-e-break-ja :num! min) (set-vector! gp-0 -81920.0 32768.0 -188416.0 1.0) ) ((6) - (ja :group! (-> self draw art-group data 28) :num! min) + (ja :group! tomb-boss-catwalk-f-break-ja :num! min) (set-vector! gp-0 -139264.0 32768.0 -147456.0 1.0) ) ((7) - (ja :group! (-> self draw art-group data 33) :num! min) + (ja :group! tomb-boss-catwalk-g-break-ja :num! min) (set-vector! gp-0 -188416.0 32768.0 -81920.0 1.0) ) ) @@ -840,7 +840,7 @@ This commonly includes things such as: (+! (-> self x-rotate) 1092.2667) (+! (-> self y-rotate) 728.1778) (widow-bomb-method-34 self) - (spawn-with-cspace (-> self part) (-> self node-list data 3)) + (spawn-with-cspace (-> self part) (joint-node-index widow-bomb-lod0-jg main)) (cond ((time-elapsed? (-> self state-time) (seconds 4)) (go-virtual explode) @@ -926,7 +926,7 @@ This commonly includes things such as: ) ) ) - (spawn-with-cspace (-> self part) (-> self node-list data 3)) + (spawn-with-cspace (-> self part) (joint-node-index widow-bomb-lod0-jg main)) ) ) (ja :num! (loop!)) @@ -1228,7 +1228,7 @@ This commonly includes things such as: ) ) ) - (spawn-with-cspace (-> self trail-part) (-> self node-list data 3)) + (spawn-with-cspace (-> self trail-part) (joint-node-index widow-bomb-lod0-jg main)) (when (zero? (-> self which-trajectory)) (update-from-cspace (-> self impact)) (when (time-elapsed? (-> self state-time) (seconds 0.05)) @@ -1421,8 +1421,8 @@ This commonly includes things such as: (case message (('frame) (let ((v1-3 (ja-group))) - (when (not (and v1-3 (= v1-3 (-> self draw art-group data 3)))) - (ja :group! (-> self draw art-group data 3) :num! min) + (when (not (and v1-3 (= v1-3 heart-mar-grab-success-ja))) + (ja :group! heart-mar-grab-success-ja :num! min) (set! (-> self draw bounds w) 81920.0) (setup-masks (-> self draw) 2 0) ) @@ -1594,7 +1594,7 @@ This commonly includes things such as: :virtual #t :enter (behavior () (set! (-> self draw bounds w) 36864.0) - (ja :group! (-> self draw art-group data 4) :num! max) + (ja :group! tomb-boss-pillar-break-ja :num! max) (tomb-boss-pillar-shrink-collision) (ja-post) ) @@ -1610,18 +1610,18 @@ This commonly includes things such as: ) :trans (behavior () (if (not (time-elapsed? (-> self state-time) (seconds 1))) - (spawn-with-cspace (-> self explode-part) (-> self node-list data 6)) + (spawn-with-cspace (-> self explode-part) (joint-node-index tomb-boss-pillar-lod0-jg a)) ) (let ((v1-9 (ja-group))) (cond - ((and v1-9 (= v1-9 (-> self draw art-group data 4))) + ((and v1-9 (= v1-9 tomb-boss-pillar-break-ja)) (ja :num! (seek!)) (if (ja-done? 0) (go-virtual broken) ) ) (else - (ja :group! (-> self draw art-group data 4) :num! min) + (ja :group! tomb-boss-pillar-break-ja :num! min) (activate! *camera-smush-control* 819.2 37 210 1.0 0.995 (-> self clock)) ) ) @@ -1819,7 +1819,7 @@ This commonly includes things such as: :virtual #t :enter (behavior () (set! (-> self draw bounds w) 36864.0) - (ja :group! (-> self draw art-group data 4) :num! max) + (ja :group! tomb-boss-firepot-break-ja :num! max) (tomb-boss-firepot-shrink-collision) (ja-post) ) @@ -1833,7 +1833,7 @@ This commonly includes things such as: (process-entity-status! self (entity-perm-status subtask-complete) #t) (tomb-boss-firepot-shrink-collision) (set! (-> self draw bounds w) 245760.0) - (ja :group! (-> self draw art-group data 4) :num! min) + (ja :group! tomb-boss-firepot-break-ja :num! min) (let ((gp-1 (get-process *default-dead-pool* part-tracker #x4000))) (when gp-1 (let ((t9-4 (method-of-type part-tracker activate))) diff --git a/test/decompiler/reference/jak2/levels/under/sig5-course_REF.gc b/test/decompiler/reference/jak2/levels/under/sig5-course_REF.gc index 45b0bf81da6..a78b66fe14e 100644 --- a/test/decompiler/reference/jak2/levels/under/sig5-course_REF.gc +++ b/test/decompiler/reference/jak2/levels/under/sig5-course_REF.gc @@ -429,7 +429,7 @@ (bot-method-223 self #f) (let ((f30-2 8.0)) (ja-channel-push! 1 (seconds 0.1)) - (let ((gp-1 (-> self draw art-group data 12)) + (let ((gp-1 sig-blast-forward-ja) (f30-3 (ja-aframe f30-2 0)) ) (ja-no-eval :group! gp-1 :num! (seek! f30-3) :frame-num 0.0) @@ -451,7 +451,7 @@ (logclear! (-> self bot-flags) (bot-flags bf18)) (let ((gp-3 (+ (current-time) (get-rand-int-range self 30 600)))) (ja-channel-push! 1 (seconds 0.5)) - (ja-no-eval :group! (-> self draw art-group data 7) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! sig-ready0-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (if (>= (current-time) gp-3) (goto cfg-27) diff --git a/test/decompiler/reference/jak2/levels/under/under-obs_REF.gc b/test/decompiler/reference/jak2/levels/under/under-obs_REF.gc index 6f56de1e6ef..22ed37b4c07 100644 --- a/test/decompiler/reference/jak2/levels/under/under-obs_REF.gc +++ b/test/decompiler/reference/jak2/levels/under/under-obs_REF.gc @@ -844,12 +844,12 @@ This commonly includes things such as: (cond ((and (-> self entity) (logtest? (-> self entity extra perm status) (entity-perm-status subtask-complete))) (set! (-> self open-anim-frame) 17.0) - (ja-no-eval :group! (-> self draw art-group data 2) :num! (identity (-> self open-anim-frame))) + (ja-no-eval :group! under-buoy-base-idle-ja :num! (identity (-> self open-anim-frame))) (go-virtual opened) ) (else (set! (-> self open-anim-frame) 0.0) - (ja-no-eval :group! (-> self draw art-group data 2) :num! (identity (-> self open-anim-frame))) + (ja-no-eval :group! under-buoy-base-idle-ja :num! (identity (-> self open-anim-frame))) (go-virtual idle) ) ) diff --git a/test/decompiler/reference/jak2/levels/under/under-sig-obs_REF.gc b/test/decompiler/reference/jak2/levels/under/under-sig-obs_REF.gc index 8a21b3e0771..b59a315a2e8 100644 --- a/test/decompiler/reference/jak2/levels/under/under-sig-obs_REF.gc +++ b/test/decompiler/reference/jak2/levels/under/under-sig-obs_REF.gc @@ -828,7 +828,7 @@ This commonly includes things such as: (set! (-> a0-3 prim-core collide-as) (-> v1-2 prim-core collide-as)) ) (ja-channel-push! 1 0) - (ja :group! (-> self draw art-group data 3) :num! min) + (ja :group! under-break-bridge-broken-sig-dead-ja :num! min) (transform-post) (sleep-code) ) @@ -977,7 +977,7 @@ This commonly includes things such as: (process-entity-status! self (entity-perm-status subtask-complete) #t) (sound-play "und-block-door") (logior! (-> self skel status) (joint-control-status sync-math)) - (ja-no-eval :group! (-> self draw art-group data 2) :num! (seek! max 0.13) :frame-num 0.0) + (ja-no-eval :group! under-int-door-open-ja :num! (seek! max 0.13) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek! max 0.13)) diff --git a/test/decompiler/reference/jak2/levels/under/underb-master_REF.gc b/test/decompiler/reference/jak2/levels/under/underb-master_REF.gc index deb91a6d386..2d149af40d2 100644 --- a/test/decompiler/reference/jak2/levels/under/underb-master_REF.gc +++ b/test/decompiler/reference/jak2/levels/under/underb-master_REF.gc @@ -57,7 +57,7 @@ ) (ja :num! (loop!)) (ja :chan 1 :num! (chan 0)) - (ja-no-eval :group! (-> self draw art-group data 2) :num! (seek!) :frame-num 0.0) + (ja-no-eval :group! under-warp-idle-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) @@ -132,13 +132,13 @@ ) (set! (-> self interp) 0.5) (ja-channel-push! 2 (seconds 0.3)) - (ja-no-eval :group! (-> self draw art-group data 2) :num! (loop!)) + (ja-no-eval :group! under-warp-idle-ja :num! (loop!)) (let ((gp-2 (-> self skel root-channel 1))) (let ((f0-2 (-> self interp))) (set! (-> gp-2 frame-interp 1) f0-2) (set! (-> gp-2 frame-interp 0) f0-2) ) - (joint-control-channel-group! gp-2 (the-as art-joint-anim (-> self draw art-group data 3)) num-func-identity) + (joint-control-channel-group! gp-2 (the-as art-joint-anim under-warp-none-ja) num-func-identity) (set! (-> gp-2 frame-num) 0.0) ) (logior! (-> self skel status) (joint-control-status blend-shape)) diff --git a/test/offline/framework/orchestration.cpp b/test/offline/framework/orchestration.cpp index a6ac895990c..4aadf274b0f 100644 --- a/test/offline/framework/orchestration.cpp +++ b/test/offline/framework/orchestration.cpp @@ -52,6 +52,7 @@ OfflineTestDecompiler setup_decompiler(const OfflineTestWorkGroup& work, dgo_paths, dc.config->obj_file_name_map_file, std::vector{}, std::vector{}, std::vector{}, *dc.config); dc.db->dts.art_group_info = dc.config->art_group_info_dump; + dc.db->dts.jg_info = dc.config->jg_info_dump; std::unordered_set db_files; for (auto& files_by_name : dc.db->obj_files_by_name) {