IntegratedQuantum
f15d1adc56
Various performance improvements:
...
The NoiseCaveGenerator now produces all (noise + interpolateValue) values at once instead of recalculating them 7 times on average.
The TerrainGenerator no longer uses integer division.
The chunk meshing doesn't calculate the giant switch case in the middle of `cenBeSeenThroughOtherBlock()` if the block as the simple cube model.
And some smaller things.
2023-05-10 21:25:24 +02:00
IntegratedQuantum
83f4503390
Update zig to 0.11.0-dev.3041+8e9c9f6fd
...
Featuring `@memset`, `@memcpy`, multi-argument `@min`/`@max` and annoyingly #15644
2023-05-10 13:55:20 +02:00
IntegratedQuantum
5341f7c48f
Improve performance of the NoiseCaveGenerator by using a non-cached version of the 3d fractal noise.
2023-05-09 18:48:09 +02:00
IntegratedQuantum
67c0d1f183
A couple of small fixes and refactoring.
2023-05-08 21:19:02 +02:00
IntegratedQuantum
c3a842b326
Interpolation in a bcc lattice using 3d barycentric coordinates.
...
Among that I also improved the cave biome map to actually use a bcc lattice as the underlying biome grid (before that a biome was spread over multiple points in the lattice, now it's just one.
And I also improved performance of the 2d fractal noise algorithms by using `@memcpy`.
2023-05-03 21:06:41 +02:00
IntegratedQuantum
fc12bd5a63
Add terrain generation.
2023-05-01 18:35:45 +02:00
IntegratedQuantum
7c339707e6
Fix integer overflow error.
2023-04-15 17:55:54 +02:00
IntegratedQuantum
cc97c0d296
Add a ServerWorld which at the moment generates empty chunks.
2023-04-13 21:04:46 +02:00
IntegratedQuantum
38601dc42c
Reduce raymarching pixel errors and add chunkmesh gpu memory usage to the debug menu.
2023-04-12 20:33:58 +02:00
IntegratedQuantum
0c3743fd02
Add some file utilities to simplify reading/writing (json-)files.
2023-04-09 21:44:15 +02:00
IntegratedQuantum
b98f565f2e
Start working on the server:
...
It can now do a handshake (sort of).
I also added a CommandQueue for the gui system to prevent issues from closing windows while they are being updated.
2023-04-09 11:28:21 +02:00
IntegratedQuantum
f1681d1687
Improve network.Protocols and remove unnecessary warning from Recipe loading.
2023-04-08 16:12:53 +02:00
IntegratedQuantum
b0ea868fa4
Remove the window title and fix ItemSlot pressed behavior.
2023-04-08 14:58:25 +02:00
IntegratedQuantum
32a4e2cb10
Send inventory changes to the server.
2023-04-08 12:59:26 +02:00
IntegratedQuantum
84d55cc95c
Finish some remaining TODOs in the gui system.
2023-04-07 22:52:24 +02:00
IntegratedQuantum
34a3ac4986
Fix bugged line between windows caused by floating point inaccuracies.
2023-04-07 22:22:55 +02:00
IntegratedQuantum
a9dff66be3
Fix small bug in the healthbar.
2023-04-07 16:56:50 +02:00
IntegratedQuantum
e09bc9eb4e
Add the save_selection gui.
2023-04-04 22:38:41 +02:00
IntegratedQuantum
3212e00b42
Add a userData argument to all gui callbacks and some more refactoring.
2023-04-04 21:50:57 +02:00
IntegratedQuantum
914be9cf63
Add debug overlay and performance graph.
2023-04-04 19:22:02 +02:00
IntegratedQuantum
9dee31ccbe
Render text "shadows", once again till++ forced me to do it.
2023-04-04 16:17:39 +02:00
IntegratedQuantum
60f0c5d3af
Add support for menu background scenes (but no default scene yet).
2023-04-04 11:30:02 +02:00
IntegratedQuantum
3b5b9fec8a
Add till++'s beloved thin white line back to the item slots.
2023-04-03 20:25:24 +02:00
IntegratedQuantum
e0321c6cbf
Various ui improvements proposed by @till++
2023-04-03 19:01:49 +02:00
IntegratedQuantum
e17699f9f8
Add the workbench gui.
2023-04-02 21:29:19 +02:00
IntegratedQuantum
1e7e8a7a1a
Avoid creating a GeneralPurposeAllocator for every tiny thing.
...
Using a global gpa allocator seems like the best solution until there is a performance problem, and in that case a custom allocator is better anyways.
2023-04-02 12:15:28 +02:00
IntegratedQuantum
71159060a3
Use an icon for the crafting button.
2023-04-01 12:32:40 +02:00
IntegratedQuantum
da8f6ac9cb
Add inventory crafting.
2023-03-31 20:37:39 +02:00
IntegratedQuantum
9fdfa04734
Refactor: Limit window components to one. Also use better formatting for tooltips.
2023-03-29 22:11:08 +02:00
IntegratedQuantum
58d1428392
Tooltips.
2023-03-29 11:41:13 +02:00
IntegratedQuantum
2a332e9c04
.
2023-03-28 16:34:03 +02:00
IntegratedQuantum
1400141e94
Render item images for blocks.
2023-03-28 16:33:01 +02:00
IntegratedQuantum
2f5ff8f081
Throw items out of the inventory when clicking outside of an inventory slot.
2023-03-27 22:17:55 +02:00
IntegratedQuantum
f927487a0f
Add inventory and creative inventory.
2023-03-27 17:51:00 +02:00
IntegratedQuantum
bbcc9caff0
Allow interacting with item slots.
2023-03-27 12:37:47 +02:00
IntegratedQuantum
a0c2d62110
Load the inventory when the player joins.
2023-03-23 17:43:11 +01:00
IntegratedQuantum
758fe2c8ab
Use @hasDecl
and automatically assign the window function pointers.
2023-03-23 17:13:40 +01:00
IntegratedQuantum
c2b0428539
Fix floating point precision issues in rendering.
2023-03-23 13:20:19 +01:00
IntegratedQuantum
642624c94d
Add the ItemSlot component.
2023-03-23 13:08:29 +01:00
IntegratedQuantum
f158da89d4
Seperate the gui and game update logic, so you won't move while typing into a text field.
2023-03-22 14:29:55 +01:00
IntegratedQuantum
77610c0064
Add the chat gui and set the default text color to white.
2023-03-22 13:59:46 +01:00
IntegratedQuantum
d5389aefb7
Refactor: Add a seperate function for binding a texture to a specific texture unit.
2023-03-21 12:50:58 +01:00
IntegratedQuantum
219c3214e9
Add a ScrollBar to the VerticalList.
2023-03-21 11:45:29 +01:00
IntegratedQuantum
ef0f9ebf67
Allow ungrabbing the mouse by pressing escape and add a way to show the title bar of transparent windows.
2023-03-20 18:37:26 +01:00
IntegratedQuantum
9c20b463e3
Add a simple healthbar.
2023-03-19 23:25:31 +01:00
IntegratedQuantum
f04d441c3c
Improve Bloom performance by combining downsampling and color extracting steps.
2023-03-19 19:20:42 +01:00
IntegratedQuantum
ba8856bd35
Add the crosshair.
2023-03-18 22:54:05 +01:00
IntegratedQuantum
0467e43163
Update the position of closed windows as well to prevent weird behavior.
2023-03-17 16:26:49 +01:00
IntegratedQuantum
9e7f3defe2
Add HorizontalList, add alignment to list components and fix a bug.
2023-03-17 16:18:43 +01:00
IntegratedQuantum
5c74694611
Refactor how components are handled.
...
- A `GuiComponent` now is union of pointers.
- `pos` and `size` are now stored in each component rather than being passed down through functions.
2023-03-17 13:47:07 +01:00