Eevee (Evelyn Woods)
86764612d3
[WIP] Switch to a more accurate frame-based model
...
This seems to match how CC2 actually works, and it fixes the replays for
the CC1 levels BLOCK BUSTER, THE PRISONER, CATACOMBS, and GOLDKEY.
Unfortunately, it also regresses ON THE ROCKS, GRAIL, and ALPHABET SOUP,
and I do not know why. I'm not even sure why it fixes CATACOMBS and
GOLDKEY. It makes a mess of force floor handling with mixed results.
It's also some 40% slower, which is not ideal.
I doubt I'll revisit this particular branch, since it's the sort of mass
code rearrangement that breaks everything, but I'm keeping it for future
reference in case I try to revisit this idea.
2020-12-15 21:07:47 -07:00
Eevee (Evelyn Woods)
eec7ab2e1a
Fix rover behavior at last; lesson 5 now syncs
2020-12-15 17:50:13 -07:00
Eevee (Evelyn Woods)
25b4b32f94
Add teleport overriding and seriously clean up teleport code
2020-12-15 16:44:37 -07:00
Eevee (Evelyn Woods)
07c9a83f75
Fix crash with teeth and Cerise
2020-12-15 00:48:28 -07:00
Eevee (Evelyn Woods)
bf81738e19
Partly implement helmet; get rover very close to correct (?)
2020-12-15 00:44:07 -07:00
Eevee (Evelyn Woods)
55abe8b53a
Allow the bowling ball to slide normally
2020-12-15 00:26:00 -07:00
Eevee (Evelyn Woods)
f858668ca8
Clumsily teach bowling balls to destroy actors
2020-12-15 00:10:23 -07:00
Eevee (Evelyn Woods)
2d7df413ee
Allow ghosts to pass through thin walls
2020-12-14 23:59:38 -07:00
Eevee (Evelyn Woods)
dae66de160
Thieves will, however, take bribes from anyone
2020-12-14 23:49:47 -07:00
Eevee (Evelyn Woods)
2103c649f6
Implement a few quirks of ghost movement
2020-12-14 23:35:11 -07:00
Eevee (Evelyn Woods)
6d4326fe5b
Thieves only steal from the player
2020-12-14 23:29:05 -07:00
Eevee (Evelyn Woods)
3e18e38f15
Add rough implementations of dynamite and bowling ball
2020-12-14 23:25:48 -07:00
Eevee (Evelyn Woods)
9ade84c6fe
Generally only lose if the real player dies, not a doppelganger
2020-12-14 23:20:46 -07:00
Eevee (Evelyn Woods)
bf3c501353
Fix yellow tank behavior to be faux simultaneous
2020-12-14 23:14:31 -07:00
Eevee (Evelyn Woods)
c34aaadf06
Attempt, unsuccessfully, to implement ice block melting
2020-12-14 17:07:35 -07:00
Eevee (Evelyn Woods)
16f11f3a9b
Exits block CC1 blocks
2020-12-13 22:22:22 -07:00
Eevee (Evelyn Woods)
1c9dee1213
Add support for recording replays, with a bunch of refactoring along the way
2020-12-13 20:36:12 -07:00
Eevee (Evelyn Woods)
5e6784c235
Fix encoding and decoding of swivels
2020-12-13 15:56:24 -07:00
Eevee (Evelyn Woods)
93954135d2
Set splash delay back to 6; is correct after all I guess
2020-12-13 01:54:52 -07:00
Eevee (Evelyn Woods)
90008c3a89
Make the player push blocks at decision time
...
It turns out the player explores all their decisions in a very physical
way, which is the real source of block slapping and also means the
player can push blocks before anything else can move, regardless of
actor order.
This fixes at least half a dozen CC1 replays, which is just
mindboggling.
2020-12-13 00:39:36 -07:00
Eevee (Evelyn Woods)
f95913b6d8
Teeth chase the player's apparent position
2020-12-12 20:24:28 -07:00
Eevee (Evelyn Woods)
3a04b6276c
Go back to toggling green objects instantly
2020-12-12 19:22:04 -07:00
Eevee (Evelyn Woods)
4d23acb27e
Add on_approach; use it to erase animations and fix popdown floors
2020-12-12 19:00:58 -07:00
Eevee (Evelyn Woods)
769d424dde
Fix rendering breakage caused by a couple more out-of-turn moves
2020-12-11 22:54:01 -07:00
Eevee (Evelyn Woods)
8671bee08b
Run wiring thrice per tic; recognize some tiles have odd propagation rules
2020-12-11 22:49:23 -07:00
Eevee (Evelyn Woods)
410af788fc
Fix teleporters, and more generally out-of-turn movement
2020-12-11 20:58:50 -07:00
Eevee (Evelyn Woods)
2f130861d6
Remove animation_{progress,speed} and fix interpolation
2020-12-11 13:56:41 -07:00
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)
bd4cc10b16
Implement foil
2020-12-10 12:48:01 -07:00
Eevee (Evelyn Woods)
ef78085e40
Ghosts turn left, not right!
2020-12-10 12:45:15 -07:00
Eevee (Evelyn Woods)
422c702777
Allow blocks to reverse on railroads; partially implement teleporter wiring
2020-12-10 12:25:49 -07:00
Eevee (Evelyn Woods)
6063ea9fba
Wired tracks only switch on pulse; wired red teleports only work when powered
2020-12-09 21:07:14 -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)
e6d7876679
Fix directional blocks losing their arrows after being cloned
2020-12-08 19:00:50 -07:00
Eevee (Evelyn Woods)
ed58cbac6b
Editor: Add a (glitchy) wire tool; add right-click support to existing tools (hurrah)
2020-12-08 18:56:49 -07:00
Eevee (Evelyn Woods)
90b583df44
In CC2 (and Lynx, for different reasons), clones are immediately nudged out of the cloner
2020-12-08 17:22:20 -07:00
Eevee (Evelyn Woods)
4ee56fad01
Briefly reveal invisible walls, as in CC2
2020-12-08 12:48:25 -07:00
Eevee (Evelyn Woods)
f462ae3394
Add some more complex tiles to the palette; add ,/. shortcuts
2020-12-07 12:45:21 -07:00
Eevee (Evelyn Woods)
aeac5c285b
Finally add and wire up most of the debug panel
2020-12-06 18:51:12 -07:00
Eevee (Evelyn Woods)
c1ba299e9f
Fix collision for socket and exit
2020-12-06 17:01:47 -07:00
Eevee (Evelyn Woods)
90b6498ff9
Make wires and gray buttons affect swivel doors
2020-12-06 16:57:07 -07:00
Eevee (Evelyn Woods)
30261a106f
Mostly implement rover
2020-12-06 16:51:24 -07:00
Eevee (Evelyn Woods)
8428572def
Step in reverse order; allow pushing blocks on railroads; gliders ignore turtles
2020-12-06 16:29:07 -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)
d981a0a4be
Fix some interactions that differ between players/doppelgangers; add Cerise doppelganger movement
2020-12-06 14:59:54 -07:00
Eevee (Evelyn Woods)
70df85187f
Toggle force floors when powered
2020-12-06 11:13:37 -07:00
Eevee (Evelyn Woods)
cb62786470
Fix yellow teleport behavior (you pick up even if it itself is not blocked); play pickup sound
2020-12-03 22:43:24 -07:00
Eevee (Evelyn Woods)
564d247657
Play the thief sound even if you only lost bonus points
2020-12-03 21:58:45 -07:00