Commit graph

61 commits

Author SHA1 Message Date
Your Name
d426306c94 Clear runtime saves after editor save 2026-08-11 16:37:11 -04:00
Your Name
858775fdc8 Improve world editor palette workflow 2026-08-11 16:24:51 -04:00
Your Name
4cb536d6c8 feat: add tetromino loop level 2026-08-11 15:07:46 -04:00
Your Name
f549eaf523 Add directional sticky and skewer box variants 2026-08-11 15:07:11 -04:00
Your Name
c3f5aafd77 Add drag painting to level editor 2026-08-11 14:11:57 -04:00
Your Name
fa0bada313 Add color blind accessibility filter 2026-08-11 14:08:36 -04:00
Your Name
b42569eb9c Prevent unavailable color switching crash 2026-08-11 13:43:23 -04:00
Your Name
e51dc22ca1 fix level editor truncation 2026-08-11 12:45:31 -04:00
Your Name
d96f57efb6 Add multi-cell box shapes with per-cell collision
Generate 1x2/2x1 dominoes, 2x2 (square + 4 L-trominoes) and all
connected 3x2/2x3 polyominoes as R/G/B channel masks, reusing the
distance-based concentric-ring format that reproduces box_r/g/b
exactly. Outer silhouette keeps a 1px margin; connected cells stay
seamless. Each shape ships a {class="moveable"} .meta so getAllAssets
auto-registers it as a GenericMoveable.

Wire the occupied-cell shape (precomputed once by getAllAssets via
getCellsFromSprite) through to entities: createEntity now passes the
cached cells as cellShape, so an L/U/notched block collides on its real
cells and its gaps read as empty space. Fix the per-colour cache that
was reset every channel so only one colour survived.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-08-11 12:42:33 -04:00
Your Name
5b7ea9ec20 Rebuild level editor sidebar with a fixed virtual-space layout
Replace the fraction-of-window positioning (which overlapped and didn't
scale) with a small layout system: the sidebar is authored in one fixed
virtual coordinate space and rendered at native panel resolution, so
element sizes stay constant relative to the panel at any window size and
fonts scale with it.

- level_editor/layout.lua: sections, scrolling list (with clip + hit-test
  by point), scrollbar. Clip rects are scaled to real canvas pixels.
- Room view split into non-overlapping divs: search/back header, a
  scrollable asset list (replaces the old row-paging + forward buttons),
  a status strip, and a compact bottom control cluster.
- Mouse wheel scrolls the list; clicks map from window coords into the
  virtual space via the same transform used to render.
- Sidebar canvas is panel-sized and blitted 1:1 (nearest filter, never
  averaged) to stay crisp; editorDraw runs under a scale transform.
- Center text-only fields (level name) in their rect.

