Commit Graph

366 Commits

Author SHA1 Message Date
Eevee (Evelyn Woods)
a44ed295a2 Fix ball animation 2020-12-08 17:23:27 -07:00
Eevee (Evelyn Woods)
90b583df44 In CC2 (and Lynx, for different reasons), clones are immediately nudged out of the cloner 2020-12-08 17:22:20 -07:00
Eevee (Evelyn Woods)
f521bd6d2d New debug options: disable interpolation, show actor bboxes 2020-12-08 16:40:35 -07:00
Eevee (Evelyn Woods)
4ee56fad01 Briefly reveal invisible walls, as in CC2 2020-12-08 12:48:25 -07:00
Eevee (Evelyn Woods)
9735ef93e9 Fix being unable to click the CC2 action buttons more than once 2020-12-08 11:24:59 -07:00
Eevee (Evelyn Woods)
6d39fd3831 Allow "rotating" a counter tile to alter its value 2020-12-07 22:07:20 -07:00
Eevee (Evelyn Woods)
35f040c8d7 Implement saving of logic gates and directional blocks 2020-12-07 21:15:18 -07:00
Eevee (Evelyn Woods)
2849260672 Add swivels and stopwatches to the palette 2020-12-07 12:50:03 -07:00
Eevee (Evelyn Woods)
f462ae3394 Add some more complex tiles to the palette; add ,/. shortcuts 2020-12-07 12:45:21 -07:00
Eevee (Evelyn Woods)
c4bb1f3df1 Editor: Add a dedicated level browser with previews, and a button to add a new level 2020-12-06 20:57:02 -07:00
Eevee (Evelyn Woods)
e754e483ec Update the pack name when changing it in the editor 2020-12-06 19:23:19 -07:00
Eevee (Evelyn Woods)
aeac5c285b Finally add and wire up most of the debug panel 2020-12-06 18:51:12 -07:00
Eevee (Evelyn Woods)
c1ba299e9f Fix collision for socket and exit 2020-12-06 17:01:47 -07:00
Eevee (Evelyn Woods)
90b6498ff9 Make wires and gray buttons affect swivel doors 2020-12-06 16:57:07 -07:00
Eevee (Evelyn Woods)
30261a106f Mostly implement rover 2020-12-06 16:51:24 -07:00
Eevee (Evelyn Woods)
8428572def Step in reverse order; allow pushing blocks on railroads; gliders ignore turtles 2020-12-06 16:29:07 -07:00
Eevee (Evelyn Woods)
4838bb189b Fix keys accumulating while paused 2020-12-06 16:23:43 -07:00
Eevee (Evelyn Woods)
54381370c0 Add timid teeth; move movement decisions onto tile types; improve doppelganger behavior 2020-12-06 16:16:04 -07:00
Eevee (Evelyn Woods)
d981a0a4be Fix some interactions that differ between players/doppelgangers; add Cerise doppelganger movement 2020-12-06 14:59:54 -07:00
Eevee (Evelyn Woods)
076aa9133a Improve splash page slightly; add pack saving in editor 2020-12-06 14:03:36 -07:00
Eevee (Evelyn Woods)
70df85187f Toggle force floors when powered 2020-12-06 11:13:37 -07:00
Eevee (Evelyn Woods)
f7080a2697 Editor: Fix shift-pencilling a tile with properties 2020-12-03 22:51:07 -07:00
Eevee (Evelyn Woods)
cb62786470 Fix yellow teleport behavior (you pick up even if it itself is not blocked); play pickup sound 2020-12-03 22:43:24 -07:00
Eevee (Evelyn Woods)
caf4906176 Fix a crash when trying to drop from an empty inventory 2020-12-03 22:21:44 -07:00
Eevee (Evelyn Woods)
564d247657 Play the thief sound even if you only lost bonus points 2020-12-03 21:58:45 -07:00
Eevee (Evelyn Woods)
30062485ab Fix hint saving 2020-12-03 21:38:39 -07:00
Eevee (Evelyn Woods)
87ac6f94a3 Editor: More tiles; more metadata; save hints, more or less 2020-12-03 21:19:47 -07:00
Eevee (Evelyn Woods)
700d3898ab Add a half-baked notion of perception level to tile rendering 2020-12-03 21:18:46 -07:00
Eevee (Evelyn Woods)
8505b132bb Fix some minor bugs introduced into turn-based mode 2020-12-03 21:17:50 -07:00
Eevee (Evelyn Woods)
b97aaa81a9 Slime doesn't kill blobs; implement bribe; fix player size on level restart 2020-12-03 20:52:43 -07:00
Eevee (Evelyn Woods)
0cd1ea342d Implement yellow teleport pickup behavior 2020-12-03 20:52:00 -07:00
Eevee (Evelyn Woods)
3c43b8d7cd Respect a level's intended viewport size 2020-12-03 17:49:02 -07:00
Eevee (Evelyn Woods)
0885bfc9d2 Make hook load, canopy work, and force floors reverse with gray button 2020-12-03 17:48:24 -07:00
Eevee (Evelyn Woods)
411005eaa6 Editor: Stub out support for actually saving levels 2020-12-03 15:40:44 -07:00
Eevee (Evelyn Woods)
89ae9aa4a3 Fix C2M compression occasionally losing the last byte 2020-12-03 15:39:11 -07:00
Eevee (Evelyn Woods)
c1452e005f Disable action buttons when appropriate; add inv overflow; partial CC1 support 2020-12-02 17:23:55 -07:00
Eevee (Evelyn Woods)
e51665b612 Add basic support for drop/cycle/swap 2020-12-02 17:18:54 -07:00
Eevee (Evelyn Woods)
8d197ce479 Add a basic implementation of doppelgangers 2020-12-02 15:03:13 -07:00
Eevee (Evelyn Woods)
f0680ce0c4 Cleaned up several tile properties; added railroad adjusting 2020-12-02 13:54:32 -07:00
Eevee (Evelyn Woods)
72cba627a8 Add a prototype railroad track tool 2020-12-02 12:23:09 -07:00
Eevee (Evelyn Woods)
aa41336b90 Add more tiles and more kinds of adjustment 2020-12-02 11:54:15 -07:00
Eevee (Evelyn Woods)
ec5d9f7b12 Editor: Add selected tile, tool help, and hint editing; clean up toolbar style 2020-12-02 11:34:46 -07:00
Eevee (Evelyn Woods)
0d376e003e Editor: Teach the adjust tool to edit individual tiles 2020-12-02 09:05:20 -07:00
Eevee (Evelyn Woods)
560a89cfd3 Fix using the wrong tile for the railroad switch 2020-11-30 09:09:21 -07:00
Eevee (Evelyn Woods)
e7c9bbe846 Implement most of the railroad behavior 2020-11-30 09:08:55 -07:00
Eevee (Evelyn Woods)
8d26de6915 Implement railroad rendering 2020-11-28 12:56:08 -07:00
Eevee (Evelyn Woods)
14061dec0e Fix the editor's viewport size to match the level 2020-11-28 12:36:35 -07:00
Eevee (Evelyn Woods)
4218657c28 Use consistent drawing behavior in the editor; add shift, ctrl pencil modifiers 2020-11-28 11:59:57 -07:00
Eevee (Evelyn Woods)
dff3081194 Editor: center/pad the level, fix some bugs with pencil drawing 2020-11-28 11:07:02 -07:00
Eevee (Evelyn Woods)
349af15e05 Fix being stuck in rewind mode forever when using the button 2020-11-25 03:59:57 -07:00
Eevee (Evelyn Woods)
50c81c5c96 Add directed blob + walker sprites and a custom slime splash (btw slime now destroys stuff) 2020-11-25 03:37:58 -07:00
Eevee (Evelyn Woods)
3a454d77f5 Implement the remaining logic gates and /most/ of their rendering! 2020-11-25 03:14:06 -07:00
Eevee (Evelyn Woods)
ac6e33bb6c Simplify blitting; fix arrow blitting; impl light switch; load more items 2020-11-25 01:14:15 -07:00
Eevee (Evelyn Woods)
6c6ce8f344 Fix fireballs being blocked by fire 2020-11-24 23:13:25 -07:00
Eevee (Evelyn Woods)
4b6a8e49ae Fix errors when drawing outside the level in the editor 2020-11-24 01:31:09 -07:00
Eevee (Evelyn Woods)
5cb29c8f7d Overhaul collision
Collision now uses bits and masks.  The main upshot is that ghost and
ice/directional blocks collide much more correctly, now.  And turtles
block fireballs.

