sub_8144CA0
This commit is contained in:
@@ -5,224 +5,6 @@
|
||||
|
||||
.text
|
||||
|
||||
thumb_func_start sub_8144CA0
|
||||
sub_8144CA0: @ 8144CA0
|
||||
push {r4,lr}
|
||||
adds r4, r0, 0
|
||||
ldr r0, [r4, 0x10]
|
||||
lsls r2, r0, 3
|
||||
ldr r1, [r4, 0x1C]
|
||||
adds r2, r1, r2
|
||||
adds r0, 0x1
|
||||
str r0, [r4, 0x10]
|
||||
ldr r0, [r2]
|
||||
cmp r0, 0x15
|
||||
bls _08144CB8
|
||||
b _08144E60
|
||||
_08144CB8:
|
||||
lsls r0, 2
|
||||
ldr r1, _08144CC4 @ =_08144CC8
|
||||
adds r0, r1
|
||||
ldr r0, [r0]
|
||||
mov pc, r0
|
||||
.align 2, 0
|
||||
_08144CC4: .4byte _08144CC8
|
||||
.align 2, 0
|
||||
_08144CC8:
|
||||
.4byte _08144E60
|
||||
.4byte _08144D20
|
||||
.4byte _08144D28
|
||||
.4byte _08144D38
|
||||
.4byte _08144D70
|
||||
.4byte _08144D78
|
||||
.4byte _08144D62
|
||||
.4byte _08144D6A
|
||||
.4byte _08144DC6
|
||||
.4byte _08144DF0
|
||||
.4byte _08144DE8
|
||||
.4byte _08144D8E
|
||||
.4byte _08144DA4
|
||||
.4byte _08144DBA
|
||||
.4byte _08144DDC
|
||||
.4byte _08144E18
|
||||
.4byte _08144E1C
|
||||
.4byte _08144E24
|
||||
.4byte _08144E30
|
||||
.4byte _08144D4E
|
||||
.4byte _08144D3C
|
||||
.4byte _08144E4C
|
||||
_08144D20:
|
||||
ldr r0, [r2, 0x4]
|
||||
str r0, [r4, 0x4]
|
||||
movs r0, 0x1
|
||||
b _08144E5A
|
||||
_08144D28:
|
||||
adds r0, r4, 0
|
||||
adds r0, 0x24
|
||||
ldr r1, [r2, 0x4]
|
||||
ldr r2, [r4, 0x18]
|
||||
bl sub_81448AC
|
||||
movs r0, 0x2
|
||||
b _08144E5A
|
||||
_08144D38:
|
||||
movs r0, 0x3
|
||||
b _08144E5A
|
||||
_08144D3C:
|
||||
adds r0, r4, 0
|
||||
adds r0, 0x24
|
||||
ldr r2, [r4, 0x14]
|
||||
movs r1, 0x14
|
||||
movs r3, 0
|
||||
bl sub_8144888
|
||||
movs r0, 0x3
|
||||
b _08144E5A
|
||||
_08144D4E:
|
||||
ldrb r0, [r2, 0x4]
|
||||
bl GetGameStat
|
||||
adds r2, r0, 0
|
||||
adds r0, r4, 0
|
||||
movs r1, 0x12
|
||||
bl sub_8144C00
|
||||
movs r0, 0x3
|
||||
b _08144E5A
|
||||
_08144D62:
|
||||
ldr r0, [r4, 0x4]
|
||||
cmp r0, 0
|
||||
bne _08144E60
|
||||
b _08144D70
|
||||
_08144D6A:
|
||||
ldr r0, [r4, 0x4]
|
||||
cmp r0, 0x1
|
||||
bne _08144E60
|
||||
_08144D70:
|
||||
adds r0, r4, 0
|
||||
bl sub_8144BE4
|
||||
b _08144E60
|
||||
_08144D78:
|
||||
ldr r0, [r4, 0x20]
|
||||
ldr r1, [r4, 0x18]
|
||||
movs r2, 0x40
|
||||
bl memcpy
|
||||
movs r0, 0x5
|
||||
str r0, [r4, 0x8]
|
||||
movs r0, 0
|
||||
str r0, [r4, 0xC]
|
||||
movs r0, 0x2
|
||||
b _08144E62
|
||||
_08144D8E:
|
||||
ldr r0, [r4, 0x20]
|
||||
ldr r1, [r4, 0x18]
|
||||
movs r2, 0x40
|
||||
bl memcpy
|
||||
movs r0, 0x5
|
||||
str r0, [r4, 0x8]
|
||||
movs r0, 0
|
||||
str r0, [r4, 0xC]
|
||||
movs r0, 0x3
|
||||
b _08144E62
|
||||
_08144DA4:
|
||||
ldr r0, [r4, 0x20]
|
||||
ldr r1, [r4, 0x18]
|
||||
movs r2, 0x40
|
||||
bl memcpy
|
||||
movs r0, 0x5
|
||||
str r0, [r4, 0x8]
|
||||
movs r0, 0
|
||||
str r0, [r4, 0xC]
|
||||
movs r0, 0x5
|
||||
b _08144E62
|
||||
_08144DBA:
|
||||
movs r0, 0x5
|
||||
str r0, [r4, 0x8]
|
||||
movs r0, 0
|
||||
str r0, [r4, 0xC]
|
||||
movs r0, 0x4
|
||||
b _08144E62
|
||||
_08144DC6:
|
||||
ldr r0, [r4, 0x14]
|
||||
bl sub_81442CC
|
||||
adds r0, r4, 0
|
||||
adds r0, 0x24
|
||||
ldr r2, [r4, 0x14]
|
||||
movs r1, 0x11
|
||||
movs r3, 0x64
|
||||
bl sub_8144888
|
||||
b _08144E60
|
||||
_08144DDC:
|
||||
ldr r2, [r4, 0x4]
|
||||
adds r0, r4, 0
|
||||
movs r1, 0x13
|
||||
bl sub_8144C00
|
||||
b _08144E60
|
||||
_08144DE8:
|
||||
ldr r0, [r4, 0x18]
|
||||
bl sub_8143F68
|
||||
b _08144E60
|
||||
_08144DF0:
|
||||
ldr r0, [r4, 0x18]
|
||||
bl sub_8143EF4
|
||||
cmp r0, 0
|
||||
bne _08144E0C
|
||||
ldr r0, [r4, 0x18]
|
||||
bl sub_8143DC8
|
||||
adds r0, r4, 0
|
||||
movs r1, 0x13
|
||||
movs r2, 0
|
||||
bl sub_8144C00
|
||||
b _08144E60
|
||||
_08144E0C:
|
||||
adds r0, r4, 0
|
||||
movs r1, 0x13
|
||||
movs r2, 0x1
|
||||
bl sub_8144C00
|
||||
b _08144E60
|
||||
_08144E18:
|
||||
movs r0, 0x6
|
||||
b _08144E5A
|
||||
_08144E1C:
|
||||
ldr r0, [r4, 0x18]
|
||||
bl sub_8144254
|
||||
b _08144E60
|
||||
_08144E24:
|
||||
ldr r0, [r4, 0x18]
|
||||
movs r1, 0xFA
|
||||
lsls r1, 2
|
||||
bl sub_8069EA4
|
||||
b _08144E60
|
||||
_08144E30:
|
||||
ldr r0, _08144E48 @ =gSaveBlock2Ptr
|
||||
ldr r0, [r0]
|
||||
movs r1, 0x94
|
||||
lsls r1, 3
|
||||
adds r0, r1
|
||||
ldr r1, [r4, 0x18]
|
||||
movs r2, 0xBC
|
||||
bl memcpy
|
||||
bl sub_80E7490
|
||||
b _08144E60
|
||||
.align 2, 0
|
||||
_08144E48: .4byte gSaveBlock2Ptr
|
||||
_08144E4C:
|
||||
ldr r0, _08144E68 @ =gDecompressionBuffer
|
||||
ldr r1, [r4, 0x18]
|
||||
movs r2, 0x80
|
||||
lsls r2, 3
|
||||
bl memcpy
|
||||
movs r0, 0x7
|
||||
_08144E5A:
|
||||
str r0, [r4, 0x8]
|
||||
movs r0, 0
|
||||
str r0, [r4, 0xC]
|
||||
_08144E60:
|
||||
movs r0, 0x1
|
||||
_08144E62:
|
||||
pop {r4}
|
||||
pop {r1}
|
||||
bx r1
|
||||
.align 2, 0
|
||||
_08144E68: .4byte gDecompressionBuffer
|
||||
thumb_func_end sub_8144CA0
|
||||
|
||||
thumb_func_start sub_8144E6C
|
||||
sub_8144E6C: @ 8144E6C
|
||||
push {lr}
|
||||
|
||||
@@ -5,5 +5,6 @@
|
||||
|
||||
u16 sub_8164FCC(u8, u8);
|
||||
void sub_80E7524(u32 *);
|
||||
void sub_80E7490(void);
|
||||
|
||||
#endif //GUARD_BATTLE_TOWER_H
|
||||
|
||||
@@ -34,6 +34,11 @@ struct MEvent_Str_2
|
||||
};
|
||||
|
||||
struct MysteryEventStruct * sub_8143D94(void);
|
||||
bool32 sub_8143DC8(const struct MEventBuffer_3120_Sub * src);
|
||||
bool32 sub_8143E1C(void);
|
||||
bool32 sub_8143EF4(const u8 * src);
|
||||
bool32 sub_8143F68(const struct MEventBuffer_32E0_Sub * data);
|
||||
bool32 sub_8144254(const u16 * data);
|
||||
void sub_81442CC(struct MEventStruct_Unk1442CC * data);
|
||||
|
||||
#endif //GUARD_MEVENT_H
|
||||
|
||||
@@ -63,5 +63,6 @@ bool32 sub_80991F8(void);
|
||||
u8 *sub_8099244(void);
|
||||
void sub_80992A0(u8 *script, u16 scriptSize);
|
||||
bool32 sub_8069DFC(void);
|
||||
void sub_8069EA4(u8 * script, u16 scriptSize);
|
||||
|
||||
#endif // GUARD_SCRIPT_H
|
||||
|
||||
+110
-1
@@ -1,8 +1,12 @@
|
||||
#include "global.h"
|
||||
#include "malloc.h"
|
||||
#include "decompress.h"
|
||||
#include "util.h"
|
||||
#include "link.h"
|
||||
#include "link_rfu.h"
|
||||
#include "overworld.h"
|
||||
#include "script.h"
|
||||
#include "battle_tower.h"
|
||||
#include "mevent.h"
|
||||
|
||||
extern u16 gBlockRecvBuffer[][128];
|
||||
@@ -97,7 +101,7 @@ void sub_8144888(struct mevent_srv_sub * srv, u32 a1, void * a2, u32 a3)
|
||||
srv->unk_1C = a2;
|
||||
}
|
||||
|
||||
void sub_81448AC(struct mevent_srv_sub * srv, u16 a1, void * a2)
|
||||
void sub_81448AC(struct mevent_srv_sub * srv, u32 a1, void * a2)
|
||||
{
|
||||
srv->unk_00 = 0;
|
||||
srv->unk_06 = a1;
|
||||
@@ -358,3 +362,108 @@ u32 sub_8144C80(struct mevent_srv_ish * srv)
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
|
||||
u32 sub_8144CA0(struct mevent_srv_ish * srv)
|
||||
{
|
||||
u32 * r2 = (u32 *)srv->unk_1C + 2 * srv->unk_10;
|
||||
++srv->unk_10;
|
||||
switch (r2[0])
|
||||
{
|
||||
case 0:
|
||||
break;
|
||||
case 1:
|
||||
srv->unk_04 = r2[1];
|
||||
srv->unk_08 = 1;
|
||||
srv->unk_0C = 0;
|
||||
break;
|
||||
case 2:
|
||||
sub_81448AC(&srv->unk_24, r2[1], srv->unk_18);
|
||||
srv->unk_08 = 2;
|
||||
srv->unk_0C = 0;
|
||||
break;
|
||||
case 3:
|
||||
srv->unk_08 = 3;
|
||||
srv->unk_0C = 0;
|
||||
break;
|
||||
case 20:
|
||||
sub_8144888(&srv->unk_24, 0x14, srv->unk_14, 0);
|
||||
srv->unk_08 = 3;
|
||||
srv->unk_0C = 0;
|
||||
break;
|
||||
case 19:
|
||||
sub_8144C00(srv, 0x12, GetGameStat(r2[1]));
|
||||
srv->unk_08 = 3;
|
||||
srv->unk_0C = 0;
|
||||
break;
|
||||
case 6:
|
||||
if (srv->unk_04 == 0)
|
||||
sub_8144BE4(srv);
|
||||
break;
|
||||
case 7:
|
||||
if (srv->unk_04 == 1)
|
||||
sub_8144BE4(srv);
|
||||
break;
|
||||
case 4:
|
||||
sub_8144BE4(srv);
|
||||
break;
|
||||
case 5:
|
||||
memcpy(srv->unk_20, srv->unk_18, 0x40);
|
||||
srv->unk_08 = 5;
|
||||
srv->unk_0C = 0;
|
||||
return 2;
|
||||
case 11:
|
||||
memcpy(srv->unk_20, srv->unk_18, 0x40);
|
||||
srv->unk_08 = 5;
|
||||
srv->unk_0C = 0;
|
||||
return 3;
|
||||
case 12:
|
||||
memcpy(srv->unk_20, srv->unk_18, 0x40);
|
||||
srv->unk_08 = 5;
|
||||
srv->unk_0C = 0;
|
||||
return 5;
|
||||
case 13:
|
||||
srv->unk_08 = 5;
|
||||
srv->unk_0C = 0;
|
||||
return 4;
|
||||
case 8:
|
||||
sub_81442CC(srv->unk_14);
|
||||
sub_8144888(&srv->unk_24, 0x11, srv->unk_14, 0x64);
|
||||
break;
|
||||
case 14:
|
||||
sub_8144C00(srv, 0x13, srv->unk_04);
|
||||
break;
|
||||
case 10:
|
||||
sub_8143F68(srv->unk_18);
|
||||
break;
|
||||
case 9:
|
||||
if (!sub_8143EF4(srv->unk_18))
|
||||
{
|
||||
sub_8143DC8(srv->unk_18);
|
||||
sub_8144C00(srv, 0x13, 0);
|
||||
}
|
||||
else
|
||||
sub_8144C00(srv, 0x13, 1);
|
||||
break;
|
||||
case 15:
|
||||
srv->unk_08 = 6;
|
||||
srv->unk_0C = 0;
|
||||
break;
|
||||
case 16:
|
||||
sub_8144254(srv->unk_18);
|
||||
break;
|
||||
case 17:
|
||||
sub_8069EA4(srv->unk_18, 1000);
|
||||
break;
|
||||
case 18:
|
||||
memcpy(gSaveBlock2Ptr->unk_4A0, srv->unk_18, 0xbc);
|
||||
sub_80E7490();
|
||||
break;
|
||||
case 21:
|
||||
memcpy(gDecompressionBuffer, srv->unk_18, 0x400);
|
||||
srv->unk_08 = 7;
|
||||
srv->unk_0C = 0;
|
||||
break;
|
||||
}
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user