From 06fb2c0e4331c831300c82fc6c86a5f67a37ee23 Mon Sep 17 00:00:00 2001 From: Cyberarm Date: Mon, 4 May 2020 09:59:01 -0500 Subject: [PATCH] Stub NetworkManager, remove pixel test image, added icon for releasy --- Rakefile | 2 +- _background_menu_test.rb | 11 +++++++---- i-mic-fps.rb | 2 ++ lib/managers/network_manager.rb | 26 ++++++++++++++++++++++++++ pixel_test.png | Bin 162 -> 0 bytes static/icon.ico | Bin 0 -> 19518 bytes 6 files changed, 36 insertions(+), 5 deletions(-) delete mode 100644 pixel_test.png create mode 100644 static/icon.ico diff --git a/Rakefile b/Rakefile index e22d8e3..c073ec4 100644 --- a/Rakefile +++ b/Rakefile @@ -12,7 +12,7 @@ Releasy::Project.new do verbose add_build :windows_folder do - # icon "assets/icon.ico" + icon "static/icon.ico" executable_type :console # Assuming you don't want it to run with a console window. add_package :exe # Windows self-extracting archive. end diff --git a/_background_menu_test.rb b/_background_menu_test.rb index bc72da4..a2dd0ae 100644 --- a/_background_menu_test.rb +++ b/_background_menu_test.rb @@ -1,5 +1,8 @@ -require "gosu" -require_relative "lib/objects/text" +begin + require_relative "../cyberarm_engine/lib/cyberarm_engine" +rescue LoadError + require "cyberarm_engine" +end class Window < Gosu::Window def initialize @@ -9,8 +12,8 @@ class Window < Gosu::Window @slope = 250 @color_step = 10 @base_color = Gosu::Color.rgb(255, 127, 0) - @title = Text.new("I-MIC FPS", color: Gosu::Color.rgb(255,127,0), size: 100, x: 0, y: 15, alignment: :center) - @singleplayer = Text.new("Singleplayer", color: Gosu::Color.rgb(0,127,127), size: 50, x: 0, y: 150, alignment: :center) + @title = CyberarmEngine::Text.new("I-MIC FPS", color: Gosu::Color.rgb(255,127,0), size: 100, x: 0, y: 15, alignment: :center) + @singleplayer = CyberarmEngine::Text.new("Singleplayer", color: Gosu::Color.rgb(0,127,127), size: 50, x: 0, y: 150, alignment: :center) end def draw diff --git a/i-mic-fps.rb b/i-mic-fps.rb index 8c7c7f6..66de036 100644 --- a/i-mic-fps.rb +++ b/i-mic-fps.rb @@ -3,10 +3,12 @@ require "yaml" require "json" require "abbrev" require "time" +require "socket" require "opengl" require "glu" require "nokogiri" +require "async/websocket" begin require_relative "../cyberarm_engine/lib/cyberarm_engine" diff --git a/lib/managers/network_manager.rb b/lib/managers/network_manager.rb index e69de29..310f7f1 100644 --- a/lib/managers/network_manager.rb +++ b/lib/managers/network_manager.rb @@ -0,0 +1,26 @@ +class IMICFPS + class NetworkManager + MULTICAST_ADDRESS = "224.0.0.1" + MULTICAST_PORT = 30_000 + + REMOTE_GAMEHUB = "i-mic.rubyclan.org" + REMOTE_GAMEHUB_PORT = 98765 + + DEFAULT_SERVER_HOST = "0.0.0.0" + DEFAULT_SERVER_PORT = 56789 + DEFAULT_SERVER_QUERY_PORT = 28900 + def initialize + end + + # https://github.com/jpignata/blog/blob/master/articles/multicast-in-ruby.md + def broadcast_lan_lobby + socket = UDPSocket.open + socket.setsockopt(:IPPROTO_IP, :IP_MULTICAST_TTL, 1) + socket.send("IMICFPS_LAN_LOBBY", 0, MULTICAST_ADDRESS, MULTICAST_PORT) + socket.close + end + + def handle_lan_multicast + end + end +end \ No newline at end of file diff --git a/pixel_test.png b/pixel_test.png deleted file mode 100644 index 819f8197677d6275ff2982168683ec4c0321114e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 162 zcmeAS@N?(olHy`uVBq!ia0vp^%s|YEZzkxv|` zNXFB}F@)oKazen*|MMFg7dAG&G+}0T);g>cugqZT%JNP_?`8l{9fPNKOf=kuK?cxz+3!{o5IGpJ$z|C zZt$SnJAk_fxV?V`_q#{@{Tkr=p8)nh1N`s{z>mMd?eBjB{P7RKU;n|M@BTHHd)e`F z1zxVe%N2OJ0$=1NPO?F z9nkaSuNy%8;IA1l@XTK?fbra4D}eLDUnfBD(qAJ$@|nMUK*s0((g8VN_{#r*u z;rqT-8_(Sz;P>N^&2LtxOYaVF`{}?&06p{G0IyHSRRf53-vhL6{U&6GRRS3A4PXmb z3dB)nfZ&}0Vr8o!JIDygcwa!av|3OcqXrbbE1+1rEKm+n0uT22G1m58m;Ceq z!!b6Kp7WCfbV%Pi=p{cjK$X;uOxO5{0blWD)7P(+ZDJF>@Z=X0UIh>LV&OPUJNu9_ zI^f~Wn<8L3KRN*UBH$W+WI*Jzfa~~C0f`p@*YYC*h-U%U^X>q~Q@|X&GvHOY^@c}$ z70koC0>s&e3=Ek1wj+Br?cZH4{Zp(KW0tvUV#04PFnh)^Bbv0-C%Q&}8fb zvH%BP2H2}R_J{x%p9eUQ+952!$;*J++OB;R;O2RNi>M!z0!HvdKz(KB-WV{7?*p7b z>o5!$$#(&*bw8i|bQ9)Z?8HaB7-l`Y-0f%EpOrWNO=$Wv^HzZ6&(0eGhQ9!>2k8DH zyc(eT3-MZj<}b!80gAsMUj~%^qI?lh_zUxSK<+QjX91bN0xtukzX~q`gufEc1Gv8$ z&jOggB0mHS{;E6$kiRnD2lW2xdr`LdJq`A*KK8#x1r`4hmAZ}gGEFg?5Ao46A@+=_o zEFkhM;1ZV`0?yq`0jF-JfNrFK#8W`xDIoC_ka!BX^y{T7aPH?6aO&q2(2psA_!K~V z3LriO5T61r!+J5`Jj^lRG|Vwz7-InAV*ul00OMl-<72>uuZIC=K4ZX%<c*3=lj9 z2p$6jj{$pXhhi;~TV>eSk8vB66(=C{I3P?N!&^u@f*!SzDfI~m0fMY+W02;dh;!^