Commit Graph

70 Commits

Author SHA1 Message Date
Eevee (Evelyn Woods)
b75253a249 Rearrange actor loop to put movement advancement at the end
I don't know why I ever thought this was a separate pass; I think it was
just the easiest way to make smooth scrolling work when I first
implemented it on like day 2.  Turns out it wasn't ever correct and has
all manner of subtle implications I'll be sorting out for ages.

This does make the turn-based stuff //way// simpler, though.
2020-12-10 18:51:40 -07:00
Eevee (Evelyn Woods)
823fe4de37 bestowal_bow => gift_bow, directional_block => frame_block 2020-12-10 13:28:40 -07:00
Eevee (Evelyn Woods)
b2ff27f241 New LL tile: circuit block, which overrides any wiring below it 2020-12-09 20:23:27 -07:00
Eevee (Evelyn Woods)
235cc79e8b Add LL-specific exit poses for Lexy and Cerise 2020-12-09 20:22:35 -07:00
Eevee (Evelyn Woods)
a44ed295a2 Fix ball animation 2020-12-08 17:23:27 -07:00
Eevee (Evelyn Woods)
4ee56fad01 Briefly reveal invisible walls, as in CC2 2020-12-08 12:48:25 -07:00
Eevee (Evelyn Woods)
30261a106f Mostly implement rover 2020-12-06 16:51:24 -07:00
Eevee (Evelyn Woods)
54381370c0 Add timid teeth; move movement decisions onto tile types; improve doppelganger behavior 2020-12-06 16:16:04 -07:00
Eevee (Evelyn Woods)
700d3898ab Add a half-baked notion of perception level to tile rendering 2020-12-03 21:18:46 -07:00
Eevee (Evelyn Woods)
0885bfc9d2 Make hook load, canopy work, and force floors reverse with gray button 2020-12-03 17:48:24 -07:00
Eevee (Evelyn Woods)
8d197ce479 Add a basic implementation of doppelgangers 2020-12-02 15:03:13 -07:00
Eevee (Evelyn Woods)
f0680ce0c4 Cleaned up several tile properties; added railroad adjusting 2020-12-02 13:54:32 -07:00
Eevee (Evelyn Woods)
ec5d9f7b12 Editor: Add selected tile, tool help, and hint editing; clean up toolbar style 2020-12-02 11:34:46 -07:00
Eevee (Evelyn Woods)
560a89cfd3 Fix using the wrong tile for the railroad switch 2020-11-30 09:09:21 -07:00
Eevee (Evelyn Woods)
8d26de6915 Implement railroad rendering 2020-11-28 12:56:08 -07:00
Eevee (Evelyn Woods)
50c81c5c96 Add directed blob + walker sprites and a custom slime splash (btw slime now destroys stuff) 2020-11-25 03:37:58 -07:00
Eevee (Evelyn Woods)
3a454d77f5 Implement the remaining logic gates and /most/ of their rendering! 2020-11-25 03:14:06 -07:00
Eevee (Evelyn Woods)
ac6e33bb6c Simplify blitting; fix arrow blitting; impl light switch; load more items 2020-11-25 01:14:15 -07:00
Eevee (Evelyn Woods)
e803af2fd2 Handle actors starting on force floors; partially implement item bestowal 2020-11-23 19:22:59 -07:00
Eevee (Evelyn Woods)
49ff0d9723 Clean up wiring drawing and logic (zero gates is now a no-op!); begin implementing logic gates 2020-11-01 11:36:17 -07:00
Eevee (Evelyn Woods)
060dfdc7d7 Implement drawing and correctly pushing directional blocks 2020-10-28 00:17:41 -06:00
Eevee (Evelyn Woods)
2820c067c5 Implement the CC2 "no sign" 2020-10-23 17:37:50 -06:00
Eevee (Evelyn Woods)
8adb630862 Add partial wiring support 2020-10-01 06:46:07 -06:00
Eevee (Evelyn Woods)
9b873764fb Shim around several compat issues that affect CCLP levels
- CCLP1 #81 requires pushing blocks off of blue walls, which is
  impossible in CC2 but allowed in TW Lynx (unclear if this is a lynx
  behavior or a tw bug)

- CCLP1 #89 has a tank start on a recessed wall and drive off of it,
  expecting the recessed wall to be left alone, but under CC2 rules it
  becomes a wall; such walls are now automatically converted to a new
  tile, the "doubly recessed wall", which restores the expected behavior
  without changing how recessed walls work in general

- CCLP4 #135 expects pressing a blue button to not affect blue tanks
  that are currently in mid-slide

