mirror of https://github.com/zeldaret/tmc.git
define COORD_TO_TILE
This commit is contained in:
parent
0105a247b8
commit
c9ab3b9815
|
@ -1013,7 +1013,7 @@ _0803088E:
|
|||
orrs r0, r1
|
||||
strb r0, [r2]
|
||||
ldr r0, [r5, #0x7c]
|
||||
bl sub_08080840
|
||||
bl DoExitTransition
|
||||
ldr r0, _08030938 @ =gUnk_030010A0
|
||||
adds r1, r5, #0
|
||||
adds r1, #0x80
|
||||
|
|
|
@ -3266,7 +3266,7 @@ _08057D18:
|
|||
bne _08057D3A
|
||||
ldrb r0, [r4, #6]
|
||||
bl sub_0804B128
|
||||
bl sub_08080840
|
||||
bl DoExitTransition
|
||||
_08057D3A:
|
||||
adds r4, #8
|
||||
ldrh r0, [r4]
|
||||
|
@ -15569,7 +15569,7 @@ sub_0805DC70: @ 0x0805DC70
|
|||
push {lr}
|
||||
bl sub_0805E5A8
|
||||
ldr r0, _0805DC80 @ =gUnk_0813AC48
|
||||
bl sub_08080840
|
||||
bl DoExitTransition
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
_0805DC80: .4byte gUnk_0813AC48
|
||||
|
|
|
@ -2205,7 +2205,7 @@ _080717B0:
|
|||
cmp r0, #6
|
||||
bne _080717C0
|
||||
ldr r0, _080717BC @ =gUnk_0813AB58
|
||||
bl sub_08080840
|
||||
bl DoExitTransition
|
||||
b _080717CA
|
||||
.align 2, 0
|
||||
_080717BC: .4byte gUnk_0813AB58
|
||||
|
|
|
@ -806,7 +806,7 @@ _080738A2:
|
|||
lsls r0, r0, #2
|
||||
ldr r1, _080738E8 @ =gUnk_0813AD88
|
||||
adds r0, r0, r1
|
||||
bl sub_08080840
|
||||
bl DoExitTransition
|
||||
b _080738F0
|
||||
.align 2, 0
|
||||
_080738DC: .4byte gUnk_030010A0
|
||||
|
|
|
@ -7386,7 +7386,7 @@ sub_0807B2B8: @ 0x0807B2B8
|
|||
lsls r0, r0, #2
|
||||
ldr r1, _0807B2F4 @ =gUnk_0813AD88
|
||||
adds r0, r0, r1
|
||||
bl sub_08080840
|
||||
bl DoExitTransition
|
||||
_0807B2EC:
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
|
|
|
@ -7988,7 +7988,7 @@ _080806E2:
|
|||
cmp r0, #0
|
||||
beq _08080720
|
||||
adds r0, r5, #0
|
||||
bl sub_08080840
|
||||
bl DoExitTransition
|
||||
movs r0, #1
|
||||
b _0808072A
|
||||
.align 2, 0
|
||||
|
@ -8161,8 +8161,8 @@ _0808083C:
|
|||
_0808083E:
|
||||
pop {r4, r5, pc}
|
||||
|
||||
thumb_func_start sub_08080840
|
||||
sub_08080840: @ 0x08080840
|
||||
thumb_func_start DoExitTransition
|
||||
DoExitTransition: @ 0x08080840
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
ldr r0, _0808085C @ =gUnk_030010A0
|
||||
|
|
|
@ -3643,7 +3643,7 @@ sub_080A71F4: @ 0x080A71F4
|
|||
push {lr}
|
||||
cmp r0, #0
|
||||
beq _080A71FE
|
||||
bl sub_08080840
|
||||
bl DoExitTransition
|
||||
_080A71FE:
|
||||
bl sub_0805E89C
|
||||
bl sub_0805E974
|
||||
|
|
|
@ -1837,7 +1837,7 @@ sub_08034C00: @ 0x08034C00
|
|||
cmp r0, #0x3c
|
||||
bls _08034C54
|
||||
ldr r0, _08034C50 @ =gUnk_080CED88
|
||||
bl sub_08080840
|
||||
bl DoExitTransition
|
||||
b _08034C5A
|
||||
.align 2, 0
|
||||
_08034C44: .4byte gLinkState
|
||||
|
@ -1846,7 +1846,7 @@ _08034C4C: .4byte gUnk_030010A0
|
|||
_08034C50: .4byte gUnk_080CED88
|
||||
_08034C54:
|
||||
ldr r0, _08034C5C @ =gUnk_080CED9C
|
||||
bl sub_08080840
|
||||
bl DoExitTransition
|
||||
_08034C5A:
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
|
|
|
@ -400,7 +400,7 @@ sub_08034F58: @ 0x08034F58
|
|||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
ldr r0, _08034F6C @ =gUnk_0813ABA8
|
||||
bl sub_08080840
|
||||
bl DoExitTransition
|
||||
adds r0, r4, #0
|
||||
bl DeleteEntity
|
||||
pop {r4, pc}
|
||||
|
|
|
@ -100,7 +100,7 @@ _08090F1C:
|
|||
beq _08090F62
|
||||
ldrb r0, [r4, #0xe]
|
||||
bl sub_0804B128
|
||||
bl sub_08080840
|
||||
bl DoExitTransition
|
||||
_08090F62:
|
||||
pop {r4, r5, r6, pc}
|
||||
.align 2, 0
|
||||
|
|
|
@ -420,7 +420,7 @@ sub_0806E1E0: @ 0x0806E1E0
|
|||
sub_0806E1FC: @ 0x0806E1FC
|
||||
push {lr}
|
||||
ldr r0, _0806E208 @ =gUnk_0813AD4C
|
||||
bl sub_08080840
|
||||
bl DoExitTransition
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
_0806E208: .4byte gUnk_0813AD4C
|
||||
|
|
110
asm/simon.s
110
asm/simon.s
|
@ -1,110 +0,0 @@
|
|||
.include "asm/macros.inc"
|
||||
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.syntax unified
|
||||
|
||||
.text
|
||||
|
||||
thumb_func_start sub_0806C204
|
||||
sub_0806C204: @ 0x0806C204
|
||||
push {lr}
|
||||
adds r1, r0, #0
|
||||
ldrb r0, [r1, #0xc]
|
||||
cmp r0, #0
|
||||
bne _0806C21A
|
||||
adds r0, #1
|
||||
strb r0, [r1, #0xc]
|
||||
adds r0, r1, #0
|
||||
bl sub_0807DD50
|
||||
b _0806C222
|
||||
_0806C21A:
|
||||
adds r0, r1, #0
|
||||
movs r1, #0
|
||||
bl sub_0807DD94
|
||||
_0806C222:
|
||||
pop {pc}
|
||||
|
||||
thumb_func_start sub_0806C224
|
||||
sub_0806C224: @ 0x0806C224
|
||||
push {lr}
|
||||
ldr r0, _0806C234 @ =gUnk_0813AD60
|
||||
bl sub_08080840
|
||||
ldr r1, _0806C238 @ =gUnk_030010A0
|
||||
movs r0, #6
|
||||
strb r0, [r1, #9]
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
_0806C234: .4byte gUnk_0813AD60
|
||||
_0806C238: .4byte gUnk_030010A0
|
||||
|
||||
thumb_func_start sub_0806C23C
|
||||
sub_0806C23C: @ 0x0806C23C
|
||||
push {r4, r5, lr}
|
||||
adds r4, r0, #0
|
||||
movs r1, #0xf
|
||||
movs r2, #0x43
|
||||
movs r3, #0
|
||||
bl CreateObjectWithParent
|
||||
movs r0, #0x2e
|
||||
ldrsh r1, [r4, r0]
|
||||
ldr r2, _0806C27C @ =gRoomControls
|
||||
ldrh r0, [r2, #6]
|
||||
subs r1, r1, r0
|
||||
asrs r1, r1, #4
|
||||
movs r3, #0x3f
|
||||
ands r1, r3
|
||||
movs r5, #0x32
|
||||
ldrsh r0, [r4, r5]
|
||||
ldrh r2, [r2, #8]
|
||||
subs r0, r0, r2
|
||||
asrs r0, r0, #4
|
||||
ands r0, r3
|
||||
lsls r0, r0, #6
|
||||
orrs r1, r0
|
||||
adds r4, #0x38
|
||||
ldrb r2, [r4]
|
||||
movs r0, #0x73
|
||||
bl SetTileType
|
||||
movs r0, #0x73
|
||||
bl PlaySFX
|
||||
pop {r4, r5, pc}
|
||||
.align 2, 0
|
||||
_0806C27C: .4byte gRoomControls
|
||||
|
||||
thumb_func_start sub_0806C280
|
||||
sub_0806C280: @ 0x0806C280
|
||||
push {lr}
|
||||
movs r0, #0x50
|
||||
bl SetGlobalFlag
|
||||
ldr r0, _0806C298 @ =gUnk_0813AD74
|
||||
bl sub_08080840
|
||||
ldr r1, _0806C29C @ =gUnk_030010A0
|
||||
movs r0, #6
|
||||
strb r0, [r1, #9]
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
_0806C298: .4byte gUnk_0813AD74
|
||||
_0806C29C: .4byte gUnk_030010A0
|
||||
|
||||
thumb_func_start sub_0806C2A0
|
||||
sub_0806C2A0: @ 0x0806C2A0
|
||||
push {lr}
|
||||
ldr r0, [r1, #4]
|
||||
cmp r0, #0
|
||||
beq _0806C2AE
|
||||
cmp r0, #1
|
||||
beq _0806C2B8
|
||||
b _0806C2C0
|
||||
_0806C2AE:
|
||||
movs r0, #0xd
|
||||
movs r1, #4
|
||||
bl DoFade
|
||||
b _0806C2C0
|
||||
_0806C2B8:
|
||||
movs r0, #0xc
|
||||
movs r1, #4
|
||||
bl DoFade
|
||||
_0806C2C0:
|
||||
pop {pc}
|
||||
.align 2, 0
|
|
@ -3331,7 +3331,7 @@ sub_08043DB0: @ 0x08043DB0
|
|||
cmp r0, #0
|
||||
beq _08043EAC
|
||||
ldr r0, _08043E50 @ =gUnk_080D13EC
|
||||
bl sub_08080840
|
||||
bl DoExitTransition
|
||||
ldr r4, _08043E54 @ =gUnk_030010A0
|
||||
adds r0, r4, #0
|
||||
adds r0, #0x39
|
||||
|
|
|
@ -436,7 +436,7 @@ sub_0803E398: @ 0x0803E398
|
|||
bgt _0803E3C8
|
||||
bl sub_0805E5A8
|
||||
ldr r0, _0803E3D0 @ =gUnk_0813AB94
|
||||
bl sub_08080840
|
||||
bl DoExitTransition
|
||||
_0803E3C8:
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
|
|
|
@ -447,7 +447,7 @@ sub_0802A734: @ 0x0802A734
|
|||
lsls r0, r0, #2
|
||||
adds r0, r0, r1
|
||||
ldr r0, [r0]
|
||||
bl sub_08080840
|
||||
bl DoExitTransition
|
||||
b _0802A780
|
||||
.align 2, 0
|
||||
_0802A760: .4byte gUnk_0813AB1C
|
||||
|
|
|
@ -370,7 +370,7 @@ sub_0802CEF4: @ 0x0802CEF4
|
|||
lsls r0, r0, #2
|
||||
adds r0, r0, r1
|
||||
ldr r0, [r0]
|
||||
bl sub_08080840
|
||||
bl DoExitTransition
|
||||
b _0802CF5A
|
||||
.align 2, 0
|
||||
_0802CF20: .4byte gUnk_0813AB1C
|
||||
|
|
|
@ -208,7 +208,7 @@ _080A10A2:
|
|||
lsls r0, r0, #2
|
||||
ldr r1, _080A10B8 @ =gUnk_0813ADEC
|
||||
adds r0, r0, r1
|
||||
bl sub_08080840
|
||||
bl DoExitTransition
|
||||
b _080A10D4
|
||||
.align 2, 0
|
||||
_080A10B4: .4byte gRoomControls
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
#include "global.h"
|
||||
|
||||
#ifndef ENTITY_H
|
||||
#define ENTITY_H
|
||||
|
||||
#include "global.h"
|
||||
|
||||
typedef struct {
|
||||
void* entity1;
|
||||
void* entity2;
|
||||
|
@ -145,4 +145,6 @@ typedef struct Entity {
|
|||
|
||||
} Entity;
|
||||
|
||||
#define COORD_TO_TILE(entity) ((((entity->x.HALF.HI - gRoomControls.roomOriginX) >> 4) & 0x3fU) | (((entity->y.HALF.HI - gRoomControls.roomOriginY) >> 4) & 0x3fU) << 6)
|
||||
|
||||
#endif
|
||||
|
|
|
@ -533,7 +533,7 @@ SECTIONS {
|
|||
asm/drLeft.o(.text);
|
||||
asm/kingGustaf.o(.text);
|
||||
asm/gina.o(.text);
|
||||
asm/simon.o(.text);
|
||||
src/simon.o(.text);
|
||||
asm/anju.o(.text);
|
||||
asm/mama.o(.text);
|
||||
src/emma.o(.text);
|
||||
|
|
|
@ -8,7 +8,7 @@ extern u32 gUnk_0813AD38;
|
|||
extern void sub_0805E3A0(Entity*, u32);
|
||||
extern void sub_0807DD50(Entity*);
|
||||
extern void sub_0807DD94(Entity*, u32);
|
||||
extern void sub_08080840(u32*);
|
||||
extern void DoExitTransition(u32*);
|
||||
|
||||
void sub_0806C550(Entity* param_1)
|
||||
|
||||
|
@ -26,20 +26,20 @@ void sub_0806C550(Entity* param_1)
|
|||
void sub_0806C578(void)
|
||||
|
||||
{
|
||||
sub_08080840(&gUnk_0813AD10);
|
||||
DoExitTransition(&gUnk_0813AD10);
|
||||
return;
|
||||
}
|
||||
|
||||
void sub_0806C588(void)
|
||||
|
||||
{
|
||||
sub_08080840(&gUnk_0813AD24);
|
||||
DoExitTransition(&gUnk_0813AD24);
|
||||
return;
|
||||
}
|
||||
|
||||
void FUN_0806c598(void)
|
||||
|
||||
{
|
||||
sub_08080840(&gUnk_0813AD38);
|
||||
DoExitTransition(&gUnk_0813AD38);
|
||||
return;
|
||||
}
|
||||
|
|
|
@ -8,13 +8,13 @@ extern u32 gUnk_0200B650;
|
|||
extern u32 gUnk_02025EB0;
|
||||
extern u8 gUnk_030010A0[10];
|
||||
|
||||
extern void sub_08080840(Entity*);
|
||||
extern void DoExitTransition(Entity*);
|
||||
extern void sub_080809D4();
|
||||
|
||||
void sub_0808091C(Entity* param_1, u32 param_2)
|
||||
|
||||
{
|
||||
sub_08080840(param_1);
|
||||
DoExitTransition(param_1);
|
||||
gUnk_030010A0[9] = param_2;
|
||||
return;
|
||||
}
|
||||
|
|
|
@ -0,0 +1,68 @@
|
|||
#include "global.h"
|
||||
#include "entity.h"
|
||||
#include "functions.h"
|
||||
#include "room.h"
|
||||
#include "flags.h"
|
||||
|
||||
typedef struct {
|
||||
u8 filler[9];
|
||||
u8 unk;
|
||||
} struct_030010A0;
|
||||
|
||||
typedef struct {
|
||||
u8 filler[4];
|
||||
u32 unk;
|
||||
} struct_0806C2A0;
|
||||
|
||||
extern void DoExitTransition(void *);
|
||||
extern void SetTileType(u32, u32, u32);
|
||||
extern void CreateObjectWithParent(Entity*, u32, u32, u32);
|
||||
extern void DoExitTransition(void *);
|
||||
extern void DoFade(u32, u32);
|
||||
|
||||
extern void gUnk_0813AD60;
|
||||
extern void gUnk_0813AD74;
|
||||
extern struct_030010A0 gUnk_030010A0;
|
||||
|
||||
void Simon(Entity *this)
|
||||
{
|
||||
if (this->action == 0) {
|
||||
this->action++;
|
||||
sub_0807DD50(this);
|
||||
}
|
||||
else {
|
||||
sub_0807DD94(this, 0);
|
||||
}
|
||||
}
|
||||
|
||||
void sub_0806C224(void)
|
||||
{
|
||||
DoExitTransition(&gUnk_0813AD60);
|
||||
gUnk_030010A0.unk = 6;
|
||||
}
|
||||
|
||||
void Simon_CreateChest(Entity *this)
|
||||
{
|
||||
CreateObjectWithParent(this,0xf,0x43,0);
|
||||
SetTileType(0x73, COORD_TO_TILE(this), this->collisionLayer);
|
||||
PlaySFX(0x73);
|
||||
}
|
||||
|
||||
void sub_0806C280(void)
|
||||
{
|
||||
SetGlobalFlag(0x50);
|
||||
DoExitTransition(&gUnk_0813AD74);
|
||||
gUnk_030010A0.unk = 6;
|
||||
}
|
||||
|
||||
void sub_0806C2A0(u32 *param_1,struct_0806C2A0 *param_2)
|
||||
{
|
||||
switch (param_2->unk) {
|
||||
case 0:
|
||||
DoFade(0xd, 4);
|
||||
break;
|
||||
case 1:
|
||||
DoFade(0xc, 4);
|
||||
break;
|
||||
}
|
||||
}
|
|
@ -3,5 +3,10 @@
|
|||
{
|
||||
"path": ".."
|
||||
}
|
||||
]
|
||||
],
|
||||
"settings": {
|
||||
"files.associations": {
|
||||
"algorithm": "cpp"
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue