72 Commits

Author SHA1 Message Date
eliotbyte
b85c5e367a fix extended block placement across chunk borders 2025-11-24 21:25:15 +03:00
eliotbyte
9ccaecddd2 add :block placement for single blocks 2025-11-24 21:23:59 +03:00
Eliot Byte
ed9cf8800a
fix correct line generation algorithm and bounds calculation (#657)
* fix correct line generation algorithm and bounds calculation

- Fix closest_point_on_segment algorithm using proper dot product projection
- Correct loop bounds calculation for radius=0 lines
- Use precise integer arithmetic to avoid rounding errors
- Resolves missing blocks in vertical line structures

* fix ai hallucinations

* polishing closest_point_on_segment

* refactor: extract dot product calculation
2025-10-23 12:29:04 +03:00
MihailRis
98813472a8 fix generator area centering 2025-04-11 20:37:08 +03:00
MihailRis
bf79f6bc75 fix "upgrade square is not fully inside of area" error 2025-04-10 23:10:49 +03:00
MihailRis
3d22de761f fix compiler warnings (GCC + Clang) 2025-03-20 22:04:29 +03:00
MihailRis
0649419485 randomize rotatable plants in world generation 2025-02-21 19:35:37 +03:00
MihailRis
2f93d38fde fix biome choosing 2025-01-25 02:10:44 +03:00
MihailRis
c1b311f3c4 refactor: change pointer parameters to references for Level and Content in various classes 2024-12-25 18:53:53 +03:00
MihailRis
b1fc666448 fix 2024-12-17 20:56:25 +03:00
MihailRis
87c19d69dc move block set logic to the blocks_agent 2024-12-16 20:46:06 +03:00
MihailRis
4b0b643342 add 'lowering' generated structures property 2024-11-13 01:10:52 +03:00
MihailRis
d8c3940451 add 'heights-interpolation', 'biomes-interpolation' 2024-10-28 09:22:02 +03:00
MihailRis
2b057a0977 fix: core:struct_air is being replaced with plants 2024-10-24 13:27:32 +03:00
MihailRis
6b84fa82fc fix: non-air lines are not placed 2024-10-19 05:37:10 +03:00
MihailRis
faca68e6c3 replace argument 'seed' with global constant 'SEED' 2024-10-16 08:46:32 +03:00
MihailRis
59c4e26eda feat: heightmap-inputs 2024-10-16 00:38:58 +03:00
MihailRis
48143c5a2b add fragment.crop, fragment:crop() & fix fragments rotation when width is not equal to depth & fix extra structures placements 2024-10-15 00:03:06 +03:00
MihailRis
44eedadc06 make world generator less pedantic in structures placement 2024-10-14 20:47:37 +03:00
MihailRis
7c56d8fd7f replace biomes.json with biomes.toml & make it combined object 2024-10-13 21:50:39 +03:00
MihailRis
40612dd7da update doc-comments 2024-10-11 19:06:38 +03:00
MihailRis
b5c1050f43 add placements priority 2024-10-11 18:37:03 +03:00
MihailRis
50eb83ad9b add generator param 'wide-structs-chunks-radius' & make caves more interesting 2024-10-10 03:57:43 +03:00
MihailRis
a578cca325 add 'place_structures_wide' callback 2024-10-10 02:00:13 +03:00
MihailRis
b4578cfb87 fix caves issues & add block 'surface-replacement' property 2024-10-08 22:37:41 +03:00
MihailRis
c022e11c3b move test caves to base:demo 2024-10-08 20:14:38 +03:00
MihailRis
5966ca5617 refactor WorldGenerator 2024-10-08 16:57:24 +03:00
MihailRis
ba3ac11b41 optimize lines generation 2024-10-08 16:26:26 +03:00
MihailRis
5a89d97b75 fix line placement 2024-10-08 05:44:36 +03:00
MihailRis
116cbd61db feat: 'lines' (cave-like structures/tunnels) (WIP) 2024-10-08 02:32:45 +03:00
MihailRis
a47b650591 add core:struct_air 2024-10-04 01:53:17 +03:00
MihailRis
75d66b644b add debug world generator visualization 2024-09-30 15:14:34 +03:00
MihailRis
16fac768c8 add chunk_height parameter to place_structures 2024-09-29 23:39:42 +03:00
MihailRis
abc8eccab8 add biome-bpd and heights-bpd generator def parameters 2024-09-29 23:12:45 +03:00
MihailRis
3784b57eed move biomes definition to a json file 2024-09-29 22:03:37 +03:00
MihailRis
3d478aef08 add generator definition file (.toml) 2024-09-26 22:26:01 +03:00
MihailRis
d534207deb add test ore (coal) 2024-09-25 00:13:59 +03:00
MihailRis
36eed38b4c add new methods to PseudoRandom & move this class to util:: 2024-09-24 22:37:31 +03:00
MihailRis
983a24bd05 remove generator script load_structures function 2024-09-24 17:16:52 +03:00
MihailRis
806ed4b155 add automatic biome-based structures placement 2024-09-24 17:08:25 +03:00
MihailRis
323c2f2935 refactor & add structures.json 2024-09-24 04:05:13 +03:00
MihailRis
74ded5a052 implement structures rotation 2024-09-22 01:58:59 +03:00
MihailRis
001b930212 update world generation pipeline 2024-09-21 23:29:19 +03:00
MihailRis
a413c5d09e implement inter-chunk structure generation 2024-09-21 20:50:12 +03:00
MihailRis
03ba7c9539 test voxel structures generation 2024-09-21 17:21:47 +03:00
MihailRis
cba1a5c23e add LuaGeneratorScript::loadStructures 2024-09-21 01:32:38 +03:00
MihailRis
4f882a3ca3 add StructurePlacement & add SurroundMap visualization test 2024-09-20 23:43:54 +03:00
MihailRis
88b0f8e3d6 add VoxelStructure lua usertype 2024-09-19 18:41:34 +03:00
MihailRis
390a16ace1 rename generator/Structure to generator/VoxelStructure 2024-09-12 11:01:19 +03:00
MihailRis
8516cf4f7f add world generator level 2 (heightmaps) 2024-09-11 15:23:09 +03:00