Commit Graph

205 Commits

Author SHA1 Message Date
zeromus b1d491d91f banish some unruly epsilons 2020-04-28 18:56:24 -04:00
zeromus 9c6834db17 fix bugs in "Display scaling by integer" caused by edits for NDS rotation (e45943c26a)
fixes #1958
2020-04-28 18:56:24 -04:00
zeromus cb5c49d11b fix more matrix sense snafus 2020-04-28 18:56:24 -04:00
adelikat ab7225c955 remove MovieSession convenience property that isn't that convenient anyway 2020-04-14 20:58:02 -05:00
adelikat 0d2f014621 refactor Bk2LogEntryGenerator to be stateless, refactor some IMovieSession shenangians 2020-04-14 20:50:21 -05:00
adelikat cdfeda8b71 rename IMovieController methods and classes to better describe what they are 2020-04-14 20:10:50 -05:00
adelikat cc15bb2841 fix some object churning when input display is on 2020-04-14 17:47:49 -05:00
adelikat 2b17c6d310 simplify some LogGenerator code 2020-04-14 16:44:37 -05:00
zeromus bb68d55db8 fix AR problems due to NDS screen layout work 2020-04-07 23:34:41 -04:00
zeromus 377e4498d7 straighten out lua APIs for coordinate transforming 2020-03-31 19:15:52 -04:00
zeromus 667a218c58 hook up melonds screen control stuff to settings 2020-03-31 18:30:08 -04:00
zeromus e45943c26a raw capability for DisplayManager handling the NDS screen layouts. someone else will have to hook up the configuration in "CreateCoreScreenControl()". Gap, rotation, and layouts all supported. You will see that other configurations with varying view sizes won't be hard either.
Note that this was actually not very difficult, compared to dealing with the client sizing logic, which was teetering on the brink of total collapse. I may have messed something up while trying to support it here (mainly related to emu-space and client-space padding). There were many assumptions that the core's videoProvider would remain sensible, which this "core screen control" system subverts. The padding and sizing was added after I designed the pipeline specifically for this, so the padding and sizing is not handling it very well. Nonetheless, I think it works.
2020-03-29 21:50:06 -04:00
adelikat 729c0516ed some nitpick cleanups 2020-03-29 15:57:27 -05:00
adelikat 730156b5db DS - wire up some screen setting options, the side by side ones don't work because screen arranger has a bug, and it is flawed, going to refactor all of this 2020-03-28 12:03:26 -05:00
adelikat 3e89a7f201 DS - refactor settings so that it is an enum that then translates to ScreenArranger settings 2020-03-28 11:21:39 -05:00
adelikat e2ac7d7a8f cleanup ds video options code 2020-03-28 10:31:25 -05:00
zeromus 6c541de69d ZOOM 2020-03-28 03:51:47 -04:00
zeromus 90246dd4c1 fix raw screenshots, which previously were a mixed up mess of user filters and sysdrawing downscaling. fixes #1902.
This was broken by 95bc69b448 (or else it was benign at that time and broken later, but the fundamental change was here).

This caused the raw screenshots to go through the displaymanager instead of very simply converting the core's videoprovider at that point. The reason was because only the displaymanager had the power to render an opengl core's texture ID.

