Commit Graph

164 Commits

Author SHA1 Message Date
Vladimir Serbinenko
4bcd4671ab KOLIBRI: Add kolibrios backend 2023-02-05 22:55:40 +01:00
Eugene Sandulenko
fb7095f5a4
COMMON: Move all compression-related files to a separate directory 2022-12-01 11:53:02 +01:00
Donovan Watteau
16e2068aec JANITORIAL: Fix various single-character typos 2022-11-11 20:55:56 +01:00
Le Philousophe
6293c2b3c2 WIN32: Don't use unsafe strcat and strcpy 2022-10-23 22:46:19 +02:00
Le Philousophe
111d259015 ALL: Add limits.h for all codebase 2022-08-22 15:38:10 +02:00
Eugene Sandulenko
5e05f93f36
ALL: Remove Symbian port 2022-05-28 12:32:29 +02:00
Donovan Watteau
5b1ec56f96 JANITORIAL: Fix some lost or outdated URLs in comments 2022-05-19 07:57:31 +03:00
Thunderforge
fd129ebc0c JANITORIAL: "Mac OS X" and "OS X" to "macOS" in comments
Apple's desktop operating system was formerly called "Mac OS X" and "OS X", but since 2016 it has been called "macOS" (starting with version 10.12).

Changing across all comments and documentation to use this current terminology, except in cases where the historical versions are explicitly referenced. No code changes are made; we should consider changing those in future PRs.
2022-01-29 14:15:05 +01:00
Eugene Sandulenko
abea37c9bb
ALL: Update ScummVM project license to GPLv3+ 2021-12-26 18:48:43 +01:00
Orgad Shaneh
44219dfa1a BACKENDS: Use nullptr
Using clang-tidy modernize-use-nullptr
2021-11-14 15:51:59 +02:00
Le Philousophe
174e0cc98a WIN32: Fix compilation for good ol' Windows 9x
Set _WIN32_IE to 0x500 everywhere and remove where it's not needed.
As we gracefully check if the function is present or not, it's OK to set
this define without having IE 5.0 installed on target
2021-11-14 10:45:09 +01:00
sluicebox
3d6524c9f4 WIN32: Add Portable Mode
Adds support for a self-contained portable mode in which the
executable's directory is used for application files instead
of directories in the user's profile.

Portable mode is activated by placing a scummvm.ini file in
the executable's directory. The directory must be outside of
the system's Program Files directory to comply with UAC.
2021-11-13 21:22:28 +01:00
Thierry Crozat
aac0f40d2c BACKENDS: Add overloadable removeFile in DefaultSaveFileManager
This allows using the DefaultSaveFileManager on system where
remove() does not exist. See bug #12975.
2021-10-10 11:39:47 +03:00
Orgad Shaneh
a0c818bde6 COMMON: Introduce SaveFileManager::exists
Checks if a savefile with given name exists.

Implement on all backends.
2021-08-23 13:34:35 +02:00
Orgad Shaneh
fb8f233ed7 BACKENDS: Replace virtual with override in SaveFileManager subclasses 2021-08-23 13:34:35 +02:00
Paul Gilbert
be06c4eb8a BACKENDS: Extend OutSaveFile to support SeekableWriteStream
The seek and size methods of SeekableWriteStream are only
supported when creating uncompressed save files.
2021-08-08 18:13:30 -07:00
Paul Gilbert
9db14ee109 BACKENDS: Update all the backends to support SeekableWriteStream 2021-08-08 18:13:30 -07:00
Paul Gilbert
005561d305 COMMON: Increase Stream pos, seek, size from int32 to int64 2021-07-08 18:24:28 -07:00
sluicebox
9987cc4c5b BACKENDS: Fix undefined parsing of timestamps file
DefaultSaveFileManager::loadTimestamps() was parsing strings from the
timestamps file by checking for end-of-stream after using the byte it
attempted to read. This worked because ReadStream::readByte() returns 0
on error, but that's undefined behavior with a FIXME to remove.

