Commit Graph

883 Commits

Author SHA1 Message Date
Eevee (Evelyn Woods)
e9650db4d8 Hardcode green toggles a bit less, and shrink the undo size 2024-04-17 19:46:29 -06:00
Eevee (Evelyn Woods)
5aeeb8a974 Touch up some tile tooltips; rearrange experimental tiles 2024-04-17 03:52:39 -06:00
Eevee (Evelyn Woods)
e11a5956bd Make hearts and mines transmogrify into each other 2024-04-17 03:51:47 -06:00
Eevee (Evelyn Woods)
618f292ec9 Add an xray view and a "matching button" sprite for the sokoban blocks 2024-04-17 03:51:11 -06:00
Eevee (Evelyn Woods)
849010fc75 Add some saturation to the palette
Opinions are mixed, but not mine.  I like this.
2024-04-17 03:50:19 -06:00
Eevee (Evelyn Woods)
2439048f59 Fix transforming selection + add more transforms 2024-04-17 02:24:06 -06:00
Eevee (Evelyn Woods)
ed5f76221b Add support for subtracting from the selection 2024-04-17 01:22:45 -06:00
Eevee (Evelyn Woods)
eaa3bf6965 Spruce up the editor toolbar
Ditch the textured backgrounds (hard to read), add some icons for the
controls, and recolor the icons themselves to the new tentative palette.
2024-04-17 01:09:55 -06:00
Eevee (Evelyn Woods)
ba11e48c7d Highlight the most interesting button in a dialog 2024-04-16 23:58:47 -06:00
Eevee (Evelyn Woods)
7e0c1b0337 Improve the editor's selection tool (slightly WIP)
It now supports arbitrary regions!  The tool itself still makes
rectangles, but you can shift-drag to add to the selection.

It also distinguishes visually between a floating selection and not, is
more easily visible against certain tile backgrounds and at small zoom
levels, and, I don't know, probably some other stuff.
2024-04-16 23:55:35 -06:00
Eevee (Evelyn Woods)
e1e99e73e7 Fix circuit blocks; distinguish floor wiring from black button wiring 2024-04-16 21:09:46 -06:00
Eevee (Evelyn Woods)
3802b10956 Visually indicate when a floor is in an odd wiring state
This distinguished a regular crossed floor from what you get when
blowing up e.g. a blue or red teleporter.

Fixes #60.
2024-04-16 20:48:50 -06:00
Eevee (Evelyn Woods)
bef5550a95 Make mouse operations always exist, not only while clicking
This allows for multi-eyedrop (where right-clicking the same cell cycles
through everything in that cell) to finally work.

