Commit Graph
1442 Commits
Author SHA1 Message Date
Walter Agazzi 601e1c31e0 AGI: Add detection for Quest for the Toilet 2023-01-13 18:37:30 +01:00
Cameron Cawley 28d7b361ea COMMON: Move more file format code into common/formats 2022-12-11 22:33:23 +01:00
Eugene Sandulenko 30e4c84ce7 AGI: Fix memory management with _propData. CID 1446667 2022-11-20 19:07:28 +01:00
Cameron Cawley 2c306f7624 AGI: Move the engine options into the MetaEngine subclass 2022-11-16 23:58:54 +01:00
athrxx 744b55b42c AGI: make use of new gui options handling for render modes 2022-11-07 00:27:34 +02:00
Ray fde0ea0b1a AGI: Fixed game Titles to match box art title 2022-11-06 20:52:04 +02:00
Le Philousophe 3abe41aa1b AGI: Fix strncpy usage 2022-11-06 17:27:21 +01:00
Hubert Maier d7d969d251 AGI: Correct spelling mistake
lightening -> lightning
2022-10-27 15:56:06 +02:00
Le Philousophe a91558aefd AGI: Don't use unsafe sprintf and vsprintf 2022-10-23 22:46:19 +02:00
Le Philousophe c89f760066 AGI: Don't use unsafe strcat and strcpy 2022-10-23 22:46:19 +02:00
Daniel Abramowitz f47977db1d AGI: Format Logs
Use the text's stringPrintf function to format the log messages.
2022-10-17 07:26:46 +03:00
Daniel Abramowitz 65aba03517 AGI: Write log() Function to File
Now the log() function writes to a file, as
the AGI engine did.

It appears that ScummVM doesn't have any "append" functionality.
As a result, I made this implementation create a new file each time
a message is logged. Note that the file is only created if the
log() function is called. The file name includes the game name
and the current time, ensuring that logs won't be overwritten.

The format is: agi.<gameid>.<currentime>.log and will be logged to
the working directory.

Last week I first implemented the log() function. In that commit
I just had it log to the console. In this commit we start
writing to a file.
2022-10-16 21:52:21 +02:00
Daniel Abramowitz a03b25a61a AGI: Initial Implemention of AGI's log() Function
This log() function was previously unimplemented in ScummVM. Its
purpose is to write log messages and some metadata about the game state
to a file.

This functionality does not affect game play. Presumably Sierra used
this to beta test their games. They would log the words that their
testers used but the game did not understand. The testers would
then submit the log file back to Sierra. Sierra would add the missing
words or descriptions to their games before release.

This is the first diff of a couple which will incrementally add this
functionality. In this diff, we just collect the information we need to
generate a log message close to what AGI actually did.

There are two notable differences which will be fixed in future diffs:
(See the comments in the code for more details.)
1. No message formatting.
2. We log to the console only.

