mirror of
https://github.com/Ninjdai1/pokeemerald.git
synced 2024-12-26 11:44:17 +01:00
Finish decompiling coins
This commit is contained in:
parent
1e4f12e6fa
commit
89d938ea9e
74
asm/coins.s
74
asm/coins.s
@ -1,74 +0,0 @@
|
||||
.include "asm/macros.inc"
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.syntax unified
|
||||
|
||||
.text
|
||||
|
||||
thumb_func_start GiveCoins
|
||||
@ bool8 GiveCoins(u16 toAdd)
|
||||
GiveCoins: @ 8145C80
|
||||
push {r4,lr}
|
||||
lsls r0, 16
|
||||
lsrs r4, r0, 16
|
||||
bl GetCoins
|
||||
lsls r0, 16
|
||||
lsrs r1, r0, 16
|
||||
ldr r0, =0x0000270e
|
||||
cmp r1, r0
|
||||
bls _08145C9C
|
||||
movs r0, 0
|
||||
b _08145CC0
|
||||
.pool
|
||||
_08145C9C:
|
||||
adds r0, r1, r4
|
||||
cmp r1, r0
|
||||
ble _08145CAC
|
||||
ldr r0, =0x0000270f
|
||||
b _08145CBA
|
||||
.pool
|
||||
_08145CAC:
|
||||
lsls r0, 16
|
||||
lsrs r1, r0, 16
|
||||
ldr r0, =0x0000270f
|
||||
cmp r1, r0
|
||||
bls _08145CB8
|
||||
adds r1, r0, 0
|
||||
_08145CB8:
|
||||
adds r0, r1, 0
|
||||
_08145CBA:
|
||||
bl SetCoins
|
||||
movs r0, 0x1
|
||||
_08145CC0:
|
||||
pop {r4}
|
||||
pop {r1}
|
||||
bx r1
|
||||
.pool
|
||||
thumb_func_end GiveCoins
|
||||
|
||||
thumb_func_start TakeCoins
|
||||
@ bool8 TakeCoins(u16 toSub)
|
||||
TakeCoins: @ 8145CCC
|
||||
push {r4,lr}
|
||||
lsls r0, 16
|
||||
lsrs r4, r0, 16
|
||||
bl GetCoins
|
||||
lsls r0, 16
|
||||
lsrs r0, 16
|
||||
cmp r0, r4
|
||||
bcs _08145CE2
|
||||
movs r0, 0
|
||||
b _08145CEE
|
||||
_08145CE2:
|
||||
subs r0, r4
|
||||
lsls r0, 16
|
||||
lsrs r0, 16
|
||||
bl SetCoins
|
||||
movs r0, 0x1
|
||||
_08145CEE:
|
||||
pop {r4}
|
||||
pop {r1}
|
||||
bx r1
|
||||
thumb_func_end TakeCoins
|
||||
|
||||
.align 2, 0 @ Don't pad with nop.
|
@ -186,7 +186,6 @@ SECTIONS {
|
||||
asm/roulette.o(.text);
|
||||
asm/pokedex_cry_screen.o(.text);
|
||||
src/coins.o(.text);
|
||||
asm/coins.o(.text);
|
||||
asm/landmark.o(.text);
|
||||
asm/fldeff_strength.o(.text);
|
||||
asm/battle_transition.o(.text);
|
||||
|
21
src/coins.c
21
src/coins.c
@ -53,7 +53,6 @@ void SetCoins(u16 coinAmount)
|
||||
gSaveBlock1Ptr->coins = coinAmount ^ gSaveBlock2Ptr->encryptionKey;
|
||||
}
|
||||
|
||||
/* Can't match it lol
|
||||
bool8 GiveCoins(u16 toAdd)
|
||||
{
|
||||
u16 newAmount;
|
||||
@ -67,10 +66,22 @@ bool8 GiveCoins(u16 toAdd)
|
||||
}
|
||||
else
|
||||
{
|
||||
newAmount = ownedCoins + toAdd;
|
||||
if (newAmount > MAX_COINS)
|
||||
newAmount = MAX_COINS;
|
||||
ownedCoins += toAdd;
|
||||
if (ownedCoins > MAX_COINS)
|
||||
ownedCoins = MAX_COINS;
|
||||
newAmount = ownedCoins;
|
||||
}
|
||||
SetCoins(newAmount);
|
||||
return TRUE;
|
||||
}*/
|
||||
}
|
||||
|
||||
bool8 TakeCoins(u16 toSub)
|
||||
{
|
||||
u16 ownedCoins = GetCoins();
|
||||
if (ownedCoins >= toSub)
|
||||
{
|
||||
SetCoins(ownedCoins - toSub);
|
||||
return TRUE;
|
||||
}
|
||||
return FALSE;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user