Commit graph

416 commits

Author SHA1 Message Date
Jesse Dean
c794b39971 Code cleanup for trunk merge 2008-07-25 15:24:07 +00:00
Jesse Dean
2ec7149f6d Input loop bugfix, input was only being processed every second sync frame instead of every sync
frame
2008-07-25 08:51:37 +00:00
Jesse Dean
ff9055f5ed Netplay event queue heap bugfix 2008-07-25 08:07:05 +00:00
Jesse Dean
fdf0dea856 Re-factoring netplay to have all communication handled by core emulation thread 2008-07-25 06:13:09 +00:00
Jesse Dean
6b82c5958f Applied changes to input polling, netplay now polls input itself once per sync frame 2008-07-18 08:52:56 +00:00
orbitaldecay
fe69396ff5 Made a few changes to the netplay this commit:
The response to a master server open game request is now handled by clientProcessMessages() - this is because the game socket is being utilized to send the open game request so that the master server will be able to detect the proper game port over NATs.
    I've moved the clientProcessMessages() function call out of netMain() and created a seperate thread that runs when the client is initialized.  I've done this for two reasons: 1. clientProcessMessages() handles all the join game stuff and I think joining games and initial handshaking should be done before the core is started (the whole press F9 at the black emu screen isn't very elegant).  2.  clientProcessMessages() doesn't need to be called from within the core via netMain(), all it does is handle packet receiving.. the queue and the frame sending are the only things that need to be timed via the core.
    I realize these changes may not be in accordance with the wishes of others, they can be easily reversed if there is any disagreement.  I've tested these changes on netplay and it works fine.  My ultimate goal with this change is to begin cleaning up the netplay user interface (graphical and commandline) and make it all a little more elegant.

Let me know if there are any problems :)
Bob
2008-07-12 18:36:19 +00:00
orbitaldecay
5cf2fff6cb Fixed a couple byte order bugs in the master server, testing some other things 2008-07-12 15:21:41 +00:00
orbitaldecay
43e3e0de1d Fixed an MD5 translation bug in master.c, a few other bug fixes. 2008-07-11 16:22:52 +00:00
Jesse Dean
aba8a6bd73 Correction to latency running-average code 2008-07-10 10:11:13 +00:00
orbitaldecay
50bb0a640e Cleaning up potential port number byte order conflicts between master server and client 2008-07-10 02:32:18 +00:00
orbitaldecay
2531ef82a7 Adding support for NAT punching, made a few small changes in client.c 2008-07-09 19:10:44 +00:00
orbitaldecay
ca0b0c4c81 * Fleshed out error checking in clientInitialize and added cleanup on function failure.
* Fixed compiler warning for incompatable pointer type (changed char* typecast to void*).
* Beefed up error checking in a couple other places
2008-07-08 14:25:35 +00:00
Jesse Dean
19d566402e Peers will now wait for a missing packet to arrive, this results in an infinite loop
if a packet is lost, but is only a stopgap
2008-07-07 23:36:30 +00:00
orbitaldecay
b2c193c190 Added code to master.c to launch thread to send periodic keep alive packets to master server. 2008-07-07 17:31:17 +00:00
Jesse Dean
f51d2ac368 Netplay functionality now working between 2 players, netplay is roughly on par now
with where it was before the UDP rewrite
2008-07-07 06:49:52 +00:00
orbitaldecay
9bd569b95b Fixed potential overflow bug in function MasterServerAddToList(), a few little bug fixes 2008-07-06 19:19:30 +00:00
orbitaldecay
b36aceac38 Master server GUI updates: ROM ComboBox now populates from MD5 list retrieved from master server. When selection is altered, list is updated appropriately. 2008-07-06 16:12:46 +00:00
orbitaldecay
34ddb537d3 Added support for multiple master servers. Created master server host list. Created new file for client master server routines (/network/master.c) 2008-07-05 23:59:46 +00:00
orbitaldecay
ca5fc7351c masterServerFindGames & masterServerGetMD5List now construct and return linked lists, a few little bug fixes 2008-07-05 17:06:24 +00:00
orbitaldecay
2f993f5c2b Added MD5 list query and response to client.c and master_server.c, incorporated some simple test routines. 2008-07-04 17:46:42 +00:00
orbitaldecay
4b5d09c985 Added FIND_GAME query function to client.c 2008-07-04 17:17:20 +00:00
orbitaldecay
1d73d0feb7 Adding master server communication functionality to client.c, created masterServerOpenGame() and masterServerKeepAlive() 2008-07-03 18:53:56 +00:00
orbitaldecay
329bcd1773 Added masterServerOpenGame() function to client.c 2008-07-03 16:21:56 +00:00
orbitaldecay
13f888bfaf Added work completed so far on netplay gtk gui 2008-07-03 14:32:49 +00:00
Jesse Dean
990d1463ca Netplay debugging 2008-07-03 00:28:18 +00:00
orbitaldecay
7a40a591f1 Fixed linked list bug in master server 2008-07-02 18:53:34 +00:00
orbitaldecay
50e77e206d Added more functionality to test client to facilitate master server bug testing 2008-07-02 18:04:21 +00:00
orbitaldecay
49ca3c65d1 master server: fixed a couple memcpy & memcmp bugs, made test client more useful 2008-07-01 18:48:08 +00:00
orbitaldecay
32c17375b9 master_server: added info box on ctrl-c, made a few things prettier 2008-07-01 16:40:09 +00:00
orbitaldecay
c909897a64 Fixing packet truncation segfault bug that's been floating around for a revision or two 2008-06-30 19:08:56 +00:00
orbitaldecay
39671ebfe3 master_server.c: added support for fragmented game lists 2008-06-30 18:50:37 +00:00
orbitaldecay
b3c9ec4ce6 Added master server network protocol abstract to svn 2008-06-30 18:31:12 +00:00
orbitaldecay
e0f7cb7e31 master_server.c: added support for fragmented game lists 2008-06-30 18:04:29 +00:00
orbitaldecay
17ab3fbb76 Added linked list MD5 sorting code 2008-06-30 16:10:38 +00:00
orbitaldecay
c24b943e9b A handful of minor updates 2008-06-29 21:39:35 +00:00
orbitaldecay
956e1666b8 Created a simple test client for debugging the master server 2008-06-29 20:01:00 +00:00
orbitaldecay
ac494d327c Corrected improper handling of sigint in master_server.c 2008-06-29 19:13:22 +00:00
Jesse Dean
928ba16622 Fixes to input sync issues, can now connect & start emulation with F9 2008-06-29 18:33:43 +00:00
orbitaldecay
de9023c925 Fixed infinite loop bug in get_free_game_desc() in master_server.c, successive OPEN_GAME requests from the same host now overwrite each previous game entry (preventing possible d.o.s.) 2008-06-29 18:30:38 +00:00
orbitaldecay
d36f1d34cf Added master server code under tools directory 2008-06-29 17:48:47 +00:00
Jesse Dean
f325861a1c Fixed infinite loop in chunk processing 2008-06-29 17:40:48 +00:00
Jesse Dean
e1676e65e2 Bugfixes for input sending&receiving 2008-06-29 17:27:44 +00:00
Jesse Dean
f99f605f6f Fixed bad chunk decoding calculation 2008-06-29 16:37:21 +00:00
Jesse Dean
373fa6fdc2 Added preliminary input transport & message to start emulation 2008-06-29 16:19:54 +00:00
Jesse Dean
d7cf6642d5 Fixes to network priority queue heap functions 2008-06-29 07:24:31 +00:00
Jesse Dean
d17587a56a P2P connection update 2008-06-29 04:23:39 +00:00
Jesse Dean
b023abd92a Netplay joinrequest tuning 2008-06-28 23:42:14 +00:00
Jesse Dean
b7b7670440 P2P Rewrite of networking subsystem. Compiles, but has a few quick patches that need
debugging.
2008-06-28 07:47:11 +00:00
orbitaldecay
81ebaac5a4 Added button lag tracker 2008-06-19 16:42:13 +00:00
orbitaldecay
f65eca6acd Fixing frame counter bug 2008-06-19 15:21:37 +00:00