210 |
|
int16_t field_1B6; |
211 |
|
int16_t ShieldUsed; //Bullet shield given for the char to use |
212 |
|
int16_t CloakUsed; //Phase Cloak given for the char to use |
213 |
< |
int16_t field_28; //probably bullet shield dropped |
214 |
< |
int16_t DoorKeys; //Lol. We can use this later for other sorts of items. |
213 |
> |
int32_t field_28; //probably bullet shield dropped |
214 |
> |
int32_t DoorKeys; //Lol. We can use this later for other sorts of items. |
215 |
|
} Inventory; |
216 |
|
|
217 |
|
typedef struct { //ActiveCharacter |
431 |
|
int32_t field_2818[8]; |
432 |
|
} ActiveCharacter; |
433 |
|
|
434 |
< |
|
434 |
> |
//This struct is good. |
435 |
|
typedef struct { //Character |
436 |
< |
int16_t Number; |
436 |
> |
char Number; |
437 |
> |
char field_2; |
438 |
|
int16_t ActiveCharacterIndex; |
439 |
|
int32_t Flags; |
440 |
< |
int16_t field_8; |
440 |
> |
int32_t field_8; |
441 |
|
int32_t ONCC; //change type to ONCC when we get that far... |
442 |
< |
int32_t field_10; |
442 |
> |
int16_t field_10; |
443 |
|
int16_t Team; |
444 |
|
char Name[32]; |
445 |
|
float BodySize; |
471 |
|
Inventory Inventory_; //is there a better way to do this? |
472 |
|
Vector3 Velocity; |
473 |
|
int32_t field_1D0; |
474 |
< |
int32_t field_1D4; |
474 |
> |
int32_t Recoil; |
475 |
|
int32_t field_1D8; |
476 |
|
int32_t field_1DC; |
477 |
< |
int32_t field_1E0; |
477 |
> |
int32_t LastNotIdleGameTime; |
478 |
|
int32_t IdleDelay; |
479 |
< |
int32_t field_1E8; |
480 |
< |
int32_t field_1EzC; |
479 |
> |
int32_t Type; |
480 |
> |
int32_t field_1EC; |
481 |
|
int32_t CombatFlags; |
482 |
|
int32_t JobId; |
483 |
|
int32_t Goal; |
484 |
|
int32_t field_1FC; |
485 |
|
int32_t field_200; |
486 |
|
int32_t field_204; |
487 |
< |
int32_t field_208[107]; //its all undocumented through here |
487 |
> |
int32_t field_208[428]; //208-8B8 |
488 |
|
int32_t CombatState; //I think.... |
489 |
< |
int32_t field_8BB; |
489 |
> |
int32_t field_8BC; |
490 |
|
int32_t PatrolPathOSD[10]; //actually another struct. Not needed atm. |
491 |
|
int32_t PatrolPathPoints[5][64]; //64 of another struct |
492 |
|
int32_t field_DE8[98]; //DE8-F70 |
509 |
|
int32_t PursuitStrongHigh; |
510 |
|
int32_t PursuitWeakHigh; |
511 |
|
int32_t Pursuit5; |
512 |
< |
int32_t field_FC8[16]; |
512 |
> |
int32_t field_FC8[4]; |
513 |
|
int32_t AlarmGroups; //a bitset |
514 |
< |
int32_t field_FDC[16]; //FDC-F68 |
514 |
< |
int32_t field_F68; |
514 |
> |
int32_t field_FDC[17]; //FDC-1020 |
515 |
|
int32_t DazeTimer; |
516 |
< |
int32_t field_1024[16]; //1024-1064 |
516 |
> |
int32_t field_1024[17]; //1024-1068 |
517 |
|
int32_t MeleePtr; //probably MELE. Looks somewhat important. |
518 |
|
int32_t field_106C[270]; //106C-14A4 skipping lots of junk and a little pathfinding stuff that we might want later. |
519 |
+ |
int32_t MovementMode; |
520 |
+ |
int32_t field_14A8; |
521 |
+ |
int32_t field_14AC; |
522 |
|
int32_t MovementModifiers; //hopefully sprinting, pistol, rifle, etc. |
523 |
|
int32_t field_14B4[101]; //14B4-1648 Glossing over a few other things we don't need having to do with AI direction. |
524 |
+ |
BoundingBox BoundingBox_; |
525 |
+ |
int32_t field_1660; |
526 |
|
int32_t BossShieldPower; //a multiplier? or just a flag? who knows |
527 |
|
int32_t field_1668[6]; |
528 |
|
int32_t CurrentConsoleActionMarker; //not sure. |
529 |
< |
int32_t field_1684[7]; // done. hopefully i didnt screw this up somewhere. |
529 |
> |
int32_t field_1684[7]; |
530 |
|
} Character; |
531 |
|
|
532 |
|
enum { |
556 |
|
chr_noautodrop = 0x00001000, //uses drop fields instead of has fields on death |
557 |
|
}; // |
558 |
|
int16_t ONICALL ONrGameState_NewCharacter(CharacterObject* CHAR, void* AISA, void* flag, int* list_location); |
559 |
+ |
int32_t* ONICALL ONrGetActiveCharacter(void* CharacterPtr); |
560 |
|
//int16_t ONICALL ONrGameState_GetPlayerCharacter(); |
561 |
|
|
562 |
|
|