Commit Graph

635 Commits

Author SHA1 Message Date
Eevee (Evelyn Woods)
2f9b0c1154 Add obituaries for CC2 monsters, and give existing causes a few more 2021-01-11 01:33:52 -07:00
Eevee (Evelyn Woods)
dfed3f2db9 Fix copied floated selections being entangled 2021-01-11 01:30:16 -07:00
Eevee (Evelyn Woods)
fbf3cb5ae2 Add a WIP version of Lexy's Lessons as a canon pack 2021-01-11 00:57:50 -07:00
Eevee (Evelyn Woods)
c2ed444ca0 Fix the drawing of copying a floating selection 2021-01-11 00:23:18 -07:00
Eevee (Evelyn Woods)
6a6a3a212e Show time and level count in the splash's list of editor packs 2021-01-11 00:17:40 -07:00
Eevee (Evelyn Woods)
a2ec070a32 Play an explosion sound when a flame jet destroys something 2021-01-10 14:45:00 -07:00
Eevee (Evelyn Woods)
9efe3d00ef Fix perception 2021-01-10 14:44:42 -07:00
Eevee (Evelyn Woods)
b4acc74e0a Explicitly allow VFX to erase other VFX (otherwise undo breaks!) 2021-01-10 14:44:23 -07:00
Eevee (Evelyn Woods)
fb1e749a28 Fix a couple places the editor wasn't redrawing 2021-01-10 14:38:37 -07:00
Eevee (Evelyn Woods)
69296dff67 Make ending more readable, less CPU-heavy 2021-01-09 12:46:43 -07:00
Eevee (Evelyn Woods)
723af175cb Add ending artwork 2021-01-09 03:05:50 -07:00
Eevee (Evelyn Woods)
bfacde7525 Do something vaguely interesting when the game ends 2021-01-08 22:38:48 -07:00
Eevee (Evelyn Woods)
e64a553365 Add a focus trap for overlays, and close them with Esc 2021-01-08 22:00:59 -07:00
Eevee (Evelyn Woods)
246ef468de Fix rendering of tiles above the actor layer 2021-01-08 17:57:04 -07:00
Eevee (Evelyn Woods)
c6594712df Play the floor step sound by default 2021-01-08 16:28:52 -07:00
Eevee (Evelyn Woods)
8f40f575bf Introduce a DrawPacket to consolidate draw arguments; fix blurriness of double-size monsters 2021-01-08 16:28:08 -07:00
Eevee (Evelyn Woods)
c60158cc47 Ensure ghosts can never drown 2021-01-08 15:47:39 -07:00
Eevee (Evelyn Woods)
fc6b7472b6 Fix some subtle issues with changing tilesets twice in one session 2021-01-08 15:31:25 -07:00
Eevee (Evelyn Woods)
30c17c0c8b Fix undo failure after being killed by a cloner; ensure the failure reason is assigned to the right player 2021-01-08 15:16:25 -07:00
Eevee (Evelyn Woods)
560fd93c8b Reveal popdown floors when there's an item on them, too 2021-01-08 15:01:30 -07:00
Eevee (Evelyn Woods)
67c53f97dd Show the level title and author (if available) on start 2021-01-07 18:18:51 -07:00
Eevee (Evelyn Woods)
cc48136d94 Fix the editor's force floor tool 2021-01-07 18:00:29 -07:00
Eevee (Evelyn Woods)
7ceab97472 Fix the editor's partial redrawing; place popup editors by bbox, not mouse position 2021-01-07 17:55:11 -07:00
Eevee (Evelyn Woods)
f389f4d027 Fix disabling the next-level button 2021-01-07 14:01:24 -07:00
Eevee (Evelyn Woods)
c162445627 Always play the get-chip sound 2021-01-06 22:58:54 -07:00
Eevee (Evelyn Woods)
f788f7a892 Apply a quick hack to fix ?level URLs being blank 2021-01-06 19:09:57 -07:00
Eevee (Evelyn Woods)
f35da9cc2b Finally populate the options dialog, with volume controls and tileset selection 2021-01-06 19:04:28 -07:00
Eevee (Evelyn Woods)
04940ff42c Finally fix display of long hints 2021-01-05 23:46:00 -07:00
Eevee (Evelyn Woods)
a7310cf59b Fix bad editor state caused by copying a selection 2021-01-05 22:38:05 -07:00
Eevee (Evelyn Woods)
3d0142310e Spawn an explosion when destroying an actor in fire 2021-01-05 22:23:47 -07:00
Eevee (Evelyn Woods)
999467bb1f Ignore spurious kinds of keydown events 2021-01-05 22:07:04 -07:00
Eevee (Evelyn Woods)
b5b7ccbc46 Move lit dynamite to the actor layer so it destroys itself again 2021-01-05 21:04:20 -07:00
Eevee (Evelyn Woods)
0ba112aec5 Don't gripe about VFX erasing each other; that's a feature 2021-01-05 21:04:09 -07:00
Eevee (Evelyn Woods)
04e350b624 Fix released key detection 2021-01-05 21:03:53 -07:00
Eevee (Evelyn Woods)
5c1b2dbd9d Update hint when switching players; parse the keybind placeholders 2021-01-05 20:44:11 -07:00
Eevee (Evelyn Woods)
c6d9eb3271 Fix ctrl-click not working quite right on Macs 2021-01-05 17:18:09 -07:00
Eevee (Evelyn Woods)
05e8f05b41 Correct and fill in a couple editor tile tooltips 2021-01-05 17:16:38 -07:00
Eevee (Evelyn Woods)
aed96c8e41 Add a bunch of minor rendering stuff
- Added the active player background

