Commit Graph

1158 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
a56dc094b9 ENGINES: ALL: Move detection_enums -> detection.h
- Cleans up headers quite a bit.
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
f3b9477893 ENGINES: ALL: Add header guards for the new detection-header files. 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
c7dc3d6118 ZVISION: Split detection code & adapt to new plugins. 2020-10-03 14:56:36 +02:00
aryanrawlani28
bbed423569 ZVISION: Move common enums to detection_enums header file.
- These enums are helping in game detection, as well as needed for the engine.
2020-10-03 14:56:36 +02:00
Filippos Karapetis
0849ba9068 ZVISION: Fix bug #7176 (Nemesis - missing temple fountain SFX)
This reverts commit 0bc61d3c21.
The volume mapping does not match what the original is doing. In the
case of this bug, a volume of 127 for the fountain sound would be
mapped to 2/255 when standing right in front of it, which is too quiet.
2020-08-30 23:34:36 +03:00
Torbjörn Andersson
629b121e17 ZVISION: Work around music playing over Charon cutscenes
When riding with Charon in one direction, the script stops the
background sounds. When you ride in the other direction, it doesn't.
Since the cutscenes play music, you may now have two pieces of music
playing over each other. Work around this by pausing the mixer during
the cuscenes (there are two different ones) for going back.
2020-08-30 16:12:58 +03:00
aryanrawlani28
7a19c7ffee I18N: Update POTFILES
In the previous commit, some new places where translations could be used were found. This commit adds the relevant files to POTFILES.
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
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
a9bfe35216 GUI: U32: More issue fixes and general improvements
- Use the fake constructor for message dialog less often
- solve errors regarding comparision between string and u32string in midi
- solve errors in testbed/speech related to ttsMan->say
- fix unsigned comparision warning in tab.cpp
- fix issue with static strings and translations in sdl-graphics
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
Filippos Karapetis
2f6d499349 ZVISION: Use the liberation fonts by default
These do not exhibit some of the glitches seen with the GNU FreeType
fonts in zvision games
2020-08-30 15:27:15 +03:00
Eugene Sandulenko
ac6932bd89 I18N: Added missing files to POTFILES 2020-08-27 20:26:45 +02:00
Torbjörn Andersson
02a1552efe ZVISION: Implement indirect addressing in add()
Some ZGI scripts use action:add(14999, [...]) to add to the score.
Without this, it would always add 0 instead. This affected the puzzles
where you use the snapdragon and where you open the first time tunnel.
2020-08-24 14:15:23 +02:00
Torbjörn Andersson
022a65ee52 ZVISION: Delay location changes one cycle
Since the script that triggers a location change can also trigger other
scripts, wait one cycle before actually changing the location to give
them time to run. This fixes a couple more missing points. I've verified
that this does not cause any obvious regressions in ZGI. I'll try
Nemesis when all is done, to see if any of the fixes needs to be for ZGI
and ZGI only.
2020-08-24 14:15:23 +02:00
Torbjörn Andersson
496484b94b ZVISION: Do not terminate scripts when they change location
It was pointed out on the GOG forum that you can't get a perfect score
in Zork: Grand Inquisitor. Once case I've found that looks like it
should award points, but doesn't, is the Spell Checker (tp4g.scr). It
turns out that the script doesn't award the points until after it has
changed your location, and ScummVM interprets the location change as a
signal that the script has ended. With this change, the script continues
until it finishes on its own.

As far as I can see, this is how ScummVM has always done it. I don't
think the original Z-Engine project did, though.

If this was the only such case, I would feel much more comfortable about
making this change. As it is, I'm a bit nervous about it. One other
positive difference is that with the change, you get to keep the sword
and rope after entering the monastery (um1e.scr). Without it, they are
lost but apparently no longer needed?
2020-08-24 14:15:23 +02:00
Torbjörn Andersson
6f9199e502 ZVISION: Fix the Zork Nemesis safe puzzle
This reverts bb2f218fa1 which was in
response to a Coverity report. Maybe it can be written in a better way -
I haven't wrapped my head around the trigonometry of it - but clicking
on a number on the safe dial is supposed to rotate the dial until that
number is at the red arrow head.

