Ignore:
Timestamp:
Dec 11, 2009, 9:58:07 AM (15 years ago)
Author:
gumby
Message:

ZOMG FLATLINE

File:
1 edited

Legend:

Unmodified
Added
Removed
  • Daodan/src/Oni_Character.h

    r473 r484  
    126126        int32_t FILMInstance;
    127127} PlayingFilm;
     128
     129typedef enum {
     130        chr_isplayer          = 1 << 0,
     131        chr_randomskin        = 1 << 1,
     132        chr_notprespawned     = 1 << 2,
     133        chr_noncombatant      = 1 << 3,
     134        chr_multispawnable    = 1 << 4,
     135        chr_unkillable        = 1 << 5,
     136        chr_superammo         = 1 << 6,
     137        chr_omniscient        = 1 << 8,
     138        chr_haslsi            = 1 << 9,
     139        chr_boss              = 1 << 10,
     140        chr_upgradedifficulty = 1 << 11,
     141        chr_noautodrop        = 1 << 12,
     142        chr_dontaim           = 1 << 13,
     143        chr_nocollision       = 1 << 17,
     144        chr_noshadow          = 1 << 24,
     145        chr_invincible        = 1 << 25,
     146        chr_bossshield        = 1 << 30,
     147        chr_weaponimmune      = 1 << 31,
     148} chr_flags;
     149/*
     150enum {
     151chr_isplayer                    =               0x00000001,     //is player character
     152chr_randomskin                  =               0x00000002,     //gets random skin from ONCV
     153chr_notprespawned               =               0x00000004,     //isn't spawned at level creation
     154chr_noncombatant                =               0x00000008,     //doesn't fight
     155chr_multispawnable              =               0x00000010,     //can spawn up to 5 without forcing
     156chr_unknown                             =               0x00000020,     //
     157chr_unkillable                  =               0x00000040,     //can only be brought to 1 hp
     158chr_superammo                   =               0x00000080,     //infinite ammo
     159chr_omniscient                  =               0x00000100,     //touchofdeath
     160chr_haslsi                              =               0x00000200,     //drops an lsi
     161chr_boss                                =               0x00000400,     //is a boss character
     162chr_upgradedifficulty   =               0x00000800,     //upgrade the difficulty if you play on med\hard
     163chr_noautodrop                  =               0x00001000,     //uses drop fields instead of has fields on death
     164}; //
     165*/
    128166
    129167typedef struct {
     
    216254} Inventory;
    217255
     256typedef struct {
     257        uint32_t SphereTree;
     258        Vector3 ObBox[8];
     259        Vector3 * ObBowPtr;
     260        Vector3 Velocity;
     261        Quaternion field_74;
     262        Vector3 Position;
     263        Quaternion Rotation;
     264        float Scale;
     265        Matrix4x3 Matrix;
     266        Matrix4x3 InitMatrix;
     267        float field_104;
     268        float Gravity;
     269        float field_10C;
     270        float field_110;
     271        float Friction_1;
     272        float Friction_2;
     273        Vector3 Force;
     274        uint32_t Flags;
     275        uint32_t Type;
     276        char AnimState[0x18];
     277        void* Callbacks;
     278        void* Owner;
     279} PhyContext;
     280
    218281typedef struct { //ActiveCharacter
    219282        int16_t Number;
    220283        int16_t field_2; //probably Number is an int32
    221         int32_t PhyContext;
     284        PhyContext * PhyContext_;
    222285        SphereTreeNode SphereTree1;             //probably SphereTree[7]...
    223286        SphereTreeNode SphereTree3[4];
     
    441504        int32_t Flags;
    442505        int32_t field_8;
    443         int32_t ONCC;                   //change type to ONCC when we get that far...
     506        int32_t* ONCC;                  //change type to ONCC when we get that far...
    444507        int16_t field_10;
    445508        int16_t Team;
     
    542605        team_syndicateaccessory,
    543606};
    544 
    545 typedef enum {
    546         chr_isplayer          = 1 << 0,
    547         chr_randomskin        = 1 << 1,
    548         chr_notprespawned     = 1 << 2,
    549         chr_noncombatant      = 1 << 3,
    550         chr_multispawnable    = 1 << 4,
    551         chr_unkillable        = 1 << 5,
    552         chr_superammo         = 1 << 6,
    553         chr_omniscient        = 1 << 8,
    554         chr_haslsi            = 1 << 9,
    555         chr_boss              = 1 << 10,
    556         chr_upgradedifficulty = 1 << 11,
    557         chr_noautodrop        = 1 << 12,
    558         chr_dontaim           = 1 << 13,
    559         chr_nocollision       = 1 << 17,
    560         chr_noshadow          = 1 << 24,
    561         chr_invincible        = 1 << 25,
    562         chr_bossshield        = 1 << 30,
    563         chr_weaponimmune      = 1 << 31,
    564 } chr_flags;
    565 /*
    566 enum {
    567 chr_isplayer                    =               0x00000001,     //is player character
    568 chr_randomskin                  =               0x00000002,     //gets random skin from ONCV
    569 chr_notprespawned               =               0x00000004,     //isn't spawned at level creation
    570 chr_noncombatant                =               0x00000008,     //doesn't fight
    571 chr_multispawnable              =               0x00000010,     //can spawn up to 5 without forcing
    572 chr_unknown                             =               0x00000020,     //
    573 chr_unkillable                  =               0x00000040,     //can only be brought to 1 hp
    574 chr_superammo                   =               0x00000080,     //infinite ammo
    575 chr_omniscient                  =               0x00000100,     //touchofdeath
    576 chr_haslsi                              =               0x00000200,     //drops an lsi
    577 chr_boss                                =               0x00000400,     //is a boss character
    578 chr_upgradedifficulty   =               0x00000800,     //upgrade the difficulty if you play on med\hard
    579 chr_noautodrop                  =               0x00001000,     //uses drop fields instead of has fields on death
    580 }; //
    581 */
    582 int16_t ONICALL ONrGameState_NewCharacter(CharacterObject* CHAR, void* AISA, void* flag, int* list_location);
     607int16_t ONICALL ONrGameState_NewCharacter(CharacterObject* CHAR, void* AISA, void* flag, uint32_t* list_location);
    583608int32_t* ONICALL ONrGetActiveCharacter(void* CharacterPtr);
    584609//int16_t ONICALL ONrGameState_GetPlayerCharacter();
     
    596621#define char_weaponimmune      (1 << 31)
    597622
     623
     624//We need a Oni_Structs #include file.
     625
     626typedef struct {
     627        uint32_t TimerMode;
     628        char TimerName[32];
     629        uint32_t TimerDuration;
     630        uint32_t field_28;
     631        uint32_t field_2C;
     632        uint32_t Letterbox[3];
     633        uint32_t field_3C;
     634        uint32_t field_40;
     635        uint32_t CutsceneSyncMark;
     636        uint32_t SomeCutsceneSyncMarkField;
     637        uint32_t field_4C;
     638        uint32_t SplashScreenMachineTime;
     639        uint32_t field_54;
     640        uint32_t field_58;
     641        uint32_t field_5C;
     642        uint32_t field_60;
     643        uint32_t field_64;
     644        uint32_t field_68;
     645        uint32_t field_6C;
     646        uint32_t field_70;
     647        uint32_t FadeStartTime;
     648        uint32_t FadeEndTime;
     649        uint32_t field_7C;
     650        uint32_t Camera;
     651        char PathFindingGraph[0x28];
     652        struct Character *PlayerCharacter;
     653        uint32_t field_B0;
     654        uint32_t field_B4;
     655        GameInput Input;
     656        uint32_t field_E8;
     657        uint32_t field_EC;
     658        uint32_t ScreenshotEveryFrame; //bool?
     659        uint32_t field_F4;
     660        char field_F8;
     661        char field_F9;
     662        char field_FA;
     663        char field_FB;
     664        uint32_t field_FC;
     665        uint32_t field_100;
     666        uint32_t SlowMo;        //bool
     667        uint32_t SlowMotion;
     668        uint32_t field_10C;
     669        uint32_t field_110;
     670        uint32_t field_114;
     671        char SplashScreenTextureName[32];
     672        uint32_t field_138;
     673        uint32_t field_13C;
     674        uint32_t field_140;
     675        uint32_t GameTime;
     676        uint32_t field_148;
     677        uint32_t field_14C;
     678        uint32_t Level;
     679        uint32_t field_154;
     680        char MotionBlur[0x44][64];
     681        uint32_t MotionBlurCount;
     682        uint16_t field_125C;
     683        uint16_t field_125E;
     684        Character CharacterStorage[128];
     685        uint16_t CharacterCount;
     686        uint16_t padding_1;
     687        uint32_t field_B6264;
     688        char ActiveCharacters[0x2838][64]; //Active Character Struct isn't the proper size atm.
     689        uint16_t ActiveCharactersCount;
     690        char Shadows[32][0x804];
     691        uint32_t field_1670EA;
     692        uint32_t ShadowCount;
     693        ActiveCharacter* ActiveCharacterList[128]; //or just Character*? Anyways, we wont need to use this.
     694        uint32_t ActiveCharacterListCount;
     695        uint32_t ActiveCharacterListLock;
     696        Character* LivingCharacterList[128];
     697        uint32_t LivingCharacterListCount;
     698        uint32_t LivingCharacterListLock;
     699        ActiveCharacter* PresentCharacterList[128];
     700        uint32_t PresentCharacterListCount;
     701        uint32_t PresentCharacterListLock;
     702        void* ObjectList;
     703        char DoorArray[8];
     704        char Sky[0x290];
     705        uint32_t field_1679A4;
     706        uint32_t Triggers;
     707        char IsGamePaused;
     708        char IsInputEnabled;
     709        char field_1679AE;
     710        char field_1679AF;
     711        uint32_t LockedActions1;
     712        uint32_t LockedActions2;
     713        uint32_t field_1679B8;
     714        uint32_t WinLose;
     715        uint32_t ConditionSoundsCount;
     716        uint32_t ConditionSounds[5];
     717        uint16_t LevelNumber;
     718        uint16_t padding_5;
     719        uint16_t field_1679DC;
     720} GameState;
     721
     722
    598723#endif
Note: See TracChangeset for help on using the changeset viewer.