zeromus
cb162f12d6
NES PPU viewer: fix too-small sprites window which hid a bunch of the sprites
2023-02-08 01:25:49 -05:00
zeromus
1b8158f4c2
skip this stupid administrator check on old windows versions. windows isn't capable of being useful for non-administrators until windows 10.
2023-02-08 01:07:41 -05:00
zeromus
4ba7b68e66
add missing using namespace NDS to fix building
2023-02-08 00:56:32 -05:00
YoshiRulz
67466be2f4
Have TAS profile also enable NDS BIOS
2023-02-08 10:08:19 +10:00
YoshiRulz
1ca610b424
Set default `Form.Icon` to corphawk
...
not sure about this, and I think it also affects ext. tools
2023-02-08 07:15:25 +10:00
YoshiRulz
e7884f6796
Hide debug tools from Tool Box and add ext. tools
2023-02-08 07:15:24 +10:00
YoshiRulz
8b7cba96bb
Use a single-source-of-truth for tools' icons in menus and Tool Box
...
reverts 733b6c49b
some more `[SpecializedTool]`s have icons now
2023-02-08 07:15:24 +10:00
YoshiRulz
0d02d5c498
Refactor `ToolBox.SetTools`
2023-02-08 07:15:24 +10:00
YoshiRulz
b93eb948fd
Unindent `MainForm.DisplayDefaultCoreMenu`
2023-02-08 07:15:24 +10:00
YoshiRulz
15eed689d0
Misc. refactors in `ExternalToolManager`
2023-02-08 07:15:24 +10:00
YoshiRulz
a86860faaa
Fix `--open-ext-tool-dll`
...
fixes 4566b744d
2023-02-08 07:15:23 +10:00
YoshiRulz
3c3ab6578e
Use system's canonical framerate for rewind duration estimate
2023-02-05 21:00:04 +10:00
YoshiRulz
f473db56c3
Fix NaN propagation in RewindConfig
2023-02-05 20:56:22 +10:00
CasualPokePlayer
b1e8d93f5f
remove unused using from last commit
...
need to check what's going to be committed, the auto-using thing keeps tripping me up
2023-02-01 21:27:49 -08:00
CasualPokePlayer
46a086ed32
fix b109dc8605
2023-02-01 21:26:44 -08:00
YoshiRulz
b109dc8605
Mute audio when opening modal dialogs (see #3545 )
2023-02-02 05:41:44 +10:00
YoshiRulz
26991944ee
Fix `<NoWarn/>` overwriting instead of appending
2023-02-02 00:07:04 +10:00
YoshiRulz
d8d9abeacd
Update OpenTK
2023-02-02 00:07:04 +10:00
YoshiRulz
e7d349f48d
Update Windows version check to reflect 8.1 EOL
2023-02-02 00:07:04 +10:00
CasualPokePlayer
cf0ce0f5bb
fix GC killing rcheevo callbacks
2023-01-27 02:47:05 -08:00
CasualPokePlayer
c4f2bed9fd
sledgehammer fix any remaining issues with RAIntegration
2023-01-26 08:00:43 -08:00
CasualPokePlayer
e67e646ca5
fix deadlock when loading state with hotkeys and RAIntegration is active
...
hotkeys don't go through messages so unlike other methods of loading a state this caused a deadlock (load state implies memory peeking to restore state)
2023-01-26 07:12:54 -08:00
CasualPokePlayer
e8dd2e94f2
Fix crashes when using menu item for save/load quicksave
...
fixes 22ba0d5c25
2023-01-26 05:49:52 -08:00
CasualPokePlayer
66282a25aa
fix a NullReferenceException this time...
...
this thing is getting annoying now
2023-01-26 04:32:53 -08:00
CasualPokePlayer
0170d8f0f0
resolve ObjectDisposedException
...
fixes 713944724d
2023-01-26 01:24:34 -08:00
CasualPokePlayer
713944724d
fix deadlocks in RAIntegration for real this time (i hate this hack)
...
fixes f8a5adecb5
2023-01-25 23:36:46 -08:00
CasualPokePlayer
03077daf71
fix a crash when loading a quicksave right after shutting down retroachievements
2023-01-25 22:43:57 -08:00
CasualPokePlayer
f8a5adecb5
fix possible deadlocks with RAIntegration due to dumb threading bs, cleanup some of this code
...
also make sure to reboot core when starting up RetroAchievements with RAIntegration active (RAIntegration doesn't do this itself it seems)
2023-01-25 22:28:26 -08:00
YoshiRulz
95001d0baa
Hack to fix Nymashock analog stick range (see #3528 )
2023-01-26 14:57:57 +10:00
YoshiRulz
c66d0c746e
Document `IMemoryDomains` invariants
2023-01-25 02:04:10 +10:00
YoshiRulz
9e8b0c604d
Add debugging helper `DescribeIsNull`
2023-01-25 01:14:50 +10:00
kalimag
b174c346d4
Hex editor: unset ROM domain when loading MAME ROM
...
Previously, last non-MAME ROM would still appear under "File on Disk"
2023-01-20 09:29:31 +10:00
kalimag
b2ed03c90d
Fix NRE in `HexEditor` domain selection for MAME
...
Fix NRE when MAME ROM was loaded without Open Advanced
2023-01-20 09:29:31 +10:00
YoshiRulz
15056f11f2
Fix typo ( resolves #3520 )
...
fixes 007d862c5
2023-01-15 05:38:03 +10:00
adelikat
8c32157547
hotkey for toggling on screen messages
2023-01-14 12:00:37 -06:00
YoshiRulz
566d47e263
Several changes to the About dialog
...
- s/BizHawk/EmuHawk/
- s/multi-platform/multi-system/ because, while the former is technically true,
it's very much a Windows app, and the latter is what was intended anyway
- replaced logo w/ a nice upscale courtesy of @DrD2k9
- added VCS branch to commit link
- changed window title from VCS info to "About EmuHawk"
- added build config after release version
2023-01-14 14:31:41 +10:00
kalimag
abee97b449
Remove pixels array from `DisplaySurface`; faster clearing
2023-01-08 08:53:45 +10:00
YoshiRulz
bc823f4795
Clear props of type `ApiContainer` when clearing injected API props
2023-01-08 08:27:31 +10:00
YoshiRulz
3c00c24fcd
Fix `ApiInjector` trying to set get-only props of type `ApiContainer`
2023-01-08 08:26:27 +10:00
YoshiRulz
16ee704332
Deduplicate `MemoryDomainDelegateSysBusNES`
2023-01-08 07:54:20 +10:00
CasualPokePlayer
0bd2a1d89b
Resolve bigEndian nonsense for MemoryDomainDelegateSysBusNES too
...
TODO: This is just MemoryDomainDelegate but with a SendCheatToCore delegate allowed to be added, surely we could just add this to the existing MemoryDomainDelegate? Or better yet MemoryDomainDelegateSysBusNES could just inherit MemoryDomainDelegate if this wants to be separated (and reduce all this code duplication)
2023-01-06 10:10:14 -08:00
CasualPokePlayer
2a7cbda8c5
Correctly pass in bigEndian for MemoryDomainDelegate's BulkPeekUshort/BulkPeekUint, fixes #3516
2023-01-06 10:02:28 -08:00
CasualPokePlayer
a896471164
fix MAME memory domains
2023-01-05 18:47:49 -08:00
kalimag
3f4aee0154
Return success bool from `OpenRom` APIs (squashed PR #3514 )
...
* Return success bool from `OpenRom` APIs
* Finish propagating, update docs for other recently changed methods too
Co-authored-by: YoshiRulz <OSSYoshiRulz@gmail.com>
2023-01-06 03:50:13 +10:00
YoshiRulz
0591d2e2d2
Pass through input/hotkeys while Lua form is focused
...
to restore previous behaviour, call `forms.setproperty(form_handle,
"BlocksInputWhenFocused", true);`
2023-01-05 02:09:49 +10:00
YoshiRulz
af9f5b9b9c
Add some sort of documentation for B/V gamedb flags
2023-01-05 00:41:25 +10:00
YoshiRulz
699ef428bf
Fix `mainmemory` lib keeping reference to unloaded core's memdomain
2023-01-03 23:46:02 +10:00
YoshiRulz
5827cbd829
`Trim()` when copying Log Window selection to clipboard
...
see e269bfd49
2023-01-03 23:26:36 +10:00
YoshiRulz
e7d95aa07d
Disable Lua tests in CI
2023-01-03 07:31:27 +10:00
YoshiRulz
ec6fe5fcf1
Change loadstate methods to return a bool indicating success
2023-01-03 06:49:29 +10:00
YoshiRulz
250b839e2c
Extract method from `LoadBranchToolStripMenuItem_Click`
2023-01-03 06:49:29 +10:00
YoshiRulz
007d862c58
Finish renaming quicksave slot 0 to 10 ( resolves #3112 )
2023-01-03 06:49:28 +10:00
YoshiRulz
7f33a8836d
Invert some conditionals in `MainForm` to reduce indent level
2023-01-03 06:49:28 +10:00
YoshiRulz
fcf7ac1fab
Change first param of `{Save,Load}QuickSave` from string to int
...
also swapped bool params of `SaveQuickSave`
2023-01-03 06:49:28 +10:00
YoshiRulz
22ba0d5c25
Dedup click handlers for `File` > `Save State` and `Load State`
...
`File` > `Save Slot` already did this
2023-01-03 06:49:28 +10:00
CasualPokePlayer
4b30cab993
Check the correct integer type for tastudio.setplayback
...
New lua actually has integers so this is a long instead of a double
2022-12-31 18:10:36 -08:00
CasualPokePlayer
05ff3ab40c
merge some mGBA upstream commits, partially revert c891cc2cb5
(upstream commits makes our changes not really needed)
2022-12-22 20:26:11 -08:00
CasualPokePlayer
00d450075e
oops forgot a colon here
2022-12-21 00:43:52 -08:00
CasualPokePlayer
c7c5ed229d
add pc2 extension for wonderswan
...
these are pocket challenge v2 roms, which is some handheld system which is actually just a wonderswan inside so these roms work anyways with cygne
2022-12-21 00:41:42 -08:00
Morilli
603530d540
set gcAllowVeryLargeObjects to allow 2GB+ arrays
2022-12-21 07:43:34 +01:00
Morilli
79857a3b71
Revert "make a new "FixedGrowthList" and use it for the StringLogs"
...
This reverts commit da5fae0b01
.
2022-12-21 07:42:31 +01:00
nattthebear
66c19cfcb2
Support marshalling arrays of length 0 through BizInvoker
...
Such arrays will be marshalled with valid and unique pointers that can be compared but not read from or written to.
2022-12-20 18:04:41 -05:00
CasualPokePlayer
5b0fe947df
fix #3498
2022-12-20 10:40:03 -08:00
YoshiRulz
6678fb4296
More cleanup of switch in `RetroAchievements.SystemIdToConsoleId`
2022-12-20 18:58:17 +10:00
YoshiRulz
7703ee5f37
Refactor `IGameboyCommon.IsCGBMode`
2022-12-20 18:58:17 +10:00
YoshiRulz
a54c94230f
Restore system menu behaviour re: SGB
...
fixes 81fe56fa6
2022-12-20 18:58:12 +10:00
Morilli
81fe56fa6e
provide correct sysid in BsnesCore
2022-12-20 04:22:23 +01:00
YoshiRulz
aa0e2d6a5f
Use new CartRAM domain name in GBHawk's CDL impl. ( fixes #3497 )
...
fixes 7e00b7892
2022-12-19 13:20:37 +10:00
CasualPokePlayer
cee263e272
oops didn't mean to checkin this experiment (it doesn't do anything actually)
2022-12-17 21:53:47 -08:00
CasualPokePlayer
339915c013
check-in NLua to main repo
...
combine NLua with KeraLua (KeraLua is "gone" now I guess)
make it use the BizInvoker (so now it can properly handle the liblua5.4.so and lua54.dll names differing), also delete the liblua54.so.
minor speedup when creating a new empty table
make lua default to UTF8 internally, so we don't need to manually change the state's encoding
2022-12-17 21:51:10 -08:00
CasualPokePlayer
a1da5753ee
check-in NLua to main repo
...
combine NLua with KeraLua (KeraLua is "gone" now I guess)
make it use the BizInvoker (so now it can properly handle the liblua5.4.so and lua54.dll names differing), also delete the liblua54.so.
minor speedup when creating a new empty table
make lua default to UTF8 internally, so we don't need to manually change the state's encoding
2022-12-17 21:50:56 -08:00
Morilli
55fdcbb3d1
Don't set modifiers for key release events
...
this fixes a bug in 1df6ce4e38
, where an incorrect modifier state could be set, causing the release event to not actually release the key. I also don't see a reason to not just not set modifiers.
For example: "Hold Tab", "Hold Shift", "Release Tab" would send a "Release:Shift+Tab" event which failed to release Tab, even though that key was initially pressed without Shift.
So, instead of trying to match the right modifiers and keys just send the released key without modifier state and let the Receive() function do the work.
2022-12-18 06:03:55 +01:00
YoshiRulz
8db15d6951
Show warning dialog when running as Superuser/Administrator
2022-12-18 12:21:43 +10:00
YoshiRulz
767e30eee5
Also rename bundled CPC firmware files (see #3494 )
...
fixes 5be8b0aab
2022-12-18 12:02:23 +10:00
CasualPokePlayer
8d5f7b5478
make selecting user shaders not crash with the default empty string path
...
Path.GetDirectoryName throws if it is handed an empty string apparently
2022-12-17 12:16:03 -08:00
YoshiRulz
a680739c6e
Rename bundled ZX Spectrum firmware file ( resolves #3494 )
...
fixes 5be8b0aab
2022-12-17 22:47:57 +10:00
CasualPokePlayer
58beef8a46
remove speex use in melonDS (see 5f0e6a2242
for unmanaged side changes)
2022-12-16 23:04:35 -08:00
CasualPokePlayer
5e9e9ac289
remove libspeexdsp use in old bsnes core
2022-12-16 20:45:25 -08:00
YoshiRulz
c794d90878
Revert switch to system-wide Lua install on Linux
...
reverts ab355d469
and 25795d237
2022-12-17 13:35:14 +10:00
CasualPokePlayer
25795d2372
remove GetErrorMessage call for Linux dep checks
2022-12-16 15:26:11 -08:00
CasualPokePlayer
ab355d4693
check some system lib deps on Linux and force user to provide their own liblua54 from package managers
2022-12-16 15:03:39 -08:00
CasualPokePlayer
767cc9059d
Improve handling of RA http requests, add some handling in case RA sound files are missing. Normally this shouldn't be needed as docs specify if the wav file fails to load it plays the default beep sound, except actually it just throws in practice???
...
The 2.9 rcs apparently have the "overlay" folder missing, so the sound files aren't present. I'm assuming there's some issue with build scripts there for releases...
2022-12-15 23:45:29 -08:00
CasualPokePlayer
f3ee3e7956
mGBA update, various cleanups and some reorg
2022-12-15 01:00:36 -08:00
adelikat
f6503adfb8
Update virtualpads immediate when the movie status changes, huge improvement when using tastudio and virtualpad together as the record checkbox toggle now changes the readonly status of the pad
2022-12-13 08:39:29 +10:00
CasualPokePlayer
27f6800d45
fix #3489 (InitializeWork is called by itself for each gamedb file #include'd, so the event would have been set once the first gamedb file is loaded, oops), do some other cleanup here
2022-12-10 23:42:08 -08:00
CasualPokePlayer
b3c7f0fa48
IPlatformLuaLibEnv -> ILuaLibraries / Win32LuaLibraries -> LuaLibraries, cleanup usage of it, fix doc error in client.gettool
2022-12-10 21:46:22 -08:00
YoshiRulz
f101cb5a54
Additional corrections to newly-added Lua documentation
...
fixes 49cd836e1
, c7781d1c1
2022-12-11 13:35:29 +10:00
YoshiRulz
cbb335fec2
Fix Lua `require` not looking in Lua dir on Linux
...
see #3485
thanks to @CasualPokePlayer for research and initial implementation
2022-12-11 13:16:07 +10:00
CasualPokePlayer
9e4836d300
libretro handling cleanup, reorg some of this, fix some input cases, better domain names
...
funsie found in this cleanup: can't use `in` params with the BizInvoker as it doesn't like the read only semantics (results in some exception in CreateType)
2022-12-10 04:45:00 -08:00
CasualPokePlayer
64d693e63f
call retro_unload_game before retro_deinit (libretro api specifies retro_unload_game be called before retro_deinit, in practice cores don't really care but best fix this)
2022-12-08 23:18:37 -08:00
CasualPokePlayer
29443dae49
fix #3484
2022-12-08 14:26:23 -08:00
YoshiRulz
c4f4c793da
Remove unused `IPlatformLuaLibEnv` implementation
2022-12-09 05:41:49 +10:00
YoshiRulz
5197c36a5d
Remove `[Lua*StringParam]` as they're no longer relevant
...
fixes 45fbdb484
2022-12-09 05:40:31 +10:00
YoshiRulz
5c0143d6f6
Minor corrections to newly-added Lua documentation
...
fixes 1452f831a
, 82c3b471a
, b687dea1b
, 49cd836e1
2022-12-09 05:28:36 +10:00
CasualPokePlayer
49cd836e18
log warning when using the deprecated lua bit functions
2022-12-08 04:26:54 -08:00
CasualPokePlayer
56d66ca555
add reset support to libretro, resolves #3482
2022-12-07 19:54:59 -08:00
YoshiRulz
4caa99afe3
Remove Lua in Mono warning as it's no longer relevant
...
fixes 45fbdb484
2022-12-07 18:46:25 +10:00
kalimag
01ab9416b5
Make script paths in .luases relative to .luases path
...
Restore behavior before 99dc0e03df
2022-12-07 18:24:21 +10:00
YoshiRulz
df4df517b8
Add `IMovieApi.PlayFromStart`/`movie.play_from_start` ( resolves #384 )
2022-12-07 18:16:13 +10:00
YoshiRulz
7fdc3f992d
Propagate success through to caller for movie load/restart
2022-12-07 18:16:13 +10:00
YoshiRulz
0076c8802b
Add `saveChanges` parameter to `IMovieApi.Stop`/`movie.stop`
2022-12-07 18:16:13 +10:00
YoshiRulz
e0a7a39b0d
Have `IMovieApi.Stop` implementation use `MainForm.StopMovie`
2022-12-07 18:16:13 +10:00
kalimag
596e8d9198
Call `onexit` and cleanup when removing lua script
2022-12-07 18:15:31 +10:00
kalimag
50fc7e28da
Make "Stop all scripts" behave the same as toggling them off
2022-12-07 18:15:31 +10:00
kalimag
817b258a79
Remove relative path manipulation in `LuaConsole`
2022-12-07 18:15:31 +10:00
kalimag
f625771cd0
Don't create FileSystemWatcher for missing directories
2022-12-07 18:15:31 +10:00
kalimag
cf2b83b102
Disable lua script if loading fails
2022-12-07 18:15:31 +10:00
kalimag
bd53807b0f
Store `LuaFile` `FileSystemWatcher` in dictionary
...
Avoid path string comparisons, `FileSystemWatcher` events may format relative paths differently
2022-12-07 18:15:31 +10:00
kalimag
6aa7c48402
Update Lua registered functions window after restart
...
Make registered functions window show functions for new LuaImp after core restart/reopening the Lua console
2022-12-07 18:15:31 +10:00
kalimag
ee66faba0b
Clean up old LuaImp before creating new one
...
Prevents memory/resource leak
Causes open forms to be closed on core restart
2022-12-07 18:15:31 +10:00
kalimag
3a70fb65f8
Refactor disabling Lua script into separate method
2022-12-07 18:15:31 +10:00
kalimag
7c7ac64ae6
Stop discarding Lua session save directory
...
Previously any path would into ".\foo.luases" and be saved in exe dir
2022-12-07 18:15:31 +10:00
kalimag
9ee788195a
Improve Lua `FileSystemWatcher` thread safety
...
Make FSW invoke the entire event handler on main thread.
Avoids theoretical race condition and thread safety issues with the linq query.
2022-12-07 18:15:31 +10:00
kalimag
733a8bee88
Dispose FileSystemWatchers in LuaConsole
2022-12-07 18:15:31 +10:00
kalimag
28d6415190
Remove running scripts before loading session
...
Clean up scripts instead of just clearing script list
2022-12-07 18:15:31 +10:00
kalimag
cc10de4033
Refactor removing Lua scripts into separate method
2022-12-07 18:15:31 +10:00
kalimag
564a1e4a67
Remove obsolete `LuaConsole.RunLuaScripts`
...
Method is mostly a duplicate of `EnableLuaFile`, only called when loading a session or an already loaded script.
In either case it didn't actually start the scripts due to an inverted condition, and would stop running scripts without doing the required cleanup.
2022-12-07 18:15:31 +10:00
kalimag
5d143ca879
Properly start scripts after loading Lua session
...
Previously, scripts would display as enabled but not actually run until toggled off and on.
2022-12-07 18:15:31 +10:00
kalimag
0effd435f6
Fix issues when opening same Lua script multiple times
2022-12-07 18:15:31 +10:00
kalimag
14e713837b
Change remaining `Config.DisableLuaScriptsOnLoad` refs to Settings
...
Resolve inconsistent use of duplicate property on `Config` and `LuaConsoleSettings`, finishes partial refactoring from 324a50a
This will effectively reset this setting to default in existing configs.
2022-12-07 18:15:31 +10:00
YoshiRulz
a8e0192281
Use FLPs so UI scale doesn't break Record Movie dialog (see #2605 )
...
disables resizing the dialog; default is big enough and the `TextBox`es can
scroll
2022-12-07 15:43:25 +10:00
YoshiRulz
632f063073
Cleanup `RecordMovie` ctor
2022-12-07 15:43:24 +10:00
YoshiRulz
400b1b589b
Inline `RecordMovie.InitializeComponent` (Designer file)
2022-12-07 15:43:21 +10:00
YoshiRulz
102874e480
Fix N64 header detection being swapped ( fixes #3477 )
...
fixes abeaa2a10
how ironic
2022-12-07 14:34:52 +10:00
YoshiRulz
62f6f3b471
Fix Win32LuaLibraries init'ing incorrectly on `DeveloperBuild = false`
2022-12-07 14:27:19 +10:00
YoshiRulz
def5df44fa
Fix double call to `UIHelper.ScaleX` in `ControllerConfig` (see #2605 )
...
fixes 93c47b87b
2022-12-07 05:29:27 +10:00
Morilli
5e6c4a2bbd
fix justifier controller never working oops
2022-12-06 19:42:30 +01:00
Morilli
96cc3f8745
BSNESv115: implement an extended gamepad controller with 4 extra buttons
...
this is a breaking change for existing movies, but only when a non-gamepad controller was used, which is rare
2022-12-06 19:21:08 +01:00
CasualPokePlayer
339994c5a7
change these to using var
2022-12-06 09:46:12 -08:00
CasualPokePlayer
b687dea1b0
change every IntPtr<->int cast to IntPtr<->long. we got 64 bit integers with lua now, and a pointer is 64 bits, so might avoid some dumb bug due to truncations and some ungodly amount of ram being used
...
TODO: see if we can skip this cast nonsense. the lua tests indicate IntPtr should pass through fine, being considered "userdata", probably better so the user can't just pass raw numbers for the handle.
2022-12-06 04:53:35 -08:00
CasualPokePlayer
bc79664461
fix implicit lua number to .net conversion
...
fix .net exceptions not halting the running script
fix inconsistency with stdout and lua console printing errors, both should end in a newline now
print the inner exception of a lua exception (i.e. the .net extension) if possible
2022-12-06 02:52:57 -08:00
CasualPokePlayer
eb00019c86
fix passing numbers for string args in .net lua functions (old engine had this behavior, granted "bad user" if they relied on this), add appropriate test
...
fix passing sbyte/char as args, add appropriate tests
cleanup the lua auto unlock hack, using a nice ref struct + dispose to handle it
2022-12-05 23:21:23 -08:00
CasualPokePlayer
920682688b
deprecate lua bit functions which have direct operator counterparts in new lua
2022-12-05 18:23:11 -08:00
CasualPokePlayer
dcd570bf87
fix mainmemory.write_bytes_as_dict
2022-12-05 16:46:22 -08:00
Morilli
4a49fc174b
Improve LsmvImport in numerous ways
...
- previously, every second frame was empty (lol), since 2016 i believe
- now imports as (sub)bsnes115 movie instead of bsnes, allowing to import subframe inputs and delayed resets
- imports controller types correct(er)ly
2022-12-05 16:28:22 +01:00
Morilli
10ba45d462
BSNESv115+: actually provide IBoardInfo properly
2022-12-04 22:48:29 +01:00
YoshiRulz
abeaa2a106
Be less lazy about N64 header detection in byteswapper
...
fixes 82c3b471a
, 9660c16a0
2022-12-05 04:54:19 +10:00
CasualPokePlayer
9660c16a0a
fix N64 roms coming through multidisk bundler in ares
2022-12-04 01:35:58 -08:00
CasualPokePlayer
3dd36f5f07
revert the explicit try/finally use for PeekByte/PokeByte monitor domain methods, testing seems to show the ref struct use makes EnterExit allocation (now forced to the stack) a non-issue performance wise
2022-12-03 18:30:09 -08:00
CasualPokePlayer
f01463e2b3
Convert EnterExitWrapper to a readonly ref struct, this should be a speedup in all cases. Will need to experiment to see if this mean the try/finally from #3296 can be avoided
2022-12-03 17:46:49 -08:00
YoshiRulz
d508b734d6
Fix `MemoryApi.{Read,Write}ByteRange` edge cases
2022-12-04 09:23:28 +10:00
YoshiRulz
af44a85cfd
Add unit tests for `IMemoryApi.{Read,Write}ByteRange`
2022-12-04 09:23:28 +10:00
YoshiRulz
dc4efc3644
Fix typos and whitespace in `MemoryApi.cs`
2022-12-04 09:23:27 +10:00
YoshiRulz
1bdff05442
Use read-only collection types in `IMemoryApi`
2022-12-04 09:23:25 +10:00
YoshiRulz
cba206efec
Add `IUserDataApi.Keys`/`userdata.get_keys`
2022-12-04 04:06:58 +10:00
YoshiRulz
c2d5a9c931
Banish empty conditional blocks
2022-12-04 02:11:41 +10:00
YoshiRulz
84d2866f53
Clean up usage of `LuaFile.Enabled`/`Paused`
2022-12-04 01:43:02 +10:00
CasualPokePlayer
f798021bba
CloseRom acts like rebooting the core, so make it just reset Lua libs (more properly fixes #3226 without any yield nonsense)
...
Slight revert of 2efae13af4
(still want to set running scripts as it's used later)
Fix detaching registered functions (old logic was broken, Stop would null out the LuaRef used for creating the new dummy thread for the detached function. best solution i've come up with is to simply pass a callback over for creating the thread, nicely encapsulating that functionality)
Various cleanups, don't need VS complaining about old pattern matching code here anymore...
2022-12-03 04:57:58 -08:00
CasualPokePlayer
15b2264cb4
Use LuaThread Yield here instead of directly using LuaState's
2022-12-02 19:45:29 -08:00
CasualPokePlayer
51f01efdc4
Properly handle errors when running a lua script, using Resume/Yield methods added to the LuaThread class (see f904fa0d53
)
2022-12-02 14:44:05 -08:00
Morilli
ae11dcc6af
replace default bsnes with bsnes115
2022-12-02 20:21:21 +01:00
YoshiRulz
6174398fb4
Also reset padding when removing last Lua script ( resolves #1509 )
2022-12-03 01:06:06 +10:00
YoshiRulz
a9756b60a2
Clear OSD + surfaces when removing a Lua script ( resolves #3014 )
...
they were already being cleared when closing the Lua Console
note the "Erase Stale/Stuck Lua Drawing Layers" button does not clear OSD,
leaving that as it is for now
2022-12-03 01:02:26 +10:00
CasualPokePlayer
2efae13af4
prevent some NREs occurring with the new Lua stuff
2022-12-01 14:59:36 -08:00
YoshiRulz
999e487557
Add `bizstring.pad_{start,end}` helpers
2022-12-02 06:18:32 +10:00
YoshiRulz
ca72f113df
Rename `event.onmemory*`, phase 1 ( resolves #759 )
2022-12-02 05:55:42 +10:00
YoshiRulz
6381448472
decimal is not floating-point
...
fixes fdbb34dff
2022-12-02 04:27:29 +10:00
YoshiRulz
5603e5ac01
Reorder items in Tools menu
2022-12-02 04:24:24 +10:00
YoshiRulz
3dcc3ff89f
Improve handling of exceptions thrown in `Form.Load` handlers
...
obviously only benefits forms inheriting `FormBase`
2022-12-02 03:48:36 +10:00
CasualPokePlayer
9393e1b764
Fix #3417 and improve handling of `default.tasproj` (squashed PR #3462 )
...
* Fix #3417 and improve handling of default.tasproj
* expose SetMovieController in the MovieSession interface (please don't rely on it anywhere else)
* don't use this explicit public in the interface
(is this mentioned anywhere? i assume this is proper style)
* use this helper function
2022-12-02 03:44:56 +10:00
feos
10a38270e5
forgot a char
2022-12-01 19:12:45 +03:00
feos
bace52c4f8
fix #2119
2022-12-01 19:10:57 +03:00
dependabot[bot]
47c494a5a6
Bump System.Drawing.Common in main solution ( #3464 )
...
Bumps [System.Drawing.Common](https://github.com/dotnet/runtime ) from 5.0.2 to 5.0.3.
- [Release notes](https://github.com/dotnet/runtime/releases )
- [Commits](https://github.com/dotnet/runtime/compare/v5.0.2...v5.0.3 )
---
updated-dependencies:
- dependency-name: System.Drawing.Common
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-12-02 01:22:46 +10:00
CasualPokePlayer
45fbdb4844
Move to NLua/KeraLua/Lua5.4 ( #3361 )
2022-12-01 00:51:02 -08:00
CasualPokePlayer
fdbb34dff6
Lua tests ( #3373 )
2022-11-30 23:55:24 -08:00
CasualPokePlayer
92c1cdff22
RetroAchievements Support ( #3407 )
2022-11-30 23:51:17 -08:00
CasualPokePlayer
eb1cef1ffc
update mame to 0.250
2022-11-30 20:22:04 -08:00
CasualPokePlayer
8667dd9ee7
c# to previous commit
2022-11-27 23:29:54 -08:00
CasualPokePlayer
6baee38717
add n64 to multidisk bundler list
2022-11-27 05:51:47 -08:00
CasualPokePlayer
9420c8b21c
merge latest ares, hook up its new N64DD support, make ares use AxisContraint (see #3453 ), some other cleanups here
2022-11-27 05:44:00 -08:00
CasualPokePlayer
c23b063733
basic virtualpad + default controls for TIC80, mark it as released
2022-11-26 19:54:45 -08:00
YoshiRulz
c49a8d338c
Prefix `socketServerScreenShot` blob with length too ( resolves #3461 )
...
fixes b1602dae0
2022-11-26 18:42:10 +10:00
YoshiRulz
b8182f9149
Extract `ConcatArray` helper
2022-11-26 18:42:05 +10:00
Moritz Bender
1df6ce4e38
Fix key release events with modifiers not getting handled correctly ( #3402 )
2022-11-25 11:00:44 +01:00
CasualPokePlayer
bae71326bf
Fix hex editor for MAME when Open Advanced is not used
2022-11-25 01:31:02 -08:00
YoshiRulz
9a0403617b
Clean up SHA1
2022-11-24 20:15:35 +10:00
YoshiRulz
4566b744d9
Remember trusted ext. tools
2022-11-24 20:06:27 +10:00
YoshiRulz
f9ac3c4b32
Clean up `MainForm.ExternalToolMenuItem_DropDownOpening`
2022-11-24 20:06:20 +10:00
adelikat
e269bfd49f
Log window - when copying pasting "MD5:2345" and Sha1, strip the md5 and sha1 out. I just want the number if I'm copying pasting the single line. If someone finds this objectionable, feel free to revert, but this savesme a lot of time
2022-11-23 10:54:59 -06:00
adelikat
392d126173
remove an unused method
2022-11-23 10:11:45 -06:00
YoshiRulz
683aa263a0
Include `ControllerDefinition._orderedControls` in clone ctor
...
I don't think this is used, but as the caching was new in 2.8, going to include
this just in case
2022-11-23 15:35:45 +10:00
YoshiRulz
52acda9a02
Re-add an assignment in `InputManager.SyncControls` ( fixes #3458 )
...
partially reverts 781c152bf
also removed now-unused method `Controller.ForceType`
2022-11-23 15:29:02 +10:00
CasualPokePlayer
3f352792a6
remove unused using from experiments in previous commit
2022-11-22 09:18:51 -08:00
CasualPokePlayer
da5fae0b01
make a new "FixedGrowthList" and use it for the StringLogs
...
this is mostly to workaround OOM issues with VERY large movies (>134217728 frames).
so large just the list of string references is "too big" and exceeds the .net 2GB limit.
even the on disk method fails here, as the offsets list (note, long and reference are the same size) becomes too big
this probably gives a bit of speedup for "normal" movies, as the generous 16MB growth amount would likely be plenty for the movie, although i haven't test this much
2022-11-22 09:10:19 -08:00
YoshiRulz
b967e6028d
Fix inconsistent application of colours from GTK theme, if available
...
still no idea why I can set dark theme on Ubuntu but not Manjaro, but now menus
won't use a white-to-black gradient with white text
2022-11-23 02:51:54 +10:00
Morilli
589823d009
GPGX: add setting to disable per-line sprite limit
...
- resolves #3440
- includes manually cherry-picked e0ef0902e96bd9d71cb49c64505e755007e7452c
2022-11-22 14:44:39 +01:00
CasualPokePlayer
248e87b6d1
try to load a different core if an autodetected mame rom ends up failing to load
2022-11-21 18:28:56 -08:00
CasualPokePlayer
51826c4c17
Fix wrong MBC5 mapper being given a battery
...
0x1A is MBC5+RAM, 0x1B is MBC5+RAM+BATTERY
2022-11-19 20:44:55 -08:00
Morilli
0cb63e8d6a
BSNESv115+: Implement overscan and aspect ratio correction settings
2022-11-18 13:08:27 +01:00
CasualPokePlayer
0bd182e6cc
properly handle "NO GOOD DUMP KNOWN" mame rom hashes
...
(note, these roms are not actually in the romset, so the singular hash in movies doesn't have to be affected here)
2022-11-17 17:45:49 -08:00
CasualPokePlayer
d507246033
c# side for previous commit
2022-11-16 21:33:55 -08:00
CasualPokePlayer
d0266816a5
Fix #3448 . Support MAME 7z romsets
2022-11-16 17:32:20 -08:00
CasualPokePlayer
4479fec74d
Add in the actual c# code for 5ae4470466
...
Apparently forgot to actually add this in for the commit >:
2022-11-16 15:35:37 -08:00
CasualPokePlayer
62c3b4b8e3
Use a small dll for handling the msabi<->sysv adapter ( #3451 )
...
make a small dll for handling the msabi<->sysv adapter, using only assembly (taken from generated optimized rustc output) and handcrafted unwind information (c# exceptions in a callback seem to work fine in testing)
additionally, allow floating point arguments. this really only needs to occur on the c# side. msabi and sysv agree on the first 4 floating point args and for returns, so no work actually has to be done adapting these
with assembly being used, we can guarantee rax will not be stomped by compiler whims (and avoid potential floating point args from being trashed)
2022-11-16 09:02:13 -08:00
CasualPokePlayer
a0de42b1b3
remove struct hack, it's not actually needed
...
out double is System.Double& while double is System.Double, so it doesn't actually trip paramenter verifier
2022-11-15 01:12:31 -08:00
CasualPokePlayer
eec86ad81a
Use actual doubles for figuring out aspect ratio
...
Fixes issues when mame sends over < 1 bounds which round down to 0 with a long cast (resulting in div by 0 exceptions)
Also fix some oopsies with incorrect function signatures.
Remove MAME string docs as they aren't really relevant anymore, as only MameGetString handles lua string handling now
2022-11-15 00:57:30 -08:00
CasualPokePlayer
715f4f497c
add some missing mame mnemonics
2022-11-11 08:45:02 -08:00
Morilli
c21fedc76a
BSNESv115+: add option for disabling ppu sprite limit
2022-11-10 23:22:17 +01:00
CasualPokePlayer
066297d5e7
MAME Waterbox ( #3437 )
2022-11-10 00:05:25 -08:00
YoshiRulz
e7e587d625
Restore old behaviour of "Always use recent path for ROMs"
...
fixes 41d46dd37
, see #1574
2022-11-08 06:30:12 +10:00
YoshiRulz
948084a97e
Use `Movie.NotActive` extension instead of negated `IsActive`
2022-11-07 06:10:37 +10:00
YoshiRulz
84cc71e454
Use `DialogResult.IsOk` extension everywhere and clean up
2022-11-07 06:03:55 +10:00
YoshiRulz
36cb62a792
Create and use `ToolStripDropDownItem.ReplaceDropDownItems` extension
2022-11-07 06:03:55 +10:00
YoshiRulz
5df9879842
Refactor `MultiDiskFileSelector.BrowseButton_Click`
2022-11-07 05:27:15 +10:00
YoshiRulz
04f34ac7af
Add `Util.BreakDebuggerIfAttached` helper
2022-11-07 04:37:34 +10:00
YoshiRulz
f1f0f1695c
Encapsulate `OpenFileDialog`/`SaveFileDialog`
2022-11-05 09:10:11 +10:00
YoshiRulz
2db5235319
Cache and reuse `FilesystemFilterSet`s
2022-11-05 09:10:11 +10:00
YoshiRulz
1232157cc1
Improve caching of `FilesystemFilterSet.ToString`
2022-11-05 09:10:11 +10:00
YoshiRulz
c153505b58
Invert some conditionals to reduce nesting
2022-11-05 09:10:10 +10:00
YoshiRulz
df63853cd5
Add `IDialogParent` interface to a couple of config dialogs
2022-11-05 09:10:05 +10:00
YoshiRulz
8949b1aa6b
Make sure `CheckLib` in `Program` static ctor disposes GUI properly
2022-11-04 07:08:54 +10:00
YoshiRulz
c891cc2cb5
Don't ignore mGBA skip BIOS setting when recording ( resolves #2465 )
...
also disable skip BIOS with TAS profile and enable with Casual profile
also removed `DeterministicEmulation ||= !SkipBios`, does it matter?
2022-11-03 12:04:16 +10:00
YoshiRulz
77f824ab55
Clean up `MGBAHawk.DeterministicEmulation` assignment
2022-11-03 11:56:01 +10:00
YoshiRulz
13a01340de
Refactor Libretro ControllerDef generation, fixing input display
...
see #3360
2022-11-03 11:02:53 +10:00
YoshiRulz
781c152bf6
Remove old ControllerDef copying that was messing with ControlsOrdered
2022-11-03 11:02:52 +10:00
YoshiRulz
a8f571f2d6
Reinstate `GameInfo.NullInstance`'s name, and only instantiate it once
...
reverts 8dcea2470
`PathEntryCollection.RetroSystemAbsolutePath` extension didn't like this, there
may be others, and I don't want to look through them all
2022-11-03 11:02:44 +10:00
YoshiRulz
3e79e68d1d
Dedup in `CheatEdit.GetCheat`
2022-11-02 01:05:12 +10:00
YoshiRulz
414c21609b
Disallow updating cheats when multiple rows selected ( resolves #1726 )
2022-11-02 01:01:09 +10:00
YoshiRulz
5ae23c63bf
Change "Edit" button in Cheats dialog to read "Overwrite"
...
kept the mnemonic because idk
2022-11-02 01:00:16 +10:00
YoshiRulz
fd2772707b
Update `forms.drawImageRegion` documentation with a diagram
...
only embeds on TASVideos Wiki, which I held off on updating because there are a
lot of changes and we can do them all at once
2022-10-30 18:19:23 +10:00
CasualPokePlayer
8ee75879e6
Rework MAME integration a bit
...
The periodic callback is now used as a way to service "commands" sent from the main thread
Upon servicing a command, the mame thread will set the current command to NO_CMD then wait for the main thread allow the mame thread to continue
During this wait, the main thread may optionally set the next command (done here for STEP -> VIDEO), ensuring the next callback will service that command
A dummy "WAIT" command can be sent to trigger this waiting behavior, allowing the main thread to safely touch mame while the mame thread is frozen (important for mem accesses and probably savestates?)
A/V sync is also reworked. We can assume that 1/50 of a second worth of samples will be sent each sound callback. We can also assume 1/FPS of a second worth of time will be advanced each frame advance
So, we can just give hawk 1/FPS worth of samples every GetSamplesSync, if they are available. If we have less (probable on first few frames), we'll just give all the samples, and hope it balances out later.
2022-10-29 17:07:50 -07:00
CasualPokePlayer
cc71882059
BSNES Memory Domain Fixes ( #3423 )
...
* Use SameBoy submodule symlink for BSNES
* SGB memory domains
* Fix SGB saveram issues (extra data like rtc will be saved correctly now here)
* Various cleanups, avoid unneeded unsafe use, a little better EnterExit use
Co-authored-by: Morilli <35152647+Morilli@users.noreply.github.com>
2022-10-28 19:22:49 -07:00
Morilli
256a8617e9
Fix #3399 by always calling UpdateViewerMouseover
2022-10-27 01:30:41 +02:00
CasualPokePlayer
dd33e92a9f
ensure ClockRate in the Bk2Header uses . instead of ,
2022-10-21 02:34:59 -07:00
CasualPokePlayer
c8d4e606af
suppress updates while rebooting core, fixes #3424
2022-10-21 02:19:22 -07:00
CasualPokePlayer
f29113287e
add Jaguar to MultiDiskBundler menu
2022-10-11 21:51:26 -07:00
YoshiRulz
2b4d9c0c7d
Add debug utility to byteswap N64 roms
2022-10-11 10:12:49 +10:00
YoshiRulz
5b859960e9
Move types for debug menu to own files
2022-10-11 10:12:49 +10:00
YoshiRulz
82c3b471a5
Minor refactors to byteswapping (N64 rom loading and Lua bit library)
2022-10-11 10:12:45 +10:00
YoshiRulz
bb4ba2184f
Fix `forms.*` acting on every LuaPictureBox, not the specified one
...
fixes #3395
this has been broken since introduction in 2ddadeae2
2022-10-08 11:11:40 +10:00
YoshiRulz
7930a79cef
Prompt to disable cheats when starting movie playback ( resolves #3389 )
2022-10-08 10:42:10 +10:00
YoshiRulz
28c53cfa21
Fix `APIContainer.Comm` not having `HTTP`/`Sockets` on first boot
2022-10-06 11:53:11 +10:00
CasualPokePlayer
2fa46efda6
add jaguar db, change db parser to prefer the strongest hash available, fix potential edge case if a crc32: prefix is present (and simplify the code)
2022-10-04 22:05:38 -07:00
CasualPokePlayer
c547a20f8e
Use `LoadOther` for GBS files, cleanup the code a little, update SameBoy version info
2022-10-03 15:49:09 -07:00
CasualPokePlayer
9528a2030f
GBS support using SameBoy
2022-10-03 01:55:14 -07:00
CasualPokePlayer
0c6f0523a0
Update sameboy, expose audio channel enable/disabling, cleanup settings to go through a single call/struct
2022-10-02 21:40:00 -07:00
CasualPokePlayer
8732e561a1
Better Jaguar Virtual Width/Height
...
Jaguar VPad
Proper Jaguar default controls
Remove a lot of unneeded `ReSharper disable once UnusedMember.Global` in vpads (Global has been gone for a while now...)
Set VirtualJaguar to released
2022-10-02 18:53:34 -07:00
CasualPokePlayer
2e5c62f632
default Jaguar bios to not be skipped, some games rely on Jaguar bios running on boot
2022-09-30 23:54:13 -07:00
CasualPokePlayer
be771c134c
default to KSeries bios instead of MSeries bios, as it seems to be more compatible
2022-09-30 21:56:19 -07:00
CasualPokePlayer
5f509525bc
[virtualjaguar] less screen changing spam
2022-09-30 21:44:34 -07:00
YoshiRulz
158c897702
Use `Google.FlatBuffers` NuGet package and check in new Nyma codegen
2022-09-30 05:33:18 +10:00
YoshiRulz
5544bc526a
Add missing import
...
fixes 9e9e041bb
2022-09-30 03:52:05 +10:00
YoshiRulz
9e9e041bba
Fix AOoRE when loading TAStudio w/ cheats(?)
...
partially reverts dd4f9aaf6
InputRoll code is too inscrutable for me to determine the actual cause so I just
left a `Debug.Assert`
2022-09-30 03:25:13 +10:00
CasualPokePlayer
f8a4524df7
add in missing platform framerates, add in Jaguar CD iding for movie file, fix aspect ratio for jaguar
2022-09-28 17:25:34 -07:00
YoshiRulz
79d43dab1d
Extract constants used for `NamedLuaFunction.Event`
2022-09-29 08:54:23 +10:00
YoshiRulz
9815b377d1
Also protect against mutation of `IEnumerable` for `onconsoleclose`
...
see 7a26546cf
, fixes dc66b4357
2022-09-29 08:54:16 +10:00
YoshiRulz
7a26546cfc
Maybe fix mutation of IEnumerable (`InvalidOperationException`)
...
fixes 3024bc0d0
2022-09-29 05:21:08 +10:00
CasualPokePlayer
70a21ee07e
push c# side for memtrack support
2022-09-28 03:28:01 -07:00
Morilli
9fa38b8d78
Fix #3398
2022-09-27 13:58:56 +02:00
YoshiRulz
b2bacdecd2
Fix double call to pure method
2022-09-25 22:26:41 +10:00