Commit graph

54 commits

Author SHA1 Message Date
Jack Garrard
8acb8700bf
Merge branch 'dev' into udp-client 2023-09-02 13:35:38 -07:00
Jack Garrard
7064122902
Merge branch 'dev' into packet-acceptance 2023-09-02 12:58:53 -07:00
Jack Garrard
8d94cf7856
Merge pull request #54 from Istador/resend-packets
fix: `TagInf` and `CaptureInf` synchronization issues
2023-08-25 18:51:28 -07:00
Robin C. Ladiges
45cd4442c8
recycle the reconnect error to warn about the default Ryujinx profile ID 2023-07-08 20:45:53 +02:00
Robin C. Ladiges
c736878df1
Toggle H&S Gravity with real toggle functionality 2023-07-08 04:31:56 +02:00
Robin C. Ladiges
366ad5e888
remove reconnect button 2023-07-07 23:46:11 +02:00
Robin C. Ladiges
2bef6f796e
fix: resend CaptureInf packet on reconnect and for new players 2023-06-24 02:42:54 +02:00
Robin C. Ladiges
4835692672
fix: resend TagInf packet on reconnect and for new players 2023-06-24 01:27:14 +02:00
Robin C. Ladiges
36f9343f83 don't send empty GameInf and CostumeInf packets and resend them on reconnect
Resend because: on server restarts the server will lose the stage and costume information.

If only one client is connected to the server, the packets currently aren't resent, so the server doesn't know in which stage the client is and what
costume it wears
(which I'd like to display on the website).

With more then one client connected it already works, because when another client joins the server, the client will send both packets.
2022-12-16 13:19:54 -06:00
Jack Garrard
76d61a8067 Success and receive spelling 2022-10-29 18:21:58 -07:00
Jack Garrard
477f1c9e7d Add a poll time to wait properly 2022-10-29 18:12:53 -07:00
Jack Garrard
7e128679ab Split apart tcp and udp recv functions 2022-10-29 17:37:30 -07:00
Jack Garrard
1fc3a78943 Shutdown send/recv threads before socket reinit 2022-10-29 17:17:38 -07:00
Jack Garrard
04fc8cb309 Increased max packet size again 2022-10-27 03:22:01 -07:00
Jack Garrard
efef24fbbe Fix variable names again 2022-10-27 02:09:59 -07:00
Jack Garrard
3e5c0c89e5 Merge branch 'packet-acceptance' into udp-client 2022-10-27 01:03:39 -07:00
Jack Garrard
64b56c32da Add race protection to message queues 2022-10-27 01:02:32 -07:00
Jack Garrard
e6871da878 Readd missing variable 2022-10-27 00:27:29 -07:00
Jack Garrard
28c7f92453 Refactor member variable names 2022-10-27 00:25:37 -07:00
Jack Garrard
4a5a10f910 Convert receive buffer to be on heap 2022-10-26 03:33:42 -07:00
Jack Garrard
ed83827cc1 Add udp status to debug menu 2022-10-23 18:37:08 -07:00
Jack Garrard
694c9e73d6 Allow for a udp handshake 2022-10-23 16:37:47 -07:00
Jack Garrard
d666707e24 Merge branch 'packet-acceptance' into udp-client 2022-10-21 12:37:57 -07:00
Jack Garrard
1fd02147b6 Add a flag to only send udp if client has received udp packets 2022-10-21 12:27:01 -07:00
Jack Garrard
009755ceba Add pollfd to socket.h 2022-09-05 03:26:14 -07:00
Jack Garrard
66c8bb9e1b Closer to working 2022-09-05 03:19:33 -07:00
CraftyBoss
d4eabffff1 executor table re-impl, shine sync changes, send/recv netcode refactored 2022-09-04 02:23:02 -07:00
Jack Garrard
19c6d800bd More changes while testing 2022-09-03 01:57:57 -07:00
Jack Garrard
1204e27adb Attempt at full udp client 2022-08-30 15:18:44 -07:00
Sanae
b3a30b09f7 Remove a check which blocks players from being updated
Oops! teehee SmileW
2022-08-10 16:10:16 -06:00
CraftyBoss
d3b1935899
Merge pull request #20 from Istador/dns
on invalid IPv4 addresses, assume it's a hostname and do a DNS lookup
2022-08-10 15:00:35 -07:00
CraftyBoss
550b82fc1f Merge branch 'main' of https://github.com/Sanae6/SuperMarioOdysseyOnline into Sanae6-main 2022-08-10 14:40:16 -07:00
CraftyBoss
8f4fac417f change recieve logs, update headers, fix bound bowl crash 2022-08-10 14:11:52 -07:00
Sanae
34691affb0 Overhaul gamemode management 2022-08-07 15:57:18 -06:00
Robin C. Ladiges
b3b49bd547
on invalid IPv4 addresses, assume it's a hostname and do a DNS lookup
Enable the full keyboard to enter non-numbers and increase max length from 15 to 50 for longer hostnames.

I know FQDNs can be longer than 50 characters, but that's less common (and painful to type on the Switch).
2022-07-10 08:13:28 +02:00
CraftyBoss
3c4a20a6d4 only save ip/port changes if actually changed, reconnect fixes 2022-07-09 18:24:00 -07:00
CraftyBoss
4f2bb984f2 begin work on join/disconnect particle effect, fix index oob error 2022-07-08 15:09:04 -07:00
CraftyBoss
88de1dcecf shift to sead singleton for Client, new custom heap for Client usage 2022-07-08 01:02:28 -07:00
CraftyBoss
1df21b2a3e added new headers, puppet actor archive, basic player interaction impl 2022-07-07 22:36:29 -07:00
CraftyBoss
2e2909e908
Merge pull request #19 from VelocityRa/fixes1
packets: Make bools take up 1 byte
2022-07-05 19:49:54 -07:00
CraftyBoss
3ce0f03650 Merge branch 'dev' of https://github.com/CraftyBoss/SuperMarioOdysseyOnline into dev 2022-07-05 19:34:48 -07:00
CraftyBoss
b00540b1d9 impl saving after ip/port change, add sceneobj headers, rework puppet info system a bit 2022-07-05 12:45:22 -07:00
Nick Renieris
0e9fde9289 packets: Make bools take up 1 byte 2022-06-28 13:26:26 +03:00
Nick Renieris
86de220619 Client: Sync Player & Costume info on connect 2022-06-26 06:11:06 +03:00
Nick Renieris
733f239d68 socketBase: Initialize state 2022-06-26 00:55:14 +03:00
Nick Renieris
23cdf1442d Make "Reconnect to Server" option work if initial socket conn failed 2022-06-25 03:59:25 +03:00
Nick Renieris
8f21d43bc3 packets/PlayerConnect: Initialize maxPlayerCount
It was sending bad data since it wasn't getting inited anywhere.
2022-06-23 20:56:05 -04:00
Nick Renieris
60a5179e4b Anims/Types: Handle out of bounds FindStr accesses without throwing
Throwing tries to call `std::__throw_out_of_range_fmt` which results in a crash.
The cause of the out of bounds accesses needs to be investigated.
2022-06-23 20:56:05 -04:00
Nick Renieris
7e4a80b934 packet: Add missing packetNames entries 2022-06-23 20:56:05 -04:00
Nick Renieris
9227e37623 packets: Fix struct packing related bugs
- sizeof(bool) is implementation defined. The server assumes it's 4 but for me it was 1 (tested with Release too) which caused some bugs
- Structs aren't guaranteed to be packed. The compiler is free to change the layout, which we wouldn't want to for the Packet structs that we deserialize on the server.
2022-06-23 20:56:05 -04:00