view mm7_unsorted_subs.h @ 2189:0e2bee275f60

CastSpell continue
author Ritor1
date Wed, 29 Jan 2014 17:26:24 +0600
parents 0a1438c16c2b
children 4842f58715ea
line wrap: on
line source

#pragma once



//-------------------------------------------------------------------------
// Function declarations
void constructors();

void init_event_triggers();
void check_event_triggers();




void ShowIntroVideo_and_LoadingScreen();
unsigned int GameOverMenu(void *ecx0);
int __fastcall SpawnRandomTreasure(struct MapInfo *a1, struct SpawnPointMM7 *a2);
void DamageMonsterFromParty(signed int a1, unsigned int uActorID_Monster, struct Vec3_int_ *pVelocity);

void MakeActorAIList_ODM();
int MakeActorAIList_BLV();
void UpdateActorAI();
bool __fastcall sub_4070EF_prolly_detect_player(unsigned int uObjID, unsigned int uObj2ID);
bool __fastcall sub_4075DB(int a1, int a2, int a3, struct BLVFace *face);
bool __fastcall sub_4077F1(int a1, int a2, int a3, struct ODMFace *face, struct BSPVertexBuffer *a5);
bool __fastcall sub_407A1C(int x, int z, int y, struct Vec3_int_ v); // idb
void InitializeActors();
void InitializeSpriteObjects();
int __fastcall sub_4088E9(int a1, int a2, int a3, int a4, int a5, int a6);
unsigned int SearchAliveActors(unsigned int *pTotalActors);
unsigned int SearchActorByMonsterID(unsigned int *pTotalActors, int uMonsterID);
unsigned int SearchActorByGroup(unsigned int *pTotalActors, unsigned int uGroup);
unsigned int SearchActorByID(unsigned int *pTotalActors, unsigned int a2);
void PrepareArcomage();
void DoBlt_Copy(unsigned __int16 *pPixels); // idb
void __fastcall ZBuffer_Fill(int *pZBuffer, int uTextureId, int iZValue);
void __fastcall ZBuffer_DoFill(int *pZBuffer, struct Texture *pTex, int uZValue);
void __fastcall ZBuffer_DoFill2(int *pZBuffer, struct Texture *a2, int a3); // idb
void SetMoonPhaseNames();
int __fastcall sub_410D99_get_map_index(int a1);
void __fastcall LoadThumbnailLloydTexture(unsigned int uSlot, unsigned int uPlayer);
void SetAttributeNames();
void uGameUIFontMain_initialize();
void uGameUIFontShadow_initialize();
void Inventory_ItemPopupAndAlchemy();
void UI_OnMouseRightClick(struct Vec2_int_ *_this);
void UI_OnMouseLeftClick(int *pXY); // idb
unsigned int UI_GetHealthManaAndOtherQualitiesStringColor(signed int current_pos, signed int base_pos);
unsigned int __fastcall GetSizeInInventorySlots(unsigned int uNumPixels);
struct GUIButton *__fastcall GUI_HandleHotkey(unsigned __int8 uHotkey); // idb
int __fastcall GUI_ReplaceHotkey(unsigned __int8 uOldHotkey, unsigned __int8 uNewHotkey, char bFirstCall);
void DrawBuff_remaining_time_string(int uY, struct GUIWindow *window, __int64 remaining_time, struct GUIFont *Font);
bool UI_OnKeyDown(unsigned int vkKey);
void GameUI_DrawItemInfo(struct ItemGen* inspect_item); // idb
void MonsterPopup_Draw(unsigned int uActorID, struct GUIWindow *window);
void LoadActualSkyFrame();
void Sleep6Hours();
void ChestUI_WritePointedObjectStatusString();
void OnChestLeftClick();
void GameUI_WritePointedObjectStatusString();
void __fastcall GameUI_OnPlayerPortraitLeftClick(unsigned int uPlayerID); // idb
void OnGameViewportClick();
bool PauseGameDrawing();
void SetUserInterface(enum PartyAlignment alignment, bool bReplace);
void reset_some_strus_flt_2Cs();
int __fastcall GetPortalScreenCoord(unsigned int uFaceID);
bool PortalFrustrum(int pNumVertices, struct BspRenderer_PortalViewportData *a2, struct BspRenderer_PortalViewportData *near_portal, int uFaceID);
int ODM_NearClip(unsigned int uVertexID); // idb
int ODM_FarClip(unsigned int uNumVertices);
bool sub_427769_isSpellQuickCastableOnShiftClick(unsigned int uSpellID);
void _42777D_CastSpell_UseWand_ShootArrow(int a1, unsigned int uPlayerID, unsigned int a4, __int16 a5, int a6);
void _42ECB5_PlayerAttacksActor();
void  InitializeTurnBasedAnimations(void *);
bool __fastcall sub_42F7EB_DropItemAt(unsigned int uSpriteID, int x, int y, int z, int a4, int count, int a7, unsigned __int16 attributes, ItemGen *a9);
void __fastcall sub_42F960_create_object(int x, int y, int z); // idb
void CompactLayingItemsList();
void _42FA66_do_explosive_impact(int a1, int a2, int a3, int a4, __int16 a5, signed int a6);
void sub_42FBDD();
void CloseWindowBackground();
void ProcessInputActions();
void GameUI_MsgProc();
void back_to_game();
void GUI_MainMenuMessageProc();
double get_shading_dist_mist();
void area_of_effect__damage_evaluate();
void __fastcall DamagePlayerFromMonster(unsigned int uObjID, int a2, struct Vec3_int_ *pPos, signed int a4);
void __fastcall sub_43A97E(unsigned int uLayingItemID, signed int a2); // idb
double __fastcall sub_43AE12(signed int a1);
int __fastcall _43AFE3_calc_spell_damage(int a1, int a2, signed int a3, int a4);
void ItemDamageFromActor(unsigned int uObjID, unsigned int uActorID, struct Vec3_int_ *pVelocity);
void ActorDamageFromMonster(signed int attacker_id, unsigned int actor_id, struct Vec3_int_ *pVelocity, signed int a4);
void CharacterUI_LoadPaperdollTextures();
int __fastcall GetItemTextureFilename(char *pOut, signed int item_id, int index, int shoulder);
bool IsDwarfPresentInParty(bool b);
bool  ShouldLoadTexturesForRaceAndGender(unsigned int _this);
void WetsuitOn(unsigned int uPlayerID); // idb
void WetsuitOff(unsigned int uPlayerID);
void __fastcall PrepareDrawLists_BLV();
void FindBillboardsLightLevels_BLV();
int __fastcall _43F55F_get_billboard_light_level(struct RenderBillboard *a1, int uBaseLightLevel);
int __fastcall _43F5C8_get_point_light_level_with_respect_to_lights(unsigned int uBaseLightLevel, int uSectorID, float x, float y, float z);
void PrepareBspRenderList_BLV();
void PrepareDecorationsRenderList_BLV(unsigned int uDecorationID, unsigned int uSectorID);
void PrepareActorRenderList_BLV();
void PrepareItemsRenderList_BLV();
void AddBspNodeToRenderList(unsigned int node_id);
void __fastcall sub_4406BC(unsigned int node_id, unsigned int uFirstNode); // idb
bool sub_44100D();
__int16 __fastcall sub_441A4E(int a1);
void DrawBook_Map_sub(unsigned int tl_x, unsigned int tl_y, unsigned int br_x, int br_y, int _48074); // idb
void Initialize2DA();
void LoadLevel_InitializeLevelStr();
void OnMapLeave();
void OnMapLoad();
void Level_LoadEvtAndStr(const char *pLevelName);
const char *GetMapBookHintText();//sub_444564
char *GetEventHintString(unsigned int uEventID); // idb
int GetTravelTime();
void __fastcall sub_4451A8_press_any_key(int a1, int a2, int a4);
unsigned int SkillToMastery(unsigned int skill_value);
unsigned int __fastcall GetSpellColor(signed int a1);
void __fastcall LoadGame(unsigned int uSlot); // idb
void SaveGame(bool IsAutoSAve, bool NotSaveWorld);
void __fastcall DoSavegame(unsigned int uSlot); // idb
bool Initialize_GamesLOD_NewLOD();
void SaveNewGame();
void PrepareToLoadBLV(unsigned int bLoading);
void __fastcall PrepareToLoadODM(unsigned int bLoading, struct ODMRenderParams *a2);
void _461103_load_level_sub();
void MainMenu_Loop();
char sub_4637E0_is_there_popup_onscreen();
void ResetCursor_Palettes_LODs_Level_Audio_SFT_Windows();
void PrepareWorld(unsigned int _0_box_loading_1_fullscreen);
void Game_DeinitializeAndTerminate(int exitCode); // idb
void FinalInitialization();
char Is_out15odm_underwater();
void SetUnderwaterFog();
void DoPrepareWorld(unsigned int bLoading, int _1_fullscreen_loading_2_box);
int __fastcall ReadWindowsRegistryInt(const char *pKey, int uDefValue); // idb
void __fastcall WriteWindowsRegistryString(const char *pKey, const char *pString);
void __fastcall ReadWindowsRegistryString(const char *pKeyName, char *pOutString, int uBufLen, const char *pDefaultValue);
void __fastcall WriteWindowsRegistryInt(const char *pKey, int val);
bool __fastcall CheckMM7CD(char c);
void SecondaryInitialization();
void CreateAsyncMouse();
void CreateAsyncKeyboard();
void MM6_Initialize(const wchar_t *pIniFilename);
void MM7Initialization();
void SetCurrentMenuID(enum MENU_STATE); // idb
enum MENU_STATE GetCurrentMenuID();
void CreateMsgScrollWindow(signed int mscroll_id);
void free_book_subwindow();
void CreateScrollWindow();
void OnPaperdollLeftClick();
void OnPressSpace();
char __fastcall DoInteractionWithTopmostZObject(int a1, int a2);
void OracleDialogue();
void __fastcall ClickNPCTopic(signed int uMessageParam);
char * _4B254D_SkillMasteryTeacher(int _this);
const char *ContractSelectText(int pEventCode);
void SimpleHouseDialog();
void CreateButtonInColumn(int a1, unsigned int a2);
void FillAviableSkillsToTeach(int _this);
void sub_4B3E1E();
void DrawJoinGuildWindow(int pEventCode);
void __fastcall _4B3FE5_training_dialogue(int a4);
void NPCHireableDialogPrepare();
void _4B4224_UpdateNPCTopics(int _this);
void __fastcall DrawTextAtStatusBar(const char *Str, int a5);
__int64 GetExperienceRequiredForLevel(int a1);
void CheckBountyRespawnAndAward();
void Arena_SelectionFightLevel();
void ArenaFight();
void SpellBookGenerator();
void UI_CreateEndConversationButton();
void __fastcall OnSelectShopDialogueOption(signed int uMessageParam);
int HouseDialogPressCloseBtn();
bool MerchandiseTest(ItemGen *item, int _2da_idx);
void UIShop_Buy_Identify_Repair();
bool __fastcall IsBModelVisible(unsigned int uModelID, int *unused);
void ODM_LoadAndInitialize(const char *pLevelFilename, struct ODMRenderParams *thisa);
unsigned int GetLevelFogColor();
int __fastcall sub_47C3D7_get_fog_related_stuff(int a1, int a2, float a3);
int __fastcall GetActorTintColor(int max_dim, int min_dim, float distance, int a4, struct RenderBillboard *a5);
unsigned int WorldPosToGridCellX(int); // weak
unsigned int WorldPosToGridCellZ(int); // weak
int GridCellToWorldPosX(int); // weak
int GridCellToWorldPosZ(int); // weak
void sub_481ED9_MessWithODMRenderParams();
bool IsTerrainSlopeTooHigh(int pos_x, int pos_y);
int __fastcall GetTerrainHeightsAroundParty2(int a1, int a2, int *a3, int a4);
void sub_487DA9();
double GetFogDensityByTime(struct OutdoorLocation *_this);
bool __fastcall HSV2RGB(float *a1, float *a2, float *a3, float a4, float a5, float a6);
void __fastcall RGB2HSV(float *a1, float *a2, float a3, float a4, float a5, float *a6);
signed int ReplaceHSV(unsigned int uColor, float a2, float gamma, float a4);
bool PlayerCreation_Choose4Skills();
int PlayerCreation_GetUnspentAttributePointCount();
void LoadPlayerPortraintsAndVoices();
void ReloadPlayerPortraits(int player_id, int face_id);
void sub_491E3A();
int CycleCharacter(bool backwards);
void __fastcall Rest(unsigned int uHoursToSleep);
void _493938_regenerate();
void init_summoned_item(struct stru351_summoned_item *_this, __int64 duration);
void _494035_timed_effects__water_walking_damage__etc();
unsigned int __fastcall _494820_training_time(unsigned int a1);
char *__fastcall sub_495366(unsigned __int8 a1, unsigned __int8 a2);
const char *GetReputationString(signed int a1);
char *BuildDialogueString(const char *lpsz, unsigned __int8 uPlayerID, struct ItemGen *a3, char *a4, int a5, __int64 *a6);
void PlayerCreationUI_Draw();
void PlayerCreationUI_Initialize();
void DeleteCCharFont();
bool PlayerCreationUI_Loop();
unsigned int __fastcall GetMaxMipLevels(unsigned int uDim);
struct SoundHeader *FindSound_BinSearch(unsigned int uStart, unsigned int uEnd, const char *pName);
struct SoundData *LoadSound(const char *pSoundName, struct SoundData *pOutBuff, unsigned int uID);
int __fastcall sub_4AAEA6_transform(struct RenderVertexSoft *a1);
int __fastcall sub_4AB66C(int, int); // weak
int GetSoundStrengthByDistanceFromParty(int x, int y, int z);
void PlayLevelMusic();
unsigned int __fastcall sub_4B0E07(unsigned int uFaceID); // idb
void sub_4B1447_party_fine(int a1, int a2, int a3);
void sub_4B1523(int *_this);
void ShowPopupShopItem();
void RestAndHeal(__int64 uNumMinutes); // idb
void GetHouseGoodbyeSpeech();
int __fastcall _46A89E_immolation_effect(int a1, int a2, int a3);
unsigned int GetGravityStrength();
void UpdateUserInput_and_MapSpecificStuff();
void BLV_UpdateUserInputAndOther();
void ODM_UpdateUserInputAndOther();
bool __fastcall _46BFFA_check_object_intercept(unsigned int uLayingItemID, signed int a2);
int BLV_GetFloorLevel(int x, int y, int z, unsigned int uSectorID, unsigned int *pFaceID);
int ODM_GetFloorLevel(int X, signed int Y, int Z, int, int *pOnWater, int *bmodel_pid, int bWaterWalk);
int GetCeilingHeight(int Party_X, signed int Party_Y, int Party_ZHeight, int pFaceID);
void ODM_GetTerrainNormalAt(int pos_x, int pos_z, Vec3_int_ *out);
unsigned int __fastcall sub_46DEF2(signed int a2, unsigned int uLayingItemID);
void _46E0B2_collide_against_decorations();
void __fastcall _46E26D_collide_against_sprites(signed int a1, signed int a2);
int _46E44E_collide_against_faces_and_portals(unsigned int b1); // idb
int __fastcall _46E889_collide_against_bmodels(unsigned int ecx0);
int collide_against_floor(int x, int y, int z, unsigned int *pSectorID, unsigned int *pFaceID); // idb
void __fastcall _46ED8A_collide_against_sprite_objects(unsigned int _this);
int _46EF01_collision_chech_player(int a1); // idb
int _46F04E_collide_against_portals();
void BLV_UpdateDoors();
void UpdateActors_BLV();
void UpdateActors_ODM();
void UpdateObjects();
int collide_against_floor_approximate(int x, int y, int z, unsigned int *pSectorID, unsigned int *pFaceID); // idb
void BLV_ProcessPartyActions();
void ODM_ProcessPartyActions();
bool sub_47531C(int a1, int *a2, int pos_x, int pos_y, int pos_z, int dir_x, int dir_y, int dir_z, struct BLVFace *face, int a10);
bool sub_4754BF(int a1, int *a2, int X, int Y, int Z, int dir_x, int dir_y, int dir_z, struct BLVFace *face, int a10, int a11);
int sub_475665(struct BLVFace *face, int a2, __int16 a3);
bool __fastcall sub_4759C9(struct BLVFace *face, int a2, int a3, __int16 a4);
bool __fastcall sub_475D85(Vec3_int_ *a1, Vec3_int_ *a2, int *a3, struct BLVFace *a4);
bool __fastcall sub_475F30(int *a1, struct BLVFace *a2, int a3, int a4, int a5, int a6, int a7, int a8, int a9);
void sub_4452BB();
const char *GetProfessionActionText(int a1);
struct NPCData *__fastcall GetNPCData(signed int npcid);
struct NPCData * GetNewNPCData(signed int npcid, int* npc_indx);
int __fastcall GetGreetType(signed int SpeakingNPC_ID);
void  DialogueEnding();
void PrepareHouse(enum HOUSE_ID house); // idb
bool EnterHouse(enum HOUSE_ID uHouseID);
bool sub_4465DF_check_season(int a1);
int __fastcall IsActorAlive(unsigned int uType, unsigned int uParam, unsigned int uNumAlive); // idb
int NPC_EventProcessor(int npc_event_id, int entry_line = 0);
void __fastcall sub_448518_npc_set_item(int npc, unsigned int item, int a3);
void __fastcall sub_44861E_set_texture(unsigned int uFaceCog, const char *pFilename);
void __fastcall SetDecorationSprite(uint16_t uCog, bool bHide, const char *pFileName); // idb
void __fastcall sub_44892E_set_faces_bit(int sCogNumber, int bit, int on);
void __fastcall ToggleActorGroupFlag(unsigned int uGroupID, unsigned int uFlag, unsigned int bToggle);
void  GameUI_StatusBar_UpdateTimedString(unsigned int bForceHide); // idb
void OnTimer(int);
void __fastcall sub_448CF4_spawn_monsters(__int16 typeindex, __int16 level, int count, int x, int y, int z, int group, unsigned int uUniqueName);
void __fastcall EventCastSpell(int uSpellID, int uSkillLevel, int uSkill, int fromx, int fromy, int fromz, int tox, int toy, int toz);//sub_448DF8
void Door_switch_animation(unsigned int uDoorID, int a2); // idb: sub_449A49
bool _449B57_test_bit(unsigned __int8 *a1, __int16 a2);
void _449B7E_toggle_bit(unsigned char *pArray, __int16 a2, unsigned __int16 bToggle); // idb
void ShowStatusBarString(const char *pString, unsigned int uNumSeconds);
void ShowNothingHereStatus();
int const_2();
bool TeleportToNWCDungeon();
void SpawnEncounter(struct MapInfo *pMapInfo, struct SpawnPointMM7 *spawn, int a3, int a4, int a5);
int __fastcall sub_44FA4C_spawn_light_elemental(int a1, int a2, int a3);
int __fastcall sub_450521_ProllyDropItemAt(int ecx0, signed int a2, int a3, int a4, int a5, unsigned __int16 a6);
int __fastcall _45063B_spawn_some_monster(struct MapInfo *a1, int a2);
void RespawnGlobalDecorations();
bool __fastcall SpawnActor(unsigned int uMonsterID);
int GetAlertStatus();
int integer_sqrt(int val);
int __fastcall GetDiceResult(unsigned int uNumDice, unsigned int uDiceSides); // idb
inline int round_to_int(float x) { return (int)floor(x + 0.5f); }
inline void __fastcall memset32(void *ptr, unsigned __int32 value, int count)
{
  unsigned __int32* p = (unsigned __int32 *)ptr;
  for ( int i=0; i < count; i++ )
    *p++ = value;
}


namespace zlib
{
  int MemZip(void *dest, unsigned int *destLen, void *source, unsigned int sourceLen);
  int MemUnzip(void *dest, unsigned int *destLen, const void *source, unsigned int sourceLen);
};