mirror of https://github.com/zeldaret/tmc.git
Match sub_08018738
This commit is contained in:
parent
dba74f4c92
commit
9730543780
|
@ -317,29 +317,3 @@ _0801872A:
|
||||||
pop {r4, r5, r6, pc}
|
pop {r4, r5, r6, pc}
|
||||||
.align 2, 0
|
.align 2, 0
|
||||||
_08018734: .4byte gUnk_080C9CBC
|
_08018734: .4byte gUnk_080C9CBC
|
||||||
|
|
||||||
thumb_func_start sub_08018738
|
|
||||||
sub_08018738: @ 0x08018738
|
|
||||||
push {r4, lr}
|
|
||||||
adds r2, r0, #0
|
|
||||||
adds r4, r1, #0
|
|
||||||
lsls r0, r4, #2
|
|
||||||
adds r0, r0, r4
|
|
||||||
lsls r0, r0, #2
|
|
||||||
ldr r1, _08018764 @ =gUnk_080FE320
|
|
||||||
adds r0, r0, r1
|
|
||||||
ldr r1, _08018768 @ =gRoomControls
|
|
||||||
ldrh r0, [r0, #2]
|
|
||||||
ldrh r1, [r1, #4]
|
|
||||||
cmp r0, r1
|
|
||||||
bne _08018760
|
|
||||||
adds r0, r2, #0
|
|
||||||
bl CheckKinstoneFused
|
|
||||||
adds r1, r0, #0
|
|
||||||
adds r0, r4, #0
|
|
||||||
bl sub_0801876C
|
|
||||||
_08018760:
|
|
||||||
pop {r4, pc}
|
|
||||||
.align 2, 0
|
|
||||||
_08018764: .4byte gUnk_080FE320
|
|
||||||
_08018768: .4byte gRoomControls
|
|
||||||
|
|
|
@ -20,8 +20,8 @@ extern Input gInput; /**< Input instance. */
|
||||||
typedef struct {
|
typedef struct {
|
||||||
u8 evt_type;
|
u8 evt_type;
|
||||||
u8 entity_idx;
|
u8 entity_idx;
|
||||||
u8 _2;
|
u8 area;
|
||||||
u8 _3;
|
u8 room;
|
||||||
u16 _4;
|
u16 _4;
|
||||||
u16 _6;
|
u16 _6;
|
||||||
u16 x;
|
u16 x;
|
||||||
|
|
12
src/game.c
12
src/game.c
|
@ -2682,22 +2682,22 @@ void sub_08054968(void) {
|
||||||
|
|
||||||
void sub_08054974(s32 param_1, s32 param_2) {
|
void sub_08054974(s32 param_1, s32 param_2) {
|
||||||
struct_080FE320* ptr = &gUnk_080FE320[param_1];
|
struct_080FE320* ptr = &gUnk_080FE320[param_1];
|
||||||
SetCurrentRoomPropertyList(ptr->_2, ptr->_3);
|
SetCurrentRoomPropertyList(ptr->area, ptr->room);
|
||||||
gRoomControls.area = ptr->_2;
|
gRoomControls.area = ptr->area;
|
||||||
gRoomControls.room = ptr->_3;
|
gRoomControls.room = ptr->room;
|
||||||
LoadGfxGroups();
|
LoadGfxGroups();
|
||||||
gArea.localFlagOffset = GetFlagBankOffset(gRoomControls.area);
|
gArea.localFlagOffset = GetFlagBankOffset(gRoomControls.area);
|
||||||
if (param_2 != 0) {
|
if (param_2 != 0) {
|
||||||
LoadAuxiliaryRoom(ptr->_2, ptr->_3);
|
LoadAuxiliaryRoom(ptr->area, ptr->room);
|
||||||
} else {
|
} else {
|
||||||
sub_08052FF4(ptr->_2, ptr->_3);
|
sub_08052FF4(ptr->area, ptr->room);
|
||||||
InitializeCamera();
|
InitializeCamera();
|
||||||
gUpdateVisibleTiles = 1;
|
gUpdateVisibleTiles = 1;
|
||||||
}
|
}
|
||||||
gScreen.lcd.displayControl &= 0x1fff;
|
gScreen.lcd.displayControl &= 0x1fff;
|
||||||
gRoomControls.scroll_x = gRoomControls.origin_x + ptr->_4;
|
gRoomControls.scroll_x = gRoomControls.origin_x + ptr->_4;
|
||||||
gRoomControls.scroll_y = gRoomControls.origin_y + ptr->_6;
|
gRoomControls.scroll_y = gRoomControls.origin_y + ptr->_6;
|
||||||
if (ptr->_2 == 2) {
|
if (ptr->area == AREA_HYRULE_TOWN) {
|
||||||
TryLoadPrologueHyruleTown();
|
TryLoadPrologueHyruleTown();
|
||||||
}
|
}
|
||||||
sub_08018710(gUI.field_0x3);
|
sub_08018710(gUI.field_0x3);
|
||||||
|
|
|
@ -22,6 +22,15 @@ void sub_08018BB4(int);
|
||||||
void sub_08018A58(int);
|
void sub_08018A58(int);
|
||||||
void sub_08018B50(int);
|
void sub_08018B50(int);
|
||||||
void sub_080189EC(int);
|
void sub_080189EC(int);
|
||||||
|
void sub_0801876C(int, int);
|
||||||
|
|
||||||
|
void sub_08018738(u32 param_1, int param_2) {
|
||||||
|
struct_080FE320* ptr = &gUnk_080FE320[param_2];
|
||||||
|
|
||||||
|
if (ptr->area == gRoomControls.area && ptr->room == gRoomControls.room) {
|
||||||
|
sub_0801876C(param_2, CheckKinstoneFused(param_1));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void sub_0801876C(int param_1, int param_2) {
|
void sub_0801876C(int param_1, int param_2) {
|
||||||
Entity* roomEnt;
|
Entity* roomEnt;
|
||||||
|
|
Loading…
Reference in New Issue