aboutsummaryrefslogtreecommitdiff
path: root/engines/wintermute
AgeCommit message (Collapse)Author
2020-01-11WINTERMUTE: Key code mapping refactoringlolbot-iichan
I discovered, that difference in key mappings between FoxTail and usual games is not due to FoxTail's engine differences from WME Lite, but were made in WME Lite itself! WME 1.x is using "Virtual-Key Codes" mapping and WME Lite and FoxTail are using "SDL_Keycode" mapping. So, here is total refactoring of keycode handling. Why nobody noticed this earlier? Because there are only 4 currently known series that are based on WME Lite (J.U.L.I.A. series, Reversion series, FoxTail and Securanote) and because most WME games, both 1.x-based and Lite-based are using Keyboard class only for handling Enter and Escape keys, which are the same in both mappings (Backspace, Space and Tab are also the same).
2020-01-11WINTERMUTE: Rename custo* variables as custom*lolbot-iichan
2020-01-11WINTERMUTE: Removed pointless checkslolbot-iichan
2020-01-11WINTERMUTE: Add FoxTail hint properties to entitieslolbot-iichan
FoxTail require SCENE's ENTITY to support additional HINT_X and HINT_Y properties. Those properties are accessed by scripts to display hints: node_object.HintX.
2020-01-11WINTERMUTE: Suppress FoxTail runtimeError on game loadlolbot-iichan
FoxTail reloads in-hand items and cursor during AfterLoad by calling wrapped Game.LoadItems() method. This does not work in WME, as WME explicitly disables methods call at "AfterLoad" event. Somehow, everything seems to work fine without it. Let's supress this error by now... TODO: inspect actor.TakeItem and SetItemCursor for possible effects TODO: make a fake game that calls some methods on AfterLoad, test with FoxTail engine
2020-01-11WINTERMUTE: Add FoxTail saveload indicator hacklolbot-iichan
Wintermute games usually display save/load progress bar as a rectangle drawn above an image. FoxTail's progress bar is drawn below semitransparent image instead. TODO: I have no idea how to make this work with "dirty_rect=true" mode.
2020-01-11WINTERMUTE: Add FoxTail color token for bitmap fontslolbot-iichan
Some FoxTail versions have bitmap fonts with white letters and COLOR properties. Alpha value of subframe can be used to recolor white letters to desired color.
2020-01-11WINTERMUTE: Add FoxTail dialogues UI hacklolbot-iichan
FoxTail fork of WME seems to have hard-coded modifications for dialogue UI. Buttons are ignoring hover-font and pressed-font settings. Buttons also have hard-coded-path scripts attached to them.
2020-01-11WINTERMUTE: Add FoxTail text spacing hacklolbot-iichan
FoxTail fork of WME seems to have hard-coded modifications for getting inter-line and inter-character spaces smaller.
2020-01-11WINTERMUTE: Add FoxTail key codes mappinglolbot-iichan
FoxTail code is hacked to use key codes from different from usual WME. Got correct mapping using script decompiling, verified with sample game.
2020-01-11WINTERMUTE: Add FoxTail registry flush methodlolbot-iichan
FoxTail requires Game.RegistryFlush() method to force saving of persistent settings
2020-01-11WINTERMUTE: Add FoxTail screen methodslolbot-iichan
FoxTail use 2x, 3x, 4x, etc so-called "screen modes", that are switched between in Options menu. Current implementation makes FoxTail no choice but to think that 640x360 is the only option avaliable, since we don't want game engine to mess with ScummVM's render filter settings.
2020-01-11WINTERMUTE: Add FoxTail saveslot timestamp getterlolbot-iichan
FoxTail requires Game.GetSaveSlotDescriptionTimestamp for getting information about saved games. Engine 1.2.362 and below returns object with Description and Timestamp fields. Engine 1.2.527 and above returns array[2] with Description and Timestamp as items.
2020-01-11WINTERMUTE: GetSaveSlotDescription refactoringlolbot-iichan
2020-01-11WINTERMUTE: Add FoxTail arrays methodslolbot-iichan
Game.Split(str,sep) is added to split string into array of substrings with separator array.Delete(index) is added to delete an array item by index
2020-01-11WINTERMUTE: Add FoxTail item methodslolbot-iichan
FoxTail have flexible cursor settings system that require things like toggling visability of inventory items.
2020-01-11WINTERMUTE: Add FoxTail actor walking methodslolbot-iichan
There are two new methods: immidiate stop and changing walking speed For stopping, I'm reusing turnTo() code to finalize moving. I talked to FoxTail devs about what SetSpeedWalkAnim actually does and answer was to set animation delays with given number of milliseconds.
2020-01-11WINTERMUTE: Add FoxTail dynamic light methodslolbot-iichan
FoxTail requires access to SubFrame's pixels to set actor.AlphaColor with lighting map pixel value at x,y of actor's position.
2020-01-11WINTERMUTE: Add FoxTail game&engine version propertieslolbot-iichan
FoxTail requires Game to have 2 string options with engine build and game package version. BuildVersion is provided with detection tables GameVersion is extracted from data.dcp and stored in a hashmap
2020-01-11WINTERMUTE: Add FoxTail language propertylolbot-iichan
FoxTail gets a Steam API language code on 1st start from Game.SystemLanguage property FoxTail currently uses 5 languages: English, German, Polish, Russian, Ukrainian Even more languages are promised on release, so let's support all possible languages here There are 22 languages listed both in common/language.h and Steam API, supported them all See https://partner.steamgames.com/doc/store/localization for current API language codes
2020-01-11WINTERMUTE: Display error on running FoxTail without compiled subenginelolbot-iichan
Game is not playable with standard Wintermute, so we should stop player from even trying to run it if ENABLE_FOXTAIL is off.
2020-01-11WINTERMUTE: Add FoxTail detection tableslolbot-iichan
FoxTail is still in "Early Access" status, so this list is not final All game builds have 1 multilanguage "data.dcp" package Common::PL_POL is supported since 1.2.527.3377 Steam allows to download 14 public versions of FoxTail's depot: 1.2.527.3391 - 2019 Mar 22; silent bugfix 1.2.527.3389 - 2019 Jan 22; listed in Changelog on GOG and in News on Steam 1.2.527.3377 - 2019 Jan 17; listed in Changelog on GOG and in News on Steam 1.2.362.2047 - 2018 May 31; listed in Changelog on GOG and in News on Steam 1.2.362.2039 - 2018 May 30; listed in Changelog on GOG and in News on Steam 1.2.304.1571 - 2018 Mar 20; listed in Changelog on GOG and in News on Steam 1.2.230.1322 - 2018 Mar 03; silent bugfix 1.2.230.1321 - 2018 Mar 03; silent bugfix; required for GOG 1321->1571 updater 1.2.230.1318 - 2018 Mar 03; silent bugfix 1.2.230.1316 - 2018 Mar 03; silent bugfix 1.2.230.1315 - 2018 Mar 02; silent bugfix 1.2.230.1313 - 2018 Mar 02; listed in Changelog on GOG and in News on Steam 1.2.230.1303 - 2018 Mar 01; silent bugfix 1.2.230.1291 - 2018 Feb 26; listed in News on Steam; first public release Two more versions seems to be released for nonpublic alpha-testing only: 1.2.227.916 - 2018 Feb 16; listed in News on Steam; not public release 1.2.227.880 - 2018 Feb 06; listed in News on Steam; not public release
2020-01-11WINTERMUTE: Add FoxTail engine versions to WMETargetExecutable enumlolbot-iichan
FoxTail engine is a WME Light engine fork with closed sources. Some features have different behaviour in different versions of FoxTail engine. That's why we need to detect engine version. Note that FOXTAIL_OLDEST_VERSION > LATEST_VERSION. Most features are just new methods for Game, Actor, Array, etc. and are not guarded. Some hacks are common for all FoxTail versions, and are guarded with isFoxTail(). Some changes are specific to versions from v1 to v2, isFoxTail(v1,v2) is checked then.
2020-01-11WINTERMUTE: Add FoxTail subenginelolbot-iichan
FoxTail is a point-and-click adventure game by Gingertips Game Studio, featuring extended and hacked WinterMute engine fork. Most features are added by introducing new API methods and properties, but some are just hardcoded to be different from normal WME stuff.
2020-01-11WINTERMUTE: Add detection for Hor gamelolbot-iichan
"Hor" is a small ("5 minutes"), complete and really nice game by Roman Koksharov. It has no in-game text except the game title, so I marked is at Common::UNK_LANG. Source: https://gamejolt.com/games/hor/258037 Source: https://www.indiedb.com/games/hor v1.0 and v1.3 are actually almost the same, difference is only in "ALLOW_WINDOWED_MODE" game property and settings binary. P.S. Have you found a secret ending? ^_~
2019-12-27WINTERMUTE: Solve 'Chinese' language conflicts. Add more game entries (#1969)aviloria
2019-12-25WINTERMUTE: Fix fallback detectionBastien Bouclet
Now the singleId property has been removed, the gameIds returned by the MetaEngines when detecting games must be accepted by the `findGame` method. Wintermute was generating gameIds based on datafiles in the fallback detector. With this change, the gameId for fallback detected games is always `wintermute`, the target name is generated based on the `extra` value that contains the game caption. The `(unknown)` mention that was previously added to the game title has been removed. The unknown game dialog now makes it very clear that the game version is not known to ScummVM. Fixes #11288.
2019-12-19WINTERMUTE: Refactor UIEdit::handleKeypress()lolbot-iichan
This fixes https://bugs.scummvm.org/ticket/11033 Removed checking printable property for system keys. Refactored whole function to make it a bit more readable. Reference implementations: https://github.com/retrowork/wmelite/blob/master/src/UIEdit.cpp#L724 https://github.com/retrowork/Wintermute-Engine/blob/master/src/engine_core/wme_base/UIEdit.cpp#L708
2019-12-19WINTERMUTE: Handle isCurrentPrintable property for WME 1.x and WME Litelolbot-iichan
1. Moved KEYCODE_SPACE to "alphanumeric or punctuation" group. 2. Splited "else" into before and after WME_LITE.
2019-12-15WINTERMUTE: Fix bug 11061: Unknown game variant for Wintermute - Face Noirlolbot-iichan
Matched game IDs for the Wintermute engine: facenoir-win {"data.dcp", 0, "50a7a01b97cd3658fc84f2bec7c1212b", 555533359}, This is a version from one of the many times Face Noir has been bundled.
2019-12-03WINTERMUTE: Added Steam SOTV NG versionsaviloria
Added Steam "Shadows of the Vatican 1 & II" NG versions
2019-12-03WINTERMUTE: Fix WME version for some gamesaviloria
Fix WME version for some games
2019-12-03WINTERMUTE: Added more Steam referencesaviloria
Added more game entries from Steam
2019-12-02WINTERMUTE: Fixed a wrong file nameaviloria
Just a C&P mistake...
2019-12-02WINTERMUTE: Added 2 missing references to the PlainGameDescriptor structureaviloria
In a previous commit, I forgot to add two new games to the PlainGameDescriptor structure
2019-12-02WINTERMUTE: Fix ritter demo MD5 hashaviloria
The MD5 hash for this game was wrong (hasing the whole file, not only the first 5000bytes)
2019-12-02WINTERMUTE: Added more Steam releasesaviloria
Added some missing reversion2 localizations and latests reversion1
2019-12-02WINTERMUTE: Add Simplified and Traditional Chinese flavoursaviloria
Latest Steam updates for Reversion titles include Simplified and Traditional Chinese languages that were not properly identified
2019-12-02WINTERMUTE: Add 2 more demosaviloria
Added 2 german demos for "Art of Murder: FBI Confidential"
2019-12-02WINTERMUTE: Add some public demos aviloria
Add public demos for several wintermute games
2019-12-02WINTERMUTE: restored commented out stack->pop()lolbot-iichan
Unused variables were cleaned up at 47811167d5ddd9cbf64099ad36f2da5ae413fc86, commenting out a bit too much code, since stack->pop() has a side effect (popping a value from data stack).
2019-11-30WINTERMUTEaviloria
Add new Steam flavours for Reversion: The Meeting
2019-11-14WINTERMUTE: Fix Missing Default Switch CasesD G Turner
These are flagged by GCC if -Wswitch-default is enabled.
2019-11-03ENGINES: Stop using 'single id'Bastien Bouclet
2019-11-03ENGINES: Add an engine ID to all the enginesBastien Bouclet
2019-10-05WINTERMUTE: Engine requires jpeg and png as dependeciesEugene Sandulenko
2019-10-05WINTERMUTE: Fix Possible Uninitialized Variable Compiler WarningsD G Turner
2019-09-15WINTERMUTE: Fix MSVC WarningD G Turner
This is due to the _lastLine variable being unsigned, but having -1 assigned to it as a default / invalid value. This could probably be assigned 0 with no issues, but since this is exposed, this warning is fixed instead by assigning the unsigned equivalent of -1 so no dependent code will see a change.
2019-08-06WINTERMUTE: Fix detection for Chinese reversion2aviloria
WINTERMUTE: Fix detection for Chinese reversion2 Current "data.dcp" infromation is from reversion1 and not from reversion2 game... surely a C&P mistake
2019-07-24WINTERMUTE: Fix GCC Compilation WarningsD G Turner
Have commented out rather than removed the lines causing unused variable warnings as they might be used again in future.