Commit graph

133 commits

Author SHA1 Message Date
AndywinXp
fabaeb4b83 SCUMM: COMI: Implement original GUI 2022-08-06 13:33:56 +02:00
Torbjörn Andersson
ffe3d8a195 SCUMM: Fix MI2 Mac script patch comment
It's clearer if the addresses are included. Also, the comment had the
wrong jump address at one point.
2022-04-19 14:11:55 +02:00
Torbjörn Andersson
3e37a6ca9a SCUMM: Fix comment typo 2022-04-19 13:58:00 +02:00
Torbjörn Andersson
cb561f462e SCUMM: Read the "enable_enhancements" setting only once
I can't change during gameplay, it's shorter to type, and we won't
accidentally involve the config manater in some tight loop.
2022-03-23 15:23:10 +01:00
Torbjörn Andersson
1e91650154 SCUMM: Make MI1 additional Lemonhead dialog optional 2022-03-23 15:23:10 +01:00
Eugene Sandulenko
abea37c9bb
ALL: Update ScummVM project license to GPLv3+ 2021-12-26 18:48:43 +01:00
Torbjörn Andersson
33e4c56521 SCUMM: Don't try to apply workarounds to unloaded resources...
...because ScummVM will crash trying to do so.

This was discovered in bugs #13111 and #13113, where loading a HE
savegame does not load sound resource 1 but still tried to apply
workarounds to it. I don't know if this is the only case.
2021-11-29 07:25:33 +01:00
Andrea Boscarino
f731cfd648
SCUMM: DiMUSE: New Digital iMUSE Engine (#3368)
SCUMM: DiMUSE: Add new implementation of the engine
2021-11-16 00:05:18 +01:00
Orgad Shaneh
ed5489929c SCUMM: Use nullptr
Using clang-tidy modernize-use-nullptr
2021-11-14 15:51:59 +02:00
Orgad Shaneh
c2e7eeb563 SCUMM: Replace new[]/memset with new[]() 2021-11-10 19:53:15 +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
Torbjörn Andersson
7aadf63014 SCUMM: Add Spanish version of the MI1 Lemonhead patch
I don't have this version of the game myself, so it's based on a YouTube
playthrough and walking through the process of extracting the necessary
data with timofonic. It has not been properly tested, though the
messages do look correct if I insert them into the English version.
2021-09-02 13:14:42 +02:00
Ben Castricum
bb9b151c19 SCUMM: Add SegaCD MI1 Lemonhead lines 2021-08-18 21:53:40 +03:00
Ben Castricum
8e0aeaab73 SCUMM: Add FM-Towns MI1 Lemonhead lines 2021-08-18 10:33:25 +03:00
Jan Sperling
f12fe5e9b5 SCUMM: Add German MI1 Lemonhead lines 2021-08-15 22:07:38 +03:00
Torbjörn Andersson
d1f4824864 SCUMM: Add MI1 Lemonhead lines for the Mac CD versions too
The Mac CD versions that I have use the same GUI as the DOS CD version,
but don't have CD audio tracks for the music. (So there is no music for
the cannibal village.) The script to patch is identical to the DOS CD
version, but located four bytes earlier in the room resource.
2021-08-10 22:05:02 +02:00
Andrea Boscarino
b5e56e9230
SCUMM: Add italian translation for MI1 Cannibal script patch 2021-08-10 22:39:11 +03:00
Torbjörn Andersson
b5d7ec68ef SCUMM: Minor cleanup 2021-08-07 11:57:48 +03:00
Torbjörn Andersson
f1e07f96b7 SCUMM: Add missing space. 2021-08-07 11:57:48 +03:00
Torbjörn Andersson
4bcfd4aa3b SCUMM: Prepare for translated versions of the MI1 cannibal patch 2021-08-07 11:57:48 +03:00
Torbjörn Andersson
30ce02e9e3 SCUMM: Simplify MI1 cannibal patch
There's enough space to just change the first message and insert the
WaitForMessage(). No need to mess with the second message, since that
one's already correct.
2021-08-07 11:57:48 +03:00
Torbjörn Andersson
8e8e3225da SCUMM: Add missing Lemonhead lines in English CD Monkey Island 1
Apparently these were lost when the game was converted from floppy to CD
version. Not just in the English version, but that's all I have. We
should come up with a way to make it easy to add other languages,
though.
2021-08-07 11:57:48 +03:00
Torbjörn Andersson
010d17e469 SCUMM: Update comments about cracked Maniac Mansion
I have verified that the Steam version is identical to the GOG version
in this respect. (The file layout is a bit different, but the data files
are the same.)
2021-07-21 19:40:57 +02:00
Torbjörn Andersson
07617f8c5f SCUMM: Fix bad Maniac Mansion crack in GOG (and Steam?) version
The enhanced version of Maniac Mansion currently sold on GOG (and
probably Steam as well) has a one-byte change to the script handling
keypads, presumably to disable the security door copy protection. (Which
ScummVM disables by default anyway, by leaving the door open.)

