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
Techokami
9309e9c838
Fix missing tooltips in editor
2021-12-17 19:04:59 -05:00
Eevee (Evelyn Woods)
77afca5799
Fix handling of blocked diagonal movement ( fixes #86 )
...
I had it mostly right based on experimentation, but had the conditions
inside-out, which allowed this case to slip through the cracks. This
makes the Settlement of Arrakis replay sync.
2021-12-03 07:16:59 -07:00
Eevee (Evelyn Woods)
4ebe5c1149
Preserve the color of sokoban blocks on cloning
2021-11-28 22:47:20 -07:00
Eevee (Evelyn Woods)
34e430e8a1
Fix a typo in tileset detection
2021-11-28 22:47:20 -07:00
Timothy Stiles
6f27332cce
Cerise doesn't break cracked tiles (because she's dainty)
...
Teal Knight suggestion. It's a purely backwards compatible way to distinguish the two characters a little more, and fits her theme, but it's up to you.
2021-11-28 18:26:18 +11:00
Timothy Stiles
073aba65ab
glass block with a heart shouldn't crash ( fixes #84 )
2021-11-21 14:47:40 +11:00
Timothy Stiles
71abc13330
let any actor with a key unlock gates (unlike doors)
2021-11-20 12:57:58 +11:00
Timothy Stiles
8feb732a8f
boulders are pushed in the movement not facing direction ( fixes #81 )
2021-11-18 20:53:56 +11:00
Timothy Stiles
a87db67d84
lexy w/ skates and cerise now crack but don't slide on cracked ice ( fixes #82 )
2021-11-18 20:22:00 +11:00
Timothy Stiles
d675cddafb
spaceify
2021-11-18 18:40:15 +11:00
Timothy Stiles
2df4dc5829
fix 'blowing up electric floors doesn't remove the wiring' regression
2021-11-18 18:39:46 +11:00
Timothy Stiles
42d543b235
fix an electric floor visual bug ( fixes #80 )
2021-11-18 18:35:06 +11:00
Timothy Stiles
94a7ec5a2c
dropping 2 ankhs in a row shouldn't crash ( fixes #79 )
2021-11-18 18:27:28 +11:00
Timothy Stiles
590ecb36ae
placing a circuit block on a tile shouldn't crash ( fixes #78 )
2021-11-18 18:19:57 +11:00
Eevee (Evelyn Woods)
96bc4e0a3c
Restore the breathing room when adjusting game scale
2021-06-03 02:22:41 -06:00
Eevee (Evelyn Woods)
51bc3dfe83
Add support for TW large tilesets, real MS tilesets, better tileset detection, and an attempted fix for CC1 thin wall tiles
2021-06-03 02:15:45 -06:00
Eevee (Evelyn Woods)
3e7390ffc0
Fix rendering of actors zooming through traps in Lynx
2021-06-03 02:03:25 -06:00
Eevee (Evelyn Woods)
ca1a48c0fe
Fix sokoban buttons to count being pressed at level start
2021-05-26 22:49:29 -06:00
Eevee (Evelyn Woods)
3752902663
Move gates to the canopy layer
2021-05-25 17:42:13 -06:00
Eevee (Evelyn Woods)
753a375e89
Comment out this incredibly annoying C2M warning
2021-05-25 17:41:38 -06:00
Eevee (Evelyn Woods)
7c0335a24d
Update tileset: minor touchups, lighter popwalls, killer indicator, some experiments
2021-05-25 17:41:23 -06:00
Eevee (Evelyn Woods)
6de69604d9
Extend CCL support with a chunk for storing the author's name
2021-05-25 17:27:41 -06:00
Eevee (Evelyn Woods)
41e5b5f9b8
Rework mobile layout to be more compact, et al.
...
- On small screens, the top two headers (with the pack + level names)
are now removed; instead the pack and level name are shown when
starting each level, and the buttons from those headers are moved into
a pause menu.
- The options, compat, and level browser dialogs were all reworked to
fit better on narrow screens.
- The level overlay has a more consistent layout and tries harder to not
draw in the middle, where the player generally is (except that the
mobile pause menu goes there, but oh well).
- The score tally at the end of a level is now less of a small table and
more of... more numbers, I guess?
- Links to the music source and author now open in a new window to
reduce risk of accidentally clicking them and losing your progress.
- A few obituaries were shortened, and several more were added.
- The game ending screen is now accessible on a touchscreen (oops).
- The pause and rewind buttons visually indicate when you're in that
mode, suggesting you can hit them again to switch to normal play.
- Touch controls are now relative to the player and only apply within
the game viewport.
- Disabled buttons look a bit less janky.
Still some work to do on this, but it's a pretty solid start.
2021-05-21 21:10:44 -06:00
Eevee (Evelyn Woods)
ae8b42e0c9
Merge Lexy/Lynx loops; add compat for separated teleport phase
2021-05-17 19:12:04 -06:00
Eevee (Evelyn Woods)
feaf09e4e2
Hide editor facing arrows for lone blocks; add support for killer indicator
2021-05-16 18:00:14 -06:00
Eevee (Evelyn Woods)
53ed2f0948
Add support for rotating or flipping a level or selection
2021-05-16 17:52:31 -06:00
Eevee (Evelyn Woods)
7ed3d38489
Implement monsters not hurting you at decision time in Lynx
2021-05-11 18:31:16 -06:00
Eevee (Evelyn Woods)
db02c19a0d
"Fix" the Lynx TWS of Southpole by extending the "out of input" threshold a bit
2021-05-11 18:16:34 -06:00
Eevee (Evelyn Woods)
e8cb95a60b
Fix double-ejecting from traps in Lynx
2021-05-11 17:39:19 -06:00
Eevee (Evelyn Woods)
257e9db64b
Preserve the CCL auto-fixes for Lynx and MS modes
2021-05-11 17:39:07 -06:00
Eevee (Evelyn Woods)
3c00e0ba36
Fix rolling a second RFF direction under Lynx
2021-05-11 17:09:25 -06:00
Eevee (Evelyn Woods)
c9a2897bc2
Consolidate Lynx-style player death with CC2
2021-05-11 16:40:00 -06:00
Eevee (Evelyn Woods)
fc1f85dac9
Fix Lynx force floor compat switch; ensure monsters can't turn in traps
2021-05-11 16:31:28 -06:00
Eevee (Evelyn Woods)
9369b2b167
Partially restore Lynx force floor behavior
2021-05-10 20:46:19 -06:00
Eevee (Evelyn Woods)
ca42dbcf59
Fix bulk tester's parsing of single level numbers
2021-05-10 20:36:55 -06:00
Eevee (Evelyn Woods)
08c86c6129
Refactor sliding handling
...
Eliminates a number of annoying little hacks by getting rid of
`slide_mode` and instead trusting the terrain, live, like CC2 seems to
do (and Lynx definitely does).
2021-05-10 20:23:02 -06:00
Eevee (Evelyn Woods)
b375f431af
Bestow the bulk tester with arguments and get this local-to-me hack stuff outta here
2021-05-08 19:07:46 -06:00
Eevee (Evelyn Woods)
af66a53b2b
Fix ghosts switching railroad tracks
2021-05-08 17:51:56 -06:00
Eevee (Evelyn Woods)
dfc8798ff6
Fix turtle splashes erasing dropped dynamite
2021-05-08 17:51:46 -06:00
Eevee (Evelyn Woods)
172a8e8a6b
Stick the buggy CC2 green teleport behavior behind a compat flag
2021-05-08 17:31:47 -06:00
Eevee (Evelyn Woods)
eebe8b9581
Emulate an obscure CC2 bug when selecting a green teleport destination
2021-05-08 17:13:48 -06:00
Eevee (Evelyn Woods)
8efa3a572a
Partially consolidate slide overriding on force floors vs teleports
2021-05-07 23:44:05 -06:00
Eevee (Evelyn Woods)
e45a580d1a
Restore the template's facing after a failed wired clone
...
Also remove a hack for an edge case that's been fixed with the recent
changes to death handling.
2021-05-07 22:40:30 -06:00
Eevee (Evelyn Woods)
2b488b2d89
Disable lilypad/popwall effects when activating dynamite
2021-05-07 22:40:21 -06:00
Eevee (Evelyn Woods)
642c977df3
Prevent monsters killing you after you teleported
2021-05-07 22:39:54 -06:00
Eevee (Evelyn Woods)
b7e352a4a3
Switch to Lynx's delayed green button effect
2021-05-07 22:39:31 -06:00
Eevee (Evelyn Woods)
87d7952960
Fix lilypad splash duration being slightly longer than expected
2021-05-07 18:54:56 -06:00
Eevee (Evelyn Woods)
99dec75731
Split the editor up
2021-05-07 17:57:25 -06:00
Eevee (Evelyn Woods)
9883dcf4ef
Bring death and spring mining more into line with CC2
...
- Players and monsters do, in fact, block each other. The helmet only
prevents death.
- Death happens during collision check, which is the entire reason items
don't save you: you're collided with first! This allows removing
several special cases.
- Spring mining is prevented almost incidentally, by virtue of collision
being checked both at decision time and movement time. It /can/
happen to actors other than the player, but seemingly not blocks.
- Some monsters, whose movement is essentially forced anyway, skip the
decision time collision check. This includes doppelgangers, which is
why they always spring mine.
2021-05-07 17:51:11 -06:00
Eevee (Evelyn Woods)
24a55d7c88
Move the hairy Cell collision methods into Level
2021-05-06 12:44:29 -06:00
Eevee (Evelyn Woods)
49b691adde
Allow yellow tanks into fire and rovers into more tiles
2021-05-03 21:38:42 -06:00
Eevee (Evelyn Woods)
7c498f195e
Improve editor rendering of connections, a bit
2021-04-30 13:22:50 -06:00
Eevee (Evelyn Woods)
f7ee18a28c
Add trap/cloner connection export to CCL
2021-04-28 22:15:21 -06:00
Eevee (Evelyn Woods)
eff62a9765
Merge trap/cloner connections; round-trip them through C2M; stub out connect tool
2021-04-28 22:05:01 -06:00
Eevee (Evelyn Woods)
7f90ee5f7d
Give the blue and green walls better names
2021-04-28 19:46:39 -06:00
Eevee (Evelyn Woods)
81b305b2f6
Add support for exporting hints to CCL; remove level hints
2021-04-28 19:46:21 -06:00
Eevee (Evelyn Woods)
58cc6ff61e
Consolidate editor export buttons into a menu
2021-04-28 19:25:49 -06:00
Eevee (Evelyn Woods)
c1bf88d3dd
Add rudimentary support for CCL export
2021-04-28 18:44:01 -06:00
Eevee (Evelyn Woods)
f48cef5250
Fix the hint editor to make an undo entry
2021-04-26 16:02:24 -06:00
Eevee (Evelyn Woods)
f2366be039
Move diamond iteration to algorithms so the editor can (eventually) use it
2021-04-26 15:57:13 -06:00
Eevee (Evelyn Woods)
4077bd0de3
Center the canvas independently along each axis
2021-04-26 10:24:01 -06:00
Eevee (Evelyn Woods)
167360f596
Add a zoom control
2021-04-24 11:43:28 -06:00
Eevee (Evelyn Woods)
e3a128df60
Add the cursor position to the editor's fledgling status bar
2021-04-23 14:37:20 -06:00