define COORD_TO_TILE

This commit is contained in:
theo3 2020-06-16 11:19:52 -07:00
parent 0105a247b8
commit c9ab3b9815
23 changed files with 105 additions and 140 deletions

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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}

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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);

View File

@ -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;
}

View File

@ -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;
}

68
src/simon.c Normal file
View File

@ -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;
}
}

View File

@ -3,5 +3,10 @@
{
"path": ".."
}
]
],
"settings": {
"files.associations": {
"algorithm": "cpp"
}
}
}