Commit Graph
78 Commits
Author SHA1 Message Date
sluicebox f5c2be5983 SWORD1: Improve struct copying. PVS-Studio V512
This code copied structs by taking the address of the struct's
first field instead of the struct itself
2023-11-21 22:02:55 -08:00
AndywinXp 3091432ae9 SWORD1: Fix softlock in Marib when spam clicking cat 2023-10-16 14:00:58 +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 e19ac44440 SWORD1: PSX: Fix text position margin to match original
This still doesn't render correctly because the PSX version has
a blitting routing which moves coordinates around, but 34 is
the correct value to have here.
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 598145cde0 SWORD1: SOUND: Remove hack in fnPlayMusic()
We now handle missing files correctly.
2023-10-12 23:54:24 +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 5fbb2a281e SWORD1: SOUND: Clean-up and preparation for compressed music 2023-10-12 23:54:24 +02:00
AndywinXp caaf249e09 SWORD1: SOUND: Implement music for DOS version
PSX and compressed versions will follow shortly after
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 f0f23208ac SWORD1: SOUND: Wire up more functions and set up the fade timer thread 2023-10-12 23:54:24 +02:00
AndywinXp 94a8fc246b SWORD1: Begin sound engine rewrite 2023-10-12 23:54:24 +02:00
AndywinXp 96c4fe3648 SWORD1: Remove hack from fnEnterSection()
This originally fixed a crash at startup, but we seem
to handle everything correctly now, so this now works
as it should. Tested on DOS, Mac and PSX versions.
2023-10-05 09:23:23 +02:00
AndywinXp 258d61f63a SWORD1: Remove code altering live_list[]
What was I thinking when I added this?!
This code unconditionally enters sections, with the risk
of them being active throughout the whole game, without
ever being closed. I sure love hearing the Irish Pub fiddle
player from within the ending scene with the Neo-Templars. :-)
2023-09-30 09:11:03 +02:00
AndywinXp 85f63350ba SWORD1: PSX: Implement (mostly) accurate text positioning
I say "mostly" because I still have off-by-one positioning inaccuracies,
and navigating the PSX disasm is very tiresome... I'm not even sure
we are rendering sprites in the correct position anymore... Argh!
2023-09-29 00:01:52 +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 0549c99040 SWORD1: Fix cast from int16 to int32 for 4-bytes value
Sorry, it slipped out.
2023-09-25 21:49:40 +02:00
AndywinXp 4f6b97b4e6 SWORD1: Fix unsigned/signed int16 mismatch 2023-09-25 18:05:42 +02:00
AndywinXp dacb14fb53 SWORD1: Fix debug grid display for Mac version 2023-09-24 21:38:16 +02:00
AndywinXp 0d0a8ad11e SWORD1: Add more toggleable debug information
Pressing SHIFT-M shows a debug mouse cursor, and
pressing CTRL-G shows the walk grid.

Also, moved the showDebugInfo() function to sword1.cpp
because it seemed more appropriate.
2023-09-24 21:18:36 +02:00
AndywinXp 913f1da913 SWORD1: Implement more robust post-video palette workaround 2023-09-24 18:58:57 +02:00
AndywinXp 35c4e87188 SWORD1: Mark walk skip as debug only and non-demo
This is a useful tool but it should not be enabled outside of
debug mode.
2023-09-23 16:59:43 +02:00
AndywinXp a284eef876 SWORD1: Allow speech to be interrupted by both mouse buttons 2023-09-23 15:43:37 +02:00
AndywinXp 7f6ab969ba SWORD1: Fix palette flashing issues after quitting video early
This was discovered by the speedrunning community.
2023-09-23 14:28:01 +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 e15f7c0155 SWORD1: PSX: Add check for GEORGE id in fnRandom()
Forgot to add it during the previous PSX commit, sorry.
2023-09-21 22:10:19 +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 8225b5e276 SWORD1: PSX: Correctly implement fnRandom() and fnIdle()
This changes the timing intervalat which George performs his
idle animation. Thanks Joost Peters for pointing this out!
2023-09-21 18:05:26 +02:00
AndywinXp b3c72e00e8 SWORD1: Implement George's idle animation
Thanks mikethev from the speedrunning community for the
heads up! How did we never notice this?! :D
2023-09-17 12:15:36 +02:00
AndywinXp 394642598c SWORD1: Implement accurate fading routines 2023-09-02 11:32:51 +02:00
AndywinXp e21e0ed089 SWORD1: Improve accuracy of in-game timers
Also begin work on palette and sound fades
2023-09-02 11:32:51 +02:00
PushmePullyu 1338d76694 SWORD1: Fix softlock when saving in hospital
Reset _scriptVars[SAM_RETURNING] when changing to scene 33.

In the hospital, after pulling the plug from the socket, it is
possible to save the game before Sam the janitor returns to his
position.

On loading this save, he will be reset, but _scriptVars[SAM_RETURNING]
will be set to 1.

This causes a softlock when the plug is pulled again.

Fixes #14521
2023-07-02 22:41:30 +01:00
Eugene Sandulenko abea37c9bb ALL: Update ScummVM project license to GPLv3+ 2021-12-26 18:48:43 +01: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
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
Eugene Sandulenko 49e8b52a7e SWORD1: Added detection and support for Spanish demo. Fixes #11397
This demo uses normal interpreter with less differences than
the English demo.
2020-09-01 19:22:27 +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
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
Eugene Sandulenko e3d720f09b JANITORIAL: Fix GCC7 fall through warnings 2017-08-11 20:46:56 +02:00
Johannes Schickel f4724e7a46 SWORD1: Make GPL headers consistent in themselves. 2014-02-18 02:39:38 +01:00
Matthew Hoops 3117e4a8ff VIDEO: Convert DXADecoder to the AdvancedVideoDecoder API 2012-07-24 13:24:01 -04:00
Thierry Crozat 5e4ee6d077 SWORD1: Fix bug #3430793 Freeze before meeting with police 2011-10-31 21:03:52 +00:00
Thierry Crozat 6abd63b804 SWORD1: Fix crash when using cutscene subtitles with mac version
It might have been simpler to add a bool to Text::makeTextSprite() to
tell it to not byteswap the frame size when called from the movie
player but I was not sure it was a good idea to have frames with
different endianness stored in Text depending where they came from.
2011-10-27 21:49:33 +01:00
Johannes Schickel c386a5520f SWORD1: Replace inRange with CLIP. 2011-09-08 00:19:43 +02:00
Johannes Schickel 928cb5ab11 SWORD1: Made code conform a bit better to our formatting guidelines.
Most is automatically converted via astyle + some manual fixes, hopefully I
did not miss anything astyle messed up...
2011-09-07 23:54:34 +02:00
Thierry Crozat 06bbb57ad7 I18N: Make many more GUI MessageDialog strings translatable 2011-06-13 22:19:18 +01:00
Max Horn 4cbe4ede66 COMMON: Registers RandomSources in constructor with the event recorder
This also removes the dependency of engines on the event recorder header
and API, and will make it easier to RandomSources that are not properly
registered.
2011-05-17 12:17:26 +02:00
strangerke 69b1485a22 GIT: Clean up: Suppress SVN tags, now useless 2011-05-12 01:16:22 +02:00