Abstract base class representing a file within the game data archive.
In-memory item database loaded from the CSV item list.
Orbit camera that revolves around a target point.
Core WoW .m2 model: geometry, animation, textures, and character data.
std::vector< NPCRecord > npcs
std::string wstringToString(const std::wstring &ws)
Convert a wide string to narrow ASCII (lossy, for display only).
void initAnimationControl(WoWModel *model, AppState &app)
Populate app.animEntries / app.skinEntries from the model.
void tryToEquipItem(WoWModel *model, int id, AppState &app, const ItemDatabase &db)
void rebuildItemBrowseFilter(AppState &app, const ItemDatabase &db)
void rebuildMountFilter(AppState &app)
void applySkin(WoWModel *model, int skinIndex, AppState &app)
Apply a creature / item skin variant to the model.
void mountCharacter(int displayID, GameFile *creatureFile, AppState &app, float fov)
void rebuildNpcFilter(AppState &app, const std::vector< NPCRecord > &npcList)
void loadModel(GameFile *file, AppState &app, float fov)
Load a .m2 GameFile, create a WoWModel, attach to root, init controls.
void buildStartOutfits(WoWModel *model, AppState &app)
void initModelControl(WoWModel *model, AppState &app)
Populate app.geosetGroups and app.pcrState from the model.
void clearModel(AppState &app)
Tear down the current model and reset related state.
void applyStartOutfit(WoWModel *model, int outfitId, AppState &app, const ItemDatabase &db)
void rebuildEquipFilteredItems(AppState &app, const ItemDatabase &db)
void rebuildStartOutfitFilter(AppState &app)
void initCharacterControl(WoWModel *model, AppState &app)
Populate app.customizationOptions from the model's ChrCustomization DB.
void dismountCharacter(AppState &app, float fov)
void loadNPC(unsigned int creatureID, AppState &app, float fov)
void loadItemModel(unsigned int itemId, AppState &app, float fov)
void applyItemSet(WoWModel *model, int setId, AppState &app, const ItemDatabase &db)
void rebuildItemSetFilter(AppState &app)
void resetCameraToModel(OrbitCamera &camera, const WoWModel *model, float fov)
Reset the orbit camera to frame the given model.
void buildMountList(AppState &app)
WoWModel * getLoadedModel(AppState &app)
Return the currently loaded WoWModel (first child of root), or nullptr.
void buildItemSets(AppState &app)
Top-level aggregate of all mutable application state.
A single NPC record (creature display info).