Commit Graph

1799 Commits

Author SHA1 Message Date
a3f4aaf503 call glFlush only once
that seems to atleast get rid of the flicker
the weird issue that clears don't work is still there
2021-01-29 12:38:31 +01:00
b75b3f69b7 Don't save the window size to the config if in full screen (#933) 2021-01-27 00:14:24 +01:00
4a28068295 the rasteriser doesn't have to be done on line 144
thanks to the VRAM cache
2021-01-26 19:05:21 +01:00
aceabe92e6 fix recent regression in screen layout calculation 2021-01-26 18:19:25 +01:00
b78bc4cb66 fixes to the threadedness of the sw rasteriser
also fix #639 and fix #880
2021-01-26 16:42:27 +01:00
ab222ab135 Use libepoxy to load in OpenGL functions (#960)
* Use libepoxy to load in OpenGL functions

Prevents having to load them in manually

* Install libepoxy in the CI

* Do not link OpenGL libraries, libepoxy opens them itself

* Add libepoxy to build instructions
2021-01-26 13:19:32 +00:00
54b1a752d4 Add hybrid layout (#772) 2021-01-25 19:47:54 +01:00
43348210f9 Fix some compiler warnings 2021-01-25 14:12:13 +00:00
b9a56bc4e4 more screen modes
- add support for different aspect ratios
- add support for displaying only one screen at once
2021-01-24 22:32:13 +01:00
536902d610 Fix crash if OpenGL version is lower than requirements 2021-01-24 15:44:05 +00:00
9994d3a644 Add FreeBSD support (#939)
* Add FreeBSD support

* Fix indentation

* Fix Linux not finding OpenGL

* Link POSIX Realtime Extensions library

* Link POSIX Realtime Extensions when OpenGL is enabled too

* Fail if shm_open memory exists and also check for errors

* fix the last commit

* (try to) Setup FreeBSD CI

* Fix some issues with FreeBSD CI

* Make with all cores

* Remove FreeBSD CI 

It doesn't want to work for some reason
2021-01-22 19:20:32 +01:00
34da7f5cc3 minor code refactoring, to simplify BizHawk support (#958) 2021-01-22 19:05:07 +01:00
f259fd9755 fix again 2021-01-22 17:40:56 +00:00
5dd94f5ec1 fix last commit 2021-01-22 17:38:30 +00:00
faf7cf752d Add option to pause emulation when focus is lost
Fixes #875
2021-01-22 17:35:13 +00:00
8a3a8b7c68 include polygon attr opaqueness for translucent polygons in render key 2021-01-22 12:19:51 +01:00
7e3d1058a6 Fix blank melonDS app icon on macOS 2021-01-22 10:38:37 +00:00
1e4c0c9d72 Polish up archive support (#930)
* Fix directory path when extracting from archive

* Don't create new dir in execution dir of melonds
* Create it beside the archive instead

Signed-off-by: Madhav Kanbur <abcdjdj@gmail.com>

* ArchiveUtil : Use QT functions for I/O

* Make it more platform independent, cleaner

* Fixes permission related crash on linux

Signed-off-by: Madhav Kanbur <abcdjdj@gmail.com>

* NDSCart : Abstract out common code in LoadROM()

Signed-off-by: Madhav Kanbur <abcdjdj@gmail.com>

* Extract nds roms to memory

* Some stuff is still broken in the frontend

Signed-off-by: Madhav Kanbur <abcdjdj@gmail.com>

* GBACart : Abstract out common code in LoadROM()

Signed-off-by: Madhav Kanbur <abcdjdj@gmail.com>

* Extract gba roms to memory

Signed-off-by: Madhav Kanbur <abcdjdj@gmail.com>

* Integrate archive support with recent files

Signed-off-by: Madhav Kanbur <abcdjdj@gmail.com>

* onClickRecentFile : Pause emu thread conditionally

* Don't pause at start of the function
* If user opens an archive and hits cancel, it won't pause

Signed-off-by: Madhav Kanbur <abcdjdj@gmail.com>

* Handle Resets when loading from archives

* Ask user to pick the rom(s) again (i.e. GBA & NDS)
when there are multiple files in the archive(s)

* Directly load if only 1 file

Signed-off-by: Madhav Kanbur <abcdjdj@gmail.com>

* Archive support for drag-n-drop

* Also recent files support for drag-n-drop

Signed-off-by: Madhav Kanbur <abcdjdj@gmail.com>

* main : Allocate rombuffer objects on stack

* Less messy, decreases chances of memory leaks

* Underlying implementation of qbytearray uses heap (hopefully?)

Signed-off-by: Madhav Kanbur <abcdjdj@gmail.com>

* GetSavestateName : Archive support

* Construct ssname from srampath (since rompath has archive name)

NOTE: In general, archive name != rom file name !!!!!!!!!!

Signed-off-by: Madhav Kanbur <abcdjdj@gmail.com>

* Add srl and dsi as "direct-load" formats

* Direct-load = anything not in an archive

Signed-off-by: Madhav Kanbur <abcdjdj@gmail.com>

* Don't use static functions

Signed-off-by: Madhav Kanbur <abcdjdj@gmail.com>

* Remove QT stuff from Util_ROM

* Also, during reset, directly load file from archive (no rom picker)

Signed-off-by: Madhav Kanbur <abcdjdj@gmail.com>

* Remove QT includes from FrontendUtil.h

Signed-off-by: Madhav Kanbur <abcdjdj@gmail.com>

* Util_ROM/LoadROM() : Use SetupDSiNAND()

Signed-off-by: Madhav Kanbur <abcdjdj@gmail.com>

* Util_ROM/Reset() : Use strrchr()

Signed-off-by: Madhav Kanbur <abcdjdj@gmail.com>

* Util_ROM : Put Archive stuff behind ifdefs

Signed-off-by: Madhav Kanbur <abcdjdj@gmail.com>

* main: Set parent widget for archive dialog boxes

Signed-off-by: Madhav Kanbur <abcdjdj@gmail.com>

* Revert "Util_ROM/Reset() : Use strrchr()"

This reverts commit c8af6f066f.
2021-01-22 11:22:32 +01:00
d42ca1ec4b Implement "lag frame" flag and counter (#949)
* Implement "lag frame" flag and counter, and expose flag and both frame counters. BizHawk wants these.

* Track frame count and lag frames while the system isn't running.
2021-01-21 21:26:27 +01:00
8a068c2294 GL: ensure to set depthmask to TRUE before rendering opaque shit 2021-01-21 21:10:43 +01:00
bf0ea26596 Add option to hide mouse on inactivity (#955)
Also allow user to specify how long to wait before hiding
2021-01-21 19:48:25 +01:00
1494d7aa24 fix ARM64 again 2021-01-21 15:32:02 +01:00
3b994fe892 fix last commit for ARM64 2021-01-20 18:01:21 +01:00
771dfaca2e JIT: handle STR post with rd == rn
fixes Zelda Four Swords
2021-01-19 23:50:08 +01:00
31c9d116bd Merge pull request #954 from WaluigiWare64/cmake-melonds-ver
Define melonDS version in CMake
2021-01-19 13:28:55 +01:00
e8f06b8ac1 Define melonDS version in CMake
Prevents having to update multiple files (melon.rc, melon.plist, version.h) when a new version is released.
2021-01-19 11:39:25 +00:00
cd6859ef6f Add hotkey to swap screens (#953) 2021-01-18 22:51:39 +01:00
d529b650c0 implement swapping the position of both screens
closes #855
2021-01-17 22:16:32 +01:00
1d6cc3c6ef keep only one handle of the NAND file around 2021-01-17 19:56:02 +01:00
53d5def919 pad ShaderConfig to a multiple of 16 2021-01-17 17:15:03 +01:00
8829b0511c Change all mentions of qt5 to qt@5 on macOS (#937)
* Change all mentions of qt5 to qt@5 on macOS

* Use temporary workaround to get macOS brew updating

https://github.com/actions/virtual-environments/issues/2322#issuecomment-749211076

* Don't install CMake, it is already installed in the macOS runner
2021-01-13 14:56:06 +01:00
c109235d01 Also include Homebrew on ARM64 Mac location in CMake (#938) 2021-01-11 23:01:23 +01:00
b402cb19b2 quit on sigint (#934)
* quit on sigint

* formatting
2021-01-10 03:48:40 +01:00
30a0569c87 Update melonDS version in melonDS.plist (used on macOS) (#932) 2021-01-09 23:35:40 +01:00
bf97387f26 Improved SRAM performance (#925)
* Offload NDS SRAM writing to separate thread, debounce writes to two seconds after last flush or DeInit.

* Fixed printf messages.

* Fixes after CR.

* Fixed potential portability issue with time_t
2021-01-09 22:18:57 +01:00
6b306e18a5 handle edge cases properly 2021-01-09 22:06:15 +01:00
c475372372 mask off upper bits when incrementing RX addr
fixes #931
2021-01-09 18:31:12 +01:00
7081c2de65 readd vram invalidation through display capture
also remove stray printf
2021-01-07 22:39:36 +01:00
e311eea1c5 fix out of bounds read 2021-01-07 18:36:49 +01:00
1d8e302c13 Merge pull request #926 from WaluigiWare64/fix/freebsd-include-aflink
Fix FreeBSD undefined identifier issues in Lan_PCap.cpp
2021-01-07 18:32:02 +01:00
641ddf8137 Merge pull request #678 from WaluigiWare64/feature/zip-support
Add support for loading ROMs from a variety of compressed files
2021-01-07 18:30:12 +01:00
e485ce3e13 Add Open ROM inside Archive function
instead of using file extensions
2021-01-07 17:26:55 +00:00
5865b4438e fix JIT block hash after a merged thumb BL
fixes #928
2021-01-05 22:38:29 +01:00
8a1f3d8ce2 Properly fix macOS finding libarchive
(i hope)
2021-01-05 16:22:07 +00:00
00e9a5e0c7 Allow melonDS to write the file
The directory wasn't created, so the file was not being written
2021-01-05 15:34:28 +00:00
ef75e3cdd1 JIT A64: fixes
also update Switch code for latest libnx
2021-01-05 14:36:50 +01:00
dbb12b48ec Fix FreeBSD undefined identifier issues in Lan_PCap.cpp
FreeBSD requires net/if.h to be included as well.
2021-01-05 12:06:17 +00:00
25455cb7aa Set menubar height to 0 in fullscreen (#924)
* Set menubar height to 0 in fullscreen

* Avoid using hide() on the mainwindow's menubar as it breaks menubar
actions.

* Fixes save/load state shortcuts not working in fullscreen (#922)

Signed-off-by: Madhav Kanbur <abcdjdj@gmail.com>

* Don't modify menubar width when exiting fullscreen

* Fixes weird looking menubar on Windows

Signed-off-by: Madhav Kanbur <abcdjdj@gmail.com>
2021-01-05 11:37:27 +01:00
6e3207f9dc GX: fix vector test
after I broke it in d2c04c5c51
fixes Mario & Luigi Partners in Time
2021-01-04 16:36:51 +01:00
6c91157495 Fix libarchive being found on macOS
properly this time
2021-01-04 10:31:57 +00:00