11#define SCREEN_LEFT_EDGE 0x0
12#define SCREEN_RIGHT_EDGE 0x200
13#define SCREEN_TOP_EDGE 0x0
14#define SCREEN_BOTTOM_EDGE 0xE8
18#define WORLD_UNIT 4096
223int sprintf(
char *output,
const char *format, ...);
268void DrawLine(
int point1X,
int point1Y,
int point2X,
int point2Y);
287int PlaySoundEffect(
int soundEffectID,
int ptrToMoby,
int playbackMode,
char *param_4);
@ GAMESTATE_DRAGON_FAIRY_TEXTBOX
@ GAMESTATE_FLIGHT_LEVEL_MENU
@ GAMESTATE_BETA_DRAGON_TEXTBOX_MAYBE
@ GAMESTATE_EXITING_LEVEL
@ BALLOONIST_STATE_JUMPING_OUT_OF_BALLOON
@ BALLOONIST_STATE_JUMPING_ONTO_BALLOON
@ BALLOONIST_STATE_BALLOON_LOADING_PART_2
@ BALLOONIST_STATE_TEXTBOX
@ BALLOONIST_STATE_BALLOON_LOADING_PART_1
@ BALLOONIST_STATE_BALLOON_RISING
@ BALLOONIST_STATE_NEVER_TALKED_TO_BALLOONIST
@ BALLOONIST_STATE_BALLOON_LOWERING
@ MOVEMENT_SUBSTATE_FLY_IN_LOOP
@ MOVEMENT_SUBSTATE_LOADING
@ MOVEMENT_SUBSTATE_FLY_IN_CAMERA_180
@ MOVEMENT_SUBSTATE_EXIT_PORTAL
void RenderNormalMobys()
Renders normal moby objects in the world. (Enemies, Chests, Dragons, etc.) Address: 0x8001f798.
void Maybe_ArrayCopy(int *outputArray, int *inputArray, int arrayLength)
void UpdateMobyCollision(int param_1, unsigned int param_2)
void FillScreenColor(int colorSpace, char r, char g, char b)
void TheAdventureContinues()
void PlayMusicTrack(int track_number, int flags)
Plays/Continues a music track Address: 0x800567f4.
void PrimitiveAlphaHack(void *param_1, int param_2, int param_3, short colorSpace, int param_5)
This is a weird hack that seems to be related to transparency for primitaves? Address: 0x80060670.
void LockCameraToSpyro(void)
void RenderAllObjects()
Renders all objects in the world. (Enemies, Chests, Dragons, etc.) Address: 0x8001f798.
void RenderShadedMobys()
Renders shaded moby objects in the world. (Gems, HUD Elements, etc.) Address: 0x80022a2c.
void TheAdventureBegins()
char * GetNextParticleSlot(char param_1)
void PlayIntroCutscenes()
int LoadImageOrTexture(RECT *rect, int *p)
void Maybe_ResetHudTimers(void)
void DrawLine(int point1X, int point1Y, int point2X, int point2Y)
Draws a golden line to the screen Address: 0x8001844c.
void Vec3IntToShortDiv4(short *Vec3ShortPTR, int *Vec3PTR)
int PlaySoundEffect(int soundEffectID, int ptrToMoby, int playbackMode, char *param_4)
void CreateParticle(int param_1, int param_2, int **ptrToMoby, int *param_4)
short _globalGemCount
Total amount of global gems Address: 0x80075860.
int _vSyncTimer_60fps
This is a global timer at 60fps. It is running at all times, and controls the vSync....
unsigned short _currentButtonsPressed
Value coorsponding the the current button(s) that were pressed for 1 frame. Goes back to 0 after 1 fr...
char _collectablesStateFlags[1231]
The array for what collectables you have collected globally so far. Address: 0x80077900.
int * _maybe_ptr_levelTextureRelated
int _loadingTimer
This is the pause/inventory menu timer. It is only running in those menus. Address: 0x8007588c.
char _whichCutscene
Which cutscene is currently being played Address: 0x80078D94.
int _globalEggCount
Total amount of global eggs Address: 0x80075810.
int _balloonistState
The State for the balloonist. Should make an enum for this. Address: 0x800777e8.
bool _isLoading
true/1 if is in loading screen. Address: 0x800756B0
int * _ptr_levelMobySpecialData
This is a pointer to the start of the level moby's special data array of structs. Address: 0x800759...
bool _isInsideOptionsMenu
true/1 If inside options menu in start menu. Address: 0x800757C8
CameraAngle _cameraAngle
Camera Angle (yaw, pitch, roll) Address: 0x80076E1C.
int _gameState
Main gamestate. Gamestate values are stored in the GameState enums. Address: 0x800757D8.
int _levelTimerWhenActive
This is a level specific timer. This timer is running when when you are able to control spyro,...
int _globalDragonCount
Total amount of global dragons Address: 0x80075750.
short _cameraRotationMatrix[3][3]
short _sinArray[256]
A scaled up sin lookup table Address: 0x8006cbf8.
int _hudElementsSpinTimer
int * _ptr_dynamicLevelMobys
This is a pointer to the start of the dynamic level moby's array. Address: 0x8007573C.
int _startMenuSelection
This is the current option selected in the main start menu, according to the StartMenuSelections enum...
bool _isPastTitleScreen
If has started new game/continue game, then is 1 for true. Basically after you leave the title screen...
short _flyInAnimation
This is what determines the fly in animation during the loading screen of a level Address: 0x80076E...
int * _ptr_levelMobys
This is a pointer to the start of the level moby's array of stucts. Address: 0x80075828.
char _effect_ScreenLetterBox
This is what determines how much to fill the screen with the top and bottom letterbox effect....
int _levelID
Current Level ID according to the LevelIDS enum Address: 0x800758B4.
bool _canFlyIn
true/1 If can fly in to level. This is always 1. If set to 0, will just fade in instead of flying in....
char _portalToExitFromInHW
Level ID for which portal to exit from in Homeworld. Uses same LevelIDS enum Address: 0x800758AC.
int _secondController
STILL RESEARCHING Address: 0x80078E50.
int _levelTimer_60fps
This is a level specific timer that runs at 60fps. This timer is running at all times,...
int _movementSubState
Research this more. 0xA is the loop for example. Address: 0x80078AD4.
int _wobbleAndOpacityTimer
This is a timer that is often used for changing the opacity of things like lines, the shimmer of text...
int _inventoryMenuScreen
This is the current homeworld menu in the inventory menu according to the InventoryMenuSelections enu...
char * _localSoundEffects
int * _ptr_primitivesArray
char _mainMenuState
This is the current state of the main menu. Should make an enum for this Address: 0x80078D88.
int _musicLevelTrack
The music track that is associated with the level you're currently in. Address: 0x80075828.
int * _ptr_arrayGraphicsRelatedPointers
Vec3 _cameraPosition
Camera Position Address: 0x80076DF8.
char * _ptr_particleLinkedList
int _globalTimer
This is the global timer. It is running at all times from game boot up past BIOS. Address: 0x800749...
short _cameraPureRotationMatrix[3][3]
int _pausedTimer
This is the pause/inventory menu timer. It is only running in those menus. Address: 0x800758B8.
char _effect_ScreenFadeIn
This is what determines how much to fill the screen with a black fade in effect. Address: 0x8007591...
int _isInPortal
0x5 for in portal, 0xF for loading afterwards. Stays on 0xF until next portal. Address: 0x80078C70
unsigned short _currentButtonsHeld
Value coorsponding the the current button(s) being held. Address: 0x80077380.
void memset(void *str, int c, int n)
int printf(const char *format,...)
int sprintf(char *output, const char *format,...)