Eevee (Evelyn Woods)
fda1c6c66e
Fix drag and drop with directories; improve drop zone
2021-01-04 12:56:30 -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)
9cf2b82c8e
Change the bulk test results into a (slightly more compact) table
2021-01-03 13:48:11 -07:00
Eevee (Evelyn Woods)
0e1bd91075
Add a bunch more sound effects
2021-01-03 13:07:15 -07:00
Eevee (Evelyn Woods)
29df283f80
Add support for zlib-compressed levels in URLs
2021-01-01 22:09:49 -07:00
Eevee (Evelyn Woods)
c55a415099
Support drag and drop with a single CCL or ZIP
2021-01-01 18:25:20 -07:00
Eevee (Evelyn Woods)
1b55e82061
Add CC2LP1; streamline the splash page, moving most of the text to the GitHub wiki
2021-01-01 18:18:50 -07:00
Eevee (Evelyn Woods)
aac1e09c72
Add support for pgchip's magic number and ice block encoding
2021-01-01 17:11:11 -07:00
Eevee (Evelyn Woods)
0d35274d6a
Add support for loading CC2 ZIPs, and parse out C2G game titles
2021-01-01 15:26:33 -07:00
Eevee (Evelyn Woods)
83793603d3
Improve interactions between turn-based mode and tic navigation
2021-01-01 13:10:48 -07:00
Eevee (Evelyn Woods)
c8686f9d66
Copy a level's title to the right places in the editor so it shows in the level browser
2021-01-01 12:44:20 -07:00
Eevee (Evelyn Woods)
4454970564
Split up the Steam loop into begin/finish parts to match what turn-based mode expects
2020-12-31 18:01:40 -07:00
Eevee
f0cd4d3c5a
Merge pull request #22 from Patashu/master
...
fix turn-based mode
2020-12-31 17:23:24 -07:00
Eevee (Evelyn Woods)
130b917c81
Lazily load the level in the player and editor, so an unplayable level doesn't break the editor too
2020-12-30 18:21:21 -07:00
Eevee (Evelyn Woods)
de53582d47
Fix perception and use it to implement the xray eye
2020-12-29 20:42:53 -07:00
Timothy Stiles
f6a79456e9
fix turn-based mode
2020-12-30 13:01:01 +11:00
Eevee (Evelyn Woods)
63f09283ea
Make actors explode when starting the level on a bomb
2020-12-29 07:21:18 -07:00
Eevee (Evelyn Woods)
fa47c28136
Fix some omissions with saving stats for custom level packs
2020-12-28 10:20:08 -07:00
Eevee (Evelyn Woods)
d4fab4fba2
Restart a "waiting" level when changing compat mode; adjust player state when navigating with debug panel
2020-12-27 07:07:55 -07:00
Eevee (Evelyn Woods)
09c1976608
Make the bulk tester more aggressive (any more shows no further time gain)
2020-12-26 02:02:24 -07:00
Eevee (Evelyn Woods)
1a7dc3e737
Implement a couple more compat flags and fix some typos with the dialog
2020-12-24 06:30:22 -07:00
Eevee (Evelyn Woods)
1968420027
Improve the pack handling experience somewhat
...
- Include links for the stock packs
- Show completion amount and total time for played packs
- Expose a list of all other packs the player has played
- Allow forgetting a pack
- Jump to the current level when reopening a pack
- Highlight the current level in the level browser, and scroll to it
2020-12-24 05:36:57 -07:00
Eevee (Evelyn Woods)
a8800838d4
Add a loading and error screen; also include compat CSS oops
2020-12-24 03:38:13 -07:00
Eevee (Evelyn Woods)
756a563135
Add a (working!) compatibility dialog, and a ruleset dropdown to the bulk tester
2020-12-24 01:51:27 -07:00
Eevee (Evelyn Woods)
2381bd38b9
Add compat switches for using the CC2 timing and update order
...
Other gameplay changes/fixes that crept in:
- Ghosts no longer pick up red keys
- Doppelgangers now read their movement directly from players, so no
intermediate variables are necessary
- Spring mining is no longer possible
- Push recursion is detected and prevented
- Bowling balls will also blow up anything that runs into them
2020-12-23 04:30:10 -07:00
Eevee (Evelyn Woods)
077a809168
Possibly fix update rate to be more consistent
2020-12-20 20:23:59 -07:00
Andrew Ekstedt
8986a497fd
Disable undo during bulk testing
...
Undo generates a lot of garbage. Faster not to.
CC1 bulk test on my laptop:
Firefox 77 speeds up from 61s to 41s
Chrome barely moves, from 34s to 28s
2020-12-19 19:12:28 -08:00
Eevee (Evelyn Woods)
148beb7d74
Implement all-players-exit behavior; touch up locks, buttons, logic gates; fix demo saving
2020-12-19 17:16:50 -07:00
Eevee (Evelyn Woods)
48f085d0df
Remove Level.cells in favor of linear_cells
2020-12-17 15:51:57 -07:00
Eevee (Evelyn Woods)
2fa35336cb
Allow running in debug mode automatically when run from localhost
2020-12-17 14:47:30 -07:00
Andrew Ekstedt
cf90c7ac67
Minor quality of life improvements for the bulk tester
...
- Jump to result by clicking on the progress bar
- Include level titles in the progress bar hover text
Makes it a little easier to navigate lengthy test results.
2020-12-16 21:51:14 -08:00
Eevee (Evelyn Woods)
af7d2c741b
Give the bulk tester a category for early exit
2020-12-16 01:38:45 -07:00
Eevee (Evelyn Woods)
f0e702e397
Fix display of errored levels in bulk tester
2020-12-16 00:12:43 -07:00
Andrew Ekstedt
55bf250c63
Add grade report to the bulk tester
2020-12-15 20:08:35 -08:00
Eevee (Evelyn Woods)
7c82a4cdf9
Only do CC2 actions per press, not per held tic
2020-12-15 01:07:02 -07:00
Eevee (Evelyn Woods)
0f02e270f2
Catch level parse errors in the bulk test dialog
2020-12-15 00:55:40 -07:00
Eevee (Evelyn Woods)
2d7df413ee
Allow ghosts to pass through thin walls
2020-12-14 23:59:38 -07:00
Eevee (Evelyn Woods)
beb5a5c743
Change the debug mode trigger to a regular click
2020-12-14 17:02:14 -07:00
Eevee (Evelyn Woods)
f3f73a5e41
Move input handling into Level and clean it up a ton; add a bulk test gizmo
2020-12-14 17:02:14 -07:00
Eevee (Evelyn Woods)
c8ed4b9fba
Fix the spelling of Chuck Sommerville's name lol whoops
2020-12-13 20:43:01 -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)
077ac65650
Restore turn-based mode
2020-12-12 18:16:52 -07:00
Eevee (Evelyn Woods)
299b1578a7
Mostly revert actor loop reorg
...
I was right the first time, and I've proven it to myself now. I
originally made the change because I couldn't see any other way to fix
the ICEBERG replay from Steam CC1, but now, I do!
2020-12-12 17:57:47 -07:00
Eevee (Evelyn Woods)
413fdce590
Rejigger input parsing to be stateless and better match CC2; syncs SCAVENGER HUNT!
2020-12-12 01:08:08 -07:00
Eevee (Evelyn Woods)
c17169f49d
Rearranged debug panel a bit; added progress bar for replay playback
2020-12-11 22:15:39 -07:00
Eevee (Evelyn Woods)
fde7d9a11c
Remove some old stuff; stub out replay progress bar
2020-12-11 21:40:40 -07:00
Eevee (Evelyn Woods)
fec09c03ba
Support running the game at ludicrous speed
2020-12-11 21:31:07 -07:00
Eevee (Evelyn Woods)
0f0c7437a6
Allow rewinding a replay without desyncing it
2020-12-11 21:14:19 -07:00
Eevee (Evelyn Woods)
a96c089d7f
Move the debug panel to a sidebar
2020-12-11 19:43:22 -07:00
Eevee (Evelyn Woods)
b8dd0ae41e
Add a delay before restarting a failed level by tapping the viewport
2020-12-11 14:39:14 -07:00