Krzysztof Wiśniewski
823faf64b7
Add tests for BinaryReader
and BinaryWriter
( #1273 )
...
* Add tests for BinaryReader and BinaryWriter
* Add guards for integer values
* Add small integer edge cases
* Add mixed data test
* Apply review change requests
* Use std.math.divCeil
* Adapt to endian parameter removal
* Apply review change requests
* Change duplicate u8 into u0
2025-04-05 11:19:35 +02:00
Carrie
747a2dc957
Add copper ore and make iron generate deeper ( #1268 )
...
* Add copper ore and redistribute ores
* Add copper recipes
* Revert ore redistrib, nerf copper
2025-04-04 17:32:15 +02:00
Krzysztof Wiśniewski
00c6b29736
Always use big endian ( #1274 )
...
* Always use big endian
* Apply review change requests
2025-04-03 21:32:59 +02:00
IntegratedQuantum
db3d640c2a
Add some testing for joining zon and fix #1231
2025-04-03 19:44:26 +02:00
IntegratedQuantum
0762e30955
Update CONTRIBUTING.md
...
I added a section on performance
2025-04-03 18:05:51 +02:00
Krzysztof Wiśniewski
f4e472c218
Add /set
command ( #1236 )
...
* Add /set command with pattern support
* Fix formatting issues
* Remove pattern code from PR
* Fix imports
* Apply review change requests
2025-04-02 21:23:37 +02:00
Krzysztof Wiśniewski
b0af58b21b
Refactor sendKeepAlive and receiveKeepAlive ( #1265 )
2025-04-02 21:18:17 +02:00
Krzysztof Wiśniewski
92fcd10069
Modernize genericUpdate
protocol ( #1257 )
...
* Modernize genericUpdate protocol
* Do not complicate sendGamemode
* Apply review change requests
* Yeet cure
* Rename to biomesByIndex
* Update src/network.zig
Co-authored-by: IntegratedQuantum <43880493+IntegratedQuantum@users.noreply.github.com>
* Use @typeInfo(T).vector
* Update src/network.zig
Co-authored-by: IntegratedQuantum <43880493+IntegratedQuantum@users.noreply.github.com>
* Undo blind remove of TODO
* Update src/server/terrain/biomes.zig
Co-authored-by: IntegratedQuantum <43880493+IntegratedQuantum@users.noreply.github.com>
* Remove defaultIndex argument from getByIndex
* Make biomesByIndex a ListUnmanaged
---------
Co-authored-by: IntegratedQuantum <43880493+IntegratedQuantum@users.noreply.github.com>
2025-04-02 18:05:36 +02:00
Krzysztof Wiśniewski
098115ad53
Block Entity Data ( #1224 )
...
* Implement VTable for entity data
* Make storage variable global
* Connect onInteract event
* Remove chest poc
* Revert "Remove chest poc"
This reverts commit 49759687dba180cbdf9609cfd942d2363991c4d5.
* Separate client and server callbacks
* Fix formatting issues
* Apply review requests
* Add assert and todo
* Apply review requests
* Remove chest textures
* Fix plenty of bugs in implementation
* Update src/entity_data.zig
Co-authored-by: IntegratedQuantum <43880493+IntegratedQuantum@users.noreply.github.com>
* Update src/entity_data.zig
Co-authored-by: IntegratedQuantum <43880493+IntegratedQuantum@users.noreply.github.com>
* Do not trigger onInteract while shifting
* Apply review requests
* Apply review change requests
* Update src/game.zig
Co-authored-by: IntegratedQuantum <43880493+IntegratedQuantum@users.noreply.github.com>
---------
Co-authored-by: IntegratedQuantum <43880493+IntegratedQuantum@users.noreply.github.com>
2025-03-31 20:07:31 +02:00
IntegratedQuantum
780c750162
Move the VirtualList into a new file, which will contain other virtual memory related data structures in the future.
2025-03-31 18:46:08 +02:00
IntegratedQuantum
2766b263c4
check if the item in the crafting inventory is null before using it.
...
fixes #1256
2025-03-30 19:30:11 +02:00
Krzysztof Wiśniewski
a7052d25f5
Add /redo
command ( #1238 )
...
* Add undo and redo commands
* Remove unintended change
* Remove redo code
* Revert "Remove redo code"
This reverts commit 80aeca1dc2d0f7b3f3570b95937a8f7fd87cac5d.
* Fix variable name in /redo
* Update import
2025-03-30 17:03:19 +02:00
IntegratedQuantum
1b7102768f
Remove the time from itemdrop rendering.
...
This was used for animated textures which isn't necessary anymore.
2025-03-30 12:13:15 +02:00
MnHs
f8210eb7b4
Add player item display ( #1109 )
...
* extract item model storage from itemdrop renderer to its own struct
* render player held item
* render display item on top of everything
* add custom projection matrix that ignores fov settings
* fixed item display position
* change indentation from spaces to tabs
* improved item display, added interpolation and hiding
* fix formatting
* cleanup
* cleanup, made item movement
* localize item display projection matrix
* fix formatting
* add lighting interpolation, remove item sway
* fix formatting
* switch to trilinear interpolation
* fix light interpolation
* fix formatting
* small tweaks
* small tweaks, move item hiding to f2 button
* some rendering tweaks
* fix item clipping
* resolve conflict
2025-03-30 12:09:24 +02:00
Krzysztof Wiśniewski
4a8c0a6327
Refactor SurfaceMap.zig
to use BinaryReader
and BinaryWriter
( #1252 )
...
* Refactor reading
* Refactor writing
* Apply review requests
2025-03-29 15:07:38 +01:00
Krzysztof Wiśniewski
34558a2906
Fix rotateZ ( #1253 )
2025-03-29 14:26:43 +01:00
Krzysztof Wiśniewski
21409df5a1
Add Structure Building Block asset loading ( #1240 )
...
* SBB
* Fix rotation code
* Remove rotate command
* Fix segfault during generation
* Delete format.bat
* Pregenerate all rotated blueprints
* Apply review suggestions
* Apply review suggestions
* Change child block storage model
* Resolve child structures during load
* Move structure_building_blocks.zig to terrain
* Update src/rotation.zig
* Apply review suggestions
* Remove sbb blocks
* Remove SBBGen
* Remove example SBB
* Remove blueprint code
* Remove createAssetStringID
* Apply review suggestions
* Apply review suggestions
* Add asset ID generation
* Revert "Add asset ID generation"
This reverts commit ffe8fd281486f2124ab83b0e614b6a7db97a020d.
* Remove SBB loading
* Revert "Remove SBB loading"
This reverts commit 7eabad906dd05e3c128115b824986ff96815ac03.
* Apply review requests
* Restore base.zig.zon
2025-03-28 20:05:46 +01:00
Krzysztof Wiśniewski
d9dc3f1a22
Add block pattern parsing ( #1237 )
...
* Revert "Remove pattern code from PR"
This reverts commit d9296b00cff93e7f0bd0962f012aa98f3ec39915.
* Apply review requests
* Update import
* Rename pattern.zig to Pattern.zig
* Fix compilation errors
* Remove code comment
2025-03-28 20:04:21 +01:00
Carrie
8d54e187cf
Convert leaf piles into texturePiles ( #1242 )
...
* Convert leaf piles to texturePiles, add to biomes, reduce break time
* Fix rotation name, tweak yellow leaf pile texture, delete unused leaf pile textures
2025-03-28 19:57:19 +01:00
IntegratedQuantum
b347be8764
Use std.testing.refAllDeclsRecursive
in teest builds to compile (most) unused functions ( #1249 )
...
* Use `std.testing.refAllDeclsRecursive` in teest builds to compile (most) unused functions
* Fix formatting
2025-03-28 17:23:27 +01:00
IntegratedQuantum
b5951f4bac
Remove some unused functions and other problems with std.testing.refAllDeclsRecursive
2025-03-27 21:43:29 +01:00
IntegratedQuantum
c2ef9aba62
Remove the root . . . . . . . . . . import, replacing it with @import("main")
...
To fully solve the ZLS issues I had to also add the import to the other executables.
2025-03-27 21:16:35 +01:00
IntegratedQuantum
a82ed65dfb
Initialize the seed in every thread, also added a helper function for threadlocal (de-)initialization.
...
fixes #1248
2025-03-27 20:09:09 +01:00
Carrie
dc902b3909
Add chest textures ( #1245 )
2025-03-27 16:41:28 +01:00
ikabod-kee
ce750dbe77
Added Duckweed ( #1247 )
2025-03-27 16:15:30 +01:00
Krzysztof Wiśniewski
1ec150d624
Blueprint asset loading ( #1207 )
...
* SBB
* Fix rotation code
* Remove rotate command
* Fix segfault during generation
* Delete format.bat
* Pregenerate all rotated blueprints
* Apply review suggestions
* Apply review suggestions
* Change child block storage model
* Resolve child structures during load
* Move structure_building_blocks.zig to terrain
* Update src/rotation.zig
* Apply review suggestions
* Remove sbb blocks
* Remove SBBGen
* Remove example SBB
* Remove blueprint code
* Remove createAssetStringID
* Apply review suggestions
* Apply review suggestions
* Add asset ID generation
* Revert "Add asset ID generation"
This reverts commit ffe8fd281486f2124ab83b0e614b6a7db97a020d.
* Remove SBB loading
* Apply review requests
2025-03-26 23:05:49 +01:00
IntegratedQuantum
0e9ffda1b1
Remove gui and server imports, these convenience imports aren't used anywhere anyways.
2025-03-25 21:14:39 +01:00
IntegratedQuantum
84fe4088fd
Add testing to the CI ( #1246 )
...
* Update ci.yml
* Fix compilation failure of testing code
2025-03-25 21:09:53 +01:00
Krzysztof Wiśniewski
05135f9f4c
Fix biome migrations loading ( #1239 )
2025-03-25 19:05:42 +01:00
Krzysztof Wiśniewski
12d05a06ff
Add /undo
command ( #1228 )
...
* Add undo and redo commands
* Remove unintended change
* Remove redo code
* Clean up redo code
* Use CircularBufferQueue
* Fix formatting issues
* Update src/server/server.zig
Co-authored-by: IntegratedQuantum <43880493+IntegratedQuantum@users.noreply.github.com>
* Apply review requests
---------
Co-authored-by: IntegratedQuantum <43880493+IntegratedQuantum@users.noreply.github.com>
2025-03-24 21:47:14 +01:00
IntegratedQuantum
fba10a94c2
Update CONTRIBUTING.md
...
Add file/namespace name convention
2025-03-24 21:30:29 +01:00
IntegratedQuantum
005fb6a3aa
Fix missing newline
2025-03-24 20:38:58 +01:00
IntegratedQuantum
1c2899eafd
Move rotation modes into separate files.
2025-03-24 20:33:39 +01:00
Krzysztof Wiśniewski
f5a2e3d3c1
Revert "Remove sbb blocks" ( #1226 )
...
This reverts commit 65cee0ef1202b3a85f9ac2799dc0f6b902fa4074.
2025-03-24 19:11:10 +01:00
Krzysztof Wiśniewski
d9a4e7cdd9
Extract createAssetStringID
( #1229 )
...
* Revert "Remove createAssetStringID"
This reverts commit 2c20a593e55bd84e202b9bfcbf13affb6f83fb96.
* Undo boy scout behavior
* Apply createAssetStringID to readAllObjFilesInAddonsHashmap
* Generialize ID generation
* Fix formatting issues
* Only remove the extension
* Apply review requests
2025-03-24 19:06:08 +01:00
IntegratedQuantum
1559c9d9e8
Update CONTRIBUTING.md
...
applying changes as suggested in a061dcb254 (r154211561)
2025-03-24 17:04:48 +01:00
IntegratedQuantum
ebf157785a
Fix memory leak in the GPU buffer.
...
mentioned in https://github.com/PixelGuys/Cubyz/issues/1202#issuecomment-2746564753
introduced in e7ecd161ce00851240ad5bb9bcb1aa0bd69dc1d5
2025-03-24 07:51:00 +01:00
IntegratedQuantum
a061dcb254
Update CONTRIBUTING.md, specifically the style guide section
...
fixes #1152
2025-03-23 22:50:40 +01:00
IntegratedQuantum
42268c4b22
Allow branches to have a shell model that's always rendered and add leafy branches for all wood types.
2025-03-23 20:21:37 +01:00
Carrie
8f0693f7b0
Lily pads / adjust water reflectivity ( #1221 )
...
* Add lily pads and reduce water reflectivity
* tweka water reflectivity
2025-03-23 19:36:31 +01:00
Krzysztof Wiśniewski
07f5d823dd
Add pile
rotation mode ( #1216 )
...
* Add pile rotation mode
* Fix formatting issues
* Rename to .zig.zon
* Update textures to those provided by ikabood-kee
* Add gradual block breaking
* Adapt to new model and texture changes
* New duckweed textures
* Add configurable state count
* Rename to texturePile
* Add moreData storage
* Apply review suggestions
---------
Co-authored-by: Carrie <carriecapp9@gmail.com>
2025-03-23 19:35:38 +01:00
Zachary Hall
20dfc6ba71
Add hunger, hunger bar, and related functions on the Player struct. ( #1210 )
...
* Add hunger and hunger bar
- New functions added to Player struct in game.zig to use and heal hunger.
- If an attempt is made to use more hunger than there is available, the player is killed.
- Hunger bar uses placeholder icons.
- Hunger bar is based on the health bar
- Hunger bar is anchored to the left of the hotbar, rather than the right like the health bar.
* Don't kill player when hunger runs out.
- Don't use hunger when there's not enough to use
- Allow for code to know if hunger was used, so that is can handle not having enough hunger.
* New hunger textures
* Desaturate the highlight a little
* Return true if hunger was already true.
* Fix formatting
* Rename hunger to energy, and fix other issues.
* Make energy synchronized between client and server
Also removes the functions that add/remove energy on the game.Player struct
* Run formatter
* Fix incorrect formatting by formatter.
* Remove AddHunger struct and addHunger function
- Keep base operation so things like accessories and food can use it when syncing
* Fix formatting again.
---------
Co-authored-by: Carrie <carriecapp9@gmail.com>
2025-03-23 17:06:21 +01:00
IntegratedQuantum
ac9f00cb32
Add utility functions to make function pointer casting more safe.
...
It's now only changing the self parameter, everything else will be checked at compile-time.
fixes #1223
2025-03-22 21:24:53 +01:00
Krzysztof Wiśniewski
5845da7ca9
Add /rotate
command ( #1225 )
...
* Revert "Remove rotate command"
This reverts commit 3a84e03d158e5cc038ae3e936384c348431a9ac4.
* Fix stair rotation
* Add rotate fn to Blueprint
* Apply suggestions from code review
Co-authored-by: IntegratedQuantum <43880493+IntegratedQuantum@users.noreply.github.com>
* Replace cos sin with switch
* Add angle parameter to /rotate
* Update src/blueprint.zig
* Apply review suggestions
* Fix formatting issues
* Update src/rotation.zig
---------
Co-authored-by: IntegratedQuantum <43880493+IntegratedQuantum@users.noreply.github.com>
2025-03-22 19:33:53 +01:00
Krzysztof Wiśniewski
e815d98b89
Refactor server.zig
to use BinaryWriter
and BinaryReader
( #1213 )
...
* Refactor update() in server.zig
* Refactor User.receiveData() to use BinaryReader
* Use network.networkEndian
2025-03-22 16:12:46 +01:00
IntegratedQuantum
1268f8e95e
Allow specifying all 16 model textures via its index
...
fixes #1144
2025-03-22 14:26:59 +01:00
IntegratedQuantum
01cfb786aa
Use a dedicated ModelIndex and QuadIndex to make more clear what it is and how to use it.
...
I also bumped model index size to 32 bits (storage is currently limited to 20 bits though)
We can afford this, since it's CPU side and it's only stored perblock type.
2025-03-22 10:45:09 +01:00
Krzysztof Wiśniewski
37eb01ec37
World edit commands for Cubyz ( #1141 )
...
* Add basic worldedit commands
* Fix style issues
* Fix style issues and command names
* Fix style issues
* Store worldedit command data in User
* Fix blueprint memory leak
* Add loading from Zon
* Use Block instead of u32
* Add binary storage format
* Add binary blueprint loading
* Fix formatting in copy.zig
* Use BinaryWriter for writing
* Use ReaderWriter for reading
* Add delete command
* Update src/blueprint.zig
* Apply review suggestions
* Fix formatting issues
* Update src/blueprint.zig
* Fix formatting issues
* Fix compilation issue
* make pos1 and pos2 null initially and also show the selection on the client
* fix issue
* Fix formatting issues
* Add deselect command
* Update src/blueprint.zig
* Add clone to Blueprint
* Convert to manual serialization
* Apply review suggestions
* Use Array3D
* Apply suggestions from code review
Co-authored-by: IntegratedQuantum <43880493+IntegratedQuantum@users.noreply.github.com>
* Apply review suggestions
* Reorder functions
* Rename
* Apply review suggestions
* Apply review suggestions
* Fix outlines
* Remove append
* Apply review suggestions
* Update src/blueprint.zig
Co-authored-by: IntegratedQuantum <43880493+IntegratedQuantum@users.noreply.github.com>
* Replace index with dash
* No green it is
* Update src/server/command/worldedit/pos2.zig
Co-authored-by: IntegratedQuantum <43880493+IntegratedQuantum@users.noreply.github.com>
* Update src/server/command/worldedit/pos2.zig
Co-authored-by: IntegratedQuantum <43880493+IntegratedQuantum@users.noreply.github.com>
* Update src/server/command/worldedit/pos1.zig
Co-authored-by: IntegratedQuantum <43880493+IntegratedQuantum@users.noreply.github.com>
* Apply suggestions from code review
Co-authored-by: IntegratedQuantum <43880493+IntegratedQuantum@users.noreply.github.com>
* Apply review suggestions
* Abstract file io to struct
* Revert "Abstract file io to struct"
This reverts commit f0bbe50aad0887d562069cb9ce18085f3de6e4cb.
* Add openBlueprintsDir function
* Apply review suggestions
* Apply review suggestions
* Update src/server/command/worldedit/blueprint.zig
Co-authored-by: IntegratedQuantum <43880493+IntegratedQuantum@users.noreply.github.com>
* Apply review suggestions
---------
Co-authored-by: OneAvargeCoder193 <mgiakimenko@outlook.com>
Co-authored-by: IntegratedQuantum <43880493+IntegratedQuantum@users.noreply.github.com>
2025-03-20 22:07:26 +01:00
Carrie
302544bbcb
Add cactus flowers, tussock, and cactus top texture ( #1195 )
...
* Add cactus flowers, tussock, and cactus top texture
* minor cactus flower texture tweaks
* Gradient cactus flower
2025-03-19 21:45:12 +01:00
Krzysztof Wiśniewski
f0eb9f4f5a
Add list palettes and item palette ( #1190 )
...
* Add list palettes and item palette
* Fix block-item assignments
* Remove initEmpty
* Replace This() with Palette
* Update src/assets.zig
Co-authored-by: IntegratedQuantum <43880493+IntegratedQuantum@users.noreply.github.com>
* Fix duplicated keys in legacy palette issue
* Remove redundant errdefer
* Some more figuring out order of registering
* Remove assertion breaking migrations 2to1
* Apply review suggestions
* Add error log for block and item ID conflict
* Remove migrations file
* Update src/assets.zig
---------
Co-authored-by: IntegratedQuantum <43880493+IntegratedQuantum@users.noreply.github.com>
2025-03-18 21:25:04 +01:00