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