Commit Graph

855 Commits

Author SHA1 Message Date
adelikat ed9b7b3eb1 Lua address several memory leaks - when a script stops, take any registered functions and spawn new threads for them to execute, and regularly dispose them. Also, the main lua thread needs to have scheduled disposes run on it, even if there is no active scripts (it was being run as part of disposing individual scripts, needs refactoring). All of this fixes #1920 2020-07-12 15:48:50 -05:00
nattthebear 9278c526d0 fix a few compiler warnings 2020-07-12 16:02:26 -04:00
adelikat 1e3324cfab Registered Lua Functions dialog - update when a lua script unregisters a file, make dupating more robust to catch other possible scenarios where it failed to update 2020-07-12 13:19:48 -05:00
adelikat c4bcb2451a remove now unused class in RomLoader.cs 2020-07-12 13:03:32 -05:00
adelikat 05709628e8 remove a jillion unused usings in RomLoader.cs 2020-07-12 13:02:12 -05:00
adelikat 40ad7ed67e Lua - account for callbacks with no parent script creating more callbacks by generating a mock lua file with a new thread, and register the thread with the sandbox. Fixes #1983. Not super proud of this. 2020-07-12 12:58:43 -05:00
nattthebear 021b1639c2 Remove special code for UnsupportedGameException in RomLoader
This shouldn't be needed anymore
2020-07-12 13:48:46 -04:00
nattthebear 78bbc75f33 multi rom loading by xml all uses core inventory now 2020-07-12 13:45:33 -04:00
nattthebear 8d56b65734 Convert all single-CD loading to use CoreInventory 2020-07-12 13:21:10 -04:00
nattthebear ab07e67a07 PCEHawk: Use CoreLoadParameters for cd mode 2020-07-12 13:06:15 -04:00
nattthebear 744a9a97d0 Remove custom loader code for ChannelF 2020-07-12 12:54:36 -04:00
nattthebear 5c5ffed5ff Next piece of the puzzle
This probably breaks something.  I am sorry, grab me and I'll fix it
2020-07-12 12:52:27 -04:00
adelikat 33a0954087 lua console - fix recent scripts not updating when creating a new script, opening a script, or duplicating a script. Might be other scenarios that are currently missing (regression from some refactors about a month ago) 2020-07-12 11:12:29 -05:00
nattthebear 4ad89667d6 This will get simpler I promise 2020-07-12 11:37:06 -04:00
nattthebear 6f218ff20b Remove a benign null reference exception
This was in a try catch so you got the null you needed anyway, but it could be confusing to see in a debugger report
2020-07-12 11:10:57 -04:00
alyosha-tas 06fa96e335 O2: finish g7400 graphics set 2020-07-12 10:44:11 -04:00
nattthebear 81d0b4ec9e Revert "Replace dynamic type w/ casts in CoreInventory/CLP"
This reverts commit 9ee4821148.

# Conflicts:
#	src/BizHawk.Emulation.Cores/CoreLoadParameters.cs

