Commit Graph

435 Commits

Author SHA1 Message Date
d82cbee728 yeah, Arisotura, you really need to eat 2023-09-09 14:17:59 +02:00
4332370a90 maybe it'll work better this way
(go eat, Arisotura)
2023-09-09 14:17:59 +02:00
907ec318b3 d 2023-09-09 14:17:59 +02:00
3e49fd1cfb fuck 2023-09-09 14:17:59 +02:00
109b6b8596 not working, huh 2023-09-09 14:17:58 +02:00
db09e0da9f begin work on state sync 2023-09-09 14:17:58 +02:00
586b2d4984 blarg 2023-09-09 14:17:58 +02:00
b9a1a54304 base for forwarding input to clients 2023-09-09 14:17:58 +02:00
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
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
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
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