Commit Graph

3209 Commits

Author SHA1 Message Date
Morilli 837c8611fc more warning fixes 2023-06-05 19:30:56 +02:00
Morilli 6bfc0783dc fix some warnings idk 2023-06-05 02:41:06 +02:00
Morilli f958fd7589 Need this apparently 2023-06-04 15:13:10 +02:00
Morilli 3ccf07a310 Fix AssemblyName 2023-06-04 15:03:11 +02:00
Morilli c2a392c34b Cleanup output folder better 2023-06-04 14:18:02 +02:00
Morilli 711b4d7a03 Can we just do this maybe?
lol
2023-06-04 14:13:25 +02:00
Morilli e98b8d12a4 Fix EmuHawkMono project 2023-06-03 19:10:04 +02:00
Morilli ecd9e0b59e Fix OpenTK dll not being copied to output
no idea how this works on master
2023-05-24 18:43:24 +02:00
Morilli 0efbc54187 ContextMenu -> ContextMenuStrip 2023-05-23 22:33:07 +02:00
Morilli 4308e7772d Optimize string comparison on net6+ by using ordinal comparison
this probably needs to be done in lots more places
2023-05-23 22:27:17 +02:00
YoshiRulz 528545f82c Target .NET 6 on Windows 2023-05-23 22:17:58 +02:00
YoshiRulz 20df6e94fb Add BizHawkMono solution and project files 2023-05-23 22:15:00 +02:00
YoshiRulz 9daac2c26f
Add and use extension method `string.StartsWith(char)`
reverts 333ce98a7, partially reverts bc16a2cda
2023-05-23 09:18:25 +10:00
adelikat 333ce98a71 low hanging fruit speed up in inputlog loading using str[0] == c instead of str.StartsWith(c) 2023-05-22 12:50:30 -05:00
YoshiRulz 681ef72cd5
Change wording of checkbox for `Config.SuppressAskSave` 2023-05-21 16:22:54 +10:00
CasualPokePlayer ccf2c61a23 fix #3664 2023-05-20 03:11:40 -07:00
CasualPokePlayer 08ead80385 make these callback delegate caches static (why didn't this warn that static was possible here?) 2023-05-19 22:30:17 -07:00
CasualPokePlayer 3c53f52c6d remove some debugging crap from c9e30060d4 2023-05-19 22:28:32 -07:00
CasualPokePlayer 542cf2433a Reduce allocation spam in Jaguar disassembly functions 2023-05-19 22:26:45 -07:00
CasualPokePlayer c9e30060d4 Rework the Reader/Writer callbacks for the WaterboxHost, a bit nicer here working with the userdata
Also make it so initial loading uses the zstdstream or filestream directly instead of a memorystream with it all loaded
something of note, not really happy with how these read/write callbacks get used in practice, it seems they get spammed in small chunks
for initial loading, it's 8192 byte chunks each, which can be a LOT of callbacks, depending on core size (gpgx is ~500, MAME is ~22K)
similarly, savestates suffer a similar issue, although instead it's a ton of 4096 byte chunks (page size eh?)
The unmanaged <-> managed transitions obviously are not exactly performant, and I imagine are taking a significant portion of the time here
Perhaps some buffering strategy should come in on the native waterboxhost side to alleviate callback spam?
2023-05-19 22:26:45 -07:00
adelikat 99a6b1d339 add hotkey for toggling the 'Display Nothing" feature 2023-05-19 20:05:16 -05:00
CasualPokePlayer 8a13793d00 Turn WaterboxHostNative ReturnData to a struct, misc cleanups elsewhere 2023-05-18 22:21:17 -07:00
CasualPokePlayer 332143ea8d invalidate cram caches when poking, maybe 2023-05-18 21:14:57 -07:00
CasualPokePlayer 473d3cc294 fix #3662 2023-05-18 19:09:08 -07:00
CasualPokePlayer ea854ff39d make discohawk form a bit bigger
all the formats supported means the box wasn't big enough to display all of them lol
2023-05-18 07:28:10 -07:00
CasualPokePlayer fe79b69123 (Partial) .nrg support
TAO support isn't complete, a lot of sanity checking isn't done yet
2023-05-18 07:14:14 -07:00
Morilli 3d30f52e7c Fix LogWindow treating everything as ascii
hopefully this doesn't break anything
2023-05-17 14:54:18 +02:00
CasualPokePlayer f11b5bc9c4 fixup CDI generated subcode (not sure why I did that)
have it generate "leadin" and "leadout" tracks for multisession discs... this is almost certainly wrong for leadin (doesn't matter so far), leadout is probably right...
2023-05-12 20:47:29 -07:00
CasualPokePlayer 0e6d5fb708 minor addendum to 2012b083f6 2023-05-12 03:28:14 -07:00
CasualPokePlayer 2012b083f6 Fixup multisession handling with MDS and improve its track/sector size handling, also maybe fix it entirely? (not sure if this ever worked)
Move the various synths using the CUE SS_Base to a file, mostly just a nicer organizational change as MDS and CDI use one of these but not CUE
Misc improvements elsewhere
2023-05-12 02:44:05 -07:00
CasualPokePlayer 1f3068fe77 fix synthesizing disc tracks with multisession discs when the first session has a large amount of tracks
FirstRecordedTrackNumber only works here for the first session, for future sessions it doesn't work and may just result in out of range exception
2023-05-11 02:57:14 -07:00
CasualPokePlayer 858ea372a9 Fix Jaguar CD detection for Caves of Fear 2023-05-11 02:28:33 -07:00
CasualPokePlayer e3c27813b6 fix the fix in 45a0c8cffb 2023-05-10 05:37:03 -07:00
CasualPokePlayer 45a0c8cffb another fix for 9551394 2023-05-10 05:23:24 -07:00
CasualPokePlayer c52a950c41 Fix dumping CCDs with multisession discs, fix oopsies with CDI parsing giving the wrong last recorded track number 2023-05-10 04:58:37 -07:00
CasualPokePlayer 2379650e1b Implement error and verbose message callbacks for rcheevos (currently they just output to the console)
Implement debug option for hashing with more pure rcheevos logic, mostly just useful for figuring out disc hashing issues
2023-05-10 03:11:50 -07:00
CasualPokePlayer d3a689c589 Resolve #3650. Also fix a bug which caused overwriting lua scripts with a new lua script to fail (fixes 380e459bec) 2023-05-08 03:01:41 -07:00
CasualPokePlayer f677e92504 fix TOC field mixup with Jaguar CD 2023-05-07 22:09:52 -07:00
CasualPokePlayer 40e21b716e fix 955139454a 2023-05-07 02:59:38 -07:00
CasualPokePlayer 7d5a1d5c98 Lower CPU usage from RCheevos http stuff 2023-05-07 02:41:07 -07:00
CasualPokePlayer 68cd28c28a fix directionals and other common buttons being dropped from controller inputs when hotkeys overrode controller inputs 2023-05-07 01:00:13 -07:00
YoshiRulz 4a752f66b7
Add Analyzer to require checking or discarding `TryGetValue`
I'm pretty sure all the existing instances were intended to use `default(T)` if
the key isn't present, except maybe the cheatcode converters but I don't care to
rewrite those at the moment
2023-05-05 06:27:15 +10:00
YoshiRulz 384a4e1e18
Bump version info post-release 2023-05-04 08:10:07 +10:00
CasualPokePlayer 36fae775d4 Prevent annoying waits when using firmware manager with DSi NANDs present 2023-05-03 02:19:56 -07:00
CasualPokePlayer 5f6d70ac46 Fix random crashes with rcheevos. The issue was that rc_runtime_t can store pointers to itself, which is bad when rcheevos expected the user to allocate that struct and did not provide functions for that. I've added that functionality and PR'd it (I'll fixup submodule to point to upstream when it's merged)
PR can be found here: https://github.com/RetroAchievements/rcheevos/pull/239
Also minor fixes wrt the ContinueWith usage in InternalDoRequest
2023-05-03 01:54:57 -07:00
CasualPokePlayer 248b8ab984 Fixup bad threading (no, you cannot access rcheevo's _runtime in a separate thread! main thread use only!). Should fix up some random crashes
Slightly change up the request model, now InternalDoRequest does not block
Fixup logic of ToSoftcoreMode (and comments so it isn't screwed up again)
2023-05-02 21:47:09 -07:00
CasualPokePlayer 8ef1d93891 Prevent UI thread deadlocking on Dispose()'ing rcheevos stuff 2023-05-02 17:18:31 -07:00
CasualPokePlayer b9a983f1fe Fix typo causing crash with SMSHawk with RetroAchievements & Hardcore Mode 2023-05-02 17:08:39 -07:00
CasualPokePlayer 41d94e4262 Change up multithreaded rendering in melonDS
Instead of creating a new Task and destroying it every frame, just create a new thread and call the delegate when needed.
Also allow for rendering a frame twice, this is actually possible anyways (albeit rarely done).
This should also help against a potential deadlock due to the Task.Wait call on the UI thread (which has special semantics in WinForms)
Also minor nitpicks in RCheevos code
2023-05-02 16:52:48 -07:00
CasualPokePlayer b517228475 Refactor rcheevo http requests (again). This should better protect against the UI thread deadlocking due to Task semantics with WinForms 2023-05-01 03:50:49 -07:00