Commit Graph
100 Commits
Author SHA1 Message Date
Vladimir Serbinenko 1bc4fe5279 SDL: Move RS90-specific code to opendingux directory 2023-01-17 13:48:50 +03:00
Vladimir Serbinenko 5bdabeed7e SURFACESDL: Make getDefaultResolution overideable by custom backends 2023-01-17 13:48:50 +03:00
Vladimir Serbinenko 81fdd308cf SURFACESDL: Extract initing of graphics surface into a separate method. 2023-01-17 13:48:50 +03:00
Vladimir Serbinenko 4a0d9c2665 SDL: Add missing init of _prevCursorNeedsRedraw 2023-01-17 13:48:20 +03:00
Vladimir Serbinenko de6fa88217 OPENDINGUX: Separate miyoo from opendingux 2023-01-16 23:01:25 +03:00
Vladimir Serbinenko 977a47ad76 NEWS: Mention new handheld consoles. 2023-01-16 21:00:21 +01:00
Vladimir Serbinenko b88c384721 SAGA: Add ITE win demo 1 and 2 compressed variant. 2023-01-15 19:22:34 +01:00
Vladimir Serbinenko 8e5d88cd55 SAGA: Flatten tree in ZIP and ARJ archives.
Music patches are in subdirectory. It's easier to remove structure altogether
2023-01-15 19:22:34 +01:00
Vladimir Serbinenko 600f33bccf COMMON: Allow unzip to flatten tree structure
It's easier to some games to ignore directories
2023-01-15 19:22:34 +01:00
Vladimir Serbinenko 30717496ce COMMON: Allow unarj to flatten tree structure
It's easier to some games to ignore directories
2023-01-15 19:22:34 +01:00
Vladimir Serbinenko d924671cec OPENDINGUX: Miyoo (1st gen) support 2023-01-12 16:39:38 +03:00
Vladimir Serbinenko 4e4c652433 SDL: Properly restore gfx mode if several parameters have changed
Currently we have bunch of else-if and only one of them triggered. When
e.g. aspect ratio correction and resolution changes only aspect ratio is
covered by restoration. If this fails the code retries the same mode endlessly
2023-01-12 16:39:38 +03:00
Vladimir Serbinenko 74336c5411 SDL: Fix potential buffer overflow
This causes a segmentation error on Miyoo Mini but is not specific to it
2023-01-12 14:01:45 +01:00
Vladimir Serbinenko 30d9976a1c SDL: Use hardware palette on RS90 and scale 1 2023-01-12 10:27:20 +03:00
Vladimir Serbinenko 70b174bca5 SDL: Disable fullscreen on RS90
Fullscreen flag causes an error in SetVideoMode.
2023-01-12 10:27:20 +03:00
Vladimir Serbinenko 3f6691dc6d RS90: Workaround for unusual SDL_PixelFormat
SDL_PixelFormat returns 0xff/0xff/0xff as pixel format for paletted HWSURFACE.
2023-01-12 10:27:20 +03:00
Vladimir Serbinenko b91d873df6 SDL: Support auto-detection of GUI resolution. 2023-01-12 10:27:20 +03:00
Vladimir Serbinenko 47ab3fe4fc SDL: Support double-buffering on SDL1. 2023-01-12 10:27:20 +03:00
Vladimir Serbinenko 462be38081 SDL: Support rendering to 8-bit graphics 2023-01-12 10:27:20 +03:00
Vladimir Serbinenko c86975e7e7 OPENDINGUX: Switch to using modules
Those devices are low on memory. Modules allow not to load extra egines.
2023-01-12 10:27:20 +03:00
Vladimir Serbinenko 4bc23ead4a CONFIGURE: Disable aspect ratio correction and scaling on rs90
IPU already does stretching. So no need to spend resources on it
2023-01-12 10:27:20 +03:00
Vladimir Serbinenko 16cd6d7512 OPENDINGUX: Create combined opk for rs90 and rg99 2023-01-12 10:27:20 +03:00
Vladimir Serbinenko 0fe52aed23 GUI: Support RGB332 for Theme Engine 2023-01-12 10:27:20 +03:00
Vladimir Serbinenko 0557535324 GRAPHICS: Support RGB332 in VectorRendererSpec.
This is efficient on RS90
2023-01-12 10:27:20 +03:00
Vladimir Serbinenko 96cbe69d1e VKEYBD: Support RGB332 backing surface
This is efficient on rs90
2023-01-12 10:27:20 +03:00
Vladimir Serbinenko 2149d3814b CONFIGURE: Allow OpenDingux to use dynamic modules
-mno-shared prevents modules from being usable. Don't add it if modules
are allowed.
2023-01-12 10:27:20 +03:00
Vladimir Serbinenko 3701325b0e OPENDINGUX: Don't add posix files twice
They are already added by POSIX conditional as OpenDingux is POSIX compliant
(Linux-based). Adding it twice confuses some linkers.
2023-01-12 10:27:20 +03:00
Vladimir Serbinenko b9aa479bba GRAPHICS: Support Floyd dithering for RGB332
RGB332 is a special case of CLUT8 but RGB332 support allows to skip passing
palette explicitly and speeds up the dithering
2023-01-12 10:27:20 +03:00
Vladimir Serbinenko d4111a2f0b GRAPHICS: Use correct pixel size in Normal1x with CLUT8 2023-01-11 19:15:48 +01:00
Vladimir Serbinenko db155b7183 NEWS: Fix spelling of -=CHE@TER=- nickname. 2023-01-10 19:34:40 +01:00
Vladimir Serbinenko 2cc5e2008f ZVISION: Merge 2 mac detection entries
They were a workaround for AD limitations that no longer exist.
2023-01-10 18:34:33 +01:00
Vladimir Serbinenko d072b28d5c COMPOSER: Change all mac checksums to use data fork
Composer doesn't use resource forks, so allow to play without them
2023-01-10 18:34:33 +01:00
Vladimir Serbinenko 3df0927164 COMPOSER: Add configfile for french darby
Without it loading the game fails.
2023-01-10 18:34:33 +01:00
Vladimir Serbinenko 1ec8da633e COMPOSER: Fix missing subdir matching for macintosh version of several games 2023-01-10 18:34:33 +01:00
Vladimir Serbinenko dc6ecf4d6c COMPOSER: Add imo and the king demo detection entry 2023-01-10 18:34:33 +01:00
Vladimir Serbinenko 778106a67b COMPOSER: Support full macbinary dump
Currently the code assumes that normal file opening is good enough but it's a
problem if the disk has been dumped as macbinary
2023-01-10 18:34:33 +01:00
Vladimir Serbinenko 52b9d064d9 SAGA: Change Mac Guild entry to use data fork for most files
We use resource fork only on sound file, the other ones contain nothing
useful so we don't want to checksum them
2023-01-10 18:34:33 +01:00
Vladimir Serbinenko 95224258d4 KYRA: Checksum mac installers on data fork
We don't need the resource fork as we unpack Stuffit anyway which is
fully in data fork. So we want to allow to play even if data fork was lost