Unfortunately, this crack was made without any deeper understanding of
the game (said the guy who never ever played the whole thing :-). It
allows you to enter either the correct code, or any code as long as you
get the last symbol wrong. But the script is also used for other keypad
puzzles in the game (e.g. Edna's phone number and safe combination). So
those puzzles are completely nerfed as well.

I have reported this as a bug to both GOG and Disney Games & Apps
Support. GOG has acknowledged that there is a problem, which is more
than Disney has done so far, but it remains unclear whether or not they
will fix it.
2021-07-17 09:20:10 +02:00
Torbjörn Andersson
aedf820328 SCUMM: Changed tabs to spaces
I know the default tab width for ScummVM is supposed to be 4, but I
can't be bothered to change it in my editor (where it's 8) and I assume
I'm not alone in that. So I've changed the tabs here so that the hex
code and script text should line up nicely regardless of your editor
settings.
2021-07-15 13:58:31 +02:00
Torbjörn Andersson
4fe3889861 SCUMM: Handle failure to patch MI2 Mac boot script more gracefully
If another Mac version of MI2 is ever discovered, and its boot script
doesn't match any of the known ones, we can't know what the "skip copy
protection" boot param will do. Safer, then, to use the default boot
param. ScummVM may still skip the copy protection, but if so it will do
it the old-fashioned way.
2021-07-15 13:58:31 +02:00
Torbjörn Andersson
8522ef0f4f SCUMM: Patch the MI2 Mac boot script
There are (at least) two different versions of MI2 for the Mac. The one
that was distributed with the LucasArts Mac CD Game Pack II has a
modified boot script that completely removes the copy protection screen
(yay!) and the difficulty selection (boo!).

To re-instastate the difficulty selection, patch the boot script to be
identical to the other version, which was presumably released on
floppies.

This patching is only done if the boot script has the exact expected
length of the CD version's script, and if the patched script matches the
floppy version's. That should be safe enough.
2021-07-15 13:58:31 +02: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
Torbjörn Andersson
819cfb8383 SCUMM: Initial work on Mac Loom font renderer
The main purpose of this set of changes is to refactor the code to make
it easier to pass the name of the Macintosh resource file to other parts
of the engine (it used to be hard-coded in the music players), and to
scale-up the graphics by 2.

