Mercurial > mm7
diff NPC.h @ 291:0ea5fbd16edb
NPC mostly done
author | Gloval |
---|---|
date | Tue, 19 Feb 2013 00:34:15 +0400 |
parents | f1218b9d67f1 |
children | 95be2dcecadf |
line wrap: on
line diff
--- a/NPC.h Mon Feb 18 20:47:41 2013 +0600 +++ b/NPC.h Tue Feb 19 00:34:15 2013 +0400 @@ -10,34 +10,31 @@ extern NPCTopic pNPCTopics[789]; - - - /* 136 */ #pragma pack(push, 1) -struct NPCData +struct NPCData //4Ch { inline bool Hired() {return uFlags & 0x80;} - char *pName; - unsigned int uPortraitID; - unsigned int uFlags; // & 0x80 no greeting on dialogue start; looks like hired - int fame; - int rep; - int house; - unsigned int uProfession; - int greet; - int joins; + char *pName; //0 + unsigned int uPortraitID; //4 + unsigned int uFlags; //8 // & 0x80 no greeting on dialogue start; looks like hired + int fame; //c + int rep; //10 + unsigned int Location2D; //14 + unsigned int uProfession; //18 + int greet; //1c + int joins; //20 int field_24; - unsigned int bDrawSomeAnim; - int _anim_current_time; //evtb - int _anim_end_time; //evtc - int evtd; - int evte; - int evtf; - int uSex; - int bHasUsedTheAbility; - int news_topic; + unsigned int evt_A; //28 + unsigned int evt_B; //2c evtb + unsigned int evt_C; // 30 evtc + unsigned int evt_D; //34 + unsigned int evt_E; //38 + unsigned int evt_F; //3c + unsigned int uSex; //40 + int bHasUsedTheAbility; //44 + int news_topic; //48 }; #pragma pack(pop) @@ -57,10 +54,10 @@ /* 139 */ #pragma pack(push, 1) -struct NPCStats_stru0 +struct NPCProfessionChance { - int field_0; //summ - char field_4[60]; //prof position + unsigned int uTotalprofChance; //summ + char professionChancePerArea[60]; //prof position }; #pragma pack(pop) @@ -74,7 +71,6 @@ #pragma pack(pop) - /* 137 */ #pragma pack(push, 1) struct NPCStats @@ -85,37 +81,32 @@ uNumNPCNames[0] = uNumNPCNames[1] = 0; } - void Initialize2(); - void Initialize1(); + void InitializeNPCText(); + void InitializeNPCData(); void Initialize(); void Release(); - bool InitializeAdditionalNPCs(NPCData *a2, int a3, int a4, int a5); + void InitializeAdditionalNPCs(NPCData *pNPCDataBuff, int npc_uid, int uLocation2D, int uMapId); void _476C60(); - NPCData pNPCData[501]; - NPCData pNewNPCData[501]; + NPCData pNPCData[501]; //0 - 94BCh count from 1 + NPCData pNewNPCData[501]; //94BCh- 12978h count from 1 char *pNPCNames[540][2]; - int field_13A58; - int field_13A5C; - int field_13A60; - int field_13A64; - int field_13A68; - NPCProfession pProfessions[58]; - NPCData array_13EF4[100]; - char *pCatchPhrases[52]; - char *pNPCNames2[500]; - NPCStats_stru0 array_16544[77]; //16544h proffesion position in area + NPCProfession pProfessions[59]; //count from 1 + NPCData pAdditionalNPC[100]; + char *pCatchPhrases[52]; //15CA4h + char *pNPCUnicNames[500]; //from first batch + NPCProfessionChance pProfessionChance[77]; //16544h profession chance in each area int field_17884; int field_17888; NPCGreeting pNPCGreetings[205]; unsigned __int16 pGroups[51]; unsigned __int16 pGroups_copy[51]; - int field_17FC0; + unsigned int uNewlNPCBufPos; unsigned int uNumNewNPCs; int field_17FC8; unsigned int uNumNPCProfessions; - unsigned int uNumNPCNames[2]; + unsigned int uNumNPCNames[2]; //0 male 1 female char *pNPCDataTXT_Raw; char *pNPCNamesTXT_Raw; char *pNPCProfTXT_Raw;