Also fixes #72, I think.
2024-04-16 05:23:56 -06:00
Eevee (Evelyn Woods)
933d20d559 Factor out the list of pushable tiles 2024-04-13 22:06:00 -06:00
Eevee (Evelyn Woods)
cddc274701 Don't let key repeat interfere with the restart timer 2024-04-12 19:03:24 -06:00
Eevee (Evelyn Woods)
fe4c111fa9 Thread the bulk tester
Four threads makes it twice as fast.  Go figure.
2024-04-12 18:29:49 -06:00
Eevee (Evelyn Woods)
a06f53af29 Emit wire pulses in reverse reading order
Fixes the replay for CC2LP1 #67 Before My Very Eyes.
2024-04-12 04:00:37 -06:00
Eevee (Evelyn Woods)
52bc2bdf8e Show the entire blast radius of dynamite 2024-04-12 01:08:16 -06:00
Eevee (Evelyn Woods)
01dd4eb1a8 Show best score on the level overlay; touch up scorecard and mobile CSS a bit 2024-04-11 23:49:18 -06:00
Eevee (Evelyn Woods)
a3b283b51e Allow holding R (for one second) to restart the level 2024-04-11 23:41:48 -06:00
Eevee (Evelyn Woods)
1df89884ed Implement MS-style instant movement for some reason 2024-04-11 03:50:58 -06:00
Eevee (Evelyn Woods)
ebe848ec99 Fix trap timing on Lynx
CC2's goofy `on_stand` on arrival behavior made them extra extra fast,
which is too fast.
2024-04-11 02:24:34 -06:00
Eevee (Evelyn Woods)
9bf418258f Convert several uses of on_begin to on_ready 2024-04-11 02:24:34 -06:00
Eevee (Evelyn Woods)
65664bba7b Simplify dynamite spawn code 2024-04-11 02:24:34 -06:00
Eevee (Evelyn Woods)
d7e1b969e8 Fix this errant comma and shame myself 2024-04-11 02:24:34 -06:00
Eevee (Evelyn Woods)
fd590f8353 Slightly reduce memory usage (?) for undoing transmutation 2024-04-11 02:24:34 -06:00
Eevee (Evelyn Woods)
f417162f6f Refactor bombs to use on_stand instead of on_begin 2024-04-11 02:24:34 -06:00
Eevee (Evelyn Woods)
25cb6f2f05 Outdent the messy push-handling block in can_actor_enter_cell 2024-04-11 02:24:34 -06:00
Eevee (Evelyn Woods)
f422b4b395 Add a compat flag for pushing a sliding block
The default is now what I /think/ is the Lynx behavior: try to push the
block first, and only give it a pending direction if the push fails.
CC2 always uses the pending mechanism.
2024-04-11 02:24:34 -06:00
Eevee (Evelyn Woods)
f896e1bdfd Fix Lynx's no-backwards-overriding; remove the force-floor-on-arrive flag
Not sure the latter one is even correct at all; it completely breaks
ICEHOUSE, for one.  I guess it made more sense with the previous hacky
implementation of force floors applying at the start of the game.
2024-04-11 02:24:34 -06:00
Eevee (Evelyn Woods)
80edfa1ae9 Clear the pending flags in more sensible places 2024-04-11 02:24:34 -06:00
Eevee (Evelyn Woods)
64ca8f008c Restore standing on arrival
A few CC2LP1 replays desynced, so, I guess this is right actually.
2024-04-11 02:24:34 -06:00
Eevee (Evelyn Woods)
2ee86b50d2 Remove slide_automatically
Since sliding happens either on cell arrival or in the actor's idle
phase, the actor will always have a pending slide by the end of a tic,
so this code doesn't actually do anything.
2024-04-11 02:24:34 -06:00
Eevee (Evelyn Woods)
f140804713 Don't on_stand() on arrival; fix the CC1 force-floor compat flag 2024-04-11 02:24:34 -06:00
Eevee (Evelyn Woods)
a1f357f317 Make sliding be the tiles' responsibility
This seems to simplify things and also explain the CC2 semantics: force
floors activate while being stood on (which happens, I guess, during
idle), so it applies to objects that start the level on force floors.
This was probably done to make force floor flipping work, too.  On the
other hand, ice still only activates when being stepped on.
2024-04-11 02:24:34 -06:00
Eevee (Evelyn Woods)
7ba261c7d9 Fix some style nits; add some comments 2024-04-11 02:24:34 -06:00
Eevee (Evelyn Woods)
7a9e3a6eb1 Check forced movement when stepping on a cell, not during movement
This does simplify things a bit, and it also fixes the replay for CC2LP1
level 160, Sneak Around.  It breaks three Voting replays, unfortunately,
but doesn't break anything else, so I'm inclined to call it better.
2024-04-11 02:24:34 -06:00
Eevee (Evelyn Woods)
b0650e7d6e If you select exactly the compat flags matching a ruleset, highlight that button 2024-04-11 02:24:34 -06:00
Eevee (Evelyn Woods)
6d6f4f7c47 Add CCLP5 2024-04-11 02:24:34 -06:00
Ili Butterfield
50ebd95509 Add a missing tile encoding spec for one-way walls 2022-12-30 23:51:32 -08:00
Eevee (Evelyn Woods)
15a8be1c15 Play sounds very near the player at full volume, but spatialize chip pickups 2021-12-22 23:58:14 -07:00
Eevee (Evelyn Woods)
a088e50b3b Fix a typo; add a suggestion about hard refreshing a broken game 2021-12-22 22:31:37 -07:00
Eevee (Evelyn Woods)
1e02c6aa6f Complete the pgchip ice block emulation (fixes #34) 2021-12-22 22:30:59 -07:00
Eevee (Evelyn Woods)
2c95c7eacd Update MS compat so bugs and walkers still avoid fire (fixes #69) (nice) 2021-12-22 22:09:13 -07:00
Eevee (Evelyn Woods)
b4ebdf069d Add a MegaZeux-like ambient animation to ice tiles 2021-12-22 21:37:46 -07:00
Eevee (Evelyn Woods)
45dbeacc4a Support the old Web Audio API for Firefox's sake 2021-12-22 21:34:30 -07:00
Eevee (Evelyn Woods)
6d580af817 Use the inactive tile for electrified floors by default (fixes #67) 2021-12-22 21:25:01 -07:00
Eevee (Evelyn Woods)
bcbb536bdc Fix a couple bugs with drawing double-size tiles 2021-12-22 21:13:19 -07:00
Eevee (Evelyn Woods)
c8de4edfff Add spatial audio and sound effect captions 2021-12-22 20:55:15 -07:00
Techokami
4ac01a403f One more missed tooltip 2021-12-18 23:54:43 -05:00