Windows - added a general messages display function. Savestate loaded/saved messages now displayed when saving states.
This commit is contained in:
parent
cb69e33190
commit
c521035667
|
@ -28,6 +28,7 @@
|
||||||
#include <commdlg.h>
|
#include <commdlg.h>
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <string>
|
#include <string>
|
||||||
|
#include <sstream>
|
||||||
#include "CWindow.h"
|
#include "CWindow.h"
|
||||||
#include "../MMU.h"
|
#include "../MMU.h"
|
||||||
#include "../armcpu.h"
|
#include "../armcpu.h"
|
||||||
|
@ -177,7 +178,8 @@ bool FpsDisplay = false;
|
||||||
unsigned short windowSize = 0;
|
unsigned short windowSize = 0;
|
||||||
|
|
||||||
unsigned int lastSaveState = 0; //Keeps track of last savestate used for quick save/load functions
|
unsigned int lastSaveState = 0; //Keeps track of last savestate used for quick save/load functions
|
||||||
std::string MessageToDisplay = ""; //temp variable to store message that will be displayed via DisplayMessage function
|
std::stringstream MessageToDisplay; //temp variable to store message that will be displayed via DisplayMessage function
|
||||||
|
int displayMessageCounter = 0; //Counter to keep track with how long to display messages on screen
|
||||||
|
|
||||||
/* the firmware settings */
|
/* the firmware settings */
|
||||||
struct NDS_fw_config_data win_fw_config;
|
struct NDS_fw_config_data win_fw_config;
|
||||||
|
@ -641,6 +643,34 @@ void CheckMessages()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void DisplayMessage()
|
||||||
|
{
|
||||||
|
if (displayMessageCounter)
|
||||||
|
{
|
||||||
|
//By using stringstream, it leaves open the possibility to keep a series of message in queue
|
||||||
|
displayMessageCounter--;
|
||||||
|
osd->addFixed(0, 40, "%s",MessageToDisplay.str().c_str());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void SaveStateMessages(int slotnum, int whichMessage)
|
||||||
|
{
|
||||||
|
MessageToDisplay.str(""); //Clear previous message
|
||||||
|
displayMessageCounter = 120;
|
||||||
|
switch (whichMessage) //Switch statement used so that future case additions can be made
|
||||||
|
{
|
||||||
|
case 0: //State saved
|
||||||
|
MessageToDisplay << "State " << slotnum << " saved.";
|
||||||
|
break;
|
||||||
|
case 1:
|
||||||
|
MessageToDisplay << "State " << slotnum << " loaded.";
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
//DisplayMessage();
|
||||||
|
}
|
||||||
|
|
||||||
DWORD WINAPI run( LPVOID lpParameter)
|
DWORD WINAPI run( LPVOID lpParameter)
|
||||||
{
|
{
|
||||||
char txt[80];
|
char txt[80];
|
||||||
|
@ -799,7 +829,7 @@ DWORD WINAPI run( LPVOID lpParameter)
|
||||||
}
|
}
|
||||||
frameCounter++;
|
frameCounter++;
|
||||||
if (frameCounterDisplay) osd->addFixed(0, 25, "%d",frameCounter);
|
if (frameCounterDisplay) osd->addFixed(0, 25, "%d",frameCounter);
|
||||||
|
DisplayMessage();
|
||||||
CheckMessages();
|
CheckMessages();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -836,18 +866,24 @@ void StateSaveSlot(int num)
|
||||||
if (!paused)
|
if (!paused)
|
||||||
{
|
{
|
||||||
NDS_Pause();
|
NDS_Pause();
|
||||||
savestate_slot(num);
|
savestate_slot(num); //Savestate
|
||||||
NDS_UnPause();
|
NDS_UnPause();
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
savestate_slot(num);
|
savestate_slot(num); //Savestate
|
||||||
|
|
||||||
|
lastSaveState = num; //Set last savestate used
|
||||||
|
SaveStateMessages(num, 0); //Display state loaded message
|
||||||
}
|
}
|
||||||
|
|
||||||
void StateLoadSlot(int num)
|
void StateLoadSlot(int num)
|
||||||
{
|
{
|
||||||
BOOL wasPaused = paused;
|
BOOL wasPaused = paused;
|
||||||
NDS_Pause();
|
NDS_Pause();
|
||||||
loadstate_slot(num);
|
loadstate_slot(num); //Loadstate
|
||||||
|
lastSaveState = num; //Set last savestate used
|
||||||
|
SaveStateMessages(num, 1); //Display state loaded message
|
||||||
|
|
||||||
if(!wasPaused)
|
if(!wasPaused)
|
||||||
NDS_UnPause();
|
NDS_UnPause();
|
||||||
else
|
else
|
||||||
|
|
Loading…
Reference in New Issue