start decomping rfu_union_tool
This commit is contained in:
+4
-129
@@ -5,133 +5,8 @@
|
||||
|
||||
.text
|
||||
|
||||
thumb_func_start is_walking_or_running
|
||||
is_walking_or_running: @ 811B504
|
||||
push {lr}
|
||||
ldr r0, _0811B518 @ =gPlayerAvatar
|
||||
ldrb r0, [r0, 0x3]
|
||||
cmp r0, 0x2
|
||||
beq _0811B512
|
||||
cmp r0, 0
|
||||
bne _0811B51C
|
||||
_0811B512:
|
||||
movs r0, 0x1
|
||||
b _0811B51E
|
||||
.align 2, 0
|
||||
_0811B518: .4byte gPlayerAvatar
|
||||
_0811B51C:
|
||||
movs r0, 0
|
||||
_0811B51E:
|
||||
pop {r1}
|
||||
bx r1
|
||||
thumb_func_end is_walking_or_running
|
||||
|
||||
thumb_func_start sub_811B524
|
||||
sub_811B524: @ 811B524
|
||||
ldr r3, _0811B538 @ =gUnknown_84570D8
|
||||
movs r2, 0x7
|
||||
ands r2, r1
|
||||
lsls r1, r0, 2
|
||||
adds r1, r0
|
||||
lsls r1, 1
|
||||
adds r2, r1
|
||||
adds r2, r3
|
||||
ldrb r0, [r2]
|
||||
bx lr
|
||||
.align 2, 0
|
||||
_0811B538: .4byte gUnknown_84570D8
|
||||
thumb_func_end sub_811B524
|
||||
|
||||
thumb_func_start sub_811B53C
|
||||
sub_811B53C: @ 811B53C
|
||||
push {r4-r6,lr}
|
||||
mov r6, r8
|
||||
push {r6}
|
||||
ldr r4, _0811B584 @ =gUnknown_84570EC
|
||||
mov r8, r4
|
||||
lsls r0, 2
|
||||
adds r4, r0, r4
|
||||
movs r6, 0
|
||||
ldrsh r5, [r4, r6]
|
||||
ldr r6, _0811B588 @ =gUnknown_845710C
|
||||
lsls r1, 1
|
||||
adds r4, r1, r6
|
||||
ldrb r4, [r4]
|
||||
lsls r4, 24
|
||||
asrs r4, 24
|
||||
adds r5, r4
|
||||
adds r5, 0x7
|
||||
str r5, [r2]
|
||||
movs r2, 0x2
|
||||
add r8, r2
|
||||
add r0, r8
|
||||
movs r4, 0
|
||||
ldrsh r0, [r0, r4]
|
||||
adds r6, 0x1
|
||||
adds r1, r6
|
||||
ldrb r1, [r1]
|
||||
lsls r1, 24
|
||||
asrs r1, 24
|
||||
adds r0, r1
|
||||
adds r0, 0x7
|
||||
str r0, [r3]
|
||||
pop {r3}
|
||||
mov r8, r3
|
||||
pop {r4-r6}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_0811B584: .4byte gUnknown_84570EC
|
||||
_0811B588: .4byte gUnknown_845710C
|
||||
thumb_func_end sub_811B53C
|
||||
|
||||
thumb_func_start sub_811B58C
|
||||
sub_811B58C: @ 811B58C
|
||||
push {r4-r7,lr}
|
||||
mov r12, r3
|
||||
ldr r7, _0811B5CC @ =gUnknown_84570EC
|
||||
lsls r5, r0, 2
|
||||
adds r0, r5, r7
|
||||
movs r4, 0
|
||||
ldrsh r3, [r0, r4]
|
||||
ldr r6, _0811B5D0 @ =gUnknown_845710C
|
||||
lsls r4, r1, 1
|
||||
adds r0, r4, r6
|
||||
ldrb r0, [r0]
|
||||
lsls r0, 24
|
||||
asrs r0, 24
|
||||
adds r3, r0
|
||||
adds r3, 0x7
|
||||
cmp r3, r2
|
||||
bne _0811B5D4
|
||||
adds r0, r7, 0x2
|
||||
adds r0, r5, r0
|
||||
movs r2, 0
|
||||
ldrsh r1, [r0, r2]
|
||||
adds r0, r6, 0x1
|
||||
adds r0, r4, r0
|
||||
ldrb r0, [r0]
|
||||
lsls r0, 24
|
||||
asrs r0, 24
|
||||
adds r1, r0
|
||||
adds r1, 0x7
|
||||
cmp r1, r12
|
||||
bne _0811B5D4
|
||||
movs r0, 0x1
|
||||
b _0811B5D6
|
||||
.align 2, 0
|
||||
_0811B5CC: .4byte gUnknown_84570EC
|
||||
_0811B5D0: .4byte gUnknown_845710C
|
||||
_0811B5D4:
|
||||
movs r0, 0
|
||||
_0811B5D6:
|
||||
pop {r4-r7}
|
||||
pop {r1}
|
||||
bx r1
|
||||
thumb_func_end sub_811B58C
|
||||
|
||||
thumb_func_start sub_811B5DC
|
||||
sub_811B5DC: @ 811B5DC
|
||||
thumb_func_start IsUnionRoomPlayerHidden
|
||||
IsUnionRoomPlayerHidden: @ 811B5DC
|
||||
push {lr}
|
||||
adds r0, 0x63
|
||||
lsls r0, 16
|
||||
@@ -141,7 +16,7 @@ sub_811B5DC: @ 811B5DC
|
||||
lsrs r0, 24
|
||||
pop {r1}
|
||||
bx r1
|
||||
thumb_func_end sub_811B5DC
|
||||
thumb_func_end IsUnionRoomPlayerHidden
|
||||
|
||||
thumb_func_start sub_811B5F0
|
||||
sub_811B5F0: @ 811B5F0
|
||||
@@ -757,7 +632,7 @@ sub_811BA78: @ 811BA78
|
||||
movs r4, 0
|
||||
_0811BA7C:
|
||||
adds r0, r4, 0
|
||||
bl sub_811B5DC
|
||||
bl IsUnionRoomPlayerHidden
|
||||
cmp r0, 0
|
||||
bne _0811BA92
|
||||
adds r0, r4, 0
|
||||
|
||||
@@ -6,36 +6,6 @@
|
||||
.section .rodata
|
||||
.align 2
|
||||
|
||||
gUnknown_84570D8:: @ 84570D8
|
||||
.byte 0x29, 0x36, 0x27, 0x12, 0x13, 0x14, 0x19, 0x1A, 0x00, 0x00, 0x2A, 0x3A, 0x28, 0x16, 0x17, 0x18, 0x1C, 0x1D, 0x00, 0x00
|
||||
|
||||
gUnknown_84570EC:: @ 84570EC
|
||||
.2byte 0x0004
|
||||
.2byte 0x0006
|
||||
.2byte 0x000D
|
||||
.2byte 0x0008
|
||||
.2byte 0x000A
|
||||
.2byte 0x0006
|
||||
.2byte 0x0001
|
||||
.2byte 0x0008
|
||||
.2byte 0x000D
|
||||
.2byte 0x0004
|
||||
.2byte 0x0007
|
||||
.2byte 0x0004
|
||||
.2byte 0x0001
|
||||
.2byte 0x0004
|
||||
.2byte 0x0007
|
||||
.2byte 0x0008
|
||||
|
||||
gUnknown_845710C:: @ 845710C
|
||||
.byte 0x00, 0x00, 0x01, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x01
|
||||
|
||||
gUnknown_8457116:: @ 8457116
|
||||
.byte 0x00, 0x02, 0x01, 0x04, 0x03
|
||||
|
||||
gUnknown_845711B:: @ 845711B
|
||||
.byte 0x01, 0x03, 0x01, 0x04, 0x02
|
||||
|
||||
gUnknown_8457120:: @ 8457120
|
||||
.byte 0x09, 0x08, 0x07, 0x02, 0x06, 0x05, 0x04, 0x03, 0x63, 0x00, 0x64, 0x00, 0x65, 0x00, 0x66, 0x00, 0x67, 0x00, 0x68, 0x00, 0x69, 0x00, 0x6A, 0x00
|
||||
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
#ifndef GUARD_UNION_ROOM_PLAYER_AVATAR_H
|
||||
#define GUARD_UNION_ROOM_PLAYER_AVATAR_H
|
||||
|
||||
#include "union_room.h"
|
||||
|
||||
void sub_811C1C8(void);
|
||||
void sub_811BAAC(u8 *spriteIds, s32 arg1);
|
||||
void sub_811BB40(u8 *spriteIds);
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
#define GUARD_UNION_ROOM_H
|
||||
|
||||
#include "global.h"
|
||||
#include "librfu.h"
|
||||
#include "link_rfu.h"
|
||||
|
||||
struct UnkStruct_Shared
|
||||
{
|
||||
|
||||
@@ -242,6 +242,7 @@ SECTIONS {
|
||||
src/menu.o(.text);
|
||||
src/quest_log.o(.text);
|
||||
src/union_room.o(.text);
|
||||
src/rfu_union_tool.o(.text);
|
||||
asm/rfu_union_tool.o(.text);
|
||||
asm/pokemon_special_anim.o(.text);
|
||||
src/party_menu.o(.text);
|
||||
@@ -528,6 +529,7 @@ SECTIONS {
|
||||
src/menu.o(.rodata);
|
||||
src/quest_log.o(.rodata);
|
||||
src/union_room.o(.rodata);
|
||||
src/rfu_union_tool.o(.rodata);
|
||||
data/rfu_union_tool.o(.rodata);
|
||||
data/union_room_message.o(.rodata);
|
||||
data/pokemon_special_anim.o(.rodata);
|
||||
|
||||
@@ -0,0 +1,80 @@
|
||||
#include "global.h"
|
||||
#include "event_data.h"
|
||||
#include "rfu_union_tool.h"
|
||||
#include "constants/flags.h"
|
||||
|
||||
const u8 gUnknown_84570D8[][10] = {
|
||||
{0x29, 0x36, 0x27, 0x12, 0x13, 0x14, 0x19, 0x1A},
|
||||
{0x2A, 0x3A, 0x28, 0x16, 0x17, 0x18, 0x1C, 0x1D}
|
||||
};
|
||||
|
||||
const s16 gUnknown_84570EC[][2] = {
|
||||
{0x4, 0x6},
|
||||
{0xd, 0x8},
|
||||
{0xa, 0x6},
|
||||
{0x1, 0x8},
|
||||
{0xd, 0x4},
|
||||
{0x7, 0x4},
|
||||
{0x1, 0x4},
|
||||
{0x7, 0x8}
|
||||
};
|
||||
|
||||
const s8 gUnknown_845710C[][2] = {
|
||||
{ 0, 0},
|
||||
{ 1, 0},
|
||||
{ 0, -1},
|
||||
{-1, 0},
|
||||
{ 0, 1}
|
||||
};
|
||||
|
||||
const u8 gUnknown_8457116[] = {
|
||||
0x00, 0x02, 0x01, 0x04, 0x03
|
||||
};
|
||||
|
||||
const u8 gUnknown_845711B[] = {
|
||||
0x01, 0x03, 0x01, 0x04, 0x02
|
||||
};
|
||||
|
||||
bool32 is_walking_or_running(void)
|
||||
{
|
||||
if (gPlayerAvatar.tileTransitionState == 2 || gPlayerAvatar.tileTransitionState == 0)
|
||||
{
|
||||
return TRUE;
|
||||
}
|
||||
else
|
||||
{
|
||||
return FALSE;
|
||||
}
|
||||
}
|
||||
|
||||
u8 sub_811B524(u32 a0, u32 a1)
|
||||
{
|
||||
return gUnknown_84570D8[a0][a1 % 8];
|
||||
}
|
||||
|
||||
void sub_811B53C(u32 a0, u32 a1, s32 * a2, s32 * a3)
|
||||
{
|
||||
*a2 = gUnknown_84570EC[a0][0] + gUnknown_845710C[a1][0] + 7;
|
||||
*a3 = gUnknown_84570EC[a0][1] + gUnknown_845710C[a1][1] + 7;
|
||||
}
|
||||
|
||||
bool32 sub_811B58C(u32 a0, u32 a1, s32 a2, s32 a3)
|
||||
{
|
||||
if (gUnknown_84570EC[a0][0] + gUnknown_845710C[a1][0] + 7 != a2)
|
||||
{
|
||||
return FALSE;
|
||||
}
|
||||
else if (gUnknown_84570EC[a0][1] + gUnknown_845710C[a1][1] + 7 != a3)
|
||||
{
|
||||
return FALSE;
|
||||
}
|
||||
else
|
||||
{
|
||||
return TRUE;
|
||||
}
|
||||
}
|
||||
//
|
||||
//bool32 IsUnionRoomPlayerHidden(u32 player_idx)
|
||||
//{
|
||||
// return FlagGet(FLAG_HIDE_UNION_ROOM_PLAYER_1 + player_idx);
|
||||
//}
|
||||
Reference in New Issue
Block a user