comparison mm7_data.h @ 1459:2ca62c9e7b3c

Function names
author Nomad
date Wed, 21 Aug 2013 16:06:50 +0200
parents 934074e7fcc1
children c987b5ed09af
comparison
equal deleted inserted replaced
1458:934074e7fcc1 1459:2ca62c9e7b3c
781 extern char *pPotionsTXT_Raw; 781 extern char *pPotionsTXT_Raw;
782 extern char *pPotionNotesTXT_Raw; 782 extern char *pPotionNotesTXT_Raw;
783 783
784 extern std::array<int, 777> _6807B8_level_decorations_ids; // idb 784 extern std::array<int, 777> _6807B8_level_decorations_ids; // idb
785 extern int _6807E0_num_decorations_with_sounds_6807B8; // weak 785 extern int _6807E0_num_decorations_with_sounds_6807B8; // weak
786 extern std::array<int, 777> _6807E8_level_decorations_ids; // idb 786 extern std::array<int, 3000> event_triggers; // 6807E8
787 extern int _6836C8_num_decorations_6807E8; // weak 787 extern int num_event_triggers; // 6836C8
788 extern std::array<int, 64> dword_69B010; 788 extern std::array<int, 64> dword_69B010;
789 extern float flt_69B138_dist; // weak 789 extern float flt_69B138_dist; // weak
790 extern char byte_69BD41_unused; // weak 790 extern char byte_69BD41_unused; // weak
791 extern unsigned int uTextureID_x_u; 791 extern unsigned int uTextureID_x_u;
792 extern unsigned int uTextureID_LS_saveU; 792 extern unsigned int uTextureID_LS_saveU;
1056 1056
1057 1057
1058 //------------------------------------------------------------------------- 1058 //-------------------------------------------------------------------------
1059 // Function declarations 1059 // Function declarations
1060 1060
1061 void sub_4452BB(); 1061
1062 const char *GetProfessionActionText(int a1); 1062 void init_event_triggers();
1063 struct NPCData *__fastcall GetNPCData(signed int npcid); 1063 void check_event_triggers();
1064 struct NPCData * GetNewNPCData(signed int npcid, int* npc_indx); 1064
1065 int __fastcall GetGreetType(signed int SpeakingNPC_ID); 1065
1066 void DialogueEnding(); 1066
1067 void PrepareHouse(enum HOUSE_ID house); // idb 1067
1068 bool EnterHouse(enum HOUSE_ID uHouseID); 1068 void ShowIntroVideo_and_LoadingScreen();
1069 int sub_4465DF_check_season(int a1); 1069 unsigned int GameOverMenu(void *ecx0);
1070 int __fastcall IsActorAlive(unsigned int uType, unsigned int uParam, unsigned int uNumAlive); // idb 1070 int __fastcall SpawnRandomTreasure(struct MapInfo *a1, struct SpawnPointMM7 *a2);
1071 // void crt_construct_5773C4();
1072 int NPC_EventProcessor(int npc_event_id, int entry_line = 0);
1073
1074 void __fastcall sub_448518_npc_set_item(int npc, unsigned int item, int a3);
1075 void __fastcall sub_44861E_set_texture(unsigned int uFaceCog, const char *pFilename);
1076 void __fastcall SetDecorationSprite(unsigned int uCog, int a2, const char *pFileName); // idb
1077 void __fastcall sub_44892E_set_faces_bit(int sCogNumber, int bit, int on);
1078 void __fastcall ToggleActorGroupFlag(unsigned int uGroupID, unsigned int uFlag, unsigned int bToggle);
1079 void GameUI_StatusBar_UpdateTimedString(unsigned int bForceHide); // idb
1080 void OnTimer(int);
1081 void __fastcall sub_448CF4_spawn_monsters(__int16 typeindex, __int16 level, int count, int x, int y, int z, int group, unsigned int uUniqueName);
1082 void __fastcall EventCastSpell(int spellnum, int uSkillLevel, int uSkill, int fromx, int fromy, int fromz, int tox, int toy, int toz);//sub_448DF8
1083 __int16 __fastcall sub_449A49_door_switch_animation(unsigned int uDoorID, int a2); // idb
1084 bool _449B57_test_bit(unsigned __int8 *a1, __int16 a2);
1085 void _449B7E_toggle_bit(unsigned char *pArray, __int16 a2, unsigned __int16 bToggle); // idb
1086 void ShowStatusBarString(const char *pString, unsigned int uNumSeconds);
1087 void ShowNothingHereStatus();
1088 signed int const_2();
1089 bool sub_44C28F_open_nwc_dungeon();
1090 // int crt_deconstruct_44C42C();
1091 void SpawnEncounter(struct MapInfo *pMapInfo, struct SpawnPointMM7 *spawn, int a3, int a4, int a5);
1092 int __fastcall sub_44FA4C_spawn_light_elemental(int a1, int a2, int a3);
1093
1094 signed int __fastcall sub_450521_ProllyDropItemAt(int ecx0, signed int a2, int a3, int a4, int a5, unsigned __int16 a6);
1095 int __fastcall _45063B_spawn_some_monster(struct MapInfo *a1, int a2);
1096 void RespawnGlobalDecorations();
1097 bool __fastcall SpawnActor(unsigned int uMonsterID);
1098 int GetAlertStatus();
1099 unsigned int __fastcall sub_452442(unsigned __int16 a1, unsigned __int16 a2, int a3, int a4);
1100 int integer_sqrt(int val);
1101 int __fastcall MakeColorMaskFromBitDepth(int a1);
1102 void __fastcall fill_pixels_fast(unsigned int a1, unsigned __int16 *pPixels, unsigned int uNumPixels);
1103 int __fastcall GetDiceResult(unsigned int uNumDice, unsigned int uDiceSides); // idb
1104 inline int round(float x) { return (int)floor(x + 0.5f); }
1105 inline void __fastcall memset32(void *ptr, unsigned __int32 value, int count)
1106 {
1107 auto p = (unsigned __int32 *)ptr;
1108 for ( int i=0; i < count; i++ )
1109 *p++ = value;
1110 }
1111 inline void __fastcall j_memset32(int a2, void *a1, unsigned int a3) {memset32(a1, a2, a3);}
1112 // int crt_452B74();
1113 int j_SetSomeItemsNames();
1114
1115
1116 int SkillToMastery(unsigned int skill_value);
1117 unsigned int __fastcall GetSpellColor(signed int a1);
1118 void * unknown_vdtor_6(void *_this, bool a2);
1119 unsigned short * MakeScreenshot(signed int width, signed int height);
1120 void SaveScreenshot(const char *pFilename);
1121 void __fastcall LoadGame(unsigned int uSlot); // idb
1122 void SaveGame(bool IsAutoSAve, bool NotSaveWorld);
1123 void __fastcall DoSavegame(unsigned int uSlot); // idb
1124 void TryLoadLevelFromLOD();
1125 void sub_46080D();
1126 bool Initialize_GamesLOD_NewLOD();
1127 void SaveNewGame();
1128 void PrepareToLoadBLV(unsigned int bLoading);
1129 void __fastcall PrepareToLoadODM(unsigned int bLoading, struct OutdoorCamera *a2);
1130 void sub_461103();
1131 int sub_4613C4();
1132 int int_get_vector_length(signed int x, signed int y, signed int z);
1133 int sub_46224A();
1134 void MainMenu_Loop();
1135 char sub_4637E0_is_there_popup_onscreen();
1136 void ResetCursor_Palettes_LODs_Level_Audio_SFT_Windows();
1137 void PrepareWorld(unsigned int _0_box_loading_1_fullscreen);
1138 void Game_DeinitializeAndTerminate(int exitCode); // idb
1139 void FinalInitialization();
1140 char Is_out15odm_underwater();
1141 void SetUnderwaterFog();
1142 void DoPrepareWorld(unsigned int bLoading, int _1_fullscreen_loading_2_box);
1143 int __fastcall ReadWindowsRegistryInt(const char *pKey, int uDefValue); // idb
1144 void __fastcall WriteWindowsRegistryString(const char *pKey, const char *pString);
1145 void __fastcall ReadWindowsRegistryString(const char *pKeyName, char *pOutString, int uBufLen, const char *pDefaultValue);
1146 void __fastcall WriteWindowsRegistryInt(const char *pKey, int val);
1147 bool __fastcall CheckMM7CD(char c);
1148 int loc_465CC8(); // weak
1149 void SecondaryInitialization();
1150 void CreateAsyncMouse();
1151 void CreateAsyncKeyboard();
1152 void MM6_Initialize(const wchar_t *pIniFilename);
1153 void MM7Initialization();
1154 int AbortWithError();
1155 void Abortf(const char *Format, ...);
1156 void SetCurrentMenuID(enum MENU_STATE); // idb
1157 enum MENU_STATE GetCurrentMenuID();
1158 void * output_debug_string(void *_this, std::string a2, const char *a3, int a4);
1159 std::string *__fastcall _4678E2_make_error_string(std::string *a1, int line, std::string file);
1160 void CreateMsgScrollWindow(signed int mscroll_id);
1161 void free_book_subwindow();
1162 void CreateScrollWindow();
1163 void OnPaperdollLeftClick();
1164 void OnPressSpace();
1165 char __fastcall DoInteractionWithTopmostZObject(int a1, int a2);
1166 int __fastcall sub_46A6AC(int a1, int a2, int a3);
1167 int __fastcall sub_46A7C8(int a1, int a2, signed int a3);
1168 int __fastcall sub_46A89E(int a1, int a2, signed int a3);
1169 int sub_46A99B();
1170 void * unknown_libname_8(void *_this, char a2);
1171 unsigned int GetGravityStrength();
1172 void UpdateUserInput_and_MapSpecificStuff();
1173 void BLV_UpdateUserInputAndOther();
1174 void ODM_UpdateUserInputAndOther();
1175 bool __fastcall _46BFFA_check_object_intercept(unsigned int uLayingItemID, signed int a2);
1176 void check_event_triggers();
1177 int BLV_GetFloorLevel(int x, int y, int z, unsigned int uSectorID, unsigned int *pFaceID);
1178 int ODM_GetFloorLevel(int X, signed int Y, int Z, int, int *pOnWater, int *bmodel_pid, int bWaterWalk);
1179 int __fastcall sub_46D8E3(int a1, signed int a2, int a3, int a4);
1180 void ODM_GetTerrainNormalAt(int pos_x, int pos_z, Vec3_int_ *out);
1181 unsigned int __fastcall sub_46DEF2(signed int a2, unsigned int uLayingItemID);
1182 int __fastcall _46DF1A_collide_against_actor(int, int); // weak
1183 void _46E0B2_collide_against_decorations();
1184 void __fastcall _46E26D_collide_against_sprites(signed int a1, signed int a2);
1185 int _46E44E_collide_against_faces_and_portals(unsigned int b1); // idb
1186 int __fastcall _46E889_collide_against_bmodels(unsigned int ecx0);
1187 int collide_against_floor(int x, int y, int z, unsigned int *pSectorID, unsigned int *pFaceID); // idb
1188 void __fastcall _46ED8A_collide_against_sprite_objects(unsigned int _this);
1189 int _46EF01_collision_chech_player(int a1); // idb
1190 signed int _46F04E_collide_against_portals();
1191 void BLV_UpdateDoors();
1192 void UpdateActors_BLV();
1193 void UpdateActors_ODM();
1194 void UpdateObjects();
1195 int collide_against_floor_approximate(int x, int y, int z, unsigned int *pSectorID, unsigned int *pFaceID); // idb
1196 void BLV_ProcessPartyActions();
1197 void ODM_ProcessPartyActions();
1198 bool __fastcall sub_47531C(int a1, int *a2, int a3, int a4, int a5, int a6, int a7, int a8, struct BLVFace *a9, int a10);
1199 bool __fastcall sub_4754BF(int a1, int *a2, int a3, int a4, int a5, int a6, int a7, int a8, struct BLVFace *a9, int a10, int a11);
1200 signed int sub_475665(struct BLVFace *_this, int a2, __int16 a3);
1201 bool __fastcall sub_4759C9(struct BLVFace *a1, int a2, int a3, __int16 a4);
1202 bool __fastcall sub_475D85(Vec3_int_ *a1, Vec3_int_ *a2, int *a3, struct BLVFace *a4);
1203 bool __fastcall sub_475F30(int *a1, struct BLVFace *a2, int a3, int a4, int a5, int a6, int a7, int a8, int a9);
1204
1205 int GetPartyReputation();
1206 void sub_4783FA_construct_global_73D150();
1207 void loc_4789D4(); // idb
1208 void loc_47907F(); // idb
1209 bool __fastcall IsBModelVisible(unsigned int uModelID, int *unused);
1210 void ODM_LoadAndInitialize(const char *pLevelFilename, struct OutdoorCamera *thisa);
1211 unsigned int GetLevelFogColor();
1212 int __fastcall sub_47C3D7_get_fog_related_stuff(int a1, int a2, float a3);
1213 signed int __fastcall GetActorTintColor(int max_dim, int min_dim, float distance, int a4, struct RenderBillboard *a5);
1214 unsigned int WorldPosToGridCellX(int); // weak
1215 unsigned int WorldPosToGridCellZ(int); // weak
1216 int __stdcall GridCellToWorldPosX(int); // weak
1217 int __stdcall GridCellToWorldPosZ(int); // weak
1218 void loc_48118F(); // idb
1219 void loc_481199(); // idb
1220 void ResetPolygons();
1221 void sub_481ED9_MessWithOutdoorCamera();
1222 bool IsTerrainSlopeTooHigh(int pos_x, int pos_y);
1223 int __fastcall GetTerrainHeightsAroundParty2(int a1, int a2, int *a3, int a4);
1224 signed int const_1_0();
1225 void sub_487DA9();
1226 double GetFogDensityByTime(struct OutdoorLocation *_this);
1227 int __stdcall loc_489BB3(struct stru320 *a2, int thisa, unsigned int uNumVertices, struct RenderVertexSoft *a5, float a6, char uClipFlag); // weak
1228 bool __fastcall HSV2RGB(float *a1, float *a2, float *a3, float a4, float a5, float a6);
1229 void __fastcall RGB2HSV(float *a1, float *a2, float a3, float a4, float a5, float *a6);
1230 unsigned int ReplaceHSV(unsigned int uColor, float a2, float gamma, float a4);
1231 signed int PlayerCreation_Chose4Skills();
1232 signed int PlayerCreation_GetUnspentAttributePointCount();
1233 void LoadPlayerPortraintsAndVoices();
1234 int __fastcall ReloadPlayerPortraits(int, int); // weak
1235 void sub_491E3A();
1236 signed int CycleCharacter(unsigned int _this);
1237 void __fastcall Rest(unsigned int uHoursToSleep);
1238 int _493938_regenerate();
1239 void sub_493F79(struct stru351_summoned_item *_this, __int64 a2);
1240 void _494035_timed_effects__water_walking_damage__etc();
1241 unsigned int __fastcall _494820_training_time(unsigned int a1);
1242 char *__fastcall sub_495366(unsigned __int8 a1, unsigned __int8 a2);
1243 char *GetReputationString(signed int a1);
1244 char *BuildDialogueString(char *lpsz, unsigned __int8 uPlayerID, struct ItemGen *a3, char *a4, int a5, __int64 *a6);
1245 void PlayerCreationUI_Draw();
1246 void PlayerCreationUI_Initialize();
1247 void DeleteCCharFont();
1248 bool PlayerCreationUI_Loop();
1249 unsigned int __fastcall GetMaxMipLevels(unsigned int uDim);
1250 bool CheckTextureStages();
1251 bool AreRenderSurfacesOk();
1252 unsigned int BlendColors(unsigned int c1, unsigned int c2); // weak
1253 void DoRenderBillboards_D3D();
1254 int __fastcall sr_4A46E6_draw_particle_segment(unsigned int x, signed int y, signed int z, int a4, unsigned int lightColor);
1255 void Present_ColorKey();
1256 void Present_NoColorKey();
1257 unsigned int ModulateColor(unsigned int diffuse, float multiplier); // idb
1258 struct SoundHeader *FindSound_BinSearch(unsigned int uStart, unsigned int uEnd, const char *pName);
1259 struct SoundData *LoadSound(const char *pSoundName, struct SoundData *pOutBuff, unsigned int uID);
1260 int __fastcall sub_4AAEA6_transform(struct RenderVertexSoft *a1);
1261 int __fastcall sub_4AB66C(int, int); // weak
1262 int GetSoundStrengthByDistanceFromParty(int x, int y, int z);
1263 struct _DIG_DRIVER *Audio_GetFirstHardwareDigitalDriver(void);
1264 void PlayLevelMusic();
1265 unsigned int __fastcall sub_4B0E07(unsigned int uFaceID); // idb
1266 struct Player *__fastcall sub_4B1447_party_fine(int a1, int a2, int a3);
1267 void sub_4B1523(int *_this);
1268 void ShowPopupShopItem();
1269 void __stdcall RestAndHeal(__int64 uNumMinutes); // idb
1270 void GetHouseGoodbyeSpeech();
1271
1272 void sub_4B1ECE();
1273 void __fastcall ClickNPCTopic(signed int uMessageParam);
1274 char * _4B254D_SkillMasteryTeacher(int _this);
1275 const char * ContractSelectText(int pEventCode);
1276 void SimpleHouseAndBoatsDialog();
1277 void CreateButtonInColumn(int a1, unsigned int a2);
1278 void FillAviableSkillsToTeach(int _this);
1279 void sub_4B3E1E();
1280 void DrawJoinGuildWindow(int pEventCode);
1281 void __fastcall sub_4B3FE5(int a4);
1282 void NPCHireableDialogPrepare();
1283 void _4B4224_UpdateNPCTopics(int _this);
1284 void __fastcall DrawTextAtStatusBar(const char *Str, int a5);
1285 int __fastcall sub_4B46F8(int a1);
1286
1287 const char *sub_4BBA85_bounties();
1288 void sub_4BBCDD();
1289 void __fastcall _4BBF61_summon_actor(int a1, __int16 x, int y, int z); // idb
1290 void ArenaFight();
1291 void SpellBookGenerator();
1292 void UI_CreateEndConversationButton();
1293 void __fastcall OnSelectShopDialogueOption(signed int uMessageParam);
1294 signed int sub_4BD8B5();
1295 bool __fastcall MerchandiseTest(ItemGen *item, int _2da_idx);
1296 void UIShop_Buy_Identify_Repair();
1297
1298
1299 void ShowIntroVideo_and_LoadingScreen();
1300 unsigned int GameOverMenu(void *ecx0);
1301 bool BinkLockBuffer(struct _BINKBUF *_this);
1302 void BinkUnlockBuffer(struct _BINKBUF *_this);
1303 signed int __fastcall SpawnRandomTreasure(struct MapInfo *a1, struct SpawnPointMM7 *a2);
1304 void DamageMonsterFromParty(signed int a1, unsigned int uActorID_Monster, struct Vec3_int_ *pVelocity); 1071 void DamageMonsterFromParty(signed int a1, unsigned int uActorID_Monster, struct Vec3_int_ *pVelocity);
1305 1072
1306 void MakeActorAIList_ODM(); 1073 void MakeActorAIList_ODM();
1307 int MakeActorAIList_BLV(); 1074 int MakeActorAIList_BLV();
1308 void UpdateActorAI(); 1075 void UpdateActorAI();
1319 unsigned int SearchActorByID(unsigned int *pTotalActors, unsigned int a2); 1086 unsigned int SearchActorByID(unsigned int *pTotalActors, unsigned int a2);
1320 void PrepareArcomage(); 1087 void PrepareArcomage();
1321 unsigned short TargetColor(unsigned __int16 r, unsigned __int16 g, unsigned __int16 b); // idb 1088 unsigned short TargetColor(unsigned __int16 r, unsigned __int16 g, unsigned __int16 b); // idb
1322 void CallRenderPresent(); 1089 void CallRenderPresent();
1323 void DoBlt_Copy(unsigned __int16 *pPixels); // idb 1090 void DoBlt_Copy(unsigned __int16 *pPixels); // idb
1324 int loc_40E4FC(); // weak
1325 void __fastcall ZBuffer_Fill(int *pZBuffer, int uTextureId, int iZValue); 1091 void __fastcall ZBuffer_Fill(int *pZBuffer, int uTextureId, int iZValue);
1326 void __fastcall ZBuffer_DoFill(int *pZBuffer, struct Texture *pTex, int uZValue); 1092 void __fastcall ZBuffer_DoFill(int *pZBuffer, struct Texture *pTex, int uZValue);
1327 void __fastcall ZBuffer_DoFill2(int *pZBuffer, struct Texture *a2, int a3); // idb 1093 void __fastcall ZBuffer_DoFill2(int *pZBuffer, struct Texture *a2, int a3); // idb
1328 void SetMoonPhaseNames(); 1094 void SetMoonPhaseNames();
1329 int __fastcall sub_410D99_get_map_index(int a1); 1095 int __fastcall sub_410D99_get_map_index(int a1);
1343 void GameUI_DrawItemInfo(struct ItemGen* inspect_item); // idb 1109 void GameUI_DrawItemInfo(struct ItemGen* inspect_item); // idb
1344 void MonsterPopup_Draw(unsigned int uActorID, struct GUIWindow *edx0); 1110 void MonsterPopup_Draw(unsigned int uActorID, struct GUIWindow *edx0);
1345 void LoadActualSkyFrame(); 1111 void LoadActualSkyFrame();
1346 void Sleep6Hours(); 1112 void Sleep6Hours();
1347 void ChestUI_WritePointedObjectStatusString(); 1113 void ChestUI_WritePointedObjectStatusString();
1348
1349 void __fastcall party_finds_gold(unsigned int uNumGold, int _1_dont_share_with_followers___2_the_same_but_without_a_message__else_normal); // idb 1114 void __fastcall party_finds_gold(unsigned int uNumGold, int _1_dont_share_with_followers___2_the_same_but_without_a_message__else_normal); // idb
1350 void OnChestLeftClick(); 1115 void OnChestLeftClick();
1351 void GameUI_WritePointedObjectStatusString(); 1116 void GameUI_WritePointedObjectStatusString();
1352 //struct GUIWindow * GetCastSpellInInventoryWindow(void *a4);
1353 bool sub_421B2C_PlaceInInventory_or_DropPickedItem(); 1117 bool sub_421B2C_PlaceInInventory_or_DropPickedItem();
1354 void __fastcall GameUI_OnPlayerPortraitLeftClick(unsigned int uPlayerID); // idb 1118 void __fastcall GameUI_OnPlayerPortraitLeftClick(unsigned int uPlayerID); // idb
1355 void OnInventoryLeftClick(); 1119 void OnInventoryLeftClick();
1356 void OnGameViewportClick(); 1120 void OnGameViewportClick();
1357 bool PauseGameDrawing(); 1121 bool PauseGameDrawing();
1358 void SetUserInterface(enum PartyAlignment alignment, bool bReplace); 1122 void SetUserInterface(enum PartyAlignment alignment, bool bReplace);
1359 void reset_some_strus_flt_2Cs(); 1123 void reset_some_strus_flt_2Cs();
1360 int __fastcall GetPortalScreenCoord(unsigned int uFaceID); 1124 int __fastcall GetPortalScreenCoord(unsigned int uFaceID);
1361 signed int __fastcall sr_424579(int uFaceID, struct stru320 *a2);
1362 bool PortalFrustrum(int pNumVertices, struct BspRenderer_PortalViewportData *a2, struct BspRenderer_PortalViewportData *near_portal, int uFaceID); 1125 bool PortalFrustrum(int pNumVertices, struct BspRenderer_PortalViewportData *a2, struct BspRenderer_PortalViewportData *near_portal, int uFaceID);
1363 int sr_424CD7(unsigned int uVertexID); // idb 1126 int sr_424CD7(unsigned int uVertexID); // idb
1364 signed int __fastcall sr_424EE0_MakeFanFromTriangle(unsigned int uVertexID); // idb 1127 int __fastcall sr_424EE0_MakeFanFromTriangle(unsigned int uVertexID); // idb
1365 signed int __fastcall sr_4250FE(unsigned int uVertexID); // idb
1366 bool sr_42620A(struct RenderVertexSoft *p);
1367 int __fastcall _4268E3_smthn_to_a1r5g5b5(unsigned int uColor); // idb 1128 int __fastcall _4268E3_smthn_to_a1r5g5b5(unsigned int uColor); // idb
1368 int __fastcall _42690D_colors_cvt(unsigned int a1); 1129 int __fastcall _42690D_colors_cvt(unsigned int a1);
1369 void sub_426947();
1370 void __fastcall GivePartyExp(unsigned int pEXPNum); 1130 void __fastcall GivePartyExp(unsigned int pEXPNum);
1371 bool __fastcall sub_427769_spell(unsigned int uSpellID); 1131 bool __fastcall sub_427769_spell(unsigned int uSpellID);
1372 void _42777D_CastSpell_UseWand_ShootArrow(int a1, unsigned int uPlayerID, unsigned int a4, __int16 a5, int a6); 1132 void _42777D_CastSpell_UseWand_ShootArrow(int a1, unsigned int uPlayerID, unsigned int a4, __int16 a5, int a6);
1373 int __fastcall sub_42EBBE(int, int); // weak
1374 void _42ECB5_PlayerAttacksActor(); 1133 void _42ECB5_PlayerAttacksActor();
1375 void InitializeTurnBasedAnimations(void *); 1134 void InitializeTurnBasedAnimations(void *);
1376 int _42F4DA_check_actor_proximity(); 1135 int _42F4DA_check_actor_proximity();
1377 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); 1136 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);
1378 void __fastcall sub_42F960_create_object(int x, int y, int z); // idb 1137 void __fastcall sub_42F960_create_object(int x, int y, int z); // idb
1424 void Level_LoadEvtAndStr(const char *pLevelName); 1183 void Level_LoadEvtAndStr(const char *pLevelName);
1425 const char *sub_444564(); 1184 const char *sub_444564();
1426 char *GetEventHintString(unsigned int uEventID); // idb 1185 char *GetEventHintString(unsigned int uEventID); // idb
1427 int GetTravelTime(); 1186 int GetTravelTime();
1428 void __fastcall sub_4451A8_press_any_key(int a1, int a2, int a4); 1187 void __fastcall sub_4451A8_press_any_key(int a1, int a2, int a4);
1188 int SkillToMastery(unsigned int skill_value);
1189 unsigned int __fastcall GetSpellColor(signed int a1);
1190 unsigned short * MakeScreenshot(signed int width, signed int height);
1191 void SaveScreenshot(const char *pFilename);
1192 void __fastcall LoadGame(unsigned int uSlot); // idb
1193 void SaveGame(bool IsAutoSAve, bool NotSaveWorld);
1194 void __fastcall DoSavegame(unsigned int uSlot); // idb
1195 void TryLoadLevelFromLOD();
1196 void sub_46080D();
1197 bool Initialize_GamesLOD_NewLOD();
1198 void SaveNewGame();
1199 void PrepareToLoadBLV(unsigned int bLoading);
1200 void __fastcall PrepareToLoadODM(unsigned int bLoading, struct OutdoorCamera *a2);
1201 void _461103_load_level_sub();
1202 int int_get_vector_length(signed int x, signed int y, signed int z);
1203 void MainMenu_Loop();
1204 char sub_4637E0_is_there_popup_onscreen();
1205 void ResetCursor_Palettes_LODs_Level_Audio_SFT_Windows();
1206 void PrepareWorld(unsigned int _0_box_loading_1_fullscreen);
1207 void Game_DeinitializeAndTerminate(int exitCode); // idb
1208 void FinalInitialization();
1209 char Is_out15odm_underwater();
1210 void SetUnderwaterFog();
1211 void DoPrepareWorld(unsigned int bLoading, int _1_fullscreen_loading_2_box);
1212 int __fastcall ReadWindowsRegistryInt(const char *pKey, int uDefValue); // idb
1213 void __fastcall WriteWindowsRegistryString(const char *pKey, const char *pString);
1214 void __fastcall ReadWindowsRegistryString(const char *pKeyName, char *pOutString, int uBufLen, const char *pDefaultValue);
1215 void __fastcall WriteWindowsRegistryInt(const char *pKey, int val);
1216 bool __fastcall CheckMM7CD(char c);
1217 void SecondaryInitialization();
1218 void CreateAsyncMouse();
1219 void CreateAsyncKeyboard();
1220 void MM6_Initialize(const wchar_t *pIniFilename);
1221 void MM7Initialization();
1222 int AbortWithError();
1223 void Abortf(const char *Format, ...);
1224 void SetCurrentMenuID(enum MENU_STATE); // idb
1225 enum MENU_STATE GetCurrentMenuID();
1226 void CreateMsgScrollWindow(signed int mscroll_id);
1227 void free_book_subwindow();
1228 void CreateScrollWindow();
1229 void OnPaperdollLeftClick();
1230 void OnPressSpace();
1231 char __fastcall DoInteractionWithTopmostZObject(int a1, int a2);
1232 int GetPartyReputation();
1233 void OracleDialogue();
1234 void __fastcall ClickNPCTopic(signed int uMessageParam);
1235 char * _4B254D_SkillMasteryTeacher(int _this);
1236 const char *ContractSelectText(int pEventCode);
1237 void SimpleHouseAndBoatsDialog();
1238 void CreateButtonInColumn(int a1, unsigned int a2);
1239 void FillAviableSkillsToTeach(int _this);
1240 void sub_4B3E1E();
1241 void DrawJoinGuildWindow(int pEventCode);
1242 void __fastcall sub_4B3FE5(int a4);
1243 void NPCHireableDialogPrepare();
1244 void _4B4224_UpdateNPCTopics(int _this);
1245 void __fastcall DrawTextAtStatusBar(const char *Str, int a5);
1246 __int64 GetExperienceRequiredForLevel(int a1);
1247 const char *sub_4BBA85_bounties();
1248 void sub_4BBCDD();
1249 void __fastcall _4BBF61_summon_actor(int a1, __int16 x, int y, int z); // idb
1250 void ArenaFight();
1251 void SpellBookGenerator();
1252 void UI_CreateEndConversationButton();
1253 void __fastcall OnSelectShopDialogueOption(signed int uMessageParam);
1254 int sub_4BD8B5();
1255 bool __fastcall MerchandiseTest(ItemGen *item, int _2da_idx);
1256 void UIShop_Buy_Identify_Repair();
1257 bool __fastcall IsBModelVisible(unsigned int uModelID, int *unused);
1258 void ODM_LoadAndInitialize(const char *pLevelFilename, struct OutdoorCamera *thisa);
1259 unsigned int GetLevelFogColor();
1260 int __fastcall sub_47C3D7_get_fog_related_stuff(int a1, int a2, float a3);
1261 int __fastcall GetActorTintColor(int max_dim, int min_dim, float distance, int a4, struct RenderBillboard *a5);
1262 unsigned int WorldPosToGridCellX(int); // weak
1263 unsigned int WorldPosToGridCellZ(int); // weak
1264 int GridCellToWorldPosX(int); // weak
1265 int GridCellToWorldPosZ(int); // weak
1266 void ResetPolygons();
1267 void sub_481ED9_MessWithOutdoorCamera();
1268 bool IsTerrainSlopeTooHigh(int pos_x, int pos_y);
1269 int __fastcall GetTerrainHeightsAroundParty2(int a1, int a2, int *a3, int a4);
1270 void sub_487DA9();
1271 double GetFogDensityByTime(struct OutdoorLocation *_this);
1272 bool __fastcall HSV2RGB(float *a1, float *a2, float *a3, float a4, float a5, float a6);
1273 void __fastcall RGB2HSV(float *a1, float *a2, float a3, float a4, float a5, float *a6);
1274 unsigned int ReplaceHSV(unsigned int uColor, float a2, float gamma, float a4);
1275 int PlayerCreation_Choose4Skills();
1276 int PlayerCreation_GetUnspentAttributePointCount();
1277 void LoadPlayerPortraintsAndVoices();
1278 int __fastcall ReloadPlayerPortraits(int, int); // weak
1279 void sub_491E3A();
1280 int CycleCharacter(bool backwards);
1281 void __fastcall Rest(unsigned int uHoursToSleep);
1282 int _493938_regenerate();
1283 void init_summoned_item(struct stru351_summoned_item *_this, __int64 duration);
1284 void _494035_timed_effects__water_walking_damage__etc();
1285 unsigned int __fastcall _494820_training_time(unsigned int a1);
1286 char *__fastcall sub_495366(unsigned __int8 a1, unsigned __int8 a2);
1287 char *GetReputationString(signed int a1);
1288 char *BuildDialogueString(char *lpsz, unsigned __int8 uPlayerID, struct ItemGen *a3, char *a4, int a5, __int64 *a6);
1289 void PlayerCreationUI_Draw();
1290 void PlayerCreationUI_Initialize();
1291 void DeleteCCharFont();
1292 bool PlayerCreationUI_Loop();
1293 unsigned int __fastcall GetMaxMipLevels(unsigned int uDim);
1294 bool CheckTextureStages();
1295 bool AreRenderSurfacesOk();
1296 unsigned int BlendColors(unsigned int c1, unsigned int c2); // weak
1297 void DoRenderBillboards_D3D();
1298 int __fastcall sr_4A46E6_draw_particle_segment(unsigned int x, signed int y, signed int z, int a4, unsigned int lightColor);
1299 void Present_ColorKey();
1300 void Present_NoColorKey();
1301 unsigned int ModulateColor(unsigned int diffuse, float multiplier); // idb
1302 struct SoundHeader *FindSound_BinSearch(unsigned int uStart, unsigned int uEnd, const char *pName);
1303 struct SoundData *LoadSound(const char *pSoundName, struct SoundData *pOutBuff, unsigned int uID);
1304 int __fastcall sub_4AAEA6_transform(struct RenderVertexSoft *a1);
1305 int __fastcall sub_4AB66C(int, int); // weak
1306 int GetSoundStrengthByDistanceFromParty(int x, int y, int z);
1307 struct _DIG_DRIVER *Audio_GetFirstHardwareDigitalDriver(void);
1308 void PlayLevelMusic();
1309 unsigned int __fastcall sub_4B0E07(unsigned int uFaceID); // idb
1310 struct Player *__fastcall sub_4B1447_party_fine(int a1, int a2, int a3);
1311 void sub_4B1523(int *_this);
1312 void ShowPopupShopItem();
1313 void RestAndHeal(__int64 uNumMinutes); // idb
1314 void GetHouseGoodbyeSpeech();
1315 int __fastcall _46A6AC_spell_render(int a1, int a2, int a3);
1316 int __fastcall _46A6AC_spell_render_d3d(int a1, int a2, int a3);
1317 int __fastcall _46A89E_immolation_effect(int a1, int a2, int a3);
1318 int sub_46A99B();
1319 unsigned int GetGravityStrength();
1320 void UpdateUserInput_and_MapSpecificStuff();
1321 void BLV_UpdateUserInputAndOther();
1322 void ODM_UpdateUserInputAndOther();
1323 bool __fastcall _46BFFA_check_object_intercept(unsigned int uLayingItemID, signed int a2);
1324 int BLV_GetFloorLevel(int x, int y, int z, unsigned int uSectorID, unsigned int *pFaceID);
1325 int ODM_GetFloorLevel(int X, signed int Y, int Z, int, int *pOnWater, int *bmodel_pid, int bWaterWalk);
1326 int __fastcall sub_46D8E3(int a1, signed int a2, int a3, int a4);
1327 void ODM_GetTerrainNormalAt(int pos_x, int pos_z, Vec3_int_ *out);
1328 unsigned int __fastcall sub_46DEF2(signed int a2, unsigned int uLayingItemID);
1329 int __fastcall _46DF1A_collide_against_actor(int, int); // weak
1330 void _46E0B2_collide_against_decorations();
1331 void __fastcall _46E26D_collide_against_sprites(signed int a1, signed int a2);
1332 int _46E44E_collide_against_faces_and_portals(unsigned int b1); // idb
1333 int __fastcall _46E889_collide_against_bmodels(unsigned int ecx0);
1334 int collide_against_floor(int x, int y, int z, unsigned int *pSectorID, unsigned int *pFaceID); // idb
1335 void __fastcall _46ED8A_collide_against_sprite_objects(unsigned int _this);
1336 int _46EF01_collision_chech_player(int a1); // idb
1337 int _46F04E_collide_against_portals();
1338 void BLV_UpdateDoors();
1339 void UpdateActors_BLV();
1340 void UpdateActors_ODM();
1341 void UpdateObjects();
1342 int collide_against_floor_approximate(int x, int y, int z, unsigned int *pSectorID, unsigned int *pFaceID); // idb
1343 void BLV_ProcessPartyActions();
1344 void ODM_ProcessPartyActions();
1345 bool __fastcall sub_47531C(int a1, int *a2, int a3, int a4, int a5, int a6, int a7, int a8, struct BLVFace *a9, int a10);
1346 bool __fastcall sub_4754BF(int a1, int *a2, int a3, int a4, int a5, int a6, int a7, int a8, struct BLVFace *a9, int a10, int a11);
1347 int sub_475665(struct BLVFace *_this, int a2, __int16 a3);
1348 bool __fastcall sub_4759C9(struct BLVFace *a1, int a2, int a3, __int16 a4);
1349 bool __fastcall sub_475D85(Vec3_int_ *a1, Vec3_int_ *a2, int *a3, struct BLVFace *a4);
1350 bool __fastcall sub_475F30(int *a1, struct BLVFace *a2, int a3, int a4, int a5, int a6, int a7, int a8, int a9);
1351 void sub_4452BB();
1352 const char *GetProfessionActionText(int a1);
1353 struct NPCData *__fastcall GetNPCData(signed int npcid);
1354 struct NPCData * GetNewNPCData(signed int npcid, int* npc_indx);
1355 int __fastcall GetGreetType(signed int SpeakingNPC_ID);
1356 void DialogueEnding();
1357 void PrepareHouse(enum HOUSE_ID house); // idb
1358 bool EnterHouse(enum HOUSE_ID uHouseID);
1359 int sub_4465DF_check_season(int a1);
1360 int __fastcall IsActorAlive(unsigned int uType, unsigned int uParam, unsigned int uNumAlive); // idb
1361 int NPC_EventProcessor(int npc_event_id, int entry_line = 0);
1362 void __fastcall sub_448518_npc_set_item(int npc, unsigned int item, int a3);
1363 void __fastcall sub_44861E_set_texture(unsigned int uFaceCog, const char *pFilename);
1364 void __fastcall SetDecorationSprite(unsigned int uCog, int a2, const char *pFileName); // idb
1365 void __fastcall sub_44892E_set_faces_bit(int sCogNumber, int bit, int on);
1366 void __fastcall ToggleActorGroupFlag(unsigned int uGroupID, unsigned int uFlag, unsigned int bToggle);
1367 void GameUI_StatusBar_UpdateTimedString(unsigned int bForceHide); // idb
1368 void OnTimer(int);
1369 void __fastcall sub_448CF4_spawn_monsters(__int16 typeindex, __int16 level, int count, int x, int y, int z, int group, unsigned int uUniqueName);
1370 void __fastcall EventCastSpell(int spellnum, int uSkillLevel, int uSkill, int fromx, int fromy, int fromz, int tox, int toy, int toz);//sub_448DF8
1371 __int16 __fastcall sub_449A49_door_switch_animation(unsigned int uDoorID, int a2); // idb
1372 bool _449B57_test_bit(unsigned __int8 *a1, __int16 a2);
1373 void _449B7E_toggle_bit(unsigned char *pArray, __int16 a2, unsigned __int16 bToggle); // idb
1374 void ShowStatusBarString(const char *pString, unsigned int uNumSeconds);
1375 void ShowNothingHereStatus();
1376 int const_2();
1377 bool TeleportToNWCDungeon();
1378 void SpawnEncounter(struct MapInfo *pMapInfo, struct SpawnPointMM7 *spawn, int a3, int a4, int a5);
1379 int __fastcall sub_44FA4C_spawn_light_elemental(int a1, int a2, int a3);
1380 int __fastcall sub_450521_ProllyDropItemAt(int ecx0, signed int a2, int a3, int a4, int a5, unsigned __int16 a6);
1381 int __fastcall _45063B_spawn_some_monster(struct MapInfo *a1, int a2);
1382 void RespawnGlobalDecorations();
1383 bool __fastcall SpawnActor(unsigned int uMonsterID);
1384 int GetAlertStatus();
1385 unsigned int __fastcall sub_452442(unsigned __int16 a1, unsigned __int16 a2, int a3, int a4);
1386 int integer_sqrt(int val);
1387 int __fastcall MakeColorMaskFromBitDepth(int a1);
1388 void __fastcall fill_pixels_fast(unsigned int a1, unsigned __int16 *pPixels, unsigned int uNumPixels);
1389 int __fastcall GetDiceResult(unsigned int uNumDice, unsigned int uDiceSides); // idb
1390 inline int round(float x) { return (int)floor(x + 0.5f); }
1391 inline void __fastcall memset32(void *ptr, unsigned __int32 value, int count)
1392 {
1393 auto p = (unsigned __int32 *)ptr;
1394 for ( int i=0; i < count; i++ )
1395 *p++ = value;
1396 }
1397 inline void __fastcall j_memset32(int a2, void *a1, unsigned int a3) {memset32(a1, a2, a3);}
1398
1429 1399
1430 #define ErrD3D(hr) do {extern void ErrHR(HRESULT, const char *, const char *, const char *, int); ErrHR(hr, "Direct3D", __FUNCTION__, __FILE__, __LINE__);} while(0) 1400 #define ErrD3D(hr) do {extern void ErrHR(HRESULT, const char *, const char *, const char *, int); ErrHR(hr, "Direct3D", __FUNCTION__, __FILE__, __LINE__);} while(0)
1431 1401
1432 1402
1433 namespace zlib 1403 namespace zlib