Commit Graph

2349 Commits

Author SHA1 Message Date
cf3aedb509 make cross-instance pause work without breaking local wifi connections 2023-09-09 14:17:58 +02:00
b0f85391e6 integrate local MP comm within the IPC module 2023-09-09 14:17:57 +02:00
e65b9f4d55 make cross-instance pause work without being a shitshow 2023-09-09 14:17:57 +02:00
227b50cc3e lay base for IPC work 2023-09-09 14:17:57 +02:00
b59de12ce4 add touchscreen input 2023-09-09 14:17:30 +02:00
2d131dd755 fix unsigned comparison bug (heh) 2023-09-09 14:17:29 +02:00
29e2c62b66 quick attempt. 2023-09-09 14:17:29 +02:00
4229ecdb18 zarg? 2023-09-09 14:17:29 +02:00
25d346e689 maybe betterer this way, Arisotura? 2023-09-09 14:17:29 +02:00
37a454044b attempt 2023-09-09 14:17:29 +02:00
3c6e020f9e attempt 2 at keeping mirror clients from lagging too far behind 2023-09-09 14:17:28 +02:00
2d247f6c77 mhm 2023-09-09 14:17:28 +02:00
a81f2b39b6 attempt at keeping mirror clients from lagging behind too much 2023-09-09 14:17:28 +02:00
d6c3bc906d maybe it would work better this way, Arisotura 2023-09-09 14:17:28 +02:00
0f4a81cf90 fix bug 2023-09-09 14:17:28 +02:00
6d7ebb7686 attempt at preventing desyncs, let's see 2023-09-09 14:17:27 +02:00
31de28deeb preemptively avoid a crash 2023-09-09 14:17:27 +02:00
44385ce233 stoopid 2023-09-09 14:17:27 +02:00
567401200a zarg 2023-09-09 14:17:27 +02:00
630ab01ba3 maybe also start mirror instances on the client side 2023-09-09 14:17:27 +02:00
d9537d87cd attempt at adding mirror instances and shito 2023-09-09 14:17:26 +02:00
6d3534bc3d more WIP 2023-09-09 14:17:26 +02:00
dbf80435a9 dfgsdgfg 2023-09-09 14:17:26 +02:00
e9eb926b83 maybe try not being a derp, Arisotura 2023-09-09 14:17:26 +02:00
1b8197671c basic host/client connect infrastructure, player list 2023-09-09 14:17:25 +02:00
79494fad5e base for forwarding input to clients 2023-09-09 14:17:25 +02:00
1d135bc0a5 get enet going, I guess
still very experimental
2023-09-09 14:17:25 +02:00
ed32edf683 lay base for netplay 2023-09-09 14:17:25 +02:00
e14c06401e make cross-instance pause work without breaking local wifi connections 2023-09-09 14:17:24 +02:00
6b385cab4e avoid spamming host-RX checks every 8us if the host isn't responding 2023-09-09 14:16:13 +02:00
dfeebb28c4 Arisotura pls clean up after yourself 2023-09-09 14:16:12 +02:00
6fed0f8d75 integrate local MP comm within the IPC module 2023-09-09 14:16:12 +02:00
d296ce3f5e make cross-instance pause work without being a shitshow 2023-09-09 14:16:12 +02:00
ea951d092e attempt at syncing pause command between instances. works somewhat 2023-09-09 14:16:12 +02:00
5aa378d316 here have more shitty code 2023-09-09 14:16:11 +02:00
db6fea4a25 lay base for IPC work 2023-09-09 14:16:11 +02:00
d9cbf8297a temporary hack to make RTC deterministic 2023-09-09 14:14:58 +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