GalaxyShard
b60f42b281
Fix gdb break on start & gdb ports not closing after restarting/crashing ( #2167 )
2024-10-27 22:06:59 +01:00
Nadia Holmquist Pedersen
98d969ab15
only apply windows11 theme workaround to Qt6. Qt5 doesn't have it anywya.
2024-10-27 21:23:15 +01:00
Arisotura
12b207d915
remember which windows are opened
2024-10-27 18:49:17 +01:00
Arisotura
e42829ea81
pause emu during file select prompts
2024-10-27 17:21:41 +01:00
Arisotura
238c552599
limit to 4 windows, and disable 'new window' menu item when that amount is reached
2024-10-27 16:26:29 +01:00
Arisotura
d79d45a117
properly sync up menus between windows of a same instance
2024-10-27 16:21:09 +01:00
Arisotura
94955aee81
fix another OpenGL bug (when closing secondary window)
2024-10-27 14:51:11 +01:00
Arisotura
f2dce621ce
proof all dialogs against use-after-free when closing main window while a dialog is open
2024-10-27 14:24:59 +01:00
Arisotura
a61754bb58
fix possible crash when closing window while video settings dialog is open
2024-10-27 13:53:12 +01:00
Arisotura
6d345cc1ea
correctly propagate video settings changes to all windows
2024-10-27 13:43:26 +01:00
Arisotura
e576538268
synchronize pause/unpause across all instances
2024-10-27 11:21:30 +01:00
Arisotura
e6f0d77aa0
fix freeze when starting new emu instance while using OpenGL
2024-10-27 10:17:59 +01:00
Arisotura
24ca1a5fdb
lay base for keeping config in sync across multiple instances
2024-10-27 10:02:57 +01:00
Gess1t
2bf0eb7ead
Handle failure of OpenGL context creation ( #2172 )
2024-10-27 09:20:51 +01:00
Arisotura
2d561a60c8
fix Qt5 compatibility (sdffdf)
2024-10-27 09:16:46 +01:00
Arisotura
4ae4397547
properly update display type across all windows
...
(remind me to also propagate changes across instances)
2024-10-27 02:42:27 +02:00
Arisotura
b2ae4c7dc5
lay base for a window with no menubar
2024-10-27 02:07:33 +02:00
Arisotura
881a740cab
start actually implementing multi-window feature, still rough around the edges
...
fix crash when closing main window if sub windows are involved
fix OpenGL context handling, still need to fix when changing display type
2024-10-27 01:14:29 +02:00
Citrodata
f375099613
Update EmuThread.h ( #2171 )
...
* Update EmuThread.h
Add missing include QVariant. This fixes and error when building on Arch.
* Update AboutDialog.cpp
2024-10-26 23:03:36 +02:00
Arisotura
1d284f6f1e
as promised, reroute dropEvent() through EmuThread
2024-10-25 16:16:23 +02:00
Arisotura
fc3c7440d1
fix that crash
2024-10-25 12:33:04 +02:00
Arisotura
979f1ed615
same shit with Import Savefile
2024-10-25 10:52:47 +02:00
Nadia Holmquist Pedersen
8b6628b070
Work around Qt windows11 theme menu bar padding
2024-10-25 01:15:59 +02:00
Nadia Holmquist Pedersen
287f6642fc
Add an About dialog with build info ( #2138 )
...
add About dialog
2024-10-24 22:05:30 +02:00
Arisotura
75e6856af4
route savestate stuff through EmuThread
2024-10-24 19:27:45 +02:00
Arisotura
3fc065d72d
fix ROM preloading to also go through EmuThread
2024-10-24 17:48:34 +02:00
Arisotura
1787235e09
fix more shit
...
now it doesn't shit itself on startup if the BIOS paths are wrong
2024-10-24 17:20:14 +02:00
Arisotura
13b4cea171
move screen layout/etc options to new View menu
2024-10-24 16:08:04 +02:00
Arisotura
1666049531
fix shit
2024-10-24 14:00:11 +02:00
Arisotura
6d3ea6a485
fix bug with the GBA addon menu (and make it a proper list so we don't have to hardcode the length all over)
2024-10-24 13:49:43 +02:00
Arisotura
079341f102
take this a bit further
2024-10-24 11:44:21 +02:00
Arisotura
82f38f0b7a
start moving ROM/firmware loading to the emuthread to avoid cursed bugs
2024-10-24 00:27:05 +02:00
Arisotura
1428bfb2cf
fix one of the cursed bugs
2024-10-23 20:33:31 +02:00
Arisotura
d68b58f37e
fix DSi wifi hang
2024-10-23 14:55:02 +02:00
Arisotura
b993ec10cd
remove "Test" menu item
2024-10-23 11:57:37 +02:00
kaitou
e5501e555f
fix: set default mode to 24 hours ( #2166 )
2024-10-22 20:13:55 +02:00
Nadia Holmquist Pedersen
216b8e045d
fix audio interpolation setting range
2024-10-07 11:28:58 +02:00
RSDuck
30441fed24
do not restore fullscreen state from saved geometry
2024-10-06 19:00:54 +02:00
RSDuck
aa443c8846
fix #2083 and minor cleanup
2024-10-06 17:33:03 +02:00
RSDuck
f13c70d028
fix blow noise input
...
(microphone input takes signed values)
2024-10-01 19:52:10 +02:00
Jakly
e9446fa9dc
implement 3 configurable and toggleable framerate targets ( #2159 )
...
This pr allows for configuring the framerate target and adds support for two other framerate targets, a "fastforward" and "slowmo" target which can be enabled via either a toggle or holding a button.
this allows for supporting a more accurate framerate target and allows for users to slow down the speed of gameplay if they so desire
2024-09-29 09:30:13 +02:00
RSDuck
2eb6d44c2c
prevent use after free through focusOutEvent when window is closed
2024-09-24 20:08:07 +02:00
CasualPokePlayer
2179ca2a41
Set the correct save type for Puzzler World USA ( #2156 )
...
Fixes #1804
2024-09-18 20:58:55 +02:00
RSDuck
7ac2eb2d71
attempt at fixing Windows build
2024-09-15 07:38:28 +02:00
RSDuck
a3d696121e
rework gdb packet parsing
...
it should be a bit more robust now
2024-09-15 07:30:53 +02:00
RSDuck
74f479ce6d
gdb stub config setup fixes
2024-09-11 14:41:22 +02:00
Jakly
f719438a6e
Improve calculation of light colors ( #1967 )
...
* maintain precision until all lights are calculated
fixes lugia on the soul silver title screen
* small optimization
* small note
* small cleanup/notes
shouldn't need to check that every time, since the variable shouldn't be able to overflow
* hw doesn't cap difflevel at 255
Should it cap at all?
Can vtx colors overflow...?
* diffuse level appears to be shifted right by 9
fixes some minor inaccuracies
* improve specular lighting a little
* small improvement to diffuse lighting
fixes a few off by ones
- finding by azusa
* small tweaks
* handle overflows of diffuse lighting properly
-credits to azusa once more
* attempt at improving specular lighting calcs
still far from correct, but its a start.
fixes: https://github.com/melonDS-emu/melonDS/issues/1545
* meh
* improve specular lighting further
* add notes
* theory: add half vec instead of subt 1
* implement azusa's specular lighting algorithm
* fix minor edge case with spec lighting
* give proper credit in comments
* fix some bugs/misc tweaks
* more quirky overflow/underflow handling
* fix a spec lighting edgecase
remove some redundant parentheses
* fix an edge case with light vector calcs
* spec recip uses a different calc for light dir?
also remove a check that shouldn't be mathematically possible to trigger
* nvm that thing i thought couldn't trigger was required
also move reciprocal calc into the light vector calc function since i might as well now ig
* replace a bunch of stuff with much *much* simpler algorithms
* misc cleanup
PARENTHESES WOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO
* leave a note abt shininess table's default value being incorrect
2024-09-10 16:13:51 +02:00
Nadia Holmquist Pedersen
268c4f14c1
vcpkg: support building on Linux
2024-09-06 22:50:12 +02:00
Alex
4f6498c99c
Fix "Ejected GBA cart" not adding a newline ( #2140 )
2024-08-21 13:39:34 +02:00
Jesse Talavera
824eb370e4
Fix the build when the JIT is disabled ( #2139 )
2024-08-19 15:21:34 +02:00
Arisotura
0e6235a7c4
LAN: remember player name and max players setting
2024-08-15 13:34:27 +02:00
Arisotura
5b986d3111
wifi: add hack to facilitate multiplayer connections (extend post-beacon interval when connection is being initiated)
2024-08-14 16:47:08 +02:00
Nadia Holmquist Pedersen
c6cab9ed41
mac-libs.rb: Make bundling a bit smarter
...
* Resolve symlinks to avoid including the same thing twice (like
version-numered dylib symlinks)
* Look in all Qt prefix paths for plugins - the package may not
necessarily have the same path
* reduce install_name_tool invocations to make it a bit faster
* change dylib IDs to remove original source path
2024-08-13 07:53:09 +02:00
Nadia Holmquist Pedersen
5598065985
Netplay.cpp should not include main.h, also fix a format warning
2024-08-11 03:14:14 +02:00
Arisotura
8d31875902
Backport LAN ( #2131 )
...
backport the old LAN feature to the modern melonDS codebase.
2024-08-10 23:20:50 +02:00
Nadia Holmquist Pedersen
ec71b15505
Add a Nix flake ( #2097 )
...
Adds a Nix flake, allowing easy building and running of melonDS using the Nix package manager, as well as potentially very stable and reproducible CI in the future.
2024-08-08 05:36:06 +02:00
Nadia Holmquist Pedersen
53c58bd777
fix potential issue with glib shim min/max defines
2024-08-07 17:49:29 +02:00
Nadia Holmquist Pedersen
4359bccfcb
fix the slirp shit some more
2024-08-07 17:45:56 +02:00
Nadia Holmquist Pedersen
b47563e888
Apply FixInterfaceIncludes to the slirp package again to work around
...
package inconsistencies
2024-08-07 17:28:25 +02:00
Nadia Holmquist Pedersen
a174901412
fix building with system libslirp
2024-08-07 17:24:07 +02:00
Nadia Holmquist Pedersen
8423dae6ff
Add "Open melonDS directory" menu option
2024-08-07 15:53:58 +02:00
RSDuck
dd386d12a9
use templates to only execute GDB stub related code if enabled
2024-08-05 03:23:49 +02:00
pants64DS
76c2723f5c
Fix console output on Windows ( #2122 )
...
Co-authored-by: pants64DS <pants64DS@users.noreply.github.com>
2024-08-02 02:21:37 +02:00
CasualPokePlayer
757a608b6e
Fix a few compiler warnings ( #2063 )
2024-08-01 23:26:46 +02:00
Jakly
54e87c915f
fix a couple polygons ( #1920 )
...
hw prioritizes the earlier vertex instead of leftmost
2024-08-01 22:55:00 +02:00
Jakly
12be06beb6
fix gdb stub causing the emulator to hang on undefined instructions ( #2054 )
...
* dont hang on undefined instruction
* Add spaces
---------
Co-authored-by: Kemal Afzal <RSDuck@users.noreply.github.com>
2024-08-01 22:48:52 +02:00
Jakly
161bd9d3d2
Default zero dot display register to the 24 bit integer limit ( #1968 )
...
* 0 dot disp defaults to the 24 bit integer limit
* useless correction
it goes through the reset function to set the variable on boot anyway but why not have the initialized state be correct too
2024-08-01 22:46:05 +02:00
Jakly
d0a7239f15
fix some bugs with compressed texture look up ( #2051 )
2024-08-01 22:44:04 +02:00
Jakly
29c67f2140
implement 16 bit r/w IF and DISPCAPCNT ( #2061 )
2024-08-01 22:41:21 +02:00
Jesse Talavera
327ce45124
Refactor network implementations to be more reusable and less buggy ( #2107 )
...
encapsulate network interfaces
2024-08-01 22:02:45 +02:00
Jesse Talavera
c6bf5d5181
Allow `AREngine` to be used independently of `ARCodeFile` ( #2108 )
...
* Make `EmuInstance::cheatFile` use a `unique_ptr`
- Fixes a memory leak, as the cheat file wasn't cleaned up in the destructor
* Split `AREngine` and `ARCodeFile` apart
- Suitable for frontends that have their own way of storing cheats
- Store the cheats in `AREngine` in a `std::vector`
- Apparently cheats are _supposed_ to be executed each frame; I didn't understand this until recently
2024-08-01 22:01:00 +02:00
Nadia Holmquist Pedersen
f3f6a6a194
Fix building on i686 Linux
...
I doubt anyone actually cares about support for it but hey may as well?
2024-08-01 21:57:32 +02:00
pants64DS
37c0320cbe
Fix an inaccuracy with the No$gba debug registers 04fffa14 and 04fffa18 ( #2119 )
...
Writing to either of the two registers would print one newline too many
Co-authored-by: pants64DS <pants64DS@users.noreply.github.com>
2024-07-31 01:13:06 +02:00
RSDuck
b778fbaad1
attempt at correct utf8 decoding for toml config file path
2024-07-30 17:48:41 +02:00
Nadia Holmquist Pedersen
01c2d65f07
Explicitly include QModernWindowsStylePlugin in static builds
...
I hope this'll make it look right.
2024-07-30 03:10:01 +02:00
RSDuck
12563fb636
use platform file functions for savestates and NAND importing file check
...
should fix character encoding issues on Windows
2024-07-29 00:15:19 +02:00
Nadia Holmquist Pedersen
d31eabb6fa
Don't disable firmware settings controls when override external firmware
...
settings is disabled
2024-07-27 16:56:29 +02:00
Jesse Talavera
837a582087
Expose some fields of `DSi_BPTWL` needed to support direct boot ( #2103 )
...
expose boot flag
2024-07-21 17:23:19 +02:00
Jesse Talavera
821f5f5f29
Allow frontends to use different headers for OpenGL declarations ( #2102 )
2024-07-21 17:02:31 +02:00
BueniaDev
9b828c2cde
Implement Rumble Pak support. ( #2101 )
2024-07-21 17:01:30 +02:00
Nadia Holmquist Pedersen
5eadd67df6
EmuInstance: Use GetLocalFilePath to get the wfcsettings path
...
Fixes the file being created in the current working directory.
2024-07-17 15:44:47 +02:00
Nadia Holmquist Pedersen
4b17de7e8c
Fix annoying Qt touch event deprecations for real this time
2024-07-15 14:37:37 +02:00
Nadia Holmquist Pedersen
71f4d7b222
deviceType doesn't exist in Qt5 apparently
2024-07-15 14:04:40 +02:00
Nadia Holmquist Pedersen
6d2ad2a3f0
Ignore touch events originating from trackpads
...
Fixes multi-finger gestures causing spurious touch screen presses
Also fix some deprecations when we're at it anyway
2024-07-15 13:57:21 +02:00
Arisotura
2031f491f0
fix some Qt6 bugs (buttonClicked -> idClicked)
2024-07-15 13:00:40 +02:00
Arisotura
d92c9fcd90
do not immediately create a core when creating an EmuInstance. fixes some nasty potential bugs. watch out for bugs this may introduce though...
2024-07-15 12:57:18 +02:00
Jesse Talavera
94ba7c1594
Split networking code into its own target ( #2091 )
2024-07-14 17:03:21 +02:00
CasualPokePlayer
a812a43bda
Fix various issues with firmware generation ( #2058 )
2024-07-11 15:55:06 +02:00
OverdueWeevil2
a82b5758bc
Update EmuInstance.cpp ( #2090 )
2024-07-11 13:48:27 +02:00
Nadia Holmquist Pedersen
b55eb431bd
ensure that we actually link the OpenGL library on macOS
2024-07-07 13:45:45 +02:00
Nadia Holmquist Pedersen
1302cbdd64
frontend: Restore linear interpolation for audio output resampling
...
Also, do it smarter this time. This seems to have gone missing with the
doublemelon merge.
2024-07-07 08:19:49 +02:00
Antonio Niño Díaz
25b5ac91bd
Fix horizontal mosaic on sprites ( #2084 )
...
The code itself is correct, but the variable being read is the Y mosaic
coordinate, not the X coordinate.
2024-07-04 00:24:29 +02:00
RSDuck
613569a2ab
append newline to nocash logging
...
makes behaviour consistent with no$gba
2024-07-02 19:09:32 +02:00
Nadia Holmquist Pedersen
4e3592f2d4
Fix loading GBA carts
...
UpdateConsole forgot to reinsert it when messing with the NDS.
2024-07-02 08:18:44 +02:00
Nadia Holmquist Pedersen
f2611680ca
EmuInstance: check consoleType from NDS rather than the instance's when
...
updating console, fixes crash on console type switch
EmuInstance::consoleType is already updated, so the check for whether we
should recreate the NDS to switch console type never succeeds.
2024-07-02 06:23:21 +02:00
Nadia Holmquist Pedersen
db20771ef3
slirp: Add -fvisibility=hidden to glib stub
...
On Linux, our stubbed glib functions were conflicting with the ones from
real glib, which gets used by Qt when we're running on a GTK-based
desktop. Avoid a crash by not exposing them.
2024-06-24 05:25:00 +02:00
Nadia Holmquist Pedersen
cbb0f4b872
Tell the compiler that we want wrapping signed arithmetic
...
The core relies on this and without -fwrapv there will be rendering
issues on some targets. Thanks CasualPokePlayer for noticing this.
2024-06-18 15:51:08 +02:00
Arisotura
e234385c20
OpenGL: add support for changing BG0HOFS midframe. fixes #2072
2024-06-18 13:11:42 +02:00
Arisotura
626d2379bc
* fix default for audio volume
...
* add default bools for battery settings
2024-06-17 14:51:32 +02:00
Nadia Holmquist Pedersen
eb2bd73c7d
ensure teakra is always static linked even in dynamically linked builds
2024-06-15 21:31:23 +02:00