papermario/include/variables.h

325 lines
7.9 KiB
C
Raw Normal View History

2020-07-18 02:47:33 +02:00
#ifndef _VARIABLES_H_
#define _VARIABLES_H_
#include "ultra64.h"
#include "common_structs.h"
2020-08-10 23:35:37 +02:00
#include "types.h"
2020-10-13 03:28:01 +02:00
#include "macros.h"
#include "enums.h"
2020-07-18 02:47:33 +02:00
2020-08-16 05:19:00 +02:00
extern UiStatus gUIStatus;
extern PlayerData gPlayerData;
extern ActionState gPlayerActionState;
extern PlayerAnim gPlayerAnimation;
2020-08-16 05:19:00 +02:00
extern PlayerStatus gPlayerStatus;
2020-09-22 05:10:53 +02:00
extern PlayerStatus* gPlayerStatusPtr;
2020-10-03 22:04:49 +02:00
extern CollisionStatus gCollisionStatus;
2020-08-16 05:19:00 +02:00
extern GameStatus* gGameStatusPtr[1];
2020-09-14 01:03:22 +02:00
extern s32 gRandSeed;
extern StaticItem gItemTable[364];
2020-08-17 14:40:21 +02:00
extern s16 gMainGameState; /* 0 = battle, 1 = pause, 2 = world */
extern UNK_FUN_PTR(gCurrentUpdateFunction);
2020-08-14 16:25:33 +02:00
2020-10-16 22:29:55 +02:00
extern s32 gBattleState;
2020-09-22 02:56:17 +02:00
extern BattleStatus gBattleStatus;
2020-10-17 05:47:10 +02:00
extern s32 gBattleDmaDest;
2020-09-22 02:56:17 +02:00
2020-10-13 03:28:01 +02:00
extern ScriptList gWorldScriptList;
extern ScriptList gBattleScriptList;
extern ScriptList* gCurrentScriptListPtr;
2020-08-14 16:25:33 +02:00
2020-09-18 22:57:52 +02:00
extern s32 gNumScripts;
extern s32 D_802DAC98;
2020-08-14 16:25:33 +02:00
2020-09-08 15:06:17 +02:00
extern s32 gScriptListCount;
2020-09-06 17:53:48 +02:00
2020-10-13 03:28:01 +02:00
extern s32 gScriptIdList[MAX_SCRIPTS];
extern s32 gScriptIndexList[MAX_SCRIPTS];
2020-08-17 14:40:21 +02:00
2020-10-17 23:48:43 +02:00
extern s32 gMoveScriptTable[][4];
2020-10-16 08:09:20 +02:00
extern ModelList gWorldModelList;
extern ModelList gBattleModelList;
extern ModelList* gCurrentModelListPtr;
2020-08-17 14:40:21 +02:00
// TODO: potentially a display list, figure this out
2020-08-17 14:40:21 +02:00
extern u32* gWorldModelSpecialDls[32];
extern u32* gBattleModelSpecialDls[32];
extern u32** gCurrentModelSpecialDlsPtr[32];
extern EntityList gWorldEntityList;
extern EntityList gBattleEntityList;
extern EntityList* gCurrentEntityListPtr;
2020-10-08 21:03:58 +02:00
extern s32 gLastCreatedEntityIndex;
2020-08-17 14:40:21 +02:00
extern DynamicEntityList gWorldDynamicEntityList;
extern DynamicEntityList gBattleDynamicEntityList;
extern DynamicEntityList* gCurrentDynamicEntityListPtr;
2020-09-25 23:18:09 +02:00
extern NpcList gWorldNpcList;
extern NpcList gBattleNpcList;
extern NpcList* gCurrentNpcListPtr;
2020-08-17 14:40:21 +02:00
extern ShadowList gWorldShadowList;
extern ShadowList gBattleShadowList;
extern ShadowList* gCurrentShadowListPtr;
2020-08-17 14:40:21 +02:00
extern Camera gCameras[4];
2020-09-06 17:53:48 +02:00
extern s32 gCurrentCameraID;
extern Npc* gPlayerNpcPtr;
Various meta work and some decomp (#184) * some * DeadUnkTexturePanFunc * DeadUnkTexturePanFunc2 * move guOrthoF to os * up * git subrepo pull tools/splat subrepo: subdir: "tools/splat" merged: "ae2cce951d" upstream: origin: "https://github.com/ethteck/splat.git" branch: "master" commit: "ae2cce951d" git-subrepo: version: "0.4.3" origin: "https://github.com/ingydotnet/git-subrepo" commit: "2f68596" * Updating bin dir * git subrepo pull tools/splat subrepo: subdir: "tools/splat" merged: "5517f520e4" upstream: origin: "https://github.com/ethteck/splat.git" branch: "master" commit: "5517f520e4" git-subrepo: version: "0.4.3" origin: "https://github.com/ingydotnet/git-subrepo" commit: "2f68596" * git subrepo pull tools/splat subrepo: subdir: "tools/splat" merged: "fe48dc3b3a" upstream: origin: "https://github.com/ethteck/splat.git" branch: "master" commit: "fe48dc3b3a" git-subrepo: version: "0.4.3" origin: "https://github.com/ingydotnet/git-subrepo" commit: "2f68596" * revert garbage * :OK: * git subrepo pull tools/splat subrepo: subdir: "tools/splat" merged: "8c86e4b95b" upstream: origin: "https://github.com/ethteck/splat.git" branch: "master" commit: "8c86e4b95b" git-subrepo: version: "0.4.3" origin: "https://github.com/ingydotnet/git-subrepo" commit: "2f68596" * data migration * 3 * .rodata migration and a buncha funcs * 2 mo * some decomp, a file boundary fix * cleanup * UnkNpaAIFunc13s * Update symbol_addrs * remove sublist * deleted asm * data fix * fix data * wtf?! * git subrepo pull tools/splat subrepo: subdir: "tools/splat" merged: "88ce6b44a6" upstream: origin: "https://github.com/ethteck/splat.git" branch: "master" commit: "88ce6b44a6" git-subrepo: version: "0.4.3" origin: "https://github.com/ingydotnet/git-subrepo" commit: "2f68596" * symbol_addrs update * blah * PR comments
2021-02-16 11:32:34 +01:00
extern CollisionData gCollisionData;
extern s8 D_800A0900;
2020-09-06 17:53:48 +02:00
extern EncounterStatus gCurrentEncounter;
extern s8* D_801512F0;
2020-09-27 03:02:29 +02:00
extern s16 D_80151308;
extern s32 D_80151310;
2020-07-18 02:47:33 +02:00
extern s16* D_80151328;
2020-08-09 06:20:53 +02:00
extern s16 D_8010CD10;
extern s16 D_8010CD12;
2020-09-25 23:18:09 +02:00
extern s32 D_8010CD20;
2020-09-26 04:49:59 +02:00
extern s32 D_8010EF08;
extern s32 D_801595A0;
2020-08-16 05:19:00 +02:00
extern BackgroundHeader gBackgroundImage;
2020-07-18 02:47:33 +02:00
2020-08-16 05:19:00 +02:00
extern PrintContext* gCurrentPrintContext;
2020-09-26 03:51:54 +02:00
extern s32 D_802DB264;
2020-08-16 05:19:00 +02:00
extern PrintContext* D_802DB268;
2020-11-02 05:31:33 +01:00
extern s32 D_802EB390;
extern s32 D_802EB394;
extern PrintContext* D_802EB398;
extern PrintContext* D_802EB39C;
extern s32 D_802E99DC;
2020-11-08 01:30:14 +01:00
extern f64 D_802EB000;
extern f64 D_802EB008;
extern Entity* D_802EB3A0;
2021-01-15 23:16:41 +01:00
extern s32 D_8015C7D0[3];
2020-11-08 21:23:39 +01:00
extern UNK_TYPE D_0A0031E0;
extern UNK_TYPE D_0A001508;
extern UNK_TYPE D_0A0031B0;
extern UNK_TYPE D_0A0014D8;
extern UNK_TYPE D_0A002F78;
extern UNK_TYPE D_0A001218;
extern UNK_TYPE D_0A003F70;
extern UNK_TYPE D_0A002318;
2020-11-08 05:33:15 +01:00
// Animation related
2020-11-08 21:40:26 +01:00
extern AnimatedMeshList* gCurrentAnimMeshListPtr;
2020-11-08 05:33:15 +01:00
extern PartnerAnimations gPartnerAnimations[12];
2020-11-08 21:40:26 +01:00
extern AnimatedModelList gBattleMeshAnimationList;
extern AnimatedModelList gWorldMeshAnimationList;
extern AnimatedModelList* gCurrentMeshAnimationListPtr;
2020-11-08 05:33:15 +01:00
2020-08-13 07:03:47 +02:00
// Triggers
2020-08-19 02:23:52 +02:00
extern s16 gTriggerCount;
extern TriggerList gTriggerList1;
extern TriggerList gTriggerList2;
extern TriggerList* gCurrentTriggerListPtr;
2020-08-13 07:03:47 +02:00
2020-10-15 00:22:43 +02:00
// Map transition data. Should probably be a struct
extern u16 gMapTransitionAlpha;
2020-10-15 00:22:43 +02:00
extern s16 D_800A0942;
extern s16 D_800A0944;
2020-11-06 01:30:17 +01:00
extern s16 D_800A0946;
extern s16 D_800A0948;
2020-10-15 00:22:43 +02:00
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 s16 D_800A0BB8;
2020-11-12 19:38:17 +01:00
extern UIPanel gUIPanels[64];
2020-10-16 00:11:56 +02:00
// Pause
2020-11-10 17:27:02 +01:00
extern s32 gPauseMenuHeldButtons;
extern s32 gPauseMenuPressedButtons;
extern s32 gPauseMenuCurrentDescString;
extern Bytecode* gPauseMenuCurrentDescIconScript;
extern s8 gPauseMenuCurrentTab;
extern s32 gPauseMenuCommonIconIDs[8];
2020-11-10 16:11:43 +01:00
extern s32 gPauseMenuTabIconIDs[6];
2020-10-16 04:05:04 +02:00
extern s32 gPauseMenuStrings[348];
2020-11-10 16:11:43 +01:00
extern s32 gPauseMenuIconScripts[8];
extern MenuTab* gPauseMenuTabs[7];
2020-11-10 20:43:24 +01:00
extern s32 gPauseMenuCursorPosX;
extern s32 gPauseMenuCursorPosY;
2020-11-10 16:11:43 +01:00
extern s32 gPauseMenuCursorOpacity;
2020-11-10 20:43:24 +01:00
extern s32 gPauseMenuTargetPosX;
extern s32 gPauseMenuTargetPosY;
2020-11-10 04:48:47 +01:00
extern s32 gPauseMenuCursorTargetOpacity;
2020-11-10 17:27:02 +01:00
extern u8 gPauseMenuTextScrollInterpEasingLUT[16];
extern u8 gPauseMenuPageScrollInterpEasingLUT[16];
2020-10-16 00:11:56 +02:00
2020-11-10 05:23:01 +01:00
// Badges
extern s32 gBadgeMenuCurrentScrollPos;
extern s32 gBadgeMenuTargetScrollPos;
2020-11-10 06:08:44 +01:00
extern ItemId gBadgeMenuItemIDs[128];
extern s32 gBadgeMenuCurrentPage;
2020-11-12 06:18:35 +01:00
extern PauseItemPage gBadgeMenuPages[20];
extern s32 gBadgeMenuSelectedIndex;
extern s32 gBadgeMenuSelectedItemID;
extern s16 gBadgeMenuNumItems;
extern s32 D_80270388;
extern s32 D_80270394;
extern s32 gBadgeMenuLevel;
extern s32 gBadgeMenuCurrentTab;
extern s32 gBadgeMenuBShowNotEnoughBP;
extern s32 D_802703A4;
extern s32 D_802703A8;
2020-11-10 06:08:44 +01:00
2020-11-12 06:32:25 +01:00
// Items
extern s16 gItemMenuItemIDs[100];
extern s32 gItemMenuCurrentPage;
extern PauseItemPage gItemMenuPages[20];
extern s32 gItemMenuSelectedIndex;
extern s32 gItemMenuSelectedItemID;
extern s16 gItemMenuNumItems;
extern s32 D_802705D0;
extern s32 gItemMenuCurrentScrollPos;
extern s32 gItemMenuTargetScrollPos;
extern s32 D_802705DC;
extern s32 gItemMenuLevel;
extern s32 gItemMenuCurrentTab;
extern s32 gItemMenuScrollUpIcon;
2020-11-10 06:08:44 +01:00
// Stats
extern s32 gStatsMenuIconIDs[12];
2020-10-16 00:11:56 +02:00
2020-09-06 17:53:48 +02:00
extern s32 gGameState;
extern s32 D_8009A650[1];
2020-10-14 18:11:59 +02:00
extern u16 D_8009A6A0;
extern u16 D_8009A6A2;
extern u16 D_8009A6A4;
extern u16 D_8009A6A6;
extern s16 gCurrentDoorSoundsSet;
2020-10-02 08:07:54 +02:00
extern s32 D_800D9620;
2020-08-10 23:35:37 +02:00
extern UNK_TYPE D_800E92D8;
extern UNK_TYPE D_80147574;
2020-08-10 23:35:37 +02:00
extern UNK_TYPE D_80109270;
extern UNK_TYPE D_80108558;
2020-12-04 23:36:25 +01:00
extern s32 D_80108248;
extern s32 D_80108518;
extern s32 D_80108270;
extern s32 D_80108538;
extern s32 D_80080FC4;
extern s32 D_801086AC;
extern s32 D_801083D8;
extern s32 D_80108068;
extern s32 D_80104BEC;
2020-08-20 20:43:45 +02:00
extern UNK_TYPE D_8010F250; // play_sound state struct?
2020-10-03 22:04:49 +02:00
extern s8 D_8010EBB0[];
2020-08-10 23:35:37 +02:00
2020-10-16 00:11:56 +02:00
// Effects
extern EffectTableEntry gEffectTable[135];
2020-09-18 22:48:52 +02:00
//nusys
extern OSPiHandle* carthandle;
2020-09-19 17:16:02 +02:00
extern SaveData gCurrentSaveFile;
extern u32* gMapFlags;
extern u32* gMapVars;
2020-09-27 03:02:29 +02:00
extern f32 D_80286540;
2020-09-19 17:16:02 +02:00
2020-10-14 03:55:04 +02:00
extern u32 gWorldMapVars[MAX_MAPVARS];
extern u32 gBattleMapVars[MAX_MAPVARS];
extern u32 gWorldMapFlags[MAX_MAPFLAGS];
extern u32 gBattleMapFlags[MAX_MAPFLAGS];
extern s32 D_8009A5D8;
2020-10-15 00:22:43 +02:00
extern u8 D_800779B0;
2020-12-08 11:50:14 +01:00
extern u32 D_80078174;
Various meta work and some decomp (#184) * some * DeadUnkTexturePanFunc * DeadUnkTexturePanFunc2 * move guOrthoF to os * up * git subrepo pull tools/splat subrepo: subdir: "tools/splat" merged: "ae2cce951d" upstream: origin: "https://github.com/ethteck/splat.git" branch: "master" commit: "ae2cce951d" git-subrepo: version: "0.4.3" origin: "https://github.com/ingydotnet/git-subrepo" commit: "2f68596" * Updating bin dir * git subrepo pull tools/splat subrepo: subdir: "tools/splat" merged: "5517f520e4" upstream: origin: "https://github.com/ethteck/splat.git" branch: "master" commit: "5517f520e4" git-subrepo: version: "0.4.3" origin: "https://github.com/ingydotnet/git-subrepo" commit: "2f68596" * git subrepo pull tools/splat subrepo: subdir: "tools/splat" merged: "fe48dc3b3a" upstream: origin: "https://github.com/ethteck/splat.git" branch: "master" commit: "fe48dc3b3a" git-subrepo: version: "0.4.3" origin: "https://github.com/ingydotnet/git-subrepo" commit: "2f68596" * revert garbage * :OK: * git subrepo pull tools/splat subrepo: subdir: "tools/splat" merged: "8c86e4b95b" upstream: origin: "https://github.com/ethteck/splat.git" branch: "master" commit: "8c86e4b95b" git-subrepo: version: "0.4.3" origin: "https://github.com/ingydotnet/git-subrepo" commit: "2f68596" * data migration * 3 * .rodata migration and a buncha funcs * 2 mo * some decomp, a file boundary fix * cleanup * UnkNpaAIFunc13s * Update symbol_addrs * remove sublist * deleted asm * data fix * fix data * wtf?! * git subrepo pull tools/splat subrepo: subdir: "tools/splat" merged: "88ce6b44a6" upstream: origin: "https://github.com/ethteck/splat.git" branch: "master" commit: "88ce6b44a6" git-subrepo: version: "0.4.3" origin: "https://github.com/ingydotnet/git-subrepo" commit: "2f68596" * symbol_addrs update * blah * PR comments
2021-02-16 11:32:34 +01:00
extern s32 D_8009A5D8;
2020-10-15 00:22:43 +02:00
extern u8 D_800A0963;
extern UNK_TYPE D_802EB3B0;
extern UNK_TYPE D_00000094;
extern UNK_TYPE D_00000094_2; // two symbols resolve to the same addr. Required for matching
extern UNK_TYPE D_802EA0A0;
2020-11-21 10:28:02 +01:00
extern StaticEntityData D_802EA07C;
extern UNK_TYPE D_802EA310;
extern UNK_TYPE D_802EA618;
extern UNK_TYPE D_802EA63C;
extern UNK_TYPE D_802EA660;
extern s16 D_8015C7D2;
2020-11-21 10:28:02 +01:00
extern UNK_TYPE D_0A000328;
extern UNK_TYPE D_0A000380;
extern UNK_TYPE D_0A000750;
extern UNK_TYPE D_0A000800;
2020-11-21 08:40:54 +01:00
extern UNK_TYPE D_0A000808;
2020-10-08 21:03:58 +02:00
// Scripts
extern Bytecode* SCRIPT_NpcDefeat;
2020-10-24 23:51:27 +02:00
extern Bytecode* ShakeCam1;
extern Bytecode* ShakeCamX;
2020-10-29 21:58:34 +01:00
extern Bytecode* D_802D9D50;
2020-10-08 21:03:58 +02:00
2020-10-29 03:54:01 +01:00
extern s16 gMusicUnkVolume;
2020-10-29 04:43:58 +01:00
extern s16 gMusicUnkVolume2;
2020-10-29 03:54:01 +01:00
extern s16 gMusicCurrentVolume;
extern s16 gMusicTargetVolume;
2020-10-30 00:52:24 +01:00
extern MusicPlayer gMusicPlayers[4];
extern MusicPlayer D_8014F6F0;
2020-10-08 21:03:58 +02:00
2020-12-25 00:39:47 +01:00
// OS
extern OSThread D_800A4270; // idle thread, id 1
extern OSThread D_800A4420; // id 3
extern s32 D_800B8590;
2021-01-11 04:52:08 +01:00
// gfx
extern DisplayContext* gDisplayContext;
extern Gfx* gMasterGfxPos;
extern u16 gMatrixListPos;
extern u16 gCurrentDisplayContextIndex;
2021-01-15 18:34:27 +01:00
extern UNK_TYPE D_0A004350;
extern UNK_TYPE D_0A0026F0;
extern UNK_TYPE D_802EAE7C;
extern f64 D_802EB370;
2021-02-10 15:42:36 +01:00
extern s32 D_80291FA8[];
extern s32 D_80291FD0[];
extern s32 D_80291FF8[];
extern s32 D_80291FF8[];
extern s32 D_80292020[];
extern s32 D_80292048[];
extern s32 D_80292070[];
extern s32 D_80292098[];
extern s32 D_80292098[];
extern s32 D_802920C0[];
extern s32 D_802920E8[];
extern s32 D_802920E8[];
extern s32 D_80292110[];
extern s32 D_8028358C[];
2021-02-10 16:26:26 +01:00
extern UNK_PTR D_800F7BE8;
extern UNK_PTR D_800F7BBC;
extern UNK_PTR D_800F7B94;
2021-02-10 16:30:33 +01:00
extern s32 D_802C05CC;
2020-07-18 02:47:33 +02:00
#endif