1cb30034f8
[oden] Move scaling entirely into JavaScript
...
Now the game controls its own resolution. We might want to further
copy Love2D and generate resize events, I don't know.
2023-09-02 09:58:58 -07:00
994be3e493
[oden] Re-work the way that scaling works
...
This is part of making the text scale properly, you'll see.
2023-09-02 08:34:42 -07:00
21cd767140
[oden] Notes on multisampling
...
I tried to enable it and was unable to.
2023-09-01 11:28:02 -07:00
22732c2b05
[oden] Catch and render script errors, stop crashing
...
This is kinda nice actually
2023-08-31 21:14:27 -07:00
a08bc07cbb
[oden] Color and position for text
2023-08-31 20:39:07 -07:00
079006acdc
[oden] I gotta re-think scale and whatnot.
2023-08-31 18:19:59 -07:00
ecce7b64eb
[oden] Text is mildly functional
2023-08-31 17:18:37 -07:00
8914b1795f
[oden] It doesn't crash but it doesn't work either
2023-08-31 14:46:04 -07:00
71aa3c39f7
[oden] Let's get started on text
...
This has already been a journey and it will keep being a journey I think.
2023-08-31 08:22:59 -07:00
44130cf22a
[oden] Stop doing passes per draw mode that's silly
2023-08-29 17:31:12 -07:00
796c6cc2a4
[game] Debug lines and whatnot for actor collision
...
I'm just leaving it on for now, I need to get text rendering working
for reals.
2023-08-27 09:29:30 -07:00
df49143885
[oden] Some perhaps unadvised factoring
...
Traits for fun and profit. I was nervous about the amount of magic
"you have to get this right" coupling between runtime structures (the
draw mode) and types (the various instance types) and I didn't want to
get them wrong. So now some things are more generic than they were
before, and maybe that's good? Who can say in the end.
2023-08-27 09:28:14 -07:00
40992f840f
[game] Render tiles from all layers, support multiple IntGrid layers
2023-08-27 08:27:20 -07:00
ab91fcfc53
[oden] Finish colors and cleanup
2023-08-26 11:19:38 -07:00
2322493efd
[oden] Correct circle layout to fix colors
2023-08-26 11:12:43 -07:00
106db89e9b
[oden] Colors
...
But they don't work
2023-08-26 08:58:00 -07:00
db0f22b1db
[game] Starting to work on IntGrid and other layers
2023-08-25 19:23:27 -07:00
020bb8f124
[oden] Circles work
2023-08-25 15:32:35 -07:00
26a3939012
[oden] Massive refactor on state machine for circles
2023-08-25 15:10:55 -07:00
0296db3106
[oden] Initial ground work for circles
2023-08-25 14:07:18 -07:00
6712a7fccb
[oden] Textures are optional with no bind group
2023-08-24 22:46:35 -07:00
3f8e50cfc9
[oden] Sprites are rendered with instances
2023-08-24 22:43:23 -07:00
20f6c8e878
[game] I don't know if this is any better honestly.
2023-08-24 20:28:05 -07:00
756a3634c0
[game] Tweaks
2023-08-23 20:10:22 -07:00
38f5f95827
[game] Collision detection
2023-08-23 19:55:34 -07:00
2388acaa94
[game] Use bounds from animation for gfx, position is at anchor
2023-08-20 17:38:21 -07:00
3af0bb4002
[game] Big actor refactor, spawn actors from world
2023-08-20 08:25:51 -07:00
4042cd28a4
[game] Save and restore actors
2023-08-19 22:47:13 -07:00
efd6884d0b
[game] Factor into actor
2023-08-19 21:16:27 -07:00
c7ea93f972
[oden] Memoize textures by path
2023-08-19 21:16:11 -07:00
043a3ee183
[game] Do some amount of snapshot save and restore
...
This is super jankety and I feel the need for organization but FOR NOW
let's hack away.
2023-08-19 18:40:39 -07:00
e32643486d
[oden] Tolerate bad scripts on hot reload
...
When the script changes from under us it might be bugged for some
reason; just let that be for now, ignore the load, and hopefully the
engineer will fix it, eventually.
2023-08-19 18:39:42 -07:00
d79b891b7b
[oden] Tolerate parse errors better
2023-08-19 18:39:16 -07:00
a850c3cc58
[oden] Hot-reload script files
2023-08-19 16:54:50 -07:00
642ced45f8
[oden] Allow a "functional style" init/update/draw
2023-08-19 10:45:48 -07:00
7fc786e2e7
[oden] Pixel-perfect sprite sampling
2023-08-19 09:38:16 -07:00
262cfd73ac
[oden] wgpu to 0.17
2023-08-19 09:27:26 -07:00
205ed27b48
[oden] Cleanup texture a little
2023-08-19 09:27:10 -07:00
e3f345052c
[oden] Specify build flags for windows-gnu
2023-08-19 07:56:24 -07:00
6200ed31b6
[oden-js] Fix cross-platform conversions
...
Lots of places were assuming that bool and c int were interchangeable,
but of course on windows a c int is 32 bits and that confused
everybody. Tighten up the definitions in static-functions, which
causes us to fix boolean conversion. Also add tests for boolean
conversion, and also add better debug formatting of JS values.
2023-08-19 07:38:15 -07:00
0cb5944d0a
[oden] Extract DrawCall::call
2023-08-07 10:10:06 -07:00
f9648d88cd
[oden][game] Draw the world
...
This involved basically a giant rewrite of the renderer because I now
need to share the vertex buffer across textures and it is *a lot* let
me tell you.
There's like a vertical seam which I don't understand yet.
2023-08-07 10:05:24 -07:00
22327a71b3
[oden-js] Track rejected promises, panic on unhandled rejections
2023-07-25 06:39:01 -07:00
17c701a7d6
[oden] IO: Load Strings
...
It's useful. The stock JS way is bad.
2023-07-08 17:55:37 -07:00
89045ccbcc
[oden] Writable Textures and re-work TS API
...
Now we return Texture objects to make things a little bit more
type-safe, at the cost of a small allocation (I hope!)
2023-07-08 17:54:48 -07:00
12cc715873
[oden] now I can close the window again
2023-07-08 07:08:06 -07:00
29b1a854c5
[game] Actual walk cycle
2023-07-07 21:03:14 -07:00
951a2ce635
[game] Animation, looks bad
2023-07-07 08:28:12 -07:00
d5684b7da9
[game] Some notes on dimensions
2023-07-07 07:53:42 -07:00
9d04541875
[oden] I can make this actually MATCH
2023-07-07 07:34:09 -07:00