Also, monsters can now move over "no" signs, and can trample the player
if she's standing on top of an item.

While I was at it, I finished implementing the "bestowal bow", an item
mod (same layer as the "no" sign) that allows any actor to pick up the
item in that tile.
2020-11-23 23:41:32 -07:00
Eevee (Evelyn Woods)
fb301b3b3e Initialize direction when placing actor tiles in the editor 2020-11-23 22:18:40 -07:00
Eevee (Evelyn Woods)
ca4eaa86cb Fix some minor aesthetic issues with the editor 2020-11-23 21:54:53 -07:00
Eevee (Evelyn Woods)
39d463932b Remove the "stuck" flag and fix all the repercussions of that 2020-11-23 21:35:28 -07:00
Eevee (Evelyn Woods)
e803af2fd2 Handle actors starting on force floors; partially implement item bestowal 2020-11-23 19:22:59 -07:00
Eevee (Evelyn Woods)
37072fa003 Add three new music tracks from notchris 2020-11-03 14:07:25 -07:00
Eevee (Evelyn Woods)
81c7f97d72 Improve behavior on mobile
- Hide the key hints in portrait mode

- Make auto-scaling more robust; it now handles when the player root is
  wider than the actual play area, it better understands the inventory
  behavior in portrait mode, and it recognizes when it needs to shrink;
  with these changes, the game actually fills the screen on both Firefox
  and Chrome on my phone!

