Commit Graph

4878 Commits

Author SHA1 Message Date
YoshiRulz 57d612f4b4
Allow NesHawk to load MMC5 w/ 128KiB WRAM from NES 2.0 headers
don't think this is working correctly but it doesn't crash
2025-04-08 14:07:10 +10:00
YoshiRulz 60fdcb3f72
Fix parsing of PRG-/CHR-ROM size from NES 2.0 headers (NesHawk) 2025-04-08 12:24:54 +10:00
feos dd28599451 dsda: show_messages setting 2025-04-05 21:54:07 +03:00
feos ba48066748 dsda: automap controls (and live gamma toggle)
limited to vanilla functionality
currently only works for doom, will require refactoring to work universally
2025-04-03 23:34:18 +03:00
feos a74100ff9f more buttons 2025-04-03 23:34:18 +03:00
VelpaChallenger 53cdf182ae
Pass values to memory callbacks in GPGX (squashed PR #3821)
* fix on_bus_read issue for genplus-gx core

- related to issue #3813
- update signatures, create new value variable in each of the memory read core functions, pass it to the callback and return it instead of the inline calculations. Also, pass val to write and exec callbacks in IDebuggable since they all use the same mem_cb signature and it would break otherwise. I want to update write and exec callbacks in next commit though to ensure nothing unexpected happens.

* update write callbacks for genplus-gx

- related to issue #3813

* update exec callbacks for genplus-gx

- closes #3813

* twice memory peek for deep freeze via on_bus_read bizhawk

Read a first time to pass the read value to the callback, read a second time to read the updated value in case it was updated by the callback and effectively deep freeze the value, no matter if 8, 16 or 32 width

* remove lines from unknown source

I have no idea where those lines came from. But I never meant to add them. This should look like it currently looks in master

* reinsert const, use implicit delegate constructors

* update submodule commit to before override memory values

* rename a to addr, unsigned int to just unsigned
2025-04-04 05:46:57 +10:00
CasualPokePlayer a562a0d23c Try to use UTF8 for OpenAL device strings
Hopefully fixes #4281
2025-03-31 10:17:11 -07:00
CasualPokePlayer 5a020c1e9e Prevent crash in SoundOutputProvider due to negative sample count being computed
In practice this doesn't occur ever except with subframe core abuse with tiny sample counts being spammed
2025-03-28 16:47:39 -07:00
CasualPokePlayer 60d7ddbffc Prevent submitting more XAudio2 buffers than XAUDIO2_MAX_QUEUED_BUFFERS (64)
Resolves #4116
2025-03-28 16:22:24 -07:00
YoshiRulz 76cf9127d4
Fix typo in `DWordWatch.ResetPrevious` (4-byte)
broken since at least migration to Git
2025-03-29 08:18:21 +10:00
YoshiRulz 6b06d50085
Enable CA1868 and fix noncompliance
"Unnecessary call to 'Contains' for sets"
2025-03-29 08:11:16 +10:00
YoshiRulz 5de736af0e
Enable CA1854 and fix concompliance
"Prefer the `IDictionary.TryGetValue(TKey, out TValue)` method"
2025-03-29 08:11:16 +10:00
YoshiRulz c5d4e8b783
Enable CA2019 and fix noncompliance
"`ThreadStatic` fields should not use inline initialization"
2025-03-29 08:11:16 +10:00
YoshiRulz 8cfb0599e5
Enable SA1413 except in Cores and satellite .NET projects
"Use trailing comma in multi-line initializers"
2025-03-29 07:18:53 +10:00
YoshiRulz ba12785fe2
Add trailing commas to object initialisers and `with` expressions 2025-03-29 07:18:53 +10:00
YoshiRulz 613ff73a5a
Add trailing commas to collection initialisers 2025-03-29 07:18:52 +10:00
YoshiRulz a8e7c3d031
Add trailing commas to `switch` expressions 2025-03-29 07:18:49 +10:00
YoshiRulz dcd78b4107
Reflow and add trailing commas to enum definitions 2025-03-29 07:18:31 +10:00
YoshiRulz 4c76aeba8a
Reflow `NESMusicRipper.FreqTable` 2025-03-29 07:18:31 +10:00
YoshiRulz 8a99246796
Fix comma placement 2025-03-29 07:18:30 +10:00
YoshiRulz bdf22bb1b8
Simplify some misc. `Substring` usage 2025-03-29 07:18:30 +10:00
YoshiRulz f25b992a4e
Simplify `EmulatorExtensions.ToControlNameList`
also fixes it for controllerNum >= 10
2025-03-29 07:18:30 +10:00
YoshiRulz 5f76e3cc74
Minor refactors in `WatchEditor` 2025-03-29 07:17:08 +10:00
YoshiRulz 1aa83b7c12
Add and use `ComboBox.ReplaceItems` extension 2025-03-29 07:16:07 +10:00
YoshiRulz e8df779cc7
Missed a spot for `ReplaceDropDownItems` extension 2025-03-29 07:05:19 +10:00
YoshiRulz 72c8a00462
Fix code style warnings in testroms projects 2025-03-29 07:05:19 +10:00
YoshiRulz ec0510367a
Fix compilation of Bizware.Test app 2025-03-29 07:05:19 +10:00
YoshiRulz 9ac560d49d
Remove unused enum `BizHawkExternalToolUsage` 2025-03-28 10:29:56 +10:00
YoshiRulz 32a8193c74
Fix value of `CLSCTX.ALLOW_LOWER_TRUST_REGISTRATION` 2025-03-28 10:00:46 +10:00
YoshiRulz a80399860d
Merge `--gdi` handling into `ArgParser` (resolves #4201)
funny story, the `--gdi` handler didn't remove it from the `args` array,
so it's always been parsed as a rom filename and obviously failing, but
before bd58bde07 it was failing silently
2025-03-28 04:40:14 +10:00
YoshiRulz 4bc2f31d77
Simplify `MovieEndPlaySoundMenuItem_Click`
fixes 289c5cff9
also standardise these menu items to title case
2025-03-27 05:18:46 +10:00
Morilli c9d8ab0e43 fix test
fixes 289c5cff9b
2025-03-26 19:57:26 +01:00
Morilli b88c557b46 speedup BizBox (About dialog) load 2025-03-26 19:23:25 +01:00
Morilli 289c5cff9b add option to play sound on movie end
requested in #2926
2025-03-26 19:20:13 +01:00
Morilli 6ead2ddee8 increment rerecords when rewinding
- closes #3707
2025-03-25 06:18:41 +01:00
Morilli a24311c2d1 fix exception in faust constructor
- closes #4278, fixes ab8eb0405c
2025-03-25 04:57:21 +01:00
Morilli 861166080f make autopause at tend of movie work in tastudio
- closes #2622

not sure if this should always apply or only in playback mode but probably doesn't matter too much.

Also changed the default to false because that's what it's effectively been for many years
2025-03-25 04:38:23 +01:00
Morilli 69862fef70 simplify frame advance bool logic
this now also prevents _runloopFrameProgress from potentially getting stuck after rewinding and fixes some other obscure interactions with frame advance and rewind.

- added 2 bugs
2025-03-23 15:20:09 +01:00
Morilli 98e8901076 simplify Throttle.Step
this should also fix bugs where skipNextFrame could be stuck at true and otherwise not change behavior.

Surely this won't introduce any bugs
2025-03-23 03:16:11 +01:00
Morilli 0e0fe37ffa fix CheatCollection.UpdateDomains throwing when separators exist 2025-03-23 01:03:59 +01:00
YoshiRulz 3a6b42278a
Revert "TAStudio marker lua (#4272)"
This reverts commit eb79f2e735.
2025-03-23 04:14:27 +10:00
Luke Stadem 3af38050f8
[A26][Stella] Adds support for the console Select switch (#4178)
* [Stella] Added the Select switch input

* [Stella] Reduced console switches into a single int corresponding to the SWCHB register
2025-03-22 17:49:27 +01:00
c7fab eb79f2e735
TAStudio marker lua (#4272)
* getmarkers

Lua method to get a table with  all markers for the current TasMovie, with Frame and Text as fields

* getmarkerabove

Returns a table of the marker at or above the given frame

* getbranchmarkerabove

same as getbranchmarker, but for getting the marker from a branch

* getbranchmarkers

returns a list of all markers for the given branchId, with fields Frame and Text
2025-03-22 16:56:26 +01:00
feos df33165b5a dsda: reorder player pov because multiplayer mode is not frequent 2025-03-22 13:00:07 +03:00
feos ac81c393e1 dsda: secret report option
disabled to be closer to vanilla on fresh boot, like most other modern features
2025-03-22 12:56:46 +03:00
feos f9a3890ac1 dsda: positioning 2025-03-21 20:23:53 +03:00
feos 92df238d9e dsda: fix button turning for shorttics
move shorttics cals to frontend to explicitly show all the logic that reproduces upstream input handling
2025-03-21 20:00:23 +03:00
YoshiRulz fef3b526b6
Simplify rom padding step in `PCEngine.Init` 2025-03-21 20:24:20 +10:00
YoshiRulz aad3c90a5e
Clean up how collections are asserted on in unit tests 2025-03-21 09:33:07 +10:00
YoshiRulz c391c6ff58
Implement missing interfaces on `SortedList<T>` 2025-03-21 09:33:07 +10:00
YoshiRulz 2b587f2061
Enable CA1820 and fix noncompliance
"Test for empty strings using string length"
2025-03-21 09:33:07 +10:00
feos e79ab84d98 dsda: doom doesn't have potentiometers
potentiometers are hardware devices used in some controllers, but doom is pure software so it only has axes
2025-03-19 20:34:49 +03:00
CasualPokePlayer 008911a6d9 Force enable leaderboards and rich presence while in RetroAchievements hardcore mode
Newer requirements for RetroAchievements hardcore mode
2025-03-18 19:25:29 -07:00
YoshiRulz fb1ef7ba7a
Add `SetMembership` and `ToggleMembership` helpers 2025-03-19 08:36:34 +10:00
Morilli 24a82551b9 fix stella frame_advance function declaration 2025-03-18 16:03:30 +01:00
Morilli 0e9c21e7d3 handle null GreenzoneInvalidated in tasproj recording
this previously hardcrashed the entire program when TAStudio was not open
2025-03-17 20:57:15 +01:00
Morilli 96885ce146 cleanup RecordMovie.MakePath
this now allows creating tasproj files as originally intended but that will probably crash immediately because good coding
2025-03-17 20:47:44 +01:00
feos 19374203da dsda: expose huds and automap stats
make settings changes require reboot explicitly. unsure if I still want them to have immediate effect
2025-03-17 20:33:55 +03:00
Morilli 6b012ef433 differentiate between RollColumn vertical width and horizontal height
don't really like this code too much, but it works. And the RollColumn has no idea what orientation it has, so it can't do the logic itself.

see #3708
2025-03-17 13:45:50 +01:00
Morilli 1e397432af change TAStudio layout when rotation changes
- addresses #3708
2025-03-16 22:00:39 +01:00
Morilli 8efeda8af9 change internal TAStudio sideview layout
the layout difference should be effectively imperceptible, but this change will help with altering the layout programatically
2025-03-16 21:58:55 +01:00
Morilli bb3b59a5cb regenerate TAStudio.Designer.cs
nonfunctional change
2025-03-16 21:58:55 +01:00
feos d6ac62e261 dsda: disable wipe for imported demos
internally, wipe is rendered within a single "frame" so no input is processed. but we can't know from the movie which frame is wipe, so we can't insert empty frames to make imported movies work with our wipe - which has to happen across frames so we could capture every interim state of it. when exporting movies, wipe frames can be dropped based on lag info which we're currently setting for wipe only.
2025-03-16 23:07:20 +03:00
feos f0765a3a72 fix build
remove underscore from non-private fields
expose wipe screen setting
2025-03-16 23:03:15 +03:00
feos 9351a045c0 dsda: detect wipe as lag
automap mnemonic
2025-03-16 22:44:37 +03:00
feos 93ebd91971 dsda: wipe wip 2025-03-16 16:21:48 +03:00
YoshiRulz 28498da7c1
Fix mixed line endings in main solution 2025-03-16 19:55:27 +10:00
YoshiRulz 7f0b55c550
Fix namespace of `SimpleSyncSoundProvider`
wow this is old dbdac5e3f
2025-03-16 19:38:11 +10:00
CasualPokePlayer 9d239fbdcf Ignore alpha for ImageSequenceWriter 2025-03-15 15:44:54 -07:00
YoshiRulz 30c9ea4f03
Remove unused import 2025-03-16 01:54:19 +10:00
feos b6b7f56e02 mame: use utf8 parsing for lua strings 2025-03-15 18:06:15 +03:00
feos 2775b13edb mame: sort views according to their index 2025-03-15 17:59:35 +03:00
feos 7a0c4d398f mame: fix crash for view names containing commas
the way the initial lists are populated is kinda hacky because we need some separators and split the results using them. it's impossible to make sure they won't use that separator in a name in the future. maybe there's a better way than listing every available name in entire mame and finding which symbols never appear there and using them as separators (tho I admit for views I didn't even do that and relied on users running the thing).
2025-03-15 16:57:04 +03:00
CasualPokePlayer 8e8d718c7e Make sure to recreate stored pipelines on resetting D3D11 device
Fixes crashes whenever a reset ends up occurring due to a lost device
2025-03-12 15:32:14 -07:00
YoshiRulz 6cedcc2221
Resolve a code style warning in `HuC6280` 2025-03-13 07:16:29 +10:00
YoshiRulz e94a20877a
Improve one of the Satellaview header heuristics (resolves #4268) 2025-03-13 06:43:54 +10:00
feos 6965767328 dsda: fix -warp
only doom1 uses episode number in -warp, all the rest ignore it and use the first digit to set map (episode is forced to 1 for them). to detect this we now ask the core which gamemode it is (which determines it internally too).

rename complevel setting
2025-03-12 20:40:29 +03:00
YoshiRulz ce21993ec4
Print caught exception in `SavestateFile.Load`
fixes 1c0e72b16
2025-03-08 15:25:29 +10:00
Morilli 1c0e72b169 catch exceptions in savestate load
see also #2090. This can reasonably catch and handle simple load failures like all waterbox loads and some others.

Not calling the issue fixed because there is more that can be done to prevent cores from trying to load invalid savestates.
2025-03-07 22:23:43 +01:00
feos b0b32bea6a mouse capture: restrict to center
various toolbars may exist near screen edges, we don't want them to be triggered when hawk has "captured" the mouse, especially in fullscreen. I considered taking into account when hawk window is partly offscreen but it's hard to expect anyone would play that way - normal scenario is fullscreen, so screen edges are automatically pushed away from. dialogs covering hawk are even less likely to remain during mouse capture, so we don't care about mouse appearing on them.
2025-03-05 19:47:13 +03:00
feos ca214fc4f0 dsda: actually send -fast 2025-03-05 19:47:13 +03:00
YoshiRulz 957029fc30
Add and use `Insert{Before,After}{,Last}` helpers 2025-03-05 20:09:57 +10:00
CasualPokePlayer 7d876dee2c Fix XkbAllocKeyboard declaration 2025-03-04 16:36:47 -08:00
Morilli 8ba8bd61b4 increase initial toolbox size
also increase image size on high dpi
2025-03-04 19:54:08 +01:00
Morilli 843051a2fd handle dpi properly in NES ppu viewer
- also fixes #4246
2025-03-04 10:35:32 +01:00
Morilli a64d7627ce make UIHelper.Scale* scale with dpi
trust me
2025-03-04 10:30:56 +01:00
YoshiRulz f56cc896d8
Alphabetise lists of cores in `EmulationApi` methods
see 724a7393e
2025-03-04 15:07:42 +10:00
Kevin Watters 443faae403 implement emu.setrenderplanes in EmulationApi for snes9x 2025-03-03 22:37:43 +10:00
YoshiRulz 7f25044498
Improve display of errors from Cheat Code Converter 2025-03-03 13:24:00 +10:00
YoshiRulz fa15e35603
Remove `GEN` `[CoreConstructor]` from PicoDrive32x
fixes a42b25976
2025-03-03 13:03:27 +10:00
feos 11cb444b2c dsda: fix aspect on 3x+ and add pistolstart 2025-03-02 11:13:33 +03:00
CasualPokePlayer a42b259762 Stop exposing PicoDrive as a selectable option for Genesis
The core as it is is a very poor choice for Genesis. Much worse compatibility, very noticeably worse audio, and it's not like GPGX is hurting badly in the performance department. It's also very outdated compared to upstream (making these problems much worse than if it was updated). It was only in BizHawk to handle 32X games to begin with (as there aren't many options for 32X to begin with), with Genesis fallback support (without user selectability!) just tacked on "because we can."

Perhaps with a core update it could be more reasonable to allow users to select this, but for now, nope.

Closes #4251, #4250, #4235
2025-03-01 17:56:23 -08:00
Morilli c476dbbf79 draw axis numbers rotated in horizontal tastudio
see https://github.com/TASEmulators/BizHawk/issues/3708#issuecomment-2501398001
2025-03-02 00:34:42 +01:00
feos 5b7e7b4642 dsda: bit closer to vanilla
todo: make these optional
2025-03-01 23:33:11 +03:00
feos 7c5d050cde dsda: expose resolution factor and gamma
see #4236

rename Core to _core since it's private
2025-03-01 20:58:23 +03:00
feos 4a7e0c6008 dsda: fix missing sounds
proper aspect ratio
2025-03-01 17:19:56 +03:00
YoshiRulz f409cc445d
Make Lua `savestate.*` functions return `false` when C# call throws 2025-03-01 09:00:35 +10:00
YoshiRulz 6b4d0faba9
Work around Mono bug (resolves #4248) 2025-03-01 08:52:10 +10:00
feos 905c972738 dsda: parse our own config file
set vanilla res as a start
2025-02-27 23:16:44 +03:00
feos cde108b928 dsda: mouse movement should be accurate now (barring obscure tweaks)
demos still sync btw

horizontal mouse was calibrated for my machine, dunno about others. for me 1-pixel relative movement results in 272-pixel deltas, so I divide it inside the core for now

when the global sensitivity option is there, I'll drop sensitivity syncsettings and rely on client ones that I'll configure to match default dsda sensitivity.
2025-02-26 23:37:23 +03:00
feos f6538289dc dsda: fix lmp import
only tested on doom, no idea if movies for other 2 even exist lol
2025-02-25 23:21:23 +03:00
feos 09fcf37d79 meaningless tweaks 2025-02-25 19:19:58 +03:00
feos 5539557b27 dsda: "always run" option
upstream uses a hotkey toggle instead but vanilla didn't have it. even "always run" itself was just a vanilla bug. I don't want to have a special on-the-fly input for autorun toggle, hopefully user either wants to always run + occasional mouse movement, or only run using the proper button
2025-02-25 19:05:33 +03:00
CasualPokePlayer 0311bb5d39 Make mouse capture handle window moving/resizing/focus change, cleanup presentation panel resize handling 2025-02-24 16:09:01 -08:00
feos a2daa48cf4 dsda: actually fix turning for demos 2025-02-24 23:25:51 +03:00
feos 4cf20df155 dsda: pass turning resolution to controller ctor
this allows to properly set available range which makes demos sync again (aside from weapon switching that I broke)
when importing demos we now force shorttics (even tho some source ports can record demos with longtics depending on compatibility level but importing those is for the later time)
2025-02-24 22:02:04 +03:00
CasualPokePlayer 559093460e Fix some Xlib import definitions 2025-02-24 03:15:47 -08:00
CasualPokePlayer c3b0f46ae3 Make Linux mouse capture work more or less properly
There's 3 approaches here, of which only 1 appears to work more or less correctly

1. Use XFixes "pointer barriers." Introduced in XFixes version 5.0 (end of 2010), these effectively allow 1:1 mapping with Windows ClipCursor, giving behavior BizHawk wants.
2. Use XGrabPointer, with the confine_to argument set to the presentation panel. This mostly works, however, it changes how some events operate and for whatever reason prevents Mono from responding to mouse buttons. This approach can be used with 1. too for a simple warp of the mouse cursor over to wherever the window is.
3. Use Mono's internal CaptureWithConfine function. This is just internally using XGrabPointer with the confine_to argument. Somehow it makes mouse buttons work, but it ends up working too well as it can respond to the menu bar somehow, and interacting with such or the right click menu cancels the grab (seems to be internal Mono code doing such in this case here?).

Note a lot of weirdness with previous code came down to testing being in a VM and mouse integration being enabled. That apparently just prevents any kind of mouse warping from happening so nothing appeared to work correctly. Disabling such allows these approaches to work as above, also makes relative mouse values sane (previous values with mouse integration were completely bonkers).

TODO: Need to check if this works on XWayland (maybe it does?). Also need to refresh mouse capture on window resize and move (needed in general for both Windows and Linux)
2025-02-24 02:23:27 -08:00
CasualPokePlayer 2f2c3e4f68 Try fixing pointer barriers harder (still doesn't work :( ), also fix XI2 raw motion polling (IsNormal was always returning false for whatever reason, seems to work fine with just simple Inf/NaN checks). XI2 raw motion polling however seems to use a far larger scale compared to Windows (seemingly in the hundred thousands??? although this is in a VM so this might just be a quirk of such) 2025-02-23 21:42:30 -08:00
CasualPokePlayer 778c880d54 Try fixing pointer barrier code, also make X errors more verbose 2025-02-23 20:14:59 -08:00
CasualPokePlayer ec66447c20 Restore startup asm version check (accidentally commented out in previous commit) 2025-02-23 19:29:43 -08:00
CasualPokePlayer 2009b24adb Try using pointer barriers for locking the mouse to the window on Linux instead of grabbing the mouse 2025-02-23 19:28:16 -08:00
YoshiRulz 5220ed4179
Fix code style warnings in test project when targeting .NET 8
see 69b923ad5
2025-02-24 10:30:00 +10:00
YoshiRulz 48f4a98a61
Remove unused import
not sure why this wasn't being flagged earlier, probably to do w/ recent
$(RunAnalyzersDuringBuild) change
2025-02-24 05:42:55 +10:00
YoshiRulz d4adc8282c
Discard return value from `XCloseDisplay`
fixes c5029cb2b
2025-02-24 05:42:08 +10:00
YoshiRulz 69b923ad55
Make all Analyzers except StyleCop run all the time
see #1813, 4a2627337
2025-02-24 05:39:16 +10:00
feos b0c2ef831c dsda: automap command 2025-02-23 20:31:49 +03:00
YoshiRulz ac529ee191
Add this title (+loc. patch) to quickerNES' blocklist (resolves #4240) 2025-02-24 01:55:45 +10:00
feos 3e0ed9dd7e analyzers gonna analyze 2025-02-23 16:24:43 +03:00
feos 5c662effdf hotkey for mouse capture
hide it when captured on widnows
2025-02-23 16:03:43 +03:00
feos 82523d9e1c dsda: lower speed for tapping turn buttons (match upstream) 2025-02-23 15:34:52 +03:00
feos 3d6241f53a dsda: handle movement speeds in IEmulator
allows to factor in syncsettings and savestates (for turnheld)
2025-02-23 14:59:55 +03:00
feos 9ad6eb8971 dsda: turnheld wip
dsda halves turn speed for turn button if it's held for 5 or less frames. currently I use that reduced value for all button turning.
2025-02-23 14:02:00 +03:00
CasualPokePlayer c5029cb2bb Add function to lock the mouse
Unused currently. Cursor.Clip code copied from feos. Hopefully works on Linux too
2025-02-23 02:54:54 -08:00
feos 49297ca9b7 dsda: use actual relative mouse movement
currently requires manually binding RMouse X/Y in config.ini (and zero deadzone I guess)

empirically match dsda default settings with sensitivity syncsettings (defctrl.json wasn't touched yet)
TODO: look at mouse calc inside the core
2025-02-23 13:01:12 +03:00
feos d804496cc2 dsda: cache syncsettings until reboot
works around crash described in #4104
2025-02-23 11:41:27 +03:00
feos 918783126e dsda: match button names to dsda
(except for weapon keys since they may mean different thing for non-doom)

tweak doom mnemonics too
and push core submodule
2025-02-23 11:00:01 +03:00
feos 72070a63de dsda: reduce copypaste 2025-02-23 09:34:54 +03:00
CasualPokePlayer f444d6b0a5 More relative input handling
Needs UI for adjusting mouse sensitivity (think it should be 1-400) and a button in bindings for swapping an WMouse axis to the RMouse axis
2025-02-22 15:55:45 -08:00
feos fe29eb12dd dsda: process longtics and fix turning speed
rename some enum values
contains hack to work around export problems with dsda_Flag()
2025-02-23 02:30:40 +03:00
YoshiRulz 804717c71a
Fix code style warnings in DSDA ctor
fixes f47136be4
2025-02-23 05:36:23 +10:00
YoshiRulz 8f9d47a706
Add this romhack to quickerNES' blocklist (resolves #4239) 2025-02-23 05:29:19 +10:00
feos f47136be46 dsda: pass commandline args to core from hawk
that way we don't have to rebuild the core for every commandline option that it already supports and we decide to use, also more meaningful presentation of those options on the managed side
2025-02-22 22:22:54 +03:00
CasualPokePlayer 8c351433d5 Make MEN018 analyzer happy 2025-02-22 09:40:15 -08:00
CasualPokePlayer e1ea8a3371 Fix build 2025-02-22 09:38:33 -08:00
CasualPokePlayer 2f39991b44 Begin to add raw mouse input to input system
native api side done. trying to map it probably interferes with absolute inputs, needs some global relative mouse sensitivity setting for input translation purposes. hopefully everything else doesnt break
2025-02-22 09:22:31 -08:00
Morilli efcbe54f36 fix encore touch and tilt ranges 2025-02-22 14:44:05 +01:00
YoshiRulz 8d71c8a505
Add Analyzer for suggesting adding `checked` operators 2025-02-22 17:07:35 +10:00
YoshiRulz e72548b68b
Fix parenting of TAStudio child dialogs (should fix #4103) 2025-02-22 02:21:12 +10:00
Morilli af4089380a make TAStudio not rely on the global MovieEndAction setting
- closes #3989
2025-02-19 19:32:08 +01:00
Sergio Martin 3c5f699af9
Adding DSDA as Doom/Hexen/Heretic core (#4196)
Co-authored-by: feos <feykomylce@gmail.com>
Co-authored-by: YoshiRulz <OSSYoshiRulz+git@gmail.com>
2025-02-19 00:21:47 +03:00
Morilli d386a4fdcb attempt to make rewind perform well while paused
attempts to resolve #3053 by shuffling some bools around.

Specifically, `_runloopFrameProgress` is now set when either (continuously) frame advancing or rewinding.
2025-02-18 14:26:40 +01:00
Morilli b6a175bddf fix SMS controller definition (in Bkm) 2025-02-18 10:38:10 +01:00
Morilli 85e2d18780 fix .bkm import
- closes #3909

Effectively best-effort for now, may or may not work for some movies.
2025-02-18 01:07:11 +01:00
YoshiRulz d3362f5e0c
Add novel throttle experiment (locked behind build flag for now)
:)
2025-02-18 05:12:06 +10:00
Morilli 46c1273dbd don't restart ram search when changing watch size
- closes #2974
2025-02-17 10:25:16 +01:00
YoshiRulz 9df29c036e
Replace non-mutated `List<byte>`s w/ arrays/`Span`s/nothing
see #2927 re: `IMemoryApi`
2025-02-16 08:27:05 +10:00
YoshiRulz 59b2dba901
When GPGX is in SMS mode, don't advertise `IDisassemblable`
see #4226/33571d4cd
2025-02-15 09:51:29 +10:00
Morilli 6184afddc9 don't call disengage when tastudio load failed 2025-02-14 22:10:10 +01:00
YoshiRulz d7b0af9f4e
Resolve a TODO in `InputRoll.RowCount` 2025-02-15 05:54:49 +10:00