Commit Graph

91 Commits

Author SHA1 Message Date
Eevee (Evelyn Woods)
060dfdc7d7 Implement drawing and correctly pushing directional blocks 2020-10-28 00:17:41 -06:00
Eevee (Evelyn Woods)
368e4676fd Mostly implement orange buttons and flame jets 2020-10-24 21:33:11 -06:00
Eevee (Evelyn Woods)
f1b040f176 Implement green teleports and the Lynx/CC2 PRNG 2020-10-23 21:09:31 -06:00
Eevee (Evelyn Woods)
2820c067c5 Implement the CC2 "no sign" 2020-10-23 17:37:50 -06:00
Eevee (Evelyn Woods)
09eb03dad6 Iterate actors in reverse order to match Lynx/CC2 (fixes #7) 2020-10-21 21:24:59 -06:00
Eevee (Evelyn Woods)
36b9f2efd7 Make (most) actors pick up blue keys 2020-10-07 15:28:51 -06:00
Eevee (Evelyn Woods)
8adb630862 Add partial wiring support 2020-10-01 06:46:07 -06:00
Eevee (Evelyn Woods)
4cd0585d0b Revert the blue wall compat fix and replace them with popwalls instead (fixes #5) 2020-10-01 03:22:49 -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)
f99b9826be Detect trap buttons that are held down when the level begins 2020-09-30 02:20:33 -06:00
Eevee (Evelyn Woods)
f4363b8fda Rewrite how connections work
- Teleporters now connect on the fly, rather than having fixed
  connections (important because dynamite can destroy teleporters!)

- If custom connections are present, red and brown buttons ONLY use
  those, rather than falling back to CC2 connection rules

- Multiple brown buttons connected to the same trap should now work
  correctly
2020-09-30 02:11:17 -06:00
Eevee (Evelyn Woods)
db3af69ff7 Make gray buttons undoable 2020-09-28 20:44:46 -06:00
Eevee (Evelyn Woods)
325a06395d Partly implement gray buttons; expose them and green stuff in the editor 2020-09-28 04:09:24 -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)
70d6739465 Ice blocks splash in water 2020-09-26 20:21:00 -06:00
Eevee (Evelyn Woods)
4a0ba44116 Restore floors under thin walls in CCL maps 2020-09-26 04:49:58 -06:00
Eevee (Evelyn Woods)
967520c1bd Change fake floors to not be blocking; causes bad visual/audio feedback 2020-09-26 03:15:01 -06:00
Eevee (Evelyn Woods)
68de70743f Fix, partially, stopping yourself on force floors 2020-09-25 20:45:01 -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)
40aa845e92 Add sound effects! 2020-09-25 01:28:31 -06:00
Eevee (Evelyn Woods)
7817a8ebdd Revert previous commit; auto-eject is Lynx behavior 2020-09-23 22:56:27 -06:00
Eevee (Evelyn Woods)
459120313e Eject actors from open traps immediately 2020-09-23 22:55:12 -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)
2dc18a98db Finally fix pushing a sliding block 2020-09-20 01:05:24 -06:00
Eevee (Evelyn Woods)
9e66bc46bb Restore fireballs going through fire 2020-09-19 23:32:00 -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)
582a875c52 Don't use "ignores" to override blocking; it breaks ice corners 2020-09-19 22:53:38 -06:00
Eevee (Evelyn Woods)
32be0d0d71 Overhaul inventory: taking items is now undoable; inventory UI is correct, shows key counts 2020-09-19 22:43:04 -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)
57810da581 Add obituaries, and get them out of the game itself 2020-09-16 19:21:32 -06:00
Eevee (Evelyn Woods)
fe12c599bc Abort the tic and draw a final frame after the game ends; fix dead player appearance 2020-09-16 18:14:06 -06:00
Eevee (Evelyn Woods)
529b87ab23 Attempt to support some invalid MSCC tiles 2020-09-16 01:51:38 -06:00
Eevee (Evelyn Woods)
5f6e820b14 Exits block non-players 2020-09-16 01:18:39 -06:00
Eevee (Evelyn Woods)
cce28c2d7e Rearrange C2M tile definitions to make saving easier
Also, tile templates no longer use name or carry format-specific
modifiers; they have the same properties as real tiles.
2020-09-15 22:45:15 -06:00
Eevee (Evelyn Woods)
325960b609 Allow only players, ice blocks, directional blocks, and rovers to reveal walls 2020-09-15 00:32:24 -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)
54aaed73a0 Green bombs also count towards the required chip count 2020-09-14 14:15:54 -06:00
Eevee (Evelyn Woods)
f511e2ecb9 Make cloning undoable 2020-09-12 21:00:50 -06:00
Eevee (Evelyn Woods)
d3dfcba63b Don't remove the player when stepping on a bomb; it breaks things 2020-09-12 20:45:34 -06:00
Eevee (Evelyn Woods)
5d39e37ad2 Implement CC2 input handling, bumping, and block slapping 2020-09-12 20:07:26 -06:00
Eevee (Evelyn Woods)
64bd6c49d9 Implement Melinda basics: ignores ice, can't walk on dirt/gravel 2020-09-12 19:03:38 -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)
dd287284ef Boots block monsters 2020-09-10 17:13:57 -06:00
Eevee (Evelyn Woods)
6fd5759de3 Fix chip sockets 2020-09-10 12:55:15 -06:00