959 Commits

Author SHA1 Message Date
IntegratedQuantum
cf60599c5f Optimize the chunkRequest protocol.
fixes #417
2024-06-05 16:43:25 +02:00
IntegratedQuantum
35ec0acdf2 Insert missing mutex.unlock();
Fixes #447
2024-06-05 16:20:33 +02:00
OneAvargeCoder193
da5a1c492e
Upgraded the trees and added falling trees (#441)
* Upgraded the trees and added falling trees

* Fix formatting

* Fixing some stuff i guess

* Changes
2024-06-05 15:25:49 +02:00
OneAvargeCoder193
7da56d5a68
Added stalagmite caves (#440)
* Added stalagmite caves

* Updated stalagmite texture

* Rename stalagmite to limestone and get rid of emissions

* Tweaks

* Changes
2024-06-05 15:23:47 +02:00
IntegratedQuantum
b6a69308ba Use one Mutex per node instead of locking a global mutex whenever a mesh is requested.
This reduces contention, causing a speedup in mesh generation and lighting.
2024-06-05 12:33:03 +02:00
IntegratedQuantum
c405f336dd Optimize canBeSeenThroughOtherBlock
It went from 11s down to just 3s at render distance 12.
2024-06-04 17:41:42 +02:00
IntegratedQuantum
cb2c7f07c3 Add a fast-path for sunlight propagation in uniform air chunks.
fixes #320, terrain generation in single-player is now ~30% faster.
2024-06-04 14:20:25 +02:00
IntegratedQuantum
9cacd64c4d Allow downscaling the resolution of the framebuffer.
fixes #99
2024-06-03 21:45:18 +02:00
IntegratedQuantum
6293db0ff8 Add mouse sensitivity setting (Till++ will be happy)
fixes #376
2024-06-03 19:53:06 +02:00
IntegratedQuantum
638de5e1df Regenerate all LODs whenever a biome was changed.
fixes #360
2024-06-03 19:18:50 +02:00
IntegratedQuantum
35f8060fd2 The StructureGenerator now generates structures in LOD2 more precisely and it also now considers structures from the chunk above it. 2024-06-02 20:40:11 +02:00
IntegratedQuantum
3a74300a43 JsonElement.get and .put can now handle Vector attributes.
fixes #430
2024-06-02 20:09:34 +02:00
OneAvargeCoder193
f339db4e69
Add ability to add stripes to biomes in the .json format (#432)
* terrain stripes

* fix

* Fixing up the code
2024-06-02 17:37:38 +02:00
IntegratedQuantum
13340d2956 Only show the invite button on the local client.
fixes #423
2024-06-02 12:24:47 +02:00
IntegratedQuantum
e8ad0a55db Transition to glMultiDrawElementsIndirect for chunk and transparent rendering.
Progress towards #429
2024-06-02 12:18:40 +02:00
IntegratedQuantum
c721169e31 Fix deadlock between server update and receive function 2024-06-01 20:42:32 +02:00
IntegratedQuantum
46fce9bd35 Fix maxImportantPacketSize to account for parts of the Ethernet header.
It was too high, causing fragmented packets and subsequent problems.

Fixes #405
2024-05-31 23:18:44 +02:00
IntegratedQuantum
8e94291f04 Add information about the client connection to the F7 menu. 2024-05-29 21:07:38 +02:00
IntegratedQuantum
ae0972c587 Prevent inviting an IP address twice, which may cause some issues.
Also fixes a memory leak of unconnected connections.
2024-05-28 19:57:13 +02:00
IntegratedQuantum
9d432fbb7b Add the invite command and allow starting/stopping time.
fixes #327
2024-05-28 16:34:31 +02:00
IntegratedQuantum
647cd924c5 Make the hotbar item slots transparent.
fixes #414
2024-05-28 15:59:51 +02:00
careeoki
b7f701caca
UI Texture Update (#406)
* Update UI textures

* Update Inventory UI textures

* Update heart textures

* New X texture

* Make Scrollbar thicker

* Revert previous commit

* Thicken creative inventory scrollbar again

* Change X again

---------

Co-authored-by: Archbirdplus <archbirdplus@gmail.com>
2024-05-28 11:21:59 +02:00
IntegratedQuantum
e696ce1185 Add time and tp command.
More progress for #327
2024-05-28 11:10:12 +02:00
IntegratedQuantum
e084709d9b Add the Command system with a simple help command.
Progress towards #327
2024-05-28 10:38:55 +02:00
IntegratedQuantum
36be82b7e8 fixes #337 2024-05-27 16:31:01 +02:00
IntegratedQuantum
a6bcab4268 Fix freeing of undefined pointer.
fixes #410
2024-05-27 16:19:27 +02:00
IntegratedQuantum
8ea482fb09 Fix some data races. 2024-05-26 20:55:00 +02:00
IntegratedQuantum
3a5b5ecdd3 Fix Ctrl+C/Ctrl+V 2024-05-26 15:14:00 +02:00
IntegratedQuantum
268b87f8b0 Use a square image for the logo, so it doesn't get squished on windows.
fixes #397
2024-05-26 14:49:41 +02:00
IntegratedQuantum
d99c9ede01 Don't open windows when typing into a text field.
fixes #392
2024-05-26 14:39:35 +02:00
IntegratedQuantum
ca37eb97d7 Use press/release actions for the break/place buttons
Fixes #391
2024-05-26 13:31:52 +02:00
IntegratedQuantum
6013b579d9 Avoid sending empty entityPosition packets. 2024-05-26 12:45:51 +02:00
IntegratedQuantum
62a5642f9c Add F7 and improve congestion control so it prioritizes resending unconfirmed packets even more.
Should fix #390
2024-05-26 12:05:55 +02:00
Weltspear
342393c408
Made deinitLogging create a copy of latest.log which is named after a calendar timestamp (#398)
* Made deinitLogging create a copy of latest.log which is named after a calendar timestamp

* Now logToFile simultaneously logs to both logFile and logFileTs

* Implement suggested changes

* Implement suggested change

---------

Co-authored-by: Weltspear <>
2024-05-26 11:54:03 +02:00
Archbirdplus
a71c4c5f16 build.zig: make release deps default on Mac 2024-05-26 09:22:28 +02:00
Archbirdplus
a851de9ed2 renderer: measure meshing time on its own 2024-05-26 09:22:07 +02:00
tillpp
82a127db1c
Qol shortcuts (#382)
* better shortcuts: no more arthritis simulator

* remove auto-format

* better shortcuts + back to menue option (without world exit tho)

* WIP exiting the world

* Requested changes

* no crash and better exit message.

* Localizers have fun translating this!
2024-05-26 09:10:28 +02:00
archbirdplus
662cbdc77a
Mac: fix goofy mouse motion (#394)
* Mac: fix goofy mouse motion

* Window.zig: indent

* Window.zig: use tabs
2024-05-26 08:36:52 +02:00
IntegratedQuantum
bd54310841 Make user disconnects more thread safe.
fixes #389
2024-05-25 15:15:32 +02:00
IntegratedQuantum
373795fa29 Properly disconnect users on timeout.
Makes #389 worse
2024-05-25 12:01:53 +02:00
IntegratedQuantum
ab8ac4e7f2 Remove the arthritis simulator game mode.
Till++ will be happy.

fixes #377
2024-05-25 10:26:49 +02:00
IntegratedQuantum
f5544a4fee Add the logo. 2024-05-24 20:54:08 +02:00
careeoki
8db5c00857
Texture Update 3 (#387)
* Update many block textures

* Update material items

* Update Chisel item
2024-05-24 20:39:32 +02:00
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