annotate NPC.h @ 252:e22e2357c8b3

Merge
author Gloval
date Mon, 18 Feb 2013 08:59:34 +0400
parents 48f21f569328 37dcbe8f3cca
children f1218b9d67f1
rev   line source
0
Ritor1
parents:
diff changeset
1 #pragma once
Ritor1
parents:
diff changeset
2
Ritor1
parents:
diff changeset
3
Ritor1
parents:
diff changeset
4 struct NPCTopic
Ritor1
parents:
diff changeset
5 {
Ritor1
parents:
diff changeset
6 const char *pTopic;
Ritor1
parents:
diff changeset
7 const char *pText;
Ritor1
parents:
diff changeset
8 };
Ritor1
parents:
diff changeset
9
Ritor1
parents:
diff changeset
10 extern NPCTopic pNPCTopics[789];
Ritor1
parents:
diff changeset
11
Ritor1
parents:
diff changeset
12
Ritor1
parents:
diff changeset
13
Ritor1
parents:
diff changeset
14
Ritor1
parents:
diff changeset
15
Ritor1
parents:
diff changeset
16 /* 136 */
Ritor1
parents:
diff changeset
17 #pragma pack(push, 1)
Ritor1
parents:
diff changeset
18 struct NPCData
Ritor1
parents:
diff changeset
19 {
248
37dcbe8f3cca Dialogue stuff
Nomad
parents: 237
diff changeset
20 inline bool Hired() {return uFlags & 0x80;}
37dcbe8f3cca Dialogue stuff
Nomad
parents: 237
diff changeset
21
0
Ritor1
parents:
diff changeset
22 char *pName;
Ritor1
parents:
diff changeset
23 unsigned int uPortraitID;
248
37dcbe8f3cca Dialogue stuff
Nomad
parents: 237
diff changeset
24 unsigned int uFlags; // & 0x80 no greeting on dialogue start; looks like hired
0
Ritor1
parents:
diff changeset
25 int fame;
Ritor1
parents:
diff changeset
26 int rep;
Ritor1
parents:
diff changeset
27 int house;
Ritor1
parents:
diff changeset
28 unsigned int uProfession;
Ritor1
parents:
diff changeset
29 int greet;
Ritor1
parents:
diff changeset
30 int joins;
Ritor1
parents:
diff changeset
31 int field_24;
Ritor1
parents:
diff changeset
32 unsigned int bDrawSomeAnim;
130
1c471f3629fb Party expressions update
Nomad
parents: 0
diff changeset
33 int _anim_current_time; //evtb
1c471f3629fb Party expressions update
Nomad
parents: 0
diff changeset
34 int _anim_end_time; //evtc
0
Ritor1
parents:
diff changeset
35 int evtd;
Ritor1
parents:
diff changeset
36 int evte;
Ritor1
parents:
diff changeset
37 int evtf;
Ritor1
parents:
diff changeset
38 int uSex;
Ritor1
parents:
diff changeset
39 int bHasUsedTheAbility;
Ritor1
parents:
diff changeset
40 int news_topic;
Ritor1
parents:
diff changeset
41 };
Ritor1
parents:
diff changeset
42 #pragma pack(pop)
Ritor1
parents:
diff changeset
43
Ritor1
parents:
diff changeset
44
Ritor1
parents:
diff changeset
45 /* 138 */
Ritor1
parents:
diff changeset
46 #pragma pack(push, 1)
Ritor1
parents:
diff changeset
47 struct NPCProfession
Ritor1
parents:
diff changeset
48 {
Ritor1
parents:
diff changeset
49 unsigned int uHirePrice;
Ritor1
parents:
diff changeset
50 char *pBenefits;
Ritor1
parents:
diff changeset
51 char *pActionText;
Ritor1
parents:
diff changeset
52 char *pJoinText;
Ritor1
parents:
diff changeset
53 char *pDismissText;
Ritor1
parents:
diff changeset
54 };
Ritor1
parents:
diff changeset
55 #pragma pack(pop)
Ritor1
parents:
diff changeset
56
Ritor1
parents:
diff changeset
57
Ritor1
parents:
diff changeset
58 /* 139 */
Ritor1
parents:
diff changeset
59 #pragma pack(push, 1)
Ritor1
parents:
diff changeset
60 struct NPCStats_stru0
Ritor1
parents:
diff changeset
61 {
237
2799737f8a74 more text parsers refactor
Gloval
parents: 188
diff changeset
62 int field_0; //summ
2799737f8a74 more text parsers refactor
Gloval
parents: 188
diff changeset
63 char field_4[60]; //prof position
0
Ritor1
parents:
diff changeset
64 };
Ritor1
parents:
diff changeset
65 #pragma pack(pop)
Ritor1
parents:
diff changeset
66
Ritor1
parents:
diff changeset
67 /* 140 */
Ritor1
parents:
diff changeset
68 #pragma pack(push, 1)
Ritor1
parents:
diff changeset
69 struct NPCGreeting
Ritor1
parents:
diff changeset
70 {
Ritor1
parents:
diff changeset
71 char *pGreeting1;
Ritor1
parents:
diff changeset
72 char *pGreeting2;
Ritor1
parents:
diff changeset
73 };
Ritor1
parents:
diff changeset
74 #pragma pack(pop)
Ritor1
parents:
diff changeset
75
Ritor1
parents:
diff changeset
76
Ritor1
parents:
diff changeset
77
Ritor1
parents:
diff changeset
78 /* 137 */
Ritor1
parents:
diff changeset
79 #pragma pack(push, 1)
Ritor1
parents:
diff changeset
80 struct NPCStats
Ritor1
parents:
diff changeset
81 {
Ritor1
parents:
diff changeset
82 inline NPCStats():
Ritor1
parents:
diff changeset
83 pNPCTextTXT_Raw(nullptr), pNPCTopicTXT_Raw(nullptr), pNPCDistTXT_Raw(nullptr)
Ritor1
parents:
diff changeset
84 {
Ritor1
parents:
diff changeset
85 uNumNPCNames[0] = uNumNPCNames[1] = 0;
Ritor1
parents:
diff changeset
86 }
Ritor1
parents:
diff changeset
87
Ritor1
parents:
diff changeset
88 void Initialize2();
Ritor1
parents:
diff changeset
89 void Initialize1();
Ritor1
parents:
diff changeset
90 void Initialize();
Ritor1
parents:
diff changeset
91 void Release();
Ritor1
parents:
diff changeset
92 bool InitializeAdditionalNPCs(NPCData *a2, int a3, int a4, int a5);
Ritor1
parents:
diff changeset
93 void _476C60();
Ritor1
parents:
diff changeset
94
237
2799737f8a74 more text parsers refactor
Gloval
parents: 188
diff changeset
95
0
Ritor1
parents:
diff changeset
96 NPCData pNPCData[501];
Ritor1
parents:
diff changeset
97 NPCData pNewNPCData[501];
Ritor1
parents:
diff changeset
98 char *pNPCNames[540][2];
Ritor1
parents:
diff changeset
99 int field_13A58;
Ritor1
parents:
diff changeset
100 int field_13A5C;
Ritor1
parents:
diff changeset
101 int field_13A60;
Ritor1
parents:
diff changeset
102 int field_13A64;
Ritor1
parents:
diff changeset
103 int field_13A68;
Ritor1
parents:
diff changeset
104 NPCProfession pProfessions[58];
Ritor1
parents:
diff changeset
105 NPCData array_13EF4[100];
Ritor1
parents:
diff changeset
106 char *pCatchPhrases[52];
Ritor1
parents:
diff changeset
107 char *pNPCNames2[500];
237
2799737f8a74 more text parsers refactor
Gloval
parents: 188
diff changeset
108 NPCStats_stru0 array_16544[77]; //16544h proffesion position in area
0
Ritor1
parents:
diff changeset
109 int field_17884;
Ritor1
parents:
diff changeset
110 int field_17888;
Ritor1
parents:
diff changeset
111 NPCGreeting pNPCGreetings[205];
Ritor1
parents:
diff changeset
112 unsigned __int16 pGroups[51];
Ritor1
parents:
diff changeset
113 unsigned __int16 pGroups_copy[51];
Ritor1
parents:
diff changeset
114 int field_17FC0;
Ritor1
parents:
diff changeset
115 unsigned int uNumNewNPCs;
Ritor1
parents:
diff changeset
116 int field_17FC8;
Ritor1
parents:
diff changeset
117 unsigned int uNumNPCProfessions;
Ritor1
parents:
diff changeset
118 unsigned int uNumNPCNames[2];
Ritor1
parents:
diff changeset
119 char *pNPCDataTXT_Raw;
Ritor1
parents:
diff changeset
120 char *pNPCNamesTXT_Raw;
Ritor1
parents:
diff changeset
121 char *pNPCProfTXT_Raw;
Ritor1
parents:
diff changeset
122 char *pNPCNewsTXT_Raw;
Ritor1
parents:
diff changeset
123 char *pNPCTopicTXT_Raw;
Ritor1
parents:
diff changeset
124 char *pNPCTextTXT_Raw;
Ritor1
parents:
diff changeset
125 char *pNPCDistTXT_Raw;
Ritor1
parents:
diff changeset
126 char *pNPCGreetTXT_Raw;
Ritor1
parents:
diff changeset
127 char *pNCPGroupTXT_Raw;
Ritor1
parents:
diff changeset
128 };
Ritor1
parents:
diff changeset
129 #pragma pack(pop)
Ritor1
parents:
diff changeset
130
251
48f21f569328 Npc related stuff separated
Gloval
parents: 237
diff changeset
131 bool __cdecl sub_476387();
48f21f569328 Npc related stuff separated
Gloval
parents: 237
diff changeset
132 bool CheckHiredNPCSpeciality(unsigned int uProfession);