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
YoshiRulz
3cbdd36fe0
Deduplicate some code in `MainForm`
2022-09-25 07:04:21 +10:00
YoshiRulz
728f393eb1
Clean up `MainForm.CheckHotkey`
2022-09-25 07:04:21 +10:00
YoshiRulz
d7c79a5f03
Fix "Toggle All Cheats" hotkey behaviour re: separators
2022-09-25 07:04:13 +10:00
CasualPokePlayer
3122078dfd
tweak jaguar cpu tracelogger
2022-09-24 06:23:24 -07:00
CasualPokePlayer
ff5c8d4e52
more jag disasm tweaks
2022-09-24 04:38:06 -07:00
CasualPokePlayer
c92c2bf661
fix jag risc disasm
2022-09-24 04:30:05 -07:00
CasualPokePlayer
38b4b98fc0
minor touchups to jag risc disassembler
2022-09-24 04:29:00 -07:00
CasualPokePlayer
c9618b3f92
c# side to jag debugging improvements
2022-09-24 04:15:05 -07:00
CasualPokePlayer
6113f3c17b
partial jagcd support (doesn't seem to completely work here)
...
fix some issues with vjaguar cleanup
add mem/trace callbacks and get/set reg support
2022-09-23 01:05:41 -07:00
CasualPokePlayer
71e3dfed74
fix #3388
2022-09-18 22:44:26 -07:00
CasualPokePlayer
38d3d36199
fix opcode address in exec callbacks + tracing (thanks prefetch)
...
sp/lr/pc for r13/r14/r15 for tracing
fix a bad for threaded renderer's thread start callback
2022-09-18 02:39:31 -07:00
CasualPokePlayer
5e34dc6166
Always savestate expansion pak regardless of settings.
...
All the disable expansion pak setting actually does is tell the game the expansion pak is not available.
However, not all games actually abide by this, some will use the expansion pak area anyways.
Video plugins also end up just using a "segfault test" to determine if the expansion pak is present or not
So video plugins may use the expansion pak area too
This ends up causing savestates sometimes just crashing the game if the expansion pak ends up used
Resolves #3092 , other state issues might be solved with this (I suspect #3328 is caused by this)
2022-09-17 13:11:31 -07:00
CasualPokePlayer
de38781081
Implement Rumble for Nyma
2022-09-17 01:36:51 -07:00
YoshiRulz
de1e7eef69
Document socket response format
2022-09-16 22:37:15 +10:00
CasualPokePlayer
afccbe8aa6
Fix hang with "Go to Address" dialog in RamSearch
...
resolves #3384 , fixes cc4acd9c64
2022-09-14 19:39:03 -07:00
YoshiRulz
1bf2bb758c
Change serialisation of Jaguar VSystemID
...
also fixed line ending
2022-09-12 17:13:15 +10:00
CasualPokePlayer
483258a04d
virtualjaguar port, resolves #1907
2022-09-11 21:38:46 -07:00
CasualPokePlayer
34c504d7b9
update ds disassembler
2022-09-10 20:53:05 -07:00
YoshiRulz
d2965c2185
If dummy sound chosen in config, try DirectSound (maybe fixes #3379 )
...
- if DirectSound fails (i.e. dummy is in config for a reason), then skip the
error dialog as the user has probably seen it already, and set it back to dummy
- if DirectSound succeeds, leave it, it will be written to config (there's a
mute setting for people who really don't want sound)
- copied the init config code so s/DirectSound/OpenAL/ on Linux
- could probably try OpenAL on Windows when DirectSound fails but whatever
2022-09-08 08:39:25 +10:00
YoshiRulz
707ec53bd5
Move `SoundConfig.ApplyNewSoundDevice` logic to callsite
2022-09-08 08:23:01 +10:00
Moritz Bender
6f0953aaa3
Implement snes graphics debugger for the new bsnes core ( #3367 )
...
* Partial port of graphics debugger to new BSNES
* minimal "working" copy-paste
* small fix for the previous commit
* Implement more stuff
* no idea whose responsibility "EnterExit" is but this should work
* add support for backdropcolor
i have 0% trust in this code
* implement mode7, apply backcolor on load
* 🙈
un-"implement" the nonfunctional scanlinehookmanager as well as the non-functional palette setting logic
- this may actually break config lol
* don't break libsnes config
* Provide IBSNESForGfxDebugger in the subbsnes core
* Remove redundant semicolon
* Clean up diff of `comboPalette_SelectedIndexChanged`
* Fix crash
Co-authored-by: YoshiRulz <OSSYoshiRulz@gmail.com>
2022-09-03 19:13:56 +02:00
YoshiRulz
28d62e69d7
Enable menu mnemonics (Alt+X) for MainForm on Linux
2022-09-03 19:59:08 +10:00
Bruno Valadão Cunha
f024986ffc
Added 'Edit marker frame' feature (squashed PR #3351 )
...
* Added 'Edit marker frame' feature
* Changed Edit Marker Frame icon to clock
* Hotkey tooltip + Prevent changing to a frame that already has marker
* Forgot to delete this icon, was replaced by Clock.png
* De-rookie here and there
* Clean up diff
2022-09-03 12:08:23 +10:00
CasualPokePlayer
09e8c7a9b6
ensure ds firmware settings represent sync settings if real firmware isn't used
...
resolves possible cause for #3377
2022-09-02 15:11:34 -07:00
CasualPokePlayer
70906c9004
quick fail is the user is somehow running EmuHawk as a 32 bit process
2022-08-29 17:01:26 -07:00
CasualPokePlayer
b588212e17
remove unused using (cruft from experimentation), remove unneeded enum values
2022-08-29 16:36:32 -07:00
CasualPokePlayer
e198122691
output a more helpful error message on windows for GetErrorMessage
2022-08-29 16:33:41 -07:00
CasualPokePlayer
06226e78cf
add way to obtain error message in ILinkedLibManager, use it to display an error code for init lib checks
2022-08-29 15:34:44 -07:00
CasualPokePlayer
463780a875
more cleanly deal with dummy hashes
...
fixes a515672
2022-08-28 03:13:23 -07:00
CasualPokePlayer
a515672d4d
fix #3159
2022-08-28 02:56:31 -07:00
YoshiRulz
14f470a9a7
Improve encapsulation of `ToolFormBase` props
2022-08-28 03:39:18 +10:00
YoshiRulz
faf4a8b24f
Remove unused "TAStudio states" path
...
TAStudio prop unused since 5bf21e391
, path was still in use until b1296dd9b
2022-08-28 03:09:59 +10:00
CasualPokePlayer
c761d6d807
fix changing mupen expansion pack setting
2022-08-26 13:30:44 -07:00
YoshiRulz
a344ee2288
Fix modifier key check in `TAStudio.TasView_MouseDown`
2022-08-24 09:44:24 +10:00
YoshiRulz
61c34eca74
Minor refactor to not mutate local in `TAStudio.TasView_MouseDown`
2022-08-24 09:44:17 +10:00
CasualPokePlayer
352977c7ea
speedup HashRegion/ReadByteRange/WriteByteRange for waterbox cores (doesn't do anything for non-wbx cores)
2022-08-23 03:09:23 -07:00
YoshiRulz
5906fd154e
Fix typo
...
fixes a95c4f182
2022-08-22 01:21:22 +10:00
CasualPokePlayer
afdfa065bd
missed apostrophe somehow
2022-08-19 23:46:03 -07:00
CasualPokePlayer
9174d17bd8
tic80 settings for enabling/disabling controllers, proper mnemonics
2022-08-19 23:43:55 -07:00
CasualPokePlayer
98a8cdf693
remove gongshell, add "simple" code for opening win32 context menu (gongshell's only actual use), re: #2261
2022-08-19 00:24:50 -07:00
YoshiRulz
64bc762439
Mute new MSB3270 warnings
...
no sure if these are the result of a .NET SDK update or my NuGet experiment
2022-08-18 17:16:40 +10:00
YoshiRulz
3a3494aedb
Add missing attribute to `events.can_use_callback_params` param
2022-08-18 17:12:15 +10:00
YoshiRulz
8d484ac196
Hardcode edge cases in `MovieConversionExtensions` to pass test
...
the argument in every real call is from `IMovie.Filename`, which is never
assigned null, and I don't think it's assigned anything but an absolute path
2022-08-17 19:05:32 +10:00
CasualPokePlayer
2ecb572892
fix nyma light guns, resolves #3359
2022-08-17 01:57:40 -07:00
YoshiRulz
7cde8bb466
Add and use 2 extension methods for splitting path into dir+filename
2022-08-17 17:35:07 +10:00
YoshiRulz
dce961357a
Refactor `IGameInfo.FilesystemSafeName` extension
...
it doesn't make any sense to split this string into dir+filename, it shouldn't
contain a slash
2022-08-17 17:35:07 +10:00
YoshiRulz
2b59cfc1c4
Small refactor in `DiscMountJob.RunBizHawk`
2022-08-17 17:35:07 +10:00
YoshiRulz
10478e23f1
Remove redundant dir exists checks
2022-08-17 17:35:07 +10:00
YoshiRulz
f228b01bdf
Rename `IMainFormForTools.SetWindowText` to `UpdateWindowTitle`
...
in practice there is only one implementation and it just called the other method
(which is inherited from `FormBase`)
2022-08-17 17:35:06 +10:00
YoshiRulz
d5bf542a3c
Cache `ToolStripRenderer` used by `FormBase.FixBackColorOnControls`
2022-08-17 17:35:06 +10:00
YoshiRulz
322ed164bf
Remove backing field of `FormBase.BlocksInputWhenFocused`
2022-08-17 17:34:59 +10:00
Peter Jorgensen
3958348e94
Add auto save state on close (squashed PR #3218 )
...
resolves #1861
* Add configuration for auto-saving state on exit
* Update MainForm to auto save on close game if configured
* Fix config serialization test.
* Revert unnecessary changes to Designer file
* Move autosave configuration into Save States menu off of File
* Undo previous test changes
* Remove explicit size on menu item.
* Fix logic
2022-08-17 14:27:50 +10:00
Morilli
7ffa605b28
BSNESv115: fix crash when audio output is disabled
...
(fixes 039d822144
)
2022-08-17 01:35:02 +02:00
Moritz Bender
039d822144
BSNESv115+: Replace the 'snes_audio_sample' callback with a dynamic audio sample vector to reduce callbacks ( #3010 )
...
* BSNESv115+: Replace the 'snes_audio_sample' callback with a dynamic audio sample vector to reduce callbacks
* fix integration for subbsnes core
* reduce buffer allocations
- also make frame setter private now that it's possible
2022-08-15 20:50:26 +02:00
Morilli
f1e11dfc36
simplify Stream.ReadAllBytes extension and use it more
2022-08-15 20:35:57 +02:00
CasualPokePlayer
31c7f59e86
fix some edge cases with new zip compression
2022-08-15 10:59:27 -07:00
CasualPokePlayer
0ff4aca182
[Gambatte] Remote control controls and remote control emulation expanded to HuC1 IR and CGB IR (previously only done in HuC3)
2022-08-15 02:49:34 -07:00
YoshiRulz
aba3359dde
Add CPP's testroms to GB testroms project
2022-08-14 16:21:27 +10:00
YoshiRulz
18a7201004
Fix building testroms project
...
fixes b8d5dd899
also addressed code style warnings and fixed a typo in GambatteSuite.BeforeAll
note the last acid suite fail is gone after a recent SameBoy update,
unfortunately the same update added a bunch of fails in the mealybug suite,
though the suite itself needs updating too
2022-08-14 00:33:12 +10:00
YoshiRulz
a5652ee3bc
Backport `IEnumerable.Order`/`OrderDescending` shorthand
...
at time of writing, in .NET 7 preview
https://github.com/dotnet/runtime/pull/70525
2022-08-13 02:18:26 +10:00
Moritz Bender
929432086f
BSNESv115: add dedicated subframe core ( #3281 )
...
* BSNESv115: allow subframe inputs
* BSNESv115: Implement ICycleTiming
may be correct, not sure
* BSNESv115: add dedicated subframe core
I have probably overlooked something...
* Don't implement ICycleTiming in the non-subframe core
requires re-implementing the "FrameAdvance" function in the subframe core
* Register previously missing services in the subframe core as well
* Wire up SubBsnes everywhere in the frontend
* Change reset cycle to reset instruction
* Deduplicate some code
* Slightly rework frame advance logic. The main intent here is to prevent a case where two frames are ran within a single "frame." The current code probably wouldn't crash due to that, but best not to do that.
Also make SGB work here. A bit of a joke since you really can only abuse it for subframe resets, but might as well especially with the settings implying it's possible (and someone is bound to complain).
Co-authored-by: CasualPokePlayer <50538166+CasualPokePlayer@users.noreply.github.com>
2022-08-10 23:08:44 +02:00
CasualPokePlayer
1a27aae45b
update sameboy
2022-08-10 12:34:46 -07:00
CasualPokePlayer
afb0b8a435
maybe fix tests?
2022-08-10 02:55:01 -07:00
CasualPokePlayer
5be8b0aab9
Zstd Compression ( #3345 )
...
Deflate compression in rewinder is now zstd compression
Binary blobs in zip files are zstd compressed (text is uncompresed for user ease).
All wbx cores and resources are re-compressed with zstd, wbx build scripts are changed to account for this. Shaves off a bit with download size and it's faster to decompress to.
2022-08-09 23:33:28 -07:00
CasualPokePlayer
32e8afcedc
Implement hardware accelerated CRC32 and SHA1, using them if possible ( #3348 )
...
* Implement hardware accelerated CRC32 and SHA1, use them if possible.
CRC32's generic function is also replaced with zlib's as it is much more performant than our implementation
Full hash of a ~731MB disc took only ~369 ms with this, and the generic CRC32 isn't so far behind at ~659 ms
SHA1 should perform 4x faster if the user's CPU supports the SHA instructions.
Co-authored-by: YoshiRulz <OSSYoshiRulz@gmail.com>
Co-authored-by: Morilli <35152647+Morilli@users.noreply.github.com>
2022-08-09 23:30:17 -07:00
YoshiRulz
0236a820ec
Unindent `RomLoader.MakeGameFromDisc`
2022-08-06 09:22:51 +10:00
YoshiRulz
8f153fd503
Restore PS2 sysID and add some others from RomLoader
2022-08-06 09:22:51 +10:00
CasualPokePlayer
5cd37c76b2
dobie removal cleanup
...
fixes 89972a3579
2022-08-05 03:32:09 -07:00
YoshiRulz
1452f831af
Fix Lua Wiki export, add more notes to fill in some of the holes
...
frameadvance loop is documented now so for the first time you can write a script
without reading someone else's :O imagine that
2022-08-05 11:41:24 +10:00
YoshiRulz
7bb4b28093
Remove dumb in `MainForm.WindowTitle` so you can see FPS w/ chromeless
...
(window title is shown in the toolbar / application switcher on Win and Linux)
2022-08-05 07:23:43 +10:00
YoshiRulz
22a328cd36
Remove unused service props
...
unused since 1ce8a368d
and 70e0954f2
, respectively
2022-07-30 09:26:18 +10:00
YoshiRulz
5c48cb96fd
When starting new `.tasproj` from SaveRAM, don't clone array twice
2022-07-30 09:26:06 +10:00
CasualPokePlayer
d3c42f5dfc
Only shift right by 1 for volume with Gambatte, sounds very close to SameBoy, probably resolves #3338
2022-07-28 17:27:30 -07:00
YoshiRulz
ccc11be896
Explicitly discard required-but-unused `IStatable` service prop
2022-07-28 05:51:38 +10:00
YoshiRulz
787b413913
Change Basic Bot's addresses to `ulong?`
...
fixes empty address fields being saved as `0x0`, see #3326
2022-07-28 05:48:05 +10:00
YoshiRulz
5f572442c4
Save game info to `.bot` files and check when loading ( resolves #3340 )
2022-07-28 05:27:13 +10:00
YoshiRulz
140e340a8d
Add Analyzer rule to warn of `FirstOrDefault` on list of structs
2022-07-28 03:06:01 +10:00
YoshiRulz
8453c0e44d
Fix exception on opening Play Movie dialog with multiple movies
...
fixes 9211007a1
2022-07-27 05:08:33 +10:00
YoshiRulz
bd58bde07c
Hopefully block edge cases where global `GameInfo` is uninitialised
...
`Game == null` conditions in `MainForm` ctor looked unreachable, so I changed
them to `Game.IsNullInstance()` which is what I assume was intended, and added
an assert to `RomLoader` in case a bug is introduced later
2022-07-26 07:59:57 +10:00
CasualPokePlayer
d84da4ec4b
wire up sameboy's rumble
2022-07-25 00:10:46 -07:00
YoshiRulz
8dcea24703
Fix `GameInfo.NullInstance` having a name... why did it have a name
2022-07-25 11:15:19 +10:00
YoshiRulz
d796210437
Cancel tool loading when services aren't satisfied ( fixes #3329 )
...
also cleaned up other calls
2022-07-25 10:52:02 +10:00
YoshiRulz
070e7035b3
Ensure there can be no edge cases involving SGXCD sysID
...
breaks config, in case you care about setting a custom save dir for PCE
2022-07-25 08:15:24 +10:00
YoshiRulz
3d42b19797
Pass `VSystemID.Raw.NULL`, not `null`, for `SystemId`
2022-07-25 08:15:17 +10:00
CasualPokePlayer
cb468ba806
pull in latest sameboy master, add stub camera pixel callback to prevent nondeterminism, wire disabling joypad bounce as a sync setting, various cleanup
2022-07-24 04:35:03 -07:00
zeromus
e2a36c7242
DisplayConfig defaults button should whack the padding back to 0
2022-07-22 16:38:42 -04:00
zeromus
3b181ba6e4
DisplayManager - fix crashes when setting absurdly large padding values ( fixes #3321 )
2022-07-22 16:09:49 -04:00
tom_mai78101
6eafdf7156
Fixed issue where the Copy button in Basic Bot is not toggled on/off properly.
...
If the Copy button is enabled, but there is no best attempt recorded, it will crash BasicBot / EmuHawk if it attempts to copy a null Log of the best attempt.
2022-07-23 05:49:50 +10:00
CasualPokePlayer
d8fc32f1a8
[mGBA] Add in missing save types
2022-07-21 15:38:59 -07:00
YoshiRulz
0f6e6a5a03
Enable MA0084 and fix noncompliance (except in Cores)
...
"Local variable should not hide other symbols"
2022-07-22 07:28:32 +10:00
YoshiRulz
d142555ec3
Enable MA0066 and fix noncompliance
...
"Hash table unfriendly type is used in a hash table"
2022-07-22 07:28:31 +10:00
YoshiRulz
41d46dd37d
Fix `%recent%` in Paths config
...
broken since introduction in 017743133
(pre-1.0 according to GitHub)
also enabled MA0052 "Replace constant Enum.ToString with nameof", which is what
tipped me off to this
2022-07-22 07:28:25 +10:00
YoshiRulz
9211007a18
Fix bug in `PlayMovie.PreHighlightMovie` heuristics
...
for the record, the bug was that it had `_movieList[indices[0]]` in the loop
instead of `_movieList[indices[i]]`
2022-07-22 05:06:05 +10:00
YoshiRulz
3f2a07e582
Fix remaining MA0098 code style warnings
...
"Use indexer instead of LINQ methods"
fixes 17df5673d
, forgot I was in the middle of this when I pushed
2022-07-22 04:51:56 +10:00
YoshiRulz
17df5673d2
Enable MA0098 and fix noncompliance
...
"Use indexer instead of LINQ methods"
2022-07-22 03:51:47 +10:00
YoshiRulz
ee11385f10
Enable MA0031 and fix noncompliance
...
"Optimize Enumerable.Count() usage"
2022-07-22 03:51:47 +10:00
YoshiRulz
b1ad34839a
Enable MA0029 and fix noncompliance
...
"Combine LINQ methods"
2022-07-22 03:51:47 +10:00
YoshiRulz
26b6a1c4a9
Enable MA0020 and fix noncompliance
...
"Use direct methods instead of LINQ methods"
2022-07-22 03:51:47 +10:00
YoshiRulz
697c10e3e6
Enable MA0015 and fix noncompliance
...
"Specify the parameter name in ArgumentException"
needed to update package because this rule was broken until now
2022-07-22 03:51:46 +10:00
YoshiRulz
92c4714be1
Enable CA2208 and MA0043 and fix noncompliance
...
"Instantiate argument exceptions correctly" and
"Use nameof operator in ArgumentException"
2022-07-22 03:51:45 +10:00
YoshiRulz
5a8a24e936
Enable MA0054 and fix noncompliance
...
"Embed the caught exception as innerException"
2022-07-22 03:51:43 +10:00
YoshiRulz
8ac4dabaf7
Enable MA0012 and MA0014 and fix noncompliance
...
"Do not raise reserved exception type" and
"Do not raise System.ApplicationException type"
now mostly compliant with
https://docs.microsoft.com/en-us/dotnet/standard/design-guidelines/using-standard-exception-types
2022-07-22 03:51:43 +10:00
YoshiRulz
a2fef59fe1
Add Analyzer rule to prohibit `typeof(T).ToString()`
2022-07-22 03:51:43 +10:00
YoshiRulz
f3f90a4cd5
Add Analyzer rules to prohibit `this.GetType()`
...
seriously Meziantou is a godsend
2022-07-22 03:51:42 +10:00
YoshiRulz
4956bae3a2
Improve error message for `IToolFormAutoConfig` ext. tool missing menu
2022-07-22 02:02:01 +10:00
CasualPokePlayer
480ce3b925
fix minor miscompilation of gambatte-linux, update LibGambatte to reflect API changes wrt CameraCallback
2022-07-20 23:35:29 -07:00
YoshiRulz
9bb96fbadc
Update doc comments to reflect thrown exception change
...
fixes 4f98733c2
2022-07-19 03:20:43 +10:00
YoshiRulz
6b325ff56c
Refactor `BasicBot.IsBetter`
2022-07-18 18:22:59 +10:00
Thompson Lee
008a5953f6
Fixed code logic error in BasicBot
...
It was comparing with itself when it's comparing the Tie Breaker 3 value.
2022-07-18 17:33:41 +10:00
nattthebear
89972a3579
Remove dobie core
...
This never really worked. Besides being unusuably slow and not very accurate, there was a miscompliation problem that caused release builds to not function.
2022-07-17 15:02:42 -04:00
CasualPokePlayer
8289c1051b
add hash for newly discovered GBC-GBA bootrom
2022-07-16 22:03:47 -07:00
YoshiRulz
aa708992e9
Use nicer error message for starting MAME in non-MAME build
2022-07-16 16:25:59 +10:00
tom_mai78101
efbef0bbda
Fixed Basic Bot anchor points.
...
Also fixed a misaligned label.
2022-07-16 16:20:39 +10:00
tom_mai78101
e2fb6017b7
Added missing NOT operators from the dropdown menu.
2022-07-16 16:11:16 +10:00
YoshiRulz
94e85f1079
Set `Form.Owner` to MainForm for Lua-made forms
2022-07-15 22:26:08 +10:00
YoshiRulz
3fddcdb2c5
Add Analyzer rule to enforce throwing in `[FeatureNotImplemented]`
2022-07-15 22:22:28 +10:00
YoshiRulz
6b4e526a44
Actually run all the Analyzers for ext. tools, update Analyzers
...
fixes 6f372820a
2022-07-15 22:22:19 +10:00
tom_mai78101
ece2d8d68c
Added NOT operator to Basic Bot.
2022-07-15 16:02:00 +10:00
YoshiRulz
5379de9a6e
Enable MA0019 and fix noncompliance
...
"Use EventArgs.Empty" (instead of ctor)
2022-07-15 09:34:52 +10:00
YoshiRulz
4f98733c29
Add Analyzer to enforce exception type for default switch branches
2022-07-14 23:46:34 +10:00
YoshiRulz
90fe31529e
Replace `InvalidDataException` with `InvalidOperationException`
...
This should be safe because we never filter caught exceptions by this type. I
assume these were all typos, this exception has something to do with Streams.
2022-07-14 23:46:34 +10:00
CasualPokePlayer
f8c847af40
add missing TMD for Zombie Skape, improve error message when TMD cannot be found
2022-07-13 14:27:41 -07:00
YoshiRulz
a7db24490c
Enable BHI1002 and fix noncompliance
...
"Do not use anonymous types (classes)"
2022-07-14 04:26:28 +10:00
YoshiRulz
eb4e8d6cd7
Change return type of `IEmulationApi.Disassemble` to tuple
2022-07-14 04:26:28 +10:00
YoshiRulz
056db314d4
Enable BHI1001 and fix noncompliance
...
"Do not use anonymous delegates"
2022-07-14 04:26:27 +10:00
YoshiRulz
395aa0755b
Add `BizHawk.Analyzer` project
2022-07-14 04:26:27 +10:00
YoshiRulz
6f372820a7
Allow C# 10 in satellite projects, enable Analyzers on ext. tools
2022-07-14 04:26:27 +10:00
YoshiRulz
0405e6399d
Add `Meziantou.Analyzers` NuGet package
2022-07-14 04:26:27 +10:00
YoshiRulz
6077bcf5af
Enable "strict" compiler flag and fix noncompliance
...
couldn't find official docs for this, but I got it from:
https://www.meziantou.net/csharp-compiler-strict-mode.htm
and it definitely does SOMETHING
2022-07-14 04:26:27 +10:00
Moritz Bender
e4fafa6cb7
fix keylog not being respected ( #3274 )
...
resolves #2843
2022-07-10 16:47:58 +02:00
tom_mai78101
1948721991
Increased Basic Bot max frames from 999 to 9999.
2022-07-10 10:28:20 +10:00
Morilli
4e7b003306
-_-
...
this shouldn't be necessary imo, but oh well
2022-07-09 02:45:14 +02:00
Thompson Lee
2308ba1ecc
Added "Clear Output" button to Lua Console (squashed PR #3307 )
...
* Added "Clear Output" button to Lua Console tool.
* Swapped out indentation from tabs to space from Line 248 through 249 for consistency.
* Swapped out indentation from tabs to spaces for consistency.
* Added a custom "Clear Console" icon to Bizhawk.
2022-07-08 14:03:13 +10:00
Morilli
bdcd37215c
Fix outstanding issues from 011f4bfe03
2022-07-07 07:17:49 +02:00
CasualPokePlayer
0d3c7b7e0c
[Libretro] Implement SET_SYSTEM_AV_INFO and SET_GEOMETRY
2022-07-06 14:52:28 -07:00
Morilli
799dc4a2f0
Prevent CoreSettings->Recent menu flying in
2022-07-06 21:58:59 +02:00
CasualPokePlayer
8642513572
sameboy color correction option, make default for gambatte
2022-07-06 00:12:28 -07:00
CasualPokePlayer
e41d1a996e
fix gpgx_swap_disc, re-enable disk buttons (seems to work?)
2022-07-03 23:17:08 -07:00
Morilli
011f4bfe03
Further imrpove RamSearch performance
...
- switch _watchList from a List to an array
- more Domain.EnterExit usage
2022-07-04 07:09:53 +02:00
CasualPokePlayer
9e90290b87
make MemoryDomain implement IMonitor (default is no-op Enter/Exit), cleanup, remove wrapper use (has a lot of churn itself), probably better performance with bulk functions
2022-07-03 20:19:53 -07:00
Morilli
fe22d61b3a
Save Monitor for all Monitor MemoryDomains
...
appends 596bd03ebe
for speedup for those domains
2022-07-03 23:48:48 +02:00
CasualPokePlayer
596bd03ebe
expose a possible IMonitor for memory domains, use it to speed up RAM Search for waterbox cores (25-30% speedup?)
...
see #3296
2022-07-03 13:18:09 -07:00
YoshiRulz
f1162d4912
Rename (copy+deprecate) `RomWhitelist`-->`RomList`
2022-07-03 23:13:08 +10:00
feos
806830c314
nymashock: resolve !s and hide some columns in tastudio
2022-07-03 13:11:11 +03:00
feos
318c1a7fea
tastudio: don't autorestore if current frame remained valid
...
1b8b4b4926
removed an important bit of logic that set `_triggerAutoRestore` to false in certain cases. but simply putting the same line back there doesn't fix the problem, probably due to major refactorings over the years. so I'm adding it right into `GoToLastEmulatedFrameIfNecessary()` which is still called properly when it's needed. `JumpToGreenzone()` is kinda redundant now since it contains the same check, but it's used from the outside, and I didn't feel like refactoring this part.
2022-07-03 00:00:41 +03:00
Thompson Lee
369bdbe9a6
Fixed the "To PC" button not updating the disassembler view (squashed PR #3299 )
...
* Fixed the "To PC" button from not updating the disassembler view in the Debugger window.
* Fixed the calls being reversed, per feedback.
2022-07-02 14:39:03 +10:00
YoshiRulz
206dcaf49b
Refactors for selection in `InputRoll`
...
also standardises behaviour of Select All and Insert Separator buttons
see e88fa8135
2022-06-30 16:46:28 +10:00
Thompson Lee
e88fa81358
Added Select All/None to RAM Search (squashed PR #3295 )
...
* Added the ability to select all addresses / deselect all addresses in the RAM Search window.
* Fixed logic error. This now makes more intuitive sense, in that, if a portion of the rows were selected, and you do Select All, it should select the unselected rows along with the selected rows.
* Simplify condition
Co-authored-by: YoshiRulz <OSSYoshiRulz@gmail.com>
2022-06-29 23:16:46 +10:00
tom_mai78101
a86591c595
Fixed RAM Watch not having CTRL+A working properly.
2022-06-28 15:41:31 +10:00
CasualPokePlayer
d9c828ef57
deterministic emulation means not real time
2022-06-27 20:16:34 -07:00
CasualPokePlayer
13456e51bf
AppleII - make clock registers deterministic if needed
...
also don't state monochrome (non-sync setting? todo: verify)
2022-06-27 18:33:31 -07:00
CasualPokePlayer
b730af7b73
the . is neccessary also make it case insensitive
2022-06-27 14:39:10 -07:00
CasualPokePlayer
c3047bfad9
ensure only .rom files are loaded into msx (other file formats aren't actually supported)
2022-06-27 14:33:13 -07:00
CasualPokePlayer
948049bb20
dont byteswap gpgx Z80 domains, fixes #3290
2022-06-25 14:36:33 -07:00
CasualPokePlayer
2ac765b000
small adjustments to melon tracer
2022-06-24 20:10:21 -07:00
CasualPokePlayer
347fa24820
split arm7 polling/touch screen polling to a new "alt lag" variable and add a setting for whether to consider these sources ( fixes #3278 )
...
add in new disasm system (taken from https://github.com/MAP233224/dthumb ), works much better than darm
2022-06-24 01:34:01 -07:00
CasualPokePlayer
d3d90eb70d
fix #3287
...
There are still some unanswered related questions here wrt API, but this should suffice in any case.
2022-06-24 01:17:51 -07:00
CasualPokePlayer
4df256cd6b
AppleII - State keyboard, fix up csproj
2022-06-23 22:01:07 -07:00
James Groom
1c504bfe83
Delete packages.config
2022-06-23 09:22:24 +10:00
YoshiRulz
1241758ecb
Make `Disc.IsValidExtension` helper case-insensitive
2022-06-20 10:02:20 +10:00
Morilli
fea85649bb
Fix tasproj version writing not using invariant culture
...
generated "v1,1" for me
not a big issue in practice as it was already handled, but better to fix
2022-06-19 21:49:19 +02:00
YoshiRulz
5afb6ca454
Fix call order in `SMSControllerDeck` ( fixes #3282 )
...
fixes 0719d6f9d
2022-06-19 09:43:58 +10:00
Morilli
20acbe5798
BSNESv115: Clarify port input device enums
...
also fix the partial bsnescore files not being dependent on the main one
2022-06-18 08:30:43 +02:00
CasualPokePlayer
170ea47464
wire up reset button for tic80 and make biz_time_rm tick post frame
2022-06-16 15:56:34 -07:00
CasualPokePlayer
e021e8bc66
actually add the path for TIC80
2022-06-16 14:11:05 -07:00
CasualPokePlayer
27d945bb04
proper paths and setting everywhere inclusion for tic80
2022-06-16 14:05:43 -07:00
CasualPokePlayer
84af66f523
fix TIC80 inputs, wire up time/clock callbacks
2022-06-16 13:01:50 -07:00
Morilli
1d4e7dd3fb
BSNESv115: Improve the payload controller, fix VirtualPad
...
The payload controller now acts like a multitap with 4 extra buttons per controller (it is already implemented that way in the core), which also eases actual use of it
- also fixes broken VirtualPad behavior
- rename some variables for clarity
2022-06-16 17:43:57 +02:00
Morilli
363afcd551
BSNESv115: better define allowed input devices for port 1
...
- also allows the multitap and payload controller to be used, as it makes sense
2022-06-16 17:40:29 +02:00
CasualPokePlayer
2c3b6b3cd4
ti80 core
2022-06-16 00:14:48 -07:00
YoshiRulz
aa099e0941
Adjust wording on frame counter and lag frame counter options
2022-06-16 10:01:37 +10:00
YoshiRulz
2e46d13980
Add missing system display names, add MSX to rom file ext. filters
2022-06-15 07:44:51 +10:00
CasualPokePlayer
8a8ea202fd
Revert "fix bsnes controller config"
...
This reverts commit e43c5296a6
.
2022-06-12 20:20:28 -07:00
CasualPokePlayer
e43c5296a6
fix bsnes controller config
2022-06-12 19:50:42 -07:00
YoshiRulz
e7e5ea1509
Fix Win10 version check AGAIN ( resolves #3270 , #3272 )
...
fixes 587855522
2022-06-13 11:43:13 +10:00
YoshiRulz
5878555221
Refactor Windows version check, enable warning ( resolves #2972 , #3194 )
2022-06-11 06:11:04 +10:00
YoshiRulz
a98e3f3610
Touch-up for `RecordMovie` Mono hack
2022-06-10 09:30:12 +10:00
YoshiRulz
2d015515b2
Move MainForm's Save Window Position to DisplayConfig, add Stay on Top
2022-06-10 05:40:41 +10:00
CasualPokePlayer
0174abde65
resolve Karate a2600 crash ( closes #1524 )
2022-06-07 09:43:37 -07:00
YoshiRulz
af73f87e8f
More settings anywhere cleanup
2022-06-08 01:06:05 +10:00
CasualPokePlayer
c1ff3072e0
allow neshawk/subneshawk/quicknes/octoshock settings to be edited without the core loaded
...
this makes all cores (except MAME) able to have their settings edited without the core loaded
2022-06-06 19:08:51 -07:00
CasualPokePlayer
6b90737813
fix be4089eb08
...
names are annoying
2022-06-06 11:53:44 -07:00
CasualPokePlayer
be4089eb08
fix possible InvalidOperationException for a7800 settings (GetSettingsAdapterForLoadedCore to GetSettingsAdapterFor)
...
allow old bsnes and bsnes main settings to be edited without the core loaded
2022-06-06 10:17:08 -07:00
CasualPokePlayer
0957095e2b
fix tabbing in gb config designer files
2022-06-06 09:07:34 -07:00
CasualPokePlayer
d0383d1e9d
allow editing gambatte/gambattelink settings without the core loaded
2022-06-06 09:04:38 -07:00
CasualPokePlayer
34d794b368
Support editing nyma settings without the core loaded ( #3263 )
...
* support editting nyma settings without the core loaded
the details are icky here. info on the settings is stored in the core. so no matter what a core instance is needed
now settings info here should be constant for a given core, so we can cache settings info after the core has been loaded and use that
if in the case the user wants to edit the settings but the core has never been loaded, a minimal load will be done to obtain the settings (and cache them) and quickly dispose thereafter
await users complaining about a "lag spike" first time opening nyma settings menu
* consolidate WaterboxOptions creation for Nyma
2022-06-06 07:26:21 -07:00
YoshiRulz
7999407089
Remove debug menu item for reproducing #2805
2022-06-04 21:40:56 +10:00
YoshiRulz
8869570bcf
Resolve TODOs re: prompting to reboot core when not applicable
2022-06-03 02:41:41 +10:00
YoshiRulz
c70e87af2e
Reorder `Config` > `Preferred Cores` submenu
...
specifically, alphabetise sysIDs and move "GB in SGB" below separator
2022-06-03 02:26:07 +10:00
YoshiRulz
c93179e110
Indicate that only Lua mem callbacks get args, not input (yet)
...
see #3233 , fixes d829f19bc
, 8385337e7
2022-06-03 02:12:45 +10:00
James Groom
dd897b659c
Bump version
2022-06-02 21:29:28 +10:00
CasualPokePlayer
53b4e8a1bc
virtualboyee is nyma now, it needs the core active for settings to be changed
2022-05-31 21:58:17 -07:00
YoshiRulz
f5d8c0fb1e
Use 3-button Genesis gamepad by default ( fixes #2775 , #3262 )
2022-05-31 05:13:16 +10:00
YoshiRulz
7f87cc258f
Honour `$BIZHAWK_DATA_HOME` when downloading FFmpeg
...
also stop looking for `/ffmpeg.exe` in DiscoHawk when it's always downloaded to
`/dll/ffmpeg.exe`
2022-05-31 01:44:51 +10:00
YoshiRulz
b8d5dd8990
Handle `$BIZHAWK_DATA_HOME` nicely instead of w/ a hack in `Database`
2022-05-31 01:36:38 +10:00
feos
6d726a1029
depend on versioned ffmpeg release instead of nightly ( #3259 )
...
* depend on versioned ffmpeg release instead of nightly
* Use 4.4.1, fix download/extract on Linux
* update windows build link
Co-authored-by: YoshiRulz <OSSYoshiRulz@gmail.com>
2022-05-30 14:45:17 +03:00
CasualPokePlayer
258e895dfb
fix vb schema, add in new vb buttons to schema
2022-05-30 00:48:23 -07:00
CasualPokePlayer
892da6fee2
manually set the defaults for lcolor/rcolor/default_color for vb
...
our MDFN_GetSettingUI/MDFN_GetSettingI is set to assume base 10 instead of figuring out the format of the string, so the built in defaults dont work and always return 0
later MDFN_GetSettingUI/MDFN_GetSettingI should be made to be able to handle hex strings but this should suffice for now
2022-05-30 00:30:24 -07:00
CasualPokePlayer
58c28aefba
biz side nyma cd switching fix
2022-05-29 22:23:55 -07:00
CasualPokePlayer
43ffb63ede
bump version of all Nyma cores to 1.29.0
2022-05-29 20:03:24 -07:00