499 Commits

Author SHA1 Message Date
archbirdplus
a47b6851e6
Upgrade deps (#347)
* build.zig: add ../Library RPath to Mac

* build.zig: pull from specific package by system

* build.zig: MacOS: Don't link GL, redundant

* Add extra dependency for headers

* Fill the missing hashes and work around problems for linux-gnu targets.

* Update macos libraries using the glfw fork.

---------

Co-authored-by: IntegratedQuantum <jahe788@gmail.com>
2024-05-17 21:24:01 +02:00
IntegratedQuantum
bb25c0181e Show internal leaves faces.
Fixes #217 at a heavy performance cost.
2024-05-17 20:50:04 +02:00
careeoki
2d73ebdc0a
Pine Trees + Updated Taiga (#356)
* Pine Tree assets

* Pine Tree textures

* Update Taiga with Pine Trees

Note that I didn't make a "pine log top" block.

* Update Taiga with Pine trees

Now with a pine log top. I really dont liike the log tops. Not that they dont look good just how they would be for gameplay

* Add Pine fence and Pine top

* Update pine needles

* Pine Trees Taiga

* Fix line endings for Pine blocks

* Fix Taiga line endings
2024-05-17 20:03:07 +02:00
IntegratedQuantum
0aa143a285 I accidentally committed some debug code that stored all chunks. 2024-05-17 17:39:28 +02:00
IntegratedQuantum
001416dde6 Refactor the Chunk, sperating the Server-specific functionality into a new struct.
Also fixes some data races and changes the default compression so it no longer includes the (redundant) chunk position.
2024-05-17 17:28:53 +02:00
IntegratedQuantum
0628c24b6c Fix chunk saving
fixes #359
2024-05-17 11:31:32 +02:00
IntegratedQuantum
1ba81dc62f Fix the python script so it detects \r correctly. 2024-05-16 21:18:38 +02:00
IntegratedQuantum
48bf2a6d0a Refcount the chunks and fix a crash when placing blocks at a chunk border.
Fixes #338
2024-05-16 20:47:53 +02:00
IntegratedQuantum
13f27a605f Update neighbor block state on the server.
fixes #354
2024-05-15 20:51:34 +02:00
IntegratedQuantum
814bcedcba Ensures that all chunks are stored within 5 seconds of an update.
Closes #348
2024-05-14 20:44:28 +02:00
IntegratedQuantum
cca1c14242 Fix incorrect loading of the block palette.
Fixes #351
2024-05-14 11:27:54 +02:00
IntegratedQuantum
2295ddf310 Fix compiler error on windows after update. 2024-05-14 09:45:30 +02:00
IntegratedQuantum
628404393c Store all chunks when the world is closed and generate lods for the chunks that need to be stored.
Closes #80
2024-05-13 22:20:25 +02:00
IntegratedQuantum
73b8229b24 Update zig 2024-05-13 12:44:05 +02:00
IntegratedQuantum
b62c7d8cb3 Insert missing mutex.lock that caused a crash on mac. 2024-05-13 09:06:06 +02:00
IntegratedQuantum
758b9ec21b Load and store chunks (it is a bit fragile still)
A big step towards #80, still needs some work to ensure all chunks are stored, including updating lod chunks.
2024-05-12 19:41:02 +02:00
IntegratedQuantum
d45f92f20f Start working on the RegionFile and chunk compression. 2024-05-08 13:14:53 +02:00
IntegratedQuantum
2b4f2036f0 Add music by Mrmayman
Co-Authored-By: Mrmayman <119435518+Mrmayman@users.noreply.github.com>
2024-05-05 18:44:03 +02:00
careeoki
a73c7dfcac
New coloured blocks palette, Chalk and glass (#340)
* Create chalk folder

* Add chalk

* Delete temp file

* Create chalk texture folder

* Add chalk textures

* Delete assets/cubyz/blocks/glass/light_blue.json

* Delete assets/cubyz/blocks/glass/dark_green.json

* Delete assets/cubyz/blocks/glass/dark_red.json

* Delete assets/cubyz/blocks/glass/dark_gray.json

* Delete assets/cubyz/blocks/glass/gray.json

* Updated glass colous

* Delete assets/cubyz/blocks/textures/glass/black.png_absorption.png

* Delete assets/cubyz/blocks/textures/glass/blue.png_absorption.png

* Delete assets/cubyz/blocks/textures/glass/brown.png_absorption.png

* Delete assets/cubyz/blocks/textures/glass/cyan.png_absorption.png

* Delete assets/cubyz/blocks/textures/glass/dark_gray.png

* Delete assets/cubyz/blocks/textures/glass/dark_gray.png_absorption.png

* Delete assets/cubyz/blocks/textures/glass/dark_gray.png_reflectivity.png

* Delete assets/cubyz/blocks/textures/glass/dark_green.png

* Delete assets/cubyz/blocks/textures/glass/dark_green.png_absorption.png

* Delete assets/cubyz/blocks/textures/glass/dark_green.png_reflectivity.png

* Delete assets/cubyz/blocks/textures/glass/dark_red.png

* Delete assets/cubyz/blocks/textures/glass/dark_red.png_absorption.png

* Delete assets/cubyz/blocks/textures/glass/dark_red.png_reflectivity.png

* Delete assets/cubyz/blocks/textures/glass/gray.png_absorption.png

* Delete assets/cubyz/blocks/textures/glass/gray.png

* Delete assets/cubyz/blocks/textures/glass/gray.png_reflectivity.png

* Delete assets/cubyz/blocks/textures/glass/light_blue.png

* Delete assets/cubyz/blocks/textures/glass/light_blue.png_absorption.png

* Delete assets/cubyz/blocks/textures/glass/light_blue.png_reflectivity.png

* Update glass textures

* Reduce saturation of Chalk
2024-05-05 15:26:33 +02:00
IntegratedQuantum
4dd768939c Compress the recently added music tracks further.
They weren't compressed as much as the others and were taking a lot of memory because of that.
2024-05-03 12:22:20 +02:00
IntegratedQuantum
e68f49ed89 Increase hotbar size to 12. (Inventory size is still the same)
Fixes #342
2024-05-02 20:39:26 +02:00
IntegratedQuantum
a575edae45 Sort the creative inventory:
Item groups like glass and crystals are now at the bottom.
Items at the top are now sorted.
Fixes #341
2024-05-02 12:24:07 +02:00
IntegratedQuantum
3419034754 Don't load json files from the textures subfolder.
This removes junk blocks from the creative inventory.
2024-05-02 11:57:14 +02:00
IntegratedQuantum
bdcec16176 Add new music by TotallyDemented for the warm ocean. 2024-05-02 11:48:19 +02:00
IntegratedQuantum
711255a7e1 Update light of neighboring blocks when they changed while placing/removing a block.
Also removes stair blocks when they are empty.

Fixes #339
2024-04-30 23:24:38 +02:00
IntegratedQuantum
3e0c666108 Audit usage of reference counting, making it thread safe in a (pretty rare) edge case.
Also uses a more consistent naming convention when reference counting is involved.

Fixes #332
Potentially fixes #329 (I can't reproduce it anymore)
Discovers #338
2024-04-30 22:36:46 +02:00
archbirdplus
1a6454a92c
Mac Dev PR 1 (#336)
* Add libraries for macos + deps_local

* Tab characters

* build.zig.zon: MacOS comment, use relative path

* build.zig.zon: Add dot to url field

* build.zig: lazily load deps_local

* build.zig: revert bad debug edit
2024-04-28 11:20:20 +02:00
IntegratedQuantum
50d9c9a825 Windows can be moved again.
Fixes #334
2024-04-27 13:41:11 +02:00
IntegratedQuantum
41f0a9b08b Fix the menu background
fixes #333
2024-04-27 13:38:25 +02:00
IntegratedQuantum
d450fa5f62 Improve CPU-side light interpolation code, reducing the number of samples needed in the average case of axis aligned blocks.
Fixes #296
Helps with #277
2024-04-25 11:47:47 +02:00
IntegratedQuantum
ad1e79a4c1 Dedupliacte quads from the model data, reducing it from 4151 to just 247 unique quads.
Fixes #278
2024-04-24 19:55:27 +02:00
IntegratedQuantum
c64ece2163 Revert 413372a3218d966f328d09b11f2b4966ea91c357
RwLocks don't work like that.
Fixes #330
2024-04-23 22:45:56 +02:00
IntegratedQuantum
6da2971528 Refactor: Move the Window struct out of main.zig into its own file. 2024-04-23 16:30:30 +02:00
IntegratedQuantum
032acc1600 Add new music to the crystal caverns made by TotallyDemented 2024-04-23 10:30:17 +02:00
IntegratedQuantum
9738d6252f Limit the randomness of the FractalCaveGenerator to prevent infinite recursion.
Should fix #328
2024-04-21 10:54:10 +02:00
IntegratedQuantum
e2459d1fbd Remove all the commented java code.
Most of it is already implemented elsewhere or no longer applicable and would need to be rewritten from scratch.
closes #129
2024-04-20 10:58:59 +02:00
IntegratedQuantum
c9f9dbf634 Avoid unnecessary syscalls from checking the millitime in each call of isStillNeeded
Reduces lag caused by updating the priorities in the threadpool.
2024-04-18 17:02:19 +02:00
IntegratedQuantum
22a482eb65 Use OpenGL's types instead of c_long, on windows these are defined as c_longlong.
Might fix some problems maybe?
2024-04-18 11:12:04 +02:00
IntegratedQuantum
f0d8e8e6bf Always create a debug context of OpenGL. 2024-04-17 21:11:47 +02:00
IntegratedQuantum
775dcc85fc Use palette compression for chunks and increase the maximum render distance.
fixes #156
fixes #136
2024-04-17 17:29:25 +02:00
IntegratedQuantum
64e37dca26 Move all the palette compression related code into utils.
More progress towards #156
2024-04-17 16:22:27 +02:00
IntegratedQuantum
82be61ed6d Implement mutex assertions only in debug mode.
This avoids side effects in release fixing #317
2024-04-16 22:16:19 +02:00
IntegratedQuantum
4ea9b37b8c
Update ci.yml Does it now work? 2024-04-16 14:11:05 +02:00
IntegratedQuantum
d585551ba7
Update ci.yml 2024-04-16 14:03:43 +02:00
IntegratedQuantum
b8b1ba49f4
Create ci.yml
Should fix #315
2024-04-16 14:02:40 +02:00
IntegratedQuantum
aba651a998 Add a simple python script to check for common formatting errors (tabs and line endings) and fix existing problems.
a step towards #315
2024-04-16 13:51:22 +02:00
archbirdplus
5b76d2c33c
Adjust mesh selection by crosshair (fixes #302) (#323)
* Adjust mesh selection by crosshair (fixes #302)

* view space is now also z-up. The projection matrix now transforms z-up to y-up.

This makes it more intuitive to use the camera matrix for cpu-side computations. (see #323)

* Correct axes in cameraDir/cameraUp vectors

* Remove f32 arg from degreesToRadians in crosshair selection

* Fix some remaining issues.

---------

Co-authored-by: IntegratedQuantum <jahe788@gmail.com>
2024-04-16 12:28:45 +02:00
IntegratedQuantum
3d3a1322cb view space is now also z-up. The projection matrix now transforms z-up to y-up.
This makes it more intuitive to use the camera matrix for cpu-side computations. (see #323)
2024-04-15 11:24:59 +02:00
IntegratedQuantum
413372a321 Use a RwLock for the lighting data to allow meshing to lock it in a wider scope.
Fixes #319
2024-04-14 20:20:17 +02:00
IntegratedQuantum
86e08b9f8a Use palette compression for light data, reduing memory usage (of light data) by up to 100×.
Progress towards #156
Makes #277 worse
2024-04-14 15:42:49 +02:00