comparison mm7_data.h @ 1461:845907a747d3

Merge
author Gloval
date Wed, 21 Aug 2013 20:59:16 +0400
parents 2ca62c9e7b3c
children c987b5ed09af
comparison
equal deleted inserted replaced
1460:ff2118028c71 1461:845907a747d3
568 extern int dword_50698C_uX; // weak 568 extern int dword_50698C_uX; // weak
569 extern int uGameMenuUI_CurentlySelectedKeyIdx; // 506E68 569 extern int uGameMenuUI_CurentlySelectedKeyIdx; // 506E68
570 extern std::array<bool, 28> GameMenuUI_InvaligKeyBindingsFlags; // 506E6C 570 extern std::array<bool, 28> GameMenuUI_InvaligKeyBindingsFlags; // 506E6C
571 extern std::array<unsigned int, 27> pPrevVirtualCidesMapping; 571 extern std::array<unsigned int, 27> pPrevVirtualCidesMapping;
572 extern int KeyboardPageNum; // weak 572 extern int KeyboardPageNum; // weak
573 extern std::array<int, 777> dword_506F0C; // idb
574 extern int uRestUI_FoodRequiredToRest; 573 extern int uRestUI_FoodRequiredToRest;
575 extern int dword_506F14; // weak 574 extern int dword_506F14; // weak
576 extern int _506F18_num_minutes_to_sleep; // weak 575 extern int _506F18_num_minutes_to_sleep; // weak
577 extern int dword_506F1C; // weak 576 extern int dword_506F1C; // weak
578 extern std::array<int, 20> pVisibleWindowsIdxs; // weak 577 extern std::array<int, 20> pVisibleWindowsIdxs; // weak
601 extern std::array<char *, 7> aAttributeNames; 600 extern std::array<char *, 7> aAttributeNames;
602 extern int dword_507B94; // weak 601 extern int dword_507B94; // weak
603 extern int dword_507B98_ctrl_pressed; // weak 602 extern int dword_507B98_ctrl_pressed; // weak
604 extern unsigned int uActiveCharacter; 603 extern unsigned int uActiveCharacter;
605 extern int dword_507BF0_is_there_popup_onscreen; // weak 604 extern int dword_507BF0_is_there_popup_onscreen; // weak
606 extern int dword_507CBC; // weak 605 extern int awards_scroll_bar_created; // weak
607 extern int dword_507CC0_activ_ch; // weak 606 extern int dword_507CC0_activ_ch; // weak
608 extern __int64 GameUI_RightPanel_BookFlashTimer; // weak 607 extern __int64 GameUI_RightPanel_BookFlashTimer; // weak
609 extern int _507CD4_RestUI_hourglass_anim_controller; // weak 608 extern int _507CD4_RestUI_hourglass_anim_controller; // weak
610 extern bool OpenedTelekinesis; // weak 609 extern bool OpenedTelekinesis; // weak
611 extern std::array<int, 50> dword_50B570; // weak 610 extern std::array<int, 50> dword_50B570; // weak
782 extern char *pPotionsTXT_Raw; 781 extern char *pPotionsTXT_Raw;
783 extern char *pPotionNotesTXT_Raw; 782 extern char *pPotionNotesTXT_Raw;
784 783
785 extern std::array<int, 777> _6807B8_level_decorations_ids; // idb 784 extern std::array<int, 777> _6807B8_level_decorations_ids; // idb
786 extern int _6807E0_num_decorations_with_sounds_6807B8; // weak 785 extern int _6807E0_num_decorations_with_sounds_6807B8; // weak
787 extern std::array<int, 777> _6807E8_level_decorations_ids; // idb 786 extern std::array<int, 3000> event_triggers; // 6807E8
788 extern int _6836C8_num_decorations_6807E8; // weak 787 extern int num_event_triggers; // 6836C8
789 extern std::array<int, 64> dword_69B010; 788 extern std::array<int, 64> dword_69B010;
790 extern float flt_69B138_dist; // weak 789 extern float flt_69B138_dist; // weak
791 extern char byte_69BD41_unused; // weak 790 extern char byte_69BD41_unused; // weak
792 extern unsigned int uTextureID_x_u; 791 extern unsigned int uTextureID_x_u;
793 extern unsigned int uTextureID_LS_saveU; 792 extern unsigned int uTextureID_LS_saveU;
1041 extern int dword_F93F20; // weak 1040 extern int dword_F93F20; // weak
1042 extern int dword_F93F70; // weak 1041 extern int dword_F93F70; // weak
1043 1042
1044 extern volatile bool initing; //ADDED 1043 extern volatile bool initing; //ADDED
1045 1044
1046 //extern int crt_F94004; // weak
1047 //extern int crtdword_F9400C; // weak
1048 extern FARPROC lpfn; // idb
1049 //extern int crt_F944EC; // weak
1050 //extern int crtdword_F944F0; // weak
1051 //extern void *crt_F944F4; // idb
1052 //extern int crtdword_F944F8; // weak
1053 //extern LPVOID crt_lpMem; // idb
1054 //extern int crt_F94500; // weak
1055 //extern HANDLE crt_hHeap; // idb
1056 //extern int crt_F94508; // weak
1057
1058 1045
1059 1046
1060 1047
1061 1048
1062 1049
1069 1056
1070 1057
1071 //------------------------------------------------------------------------- 1058 //-------------------------------------------------------------------------
1072 // Function declarations 1059 // Function declarations
1073 1060
1074 #define __thiscall __cdecl // Test compile in C mode 1061
1075 1062 void init_event_triggers();
1076 void __stdcall mm7__vector_constructor(void *a1, int objSize, int numObjs, int (__thiscall *constructor)(int)); 1063 void check_event_triggers();
1064
1065
1066
1067
1068 void ShowIntroVideo_and_LoadingScreen();
1069 unsigned int GameOverMenu(void *ecx0);
1070 int __fastcall SpawnRandomTreasure(struct MapInfo *a1, struct SpawnPointMM7 *a2);
1071 void DamageMonsterFromParty(signed int a1, unsigned int uActorID_Monster, struct Vec3_int_ *pVelocity);
1072
1077 void MakeActorAIList_ODM(); 1073 void MakeActorAIList_ODM();
1078 int __cdecl MakeActorAIList_BLV(); 1074 int MakeActorAIList_BLV();
1079 void __cdecl UpdateActorAI(); 1075 void UpdateActorAI();
1080 bool __fastcall sub_4070EF_prolly_collide_objects(unsigned int uObjID, unsigned int uObj2ID); 1076 bool __fastcall sub_4070EF_prolly_collide_objects(unsigned int uObjID, unsigned int uObj2ID);
1081 bool __fastcall sub_4075DB(int a1, int a2, int a3, struct BLVFace *a4); 1077 bool __fastcall sub_4075DB(int a1, int a2, int a3, struct BLVFace *a4);
1082 bool __fastcall sub_4077F1(int a1, int a2, int a3, struct ODMFace *a4, struct BSPVertexBuffer *a5); 1078 bool __fastcall sub_4077F1(int a1, int a2, int a3, struct ODMFace *a4, struct BSPVertexBuffer *a5);
1083 bool __fastcall sub_407A1C(int x, int z, int y, struct Vec3_int_ v); // idb 1079 bool __fastcall sub_407A1C(int x, int z, int y, struct Vec3_int_ v); // idb
1084 void InitializeActors(); 1080 void InitializeActors();
1085 void InitializeSpriteObjects(); 1081 void InitializeSpriteObjects();
1086 int __fastcall sub_4088E9(int a1, int a2, int a3, int a4, int a5, int a6); 1082 int __fastcall sub_4088E9(int a1, int a2, int a3, int a4, int a5, int a6);
1087 unsigned int __thiscall SearchAliveActors(unsigned int *pTotalActors); 1083 unsigned int SearchAliveActors(unsigned int *pTotalActors);
1088 unsigned int __fastcall SearchActorByMonsterID(unsigned int *pTotalActors, int uMonsterID); 1084 unsigned int SearchActorByMonsterID(unsigned int *pTotalActors, int uMonsterID);
1089 unsigned int __fastcall SearchActorByGroup(unsigned int *pTotalActors, unsigned int uGroup); 1085 unsigned int SearchActorByGroup(unsigned int *pTotalActors, unsigned int uGroup);
1090 unsigned int __fastcall SearchActorByID(unsigned int *pTotalActors, unsigned int a2); 1086 unsigned int SearchActorByID(unsigned int *pTotalActors, unsigned int a2);
1091 void PrepareArcomage(); 1087 void PrepareArcomage();
1092
1093 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
1094 void __cdecl CallRenderPresent(); 1089 void CallRenderPresent();
1095 void __thiscall DoBlt_Copy(unsigned __int16 *pPixels); // idb 1090 void DoBlt_Copy(unsigned __int16 *pPixels); // idb
1096 int __stdcall retzero_sub_40DFA7(int); // weak
1097 int loc_40E4FC(); // weak
1098 void __fastcall ZBuffer_Fill(int *pZBuffer, int uTextureId, int iZValue); 1091 void __fastcall ZBuffer_Fill(int *pZBuffer, int uTextureId, int iZValue);
1099
1100 void __fastcall ZBuffer_DoFill(int *pZBuffer, struct Texture *pTex, int uZValue); 1092 void __fastcall ZBuffer_DoFill(int *pZBuffer, struct Texture *pTex, int uZValue);
1101 void __fastcall sub_40F92A(int *pZBuffer, struct Texture *a2, int a3); // idb 1093 void __fastcall ZBuffer_DoFill2(int *pZBuffer, struct Texture *a2, int a3); // idb
1102 void __cdecl SetMoonPhaseNames(); 1094 void SetMoonPhaseNames();
1103 signed int __fastcall sub_410D99_get_map_index(int a1); 1095 int __fastcall sub_410D99_get_map_index(int a1);
1104 void __fastcall LoadThumbnailLloydTexture(unsigned int uSlot, unsigned int uPlayer); 1096 void __fastcall LoadThumbnailLloydTexture(unsigned int uSlot, unsigned int uPlayer);
1105 void SetAttributeNames(); 1097 void SetAttributeNames();
1106 void uGameUIFontMain_initialize(); 1098 void uGameUIFontMain_initialize();
1107 void uGameUIFontShadow_initialize(); 1099 void uGameUIFontShadow_initialize();
1108 void sub_41420D_press_esc();
1109 void sub_41426F();
1110 void __fastcall DrawPopupWindow(unsigned int uX, unsigned int uY, unsigned int uWidth, unsigned int uHeight); // idb
1111 void DrawCopyrightWindow();
1112 void LoadFonts_and_DrawCopyrightWindow();
1113 void GUI_UpdateWindows();
1114 void identify_item(); 1100 void identify_item();
1115 void __thiscall sub_416D62_ShowPopupWindow_MonsterRecord_ItemInfo_etcsub_416D62(struct Vec2_int_ *_this); 1101 void sub_416D62_ShowPopupWindow_MonsterRecord_ItemInfo_etcsub_416D62(struct Vec2_int_ *_this);
1116 void UI_OnMouseLeftClick(int *pXY); // idb 1102 void UI_OnMouseLeftClick(int *pXY); // idb
1117 void __thiscall sub_417871(int *pXY);
1118 unsigned int __fastcall UI_GetHealthManaStringColor(signed int a1, signed int a2); 1103 unsigned int __fastcall UI_GetHealthManaStringColor(signed int a1, signed int a2);
1119 signed int __thiscall GetConditionDrawColor(unsigned int uConditionIdx); // idb
1120 void FillAwardsData();
1121 void CreateAwardsScrollBar();
1122 void sub_419379();
1123 unsigned int __fastcall GetSizeInInventorySlots(unsigned int uNumPixels); 1104 unsigned int __fastcall GetSizeInInventorySlots(unsigned int uNumPixels);
1124 struct GUIButton *__fastcall GUI_HandleHotkey(unsigned __int8 uHotkey); // idb 1105 struct GUIButton *__fastcall GUI_HandleHotkey(unsigned __int8 uHotkey); // idb
1125 int __fastcall GUI_ReplaceHotkey(unsigned __int8 uOldHotkey, unsigned __int8 uNewHotkey, char bFirstCall); 1106 int __fastcall GUI_ReplaceHotkey(unsigned __int8 uOldHotkey, unsigned __int8 uNewHotkey, char bFirstCall);
1126 void __fastcall sub_41D20D_buff_remaining_time_string(int ecx0, struct GUIWindow *edx0, __int64 a3, struct GUIFont *a2); 1107 void __fastcall sub_41D20D_buff_remaining_time_string(int ecx0, struct GUIWindow *edx0, __int64 a3, struct GUIFont *a2);
1127 bool UI_OnKeyDown(unsigned int vkKey); 1108 bool UI_OnKeyDown(unsigned int vkKey);
1128 void GameUI_DrawItemInfo(struct ItemGen* inspect_item); // idb 1109 void GameUI_DrawItemInfo(struct ItemGen* inspect_item); // idb
1129 void MonsterPopup_Draw(unsigned int uActorID, struct GUIWindow *edx0); 1110 void MonsterPopup_Draw(unsigned int uActorID, struct GUIWindow *edx0);
1130 void __cdecl nullsub_3(); // idb 1111 void LoadActualSkyFrame();
1131 void __cdecl LoadActualSkyFrame(); 1112 void Sleep6Hours();
1132 void __cdecl Sleep6Hours(); 1113 void ChestUI_WritePointedObjectStatusString();
1133 void __cdecl ChestUI_WritePointedObjectStatusString();
1134
1135 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
1136 void OnChestLeftClick(); 1115 void OnChestLeftClick();
1137 void __cdecl GameUI_WritePointedObjectStatusString(); 1116 void GameUI_WritePointedObjectStatusString();
1138 //struct GUIWindow *__thiscall GetCastSpellInInventoryWindow(void *a4); 1117 bool sub_421B2C_PlaceInInventory_or_DropPickedItem();
1139 bool __cdecl sub_421B2C_PlaceInInventory_or_DropPickedItem();
1140 void __fastcall GameUI_OnPlayerPortraitLeftClick(unsigned int uPlayerID); // idb 1118 void __fastcall GameUI_OnPlayerPortraitLeftClick(unsigned int uPlayerID); // idb
1141 void OnInventoryLeftClick(); 1119 void OnInventoryLeftClick();
1142 void OnGameViewportClick(); 1120 void OnGameViewportClick();
1143 bool PauseGameDrawing(); 1121 bool PauseGameDrawing();
1144 void SetUserInterface(enum PartyAlignment alignment, bool bReplace); 1122 void SetUserInterface(enum PartyAlignment alignment, bool bReplace);
1145 void __cdecl reset_some_strus_flt_2Cs(); 1123 void reset_some_strus_flt_2Cs();
1146 int __fastcall GetPortalScreenCoord(unsigned int uFaceID); 1124 int __fastcall GetPortalScreenCoord(unsigned int uFaceID);
1147 signed int __fastcall sr_424579(int uFaceID, struct stru320 *a2);
1148 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);
1149 int sr_424CD7(unsigned int uVertexID); // idb 1126 int sr_424CD7(unsigned int uVertexID); // idb
1150 signed int __fastcall sr_424EE0_MakeFanFromTriangle(unsigned int uVertexID); // idb 1127 int __fastcall sr_424EE0_MakeFanFromTriangle(unsigned int uVertexID); // idb
1151 signed int __fastcall sr_4250FE(unsigned int uVertexID); // idb
1152 bool sr_42620A(struct RenderVertexSoft *p);
1153 int __fastcall _4268E3_smthn_to_a1r5g5b5(unsigned int uColor); // idb 1128 int __fastcall _4268E3_smthn_to_a1r5g5b5(unsigned int uColor); // idb
1154 int __fastcall _42690D_colors_cvt(unsigned int a1); 1129 int __fastcall _42690D_colors_cvt(unsigned int a1);
1155 void __cdecl sub_426947();
1156 void __fastcall GivePartyExp(unsigned int pEXPNum); 1130 void __fastcall GivePartyExp(unsigned int pEXPNum);
1157 bool __fastcall sub_427769_spell(unsigned int uSpellID); 1131 bool __fastcall sub_427769_spell(unsigned int uSpellID);
1158 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);
1159 int __fastcall sub_42EBBE(int, int); // weak
1160 void _42ECB5_PlayerAttacksActor(); 1133 void _42ECB5_PlayerAttacksActor();
1161 void __thiscall InitializeTurnBasedAnimations(void *); 1134 void InitializeTurnBasedAnimations(void *);
1162 signed int __cdecl sub_42F4DA(); 1135 int _42F4DA_check_actor_proximity();
1163 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);
1164 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
1165 void CompactLayingItemsList(); 1138 void CompactLayingItemsList();
1166 signed int __fastcall _42FA66_do_explosive_impact(int a1, int a2, int a3, int a4, __int16 a5, signed int a6); 1139 int __fastcall _42FA66_do_explosive_impact(int a1, int a2, int a3, int a4, __int16 a5, signed int a6);
1167 bool __fastcall sub_42FB5C(signed int a1); 1140 bool _42FB5C_check_spell(signed int a1);
1168 // int __cdecl crt_sub_42FBB7(); 1141 void sub_42FBDD();
1169 // void __cdecl crt_construct_50CDB4(); 1142 void CloseWindowBackground();
1170 void __cdecl sub_42FBDD(); 1143 void ProcessInputActions();
1171 void __cdecl CloseWindowBackground(); 1144 void GameUI_MsgProc();
1172 void __cdecl ProcessInputActions(); 1145 void back_to_game();
1173 void __cdecl GameUI_MsgProc(); 1146 void GUI_MainMenuMessageProc();
1174 void __cdecl back_to_game(); 1147 double get_shading_dist_mist();
1175 void __cdecl GUI_MainMenuMessageProc();
1176 double __cdecl get_shading_dist_mist();
1177 void Vec3_short__to_RenderVertexSoft(struct RenderVertexSoft *_this, struct Vec3_short_ *a2); 1148 void Vec3_short__to_RenderVertexSoft(struct RenderVertexSoft *_this, struct Vec3_short_ *a2);
1178 void __cdecl nullsub_4(); // idb 1149 void area_of_effect__damage_evaluate();
1179 void __cdecl nullsub_5(); // idb
1180 void __cdecl nullsub_6(); // idb
1181 void __cdecl area_of_effect__damage_evaluate();
1182 void __fastcall DamagePlayerFromMonster(unsigned int uObjID, int a2, struct Vec3_int_ *pPos, unsigned int a4); 1150 void __fastcall DamagePlayerFromMonster(unsigned int uObjID, int a2, struct Vec3_int_ *pPos, unsigned int a4);
1183 void __fastcall sub_43A97E(unsigned int uLayingItemID, signed int a2); // idb 1151 void __fastcall sub_43A97E(unsigned int uLayingItemID, signed int a2); // idb
1184 double __fastcall sub_43AE12(signed int a1); 1152 double __fastcall sub_43AE12(signed int a1);
1185 int __fastcall _43AFE3_calc_spell_damage(int a1, int a2, signed int a3, int a4); 1153 int __fastcall _43AFE3_calc_spell_damage(int a1, int a2, signed int a3, int a4);
1186 void __fastcall sub_43B057(unsigned int uObjID, unsigned int uActorID, struct Vec3_int_ *pVelocity); 1154 void __fastcall sub_43B057(unsigned int uObjID, unsigned int uActorID, struct Vec3_int_ *pVelocity);
1187 void sub_43B1B0(signed int a1, unsigned int a2, struct Vec3_int_ *pVelocity, signed int a4); 1155 void sub_43B1B0(signed int a1, unsigned int a2, struct Vec3_int_ *pVelocity, signed int a4);
1188 int __stdcall DirectInputKeyboard_enumerator_43B9B9(int, int); // weak
1189 void Software_ResetNewEdges(); 1156 void Software_ResetNewEdges();
1190 // int __cdecl crt_deconstruct_43B9E3();
1191 int __stdcall DirectInputMouse_enumerator(int, int); // weak
1192 void CharacterUI_LoadPaperdollTextures(); 1157 void CharacterUI_LoadPaperdollTextures();
1193 int __fastcall GetItemTextureFilename(char *pOut, signed int item_id, int index, int shoulder); 1158 int __fastcall GetItemTextureFilename(char *pOut, signed int item_id, int index, int shoulder);
1194 bool _43ED6F_check_party_races(bool b); 1159 bool _43ED6F_check_party_races(bool b);
1195 bool __thiscall sub_43EDB9_get_some_race_sex_relation_2(unsigned int _this); 1160 bool sub_43EDB9_get_some_race_sex_relation_2(unsigned int _this);
1196 bool __fastcall Player_has_item(unsigned int uItemID, struct Player *pPlayer, char a3); 1161 bool __fastcall Player_has_item(unsigned int uItemID, struct Player *pPlayer, char a3);
1197 bool __fastcall sub_43EE77_ProbablyIfUnderwaterSuitIsEquipped(signed int a1); 1162 bool __fastcall sub_43EE77_ProbablyIfUnderwaterSuitIsEquipped(signed int a1);
1198 void WetsuitOn(unsigned int uPlayerID); // idb 1163 void WetsuitOn(unsigned int uPlayerID); // idb
1199 void WetsuitOff(unsigned int uPlayerID); 1164 void WetsuitOff(unsigned int uPlayerID);
1200 void __fastcall PrepareDrawLists_BLV(struct IndoorLocation_drawstru *_this); 1165 void __fastcall PrepareDrawLists_BLV(struct IndoorLocation_drawstru *_this);
1201 void __cdecl FindBillboardsLightLevels_BLV(); 1166 void FindBillboardsLightLevels_BLV();
1202 int __fastcall _43F55F_get_billboard_light_level(struct RenderBillboard *a1, int uBaseLightLevel); 1167 int __fastcall _43F55F_get_billboard_light_level(struct RenderBillboard *a1, int uBaseLightLevel);
1203 int __fastcall _43F5C8_get_point_light_level_with_respect_to_lights(unsigned int uBaseLightLevel, int uSectorID, float x, float y, float z); 1168 int __fastcall _43F5C8_get_point_light_level_with_respect_to_lights(unsigned int uBaseLightLevel, int uSectorID, float x, float y, float z);
1204 void PrepareBspRenderList_BLV(); 1169 void PrepareBspRenderList_BLV();
1205 void __fastcall PrepareDecorationsRenderList_BLV(unsigned int uDecorationID, unsigned int uSectorID); 1170 void __fastcall PrepareDecorationsRenderList_BLV(unsigned int uDecorationID, unsigned int uSectorID);
1206 void PrepareActorRenderList_BLV(); 1171 void PrepareActorRenderList_BLV();
1210 void __fastcall sub_440BED(struct IndoorLocation_drawstru *_this); 1175 void __fastcall sub_440BED(struct IndoorLocation_drawstru *_this);
1211 bool sub_44100D(); 1176 bool sub_44100D();
1212 __int16 __fastcall sub_441A4E(int a1); 1177 __int16 __fastcall sub_441A4E(int a1);
1213 void DrawBook_Map_sub(unsigned int tl_x, unsigned int tl_y, unsigned int br_x, int br_y, int _48074); // idb 1178 void DrawBook_Map_sub(unsigned int tl_x, unsigned int tl_y, unsigned int br_x, int br_y, int _48074); // idb
1214 void Initialize2DA(); 1179 void Initialize2DA();
1215 1180 void LoadLevel_InitializeLevelStr();
1216 void LoadLevel_InitializeLevelStr(); 1181 void OnMapLeave();
1217 1182 void OnMapLoad();
1218 void __cdecl OnMapLeave();
1219 void /*__usercall*/ OnMapLoad();
1220 void Level_LoadEvtAndStr(const char *pLevelName); 1183 void Level_LoadEvtAndStr(const char *pLevelName);
1221 const char *__cdecl sub_444564(); 1184 const char *sub_444564();
1222 char *__thiscall GetEventHintString(unsigned int uEventID); // idb 1185 char *GetEventHintString(unsigned int uEventID); // idb
1223 int GetTravelTime(); 1186 int GetTravelTime();
1224 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);
1225 void __cdecl sub_4452BB();
1226 const char *GetProfessionActionText(int a1);
1227 struct NPCData *__fastcall GetNPCData(signed int npcid);
1228 struct NPCData * GetNewNPCData(signed int npcid, int* npc_indx);
1229 int __fastcall GetGreetType(signed int SpeakingNPC_ID);
1230 void __cdecl DialogueEnding();
1231 void PrepareHouse(enum HOUSE_ID house); // idb
1232 bool EnterHouse(enum HOUSE_ID uHouseID);
1233 int sub_4465DF_check_season(int a1);
1234 int __fastcall IsActorAlive(unsigned int uType, unsigned int uParam, unsigned int uNumAlive); // idb
1235 // void __cdecl crt_construct_5773C4();
1236 int NPC_EventProcessor(int npc_event_id, int entry_line = 0);
1237
1238 void __fastcall sub_448518_npc_set_item(int npc, unsigned int item, int a3);
1239 void __fastcall sub_44861E_set_texture(unsigned int uFaceCog, const char *pFilename);
1240 void __fastcall SetDecorationSprite(unsigned int uCog, int a2, const char *pFileName); // idb
1241 void __fastcall sub_44892E_set_faces_bit(int sCogNumber, int bit, int on);
1242 void __fastcall ToggleActorGroupFlag(unsigned int uGroupID, unsigned int uFlag, unsigned int bToggle);
1243 void __thiscall GameUI_StatusBar_UpdateTimedString(unsigned int bForceHide); // idb
1244 void OnTimer(int);
1245 void __fastcall sub_448CF4_spawn_monsters(__int16 typeindex, __int16 level, int count, int x, int y, int z, int group, unsigned int uUniqueName);
1246 void __fastcall EventCastSpell(int spellnum, int uSkillLevel, int uSkill, int fromx, int fromy, int fromz, int tox, int toy, int toz);//sub_448DF8
1247 __int16 __fastcall sub_449A49_door_switch_animation(unsigned int uDoorID, int a2); // idb
1248 bool _449B57_test_bit(unsigned __int8 *a1, __int16 a2);
1249 void _449B7E_toggle_bit(unsigned char *pArray, __int16 a2, unsigned __int16 bToggle); // idb
1250 void ShowStatusBarString(const char *pString, unsigned int uNumSeconds);
1251 void __cdecl ShowNothingHereStatus();
1252 signed int __cdecl const_2();
1253 bool __cdecl sub_44C28F_open_nwc_dungeon();
1254 // int __cdecl crt_deconstruct_44C42C();
1255 void SpawnEncounter(struct MapInfo *pMapInfo, struct SpawnPointMM7 *spawn, int a3, int a4, int a5);
1256 int __fastcall sub_44FA4C_spawn_light_elemental(int a1, int a2, int a3);
1257
1258 signed int __fastcall sub_450521_ProllyDropItemAt(int ecx0, signed int a2, int a3, int a4, int a5, unsigned __int16 a6);
1259 int __fastcall _45063B_spawn_some_monster(struct MapInfo *a1, int a2);
1260 void RespawnGlobalDecorations();
1261 bool __fastcall SpawnActor(unsigned int uMonsterID);
1262 int __cdecl GetAlertStatus();
1263 unsigned int __fastcall sub_452442(unsigned __int16 a1, unsigned __int16 a2, int a3, int a4);
1264 int integer_sqrt(int val);
1265 int __fastcall MakeColorMaskFromBitDepth(int a1);
1266 void __fastcall fill_pixels_fast(unsigned int a1, unsigned __int16 *pPixels, unsigned int uNumPixels);
1267 int __fastcall GetDiceResult(unsigned int uNumDice, unsigned int uDiceSides); // idb
1268 inline int round(float x) { return (int)floor(x + 0.5f); }
1269 inline void __fastcall memset32(void *ptr, unsigned __int32 value, int count)
1270 {
1271 auto p = (unsigned __int32 *)ptr;
1272 for ( int i=0; i < count; i++ )
1273 *p++ = value;
1274 }
1275 inline void __fastcall j_memset32(int a2, void *a1, unsigned int a3) {memset32(a1, a2, a3);}
1276 // int __cdecl crt_452B74();
1277 int __cdecl j_SetSomeItemsNames();
1278
1279
1280 int SkillToMastery(unsigned int skill_value); 1188 int SkillToMastery(unsigned int skill_value);
1281 unsigned int __fastcall GetSpellColor(signed int a1); 1189 unsigned int __fastcall GetSpellColor(signed int a1);
1282 void *__thiscall unknown_vdtor_6(void *_this, bool a2);
1283 unsigned short * MakeScreenshot(signed int width, signed int height); 1190 unsigned short * MakeScreenshot(signed int width, signed int height);
1284 void __thiscall SaveScreenshot(const char *pFilename); 1191 void SaveScreenshot(const char *pFilename);
1285 void __fastcall LoadGame(unsigned int uSlot); // idb 1192 void __fastcall LoadGame(unsigned int uSlot); // idb
1286 void SaveGame(bool IsAutoSAve, bool NotSaveWorld); 1193 void SaveGame(bool IsAutoSAve, bool NotSaveWorld);
1287 void __fastcall DoSavegame(unsigned int uSlot); // idb 1194 void __fastcall DoSavegame(unsigned int uSlot); // idb
1288 void __cdecl TryLoadLevelFromLOD(); 1195 void TryLoadLevelFromLOD();
1289 void __cdecl sub_46080D(); 1196 void sub_46080D();
1290 bool __cdecl Initialize_GamesLOD_NewLOD(); 1197 bool Initialize_GamesLOD_NewLOD();
1291 void SaveNewGame(); 1198 void SaveNewGame();
1292 void __thiscall PrepareToLoadBLV(unsigned int bLoading); 1199 void PrepareToLoadBLV(unsigned int bLoading);
1293 void __fastcall PrepareToLoadODM(unsigned int bLoading, struct OutdoorCamera *a2); 1200 void __fastcall PrepareToLoadODM(unsigned int bLoading, struct OutdoorCamera *a2);
1294 void __cdecl sub_461103(); 1201 void _461103_load_level_sub();
1295 int __cdecl sub_4613C4();
1296 int int_get_vector_length(signed int x, signed int y, signed int z); 1202 int int_get_vector_length(signed int x, signed int y, signed int z);
1297 int __cdecl sub_46224A(); 1203 void MainMenu_Loop();
1298 int __cdecl crt_init_globals_462620(); 1204 char sub_4637E0_is_there_popup_onscreen();
1299 void __cdecl crt_init_globals_462659(); 1205 void ResetCursor_Palettes_LODs_Level_Audio_SFT_Windows();
1300 void __cdecl crt_init_globals_46269B(); 1206 void PrepareWorld(unsigned int _0_box_loading_1_fullscreen);
1301 void __cdecl crt_init_globals_46271C(); 1207 void Game_DeinitializeAndTerminate(int exitCode); // idb
1302 void __cdecl MainMenu_Loop(); 1208 void FinalInitialization();
1303 char __cdecl sub_4637E0_is_there_popup_onscreen(); 1209 char Is_out15odm_underwater();
1304 void __cdecl ResetCursor_Palettes_LODs_Level_Audio_SFT_Windows(); 1210 void SetUnderwaterFog();
1305 void __thiscall PrepareWorld(unsigned int _this); 1211 void DoPrepareWorld(unsigned int bLoading, int _1_fullscreen_loading_2_box);
1306 void __thiscall Game_DeinitializeAndTerminate(int exitCode); // idb
1307 void __cdecl FinalInitialization();
1308 char __cdecl Is_out15odm_underwater();
1309 void __cdecl SetUnderwaterFog();
1310 void __fastcall DoPrepareWorld(unsigned int bLoading, int a2);
1311 int __fastcall ReadWindowsRegistryInt(const char *pKey, int uDefValue); // idb 1212 int __fastcall ReadWindowsRegistryInt(const char *pKey, int uDefValue); // idb
1312 void __fastcall WriteWindowsRegistryString(const char *pKey, const char *pString); 1213 void __fastcall WriteWindowsRegistryString(const char *pKey, const char *pString);
1313 void __fastcall ReadWindowsRegistryString(const char *pKeyName, char *pOutString, int uBufLen, const char *pDefaultValue); 1214 void __fastcall ReadWindowsRegistryString(const char *pKeyName, char *pOutString, int uBufLen, const char *pDefaultValue);
1314 void __fastcall WriteWindowsRegistryInt(const char *pKey, int val); 1215 void __fastcall WriteWindowsRegistryInt(const char *pKey, int val);
1315 bool __fastcall CheckMM7CD(char c); 1216 bool __fastcall CheckMM7CD(char c);
1316 int loc_465CC8(); // weak 1217 void SecondaryInitialization();
1317 void __cdecl SecondaryInitialization(); 1218 void CreateAsyncMouse();
1318 void __cdecl CreateAsyncMouse(); 1219 void CreateAsyncKeyboard();
1319 void __cdecl CreateAsyncKeyboard(); 1220 void MM6_Initialize(const wchar_t *pIniFilename);
1320 void __cdecl MM6_Initialize(const wchar_t *pIniFilename); 1221 void MM7Initialization();
1321 void __cdecl MM7Initialization(); 1222 int AbortWithError();
1322 int __cdecl AbortWithError();
1323 void Abortf(const char *Format, ...); 1223 void Abortf(const char *Format, ...);
1324 void SetCurrentMenuID(enum MENU_STATE); // idb 1224 void SetCurrentMenuID(enum MENU_STATE); // idb
1325 enum MENU_STATE GetCurrentMenuID(); 1225 enum MENU_STATE GetCurrentMenuID();
1326 void *__thiscall output_debug_string(void *_this, std::string a2, const char *a3, int a4); 1226 void CreateMsgScrollWindow(signed int mscroll_id);
1327 std::string *__fastcall _4678E2_make_error_string(std::string *a1, int line, std::string file); 1227 void free_book_subwindow();
1328 void CreateMsgScrollWindow(signed int mscroll_id); 1228 void CreateScrollWindow();
1329 void __cdecl free_book_subwindow(); 1229 void OnPaperdollLeftClick();
1330 void CreateScrollWindow();
1331 void __cdecl OnPaperdollLeftClick();
1332 void OnPressSpace(); 1230 void OnPressSpace();
1333 char __fastcall DoInteractionWithTopmostZObject(int a1, int a2); 1231 char __fastcall DoInteractionWithTopmostZObject(int a1, int a2);
1334 int __fastcall sub_46A6AC(int a1, int a2, int a3); 1232 int GetPartyReputation();
1335 int __fastcall sub_46A7C8(int a1, int a2, signed int a3); 1233 void OracleDialogue();
1336 int __fastcall sub_46A89E(int a1, int a2, signed int a3); 1234 void __fastcall ClickNPCTopic(signed int uMessageParam);
1337 int __cdecl sub_46A99B(); 1235 char * _4B254D_SkillMasteryTeacher(int _this);
1338 void *__thiscall unknown_libname_8(void *_this, char a2); 1236 const char *ContractSelectText(int pEventCode);
1339 unsigned int __cdecl GetGravityStrength(); 1237 void SimpleHouseAndBoatsDialog();
1340 void __cdecl UpdateUserInput_and_MapSpecificStuff(); 1238 void CreateButtonInColumn(int a1, unsigned int a2);
1341 void __cdecl BLV_UpdateUserInputAndOther(); 1239 void FillAviableSkillsToTeach(int _this);
1342 void __cdecl ODM_UpdateUserInputAndOther(); 1240 void sub_4B3E1E();
1343 bool __fastcall _46BFFA_check_object_intercept(unsigned int uLayingItemID, signed int a2); 1241 void DrawJoinGuildWindow(int pEventCode);
1344 void __cdecl check_event_triggers(); 1242 void __fastcall sub_4B3FE5(int a4);
1345 int BLV_GetFloorLevel(int x, int y, int z, unsigned int uSectorID, unsigned int *pFaceID); 1243 void NPCHireableDialogPrepare();
1346 int ODM_GetFloorLevel(int X, signed int Y, int Z, int, int *pOnWater, int *bmodel_pid, int bWaterWalk); 1244 void _4B4224_UpdateNPCTopics(int _this);
1347 int __fastcall sub_46D8E3(int a1, signed int a2, int a3, int a4); 1245 void __fastcall DrawTextAtStatusBar(const char *Str, int a5);
1348 void ODM_GetTerrainNormalAt(int pos_x, int pos_z, Vec3_int_ *out); 1246 __int64 GetExperienceRequiredForLevel(int a1);
1349 unsigned int __fastcall sub_46DEF2(signed int a2, unsigned int uLayingItemID); 1247 const char *sub_4BBA85_bounties();
1350 int __fastcall _46DF1A_collide_against_actor(int, int); // weak 1248 void sub_4BBCDD();
1351 void __cdecl _46E0B2_collide_against_decorations(); 1249 void __fastcall _4BBF61_summon_actor(int a1, __int16 x, int y, int z); // idb
1352 void __fastcall _46E26D_collide_against_sprites(signed int a1, signed int a2); 1250 void ArenaFight();
1353 int __thiscall _46E44E_collide_against_faces_and_portals(unsigned int b1); // idb 1251 void SpellBookGenerator();
1354 int __fastcall _46E889_collide_against_bmodels(unsigned int ecx0); 1252 void UI_CreateEndConversationButton();
1355 int collide_against_floor(int x, int y, int z, unsigned int *pSectorID, unsigned int *pFaceID); // idb 1253 void __fastcall OnSelectShopDialogueOption(signed int uMessageParam);
1356 void __fastcall _46ED8A_collide_against_sprite_objects(unsigned int _this); 1254 int sub_4BD8B5();
1357 int __thiscall _46EF01_collision_chech_player(int a1); // idb 1255 bool __fastcall MerchandiseTest(ItemGen *item, int _2da_idx);
1358 signed int __cdecl _46F04E_collide_against_portals(); 1256 void UIShop_Buy_Identify_Repair();
1359 void BLV_UpdateDoors();
1360 void UpdateActors_BLV();
1361 void UpdateActors_ODM();
1362 void UpdateObjects();
1363 int collide_against_floor_approximate(int x, int y, int z, unsigned int *pSectorID, unsigned int *pFaceID); // idb
1364 void BLV_ProcessPartyActions();
1365 void ODM_ProcessPartyActions();
1366 bool __fastcall sub_47531C(int a1, int *a2, int a3, int a4, int a5, int a6, int a7, int a8, BLVFace *a9, int a10);
1367 bool __fastcall sub_4754BF(int a1, int *a2, int a3, int a4, int a5, int a6, int a7, int a8, BLVFace *a9, int a10, int a11);
1368 signed int __thiscall sub_475665(BLVFace *_this, int a2, __int16 a3);
1369 bool __fastcall sub_4759C9(BLVFace *a1, int a2, int a3, __int16 a4);
1370 bool __fastcall sub_475D85(Vec3_int_ *a1, Vec3_int_ *a2, int *a3, BLVFace *a4);
1371 bool __fastcall sub_475F30(int *a1, BLVFace *a2, int a3, int a4, int a5, int a6, int a7, int a8, int a9);
1372
1373 int __cdecl GetPartyReputation();
1374 void __cdecl sub_4783FA_construct_global_73D150();
1375 void __cdecl loc_4789D4(); // idb
1376 void __cdecl loc_47907F(); // idb
1377 bool __fastcall IsBModelVisible(unsigned int uModelID, int *unused); 1257 bool __fastcall IsBModelVisible(unsigned int uModelID, int *unused);
1378 void __thiscall ODM_LoadAndInitialize(const char *pLevelFilename, struct OutdoorCamera *thisa); 1258 void ODM_LoadAndInitialize(const char *pLevelFilename, struct OutdoorCamera *thisa);
1379 unsigned int GetLevelFogColor(); 1259 unsigned int GetLevelFogColor();
1380 int __fastcall sub_47C3D7_get_fog_related_stuff(int a1, int a2, float a3); 1260 int __fastcall sub_47C3D7_get_fog_related_stuff(int a1, int a2, float a3);
1381 signed int __fastcall GetActorTintColor(int max_dim, int min_dim, float distance, int a4, struct RenderBillboard *a5); 1261 int __fastcall GetActorTintColor(int max_dim, int min_dim, float distance, int a4, struct RenderBillboard *a5);
1382 unsigned int WorldPosToGridCellX(int); // weak 1262 unsigned int WorldPosToGridCellX(int); // weak
1383 unsigned int WorldPosToGridCellZ(int); // weak 1263 unsigned int WorldPosToGridCellZ(int); // weak
1384 int __stdcall GridCellToWorldPosX(int); // weak 1264 int GridCellToWorldPosX(int); // weak
1385 int __stdcall GridCellToWorldPosZ(int); // weak 1265 int GridCellToWorldPosZ(int); // weak
1386 void __cdecl loc_48118F(); // idb
1387 void __cdecl loc_481199(); // idb
1388 void ResetPolygons(); 1266 void ResetPolygons();
1389 void __cdecl sub_481ED9_MessWithOutdoorCamera(); 1267 void sub_481ED9_MessWithOutdoorCamera();
1390 bool IsTerrainSlopeTooHigh(int pos_x, int pos_y); 1268 bool IsTerrainSlopeTooHigh(int pos_x, int pos_y);
1391 int __fastcall GetTerrainHeightsAroundParty2(int a1, int a2, int *a3, int a4); 1269 int __fastcall GetTerrainHeightsAroundParty2(int a1, int a2, int *a3, int a4);
1392 signed int __cdecl const_1_0(); 1270 void sub_487DA9();
1393 void __cdecl sub_487DA9(); 1271 double GetFogDensityByTime(struct OutdoorLocation *_this);
1394 double __thiscall GetFogDensityByTime(struct OutdoorLocation *_this);
1395 int __stdcall loc_489BB3(struct stru320 *a2, int thisa, unsigned int uNumVertices, RenderVertexSoft *a5, float a6, char uClipFlag); // weak
1396 bool __fastcall HSV2RGB(float *a1, float *a2, float *a3, float a4, float a5, float a6); 1272 bool __fastcall HSV2RGB(float *a1, float *a2, float *a3, float a4, float a5, float a6);
1397 void __fastcall RGB2HSV(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);
1398 unsigned int ReplaceHSV(unsigned int uColor, float a2, float gamma, float a4); 1274 unsigned int ReplaceHSV(unsigned int uColor, float a2, float gamma, float a4);
1399 signed int __cdecl PlayerCreation_Chose4Skills(); 1275 int PlayerCreation_Choose4Skills();
1400 signed int __cdecl PlayerCreation_GetUnspentAttributePointCount(); 1276 int PlayerCreation_GetUnspentAttributePointCount();
1401 void LoadPlayerPortraintsAndVoices(); 1277 void LoadPlayerPortraintsAndVoices();
1402 int __fastcall ReloadPlayerPortraits(int, int); // weak 1278 int __fastcall ReloadPlayerPortraits(int, int); // weak
1403 void sub_491E3A(); 1279 void sub_491E3A();
1404 signed int __thiscall CycleCharacter(unsigned int _this); 1280 int CycleCharacter(bool backwards);
1405 void __fastcall Rest(unsigned int uHoursToSleep); 1281 void __fastcall Rest(unsigned int uHoursToSleep);
1406 int _493938_regenerate(); 1282 int _493938_regenerate();
1407 void sub_493F79(struct stru351_summoned_item *_this, __int64 a2); 1283 void init_summoned_item(struct stru351_summoned_item *_this, __int64 duration);
1408 void _494035_timed_effects__water_walking_damage__etc(); 1284 void _494035_timed_effects__water_walking_damage__etc();
1409 unsigned int __fastcall _494820_training_time(unsigned int a1); 1285 unsigned int __fastcall _494820_training_time(unsigned int a1);
1410 char *__fastcall sub_495366(unsigned __int8 a1, unsigned __int8 a2); 1286 char *__fastcall sub_495366(unsigned __int8 a1, unsigned __int8 a2);
1411 char *GetReputationString(signed int a1); 1287 char *GetReputationString(signed int a1);
1412 char *BuildDialogueString(char *lpsz, unsigned __int8 uPlayerID, struct ItemGen *a3, char *a4, int a5, __int64 *a6); 1288 char *BuildDialogueString(char *lpsz, unsigned __int8 uPlayerID, struct ItemGen *a3, char *a4, int a5, __int64 *a6);
1423 void Present_ColorKey(); 1299 void Present_ColorKey();
1424 void Present_NoColorKey(); 1300 void Present_NoColorKey();
1425 unsigned int ModulateColor(unsigned int diffuse, float multiplier); // idb 1301 unsigned int ModulateColor(unsigned int diffuse, float multiplier); // idb
1426 struct SoundHeader *FindSound_BinSearch(unsigned int uStart, unsigned int uEnd, const char *pName); 1302 struct SoundHeader *FindSound_BinSearch(unsigned int uStart, unsigned int uEnd, const char *pName);
1427 struct SoundData *LoadSound(const char *pSoundName, struct SoundData *pOutBuff, unsigned int uID); 1303 struct SoundData *LoadSound(const char *pSoundName, struct SoundData *pOutBuff, unsigned int uID);
1428 int __fastcall sub_4AAEA6_transform(RenderVertexSoft *a1); 1304 int __fastcall sub_4AAEA6_transform(struct RenderVertexSoft *a1);
1429 int __fastcall sub_4AB66C(int, int); // weak 1305 int __fastcall sub_4AB66C(int, int); // weak
1430 int GetSoundStrengthByDistanceFromParty(int x, int y, int z); 1306 int GetSoundStrengthByDistanceFromParty(int x, int y, int z);
1431 struct _DIG_DRIVER *Audio_GetFirstHardwareDigitalDriver(void); 1307 struct _DIG_DRIVER *Audio_GetFirstHardwareDigitalDriver(void);
1432 void __cdecl PlayLevelMusic(); 1308 void PlayLevelMusic();
1433 unsigned int __fastcall sub_4B0E07(unsigned int uFaceID); // idb 1309 unsigned int __fastcall sub_4B0E07(unsigned int uFaceID); // idb
1434 struct Player *__fastcall sub_4B1447_party_fine(int a1, int a2, int a3); 1310 struct Player *__fastcall sub_4B1447_party_fine(int a1, int a2, int a3);
1435 void __thiscall sub_4B1523(int *_this); 1311 void sub_4B1523(int *_this);
1436 void __cdecl ShowPopupShopItem(); 1312 void ShowPopupShopItem();
1437 void __stdcall RestAndHeal(__int64 uNumMinutes); // idb 1313 void RestAndHeal(__int64 uNumMinutes); // idb
1438 void __cdecl GetHouseGoodbyeSpeech(); 1314 void GetHouseGoodbyeSpeech();
1439 1315 int __fastcall _46A6AC_spell_render(int a1, int a2, int a3);
1440 void __cdecl sub_4B1ECE(); 1316 int __fastcall _46A6AC_spell_render_d3d(int a1, int a2, int a3);
1441 void __fastcall ClickNPCTopic(signed int uMessageParam); 1317 int __fastcall _46A89E_immolation_effect(int a1, int a2, int a3);
1442 char *__thiscall _4B254D_SkillMasteryTeacher(int _this); 1318 int sub_46A99B();
1443 const char * ContractSelectText(int pEventCode); 1319 unsigned int GetGravityStrength();
1444 void SimpleHouseAndBoatsDialog(); 1320 void UpdateUserInput_and_MapSpecificStuff();
1445 void CreateButtonInColumn(int a1, unsigned int a2); 1321 void BLV_UpdateUserInputAndOther();
1446 void FillAviableSkillsToTeach(int _this); 1322 void ODM_UpdateUserInputAndOther();
1447 void __cdecl sub_4B3E1E(); 1323 bool __fastcall _46BFFA_check_object_intercept(unsigned int uLayingItemID, signed int a2);
1448 void DrawJoinGuildWindow(int pEventCode); 1324 int BLV_GetFloorLevel(int x, int y, int z, unsigned int uSectorID, unsigned int *pFaceID);
1449 void __fastcall sub_4B3FE5(int a4); 1325 int ODM_GetFloorLevel(int X, signed int Y, int Z, int, int *pOnWater, int *bmodel_pid, int bWaterWalk);
1450 void NPCHireableDialogPrepare(); 1326 int __fastcall sub_46D8E3(int a1, signed int a2, int a3, int a4);
1451 void _4B4224_UpdateNPCTopics(int _this); 1327 void ODM_GetTerrainNormalAt(int pos_x, int pos_z, Vec3_int_ *out);
1452 void __fastcall DrawTextAtStatusBar(const char *Str, int a5); 1328 unsigned int __fastcall sub_46DEF2(signed int a2, unsigned int uLayingItemID);
1453 int __fastcall sub_4B46F8(int a1); 1329 int __fastcall _46DF1A_collide_against_actor(int, int); // weak
1454 1330 void _46E0B2_collide_against_decorations();
1455 const char *sub_4BBA85_bounties(); 1331 void __fastcall _46E26D_collide_against_sprites(signed int a1, signed int a2);
1456 void __cdecl sub_4BBCDD(); 1332 int _46E44E_collide_against_faces_and_portals(unsigned int b1); // idb
1457 void __fastcall _4BBF61_summon_actor(int a1, __int16 x, int y, int z); // idb 1333 int __fastcall _46E889_collide_against_bmodels(unsigned int ecx0);
1458 void __cdecl ArenaFight(); 1334 int collide_against_floor(int x, int y, int z, unsigned int *pSectorID, unsigned int *pFaceID); // idb
1459 void SpellBookGenerator(); 1335 void __fastcall _46ED8A_collide_against_sprite_objects(unsigned int _this);
1460 void UI_CreateEndConversationButton(); 1336 int _46EF01_collision_chech_player(int a1); // idb
1461 void __fastcall OnSelectShopDialogueOption(signed int uMessageParam); 1337 int _46F04E_collide_against_portals();
1462 signed int __cdecl sub_4BD8B5(); 1338 void BLV_UpdateDoors();
1463 bool __fastcall MerchandiseTest(ItemGen *item, int _2da_idx); 1339 void UpdateActors_BLV();
1464 void __cdecl UIShop_Buy_Identify_Repair(); 1340 void UpdateActors_ODM();
1465 1341 void UpdateObjects();
1466 1342 int collide_against_floor_approximate(int x, int y, int z, unsigned int *pSectorID, unsigned int *pFaceID); // idb
1467 void __cdecl ShowIntroVideo_and_LoadingScreen(); 1343 void BLV_ProcessPartyActions();
1468 unsigned int __thiscall GameOverMenu(void *ecx0); 1344 void ODM_ProcessPartyActions();
1469 bool __thiscall BinkLockBuffer(struct _BINKBUF *_this); 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);
1470 void __thiscall BinkUnlockBuffer(struct _BINKBUF *_this); 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);
1471 signed int __fastcall SpawnRandomTreasure(struct MapInfo *a1, struct SpawnPointMM7 *a2); 1347 int sub_475665(struct BLVFace *_this, int a2, __int16 a3);
1472 void DamageMonsterFromParty(signed int a1, unsigned int uActorID_Monster, struct Vec3_int_ *pVelocity); 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);}
1473 1398
1474 1399
1475 #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)
1476 1401
1477 1402