mirror of https://github.com/zeldaret/tmc.git
Match sub_0801C2F0
This commit is contained in:
parent
9241c93b0d
commit
dd0c4cc897
|
|
@ -1,39 +0,0 @@
|
|||
.syntax unified
|
||||
push {r4, r5, lr}
|
||||
adds r4, r0, #0
|
||||
adds r0, r1, #0
|
||||
lsls r5, r4, #5
|
||||
ldr r1, _0801C330 @ =0x06010000
|
||||
adds r4, r5, r1
|
||||
movs r1, #0xa
|
||||
bl Div
|
||||
cmp r0, #9
|
||||
bls _0801C308
|
||||
movs r0, #9
|
||||
_0801C308:
|
||||
ldr r2, _0801C334 @ =0x040000D4
|
||||
lsls r0, r0, #5
|
||||
ldr r3, _0801C338 @ =gUnk_085C4620
|
||||
adds r0, r0, r3
|
||||
str r0, [r2]
|
||||
str r4, [r2, #4]
|
||||
ldr r4, _0801C33C @ =0x84000008
|
||||
str r4, [r2, #8]
|
||||
ldr r0, [r2, #8]
|
||||
adds r1, #0xa
|
||||
lsls r1, r1, #5
|
||||
adds r1, r1, r3
|
||||
str r1, [r2]
|
||||
ldr r1, _0801C340 @ =0x06010020
|
||||
adds r0, r5, r1
|
||||
str r0, [r2, #4]
|
||||
str r4, [r2, #8]
|
||||
ldr r0, [r2, #8]
|
||||
pop {r4, r5, pc}
|
||||
.align 2, 0
|
||||
_0801C330: .4byte 0x06010000
|
||||
_0801C334: .4byte 0x040000D4
|
||||
_0801C338: .4byte gUnk_085C4620
|
||||
_0801C33C: .4byte 0x84000008
|
||||
_0801C340: .4byte 0x06010020
|
||||
.syntax divided
|
||||
29
src/ui.c
29
src/ui.c
|
|
@ -60,6 +60,8 @@ typedef struct {
|
|||
|
||||
extern struct_020350E2 gUnk_020350E2;
|
||||
|
||||
extern u32 gUnk_085C4620[];
|
||||
|
||||
typedef struct {
|
||||
u16 unk_0; // -> gOamCmd._4
|
||||
u16 unk_2; // -> gOamCmd._6
|
||||
|
|
@ -80,7 +82,7 @@ extern u16 gUnk_080C9058[];
|
|||
extern Frame gUnk_080C9094[];
|
||||
extern u8 RupeeKeyDigits[];
|
||||
|
||||
void sub_0801C2F0(u32, u32);
|
||||
u32 sub_0801C2F0(u32, u32);
|
||||
void DrawHearts(void);
|
||||
void DrawChargeBar(void);
|
||||
void DrawRupees(void);
|
||||
|
|
@ -153,7 +155,30 @@ void sub_0801C25C(void) {
|
|||
}
|
||||
}
|
||||
|
||||
ASM_FUNC("asm/non_matching/ui/sub_0801C2F0.inc", void sub_0801C2F0(u32 a, u32 b))
|
||||
u32 sub_0801C2F0(u32 param_1, u32 param_2) {
|
||||
u32 uVar1;
|
||||
register u32 rem asm("r1");
|
||||
vu32* ptr;
|
||||
param_1 = param_1 * 0x20 + 0x6010000;
|
||||
|
||||
uVar1 = Div(param_2, 10);
|
||||
if (uVar1 > 9) {
|
||||
uVar1 = 9;
|
||||
}
|
||||
ptr = ®_DMA3SAD;
|
||||
ptr[0] = (u32)(gUnk_085C4620 + uVar1 * 8);
|
||||
// DMA3DAD
|
||||
ptr[1] = param_1;
|
||||
// DMA3CNT
|
||||
ptr[2] = 0x84000008;
|
||||
ptr[2];
|
||||
ptr[0] = (u32)(gUnk_085C4620 + (rem + 10) * 8);
|
||||
// DMA3DAD
|
||||
ptr[1] = param_1 + 0x20;
|
||||
// DMA3CNT
|
||||
ptr[2] = 0x84000008;
|
||||
return ptr[2];
|
||||
}
|
||||
|
||||
void DrawUI(void) {
|
||||
gUnk_0200AF00.unk_0 &= ~gUnk_0200AF00.unk_1;
|
||||
|
|
|
|||
Loading…
Reference in New Issue