Commit Graph

3444 Commits

Author SHA1 Message Date
Eugene Sandulenko
7ff34bc9ec PLUGINS: MetaEngineStatic -> MetaEngineDetection 2020-10-11 23:14:39 +02:00
Eugene Sandulenko
7ea6781043 PLUGINS: PLUGIN_TYPE_METAENGINE -> PLUGIN_TYPE_ENGINE_DETECTION 2020-10-11 23:12:32 +02:00
aryanrawlani28
d26bbe521c ENGINES: ALL: Finish renaming ME & AME classes
- ME -> MetaEngineStatic (static parts)
- MEC -> MetaEngine (dynamic parts)
2020-10-03 14:56:36 +02:00
aryanrawlani28
9624bfeb15 SCUMM: Move common detection/engine enums into detection.h 2020-10-03 14:56:36 +02:00
aryanrawlani28
13f2a0afb0 SCUMM: DETECTION: Remove sneaky main engine headers. 2020-10-03 14:56:36 +02:00
aryanrawlani28
32799c1ee8 SCUMM: Fix naming for ScummMetaEngineConnect 2020-10-03 14:56:36 +02:00
aryanrawlani28
29ceb07959 ENGINES: ALL: Revert detection submodule to be directly present in the engine directory
- DETECT_OBJS are present and added inside an engine's modules.mk file.
2020-10-03 14:56:36 +02:00
aryanrawlani28
8189a05316 ENGINES: ALL: Adapt to changes for new plugins by defining a new detection module
For each engine:
- Make a new folder detection
- Move detection-related files inside the folder
- Add a new module "enginename/detection"
- Add DETECT_OBJS here
- Adjust the normal engine module to remove detect_objs
- Adjust every file for the new changes.
2020-10-03 14:56:36 +02:00
aryanrawlani28
4c1a03845f SCUMM: Refactoring, remove detection.o dependency from modules.
- Move detection code used by createInstance & MetaEngine to a common header - detection_internal.h
- Move steam-related method & table to detection_steam.h
- More info in comments.
2020-10-03 14:56:36 +02:00
aryanrawlani28
dc4672e294 SCUMM: Split detection features & adapt to new plugins.
- Also, we remove the static keyword so other TU's can use the functions defined.
- This change has a catch.
- Because creating an instance depends on game detection code from detection.cpp, we cannot exclude it from Scumm.
- For Statically linked Scumm, we can simply exclude these detection files, because they're already being built.
- For dynamically linked Scumm, we can add it to our executable.
- Thus, for dynamically linked Scumm, one catch is that we have duplicated code (detection.o in our executable, as well as scumm.dll), but that shouldn't be a big problem considering the advantage it gives us: Detection without a plugin loading.
2020-10-03 14:56:36 +02:00
aryanrawlani28
d10eb35dfe SCUMM: Move obsoleteGameIDsTable from detection_tables to a common header
- MetaEngineConnect requires these at compile time.
- In order to avoid including everything from detect_tables, we just move the one thing we need into header, and include that in metaengine.cpp
- Also include it in detection_tables.h to restore orignal functionality.
2020-10-03 14:56:36 +02:00
Eugene Sandulenko
cff73c14d1 SCUMM: Implemented codec20 for SMUSH. Fixes #10899
It is a simple copying codec, used in FT Classic in Remaster.
2020-09-11 15:23:03 +02:00
Eugene Sandulenko
20125684ba SCUMM: Produce clear screen instead of bailing out in SMUSH codec 20 2020-09-04 17:43:08 +02:00
Eugene Sandulenko
7f738abe4f SCUMM: Treat 0x21 as breaking space in Chinese in SMUSH movies. Fixes #7126 2020-09-01 00:30:54 +02:00
Eugene Sandulenko
c245a81a24 SCUMM: Improved detection for Chinese DIG 2020-09-01 00:08:33 +02:00
Eugene Sandulenko
58eff4c60a SCUMM: Reuse common sjis.cpp code for chunk calculation 2020-08-31 23:46:50 +02:00
Eugene Sandulenko
d079b7d984 SCUMM: Restore Japanese rendering in SCUMM v7+
This partially reverts c841c3fb7c
...And for almost 10 years nobody noticed...
2020-08-31 23:19:16 +02:00
aryanrawlani28
86b8c23f78 SCUMM: DIALOGS: Return U32 for queryResString. 2020-08-30 14:43:41 +02:00
aryanrawlani28
df03b319fb SCUMM: GUI: U32: Use more translations 2020-08-30 14:43:41 +02:00
aryanrawlani28
219646378c SCUMM: GUI: U32: Remove redundant code
- Translations are removed from the md5 warning message because logMessage doesn't support unicode.
2020-08-30 14:43:41 +02:00
aryanrawlani28
840f08d537 GUI: U32: Code cleanup & misc fixes
- Fix a translation for scumm subtitle settings dialogs.
2020-08-30 14:43:41 +02:00
aryanrawlani28
12e4f871a3 GUI: U32: Improve u32 in all engine subsystems
- Common: add wordWrap function to ustr.cpp
- Bladerunner: Explicitly state we have a U32String in subs (same as Subtitles::loadOuttakeSubsText)
- Don't use translations for engine specific "put strings", because they might not support.
- SCI: Use const references for showScummVMDialog
- SCUMM:
-- Don't use translation in md5 warning. left comments with the translated version.
-- Remove some redundant headers in help.cpp
-- Don't use translation in handleSaveload when printing to console
-- Also, display success transaction correctly via u32::format
- TESTBED: Use fake constructor when setting label of button
- SKY: Correctly use translation when using SaveStateDescription
- ULTIMA: Don't use translations when display_string
- ENGINES:
-- GenerateUnknownGameReport correctly, with proper translations.
-- There was an error, where a function had been declared twice, in a header file. Correct this.
2020-08-30 14:43:41 +02: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
ffc89d1a2b GUI: U32: SCUMM: Make variables in help to use U32
Make titles and other translation dependent variables to use u32
2020-08-30 14:43:41 +02:00
aryanrawlani28
bd19eaa5bf GUI: U32: More code improvements in engines and misc fixes
- Xeen's GUIError now takes in U32String
- Scumm's ValueDisplayDialog takes in U32
- Mohawk's InfoDialog & PauseDialog takes in U32
- Mohawk - in riven.cpp, Some assignment fixes
- Backends -in sdl.cpp, Remove incorrect conversion from iso8859 when setting text in clipboard
- Graphics - Add u32 strings instead of decoding each piece in format
2020-08-30 14:43:41 +02:00
aryanrawlani28
185fb72783 GUI: U32: Improve U32 code
- Revert accidentally put translations in mt32.cpp
- Use U32::format in some places earlier missed
- Add %u and %i for u32::format
- Add support for GUIErrorMsgFormat to use u32::format internally
- Use the above whereever needed
- Improve linux tts by removing redundant code
- Some places I had changed nullptr -> "". Revert this
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
746ec5ce36 SCUMM: Show warning on unsupported Pajama2 Russian localization 2020-08-25 22:07:04 +02:00
Cameron Cawley
2c1065188e SYMBIAN: Deprecate the actions system 2020-08-24 14:19:30 +02:00
Eugene Sandulenko
aa563f0c81 ALL: Remove PS2 port 2020-08-01 15:15:49 +02:00
aryanrawlani28
dde4200d35 GUI: RTL: Overload and simplify getWidgetData for getting rtl flag 2020-06-22 00:03:02 +02:00
aryanrawlani28
07ab77d065 GUI: RTL: Get internal widget RTL flag from theme 2020-06-22 00:03:02 +02:00
Bastien Bouclet
c777d66f92 SCUMM: Use OSystem::fillScreen when clearing the screen in MM NES
The previous code was allocating a temporary surface on the stack which
was causing the stack to overflow on the 3DS.

