From 01ef8bbc3d9a7f7f84e20d554047343199529686 Mon Sep 17 00:00:00 2001 From: Jdog Date: Wed, 12 Aug 2020 13:53:01 -0700 Subject: [PATCH] Handful of new functions matched. Added items enum, other misc changes --- .../code_fa4c0_len_3bf0/AddBadge.s | 29 -- .../code_fa4c0_len_3bf0/AddCoin.s | 22 -- .../code_fa4c0_len_3bf0/AddItem.s | 41 -- .../code_fa4c0_len_3bf0/AddKeyItem.s | 1 + .../code_fa4c0_len_3bf0/AddStarPieces.s | 22 -- .../code_fa4c0_len_3bf0/AddStarPoints.s | 22 -- .../code_fa4c0_len_3bf0/FadeInMusic.s | 9 + .../code_fa4c0_len_3bf0/FadeOutMusic.s | 34 -- .../code_fa4c0_len_3bf0/PlayAmbientSounds.s | 20 - .../code_fa4c0_len_3bf0/PlaySound.s | 44 --- .../code_fa4c0_len_3bf0/PlaySoundAt.s | 62 --- .../code_fa4c0_len_3bf0/RemoveItemAt.s | 22 -- .../code_fa4c0_len_3bf0/RemoveKeyItemAt.s | 20 - .../code_fa4c0_len_3bf0/SetItemPos.s | 56 --- .../code_fa4c0_len_3bf0/SetMusicTrack.s | 49 --- .../code_fa4c0_len_3bf0/StopSound.s | 32 -- .../code_fa4c0_len_3bf0/UseDoorSounds.s | 31 -- .../code_fa4c0_len_3bf0/func_802D5B10.s | 1 + papermario/include/common.h | 1 + papermario/include/common_structs.h | 12 +- papermario/include/items.h | 367 ++++++++++++++++++ papermario/include/variables.h | 2 + papermario/src/code_1b40_len_20b0.c | 2 +- papermario/src/code_fa4c0_len_3bf0.c | 74 +++- 24 files changed, 456 insertions(+), 519 deletions(-) delete mode 100644 papermario/asm/nonmatchings/code_fa4c0_len_3bf0/AddBadge.s delete mode 100644 papermario/asm/nonmatchings/code_fa4c0_len_3bf0/AddCoin.s delete mode 100644 papermario/asm/nonmatchings/code_fa4c0_len_3bf0/AddItem.s delete mode 100644 papermario/asm/nonmatchings/code_fa4c0_len_3bf0/AddStarPieces.s delete mode 100644 papermario/asm/nonmatchings/code_fa4c0_len_3bf0/AddStarPoints.s delete mode 100644 papermario/asm/nonmatchings/code_fa4c0_len_3bf0/FadeOutMusic.s delete mode 100644 papermario/asm/nonmatchings/code_fa4c0_len_3bf0/PlayAmbientSounds.s delete mode 100644 papermario/asm/nonmatchings/code_fa4c0_len_3bf0/PlaySound.s delete mode 100644 papermario/asm/nonmatchings/code_fa4c0_len_3bf0/PlaySoundAt.s delete mode 100644 papermario/asm/nonmatchings/code_fa4c0_len_3bf0/RemoveItemAt.s delete mode 100644 papermario/asm/nonmatchings/code_fa4c0_len_3bf0/RemoveKeyItemAt.s delete mode 100644 papermario/asm/nonmatchings/code_fa4c0_len_3bf0/SetItemPos.s delete mode 100644 papermario/asm/nonmatchings/code_fa4c0_len_3bf0/SetMusicTrack.s delete mode 100644 papermario/asm/nonmatchings/code_fa4c0_len_3bf0/StopSound.s delete mode 100644 papermario/asm/nonmatchings/code_fa4c0_len_3bf0/UseDoorSounds.s create mode 100644 papermario/include/items.h diff --git a/papermario/asm/nonmatchings/code_fa4c0_len_3bf0/AddBadge.s b/papermario/asm/nonmatchings/code_fa4c0_len_3bf0/AddBadge.s deleted file mode 100644 index 4048d78d55..0000000000 --- a/papermario/asm/nonmatchings/code_fa4c0_len_3bf0/AddBadge.s +++ /dev/null @@ -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 - diff --git a/papermario/asm/nonmatchings/code_fa4c0_len_3bf0/AddCoin.s b/papermario/asm/nonmatchings/code_fa4c0_len_3bf0/AddCoin.s deleted file mode 100644 index 836e519e4d..0000000000 --- a/papermario/asm/nonmatchings/code_fa4c0_len_3bf0/AddCoin.s +++ /dev/null @@ -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 - diff --git a/papermario/asm/nonmatchings/code_fa4c0_len_3bf0/AddItem.s b/papermario/asm/nonmatchings/code_fa4c0_len_3bf0/AddItem.s deleted file mode 100644 index 6ad05d9e39..0000000000 --- a/papermario/asm/nonmatchings/code_fa4c0_len_3bf0/AddItem.s +++ /dev/null @@ -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 - diff --git a/papermario/asm/nonmatchings/code_fa4c0_len_3bf0/AddKeyItem.s b/papermario/asm/nonmatchings/code_fa4c0_len_3bf0/AddKeyItem.s index 0ee7fdefe0..3c3b5b4931 100644 --- a/papermario/asm/nonmatchings/code_fa4c0_len_3bf0/AddKeyItem.s +++ b/papermario/asm/nonmatchings/code_fa4c0_len_3bf0/AddKeyItem.s @@ -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 diff --git a/papermario/asm/nonmatchings/code_fa4c0_len_3bf0/AddStarPieces.s b/papermario/asm/nonmatchings/code_fa4c0_len_3bf0/AddStarPieces.s deleted file mode 100644 index 10623b15f4..0000000000 --- a/papermario/asm/nonmatchings/code_fa4c0_len_3bf0/AddStarPieces.s +++ /dev/null @@ -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 - diff --git a/papermario/asm/nonmatchings/code_fa4c0_len_3bf0/AddStarPoints.s b/papermario/asm/nonmatchings/code_fa4c0_len_3bf0/AddStarPoints.s deleted file mode 100644 index 45dba228bd..0000000000 --- a/papermario/asm/nonmatchings/code_fa4c0_len_3bf0/AddStarPoints.s +++ /dev/null @@ -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 - diff --git a/papermario/asm/nonmatchings/code_fa4c0_len_3bf0/FadeInMusic.s b/papermario/asm/nonmatchings/code_fa4c0_len_3bf0/FadeInMusic.s index 89e13c4750..30dd0ed0ea 100644 --- a/papermario/asm/nonmatchings/code_fa4c0_len_3bf0/FadeInMusic.s +++ b/papermario/asm/nonmatchings/code_fa4c0_len_3bf0/FadeInMusic.s @@ -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) diff --git a/papermario/asm/nonmatchings/code_fa4c0_len_3bf0/FadeOutMusic.s b/papermario/asm/nonmatchings/code_fa4c0_len_3bf0/FadeOutMusic.s deleted file mode 100644 index 85349693b1..0000000000 --- a/papermario/asm/nonmatchings/code_fa4c0_len_3bf0/FadeOutMusic.s +++ /dev/null @@ -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 - diff --git a/papermario/asm/nonmatchings/code_fa4c0_len_3bf0/PlayAmbientSounds.s b/papermario/asm/nonmatchings/code_fa4c0_len_3bf0/PlayAmbientSounds.s deleted file mode 100644 index 64076c4711..0000000000 --- a/papermario/asm/nonmatchings/code_fa4c0_len_3bf0/PlayAmbientSounds.s +++ /dev/null @@ -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 - diff --git a/papermario/asm/nonmatchings/code_fa4c0_len_3bf0/PlaySound.s b/papermario/asm/nonmatchings/code_fa4c0_len_3bf0/PlaySound.s deleted file mode 100644 index cc323e9bc9..0000000000 --- a/papermario/asm/nonmatchings/code_fa4c0_len_3bf0/PlaySound.s +++ /dev/null @@ -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 - diff --git a/papermario/asm/nonmatchings/code_fa4c0_len_3bf0/PlaySoundAt.s b/papermario/asm/nonmatchings/code_fa4c0_len_3bf0/PlaySoundAt.s deleted file mode 100644 index 793b4ac7cf..0000000000 --- a/papermario/asm/nonmatchings/code_fa4c0_len_3bf0/PlaySoundAt.s +++ /dev/null @@ -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 - diff --git a/papermario/asm/nonmatchings/code_fa4c0_len_3bf0/RemoveItemAt.s b/papermario/asm/nonmatchings/code_fa4c0_len_3bf0/RemoveItemAt.s deleted file mode 100644 index 7f706efe42..0000000000 --- a/papermario/asm/nonmatchings/code_fa4c0_len_3bf0/RemoveItemAt.s +++ /dev/null @@ -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 - diff --git a/papermario/asm/nonmatchings/code_fa4c0_len_3bf0/RemoveKeyItemAt.s b/papermario/asm/nonmatchings/code_fa4c0_len_3bf0/RemoveKeyItemAt.s deleted file mode 100644 index 359e2d6a02..0000000000 --- a/papermario/asm/nonmatchings/code_fa4c0_len_3bf0/RemoveKeyItemAt.s +++ /dev/null @@ -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 - diff --git a/papermario/asm/nonmatchings/code_fa4c0_len_3bf0/SetItemPos.s b/papermario/asm/nonmatchings/code_fa4c0_len_3bf0/SetItemPos.s deleted file mode 100644 index 7f84471fb5..0000000000 --- a/papermario/asm/nonmatchings/code_fa4c0_len_3bf0/SetItemPos.s +++ /dev/null @@ -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 - diff --git a/papermario/asm/nonmatchings/code_fa4c0_len_3bf0/SetMusicTrack.s b/papermario/asm/nonmatchings/code_fa4c0_len_3bf0/SetMusicTrack.s deleted file mode 100644 index de5eae927c..0000000000 --- a/papermario/asm/nonmatchings/code_fa4c0_len_3bf0/SetMusicTrack.s +++ /dev/null @@ -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 - diff --git a/papermario/asm/nonmatchings/code_fa4c0_len_3bf0/StopSound.s b/papermario/asm/nonmatchings/code_fa4c0_len_3bf0/StopSound.s deleted file mode 100644 index 73ecfc0128..0000000000 --- a/papermario/asm/nonmatchings/code_fa4c0_len_3bf0/StopSound.s +++ /dev/null @@ -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 - diff --git a/papermario/asm/nonmatchings/code_fa4c0_len_3bf0/UseDoorSounds.s b/papermario/asm/nonmatchings/code_fa4c0_len_3bf0/UseDoorSounds.s deleted file mode 100644 index 1711d47848..0000000000 --- a/papermario/asm/nonmatchings/code_fa4c0_len_3bf0/UseDoorSounds.s +++ /dev/null @@ -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 - diff --git a/papermario/asm/nonmatchings/code_fa4c0_len_3bf0/func_802D5B10.s b/papermario/asm/nonmatchings/code_fa4c0_len_3bf0/func_802D5B10.s index 78f7b15cad..5ad45ade51 100644 --- a/papermario/asm/nonmatchings/code_fa4c0_len_3bf0/func_802D5B10.s +++ b/papermario/asm/nonmatchings/code_fa4c0_len_3bf0/func_802D5B10.s @@ -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) diff --git a/papermario/include/common.h b/papermario/include/common.h index ede78a0a2b..612c44b7f7 100644 --- a/papermario/include/common.h +++ b/papermario/include/common.h @@ -7,5 +7,6 @@ #include "functions.h" #include "variables.h" #include "macros.h" +#include "items.h" #endif diff --git a/papermario/include/common_structs.h b/papermario/include/common_structs.h index d426be60e4..61d556ec46 100644 --- a/papermario/include/common_structs.h +++ b/papermario/include/common_structs.h @@ -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 { diff --git a/papermario/include/items.h b/papermario/include/items.h new file mode 100644 index 0000000000..e1bacc3a6a --- /dev/null +++ b/papermario/include/items.h @@ -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 \ No newline at end of file diff --git a/papermario/include/variables.h b/papermario/include/variables.h index 6aa1c3c1ba..12cf2b7dbc 100644 --- a/papermario/include/variables.h +++ b/papermario/include/variables.h @@ -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; diff --git a/papermario/src/code_1b40_len_20b0.c b/papermario/src/code_1b40_len_20b0.c index 2f10f34a86..3e8c004d87 100644 --- a/papermario/src/code_1b40_len_20b0.c +++ b/papermario/src/code_1b40_len_20b0.c @@ -32,7 +32,7 @@ extern int D_802EB3D0[]; extern u8 D_80074021; extern s32 D_8009A5D8; -extern s32 D_8009A650[1]; +//extern s32 D_8009A650[1]; Declared in variables.h void dma_copy(void*, void*, void*); diff --git a/papermario/src/code_fa4c0_len_3bf0.c b/papermario/src/code_fa4c0_len_3bf0.c index dc5cd0bf47..737ee055aa 100644 --- a/papermario/src/code_fa4c0_len_3bf0.c +++ b/papermario/src/code_fa4c0_len_3bf0.c @@ -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 < 32) { + playerData->keyItems[i] = itemID; + } + return 2; +} + +s32 func_802D6954(void) { + func_800E01A4(); + disable_player_physics(); + func_800EF600(); + D_8009A650[0] &= -0x41; + 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; }