adelikat
9faa159647
Rewind settings cleanup, make default buffer size 512mb
2020-06-19 15:19:50 -05:00
adelikat
d431947d4e
rewind config cleanup
2020-06-19 15:14:11 -05:00
adelikat
392611d6c6
Rewind - rename Small state enable to just enabled
2020-06-19 15:09:59 -05:00
adelikat
c83027b817
remove medium and large state enabled rewind options
2020-06-19 15:05:49 -05:00
adelikat
6b514293ff
Rewind - remove speed multiplier option, very redundant given that speedup and turbo calculate toward rewind speed
2020-06-19 15:02:03 -05:00
adelikat
6440d92a34
remove rewind frequency settings
2020-06-19 14:57:09 -05:00
adelikat
63533888ad
Rewind config - remove on disk option
2020-06-19 14:47:25 -05:00
adelikat
9d17cd40e8
Rewind - remove ability to define Small, Medium, Large state sizes
2020-06-19 14:45:08 -05:00
adelikat
a58a10e633
remove rewind threading config option
2020-06-19 14:37:36 -05:00
adelikat
270d03bf40
rewind - change UseDeltaCompression to UseCompression
2020-06-19 14:35:55 -05:00
adelikat
dec20a4683
remove old rewinder code
2020-06-19 14:10:06 -05:00
adelikat
84c691021b
settings hacks - actually map compression to a compression settings, give rewind an "off" switch, hacked to small states for now
2020-06-19 14:05:38 -05:00
adelikat
02a2efbed1
oopsies
2020-06-19 14:05:38 -05:00
adelikat
7dd78a9fa4
zwinder - hack in some settings from the ui
2020-06-19 14:05:38 -05:00
nattthebear
3b8e0ce39d
Zwinder: Don't tell the mainform we're rewind-state-capping every 0 frames, that's just silly
2020-06-19 14:05:38 -05:00
nattthebear
1121d430f4
zwinder: add optional compression
2020-06-19 14:05:38 -05:00
nattthebear
5bd75fd001
Testing a new "zwinder" rewinder
2020-06-19 14:05:38 -05:00
alyosha-tas
a914cb69e0
GBHawk: Speed change and window fixes
2020-06-19 14:09:03 -04:00
adelikat
75bd2f8063
fix NRE fix fail
2020-06-19 10:18:28 -05:00
adelikat
91c33a49c0
Rewind config - fix NRE when turning off rewind then going back to the config dialog
2020-06-19 10:01:01 -05:00
zeromus
25327b510d
mgba - try resetting sram memdomain after frame advance, so sram autodetection can progress and feed into frontend. addresses #1620 , maybe not in the best way
2020-06-18 03:08:57 -04:00
zeromus
1efc91cb94
hex editor: handle tiny (even 0 size) memory domains without crashing
2020-06-18 03:07:44 -04:00
YoshiRulz
8e414aea29
Enable CA1829 and fix noncompliance
...
"Use Length/Count property instead of Count() when available"
2020-06-18 09:44:01 +10:00
YoshiRulz
620e54580d
Enable CA1052 and fix noncompliance
...
"Static holder types should be Static or NotInheritable" (classes with only
static members should be static classes)
2020-06-18 09:43:57 +10:00
YoshiRulz
16d1782c9e
Enable CA1018 and fix noncompliance
...
"Mark attributes with AttributeUsageAttribute"
2020-06-18 09:43:53 +10:00
YoshiRulz
7f99dd95d6
Enable CA1010 and fix noncompliance
...
"Collections should implement generic interface"
2020-06-18 09:43:50 +10:00
YoshiRulz
8ca791852a
Enable MEN011 and fix noncompliance
...
"Align using directives"; this file had 2 BOM chars for some reason
2020-06-18 09:43:47 +10:00
YoshiRulz
e71f5b32f0
Minor style cleanups
2020-06-18 09:43:36 +10:00
alyosha-tas
01e3a6cf43
QuickNES: blacklist Burai Fighter fixes #2145
2020-06-17 13:58:51 -04:00
nattthebear
4d3558d7e3
State manager API cleanup
...
add some comments. Remove two methods from the interface definition that aren't actually used in public API
2020-06-17 07:31:00 -04:00
YoshiRulz
abca8e02f2
Move some static data from MainForm to RomLoader
2020-06-17 10:46:54 +10:00
YoshiRulz
77e6a7300a
Create and use MainForm.ShowDialogAsChild(Form) helper
2020-06-17 10:46:51 +10:00
YoshiRulz
0e767add09
Rename ApiHawk files to match type name
2020-06-17 10:38:31 +10:00
YoshiRulz
9d1dfd71a1
Fix EmuClientApi not being registered and merge CloseEmulator()s
...
fixes a74d657a2
, 51a83193a
2020-06-17 10:35:14 +10:00
alyosha-tas
c53bda9235
NESHawk: make game genie compare cheats work
2020-06-16 20:01:34 -04:00
YoshiRulz
ff4662efe8
Delegate more of ClientLuaLibrary to ApiHawk
2020-06-17 08:02:09 +10:00
YoshiRulz
a74d657a2a
Promote IEmuClient to a full-fledged IExternalApi
...
also remove UnpauseEmulation() (duplicate of Unpause()) and rename
SetExtraPadding to SetClientExtraPadding (to match Lua)
2020-06-17 08:02:02 +10:00
nattthebear
9597be621a
Partially revert c42889ceef
...
Pretty sure it's impossible for this to be null; the entry assembly always has a location and only weird dynamic assemblies can have none.
But if somehow it was, then we don't want to create a jumplist item that doesn't work!
2020-06-16 17:30:18 -04:00
nattthebear
8607f7891f
Fix virtual size output on nyma cores. Expose more debugging info to console about screen sizes.
2020-06-16 15:53:10 -04:00
YoshiRulz
51a83193a1
Merge overloads of CloseEmulator to param w/ default
2020-06-17 02:15:33 +10:00
YoshiRulz
cb08d00372
Replace single-use delegate type with Action<bool>
2020-06-17 02:15:11 +10:00
YoshiRulz
03acb1ded7
Move LoadRomArgs to own file
2020-06-17 02:14:33 +10:00
nattthebear
8b9debb8b9
Hide mission stick autofires again
...
I hope someone comes into irc screaming about how they can't do their TAS because we don't support the exact hardware semantics of the mission stick, but the more realistic outcome is that no one ever uses the mission stick for anything
2020-06-16 10:20:11 -04:00
nattthebear
fa4a95f1b1
Looks like this existed solely to support the old bsnes interop, which everyone agrees was awful and something we only did because we had to
2020-06-16 07:45:34 -04:00
nattthebear
7b2ac98520
guess nothing was using this
2020-06-15 17:10:27 -04:00
adelikat
27bb2759a6
more mnemonics for saturn
2020-06-15 15:33:54 -05:00
adelikat
c5ec8eb0ba
saturn - mnemonic for smpc reset button
2020-06-15 14:59:24 -05:00
adelikat
03e2bccf6c
remove a debug line of code
2020-06-15 14:49:26 -05:00
zeromus
98b3d8d335
change PSX framerates to follow mednafen instead of nocash ( fixes #2138 )
2020-06-15 15:10:29 -04:00
adelikat
e6a2fe39e1
faust - support virtual pads
2020-06-15 14:02:34 -05:00
adelikat
cf3e1d51e0
nyma cores - fixes to mnemonic lookups and add a few overrides
2020-06-15 13:43:23 -05:00
adelikat
c8a0b6c323
virtual pads - pce, pcfx - add console buttons
2020-06-15 13:29:31 -05:00
adelikat
25dddf5160
hack to fix Nyma roman numeral buttons, virtualpads - PCE and PCFX fixes
2020-06-15 13:20:40 -05:00
adelikat
3d8920308c
remove nyma virtual pad hacks for direcitonal buttons now that nyma buttons conform to typical naming conventions
2020-06-15 13:20:40 -05:00
adelikat
4122a51153
bk2 mnemonic lookup - remove some nyma hacks now that nyma directional buttons conform to the typical naming scheme
2020-06-15 12:59:54 -05:00
nattthebear
b8bea93cce
Rework nyma controller overrides
2020-06-15 13:37:50 -04:00
nattthebear
5b2b1cf13b
Enable SNES and GBA gpu view on linux
...
I tested the SNES one and it seemed to work. Don't have any working GBA cores right now in linux, I think? But no reason to expect it wouldn't work
2020-06-15 10:49:17 -04:00
nattthebear
8e689dae76
Don't lock out the GB gpu view on linux
...
It works there, why was it disabled?
2020-06-15 10:42:47 -04:00
YoshiRulz
77a810600b
Inline the thing I deleted into somewhere it shouldn't be used, again
2020-06-15 13:09:58 +10:00
YoshiRulz
5f809d8e24
Cleanup N64 controller def init and re-init
2020-06-15 13:03:15 +10:00
nattthebear
e5e4983464
waterbox - remove some unused saverammerer junkus
...
ngp doesn't use this, so...
2020-06-14 20:29:22 -04:00
adelikat
67489bfc3a
PCFX - fix virtualpads, support mouse
2020-06-14 16:21:37 -05:00
nattthebear
30fd675903
woops
2020-06-14 16:27:08 -04:00
adelikat
9027223018
PCE - virtualpads - support all the buttons
2020-06-14 15:19:28 -05:00
adelikat
cecf29e90a
Support PCE mouse in movie mnemonics and virtualpads
2020-06-14 15:19:28 -05:00
nattthebear
ecdfc66617
nyma big setting update
...
Moves a lot of settings around, hopefully addressing some concerns
2020-06-14 16:02:33 -04:00
YoshiRulz
99a5563490
Inline value that was public for some reason
2020-06-15 05:12:14 +10:00
YoshiRulz
dbeb279bf0
Add an extension method to help w/ ControllerDefinition init of axes
2020-06-15 04:47:54 +10:00
nattthebear
2707d1cd92
nyma - rework settings architecture a bit
...
This gives us flexibility to define more featureful overrides
2020-06-14 14:18:13 -04:00
adelikat
e41659e237
rough in for gamepad or none virtualpad support for Turbo and Hyper Nyma cores, only 2 button currently supported, support some uppercase button names in mnemonics
2020-06-14 12:02:09 -05:00
adelikat
9dfd6c3fb3
remove nyma button name overrides, they don't help with virtualpads, and ar e a hassle to maintain, we can just consistently be inconsistent for these cores
2020-06-14 11:32:01 -05:00
nattthebear
a0aa1fb805
Bare minimum to unbreak some mnemonics
2020-06-14 11:58:00 -04:00
nattthebear
278317685c
actualportdata api
2020-06-14 11:47:02 -04:00
nattthebear
aa3369a080
Get saturn virtualpad closer to reworking again
...
This is a mess and we need a new notion of controller definition
2020-06-14 11:33:51 -04:00
nattthebear
7ba3f6db03
saturn - fix crash in dead or alive
...
It does look pretty awful with interlacing, but that's not something bizhawk is equipped to solve at present
2020-06-14 10:15:05 -04:00
adelikat
3610ca2b4c
virtualpads - prevent crash on Turbo and HyperNyma cores, just empty for now, will support these cores later
2020-06-13 18:17:11 -05:00
nattthebear
f2b461bed1
nyma - overhaul some input stuff to support some more things
...
saturn guns and keyboards now work
2020-06-13 18:19:41 -04:00
nattthebear
7f83f311f9
saturnus - wire up the needed analogs for 3d controller
2020-06-13 17:00:59 -04:00
nattthebear
77e3f9acb3
saturn - hide unavailable ports depending on multitap
...
One slight issue is that the bulitin smpc reset is always "player 13", but that's not enough of an issue for me to care
2020-06-13 16:53:46 -04:00
nattthebear
d6cc6abfec
pcfx - hide ports based on multitap
2020-06-13 16:50:01 -04:00
nattthebear
13a5e9d102
faust - hide ports 3-5 and/or 6-8 depending on multitap settings
2020-06-13 16:45:06 -04:00
nattthebear
60614ffa7b
PCE: Hide controllers 2-5 if multitap is disabled
...
They have no power in that situation
2020-06-13 16:39:26 -04:00
adelikat
2dd618b6f2
PCFX - remap some buttons, add (bad) mnemonics for mode buttons
2020-06-13 15:21:52 -05:00
adelikat
573b544a88
new pce cores - add some button name overrides, and support mnemonics
2020-06-13 15:11:00 -05:00
adelikat
b1c2ed0d3d
set movie = null on stop movie, this used to crash tastudio but I can't make it crash anymore, either we fixed the underlying problem or I didn't reproduce it correctly, will fix if it comes up
2020-06-13 14:29:47 -05:00
nattthebear
398d9c45cb
Revert "fix nyma button binding label"
...
This reverts commit 14661f4c76
.
Dunno what was going on here, this is a feature that we'll need to fix #2129 and similar... please don't randomly delete code?
2020-06-13 15:08:20 -04:00
zeromus
14661f4c76
fix nyma button binding label
2020-06-13 13:42:45 -05:00
YoshiRulz
f48e3cd2ea
Re-enable A/V recording on Linux and add a big ol' disclaimer dialog
2020-06-14 02:59:50 +10:00
adelikat
4c77ebd3d1
remove tastudio hack that I'm convinced is either 1) does nothing 2) causes bugs 3) fixes something that should be handled in a different place in the code
2020-06-13 11:47:21 -05:00
adelikat
51e1ee3a46
MovieSession - simplify and improve performance - remove unnecessary CopyController wrapper on MovieIn, and don't set movie controller state unless recording
2020-06-13 11:38:30 -05:00
adelikat
268ab96ae9
remove built-in multitrack movie recorder, justification: tastudio is a much better alternative, it isn't used, and it's causing strain on better movie architecture, also this logic is easily done via lua script. It could be built from scratch one day in a way that plays nice with better movie architecture, if there's demand, but we need to remove this to keep moving forward
2020-06-13 09:49:25 -05:00
nattthebear
03d10cebb9
Support bsnes on LOO-NICKS
...
Had to fix up libspeex and some waterbox cothread funsies
2020-06-12 19:10:42 -04:00
adelikat
bb2e82c94a
GlobalWin.MainForm begone
2020-06-12 16:59:44 -05:00
adelikat
590a2fc245
VirtualPadButton - be more thorough about not responding to keyboard input, instead of focusing on mainform to avoid it
2020-06-12 16:31:38 -05:00
adelikat
336d2fc3a9
simplify EditSubtitlesForm
2020-06-12 15:53:01 -05:00
adelikat
ee0d32d56f
simplify the EditCommentsForm and remove usages of GlobalWin
2020-06-12 15:29:45 -05:00
nattthebear
25a5449a48
Work around mono marshalling issue
...
Fixes #2116 , but it'd be nice if mono fixed it too
2020-06-12 15:22:46 -04:00
adelikat
f21132a2ac
move EnsureCoreIsAccurate() out of EmuUtil and back into mainform since it has so many dependencies, including mainform itself, and 50% of its use is in mainform anyway
2020-06-12 13:57:28 -05:00
adelikat
ac54318cfb
GlobalWin.Cheatlist begone
2020-06-12 13:39:31 -05:00
nattthebear
eb811b7d79
Remove check that stops a nymacore from creating "thread" in deterministic mode
...
The MT ppu renderer in saturn looks cool to me, so it probably won't cause nondeterminism, probably
Fixes #2126
2020-06-12 14:31:09 -04:00
adelikat
61b852c571
remove some unused usings
2020-06-12 12:56:58 -05:00
adelikat
53b0472c1a
N64 plugin config - simplify use of GameInfo
2020-06-12 12:56:58 -05:00
adelikat
ac61701aa3
GameInfo - simplify
2020-06-12 12:56:58 -05:00
adelikat
4e7e314a33
GameInfo - simplify a method name
2020-06-12 12:56:58 -05:00
adelikat
0c300cf5bf
Remove our home-grown ReadonlyDictionary in favor of the built in .net one (as of 4.5 we have one of these built in), Gameinfo.GetOptionsDict() - return IReadonlyDictionary instead of Dictionary
2020-06-12 12:18:50 -05:00
adelikat
c81f052f94
GameInfo - demand a value for key params, and force calling code to pass in an empty string if that's what they choose (better would be to pass a bool or a 0/1 even if we don't require it)
2020-06-12 12:11:53 -05:00
adelikat
10c62764ba
improve some if checks in OSDManager
2020-06-12 11:58:17 -05:00
adelikat
5ef2a4d7e6
use IGameInfo instead of GameInfo in various palces
2020-06-12 11:56:05 -05:00
adelikat
066e282b39
remove GlobalWin usage in RecordMovie.cs
2020-06-12 11:48:51 -05:00
adelikat
13b6b09771
pass in systemId dependency to PathConfig
2020-06-12 11:36:21 -05:00
adelikat
777a2e8f3e
reduce some copy pasta for Bmp file creation across various tool dialogs
2020-06-12 11:14:25 -05:00
adelikat
f9fff69ce4
BmpView - use DesignMode flag instead of shenanigans
2020-06-12 10:21:19 -05:00
adelikat
195b01fb44
nitpick
2020-06-12 09:25:05 -05:00
YoshiRulz
5d25d537d1
Hopefully EmuClientApi will now have the loaded emu/game
...
see f78af85cc
, 109ba1d31
2020-06-12 09:47:07 +10:00
YoshiRulz
aca3768c78
Align ApiHawk and Lua library names
2020-06-12 09:47:04 +10:00
adelikat
597e010faf
use GlobalWin.Game less
2020-06-11 18:31:32 -05:00
adelikat
ba939466df
Pass an IGameInfo into ToolFormBase and use it in tools
2020-06-11 18:25:34 -05:00
adelikat
109ba1d31a
fix NRE on startup for EmuClientApi, this is a band-aid, I think _emulator should never be null
2020-06-11 17:48:41 -05:00
adelikat
f1818e7f7e
add Api suffix to ApiHawk interfaces, so they will stop colliding with non-api interfaces
2020-06-11 17:40:39 -05:00
adelikat
d9ef084e2f
add a readonly interface for GameInfo for code that only needs to read, pass into SynclessRecordingTools instead of globals, refactor SynclessReocrdingTools a bit
2020-06-11 17:35:40 -05:00
YoshiRulz
52cc0050b8
Allow ApiManager to pass some extra globals to the 5 EmuHawk APIs
2020-06-12 06:14:32 +10:00
YoshiRulz
d2e20a7a1e
Pass MainForm.AllowInput to Input instance as delegate
2020-06-12 05:57:52 +10:00
YoshiRulz
b972b8a771
Inline MainForm.IsLagFrame and change global usage in OSDManager
2020-06-12 05:47:23 +10:00
YoshiRulz
dc352c0225
Pass globals to EmuClientApi as ctor params
2020-06-12 05:37:04 +10:00
YoshiRulz
f78af85cc6
Delegate ClientApi implementation to an instantiable class
...
The new class, EmuClientApi, is abstracted as IEmuClient, but this interface is
not an IExternalApi. This is because a future commit will add a ctor not
compatible with the current instantiation code in ApiManager.
2020-06-12 05:37:00 +10:00
adelikat
a930b5f950
fix typo in a comment
2020-06-11 13:06:27 -05:00
adelikat
8270c5f997
put classes in MultitrackRecording into separate files, and make a few of them internal
2020-06-11 12:27:26 -05:00
nattthebear
638c2095ed
Update labelling for every mednacore that we updated
...
WonderSwan/Cygne did not move to nyma, but I manually backported changes so it counts as "1.24.3" mostly
2020-06-11 12:22:32 -04:00
nattthebear
f14dace4a0
Move saturn over to nyma, get latest version.
2020-06-11 12:17:10 -04:00
adelikat
73e2922a0d
Fix logic that news up new Rewinders, properly dispose of the Rewinder on closeRom, this might fix memory leaks in rewinder that pre-date the recent refactor
2020-06-10 15:06:34 -05:00
adelikat
af93cf3e92
consolidate logic that instantiates a new rewinder, be sure to dispose the old one
2020-06-10 09:15:52 -05:00
adelikat
de5508ca6c
rewinder - fix potential NRE
2020-06-10 08:56:25 -05:00
zeromus
c9c1aa91ad
fix temp directory pathing in path manager which was previously making no attempt to do the right thing ( fixes #2118 ). did I do this right? I don't see what was so hard about it in the first place, but I had left a todo there..... i dunno
2020-06-09 23:27:49 -05:00
feos
f9ffeec81b
we can launch and use mame debugger
2020-06-09 22:34:15 +03:00
feos
9b3e18e992
mame: document build command
2020-06-09 21:43:59 +03:00
feos
36787d7292
mame: obtain rom names and hashes
2020-06-09 21:38:34 +03:00
nattthebear
ef02263122
fix mouse on the pcfx core
...
this was a regression from the move around, it worked before
2020-06-09 13:12:12 -04:00
nattthebear
69e30ee33f
Decrease state size in pcfx, pce, pce-fast
2020-06-09 10:09:17 -04:00
nattthebear
9bb56f0b5c
move pcfx to nymacore
2020-06-09 08:15:06 -04:00
nattthebear
11e1019590
nyma -- support cd switching
...
motorcycle shifter, but neutral is before 1st instead of between 1st and second
Yes, I had to rebuild the non cd cores here, and I am sorry
2020-06-08 20:24:30 -04:00
zeromus
9c875b42f4
background thread bootgod loading
2020-06-08 16:45:44 -05:00
nattthebear
481a48fe85
Fix path config on loonix
...
Somewhere things are being normalized wrong and I don't care to find out where. This is correct and functional on all systems.
2020-06-08 16:59:04 -04:00
nattthebear
db866653c2
Don't try to start d3d on loonix...
2020-06-08 16:48:37 -04:00
zeromus
d98bfc82c5
fix threaded DB loading ( fixes #2113 )
2020-06-08 14:08:50 -05:00
nattthebear
b11b50a950
all nyma cores: support constant size framebuffer
...
this will do lossless integer scaling using mednafen provided screen geometry data
2020-06-08 13:05:31 -04:00
adelikat
ddfd6fd49a
put IRewinder in its own file
2020-06-08 11:35:19 -05:00
adelikat
799742c3ff
IRewinder - dress up the api a bit, fix a potential NRE
2020-06-08 11:29:12 -05:00
alyosha-tas
843c70d6e1
Merge pull request #2111 from LodanZark/patch-1
...
update msx bios filenames and description
2020-06-08 10:19:14 -04:00
adelikat
11fb1a99bb
Rewinder - be more careful about null things, fixes #2112 it seems
2020-06-08 08:32:26 -05:00
nattthebear
6eb4ec4c0d
minor cleanup
2020-06-08 07:55:38 -04:00
LodanZark
896612eb4d
update msx bios filenames and description
...
Updated the msx bios filename based on mame 0.221 and cbios0.29a, this way it fixes the filename conflict while using the feature "Organize" through Firmware Manager.
Couldn't figure it out about the bios_test origin, so I kept that one unchanged.
2020-06-08 03:32:18 +01:00
adelikat
62c6513ee3
ugh
2020-06-07 19:27:14 -05:00
adelikat
10e5df99f1
simplify naming of Rewinder api
2020-06-07 19:26:00 -05:00
adelikat
ef9bb3208d
simplify Rewinder api a bit
2020-06-07 19:22:08 -05:00
adelikat
225f1e7c59
oops
2020-06-07 19:19:45 -05:00
adelikat
018bed9422
interface Rewinder
2020-06-07 19:12:13 -05:00
adelikat
e66e53c15d
Rewinder - make IDisposable and new up and dispose of it instead of calling Init/Uninit methods. Tastudio - actually disable rewind on load instead of clearing it, and re-enable it when closing
2020-06-07 19:00:39 -05:00
zeromus
93f06f2a68
oops, fix database loading
2020-06-07 18:43:13 -05:00
adelikat
82c6efd274
Rewinder - take in an immutable version of rewindConfig
2020-06-07 17:34:41 -05:00
YoshiRulz
4cf30f4592
Fix ClientApi.RunningSystem when using new PCE cores ( fixes #2109 )
2020-06-08 08:06:42 +10:00
zeromus
bd8003c725
thread gamedb load
2020-06-07 16:43:50 -05:00
zeromus
3ae6515d2a
rename LibTerboGrafix LibTurboNyma
2020-06-07 16:09:32 -05:00
zeromus
741e8b18fd
rename TerboGrafix to TurboNyma
2020-06-07 16:07:58 -05:00
zeromus
4f9855665d
rename TerboGrafix.cs to TurboNyma
2020-06-07 16:07:12 -05:00
zeromus
8fca454ebf
fix copy/paste error for PCE in PromptToSwitchCore?
2020-06-07 16:06:01 -05:00
zeromus
d28f827b06
rename TurboTurboNyma and LibTerboGrafixSanic to HyperNyma.. I think
2020-06-07 16:04:05 -05:00
adelikat
060d436a69
add turbo pce core to the movie "inaccurate core" nag list
2020-06-07 14:11:30 -05:00
adelikat
3658638251
remove some unused usings
2020-06-07 13:56:13 -05:00
nattthebear
6b8b021df7
fix crash loading snes
2020-06-07 14:55:41 -04:00
adelikat
71aa667b3b
don't put IMovie extensions in separate namespace
2020-06-07 13:35:16 -05:00
adelikat
265a5f3149
fix lots of tools not updating at lots of times, I broke this with tool refactors
2020-06-07 13:28:10 -05:00
adelikat
ce19e489ef
Global.cs begone!
2020-06-07 13:14:01 -05:00
adelikat
acd928afa5
move InputManager from Global to GlobalWin
2020-06-07 13:13:39 -05:00
adelikat
71cb4fbdb0
pass sticky adapter into MovieSession
2020-06-07 13:11:42 -05:00
adelikat
c4c820fad3
move MovieSession from Global to GlobalWin
2020-06-07 13:07:09 -05:00
adelikat
8c5538405f
move movie input logic from InputManager to MovieSession, multitrack is broken currently, will fix later
2020-06-07 13:03:27 -05:00
YoshiRulz
fefdf0d60a
More misc. cleanups in RomLoader
2020-06-08 02:06:52 +10:00
YoshiRulz
40fd96f216
Use out params instead of tuples for multi-return
2020-06-08 02:06:46 +10:00
nattthebear
8c9d9715e2
quicknes - reorder buttons for presentation
2020-06-07 11:42:52 -04:00
adelikat
ce2381ea54
nitpicks
2020-06-07 09:30:50 -05:00
adelikat
7ff91c234e
InputManager - remove a null check on movie session, it will never be null
2020-06-07 09:30:50 -05:00
nattthebear
8259d908bb
Let's not do the same thing 3 times in a row
2020-06-07 10:04:36 -04:00
adelikat
954adf4ab6
remove dependency on an IMovie from GetRetroSaveRAMDirectory, since it shoudl only be getting the directly, not the the filename
2020-06-07 08:31:49 -05:00
nattthebear
2952ac24aa
savestates on waterbox
2020-06-07 09:26:08 -04:00
YoshiRulz
95dbd7c20b
Simplify execution path for extension checks
2020-06-07 19:59:18 +10:00
YoshiRulz
81cb8eb094
Pretty sure this is unreachable, HawkFile.Exists is checked earlier
2020-06-07 19:47:27 +10:00
YoshiRulz
977f725de0
Reorder extension checks in LoadRom
2020-06-07 19:45:58 +10:00
YoshiRulz
f6f6106ccf
Misc. cleanups in LoadRom and helpers
2020-06-07 19:36:42 +10:00
YoshiRulz
7c9792db58
Remove useless parameters of load helpers
2020-06-07 19:09:29 +10:00
YoshiRulz
dffce9ceb4
Extract methods from LoadRom
...
also move declaration of bool cancel closer to usage
2020-06-07 18:46:49 +10:00
YoshiRulz
347ed0d404
Cleanup Sound ctor
2020-06-07 18:06:35 +10:00
nattthebear
0326bf63d3
Bare minimum fix gpgx lazystates rewinder
...
This was a lazystates regression -- after lazystates, there is no longer any knowledge in the core of how big the state will be
2020-06-06 18:50:44 -04:00
nattthebear
aa48af9c94
linux: support gpgx
...
as before, do not load state even if your life depends on it
2020-06-06 18:25:59 -04:00
adelikat
4d80b5d4e8
Movie importers - fix importers, broken with recent movie refactors, fix bkm importer, most systems were broken due to contorller definition names changing over the years
2020-06-06 17:17:50 -05:00
adelikat
ff61fc3c71
move Global.Game to GlobaWin.Game
2020-06-06 15:11:42 -05:00
adelikat
886c687817
try to detangle Global.Game from advanced loader mess
2020-06-06 15:09:48 -05:00
adelikat
cdd5c75488
Move FirmwareManager from Global to GlobalWin
2020-06-06 14:57:37 -05:00
adelikat
981dc95c62
pass FirmwareManager into RomLoader instead of using Global
2020-06-06 14:55:32 -05:00
nattthebear
364d551940
waterbox linux progress
...
uzem runs. i don't know about anything else yet. DO NOT ATTEMPT TO LOAD A SAVESTATE.
2020-06-06 15:51:51 -04:00
adelikat
664c829a30
move Global.Config to GlobalWin.Config
2020-06-06 14:43:46 -05:00
adelikat
5ab7f1a18e
pass in an instanced of Config to RomLoader instead of relying on Global.Config
2020-06-06 14:41:11 -05:00
adelikat
d8ded66c35
don't use Global.Config in bk2movies, this solution is a bit of shenanigans but it's the least shenanigans I could come up with
2020-06-06 14:29:37 -05:00
nattthebear
dcaf504202
Some progress on loonix waterbox
...
It doesn't work
2020-06-06 14:39:55 -04:00
adelikat
8063393c04
maybe speed up movie state handling a bit by handlign the more likely case of | first, make multitrack and tastudio resistant to unexpected empty lines in the input log
2020-06-06 13:29:26 -05:00
adelikat
1ffa5bc97a
simply some movie code a bit
2020-06-06 13:21:10 -05:00
adelikat
877b02e429
Bk2Movie - remove some more copy pasta I missed from an earlier commit
2020-06-06 13:13:30 -05:00
adelikat
420253b6dd
break out cheat related config items to their own class, pass this config into CheatList
2020-06-06 12:26:35 -05:00
adelikat
6b22630ab1
cheats - when a cheat is auto-removed, also remove it from the recent cheats list
2020-06-06 12:26:34 -05:00
adelikat
554052f660
Sim;lify CheatList
2020-06-06 12:26:34 -05:00
nattthebear
4a4c59fcda
When using dummy sound output, don't crash on exit
...
My bad -- I had meant to move this outside the if
2020-06-06 12:29:36 -04:00
nattthebear
b4517d8e0d
Actually respect the no sound output config variable
2020-06-06 12:21:31 -04:00
adelikat
e69cedfdfa
InputManager - simplify by moving RewrieInputChain logic into SyncControls since it is only called from there, and does similar work
2020-06-06 10:39:40 -05:00
adelikat
3d48376436
InputManager - lock down RewrireInputChain, and have calling code only call SyncControls
2020-06-06 10:37:13 -05:00
adelikat
c6edcc4131
remove some vestigial code, no need to RewrireInputChain from MovieSession.QueueMovie, first of all, controls need to be resynced on running of a movie not queuing, secondly, it's already called as a result of a SyncControls() call
2020-06-06 10:32:32 -05:00
adelikat
2bf902b942
remove outdated bk2 "scrub" hotkey, this is an obscure feature that is non-trivial to use, but a higly trivial thing to do in tastudio
2020-06-06 09:58:49 -05:00
adelikat
bd1c3cb991
controller config - simplify allow L+R to just a checkbox, where off = "forbid" option, since nobody cares about priority vs forbid, simplify ULDRController and don't use globals
2020-06-06 09:52:29 -05:00
nattthebear
e8b84b466b
More hacks, just need to unblock yoshi and fix this for real later pinky swear
2020-06-06 10:05:10 -04:00
adelikat
4479202151
move DefaultTasStateManagerSettings to the MovieSettings class allowing to not use Global in TasMovie constructor, also pass stuff in to DefaultGreenzoneSettings instead of using Globals
2020-06-06 08:52:09 -05:00
nattthebear
db934f3689
quick hack to hopefully unbreak quicknes on loonix
2020-06-06 08:21:26 -04:00
YoshiRulz
6766e45c5e
Simplify core selection menu code
2020-06-06 21:02:42 +10:00
adelikat
069bdddbba
use Session.Settings more in movie classes now that it is never null
2020-06-05 21:17:41 -05:00
adelikat
55bb627550
Move MovieService.Get to IMovieSession, and require an IMovieSession in Bk2Movie and TasMovie ctors, refactor accordingly
2020-06-05 21:09:03 -05:00
adelikat
863d022bc5
fix an NRE I caused in movie code. The old code was wrong, this one is better
2020-06-05 20:10:20 -05:00
adelikat
8303321586
rename method to try to better describe what it does
2020-06-05 19:26:30 -05:00
YoshiRulz
ede8877ccf
Move core selection menus out of Designer
...
Generation is based on a convoluted data structure declared statically in
MainForm. I've removed duplicate core selection options that were present under
system-specific menus, some only when emulating SGB.
2020-06-06 07:45:15 +10:00
nattthebear
6a63373c48
Make use sram default in some cores that have this as an option
...
true is what end users would expect most of the time. false is only for advanced use cases.
2020-06-05 14:11:09 -04:00
adelikat
8b5e0ae8fd
MovieConccersionExtensionTests - use DataRow and add more scenarios
2020-06-05 13:06:45 -05:00
adelikat
bf5aca721e
move MovieConversionExtensions
2020-06-05 11:44:12 -05:00
adelikat
b22f9e6e01
move methods for Log copying from ITasMovie to IMovie. This bloats the IMovie contract more, but this allows for converting from one IMovie to another without an IEmulator dependency. Refactor conversion extensions to use these methods and remove emulator and movie session dependencies
2020-06-05 10:14:49 -05:00
YoshiRulz
b88f20faed
Rename Verison to BizHawk.Version, fixes #2101
2020-06-06 00:20:48 +10:00
nattthebear
ad16294b11
Fix gb roms running without bios
2020-06-05 08:50:30 -04:00
TiKevin83
81628bf109
Ports from Upstream GSR for Babs and Robopon (squashed #2091 )
2020-06-05 20:27:19 +10:00
adelikat
89789b4358
band-aid fix bk2 to tasproj conversions in tastudio
2020-06-04 20:06:23 -05:00
nattthebear
5319aba113
Remove an unused setting from pce_fast
...
This was bad copy pasta -- the core doesn't actually support this at all
2020-06-04 20:26:35 -04:00
adelikat
d84cd95ab8
oops
2020-06-04 19:23:07 -05:00
TiKevin83
3837ff7cf9
More cleanup to the new tasproj filename code ( #2093 )
...
* Test class and basic unit test
2020-06-04 19:21:22 -05:00
adelikat
e11509421d
simplify the construction of TasMovie but not requiring a startsFromSaveState param that doesn't actually set the movie's StartsFromSavestate bool, it just defined the text of the first marker
2020-06-04 19:20:09 -05:00
alyosha-tas
92bbf768af
GBHawk: Fix HuC3 SRAM
2020-06-04 18:34:39 -04:00
adelikat
39636f6ef1
IMovieSession - remove CurrentInput and PreviousInput and move the logic to the one tool that utilizes them. Since these are purely derivable convenience properties, it's better to not be in the spec. If other other needs to do this logic we can move this out to an extension method
2020-06-04 16:37:02 -05:00
adelikat
dba9de4f29
remove COreForcingViaGameDb user option. We should not give the user the ability to turn this off. If they are power users and want to overright our db, they can mod the db entries
2020-06-04 16:06:07 -05:00
adelikat
d86aabb8b5
remove the "poke frame" hotkey, as this is a very legacy feature, we have a whole tool for this now
2020-06-04 15:30:26 -05:00
alyosha-tas
486b3945ad
GBHawk: use saveram by default
2020-06-04 14:36:08 -04:00
nattthebear
e798fb2b29
play around in romloader to replace some snes hackery with slightly different snes hackery
2020-06-04 12:45:36 -04:00
nattthebear
7792eb2e80
Improve waterbox "lazystates"
...
Cores that used the .invisible section to store data were saving it; this was a regression from before, so PCFX states should be back down to the previous release size, or perhaps a bit smaller.
Add the ability to dirty track libco cothreads, as used in the bsnes core. This saves a lot of space in those states and they're now quite competitive in size.
2020-06-04 12:13:28 -04:00
adelikat
c4586545fa
delete an unused using, testing bot
2020-06-04 09:58:04 -05:00
nattthebear
3bc1ed4bbc
snes9x - take advantage of new waterbox change tracking to fix special chip games
2020-06-03 19:25:58 -04:00
YoshiRulz
66d9d6763e
Apply lossless image optimisation
2020-06-04 09:09:56 +10:00
adelikat
a382af4e7f
disable multitrack recording for tasproj movies, the concept doesn't make sense, tastudio easily gives you multiplayer functionality by design. Delete some code that attempted to handle this scenario that likely didn't really work
2020-06-03 17:49:22 -05:00
nattthebear
3faff4811c
Add slstart, slend to regular settings in pce fast
2020-06-03 18:37:43 -04:00
adelikat
b3234d029c
movies - remove legacy support for hex frame number, it's been quite some time since cores were in charge of this value, and thus a core specific hack, due to copy pasta, there's a lot to delete here
2020-06-03 17:35:22 -05:00
adelikat
246d7ec2d5
TasMovie - don't use a field value unnecessarily
2020-06-03 17:35:22 -05:00
nattthebear
2cc106de98
pce: make slstart, slend non-sync settings because the core supports it and the waterbox supports it
2020-06-03 18:33:19 -04:00
adelikat
bd2fb07ce1
oops, fix tastudio loading, Movie.Session isn't ready to use in ExtractInputLog
2020-06-03 09:07:14 -05:00
adelikat
9747dc9a95
mGBA - implement IDebuggable.TotalExecutedCycles
2020-06-03 08:28:49 -05:00
TiKevin83
8925d7182f
slightly cleaner
2020-06-03 08:22:09 -05:00
TiKevin83
d16f8a7b64
Standardize new filename creation behavior to avoid .bk2.tasproj.bk2.tasproj
2020-06-03 08:22:09 -05:00
nattthebear
46bfcbc47d
add a version tag to waterbox states
...
we're not building any sort of back compat, no. but if things change, better to bail early to decrease the chance i get bug reports for things i'm not going to fix.
2020-06-03 07:23:06 -04:00
nattthebear
d06ed05929
waterbox - track writes for smaller savestates
...
The waterbox system now uses host os facilities to track whether memory has been written to, to automatically choose what thing to savestate. This results in a large size decrease for some cores, like snes9x or gpgx (when running cartridge games). Doesn't do much for cores that were already memory efficient, or for bsnes because of libco compatibility issues; but those cores don't regress either.
2020-06-03 07:13:40 -04:00
feos
0ad26a7435
we won't ever have to pass 256MB
2020-06-03 10:32:10 +03:00
feos
f3861ed6cf
mgba: cycle count
2020-06-03 10:30:57 +03:00
adelikat
ac20835172
NESPPU, NesNamableViewer - reduce a lot of copy/pasta
2020-06-02 20:33:38 -05:00
adelikat
bafc31d282
ugh, need to fix MovieSession getting referenced too late for a lot of movie code
2020-06-02 20:06:29 -05:00
adelikat
c2e158b0f2
Tastudio - use Config, not Global.Config
2020-06-02 20:03:16 -05:00
adelikat
8c988ab2fc
Expose MovieSession settings and use those settings some in movie classes
2020-06-02 19:41:25 -05:00
adelikat
943d704ca5
interface the MovieSettings class to be get only and pass it into movie session, this is a pattern we should use more, to better express that consuming classes do not modify settings, that's a presentation level detail
2020-06-02 19:15:53 -05:00
adelikat
a3c82c43d5
Config - move some movie settings to a MovieConfig object
2020-06-02 17:34:16 -05:00
adelikat
a8b0d42a1a
pass in PreferredCores into MovieSession to manage the core switcheroo, instead of using Global.Config
2020-06-02 17:18:39 -05:00
adelikat
2dda13cdd1
add GBC to core preferences, keep the ui as GB sets both, but this prepared for us to be able to set them separately
2020-06-02 17:04:42 -05:00
adelikat
baa820c0e4
UDLRController - pointless refactoring
2020-06-02 16:41:43 -05:00
YoshiRulz
cf7aabba35
Shorten project build output paths by removing TFM
2020-06-02 15:58:06 +10:00
adelikat
ed9a8ec877
meh, make less copy/pasta in Bk2/Tasproj Write() methods. This is a less overall code, potentially reads better
2020-06-01 20:38:50 -05:00
adelikat
bac29fe187
Revert "store vblank and cycle count in tasproj files too. Will do this in a less gross way soon"
...
This reverts commit 297a0c06a0
.
2020-06-01 13:13:42 -05:00
adelikat
297a0c06a0
store vblank and cycle count in tasproj files too. Will do this in a less gross way soon
2020-06-01 12:26:37 -05:00
adelikat
d088f89ca2
use some consistent naming without needless abbreviations. Not eryone cn red abbrvs wll
2020-06-01 12:24:36 -05:00
adelikat
4f6699ff26
nitpick variable rename
2020-06-01 12:24:36 -05:00
nattthebear
474d41bd8a
add mednafen's pce fast core
...
~1.6x the speed of the mednafen pce core, or something
Supports all of the same features except ADPCM ram view
TODO: romloader hookups
2020-06-01 11:23:18 -04:00
adelikat
3609037bea
move some apihawk api classes from common to emuhawk
2020-05-31 15:55:04 -05:00
adelikat
843610d1c2
remove unused line of code
2020-05-31 15:49:32 -05:00
adelikat
d36426f873
Bk2Movie - simplify a bit
2020-05-31 15:07:28 -05:00
adelikat
c20e4964c6
move UserBag from Global to GlobalWin
2020-05-31 15:01:28 -05:00
adelikat
8888bd130a
move UserDataApi from Client.Common to Client.EmuHawk
2020-05-31 14:57:41 -05:00
adelikat
926b735de1
PathEntryCollectionExtensions - remove use of Global.MovieSession
2020-05-31 14:47:09 -05:00
adelikat
e7f26232b9
fix possible NRE nag
2020-05-31 14:30:19 -05:00
adelikat
5e91e548fe
SaveStateFile - pass in dependencies to constructor rather than relying on globals
2020-05-31 14:19:14 -05:00
adelikat
7444f32a4e
rename SavestateManager to SavestateFile, to better reflect what it does
2020-05-31 13:41:46 -05:00
adelikat
229d7f42e5
break savestate config variables into a dedicated config class, simplify the names, and pass it into SavestateManager.SaveStateFile(), note that this is a soft config breaking change, any of these settings from old configs will be "reset" to defaults
2020-05-31 13:11:14 -05:00
nattthebear
8f3caf384d
GPGX: Support independently setting the two troller ports
...
Fixes #1750
2020-05-31 13:28:58 -04:00
adelikat
34acead9b5
simplify AutoFireController - no need to pass in an emulator and the emulator's definition separately
2020-05-31 12:14:55 -05:00
adelikat
96fa84ff8b
remove globals from AutofireController
2020-05-31 12:05:58 -05:00
adelikat
d3c4e60405
Lua File list - Simplify save/load method names
2020-05-31 11:50:52 -05:00
adelikat
99dc0e03df
LuaFileList - remove pathing concerns to the calling code
2020-05-31 11:49:41 -05:00
adelikat
4b696e64fa
simplify LuaFileList more
2020-05-31 11:48:53 -05:00
adelikat
4be160a71f
Lua console - unify Save/SaveAs logic and remove a now unnecessary LuaFileList method
2020-05-31 11:48:53 -05:00
adelikat
5a44a99118
LuaFileList - simplify FileName property
2020-05-31 11:48:53 -05:00
adelikat
c057c5793c
LuaFileList - simplify
2020-05-31 11:48:53 -05:00
adelikat
f082ef1f4f
move RentLuaSession management out of LuaFileList and into LuaConsole, this is a presentation concern
2020-05-31 11:48:53 -05:00
adelikat
98827aee47
Lua console - use the LoadLuaSession() method consistently instead of copy pasta
2020-05-31 11:48:53 -05:00
adelikat
324a50a0bb
move Config.DisableScriptsOnLoad to a lua console setting, and pass it into LuaFileList
2020-05-31 11:48:53 -05:00
nattthebear
6c9b42a526
faust: Support MT renderer
...
and who said waterbox can't thread. well, it sort of can't. but it sort of can.
the speedup isn't that great, but speed is now pretty close (5%?) to snes9x in the only game that matters (final fantasy 5)
2020-05-31 11:53:15 -04:00
adelikat
3b27eb5e91
move SaveStateManager to savestates folder
2020-05-31 10:28:57 -05:00
adelikat
a0680e4b94
do the todo of renaming BinaryStateSaver/Loader to ZipStateSaver/Loader
2020-05-31 10:28:02 -05:00
adelikat
d21c5dfdfa
movie classes in BinarySaveStates.cs into separate files in a savestates folder
2020-05-31 10:22:46 -05:00
adelikat
16ab9dc0b0
BinaryStateSaver - pass in compression level instead of hitting Global.Config, now we just use Global.Config more in other places, but it's a step in the right direction
2020-05-31 10:16:27 -05:00
adelikat
33696eb5df
BinaryStateSaver - detangle version lump handling
2020-05-31 10:12:50 -05:00
nattthebear
161e8cc06f
snes faust - hide spex settings
...
We don't support these because they require connecting and using mednafen's internal savestate system
2020-05-31 08:56:10 -04:00
nattthebear
ef7aa9f31c
nyma pce: get 2 vs 6 button switch working
...
Due to limitations in bizhawk, we represent mednafen "switch"es as a series of push buttons, one for each position on the switch
2020-05-31 07:28:00 -04:00
adelikat
c9241c3fc5
Move Global.CheatList to GlobalWin.CheatList
2020-05-30 19:34:03 -05:00
adelikat
1ce8a368d4
lua - add client.addcheat() and client.removecheat() that match the functionality of the gameshark tool. Deprecate the nes.addgamegenie() and nes.removegamegenie() methods in favor of these
2020-05-30 19:26:11 -05:00
adelikat
c52a896cff
GameShark tool - move more logic to a common library class
2020-05-30 19:08:18 -05:00
adelikat
35de59488a
fix Movie restart I broke some days ago
2020-05-30 16:35:20 -05:00
adelikat
030c2c9570
*sigh*
2020-05-30 16:15:35 -05:00
adelikat
ca39eca22c
Pass the instance of MovieSession into movies, instead of referencing them from a global
2020-05-30 16:10:07 -05:00
adelikat
593474b739
Watch classes - required PreviousType on Update(), not pretty, but better than relying on a hidden Global setting, and cleaner than forcing the type to be set on construction and maintaining it's state on config changes
2020-05-30 12:27:13 -05:00
nattthebear
3962049847
Fix hex editor bulk multibyte reads
...
The existing API was such that BulkPeekUint(Start: 20, EndInclusive: 39) would actually read from the address range [20, 100) instead of [20, 40). That's completely broken. The hex editor, the only consumer of the API, made the same exact mistake in reverse so the problem wasn't immediately apparent, but it was a giant land mine waiting to happen. Fix them both.
2020-05-30 13:13:42 -04:00
adelikat
377567e2ba
remove CheatList logic in Watch.Poke() methods. These were only happening 1) during CheatList.Pulse() which is uber bad, or 2) Ram poke tool in 1 place, which is easily done there instead
2020-05-30 11:11:51 -05:00
nattthebear
0085fee935
faust - memory domains, input callbacks, lag flags
2020-05-30 11:09:26 -04:00
nattthebear
6eb54da6af
Probably fix a hex editor off by N issue that was crashing some things sometimes
...
There's DataSize and dataSize and this method was using dataSize all the way through except where it wasn't
2020-05-30 09:57:19 -04:00
YoshiRulz
10e7cb0f34
Use pre-built assembly for FlatBuffers.Core
...
fixes 4be701e2a
2020-05-30 15:54:06 +10:00
YoshiRulz
b56e229a45
Target .NET Standard where possible, restore Virtu TFM
...
fixes 5a0992c2b
2020-05-30 15:53:20 +10:00
nattthebear
9b1cbaf4ab
faust - some settings cleanup
2020-05-29 21:19:54 -04:00
nattthebear
3a83f6c9d0
faust: show settings dialog
2020-05-29 20:10:32 -04:00
nattthebear
5e3971a87b
Add mednafen snes "faust" core
...
Speed somewhere between shizzlenineizzle and byuugan. Some things not hooked up yet.
2020-05-29 20:04:39 -04:00
nattthebear
de25b53fe2
Use google flatbuffers for some waterbox core communication
...
Nyma cores have to move some big complex structs on init and it's annoying and error prone. This solution is not fast, but these are one time transfers anyway, and it does keep code size and saved size down. Architecture yay.
2020-05-29 18:03:01 -04:00
zeromus
5a0992c2b7
make projects build only once (for net48). this will probably displease anyone working on targeting one of the other 50 frameworks, but they need to do that in another branch until they can figure out how to make it peacefully coexist; maybe by an alternate solution+project configuration (done in common props, ideally)
2020-05-29 17:45:07 -05:00
alyosha-tas
527334f7e6
GBHawk: performance optimizations
2020-05-29 10:25:03 -04:00
nattthebear
4494caac50
nyma - controller settings tweaks
...
move power and reset to last tab
add name overrides because evidently most humans have no idea that "RIGHT →" in fact means the same thing as "Right"
2020-05-28 11:41:23 -04:00
alyosha-tas
bee1712a2f
GBHawk: fix mickey's chase damage audio
2020-05-28 09:20:04 -04:00
adelikat
22a2bb7dc8
see true for more info, but is anything really true?
2020-05-28 08:15:49 -05:00
adelikat
3edae578db
cheat - delete more stuff
2020-05-28 08:15:49 -05:00
nattthebear
d13a1b54a2
code cleanup
...
Remove three Stream.CopyTo(Stream) variants that all did the exact same thing as the framework method Stream.CopyTo(Stream). None of them were used anywhere.
2020-05-28 07:40:20 -04:00
nattthebear
04f86c2843
code cleanup
...
address a comment on a method called "ascii" that actually used utf8
2020-05-28 07:38:09 -04:00
nattthebear
8c707ea870
build emuhawk with console in debug mode, without in release mode
...
fixes #2038
obsoletes #2052
2020-05-28 06:47:39 -04:00
nattthebear
96c764e1d8
turbonyma: don't show the RTC settings that we added for neopop
2020-05-28 06:37:12 -04:00
nattthebear
2afe356fc9
Move ngp over to nyma core and update to latest mednafen
...
It's seen some upstream updates recently, so that's cool
2020-05-27 19:33:31 -04:00
adelikat
bf544e02fa
Simplify Cheat Pulse() logic wihen it comes to comparison type, and also fix comparison type logic that wasn't accounting for all the display types
2020-05-27 16:36:22 -05:00
adelikat
b1c294c236
always add core name to savestate filenames, fixes #2051 . Negative consequences is that for all ocres that did not previously have multiple core options, previous save slots will be "lost" to the user (files will still be there but bizhawk won't detect them)
2020-05-27 15:55:19 -05:00
nattthebear
7e53ef69ed
Add soft reset / hard reset to nymacores
...
most of the work had already been done, just didn't wire it up in C#land
2020-05-27 16:17:05 -04:00
zeromus
924c566dc1
fix RW/FF NUD ( fixes #2061 )
2020-05-27 13:18:18 -05:00
nattthebear
684fca66c5
Revert c18298c8a5
and reimplement it, also connecting profiles
...
Part of the reason no one uses Bizhawk is because we make changes like c18298c8a5
without considering the needs of all users.
2020-05-27 13:14:38 -04:00
YoshiRulz
da844c8eee
Add icon intended for the Log Window
...
Not wired up. .ico generation with ImageMagick:
`magick convert icon.png -define icon:auto-resize="48,32,16" icon.ico`
2020-05-28 03:01:25 +10:00
alyosha-tas
59baedbc64
ZXHawk: fix lag detection on kemston joystick. Fixes #1993
2020-05-27 12:26:08 -04:00
alyosha-tas
7b340f8766
Fix documentation Fixes #2015
2020-05-27 11:29:33 -04:00
adelikat
3604452b65
Cheat.cs - remove an unused method, simplify a bit on another
2020-05-27 10:13:51 -05:00
nattthebear
4236662f53
Change logic on what goes in the toolbox
...
If a tool has no toolattribute, it is presumed to be released. Fixes #2015
2020-05-27 11:06:53 -04:00
nattthebear
59a67329c7
work around crash in clientapi when loading pce nyma
2020-05-27 07:52:53 -04:00
nattthebear
b0620ca79d
PCE tweaks
...
finish up memory domains
make bram behave like pcehawk, instead of giving it to every game, only give it to games that had it
finish up ppu view
2020-05-27 07:35:51 -04:00
nattthebear
0891e448d7
mednapce - lag flag, some more memory domains, some ppu view work
2020-05-26 21:23:52 -04:00
nattthebear
c467023dac
nyma pce - add gecd detection
2020-05-26 16:26:58 -04:00
nattthebear
3f43df4b1a
Add settings UI for nyma
2020-05-26 16:12:29 -04:00
zeromus
b0b33ec2da
clean up disc identification in RomLoader, and hook up GECD as being handled by turbocd system (but that probably isn't right)
2020-05-26 13:13:53 -05:00
zeromus
2c62d8cf73
add "TurboGECD" disc type identifier. fixes #2043
2020-05-26 13:12:47 -05:00
zeromus
78bde0a5b4
extra fix due to last commit
2020-05-26 13:12:06 -05:00
zeromus
5a6072cdf0
Revert "Move some private helper methods to local methods in DiscSystem"
...
This reverts commit 6f813edbdb
.
2020-05-26 12:51:33 -05:00
nattthebear
7244231cc4
adjust comments
2020-05-26 08:17:39 -04:00
YoshiRulz
33ff00714d
Change more input code to use int for axes instead of float
...
This probably breaks TAStudio or something, on the bright side a lot of the
float equality checks are gone. see e12b5d813
2020-05-26 21:45:20 +10:00
YoshiRulz
3e5aa1a65f
Add Menees.Analyzers and update FxCop
2020-05-26 17:22:20 +10:00
zeromus
162a151451
don't need to complain when I can do this
...
This reverts commit 02a70a4457
.
2020-05-25 23:15:25 -05:00
YoshiRulz
6e9539157e
Allow searching contents of .gz, .tar, and .rar archives
...
not .tar.gz though, it thinks it's a nested archive and that's disallowed
somewhere else
2020-05-26 14:08:10 +10:00
YoshiRulz
7ae94c4300
Fix nullability of return type
2020-05-26 13:46:54 +10:00
YoshiRulz
02a70a4457
Show dialog on launch when running an unsupported version of Windows
...
this time it doesn't happen on dev builds so zeromus can't complain
see 60b7858fb
, 8c50945ec
2020-05-26 13:43:11 +10:00
alyosha-tas
3a2aae61aa
Merge branch 'master' of https://github.com/TASVideos/BizHawk
2020-05-25 22:34:18 -04:00
alyosha-tas
9be42c5c69
Fix picking GBhawk core
2020-05-25 22:33:15 -04:00
adelikat
cd5591a122
remove some redundant code
2020-05-25 21:25:24 -05:00
adelikat
0d12d5a819
CheatList - pass in the DisableCheatsOnLoad config value
2020-05-25 21:25:24 -05:00
adelikat
7778fccd77
add uzebox path entries, fixes #2043
2020-05-25 19:21:31 -05:00
nattthebear
a20c3c3ccb
Change waterbox to use memory reserve semantics
...
If a particular core instance doesn't use up too much memory, then we don't charge the host OS for that memory.
The strange thing here is that, testing locally on Windows 10, we were already getting the desired semantics even with SEC_COMMIT and not SEC_RESERVE. This commit is still important because:
1) Windows might be providing me an optimization it can't guarantee,
2) Linux might not be able to provide the same optimization
3) In any event, this patch also trims down xor snapshots to match the actual needed size.
2020-05-25 20:03:32 -04:00
adelikat
87c48879fc
move Global.Emulator to GlobalWin.Emulator now that no Client.Common files reference it
2020-05-25 18:05:34 -05:00
adelikat
5b7d612238
SaveStateManager - simplify video buffer loading and don't use Global.Emulator
2020-05-25 17:59:09 -05:00
adelikat
7a374f0013
CheatList - has memory domains passed in to the Load() method
2020-05-25 17:50:42 -05:00
adelikat
8798d0c03e
CheatList - remove some unused code
2020-05-25 17:43:03 -05:00
adelikat
e498476b55
CheatList - move a config check to the calling code
2020-05-25 17:29:57 -05:00
adelikat
705af68f65
check if ITasMovie not TasMovie, still not great that it needs to check types but better
2020-05-25 16:50:56 -05:00
adelikat
5e4983c93f
TasMovie.RecordFrame() - duplicate desired base class logic instead of calling base, because base does some "VBAStyleLoadState" stuff that is very undesireable in tastudio
2020-05-25 16:47:26 -05:00
nattthebear
472a954da0
Minor cleanup in some waterbox memory functions
2020-05-25 17:31:50 -04:00
feos
5539308398
mame: fix configs being dumped to disk hopefully, also fix the thing
...
mame lua figuring out cpu and address space every time I read a byte was a dumb idea it seems. accessing maincpu program space directly via C API is much wiser. ram search does the thing now.
2020-05-26 00:04:43 +03:00
adelikat
2ce79fc356
Move SoundMaxBufferDeficitMs and DisableSecondaryThrottling from Global to GlobalWin or Sound class, since only EmuHawk code accesses these
2020-05-25 15:40:23 -05:00
adelikat
aec01b794a
Have movies maintain a copy of the current core since their lifecycle should never extend past the core, removes a lot of global usage, downside is that it makes IMovie have more things when it is already very complex
2020-05-25 15:03:45 -05:00
nattthebear
07c627cc3e
Merge pull request #2044 from TASVideos/nyma
...
Add 'nyma' project
The goal is to eventually update all of our Mednafen cores. For now, there is a work in progress import of the Mednafen pce core. Basic gameplay with hucard, turbocd, and supergrafix is supported, but the core is not complete yet.
2020-05-25 13:54:35 -04:00
nattthebear
9ec8536a5e
Finish getting saveram working on PCE (theoretically)
...
This actually makes saveram saving and loading somewhat slower on all waterbox cores, but whatever... it's more important to be simple and readable in this code than fast.
2020-05-25 13:49:47 -04:00
adelikat
fbb47b2297
StateManagerDecay - pass in Global.Emulator.Frame instead of referencing it directly
2020-05-25 12:47:30 -05:00
nattthebear
f9b5b9e374
pce - implement most memory domains our existing core does
...
The mednafen debugger system makes this easy, unfortunately that has a lot of other baggage, so do it this way
2020-05-25 12:49:36 -04:00
nattthebear
1000b74f2d
tweak waterbox hash detection
...
A game could wild pointer into a slightly out of range part of the sealed heap during init, and then do so differently on a subsequent init, and we wouldn't detect it
2020-05-25 12:49:35 -04:00
nattthebear
4ec0753f52
all that stylecopp shizz and it doesn't have a line length limit =/
2020-05-25 12:49:35 -04:00
nattthebear
f37a51ef27
Rework memory block os abstraction
...
The existing code had a lot of copy paste and things that needed to be done twice to keep both impls in sync. Refactor to use a minimal abstraction layer and keep all other code common
2020-05-25 12:49:35 -04:00
nattthebear
b871f95dc0
pce - fix drive light
2020-05-25 12:49:35 -04:00
nattthebear
586117462e
add back the old wonderswan controller config category labels
...
no hack this time
2020-05-25 12:49:35 -04:00
nattthebear
bc8d298a88
support pce-cd and sgx in nyma
2020-05-25 12:49:34 -04:00
nattthebear
8c9f4e24d8
settings infra
2020-05-25 12:49:34 -04:00
adelikat
daaa28f451
wire up as much as I can pcecd to TerboGrafix core
2020-05-25 12:49:34 -04:00
adelikat
e332096731
wire up more pce core picker
2020-05-25 12:49:34 -04:00
adelikat
d9eb9c86ec
prep work for pce core picker
2020-05-25 12:49:34 -04:00
nattthebear
69d3dbc35f
pce: basic rom loading and playing works
2020-05-25 12:49:33 -04:00
nattthebear
d82d67996f
Rework controller config
...
What _was_ this? A new categoryLabel abstraction was added so we'd need fewer hacks, but in order to use it you need to add extra hacks to it per core? Nonsense code, too. Fix it properly. (Maybe; I didn't test it. Why bother? No one else puts any effort into this either.)
2020-05-25 12:49:33 -04:00
nattthebear
257aa991fd
progress, or regress, or somegress
2020-05-25 12:49:33 -04:00
nattthebear
24286be735
Linking and unwinds
...
The goal here is to provide an unwind implementation that works. We (probably) don't have a working ldso, so reconfigure libunwind to work without that. To do that, it needs __eh_frame_* variables which it can addressof to find the locations of .eh_frame and .eh_frame_hdr. There is no way I could get gold to add these at all, so switch back to ld and add a custom linkscript. The custom linkscript gives us the opportunity to simplify the savestate memory mapping stuff inside ElfLoader, which should knock a bit of time off of state loads -- those VirtualProtect calls are not cheap. This also removes a potential source of nondeterminism with certain clever out of range pointers.
Any waterbox core that I didn't recompile for this commit will assert now until it is recompiled, because .wbxsyscall is in the wrong palace.
2020-05-25 12:49:32 -04:00
nattthebear
815d49bd63
cap nullemulator to <=200fps
...
realistically, about 160-165fps for me
2020-05-25 12:49:32 -04:00
nattthebear
a1ce5e514c
Some changes, most notably syscall cleanup
2020-05-25 12:49:32 -04:00
nattthebear
0f65351e13
Marching onward
2020-05-25 12:49:31 -04:00
adelikat
4e3ae130e2
move some logic out of TasLagLog that belongs at the caller level
2020-05-24 19:56:29 -05:00
alyosha-tas
43e796d256
SubGBHawk: no longer add vblank count to header
2020-05-24 18:37:24 -04:00
adelikat
c22e02d22b
ToTasMovie() extension method - remove vestigial default bool param
2020-05-24 17:10:14 -05:00
adelikat
0acb697808
use MovieService more
2020-05-24 16:43:04 -05:00
adelikat
e980932356
Tastudio - don't show inaccurate core nag, if a movie is already loaded, since the movie has the inaccurate core in sync settings, this royal jacks things up
2020-05-24 16:26:35 -05:00
adelikat
44b5d12e39
Recent menus - add freeze/unfreeze icons to the freeze menu, hopefully will help it be more noticeable when the mode has changed from a misclick
2020-05-24 16:12:22 -05:00
TiKevin83
cab89ef182
Cleanup unused libretro shader code
2020-05-24 15:29:01 -05:00
alyosha-tas
21779a2a6f
GBHawk: ppu refactor for window and bus
2020-05-24 16:26:07 -04:00
alyosha-tas
334844bde2
SubGBHawk: use cycle count to correctly track time
2020-05-24 16:25:14 -04:00
adelikat
23c1ccac7e
BkmControllerAdapter - simplify and get rid of legacy support for random buttons, not such a good idea on an importer
2020-05-24 14:07:47 -05:00
zeromus
831a64c7de
fix layout of bsnes registers fetch payload (broken in 36be9e9fc7
). fixes #2040
2020-05-23 23:46:52 -05:00
YoshiRulz
5b5b6bd483
Unify ApiContainer instantiation
...
fixes c1cd1b9e0
2020-05-24 14:19:14 +10:00
YoshiRulz
af2f460356
Make this WriteLine in FrameBufferResized conditional on DEBUG
2020-05-24 14:01:09 +10:00
YoshiRulz
5689d69bfb
Make gamedb's WriteLine flooding conditional on DEBUG
2020-05-24 13:57:08 +10:00
adelikat
340370fd68
simplify Bkm importing
2020-05-23 20:58:00 -05:00
adelikat
1a6931bdb1
Simplify bkm importer
2020-05-23 20:44:38 -05:00
adelikat
f70fcdc3b2
remove LoopOffset support from BkmMovie
2020-05-23 20:34:49 -05:00
adelikat
d4aa057664
Simplify getting core names by using the constant instead of reflection
2020-05-23 20:28:28 -05:00
alyosha-tas
e94432dbd8
GBHawk: fix audio for games that turn off wave chanel rapidly to fill wave ram
2020-05-23 19:19:41 -04:00
adelikat
a540a2fe85
consolidate movie instantiation code more
2020-05-23 15:04:30 -05:00
adelikat
1e9dcd2e9b
for fixes to bk2 and tasmovie creation, fix a conversion bug that did StartsFromSavestate TasMovie logic for movies that start from saveram
2020-05-23 14:08:36 -05:00
adelikat
22bab8361a
ugh, didn't mean to remove the lock in Input.cs
2020-05-23 14:02:43 -05:00
adelikat
0f1066fe93
restrict and consolidate new-ing of IMovie classes
2020-05-23 13:53:47 -05:00
adelikat
0e59ef1679
documentation fix
2020-05-23 13:39:30 -05:00
adelikat
1326a30287
remove some unnecessary .ToString() calls
2020-05-23 13:36:23 -05:00
adelikat
63cd1c603e
Input.cs - simplify and remove a todo, I think not creating a copy is fine here
2020-05-23 13:36:23 -05:00
adelikat
54de7ad178
Use more movie mode extension methods, make MovieSession null until a movie is loaded
2020-05-23 13:36:23 -05:00
adelikat
d0d526f746
Some fixes to movie mode extensions, these aren't bugs, yet, as the scenarios never occur
2020-05-23 13:36:23 -05:00
alyosha-tas
2e4609ff02
GBHawk: implement some minor audio hardware bugs
2020-05-23 14:35:55 -04:00
adelikat
f2f2de8bdd
Rip out the Infinite movie feature, it was a gimmick that has run its course. It isn't much code but it does complicate the API for a feature that would never lead to a published tas movie
2020-05-23 12:57:24 -05:00
adelikat
3174a676f5
make a struct readonly, and private
2020-05-23 12:57:24 -05:00
alyosha-tas
216580f693
GBHawk: center sound waveform. Seems to help ready to rumble and cannon fodder. Sounds closer to what I hear in videos.
2020-05-23 12:06:23 -04:00
adelikat
5912f6d491
MovieApi - simplify some long winded comment and subtitle generation. This class seems to very thinly wrap the IMovie api, why not just provide an IMovie?
2020-05-23 10:00:55 -05:00
adelikat
8d5cbd728e
simplify SimpleController API
2020-05-23 09:43:38 -05:00
adelikat
049a79c996
separate the logic of creating an inputlog from generate on screen input display. Some duplicated code by doing this but I'll take that over tangled code, and more importantly, this separates the need of having an instaniated movie in order to display input
2020-05-23 09:27:47 -05:00
YoshiRulz
c1cd1b9e0f
Cleanup some ApiHawk management code
2020-05-23 20:44:32 +10:00
YoshiRulz
9e4595c184
Remove remaining reflection in ClientApi and cleanup
2020-05-23 16:20:42 +10:00
alyosha-tas
74ef5b4b1f
GBHawk: tune audio a bit
2020-05-22 21:28:58 -04:00
upthorn
e5efeb49ac
Add DrawImage and DrawImageRegion overloads to Gui API to allow for drawing an image from a prepared Image object rather than requiring a file in all cases.
2020-05-22 15:02:48 -07:00
upthorn
2437e0dba9
Make ClientApi calls safer by avoiding reflection where possible.
...
Add InvisibleEmulation and SeekFrame to allow CamHacks to function
2020-05-22 15:02:48 -07:00
adelikat
bf6f6a54d0
When loading a movie - account for a missing core header entry, fallback to the user's preferred core but give them a pop up warning about it
2020-05-22 11:52:56 -05:00
alyosha-tas
78f0b9252d
GBHawk: controller IRQs enabled by write delayed 4 cycles
2020-05-22 12:17:42 -04:00
YoshiRulz
b65ad5afbd
Inherit ElfSharp dependency
...
my bad; fixes 6e0148d92
and 4f10b9780; re: #2035
2020-05-22 14:44:56 +10:00
zeromus
4f10b97809
this suffices to get elfsharp going. when i added it myself as a package in VS, it didnt touch the nuget json config files but did add it as a reference here. Nuget was invented after my time, so I don't know what's going on. ( fixes #2305 )
2020-05-21 15:35:17 -05:00
alyosha-tas
db91189668
GBHawk: fix audio
2020-05-21 13:38:34 -04:00
nattthebear
09f75c281c
Play musical names with MemoryBlock
...
The refactoring of platform abstractions should never have changed the name of the public interface. No one cares about MemoryBlockWindows or MemoryBlockUnix - those names are impl details.
2020-05-21 12:59:36 -04:00
YoshiRulz
174a7cc46d
Silence NU1702 (Framework dep in Standard project)
2020-05-21 17:33:53 +10:00
YoshiRulz
69b8539d55
Fix defaults button in GenericCoreConfig not updating _settingsChanged
2020-05-21 17:32:26 +10:00
YoshiRulz
6e0148d921
Cleanup references
2020-05-21 17:25:35 +10:00
YoshiRulz
ab1dca3e41
Fix NRE on passing empty string to LoadRom, simplify HawkFile creation
...
HawkFile now correctly sets FullPathWithoutMember to "" and Exists to false,
meaning RomLoader will return false instead of crashing.
2020-05-21 17:00:43 +10:00
YoshiRulz
9ae272e778
Import MainSlnCommon.props in BizHawk.Tests
...
fixes 1bfaaab87
2020-05-21 16:39:46 +10:00
YoshiRulz
7ddf6c26b9
Refactor DiscMountJob.RunBizHawk() to remove goto
2020-05-21 04:45:01 +00:00
YoshiRulz
b2982825d8
Make DiscJob abstract
2020-05-21 04:45:01 +00:00
YoshiRulz
6f813edbdb
Move some private helper methods to local methods in DiscSystem
2020-05-21 04:45:01 +00:00
YoshiRulz
d436b9b9aa
Fix colection/LINQ usage in DiscSystem
...
except the garbage that is byte[].Skip().Take(), I CBB fixing that
2020-05-21 04:45:01 +00:00
YoshiRulz
0ccf30396d
Use modern `??=`, `is`, casts, etc. in DiscSystem
2020-05-21 04:45:01 +00:00
YoshiRulz
ae22cd9f1b
Use explicit visibility modifiers in DiscSystem
2020-05-21 04:45:01 +00:00
YoshiRulz
0706b96afe
Fix encapsulation of IN_*/OUT_* in DiscSystem
...
these properties imply builder semantics but the classes aren't builders
2020-05-21 04:45:01 +00:00
nattthebear
21cdf5120b
Revamp waterbox build environment and runtime. ( #2027 )
...
Create an all new waterbox build environment:
WSL2 + Ubuntu 20.04 LTS (Other linuxes may work)
Musl libc with waterbox customizations
LLVM's libclang-rt, libunwind, libcxxabi, libcxx
Static linking to elf files
Compared with the old system, this is easier to set up a dev env for and easier to update in the future. The executables are larger but produce smaller savestates due to static linking. The modern toolchain means advanced library features and language features that sometimes appear in some upstream cores will be reusable.
2020-05-20 15:34:24 -04:00
alyosha-tas
acf7926629
Add iscgb flag for subgbhawk
2020-05-20 15:04:05 -04:00
alyosha-tas
8ef5c18fcb
GBHawk: bug fix and start wok on audio
2020-05-20 11:32:03 -04:00
adelikat
b5ad1e636e
add .uze (uzbox) to the Load Rom dialog filter
2020-05-19 20:48:53 -05:00
adelikat
123dbcc46d
make uzebox and pcfx games not throw an exception on load, fixes #2022
2020-05-19 20:46:07 -05:00
adelikat
0a12f9e742
more tests for Bk2LogEntryGenerator
2020-05-19 20:29:55 -05:00
adelikat
0b5047b64a
fix test namings, make Client.Common internals visible to tests, add a Bk2LogGenerator tests (more to come)
2020-05-19 20:05:12 -05:00
adelikat
1bfaaab872
https://www.youtube.com/watch?v=Ya2xifdO_l0
2020-05-19 19:55:08 -05:00
adelikat
21e4d30f98
remove another string extension method that was unused, and consolidate classes
2020-05-19 19:37:52 -05:00
adelikat
6d7d36c1d0
delete HowMany() extension method and just use .Count() instead, the one value add of null/empty checking was never utilized anyway
2020-05-19 19:30:24 -05:00
adelikat
96b0b37673
consolidate and rename tests project into a single project, delete commented out tests, add a unit tests that tests a thing
2020-05-19 19:24:53 -05:00
YoshiRulz
d91c477e5a
Add test projects and solution using MSTest, add scripts, upgrade CI
2020-05-19 23:54:14 +00:00
adelikat
0f1f463bcb
I nitpick interface refactor
2020-05-19 18:01:09 -05:00
YoshiRulz
74a6da509a
Add NumLock and PrintScreen to OpenTK and to DirectInput->OpenTK map
2020-05-19 23:47:54 +10:00
YoshiRulz
2c817e3057
Use Range.Count extensions
2020-05-19 23:37:59 +10:00
YoshiRulz
7613748390
Fix some code flagged by StyleCop
...
SA1106 x4, SA1113 x2, SA1142 x2, SA1206
2020-05-19 23:33:16 +10:00
alyosha-tas
c96a233d5d
GBHawk: Speed switch timing fix.
2020-05-18 15:43:51 -04:00
feos
e075012b70
Rundum ( #2019 )
...
fix #1701
fix #1285
Co-authored-by: nattthebear <goyuken@gmail.com>
2020-05-18 21:11:18 +03:00
RetroEdit
4555be85bc
tastudio: fix Changes wrongly being set false ( #2018 )
...
tastudio: fix Changes wrongly being set false
2020-05-18 12:29:23 -05:00
adelikat
28d859e2d8
SavestateManager - make a public method private
2020-05-18 11:59:25 -05:00
RetroEdit
88b038f24e
Improve frame insertion/deletion efficiency, particularly for undos ( #2017 )
...
* Replace unnecessary fromHistory parameters
* Improve frame insert efficiency, particularly for undos
* Improve frame delete efficiency, particularly for undos
2020-05-18 10:58:29 -05:00
adelikat
4b6e6d996a
Simplify some Bkm code
2020-05-17 15:34:47 -05:00
adelikat
100fc2bad5
Rewinder - remove message callback, I dont' think this message is worth the code, especially since mainform always adds a message
2020-05-17 15:14:40 -05:00
adelikat
78c1482720
Rewinder - remove Movie active check when deciding about keeping the last frame of a rewind. It seems to work without it, but more significantly, rewind is not MOVIE SAFE, it used to be disabled while recording, and somehow got enabled, I guess someone wanted their desyncs
2020-05-17 15:06:23 -05:00
adelikat
1e0ae62041
Rewinder - pass stuff in, instead of using globals
2020-05-17 15:01:44 -05:00
adelikat
b140143791
Watch classes - remove "LIAR logic"
2020-05-17 13:35:49 -05:00
adelikat
b2d482ea66
Hex editor - cleanup a bit
2020-05-17 12:26:53 -05:00
adelikat
07225c06de
oops - fix multi-byte views in hex editor
2020-05-17 12:25:04 -05:00
adelikat
5ffc26b5e9
AutoFireStickyXorAdapter - pass in on/off instead of getting them directly from Global.Config
2020-05-17 11:59:24 -05:00
adelikat
c91b17877d
Simplify MovieSession a bit
2020-05-17 11:23:52 -05:00
adelikat
3e354ed230
Simplify Movie extensions ToBk2()
2020-05-17 11:22:22 -05:00
adelikat
42356dd32b
roll back RomLoader cleanups from e4563570f9
, ref implicit tuples and todos don't make the situation better
2020-05-17 11:05:44 -05:00
adelikat
604f4ce833
TasStateManager - simplify MaxState logic and actually fix the math so it isn't 2x of what is intended
2020-05-17 10:41:39 -05:00
adelikat
45fd7ee81e
nuke most of SubstringExtensions, and make it where i can at least read it
2020-05-17 10:39:24 -05:00
adelikat
04aab3c41b
add an IStatable extension method that will return a byte array that's safe to hold on to, but isn't optimized for speed, to be used in basic situations where we are making movies from savestate or getting a savestate length
2020-05-17 10:08:00 -05:00
adelikat
0154222737
a bit of reorg - put Emulation.Common sound files in the sound folder not unecessarily nested
2020-05-17 09:50:05 -05:00
YoshiRulz
0632560899
Split StringExtensions, fix and add to substring extensions
2020-05-17 23:02:30 +10:00
YoshiRulz
e4563570f9
Cleanup RomLoader
...
splitting methods from LoadRom makes it ~150 LoC instead of ~850
2020-05-17 19:41:30 +10:00
YoshiRulz
01460cec1b
Re-add docs for MemoryBlockBase, rename End to EndExclusive
...
see 4a5ece207
, 4abe3f793
2020-05-17 15:07:41 +10:00
alyosha-tas
4ac3cb861d
GBHawk: timing and access fixes
2020-05-16 19:57:53 -04:00
zeromus
ad26b09717
change dll check descriptions to match prereq installer (and be more googlable); also remove vcruntime140.dll since I think vcruntime140_1.dll obsoletes it. I could be wrong, though. We'll readd it if its proven so.
2020-05-16 19:52:23 -04:00
adelikat
513e2287c4
Hex Editor - bulk read the char viewer as well, fixes #2012
2020-05-16 18:51:52 -05:00
adelikat
a0769d4bd9
Lua - fix client.getavailabletools()
2020-05-16 15:30:04 -05:00
adelikat
de97abf6e5
convert some more core name strings to constants
2020-05-16 14:51:47 -05:00
adelikat
3808a6d88f
RomLoader - simplify
2020-05-16 14:43:50 -05:00
adelikat
8da52d985b
more RomLoader cleanup
2020-05-16 14:21:44 -05:00
adelikat
a77988e9be
RomLoader - remove redundant if check
2020-05-16 14:13:49 -05:00
adelikat
b4b0debd59
RomLoader - remove no longer accurate comment
2020-05-16 14:09:27 -05:00
adelikat
71698d5571
fix A7800 rom loading - remove unused and legacy .csv gamedb path, and convert to use CoreInventory
2020-05-16 14:04:11 -05:00
adelikat
c830452775
move a bit more logic from RomLoader to Disc
2020-05-16 13:51:58 -05:00
adelikat
32aa623eff
RomLoader consolidate some Disc creation logic between xml and m3u code paths and abstact some of it out to the DiscSystem project
2020-05-16 13:46:48 -05:00
adelikat
8269b7dec4
RomLoader - remove some redundant cases, if all you need need to do is run CoreInventory.Instance() then the default case handles that
2020-05-16 13:12:36 -05:00
adelikat
14c117e92e
RomLoader - GPGX - support rom + cd .xml files
2020-05-16 11:54:36 -05:00
adelikat
e547a0eb6f
add GEN to multidisk bundler dropdown
2020-05-16 11:38:37 -05:00
YoshiRulz
c248ee495a
Replace ILinkedLibManager.LoadOrNull w/ LoadOrZero
...
see aa8fe56ef
and 4baefd874
2020-05-16 11:41:58 +00:00
YoshiRulz
7afa4a2f98
Replace GetProcAddrOrNull with GetProcAddrOrZero
...
both in ILinkedLibManager and its inheritors, and in IImportResolver and its
inheritors; see aa8fe56ef
2020-05-16 11:41:58 +00:00
YoshiRulz
3e51bbe5c2
Revert "Fix up Nullable<IntPtr> brain damage"
...
This reverts commit aa8fe56ef9
.
2020-05-16 11:41:58 +00:00
nattthebear
9944c9d989
add check for another dll file that we now require
2020-05-16 07:19:24 -04:00
alyosha-tas
11806fa178
GBHawk: timing and DMA work
2020-05-15 21:47:41 -04:00
nattthebear
61f269f097
maybe fix a maybe bug in maybe code that maybe will ever be run
2020-05-15 19:44:28 -04:00
nattthebear
de6208d264
fix a warning in pce
...
looks like something was swept under the rug with the PutSettingsDirtyLikeYourMomBits refactor
2020-05-15 19:01:40 -04:00
nattthebear
aa8fe56ef9
Fix up Nullable<IntPtr> brain damage
...
It'd be one thing if we needed a sentinel value distinct from IntPtr.Zero but we don't. It's a pointer, and 0 is globally understood to be The Bad Value.
Some brain damage remains:
* LoadLibrary abstraction also returns Nullable<IntPtr>
* I named it `Resolve` and not `GetProcAddr` because I didn't want to see win32 everywhere I went :(
2020-05-15 18:56:34 -04:00
adelikat
63ef4125dc
lua - fix client library being null on null emulator
2020-05-15 10:43:30 -05:00
nattthebear
4abe3f7932
Revert 4a5ece2076
( #2007 )
...
Because of intervening commits, there may be some other incidental changes.
While well intentioned, the refactoring was just a mess when it came to actually groking this low level memory block shuffling code.
2020-05-15 07:40:28 -04:00
YoshiRulz
1ee38dcac2
Fix IList<T>.ToLuaTable() extension ( resolves #2004 )
2020-05-15 18:07:37 +10:00
YoshiRulz
7725d59636
Enable SA1124 "Do not use regions" and fix compliance
2020-05-15 17:00:53 +10:00
YoshiRulz
87ec2618a1
Revert "delete all regions"
...
This reverts commit e566d8e258
.
2020-05-15 17:00:49 +10:00
YoshiRulz
a1b501fe5a
Fix OpenAL sound on Unix
...
TODO copy this file from NuGet cache w/ MSBuild
2020-05-15 15:37:29 +10:00
YoshiRulz
fd9da66a85
Revert "Force DummySoundOutput on Mono for now"
...
This reverts commit aaa75a19aa
.
2020-05-15 15:37:23 +10:00
nattthebear
00aebc110c
Fix 3 band equalizer in Genesis ( #2008 )
...
If you tried setting your gains to 100 in the previous patch, it worked sort of, but I decided to incorporate ekeeke/Genesis-Plus-GX@f6f4556 as well to actually fix it completely, and rescale the setting properly so that 1.0 really is neutral gain.
Fixes #1319
2020-05-14 20:29:02 -04:00
nattthebear
68dc12dab7
Prohibit U+D/L+R at the core level in SGB
...
fixes #1308
2020-05-14 19:51:19 -04:00
nattthebear
5892059fc3
Add bulk peek byte for waterbox cores
...
This should speed up the hex editor significantly in one byte mode, but it doesn't because the hex editor is buggy
2020-05-14 18:40:56 -04:00
nattthebear
a49a372410
add bulk read of intptr memory domains.
...
speeds up ram search in quicknes
2020-05-14 18:10:16 -04:00
nattthebear
e566d8e258
delete all regions
2020-05-14 17:33:40 -04:00
upthorn
01089645cc
Merge branch 'master' of https://github.com/TASVideos/BizHawk
2020-05-13 09:25:35 -07:00
upthorn
d48651e668
Prevent crashes on Set*ExtraPadding
...
Prevent crashes when needing to invoke private methods from MainForm.
2020-05-13 08:57:12 -07:00
zeromus
8d1a1e4c92
Properly skip presentation and user prescale steps when taking "raw" screenshot. About a 10% chance of other regressions. fixes #1997 .
2020-05-12 22:39:41 -04:00
alyosha-tas
f089fe5fcd
O2Hawk: Fix Catch the Ball collision detection (timer and counter can't be enabled at the same time.)
2020-05-11 16:30:09 -04:00
zeromus
453baebdcc
neshawk - fix poking wram (fixes ancillary unrelated issue in #1994 )
2020-05-10 20:59:40 -04:00
adelikat
cb55cdd0dd
delete a bit more PCE menu stuff
2020-05-09 19:11:52 -05:00
adelikat
35bed42042
PCE - remove menu items and config dialogs in favor of simply having a GenericCoreConfig dialog
2020-05-09 19:10:54 -05:00
alyosha-tas
e7f603c396
GBHawk: optimizations and serial port cleanup
2020-05-09 18:59:52 -04:00
nattthebear
a040e67c95
Add option to force sram in genesis core ( #1991 )
...
gpgx upstream automatically gives 64KiB sram to every game of size 2MB or lower, unless specifically overrided. That sucks and we don't do it. But some games do need it; there's not enough information to autodetect otherwise. So add a flag that we can set in gameDB for it, and set it true for two known games that have problems otherwise.
2020-05-09 13:48:46 -04:00
adelikat
976ea4967b
cleanup IAsyncSoundProvider hacks and consolidate code that is only used for PCE
2020-05-09 11:01:02 -05:00
adelikat
b16684b4c7
YM2413 - don't implement IMixedSoundProvider, it isn't used
2020-05-08 18:04:04 -05:00
adelikat
05cffd887a
SMS - cleanups
2020-05-08 17:31:20 -05:00
adelikat
099e2f4f97
remove unused YM2612.cs
2020-05-08 16:29:32 -05:00
adelikat
0a512dac4a
SoundMixer - remove an unused and uneeded method, I think it is a reasonable contract that you have to pass in all sound sources during construction
2020-05-08 09:05:32 -05:00
adelikat
3c76e6014a
HuC6280PSG - make some public things private or internal
2020-05-07 20:52:27 -05:00
adelikat
3ae16c4248
Ram search - reduce some unnecessary recreating of the entire ram search list during load. Also remove some Reboot() logic that happens right before a NewSearch that immediately negates it
2020-05-07 17:51:40 -05:00
adelikat
1c51d5b012
Multidisk Bundler - add logic to properly restart when the Rom changes
2020-05-07 15:41:48 -05:00
alyosha-tas
227084c2dd
GBHawk: better emulate unmapped memory
2020-05-07 15:27:07 -04:00
alyosha-tas
8bd739a4c8
GBHawk: ppu cleanup and more aaccuracy edge case work
2020-05-07 11:24:08 -04:00
feos
697bb84808
tweak
2020-05-07 18:12:44 +03:00
adelikat
c50c38d88b
GPGX - keep a savestate buffer for SaveStateBinary, yeah maybe it shoudln't be every cores responsibility, but until it doesn't, this greatly improves rewind and tastudio performance
2020-05-06 20:22:23 -05:00
adelikat
a118763409
a few worthless nitpicks
2020-05-06 20:22:23 -05:00
nattthebear
722358c1b1
Fix pokeymans pirate roms on gpgx ( #1986 )
...
mapper_32k_w expects to be able to write to rom area, so those roms now need larger savestate space
We could be extra clever and alloc_invisible the space and then restore after loadstate, but this pokeymans garbage doesn't deserve that work
2020-05-06 09:39:51 -04:00
nattthebear
974792cdfe
Make waterbox consistency check ui option only skip the memory check, not the core check ( #1979 )
2020-05-06 07:46:40 -04:00
adelikat
a0d825084a
virtual pad support for GB 3x and 4x
2020-05-05 16:44:09 -05:00
zeromus
ca24b31640
waterbox - skip only memory consistency check
2020-05-05 17:29:12 -04:00
zeromus
74ba281463
readd opentk/dinput options to gui
2020-05-05 17:26:13 -04:00
adelikat
53c1f5f784
BasicBot - fix Load event not being called on load
2020-05-05 13:06:33 -05:00
adelikat
22ee71b0cf
refactor lua shenanigans in mainform, instead move frame based logic to lua console update hooks, control SupressScripts in lua itself not in mainform. Also, this breaks the logic that automatically stop countihng rerecords if loadstate happens from script, the logic appeared to be broken and can/should be managed by the script itself
2020-05-05 12:40:57 -05:00
alyosha-tas
4391c97a8e
GBHawk; VRAM access cleanup
2020-05-05 09:03:22 -04:00
YoshiRulz
8c005e6ffa
Add assembly list to ext. tool Attribute, allows shipping dependencies
...
DBMan works again
2020-05-05 09:26:37 +10:00
YoshiRulz
aaa75a19aa
Force DummySoundOutput on Mono for now
2020-05-05 08:54:21 +10:00
feos
4e60e164be
mame: deconstruct Update()
2020-05-04 16:48:26 +03:00
feos
ae448f3cb2
minor tweaks
2020-05-04 15:48:44 +03:00
feos
e836ce343e
mame: let non-fatal "NOT FOUND" problems slide
2020-05-04 13:17:28 +03:00
feos
8e5e1929b2
mame: reduce copypaste
2020-05-04 12:49:25 +03:00
feos
82dcccf6cd
allow exit too
2020-05-04 11:58:27 +03:00
feos
6f72012d6a
move launchers around
2020-05-04 11:27:35 +03:00
feos
7370b4e949
explanations
2020-05-04 11:25:23 +03:00
feos
5c2e6d35c3
mame: finally make mem reading work with frame advance
...
proof that it's a good idea to go to bed with a problem, because your brain keeps solving it while you're sleeping. so when you wake up, it presents you the solution that actually works.
2020-05-04 10:53:29 +03:00
zeromus
7ce9a56dda
fix display manager custom AR/size. broken by 45e0abe39d
. fixes #1975
2020-05-04 00:37:12 -04:00
zeromus
4c7ade126c
disable architecture mistmatch warning on emuhawk
2020-05-04 00:33:20 -04:00
adelikat
cfdb5ffeb6
remove unsupressing too
2020-05-03 20:34:35 -05:00
adelikat
e906f41dc7
TAStudio - don't disable lua scripts while seekinng, even the comment suggests this is a sloppy copy/paste from lua code that definitely would want to disable things
2020-05-03 20:33:39 -05:00
YoshiRulz
1b17cb4297
Replace batch/shell script with MSBuild
2020-05-04 09:41:30 +10:00
YoshiRulz
31d4662ab6
Change executables' build paths and names
2020-05-04 07:22:48 +10:00
YoshiRulz
245cbfbcea
This is dumb
...
This reverts commit d694213000
.
2020-05-04 07:22:26 +10:00
zeromus
d694213000
Revert "Revert "fixes" to EmuHawk.csproj"
...
This reverts commit cf252b7ba0
.
2020-05-03 17:04:44 -04:00
YoshiRulz
bdd622681d
Remove explicit parenting on Properties/Resources.cs
2020-05-04 06:21:14 +10:00
YoshiRulz
b3b5dcf64d
Add SharpCompress <PackageReference/> to EmuHawk
2020-05-04 05:41:36 +10:00
YoshiRulz
73231a59a9
Use batch/shell script to copy DiscoHawk to output as well
2020-05-04 05:24:35 +10:00
YoshiRulz
50461f17ee
Move copy-to-output scripts to Build/ and make them work
2020-05-04 05:24:32 +10:00
YoshiRulz
cf252b7ba0
Revert "fixes" to EmuHawk.csproj
...
This reverts the 5 commits ddddb309f
through 664fb5cb3
.
2020-05-04 03:55:47 +10:00
adelikat
588eeeca27
remove core specific game genie menu items that now simply load the Cheat converter tool
2020-05-03 12:38:12 -05:00
adelikat
158bff1c08
fix MainForm designer
2020-05-03 12:30:04 -05:00
adelikat
ea634daa7c
Convert Tools to use NewUpdate and remove legacy methods ( #1976 )
...
* ToolForm - add General type, remove UpdateValues from IToolForm and start refactoring to NewUpdate, a lot of things are broken
* remove boilerplate Update methods from tool dialogs that do not need them
* convert more tools
* update more tools to use NewUpdate
* update more tools
* update more tools
* convert more tools to use ToolFormBase, remove UpdateBefore property
* set up fast update in some tools
* more fixes to fast update
* Ram Watch/Search - fix fast update
* rename stuff
* rename NewUpdate() to UpdateValues()
* ToolManager - remove unused Cheats convenience property
* cleanup
2020-05-03 12:22:02 -05:00
adelikat
da5ddf3217
put a virtual AskSaveChanges method in ToolFormBase, and only override it when needed, reduces a lot of boilerplate
2020-05-03 09:52:41 -05:00
zeromus
664fb5cb31
properly fix that net48 directory business
2020-05-03 00:59:09 -04:00
zeromus
399a50ab17
put an extra .. on asset copy to keep it from getting put in net48 dir
2020-05-03 00:34:27 -04:00
zeromus
0bda6ac71e
fix asset copying... mostly... but it's copied into a "net48" subdirectory. in another commit i will fix that (because we will need to undo it when we fix this to stop building multiply)
2020-05-03 00:33:03 -04:00
zeromus
d9cba0b156
fix loading emuhawk csproj
2020-05-03 00:24:03 -04:00
zeromus
ddddb309fc
Revert "Migrate EmuHawk's post-build targets to shell scripts"
...
This reverts commit 0ff90bf131
.
2020-05-03 00:03:32 -04:00
YoshiRulz
0ff90bf131
Migrate EmuHawk's post-build targets to shell scripts
...
(because MSBuild's <Copy/> doesn't want to co-operate)
fixes 2bf1dfbd0
, but the batch script is empty so build is still technically
broken on Windows
2020-05-03 13:45:30 +10:00
YoshiRulz
2bf1dfbd09
Migrate EmuHawk to new .csproj format
2020-05-03 11:52:49 +10:00
YoshiRulz
178c491a9f
Migrate DiscoHawk to new .csproj format
2020-05-03 11:52:40 +10:00
zeromus
84c4310120
support skip option on everything else
2020-05-02 21:10:53 -04:00
zeromus
f00320b90c
support skip option on bsnes
2020-05-02 21:10:52 -04:00
zeromus
4cd6e6fe8a
support skip option in waterbox
2020-05-02 21:10:51 -04:00
zeromus
6fc522072b
plumbing for that skip option. do not look at this commit, it will displease you.
2020-05-02 21:10:50 -04:00
zeromus
a59b6c29b5
revert EmuHawkOptions to pre-layoutpanel state, so that I can actually edit it without it turning into crap. probably fix a label concerning the waterbox skip stuff that I messed up in the last commit because I was so confused
2020-05-02 21:10:48 -04:00
adelikat
388e18a8f5
consistently use ToolFormBase on tools
2020-05-02 20:09:01 -05:00
YoshiRulz
1bded467b3
Replace $(SolutionDir) with $(ProjectDir) in src/
2020-05-03 11:05:26 +10:00
YoshiRulz
5a8349b5a5
Update paths in projects (fixes build)
2020-05-03 10:58:35 +10:00
YoshiRulz
3a3b22c03b
Move projects to src subdir (breaks build)
2020-05-03 10:57:38 +10:00