Mercurial > mm7
comparison mm7_4.cpp @ 1459:2ca62c9e7b3c
Function names
author | Nomad |
---|---|
date | Wed, 21 Aug 2013 16:06:50 +0200 |
parents | 934074e7fcc1 |
children | 845907a747d3 |
comparison
equal
deleted
inserted
replaced
1458:934074e7fcc1 | 1459:2ca62c9e7b3c |
---|---|
45 #include "Log.h" | 45 #include "Log.h" |
46 #include "UI\UIHouses.h" | 46 #include "UI\UIHouses.h" |
47 #include "Lights.h" | 47 #include "Lights.h" |
48 | 48 |
49 //----- (0046CC4B) -------------------------------------------------------- | 49 //----- (0046CC4B) -------------------------------------------------------- |
50 void check_event_triggers() | 50 void check_event_triggers() |
51 { | 51 { |
52 int v0; // eax@1 | 52 int v0; // eax@1 |
53 LevelDecoration *v1; // esi@2 | 53 LevelDecoration *v1; // esi@2 |
54 signed int v2; // edi@2 | 54 signed int v2; // edi@2 |
55 int v3; // ebx@2 | 55 int v3; // ebx@2 |
88 int v36; // [sp+1Ch] [bp-8h]@3 | 88 int v36; // [sp+1Ch] [bp-8h]@3 |
89 signed int v37; // [sp+1Ch] [bp-8h]@12 | 89 signed int v37; // [sp+1Ch] [bp-8h]@12 |
90 signed int v38; // [sp+20h] [bp-4h]@24 | 90 signed int v38; // [sp+20h] [bp-4h]@24 |
91 | 91 |
92 v0 = 0; | 92 v0 = 0; |
93 for ( i = 0; i < _6836C8_num_decorations_6807E8; ++i ) | 93 for ( i = 0; i < num_event_triggers; ++i ) |
94 { | 94 { |
95 v1 = &pLevelDecorations[_6807E8_level_decorations_ids[v0]]; | 95 v1 = &pLevelDecorations[event_triggers[v0]]; |
96 v2 = v1->field_18; | 96 v2 = v1->field_18; |
97 v3 = v1->vPosition.y; | 97 v3 = v1->vPosition.y; |
98 v33 = v1->vPosition.x; | 98 v33 = v1->vPosition.x; |
99 v32 = v1->vPosition.y; | 99 v32 = v1->vPosition.y; |
100 v35 = v1->vPosition.z; | 100 v35 = v1->vPosition.z; |
595 int right = floorf((val - left) * 65536.0f); | 595 int right = floorf((val - left) * 65536.0f); |
596 return (left << 16) | right; | 596 return (left << 16) | right; |
597 } | 597 } |
598 | 598 |
599 //----- (00491E3A) -------------------------------------------------------- | 599 //----- (00491E3A) -------------------------------------------------------- |
600 void sub_491E3A() | 600 void sub_491E3A() |
601 { | 601 { |
602 Player *v0; // ebx@1 | 602 Player *v0; // ebx@1 |
603 signed int v1; // esi@3 | 603 signed int v1; // esi@3 |
604 char *v2; // eax@4 | 604 char *v2; // eax@4 |
605 unsigned int v3; // eax@7 | 605 unsigned int v3; // eax@7 |
840 a1.uSectorID = 0; | 840 a1.uSectorID = 0; |
841 a1.uSpriteFrameID = 0; | 841 a1.uSpriteFrameID = 0; |
842 a1.spell_caster_pid = v12; | 842 a1.spell_caster_pid = v12; |
843 a1.uFacing = 0; | 843 a1.uFacing = 0; |
844 a1.uSoundID = 0; | 844 a1.uSoundID = 0; |
845 v13 = sub_46A89E((int)v41, 100, 307); | 845 v13 = _46A89E_immolation_effect((int)v41, 100, 307); |
846 if ( v13 > 0 ) | 846 if ( v13 > 0 ) |
847 { | 847 { |
848 do | 848 do |
849 { | 849 { |
850 v14 = (unsigned int *)&v41[4 * v9]; | 850 v14 = (unsigned int *)&v41[4 * v9]; |
1068 } | 1068 } |
1069 return result; | 1069 return result; |
1070 } | 1070 } |
1071 | 1071 |
1072 //----- (00493F79) -------------------------------------------------------- | 1072 //----- (00493F79) -------------------------------------------------------- |
1073 void sub_493F79(stru351_summoned_item *_this, __int64 a2) | 1073 void init_summoned_item(stru351_summoned_item *_this, __int64 duration) |
1074 { | 1074 { |
1075 signed __int64 v2; // ST2C_8@1 | 1075 signed __int64 v2; // ST2C_8@1 |
1076 signed __int64 v3; // qax@1 | 1076 signed __int64 v3; // qax@1 |
1077 //signed __int64 v4; // ST1C_8@1 | 1077 //signed __int64 v4; // ST1C_8@1 |
1078 unsigned __int64 v5; // qax@1 | 1078 unsigned __int64 v5; // qax@1 |
1079 unsigned int v6; // ebx@1 | 1079 unsigned int v6; // ebx@1 |
1080 | 1080 |
1081 v2 = (signed __int64)((double)a2 * 0.234375); | 1081 v2 = (signed __int64)((double)duration * 0.234375); |
1082 v3 = v2 / 60 / 60; | 1082 v3 = v2 / 60 / 60; |
1083 //v4 = v3; | 1083 //v4 = v3; |
1084 v5 = (unsigned int)v3 / 0x18; | 1084 v5 = (unsigned int)v3 / 0x18; |
1085 v6 = (unsigned int)(v5 / 7) >> 2; | 1085 v6 = (unsigned int)(v5 / 7) >> 2; |
1086 _this->field_0_expire_second = v2 % 60; | 1086 _this->field_0_expire_second = v2 % 60; |
1883 } | 1883 } |
1884 } | 1884 } |
1885 dword_AE3370 = v3; | 1885 dword_AE3370 = v3; |
1886 return pNPCStats->pNPCNames[0][v11 + 2 * v3]; | 1886 return pNPCStats->pNPCNames[0][v11 + 2 * v3]; |
1887 } | 1887 } |
1888 // AE336C: using guessed type int dword_AE336C; | 1888 |
1889 // AE3370: using guessed type int dword_AE3370; | |
1890 | 1889 |
1891 //----- (00495430) -------------------------------------------------------- | 1890 //----- (00495430) -------------------------------------------------------- |
1892 char * GetReputationString( signed int a1 ) | 1891 char * GetReputationString( signed int a1 ) |
1893 { | 1892 { |
1894 if (a1 >= 25) | 1893 if (a1 >= 25) |
2239 strcat(pTmpBuf2.data(), a4); | 2238 strcat(pTmpBuf2.data(), a4); |
2240 dst = strlen(pTmpBuf2.data()); | 2239 dst = strlen(pTmpBuf2.data()); |
2241 i += 2; | 2240 i += 2; |
2242 break; | 2241 break; |
2243 } | 2242 } |
2244 sub_493F79(&v56, *a6); | 2243 init_summoned_item(&v56, *a6); |
2245 sprintfex(a1, pGlobalTXT_LocalizationStrings[378], aMonthNames[v56.field_14_exprie_month], v56.field_C_expire_day + 1, v56.field_18_expire_year); | 2244 sprintfex(a1, pGlobalTXT_LocalizationStrings[378], aMonthNames[v56.field_14_exprie_month], v56.field_C_expire_day + 1, v56.field_18_expire_year); |
2246 strcat(pTmpBuf2.data(), a1); | 2245 strcat(pTmpBuf2.data(), a1); |
2247 dst = strlen(pTmpBuf2.data()); | 2246 dst = strlen(pTmpBuf2.data()); |
2248 i += 2; | 2247 i += 2; |
2249 break; | 2248 break; |
2270 strcat(pTmpBuf2.data(), a4); | 2269 strcat(pTmpBuf2.data(), a4); |
2271 dst = strlen(pTmpBuf2.data()); | 2270 dst = strlen(pTmpBuf2.data()); |
2272 i += 2; | 2271 i += 2; |
2273 break; | 2272 break; |
2274 } | 2273 } |
2275 sub_493F79(&v56, pParty->field_3C._s_times[v17-51]); | 2274 init_summoned_item(&v56, pParty->field_3C._s_times[v17-51]); |
2276 sprintfex(a1, pGlobalTXT_LocalizationStrings[378], aMonthNames[v56.field_14_exprie_month], v56.field_C_expire_day + 1, v56.field_18_expire_year); | 2275 sprintfex(a1, pGlobalTXT_LocalizationStrings[378], aMonthNames[v56.field_14_exprie_month], v56.field_C_expire_day + 1, v56.field_18_expire_year); |
2277 strcat(pTmpBuf2.data(), a1); | 2276 strcat(pTmpBuf2.data(), a1); |
2278 dst = strlen(pTmpBuf2.data()); | 2277 dst = strlen(pTmpBuf2.data()); |
2279 i += 2; | 2278 i += 2; |
2280 break; | 2279 break; |
3007 sprintfex(pTmpBuf.data(), "%s\n%d", pGlobalTXT_LocalizationStrings[522], *(&pSpellDatas[0].uNormalLevelMana + 10 * v1)); | 3006 sprintfex(pTmpBuf.data(), "%s\n%d", pGlobalTXT_LocalizationStrings[522], *(&pSpellDatas[0].uNormalLevelMana + 10 * v1)); |
3008 a1.DrawTitleText(pFontComic, 0xCu, a1.uFrameHeight - LOBYTE(pFontComic->uFontHeight) - 16, 0, pTmpBuf.data(), 3); | 3007 a1.DrawTitleText(pFontComic, 0xCu, a1.uFrameHeight - LOBYTE(pFontComic->uFontHeight) - 16, 0, pTmpBuf.data(), 3); |
3009 } | 3008 } |
3010 | 3009 |
3011 //----- (004B1ECE) -------------------------------------------------------- | 3010 //----- (004B1ECE) -------------------------------------------------------- |
3012 void sub_4B1ECE() | 3011 void OracleDialogue() |
3013 { | 3012 { |
3014 __int16 *v0; // edi@1 | 3013 __int16 *v0; // edi@1 |
3015 int v1; // ebx@3 | 3014 int v1; // ebx@3 |
3016 Player *v2; // esi@3 | 3015 Player *v2; // esi@3 |
3017 int v3; // eax@4 | 3016 int v3; // eax@4 |
3101 } | 3100 } |
3102 if ( v9 ) | 3101 if ( v9 ) |
3103 v9->uHolderPlayer = v5; | 3102 v9->uHolderPlayer = v5; |
3104 } | 3103 } |
3105 } | 3104 } |
3106 // 4F08EC: using guessed type int dword_4F08EC[]; | |
3107 // 722B3C: using guessed type int dword_722B3C; | |
3108 // 722B44: using guessed type int dword_722B44; | |
3109 // F8B1A8: using guessed type int dword_F8B1A8; | |
3110 | 3105 |
3111 //----- (004B254D) -------------------------------------------------------- | 3106 //----- (004B254D) -------------------------------------------------------- |
3112 char * _4B254D_SkillMasteryTeacher(int _this) | 3107 char * _4B254D_SkillMasteryTeacher(int _this) |
3113 { | 3108 { |
3114 //Player *v1; // esi@1 | 3109 //Player *v1; // esi@1 |
3504 } | 3499 } |
3505 pDialogueWindow->CreateButton(480, 30 * v1 + 160, 140, 30, 1, 0, UIMSG_SelectNPCDialogueOption, 76, 0, pGlobalTXT_LocalizationStrings[406], 0);//Нанять | 3500 pDialogueWindow->CreateButton(480, 30 * v1 + 160, 140, 30, 1, 0, UIMSG_SelectNPCDialogueOption, 76, 0, pGlobalTXT_LocalizationStrings[406], 0);//Нанять |
3506 pDialogueWindow->_41D08F_set_keyboard_control_group(v1 + 1, 1, 0, 1); | 3501 pDialogueWindow->_41D08F_set_keyboard_control_group(v1 + 1, 1, 0, 1); |
3507 } | 3502 } |
3508 | 3503 |
3509 // F8B19C: using guessed type int dword_F8B19C; | |
3510 | 3504 |
3511 //----- (004B3FE5) -------------------------------------------------------- | 3505 //----- (004B3FE5) -------------------------------------------------------- |
3512 void __fastcall sub_4B3FE5(int a4) | 3506 void __fastcall sub_4B3FE5(int a4) |
3513 { | 3507 { |
3514 int v1; // edi@1 | 3508 int v1; // edi@1 |
3542 v4 = pFontLucida->AlignText_Center(450, Str); | 3536 v4 = pFontLucida->AlignText_Center(450, Str); |
3543 pPrimaryWindow->DrawText(pFontLucida, v4 + 11, 357, a5, Str, 0, 0, 0); | 3537 pPrimaryWindow->DrawText(pFontLucida, v4 + 11, 357, a5, Str, 0, 0, 0); |
3544 } | 3538 } |
3545 | 3539 |
3546 //----- (004B46F8) -------------------------------------------------------- | 3540 //----- (004B46F8) -------------------------------------------------------- |
3547 int __fastcall sub_4B46F8(int a1) | 3541 __int64 GetExperienceRequiredForLevel(int level) |
3548 { | 3542 { |
3549 int v1; // eax@1 | 3543 __int64 v1; // eax@1 |
3550 int i; // edx@1 | 3544 int i; // edx@1 |
3551 | 3545 |
3552 v1 = 0; | 3546 v1 = 0; |
3553 for ( i = 0; i < a1; ++i ) | 3547 for ( i = 0; i < level; ++i ) |
3554 v1 += i + 1; | 3548 v1 += i + 1; |
3555 return 1000 * v1; | 3549 return 1000 * v1; |
3556 } | 3550 } |
3557 | 3551 |
3558 //----- (004BC49B) -------------------------------------------------------- | 3552 //----- (004BC49B) -------------------------------------------------------- |
3754 else | 3748 else |
3755 { | 3749 { |
3756 switch ( npc_event_id ) | 3750 switch ( npc_event_id ) |
3757 { | 3751 { |
3758 case 139: | 3752 case 139: |
3759 sub_4B1ECE(); | 3753 OracleDialogue(); |
3760 break; | 3754 break; |
3761 case 311: | 3755 case 311: |
3762 sub_4BBA85_bounties(); | 3756 sub_4BBA85_bounties(); |
3763 break; | 3757 break; |
3764 case 399: | 3758 case 399: |
3759 __debugbreak(); // what kind of dialogue is that? | |
3765 sub_4BBCDD(); | 3760 sub_4BBCDD(); |
3766 break; | 3761 break; |
3767 default: | 3762 default: |
3768 activeLevelDecoration = (LevelDecoration*)1; | 3763 activeLevelDecoration = (LevelDecoration*)1; |
3769 current_npc_text = 0; | 3764 current_npc_text = 0; |