mirror of https://github.com/stella-emu/stella.git
When starting Stella for the first time, the first ROM chosen determines 'romdir' (fixes #324)
Bumped version for upcoming release. Updated changelog, various grammatical fixes.
This commit is contained in:
parent
22dafd7508
commit
5bc8d2d1b0
25
Changes.txt
25
Changes.txt
|
@ -12,29 +12,29 @@
|
|||
Release History
|
||||
===========================================================================
|
||||
|
||||
5.1.3 to 5.2: (MMM d, 2018)
|
||||
5.1.3 to 6.0: (MMM d, 2018)
|
||||
|
||||
* New cycle exact audio core based on work by Chris Brenner (crispy); greatly
|
||||
improved audio emulation accuracy (i.e. E.T., Ms. Pacman)
|
||||
improved audio emulation accuracy (i.e. E.T., Ms. Pacman).
|
||||
|
||||
* Full rewrite of the audio subsystem; resample TIA output to target sample
|
||||
rate directly in Stella
|
||||
rate directly in Stella.
|
||||
|
||||
* Threading: decouple emulation from frame rendering
|
||||
* Threading: decouple emulation from frame rendering.
|
||||
|
||||
* Main loop rewritten; emulating speed and timing is now much more faithful
|
||||
(i.e. speed in Pick'n'Pile)
|
||||
(i.e. speed in Pick'n'Pile).
|
||||
|
||||
* Audio settings replaced with new audio.xxx settings
|
||||
* Audio settings replaced with new 'audio.xxx' settings.
|
||||
|
||||
* FPS setting replaced with speed setting for adjusting emulation speed
|
||||
* FPS setting replaced with speed setting for adjusting emulation speed.
|
||||
|
||||
* Extra functionality for Time Machine dialog (start/stop recording;
|
||||
minor fixes; TODO button and initial key repeats...)
|
||||
|
||||
* Fixes for collision corner cases (during HBlank)
|
||||
* Fixes for collision corner cases (during HBlank).
|
||||
|
||||
* UI modernization (new widget look, dialog titles added, dialogs refactored)
|
||||
* UI modernization (new widget look, dialog titles added, dialogs refactored).
|
||||
|
||||
* Changes in 'Game Properties' dialog
|
||||
- 'Default' button now affects only current tab like in all other dialogs.
|
||||
|
@ -46,8 +46,11 @@
|
|||
* The Linux builds now use the system-installed PNG and ZLIB libraries
|
||||
by default.
|
||||
|
||||
* When starting Stella for the first time, the first ROM selected will
|
||||
determine which path to use by default for subsequent runs.
|
||||
|
||||
* Fixed emulator crash when starting SaveKey ROMs from commandline with
|
||||
SaveKey messages enabled
|
||||
SaveKey messages enabled.
|
||||
|
||||
* Fixed missing TV format update in frame stats dialog when switching display
|
||||
type.
|
||||
|
@ -57,7 +60,7 @@
|
|||
* Updated included PNG library to latest stable version.
|
||||
|
||||
* For better compatibility, the Windows 32-bit version does not requires SSE2
|
||||
anymore
|
||||
anymore.
|
||||
|
||||
-Have fun!
|
||||
|
||||
|
|
|
@ -18,7 +18,7 @@
|
|||
#ifndef VERSION_HXX
|
||||
#define VERSION_HXX
|
||||
|
||||
#define STELLA_VERSION "5.2_soundtest-1"
|
||||
#define STELLA_BUILD "4138"
|
||||
#define STELLA_VERSION "6.0_pre1"
|
||||
#define STELLA_BUILD "4409"
|
||||
|
||||
#endif
|
||||
|
|
|
@ -216,31 +216,12 @@ const string& LauncherDialog::selectedRomMD5()
|
|||
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
void LauncherDialog::loadConfig()
|
||||
{
|
||||
// Should we use a temporary directory specified on the commandline, or the
|
||||
// default one specified by the settings?
|
||||
const string& tmpromdir = instance().settings().getString("tmpromdir");
|
||||
const string& romdir = tmpromdir != "" ? tmpromdir :
|
||||
instance().settings().getString("romdir");
|
||||
|
||||
// When romdir hasn't been set, it probably indicates that this is the first
|
||||
// time running Stella; in this case, we should prompt the user
|
||||
if(romdir == "")
|
||||
{
|
||||
if(!myFirstRunMsg)
|
||||
{
|
||||
StringList msg;
|
||||
msg.push_back("This seems to be your first time running Stella.");
|
||||
msg.push_back("Before you can start a game, you need to");
|
||||
msg.push_back("specify where your ROMs are located.");
|
||||
msg.push_back("");
|
||||
msg.push_back("Click 'Default' to select a default ROM directory,");
|
||||
msg.push_back("or 'Browse' to browse the filesystem manually.");
|
||||
myFirstRunMsg = make_unique<GUI::MessageBox>
|
||||
(this, instance().frameBuffer().font(),
|
||||
msg, _w, _h, kFirstRunMsgChosenCmd,
|
||||
"Default", "Browse", "ROM directory");
|
||||
}
|
||||
myFirstRunMsg->show();
|
||||
}
|
||||
|
||||
// Assume that if the list is empty, this is the first time that loadConfig()
|
||||
// has been called (and we should reload the list)
|
||||
if(myList->getList().empty())
|
||||
|
@ -488,7 +469,13 @@ void LauncherDialog::handleCommand(CommandSender* sender, int cmd,
|
|||
const string& result =
|
||||
instance().createConsole(romnode, myGameList->md5(item));
|
||||
if(result == EmptyString)
|
||||
{
|
||||
instance().settings().setValue("lastrom", myList->getSelectedString());
|
||||
|
||||
// If romdir has never been set, set it now based on the selected rom
|
||||
if(instance().settings().getString("romdir") == EmptyString)
|
||||
instance().settings().setValue("romdir", romnode.getParent().getShortPath());
|
||||
}
|
||||
else
|
||||
instance().frameBuffer().showMessage(result, MessagePosition::MiddleCenter, true);
|
||||
}
|
||||
|
@ -515,20 +502,6 @@ void LauncherDialog::handleCommand(CommandSender* sender, int cmd,
|
|||
instance().eventHandler().quit();
|
||||
break;
|
||||
|
||||
case kFirstRunMsgChosenCmd:
|
||||
// Show a file browser, starting from the users' home directory
|
||||
if(!myRomDir)
|
||||
myRomDir = make_unique<BrowserDialog>(this, instance().frameBuffer().font(),
|
||||
_w, _h, "Select ROM directory");
|
||||
myRomDir->show("~", BrowserDialog::Directories, kStartupRomDirChosenCmd);
|
||||
break;
|
||||
|
||||
case kStartupRomDirChosenCmd:
|
||||
{
|
||||
FilesystemNode dir(myRomDir->getResult());
|
||||
instance().settings().setValue("romdir", dir.getShortPath());
|
||||
[[fallthrough]];
|
||||
}
|
||||
case kRomDirChosenCmd:
|
||||
myCurrentNode = FilesystemNode(instance().settings().getString("romdir"));
|
||||
if(!(myCurrentNode.exists() && myCurrentNode.isDirectory()))
|
||||
|
|
|
@ -48,7 +48,7 @@ class LauncherDialog : public Dialog
|
|||
// These must be accessible from dialogs created by this class
|
||||
enum {
|
||||
kLoadROMCmd = 'STRT', // load currently selected ROM
|
||||
kRomDirChosenCmd = 'romc', // rom chosen
|
||||
kRomDirChosenCmd = 'romc', // rom dir chosen
|
||||
kReloadRomDirCmd = 'rdrl', // reload the current listing
|
||||
kReloadFiltersCmd = 'rlfl' // reload filtering options and current listing
|
||||
};
|
||||
|
@ -98,7 +98,6 @@ class LauncherDialog : public Dialog
|
|||
unique_ptr<GlobalPropsDialog> myGlobalProps;
|
||||
unique_ptr<LauncherFilterDialog> myFilters;
|
||||
unique_ptr<BrowserDialog> myRomDir;
|
||||
unique_ptr<GUI::MessageBox> myFirstRunMsg;
|
||||
|
||||
ButtonWidget* myStartButton;
|
||||
ButtonWidget* myPrevDirButton;
|
||||
|
@ -122,10 +121,7 @@ class LauncherDialog : public Dialog
|
|||
enum {
|
||||
kPrevDirCmd = 'PRVD',
|
||||
kOptionsCmd = 'OPTI',
|
||||
kQuitCmd = 'QUIT',
|
||||
|
||||
kFirstRunMsgChosenCmd = 'frmc',
|
||||
kStartupRomDirChosenCmd = 'rmsc'
|
||||
kQuitCmd = 'QUIT'
|
||||
};
|
||||
|
||||
private:
|
||||
|
|
Loading…
Reference in New Issue