2152
|
1 #pragma once
|
|
2
|
|
3
|
|
4
|
|
5 //-------------------------------------------------------------------------
|
|
6 // Function declarations
|
|
7 void constructors();
|
|
8
|
|
9 void init_event_triggers();
|
|
10 void check_event_triggers();
|
|
11
|
|
12
|
|
13
|
|
14
|
|
15 void ShowIntroVideo_and_LoadingScreen();
|
|
16 unsigned int GameOverMenu(void *ecx0);
|
|
17 int __fastcall SpawnRandomTreasure(struct MapInfo *a1, struct SpawnPointMM7 *a2);
|
|
18 void DamageMonsterFromParty(signed int a1, unsigned int uActorID_Monster, struct Vec3_int_ *pVelocity);
|
|
19
|
|
20 void MakeActorAIList_ODM();
|
|
21 int MakeActorAIList_BLV();
|
|
22 void UpdateActorAI();
|
|
23 bool __fastcall sub_4070EF_prolly_detect_player(unsigned int uObjID, unsigned int uObj2ID);
|
|
24 bool __fastcall sub_4075DB(int a1, int a2, int a3, struct BLVFace *face);
|
|
25 bool __fastcall sub_4077F1(int a1, int a2, int a3, struct ODMFace *face, struct BSPVertexBuffer *a5);
|
|
26 bool __fastcall sub_407A1C(int x, int z, int y, struct Vec3_int_ v); // idb
|
|
27 void InitializeActors();
|
|
28 void InitializeSpriteObjects();
|
|
29 int __fastcall sub_4088E9(int a1, int a2, int a3, int a4, int a5, int a6);
|
|
30 unsigned int SearchAliveActors(unsigned int *pTotalActors);
|
|
31 unsigned int SearchActorByMonsterID(unsigned int *pTotalActors, int uMonsterID);
|
|
32 unsigned int SearchActorByGroup(unsigned int *pTotalActors, unsigned int uGroup);
|
|
33 unsigned int SearchActorByID(unsigned int *pTotalActors, unsigned int a2);
|
|
34 void PrepareArcomage();
|
|
35 void DoBlt_Copy(unsigned __int16 *pPixels); // idb
|
|
36 void __fastcall ZBuffer_Fill(int *pZBuffer, int uTextureId, int iZValue);
|
|
37 void __fastcall ZBuffer_DoFill(int *pZBuffer, struct Texture *pTex, int uZValue);
|
|
38 void __fastcall ZBuffer_DoFill2(int *pZBuffer, struct Texture *a2, int a3); // idb
|
|
39 void SetMoonPhaseNames();
|
|
40 int __fastcall sub_410D99_get_map_index(int a1);
|
|
41 void __fastcall LoadThumbnailLloydTexture(unsigned int uSlot, unsigned int uPlayer);
|
|
42 void SetAttributeNames();
|
|
43 void uGameUIFontMain_initialize();
|
|
44 void uGameUIFontShadow_initialize();
|
|
45 void Inventory_ItemPopupAndAlchemy();
|
|
46 void UI_OnMouseRightClick(struct Vec2_int_ *_this);
|
|
47 void UI_OnMouseLeftClick(int *pXY); // idb
|
|
48 unsigned int UI_GetHealthManaAndOtherQualitiesStringColor(signed int current_pos, signed int base_pos);
|
|
49 unsigned int __fastcall GetSizeInInventorySlots(unsigned int uNumPixels);
|
|
50 struct GUIButton *__fastcall GUI_HandleHotkey(unsigned __int8 uHotkey); // idb
|
|
51 int __fastcall GUI_ReplaceHotkey(unsigned __int8 uOldHotkey, unsigned __int8 uNewHotkey, char bFirstCall);
|
|
52 void DrawBuff_remaining_time_string(int uY, struct GUIWindow *window, __int64 remaining_time, struct GUIFont *Font);
|
|
53 bool UI_OnKeyDown(unsigned int vkKey);
|
|
54 void GameUI_DrawItemInfo(struct ItemGen* inspect_item); // idb
|
|
55 void MonsterPopup_Draw(unsigned int uActorID, struct GUIWindow *window);
|
|
56 void LoadActualSkyFrame();
|
|
57 void Sleep6Hours();
|
|
58 void ChestUI_WritePointedObjectStatusString();
|
|
59 void OnChestLeftClick();
|
|
60 void GameUI_WritePointedObjectStatusString();
|
|
61 void __fastcall GameUI_OnPlayerPortraitLeftClick(unsigned int uPlayerID); // idb
|
|
62 void OnGameViewportClick();
|
|
63 bool PauseGameDrawing();
|
|
64 void SetUserInterface(enum PartyAlignment alignment, bool bReplace);
|
|
65 void reset_some_strus_flt_2Cs();
|
|
66 int __fastcall GetPortalScreenCoord(unsigned int uFaceID);
|
|
67 bool PortalFrustrum(int pNumVertices, struct BspRenderer_PortalViewportData *a2, struct BspRenderer_PortalViewportData *near_portal, int uFaceID);
|
|
68 int ODM_NearClip(unsigned int uVertexID); // idb
|
|
69 int ODM_FarClip(unsigned int uNumVertices);
|
|
70 bool sub_427769_isSpellQuickCastableOnShiftClick(unsigned int uSpellID);
|
|
71 void _42777D_CastSpell_UseWand_ShootArrow(int a1, unsigned int uPlayerID, unsigned int a4, __int16 a5, int a6);
|
|
72 void _42ECB5_PlayerAttacksActor();
|
|
73 void InitializeTurnBasedAnimations(void *);
|
|
74 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);
|
|
75 void __fastcall sub_42F960_create_object(int x, int y, int z); // idb
|
|
76 void CompactLayingItemsList();
|
|
77 void _42FA66_do_explosive_impact(int a1, int a2, int a3, int a4, __int16 a5, signed int a6);
|
|
78 void sub_42FBDD();
|
|
79 void CloseWindowBackground();
|
|
80 void ProcessInputActions();
|
|
81 void GameUI_MsgProc();
|
|
82 void back_to_game();
|
|
83 void GUI_MainMenuMessageProc();
|
|
84 double get_shading_dist_mist();
|
|
85 void area_of_effect__damage_evaluate();
|
|
86 void __fastcall DamagePlayerFromMonster(unsigned int uObjID, int a2, struct Vec3_int_ *pPos, signed int a4);
|
|
87 void __fastcall sub_43A97E(unsigned int uLayingItemID, signed int a2); // idb
|
|
88 double __fastcall sub_43AE12(signed int a1);
|
|
89 int __fastcall _43AFE3_calc_spell_damage(int a1, int a2, signed int a3, int a4);
|
|
90 void ItemDamageFromActor(unsigned int uObjID, unsigned int uActorID, struct Vec3_int_ *pVelocity);
|
|
91 void ActorDamageFromMonster(signed int attacker_id, unsigned int actor_id, struct Vec3_int_ *pVelocity, signed int a4);
|
|
92 void CharacterUI_LoadPaperdollTextures();
|
|
93 int __fastcall GetItemTextureFilename(char *pOut, signed int item_id, int index, int shoulder);
|
|
94 bool IsDwarfPresentInParty(bool b);
|
|
95 bool ShouldLoadTexturesForRaceAndGender(unsigned int _this);
|
|
96 void WetsuitOn(unsigned int uPlayerID); // idb
|
|
97 void WetsuitOff(unsigned int uPlayerID);
|
|
98 void __fastcall PrepareDrawLists_BLV();
|
|
99 void FindBillboardsLightLevels_BLV();
|
|
100 int __fastcall _43F55F_get_billboard_light_level(struct RenderBillboard *a1, int uBaseLightLevel);
|
|
101 int __fastcall _43F5C8_get_point_light_level_with_respect_to_lights(unsigned int uBaseLightLevel, int uSectorID, float x, float y, float z);
|
|
102 void PrepareBspRenderList_BLV();
|
|
103 void PrepareDecorationsRenderList_BLV(unsigned int uDecorationID, unsigned int uSectorID);
|
|
104 void PrepareActorRenderList_BLV();
|
|
105 void PrepareItemsRenderList_BLV();
|
|
106 void AddBspNodeToRenderList(unsigned int node_id);
|
|
107 void __fastcall sub_4406BC(unsigned int node_id, unsigned int uFirstNode); // idb
|
|
108 bool sub_44100D();
|
|
109 __int16 __fastcall sub_441A4E(int a1);
|
|
110 void DrawBook_Map_sub(unsigned int tl_x, unsigned int tl_y, unsigned int br_x, int br_y, int _48074); // idb
|
|
111 void Initialize2DA();
|
|
112 void LoadLevel_InitializeLevelStr();
|
|
113 void OnMapLeave();
|
|
114 void OnMapLoad();
|
|
115 void Level_LoadEvtAndStr(const char *pLevelName);
|
|
116 const char *GetMapBookHintText();//sub_444564
|
|
117 char *GetEventHintString(unsigned int uEventID); // idb
|
|
118 int GetTravelTime();
|
|
119 void __fastcall sub_4451A8_press_any_key(int a1, int a2, int a4);
|
|
120 unsigned int SkillToMastery(unsigned int skill_value);
|
|
121 unsigned int __fastcall GetSpellColor(signed int a1);
|
|
122 void __fastcall LoadGame(unsigned int uSlot); // idb
|
|
123 void SaveGame(bool IsAutoSAve, bool NotSaveWorld);
|
|
124 void __fastcall DoSavegame(unsigned int uSlot); // idb
|
|
125 bool Initialize_GamesLOD_NewLOD();
|
|
126 void SaveNewGame();
|
|
127 void PrepareToLoadBLV(unsigned int bLoading);
|
|
128 void __fastcall PrepareToLoadODM(unsigned int bLoading, struct ODMRenderParams *a2);
|
|
129 void _461103_load_level_sub();
|
|
130 void MainMenu_Loop();
|
|
131 char sub_4637E0_is_there_popup_onscreen();
|
|
132 void ResetCursor_Palettes_LODs_Level_Audio_SFT_Windows();
|
|
133 void PrepareWorld(unsigned int _0_box_loading_1_fullscreen);
|
|
134 void Game_DeinitializeAndTerminate(int exitCode); // idb
|
|
135 void FinalInitialization();
|
|
136 char Is_out15odm_underwater();
|
|
137 void SetUnderwaterFog();
|
|
138 void DoPrepareWorld(unsigned int bLoading, int _1_fullscreen_loading_2_box);
|
|
139 int __fastcall ReadWindowsRegistryInt(const char *pKey, int uDefValue); // idb
|
|
140 void __fastcall WriteWindowsRegistryString(const char *pKey, const char *pString);
|
|
141 void __fastcall ReadWindowsRegistryString(const char *pKeyName, char *pOutString, int uBufLen, const char *pDefaultValue);
|
|
142 void __fastcall WriteWindowsRegistryInt(const char *pKey, int val);
|
|
143 bool __fastcall CheckMM7CD(char c);
|
|
144 void SecondaryInitialization();
|
|
145 void CreateAsyncMouse();
|
|
146 void CreateAsyncKeyboard();
|
|
147 void MM6_Initialize(const wchar_t *pIniFilename);
|
|
148 void MM7Initialization();
|
|
149 void SetCurrentMenuID(enum MENU_STATE); // idb
|
|
150 enum MENU_STATE GetCurrentMenuID();
|
|
151 void CreateMsgScrollWindow(signed int mscroll_id);
|
|
152 void free_book_subwindow();
|
|
153 void CreateScrollWindow();
|
|
154 void OnPaperdollLeftClick();
|
|
155 void OnPressSpace();
|
|
156 char __fastcall DoInteractionWithTopmostZObject(int a1, int a2);
|
|
157 void OracleDialogue();
|
|
158 void __fastcall ClickNPCTopic(signed int uMessageParam);
|
|
159 char * _4B254D_SkillMasteryTeacher(int _this);
|
|
160 const char *ContractSelectText(int pEventCode);
|
|
161 void SimpleHouseDialog();
|
|
162 void CreateButtonInColumn(int a1, unsigned int a2);
|
|
163 void FillAviableSkillsToTeach(int _this);
|
|
164 void sub_4B3E1E();
|
|
165 void DrawJoinGuildWindow(int pEventCode);
|
|
166 void __fastcall _4B3FE5_training_dialogue(int a4);
|
|
167 void NPCHireableDialogPrepare();
|
|
168 void _4B4224_UpdateNPCTopics(int _this);
|
|
169 void __fastcall DrawTextAtStatusBar(const char *Str, int a5);
|
|
170 __int64 GetExperienceRequiredForLevel(int a1);
|
|
171 void CheckBountyRespawnAndAward();
|
|
172 void Arena_SelectionFightLevel();
|
|
173 void ArenaFight();
|
|
174 void SpellBookGenerator();
|
|
175 void UI_CreateEndConversationButton();
|
|
176 void __fastcall OnSelectShopDialogueOption(signed int uMessageParam);
|
|
177 int HouseDialogPressCloseBtn();
|
|
178 bool MerchandiseTest(ItemGen *item, int _2da_idx);
|
|
179 void UIShop_Buy_Identify_Repair();
|
|
180 bool __fastcall IsBModelVisible(unsigned int uModelID, int *unused);
|
|
181 void ODM_LoadAndInitialize(const char *pLevelFilename, struct ODMRenderParams *thisa);
|
|
182 unsigned int GetLevelFogColor();
|
|
183 int __fastcall sub_47C3D7_get_fog_related_stuff(int a1, int a2, float a3);
|
|
184 int __fastcall GetActorTintColor(int max_dim, int min_dim, float distance, int a4, struct RenderBillboard *a5);
|
|
185 unsigned int WorldPosToGridCellX(int); // weak
|
|
186 unsigned int WorldPosToGridCellZ(int); // weak
|
|
187 int GridCellToWorldPosX(int); // weak
|
|
188 int GridCellToWorldPosZ(int); // weak
|
|
189 void sub_481ED9_MessWithODMRenderParams();
|
|
190 bool IsTerrainSlopeTooHigh(int pos_x, int pos_y);
|
|
191 int __fastcall GetTerrainHeightsAroundParty2(int a1, int a2, int *a3, int a4);
|
|
192 void sub_487DA9();
|
|
193 double GetFogDensityByTime(struct OutdoorLocation *_this);
|
|
194 bool __fastcall HSV2RGB(float *a1, float *a2, float *a3, float a4, float a5, float a6);
|
|
195 void __fastcall RGB2HSV(float *a1, float *a2, float a3, float a4, float a5, float *a6);
|
|
196 signed int ReplaceHSV(unsigned int uColor, float a2, float gamma, float a4);
|
|
197 bool PlayerCreation_Choose4Skills();
|
|
198 int PlayerCreation_GetUnspentAttributePointCount();
|
|
199 void LoadPlayerPortraintsAndVoices();
|
|
200 void ReloadPlayerPortraits(int player_id, int face_id);
|
|
201 void sub_491E3A();
|
|
202 int CycleCharacter(bool backwards);
|
|
203 void __fastcall Rest(unsigned int uHoursToSleep);
|
|
204 void _493938_regenerate();
|
|
205 void init_summoned_item(struct stru351_summoned_item *_this, __int64 duration);
|
|
206 void _494035_timed_effects__water_walking_damage__etc();
|
|
207 unsigned int __fastcall _494820_training_time(unsigned int a1);
|
|
208 char *__fastcall sub_495366(unsigned __int8 a1, unsigned __int8 a2);
|
|
209 const char *GetReputationString(signed int a1);
|
|
210 char *BuildDialogueString(const char *lpsz, unsigned __int8 uPlayerID, struct ItemGen *a3, char *a4, int a5, __int64 *a6);
|
|
211 void PlayerCreationUI_Draw();
|
|
212 void PlayerCreationUI_Initialize();
|
|
213 void DeleteCCharFont();
|
|
214 bool PlayerCreationUI_Loop();
|
|
215 unsigned int __fastcall GetMaxMipLevels(unsigned int uDim);
|
|
216 struct SoundHeader *FindSound_BinSearch(unsigned int uStart, unsigned int uEnd, const char *pName);
|
|
217 struct SoundData *LoadSound(const char *pSoundName, struct SoundData *pOutBuff, unsigned int uID);
|
|
218 int __fastcall sub_4AAEA6_transform(struct RenderVertexSoft *a1);
|
|
219 int __fastcall sub_4AB66C(int, int); // weak
|
|
220 int GetSoundStrengthByDistanceFromParty(int x, int y, int z);
|
|
221 void PlayLevelMusic();
|
|
222 unsigned int __fastcall sub_4B0E07(unsigned int uFaceID); // idb
|
|
223 void sub_4B1447_party_fine(int a1, int a2, int a3);
|
|
224 void sub_4B1523(int *_this);
|
|
225 void ShowPopupShopItem();
|
|
226 void RestAndHeal(__int64 uNumMinutes); // idb
|
|
227 void GetHouseGoodbyeSpeech();
|
|
228 int __fastcall _46A89E_immolation_effect(int a1, int a2, int a3);
|
|
229 unsigned int GetGravityStrength();
|
|
230 void UpdateUserInput_and_MapSpecificStuff();
|
|
231 void BLV_UpdateUserInputAndOther();
|
|
232 void ODM_UpdateUserInputAndOther();
|
|
233 bool __fastcall _46BFFA_check_object_intercept(unsigned int uLayingItemID, signed int a2);
|
|
234 int BLV_GetFloorLevel(int x, int y, int z, unsigned int uSectorID, unsigned int *pFaceID);
|
|
235 int ODM_GetFloorLevel(int X, signed int Y, int Z, int, int *pOnWater, int *bmodel_pid, int bWaterWalk);
|
|
236 int GetCeilingHeight(int Party_X, signed int Party_Y, int Party_ZHeight, int pFaceID);
|
|
237 void ODM_GetTerrainNormalAt(int pos_x, int pos_z, Vec3_int_ *out);
|
|
238 unsigned int __fastcall sub_46DEF2(signed int a2, unsigned int uLayingItemID);
|
|
239 void _46E0B2_collide_against_decorations();
|
|
240 void __fastcall _46E26D_collide_against_sprites(signed int a1, signed int a2);
|
|
241 int _46E44E_collide_against_faces_and_portals(unsigned int b1); // idb
|
|
242 int __fastcall _46E889_collide_against_bmodels(unsigned int ecx0);
|
|
243 int collide_against_floor(int x, int y, int z, unsigned int *pSectorID, unsigned int *pFaceID); // idb
|
|
244 void __fastcall _46ED8A_collide_against_sprite_objects(unsigned int _this);
|
|
245 int _46EF01_collision_chech_player(int a1); // idb
|
|
246 int _46F04E_collide_against_portals();
|
|
247 void BLV_UpdateDoors();
|
|
248 void UpdateActors_BLV();
|
|
249 void UpdateActors_ODM();
|
|
250 void UpdateObjects();
|
|
251 int collide_against_floor_approximate(int x, int y, int z, unsigned int *pSectorID, unsigned int *pFaceID); // idb
|
|
252 void BLV_ProcessPartyActions();
|
|
253 void ODM_ProcessPartyActions();
|
|
254 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);
|
|
255 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);
|
|
256 int sub_475665(struct BLVFace *face, int a2, __int16 a3);
|
|
257 bool __fastcall sub_4759C9(struct BLVFace *face, int a2, int a3, __int16 a4);
|
|
258 bool __fastcall sub_475D85(Vec3_int_ *a1, Vec3_int_ *a2, int *a3, struct BLVFace *a4);
|
|
259 bool __fastcall sub_475F30(int *a1, struct BLVFace *a2, int a3, int a4, int a5, int a6, int a7, int a8, int a9);
|
|
260 void sub_4452BB();
|
|
261 const char *GetProfessionActionText(int a1);
|
|
262 struct NPCData *__fastcall GetNPCData(signed int npcid);
|
|
263 struct NPCData * GetNewNPCData(signed int npcid, int* npc_indx);
|
|
264 int __fastcall GetGreetType(signed int SpeakingNPC_ID);
|
|
265 void DialogueEnding();
|
|
266 void PrepareHouse(enum HOUSE_ID house); // idb
|
|
267 bool EnterHouse(enum HOUSE_ID uHouseID);
|
|
268 bool sub_4465DF_check_season(int a1);
|
|
269 int __fastcall IsActorAlive(unsigned int uType, unsigned int uParam, unsigned int uNumAlive); // idb
|
|
270 int NPC_EventProcessor(int npc_event_id, int entry_line = 0);
|
|
271 void __fastcall sub_448518_npc_set_item(int npc, unsigned int item, int a3);
|
|
272 void __fastcall sub_44861E_set_texture(unsigned int uFaceCog, const char *pFilename);
|
|
273 void __fastcall SetDecorationSprite(uint16_t uCog, bool bHide, const char *pFileName); // idb
|
|
274 void __fastcall sub_44892E_set_faces_bit(int sCogNumber, int bit, int on);
|
|
275 void __fastcall ToggleActorGroupFlag(unsigned int uGroupID, unsigned int uFlag, unsigned int bToggle);
|
|
276 void GameUI_StatusBar_UpdateTimedString(unsigned int bForceHide); // idb
|
|
277 void OnTimer(int);
|
|
278 void __fastcall sub_448CF4_spawn_monsters(__int16 typeindex, __int16 level, int count, int x, int y, int z, int group, unsigned int uUniqueName);
|
|
279 void __fastcall EventCastSpell(int uSpellID, int uSkillLevel, int uSkill, int fromx, int fromy, int fromz, int tox, int toy, int toz);//sub_448DF8
|
|
280 void Door_switch_animation(unsigned int uDoorID, int a2); // idb: sub_449A49
|
|
281 bool _449B57_test_bit(unsigned __int8 *a1, __int16 a2);
|
|
282 void _449B7E_toggle_bit(unsigned char *pArray, __int16 a2, unsigned __int16 bToggle); // idb
|
|
283 void ShowStatusBarString(const char *pString, unsigned int uNumSeconds);
|
|
284 void ShowNothingHereStatus();
|
|
285 int const_2();
|
|
286 bool TeleportToNWCDungeon();
|
|
287 void SpawnEncounter(struct MapInfo *pMapInfo, struct SpawnPointMM7 *spawn, int a3, int a4, int a5);
|
|
288 int __fastcall sub_44FA4C_spawn_light_elemental(int a1, int a2, int a3);
|
|
289 int __fastcall sub_450521_ProllyDropItemAt(int ecx0, signed int a2, int a3, int a4, int a5, unsigned __int16 a6);
|
|
290 int __fastcall _45063B_spawn_some_monster(struct MapInfo *a1, int a2);
|
|
291 void RespawnGlobalDecorations();
|
|
292 bool __fastcall SpawnActor(unsigned int uMonsterID);
|
|
293 int GetAlertStatus();
|
|
294 int integer_sqrt(int val);
|
|
295 int __fastcall GetDiceResult(unsigned int uNumDice, unsigned int uDiceSides); // idb
|
|
296 inline int round_to_int(float x) { return (int)floor(x + 0.5f); }
|
|
297 inline void __fastcall memset32(void *ptr, unsigned __int32 value, int count)
|
|
298 {
|
|
299 unsigned __int32* p = (unsigned __int32 *)ptr;
|
|
300 for ( int i=0; i < count; i++ )
|
|
301 *p++ = value;
|
|
302 }
|
|
303
|
|
304
|
|
305 namespace zlib
|
|
306 {
|
|
307 int MemZip(void *dest, unsigned int *destLen, void *source, unsigned int sourceLen);
|
|
308 int MemUnzip(void *dest, unsigned int *destLen, const void *source, unsigned int sourceLen);
|
|
309 }; |