Previously we had 2 entris to achive the same result for CD entry: one
covering resource hash and another one covering data fork hash.
2023-01-10 18:34:33 +01:00
Vladimir Serbinenko 15fd658d16 HADESCH: Specify explicitly which file uses resource fork hash 2023-01-10 18:34:33 +01:00
Vladimir Serbinenko 9047eadbd7 ENGINES: Use prefixes to indicate which md5 type was used. 2023-01-10 18:34:33 +01:00
Vladimir Serbinenko ae3a8efb20 KYRA: Fix alignment in "lifes" variable.
Midi is 18 bytes which results in int being misaligned and leads to
an undefined behaviour on RISC.
2023-01-10 17:38:55 +01:00
Vladimir Serbinenko 94944b8c8b COMMON: Downgrade AppleDouble and actual resource forks in macresman
They are created silently by various versions of OSX and may contain
garbage describing plain macbinary rather than historically dumped data from
disk.
2023-01-10 14:45:36 +01:00
Vladimir Serbinenko ef45ef4b49 SAGA: Support ite demo 3 without unpacking it. 2023-01-07 19:50:52 +02:00
Vladimir Serbinenko 8573bd38ea SAGA: Allow streams to be automatically reopened.
This is needed for IHNM chapter switch and was lost in switch to
common macbinary
2023-01-07 19:44:37 +03:00
Vladimir Serbinenko 187304f730 COMMON: Reject all-zero macbinary header 2023-01-07 19:44:37 +03:00
Vladimir Serbinenko 302a5eb0af SAGA: Don't close file even after it was overriden by a patch
Now the file handle is shared among the readers of the same context,
so closing it will close it for all user which leads to a crash.
2023-01-07 02:38:07 +02:00
Vladimir Serbinenko 50d52b9d44 SAGA: Correctly handle the case of missing patch file. 2023-01-06 03:53:46 +03:00
Vladimir Serbinenko eec64ea340 NEWS: Add entry about supporting Ctpax-Che@ter & Rigel localizations. 2022-12-31 20:47:10 +01:00
Vladimir Serbinenko 41aa78b8a6 NEVERHOOD: Add ability to support for repeating useful Willie's hint 2022-12-31 20:47:10 +01:00
Vladimir Serbinenko 7bb97c18d0 NEVERHOOD: Make subtitles being able to turn off/on 2022-12-31 20:47:10 +01:00
Vladimir Serbinenko 64fb44790e NEVERHOOD: Enable subtitle on/off if .nhc is available 2022-12-31 20:47:10 +01:00
Vladimir Serbinenko 5d6ba18008 NEVERHOOD: Support subtitles for sprites 2022-12-31 20:47:10 +01:00
Vladimir Serbinenko ffdf90df45 NEVERHOOD: Allocate more space for font surface
NHC-based Russian translation has extra unused space in the sprite.
This causes the code to skip drawing sprite on the surface altogether.
The simplest solution is to simply allocate a bit more with only
downside is a small increase in memory footprint
2022-12-31 20:47:10 +01:00
Vladimir Serbinenko f4da2d054a NEVERHOOD: Add drawDoubleSurface2Alpha 2022-12-31 20:47:10 +01:00
Vladimir Serbinenko 03a59a2953 NEVERHOOD: Support blitting with alphaColor != 0 2022-12-31 20:47:10 +01:00
Vladimir Serbinenko feb1d77ec7 NEVERHOOD: Show subtitles in smackerplayer 2022-12-31 20:47:10 +01:00
Vladimir Serbinenko 97b500643e NEVERHOOD: Add subtitle player 2022-12-31 20:47:10 +01:00
Vladimir Serbinenko 031c929681 NEVERHOOD: Add loading of subtitle font 2022-12-31 20:47:10 +01:00
Vladimir Serbinenko 103bb43ab2 NEVERHOOD: Load nhc file 2022-12-31 20:47:10 +01:00
Vladimir Serbinenko c0455314c9 NEVERHOOD: Add NHC selection item 2022-12-31 20:47:10 +01:00
Vladimir Serbinenko 69aa08d531 NEVERHOOD: Move game options from advanced options to custom widget
This will allow to add NHC drop-down.
2022-12-31 20:47:10 +01:00
Vladimir Serbinenko 552420ec31 NEVERHOOD: Add support for NHC patch archives 2022-12-31 20:47:10 +01:00
Vladimir Serbinenko 0adf22278b COMMON: Uplift SafeMutexedSeekableSubReadStream to common 2022-12-31 20:47:10 +01:00
Vladimir Serbinenko fdccec381d NEVERHOOD: Make most of fields of ResourceFileEntry private 2022-12-31 20:47:10 +01:00
Vladimir Serbinenko c5c44bb255 NEVERHOOD: Show Japanese overwrite prompt if running Japanese version 2022-12-31 18:43:16 +01:00
Vladimir Serbinenko 1481789956 NEWS: Backfill entries related to my improvements 2022-12-31 18:18:19 +01:00
Vladimir Serbinenko d05bc934d6 PRIVATE: Match mac versions by data rather than resource fork
This is a rare case when we don't need resource forks, so allow either with or
without resource forks to match
2022-12-28 13:02:22 +01:00
Vladimir Serbinenko 26cc6c6a73 PRIVATE: Mark demo mac installer entry as supported 2022-12-28 13:02:22 +01:00
Vladimir Serbinenko f6ff94a4fa PRIVATE: Mark retail mac installer format as supported 2022-12-28 13:02:22 +01:00
Vladimir Serbinenko 8791bad955 PRIVATE: Support in-memory unpacking of Private eye installer 2022-12-28 13:02:22 +01:00
Vladimir Serbinenko af2643be44 COMMON: Add a check in StuffIt parser to check for crash condition 2022-12-28 13:02:22 +01:00
Vladimir Serbinenko 324b22682e COMMON: Respect StuffIt archive size
This allows handling of archives with trailer like one used in
Private eye installer
2022-12-28 13:02:22 +01:00
Vladimir Serbinenko d7c0ae4075 PRIVATE: Support resources wrapped in MacBinary format
This is to allow running from macbinary dumped images
2022-12-28 13:02:22 +01:00
Vladimir Serbinenko 5fd3c9b9b7 COMMON: Resync cache prefix with file md5 prefix 2022-12-28 12:56:22 +01:00
Vladimir Serbinenko 58bb2e81d3 COMMON: Allow specifying Md5 calculation on per-entry basis 2022-12-28 12:56:22 +01:00
Vladimir Serbinenko 275379c3d2 ENGINES: Change getFileProperties to receive MD5Properties as argument 2022-12-28 12:56:22 +01:00
Vladimir Serbinenko a2233a2166 ENGINES: Add res-only and data-only MD5 computational methods
The current way of ADGF_MACRESFORK is an amalgam of bugs and history. Those
are clean ways for direct specification. It's not accessible yet
2022-12-28 12:56:22 +01:00
Vladimir Serbinenko 1ebbc4071c ENGINES: Switch from game flags to MD5Properties in advancedDetector for MD5.
flags are already out of bit and it makes little sense to polute
it regardless, so this commit is in preparation on having separate flags
on extra ways to hash file.
2022-12-28 12:56:22 +01:00
Vladimir Serbinenko 4ed51f9005 SAGA: Add AGA demo floppy release 2022-12-21 14:58:09 +01:00
Vladimir Serbinenko 097fd8765e SAGA: Add ITE ECS floppies 2022-12-21 14:58:09 +01:00
Vladimir Serbinenko 63a39b6471 SAGA: Remove suffix _CD from detection_tables.h
Floppy versions use the same tables
2022-12-21 14:58:09 +01:00
Vladimir Serbinenko b2987256b8 SAGA: Remove dead code 2022-12-21 14:58:09 +01:00
Vladimir Serbinenko 291e397698 SAGA: Fix offset in debug messages 2022-12-21 14:58:09 +01:00
Vladimir Serbinenko 8b2019707d SAGA: Fix placard color in ITE ECS 2022-12-21 14:58:09 +01:00
Vladimir Serbinenko 73f04a31ab SAGA: Support masked blit for sprites
ECS version does it in original for verb buttons, let's do the same
2022-12-21 14:58:09 +01:00
Vladimir Serbinenko fcf31d2593 SAGA: Fix displayinfo for ECS ITE 2022-12-21 14:58:09 +01:00
Vladimir Serbinenko 1750e0880c SAGA: Switch palette at line 137 when running ECS version
Similar to what original does
2022-12-21 14:58:09 +01:00
Vladimir Serbinenko 48fe6b038f SAGA: Use ECS colors for speech colors when needed 2022-12-21 14:58:09 +01:00
Vladimir Serbinenko 8b3aaa3351 SAGA: Use colors from ECS-palettes when needed 2022-12-21 14:58:09 +01:00
Vladimir Serbinenko fe298487b9 SAGA: Load extra palette for ECS
Amiga ITE switches palette after line 137.
Additionally options uses a separate palette.
Rather than jungling with 3 palettes we just load
all 3 palettes.
2022-12-21 14:58:09 +01:00
Vladimir Serbinenko 045cdb4e8f SAGA: Don't overwrite palette above actually present one 2022-12-21 14:58:09 +01:00
Vladimir Serbinenko e1698de9ca SAGA: Replace Usage of color literals with consts 2022-12-21 14:58:09 +01:00
Vladimir Serbinenko 0effcbeb24 NEVERHOOD: Disable Hall of Records in Japanese version 2022-12-20 17:07:00 +02:00
Vladimir Serbinenko 1425b701d8 NEVERHOOD: Add extra Japanese credits 2022-12-20 17:07:00 +02:00
Vladimir Serbinenko a96a72f04a NEVERHOOD: Fix notes used for Japanese version 2022-12-20 17:07:00 +02:00
Vladimir Serbinenko 395aa10644 COMMON: Add missing escaping in Common::Path. 2022-12-20 10:04:55 +01:00
Vladimir Serbinenko ebd457841c SAGA: Support having game files under "ITE Data Files"
This is the case for Mac Guild CD version. Normally we ask user to just
select this subdirectory but selecting CD root is more logical
2022-12-18 20:46:34 +01:00
Vladimir Serbinenko 0482b7cb2a SAGA: Change ITE Mac Guild CD entry to use MACRESFORK
Now this CD version works with dumper-companion
2022-12-18 20:46:34 +01:00
Vladimir Serbinenko 0b8d67ff8d SAGA: Remove contextOffset/contextSize
It was used only in now defunct custom macbinary parser
2022-12-18 20:46:34 +01:00
Vladimir Serbinenko 7b9f0ab75d SAGA: Switch from custom macbinary parser to MacResManager
This makes it compatible with other resource fork formats after
update of detection entries
2022-12-18 20:46:34 +01:00