From cd7b71894dd3bf7fd02d3a244f0489aa29a60ec8 Mon Sep 17 00:00:00 2001 From: Cyberarm Date: Sun, 27 Oct 2019 11:43:15 -0500 Subject: [PATCH] Added custom cursors --- assets/cursors/attack.png | Bin 0 -> 561 bytes assets/cursors/move.png | Bin 0 -> 705 bytes assets/cursors/pointer.png | Bin 0 -> 1034 bytes assets/cursors/repair.png | Bin 0 -> 662 bytes assets/cursors/sell.png | Bin 0 -> 818 bytes assets/svg/cursors/attack.svg | 102 ++++++++++++++++++++++++++++ assets/svg/cursors/move.svg | 102 ++++++++++++++++++++++++++++ assets/svg/cursors/pointer.svg | 90 ++++++++++++++++++++++++ assets/svg/cursors/repair.svg | 83 ++++++++++++++++++++++ assets/svg/cursors/sell.svg | 84 +++++++++++++++++++++++ lib/states/menus/solo_lobby_menu.rb | 6 +- lib/window.rb | 11 +++ 12 files changed, 475 insertions(+), 3 deletions(-) create mode 100644 assets/cursors/attack.png create mode 100644 assets/cursors/move.png create mode 100644 assets/cursors/pointer.png create mode 100644 assets/cursors/repair.png create mode 100644 assets/cursors/sell.png create mode 100644 assets/svg/cursors/attack.svg create mode 100644 assets/svg/cursors/move.svg create mode 100644 assets/svg/cursors/pointer.svg create mode 100644 assets/svg/cursors/repair.svg create mode 100644 assets/svg/cursors/sell.svg diff --git a/assets/cursors/attack.png b/assets/cursors/attack.png new file mode 100644 index 0000000000000000000000000000000000000000..a492ad8593c1055ae43cc3c80c712e949e09bb7c GIT binary patch literal 561 zcmV-10?z%3P)Zgme*y3I?Q-C<-y5tI)-v5F2Ab z+`9P(6vQe7%}~X`$v;4-wCEtTP`f+0mS{mVg_eS&bZWuH7>Aca8f|l5Oh0(=?z!)K z-}%lx_eA>R8YYj}YhvX%@~HrUY>j7^Np%Om@q3=z{m7|)AK?8On|}q_!s;*tGc-FVZf?j-n7=kOOEix6R&(WZywlWHU+jgP_!Tf)U{^eu_I{ zShgdS@g3?&)Suu0#LGOvFOF^WH^kY;b8KF44;>**ux<|JG}?it%I|${`nN)@Y#~iN|pk zYlhpVQ#hTJnE0Y4!9b%TNf%8`Gdj(v*#2;F(&PG8mGcLSBrbvkN<6>V)!So?6nP=Q zMTkJ9Os+S0lQI9ENrw;U!L literal 0 HcmV?d00001 diff --git a/assets/cursors/move.png b/assets/cursors/move.png new file mode 100644 index 0000000000000000000000000000000000000000..11776beb1d20e37490732c16bceb9a32651c8773 GIT binary patch literal 705 zcmV;y0zUnTP)2%d%v+)`bm)bq7X!^t*} z%N{rv@B2T``<(aV{~m$b*a7TY;VcO}U5&g>fq-$~f#q!LF0HE4`R)B|;rgLuPc5>l z)(gOk*v+X_we#JLsd3}O=~u-j<_CR0w8$& zi8bH8w>d?rw*Qj80Qe-AE_oy*{RV<6fbC9=s{fX`E%3@d(!Qs895`4lq+XAwvrnJt z?9*q|YCOvXm!&RU;@D&B$l-gEWZtb)L)A^*(!NpCf7`5?Of1}qUQVA$yq@U=;sDMb z{oMl>Oq&3T2*V#j)A~i4Lvrat@(IIclT)LuR#kcr){G??OePlQqLntqLVSoHD#}z|aCPHk$PU5hWzWV``Vh^Tv)Q zt+As?YjcYiQJ95Nf&JY>hOK2|F%xgY1njbSZkwa&?`+qTg%Sau>u5_`wXI- z5=aVC_a(^z&(!VBF)Xs zP1G>jY&P3aeZ8yAZntCYx;5m$!H5tFZE`8HylEmi(QmWaL#nD~0o<-t0A16SQn3_X z|5T@#$z#=#BV} zMn~CVv9tgXkHxo6rtS=t*Gr`mKL7MfZRhqL`O?KppDBvsryBhLfDTyh;Gf7m&u?%# z9Z&j~`AIpQx^UXq?@4GdI+R}z?p zVSIdbcx2&402sM?jT+P>4ULU&#eW@nyBfTb0J^S!5sSr%qWtSPp{gn_T)1e|dwpkX zfmaj&NOK$;jmLgBt;HWN|D*|`^hav^R$ndfY66r>@`usr@a)_=pUWc}9X4_^GdpXA zR}}y_e}DSEmdRuR0E2_y7YWE20I5e2l>Y;3OhQNlfQ_#DI_~`74@FJW_Mq&Y|JMXW zQ7E?fTM7)r99c^6d~7z`6;Tu?0C4|{06-^z^^ZIJHx^}n{F;FOK>z>%07*qoM6N<$ Ef(?(-dH?_b literal 0 HcmV?d00001 diff --git a/assets/cursors/repair.png b/assets/cursors/repair.png new file mode 100644 index 0000000000000000000000000000000000000000..f3dab1f836b7045427abecd458e16ca10628a93d GIT binary patch literal 662 zcmV;H0%`q;P)f%#gkY}QNdVRONlmSH_`FZNQl|y z8+@)a^LyTz0siywA^!Mx0RE2P@kGp!HHjpz#tQ(BRoi530T=y2t_uJh-3|+Y9Zg#Q ztiFM zd_EBL=dkthjs8Km)5%Z(z%Y!p|4@Gf09}SZ4g~%5$SA+l+vk1QOu-OM)4u`0W}__U zFGP;IcDW<~<6F2L0955!emT8-8UQQ};6idbE)H`(8vta!WRS^xg{~X<^>1s1-EKEi z!c|2(2|#J2pekM-LddVDvvbCa=P$!0yxsy+eBsqXLD!A0&CQ(gerZWrU0IC+cvpVd zRtrx|O+KlHYwCPnk<~DO*8qN)0oxS_iK$7E3$SMRDFAYf0ZpH%9$c)2n-#PTuU61j zys|*JmP*bJ`39{fco=oOd1a^)p1Pit_IY}#b7v#>K7ahw>+0!ow2J=?FN8K^O(GMq zOGN-qyWM{G=It563!$F?gr?!r4bmUdZ}#kUpV@z)kIH7Vms!?#WO4CrQB|}PElpk# wj^&1Px9;2^yb#jS;^d|!9iv$+F3 zm*@RI&+{JMhvyHW!(L@Y%uPlFw4sv1WEgPF%4C)aQ4U9z0f0h*D2Jz7;e540!|AL< zip&N!#zn)fWW2K;TqDy=d>ZFX=P-|fd%$nW3k4C+s7R;nVm^`ja5RC2Uj9TVXrdTs zk@E+-{b{sb+k*j6H231Z*~8eSe2lM$&_5sKhuJ{7jk83{IY9!Ci}Z zr-T_`hZIS67cJrLgFb8xAN<9amqY}R^FIv$Mn wIWZMQ5kwJ1sN%5lPF@b*^)6!iT{0NJADv0l`GE+zs{jB107*qoM6N<$f*fC7>i_@% literal 0 HcmV?d00001 diff --git a/assets/svg/cursors/attack.svg b/assets/svg/cursors/attack.svg new file mode 100644 index 0000000..3b70e95 --- /dev/null +++ b/assets/svg/cursors/attack.svg @@ -0,0 +1,102 @@ + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + diff --git a/assets/svg/cursors/move.svg b/assets/svg/cursors/move.svg new file mode 100644 index 0000000..46517be --- /dev/null +++ b/assets/svg/cursors/move.svg @@ -0,0 +1,102 @@ + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + diff --git a/assets/svg/cursors/pointer.svg b/assets/svg/cursors/pointer.svg new file mode 100644 index 0000000..fcea3b2 --- /dev/null +++ b/assets/svg/cursors/pointer.svg @@ -0,0 +1,90 @@ + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + diff --git a/assets/svg/cursors/repair.svg b/assets/svg/cursors/repair.svg new file mode 100644 index 0000000..1a6dec5 --- /dev/null +++ b/assets/svg/cursors/repair.svg @@ -0,0 +1,83 @@ + + + + + + + + + + + + image/svg+xml + + + + + + + + + + diff --git a/assets/svg/cursors/sell.svg b/assets/svg/cursors/sell.svg new file mode 100644 index 0000000..e86da3e --- /dev/null +++ b/assets/svg/cursors/sell.svg @@ -0,0 +1,84 @@ + + + + + + + + + + + + image/svg+xml + + + + + + + $ + + diff --git a/lib/states/menus/solo_lobby_menu.rb b/lib/states/menus/solo_lobby_menu.rb index 2b18b07..7118526 100644 --- a/lib/states/menus/solo_lobby_menu.rb +++ b/lib/states/menus/solo_lobby_menu.rb @@ -33,12 +33,12 @@ class IMICRTS end end - flow do - button("Accept", width: 0.4) do + flow(width: 1.0) do + button("Accept", width: 0.5) do push_state(Game) end - button("Back", width: 0.4, margin_left: 20) do + button("Back", align: :right) do push_state(MainMenu) end end diff --git a/lib/window.rb b/lib/window.rb index 95b4dc7..663c10c 100644 --- a/lib/window.rb +++ b/lib/window.rb @@ -4,6 +4,7 @@ class IMICRTS def setup @last_update_time = Gosu.milliseconds @mouse = CyberarmEngine::Vector.new + @cursor = Gosu::Image.new("#{IMICRTS::ASSETS_PATH}/cursors/pointer.png") self.caption = "#{IMICRTS::NAME} (#{IMICRTS::VERSION} #{IMICRTS::VERSION_NAME})" if ARGV.join.include?("--debug-game") @@ -15,6 +16,12 @@ class IMICRTS end end + def draw + @cursor.draw(mouse_x, mouse_y, Float::INFINITY) + + super + end + def update @mouse.x, @mouse.y = self.mouse_x, self.mouse_y super @@ -22,6 +29,10 @@ class IMICRTS @last_update_time = Gosu.milliseconds end + def needs_cursor? + return false + end + def close push_state(Closing) unless current_state.is_a?(Closing) end