Commit Graph

2233 Commits

Author SHA1 Message Date
0335bb502b preemptively avoid a crash 2023-09-09 14:26:18 +02:00
cd6e462670 stoopid 2023-09-09 14:26:17 +02:00
e04cea8e7f zarg 2023-09-09 14:26:17 +02:00
8f3d4c1da9 maybe also start mirror instances on the client side 2023-09-09 14:26:17 +02:00
3fe7638f5a attempt at adding mirror instances and shito 2023-09-09 14:26:17 +02:00
9969736c87 more WIP 2023-09-09 14:26:16 +02:00
3ce3f5da48 dfgsdgfg 2023-09-09 14:26:16 +02:00
dba950c4c3 maybe try not being a derp, Arisotura 2023-09-09 14:26:16 +02:00
df624bfa18 basic host/client connect infrastructure, player list 2023-09-09 14:26:15 +02:00
e18c8d795c base for forwarding input to clients 2023-09-09 14:26:15 +02:00
de8a768b79 get enet going, I guess
still very experimental
2023-09-09 14:26:15 +02:00
db887cc509 lay base for netplay 2023-09-09 14:26:15 +02:00
e0955cd1d4 make cross-instance pause work without breaking local wifi connections 2023-09-09 14:26:14 +02:00
4e6f054ffa avoid spamming host-RX checks every 8us if the host isn't responding 2023-09-09 14:26:14 +02:00
4905673d05 Arisotura pls clean up after yourself 2023-09-09 14:26:14 +02:00
cae342f64e integrate local MP comm within the IPC module 2023-09-09 14:26:13 +02:00
ca0a76af1a make cross-instance pause work without being a shitshow 2023-09-09 14:26:13 +02:00
8e1a647574 attempt at syncing pause command between instances. works somewhat 2023-09-09 14:26:13 +02:00
71dac4300d here have more shitty code 2023-09-09 14:26:12 +02:00
beb13926ac lay base for IPC work 2023-09-09 14:26:12 +02:00
fd1b0ca4b4 temporary hack to make RTC deterministic 2023-09-09 14:26:11 +02:00
1aaf22d181 fix last commit 2023-09-02 18:56:58 +02:00
2a3a071216 Reduce code stink (#1818)
CRC32.cpp:
Make table initialization compile time

DSi_NAND.cpp:
Fix file close / unmount / disk close on error
~L427: Remove redundant calls, as they are immediately rendered useless by `rem` being overwritten

NDS.cpp / FreeBIOS.h:
Remove unneeded size values in header
Remove unneeded memset's as they are initialized anyway

sha1.c / sha1.h:
Fix useless warning

Wifi.cpp:
Remove unneeded includes

DSi.cpp:
Reduce ugly casts
Deduplicate code

qt_sdl/main.cpp:
silence clang switch statement warning

qt_sdl/main.h:
fix override warnings

dolphin/BitSet.h:
use msvc extensions only when appropriate, fix broken bit set count under _WIN32
2023-08-28 20:01:15 +02:00
b4aa7fafc9 Updated README.md (#1681)
inserted missing dependency in dynamic build instructions (qt5-tools)
2023-08-27 13:49:13 +02:00
b4756c5944 Update macOS icon (#1609)
* Add SVG icon

* Update macOS icon

* Don't force change the application icon at runtime on macOS
2023-08-27 13:37:42 +02:00
bc71618457 remove AR code size limit (#1802)
Co-authored-by: Arisotura <thetotalworm@gmail.com>
2023-08-27 13:34:11 +02:00
2bd12669b2 Edge fill rules for swapped polygons + a few minor fixes to edge cases (#1815)
* fix edge fill rules for swapped polygons

also fixes translucent polygons not being always edge filled.

* fix right edge fill rule

* fix right edge fill rule for realsies

* fix a few more glitchy polygons

specifically quads similar to: (-67,40) (64, 160) (192, 160), (8, 111)

* fix one edge case pixel

i hate this so much

* fix "flat bottom" edge fill

* fix regression + apply changes to shadow masks

fix a regression with certain line polygons not rendering; there seems to be an exception made by the ds'  gpu in order for these polygons to render properly.
also apply these changes to shadow masks because i forgot to

* forgot to remove a line

---------

Co-authored-by: Arisotura <thetotalworm@gmail.com>
2023-08-27 13:32:31 +02:00
a571fe19c3 Make sprite mosaic (more) accurate (#1687)
* Make horizontal sprite mosaic (more) accurate

* Vertical sprite mosaic should not extend the sprite's bounding area

* Vertical sprite mosaic should not extend the sprite's bounding area (2)

* OBJIndex is no longer needed
2023-08-27 13:29:23 +02:00
d69745b3a8 Fix Incorrect Polygon Swapping Behavior and Implement Correct Rules for Shifting Right Edges Left (#1816)
* fix polygons being swapped incorrectly

"borrowed" this from noods
needs verification that the >= and <= signs aren't actually supposed to be > and <

* proper rules for moving vertical right slopes left

* nvm most of that was actually pointless

that's on me for not checking
2023-08-27 13:29:12 +02:00
dc8efb62b8 Fix aa being upside down on swapped y-major slopes (#1803)
* fix aa being upside down on swapped y-major slopes

* further improvements to swapped aa

in addition to fixing swapped y-major slope aa, now fixes:
swapped x-major slope aa
swapped vertical slope aa

* use templates instead + style/comment tweaks

should force the compiler to precompile if statements like i want it to do, instead of just hoping it does so on its own
2023-08-27 13:28:44 +02:00
d7369857c3 Small Fix to Anti-Aliasing + Edge Marking Behavior (#1680)
* Anti-Alias All Edges

Changing a bunch of 0x3s to 0xF since I figure if they're checking the left and right edge they wanna be checking the top and bottom too now that they're gonna be aa'd. also copy that if statement over since otherwise there won't be anything to blend with.

* small optimization

its probably a tiny bit faster?
idk id need actual benchmarking tools.
doesn't break anything at least.
2023-08-27 13:28:26 +02:00
758b5ee7a1 fix aa calc for 1px tall 0px wide slopes (#1795) 2023-08-27 13:27:42 +02:00
ee55677086 Assorted portability enhancements (#1800)
* Introduce some Platform calls for managing dynamic libraries

* Add Platform::WriteFATSectors

* Introduce some Platform calls for managing dynamic libraries

* Add Platform::WriteFATSectors

* Change includes of "../types.h" to "types.h"

- Makes it easier to directly include these headers in downstream projects

* Change an include of "../Wifi.h" to "Wifi.h"

* Allow CommonFuncs.cpp to compile on Android

* Tidy up some logging calls

- Use Platform::Log in LAN_Socket.cpp
- Soften some warnings to Debug logs (since they don't necessarily represent problems)

* Add Platform::EnterGBAMode

- Gracefully stop the emulator if trying to enter GBA mode

* Soften some logs that most players won't care about

* Soften some more logs

* Introduce Platform wrappers for file operations

* Fix pointer spacing

* Fix more style nits

* Log the errno when ftruncate fails

* Fix FileSeek offset argument

- With an s32 offset, we couldn't access files larger than 2GB

* Revise Platform::StopEmu to address feedback

- Remove Platform::EnterGBAMode in favor of adding a reason to Platform::StopEmu
- Also rename Platform::StopEmu to Platform::SignalStop
- Add an optional argument to NDS::Stop
- Use the new argument everywhere that the console stops itself

* Rename FileGetString to FileReadLine

- It conveys the meaning better

* Rename FileSeekOrigin::Set to Start

- It conveys the meaning better

* Change definition of FileGetString to FileReadLine

- Oops, almost forgot it

* Rename FlushFile to FileFlush

- To remain consistent with the other File functions

* Add a FileType usage

* Fix line break in FileSeekOrigin

* Document Platform::DeInit

* Clarify that StopReason::Unknown doesn't always mean an error

* Move and document FileType::HostFile

* Remove Platform::OpenDataFile

- Nothing currently uses it

* Refactor Platform::OpenFile and Platform::OpenLocalFile to accept a FileMode enum instead of a string

- The enum is converted to fopen flags under the hood
- The file type is used to decide whether to add the "b" flag
- Some helper functions are exposed for the benefit of consistent behavior among frontends
- Equivalent behavior is maintained

* Fix a tab that should be spaces

* Use Windows' 64-bit implementations of fseek/ftell

* Move Platform::IsBinaryFile to Platform.cpp

- It could vary by frontend

* Remove an unused FileType

* Rename an enum constant

* Document various Platform items

* Use Platform::DynamicLibrary to load libandroid

- And clean it up at the end

* Fix a typo

* Pass the correct filetype to FATStorage

- Since it can be used for DSI NAND images or for SD cards

* Remove Platform::FileType
2023-08-18 22:50:57 +02:00
f454eba3c3 check lower pixel when top pixel ignores fog (#1808) 2023-08-13 05:38:26 +02:00
5f9e7e19f3 Improve Interpolation Accuracy (#1686)
* Fix Up Y Interp Inputs

* Change Linear Interp Formula

Fixes a handful of pixels.
Still not perfect.

* Cleanup

remove some unnecessary code and parentheses
2023-08-10 18:00:40 +02:00
7731f66e55 fix some UB 2023-08-01 03:00:41 +02:00
3efbf1b813 a bit of frontend refactoring 2023-07-29 21:27:28 +02:00
8fd46e5f8c wifi: attempt two at optimizing the sync mechanism. this time it should be far less prone to problems. 2023-07-28 10:14:33 +02:00
9c5cde8109 wifi: implement CMD retries 2023-07-27 21:54:30 +02:00
c3943b29ec wifi:
* rework and clean up frame transfer code
* disable melonAP during local multiplayer comm
2023-07-27 21:11:30 +02:00
b04c250e2f cancel CMD transfer if there isn't enough time left 2023-07-25 23:45:10 +02:00
a87dc83279 wifi: mystery ack value is CMD_COUNT 2023-07-25 20:50:07 +02:00
c7afa8d3f6 keep that one extra line in, tho
(remind me to rename these with the proper reg names)
2023-07-25 20:32:54 +02:00
193c7ed97b Revert "attempt at making local multiplayer faster"
This reverts commit 8772258fe7.
2023-07-25 20:32:01 +02:00
75ae38ec7b codesign the final universal macOS app bundle
otherwise the code signature in it will be invalid, and macOS won't run
it witohout manually removing xattrs
2023-07-24 11:29:43 +02:00
e6cc4b14b0 Work around a strange bug in Qt5 that causes melonDS to crash on launch
...but only with LTO enabled
...but only on some UNIX systems
...but only with some additional build options except when it breaks
   without any as well
2023-07-16 15:49:51 +02:00
fbb41bd73d DSi: add option to boot the full boot ROMs (#1581)
* DSi: add option to boot the full boot ROMs

added a config option for this so that this can be enabled or disabled

also added IO regs for DSi GPIO, but those don't do anything yet.

* reset GPIO regs on reset
2023-07-16 02:40:50 +02:00
cf7375f9ea Merge branch 'master' of github.com:Arisotura/melonDS 2023-07-15 01:16:46 +02:00
8772258fe7 attempt at making local multiplayer faster 2023-07-15 01:16:31 +02:00
24a4cacaae Add AppImage Builds (#1670)
* Create build-appimage.yml

* Update build-appimage.yml

This Adds the new Dependencies for MelonDS
2023-07-14 22:40:35 +02:00