mirror of
https://github.com/pmret/papermario.git
synced 2024-11-18 08:52:40 +01:00
Merge pull request #22 from JoshW-7/master
Handful of matching funcs, starrod_to_c.py in /tools for converting starrod enums to c headers
This commit is contained in:
commit
e40177061a
@ -1,29 +0,0 @@
|
||||
.set noat # allow manual use of $at
|
||||
.set noreorder # don't insert nops after branches
|
||||
|
||||
.include "include/macro.inc"
|
||||
|
||||
glabel AddBadge
|
||||
/* 0FB9A8 802D6FF8 27BDFFE0 */ addiu $sp, $sp, -0x20
|
||||
/* 0FB9AC 802D6FFC AFB10014 */ sw $s1, 0x14($sp)
|
||||
/* 0FB9B0 802D7000 0080882D */ daddu $s1, $a0, $zero
|
||||
/* 0FB9B4 802D7004 AFBF0018 */ sw $ra, 0x18($sp)
|
||||
/* 0FB9B8 802D7008 AFB00010 */ sw $s0, 0x10($sp)
|
||||
/* 0FB9BC 802D700C 8E30000C */ lw $s0, 0xc($s1)
|
||||
/* 0FB9C0 802D7010 8E050000 */ lw $a1, ($s0)
|
||||
/* 0FB9C4 802D7014 0C0B1EAF */ jal get_variable
|
||||
/* 0FB9C8 802D7018 26100004 */ addiu $s0, $s0, 4
|
||||
/* 0FB9CC 802D701C 8E100000 */ lw $s0, ($s0)
|
||||
/* 0FB9D0 802D7020 0C039DCF */ jal add_badge
|
||||
/* 0FB9D4 802D7024 0040202D */ daddu $a0, $v0, $zero
|
||||
/* 0FB9D8 802D7028 0220202D */ daddu $a0, $s1, $zero
|
||||
/* 0FB9DC 802D702C 0040302D */ daddu $a2, $v0, $zero
|
||||
/* 0FB9E0 802D7030 0C0B2026 */ jal set_variable
|
||||
/* 0FB9E4 802D7034 0200282D */ daddu $a1, $s0, $zero
|
||||
/* 0FB9E8 802D7038 8FBF0018 */ lw $ra, 0x18($sp)
|
||||
/* 0FB9EC 802D703C 8FB10014 */ lw $s1, 0x14($sp)
|
||||
/* 0FB9F0 802D7040 8FB00010 */ lw $s0, 0x10($sp)
|
||||
/* 0FB9F4 802D7044 24020002 */ addiu $v0, $zero, 2
|
||||
/* 0FB9F8 802D7048 03E00008 */ jr $ra
|
||||
/* 0FB9FC 802D704C 27BD0020 */ addiu $sp, $sp, 0x20
|
||||
|
@ -1,22 +0,0 @@
|
||||
.set noat # allow manual use of $at
|
||||
.set noreorder # don't insert nops after branches
|
||||
|
||||
.include "include/macro.inc"
|
||||
|
||||
glabel AddCoin
|
||||
/* 0FBC28 802D7278 27BDFFE8 */ addiu $sp, $sp, -0x18
|
||||
/* 0FBC2C 802D727C AFB00010 */ sw $s0, 0x10($sp)
|
||||
/* 0FBC30 802D7280 0080802D */ daddu $s0, $a0, $zero
|
||||
/* 0FBC34 802D7284 AFBF0014 */ sw $ra, 0x14($sp)
|
||||
/* 0FBC38 802D7288 8E02000C */ lw $v0, 0xc($s0)
|
||||
/* 0FBC3C 802D728C 0C0B1EAF */ jal get_variable
|
||||
/* 0FBC40 802D7290 8C450000 */ lw $a1, ($v0)
|
||||
/* 0FBC44 802D7294 0C03A830 */ jal add_coins
|
||||
/* 0FBC48 802D7298 0040202D */ daddu $a0, $v0, $zero
|
||||
/* 0FBC4C 802D729C AE020084 */ sw $v0, 0x84($s0)
|
||||
/* 0FBC50 802D72A0 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
/* 0FBC54 802D72A4 8FB00010 */ lw $s0, 0x10($sp)
|
||||
/* 0FBC58 802D72A8 24020002 */ addiu $v0, $zero, 2
|
||||
/* 0FBC5C 802D72AC 03E00008 */ jr $ra
|
||||
/* 0FBC60 802D72B0 27BD0018 */ addiu $sp, $sp, 0x18
|
||||
|
@ -1,41 +0,0 @@
|
||||
.set noat # allow manual use of $at
|
||||
.set noreorder # don't insert nops after branches
|
||||
|
||||
.include "include/macro.inc"
|
||||
|
||||
glabel AddItem
|
||||
/* 0FB448 802D6A98 27BDFFE0 */ addiu $sp, $sp, -0x20
|
||||
/* 0FB44C 802D6A9C AFB10014 */ sw $s1, 0x14($sp)
|
||||
/* 0FB450 802D6AA0 0080882D */ daddu $s1, $a0, $zero
|
||||
/* 0FB454 802D6AA4 AFBF0018 */ sw $ra, 0x18($sp)
|
||||
/* 0FB458 802D6AA8 AFB00010 */ sw $s0, 0x10($sp)
|
||||
/* 0FB45C 802D6AAC 8E30000C */ lw $s0, 0xc($s1)
|
||||
/* 0FB460 802D6AB0 8E050000 */ lw $a1, ($s0)
|
||||
/* 0FB464 802D6AB4 0C0B1EAF */ jal get_variable
|
||||
/* 0FB468 802D6AB8 26100004 */ addiu $s0, $s0, 4
|
||||
/* 0FB46C 802D6ABC 8E100000 */ lw $s0, ($s0)
|
||||
/* 0FB470 802D6AC0 0C039D5D */ jal add_item
|
||||
/* 0FB474 802D6AC4 0040202D */ daddu $a0, $v0, $zero
|
||||
/* 0FB478 802D6AC8 0220202D */ daddu $a0, $s1, $zero
|
||||
/* 0FB47C 802D6ACC 0040302D */ daddu $a2, $v0, $zero
|
||||
/* 0FB480 802D6AD0 0C0B2026 */ jal set_variable
|
||||
/* 0FB484 802D6AD4 0200282D */ daddu $a1, $s0, $zero
|
||||
/* 0FB488 802D6AD8 8FBF0018 */ lw $ra, 0x18($sp)
|
||||
/* 0FB48C 802D6ADC 8FB10014 */ lw $s1, 0x14($sp)
|
||||
/* 0FB490 802D6AE0 8FB00010 */ lw $s0, 0x10($sp)
|
||||
/* 0FB494 802D6AE4 24020002 */ addiu $v0, $zero, 2
|
||||
/* 0FB498 802D6AE8 03E00008 */ jr $ra
|
||||
/* 0FB49C 802D6AEC 27BD0020 */ addiu $sp, $sp, 0x20
|
||||
|
||||
glabel func_802D6AF0
|
||||
/* 0FB4A0 802D6AF0 27BDFFE8 */ addiu $sp, $sp, -0x18
|
||||
/* 0FB4A4 802D6AF4 AFBF0010 */ sw $ra, 0x10($sp)
|
||||
/* 0FB4A8 802D6AF8 8C82000C */ lw $v0, 0xc($a0)
|
||||
/* 0FB4AC 802D6AFC 8C450000 */ lw $a1, ($v0)
|
||||
/* 0FB4B0 802D6B00 0C0B2026 */ jal set_variable
|
||||
/* 0FB4B4 802D6B04 0000302D */ daddu $a2, $zero, $zero
|
||||
/* 0FB4B8 802D6B08 8FBF0010 */ lw $ra, 0x10($sp)
|
||||
/* 0FB4BC 802D6B0C 24020002 */ addiu $v0, $zero, 2
|
||||
/* 0FB4C0 802D6B10 03E00008 */ jr $ra
|
||||
/* 0FB4C4 802D6B14 27BD0018 */ addiu $sp, $sp, 0x18
|
||||
|
@ -46,6 +46,7 @@ glabel AddKeyItem
|
||||
/* 0FB2FC 802D694C 03E00008 */ jr $ra
|
||||
/* 0FB300 802D6950 27BD0018 */ addiu $sp, $sp, 0x18
|
||||
|
||||
glabel func_802D6954
|
||||
/* 0FB304 802D6954 27BDFFE8 */ addiu $sp, $sp, -0x18
|
||||
/* 0FB308 802D6958 AFBF0010 */ sw $ra, 0x10($sp)
|
||||
/* 0FB30C 802D695C 0C038069 */ jal func_800E01A4
|
||||
|
@ -1,22 +0,0 @@
|
||||
.set noat # allow manual use of $at
|
||||
.set noreorder # don't insert nops after branches
|
||||
|
||||
.include "include/macro.inc"
|
||||
|
||||
glabel AddStarPieces
|
||||
/* 0FBCA0 802D72F0 27BDFFE8 */ addiu $sp, $sp, -0x18
|
||||
/* 0FBCA4 802D72F4 AFB00010 */ sw $s0, 0x10($sp)
|
||||
/* 0FBCA8 802D72F8 0080802D */ daddu $s0, $a0, $zero
|
||||
/* 0FBCAC 802D72FC AFBF0014 */ sw $ra, 0x14($sp)
|
||||
/* 0FBCB0 802D7300 8E02000C */ lw $v0, 0xc($s0)
|
||||
/* 0FBCB4 802D7304 0C0B1EAF */ jal get_variable
|
||||
/* 0FBCB8 802D7308 8C450000 */ lw $a1, ($v0)
|
||||
/* 0FBCBC 802D730C 0C03A85C */ jal add_star_pieces
|
||||
/* 0FBCC0 802D7310 0040202D */ daddu $a0, $v0, $zero
|
||||
/* 0FBCC4 802D7314 AE020084 */ sw $v0, 0x84($s0)
|
||||
/* 0FBCC8 802D7318 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
/* 0FBCCC 802D731C 8FB00010 */ lw $s0, 0x10($sp)
|
||||
/* 0FBCD0 802D7320 24020002 */ addiu $v0, $zero, 2
|
||||
/* 0FBCD4 802D7324 03E00008 */ jr $ra
|
||||
/* 0FBCD8 802D7328 27BD0018 */ addiu $sp, $sp, 0x18
|
||||
|
@ -1,22 +0,0 @@
|
||||
.set noat # allow manual use of $at
|
||||
.set noreorder # don't insert nops after branches
|
||||
|
||||
.include "include/macro.inc"
|
||||
|
||||
glabel AddStarPoints
|
||||
/* 0FBC64 802D72B4 27BDFFE8 */ addiu $sp, $sp, -0x18
|
||||
/* 0FBC68 802D72B8 AFB00010 */ sw $s0, 0x10($sp)
|
||||
/* 0FBC6C 802D72BC 0080802D */ daddu $s0, $a0, $zero
|
||||
/* 0FBC70 802D72C0 AFBF0014 */ sw $ra, 0x14($sp)
|
||||
/* 0FBC74 802D72C4 8E02000C */ lw $v0, 0xc($s0)
|
||||
/* 0FBC78 802D72C8 0C0B1EAF */ jal get_variable
|
||||
/* 0FBC7C 802D72CC 8C450000 */ lw $a1, ($v0)
|
||||
/* 0FBC80 802D72D0 0C03A84A */ jal add_star_points
|
||||
/* 0FBC84 802D72D4 0040202D */ daddu $a0, $v0, $zero
|
||||
/* 0FBC88 802D72D8 AE020084 */ sw $v0, 0x84($s0)
|
||||
/* 0FBC8C 802D72DC 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
/* 0FBC90 802D72E0 8FB00010 */ lw $s0, 0x10($sp)
|
||||
/* 0FBC94 802D72E4 24020002 */ addiu $v0, $zero, 2
|
||||
/* 0FBC98 802D72E8 03E00008 */ jr $ra
|
||||
/* 0FBC9C 802D72EC 27BD0018 */ addiu $sp, $sp, 0x18
|
||||
|
@ -64,6 +64,7 @@ glabel FadeInMusic
|
||||
/* 0FA888 802D5ED8 03E00008 */ jr $ra
|
||||
/* 0FA88C 802D5EDC 27BD0038 */ addiu $sp, $sp, 0x38
|
||||
|
||||
glabel func_802D5EE0
|
||||
/* 0FA890 802D5EE0 27BDFFE8 */ addiu $sp, $sp, -0x18
|
||||
/* 0FA894 802D5EE4 AFBF0010 */ sw $ra, 0x10($sp)
|
||||
/* 0FA898 802D5EE8 8C82000C */ lw $v0, 0xc($a0)
|
||||
@ -83,6 +84,7 @@ glabel FadeInMusic
|
||||
/* 0FA8D0 802D5F20 03E00008 */ jr $ra
|
||||
/* 0FA8D4 802D5F24 27BD0018 */ addiu $sp, $sp, 0x18
|
||||
|
||||
glabel func_802D5F28
|
||||
/* 0FA8D8 802D5F28 27BDFFE0 */ addiu $sp, $sp, -0x20
|
||||
/* 0FA8DC 802D5F2C AFB10014 */ sw $s1, 0x14($sp)
|
||||
/* 0FA8E0 802D5F30 0080882D */ daddu $s1, $a0, $zero
|
||||
@ -115,6 +117,7 @@ glabel FadeInMusic
|
||||
/* 0FA94C 802D5F9C 03E00008 */ jr $ra
|
||||
/* 0FA950 802D5FA0 27BD0020 */ addiu $sp, $sp, 0x20
|
||||
|
||||
glabel func_802D5FA4
|
||||
/* 0FA954 802D5FA4 27BDFFE8 */ addiu $sp, $sp, -0x18
|
||||
/* 0FA958 802D5FA8 AFBF0010 */ sw $ra, 0x10($sp)
|
||||
/* 0FA95C 802D5FAC 8C82000C */ lw $v0, 0xc($a0)
|
||||
@ -129,6 +132,7 @@ glabel FadeInMusic
|
||||
/* 0FA980 802D5FD0 03E00008 */ jr $ra
|
||||
/* 0FA984 802D5FD4 27BD0018 */ addiu $sp, $sp, 0x18
|
||||
|
||||
glabel func_802D5FD8
|
||||
/* 0FA988 802D5FD8 27BDFFE8 */ addiu $sp, $sp, -0x18
|
||||
/* 0FA98C 802D5FDC AFBF0010 */ sw $ra, 0x10($sp)
|
||||
/* 0FA990 802D5FE0 0C052B69 */ jal func_8014ADA4
|
||||
@ -138,6 +142,7 @@ glabel FadeInMusic
|
||||
/* 0FA9A0 802D5FF0 03E00008 */ jr $ra
|
||||
/* 0FA9A4 802D5FF4 27BD0018 */ addiu $sp, $sp, 0x18
|
||||
|
||||
glabel func_802D5FF8
|
||||
/* 0FA9A8 802D5FF8 27BDFFE0 */ addiu $sp, $sp, -0x20
|
||||
/* 0FA9AC 802D5FFC AFB10014 */ sw $s1, 0x14($sp)
|
||||
/* 0FA9B0 802D6000 0080882D */ daddu $s1, $a0, $zero
|
||||
@ -161,6 +166,7 @@ glabel FadeInMusic
|
||||
/* 0FA9F8 802D6048 03E00008 */ jr $ra
|
||||
/* 0FA9FC 802D604C 27BD0020 */ addiu $sp, $sp, 0x20
|
||||
|
||||
glabel func_802D6050
|
||||
/* 0FAA00 802D6050 27BDFFE8 */ addiu $sp, $sp, -0x18
|
||||
/* 0FAA04 802D6054 AFBF0010 */ sw $ra, 0x10($sp)
|
||||
/* 0FAA08 802D6058 0C052B9B */ jal func_8014AE6C
|
||||
@ -170,6 +176,7 @@ glabel FadeInMusic
|
||||
/* 0FAA18 802D6068 03E00008 */ jr $ra
|
||||
/* 0FAA1C 802D606C 27BD0018 */ addiu $sp, $sp, 0x18
|
||||
|
||||
glabel func_802D6070
|
||||
/* 0FAA20 802D6070 27BDFFE8 */ addiu $sp, $sp, -0x18
|
||||
/* 0FAA24 802D6074 AFBF0010 */ sw $ra, 0x10($sp)
|
||||
/* 0FAA28 802D6078 0C052BBE */ jal func_8014AEF8
|
||||
@ -179,6 +186,7 @@ glabel FadeInMusic
|
||||
/* 0FAA38 802D6088 03E00008 */ jr $ra
|
||||
/* 0FAA3C 802D608C 27BD0018 */ addiu $sp, $sp, 0x18
|
||||
|
||||
glabel func_802D6090
|
||||
/* 0FAA40 802D6090 27BDFFE0 */ addiu $sp, $sp, -0x20
|
||||
/* 0FAA44 802D6094 AFB10014 */ sw $s1, 0x14($sp)
|
||||
/* 0FAA48 802D6098 0080882D */ daddu $s1, $a0, $zero
|
||||
@ -202,6 +210,7 @@ glabel FadeInMusic
|
||||
/* 0FAA90 802D60E0 03E00008 */ jr $ra
|
||||
/* 0FAA94 802D60E4 27BD0020 */ addiu $sp, $sp, 0x20
|
||||
|
||||
glabel func_802D60E8
|
||||
/* 0FAA98 802D60E8 27BDFFE8 */ addiu $sp, $sp, -0x18
|
||||
/* 0FAA9C 802D60EC AFBF0010 */ sw $ra, 0x10($sp)
|
||||
/* 0FAAA0 802D60F0 8C82000C */ lw $v0, 0xc($a0)
|
||||
|
@ -1,34 +0,0 @@
|
||||
.set noat # allow manual use of $at
|
||||
.set noreorder # don't insert nops after branches
|
||||
|
||||
.include "include/macro.inc"
|
||||
|
||||
glabel FadeOutMusic
|
||||
/* 0FA690 802D5CE0 27BDFFD8 */ addiu $sp, $sp, -0x28
|
||||
/* 0FA694 802D5CE4 AFB1001C */ sw $s1, 0x1c($sp)
|
||||
/* 0FA698 802D5CE8 0080882D */ daddu $s1, $a0, $zero
|
||||
/* 0FA69C 802D5CEC AFBF0020 */ sw $ra, 0x20($sp)
|
||||
/* 0FA6A0 802D5CF0 AFB00018 */ sw $s0, 0x18($sp)
|
||||
/* 0FA6A4 802D5CF4 8E30000C */ lw $s0, 0xc($s1)
|
||||
/* 0FA6A8 802D5CF8 8E050000 */ lw $a1, ($s0)
|
||||
/* 0FA6AC 802D5CFC 0C0B1EAF */ jal get_variable
|
||||
/* 0FA6B0 802D5D00 26100004 */ addiu $s0, $s0, 4
|
||||
/* 0FA6B4 802D5D04 0220202D */ daddu $a0, $s1, $zero
|
||||
/* 0FA6B8 802D5D08 8E050000 */ lw $a1, ($s0)
|
||||
/* 0FA6BC 802D5D0C 0C0B1EAF */ jal get_variable
|
||||
/* 0FA6C0 802D5D10 0040802D */ daddu $s0, $v0, $zero
|
||||
/* 0FA6C4 802D5D14 0200202D */ daddu $a0, $s0, $zero
|
||||
/* 0FA6C8 802D5D18 2405FFFF */ addiu $a1, $zero, -1
|
||||
/* 0FA6CC 802D5D1C 24030008 */ addiu $v1, $zero, 8
|
||||
/* 0FA6D0 802D5D20 0000302D */ daddu $a2, $zero, $zero
|
||||
/* 0FA6D4 802D5D24 0040382D */ daddu $a3, $v0, $zero
|
||||
/* 0FA6D8 802D5D28 0C052A46 */ jal set_music_track
|
||||
/* 0FA6DC 802D5D2C AFA30010 */ sw $v1, 0x10($sp)
|
||||
/* 0FA6E0 802D5D30 0002102B */ sltu $v0, $zero, $v0
|
||||
/* 0FA6E4 802D5D34 8FBF0020 */ lw $ra, 0x20($sp)
|
||||
/* 0FA6E8 802D5D38 8FB1001C */ lw $s1, 0x1c($sp)
|
||||
/* 0FA6EC 802D5D3C 8FB00018 */ lw $s0, 0x18($sp)
|
||||
/* 0FA6F0 802D5D40 00021040 */ sll $v0, $v0, 1
|
||||
/* 0FA6F4 802D5D44 03E00008 */ jr $ra
|
||||
/* 0FA6F8 802D5D48 27BD0028 */ addiu $sp, $sp, 0x28
|
||||
|
@ -1,20 +0,0 @@
|
||||
.set noat # allow manual use of $at
|
||||
.set noreorder # don't insert nops after branches
|
||||
|
||||
.include "include/macro.inc"
|
||||
|
||||
glabel PlayAmbientSounds
|
||||
/* 0FAACC 802D611C 27BDFFE8 */ addiu $sp, $sp, -0x18
|
||||
/* 0FAAD0 802D6120 AFBF0010 */ sw $ra, 0x10($sp)
|
||||
/* 0FAAD4 802D6124 8C82000C */ lw $v0, 0xc($a0)
|
||||
/* 0FAAD8 802D6128 0C0B1EAF */ jal get_variable
|
||||
/* 0FAADC 802D612C 8C450000 */ lw $a1, ($v0)
|
||||
/* 0FAAE0 802D6130 0040202D */ daddu $a0, $v0, $zero
|
||||
/* 0FAAE4 802D6134 0C051CDA */ jal play_ambient_sounds
|
||||
/* 0FAAE8 802D6138 240500FA */ addiu $a1, $zero, 0xfa
|
||||
/* 0FAAEC 802D613C 0002102B */ sltu $v0, $zero, $v0
|
||||
/* 0FAAF0 802D6140 8FBF0010 */ lw $ra, 0x10($sp)
|
||||
/* 0FAAF4 802D6144 00021040 */ sll $v0, $v0, 1
|
||||
/* 0FAAF8 802D6148 03E00008 */ jr $ra
|
||||
/* 0FAAFC 802D614C 27BD0018 */ addiu $sp, $sp, 0x18
|
||||
|
@ -1,44 +0,0 @@
|
||||
.set noat # allow manual use of $at
|
||||
.set noreorder # don't insert nops after branches
|
||||
|
||||
.include "include/macro.inc"
|
||||
|
||||
glabel PlaySound
|
||||
/* 0FAB00 802D6150 27BDFFE8 */ addiu $sp, $sp, -0x18
|
||||
/* 0FAB04 802D6154 AFBF0010 */ sw $ra, 0x10($sp)
|
||||
/* 0FAB08 802D6158 8C82000C */ lw $v0, 0xc($a0)
|
||||
/* 0FAB0C 802D615C 0C0B1EAF */ jal get_variable
|
||||
/* 0FAB10 802D6160 8C450000 */ lw $a1, ($v0)
|
||||
/* 0FAB14 802D6164 0C05272D */ jal play_sound
|
||||
/* 0FAB18 802D6168 0040202D */ daddu $a0, $v0, $zero
|
||||
/* 0FAB1C 802D616C 8FBF0010 */ lw $ra, 0x10($sp)
|
||||
/* 0FAB20 802D6170 24020002 */ addiu $v0, $zero, 2
|
||||
/* 0FAB24 802D6174 03E00008 */ jr $ra
|
||||
/* 0FAB28 802D6178 27BD0018 */ addiu $sp, $sp, 0x18
|
||||
|
||||
glabel func_802D617C
|
||||
/* 0FAB2C 802D617C 27BDFFE0 */ addiu $sp, $sp, -0x20
|
||||
/* 0FAB30 802D6180 AFB10014 */ sw $s1, 0x14($sp)
|
||||
/* 0FAB34 802D6184 0080882D */ daddu $s1, $a0, $zero
|
||||
/* 0FAB38 802D6188 AFBF0018 */ sw $ra, 0x18($sp)
|
||||
/* 0FAB3C 802D618C AFB00010 */ sw $s0, 0x10($sp)
|
||||
/* 0FAB40 802D6190 8E30000C */ lw $s0, 0xc($s1)
|
||||
/* 0FAB44 802D6194 8E050000 */ lw $a1, ($s0)
|
||||
/* 0FAB48 802D6198 0C0B1EAF */ jal get_variable
|
||||
/* 0FAB4C 802D619C 26100004 */ addiu $s0, $s0, 4
|
||||
/* 0FAB50 802D61A0 0220202D */ daddu $a0, $s1, $zero
|
||||
/* 0FAB54 802D61A4 8E050000 */ lw $a1, ($s0)
|
||||
/* 0FAB58 802D61A8 0C0B1EAF */ jal get_variable
|
||||
/* 0FAB5C 802D61AC 0040802D */ daddu $s0, $v0, $zero
|
||||
/* 0FAB60 802D61B0 0200202D */ daddu $a0, $s0, $zero
|
||||
/* 0FAB64 802D61B4 304500FF */ andi $a1, $v0, 0xff
|
||||
/* 0FAB68 802D61B8 0000302D */ daddu $a2, $zero, $zero
|
||||
/* 0FAB6C 802D61BC 0C0526AE */ jal _play_sound
|
||||
/* 0FAB70 802D61C0 00C0382D */ daddu $a3, $a2, $zero
|
||||
/* 0FAB74 802D61C4 8FBF0018 */ lw $ra, 0x18($sp)
|
||||
/* 0FAB78 802D61C8 8FB10014 */ lw $s1, 0x14($sp)
|
||||
/* 0FAB7C 802D61CC 8FB00010 */ lw $s0, 0x10($sp)
|
||||
/* 0FAB80 802D61D0 24020002 */ addiu $v0, $zero, 2
|
||||
/* 0FAB84 802D61D4 03E00008 */ jr $ra
|
||||
/* 0FAB88 802D61D8 27BD0020 */ addiu $sp, $sp, 0x20
|
||||
|
@ -1,62 +0,0 @@
|
||||
.set noat # allow manual use of $at
|
||||
.set noreorder # don't insert nops after branches
|
||||
|
||||
.include "include/macro.inc"
|
||||
|
||||
glabel PlaySoundAt
|
||||
/* 0FAB8C 802D61DC 27BDFFD0 */ addiu $sp, $sp, -0x30
|
||||
/* 0FAB90 802D61E0 AFB1001C */ sw $s1, 0x1c($sp)
|
||||
/* 0FAB94 802D61E4 0080882D */ daddu $s1, $a0, $zero
|
||||
/* 0FAB98 802D61E8 AFBF002C */ sw $ra, 0x2c($sp)
|
||||
/* 0FAB9C 802D61EC AFB40028 */ sw $s4, 0x28($sp)
|
||||
/* 0FABA0 802D61F0 AFB30024 */ sw $s3, 0x24($sp)
|
||||
/* 0FABA4 802D61F4 AFB20020 */ sw $s2, 0x20($sp)
|
||||
/* 0FABA8 802D61F8 AFB00018 */ sw $s0, 0x18($sp)
|
||||
/* 0FABAC 802D61FC 8E30000C */ lw $s0, 0xc($s1)
|
||||
/* 0FABB0 802D6200 8E050000 */ lw $a1, ($s0)
|
||||
/* 0FABB4 802D6204 0C0B1EAF */ jal get_variable
|
||||
/* 0FABB8 802D6208 26100004 */ addiu $s0, $s0, 4
|
||||
/* 0FABBC 802D620C 8E050000 */ lw $a1, ($s0)
|
||||
/* 0FABC0 802D6210 26100004 */ addiu $s0, $s0, 4
|
||||
/* 0FABC4 802D6214 0220202D */ daddu $a0, $s1, $zero
|
||||
/* 0FABC8 802D6218 0C0B1EAF */ jal get_variable
|
||||
/* 0FABCC 802D621C 0040A02D */ daddu $s4, $v0, $zero
|
||||
/* 0FABD0 802D6220 8E050000 */ lw $a1, ($s0)
|
||||
/* 0FABD4 802D6224 26100004 */ addiu $s0, $s0, 4
|
||||
/* 0FABD8 802D6228 0220202D */ daddu $a0, $s1, $zero
|
||||
/* 0FABDC 802D622C 0C0B1EAF */ jal get_variable
|
||||
/* 0FABE0 802D6230 0040982D */ daddu $s3, $v0, $zero
|
||||
/* 0FABE4 802D6234 8E050000 */ lw $a1, ($s0)
|
||||
/* 0FABE8 802D6238 26100004 */ addiu $s0, $s0, 4
|
||||
/* 0FABEC 802D623C 0220202D */ daddu $a0, $s1, $zero
|
||||
/* 0FABF0 802D6240 0C0B1EAF */ jal get_variable
|
||||
/* 0FABF4 802D6244 0040902D */ daddu $s2, $v0, $zero
|
||||
/* 0FABF8 802D6248 0220202D */ daddu $a0, $s1, $zero
|
||||
/* 0FABFC 802D624C 8E050000 */ lw $a1, ($s0)
|
||||
/* 0FAC00 802D6250 0C0B1EAF */ jal get_variable
|
||||
/* 0FAC04 802D6254 0040802D */ daddu $s0, $v0, $zero
|
||||
/* 0FAC08 802D6258 0280202D */ daddu $a0, $s4, $zero
|
||||
/* 0FAC0C 802D625C 0260282D */ daddu $a1, $s3, $zero
|
||||
/* 0FAC10 802D6260 44921000 */ mtc1 $s2, $f2
|
||||
/* 0FAC14 802D6264 00000000 */ nop
|
||||
/* 0FAC18 802D6268 468010A0 */ cvt.s.w $f2, $f2
|
||||
/* 0FAC1C 802D626C 44061000 */ mfc1 $a2, $f2
|
||||
/* 0FAC20 802D6270 44901000 */ mtc1 $s0, $f2
|
||||
/* 0FAC24 802D6274 00000000 */ nop
|
||||
/* 0FAC28 802D6278 468010A0 */ cvt.s.w $f2, $f2
|
||||
/* 0FAC2C 802D627C 44071000 */ mfc1 $a3, $f2
|
||||
/* 0FAC30 802D6280 44820000 */ mtc1 $v0, $f0
|
||||
/* 0FAC34 802D6284 00000000 */ nop
|
||||
/* 0FAC38 802D6288 46800020 */ cvt.s.w $f0, $f0
|
||||
/* 0FAC3C 802D628C 0C052757 */ jal play_sound_at_position
|
||||
/* 0FAC40 802D6290 E7A00010 */ swc1 $f0, 0x10($sp)
|
||||
/* 0FAC44 802D6294 8FBF002C */ lw $ra, 0x2c($sp)
|
||||
/* 0FAC48 802D6298 8FB40028 */ lw $s4, 0x28($sp)
|
||||
/* 0FAC4C 802D629C 8FB30024 */ lw $s3, 0x24($sp)
|
||||
/* 0FAC50 802D62A0 8FB20020 */ lw $s2, 0x20($sp)
|
||||
/* 0FAC54 802D62A4 8FB1001C */ lw $s1, 0x1c($sp)
|
||||
/* 0FAC58 802D62A8 8FB00018 */ lw $s0, 0x18($sp)
|
||||
/* 0FAC5C 802D62AC 24020002 */ addiu $v0, $zero, 2
|
||||
/* 0FAC60 802D62B0 03E00008 */ jr $ra
|
||||
/* 0FAC64 802D62B4 27BD0030 */ addiu $sp, $sp, 0x30
|
||||
|
@ -1,22 +0,0 @@
|
||||
.set noat # allow manual use of $at
|
||||
.set noreorder # don't insert nops after branches
|
||||
|
||||
.include "include/macro.inc"
|
||||
|
||||
glabel RemoveItemAt
|
||||
/* 0FB23C 802D688C 27BDFFE8 */ addiu $sp, $sp, -0x18
|
||||
/* 0FB240 802D6890 AFBF0010 */ sw $ra, 0x10($sp)
|
||||
/* 0FB244 802D6894 8C82000C */ lw $v0, 0xc($a0)
|
||||
/* 0FB248 802D6898 0C0B1EAF */ jal get_variable
|
||||
/* 0FB24C 802D689C 8C450000 */ lw $a1, ($v0)
|
||||
/* 0FB250 802D68A0 00021040 */ sll $v0, $v0, 1
|
||||
/* 0FB254 802D68A4 3C018011 */ lui $at, 0x8011
|
||||
/* 0FB258 802D68A8 00220821 */ addu $at, $at, $v0
|
||||
/* 0FB25C 802D68AC A420F444 */ sh $zero, -0xbbc($at)
|
||||
/* 0FB260 802D68B0 0C039DB3 */ jal sort_items
|
||||
/* 0FB264 802D68B4 00000000 */ nop
|
||||
/* 0FB268 802D68B8 8FBF0010 */ lw $ra, 0x10($sp)
|
||||
/* 0FB26C 802D68BC 24020002 */ addiu $v0, $zero, 2
|
||||
/* 0FB270 802D68C0 03E00008 */ jr $ra
|
||||
/* 0FB274 802D68C4 27BD0018 */ addiu $sp, $sp, 0x18
|
||||
|
@ -1,20 +0,0 @@
|
||||
.set noat # allow manual use of $at
|
||||
.set noreorder # don't insert nops after branches
|
||||
|
||||
.include "include/macro.inc"
|
||||
|
||||
glabel RemoveKeyItemAt
|
||||
/* 0FB208 802D6858 27BDFFE8 */ addiu $sp, $sp, -0x18
|
||||
/* 0FB20C 802D685C AFBF0010 */ sw $ra, 0x10($sp)
|
||||
/* 0FB210 802D6860 8C82000C */ lw $v0, 0xc($a0)
|
||||
/* 0FB214 802D6864 0C0B1EAF */ jal get_variable
|
||||
/* 0FB218 802D6868 8C450000 */ lw $a1, ($v0)
|
||||
/* 0FB21C 802D686C 00021840 */ sll $v1, $v0, 1
|
||||
/* 0FB220 802D6870 3C018011 */ lui $at, 0x8011
|
||||
/* 0FB224 802D6874 00230821 */ addu $at, $at, $v1
|
||||
/* 0FB228 802D6878 A420F304 */ sh $zero, -0xcfc($at)
|
||||
/* 0FB22C 802D687C 8FBF0010 */ lw $ra, 0x10($sp)
|
||||
/* 0FB230 802D6880 24020002 */ addiu $v0, $zero, 2
|
||||
/* 0FB234 802D6884 03E00008 */ jr $ra
|
||||
/* 0FB238 802D6888 27BD0018 */ addiu $sp, $sp, 0x18
|
||||
|
@ -1,56 +0,0 @@
|
||||
.set noat # allow manual use of $at
|
||||
.set noreorder # don't insert nops after branches
|
||||
|
||||
.include "include/macro.inc"
|
||||
|
||||
glabel SetItemPos
|
||||
/* 0FBA80 802D70D0 27BDFFD8 */ addiu $sp, $sp, -0x28
|
||||
/* 0FBA84 802D70D4 AFB10014 */ sw $s1, 0x14($sp)
|
||||
/* 0FBA88 802D70D8 0080882D */ daddu $s1, $a0, $zero
|
||||
/* 0FBA8C 802D70DC AFBF0020 */ sw $ra, 0x20($sp)
|
||||
/* 0FBA90 802D70E0 AFB3001C */ sw $s3, 0x1c($sp)
|
||||
/* 0FBA94 802D70E4 AFB20018 */ sw $s2, 0x18($sp)
|
||||
/* 0FBA98 802D70E8 AFB00010 */ sw $s0, 0x10($sp)
|
||||
/* 0FBA9C 802D70EC 8E30000C */ lw $s0, 0xc($s1)
|
||||
/* 0FBAA0 802D70F0 8E050000 */ lw $a1, ($s0)
|
||||
/* 0FBAA4 802D70F4 0C0B1EAF */ jal get_variable
|
||||
/* 0FBAA8 802D70F8 26100004 */ addiu $s0, $s0, 4
|
||||
/* 0FBAAC 802D70FC 8E050000 */ lw $a1, ($s0)
|
||||
/* 0FBAB0 802D7100 26100004 */ addiu $s0, $s0, 4
|
||||
/* 0FBAB4 802D7104 0220202D */ daddu $a0, $s1, $zero
|
||||
/* 0FBAB8 802D7108 0C0B1EAF */ jal get_variable
|
||||
/* 0FBABC 802D710C 0040982D */ daddu $s3, $v0, $zero
|
||||
/* 0FBAC0 802D7110 8E050000 */ lw $a1, ($s0)
|
||||
/* 0FBAC4 802D7114 26100004 */ addiu $s0, $s0, 4
|
||||
/* 0FBAC8 802D7118 0220202D */ daddu $a0, $s1, $zero
|
||||
/* 0FBACC 802D711C 0C0B1EAF */ jal get_variable
|
||||
/* 0FBAD0 802D7120 0040902D */ daddu $s2, $v0, $zero
|
||||
/* 0FBAD4 802D7124 0220202D */ daddu $a0, $s1, $zero
|
||||
/* 0FBAD8 802D7128 8E050000 */ lw $a1, ($s0)
|
||||
/* 0FBADC 802D712C 0C0B1EAF */ jal get_variable
|
||||
/* 0FBAE0 802D7130 0040882D */ daddu $s1, $v0, $zero
|
||||
/* 0FBAE4 802D7134 0260202D */ daddu $a0, $s3, $zero
|
||||
/* 0FBAE8 802D7138 0C04C3D6 */ jal get_item_entity
|
||||
/* 0FBAEC 802D713C 0040802D */ daddu $s0, $v0, $zero
|
||||
/* 0FBAF0 802D7140 0040182D */ daddu $v1, $v0, $zero
|
||||
/* 0FBAF4 802D7144 44920000 */ mtc1 $s2, $f0
|
||||
/* 0FBAF8 802D7148 00000000 */ nop
|
||||
/* 0FBAFC 802D714C 46800020 */ cvt.s.w $f0, $f0
|
||||
/* 0FBB00 802D7150 E4600008 */ swc1 $f0, 8($v1)
|
||||
/* 0FBB04 802D7154 44910000 */ mtc1 $s1, $f0
|
||||
/* 0FBB08 802D7158 00000000 */ nop
|
||||
/* 0FBB0C 802D715C 46800020 */ cvt.s.w $f0, $f0
|
||||
/* 0FBB10 802D7160 E460000C */ swc1 $f0, 0xc($v1)
|
||||
/* 0FBB14 802D7164 44900000 */ mtc1 $s0, $f0
|
||||
/* 0FBB18 802D7168 00000000 */ nop
|
||||
/* 0FBB1C 802D716C 46800020 */ cvt.s.w $f0, $f0
|
||||
/* 0FBB20 802D7170 E4600010 */ swc1 $f0, 0x10($v1)
|
||||
/* 0FBB24 802D7174 8FBF0020 */ lw $ra, 0x20($sp)
|
||||
/* 0FBB28 802D7178 8FB3001C */ lw $s3, 0x1c($sp)
|
||||
/* 0FBB2C 802D717C 8FB20018 */ lw $s2, 0x18($sp)
|
||||
/* 0FBB30 802D7180 8FB10014 */ lw $s1, 0x14($sp)
|
||||
/* 0FBB34 802D7184 8FB00010 */ lw $s0, 0x10($sp)
|
||||
/* 0FBB38 802D7188 24020002 */ addiu $v0, $zero, 2
|
||||
/* 0FBB3C 802D718C 03E00008 */ jr $ra
|
||||
/* 0FBB40 802D7190 27BD0028 */ addiu $sp, $sp, 0x28
|
||||
|
@ -1,49 +0,0 @@
|
||||
.set noat # allow manual use of $at
|
||||
.set noreorder # don't insert nops after branches
|
||||
|
||||
.include "include/macro.inc"
|
||||
|
||||
glabel SetMusicTrack
|
||||
/* 0FA6FC 802D5D4C 27BDFFD0 */ addiu $sp, $sp, -0x30
|
||||
/* 0FA700 802D5D50 AFB1001C */ sw $s1, 0x1c($sp)
|
||||
/* 0FA704 802D5D54 0080882D */ daddu $s1, $a0, $zero
|
||||
/* 0FA708 802D5D58 AFBF0028 */ sw $ra, 0x28($sp)
|
||||
/* 0FA70C 802D5D5C AFB30024 */ sw $s3, 0x24($sp)
|
||||
/* 0FA710 802D5D60 AFB20020 */ sw $s2, 0x20($sp)
|
||||
/* 0FA714 802D5D64 AFB00018 */ sw $s0, 0x18($sp)
|
||||
/* 0FA718 802D5D68 8E30000C */ lw $s0, 0xc($s1)
|
||||
/* 0FA71C 802D5D6C 8E050000 */ lw $a1, ($s0)
|
||||
/* 0FA720 802D5D70 0C0B1EAF */ jal get_variable
|
||||
/* 0FA724 802D5D74 26100004 */ addiu $s0, $s0, 4
|
||||
/* 0FA728 802D5D78 8E050000 */ lw $a1, ($s0)
|
||||
/* 0FA72C 802D5D7C 26100004 */ addiu $s0, $s0, 4
|
||||
/* 0FA730 802D5D80 0220202D */ daddu $a0, $s1, $zero
|
||||
/* 0FA734 802D5D84 0C0B1EAF */ jal get_variable
|
||||
/* 0FA738 802D5D88 0040982D */ daddu $s3, $v0, $zero
|
||||
/* 0FA73C 802D5D8C 8E050000 */ lw $a1, ($s0)
|
||||
/* 0FA740 802D5D90 26100004 */ addiu $s0, $s0, 4
|
||||
/* 0FA744 802D5D94 0220202D */ daddu $a0, $s1, $zero
|
||||
/* 0FA748 802D5D98 0C0B1EAF */ jal get_variable
|
||||
/* 0FA74C 802D5D9C 0040902D */ daddu $s2, $v0, $zero
|
||||
/* 0FA750 802D5DA0 0220202D */ daddu $a0, $s1, $zero
|
||||
/* 0FA754 802D5DA4 8E050000 */ lw $a1, ($s0)
|
||||
/* 0FA758 802D5DA8 0C0B1EAF */ jal get_variable
|
||||
/* 0FA75C 802D5DAC 0040802D */ daddu $s0, $v0, $zero
|
||||
/* 0FA760 802D5DB0 0260202D */ daddu $a0, $s3, $zero
|
||||
/* 0FA764 802D5DB4 0240282D */ daddu $a1, $s2, $zero
|
||||
/* 0FA768 802D5DB8 00021400 */ sll $v0, $v0, 0x10
|
||||
/* 0FA76C 802D5DBC 00021403 */ sra $v0, $v0, 0x10
|
||||
/* 0FA770 802D5DC0 0200302D */ daddu $a2, $s0, $zero
|
||||
/* 0FA774 802D5DC4 240701F4 */ addiu $a3, $zero, 0x1f4
|
||||
/* 0FA778 802D5DC8 0C052A46 */ jal set_music_track
|
||||
/* 0FA77C 802D5DCC AFA20010 */ sw $v0, 0x10($sp)
|
||||
/* 0FA780 802D5DD0 0002102B */ sltu $v0, $zero, $v0
|
||||
/* 0FA784 802D5DD4 8FBF0028 */ lw $ra, 0x28($sp)
|
||||
/* 0FA788 802D5DD8 8FB30024 */ lw $s3, 0x24($sp)
|
||||
/* 0FA78C 802D5DDC 8FB20020 */ lw $s2, 0x20($sp)
|
||||
/* 0FA790 802D5DE0 8FB1001C */ lw $s1, 0x1c($sp)
|
||||
/* 0FA794 802D5DE4 8FB00018 */ lw $s0, 0x18($sp)
|
||||
/* 0FA798 802D5DE8 00021040 */ sll $v0, $v0, 1
|
||||
/* 0FA79C 802D5DEC 03E00008 */ jr $ra
|
||||
/* 0FA7A0 802D5DF0 27BD0030 */ addiu $sp, $sp, 0x30
|
||||
|
@ -1,32 +0,0 @@
|
||||
.set noat # allow manual use of $at
|
||||
.set noreorder # don't insert nops after branches
|
||||
|
||||
.include "include/macro.inc"
|
||||
|
||||
glabel StopSound
|
||||
/* 0FAC68 802D62B8 27BDFFE8 */ addiu $sp, $sp, -0x18
|
||||
/* 0FAC6C 802D62BC AFBF0010 */ sw $ra, 0x10($sp)
|
||||
/* 0FAC70 802D62C0 8C82000C */ lw $v0, 0xc($a0)
|
||||
/* 0FAC74 802D62C4 0C0B1EAF */ jal get_variable
|
||||
/* 0FAC78 802D62C8 8C450000 */ lw $a1, ($v0)
|
||||
/* 0FAC7C 802D62CC 0C05271B */ jal stop_sound
|
||||
/* 0FAC80 802D62D0 0040202D */ daddu $a0, $v0, $zero
|
||||
/* 0FAC84 802D62D4 8FBF0010 */ lw $ra, 0x10($sp)
|
||||
/* 0FAC88 802D62D8 24020002 */ addiu $v0, $zero, 2
|
||||
/* 0FAC8C 802D62DC 03E00008 */ jr $ra
|
||||
/* 0FAC90 802D62E0 27BD0018 */ addiu $sp, $sp, 0x18
|
||||
|
||||
glabel func_802D62E4
|
||||
/* 0FAC94 802D62E4 27BDFFE8 */ addiu $sp, $sp, -0x18
|
||||
/* 0FAC98 802D62E8 AFBF0010 */ sw $ra, 0x10($sp)
|
||||
/* 0FAC9C 802D62EC 8C82000C */ lw $v0, 0xc($a0)
|
||||
/* 0FACA0 802D62F0 0C0B1EAF */ jal get_variable
|
||||
/* 0FACA4 802D62F4 8C450000 */ lw $a1, ($v0)
|
||||
/* 0FACA8 802D62F8 0040202D */ daddu $a0, $v0, $zero
|
||||
/* 0FACAC 802D62FC 0C05269B */ jal func_80149A6C
|
||||
/* 0FACB0 802D6300 24050001 */ addiu $a1, $zero, 1
|
||||
/* 0FACB4 802D6304 8FBF0010 */ lw $ra, 0x10($sp)
|
||||
/* 0FACB8 802D6308 24020002 */ addiu $v0, $zero, 2
|
||||
/* 0FACBC 802D630C 03E00008 */ jr $ra
|
||||
/* 0FACC0 802D6310 27BD0018 */ addiu $sp, $sp, 0x18
|
||||
|
@ -1,31 +0,0 @@
|
||||
.set noat # allow manual use of $at
|
||||
.set noreorder # don't insert nops after branches
|
||||
|
||||
.include "include/macro.inc"
|
||||
|
||||
glabel UseDoorSounds
|
||||
/* 0FACC4 802D6314 27BDFFE8 */ addiu $sp, $sp, -0x18
|
||||
/* 0FACC8 802D6318 AFBF0010 */ sw $ra, 0x10($sp)
|
||||
/* 0FACCC 802D631C 8C82000C */ lw $v0, 0xc($a0)
|
||||
/* 0FACD0 802D6320 0C0B1EAF */ jal get_variable
|
||||
/* 0FACD4 802D6324 8C450000 */ lw $a1, ($v0)
|
||||
/* 0FACD8 802D6328 8FBF0010 */ lw $ra, 0x10($sp)
|
||||
/* 0FACDC 802D632C 3C018015 */ lui $at, 0x8015
|
||||
/* 0FACE0 802D6330 A4221340 */ sh $v0, 0x1340($at)
|
||||
/* 0FACE4 802D6334 24020002 */ addiu $v0, $zero, 2
|
||||
/* 0FACE8 802D6338 03E00008 */ jr $ra
|
||||
/* 0FACEC 802D633C 27BD0018 */ addiu $sp, $sp, 0x18
|
||||
|
||||
glabel func_802D6340
|
||||
/* 0FACF0 802D6340 27BDFFE8 */ addiu $sp, $sp, -0x18
|
||||
/* 0FACF4 802D6344 AFBF0010 */ sw $ra, 0x10($sp)
|
||||
/* 0FACF8 802D6348 8C82000C */ lw $v0, 0xc($a0)
|
||||
/* 0FACFC 802D634C 0C0B1EAF */ jal get_variable
|
||||
/* 0FAD00 802D6350 8C450000 */ lw $a1, ($v0)
|
||||
/* 0FAD04 802D6354 8FBF0010 */ lw $ra, 0x10($sp)
|
||||
/* 0FAD08 802D6358 3C018015 */ lui $at, 0x8015
|
||||
/* 0FAD0C 802D635C A4221308 */ sh $v0, 0x1308($at)
|
||||
/* 0FAD10 802D6360 24020002 */ addiu $v0, $zero, 2
|
||||
/* 0FAD14 802D6364 03E00008 */ jr $ra
|
||||
/* 0FAD18 802D6368 27BD0018 */ addiu $sp, $sp, 0x18
|
||||
|
@ -99,6 +99,7 @@ glabel func_802D5B10
|
||||
/* 0FA618 802D5C68 03E00008 */ jr $ra
|
||||
/* 0FA61C 802D5C6C 27BD0040 */ addiu $sp, $sp, 0x40
|
||||
|
||||
glabel func_802D5C70
|
||||
/* 0FA620 802D5C70 27BDFFE8 */ addiu $sp, $sp, -0x18
|
||||
/* 0FA624 802D5C74 AFBF0010 */ sw $ra, 0x10($sp)
|
||||
/* 0FA628 802D5C78 8C82000C */ lw $v0, 0xc($a0)
|
||||
|
@ -7,5 +7,6 @@
|
||||
#include "functions.h"
|
||||
#include "variables.h"
|
||||
#include "macros.h"
|
||||
#include "items.h"
|
||||
|
||||
#endif
|
||||
|
@ -102,7 +102,7 @@ typedef struct {
|
||||
/* 0x54 */ char unk_54[2];
|
||||
/* 0x56 */ s16 unk_56;
|
||||
/* 0x58 */ char unk_58[2];
|
||||
/* 0x5A */ s16 unk_5a;
|
||||
/* 0x5A */ s16 unk_5A;
|
||||
} item_entity;
|
||||
|
||||
typedef struct {
|
||||
@ -370,11 +370,11 @@ typedef struct {
|
||||
} StaticNpcSettings; // size = 0x2C
|
||||
|
||||
typedef enum {
|
||||
Hammer=4,
|
||||
Jump=2,
|
||||
Normal=1,
|
||||
Partner=6,
|
||||
Spin=3,
|
||||
triggerHammer=4,
|
||||
triggerJump=2,
|
||||
triggerNormal=1,
|
||||
triggerPartner=6,
|
||||
triggerSpin=3,
|
||||
} eEncounterTrigger;
|
||||
|
||||
typedef struct {
|
||||
|
367
papermario/include/items.h
Normal file
367
papermario/include/items.h
Normal file
@ -0,0 +1,367 @@
|
||||
#ifndef _ITEMS_H_
|
||||
#define _ITEMS_H_
|
||||
|
||||
#include "ultra64.h"
|
||||
#include "types.h"
|
||||
|
||||
typedef enum eItem {
|
||||
JUMP = 0x0001,
|
||||
SPIN_JUMP = 0x0002,
|
||||
TORNADO_JUMP = 0x0003,
|
||||
HAMMER = 0x0004,
|
||||
SUPER_HAMMER = 0x0005,
|
||||
ULTRA_HAMMER = 0x0006,
|
||||
LUCKY_STAR = 0x0007,
|
||||
MAP = 0x0008, // unused
|
||||
BIG_MAP = 0x0009, // unused
|
||||
FIRST_DEGREE_CARD = 0x000A,
|
||||
SECOND_DEGREE_CARD = 0x000B,
|
||||
THIRD_DEGREE_CARD = 0x000C,
|
||||
FOURTH_DEGREE_CARD = 0x000D,
|
||||
DIPLOMA = 0x000E,
|
||||
ULTRA_STONE = 0x000F,
|
||||
FORTRESS_KEY = 0x0010,
|
||||
RUINS_KEY = 0x0011,
|
||||
PULSE_STONE = 0x0012,
|
||||
CASTLE_KEY1 = 0x0013,
|
||||
PALACE_KEY = 0x0014,
|
||||
LUNAR_STONE = 0x0015,
|
||||
PYRAMID_STONE = 0x0016,
|
||||
DIAMOND_STONE = 0x0017,
|
||||
GOLDEN_VASE = 0x0018, // unused
|
||||
KOOPERS_SHELL = 0x0019,
|
||||
CASTLE_KEY2 = 0x001A,
|
||||
FOREST_PASS = 0x001B, // unused
|
||||
WEIGHT = 0x001C,
|
||||
BOOS_PORTRAIT = 0x001D,
|
||||
CRYSTAL_BERRY = 0x001E,
|
||||
MYSTICAL_KEY = 0x001F,
|
||||
STOREROOM_KEY = 0x0020,
|
||||
TOY_TRAIN = 0x0021,
|
||||
RECORD = 0x0022,
|
||||
FRYING_PAN = 0x0023,
|
||||
DICTIONARY = 0x0024,
|
||||
MYSTERY_NOTE = 0x0025,
|
||||
SUSPICIOUS_NOTE = 0x0026, // unused
|
||||
CRYSTAL_BALL = 0x0027,
|
||||
SCREWDRIVER = 0x0028, // unused
|
||||
COOKBOOK = 0x0029,
|
||||
JADE_RAVEN = 0x002A,
|
||||
MAGICAL_SEED1 = 0x002B,
|
||||
MAGICAL_SEED2 = 0x002C,
|
||||
MAGICAL_SEED3 = 0x002D,
|
||||
MAGICAL_SEED4 = 0x002E,
|
||||
TOAD_DOLL = 0x002F, // unused
|
||||
CALCULATOR = 0x0030,
|
||||
BUCKET = 0x0031,
|
||||
SCARF = 0x0032,
|
||||
RED_KEY = 0x0033,
|
||||
BLUE_KEY = 0x0034,
|
||||
LETTER01 = 0x0036,
|
||||
LETTER02 = 0x0037,
|
||||
LETTER03 = 0x0038,
|
||||
LETTER04 = 0x0039,
|
||||
LETTER05 = 0x003A,
|
||||
LETTER06 = 0x003B,
|
||||
LETTER07 = 0x003C,
|
||||
LETTER08 = 0x003D,
|
||||
LETTER09 = 0x003E,
|
||||
LETTER10 = 0x0040,
|
||||
LETTER11 = 0x0041,
|
||||
LETTER12 = 0x0045,
|
||||
LETTER13 = 0x0046,
|
||||
LETTER14 = 0x0047,
|
||||
LETTER15 = 0x0048,
|
||||
LETTER16 = 0x0049,
|
||||
LETTER17 = 0x004A,
|
||||
LETTER18 = 0x004B,
|
||||
LETTER19 = 0x004C,
|
||||
LETTER20 = 0x004E,
|
||||
LETTER21 = 0x004F,
|
||||
LETTER22 = 0x0050,
|
||||
LETTER23 = 0x0051,
|
||||
LETTER24 = 0x0052,
|
||||
ARTIFACT = 0x0053,
|
||||
LETTER25 = 0x0054,
|
||||
DOLLY = 0x0056,
|
||||
WATER_STONE = 0x0057,
|
||||
MAGICAL_BEAN = 0x0058,
|
||||
FERTILE_SOIL = 0x0059,
|
||||
MIRACLE_WATER = 0x005A,
|
||||
VOLCANO_VASE = 0x005B,
|
||||
TAPE = 0x005C,
|
||||
SUGAR = 0x005D,
|
||||
SALT = 0x005E,
|
||||
EGG1 = 0x005F,
|
||||
CREAM = 0x0060,
|
||||
STRAWBERRY = 0x0061,
|
||||
BUTTER = 0x0062,
|
||||
CLEANSER = 0x0063,
|
||||
WATER = 0x0064,
|
||||
FLOUR = 0x0065,
|
||||
MILK = 0x0066,
|
||||
LYRICS = 0x0067,
|
||||
MELODY = 0x0068,
|
||||
MAILBAG = 0x0069,
|
||||
CASTLE_KEY3 = 0x006A,
|
||||
ODD_KEY = 0x006B,
|
||||
STAR_STONE = 0x006C,
|
||||
SNEAKY_PARASOL = 0x006D,
|
||||
KOOPA_LEGENDS = 0x006E,
|
||||
AUTOGRAPH1 = 0x006F,
|
||||
EMPTY_WALLET = 0x0070,
|
||||
AUTOGRAPH2 = 0x0071,
|
||||
KOOPA_SHELL = 0x0072, // unused
|
||||
OLD_PHOTO = 0x0073,
|
||||
GLASSES = 0x0074,
|
||||
PHOTOGRAPH = 0x0075, // unused
|
||||
PACKAGE = 0x0076,
|
||||
RED_JAR = 0x0077,
|
||||
CASTLE_KEY4 = 0x0078,
|
||||
WAREHOUSE_KEY = 0x0079,
|
||||
PRISON_KEY1 = 0x007A,
|
||||
SILVER_CREDIT = 0x007B,
|
||||
GOLD_CREDIT = 0x007C,
|
||||
PRISON_KEY2 = 0x007D, // unused
|
||||
PRISON_KEY3 = 0x007E, // unused
|
||||
PRISON_KEY4 = 0x007F, // unused
|
||||
FIRE_FLOWER = 0x0080,
|
||||
SNOWMAN_DOLL = 0x0081,
|
||||
THUNDER_RAGE = 0x0082,
|
||||
SHOOTING_STAR = 0x0083,
|
||||
THUNDER_BOLT = 0x0084,
|
||||
PEBBLE = 0x0085,
|
||||
DUSTY_HAMMER = 0x0086,
|
||||
INSECTICIDE_HERB = 0x0087,
|
||||
STONE_CAP = 0x0088,
|
||||
TASTY_TONIC = 0x0089,
|
||||
MUSHROOM = 0x008A,
|
||||
VOLT_SHROOM = 0x008B,
|
||||
SUPER_SHROOM = 0x008C,
|
||||
DRIED_SHROOM = 0x008D,
|
||||
ULTRA_SHROOM = 0x008E,
|
||||
SLEEPY_SHEEP = 0x008F,
|
||||
POW_BLOCK = 0x0090,
|
||||
HUSTLE_DRINK = 0x0091,
|
||||
STOP_WATCH = 0x0092,
|
||||
WHACKAS_BUMP = 0x0093,
|
||||
APPLE = 0x0094,
|
||||
LIFE_SHROOM = 0x0095,
|
||||
MYSTERY = 0x0096,
|
||||
REPEL_GEL = 0x0097,
|
||||
FRIGHT_JAR = 0x0098,
|
||||
PLEASE_COME_BACK = 0x0099,
|
||||
DIZZY_DIAL = 0x009A,
|
||||
SUPER_SODA = 0x009B,
|
||||
LEMON = 0x009C,
|
||||
LIME = 0x009D,
|
||||
BLUE_BERRY = 0x009E,
|
||||
RED_BERRY = 0x009F,
|
||||
YELLOW_BERRY = 0x00A0,
|
||||
BUBBLE_BERRY = 0x00A1,
|
||||
JAMMIN_JELLY = 0x00A2,
|
||||
MAPLE_SYRUP = 0x00A3,
|
||||
HONEY_SYRUP = 0x00A4,
|
||||
GOOMNUT = 0x00A5,
|
||||
KOOPA_LEAF = 0x00A6,
|
||||
DRIED_PASTA = 0x00A7,
|
||||
DRIED_FRUIT = 0x00A8,
|
||||
STRANGE_LEAF = 0x00A9,
|
||||
CAKE_MIX = 0x00AA,
|
||||
EGG2 = 0x00AB,
|
||||
COCONUT = 0x00AC,
|
||||
MELON = 0x00AD,
|
||||
STINKY_HERB = 0x00AE,
|
||||
ICED_POTATO = 0x00AF,
|
||||
SPICY_SOUP = 0x00B0,
|
||||
APPLE_PIE = 0x00B1,
|
||||
HONEY_ULTRA = 0x00B2,
|
||||
MAPLE_ULTRA = 0x00B3,
|
||||
JELLY_ULTRA = 0x00B4,
|
||||
KOOPASTA = 0x00B5,
|
||||
FRIED_SHROOM = 0x00B6,
|
||||
SHROOM_CAKE = 0x00B7,
|
||||
SHROOM_STEAK = 0x00B8,
|
||||
HOT_SHROOM = 0x00B9,
|
||||
SWEET_SHROOM = 0x00BA,
|
||||
YUMMY_MEAL = 0x00BB,
|
||||
HEALTHY_JUICE = 0x00BC,
|
||||
BLAND_MEAL = 0x00BD,
|
||||
DELUXE_FEAST = 0x00BE,
|
||||
SPECIAL_SHAKE = 0x00BF,
|
||||
BIG_COOKIE = 0x00C0,
|
||||
CAKE = 0x00C1,
|
||||
MISTAKE = 0x00C2,
|
||||
KOOPA_TEA = 0x00C3,
|
||||
HONEY_SUPER = 0x00C4,
|
||||
MAPLE_SUPER = 0x00C5,
|
||||
JELLY_SUPER = 0x00C6,
|
||||
SPAGHETTI = 0x00C7,
|
||||
EGG_MISSILE = 0x00C8,
|
||||
FRIED_EGG = 0x00C9,
|
||||
HONEY_SHROOM = 0x00CA,
|
||||
HONEY_CANDY = 0x00CB,
|
||||
ELECTRO_POP = 0x00CC,
|
||||
FIRE_POP = 0x00CD,
|
||||
LIME_CANDY = 0x00CE,
|
||||
COCO_POP = 0x00CF,
|
||||
LEMON_CANDY = 0x00D0,
|
||||
JELLY_POP = 0x00D1,
|
||||
STRANGE_CAKE = 0x00D2,
|
||||
KOOKY_COOKIE = 0x00D3,
|
||||
FROZEN_FRIES = 0x00D4,
|
||||
POTATO_SALAD = 0x00D5,
|
||||
NUTTY_CAKE = 0x00D6,
|
||||
MAPLE_SHROOM = 0x00D7,
|
||||
BOILED_EGG = 0x00D8,
|
||||
YOSHI_COOKIE = 0x00D9,
|
||||
JELLY_SHROOM1 = 0x00DA,
|
||||
JELLY_SHROOM2 = 0x00DB,
|
||||
JELLY_SHROOM3 = 0x00DC,
|
||||
JELLY_SHROOM4 = 0x00DD,
|
||||
JELLY_SHROOM5 = 0x00DE,
|
||||
JELLY_SHROOM6 = 0x00DF,
|
||||
SPIN_SMASH = 0x00E0,
|
||||
MULTIBOUNCE = 0x00E1,
|
||||
POWER_PLUS_A = 0x00E2,
|
||||
DODGE_MASTER = 0x00E3,
|
||||
POWER_BOUNCE = 0x00E4,
|
||||
SPIKE_SHIELD = 0x00E5,
|
||||
FIRST_ATTACK = 0x00E6,
|
||||
HP_PLUS_A = 0x00E7,
|
||||
QUAKE_HAMMER = 0x00E8,
|
||||
DOUBLE_DIP = 0x00E9,
|
||||
MYSTERY_SCROLL = 0x00EA, // unused
|
||||
SLEEP_STOMP = 0x00EB,
|
||||
FIRE_SHIELD = 0x00EC,
|
||||
QUICK_CHANGE = 0x00ED,
|
||||
D_DOWN_POUND = 0x00EE,
|
||||
DIZZY_STOMP = 0x00EF,
|
||||
SMASH_CHARGE0 = 0x00F0, // unused
|
||||
PRETTY_LUCKY = 0x00F1,
|
||||
FEELING_FINE = 0x00F2,
|
||||
ATTACK_FX_A = 0x00F3,
|
||||
ALLOR_NOTHING = 0x00F4,
|
||||
HP_DRAIN = 0x00F5,
|
||||
JUMP_CHARGE0 = 0x00F6, // unused
|
||||
SLOW_GO = 0x00F7,
|
||||
FP_PLUS_A = 0x00F8,
|
||||
MEGA_RUSH = 0x00F9,
|
||||
ICE_POWER = 0x00FA,
|
||||
DEFEND_PLUS_A = 0x00FB,
|
||||
PAY_OFF = 0x00FC,
|
||||
MONEY_MONEY = 0x00FD,
|
||||
CHILL_OUT = 0x00FE,
|
||||
HAPPY_HEART_A = 0x00FF,
|
||||
ZAP_TAP = 0x0100,
|
||||
BERSERKER = 0x0101, // unused
|
||||
RIGHT_ON = 0x0102, // unused
|
||||
RUNAWAY_PAY = 0x0103,
|
||||
REFUND = 0x0104,
|
||||
FLOWER_SAVER_A = 0x0105,
|
||||
TRIPLE_DIP = 0x0106,
|
||||
HAMMER_THROW = 0x0107,
|
||||
MEGA_QUAKE = 0x0108,
|
||||
SMASH_CHARGE = 0x0109,
|
||||
JUMP_CHARGE = 0x010A,
|
||||
S_SMASH_CHG = 0x010B,
|
||||
S_JUMP_CHG = 0x010C,
|
||||
POWER_RUSH = 0x010D,
|
||||
AUTO_JUMP = 0x010E, // unused
|
||||
AUTO_SMASH = 0x010F, // unused
|
||||
CRAZY_HEART = 0x0110, // unused
|
||||
LAST_STAND = 0x0111,
|
||||
CLOSE_CALL = 0x0112,
|
||||
P_UP_D_DOWN = 0x0113,
|
||||
LUCKY_DAY = 0x0114,
|
||||
MEGA_HP_DRAIN = 0x0115, // unused
|
||||
P_DOWN_D_UP = 0x0116,
|
||||
POWER_QUAKE = 0x0117,
|
||||
AUTO_MULTIBOUNCE = 0x0118, // unused
|
||||
FLOWER_FANATIC = 0x0119, // unused
|
||||
HEART_FINDER = 0x011A,
|
||||
FLOWER_FINDER = 0x011B,
|
||||
SPIN_ATTACK = 0x011C,
|
||||
DIZZY_ATTACK = 0x011D,
|
||||
I_SPY = 0x011E,
|
||||
SPEEDY_SPIN = 0x011F,
|
||||
BUMP_ATTACK = 0x0120,
|
||||
POWER_JUMP = 0x0121,
|
||||
SUPER_JUMP = 0x0122, // unused
|
||||
MEGA_JUMP = 0x0123,
|
||||
POWER_SMASH1 = 0x0124,
|
||||
SUPER_SMASH = 0x0125, // unused
|
||||
MEGA_SMASH = 0x0126,
|
||||
POWER_SMASH2 = 0x0127,
|
||||
POWER_SMASH3 = 0x0128,
|
||||
DEEP_FOCUS1 = 0x0129,
|
||||
SUPER_FOCUS = 0x012A, // unused
|
||||
SHRINK_SMASH = 0x012B,
|
||||
SHELL_CRACK = 0x012C, // unused
|
||||
KAIDEN = 0x012D, // unused
|
||||
D_DOWN_JUMP = 0x012E,
|
||||
SHRINK_STOMP = 0x012F,
|
||||
DAMAGE_DODGE_A = 0x0130,
|
||||
EARTHQUAKE_JUMP = 0x0131,
|
||||
DEEP_FOCUS2 = 0x0132,
|
||||
DEEP_FOCUS3 = 0x0133,
|
||||
HP_PLUS_B = 0x0134,
|
||||
FP_PLUS_B = 0x0135,
|
||||
HAPPY_HEART_B = 0x0136,
|
||||
HAPPY_HEART_X = 0x0137,
|
||||
FLOWER_SAVER_B = 0x0138,
|
||||
FLOWER_SAVER_X = 0x0139,
|
||||
DAMAGE_DODGE_B = 0x013A,
|
||||
DAMAGE_DODGE_X = 0x013B,
|
||||
POWER_PLUS_B = 0x013C,
|
||||
POWER_PLUS_X = 0x013D,
|
||||
DEFEND_PLUS_X = 0x013E,
|
||||
DEFEND_PLUS_Y = 0x013F,
|
||||
HAPPY_FLOWER_A = 0x0140,
|
||||
HAPPY_FLOWER_B = 0x0141,
|
||||
HAPPY_FLOWER_X = 0x0142,
|
||||
GROUP_FOCUS = 0x0143,
|
||||
PEEKABOO = 0x0144,
|
||||
ATTACK_FX_D = 0x0145,
|
||||
ATTACK_FX_B = 0x0146,
|
||||
ATTACK_FX_E = 0x0147,
|
||||
ATTACK_FX_C = 0x0148,
|
||||
ATTACK_FX_F = 0x0149,
|
||||
HP_PLUS_C = 0x014A,
|
||||
HP_PLUS_X = 0x014B,
|
||||
HP_PLUS_Y = 0x014C,
|
||||
FP_PLUS_C = 0x014D,
|
||||
FP_PLUS_X = 0x014E,
|
||||
FP_PLUS_Y = 0x014F,
|
||||
HEALTHY_HEALTHY = 0x0150,
|
||||
ATTACK_FX_F2 = 0x0151,
|
||||
ATTACK_FX_F3 = 0x0152,
|
||||
ATTACK_FX_F4 = 0x0153,
|
||||
ATTACK_FX_F5 = 0x0154,
|
||||
PARTNER_ATTACK = 0x0155, // placeholder with partner attack icon
|
||||
HEART = 0x0156,
|
||||
COIN = 0x0157,
|
||||
HEART_PIECE = 0x0158, // unused, NOT functional
|
||||
STAR_POINT = 0x0159, // unused, functional, makes coin sound
|
||||
FULL_HEAL = 0x015A, // unused, functional, item inside healing block
|
||||
FLOWER = 0x015B,
|
||||
STAR_PIECE = 0x015C,
|
||||
PRESENT = 0x015D,
|
||||
COMPLETE_CAKE = 0x015E,
|
||||
BARE_CAKE = 0x015F,
|
||||
EMPTY_CAKE_PAN = 0x0160,
|
||||
FULL_CAKE_PAN = 0x0161,
|
||||
EMPTY_MIXING_BOWL = 0x0162,
|
||||
FULL_MIXING_BOWL = 0x0163,
|
||||
CAKE_WITH_ICING = 0x0164,
|
||||
CAKE_WITH_BERRIES = 0x0165,
|
||||
HAMMER1_ICON = 0x0166,
|
||||
HAMMER2_ICON = 0x0167,
|
||||
HAMMER3_ICON = 0x0168,
|
||||
BOOTS1_ICON = 0x0169,
|
||||
BOOTS2_ICON = 0x016A,
|
||||
BOOTS3_ICON = 0x016B,
|
||||
ITEMS_ICON = 0x016C
|
||||
} eItem;
|
||||
|
||||
#endif
|
@ -23,6 +23,8 @@ extern s16 D_80151308;
|
||||
extern s16 D_8010F304[]; // Key Items
|
||||
extern s16 D_8010F444[]; // Items
|
||||
|
||||
extern s32 D_8009A650[1];
|
||||
|
||||
extern s16 gCurrentDoorSoundsSet;
|
||||
|
||||
|
||||
|
@ -32,8 +32,6 @@ extern int D_802EB3D0[];
|
||||
extern u8 D_80074021;
|
||||
extern s32 D_8009A5D8;
|
||||
|
||||
extern s32 D_8009A650[1];
|
||||
|
||||
void dma_copy(void*, void*, void*);
|
||||
|
||||
INCLUDE_ASM(code_1b40_len_20b0, step_game_loop);
|
||||
|
@ -94,7 +94,6 @@ s32 RemoveKeyItemAt(script_context* script, s32 initialCall) {
|
||||
s16* ptrTemp = D_8010F304;
|
||||
|
||||
ptrTemp[index] = 0;
|
||||
|
||||
return 2;
|
||||
}
|
||||
|
||||
@ -104,16 +103,80 @@ s32 RemoveItemAt(script_context* script, s32 initialCall) {
|
||||
s16* ptrTemp = D_8010F444;
|
||||
|
||||
ptrTemp[index] = 0;
|
||||
|
||||
sort_items();
|
||||
return 2;
|
||||
}
|
||||
|
||||
INCLUDE_ASM(code_fa4c0_len_3bf0, AddKeyItem);
|
||||
s32 AddKeyItem(script_context* script, s32 initialCall) {
|
||||
s32* ptrReadPos = script->ptrReadPos;
|
||||
s32 value = *ptrReadPos++;
|
||||
player_data* playerData = &gPlayerData;
|
||||
s32 itemID = get_variable(script, value);
|
||||
s32 i;
|
||||
|
||||
INCLUDE_ASM(code_fa4c0_len_3bf0, HasKeyItem);
|
||||
if (itemID == FORTRESS_KEY) {
|
||||
playerData->fortressKeyCount++;
|
||||
return 2;
|
||||
}
|
||||
|
||||
INCLUDE_ASM(code_fa4c0_len_3bf0, FindKeyItem);
|
||||
for (i=0; i < ARRAY_COUNT(playerData->keyItems); i++) {
|
||||
if (playerData->keyItems[i] == 0) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (i < ARRAY_COUNT(playerData->keyItems)) {
|
||||
playerData->keyItems[i] = itemID;
|
||||
}
|
||||
return 2;
|
||||
}
|
||||
|
||||
s32 func_802D6954(void) {
|
||||
func_800E01A4();
|
||||
disable_player_physics();
|
||||
func_800EF600();
|
||||
D_8009A650[0] &= ~0x40;
|
||||
return 2;
|
||||
}
|
||||
|
||||
s32 HasKeyItem(script_context* script, s32 initialCall) {
|
||||
s32* ptrReadPos = script->ptrReadPos;
|
||||
s32 itemID = get_variable(script, *ptrReadPos++);
|
||||
s32 value = *ptrReadPos++;
|
||||
player_data* playerData = &gPlayerData;
|
||||
s32 i;
|
||||
|
||||
for(i=0; i < ARRAY_COUNT(playerData->keyItems); i++) {
|
||||
if (playerData->keyItems[i] == itemID) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
set_variable(script, value, i < ARRAY_COUNT(playerData->keyItems));
|
||||
return 2;
|
||||
}
|
||||
|
||||
s32 FindKeyItem(script_context* script, s32 initialCall) {
|
||||
s32* ptrReadPos = script->ptrReadPos;
|
||||
s32 itemID = get_variable(script, *ptrReadPos++);
|
||||
s32 value = *ptrReadPos++;
|
||||
player_data* playerData = &gPlayerData;
|
||||
s32 i;
|
||||
s32 itemIndex;
|
||||
|
||||
for(i=0; i < ARRAY_COUNT(playerData->keyItems); i++) {
|
||||
if (playerData->keyItems[i] == itemID) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
itemIndex = -1;
|
||||
if (i != ARRAY_COUNT(playerData->keyItems)) {
|
||||
itemIndex = i;
|
||||
}
|
||||
|
||||
set_variable(script, value, itemIndex);
|
||||
return 2;
|
||||
}
|
||||
|
||||
s32 AddItem(script_context* script, s32 initialCall) {
|
||||
s32* ptrReadPos = script->ptrReadPos;
|
||||
@ -171,7 +234,6 @@ s32 SetItemPos(script_context* script, s32 initialCall) {
|
||||
ptrItemEntity->position[0] = x;
|
||||
ptrItemEntity->position[1] = y;
|
||||
ptrItemEntity->position[2] = z;
|
||||
|
||||
return 2;
|
||||
}
|
||||
|
||||
|
60
papermario/tools/starrod_to_c.py
Normal file
60
papermario/tools/starrod_to_c.py
Normal file
@ -0,0 +1,60 @@
|
||||
#!/usr/bin/env python3
|
||||
|
||||
import os
|
||||
import re
|
||||
import stringcase
|
||||
|
||||
|
||||
files = [filename for filename in os.listdir("./sr_enums") if filename.endswith(".enum")]
|
||||
for filename in files:
|
||||
with open(f"./sr_enums/{filename}", "r") as file:
|
||||
lines = file.readlines()
|
||||
|
||||
# Get enum attributes
|
||||
namespace = re.match(r"[^ \t]*", lines[0]).group(0)
|
||||
library_name = re.match(r"[^ \t]*", lines[1]).group(0)
|
||||
reverse = True if re.match(r"[^ \t]*", lines[2]).group(0) == "true" else False
|
||||
|
||||
# Get a list of tuples containing (name, value)
|
||||
items = []
|
||||
comment = False
|
||||
for line in lines[4:]:
|
||||
line = line.rstrip("\n")
|
||||
if not comment and not line.startswith("%") and "=" in line:
|
||||
m = re.match(r"[ \t]*?([^ \t]*)[ \t]*=[ \t]*([^ \t]*)", line)
|
||||
if m:
|
||||
if reverse:
|
||||
name = m.group(1)
|
||||
value = int(m.group(2), 16)
|
||||
else:
|
||||
name = m.group(2)
|
||||
value = int(m.group(1), 16)
|
||||
if value < 0:
|
||||
str_value = "-0x" + f"{value*-1:08x}".upper()
|
||||
else:
|
||||
str_value = "0x" + f"{value:08x}".upper()
|
||||
items.append((name, str_value))
|
||||
elif "/%" in line:
|
||||
comment = True
|
||||
elif "%/" in line:
|
||||
comment = False
|
||||
|
||||
# Create a header file for this enum
|
||||
with open(f"./c_enums/{namespace}.h", "w") as file:
|
||||
header = f"_{stringcase.constcase(namespace)}_"
|
||||
file.write(f"#ifndef {header}\n#define {header}\n")
|
||||
file.write("\n")
|
||||
file.write("#include \"ultra64.h\"\n#include \"types.h\"\n")
|
||||
file.write("\n")
|
||||
file.write(f"typedef enum {namespace} {'{'}\n")
|
||||
for i,(name,value) in enumerate(items):
|
||||
name_const = stringcase.constcase(name)
|
||||
if i < len(items) - 1:
|
||||
file.write(f"\t{name_const} = {value},\n")
|
||||
else:
|
||||
file.write(f"\t{name_const} = {value}\n")
|
||||
file.write(f"{'}'} {namespace};\n\n")
|
||||
file.write("#endif")
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user