15#include <unordered_map>
71 std::unique_ptr<Attachment>
root;
76 std::chrono::steady_clock::time_point
lastTick;
123 auto [it, _] =
panelOpen.try_emplace(name,
true);
Abstract base class representing a file within the game data archive.
Orbit camera that revolves around a target point.
Core WoW .m2 model: geometry, animation, textures, and character data.
Reusable animation entry — matches CharacterViewerPanel::AnimEntry.
Mutable state for animation playback and skin selection.
std::vector< SkinEntry > skinEntries
int selectedSecondaryAnim
std::vector< AnimEntry > animEntries
Persistent application settings backed by userSettings/Config.ini.
Top-level aggregate of all mutable application state.
Mutable state for the NPC, Item, Mount, ItemSet, and StartOutfit browsers.
std::vector< size_t > itemBrowseFiltered
bool itemBrowseFilterDirty
std::vector< MountEntry > mountList
std::string itemBrowseSearchBuf
std::vector< std::string > creatureModelNames
std::vector< StartOutfitEntry > startOutfits
std::string itemSetSearchBuf
std::vector< size_t > mountFiltered
std::vector< size_t > npcFiltered
ParticleColorState pcrState
std::string mountSearchBuf
std::vector< size_t > startOutfitFiltered
std::vector< GeosetGroupEntry > geosetGroups
std::string startOutfitSearchBuf
std::vector< GameFile * > creatureModels
std::vector< ItemSetEntry > itemSets
bool startOutfitFilterDirty
std::vector< size_t > itemSetFiltered
Mutable state for character customisation and equipment editing.
std::vector< CustomizationOption > customizationOptions
std::string equipSearchBuf
int equipSlotLevels[NUM_CHAR_SLOTS]
std::vector< size_t > equipFilteredItems
bool equipPopupJustOpened
Mutable state for export, import, screenshot, and preset operations.
std::vector< std::unique_ptr< ExporterPlugin > > exporters
std::string screenshotPath
std::string screenshotStatus
std::vector< std::unique_ptr< ImporterPlugin > > importers
std::vector< char > exportAnimChecked
Font entry for the UI font selector.
std::string path
Absolute path to the .ttf file.
std::string name
Display name of the font.
An item set from the ItemSet DB2 table.
A starter outfit from the CharStartOutfit DB2 table.
Mutable state for the async game-data loading thread.
std::atomic< bool > loadThreadDone
std::atomic< float > loadProgress
std::atomic< bool > initDB
std::atomic< bool > loadThreadSuccess
std::mutex loadStatusMutex
std::vector< core::GameConfig > pendingConfigs
A mount entry from the CreatureDisplayInfo DB2 table.
Mutable state for the 3D scene: renderer, camera, model tree, and timing.
std::chrono::steady_clock::time_point lastTick
std::unique_ptr< Attachment > root
Mutable state for the UI layer: dialogs, fonts, log viewer, folder picker.
bool folderPickerNeedsRefresh
std::vector< std::filesystem::path > folderPickerEntries
std::unordered_map< std::string, bool > panelOpen
bool importPopupJustOpened
bool & panel(const char *name)
std::vector< FontEntry > availableFonts
std::vector< std::string > logLines
std::filesystem::path folderPickerCurrent
Simple OpenGL framebuffer object wrapper for off-screen rendering.
Single geoset entry referencing a model geoset by index and id.
A named group of geosets sharing the same mesh id.
Editable state for particle colour replacement (colour IDs 11, 12, 13).