lexys-labyrinth/js
Eevee (Evelyn Woods) 323ed3ee18 Refactor to using cells with fixed slots
This better matches CC2 behavior and also makes some very common
operations, like grabbing a cell's actor or terrain, way faster.

It also allows me to efficiently implement CC2's layer order when
checking for collisions; thin walls are checked before terrain, and
actors only afterwards.  The upshot is that bowling balls no longer
destroy stuff on the other side of a thin wall!

I also did some minor optimizing, mostly by turning loops over an entire
cell's contents into checks for a single layer; Chromium now performs a
bulk test about 30% faster.

Downsides of this change:
- All kinds of stuff may have broken!
- It'll be a little difficult to ever emulate MSCC's curious behavior
  when stacking terrain on top of items or other terrain.  But not
  impossible.
- It'll be far more difficult to emulate buggy Lynx (or maybe it's just
  Tile World?) behavior where some combination of cloners and teleports
  allow a ton of monsters to accumulate in a few cells.  I guess I
  wasn't planning on doing that anyway.
2021-01-03 17:19:27 -07:00
..
algorithms.js Fix black buttons to /always/ separate horizontal and vertical wires 2020-12-28 06:53:19 -07:00
defs.js Refactor to using cells with fixed slots 2021-01-03 17:19:27 -07:00
editor-tile-overlays.js Fix some visual bugs with tracks in the editor 2020-12-27 07:07:23 -07:00
format-base.js Remove Level.cells in favor of linear_cells 2020-12-17 15:51:57 -07:00
format-c2g.js Refactor to using cells with fixed slots 2021-01-03 17:19:27 -07:00
format-dat.js Refactor to using cells with fixed slots 2021-01-03 17:19:27 -07:00
game.js Refactor to using cells with fixed slots 2021-01-03 17:19:27 -07:00
main-base.js Add support for recording replays, with a bunch of refactoring along the way 2020-12-13 20:36:12 -07:00
main-editor.js Refactor to using cells with fixed slots 2021-01-03 17:19:27 -07:00
main.js Refactor to using cells with fixed slots 2021-01-03 17:19:27 -07:00
renderer-canvas.js Refactor to using cells with fixed slots 2021-01-03 17:19:27 -07:00
soundtrack.js Add three new music tracks from notchris 2020-11-03 14:07:25 -07:00
tileset.js Draw the countdown frames for the time bomb, and improve its artwork 2021-01-03 13:20:28 -07:00
tiletypes.js Refactor to using cells with fixed slots 2021-01-03 17:19:27 -07:00
util.js Teach format_duration to handle negative durations 2021-01-03 13:48:23 -07:00