World of Might and Magic
0.2.0
Open reimplementation of Might and Magic 6 7 8 game engine
|
См. документацию.
85 class GammaController;
107 bool PickMouse(
float fPickDepth,
unsigned int uMouseX,
unsigned int uMouseY,
138 auto new_config = engineConfigFactory.
Clone(
config);
139 new_config->SetUnderwater(is_underwater);
141 this->
config = new_config;
145 auto new_config = engineConfigFactory.
Clone(
config);
146 new_config->SetSaturateFaces(saturate);
148 this->
config = new_config;
152 auto new_config = engineConfigFactory.
Clone(
config);
153 new_config->SetForceRedraw(redraw);
155 this->
config = new_config;
159 [is_targeting](std::shared_ptr<EngineConfig> &cfg) {
160 cfg->SetTargetingMode(is_targeting);
165 [wizard_eye](std::shared_ptr<EngineConfig> &cfg) {
166 cfg->debug_wizard_eye = wizard_eye;
171 [all_magic](std::shared_ptr<EngineConfig> &cfg) {
172 cfg->debug_all_magic = all_magic;
177 [show_fps](std::shared_ptr<EngineConfig> &cfg) {
178 cfg->show_fps = show_fps;
183 [show_picked_face](std::shared_ptr<EngineConfig> &cfg) {
184 cfg->show_picked_face = show_picked_face;
189 [portal_outlines](std::shared_ptr<EngineConfig> &cfg) {
190 cfg->debug_portal_outlines = portal_outlines;
195 [turbo_speed](std::shared_ptr<EngineConfig> &cfg) {
196 cfg->debug_turbo_speed = turbo_speed;
201 [seasons_change](std::shared_ptr<EngineConfig> &cfg) {
202 cfg->seasons_change = seasons_change;
207 [allow_snow](std::shared_ptr<EngineConfig> &cfg) {
208 cfg->allow_snow = allow_snow;
213 [extended_draw_distance](std::shared_ptr<EngineConfig> &cfg) {
214 cfg->extended_draw_distance = extended_draw_distance;
219 [no_actors](std::shared_ptr<EngineConfig> &cfg) {
220 cfg->no_actors = no_actors;
225 [allow_lightmaps](std::shared_ptr<EngineConfig> &cfg) {
226 cfg->allow_lightmaps = allow_lightmaps;
231 [debug_lightmaps_decals](std::shared_ptr<EngineConfig> &cfg) {
232 cfg->debug_lightmaps_decals = debug_lightmaps_decals;
237 [debug_terrain](std::shared_ptr<EngineConfig> &cfg) {
238 cfg->debug_terrain = debug_terrain;
243 [](std::shared_ptr<EngineConfig> &cfg) {
244 cfg->ToggleAlwaysRun();
249 [](std::shared_ptr<EngineConfig> &cfg) {
250 cfg->ToggleFlipOnExit();
255 [](std::shared_ptr<EngineConfig> &cfg) {
256 cfg->ToggleWalkSound();
261 [](std::shared_ptr<EngineConfig> &cfg) {
262 cfg->ToggleShowDamage();
267 [](std::shared_ptr<EngineConfig> &cfg) {
268 cfg->ToggleBloodsplats();
274 [](std::shared_ptr<EngineConfig> &cfg) {
275 cfg->ToggleDebugTownPortal();
281 [](std::shared_ptr<EngineConfig> &cfg) {
282 cfg->ToggleDebugWizardEye();
288 [](std::shared_ptr<EngineConfig> &cfg) {
289 cfg->ToggleDebugAllMagic();
295 [](std::shared_ptr<EngineConfig> &cfg) {
296 cfg->ToggleDebugTerrain();
302 [](std::shared_ptr<EngineConfig> &cfg) {
303 cfg->ToggleDebugLightmap();
309 [](std::shared_ptr<EngineConfig> &cfg) {
310 cfg->ToggleDebugTurboSpeed();
316 [](std::shared_ptr<EngineConfig> &cfg) {
317 cfg->ToggleDebugNoActors();
323 [](std::shared_ptr<EngineConfig> &cfg) {
324 cfg->ToggleDebugDrawDist();
330 [](std::shared_ptr<EngineConfig> &cfg) {
331 cfg->ToggleDebugSnow();
337 [](std::shared_ptr<EngineConfig> &cfg) {
338 cfg->ToggleDebugNoDamage();
344 [](std::shared_ptr<EngineConfig> &cfg) {
345 cfg->ToggleDebugPortalLines();
351 [](std::shared_ptr<EngineConfig> &cfg) {
352 cfg->ToggleDebugPickedFace();
358 [](std::shared_ptr<EngineConfig> &cfg) {
359 cfg->ToggleDebugShowFPS();
365 [](std::shared_ptr<EngineConfig> &cfg) {
366 cfg->ToggleDebugSeasonsChange();
372 [
level](std::shared_ptr<EngineConfig> &cfg) {
379 cfg->music_level = lvl;
384 [
level](std::shared_ptr<EngineConfig> &cfg) {
391 cfg->sound_level = lvl;
396 [
level](std::shared_ptr<EngineConfig> &cfg) {
403 cfg->voice_level = lvl;
408 [turn_speed](std::shared_ptr<EngineConfig> &cfg) {
409 cfg->turn_speed = turn_speed;
412 inline void MutateConfig(std::function<
void(std::shared_ptr<EngineConfig> &)> mutator) {
419 std::shared_ptr<const EngineConfig>
config;
476 extern std::shared_ptr<Engine>
engine;
482 void PrepareWorld(
unsigned int _0_box_loading_1_fullscreen);
483 void DoPrepareWorld(
unsigned int bLoading,
int _1_fullscreen_loading_2_box);
500 const char *pFileName);
unsigned __int16 uint16_t
@ CHARACTER_ATTRIBUTE_LUCK
@ CHARACTER_ATTRIBUTE_SKILL_EARTH
void ToggleDebugWizardEye()
unsigned int _494820_training_time(unsigned int a1)
@ CHARACTER_ATTRIBUTE_RESIST_FIRE
void UpdateUserInput_and_MapSpecificStuff()
bool Configure(std::shared_ptr< const EngineConfig > config)
void ToggleDebugPortalLines()
void SetMusicLevel(int level)
void ToggleDebugLightmap()
bool draw_debug_outlines()
void FinalInitialization()
@ CHARACTER_ATTRIBUTE_MANA
@ CHARACTER_ATTRIBUTE_RESIST_SPIRIT
@ CHARACTER_ATTRIBUTE_SKILL_AIR
bool AlterGamma_BLV(struct BLVFace *pFace, unsigned int *pColor)
void ToggleDebugSeasonsChange()
void sub_44892E_set_faces_bit(int sCogNumber, int bit, int on)
@ GAME_STATE_FINAL_WINDOW
void SetSoundLevel(int level)
@ CHARACTER_ATTRIBUTE_SKILL_BOW
void SetTargetingMode(bool is_targeting)
@ CHARACTER_ATTRIBUTE_ATTACK
@ CHARACTER_ATTRIBUTE_SKILL_ARMSMASTER
@ CHARACTER_ATTRIBUTE_SKILL_BODY
std::shared_ptr< Engine > engine
void SetDecorationSprite(uint16_t uCog, bool bHide, const char *pFileName)
void SetDebugShowPickedFace(bool show_picked_face)
@ CHARACTER_ATTRIBUTE_LEVEL
LightmapBuilder * lightmap_builder
String GetReputationString(int reputation)
void SetDebugPortalOutlines(bool portal_outlines)
void ToggleDebugShowFPS()
@ GAME_STATE_LOADING_GAME
@ CHARACTER_ATTRIBUTE_AC_BONUS
@ CHARACTER_ATTRIBUTE_SKILL_LEARNING
@ CHARACTER_ATTRIBUTE_SKILL_SPIRIT
void ToggleDebugNoActors()
@ CHARACTER_ATTRIBUTE_SKILL_WATER
bool _44100D_should_alter_right_panel()
void SetAllowLightmaps(bool allow_lightmaps)
DecalBuilder * decal_builder
int _44ED0A_saturate_face_blv(struct BLVFace *a2, int *a3, signed int a4)
void PrepareWorld(unsigned int _0_box_loading_1_fullscreen)
void ToggleDebugAllMagic()
void CloseWindowBackground()
void SetDebugTurboSpeed(bool turbo_speed)
void SetExtendedDrawDistance(bool extended_draw_distance)
@ CHARACTER_ATTRIBUTE_RESIST_WATER
@ GAME_STATE_GAME_QUITTING_TO_MAIN_MENU
@ CHARACTER_ATTRIBUTE_SKILL_SHIELD
@ CHARACTER_ATTRIBUTE_SKILL_FIRE
bool MM7_Initialize(const std::string &mm7_path)
void ToggleDebugTownPortal()
std::shared_ptr< const EngineConfig > config
@ CHARACTER_ATTRIBUTE_HEALTH
unsigned int GetGravityStrength()
void SetDebugShowFps(bool show_fps)
Game__StationaryLight pStationaryLights[25]
@ CHARACTER_ATTRIBUTE_SKILL_MONSTER_ID
void ToggleDebugPickedFace()
@ CHARACTER_ATTRIBUTE_SKILL_ITEM_ID
void SetDataPath(const char *data_path)
void sub_44861E_set_texture(unsigned int uFaceCog, const char *pFilename)
void GameUI_StatusBar_Update(bool force_hide=false)
void SetVoiceLevel(int level)
void ToggleDebugTerrain()
BloodsplatContainer * bloodsplat_container
@ CHARACTER_ATTRIBUTE_SKILL_MIND
std::shared_ptr< EngineConfig > Clone(std::shared_ptr< const EngineConfig > other)
@ GAME_STATE_STARTING_NEW_GAME
@ CHARACTER_ATTRIBUTE_RESIST_AIR
void SetForceRedraw(bool redraw)
@ CHARACTER_ATTRIBUTE_SKILL_STEALING
@ CHARACTER_ATTRIBUTE_WILLPOWER
void SetSeasonsChange(bool seasons_change)
void PushStationaryLights(int a2)
unsigned int uNumStationaryLights
void Level_LoadEvtAndStr(const char *pLevelName)
@ CHARACTER_ATTRIBUTE_SKILL_ALCHEMY
void SetDebugWizardEye(bool wizard_eye)
@ CHARACTER_ATTRIBUTE_RESIST_MIND
SpellFxRenderer * spell_fx_renedrer
bool FileExists(const char *fname)
int _44EC23_saturate_face_odm(struct Polygon *a2, int *a3, signed int a4)
@ CHARACTER_ATTRIBUTE_MELEE_DMG_MIN
void SetDebugTerrain(bool debug_terrain)
int uNumStationaryLights_in_pStationaryLightsStack
@ CHARACTER_ATTRIBUTE_RANGED_DMG_MIN
void ToggleDebugTurboSpeed()
void Engine_DeinitializeAndTerminate(int exitCode)
void SetSaturateFaces(bool saturate)
@ CHARACTER_ATTRIBUTE_ENDURANCE
void PrepareToLoadODM(unsigned int bLoading, struct ODMRenderParams *a2)
bool IsUnderwater() const
void SetDebugLightmapsDecals(bool debug_lightmaps_decals)
@ CHARACTER_ATTRIBUTE_RANGED_DMG_BONUS
@ GAME_STATE_CHANGE_LOCATION
void ToggleDebugNoDamage()
ParticleEngine * particle_engine
bool AlterGamma_ODM(struct ODMFace *pFace, unsigned int *pColor)
void Transition_StopSound_Autosave(const char *pMapName, MapStartPoint point)
void SetAllowSnow(bool allow_snow)
@ CHARACTER_ATTRIBUTE_ACCURACY
bool PickKeyboard(bool bOutline, struct Vis_SelectionFilter *sprite_filter, struct Vis_SelectionFilter *face_filter)
void _461103_load_level_sub()
void _494035_timed_effects__water_walking_damage__etc()
@ GAME_STATE_NEWGAME_OUT_GAMEMENU
void _493938_regenerate()
std::string MakeDataPath(const char *file_rel_path)
void OnGameViewportClick()
bool CanSaturateFaces() const
@ CHARACTER_ATTRIBUTE_MELEE_DMG_BONUS
@ CHARACTER_ATTRIBUTE_SKILL_LIGHT
void SetDebugAllMagic(bool all_magic)
@ CHARACTER_ATTRIBUTE_SPEED
@ CHARACTER_ATTRIBUTE_RANGED_DMG_MAX
Game_Bloodsplat pBloodsplats[20]
GLsizei const GLchar *const * string
void SetTurnSpeed(int turn_speed)
void ResetCursor_Palettes_LODs_Level_Audio_SFT_Windows()
void MutateConfig(std::function< void(std::shared_ptr< EngineConfig > &)> mutator)
void InitializeTurnBasedAnimations(void *)
@ CHARACTER_ATTRIBUTE_RANGED_ATTACK
@ CHARACTER_ATTRIBUTE_SKILL_DODGE
void TeleportToNWCDungeon()
void DoPrepareWorld(unsigned int bLoading, int _1_fullscreen_loading_2_box)
void SetNoActors(bool no_actors)
@ CHARACTER_ATTRIBUTE_SKILL_UNARMED
@ CHARACTER_ATTRIBUTE_STRENGTH
void ResetCursor_Palettes_LODs_Level_Audio_SFT_Windows()
@ CHARACTER_ATTRIBUTE_RESIST_BODY
@ CHARACTER_ATTRIBUTE_SKILL_MEDITATION
@ CHARACTER_ATTRIBUTE_INTELLIGENCE
std::shared_ptr< EngineConfig > Mutate(std::shared_ptr< const EngineConfig > config, std::function< void(std::shared_ptr< EngineConfig > &)> mutator)
void SetUnderwater(bool is_underwater)
void LoadLevel_InitializeLevelStr()
@ CHARACTER_ATTRIBUTE_MELEE_DMG_MAX
void SecondaryInitialization()
bool PickMouse(float fPickDepth, unsigned int uMouseX, unsigned int uMouseY, bool bOutline, struct Vis_SelectionFilter *sprite_filter, struct Vis_SelectionFilter *face_filter)
@ CHARACTER_ATTRIBUTE_SKILL_DARK
void ToggleDebugDrawDist()
@ CHARACTER_ATTRIBUTE_SKILL_TRAP_DISARM
@ CHARACTER_ATTRIBUTE_RESIST_EARTH