Changes from r7_pre5 to r7:
* Added an additional color scaling method, "Full with S/H". This method takes into account the Shadow and Highlight functionality of the Sega Mega Drive
´s VDP. With this method, MD color 0xEEE (white) is scaled to 0xEEEEEE for normal, 0xFFFFFF for highlight, and 0x777777 for shadow. This color scaling method is now the default.
* Initial reimplementation of "Full Screen Minimize". This allows the emulator to minimize itself from Full Screen when a dialog is open, e.g. to load a ROM image. It is currently only usable for a specific case on the Linux version.
* [Linux] Added Alt-Tab support in Full Screen. This uses the "Full Screen Minimize" infrastructure.
* [Win32] Added a workaround for an ASPI-related crash on Windows 98SE.
* [Win32] Fixed a regression from r7_pre3 that caused Gens
/GS to crash if a ROM is loaded via File, Open ROM and a Saitek P580 gamepad is plugged in. Special thanks to NeKit from Sonic Retro for helping to diagnose and solve this problem.
* [Linux] Fixed a regression from r7_pre4 where starting Gens
/GS in fullscreen mode with a ROM specified wouldn´t work. This bug was reported by Zombie in #retro.
* [Win32] The custom debug console activated with "--debug" on the release build has been replaced with a standard Win32 console, which is created after initial startup.
* [MDP] Implemented mdp_host_t->emulator_control(MDP_EMUCTRL_RELOAD_INFO).
* Added "Manual" and "Report a Bug" items to the Help menu.
Low-Level Code Changes
* [libgsft] Added an implementation of strsep() and removed the strtok_r() implementation. All Gens
/GS code that uses strtok_r() has been switched over to strsep().
* [libgsft] Added the BSD implementations of strlcpy() and strlcat(). Most Gens
/GS code has been switched over to these functions.
* Initial infrastructure for dynamically loading libpng. This will be used to separate libpng on Gens
/GS Win32 into a separate DLL
. If libpng can´t be found, Gens
/GS will fall back to saving screenshots in BMP format.
* Eliminated most of the "DECL" macros from the x86 assembler files. This reduces the total symbol count in the resulting binaries.
* Added a new x86 assembler macro, SYM(), which prefixes symbols with the appropriate C symbol prefix for the platform.