Commit Graph

127 Commits (a35d481b151e7c3eec29ab970b1a10657f5709b7)

Author SHA1 Message Date
Louis Pearson a35d481b15 Improve switch node, recursive circuit eval
- Switches now have two possible states, stored in a u8. This is either
on/off in the case of vertical switches, or a toggle between the two
SwitchOutlets for Tee switches
- Circuit is now recursively evaluated to make sure every node was
updated after their parent node.
2022-08-08 15:50:05 -06:00
Louis Pearson c179f234dd Prototype switch circuitnode implementation 2022-08-08 14:39:33 -06:00
Louis Pearson b4cc068efa Separate sockets/plugs, fix join search function 2022-08-08 12:45:34 -06:00
Louis Pearson 8c26b29ca6 Get wires connecting
Unforunately this has exposed my circuit analysis is incomplete
2022-08-07 23:46:16 -06:00
Louis Pearson ae51861c6e Format circuit 2022-08-07 21:23:13 -06:00
Louis Pearson 55c12f4828 Update state of circuit graph 2022-08-07 21:20:22 -06:00
Louis Pearson 76d50ce508 Begin adding global circuit sim 2022-08-07 16:37:37 -06:00
Louis Pearson 020e6f3615 Read and write circuit nodes 2022-08-07 15:56:26 -06:00
Louis Pearson c086c6d9de Add coordinate type, formatting functions 2022-08-07 14:40:08 -06:00
Louis Pearson 2df39b45f3 Copy And code to Xor 2022-08-07 12:51:20 -06:00
Louis Pearson 37051fe1eb Connect both inputs of And gate 2022-08-07 12:47:44 -06:00
Louis Pearson 5f6393fef7 Fix coordinate bug with circuit analyzer 2022-08-07 00:51:08 -06:00
Louis Pearson 99b49dabd4 Initial draft of circuit analysis 2022-08-07 00:16:00 -06:00
Louis Pearson 376e001a69 Remove memory leaks from switching levels 2022-08-06 17:37:25 -06:00
Louis Pearson 6bfead54cc Allow movement between screens 2022-08-06 17:30:06 -06:00
Louis Pearson 109b3aade7 Implement proof of concept screen movement 2022-08-06 02:48:16 -06:00
Louis Pearson 7482a917ac Get world database working 2022-08-06 02:15:04 -06:00
Louis Pearson 03bf16cba4 Remove debug statements 2022-08-06 01:18:55 -06:00
Louis Pearson f5691e45f1 Import multiple levels 2022-08-06 01:15:38 -06:00
Louis Pearson 3fcd7e0942 Flesh out world data format, make parseLevel fn 2022-08-05 21:55:07 -06:00
Louis Pearson 9655abc120 Fix is_door 2022-08-05 19:47:33 -06:00
Louis Pearson c137c88cef Plan world data structure 2022-08-05 19:11:36 -06:00
Louis Pearson 4c51c52d05 Remove the other sources of off-by-one 2022-08-05 18:34:08 -06:00
Louis Pearson d81c1f5ab1 Use world for isSolid in map
For some reason, I made all my map tile constants have to be shifted by
one. It's very annoying.
2022-08-05 17:53:27 -06:00
Louis Pearson c4663deb1f Put tile constants in one place 2022-08-05 17:48:55 -06:00
Louis Pearson d2d25b4e56 Add doors back in 2022-08-05 16:58:57 -06:00
Louis Pearson cce79b4d90 Uncomment door code
Still doesn't work because I decided to do doors differently. My next
step is to make the door entities add and remove tiles
2022-08-05 16:42:24 -06:00
Louis Pearson 3c0f4580b5 Fix bug where some tiles were not showing up
Turns out I was shifting a u7 thinking it was u8, and this caused the
high bit to be chopped off of some values. I also made the high bit
indicate the type instead of the low bit.
2022-08-05 15:23:22 -06:00
Louis Pearson 83bd4d9aec Attempt to solve invisible rocks
They are on the map, but the wrong tile is getting selected
2022-08-05 00:18:22 -06:00
Louis Pearson 638440f619 Fix switch toggling 2022-08-04 22:32:20 -06:00
Louis Pearson e8ebe43de6 Partially fix circuits and wires 2022-08-04 22:16:33 -06:00
Louis Pearson dd26d1f093 Iron out wrinkles with one way platforms 2022-08-04 20:48:27 -06:00
Louis Pearson 8ad6d20fbd Initial implementation of one way platforms 2022-08-04 20:39:28 -06:00
Louis Pearson d799830ad9 Get the game running again 2022-08-04 19:02:11 -06:00
Louis Pearson 280d73ae59 Game is compiling 2022-08-04 17:56:32 -06:00
Louis Pearson 84b5e4cb41 Begin converting game.zig to use ldtk data 2022-08-04 17:18:34 -06:00
Louis Pearson b5ca48e1b3 Render one-way platforms 2022-08-04 14:48:29 -06:00
Louis Pearson 8d3f69af03 Rearrange tiles, add one way platform tiles
- Update autotile to work based off of offset
- Update wired.ldtk to use new tiles
- Regenerate tiles.zig
- Remove hard-coded autotiles
2022-08-04 14:41:15 -06:00
Louis Pearson 0c79bfe575 Simplify world types 2022-08-04 13:11:20 -06:00
Louis Pearson 8c7a6b096f Remove bounded array 2022-08-04 12:11:29 -06:00
Louis Pearson d27051e526 Add AutoTileset kinds 2022-08-04 09:39:54 -06:00
Louis Pearson 60c6a5df8d Auto-tile circuits 2022-08-04 03:17:23 -06:00
Louis Pearson f88d689404 Update generated tiles 2022-08-04 03:17:03 -06:00
Louis Pearson 41b0846713 Fix debris 2022-08-04 02:22:34 -06:00
Louis Pearson 21f8ae7087 Succesfully load autotiles 2022-08-04 01:59:32 -06:00
Louis Pearson f944f754b1 Write world data on build 2022-08-03 23:50:50 -06:00
Louis Pearson 2aa246f1bd Define world data types 2022-08-03 22:06:17 -06:00
Louis Pearson 2296695c0d Update ldtk map 2022-08-03 22:05:50 -06:00
Louis Pearson aa7a1988ba Begin implementing LDtk import 2022-08-03 18:31:44 -06:00
Louis Pearson d2e663c09e Update zig-ldtk to fixed version 2022-08-03 16:39:09 -06:00