Commit Graph

2196 Commits

Author SHA1 Message Date
Arisotura
86400e30dd lay base for IPC work 2023-09-09 14:26:21 +02:00
Arisotura
cafe4e65d6 add touchscreen input 2023-09-09 14:26:21 +02:00
Arisotura
f8c882dc51 fix unsigned comparison bug (heh) 2023-09-09 14:26:21 +02:00
Arisotura
31472607d6 quick attempt. 2023-09-09 14:26:20 +02:00
Arisotura
79301c6e91 zarg? 2023-09-09 14:26:20 +02:00
Arisotura
7a6b4a2eee maybe betterer this way, Arisotura? 2023-09-09 14:26:20 +02:00
Arisotura
ba94bda1a0 attempt 2023-09-09 14:26:19 +02:00
Arisotura
639255d630 attempt 2 at keeping mirror clients from lagging too far behind 2023-09-09 14:26:19 +02:00
Arisotura
64d28ad48d mhm 2023-09-09 14:26:19 +02:00
Arisotura
49f44834ad attempt at keeping mirror clients from lagging behind too much 2023-09-09 14:26:19 +02:00
Arisotura
65128f7a04 maybe it would work better this way, Arisotura 2023-09-09 14:26:18 +02:00
Arisotura
37186aedc8 fix bug 2023-09-09 14:26:18 +02:00
Arisotura
7a07df8f00 attempt at preventing desyncs, let's see 2023-09-09 14:26:18 +02:00
Arisotura
0335bb502b preemptively avoid a crash 2023-09-09 14:26:18 +02:00
Arisotura
cd6e462670 stoopid 2023-09-09 14:26:17 +02:00
Arisotura
e04cea8e7f zarg 2023-09-09 14:26:17 +02:00
Arisotura
8f3d4c1da9 maybe also start mirror instances on the client side 2023-09-09 14:26:17 +02:00
Arisotura
3fe7638f5a attempt at adding mirror instances and shito 2023-09-09 14:26:17 +02:00
Arisotura
9969736c87 more WIP 2023-09-09 14:26:16 +02:00
Arisotura
3ce3f5da48 dfgsdgfg 2023-09-09 14:26:16 +02:00
Arisotura
dba950c4c3 maybe try not being a derp, Arisotura 2023-09-09 14:26:16 +02:00
Arisotura
df624bfa18 basic host/client connect infrastructure, player list 2023-09-09 14:26:15 +02:00
Arisotura
e18c8d795c base for forwarding input to clients 2023-09-09 14:26:15 +02:00
Arisotura
de8a768b79 get enet going, I guess
still very experimental
2023-09-09 14:26:15 +02:00
Arisotura
db887cc509 lay base for netplay 2023-09-09 14:26:15 +02:00
Arisotura
e0955cd1d4 make cross-instance pause work without breaking local wifi connections 2023-09-09 14:26:14 +02:00
Arisotura
4e6f054ffa avoid spamming host-RX checks every 8us if the host isn't responding 2023-09-09 14:26:14 +02:00
Arisotura
4905673d05 Arisotura pls clean up after yourself 2023-09-09 14:26:14 +02:00
Arisotura
cae342f64e integrate local MP comm within the IPC module 2023-09-09 14:26:13 +02:00
Arisotura
ca0a76af1a make cross-instance pause work without being a shitshow 2023-09-09 14:26:13 +02:00
Arisotura
8e1a647574 attempt at syncing pause command between instances. works somewhat 2023-09-09 14:26:13 +02:00
Arisotura
71dac4300d here have more shitty code 2023-09-09 14:26:12 +02:00
Arisotura
beb13926ac lay base for IPC work 2023-09-09 14:26:12 +02:00
Arisotura
fd1b0ca4b4 temporary hack to make RTC deterministic 2023-09-09 14:26:11 +02:00
RSDuck
1aaf22d181 fix last commit 2023-09-02 18:56:58 +02:00
jdp_
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
Tuffy
b4aa7fafc9
Updated README.md (#1681)
inserted missing dependency in dynamic build instructions (qt5-tools)
2023-08-27 13:49:13 +02:00
xenticore
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
StraDaMa
bc71618457
remove AR code size limit (#1802)
Co-authored-by: Arisotura <thetotalworm@gmail.com>
2023-08-27 13:34:11 +02:00
Jaklyy
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
Mireille
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
Jaklyy
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
Jaklyy
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
Jaklyy
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
Jaklyy
758b5ee7a1
fix aa calc for 1px tall 0px wide slopes (#1795) 2023-08-27 13:27:42 +02:00
Jesse Talavera-Greenberg
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
Jaklyy
f454eba3c3
check lower pixel when top pixel ignores fog (#1808) 2023-08-13 05:38:26 +02:00
Jaklyy
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
RSDuck
7731f66e55 fix some UB 2023-08-01 03:00:41 +02:00
RSDuck
3efbf1b813 a bit of frontend refactoring 2023-07-29 21:27:28 +02:00