Skip to content

Commit

Permalink
Shiftable BSS
Browse files Browse the repository at this point in the history
  • Loading branch information
ethteck committed Jul 20, 2023
1 parent e6b5b03 commit 72924bf
Show file tree
Hide file tree
Showing 78 changed files with 673 additions and 572 deletions.
2 changes: 1 addition & 1 deletion include/effects.h
Original file line number Diff line number Diff line change
Expand Up @@ -3058,7 +3058,7 @@ EffectInstance* huff_puff_breath_main(s32, f32, f32, f32, f32, f32, f32, s32);
EffectInstance* cold_breath_main(s32, f32, f32, f32, f32, s32);
EffectInstance* embers_main(s32, f32, f32, f32, f32, f32, f32, s32, s32, f32, f32);
EffectInstance* hieroglyphs_main(s32, f32, f32, f32, f32, s32);
EffectInstance *misc_particles_main(s32, f32, f32, f32, f32, f32, f32, s32, s32);
EffectInstance* misc_particles_main(s32, f32, f32, f32, f32, f32, f32, s32, s32);
EffectInstance* static_status_main(s32, f32, f32, f32, f32, s32, s32);
EffectInstance* moving_cloud_main(s32, f32, f32, f32, f32, f32, f32, f32, f32);
EffectInstance* effect_75_main(s32, f32, f32, f32, f32, s32);
Expand Down
139 changes: 3 additions & 136 deletions include/variables.h
Original file line number Diff line number Diff line change
Expand Up @@ -13,51 +13,26 @@ extern GameStatus gGameStatus;
extern GameStatus* gGameStatusPtr;
extern u32 gRandSeed;
extern ItemData gItemTable[365];
extern UNK_FUN_PTR(gCurrentUpdateFunction);
extern MoveData gMoveTable[185];

extern s32 gBattleState;
extern BattleStatus gBattleStatus;
extern s32 gLastDrawBattleState;
extern s32 D_800DC4D4;
extern s32 gDefeatedBattleSubstate;
extern s32 gBattleSubState;
extern s32 gDefeatedBattleState;
extern s32 gCurrentBattleID;
extern s32 D_800DC4E0;
extern s32 gCurrentStageID;
extern s32 D_800DC4F0;
extern struct Battle* gOverrideBattlePtr;
extern s32 D_800DC4F8;

extern s32 D_802DAC98;

extern EntityList gWorldEntityList;
extern EntityList gBattleEntityList;
extern EntityList* gCurrentEntityListPtr;

extern WorkerList gWorldWorkerList;
extern WorkerList gBattleWorkerList;
extern WorkerList* gCurrentWorkerListPtr;

extern NpcList gWorldNpcList;
extern NpcList gBattleNpcList;
extern NpcList* gCurrentNpcListPtr;

extern ShadowList gWorldShadowList;
extern ShadowList gBattleShadowList;
extern ShadowList* gCurrentShadowListPtr;

extern Camera gCameras[4];
extern s32 gCurrentCameraID;

extern CollisionData gCollisionData;

extern s8 D_800A0900;
extern f32 GravityParamsStartFall[];
extern s16 FootstepSoundSelector;
extern u8* gBackgroundFogModePtr;
extern u16 gCurrentRoomDoorSounds;
extern s32 gEntityHideMode;

extern s32 D_8010C92C;
Expand All @@ -73,79 +48,30 @@ extern f32 D_800F7B74;
extern CollisionData gZoneCollisionData;

// Animation related
extern AnimatedMeshList* gCurrentAnimMeshListPtr;

extern PartnerAnimations gPartnerAnimations[12];

// Triggers
extern s16 gTriggerCount;
extern TriggerList wTriggerList;
extern TriggerList bTriggerList;
extern TriggerList* gCurrentTriggerListPtr;

// Map transition data. Should probably be a struct
extern s16 gMapTransitionAlpha;
extern s8 D_800A0930;
extern s8 D_800A0931;
extern s16 D_800A0932[1];
extern s16 gMapTransitionFadeRate;
extern s16 gMapTransitionState;
extern s16 gMapTransitionStateTime;
extern s16 gLoadedFromFileSelect;
extern s16 D_800A0954;
extern s16 D_800A0956;
extern s16 D_800A0958;
extern s16 D_800A095A;
extern u8 D_800A095B;
extern s16 D_800A095C;
extern u8 D_800A095D;
extern s16 D_800A095E;
extern u8 D_800A095F;
extern s32 D_800A0960;
extern s32 D_800A0964;
extern s8 gNpcPlayerCollisionsEnabled;
extern s16 D_800A0BB8;

