Commit Graph

729 Commits

Author SHA1 Message Date
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
alyosha-tas 9696a75839
Merge pull request #1439 from TASVideos/subneshawkfixattempt
SubNESHawk
2019-01-19 09:48:43 -06:00
upthorn 435d717f7b Merge branch 'master' of https://github.com/Upthorn/Bizhawk 2019-01-14 17:10:45 -08:00
alyosha-tas c5cfe9e412 SubNESHawk: Fix up FPS viewer 2019-01-12 10:41:50 -06:00
alyosha-tas c19c7cd5c3 SubNESHawk
also Input register shift fix

# Conflicts:
#	BizHawk.Client.EmuHawk/MainForm.Designer.cs
#	BizHawk.Client.EmuHawk/MainForm.Events.cs
#	BizHawk.Emulation.Cores/Computers/AmstradCPC/AmstradCPC.IEmulator.cs
#	BizHawk.Emulation.Cores/Computers/SinclairSpectrum/ZXSpectrum.IEmulator.cs
#	BizHawk.Emulation.Cores/Consoles/Nintendo/NES/PPU.run.cs
2019-01-10 18:25:59 +03:00
Asnivor 4c5728dedb EmuHawk: Deterministic Emulation Revert 2019-01-08 12:48:40 +00:00
Asnivor b7f2363584 EmuHawk: Change deterministic back to how it was before. TRUE if a movie is queued, FALSE if not (and let the cores manage this setting further down the foodchain if they want to). Without this, mGBA skipbios will never work #1432 2019-01-08 11:53:27 +00:00
feos cd2d63b04a tastudio:
- don't use branch laglog after loading it. it's useless because we invalidate if needed anyway
- PauseOnFrame being null started to crash seeking, fixed
- make use of movie alias in branchbox
- capture tsm state after loading the branch

todo: if we load a branch in the middle of invalid greenzone, advancing won't draw new greenzone even tho states are being created. laglog doesn't seem to allow gaps either. unsure how to resolve
2019-01-05 21:30:06 +03:00
upthorn 71215adf0d Merge branch 'master' of https://github.com/TASVideos/BizHawk 2019-01-04 04:58:58 -08:00
alyosha-tas 12ad2d5b36 GBHawk: Link Cable work 2019-01-03 17:31:35 -06:00
James Groom 42764f0019 Add preliminary Unix compatibility (using Mono; resolves #1384) (#1380)
* Move PlatformSpecificLinkedLibs and implementations to common and rename
* Specify file ext. at LoadPlatformSpecific call site
* Move Client.Common.Global.RunningOnUnix to PlatformLinkedLibSingleton
* Inline var Resolver
* Use PlatformLinkedLibManager internally
* Move plugin load check to LinkedLibManager, use LinkedLibManager
* Interpolate
* Return exit code from dlclose/FreeLibrary
* Skip all calls to externs in BlipBufDll when using mono
* Use PlatformLinkedLibManager in SevenZipLibraryManager
* Add expected return value to workaround (from testing on Win32)
* Remove ".dll" from DllImport attr, remove temporary workaround, see desc.
The library can be built by changing the output file name in
`.../blip_buf/Makefile` to `libblip_buf.so`, and running `make`. It will be
loaded if placed in the `.../output` folder.
* Remove unused code, add TODO (this class is req. for Waterbox.PeWrapper)
The TODO is to [rewrite with
C#](https://docs.microsoft.com/en-us/dotnet/standard/io/memory-mapped-files)
instead of importing from `kernel32.dll`.
* Update OpenTK again but better (for #1384)
* Add Mono run script
* Add libblip_buf.so (temporary)
Temporary because it should be a separate package which BizHawk depends on.
* Add distro detection, add "already running" and "unknown distro" messages
* Gray-out Lua Console on Unix
* Extract superclass from EmuLuaLibrary, add shell implementation for Unix
* Specify libdl version, Fedora doesn't have the versionless symlink
* Remove empty `ToolStripMenuItem`, null `Text` caused crash on Unix
* Transform OpenTK keyboard input into a `List<KeyEvent>` and read that
Also fixes crash on rebind
* Remove debug `using ...;`
2019-01-04 01:50:55 +03:00
upthorn bc4330a9d1 External tools no longer crash on loading new ROM 2019-01-03 05:53:26 -08:00