In this commit, I fixed it so that displaymanager had the power to render a videoprovider WITHOUT the user's scaling filters
2020-03-28 03:46:31 -04:00
SuuperW 88904e6b44 support custom screen layouts in MelonDS core (no UI yet) 2020-03-22 18:40:52 -05:00
adelikat 6a25679ae3 remove trailing comma in various places in Emuhawk probject 2020-03-21 16:04:08 -05:00
SuuperW c59d8130bb
DS Hawk (#1884)
* Add MelonDS.cs, support opening (but not really) .nds files.

* init MelonDS

* MelonDS: Load selected ROM.

* MelonDS: FrameAdvance and frame counter.

* MelonDS: IVideoProvider

* MelonDS: Add DLL files.

* MelonDS: IInputPollable

* MelonDS: IStatable (and add forgotten file MelonDS_InputPollable.cs)

* update libmelonDS.dll

* MelonDS: ISoundProvider

* Add NDS to Global.SystemInfo, and convert screen coords when running NDS.

* set up default NDS controller

* MelonDS: ISaveRam

* MelonDS: remove romlist.bin

* MelonDS: ISettable

* Create firmware folder if it doesn't exist on Windows; otherwise, an exception is thrown.

* Add database entries for NDS bios/firmware files.

* MelonDS: Use the bios/firmware files selected in BizHawk's "Firmwares" dialog.

* MelonDS: Re-work sync settings a bit.

* NDS's firmware file contains user settings; these are over-written by sync settings, so we shouldn't allow them to impact the hash

* MelonDS: Add (currently unused) bootToFirmware sync setting, and NDSSettings dialog.

* Update NDS firmware hash; it seems I had somehow corrupted mine.

* MelonDS: Use boot to firmware sync setting.

* MelonDS: Allow user to set some firmware user settings via the NDS settings dialog.

* MelonDS: Add singleInstance attribute to core.

* MelonDS: IMemoryDomains

* update libmelonDS.dll

* MelonDS: Set up default sync settings if none are provided.

* MelonDS: Allow user to reset settings to default.

* MelonDS: bios+firmware files are recommended

* libmelonDS.dll

* MelonDS: Don't use real time.

* MelonDS: Update to reflect new way of handling RTC in MelonDS.

* MelonDS: Notify if savestate load failed.

* update MelonDS.dll

* MelonDS: Allow user to set startup date/time in settings dialog.

* MelonDS: Create melon directory if it doesn't already exist.

* Don't include Designer's "fixes" in PR (partially reverts 56b474c00)

* Don't show a broken console window; alert user of need to restart instead.
This fixes an error related to MelonDS trying to use the broken stdout stream.

* update default NDS controls to match other updated controls

* Implement a system bus, using ARM9 read/writes.

* MelonDS: Allow BizHawk to change the contents of the frame buffer.

* update libmelonDS.dll

* fix stuff that was merged incorrectly, or was broken by merge

* update libmelonDS.dll
(includes memory leak fix)

* update libmelonDS.dll
(fixes memory leak and an occasional savestate crash)

* fix stuff that broke with the merge

* cleanups, remove stuff that is no longer needed by service interaces

* simplify DS MemoryDomains

* DS - fix order of controller buttons to be consistent with other consoles.  This probably breaks any existing movies made on this core, but those would have been experiments, right?

* NDSSettings - make min value for day and month 0, whiel those aren't "valid" values they are the default values in the core for whatever reason, better to not crash on load and not show a value that isn't actually the setting.  This can easily be reverted if the core changes to default to 1

Co-authored-by: YoshiRulz <OSSYoshiRulz@gmail.com>
Co-authored-by: adelikat <adelikat@tasvideos.org>
2020-03-21 10:53:30 -05:00
YoshiRulz e1951b9fc5
Cleanup PathExtensions
Fixes f02295455/c731e1168/5c7135d67
2020-03-21 13:45:58 +10:00
adelikat 6d5c444252 Move Global controller adapters into InputManager, it's a step in the right direction 2020-03-15 17:50:48 -05:00
adelikat e16dc33722 move some PathManager methods to a PathUtils class in BizHawk.Common 2020-03-15 15:59:10 -05:00
adelikat 7456d81a9c cleanup FilterManager.cs 2020-03-06 17:35:01 -06:00
adelikat 9584ff1f53 use switch expressions in some various places in EmuHawk, and some other simplifications 2020-03-04 20:18:43 -06:00
adelikat 46d05de51f nothing to see here 2020-02-28 12:52:48 -06:00
adelikat 4bf463a2fc use object initializers in Client.EmuHawk 2020-02-28 11:15:06 -06:00
adelikat 656f2b814e Move IEmulator extensions to the Emulation.Common namespace, the intent is that these are used and serve as built in functionality, so it's overly tedious to when most situations require both Common and an additional extensions namespace 2020-02-15 12:33:15 -06:00
adelikat 5b7b65724a Remove some files that were dereferenced from EmuHawk.csproj but not actually deleted from version control 2020-02-08 12:54:43 -06:00
adelikat bfd33e5399 separate out lua and ram watch on screen message lists so they can't clobber each other, fixes #1831 2020-02-02 12:09:13 -06:00
adelikat ef13754f79 consistent variable naming in config.cs 2020-01-25 10:57:39 -06:00
YoshiRulz 165c2a0e2e
Merge BizwareGL.SlimDX into BizwareGL 2020-01-22 07:21:22 +10:00
YoshiRulz 87833d76d7
Merge GdiPlus and OpenTK into BizwareGL 2020-01-22 07:05:50 +10:00
adelikat 3d833af617 break out enums from Config.cs 2020-01-21 09:02:42 -06:00
YoshiRulz 060255471b
Improve exception docs in BizHawk.Client.EmuHawk 2020-01-02 21:51:37 +10:00
adelikat 0f33e2b1e7 cleanup display manager code 2019-12-31 11:14:10 -06:00
adelikat 64ea9afee5 cleanups 2019-12-31 10:17:55 -06:00
adelikat b80b367831 refactor IMovie to expose the movie mode, and make extension methods that do IsPlaying type logic. This way there can be direct checks, and more variety of methods without cluttering the interface 2019-12-21 16:34:29 -06:00
adelikat d26cb7d272 small cleanup 2019-12-21 15:55:01 -06:00
adelikat 7cfbd1cead simplify onscreen message drawing logic, fix MessageConfig dialog result when Ok is pressed 2019-12-21 15:48:50 -06:00
adelikat f5f22e78d8 Simplify on screen ram watch value positioining, and respect the anchor value setting 2019-12-21 15:36:37 -06:00
adelikat f5929602ff rename MessageOption to MessagePosition 2019-12-21 15:28:16 -06:00
adelikat 433eff65ec OSDManager - simplify calculations for points for things like fps, frame counter, etc 2019-12-21 15:24:50 -06:00
adelikat 9ae977ae12 OSDManager - a simplification 2019-12-21 15:04:54 -06:00
adelikat 6748d32830 Message config - fixes, make Anchor an enum instead of int 2019-12-21 14:50:20 -06:00
adelikat a565f6f299 refactor message display option settings to be an object, and simplify the message config dialog 2019-12-21 14:11:49 -06:00
adelikat b65b9d64d7 DisplayManager cleanups 2019-12-21 12:33:45 -06:00
adelikat 8802d75527 Game Game.IsNullInstance a null-safe extension method, and a few other cleanups 2019-12-08 13:36:15 -06:00
YoshiRulz 1d7b1b49ee
Improve logging in shader compilation (resolves #1748) 2019-12-03 03:03:38 +10:00