Files
jak-project/test/decompiler/reference/levels/beach/beach-rocks_REF.gc
T
water111 be74613332 cleanup and bug fix (#1161)
* cleanup and bug fix

* crashing

* fix crash bug

* fix tests
2022-02-13 13:03:30 -05:00

580 lines
20 KiB
Common Lisp
Vendored
Generated

;;-*-Lisp-*-
(in-package goal)
;; failed to figure out what this is:
(defskelgroup *lrocklrg-sg* lrocklrg
0
2
((1 (meters 999999)))
:bounds (static-spherem 0 0 0 5)
:longest-edge (meters 11)
)
;; failed to figure out what this is:
(defpartgroup group-beach-rocks-start
:id 553
:duration 900
:flags (use-local-clock)
:bounds (static-bspherem 0 0 0 64)
:parts
((sp-item 2340 :period 75 :length 10)
(sp-item 2341 :period 75 :length 10)
(sp-item 2289 :period 75 :length 10)
)
)
;; failed to figure out what this is:
(defpart 2341
:init-specs
((sp-tex spt-texture (new 'static 'texture-id :index #x1d :page #x2))
(sp-rnd-flt spt-num 3.0 6.0 1.0)
(sp-rnd-flt spt-y (meters 0) (meters -4) 1.0)
(sp-rnd-flt spt-scale-x (meters 0.25) (meters 1) 1.0)
(sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0)
(sp-rnd-flt spt-scale-y (meters 0.25) (meters 1) 1.0)
(sp-rnd-flt spt-r 96.0 64.0 1.0)
(sp-rnd-flt spt-g 96.0 64.0 1.0)
(sp-rnd-flt spt-b 0.0 32.0 1.0)
(sp-rnd-flt spt-a 64.0 64.0 1.0)
(sp-rnd-flt spt-vel-y (meters 0.053333335) (meters 0.053333335) 1.0)
(sp-flt spt-scalevel-x (meters 0))
(sp-rnd-flt spt-rotvel-z (degrees -1.2) (degrees 2.4) 1.0)
(sp-copy-from-other spt-scalevel-y -4)
(sp-rnd-flt spt-accel-y -11.605333 -8.874666 1.0)
(sp-flt spt-friction 0.97)
(sp-int spt-timer 1500)
(sp-cpuinfo-flags bit2 bit12 bit14)
(sp-rnd-flt spt-conerot-x (degrees 80.0) (degrees 200.00002) 1.0)
(sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0)
(sp-rnd-flt spt-conerot-radius (meters 0) (meters 5) 1.0)
)
)
;; failed to figure out what this is:
(defpart 2340
:init-specs
((sp-tex spt-texture (new 'static 'texture-id :index #x17 :page #x2))
(sp-rnd-flt spt-num 8.0 16.0 1.0)
(sp-rnd-flt spt-y (meters 0) (meters -4) 1.0)
(sp-rnd-flt spt-scale-x (meters 0.5) (meters 1) 1.0)
(sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0)
(sp-rnd-flt spt-scale-y (meters 0.5) (meters 1) 1.0)
(sp-rnd-flt spt-r 64.0 128.0 1.0)
(sp-rnd-flt spt-g 128.0 128.0 1.0)
(sp-rnd-flt spt-b 0.0 64.0 1.0)
(sp-rnd-flt spt-a 64.0 64.0 1.0)
(sp-rnd-flt spt-vel-y (meters 0.053333335) (meters 0.053333335) 1.0)
(sp-flt spt-scalevel-x (meters 0))
(sp-rnd-flt spt-rotvel-z (degrees -1.2) (degrees 2.4) 1.0)
(sp-copy-from-other spt-scalevel-y -4)
(sp-flt spt-fade-a -0.08533333)
(sp-rnd-flt spt-accel-y -3.4133334 -8.874666 1.0)
(sp-flt spt-friction 0.93)
(sp-int spt-timer 1500)
(sp-cpuinfo-flags bit2 bit12 bit14)
(sp-rnd-flt spt-conerot-x (degrees 80.0) (degrees 200.00002) 1.0)
(sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0)
(sp-rnd-flt spt-conerot-radius (meters 0) (meters 5) 1.0)
)
)
;; failed to figure out what this is:
(defpart 2289
:init-specs
((sp-tex spt-texture (new 'static 'texture-id :page #x2))
(sp-rnd-flt spt-num 1.0 3.0 1.0)
(sp-rnd-flt spt-y (meters 0) (meters -4) 1.0)
(sp-rnd-flt spt-scale-x (meters 6) (meters 2) 1.0)
(sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0)
(sp-copy-from-other spt-scale-y -4)
(sp-rnd-flt spt-r 192.0 64.0 1.0)
(sp-rnd-flt spt-g 128.0 64.0 1.0)
(sp-flt spt-b 64.0)
(sp-rnd-flt spt-a 16.0 32.0 1.0)
(sp-rnd-flt spt-vel-y (meters 0.053333335) (meters 0.053333335) 1.0)
(sp-flt spt-scalevel-x (meters 0.04))
(sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0)
(sp-copy-from-other spt-scalevel-y -4)
(sp-flt spt-fade-r -0.042666666)
(sp-flt spt-fade-g -0.061333332)
(sp-flt spt-fade-b -0.042666666)
(sp-flt spt-fade-a -0.032)
(sp-rnd-flt spt-accel-y -2.048 -7.5093336 1.0)
(sp-flt spt-friction 0.95)
(sp-int spt-timer 1500)
(sp-cpuinfo-flags bit2 bit12 bit14)
(sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 360.0) 1.0)
(sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0)
(sp-rnd-flt spt-conerot-radius (meters 0) (meters 6) 1.0)
)
)
;; failed to figure out what this is:
(defpartgroup group-beach-rocks-fall
:id 554
:flags (use-local-clock)
:bounds (static-bspherem 0 0 0 8)
:parts
((sp-item 2290 :period 15 :length 5))
)
;; failed to figure out what this is:
(defpart 2290
:init-specs
((sp-tex spt-texture (new 'static 'texture-id :page #x2))
(sp-rnd-flt spt-num 3.0 3.0 1.0)
(sp-rnd-flt spt-y (meters 0) (meters -4) 1.0)
(sp-rnd-flt spt-scale-x (meters 7) (meters 9) 1.0)
(sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0)
(sp-copy-from-other spt-scale-y -4)
(sp-rnd-flt spt-r 192.0 64.0 1.0)
(sp-rnd-flt spt-g 128.0 64.0 1.0)
(sp-flt spt-b 64.0)
(sp-rnd-flt spt-a 16.0 48.0 1.0)
(sp-rnd-flt spt-vel-y (meters 0.013333334) (meters 0.006666667) 1.0)
(sp-flt spt-scalevel-x (meters 0.026666667))
(sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0)
(sp-copy-from-other spt-scalevel-y -4)
(sp-flt spt-fade-r -0.10666667)
(sp-flt spt-fade-g -0.15333334)
(sp-flt spt-fade-b -0.10666667)
(sp-flt spt-fade-a -0.10666667)
(sp-rnd-flt spt-accel-y -2.048 -7.5093336 1.0)
(sp-flt spt-friction 0.98)
(sp-int spt-timer 1500)
(sp-cpuinfo-flags bit2 bit12 bit14)
(sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 360.0) 1.0)
(sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0)
(sp-rnd-flt spt-conerot-radius (meters 0) (meters 2) 1.0)
)
)
;; failed to figure out what this is:
(defpartgroup group-beach-rocks-land
:id 555
:duration 900
:flags (use-local-clock)
:bounds (static-bspherem 0 0 0 64)
:parts
((sp-item 2342 :period 900 :length 40)
(sp-item 2343 :period 900 :length 40)
(sp-item 2291 :period 900 :length 40)
)
)
;; failed to figure out what this is:
(defpart 2343
:init-specs
((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2))
(sp-flt spt-num 32.0)
(sp-flt spt-y (meters -3))
(sp-rnd-flt spt-scale-x (meters 0.4) (meters 0.3) 1.0)
(sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 180.0) 1.0)
(sp-rnd-flt spt-scale-y (meters 32) (meters 10) 1.0)
(sp-rnd-flt spt-r 192.0 64.0 1.0)
(sp-rnd-flt spt-g 128.0 64.0 1.0)
(sp-flt spt-b 64.0)
(sp-rnd-flt spt-a 32.0 64.0 1.0)
(sp-flt spt-scalevel-y (meters 3.4133334))
(sp-flt spt-fade-r -0.10666667)
(sp-flt spt-fade-g -0.15333334)
(sp-flt spt-fade-b -0.10666667)
(sp-flt spt-fade-a -3.2)
(sp-int spt-timer 30)
(sp-cpuinfo-flags bit2 bit3 bit14)
)
)
;; failed to figure out what this is:
(defpart 2342
:init-specs
((sp-tex spt-texture (new 'static 'texture-id :index #x17 :page #x2))
(sp-rnd-flt spt-num 64.0 64.0 1.0)
(sp-rnd-flt spt-y (meters 0) (meters -4) 1.0)
(sp-rnd-flt spt-scale-x (meters 0.5) (meters 1) 1.0)
(sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0)
(sp-rnd-flt spt-scale-y (meters 0.5) (meters 1) 1.0)
(sp-rnd-flt spt-r 128.0 64.0 1.0)
(sp-rnd-flt spt-g 192.0 64.0 1.0)
(sp-rnd-flt spt-b 0.0 64.0 1.0)
(sp-rnd-flt spt-a 64.0 64.0 1.0)
(sp-rnd-flt spt-vel-y (meters 0.10666667) (meters 0.21333334) 1.0)
(sp-flt spt-scalevel-x (meters 0))
(sp-rnd-flt spt-rotvel-z (degrees -1.2) (degrees 2.4) 1.0)
(sp-copy-from-other spt-scalevel-y -4)
(sp-flt spt-fade-a -0.08533333)
(sp-rnd-flt spt-accel-y -3.4133334 -8.874666 1.0)
(sp-flt spt-friction 0.95)
(sp-int spt-timer 1500)
(sp-cpuinfo-flags bit2 bit12 bit14)
(sp-rnd-flt spt-conerot-x (degrees 60.0) (degrees 20.0) 1.0)
(sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0)
(sp-rnd-flt spt-conerot-radius (meters 0) (meters 5) 1.0)
)
)
;; failed to figure out what this is:
(defpart 2291
:init-specs
((sp-tex spt-texture (new 'static 'texture-id :page #x2))
(sp-rnd-flt spt-num 32.0 32.0 1.0)
(sp-rnd-flt spt-y (meters 0) (meters -4) 1.0)
(sp-rnd-flt spt-scale-x (meters 8) (meters 8) 1.0)
(sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0)
(sp-copy-from-other spt-scale-y -4)
(sp-rnd-flt spt-r 192.0 64.0 1.0)
(sp-rnd-flt spt-g 128.0 64.0 1.0)
(sp-flt spt-b 64.0)
(sp-rnd-flt spt-a 16.0 48.0 1.0)
(sp-rnd-flt spt-vel-y (meters 0.10666667) (meters 0.32) 1.0)
(sp-rnd-flt spt-scalevel-x (meters 0.033333335) (meters 0.02) 1.0)
(sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0)
(sp-copy-from-other spt-scalevel-y -4)
(sp-flt spt-fade-r -0.10666667)
(sp-flt spt-fade-g -0.15333334)
(sp-flt spt-fade-b -0.10666667)
(sp-flt spt-fade-a -0.10666667)
(sp-rnd-flt spt-accel-y -2.048 -7.5093336 1.0)
(sp-flt spt-friction 0.85)
(sp-int spt-timer 1500)
(sp-cpuinfo-flags bit2 bit12 bit14)
(sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 100.00001) 1.0)
(sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0)
(sp-rnd-flt spt-conerot-radius (meters 0) (meters 2) 1.0)
)
)
;; definition of type beach-rock
(deftype beach-rock (process-drawable)
((root-override collide-shape-moving :offset 112)
(trigger basic :offset-assert 176)
(movie-start time-frame :offset-assert 184)
(part-falling sparticle-launch-control :offset-assert 192)
(part-landing sparticle-launch-control :offset-assert 196)
(prev-frame float :offset-assert 200)
)
:heap-base #x60
:method-count-assert 24
:size-assert #xcc
:flag-assert #x18006000cc
(:methods
(idle () _type_ :state 20)
(loading () _type_ :state 21)
(falling () _type_ :state 22)
(fallen () _type_ :state 23)
)
)
;; definition for method 3 of type beach-rock
(defmethod inspect beach-rock ((obj beach-rock))
(let ((t9-0 (method-of-type process-drawable inspect)))
(t9-0 obj)
)
(format #t "~T~Ttrigger: ~A~%" (-> obj trigger))
(format #t "~T~Tmovie-start: ~D~%" (-> obj movie-start))
(format #t "~T~Tpart-falling: ~A~%" (-> obj part-falling))
(format #t "~T~Tpart-landing: ~A~%" (-> obj part-landing))
(format #t "~T~Tprev-frame: ~f~%" (-> obj prev-frame))
obj
)
;; definition for method 7 of type beach-rock
;; INFO: Return type mismatch none vs beach-rock.
(defmethod relocate beach-rock ((obj beach-rock) (arg0 int))
(if (nonzero? (-> obj part-falling))
(set! (-> obj part-falling) (the-as sparticle-launch-control (+ (the-as int (-> obj part-falling)) arg0)))
)
(if (nonzero? (-> obj part-landing))
(set! (-> obj part-landing) (the-as sparticle-launch-control (+ (the-as int (-> obj part-landing)) arg0)))
)
(the-as beach-rock ((the-as (function process-drawable int none) (find-parent-method beach-rock 7)) obj arg0))
)
;; definition for method 10 of type beach-rock
(defmethod deactivate beach-rock ((obj beach-rock))
(if (nonzero? (-> obj part-falling))
(kill-and-free-particles (-> obj part-falling))
)
(if (nonzero? (-> obj part-landing))
(kill-and-free-particles (-> obj part-landing))
)
((the-as (function process-drawable none) (find-parent-method beach-rock 10)) obj)
(none)
)
;; failed to figure out what this is:
(defstate idle (beach-rock)
:virtual #t
:event
(behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block))
(case arg2
(('trigger)
(set! (-> self trigger) #t)
(go-virtual falling)
)
(('loading)
(go-virtual loading)
)
)
)
:code
(behavior ()
(if (-> self trigger)
(go-virtual falling)
)
(ja-channel-set! 0)
(ja-post)
(while #t
(logior! (-> self mask) (process-mask sleep))
(suspend)
)
(none)
)
)
;; failed to figure out what this is:
(defstate loading (beach-rock)
:virtual #t
:event
(-> (the-as state (method-of-type beach-rock idle)) event)
:code
(behavior ()
(while #t
(spool-push *art-control* "lrocklrg-falling" 0 self -1.0)
(suspend)
)
(none)
)
)
;; failed to figure out what this is:
(defstate falling (beach-rock)
:virtual #t
:trans
(behavior ()
(set! (-> self draw bounds w) 819200.0)
(let ((f30-0 (ja-aframe-num 0)))
(when (and (< -50.0 f30-0) (< f30-0 158.0))
(let ((gp-0 (new 'stack-no-clear 'vector)))
(set! (-> gp-0 quad) (-> self root-override trans quad))
(spawn (-> self part) gp-0)
(set! (-> gp-0 x) (+ 122880.0 (-> gp-0 x)))
(set! (-> gp-0 z) (+ 102400.0 (-> gp-0 z)))
(spawn (-> self part) gp-0)
)
)
(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)))
)
(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)))
)
(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)))
)
(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)))
)
(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)))
)
(set! (-> self prev-frame) f30-0)
)
(none)
)
:code
(behavior ()
(local-vars (v1-3 symbol) (v1-49 symbol))
(until v1-3
(spool-push *art-control* "lrocklrg-falling" 0 self -1.0)
(suspend)
(set! v1-3 (or (not *target*) (process-grab? *target*)))
)
(logclear! (-> self draw status) (draw-status hidden))
(ja-channel-set! 1)
(let ((gp-0 (-> self skel root-channel 0)))
(joint-control-channel-group-eval!
gp-0
(the-as art-joint-anim (-> self draw art-group data 2))
num-func-identity
)
(set! (-> gp-0 frame-num) 0.0)
)
(let* ((gp-1 (get-process *default-dead-pool* othercam #x4000))
(gp-2 (ppointer->handle (when gp-1
(let ((t9-5 (method-of-type othercam activate)))
(t9-5 (the-as othercam gp-1) self 'othercam (the-as pointer #x70004000))
)
(run-now-in-process gp-1 othercam-init-by-other self 7 #f #t)
(-> gp-1 ppointer)
)
)
)
(s5-0 (get-process *default-dead-pool* fuel-cell #x4000))
(s5-1
(ppointer->handle
(when s5-0
(let ((t9-8 (method-of-type fuel-cell activate)))
(t9-8 (the-as fuel-cell s5-0) self 'fuel-cell (the-as pointer #x70004000))
)
(run-now-in-process s5-0 fuel-cell-init-as-clone (process->handle self) (-> self entity extra perm task))
(-> s5-0 ppointer)
)
)
)
)
(close-specific-task! (-> self entity extra perm task) (task-status need-reminder))
(set! (-> self movie-start) (-> *display* base-frame-counter))
(spool-push *art-control* "lrocklrg-falling" 0 self -1.0)
(ja-play-spooled-anim
(new 'static 'spool-anim
:name "lrocklrg-falling"
:index 4
: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 (function process-drawable symbol) false-func)
)
(process-entity-status! self (entity-perm-status complete) #t)
(cond
((handle->process gp-2)
(deactivate (-> gp-2 process 0))
)
(else
)
)
(let ((a0-28 (handle->process s5-1)))
(if a0-28
(send-event a0-28 'stop-cloning)
)
)
)
(until v1-49
(suspend)
(set! v1-49 (or (not *target*) (process-release? *target*)))
)
(set! (-> self draw bounds w) 20480.0)
(go-virtual fallen)
(none)
)
:post
(the-as (function none :behavior beach-rock) transform-post)
)
;; failed to figure out what this is:
(defstate fallen (beach-rock)
:virtual #t
:code
(behavior ()
(level-hint-spawn
(game-text-id beach-seagulls-avalanche)
"sksp0025"
(the-as entity #f)
*entity-pool*
(game-task none)
)
(let ((v1-2 (-> self skel root-channel 0)))
(set! (-> v1-2 frame-group) (the-as art-joint-anim (-> self draw art-group data 3)))
)
(TODO-RENAME-9 (-> self align))
(let ((v1-6 (first-transform (-> self align))))
(set! (-> self root-override trans quad) (-> self entity extra trans quad))
(+! (-> self root-override trans y) (-> v1-6 trans y))
)
(suspend)
(update-transforms! (-> self root-override))
(logior! (-> self mask) (process-mask sleep))
(suspend)
0
(none)
)
:post
(the-as (function none :behavior beach-rock) ja-post)
)
;; definition for method 11 of type beach-rock
;; INFO: Return type mismatch object vs none.
(defmethod init-from-entity! beach-rock ((obj beach-rock) (arg0 entity-actor))
(set! (-> obj link) (new 'process 'actor-link-info obj))
(set! (-> obj align) (new 'process 'align-control obj))
(set! (-> obj trigger) #f)
(logclear! (-> obj mask) (process-mask actor-pause))
(set! (-> obj part) (create-launch-control (-> *part-group-id-table* 553) obj))
(set! (-> obj part-falling) (create-launch-control (-> *part-group-id-table* 554) obj))
(set! (-> obj part-landing) (create-launch-control (-> *part-group-id-table* 555) obj))
(set! (-> obj prev-frame) -1000.0)
(set! (-> obj draw origin-joint-index) (the-as uint 4))
(case (get-task-status (-> obj entity extra perm task))
(((task-status invalid))
(go (method-of-object obj fallen))
)
(((task-status need-resolution))
(let ((s5-0 (new 'stack-no-clear 'vector)))
(ja-post)
(vector<-cspace! s5-0 (-> obj node-list data 8))
(birth-pickup-at-point
s5-0
(pickup-type fuel-cell)
(the float (the-as int (-> obj entity extra perm task)))
#f
obj
(the-as fact-info #f)
)
)
(go (method-of-object obj fallen))
)
(else
(go (method-of-object obj idle))
)
)
(none)
)
;; definition of type lrocklrg
(deftype lrocklrg (beach-rock)
()
:heap-base #x60
:method-count-assert 24
:size-assert #xcc
:flag-assert #x18006000cc
)
;; definition for method 3 of type lrocklrg
(defmethod inspect lrocklrg ((obj lrocklrg))
(let ((t9-0 (method-of-type beach-rock inspect)))
(t9-0 obj)
)
obj
)
;; definition for method 11 of type lrocklrg
(defmethod init-from-entity! lrocklrg ((obj lrocklrg) (arg0 entity-actor))
(stack-size-set! (-> obj main-thread) 512)
(let ((s4-0 (new 'process 'collide-shape-moving obj (collide-list-enum hit-by-player))))
(set! (-> s4-0 dynam) (copy *standard-dynamics* 'process))
(set! (-> s4-0 reaction) default-collision-reaction)
(set! (-> s4-0 no-reaction)
(the-as (function collide-shape-moving collide-shape-intersect vector vector none) nothing)
)
(let ((s3-0 (new 'process 'collide-shape-prim-mesh s4-0 (the-as uint 0) (the-as uint 0))))
(set! (-> s3-0 prim-core collide-as) (collide-kind background))
(set! (-> s3-0 collide-with) (collide-kind target))
(set! (-> s3-0 prim-core action) (collide-action solid))
(set! (-> s3-0 prim-core offense) (collide-offense indestructible))
(set! (-> s3-0 transform-index) 4)
(set-vector! (-> s3-0 local-sphere) 0.0 0.0 0.0 24576.0)
(set-root-prim! s4-0 s3-0)
)
(set! (-> s4-0 nav-radius) (* 0.75 (-> s4-0 root-prim local-sphere w)))
(backup-collide-with-as s4-0)
(set! (-> obj root-override) s4-0)
)
(process-drawable-from-entity! obj arg0)
(initialize-skeleton obj *lrocklrg-sg* '())
((method-of-type beach-rock init-from-entity!) obj arg0)
(none)
)