Commit Graph

1726 Commits

Author SHA1 Message Date
YoshiRulz dbe2cd4cde
Cleanup <Reference/>s of NLua (and System.Data.SQLite) 2021-02-12 13:59:40 +10:00
YoshiRulz f8ba7ece7d
Have ControllerConfig not break when resized (resolves #2611) 2021-02-12 13:31:16 +10:00
zeromus 7f14991442 remove list of games in comments from that mapper. they were apparently all wrong; I have seen more updated data in nesdevwiki 2021-02-09 23:03:54 -05:00
zeromus 8254982003 neshawk: fix namco340 mapper's mirroring registers; fixes #2584 (wagyan land 2)
note: the nesdevwiki docs were a bit scrambled due to history. I found corroboration for my testing and updated the docs while fixing neshawk
2021-02-09 22:58:22 -05:00
YoshiRulz f2ff5ea4ee
Move FirmwareDatabase helpers into ctor, prevent mutating collections 2021-02-08 13:19:23 +10:00
YoshiRulz b2b5647e83
Use Option helper in FirmwareAndOption, then inline _OptionWork 2021-02-08 12:56:41 +10:00
YoshiRulz 144a8aafd0
Cleanup FirmwareDatabase init helpers
using the result of File in FirmwareAndOption is setting up for the next commit
2021-02-08 12:56:41 +10:00
YoshiRulz 6716c3fd8f
Inline FirmwareDatabase.LookupFirmwareRecord 2021-02-08 12:56:41 +10:00
YoshiRulz 33a788d74b
Don't populate 2 lists with the same data, move assertion to unit test 2021-02-08 12:56:41 +10:00
YoshiRulz 6db638236e
Hardcode uppercasing of firmware hashes, assert on format in unit test 2021-02-08 12:56:40 +10:00
YoshiRulz 4800fef65e
Cleanup dumb LINQ in FirmwareManager 2021-02-08 12:56:40 +10:00
YoshiRulz 7e2437b396
Typo fixes and other minor cleanups to FirmwareDatabase data
* fix desc+info of bad PSX BIOSes
* set FirmwareFile.Bad via param on File method
* use #if false instead of comment for what I assume is a debug BIOS for A7800
    * I think a single '!' boi will make that one take precedence
* remove duplicate NDS BIOSes which were commented-out
2021-02-07 23:22:19 +10:00
YoshiRulz b9e784e153
Replace broken hack with hardcoded data 2021-02-06 20:31:36 +10:00
YoshiRulz 643d7b12dd
Lock/unlock Lua drawing surface for event callbacks (fixes #2595) 2021-02-05 10:52:13 +10:00
YoshiRulz 9d1eaa6475
Prevent trying to use DirectInput on Linux (resolves #2607) 2021-02-05 07:06:17 +10:00
YoshiRulz 2b72eabdf9
Skip platform tests in CI 2021-02-03 12:38:47 +10:00
YoshiRulz fb03771bb7
Simplify tests for GetRelativePath and MakeRelativeTo 2021-01-31 11:17:17 +10:00
YoshiRulz 68659055cb
Add Unix implementation matching docs for GetRelativePath, add tests 2021-01-31 10:54:42 +10:00
YoshiRulz f26ba1dca5
Add tests for most of PathExtensions 2021-01-31 10:16:17 +10:00
YoshiRulz 6858a36552
Fix Unix implementation of GetRelativePath; expand on docs 2021-01-31 10:16:13 +10:00
YoshiRulz 20b93d4690
Fix Windows implementation of IsSubfolderOf 2021-01-31 10:16:08 +10:00
YoshiRulz 7763d7a1cd
Fix Unix implementation of IsSubfolderOf 2021-01-31 10:16:03 +10:00
YoshiRulz ec80d0fb1d
Add prop OSTailoredCode.IsWSL 2021-01-31 10:15:58 +10:00
YoshiRulz cb6f435f9a
Refactor Lua forms.setproperty
see #2602
2021-01-31 09:39:15 +10:00
YoshiRulz 7a91e54b7b
Set DialogResult in AutofireConfig
see #2599
2021-01-31 09:39:00 +10:00
YoshiRulz 4da8a85f8c
Fix missing access modifiers and misc. code style 2021-01-31 09:36:40 +10:00
zeromus f76f3d7eed add note about how limited the single instance commandline is 2021-01-27 04:28:14 -05:00
zeromus e57f4427b3 Revert "Grey-out checkbox for single-instance mode in Config > Customize..."
This reverts commit 496d6e0f94.
2021-01-27 04:26:04 -05:00
zeromus 2d847df848 nobody left a note about why this is needed for five years, so I decided it wasn't needed. It was added with fd6ac896 and seems to be related to the log console, which seems to work fine without it 2021-01-27 04:25:04 -05:00
zeromus d7ea21d0b6 redo single instance mode from scratch (fixes #2594) 2021-01-27 04:24:51 -05:00
YoshiRulz 4f1b240065
Temporary fix for GetRelativePath arguments until I can debug
see f79b7e5be, db74bd842
2021-01-26 12:48:30 +10:00
alyosha-tas db74bd8426 revert f79b7e5 , fixes multi disk bundler. This works on Windows, maybe linux needs a different implementation, but GetRelativePath appears tailored to Windows and had been working fine the original way. 2021-01-25 18:09:25 -05:00
alyosha-tas a759e26265 genesis vdp viewer, fix copy paste error, fixes #2596 2021-01-24 19:12:34 -05:00
YoshiRulz 416e9ffbb3
Fix code style (import order) 2021-01-25 06:07:39 +10:00
nattthebear adca19c30a
Remove icsharp (#2590)
Since .NET 4.5, there's been a good framework alternative, and it gets lots of eyes on it.  I've heard that it's quite fast in .NET Core too.
2021-01-23 09:14:51 -05:00
YoshiRulz e24709f8fb
Remove redundant attr class VideoWriterIgnoreAttribute 2021-01-23 17:12:31 +10:00
YoshiRulz a149b7e033
Cleanup instantiation of FFmpegDownloaderForm and FFmpegService 2021-01-23 17:01:54 +10:00
YoshiRulz 73a780674d
Add tests for decompressing/extracting archives 2021-01-22 08:22:58 +10:00
YoshiRulz acc187008f
Fill out SharpCompress archive file ext. list, adding .tar
SharpCompress claims to support .tar.bz2, .tar.gz, and .tar.lz, but I couldn't
get them to work. Left them in for later
2021-01-22 08:20:04 +10:00
YoshiRulz 0f21944755
Fix NRE when enumerating archive members to HawkArchiveFileItems
SharpCompress does this for .tar.gz it seems
2021-01-22 08:18:57 +10:00
YoshiRulz 0fd7154eec
Fix false positives, non-.tar flagged as .tar, from SharpCompress
Technically, the magic bytes are only found in modern revisions of the format,
but I'd say >99.9% of .tar archives we'll encounter are made with either
libarchive's bsdtar or GNU Tar.
2021-01-22 08:08:07 +10:00
YoshiRulz b4445c6f8f
Make SharpCompressArchiveFile throw on double Dispose 2021-01-21 22:54:34 +10:00
nattthebear dbe0229810
Use SharpZipLib for lsmv import instead of hawkfile (#2589)
Use the same library and ideas that savestate and movie loading use.
2021-01-21 07:50:50 -05:00
YoshiRulz 99d027cc63
Fix code style in dearchiver impl 2021-01-21 20:55:07 +10:00
nattthebear d3917de1b3 Make sound work correctly during clock throttle mode
Fixes #2580
2021-01-20 19:57:48 -05:00
zeromus 3c10a64fd5 re-enable .gz, apparently it works after all if you feed it a file that's actually a .nes.gz etc. 2021-01-20 15:51:02 -05:00
zeromus 6cc4b0e28f SharpCompressArchiveFile: fix support for solid rar 2021-01-20 15:22:03 -05:00
zeromus c5d908cc69 HawkFile: limit attempts to dearchive to files with extension .zip, .7z, .rar. fixes #2587 2021-01-20 15:20:55 -05:00
TiKevin83 95e1d5b956
Rename Alternate Sync (#2586)
* Rename Alternate Sync to describe what is alternate about it
* Add tooltip explaining Sync to Audio
2021-01-20 12:24:54 +03:00
YoshiRulz 1ccac956d8
Rearrange statements, preserving execution order 2021-01-20 16:34:25 +10:00
YoshiRulz 55e066a0cc
Use a consistent format for file extensions throughout HawkFile
also cleanup `Bind*` overloads
2021-01-20 16:31:09 +10:00
adelikat bf5833a1bf vecrex - report 50fps in play movie dialog 2021-01-18 17:24:16 -06:00
YoshiRulz 496d6e0f94
Grey-out checkbox for single-instance mode in Config > Customize... 2021-01-19 02:46:05 +10:00
YoshiRulz 6cffc9a7cd
Add core name and system readout to Emulation menu 2021-01-19 02:27:03 +10:00
YoshiRulz a0ebb2f551
Ensure surfaces are unlocked when disposing of GuiApi
actually properly fixes #2571 for real this time
2021-01-19 01:14:49 +10:00
YoshiRulz bba4286123
Dispose of disposable ApiHawk libs when reinitialising 2021-01-19 01:12:50 +10:00
YoshiRulz 5c89d0cb15
Cache ApiContainer instead of GuiApi in Win32LuaLibraries 2021-01-19 01:09:52 +10:00
YoshiRulz 253a24edd6
Pass tool.Config.PathEntryCollection instead of the whole tool 2021-01-18 14:49:31 +10:00
YoshiRulz ef76d8510e
Cleanup project files 2021-01-18 09:26:51 +10:00
YoshiRulz 8331ac799b
Update default hotkey bindings to use new names (fixes #2576)
fixes e2ac1aca8
2021-01-18 09:06:04 +10:00
YoshiRulz fa07dc898f
Remove single-instance feature (keeping config and UI) 2021-01-18 08:55:54 +10:00
adelikat 76b4ef6016 fix year in release date, doesn't matter for releases but dev builds might as well be accurate 2021-01-17 11:57:29 -06:00
James Groom 7749d02382
Refactor DisplaySurface locking as used by ApiHawk (and Lua) (#2575)
* Refactor how the "emu" drawing surface is automatically opened/closed

fixes #2571 again
`gui.DrawNew("native")` now throws (I will replace this with something better).
`gui.DrawNew("emu")` and `gui.DrawFinish()` do nothing but print warning
messages, for backwards compatibility. This removes the feature which allowed
scripts to draw as soon as they became enabled. It also removes the feature to
draw without clearing the surface, though that wasn't working.

* Reimplement drawing to "client" surface (see desc.)

Changed surface names in APIs to "emucore" and "client" (not in DisplayManager
yet because I can't be bothered).
Via ApiHawk, `IGuiApi.WithEmuSurface(Action)` has been replaced with
`IGuiApi.WithSurface(DrawingSurfaceID, Action)`, the first param being an enum.
Via Lua (or ApiHawk), pass an extra string param (`DrawingSurfaceID` enum for
ApiHawk) to each `gui.draw*` call.
To make it less verbose, omitting the param is treated as using the default
"emucore" surface, *unless* the helper `gui.use_surface("client")` had been
called, which persists the chosen surface until Lua restarts or it's
overwritten. (The same is done when using `WithSurface` in ApiHawk, though it's
cleared once `WithSurface` returns.)
Along with the new surface names, the old names are still valid in the `surface`
params and `gui.use_surface` for now.

* Propogate enum to DisplayManager, s/Lua/ApiHawk/ in DisplayManager
2021-01-17 11:16:48 -06:00
adelikat 58d24cd899 update release version and date 2021-01-17 10:44:21 -06:00
nattthebear 070cc59dbf NES: Fix battery backup in certain bootgod identified games
If the wram with the battery backup on it is internal to the mapper asic, and not a separate ram chip, bootgod will have <chip battery=1> and not <wram battery=1>.  Fixes #2570.
2021-01-17 09:06:33 -05:00
YoshiRulz b8a0720121
Remove old ext. tool attributes and the code using them
it just detected old tools and displayed a specialised error message
2021-01-17 23:44:34 +10:00
YoshiRulz db7150642a
Remove ClientApi, deprecated in favour of IEmuClientApi 2021-01-17 23:35:05 +10:00
YoshiRulz 476eafc66f
Slightly change wording on prereq checker error message 2021-01-17 23:32:20 +10:00
YoshiRulz 742f182c32
Remove unnecessary clearing of dict entries in joypad Lua lib
this was done long enough ago (78d8effcf) that I'm going to assume it was a
workaround for a problem which has since been fixed
2021-01-17 23:16:30 +10:00
adelikat 187cf46670 Revert "Repair the mental damage with ZwinderStateManager having a method called HasState that doesn't actually tell you whether it has a state"
This reverts commit 7204eeb533.
2021-01-16 18:48:19 -06:00
nattthebear 7204eeb533 Repair the mental damage with ZwinderStateManager having a method called HasState that doesn't actually tell you whether it has a state
Reverts commit 4a58ff2a0c and instead updates ZwinderStateManager to use what apparently is the correct (?) way to tell whether a state is had.
2021-01-16 19:26:06 -05:00
SuuperW c218cf302f MelonDS: fix system bus reporting itself as big endian when it isn't (and 4-byte read/write methods) 2021-01-16 13:59:31 -06:00
adelikat de0d0d19e2 Revert "Remove GuiLibrary from Win32LuaLibraries (fixes #2571)"
This reverts commit 9cca7c4a31.
2021-01-16 13:15:27 -06:00
adelikat 4a58ff2a0c Tastudio - rework StateHistory integrity check to not use HasState() removing any possibility of a cache mismatch causing a false positive of a bad savestate 2021-01-16 13:15:02 -06:00
YoshiRulz 9cca7c4a31
Remove GuiLibrary from Win32LuaLibraries (fixes #2571)
Wrapping draw calls in DrawNew/DrawFinish is the responsibility of the script
author. This removes the feature which allowed scripts to draw as soon as they
became enabled. see also #2501 (still broken)
2021-01-17 04:25:45 +10:00
adelikat c28a12a410 fix previous commit, new up a new state manager, also pop up a message to the user. Anyone can feel free to improve the error message 2021-01-16 11:12:20 -06:00
adelikat 2f6bbd155f add natt suggestion of a try/catch attempts to load tasproj greenzone, puts a big ol piece of duct tape on the real problem but at least users can continue to use their file, fixes #2479 about as well as we can since we have no info as to how the greenzone got corrupted in the first place 2021-01-16 11:00:30 -06:00
SuuperW 97e4d42b7b TAStudio macros: fix regression from commit 5bbdf2a caused by bad order of operations (remove ?? operator entirely since we have already checked that the values exist) 2021-01-16 10:10:34 -06:00
SuuperW dda09dd713 MovieZone: refactor constructors, reducing duplicate code (fixes regression from commit aa80c3a) 2021-01-16 10:10:34 -06:00
SuuperW 2834f8aa39 TAStudio:
-Dis/enable recent macros menu along with other macro menu items.
-Remove redundant code from commit 350724a, make use of existing method.
-Fix regressions from commits 0d72cd9 and cb912be in said method.
2021-01-16 10:10:34 -06:00
SuuperW 4d06fb1fde TAStudio: don't rely on a broken instance of a tool form for macro saving/loading 2021-01-16 10:10:34 -06:00
alyosha-tas 5641757b98 Bounds check index on background color check, fixes #2572 2021-01-16 09:26:33 -05:00
SuuperW 26fb9b9694 InputRoll: fix comparing of cells with null column names 2021-01-15 17:47:57 -06:00
SuuperW 764f4ad81e InputRoll: fix right-click cell selection (use OnMouseMove instead of a separate logic that was being used purely because MouseMove wasn't being triggered, display the new selection so the user knows what's up, invoke SelectedIndexChanged event) 2021-01-15 17:42:49 -06:00
YoshiRulz 3ccd10bb36
Add missing access modifier 2021-01-16 07:35:55 +10:00
SuuperW f2747b31b0
add an option to capture the Lua without capturing the full OSD, when… (#2527)
* add an option to capture the Lua without capturing the full OSD, when recording an AVI

* revert designer changes from commit 146022c not related to the new CaptureLuaMenuItem

* improve code readability
2021-01-15 15:03:46 -06:00
SuuperW 889d3262b1
Input roll scrolling (#2528)
* Change the BranchView's ScrollSpeed property to 1. The MarkerControl's is 1, and I assume that ScrollSpeed used to be pixel-based and the value of 13 is an accidental left-over.

* Standard behavior for scroll bars across a majority of other applications is for the up/down buttons to scroll 1 unit at a time while wheel may scroll multiple units at a time. So, do this. (Previous behavior was that both methods of scrolling would scroll by the same amount.)
2021-01-15 15:03:18 -06:00
SuuperW b3e69782dd
Drive states2 (#2542)
* Expose new backing store type functionality for ZwinderBuffer.

* implement drive states for reserved states

* Include version numbers in Zwinder custom file formats, and for newer files rely on the separately loaded settings. With this, TempFile store types are supported when saving/loading.
2021-01-15 15:02:00 -06:00
SuuperW 6c5447f5da
ZwinderStateManager: Use the gap buffer for forced capture to avoid crowding the "current" buffer and thus reducing it's actual span of covered frames. (#2569)
also remove a redundant conditional
2021-01-15 14:54:47 -06:00
SuuperW 961e7f2808 move this piece of init code; fixes: opening TAStudio after starting a .tasproj would fail 2021-01-15 11:52:04 -06:00
SuuperW 302cda6d17 ZwinderStateManager: don't erase states that should be reserved! 2021-01-15 11:36:35 -06:00
SuuperW 69af966a2d TAStudio undo history form: make use of TAStudio methods, so that rewinds necessary to stay inside the greenzone happen. (also refresh after "to here" un/redo) 2021-01-15 11:16:23 -06:00
SuuperW b6d77586af Do not attempt to remove what isn't there. (fixes: removing a marker before a state was reserved would throw an exception.) 2021-01-15 09:38:08 -06:00
nattthebear 6424e35c6a Revert "Replace unnecessary init props w/ ctors, remove hack for init props"
This reverts commit af8a330422.

I like the `init;` feature in modern C# and see it as an improvement on constructor parameters for initializing immutable "data" classes.  Feel free to disagree in code you maintain.
2021-01-15 08:47:09 -05:00
YoshiRulz dd39e95be6
Fix passing the wrong string as param for Bk2LogEntryGenerator ctor
fixes 0d2f01462, see #2567
not sure if the fallback in LogGeneratorInstance is a good idea but it works
2021-01-15 22:44:39 +10:00
YoshiRulz 85f24ca486
Remove file extension check from SharpCompressDearchivalMethod
caused .lsmv to not be recognised (it's .zip), wasn't strictly necessary anyway
2021-01-15 22:14:43 +10:00
YoshiRulz af8a330422
Replace unnecessary init props w/ ctors, remove hack for init props 2021-01-15 21:39:43 +10:00
alyosha-tas 7f0947108c Fix importing DSM files, fixes #2114 2021-01-14 21:32:47 -05:00
nattthebear 7a5408995e sameboy: a bit more cleanup with the printer callback 2021-01-14 19:24:06 -05:00
nattthebear 6981dc781b Make a few small GBHawk cleanups I forgot from the other commit
No need to preemptively LockGPU before calling a scanline callback, that all Just Werkz now.
2021-01-14 19:20:20 -05:00