mirror of
https://github.com/TheOnlyZac/sly1.git
synced 2024-11-26 23:20:43 +00:00
Cleanup and add more splits
This commit is contained in:
parent
783781b7b3
commit
31d5f7eb20
@ -66,7 +66,7 @@ segments:
|
||||
- [0x1c008, asm, P2/splice/ref]
|
||||
- [0x1ca28, asm, P2/splice/serialize]
|
||||
- [0x1cd28, asm, P2/splice/sidebag]
|
||||
- [0x1cf70, asm, P2/splice/spliceutils]
|
||||
- [0x1cf70, cpp, P2/splice/spliceutils]
|
||||
- [0x1d128, asm, P2/splice/splotheap]
|
||||
- [0x1d508, asm, P2/splice/vecmat]
|
||||
|
||||
@ -146,7 +146,7 @@ segments:
|
||||
- [0x5b8b0, asm, P2/flash]
|
||||
- [0x5bae0, asm, P2/fly]
|
||||
- [0x5d188, asm, P2/font]
|
||||
- [0x5f810, asm, P2/frm]
|
||||
- [0x5f810, c, P2/frm]
|
||||
- [0x60678, asm, P2/freeze]
|
||||
- [0x60f88, asm, P2/frzg]
|
||||
- [0x61070, c, P2/game]
|
||||
@ -203,7 +203,7 @@ segments:
|
||||
- [0x93068, asm, P2/pnt]
|
||||
#- [0x, asm, P2/po]
|
||||
|
||||
- [0x94210, asm, P2/prog]
|
||||
- [0x94210, c, P2/prog]
|
||||
|
||||
- [0x94598, asm] # TODO
|
||||
#- [0x, asm, P2/prompt]
|
||||
@ -211,9 +211,9 @@ segments:
|
||||
#- [0x, asm, P2/puffer]
|
||||
#- [0x, asm, P2/pzo]
|
||||
#- [0x, asm, P2/rail]
|
||||
#- [0x, asm, P2/rat]
|
||||
#- [0x, asm, P2/rchm]
|
||||
|
||||
- [0x9c038, asm, P2/rat]
|
||||
- [0x9d440, asm, P2/rchm]
|
||||
- [0x9e410, asm, P2/render]
|
||||
|
||||
- [0x9f040, asm, P2/rip]
|
||||
@ -260,9 +260,9 @@ segments:
|
||||
- [0xcd410, asm, P2/stephang]
|
||||
- [0xcefb8, asm, P2/stephide]
|
||||
- [0xd24f0, asm, P2/steppipe]
|
||||
- [0xd39c8, asm, P2/steppower]
|
||||
- [0xd39c8, c, P2/steppower]
|
||||
|
||||
- [0xd41d0, asm] #? unknown file
|
||||
- [0xd41d0, asm, P2/step_pqr_unk] #? unknown file
|
||||
|
||||
- [0xd46f0, asm, P2/steprun]
|
||||
- [0xd5148, asm, P2/stepside]
|
||||
@ -290,7 +290,7 @@ segments:
|
||||
- [0xeac78, asm, P2/update]
|
||||
- [0xeb408, c, P2/util]
|
||||
|
||||
- [0xec518, asm] #? unknown file
|
||||
- [0xec518, asm, P2/uv_unk] #? unknown file
|
||||
|
||||
- [0xee650, c, P2/vec]
|
||||
- [0xef318, asm, P2/vifs]
|
||||
@ -440,8 +440,11 @@ segments:
|
||||
#- [0x, data,, P2/ms]
|
||||
#- [0x, data,, P2/murray]
|
||||
#- [0x, data, P2/path]
|
||||
#- [0x, data, P2/phasemem]
|
||||
#- [0x, data, P2/pipe]
|
||||
|
||||
- [0x16aba4, data, P2/phasemem]
|
||||
- [0x16aba8, data, P2/pipe]
|
||||
- [0x16abac, data]
|
||||
|
||||
#- [0x, data, P2/pnt]
|
||||
#- [0x, data,, P2/po]
|
||||
#- [0x, data, P2/prog]
|
||||
@ -489,7 +492,7 @@ segments:
|
||||
#- [0x, data, P2/stephide]
|
||||
#- [0x, data, P2/steppipe]
|
||||
#- [0x, data, P2/steppower]
|
||||
#- [0x, data] #? unknown file
|
||||
#- [0x, data, P2/step_pqr_unk] #? unknown file
|
||||
#- [0x, data, P2/steprun]
|
||||
#- [0x, data, P2/stepside]
|
||||
#- [0x, data, P2/stepzap]
|
||||
@ -509,7 +512,7 @@ segments:
|
||||
#- [0x, data,, P2/ui]
|
||||
#- [0x, data, P2/update]
|
||||
#- [0x, data, P2/util]
|
||||
#- [0x, data] #? unknown file
|
||||
#- [0x, data, P2/uv_unk] #? unknown file
|
||||
#- [0x, data, P2/vec]
|
||||
#- [0x, data, P2/vifs]
|
||||
#- [0x, data, P2/vis]
|
||||
|
@ -1,6 +1,15 @@
|
||||
_start = 0x100008; // type:func
|
||||
_exit = 0x1000B8; // type:func
|
||||
|
||||
|
||||
// P2/splice/spliceutils.cpp
|
||||
StartupSplice__Fv = 0x11BF70; // type:func
|
||||
ShutdownSplice__Fv = 0x11C040; // type:func
|
||||
spliceutils__static_initialization_and_destruction_0 = 0x11C0A8; // type:func
|
||||
_GLOBAL_$I$g_splotheapPair = 0x11C0E8; // type:func
|
||||
_GLOBAL_$D$g_splotheapPair = 0x11C108; // type:func
|
||||
|
||||
|
||||
// P2/binoc.c
|
||||
InitBei = 0x130F48; // type:func
|
||||
GEvaluateBei = 0x131000; // type:func
|
||||
@ -34,7 +43,7 @@ DrawBinoc = 0x1366A0; // type:func
|
||||
GetBinocReticleFocus = 0x136EC8; // type:func
|
||||
FUN_00136ef8 = 0x136EF8; // type:func
|
||||
FUN_00136fa8 = 0x136FA8; // type:func
|
||||
__static_initialization_and_destruction_0 = 0x136FE8; // type:func
|
||||
binoc__static_initialization_and_destruction_0 = 0x136FE8; // type:func
|
||||
SetPos__8CTextBoxff = 0x137228; // type:func
|
||||
SetSize__8CTextBoxff = 0x137238; // type:func
|
||||
SetTextColor__8CTextBoxG4RGBA = 0x137248; // type:func
|
||||
@ -96,6 +105,22 @@ g_difficultyEasy = 0x261e90; // size:0x5c
|
||||
g_difficulty = 0x261ef0; // size:0x20
|
||||
|
||||
|
||||
// P2/frm.c
|
||||
StartupFrame__Fv = 0x15E810; // type:func
|
||||
OpenFrame__Fv = 0x15E9F0; // type:func
|
||||
EnsureVu1Code__FP4VIFSPvT1 = 0x15EAE0; // type:func
|
||||
FinalizeFrameGifs__FP4GIFSPiPP2QW = 0x15EB20; // type:func
|
||||
FUN_0015ebf0 = 0x15EBF0; // type:func
|
||||
CloseFrame__Fv = 0x15EC68; // type:func
|
||||
PrepareGsForFrameRender__FP3FRM = 0x15ED50; // type:func
|
||||
check_anticrack_antigrab__Fv = 0x15EDB8; // type:func
|
||||
FrameRenderLoop__FPv = 0x15EE80; // type:func
|
||||
RenderFrame__FP3FRMi = 0x15EF88; // type:func
|
||||
ClearPendingFrame__FP3FRM = 0x15EFE8; // type:func
|
||||
FlushFrames__Fi = 0x15F210; // type:func
|
||||
BlendPrevFrame__Fv = 0x15F320; // type:func
|
||||
|
||||
|
||||
// P2/game.c
|
||||
StartupGame__Fv = 0x160070; // type:func
|
||||
|
||||
@ -171,9 +196,29 @@ StartupCodes__Fv = 0x16F588; // type:func
|
||||
|
||||
// P2/main.c
|
||||
main = 0x185758; // type:func
|
||||
StartupVU0 = 0x185A58; // type:func
|
||||
StartupVU1 = 0x185AC8; // type:func
|
||||
Startup = 0x185B38; // type:func
|
||||
StartupVU0__Fv = 0x185A58; // type:func
|
||||
StartupVU1__Fv = 0x185AC8; // type:func
|
||||
Startup__Fv = 0x185B38; // type:func
|
||||
|
||||
// P2/phasemem.c
|
||||
SetPhase__F5PHASE = 0x191E70; // type:func
|
||||
ClearPhase__Fv = 0x191EB0; // type:func
|
||||
|
||||
g_phase = 0x269ba4; // size:0x4
|
||||
|
||||
|
||||
// P2/prog.c
|
||||
__5CProgG4RGBAN31 = 0x193210; // type:func
|
||||
Begin__5CProg = 0x193270; // type:func
|
||||
SetRemain__5CProgi = 0x193288; // type:func
|
||||
End__5CProg = 0x193300; // type:func
|
||||
Draw__5CProg = 0x193318; // type:func
|
||||
|
||||
|
||||
// P2/steppower.c
|
||||
SetFsp__F3FSP = 0x1D29C8; // type:func
|
||||
UpdateJtActivePowerUp__FP2JTP3JOY = 0x1d2bb8; // type:func
|
||||
IRotatePowerUp__FP3JOYiiPi = 0x1d3100; // type:func
|
||||
|
||||
|
||||
// P2/util.c
|
||||
@ -221,6 +266,10 @@ FCalculateMuzzleVelocityAngle = 0x1EE290; // type:func
|
||||
LimitVectorLength = 0x1EE2B0; // type:func
|
||||
|
||||
|
||||
// sce/ee/gcc/src/gcc/libgcc2.c
|
||||
__main = 0x1fae18; // type:func
|
||||
|
||||
|
||||
// sce/rand.c
|
||||
srand = 0x1F66F8; // type:func
|
||||
rand = 0x1F6708; // type:func
|
||||
|
135
include/game.h
135
include/game.h
@ -9,13 +9,144 @@
|
||||
#define GAME_H
|
||||
|
||||
#include "common.h"
|
||||
#include <gs.h>
|
||||
|
||||
/**
|
||||
* @brief Level state flags integer type
|
||||
* @brief World ID.
|
||||
*/
|
||||
enum GAMEWORLD
|
||||
{
|
||||
GAMEWORLD_Intro = 0,
|
||||
GAMEWORLD_Underwater = 1,
|
||||
GAMEWORLD_Muggshot = 2,
|
||||
GAMEWORLD_Voodoo = 3,
|
||||
GAMEWORLD_Snow = 4,
|
||||
GAMEWORLD_Clockwerk = 5,
|
||||
GAMEWORLD_Max = 6
|
||||
};
|
||||
|
||||
/**
|
||||
* @brief Level ID.
|
||||
*/
|
||||
enum WORLDLEVEL
|
||||
{
|
||||
WORLDLEVEL_Approach = 0,
|
||||
WORLDLEVEL_Hub = 1,
|
||||
WORLDLEVEL_Level1 = 2,
|
||||
WORLDLEVEL_Level2 = 3,
|
||||
WORLDLEVEL_Level3 = 4,
|
||||
WORLDLEVEL_Level4 = 5,
|
||||
WORLDLEVEL_Level5 = 6,
|
||||
WORLDLEVEL_Level6 = 7,
|
||||
WORLDLEVEL_Boss = 8,
|
||||
WORLDLEVEL_Max = 9
|
||||
};
|
||||
|
||||
/**
|
||||
* @brief Game state flags.
|
||||
*/
|
||||
enum FGS
|
||||
{
|
||||
FGS_FirstClue = 0x1,
|
||||
FGS_HalfClues = 0x2,
|
||||
FGS_AllClues = 0x4,
|
||||
FGS_FirstVault = 0x8,
|
||||
FGS_SecondVault = 0x10
|
||||
};
|
||||
|
||||
/**
|
||||
* @brief Game state flags integer type.
|
||||
*/
|
||||
typedef int GRFGS;
|
||||
|
||||
/**
|
||||
* @brief World state flags.
|
||||
*/
|
||||
enum FWS
|
||||
{
|
||||
FWS_Visited = 0x1,
|
||||
FWS_Lock_0 = 0x2,
|
||||
FWS_Lock_1 = 0x4,
|
||||
FWS_Lock_2 = 0x8,
|
||||
FWS_Lock_3 = 0x10,
|
||||
FWS_Lock_All = 0x1e
|
||||
};
|
||||
/**
|
||||
* @brief World state flags integer type.
|
||||
*/
|
||||
typedef int GRFWS;
|
||||
|
||||
/**
|
||||
* @brief Level state flags.
|
||||
*/
|
||||
enum FLS
|
||||
{
|
||||
FLS_Visited = 0x1,
|
||||
FLS_KeyCollected = 0x2,
|
||||
FLS_Secondary = 0x4,
|
||||
FLS_Tertiary = 0x8,
|
||||
FLS_BossDefeated = 0x10
|
||||
};
|
||||
|
||||
/**
|
||||
* @brief Level state flags integer type.
|
||||
*/
|
||||
typedef int GRFLS;
|
||||
|
||||
/**
|
||||
* @brief Level State
|
||||
*/
|
||||
struct LS
|
||||
{
|
||||
FLS fls; // Level state flags
|
||||
float dt; // Time spent in level (secs)
|
||||
float dtTimedBest; // Best MTS time for level (secs)
|
||||
float uSuck; // Current player suck for this level
|
||||
float unk_suck_0x10; // unknown, seems suck related
|
||||
int afDialogPlayed[12]; // Dialog played flags
|
||||
int sceneVars[2][4]; // Scene variables
|
||||
int cclue; // Count of clues collected
|
||||
unsigned int fclue; // Clue collected flags
|
||||
int unk_field_0x6c;
|
||||
int unk_field_0x70;
|
||||
char *unk_field_0x74;
|
||||
};
|
||||
|
||||
/**
|
||||
* @brief World State
|
||||
*/
|
||||
struct WS
|
||||
{
|
||||
LS als[9]; // Level states array
|
||||
int ckey; // Count of keys collected in world
|
||||
int cvault; // Count of vaults opened on worls
|
||||
int ctimed; // Count of MTSs completed in world
|
||||
float dt; // Time spent in world (secs)
|
||||
FWS fws; // World state flags
|
||||
};
|
||||
|
||||
/**
|
||||
* @brief Game State
|
||||
*/
|
||||
typedef int GRFVAULT;
|
||||
struct GS
|
||||
{
|
||||
int gsv; // not sure why this isn't caled fgs
|
||||
int cbThis; // Struct size (bytes)
|
||||
int nChecksum; // Expected size (bytes)
|
||||
float dt; // Time spent in game (secs)
|
||||
WS aws[6]; // World states array
|
||||
GAMEWORLD gameworldCur; // Current world
|
||||
WORLDLEVEL worldlevelCur; // Current level
|
||||
int clife; // Lives count
|
||||
int ccharm; // Charm count
|
||||
int ccoin; // Coin count
|
||||
GRFGS grfgs; // Game settings flags(?)
|
||||
GRFVAULT grfvault; // Unlocked powerup flags
|
||||
unsigned int unlocked_cutscenes;
|
||||
unsigned int fgs;
|
||||
int nPowerupLast; // Last selected powerup
|
||||
};
|
||||
|
||||
/**
|
||||
* @brief Collision ID?
|
||||
*
|
||||
|
126
include/gs.h
126
include/gs.h
@ -1,133 +1,13 @@
|
||||
/**
|
||||
* @file gs.h
|
||||
*
|
||||
* @brief Graphics synthesizer.
|
||||
*/
|
||||
#ifndef GS_H
|
||||
#define GS_H
|
||||
|
||||
#include "common.h"
|
||||
|
||||
/**
|
||||
* @brief Game State Flags
|
||||
*/
|
||||
enum FGS
|
||||
{
|
||||
FGS_FirstClue = 0x1,
|
||||
FGS_HalfClues = 0x2,
|
||||
FGS_AllClues = 0x4,
|
||||
FGS_FirstVault = 0x8,
|
||||
FGS_SecondVault = 0x10
|
||||
};
|
||||
|
||||
/**
|
||||
* @brief World State Flags
|
||||
*/
|
||||
enum FWS
|
||||
{
|
||||
FWS_Visited = 0x1,
|
||||
FWS_Lock_0 = 0x2,
|
||||
FWS_Lock_1 = 0x4,
|
||||
FWS_Lock_2 = 0x8,
|
||||
FWS_Lock_3 = 0x10,
|
||||
FWS_Lock_All = 0x1e
|
||||
};
|
||||
|
||||
/**
|
||||
* @brief Level State Flags
|
||||
*/
|
||||
enum FLS
|
||||
{
|
||||
FLS_Visited = 0x1,
|
||||
FLS_KeyCollected = 0x2,
|
||||
FLS_Secondary = 0x4,
|
||||
FLS_Tertiary = 0x8,
|
||||
FLS_BossDefeated = 0x10
|
||||
};
|
||||
|
||||
/**
|
||||
* @brief Game World ID
|
||||
*/
|
||||
enum GAMEWORLD
|
||||
{
|
||||
GAMEWORLD_Intro = 0,
|
||||
GAMEWORLD_Underwater = 1,
|
||||
GAMEWORLD_Muggshot = 2,
|
||||
GAMEWORLD_Voodoo = 3,
|
||||
GAMEWORLD_Snow = 4,
|
||||
GAMEWORLD_Clockwerk = 5,
|
||||
GAMEWORLD_Max = 6
|
||||
};
|
||||
|
||||
/**
|
||||
* @brief World Level ID
|
||||
*/
|
||||
enum WORLDLEVEL
|
||||
{
|
||||
WORLDLEVEL_Approach = 0,
|
||||
WORLDLEVEL_Hub = 1,
|
||||
WORLDLEVEL_Level1 = 2,
|
||||
WORLDLEVEL_Level2 = 3,
|
||||
WORLDLEVEL_Level3 = 4,
|
||||
WORLDLEVEL_Level4 = 5,
|
||||
WORLDLEVEL_Level5 = 6,
|
||||
WORLDLEVEL_Level6 = 7,
|
||||
WORLDLEVEL_Boss = 8,
|
||||
WORLDLEVEL_Max = 9
|
||||
};
|
||||
|
||||
/**
|
||||
* @brief Level State
|
||||
*/
|
||||
struct LS
|
||||
{
|
||||
FLS fls; // Level state flags
|
||||
float dt; // Time spent in level (secs)
|
||||
float dtTimedBest; // Best MTS time for level (secs)
|
||||
float uSuck; // Current player suck for this level
|
||||
float unk_suck_0x10; // unknown, seems suck related
|
||||
int afDialogPlayed[12]; // Dialog played flags
|
||||
int sceneVars[2][4]; // Scene variables
|
||||
int cclue; // Count of clues collected
|
||||
unsigned int fclue; // Clue collected flags
|
||||
int unk_field_0x6c;
|
||||
int unk_field_0x70;
|
||||
char *unk_field_0x74;
|
||||
};
|
||||
|
||||
/**
|
||||
* @brief World State
|
||||
*/
|
||||
struct WS
|
||||
{
|
||||
LS als[9]; // Level states array
|
||||
int ckey; // Count of keys collected in world
|
||||
int cvault; // Count of vaults opened on worls
|
||||
int ctimed; // Count of MTSs completed in world
|
||||
float dt; // Time spent in world (secs)
|
||||
FWS fws; // World state flags
|
||||
};
|
||||
|
||||
/**
|
||||
* @brief Game State
|
||||
*/
|
||||
typedef int GRFGS;
|
||||
typedef int GRFVAULT;
|
||||
struct GS
|
||||
{
|
||||
int gsv; // not sure why this isn't caled fgs
|
||||
int cbThis; // Struct size (bytes)
|
||||
int nChecksum; // Expected size (bytes)
|
||||
float dt; // Time spent in game (secs)
|
||||
WS aws[6]; // World states array
|
||||
GAMEWORLD gameworldCur; // Current world
|
||||
WORLDLEVEL worldlevelCur; // Current level
|
||||
int clife; // Lives count
|
||||
int ccharm; // Charm count
|
||||
int ccoin; // Coin count
|
||||
GRFGS grfgs; // Game settings flags(?)
|
||||
GRFVAULT grfvault; // Unlocked powerup flags
|
||||
unsigned int unlocked_cutscenes;
|
||||
unsigned int fgs;
|
||||
int nPowerupLast; // Last selected powerup
|
||||
};
|
||||
// ...
|
||||
|
||||
#endif // GS_H
|
||||
|
@ -1,175 +0,0 @@
|
||||
/**
|
||||
* @file basic.h
|
||||
*
|
||||
* @brief Declares the BASIC struct.
|
||||
*/
|
||||
#ifndef BASIC_H
|
||||
#define BASIC_H
|
||||
|
||||
struct BASIC
|
||||
{
|
||||
struct VTBASIC* pvtbasic;
|
||||
struct VTLO* pvtlo;
|
||||
struct VTALO* pvtalo;
|
||||
struct VTSO* pvtso;
|
||||
struct VTSHAPE* pvtshape;
|
||||
struct VTPNT* pvtpnt;
|
||||
struct VTPNTVEC* pvtpntvec;
|
||||
struct VTPNTSV* pvtpntsv;
|
||||
struct VTPNTS* pvtpnts;
|
||||
struct VTSCAN* pvtscan;
|
||||
struct VTXFM* pvtxfm;
|
||||
struct VTWARP* pvtwarp;
|
||||
struct VTEXIT* pvtexit;
|
||||
struct VTCAMERA* pvtcamera;
|
||||
struct VTLIGHT* pvtlight;
|
||||
struct VTPO* pvtpo;
|
||||
struct VTKEYHOLE* pvtkeyhole;
|
||||
struct VTWATER* pvtwater;
|
||||
struct VTTN* pvttn;
|
||||
struct VTBRK* pvtbrk;
|
||||
struct VTBRKP* pvtbrkp;
|
||||
struct VTBREAK* pvtbreak;
|
||||
struct VTFRAGILE* pvtfragile;
|
||||
struct VTZAPBREAK* pvtzapbreak;
|
||||
struct VTVOLBTN* pvtvolbtn;
|
||||
struct VTBUTTON* pvtbutton;
|
||||
struct VTSQUISH* pvtsquish;
|
||||
struct VTFRZG* pvtfrzg;
|
||||
struct VTBONE* pvtbone;
|
||||
struct VTLBONE* pvtlbone;
|
||||
struct VTMAP* pvtmap;
|
||||
struct VTVISMAP* pvtvismap;
|
||||
struct VT_VISZONE* pvt_viszone;
|
||||
struct VTASEG* pvtaseg;
|
||||
struct VTASEGA* pvtasega;
|
||||
struct VTASEGBL* pvtasegbl;
|
||||
struct VTSM* pvtsm;
|
||||
struct VTSMA* pvtsma;
|
||||
struct VTIKH* pvtikh;
|
||||
struct VTLIKH* pvtlikh;
|
||||
struct VTSCH* pvtsch;
|
||||
struct VTRIPG* pvtripg;
|
||||
struct VTBLIPG* pvtblipg;
|
||||
struct VTEMITTER* pvtemitter;
|
||||
struct VTEXPL* pvtexpl;
|
||||
struct VTEXPLG* pvtexplg;
|
||||
struct VTEXPLO* pvtexplo;
|
||||
struct VTEXPLS* pvtexpls;
|
||||
struct VTPROXY* pvtproxy;
|
||||
struct VTDIALOG* pvtdialog;
|
||||
struct VTHSHAPE* pvthshape;
|
||||
struct VTHPNT* pvthpnt;
|
||||
struct VTHBSK* pvthbsk;
|
||||
struct VTRCHM* pvtrchm;
|
||||
struct VTSTEP* pvtstep;
|
||||
struct VTSPRIZE* pvtsprize;
|
||||
struct VTSCPRIZE* pvtscprize;
|
||||
struct VTCLUE* pvtclue;
|
||||
struct VTLIFETKN* pvtlifetkn;
|
||||
struct VTLOCK* pvtlock;
|
||||
struct VTLOCKG* pvtlockg;
|
||||
struct VTVAULT* pvtvault;
|
||||
struct VTALBRK* pvtalbrk;
|
||||
struct VTALARM* pvtalarm;
|
||||
struct VTSENSOR* pvtsensor;
|
||||
struct VTLASEN* pvtlasen;
|
||||
struct VTCAMSEN* pvtcamsen;
|
||||
struct VTPRSEN* pvtprsen;
|
||||
struct VTTARGET* pvttarget;
|
||||
struct VTHND* pvthnd;
|
||||
struct VTPIPE* pvtpipe;
|
||||
struct VTBARRIER* pvtbarrier;
|
||||
struct VTTAIL* pvttail;
|
||||
struct VTJSG* pvtjsg;
|
||||
struct VTJT* pvtjt;
|
||||
struct VTJMT* pvtjmt;
|
||||
struct VTSGG* pvtsgg;
|
||||
struct VTSTEPGUARD* pvtstepguard;
|
||||
struct VTGOMER* pvtgomer;
|
||||
struct VTSMARTGUARD* pvtsmartguard;
|
||||
struct VTTZP* pvttzp;
|
||||
struct VTVOLZP* pvtvolzp;
|
||||
struct VTVOL* pvtvol;
|
||||
struct VTCHKPNT* pvtchkpnt;
|
||||
struct VTPATHZONE* pvtpathzone;
|
||||
struct VTBOMB* pvtbomb;
|
||||
struct VTCAN* pvtcan;
|
||||
struct VTSKY* pvtsky;
|
||||
struct VTFLY* pvtfly;
|
||||
struct VTDPRIZE* pvtdprize;
|
||||
struct VTCOIN* pvtcoin;
|
||||
struct VTCHARM* pvtcharm;
|
||||
struct VTKEY* pvtkey;
|
||||
struct VTGOLD* pvtgold;
|
||||
struct VTRATHOLE* pvtrathole;
|
||||
struct VTRAT* pvtrat;
|
||||
struct VTROB* pvtrob;
|
||||
struct VTROV* pvtrov;
|
||||
struct VTROH* pvtroh;
|
||||
struct VTROC* pvtroc;
|
||||
struct VTROST* pvtrost;
|
||||
struct VTROP* pvtrop;
|
||||
struct VTDART* pvtdart;
|
||||
struct VTDARTGUN* pvtdartgun;
|
||||
struct VTFLASH* pvtflash;
|
||||
struct VTMISSILE* pvtmissile;
|
||||
struct VTACCMISS* pvtaccmiss;
|
||||
struct VTTARMISS* pvttarmiss;
|
||||
struct VTSPLMISS* pvtsplmiss;
|
||||
struct VTGROUNDMISS* pvtgroundmiss;
|
||||
struct VTRWM* pvtrwm;
|
||||
struct VTCNVO* pvtcnvo;
|
||||
struct VTDYSH* pvtdysh;
|
||||
struct VTDSP* pvtdsp;
|
||||
struct VTWAYPOINT* pvtwaypoint;
|
||||
struct VTUBV* pvtubv;
|
||||
struct VTUBP* pvtubp;
|
||||
struct VTUBG* pvtubg;
|
||||
struct VTMBG* pvtmbg;
|
||||
struct VTSCENTMAP* pvtscentmap;
|
||||
struct VTBHG* pvtbhg;
|
||||
struct VTJLOC* pvtjloc;
|
||||
struct VTJLOVOL* pvtjlovol;
|
||||
struct VTJLO* pvtjlo;
|
||||
struct VTSPIRE* pvtspire;
|
||||
struct VTRAIL* pvtrail;
|
||||
struct VTLANDING* pvtlanding;
|
||||
struct VTROPE* pvtrope;
|
||||
struct VTWR* pvtwr;
|
||||
struct VTTANK* pvttank;
|
||||
struct VTTURRET* pvtturret;
|
||||
struct VTMURRAY* pvtmurray;
|
||||
struct VTPUFFER* pvtpuffer;
|
||||
struct VTPUFFC* pvtpuffc;
|
||||
struct VTPUFFB* pvtpuffb;
|
||||
struct VTPUFFT* pvtpufft;
|
||||
struct VTPUFFV* pvtpuffv;
|
||||
struct VTMRKV* pvtmrkv;
|
||||
struct VTCRFOD* pvtcrfod;
|
||||
struct VTCRFODB* pvtcrfodb;
|
||||
struct VTCRFODK* pvtcrfodk;
|
||||
struct VTCRBRAIN* pvtcrbrain;
|
||||
struct VTMGV* pvtmgv;
|
||||
struct VTMGC* pvtmgc;
|
||||
struct VTSUV* pvtsuv;
|
||||
struct VTJP* pvtjp;
|
||||
struct VTCYCLE* pvtcycle;
|
||||
struct VTHG* pvthg;
|
||||
struct VTMECHA* pvtmecha;
|
||||
struct VTSWP* pvtswp;
|
||||
struct VTLGN* pvtlgn;
|
||||
struct VTLGNB* pvtlgnb;
|
||||
struct VTJACK* pvtjack;
|
||||
struct VTJACKB* pvtjackb;
|
||||
struct VTJACKN* pvtjackn;
|
||||
struct VTJACKF* pvtjackf;
|
||||
struct VTMS* pvtms;
|
||||
struct VTSPEAKER* pvtspeaker;
|
||||
struct VTWM* pvtwm;
|
||||
struct VTSW* pvtsw;
|
||||
struct VTCM* pvtcm;
|
||||
struct CSidebag* psidebag;
|
||||
};
|
||||
|
||||
#endif // BASIC_H
|
@ -70,7 +70,7 @@ INCLUDE_ASM(const s32, "P2/binoc", FUN_00136ef8);
|
||||
|
||||
INCLUDE_ASM(const s32, "P2/binoc", FUN_00136fa8);
|
||||
|
||||
INCLUDE_ASM(const s32, "P2/binoc", __static_initialization_and_destruction_0);
|
||||
INCLUDE_ASM(const s32, "P2/binoc", binoc__static_initialization_and_destruction_0);
|
||||
|
||||
void CTextBox::SetPos(float x, float y)
|
||||
{
|
||||
|
@ -19,15 +19,11 @@ void SetClockRate(float rt)
|
||||
|
||||
void MarkClockTick(CLOCK *pclock)
|
||||
{
|
||||
float dt;
|
||||
float t1;
|
||||
|
||||
const TICK tickFrame = TickNow();
|
||||
const TICK deltaTick = tickFrame - pclock->tickFrame;
|
||||
|
||||
dt = deltaTick * CLOCK_EE_TICK_DURATION;
|
||||
|
||||
t1 = CLOCK_FRAMETIME * 2;
|
||||
float dt = deltaTick * CLOCK_EE_TICK_DURATION;
|
||||
float t1 = CLOCK_FRAMETIME * 2;
|
||||
|
||||
if (dt < CLOCK_FRAMETIME)
|
||||
{
|
||||
@ -39,7 +35,6 @@ void MarkClockTick(CLOCK *pclock)
|
||||
}
|
||||
|
||||
pclock->dtReal = dt;
|
||||
|
||||
float dtFinal = 0.0f;
|
||||
|
||||
if (pclock->fEnabled)
|
||||
|
29
src/P2/frm.c
Normal file
29
src/P2/frm.c
Normal file
@ -0,0 +1,29 @@
|
||||
#include "common.h"
|
||||
|
||||
INCLUDE_ASM(const s32, "P2/frm", StartupFrame__Fv);
|
||||
|
||||
INCLUDE_ASM(const s32, "P2/frm", OpenFrame__Fv);
|
||||
|
||||
INCLUDE_ASM(const s32, "P2/frm", EnsureVu1Code__FP4VIFSPvT1);
|
||||
|
||||
INCLUDE_ASM(const s32, "P2/frm", FinalizeFrameGifs__FP4GIFSPiPP2QW);
|
||||
|
||||
INCLUDE_ASM(const s32, "P2/frm", FUN_0015ebf0);
|
||||
|
||||
INCLUDE_ASM(const s32, "P2/frm", CloseFrame__Fv);
|
||||
|
||||
INCLUDE_ASM(const s32, "P2/frm", PrepareGsForFrameRender__FP3FRM);
|
||||
|
||||
INCLUDE_ASM(const s32, "P2/frm", check_anticrack_antigrab__Fv);
|
||||
|
||||
INCLUDE_ASM(const s32, "P2/frm", FrameRenderLoop__FPv);
|
||||
|
||||
INCLUDE_ASM(const s32, "P2/frm", RenderFrame__FP3FRMi);
|
||||
|
||||
INCLUDE_ASM(const s32, "P2/frm", ClearPendingFrame__FP3FRM);
|
||||
|
||||
INCLUDE_ASM(const s32, "P2/frm", FlushFrames__Fi);
|
||||
|
||||
INCLUDE_ASM(const s32, "P2/frm", BlendPrevFrame__Fv);
|
||||
INCLUDE_ASM(const s32, "P2/frm", func_0015F618);
|
||||
INCLUDE_ASM(const s32, "P2/frm", func_0015F658);
|
@ -1,9 +1,82 @@
|
||||
#include "common.h"
|
||||
#include <game.h>
|
||||
|
||||
//extern g_chpzArgs;
|
||||
//extern g_aphzArgs;
|
||||
|
||||
INCLUDE_ASM(const s32, "P2/main", main);
|
||||
/*int main(int cphzArgs, char* aphzArgs[])
|
||||
{
|
||||
__main(); // from libgcc2
|
||||
|
||||
INCLUDE_ASM(const s32, "P2/main", StartupVU0);
|
||||
g_chpzArgs = cphzArgs;
|
||||
g_aphzArgs = aphzArgs;
|
||||
|
||||
INCLUDE_ASM(const s32, "P2/main", StartupVU1);
|
||||
Startup();
|
||||
|
||||
INCLUDE_ASM(const s32, "P2/main", Startup);
|
||||
while (true)
|
||||
{
|
||||
// Check if g_mpeg has an mpeg queued to be played
|
||||
if ((g_mpeg.oid_1 != OID_Unknown) && (g_wipe.wipes != WIPES_Idle))
|
||||
{
|
||||
////FlushFrames(1);
|
||||
g_mpeg.ExecuteOids();
|
||||
}
|
||||
|
||||
// Check if g_transition has a pending transition
|
||||
if (g_transition.m_fPending != 0)
|
||||
{
|
||||
////FlushFrames(1);
|
||||
g_transition.Execute();
|
||||
}
|
||||
|
||||
// Check AGAIN if g_mpeg has an mpeg queued (in case two were queued back-to-back)
|
||||
if ((g_mpeg.oid_2 != OID_Unknown) && (g_wipe.wipes != WIPES_Idle))
|
||||
{
|
||||
////FlushFrames(1);
|
||||
g_mpeg.ExecuteOids();
|
||||
}
|
||||
|
||||
// Call update functions
|
||||
UpdateJoy(&g_joy);
|
||||
UpdateCodes();
|
||||
////UpdateSave(&g_save);
|
||||
UpdateUi(&g_ui);
|
||||
UpdateGameState(g_clock.dt);
|
||||
|
||||
// Render and draw current frame
|
||||
if (g_psw != NULL)
|
||||
{
|
||||
// Prepare to render frame
|
||||
SetupCm(g_pcm);
|
||||
OpenFrame();
|
||||
MarkClockTick(&g_clock);
|
||||
|
||||
// This ends up calling UpdateSw down the line
|
||||
void* pv = g_psw + 0x54;
|
||||
if (pv != NULL)
|
||||
{
|
||||
////(*pv)(g_clock.dt);
|
||||
}
|
||||
|
||||
// Render frame
|
||||
RenderSw(g_psw, g_pcm);
|
||||
RenderUi();
|
||||
|
||||
// Draw frame
|
||||
DrawSw(g_psw, g_pcm);
|
||||
DrawUi();
|
||||
|
||||
CloseFrame();
|
||||
}
|
||||
|
||||
// Increment the global frame counter
|
||||
g_cframe += 1;
|
||||
}
|
||||
}*/
|
||||
|
||||
INCLUDE_ASM(const s32, "P2/main", StartupVU0__Fv);
|
||||
|
||||
INCLUDE_ASM(const s32, "P2/main", StartupVU1__Fv);
|
||||
|
||||
INCLUDE_ASM(const s32, "P2/main", Startup__Fv);
|
||||
|
11
src/P2/prog.c
Normal file
11
src/P2/prog.c
Normal file
@ -0,0 +1,11 @@
|
||||
#include "common.h"
|
||||
|
||||
INCLUDE_ASM(const s32, "P2/prog", __5CProgG4RGBAN31);
|
||||
|
||||
INCLUDE_ASM(const s32, "P2/prog", Begin__5CProg);
|
||||
|
||||
INCLUDE_ASM(const s32, "P2/prog", SetRemain__5CProgi);
|
||||
|
||||
INCLUDE_ASM(const s32, "P2/prog", End__5CProg);
|
||||
|
||||
INCLUDE_ASM(const s32, "P2/prog", Draw__5CProg);
|
11
src/P2/splice/spliceutils.cpp
Normal file
11
src/P2/splice/spliceutils.cpp
Normal file
@ -0,0 +1,11 @@
|
||||
#include "common.h"
|
||||
|
||||
INCLUDE_ASM(const s32, "P2/splice/spliceutils", StartupSplice__Fv);
|
||||
|
||||
INCLUDE_ASM(const s32, "P2/splice/spliceutils", ShutdownSplice__Fv);
|
||||
|
||||
INCLUDE_ASM(const s32, "P2/splice/spliceutils", spliceutils__static_initialization_and_destruction_0);
|
||||
|
||||
INCLUDE_ASM(const s32, "P2/splice/spliceutils", _GLOBAL_$I$g_splotheapPair);
|
||||
|
||||
INCLUDE_ASM(const s32, "P2/splice/spliceutils", _GLOBAL_$D$g_splotheapPair);
|
7
src/P2/steppower.c
Normal file
7
src/P2/steppower.c
Normal file
@ -0,0 +1,7 @@
|
||||
#include "common.h"
|
||||
|
||||
INCLUDE_ASM(const s32, "P2/steppower", SetFsp__F3FSP);
|
||||
|
||||
INCLUDE_ASM(const s32, "P2/steppower", UpdateJtActivePowerUp__FP2JTP3JOY);
|
||||
|
||||
INCLUDE_ASM(const s32, "P2/steppower", IRotatePowerUp__FP3JOYiiPi);
|
Loading…
Reference in New Issue
Block a user