Commit Graph

2526 Commits

Author SHA1 Message Date
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 fbf753257b cmake: Add easy sanitizers option
Set -DSANITIZE to a comma-separated list of options to pass to
-fsanitize=, like -DSANITIZE=address,undefined
2024-10-19 18:30:30 +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
Nadia Holmquist Pedersen 50d32f3c96 flake: clean up dependencies a bit
* qt6.* instead of kdePackages.*
* use an extra-cmake-modules that depends on Qt6 rather than 5, and
  exclude it on macOS
2024-09-13 05:43:39 +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
Nadia Holmquist Pedersen d18524d5ac Nix: Add dev shell for building using vcpkg 2024-09-06 19:44:48 +02:00
Nadia Holmquist Pedersen 277b151ada update vcpkg and nixpkgs 2024-09-06 13:39:42 +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 2fff4c0b5a vcpkg: build qtbase with harfbuzz enabled, fixes windows widget drawing 2024-08-14 06:42:06 +02:00
Nadia Holmquist Pedersen deb1ba2bb2 README: Update build instructions to include enet and qtsvg
(input and battery dialogs don't render correctly without qtsvg, we
should have been installing it)
2024-08-13 08:40:10 +02:00
Nadia Holmquist Pedersen f54b6311c1 ubuntu... 2024-08-13 08:05:36 +02:00
Nadia Holmquist Pedersen cb6f60c383 ci: Linux runners should install qtsvg for proper bundling 2024-08-13 07:59:38 +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 e290c42360 flake: add wayland to library path like nixpkgs does 2024-08-11 04:54:05 +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