decomp add_star_pieces

This commit is contained in:
Ethan Roseman 2020-08-08 04:23:02 -04:00
parent 356458683c
commit 694dc932e1
2 changed files with 17 additions and 44 deletions

View File

@ -1,27 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.include "include/macro.inc"
glabel add_star_pieces
/* 083620 800EA170 3C058011 */ lui $a1, 0x8011
/* 083624 800EA174 24A5F290 */ addiu $a1, $a1, -0xd70
/* 083628 800EA178 90A3000F */ lbu $v1, 0xf($a1)
/* 08362C 800EA17C 00641821 */ addu $v1, $v1, $a0
/* 083630 800EA180 286200DF */ slti $v0, $v1, 0xdf
/* 083634 800EA184 14400002 */ bnez $v0, .L800EA190
/* 083638 800EA188 00A0302D */ daddu $a2, $a1, $zero
/* 08363C 800EA18C 240300DE */ addiu $v1, $zero, 0xde
.L800EA190:
/* 083640 800EA190 04620001 */ bltzl $v1, .L800EA198
/* 083644 800EA194 0000182D */ daddu $v1, $zero, $zero
.L800EA198:
/* 083648 800EA198 18800004 */ blez $a0, .L800EA1AC
/* 08364C 800EA19C A0A3000F */ sb $v1, 0xf($a1)
/* 083650 800EA1A0 94A2032C */ lhu $v0, 0x32c($a1)
/* 083654 800EA1A4 00441021 */ addu $v0, $v0, $a0
/* 083658 800EA1A8 A4A2032C */ sh $v0, 0x32c($a1)
.L800EA1AC:
/* 08365C 800EA1AC 03E00008 */ jr $ra
/* 083660 800EA1B0 90C2000F */ lbu $v0, 0xf($a2)

View File

@ -118,26 +118,26 @@ INCLUDE_ASM(code_80850_len_3060, add_coins);
INCLUDE_ASM(code_80850_len_3060, add_star_points); INCLUDE_ASM(code_80850_len_3060, add_star_points);
INCLUDE_ASM(code_80850_len_3060, add_star_pieces); u8 add_star_pieces(s32 amt) {
/*u8 add_star_pieces(s32 amt) {
player_data *playerData = &gPlayerData; player_data *playerData = &gPlayerData;
s32 newStarPieces = playerData->starPieces + amt; player_data *playerData2 = &gPlayerData;
s32 newSP = playerData->starPieces;
if (newStarPieces > 222) { newSP += amt;
newStarPieces = 222; if (newSP > 222) {
newSP = 222;
} }
if (newStarPieces < 0) { if (newSP < 0) {
newStarPieces = 0; newSP = 0;
} }
playerData->starPieces = newStarPieces; playerData->starPieces = newSP;
if (amt > 0) { if (amt > 0) {
playerData->starPiecesCollected += amt; playerData->starPiecesCollected += amt;
} }
return playerData->starPieces; return playerData2->starPieces;
}*/ }
void increment_max_SP() { void increment_max_SP() {
player_data* playerData = &gPlayerData; player_data* playerData = &gPlayerData;