aboutsummaryrefslogtreecommitdiff
path: root/base
AgeCommit message (Collapse)Author
2017-12-03BASE: Remove bad casts between incompatible Plugin typesColin Snover
Previously, a C-style cast was used to convert a Common::Array<Plugin *>, populated with pointers to StaticPlugin and DynamicPlugin instances, to a Common::Array<PluginSubclass<T> *>, but PluginSubclass<T> is a *sibling* class to StaticPlugin/DynamicPlugin, so this cast was invalid and the results undefined. The methods for retrieving subclasses of plugins can't be easily changed to just generate an array of temporary wrapper objects that expose an identical API which dereferences to the preferred PluginObject subclass because pointers to these objects are retained by other parts of ScummVM, so the wrappers would needed to be persisted or they would need to just re-expose the underlying Plugin object again. This indicated that a way to solve this problem is to have the callers receive Plugin objects and get the PluginObject from the Plugin by explicitly stating their desired type, in a similar manner to std::get(std::variant), so that the pattern used by this patch to solve the problem. Closes gh-1051.
2017-11-30RELEASE: This is 2.1.0gitThierry Crozat
2017-11-21RELEASE: 1.10 will henceforth be known as 2.0Colin Snover
General consensus on the ML was that people wanted to do this. http://lists.scummvm.org/pipermail/scummvm-devel/2017-November/012008.html
2017-11-02BASE: Minor command line detection cleanupBastien Bouclet
2017-09-08UPDATES: Fix crash when compiling with updates enabled but without an ↵Thierry Crozat
UpdateManager This can happen when Sparkle was not found during configure which results in USE_UPDATES being defined but USE_SPARKLE not being defined.
2017-08-06CMD: Handle --game=<ID> for --detect and --auto-detectThierry Crozat
The README and command line help indicated this should work, but this was not implemented.
2017-08-06CMD: Improve warnings for --detect and --add when no game is foundThierry Crozat
2017-08-06CMD: Print full path information for --detectTobia Tesan
2017-08-06CMD: Update error codes in case of autodetector errorTobia Tesan
2017-08-06CMD: Add --recursive option for adding & detectionTobia Tesan
New semantics is as follows: [-p <dir>] --add adds all games in <dir> or working dir [-p <dir>] --detect enumerates dectected games in <dir> with their ids [-p <dir>] --game <id> --add adds just game <id> if found in <dir> and not already added [-p <dir>] --recursive --add adds all games in <dir> and subdirs if not already added [-p <dir>] --recursive --game <id> --add adds just game <id> if found in <dir> or its subdirs and not already added [-p <dir>] --recursive --detect enumerates games in <dir> and subdirs [-p <dir>] --auto-detect launches the first game found in <dir> [-p <dir>] --recursive --auto-detect displays error message The reason for the displaying an error message when attempting to do autodetection on a whole tree is mainly one of UX, IMO it *might* get confusing on a sufficiently large/deep tree. The relevant if() can be removed safely if it's concluded that's not the case.
2017-08-06CMD: Fix batch adding of gamesTobia Tesan
This implements the behaviour as discussed in PR926: https://github.com/scummvm/scummvm/pull/926#discussion_r126132411 Essentially: [-p <dir>] --add adds all games in <dir> or working dir [-p <dir>] --detect enumerates dectected games with their ids [-p <dir>] --game <id> --add adds just game <id>
2017-07-10Revert "COMMON: Change way the Singleton instances are instantiated"Eugene Sandulenko
This reverts commit eefa72afa1978a9dea10f5b1833fcc8f58a3468e. With this patch ConfigManager is broken.
2017-07-10COMMON: Change way the Singleton instances are instantiatedThierry Crozat
This fixes tons of warnings with clang from a recent xcode version on macOS (and possibly other systems) complaining that an instantiation of _singleton is required but no definition is available.
2017-05-03BASE: Fix auto-detect command to detect and start gameThierry Crozat
There were several issues. The first one was introduced recently and caused the preferred target to be used as a game ID, which resulted in an error when this is not a valid game ID. Thus this fixes bug #9754. The other issues were here since the auto-detect command was added and caused other command line options, suh as the path, to be lost. This usually resulted in a failure to start the game as the data files could not be found (unless the ID happened to be the same name as a target previously added). This also caused a reappearance of the old bug
2017-04-24BASE: Improve error handling when detecting gamesThierry Crozat
2017-04-24BASE: Check scanf return value when adding a gameThierry Crozat
2017-04-23CMD: Detect and add game(s) with commandlineyinsimei
This implements feature request #7885
2017-02-06BASE: Ignore -NSDocumentRevisionDebugMode command line argument on OS XThierry Crozat
This is automatically added by Xcode when not toggling off the "Allow debugging when using document Versions Browser". Since this is on by default, and to avoid everybody having to google it, I have decided to just ignore it on OS X.
2016-11-07BASE: Auto-detect now starts the first game foundThierry Crozat
2016-10-29BASE: Clarify how to specify a path in help for the auto-detect commandThierry Crozat
2016-10-29BASE: Auto-detect option now uses the specified pathThierry Crozat
2016-10-29BASE: Formatting codeiskrich
2016-10-29BASE: Add --auto-detect commandiskrich
Allows to display games in the current directory that are compatible with ScummVM. This option enables the user to find games in the directory from which ScummVM was launched. In terminal it looks like: -------------------------------------------------------------------------------------- $ scummvm --auto-detect ID Description -------------------- --------------------------------------------------------- drascula Drascula: The Vampire Strikes Back (DOS/English) queen Flight of the Amazon Queen (Talkie/DOS/English) -------------------------------------------------------------------------------------- The current directory is defined as dir(".") then using EngineMan.detectGames to recognise games.
2016-10-29COMMON: Add referencing and destruction of the OSDMessageQueue instanceThierry Crozat
Registering the OSDMessageQueue instance as an event source is now done right after the event manager is initialised. This ensures that it is created in a sensible place and not for example in another thread). Also registering the event source is moved to a separate function instead of being in the constructor to remove any issue in case some code tries to display a OSD Message very early on (the instance would be created then, but it would be registered as an event source later).
2016-10-24BASE: Add command line for specifyong Director start movieEugene Sandulenko
2016-10-17ALL: Fix compilation with disabled cloud but enabled libcurlEugene Sandulenko
2016-10-13GUI: Add checkbox and config option to enable/disable graphics filteringThierry Crozat
2016-10-09JANITORIAL: Remove more trailing spacesEugene Sandulenko
2016-09-26RELEASE: This is 1.10.0gitEugene Sandulenko
2016-09-10AMIGAOS: Amiga needs date in specific format in version cookie. Now ↵Eugene Sandulenko
AmiUpdate works
2016-08-24CLOUD: Do some refactoring/cleanupAlexander Tkachev
Nothing really major.
2016-08-24CLOUD: Replace USE_CLOUD with USE_LIBCURLAlexander Tkachev
In most cases that's the right one to check. USE_CLOUD is defined when either USE_LIBCURL or USE_SDL_NET are, which means if there is no curl, USE_CLOUD still could be defined and linking errors would appear.
2016-08-24CLOUD: Add LocalWebserverAlexander Tkachev
Available as LocalServer singleton. It's being started and stopped by StorageWizardDialog. It doesn't handle clients yet, though.
2016-08-24CLOUD: Make CloudManager singletonAlexander Tkachev
It's needed to ::destroy() it in main().
2016-08-24CLOUD: Fix ConnectionManager's destructorAlexander Tkachev
It now terminates active Requests.
2016-08-24CLOUD: Add DropboxCreateDirectoryRequestAlexander Tkachev
Also add CloudManager::testFeature(), because syncSaves() now works fine and I don't want to break it again and again with my testing requests.
2016-08-24CLOUD: Add Dropbox into CloudManager's configsAlexander Tkachev
This commit adds: * ConfMan's new "cloud" domain; * CloudManager's init() method, where it loads keys from "cloud" configs domain; * CurlJsonRequest's addHeader() and addPostField() methods; * temporary Storage's printInfo() method; * DropboxStorage's implementation of printInfo(), which is using access token and user id; * DropboxStorage's loadFromConfig() static method to load access token and user id from configs and create a Storage instance with those; * temporary DropboxStorage's authThroughConsole() static method, which guides user through auth process from the console. So, in CloudManager's init() implementation ScummVM checks that there is "current_storage_type" key in "cloud" domain of configs, and loads corresponding storage if there is such key. If there is no such key, ScummVM offers user to auth with Dropbox. That's done through console, and thus it's temporary (it also requires restarting ScummVM twice and manually editing config.ini file).
2016-08-24CLOUD: Do minor fixesAlexander Tkachev
2016-08-24CLOUD: Add USE_CLOUD featureAlexander Tkachev
Adds USE_CLOUD in both configure and create_project.
2016-08-24CLOUD: Add Cloud::Manager and Cloud::StorageAlexander Tkachev
This commit introduces Common::CloudManager, which can be accessed from OSystem. The backend for this manager is Cloud::Manager (defined in backends/cloud/manager.h). It should load all users storages from configs and provide access to current Storage instance. For now it just creates a new one. Cloud::Storage (backends/cloud/storage.h) provides an API to interact with cloud storage, for example, create new directory or sync files. Right now it's not ready and has only two dummy methods: listDirectory() and syncSaves(). There is Cloud::Dropbox::DropboxStorage backend (backends/cloud/dropbox/dropboxstorage.h) for Cloud::Storage. Right now it implements both listDirectory() and syncSaves() with starting timer task and handling it by printing out some JSON examples.
2016-08-24CLOUD: Integrate CloudThread into OSystemAlexander Tkachev
Would be changed soon.
2016-08-24CLOUD: Add SimpleJSON library as Common::JSONAlexander Tkachev
This commit also adds CloudThread class, which work() method is called every second by TimerManager. Right now it prints JSON examples on the console, so that's why it's introduced with SimpleJSON library.
2016-08-13COMMON: Introduce --debug-channels-only command line flag.Eugene Sandulenko
Many of our systems currently generate significant amount of debug output on deeper levels. Now, when your engine is using Debug Channels, you might want to show that debug information only, which is currently not possible, as the generic output will be mixed in your output. Alternative solution would be to implement possibility to specify per-channel debug levels.
2016-07-23ALL: Don't use 'defined' in macro definitionsOri Avtalion
This is undefined behavior and clang warns about it. See <http://lists.llvm.org/pipermail/cfe-commits/Week-of-Mon-20160118/147239.html>.
2016-07-03BASE: Fix TypoHubert Maier
2016-06-05BASE: Allow setting the debug flags from the configuration fileBastien Bouclet
Useful for devices where passing command line arguments is not possible.
2016-05-16Merge pull request #710 from vandalo/masterEugene Sandulenko
COMMON: Fix wrong warning message
2016-05-16Merge pull request #745 from Cruel/3dsEugene Sandulenko
3DS: New Backend
2016-04-16COMMON: Fix wrong error messagevandalo
The error message was not correct. When you add a game data dir to launcher and after do this rename game data dir the error was wrong. It said that the "path wasn't a directory", the expected error message was "Path does not exists" because we had changed. How to solve this: We split in two the validation of the path, first we check if it's a existing path and then if the path is a directory. if (!dir.exists()) err = Common::kPathDoesNotExist; else if (!dir.isDirectory()) err = Common::kPathNotDirectory; Solve Bug: 6765 Wrong error code if directory missing
2016-04-063DS: Initial commitThomas Edvalson