Commit Graph

393 Commits

Author SHA1 Message Date
simon.kagstrom
5275eda76b Only wait for 5 tries (15 seconds) for the bandwidth reply 2009-11-10 05:43:43 +00:00
simon.kagstrom
de583835c3 Correct FSM to go to the CONN_CONNECTED state 2009-11-08 16:10:19 +00:00
simon.kagstrom
d554070fc3 Move up ConnectToPeer 2009-11-08 15:59:18 +00:00
simon.kagstrom
78c7473510 Larger limit 2009-11-08 15:51:59 +00:00
simon.kagstrom
a3e4556785 Don't display the bandwidth message 2009-11-08 15:34:47 +00:00
simon.kagstrom
0b0db6875f Reset the C64 instead 2009-11-08 15:29:55 +00:00
simon.kagstrom
0e2bd92a57 Reset linecount on connects, reset the SID when the client disconnects 2009-11-08 15:29:16 +00:00
simon.kagstrom
92c007817d Add printout of network bw, reduce size to 1024 2009-11-08 15:21:53 +00:00
simon.kagstrom
ba7ee22494 Cap at 80kbps and 300kbps 2009-11-08 12:52:54 +00:00
simon.kagstrom
a909b551b2 Add bandwidth testing code 2009-11-08 12:50:56 +00:00
simon.kagstrom
1033f94d24 Check that the network magic is correct 2009-11-08 09:34:00 +00:00
simon.kagstrom
4a183a000e Correct description 2009-11-08 09:16:10 +00:00
simon.kagstrom
2ce92d07e2 Only display network traffic string during connections 2009-11-08 09:12:46 +00:00
simon.kagstrom
3073af1d84 Move network status updates to Network 2009-11-08 09:04:48 +00:00
simon.kagstrom
b469064bc2 Remove printout 2009-11-07 16:04:19 +00:00
simon.kagstrom
ecec8b6134 Move network-related sound stuff to common code (so that it will work
on all platforms)
2009-11-07 14:13:21 +00:00
simon.kagstrom
32a405739b Remove unused var 2009-11-07 14:06:10 +00:00
simon.kagstrom
fef3fd298e Correct disconnections - we are no longer connected then 2009-11-07 14:05:51 +00:00
simon.kagstrom
4d56918c8d Move remove-on-no-ping to the thread instead 2009-11-07 14:01:38 +00:00
simon.kagstrom
914bcd03ba Correct handling of data > 4096 bytes. This is for example sent out as
screenshots when multiple servers are waiting on the frodo network
2009-11-07 13:52:22 +00:00
simon.kagstrom
bb3fbc0fb2 Split packets in 4096 byte chunks 2009-11-07 13:50:53 +00:00
simon.kagstrom
b919f9cf95 No need to run the emulator on the client 2009-11-07 12:37:15 +00:00
simon.kagstrom
334d729bf1 Do sound transfer at the correct time 2009-11-07 12:33:09 +00:00
simon.kagstrom
8607e7827d Move linecount to c64 2009-11-07 10:12:49 +00:00
simon.kagstrom
0209c7eb86 More debugging, allow writes from the client 2009-11-07 10:03:49 +00:00
simon.kagstrom
f1bd3a86f4 More sound fixes 2009-11-07 09:54:51 +00:00
simon.kagstrom
4946f709c3 Remove printout 2009-11-07 09:38:25 +00:00
simon.kagstrom
898d330979 Correct ring buffer copy and marshal iteration 2009-11-07 09:36:01 +00:00
simon.kagstrom
17177212b9 Sigh. don't demarshal flags twice... 2009-11-07 08:52:46 +00:00
simon.kagstrom
67464bc2ac Correct tail setting after send 2009-11-07 08:39:07 +00:00
simon.kagstrom
f4357b88bd Fix sending of the data 2009-11-07 08:32:51 +00:00
simon.kagstrom
1a9c4b8c1d Do sound decoding 2009-11-06 19:57:02 +00:00
simon.kagstrom
22fad7d05b Also handle the client (well, a bit) 2009-11-06 17:16:35 +00:00
simon.kagstrom
6d79aaee12 Demarshal and marshal data, use linecnt for delay 2009-11-06 06:31:06 +00:00
simon.kagstrom
e65c29ed4c More client-side sound implementation (not done yet) 2009-11-06 06:18:22 +00:00
simon.kagstrom
4a7efdbb68 Add function to unqueue the current sound info (for the client).
Still needs code to actually push the data to the client!
2009-11-05 06:24:36 +00:00
simon.kagstrom
441e9f4890 Encode sound buffers, still untested 2009-11-04 20:09:04 +00:00
simon.kagstrom
2ac3409df4 OOps, correct type 2009-11-04 17:43:05 +00:00
simon.kagstrom
977f3042f0 Implement some of the sound stuff (not working) 2009-11-04 17:41:54 +00:00
simon.kagstrom
3a72e6a87c Remove current sound implementation (doesn't work anyway) 2009-11-04 17:12:20 +00:00
simon.kagstrom
3ba94e90c5 delay_cycles in 16 bits 2009-11-04 17:00:56 +00:00
simon.kagstrom
8964f2ec03 Add image generator and check for interestingness 2009-11-04 16:50:24 +00:00
simon.kagstrom
a16a2c3d18 Cleanup: Remove most references of "Network::is_master" and make it
non-static. C64::network_connection_state should be used instead
2009-11-04 16:43:47 +00:00
simon.kagstrom
3029688fc6 Some cleanup 2009-11-04 16:29:58 +00:00
simon.kagstrom
c7fddd94f6 Make that three columns instead 2009-11-03 20:36:41 +00:00
simon.kagstrom
5deb489b18 Keep countries in two columns 2009-11-03 20:21:52 +00:00
simon.kagstrom
e83e24f785 Add sound structures, fix build of menu.h 2009-11-03 17:27:21 +00:00
simon.kagstrom
6b27bcbb86 Generate html at startup 2009-11-03 17:26:28 +00:00
simon.kagstrom
45ee58ac8d (Untested) refactor menu code a bit - move stuff to menu.c instead 2009-11-02 06:36:25 +00:00
simon.kagstrom
2ee1b5a907 Heading 2009-11-02 06:35:31 +00:00
simon.kagstrom
b42a538329 Better HTML 2009-11-01 16:12:22 +00:00
simon.kagstrom
d5eec1ef2f Correct HTML generation (not finished) 2009-11-01 11:15:37 +00:00
simon.kagstrom
2c69ce49cf Correct network broker and remove printouts 2009-11-01 09:28:02 +00:00
simon.kagstrom
9d19e9c876 Fix network connection from the command-line 2009-11-01 08:44:34 +00:00
simon.kagstrom
958eddfd37 Correct struct unpack 2009-11-01 08:43:18 +00:00
simon.kagstrom
3518863b67 More networking work 2009-11-01 08:38:13 +00:00
simon.kagstrom
7be94b966a Rework network handling to let go of the server/client approach
You now connect and become server/client on demand.
2009-10-28 18:04:30 +00:00
simon.kagstrom
76c522249c Bump network protocol version 2009-10-28 17:49:30 +00:00
simon.kagstrom
0179f2dbf5 Implement new networking support for the broker: no need to connect
as client/server any more.
2009-10-28 17:48:49 +00:00
simon.kagstrom
a8385ec53c Use define 2009-10-27 16:59:05 +00:00
simon.kagstrom
24d5e6fa91 Fix build on host (no need to build the Frodo binary, it wont work anyway) 2009-10-27 16:55:14 +00:00
simon.kagstrom
51b44d48be Disable SAM for v11 2009-04-26 09:41:52 +00:00
simon.kagstrom
66cf5202e5 Quit back to the homebrew channel by default, but not if networking has been
enabled
2009-04-26 06:02:57 +00:00
simon.kagstrom
b90e393ac6 Rebind F10 to taunt 2009-04-26 05:49:17 +00:00
simon.kagstrom
4b9cd36929 Fix colors 2009-04-25 06:15:59 +00:00
simon.kagstrom
c356513c4e Correct handling of joystick swap 2009-04-20 18:39:46 +00:00
simon.kagstrom
d81a7452e7 Use stat instead of de->d_type - allows compilation for wii 2009-04-20 16:14:06 +00:00
simon.kagstrom
bd0cf31bf5 Correct saving of games 2009-04-19 14:12:54 +00:00
simon.kagstrom
bfa4addd70 Cleanup messages 2009-04-19 13:32:11 +00:00
simon.kagstrom
e9ef645cb0 Add titles 2009-04-19 13:24:27 +00:00
simon.kagstrom
ea81cac4c3 Make display smaller again 2009-04-19 13:12:13 +00:00
simon.kagstrom
430009723d Whitespace 2009-04-19 13:02:24 +00:00
simon.kagstrom
3f000cb343 Fix select_one 2009-04-19 13:00:59 +00:00
simon.kagstrom
b424598a6b Integrate new menu system from Holger 2009-04-19 12:57:29 +00:00
simon.kagstrom
fb7de09d4c Full screen 2009-04-19 08:26:37 +00:00
simon.kagstrom
f7ce5a861e Added ability to select a D64 file 2009-04-19 07:29:59 +00:00
simon.kagstrom
334bdd6f89 Show contents of d64's, fix code for reading D64s 2009-04-18 14:27:35 +00:00
simon.kagstrom
37235f0a4d Compile errors (will make a .c though) 2009-04-18 14:14:29 +00:00
simon.kagstrom
ba5f525aec Removed kbin 2009-04-18 12:41:20 +00:00
simon.kagstrom
ca91cdf86c Allow recursing into directories 2009-04-18 11:21:40 +00:00
simon.kagstrom
4c440d304e Cleanup file extension code 2009-04-18 10:35:03 +00:00
simon.kagstrom
4236bd59e2 Reading d64 files (not used yet) 2009-04-18 10:34:40 +00:00
simon.kagstrom
f7f838d04d Refactor selection of file names 2009-04-18 10:15:08 +00:00
simon.kagstrom
218fba704c Removed 2009-04-18 09:59:25 +00:00
simon.kagstrom
06992b8f2c Added (but will remove) 2009-04-18 09:58:55 +00:00
simon.kagstrom
25c14e4381 Must pass rc to _sized 2009-04-18 09:54:53 +00:00
simon.kagstrom
89be22ac69 Move more messages 2009-04-18 06:24:20 +00:00
simon.kagstrom
b74c99b2b5 Move menu texts to their own file 2009-04-18 06:14:52 +00:00
simon.kagstrom
964e70a627 Smaller options window 2009-04-18 06:05:13 +00:00
simon.kagstrom
65088e89f9 Imported Hogers menu.cpp (the rest is not active yet) 2009-04-18 05:54:33 +00:00
simon.kagstrom
a45b99e86c Added 2009-04-16 19:33:39 +00:00
simon.kagstrom
86e66fb0a6 Bump network protocol version, adjust 110 speed 2009-04-14 18:17:46 +00:00
simon.kagstrom
b539510a64 Correct quit 2009-04-13 16:35:16 +00:00
simon.kagstrom
729898019b Lower network kbps 2009-04-13 10:57:01 +00:00
simon.kagstrom
7a4666a35f Rearranged the menus 2009-04-13 10:46:30 +00:00
simon.kagstrom
029c4fc7a1 Correct displaying of text messages on the other end 2009-04-13 10:10:08 +00:00
simon.kagstrom
30b1d1601d Implemented text coding (but actual transfer doesn't work yet) 2009-04-13 08:57:31 +00:00
simon.kagstrom
e1926ecd0a Sound doesn't work, ignore it 2009-04-13 08:57:01 +00:00
simon.kagstrom
ae24458864 Handle text messages 2009-04-13 07:49:19 +00:00
simon.kagstrom
7b4b2fa3a9 Misc cleanup and fixes 2009-04-13 07:44:27 +00:00
simon.kagstrom
c159d07116 Convert keycode to character 2009-04-13 07:01:51 +00:00
simon.kagstrom
0680b1d8e0 Add text message stuff (not used yet), simplified some function calls 2009-04-13 06:31:12 +00:00
simon.kagstrom
d9171701f8 Whitespace 2009-04-13 05:45:20 +00:00
simon.kagstrom
7c216605bc Transfer only larger sound buffers 2009-04-11 11:50:10 +00:00
simon.kagstrom
852c6d546a Correct hostname 2009-04-10 12:01:22 +00:00
simon.kagstrom
a7fd065e14 Printouts be gone 2009-04-10 11:47:15 +00:00
simon.kagstrom
13ebe272a4 Add handling of RLE encoded sound data, correct handling of throttled data,
implement network transfer of sound for the wii. No testing.
2009-04-10 11:39:46 +00:00
simon.kagstrom
cb1da59a0d Depend on Linux 2009-04-10 08:08:28 +00:00
simon.kagstrom
42a6e19e0d Implemented sound transfer over the network (for Linux). This hasn't
been even the least tested yet, so don't try this code. You have been
warned!
2009-04-09 13:42:49 +00:00
simon.kagstrom
189833e30f Add timestamp 2009-04-08 16:33:10 +00:00
simon.kagstrom
15cc35e478 Fix check 2009-04-05 15:04:32 +00:00
simon.kagstrom
bb77c8f23b Fix the sound crack problem in v9 2009-04-05 14:38:04 +00:00
simon.kagstrom
7cccd49c40 Just set the name to unset 2009-04-04 13:04:15 +00:00
simon.kagstrom
41433858cc Use SDL_GetTicks for message time keeping 2009-04-04 11:28:22 +00:00
simon.kagstrom
4722d9f028 Good error message if no servers 2009-04-04 11:18:03 +00:00
simon.kagstrom
fb56639526 Handle joystick updates on the host as well 2009-04-04 10:21:35 +00:00
simon.kagstrom
9e3f75c4f4 Oops, take back broker name 2009-04-04 10:00:59 +00:00
simon.kagstrom
0c563eb137 Make the network server be non-blocking, i.e., allow continuing to play
while waiting for someone to connect. Also fix a buffer overflow in the
network transfer string...
2009-04-04 08:23:51 +00:00
simon.kagstrom
5ab6b38e6c Add versioning to the peer list 2009-04-04 07:40:17 +00:00
simon.kagstrom
ac1796e168 Count the total number of connections 2009-03-31 17:27:47 +00:00
simon.kagstrom
b23dbc74ab Oops, removed echo again... 2009-03-31 17:17:30 +00:00
simon.kagstrom
d5e5d740fd Produce HTML output from the server 2009-03-31 17:16:10 +00:00
simon.kagstrom
7d0453cd5c Dead code from NetworkUnix.h 2009-03-29 17:42:31 +00:00
simon.kagstrom
c730b2b185 No need to call net_init 2009-03-29 17:42:12 +00:00
simon.kagstrom
2cc9a827c3 Even more dead code 2009-03-29 17:31:48 +00:00
simon.kagstrom
70ad18ab1d Remove some dead code 2009-03-29 17:31:04 +00:00
simon.kagstrom
d7b06cdbef Forgot to use define :-) 2009-03-29 17:23:27 +00:00
simon.kagstrom
98b6ad2e55 No need to use net_bind 2009-03-29 16:46:55 +00:00
simon.kagstrom
2e429f2418 Better wording 2009-03-29 14:26:34 +00:00
simon.kagstrom
731faf709c Skip the country code 2009-03-29 13:02:25 +00:00
simon.kagstrom
794a8abf03 ... Correct ip->country again... 2009-03-29 13:00:44 +00:00
simon.kagstrom
6388778cfb Correct addr 2009-03-29 12:57:44 +00:00
simon.kagstrom
67b3abc248 Oops, correct ip lookup 2009-03-29 12:49:18 +00:00
simon.kagstrom
f56252c045 On the Wii, don't map arrow keys to the joystick 2009-03-29 12:45:12 +00:00
simon.kagstrom
2881a4111a Do country lookup and improve logging. And don't echo always! 2009-03-29 12:44:35 +00:00
simon.kagstrom
5c4e39cae7 Add hash-bang 2009-03-29 08:10:45 +00:00
simon.kagstrom
eb8344fe5b Rename to a bit more logical name... 2009-03-29 08:09:54 +00:00
simon.kagstrom
240994427e Make executable 2009-03-29 08:09:21 +00:00
simon.kagstrom
9965a8de82 Add explaining message 2009-03-29 08:07:07 +00:00
simon.kagstrom
1c3d1a45cc No debug output 2009-03-28 16:49:27 +00:00
simon.kagstrom
93b7c1eb4b Translate packet numbers to names 2009-03-28 15:23:54 +00:00
simon.kagstrom
bc6bc61cf0 Implemented ping / ack between the broker and the peers. Every 5 seconds
the broker will try to ping the peers, and if the peer hasn't replied
within 15 seconds, it is removed lazily when a client connects.
2009-03-28 15:18:50 +00:00
simon.kagstrom
c79f6195ad Small corrections of refreshing + byte ordering 2009-03-28 13:03:50 +00:00
simon.kagstrom
55cbd752c6 Also fix network byte order on the broker side 2009-03-28 13:02:24 +00:00
simon.kagstrom
f5f6f20113 More fixing of network byte ordering problems 2009-03-28 12:55:11 +00:00
simon.kagstrom
bd757f9479 Periodically refresh the screen if bandwidth allows 2009-03-28 12:37:06 +00:00
simon.kagstrom
61108c59a0 Correct marshalling of peers 2009-03-28 11:32:59 +00:00
simon.kagstrom
2536022038 Correct quit when the wii is using networking, move network init to Network.cpp 2009-03-28 09:34:31 +00:00
simon.kagstrom
d18dd25eb6 Use poll instead of select 2009-03-28 07:59:20 +00:00
simon.kagstrom
0916f0025d Send at most 4096 bytes so that wii networking *can* work. The Wii can now
connect at least, but the connection (through the broker) still doesn't
work. Well, well, might be some other problem.
2009-03-16 20:56:04 +00:00
simon.kagstrom
7ab7e97502 Some cleanup and refactoring 2009-03-09 19:28:20 +00:00
simon.kagstrom
835d481221 Correct some key binding issues 2009-03-09 18:54:43 +00:00
simon.kagstrom
0298df2061 Lots of wii network fixes, updated changelog 2009-03-08 19:02:19 +00:00
simon.kagstrom
ca77dcfb1d Handle classic analogue parts, refactoring 2009-03-08 09:46:20 +00:00
simon.kagstrom
470d14d24a Nunchuk fire, some cleanup 2009-03-08 09:03:45 +00:00
simon.kagstrom
b634d52637 Python 2.4 support 2009-03-08 09:00:13 +00:00
simon.kagstrom
f42186e0ef Add nunchuk support (Aaron Morris) 2009-03-08 08:59:29 +00:00
simon.kagstrom
2bbbe035ff Make the stuff compile for Wii, removed some cruft and correct the network key 2009-03-01 15:47:50 +00:00
simon.kagstrom
ae2a0a2fb2 Network cleanup (merge some stuff into the wii part) 2009-03-01 14:41:18 +00:00
simon.kagstrom
a81356aee7 Allow setting host on local connections 2009-03-01 14:27:17 +00:00
simon.kagstrom
cca6c03c00 Handle errors, better logging of sent messages 2009-03-01 14:26:40 +00:00
simon.kagstrom
34359ec7bb Implement the user interface for the network support. You can now
connect from the menu as well and also abort connections.
2009-03-01 11:04:47 +00:00
simon.kagstrom
4e2de3ac50 Whitespace 2009-03-01 11:03:29 +00:00
simon.kagstrom
e65ac515f7 Handle network settings in the menu 2009-03-01 08:27:53 +00:00
simon.kagstrom
fa543ac596 Log from the daemon 2009-03-01 07:47:22 +00:00
simon.kagstrom
b6010f9508 Classic + and - reversed 2009-03-01 07:15:53 +00:00
simon.kagstrom
efb8cbd0a1 Removed some printouts 2009-02-28 19:52:41 +00:00
simon.kagstrom
20d7d7cb87 Correct handling of server id to allow multiple connects 2009-02-28 19:42:11 +00:00
simon.kagstrom
ee84f8f727 First working version of the network broker + UDP hole punching. Well, at
least locally on the machine :-)
2009-02-28 18:45:26 +00:00
simon.kagstrom
aa7c41770b Correct shifted key bindings 2009-02-28 11:26:57 +00:00
simon.kagstrom
049a3846b4 Fix binding bug 2009-02-28 11:13:00 +00:00
simon.kagstrom
4c4c43991e Exit to the menu (for Wads) 2009-02-23 18:24:36 +00:00
simon.kagstrom
e92e166f77 Speed changes - AGAIN 2009-02-21 13:05:29 +00:00
simon.kagstrom
54c033bc61 Correct key bindings for directions 2009-02-21 09:49:20 +00:00
simon.kagstrom
f02a2d7055 Fix case when multiple buttons are bound to the same key 2009-02-21 09:01:33 +00:00
simon.kagstrom
ed13ce7073 Re-fix Wii compile 2009-02-21 07:59:45 +00:00
simon.kagstrom
4e90dad903 The network stuff should be finsihed now. But it's untested still 2009-02-16 19:20:00 +00:00
simon.kagstrom
18b0f333f5 Even more menu simplification 2009-02-13 07:58:33 +00:00
simon.kagstrom
b2ca587041 Implemented broker communication (untested, might not compile) 2009-02-13 07:57:40 +00:00
simon.kagstrom
debf526c38 Implement binding of keys to any wiimote direction or button. If it
works? Who knows :-)

