Commit Graph

25 Commits

Author SHA1 Message Date
Eevee (Evelyn Woods)
39a7985c1e Add support for map compression; use URL-safe base64 2020-09-16 01:08:08 -06:00
Eevee (Evelyn Woods)
a7f00d6ec4 Get level encoding and URL sharing just barely working! 2020-09-16 00:11:52 -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)
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)
d3e60b88fa Stub out enough for CC2's Lesson 3 to load 2020-09-10 21:21:30 -06:00
Eevee (Evelyn Woods)
5da3a0f473 Load random force floors from c2m; read the initial direction from replays 2020-09-10 18:22:50 -06:00
Eevee (Evelyn Woods)
16bfe22593 Implement score flags and the stopwatches 2020-09-10 17:45:14 -06:00
Andrew Ekstedt
71008d5a20 Avoid lookbehind assertion
The game fails to load under Firefox 77.0 with the very helpful error
message,

    SyntaxError: invalid regexp group   format-c2m.js:1:1

Turns out that it doesn't like the `(?<=^|\n)` lookbehind group in
the CLUE regexp. It seems lookbehind support wasn't added until FF 78,
according to the big table[1]. Switch it to a multiline regexp instead.

[1]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions#Browser_compatibility
2020-09-10 15:01:06 -07:00
Eevee (Evelyn Woods)
321641d8d8 Make fire block monsters; cleanup in prep for more CC2 nonsense 2020-09-08 14:52:23 -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
Eevee (Evelyn Woods)
214a430e52 Load the CC2 thin walls (and canopy) 2020-09-08 14:11:20 -06:00
Eevee (Evelyn Woods)
bee6ba4c80 Fix CC2 encoding of S/E thin walls 2020-09-03 09:46:06 -06:00
Eevee (Evelyn Woods)
a36ca20b26 End replays at 0xFF; ignore P2's input; delete old comments 2020-09-03 09:45:51 -06:00
Eevee (Evelyn Woods)
ab377f6593 Fix demo playback (!): bumping doesn't cause cooldown, thieves were backwards 2020-09-01 05:00:57 -06:00
Eevee (Evelyn Woods)
eb2dd7a4a4 Implement clone machine! 2020-09-01 01:31:42 -06:00
Eevee (Evelyn Woods)
b871181bf4 Add support for demos, terrible UI for it, and a clumsy pause button 2020-08-31 08:40:44 -06:00
Eevee (Evelyn Woods)
b3a0ff963c Begrudgingly support letter tiles 2020-08-29 02:10:27 -06:00
Eevee (Evelyn Woods)
a2e1a4fd9a Stop parsing a C2M at END; fix CC2 force floor tiles 2020-08-29 01:31:05 -06:00
Eevee (Evelyn Woods)
ec872d93d2 Implement implicit terrain for C2M; implement thin walls 2020-08-29 01:14:59 -06:00
Eevee (Evelyn Woods)
a9b1af8e62 Support CC2's multiple hints 2020-08-29 00:58:04 -06:00
Eevee (Evelyn Woods)
bbfa0a6e8f Split out CC2 tile bytes; stub out enough for Lesson 1 to load; show inventory; implement misc bits 2020-08-28 07:01:28 -06:00
Eevee (Evelyn Woods)
3084ca7b49 Initial commit: a game that plays through some of CCLP1 2020-08-28 04:02:03 -06:00