Commit Graph

823 Commits

Author SHA1 Message Date
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
Timothy.Stiles
4037cdf86b don't crash in _draw_standard if p < 0 (fixes #58) 2021-03-03 13:04:55 +11:00
Eevee (Evelyn Woods)
406243d490 Fix green teleporter selection behavior 2021-03-01 21:09:10 -07:00
Eevee (Evelyn Woods)
d5b9a2a307 Change flame jet activation to be actor-based
This fixes CC2LP1's Waterfall, and allows me to remove `on_tic`.
2021-03-01 20:21:59 -07:00
Eevee (Evelyn Woods)
5fcce3f453 Delay black buttons by a frame, like switches (fixes #48) 2021-03-01 18:46:27 -07:00
Eevee (Evelyn Woods)
0119f45d54 Name compat flags more consistently; add a couple; flip sliding blue tank behavior 2021-03-01 18:04:23 -07:00
Eevee (Evelyn Woods)
3359c21387 Consolidate some repeated tile properties 2021-03-01 14:28:56 -07:00
Eevee (Evelyn Woods)
a294338080 Implement some more properties of lit dynamite 2021-03-01 14:06:21 -07:00
Eevee (Evelyn Woods)
0d59ffef85 Implement item priority (fixes #37 #50 #51)
Also expand the blue key MS compat flag to make keys never block
monsters; allow rovers to pass through score flags; and allow
doppelgängers to pause the clock.
2021-03-01 13:13:01 -07:00
Eevee (Evelyn Woods)
fbd256c876 Fix playing the wall bump sound repeatedly in steam mode (fixes #49) 2021-02-28 18:52:51 -07:00
Eevee (Evelyn Woods)
3bc6aa9c7d Fix a crash with slide_ignores when using the CC1 inventory 2021-02-28 18:36:59 -07:00
Eevee (Evelyn Woods)
0ca0467192 Perform bonking for normal force floors as well, which fixes several subtle block pushing issues 2021-02-28 18:31:08 -07:00
Eevee
e8a6ae4a27
Merge pull request #41 from Patashu/custom-tiles
Custom tiles: Terraformer and Global Cycler
2021-02-25 20:45:22 -07:00
Timothy Stiles
b74ce300e5 fix ice block/fireball interaction 2021-02-21 10:23:38 +11:00
Timothy Stiles
ac008e9564 fix a speed boots regression 2021-02-21 10:13:30 +11:00
Timothy Stiles
4ee724030c Implement Glass block
Similar to a dirt block, but stores the first item it moves over, dropping it when destroyed and cloning it in a cloning machine. Has ice block/frame block collision. Turns into floor in water. Doesn't have dirt block immunities.
2021-02-19 18:21:29 +11:00
Timothy Stiles
e30fd1e5fd remove some other terraformer remnants 2021-02-19 09:25:53 +11:00
Timothy Stiles
c463b83ce1 oops one more fire_sticks mention 2021-02-19 08:54:11 +11:00
Timothy Stiles
c7af08b694 nix global cycler, terraformer and dormant lava 2021-02-19 08:48:21 +11:00
Eevee (Evelyn Woods)
3946880156 Add slide_mode to debug actor tooltip 2021-02-18 11:37:20 -07:00
Timothy Stiles
3ea7a045da revamp electric floor, perf improvement for circuitry recalculation
Now reads:
Conducts power (like a 4-way wire). While powered, destroys anything not wearing lightning boots (except dirt blocks)
And when you step on it with lightning boots it conducts power
And it's not on by default if it's just sitting on its own somewhere
2021-02-16 17:18:49 +11:00
Timothy Stiles
e866710af6 turntables can have wires run to them like blue teles 2021-02-16 16:44:38 +11:00
Timothy Stiles
5551e546de oops fix crash 2021-02-16 16:29:43 +11:00
Timothy Stiles
62a3ed99aa Implement Blue teleporter exit
A blue teleporter for all intents and purposes except it can only be exited, not entered.
2021-02-16 16:21:12 +11:00
Timothy Stiles
b7cedc2426 refactor speed shoes so they stack with dash floor/sand instead of overriding 2021-02-16 15:59:34 +11:00
Timothy Stiles
e0004fb840 Implement Dash Floor
Anything walking on it moves at double speed.
2021-02-16 15:10:05 +11:00
Timothy Stiles
3d21277593 spaceify 2021-02-16 13:09:17 +11:00
Timothy Stiles
4943759cd3 wireables wire/unwire whenever circuitry recalculates
e.g.
move a circuit block pointing to a transmogrifier: the transmogrifier stops moving unless it's powered
move it away: it goes back to always-on behaviour
2021-02-16 13:06:45 +11:00
Timothy Stiles
946a889159 terraformers terraforming extended terrain properties 2021-02-16 12:52:07 +11:00
Timothy Stiles
e60423e8c0 oh add_press_ready can happen before OR after on_begin, that's annoying
I'll just have to make it so transmuting a trap to non-trap then back to trap might leave it in a weird amount-of-presses state if you do Shenanigans until I can think of a better solution
2021-02-16 12:31:52 +11:00
Timothy Stiles
64e51d6a62 creating a powerable recalculates circuitry 2021-02-16 12:21:27 +11:00
Timothy Stiles
a73c34e576 traps remember their prior press count through transmutes 2021-02-15 21:39:33 +11:00
Timothy Stiles
8cbba99c0c Implement Item Lock
When placed atop an item, you must have that item to enter the tile. When you do, pay the item and destroy the item lock. Also can be placed on top of a bonus, and you must pay that amount of bonus to enter.
2021-02-15 21:27:56 +11:00
Timothy Stiles
9e2575cae4 handle circuit block undoing pretty well 2021-02-15 15:59:28 +11:00
Timothy Stiles
1bd165ad35 fix various Circuit Block cases 2021-02-15 15:37:03 +11:00
Timothy Stiles
3c6bff77d6 re-arrange experimental tab in a more natural order 2021-02-15 14:25:08 +11:00