{"push_id":1480752292,"size":5,"distinct_size":0,"ref":"refs/heads/master","head":"ba8232d3a3b73b7b719d5b56fe246f27389378ae","before":"7843cda5a40ad3544627a1164b169cd51aa31b47","commits":[{"sha":"579b35d28b29bf8c4413417485b2310330a76373","author":{"name":"sestrenexsis","email":"d1b0017892f7707dcc9d4d5b307c83913a9275be@comcast.net"},"message":"Refactor entity creation to use JSON\nThe responsibilty for creating Devices will fall to the GameData JSON\nfile so that new Devices can be added without the addition of new code.\nCurrently, the Splitter and 7-segment display have been converted, but\nthe rest of the Devices will still need to be converted.\n\nOther changes to note:\n - Added Frame class to aid in drawing multi-part sprites.","distinct":false,"url":"https://api.github.com/repos/SestrenExsis/DigitalLogic/commits/579b35d28b29bf8c4413417485b2310330a76373"},{"sha":"c6e8e1c5a9923701e3cde4f2d256b5f14b1efa4d","author":{"name":"sestrenexsis","email":"d1b0017892f7707dcc9d4d5b307c83913a9275be@comcast.net"},"message":"Finish moving truth tables into entities\n\nThere is no longer any need to store a list of truth tables by key, as\nentities defined in the GameData JSON now provide their own info for it.","distinct":false,"url":"https://api.github.com/repos/SestrenExsis/DigitalLogic/commits/c6e8e1c5a9923701e3cde4f2d256b5f14b1efa4d"},{"sha":"d54a39e2ef33b16e211fe82bd448facce4ca07f0","author":{"name":"sestrenexsis","email":"d1b0017892f7707dcc9d4d5b307c83913a9275be@comcast.net"},"message":"Fix bug with truth table outputs\n\nSince the order of inputs can be arbitrary, this was causing erroneous\nbehavior with truth tables when searching for an output by its input\nparameters. To fix this, the index needs to be calculated by the input's\nweight instead. Weights are typically powers of 2, to ensure that a\nunique index is always possible. If a non-unique index is found, an Error\nis thrown.\n\nSearching for an output is now done be recomputing the index and pulling\nthe output map at that index.","distinct":false,"url":"https://api.github.com/repos/SestrenExsis/DigitalLogic/commits/d54a39e2ef33b16e211fe82bd448facce4ca07f0"},{"sha":"ad053a8d966d4d3c6efcde5948303c105acac26f","author":{"name":"sestrenexsis","email":"d1b0017892f7707dcc9d4d5b307c83913a9275be@comcast.net"},"message":"Add Full Adder device\n\nA full adder is the result of chaining two half adders together with an\nXOR gate. It has 3 inputs (x, y, and carry_in) and 2 outputs (sum and\ncarry_out). The sum output is true when 1 or all three of the inputs is\ntrue, and the carry_out output is true when 2 or more of the inputs is\ntrue.","distinct":false,"url":"https://api.github.com/repos/SestrenExsis/DigitalLogic/commits/ad053a8d966d4d3c6efcde5948303c105acac26f"},{"sha":"ba8232d3a3b73b7b719d5b56fe246f27389378ae","author":{"name":"sestrenexsis","email":"d1b0017892f7707dcc9d4d5b307c83913a9275be@comcast.net"},"message":"Remove special switch and constant logic\n\nAll switches and constants now use the same truth table logic that\nother devices use. To accomodate the special interactivity that a\nswitch provides, states have been added to Devices. Clicking on a\nDevice with multiple states will cause it to step through the next\nstate, until reaching the maximum state value where it will reset to\nthe first state.\n\nTo take advantage of this, outputValues and frames in the GameData JSON\nfile have to list S * (2 ^ I) values in their arrays, where S is the\nnumber of states, and I is the number of inputs. States occupy the\nsmallest bits, with Inputs occupying the largest bits, so a device with\n2 states and 2 inputs would need an array of length 8, with the first\ntwo values corresponding to states 0 and 1 for a false/false input, the\nnext two values corresponding to states 0 and 1 for a true/false input,\nand so on.\n\nOther changes to note:\n - Added a toggleable NOT gate that can be disabled, turning it into a\n   buffer, and enabled by clicking on it, like a switch.\n - Added a 4-bit switch that displays its current value in the same\n   fashion as a 7-segment display. Clicking on it increments the value\n   until it reaches the maximum value, after which it resets to zero.","distinct":false,"url":"https://api.github.com/repos/SestrenExsis/DigitalLogic/commits/ba8232d3a3b73b7b719d5b56fe246f27389378ae"}]}
{"actor":{"display_login":"SestrenExsis"}}