Also carried in main.lua (share the file, can't split cleanly here):
narrator require path fixed via love.filesystem.setRequirePath; sfxr
static uses waveform=NOISE again after the field rename; low-pass +
lower volume on the static loop.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-08-11 12:24:54 -04:00
Your Name
03532d29e4 Vendor libs/hump, sfxrlua, json4lua, narrator as real files
These were committed as empty submodule gitlinks with no .gitmodules,
so the folders were never populated and the game could not load
(require of libs/hump/timer, libs/sfxrlua/sfxr, narrator.narrator).
Checked out each at its pinned commit and vendored the files, matching
the existing bundled-libs convention. Removed the junk libs/libs/ tree.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-08-11 11:37:09 -04:00
Your Name
e73f63b5d4 add dialogue consequences design notes
next-steps plan for cross-conversation dialogue state: WorldState as the
serialized source of truth, Ink books as disposable views.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-08-08 12:01:50 -04:00
Your Name
5413823b26 add dialog 2026-08-08 00:09:50 -04:00
Your Name
c92c0f6ff7 fix state thigns and port to love11 2026-08-07 20:56:55 -04:00
Your Name
ff5abf6bcd trim the main boxes to not overlap the X wall edges, moer distinct 2026-08-07 18:20:01 -04:00
Your Name
2e0013ec17 fix switch scaling i guess? 2026-08-07 18:01:36 -04:00
Your Name
1850737cf6 sav fixes 2026-08-07 17:49:13 -04:00
Your Name
12c37b5fa9 better shake 2026-08-07 10:27:56 -04:00
Your Name
0f79fe99ae editor search 2026-08-07 09:08:34 -04:00
Your Name
b9b0726506 misc 2026-08-07 03:22:28 -04:00
Your Name
f8e3d78332 move repeatedly in direction 2026-08-07 02:01:39 -04:00
Your Name
e065ab83de we're back baby 2026-08-07 01:57:48 -04:00
Your Name
febaaaacc7 idk even anymore 2026-08-07 01:39:47 -04:00
Your Name
7fa9171ba1 kill dead code 2026-08-07 01:05:08 -04:00
Your Name
a8b469876d level editor improvements 2026-08-07 01:01:49 -04:00
Your Name
886679816b fix renderer 2026-08-07 00:40:45 -04:00
Your Name
3ceb07f4d1 various fixes 2026-08-07 00:31:45 -04:00
Your Name
a9af97925e fixed 2026-08-06 23:54:49 -04:00
0x81c
7c7f76b188 now analyzes sprite on load for occupied cells and serializs eetc hehe 2026-08-06 23:15:48 -04:00
0x81c
d690863b6f so we have a lot of it wor_ing properly, now we have to do the thing where it preloads necessary spritesgit add -A 2026-08-06 23:15:48 -04:00
0x81c
b071e117fa so we fixed up some bugs and restructured the level editor. master fiel. 2026-08-06 23:15:48 -04:00
0x81c
01d272981e id_ 2026-08-06 23:15:48 -04:00
Your Name
b19f58726c Add CLAUDE.md project guidance
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-08-06 23:15:45 -04:00
0x81c
ec68721e7a ma_ing room for level editorgit add -A 2015-03-17 02:15:28 -04:00
0x81c
973a8ab25b basic serialization worx*
*
2015-03-17 01:59:14 -04:00
0x81c
d76ace8f69 level serializes now 2015-03-16 10:17:06 -04:00
0x81c
7fa31726f4 requires tserial module, minor set up for serizlation 2015-03-16 09:06:51 -04:00
0x81c
cd2e0d862a fixed overlap chec 2015-03-16 08:47:08 -04:00
0x81c
df7dd1b1f3 tidied up bump chec 2015-03-16 07:43:02 -04:00
0x81c
1c1ec291a7 bump chec~~ 2015-03-16 07:39:54 -04:00
0x81c
0009355d04 bump chec~~ 2015-03-16 07:39:20 -04:00
0x81c
214758388e automatically gets bouif pull = true then 2015-03-15 18:45:24 -04:00
0x81c
747a7b7b58 wowgit add -A! 2015-03-15 16:25:00 -04:00
0x81c
1156564fa2 player done, old way 2015-03-15 15:34:17 -04:00
0x81c
687939b269 mostly art stuffgit add -A 2015-03-15 13:54:47 -04:00
0x81c
ffa35aec89 player ca
Player.static.sounds = {
switchFail = love.audio.newSource(sounds/switch_fail.wav),
switchSuccess = love.audio.newSource(sounds/switch_success.wav)

}
2015-03-15 08:00:59 -04:00
0x81c
85dd66b1e4 doors worxlove . 2015-03-15 07:08:35 -04:00
0x81c
7fcbd9e5da switches and chex and so forthgit add -A wow 2015-03-15 05:44:30 -04:00
0x81c
b553d3f664 some changes, idr, hehe sorry 2015-03-15 05:26:47 -04:00
0x81c
c668dc513b WOWOWOWOWOWOWO WI DID IT WOWOWWWWWW WOW 2015-03-15 04:52:18 -04:00