516 Commits

Author SHA1 Message Date
IntegratedQuantum
f64ba68231 Allow making stairs from more blocks.
Also removed reference to the multi_texture rotation, this should not be implemented as a rotation mode anyways.
2024-05-24 20:19:58 +02:00
IntegratedQuantum
e552a9a34a Change size of all window icons to 9×9 2024-05-24 20:08:23 +02:00
IntegratedQuantum
448f2b0f1f Use a 9-slice texture to draw a button outline.
fixes #379

Also using separate texture for the selection/pressed state of buttons and checkboxes to allow more artistic freedom.
2024-05-24 14:53:43 +02:00
IntegratedQuantum
a9c21ed93f Change the window outline to a simple border and change icons as requested in #380
fixes #380
2024-05-24 13:36:30 +02:00
IntegratedQuantum
5495c3732f Fix the chat window and hide its scrollbar when in the game.
Fixes #383
2024-05-24 13:21:45 +02:00
IntegratedQuantum
1487d7046a Flush during the handshake to reduce latency by a bit (maybe ~150 ms on average). 2024-05-24 11:20:37 +02:00
IntegratedQuantum
843512eae6 Add Congestion control to the network protocol.
Packets are now sent more evenly spaces to avoid congestion on the send buffer of the operating system.

Expensive protocols, like the chunkTransmission protocol, are now executed in parallel to avoid congestion from unpacking large chunks of data in the network thread.

And finally the base protocol now tries to estimate the available bandwidth of the connection based on data of last 1.6 seconds (sorry to the people who live on the moon, your bandwidth cannot be estimated and is set to 100000 kB/s, so you will have trouble playing with your friends on earth).

fixes #216
fixes #212
2024-05-23 18:00:17 +02:00
IntegratedQuantum
6109b117e7 Increase contrast of the game and items.
Addresses some of things discussed in #372

Also changes the resolution of the crafting button icon in the inventory. (remainder of #378)
2024-05-22 13:47:58 +02:00
IntegratedQuantum
0941e46b71 Change ItemSlot size to 32×32 instead of 24×24. Adjusted default window scale for inventories to ensure that the window has the same size on most screen resolutions.
fixes #378
2024-05-21 20:59:16 +02:00
IntegratedQuantum
f2e750ff4d Fix #375 2024-05-20 17:31:49 +02:00
IntegratedQuantum
78ed38dae0 Reduce size of player name labels 2024-05-20 16:45:29 +02:00
IntegratedQuantum
37a43db06d A couple of things:
Increase minimum render distance to 4 (3 still commonly had rendering artifacts).
Lock infinite loop detection behind a developer setting. fixes #374
Fix day night cycle. fixes #368
Properly disconnect users. fixes #370
Fix chat history. fixes #366
2024-05-20 13:33:12 +02:00
IntegratedQuantum
d1e47241aa Send player positions to the clients and fix some small bugs.
fixes #365
2024-05-19 17:46:32 +02:00
IntegratedQuantum
7ede5af011 Send block updates back to the clients
fixes #364
2024-05-19 15:36:19 +02:00
IntegratedQuantum
a4315b9547 Fix client-side block palette.
fixes #363
2024-05-19 14:44:17 +02:00
IntegratedQuantum
6f2973e440 Add the invite screen and fix a few small issues.
Progress for #100
2024-05-19 12:57:39 +02:00
IntegratedQuantum
0e04734c68 Adda pause menu.
Progress on #100
2024-05-18 18:23:07 +02:00
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