mirror of
https://github.com/open-goal/jak-project.git
synced 2024-10-21 07:37:45 -04:00
5f1ed7ab60
* decomp: mostly finish `cam-master` * decomp/scripts: lots of work in cam-states * stash * Merge remote-tracking branch 'water111/master' into decomp/camera-master Updated submodule third-party/googletest * decompiler: Add support for non power of 2 offsets for inline arr access * decomp: mostly finish `cam-states` need to fix a macro issue * blocked: `cam-master` decompiler crash when adding casts * decomp: finish `cam-states-dbg` * decomp: mostly finish `pov-camera` with the exception of joint-related code * decomp: `cam-debug` finished decompiling, no way does this compile yet though * decomp: considerable work done in `cam-layout` * decomp: `cam-layout` almost done! * decomp: `pov-camera` finished, TC tests will fail for now * decomp: working on resolving issues * decomp: cam-layout decompiling * fixing more issues in cam-master...one event handler remains * skip problematic function in `cam-master` for now * gsrc: update res macros * decomp: finish `cam-states` * decomp: giving up on `cam-debug` * tests: allow skipping state handlers in ref tests * decomp: working through cam-layout bugs * decomp: allow for shifting non-integers * decomp: finalize `cam-layout` and `cam-master` * decomp: finalize `cam-states` * cleanup: bi-annual formatting of the casting files * formatting * decomp: start working on beach-obs * blocked: `beach-obs` mostly finished, but handle cast issues and unknown `prebind` func signature * blocked: `villagep-obs` done, `s6` not being referred to as `self` * decomp: finish `citadel-obs` * decomp: finish `darkcave-obs` * blocked: need to allow `hud-h` to decompile properly (#f as static pointer) * decomp: finish `jungle-obs` * decomp: finish `village-obs` * blocked: `misty-obs` handle cast issues * decomp: finish `village2-obs` * decomp: 1 function left in `swamp-obs`, particle related -- maybe we know now? * decomp: finish `swamp-obs` * blocked: `maincave-obs` handle casts * decomp: finish `sunken-obs` * blocked: `rolling-obs` handle casts and hud-parts * decomp: finish `firecanyon-obs` * decomp: finish `ogre-obs` * blocked: `village3-obs` gives up type analysis! * blocked: `snow-obs` has hud-parts and handle casts code * decomp: finish `snow-flutflut-obs` * blocked: `lavatube-obs` has s6-1 issue * blocked: `title-obs` handle cast issues * fixed post merge problems * decomp: finish `jungleb-obs` * blocked: `training-obs` has `s6-1` issue * fix type consistency * scripts: Extend update script to handle the game-text-id enum as well * git: Update git attributes to effectively halve PR burden * fixed `sound-play-by-name` signature * fix particle definitions in firecanyon-obs * fix func signature in racer-states * update ref tests * tests: update current ref tests * tests: add `joint` to ref-tests * tests: add `process-drawable` to ref-tests * updated gsrc * add back manual fix * address most feedback, update source files * get rid of forward declarations in `darkcave-obs` Co-authored-by: ManDude <7569514+ManDude@users.noreply.github.com>
1452 lines
33 KiB
Common Lisp
1452 lines
33 KiB
Common Lisp
;;-*-Lisp-*-
|
|
(in-package goal)
|
|
|
|
;; name: water-anim.gc
|
|
;; name in dgo: water-anim
|
|
;; dgos: GAME, COMMON, L1, WATER-AN
|
|
|
|
;; DECOMP BEGINS
|
|
|
|
(deftype water-anim (water-vol)
|
|
((ppointer-water-anim (pointer water-anim) :offset 24)
|
|
(look int32 :offset-assert 212)
|
|
(play-ambient-sound? symbol :offset-assert 216)
|
|
)
|
|
:heap-base #x70
|
|
:method-count-assert 30
|
|
:size-assert #xdc
|
|
:flag-assert #x1e007000dc
|
|
)
|
|
|
|
|
|
(let
|
|
((v1-1
|
|
(new 'static 'skeleton-group
|
|
:art-group-name "water-anim-sunken-dark-eco"
|
|
:bounds (new 'static 'vector :w 163840.0)
|
|
:version #x6
|
|
)
|
|
)
|
|
)
|
|
(set! (-> v1-1 jgeo) 0)
|
|
(set! (-> v1-1 janim) -1)
|
|
(set! (-> v1-1 mgeo 0) 1)
|
|
(set! (-> v1-1 lod-dist 0) 4095996000.0)
|
|
(set! *water-anim-sunken-dark-eco-qbert-sg* v1-1)
|
|
)
|
|
|
|
(let
|
|
((v1-2
|
|
(new 'static 'skeleton-group
|
|
:art-group-name "water-anim-sunken-dark-eco"
|
|
:bounds (new 'static 'vector :w 90112.0)
|
|
:version #x6
|
|
)
|
|
)
|
|
)
|
|
(set! (-> v1-2 jgeo) 2)
|
|
(set! (-> v1-2 janim) -1)
|
|
(set! (-> v1-2 mgeo 0) 3)
|
|
(set! (-> v1-2 lod-dist 0) 4095996000.0)
|
|
(set! *water-anim-sunken-dark-eco-platform-room-sg* v1-2)
|
|
)
|
|
|
|
(let
|
|
((v1-3
|
|
(new 'static 'skeleton-group
|
|
:art-group-name "water-anim-sunken-dark-eco"
|
|
:bounds (new 'static 'vector :w 86016.0)
|
|
:version #x6
|
|
)
|
|
)
|
|
)
|
|
(set! (-> v1-3 jgeo) 4)
|
|
(set! (-> v1-3 janim) -1)
|
|
(set! (-> v1-3 mgeo 0) 5)
|
|
(set! (-> v1-3 lod-dist 0) 4095996000.0)
|
|
(set! *water-anim-sunken-dark-eco-helix-room-sg* v1-3)
|
|
)
|
|
|
|
(let
|
|
((v1-4
|
|
(new 'static 'skeleton-group
|
|
:art-group-name "water-anim-sunken"
|
|
:bounds
|
|
(new 'static 'vector :x 61440.0 :z -147456.0 :w 286720.0)
|
|
:version #x6
|
|
)
|
|
)
|
|
)
|
|
(set! (-> v1-4 jgeo) 0)
|
|
(set! (-> v1-4 janim) -1)
|
|
(set! (-> v1-4 mgeo 0) 1)
|
|
(set! (-> v1-4 lod-dist 0) 4095996000.0)
|
|
(set! *water-anim-sunken-big-room-sg* v1-4)
|
|
)
|
|
|
|
(let
|
|
((v1-5
|
|
(new 'static 'skeleton-group
|
|
:art-group-name "water-anim-sunken"
|
|
:bounds (new 'static 'vector :w 204800.0)
|
|
:version #x6
|
|
)
|
|
)
|
|
)
|
|
(set! (-> v1-5 jgeo) 2)
|
|
(set! (-> v1-5 janim) -1)
|
|
(set! (-> v1-5 mgeo 0) 3)
|
|
(set! (-> v1-5 lod-dist 0) 4095996000.0)
|
|
(set! *water-anim-sunken-first-room-from-entrance-sg* v1-5)
|
|
)
|
|
|
|
(let
|
|
((v1-6
|
|
(new 'static 'skeleton-group
|
|
:art-group-name "water-anim-sunken"
|
|
:bounds (new 'static 'vector :w 196608.0)
|
|
:version #x6
|
|
)
|
|
)
|
|
)
|
|
(set! (-> v1-6 jgeo) 4)
|
|
(set! (-> v1-6 janim) -1)
|
|
(set! (-> v1-6 mgeo 0) 5)
|
|
(set! (-> v1-6 lod-dist 0) 4095996000.0)
|
|
(set! *water-anim-sunken-qbert-room-sg* v1-6)
|
|
)
|
|
|
|
(let
|
|
((v1-7
|
|
(new 'static 'skeleton-group
|
|
:art-group-name "water-anim-sunken"
|
|
:bounds (new 'static 'vector :w 122880.0)
|
|
:version #x6
|
|
)
|
|
)
|
|
)
|
|
(set! (-> v1-7 jgeo) 6)
|
|
(set! (-> v1-7 janim) -1)
|
|
(set! (-> v1-7 mgeo 0) 7)
|
|
(set! (-> v1-7 lod-dist 0) 4095996000.0)
|
|
(set! *water-anim-sunken-first-right-branch-sg* v1-7)
|
|
)
|
|
|
|
(let
|
|
((v1-8
|
|
(new 'static 'skeleton-group
|
|
:art-group-name "water-anim-sunken"
|
|
:bounds (new 'static 'vector :w 61440.0)
|
|
:version #x6
|
|
)
|
|
)
|
|
)
|
|
(set! (-> v1-8 jgeo) 8)
|
|
(set! (-> v1-8 janim) -1)
|
|
(set! (-> v1-8 mgeo 0) 9)
|
|
(set! (-> v1-8 lod-dist 0) 4095996000.0)
|
|
(set! *water-anim-sunken-circular-with-bullys-sg* v1-8)
|
|
)
|
|
|
|
(let
|
|
((v1-9
|
|
(new 'static 'skeleton-group
|
|
:art-group-name "water-anim-sunken"
|
|
:bounds (new 'static 'vector :w 110592.0)
|
|
:version #x6
|
|
)
|
|
)
|
|
)
|
|
(set! (-> v1-9 jgeo) 10)
|
|
(set! (-> v1-9 janim) -1)
|
|
(set! (-> v1-9 mgeo 0) 11)
|
|
(set! (-> v1-9 lod-dist 0) 4095996000.0)
|
|
(set! *water-anim-sunken-hall-with-one-whirlpool-sg* v1-9)
|
|
)
|
|
|
|
(let
|
|
((v1-10
|
|
(new 'static 'skeleton-group
|
|
:art-group-name "water-anim-sunken"
|
|
:bounds (new 'static 'vector :w 106496.0)
|
|
:version #x6
|
|
)
|
|
)
|
|
)
|
|
(set! (-> v1-10 jgeo) 12)
|
|
(set! (-> v1-10 janim) -1)
|
|
(set! (-> v1-10 mgeo 0) 13)
|
|
(set! (-> v1-10 lod-dist 0) 4095996000.0)
|
|
(set! *water-anim-sunken-hall-with-three-whirlpools-sg* v1-10)
|
|
)
|
|
|
|
(let
|
|
((v1-11
|
|
(new 'static 'skeleton-group
|
|
:art-group-name "water-anim-sunken"
|
|
:bounds (new 'static 'vector :w 102400.0)
|
|
:version #x6
|
|
)
|
|
)
|
|
)
|
|
(set! (-> v1-11 jgeo) 14)
|
|
(set! (-> v1-11 janim) -1)
|
|
(set! (-> v1-11 mgeo 0) 15)
|
|
(set! (-> v1-11 lod-dist 0) 4095996000.0)
|
|
(set! *water-anim-sunken-start-of-helix-slide-sg* v1-11)
|
|
)
|
|
|
|
(let
|
|
((v1-12
|
|
(new 'static 'skeleton-group
|
|
:art-group-name "water-anim-sunken"
|
|
:bounds (new 'static 'vector :w 184320.0)
|
|
:version #x6
|
|
)
|
|
)
|
|
)
|
|
(set! (-> v1-12 jgeo) 16)
|
|
(set! (-> v1-12 janim) -1)
|
|
(set! (-> v1-12 mgeo 0) 17)
|
|
(set! (-> v1-12 lod-dist 0) 4095996000.0)
|
|
(set! *water-anim-sunken-room-above-exit-chamber-sg* v1-12)
|
|
)
|
|
|
|
(let
|
|
((v1-13
|
|
(new 'static 'skeleton-group
|
|
:art-group-name "water-anim-sunken"
|
|
:bounds
|
|
(new 'static 'vector :x 20480.0 :z -12288.0 :w 98304.0)
|
|
:version #x6
|
|
)
|
|
)
|
|
)
|
|
(set! (-> v1-13 jgeo) 18)
|
|
(set! (-> v1-13 janim) -1)
|
|
(set! (-> v1-13 mgeo 0) 19)
|
|
(set! (-> v1-13 lod-dist 0) 4095996000.0)
|
|
(set! *water-anim-sunken-hall-before-big-room-sg* v1-13)
|
|
)
|
|
|
|
(let
|
|
((v1-14
|
|
(new 'static 'skeleton-group
|
|
:art-group-name "water-anim-sunken"
|
|
:bounds (new 'static 'vector :w 81920.0)
|
|
:version #x6
|
|
)
|
|
)
|
|
)
|
|
(set! (-> v1-14 jgeo) 20)
|
|
(set! (-> v1-14 janim) -1)
|
|
(set! (-> v1-14 mgeo 0) 21)
|
|
(set! (-> v1-14 lod-dist 0) 4095996000.0)
|
|
(set! *water-anim-sunken-short-piece-sg* v1-14)
|
|
)
|
|
|
|
(let
|
|
((v1-15
|
|
(new 'static 'skeleton-group
|
|
:art-group-name "water-anim-sunken"
|
|
:bounds (new 'static 'vector :w 110592.0)
|
|
:version #x6
|
|
)
|
|
)
|
|
)
|
|
(set! (-> v1-15 jgeo) 22)
|
|
(set! (-> v1-15 janim) -1)
|
|
(set! (-> v1-15 mgeo 0) 23)
|
|
(set! (-> v1-15 lod-dist 0) 4095996000.0)
|
|
(set! *water-anim-sunken-big-room-upper-water-sg* v1-15)
|
|
)
|
|
|
|
(let
|
|
((v1-16
|
|
(new 'static 'skeleton-group
|
|
:art-group-name "water-anim-maincave"
|
|
:bounds (new 'static 'vector :w 286720.0)
|
|
:version #x6
|
|
)
|
|
)
|
|
)
|
|
(set! (-> v1-16 jgeo) 0)
|
|
(set! (-> v1-16 janim) -1)
|
|
(set! (-> v1-16 mgeo 0) 1)
|
|
(set! (-> v1-16 lod-dist 0) 4095996000.0)
|
|
(set! *water-anim-maincave-center-pool-sg* v1-16)
|
|
)
|
|
|
|
(let
|
|
((v1-17
|
|
(new 'static 'skeleton-group
|
|
:art-group-name "water-anim-maincave"
|
|
:bounds
|
|
(new 'static 'vector :x 24576.0 :z 20480.0 :w 249856.0)
|
|
:version #x6
|
|
)
|
|
)
|
|
)
|
|
(set! (-> v1-17 jgeo) 2)
|
|
(set! (-> v1-17 janim) -1)
|
|
(set! (-> v1-17 mgeo 0) 3)
|
|
(set! (-> v1-17 lod-dist 0) 4095996000.0)
|
|
(set! *water-anim-maincave-lower-right-pool-sg* v1-17)
|
|
)
|
|
|
|
(let
|
|
((v1-18
|
|
(new 'static 'skeleton-group
|
|
:art-group-name "water-anim-maincave"
|
|
:bounds (new 'static 'vector :w 151552.0)
|
|
:version #x6
|
|
)
|
|
)
|
|
)
|
|
(set! (-> v1-18 jgeo) 4)
|
|
(set! (-> v1-18 janim) -1)
|
|
(set! (-> v1-18 mgeo 0) 5)
|
|
(set! (-> v1-18 lod-dist 0) 4095996000.0)
|
|
(set! *water-anim-maincave-mid-right-pool-sg* v1-18)
|
|
)
|
|
|
|
(let
|
|
((v1-19
|
|
(new 'static 'skeleton-group
|
|
:art-group-name "water-anim-maincave"
|
|
:bounds
|
|
(new 'static 'vector :x -4096.0 :w 81920.0)
|
|
:version #x6
|
|
)
|
|
)
|
|
)
|
|
(set! (-> v1-19 jgeo) 6)
|
|
(set! (-> v1-19 janim) -1)
|
|
(set! (-> v1-19 mgeo 0) 7)
|
|
(set! (-> v1-19 lod-dist 0) 4095996000.0)
|
|
(set! *water-anim-maincave-lower-left-pool-sg* v1-19)
|
|
)
|
|
|
|
(let
|
|
((v1-20
|
|
(new 'static 'skeleton-group
|
|
:art-group-name "water-anim-maincave"
|
|
:bounds (new 'static 'vector :w 208896.0)
|
|
:version #x6
|
|
)
|
|
)
|
|
)
|
|
(set! (-> v1-20 jgeo) 8)
|
|
(set! (-> v1-20 janim) -1)
|
|
(set! (-> v1-20 mgeo 0) 9)
|
|
(set! (-> v1-20 lod-dist 0) 4095996000.0)
|
|
(set! *water-anim-maincave-mid-left-pool-sg* v1-20)
|
|
)
|
|
|
|
(let
|
|
((v1-21
|
|
(new 'static 'skeleton-group
|
|
:art-group-name "water-anim-maincave-water"
|
|
:bounds
|
|
(new 'static 'vector :z -12288.0 :w 90112.0)
|
|
:version #x6
|
|
)
|
|
)
|
|
)
|
|
(set! (-> v1-21 jgeo) 0)
|
|
(set! (-> v1-21 janim) -1)
|
|
(set! (-> v1-21 mgeo 0) 1)
|
|
(set! (-> v1-21 lod-dist 0) 4095996000.0)
|
|
(set! *water-anim-maincave-water-with-crystal-sg* v1-21)
|
|
)
|
|
|
|
(let
|
|
((v1-22
|
|
(new 'static 'skeleton-group
|
|
:art-group-name "water-anim-robocave"
|
|
:bounds (new 'static 'vector :w 221184.0)
|
|
:max-lod 1
|
|
:version #x6
|
|
)
|
|
)
|
|
)
|
|
(set! (-> v1-22 jgeo) 0)
|
|
(set! (-> v1-22 janim) -1)
|
|
(set! (-> v1-22 mgeo 0) 1)
|
|
(set! (-> v1-22 lod-dist 0) 81920.0)
|
|
(set! (-> v1-22 mgeo 1) 2)
|
|
(set! (-> v1-22 lod-dist 1) 4095996000.0)
|
|
(set! *water-anim-robocave-main-pool-sg* v1-22)
|
|
)
|
|
|
|
(let
|
|
((v1-23
|
|
(new 'static 'skeleton-group
|
|
:art-group-name "water-anim-misty"
|
|
:bounds
|
|
(new 'static 'vector :z -10240.0 :w 77824.0)
|
|
:version #x6
|
|
)
|
|
)
|
|
)
|
|
(set! (-> v1-23 jgeo) 0)
|
|
(set! (-> v1-23 janim) -1)
|
|
(set! (-> v1-23 mgeo 0) 1)
|
|
(set! (-> v1-23 lod-dist 0) 4095996000.0)
|
|
(set! *water-anim-misty-mud-by-arena-sg* v1-23)
|
|
)
|
|
|
|
(let
|
|
((v1-24
|
|
(new 'static 'skeleton-group
|
|
:art-group-name "water-anim-misty"
|
|
:bounds (new 'static 'vector :w 57344.0)
|
|
:version #x6
|
|
)
|
|
)
|
|
)
|
|
(set! (-> v1-24 jgeo) 2)
|
|
(set! (-> v1-24 janim) -1)
|
|
(set! (-> v1-24 mgeo 0) 3)
|
|
(set! (-> v1-24 lod-dist 0) 4095996000.0)
|
|
(set! *water-anim-misty-mud-above-skeleton-sg* v1-24)
|
|
)
|
|
|
|
(let
|
|
((v1-25
|
|
(new 'static 'skeleton-group
|
|
:art-group-name "water-anim-misty"
|
|
:bounds
|
|
(new 'static 'vector :z 16384.0 :w 102400.0)
|
|
:version #x6
|
|
)
|
|
)
|
|
)
|
|
(set! (-> v1-25 jgeo) 4)
|
|
(set! (-> v1-25 janim) -1)
|
|
(set! (-> v1-25 mgeo 0) 5)
|
|
(set! (-> v1-25 lod-dist 0) 4095996000.0)
|
|
(set! *water-anim-misty-mud-behind-skeleton-sg* v1-25)
|
|
)
|
|
|
|
(let
|
|
((v1-26
|
|
(new 'static 'skeleton-group
|
|
:art-group-name "water-anim-misty"
|
|
:bounds (new 'static 'vector :w 57344.0)
|
|
:version #x6
|
|
)
|
|
)
|
|
)
|
|
(set! (-> v1-26 jgeo) 6)
|
|
(set! (-> v1-26 janim) -1)
|
|
(set! (-> v1-26 mgeo 0) 7)
|
|
(set! (-> v1-26 lod-dist 0) 4095996000.0)
|
|
(set! *water-anim-misty-mud-above-skull-back-sg* v1-26)
|
|
)
|
|
|
|
(let
|
|
((v1-27
|
|
(new 'static 'skeleton-group
|
|
:art-group-name "water-anim-misty"
|
|
:bounds (new 'static 'vector :w 65536.0)
|
|
:version #x6
|
|
)
|
|
)
|
|
)
|
|
(set! (-> v1-27 jgeo) 8)
|
|
(set! (-> v1-27 janim) -1)
|
|
(set! (-> v1-27 mgeo 0) 9)
|
|
(set! (-> v1-27 lod-dist 0) 4095996000.0)
|
|
(set! *water-anim-misty-mud-above-skull-front-sg* v1-27)
|
|
)
|
|
|
|
(let
|
|
((v1-28
|
|
(new 'static 'skeleton-group
|
|
:art-group-name "water-anim-misty"
|
|
:bounds (new 'static 'vector :w 53248.0)
|
|
:version #x6
|
|
)
|
|
)
|
|
)
|
|
(set! (-> v1-28 jgeo) 10)
|
|
(set! (-> v1-28 janim) -1)
|
|
(set! (-> v1-28 mgeo 0) 11)
|
|
(set! (-> v1-28 lod-dist 0) 4095996000.0)
|
|
(set! *water-anim-misty-mud-other-near-skull-sg* v1-28)
|
|
)
|
|
|
|
(let
|
|
((v1-29
|
|
(new 'static 'skeleton-group
|
|
:art-group-name "water-anim-misty"
|
|
:bounds (new 'static 'vector :w 61440.0)
|
|
:version #x6
|
|
)
|
|
)
|
|
)
|
|
(set! (-> v1-29 jgeo) 12)
|
|
(set! (-> v1-29 janim) -1)
|
|
(set! (-> v1-29 mgeo 0) 13)
|
|
(set! (-> v1-29 lod-dist 0) 4095996000.0)
|
|
(set! *water-anim-misty-mud-near-skull-sg* v1-29)
|
|
)
|
|
|
|
(let
|
|
((v1-30
|
|
(new 'static 'skeleton-group
|
|
:art-group-name "water-anim-misty"
|
|
:bounds (new 'static 'vector :w 65536.0)
|
|
:version #x6
|
|
)
|
|
)
|
|
)
|
|
(set! (-> v1-30 jgeo) 14)
|
|
(set! (-> v1-30 janim) -1)
|
|
(set! (-> v1-30 mgeo 0) 15)
|
|
(set! (-> v1-30 lod-dist 0) 4095996000.0)
|
|
(set! *water-anim-misty-mud-under-spine-sg* v1-30)
|
|
)
|
|
|
|
(let
|
|
((v1-31
|
|
(new 'static 'skeleton-group
|
|
:art-group-name "water-anim-misty"
|
|
:bounds (new 'static 'vector :w 86016.0)
|
|
:version #x6
|
|
)
|
|
)
|
|
)
|
|
(set! (-> v1-31 jgeo) 16)
|
|
(set! (-> v1-31 janim) -1)
|
|
(set! (-> v1-31 mgeo 0) 17)
|
|
(set! (-> v1-31 lod-dist 0) 4095996000.0)
|
|
(set! *water-anim-misty-mud-by-dock-sg* v1-31)
|
|
)
|
|
|
|
(let
|
|
((v1-32
|
|
(new 'static 'skeleton-group
|
|
:art-group-name "water-anim-misty"
|
|
:bounds
|
|
(new 'static 'vector :x -4096.0 :z -4096.0 :w 61440.0)
|
|
:version #x6
|
|
)
|
|
)
|
|
)
|
|
(set! (-> v1-32 jgeo) 18)
|
|
(set! (-> v1-32 janim) -1)
|
|
(set! (-> v1-32 mgeo 0) 19)
|
|
(set! (-> v1-32 lod-dist 0) 4095996000.0)
|
|
(set! *water-anim-misty-mud-island-near-dock-sg* v1-32)
|
|
)
|
|
|
|
(let
|
|
((v1-33
|
|
(new 'static 'skeleton-group
|
|
:art-group-name "water-anim-misty"
|
|
:bounds (new 'static 'vector :w 40960.0)
|
|
:version #x6
|
|
)
|
|
)
|
|
)
|
|
(set! (-> v1-33 jgeo) 20)
|
|
(set! (-> v1-33 janim) -1)
|
|
(set! (-> v1-33 mgeo 0) 21)
|
|
(set! (-> v1-33 lod-dist 0) 4095996000.0)
|
|
(set! *water-anim-misty-mud-lonely-island-sg* v1-33)
|
|
)
|
|
|
|
(let
|
|
((v1-34
|
|
(new 'static 'skeleton-group
|
|
:art-group-name "water-anim-misty"
|
|
:bounds (new 'static 'vector :w 69632.0)
|
|
:version #x6
|
|
)
|
|
)
|
|
)
|
|
(set! (-> v1-34 jgeo) 22)
|
|
(set! (-> v1-34 janim) -1)
|
|
(set! (-> v1-34 mgeo 0) 23)
|
|
(set! (-> v1-34 lod-dist 0) 4095996000.0)
|
|
(set! *water-anim-misty-dark-eco-pool-sg* v1-34)
|
|
)
|
|
|
|
(let
|
|
((v1-35
|
|
(new 'static 'skeleton-group
|
|
:art-group-name "water-anim-ogre"
|
|
:bounds (new 'static 'vector :w 458752.0)
|
|
:version #x6
|
|
)
|
|
)
|
|
)
|
|
(set! (-> v1-35 jgeo) 0)
|
|
(set! (-> v1-35 janim) -1)
|
|
(set! (-> v1-35 mgeo 0) 1)
|
|
(set! (-> v1-35 lod-dist 0) 4095996000.0)
|
|
(set! *water-anim-ogre-lava-sg* v1-35)
|
|
)
|
|
|
|
(let
|
|
((v1-36
|
|
(new 'static 'skeleton-group
|
|
:art-group-name "water-anim-jungle"
|
|
:bounds (new 'static 'vector :w 372736.0)
|
|
:max-lod 1
|
|
:version #x6
|
|
)
|
|
)
|
|
)
|
|
(set! (-> v1-36 jgeo) 0)
|
|
(set! (-> v1-36 janim) -1)
|
|
(set! (-> v1-36 mgeo 0) 1)
|
|
(set! (-> v1-36 lod-dist 0) 81920.0)
|
|
(set! (-> v1-36 mgeo 1) 2)
|
|
(set! (-> v1-36 lod-dist 1) 4095996000.0)
|
|
(set! *water-anim-jungle-river-sg* v1-36)
|
|
)
|
|
|
|
(let
|
|
((v1-37
|
|
(new 'static 'skeleton-group
|
|
:art-group-name "water-anim-village3"
|
|
:bounds
|
|
(new 'static 'vector :x 61440.0 :z 40960.0 :w 667648.0)
|
|
:max-lod 1
|
|
:version #x6
|
|
)
|
|
)
|
|
)
|
|
(set! (-> v1-37 jgeo) 0)
|
|
(set! (-> v1-37 janim) -1)
|
|
(set! (-> v1-37 mgeo 0) 1)
|
|
(set! (-> v1-37 lod-dist 0) 81920.0)
|
|
(set! (-> v1-37 mgeo 1) 2)
|
|
(set! (-> v1-37 lod-dist 1) 4095996000.0)
|
|
(set! *water-anim-village3-lava-sg* v1-37)
|
|
)
|
|
|
|
(let
|
|
((v1-38
|
|
(new 'static 'skeleton-group
|
|
:art-group-name "water-anim-training"
|
|
:bounds
|
|
(new 'static 'vector :x -73728.0 :w 212992.0)
|
|
:version #x6
|
|
)
|
|
)
|
|
)
|
|
(set! (-> v1-38 jgeo) 0)
|
|
(set! (-> v1-38 janim) -1)
|
|
(set! (-> v1-38 mgeo 0) 1)
|
|
(set! (-> v1-38 lod-dist 0) 4095996000.0)
|
|
(set! *water-anim-training-lake-sg* v1-38)
|
|
)
|
|
|
|
(let
|
|
((v1-39
|
|
(new 'static 'skeleton-group
|
|
:art-group-name "water-anim-darkcave"
|
|
:bounds (new 'static 'vector :w 77824.0)
|
|
:version #x6
|
|
)
|
|
)
|
|
)
|
|
(set! (-> v1-39 jgeo) 0)
|
|
(set! (-> v1-39 janim) -1)
|
|
(set! (-> v1-39 mgeo 0) 1)
|
|
(set! (-> v1-39 lod-dist 0) 4095996000.0)
|
|
(set! *water-anim-darkcave-water-with-crystal-sg* v1-39)
|
|
)
|
|
|
|
(let
|
|
((v1-40
|
|
(new 'static 'skeleton-group
|
|
:art-group-name "water-anim-rolling"
|
|
:bounds
|
|
(new 'static 'vector :x -40960.0 :w 286720.0)
|
|
:version #x6
|
|
)
|
|
)
|
|
)
|
|
(set! (-> v1-40 jgeo) 0)
|
|
(set! (-> v1-40 janim) -1)
|
|
(set! (-> v1-40 mgeo 0) 1)
|
|
(set! (-> v1-40 lod-dist 0) 4095996000.0)
|
|
(set! *water-anim-rolling-water-back-sg* v1-40)
|
|
)
|
|
|
|
(let
|
|
((v1-41
|
|
(new 'static 'skeleton-group
|
|
:art-group-name "water-anim-rolling"
|
|
:bounds (new 'static 'vector :w 286720.0)
|
|
:version #x6
|
|
)
|
|
)
|
|
)
|
|
(set! (-> v1-41 jgeo) 2)
|
|
(set! (-> v1-41 janim) -1)
|
|
(set! (-> v1-41 mgeo 0) 3)
|
|
(set! (-> v1-41 lod-dist 0) 4095996000.0)
|
|
(set! *water-anim-rolling-water-front-sg* v1-41)
|
|
)
|
|
|
|
(let
|
|
((v1-42
|
|
(new 'static 'skeleton-group
|
|
:art-group-name "water-anim-finalboss"
|
|
:bounds (new 'static 'vector :w 77824.0)
|
|
:version #x6
|
|
)
|
|
)
|
|
)
|
|
(set! (-> v1-42 jgeo) 0)
|
|
(set! (-> v1-42 janim) -1)
|
|
(set! (-> v1-42 mgeo 0) 1)
|
|
(set! (-> v1-42 lod-dist 0) 4095996000.0)
|
|
(set! *water-anim-finalboss-dark-eco-pool-sg* v1-42)
|
|
)
|
|
|
|
(let
|
|
((v1-43
|
|
(new 'static 'skeleton-group
|
|
:art-group-name "water-anim-lavatube"
|
|
:bounds
|
|
(new 'static 'vector :y -28672.0 :w 102400.0)
|
|
:version #x6
|
|
)
|
|
)
|
|
)
|
|
(set! (-> v1-43 jgeo) 0)
|
|
(set! (-> v1-43 janim) -1)
|
|
(set! (-> v1-43 mgeo 0) 1)
|
|
(set! (-> v1-43 lod-dist 0) 4095996000.0)
|
|
(set! *water-anim-lavatube-energy-lava-sg* v1-43)
|
|
)
|
|
|
|
(let
|
|
((v1-44
|
|
(new 'static 'skeleton-group
|
|
:art-group-name "water-anim-village1"
|
|
:bounds
|
|
(new 'static 'vector :x -61440.0 :w 110592.0)
|
|
:version #x6
|
|
)
|
|
)
|
|
)
|
|
(set! (-> v1-44 jgeo) 0)
|
|
(set! (-> v1-44 janim) -1)
|
|
(set! (-> v1-44 mgeo 0) 1)
|
|
(set! (-> v1-44 lod-dist 0) 4095996000.0)
|
|
(set! *water-anim-village1-rice-paddy-sg* v1-44)
|
|
)
|
|
|
|
(let
|
|
((v1-45
|
|
(new 'static 'skeleton-group
|
|
:art-group-name "water-anim-village1"
|
|
:bounds (new 'static 'vector :w 18432.0)
|
|
:version #x6
|
|
)
|
|
)
|
|
)
|
|
(set! (-> v1-45 jgeo) 6)
|
|
(set! (-> v1-45 janim) -1)
|
|
(set! (-> v1-45 mgeo 0) 7)
|
|
(set! (-> v1-45 lod-dist 0) 4095996000.0)
|
|
(set! *water-anim-village1-fountain-sg* v1-45)
|
|
)
|
|
|
|
(let
|
|
((v1-46
|
|
(new 'static 'skeleton-group
|
|
:art-group-name "water-anim-village1"
|
|
:bounds (new 'static 'vector :w 143360.0)
|
|
:version #x6
|
|
)
|
|
)
|
|
)
|
|
(set! (-> v1-46 jgeo) 2)
|
|
(set! (-> v1-46 janim) -1)
|
|
(set! (-> v1-46 mgeo 0) 3)
|
|
(set! (-> v1-46 lod-dist 0) 4095996000.0)
|
|
(set! *water-anim-village1-rice-paddy-mid-sg* v1-46)
|
|
)
|
|
|
|
(let
|
|
((v1-47
|
|
(new 'static 'skeleton-group
|
|
:art-group-name "water-anim-village1"
|
|
:bounds
|
|
(new 'static 'vector :x 24576.0 :z -69632.0 :w 81920.0)
|
|
:version #x6
|
|
)
|
|
)
|
|
)
|
|
(set! (-> v1-47 jgeo) 4)
|
|
(set! (-> v1-47 janim) -1)
|
|
(set! (-> v1-47 mgeo 0) 5)
|
|
(set! (-> v1-47 lod-dist 0) 4095996000.0)
|
|
(set! *water-anim-village1-rice-paddy-top-sg* v1-47)
|
|
)
|
|
|
|
(let
|
|
((v1-48
|
|
(new 'static 'skeleton-group
|
|
:art-group-name "water-anim-village2"
|
|
:bounds (new 'static 'vector :w 2867.2)
|
|
:version #x6
|
|
)
|
|
)
|
|
)
|
|
(set! (-> v1-48 jgeo) 0)
|
|
(set! (-> v1-48 janim) -1)
|
|
(set! (-> v1-48 mgeo 0) 1)
|
|
(set! (-> v1-48 lod-dist 0) 4095996000.0)
|
|
(set! *water-anim-village2-bucket-sg* v1-48)
|
|
)
|
|
|
|
(deftype water-anim-look (structure)
|
|
((skel-group symbol :offset-assert 0)
|
|
(anim int32 :offset-assert 4)
|
|
(ambient-sound-spec sound-spec :offset-assert 8)
|
|
)
|
|
:method-count-assert 9
|
|
:size-assert #xc
|
|
:flag-assert #x90000000c
|
|
)
|
|
|
|
|
|
(define
|
|
*water-anim-look*
|
|
(the-as (array water-anim-look)
|
|
(new
|
|
'static
|
|
'boxed-array
|
|
:type water-anim-look :length 48 :allocated-length 48
|
|
(new 'static 'water-anim-look
|
|
:skel-group '*water-anim-sunken-big-room-sg*
|
|
:anim 24
|
|
:ambient-sound-spec
|
|
(new 'static 'sound-spec
|
|
:mask #xc0
|
|
:num 1.0
|
|
:group #x1
|
|
:sound-name (static-sound-name "water-loop")
|
|
:volume #x400
|
|
:fo-min 70
|
|
:fo-max 80
|
|
)
|
|
)
|
|
(new 'static 'water-anim-look
|
|
:skel-group
|
|
'*water-anim-sunken-first-room-from-entrance-sg*
|
|
:anim 24
|
|
:ambient-sound-spec
|
|
(new 'static 'sound-spec
|
|
:mask #xc0
|
|
:num 1.0
|
|
:group #x1
|
|
:sound-name (static-sound-name "water-loop")
|
|
:volume #x400
|
|
:fo-min 50
|
|
:fo-max 60
|
|
)
|
|
)
|
|
(new 'static 'water-anim-look
|
|
:skel-group '*water-anim-sunken-qbert-room-sg*
|
|
:anim 24
|
|
:ambient-sound-spec
|
|
(new 'static 'sound-spec
|
|
:mask #xc0
|
|
:num 1.0
|
|
:group #x1
|
|
:sound-name (static-sound-name "water-loop")
|
|
:volume #x400
|
|
:fo-min 48
|
|
:fo-max 58
|
|
)
|
|
)
|
|
(new 'static 'water-anim-look
|
|
:skel-group
|
|
'*water-anim-sunken-first-right-branch-sg*
|
|
:anim 24
|
|
:ambient-sound-spec
|
|
(new 'static 'sound-spec
|
|
:mask #xc0
|
|
:num 1.0
|
|
:group #x1
|
|
:sound-name (static-sound-name "water-loop")
|
|
:volume #x400
|
|
:fo-min 30
|
|
:fo-max 40
|
|
)
|
|
)
|
|
(new 'static 'water-anim-look
|
|
:skel-group
|
|
'*water-anim-sunken-circular-with-bullys-sg*
|
|
:anim 24
|
|
:ambient-sound-spec
|
|
(new 'static 'sound-spec
|
|
:mask #xc0
|
|
:num 1.0
|
|
:group #x1
|
|
:sound-name (static-sound-name "water-loop")
|
|
:volume #x400
|
|
:fo-min 15
|
|
:fo-max 25
|
|
)
|
|
)
|
|
(new 'static 'water-anim-look
|
|
:skel-group
|
|
'*water-anim-sunken-hall-with-one-whirlpool-sg*
|
|
:anim 24
|
|
:ambient-sound-spec
|
|
(new 'static 'sound-spec
|
|
:mask #xc0
|
|
:num 1.0
|
|
:group #x1
|
|
:sound-name (static-sound-name "water-loop")
|
|
:volume #x400
|
|
:fo-min 27
|
|
:fo-max 37
|
|
)
|
|
)
|
|
(new 'static 'water-anim-look
|
|
:skel-group
|
|
'*water-anim-sunken-hall-with-three-whirlpools-sg*
|
|
:anim 24
|
|
:ambient-sound-spec
|
|
(new 'static 'sound-spec
|
|
:mask #xc0
|
|
:num 1.0
|
|
:group #x1
|
|
:sound-name (static-sound-name "water-loop")
|
|
:volume #x400
|
|
:fo-min 26
|
|
:fo-max 36
|
|
)
|
|
)
|
|
(new 'static 'water-anim-look
|
|
:skel-group
|
|
'*water-anim-sunken-start-of-helix-slide-sg*
|
|
:anim 24
|
|
:ambient-sound-spec
|
|
(new 'static 'sound-spec
|
|
:mask #xc0
|
|
:num 1.0
|
|
:group #x1
|
|
:sound-name (static-sound-name "water-loop")
|
|
:volume #x400
|
|
:fo-min 25
|
|
:fo-max 35
|
|
)
|
|
)
|
|
(new 'static 'water-anim-look
|
|
:skel-group
|
|
'*water-anim-sunken-room-above-exit-chamber-sg*
|
|
:anim 24
|
|
:ambient-sound-spec
|
|
(new 'static 'sound-spec
|
|
:mask #xc0
|
|
:num 1.0
|
|
:group #x1
|
|
:sound-name (static-sound-name "water-loop")
|
|
:volume #x400
|
|
:fo-min 45
|
|
:fo-max 55
|
|
)
|
|
)
|
|
(new 'static 'water-anim-look
|
|
:skel-group
|
|
'*water-anim-sunken-hall-before-big-room-sg*
|
|
:anim 24
|
|
:ambient-sound-spec
|
|
(new 'static 'sound-spec
|
|
:mask #xc0
|
|
:num 1.0
|
|
:group #x1
|
|
:sound-name (static-sound-name "water-loop")
|
|
:volume #x400
|
|
:fo-min 20
|
|
:fo-max 30
|
|
)
|
|
)
|
|
(new 'static 'water-anim-look
|
|
:skel-group '*water-anim-sunken-dark-eco-qbert-sg*
|
|
:anim 6
|
|
:ambient-sound-spec
|
|
(new 'static 'sound-spec
|
|
:mask #xc0
|
|
:num 1.0
|
|
:group #x1
|
|
:sound-name (static-sound-name "darkeco-pool")
|
|
:volume #x400
|
|
:fo-min 40
|
|
:fo-max 50
|
|
)
|
|
)
|
|
(new 'static 'water-anim-look
|
|
:skel-group '*water-anim-sunken-short-piece-sg*
|
|
:anim 24
|
|
:ambient-sound-spec
|
|
(new 'static 'sound-spec
|
|
:mask #xc0
|
|
:num 1.0
|
|
:group #x1
|
|
:sound-name (static-sound-name "water-loop")
|
|
:volume #x400
|
|
:fo-min 20
|
|
:fo-max 30
|
|
)
|
|
)
|
|
(new 'static 'water-anim-look
|
|
:skel-group
|
|
'*water-anim-sunken-big-room-upper-water-sg*
|
|
:anim 24
|
|
:ambient-sound-spec
|
|
(new 'static 'sound-spec
|
|
:mask #xc0
|
|
:num 1.0
|
|
:group #x1
|
|
:sound-name (static-sound-name "water-loop")
|
|
:volume #x400
|
|
:fo-min 27
|
|
:fo-max 37
|
|
)
|
|
)
|
|
(new 'static 'water-anim-look
|
|
:skel-group
|
|
'*water-anim-sunken-dark-eco-platform-room-sg*
|
|
:anim 6
|
|
:ambient-sound-spec
|
|
(new 'static 'sound-spec
|
|
:mask #xc0
|
|
:num 1.0
|
|
:group #x1
|
|
:sound-name (static-sound-name "darkeco-pool")
|
|
:volume #x400
|
|
:fo-min 22
|
|
:fo-max 32
|
|
)
|
|
)
|
|
(new 'static 'water-anim-look
|
|
:skel-group
|
|
'*water-anim-maincave-water-with-crystal-sg*
|
|
:anim 2
|
|
:ambient-sound-spec #f
|
|
)
|
|
(new 'static 'water-anim-look
|
|
:skel-group '*water-anim-maincave-center-pool-sg*
|
|
:anim 10
|
|
:ambient-sound-spec
|
|
(new 'static 'sound-spec
|
|
:mask #xc0
|
|
:num 1.0
|
|
:group #x1
|
|
:sound-name (static-sound-name "darkeco-pool")
|
|
:volume #x400
|
|
:fo-min 70
|
|
:fo-max 80
|
|
)
|
|
)
|
|
(new 'static 'water-anim-look
|
|
:skel-group
|
|
'*water-anim-maincave-lower-right-pool-sg*
|
|
:anim 10
|
|
:ambient-sound-spec
|
|
(new 'static 'sound-spec
|
|
:mask #xc0
|
|
:num 1.0
|
|
:group #x1
|
|
:sound-name (static-sound-name "darkeco-pool")
|
|
:volume #x400
|
|
:fo-min 40
|
|
:fo-max 50
|
|
)
|
|
)
|
|
(new 'static 'water-anim-look
|
|
:skel-group
|
|
'*water-anim-maincave-mid-right-pool-sg*
|
|
:anim 10
|
|
:ambient-sound-spec
|
|
(new 'static 'sound-spec
|
|
:mask #xc0
|
|
:num 1.0
|
|
:group #x1
|
|
:sound-name (static-sound-name "darkeco-pool")
|
|
:volume #x400
|
|
:fo-min 37
|
|
:fo-max 47
|
|
)
|
|
)
|
|
(new 'static 'water-anim-look
|
|
:skel-group
|
|
'*water-anim-maincave-lower-left-pool-sg*
|
|
:anim 10
|
|
:ambient-sound-spec
|
|
(new 'static 'sound-spec
|
|
:mask #xc0
|
|
:num 1.0
|
|
:group #x1
|
|
:sound-name (static-sound-name "darkeco-pool")
|
|
:volume #x400
|
|
:fo-min 20
|
|
:fo-max 30
|
|
)
|
|
)
|
|
(new 'static 'water-anim-look
|
|
:skel-group '*water-anim-maincave-mid-left-pool-sg*
|
|
:anim 10
|
|
:ambient-sound-spec
|
|
(new 'static 'sound-spec
|
|
:mask #xc0
|
|
:num 1.0
|
|
:group #x1
|
|
:sound-name (static-sound-name "darkeco-pool")
|
|
:volume #x400
|
|
:fo-min 51
|
|
:fo-max 61
|
|
)
|
|
)
|
|
(new 'static 'water-anim-look
|
|
:skel-group '*water-anim-robocave-main-pool-sg*
|
|
:anim 3
|
|
:ambient-sound-spec
|
|
(new 'static 'sound-spec
|
|
:mask #xc0
|
|
:num 1.0
|
|
:group #x1
|
|
:sound-name (static-sound-name "darkeco-pool")
|
|
:volume #x400
|
|
:fo-min 54
|
|
:fo-max 64
|
|
)
|
|
)
|
|
(new 'static 'water-anim-look
|
|
:skel-group '*water-anim-misty-mud-by-arena-sg*
|
|
:anim 24
|
|
:ambient-sound-spec #f
|
|
)
|
|
(new 'static 'water-anim-look
|
|
:skel-group
|
|
'*water-anim-misty-mud-above-skeleton-sg*
|
|
:anim 24
|
|
:ambient-sound-spec #f
|
|
)
|
|
(new 'static 'water-anim-look
|
|
:skel-group
|
|
'*water-anim-misty-mud-behind-skeleton-sg*
|
|
:anim 24
|
|
:ambient-sound-spec #f
|
|
)
|
|
(new 'static 'water-anim-look
|
|
:skel-group
|
|
'*water-anim-misty-mud-above-skull-back-sg*
|
|
:anim 24
|
|
:ambient-sound-spec #f
|
|
)
|
|
(new 'static 'water-anim-look
|
|
:skel-group
|
|
'*water-anim-misty-mud-above-skull-front-sg*
|
|
:anim 24
|
|
:ambient-sound-spec #f
|
|
)
|
|
(new 'static 'water-anim-look
|
|
:skel-group
|
|
'*water-anim-misty-mud-other-near-skull-sg*
|
|
:anim 24
|
|
:ambient-sound-spec #f
|
|
)
|
|
(new 'static 'water-anim-look
|
|
:skel-group '*water-anim-misty-mud-near-skull-sg*
|
|
:anim 24
|
|
:ambient-sound-spec #f
|
|
)
|
|
(new 'static 'water-anim-look
|
|
:skel-group '*water-anim-misty-mud-under-spine-sg*
|
|
:anim 24
|
|
:ambient-sound-spec #f
|
|
)
|
|
(new 'static 'water-anim-look
|
|
:skel-group '*water-anim-misty-mud-by-dock-sg*
|
|
:anim 24
|
|
:ambient-sound-spec #f
|
|
)
|
|
(new 'static 'water-anim-look
|
|
:skel-group
|
|
'*water-anim-misty-mud-island-near-dock-sg*
|
|
:anim 24
|
|
:ambient-sound-spec #f
|
|
)
|
|
(new 'static 'water-anim-look
|
|
:skel-group
|
|
'*water-anim-misty-mud-lonely-island-sg*
|
|
:anim 24
|
|
:ambient-sound-spec #f
|
|
)
|
|
(new 'static 'water-anim-look
|
|
:skel-group '*water-anim-misty-dark-eco-pool-sg*
|
|
:anim 24
|
|
:ambient-sound-spec
|
|
(new 'static 'sound-spec
|
|
:mask #xc0
|
|
:num 1.0
|
|
:group #x1
|
|
:sound-name (static-sound-name "darkeco-pool")
|
|
:volume #x400
|
|
:fo-min 17
|
|
:fo-max 27
|
|
)
|
|
)
|
|
(new 'static 'water-anim-look
|
|
:skel-group '*water-anim-ogre-lava-sg*
|
|
:anim 2
|
|
:ambient-sound-spec #f
|
|
)
|
|
(new 'static 'water-anim-look
|
|
:skel-group '*water-anim-jungle-river-sg*
|
|
:anim 3
|
|
:ambient-sound-spec #f
|
|
)
|
|
(new 'static 'water-anim-look
|
|
:skel-group '*water-anim-village3-lava-sg*
|
|
:anim 3
|
|
:ambient-sound-spec #f
|
|
)
|
|
(new 'static 'water-anim-look
|
|
:skel-group '*water-anim-training-lake-sg*
|
|
:anim 2
|
|
:ambient-sound-spec #f
|
|
)
|
|
(new 'static 'water-anim-look
|
|
:skel-group
|
|
'*water-anim-darkcave-water-with-crystal-sg*
|
|
:anim 2
|
|
:ambient-sound-spec #f
|
|
)
|
|
(new 'static 'water-anim-look
|
|
:skel-group '*water-anim-rolling-water-back-sg*
|
|
:anim 4
|
|
:ambient-sound-spec #f
|
|
)
|
|
(new 'static 'water-anim-look
|
|
:skel-group '*water-anim-rolling-water-front-sg*
|
|
:anim 4
|
|
:ambient-sound-spec #f
|
|
)
|
|
(new 'static 'water-anim-look
|
|
:skel-group
|
|
'*water-anim-sunken-dark-eco-helix-room-sg*
|
|
:anim 6
|
|
:ambient-sound-spec
|
|
(new 'static 'sound-spec
|
|
:mask #xc0
|
|
:num 1.0
|
|
:group #x1
|
|
:sound-name (static-sound-name "helix-dark-eco")
|
|
:volume #x400
|
|
:fo-min #x78
|
|
:fo-max #x82
|
|
)
|
|
)
|
|
(new 'static 'water-anim-look
|
|
:skel-group
|
|
'*water-anim-finalboss-dark-eco-pool-sg*
|
|
:anim 2
|
|
:ambient-sound-spec
|
|
(new 'static 'sound-spec
|
|
:mask #xc0
|
|
:num 1.0
|
|
:group #x1
|
|
:sound-name (static-sound-name "darkeco-pool")
|
|
:volume #x400
|
|
:fo-min 19
|
|
:fo-max 29
|
|
)
|
|
)
|
|
(new 'static 'water-anim-look
|
|
:skel-group '*water-anim-lavatube-energy-lava-sg*
|
|
:anim 2
|
|
:ambient-sound-spec #f
|
|
)
|
|
(new 'static 'water-anim-look
|
|
:skel-group '*water-anim-village1-rice-paddy-sg*
|
|
:anim 8
|
|
:ambient-sound-spec #f
|
|
)
|
|
(new 'static 'water-anim-look
|
|
:skel-group '*water-anim-village1-fountain-sg*
|
|
:anim 8
|
|
:ambient-sound-spec #f
|
|
)
|
|
(new 'static 'water-anim-look
|
|
:skel-group
|
|
'*water-anim-village1-rice-paddy-mid-sg*
|
|
:anim 8
|
|
:ambient-sound-spec #f
|
|
)
|
|
(new 'static 'water-anim-look
|
|
:skel-group
|
|
'*water-anim-village1-rice-paddy-top-sg*
|
|
:anim 8
|
|
:ambient-sound-spec #f
|
|
)
|
|
(new 'static 'water-anim-look
|
|
:skel-group '*water-anim-village2-bucket-sg*
|
|
:anim 2
|
|
:ambient-sound-spec #f
|
|
)
|
|
)
|
|
)
|
|
)
|
|
|
|
(defstate water-vol-idle (water-anim)
|
|
:virtual #t
|
|
:event
|
|
(behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block))
|
|
(let ((v1-0 arg2))
|
|
(the-as object (when (= v1-0 'move-to)
|
|
(set!
|
|
(-> self root trans quad)
|
|
(-> (the-as vector (-> arg3 param 0)) quad)
|
|
)
|
|
(set! (-> self water-height) (-> self root trans y))
|
|
(if (nonzero? (-> self sound))
|
|
(update-trans! (-> self sound) (-> self root trans))
|
|
)
|
|
(let
|
|
((v0-0 (logclear (-> self mask) (process-mask sleep-code)))
|
|
)
|
|
(set! (-> self mask) v0-0)
|
|
v0-0
|
|
)
|
|
)
|
|
)
|
|
)
|
|
)
|
|
:trans
|
|
(behavior ()
|
|
(let ((t9-0 (-> (method-of-type water-vol water-vol-idle) trans)))
|
|
(if t9-0
|
|
(t9-0)
|
|
)
|
|
)
|
|
(if (< (-> (math-camera-pos) y) (+ -8192.0 (-> self root trans y)))
|
|
(logior! (-> self draw status) 2)
|
|
(set! (-> self draw status) (logand -3 (-> self draw status)))
|
|
)
|
|
(if (and (-> self play-ambient-sound?) (nonzero? (-> self sound)))
|
|
(update! (-> self sound))
|
|
)
|
|
(none)
|
|
)
|
|
:code
|
|
(behavior ()
|
|
(while #t
|
|
(ja-post)
|
|
(logior! (-> self mask) (process-mask sleep-code))
|
|
(suspend)
|
|
)
|
|
(none)
|
|
)
|
|
)
|
|
|
|
(defmethod get-ripple-height water-anim ((obj water-anim) (arg0 vector))
|
|
(ripple-find-height obj 0 arg0)
|
|
)
|
|
|
|
(defmethod dummy-24 water-anim ()
|
|
(none)
|
|
)
|
|
|
|
(defmethod TODO-RENAME-25 water-anim ((obj water-anim))
|
|
(local-vars (sv-16 res-tag))
|
|
(set! (-> obj play-ambient-sound?) #t)
|
|
(set!
|
|
(-> obj look)
|
|
(res-lump-value (-> obj entity) 'look int :default (the-as uint128 -1))
|
|
)
|
|
(set! sv-16 (new 'static 'res-tag))
|
|
(let
|
|
((v1-3
|
|
(res-lump-data
|
|
(-> obj entity)
|
|
'trans-offset
|
|
(pointer float)
|
|
:tag-ptr
|
|
(& sv-16)
|
|
)
|
|
)
|
|
)
|
|
(when v1-3
|
|
(+! (-> obj root trans x) (-> v1-3 0))
|
|
(+! (-> obj root trans y) (-> v1-3 1))
|
|
(+! (-> obj root trans z) (-> v1-3 2))
|
|
)
|
|
)
|
|
(let ((f0-6 (res-lump-float (-> obj entity) 'rotoffset)))
|
|
(the-as object (if (!= f0-6 0.0)
|
|
(quaternion-rotate-y!
|
|
(-> obj root quat)
|
|
(-> obj root quat)
|
|
f0-6
|
|
)
|
|
)
|
|
)
|
|
)
|
|
)
|
|
|
|
(defmethod TODO-RENAME-22 water-anim ((obj water-anim))
|
|
(let ((s5-0 (-> obj look)))
|
|
(if (or (< s5-0 0) (>= s5-0 (-> *water-anim-look* length)))
|
|
(go process-drawable-art-error "skel group")
|
|
)
|
|
(let ((s5-1 (-> *water-anim-look* s5-0)))
|
|
(let ((s4-0 (-> s5-1 skel-group value)))
|
|
(let ((s3-0 s4-0))
|
|
(if
|
|
(not
|
|
(if
|
|
(and
|
|
(nonzero? s3-0)
|
|
(type-type? (-> (the-as basic s3-0) type) skeleton-group)
|
|
)
|
|
s3-0
|
|
)
|
|
)
|
|
(go process-drawable-art-error "skel group")
|
|
)
|
|
)
|
|
(initialize-skeleton obj (the-as skeleton-group s4-0) '())
|
|
)
|
|
(ja-channel-set! 1)
|
|
(let ((s4-1 (-> obj skel root-channel 0)))
|
|
(joint-control-channel-group-eval!
|
|
s4-1
|
|
(the-as art-joint-anim (-> obj draw art-group data (-> s5-1 anim)))
|
|
num-func-identity
|
|
)
|
|
(set! (-> s4-1 frame-num) 0.0)
|
|
)
|
|
(let ((a2-2 (-> s5-1 ambient-sound-spec)))
|
|
(when a2-2
|
|
(let ((a3-0 (new 'stack-no-clear 'vector)))
|
|
(vector+! a3-0 (-> obj root trans) (-> obj draw bounds))
|
|
(set! (-> obj sound) (new 'process 'ambient-sound a2-2 a3-0))
|
|
)
|
|
)
|
|
)
|
|
)
|
|
)
|
|
(the-as ripple-wave-set (ja-post))
|
|
)
|
|
|
|
|
|
|
|
|