From eea9c183588c4ca252673db4b5e9468499dd7714 Mon Sep 17 00:00:00 2001 From: vaporvee Date: Sun, 26 Oct 2025 02:57:00 +0200 Subject: [PATCH] chairs --- aseprite/hood_player.aseprite | Bin 3259 -> 3485 bytes aseprite/hood_player.png | Bin 0 -> 1765 bytes aseprite/tileset_grass_random.aseprite | Bin 0 -> 10106 bytes assets/textures/spritesheets/hood_player.png | Bin 1601 -> 1765 bytes assets/textures/spritesheets/table_chair.png | Bin 0 -> 914 bytes .../spritesheets/table_chair.png.import | 40 +++++++++++ assets/textures/tilemaps/grass_tilemap.png | Bin 481 -> 8481 bytes scenes/interactables/chair.tscn | 30 +++++++++ .../interactables/interact_sceneswitch.tscn | 2 +- scenes/levels/home.tscn | 25 ++++++- scenes/levels/hood.tscn | 17 +++-- scenes/player.tscn | 40 +++++++---- scripts/autoloads/nodes/event_manager.gd | 3 +- scripts/interactable.gd | 4 +- scripts/interactables/chair.gd | 62 ++++++++++++++++++ scripts/interactables/chair.gd.uid | 1 + scripts/interactables/interact_sceneswitch.gd | 2 +- scripts/player.gd | 31 ++++----- 18 files changed, 216 insertions(+), 41 deletions(-) create mode 100644 aseprite/hood_player.png create mode 100644 aseprite/tileset_grass_random.aseprite create mode 100644 assets/textures/spritesheets/table_chair.png create mode 100644 assets/textures/spritesheets/table_chair.png.import create mode 100644 scenes/interactables/chair.tscn create mode 100644 scripts/interactables/chair.gd create mode 100644 scripts/interactables/chair.gd.uid diff --git a/aseprite/hood_player.aseprite b/aseprite/hood_player.aseprite index b9717819f444c0ef8f70dc29af3999149f47af6e..9d88f67c71315ab753bc1b02672ebf25860bea75 100644 GIT binary patch delta 374 zcmdljIaiu#F7HI9I^Jn43=F?Maxt7>U|`^y*gLyk7RX>xU;>gb@E^!vWpFFX&nuAu zGBG7t7=klXQgO*SB_?M}W7WqD)K~HuWV!+a0|x^m!+$1*&6ey7nCj1i1(_K*8JIwV zP{79^#ZWOPIpF|bjA_ol!v=h+6<-A|^{;dDJjl}X@#WD}JF~qlUmCCMx3=N#x%l<* zX6|L|vX3u+PfFKstD5n*ga7@rteFxsWNH;Qn&;npaMk_9S_K{kv#)nmH=D4ua{vI!#&ReC delta 131 zcmbO$y<3uLH_t?-I^HeJ3=F?Maxk1=U|`^w*gHE`9>`!(0E)uFe;|vU!6&gYwMfAb bBFzMsWMDv+Ho`A$yqSk%J=10})^-j6O-vT3 diff --git a/aseprite/hood_player.png b/aseprite/hood_player.png new file mode 100644 index 0000000000000000000000000000000000000000..f8e13d452c3f12b0cbea3d890d5f6b309d9871f8 GIT binary patch literal 1765 zcmVPx*pGibPRCt{2ojqtAM-<2Z4k0*(U~EztT;zNr#Hb8w1woW95I2ILBB+q7NR3je z2qA?E5mJOez$#*OQIT_@MvV>WtPp{7xD*oN9GM_UAsm9iS=?+2doH8B-MjgEGxwhM z-{`crx4*ah=3{sE%{-t{Ql0bp@yFLcEY#;;_J8#{)>-9S|42c5c@6-WIDh`s_tY0c z8sBPX-Q&ZIa53bp@?Ud>D{yyn$@CCjlFB!7KouMS?rz*V^_NPL`9{^GY(O3Gv&ElI z{U53skjx*sgDJeqkPsI@I^Vbt0D!fXss86|;m)b=^#4`o6j~Db#tzWo00ufA>dsIq z-?)mlTUqh**B=1@-hJ=-(0#LoJ9vE54SE|Wm2cGq)xlDVJKxCxhX?yOJlF>+svbq@ zlgu}Ez~iItx%ssR1BS$sRK9gdX}7Wh091RZq>Q63ebV@^yBIM!vyS<-<$-N`JIl4d z388i?D<)^w0U!xqXI1fEYPqm+f|a-0t*n@y-5R>j?)Dr>DKueI@~Lbv?gRAFH%yZ= z>-}mPN~R}H#fQcD1Hkm`maz@icR{<`b57rdk~F^eb3h|MiE{vDM@(^SD+ibuKy?9j zx95ziIOUj-$+1oCRI(Zi>TWKLeDqfPguD|`Y#2WJQ{DxQ+DEt3#11P5sL%IS->=-~ z=IW#VXNtiv6Ml>bv5@C)H55@kXz%!`(S9Lh%8#iK=kMJK>t0VG?tF1~LEI$90WoVr zNS5Mwa!kdmmHTC!{tgw$3Vx^!(ectZ28g;^gF{&@Y6(jba?8Y(o`aiIQK( zsj`U_US&YtcT{$i88Mt+$EmZ)L{{$uCa&FZ`YyDpSkz75C{E1tZ`4SRnh6?-`OZey zMGVKf5K{Og6EvtUf<(Ue1Pu@d!=44c*HA<+&(YmnLU(fsy*%$5Qdd1gO9J0%f`-zt zi3%Z`0m*#l8nF4prvuw!2Fgm|do@8XoRUlcd?N>_1NQP9 zYb#TD^5=2wz7)-XWWI3?D0@{I5vv)H%C~NU^ceZ7l0e-NO5;1VmE{ap@)nA^Y>q`w%Sch2qo8v5#z#lehyF<{^F%8xOnM`>tVb!J-day zon_X1@352@G5K}+zxMIvvyTg!oLNs=2z>dh9iT$tV-G=ue^uA8V3 zOSczWN%oR-zboRL`QQC4Ic--bN&Eby*%#+ zs>WKsUkcxN=eqbv9j+8(?S3hI?+3A}BRH z;ankr!YsQtg>1mwwQc+&!J%pt4y1Sy`myr!YY(E15OU``ub8Fc zf)qUV`u$S)PBmb9b_?0U+`zV2k#co>0KoPf+3P?(EI-uwv&kP|%BQk{ifxrYz{CKX zwexL6wSK=Tn<{@nlRqFazZr^1ELILk8H#QyTN|w$U{b{>n*oaT`%Oiazko&l0NsXB z``E7EZ_1_0U%)1RfNqDR`~}7jV(P%k*&R@_sU|9YDGH~kk`-iZi%?}uM0bVx2!gf>`7akSw5es0BK^GKR}Y$<`0k}_W1+2i*^1031Xc;K!RAt z1xZrlfW&g1C(L281P3|S0QDZAk)OQt2UN`-Y}V8?SMY^f@oEj_iEB3+2N=j}t%$0b zBI6jjJkAPw7j$#=5gvB$hdiWsc{LF!L)9BKYSgGvBkuYSB(tPnJQcZj00000NkvXX Hu0mjfX=P=& literal 0 HcmV?d00001 diff --git a/aseprite/tileset_grass_random.aseprite b/aseprite/tileset_grass_random.aseprite new file mode 100644 index 0000000000000000000000000000000000000000..3a6291dbac87c9d1c44675cb60a03a6ad76c3ff5 GIT binary patch literal 10106 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 Hu0mjfX=P=& literal 1601 zcmV-H2EO@;P) zPpC~_6vxl+mwx#viD#e;{CSBC^^n3$F;RL088E`+85&3i29kl4Vt^R~8JL(*W{Bct zDAMyMDFcxdGP$hFV&DDFId`wU_gZ`3b@sPj_uO;OyX$lI+W*czXWccYD#}uGs-i3v z?3it9HurG*_S1X+REeaG!|NZ>_{_I&{rBT@=MH=>RWO=4$p2v0h&C8spu+J>|5gOq z5C|}RzS;g}I21IT6R zLt<7o>=={Rm51yY+`f5yUF|VDjz9jh&AE8!!XbHq8M{2lOEUJC&%FKMbX-iia->kK z@`$p!Y}SgD(!^1w%b6-li^)wXT25@6L95G6l3vxd^>F%DwP9kr2n#ZpHf{MZkXwui zf=1CW?&DmavQ@`1Ha1qxynIwi32cE)n*-T=L>gnDz}rsPERgXP>w6L{2MYuRHo-P- zSIla&XR}d69{hhoczwpDI-62m=`edC_{A`oLG0n{H*Xt{ zp+a^ncPjzNbkSh%GBmr_tkAj&`sN0bNtB%`;Q^taWf zRV)rwcQBy~$)S?O;8633ECx%ZT8fFy5#$(v$f1UUuy5DG5p*3>7ul6!HdOaW?x=GF zjWOsDjHXH*pK|WN@@jnPqNE&H77)O6=+djoSKeJ2)`X@IH)(-WG)dL03|fm8sSI4o zL7|mIjbpGNFgO(kV#zoilpP%F%Msj_;Xs>etg%lT2i%jV4)XOr|Q1$y7m(DM3qo96>qCOu>V17=j?38%!ey=^vV& za5o`Pl6k>2azt5@sY{e59hahwgLSPeMWNJb6giv+|5C_<;^tsqT`mqClq*NMj>%Ny z79*8sa+tJpkOG%r8VHGN0A?5vCRU3*UF`~o*Y7Uhzp$tJZ{Ga=K05)Yndxrh{xht< zyR4am{JYEcJ~M@_S!?VRQ8Cp8jwpja06=&fMpFSqihCoPID&pf7N5jKh*Y`3G;(;i z7hzXT;;<`?#f)6rbIWwl^cvA&Rl6Dm!r&N8Fq|MZZL{{&Rl6; zYh|F6Im%2Pt+~=jV+%2GKywByV()dn3@S*PbqpAr*{oA{_mW81TGd{=v%6a3u97ll-H;766~w z4>sJXaJ|9Vb!FLFTfW;R(t9RdHJexUX6589w@Z!p|NZOQaCQg#VX-$4+#b8?&f{}= z_*ZY1S`%ybnsSEqM}<8dzkMx|=6ycv>&E6a{uPZfeCN$C7StWO@Hjxh!*!|Ogg(yQ zDM_n2Km6UrJ?pBF!k)KGIi3rXt-n|&+>w7gF^g%!>q{2Sk5BC6dXRlUs(XRi|A*^M zS;Jm3qUW(f4Q7g%Z}-8M^MK7qnafic z?lB&bSG>n~)9>OHkslR1c*3Hi8nS*am~i-VsL7n{YsZD&o45*i`_-RQSD$ROEn%s} ztp2Bog-Y{PJ6N?RY57fSKiXL`O+jpp$100RIWhH1kxdaBlvX}Usf?K8kbp*V;I8^h!(K^+su?HpZnIsHdtit zzU9%@i_Ah<#2>5(I%$6>dPn=a23?WhNy@qo*~Ru(A2V&}PVlVGeJHn!d0T*wXJ0VW zA7IS?|1Y7|DgtDD0!91VnFo0f83?chGsFfkTyb>%Gx0}&jO>R6lO{NyI?niWNs8dE zxgN_;a7I=hugE=NU~>HJ7U}udolkP*_ufqvW)NO_{At9dOZOS78B!XmId1tg0vQaF z2kZ`1E4#2wU<9%Q4B0R3XVad=@1M!=EjqE9;al(lxdVUq$ZLmLv4Dg%89usK))cJs zznr-5d;asd`04tLR^f*pm|r}%*nYq6%hfI+EpC^>J2eYAZLTq4&93i>!#)YmVA445r+cbP0l+XkKm>y@E literal 0 HcmV?d00001 diff --git a/assets/textures/spritesheets/table_chair.png.import b/assets/textures/spritesheets/table_chair.png.import new file mode 100644 index 0000000..ba6e986 --- /dev/null +++ b/assets/textures/spritesheets/table_chair.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://duxnw68jxoauh" +path="res://.godot/imported/table_chair.png-e74f8b9bc13823f10c8b29c28e9a3a90.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/textures/spritesheets/table_chair.png" +dest_files=["res://.godot/imported/table_chair.png-e74f8b9bc13823f10c8b29c28e9a3a90.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/assets/textures/tilemaps/grass_tilemap.png b/assets/textures/tilemaps/grass_tilemap.png index daec93b69ea31bfa16cc57d5f96efce7ea6e3f6c..2bbaff89a1e77256f4b69f2baac0006cfb0ef35b 100644 GIT binary patch literal 8481 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 void: interacted.emit() +func interact(player: Player) -> void: interacted.emit(player) diff --git a/scripts/interactables/chair.gd b/scripts/interactables/chair.gd new file mode 100644 index 0000000..b1dd0b0 --- /dev/null +++ b/scripts/interactables/chair.gd @@ -0,0 +1,62 @@ +@tool +extends StaticBody2D + +enum Direction { LEFT, RIGHT, FRONT } + +@onready var sprite: Sprite2D = $Sprite2D +const SEAT_HEIGHT_OFFSET := 8 +var player: Player +var input_released: bool = true +var move_input: Vector2 = Vector2.ZERO + +@export var direction: Direction = Direction.RIGHT: + set(value): + direction = value + flip_chair() + +func _ready() -> void: + flip_chair() + +func flip_chair() -> void: + if !sprite: + return + var atlas_tex := sprite.texture as AtlasTexture + match direction: + Direction.LEFT: + atlas_tex.region.position.x = 32 + sprite.flip_h = true + Direction.RIGHT: + atlas_tex.region.position.x = 32 + sprite.flip_h = false + Direction.FRONT: + atlas_tex.region.position.x = -3 + sprite.flip_h = false + +func _on_interacted(p_player: Player) -> void: + if player: + unmount() + else: + player = p_player + input_released = move_input.length() == 0 + player.animated_sprite.animation = "sit" + player.animated_sprite.flip_h = direction == Direction.LEFT + player.position = Vector2(position.x, position.y - SEAT_HEIGHT_OFFSET) + + +func _process(_delta: float) -> void: + if player: + move_input = Input.get_vector("move_left","move_right","move_up","move_down") + if move_input.length() == 0: + input_released = true + elif input_released: + unmount() + + +func unmount() -> void: + if direction == Direction.FRONT: + player.position = Vector2(position.x -16, position.y) + else: + player.position = Vector2(position.x, position.y + 8) + player.animated_sprite.animation = "down" + player = null + input_released = true diff --git a/scripts/interactables/chair.gd.uid b/scripts/interactables/chair.gd.uid new file mode 100644 index 0000000..b493d45 --- /dev/null +++ b/scripts/interactables/chair.gd.uid @@ -0,0 +1 @@ +uid://c1xp6fm2mh83g diff --git a/scripts/interactables/interact_sceneswitch.gd b/scripts/interactables/interact_sceneswitch.gd index 02b7769..adfaeab 100644 --- a/scripts/interactables/interact_sceneswitch.gd +++ b/scripts/interactables/interact_sceneswitch.gd @@ -2,5 +2,5 @@ extends Node2D @export var scene: PackedScene -func _on_interactable_interacted() -> void: +func _on_interacted(_player: Player) -> void: get_tree().change_scene_to_packed(scene) diff --git a/scripts/player.gd b/scripts/player.gd index 87ce8d4..d355706 100644 --- a/scripts/player.gd +++ b/scripts/player.gd @@ -12,6 +12,7 @@ const RAYCAST_RAGE: int = 32 @export var tilemap: TileMapLayer var tilesize: int = 32 var position_limit_rect: Rect2 +const STILL_POSITIONS: Array[String] = ["sit", "hand_down", "hand_side", "hand_up"] func _ready() -> void: EventManager.player = self @@ -36,10 +37,10 @@ func _ready() -> void: func _process(_delta: float) -> void: if Input.is_action_just_pressed("interact") && raycast.is_colliding() && raycast.get_collider() is Interactable: var interactable: Interactable = raycast.get_collider() - interactable.interact() + interactable.interact(self) func _physics_process(delta: float) -> void: - if EventManager.player_free: + if !STILL_POSITIONS.has(animated_sprite.animation) && EventManager.player_free: var input := Input.get_vector("move_left", "move_right", "move_up", "move_down").normalized() var raycast_input := Vector2.ZERO @@ -52,18 +53,18 @@ func _physics_process(delta: float) -> void: velocity = input * delta * SPEED * 3 - move_and_slide() - position = position.clamp(position_limit_rect.position, position_limit_rect.end) + move_and_slide() + position = position.clamp(position_limit_rect.position, position_limit_rect.end) - if velocity.length() != 0: - animated_sprite.play() - animated_sprite.flip_h = false - if abs(velocity.x) > abs(velocity.y): - animated_sprite.animation = "side" - animated_sprite.flip_h = velocity.x < 0 - elif velocity.y < 0: - animated_sprite.animation = "up" + if velocity.length() != 0: + animated_sprite.play() + animated_sprite.flip_h = false + if abs(velocity.x) > abs(velocity.y): + animated_sprite.animation = "side" + animated_sprite.flip_h = velocity.x < 0 + elif velocity.y < 0: + animated_sprite.animation = "up" + else: + animated_sprite.animation = "down" else: - animated_sprite.animation = "down" - else: - animated_sprite.stop() + animated_sprite.stop()