From d90f7f8831a9eeb5fa458f684f03c550d93e5be4 Mon Sep 17 00:00:00 2001 From: Ryan Dwyer Date: Wed, 9 Oct 2019 18:48:58 +1000 Subject: [PATCH] Decompile incrementByte --- src/game/chr/chraicommands.c | 10 +++++----- src/game/game_000000.c | 27 +++++++++------------------ 2 files changed, 14 insertions(+), 23 deletions(-) diff --git a/src/game/chr/chraicommands.c b/src/game/chr/chraicommands.c index f5d8f3ce6..d30f944ab 100644 --- a/src/game/chr/chraicommands.c +++ b/src/game/chr/chraicommands.c @@ -5540,7 +5540,7 @@ glabel ai0085 /* f053350: afbf0014 */ sw $ra,0x14($sp) /* f053354: 01cf1021 */ addu $v0,$t6,$t7 /* f053358: 90450002 */ lbu $a1,0x2($v0) -/* f05335c: 0fc1289f */ jal func0f04a27c +/* f05335c: 0fc1289f */ jal incrementByte /* f053360: 24840112 */ addiu $a0,$a0,0x112 /* f053364: 3c03800a */ lui $v1,0x800a /* f053368: 24639fc0 */ addiu $v1,$v1,-24640 @@ -5571,7 +5571,7 @@ glabel ai0086 /* f0533b0: 8c640424 */ lw $a0,0x424($v1) /* f0533b4: 8fa6001c */ lw $a2,0x1c($sp) /* f0533b8: 24440112 */ addiu $a0,$v0,0x112 -/* f0533bc: 0fc1289f */ jal func0f04a27c +/* f0533bc: 0fc1289f */ jal incrementByte /* f0533c0: 90c50002 */ lbu $a1,0x2($a2) /* f0533c4: 3c03800a */ lui $v1,0x800a /* f0533c8: 24639fc0 */ addiu $v1,$v1,-24640 @@ -5713,7 +5713,7 @@ glabel ai008b /* f053550: afbf0014 */ sw $ra,0x14($sp) /* f053554: 01cf1021 */ addu $v0,$t6,$t7 /* f053558: 90450002 */ lbu $a1,0x2($v0) -/* f05355c: 0fc1289f */ jal func0f04a27c +/* f05355c: 0fc1289f */ jal incrementByte /* f053560: 24840113 */ addiu $a0,$a0,0x113 /* f053564: 3c03800a */ lui $v1,0x800a /* f053568: 24639fc0 */ addiu $v1,$v1,-24640 @@ -5750,7 +5750,7 @@ glabel ai008c /* f0535c8: 24440113 */ addiu $a0,$v0,0x113 /* f0535cc: 53000006 */ beqzl $t8,.L0f0535e8 /* f0535d0: 8cd90438 */ lw $t9,0x438($a2) -/* f0535d4: 0fc1289f */ jal func0f04a27c +/* f0535d4: 0fc1289f */ jal incrementByte /* f0535d8: 90650002 */ lbu $a1,0x2($v1) /* f0535dc: 3c06800a */ lui $a2,0x800a /* f0535e0: 24c69fc0 */ addiu $a2,$a2,-24640 @@ -15047,7 +15047,7 @@ glabel ai0131 /* f05ad94: 10400003 */ beqz $v0,.L0f05ada4 /* f05ad98: 26040113 */ addiu $a0,$s0,0x113 .L0f05ad9c: -/* f05ad9c: 0fc1289f */ jal func0f04a27c +/* f05ad9c: 0fc1289f */ jal incrementByte /* f05ada0: 92650002 */ lbu $a1,0x2($s3) .L0f05ada4: /* f05ada4: 86240002 */ lh $a0,0x2($s1) diff --git a/src/game/game_000000.c b/src/game/game_000000.c index 559e66b20..1b9a54906 100644 --- a/src/game/game_000000.c +++ b/src/game/game_000000.c @@ -83706,24 +83706,15 @@ glabel func0f04a250 /* f04a278: 00000000 */ sll $zero,$zero,0x0 ); -GLOBAL_ASM( -glabel func0f04a27c -/* f04a27c: afa50004 */ sw $a1,0x4($sp) -/* f04a280: 90830000 */ lbu $v1,0x0($a0) -/* f04a284: 30a200ff */ andi $v0,$a1,0xff -/* f04a288: 240f00ff */ addiu $t7,$zero,0xff -/* f04a28c: 01e2c023 */ subu $t8,$t7,$v0 -/* f04a290: 0303082a */ slt $at,$t8,$v1 -/* f04a294: 10200004 */ beqz $at,.L0f04a2a8 -/* f04a298: 00624021 */ addu $t0,$v1,$v0 -/* f04a29c: 241900ff */ addiu $t9,$zero,0xff -/* f04a2a0: 03e00008 */ jr $ra -/* f04a2a4: a0990000 */ sb $t9,0x0($a0) -.L0f04a2a8: -/* f04a2a8: a0880000 */ sb $t0,0x0($a0) -/* f04a2ac: 03e00008 */ jr $ra -/* f04a2b0: 00000000 */ sll $zero,$zero,0x0 -); +void incrementByte(u8 *dst, u8 amount) +{ + if (0xff - amount < *dst) { + *dst = 0xff; + return; + } + + *dst += amount; +} bool func0f04a2b4(struct chrdata *chr) {