extern SpriteShadingProfile* gAuxSpriteShadingProfile;
extern SpriteShadingProfile* gSpriteShadingProfile;

extern Window gWindows[64];

extern s32 gEncounterState;
extern s16 gNpcCount;
extern s32 gOverrideFlags;
extern s16 D_8009A6A0;
extern s16 D_8009A6A2;
extern s16 D_8009A6A4;
extern s16 D_8009A6A6;

extern s8 D_800A0920;
extern s32 SavedReverbMode;
extern s8 D_800A0921;
extern s16 D_800A0922;

extern char wMapTexName[];
extern char wMapHitName[];
extern char wMapShapeName[];
extern char wMapBgName[];
extern u8 D_802D9D70; // player alpha1 copy?
extern u8 D_802D9D71; // player alpha2 copy?

extern DisplayContext D_80164000[];
extern DisplayContext D_80164000[2];

extern WindowStyle gWindowStyles[];

extern MessagePrintState gMessagePrinters[3];

extern f32 gCurtainScale;
extern f32 gCurtainScaleGoal;
extern f32 gCurtainFade;
extern f32 gCurtainFadeGoal;
extern UNK_FUN_PTR(gCurtainDrawCallback);

extern u16 gCurrentDoorSounds;
extern u16 gCurrentRoomDoorSounds;

extern UNK_TYPE D_800E92D8;
extern UNK_TYPE D_80147574;
extern b8 D_8014C248;

extern UNK_FUN_PTR(TalkNotificationCallback);
Expand All @@ -159,7 +85,6 @@ extern Entity* TweesterTouchingPlayer;
extern s32 PrevPlayerDirection;
extern s32 PeachDisguiseNpcIndex;
extern s32 D_8010C980;
extern s32 D_8010C9A0;
extern s32 PrevPlayerCamRelativeYaw;
extern s32 D_800F7B44;
extern f32 D_8010C938;
Expand All @@ -174,13 +99,7 @@ extern s32 timeFreezeMode;
extern s32 D_8009A678;

extern u8 D_800779B0;
extern u32 D_80078174;
extern s32 D_8008EEC0[12]; // partner IDs
extern u8 D_800A0963;

extern s32 D_802EA310[];
extern s32 Entity_WoodenCrate_RenderShatteredScript[];


// Scripts
extern EvtScript EVS_NpcDefeat;
Expand All @@ -189,31 +108,12 @@ extern EvtScript ShakeCamX;

extern MusicSettings gMusicSettings[4];

// OS
extern OSThread IdleThread; // idle thread, id 1
extern OSThread MainThread; // id 3
extern OSDevMgr __osPiDevMgr;

// gfx
extern DisplayContext* gDisplayContext;
extern Gfx* gMainGfxPos;
extern u16 gMatrixListPos;
extern s32 gCurrentDisplayContextIndex;

extern s32 D_80291FA8[];
extern s32 D_80291FD0[];
extern s32 D_80291FF8[];
extern s32 D_80292020[];
extern s32 D_80292048[];
extern s32 D_80292070[];
extern s32 D_80292098[];
extern s32 D_802920C0[];
extern s32 D_802920E8[];
extern s32 D_80292110[];

extern AnimID KoopatrolDisguiseExtraAnims[];
extern AnimID HammerBroDisguiseExtraAnims[];

extern s16 gCurrentCamID;

extern s32 D_8029C890[10][5];
Expand All @@ -224,39 +124,6 @@ extern u32 bMarioIdleAnims[];
extern s32 bMarioDefendAnims[];
extern s32 bPeachIdleAnims[];

extern s32 D_802EBFF0[];
extern s32 D_802EC010[];
extern s32 D_802EC030[];
extern s32 D_802EC050[];
extern s32 D_802EC070[];
extern s32 D_802EC090[];
extern s32 D_802EC0B0[];
extern s32 D_802EC0D0[];
extern s32 D_802EC0F0[];
extern s32 D_802EC110[];
extern s32 D_802EC130[];
extern s32 D_802EC150[];
extern s32 D_802EC170[];
extern s32 D_802EC190[];
extern s32 D_802EC1B0[];
extern s32 D_802EC1D0[];
extern s32 D_802EC1F0[];
extern s32 D_802EC210[];
extern s32 D_802EC230[];
extern s32 D_802EC250[];
extern s32 D_802EC270[];
extern s32 D_802EC290[];
extern s32 D_802EC2B0[];
extern s32 D_802EC2D0[];
extern s32 D_802EC2F0[];
extern s32 D_802EC310[];
extern s32 D_802EC330[];
extern s32 D_802EC350[];
extern s32 D_802EC370[];
extern s32 D_802EC390[];
extern s32 D_802EC3B0[];
extern s32 D_802EC3D0[];