The actual font rendering is almost completely broken.
2021-05-17 18:44:29 +02:00
Zvika Haramaty
a1f440c073 SCUMM: FM-TOWNS: Add optional trimming to 200 pixels height
Trimming the screen to 200 pixels allows using aspect ratio correction.
2021-04-20 23:56:39 +02:00
sluicebox
93eeffc84d JANITORIAL: Update old bug tracker numbers 2021-03-03 02:15:05 +02:00
wonst719
4f31022bb0
SCUMM: Implement language bundle for Korean fan translation (#2620) 2020-11-15 15:45:07 +09:00
aryanrawlani28
4b6976c558 GUI: U32: Reduce number of files changed and fixes
Up until last commit, everything was working fine but the amount of files changed was too large. This commit tries to reduce the changes.

- Add a fake constructor to Keymap, text-to-speech, setDescription (save-state)
- Redirecting functions for PopUpWidget::appendEntry, ButtonWidget::setLabel, GUIErrorMessage
- Use the above functions and constructors to reduce changes in Engines
- Fix warnings being in unicode. Only output english text in - Warnings, Errors, etc.
- Mark some strings as "translation" strings. (Not yet added to POTFILES)
- Remove some CP related things from po/modules.mk
- Previously used some Common::convertToU32 where it was not necessary, replace this with u32constructor
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
Eugene Sandulenko
1a6ffd6398 SCUMM: Fixed reading malformed resources. Bug #11463 2020-05-05 14:06:20 +02:00
D G Turner
59b639ed4d SCUMM: Fix Missing Default Switch Cases
These are flagged by GCC if -Wswitch-default is enabled.
2019-12-23 11:56:16 +00:00
Adrian Frühwirth
d433aedf37 SCUMM: Improve 'imuse play' debugger command error handling
This commit introduces the following (seemingly non-invasive) changes
to make the 'imuse play' debugger command more useful (i.e. don't crash
when trying to load the wrong kind of (sound) resource.

* ScummEngine::readSoundResource()
  Instead of fatally error()'ing upon hitting a non-sound resource type,
  e.g. a room header (0x524d4844 aka RMHD), we now only issue a warning().
  This enables the already existing dead code which properly returns 0
  (aka no resource loaded).

* ResourceManager::validateResource()
  Instead of fatally error()'ing upon hitting an illegal glob type we now
  only issue a warning() and return false (also existing dead code).
  All methods calling validateResource() check its return value so this
  seems like the right thing to do anyway.

* ScummDebugger::Cmd_IMuse()
  Instead of directly calling ensureResourceLoaded() we now call
  getResourceAddress() instead (which in turn calls ensureResourceLoaded()
  and handles other edge cases) and only attempt to play a sound if the
  returned pointer actually is valid.

Fixes Trac#10527.
2018-06-03 19:38:52 +01:00
Ori Avtalion
d8045c6727 JANITORIAL: Fix clang printf warnings 2016-01-07 14:55:32 +02:00
Johannes Schickel
3847465163 SCUMM: Make GPL headers consistent in themselves. 2014-02-18 02:39:38 +01:00
Matthew Hoops
0031c41db8 COMMON: Change kPlatformPC to kPlatformDOS
"PC" was very ambiguous and now it matches what we show in the GUI.

This also corrects sword2's platform to Windows.
2013-05-02 18:43:10 -04:00
Tarek Soliman
a4798602d7 JANITORIAL: Fix missing whitespace in pointer cast
find -name '*.h' -or -name '*.cpp' | xargs sed -r -i 's@\(([A-Za-z0-9]+)\*\)@(\1 *)@g'

This seems to have caught some params as well which is not undesirable IMO.
It also caught some strings containing this which is undesirable so I
excluded them manually. (engines/sci/engine/kernel_tables.h)
2012-02-15 10:07:10 -06:00
Travis Howell
fb41b96e96 SCUMM: setOffHeap uses resource status in HE90+ games. 2011-08-28 11:39:05 +10:00
Travis Howell
b3457144ed SCUMM: Add basic support for setOffHeap resource flag in HE90+ games. 2011-08-28 10:40:23 +10:00
eriktorbjorn
b6dd530724 SCUMM: Fix noisy Valgrind warning. 2011-06-14 23:55:57 +02:00
Max Horn
9ec64a66fe SCUMM: Turned ResTypeData into a Common::Array<Resource>, subsuming its _resource member 2011-05-13 14:48:01 +02:00
Max Horn
cf513e3ed6 SCUMM: Get rid of the unused Resource::_globSize field 2011-05-13 14:40:45 +02:00
Max Horn
749a1beb35 SCUMM: Remove useless allocateArrays call, and make sure all resources are properly killed upon restart 2011-05-13 14:39:34 +02:00
Max Horn
d63c2d17c2 SCUMM: Improve and document res tag sanity check 2011-05-13 14:26:35 +02:00
Max Horn
45207a52d4 SCUMM: Remove ResTypeData::_num 2011-05-13 14:12:00 +02:00
Max Horn
dfd6112403 SCUMM: Rename resTypeFromId -> nameOfResType 2011-05-13 14:04:59 +02:00