Spyro 1 Reverse Engineering
Decompilation of functions from Spyro 1 into human readable C
 
Loading...
Searching...
No Matches
Labeled Functions

Functions

void Maybe_ArrayCopy (int *outputArray, int *inputArray, int arrayLength)
 
void RenderShadedMobys ()
 Renders shaded moby objects in the world. (Gems, HUD Elements, etc.)
Address: 0x80022a2c.
 
void RenderNormalMobys ()
 Renders normal moby objects in the world. (Enemies, Chests, Dragons, etc.)
Address: 0x8001f798.
 
void RenderAllObjects ()
 Renders all objects in the world. (Enemies, Chests, Dragons, etc.)
Address: 0x8001f798.
 
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 CopyHudToShaded ()
 
void DrawLine (int point1X, int point1Y, int point2X, int point2Y)
 Draws a golden line to the screen
Address: 0x8001844c.
 
void FillScreenColor (int colorSpace, char r, char g, char b)
 
void PlayIntroCutscenes ()
 
void TheAdventureBegins ()
 
void TheAdventureContinues ()
 
void LockCameraToSpyro (void)
 
void Vec3IntToShortDiv4 (short *Vec3ShortPTR, int *Vec3PTR)
 
char * GetNextParticleSlot (char param_1)
 
void CreateParticle (int param_1, int param_2, int **ptrToMoby, int *param_4)
 
void UpdateMobyCollision (int param_1, unsigned int param_2)
 
int PlaySoundEffect (int soundEffectID, int ptrToMoby, int playbackMode, char *param_4)
 
void PlayMusicTrack (int track_number, int flags)
 Plays/Continues a music track
Address: 0x800567f4.
 
int LoadImageOrTexture (RECT *rect, int *p)
 
int DrawSync (int mode)
 
void Maybe_ResetHudTimers (void)
 

Detailed Description

Functions we have labeled but not yet re-implemented

Function Documentation

◆ CopyHudToShaded()

void CopyHudToShaded ( )

◆ CreateParticle()

void CreateParticle ( int  param_1,
int  param_2,
int **  ptrToMoby,
int *  param_4 
)

◆ DrawLine()

void DrawLine ( int  point1X,
int  point1Y,
int  point2X,
int  point2Y 
)

Draws a golden line to the screen
Address: 0x8001844c.

Fills out a moby struct with the provided coordinate information, and puts it into the _ptr_primitivesArray. Automatically fills out color data, and has it shimmer by using the wobble timer.

Parameters
intpoint1X - The X position of the first point of the line
intpoint1Y - The Y position of the first point of the line
intpoint2X - The X position of the second point of the line
intpoint2Y - The Y position of the second point of the line

◆ DrawSync()

int DrawSync ( int  mode)

◆ FillScreenColor()

void FillScreenColor ( int  colorSpace,
char  r,
char  g,
char  b 
)

◆ GetNextParticleSlot()

char * GetNextParticleSlot ( char  param_1)

◆ LoadImageOrTexture()

int LoadImageOrTexture ( RECT *  rect,
int *  p 
)

◆ LockCameraToSpyro()

void LockCameraToSpyro ( void  )

◆ Maybe_ArrayCopy()

void Maybe_ArrayCopy ( int *  outputArray,
int *  inputArray,
int  arrayLength 
)

◆ Maybe_ResetHudTimers()

void Maybe_ResetHudTimers ( void  )

◆ PlayIntroCutscenes()

void PlayIntroCutscenes ( )

◆ PlayMusicTrack()

void PlayMusicTrack ( int  track_number,
int  flags 
)

Plays/Continues a music track
Address: 0x800567f4.

param_1 is the track to play. param_2 is the flags/mode. For param_2, 1 is to start at the beginning of the track, 8 is continue where it left off assuming it was saved.

Parameters
intpoint1X - The X position of the first point of the line
intpoint1Y - The Y position of the first point of the line
intpoint2X - The X position of the second point of the line
intpoint2Y - The Y position of the second point of the line

◆ PlaySoundEffect()

int PlaySoundEffect ( int  soundEffectID,
int  ptrToMoby,
int  playbackMode,
char *  param_4 
)

◆ PrimitiveAlphaHack()

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.

◆ RenderAllObjects()

void RenderAllObjects ( )

Renders all objects in the world. (Enemies, Chests, Dragons, etc.)
Address: 0x8001f798.

This is the main object rendering function. It calls all the other Render functions.

◆ RenderNormalMobys()

void RenderNormalMobys ( )

Renders normal moby objects in the world. (Enemies, Chests, Dragons, etc.)
Address: 0x8001f798.

◆ RenderShadedMobys()

void RenderShadedMobys ( )

Renders shaded moby objects in the world. (Gems, HUD Elements, etc.)
Address: 0x80022a2c.

◆ TheAdventureBegins()

void TheAdventureBegins ( )

◆ TheAdventureContinues()

void TheAdventureContinues ( )

◆ UpdateMobyCollision()

void UpdateMobyCollision ( int  param_1,
unsigned int  param_2 
)

◆ Vec3IntToShortDiv4()

void Vec3IntToShortDiv4 ( short *  Vec3ShortPTR,
int *  Vec3PTR 
)