1190 Commits

Author SHA1 Message Date
IntegratedQuantum
faa70b5328 Play biome specific music. (And the fading isn't bugged) 2023-07-02 22:52:52 +02:00
IntegratedQuantum
73f1941933 Update freetype dependency. 2023-06-30 09:54:45 +02:00
IntegratedQuantum
1cf6fa087e Add some tall mountains and fix the subbiome chances. 2023-06-29 21:59:02 +02:00
IntegratedQuantum
7c3d3462c9 Update zig version to 0.11.0-dev.3879+5804f3f75
Note: Requires running `zig fmt` in the mach subfolder to work.

Zig did some weird stuff there. Partially helpful, partially annoying. But it made me clean up some old code, so that's a good thing I guess.
2023-06-28 19:54:52 +02:00
IntegratedQuantum
ae57f7bd3d Merge branch 'master' of github.com:PixelGuys/Cubyz 2023-06-26 17:33:50 +02:00
IntegratedQuantum
64f5b363a4 Rewrite the biome system (there still some smaller things left to do) 2023-06-26 17:33:15 +02:00
IntegratedQuantum
e6109cdf7f
Create README.md 2023-06-21 19:01:24 +02:00
IntegratedQuantum
0867dd1975 Update mach-freetype (it finally works again!!!) and fix problems when there was no settings or guilayout file. 2023-06-21 17:38:58 +02:00
IntegratedQuantum
81992c9be0 Improve logging performance by reducing the number of syscalls. 2023-06-21 12:14:55 +02:00
IntegratedQuantum
ae9584b26b How did this even happen? 2023-06-21 11:27:49 +02:00
IntegratedQuantum
bf3a01ad95 Revive windows support.
It had been broken for a while due to a (now fixed) bug in zig and a couple other problems.
2023-06-21 11:20:18 +02:00
IntegratedQuantum
b0a358f63c Update zig version to 0.11.0-dev.3655+a2f54fce5 2023-06-17 11:04:01 +02:00
IntegratedQuantum
e2280c2b63 Update zig version to 0.11.0-dev.3380+7e0a02ee2
Zig got worse at copying unnecessary stuff onto the stack :(
2023-06-06 13:38:38 +02:00
IntegratedQuantum
4fcfd10307 Add music loading/playing using portaudio and stb_vorbis. 2023-06-05 23:11:40 +02:00
IntegratedQuantum
4d092126cc Store the player position on the server to prioritize terrain generation. 2023-05-28 19:31:03 +02:00
IntegratedQuantum
cfc7b903e6 Fix a couple smaller TODOs. 2023-05-26 22:36:34 +02:00
IntegratedQuantum
4402c55203 A couple of small improvements. 2023-05-25 13:36:48 +02:00
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