mirror of
https://gitlab.com/GaryOderNichts/re3-wiiu.git
synced 2024-11-26 11:04:15 +01:00
implemented debugmenu
This commit is contained in:
parent
f03b4eec4c
commit
5bb4e99926
@ -22,6 +22,7 @@ workspace "re3"
|
|||||||
files { "src/text/*.*" }
|
files { "src/text/*.*" }
|
||||||
files { "src/vehicles/*.*" }
|
files { "src/vehicles/*.*" }
|
||||||
files { "src/weapons/*.*" }
|
files { "src/weapons/*.*" }
|
||||||
|
files { "src/extras/*.*" }
|
||||||
files { "eax/*.*" }
|
files { "eax/*.*" }
|
||||||
|
|
||||||
includedirs { "src" }
|
includedirs { "src" }
|
||||||
@ -42,6 +43,7 @@ workspace "re3"
|
|||||||
includedirs { "src/text" }
|
includedirs { "src/text" }
|
||||||
includedirs { "src/vehicles" }
|
includedirs { "src/vehicles" }
|
||||||
includedirs { "src/weapons" }
|
includedirs { "src/weapons" }
|
||||||
|
includedirs { "src/extras" }
|
||||||
includedirs { "eax" }
|
includedirs { "eax" }
|
||||||
|
|
||||||
includedirs { "dxsdk/include" }
|
includedirs { "dxsdk/include" }
|
||||||
@ -73,7 +75,7 @@ workspace "re3"
|
|||||||
"set filename=%%~ni",
|
"set filename=%%~ni",
|
||||||
"set fileextension=%%~xi",
|
"set fileextension=%%~xi",
|
||||||
"set target=!path!!filename!!fileextension!",
|
"set target=!path!!filename!!fileextension!",
|
||||||
"if exist \"!target!\" copy /y \"!file!\" \"!target!\"",
|
"copy /y \"!file!\" \"!target!\"",
|
||||||
")" }
|
")" }
|
||||||
|
|
||||||
function setpaths (gamepath, exepath, scriptspath)
|
function setpaths (gamepath, exepath, scriptspath)
|
||||||
@ -106,7 +108,7 @@ project "re3"
|
|||||||
staticruntime "off"
|
staticruntime "off"
|
||||||
|
|
||||||
filter "configurations:not *RW"
|
filter "configurations:not *RW"
|
||||||
prebuildcommands { "cd \"../librw\" && premake5 " .. _ACTION .. " && msbuild \"build/librw.sln\" /property:Configuration=%{cfg.longname} /property:Platform=\"win-x86-d3d9\"" }
|
-- prebuildcommands { "cd \"../librw\" && premake5 " .. _ACTION .. " && msbuild \"build/librw.sln\" /property:Configuration=%{cfg.longname} /property:Platform=\"win-x86-d3d9\"" }
|
||||||
defines { "LIBRW", "RW_D3D9" }
|
defines { "LIBRW", "RW_D3D9" }
|
||||||
|
|
||||||
filter "configurations:*RW"
|
filter "configurations:*RW"
|
||||||
|
@ -37,6 +37,7 @@
|
|||||||
#include "Shadows.h"
|
#include "Shadows.h"
|
||||||
#include "Radar.h"
|
#include "Radar.h"
|
||||||
#include "Hud.h"
|
#include "Hud.h"
|
||||||
|
#include "debugmenu.h"
|
||||||
|
|
||||||
int CAnimViewer::animTxdSlot = 0;
|
int CAnimViewer::animTxdSlot = 0;
|
||||||
CEntity *CAnimViewer::pTarget = nil;
|
CEntity *CAnimViewer::pTarget = nil;
|
||||||
@ -208,7 +209,6 @@ PlayAnimation(RpClump *clump, AssocGroupId animGroup, AnimationId anim)
|
|||||||
animAssoc->SetRun();
|
animAssoc->SetRun();
|
||||||
}
|
}
|
||||||
|
|
||||||
extern void (*DebugMenuProcess)(void);
|
|
||||||
void
|
void
|
||||||
CAnimViewer::Update(void)
|
CAnimViewer::Update(void)
|
||||||
{
|
{
|
||||||
|
@ -84,6 +84,7 @@
|
|||||||
#include "World.h"
|
#include "World.h"
|
||||||
#include "ZoneCull.h"
|
#include "ZoneCull.h"
|
||||||
#include "Zones.h"
|
#include "Zones.h"
|
||||||
|
#include "debugmenu.h"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -618,7 +619,6 @@ void CGame::InitialiseWhenRestarting(void)
|
|||||||
DMAudio.ChangeMusicMode(MUSICMODE_GAME);
|
DMAudio.ChangeMusicMode(MUSICMODE_GAME);
|
||||||
}
|
}
|
||||||
|
|
||||||
extern void (*DebugMenuProcess)(void);
|
|
||||||
void CGame::Process(void)
|
void CGame::Process(void)
|
||||||
{
|
{
|
||||||
CPad::UpdatePads();
|
CPad::UpdatePads();
|
||||||
|
@ -1,154 +0,0 @@
|
|||||||
|
|
||||||
extern "C" {
|
|
||||||
|
|
||||||
typedef void (*TriggerFunc)(void);
|
|
||||||
|
|
||||||
struct DebugMenuEntry;
|
|
||||||
|
|
||||||
typedef DebugMenuEntry *(*DebugMenuAddInt8_TYPE)(const char *path, const char *name, int8_t *ptr, TriggerFunc triggerFunc, int8_t step, int8_t lowerBound, int8_t upperBound, const char **strings);
|
|
||||||
typedef DebugMenuEntry *(*DebugMenuAddInt16_TYPE)(const char *path, const char *name, int16_t *ptr, TriggerFunc triggerFunc, int16_t step, int16_t lowerBound, int16_t upperBound, const char **strings);
|
|
||||||
typedef DebugMenuEntry *(*DebugMenuAddInt32_TYPE)(const char *path, const char *name, int32_t *ptr, TriggerFunc triggerFunc, int32_t step, int32_t lowerBound, int32_t upperBound, const char **strings);
|
|
||||||
typedef DebugMenuEntry *(*DebugMenuAddInt64_TYPE)(const char *path, const char *name, int64_t *ptr, TriggerFunc triggerFunc, int64_t step, int64_t lowerBound, int64_t upperBound, const char **strings);
|
|
||||||
typedef DebugMenuEntry *(*DebugMenuAddUInt8_TYPE)(const char *path, const char *name, uint8_t *ptr, TriggerFunc triggerFunc, uint8_t step, uint8_t lowerBound, uint8_t upperBound, const char **strings);
|
|
||||||
typedef DebugMenuEntry *(*DebugMenuAddUInt16_TYPE)(const char *path, const char *name, uint16_t *ptr, TriggerFunc triggerFunc, uint16_t step, uint16_t lowerBound, uint16_t upperBound, const char **strings);
|
|
||||||
typedef DebugMenuEntry *(*DebugMenuAddUInt32_TYPE)(const char *path, const char *name, uint32_t *ptr, TriggerFunc triggerFunc, uint32_t step, uint32_t lowerBound, uint32_t upperBound, const char **strings);
|
|
||||||
typedef DebugMenuEntry *(*DebugMenuAddUInt64_TYPE)(const char *path, const char *name, uint64_t *ptr, TriggerFunc triggerFunc, uint64_t step, uint64_t lowerBound, uint64_t upperBound, const char **strings);
|
|
||||||
typedef DebugMenuEntry *(*DebugMenuAddFloat32_TYPE)(const char *path, const char *name, float *ptr, TriggerFunc triggerFunc, float step, float lowerBound, float upperBound);
|
|
||||||
typedef DebugMenuEntry *(*DebugMenuAddFloat64_TYPE)(const char *path, const char *name, double *ptr, TriggerFunc triggerFunc, double step, double lowerBound, double upperBound);
|
|
||||||
typedef DebugMenuEntry *(*DebugMenuAddCmd_TYPE)(const char *path, const char *name, TriggerFunc triggerFunc);
|
|
||||||
typedef void (*DebugMenuEntrySetWrap_TYPE)(DebugMenuEntry *e, bool wrap);
|
|
||||||
typedef void (*DebugMenuEntrySetStrings_TYPE)(DebugMenuEntry *e, const char **strings);
|
|
||||||
typedef void (*DebugMenuEntrySetAddress_TYPE)(DebugMenuEntry *e, void *addr);
|
|
||||||
|
|
||||||
struct DebugMenuAPI
|
|
||||||
{
|
|
||||||
bool isLoaded;
|
|
||||||
HMODULE module;
|
|
||||||
DebugMenuAddInt8_TYPE addint8;
|
|
||||||
DebugMenuAddInt16_TYPE addint16;
|
|
||||||
DebugMenuAddInt32_TYPE addint32;
|
|
||||||
DebugMenuAddInt64_TYPE addint64;
|
|
||||||
DebugMenuAddUInt8_TYPE adduint8;
|
|
||||||
DebugMenuAddUInt16_TYPE adduint16;
|
|
||||||
DebugMenuAddUInt32_TYPE adduint32;
|
|
||||||
DebugMenuAddUInt64_TYPE adduint64;
|
|
||||||
DebugMenuAddFloat32_TYPE addfloat32;
|
|
||||||
DebugMenuAddFloat64_TYPE addfloat64;
|
|
||||||
DebugMenuAddCmd_TYPE addcmd;
|
|
||||||
DebugMenuEntrySetWrap_TYPE setwrap;
|
|
||||||
DebugMenuEntrySetStrings_TYPE setstrings;
|
|
||||||
DebugMenuEntrySetAddress_TYPE setaddress;
|
|
||||||
};
|
|
||||||
extern DebugMenuAPI gDebugMenuAPI;
|
|
||||||
|
|
||||||
inline DebugMenuEntry *DebugMenuAddInt8(const char *path, const char *name, int8_t *ptr, TriggerFunc triggerFunc, int8_t step, int8_t lowerBound, int8_t upperBound, const char **strings)
|
|
||||||
{ return gDebugMenuAPI.addint8(path, name, ptr, triggerFunc, step, lowerBound, upperBound, strings); }
|
|
||||||
inline DebugMenuEntry *DebugMenuAddInt16(const char *path, const char *name, int16_t *ptr, TriggerFunc triggerFunc, int16_t step, int16_t lowerBound, int16_t upperBound, const char **strings)
|
|
||||||
{ return gDebugMenuAPI.addint16(path, name, ptr, triggerFunc, step, lowerBound, upperBound, strings); }
|
|
||||||
inline DebugMenuEntry *DebugMenuAddInt32(const char *path, const char *name, int32_t *ptr, TriggerFunc triggerFunc, int32_t step, int32_t lowerBound, int32_t upperBound, const char **strings)
|
|
||||||
{ return gDebugMenuAPI.addint32(path, name, ptr, triggerFunc, step, lowerBound, upperBound, strings); }
|
|
||||||
inline DebugMenuEntry *DebugMenuAddInt64(const char *path, const char *name, int64_t *ptr, TriggerFunc triggerFunc, int64_t step, int64_t lowerBound, int64_t upperBound, const char **strings)
|
|
||||||
{ return gDebugMenuAPI.addint64(path, name, ptr, triggerFunc, step, lowerBound, upperBound, strings); }
|
|
||||||
inline DebugMenuEntry *DebugMenuAddUInt8(const char *path, const char *name, uint8_t *ptr, TriggerFunc triggerFunc, uint8_t step, uint8_t lowerBound, uint8_t upperBound, const char **strings)
|
|
||||||
{ return gDebugMenuAPI.adduint8(path, name, ptr, triggerFunc, step, lowerBound, upperBound, strings); }
|
|
||||||
inline DebugMenuEntry *DebugMenuAddUInt16(const char *path, const char *name, uint16_t *ptr, TriggerFunc triggerFunc, uint16_t step, uint16_t lowerBound, uint16_t upperBound, const char **strings)
|
|
||||||
{ return gDebugMenuAPI.adduint16(path, name, ptr, triggerFunc, step, lowerBound, upperBound, strings); }
|
|
||||||
inline DebugMenuEntry *DebugMenuAddUInt32(const char *path, const char *name, uint32_t *ptr, TriggerFunc triggerFunc, uint32_t step, uint32_t lowerBound, uint32_t upperBound, const char **strings)
|
|
||||||
{ return gDebugMenuAPI.adduint32(path, name, ptr, triggerFunc, step, lowerBound, upperBound, strings); }
|
|
||||||
inline DebugMenuEntry *DebugMenuAddUInt64(const char *path, const char *name, uint64_t *ptr, TriggerFunc triggerFunc, uint64_t step, uint64_t lowerBound, uint64_t upperBound, const char **strings)
|
|
||||||
{ return gDebugMenuAPI.adduint64(path, name, ptr, triggerFunc, step, lowerBound, upperBound, strings); }
|
|
||||||
inline DebugMenuEntry *DebugMenuAddFloat32(const char *path, const char *name, float *ptr, TriggerFunc triggerFunc, float step, float lowerBound, float upperBound)
|
|
||||||
{ return gDebugMenuAPI.addfloat32(path, name, ptr, triggerFunc, step, lowerBound, upperBound); }
|
|
||||||
inline DebugMenuEntry *DebugMenuAddFloat64(const char *path, const char *name, double *ptr, TriggerFunc triggerFunc, double step, double lowerBound, double upperBound)
|
|
||||||
{ return gDebugMenuAPI.addfloat64(path, name, ptr, triggerFunc, step, lowerBound, upperBound); }
|
|
||||||
inline DebugMenuEntry *DebugMenuAddCmd(const char *path, const char *name, TriggerFunc triggerFunc)
|
|
||||||
{ return gDebugMenuAPI.addcmd(path, name, triggerFunc); }
|
|
||||||
inline void DebugMenuEntrySetWrap(DebugMenuEntry *e, bool wrap)
|
|
||||||
{ gDebugMenuAPI.setwrap(e, wrap); }
|
|
||||||
inline void DebugMenuEntrySetStrings(DebugMenuEntry *e, const char **strings)
|
|
||||||
{ gDebugMenuAPI.setstrings(e, strings); }
|
|
||||||
inline void DebugMenuEntrySetAddress(DebugMenuEntry *e, void *addr)
|
|
||||||
{ gDebugMenuAPI.setaddress(e, addr); }
|
|
||||||
|
|
||||||
inline bool DebugMenuLoad(void)
|
|
||||||
{
|
|
||||||
if(gDebugMenuAPI.isLoaded)
|
|
||||||
return true;
|
|
||||||
HMODULE mod = LoadLibraryA("debugmenu");
|
|
||||||
if(mod == nil){
|
|
||||||
char modulePath[MAX_PATH];
|
|
||||||
HMODULE dllModule;
|
|
||||||
GetModuleHandleExA(GET_MODULE_HANDLE_EX_FLAG_FROM_ADDRESS | GET_MODULE_HANDLE_EX_FLAG_UNCHANGED_REFCOUNT, (LPCTSTR)&gDebugMenuAPI, &dllModule);
|
|
||||||
GetModuleFileNameA(dllModule, modulePath, MAX_PATH);
|
|
||||||
char *p = strchr(modulePath, '\\');
|
|
||||||
if(p) p[1] = '\0';
|
|
||||||
strcat(modulePath, "debugmenu");
|
|
||||||
mod = LoadLibraryA(modulePath);
|
|
||||||
}
|
|
||||||
if(mod == nil)
|
|
||||||
return false;
|
|
||||||
gDebugMenuAPI.addint8 = (DebugMenuAddInt8_TYPE)GetProcAddress(mod, "DebugMenuAddInt8");
|
|
||||||
gDebugMenuAPI.addint16 = (DebugMenuAddInt16_TYPE)GetProcAddress(mod, "DebugMenuAddInt16");
|
|
||||||
gDebugMenuAPI.addint32 = (DebugMenuAddInt32_TYPE)GetProcAddress(mod, "DebugMenuAddInt32");
|
|
||||||
gDebugMenuAPI.addint64 = (DebugMenuAddInt64_TYPE)GetProcAddress(mod, "DebugMenuAddInt64");
|
|
||||||
gDebugMenuAPI.adduint8 = (DebugMenuAddUInt8_TYPE)GetProcAddress(mod, "DebugMenuAddUInt8");
|
|
||||||
gDebugMenuAPI.adduint16 = (DebugMenuAddUInt16_TYPE)GetProcAddress(mod, "DebugMenuAddUInt16");
|
|
||||||
gDebugMenuAPI.adduint32 = (DebugMenuAddUInt32_TYPE)GetProcAddress(mod, "DebugMenuAddUInt32");
|
|
||||||
gDebugMenuAPI.adduint64 = (DebugMenuAddUInt64_TYPE)GetProcAddress(mod, "DebugMenuAddUInt64");
|
|
||||||
gDebugMenuAPI.addfloat32 = (DebugMenuAddFloat32_TYPE)GetProcAddress(mod, "DebugMenuAddFloat32");
|
|
||||||
gDebugMenuAPI.addfloat64 = (DebugMenuAddFloat64_TYPE)GetProcAddress(mod, "DebugMenuAddFloat64");
|
|
||||||
gDebugMenuAPI.addcmd = (DebugMenuAddCmd_TYPE)GetProcAddress(mod, "DebugMenuAddCmd");
|
|
||||||
gDebugMenuAPI.setwrap = (DebugMenuEntrySetWrap_TYPE)GetProcAddress(mod, "DebugMenuEntrySetWrap");
|
|
||||||
gDebugMenuAPI.setstrings = (DebugMenuEntrySetStrings_TYPE)GetProcAddress(mod, "DebugMenuEntrySetStrings");
|
|
||||||
gDebugMenuAPI.setaddress = (DebugMenuEntrySetAddress_TYPE)GetProcAddress(mod, "DebugMenuEntrySetAddress");
|
|
||||||
gDebugMenuAPI.isLoaded = true;
|
|
||||||
gDebugMenuAPI.module = mod;
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
// Also overload them for simplicity
|
|
||||||
|
|
||||||
inline DebugMenuEntry *DebugMenuAddVar(const char *path, const char *name, int8_t *ptr, TriggerFunc triggerFunc, int8_t step, int8_t lowerBound, int8_t upperBound, const char **strings)
|
|
||||||
{ return gDebugMenuAPI.addint8(path, name, ptr, triggerFunc, step, lowerBound, upperBound, strings); }
|
|
||||||
inline DebugMenuEntry *DebugMenuAddVar(const char *path, const char *name, int16_t *ptr, TriggerFunc triggerFunc, int16_t step, int16_t lowerBound, int16_t upperBound, const char **strings)
|
|
||||||
{ return gDebugMenuAPI.addint16(path, name, ptr, triggerFunc, step, lowerBound, upperBound, strings); }
|
|
||||||
inline DebugMenuEntry *DebugMenuAddVar(const char *path, const char *name, int32_t *ptr, TriggerFunc triggerFunc, int32_t step, int32_t lowerBound, int32_t upperBound, const char **strings)
|
|
||||||
{ return gDebugMenuAPI.addint32(path, name, ptr, triggerFunc, step, lowerBound, upperBound, strings); }
|
|
||||||
inline DebugMenuEntry *DebugMenuAddVar(const char *path, const char *name, int64_t *ptr, TriggerFunc triggerFunc, int64_t step, int64_t lowerBound, int64_t upperBound, const char **strings)
|
|
||||||
{ return gDebugMenuAPI.addint64(path, name, ptr, triggerFunc, step, lowerBound, upperBound, strings); }
|
|
||||||
inline DebugMenuEntry *DebugMenuAddVar(const char *path, const char *name, uint8_t *ptr, TriggerFunc triggerFunc, uint8_t step, uint8_t lowerBound, uint8_t upperBound, const char **strings)
|
|
||||||
{ return gDebugMenuAPI.adduint8(path, name, ptr, triggerFunc, step, lowerBound, upperBound, strings); }
|
|
||||||
inline DebugMenuEntry *DebugMenuAddVar(const char *path, const char *name, uint16_t *ptr, TriggerFunc triggerFunc, uint16_t step, uint16_t lowerBound, uint16_t upperBound, const char **strings)
|
|
||||||
{ return gDebugMenuAPI.adduint16(path, name, ptr, triggerFunc, step, lowerBound, upperBound, strings); }
|
|
||||||
inline DebugMenuEntry *DebugMenuAddVar(const char *path, const char *name, uint32_t *ptr, TriggerFunc triggerFunc, uint32_t step, uint32_t lowerBound, uint32_t upperBound, const char **strings)
|
|
||||||
{ return gDebugMenuAPI.adduint32(path, name, ptr, triggerFunc, step, lowerBound, upperBound, strings); }
|
|
||||||
inline DebugMenuEntry *DebugMenuAddVar(const char *path, const char *name, uint64_t *ptr, TriggerFunc triggerFunc, uint64_t step, uint64_t lowerBound, uint64_t upperBound, const char **strings)
|
|
||||||
{ return gDebugMenuAPI.adduint64(path, name, ptr, triggerFunc, step, lowerBound, upperBound, strings); }
|
|
||||||
inline DebugMenuEntry *DebugMenuAddVar(const char *path, const char *name, float *ptr, TriggerFunc triggerFunc, float step, float lowerBound, float upperBound)
|
|
||||||
{ return gDebugMenuAPI.addfloat32(path, name, ptr, triggerFunc, step, lowerBound, upperBound); }
|
|
||||||
inline DebugMenuEntry *DebugMenuAddVar(const char *path, const char *name, double *ptr, TriggerFunc triggerFunc, double step, double lowerBound, double upperBound)
|
|
||||||
{ return gDebugMenuAPI.addfloat64(path, name, ptr, triggerFunc, step, lowerBound, upperBound); }
|
|
||||||
|
|
||||||
inline DebugMenuEntry *DebugMenuAddVarBool32(const char *path, const char *name, int32_t *ptr, TriggerFunc triggerFunc)
|
|
||||||
{
|
|
||||||
static const char *boolstr[] = { "Off", "On" };
|
|
||||||
DebugMenuEntry *e = DebugMenuAddVar(path, name, ptr, triggerFunc, 1, 0, 1, boolstr);
|
|
||||||
DebugMenuEntrySetWrap(e, true);
|
|
||||||
return e;
|
|
||||||
}
|
|
||||||
inline DebugMenuEntry *DebugMenuAddVarBool16(const char *path, const char *name, int16_t *ptr, TriggerFunc triggerFunc)
|
|
||||||
{
|
|
||||||
static const char *boolstr[] = { "Off", "On" };
|
|
||||||
DebugMenuEntry *e = DebugMenuAddVar(path, name, ptr, triggerFunc, 1, 0, 1, boolstr);
|
|
||||||
DebugMenuEntrySetWrap(e, true);
|
|
||||||
return e;
|
|
||||||
}
|
|
||||||
inline DebugMenuEntry *DebugMenuAddVarBool8(const char *path, const char *name, int8_t *ptr, TriggerFunc triggerFunc)
|
|
||||||
{
|
|
||||||
static const char *boolstr[] = { "Off", "On" };
|
|
||||||
DebugMenuEntry *e = DebugMenuAddVar(path, name, ptr, triggerFunc, 1, 0, 1, boolstr);
|
|
||||||
DebugMenuEntrySetWrap(e, true);
|
|
||||||
return e;
|
|
||||||
}
|
|
@ -59,6 +59,7 @@
|
|||||||
#include "timebars.h"
|
#include "timebars.h"
|
||||||
#include "GenericGameStorage.h"
|
#include "GenericGameStorage.h"
|
||||||
#include "SceneEdit.h"
|
#include "SceneEdit.h"
|
||||||
|
#include "debugmenu.h"
|
||||||
|
|
||||||
GlobalScene Scene;
|
GlobalScene Scene;
|
||||||
|
|
||||||
@ -90,9 +91,7 @@ void GameInit(void);
|
|||||||
void SystemInit(void);
|
void SystemInit(void);
|
||||||
void TheGame(void);
|
void TheGame(void);
|
||||||
|
|
||||||
extern void (*DebugMenuProcess)(void);
|
void DebugMenuInit(void) {}
|
||||||
extern void (*DebugMenuRender)(void);
|
|
||||||
void DebugMenuInit(void);
|
|
||||||
void DebugMenuPopulate(void);
|
void DebugMenuPopulate(void);
|
||||||
|
|
||||||
|
|
||||||
|
@ -17,7 +17,6 @@
|
|||||||
#include "Heli.h"
|
#include "Heli.h"
|
||||||
#include "Automobile.h"
|
#include "Automobile.h"
|
||||||
#include "Ped.h"
|
#include "Ped.h"
|
||||||
#include "debugmenu_public.h"
|
|
||||||
#include "Particle.h"
|
#include "Particle.h"
|
||||||
#include "Console.h"
|
#include "Console.h"
|
||||||
#include "Debug.h"
|
#include "Debug.h"
|
||||||
@ -26,6 +25,7 @@
|
|||||||
#include "Pad.h"
|
#include "Pad.h"
|
||||||
#include "PlayerPed.h"
|
#include "PlayerPed.h"
|
||||||
#include "Radar.h"
|
#include "Radar.h"
|
||||||
|
#include "debugmenu.h"
|
||||||
|
|
||||||
#include <list>
|
#include <list>
|
||||||
|
|
||||||
@ -33,8 +33,6 @@
|
|||||||
extern "C" int vsprintf(char* const _Buffer, char const* const _Format, va_list _ArgList);
|
extern "C" int vsprintf(char* const _Buffer, char const* const _Format, va_list _ArgList);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
DebugMenuAPI gDebugMenuAPI;
|
|
||||||
|
|
||||||
|
|
||||||
#ifdef USE_PS2_RAND
|
#ifdef USE_PS2_RAND
|
||||||
unsigned __int64 myrand_seed = 1;
|
unsigned __int64 myrand_seed = 1;
|
||||||
@ -62,24 +60,6 @@ mysrand(unsigned int seed)
|
|||||||
myrand_seed = seed;
|
myrand_seed = seed;
|
||||||
}
|
}
|
||||||
|
|
||||||
void (*DebugMenuProcess)(void);
|
|
||||||
void (*DebugMenuRender)(void);
|
|
||||||
static void stub(void) { }
|
|
||||||
|
|
||||||
void
|
|
||||||
DebugMenuInit(void)
|
|
||||||
{
|
|
||||||
if(DebugMenuLoad()){
|
|
||||||
DebugMenuProcess = (void(*)(void))GetProcAddress(gDebugMenuAPI.module, "DebugMenuProcess");
|
|
||||||
DebugMenuRender = (void(*)(void))GetProcAddress(gDebugMenuAPI.module, "DebugMenuRender");
|
|
||||||
}
|
|
||||||
if(DebugMenuProcess == nil || DebugMenuRender == nil){
|
|
||||||
DebugMenuProcess = stub;
|
|
||||||
DebugMenuRender = stub;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
void WeaponCheat();
|
void WeaponCheat();
|
||||||
void HealthCheat();
|
void HealthCheat();
|
||||||
void TankCheat();
|
void TankCheat();
|
||||||
@ -269,7 +249,7 @@ TWEAKSWITCH(CWeather::NewWeatherType, 0, 3, wt, NULL);
|
|||||||
void
|
void
|
||||||
DebugMenuPopulate(void)
|
DebugMenuPopulate(void)
|
||||||
{
|
{
|
||||||
if(DebugMenuLoad()){
|
if(1){
|
||||||
static const char *weathers[] = {
|
static const char *weathers[] = {
|
||||||
"Sunny", "Cloudy", "Rainy", "Foggy"
|
"Sunny", "Cloudy", "Rainy", "Foggy"
|
||||||
};
|
};
|
||||||
@ -284,7 +264,7 @@ DebugMenuPopulate(void)
|
|||||||
e = DebugMenuAddVar("Time & Weather", "New Weather", (int16*)&CWeather::NewWeatherType, nil, 1, 0, 3, weathers);
|
e = DebugMenuAddVar("Time & Weather", "New Weather", (int16*)&CWeather::NewWeatherType, nil, 1, 0, 3, weathers);
|
||||||
DebugMenuEntrySetWrap(e, true);
|
DebugMenuEntrySetWrap(e, true);
|
||||||
DebugMenuAddVar("Time & Weather", "Wind", (float*)&CWeather::Wind, nil, 0.1f, 0.0f, 1.0f);
|
DebugMenuAddVar("Time & Weather", "Wind", (float*)&CWeather::Wind, nil, 0.1f, 0.0f, 1.0f);
|
||||||
DebugMenuAddVar("Time & Weather", "Time scale", (float*)0x8F2C20, nil, 0.1f, 0.0f, 10.0f);
|
DebugMenuAddVar("Time & Weather", "Time scale", (float*)&CTimer::GetTimeScale(), nil, 0.1f, 0.0f, 10.0f);
|
||||||
|
|
||||||
DebugMenuAddCmd("Cheats", "Weapons", WeaponCheat);
|
DebugMenuAddCmd("Cheats", "Weapons", WeaponCheat);
|
||||||
DebugMenuAddCmd("Cheats", "Money", MoneyCheat);
|
DebugMenuAddCmd("Cheats", "Money", MoneyCheat);
|
||||||
@ -357,7 +337,7 @@ DebugMenuPopulate(void)
|
|||||||
DebugMenuAddCmd("Debug", "Catalina Fly By", CHeli::StartCatalinaFlyBy);
|
DebugMenuAddCmd("Debug", "Catalina Fly By", CHeli::StartCatalinaFlyBy);
|
||||||
DebugMenuAddCmd("Debug", "Catalina Take Off", CHeli::CatalinaTakeOff);
|
DebugMenuAddCmd("Debug", "Catalina Take Off", CHeli::CatalinaTakeOff);
|
||||||
DebugMenuAddCmd("Debug", "Catalina Fly Away", CHeli::MakeCatalinaHeliFlyAway);
|
DebugMenuAddCmd("Debug", "Catalina Fly Away", CHeli::MakeCatalinaHeliFlyAway);
|
||||||
DebugMenuAddVarBool8("Debug", "Script Heli On", (int8*)0x95CD43, nil);
|
DebugMenuAddVarBool8("Debug", "Script Heli On", (int8*)&CHeli::ScriptHeliOn, nil);
|
||||||
|
|
||||||
DebugMenuAddVarBool8("Debug", "Show Ped Paths", (int8*)&gbShowPedPaths, nil);
|
DebugMenuAddVarBool8("Debug", "Show Ped Paths", (int8*)&gbShowPedPaths, nil);
|
||||||
DebugMenuAddVarBool8("Debug", "Show Car Paths", (int8*)&gbShowCarPaths, nil);
|
DebugMenuAddVarBool8("Debug", "Show Car Paths", (int8*)&gbShowCarPaths, nil);
|
||||||
@ -397,18 +377,6 @@ DebugMenuPopulate(void)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
|
||||||
int (*RsEventHandler_orig)(int a, int b);
|
|
||||||
int
|
|
||||||
delayedPatches10(int a, int b)
|
|
||||||
{
|
|
||||||
DebugMenuInit();
|
|
||||||
DebugMenuPopulate();
|
|
||||||
|
|
||||||
return RsEventHandler_orig(a, b);
|
|
||||||
}
|
|
||||||
*/
|
|
||||||
|
|
||||||
const int re3_buffsize = 1024;
|
const int re3_buffsize = 1024;
|
||||||
static char re3_buff[re3_buffsize];
|
static char re3_buff[re3_buffsize];
|
||||||
|
|
||||||
|
16
src/extras/arrow.inc
Normal file
16
src/extras/arrow.inc
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
|
||||||
|
0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
16
src/extras/cursor.inc
Normal file
16
src/extras/cursor.inc
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
|
||||||
|
255, 255, 255, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 255, 255, 255, 255,
|
||||||
|
255, 255, 255, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 255, 255, 255, 255, 119, 119, 119, 0,
|
||||||
|
255, 255, 255, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 119, 119, 119, 0, 119, 119, 119, 0,
|
||||||
|
255, 255, 255, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 255, 255, 255, 255, 119, 119, 119, 0, 119, 119, 119, 0, 119, 119, 119, 0, 119, 119, 119, 0,
|
||||||
|
255, 255, 255, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 255, 255, 255, 255, 119, 119, 119, 0, 119, 119, 119, 0, 119, 119, 119, 0, 119, 119, 119, 0,
|
||||||
|
255, 255, 255, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 255, 255, 255, 255, 119, 119, 119, 0, 119, 119, 119, 0, 119, 119, 119, 0,
|
||||||
|
255, 255, 255, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 255, 255, 255, 255, 119, 119, 119, 0, 119, 119, 119, 0,
|
||||||
|
255, 255, 255, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 255, 255, 255, 255, 119, 119, 119, 0,
|
||||||
|
255, 255, 255, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 255, 255, 255, 255,
|
||||||
|
255, 255, 255, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 255, 255, 255, 255, 119, 119, 119, 0,
|
||||||
|
255, 255, 255, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 255, 255, 255, 255, 119, 119, 119, 0, 119, 119, 119, 0,
|
||||||
|
255, 255, 255, 255, 0, 0, 0, 255, 0, 0, 0, 255, 255, 255, 255, 255, 119, 119, 119, 0, 119, 119, 119, 0, 255, 255, 255, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 255, 255, 255, 255, 119, 119, 119, 0, 119, 119, 119, 0, 119, 119, 119, 0,
|
||||||
|
255, 255, 255, 255, 0, 0, 0, 255, 0, 0, 0, 255, 255, 255, 255, 255, 119, 119, 119, 0, 119, 119, 119, 0, 119, 119, 119, 0, 255, 255, 255, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 255, 255, 255, 255, 119, 119, 119, 0, 119, 119, 119, 0, 119, 119, 119, 0, 119, 119, 119, 0,
|
||||||
|
255, 255, 255, 255, 0, 0, 0, 255, 255, 255, 255, 255, 119, 119, 119, 0, 119, 119, 119, 0, 119, 119, 119, 0, 119, 119, 119, 0, 119, 119, 119, 0, 255, 255, 255, 255, 0, 0, 0, 255, 255, 255, 255, 255, 119, 119, 119, 0, 119, 119, 119, 0, 119, 119, 119, 0, 119, 119, 119, 0, 119, 119, 119, 0,
|
||||||
|
255, 255, 255, 255, 255, 255, 255, 255, 119, 119, 119, 0, 119, 119, 119, 0, 119, 119, 119, 0, 119, 119, 119, 0, 119, 119, 119, 0, 119, 119, 119, 0, 119, 119, 119, 0, 255, 255, 255, 255, 119, 119, 119, 0, 119, 119, 119, 0, 119, 119, 119, 0, 119, 119, 119, 0, 119, 119, 119, 0, 119, 119, 119, 0,
|
1268
src/extras/debugmenu.cpp
Normal file
1268
src/extras/debugmenu.cpp
Normal file
File diff suppressed because it is too large
Load Diff
80
src/extras/debugmenu.h
Normal file
80
src/extras/debugmenu.h
Normal file
@ -0,0 +1,80 @@
|
|||||||
|
#pragma once
|
||||||
|
|
||||||
|
typedef void (*TriggerFunc)(void);
|
||||||
|
|
||||||
|
struct Menu;
|
||||||
|
|
||||||
|
struct MenuEntry
|
||||||
|
{
|
||||||
|
int type;
|
||||||
|
const char *name;
|
||||||
|
MenuEntry *next;
|
||||||
|
RwRect r;
|
||||||
|
Menu *menu;
|
||||||
|
|
||||||
|
MenuEntry(const char *name);
|
||||||
|
};
|
||||||
|
|
||||||
|
typedef MenuEntry DebugMenuEntry;
|
||||||
|
|
||||||
|
MenuEntry *DebugMenuAddInt8(const char *path, const char *name, int8 *ptr, TriggerFunc triggerFunc, int8 step, int8 lowerBound, int8 upperBound, const char **strings);
|
||||||
|
MenuEntry *DebugMenuAddInt16(const char *path, const char *name, int16 *ptr, TriggerFunc triggerFunc, int16 step, int16 lowerBound, int16 upperBound, const char **strings);
|
||||||
|
MenuEntry *DebugMenuAddInt32(const char *path, const char *name, int32 *ptr, TriggerFunc triggerFunc, int32 step, int32 lowerBound, int32 upperBound, const char **strings);
|
||||||
|
MenuEntry *DebugMenuAddInt64(const char *path, const char *name, int64 *ptr, TriggerFunc triggerFunc, int64 step, int64 lowerBound, int64 upperBound, const char **strings);
|
||||||
|
MenuEntry *DebugMenuAddUInt8(const char *path, const char *name, uint8 *ptr, TriggerFunc triggerFunc, uint8 step, uint8 lowerBound, uint8 upperBound, const char **strings);
|
||||||
|
MenuEntry *DebugMenuAddUInt16(const char *path, const char *name, uint16 *ptr, TriggerFunc triggerFunc, uint16 step, uint16 lowerBound, uint16 upperBound, const char **strings);
|
||||||
|
MenuEntry *DebugMenuAddUInt32(const char *path, const char *name, uint32 *ptr, TriggerFunc triggerFunc, uint32 step, uint32 lowerBound, uint32 upperBound, const char **strings);
|
||||||
|
MenuEntry *DebugMenuAddUInt64(const char *path, const char *name, uint64 *ptr, TriggerFunc triggerFunc, uint64 step, uint64 lowerBound, uint64 upperBound, const char **strings);
|
||||||
|
MenuEntry *DebugMenuAddFloat32(const char *path, const char *name, float *ptr, TriggerFunc triggerFunc, float step, float lowerBound, float upperBound);
|
||||||
|
MenuEntry *DebugMenuAddFloat64(const char *path, const char *name, double *ptr, TriggerFunc triggerFunc, double step, double lowerBound, double upperBound);
|
||||||
|
MenuEntry *DebugMenuAddCmd(const char *path, const char *name, TriggerFunc triggerFunc);
|
||||||
|
void DebugMenuEntrySetWrap(MenuEntry *e, bool wrap);
|
||||||
|
void DebugMenuEntrySetStrings(MenuEntry *e, const char **strings);
|
||||||
|
void DebugMenuEntrySetAddress(MenuEntry *e, void *addr);
|
||||||
|
void DebugMenuProcess(void);
|
||||||
|
void DebugMenuRender(void);
|
||||||
|
|
||||||
|
|
||||||
|
// Some overloads for simplicity
|
||||||
|
inline DebugMenuEntry *DebugMenuAddVar(const char *path, const char *name, int8_t *ptr, TriggerFunc triggerFunc, int8_t step, int8_t lowerBound, int8_t upperBound, const char **strings)
|
||||||
|
{ return DebugMenuAddInt8(path, name, ptr, triggerFunc, step, lowerBound, upperBound, strings); }
|
||||||
|
inline DebugMenuEntry *DebugMenuAddVar(const char *path, const char *name, int16_t *ptr, TriggerFunc triggerFunc, int16_t step, int16_t lowerBound, int16_t upperBound, const char **strings)
|
||||||
|
{ return DebugMenuAddInt16(path, name, ptr, triggerFunc, step, lowerBound, upperBound, strings); }
|
||||||
|
inline DebugMenuEntry *DebugMenuAddVar(const char *path, const char *name, int32_t *ptr, TriggerFunc triggerFunc, int32_t step, int32_t lowerBound, int32_t upperBound, const char **strings)
|
||||||
|
{ return DebugMenuAddInt32(path, name, ptr, triggerFunc, step, lowerBound, upperBound, strings); }
|
||||||
|
inline DebugMenuEntry *DebugMenuAddVar(const char *path, const char *name, int64_t *ptr, TriggerFunc triggerFunc, int64_t step, int64_t lowerBound, int64_t upperBound, const char **strings)
|
||||||
|
{ return DebugMenuAddInt64(path, name, ptr, triggerFunc, step, lowerBound, upperBound, strings); }
|
||||||
|
inline DebugMenuEntry *DebugMenuAddVar(const char *path, const char *name, uint8_t *ptr, TriggerFunc triggerFunc, uint8_t step, uint8_t lowerBound, uint8_t upperBound, const char **strings)
|
||||||
|
{ return DebugMenuAddUInt8(path, name, ptr, triggerFunc, step, lowerBound, upperBound, strings); }
|
||||||
|
inline DebugMenuEntry *DebugMenuAddVar(const char *path, const char *name, uint16_t *ptr, TriggerFunc triggerFunc, uint16_t step, uint16_t lowerBound, uint16_t upperBound, const char **strings)
|
||||||
|
{ return DebugMenuAddUInt16(path, name, ptr, triggerFunc, step, lowerBound, upperBound, strings); }
|
||||||
|
inline DebugMenuEntry *DebugMenuAddVar(const char *path, const char *name, uint32_t *ptr, TriggerFunc triggerFunc, uint32_t step, uint32_t lowerBound, uint32_t upperBound, const char **strings)
|
||||||
|
{ return DebugMenuAddUInt32(path, name, ptr, triggerFunc, step, lowerBound, upperBound, strings); }
|
||||||
|
inline DebugMenuEntry *DebugMenuAddVar(const char *path, const char *name, uint64_t *ptr, TriggerFunc triggerFunc, uint64_t step, uint64_t lowerBound, uint64_t upperBound, const char **strings)
|
||||||
|
{ return DebugMenuAddUInt64(path, name, ptr, triggerFunc, step, lowerBound, upperBound, strings); }
|
||||||
|
inline DebugMenuEntry *DebugMenuAddVar(const char *path, const char *name, float *ptr, TriggerFunc triggerFunc, float step, float lowerBound, float upperBound)
|
||||||
|
{ return DebugMenuAddFloat32(path, name, ptr, triggerFunc, step, lowerBound, upperBound); }
|
||||||
|
inline DebugMenuEntry *DebugMenuAddVar(const char *path, const char *name, double *ptr, TriggerFunc triggerFunc, double step, double lowerBound, double upperBound)
|
||||||
|
{ return DebugMenuAddFloat64(path, name, ptr, triggerFunc, step, lowerBound, upperBound); }
|
||||||
|
|
||||||
|
inline DebugMenuEntry *DebugMenuAddVarBool32(const char *path, const char *name, int32_t *ptr, TriggerFunc triggerFunc)
|
||||||
|
{
|
||||||
|
static const char *boolstr[] = { "Off", "On" };
|
||||||
|
DebugMenuEntry *e = DebugMenuAddVar(path, name, ptr, triggerFunc, 1, 0, 1, boolstr);
|
||||||
|
DebugMenuEntrySetWrap(e, true);
|
||||||
|
return e;
|
||||||
|
}
|
||||||
|
inline DebugMenuEntry *DebugMenuAddVarBool16(const char *path, const char *name, int16_t *ptr, TriggerFunc triggerFunc)
|
||||||
|
{
|
||||||
|
static const char *boolstr[] = { "Off", "On" };
|
||||||
|
DebugMenuEntry *e = DebugMenuAddVar(path, name, ptr, triggerFunc, 1, 0, 1, boolstr);
|
||||||
|
DebugMenuEntrySetWrap(e, true);
|
||||||
|
return e;
|
||||||
|
}
|
||||||
|
inline DebugMenuEntry *DebugMenuAddVarBool8(const char *path, const char *name, int8_t *ptr, TriggerFunc triggerFunc)
|
||||||
|
{
|
||||||
|
static const char *boolstr[] = { "Off", "On" };
|
||||||
|
DebugMenuEntry *e = DebugMenuAddVar(path, name, ptr, triggerFunc, 1, 0, 1, boolstr);
|
||||||
|
DebugMenuEntrySetWrap(e, true);
|
||||||
|
return e;
|
||||||
|
}
|
216
src/extras/inttypes.h
Normal file
216
src/extras/inttypes.h
Normal file
@ -0,0 +1,216 @@
|
|||||||
|
#define PRId8 "hhd"
|
||||||
|
#define PRId16 "hd"
|
||||||
|
#define PRId32 "ld"
|
||||||
|
#define PRId64 "lld"
|
||||||
|
|
||||||
|
#define PRIdFAST8 "hhd"
|
||||||
|
#define PRIdFAST16 "hd"
|
||||||
|
#define PRIdFAST32 "ld"
|
||||||
|
#define PRIdFAST64 "lld"
|
||||||
|
|
||||||
|
#define PRIdLEAST8 "hhd"
|
||||||
|
#define PRIdLEAST16 "hd"
|
||||||
|
#define PRIdLEAST32 "ld"
|
||||||
|
#define PRIdLEAST64 "lld"
|
||||||
|
|
||||||
|
#define PRIdMAX "lld"
|
||||||
|
#define PRIdPTR "lld"
|
||||||
|
|
||||||
|
#define PRIi8 "hhi"
|
||||||
|
#define PRIi16 "hi"
|
||||||
|
#define PRIi32 "li"
|
||||||
|
#define PRIi64 "lli"
|
||||||
|
|
||||||
|
#define PRIiFAST8 "hhi"
|
||||||
|
#define PRIiFAST16 "hi"
|
||||||
|
#define PRIiFAST32 "li"
|
||||||
|
#define PRIiFAST64 "lli"
|
||||||
|
|
||||||
|
#define PRIiLEAST8 "hhi"
|
||||||
|
#define PRIiLEAST16 "hi"
|
||||||
|
#define PRIiLEAST32 "li"
|
||||||
|
#define PRIiLEAST64 "lli"
|
||||||
|
|
||||||
|
#define PRIiMAX "lli"
|
||||||
|
#define PRIiPTR "lli"
|
||||||
|
|
||||||
|
#define PRIo8 "hho"
|
||||||
|
#define PRIo16 "ho"
|
||||||
|
#define PRIo32 "lo"
|
||||||
|
#define PRIo64 "llo"
|
||||||
|
|
||||||
|
#define PRIoFAST8 "hho"
|
||||||
|
#define PRIoFAST16 "ho"
|
||||||
|
#define PRIoFAST32 "lo"
|
||||||
|
#define PRIoFAST64 "llo"
|
||||||
|
|
||||||
|
#define PRIoLEAST8 "hho"
|
||||||
|
#define PRIoLEAST16 "ho"
|
||||||
|
#define PRIoLEAST32 "lo"
|
||||||
|
#define PRIoLEAST64 "llo"
|
||||||
|
|
||||||
|
#define PRIoMAX "llo"
|
||||||
|
#define PRIoPTR "llo"
|
||||||
|
|
||||||
|
#define PRIu8 "hhu"
|
||||||
|
#define PRIu16 "hu"
|
||||||
|
#define PRIu32 "lu"
|
||||||
|
#define PRIu64 "llu"
|
||||||
|
|
||||||
|
#define PRIuFAST8 "hhu"
|
||||||
|
#define PRIuFAST16 "hu"
|
||||||
|
#define PRIuFAST32 "lu"
|
||||||
|
#define PRIuFAST64 "llu"
|
||||||
|
|
||||||
|
#define PRIuLEAST8 "hhu"
|
||||||
|
#define PRIuLEAST16 "hu"
|
||||||
|
#define PRIuLEAST32 "lu"
|
||||||
|
#define PRIuLEAST64 "llu"
|
||||||
|
|
||||||
|
#define PRIuMAX "llu"
|
||||||
|
#define PRIuPTR "llu"
|
||||||
|
|
||||||
|
#define PRIx8 "hhx"
|
||||||
|
#define PRIx16 "hx"
|
||||||
|
#define PRIx32 "lx"
|
||||||
|
#define PRIx64 "llx"
|
||||||
|
|
||||||
|
#define PRIxFAST8 "hhx"
|
||||||
|
#define PRIxFAST16 "hx"
|
||||||
|
#define PRIxFAST32 "lx"
|
||||||
|
#define PRIxFAST64 "llx"
|
||||||
|
|
||||||
|
#define PRIxLEAST8 "hhx"
|
||||||
|
#define PRIxLEAST16 "hx"
|
||||||
|
#define PRIxLEAST32 "lx"
|
||||||
|
#define PRIxLEAST64 "llx"
|
||||||
|
|
||||||
|
#define PRIxMAX "llx"
|
||||||
|
#define PRIxPTR "llx"
|
||||||
|
|
||||||
|
#define PRIX8 "hhX"
|
||||||
|
#define PRIX16 "hX"
|
||||||
|
#define PRIX32 "lX"
|
||||||
|
#define PRIX64 "llX"
|
||||||
|
|
||||||
|
#define PRIXFAST8 "hhX"
|
||||||
|
#define PRIXFAST16 "hX"
|
||||||
|
#define PRIXFAST32 "lX"
|
||||||
|
#define PRIXFAST64 "llX"
|
||||||
|
|
||||||
|
#define PRIXLEAST8 "hhX"
|
||||||
|
#define PRIXLEAST16 "hX"
|
||||||
|
#define PRIXLEAST32 "lX"
|
||||||
|
#define PRIXLEAST64 "llX"
|
||||||
|
|
||||||
|
#define PRIXMAX "llX"
|
||||||
|
#define PRIXPTR "llX"
|
||||||
|
|
||||||
|
/* SCAN FORMAT MACROS */
|
||||||
|
#define SCNd8 "hhd"
|
||||||
|
#define SCNd16 "hd"
|
||||||
|
#define SCNd32 "ld"
|
||||||
|
#define SCNd64 "lld"
|
||||||
|
|
||||||
|
#define SCNdFAST8 "hhd"
|
||||||
|
#define SCNdFAST16 "hd"
|
||||||
|
#define SCNdFAST32 "ld"
|
||||||
|
#define SCNdFAST64 "lld"
|
||||||
|
|
||||||
|
#define SCNdLEAST8 "hhd"
|
||||||
|
#define SCNdLEAST16 "hd"
|
||||||
|
#define SCNdLEAST32 "ld"
|
||||||
|
#define SCNdLEAST64 "lld"
|
||||||
|
|
||||||
|
#define SCNdMAX "lld"
|
||||||
|
#define SCNdPTR "lld"
|
||||||
|
|
||||||
|
#define SCNi8 "hhi"
|
||||||
|
#define SCNi16 "hi"
|
||||||
|
#define SCNi32 "li"
|
||||||
|
#define SCNi64 "lli"
|
||||||
|
|
||||||
|
#define SCNiFAST8 "hhi"
|
||||||
|
#define SCNiFAST16 "hi"
|
||||||
|
#define SCNiFAST32 "li"
|
||||||
|
#define SCNiFAST64 "lli"
|
||||||
|
|
||||||
|
#define SCNiLEAST8 "hhi"
|
||||||
|
#define SCNiLEAST16 "hi"
|
||||||
|
#define SCNiLEAST32 "li"
|
||||||
|
#define SCNiLEAST64 "lli"
|
||||||
|
|
||||||
|
#define SCNiMAX "lli"
|
||||||
|
#define SCNiPTR "lli"
|
||||||
|
|
||||||
|
#define SCNo8 "hho"
|
||||||
|
#define SCNo16 "ho"
|
||||||
|
#define SCNo32 "lo"
|
||||||
|
#define SCNo64 "llo"
|
||||||
|
|
||||||
|
#define SCNoFAST8 "hho"
|
||||||
|
#define SCNoFAST16 "ho"
|
||||||
|
#define SCNoFAST32 "lo"
|
||||||
|
#define SCNoFAST64 "llo"
|
||||||
|
|
||||||
|
#define SCNoLEAST8 "hho"
|
||||||
|
#define SCNoLEAST16 "ho"
|
||||||
|
#define SCNoLEAST32 "lo"
|
||||||
|
#define SCNoLEAST64 "llo"
|
||||||
|
|
||||||
|
#define SCNoMAX "llo"
|
||||||
|
#define SCNoPTR "llo"
|
||||||
|
|
||||||
|
#define SCNu8 "hhu"
|
||||||
|
#define SCNu16 "hu"
|
||||||
|
#define SCNu32 "lu"
|
||||||
|
#define SCNu64 "llu"
|
||||||
|
|
||||||
|
#define SCNuFAST8 "hhu"
|
||||||
|
#define SCNuFAST16 "hu"
|
||||||
|
#define SCNuFAST32 "lu"
|
||||||
|
#define SCNuFAST64 "llu"
|
||||||
|
|
||||||
|
#define SCNuLEAST8 "hhu"
|
||||||
|
#define SCNuLEAST16 "hu"
|
||||||
|
#define SCNuLEAST32 "lu"
|
||||||
|
#define SCNuLEAST64 "llu"
|
||||||
|
|
||||||
|
#define SCNuMAX "llu"
|
||||||
|
#define SCNuPTR "llu"
|
||||||
|
|
||||||
|
#define SCNx8 "hhx"
|
||||||
|
#define SCNx16 "hx"
|
||||||
|
#define SCNx32 "lx"
|
||||||
|
#define SCNx64 "llx"
|
||||||
|
|
||||||
|
#define SCNxFAST8 "hhx"
|
||||||
|
#define SCNxFAST16 "hx"
|
||||||
|
#define SCNxFAST32 "lx"
|
||||||
|
#define SCNxFAST64 "llx"
|
||||||
|
|
||||||
|
#define SCNxLEAST8 "hhx"
|
||||||
|
#define SCNxLEAST16 "hx"
|
||||||
|
#define SCNxLEAST32 "lx"
|
||||||
|
#define SCNxLEAST64 "llx"
|
||||||
|
|
||||||
|
#define SCNxMAX "llx"
|
||||||
|
#define SCNxPTR "llx"
|
||||||
|
|
||||||
|
#define SCNX8 "hhX"
|
||||||
|
#define SCNX16 "hX"
|
||||||
|
#define SCNX32 "lX"
|
||||||
|
#define SCNX64 "llX"
|
||||||
|
|
||||||
|
#define SCNXFAST8 "hhX"
|
||||||
|
#define SCNXFAST16 "hX"
|
||||||
|
#define SCNXFAST32 "lX"
|
||||||
|
#define SCNXFAST64 "llX"
|
||||||
|
|
||||||
|
#define SCNXLEAST8 "hhX"
|
||||||
|
#define SCNXLEAST16 "hX"
|
||||||
|
#define SCNXLEAST32 "lX"
|
||||||
|
#define SCNXLEAST64 "llX"
|
||||||
|
|
||||||
|
#define SCNXMAX "llX"
|
||||||
|
#define SCNXPTR "llX"
|
@ -176,8 +176,8 @@ const RwChar *RwImageSetPath(const RwChar * path) { Image::setSearchPath(path);
|
|||||||
RwImage *RwImageSetStride(RwImage * image, RwInt32 stride) { image->stride = stride; return image; }
|
RwImage *RwImageSetStride(RwImage * image, RwInt32 stride) { image->stride = stride; return image; }
|
||||||
RwImage *RwImageSetPixels(RwImage * image, RwUInt8 * pixels) { image->pixels = pixels; return image; }
|
RwImage *RwImageSetPixels(RwImage * image, RwUInt8 * pixels) { image->pixels = pixels; return image; }
|
||||||
RwImage *RwImageSetPalette(RwImage * image, RwRGBA * palette) { image->palette = (uint8*)palette; return image; }
|
RwImage *RwImageSetPalette(RwImage * image, RwRGBA * palette) { image->palette = (uint8*)palette; return image; }
|
||||||
RwInt32 RwImageGetWidth(const RwImage * image);
|
RwInt32 RwImageGetWidth(const RwImage * image) { return image->width; }
|
||||||
RwInt32 RwImageGetHeight(const RwImage * image);
|
RwInt32 RwImageGetHeight(const RwImage * image) { return image->height; }
|
||||||
RwInt32 RwImageGetDepth(const RwImage * image);
|
RwInt32 RwImageGetDepth(const RwImage * image);
|
||||||
RwInt32 RwImageGetStride(const RwImage * image);
|
RwInt32 RwImageGetStride(const RwImage * image);
|
||||||
RwUInt8 *RwImageGetPixels(const RwImage * image);
|
RwUInt8 *RwImageGetPixels(const RwImage * image);
|
||||||
|
@ -9,12 +9,20 @@
|
|||||||
RtCharset *debugCharset;
|
RtCharset *debugCharset;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
static bool charsetOpen;
|
||||||
|
void OpenCharsetSafe()
|
||||||
|
{
|
||||||
|
if(!charsetOpen)
|
||||||
|
RtCharsetOpen();
|
||||||
|
charsetOpen = true;
|
||||||
|
}
|
||||||
|
|
||||||
void CreateDebugFont()
|
void CreateDebugFont()
|
||||||
{
|
{
|
||||||
#ifndef FINAL
|
#ifndef FINAL
|
||||||
RwRGBA color = { 255, 255, 128, 255 };
|
RwRGBA color = { 255, 255, 128, 255 };
|
||||||
RwRGBA colorbg = { 0, 0, 0, 0 };
|
RwRGBA colorbg = { 0, 0, 0, 0 };
|
||||||
RtCharsetOpen();
|
OpenCharsetSafe();
|
||||||
debugCharset = RtCharsetCreate(&color, &colorbg);
|
debugCharset = RtCharsetCreate(&color, &colorbg);
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
@ -24,6 +32,7 @@ void DestroyDebugFont()
|
|||||||
#ifndef FINAL
|
#ifndef FINAL
|
||||||
RtCharsetDestroy(debugCharset);
|
RtCharsetDestroy(debugCharset);
|
||||||
RtCharsetClose();
|
RtCharsetClose();
|
||||||
|
charsetOpen = false;
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -3,6 +3,7 @@
|
|||||||
void *RwMallocAlign(RwUInt32 size, RwUInt32 align);
|
void *RwMallocAlign(RwUInt32 size, RwUInt32 align);
|
||||||
void RwFreeAlign(void *mem);
|
void RwFreeAlign(void *mem);
|
||||||
|
|
||||||
|
void OpenCharsetSafe();
|
||||||
void CreateDebugFont();
|
void CreateDebugFont();
|
||||||
void DestroyDebugFont();
|
void DestroyDebugFont();
|
||||||
void ObrsPrintfString(const char *str, short x, short y);
|
void ObrsPrintfString(const char *str, short x, short y);
|
||||||
|
Loading…
Reference in New Issue
Block a user