Fixes #11505.
2020-06-21 16:46:13 +02:00
BLooperZ
441e73bf58 SCUMM: do not reverse strings in HE 2020-06-11 21:10:30 +02:00
Hubert Maier
062b9ae09c JANITORIAL: Fix comments 2020-05-27 12:20:54 +02:00
mataniko
581a6ec7d6 JANITORIAL: Rename kSupportsRTL to kSupportsReturnToLauncher 2020-05-12 10:36:38 +02:00
mataniko
06242a712b JANITORIAL: Rename EVENT_RTL
Now that ScummVM is adding RTL support, the EVENT_RTL should be disambigious that it is for returning to launcher
2020-05-12 10:36:38 +02:00
Henrik "Henke37" Andersson
95f4144190 SCUMM: Use baseclass runDialog & always pause _splayer
Part of the PauseToken refactoring. Needs checking that pausing _splayer is the correct action for all types of pauses.
2020-05-10 23:39:31 +02:00
Henrik "Henke37" Andersson
802c0ece7f SCUMM: PauseToken for saving 2020-05-10 23:39:31 +02:00
Eugene Sandulenko
6aacdb1938 GUI: Normalize width/height parameters
The fact that ThemeLayout had them int, and GuiObject as uint, was
leading to number of unexpected overflows.
2020-05-09 21:59:07 +02:00
Eugene Sandulenko
1a6ffd6398 SCUMM: Fixed reading malformed resources. Bug #11463 2020-05-05 14:06:20 +02:00
laurentlasalle
70005ab037 SCUMM: Add Apple IIgs custom color palette 2020-05-05 00:37:32 +02:00
mataniko
90dc392f82 SCUMM: Render dark rooms and flashlight accurately in MM NES
The flashlight in MM NES does not have rounded corners, and due to
palette limitations does not render the lit areas in color.

This commit also adjusts the palette for sprites in dark rooms to match
a real NES.
2020-05-04 00:05:47 -04:00
mataniko
985ccfa8df SCUMM: Fix MM NES dark rooms and flashlight
Now that the palette swap hack is gone, the dark room and flashlight rendered incorrectly.
2020-05-03 17:44:23 -04:00
mataniko
e85e6cf846 SCUMM: Fix MM NES palette and colors
Also adds an optional more natural palette as a game option
2020-05-03 01:11:13 +02:00
Eugene Sandulenko
1196f86b4b SCUMM: Initialize memory on allocation 2020-04-30 14:53:12 +02:00
D G Turner
d6b4e94395 SCUMM: Change NES Palette Used for Maniac Mansion to Sony CXA2025AS
NES games have a 48 color and 6 gray palette, but this does not include
how the colors are mapped to the screen which will vary by system / TV
display. Each NES Emulator has used slightly different values.

These values are submitted as a better mapping for the flesh tones in
Maniac Mansion by the user "LaurentLaSalle" from a forum post.
2020-04-29 10:12:44 +02:00
Paul Gilbert
c40adffbdd SCUMM: Disable base engine autosave code in favour of engine's existing
The autosave code looks more complicated for the Scumm engine, and
since it's already present and working, it's simpler just to disable
the autosave code in the base engine for just this engine, letting
it keep taking care of it
2020-02-16 15:44:28 -08:00
Paul Gilbert
a00e44ba6c ENGINES: Merge saveGameState virtual methods into a single one 2020-02-16 15:44:28 -08:00
Paul Gilbert
45cda9db22 SCUMM: Refactor to use Engine debugger 2020-02-16 13:07:19 +02:00