aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2020-01-12Compile the GCW0 target with libmad, and dynamically link the libcraigsc
at runtime since the standard RG350 OS does not include it. This repairs music playback on all games that rely on .mp3 playback (of note, the CD-ROM version of Monkey Island 1)
2020-01-11Add a special debugger file to act as a flag so that we can enable andcraigsc
disable debug logging without re-packing (or recompiling) scumm for gcw0
2020-01-11Default gcw0 back to adlib emulator due to high CPU cost of fluidsynth.craigsc
I'm leaving fluidsynth in the build because the quality is higher and it does technically work and feel good on several games. Added back in MAD support for MP3 playback for CD-based music tracks on games like Monkey Island 1 - the auto-detection seems to not work correctly for gcw0. Default mixer sampling rate to 48000 due to device driver limitations (this should lower CPU cost since anything other than 48k gets re-sampled)
2020-01-11Crank up debug logging level to 11craigsc
2020-01-11Merge remote-tracking branch 'upstream/master'craigsc
2020-01-11XEEN: Mine Alpha fix needed to apply to non-CD version as wellPaul Gilbert
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-11ANDROID: Hide the system mouse cursor on Android NCameron Cawley
2020-01-11GRIFFON: Fix slugginess in final boss and a crash when loading the ↵Harsh Bawari
Griffon.s03 map
2020-01-11COMMON: Add a function to simplify loading Windows executablesCameron Cawley
2020-01-11MOHAWK: Unify Windows cursor managersCameron Cawley
2020-01-11GRAPHICS: Unify loading Windows cursor groupsCameron Cawley
2020-01-11GRAPHICS: Simplify loading Windows fontsCameron Cawley
2020-01-11COMMON: Add a common base class for the Windows resource classesCameron Cawley
2020-01-11ENGINES: Reduce winexe_*.h header includesCameron Cawley
2020-01-11COMMON: Rename PEResources::getNameList() to getIDList()Cameron Cawley
2020-01-11ALL: Create all instances of NEResources and PEResources using new instead ↵Cameron Cawley
of on the stack Also adapted WinCursorGroup and MacMenu to reflect this.
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? ^_~
2020-01-11DIRECTOR: Add V4 builtin palettes, support for loading the movie defaultScott Percival
2020-01-11NEWS: Add changes for version 2.1.1 from the 2.1 branchFilippos Karapetis
2020-01-11DIRECTOR: Fix loaded cast referencesEugene Sandulenko
2020-01-11DIRECTOR: Seperate render pass for shape fill and strokeScott Percival
2020-01-11GRAPHICS: Fix arguments order in drawRectScott Percival
2020-01-11DIRECTOR: Align fill patterns to global originScott Percival
2020-01-11DIRECTOR: LINGO: Allow b_length to cast from referenceScott Percival
2020-01-10SCI: Fix SQ1VGA Russian class namessluicebox
Fixes bug #10156
2020-01-10SCI: Ignore incorrectly detected volume versionsluicebox
Ignores a detected volume version of SCI3 when the map version is less than SCI2, as that indicates detectVolVersion's heuristics failed. SQ1VGA Russian has volume files with a few junk bytes in between resource entries, which causes detectVolVersion to return SCI3 instead of the expected result of Invalid and then use the correctly detected map version. The detection algorithm tries each version until it finds one that fits, and the SCI3 pattern happens to fit because it's necessarily the most permissive due to the wCompression bytes containing meaningless values. Fixes bug #10156