160 Commits

Author SHA1 Message Date
1986228670 Refactor spell casts to use task utilities and simplify callbacks
Add task.chain utility for chaining asynchronous tasks
2026-02-01 03:56:18 +03:00
403ba5a03f Add Task.wait to combine multiple tasks into one
Add TestRunner for running asynchronous tests with update support

Add test for Task.wait to verify concurrent task completion

Add set method to Counter for explicit value assignment
2026-01-31 02:11:55 +03:00
e02c221e31 make all 3 demo spells work with tasks 2026-01-30 00:55:08 +03:00
59cc0fba0b rewrite sprite:animate, residentsleeper:sleep, attack:cast to use
callback trees
2026-01-30 00:32:05 +03:00
86a599723e TLDR: higher-order functions my beloved
Add counter utility and chain async animations in spell cast

Introduce a Counter module to coordinate multiple asynchronous
animation callbacks and update spellbook cast to run chained
animations sequentially. Also lock selector during AI turns.
2026-01-29 02:32:58 +03:00
93a4961419 high-order functions my beloved 2026-01-25 07:05:45 +03:00
3f694ccec9 attempt to save our souls (callback hell my beloved)
Co-authored-by: Ivan Yuriev <ivanyr44@gmail.com>
2026-01-24 01:46:05 +03:00
d48f1af1af micro refactoring 2026-01-23 15:57:10 +03:00
9489cd0488 we can move under another (closest!!!!!!!!!) character
cool!!!!
2026-01-23 15:56:36 +03:00
8ad68f914d make walk:cast stateless 2026-01-19 13:03:47 +03:00
a4e2a2f257 Improve audio effects handling and update spell sound filter type 2026-01-19 00:45:04 +03:00
fc5a39b1d2 refactor audio.crossfade 2026-01-19 00:21:21 +03:00
9ad6c8bdfa Merge branch 'feature/audioengine' 2026-01-18 17:56:06 +03:00
99b176342f fix effects in audio:play 2026-01-18 14:03:03 +03:00
dee4ed9719 added effects to audio:play 2026-01-18 14:01:20 +03:00
70ec74ebe3 added filters to audio:play 2026-01-18 13:53:59 +03:00
ae03ee3adb add looping to music 2026-01-18 13:32:45 +03:00
2c8b65e1ae im undone, CROSSFADE DONE 2026-01-18 01:24:24 +03:00
26633db3c3 implement LightBehavior:animateColor
(to show that animations do work, actually)
2026-01-18 01:03:35 +03:00
ab37f6816d add demo dynamic light on dev_mana cast 2026-01-17 18:26:13 +03:00
e088fddf48 implement character:die() 2026-01-17 17:43:29 +03:00
f900e89a82 I HAVE AN ANIMATIONNODE
I HAVE AN UPDATE
OHHHHHHHHHHHHHHHHHH
animationNode:update(dt)

I HAVE A TREE
I HAVE AND AUDIO
OHHHHHHHHHHHHHHHHHHHHH
Tree.audio

I HAVE AN animationNode:update(dt)
I HAVE A Tree.audio
OHHHHHHHHHGKHGKGHKGgghkgh
Tree.audio.animationNode:update(dt)

TUTUDUDUTUTUDUDUTUTUDUDUTUTUDUDUTUTUDUDUTUTUDUDUTUTUDUDUTUTUDUDUTUTUDUDUTUTUDUDUTUTUDUDUTUTUDUDUTUTUDUDUTUTUDUDUTUTUDUDUTUTUDUDUTUTUDUDUTUTUDUDUTUTUDUDUTUTUDUDUTUTUDUDUTUTUDUDUTUTUDUDUTUTUDUDUTUTUDUDUTUTUDUDUTUTUDUDUTUTUDUDUTUTUDUDUTUTUDUDUTUTUDUDUTUTUDUDUTUTUDUDU
2026-01-17 17:24:04 +03:00
7ff7e47a90 add PositionedBehavior 2026-01-17 14:49:08 +03:00
4ee7b62ae4 trying to update to main branch, and SWEAR TO GOD THIS SOMETHING BREAK 2026-01-17 10:57:38 +03:00
ac03a014f6 suck my ass stupid animations, im done 2026-01-17 10:49:53 +03:00
d36b67855a stream type microfix 2026-01-16 16:09:49 +03:00
4883cc0e0c rewrite all COMPLETELY because im suck at this shit fr 🥀🥀🥀 2026-01-16 14:28:56 +03:00
4aa470f443 allow window resizing TODO: get rid of fullscreen rendering 2026-01-14 21:35:23 +03:00
e6754048f6 add weather to level 2026-01-14 21:00:17 +03:00
82fdd0d609 light source test 2026-01-08 12:45:59 +03:00
cd5c844c52 Fix variable naming from r to phi in shadow calculation function 2026-01-04 02:23:52 +03:00
03070cfff7 move shadows-related logic into its own behavior 2026-01-04 02:18:02 +03:00
767ddc459c shadows v1.5 2025-12-29 02:16:09 +03:00
198c322ec4 performance update 2025-12-28 05:21:07 +03:00
24cda32e81 temporary enshittification of the rendering 2025-12-28 05:16:01 +03:00
0c1332afb3 add simple cone shadows (blurred) 2025-12-27 04:37:32 +03:00
b259aa3839 introduce basic offscreen render stack 2025-12-27 03:35:56 +03:00
284f2ac204 Increase camera pixelsPerMeter from 24 to 32 2025-12-22 03:53:41 +03:00
47dea647a0 make hp bar text more clear 2025-12-15 03:23:34 +03:00
4161044dcc make actual use of fonts 2025-12-14 23:24:17 +03:00
5c1a0b0c19 Refactor FontManager theme loading and add default theme getter 2025-12-14 23:23:52 +03:00
29e001e20f implement FontManager 2025-12-14 23:04:52 +03:00
00f3db4ff9 allow loading arbitrary files as FileData 2025-12-14 23:04:41 +03:00
9ce9b85dfa update outer border and end turn button visuals 2025-12-13 02:18:22 +03:00
e952d22d7f Add optional width parameter to drawBorder method 2025-12-13 01:22:05 +03:00
586ea68d2b minimal end turn button implementation 2025-12-12 05:20:11 +03:00
2012035eb6 refactor level layout 2025-12-12 02:36:51 +03:00
615738d06a allow window resizing again 2025-12-08 03:53:43 +03:00
3d0d52438f add a shader for a cool pixel reveal effect 2025-12-07 20:27:48 +03:00
bc730ef48c implement hp and mana bars 2025-12-07 20:08:07 +03:00