- Replace the text buttons with SVG icons

- Add a little more contrast to button edges

- Fix alignment of the heart/time/score counters in portrait mode

- Detect movement based on where the touch is relative to the level
  viewport, not the entire play area (oof)
2020-11-03 13:50:34 -07:00
Eevee (Evelyn Woods)
1b6bd68879 Bump undo buffer size to 30 seconds 2020-11-03 12:09:12 -07:00
Eevee (Evelyn Woods)
8ff0bd803a Use a ring buffer for undo; don't pause when running out of undo during rewind 2020-11-03 11:57:16 -07:00
Eevee (Evelyn Woods)
350ac08d4d Shrink size of undo buffer by 40%
Using simple maps of changed properties, rather than a big pile of
closures, takes up significantly less space.
2020-11-03 11:48:51 -07:00
Eevee (Evelyn Woods)
84840d2b02 Consider turn-based mode to be aid; switch back to realtime correctly 2020-11-03 10:32:25 -07:00
Eevee (Evelyn Woods)
e7e02281a2 Clean up turn-based code
Mostly style nits, but also:

- Renamed some stuff in anticipation of removing GameEnded.

- Actor decisions are independent, so there's no need to do most of them
  in the first part of a tic and the player in the second part; they can
  all happen together in the second part.

- waiting_for_input was merged into turn_based, which I think makes it
  easier to follow what's going on between tics.  Although I just
  realized it introduces a bug, so, better fix that next.

- The canvas didn't need to know if we were waiting or not if we just
  force the tic offset to 1 while waiting.  This also fixed some slight
  jitter with force floors.
