Commit Graph

18502 Commits

Author SHA1 Message Date
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 7acc9a0170
Omit EmuHawkMono.sh from builds for Windows, rename artifacts 2021-01-18 09:51:47 +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
feos ba3c2b275f move mgba to submodules folder 2021-01-18 00:29:38 +03:00
feos 2a9613c41e prepare mgba submodule move 2021-01-18 00:29:38 +03: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 28ff2231f2
Update mGBA Linux binary
Windows binary rebuilt in 78931e025
taken from https://gitlab.com/TASVideos/BizHawk-ports-CI/-/jobs/968003727
2021-01-17 23:31:12 +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
feos 78931e0256 update mgba to latest upstream master 2021-01-17 11:45:11 +03: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