Added fast-forward

This commit is contained in:
rdanbrook 2018-02-07 21:29:17 -05:00
parent ca0d6ca41f
commit 2057f77439
3 changed files with 12 additions and 3 deletions

View file

@ -26,7 +26,7 @@ static ao_device *aodevice;
static ao_sample_format aoformat;
static int16_t audiobuf[96000];
static int skip = 0;
static int frames = 1;
extern unsigned char *pixels;
@ -72,6 +72,10 @@ static void key_callback(GLFWwindow* window, int key, int scancode, int action,
if (key == GLFW_KEY_ESCAPE && action == GLFW_PRESS) {
glfwSetWindowShouldClose(window, GL_TRUE); // Exit
}
if (key == GLFW_KEY_GRAVE_ACCENT) {
if (action == GLFW_PRESS) { frames = settings.misc_ffspeed; }
else if (action == GLFW_RELEASE) { frames = 1; }
}
/*if (key == GLFW_KEY_F5 && action == GLFW_PRESS) {
smsp_state(0, 0); // Save Slot 0
}
@ -227,6 +231,7 @@ static GB_INI_HANDLER(smsp_ini_handler) {
else if (TEST("audio", "fm")) { settings.audio_fm = atoi(value); }
else if (TEST("audio", "fmtype")) { settings.audio_fmtype = atoi(value); }
else if (TEST("misc", "region")) { settings.misc_region = atoi(value); }
else if (TEST("misc", "ffspeed")) { settings.misc_ffspeed = atoi(value); }
else { return 0; }
#undef TEST
return 1;
@ -311,6 +316,7 @@ int main (int argc, char *argv[]) {
settings.audio_fm = 1;
settings.audio_fmtype = SND_EMU2413;
settings.misc_region = TERRITORY_DOMESTIC;
settings.misc_ffspeed = 2;
// Override settings set in the .ini
gbIniError err = gb_ini_parse("smsplus.ini", &smsp_ini_handler, &settings);
@ -386,8 +392,8 @@ int main (int argc, char *argv[]) {
// Refresh video data
bitmap.data = pixels;
// Execute a frame
system_frame(skip);
// Execute frame(s)
for (int i = 0; i < frames; i++) { system_frame(0); }
// Render/Blit the Frame
ogl_render();

View file

@ -15,6 +15,7 @@ typedef struct {
int audio_fm;
int audio_fmtype;
int misc_region;
int misc_ffspeed;
} settings_t;
void smsp_state(int slot, int mode);

View file

@ -17,3 +17,5 @@ fmtype = 0
[misc]
; Region: 0 = Domestic (Japan), 1 = Overseas (Non-Japan)
region = 0
; Fast-Forward Speed Multiplier
ffspeed = 2