For context, I'm currently writing an AGI game and would like to
collect this output from my friends and family, which is why I'm
implementing this functionality today.
2022-10-10 08:22:16 +03:00
DL ef332f38c1 AGI: French translation support 2022-09-19 00:46:07 +02:00
DL c9ef71a528 AGI: limit input to <= 0xFF in RU_RUS & HE_ISR translations
Prevents right-click and mouse scroll wheel from adding unwanted keypresses to the player input line when language is HE_ISR or RU_RUS.
2022-09-19 00:46:07 +02:00
Donovan Watteau 27f9a460b5 JANITORIAL: Fix "the the" and similar typos 2022-07-29 19:36:40 +03:00
Cameron Cawley f3b094e53f ENGINES: Change the MetaEngineDetection interface to match MetaEngine 2022-07-23 23:31:58 +02:00
D G Turner d3cfd7eef3 AGI: Remove Extra Backslash From French UI Case
This was causing a GCC compiler warning regarding the unhandled
escape case of \040 i.e. ASCII space in octal.
2022-06-07 22:12:54 +01:00
DL 84f3b1df18 AGI: Add French UI case 2022-06-06 18:39:55 +02:00
Filippos Karapetis 9dd5469873 AGI: Add files missing from commit 3be24c759b 2022-05-28 17:34:40 +03:00
Filippos Karapetis 3be24c759b AGI: Group preAGI games into a separate folder 2022-05-28 16:47:47 +03:00
Filippos Karapetis 622614eb20 AGI: Fix the Amiga Winnie the Pooh file structure and detection
The Amiga version of Winnie has files in subdirectories. The engine has
been adapted to respect the directory structure of this version
2022-05-28 15:30:45 +03:00
Athanasios Antoniou 5684a31703 AGI: Fix detection for Mickey's Space Adventure
This should address the remaining issues with ticket https://bugs.scummvm.org/ticket/13155
2022-05-28 00:50:49 +03:00
Torbjörn Andersson e06f3c9a5a GUI: Allow game option checkboxes to be disabled
Depending on other game option checkboxes. This is used to
enable/disable the semi-smooth scrolling checkboxes for FM Towns Loom,
since it's only used when smooth scrolling is enabled.
2022-04-21 11:07:17 +02:00
Zvika Haramaty e79f0a5c81 AGI: *.wag fallback - use description and version only if not empty strings 2022-04-17 14:22:12 +03:00
Zvika Haramaty 2a00a342bb AGI: set gameid according to *.wag file only if it's a known value 2022-04-17 14:13:52 +03:00
Zvika Haramaty 15dfca15ba AGI: fixed typo in fallbackWarning 2022-04-17 13:56:29 +03:00
eientei 957c7ecb5a AGI: Add more information to detection for Black Cauldron 2.10 3.5" 2022-04-15 12:25:08 +03:00
D G Turner 41eb2d4a87 AGI: Add Detection for "Good Man" Demo v4.0
This fanmade game is referenced in bug #13337.
2022-03-26 13:08:08 +00:00
D G Turner a9e639486d AGI: Add Detection for "Tex McPhilip 3 - A Destiny of Sin (v1.02)"
This fanmade game was completed and is referenced in bug #13336.
2022-03-26 12:21:30 +00:00
trembyle 74fc28fdc0 AGI: Add detection for later KQ4 IIgs version 2022-01-29 11:54:45 -05:00
trembyle 23348808e0 AGI: Add support for Mac Manhunter games
Macintosh versions of GR and MH1-2 use the same combined directory
filename convention as DOS, Atari ST and Apple IIgs (but not Amiga or
CoCo3). However, the filename convention for volumes uses the common
AGI v2 format, without a game id prefix.

Example:
DOS: GRDIR, GRVOL.x
Mac: GRDIR, VOL.x

To account for this, we'll use the following:
1. Rather than take the directory filename prefix from volume files,
   we now get this from the directory files themselves (which makes
   more sense anyway).
2. Later, when loading individual volumes, check for Mac platform and
   exclude the prefix from the path.

This improves the previous single game check for Mac Gold Rush, which
formed directory and volume paths for that game only. This check is
now obsolete and has been removed. The detection flag that was used to
invoke the workaround has also been removed.
2022-01-16 23:48:13 +02:00
trembyle 3c93b25b1c AGI: Add detection for Mac Manhunters
Add both Manhunters to detection tables. They don't start yet (because
the AGI V3 games store their directory files differently). I'll attempt
to fix this by adapting the method used for Mac Gold Rush.

Also add a new PC version of MH2 in order to resolve an md5 conflict
with the Mac version.
2022-01-05 16:00:51 -05:00
trembyle 31c8446caf AGI: Clean up fanmade detection entries
* Remove redundant language text
* Fix entries with duplicate md5 hashes
* UTF-8 titles since they're now supported
* Correct titles to match game & AGI Wiki
* New CoCo 3 ports of fanmade titles
* Fix alphabetical sorting

Gourd of the Beans is now listed as a Windows game. This was
released in 2015 and was always distributed with a modern interpreter,
specifically NAGI. It was never meant to be played in MS-DOS.
2022-01-03 20:38:01 -05:00
trembyle c81605dfa9 AGI: Fix build errors 2022-01-03 19:25:02 -05:00
trembyle bde069fb62 AGI: New detection for Tandy Color Computer ports
Adds detection for CoCo 1/2 early / pre-AGI games. CoCo 1 and 2 were
not generally forward compatible with CoCo 3, which was officially
supported by Sierra for KQ3 and LSL1 only.

