mirror of
https://github.com/open-goal/jak-project
synced 2026-05-30 00:47:20 -04:00
d/jak2: progress updated
This commit is contained in:
+1
-1
@@ -67,7 +67,7 @@
|
||||
"--game",
|
||||
"jak2",
|
||||
"--file",
|
||||
"progress-static"
|
||||
"progress"
|
||||
]
|
||||
},
|
||||
{
|
||||
|
||||
@@ -137,4 +137,3 @@ tasks:
|
||||
type-test:
|
||||
cmds:
|
||||
- cmd: '{{.GOALCTEST_BIN_RELEASE_DIR}}/goalc-test --gtest_brief=0 --gtest_filter="*Jak2TypeConsistency*"'
|
||||
ignore_error: true
|
||||
|
||||
@@ -978,10 +978,12 @@ static std::vector<ReplaceInfo> s_replace_info_jak2 = {
|
||||
"<PAD_ANALOG_ANY>"},
|
||||
{"~Y~1L~+8H\\c91~Z~6L~-8H\\c9e~Z~+24H~6L\\ca4~Z~+40H", "<PAD_ANALOG_LEFT_RIGHT>"},
|
||||
{"~Y~1L\\c91~Z~6L~-15V\\c9c~Z~+13V~6L\\c98~Z~+26H", "<PAD_ANALOG_UP_DOWN>"},
|
||||
|
||||
// icons
|
||||
{"~Y~6L<~Z~Y~1L>~Z~Y~23L[~Z~+26H", "<ICON_MISSION_COMPLETE>"},
|
||||
{"~Y~3L<~Z~Y~1L>~Z~Y~23L[~Z~+26H", "<ICON_MISSION_TODO>"},
|
||||
// TODO
|
||||
// - ~Y~22L\ca1~Z~22L~+17H~-13V\ca2~Z~22L~+17H~+14V\ca0~Z~22L~+32H\ca3~Z~+56H
|
||||
// - ~Y~6L<~Z~Y~1L>~Z~Y~23L[~Z~+26H
|
||||
// - ~Y~3L<~Z~Y~1L>~Z~Y~23L[~Z~+26H
|
||||
// - ~Y~1L\c85~Z~3L\c8c~Z~7L\c8e~\c5d~-1H~Y~1L\c85~Z~3L\c8d~Z~7L\c8f~Z~+26H
|
||||
// - ~Y~3L<~Z~Y~1L>~Z~Y~23L[~Z~+26H
|
||||
// - ~Y~1L\c85~\c5d~-1H~Y~1L\c85~Z~-11H~3L\c86~Z~+26H
|
||||
@@ -989,11 +991,11 @@ static std::vector<ReplaceInfo> s_replace_info_jak2 = {
|
||||
// flags
|
||||
{"~Y~6L\\c81~Z~+15H~1L\\c81~Z~+30H~3L\\c81~Z~+45H", "<FLAG_ITALIAN>"},
|
||||
{"~Y~5L\\c85~Z~3L\\c8b~\\c5d~-1H~Y~5L\\c85~Z~3L\\c8b~Z~+26H", "<FLAG_SPAIN>"},
|
||||
{"~Y~39L~~~Z~3L\\c7f~Z~5L\\c80~\\c5d~-1H~Y~39L~~~Z~3L\\c7f~Z~5L\\c80~Z~+26H",
|
||||
"<FLAG_GERMAN>"},
|
||||
{"~Y~39L~~~Z~3L\\c7f~Z~5L\\c80~\\c5d~-1H~Y~39L~~~Z~3L\\c7f~Z~5L\\c80~Z~+26H", "<FLAG_GERMAN>"},
|
||||
{"~Y~7L\\c81~Z~+15H~1L\\c81~Z~+30H~3L\\c81~Z~+47H", "<FLAG_FRANCE>"},
|
||||
{"~Y~1L\\c85~Z~3L\\c9a~Z~7L\\c9b~\\c5d~-1H~Y~1L\\c85~Z~3L\\c90~Z~+26H", "<FLAG_UK>"},
|
||||
{"~Y~1L\\c85~Z~39L\\c87~\\c5d~-1H~Y~1L\\c85~Z~39L\\c88~Z~-11H~7L\\c8a~Z~-11H~3L\\c89~Z~+26H", "<FLAG_JAPAN>"},
|
||||
{"~Y~1L\\c85~Z~39L\\c87~\\c5d~-1H~Y~1L\\c85~Z~39L\\c88~Z~-11H~7L\\c8a~Z~-11H~3L\\c89~Z~+26H",
|
||||
"<FLAG_JAPAN>"},
|
||||
{"~Y~1L\\c85~\\c5d~-1H~Y~1L\\c85~Z~-11H~3L\\c86~Z~+26H", "<FLAG_SOUTH_KOREA>"},
|
||||
|
||||
// weird stuff
|
||||
@@ -1010,14 +1012,14 @@ static std::vector<ReplaceInfo> s_replace_info_jak2 = {
|
||||
"<SUPERSCRIPT_QUOTE>"}, // used for the 4<__> place in spanish. the 5th uses the same
|
||||
// character but looks different...?
|
||||
{"~Y~-6Hº~Z~+10H", "°"},
|
||||
{"\\c5e", "œ"}, // ligature o+e
|
||||
{"\\c5e", "œ"}, // ligature o+e
|
||||
|
||||
// Color / Emphasis
|
||||
{"~[~1L", "<COLOR_WHITE>"},
|
||||
{"~[~32L", "<COLOR_DEFAULT>"}};
|
||||
|
||||
static std::vector<EncodeInfo> s_encode_info_jak2 = {
|
||||
{"_", {0x03}}, // large space
|
||||
{"_", {0x03}}, // large space
|
||||
{"ˇ", {0x10}}, // caron
|
||||
{"`", {0x11}}, // grave accent
|
||||
{"'", {0x12}}, // apostrophe
|
||||
|
||||
@@ -1359,23 +1359,41 @@ void SimpleExpressionElement::update_from_stack_mult_si(const Env& env,
|
||||
FormStack& stack,
|
||||
std::vector<FormElement*>* result,
|
||||
bool allow_side_effects) {
|
||||
auto arg0_i = is_int_type(env, m_my_idx, m_expr.get_arg(0).var());
|
||||
auto arg1_i = is_int_type(env, m_my_idx, m_expr.get_arg(1).var());
|
||||
if (m_expr.get_arg(0).is_int()) {
|
||||
// annoyingly there's a mult3 v1, r0, v1 in jak 2.
|
||||
auto arg1_i = is_int_type(env, m_my_idx, m_expr.get_arg(1).var());
|
||||
|
||||
auto args = pop_to_forms({m_expr.get_arg(0).var(), m_expr.get_arg(1).var()}, env, pool, stack,
|
||||
allow_side_effects);
|
||||
auto args = pop_to_forms({m_expr.get_arg(1).var()}, env, pool, stack, allow_side_effects);
|
||||
|
||||
if (!arg0_i) {
|
||||
args.at(0) = pool.form<CastElement>(TypeSpec("int"), args.at(0));
|
||||
if (!arg1_i) {
|
||||
args.at(0) = pool.form<CastElement>(TypeSpec("int"), args.at(1));
|
||||
}
|
||||
|
||||
auto new_form = pool.alloc_element<GenericElement>(
|
||||
GenericOperator::make_fixed(FixedOperatorKind::MULTIPLICATION),
|
||||
pool.form<SimpleAtomElement>(SimpleAtom::make_int_constant(m_expr.get_arg(0).get_int())),
|
||||
args.at(0));
|
||||
|
||||
result->push_back(new_form);
|
||||
} else {
|
||||
auto arg0_i = is_int_type(env, m_my_idx, m_expr.get_arg(0).var());
|
||||
auto arg1_i = is_int_type(env, m_my_idx, m_expr.get_arg(1).var());
|
||||
|
||||
auto args = pop_to_forms({m_expr.get_arg(0).var(), m_expr.get_arg(1).var()}, env, pool, stack,
|
||||
allow_side_effects);
|
||||
|
||||
if (!arg0_i) {
|
||||
args.at(0) = pool.form<CastElement>(TypeSpec("int"), args.at(0));
|
||||
}
|
||||
|
||||
if (!arg1_i) {
|
||||
args.at(1) = pool.form<CastElement>(TypeSpec("int"), args.at(1));
|
||||
}
|
||||
|
||||
auto new_form = pool.alloc_element<GenericElement>(
|
||||
GenericOperator::make_fixed(FixedOperatorKind::MULTIPLICATION), args.at(0), args.at(1));
|
||||
result->push_back(new_form);
|
||||
}
|
||||
|
||||
if (!arg1_i) {
|
||||
args.at(1) = pool.form<CastElement>(TypeSpec("int"), args.at(1));
|
||||
}
|
||||
|
||||
auto new_form = pool.alloc_element<GenericElement>(
|
||||
GenericOperator::make_fixed(FixedOperatorKind::MULTIPLICATION), args.at(0), args.at(1));
|
||||
result->push_back(new_form);
|
||||
}
|
||||
|
||||
void SimpleExpressionElement::update_from_stack_force_si_2(const Env& env,
|
||||
|
||||
+179
-151
@@ -5050,7 +5050,7 @@
|
||||
|
||||
(deftype texture-page-translate-item (structure)
|
||||
((bucket bucket-id :offset-assert 0)
|
||||
(level-index uint32 :offset-assert 4)
|
||||
(level-index uint32 :offset-assert 4) ;; TODO - this is an enum
|
||||
(level-texture-page tpage-category-u32 :offset-assert 8)
|
||||
(texture-user texture-enable-mask-u32 :offset-assert 12)
|
||||
)
|
||||
@@ -6580,99 +6580,121 @@
|
||||
:type uint32
|
||||
:bitfield #f
|
||||
(pause 257)
|
||||
(progress-on-off-1TODO 270)
|
||||
(progress-on-off-2TODO 271)
|
||||
(progress-1k2jn1kj2n3 272)
|
||||
(progress-kj1231nj23 286)
|
||||
(progress-12434g343v 287)
|
||||
(progress-video-asda 288)
|
||||
(progress-video-j1n2 289)
|
||||
(progress-draw-yes-or-no-1-TODO 292)
|
||||
(progress-draw-yes-or-no-2-TODO 293)
|
||||
(progress-1kj2n3kj1n23 296)
|
||||
(progress-n2jk3n45234 298)
|
||||
(progress-1ikjhb231hjik2b31ihb231 303)
|
||||
(progress-kj1n23123 308)
|
||||
(progress-k1jnb231kjhnb23 311)
|
||||
(progress-loj1n23 312)
|
||||
(progress-2k3jn4234 313)
|
||||
(progress-2kj3n24kn 314)
|
||||
(progress-2kjn34 315)
|
||||
(progress-2klj342n43 316)
|
||||
(progress-l2jm342m34 317)
|
||||
(progress-2m342kmj34 318)
|
||||
(progress-kj1bn23kj1n23 339)
|
||||
(progress-1l2jnm31lk2m3 340)
|
||||
(progress-unlocked-oj1n23jn1 345)
|
||||
(progress-unlocked-k1231kkj 346)
|
||||
(progress-unlocked-jn12j 347)
|
||||
(progress-unlocked-m12312 348)
|
||||
(progress-unlocked-1231h2bn 349)
|
||||
(progress-unlocked-akjisndaj 350)
|
||||
(progress-unlocked-iwudnq 351)
|
||||
(progress-unlocked-n51i51n 352)
|
||||
(progress-1k2ijn1jkn3 360)
|
||||
(progress-1kjn2jn31kj3 361)
|
||||
(progress-1kj2n31j23 367)
|
||||
(progress-iko1jn231kjhn23 368)
|
||||
(progress-1klj2n31j2n3 369)
|
||||
(progress-i1un23i12b341 370)
|
||||
(progress-2kj3n2kji3n42 377)
|
||||
(progress-draw-continue-retry-1-TODO 382)
|
||||
(progress-1klj2n31j23 383)
|
||||
(progress-j1n23j1kn23kjn12 395)
|
||||
(progress-2j021j394j 396)
|
||||
(progress-kj6n324i63n 397)
|
||||
(progress-3iou4n3i45n3 398)
|
||||
(progress-39u4n359n45 399)
|
||||
(progress-iun34593n45 400)
|
||||
(progress-on2394234n 401)
|
||||
(progress-l1jkn231jkn23 402)
|
||||
(progress-kj1n231kjn2 403)
|
||||
(progress-1lkjn231jnk2 404)
|
||||
(progress-n12n211n1n 405)
|
||||
(progress-2iu3bn4289u34n 406)
|
||||
(progress-oj1n23kj1n23123 409)
|
||||
(progress-1kjn231kjn23 410)
|
||||
(progress-1kj2b31k2b3 411)
|
||||
(progress-j1nb23kj1hbn2 412)
|
||||
(progress-1kj2bkoij1231 413)
|
||||
(progress-1nmn1221n21n12n 414)
|
||||
(progress-busy-loading-TODO 416)
|
||||
(progress-1jib12o3nj12j3 419)
|
||||
(progress-1m23n1n23n21 420)
|
||||
(progress-1jk2n31jkn23n1j 421)
|
||||
(progress-1n23kjn12nk3j12 422)
|
||||
(progress-draw-continue-retry-2-TODO 423)
|
||||
(progress-kj12k3j1n23n 424)
|
||||
(progress-1kj2bn31kjhnb2 426)
|
||||
(progress-jk1n23kj1n2 429)
|
||||
(progress-k1jn23k1h23b 430)
|
||||
(progress-k1jn23kj1n23 431)
|
||||
(progress-1kjn231j2 432)
|
||||
(progress-1kj2n31kjn231 433)
|
||||
(progress-1kj2n31jkn23 434)
|
||||
(progress-1kjn2123919 435)
|
||||
(progress-jn12n3j1n2 436)
|
||||
(progress-n12jin313 437)
|
||||
(progress-main-23jn42 531)
|
||||
(progress-main-63j46j3n4 532)
|
||||
(progress-main-m123j1m 533)
|
||||
(progress-main-634jn6 534)
|
||||
(progress-main-52o352nm 535)
|
||||
(progress-main-63jk46n3 536)
|
||||
(progress-main-j324nm3 537)
|
||||
(progress-main-k1j2n3n1 538)
|
||||
(progress-main-6mn346mn 539)
|
||||
(progress-main-63jn463jn 540)
|
||||
(progress-main-63j46n3j 541)
|
||||
(progress-main-52kj3n52 542)
|
||||
(progress-main-52jn35j2 543)
|
||||
(progress-main-3643m6m 544)
|
||||
(progress-main-36j46jn 545)
|
||||
(progress-main-63mn46nm 546)
|
||||
(progress-main-364jn6n 547)
|
||||
(progress-ikj123i1khb231 784)
|
||||
(progress-sound-music-volume 264)
|
||||
(progress-sound-speech-volume 265)
|
||||
(progress-on 270)
|
||||
(progress-off 271)
|
||||
(progress-move-dpad 272)
|
||||
(progress-aspect-ratio 280)
|
||||
(progress-progressive-scan 281)
|
||||
(progress-video-mode 282)
|
||||
(progress-root-game-options 283)
|
||||
(progress-root-graphic-options 284)
|
||||
(progress-root-sound-options 285)
|
||||
(progress-aspect-4x3 286)
|
||||
(progress-aspect-16x9 287)
|
||||
(progress-refresh-60hz 288)
|
||||
(progress-refresh-50hz 289)
|
||||
(progress-demo-exit 291)
|
||||
(progress-yes 292)
|
||||
(progress-no 293)
|
||||
(progress-back 294)
|
||||
(progress-ok 295)
|
||||
(progress-next 296)
|
||||
(progress-previous 297)
|
||||
(progress-continue-without-saving 298)
|
||||
(progress-select-file-to-save 299)
|
||||
(progress-select-file-to-load 300)
|
||||
(progress-load-game 301)
|
||||
(progress-save-game 302)
|
||||
(progress-slot-empty 303)
|
||||
(progress-title-options 304)
|
||||
(progress-title-new-game 305)
|
||||
(progress-title-prompt 306)
|
||||
(progress-quit 307)
|
||||
(progress-root-show-map 308)
|
||||
(progress-root-highscores 310)
|
||||
(progress-highscores-1st 311)
|
||||
(progress-highscores-2nd 312)
|
||||
(progress-highscores-3rd 313)
|
||||
(progress-highscores-4th 314)
|
||||
(progress-highscores-5th 315)
|
||||
(progress-highscores-6th 316)
|
||||
(progress-highscores-7th 317)
|
||||
(progress-highscores-8th 318)
|
||||
(progress-root-secrets 339)
|
||||
(progress-secrets-unlocked 340)
|
||||
(progress-main-secrets-hero-mode 345)
|
||||
(progress-main-secrets-sceneplayer-1 346)
|
||||
(progress-main-secrets-sceneplayer-2 347)
|
||||
(progress-main-secrets-sceneplayer-3 348)
|
||||
(progress-main-secrets-scrapbook 349)
|
||||
(progress-main-secrets-mega-scrapbook 350)
|
||||
(progress-main-secrets-scrapbook-3 351)
|
||||
(progress-main-secrets-levelselect 352)
|
||||
(progress-secrets-orb-label 360)
|
||||
(progress-root-missions 361)
|
||||
(progress-root-restart-mission 366)
|
||||
(progress-missions-icon-todo 367)
|
||||
(progress-missions-icon-completed 368)
|
||||
(progress-missions-none 369)
|
||||
(progress-unknown-game 370)
|
||||
(progress-unknown-square-to-reset 377)
|
||||
(progress-unknown-retry? 382)
|
||||
(progress-secrets-go-to-title-screen 383)
|
||||
(progress-graphics-60hz-change-notice 395)
|
||||
(progress-graphics-progressivescan-change-notice 396)
|
||||
(progress-graphics-progressivescan-warning-1 397)
|
||||
(progress-graphics-progressivescan-warning-2 398)
|
||||
(progress-graphics-60hz-change-complete 399)
|
||||
(progress-graphics-progressivescan-change-complete 400)
|
||||
(progress-graphics-mode-revert? 401)
|
||||
(progress-disc-removed-notice 402)
|
||||
(progress-disc-removed-prompt 403)
|
||||
(progress-disc-read-error 404)
|
||||
(progress-disc-read-error-prompt 405)
|
||||
(progress-quit-game-confirm 406)
|
||||
(progress-memcard-not-found 409)
|
||||
(progress-memcard-unformatted 410)
|
||||
(progress-memcard-space-requirement 411)
|
||||
(progress-memcard-insert-card-with-jak2 412)
|
||||
(progress-memcard-insert-card-with-space-to-save 413)
|
||||
(progress-memcard-formatting-required-notice 414)
|
||||
(progress-memcard-loading-data 416)
|
||||
(progress-memcard-dont-remove 419)
|
||||
(progress-memcard-overwrite-warning 420)
|
||||
(progress-memcard-overwrite-confirm 421)
|
||||
(progress-memcard-format-prompt 422)
|
||||
(progress-memcard-continue? 423)
|
||||
(progress-memcard-go-back? 424)
|
||||
(progress-memcard-error-while-saving 426)
|
||||
(progress-memcard-check 429)
|
||||
(progress-memcard-check-and-try-again 430)
|
||||
(progress-memcard-was-removed 431)
|
||||
(progress-autosave-disabled 432)
|
||||
(progress-autosave-reenabling-info 433)
|
||||
(progress-memcard-no-jak2-found 434)
|
||||
(progress-memcard-create-jak2-file? 435)
|
||||
(progress-autosave-explanation 436)
|
||||
(progress-autosave-dont-remove 437)
|
||||
(progress-locations-haven-city 531)
|
||||
(progress-locations-fortress 532)
|
||||
(progress-locations-landing-pad 533)
|
||||
(progress-locations-palace-roof 534)
|
||||
(progress-locations-palace 535)
|
||||
(progress-locations-weapons-factory 536)
|
||||
(progress-locations-dead-town 537)
|
||||
(progress-locations-pumping-station 538)
|
||||
(progress-locations-sewer 539)
|
||||
(progress-locations-strip-mine 540)
|
||||
(progress-locations-mountain-temple 541)
|
||||
(progress-locations-haven-forest 542)
|
||||
(progress-locations-drill-platform 543)
|
||||
(progress-locations-mars-tomb 544)
|
||||
(progress-locations-dig 545)
|
||||
(progress-locations-underport 546)
|
||||
(progress-locations-nest 547)
|
||||
(progress-unknown-continue 784)
|
||||
)
|
||||
;; ---text-id-h:game-text-id
|
||||
|
||||
@@ -7281,7 +7303,7 @@
|
||||
(new (symbol type) _type_ 0)
|
||||
(initialize (_type_) none 9) ;; some sort of init?
|
||||
(update (_type_) none 10)
|
||||
(bigmap-method-11 () none 11)
|
||||
(bigmap-method-11 (_type_ int int int int) none 11)
|
||||
(bigmap-method-12 () none 12)
|
||||
(bigmap-method-13 () none 13)
|
||||
(bigmap-method-14 (_type_) none 14)
|
||||
@@ -11771,7 +11793,7 @@
|
||||
:size-assert #x10
|
||||
:flag-assert #xa00000010
|
||||
(:methods
|
||||
(highscore-info-method-9 () none 9)
|
||||
(highscore-info-method-9 (_type_ float) int 9)
|
||||
)
|
||||
)
|
||||
|
||||
@@ -11879,27 +11901,29 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; +++memcard-h:mc-status-code
|
||||
(defenum mc-status-code
|
||||
:type uint32
|
||||
;; (busy 0)
|
||||
(busy 0)
|
||||
(ok 1)
|
||||
; (bad-handle 2)
|
||||
; (format-failed 3)
|
||||
; (internal-error 4)
|
||||
; (write-error 5)
|
||||
; (read-error 6)
|
||||
; (new-game 7)
|
||||
; (no-memory 8)
|
||||
; (no-card 9)
|
||||
; (no-last 10)
|
||||
; (no-format 11)
|
||||
; (no-file 12)
|
||||
; (no-save 13)
|
||||
; (no-space 14)
|
||||
; (bad-version 15)
|
||||
; (no-process 16)
|
||||
; (no-auto-save 17)
|
||||
(bad-handle 2)
|
||||
(format-failed 3)
|
||||
(internal-error 4)
|
||||
(write-error 5)
|
||||
(read-error 6)
|
||||
(new-game 7)
|
||||
(no-memory 8)
|
||||
(no-card 9)
|
||||
(no-last 10)
|
||||
(no-format 11)
|
||||
(no-file 12)
|
||||
(no-save 13)
|
||||
(no-space 14)
|
||||
(bad-version 15)
|
||||
(no-process 16)
|
||||
(no-auto-save 17)
|
||||
)
|
||||
;; ---memcard-h:mc-status-code
|
||||
|
||||
(declare-type entity-perm-array inline-array-class)
|
||||
(declare-type continue-point basic)
|
||||
@@ -19702,8 +19726,8 @@
|
||||
(hud-box-method-11 () none 11)
|
||||
(hud-box-method-12 () none 12)
|
||||
(hud-box-method-13 (_type_ dma-buffer float) int 13)
|
||||
(hud-box-method-14 () none 14)
|
||||
(hud-box-method-15 () none 15)
|
||||
(hud-box-method-14 (_type_) none 14)
|
||||
(hud-box-method-15 (_type_) none 15)
|
||||
)
|
||||
)
|
||||
|
||||
@@ -20241,7 +20265,7 @@
|
||||
(go-away () _type_ :state 22) ;; (adjust-icons (_type_) none 22)
|
||||
(gone () _type_ :state 23) ;; (adjust-ratios (_type_ symbol symbol) none 23)
|
||||
(init-defaults "Initialize default menu settings." (_type_) connection 24) ;; (draw-fuel-cell-screen (_type_ int) none 24)
|
||||
(progress-method-25 (_type_ object object symbol) none 25) ;; (draw-money-screen (_type_ int) none 25)
|
||||
(progress-method-25 (_type_) none 25) ;; (draw-money-screen (_type_ int) none 25)
|
||||
(progress-method-26 (_type_) object 26) ;; (draw-buzzer-screen (_type_ int) none 26)
|
||||
(can-go-back? (_type_) symbol 27) ;; (draw-notice-screen (_type_) none 27)
|
||||
(progress-method-28 (_type_ symbol) symbol 28) ;; (draw-options (_type_ int int float) none 28)
|
||||
@@ -20256,11 +20280,12 @@
|
||||
((name game-text-id :offset-assert 4)
|
||||
(scale float :offset-assert 8)
|
||||
(unknown function :offset-assert 12)
|
||||
;; No idea what is going on here....
|
||||
;; but i believe they are all `menu-options` -- look at `(method 24 progress)`
|
||||
;; i think it might just be that each menu "page" can have 8 menu-options on it, and maybe printing "box" was just to make inspects nicer?
|
||||
(box menu-option 1 :offset-assert 16)
|
||||
(unknown-options menu-option 7 :offset-assert 20)
|
||||
;; This is gross if im correct
|
||||
;; this HAS to have a bunch of `menu-option`s -- look at `(method 24 progress)` and `(method 25 progress)`
|
||||
;; - i think it might just be that each menu "page" can have 8 menu-options on it?
|
||||
;; but the drawing code also heavily implies it can also be a `hud-box` (finally the `box` name makes sense)
|
||||
(box hud-box 1 :inline :offset-assert 16)
|
||||
(options menu-option 8 :offset 16)
|
||||
)
|
||||
:method-count-assert 12
|
||||
:size-assert #x30
|
||||
@@ -29338,7 +29363,7 @@
|
||||
(define-extern hide-progress-screen (function none))
|
||||
(define-extern progress-allowed? (function symbol))
|
||||
(define-extern menu-update-purchase-secrets (function menu-secret-option none))
|
||||
(define-extern progress-trans (function none :behavior progress)) ;; TODO - assertion hit when defining behavior
|
||||
(define-extern progress-trans (function none :behavior progress))
|
||||
(define-extern begin-scan (function hud-box progress int))
|
||||
(define-extern end-scan (function hud-box float int))
|
||||
(define-extern progress-post (function none :behavior progress))
|
||||
@@ -29373,40 +29398,43 @@
|
||||
(define-extern draw-up-down (function font-context none))
|
||||
(define-extern draw-missions-up-down (function font-context none))
|
||||
(define-extern draw-scene-up-down (function font-context none))
|
||||
(define-extern begin-scissor (function vector progress none))
|
||||
(define-extern end-scissor (function none))
|
||||
(define-extern begin-scissor-secret (function vector none))
|
||||
(define-extern end-scissor-secret (function none))
|
||||
(define-extern begin-scissor-missions (function vector float none))
|
||||
(define-extern end-scissor-missions (function vector none))
|
||||
(define-extern begin-scissor-scene (function vector none))
|
||||
(define-extern end-scissor-scene (function none))
|
||||
(define-extern begin-scissor-level (function vector none))
|
||||
(define-extern end-scissor-level (function none))
|
||||
(define-extern begin-scissor (function hud-box progress none))
|
||||
(define-extern end-scissor (function hud-box float none))
|
||||
(define-extern begin-scissor-secret (function hud-box none))
|
||||
(define-extern end-scissor-secret (function hud-box float none))
|
||||
(define-extern begin-scissor-missions (function hud-box float none))
|
||||
(define-extern end-scissor-missions (function hud-box none))
|
||||
(define-extern begin-scissor-scene (function hud-box none))
|
||||
(define-extern end-scissor-scene (function hud-box float none))
|
||||
(define-extern begin-scissor-level (function hud-box none))
|
||||
(define-extern end-scissor-level (function hud-box none))
|
||||
(define-extern print-language-name (function game-text-id font-context int symbol none))
|
||||
(define-extern unlocked-secret-menu? (function symbol)) ;; a bit field of some kind! probably task related - HANG!
|
||||
(define-extern memcard-unlocked-secrets? "TODO - cleanup bitfields / arg passing" (function symbol symbol))
|
||||
(define-extern num-unlocked-secret? "@returns The number of secrets currently unlocked" (function int int)) ;; a bit field of some kind! probably task related
|
||||
(define-extern print-menu-text (function game-text-id float font-context progress none))
|
||||
(define-extern draw-yes-no (function progress float none))
|
||||
(define-extern draw-continue-retry (function progress float none))
|
||||
(define-extern draw-savegame-box (function menu-memcard-slot-option float float float float none))
|
||||
(define-extern get-level-icon-id-01 "TODO - Icon id enum perhaps?" (function int uint))
|
||||
(define-extern get-level-icon-id-02 "TODO - Icon id enum perhaps?" (function int uint))
|
||||
(define-extern get-level-icon-id-03 "TODO - Icon id enum perhaps?" (function int uint))
|
||||
(define-extern get-level-icon-id-04 "TODO - Icon id enum perhaps?" (function int uint))
|
||||
(define-extern draw-decoration (function menu-quit-qr-option font-context float int symbol float none))
|
||||
(define-extern draw-missions-decoration (function menu-missions-option font-context float game-text-id none))
|
||||
(define-extern draw-sound-options-decoration (function menu-slider-option font-context float symbol game-text-id none))
|
||||
(define-extern draw-decoration-secrets (function menu-secret-option font-context float game-text-id pointer))
|
||||
(define-extern draw-decoration-load-save (function menu-memcard-slot-option font-context float int none))
|
||||
(define-extern unlocked-secret-menu? (function int))
|
||||
(define-extern memcard-unlocked-secrets? "TODO - returns a bitfield" (function symbol int))
|
||||
(define-extern num-unlocked-secret?
|
||||
"TODO - bitfield
|
||||
@returns The number of secrets currently unlocked"
|
||||
(function int int))
|
||||
(define-extern print-menu-text (function string float font-context progress none))
|
||||
(define-extern draw-yes-no (function progress font-context pointer))
|
||||
(define-extern draw-continue-retry (function progress font-context pointer))
|
||||
(define-extern draw-savegame-box (function menu-option float float float float pointer))
|
||||
(define-extern get-level-icon-id-01 "TODO - Icon id enum perhaps?" (function int texture-id))
|
||||
(define-extern get-level-icon-id-02 "TODO - Icon id enum perhaps?" (function int texture-id))
|
||||
(define-extern get-level-icon-id-03 "TODO - Icon id enum perhaps?" (function int texture-id))
|
||||
(define-extern get-level-icon-id-04 "TODO - Icon id enum perhaps?" (function int texture-id))
|
||||
(define-extern draw-decoration (function menu-option font-context float int symbol float pointer))
|
||||
(define-extern draw-missions-decoration (function menu-missions-option font-context float game-text-id pointer))
|
||||
(define-extern draw-sound-options-decoration (function menu-slider-option font-context float symbol game-text-id pointer))
|
||||
(define-extern draw-decoration-secrets (function menu-option font-context float game-text-id pointer))
|
||||
(define-extern draw-decoration-load-save (function menu-option font-context float int pointer))
|
||||
(define-extern sort-task-node-result (function int none))
|
||||
(define-extern find-mission-text-at-index (function int game-task-node-info))
|
||||
(define-extern draw-secret-list (function secret-item-option progress font-context int symbol float none))
|
||||
(define-extern draw-secret-list (function secret-item-option progress font-context int symbol float pointer))
|
||||
(define-extern draw-highscore-icon (function menu-highscores-option uint int int float pointer))
|
||||
(define-extern draw-highscore-cup (function texture-page object int int float float pointer))
|
||||
(define-extern draw-highscore-cup "First int is an enum" (function texture-page int int int float float pointer))
|
||||
(define-extern get-highscore-score "TODO - takes and returns an enum?" (function int int))
|
||||
(define-extern eval-highscore (function print-highscore-obj none))
|
||||
(define-extern eval-highscore (function print-highscore-obj int))
|
||||
(define-extern str-print-time (function float string))
|
||||
(define-extern print-highscore (function print-highscore-obj float))
|
||||
(define-extern get-highscore-text "TODO - takes an enum?" (function int game-text-id))
|
||||
|
||||
@@ -3127,19 +3127,19 @@
|
||||
"(method 10 menu-missions-option)": [
|
||||
[
|
||||
224,
|
||||
"vector"
|
||||
"hud-box"
|
||||
]
|
||||
],
|
||||
"(method 10 menu-secret-option)": [
|
||||
[
|
||||
64,
|
||||
"vector"
|
||||
"hud-box"
|
||||
]
|
||||
],
|
||||
"(method 10 menu-highscores-option)": [
|
||||
[
|
||||
16,
|
||||
"vector"
|
||||
"hud-box"
|
||||
]
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
@@ -13352,173 +13352,215 @@
|
||||
],
|
||||
"(method 25 progress)": [
|
||||
[
|
||||
19,
|
||||
"v1",
|
||||
[
|
||||
19,
|
||||
31
|
||||
],
|
||||
"a0",
|
||||
"menu-option"
|
||||
]
|
||||
],
|
||||
"(method 24 progress)": [
|
||||
[
|
||||
[
|
||||
70,
|
||||
72
|
||||
],
|
||||
70,
|
||||
"a0",
|
||||
"(array menu-option)"
|
||||
],
|
||||
[
|
||||
71,
|
||||
"a0",
|
||||
"menu-on-off-game-vibrations-option"
|
||||
],
|
||||
[
|
||||
[
|
||||
76,
|
||||
78
|
||||
],
|
||||
76,
|
||||
"a0",
|
||||
"(array menu-option)"
|
||||
],
|
||||
[
|
||||
77,
|
||||
"a0",
|
||||
"menu-on-off-game-subtitles-option"
|
||||
],
|
||||
[
|
||||
[
|
||||
82,
|
||||
84
|
||||
],
|
||||
82,
|
||||
"a0",
|
||||
"(array menu-option)"
|
||||
],
|
||||
[
|
||||
83,
|
||||
"a0",
|
||||
"menu-language-option"
|
||||
],
|
||||
[
|
||||
[
|
||||
87,
|
||||
89
|
||||
],
|
||||
87,
|
||||
"a0",
|
||||
"(array menu-option)"
|
||||
],
|
||||
[
|
||||
88,
|
||||
"a0",
|
||||
"menu-language-option"
|
||||
],
|
||||
[
|
||||
[
|
||||
91,
|
||||
93
|
||||
],
|
||||
91,
|
||||
"v1",
|
||||
"(array menu-option)"
|
||||
],
|
||||
[
|
||||
92,
|
||||
"v1",
|
||||
"menu-language-option"
|
||||
],
|
||||
[
|
||||
[
|
||||
95,
|
||||
97
|
||||
],
|
||||
95,
|
||||
"v1",
|
||||
"(array menu-option)"
|
||||
],
|
||||
[
|
||||
96,
|
||||
"v1",
|
||||
"menu-language-option"
|
||||
],
|
||||
[
|
||||
[
|
||||
101,
|
||||
103
|
||||
],
|
||||
101,
|
||||
"a0",
|
||||
"(array menu-option)"
|
||||
],
|
||||
[
|
||||
102,
|
||||
"a0",
|
||||
"menu-on-off-option"
|
||||
],
|
||||
[
|
||||
[
|
||||
107,
|
||||
109
|
||||
],
|
||||
107,
|
||||
"a0",
|
||||
"(array menu-option)"
|
||||
],
|
||||
[
|
||||
108,
|
||||
"a0",
|
||||
"menu-on-off-option"
|
||||
],
|
||||
[
|
||||
[
|
||||
113,
|
||||
115
|
||||
],
|
||||
113,
|
||||
"a0",
|
||||
"(array menu-option)"
|
||||
],
|
||||
[
|
||||
114,
|
||||
"a0",
|
||||
"menu-on-off-option"
|
||||
],
|
||||
[
|
||||
[
|
||||
119,
|
||||
121
|
||||
],
|
||||
119,
|
||||
"a0",
|
||||
"(array menu-option)"
|
||||
],
|
||||
[
|
||||
120,
|
||||
"a0",
|
||||
"menu-on-off-option"
|
||||
],
|
||||
[
|
||||
[
|
||||
125,
|
||||
127
|
||||
],
|
||||
125,
|
||||
"a0",
|
||||
"(array menu-option)"
|
||||
],
|
||||
[
|
||||
126,
|
||||
"a0",
|
||||
"menu-slider-option"
|
||||
],
|
||||
[
|
||||
[
|
||||
131,
|
||||
133
|
||||
],
|
||||
131,
|
||||
"a0",
|
||||
"(array menu-option)"
|
||||
],
|
||||
[
|
||||
132,
|
||||
"a0",
|
||||
"menu-slider-option"
|
||||
],
|
||||
[
|
||||
[
|
||||
137,
|
||||
139
|
||||
],
|
||||
137,
|
||||
"a0",
|
||||
"(array menu-option)"
|
||||
],
|
||||
[
|
||||
138,
|
||||
"a0",
|
||||
"menu-slider-option"
|
||||
],
|
||||
[
|
||||
[
|
||||
141,
|
||||
143
|
||||
],
|
||||
141,
|
||||
"v1",
|
||||
"(array menu-option)"
|
||||
],
|
||||
[
|
||||
142,
|
||||
"v1",
|
||||
"menu-missions-option"
|
||||
]
|
||||
],
|
||||
"(method 31 progress)": [
|
||||
[
|
||||
[
|
||||
61,
|
||||
63
|
||||
],
|
||||
61, "v1", "(array menu-option)"
|
||||
],
|
||||
|
||||
[
|
||||
62,
|
||||
"v1",
|
||||
"menu-missions-option"
|
||||
]
|
||||
],
|
||||
"(method 32 progress)": [
|
||||
[
|
||||
[
|
||||
296,
|
||||
298
|
||||
],
|
||||
296,
|
||||
"v1",
|
||||
"(array menu-option)"
|
||||
],
|
||||
[
|
||||
297,
|
||||
"v1",
|
||||
"menu-select-start-option"
|
||||
],
|
||||
[
|
||||
[
|
||||
306,
|
||||
308
|
||||
],
|
||||
306,
|
||||
"v1",
|
||||
"(array menu-option)"
|
||||
],
|
||||
[
|
||||
307,
|
||||
"v1",
|
||||
"menu-select-scene-option"
|
||||
],
|
||||
[
|
||||
[
|
||||
371,
|
||||
373
|
||||
],
|
||||
371,
|
||||
"v1",
|
||||
"(array menu-option)"
|
||||
],
|
||||
[
|
||||
372,
|
||||
"v1",
|
||||
"menu-missions-option"
|
||||
],
|
||||
[
|
||||
[
|
||||
380,
|
||||
382
|
||||
],
|
||||
380,
|
||||
"v1",
|
||||
"(array menu-option)"
|
||||
],
|
||||
[
|
||||
381,
|
||||
"v1",
|
||||
"menu-highscores-option"
|
||||
],
|
||||
[
|
||||
[
|
||||
384,
|
||||
386
|
||||
],
|
||||
384,
|
||||
"v1",
|
||||
"(array menu-option)"
|
||||
],
|
||||
[
|
||||
385,
|
||||
"v1",
|
||||
"menu-highscores-option"
|
||||
]
|
||||
@@ -13887,5 +13929,30 @@
|
||||
"v1",
|
||||
"dma-packet"
|
||||
]
|
||||
],
|
||||
"(event idle progress)": [
|
||||
[
|
||||
[
|
||||
10,
|
||||
80
|
||||
],
|
||||
"v1",
|
||||
"mc-status-code"
|
||||
],
|
||||
[
|
||||
[
|
||||
147,
|
||||
217
|
||||
],
|
||||
"v1",
|
||||
"mc-status-code"
|
||||
]
|
||||
],
|
||||
"memcard-unlocked-secrets?": [
|
||||
[
|
||||
50,
|
||||
"s5",
|
||||
"int"
|
||||
]
|
||||
]
|
||||
}
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
|
||||
// if you want to filter to only some object names.
|
||||
// it will make the decompiler much faster.
|
||||
"allowed_objects": ["progress"],
|
||||
"allowed_objects": [],
|
||||
"banned_objects": ["effect-control", "time-of-day"],
|
||||
|
||||
////////////////////////////
|
||||
|
||||
@@ -9,29 +9,6 @@
|
||||
(declare-type continue-point basic)
|
||||
(declare-type game-save basic)
|
||||
|
||||
|
||||
(defenum mc-status-code
|
||||
:type uint32
|
||||
; (busy 0)
|
||||
(ok 1)
|
||||
; (bad-handle 2)
|
||||
; (format-failed 3)
|
||||
; (internal-error 4)
|
||||
; (write-error 5)
|
||||
; (read-error 6)
|
||||
; (new-game 7)
|
||||
; (no-memory 8)
|
||||
; (no-card 9)
|
||||
; (no-last 10)
|
||||
; (no-format 11)
|
||||
; (no-file 12)
|
||||
; (no-save 13)
|
||||
; (no-space 14)
|
||||
; (bad-version 15)
|
||||
; (no-process 16)
|
||||
; (no-auto-save 17)
|
||||
)
|
||||
|
||||
(defenum continue-flags
|
||||
:type uint32
|
||||
:bitfield #t
|
||||
@@ -178,7 +155,7 @@
|
||||
:size-assert #x10
|
||||
:flag-assert #xa00000010
|
||||
(:methods
|
||||
(highscore-info-method-9 () none 9)
|
||||
(highscore-info-method-9 (_type_ float) int 9)
|
||||
)
|
||||
)
|
||||
|
||||
|
||||
@@ -5,6 +5,31 @@
|
||||
;; name in dgo: memcard-h
|
||||
;; dgos: ENGINE, GAME
|
||||
|
||||
;; +++mc-status-code
|
||||
(defenum mc-status-code
|
||||
:type uint32
|
||||
(busy 0)
|
||||
(ok 1)
|
||||
(bad-handle 2)
|
||||
(format-failed 3)
|
||||
(internal-error 4)
|
||||
(write-error 5)
|
||||
(read-error 6)
|
||||
(new-game 7)
|
||||
(no-memory 8)
|
||||
(no-card 9)
|
||||
(no-last 10)
|
||||
(no-format 11)
|
||||
(no-file 12)
|
||||
(no-save 13)
|
||||
(no-space 14)
|
||||
(bad-version 15)
|
||||
(no-process 16)
|
||||
(no-auto-save 17)
|
||||
)
|
||||
;; ---mc-status-code
|
||||
|
||||
|
||||
;; DECOMP BEGINS
|
||||
|
||||
(deftype mc-handle (int32)
|
||||
|
||||
@@ -5,8 +5,13 @@
|
||||
;; name in dgo: bigmap-h
|
||||
;; dgos: ENGINE, GAME
|
||||
|
||||
;; DECOMP BEGINS
|
||||
(declare-type bigmap-compressed-layers structure)
|
||||
(define-extern *bigmap-compressed-layers* bigmap-compressed-layers)
|
||||
|
||||
(declare-type bigmap basic)
|
||||
(define-extern *bigmap* bigmap)
|
||||
|
||||
;; DECOMP BEGINS
|
||||
|
||||
(deftype bigmap-bit-mask (structure)
|
||||
((data uint8 6656 :offset-assert 0)
|
||||
@@ -16,6 +21,7 @@
|
||||
:flag-assert #x900001a00
|
||||
)
|
||||
|
||||
|
||||
(deftype bigmap-layer-mask (structure)
|
||||
((data uint8 26624 :offset-assert 0)
|
||||
)
|
||||
@@ -24,6 +30,7 @@
|
||||
:flag-assert #x900006800
|
||||
)
|
||||
|
||||
|
||||
(deftype bigmap-image (structure)
|
||||
((clut-offset uint32 :offset-assert 0)
|
||||
(image-offset uint32 :offset-assert 4)
|
||||
@@ -35,6 +42,7 @@
|
||||
:flag-assert #x900000011
|
||||
)
|
||||
|
||||
|
||||
(deftype bigmap-info (vector)
|
||||
((scale float :offset 8)
|
||||
(inv-scale float :offset 12)
|
||||
@@ -44,6 +52,7 @@
|
||||
:flag-assert #x900000010
|
||||
)
|
||||
|
||||
|
||||
(deftype bigmap-info-array (structure)
|
||||
((data bigmap-info 21 :inline :offset-assert 0)
|
||||
)
|
||||
@@ -52,6 +61,7 @@
|
||||
:flag-assert #x900000150
|
||||
)
|
||||
|
||||
|
||||
(deftype bigmap-compressed-layers (structure)
|
||||
((data uint32 20 :offset-assert 0)
|
||||
(layer0 uint32 :offset 0)
|
||||
@@ -79,7 +89,6 @@
|
||||
:size-assert #x50
|
||||
:flag-assert #x900000050
|
||||
)
|
||||
(define-extern *bigmap-compressed-layers* bigmap-compressed-layers)
|
||||
|
||||
|
||||
(deftype bigmap (basic)
|
||||
@@ -130,7 +139,7 @@
|
||||
(new (symbol type) _type_ 0)
|
||||
(initialize (_type_) none 9)
|
||||
(update (_type_) none 10)
|
||||
(bigmap-method-11 () none 11)
|
||||
(bigmap-method-11 (_type_ int int int int) none 11)
|
||||
(bigmap-method-12 () none 12)
|
||||
(bigmap-method-13 () none 13)
|
||||
(bigmap-method-14 (_type_) none 14)
|
||||
@@ -150,6 +159,7 @@
|
||||
)
|
||||
)
|
||||
|
||||
|
||||
(defmethod new bigmap ((allocation symbol) (type-to-make type))
|
||||
(let ((gp-0 (object-new allocation type-to-make (the-as int (-> type-to-make size)))))
|
||||
(set! (-> gp-0 bigmap-image)
|
||||
@@ -199,57 +209,18 @@
|
||||
(set! (-> gp-0 sprite-tmpl dma-vif dma) (new 'static 'dma-tag :qwc #x6 :id (dma-tag-id cnt)))
|
||||
(set! (-> gp-0 sprite-tmpl dma-vif vif0) (new 'static 'vif-tag))
|
||||
(set! (-> gp-0 sprite-tmpl dma-vif vif1) (new 'static 'vif-tag :imm #x6 :cmd (vif-cmd direct) :msk #x1))
|
||||
(set! (-> gp-0 sprite-tmpl gif0)
|
||||
(the uint64 (new 'static 'gif-tag64
|
||||
:nloop #x1
|
||||
:eop #x1
|
||||
:pre #x1
|
||||
:prim (new 'static 'gs-prim :prim (gs-prim-type sprite) :tme #x1 :abe #x1 :fst #x1)
|
||||
:nreg #x5
|
||||
)
|
||||
)
|
||||
)
|
||||
(set! (-> gp-0 sprite-tmpl gif1)
|
||||
(the uint64 (new 'static 'gif-tag-regs
|
||||
:regs0 (gif-reg-id rgbaq)
|
||||
:regs1 (gif-reg-id uv)
|
||||
:regs2 (gif-reg-id xyz2)
|
||||
:regs3 (gif-reg-id uv)
|
||||
:regs4 (gif-reg-id xyz2)
|
||||
)
|
||||
)
|
||||
)
|
||||
(set! (-> gp-0 sprite-tmpl gif0) (the-as uint #x50ab400000008001))
|
||||
(set! (-> gp-0 sprite-tmpl gif1) (the-as uint #x53531))
|
||||
(set! (-> gp-0 draw-tmpl dma-vif dma) (new 'static 'dma-tag :qwc #xa :id (dma-tag-id cnt)))
|
||||
(set! (-> gp-0 draw-tmpl dma-vif vif0) (new 'static 'vif-tag))
|
||||
(set! (-> gp-0 draw-tmpl dma-vif vif1) (new 'static 'vif-tag :imm #xa :cmd (vif-cmd direct) :msk #x1))
|
||||
(set! (-> gp-0 draw-tmpl gif0)
|
||||
(the uint64 (new 'static 'gif-tag64
|
||||
:nloop #x1
|
||||
:eop #x1
|
||||
:pre #x1
|
||||
:prim (new 'static 'gs-prim :prim (gs-prim-type tri-strip) :tme #x1 :abe #x1 :fst #x1)
|
||||
:nreg #x9
|
||||
)
|
||||
)
|
||||
)
|
||||
(set! (-> gp-0 draw-tmpl gif1) (the uint64 (new 'static 'gif-tag-regs
|
||||
:regs0 (gif-reg-id rgbaq)
|
||||
:regs1 (gif-reg-id uv)
|
||||
:regs2 (gif-reg-id xyz2)
|
||||
:regs3 (gif-reg-id uv)
|
||||
:regs4 (gif-reg-id xyz2)
|
||||
:regs5 (gif-reg-id uv)
|
||||
:regs6 (gif-reg-id xyz2)
|
||||
:regs7 (gif-reg-id uv)
|
||||
:regs8 (gif-reg-id xyz2)
|
||||
)
|
||||
)
|
||||
)
|
||||
(set! (-> gp-0 draw-tmpl gif0) (the-as uint #x90aa400000008001))
|
||||
(set! (-> gp-0 draw-tmpl gif1) (the-as uint #x535353531))
|
||||
(set! (-> gp-0 adgif-tmpl dma-vif dma) (new 'static 'dma-tag :qwc #x6 :id (dma-tag-id cnt)))
|
||||
(set! (-> gp-0 adgif-tmpl dma-vif vif0) (new 'static 'vif-tag))
|
||||
(set! (-> gp-0 adgif-tmpl dma-vif vif1) (new 'static 'vif-tag :imm #x6 :cmd (vif-cmd direct) :msk #x1))
|
||||
(set! (-> gp-0 adgif-tmpl gif0) (the uint64 (new 'static 'gif-tag64 :nloop #x5 :eop #x1 :nreg #x1)))
|
||||
(set! (-> gp-0 adgif-tmpl gif1) (the uint64 (new 'static 'gif-tag-regs :regs0 (gif-reg-id a+d))))
|
||||
(set! (-> gp-0 adgif-tmpl gif0) (the-as uint #x1000000000008005))
|
||||
(set! (-> gp-0 adgif-tmpl gif1) (the-as uint 14))
|
||||
(set-vector! (-> gp-0 offset) 0.0 0.0 0.0 0.0)
|
||||
(set-vector! (-> gp-0 scroll) 0.0 0.0 0.0 0.0)
|
||||
(set-vector! (-> gp-0 pos) 0 0 0 0)
|
||||
@@ -292,8 +263,3 @@
|
||||
)
|
||||
)
|
||||
)
|
||||
|
||||
|
||||
(define-extern *bigmap* bigmap)
|
||||
|
||||
|
||||
|
||||
@@ -29,6 +29,7 @@
|
||||
:flag-assert #x900000030
|
||||
)
|
||||
|
||||
|
||||
(deftype hud-sprite (structure)
|
||||
((pos vector4w :inline :offset-assert 0)
|
||||
(color vector4w :inline :offset-assert 16)
|
||||
@@ -47,6 +48,7 @@
|
||||
)
|
||||
)
|
||||
|
||||
|
||||
(deftype hud-box (structure)
|
||||
((min vector2 :inline :offset-assert 0)
|
||||
(max vector2 :inline :offset-assert 8)
|
||||
@@ -61,11 +63,12 @@
|
||||
(hud-box-method-11 () none 11)
|
||||
(hud-box-method-12 () none 12)
|
||||
(hud-box-method-13 (_type_ dma-buffer float) int 13)
|
||||
(hud-box-method-14 () none 14)
|
||||
(hud-box-method-15 () none 15)
|
||||
(hud-box-method-14 (_type_) none 14)
|
||||
(hud-box-method-15 (_type_) none 15)
|
||||
)
|
||||
)
|
||||
|
||||
|
||||
(deftype hud-icon (basic)
|
||||
((icon (pointer manipy) :offset-assert 4)
|
||||
(pos vector4w :inline :offset-assert 16)
|
||||
@@ -77,6 +80,7 @@
|
||||
:flag-assert #x900000028
|
||||
)
|
||||
|
||||
|
||||
(deftype hud-value (basic)
|
||||
((current int32 :offset-assert 4)
|
||||
(target int32 :offset-assert 8)
|
||||
@@ -89,6 +93,7 @@
|
||||
:flag-assert #x900000010
|
||||
)
|
||||
|
||||
|
||||
(deftype hud (process)
|
||||
((trigger-time time-frame :offset-assert 128)
|
||||
(last-hide-time time-frame :offset-assert 136)
|
||||
@@ -121,6 +126,7 @@
|
||||
)
|
||||
)
|
||||
|
||||
|
||||
(deftype hud-ashelin (hud)
|
||||
()
|
||||
:heap-base #xb30
|
||||
@@ -129,6 +135,7 @@
|
||||
:flag-assert #x1b0b300ba4
|
||||
)
|
||||
|
||||
|
||||
(deftype hud-cargo (hud)
|
||||
()
|
||||
:heap-base #xb30
|
||||
@@ -137,6 +144,7 @@
|
||||
:flag-assert #x1b0b300ba4
|
||||
)
|
||||
|
||||
|
||||
(deftype hud-citizen (hud)
|
||||
()
|
||||
:heap-base #xb30
|
||||
@@ -145,6 +153,7 @@
|
||||
:flag-assert #x1b0b300ba4
|
||||
)
|
||||
|
||||
|
||||
(deftype hud-cpanel (hud)
|
||||
()
|
||||
:heap-base #xb30
|
||||
@@ -153,6 +162,7 @@
|
||||
:flag-assert #x1b0b300ba4
|
||||
)
|
||||
|
||||
|
||||
(deftype hud-dig-clasp (hud)
|
||||
()
|
||||
:heap-base #xb30
|
||||
@@ -161,6 +171,7 @@
|
||||
:flag-assert #x1b0b300ba4
|
||||
)
|
||||
|
||||
|
||||
(deftype hud-gun (hud)
|
||||
()
|
||||
:heap-base #xb30
|
||||
@@ -169,6 +180,7 @@
|
||||
:flag-assert #x1b0b300ba4
|
||||
)
|
||||
|
||||
|
||||
(deftype hud-health (hud)
|
||||
()
|
||||
:heap-base #xb30
|
||||
@@ -177,6 +189,7 @@
|
||||
:flag-assert #x1b0b300ba4
|
||||
)
|
||||
|
||||
|
||||
(deftype hud-dark-eco-symbol (hud)
|
||||
()
|
||||
:heap-base #xb30
|
||||
@@ -185,6 +198,7 @@
|
||||
:flag-assert #x1b0b300ba4
|
||||
)
|
||||
|
||||
|
||||
(deftype hud-helldog (hud)
|
||||
()
|
||||
:heap-base #xb30
|
||||
@@ -193,6 +207,7 @@
|
||||
:flag-assert #x1b0b300ba4
|
||||
)
|
||||
|
||||
|
||||
(deftype hud-lurker (hud)
|
||||
()
|
||||
:heap-base #xb30
|
||||
@@ -201,6 +216,7 @@
|
||||
:flag-assert #x1b0b300ba4
|
||||
)
|
||||
|
||||
|
||||
(deftype hud-map (hud)
|
||||
()
|
||||
:heap-base #xb30
|
||||
@@ -209,6 +225,7 @@
|
||||
:flag-assert #x1b0b300ba4
|
||||
)
|
||||
|
||||
|
||||
(deftype hud-moneybag (hud)
|
||||
()
|
||||
:heap-base #xb30
|
||||
@@ -217,6 +234,7 @@
|
||||
:flag-assert #x1b0b300ba4
|
||||
)
|
||||
|
||||
|
||||
(deftype hud-pegasus (hud)
|
||||
()
|
||||
:heap-base #xb30
|
||||
@@ -225,6 +243,7 @@
|
||||
:flag-assert #x1b0b300ba4
|
||||
)
|
||||
|
||||
|
||||
(deftype hud-plasmite (hud)
|
||||
()
|
||||
:heap-base #xb30
|
||||
@@ -233,6 +252,7 @@
|
||||
:flag-assert #x1b0b300ba4
|
||||
)
|
||||
|
||||
|
||||
(deftype hud-dig-button (hud)
|
||||
()
|
||||
:heap-base #xb30
|
||||
@@ -241,6 +261,7 @@
|
||||
:flag-assert #x1b0b300ba4
|
||||
)
|
||||
|
||||
|
||||
(deftype hud-predator (hud)
|
||||
()
|
||||
:heap-base #xb30
|
||||
@@ -249,6 +270,7 @@
|
||||
:flag-assert #x1b0b300ba4
|
||||
)
|
||||
|
||||
|
||||
(deftype hud-heatmeter (hud)
|
||||
()
|
||||
:heap-base #xb30
|
||||
@@ -257,6 +279,7 @@
|
||||
:flag-assert #x1b0b300ba4
|
||||
)
|
||||
|
||||
|
||||
(deftype hud-progress (hud)
|
||||
()
|
||||
:heap-base #xb30
|
||||
@@ -265,6 +288,7 @@
|
||||
:flag-assert #x1b0b300ba4
|
||||
)
|
||||
|
||||
|
||||
(deftype hud-rocketsensor (hud)
|
||||
()
|
||||
:heap-base #xb30
|
||||
@@ -273,6 +297,7 @@
|
||||
:flag-assert #x1b0b300ba4
|
||||
)
|
||||
|
||||
|
||||
(deftype hud-ruffians (hud)
|
||||
()
|
||||
:heap-base #xb30
|
||||
@@ -281,6 +306,7 @@
|
||||
:flag-assert #x1b0b300ba4
|
||||
)
|
||||
|
||||
|
||||
(deftype hud-score (hud)
|
||||
()
|
||||
:heap-base #xb30
|
||||
@@ -289,6 +315,7 @@
|
||||
:flag-assert #x1b0b300ba4
|
||||
)
|
||||
|
||||
|
||||
(deftype hud-sig (hud)
|
||||
()
|
||||
:heap-base #xb30
|
||||
@@ -297,6 +324,7 @@
|
||||
:flag-assert #x1b0b300ba4
|
||||
)
|
||||
|
||||
|
||||
(deftype hud-skill (hud)
|
||||
()
|
||||
:heap-base #xb30
|
||||
@@ -305,6 +333,7 @@
|
||||
:flag-assert #x1b0b300ba4
|
||||
)
|
||||
|
||||
|
||||
(deftype hud-skullgem (hud)
|
||||
()
|
||||
:heap-base #xb30
|
||||
@@ -313,6 +342,7 @@
|
||||
:flag-assert #x1b0b300ba4
|
||||
)
|
||||
|
||||
|
||||
(deftype hud-timer (hud)
|
||||
()
|
||||
:heap-base #xb30
|
||||
@@ -321,6 +351,7 @@
|
||||
:flag-assert #x1b0b300ba4
|
||||
)
|
||||
|
||||
|
||||
(deftype hud-turret (hud)
|
||||
()
|
||||
:heap-base #xb30
|
||||
@@ -329,6 +360,7 @@
|
||||
:flag-assert #x1b0b300ba4
|
||||
)
|
||||
|
||||
|
||||
(deftype hud-squid (hud)
|
||||
()
|
||||
:heap-base #xb30
|
||||
@@ -337,6 +369,7 @@
|
||||
:flag-assert #x1b0b300ba4
|
||||
)
|
||||
|
||||
|
||||
(deftype hud-gunturret (hud)
|
||||
()
|
||||
:heap-base #xb30
|
||||
@@ -345,6 +378,7 @@
|
||||
:flag-assert #x1b0b300ba4
|
||||
)
|
||||
|
||||
|
||||
(deftype hud-gruntegg (hud)
|
||||
()
|
||||
:heap-base #xb30
|
||||
@@ -353,6 +387,7 @@
|
||||
:flag-assert #x1b0b300ba4
|
||||
)
|
||||
|
||||
|
||||
(deftype hud-crimsonhover (hud)
|
||||
()
|
||||
:heap-base #xb30
|
||||
@@ -361,6 +396,7 @@
|
||||
:flag-assert #x1b0b300ba4
|
||||
)
|
||||
|
||||
|
||||
(deftype hud-metalkor (hud)
|
||||
()
|
||||
:heap-base #xb30
|
||||
@@ -369,6 +405,7 @@
|
||||
:flag-assert #x1b0b300ba4
|
||||
)
|
||||
|
||||
|
||||
(deftype hud-big-score (hud)
|
||||
()
|
||||
:heap-base #xb30
|
||||
@@ -377,6 +414,7 @@
|
||||
:flag-assert #x1b0b300ba4
|
||||
)
|
||||
|
||||
|
||||
(deftype hud-goal (hud)
|
||||
()
|
||||
:heap-base #xb30
|
||||
@@ -385,6 +423,7 @@
|
||||
:flag-assert #x1b0b300ba4
|
||||
)
|
||||
|
||||
|
||||
(deftype hud-miss (hud)
|
||||
()
|
||||
:heap-base #xb30
|
||||
@@ -393,6 +432,7 @@
|
||||
:flag-assert #x1b0b300ba4
|
||||
)
|
||||
|
||||
|
||||
(deftype hud-race-timer (hud)
|
||||
()
|
||||
:heap-base #xb30
|
||||
@@ -401,6 +441,7 @@
|
||||
:flag-assert #x1b0b300ba4
|
||||
)
|
||||
|
||||
|
||||
(deftype hud-race-lap-counter (hud)
|
||||
()
|
||||
:heap-base #xb30
|
||||
@@ -409,6 +450,7 @@
|
||||
:flag-assert #x1b0b300ba4
|
||||
)
|
||||
|
||||
|
||||
(deftype hud-race-turbo-counter (hud)
|
||||
()
|
||||
:heap-base #xb30
|
||||
@@ -417,6 +459,7 @@
|
||||
:flag-assert #x1b0b300ba4
|
||||
)
|
||||
|
||||
|
||||
(deftype hud-race-position (hud)
|
||||
()
|
||||
:heap-base #xb30
|
||||
@@ -425,6 +468,7 @@
|
||||
:flag-assert #x1b0b300ba4
|
||||
)
|
||||
|
||||
|
||||
(deftype hud-race-map (hud)
|
||||
()
|
||||
:heap-base #xb30
|
||||
@@ -433,6 +477,7 @@
|
||||
:flag-assert #x1b0b300ba4
|
||||
)
|
||||
|
||||
|
||||
(deftype hud-samos-old (hud)
|
||||
()
|
||||
:heap-base #xb30
|
||||
@@ -441,6 +486,7 @@
|
||||
:flag-assert #x1b0b300ba4
|
||||
)
|
||||
|
||||
|
||||
(deftype hud-samos-young (hud)
|
||||
()
|
||||
:heap-base #xb30
|
||||
@@ -449,6 +495,7 @@
|
||||
:flag-assert #x1b0b300ba4
|
||||
)
|
||||
|
||||
|
||||
(deftype hud-lurker-button (hud)
|
||||
()
|
||||
:heap-base #xb30
|
||||
@@ -457,6 +504,7 @@
|
||||
:flag-assert #x1b0b300ba4
|
||||
)
|
||||
|
||||
|
||||
(deftype hud-widow (hud)
|
||||
()
|
||||
:heap-base #xb30
|
||||
@@ -465,6 +513,7 @@
|
||||
:flag-assert #x1b0b300ba4
|
||||
)
|
||||
|
||||
|
||||
(deftype hud-race-final-stats (hud)
|
||||
()
|
||||
:heap-base #xb30
|
||||
@@ -473,6 +522,7 @@
|
||||
:flag-assert #x1b0b300ba4
|
||||
)
|
||||
|
||||
|
||||
(deftype hud-mech-air-tank (hud)
|
||||
()
|
||||
:heap-base #xb30
|
||||
@@ -481,6 +531,7 @@
|
||||
:flag-assert #x1b0b300ba4
|
||||
)
|
||||
|
||||
|
||||
(deftype hud-homing-beacon (hud)
|
||||
()
|
||||
:heap-base #xb30
|
||||
@@ -489,6 +540,7 @@
|
||||
:flag-assert #x1b0b300ba4
|
||||
)
|
||||
|
||||
|
||||
(deftype hud-dark-eco-pickup (hud)
|
||||
()
|
||||
:heap-base #xb30
|
||||
@@ -497,6 +549,7 @@
|
||||
:flag-assert #x1b0b300ba4
|
||||
)
|
||||
|
||||
|
||||
(deftype hud-green-eco-pickup (hud)
|
||||
()
|
||||
:heap-base #xb30
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -15,7 +15,7 @@
|
||||
(define-extern *progress-process* (pointer progress))
|
||||
(define-extern activate-progress (function process symbol none))
|
||||
|
||||
(define-extern memcard-unlocked-secrets? (function symbol symbol))
|
||||
(define-extern memcard-unlocked-secrets? "TODO - returns a bitfield" (function symbol int))
|
||||
(define-extern progress-selected (function int int :behavior progress))
|
||||
(define-extern get-num-highscores (function int))
|
||||
(define-extern get-next-highscore (function int int))
|
||||
@@ -60,7 +60,7 @@
|
||||
(go-away () _type_ :state 22)
|
||||
(gone () _type_ :state 23)
|
||||
(init-defaults (_type_) connection 24)
|
||||
(progress-method-25 (_type_ object object symbol) none 25)
|
||||
(progress-method-25 (_type_) none 25)
|
||||
(progress-method-26 (_type_) object 26)
|
||||
(can-go-back? (_type_) symbol 27)
|
||||
(progress-method-28 (_type_ symbol) symbol 28)
|
||||
@@ -73,11 +73,11 @@
|
||||
|
||||
|
||||
(deftype menu-option (basic)
|
||||
((name game-text-id :offset-assert 4)
|
||||
(scale float :offset-assert 8)
|
||||
(unknown function :offset-assert 12)
|
||||
(box menu-option 1 :offset-assert 16)
|
||||
(unknown-options menu-option 7 :offset-assert 20)
|
||||
((name game-text-id :offset-assert 4)
|
||||
(scale float :offset-assert 8)
|
||||
(unknown function :offset-assert 12)
|
||||
(box hud-box 1 :inline :offset-assert 16)
|
||||
(options menu-option 8 :offset 16)
|
||||
)
|
||||
:method-count-assert 12
|
||||
:size-assert #x30
|
||||
|
||||
@@ -7,8 +7,6 @@
|
||||
|
||||
(set! *progress-process* #f)
|
||||
|
||||
;; og:ignore-form:progress-trans
|
||||
|
||||
;; DECOMP BEGINS
|
||||
|
||||
(deftype progress-global-state (basic)
|
||||
@@ -132,96 +130,72 @@
|
||||
(set! (-> obj sliding-height) 0.0)
|
||||
(set! (-> obj sliding-off) 1.0)
|
||||
(set! (-> obj scanlines-alpha) 0.0)
|
||||
(set! (-> (the-as
|
||||
menu-on-off-game-vibrations-option
|
||||
(-> (the-as menu-on-off-game-vibrations-option (-> *game-options* options 0)) box 0)
|
||||
)
|
||||
(set! (-> (the-as menu-on-off-game-vibrations-option (-> (the-as (array menu-option) (-> *game-options* options 0)) 0))
|
||||
value-to-modify
|
||||
)
|
||||
(&-> *setting-control* user-default vibration)
|
||||
)
|
||||
(set! (-> (the-as
|
||||
menu-on-off-game-subtitles-option
|
||||
(-> (the-as menu-on-off-game-subtitles-option (-> *game-options* options 0)) unknown-options 0)
|
||||
)
|
||||
(set! (-> (the-as menu-on-off-game-subtitles-option (-> (the-as (array menu-option) (-> *game-options* options 0)) 1))
|
||||
value-to-modify
|
||||
)
|
||||
(&-> *setting-control* user-default subtitle)
|
||||
)
|
||||
(set! (-> (the-as
|
||||
menu-language-option
|
||||
(-> (the-as menu-language-option (-> *game-options* options 0)) unknown-options 1)
|
||||
)
|
||||
(set! (-> (the-as menu-language-option (-> (the-as (array menu-option) (-> *game-options* options 0)) 2))
|
||||
language-selection
|
||||
)
|
||||
(-> *setting-control* user-current language)
|
||||
)
|
||||
(set! (-> (the-as
|
||||
menu-language-option
|
||||
(-> (the-as menu-language-option (-> *game-options* options 0)) unknown-options 1)
|
||||
)
|
||||
(set! (-> (the-as menu-language-option (-> (the-as (array menu-option) (-> *game-options* options 0)) 2))
|
||||
language-direction
|
||||
)
|
||||
#t
|
||||
)
|
||||
(set! (-> (the-as
|
||||
menu-language-option
|
||||
(-> (the-as menu-language-option (-> *game-options* options 0)) unknown-options 1)
|
||||
)
|
||||
(set! (-> (the-as menu-language-option (-> (the-as (array menu-option) (-> *game-options* options 0)) 2))
|
||||
language-transition
|
||||
)
|
||||
#f
|
||||
)
|
||||
(set! (-> (the-as
|
||||
menu-language-option
|
||||
(-> (the-as menu-language-option (-> *game-options* options 0)) unknown-options 1)
|
||||
)
|
||||
(set! (-> (the-as menu-language-option (-> (the-as (array menu-option) (-> *game-options* options 0)) 2))
|
||||
language-x-offset
|
||||
)
|
||||
0
|
||||
)
|
||||
(set! (-> (the-as menu-on-off-option (-> (the-as menu-on-off-option (-> *game-options-japan* options 0)) box 0))
|
||||
(set! (-> (the-as menu-on-off-option (-> (the-as (array menu-option) (-> *game-options-japan* options 0)) 0))
|
||||
value-to-modify
|
||||
)
|
||||
(&-> *setting-control* user-default vibration)
|
||||
)
|
||||
(set! (-> (the-as menu-on-off-option (-> (the-as menu-on-off-option (-> *game-options-demo* options 0)) box 0))
|
||||
(set! (-> (the-as menu-on-off-option (-> (the-as (array menu-option) (-> *game-options-demo* options 0)) 0))
|
||||
value-to-modify
|
||||
)
|
||||
(&-> *setting-control* user-default vibration)
|
||||
)
|
||||
(set! (-> (the-as
|
||||
menu-on-off-option
|
||||
(-> (the-as menu-on-off-option (-> *graphic-options* options 0)) unknown-options 1)
|
||||
)
|
||||
(set! (-> (the-as menu-on-off-option (-> (the-as (array menu-option) (-> *graphic-options* options 0)) 2))
|
||||
value-to-modify
|
||||
)
|
||||
(&-> *setting-control* user-default use-progressive-scan)
|
||||
)
|
||||
(set! (-> (the-as
|
||||
menu-on-off-option
|
||||
(-> (the-as menu-on-off-option (-> *graphic-title-options-pal* options 0)) unknown-options 1)
|
||||
)
|
||||
(set! (-> (the-as menu-on-off-option (-> (the-as (array menu-option) (-> *graphic-title-options-pal* options 0)) 2))
|
||||
value-to-modify
|
||||
)
|
||||
(&-> *setting-control* user-default use-progressive-scan)
|
||||
)
|
||||
(set! (-> (the-as menu-slider-option (-> (the-as menu-slider-option (-> *sound-options* options 0)) box 0))
|
||||
(set! (-> (the-as menu-slider-option (-> (the-as (array menu-option) (-> *sound-options* options 0)) 0))
|
||||
value-to-modify
|
||||
)
|
||||
(&-> *setting-control* user-default sfx-volume)
|
||||
)
|
||||
(set! (-> (the-as menu-slider-option (-> (the-as menu-slider-option (-> *sound-options* options 0)) unknown-options 0))
|
||||
(set! (-> (the-as menu-slider-option (-> (the-as (array menu-option) (-> *sound-options* options 0)) 1))
|
||||
value-to-modify
|
||||
)
|
||||
(&-> *setting-control* user-default music-volume)
|
||||
)
|
||||
(set! (-> (the-as menu-slider-option (-> (the-as menu-slider-option (-> *sound-options* options 0)) unknown-options 1))
|
||||
(set! (-> (the-as menu-slider-option (-> (the-as (array menu-option) (-> *sound-options* options 0)) 2))
|
||||
value-to-modify
|
||||
)
|
||||
(&-> *setting-control* user-default dialog-volume)
|
||||
)
|
||||
(set! (-> (the-as menu-missions-option (-> (the-as menu-missions-option (-> *missions-options* options 0)) box 0))
|
||||
(set! (-> (the-as menu-missions-option (-> (the-as (array menu-option) (-> *missions-options* options 0)) 0))
|
||||
task-line-index
|
||||
)
|
||||
0
|
||||
@@ -781,7 +755,7 @@
|
||||
(('loading)
|
||||
(set! (-> *progress-state* last-slot-saved) (-> *progress-state* which-slot))
|
||||
(auto-save-command 'restore 0 (-> *progress-state* which-slot) obj #f)
|
||||
(set! (-> (the-as menu-missions-option (-> (the-as menu-missions-option (-> *missions-options* options 0)) box 0))
|
||||
(set! (-> (the-as menu-missions-option (-> (the-as (array menu-option) (-> *missions-options* options 0)) 0))
|
||||
task-line-index
|
||||
)
|
||||
0
|
||||
@@ -933,10 +907,7 @@
|
||||
)
|
||||
(('select-start 'select-pre-start 'select-kiosk-start)
|
||||
(set! (-> obj current-options) *select-start-options*)
|
||||
(set! (-> (the-as
|
||||
menu-select-start-option
|
||||
(-> (the-as menu-select-start-option (-> *select-start-options* options 0)) box 0)
|
||||
)
|
||||
(set! (-> (the-as menu-select-start-option (-> (the-as (array menu-option) (-> *select-start-options* options 0)) 0))
|
||||
task-index
|
||||
)
|
||||
0
|
||||
@@ -945,10 +916,7 @@
|
||||
)
|
||||
(('select-scene)
|
||||
(set! (-> obj current-options) *select-scene-options*)
|
||||
(set! (-> (the-as
|
||||
menu-select-scene-option
|
||||
(-> (the-as menu-select-scene-option (-> *select-scene-options* options 0)) box 0)
|
||||
)
|
||||
(set! (-> (the-as menu-select-scene-option (-> (the-as (array menu-option) (-> *select-scene-options* options 0)) 0))
|
||||
task-index
|
||||
)
|
||||
0
|
||||
@@ -982,7 +950,7 @@
|
||||
)
|
||||
(('missions)
|
||||
(set! (-> *progress-state* missions-total-spacing) 0.0)
|
||||
(set! (-> (the-as menu-missions-option (-> (the-as menu-missions-option (-> *missions-options* options 0)) box 0))
|
||||
(set! (-> (the-as menu-missions-option (-> (the-as (array menu-option) (-> *missions-options* options 0)) 0))
|
||||
task-line-index
|
||||
)
|
||||
0
|
||||
@@ -990,12 +958,12 @@
|
||||
(set! (-> obj current-options) *missions-options*)
|
||||
)
|
||||
(('highscores)
|
||||
(set! (-> (the-as menu-highscores-option (-> (the-as menu-highscores-option (-> *highscores-options* options 0)) box 0))
|
||||
(set! (-> (the-as menu-highscores-option (-> (the-as (array menu-option) (-> *highscores-options* options 0)) 0))
|
||||
page-index
|
||||
)
|
||||
0
|
||||
)
|
||||
(set! (-> (the-as menu-highscores-option (-> (the-as menu-highscores-option (-> *highscores-options* options 0)) box 0))
|
||||
(set! (-> (the-as menu-highscores-option (-> (the-as (array menu-option) (-> *highscores-options* options 0)) 0))
|
||||
prev-page-index
|
||||
)
|
||||
0
|
||||
@@ -1020,13 +988,13 @@
|
||||
0
|
||||
)
|
||||
|
||||
(defmethod progress-method-25 progress ((obj progress) (arg0 object) (arg1 object) (arg2 symbol))
|
||||
(defmethod progress-method-25 progress ((obj progress))
|
||||
(mc-get-slot-info 0 *progress-save-info*)
|
||||
(when (-> obj current-options)
|
||||
(let ((s5-0 (-> obj current-options options 0)))
|
||||
(when (and s5-0 (= (-> obj menu-transition) 0.0))
|
||||
(respond-progress
|
||||
(-> (the-as menu-option (+ (* (-> obj option-index) 4) (the-as int s5-0))) box 0)
|
||||
(the-as menu-option (-> s5-0 options (-> obj option-index)))
|
||||
obj
|
||||
(and (= (-> obj menu-transition) 0.0) (-> obj selected-option))
|
||||
)
|
||||
@@ -1115,7 +1083,188 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; ERROR: failed type prop at 0: Could not figure out load: (set! v1 (l.wu (+ s6 228)))
|
||||
(defbehavior progress-trans progress ()
|
||||
(cond
|
||||
((and (= (-> self next) 'none)
|
||||
(or (= (-> *progress-state* starting-state) 'main) (= (-> self anim-frame) 1.0))
|
||||
)
|
||||
(set! (-> self menu-transition)
|
||||
(seek-ease
|
||||
(-> self menu-transition)
|
||||
0.0
|
||||
(* 0.1 (-> self clock time-adjust-ratio))
|
||||
0.4
|
||||
(* 0.01 (-> self clock time-adjust-ratio))
|
||||
)
|
||||
)
|
||||
)
|
||||
(else
|
||||
(seek! (-> self menu-transition) 1.0 (* 0.1 (-> self clock time-adjust-ratio)))
|
||||
(when (and (= (-> self menu-transition) 1.0)
|
||||
(or (and (nonzero? (-> self state-pos)) (= (-> self anim-frame) 1.0))
|
||||
(or (and (zero? (-> self state-pos)) (= (-> self anim-frame) 0.0))
|
||||
(and (!= (-> *progress-state* starting-state) 'main) (!= (-> self next) 'none))
|
||||
)
|
||||
)
|
||||
)
|
||||
(set! (-> self current) (-> self next))
|
||||
(set! (-> self next) 'none)
|
||||
(set! (-> self option-index) (-> self next-option-index))
|
||||
(set! (-> self want-option-index) 0)
|
||||
(set-menu-options self (-> self current))
|
||||
(set! (-> self scanlines-alpha) 0.0)
|
||||
)
|
||||
)
|
||||
)
|
||||
(set! (-> self main-menu)
|
||||
(and (zero? (-> self state-pos)) (and (= (-> self menu-transition) 0.0)
|
||||
(= (-> self next) 'none)
|
||||
(or (= (-> self state-stack 0) 'main) (= (-> self current) 'main))
|
||||
)
|
||||
)
|
||||
)
|
||||
(when *cheat-mode*
|
||||
(when (zero? (-> self state-pos))
|
||||
(cond
|
||||
((and (cpad-hold? 0 l2) (cpad-hold? 0 r1))
|
||||
(if (= (-> self current-options) *main-options*)
|
||||
(set! (-> self current-options) *main-options-debug*)
|
||||
)
|
||||
)
|
||||
((= (-> self current-options) *main-options-debug*)
|
||||
(set! (-> self current-options) *main-options*)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
(if (= (-> self ring-angle) (-> self ring-want-angle))
|
||||
(progress-method-25 self)
|
||||
)
|
||||
(let ((f30-0 (* 0.005 (-> self clock time-adjust-ratio))))
|
||||
(cond
|
||||
((= (-> self menu-transition) 1.0)
|
||||
(if (and (zero? (-> self state-pos)) (= (-> *progress-state* starting-state) 'main))
|
||||
(seek! (-> self anim-frame) 0.0 (* 0.02 (-> self clock time-adjust-ratio)))
|
||||
(seek! (-> self anim-frame) 1.0 (* 0.02 (-> self clock time-adjust-ratio)))
|
||||
)
|
||||
(let ((f0-27 (if (and (zero? (-> self state-pos)) (!= (-> *progress-state* starting-state) 'title))
|
||||
0.0
|
||||
0.2
|
||||
)
|
||||
)
|
||||
)
|
||||
(when (= (-> self next) 'bigmap)
|
||||
(set! f0-27 0.4)
|
||||
(set! f30-0 (* 0.008 (-> self clock time-adjust-ratio)))
|
||||
)
|
||||
(seek! (-> self pos-transition) f0-27 f30-0)
|
||||
)
|
||||
)
|
||||
((zero? (-> self state-pos))
|
||||
(if (= (-> self current) 'bigmap)
|
||||
(set! f30-0 (* 0.05 (-> self clock time-adjust-ratio)))
|
||||
)
|
||||
(if (!= (-> *progress-state* starting-state) 'title)
|
||||
(seek! (-> self pos-transition) 0.0 f30-0)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
(if (!= (-> *progress-state* starting-state) 'main)
|
||||
(set! (-> self pos-transition) 0.2)
|
||||
)
|
||||
(set-ring-position self)
|
||||
(when (= (-> self ring-angle) (-> self ring-want-angle))
|
||||
(cond
|
||||
((< (-> self want-option-index) 0)
|
||||
(cond
|
||||
((and (= *cheat-mode* #f) (= *kernel-boot-message* 'kiosk))
|
||||
(if (> (-> self option-index) 0)
|
||||
(+! (-> self option-index) -1)
|
||||
)
|
||||
)
|
||||
(else
|
||||
(set! (-> self option-index)
|
||||
(min-max-wrap-around (+ (-> self option-index) -1) 0 (+ (length (-> self current-options options 0)) -1))
|
||||
)
|
||||
)
|
||||
)
|
||||
(set! (-> self graphic-index) (-> self option-index))
|
||||
(+! (-> self want-option-index) 1)
|
||||
)
|
||||
((> (-> self want-option-index) 0)
|
||||
(cond
|
||||
((and (= *cheat-mode* #f) (= *kernel-boot-message* 'kiosk))
|
||||
(if (< (-> self option-index) (+ (length (-> self current-options options 0)) -1))
|
||||
(+! (-> self option-index) 1)
|
||||
)
|
||||
)
|
||||
(else
|
||||
(set! (-> self option-index)
|
||||
(min-max-wrap-around (+ (-> self option-index) 1) 0 (+ (length (-> self current-options options 0)) -1))
|
||||
)
|
||||
)
|
||||
)
|
||||
(+! (-> self want-option-index) -1)
|
||||
)
|
||||
)
|
||||
)
|
||||
(if (= (-> self anim-frame) 0.0)
|
||||
(set! (-> self swing) (seek-ease
|
||||
(-> self swing)
|
||||
4.0
|
||||
(* 0.05 (-> self clock time-adjust-ratio))
|
||||
0.5
|
||||
(* 0.005 (-> self clock time-adjust-ratio))
|
||||
)
|
||||
)
|
||||
(set! (-> self swing) (seek-ease
|
||||
(-> self swing)
|
||||
0.0
|
||||
(* 0.07 (-> self clock time-adjust-ratio))
|
||||
0.5
|
||||
(* 0.007 (-> self clock time-adjust-ratio))
|
||||
)
|
||||
)
|
||||
)
|
||||
(when (-> self main-menu)
|
||||
(set! (-> self ring-want-angle) (ceil (* 182.04445 (* 36.0 (the float (-> self option-index))))))
|
||||
(if (and (= (-> self ring-want-angle) 0.0) (< 32768.0 (-> self ring-angle)))
|
||||
(set! (-> self ring-want-angle) 65536.0)
|
||||
)
|
||||
(let ((f0-54 (- (-> self ring-want-angle) (-> self ring-angle))))
|
||||
(when (< 32768.0 (fabs f0-54))
|
||||
(if (< 0.0 f0-54)
|
||||
(set! (-> self ring-angle) (+ 65536.0 (-> self ring-angle)))
|
||||
(set! (-> self ring-angle) (+ -65536.0 (-> self ring-angle)))
|
||||
)
|
||||
)
|
||||
)
|
||||
(seek! (-> self ring-angle) (-> self ring-want-angle) (* 455.1111 (-> self clock time-adjust-ratio)))
|
||||
)
|
||||
(let ((gp-4 (quaternion-vector-angle!
|
||||
(new 'stack-no-clear 'quaternion)
|
||||
*x-vector*
|
||||
(* 182.04445 (* (-> self swing) (sin (the float (* 40 (-> self clock frame-counter))))))
|
||||
)
|
||||
)
|
||||
(s5-4 (quaternion-vector-angle!
|
||||
(new 'stack-no-clear 'quaternion)
|
||||
*y-vector*
|
||||
(* 182.04445 (* (-> self swing) (sin (the float (* 0 (-> self clock frame-counter))))))
|
||||
)
|
||||
)
|
||||
)
|
||||
(quaternion*! (-> self root quat) (-> self init-quat) gp-4)
|
||||
(quaternion*! (-> self root quat) (-> self root quat) s5-4)
|
||||
)
|
||||
(quaternion-normalize! (-> self root quat))
|
||||
(if (= (-> self ring-angle) (-> self ring-want-angle))
|
||||
(set! (-> self graphic-index) (-> self option-index))
|
||||
)
|
||||
0
|
||||
(none)
|
||||
)
|
||||
|
||||
(defun begin-scan ((arg0 hud-box) (arg1 progress))
|
||||
(cond
|
||||
@@ -1241,7 +1390,7 @@
|
||||
)
|
||||
)
|
||||
(menu-option-method-10
|
||||
(-> gp-0 box s4-1)
|
||||
(-> gp-0 options s4-1)
|
||||
self
|
||||
sv-144
|
||||
s4-1
|
||||
@@ -1268,13 +1417,7 @@
|
||||
(when (and (< 0.8 (-> self anim-frame)) (or (= (-> self current) 'bigmap) (= (-> self next) 'bigmap)))
|
||||
(cond
|
||||
((>= (-> self pos-transition) 0.38)
|
||||
(let ((t9-8 (method-of-object *bigmap* bigmap-method-11)))
|
||||
1792
|
||||
1840
|
||||
2304
|
||||
2256
|
||||
(t9-8)
|
||||
)
|
||||
(bigmap-method-11 *bigmap* 1792 1840 2304 2256)
|
||||
)
|
||||
(else
|
||||
(let ((s4-2 (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 21)))
|
||||
@@ -1284,15 +1427,15 @@
|
||||
(set! (-> gp-1 quad) (the-as uint128 0))
|
||||
(let ((s5-1 (new 'stack-no-clear 'vector4w)))
|
||||
(set! (-> s5-1 quad) (the-as uint128 0))
|
||||
(when (and (transform-point-qword! gp-1 s4-2) (transform-point-qword! s5-1 s3-1))
|
||||
(let ((t9-13 (method-of-object *bigmap* bigmap-method-11)))
|
||||
(/ (the-as int (-> s5-1 x)) 16)
|
||||
(/ (the-as int (-> s5-1 y)) 16)
|
||||
(/ (the-as int (-> gp-1 x)) 16)
|
||||
(/ (the-as int (-> gp-1 y)) 16)
|
||||
(t9-13)
|
||||
(if (and (transform-point-qword! gp-1 s4-2) (transform-point-qword! s5-1 s3-1))
|
||||
(bigmap-method-11
|
||||
*bigmap*
|
||||
(the-as int (/ (the-as int (-> s5-1 x)) 16))
|
||||
(the-as int (/ (the-as int (-> s5-1 y)) 16))
|
||||
(the-as int (/ (the-as int (-> gp-1 x)) 16))
|
||||
(the-as int (/ (the-as int (-> gp-1 y)) 16))
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
@@ -1359,64 +1502,64 @@
|
||||
(let ((t9-0 format)
|
||||
(a0-3 #t)
|
||||
(a1-1 "DONE NOTIFY: ~S ~S~%")
|
||||
(v1-3 (-> arg3 param 1))
|
||||
(v1-3 (the-as mc-status-code (-> arg3 param 1)))
|
||||
)
|
||||
(t9-0
|
||||
a0-3
|
||||
a1-1
|
||||
(cond
|
||||
((= v1-3 15)
|
||||
((= v1-3 (mc-status-code bad-version))
|
||||
"bad-version"
|
||||
)
|
||||
((= v1-3 13)
|
||||
((= v1-3 (mc-status-code no-save))
|
||||
"no-save"
|
||||
)
|
||||
((= v1-3 10)
|
||||
((= v1-3 (mc-status-code no-last))
|
||||
"no-last"
|
||||
)
|
||||
((= v1-3 14)
|
||||
((= v1-3 (mc-status-code no-space))
|
||||
"no-space"
|
||||
)
|
||||
((= v1-3 4)
|
||||
((= v1-3 (mc-status-code internal-error))
|
||||
"internal-error"
|
||||
)
|
||||
((= v1-3 8)
|
||||
((= v1-3 (mc-status-code no-memory))
|
||||
"no-memory"
|
||||
)
|
||||
((= v1-3 2)
|
||||
((= v1-3 (mc-status-code bad-handle))
|
||||
"bad-handle"
|
||||
)
|
||||
((zero? v1-3)
|
||||
((= v1-3 (mc-status-code busy))
|
||||
"busy"
|
||||
)
|
||||
((= v1-3 5)
|
||||
((= v1-3 (mc-status-code write-error))
|
||||
"write-error"
|
||||
)
|
||||
((= v1-3 6)
|
||||
((= v1-3 (mc-status-code read-error))
|
||||
"read-error"
|
||||
)
|
||||
((= v1-3 9)
|
||||
((= v1-3 (mc-status-code no-card))
|
||||
"no-card"
|
||||
)
|
||||
((= v1-3 11)
|
||||
((= v1-3 (mc-status-code no-format))
|
||||
"no-format"
|
||||
)
|
||||
((= v1-3 1)
|
||||
((= v1-3 (mc-status-code ok))
|
||||
"ok"
|
||||
)
|
||||
((= v1-3 16)
|
||||
((= v1-3 (mc-status-code no-process))
|
||||
"no-process"
|
||||
)
|
||||
((= v1-3 17)
|
||||
((= v1-3 (mc-status-code no-auto-save))
|
||||
"no-auto-save"
|
||||
)
|
||||
((= v1-3 12)
|
||||
((= v1-3 (mc-status-code no-file))
|
||||
"no-file"
|
||||
)
|
||||
((= v1-3 3)
|
||||
((= v1-3 (mc-status-code format-failed))
|
||||
"format-failed"
|
||||
)
|
||||
((= v1-3 7)
|
||||
((= v1-3 (mc-status-code new-game))
|
||||
"new-game"
|
||||
)
|
||||
(else
|
||||
@@ -1458,64 +1601,64 @@
|
||||
(let ((t9-7 format)
|
||||
(a0-18 #t)
|
||||
(a1-5 "ERROR NOTIFY: ~S ~S ~S~%")
|
||||
(v1-19 (-> arg3 param 1))
|
||||
(v1-19 (the-as mc-status-code (-> arg3 param 1)))
|
||||
)
|
||||
(t9-7
|
||||
a0-18
|
||||
a1-5
|
||||
(cond
|
||||
((= v1-19 15)
|
||||
((= v1-19 (mc-status-code bad-version))
|
||||
"bad-version"
|
||||
)
|
||||
((= v1-19 13)
|
||||
((= v1-19 (mc-status-code no-save))
|
||||
"no-save"
|
||||
)
|
||||
((= v1-19 10)
|
||||
((= v1-19 (mc-status-code no-last))
|
||||
"no-last"
|
||||
)
|
||||
((= v1-19 14)
|
||||
((= v1-19 (mc-status-code no-space))
|
||||
"no-space"
|
||||
)
|
||||
((= v1-19 4)
|
||||
((= v1-19 (mc-status-code internal-error))
|
||||
"internal-error"
|
||||
)
|
||||
((= v1-19 8)
|
||||
((= v1-19 (mc-status-code no-memory))
|
||||
"no-memory"
|
||||
)
|
||||
((= v1-19 2)
|
||||
((= v1-19 (mc-status-code bad-handle))
|
||||
"bad-handle"
|
||||
)
|
||||
((zero? v1-19)
|
||||
((= v1-19 (mc-status-code busy))
|
||||
"busy"
|
||||
)
|
||||
((= v1-19 5)
|
||||
((= v1-19 (mc-status-code write-error))
|
||||
"write-error"
|
||||
)
|
||||
((= v1-19 6)
|
||||
((= v1-19 (mc-status-code read-error))
|
||||
"read-error"
|
||||
)
|
||||
((= v1-19 9)
|
||||
((= v1-19 (mc-status-code no-card))
|
||||
"no-card"
|
||||
)
|
||||
((= v1-19 11)
|
||||
((= v1-19 (mc-status-code no-format))
|
||||
"no-format"
|
||||
)
|
||||
((= v1-19 1)
|
||||
((= v1-19 (mc-status-code ok))
|
||||
"ok"
|
||||
)
|
||||
((= v1-19 16)
|
||||
((= v1-19 (mc-status-code no-process))
|
||||
"no-process"
|
||||
)
|
||||
((= v1-19 17)
|
||||
((= v1-19 (mc-status-code no-auto-save))
|
||||
"no-auto-save"
|
||||
)
|
||||
((= v1-19 12)
|
||||
((= v1-19 (mc-status-code no-file))
|
||||
"no-file"
|
||||
)
|
||||
((= v1-19 3)
|
||||
((= v1-19 (mc-status-code format-failed))
|
||||
"format-failed"
|
||||
)
|
||||
((= v1-19 7)
|
||||
((= v1-19 (mc-status-code new-game))
|
||||
"new-game"
|
||||
)
|
||||
(else
|
||||
@@ -1557,9 +1700,7 @@
|
||||
(set! (-> self menu-transition) 1.0)
|
||||
(none)
|
||||
)
|
||||
:trans (the-as (function none :behavior progress)
|
||||
;; TODO call to progress-trans!
|
||||
0)
|
||||
:trans progress-trans
|
||||
:code (behavior ()
|
||||
(until #f
|
||||
(ja :num-func num-func-identity :frame-num (* 12.0 (-> self anim-frame)))
|
||||
@@ -1705,13 +1846,13 @@
|
||||
)
|
||||
((logtest? (pad-buttons pb24) (-> *cpad-list* cpads 0 button0-rel 0))
|
||||
(cond
|
||||
((and (-> v1-1 0) (= (-> obj name) 366))
|
||||
((and (-> v1-1 0) (= (-> obj name) (game-text-id progress-root-restart-mission)))
|
||||
(logclear! (-> *cpad-list* cpads 0 button0-abs 0) (pad-buttons pb24))
|
||||
(logclear! (-> *cpad-list* cpads 0 button0-rel 0) (pad-buttons pb24))
|
||||
(restart-mission)
|
||||
(set-next-state arg0 'go-away 0)
|
||||
)
|
||||
((and (-> v1-1 0) (= (-> obj name) 307))
|
||||
((and (-> v1-1 0) (= (-> obj name) (game-text-id progress-quit)))
|
||||
(logclear! (-> *cpad-list* cpads 0 button0-abs 0) (pad-buttons pb24))
|
||||
(logclear! (-> *cpad-list* cpads 0 button0-rel 0) (pad-buttons pb24))
|
||||
(initialize! *game-info* 'game (the-as game-save #f) "title-restart")
|
||||
@@ -1786,7 +1927,7 @@
|
||||
(when s4-0
|
||||
(let ((f30-0 1.0))
|
||||
(case (-> obj name)
|
||||
((264 265)
|
||||
(((game-text-id progress-sound-music-volume) (game-text-id progress-sound-speech-volume))
|
||||
(set! f30-0 (-> (the-as (pointer float) gp-0)))
|
||||
)
|
||||
)
|
||||
@@ -1859,7 +2000,7 @@
|
||||
(logclear! (-> *cpad-list* cpads 0 button0-rel 0) (pad-buttons triangle))
|
||||
(when (and (= (-> arg0 ring-angle) (-> arg0 ring-want-angle)) #t)
|
||||
(cond
|
||||
((= (-> obj name) 291)
|
||||
((= (-> obj name) (game-text-id progress-demo-exit))
|
||||
(case *kernel-boot-message*
|
||||
(('demo-shared)
|
||||
(set! *master-exit* 'force)
|
||||
@@ -1871,12 +2012,15 @@
|
||||
)
|
||||
)
|
||||
)
|
||||
((or (= (-> obj name) 346) (= (-> obj name) 347) (= (-> obj name) 348))
|
||||
((or (= (-> obj name) (game-text-id progress-main-secrets-sceneplayer-1))
|
||||
(= (-> obj name) (game-text-id progress-main-secrets-sceneplayer-2))
|
||||
(= (-> obj name) (game-text-id progress-main-secrets-sceneplayer-3))
|
||||
)
|
||||
(case (-> obj name)
|
||||
((347)
|
||||
(((game-text-id progress-main-secrets-sceneplayer-2))
|
||||
(set! (-> *progress-state* scene-player-act) 2)
|
||||
)
|
||||
((348)
|
||||
(((game-text-id progress-main-secrets-sceneplayer-3))
|
||||
(set! (-> *progress-state* scene-player-act) 3)
|
||||
)
|
||||
(else
|
||||
@@ -1954,12 +2098,12 @@
|
||||
(set! (-> arg0 state-pos) 0)
|
||||
(set-next-state arg0 'secrets-insufficient-space 0)
|
||||
)
|
||||
(when (= (-> obj name) 298)
|
||||
(when (= (-> obj name) (game-text-id progress-continue-without-saving))
|
||||
(let ((a1-3 (progress-method-28 arg0 (-> arg0 current))))
|
||||
(set-next-state arg0 a1-3 0)
|
||||
)
|
||||
)
|
||||
(when (and (= (-> obj name) 339)
|
||||
(when (and (= (-> obj name) (game-text-id progress-root-secrets))
|
||||
(= *title* (-> arg0 current-options))
|
||||
(not (memcard-unlocked-secrets? #f))
|
||||
(= (-> arg0 option-index) 3)
|
||||
@@ -1971,7 +2115,7 @@
|
||||
(logclear! (-> *cpad-list* cpads 0 button0-abs 0) (pad-buttons pb24))
|
||||
(logclear! (-> *cpad-list* cpads 0 button0-rel 0) (pad-buttons pb24))
|
||||
(cond
|
||||
((= (-> obj name) 291)
|
||||
((= (-> obj name) (game-text-id progress-demo-exit))
|
||||
(case *kernel-boot-message*
|
||||
(('demo-shared)
|
||||
(set! *master-exit* 'force)
|
||||
@@ -1983,7 +2127,7 @@
|
||||
)
|
||||
)
|
||||
)
|
||||
((= (-> obj name) 298)
|
||||
((= (-> obj name) (game-text-id progress-continue-without-saving))
|
||||
(progress-intro-start (logtest? (-> *game-info* purchase-secrets) #x8000))
|
||||
)
|
||||
((= (-> obj next-state) 'back)
|
||||
@@ -2014,7 +2158,7 @@
|
||||
(logclear! (-> *cpad-list* cpads 0 button0-abs 0) (pad-buttons pb24))
|
||||
(logclear! (-> *cpad-list* cpads 0 button0-rel 0) (pad-buttons pb24))
|
||||
(cond
|
||||
((and (= (-> obj name) 349) (logtest? (the-as int s4-0) 512))
|
||||
((and (= (-> obj name) (game-text-id progress-main-secrets-scrapbook)) (logtest? s4-0 512))
|
||||
(sound-play "generic-beep")
|
||||
(cond
|
||||
((send-event (handle->process (-> *game-info* controller 0)) 'scrap-book 1)
|
||||
@@ -2028,7 +2172,7 @@
|
||||
)
|
||||
)
|
||||
)
|
||||
((and (= (-> obj name) 350) (logtest? (the-as int s4-0) 1024))
|
||||
((and (= (-> obj name) (game-text-id progress-main-secrets-mega-scrapbook)) (logtest? s4-0 1024))
|
||||
(sound-play "generic-beep")
|
||||
(cond
|
||||
((send-event (handle->process (-> *game-info* controller 0)) 'scrap-book 2)
|
||||
@@ -2042,7 +2186,7 @@
|
||||
)
|
||||
)
|
||||
)
|
||||
((and (= (-> obj name) 351) (logtest? (the-as int s4-0) 2048))
|
||||
((and (= (-> obj name) (game-text-id progress-main-secrets-scrapbook-3)) (logtest? s4-0 2048))
|
||||
(sound-play "generic-beep")
|
||||
(cond
|
||||
((send-event (handle->process (-> *game-info* controller 0)) 'scrap-book 3)
|
||||
@@ -2056,30 +2200,30 @@
|
||||
)
|
||||
)
|
||||
)
|
||||
((and (= (-> obj name) 346) (logtest? (the-as int s4-0) 32))
|
||||
((and (= (-> obj name) (game-text-id progress-main-secrets-sceneplayer-1)) (logtest? s4-0 32))
|
||||
(set! (-> *progress-state* scene-player-act) 1)
|
||||
(sound-play "generic-beep")
|
||||
(progress-method-29 arg0)
|
||||
(set-next-state arg0 'select-scene 0)
|
||||
)
|
||||
((and (= (-> obj name) 347) (logtest? (the-as int s4-0) 64))
|
||||
((and (= (-> obj name) (game-text-id progress-main-secrets-sceneplayer-2)) (logtest? s4-0 64))
|
||||
(set! (-> *progress-state* scene-player-act) 2)
|
||||
(sound-play "generic-beep")
|
||||
(progress-method-29 arg0)
|
||||
(set-next-state arg0 'select-scene 0)
|
||||
)
|
||||
((and (= (-> obj name) 348) (logtest? (the-as int s4-0) 128))
|
||||
((and (= (-> obj name) (game-text-id progress-main-secrets-sceneplayer-3)) (logtest? s4-0 128))
|
||||
(set! (-> *progress-state* scene-player-act) 3)
|
||||
(sound-play "generic-beep")
|
||||
(progress-method-29 arg0)
|
||||
(set-next-state arg0 'select-scene 0)
|
||||
)
|
||||
((and (= (-> obj name) 345) (logtest? (the-as int s4-0) #x8000))
|
||||
((and (= (-> obj name) (game-text-id progress-main-secrets-hero-mode)) (logtest? s4-0 #x8000))
|
||||
(sound-play "generic-beep")
|
||||
(progress-method-29 arg0)
|
||||
(set-next-state arg0 'select-save-title-hero 0)
|
||||
)
|
||||
((and (= (-> obj name) 352) (logtest? (the-as int s4-0) 256))
|
||||
((and (= (-> obj name) (game-text-id progress-main-secrets-levelselect)) (logtest? s4-0 256))
|
||||
(sound-play "generic-beep")
|
||||
(progress-method-29 arg0)
|
||||
(set-next-state arg0 'select-start 0)
|
||||
@@ -2150,12 +2294,12 @@
|
||||
)
|
||||
((= (-> *progress-save-info* file (-> *progress-state* which-slot) present) 1)
|
||||
(set! s5-0 #t)
|
||||
(menu-update-purchase-secrets (the-as menu-secret-option (-> *secret-options* options 0 box 0)))
|
||||
(menu-update-purchase-secrets (the-as menu-secret-option (-> *secret-options* options 0 box 0 min x)))
|
||||
(set-next-state arg0 'already-exists 0)
|
||||
)
|
||||
(else
|
||||
(set! s5-0 #t)
|
||||
(menu-update-purchase-secrets (the-as menu-secret-option (-> *secret-options* options 0 box 0)))
|
||||
(menu-update-purchase-secrets (the-as menu-secret-option (-> *secret-options* options 0 box 0 min x)))
|
||||
(set-next-state arg0 'saving 0)
|
||||
)
|
||||
)
|
||||
@@ -3602,13 +3746,13 @@
|
||||
)
|
||||
((logtest? (pad-buttons pb24) (-> *cpad-list* cpads 0 button0-rel 0))
|
||||
(cond
|
||||
((and (-> v1-1 0) (= (-> arg0 name) 366))
|
||||
((and (-> v1-1 0) (= (-> arg0 name) (game-text-id progress-root-restart-mission)))
|
||||
(logclear! (-> *cpad-list* cpads 0 button0-abs 0) (pad-buttons pb24))
|
||||
(logclear! (-> *cpad-list* cpads 0 button0-rel 0) (pad-buttons pb24))
|
||||
(restart-mission)
|
||||
(set-next-state arg1 'go-away 0)
|
||||
)
|
||||
((and (-> v1-1 0) (= (-> arg0 name) 307))
|
||||
((and (-> v1-1 0) (= (-> arg0 name) (game-text-id progress-quit)))
|
||||
(logclear! (-> *cpad-list* cpads 0 button0-abs 0) (pad-buttons pb24))
|
||||
(logclear! (-> *cpad-list* cpads 0 button0-rel 0) (pad-buttons pb24))
|
||||
(initialize! *game-info* 'game (the-as game-save #f) "title-restart")
|
||||
|
||||
@@ -10,99 +10,121 @@
|
||||
:type uint32
|
||||
:bitfield #f
|
||||
(pause 257)
|
||||
(progress-on-off-1TODO 270)
|
||||
(progress-on-off-2TODO 271)
|
||||
(progress-1k2jn1kj2n3 272)
|
||||
(progress-kj1231nj23 286)
|
||||
(progress-12434g343v 287)
|
||||
(progress-video-asda 288)
|
||||
(progress-video-j1n2 289)
|
||||
(progress-draw-yes-or-no-1-TODO 292)
|
||||
(progress-draw-yes-or-no-2-TODO 293)
|
||||
(progress-1kj2n3kj1n23 296)
|
||||
(progress-n2jk3n45234 298)
|
||||
(progress-1ikjhb231hjik2b31ihb231 303)
|
||||
(progress-kj1n23123 308)
|
||||
(progress-k1jnb231kjhnb23 311)
|
||||
(progress-loj1n23 312)
|
||||
(progress-2k3jn4234 313)
|
||||
(progress-2kj3n24kn 314)
|
||||
(progress-2kjn34 315)
|
||||
(progress-2klj342n43 316)
|
||||
(progress-l2jm342m34 317)
|
||||
(progress-2m342kmj34 318)
|
||||
(progress-kj1bn23kj1n23 339)
|
||||
(progress-1l2jnm31lk2m3 340)
|
||||
(progress-unlocked-oj1n23jn1 345)
|
||||
(progress-unlocked-k1231kkj 346)
|
||||
(progress-unlocked-jn12j 347)
|
||||
(progress-unlocked-m12312 348)
|
||||
(progress-unlocked-1231h2bn 349)
|
||||
(progress-unlocked-akjisndaj 350)
|
||||
(progress-unlocked-iwudnq 351)
|
||||
(progress-unlocked-n51i51n 352)
|
||||
(progress-1k2ijn1jkn3 360)
|
||||
(progress-1kjn2jn31kj3 361)
|
||||
(progress-1kj2n31j23 367)
|
||||
(progress-iko1jn231kjhn23 368)
|
||||
(progress-1klj2n31j2n3 369)
|
||||
(progress-i1un23i12b341 370)
|
||||
(progress-2kj3n2kji3n42 377)
|
||||
(progress-draw-continue-retry-1-TODO 382)
|
||||
(progress-1klj2n31j23 383)
|
||||
(progress-j1n23j1kn23kjn12 395)
|
||||
(progress-2j021j394j 396)
|
||||
(progress-kj6n324i63n 397)
|
||||
(progress-3iou4n3i45n3 398)
|
||||
(progress-39u4n359n45 399)
|
||||
(progress-iun34593n45 400)
|
||||
(progress-on2394234n 401)
|
||||
(progress-l1jkn231jkn23 402)
|
||||
(progress-kj1n231kjn2 403)
|
||||
(progress-1lkjn231jnk2 404)
|
||||
(progress-n12n211n1n 405)
|
||||
(progress-2iu3bn4289u34n 406)
|
||||
(progress-oj1n23kj1n23123 409)
|
||||
(progress-1kjn231kjn23 410)
|
||||
(progress-1kj2b31k2b3 411)
|
||||
(progress-j1nb23kj1hbn2 412)
|
||||
(progress-1kj2bkoij1231 413)
|
||||
(progress-1nmn1221n21n12n 414)
|
||||
(progress-busy-loading-TODO 416)
|
||||
(progress-1jib12o3nj12j3 419)
|
||||
(progress-1m23n1n23n21 420)
|
||||
(progress-1jk2n31jkn23n1j 421)
|
||||
(progress-1n23kjn12nk3j12 422)
|
||||
(progress-draw-continue-retry-2-TODO 423)
|
||||
(progress-kj12k3j1n23n 424)
|
||||
(progress-1kj2bn31kjhnb2 426)
|
||||
(progress-jk1n23kj1n2 429)
|
||||
(progress-k1jn23k1h23b 430)
|
||||
(progress-k1jn23kj1n23 431)
|
||||
(progress-1kjn231j2 432)
|
||||
(progress-1kj2n31kjn231 433)
|
||||
(progress-1kj2n31jkn23 434)
|
||||
(progress-1kjn2123919 435)
|
||||
(progress-jn12n3j1n2 436)
|
||||
(progress-n12jin313 437)
|
||||
(progress-main-23jn42 531)
|
||||
(progress-main-63j46j3n4 532)
|
||||
(progress-main-m123j1m 533)
|
||||
(progress-main-634jn6 534)
|
||||
(progress-main-52o352nm 535)
|
||||
(progress-main-63jk46n3 536)
|
||||
(progress-main-j324nm3 537)
|
||||
(progress-main-k1j2n3n1 538)
|
||||
(progress-main-6mn346mn 539)
|
||||
(progress-main-63jn463jn 540)
|
||||
(progress-main-63j46n3j 541)
|
||||
(progress-main-52kj3n52 542)
|
||||
(progress-main-52jn35j2 543)
|
||||
(progress-main-3643m6m 544)
|
||||
(progress-main-36j46jn 545)
|
||||
(progress-main-63mn46nm 546)
|
||||
(progress-main-364jn6n 547)
|
||||
(progress-ikj123i1khb231 784)
|
||||
(progress-sound-music-volume 264)
|
||||
(progress-sound-speech-volume 265)
|
||||
(progress-on 270)
|
||||
(progress-off 271)
|
||||
(progress-move-dpad 272)
|
||||
(progress-aspect-ratio 280)
|
||||
(progress-progressive-scan 281)
|
||||
(progress-video-mode 282)
|
||||
(progress-root-game-options 283)
|
||||
(progress-root-graphic-options 284)
|
||||
(progress-root-sound-options 285)
|
||||
(progress-aspect-4x3 286)
|
||||
(progress-aspect-16x9 287)
|
||||
(progress-refresh-60hz 288)
|
||||
(progress-refresh-50hz 289)
|
||||
(progress-demo-exit 291)
|
||||
(progress-yes 292)
|
||||
(progress-no 293)
|
||||
(progress-back 294)
|
||||
(progress-ok 295)
|
||||
(progress-next 296)
|
||||
(progress-previous 297)
|
||||
(progress-continue-without-saving 298)
|
||||
(progress-select-file-to-save 299)
|
||||
(progress-select-file-to-load 300)
|
||||
(progress-load-game 301)
|
||||
(progress-save-game 302)
|
||||
(progress-slot-empty 303)
|
||||
(progress-title-options 304)
|
||||
(progress-title-new-game 305)
|
||||
(progress-title-prompt 306)
|
||||
(progress-quit 307)
|
||||
(progress-root-show-map 308)
|
||||
(progress-root-highscores 310)
|
||||
(progress-highscores-1st 311)
|
||||
(progress-highscores-2nd 312)
|
||||
(progress-highscores-3rd 313)
|
||||
(progress-highscores-4th 314)
|
||||
(progress-highscores-5th 315)
|
||||
(progress-highscores-6th 316)
|
||||
(progress-highscores-7th 317)
|
||||
(progress-highscores-8th 318)
|
||||
(progress-root-secrets 339)
|
||||
(progress-secrets-unlocked 340)
|
||||
(progress-main-secrets-hero-mode 345)
|
||||
(progress-main-secrets-sceneplayer-1 346)
|
||||
(progress-main-secrets-sceneplayer-2 347)
|
||||
(progress-main-secrets-sceneplayer-3 348)
|
||||
(progress-main-secrets-scrapbook 349)
|
||||
(progress-main-secrets-mega-scrapbook 350)
|
||||
(progress-main-secrets-scrapbook-3 351)
|
||||
(progress-main-secrets-levelselect 352)
|
||||
(progress-secrets-orb-label 360)
|
||||
(progress-root-missions 361)
|
||||
(progress-root-restart-mission 366)
|
||||
(progress-missions-icon-todo 367)
|
||||
(progress-missions-icon-completed 368)
|
||||
(progress-missions-none 369)
|
||||
(progress-unknown-game 370)
|
||||
(progress-unknown-square-to-reset 377)
|
||||
(progress-unknown-retry? 382)
|
||||
(progress-secrets-go-to-title-screen 383)
|
||||
(progress-graphics-60hz-change-notice 395)
|
||||
(progress-graphics-progressivescan-change-notice 396)
|
||||
(progress-graphics-progressivescan-warning-1 397)
|
||||
(progress-graphics-progressivescan-warning-2 398)
|
||||
(progress-graphics-60hz-change-complete 399)
|
||||
(progress-graphics-progressivescan-change-complete 400)
|
||||
(progress-graphics-mode-revert? 401)
|
||||
(progress-disc-removed-notice 402)
|
||||
(progress-disc-removed-prompt 403)
|
||||
(progress-disc-read-error 404)
|
||||
(progress-disc-read-error-prompt 405)
|
||||
(progress-quit-game-confirm 406)
|
||||
(progress-memcard-not-found 409)
|
||||
(progress-memcard-unformatted 410)
|
||||
(progress-memcard-space-requirement 411)
|
||||
(progress-memcard-insert-card-with-jak2 412)
|
||||
(progress-memcard-insert-card-with-space-to-save 413)
|
||||
(progress-memcard-formatting-required-notice 414)
|
||||
(progress-memcard-loading-data 416)
|
||||
(progress-memcard-dont-remove 419)
|
||||
(progress-memcard-overwrite-warning 420)
|
||||
(progress-memcard-overwrite-confirm 421)
|
||||
(progress-memcard-format-prompt 422)
|
||||
(progress-memcard-continue? 423)
|
||||
(progress-memcard-go-back? 424)
|
||||
(progress-memcard-error-while-saving 426)
|
||||
(progress-memcard-check 429)
|
||||
(progress-memcard-check-and-try-again 430)
|
||||
(progress-memcard-was-removed 431)
|
||||
(progress-autosave-disabled 432)
|
||||
(progress-autosave-reenabling-info 433)
|
||||
(progress-memcard-no-jak2-found 434)
|
||||
(progress-memcard-create-jak2-file? 435)
|
||||
(progress-autosave-explanation 436)
|
||||
(progress-autosave-dont-remove 437)
|
||||
(progress-locations-haven-city 531)
|
||||
(progress-locations-fortress 532)
|
||||
(progress-locations-landing-pad 533)
|
||||
(progress-locations-palace-roof 534)
|
||||
(progress-locations-palace 535)
|
||||
(progress-locations-weapons-factory 536)
|
||||
(progress-locations-dead-town 537)
|
||||
(progress-locations-pumping-station 538)
|
||||
(progress-locations-sewer 539)
|
||||
(progress-locations-strip-mine 540)
|
||||
(progress-locations-mountain-temple 541)
|
||||
(progress-locations-haven-forest 542)
|
||||
(progress-locations-drill-platform 543)
|
||||
(progress-locations-mars-tomb 544)
|
||||
(progress-locations-dig 545)
|
||||
(progress-locations-underport 546)
|
||||
(progress-locations-nest 547)
|
||||
(progress-unknown-continue 784)
|
||||
)
|
||||
;; ---game-text-id
|
||||
|
||||
|
||||
+2
-2
@@ -62,7 +62,7 @@
|
||||
:size-assert #x10
|
||||
:flag-assert #xa00000010
|
||||
(:methods
|
||||
(highscore-info-method-9 () none 9)
|
||||
(highscore-info-method-9 (_type_ float) int 9)
|
||||
)
|
||||
)
|
||||
|
||||
@@ -343,7 +343,7 @@
|
||||
(game-info-method-26 () none 26)
|
||||
(get-next-attack-id (_type_) uint 27)
|
||||
(game-info-method-28 () none 28)
|
||||
(game-info-method-29 () none 29)
|
||||
(get-game-score-ref (_type_ int) (pointer float) 29)
|
||||
(game-info-method-30 () none 30)
|
||||
)
|
||||
)
|
||||
|
||||
-1528
File diff suppressed because it is too large
Load Diff
+1
-1
@@ -231,7 +231,7 @@
|
||||
(new (symbol type) _type_ 0)
|
||||
(initialize (_type_) none 9)
|
||||
(update (_type_) none 10)
|
||||
(bigmap-method-11 () none 11)
|
||||
(bigmap-method-11 (_type_ int int int int) none 11)
|
||||
(bigmap-method-12 () none 12)
|
||||
(bigmap-method-13 () none 13)
|
||||
(bigmap-method-14 (_type_) none 14)
|
||||
|
||||
+2
-2
@@ -82,8 +82,8 @@
|
||||
(hud-box-method-11 () none 11)
|
||||
(hud-box-method-12 () none 12)
|
||||
(hud-box-method-13 (_type_ dma-buffer float) int 13)
|
||||
(hud-box-method-14 () none 14)
|
||||
(hud-box-method-15 () none 15)
|
||||
(hud-box-method-14 (_type_) none 14)
|
||||
(hud-box-method-15 (_type_) none 15)
|
||||
)
|
||||
)
|
||||
|
||||
|
||||
+876
-787
File diff suppressed because it is too large
Load Diff
+6
-6
@@ -39,7 +39,7 @@
|
||||
(go-away () _type_ :state 22)
|
||||
(gone () _type_ :state 23)
|
||||
(init-defaults (_type_) connection 24)
|
||||
(progress-method-25 (_type_ object object symbol) none 25)
|
||||
(progress-method-25 (_type_) none 25)
|
||||
(progress-method-26 (_type_) object 26)
|
||||
(can-go-back? (_type_) symbol 27)
|
||||
(progress-method-28 (_type_ symbol) symbol 28)
|
||||
@@ -90,11 +90,11 @@
|
||||
|
||||
;; definition of type menu-option
|
||||
(deftype menu-option (basic)
|
||||
((name uint32 :offset-assert 4)
|
||||
(scale float :offset-assert 8)
|
||||
(unknown function :offset-assert 12)
|
||||
(box menu-option 1 :offset-assert 16)
|
||||
(unknown-options menu-option 7 :offset-assert 20)
|
||||
((name game-text-id :offset-assert 4)
|
||||
(scale float :offset-assert 8)
|
||||
(unknown function :offset-assert 12)
|
||||
(box hud-box 1 :inline :offset-assert 16)
|
||||
(unknown-options menu-option 8 :offset 16)
|
||||
)
|
||||
:method-count-assert 12
|
||||
:size-assert #x30
|
||||
|
||||
+2
-2
@@ -180,9 +180,9 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for symbol *stereo-mode-name-remap*, type (array uint64)
|
||||
;; definition for symbol *stereo-mode-name-remap*, type (array game-text-id)
|
||||
(define *stereo-mode-name-remap*
|
||||
(the-as (array uint64) (new 'static 'boxed-array :type uint32 #x104 #x105 #x106))
|
||||
(the-as (array game-text-id) (new 'static 'boxed-array :type uint32 #x104 #x105 #x106))
|
||||
)
|
||||
|
||||
;; definition for symbol *hud-ring-graphic-remap*, type (array uint64)
|
||||
|
||||
+281
-1146
File diff suppressed because it is too large
Load Diff
@@ -150,8 +150,6 @@
|
||||
// aligner - never fixed in jak 1
|
||||
"(method 9 align-control)",
|
||||
|
||||
"progress-trans", // TODO - hits an assertion related to the stack?
|
||||
|
||||
"bsp-camera-asm",
|
||||
"build-masks",
|
||||
|
||||
|
||||
Reference in New Issue
Block a user