In addition, the behavior of blue buttons now matches the Lynx/Steam
behavior: the press is stored as a flag and queued until the tank is
next able to move.
2020-10-01 03:08:25 -06:00
Eevee (Evelyn Woods)
684021f93d Fix typo in drowned player tile 2020-09-27 04:03:15 -06:00
Eevee (Evelyn Woods)
78bb1f2dc1 Populate player 2 state sprites so she can actually be drawn 2020-09-26 20:38:50 -06:00
Eevee (Evelyn Woods)
26f9e917a8 Support the remaining invalid tile, which slipped into CCLXP2 2020-09-25 04:51:59 -06:00
Eevee (Evelyn Woods)
787cd0d3a7 Fix tile rendering with the TW tileset 2020-09-23 22:49:44 -06:00
Eevee (Evelyn Woods)
67504e436e Draw the player's blocked/pushing frame (at last) 2020-09-23 21:09:57 -06:00
Eevee (Evelyn Woods)
72a44429af Animate CC2 force floors 2020-09-20 00:02:08 -06:00
Eevee (Evelyn Woods)
ddfa7f562a Extend the CC2 tile definition with some custom stuff 2020-09-19 23:32:13 -06:00
Eevee (Evelyn Woods)
ec8992a0fc Support separate poses for ice and force floors, and spin on ice 2020-09-19 22:59:50 -06:00
Eevee (Evelyn Woods)
2fc0648333 Slow animations down by half 2020-09-19 22:43:47 -06:00
Eevee (Evelyn Woods)
fcbd2b17be Fix dirt block direction in DAT; remove clone block, which serves no purpose for us 2020-09-18 22:22:38 -06:00
Eevee (Evelyn Woods)
569a3c0f3d Fix wired drawing of teleports 2020-09-17 00:02:01 -06:00
Eevee (Evelyn Woods)
e0bfb0aadf Standardize visual state, and use it instead of transmuting a dead player 2020-09-16 21:08:43 -06:00
Eevee (Evelyn Woods)
1d809601ae Clumsily add support for the player's swimming sprite 2020-09-16 14:57:29 -06:00
Eevee (Evelyn Woods)
e70e92b931 Move responsibility for drawing out of Tileset and into the renderer 2020-09-16 14:10:10 -06:00
Eevee (Evelyn Woods)
2e0519f802 Get rid of the Level.tic_offset hack and stop passing level to Tileset.draw 2020-09-16 13:29:57 -06:00
Eevee (Evelyn Woods)
529b87ab23 Attempt to support some invalid MSCC tiles 2020-09-16 01:51:38 -06:00
Eevee (Evelyn Woods)
48e03f3225 Restore the splash when pushing a block into water; fix splash/explosion in TW tileset 2020-09-14 21:52:27 -06:00
Eevee (Evelyn Woods)
468a1d44ba Get wire rendering correctly, at least for floors 2020-09-14 19:34:48 -06:00
Eevee (Evelyn Woods)
b88d42582c Stub out enough stuff to get CC2 Lesson 5 loading
- Wire is...  well, ignored
- Pink and black buttons load but don't do anything
- Railroad is loaded but doesn't do anything
- Bowling ball, purple toggle wall/floor, rover...  you get the idea
- Railroad sign would work if railroad did, though
2020-09-14 17:25:30 -06:00
Eevee (Evelyn Woods)
ec41139960 Stub out enough to get CC2 Lesson 4 loading
- Gender signs: implemented
- Transmogrifier: basically implemented
- Yellow tank: basically implemented
- Directional blocks: load but don't draw or behave correctly
- Floor mimic: moves at hyperspeed
- Secret eye: no effect
2020-09-14 16:03:35 -06:00
Eevee (Evelyn Woods)
afa132bd4c Undo GCing the actor list 2020-09-12 20:36:11 -06:00
Eevee (Evelyn Woods)
d3e60b88fa Stub out enough for CC2's Lesson 3 to load 2020-09-10 21:21:30 -06:00
Eevee (Evelyn Woods)
16bfe22593 Implement score flags and the stopwatches 2020-09-10 17:45:14 -06:00
Eevee (Evelyn Woods)
a3928b2865 Implement splashes and explosions, at least partially 2020-09-08 15:16:35 -06:00
Eevee (Evelyn Woods)
8097339886 Implement green bombs/chips, ice blocks, and custom walls/floors 2020-09-08 14:42:38 -06:00
Eevee (Evelyn Woods)
88ec9f89e7 Fix turtles and implement swivels; CC2 LESSON 1 now replays correctly! 2020-09-08 14:23:55 -06:00