This bug was exposed by the recently added warning when 0 is appended
to a String: ab06f27d43
2021-06-29 13:37:51 -05:00
sluicebox
abc3c36c37 WIN32: Make WindowsSaveFileManager UNICODE compatible 2021-06-29 12:38:01 -05:00
sluicebox
863747bc96 WIN32: Use MAX_PATH (260) instead of MAXPATHLEN (256) 2021-06-29 12:38:01 -05:00
sluicebox
674ed112aa JANITORIAL: Update more old bug tracker numbers
I missed the six digit ones and a few others in:
93eeffc84d
2021-06-09 14:28:52 -06:00
Cameron Cawley
5c255b3aa9 WIN32: Add override and final keywords 2020-10-16 18:32:08 +01:00
Eugene Sandulenko
045df72426 EVENTRECORDER: Fix crash on attempt to save. Fixed #10045
Since we have two event managers during recording, we invalidate
cache in order to avoid cache miss
2020-08-29 17:22:38 +02:00
sluicebox
baea8d5c9c COMMON: Make save compression optional when copying
Allows for copying or renaming uncompressed save files, such as
in Phantasmagoria 1, without compressing them in the process.
2019-12-09 22:57:46 -08:00
Cameron Cawley
f2b9f7bb76 BACKENDS: Remove the Windows CE port 2019-11-17 22:33:56 +01:00
Cameron Cawley
410923351b Revert "COMMON: Implement FSNode::createDirectoryRecursive()"
This reverts commit aca627bec7.
2019-09-15 00:07:46 +02:00
Cameron Cawley
7a8ddcbe38 PSP: Replace PSPSaveFileManager with DefaultSaveFileManager 2019-09-06 14:48:16 +02:00
Cameron Cawley
ba2bc60043 BACKENDS: Use the default save file manager on Switch and SamsungTV 2019-08-12 10:39:43 +03:00
Cameron Cawley
7311252d8a POSIX: Remove POSIX-specific checkPath function 2019-08-12 10:39:43 +03:00
Cameron Cawley
aca627bec7 COMMON: Implement FSNode::createDirectoryRecursive() 2019-08-11 22:15:54 +03:00
Cameron Cawley
04c57babbc BACKENDS: Create the default save directory if it doesn't exist 2019-08-11 22:15:54 +03:00
Alexander Tkachev
1e92e7b9f3 CLOUD: Fix saves syncing
This mostly affects OneDrive saves syncing, because it is the only cloud
provider to return 0 as timestamp of (non-)created file. 0 is treated as
EOF in /saves/timestamps file, thus all timestamps after such 0
timestamps were ignored and files were reuploaded as being "new". This
commit also adds more verbose debug information on SavesSyncRequest
decisions making for easier debugging.
2019-07-30 14:51:41 -04:00
Orgad Shaneh
35c2f9ade5 BACKENDS: Fix crash when save file is owned by another user
fopen() fails, but the null handle was passed on to OutSaveFile.
2019-07-07 14:16:46 +03:00
Cpasjuste
488bbb267a SWITCH: add nintendo switch support 2019-05-12 11:59:44 +03:00
Cameron Cawley
ab0fab9bf9 POSIX: Move implementation of exists, isReadable and isWritable into posix-fs.cpp 2019-04-16 00:55:43 +03:00
Cameron Cawley
27e6a28e4e BACKENDS: Fix compilation with SDL_Net enabled and cloud support disabled 2019-04-02 12:02:21 -04:00
Bastien Bouclet
26d0935b9f COMMON: Remove usage of ScopedPtr in OutSaveFile
It's not very useful. However this is mostly to test the theory that the
build failure we've been experiencing in
engines/scumm/he/logic/football.cpp with the osx builder on buildbot is
related to the size of the intermediary assembly source file.
2019-01-05 12:02:19 +01:00
SupSuper
d0512db25c WIN32: Move all ARRAYSIZE undefs to util.h
Instead of trying to undefine ARRAYSIZE everywhere we use a Windows header, let's just do it before we define our own
2018-12-17 12:28:33 +02:00
Filippos Karapetis
54159276c7 WIN32: Fix build after the addition of SHGetFolderPath() 2018-12-16 19:50:05 +02:00
Cameron Cawley
1de8f1e529 WIN32: Use SHGetFolderPath to get the location of the Application Data folder (#1449) 2018-12-16 17:04:24 +02:00
Cameron Cawley
6e40b64eb1 POSIX: Allow forbidden symbols required by FreeMiNT 2018-08-18 14:08:40 +02:00
Adrian Frühwirth
88d4e5475d PSP: Fix UB (use of deallocated memory) 2018-05-05 17:54:46 +02:00
Eugene Sandulenko
e8b70a4686 ALL: Fix compilation with disabled cloud but enabled libcurl 2016-10-17 18:55:22 +02:00
Eugene Sandulenko
355c4fa646 JANITORIAL: Remove more trailing spaces 2016-10-09 15:02:02 +02:00
Thierry Crozat
c42dfbc496 BACKEND: When removing a save files also remove entry from timestamps file 2016-09-18 05:51:57 +01:00
Thierry Crozat
33d1c55866 BACKENDS: Ignore timestamps for inexistent files in DefaultSaveFileManager
This fixes a bug in the synchronisation of the save files to the cloud when
the timestamps file contains entries for files that do no longer exist. In such
a case the synchronisation would fail.
2016-09-18 05:31:29 +01:00
Alexander Tkachev
368f664c81 COMMON: Fix WriteStream::pos() once again
MemoryReadWriteStream now returns int32, not uint32. It actually doesn't
ever return -1 to indicate that an error occured, so uint32 was a better
choice, but that's what is used in WriteStream base class now.

That method is abstract, so that's also why OutSaveFile had to override
it.
2016-08-24 16:24:16 +06:00
Alexander Tkachev
438ba985a4 JANITORIAL: Remove spaces at the end of the line
I knew there were some, but I wanted to fix them once, instead of doing
it all the time.
2016-08-24 16:07:55 +06:00
Alexander Tkachev
3da38ca60b CLOUD: Replace USE_CLOUD with USE_LIBCURL
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-24 16:07:55 +06:00