2020-11-03 09:50:37 -07:00
Eevee (Evelyn Woods)
83a1dd23ff Merge branch 'master' of github.com:eevee/lexys-labyrinth 2020-11-02 15:40:09 -07:00
Eevee (Evelyn Woods)
49ff0d9723 Clean up wiring drawing and logic (zero gates is now a no-op!); begin implementing logic gates 2020-11-01 11:36:17 -07:00
Eevee (Evelyn Woods)
060dfdc7d7 Implement drawing and correctly pushing directional blocks 2020-10-28 00:17:41 -06:00
Timothy Stiles
f670224460 forgot to change a continue to a return 2020-10-26 16:08:29 +11:00
Timothy Stiles
32b4399683 Merge remote-tracking branch 'upstream/master' 2020-10-26 16:05:34 +11:00
Eevee (Evelyn Woods)
dedaa45d07 Fix pushing sliding blocks 2020-10-24 22:30:18 -06:00
Eevee (Evelyn Woods)
368e4676fd Mostly implement orange buttons and flame jets 2020-10-24 21:33:11 -06:00
Timothy Stiles
509b3ca3b7 Merge remote-tracking branch 'upstream/master' 2020-10-25 14:31:32 +11:00
Eevee (Evelyn Woods)
0c9a7e3d07 Implement all three blob modes and fix up some minor details
This makes the replays from the Steam copies of Blobnet and Nice Day
play back correctly!  Neato!
2020-10-24 20:49:14 -06:00
Eevee (Evelyn Woods)
a07e10218e Monsters always attempt their last candidate direction, even if blocked 2020-10-24 20:32:22 -06:00
Eevee (Evelyn Woods)
f1b040f176 Implement green teleports and the Lynx/CC2 PRNG 2020-10-23 21:09:31 -06:00
Eevee (Evelyn Woods)
603a74a751 Show a hint the player starts on 2020-10-23 17:44:26 -06:00
Eevee (Evelyn Woods)
2820c067c5 Implement the CC2 "no sign" 2020-10-23 17:37:50 -06:00
Timothy Stiles
a0e37422b9 Merge remote-tracking branch 'upstream/master' 2020-10-23 20:26:39 +11:00
Eevee (Evelyn Woods)
8c2f71294f Fix crash caused by last fix dammit (fixes #9) 2020-10-22 14:44:05 -06:00
Timothy Stiles
fedbd200fc Merge remote-tracking branch 'upstream/master' 2020-10-22 18:04:43 +11:00
Eevee (Evelyn Woods)
d03d61516f Fix NaNs sneaking into the save file 2020-10-21 23:34:59 -06:00
Eevee (Evelyn Woods)
09eb03dad6 Iterate actors in reverse order to match Lynx/CC2 (fixes #7) 2020-10-21 21:24:59 -06:00
Eevee (Evelyn Woods)
8073604271 Add... error handling... sort of... for levels at least 2020-10-21 21:07:50 -06:00
Eevee (Evelyn Woods)
edbe32c148 Add support for drag/drop, dir upload, C2G, AND lazy level loading! 2020-10-21 20:47:07 -06:00
Timothy Stiles
9e53aa75a0 I tried 'snappier' and it was a bad idea, so now you don't have to
it basically skips the first frame of each turn-based movement. it's not TERRIBLE but the smooth movement is already really nice, we don't need to change it
2020-10-14 23:13:38 +11:00
Timothy Stiles
4388402850 Merge remote-tracking branch 'upstream/master' 2020-10-14 22:43:35 +11:00
Timothy Stiles
e3de4d59c7 spaceify 2020-10-14 22:34:00 +11:00
Timothy Stiles
f7e83342a0 fix a turn based rewinding visual bug 2020-10-14 22:33:45 +11:00
Timothy Stiles
be5cc7f97f spaceify 2020-10-14 22:23:13 +11:00
Timothy Stiles
e9d542f438 fix a bug when undoing while waiting for input
need to unset it (we used to do this but it got lost in the refactor)
2020-10-14 22:22:27 +11:00
Timothy Stiles
a7c38ae0af fix 'keys held for less than a frame are ignored' bug
this was annoying me!
2020-10-14 22:17:07 +11:00
Timothy Stiles
bb168d7e1e fix force arrows in turn based mode
if you got misaligned in tic_counter then you'd force arrow forever.
also, turn_based is no longer passed in! yay!
2020-10-14 22:07:29 +11:00
Timothy Stiles
e53f00a432 I broke force arrows, in fact!
so much for tooting my own horn
2020-10-14 21:54:13 +11:00
Timothy Stiles
a8ce3bca11 fix bugs
we're back at parity now, it looks like
2020-10-14 21:42:51 +11:00
Timothy Stiles
2e1a87199a code refactor part 1: advance_tic is now two parts
seems to work so far
2020-10-14 21:24:46 +11:00
Eevee (Evelyn Woods)
36b9f2efd7 Make (most) actors pick up blue keys 2020-10-07 15:28:51 -06:00
Eevee (Evelyn Woods)
197113c842 Add two new tracks from jneen 2020-10-07 15:16:20 -06:00