From 7d26982bb865c64c4776c98172d278aaabc469b2 Mon Sep 17 00:00:00 2001 From: Oier Bravo Urtasun Date: Fri, 12 Sep 2025 21:21:25 +0200 Subject: [PATCH] Item cursor composition --- .../cursors/base_item_cursor.aseprite | Bin 0 -> 706 bytes .../cursors/base_item_cursor.png | Bin 0 -> 428 bytes .../rtmi_cursor_manager.gd | 14 +++++++++++++- 3 files changed, 13 insertions(+), 1 deletion(-) create mode 100644 addons/escoria-ui-return-monkey-island/cursors/base_item_cursor.aseprite create mode 100644 addons/escoria-ui-return-monkey-island/cursors/base_item_cursor.png diff --git a/addons/escoria-ui-return-monkey-island/cursors/base_item_cursor.aseprite b/addons/escoria-ui-return-monkey-island/cursors/base_item_cursor.aseprite new file mode 100644 index 0000000000000000000000000000000000000000..ffffa7a2aa8b4bf373c9a8caca82ec1431734001 GIT binary patch literal 706 zcmcJM-%C?b9KgR?YcH{SDJZ<`AR*y{-3_zJgoRNLt*F*e%t3}V*n~-u-9jpMtjMZHKr==Rwv@*n7XxF60vd-#0L?!7{hH&+Uz zjisbOME3Ih8_sfvvXu2drW*gZ&yKv+fnYh0Q{|QObT8SjQ0mW#d)_bktu0cl%HhV< zRWMrVfyo*_e7(N}j`u`ib|eMAf2n{M-))ESJ33s~nSjCA8W;+$g5Ii17ziAMdcz4= zpLh!!(>C1wXc|78_yKK3BzxJXBjc}~hg2}GUu)SHg z<6K~2?tfQoxCA#KpLW8jCYfGhDJ7Fe0;wa7E}|$RC)Z-zRFHrlIcBst5n@B-&Y9E# z_;*MUr)=4CWZwbh8REsEL<(6pALaLWr9uv0ntkeVwdspD?8qKplwDcUtgSCUH}xVk zXLoM8ubna0PCV$D{xFl8X)v}LeP6>xb={?1TBK~*Xl&c9C$6&Embt&bE9S4HsR|A|EG{ e*L=Ev@cC_b|H-COSEe-(b&i?ZlE=G(#lHaa{n~s0 literal 0 HcmV?d00001 diff --git a/addons/escoria-ui-return-monkey-island/cursors/base_item_cursor.png b/addons/escoria-ui-return-monkey-island/cursors/base_item_cursor.png new file mode 100644 index 0000000000000000000000000000000000000000..b00961f1c622715f6200a940b82a82079001e00d GIT binary patch literal 428 zcmeAS@N?(olHy`uVBq!ia0vp^4Is?H1|$#LC7uRSjKx9jP7LeL$-D%z(>z@qLn`LH zz3rISY#`!#F`#s1Y}hw1_je3Zf>{Rh_Z7PZPGMmF{i$=xapn`ITg5-y*w_C(U{c$= zTgL78j$ceWuB9=C#Rs(1yD}bnt9RfPLsvmIm%zH+4Ep?Qc(yNKc)0ATwEOf2&t19# zCNZ^0hc#U76kW)|%CTL`!FUym_bG#EOfA~s4XUmd(}9e55CbSu9oeufi&M(=#bSns zc_6_X?u>_O<7yfAzWHItC6HIlma*y#Q`w)5A__4-B@gu312tDyvt^u{$NJ_6Q1H%E z;|AG!T~>~C#+J$)5K-eQLenMqfrC@1YJbI0=FV a^IGPlSzgSZ3qoZ;ialNZT-G@yGywn{YM565 literal 0 HcmV?d00001 diff --git a/addons/escoria-ui-return-monkey-island/rtmi_cursor_manager.gd b/addons/escoria-ui-return-monkey-island/rtmi_cursor_manager.gd index 4764a4d7..d8d39d9a 100644 --- a/addons/escoria-ui-return-monkey-island/rtmi_cursor_manager.gd +++ b/addons/escoria-ui-return-monkey-island/rtmi_cursor_manager.gd @@ -2,10 +2,22 @@ class_name RTMICursorManager const RESIZE_RATIO: float = 0.7 +const BASE_CURSOR := "res://addons/escoria-ui-return-monkey-island/cursors/base_item_cursor.png" + func set_cursor(texture: Texture2D) -> void: var image = texture.get_image() + var resizeRatio = 100/image.get_width() + image.resize(image.get_width() * RESIZE_RATIO, image.get_height() * RESIZE_RATIO) - Input.set_custom_mouse_cursor( image, Input.CURSOR_ARROW, Vector2(32,32)) + + var newTexture = Image.load_from_file(BASE_CURSOR) + + var rect = Rect2i(Vector2i.ZERO, image.get_size()) + var textureOffset = Vector2i(10,10) #Vector2i.ZERO + newTexture.blend_rect(image, rect, textureOffset) + + # Hotspot es una coordenada x,y de dentro de la imagen. + Input.set_custom_mouse_cursor( newTexture, Input.CURSOR_ARROW, Vector2i.ZERO) func clear_cursor(): Input.set_custom_mouse_cursor(null)