mirror of
https://github.com/open-goal/jak-project
synced 2026-07-08 06:30:44 -04:00
decomp: mood (#672)
* decomp: Almost finished `mood`, but confused over the `mood-context` type! * only function that remains involves vftoi / ppach instructions * stash * decomp: fix inline array access issue * decomp: finalize `mood` * linting
This commit is contained in:
@@ -284,7 +284,7 @@ void try_reverse_lookup_inline_array(const FieldReverseLookupInput& input,
|
||||
const_idx_node.token.kind = FieldReverseLookupOutput::Token::Kind::CONSTANT_IDX;
|
||||
const_idx_node.token.idx = elt_idx;
|
||||
|
||||
if (offset_into_elt == 0 && !input.deref.has_value()) {
|
||||
if (offset_into_elt == 0 && !input.deref.has_value() && !input.stride) {
|
||||
// just get an element (possibly zero, and we want to include the 0 if so)
|
||||
// for the degenerate inline-array case, it seems more likely that we get the zeroth object
|
||||
// rather than the array, so this goes before that case.
|
||||
@@ -296,7 +296,7 @@ void try_reverse_lookup_inline_array(const FieldReverseLookupInput& input,
|
||||
}
|
||||
|
||||
// can we just return the array?
|
||||
if (offset_into_elt == 0 && !input.deref.has_value() && elt_idx == 0) {
|
||||
if (offset_into_elt == 0 && !input.deref.has_value() && elt_idx == 0 && !input.stride) {
|
||||
auto parent_vec = parent_to_vector(parent);
|
||||
if (!parent_vec.empty()) {
|
||||
output->results.emplace_back(false, input.base_type, parent_to_vector(parent));
|
||||
|
||||
+106
-107
@@ -788,9 +788,9 @@
|
||||
(game-options #x127)
|
||||
(graphic-options #x128)
|
||||
(sound-options #x129)
|
||||
|
||||
|
||||
(hidden-power-cell #x12f) ;; why is this here??
|
||||
|
||||
|
||||
(continue-without-saving #x13f)
|
||||
(back #x13e)
|
||||
(load-game #x14b)
|
||||
@@ -800,7 +800,7 @@
|
||||
(ok #x15e)
|
||||
(exit-demo #x15f)
|
||||
(quit-game #x16f)
|
||||
|
||||
|
||||
(village1-mayor-money #x200)
|
||||
(vollage1-uncle-money #x201)
|
||||
(village1-yakow-herd #x202)
|
||||
@@ -825,43 +825,43 @@
|
||||
(misty-return-to-pool #x215) ;; task name??
|
||||
(misty-find-transpad #x216) ;; task name?
|
||||
(misty-balloon-lurkers #x217)
|
||||
|
||||
|
||||
(village1-level-name #x220)
|
||||
(beach-level-name #x221)
|
||||
(jungle-level-name #x222)
|
||||
(misty-level-name #x223)
|
||||
|
||||
|
||||
(beach-seagull-get #x22e)
|
||||
|
||||
|
||||
(jungle-lurkerm-unblock #x22f)
|
||||
(jungle-lurkerm-return #x230)
|
||||
|
||||
|
||||
(MISSING-orb-hint #x233)
|
||||
|
||||
|
||||
(beach-gimmie #x262)
|
||||
(beach-sentinel #x263)
|
||||
(jungle-canyon-end #x264)
|
||||
(jungle-temple-door #x265)
|
||||
(misty-bike-jump #x266)
|
||||
(misty-eco-challenge #x267)
|
||||
|
||||
|
||||
(village2-gambler-money #x300)
|
||||
(village2-geologist-money #x301)
|
||||
(village2-warrior-money #x302)
|
||||
(village2-oracle-money #x303)
|
||||
(swamp-tether #x304)
|
||||
|
||||
|
||||
(swamp-flutflut #x307)
|
||||
|
||||
|
||||
(swamp-billy #x309)
|
||||
|
||||
|
||||
(sunken-elevator-raise #x30a)
|
||||
(sunken-elevator-get-to-roof #x30b)
|
||||
(sunken-pipe #x30c)
|
||||
(sunken-climb-tube #x30d) ;; task name?
|
||||
(sunken-pool #x30e) ;; task name?
|
||||
(sunken-platforms #x30f)
|
||||
|
||||
|
||||
(rolling-moles #x310)
|
||||
(rolling-moles-return #x311)
|
||||
(rolling-robbers #x312)
|
||||
@@ -869,22 +869,22 @@
|
||||
(rolling-race-return #x314)
|
||||
(rolling-lake #x315)
|
||||
(rolling-plants #x316)
|
||||
|
||||
|
||||
(unknown-buzzers #x317)
|
||||
|
||||
|
||||
(village2-level-name #x319)
|
||||
|
||||
|
||||
(rolling-level-name #x31b)
|
||||
(swamp-level-name #x31c)
|
||||
(sunken-level-name #x31d)
|
||||
(ogre-level-name #x31e)
|
||||
|
||||
|
||||
(swamp-battle #x321)
|
||||
(sunken-bottom #x322) ;; task name?
|
||||
(reach-center #x323) ;; task name?
|
||||
(rolling-ring-chase-1 #x324)
|
||||
(rolling-ring-chase-2 #x325)
|
||||
|
||||
|
||||
(village3-miner-money #x400)
|
||||
(village3-oracle-money #x401)
|
||||
(snow-ram-3-left #x402)
|
||||
@@ -893,58 +893,58 @@
|
||||
(snow-fort #x405)
|
||||
(snow-bunnies #x406)
|
||||
(snow-open-door #x408) ;; task name?
|
||||
|
||||
|
||||
(cave-robot-climb #x40e)
|
||||
(cave-dark-climb #x40f) ;; destroy crystals
|
||||
|
||||
|
||||
(cave-gnawers #x410)
|
||||
(cave-dark-crystals #x411)
|
||||
|
||||
|
||||
(village3-buzzer #x413)
|
||||
|
||||
|
||||
(village3-level-name #x415)
|
||||
|
||||
|
||||
(snowy-level-name #x417)
|
||||
|
||||
|
||||
(cave-level-name #x419)
|
||||
|
||||
|
||||
(lavatube-level-name #x41b)
|
||||
|
||||
|
||||
(snow-eggtop #x421)
|
||||
|
||||
|
||||
(cave-spider-tunnel #x423)
|
||||
(cave-platforms #x424)
|
||||
|
||||
|
||||
(cave-swing-poles #x426)
|
||||
|
||||
|
||||
(snow-frozen-crate #x42b) ;; task name?
|
||||
(snow-bumpers #x42c)
|
||||
|
||||
|
||||
(fire-canyon-end #x500)
|
||||
(fire-canyon-buzzer #x501)
|
||||
|
||||
|
||||
(fire-canyon-level-name #x50c)
|
||||
|
||||
|
||||
(ogre-end #x600)
|
||||
(ogre-buzzer #x601)
|
||||
(ogre-boss #x603)
|
||||
|
||||
|
||||
(lavatube-end #x700)
|
||||
(lavatube-buzzer #x701)
|
||||
|
||||
|
||||
(citadel-buzzer #x800)
|
||||
(citadel-level-name #x801)
|
||||
(citadel-sage-blue #x802)
|
||||
(citadel-sage-red #x803)
|
||||
(citadel-sage-yellow #x804)
|
||||
(citadel-sage-green #x805)
|
||||
|
||||
|
||||
(training-gimmie-task-name #x91b)
|
||||
(training-buzzer-task-name #x91c)
|
||||
(training-door-task-name #x91d)
|
||||
(training-climb-task-name #x91e)
|
||||
(training-level-name #x91f)
|
||||
|
||||
|
||||
(inc #xf10)
|
||||
(europe #xf11)
|
||||
)
|
||||
@@ -2192,7 +2192,7 @@
|
||||
(point-toward-point! (_type_ vector) quaternion 12)
|
||||
(seek-toward-yaw-angle! (_type_ float float int) quaternion 13)
|
||||
(set-yaw-angle-clear-roll-pitch! (_type_ float) quaternion 14)
|
||||
|
||||
|
||||
(set-roll-to-grav! (_type_ float) quaternion 15)
|
||||
(set-roll-to-grav-2! (_type_ float) quaternion 16)
|
||||
(rotate-toward-orientation! (_type_ quaternion float float) quaternion 17)
|
||||
@@ -6417,7 +6417,7 @@
|
||||
)
|
||||
|
||||
(deftype light-volume (basic)
|
||||
((light-array basic :offset-assert 4)
|
||||
((light-array light-array :offset-assert 4)
|
||||
)
|
||||
:method-count-assert 9
|
||||
:size-assert #x8
|
||||
@@ -7182,6 +7182,7 @@
|
||||
(itimes vector4w 4 :inline :offset-assert 1856)
|
||||
(state uint8 16 :offset-assert 1920)
|
||||
(num-stars float :offset-assert 1936)
|
||||
(some-byte uint8 :offset 1939)
|
||||
)
|
||||
(:methods
|
||||
(new (symbol type) _type_ 0)
|
||||
@@ -9817,7 +9818,7 @@
|
||||
(dist meters :offset-assert 84)
|
||||
(control float :offset-assert 88)
|
||||
(angle basic :offset-assert 92)
|
||||
(rotate-to degrees :offset-assert 96)
|
||||
(rotate-to degrees :offset-assert 96)
|
||||
(prev-state basic :offset-assert 100)
|
||||
)
|
||||
:method-count-assert 10
|
||||
@@ -11393,6 +11394,7 @@
|
||||
|
||||
;; - Types
|
||||
|
||||
(declare-type sidekick basic)
|
||||
(deftype target (process-drawable)
|
||||
((control control-info :score 100 :offset 112)
|
||||
(skel2 basic :offset-assert 176)
|
||||
@@ -11402,8 +11404,8 @@
|
||||
(state-hook-time uint64 :offset-assert 192)
|
||||
(state-hook function :offset-assert 200)
|
||||
(cam-user-mode symbol :offset-assert 204)
|
||||
(sidekick uint32 :offset-assert 208)
|
||||
(manipy uint32 :offset-assert 212)
|
||||
(sidekick (pointer sidekick) :offset-assert 208)
|
||||
(manipy (pointer manipy) :offset-assert 212)
|
||||
(attack-info attack-info :inline :offset-assert 224)
|
||||
(attack-info-rec attack-info :inline :offset-assert 336)
|
||||
(anim-seed uint64 :offset-assert 440)
|
||||
@@ -15407,7 +15409,7 @@
|
||||
;;(define-extern *use-generic* object) ;; unknown type
|
||||
(define-extern *merc-global-array* merc-global-array) ;; unknown type
|
||||
;;(define-extern *bones-first* object) ;; unknown type
|
||||
;;(define-extern *default-shadow-settings* object) ;; unknown type
|
||||
(define-extern *default-shadow-settings* shadow-settings)
|
||||
|
||||
|
||||
;; ----------------------
|
||||
@@ -16906,75 +16908,72 @@
|
||||
|
||||
;; - Functions
|
||||
|
||||
(define-extern clear-mood-times function)
|
||||
(define-extern update-mood-quick function)
|
||||
(define-extern update-mood-flames function)
|
||||
(define-extern update-mood-light function)
|
||||
(define-extern target-joint-pos function)
|
||||
(define-extern update-mood-itimes function)
|
||||
(define-extern update-mood-fog (function mood-fog mood-lights-table none))
|
||||
(define-extern update-mood-sky-texture function)
|
||||
(define-extern update-mood-palette function)
|
||||
(define-extern update-mood-interp function)
|
||||
(define-extern update-mood-lightning function)
|
||||
(define-extern update-mood-lava function)
|
||||
(define-extern update-light-kit function)
|
||||
(define-extern set-target-light-index function)
|
||||
(define-extern update-mood-caustics function)
|
||||
(define-extern update-mood-jungleb-blue function)
|
||||
(define-extern update-mood-prt-color function)
|
||||
(define-extern update-mood-default function)
|
||||
(define-extern update-mood-misty function)
|
||||
(define-extern update-mood-village2 function)
|
||||
(define-extern update-mood-swamp function)
|
||||
(define-extern update-mood-village1 function)
|
||||
(define-extern update-mood-jungle function)
|
||||
(define-extern update-mood-jungleb function)
|
||||
(define-extern update-mood-sunken function)
|
||||
(define-extern update-mood-rolling function)
|
||||
(define-extern update-mood-firecanyon function)
|
||||
(define-extern update-mood-training function)
|
||||
(define-extern update-mood-maincave function)
|
||||
(define-extern update-mood-darkcave function)
|
||||
(define-extern update-mood-robocave function)
|
||||
(define-extern update-mood-snow function)
|
||||
(define-extern update-mood-village3 function)
|
||||
(define-extern update-mood-lavatube function)
|
||||
(define-extern update-mood-ogre function)
|
||||
(define-extern update-mood-finalboss function)
|
||||
(define-extern update-mood-citadel function)
|
||||
(define-extern clear-mood-times (function mood-context symbol))
|
||||
(define-extern update-mood-quick (function mood-context int int int int vector))
|
||||
(define-extern update-mood-flames (function mood-context int int int float float float none))
|
||||
(define-extern update-mood-light (function mood-context int int int float float float int none))
|
||||
(define-extern target-joint-pos (function vector)) ;; TODO - unconfirmed
|
||||
(define-extern update-mood-itimes (function mood-context none)) ;; TODO - implement VFTOI12 and PPACH
|
||||
(define-extern update-mood-fog (function mood-context float vector))
|
||||
(define-extern update-mood-sky-texture (function mood-context float vector))
|
||||
(define-extern update-mood-palette (function mood-context float int float))
|
||||
(define-extern update-mood-interp (function mood-context mood-context mood-context float none))
|
||||
(define-extern update-mood-lightning (function mood-context int int int int float symbol none)) ;; TODO - asm - ret not verified
|
||||
(define-extern update-mood-lava (function mood-context float int symbol none))
|
||||
(define-extern update-light-kit (function light-group light float float))
|
||||
(define-extern set-target-light-index (function int int))
|
||||
(define-extern update-mood-caustics (function mood-context int int float)) ;; TODO - double check
|
||||
(define-extern update-mood-jungleb-blue (function mood-context float int vector))
|
||||
(define-extern update-mood-prt-color (function mood-context vector))
|
||||
(define-extern update-mood-default (function mood-context float int none))
|
||||
(define-extern update-mood-misty (function mood-context float float none))
|
||||
(define-extern update-mood-village2 (function mood-context float int none))
|
||||
(define-extern update-mood-swamp (function mood-context float int none))
|
||||
(define-extern update-mood-village1 (function mood-context float int none))
|
||||
(define-extern update-mood-jungle (function mood-context float int none))
|
||||
(define-extern update-mood-jungleb (function mood-context float int none))
|
||||
(define-extern update-mood-sunken (function mood-context float int none))
|
||||
(define-extern update-mood-rolling (function mood-context float int none))
|
||||
(define-extern update-mood-firecanyon (function mood-context float int none))
|
||||
(define-extern update-mood-training (function mood-context float int none))
|
||||
(define-extern update-mood-maincave (function mood-context float int none))
|
||||
(define-extern update-mood-darkcave (function mood-context float int none))
|
||||
(define-extern update-mood-robocave (function mood-context float int none))
|
||||
(define-extern update-mood-snow (function mood-context float int none)) ;; TODO - weirdness with `state` on `mood-context`
|
||||
(define-extern update-mood-village3 (function mood-context float int none))
|
||||
(define-extern update-mood-lavatube (function mood-context float int none))
|
||||
(define-extern update-mood-ogre (function mood-context float int none))
|
||||
(define-extern update-mood-finalboss (function mood-context float int none))
|
||||
(define-extern update-mood-citadel (function mood-context float int none))
|
||||
|
||||
;; - Symbols
|
||||
|
||||
(define-extern *time-of-day-proc* (pointer time-of-day-proc))
|
||||
|
||||
;; - Unknowns
|
||||
|
||||
;;(define-extern *lightning-time2* object) ;; unknown type
|
||||
;;(define-extern *rolling-spheres-on* object) ;; unknown type
|
||||
;;(define-extern *rolling-spheres-light0* object) ;; unknown type
|
||||
;;(define-extern *rolling-spheres-light1* object) ;; unknown type
|
||||
;;(define-extern *rolling-spheres-light2* object) ;; unknown type
|
||||
;;(define-extern *rolling-spheres-light3* object) ;; unknown type
|
||||
;;(define-extern *rolling-spheres-light4* object) ;; unknown type
|
||||
;;(define-extern *flash0* object) ;; unknown type
|
||||
;;(define-extern *flash1* object) ;; unknown type
|
||||
;;(define-extern *flash2* object) ;; unknown type
|
||||
;;(define-extern *flash3* object) ;; unknown type
|
||||
;;(define-extern *flash4* object) ;; unknown type
|
||||
;;(define-extern *flash5* object) ;; unknown type
|
||||
;;(define-extern *flash6* object) ;; unknown type
|
||||
;;(define-extern *flash7* object) ;; unknown type
|
||||
;;(define-extern *lightning-index* object) ;; unknown type
|
||||
;;(define-extern *lightning-time* object) ;; unknown type
|
||||
;;(define-extern *lightning-frame-done* object) ;; unknown type
|
||||
;;(define-extern *lightning-realtime-done* object) ;; unknown type
|
||||
;;(define-extern *thunder-id0* object) ;; unknown type
|
||||
;;(define-extern *thunder-id1* object) ;; unknown type
|
||||
;;(define-extern *thunder-id2* object) ;; unknown type
|
||||
;;(define-extern *thunder-id* object) ;; unknown type
|
||||
;;(define-extern *thunder-count* object) ;; unknown type
|
||||
;;(define-extern *lava-time* object) ;; unknown type
|
||||
(define-extern *lightning-time2* float) ;; TODO - guess
|
||||
(define-extern *rolling-spheres-on* (inline-array vector)) ;; 11 vectors
|
||||
(define-extern *rolling-spheres-light0* vector) ;; TODO - what is going on here...
|
||||
(define-extern *rolling-spheres-light1* (inline-array vector)) ; TODO - what is going on here...
|
||||
(define-extern *rolling-spheres-light2* light-ellipse)
|
||||
(define-extern *rolling-spheres-light3* (inline-array vector))
|
||||
(define-extern *rolling-spheres-light4* vector) ;; TODO - what is going on here...
|
||||
(define-extern *flash0* (array float))
|
||||
(define-extern *flash1* (array float))
|
||||
(define-extern *flash2* (array float))
|
||||
(define-extern *flash3* (array float))
|
||||
(define-extern *flash4* (array float))
|
||||
(define-extern *flash5* (array float))
|
||||
(define-extern *flash6* (array float))
|
||||
(define-extern *flash7* (array float))
|
||||
(define-extern *lightning-index* int)
|
||||
(define-extern *lightning-time* float) ;; a guess, might be uint (useconds)
|
||||
(define-extern *lightning-frame-done* symbol)
|
||||
(define-extern *lightning-realtime-done* symbol)
|
||||
(define-extern *thunder-id0* sound-id)
|
||||
(define-extern *thunder-id1* sound-id)
|
||||
(define-extern *thunder-id2* sound-id)
|
||||
(define-extern *thunder-id* sound-id)
|
||||
(define-extern *thunder-count* int)
|
||||
(define-extern *lava-time* int) ;; TODO - guess
|
||||
|
||||
|
||||
;; ----------------------
|
||||
|
||||
@@ -1343,6 +1343,64 @@
|
||||
["L99", "float", true]
|
||||
],
|
||||
|
||||
"mood": [
|
||||
["L256", "vector", true],
|
||||
["L257", "vector", true],
|
||||
["L258", "vector", true],
|
||||
["L259", "vector", true],
|
||||
["L260", "vector", true],
|
||||
["L261", "vector", true],
|
||||
["L262", "(inline-array vector)", true, 2],
|
||||
["L263", "light-ellipse", true],
|
||||
["L264", "(inline-array vector)", true, 4],
|
||||
["L265", "vector", true],
|
||||
["L266", "(inline-array vector)", true, 11],
|
||||
["L267", "vector", true],
|
||||
["L268", "vector", true],
|
||||
["L269", "vector", true],
|
||||
["L270", "vector", true],
|
||||
["L271", "vector", true],
|
||||
["L272", "vector", true],
|
||||
["L273", "vector", true],
|
||||
["L274", "vector", true],
|
||||
["L275", "vector", true],
|
||||
["L276", "vector", true],
|
||||
["L277", "vector", true],
|
||||
["L278", "vector", true],
|
||||
["L279", "vector", true],
|
||||
["L287", "(array float)", true],
|
||||
["L286", "(array float)", true],
|
||||
["L285", "(array float)", true],
|
||||
["L284", "(array float)", true],
|
||||
["L283", "(array float)", true],
|
||||
["L282", "(array float)", true],
|
||||
["L281", "(array float)", true],
|
||||
["L280", "(array float)", true],
|
||||
["L290", "float", true],
|
||||
["L291", "float", true],
|
||||
["L392", "float", true],
|
||||
["L393", "float", true],
|
||||
["L404", "float", true],
|
||||
["L419", "float", true],
|
||||
["L420", "float", true],
|
||||
["L421", "float", true],
|
||||
["L429", "float", true],
|
||||
["L450", "float", true],
|
||||
["L452", "float", true],
|
||||
["L453", "float", true],
|
||||
["L454", "float", true],
|
||||
["L455", "float", true],
|
||||
["L460", "float", true],
|
||||
["L461", "float", true],
|
||||
["L463", "float", true],
|
||||
["L465", "float", true],
|
||||
["L471", "float", true],
|
||||
["L480", "float", true],
|
||||
["L494", "float", true],
|
||||
["L497", "float", true],
|
||||
["L508", "float", true]
|
||||
],
|
||||
|
||||
// please do not add things after this entry! git is dumb.
|
||||
"object-file-that-doesnt-actually-exist-and-i-just-put-this-here-to-prevent-merge-conflicts-with-this-file": []
|
||||
}
|
||||
|
||||
@@ -720,5 +720,81 @@
|
||||
[48, "vector"]
|
||||
],
|
||||
|
||||
"(anon-function 28 task-control)": [[16, "event-message-block"]],
|
||||
|
||||
"update-mood-prt-color": [
|
||||
[16, "vector"]
|
||||
],
|
||||
|
||||
"update-mood-swamp": [
|
||||
[16, "vector"]
|
||||
],
|
||||
|
||||
"update-mood-village1": [
|
||||
[16, "vector"]
|
||||
],
|
||||
|
||||
"update-mood-maincave": [
|
||||
[16, "vector"]
|
||||
],
|
||||
|
||||
"update-mood-ogre": [
|
||||
[16, "vector"]
|
||||
],
|
||||
|
||||
"update-mood-finalboss": [
|
||||
[16, "vector"],
|
||||
[32, "vector"]
|
||||
],
|
||||
|
||||
"update-mood-darkcave": [
|
||||
[16, "vector"],
|
||||
[32, "vector"]
|
||||
],
|
||||
|
||||
"update-mood-citadel": [
|
||||
[16, "vector"],
|
||||
[32, "vector"],
|
||||
[48, "vector"],
|
||||
[64, "vector"],
|
||||
[80, "vector"],
|
||||
[96, "vector"],
|
||||
[112, "vector"],
|
||||
[128, "vector"]
|
||||
],
|
||||
|
||||
"update-mood-jungleb": [
|
||||
[16, "vector"],
|
||||
[32, "vector"],
|
||||
[48, "vector"]
|
||||
],
|
||||
|
||||
"update-mood-sunken": [
|
||||
[16, "vector"],
|
||||
[32, "vector"],
|
||||
[48, "vector"],
|
||||
[64, "vector"]
|
||||
],
|
||||
|
||||
"update-mood-village2": [
|
||||
[16, "vector"],
|
||||
[32, "vector"],
|
||||
[48, "vector"],
|
||||
[64, "vector"]
|
||||
],
|
||||
|
||||
"update-mood-rolling": [
|
||||
[16, "vector"] // TODO - really not sure about this one
|
||||
],
|
||||
|
||||
"update-mood-village3": [
|
||||
[16, "vector"],
|
||||
[32, "vector"],
|
||||
[48, "vector"],
|
||||
[64, "vector"],
|
||||
[80, "vector"],
|
||||
[96, "vector"]
|
||||
],
|
||||
|
||||
"placeholder-do-not-add-below!": []
|
||||
}
|
||||
|
||||
@@ -1647,5 +1647,48 @@
|
||||
[[54, 58], "t9", "(function object object)"]
|
||||
],
|
||||
|
||||
"update-mood-village3": [
|
||||
[[236, 245], "s0", "(array float)"],
|
||||
[245, "s0", "(array int8)"],
|
||||
[[246, 297], "s0", "(array float)"],
|
||||
[[297, 309], "s0", "(array uint8)"],
|
||||
[[309, 314], "s0", "matrix"] // TODO - there is no way this is correct lol
|
||||
],
|
||||
|
||||
"update-mood-citadel": [
|
||||
[291, "s5", "(pointer float)"],
|
||||
[298, "s5", "(pointer float)"],
|
||||
[300, "s5", "(pointer float)"],
|
||||
[304, "s5", "(pointer float)"],
|
||||
[307, "s5", "(pointer float)"],
|
||||
[318, "s5", "(pointer float)"]
|
||||
],
|
||||
|
||||
"update-mood-finalboss": [
|
||||
[40, "s4", "(pointer int64)"],
|
||||
[44, "s4", "(pointer int64)"],
|
||||
[174, "s4", "(pointer int64)"],
|
||||
[251, "s4", "(pointer int64)"],
|
||||
[255, "s4", "(pointer int64)"],
|
||||
[347, "s4", "(pointer int64)"]
|
||||
],
|
||||
|
||||
"update-mood-ogre": [
|
||||
[57, "s4", "(pointer float)"],
|
||||
[64, "s4", "(pointer float)"],
|
||||
[90, "s4", "(pointer float)"],
|
||||
[92, "s4", "(pointer float)"],
|
||||
[95, "s4", "(pointer float)"],
|
||||
[98, "s4", "(pointer float)"],
|
||||
[100, "s4", "(pointer float)"],
|
||||
[105, "s4", "(pointer float)"],
|
||||
[144, "s4", "(pointer float)"]
|
||||
],
|
||||
|
||||
"update-mood-snow": [
|
||||
[93, "s5", "vector"],
|
||||
[110, "s5", "vector"]
|
||||
],
|
||||
|
||||
"placeholder-do-not-add-below": []
|
||||
}
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -125,3 +125,6 @@
|
||||
)
|
||||
|
||||
(define-extern vu-lights<-light-group! (function vu-lights light-group none))
|
||||
|
||||
;; TODO - for mood
|
||||
(define-extern *default-shadow-settings* shadow-settings)
|
||||
|
||||
@@ -136,3 +136,5 @@
|
||||
(defun-extern on symbol process)
|
||||
(defun-extern off int)
|
||||
(define-extern set-master-mode (function symbol none))
|
||||
|
||||
(define-extern paused? (function symbol))
|
||||
|
||||
@@ -54,7 +54,7 @@
|
||||
)
|
||||
|
||||
(deftype light-volume (basic)
|
||||
((light-array basic :offset-assert 4)
|
||||
((light-array light-array :offset-assert 4)
|
||||
)
|
||||
:method-count-assert 9
|
||||
:size-assert #x8
|
||||
|
||||
@@ -82,10 +82,11 @@
|
||||
(itimes vector4w 4 :inline :offset-assert 1856)
|
||||
(state uint8 16 :offset-assert 1920)
|
||||
(num-stars float :offset-assert 1936)
|
||||
(some-byte uint8 :offset 1939)
|
||||
)
|
||||
(:methods
|
||||
(new (symbol type) _type_ 0)
|
||||
)
|
||||
(:methods
|
||||
(new (symbol type) _type_ 0)
|
||||
)
|
||||
:method-count-assert 9
|
||||
:size-assert #x794
|
||||
:flag-assert #x900000794
|
||||
|
||||
@@ -111,3 +111,5 @@
|
||||
(define *time-of-day-mode* 8) ;; flags? enum?
|
||||
(define *time-of-day-context* (new 'static 'time-of-day-context))
|
||||
|
||||
;; TODO for mood
|
||||
(define-extern *time-of-day-proc* (pointer time-of-day-proc))
|
||||
|
||||
@@ -6,6 +6,7 @@
|
||||
;; dgos: GAME, ENGINE
|
||||
|
||||
;; definition of type target
|
||||
(declare-type sidekick basic)
|
||||
(deftype target (process-drawable)
|
||||
((control control-info :score 100 :offset 112)
|
||||
(skel2 basic :offset-assert 176)
|
||||
@@ -15,8 +16,8 @@
|
||||
(state-hook-time uint64 :offset-assert 192)
|
||||
(state-hook function :offset-assert 200)
|
||||
(cam-user-mode symbol :offset-assert 204)
|
||||
(sidekick uint32 :offset-assert 208)
|
||||
(manipy uint32 :offset-assert 212)
|
||||
(sidekick (pointer sidekick) :offset-assert 208)
|
||||
(manipy (pointer manipy) :offset-assert 212)
|
||||
(attack-info attack-info :inline :offset-assert 224)
|
||||
(attack-info-rec attack-info :inline :offset-assert 336)
|
||||
(anim-seed uint64 :offset-assert 440)
|
||||
@@ -62,3 +63,6 @@
|
||||
(defun-extern stop symbol int)
|
||||
(defun-extern start symbol continue-point target)
|
||||
|
||||
|
||||
;; TODO - for mood
|
||||
(define-extern target-joint-pos (function vector)) ;; TODO - unconfirmed
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -95,7 +95,7 @@
|
||||
|
||||
;; definition of type light-volume
|
||||
(deftype light-volume (basic)
|
||||
((light-array basic :offset-assert 4)
|
||||
((light-array light-array :offset-assert 4)
|
||||
)
|
||||
:method-count-assert 9
|
||||
:size-assert #x8
|
||||
|
||||
@@ -138,6 +138,7 @@
|
||||
(itimes vector4w 4 :inline :offset-assert 1856)
|
||||
(state uint8 16 :offset-assert 1920)
|
||||
(num-stars float :offset-assert 1936)
|
||||
(some-byte uint8 :offset 1939)
|
||||
)
|
||||
:method-count-assert 9
|
||||
:size-assert #x794
|
||||
|
||||
@@ -3,30 +3,30 @@
|
||||
|
||||
;; definition of type target
|
||||
(deftype target (process-drawable)
|
||||
((control control-info :offset 112)
|
||||
(skel2 basic :offset-assert 176)
|
||||
(racer basic :offset-assert 180)
|
||||
(game game-info :offset-assert 184)
|
||||
(neck joint-mod :offset-assert 188)
|
||||
(state-hook-time uint64 :offset-assert 192)
|
||||
(state-hook function :offset-assert 200)
|
||||
(cam-user-mode symbol :offset-assert 204)
|
||||
(sidekick uint32 :offset-assert 208)
|
||||
(manipy uint32 :offset-assert 212)
|
||||
(attack-info attack-info :inline :offset-assert 224)
|
||||
(attack-info-rec attack-info :inline :offset-assert 336)
|
||||
(anim-seed uint64 :offset-assert 440)
|
||||
(alt-cam-pos vector :inline :offset-assert 448)
|
||||
(snowball basic :offset-assert 464)
|
||||
(tube basic :offset-assert 468)
|
||||
(flut basic :offset-assert 472)
|
||||
(current-level level :offset-assert 476)
|
||||
(saved-pos transformq :inline :offset-assert 480)
|
||||
(saved-owner uint64 :offset-assert 528)
|
||||
(alt-neck-pos vector :inline :offset-assert 544)
|
||||
(fp-hud uint64 :offset-assert 560)
|
||||
(no-load-wait uint64 :offset-assert 568)
|
||||
(no-look-around-wait uint64 :offset-assert 576)
|
||||
((control control-info :offset 112)
|
||||
(skel2 basic :offset-assert 176)
|
||||
(racer basic :offset-assert 180)
|
||||
(game game-info :offset-assert 184)
|
||||
(neck joint-mod :offset-assert 188)
|
||||
(state-hook-time uint64 :offset-assert 192)
|
||||
(state-hook function :offset-assert 200)
|
||||
(cam-user-mode symbol :offset-assert 204)
|
||||
(sidekick (pointer sidekick) :offset-assert 208)
|
||||
(manipy (pointer manipy) :offset-assert 212)
|
||||
(attack-info attack-info :inline :offset-assert 224)
|
||||
(attack-info-rec attack-info :inline :offset-assert 336)
|
||||
(anim-seed uint64 :offset-assert 440)
|
||||
(alt-cam-pos vector :inline :offset-assert 448)
|
||||
(snowball basic :offset-assert 464)
|
||||
(tube basic :offset-assert 468)
|
||||
(flut basic :offset-assert 472)
|
||||
(current-level level :offset-assert 476)
|
||||
(saved-pos transformq :inline :offset-assert 480)
|
||||
(saved-owner uint64 :offset-assert 528)
|
||||
(alt-neck-pos vector :inline :offset-assert 544)
|
||||
(fp-hud uint64 :offset-assert 560)
|
||||
(no-load-wait uint64 :offset-assert 568)
|
||||
(no-look-around-wait uint64 :offset-assert 576)
|
||||
)
|
||||
:heap-base #x1e0
|
||||
:method-count-assert 21
|
||||
|
||||
@@ -81,6 +81,10 @@ const std::unordered_set<std::string> g_functions_expected_to_reject = {
|
||||
// collide-mesh-h
|
||||
"(method 11 collide-mesh-cache)", // asm
|
||||
|
||||
// mood
|
||||
"update-mood-lava", // asm
|
||||
"update-mood-lightning", // asm
|
||||
|
||||
"debug-menu-item-var-render" // asm
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user