adelikat
9584ff1f53
use switch expressions in some various places in EmuHawk, and some other simplifications
2020-03-04 20:18:43 -06:00
YoshiRulz
9829fd699b
Unify helpers for generating file extension lists (for open/save)
2020-02-20 21:59:20 +00:00
adelikat
4b704d5e31
add .o2 files for Odyssey2 to open rom dialog filter
2020-02-18 17:42:22 -06:00
adelikat
656f2b814e
Move IEmulator extensions to the Emulation.Common namespace, the intent is that these are used and serve as built in functionality, so it's overly tedious to when most situations require both Common and an additional extensions namespace
2020-02-15 12:33:15 -06:00
adelikat
f43d7c5b1b
MovieSession - add a PopupMessage method, will be used later
2020-02-08 10:50:05 -06:00
adelikat
626efe8caf
put control extension methods into the EmuHawk names space isntead of a custom one. We want these to be found and used, and most dialogs use them
2020-02-03 12:54:32 -06:00
adelikat
ef13754f79
consistent variable naming in config.cs
2020-01-25 10:57:39 -06:00
adelikat
548ff15e33
Break off rewind config variables into their own class
2020-01-24 20:03:54 -06:00
YoshiRulz
e4827929b8
Parse float with invariant formatting ( resolves #1806 )
2020-01-22 04:40:16 +10:00
adelikat
3d833af617
break out enums from Config.cs
2020-01-21 09:02:42 -06:00
adelikat
8da1bb4e73
cleanup mainform menu item naming and using pattern matching instead of direct casts for core types when possible
2020-01-14 11:12:52 -06:00
YoshiRulz
dd4f9aaf64
Use ranges
2020-01-13 06:59:40 +10:00
zeromus
8c50945ecb
remove windows 7 nag. kept messages because it had some useful work in identifying various windows versions in case it's needed later
2020-01-12 15:23:00 -05:00
YoshiRulz
60b7858fbe
Simplify Windows prereqs (see desc.)
...
* Changed default sound/display methods to OpenAL/OpenGL on Windows to match
non-Windows, and replaced DirectInput with OpenTK input (needs regression
testing on Windows).
* (meta) As a result of the above, DirectX is no longer a prerequisite, leaving
only: .NET Framework 4.6.1 (comes with Win10, as does 4.8), MSVC 14 (also comes
with Win10), MSVC 12 for Mupen, and MSVC 10 for BSNES/Mupen.
* Refactored static Program ctor, using ExceptionBox for missing prereqs, and
removed PrereqsAlert.
* Added OS version check for Windows, with a flag in the config to skip it.
* Updated readme for Win7 EOL (and generally cleanup Windows sections).
2020-01-12 20:00:34 +00:00
feos
c330541c35
Revert "cleanup ArgParser"
...
This reverts commit 84593b2d48
.
magical fix to magically broken avi dumping
2020-01-12 21:33:41 +03:00
alyosha-tas
46d0818f09
MSXHawk: Core interface stuff
2020-01-10 15:51:56 -05:00
adelikat
57610488fe
use globals a bit less
2020-01-03 13:59:39 -06:00
adelikat
84593b2d48
cleanup ArgParser
2020-01-03 13:09:27 -06:00
adelikat
023da20cb9
Cleanup GamePad code, pass in mainform dependency
2020-01-03 10:38:04 -06:00
YoshiRulz
060255471b
Improve exception docs in BizHawk.Client.EmuHawk
2020-01-02 21:51:37 +10:00
adelikat
eb438fd9cb
pass in mainform to Keyboard.cs instead of using global
2019-12-31 17:06:40 -06:00
adelikat
64ea9afee5
cleanups
2019-12-31 10:17:55 -06:00
adelikat
6e49f1c07d
Convert LogWindow to a tool that implements IAutoToolformConfig
2019-12-29 15:05:45 -06:00
adelikat
bdd0d56a70
delete the console log window, always show LogWindow instead
2019-12-29 14:39:44 -06:00
adelikat
ab812ab081
pass in mainform to log window stuff
2019-12-29 14:16:44 -06:00
adelikat
e7e30371fe
Remove Rewinder from Global and put as a mainform variable instead
2019-12-22 14:25:06 -06:00
adelikat
1c57622032
refactor UpdateCheatRelatedTools to be a ToolManager method
2019-12-22 13:32:18 -06:00
adelikat
ed45318a75
presentation panel - pass in dependencies
2019-12-22 13:32:18 -06:00
James Groom
78fcde9480
Merge branch 'master' into winhacksbgone
2019-12-22 17:01:10 +00:00
adelikat
c162b2774d
Mainform - a bit of cleanup
2019-12-22 10:57:06 -06:00
adelikat
c6b6e7b6cb
pass Config into ToolManager
2019-12-22 10:57:05 -06:00
adelikat
e0cd66613f
remove ApiProvider from GlobalWin, and have ToolManager own it instead, keep a copy of IEmulator in ToolManager and reference that instead of Global.Emulator
2019-12-21 18:03:13 -06:00
adelikat
81b2b8c888
remove unused method
2019-12-21 17:21:39 -06:00
adelikat
b80b367831
refactor IMovie to expose the movie mode, and make extension methods that do IsPlaying type logic. This way there can be direct checks, and more variety of methods without cluttering the interface
2019-12-21 16:34:29 -06:00
adelikat
18fbd9af1c
MessageConfig - don't use Global.Emulator
2019-12-21 14:58:33 -06:00
adelikat
98bfcabfe8
refactor Global.SystemInfo into an extension method class
2019-12-21 13:07:05 -06:00
adelikat
bab3dbca98
cleanup PlatformChooser and don't use globals
2019-12-21 12:45:28 -06:00
YoshiRulz
784c800ca2
Disable features using Win32 unless on Windows host
...
forms: GBAGPUView, GBGPUView, LogWindow, SNESGraphicsDebugger,
SynclessRecordingTools; features: A/V recording, logging to AWE(?)
2019-12-21 18:31:03 +10:00
YoshiRulz
7ea8fb185a
Congregate, organise, and cleanup some Win32 imports and their usages
2019-12-21 18:21:51 +10:00
adelikat
bc51ca4af0
MainForm - reduce global usage a bit more
2019-12-20 10:42:54 -06:00
adelikat
c9c04032c7
MainForm cleanups
2019-12-20 10:40:13 -06:00
adelikat
24ed667c13
reduce global usage in MainForm more
2019-12-20 10:22:42 -06:00
adelikat
bfb39e79d0
MainForm - setter for Config property
2019-12-20 10:08:20 -06:00
adelikat
8f6f8f72cb
MainForm - more getter properties for globals
2019-12-20 10:07:08 -06:00
adelikat
62ab716a5d
MainForm - convert some commonly used globals to properties that reference the global. A step twards the global not being there at all and mainform managing the passing of dependencies
2019-12-20 09:29:33 -06:00
adelikat
fb8ff37fe9
Mainform - use OnScreen method instead of GlobalWin.OSD references
2019-12-20 07:31:03 -06:00
adelikat
28305339f9
VideoWriterChooserForm - pass in dependencies
2019-12-17 09:50:38 -06:00
YoshiRulz
8f93a954e1
Move Lua hacks to Lua libs
...
Changed parameter of IInputMovie.SetRerecordCount to ulong to match internal
2019-12-16 15:04:35 +10:00
adelikat
4d3c423f15
setup another a7800 config dialog to pass in dependencies
2019-12-13 16:06:12 -06:00
adelikat
92768858f7
atari7800 settings dialog - set up a pattern of constructor declaring dependencies in the constructor, rather than relying on Global variables. We should be doing this for other dialogs (and in general)
2019-12-13 16:01:04 -06:00
adelikat
35fdb5dbdd
Tastudio - Integrate branches with the statusbar slot icons
2019-12-08 13:53:36 -06:00
adelikat
43c9ac7ef7
SImplify some code
2019-12-08 13:40:59 -06:00
adelikat
8802d75527
Game Game.IsNullInstance a null-safe extension method, and a few other cleanups
2019-12-08 13:36:15 -06:00
adelikat
6ae1eac464
better handling of tastudio interaction with select slot, previous slot, and next slot functions
2019-12-08 13:01:55 -06:00
YoshiRulz
cc9ff8022c
Re-add images; it appears that the Designer is now dropping them
2019-12-08 04:20:54 +10:00
feos
48e39a72d1
add arcade menu
2019-12-07 17:44:49 +03:00
adelikat
7d8522e0b3
Remove snowy null emulator option and simplify Null Emulator
2019-12-06 18:42:00 -06:00
YoshiRulz
7f07949816
Migrate serialised images to separate files, removing duplicates
2019-12-07 05:24:24 +10:00
feos
b5db6a7df6
mame
...
- put system and game names to emuhawk caption
- fix loading from recent menu
- temp fix for audio drift
2019-12-06 21:34:20 +03:00
alyosha-tas
ae18284520
O2Hawk: mainform stuff
2019-11-28 17:02:26 -05:00
adelikat
f926142921
cleanup OSDManager
2019-11-26 19:36:04 -06:00
feos
5ca08b6c29
Camhack support ( #1725 )
...
for the camhack to work we have to save a state, hack memory, advance twice to see the changes, then load the state to prevent desync. since we can omit the framebuffer in savestates, loading them can happen without updating the screen, so the hacked camera remains visible.
advancing 2 frames automatically is done like tastudio does it when it seeks to a frame, only from lua now.
and the most questionable part is "invisible emulation", which is how Gens calls this IIRC, when everything that can distract or slow us down is skipped: sound, video, tools updates.
new lua functions:
- client.invisibleemulation()
- client.seekframe()
* for a test, mGBA core uses fake video and audio buffers and renders to them when we want to "skip" rendering. proper setup would involve actually skipping rendering those inside the core.
* allow disabling video and audio updates for gpgx too (proper approach, no fake buffers involved)
* add the script for Sonic Advance
2019-11-23 12:27:14 +03:00
adelikat
4c57718f7d
Move autoloading of tools to the Shown event fixes #334
2019-11-17 11:35:53 -06:00
YoshiRulz
6e809adc66
Disable Lua script loading on Unix ( resolves #1735 )
2019-11-17 02:26:23 +10:00
adelikat
673073e650
data drive the import movies dialog filter
2019-11-14 18:00:33 -06:00
adelikat
af50d74b98
simplify movie import code more
2019-11-14 17:00:47 -06:00
adelikat
f93766e5bb
Movie import cleanup
2019-11-14 16:35:29 -06:00
TheGreatRambler
3b3cd3d2fd
Update MainForm.cs
2019-11-13 20:05:46 -05:00
feos
8a7e495039
allow suppressing more OSD savestate reports from lua
2019-11-10 17:09:10 +03:00
adelikat
46ea09da10
MovieImport - cleanup, and properly wire up the new style importers. Pjm, Pxm no longer broken
2019-11-09 14:43:49 -06:00
YoshiRulz
8c059aa43c
Replace helper methods with readonly bool IsUnixHost and cleanup
2019-11-04 14:30:05 +10:00
adelikat
942d9fc75e
Simplify OS checks with some helpful methods
2019-11-03 16:04:42 -06:00
J.D. Purcell
39b54f7202
Fix missing UI usings.
2019-11-02 00:38:50 -04:00
feos
0247a8f1a8
mame core wip ( #1705 )
...
* add MAME to OpenAdvanced
* make mame launch games
limited to arcades that only need rom name. other devices require machine name and rom name, and won't run. nor they are meant to be supported anyway: we have enough emulators that do the job better for particular devices.
dunno if direct disk access will be avoidable, there are quite some files it might want to load other than the rom (parent rom, bios, artwork). trapping all of these might be a future task.
it is also known that mame can load "romname.zip" file just as well as "romname" folder, which would represent an unarchived zip. I make use of it to send it zip name with extension. it's easy, and we're not obliged to recognize mere folder paths in the mame-advanced-loader logic.
* ability to run lua code inside mame
2019-10-29 18:37:27 +03:00
adelikat
3e64051c7d
Mainform - cleanups, remove unused code, typos, C#7isms
2019-10-27 11:42:17 -05:00
J.D. Purcell
2054a6b905
RomFilter cleanup.
2019-10-22 11:54:42 -04:00
J.D. Purcell
1aadff8ca1
Cleanup speed increase/decrease.
2019-10-21 22:13:48 -04:00
J.D. Purcell
09dc1df9ae
Fix NullReferenceException when loading SNES MSU-1 XML file (MSU-1 still doesn't work for me though).
2019-10-21 20:09:55 -04:00
J.D. Purcell
952609eeaa
Factor out some common stuff in rom load/close.
2019-10-20 23:36:11 -04:00
J.D. Purcell
99f63f9a9f
Don't even need this variable.
2019-10-20 21:27:53 -04:00
J.D. Purcell
69bb2322a1
Try to clean up ROM loading a bit. It's not much but it's a start.
2019-10-20 20:41:25 -04:00
J.D. Purcell
6504387302
Option to accept background input only from controller. Closes #1396 .
2019-10-13 19:49:24 -04:00
alyosha-tas
d2fe217869
GBHawk: expose 4x core
2019-10-04 13:52:29 -04:00
alyosha-tas
79c4b1e846
GBHawkLink3x: Initial Commits
2019-09-08 16:35:39 -04:00
alyosha-tas
432abb27f6
Vectrex: expose menues
2019-07-06 08:56:25 -04:00
adelikat
02a3e4ceaf
move Subneshawk menu to the nes submenu and enforce that you can not have quicknes=true and subneshawk=true, put "experiemental" on the menu item because while it is being officially "released" it is a very big edge case and I dont' want to confuse average TASers into thinking this is a core they should use for normal use cases
2019-06-17 18:22:55 -05:00
feos
b90e4b9838
tastudio: fix seek progressbar not to disappear on (every other) middle-click and || button
...
mainform: show pause icon first, even if we're seeking, because seeking is mostly a tastudio feature and its status is reported by tastudio already. fixes #1456
2019-06-10 23:34:19 +03:00
feos
f5bcdc4aba
fix #1513
...
OSD info on branch hover is mandatory, so I'm not removing it. drawing the branch OSD-framebuffer on the emulator screen is barely possible without butchering everything, so I'm not doing it. instead, keep both core and client framebuffers and use them where they make sense: osd FB shows up on hover, core FB goes to emulator screen on branch load.
2019-06-09 20:34:14 +03:00
Maximilian Peters
80c0fe571b
Squash merge #1505 - set socketServer IP/port via Lua ( resolves #1495 )
2019-05-29 15:06:38 +10:00
James Groom
27a4062ea2
Merge pull request #1568 from TASVideos/unix_prep
...
Preparation for Unix port
2019-05-29 15:01:27 +10:00
feos
8efcda388f
Merge pull request #1542 from Ashafix/audiosync
...
added new command line parameter audiosync
2019-05-25 10:34:01 +03:00
YoshiRulz
df232e6184
Add additional CurrentOS checks
2019-05-19 14:46:50 +10:00
YoshiRulz
35056ae2d9
Remove #if WINDOWS, using runtime check where applicable
2019-05-18 20:17:02 +10:00
feos
1ee19f17e1
OpenAdvanced_OpenRom wasn't working since 2.2.1
...
nobody noticed because nobody uses it. then why do we have it? maybe it could be fixed by better routing. yet again nobody uses it.
2019-05-03 11:34:53 +03:00
Ashafix
3946075024
added new command line parameter audiosync
2019-04-15 09:28:54 +02:00
YoshiRulz
e6374ef477
Use string interpolation
2019-03-19 00:06:37 +10:00
alyosha-tas
5665617d9b
GGHawkLink: menues and API stuff
2019-02-09 12:41:23 -06:00
alyosha-tas
a15e856390
Update link text to match link status
2019-01-20 09:30:08 -06:00
adelikat
5b26300e50
Merge pull request #1419 from upthorn/master
...
Extend APIHawk with a lua-like system of api libraries
2019-01-19 17:24:08 -06:00
alyosha-tas
c4b3a7c3b8
TAStudio: Update window name when using saveas, Fixes #1444
2019-01-19 14:47:12 -06:00