mirror of https://github.com/zeldaret/tmc.git
Match asm/non_matching/postman/sub_08060700.inc
This commit is contained in:
parent
b235f9ae3e
commit
eae5cb6521
|
@ -1,51 +0,0 @@
|
|||
.include "asm/macros.inc"
|
||||
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.syntax unified
|
||||
|
||||
.text
|
||||
|
||||
push {r4, r5, lr}
|
||||
ldr r3, _0806074C @ =gUnk_0810A918
|
||||
adds r2, r0, #0
|
||||
adds r2, #0x68
|
||||
ldrb r2, [r2]
|
||||
lsls r2, r2, #0x18
|
||||
asrs r2, r2, #0x18
|
||||
lsls r2, r2, #2
|
||||
adds r2, r2, r3
|
||||
ldr r2, [r2]
|
||||
adds r3, r0, #0
|
||||
adds r3, #0x69
|
||||
ldrb r3, [r3]
|
||||
lsls r3, r3, #0x18
|
||||
asrs r3, r3, #0x18
|
||||
adds r2, r2, r3
|
||||
movs r3, #0
|
||||
ldrsb r3, [r2, r3]
|
||||
lsls r3, r3, #2
|
||||
ldr r2, _08060750 @ =gUnk_0810A66C
|
||||
adds r3, r3, r2
|
||||
ldr r4, _08060754 @ =gRoomControls
|
||||
movs r5, #0
|
||||
ldrsh r2, [r3, r5]
|
||||
ldrh r5, [r4, #6]
|
||||
adds r2, r2, r5
|
||||
movs r5, #2
|
||||
ldrsh r3, [r3, r5]
|
||||
ldrh r4, [r4, #8]
|
||||
adds r3, r3, r4
|
||||
bl sub_0807DEDC
|
||||
ldr r2, _08060758 @ =gUnk_02033280
|
||||
ldrb r1, [r2, #7]
|
||||
movs r0, #1
|
||||
orrs r0, r1
|
||||
strb r0, [r2, #7]
|
||||
pop {r4, r5, pc}
|
||||
.align 2, 0
|
||||
_0806074C: .4byte gUnk_0810A918
|
||||
_08060750: .4byte gUnk_0810A66C
|
||||
_08060754: .4byte gRoomControls
|
||||
_08060758: .4byte gUnk_02033280
|
||||
.syntax divided
|
|
@ -4,6 +4,7 @@
|
|||
#include "npc.h"
|
||||
#include "textbox.h"
|
||||
#include "link.h"
|
||||
#include "room.h"
|
||||
#include "structures.h"
|
||||
|
||||
typedef struct {
|
||||
|
@ -34,10 +35,16 @@ extern void sub_0800451C(Entity*);
|
|||
extern void sub_08078784(Entity*, u32);
|
||||
extern void sub_0807DEDC(Entity*, u32, u32, u32);
|
||||
|
||||
typedef struct {
|
||||
s16 x;
|
||||
s16 y;
|
||||
} Coords16;
|
||||
|
||||
extern Coords16 gUnk_0810A66C[];
|
||||
extern s8* gUnk_0810A918[];
|
||||
|
||||
extern void (*const gUnk_0810AA24[])(Entity*);
|
||||
extern u32 gUnk_0810AA30[];
|
||||
extern u32** gUnk_0810A66C;
|
||||
extern u32 gUnk_0810A918[];
|
||||
extern struct_02033280 gUnk_02033280;
|
||||
|
||||
void Postman(Entity* this) {
|
||||
|
@ -208,21 +215,18 @@ void sub_080606D8(Entity* this)
|
|||
ShowNPCDialogue(this, &gUnk_0810AA30[iVar1 * 2]);
|
||||
}
|
||||
|
||||
#if 0
|
||||
void sub_08060700(Entity *arg0, u32 arg1)
|
||||
void sub_08060700(Entity *entity, u32 arg1)
|
||||
{
|
||||
sub_0807DEDC(arg0,arg1,
|
||||
gUnk_0810A918[gUnk_0810A66C[arg0->field_0x68.HALF.HI][arg0->field_0x68.HALF.LO] * 4 + gRoomControls.roomOriginX],
|
||||
gUnk_0810A918[gUnk_0810A66C[arg0->field_0x68.HALF.HI][arg0->field_0x68.HALF.LO] * 4 + gRoomControls.roomOriginY + 2]);
|
||||
gUnk_02033280.unk |= 1;
|
||||
}
|
||||
#endif
|
||||
NAKED void sub_08060700(Entity *arg0, u32 arg1) {
|
||||
asm(".include \"asm/non_matching/postman/sub_08060700.inc\"");
|
||||
s8* var0 = gUnk_0810A918[(s8)entity->field_0x68.HALF.LO];
|
||||
Coords16* coords = &gUnk_0810A66C[var0[(s8)entity->field_0x68.HALF.HI]];
|
||||
u32 x = coords->x + gRoomControls.roomOriginX;
|
||||
u32 y = coords->y + gRoomControls.roomOriginY;
|
||||
sub_0807DEDC(entity, arg1, x, y);
|
||||
gUnk_02033280.unk |= 1;
|
||||
}
|
||||
|
||||
void sub_0806075C(Entity *this)
|
||||
{
|
||||
this->field_0x68.HALF.LO = 0xb;
|
||||
this->field_0x68.HALF.HI = 0xff;
|
||||
}
|
||||
this->field_0x68.HALF.LO = 0xb;
|
||||
this->field_0x68.HALF.HI = 0xff;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue