Merge latest TomB version as of 25 April
This commit is contained in:
parent
f6baa22248
commit
5f13d69c31
37 changed files with 30914 additions and 21448 deletions
|
@ -16,6 +16,7 @@
|
|||
|
||||
|
||||
static char last_active_config[MAX_PATH] = { '\0' };
|
||||
static int ensureVisible = -1;
|
||||
|
||||
static gcn::Button *cmdLoad;
|
||||
static gcn::Button *cmdSave;
|
||||
|
@ -280,13 +281,13 @@ void InitPanelConfig(const struct _ConfigCategory& category)
|
|||
scrAreaConfigs->setSize(category.panel->getWidth() - 2 * DISTANCE_BORDER - 2, 252);
|
||||
scrAreaConfigs->setScrollbarWidth(20);
|
||||
scrAreaConfigs->setBaseColor(gui_baseCol);
|
||||
|
||||
category.panel->add(scrAreaConfigs);
|
||||
|
||||
if(strlen(last_active_config) == 0)
|
||||
strncpy(last_active_config, OPTIONSFILENAME, MAX_PATH);
|
||||
txtName->setText(last_active_config);
|
||||
txtDesc->setText(changed_prefs.description);
|
||||
ensureVisible = -1;
|
||||
RefreshPanelConfig();
|
||||
}
|
||||
|
||||
|
@ -313,6 +314,16 @@ void ExitPanelConfig(void)
|
|||
}
|
||||
|
||||
|
||||
static void MakeCurrentVisible(void)
|
||||
{
|
||||
if(ensureVisible >= 0)
|
||||
{
|
||||
scrAreaConfigs->setVerticalScrollAmount(ensureVisible * 19);
|
||||
ensureVisible = -1;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void RefreshPanelConfig(void)
|
||||
{
|
||||
ReadConfigFileList();
|
||||
|
@ -327,6 +338,8 @@ void RefreshPanelConfig(void)
|
|||
{
|
||||
// Select current entry
|
||||
lstConfigs->setSelected(i);
|
||||
ensureVisible = i;
|
||||
RegisterRefreshFunc(MakeCurrentVisible);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -28,6 +28,8 @@ static bool dialogFinished = false;
|
|||
static bool createNew = false;
|
||||
static char workingDir[MAX_PATH];
|
||||
static const char **filefilter;
|
||||
static bool dialogCreated = false;
|
||||
static int selectedOnStart = -1;
|
||||
|
||||
static gcn::Window *wndSelectFile;
|
||||
static gcn::Button* cmdOK;
|
||||
|
@ -146,6 +148,7 @@ static void checkfilename(char *current)
|
|||
if(!fileList->isDir(i) && !strcasecmp(fileList->getElementAt(i).c_str(), actfile))
|
||||
{
|
||||
lstFiles->setSelected(i);
|
||||
selectedOnStart = i;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
@ -243,9 +246,10 @@ static void InitSelectFile(const char *title)
|
|||
wndSelectFile->add(scrAreaFiles);
|
||||
|
||||
gui_top->add(wndSelectFile);
|
||||
|
||||
lstFiles->requestFocus();
|
||||
lstFiles->setSelected(0);
|
||||
wndSelectFile->requestModalFocus();
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
@ -347,6 +351,13 @@ static void SelectFileLoop(void)
|
|||
uae_gui->draw();
|
||||
// Finally we update the screen.
|
||||
SDL_Flip(gui_screen);
|
||||
|
||||
if(!dialogCreated)
|
||||
{
|
||||
dialogCreated = true;
|
||||
if(selectedOnStart >= 0)
|
||||
scrAreaFiles->setVerticalScrollAmount(selectedOnStart * 19);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -360,7 +371,8 @@ bool SelectFile(const char *title, char *value, const char *filter[], bool creat
|
|||
dialogFinished = false;
|
||||
createNew = create;
|
||||
filefilter = filter;
|
||||
|
||||
dialogCreated = false;
|
||||
selectedOnStart = -1;
|
||||
|
||||
#ifdef FILE_SELECT_KEEP_POSITION
|
||||
if (Already_init == 0)
|
||||
|
|
|
@ -85,6 +85,7 @@ void ExitPanelSavestate(void);
|
|||
void RefreshPanelSavestate(void);
|
||||
|
||||
void RefreshAllPanels(void);
|
||||
void RegisterRefreshFunc(void (*func)(void));
|
||||
|
||||
void DisableResume(void);
|
||||
|
||||
|
|
|
@ -102,6 +102,13 @@ void gui_force_rtarea_hdchange(void)
|
|||
gui_rtarea_flags_onenter |= 2;
|
||||
}
|
||||
|
||||
static void (*refreshFuncAfterDraw)(void) = NULL;
|
||||
|
||||
void RegisterRefreshFunc(void (*func)(void))
|
||||
{
|
||||
refreshFuncAfterDraw = func;
|
||||
}
|
||||
|
||||
|
||||
namespace sdl
|
||||
{
|
||||
|
@ -271,6 +278,13 @@ namespace sdl
|
|||
uae_gui->draw();
|
||||
// Finally we update the screen.
|
||||
SDL_Flip(gui_screen);
|
||||
|
||||
if(refreshFuncAfterDraw != NULL)
|
||||
{
|
||||
void (*currFunc)(void) = refreshFuncAfterDraw;
|
||||
refreshFuncAfterDraw = NULL;
|
||||
currFunc();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -280,6 +280,8 @@ static void parse_peripheral(struct uae_prefs *p, xmlNode *node)
|
|||
p->cpu_model = atoi((const char *) attr);
|
||||
if(p->cpu_model > 68020)
|
||||
p->address_space_24 = 0;
|
||||
if(p->cpu_model == 68040)
|
||||
p->fpu_model = 68040;
|
||||
xmlFree(attr);
|
||||
}
|
||||
attr = xmlGetProp(curr_node, (const xmlChar *) _T("speed"));
|
||||
|
@ -290,6 +292,18 @@ static void parse_peripheral(struct uae_prefs *p, xmlNode *node)
|
|||
xmlFree(attr);
|
||||
}
|
||||
}
|
||||
else if(strcmp((const char *)content, "fpu") == 0)
|
||||
{
|
||||
xmlChar *attr = xmlGetProp(curr_node, (const xmlChar *) _T("type"));
|
||||
if(attr != NULL)
|
||||
{
|
||||
if(strcmp((const char *) attr, "68881") == 0)
|
||||
p->fpu_model = 68881;
|
||||
else if(strcmp((const char *) attr, "68882") == 0)
|
||||
p->fpu_model = 68882;
|
||||
xmlFree(attr);
|
||||
}
|
||||
}
|
||||
else if(strcmp((const char *)content, "jit") == 0)
|
||||
{
|
||||
xmlChar *attr = xmlGetProp(curr_node, (const xmlChar *) _T("memory"));
|
||||
|
|
|
@ -65,7 +65,7 @@ enum {
|
|||
|
||||
static inline void unknown_instruction(uae_u32 instr)
|
||||
{
|
||||
panicbug("Unknown instruction %08x!", instr);
|
||||
panicbug("Unknown instruction %08x!\n", instr);
|
||||
SDL_Quit();
|
||||
abort();
|
||||
}
|
||||
|
@ -80,7 +80,7 @@ static bool handle_arm_instruction(unsigned long *pregs, uintptr addr)
|
|||
|
||||
if (in_handler > 0)
|
||||
{
|
||||
panicbug("Segmentation fault in handler :-(");
|
||||
panicbug("Segmentation fault in handler :-(\n");
|
||||
return false;
|
||||
}
|
||||
|
||||
|
|
|
@ -76,7 +76,7 @@
|
|||
#define HAVE_GETMNTENT 1
|
||||
|
||||
/* Define if your struct stat has st_blocks. */
|
||||
/* #undef HAVE_ST_BLOCKS */
|
||||
#define HAVE_ST_BLOCKS
|
||||
|
||||
/* Define if utime(file, NULL) sets file's timestamp to the present. */
|
||||
#define HAVE_UTIME_NULL 1
|
||||
|
@ -206,7 +206,7 @@
|
|||
#define SIZEOF_DOUBLE 8
|
||||
|
||||
#define HAVE_ISNAN
|
||||
#undef HAVE_ISINF
|
||||
#define HAVE_ISINF
|
||||
|
||||
/* Define if you have the bcopy function. */
|
||||
#define HAVE_BCOPY 1
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue