comparison NPC.h @ 291:0ea5fbd16edb

NPC mostly done
author Gloval
date Tue, 19 Feb 2013 00:34:15 +0400
parents f1218b9d67f1
children 95be2dcecadf
comparison
equal deleted inserted replaced
290:4776715a964b 291:0ea5fbd16edb
8 }; 8 };
9 9
10 extern NPCTopic pNPCTopics[789]; 10 extern NPCTopic pNPCTopics[789];
11 11
12 12
13
14
15
16 /* 136 */ 13 /* 136 */
17 #pragma pack(push, 1) 14 #pragma pack(push, 1)
18 struct NPCData 15 struct NPCData //4Ch
19 { 16 {
20 inline bool Hired() {return uFlags & 0x80;} 17 inline bool Hired() {return uFlags & 0x80;}
21 18
22 char *pName; 19 char *pName; //0
23 unsigned int uPortraitID; 20 unsigned int uPortraitID; //4
24 unsigned int uFlags; // & 0x80 no greeting on dialogue start; looks like hired 21 unsigned int uFlags; //8 // & 0x80 no greeting on dialogue start; looks like hired
25 int fame; 22 int fame; //c
26 int rep; 23 int rep; //10
27 int house; 24 unsigned int Location2D; //14
28 unsigned int uProfession; 25 unsigned int uProfession; //18
29 int greet; 26 int greet; //1c
30 int joins; 27 int joins; //20
31 int field_24; 28 int field_24;
32 unsigned int bDrawSomeAnim; 29 unsigned int evt_A; //28
33 int _anim_current_time; //evtb 30 unsigned int evt_B; //2c evtb
34 int _anim_end_time; //evtc 31 unsigned int evt_C; // 30 evtc
35 int evtd; 32 unsigned int evt_D; //34
36 int evte; 33 unsigned int evt_E; //38
37 int evtf; 34 unsigned int evt_F; //3c
38 int uSex; 35 unsigned int uSex; //40
39 int bHasUsedTheAbility; 36 int bHasUsedTheAbility; //44
40 int news_topic; 37 int news_topic; //48
41 }; 38 };
42 #pragma pack(pop) 39 #pragma pack(pop)
43 40
44 41
45 /* 138 */ 42 /* 138 */
55 #pragma pack(pop) 52 #pragma pack(pop)
56 53
57 54
58 /* 139 */ 55 /* 139 */
59 #pragma pack(push, 1) 56 #pragma pack(push, 1)
60 struct NPCStats_stru0 57 struct NPCProfessionChance
61 { 58 {
62 int field_0; //summ 59 unsigned int uTotalprofChance; //summ
63 char field_4[60]; //prof position 60 char professionChancePerArea[60]; //prof position
64 }; 61 };
65 #pragma pack(pop) 62 #pragma pack(pop)
66 63
67 /* 140 */ 64 /* 140 */
68 #pragma pack(push, 1) 65 #pragma pack(push, 1)
72 char *pGreeting2; 69 char *pGreeting2;
73 }; 70 };
74 #pragma pack(pop) 71 #pragma pack(pop)
75 72
76 73
77
78 /* 137 */ 74 /* 137 */
79 #pragma pack(push, 1) 75 #pragma pack(push, 1)
80 struct NPCStats 76 struct NPCStats
81 { 77 {
82 inline NPCStats(): 78 inline NPCStats():
83 pNPCTextTXT_Raw(nullptr), pNPCTopicTXT_Raw(nullptr), pNPCDistTXT_Raw(nullptr) 79 pNPCTextTXT_Raw(nullptr), pNPCTopicTXT_Raw(nullptr), pNPCDistTXT_Raw(nullptr)
84 { 80 {
85 uNumNPCNames[0] = uNumNPCNames[1] = 0; 81 uNumNPCNames[0] = uNumNPCNames[1] = 0;
86 } 82 }
87 83
88 void Initialize2(); 84 void InitializeNPCText();
89 void Initialize1(); 85 void InitializeNPCData();
90 void Initialize(); 86 void Initialize();
91 void Release(); 87 void Release();
92 bool InitializeAdditionalNPCs(NPCData *a2, int a3, int a4, int a5); 88 void InitializeAdditionalNPCs(NPCData *pNPCDataBuff, int npc_uid, int uLocation2D, int uMapId);
93 void _476C60(); 89 void _476C60();
94 90
95 91
96 NPCData pNPCData[501]; 92 NPCData pNPCData[501]; //0 - 94BCh count from 1
97 NPCData pNewNPCData[501]; 93 NPCData pNewNPCData[501]; //94BCh- 12978h count from 1
98 char *pNPCNames[540][2]; 94 char *pNPCNames[540][2];
99 int field_13A58; 95 NPCProfession pProfessions[59]; //count from 1
100 int field_13A5C; 96 NPCData pAdditionalNPC[100];
101 int field_13A60; 97 char *pCatchPhrases[52]; //15CA4h
102 int field_13A64; 98 char *pNPCUnicNames[500]; //from first batch
103 int field_13A68; 99 NPCProfessionChance pProfessionChance[77]; //16544h profession chance in each area
104 NPCProfession pProfessions[58];
105 NPCData array_13EF4[100];
106 char *pCatchPhrases[52];
107 char *pNPCNames2[500];
108 NPCStats_stru0 array_16544[77]; //16544h proffesion position in area
109 int field_17884; 100 int field_17884;
110 int field_17888; 101 int field_17888;
111 NPCGreeting pNPCGreetings[205]; 102 NPCGreeting pNPCGreetings[205];
112 unsigned __int16 pGroups[51]; 103 unsigned __int16 pGroups[51];
113 unsigned __int16 pGroups_copy[51]; 104 unsigned __int16 pGroups_copy[51];
114 int field_17FC0; 105 unsigned int uNewlNPCBufPos;
115 unsigned int uNumNewNPCs; 106 unsigned int uNumNewNPCs;
116 int field_17FC8; 107 int field_17FC8;
117 unsigned int uNumNPCProfessions; 108 unsigned int uNumNPCProfessions;
118 unsigned int uNumNPCNames[2]; 109 unsigned int uNumNPCNames[2]; //0 male 1 female
119 char *pNPCDataTXT_Raw; 110 char *pNPCDataTXT_Raw;
120 char *pNPCNamesTXT_Raw; 111 char *pNPCNamesTXT_Raw;
121 char *pNPCProfTXT_Raw; 112 char *pNPCProfTXT_Raw;
122 char *pNPCNewsTXT_Raw; 113 char *pNPCNewsTXT_Raw;
123 char *pNPCTopicTXT_Raw; 114 char *pNPCTopicTXT_Raw;