Commit Graph

18563 Commits

Author SHA1 Message Date
Moritz Bender fc97e096a1
Add initial marker in frame 0 when loading older tasprojs (#2693)
else this would make the first created marker take slot 1 and be uneditable and undeletable, which isn't good
2021-03-31 18:07:22 -05:00
nattthebear b964cf9447 bear minium hacks to hapics to get broken cores working
affected were bsnes, snes9x, and neshawk
2021-03-31 17:50:31 -04:00
Moritz Bender 2a09345a7e
Microsoft and their zip library can get bent 2021-03-31 17:36:09 -04:00
YoshiRulz 53b3dccb12
Fix missing import 2021-03-31 08:36:21 +10:00
nattthebear a91fa2754e clean up names in zipstater
We were using some sort of special malformed non-path seperator character to stand in for the path seperator character in in the lump names, and then compensating for that brokenness when loading lumps.
On save, we were relying in our zip library compensating for the brokenness.
2021-03-30 17:47:50 -04:00
Moritz Bender 6c2b72dd8d
Fix some TAStudio branch view issues (#2686)
* Fix exception, scroll to branch on updating branch and fix #2645
* Make loadbranch hotkey deselect all but one branch
matches updatebranch behavior and fixes part of #2645
2021-03-30 23:33:45 +03:00
feos ca8c7a5427 break mame into subfiles 2021-03-30 23:26:41 +03:00
YoshiRulz 5f125b7cd6
Add commented-out Infer# job to GitLab CI config
https://github.com/microsoft/infersharp doesn't seem to produce any meaningful
output for BizHawk assemblies, will try again when it's fully implemented
2021-03-31 05:30:12 +10:00
Moritz Bender 5743b0257d
Fix #2640 (#2687) 2021-03-30 13:51:28 -05:00
YoshiRulz 6f47492d95
Add haptics support to ControllerDefinition and the Controller stack
still no cores which support it, "Debug" is still hardcoded, still uses holding
Fast Forward hotkey to trigger
no idea how OverrideAdapter, or the IInputAdapters, or the Bk2/BkmController
will work, I've just thrown NotImplementedException from those
2021-03-30 10:06:26 +10:00
YoshiRulz bb3fddcb5f
Allow configuring "keybinds" for haptic feedback (see desc.)
Open `Config` > `Controllers...` with any rom loaded and go to the last tab.
A "Debug" virtual channel is hardcoded, and will be present on every core.
As with the previous commit, holding Fast Forward causes this channel to fire
and it will be passed through to a bound host gamepad.
The prescale slider works. Virtual channels with a player number prefix also
work, but the single "Debug" channel without a prefix is hardcoded.
Caveats: Reopening the config dialog doesn't load the host channel back into the
combobox. It will save to config correctly.
2021-03-29 17:43:31 +10:00
YoshiRulz 6102db0e68
Wire up host haptics, hold Fast Forward key to test
DirectInput works, OpenTK 3 doesn't seem to actually support it even though the
method is present and has documentation -_-
2021-03-29 10:03:55 +10:00
YoshiRulz bdfc54443f
Use props on GamePad/GamePad360 for pad prefixes 2021-03-29 10:03:50 +10:00
zeromus d02863e491 Merge branch 'master' of zeromus-github.com:/tasvideos/bizhawk 2021-03-28 15:24:39 -04:00
zeromus 23c0928107 stop using exceptions for flow control 2021-03-28 15:24:28 -04:00
zeromus 99c8e4e910 I dont think GuiAPI should use the ScreenLogicalOffsets this way. Cores should be using this entirely internally -- either adjusting what they fill the framebuffer with, or communicating further data for how to display a limited section of the framebuffer offset to DisplayManager via IVideoProvider or similar but NOT via this. So why does ScreenLogicalOffsets exist? So that scripts can alter that setting. This is actually NOT A GREAT IDEA if you ask me because the same could be done via general PutSettings APIs. nevertheless, that's what we have. So anyway, I dont think when drawing via script we really need this value inspected. 2021-03-28 15:22:42 -04:00
feos b89f14313e fix syntax 2021-03-28 20:59:12 +03:00
zeromus ac349af9f5 stop using exceptions for flow control 2021-03-28 03:44:52 -04:00
YoshiRulz 927a8970d6
Use a nicer loop syntax in MainForm.ProcessInput 2021-03-28 08:48:00 +10:00
YoshiRulz 77e9197bcc
Encapsulate MainForm.ProcessInput to not use Controllers/InputManager 2021-03-28 08:48:00 +10:00
YoshiRulz 095de11f00
Inline Controller.NormalizeAxes and cleanup 2021-03-28 08:48:00 +10:00
YoshiRulz 04257ec676
Resolve TODO in Controller.NormalizeAxes
_axes and _axisRanges have the same keys, and should probably be one dict,
and _axisBindings has the same keys or a subset
2021-03-28 08:47:57 +10:00
YoshiRulz b6f1afcce8
Enable nullable reference types in BizInvoke 2021-03-26 14:52:56 +10:00
YoshiRulz 23d8417ca8
Convert ParameterLoadInfo to a readonly struct 2021-03-26 14:52:55 +10:00
YoshiRulz d43d8fc38c
Improve encapsulation of InvokerImpl 2021-03-26 14:52:55 +10:00
YoshiRulz a6f1156012
Throw ObjectDisposedException from MemoryBlock methods after disposed 2021-03-26 14:52:55 +10:00
YoshiRulz fabf518c73
Narrow constraint on generic GetDelegateForFunctionPointer ext. method 2021-03-26 14:52:55 +10:00
YoshiRulz cbd875376e
Add and use FirstOrNull ext. method for collections of value types
This reverts commit 5567a42bb1.
2021-03-26 11:26:52 +10:00
zeromus 5567a42bb1 don't depend on exceptions for flow control 2021-03-25 21:13:11 -04:00
YoshiRulz c6dcb71d92
Remove goto from PCESoundDebugger.UpdateAfter 2021-03-26 10:43:20 +10:00
YoshiRulz 5daed21990
Remove goto from FilterProgram.Compile 2021-03-26 10:41:11 +10:00
YoshiRulz ba5a24eaad
Minor changes to readme 2021-03-26 09:58:56 +10:00
YoshiRulz 7eed4c5492
Update building on Windows section (resolves #2679) 2021-03-26 09:31:27 +10:00
YoshiRulz 40a0abc657
Replace Dictionary with List of ValueTuple in ArtManager
it was only used as a List of KeyValuePair anyway
I assume this was written before tuples
2021-03-25 19:31:56 +10:00
YoshiRulz e9ce42bfe0
Remove the other goto from TexAtlas.PackAtlas 2021-03-25 19:20:21 +10:00
YoshiRulz 997df16487
Remove a goto from TexAtlas.PackAtlas 2021-03-25 19:20:21 +10:00
YoshiRulz 89c1406f5a
Minor refactorings in TexAtlas.PackAtlas 2021-03-25 19:20:21 +10:00
YoshiRulz fc30b0bd26
Replace TexAtlas.PackedAtlasResults with List of ValueTuple 2021-03-25 19:20:18 +10:00
YoshiRulz 98c7db0274
Fix typo in TexAtlas.PackAtlas
This has been here since it was added in a2ba761ae. I think it's never caused
problems because the two lists are the same in all cases where the method's
result is used (the single caller, ArtManager.Close, immediately checks the
result of this method and throws if multiple atlases are used).
2021-03-25 18:58:22 +10:00
YoshiRulz 3da01dbfce
Init LuaFileList/LuaFunctionList outside platform impl. and pass in
now init'ing the lists at construction instead of mutating them afterwards
2021-03-25 16:02:22 +10:00
YoshiRulz ddef661eb2
Move attaching of callbacks from LuaConsole_Load to Restart
Y'know, where the thing they're being passed to is created... I don't think them
only being attached once was a problem, as one is also called from elsewhere and
the other is kinda useless
2021-03-25 15:43:20 +10:00
YoshiRulz f7cacfab99
Inline methods from LuaFunctionListExtensions and cleanup 2021-03-25 15:20:47 +10:00
YoshiRulz 3b8f08b1b0
Create and use helper for changing core pref. when importing movies 2021-03-25 15:11:04 +10:00
YoshiRulz 3249ae202e
Pass MainForm as IDialogParent through to movie importers 2021-03-25 15:11:04 +10:00
YoshiRulz 2fad61e4b5
Don't set preferred core for GBA when importing .vbm, there's only one
this wasn't removed when we dropped VBA-Next
2021-03-25 15:11:04 +10:00
zeromus b1602dae06 lua - actually send a comprehensible string over sockets instead of nonsense 2021-03-24 02:51:43 -04:00
James Groom f5d21a8f68
Unification of modal dialogs for errors and such (#2579)
* Pass IDialogParent to IVideoWriter impls via ctor instead of param

* Refactor IDialogController/Parent, moving some of it to Client.Common

tl;dr: MessageBoxButtons.OK => ShowMessageBox/ModalMessageBox,
MessageBoxButtons.YesNo or .OKCancel => ShowMessageBox2/ModalMessageBox2,
MessageBoxButtons.YesNoCancel => ShowMessageBox3/ModalMessageBox3.

Possible breaking change: Cheats had `Owner ?? this` as its "self", which I
think parented any modals it opened to MainForm instead of the Cheats window.
The Cheats window will be their parent now regardless. Other than that, all the
icons and stuff for all the other dialogs should be exactly the same.

* Remove WinForms dep from AV classes where possible

* Cleanup CoreFileProvider init, passing MainForm as IDialogParent

* Pass MainForm as IDialogParent to MovieSession

* Pass IDialogController through to one MovieZone ctor

* Use MessageBox helpers in RecordMovie

* Implement IDialogParent on misc. Forms to use MessageBox helpers

* Use MessageBox helper in misc. config Forms

* Pass IDialogController through to misc. Forms for MessageBox helpers
2021-03-23 19:08:32 -05:00
feos fbfbda65ad update mame lua api 2021-03-22 20:12:18 +03:00
zeromus c252ac2934 blind fix to lua socket receive string which supports embedded nulls and probably fixes rarer cases where long codepoints got broken up. re #2671 2021-03-21 21:28:39 -04:00
YoshiRulz fafa29a2bf
Add Lua function comm.socketServerSendBytes (resolves #2194)
takes a single param of an array-like table, casts each element to byte before
passing to ApiHawk
2021-03-22 08:15:53 +10:00