- Added bomb fuses (though LL doesn't use them)

- Added CC2-style double-size blob and walker (though LL doesn't use them)

- Added the rover's directional overlay

- Added custom push animations

- Added custom bouncing heart animations

- Added a puff when opening a door or socket, or revealing a fake floor

- Fixed the rover's animations being a bit mixed up

- Fixed player walk animations occasionally being glitchy

- Touched up the fake floor x-ray tile

- Touched up the canopy x-ray tile

- Touched up the purple ball's shadows

- Touched up the transmogrifier and transmogrify flash
2021-01-05 17:10:21 -07:00
Eevee (Evelyn Woods)
31a1049655 Fix x-ray glasses breaking the renderer 2021-01-04 17:59:24 -07:00
Eevee (Evelyn Woods)
fda1c6c66e Fix drag and drop with directories; improve drop zone 2021-01-04 12:56:30 -07:00
Eevee (Evelyn Woods)
f03144ba91 Fix editing wire tunnels 2021-01-03 19:45:34 -07:00
Eevee (Evelyn Woods)
a72ec8c476 Fix undoing dropping a bowling ball; make bowling balls explode at level edge 2021-01-03 19:31:59 -07:00
Eevee (Evelyn Woods)
a4c1aa869b LAYER => LAYERS, oops 2021-01-03 19:15:38 -07:00
Eevee (Evelyn Woods)
683ab6a2c9 Fix some fallout from all that editor rendering stuff 2021-01-03 18:43:24 -07:00
Eevee (Evelyn Woods)
1ce704864c Teach the editor to do partial redraws 2021-01-03 18:21:52 -07:00
Eevee (Evelyn Woods)
90fa352a50 Split out editor drawing and slightly speed up normal drawing 2021-01-03 18:03:58 -07:00
Eevee (Evelyn Woods)
6fc4f6b58f Change StoredCell to also be layered, and update the editor to match 2021-01-03 17:44:16 -07:00
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
Eevee (Evelyn Woods)
cff756597c Fix a few places where two tiles on the same layer could coexist in a cell 2021-01-03 15:18:53 -07:00
Eevee (Evelyn Woods)
fe7731efe7 Fix minor issues: ghosts don't affect popwalls, voodoo tiles shouldn't crash, on_bump is unused 2021-01-03 14:06:41 -07:00