1 |
#ifndef ONI_H |
2 |
#error Do not include this file directly, include Oni/Oni.h instead! |
3 |
#endif |
4 |
|
5 |
#ifndef GAMESTATE_H |
6 |
#define GAMESTATE_H |
7 |
|
8 |
typedef struct { |
9 |
float X; |
10 |
float Y; |
11 |
float Z; |
12 |
} Vector3; //probably move to utilities... |
13 |
|
14 |
typedef struct { |
15 |
float X; |
16 |
float Y; |
17 |
float Z; |
18 |
float W; |
19 |
} Quaternion; |
20 |
|
21 |
typedef struct { |
22 |
float RotationScale[9]; |
23 |
Vector3 Translation; |
24 |
} Matrix4x3; |
25 |
|
26 |
typedef struct { |
27 |
Vector3 Center; |
28 |
float Radius; |
29 |
} Sphere; |
30 |
|
31 |
typedef struct |
32 |
{ |
33 |
int StartTime; |
34 |
int field_4; |
35 |
char Active; |
36 |
char field_9; |
37 |
} Letterbox; |
38 |
|
39 |
typedef struct |
40 |
{ |
41 |
__int16 Count; |
42 |
__int16 field_2; |
43 |
int Memory; |
44 |
} DoorArray; |
45 |
|
46 |
typedef struct |
47 |
{ |
48 |
int Count; |
49 |
int Head; |
50 |
}PHNodeList; |
51 |
|
52 |
typedef struct |
53 |
{ |
54 |
PHNodeList OutList; |
55 |
PHNodeList InList; |
56 |
int AKVA; |
57 |
int field_14; |
58 |
int XTiles; |
59 |
int ZTiles; |
60 |
int GridSize; |
61 |
char field_24; |
62 |
char NoGrid; |
63 |
char gap_26[2]; |
64 |
int GridData; |
65 |
int field_2D; |
66 |
__int16 field_31; |
67 |
char gap_32[2]; |
68 |
int DynamicGrid; |
69 |
int field_39; |
70 |
int field_3D; |
71 |
int field_41; |
72 |
int field_45; |
73 |
int field_49; |
74 |
int field_4D; |
75 |
int field_51; |
76 |
int field_55; |
77 |
int field_59; |
78 |
int field_5D; |
79 |
int field_61; |
80 |
int field_65; |
81 |
int field_69; |
82 |
int field_6D; |
83 |
int field_71; |
84 |
int field_75; |
85 |
__int16 Visited; |
86 |
__int16 field_7A; |
87 |
int TraverseQueueNext; |
88 |
int field_81; |
89 |
int field_85; |
90 |
int field_89; |
91 |
int field_8D; |
92 |
int field_91; |
93 |
int field_95; |
94 |
int field_99; |
95 |
} PHGraphNode; |
96 |
typedef struct |
97 |
{ |
98 |
int field_0; |
99 |
int field_4; |
100 |
int field_8; |
101 |
int field_C; |
102 |
int field_10; |
103 |
int field_14; |
104 |
int field_18; |
105 |
int field_1C; |
106 |
int field_20; |
107 |
int field_24; |
108 |
int field_28; |
109 |
int field_2C; |
110 |
int field_30; |
111 |
int field_34; |
112 |
int field_38; |
113 |
int field_3C; |
114 |
int field_40; |
115 |
} MotionBlur; |
116 |
|
117 |
typedef struct |
118 |
{ |
119 |
char field_0[2052]; |
120 |
} Shadow; |
121 |
|
122 |
typedef struct |
123 |
{ |
124 |
int ONSK; |
125 |
Vector3 PlanetPositions[8]; |
126 |
int StarSpriteArray; |
127 |
int Skybox; |
128 |
int field_6C; |
129 |
int field_70; |
130 |
int field_74; |
131 |
int field_78; |
132 |
int field_7C; |
133 |
int field_80; |
134 |
int field_84; |
135 |
int field_88; |
136 |
int field_8C; |
137 |
int field_90; |
138 |
int field_94; |
139 |
int field_98; |
140 |
int field_9C; |
141 |
int field_A0; |
142 |
int field_A4; |
143 |
int field_A8; |
144 |
int field_AC; |
145 |
int field_B0; |
146 |
int field_B4; |
147 |
int field_B8; |
148 |
int field_BC; |
149 |
int field_C0; |
150 |
int field_C4; |
151 |
int field_C8; |
152 |
int field_CC; |
153 |
int field_D0; |
154 |
int field_D4; |
155 |
int field_D8; |
156 |
int field_DC; |
157 |
float field_E0; |
158 |
int field_E4; |
159 |
int field_E8; |
160 |
int field_EC; |
161 |
int field_F0; |
162 |
int field_F4; |
163 |
int field_F8; |
164 |
int field_FC; |
165 |
int field_100; |
166 |
int field_104; |
167 |
int field_108; |
168 |
int field_10C; |
169 |
int field_110; |
170 |
int field_114; |
171 |
int field_118; |
172 |
int field_11C; |
173 |
int field_120; |
174 |
int field_124; |
175 |
int field_128; |
176 |
int field_12C; |
177 |
int field_130; |
178 |
int field_134; |
179 |
int field_138; |
180 |
int field_13C; |
181 |
int field_140; |
182 |
int field_144; |
183 |
int field_148; |
184 |
int field_14C; |
185 |
int field_150; |
186 |
int field_154; |
187 |
int field_158; |
188 |
int field_15C; |
189 |
int field_160; |
190 |
float field_164; |
191 |
int field_168; |
192 |
int field_16C; |
193 |
int field_170; |
194 |
int field_174; |
195 |
int field_178; |
196 |
int field_17C; |
197 |
int field_180; |
198 |
int field_184; |
199 |
int field_188; |
200 |
int field_18C; |
201 |
int field_190; |
202 |
int field_194; |
203 |
int field_198; |
204 |
int field_19C; |
205 |
int field_1A0; |
206 |
int field_1A4; |
207 |
int field_1A8; |
208 |
int field_1AC; |
209 |
int field_1B0; |
210 |
int field_1B4; |
211 |
int field_1B8; |
212 |
int field_1BC; |
213 |
int field_1C0; |
214 |
int field_1C4; |
215 |
int field_1C8; |
216 |
int field_1CC; |
217 |
int field_1D0; |
218 |
int field_1D4; |
219 |
int field_1D8; |
220 |
int field_1DC; |
221 |
int field_1E0; |
222 |
int field_1E4; |
223 |
int field_1E8; |
224 |
int field_1EC; |
225 |
int field_1F0; |
226 |
int field_1F4; |
227 |
int field_1F8; |
228 |
int field_1FC; |
229 |
int field_200; |
230 |
float field_204; |
231 |
int field_208; |
232 |
int field_20C; |
233 |
int field_210; |
234 |
int field_214; |
235 |
int field_218; |
236 |
int field_21C; |
237 |
int field_220; |
238 |
int field_224; |
239 |
int field_228; |
240 |
int field_22C; |
241 |
int field_230; |
242 |
int field_234; |
243 |
int field_238; |
244 |
int field_23C; |
245 |
int field_240; |
246 |
int field_244; |
247 |
int field_248; |
248 |
Vector3 SunFlarePosition; |
249 |
Vector3 field_258; |
250 |
int field_264; |
251 |
int field_268; |
252 |
int field_26C; |
253 |
int field_270; |
254 |
Vector3 field_274; |
255 |
int field_280; |
256 |
int field_284; |
257 |
int field_288; |
258 |
int field_28C; |
259 |
} Sky; |
260 |
|
261 |
|
262 |
|
263 |
typedef struct { |
264 |
Sphere Sphere_; //fix this name |
265 |
int Child1; |
266 |
int Child2; |
267 |
} SphereTreeNode; |
268 |
|
269 |
typedef struct { |
270 |
Vector3 Min; |
271 |
Vector3 Max; |
272 |
} BoundingBox; |
273 |
|
274 |
|
275 |
/* 202 */ typedef struct |
276 |
{ |
277 |
char Name[32]; |
278 |
__int16 Id; |
279 |
__int16 field_22; |
280 |
int Length; |
281 |
} PatrolPathOSD; |
282 |
|
283 |
/* 396 */ typedef struct |
284 |
{ |
285 |
int Type; |
286 |
int field_4; |
287 |
int field_8; |
288 |
int field_C; |
289 |
int field_10; |
290 |
} PatrolPathPoint; |
291 |
|
292 |
enum { //action flags |
293 |
Action_Escape = 1, |
294 |
Action_Console = 2, |
295 |
Action_PauseScreen = 4, |
296 |
Action_Cutscene_1 = 8, |
297 |
Action_Cutscene_2 = 0x10, |
298 |
Action_F4 = 0x20, |
299 |
Action_F5 = 0x40, |
300 |
Action_F6 = 0x80, |
301 |
Action_F7 = 0x100, |
302 |
Action_F8 = 0x200, |
303 |
Action_StartRecord = 0x400, |
304 |
Action_StopRecord = 0x800, |
305 |
Action_PlayRecord = 0x1000, |
306 |
Action_F12 = 0x2000, |
307 |
Action_LookMode = 0x8000, |
308 |
Action_Screenshot = 0x10000, |
309 |
Action_Forward = 0x200000, |
310 |
Action_Backward = 0x400000, |
311 |
Action_TurnLeft = 0x800000, |
312 |
Action_TurnRight = 0x1000000, |
313 |
Action_StepLeft = 0x2000000, |
314 |
Action_StepRight = 0x4000000, |
315 |
Action_Jump = 0x8000000, |
316 |
Action_Crouch = 0x10000000, |
317 |
Action_Punch = 0x20000000, |
318 |
Action_Kick = 0x40000000, |
319 |
Action_Block = 0x80000000, |
320 |
Action_Walk = 0x100000000ull, |
321 |
Action_Action = 0x200000000ull, |
322 |
Action_Hypo = 0x400000000ull, |
323 |
Action_Reload = 0x800000000ull, |
324 |
Action_Swap = 0x1000000000ull, |
325 |
Action_Drop = 0x2000000000ull, |
326 |
Action_Fire1 = 0x4000000000ull, |
327 |
Action_Fire2 = 0x8000000000ull, |
328 |
Action_Fire3 = 0x10000000000ull, |
329 |
}; |
330 |
|
331 |
typedef struct { |
332 |
float MouseDeltaX; |
333 |
float MouseDeltaY; |
334 |
float unknown1; |
335 |
int unknown2; |
336 |
uint64_t ActionsDown; |
337 |
uint64_t ActionsUp; |
338 |
uint64_t ActionsPressed; |
339 |
uint64_t ActionsReleased; |
340 |
} GameInput; |
341 |
|
342 |
typedef struct { |
343 |
int Type; //'CHAR' etc. |
344 |
int ObjectId; //not needed |
345 |
int Flags; //The flags of the object...not used for CHAR |
346 |
Vector3 Position; //Position of Object |
347 |
Vector3 Rotation; //Rotation of Object |
348 |
int EditorCallbacks; //Lets try not to mess with it for now. :P |
349 |
int field_28; //unknown |
350 |
} OSD_Header; |
351 |
|
352 |
typedef struct |
353 |
{ |
354 |
short ID; |
355 |
short flags; |
356 |
|
357 |
short keys; |
358 |
short open_time; |
359 |
|
360 |
float activate_radius_squared; |
361 |
|
362 |
short state; |
363 |
short blocked_frames; |
364 |
|
365 |
short open_time_left; |
366 |
short some_timer; |
367 |
|
368 |
Vector3 center_offset; |
369 |
char name[63]; |
370 |
char pad; |
371 |
void *class; |
372 |
} DoorOSD; |
373 |
|
374 |
typedef struct { |
375 |
OSD_Header OSD; |
376 |
DoorOSD Door; //incomplete |
377 |
} DoorObject; |
378 |
|
379 |
typedef struct { |
380 |
int32_t Flags; |
381 |
int32_t Frame; |
382 |
int32_t field_8; |
383 |
int32_t field_C; |
384 |
int32_t field_10; |
385 |
int32_t field_14; |
386 |
int32_t field_18; |
387 |
int32_t field_1C; |
388 |
int32_t FILMInstance; |
389 |
} PlayingFilm; |
390 |
|
391 |
typedef enum { |
392 |
chr_isplayer = 1 << 0, |
393 |
chr_randomskin = 1 << 1, |
394 |
chr_notprespawned = 1 << 2, |
395 |
chr_noncombatant = 1 << 3, |
396 |
chr_multispawnable = 1 << 4, |
397 |
chr_unkillable = 1 << 5, |
398 |
chr_superammo = 1 << 6, |
399 |
chr_omniscient = 1 << 8, |
400 |
chr_haslsi = 1 << 9, |
401 |
chr_boss = 1 << 10, |
402 |
chr_upgradedifficulty = 1 << 11, |
403 |
chr_noautodrop = 1 << 12, |
404 |
chr_dontaim = 1 << 13, |
405 |
chr_nocollision = 1 << 17, |
406 |
chr_noshadow = 1 << 24, |
407 |
chr_invincible = 1 << 25, |
408 |
chr_bossshield = 1 << 30, |
409 |
chr_weaponimmune = 1 << 31, |
410 |
} chr_flags; |
411 |
|
412 |
|
413 |
typedef struct { |
414 |
uint32_t Options; //A bitset. Someone had better define these |
415 |
char Class[64]; //Name of the ONCC we use. ONCCName in idb |
416 |
char Name[32]; //Name of the character. ie: ai2_spawn Muro |
417 |
char Weapon[64]; //Name of the weapon he holds. ONWCName in idb |
418 |
char ScriptSpawn[32]; //Script function called when char spawns |
419 |
char ScriptDie[32]; //Script function called when char dies |
420 |
char ScriptAware[32]; //Script function called when char detects something |
421 |
char ScriptAlarm[32]; //Script function called when char is alarmed at something |
422 |
char ScriptHurt[32]; //Script function called when char is hurt for the first time |
423 |
char ScriptDefeat[32]; //Script function called when char is at 1 HP |
424 |
char ScriptNoPath[32]; //Script function called when char loses path. Broken. |
425 |
char ScriptNoAmmo[32]; //Script function called when char is out of ammo for the first time. Char must have ammo at spawn. |
426 |
int32_t AdditionalHealth; //Additional Health given to the character |
427 |
int16_t AmmoUsed; //Ammo given for the char to use |
428 |
int16_t AmmoDropped; //Ammo the char drops |
429 |
int16_t CellsUsed; //Cells given for the char to use |
430 |
int16_t CellsDropped; //Cells the char drops |
431 |
int16_t HypoUsed; //Hypo given for the char to use |
432 |
int16_t HypoDropped; //Hypo the char drops |
433 |
int16_t ShieldUsed; //Bullet shield given for the char to use |
434 |
int16_t ShieldDropped; //Bullet shield the char drops |
435 |
int16_t CloakUsed; //Phase Cloak given for the char to use |
436 |
int16_t CloakDropped; //Phase Cloak the char drops |
437 |
int16_t NCIUsed; //Don't use this... |
438 |
int16_t NCIDropped; //Don't use this... |
439 |
int32_t TeamID; //Team ID |
440 |
int32_t AmmoPercent; //Percent of weapon ammo full |
441 |
int32_t JobID; //Job ID... |
442 |
//0 - none |
443 |
//1 - idle |
444 |
//2 - guard (never used in Oni) |
445 |
//3 - patrol |
446 |
//4 - teambattle (never used in Oni) |
447 |
int16_t PatrolID; //patrol path ID (reference to the Patrol_Path.BINA file) |
448 |
int16_t CombatID; //combat ID (reference to the Combat.BINA file) |
449 |
int16_t MeleeID; //melee ID (reference to the Melee Profile.BINA file) |
450 |
int16_t NeutralID; //neutral ID (reference to the Neutral.BINA file) |
451 |
int32_t AlarmGroups; //Bitset. http://wiki.oni2.net/CHAR |
452 |
int32_t InitialAlertLevel; //0 - lull, 1 - low, 2 - medium, 3 - high, 4 - combat |
453 |
int32_t MinimalAlertLevel; //0 - lull, 1 - low, 2 - medium, 3 - high, 4 - combat |
454 |
int32_t StartJobAlertLevel; //0 - lull, 1 - low, 2 - medium, 3 - high, 4 - combat |
455 |
int32_t InvestigatingAlertLevel;//0 - lull, 1 - low, 2 - medium, 3 - high, 4 - combat |
456 |
int32_t PursuitStrongLow; |
457 |
int32_t PursuitWeakLow; |
458 |
int32_t PursuitStrongHigh; |
459 |
int32_t PursuitWeakHigh; |
460 |
int32_t Pursuit5; |
461 |
int32_t field_1FC; |
462 |
} CharacterOSD; |
463 |
|
464 |
typedef struct { |
465 |
OSD_Header Header; |
466 |
CharacterOSD OSD; |
467 |
} CharacterObject; |
468 |
|
469 |
typedef struct { |
470 |
Vector3 Center; |
471 |
float Radius; |
472 |
} BoundingSphere; |
473 |
|
474 |
typedef struct { |
475 |
int32_t ONCP; //probably pointer |
476 |
int32_t field_4; //who knows? |
477 |
int32_t Instance; //probably link to actual particle |
478 |
int32_t Bone; //duh |
479 |
} AttachedParticle; |
480 |
|
481 |
|
482 |
typedef struct |
483 |
{ |
484 |
__int16 Index; |
485 |
__int16 Flags; |
486 |
int Class; |
487 |
int Character; |
488 |
Matrix4x3 Matrix; |
489 |
int PhyContext; |
490 |
int Facing; |
491 |
__int16 FadeTimer; |
492 |
__int16 TimeToFade; |
493 |
int CreationTime; |
494 |
__int16 ShotDelay1; |
495 |
__int16 ShotDelay2; |
496 |
__int16 PauseBeforeReload; |
497 |
__int16 PauseAfterReload; |
498 |
__int16 ActiveFireModeLength; |
499 |
__int16 AmmoCount; |
500 |
__int16 field_58; |
501 |
__int16 FiringDelays[16]; |
502 |
char gap_7a[2]; |
503 |
int ParticleInstances[16]; |
504 |
int field_BC[16]; |
505 |
int field_FC; |
506 |
int DodgeFiringSpreadPtr; |
507 |
int field_104; |
508 |
int field_108; |
509 |
int field_10C; |
510 |
char gap_110[20]; |
511 |
Vector3 Center; |
512 |
int NodeList[16]; |
513 |
} Weapon; |
514 |
|
515 |
typedef struct { //Inventory |
516 |
Weapon* Weapons[3]; |
517 |
int8_t z_forced_holster; |
518 |
int8_t z_forced_holster_is_magic; |
519 |
int16_t AmmoUsed; //Ammo given for the char to use |
520 |
int16_t HypoUsed; //Hypo given for the char to use |
521 |
int16_t CellsUsed; //Cells given for the char to use |
522 |
int16_t AmmoDropped; //Ammo the char drops |
523 |
int16_t HypoDropped; //Hypo the char drops |
524 |
int16_t CellsDropped; //Cells the char drops |
525 |
int16_t hypoRemaining; //who knows? InverseHypoRegenRate? |
526 |
int16_t hypoTimer; |
527 |
int16_t pad; |
528 |
char hasLSI; |
529 |
char field_1B5; |
530 |
int16_t shieldDisplayAmount; |
531 |
int16_t ShieldUsed; //Bullet shield given for the char to use |
532 |
int16_t CloakUsed; //Phase Cloak given for the char to use |
533 |
int32_t numInvisibleFrames; //probably bullet shield dropped |
534 |
int32_t DoorKeys; //Lol. We can use this later for other sorts of items. |
535 |
} Inventory; |
536 |
|
537 |
typedef struct { |
538 |
uint32_t SphereTree; |
539 |
Vector3 ObBox[8]; |
540 |
Vector3 * ObBowPtr; |
541 |
Vector3 Velocity; |
542 |
Quaternion field_74; |
543 |
Vector3 Position; |
544 |
Quaternion Rotation; |
545 |
float Scale; |
546 |
Matrix4x3 Matrix; |
547 |
Matrix4x3 InitMatrix; |
548 |
float field_104; |
549 |
float Gravity; |
550 |
float field_10C; |
551 |
float field_110; |
552 |
float Friction_1; |
553 |
float Friction_2; |
554 |
Vector3 Force; |
555 |
uint32_t Flags; |
556 |
uint32_t Type; |
557 |
char AnimState[0x18]; |
558 |
void* Callbacks; |
559 |
void* Owner; |
560 |
} PhyContext; |
561 |
typedef struct |
562 |
{ |
563 |
int field_0; |
564 |
int NumContacts; |
565 |
int FirstContact; |
566 |
int NotifyKnowledgeCallback; |
567 |
} AI2KnowledgeState; |
568 |
|
569 |
typedef struct |
570 |
{ |
571 |
char Name[128]; |
572 |
__int16 ImpactId; |
573 |
} ONCCImpact; |
574 |
|
575 |
typedef struct |
576 |
{ |
577 |
int RecoilCompensation; |
578 |
int BestAimingAngle; |
579 |
int ShotGroupError; |
580 |
int ShotGroupDecay; |
581 |
int ShotingInaccuracyMultiplier; |
582 |
__int16 MinDelayBetweenShots; |
583 |
__int16 MaxDelayBetweenShots; |
584 |
} ONCCWeaponSkill; |
585 |
|
586 |
typedef struct |
587 |
{ |
588 |
__int16 field_0; |
589 |
__int16 field_2; |
590 |
__int16 field_4; |
591 |
__int16 field_6; |
592 |
__int16 field_8; |
593 |
__int16 field_A; |
594 |
__int16 field_C; |
595 |
__int16 field_E; |
596 |
__int16 field_10; |
597 |
__int16 field_12; |
598 |
__int16 field_14; |
599 |
char Loaded; |
600 |
char field_17; |
601 |
int field_18; |
602 |
char HurtLightSoundName[32]; |
603 |
char HurtMediumSoundName[32]; |
604 |
char HurtHeavySoundName[32]; |
605 |
char DeathSoundName[32]; |
606 |
int HurtLightSoundPtr; |
607 |
int HurtMediumSoundPtr; |
608 |
int HurtHeavySoundPtr; |
609 |
int DeathSoundPtr; |
610 |
}HurtParams; |
611 |
|
612 |
|
613 |
typedef struct |
614 |
{ |
615 |
int field_0; |
616 |
int Gravity; |
617 |
float JumpStartVelocity; |
618 |
float MaxFallingVelocity; |
619 |
float JumpAcceleration; |
620 |
__int16 field_14; |
621 |
__int16 JetpackTimer; |
622 |
float MaxFallingHeightWithoutDamage; |
623 |
float MaxFallingHeightWithDamage; |
624 |
int ShadowTexture; |
625 |
float ShadowMaxHeight; |
626 |
float ShadowFadeHeight; |
627 |
float ShadowSize1; |
628 |
float ShadowSize2; |
629 |
float ShadowSize3; |
630 |
__int16 field_38; |
631 |
__int16 field_3A; |
632 |
int field_3C; |
633 |
char field_40; |
634 |
char field_41; |
635 |
__int16 field_42; |
636 |
int field_44; |
637 |
int field_48; |
638 |
int field_4C; |
639 |
int field_50; |
640 |
int field_54; |
641 |
int field_58; |
642 |
__int16 InverseHypoRegenerationRate; |
643 |
__int16 field_5E; |
644 |
int field_60; |
645 |
int field_64; |
646 |
int field_68; |
647 |
int field_6C; |
648 |
int field_70; |
649 |
HurtParams HurtParams; |
650 |
int AIOptions; |
651 |
int AIRotationSpeed; |
652 |
__int16 MinimalDazeTime; |
653 |
__int16 MaximalDazeTime; |
654 |
__int16 MinimalRealiseFiringSpreadTime; |
655 |
__int16 MaximalRealiseFiringSpreadTime; |
656 |
int MinimalFiringSpreadDodge; |
657 |
int MaximalFiringSpreadDodge; |
658 |
int field_138; |
659 |
int field_13C; |
660 |
int field_140; |
661 |
int field_144; |
662 |
int field_148; |
663 |
int field_14C; |
664 |
int field_150; |
665 |
ONCCWeaponSkill WeaponSkills[13]; |
666 |
int field_28C; |
667 |
int field_290; |
668 |
int field_294; |
669 |
int TauntChance; |
670 |
int GoForGunChance; |
671 |
int RunPickupChance; |
672 |
__int16 CombatId; |
673 |
__int16 MeleeId; |
674 |
char SoundProbabilities[10]; |
675 |
char gap_2b2[2]; |
676 |
char TauntSound[32]; |
677 |
char AlertSound[32]; |
678 |
char StartleSound[32]; |
679 |
char CheckBodySound[32]; |
680 |
char PursueSound[32]; |
681 |
char CoverSound[32]; |
682 |
char SuperpunchSound[32]; |
683 |
char SuperKickSound[32]; |
684 |
char Super3Sound[32]; |
685 |
char Super4Sound[32]; |
686 |
int CentralVisionRange; |
687 |
int PeripheralVisionRange; |
688 |
int HFov; |
689 |
int CentralVisionCurve; |
690 |
int CentralVFOV; |
691 |
int PeripheralVisionCurve; |
692 |
int PeripheralVFOV; |
693 |
int HostileThreatDefiniteTimer; |
694 |
int HostileThreatStrongTimer; |
695 |
int HostileThreatWeakTimer; |
696 |
int FriendlyThreadDefiniteTimer; |
697 |
int FriendlyThreatStrongTimer; |
698 |
int FriendlyThreatWeakTimer; |
699 |
int EarshotRadius; |
700 |
int ONCV; |
701 |
int ONCP; |
702 |
int ONIA; |
703 |
char ImpactsLoaded; |
704 |
char gap_439[1]; |
705 |
__int16 ImpactModifier; |
706 |
char ImpactModifierName[16]; |
707 |
ONCCImpact Impacts[15]; |
708 |
char gap_bea[2]; |
709 |
char DeathParticleName[64]; |
710 |
int DeathParticlePtr; |
711 |
int BodySurfaceCache; |
712 |
int TRBS; |
713 |
int TRMA; |
714 |
int CBPM; |
715 |
int CBPI; |
716 |
int PeaceTimer; |
717 |
int IdleTimer1; |
718 |
int IdleTimer2; |
719 |
int BaseHealth; |
720 |
int field_C54; |
721 |
int MinBodySizeFactor; |
722 |
int MaxBodySizeFactor; |
723 |
int field_C60[7]; |
724 |
int field_C7C; |
725 |
int TRAC; |
726 |
int TRSC; |
727 |
char gap_c88[2]; |
728 |
__int16 DeathDeleteTimer; |
729 |
char WeaponHand; |
730 |
char HasDaodanPowers; |
731 |
char HasSuperShield; |
732 |
char CantTouchThis; |
733 |
} ONCC; |
734 |
|
735 |
|
736 |
/* 398 */ typedef struct |
737 |
{ |
738 |
char Number; |
739 |
char gap_1[1]; |
740 |
__int16 ActiveCharacterIndex; |
741 |
int Flags; |
742 |
int field_8; |
743 |
ONCC* ONCC; |
744 |
__int16 ONCCnumber; |
745 |
__int16 Team; |
746 |
char Name[32]; |
747 |
int BodySize; |
748 |
int Health; |
749 |
int MaxHealth; |
750 |
__int16 AISA_ID; |
751 |
char gap_42[2]; |
752 |
int field_44; |
753 |
char ScriptNew[32]; |
754 |
char ScriptDie[32]; |
755 |
char ScriptSeen[32]; |
756 |
char ScriptAlarm[32]; |
757 |
char ScriptHurt[32]; |
758 |
char ScriptDefeat[32]; |
759 |
char ScriptLowAmmo[32]; |
760 |
//char ScriptNoPath[32]; |
761 |
char ScriptNoPath[28]; |
762 |
int RegenHax; |
763 |
Vector3 Position; |
764 |
Vector3 LastPosition; |
765 |
Vector3 Location; |
766 |
float Facing; |
767 |
float DesiredFacing; |
768 |
float CosmeticFacing; |
769 |
int field_178; |
770 |
int field_17C; |
771 |
int field_180; |
772 |
int BNV; |
773 |
int GraphNode; |
774 |
float PelvisHeight; |
775 |
int field_190; |
776 |
Inventory Inventory; |
777 |
Vector3 Velocity; |
778 |
int field_1D0; |
779 |
int field_1D4; |
780 |
int field_1D8; |
781 |
int field_1DC; |
782 |
int field_1E0; |
783 |
int IdleDelay; |
784 |
int charType; |
785 |
char gap_1ec[4]; |
786 |
int CombatFlags; |
787 |
int JobId; |
788 |
int Goal; |
789 |
int field_1FC; |
790 |
__int16 field_200; |
791 |
char gap_202[6]; |
792 |
int field_208; |
793 |
char gap_20c[588]; |
794 |
char field_458; |
795 |
char gap_459[352]; |
796 |
char field_5B9; |
797 |
char gap_5ba[14]; |
798 |
char field_5C8; |
799 |
char gap_5c9[359]; |
800 |
int field_730; |
801 |
int field_734; |
802 |
int field_738; |
803 |
char gap_73c[380]; |
804 |
char CombatState; |
805 |
char gap_8b9[7]; |
806 |
PatrolPathOSD PatrolPathOSD_; |
807 |
PatrolPathPoint PatrolPathPoints[64]; |
808 |
char gap_de8[392]; |
809 |
int Combat_StatePtr; |
810 |
AI2KnowledgeState KnowledgeState_; |
811 |
char gap_f84[4]; |
812 |
int AlertDecayTimer; |
813 |
int field_F8C; |
814 |
int field_F90; |
815 |
int AlertLevel; |
816 |
int MinimalAlertLevel; |
817 |
int StartJobAlertLevel; |
818 |
int InvestigatingAlertLevel; |
819 |
int StartleTime; |
820 |
int field_FA8; |
821 |
int field_FAC; |
822 |
int field_FB0; |
823 |
int Pursue1; |
824 |
int Pursue2; |
825 |
int Pursue3; |
826 |
int Pursue4; |
827 |
int Pursue5; |
828 |
char field_FC8; |
829 |
char gap_fc9[3]; |
830 |
int field_FCC; |
831 |
char gap_fd0[8]; |
832 |
int AlarmGroups; |
833 |
int field_FDC; |
834 |
int field_FE0; |
835 |
int field_FE4; |
836 |
int field_FE8; |
837 |
int field_FEC; |
838 |
int field_FF0; |
839 |
int field_FF4; |
840 |
int field_FF8; |
841 |
int field_FFC; |
842 |
int field_1000; |
843 |
int field_1004; |
844 |
int field_1008; |
845 |
__int16 field_100C; |
846 |
__int16 field_100E; |
847 |
int field_1010; |
848 |
int field_1014; |
849 |
int field_1018; |
850 |
char field_101C; |
851 |
char gap_101d[3]; |
852 |
int DazeTimer; |
853 |
__int16 field_1024; |
854 |
__int16 field_1026; |
855 |
__int16 field_1028; |
856 |
__int16 field_102A; |
857 |
int field_102C; |
858 |
int field_1030; |
859 |
int field_1034; |
860 |
char gap_1038[20]; |
861 |
int field_104C; |
862 |
int field_1050; |
863 |
int field_1054; |
864 |
int field_1058; |
865 |
int field_105C; |
866 |
int field_1060; |
867 |
int field_1064; |
868 |
int MeleePtr; |
869 |
int field_106C; |
870 |
__int16 field_1070; |
871 |
char gap_1072[126]; |
872 |
int Path_DestinationType; |
873 |
int Path_TypeSpecificInfo; |
874 |
char Path_MovementState; |
875 |
char gap_10f9[3]; |
876 |
int Path_OrientTo; |
877 |
Vector3 Path_DestinationPoint; |
878 |
int field_110C; |
879 |
int field_1110; |
880 |
Vector3 field_1114; |
881 |
Vector3 field_1120; |
882 |
char Path_State; |
883 |
char field_112D; |
884 |
char field_112E; |
885 |
char gap_112f[1]; |
886 |
Vector3 field_1130; |
887 |
int field_113C; |
888 |
int field_1140; |
889 |
int field_1144; |
890 |
char field_1148; |
891 |
char gap_1149[3]; |
892 |
int Path_CurrentNodeNumber; |
893 |
int Path_NumNodes; |
894 |
Vector3 Path_From; |
895 |
Vector3 Path_To; |
896 |
int Path_GraphFromNodePtr; |
897 |
int Path_GraphToNodePtr; |
898 |
int field_1174; |
899 |
char gap_1178[12]; |
900 |
int field_1184; |
901 |
char gap_1188[776]; |
902 |
int Path_LastError; |
903 |
int Path_RepathDelay; |
904 |
int Path_Repaths; |
905 |
int Path_RepathDecayTimer; |
906 |
int field_14A0; |
907 |
int MovementMode; |
908 |
char field_14A8; |
909 |
char gap_14a9[3]; |
910 |
int field_14AC; |
911 |
int MovementModifiers; |
912 |
int field_14B4; |
913 |
char gap_14b8[188]; |
914 |
int field_1574; |
915 |
int FacingState; |
916 |
int FacingAt_Destination; |
917 |
char field_1580; |
918 |
char field_1581; |
919 |
char gap_1582[2]; |
920 |
int Aiming_At_Type; |
921 |
Vector3 Aiming_At; |
922 |
int field_1594; |
923 |
int field_1598; |
924 |
int field_159C; |
925 |
int GlancingState; |
926 |
Vector3 GlancingDirOrPos; |
927 |
char field_15B0; |
928 |
char gap_15b1[3]; |
929 |
int field_15B4; |
930 |
int field_15B8; |
931 |
int field_15BC; |
932 |
int field_15C0; |
933 |
int field_15C4; |
934 |
int field_15C8; |
935 |
int field_15CC; |
936 |
int field_15D0; |
937 |
int field_15D4; |
938 |
int field_15D8; |
939 |
int field_15DC; |
940 |
int field_15E0; |
941 |
int field_15E4; |
942 |
int field_15E8; |
943 |
int AIBlockFunction; |
944 |
char field_15F0; |
945 |
char field_15F1; |
946 |
char field_15F2; |
947 |
char gap_15f3[1]; |
948 |
int field_15F4; |
949 |
int field_15F8; |
950 |
int field_15FC; |
951 |
int field_1600; |
952 |
char gap_1604[4]; |
953 |
int field_1608; |
954 |
int field_160C; |
955 |
char gap_1610[4]; |
956 |
int field_1614; |
957 |
char gap_1618[20]; |
958 |
int field_162C; |
959 |
int field_1630; |
960 |
int field_1634; |
961 |
int field_1638; |
962 |
int field_163C; |
963 |
int field_1640; |
964 |
__int16 field_1644; |
965 |
char gap_1646[2]; |
966 |
BoundingBox BoundingBox_; |
967 |
char gap_1660[4]; |
968 |
int BossShieldPower; |
969 |
int field_1668; |
970 |
char gap_166c[4]; |
971 |
uint32_t Kills; |
972 |
uint32_t Damage; |
973 |
int field_1678; |
974 |
int field_167C; |
975 |
int CurrentConsoleActionMarker; |
976 |
int field_1684; |
977 |
__int16 field_1688; |
978 |
__int16 field_168A; |
979 |
int field_168C; |
980 |
int field_1690; |
981 |
char field_1694; |
982 |
char field_1695; |
983 |
__int16 field_1696; |
984 |
int field_1698; |
985 |
int field_169C; |
986 |
} Character; |
987 |
|
988 |
typedef struct |
989 |
{ |
990 |
int Nodes; |
991 |
int NodeCount; |
992 |
int field_8; |
993 |
int TraverseQueueHead; |
994 |
int field_10; |
995 |
int CacheLrar; |
996 |
int CacheMem; |
997 |
int field_1C; |
998 |
int field_20; |
999 |
int field_24; |
1000 |
}PHGraph |
1001 |
; |
1002 |
|
1003 |
/* 388 */ typedef struct //activecharacter |
1004 |
{ |
1005 |
__int16 Number; |
1006 |
__int16 field_2; |
1007 |
PhyContext* PhyContext; |
1008 |
SphereTreeNode SphereTree; |
1009 |
SphereTreeNode SphereTree3[4]; |
1010 |
SphereTreeNode SphereTree2[2]; |
1011 |
__int16 field_B0; |
1012 |
__int16 field_B2; |
1013 |
__int16 field_B4; |
1014 |
char field_B6; |
1015 |
char gap_b7[1]; |
1016 |
Vector3 field_B8; |
1017 |
Vector3 AccelerateWith; |
1018 |
int field_D0; |
1019 |
Vector3 field_D4; |
1020 |
__int16 field_E0; |
1021 |
char gap_e2[2]; |
1022 |
int field_E4; |
1023 |
int field_E8; |
1024 |
int field_EC; |
1025 |
int field_F0; |
1026 |
__int16 field_F4; |
1027 |
__int16 IsInAir; |
1028 |
Vector3 FallingVelocity; |
1029 |
Vector3 JumpVelocity; |
1030 |
char field_110; |
1031 |
char field_111; |
1032 |
__int16 field_112; |
1033 |
__int16 field_114; |
1034 |
char gap_116[2]; |
1035 |
int field_118; |
1036 |
int field_11C; |
1037 |
int field_120; |
1038 |
int field_124; |
1039 |
int field_128; |
1040 |
int field_12C; |
1041 |
BoundingSphere BoundingSphere; |
1042 |
Vector3 field_140; |
1043 |
Vector3 field_14C; |
1044 |
int field_158; |
1045 |
int field_15C; |
1046 |
Vector3 Location; |
1047 |
char gap_16c[24]; |
1048 |
int AkiraNode; |
1049 |
int GraphNode; |
1050 |
int PelvisHeight; |
1051 |
int Movement_StatePtr; |
1052 |
int ActiveWeapon; |
1053 |
int field_198; |
1054 |
int InventoryWeapon; |
1055 |
char gap_1a0[2]; |
1056 |
__int16 RedAmmoClipCount; |
1057 |
__int16 HypoCount; |
1058 |
__int16 GreenAmmoClipCount; |
1059 |
__int16 RedAmmoClipDropCount; |
1060 |
__int16 HypoDropCount; |
1061 |
__int16 GreenAmmoClipDropCount; |
1062 |
__int16 field_1AE; |
1063 |
__int16 InverseHypoRegenerationRate; |
1064 |
char DropShield; |
1065 |
char DropPhaseCloack; |
1066 |
char field_1B4; |
1067 |
char gap_1b5[1]; |
1068 |
__int16 field_1B6; |
1069 |
__int16 Shield; |
1070 |
__int16 PhaseCloacking; |
1071 |
int field_1BC; |
1072 |
char gap_1c0[4]; |
1073 |
__int16 field_1C4; |
1074 |
char gap_1c6[10]; |
1075 |
int field_1D0; |
1076 |
int field_1D4; |
1077 |
char gap_1d8[4]; |
1078 |
int field_1DC; |
1079 |
int NotIdleStartTime; |
1080 |
int TimeToIdle; |
1081 |
int field_1E8; |
1082 |
char gap_1ec[4]; |
1083 |
int field_1F0; |
1084 |
char gap_1f4[2048]; |
1085 |
int field_9F4; |
1086 |
char gap_9f8[36]; |
1087 |
int field_A1C; |
1088 |
char gap_a20[3020]; |
1089 |
int field_15EC; |
1090 |
char gap_15f0[60]; |
1091 |
int field_162C; |
1092 |
int field_1630; |
1093 |
int field_1634; |
1094 |
int field_1638; |
1095 |
int field_163C; |
1096 |
char gap_1640[8]; |
1097 |
BoundingBox BoundingBox; |
1098 |
int field_1660; |
1099 |
char gap_1664[4]; |
1100 |
int ShieldPower; |
1101 |
char gap_166c[4]; |
1102 |
int NumberOfKills; |
1103 |
int InflictedDamage; |
1104 |
int field_1678; |
1105 |
int field_167C; |
1106 |
char gap_1680[8]; |
1107 |
__int16 field_1688; |
1108 |
__int16 field_168A; |
1109 |
int field_168C; |
1110 |
int field_1690; |
1111 |
char field_1694; |
1112 |
char field_1695; |
1113 |
__int16 field_1696; |
1114 |
int field_1698; |
1115 |
int field_169C; |
1116 |
char gap_16a0[2]; |
1117 |
int field_16A2; |
1118 |
char gap_16a6[994]; |
1119 |
char field_1A88; |
1120 |
char field_1A89; |
1121 |
char field_1A8A; |
1122 |
char field_1A8B; |
1123 |
Vector3 Executor_AimingDirection; |
1124 |
int field_1A98; |
1125 |
int field_1A9C; |
1126 |
int Executor_ActualMovementMode; |
1127 |
int field_1AA4; |
1128 |
int field_1AA8; |
1129 |
int field_1AAC; |
1130 |
char Executor_HasFacingOverride; |
1131 |
char gap_1ab1[3]; |
1132 |
int Executor_AimingSpeed; |
1133 |
char field_1AB8; |
1134 |
char Executor_HasMoveOverride; |
1135 |
char gap_1aba[6]; |
1136 |
int field_1AC0; |
1137 |
int field_1AC4; |
1138 |
int Executor_FacingOverride; |
1139 |
char Executor_HasAttackOverride; |
1140 |
char gap_1acd[1]; |
1141 |
__int16 field_1ACE; |
1142 |
__int16 field_1AD0; |
1143 |
char gap_1ad2[6]; |
1144 |
int field_1AD8; |
1145 |
int field_1ADC; |
1146 |
int field_1AE0; |
1147 |
int field_1AE4; |
1148 |
char Executor_HasThrowOverride; |
1149 |
char gap_1ae9[3]; |
1150 |
int field_1AEC; |
1151 |
int field_1AF0; |
1152 |
int field_1AF4; |
1153 |
void* Animation; |
1154 |
__int16 AnimationToState; |
1155 |
__int16 AnimationFromState; |
1156 |
__int16 AnimationType; |
1157 |
__int16 NextAnimationType; |
1158 |
__int16 PrevAnimationType; |
1159 |
__int16 field_1B06; |
1160 |
char Stitch; |
1161 |
char gap_1b09[3]; |
1162 |
int StitchHeight; |
1163 |
__int16 InterpolationFromState; |
1164 |
char gap_1b12[2]; |
1165 |
Vector3 StitchVelocity; |
1166 |
__int16 InterpolationCurrentFrame; |
1167 |
__int16 InterpolationLength; |
1168 |
Quaternion InterpolationStartRotations[19]; |
1169 |
char gap_1c54[4]; |
1170 |
int field_1C58; |
1171 |
int field_1C5C; |
1172 |
int field_1C60; |
1173 |
int Overlay; |
1174 |
__int16 field_1C68; |
1175 |
__int16 field_1C6A; |
1176 |
int field_1C6C; |
1177 |
int field_1C70; |
1178 |
__int16 field_1C74; |
1179 |
char gap_1c76[2]; |
1180 |
int field_1C78; |
1181 |
char gap_1c7c[12]; |
1182 |
__int16 Frame; |
1183 |
__int16 SoftPause; |
1184 |
__int16 HardPause; |
1185 |
__int16 field_1C8E; |
1186 |
int ForcedAnimationFrames; |
1187 |
__int16 HitStun; |
1188 |
__int16 BlockStun; |
1189 |
__int16 Dizzy; |
1190 |
__int16 field_1C9A; |
1191 |
int field_1C9C; |
1192 |
__int16 AnimationVariant; |
1193 |
__int16 TimeToPeace; |
1194 |
char NumAnimationAttachedParticles; |
1195 |
char gap_1ca5[1]; |
1196 |
__int16 field_1CA6; |
1197 |
AttachedParticle AnimationAttachedParticles[16]; |
1198 |
int TRAMParticles; |
1199 |
char FixedParticlesAttached; |
1200 |
char FixedParticlesStarted; |
1201 |
__int16 NumFixedParticles; |
1202 |
AttachedParticle FixedParticles[16]; |
1203 |
__int16 CurrentAnimationType; |
1204 |
char gap_1eb2[2]; |
1205 |
int field_1EB4; |
1206 |
char field_1EB8; |
1207 |
char gap_1eb9[30]; |
1208 |
char field_1ED7; |
1209 |
__int16 throwing; |
1210 |
__int16 thrownBy; |
1211 |
Character* ThrowTargetCharacter; |
1212 |
void* targetThrow; //animation |
1213 |
int field_1EE4; |
1214 |
int field_1EE8; |
1215 |
int field_1EEC; |
1216 |
Quaternion Rotations[19]; |
1217 |
Quaternion OverlayRotations[19]; |
1218 |
int field_2150; |
1219 |
char gap_2154[4]; |
1220 |
GameInput Input; |
1221 |
int PrevActions1; |
1222 |
int PrevActions2; |
1223 |
int SprintTimer; |
1224 |
char field_2194; |
1225 |
char field_2195; |
1226 |
char gap_2196[2]; |
1227 |
Vector3 AimTarget; |
1228 |
Vector3 AimVector; |
1229 |
Vector3 CamVector; |
1230 |
float HeadFacing; |
1231 |
float HeadPitch; |
1232 |
int field_21C4; |
1233 |
int field_21C8; |
1234 |
int field_21CC; |
1235 |
int field_21D0; |
1236 |
char field_21D4; |
1237 |
char gap_21d5[3]; |
1238 |
int field_21D8; |
1239 |
char field_21DC; |
1240 |
char field_21DD; |
1241 |
char field_21DE; |
1242 |
char field_21DF; |
1243 |
char field_21E0; |
1244 |
char HasAlternateTrigger; |
1245 |
char field_21E2; |
1246 |
char ReleaseTrigger; |
1247 |
char ReleaseAlternateTrigger; |
1248 |
char TurningLeft; |
1249 |
char TurningRight; |
1250 |
char gap_21e7[1]; |
1251 |
int field_21E8; |
1252 |
int field_21EC; |
1253 |
__int16 field_21F0; |
1254 |
char gap_21f2[2]; |
1255 |
PlayingFilm PlayingFilm; |
1256 |
char gap_2218[4]; |
1257 |
int field_221C; |
1258 |
char gap_2220[8]; |
1259 |
Matrix4x3 * ExtraBody; |
1260 |
char gap_222c[76]; |
1261 |
Matrix4x3 BoneMatrices[19]; |
1262 |
Matrix4x3 WeaponMatrix; |
1263 |
char gap_2638[432]; |
1264 |
int field_27E8; |
1265 |
char gap_27ec[4]; |
1266 |
__int16 field_27F0; |
1267 |
__int16 field_27F2; |
1268 |
int field_27F4; |
1269 |
int field_27F8; |
1270 |
__int16 ShadowIndex; |
1271 |
char field_27FE; |
1272 |
char gap_27ff[1]; |
1273 |
char field_2800; |
1274 |
char field_2801; |
1275 |
char ShieldParts[19]; |
1276 |
char field_2815; |
1277 |
char gap_2816[2]; |
1278 |
int field_2818; |
1279 |
__int16 field_281C; |
1280 |
char gap_281e[2]; |
1281 |
int field_2820; |
1282 |
int field_2824; |
1283 |
int field_2828; |
1284 |
int field_282C; |
1285 |
__int16 field_2830; |
1286 |
__int16 field_2832; |
1287 |
char gap_2834[1]; |
1288 |
char field_2835; |
1289 |
char field_2836; |
1290 |
char field_2837; |
1291 |
} ActiveCharacter; |
1292 |
|
1293 |
typedef struct |
1294 |
{ |
1295 |
char name[64]; // Must be same as ONcMaxLevelName above (for TE) |
1296 |
|
1297 |
void *env; |
1298 |
void *objectsetup; |
1299 |
void *markers; |
1300 |
void *flags; |
1301 |
void *triggers; |
1302 |
|
1303 |
void *Sky; |
1304 |
float SkyHeight; |
1305 |
|
1306 |
|
1307 |
} OniLevel; |
1308 |
|
1309 |
typedef struct |
1310 |
{ |
1311 |
int TimerMode; |
1312 |
char TimerName[32]; |
1313 |
int TimerDuration; |
1314 |
char field_28; |
1315 |
char gap_29[3]; |
1316 |
int field_2C; |
1317 |
Letterbox Letterbox; |
1318 |
char gap_3a[2]; |
1319 |
char field_3C; |
1320 |
char gap_3d[3]; |
1321 |
int field_40; |
1322 |
int CutsceneSyncMark; |
1323 |
char field_48; |
1324 |
char gap_49[3]; |
1325 |
int field_4C; |
1326 |
int field_50; |
1327 |
int field_54; |
1328 |
int field_58; |
1329 |
int field_5C; |
1330 |
int field_60; |
1331 |
int field_64; |
1332 |
int field_68; |
1333 |
int field_6C; |
1334 |
int field_70; |
1335 |
int FadeStartTime; |
1336 |
int FadeEndTime; |
1337 |
char field_7C; |
1338 |
char gap_7d[3]; |
1339 |
int Camera; |
1340 |
PHGraph PathFindingGraph; |
1341 |
Character* PlayerCharacter; |
1342 |
int field_B0; |
1343 |
char gap_b4[4]; |
1344 |
GameInput Input; |
1345 |
int field_E8; |
1346 |
int field_EC; |
1347 |
char ScreenShotEveryFrame; |
1348 |
char gap_f1[7]; |
1349 |
char field_F8; |
1350 |
char field_F9; |
1351 |
char field_FA; |
1352 |
char gap_fb[1]; |
1353 |
int field_FC; |
1354 |
int field_100; |
1355 |
char field_104; |
1356 |
char gap_105[3]; |
1357 |
int SlowMotion; |
1358 |
char gap_10c[4]; |
1359 |
int field_110; |
1360 |
int field_114; |
1361 |
char SplashScreenTextureName[32]; |
1362 |
char field_138; |
1363 |
char gap_139[7]; |
1364 |
int field_140; |
1365 |
int GameTime; |
1366 |
int field_148; |
1367 |
int field_14C; |
1368 |
OniLevel* Level; |
1369 |
int field_154; |
1370 |
MotionBlur MotionBlur_[64]; |
1371 |
int MotionBlurCount; |
1372 |
__int16 field_125C; |
1373 |
__int16 field_125E; |
1374 |
Character CharacterStorage[128]; |
1375 |
__int16 CharacterCount; |
1376 |
char gap_b6262[2]; |
1377 |
int field_B6264; |
1378 |
ActiveCharacter ActiveCharacters[64]; |
1379 |
__int16 ActiveCharacterCount; |
1380 |
Shadow Shadows[32]; |
1381 |
__int16 field_1670EA; |
1382 |
int ShadowCount; |
1383 |
int ActiveCharacterList[128]; |
1384 |
int ActiveCharacterListCount; |
1385 |
int ActiveCharacterListLock; |
1386 |
int LivingCharacterList[128]; |
1387 |
int LivingCharacterListCount; |
1388 |
int LivingCharacterListLock; |
1389 |
Character* PresentCharacterList[128]; |
1390 |
int PresentCharacterListCount; |
1391 |
int PresentCharacterListLock; |
1392 |
int ObjectList; |
1393 |
DoorArray DoorArray_; |
1394 |
Sky Sky_; |
1395 |
int field_1679A4; |
1396 |
int Triggers; |
1397 |
char IsGamePaused; |
1398 |
char IsInputEnabled; |
1399 |
char field_1679AE; |
1400 |
char gap_1679af[1]; |
1401 |
int LastInputActions1; |
1402 |
int LastInputActions2; |
1403 |
int field_1679B8; |
1404 |
int WinLose; |
1405 |
int field_1679C0; |
1406 |
int field_1679C4; |
1407 |
int field_1679C8; |
1408 |
int field_1679CC; |
1409 |
int field_1679D0; |
1410 |
int field_1679D4; |
1411 |
__int16 field_1679D8; |
1412 |
char gap_1679da[2]; |
1413 |
int field_1679DC; |
1414 |
} GameState; |
1415 |
|
1416 |
|
1417 |
typedef struct |
1418 |
{ |
1419 |
int priority; |
1420 |
int timer; // amount of time to display the text |
1421 |
char prefix[10]; // prefix for the line |
1422 |
char text[502]; // text on the line |
1423 |
const char *identifier; |
1424 |
int text_color; |
1425 |
int text_shadow; |
1426 |
} COtTextEntry; |
1427 |
|
1428 |
typedef struct |
1429 |
{ |
1430 |
void *font_family; |
1431 |
void *text_context; // text context to do the drawing |
1432 |
short formatting; |
1433 |
short font_size; |
1434 |
char scale_font; |
1435 |
char bottom_justify; |
1436 |
char display_completion; |
1437 |
char fade_over_bounds; |
1438 |
char use_formatting_commands; |
1439 |
|
1440 |
short bounds[4]; |
1441 |
short num_text_entries; |
1442 |
short max_text_entries; |
1443 |
char pad[3]; |
1444 |
COtTextEntry *text_entries; // an array (num_text_entries long) of COtTextEntry |
1445 |
int blah; |
1446 |
int blah2; |
1447 |
int blah3; |
1448 |
} COtTextArea; |
1449 |
|
1450 |
#endif |
1451 |
|