This way, it works. You can test it with "location a c 4 g 0".
2020-07-23 11:55:39 +02:00
Cameron Cawley
00e3c03755 ALL: Remove unnecessary graphics/colormasks.h includes 2020-06-15 16:59:34 +01:00
mataniko
581a6ec7d6 JANITORIAL: Rename kSupportsRTL to kSupportsReturnToLauncher 2020-05-12 10:36:38 +02:00
Cameron Cawley
6ed8dea829 ZVISION: Disable the keymap when InputControl is focused 2020-03-15 17:35:09 +01:00
Cameron Cawley
db87cb0c63 ZVISION: Use custom engine actions for the menubar shortcuts 2020-03-15 17:35:09 +01:00
Cameron Cawley
496edf905f ZVISION: Add keymapper support 2020-03-15 17:35:09 +01:00
Paul Gilbert
9f175c4053 ENGINES: Cleanup of savegame filenames generation
This removes filename methods when it matched the Engine method.
Secondly, ensuring there was an overriden getSaveStateName method
for engines that didn't do the standard target.00x save filenames
2020-02-16 15:44:28 -08:00
Paul Gilbert
37c397f19b ZVISION: Remove autosave code 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
c44a028ae7 ZVISION: Refactor to use Engine debugger 2020-02-16 13:07:19 +02:00
Bastien Bouclet
e3abab45ab ZVISION: Add override keywords 2020-02-09 12:55:00 +01:00
Eugene Sandulenko
445c77007d ZVISION: Added override keywords 2020-02-06 23:46:47 +01:00
Paul Gilbert
5b80320525 ENGINES: Adding override keyword to hasFeature methods 2020-02-04 20:04:11 -08:00
Christian Speckner
fef5139729 ZVISION: Fix initial out-of-bounds condition in clock. 2020-02-02 22:35:08 +02:00
Bastien Bouclet
9c8bd056d6 ENGINES: Stop using 'single id' 2019-11-03 11:43:00 +01:00
Bastien Bouclet
4b42112721 ENGINES: Add an engine ID to all the engines 2019-11-03 11:43:00 +01:00
D G Turner
008e2b85b6 ZVISION: Fix Missing Default Switch Cases
These are flagged by GCC if -Wswitch-default is enabled.
2019-10-24 02:04:53 +01:00
D G Turner
69452ccbe9 ZVISION: Fix GCC Compiler Warnings
These were from memset usage on non-trivial structures, but were fixed
by directly clearing the Common::Point array.
2019-08-25 08:12:31 +01:00
Torbjörn Andersson
f104cf5903 ZVISION: Move code to determine amplification to its own function
As suggested by bluegr.
2019-02-10 16:32:02 +02:00
Torbjörn Andersson
9785d5007a ZVISION: Boost volume for MPEG cutscenes
The high-resolution videos play back at much lower volume than the
original ones. This adds hard-coded values for how much to amplify
each cutscene. It's all done by ear, and it does introduce some
clipping, but I think it should be acceptable.

Of course, it could also be a problem with the audio decoder, so
this may be the wrong approach entirely.
2019-02-10 16:32:02 +02:00
Cameron Cawley
1953aa7064 ZVISION: Attempt to load fallback fonts from fonts.dat 2018-12-25 12:47:42 +01:00
Filippos Karapetis
63f0d47b99 ZVISION: Really fix GUIO flags for the DVD version of ZGI 2018-11-05 01:28:57 +02:00
Filippos Karapetis
4f37de9ce9 ZVISION: Fix GUIO flags for the DVD version of ZGI 2018-11-05 01:27:12 +02:00
Thierry Crozat
e4ff1929aa ZVISION: Only add mpeg video engine options when mpeg and a52 are enabled 2018-11-04 22:33:22 +01:00
Thierry Crozat
e2935acfe4 ZVISION: Disable MPEG movies when liba52 is not enabled 2018-11-04 22:33:22 +01:00
Torbjörn Andersson
71910c2283 ZVISION: Set 800x600 mode for the DVD version of ZGI
This allows the backend to show the hi-res videos at full
resolution, rather than scaling them down.
2018-11-04 22:33:22 +01:00
Torbjörn Andersson
4cc71d42a2 ZVISION: Play hi-res videos, even if they have no low-res version
This is used for some logo animations at the start of the game. I
don't know if it's used for anything else, but probably not.
2018-11-04 22:33:22 +01:00
Torbjörn Andersson
e9052a0085 ZVISION: Enable hi-res videos for testing purposes 2018-11-04 22:33:22 +01:00
Torbjörn Andersson
f6a0e197b1 ZVISION: Add workaround for ZGI bug #10605
It's possible to get the "Fire! Fire!" timer stuck after setting
the the inquisitor doll on fire. This should work around that.
2018-07-29 09:48:47 +02:00