Commit Graph

434 Commits

Author SHA1 Message Date
54a20d9b05 maybe it'll work better this way
(go eat, Arisotura)
2023-09-09 14:26:24 +02:00
7ff8a1cab9 d 2023-09-09 14:26:24 +02:00
d569aa1b84 fuck 2023-09-09 14:26:23 +02:00
0ec31bb346 not working, huh 2023-09-09 14:26:23 +02:00
afb5940fac begin work on state sync 2023-09-09 14:26:23 +02:00
f66a8ca9e3 blarg 2023-09-09 14:26:23 +02:00
98c63829d6 base for forwarding input to clients 2023-09-09 14:26:22 +02:00
55f50d58f0 make cross-instance pause work without breaking local wifi connections 2023-09-09 14:26:22 +02:00
b479a2c756 integrate local MP comm within the IPC module 2023-09-09 14:26:22 +02:00
e4e397c477 make cross-instance pause work without being a shitshow 2023-09-09 14:26:21 +02:00
cafe4e65d6 add touchscreen input 2023-09-09 14:26:21 +02:00
f8c882dc51 fix unsigned comparison bug (heh) 2023-09-09 14:26:21 +02:00
31472607d6 quick attempt. 2023-09-09 14:26:20 +02:00
79301c6e91 zarg? 2023-09-09 14:26:20 +02:00
7a6b4a2eee maybe betterer this way, Arisotura? 2023-09-09 14:26:20 +02:00
ba94bda1a0 attempt 2023-09-09 14:26:19 +02:00
639255d630 attempt 2 at keeping mirror clients from lagging too far behind 2023-09-09 14:26:19 +02:00
64d28ad48d mhm 2023-09-09 14:26:19 +02:00
49f44834ad attempt at keeping mirror clients from lagging behind too much 2023-09-09 14:26:19 +02:00
65128f7a04 maybe it would work better this way, Arisotura 2023-09-09 14:26:18 +02:00
37186aedc8 fix bug 2023-09-09 14:26:18 +02:00
7a07df8f00 attempt at preventing desyncs, let's see 2023-09-09 14:26:18 +02:00
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
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
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
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
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
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
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
f432e559d4 Add a fallback to streaming decompression when loading zstd-compressed ROMs.
Because of course some compression programs aren't nice enough to tell
you the decompressed size up front in the file, so the other approach
will fail. Things just can't ever be easy and straight forward, can they?
2023-07-14 03:05:34 +02:00