mirror of
https://github.com/extremscorner/not64.git
synced 2024-05-15 18:44:56 -04:00
Added Wii Remote +Control Pad as analog source.
Added AutoLoadSave option.
Fixed regression from 03b282c295
.
This commit is contained in:
parent
e2dda1385e
commit
75c0d1ae96
|
@ -43,7 +43,7 @@ static float getStickValue(joystick_t* j, int axis, float maxAbsValue){
|
|||
enum {
|
||||
NUNCHUK_AS_ANALOG, IR_AS_ANALOG,
|
||||
TILT_AS_ANALOG, WHEEL_AS_ANALOG,
|
||||
NO_ANALOG,
|
||||
BUTTON_AS_ANALOG, NO_ANALOG,
|
||||
};
|
||||
|
||||
enum {
|
||||
|
@ -84,7 +84,8 @@ static button_t analog_sources_wm[] = {
|
|||
{ 0, TILT_AS_ANALOG, "Tilt" },
|
||||
{ 1, WHEEL_AS_ANALOG, "Wheel" },
|
||||
{ 2, IR_AS_ANALOG, "IR" },
|
||||
{ 3, NO_ANALOG, "None" },
|
||||
{ 3, BUTTON_AS_ANALOG, "D-Pad" },
|
||||
{ 4, NO_ANALOG, "None" },
|
||||
};
|
||||
|
||||
static button_t menu_combos[] = {
|
||||
|
@ -147,6 +148,15 @@ static int _GetKeys(int Control, BUTTONS * Keys, controller_config_t* config,
|
|||
} else if(config->analog->mask == WHEEL_AS_ANALOG){
|
||||
c->X_AXIS = 512 - wpad->accel.y;
|
||||
c->Y_AXIS = wpad->accel.z - 512;
|
||||
} else if(config->analog->mask == BUTTON_AS_ANALOG){
|
||||
if(b & WPAD_BUTTON_DOWN)
|
||||
c->X_AXIS = +80;
|
||||
else if(b & WPAD_BUTTON_UP)
|
||||
c->X_AXIS = -80;
|
||||
if(b & WPAD_BUTTON_RIGHT)
|
||||
c->Y_AXIS = +80;
|
||||
else if(b & WPAD_BUTTON_LEFT)
|
||||
c->Y_AXIS = -80;
|
||||
}
|
||||
if(config->invertedY) c->Y_AXIS = -c->Y_AXIS;
|
||||
|
||||
|
|
|
@ -383,23 +383,23 @@ const struct
|
|||
{ // 4-bit
|
||||
{ GXGetI4_IA4, GX_TF_IA4, 1, 4, 8192 }, // RGBA as I
|
||||
{ GetNone, GX_TF_I4, 0, 4, 8192 }, // YUV
|
||||
{ GXGetCI4RGBA_RGB5A3, GX_TF_RGB5A3, 2, 4, 4096 }, // CI without palette
|
||||
{ GXGetCI4RGBA_RGB5A3, GX_TF_RGB5A3, 2, 4, 4096 }, // CI as I (FIXME)
|
||||
{ GXGetIA31_IA4, GX_TF_IA4, 1, 4, 8192 }, // IA
|
||||
{ GXGetI4_IA4, GX_TF_IA4, 1, 4, 8192 }, // I
|
||||
},
|
||||
{ // 8-bit
|
||||
{ GXGetI8_IA8, GX_TF_IA8, 2, 3, 4096 }, // RGBA as I
|
||||
{ GetNone, GX_TF_I4, 0, 3, 4096 }, // YUV
|
||||
{ GXGetI8_IA8, GX_TF_IA8, 2, 3, 4096 }, // CI without palette
|
||||
{ GXGetCI8RGBA_RGB5A3, GX_TF_RGB5A3, 2, 3, 2048 }, // CI as I (FIXME)
|
||||
{ GXGetIA44_IA4, GX_TF_IA4, 1, 3, 4096 }, // IA
|
||||
{ GXGetI8_IA8, GX_TF_IA8, 2, 3, 4096 }, // I
|
||||
},
|
||||
{ // 16-bit
|
||||
{ GXGetRGBA5551_RGB5A3, GX_TF_RGB5A3, 2, 2, 2048 }, // RGBA
|
||||
{ GXGetUYVY8888_RGBA8, GX_TF_RGBA8, 4, 2, 2048 }, // YUV
|
||||
{ GXGetIA88_IA8, GX_TF_IA8, 2, 2, 2048 }, // CI as IA
|
||||
{ GXGetCI16RGBA_RGB5A3, GX_TF_RGB5A3, 2, 2, 1024 }, // CI as I (FIXME)
|
||||
{ GXGetIA88_IA8, GX_TF_IA8, 2, 2, 2048 }, // IA
|
||||
{ GetNone, GX_TF_I4, 0, 2, 2048 }, // I
|
||||
{ GXGetIA88_IA8, GX_TF_RGBA8, 4, 2, 2048 }, // I
|
||||
},
|
||||
{ // 32-bit
|
||||
{ GXGetRGBA8888_RGBA8, GX_TF_RGBA8, 4, 2, 1024 }, // RGBA
|
||||
|
@ -411,28 +411,28 @@ const struct
|
|||
},
|
||||
{ // DUMMY
|
||||
{ // 4-bit
|
||||
{ GXGetCI4RGBA_RGB5A3, GX_TF_RGB5A3, 2, 4, 4096 }, // CI (Banjo-Kazooie uses this, doesn't make sense, but it works...)
|
||||
{ GetNone, GX_TF_I4, 0, 4, 4096 }, // YUV
|
||||
{ GXGetCI4RGBA_RGB5A3, GX_TF_RGB5A3, 2, 4, 4096 }, // RGBA as CI
|
||||
{ GetNone, GX_TF_I4, 0, 4, 4096 }, // YUV as CI
|
||||
{ GXGetCI4RGBA_RGB5A3, GX_TF_RGB5A3, 2, 4, 4096 }, // CI
|
||||
{ GXGetCI4RGBA_RGB5A3, GX_TF_RGB5A3, 2, 4, 4096 }, // IA as CI
|
||||
{ GXGetCI4RGBA_RGB5A3, GX_TF_RGB5A3, 2, 4, 4096 }, // I as CI
|
||||
},
|
||||
{ // 8-bit
|
||||
{ GXGetCI8RGBA_RGB5A3, GX_TF_RGB5A3, 2, 3, 2048 }, // RGBA
|
||||
{ GetNone, GX_TF_I4, 0, 3, 2048 }, // YUV
|
||||
{ GXGetCI8RGBA_RGB5A3, GX_TF_RGB5A3, 2, 3, 2048 }, // RGBA as CI
|
||||
{ GetNone, GX_TF_I4, 0, 3, 2048 }, // YUV as CI
|
||||
{ GXGetCI8RGBA_RGB5A3, GX_TF_RGB5A3, 2, 3, 2048 }, // CI
|
||||
{ GXGetCI8RGBA_RGB5A3, GX_TF_RGB5A3, 2, 3, 2048 }, // IA as CI
|
||||
{ GXGetCI8RGBA_RGB5A3, GX_TF_RGB5A3, 2, 3, 2048 }, // I as CI
|
||||
},
|
||||
{ // 16-bit
|
||||
{ GXGetCI16RGBA_RGB5A3, GX_TF_RGB5A3, 2, 2, 1024 }, // RGBA
|
||||
{ GXGetUYVY8888_RGBA8, GX_TF_RGBA8, 4, 2, 2048 }, // YUV
|
||||
{ GetNone, GX_TF_I4, 0, 2, 1024 }, // CI
|
||||
{ GXGetCI16RGBA_RGB5A3, GX_TF_RGB5A3, 2, 2, 1024 }, // RGBA as CI
|
||||
{ GetNone, GX_TF_I4, 0, 2, 1024 }, // YUV as CI
|
||||
{ GXGetCI16RGBA_RGB5A3, GX_TF_RGB5A3, 2, 2, 1024 }, // CI
|
||||
{ GXGetCI16RGBA_RGB5A3, GX_TF_RGB5A3, 2, 2, 1024 }, // IA as CI
|
||||
{ GetNone, GX_TF_I4, 0, 2, 1024 }, // I
|
||||
{ GXGetCI16RGBA_RGB5A3, GX_TF_RGB5A3, 2, 2, 1024 }, // I as CI
|
||||
},
|
||||
{ // 32-bit
|
||||
{ GXGetRGBA8888_RGBA8, GX_TF_RGBA8, 4, 2, 1024 }, // RGBA
|
||||
{ GetNone, GX_TF_I4, 0, 2, 1024 }, // RGBA
|
||||
{ GetNone, GX_TF_I4, 0, 2, 1024 }, // YUV
|
||||
{ GetNone, GX_TF_I4, 0, 2, 1024 }, // CI
|
||||
{ GetNone, GX_TF_I4, 0, 2, 1024 }, // IA
|
||||
|
@ -441,28 +441,28 @@ const struct
|
|||
},
|
||||
{ // G_TT_RGBA16
|
||||
{ // 4-bit
|
||||
{ GXGetCI4RGBA_RGB5A3, GX_TF_RGB5A3, 2, 4, 4096 }, // CI (Banjo-Kazooie uses this, doesn't make sense, but it works...)
|
||||
{ GetNone, GX_TF_I4, 0, 4, 4096 }, // YUV
|
||||
{ GXGetCI4RGBA_RGB5A3, GX_TF_RGB5A3, 2, 4, 4096 }, // RGBA as CI
|
||||
{ GetNone, GX_TF_I4, 0, 4, 4096 }, // YUV as CI
|
||||
{ GXGetCI4RGBA_RGB5A3, GX_TF_RGB5A3, 2, 4, 4096 }, // CI
|
||||
{ GXGetCI4RGBA_RGB5A3, GX_TF_RGB5A3, 2, 4, 4096 }, // IA as CI
|
||||
{ GXGetCI4RGBA_RGB5A3, GX_TF_RGB5A3, 2, 4, 4096 }, // I as CI
|
||||
},
|
||||
{ // 8-bit
|
||||
{ GXGetCI8RGBA_RGB5A3, GX_TF_RGB5A3, 2, 3, 2048 }, // RGBA
|
||||
{ GetNone, GX_TF_I4, 0, 3, 2048 }, // YUV
|
||||
{ GXGetCI8RGBA_RGB5A3, GX_TF_RGB5A3, 2, 3, 2048 }, // RGBA as CI
|
||||
{ GetNone, GX_TF_I4, 0, 3, 2048 }, // YUV as CI
|
||||
{ GXGetCI8RGBA_RGB5A3, GX_TF_RGB5A3, 2, 3, 2048 }, // CI
|
||||
{ GXGetCI8RGBA_RGB5A3, GX_TF_RGB5A3, 2, 3, 2048 }, // IA as CI
|
||||
{ GXGetCI8RGBA_RGB5A3, GX_TF_RGB5A3, 2, 3, 2048 }, // I as CI
|
||||
},
|
||||
{ // 16-bit
|
||||
{ GXGetCI16RGBA_RGB5A3, GX_TF_RGB5A3, 2, 2, 1024 }, // RGBA
|
||||
{ GXGetUYVY8888_RGBA8, GX_TF_RGBA8, 4, 2, 2048 }, // YUV
|
||||
{ GetNone, GX_TF_I4, 0, 2, 1024 }, // CI
|
||||
{ GXGetCI16RGBA_RGB5A3, GX_TF_RGB5A3, 2, 2, 1024 }, // RGBA as CI
|
||||
{ GetNone, GX_TF_I4, 0, 2, 1024 }, // YUV as CI
|
||||
{ GXGetCI16RGBA_RGB5A3, GX_TF_RGB5A3, 2, 2, 1024 }, // CI
|
||||
{ GXGetCI16RGBA_RGB5A3, GX_TF_RGB5A3, 2, 2, 1024 }, // IA as CI
|
||||
{ GetNone, GX_TF_I4, 0, 2, 1024 }, // I
|
||||
{ GXGetCI16RGBA_RGB5A3, GX_TF_RGB5A3, 2, 2, 1024 }, // I as CI
|
||||
},
|
||||
{ // 32-bit
|
||||
{ GXGetRGBA8888_RGBA8, GX_TF_RGBA8, 4, 2, 1024 }, // RGBA
|
||||
{ GetNone, GX_TF_I4, 0, 2, 1024 }, // RGBA
|
||||
{ GetNone, GX_TF_I4, 0, 2, 1024 }, // YUV
|
||||
{ GetNone, GX_TF_I4, 0, 2, 1024 }, // CI
|
||||
{ GetNone, GX_TF_I4, 0, 2, 1024 }, // IA
|
||||
|
@ -471,28 +471,28 @@ const struct
|
|||
},
|
||||
{ // G_TT_IA16
|
||||
{ // 4-bit
|
||||
{ GXGetCI4IA_IA8, GX_TF_IA8, 2, 4, 4096 }, // IA
|
||||
{ GetNone, GX_TF_I4, 0, 4, 4096 }, // YUV
|
||||
{ GXGetCI4IA_IA8, GX_TF_IA8, 2, 4, 4096 }, // RGBA as CI
|
||||
{ GetNone, GX_TF_I4, 0, 4, 4096 }, // YUV as CI
|
||||
{ GXGetCI4IA_IA8, GX_TF_IA8, 2, 4, 4096 }, // CI
|
||||
{ GXGetCI4IA_IA8, GX_TF_IA8, 2, 4, 4096 }, // IA
|
||||
{ GXGetCI4IA_IA8, GX_TF_IA8, 2, 4, 4096 }, // I
|
||||
{ GXGetCI4IA_IA8, GX_TF_IA8, 2, 4, 4096 }, // IA as CI
|
||||
{ GXGetCI4IA_IA8, GX_TF_IA8, 2, 4, 4096 }, // I as CI
|
||||
},
|
||||
{ // 8-bit
|
||||
{ GXGetCI8IA_IA8, GX_TF_IA8, 2, 3, 2048 }, // RGBA
|
||||
{ GetNone, GX_TF_I4, 0, 3, 2048 }, // YUV
|
||||
{ GXGetCI8IA_IA8, GX_TF_IA8, 2, 3, 2048 }, // RGBA as CI
|
||||
{ GetNone, GX_TF_I4, 0, 3, 2048 }, // YUV as CI
|
||||
{ GXGetCI8IA_IA8, GX_TF_IA8, 2, 3, 2048 }, // CI
|
||||
{ GXGetCI8IA_IA8, GX_TF_IA8, 2, 3, 2048 }, // IA
|
||||
{ GXGetCI8IA_IA8, GX_TF_IA8, 2, 3, 2048 }, // I
|
||||
{ GXGetCI8IA_IA8, GX_TF_IA8, 2, 3, 2048 }, // IA as CI
|
||||
{ GXGetCI8IA_IA8, GX_TF_IA8, 2, 3, 2048 }, // I as CI
|
||||
},
|
||||
{ // 16-bit
|
||||
{ GXGetCI16IA_IA8, GX_TF_IA8, 2, 2, 1024 }, // RGBA
|
||||
{ GXGetUYVY8888_RGBA8, GX_TF_RGBA8, 4, 2, 2048 }, // YUV
|
||||
{ GetNone, GX_TF_I4, 0, 2, 1024 }, // CI
|
||||
{ GXGetCI16IA_IA8, GX_TF_IA8, 2, 2, 1024 }, // IA
|
||||
{ GetNone, GX_TF_I4, 0, 2, 1024 }, // I
|
||||
{ GXGetCI16IA_IA8, GX_TF_IA8, 2, 2, 1024 }, // RGBA as CI
|
||||
{ GetNone, GX_TF_I4, 0, 2, 1024 }, // YUV as CI
|
||||
{ GXGetCI16IA_IA8, GX_TF_IA8, 2, 2, 1024 }, // CI
|
||||
{ GXGetCI16IA_IA8, GX_TF_IA8, 2, 2, 1024 }, // IA as CI
|
||||
{ GXGetCI16IA_IA8, GX_TF_IA8, 2, 2, 1024 }, // I as CI
|
||||
},
|
||||
{ // 32-bit
|
||||
{ GXGetRGBA8888_RGBA8, GX_TF_RGBA8, 4, 2, 1024 }, // RGBA
|
||||
{ GetNone, GX_TF_I4, 0, 2, 1024 }, // RGBA
|
||||
{ GetNone, GX_TF_I4, 0, 2, 1024 }, // YUV
|
||||
{ GetNone, GX_TF_I4, 0, 2, 1024 }, // CI
|
||||
{ GetNone, GX_TF_I4, 0, 2, 1024 }, // IA
|
||||
|
@ -1520,7 +1520,7 @@ u32 TextureCache_CalculateCRC( u32 t, u32 width, u32 height )
|
|||
crc = Hash_Calculate( crc, src, bpl );
|
||||
}
|
||||
|
||||
if (gDP.otherMode.textureLUT != G_TT_NONE)
|
||||
if ((gDP.otherMode.textureLUT != G_TT_NONE) || (gSP.textureTile[t]->format == G_IM_FMT_CI))
|
||||
{
|
||||
if (gSP.textureTile[t]->size == G_IM_SIZ_4b)
|
||||
crc = Hash_Calculate( crc, &TMEM[0x100 + (gSP.textureTile[t]->palette << 4)], 128 );
|
||||
|
|
|
@ -115,11 +115,11 @@ char renderCpuFramebuffer;
|
|||
extern timers Timers;
|
||||
char menuActive;
|
||||
char skipMenu;
|
||||
char saveEnabled;
|
||||
char creditsScrolling;
|
||||
char shutdown = 0;
|
||||
char nativeSaveDevice;
|
||||
char saveStateDevice;
|
||||
char autoLoadSave;
|
||||
char autoSave;
|
||||
char screenMode = 0;
|
||||
char videoFormat;
|
||||
|
@ -164,6 +164,7 @@ static struct {
|
|||
{ "CountPerOp", ((char*)&count_per_op)+3, COUNT_PER_OP_1, COUNT_PER_OP_3 },
|
||||
{ "NativeDevice", &nativeSaveDevice, NATIVESAVEDEVICE_SD, NATIVESAVEDEVICE_CARDB },
|
||||
{ "StatesDevice", &saveStateDevice, SAVESTATEDEVICE_SD, SAVESTATEDEVICE_FAT },
|
||||
{ "AutoLoadSave", &autoLoadSave, AUTOLOADSAVE_DISABLE, AUTOLOADSAVE_ENABLE },
|
||||
{ "AutoSave", &autoSave, AUTOSAVE_DISABLE, AUTOSAVE_ENABLE },
|
||||
{ "LimitVIs", &Timers.limitVIs, LIMITVIS_NONE, LIMITVIS_WAIT_FOR_FRAME },
|
||||
{ "PollRate", &pollRate, POLLRATE_VSYNC, POLLRATE_11MS },
|
||||
|
@ -251,6 +252,7 @@ int main(int argc, char* argv[]){
|
|||
printToScreen = 1; // Show DEBUG text on screen
|
||||
printToSD = 0; // Disable SD logging
|
||||
Timers.limitVIs = 1;
|
||||
autoLoadSave = 1; // Auto Load Save File
|
||||
autoSave = 1; // Auto Save Game
|
||||
dynacore = 1; // Dynarec
|
||||
#ifndef HW_RVL
|
||||
|
@ -438,7 +440,7 @@ extern BOOL mempakWritten;
|
|||
extern BOOL sramWritten;
|
||||
extern BOOL flashramWritten;
|
||||
BOOL hasLoadedROM = FALSE;
|
||||
int autoSaveLoaded = NATIVESAVEDEVICE_NONE;
|
||||
int autoLoadedSave = NATIVESAVEDEVICE_NONE;
|
||||
|
||||
int loadROM(fileBrowser_file* rom){
|
||||
int ret = 0;
|
||||
|
@ -506,7 +508,7 @@ int loadROM(fileBrowser_file* rom){
|
|||
|
||||
cpu_init();
|
||||
|
||||
if(autoSave==AUTOSAVE_ENABLE) {
|
||||
if(autoLoadSave==AUTOLOADSAVE_ENABLE) {
|
||||
switch (nativeSaveDevice)
|
||||
{
|
||||
case NATIVESAVEDEVICE_SD:
|
||||
|
@ -541,19 +543,19 @@ int loadROM(fileBrowser_file* rom){
|
|||
{
|
||||
case NATIVESAVEDEVICE_SD:
|
||||
// if (result) menu::MessageBox::getInstance().setMessage("Found & loaded save from SD card");
|
||||
if (result) autoSaveLoaded = NATIVESAVEDEVICE_SD;
|
||||
if (result) autoLoadedSave = NATIVESAVEDEVICE_SD;
|
||||
break;
|
||||
case NATIVESAVEDEVICE_FAT:
|
||||
// if (result) menu::MessageBox::getInstance().setMessage("Found & loaded save from FAT device");
|
||||
if (result) autoSaveLoaded = NATIVESAVEDEVICE_FAT;
|
||||
if (result) autoLoadedSave = NATIVESAVEDEVICE_FAT;
|
||||
break;
|
||||
case NATIVESAVEDEVICE_CARDA:
|
||||
// if (result) menu::MessageBox::getInstance().setMessage("Found & loaded save from Memory Card A");
|
||||
if (result) autoSaveLoaded = NATIVESAVEDEVICE_CARDA;
|
||||
if (result) autoLoadedSave = NATIVESAVEDEVICE_CARDA;
|
||||
break;
|
||||
case NATIVESAVEDEVICE_CARDB:
|
||||
// if (result) menu::MessageBox::getInstance().setMessage("Found & loaded save from Memory Card B");
|
||||
if (result) autoSaveLoaded = NATIVESAVEDEVICE_CARDB;
|
||||
if (result) autoLoadedSave = NATIVESAVEDEVICE_CARDB;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -77,8 +77,6 @@ enum limitVIs
|
|||
LIMITVIS_WAIT_FOR_FRAME
|
||||
};
|
||||
|
||||
extern char saveEnabled; //???
|
||||
|
||||
extern char nativeSaveDevice;
|
||||
enum nativeSaveDevice
|
||||
{
|
||||
|
@ -96,7 +94,14 @@ enum saveStateDevice
|
|||
SAVESTATEDEVICE_FAT
|
||||
};
|
||||
|
||||
extern char autoSave; //TODO: Use me
|
||||
extern char autoLoadSave;
|
||||
enum autoLoadSave
|
||||
{
|
||||
AUTOLOADSAVE_DISABLE=0,
|
||||
AUTOLOADSAVE_ENABLE
|
||||
};
|
||||
|
||||
extern char autoSave;
|
||||
enum autoSave
|
||||
{
|
||||
AUTOSAVE_DISABLE=0,
|
||||
|
|
|
@ -449,7 +449,7 @@ void fileBrowserFrame_FillPage()
|
|||
|
||||
extern BOOL hasLoadedROM;
|
||||
extern int rom_length;
|
||||
extern int autoSaveLoaded;
|
||||
extern int autoLoadedSave;
|
||||
void Func_PlayGame();
|
||||
void Func_SetPlayGame();
|
||||
|
||||
|
@ -493,7 +493,7 @@ void fileBrowserFrame_LoadFile(int i)
|
|||
countrycodestring(ROM_HEADER.Country_code&0xFF, buffer2);
|
||||
sprintf(buffer,"Country: %s\n",buffer2);
|
||||
strcat(RomInfo,buffer);
|
||||
switch (autoSaveLoaded)
|
||||
switch (autoLoadedSave)
|
||||
{
|
||||
case NATIVESAVEDEVICE_NONE:
|
||||
break;
|
||||
|
@ -510,7 +510,7 @@ void fileBrowserFrame_LoadFile(int i)
|
|||
strcat(RomInfo,"\nFound & loaded save from Memory Card B\n");
|
||||
break;
|
||||
}
|
||||
autoSaveLoaded = NATIVESAVEDEVICE_NONE;
|
||||
autoLoadedSave = NATIVESAVEDEVICE_NONE;
|
||||
|
||||
menu::MessageBox::getInstance().setMessage(RomInfo);
|
||||
pMenuContext->setActiveFrame(MenuContext::FRAME_MAIN);
|
||||
|
|
|
@ -85,21 +85,23 @@ void Func_SpeedLimitDl();
|
|||
void Func_ScalePitchYes();
|
||||
void Func_ScalePitchNo();
|
||||
|
||||
void Func_AutoSaveNativeYes();
|
||||
void Func_AutoSaveNativeNo();
|
||||
void Func_AutoLoadSaveYes();
|
||||
void Func_AutoLoadSaveNo();
|
||||
void Func_AutoSaveYes();
|
||||
void Func_AutoSaveNo();
|
||||
void Func_CopySaves();
|
||||
void Func_DeleteSaves();
|
||||
void Func_ReturnFromSettingsFrame();
|
||||
|
||||
|
||||
#define NUM_FRAME_BUTTONS 46
|
||||
#define NUM_FRAME_BUTTONS 48
|
||||
#define NUM_TAB_BUTTONS 5
|
||||
#define FRAME_BUTTONS settingsFrameButtons
|
||||
#define FRAME_STRINGS settingsFrameStrings
|
||||
#define NUM_FRAME_TEXTBOXES 16
|
||||
#define NUM_FRAME_TEXTBOXES 17
|
||||
#define FRAME_TEXTBOXES settingsFrameTextBoxes
|
||||
|
||||
static char FRAME_STRINGS[45][23] =
|
||||
static char FRAME_STRINGS[46][23] =
|
||||
{ "General",
|
||||
"Video",
|
||||
"Input",
|
||||
|
@ -147,6 +149,7 @@ static char FRAME_STRINGS[45][23] =
|
|||
"VI",
|
||||
"DL",
|
||||
//Strings for Saves tab [42]
|
||||
"Auto Load Native Saves",
|
||||
"Auto Save Native Saves",
|
||||
"Copy Saves",
|
||||
"Delete Saves"};
|
||||
|
@ -216,10 +219,12 @@ struct ButtonInfo
|
|||
{ NULL, BTN_A_SEL, FRAME_STRINGS[38], 345.0, 240.0, 75.0, 56.0, 38, 3, 41, 41, Func_ScalePitchYes, Func_ReturnFromSettingsFrame }, // Scale Pitch: Yes
|
||||
{ NULL, BTN_A_SEL, FRAME_STRINGS[39], 440.0, 240.0, 75.0, 56.0, 39, 3, 40, 40, Func_ScalePitchNo, Func_ReturnFromSettingsFrame }, // Scale Pitch: No
|
||||
//Buttons for Saves Tab (starts at button[42])
|
||||
{ NULL, BTN_A_SEL, FRAME_STRINGS[38], 375.0, 100.0, 75.0, 56.0, 4, 44, 43, 43, Func_AutoSaveNativeYes, Func_ReturnFromSettingsFrame }, // Auto Save Native: Yes
|
||||
{ NULL, BTN_A_SEL, FRAME_STRINGS[39], 470.0, 100.0, 75.0, 56.0, 4, 44, 42, 42, Func_AutoSaveNativeNo, Func_ReturnFromSettingsFrame }, // Auto Save Native: No
|
||||
{ NULL, BTN_A_NRM, FRAME_STRINGS[43], 365.0, 170.0, 190.0, 56.0, 42, 45, -1, -1, Func_CopySaves, Func_ReturnFromSettingsFrame }, // Copy Saves
|
||||
{ NULL, BTN_A_NRM, FRAME_STRINGS[44], 365.0, 240.0, 190.0, 56.0, 44, 4, -1, -1, Func_DeleteSaves, Func_ReturnFromSettingsFrame }, // Delete Saves
|
||||
{ NULL, BTN_A_SEL, FRAME_STRINGS[38], 375.0, 100.0, 75.0, 56.0, 4, 44, 43, 43, Func_AutoLoadSaveYes, Func_ReturnFromSettingsFrame }, // Auto Load Native Saves: Yes
|
||||
{ NULL, BTN_A_SEL, FRAME_STRINGS[39], 470.0, 100.0, 75.0, 56.0, 4, 45, 42, 42, Func_AutoLoadSaveNo, Func_ReturnFromSettingsFrame }, // Auto Load Native Saves: No
|
||||
{ NULL, BTN_A_SEL, FRAME_STRINGS[38], 375.0, 170.0, 75.0, 56.0, 42, 46, 45, 45, Func_AutoSaveYes, Func_ReturnFromSettingsFrame }, // Auto Save Native Saves: Yes
|
||||
{ NULL, BTN_A_SEL, FRAME_STRINGS[39], 470.0, 170.0, 75.0, 56.0, 43, 46, 44, 44, Func_AutoSaveNo, Func_ReturnFromSettingsFrame }, // Auto Save Native Saves: No
|
||||
{ NULL, BTN_A_NRM, FRAME_STRINGS[44], 365.0, 240.0, 190.0, 56.0, 44, 47, -1, -1, Func_CopySaves, Func_ReturnFromSettingsFrame }, // Copy Saves
|
||||
{ NULL, BTN_A_NRM, FRAME_STRINGS[45], 365.0, 310.0, 190.0, 56.0, 46, 4, -1, -1, Func_DeleteSaves, Func_ReturnFromSettingsFrame }, // Delete Saves
|
||||
};
|
||||
|
||||
struct TextBoxInfo
|
||||
|
@ -252,7 +257,8 @@ struct TextBoxInfo
|
|||
{ NULL, FRAME_STRINGS[36], 150.0, 198.0, 1.0, true }, // Speed Limit: Off/VI/DL
|
||||
{ NULL, FRAME_STRINGS[37], 210.0, 268.0, 1.0, true }, // Scale Pitch: Yes/No
|
||||
//TextBoxes for Saves Tab (starts at textBox[14])
|
||||
{ NULL, FRAME_STRINGS[42], 200.0, 128.0, 1.0, true }, // Auto Save Native Save: Yes/No
|
||||
{ NULL, FRAME_STRINGS[42], 200.0, 128.0, 1.0, true }, // Auto Load Native Saves: Yes/No
|
||||
{ NULL, FRAME_STRINGS[43], 200.0, 198.0, 1.0, true }, // Auto Save Native Saves: Yes/No
|
||||
};
|
||||
|
||||
SettingsFrame::SettingsFrame()
|
||||
|
@ -427,14 +433,16 @@ void SettingsFrame::activateSubmenu(int submenu)
|
|||
{
|
||||
FRAME_BUTTONS[i].button->setVisible(true);
|
||||
FRAME_BUTTONS[i].button->setNextFocus(menu::Focus::DIRECTION_DOWN, FRAME_BUTTONS[42].button);
|
||||
FRAME_BUTTONS[i].button->setNextFocus(menu::Focus::DIRECTION_UP, FRAME_BUTTONS[45].button);
|
||||
FRAME_BUTTONS[i].button->setNextFocus(menu::Focus::DIRECTION_UP, FRAME_BUTTONS[47].button);
|
||||
FRAME_BUTTONS[i].button->setActive(true);
|
||||
}
|
||||
for (int i = 15; i < 16; i++)
|
||||
for (int i = 15; i < NUM_FRAME_TEXTBOXES; i++)
|
||||
FRAME_TEXTBOXES[i].textBox->setVisible(true);
|
||||
FRAME_BUTTONS[4].button->setSelected(true);
|
||||
if (autoSave == AUTOSAVE_ENABLE) FRAME_BUTTONS[42].button->setSelected(true);
|
||||
else FRAME_BUTTONS[43].button->setSelected(true);
|
||||
if (autoLoadSave == AUTOLOADSAVE_ENABLE) FRAME_BUTTONS[42].button->setSelected(true);
|
||||
else FRAME_BUTTONS[43].button->setSelected(true);
|
||||
if (autoSave == AUTOSAVE_ENABLE) FRAME_BUTTONS[44].button->setSelected(true);
|
||||
else FRAME_BUTTONS[45].button->setSelected(true);
|
||||
for (int i = 42; i < NUM_FRAME_BUTTONS; i++)
|
||||
{
|
||||
FRAME_BUTTONS[i].button->setVisible(true);
|
||||
|
@ -1068,19 +1076,35 @@ void Func_ScalePitchNo()
|
|||
scalePitch = SCALEPITCH_DISABLE;
|
||||
}
|
||||
|
||||
void Func_AutoSaveNativeYes()
|
||||
void Func_AutoLoadSaveYes()
|
||||
{
|
||||
for (int i = 42; i <= 43; i++)
|
||||
FRAME_BUTTONS[i].button->setSelected(false);
|
||||
FRAME_BUTTONS[42].button->setSelected(true);
|
||||
autoSave = AUTOSAVE_ENABLE;
|
||||
autoLoadSave = AUTOLOADSAVE_ENABLE;
|
||||
}
|
||||
|
||||
void Func_AutoSaveNativeNo()
|
||||
void Func_AutoLoadSaveNo()
|
||||
{
|
||||
for (int i = 42; i <= 43; i++)
|
||||
FRAME_BUTTONS[i].button->setSelected(false);
|
||||
FRAME_BUTTONS[43].button->setSelected(true);
|
||||
autoLoadSave = AUTOLOADSAVE_DISABLE;
|
||||
}
|
||||
|
||||
void Func_AutoSaveYes()
|
||||
{
|
||||
for (int i = 44; i <= 45; i++)
|
||||
FRAME_BUTTONS[i].button->setSelected(false);
|
||||
FRAME_BUTTONS[44].button->setSelected(true);
|
||||
autoSave = AUTOSAVE_ENABLE;
|
||||
}
|
||||
|
||||
void Func_AutoSaveNo()
|
||||
{
|
||||
for (int i = 44; i <= 45; i++)
|
||||
FRAME_BUTTONS[i].button->setSelected(false);
|
||||
FRAME_BUTTONS[45].button->setSelected(true);
|
||||
autoSave = AUTOSAVE_DISABLE;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue