Commit Graph
116 Commits
Author SHA1 Message Date
Filippos Karapetis e8a321b152 SWORD1: Use C++ 11 range-based for loops 2025-03-27 13:47:57 +08:00
AndywinXp fa6f6ce06e SWORD1: Fix file not being closed
This fixes saving savestates.
2025-01-27 10:02:53 +01:00
Eugene Sandulenko 2a0ba8954c SWORD1: Silence warning on potential typo
warning:
suspicious concatenation of string literals in an array initialization;
did you mean to separate the elements with a comma?
2024-10-24 15:07:02 +02:00
NabeelShabbir f8ad3fe2e4 SWORD1: Add keymapper support 2024-08-31 22:22:09 +03:00
AndywinXp 5cf6df17af SWORD1: DETECTION: Add support for several versions of the Polish fan translation
At least, the ones I could find...
2024-04-03 11:39:34 +02:00
Matthew Jimenez 5219c99400 GRAPHICS: Move PaletteManager definition to a separate header 2024-03-12 12:24:00 +02:00
AndywinXp 3b6c35d041 SWORD1: PSX: American release should use british logo 2023-10-17 19:10:29 +02:00
AndywinXp 3bde6ebf00 SWORD1: PSX: Improve accuracy of "Paused" message 2023-10-17 00:26:46 +02:00
AndywinXp bc56133616 SWORD1: PSX: Improve accuracy of credits clipping 2023-10-16 23:31:50 +02:00
AndywinXp 2392177a7c SWORD1: PSX: Fix y coordinate for sprite drawing
Now sprites don't randomly go up and down when being
animated :-) This was taken from disasm.
2023-10-16 12:59:17 +02:00
AndywinXp 5daae32032 SWORD1: PSX: Implement credits
The PSX version doesn't have a credits Smacker video
but has a CREDITS.DAT file containing credits strings which
have to be displayed as a scrolling list of names and roles.
2023-10-16 12:59:17 +02:00
AndywinXp ebaa3857bb SWORD1: Change NULL to nullptr
This engine has somehow escaped the big NULL
purge from when we switched to C++11
2023-10-16 08:45:15 +02:00
AndywinXp 5ecdcecf72 SWORD1: SOUND: Remove Music class and files
All sound is now handled by a single engine (Sound class)
2023-10-12 23:54:24 +02:00
AndywinXp a4d08cfc4c SWORD1: SOUND: Final code clean-up pass
...hopefully :-)
2023-10-12 23:54:24 +02:00
AndywinXp 0f02b66ebe SWORD1: SOUND: Implement persistence of volume settings 2023-10-12 23:54:24 +02:00
AndywinXp bcff798029 SWORD1: SOUND: Do a code clean-up pass 2023-10-12 23:54:24 +02:00
AndywinXp 4c0d127a62 SWORD1: SOUND: Reimplement speech
Compressed speech files should work right out of
the box.
2023-10-12 23:54:24 +02:00
AndywinXp c03fe08881 SWORD1: SOUND: Implement sound effects playing and fading 2023-10-12 23:54:24 +02:00
AndywinXp 88dd4ee928 SWORD1: SOUND: Wire up some variables&funcs used externally 2023-10-12 23:54:24 +02:00
AndywinXp 94a8fc246b SWORD1: Begin sound engine rewrite 2023-10-12 23:54:24 +02:00
AndywinXp b6efe60385 SWORD1: DEMO: Implement accurate text rendering
The differences have been discovered in a disasm of the
UK demo executable.
2023-09-27 22:03:20 +02:00
AndywinXp cd8fcd32c1 SWORD1: Add proper support for Akella and MediaHouse menu strings
Yay for strings hacked into the executable in place of the english ones :)
2023-09-25 12:56:49 +02:00
AndywinXp dcc37481dc SWORD1: Add screen access mutex in critical places
This was deemed necessary by the fact that we have the main thread
and the timer thread which are constantly reaching out to functions which
update the screen in one form or another. By putting locks around calls to
_system->updateScreen() and _system->getPaletteManager()->setPalette()
we should be able to avoid issues like the one described in bug #14638.

I marked all places which seem sensitive enough when the main thread and
the timer are both in full operation. I might dial it back in the future after
we are sure that the original issue is gone.
2023-09-25 09:28:56 +02:00
AndywinXp 0e641ed191 SWORD1: Fix mouse scrolling not stopping in save menu 2023-09-24 21:18:55 +02:00
AndywinXp b9107e27ee SWORD1: Implement pause button and on-screen debug text
You can now pause the game via the 'P' key! Also, using CTRL-T
when ScummVM is in debug mode, toggles some on-screen debug
information which was also available in the original DOS version by
launching the game as "sword rev text". Implementing all of this also
meant that I had to finally implement the FPS counter.

I frankly don't know if the PSX version was supposed to have this, but
it appears to work right out of the box...
2023-09-23 13:21:27 +02:00
AndywinXp 7fc2afce99 SWORD1: Change save slot names to byte[]
Quoting -sev: "Some chars on some platforms are signed"
2023-09-21 21:41:22 +02:00
AndywinXp 8b3f16e923 SWORD1: Rewrite main menu code
This now matches the source code and the executable;
this fixes a lot of inaccuracies, implements the tombstone
"death font", implements the Speed setting.

