Commit graph

121 commits

Author SHA1 Message Date
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
Max Horn
649f8e0a84 SCUMM: Rename ResTypes->ResType, introduce ResId typedef, change code to use both 2011-05-13 14:02:53 +02:00
Max Horn
c02420df43 SCUMM: Add a Resource class, refactor res code around it 2011-05-13 11:47:13 +02:00
Max Horn
107e25ff5b SCUMM: Document resource usage count / expiry a little bit 2011-05-13 11:47:12 +02:00
Max Horn
82a6f2ee3c SCUMM: Rename ResTypeData::tag to _tag, get rid of ResTypeData::name 2011-05-13 11:47:11 +02:00
Max Horn
0342ab3f1b SCUMM: Rename ResTypeData::num to _num 2011-05-13 11:47:11 +02:00
Max Horn
75b9deb185 SCUMM: Get rid of the MemBlkHeader hack
This uncovered at least one potentially serious bug in the inventory
code, which still needs to be investigated and fixed.
2011-05-13 11:47:10 +02:00
Max Horn
0af2f71c71 SCUMM: Clean up ResourceManager initialization 2011-05-13 11:47:10 +02:00
Max Horn
26efa39d2c SCUMM: Document and cleanup resource type mode 2011-05-13 11:47:09 +02:00
Max Horn
45e65d7ea0 SCUMM: Refactor how resource (types) are srepresented
Previously, we had a couple of arrays of size N (where N = number of
resource types), one for each attribute of a resource type (such as as
the number of resources of that type.

Now, we have one array of size N, whose elements are a record
aggregating all the attributes of each resource type.
2011-05-13 11:47:08 +02:00
Max Horn
7773a17b0a SCUMM: Unify & extend index block related debug messages 2011-05-13 11:47:08 +02:00
strangerke
69b1485a22 GIT: Clean up: Suppress SVN tags, now useless 2011-05-12 01:16:22 +02:00
Max Horn
0ce2ca4e00 COMMON: Replace MKID_BE by MKTAG
MKID_BE relied on unspecified behavior of the C++ compiler,
and as such was always a bit unsafe. The new MKTAG macro
is slightly less elegant, but does no longer depend on the
behavior of the compiler.
Inspired by FFmpeg, which has an almost identical macro.
2011-04-12 16:53:15 +02:00