mirror of
https://github.com/zeldaret/tmc
synced 2026-07-11 15:28:41 -04:00
rename files
This commit is contained in:
@@ -0,0 +1,72 @@
|
||||
#include "global.h"
|
||||
#include "structures.h"
|
||||
#include "main.h"
|
||||
#include "room.h"
|
||||
#include "screen.h"
|
||||
|
||||
extern u32 gFrameObjLists[];
|
||||
|
||||
extern void gUnk_03006164(void);
|
||||
extern void gUnk_0300659C(OAMCommand*, void*);
|
||||
extern void gUnk_03006580(OAMCommand*, u32, u32);
|
||||
|
||||
// regalloc
|
||||
NONMATCH("asm/non_matching/vram/sub_080AD8F0.inc", void* sub_080AD8F0(u32 sprite, u32 frame)) {
|
||||
u32 x = gFrameObjLists[sprite];
|
||||
u8* y = (u8*)&gFrameObjLists[frame];
|
||||
u32 tmp = *(u32*)&y[x];
|
||||
|
||||
return (u8*)gFrameObjLists + tmp;
|
||||
}
|
||||
END_NONMATCH
|
||||
|
||||
void FlushSprites(void) {
|
||||
gUnk_03000000.updated = 0;
|
||||
}
|
||||
|
||||
NONMATCH("asm/non_matching/vram/sub_080AD918.inc", void sub_080AD918(void)) {
|
||||
s32 rem;
|
||||
u16* d;
|
||||
|
||||
if (gMain.ticks.HALF.LO == 0) {
|
||||
gUnk_03000000.unk[0x20].unk0 = gMain.ticks.HALF.LO;
|
||||
gUnk_03000000.unk[0x48].unk4 = gMain.ticks.HALF.LO;
|
||||
gUnk_03000000.unk[0x71].unk0 = gMain.ticks.HALF.LO;
|
||||
gUnk_03000000.unk[0x99].unk4 = gMain.ticks.HALF.LO;
|
||||
} else {
|
||||
gMain.ticks.HALF.LO--;
|
||||
}
|
||||
|
||||
rem = 0x80 - gUnk_03000000.updated;
|
||||
for (d = (u16*)&gUnk_03000000.oam[0x80 + gUnk_03000000.updated]; rem > 0; rem--) {
|
||||
*d = 0x2A0;
|
||||
(u8*)d += 6;
|
||||
}
|
||||
if (gUnk_03000000.unk[0].unk7) {
|
||||
gUnk_03000000.unk[0].unk7 = 0;
|
||||
ObjAffineSet((struct ObjAffineSrcData*)gUnk_03000000.unk, &gUnk_03000000.oam[0].affineParam, 32, 8);
|
||||
}
|
||||
gUnk_03000000.field_0x0 = 1;
|
||||
}
|
||||
END_NONMATCH
|
||||
|
||||
void sub_080AD9B0(void) {
|
||||
void (*fn)(void);
|
||||
|
||||
gUnk_03000000._0[6] = gScreenTransition.field_0x2c[3] ? 15 : 0;
|
||||
gUnk_03000000._4 = gRoomControls.aff_x + gRoomControls.roomScrollX;
|
||||
gUnk_03000000._6 = gRoomControls.aff_y + gRoomControls.roomScrollY;
|
||||
gUnk_03000000.field_0x1++;
|
||||
fn = &gUnk_03006164;
|
||||
fn();
|
||||
}
|
||||
|
||||
void sub_080ADA04(OAMCommand* cmd, void* dst) {
|
||||
void (*fn)(OAMCommand*, void*) = gUnk_0300659C;
|
||||
fn(cmd, dst);
|
||||
}
|
||||
|
||||
void sub_080ADA14(u32 a1, u32 a2) {
|
||||
void (*fn)(OAMCommand*, u32, u32) = gUnk_03006580;
|
||||
fn(&gOamCmd, a1, a2);
|
||||
}
|
||||
+3
-18
@@ -1,25 +1,10 @@
|
||||
#include "entity.h"
|
||||
#include "player.h"
|
||||
|
||||
typedef struct {
|
||||
u16 unk0;
|
||||
u16 unk2;
|
||||
u16 unk4;
|
||||
u8 unk6;
|
||||
u8 unk7;
|
||||
} VStruct;
|
||||
|
||||
typedef struct {
|
||||
u8 _0[0x20];
|
||||
struct OamData oam[0x80];
|
||||
VStruct unk[0x100];
|
||||
} UStruct;
|
||||
|
||||
extern UStruct gUnk_03000000;
|
||||
#include "structures.h"
|
||||
|
||||
bool32 sub_0805EC04(Entity* this) {
|
||||
u32 i = 1;
|
||||
UStruct* temp = &gUnk_03000000;
|
||||
OAMSettings* temp = &gUnk_03000000;
|
||||
u32 j = 1;
|
||||
for (; i < 0x20; i++) {
|
||||
if (temp->unk[i].unk6 == 0) {
|
||||
@@ -34,7 +19,7 @@ bool32 sub_0805EC04(Entity* this) {
|
||||
|
||||
void sub_0805EC60(Entity* this) {
|
||||
u8 temp;
|
||||
UStruct* temp2;
|
||||
OAMSettings* temp2;
|
||||
|
||||
if (this->spriteRendering.b0 != 0) {
|
||||
this->spriteRendering.b0 = 0;
|
||||
|
||||
@@ -1,131 +0,0 @@
|
||||
#include "global.h"
|
||||
#include "entity.h"
|
||||
#include "structures.h"
|
||||
#include "functions.h"
|
||||
#include "game.h"
|
||||
|
||||
extern void sub_08080BC4(void);
|
||||
|
||||
extern u32 gUnk_0200B650;
|
||||
extern u32 gUnk_02025EB0;
|
||||
extern u8 gUpdateVisibleTiles;
|
||||
|
||||
void sub_080808D8(void) {
|
||||
gScreenTransition.transitionType = TRANSITION_DEFAULT;
|
||||
}
|
||||
|
||||
void sub_080808E4(void) {
|
||||
if (sub_08052638(gScreenTransition.player_status.area_next)) {
|
||||
gScreenTransition.transitionType = TRANSITION_DEFAULT;
|
||||
} else {
|
||||
gScreenTransition.transitionType = TRANSITION_FADE_BLACK;
|
||||
}
|
||||
}
|
||||
|
||||
void sub_08080904(void) {
|
||||
gScreenTransition.transitionType = TRANSITION_CUT;
|
||||
}
|
||||
|
||||
void sub_08080910(void) {
|
||||
gScreenTransition.transitionType = TRANSITION_CUT;
|
||||
}
|
||||
|
||||
void sub_0808091C(ScreenTransitionData* param_1, u32 param_2) {
|
||||
DoExitTransition(param_1);
|
||||
gScreenTransition.transitionType = param_2;
|
||||
}
|
||||
|
||||
void sub_08080930(void)
|
||||
|
||||
{
|
||||
gRoomControls.unk3 = 5;
|
||||
gRoomControls.unk4 = 0;
|
||||
gRoomControls.unk2 = 2;
|
||||
gRoomControls.unk_10 = 0;
|
||||
SetInitializationPriority();
|
||||
}
|
||||
|
||||
u32* GetLayerByIndex(u32 param_1) {
|
||||
|
||||
if (param_1 == 2) {
|
||||
return &gUnk_0200B650;
|
||||
} else {
|
||||
return &gUnk_02025EB0;
|
||||
}
|
||||
}
|
||||
|
||||
void InitScreenShake(u32 time, u32 magnitude) {
|
||||
gRoomControls.screenShakeTime = time;
|
||||
gRoomControls.screenShakeMagnitude = magnitude & 7;
|
||||
}
|
||||
|
||||
void sub_08080974(u32 arg0, u32 arg1) {
|
||||
u32 var0, var1;
|
||||
RoomControls* roomControls = &gRoomControls;
|
||||
|
||||
var0 = roomControls->roomOriginX;
|
||||
if (arg0 <= var0 + 120) {
|
||||
roomControls->roomScrollX = var0;
|
||||
} else {
|
||||
var0 += roomControls->width;
|
||||
var1 = var0 - 120;
|
||||
if (arg0 < var1) {
|
||||
var1 = arg0;
|
||||
}
|
||||
roomControls->roomScrollX = var1 - 120;
|
||||
}
|
||||
|
||||
var0 = roomControls->roomOriginY;
|
||||
if (arg1 <= var0 + 80) {
|
||||
roomControls->roomScrollY = var0;
|
||||
} else {
|
||||
var0 += roomControls->height;
|
||||
var1 = var0 - 80;
|
||||
if (arg1 < var1) {
|
||||
var1 = arg1;
|
||||
}
|
||||
roomControls->roomScrollY = var1 - 80;
|
||||
}
|
||||
|
||||
sub_080809D4();
|
||||
gUpdateVisibleTiles = 1;
|
||||
}
|
||||
|
||||
void sub_080809D4(void) {
|
||||
register Entity* target asm("r4");
|
||||
int x, y;
|
||||
int var1, var0;
|
||||
RoomControls* roomControls = &gRoomControls;
|
||||
roomControls->scroll_flags &= ~4;
|
||||
|
||||
target = roomControls->cameraTarget;
|
||||
x = target->x.HALF.HI;
|
||||
var0 = roomControls->roomOriginX;
|
||||
if (x <= var0 + 120) {
|
||||
roomControls->roomScrollX = var0;
|
||||
} else {
|
||||
var0 += roomControls->width;
|
||||
var1 = var0 - 120;
|
||||
if (x < var1) {
|
||||
var1 = (u16)target->x.HALF.HI;
|
||||
}
|
||||
roomControls->roomScrollX = var1 - 120;
|
||||
}
|
||||
|
||||
target = roomControls->cameraTarget;
|
||||
y = target->y.HALF.HI;
|
||||
var0 = roomControls->roomOriginY;
|
||||
if (y <= var0 + 80) {
|
||||
roomControls->roomScrollY = var0;
|
||||
} else {
|
||||
var0 += roomControls->height;
|
||||
var1 = var0 - 80;
|
||||
if (y < var1) {
|
||||
var1 = (u16)target->y.HALF.HI;
|
||||
}
|
||||
roomControls->roomScrollY = var1 - 80;
|
||||
}
|
||||
|
||||
sub_08080BC4();
|
||||
gUpdateVisibleTiles = 1;
|
||||
}
|
||||
+9
-2
@@ -1,5 +1,12 @@
|
||||
#include "global.h"
|
||||
#include "entity.h"
|
||||
#include "enemy.h"
|
||||
|
||||
void sub_0804AA30(Entity* entity, void (*fntable[])()) {
|
||||
u32 idx;
|
||||
entity->bitfield &= ~0x80;
|
||||
idx = GetNextFunction(entity);
|
||||
entity->bitfield |= 0x80;
|
||||
fntable[idx](entity);
|
||||
}
|
||||
|
||||
Entity* CreateEnemy(u32 subtype, u32 form) {
|
||||
Entity* enemy;
|
||||
|
||||
+3
-4
@@ -220,7 +220,6 @@ void UpdateManagers() {
|
||||
}
|
||||
|
||||
void EraseAllEntities() {
|
||||
extern u8 gUnk_03000000[];
|
||||
DeleteAllEntities();
|
||||
MemClear(&gPriorityHandler, 12);
|
||||
MemClear(&gPlayerEntity, 10880);
|
||||
@@ -228,9 +227,9 @@ void EraseAllEntities() {
|
||||
sub_0805E98C();
|
||||
gEntCount = 0;
|
||||
gManagerCount = 0;
|
||||
gUnk_03000000[0x427] = 1;
|
||||
gUnk_03000000[0x426] = 1;
|
||||
gUnk_03000000[0x42e] = 1;
|
||||
gUnk_03000000.unk[0].unk7 = 1;
|
||||
gUnk_03000000.unk[0].unk6 = 1;
|
||||
gUnk_03000000.unk[1].unk6 = 1;
|
||||
}
|
||||
|
||||
ASM_FUNC("./asm/getEmptyEntity.s", Entity* GetEmptyEntity());
|
||||
|
||||
+1
-7
@@ -1,15 +1,9 @@
|
||||
#include "global.h"
|
||||
#include "structures.h"
|
||||
#include "functions.h"
|
||||
#include "screen.h"
|
||||
#include "utils.h"
|
||||
|
||||
typedef struct {
|
||||
u8 field_0x0;
|
||||
u8 field_0x1;
|
||||
u8 spritesOffset;
|
||||
} struct_03000000;
|
||||
extern struct_03000000 gUnk_03000000;
|
||||
|
||||
static u32 sub_080501C0(FadeControl* ctl);
|
||||
static u32 sub_08050230(FadeControl* ctl);
|
||||
static u32 sub_080502A4(FadeControl* ctl);
|
||||
|
||||
+2
-8
@@ -42,12 +42,6 @@ extern void sub_08077FEC(u32);
|
||||
|
||||
void gIntrMain(void);
|
||||
|
||||
struct {
|
||||
u8 update;
|
||||
u8 _0[0x1c];
|
||||
struct OamData oam[0x80];
|
||||
} extern gUnk_03000000;
|
||||
|
||||
struct {
|
||||
u8 ready;
|
||||
u16* src;
|
||||
@@ -105,8 +99,8 @@ void sub_08016BF8(void) {
|
||||
}
|
||||
|
||||
void UpdateDisplayControls(void) {
|
||||
if (gUnk_03000000.update && (gScreen.lcd.displayControl & DISPCNT_OBJ_ON)) {
|
||||
gUnk_03000000.update = 0;
|
||||
if (gUnk_03000000.field_0x0 && (gScreen.lcd.displayControl & DISPCNT_OBJ_ON)) {
|
||||
gUnk_03000000.field_0x0 = 0;
|
||||
DmaCopy32(3, &gUnk_03000000.oam, OAM, OAM_SIZE);
|
||||
}
|
||||
sub_08016CA8(&gScreen.bg0);
|
||||
|
||||
+1
-1
@@ -80,7 +80,7 @@ void AgbMain(void) {
|
||||
}
|
||||
}
|
||||
|
||||
gMain.ticks++;
|
||||
gMain.ticks.HWORD++;
|
||||
sScreenHandlers[gMain.screen]();
|
||||
MessageMain();
|
||||
FadeMain();
|
||||
|
||||
@@ -179,7 +179,7 @@ void sub_0805A1D8(Manager14* this) {
|
||||
gScreen.bg3.yOffset = gRoomControls.bg3OffsetY.HALF.HI;
|
||||
if (gScreen.lcd.displayControl & DISPCNT_BG3_ON) {
|
||||
sub_0805A114(6, this->unk_20 >> 1);
|
||||
if (this->unk_22 == 0 && (gMain.ticks & 0x1F) == 0) {
|
||||
if (this->unk_22 == 0 && (gMain.ticks.HWORD & 0x1F) == 0) {
|
||||
this->unk_24++;
|
||||
this->unk_24 &= 3;
|
||||
gScreen.controls.alphaBlend = gUnk_0810859A[this->unk_24];
|
||||
|
||||
@@ -807,3 +807,11 @@ NONMATCH("asm/non_matching/textbox/sub_08056FEC.inc", u32 sub_08056FEC(u32 this,
|
||||
return iVar4;
|
||||
}
|
||||
END_NONMATCH
|
||||
|
||||
void sub_08057044(u32 a1, u32* a2, u32 a3) {
|
||||
u32 z[2];
|
||||
u32 tmp = sub_08056FEC(a1, (u8*)z);
|
||||
u32 first = z[0];
|
||||
first <<= 8 * (3 - tmp);
|
||||
*a2 = first | a3;
|
||||
}
|
||||
|
||||
@@ -10,6 +10,36 @@ extern const Hitbox* const gObjectHitboxes[];
|
||||
|
||||
u32 LoadObjectSprite(Entity* this, s32 type, const ObjectDefinition* definition);
|
||||
extern const ObjectDefinition gObjectDefinitions[];
|
||||
extern Entity* sub_0805E744(void);
|
||||
|
||||
Entity* sub_080A276C(Entity* parent, u32 type, u32 type2) {
|
||||
Entity* e = sub_0805E744();
|
||||
if (e != NULL) {
|
||||
e->id = 0xC1;
|
||||
e->kind = 6;
|
||||
e->type = type;
|
||||
e->type2 = type2;
|
||||
e->parent = parent;
|
||||
AppendEntityToList(e, 6);
|
||||
PrependEntityToList(e, 6);
|
||||
CopyPosition(&gPlayerEntity, e);
|
||||
gPriorityHandler.sys_priority = 6;
|
||||
gUnk_02034490[0] = 1;
|
||||
e->field_0x68.HALF.HI = gPlayerEntity.flags;
|
||||
e->field_0x68.HALF.LO = gPlayerEntity.spriteSettings.draw;
|
||||
e->field_0x6a.HALF.LO = gPlayerEntity.iframes;
|
||||
e->field_0x6a.HALF.HI = gPlayerState.field_0x7;
|
||||
e->field_0x6c.HALF.LO = gPlayerState.keepFacing;
|
||||
e->field_0x6c.HALF.HI = gPlayerState.field_0xa;
|
||||
e->field_0x6e.HALF.LO = gPlayerState.field_0x27[0];
|
||||
e->field_0x6e.HALF.HI = gPlayerState.field_0x1a[0];
|
||||
e->field_0x70.WORD = gPlayerState.flags;
|
||||
e->field_0x74.HALF.LO = gPlayerState.field_0x82[8];
|
||||
gPlayerEntity.flags &= ~ENT_COLLIDE;
|
||||
gPlayerEntity.spriteSettings.draw = 0;
|
||||
}
|
||||
return e;
|
||||
}
|
||||
|
||||
void ObjectInit(Entity* this) {
|
||||
const ObjectDefinition* definition = &gObjectDefinitions[this->id];
|
||||
|
||||
@@ -1,10 +1,16 @@
|
||||
#include "entity.h"
|
||||
#include "sound.h"
|
||||
#include "functions.h"
|
||||
#include "utils.h"
|
||||
#include "message.h"
|
||||
#include "save.h"
|
||||
|
||||
extern void (*const gUnk_0811B9D8[])(Entity*);
|
||||
|
||||
void sub_080704FC(Entity*);
|
||||
extern void sub_080A4D88(void);
|
||||
|
||||
extern u8 gUnk_02034490[0x18];
|
||||
|
||||
void PlayerItemPacciCane(Entity* this) {
|
||||
gUnk_0811B9D8[this->action](this);
|
||||
@@ -19,3 +25,26 @@ void sub_080704D4(Entity* this) {
|
||||
}
|
||||
|
||||
ASM_FUNC("asm/non_matching/playerItemPacciCane/sub_080704FC.inc", void sub_080704FC(Entity* this))
|
||||
|
||||
void sub_0807059C() {
|
||||
MemClear(gUnk_02034490, sizeof(gUnk_02034490));
|
||||
}
|
||||
|
||||
NONMATCH("asm/non_matching/playerItemPacciCane/sub_080705AC.inc", u32 sub_080705AC(void)) {
|
||||
if (!((gInput.newKeys & 8) == 0 || gFadeControl.active || gUnk_02034490[0] || (gMessage.doTextBox & 0x7F) != 0 ||
|
||||
!gSave.stats.health || !gSave.fillerD0[34] || gPlayerState.controlMode || gPriorityHandler.priority_timer)) {
|
||||
u32 tmp = gPlayerState.framestate ? gPlayerState.framestate : gPlayerState.framestate_last;
|
||||
switch (tmp) {
|
||||
case 18:
|
||||
case 19:
|
||||
case 21:
|
||||
case 22:
|
||||
case 28:
|
||||
return 0;
|
||||
}
|
||||
sub_080A4D88();
|
||||
return 1;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
END_NONMATCH
|
||||
|
||||
@@ -0,0 +1,7 @@
|
||||
#include "global.h"
|
||||
|
||||
ASM_FUNC("asm/non_matching/code_0807CC3C/sub_0807D280.inc", void sub_0807D280(u32 unk_1, u32 unk_2))
|
||||
|
||||
ASM_FUNC("asm/non_matching/code_0807CC3C/sub_0807D46C.inc", void sub_0807D46C(u32 unk_1, u32 unk_2))
|
||||
|
||||
ASM_FUNC("asm/non_matching/code_0807CC3C/sub_0807D6D8.inc", void sub_0807D6D8(u32 unk_1, u32 unk_2))
|
||||
+124
-3
@@ -1,7 +1,128 @@
|
||||
#include "global.h"
|
||||
#include "entity.h"
|
||||
#include "structures.h"
|
||||
#include "functions.h"
|
||||
#include "game.h"
|
||||
|
||||
ASM_FUNC("asm/non_matching/code_0807CC3C/sub_0807D280.inc", void sub_0807D280(u32 unk_1, u32 unk_2))
|
||||
extern void sub_08080BC4(void);
|
||||
|
||||
ASM_FUNC("asm/non_matching/code_0807CC3C/sub_0807D46C.inc", void sub_0807D46C(u32 unk_1, u32 unk_2))
|
||||
extern u32 gUnk_0200B650;
|
||||
extern u32 gUnk_02025EB0;
|
||||
extern u8 gUpdateVisibleTiles;
|
||||
|
||||
ASM_FUNC("asm/non_matching/code_0807CC3C/sub_0807D6D8.inc", void sub_0807D6D8(u32 unk_1, u32 unk_2))
|
||||
void sub_080808D8(void) {
|
||||
gScreenTransition.transitionType = TRANSITION_DEFAULT;
|
||||
}
|
||||
|
||||
void sub_080808E4(void) {
|
||||
if (sub_08052638(gScreenTransition.player_status.area_next)) {
|
||||
gScreenTransition.transitionType = TRANSITION_DEFAULT;
|
||||
} else {
|
||||
gScreenTransition.transitionType = TRANSITION_FADE_BLACK;
|
||||
}
|
||||
}
|
||||
|
||||
void sub_08080904(void) {
|
||||
gScreenTransition.transitionType = TRANSITION_CUT;
|
||||
}
|
||||
|
||||
void sub_08080910(void) {
|
||||
gScreenTransition.transitionType = TRANSITION_CUT;
|
||||
}
|
||||
|
||||
void sub_0808091C(ScreenTransitionData* param_1, u32 param_2) {
|
||||
DoExitTransition(param_1);
|
||||
gScreenTransition.transitionType = param_2;
|
||||
}
|
||||
|
||||
void sub_08080930(void) {
|
||||
gRoomControls.unk3 = 5;
|
||||
gRoomControls.unk4 = 0;
|
||||
gRoomControls.unk2 = 2;
|
||||
gRoomControls.unk_10 = 0;
|
||||
SetInitializationPriority();
|
||||
}
|
||||
|
||||
u32* GetLayerByIndex(u32 param_1) {
|
||||
if (param_1 == 2) {
|
||||
return &gUnk_0200B650;
|
||||
} else {
|
||||
return &gUnk_02025EB0;
|
||||
}
|
||||
}
|
||||
|
||||
void InitScreenShake(u32 time, u32 magnitude) {
|
||||
gRoomControls.screenShakeTime = time;
|
||||
gRoomControls.screenShakeMagnitude = magnitude & 7;
|
||||
}
|
||||
|
||||
void sub_08080974(u32 arg0, u32 arg1) {
|
||||
u32 var0, var1;
|
||||
RoomControls* roomControls = &gRoomControls;
|
||||
|
||||
var0 = roomControls->roomOriginX;
|
||||
if (arg0 <= var0 + 120) {
|
||||
roomControls->roomScrollX = var0;
|
||||
} else {
|
||||
var0 += roomControls->width;
|
||||
var1 = var0 - 120;
|
||||
if (arg0 < var1) {
|
||||
var1 = arg0;
|
||||
}
|
||||
roomControls->roomScrollX = var1 - 120;
|
||||
}
|
||||
|
||||
var0 = roomControls->roomOriginY;
|
||||
if (arg1 <= var0 + 80) {
|
||||
roomControls->roomScrollY = var0;
|
||||
} else {
|
||||
var0 += roomControls->height;
|
||||
var1 = var0 - 80;
|
||||
if (arg1 < var1) {
|
||||
var1 = arg1;
|
||||
}
|
||||
roomControls->roomScrollY = var1 - 80;
|
||||
}
|
||||
|
||||
sub_080809D4();
|
||||
gUpdateVisibleTiles = 1;
|
||||
}
|
||||
|
||||
void sub_080809D4(void) {
|
||||
register Entity* target asm("r4");
|
||||
int x, y;
|
||||
int var1, var0;
|
||||
RoomControls* roomControls = &gRoomControls;
|
||||
roomControls->scroll_flags &= ~4;
|
||||
|
||||
target = roomControls->cameraTarget;
|
||||
x = target->x.HALF.HI;
|
||||
var0 = roomControls->roomOriginX;
|
||||
if (x <= var0 + 120) {
|
||||
roomControls->roomScrollX = var0;
|
||||
} else {
|
||||
var0 += roomControls->width;
|
||||
var1 = var0 - 120;
|
||||
if (x < var1) {
|
||||
var1 = (u16)target->x.HALF.HI;
|
||||
}
|
||||
roomControls->roomScrollX = var1 - 120;
|
||||
}
|
||||
|
||||
target = roomControls->cameraTarget;
|
||||
y = target->y.HALF.HI;
|
||||
var0 = roomControls->roomOriginY;
|
||||
if (y <= var0 + 80) {
|
||||
roomControls->roomScrollY = var0;
|
||||
} else {
|
||||
var0 += roomControls->height;
|
||||
var1 = var0 - 80;
|
||||
if (y < var1) {
|
||||
var1 = (u16)target->y.HALF.HI;
|
||||
}
|
||||
roomControls->roomScrollY = var1 - 80;
|
||||
}
|
||||
|
||||
sub_08080BC4();
|
||||
gUpdateVisibleTiles = 1;
|
||||
}
|
||||
|
||||
@@ -141,7 +141,6 @@ void sub_0805F918(u32 idx, u32 idx2, void* dest) {
|
||||
}
|
||||
|
||||
u32 sub_0805F9A0(u32 r0) {
|
||||
|
||||
if (gSaveHeader->gameLanguage == 0) {
|
||||
u16* val = &gUnk_081092D4;
|
||||
u32 i = 0;
|
||||
Reference in New Issue
Block a user