Commit graph

89 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
Jesse Dean
990d1463ca Netplay debugging 2008-07-03 00:28:18 +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
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
orbitaldecay
0002a7a57d Committing final fixes for sync always option. 2008-06-19 15:04:36 +00:00
orbitaldecay
58fb360d45 Testing 2008-06-19 14:55:25 +00:00
orbitaldecay
5e56abdc00 Trying to run server routines without checking if server is active in network.c 2008-06-19 14:42:56 +00:00
orbitaldecay
64b919bb83 Tweaking sync frequency for further testing. 2008-06-19 14:30:34 +00:00
orbitaldecay
a0f3af26a1 Fixing start bug 2008-06-19 13:37:15 +00:00
orbitaldecay
e4708bdb23 Trying sync every frame strategy for netplay. 2008-06-19 13:34:43 +00:00
orbitaldecay
18d9b4f8ec Found and corrected todays phantom desync bug (failure to notify of out of date events in event queue that cropped up after restructuring processing of event queue) 2008-06-18 18:30:02 +00:00
orbitaldecay
606c41062f sync should have been 5, not 30, doh 2008-06-18 17:41:20 +00:00
orbitaldecay
9cc8cb6475 Changing sync frequency for the last time (hopefully) 2008-06-18 14:33:08 +00:00
orbitaldecay
e9fd4754ce Changed eventCounter to frameCounter (more accurate name). Added support for variable sync frequencies, other clean ups and bug fixes. 2008-06-18 14:15:39 +00:00
orbitaldecay
28fea32b11 Committing last few bug fixes for the night and calling it a day 2008-06-18 02:06:49 +00:00
orbitaldecay
a423ad64dc Still trying to correct the sync speed up, strange audio glitches 2008-06-18 01:44:35 +00:00
orbitaldecay
57bc73766d Removed SYNC_FREQ define in favor of command line defined frequency 2008-06-18 01:37:28 +00:00
orbitaldecay
eb8d2b53fe testing 2008-06-18 01:30:39 +00:00
orbitaldecay
874edf312f Took out osd for resync, the OSD slows down the resync making the whole thing counter productive 2008-06-18 01:28:56 +00:00