Spyro 1 Reverse Engineering
Decompilation of functions from Spyro 1 into human readable C
 
Loading...
Searching...
No Matches
spyro.h File Reference
#include "common.h"

Go to the source code of this file.

Data Structures

struct  Spyro
 This is the main Spyro struct. More...
 

Enumerations

enum  SpyroStates {
  IDLE_STANDING = 0x0 , BEGIN_WALK = 0x1 , WALKING = 0x2 , END_WALK = 0x3 ,
  PIVOT = 0x4 , JUMP = 0x5 , FLOP = 0x6 , HURT_ZAPPED = 0x7 ,
  ROLL_LEFT = 0x9 , ROLL_RIGHT = 0xA , CHARGE = 0xB , BONK = 0xC ,
  LEDGE_PEER = 0xD , HURT_PITCH_HIGH = 0xE , GLIDE = 0xF , TRIANGLE_DROP = 0x10 ,
  WHIRLWIND = 0x11 , IDLE_LOOK_AROUND = 0x12 , ROLL_DOWN_SLOPE = 0x13 , CHARGING_AIR = 0x14 ,
  UPHILL_WALK = 0x15 , HURT_ROLL = 0x16 , PULL_BACK_GLIDE = 0x17 , CHARGING_AIR_SC_JUMP = 0x18 ,
  HURT_SQUISHED = 0x19 , CANNON_ROTATE = 0x1A , HURT_YAW = 0x1B , HURT_PITCH_LOW = 0x1C ,
  DROWNING = 0x1D , DEATH_SPIN = 0x1E , DEATH_SQUISHED = 0x1F , SUPERFLY = 0x20 ,
  SUPERFLY_ASCENDING = 0x21 , SUPERFLY_DESCENDING = 0x22 , IDLE_SIT = 0x27 , SUPERCHARGE = 0x2C
}
 

Variables

Spyro _spyro
 This is where the 1 instance of the spyro struct is.
Address: 0x80078A58.
 
int _spyroXPosition
 Spyro's X Position Coordinate
Address: 0x80078A58.
 
int _spyroYPosition
 Spyro's Y Position Coordinate
Address: 0x80078A5C.
 
int _spyroZPosition
 Spyro's Z Position Coordinate
0x80078A60.
 
int _spyroAngleYaw
 Spyro's Yaw Rotation Angle
Address: 0x80078b74.
 
int _spyroAnglePitch
 Spyro's Pitch Rotation Angle
Address: 0x80078b78.
 
int _spyroAngleRoll
 Spyro's Roll Rotation Angle
Address: 0x80078b7C.
 
RGBA_u8 _spyroColorFilter
 This is the color filter applied on top of spyro in RGBA format
Address: 0x80078a80.
 
int _spyroState
 This is spyro's current active state.
Address: 0x80078ad0s.
 
int _spyroSubState
 This is spyro's current active sub-state.
Address: 0x80078ad4.
 
int _spyroFramesInCurrentState
 The amount of time in frames spent in the current state.
Address: 0x80078ad8.
 
Vec3 _spyroGroundedChargeMomentum
 Spyros grouded charging momentum vector.
Address: 0x80078b28.
 
Vec3 _spyroWalkingChargeMomentum
 Spyros walking momentum vector.
Address: 0x80078b34.
 
Vec3 _spyroAirMomentum
 Spyros air momentum vector.
Address: 0x80078b4c.
 
int _spyroAbsoluteMomentum
 Spyros absolute momentum as a scalar.
Address: 0x80078b70.
 
int _spyroHasUsedGlide
 bool for if Spyro has used his glide or not yet.
Address: 0x80078ba8
 
int _spyroIsGliding
 bool for if Spyro is currently gliding or not.
Address: 0x80078bac
 
int _spyroIsGrounded
 bool for if Spyro is currently grounded or not.
Address: 0x80078bb4
 
int _spyroIFramesTimer
 Timer for how many more frames spyro should have invulnerability.
Address: 0x80078bb8.
 
int _spyroHealth
 Spyros current health
Address: 0x80078bbc.
 
int _spyroIsMovementLocked
 A timer that stops the player from being able to move spyro.
Address: 0x80078c48.
 
int _spyroCanSuperFly
 A bool for if spyro can superfly currently.
Address: 0x80078ca4.
 
int _spyroIsOnSuperchargeGround
 A bool for if spyro is currently on supercharge ground.
Address: 0x80078ca8.
 

Enumeration Type Documentation

◆ SpyroStates

Enumerator
IDLE_STANDING 
BEGIN_WALK 
WALKING 
END_WALK 
PIVOT 
JUMP 
FLOP 
HURT_ZAPPED 
ROLL_LEFT 
ROLL_RIGHT 
CHARGE 
BONK 
LEDGE_PEER 
HURT_PITCH_HIGH 
GLIDE 
TRIANGLE_DROP 
WHIRLWIND 
IDLE_LOOK_AROUND 
ROLL_DOWN_SLOPE 
CHARGING_AIR 
UPHILL_WALK 
HURT_ROLL 
PULL_BACK_GLIDE 
CHARGING_AIR_SC_JUMP 
HURT_SQUISHED 
CANNON_ROTATE 
HURT_YAW 
HURT_PITCH_LOW 
DROWNING 
DEATH_SPIN 
DEATH_SQUISHED 
SUPERFLY 
SUPERFLY_ASCENDING 
SUPERFLY_DESCENDING 
IDLE_SIT 
SUPERCHARGE 

Definition at line 10 of file spyro.h.