This didn't actually work, so revisit later
2020-07-12 10:18:08 -04:00
nattthebear f41a70ef32 swish swish 2020-07-12 09:06:20 -04:00
alyosha-tas f5efbff1d3 O2: more g7400 work 2020-07-12 09:03:28 -04:00
nattthebear 9072614dfb romloader cleanup 2020-07-12 08:09:50 -04:00
nattthebear dc8615ca06 fix compile, sorry sorry 2020-07-12 07:36:06 -04:00
nattthebear 80793836d3 Use CoreLoadParameters on dual gambatte 2020-07-12 07:28:06 -04:00
nattthebear 9d9dd8a0fd More romloader stuff
It'll all come together eventually
2020-07-12 07:08:52 -04:00
YoshiRulz 9ee4821148
Replace dynamic type w/ casts in CoreInventory/CLP
dynamic introduced in cc9d7df9f
2020-07-12 17:30:10 +10:00
adelikat c712bde84e remove firmware manager dependency from RomLoader, and a few other cleanups 2020-07-11 20:10:23 -05:00
nattthebear 467f0aff2b Refactor 32x loading
less code is good good
2020-07-11 20:38:09 -04:00
nattthebear 502aef73a0 Clean up ti 83 loading. Probably works, but I have nothing to test against it 2020-07-11 20:31:36 -04:00
adelikat 8900618ce1 respect the Movie end type when loading .tasproj files outside of tastudio 2020-07-11 18:52:52 -05:00
adelikat 1f39160999 give up on the idea of throwing an exception when attaching a core to a movie. The reason this doesn't work is that restart movie keeps the movie in memory (which was previously attached). This commit decrees that it is safe to keep a movie in memory, and attach to a new instance of the same core. The alternative is that movies would have to save and load on restart which is slow and may not be desired 2020-07-11 18:03:53 -05:00
nattthebear 86ac6eadcc Romloader omega refactor: Use CoreLoadParameters for PSX 2020-07-11 18:47:56 -04:00
nattthebear 6657917281 Fix parse error loading CCD files 2020-07-11 18:47:56 -04:00
adelikat 9d054d19f6 bk2 and tasproj movies - respect the preload flag, only loads header and inputlog. This speeds up the play movie dialog by 50-100%, a lot more if there is a large sizeable .tasproj files in the folder 2020-07-11 17:06:40 -05:00
adelikat a19791a212 Fm2Import - warn about ignoring the famicom port, instead of a full error, apparently movies can have this port set, but to none, so importing the movie can still be successful, for example: http://tasvideos.org/6739S.html, fixes #1989 2020-07-11 15:57:08 -05:00
nattthebear 7e2251b795 Fix the CoreLoadParameters <-> CoreInventory interop 2020-07-11 16:46:16 -04:00
nattthebear dbb73805db error message cleanup
Once everything is unified, we'll probably hit this path once in a while
2020-07-11 16:46:16 -04:00
nattthebear cc9d7df9f7 WIP of some romloader cleanups
This one commit doesn't make things cleaner by itself, no.  The rough idea is that eventually (R) we'll pass all cores that currently use mangled arse-custom constructors with custom code all o'er the place a single, awesome, CoreLoadParameters object.

Then the romloader can be changed to just synthesize this object on one common codepath, some bs for core preferences, and boom everything is perfect.  Sort of.
2020-07-11 16:46:16 -04:00
adelikat 3a820302e3 improve name of a method 2020-07-11 15:42:47 -05:00
adelikat e5dc473203 inputroll - make escape clear selected items, this was being done custom in ram search but makes sense to be a consistent feature. It's possible people will be upset with this in tastudio since this is new functionality (and not in taseditor either) 2020-07-11 15:41:45 -05:00
adelikat d44e96f535 remove some redundant code 2020-07-11 15:35:50 -05:00
adelikat aeaf6aa282 add some KeyCode extension methods to make KeyUp/Down event methods easier to read 2020-07-11 15:35:00 -05:00
alyosha-tas e29d024a90 O2: graphics work 2020-07-11 16:31:42 -04:00
adelikat be93903c12 Play Movie dialog - properly show tooltips for detail values, also show expected vs actual (only works on the key column though, because winforms is poo), fixes #1888 2020-07-11 14:53:51 -05:00
adelikat 196934bd56 Tastudio - fix TasSession loading, fixes #2063 2020-07-11 14:28:21 -05:00
adelikat cb575d36b4 add an option to InputRoll for "Selection when paging", as a bit of a hack to revert Tastudio back to its old PgUp/Dn behavior, while still keeping the current behavior for other input roll usages (as it makes more sense for traditional listview behavior). Fixes #2074 2020-07-11 13:49:00 -05:00
nattthebear 4343414937 Enable hypernyma for uhh, the thing. Yeah, CD games, that thing.
I had tested this locally some during original development, but turned it off at some point and forgot to turn it back on.
2020-07-11 13:59:05 -04:00
nattthebear bd413738a1 Fix nyma core bug with layer settings
If you tried to load a nyma core with any of your layers disabled, you would crash
2020-07-11 13:56:43 -04:00
nattthebear 0578443338 Slight modification to previous commit: Keep config forward compatibility in this case.
That way, if somedev tries to bisect something, they don't get pooped on by their config.
2020-07-11 13:47:28 -04:00
nattthebear bcbf124f21 Don't use fragile fully qualified typenames to resolve setting and sync setting types in config files.
Instead, the frontend must know what the type will be ahead of time.

TODO:  Apply the same fix to mooovies
2020-07-11 13:40:25 -04:00
nattthebear a28ca37cfb
Fix issue with settings adapter (#2223)
This would fail to work on any core that used the serviceprovider to provide a settings definition that wasn't on the iemulator itself?  Guess we never did that
2020-07-11 13:35:09 -04:00
adelikat 9820fb0879 lua - implement tastudio.submitclearframes(), fixes #2170 2020-07-11 12:19:27 -05:00