Commit Graph

858 Commits

Author SHA1 Message Date
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
Eevee (Evelyn Woods)
ea9cc5ef07 Make editor zoom preserve the cursor point; allow wider panning 2021-04-23 14:27:52 -06:00
Eevee (Evelyn Woods)
a7553457ad Add mousewheel zooming to the editor 2021-04-23 13:28:20 -06:00
Eevee (Evelyn Woods)
9e090f967d Make erasing thin walls undoable; fix ctrl key sometimes not being recognized 2021-03-14 16:57:41 -06:00
Eevee (Evelyn Woods)
29fb8791e5 Fix using shift with the adjust tool 2021-03-14 15:16:30 -06:00
Eevee (Evelyn Woods)
2ab983ec0a Swap ctrl with right click for most editor tools; add bg tile
Also merges hover with mouse operations proper, which simplifies some
things.
2021-03-14 15:08:19 -06:00
Eevee (Evelyn Woods)
4399c9c75a Fix kb shortcuts no longer working in the editor after editing level properties 2021-03-13 20:16:37 -07:00
Eevee (Evelyn Woods)
ba7e715222 Bind U to undo 2021-03-13 19:02:11 -07:00
Eevee (Evelyn Woods)
854ad03523 Spruce up player UI slightly; add space for level rules; add fullscreen button for mobile 2021-03-13 18:53:27 -07:00
Eevee (Evelyn Woods)
d251955684 Make red teleporters count as wired if they neighbor a logic gate 2021-03-13 18:05:29 -07:00
Eevee (Evelyn Woods)
5384561413 Add a new tile, the one-way thin wall 2021-03-13 18:05:13 -07:00
Eevee (Evelyn Woods)
fa06eb8d7a Allow editing level comments; touch up level props dialog (fixes #47) 2021-03-13 18:02:49 -07:00
Eevee (Evelyn Woods)
3b257df8d3 Add sound effects for time items and early exit 2021-03-13 17:55:10 -07:00
Eevee (Evelyn Woods)
0b957cfeb1 Preserve wires when drawing a wireable tile in the editor; light switches don't propagate 2021-03-10 23:20:00 -07:00
Eevee (Evelyn Woods)
3020e3b038 Count chips in C2Ms on level start, not on parse (so editing updates the chip count) 2021-03-10 22:19:47 -07:00
Eevee (Evelyn Woods)
56611958f7 Draw actor facing directions in the editor (fixes #38) 2021-03-10 20:47:07 -07:00
Eevee (Evelyn Woods)
28a26cdc14 Add modification tracking to the editor and wire it into undo/redo 2021-03-10 20:28:26 -07:00
Eevee (Evelyn Woods)
9c5b241cae Add editor keyboard shortcuts for select all and deselect all 2021-03-10 19:27:49 -07:00
Eevee (Evelyn Woods)
58deed916c Add editor keyboard shortcuts for undo and selecting (some) tools 2021-03-10 19:19:08 -07:00
Eevee (Evelyn Woods)
a0f282fb8e Add mouse preview to the editor; implement the fill tool 2021-03-10 19:08:19 -07:00
Eevee (Evelyn Woods)
14d9c8ade9 Intercept and report syntax errors 2021-03-10 16:37:16 -07:00
Eevee (Evelyn Woods)
63609ba77e Fix a few more Lynx compat issues 2021-03-08 23:53:52 -07:00
Eevee (Evelyn Woods)
2dcd73d44a Fix loading of initial RFF direction from Tile World solutions 2021-03-08 21:33:03 -07:00
Eevee (Evelyn Woods)
dd10236b22 Implement "hide logic", and actually save options (fixes #52) 2021-03-08 21:04:23 -07:00
Eevee (Evelyn Woods)
028fc016b0 Add an ankh description in the editor 2021-03-08 20:16:14 -07:00
Eevee (Evelyn Woods)
48806a3dfd Fix canopies being indestructible 2021-03-08 20:15:55 -07:00
Eevee (Evelyn Woods)
e8f82d885f Add a compat flag for the cloned bowling ball change 2021-03-08 20:06:02 -07:00
Eevee (Evelyn Woods)
1e5160b40d Use kill_actor when appropriate; fix some bowling ball behavior 2021-03-08 20:02:23 -07:00
Eevee (Evelyn Woods)
2cf6afa590 Slow down force floors and animated chips slightly 2021-03-08 18:53:36 -07:00
Eevee (Evelyn Woods)
cf2f399371 Fix some subtle issues caused by 60 FPS updating 2021-03-08 18:53:11 -07:00
Eevee (Evelyn Woods)
a36862e65b Revamp the halo into an ankh 2021-03-07 19:36:48 -07:00
Eevee (Evelyn Woods)
c6c904ca68 Abandon the .mjs naming scheme
Browsers refuse to load a JS module if the mimetype is wrong, and even
Python's http.server doesn't recognize this extension yet.
2021-03-07 18:06:42 -07:00
Eevee (Evelyn Woods)
db34ca72f9 Make turntables slide actors out of them and toggle on edge flip
Also fix the default display of unpowered tiles while I'm in here.
2021-03-07 18:05:55 -07:00
Eevee (Evelyn Woods)
59d26e6a00 Add a vfx for falling into a hole 2021-03-07 00:56:11 -07:00
Eevee (Evelyn Woods)
662787c287 Add palette support for sokoban tiles 2021-03-07 00:46:01 -07:00
Eevee (Evelyn Woods)
e69ac492c7 Remove the item lock tile 2021-03-07 00:43:56 -07:00
Eevee (Evelyn Woods)
e5fd2b67da Make turntables eject their contents 2021-03-07 00:42:19 -07:00
Eevee (Evelyn Woods)
0be59c21eb Make the glass block shatter on spikes and work with the transmogrifier 2021-03-07 00:23:40 -07:00
Eevee (Evelyn Woods)
ada36e8d61 Implement sokoban blocks 2021-03-07 00:07:18 -07:00
Eevee (Evelyn Woods)
bf8b55a9c9 Clear swap_player1 more aggressively 2021-03-06 22:52:03 -07:00
Eevee (Evelyn Woods)
f8e4b5e707 Fix rendering jump when reaching the exit; fix debug teleport drawing 2021-03-06 22:33:58 -07:00
Eevee (Evelyn Woods)
4a5f0e36c6 Run Steam mode at 60 FPS; fix turn-based mode, again (fixes #17, fixes #54) 2021-03-06 22:20:46 -07:00
Eevee (Evelyn Woods)
fbe10e90a2 Fix p >= 1 in steam-strict, again 2021-03-06 19:01:45 -07:00
Eevee (Evelyn Woods)
26c66d6857 Make animations explicit, and fix almost every rendering problem
- `Tileset.animation_slowdown` is gone!
- Actors are now free to animate every move or every two moves, and have
  been configured to do so appropriately.  This fixes the appearance of
  blobs, most noticeably.  (Also fixes #36.)
- Actors that are always animated in CC2 are now always animated in LL.
- Lilypads/turtles now bob randomly.  More randomly than CC2, even.
- Players no longer appear to be swimming when stepping off of lilypads.
- Invisible walls no longer temporarily reveal themselves when you have
  the x-ray glasses (secret eye).
- There's a new option for using the CC2 animation timing, though god
  knows why you would want to.
2021-03-06 18:41:49 -07:00
Eevee (Evelyn Woods)
8533eac5db Fix the name of the compat mode on page load 2021-03-06 14:38:27 -07:00
Eevee (Evelyn Woods)
55a3daa649 Quiet distant sound effects much more aggressively 2021-03-06 14:34:03 -07:00
Eevee (Evelyn Woods)
1f2a58d21c Add support for headless bulk testing 2021-03-06 12:39:16 -07:00
Eevee (Evelyn Woods)
4c9afe5a9f Fix some typos in the new LL tile layout 2021-03-05 13:55:07 -07:00
Eevee (Evelyn Woods)
be275d380d Add a bunch of Lynx compat options 2021-03-05 13:54:38 -07:00
Eevee (Evelyn Woods)
a750a569ab Fix my fix for ?., which broke a couple levels 2021-03-04 14:58:10 -07:00
Eevee (Evelyn Woods)
fae19ab37b Allow monsters to pass through chips in order to kill a player 2021-03-04 13:50:19 -07:00
Eevee (Evelyn Woods)
b7e05f2eb9 Fix backwards trap tiles 2021-03-04 13:38:40 -07:00
Eevee (Evelyn Woods)
459e71e632 Allow using a custom LL tileset 2021-03-02 21:47:27 -07:00
Eevee (Evelyn Woods)
821bc4201f Unhardcode the placement of counter numbers on the tilesheet 2021-03-02 21:46:57 -07:00
Eevee (Evelyn Woods)
4cb2afcc74 Avoid the very new ?. syntax (fixes #56) 2021-03-02 21:38:31 -07:00
Eevee (Evelyn Woods)
5443514583 Revert handling of negative animation time, which should never happen 2021-03-02 21:34:28 -07:00
Eevee (Evelyn Woods)
e3443b73d8 Correctly erase the background when loading a custom CC2 tileset 2021-03-02 21:33:42 -07:00
Eevee (Evelyn Woods)
751b6b92c3 Rearrange the Lexy tileset 2021-03-02 21:33:42 -07:00
Timothy.Stiles
e4ce9d0bcc glass block-with-item can't move onto a tile with an item in it 2021-03-03 14:15:17 +11:00
Timothy.Stiles
6971eb4d54 dynamite vs electrified floor, holes and cracked floor (60 partial fix) 2021-03-03 14:10:44 +11:00
Timothy.Stiles
ee718323cd glass block blown up by dynamite/halo drops its item (fixes #62) 2021-03-03 13:51:25 +11:00
Timothy.Stiles
094e94a69c for fun, let glass blocks pick up chips; let's see what happens? 2021-03-03 13:33:13 +11:00
Timothy.Stiles
7c35782079 fix glass blocks vs mines and pseudo-items (fixes #63, 59) 2021-03-03 13:25:46 +11:00