mirror of
https://github.com/HarbourMasters/Shipwright.git
synced 2025-04-28 13:17:58 +03:00

* Add menu files, hook menu up to window system. Temporarily rename new menu's UIWidgets to UIWidgets2 to allow both menu systems to coexist temporarily. * Finish implementing new menu. Rename 2ship UIWidgets to UIWidgets2 to complete facilitation of both menus working for now. * More preliminary setup * More prepwork, begin on settings options * Finish settings, add enhancements windows * Fix search function not looking past first columns. * Add dev tool windows * Finish dev tools * Add about window * Fully replace about window * Remove moved menu items from menubar, add more windows to new menu * Implement WindowButtonOptions. Add ability to not embed popout windows when not popped out. Add ability to hide the button for WindowButtons. Fix Entrance Tracker from showing when not enabled. * Fix entrance tracker settings embedded display. Fix entrance tracker settings window original size declaration. * Initial implementation of themed radio button widget. * Move "About" section to second column of general. Fix sidebar sections starting in second column. * Restore Entrance Tracker `Draw()` to allow for custom styling. * Fix combobox positioning formatting. Fix color picker end spacing. Convert everything in check tracker settings to UIWidgets2 (except color pickers and section headers). Make all tracker windows not embed. * Minor cleanup * Fix main volume defaults & mirror jitter fix removal on dev * Improve color picker with RGB/RGBA options. Not finished. * Finish creating CVarColorPicker and implement for Check Tracker background color. Fix tracker and network prefixes. * Finish check tracker settings and convert check tracker. * Port all Cheats menu except for Beta Quest * Port over Beta Quest to new menu * Remove old cheats menu * Port cutscene skips to modern menu * Port Timesaver Enhancements to new menu * Port the Items and Item Count Messages submenu * Port Difficulty Options to new Menu * Removes options that have been ported thus far. * Port "Reduced Clutter" options to new menu * Add forgotten callbacks to Hyper Enemies/Bosses * Copy StateButton to UIWidgets2, and implement custom padding for them in the tracker. * Ports some pause menu related settinga * Change tracker window active title color. Make state buttons smaller in tracker to get more info on screen. * Convert window title active theming to all windows. * Port the rest of Enhancements->Gameplay to new menu * Port the "Graphics" Enhancements to new menu * Ports Fixes over to the Modern Menu * Ported Restorations to Modern Menu * Ported Extra Modes to new menu * Port Autosave and Boot Sequence to modern menu * Cleans up some leftover data for ported buttons * Ports Enhancement Presets to new menu * Port Additional timers to new menu. Removes Enhancements from old menu * Cleans up some unused stuff * Ports Randomizer Enhancements to modern menu * Convert Item Tracker Settings. Something's wrong with the comboboxes in a second column of a table. * Fix combobox alignment and label position calculations. * Convert Entrance Tracker window. * Save Editor Info tab finished. Added `PushStyleInput` and `PushStyleTabs` for Info tab. Fixed some indentation in entrance tracker source. Added font push to tracker windows. * Increase size of all icons in save editor. * Convert flag groups to child windows for automatic sizing and border drawing. * Flags tab completed. Finished inventory tab. * Convert save editor help hover to UIWidgets2. * Various fixes and corrections * Start cosmetics editor, fix theme colors not updating * Cosmetics editor conversion progress * Remove Mac internal resolution restrictions. * Copy over advanced resolution partial and enable most options as a custom widget. * Add size to float sliders, more cosmetics editor progress * Fix incorrect cvar for notifications * Radio button & header color options, more cosmetics editor progress * Finish cosmetics editor conversion * Create and apply THEME_COLOR macro. Resides in SohGui for easy access to mSohMenu. * Move ResolutionEditor to SohGui directory. * Add labels to build info. Fix slider width calculations. * Fix some advanced resolution widget hiding. * Fully implement Advanced Resolution options. Fix graphics settings formatting. Improve slider label position calculations. Implement Clamp options on sliders. * Finish save editor. Convert save editor code to `using namespace UIWidgets2`. Fix search crashing on time splits window. Remove `SetLastItemHoverText` from `UIWidgets2`. * Unify cvar sectioning in time splits. * Add InputString and InputInt widgets, and corresponding CVar Widgets * Adds Widget Type for Inputs, not currently used. * Convert Sail to modern menu * Add Combobox that takes a vector of std::strings * Convert checkbox and combobx to new widgets * Add Tristate checkbox * Convert sliders and tristate checkboxes * Convert top half of Rando window * remove/replace remainder of UIWidgets usage in option.cpp * Converts tricks, locations, and removes old UIWidgets refs * Fix windows build errors * Remove Tri-State checkboxes * Use PushStyleInput instead of PushStyleSlider lol oops didn't realize it was a thing in Ship. * Rebase and address review comments * Convert Crowd Control to modern menu. * Fix build error * Audio editor progress * Re-add CVar SaveOnNextFrame calls to Resolution Editor. Remove old Resolution Editor files. * Convert TimeSplits to new menu. Fix a few enum warnings. * Decrease padding on Arrow Buttons * Audio editor + gameplay stats done * Give Randomizer Menu more screen real-estate * Port plandomizer menu * Fix slider width calculation and allow combobox LabelPosition::None * Fix None labelPos and slider width for inline labels * Fix all slider value label insertions. Convert Collision Viewer. * Minor Collision Viewer enum change. Convert Actor Viewer. * Theme/convert Message Viewer. * Add font to Message Viewer. Theme Value Viewer. * DL Viewer and SohModals themed. * Convert Input Viewer. * Missed some color settings in Input Viewer. Removed UIWidgets references from Controller Config, and restored SoH version. * Remove UIWidgets.hpp include from multiple files. * Completely remove old UIWidgets. Rename UIWidgets2 to UIWidgets. Move Accessibility and Language options to new menu. * Fix Gfx Debugger not showing up. Remove menubar registration. * Fix clearCvars references. * Fix passing std::string to const char* argument. * enum name spacing --------- Co-authored-by: aMannus <mannusmenting@gmail.com> Co-authored-by: Christopher Leggett <chris@leggett.dev>
256 lines
8.1 KiB
C
256 lines
8.1 KiB
C
#ifndef VARIABLES_H
|
|
#define VARIABLES_H
|
|
|
|
#include "z64.h"
|
|
#include "segment_symbols.h"
|
|
|
|
#ifdef __cplusplus
|
|
extern "C"
|
|
{
|
|
#endif
|
|
|
|
extern u32 osTvType;
|
|
extern u32 osRomBase;
|
|
extern u32 osResetType;
|
|
extern u32 osMemSize;
|
|
extern u8 osAppNmiBuffer[0x40];
|
|
|
|
extern u8 D_80009320[];
|
|
extern u8 D_800093F0[];
|
|
extern s8 D_80009430;
|
|
extern u32 D_80009460;
|
|
extern u32 gDmaMgrDmaBuffSize;
|
|
extern vu8 gViConfigUseDefault;
|
|
extern u8 gViConfigAdditionalScanLines;
|
|
extern u32 gViConfigFeatures;
|
|
extern f32 gViConfigXScale;
|
|
extern f32 gViConfigYScale;
|
|
extern OSPiHandle* gCartHandle;
|
|
extern u32 __osPiAccessQueueEnabled;
|
|
extern OSViMode osViModePalLan1;
|
|
extern s32 osViClock;
|
|
extern u32 __osShutdown;
|
|
extern OSHWIntr __OSGlobalIntMask;
|
|
extern OSThread* __osThreadTail[];
|
|
extern OSThread* __osRunQueue;
|
|
extern OSThread* __osActiveQueue;
|
|
extern OSThread* __osRunningThread;
|
|
extern OSThread* __osFaultedThread;
|
|
extern OSPiHandle* __osPiTable;
|
|
extern OSPiHandle* __osCurrentHandle[];
|
|
extern OSTimer* __osTimerList;
|
|
extern OSViMode osViModeNtscLan1;
|
|
extern OSViMode osViModeMpalLan1;
|
|
extern OSViContext* __osViCurr;
|
|
extern OSViContext* __osViNext;
|
|
extern OSViMode osViModeFpalLan1;
|
|
extern u32 __additional_scanline;
|
|
extern const char gBuildVersion[];
|
|
extern u16 gBuildVersionMajor;
|
|
extern u16 gBuildVersionMinor;
|
|
extern u16 gBuildVersionPatch;
|
|
extern const char gGitBranch[];
|
|
extern const char gGitCommitHash[];
|
|
extern u8 gGitCommitTag[];
|
|
extern u8 gBuildTeam[];
|
|
extern u8 gBuildDate[];
|
|
extern u8 gBuildMakeOption[];
|
|
extern OSMesgQueue gPiMgrCmdQ;
|
|
extern OSViMode gViConfigMode;
|
|
extern u8 D_80013960;
|
|
extern OSMesgQueue __osPiAccessQueue;
|
|
extern OSPiHandle __Dom1SpeedParam;
|
|
extern OSPiHandle __Dom2SpeedParam;
|
|
extern OSTime __osCurrentTime;
|
|
extern u32 __osBaseCounter;
|
|
extern u32 __osViIntrCount;
|
|
extern u32 __osTimerCounter;
|
|
extern DmaEntry gDmaDataTable[0x60C];
|
|
extern u64 D_801120C0[];
|
|
extern u8 D_80113070[];
|
|
extern u64 gJpegUCode[];
|
|
extern EffectSsOverlay gEffectSsOverlayTable[EFFECT_SS_TYPE_MAX];
|
|
extern Gfx D_80116280[];
|
|
extern s32 gDbgCamEnabled;
|
|
extern GameStateOverlay gGameStateOverlayTable[6];
|
|
extern u8 gWeatherMode;
|
|
extern u8 D_8011FB34;
|
|
extern u8 D_8011FB38;
|
|
extern u8 gSkyboxBlendingEnabled;
|
|
extern u16 gTimeIncrement;
|
|
extern struct_8011FC1C D_8011FC1C[][9];
|
|
extern SkyboxFile gSkyboxFiles[];
|
|
extern s32 gZeldaArenaLogSeverity;
|
|
extern MapData gMapDataTable;
|
|
extern s16 gSpoilingItems[3];
|
|
extern s16 gSpoilingItemReverts[3];
|
|
extern FlexSkeletonHeader* gPlayerSkelHeaders[2];
|
|
extern u8 gPlayerModelTypes[PLAYER_MODELGROUP_MAX][PLAYER_MODELGROUPENTRY_MAX];
|
|
extern Gfx* gPlayerLeftHandBgsDLs[];
|
|
extern Gfx* gPlayerLeftHandOpenDLs[];
|
|
extern Gfx* gPlayerLeftHandClosedDLs[];
|
|
extern Gfx* gPlayerLeftHandBoomerangDLs[];
|
|
extern Gfx gCullBackDList[];
|
|
extern Gfx gCullFrontDList[];
|
|
extern Gfx gEmptyDL[];
|
|
extern u32 gBitFlags[32];
|
|
extern u16 gEquipMasks[4];
|
|
extern u16 gEquipNegMasks[4];
|
|
extern u32 gUpgradeMasks[8];
|
|
extern u32 gUpgradeNegMasks[8];
|
|
extern u8 gEquipShifts[4];
|
|
extern u8 gUpgradeShifts[8];
|
|
extern u16 gUpgradeCapacities[8][4];
|
|
extern u32 gGsFlagsMasks[4];
|
|
extern u32 gGsFlagsShifts[4];
|
|
extern void* gItemIcons[0x82];
|
|
extern u8 gItemAgeReqs[];
|
|
extern u8 gSlotAgeReqs[];
|
|
extern u8 gItemSlots[56];
|
|
extern void (*gSceneCmdHandlers[SCENE_CMD_ID_MAX])(PlayState*, SceneCmd*);
|
|
extern s16 gLinkObjectIds[2];
|
|
extern u32 gObjectTableSize;
|
|
extern RomFile gObjectTable[OBJECT_ID_MAX];
|
|
extern EntranceInfo gEntranceTable[ENTR_MAX];
|
|
extern SceneTableEntry gSceneTable[SCENE_ID_MAX];
|
|
extern u16 gSramSlotOffsets[];
|
|
// 4 16-colors palettes
|
|
extern u64 gMojiFontTLUTs[4][4]; // original name: "moji_tlut"
|
|
extern u64 gMojiFontTex[]; // original name: "font_ff"
|
|
extern KaleidoMgrOverlay gKaleidoMgrOverlayTable[KALEIDO_OVL_MAX];
|
|
extern KaleidoMgrOverlay* gKaleidoMgrCurOvl;
|
|
extern u8 gBossMarkState;
|
|
extern void* gDebugCutsceneScript;
|
|
extern s32 gScreenWidth;
|
|
extern s32 gScreenHeight;
|
|
extern Mtx gMtxClear;
|
|
extern MtxF gMtxFClear;
|
|
extern u32 gIsCtrlr2Valid;
|
|
extern vu32 gIrqMgrResetStatus;
|
|
extern volatile OSTime gIrqMgrRetraceTime;
|
|
extern s16* gWaveSamples[9];
|
|
extern f32 gBendPitchOneOctaveFrequencies[256];
|
|
extern f32 gBendPitchTwoSemitonesFrequencies[256];
|
|
extern f32 gNoteFrequencies[];
|
|
extern u8 gDefaultShortNoteVelocityTable[16];
|
|
extern u8 gDefaultShortNoteGateTimeTable[16];
|
|
extern AdsrEnvelope gDefaultEnvelope[4];
|
|
extern NoteSubEu gZeroNoteSub;
|
|
extern NoteSubEu gDefaultNoteSub;
|
|
extern u16 gHeadsetPanQuantization[64];
|
|
extern s16 D_8012FBA8[];
|
|
extern f32 gHeadsetPanVolume[128];
|
|
extern f32 gStereoPanVolume[128];
|
|
extern f32 gDefaultPanVolume[128];
|
|
extern s16 sLowPassFilterData[16 * 8];
|
|
extern s16 sHighPassFilterData[15 * 8];
|
|
extern s32 gAudioContextInitalized;
|
|
extern u8 gIsLargeSoundBank[7];
|
|
extern u8 gChannelsPerBank[4][7];
|
|
extern u8 gUsedChannelsPerBank[4][7];
|
|
extern u8 gMorphaTransposeTable[16];
|
|
extern u8* gFrogsSongPtr;
|
|
extern OcarinaNote* gScarecrowCustomSongPtr;
|
|
extern u8* gScarecrowSpawnSongPtr;
|
|
extern OcarinaSongInfo gOcarinaSongNotes[];
|
|
extern SoundParams* gSoundParams[7];
|
|
extern char D_80133390[];
|
|
extern char D_80133398[];
|
|
extern SoundBankEntry* gSoundBanks[7];
|
|
extern u8 gSfxChannelLayout;
|
|
extern Vec3f gSfxDefaultPos;
|
|
extern f32 gSfxDefaultFreqAndVolScale;
|
|
extern s8 gSfxDefaultReverb;
|
|
extern u8 D_801333F0;
|
|
extern u8 gAudioSfxSwapOff;
|
|
extern u8 D_80133408;
|
|
extern u8 D_8013340C;
|
|
extern u8 gAudioSpecId;
|
|
extern u8 D_80133418;
|
|
extern AudioSpec gAudioSpecs[18];
|
|
extern s32 gOverlayLogSeverity;
|
|
extern s32 gSystemArenaLogSeverity;
|
|
extern u8 __osPfsInodeCacheBank;
|
|
extern s32 __osPfsLastChannel;
|
|
extern u8 gWalkSpeedToggle1;
|
|
extern u8 gWalkSpeedToggle2;
|
|
extern f32 iceTrapScale;
|
|
extern f32 triforcePieceScale;
|
|
extern f32 mysteryItemScale;
|
|
|
|
extern const s16 D_8014A6C0[];
|
|
#define gTatumsPerBeat (D_8014A6C0[1])
|
|
extern const AudioContextInitSizes D_8014A6C4;
|
|
extern s16 gOcarinaSongItemMap[];
|
|
extern u8 D_80155F50[];
|
|
extern u8 D_80157580[];
|
|
extern u8 D_801579A0[];
|
|
extern u64 gJpegUCodeData[];
|
|
|
|
extern SaveContext gSaveContext;
|
|
extern GameInfo* gGameInfo;
|
|
extern u16 D_8015FCC0;
|
|
extern u16 D_8015FCC2;
|
|
extern u16 D_8015FCC4;
|
|
extern u8 D_8015FCC8;
|
|
extern u8 gCustomLensFlareOn;
|
|
extern Vec3f gCustomLensFlarePos;
|
|
extern s16 gLensFlareScale;
|
|
extern f32 gLensFlareColorIntensity;
|
|
extern s16 gLensFlareScreenFillAlpha;
|
|
extern LightningStrike gLightningStrike;
|
|
extern MapData* gMapData;
|
|
extern f32 gBossMarkScale;
|
|
extern PauseMapMarksData* gLoadedPauseMarkDataTable;
|
|
extern s32 gTrnsnUnkState;
|
|
extern Color_RGBA8_u32 gVisMonoColor;
|
|
extern PreNmiBuff* gAppNmiBufferPtr;
|
|
extern SchedContext gSchedContext;
|
|
extern PadMgr gPadMgr;
|
|
extern uintptr_t gSegments[NUM_SEGMENTS];
|
|
extern volatile OSTime D_8016A520;
|
|
extern volatile OSTime D_8016A528;
|
|
extern volatile OSTime D_8016A530;
|
|
extern volatile OSTime D_8016A538;
|
|
extern volatile OSTime D_8016A540;
|
|
extern volatile OSTime D_8016A548;
|
|
extern volatile OSTime D_8016A550;
|
|
extern volatile OSTime D_8016A558;
|
|
extern volatile OSTime gRSPAudioTotalTime;
|
|
extern volatile OSTime gRSPGFXTotalTime;
|
|
extern volatile OSTime gRSPOtherTotalTime;
|
|
extern volatile OSTime gRDPTotalTime;
|
|
extern FaultThreadStruct gFaultStruct;
|
|
|
|
extern ActiveSound gActiveSounds[7][MAX_CHANNELS_PER_BANK]; // total size = 0xA8
|
|
extern u8 gSoundBankMuted[];
|
|
extern u8 D_801333F0;
|
|
extern u8 gAudioSfxSwapOff;
|
|
extern u16 gAudioSfxSwapSource[10];
|
|
extern u16 gAudioSfxSwapTarget[10];
|
|
extern u8 gAudioSfxSwapMode[10];
|
|
extern ActiveSequence gActiveSeqs[4];
|
|
extern AudioContext gAudioContext;
|
|
extern void(*D_801755D0)(void);
|
|
|
|
extern u32 __osMalloc_FreeBlockTest_Enable;
|
|
extern Arena gSystemArena;
|
|
extern OSPifRam __osPifInternalBuff;
|
|
extern u8 __osContLastPoll;
|
|
extern u8 __osMaxControllers;
|
|
extern __OSInode __osPfsInodeCache;
|
|
extern OSPifRam gPifMempakBuf;
|
|
extern u16 gZBuffer[SCREEN_HEIGHT][SCREEN_WIDTH]; // 0x25800 bytes
|
|
extern u64 gGfxSPTaskOutputBuffer[0x3000]; // 0x18000 bytes
|
|
extern u8 gGfxSPTaskYieldBuffer[OS_YIELD_DATA_SIZE]; // 0xC00 bytes
|
|
extern u8 gGfxSPTaskStack[0x400]; // 0x400 bytes
|
|
extern GfxPool gGfxPools[2]; // 0x24820 bytes
|
|
extern u8* gAudioHeap;
|
|
extern u8* gSystemHeap;
|
|
extern GameState* gGameState;
|
|
|
|
#ifdef __cplusplus
|
|
};
|
|
#endif
|
|
|
|
#endif
|