sub_81230C4
This commit is contained in:
@@ -5,114 +5,6 @@
|
|||||||
|
|
||||||
.text
|
.text
|
||||||
|
|
||||||
thumb_func_start sub_81230C4
|
|
||||||
sub_81230C4: @ 81230C4
|
|
||||||
push {r4,lr}
|
|
||||||
movs r4, 0
|
|
||||||
ldr r2, =gUnknown_0203A144
|
|
||||||
ldr r0, [r2]
|
|
||||||
adds r0, 0x7B
|
|
||||||
strb r4, [r0]
|
|
||||||
ldr r0, [r2]
|
|
||||||
adds r0, 0x7C
|
|
||||||
strb r4, [r0]
|
|
||||||
ldr r3, =gMain
|
|
||||||
ldrh r1, [r3, 0x2C]
|
|
||||||
movs r0, 0x40
|
|
||||||
ands r0, r1
|
|
||||||
cmp r0, 0
|
|
||||||
beq _081230F6
|
|
||||||
ldr r1, [r2]
|
|
||||||
adds r0, r1, 0
|
|
||||||
adds r0, 0x56
|
|
||||||
ldrh r0, [r0]
|
|
||||||
cmp r0, 0x2
|
|
||||||
bls _081230F6
|
|
||||||
adds r1, 0x7C
|
|
||||||
movs r0, 0xFF
|
|
||||||
strb r0, [r1]
|
|
||||||
movs r4, 0x1
|
|
||||||
_081230F6:
|
|
||||||
ldrh r1, [r3, 0x2C]
|
|
||||||
movs r0, 0x80
|
|
||||||
ands r0, r1
|
|
||||||
cmp r0, 0
|
|
||||||
beq _08123114
|
|
||||||
ldr r1, [r2]
|
|
||||||
adds r0, r1, 0
|
|
||||||
adds r0, 0x56
|
|
||||||
ldrh r0, [r0]
|
|
||||||
cmp r0, 0xF
|
|
||||||
bhi _08123114
|
|
||||||
adds r1, 0x7C
|
|
||||||
movs r0, 0x1
|
|
||||||
strb r0, [r1]
|
|
||||||
movs r4, 0x1
|
|
||||||
_08123114:
|
|
||||||
ldrh r1, [r3, 0x2C]
|
|
||||||
movs r0, 0x20
|
|
||||||
ands r0, r1
|
|
||||||
cmp r0, 0
|
|
||||||
beq _08123132
|
|
||||||
ldr r1, [r2]
|
|
||||||
adds r0, r1, 0
|
|
||||||
adds r0, 0x54
|
|
||||||
ldrh r0, [r0]
|
|
||||||
cmp r0, 0x1
|
|
||||||
bls _08123132
|
|
||||||
adds r1, 0x7B
|
|
||||||
movs r0, 0xFF
|
|
||||||
strb r0, [r1]
|
|
||||||
movs r4, 0x1
|
|
||||||
_08123132:
|
|
||||||
ldrh r1, [r3, 0x2C]
|
|
||||||
movs r0, 0x10
|
|
||||||
ands r0, r1
|
|
||||||
cmp r0, 0
|
|
||||||
beq _08123150
|
|
||||||
ldr r1, [r2]
|
|
||||||
adds r0, r1, 0
|
|
||||||
adds r0, 0x54
|
|
||||||
ldrh r0, [r0]
|
|
||||||
cmp r0, 0x1B
|
|
||||||
bhi _08123150
|
|
||||||
adds r1, 0x7B
|
|
||||||
movs r0, 0x1
|
|
||||||
strb r0, [r1]
|
|
||||||
movs r4, 0x1
|
|
||||||
_08123150:
|
|
||||||
ldrh r3, [r3, 0x2E]
|
|
||||||
movs r0, 0x1
|
|
||||||
ands r0, r3
|
|
||||||
cmp r0, 0
|
|
||||||
beq _08123168
|
|
||||||
movs r4, 0x4
|
|
||||||
b _08123172
|
|
||||||
.pool
|
|
||||||
_08123168:
|
|
||||||
movs r0, 0x2
|
|
||||||
ands r0, r3
|
|
||||||
cmp r0, 0
|
|
||||||
beq _08123172
|
|
||||||
movs r4, 0x5
|
|
||||||
_08123172:
|
|
||||||
cmp r4, 0x1
|
|
||||||
bne _08123184
|
|
||||||
ldr r0, [r2]
|
|
||||||
adds r0, 0x7A
|
|
||||||
movs r1, 0x4
|
|
||||||
strb r1, [r0]
|
|
||||||
ldr r1, [r2]
|
|
||||||
ldr r0, =_swiopen
|
|
||||||
str r0, [r1, 0x18]
|
|
||||||
_08123184:
|
|
||||||
adds r0, r4, 0
|
|
||||||
pop {r4}
|
|
||||||
pop {r1}
|
|
||||||
bx r1
|
|
||||||
.pool
|
|
||||||
thumb_func_end sub_81230C4
|
|
||||||
|
|
||||||
thumb_func_start _swiopen
|
thumb_func_start _swiopen
|
||||||
_swiopen: @ 8123190
|
_swiopen: @ 8123190
|
||||||
push {r4,r5,lr}
|
push {r4,r5,lr}
|
||||||
|
|||||||
@@ -250,10 +250,12 @@ struct RegionMap {
|
|||||||
/*0x076*/ u16 unk_076;
|
/*0x076*/ u16 unk_076;
|
||||||
/*0x078*/ u8 unk_078;
|
/*0x078*/ u8 unk_078;
|
||||||
/*0x079*/ u8 unk_079;
|
/*0x079*/ u8 unk_079;
|
||||||
/*0x07a*/ u8 unk_07a;
|
/*0x07a*/ s8 unk_07a;
|
||||||
/*0x07b*/ u8 filler_07b[3];
|
/*0x07b*/ s8 unk_07b;
|
||||||
|
/*0x07c*/ u8 unk_07c;
|
||||||
|
/*0x07d*/ u8 unk_07d;
|
||||||
/*0x07e*/ u8 unk_07e;
|
/*0x07e*/ u8 unk_07e;
|
||||||
/*0x07f*/ u8 filler_07f[1];
|
/*0x07f*/ u8 unk_07f;
|
||||||
/*0x080*/ u8 unk_080;
|
/*0x080*/ u8 unk_080;
|
||||||
/*0x081*/ u8 unk_081;
|
/*0x081*/ u8 unk_081;
|
||||||
/*0x082*/ u8 unk_082;
|
/*0x082*/ u8 unk_082;
|
||||||
@@ -266,6 +268,8 @@ struct RegionMap {
|
|||||||
// Exported RAM declarations
|
// Exported RAM declarations
|
||||||
|
|
||||||
// Exported ROM declarations
|
// Exported ROM declarations
|
||||||
|
void sub_8122CF8(struct RegionMap *regionMap, struct UnkStruct_8122CF8 *arg1, bool8 arg2);
|
||||||
|
bool8 sub_8122DB0(void);
|
||||||
void GetMapName(u8 *, u16, u16);
|
void GetMapName(u8 *, u16, u16);
|
||||||
void sub_8122CDC(struct RegionMap *regionMap, u8 argument);
|
void sub_8122CDC(struct RegionMap *regionMap, u8 argument);
|
||||||
void sub_8124288(u16 x, u16 y);
|
void sub_8124288(u16 x, u16 y);
|
||||||
|
|||||||
+61
-7
@@ -1,6 +1,7 @@
|
|||||||
|
|
||||||
// Includes
|
// Includes
|
||||||
#include "global.h"
|
#include "global.h"
|
||||||
|
#include "main.h"
|
||||||
#include "region_map.h"
|
#include "region_map.h"
|
||||||
#include "menu.h"
|
#include "menu.h"
|
||||||
#include "palette.h"
|
#include "palette.h"
|
||||||
@@ -12,6 +13,17 @@ struct UnkStruct_0203A148 {
|
|||||||
u8 filler_000[0xa74];
|
u8 filler_000[0xa74];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
enum
|
||||||
|
{
|
||||||
|
INPUT_EVENT_NONE,
|
||||||
|
INPUT_EVENT_DPAD,
|
||||||
|
INPUT_EVENT_2,
|
||||||
|
INPUT_EVENT_3,
|
||||||
|
INPUT_EVENT_A_BUTTON,
|
||||||
|
INPUT_EVENT_B_BUTTON,
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
// Static RAM declarations
|
// Static RAM declarations
|
||||||
|
|
||||||
EWRAM_DATA struct RegionMap *gUnknown_0203A144 = NULL;
|
EWRAM_DATA struct RegionMap *gUnknown_0203A144 = NULL;
|
||||||
@@ -19,16 +31,15 @@ EWRAM_DATA struct UnkStruct_0203A148 *gUnknown_0203A148 = NULL;
|
|||||||
|
|
||||||
// Static ROM declarations
|
// Static ROM declarations
|
||||||
|
|
||||||
void sub_8122CF8(struct RegionMap *regionMap, struct UnkStruct_8122CF8 *arg1, bool8 arg2);
|
|
||||||
bool8 sub_8122DB0(void);
|
|
||||||
u8 sub_8123254(void);
|
|
||||||
u8 sub_81230C4(void);
|
u8 sub_81230C4(void);
|
||||||
void sub_81238AC(void);
|
u8 sub_8123254(void);
|
||||||
u16 sub_8123EB4(u16 mapSecId);
|
|
||||||
u8 get_flagnr_blue_points(u16 mapSecId);
|
|
||||||
void sub_81236C4(s32 a0, s32 a1, s32 a2, s32 a3, u16 a4, u16 a5, u16 a6);
|
void sub_81236C4(s32 a0, s32 a1, s32 a2, s32 a3, u16 a4, u16 a5, u16 a6);
|
||||||
void sub_8123FB0(void);
|
|
||||||
void sub_81237B4(void);
|
void sub_81237B4(void);
|
||||||
|
void sub_81238AC(void);
|
||||||
|
u8 get_flagnr_blue_points(u16 mapSecId);
|
||||||
|
u16 sub_8123EB4(u16 mapSecId);
|
||||||
|
void sub_8123FB0(void);
|
||||||
|
u8 _swiopen(void);
|
||||||
|
|
||||||
// .rodata
|
// .rodata
|
||||||
|
|
||||||
@@ -187,3 +198,46 @@ u8 sub_81230AC(void)
|
|||||||
{
|
{
|
||||||
return gUnknown_0203A144->inputCallback();
|
return gUnknown_0203A144->inputCallback();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
u8 sub_81230C4(void)
|
||||||
|
{
|
||||||
|
u8 input;
|
||||||
|
|
||||||
|
input = INPUT_EVENT_NONE;
|
||||||
|
gUnknown_0203A144->unk_07b = 0;
|
||||||
|
gUnknown_0203A144->unk_07c = 0;
|
||||||
|
if (gMain.heldKeys & DPAD_UP && gUnknown_0203A144->unk_056 > 2)
|
||||||
|
{
|
||||||
|
gUnknown_0203A144->unk_07c = -1;
|
||||||
|
input = INPUT_EVENT_DPAD;
|
||||||
|
}
|
||||||
|
if (gMain.heldKeys & DPAD_DOWN && gUnknown_0203A144->unk_056 < 16)
|
||||||
|
{
|
||||||
|
gUnknown_0203A144->unk_07c = +1;
|
||||||
|
input = INPUT_EVENT_DPAD;
|
||||||
|
}
|
||||||
|
if (gMain.heldKeys & DPAD_LEFT && gUnknown_0203A144->unk_054 > 1)
|
||||||
|
{
|
||||||
|
gUnknown_0203A144->unk_07b = -1;
|
||||||
|
input = INPUT_EVENT_DPAD;
|
||||||
|
}
|
||||||
|
if (gMain.heldKeys & DPAD_RIGHT && gUnknown_0203A144->unk_054 < 28)
|
||||||
|
{
|
||||||
|
gUnknown_0203A144->unk_07b = +1;
|
||||||
|
input = INPUT_EVENT_DPAD;
|
||||||
|
}
|
||||||
|
if (gMain.newKeys & A_BUTTON)
|
||||||
|
{
|
||||||
|
input = INPUT_EVENT_A_BUTTON;
|
||||||
|
}
|
||||||
|
else if (gMain.newKeys & B_BUTTON)
|
||||||
|
{
|
||||||
|
input = INPUT_EVENT_B_BUTTON;
|
||||||
|
}
|
||||||
|
if (input == INPUT_EVENT_DPAD)
|
||||||
|
{
|
||||||
|
gUnknown_0203A144->unk_07a = 4;
|
||||||
|
gUnknown_0203A144->inputCallback = _swiopen;
|
||||||
|
}
|
||||||
|
return input;
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user