Also some comments about what network should do.
2009-02-11 20:07:28 +00:00
simon.kagstrom
331320c6e5 Don't wait forever 2009-02-08 11:52:09 +00:00
simon.kagstrom
09bca43d1c Yet another refactoring of the network stuff. When will this end? Who knows? 2009-02-08 11:27:56 +00:00
simon.kagstrom
63e7cab880 Naming 2009-02-08 08:22:15 +00:00
simon.kagstrom
1daa74debe Remove some gibberish and german 2009-02-07 18:50:01 +00:00
simon.kagstrom
ef79dac020 Fixed network communication with UDP now. Connection is still ad-hoc so this
isn't really finished yet. Well, well. We'll see about that :-)
2009-02-07 18:24:50 +00:00
simon.kagstrom
1f1c7da4ef Unbreak Wii again 2009-02-07 11:28:29 +00:00
simon.kagstrom
b714e699fb lots of very broken network stuff 2009-02-07 11:08:50 +00:00
simon.kagstrom
138854cc88 Moved network data structures out of the union, added some future defines 2009-02-03 18:10:09 +00:00
simon.kagstrom
568e6eb5b7 Sound network stuff (not working yet) 2009-02-02 19:51:58 +00:00
simon.kagstrom
a0a3097dec Throttle before encoding display, otherwise updates can be missed 2009-02-02 18:36:51 +00:00
simon.kagstrom
8c73c900df Refactored the network implementation. It's now based on a
singleton/factory pattern where peers are equal (almost!). This has
simplified the code a bit and also in theory allows clients to
"re-export" connections to third/fourth/... parties.
2009-02-01 19:47:21 +00:00
simon.kagstrom
2ab9d452dc Prepare for the future... 2009-02-01 10:52:32 +00:00
simon.kagstrom
c593cd43dd Allow setting hostname 2009-02-01 09:04:46 +00:00
simon.kagstrom
1a29531f81 Added binding of joystick directions, add throttling info to the traffic meter 2009-01-31 07:51:23 +00:00
simon.kagstrom
f317afd4e8 Implemented traffic throttling (skipping frames if needed). There is
probably some work to do to get a steady transfer state working well.
2009-01-30 17:49:47 +00:00
simon.kagstrom
47f73f2b83 Minor refactoring, only send joystick data on changes 2009-01-30 15:37:15 +00:00
simon.kagstrom
5a0941ff7e Send joystick data over the network as well, games are mostly playable now 2009-01-29 21:11:04 +00:00
simon.kagstrom
3c3d364190 Actually receive disconnects, allow server updates 2009-01-29 20:48:58 +00:00
simon.kagstrom
1fc28d9bbf Small bug fix, close socket 2009-01-29 20:35:06 +00:00
simon.kagstrom
978f0ce537 Do network vblank last, correct spelling 2009-01-29 20:26:40 +00:00