* Revert "Remove SBBGen"
This reverts commit b49048412f21c57d5638144da7f039753a94cafc.
* Revert "Remove example SBB"
This reverts commit afc5d6fed0ba92b558ccda91893fdb3fc63f69ec.
* Revert "Remove blueprint code"
This reverts commit 2553950adbdcef9c1c68afe4109f9247b74abb92.
* Fix compilation errors
* Fix compilation errors #2
* Fix test errors
* Fix rotateZ
* Resolve structure reference while instantiating SBBGen
* Fix formatting issues
* Add new trees to forest
* Add new trees to grassland
* Decrease forest density so you can find new trees
* Add degradable paste mode
* Remove substitutions
* Apply review suggestions
* Use lookup table for alignment
* Apply suggestions from code review
* Update src/server/terrain/simple_structures/_list.zig
Co-authored-by: IntegratedQuantum <43880493+IntegratedQuantum@users.noreply.github.com>
* Fix inital SBB offset
* Never place air in placeInGeneration
* Integrate void block with paste
* Revert "Move hashInt and hashCombine to utils"
This reverts commit 9bb276f69f60ad60f1170d07ec30ebd02307a36a.
* Make PasteMode comptime
* Fix remaining issues with void block integration
* Fix formatting
* Apply review change requests
* Remove origin and child blocks while resolving sbbs
* Apply review change requests
* I hate indexing
* Fix example tree models
* Use single index for chunk and blueprint in pasteInGeneration
* Fix formatting
* Extract blueprintOffset
* Fix formatting
* Apply suggestions from code review
Co-authored-by: IntegratedQuantum <43880493+IntegratedQuantum@users.noreply.github.com>
* Apply Quantums suggestion for Y and Z
* No cast
* Use pos instead of chunkOffset
* Remove test tree
* Apply suggestions from code review
---------
Co-authored-by: IntegratedQuantum <43880493+IntegratedQuantum@users.noreply.github.com>
* Batch block updates
* Apply review change requests
* Allow blockUpdate to carry multiple block updates in single message
* Read until there is nothing left
* Use mesh_storage.BlockUpdate
* Break instead of boolean
* Restore client side neighbor updates
* Move side check in blockUpdate out of the loop
* Update src/utils.zig
* Fix minor issues
* Reverse ownership logic + change contains into liesInChunk
* Update liesInChunk
* No name for upadeBlock param
* Apply review change requests
* Fix formatting
* Restore onBreakClient where it should be
* Update src/renderer/chunk_meshing.zig
* Update src/renderer/chunk_meshing.zig
* Converge formatting with master
* fix formatting (https://github.com/ziglang/zig-spec/issues/38 is so stupid)
---------
Co-authored-by: IntegratedQuantum <jahe788@gmail.com>
* Add chest block placeholder
* Update location of chest.zig.zon
* added chests
* fix some stuff
* dont create all inventories on the client
* make it better
* remove comment
* fix formatting
* fix more formatting issues
* use chests instead of iron block
* fix formatting
* make blocks with inventories that are broken drop the items
* fix compiler error
* fix formatting
* fix formatting
* Trigger GitHub Actions
* add inventory saving to bin
* fix formatting
* fix formatting again
* fix formatting again again
* small change
* current changes
* thing
* Chest patch w/o quantums suggestions
* small test pls no merge
* it works with a couple segfaults that may or may not be in the base game
* final thing i think
* block inventories
* haha
* another thing
* fix formatting
* fix formatting again
* remove saving for now
* remove a comment
* remove more comments
* dont store inventory on the client
* something
* hardcode stuff for the future
* remove getwindow
* fix formatting
* fixes
---------
Co-authored-by: Krzysztof Wiśniewski <argmaster.world@gmail.com>
* really bad and inefficient star code i think
* add stars that dont work during the day but look cool
* remove galaxy shape and replace it with a simple sphere
* add broken background
* make stars affected by fog
* make the stars additive
* remove commented code in shaders
* remove unused variables in the shader
* make the stars spin
* make stars not have bloom
* fix formatting
* temp changes
* fix formatting (still temp changes)
* switch to cubyz random numbers
* multiply star matrix in cpu instead of gpu
* changed star to be twice as big, not affect by resolution as much, and also be loaded from a texture
* remove trailing whitespaces
* remove unused constants
* simplify the code by removing a log and power
* optimizing the stars
* remove debug code
* make stars triangles instead of points
* simplify the math more
* give star ssbo unique id
* fix formatting issues
* make array multiline
* fix formatting
* remove files i accidentally added
* remove random obj file
* fix some issues
* use square distance
* fix formatting
* small change
* fix some stuff
* fix other things
* comp error
* more stuff
* fix some stuff with the stars
* test
* fix formatting
* fix more formatting
* test 2
* fixes
* changes
* changes
* fix formatting
* fixes
* remove patch
* Change how to specify tool parameters
* Some mild reparammarametetrizatation and pickaxes now only have one relevant tip.
* Ignore properties that couldn't be found instead of assigning some default
* Remove grip and strength from materials
* Ensure that all woods can break all stones, but not copper, and ensure that all stones tipped woods can break copper.
Also increased weight damage slightly
* Reparammamaramamararara
* Update shover and axe (mostly copied from the pickaxe with less damage)
* Remove the unused FunctionType struct.
* Remove named slots from axe
All tags now share the same index space, I don't see a reason why we should have separate spaces for these.
I also made diamond powerful if encased in gold/silver
* Create the foundations of the new network system.
* Fix memory leak
* Implement a simple additive-increase-multiplicative-decrease congestion control scheme.
Also fixed the locking with the send path
* Fix edge case for mismatch in read and available position
* fix formatting
* Reimplemtent network statistics of the F6 menu
* Fix problem the F6 window size
* Rename size to capacity
* Implement the advanced network debug menu
* Fix a few problems
* Actually call the handlePacketLoss function
* Reduce startup delay and fix possible problems with negative RTTs
* Fix crash in block of partially received packets.
* Use a PriorityQueue for unconfirmed packets.
Also fixed a display issue in the advanced network menu
* Always send confirmations and change how packet loss is handled to avoid killing the network connection by only resending packets outside the receive buffer.
* Use the length instead of the endIndex in the CircularBufferQueue
this just made everything more difficult to work with.
* Optimize CircularBufferQueue.enqueueSlice with memcpy
* Fix problem with zero-length packets, which is a valid use case
* Fix a small edge case
* fix formatting
* Add missing code to increase the capacity in enqueueSlice
* Don't send more data than the receive buffer can fit.
* Use a better data structures that handles the received ranges
* Use memcpy in more circular buffer functions
* Send a keepalive if the connection hasn't been established but the player was invited by the server
* Implement disconnecting for the new protocol
* Reimplement timeout
* Only add new connections when the other side actually sent an init packet.
otherwise the connections stay in the queue, and need keepalives.
also moved the code from the invite window to network.zig, where it belongs
* Don't allow queueing more than 2 GiB of data (i32 limit)
* Reimplement and simplify reconnection
* Use member functions for Socket
* React to packets using a scheme similar to TCP
TCP will send a fast retransmit on first loss discovered by DACKs, shortly after starting the RTO timer.
In essence this means that only second loss of the smallest packets is handled by congestion control.
* Increase scaling after congestion control halves bandwidth.
Now it increases it by at least 1%, isntead of only by the MTU
* Use start and len instead of start and end for the RangeBuffer
* Use ListUnmanaged in RangeBuffer
* Rename flawedReceive to tryReceive
* Add a `ms` constant to make it easier to see what units some of the constants use.
Also added a function alias for microTimestamp to make it potentially easier to change to other timestamps in the future.
* Add big mushroom blocks, tweak mushrooms to match
* Add mushroom branches, make glimmergill cap emissive, add recipes, material vals
* Tweak blockHealth