1119 Commits

Author SHA1 Message Date
careeoki
066ad6e4d1
Add cloth (#783)
* Add cloth zons, carpet model, textures for white cloth.

* Add cloth block textures, fix blue cloth zon

* Add all cloth item textures

* Tweak chalk palettes, tweak cloth texture

* Remove mtl references from carpet.obj

* Make cloth nonsolid
2024-11-23 10:48:13 +01:00
IntegratedQuantum
25bd05e0c3 Add a make-shift player model (it's a snail xD)
fixes #780
2024-11-22 21:57:36 +01:00
IntegratedQuantum
b271a416bc Collect item drops
fixes #644
2024-11-17 21:25:37 +01:00
IntegratedQuantum
25a8e2959a Add /clear to clear the inventory.
fixes #781
2024-11-17 13:40:28 +01:00
IntegratedQuantum
ee63168add Fix problem when closing, then reopening a shared inventory.
This happened because it was reusing the "freed" inventory because it still had the same Source value.

fixes #782
2024-11-17 01:08:05 +01:00
IntegratedQuantum
5044fa89d0 Ensure pointers are updated after swapRemove from the entities list.
should fix #400
2024-11-16 16:21:45 +01:00
IntegratedQuantum
f453173228 Properly center the name above the player's position. 2024-11-15 23:15:59 +01:00
IntegratedQuantum
62fc63bdd9 Limit how far away (in z) a ground patch can generate from it's origin point.
fixes #547
2024-11-15 22:50:51 +01:00
IntegratedQuantum
8c35f9f736 Store the biome hash even if there are no chunks loaded yet.
This avoids needless LOD regeneration on second join and removes some useless debug spam.
fixes #650
2024-11-15 22:37:49 +01:00
IntegratedQuantum
f4133c3ab0 Make the name prompt that appears on first launch unclosable.
fixes #708
2024-11-15 22:22:56 +01:00
IntegratedQuantum
f0c57d6c13 Fix side-effects of user name color and other formatting hints on other rendered strings.
Introduces § as a formatting specifier to disable all previous specifiers. fixes #729
Also fixed another problem in the advanced network debug menu.
2024-11-15 22:17:15 +01:00
IntegratedQuantum
8f15690b85 Call the onCloseFn when toggling a window.
fixes #749
2024-11-15 22:03:23 +01:00
IntegratedQuantum
f53811ae95 Add a carpet rotation mode for placing carpets on walls and ceiling.
fixes #775
2024-11-15 21:37:55 +01:00
careeoki
30669f5284
New water animation (#774)
* New water animation

* Update water animamiton
2024-11-15 19:44:41 +01:00
IntegratedQuantum
c53dd26da7 Change control characters for underlining and strikethrough to __ and ~~
fixes #773
2024-11-13 21:37:55 +01:00
IntegratedQuantum
d9da715e6b Fix use after free of ItemSlots.
fixes #768 and some rarer related issues.
2024-11-13 21:17:45 +01:00
IntegratedQuantum
60b91bfdb8 Prevent the game from opening multiple instances of region files.
Also made the ThreadPool task count more accurate.

fixes #770
2024-11-12 22:23:54 +01:00
careeoki
e6db1ed81b
Make planks tool materials (#772)
* Make planks tool materials, update cobble palette

* Fix formatting
2024-11-11 16:13:29 +01:00
IntegratedQuantum
28b0a51f77 Fix use after free when dropping tools.
should fix #771
2024-11-10 13:15:39 +01:00
IntegratedQuantum
f8a09ae89f Fix crash when right clicking the workbench output slot.
fixes #769
also added some more locking and assertions which might help detect other issues.
2024-11-10 12:49:21 +01:00
IntegratedQuantum
584214119b Remove leftover debug print when receiving an inventory sync operation. 2024-11-10 12:31:32 +01:00
IntegratedQuantum
99a3d66bf1 Convert recipe files to zon.
fixes #767
2024-11-08 21:27:04 +01:00
IntegratedQuantum
f36ad5215f Add a volcano biome. 2024-11-07 20:57:41 +01:00
IntegratedQuantum
116d7b5e99 Remove zero chance biomes before constructing the biome properties tree.
fixes #766
2024-11-07 16:57:36 +01:00
IntegratedQuantum
7b4461ad00 Improve biome interpolation on biome changes.
Now it uses a 1d noise, to offset the biome positions and the height interpolation.

This should also fix #633 and helps reduce the impact of #766
2024-11-05 23:30:27 +01:00
ikabod-kee
9e4f347268
Added recipes (#761)
* Recipe File Changes

* Removed chisel from stone bricks recipe

* Removed stick recipes

* Re-added stick recipes + changed torch recipe

* Stick recipes removed

* More Stone recipes, iron ingot, torches
2024-11-05 20:10:19 +01:00
IntegratedQuantum
a0dce26ac2 Move the glPolygonOffset into a tighter scope so it doesn't affect the occlusion tests.
should fix the most severe problem of #765
2024-11-04 20:53:48 +01:00
careeoki
fabed5a4a0
Basalt blocks & Lamp (#764)
* Add basalt blocks, add lamp block

* Tweak lamp top, make torch light warmer, uranium glass light dimmer, lamp cooler

* Minor texture changes

* Tweak torch light

* Less light from uranium glass, tweak lamp

* Tweak torch light
2024-11-03 22:37:49 +01:00
IntegratedQuantum
44bce44ba5 Move inventory operations to a new file.
fixes #755
2024-11-03 15:43:25 +01:00
IntegratedQuantum
7847400b1f More refactoring of the inventory code by combining inventory and slot into one struct.
progress on #755
2024-11-03 15:11:32 +01:00
IntegratedQuantum
f4f37b460b Simplify how BaseOperations are executed.
progress towards #755
2024-10-31 21:24:58 +01:00
IntegratedQuantum
5d85d4045e Refactor: Combine both inventory drop operations into one using a (maximum) amount.
progress on #755
2024-10-31 21:00:32 +01:00
IntegratedQuantum
f878af9830 Remove the old item stack dropping from the protocol.
fixes #643
2024-10-30 20:06:21 +01:00
IntegratedQuantum
d64458ce48 Prevent depositing non-material items into the workbench.
fixes #753
fixes #598
2024-10-30 19:54:58 +01:00
IntegratedQuantum
4581552179 Only put one of each item into the creative inventory to hide the number.
fixes #754
2024-10-30 19:47:48 +01:00
IntegratedQuantum
d90627b6a5 Fix inventory crafting and allow filling arbitrary amounts using the fillFromCreative function.
fixes #752
progress for #643
2024-10-30 19:42:59 +01:00
IntegratedQuantum
2b7bde161e Introduce an InventorySource type to describe where an inventory comes from.
In future e.g. for a chest this could contain the chest location, so the server knows which chest to open.
more progress on #643
2024-10-28 20:21:42 +01:00
IntegratedQuantum
13974d12ab Fix crash from not initializing the Performance info struct of the ThreadPool. 2024-10-27 21:34:29 +01:00
IntegratedQuantum
a12a2d0bc9 Send sync operations back to the clients, if another client modified the inventory. In case a client receives sync operations it reverts all local unconfirmed changes, applies the sync and finally reapplies all unconfirmed changes.
A big step towards #643
I also added a testing window that can be used to test this in multiplayer.
2024-10-27 20:26:37 +01:00
IntegratedQuantum
2d02ae212c Refactor how basic inventory operations are done to prepare for sending them back to the clients.
more progress for #643
2024-10-27 16:29:18 +01:00
IntegratedQuantum
25a69fdacd Send confirmation for successful inventory operations back to the client.
more progress towards #643
2024-10-27 15:33:41 +01:00
IntegratedQuantum
79d7393c4e Serialize/Deserialize inventory commands and send them to the server.
More progress towards #643

I had to temporarily disable inventory crafting to make this work for now.
2024-10-26 16:42:00 +02:00
IntegratedQuantum
ac50505b31 Give each Inventory a unique ID.
More progress towards #643
2024-10-25 19:47:04 +02:00
IntegratedQuantum
377c2269cc Disable item consumption on block placement for now.
I'll figure out how to synchronize these changes in the future.
For now I'll just disable it to progress faster towards #643
2024-10-25 19:36:42 +02:00
IntegratedQuantum
d4dff4972a Remove some unused ItemStack functionality. 2024-10-24 22:15:09 +02:00
IntegratedQuantum
852437aca0 More robust memory management in the inventory.
fixes some leaks.
Now it only leaks when testing undoing an inventory close operation without redoing it. This should never happen in the real world.

more progress towards #643
2024-10-24 22:08:55 +02:00
IntegratedQuantum
e47bd8d262 Store the command payload as a tagged union instead of always storing all types.
This allows decoupling the payload from the undo steps, making it possible to launch subtasks with a different payloads (e.g. taking an item from creative and putting into the source slot instead of the dest slot).

Additionally this might also prevent some trouble when preparing the network data in the future.

Another small step towards #643
2024-10-23 21:11:25 +02:00
IntegratedQuantum
08b7549f2a Use more concise file API functions from the standard library. 2024-10-21 17:08:50 +02:00
archbirdplus
6b1e5ee5ce
Show task performance (#445)
* threadpool: track and show task times

* debug window: subdivide task performance

* indent debug window code

* task perfs: remove meshgen for lighting

* task perfs: don't divide by zero

* task perf: move taskType to vtable

* use directEnumArrayLen instead of C-style length

* use @tagName for task type classes

* switch to atomics

* recategorize LightRefreshTaks, LightMapLoadTask under misc

* add frameCount

* update perfs every perfUpdateFrequency frames

* restore 4k pageSize

* lighting -> meshgenAndLighting

* reset counts on open rather than by time

* revert to mutex Performance

* restore 4096 pageSize

* cleanup

* correctly use Performance init

* track task time per frame properly

* just copy.*

* use % total instead of % frame time

* capitalize Total task time

* remove total task time

* destroy performance on deinit
2024-10-21 16:13:32 +02:00
IntegratedQuantum
15758746d9 Remove error spam message when reading block textures.
fixes #735
2024-10-19 15:48:13 +02:00