- Fixed a gigantic bug where, due to a typo, a new circuit was created
for every single wire segment. Oops!
- The wiring phase now has somewhat fewer intermediate parts.
- Power-generating tiles have an explicit update phase, rather than
updating in a method whose name starts with "get".
Anyway it's slightly faster than when I started and that's nice.
Only drawback is that circuit recalculation doesn't quite undo
correctly, but I think the effect is only visual.
If I can get rid of all of these, I can combine multiple undo entries,
and allow undoing backwards in time further (but more coarsely) with the
same memory usage.
This also introduces some actor pooling, which... reduces memory usage
very slightly on clone-heavy levels, but may not be worth it overall.
This fixes CCLP5 level 25 (and I think one or two others) by introducing
a new item, the dormant bomb, which turns into a regular bomb when
something moves off of it.
Other accumulated tileset touchups that snuck in:
- Recolored the canopy to hopefully look more like a tent
- Lightened slime by one shade
- Made the custom green floor colors clash less, and lightened the
yellow floor grout
- Removed the shadow from the pause stopwatch, and lightened the other
two, to better distinguish their different behavior
- Added little rivets to steel walls
- Made the symbols on the sokoban blocks easier to see
- Lightened the blue and red keys to match the shade of the other two,
and also hopefully make them easier to see atop water and thieves
- Shrank the railroad crossing sign slightly
- Added laces to the hiking boots
- Added shading to the bowling ball
- Removed the shadows from the actor versions of the bowling ball and
dynamite
- Darkened the dynamite item to better distinguish it from active
dynamite
- Lightened the blue teleporter exit so it doesn't look too much like an
inactive red teleporter
- Improved the gradient on the beetle
- Made the hint tile look recessed like CC2, to better convey that it
blocks some actors
- Added art for some possible tiles: rainbow teleporter, toll gate, nega
heart, phantom ring, feather
It was trying to do too many things. Also, the adjust tool is now free
to operate on actors, and can toggle the form of a number of them.
- Rearranged the palette to put colored tiles in canonical key order,
finally
- Expanded the size of the SVG overlay slightly so hover effects don't
get cut off at the level border
- Fixed some MouseOperation nonsense by simply using the same object
when the same operation is bound to both mouse buttons
- Added a verb and preview to the adjust tool, in the hopes of making it
slightly more clear what it might do
- Enhanced the adjust tool to place individual thin walls and frame
arrows
For example, you can now make connections with the connection tool.
Remarkable.
Unfortunately, implicit connections aren't updated as you edit the level
yet.
Also came with some refactors for searching a level and whatnot.
Not sure the latter one is even correct at all; it completely breaks
ICEHOUSE, for one. I guess it made more sense with the previous hacky
implementation of force floors applying at the start of the game.
Since sliding happens either on cell arrival or in the actor's idle
phase, the actor will always have a pending slide by the end of a tic,
so this code doesn't actually do anything.
This seems to simplify things and also explain the CC2 semantics: force
floors activate while being stood on (which happens, I guess, during
idle), so it applies to objects that start the level on force floors.
This was probably done to make force floor flipping work, too. On the
other hand, ice still only activates when being stepped on.
Teal Knight suggestion. It's a purely backwards compatible way to distinguish the two characters a little more, and fits her theme, but it's up to you.