Merge branch 'master' into tilemap-docs

This commit is contained in:
octorock
2023-12-31 02:12:41 +01:00
549 changed files with 15821 additions and 15437 deletions
+1 -1
View File
@@ -27,7 +27,7 @@ void CloudOverlayManager_Main(CloudOverlayManager* this) {
super->timer = 0;
super->subtimer = 8;
this->field_0x20 = gUnk_0810865C[0];
SetDefaultPriority((Entity*)this, PRIO_PLAYER_EVENT);
SetEntityPriority((Entity*)this, PRIO_PLAYER_EVENT);
if (gArea.onEnter == NULL) {
RegisterTransitionManager(this, sub_0805AEDC, sub_0805AF3C);
} else {
@@ -15,7 +15,7 @@ void CloudStaircaseTransitionManager_Main(CloudStaircaseTransitionManager* this)
this->y = 0;
}
if (((CheckPlayerInRegion(this->x, this->y, 0x14, 0x40) != 0) &&
(((gPlayerEntity.y.HALF.HI - gRoomControls.origin_y) + gPlayerEntity.z.HALF.HI) < 0)) &&
(((gPlayerEntity.base.y.HALF.HI - gRoomControls.origin_y) + gPlayerEntity.base.z.HALF.HI) < 0)) &&
(gRoomControls.scroll_y == gRoomControls.origin_y)) {
MemClear(&gRoomTransition.player_status, sizeof(PlayerRoomStatus));
gRoomTransition.transitioningOut = 1;
+1 -1
View File
@@ -37,7 +37,7 @@ void DelayedEntityLoadManager_Main(DelayedEntityLoadManager* this) {
if (super->action == 0) {
super->action++;
this->unk_20 = gArea.filler[1];
SetDefaultPriority((Entity*)this, 6);
SetEntityPriority((Entity*)this, 6);
npcPtr = gNPCData;
npcPtr += (super->type2 + this->unk_20);
index1 = 0;
+8 -8
View File
@@ -78,8 +78,8 @@ bool32 DiggingCaveEntranceManager_CheckEnterEntrance(DiggingCaveEntranceManager*
u16 offsetX, offsetY, offsetX2, offsetY2;
u32 tmp, tmp2;
if (gDiggingCaveEntranceTransition.isDiggingCave) {
offsetX = gPlayerEntity.x.HALF.HI - gRoomControls.origin_x;
offsetY = gPlayerEntity.y.HALF.HI - gRoomControls.origin_y;
offsetX = gPlayerEntity.base.x.HALF.HI - gRoomControls.origin_x;
offsetY = gPlayerEntity.base.y.HALF.HI - gRoomControls.origin_y;
offsetX2 = (entr->sourceTilePosition & TILE_POS_X_COMPONENT) * 16 + 8;
offsetY2 = ((entr->sourceTilePosition & TILE_POS_Y_COMPONENT) >> 6) * 16 + 0x18;
tmp = offsetX - offsetX2;
@@ -90,10 +90,10 @@ bool32 DiggingCaveEntranceManager_CheckEnterEntrance(DiggingCaveEntranceManager*
DiggingCaveEntranceManager_EnterEntrance(this, entr);
return TRUE;
} else {
if (COORD_TO_TILE(&gPlayerEntity) != entr->sourceTilePosition)
if (COORD_TO_TILE(&gPlayerEntity.base) != entr->sourceTilePosition)
return FALSE;
offsetY2 = gRoomControls.origin_y + ((entr->sourceTilePosition >> 6) << 4) + 6;
if (gPlayerEntity.y.HALF.HI >= offsetY2)
if (gPlayerEntity.base.y.HALF.HI >= offsetY2)
return FALSE;
DiggingCaveEntranceManager_EnterEntrance(this, entr);
return TRUE;
@@ -110,10 +110,10 @@ void DiggingCaveEntranceManager_EnterEntrance(DiggingCaveEntranceManager* this,
gRoomControls.area = entr->targetArea;
gRoomControls.room = entr->targetRoom;
gDiggingCaveEntranceTransition.entrance = entr;
gDiggingCaveEntranceTransition.offsetX =
gPlayerEntity.x.HALF.HI - gRoomControls.origin_x - ((entr->sourceTilePosition & TILE_POS_X_COMPONENT) * 16);
gDiggingCaveEntranceTransition.offsetY =
gPlayerEntity.y.HALF.HI - gRoomControls.origin_y - ((entr->sourceTilePosition & TILE_POS_Y_COMPONENT) >> 2);
gDiggingCaveEntranceTransition.offsetX = gPlayerEntity.base.x.HALF.HI - gRoomControls.origin_x -
((entr->sourceTilePosition & TILE_POS_X_COMPONENT) * 16);
gDiggingCaveEntranceTransition.offsetY = gPlayerEntity.base.y.HALF.HI - gRoomControls.origin_y -
((entr->sourceTilePosition & TILE_POS_Y_COMPONENT) >> 2);
#ifndef EU
isDiggingCave = gDiggingCaveEntranceTransition.isDiggingCave;
+3 -3
View File
@@ -34,7 +34,7 @@ void sub_0805E1F8(u32, bool32);
void EnterRoomTextboxManager_Main(EnterRoomTextboxManager* this) {
EnterRoomTextboxManager_Actions[super->action](this);
if ((gRoomControls.room != this->unk_20) || (gMessage.doTextBox & 0x7F)) {
if ((gRoomControls.room != this->unk_20) || (gMessage.state & MESSAGE_ACTIVE)) {
sub_0805E1D8(this);
}
}
@@ -45,7 +45,7 @@ void sub_0805E140(EnterRoomTextboxManager* this) {
this->unk_20 = gRoomControls.room;
super->timer = 120;
super->subtimer = 60;
SetDefaultPriority((Entity*)this, PRIO_HIGHEST);
SetEntityPriority((Entity*)this, PRIO_HIGHEST);
sub_0805E1F8(gUnk_08108DE8[gArea.locationIndex], AreaIsDungeon());
}
@@ -56,7 +56,7 @@ void sub_0805E18C(EnterRoomTextboxManager* this) {
if (--super->subtimer == 0) {
super->type2 = 0;
gPlayerState.controlMode = CONTROL_1;
ResetSystemPriority();
ClearEventPriority();
}
}
if (--super->timer == 0) {
+1 -1
View File
@@ -26,7 +26,7 @@ void EntitySpawnManager_Main(EntitySpawnManager* this) {
if (super->type2 != 0) {
super->type2 = 0;
SetPlayerControl(0xff);
sub_08078B48();
PausePlayer();
}
if (this->spawnTimer == 0) {
if (this->sound != 0) {
+4 -4
View File
@@ -35,7 +35,7 @@ static void EzloHintManager_Init(EzloHintManager* this) {
this->ry = this->ry_raw << 3;
this->x = this->rx + (this->x_raw << 4);
this->y = this->ry + (this->y_raw << 4);
SetDefaultPriority((Entity*)this, PRIO_PLAYER_EVENT);
SetEntityPriority((Entity*)this, PRIO_PLAYER_EVENT);
if (this->flag2 == 0) {
super->action = 2;
} else {
@@ -69,7 +69,7 @@ static void EzloHintManager_Action2(EzloHintManager* this) {
if (!PlayerStateValid(this))
return;
SetPlayerControl(3);
sub_08078B48();
PausePlayer();
SetPlayerEventPriority();
super->action = 3;
super->subAction = 0;
@@ -121,7 +121,7 @@ static void EzloHintManager_Action3(EzloHintManager* this) {
if (gPlayerState.flags &
(PL_BUSY | PL_DROWNING | PL_USE_PORTAL | PL_FALLING | PL_IN_MINECART | PL_CAPTURED))
return;
if (gPlayerEntity.z.HALF.HI != 0)
if (gPlayerEntity.base.z.HALF.HI != 0)
return;
gPlayerState.jump_status = 0;
CreateEzloHint(this->msg_idx, this->msg_height);
@@ -136,7 +136,7 @@ static void EzloHintManager_Action3(EzloHintManager* this) {
return;
case 3:
/* wait for player to finish talking */
if (gPlayerEntity.action == PLAYER_NORMAL || gPlayerEntity.action == PLAYER_MINISH) {
if (gPlayerEntity.base.action == PLAYER_NORMAL || gPlayerEntity.base.action == PLAYER_MINISH) {
gPlayerState.controlMode = CONTROL_1;
ResetPlayerEventPriority();
SetFlag(this->flag1);
+8 -6
View File
@@ -7,8 +7,10 @@
* If you leave the room without picking the item up and enter again, the item falls from the sky again.
*/
#include "manager/fallingItemManager.h"
#include "flags.h"
#include "object.h"
#include "object/itemOnGround.h"
#include "room.h"
void FallingItemManager_Init(FallingItemManager*);
@@ -32,13 +34,13 @@ void FallingItemManager_Init(FallingItemManager* this) {
void FallingItemManager_Action1(FallingItemManager* this) {
if (CheckFlags(this->field_0x3e)) {
Entity* object = CreateObject(GROUND_ITEM, super->type, super->type2);
ItemOnGroundEntity* object = (ItemOnGroundEntity*)CreateObject(GROUND_ITEM, super->type, super->type2);
if (object != NULL) {
object->timer = this->field_0x35;
object->collisionLayer = this->field_0x36;
object->x.HALF.HI = this->field_0x38 + gRoomControls.origin_x;
object->y.HALF.HI = this->field_0x3a + gRoomControls.origin_y;
object->field_0x86.HWORD = this->field_0x3c;
object->base.timer = this->field_0x35;
object->base.collisionLayer = this->field_0x36;
object->base.x.HALF.HI = this->field_0x38 + gRoomControls.origin_x;
object->base.y.HALF.HI = this->field_0x3a + gRoomControls.origin_y;
object->unk_86 = this->field_0x3c;
}
DeleteThisEntity();
}
+3 -3
View File
@@ -55,7 +55,7 @@ void FightManager_Init(FightManager* this) {
if (!this->fightStartFlag) {
FightManager_LoadFight(this);
}
SetDefaultPriority((Entity*)this, PRIO_NO_BLOCK);
SetEntityPriority((Entity*)this, PRIO_NO_BLOCK);
} else {
DeleteThisEntity();
}
@@ -112,7 +112,7 @@ void FightManager_LoadFight(FightManager* this) {
while (prop->kind != 0xFF) {
ent = LoadRoomEntity(prop++);
if ((ent != NULL) && (ent->kind == ENEMY)) {
ent->field_0x6c.HALF.HI |= 0x40;
((GenericEntity*)ent)->field_0x6c.HALF.HI |= 0x40;
FightManagerHelper_Monitor(monitor, ent, counter++);
}
if (counter >= 7) {
@@ -157,7 +157,7 @@ void FightManagerHelper_Main(FightManagerHelper* this) {
if (super->action == 0) {
super->action = 1;
SetDefaultPriority((Entity*)this, PRIO_NO_BLOCK);
SetEntityPriority((Entity*)this, PRIO_NO_BLOCK);
}
// go through and check all monitored enemies.
anyRemaining = FALSE;
+13 -11
View File
@@ -5,10 +5,12 @@
* @brief Spawns the shop items for the kinstones for the goron merchant.
*/
#include "manager/goronMerchantShopManager.h"
#include "asm.h"
#include "flags.h"
#include "object.h"
#include "item.h"
#include "object.h"
#include "object/itemForSale.h"
typedef struct {
u16 minType;
@@ -59,17 +61,17 @@ void GoronMerchantShopManager_Main(GoronMerchantShopManager* this) {
count = 0;
for (count = 0; count < 3;) {
if (CheckGlobalFlag(GORON_KAKERA_L + count) == 0) {
Entity* object =
CreateObject(SHOP_ITEM, ITEM_KINSTONE, ((s32)Random() % spawnData->numTypes) + spawnData->minType);
ItemForSaleEntity* object = (ItemForSaleEntity*)CreateObject(
SHOP_ITEM, ITEM_KINSTONE, ((s32)Random() % spawnData->numTypes) + spawnData->minType);
if (object != NULL) {
object->timer = 1;
object->subtimer = count;
object->x.HALF.HI = spawnData->x + gRoomControls.origin_x;
object->y.HALF.HI = spawnData->y + gRoomControls.origin_y;
object->field_0x80.HWORD = spawnData->x;
object->field_0x82.HWORD = spawnData->y;
object->collisionLayer = 1;
object->parent = (Entity*)this;
object->base.timer = 1;
object->base.subtimer = count;
object->base.x.HALF.HI = spawnData->x + gRoomControls.origin_x;
object->base.y.HALF.HI = spawnData->y + gRoomControls.origin_y;
object->unk_80 = spawnData->x;
object->unk_82 = spawnData->y;
object->base.collisionLayer = 1;
object->base.parent = (Entity*)this;
this->itemActive[count] = 1;
}
}
+5 -3
View File
@@ -55,7 +55,7 @@ void sub_0805B328(HoleManager*);
void sub_0805B048(HoleManager* this) {
struct_08108764* tmp;
Entity* obj;
SetDefaultPriority((Entity*)super, PRIO_PLAYER_EVENT);
SetEntityPriority((Entity*)super, PRIO_PLAYER_EVENT);
MemClear(&this->unk_20, 0x20);
super->action = 1;
this->unk_3f = gRoomControls.room;
@@ -153,8 +153,10 @@ void sub_0805B210(HoleManager* this) {
gRoomTransition.player_status.start_pos_y = tmp->unk_06;
break;
case 1:
gRoomTransition.player_status.start_pos_x = gPlayerEntity.x.HALF.HI - gRoomControls.origin_x + tmp->unk_04;
gRoomTransition.player_status.start_pos_y = gPlayerEntity.y.HALF.HI - gRoomControls.origin_y + tmp->unk_06;
gRoomTransition.player_status.start_pos_x =
gPlayerEntity.base.x.HALF.HI - gRoomControls.origin_x + tmp->unk_04;
gRoomTransition.player_status.start_pos_y =
gPlayerEntity.base.y.HALF.HI - gRoomControls.origin_y + tmp->unk_06;
break;
case 2:
gRoomTransition.player_status.start_pos_x = tmp->unk_04;
@@ -29,7 +29,7 @@ void HorizontalMinishPathBackgroundManager_Main(HorizontalMinishPathBackgroundMa
}
void sub_08057EFC(void* this) {
LoadGfxGroup((u32)gRoomVars.unk_10[0]);
LoadGfxGroup((u32)gRoomVars.graphicsGroups[0]);
sub_08058034();
((HorizontalMinishPathBackgroundManager*)this)->unk_3c = 0;
((HorizontalMinishPathBackgroundManager*)this)->unk_38 = 0;
@@ -103,7 +103,7 @@ void sub_080580B0(u32 unk1) {
gMapTop.bgSettings = 0;
REG_DISPCNT = 0;
LoadGfxGroup(unk1);
gRoomVars.unk_10[0] = unk1;
gRoomVars.graphicsGroups[0] = unk1;
sub_08058034();
tmp = gRoomControls.scroll_x - gRoomControls.origin_x;
tmp = tmp + (tmp >> 3) + (0x400 - gRoomControls.width) / 2;
+12 -10
View File
@@ -8,10 +8,12 @@
* Creates the signs on the houses in hyrule town.
*/
#include "manager/houseSignManager.h"
#include "area.h"
#include "object.h"
#include "room.h"
#include "asm.h"
#include "object.h"
#include "object/houseSign.h"
#include "room.h"
typedef struct {
u16 x;
@@ -56,15 +58,15 @@ void HouseSignManager_Main(HouseSignManager* this) {
u32 bitfieldFlag = 1 << type2;
if ((((this->bitfield & bitfieldFlag) == 0) &&
(CheckRectOnScreen(spawnData->x, spawnData->y, 0x10, 0x10) != 0))) {
Entity* object = CreateObject(HOUSE_SIGN, spawnData->type, type2);
HouseSignEntity* object = (HouseSignEntity*)CreateObject(HOUSE_SIGN, spawnData->type, type2);
if (object != NULL) {
object->frameIndex = spawnData->frameIndex;
object->x.HALF.HI = gRoomControls.origin_x + spawnData->x;
object->y.HALF.HI = gRoomControls.origin_y + spawnData->y;
object->parent = (Entity*)this;
object->field_0x80.HWORD = spawnData->x;
object->field_0x82.HWORD = spawnData->y;
object->collisionLayer = spawnData->collisionLayer;
object->base.frameIndex = spawnData->frameIndex;
object->base.x.HALF.HI = gRoomControls.origin_x + spawnData->x;
object->base.y.HALF.HI = gRoomControls.origin_y + spawnData->y;
object->base.parent = (Entity*)this;
object->unk_80 = spawnData->x;
object->unk_82 = spawnData->y;
object->base.collisionLayer = spawnData->collisionLayer;
this->bitfield |= bitfieldFlag;
}
}
+3 -3
View File
@@ -13,11 +13,11 @@
void HyruleTownBellManager_Main(HyruleTownBellManager* this) {
RoomControls* roomControls = &gRoomControls;
u32 a = roomControls->origin_x + 0x1f8;
u32 x = (a - gPlayerEntity.x.HALF.HI) + 0x10;
u32 x = (a - gPlayerEntity.base.x.HALF.HI) + 0x10;
u32 b = roomControls->origin_y + 0x140;
u32 y = (b - gPlayerEntity.y.HALF.HI) + 0x10;
u32 y = (b - gPlayerEntity.base.y.HALF.HI) + 0x10;
if (super->action == 0) {
if (x < 0x20 && y < 0x20 && gPlayerEntity.z.HALF.HI < -0x18 && gPlayerState.framestate == PL_STATE_CAPE) {
if (x < 0x20 && y < 0x20 && gPlayerEntity.base.z.HALF.HI < -0x18 && gPlayerState.framestate == PL_STATE_CAPE) {
super->action++;
super->timer = 90;
SoundReq(SFX_10A);
+7 -7
View File
@@ -67,15 +67,15 @@ void HyruleTownTilesetManager_Main(HyruleTownTilesetManager* this) {
this->field_0x21 = 0xff;
this->field_0x20 = 0xff;
RegisterTransitionManager(this, sub_08059A2C, NULL);
SetDefaultPriority((Entity*)this, PRIO_PLAYER_EVENT);
SetEntityPriority((Entity*)this, PRIO_PLAYER_EVENT);
}
sub_08059A58(this);
}
void sub_08059A2C(HyruleTownTilesetManager* this) {
gRoomVars.unk_10[2] = 0xff;
gRoomVars.unk_10[1] = 0xff;
gRoomVars.unk_10[0] = 0xff;
gRoomVars.graphicsGroups[2] = 0xff;
gRoomVars.graphicsGroups[1] = 0xff;
gRoomVars.graphicsGroups[0] = 0xff;
this->field_0x22 = 0xff;
this->field_0x21 = 0xff;
this->field_0x20 = 0xff;
@@ -148,8 +148,8 @@ bool32 sub_08059C8C(HyruleTownTilesetManager* this, u32 param_2, u8* param_3, co
bool32 bVar2;
*param_3 = CheckRegionsOnScreen(param_4);
if ((*param_3 != 0xff) && (gRoomVars.unk_10[param_2] != *param_3)) {
gRoomVars.unk_10[param_2] = *param_3;
if ((*param_3 != 0xff) && (gRoomVars.graphicsGroups[param_2] != *param_3)) {
gRoomVars.graphicsGroups[param_2] = *param_3;
return TRUE;
} else {
return FALSE;
@@ -159,7 +159,7 @@ bool32 sub_08059C8C(HyruleTownTilesetManager* this, u32 param_2, u8* param_3, co
void sub_08059CC0(u32 param_1, u32 param_2) {
const Unknown* unknown;
gRoomVars.unk_10[param_1] = param_2;
gRoomVars.graphicsGroups[param_1] = param_2;
if (gRoomControls.area != AREA_FESTIVAL_TOWN) {
unknown = &gUnk_08108408[param_2];
} else {
+33 -44
View File
@@ -20,8 +20,8 @@ extern void sub_0801E120(void);
extern void sub_0801E154(u32);
extern void sub_0801E160(u32, u32, u32);
bool32 sub_0805BA78();
void sub_0805BAD4();
bool32 LerpLightLevel();
void UpdateLightAlpha();
void LightManager_Main(LightManager* this) {
s32 sVar1;
@@ -37,20 +37,20 @@ void LightManager_Main(LightManager* this) {
super->flags |= ENT_PERSIST;
super->timer = 17;
this->unk20 = 0;
SetDefaultPriority((Entity*)this, 6);
SetEntityPriority((Entity*)this, 6);
sub_0801E120();
sub_0801E154(super->timer);
}
if (gMain.substate == GAMEMAIN_UPDATE) {
gScreen.lcd.displayControl |= DISPCNT_BG3_ON;
sub_0805BA78();
sub_0805BAD4();
LerpLightLevel();
UpdateLightAlpha();
}
if (gArea.lightType == 2) {
gScreen.lcd.displayControl &= ~DISPCNT_WIN0_ON;
} else {
if (CheckRectOnScreen(gPlayerEntity.x.HALF.HI - gRoomControls.origin_x,
gPlayerEntity.y.HALF.HI - gRoomControls.origin_y, 0, 0)) {
if (CheckRectOnScreen(gPlayerEntity.base.x.HALF.HI - gRoomControls.origin_x,
gPlayerEntity.base.y.HALF.HI - gRoomControls.origin_y, 0, 0)) {
gScreen.lcd.displayControl |= DISPCNT_WIN0_ON;
} else {
gScreen.lcd.displayControl &= ~DISPCNT_WIN0_ON;
@@ -79,52 +79,41 @@ void LightManager_Main(LightManager* this) {
}
super->timer = uVar3;
sub_0801E160(gPlayerEntity.x.HALF.HI - gRoomControls.scroll_x,
gPlayerEntity.y.HALF.HI - gRoomControls.scroll_y - 9 + gPlayerEntity.z.HALF.HI,
sub_0801E160(gPlayerEntity.base.x.HALF.HI - gRoomControls.scroll_x,
gPlayerEntity.base.y.HALF.HI - gRoomControls.scroll_y - 9 + gPlayerEntity.base.z.HALF.HI,
uVar3 + this->unk20);
}
}
#define ABS(x) ((unsigned)(x < 0 ? -(x) : x))
bool32 sub_0805BA78() {
u32 uVar1;
s32 iVar1;
s32 iVar2;
bool32 LerpLightLevel() {
s32 tgt;
s32 cur;
iVar2 = (short)gArea.lightLevel;
iVar1 = gRoomVars.lightLevel;
cur = (short)gArea.lightLevel;
tgt = gRoomVars.lightLevel;
if (iVar1 < 0) {
iVar1 = 0;
}
tgt = max(tgt, 0);
tgt = min(tgt, 0x100);
if (0x100 < iVar1) {
iVar1 = 0x100;
}
if (iVar2 != iVar1) {
if (ABS(iVar1 - iVar2) <= 4) {
iVar2 = iVar1;
} else {
if (iVar1 < iVar2) {
iVar2 = iVar2 - 4;
} else {
if (iVar1 > iVar2) {
iVar2 = iVar2 + 4;
}
}
if (cur != tgt) {
if (ABS(tgt - cur) <= 4) {
cur = tgt;
} else if (tgt < cur) {
cur -= 4;
} else if (tgt > cur) {
cur += 4;
}
gArea.lightLevel = iVar2;
} else {
return FALSE;
gArea.lightLevel = cur;
return TRUE;
}
return TRUE;
return FALSE;
}
extern u16 gUnk_08108CA8[];
void sub_0805BAD4() {
void UpdateLightAlpha() {
static const u16 gUnk_08108CA8[] = { 0x10, 0x10f, 0x20e, 0x30d, 0x40c, 0x50b, 0x60a, 0x709, 0x808,
0x907, 0xa06, 0xb05, 0xc04, 0xd03, 0xe02, 0xf01, 0x1000, 0x00 };
if (gArea.lightType != 0) {
@@ -164,8 +153,8 @@ void sub_0805BB74(s32 lightLevel) {
if (manager) {
LightManager_Main(manager);
gScreen.lcd.displayControl |= DISPCNT_BG3_ON;
sub_0805BA78();
sub_0805BAD4();
LerpLightLevel();
UpdateLightAlpha();
}
}
@@ -175,9 +164,9 @@ bool32 UpdateLightLevel() {
iVar1 = FALSE;
if (gArea.lightType && gRoomVars.lightLevel < (s16)gArea.lightLevel) {
gScreen.lcd.displayControl |= DISPCNT_BG3_ON;
iVar1 = sub_0805BA78();
iVar1 = LerpLightLevel();
if (iVar1) {
sub_0805BAD4();
UpdateLightAlpha();
}
}
return iVar1;
@@ -189,9 +178,9 @@ s32 sub_0805BC04(void) {
iVar1 = 0;
if (gArea.lightType && gRoomVars.lightLevel > (short)gArea.lightLevel) {
gScreen.lcd.displayControl |= DISPCNT_BG3_ON;
iVar1 = sub_0805BA78();
iVar1 = LerpLightLevel();
if (iVar1) {
sub_0805BAD4();
UpdateLightAlpha();
}
}
return iVar1;
+2 -2
View File
@@ -88,8 +88,8 @@ void LightRayManager_Action1(LightRayManager* this) {
if (prop->unk0 == 0xff)
return;
x = gPlayerEntity.x.HALF.HI / 16;
y = gPlayerEntity.y.HALF.HI / 16;
x = gPlayerEntity.base.x.HALF.HI / 16;
y = gPlayerEntity.base.y.HALF.HI / 16;
for (; prop->unk0 != 0xff; prop++) {
if (prop->unk0 != this->unk_21) {
+6 -6
View File
@@ -69,7 +69,7 @@ void MinishVillageTilesetManager_Main(MinishVillageTilesetManager* this) {
return;
if (sub_08057E40(this)) {
tmp = (u32)gRoomVars.unk_10[0];
tmp = (u32)gRoomVars.graphicsGroups[0];
if (this->unk_20 != tmp) {
this->unk_20 = tmp;
super->timer = 0;
@@ -111,11 +111,11 @@ void MinishVillageTilesetManager_Main(MinishVillageTilesetManager* this) {
super->timer = 8;
this->unk_20 = 0xFF;
SetDefaultPriority((Entity*)this, PRIO_PLAYER_EVENT);
SetEntityPriority((Entity*)this, PRIO_PLAYER_EVENT);
RegisterTransitionManager(this, sub_08057E30, 0);
}
if (sub_08057E40(this)) {
tmp = (u32)gRoomVars.unk_10[0];
tmp = (u32)gRoomVars.graphicsGroups[0];
if (this->unk_20 != tmp) {
this->unk_20 = tmp;
super->timer = 0;
@@ -153,13 +153,13 @@ void MinishVillageTilesetManager_Main(MinishVillageTilesetManager* this) {
#endif
void sub_08057E30(void* this) {
sub_08057E7C(gRoomVars.unk_10[0]);
sub_08057E7C(gRoomVars.graphicsGroups[0]);
}
bool32 sub_08057E40(MinishVillageTilesetManager* this) {
u32 tmp = CheckRegionsOnScreen(gUnk_08108050);
if (tmp != 0xFF) {
gRoomVars.unk_10[0] = tmp;
gRoomVars.graphicsGroups[0] = tmp;
return TRUE;
} else {
return FALSE;
@@ -187,5 +187,5 @@ void sub_08057E7C(u32 unk1) {
for (tmp = 0; tmp < 8; tmp++, tmp2 += 2) {
DmaCopy32(3, &gGlobalGfxAndPalettes[tmp2[0]], tmp2[1], 0x400 * 4);
}
gRoomVars.unk_10[0] = unk1;
gRoomVars.graphicsGroups[0] = unk1;
}
+10 -10
View File
@@ -164,7 +164,7 @@ void MiscManager_Type1(MiscManager* this) {
PutAwayItems();
}
if (super->timer == 60) {
gPlayerEntity.animationState = super->subtimer;
gPlayerEntity.base.animationState = super->subtimer;
}
if (!--super->timer) {
super->action = 3;
@@ -212,7 +212,7 @@ void MiscManager_Type3(MiscManager* this) {
void MiscManager_Type4(MiscManager* this) {
if (super->action == 0) {
super->action = 1;
SetDefaultPriority((Entity*)this, PRIO_PLAYER_EVENT);
SetEntityPriority((Entity*)this, PRIO_PLAYER_EVENT);
}
if (CheckLocalFlag(0x6c)) {
if (CheckLocalFlag(0x4b)) {
@@ -298,7 +298,7 @@ void sub_08059278(void) {
void MiscManager_Type8(MiscManager* this) {
super->action = 1;
gRoomControls.camera_target = &gPlayerEntity;
gRoomControls.camera_target = &gPlayerEntity.base;
}
void MiscManager_Type9(MiscManager* this) {
@@ -363,9 +363,9 @@ void MiscManager_TypeB(MiscManager* this) {
}
bool32 sub_080593CC(MiscManager* this) {
if (!(gPlayerState.flags & PL_MINISH) && gPlayerState.swim_state != 0 && gPlayerEntity.animationState == 0 &&
(gPlayerState.playerInput.heldInput & PLAYER_INPUT_ANY_DIRECTION) == PLAYER_INPUT_UP) {
return EntityWithinDistance(&gPlayerEntity, this->x, this->y + 12, 6);
if (!(gPlayerState.flags & PL_MINISH) && gPlayerState.swim_state != 0 && gPlayerEntity.base.animationState == 0 &&
(gPlayerState.playerInput.heldInput & INPUT_ANY_DIRECTION) == INPUT_UP) {
return EntityWithinDistance(&gPlayerEntity.base, this->x, this->y + 12, 6);
}
return FALSE;
}
@@ -392,10 +392,10 @@ void MiscManager_TypeD(MiscManager* this) {
SetPlayerControl(3);
if (gRoomControls.reload_flags)
return;
if (gRoomVars.field_0x0) {
if (gRoomVars.didEnterScrolling) {
StartPlayerScript(gUnk_08108380[gRoomControls.scroll_direction]);
} else {
StartPlayerScript(gUnk_08108380[gPlayerEntity.animationState >> 1]);
StartPlayerScript(gUnk_08108380[gPlayerEntity.base.animationState >> 1]);
}
}
DeleteThisEntity();
@@ -430,8 +430,8 @@ void MiscManager_TypeE(MiscManager* this) {
#if defined(USA) || defined(DEMO_USA) || defined(DEMO_JP)
void MiscManager_TypeF(MiscManager* this) {
SetDefaultPriority((Entity*)this, PRIO_PLAYER_EVENT);
if (gPlayerEntity.action == PLAYER_TALKEZLO) {
SetEntityPriority((Entity*)this, PRIO_PLAYER_EVENT);
if (gPlayerEntity.base.action == PLAYER_TALKEZLO) {
DeleteThisEntity();
}
gInput.heldKeys |= SELECT_BUTTON;
+1 -1
View File
@@ -14,7 +14,7 @@ void MoveableObjectManager_Main(MoveableObjectManager* this) {
Entity* object = CreateObject(super->timer, super->type, super->type2);
if (!object)
return;
object->field_0x86.HWORD = this->flags;
((GenericEntity*)object)->field_0x86.HWORD = this->flags;
if (CheckFlags(this->flags)) {
object->x.HALF.HI = this->unk_36 | (this->unk_37 & 0xF) << 8; // r1
object->y.HALF.HI = this->unk_3c & 0xFFF;
+1 -1
View File
@@ -20,7 +20,7 @@ void PowBackgroundManager_Main(PowBackgroundManager* this) {
if (super->action == 0) {
super->action = 1;
super->flags |= ENT_PERSIST;
SetDefaultPriority((Entity*)this, PRIO_PLAYER_EVENT);
SetEntityPriority((Entity*)this, PRIO_PLAYER_EVENT);
if (gArea.onEnter == NULL) {
RegisterTransitionManager(this, sub_0805AFFC, NULL);
} else {
+14 -12
View File
@@ -5,8 +5,10 @@
* @brief Creates pushable furniture based on a room property list.
*/
#include "manager/pushableFurnitureManager.h"
#include "flags.h"
#include "object.h"
#include "object/pushableFurniture.h"
#include "room.h"
void PushableFurnitureManager_Init(PushableFurnitureManager*);
@@ -35,16 +37,16 @@ void PushableFurnitureManager_Init(PushableFurnitureManager* this) {
this->unk_28 = 0;
this->unk_29 = 0;
while (tmp->unk_00 != 0xFF && super->timer < 0x20) {
Entity* obj;
obj = CreateObject(PUSHABLE_FURNITURE, tmp->unk_01, tmp->unk_02);
if (obj) {
obj->timer = tmp->unk_03;
obj->x.HALF.HI = gRoomControls.origin_x + tmp->unk_04;
obj->y.HALF.HI = gRoomControls.origin_y + tmp->unk_06;
obj->parent = (Entity*)this;
obj->collisionLayer = 1;
obj->field_0x82.HALF.HI = super->timer;
obj->field_0x82.HALF.LO = tmp->unk_00;
PushableFurnitureEntity* furniture =
(PushableFurnitureEntity*)CreateObject(PUSHABLE_FURNITURE, tmp->unk_01, tmp->unk_02);
if (furniture) {
furniture->base.timer = tmp->unk_03;
furniture->base.x.HALF.HI = gRoomControls.origin_x + tmp->unk_04;
furniture->base.y.HALF.HI = gRoomControls.origin_y + tmp->unk_06;
furniture->base.parent = (Entity*)this;
furniture->base.collisionLayer = 1;
furniture->unk_83 = super->timer;
furniture->unk_82 = tmp->unk_00;
this->unk_29 |= 1 << super->timer;
}
tmp++;
@@ -75,13 +77,13 @@ void PushableFurnitureManager_Action2(PushableFurnitureManager* this) {
void sub_0805C7CC(PushableFurnitureManager* this) {
if (gPlayerState.flags & PL_MINISH) {
if (gPlayerEntity.y.HALF.HI < this->unk_2a + 0x10) {
if (gPlayerEntity.base.y.HALF.HI < this->unk_2a + 0x10) {
super->subAction = 1;
} else {
super->subAction = 0;
}
} else {
if (gPlayerEntity.y.HALF.HI < this->unk_2a + 0x28) {
if (gPlayerEntity.base.y.HALF.HI < this->unk_2a + 0x28) {
super->subAction = 3;
} else {
super->subAction = 2;
+1 -1
View File
@@ -37,7 +37,7 @@ void CreateRepeatedSoundManager(Entity* entity, ScriptExecutionContext* context)
manager->id = REPEATED_SOUND_MANAGER;
manager->type = context->intVariable;
AppendEntityToList((Entity*)manager, 6);
SetDefaultPriority((Entity*)manager, PRIO_PLAYER_EVENT);
SetEntityPriority((Entity*)manager, PRIO_PLAYER_EVENT);
}
}
+13 -13
View File
@@ -92,7 +92,7 @@ void sub_080588F8(RollingBarrelManager* this) {
}
}
if (super->timer) {
s32 tmp = gPlayerEntity.y.HALF.HI - gRoomControls.origin_y;
s32 tmp = gPlayerEntity.base.y.HALF.HI - gRoomControls.origin_y;
u32 tmp2;
tmp2 = (((unsigned)(tmp - 0x50 < 0 ? 0x50 - tmp : tmp - 0x50) >> 3) * 0x3000) + 0x4000;
if (super->subtimer == 0) {
@@ -133,14 +133,14 @@ void sub_08058A04(RollingBarrelManager* this) {
{ 0x9C, 0x78, 0x1A, 0x16 }, { 0x9A, 0x70, 0x1A, 0x18 },
{ 0x98, 0x64, 0x1E, 0x1E }, { 0x98, 0x6A, 0x1C, 0x10 } };
s32 tmp = gPlayerEntity.x.HALF.HI - gRoomControls.origin_x;
s32 tmp2 = gPlayerEntity.y.HALF.HI - gRoomControls.origin_y;
s32 tmp = gPlayerEntity.base.x.HALF.HI - gRoomControls.origin_x;
s32 tmp2 = gPlayerEntity.base.y.HALF.HI - gRoomControls.origin_y;
if ((this->unk_20 - 0x118 < 0xDu) && CheckGlobalFlag(LV1TARU_OPEN) && (tmp - 0x6d < 0x17u) &&
(tmp2 - 0x45 < 0x17u) && (gPlayerEntity.z.HALF.HI == 0)) {
(tmp2 - 0x45 < 0x17u) && (gPlayerEntity.base.z.HALF.HI == 0)) {
gPlayerState.queued_action = PLAYER_FALL;
gPlayerState.field_0x38 = 0;
gPlayerEntity.x.HALF.HI = gRoomControls.origin_x + 0x78;
gPlayerEntity.y.HALF.HI = gRoomControls.origin_y + 0x50;
gPlayerEntity.base.x.HALF.HI = gRoomControls.origin_x + 0x78;
gPlayerEntity.base.y.HALF.HI = gRoomControls.origin_y + 0x50;
return;
}
if (tmp < 0x78) {
@@ -175,8 +175,8 @@ u32 sub_08058B08(RollingBarrelManager* this, u32 unk1, u32 unk2, const struct_08
tmp -= unk1;
tmp >>= 3;
unk3 += tmp;
tmp2 = (gPlayerEntity.x.HALF.HI - gRoomControls.origin_x - unk3->unk_0);
tmp3 = (gPlayerEntity.y.HALF.HI - gRoomControls.origin_y - unk3->unk_2);
tmp2 = (gPlayerEntity.base.x.HALF.HI - gRoomControls.origin_x - unk3->unk_0);
tmp3 = (gPlayerEntity.base.y.HALF.HI - gRoomControls.origin_y - unk3->unk_2);
return ((tmp2 < unk3->unk_4) && (tmp3 < unk3->unk_6));
}
}
@@ -229,8 +229,8 @@ void sub_08058BC8(RollingBarrelManager* this) {
void sub_08058CB0(RollingBarrelManager* this) {
static const u16 gUnk_08108300[4] = { 0xA4, 0x4C, 0xF4, 0x9C };
u32 tmp = gPlayerEntity.x.HALF.HI - gRoomControls.origin_x;
u32 tmp2 = gPlayerEntity.y.HALF.HI - gRoomControls.origin_y;
u32 tmp = gPlayerEntity.base.x.HALF.HI - gRoomControls.origin_x;
u32 tmp2 = gPlayerEntity.base.y.HALF.HI - gRoomControls.origin_y;
u32 tmp3;
if (tmp < 0x78) {
tmp3 = 1;
@@ -247,12 +247,12 @@ void sub_08058CB0(RollingBarrelManager* this) {
}
void sub_08058CFC(void) {
u32 tmp = gPlayerEntity.y.HALF.HI - gRoomControls.scroll_y;
u32 tmp = gPlayerEntity.base.y.HALF.HI - gRoomControls.scroll_y;
if (tmp < 0x4C) {
sub_080044AE(&gPlayerEntity, 0xC0, 0x10);
sub_080044AE(&gPlayerEntity.base, 0xC0, 0x10);
}
if (tmp > 0x54) {
sub_080044AE(&gPlayerEntity, 0xC0, 0);
sub_080044AE(&gPlayerEntity.base, 0xC0, 0);
}
}
+2 -2
View File
@@ -51,7 +51,7 @@ void SecretManager_Type0_Init(SecretManager* this) {
if (super->timer == 0) {
super->timer = 30;
}
SetDefaultPriority((Entity*)this, PRIO_PLAYER_EVENT);
SetEntityPriority((Entity*)this, PRIO_PLAYER_EVENT);
}
void SecretManager_Type0_Action1(SecretManager* this) {
@@ -94,7 +94,7 @@ void SecretManager_Type1_Init(SecretManager* this) {
super->timer = 30;
}
super->subtimer = super->timer;
SetDefaultPriority((Entity*)this, PRIO_PLAYER_EVENT);
SetEntityPriority((Entity*)this, PRIO_PLAYER_EVENT);
}
void SecretManager_Type1_Action1(SecretManager* this) {
+2 -2
View File
@@ -22,10 +22,10 @@ void SpecialWarpManager_Main(SpecialWarpManager* this) {
if (super->timer == 0 || gPlayerState.floor_type == SURFACE_LADDER) {
for (data = this->warpList; data->posX != 0xffff; data++) {
collisionLayer = (data->unk_07.all & 0x3);
if ((collisionLayer & gPlayerEntity.collisionLayer) != 0) {
if ((collisionLayer & gPlayerEntity.base.collisionLayer) != 0) {
if ((gPlayerState.flags & PL_MINISH) != 0 || data->unk_07.b.unk2 != 0) {
if (CheckPlayerInRegion(data->posX, data->posY, data->width, data->height) &&
gPlayerEntity.z.HALF.HI == 0) {
gPlayerEntity.base.z.HALF.HI == 0) {
DoExitTransition(GetCurrentRoomProperty(data->roomProperty));
}
}
+1 -1
View File
@@ -35,7 +35,7 @@ void StaticBackgroundManager_Main(StaticBackgroundManager* this) {
if (super->action == 0) {
super->action = 1;
super->flags |= ENT_PERSIST;
SetDefaultPriority((Entity*)this, PRIO_PLAYER_EVENT);
SetEntityPriority((Entity*)this, PRIO_PLAYER_EVENT);
if (super->type != 0) {
RegisterTransitionManager(this, sub_0805B4B4, NULL);
}
+5 -5
View File
@@ -334,14 +334,14 @@ void TempleOfDropletsManager_Type6_Action1(TempleOfDropletsManager* this) {
}
void TempleOfDropletsManager_Type6_Action2(TempleOfDropletsManager* this) {
if ((gPlayerEntity.health != 0) && (gPlayerEntity.z.HALF.HI == 0) && (!gPlayerState.item)) {
if ((gPlayerEntity.base.health != 0) && (gPlayerEntity.base.z.HALF.HI == 0) && (!gPlayerState.item)) {
switch (gPlayerState.framestate_last) {
case PL_STATE_IDLE:
case PL_STATE_WALK:
if (sub_0805A73C(this)) {
super->action++;
sub_08004168(&gPlayerEntity);
gPlayerEntity.animationState = 4;
sub_08004168(&gPlayerEntity.base);
gPlayerEntity.base.animationState = 4;
RequestPriorityDuration((Entity*)this, 600);
SetPlayerControl(0xFF);
gPauseMenuOptions.disabled = 1;
@@ -370,7 +370,7 @@ void TempleOfDropletsManager_Type7(TempleOfDropletsManager* this) {
}
super->subAction = 1;
super->flags |= ENT_PERSIST;
SetDefaultPriority((Entity*)this, PRIO_PLAYER_EVENT);
SetEntityPriority((Entity*)this, PRIO_PLAYER_EVENT);
break;
case 1:
if (CheckLocalFlag(this->unk_3e))
@@ -402,7 +402,7 @@ void TempleOfDropletsManager_Type7(TempleOfDropletsManager* this) {
void sub_0805AAC8(TempleOfDropletsManager*);
void sub_0805A89C(TempleOfDropletsManager* this) {
SetDefaultPriority((Entity*)this, PRIO_PLAYER_EVENT);
SetEntityPriority((Entity*)this, PRIO_PLAYER_EVENT);
super->action = 1;
super->flags |= ENT_PERSIST;
super->timer = 8;
+2 -2
View File
@@ -25,10 +25,10 @@ void TilePuzzleManager_Main(TilePuzzleManager* this) {
super->action = IN_PROGRESS;
super->subtimer = super->timer;
this->own_tile = (((this->x >> 4) & 0x3fU) | ((this->y >> 4) & 0x3fU) << 6);
this->player_previous_tile = this->player_current_tile = COORD_TO_TILE((&gPlayerEntity));
this->player_previous_tile = this->player_current_tile = COORD_TO_TILE((&gPlayerEntity.base));
break;
case 1:
this->player_current_tile = COORD_TO_TILE((&gPlayerEntity));
this->player_current_tile = COORD_TO_TILE((&gPlayerEntity.base));
if (this->player_current_tile != this->player_previous_tile) {
this->player_previous_tile = this->player_current_tile;
switch (GetMetaTileType(this->player_current_tile, super->type2)) {
+1 -1
View File
@@ -22,7 +22,7 @@ void Vaati3BackgroundManager_Main(Vaati3BackgroundManager* this) {
if (super->action == 0) {
super->action = 1;
super->flags |= ENT_PERSIST;
SetDefaultPriority((Entity*)this, PRIO_PLAYER_EVENT);
SetEntityPriority((Entity*)this, PRIO_PLAYER_EVENT);
if (gArea.onEnter == NULL) {
RegisterTransitionManager(this, sub_0805D470, NULL);
} else {
+9 -9
View File
@@ -63,20 +63,20 @@ void Vaati3StartManager_Type0_Action1(Vaati3StartManager* this) {
s32 distY;
Entity* object;
distX = gPlayerEntity.x.HALF.HI - (gRoomControls.origin_x + 0x88);
distY = gPlayerEntity.y.HALF.HI - (gRoomControls.origin_y + 0x40);
distX = gPlayerEntity.base.x.HALF.HI - (gRoomControls.origin_x + 0x88);
distY = gPlayerEntity.base.y.HALF.HI - (gRoomControls.origin_y + 0x40);
if (distX * distX + distY * distY < 0x901) {
super->action = 2;
super->subAction = 0;
super->timer = 120;
SetPlayerControl(2);
sub_08078B48();
PausePlayer();
object = CreateObject(THUNDERBOLT, 0, 0);
if (object != NULL) {
object->x.HALF.HI = gRoomControls.origin_x + 0x88;
object->y.HALF.HI = gRoomControls.origin_y + 0x48;
}
object = CreateSpeechBubbleExclamationMark(&gPlayerEntity, 8, 0xfffffff0);
object = CreateSpeechBubbleExclamationMark(&gPlayerEntity.base, 8, 0xfffffff0);
if (object != NULL) {
object->spritePriority.b0 = 3;
}
@@ -85,10 +85,10 @@ void Vaati3StartManager_Type0_Action1(Vaati3StartManager* this) {
}
void Vaati3StartManager_Type0_Action2(Vaati3StartManager* this) {
gPlayerEntity.animationState = 0;
if (gPlayerEntity.z.HALF.HI != 0) {
if (gPlayerEntity.y.HALF.HI < (gRoomControls.origin_y + 0x48)) {
gPlayerEntity.y.HALF.HI = gRoomControls.origin_y + 0x48;
gPlayerEntity.base.animationState = 0;
if (gPlayerEntity.base.z.HALF.HI != 0) {
if (gPlayerEntity.base.y.HALF.HI < (gRoomControls.origin_y + 0x48)) {
gPlayerEntity.base.y.HALF.HI = gRoomControls.origin_y + 0x48;
}
} else {
if (--super->timer == 0) {
@@ -100,7 +100,7 @@ void Vaati3StartManager_Type0_Action2(Vaati3StartManager* this) {
}
void Vaati3StartManager_Type0_Action3(Vaati3StartManager* this) {
if ((gMessage.doTextBox & 0x7f) == 0) {
if ((gMessage.state & MESSAGE_ACTIVE) == 0) {
if (super->timer != 0) {
super->timer--;
} else {
@@ -51,7 +51,7 @@ void sub_080575C8(u32 param) {
gMapTop.bgSettings = 0;
REG_DISPCNT = 0;
LoadGfxGroup(param);
gRoomVars.unk_10[0] = param;
gRoomVars.graphicsGroups[0] = param;
bgOffset = (gRoomControls.scroll_y - gRoomControls.origin_y);
bgOffset += bgOffset >> 3;
@@ -80,7 +80,7 @@ void sub_08057688(void) {
}
void sub_080576A0(void* this) {
LoadGfxGroup(gRoomVars.unk_10[0]);
LoadGfxGroup(gRoomVars.graphicsGroups[0]);
((VerticalMinishPathBackgroundManager*)this)->field_0x38 = NULL;
((VerticalMinishPathBackgroundManager*)this)->field_0x3c = NULL;
sub_0805754C((VerticalMinishPathBackgroundManager*)this);
+4 -4
View File
@@ -12,10 +12,10 @@
void WaterfallBottomManager_Main(WaterfallBottomManager* this) {
SetMetaTile(SPECIAL_META_TILE_20, TILE_POS(3, 23), LAYER_BOTTOM);
if ((gRoomControls.origin_y + 200 < gPlayerEntity.y.HALF.HI) &&
((u32)(gPlayerEntity.x.HALF.HI - gRoomControls.origin_x) - 0x30 < 0x11)) {
gPlayerEntity.collisionLayer = 3;
UpdateSpriteForCollisionLayer(&gPlayerEntity);
if ((gRoomControls.origin_y + 200 < gPlayerEntity.base.y.HALF.HI) &&
((u32)(gPlayerEntity.base.x.HALF.HI - gRoomControls.origin_x) - 0x30 < 0x11)) {
gPlayerEntity.base.collisionLayer = 3;
UpdateSpriteForCollisionLayer(&gPlayerEntity.base);
}
DeleteManager(super);
}
+6 -6
View File
@@ -44,7 +44,7 @@ void WeatherChangeManager_Main(WeatherChangeManager* this) {
this->unk_20 = 0x1F;
this->unk_22 = 5;
}
gRoomVars.unk_10[0] = 0xFF;
gRoomVars.graphicsGroups[0] = 0xFF;
RegisterTransitionManager(this, sub_080595E4, 0);
}
sub_08059608(this);
@@ -53,7 +53,7 @@ void WeatherChangeManager_Main(WeatherChangeManager* this) {
}
void sub_080595E4(WeatherChangeManager* this) {
gRoomVars.unk_10[0] = 0xFF;
gRoomVars.graphicsGroups[0] = 0xFF;
sub_08059690(this);
sub_080596E0(this);
LoadStaticBackground(0);
@@ -132,8 +132,8 @@ void sub_080596E0(WeatherChangeManager* this) {
}
break;
}
if (gRoomVars.unk_10[0] != this->unk_22) {
gRoomVars.unk_10[0] = this->unk_22;
if (gRoomVars.graphicsGroups[0] != this->unk_22) {
gRoomVars.graphicsGroups[0] = this->unk_22;
switch (this->unk_22) {
case 0 ... 3:
LoadGfxGroup(this->unk_22 + 0x2B);
@@ -151,11 +151,11 @@ void sub_080596E0(WeatherChangeManager* this) {
}
u32 sub_08059844(void) {
return gPlayerEntity.x.HALF.HI - gRoomControls.origin_x > gRoomControls.width >> 1;
return gPlayerEntity.base.x.HALF.HI - gRoomControls.origin_x > gRoomControls.width >> 1;
}
u32 sub_0805986C(void) {
return gPlayerEntity.x.HALF.HI - gRoomControls.origin_x > 0x200;
return gPlayerEntity.base.x.HALF.HI - gRoomControls.origin_x > 0x200;
}
void sub_08059894(const u16* palette1, const u16* palette2, u32 factor) {