Commit graph

70 commits

Author SHA1 Message Date
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
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
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
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
c7ea93f972 [oden] Memoize textures by path 2023-08-19 21:16:11 -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
205ed27b48 [oden] Cleanup texture a little 2023-08-19 09:27:10 -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
9d04541875 [oden] I can make this actually MATCH 2023-07-07 07:34:09 -07:00
e0878b4ea6 [oden] Input 2023-07-07 07:28:46 -07:00
c934914ac5 [game] Walk controls (unbound) 2023-07-07 06:21:01 -07:00
358a07dc43 [oden] Coordinate system goes the right way 2023-07-03 08:00:57 -07:00
0c9a60c8e4 [game] More bot sprite, transparency 2023-07-02 17:47:00 -07:00
734a1279a6 [oden] Tracing and also actual 60fps
Sleeping is completely and utterly unreliable.
2023-07-01 07:15:55 -07:00
b149b28f31 [oden] Main thread wait 2023-06-30 16:55:45 -07:00
b1b97cee75 [oden] Move graphics thread off main thread
So we can do frame pacing a little bit better maybe.
2023-06-30 16:54:16 -07:00
26bfcc7a94 [oden] Time, path searching, game directory 2023-06-30 16:24:54 -07:00
96e95e22ce [oden] Remove native assets module
What's the point?
2023-06-30 06:31:01 -07:00
f3f9988314 [oden] Assets becomes async load in terms of IO/GFX 2023-06-30 06:29:21 -07:00
d2dfa7c401 [oden] Graphics module can create textures directly 2023-06-30 06:28:57 -07:00
4959adc7e6 [oden] Native IO module 2023-06-30 06:28:04 -07:00
a2dafeea12 Promises, promises 2023-06-29 10:10:40 -07:00
17fdee51e6 Name it sprite shader 2023-06-28 15:55:34 -07:00
5be0ffa08f Starting to mess with promises
Going to want async IO, I think. And it's a fun detail that I guess
I'm in charge of deciding when to run promise completion functions. :D
2023-06-28 15:54:13 -07:00
c1d86676c3 Note to self 2023-06-27 19:26:11 -07:00
17805fa4a6 [oden] Garbage assets, need to rewrite to IO 2023-06-27 17:16:37 -07:00
75fcc427ac [oden] Docs and stuff 2023-06-25 08:29:27 -07:00
f232f095f5 [oden] Texture Coordinates are pixels too 2023-06-25 08:04:37 -07:00
17e40c2a36 [oden] Texture coordinates go the right way 2023-06-25 07:56:08 -07:00
0a36ffdde1 [oden] Input coordinates are pixel coordinates 2023-06-25 07:54:25 -07:00
e3ae371f53 [oden] Main is ts now dummy 2023-06-25 07:53:44 -07:00
1aa3663ca4 [oden] Derive debug 2023-06-24 23:03:02 -07:00