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.
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.
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.
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. :-)
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!
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.
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...
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.
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
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
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.
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.