The askForCd() routine is now more accurate as well.
2023-09-21 21:41:22 +02:00
AndywinXp 67052e2ef5 SWORD1: Address other issues from code review 2023-09-02 11:32:51 +02:00
AndywinXp 4ab197b16f SWORD1: Implement fades on the main menu
Had to reshuffle some stuff to make it work properly,
and in order to set up everything for future changes.
2023-09-02 11:32:51 +02:00
AndywinXp 394642598c SWORD1: Implement accurate fading routines 2023-09-02 11:32:51 +02:00
Le Philousophe b2ecd531a6 SWORD1: Don't use unsafe sprintf and vsprintf 2022-10-23 22:46:19 +02:00
Eugene Sandulenko abea37c9bb ALL: Update ScummVM project license to GPLv3+ 2021-12-26 18:48:43 +01:00
Eugene Sandulenko 4eb5d6d6ca SWORD1: Fix clang warning 2021-12-01 00:19:34 +01:00
Orgad Shaneh 1c5c366649 GUI: Swap OK/Alt values in MessageDialog
A follow-up commit adds support for multiple alternatives, so OK has to
come first.
2021-08-18 22:34:02 +02:00
Orgad Shaneh 6a68d8b7e5 ENGINES: Do not assume that MessageDialog accept is 1 and cancel is 0
Use the enum everywhere.

A follow-up commit will change the order.

Also reduce the use of kMessageCancel to minimum.
2021-08-18 22:34:02 +02:00
aryanrawlani28 e22b32abfe GUI: U32: Use Common::U32String::format where necessary and GUIError to u32
- Where necessary as in, where translated messages are used.
- GUIErrorMessage now takes in U32String
- error messages across some engines use U32Strings. they are changed because they show a message dialog.
2020-08-30 14:43:41 +02:00
aryanrawlani28 bed05ea134 GUI: U32: Fix compilation errors across entire project
After the initial changes just to scummvm/gui for u32, this commit includes the whole project

- Widget creations now always have u32 descriptions, labels, or tooltips
- Message dialogs make use of default arguments instead of providing the same argument explicitly
- encode String::format properly before passing on as argument where necessary
- Modify hugo utils (yesNoBox and notify box) to use u32
- Also provide fake constructors for the above which redirect to the u32 constructor
- Convert all keymap descriptions to u32 across all engines
- showConfirmationDialog in mohawk now uses u32
- showScummVMDialog also uses u32
- Scumm engine has dialogs now which use u32
- General fixes and wrapping convertToU32String for setLabels and related functions
- Add a fake constructor to MesssageDialog which redirects to the u32 constructor
2020-08-30 14:43:41 +02:00
Thanasis Antoniou 1cb608ef54 SWORD1: Fix blank in-game control panel menu 2020-02-20 03:58:30 +02:00
Eugene Sandulenko 452874d48b SWORD1: Support for external translated menu in Russian Sword1 2020-01-27 23:35:29 +01:00
D G Turner 28a7ebc48d SWORD1: Fix Missing Default Switch Cases
These are flagged by GCC if -Wswitch-default is enabled.
2019-10-20 15:39:58 +01:00
D G Turner 9467bf7faa SWORD1: Remove Fixed Sized Buffer Usage from Savegame Name Code 2019-09-15 00:28:28 +01:00
Bastien Bouclet c3bff7f25a SWORD1: Fix leaking the save thumbnail MemoryWriteStreamDynamic buffer 2017-09-22 07:06:20 +02:00
Thierry Crozat 56757592bd SWORD1: Only write config in in-game menu when they are changed
The in-game menu contains not only subtitles and volume settings,
but also load and save game options. Every time the menu was opened
it would write the subtitles and audio volumes to the ConfMan
resulting in toggling on overriding global options for this game, which
was a but strange when it was previously using global options and we
only wanted to load a game. So now the settings are written to ConfMan
from the in-game menu only when they are actually changed.
2017-07-08 12:55:12 +01:00
Thierry Crozat 6ff927bff7 SWORD1: Use booleans for _systemVars speech and subtitles flags
The were defined as uint8 and the code was inconsistent in the
way they were handled, for example setting them to 1 in some
places and to true in others. It was working but relying on implicit
conversions both ways between 1 and true.
2017-07-08 12:55:11 +01:00
Thierry Crozat 6f5ccb8f43 SWORD1: Add thumbnail when saving from game panel
This fixes bug #9908 SWORD1: Picture previews black when
saving in game
2017-07-08 00:38:28 +01:00
Ben Castricum e95c2cc3ff ALL: save file => saved game 2016-11-29 21:10:59 +01:00
Thierry Crozat a87a702eb2 ALL: Homogeneize use of 'saved game' in messages 2016-09-18 16:40:34 +01:00
Johannes Schickel f4724e7a46 SWORD1: Make GPL headers consistent in themselves. 2014-02-18 02:39:38 +01:00
Willem Jan Palenstijn 3943d34034 SWORD1: Remove dead code 2013-04-22 22:18:52 +02:00
Torbjörn Andersson e8ad4df1fa SWORD1: Enable American ("Circle of Blood") panel
If the language is explicitly set to American English, use the
American version of the panel for the main control panel. In all
other aspects, American English will behave as British English,
so it shouldn't break anything.
2012-10-06 16:24:00 +02:00