Commit Graph

260 Commits

Author SHA1 Message Date
thrust26 7a7969ae8a fix stoi exception for Display_PPBlend 2020-02-06 20:12:37 +01:00
Stephen Anthony 6120142c97 Make search for format in ROM filename case-insensitive. 2020-02-05 18:37:08 -03:30
Stephen Anthony aefaf6c650 Added '_' separator for regex when detecting display mode in filename. 2020-02-02 14:26:20 -03:30
Stephen Anthony b032890cd4 Optimize state save for Audio classes; save byte instead of integer. 2020-01-25 18:02:07 -03:30
Stephen Anthony 4d6487b1bc Use regular expressions to match console type in ROM filename. 2020-01-25 17:53:32 -03:30
thrust26 792cbb4ffa add display format auto-detection from filename (resolves #561) 2020-01-24 11:30:46 +01:00
thrust26 fbfccfbec6 refactor v-size 2020-01-13 21:13:55 +01:00
Christian Speckner 1dc31af9dd Cleanup, adjustscanlines is now vsizeadjust. 2020-01-13 20:27:05 +01:00
Christian Speckner 5b99e3e998 Change adjustscanlines parameterization to -5% .. 5%, hook uo hotkey. 2020-01-13 00:06:23 +01:00
thrust26 4580484835 reverse and limit vcenter 2020-01-11 20:28:55 +01:00
thrust26 a530bdcfb7 force sign for V-Center display 2020-01-11 15:46:53 +01:00
Stephen Anthony 6e2a254cee Add hotkey to change scanline adjustment. For now, this is only a stub. 2020-01-09 10:36:00 -03:30
Christian Speckner f7cb631ed4 Merge branch 'rework-aspect' 2020-01-07 21:15:53 +01:00
thrust26 f746300d6b define light gun offsets using game's md5 sum 2020-01-06 20:10:35 +01:00
Christian Speckner c16a16d7d4 Wire up new scanline count logic. 2020-01-05 23:14:44 +01:00
Stephen Anthony 9ad47ae5f3 Updated copyright to 2020. Happy New Year to anyone reading this! 2019-12-31 13:48:56 -03:30
thrust26 86e01bc8b9 apply screen scaling to lightgun controller 2019-12-30 22:37:50 +01:00
thrust26 24faa4955c Merge branch 'master' of https://github.com/stella-emu/stella into feature-lightgun 2019-12-30 09:48:04 +01:00
thrust26 dbb4328ad5 initial work on lightgun 2019-12-30 09:11:46 +01:00
Stephen Anthony 54de3415ea More default initialization updates, in the process making c'tors smaller/non-existent.
I've already found a few potential bugs where instance variables weren't being initialized at all.
2019-12-29 18:36:56 -03:30
Stephen Anthony 041af0736c And yet more std::array conversions. Also a fix for overlaid UI message not being displayed. 2019-12-28 15:46:38 -03:30
Stephen Anthony b276a1e6a7 Huge refactoring of the palette-related code.
This has been developed ad-hoc over the years, with different subsystems (TIA, UI, phosphor, Blargg, etc).  This is an attempt to consolidate the code, and also move to C++-style arrays.
Still TODO is look into refactoring phosphor stuff out of TIASurface and AtariNTSC classes, since the code is exactly the same, and doesn't really belong in either.
This is a major change, so some testing is definitely required.
2019-12-26 17:28:55 -03:30
Stephen Anthony 198ab08647 Replace 'atoi' with the C++11 equivalent: 'stoi'. 2019-12-24 17:58:46 -03:30
thrust26 1b14ed21a9 correct silencing fix 2019-12-19 19:54:09 +01:00
thrust26 fccee3e672 silence compiler 2019-12-19 18:34:21 +01:00
Christian Speckner ec35026329 Ystart is sleeping with the fishes. 2019-12-19 18:01:54 +01:00
thrust26 356f06598d add hotkey for toggling interpolation (ctrl+i) 2019-12-18 20:38:52 +01:00
Stephen Anthony fd136e0d49 First pass at converting part of 'ystart' to 'vcenter'.
The logic here is somewhat convoluted.  I suggest renaming 'ystart' to 'startline',
and having it internal to TIA only.  The 'vcenter' option will then modify that value
from certain default constants (for NTSC and PAL).
2019-12-16 23:26:57 -03:30
thrust26 c2fc39f44d Reimplement y-start as "V-Center" in dialog and messages
Limit v-center range to +/-15 pixel
2019-12-16 12:41:39 +01:00
thrust26 ebbfc258a6 improved logging and display of auto detected controllers and bankswitching types 2019-12-15 17:19:08 +01:00
Stephen Anthony 112ed29e94 Properly handle 'Cart.StartBank' set to 'AUTO' in the ROM properties. 2019-12-13 20:21:20 -03:30
Stephen Anthony 025eeba38c Convert some raw arrays to std::array.
Some fixes for warnings from Coverity.
2019-11-14 20:12:45 -03:30
Stephen Anthony 218969eb59 Changed uInt32 to size_t where necessary.
Finally decided to stop fighting C++, and just use size_t everywhere an
array is used.
Even though this is a 64-bit value, it seems that C++/STL expects it
when dealing with arrays, so I guess we will too.
2019-09-16 21:29:08 -02:30
Christian Speckner 09bd0f817e Take power-on state into account during autodetection. 2019-08-20 23:44:30 +02:00
Christian Speckner d105a833b6 Revert "pretty hacked and ugly fix for #501"
This reverts commit 0215cda991.
2019-08-20 23:44:19 +02:00
Thomas Jentzsch 0215cda991 pretty hacked and ugly fix for #501 2019-08-19 09:33:21 +02:00
Thomas Jentzsch 48836e849e replace magic controller strings with enums
automatic detected controller update in GameInfoDialog & StellaSettingsDialog
2019-08-16 11:05:55 +02:00
Thomas Jentzsch d531d8e686 minor refactoring 2019-08-16 06:54:17 +02:00
Thomas Jentzsch af84fbccc5 allow changing controllers during emulation 2019-08-15 20:17:57 +02:00
thrust26 4334d00d6d refactor into mapping into single class
add paddle mappings
2019-06-23 20:22:10 +02:00
thrust26 b2f285d723 fix button modifier mappings
Stelladaptor specific code removeDialog
code cleanup
2019-06-22 16:54:21 +02:00
thrust26 c20035ccce refactor CompuMate key handling (uses events now too) 2019-06-16 19:52:14 +02:00
thrust26 65cb17e736 refactor controller dependent mappings 2019-06-15 12:10:00 +02:00
thrust26 a14d1c275d implement separate keyboard mappings for joystick, paddles and keyboard controllers
update doc accordingly
2019-06-12 16:48:41 +02:00
Stephen Anthony e7759048ca First pass at implementing 'hidpi' mode. For now, it is available with 'hidpi' option only from the commandline.
- This is still a WIP, but is already very usable; I can finally see the UI on my 4k monitor :)
2019-05-11 14:33:07 -02:30
Stephen Anthony 83a3bdd6cd GUI support is now conditional in Stella. This is enabled by default for all ports except libretro.
- When disabled, it also disables the debugger and cheatcode support
- UI-wise, this reverts Stella to 1.x functionality (before any internal UI was added)
- Eliminates 47000 lines of code for those ports (like libretro) that don't need it.
2019-05-02 17:58:39 -02:30
Christian Speckner 8e22dc52b4 Log via Logger singleton, fixes races between logging and OSystem teardown. 2019-05-01 23:14:16 +02:00
Stephen Anthony bf865e37ab Move ROM properties normal enum to 'enum class'; this actually spread to other issues:
- properties names for 'Cartridge' changed to 'Cart'; this can speed up processing
- fixed several bugs in stella.pro (missing newlines)
- fixed 'create_props'; now it works from either the base directory or the tools directory
Reworked properties database names
2019-04-20 15:42:46 -02:30
Stephen Anthony be775b53e3 Made TIA window always open at a multiple of the minimum bounds
- this means that 320x240 is now the default 'base' size, and zoom levels are based on that
- the TIA image is rendered into whatever sized window is active, meaning that NTSC and PAL modes now look similar

Removed some 'small screen' dead code in FrameBuffer.
2019-04-03 20:27:30 -02:30
Stephen Anthony cfe79ec0b1 Major changes to controller infrastructure.
Basically, separate high-level read/write from low-level set/getPin methods.
2019-03-29 20:47:24 -02:30