These games either won't start or crash on the title screen, so I've
flagged them as unsupported for now.

Also adds some additional fanmade CoCo 3 ports. I'm in contact with
the porter and may be updating and further cleaning up these entries
as I learn more.
2022-01-03 18:54:05 -05:00
trembyle 17d8cab6bf AGI: Add detection for additional PC booters
Alternate version of Troll's Tale works without issue.

PCjr, Tandy 1000, and IBM PC booters for KQ1-2 do not work because
the earliest AGI versions are not yet supported.

Later MS-DOS releases of Troll's Tale also do not work yet.
2022-01-03 18:06:19 -05:00
Eugene Sandulenko abea37c9bb ALL: Update ScummVM project license to GPLv3+ 2021-12-26 18:48:43 +01:00
Orgad Shaneh f1f4657b10 AGI: Use nullptr
Using clang-tidy modernize-use-nullptr
2021-11-14 15:51:59 +02:00
Alexandre Detiste 6044504762 JANITORIAL: typos
some in the variable names, some in the comments;
no change for the strings that interract with original games assets
2021-10-31 20:46:31 +01:00
Orgad Shaneh fe104cc337 ENGINES: Use MetaEngine consistently for getting autosave slot
The autosave refactoring that was done in
7adad5aaf5 used g_engine for identifying the
autosave slot. This worked for in-game save/load, but doesn't fit when
called from the launcher.

Fix by passing MetaEngine to SaveStateDescriptor ctor and using it for this
query.

Amends 7adad5aaf5.
2021-10-24 16:46:06 +02:00
Thunderforge 35c3668275 COMMON: Fixing misspellings "occured" -> "occurred"
Fixing this misspelled word across multiple parts of the codebase.
2021-09-25 21:36:42 +03:00
Eugene Sandulenko 89f92a007a AGI: Improved detection for preagi titles.
Filenames "title" and "title.pic" are too generic, so second
file was added for each entry
2021-08-28 00:27:52 +02:00
Orgad Shaneh 7adad5aaf5 ENGINES: Streamline auto-save write/delete protection
Some engines call setAutosave and some don't. isAutosave is used to
determine if a saved game is an autosave, but in fact, on most cases it
just falls back to comparing the name to "Autosave".

This is wrong for several reasons:
* Older versions of ScummVM used Autosave 0.
* The name "Autosave" is translated, so if you change the language, it
  won't be detected.

Instead of relying on the name, use the well-known getAutosaveSlot() from
Engine/MetaEngine.

Fixes #12735.
2021-08-23 13:34:35 +02:00
Eugene Sandulenko 11558b92aa AGI: Fix pattern plotting. Bugreport #11923 2021-08-18 00:46:49 +02:00
Eugene Sandulenko 070a9a53b1 AGI: Remove stray debug output 2021-08-17 19:29:17 +02:00
Eugene Sandulenko bf1b6a35aa AGI: Do not use Hercules font for Cyrillic titles. Addresses bug #12745 2021-08-17 19:29:17 +02:00
Max Horn 2f1f8f502e DEVTOOLS: move credits from devtools/credits.pl to engines
This employs a "lazy" approach: the "format" for the credits stays
exactly as it was, i.e., perl code. Of course one may want to change
this to another format (e.g. YAML, JSON, XML; or also shell script or
AWK, like `configure.engine` uses). But I deliberately kept it simple,
to get a minimal change that is easy to verify. Any further changes to
e.g. the format can be layered atop this.
2021-08-05 00:01:46 +02:00
Eugene Sandulenko 8614bbea6d AGI: Added detection for KQ1 Russian 2021-08-04 12:31:44 +02:00
Eugene Sandulenko 8a2284ebc7 AGI: Added user input conversion for Russian titles 2021-07-31 15:00:27 +02:00