extern PartnerStatus gPartnerStatus;
extern UiStatus gUIStatus;
extern PlayerStatus gPlayerStatus;
Expand Down
6 changes: 6 additions & 0 deletions src/111f0_len_860.c
Original file line number Diff line number Diff line change
@@ -1,6 +1,12 @@
#include "common.h"
#include "nu/nusys.h"

SHIFT_BSS s16 gMapTransitionAlpha;
SHIFT_BSS s16 gMapTransitionFadeRate;
SHIFT_BSS s16 gMapTransitionState;
SHIFT_BSS s16 gMapTransitionStateTime;
SHIFT_BSS s16 gLoadedFromFileSelect;

void set_map_change_fade_rate(s16 fadeRate) {
gMapTransitionFadeRate = fadeRate;
}
Expand Down
4 changes: 2 additions & 2 deletions src/16c8e0.c
Original file line number Diff line number Diff line change
Expand Up @@ -831,11 +831,11 @@ void tattle_cam_pre_render(Camera* camera) {
gSPClipRatio(gMainGfxPos++, FRUSTRATIO_2);
gDPPipeSync(gMainGfxPos++);
gDPSetCycleType(gMainGfxPos++, G_CYC_FILL);
gDPSetColorImage(gMainGfxPos++, G_IM_FMT_RGBA, G_IM_SIZ_16b, 320, osVirtualToPhysical(nuGfxZBuffer));
gDPSetColorImage(gMainGfxPos++, G_IM_FMT_RGBA, G_IM_SIZ_16b, SCREEN_WIDTH, osVirtualToPhysical(nuGfxZBuffer));
gDPSetFillColor(gMainGfxPos++, PACK_FILL_DEPTH(G_MAXFBZ, 0));
gDPFillRectangle(gMainGfxPos++, cam->viewportStartX, cam->viewportStartY, cam->viewportStartX + cam->viewportW - 1, cam->viewportStartY + cam->viewportH - 1);
gDPPipeSync(gMainGfxPos++);
gDPSetColorImage(gMainGfxPos++, G_IM_FMT_RGBA, G_IM_SIZ_16b, 320, osVirtualToPhysical(nuGfxCfb_ptr));
gDPSetColorImage(gMainGfxPos++, G_IM_FMT_RGBA, G_IM_SIZ_16b, SCREEN_WIDTH, osVirtualToPhysical(nuGfxCfb_ptr));

if (!(gGameStatusPtr->backgroundFlags & BACKGROUND_FLAG_TEXTURE)) {
gDPSetCycleType(gMainGfxPos++, G_CYC_FILL);
Expand Down
1 change: 0 additions & 1 deletion src/17D6A0.c
Original file line number Diff line number Diff line change
Expand Up @@ -2666,7 +2666,6 @@ PartnerDMAData bPartnerDmaTable[] = {
BATTLE_PARTNER_ENTRY(twink, 30),
};

// BSS
BSS PopupMessage popupMessages[32];
BSS s16 D_8029F640;
BSS s16 D_8029F642;
Expand Down
8 changes: 7 additions & 1 deletion src/77480.c
Original file line number Diff line number Diff line change
Expand Up @@ -17,9 +17,15 @@
#define i_spy_VRAM_DEF (void*)0x802B7000
#endif

SHIFT_BSS UNK_FUN_PTR(ISpyNotificationCallback);
SHIFT_BSS UNK_FUN_PTR(PulseStoneNotificationCallback);
SHIFT_BSS UNK_FUN_PTR(TalkNotificationCallback);
SHIFT_BSS UNK_FUN_PTR(InteractNotificationCallback);
SHIFT_BSS s32 D_8010C950;
SHIFT_BSS s8 D_8015A57A;

extern f32 D_800F7B48;
extern s32 D_800F7B4C;
extern s8 D_8015A57A;
extern s32 WorldTattleInteractionID;

s32 player_raycast_down(f32*, f32*, f32*, f32*);
Expand Down
10 changes: 10 additions & 0 deletions src/7B440.c
Original file line number Diff line number Diff line change
@@ -1,5 +1,15 @@
#include "common.h"

SHIFT_BSS s32 PeachDisguiseNpcIndex;
SHIFT_BSS Entity* TweesterTouchingPartner;
SHIFT_BSS Entity* TweesterTouchingPlayer;
SHIFT_BSS s32 PrevPlayerDirection;
SHIFT_BSS s32 D_8010C980;
SHIFT_BSS f32 D_8010C938;
SHIFT_BSS f32 D_8010C990;
SHIFT_BSS PlayerSpinState gPlayerSpinState;
SHIFT_BSS s32 D_8010C9A0;

void update_player_input(void) {
PlayerStatus* playerStatus = &gPlayerStatus;
s32 inputBufPos = playerStatus->inputBufPos;
Expand Down
17 changes: 9 additions & 8 deletions src/7E9D0.c
Original file line number Diff line number Diff line change
Expand Up @@ -13,14 +13,15 @@
#define PLAYER_ACTION_VRAM_DEF (void*) 0x802B6000
#endif

extern void* D_8010C924;
extern s32 D_8010C964;
extern s32 gSpinHistoryBufferPos;
extern s16 D_8010C9B0;
extern s32 gSpinHistoryPosY[5];
extern s32 gSpinHistoryPosX[5];
extern s32 gSpinHistoryPosZ[5];
extern s16 gSpinHistoryPosAngle[5];
SHIFT_BSS void* D_8010C924;
SHIFT_BSS s32 D_8010C92C;
SHIFT_BSS s32 D_8010C964;
SHIFT_BSS s32 gSpinHistoryBufferPos;
SHIFT_BSS s16 D_8010C9B0;
SHIFT_BSS s32 gSpinHistoryPosY[5];
SHIFT_BSS s32 gSpinHistoryPosX[5];
SHIFT_BSS s32 gSpinHistoryPosZ[5];
SHIFT_BSS s16 gSpinHistoryPosAngle[5];

void func_800E5520(void) {
D_8010C9B0 = 0;
Expand Down
10 changes: 6 additions & 4 deletions src/7bb60_len_41b0.c
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,13 @@
#include "world/partners.h"
#include "sprite/player.h"

SHIFT_BSS CollisionStatus gCollisionStatus;
SHIFT_BSS f32 D_8010C928;
SHIFT_BSS f32 JumpedOnSwitchX;
SHIFT_BSS f32 JumpedOnSwitchZ;
SHIFT_BSS f32 D_8010C984;

extern f32 GravityParamsStartJump[];
extern f32 D_8010C928;
extern f32 JumpedOnSwitchX;
extern f32 JumpedOnSwitchZ;
extern f32 D_8010C984;

s32 collision_check_player_intersecting_world(s32 mode, s32 arg1, f32 yaw);
s32 phys_check_interactable_collision(void);
Expand Down
2 changes: 2 additions & 0 deletions src/80850_len_3060.c
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
#include "common.h"
#include "hud_element.h"

SHIFT_BSS UiStatus gUIStatus;

extern HudScript* TimesHudScript;
extern HudScript* SPIncrementHudScripts[];
extern HudScript* SPStarHudScripts[];
Expand Down
9 changes: 7 additions & 2 deletions src/8800.c
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,17 @@
#include "hud_element.h"
#include "camera.h"

//extern f32 D_8009A5EC; TODO BSS

void render_models(void);
void execute_render_tasks(void);
void render_item_entities(void);

SHIFT_BSS f32 D_8009A5EC;
SHIFT_BSS s16 gCurrentCamID;
SHIFT_BSS u16* nuGfxCfb_ptr;
SHIFT_BSS Gfx* gMainGfxPos;
SHIFT_BSS DisplayContext* gDisplayContext;
SHIFT_BSS Camera gCameras[4];

void update_cameras(void) {
s32 i;

Expand Down
4 changes: 2 additions & 2 deletions src/891b0_len_fb0.c
Original file line number Diff line number Diff line change
Expand Up @@ -26,8 +26,8 @@ s32 D_801094A8 = 0;
s16 D_801094AC = 4;
s16 D_801094AE = 4;

extern s32 D_8010CFF0;
extern s32 D_8010CFF4;
SHIFT_BSS s32 D_8010CFF0;
SHIFT_BSS s32 D_8010CFF4;

void func_800EFD00(void) {
}
Expand Down
2 changes: 1 addition & 1 deletion src/8a160_len_700.c
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ typedef struct Unk8a160Outer {
/* 0x00 */ Unk8a160 subs[57]; // one base + 56 others?
} Unk8a160Outer;

extern Unk8a160Outer D_8010D000[1];
SHIFT_BSS Unk8a160Outer D_8010D000[1];

void func_800F0CB0(s32 arg0, f32 x, f32 y, f32 scale) {
Unk8a160Outer* outer = &D_8010D000[arg0];
Expand Down
Loading

0 comments on commit 72924bf

Please sign in to comment.