Commit Graph

637 Commits

Author SHA1 Message Date
79e606f609
Rollback immediate placement, make custom terrain regions actually work 2024-05-06 13:50:05 +07:00
566751b77b
Immediate dungeon placement 2024-05-06 02:12:47 +07:00
161d19f263
Little faster big dungeon placement 2024-05-05 22:53:31 +07:00
74937b15ac
Oops 2024-05-05 22:34:45 +07:00
2a4b5ffb03
Server world Lua bindings 2024-05-05 22:34:18 +07:00
9104c7a46f
Floating Dungeon Worlds now can finally unload its chunks 2024-05-04 10:38:32 +07:00
a23493fa83
oops 2024-05-04 02:09:55 +07:00
b4940ce8ca
Native world storage, featuring fast unique entity index, atomic updates and paletted tile storage (does not require integer IDs to be assigned to materials/modifiers/liquids) 2024-05-04 02:06:52 +07:00
72d6db0a17
Make entity query Lua binding have less overhead 2024-05-03 17:07:21 +07:00
6ed51b6ae9
Lua message handlers 2024-05-03 16:52:00 +07:00
639aafce50
Now, at long last, unique entity index and messages 2024-05-03 16:13:16 +07:00
23dab02cc5
Eliminate unintentional entity tick time increase 2024-05-02 19:24:15 +07:00
b5c9b1f35a
Use synchronous=NORMAL in sqlite since we are using WAL 2024-05-02 17:54:48 +07:00
782fb29dbf
More Lua bindings 2024-05-02 17:23:51 +07:00
151571e8d0
More Lua bindings, minor performance improvements 2024-05-01 13:09:16 +07:00
884a432676
Make EntityIndex#walk significantly faster when querying large regions 2024-05-01 11:59:04 +07:00
afd93fea99
Unset return warp only if we are on shipworld 2024-04-29 19:16:02 +07:00
d1e478b6ef
Fix interact action not specifying entity id when originating from Lua 2024-04-29 19:11:33 +07:00
17c9664ee9
Don't write partial changes to universe chunks database 2024-04-29 18:21:09 +07:00
dafc211c10
Fix race condition in ServerUniverse when actively generating chunks 2024-04-29 18:18:10 +07:00
0dc3c996be
How? 2024-04-29 17:38:31 +07:00
430c92bd03
Blazingly fast system data deserialization 2024-04-29 17:32:17 +07:00
d1e5557f27
Misc fixes 2024-04-29 14:21:17 +07:00
26c579f568
Entity message handling 2024-04-29 13:50:59 +07:00
0af6646212
Stop objects being placed inside each other 2024-04-28 20:20:37 +07:00
fb9871f45b
Ensure counter-clockwise order of poly vertices 2024-04-28 20:07:23 +07:00
4c959b82a9
Some improvement to asset loading and feedback 2024-04-28 19:44:15 +07:00
0854baa986
Semi-fix microdungeons overlap 2024-04-28 18:18:00 +07:00
d141bb64b0
Minimal projectile net state code 2024-04-28 16:37:48 +07:00
ac55422c3b
Sequential or parallel disk access now handled properly 2024-04-26 19:02:26 +07:00
999f3a8d4f
Use world's random in animator 2024-04-26 15:01:44 +07:00
a498c8704b
Forgot to commit this 2024-04-26 15:01:27 +07:00
b0913d1522
Remove unused json stuff 2024-04-26 15:01:11 +07:00
6ffa54fb27
Kind of un-race-conditioned chunk saving 2024-04-26 01:20:13 +07:00
2e5214ef12
Finally, ocean liquids 2024-04-25 23:44:41 +07:00
7efa39bb47
Fix tile modifications failing 2024-04-25 23:36:59 +07:00
16bbc243e8
Fix constellation generation 2024-04-25 23:20:21 +07:00
be6277bb33
Add fast path for hasChangedSince() 2024-04-25 21:44:26 +07:00
b6ff323e5a
Stop objects from popping out of existence if they reside on chunk border and border chunk haven't loaded yet 2024-04-25 16:37:16 +07:00
ba0db89dcf
Damage handling (not tested because entire system is stupid) 2024-04-25 16:13:35 +07:00
c0c63b9240
Ship flight now properly accounts for desired target location in new system when switching systems 2024-04-24 11:57:22 +07:00
2a23c579bc
Persistent system worlds 2024-04-24 11:50:46 +07:00
0fb5359521
Much smarter tick scheduling 2024-04-24 11:21:23 +07:00
d93cc21dcd
Use WAL in storage databases 2024-04-24 10:29:31 +07:00
9644eda14c
Don't spam regular log with json test fails 2024-04-24 00:12:05 +07:00
21fcad14b3
Misc fixes 2024-04-24 00:06:38 +07:00
60fb895fe8
Universe migrated to sqlite database 2024-04-23 22:49:03 +07:00
9797202af2
Fix race condition in event loop shutdown when using awaitTermination() 2024-04-23 17:30:52 +07:00
195de2d160
Persistent universe parameters storage, as well as player context 2024-04-23 16:59:51 +07:00
c016dade54
SQLite as underlying file storage engine 2024-04-23 13:51:24 +07:00
87966e5fa1
Persistent world storage test 2024-04-23 03:04:17 +07:00
38eddc0276
Fix orientation update not updating spatial index 2024-04-22 23:02:04 +07:00
68ec91e1e8
Players now can place objects 2024-04-22 22:57:26 +07:00
ab516d91a9
Responsive player tracking 2024-04-22 22:41:43 +07:00
fd583cf2b9
Fix smashOnBreak not being honored 2024-04-22 22:22:01 +07:00
934e8f8479
Plants without occupied spaces no longer crash server 2024-04-22 22:16:48 +07:00
c2cb8dd208
Make server-side entities exceptions be fatal 2024-04-22 22:16:05 +07:00
e04cc92ffd
Now players are properly kicked to their ships if world experiences fatal error 2024-04-22 22:06:12 +07:00
4212390bf3
event loop now accepts tasks during shutdown if they happen inside event loop 2024-04-22 22:01:16 +07:00
7270b1b47b
Fix wrong json conversion from numbers again 2024-04-22 21:43:01 +07:00
3bb7e50315
Fix wrong json conversion from numbers 2024-04-22 21:29:02 +07:00
dfcc59d218
Fix grass being buried under tiles 2024-04-22 20:50:20 +07:00
9d049ec3aa
Better item spewing 2024-04-22 20:49:14 +07:00
58ec1b7933
Fix hitting only rooted tile did not break trees 2024-04-22 20:48:19 +07:00
baf04fe447
Object breaking 2024-04-22 20:11:16 +07:00
f9fe93383f
Now root mechanics is properly handled by damageTiles 2024-04-22 17:52:43 +07:00
d9de575de6
Now root mechanics is properly handled by damageTiles 2024-04-22 17:52:25 +07:00
b50f356f7e
Functional cell rootSource mechanics 2024-04-22 17:19:05 +07:00
74bbc58c60
Functional plants 2024-04-22 16:41:05 +07:00
17a3de38bc
Improvements to scheduling inside blockable event loop 2024-04-22 16:39:38 +07:00
01c7a29fe8
More genuine container contents shuffling 2024-04-22 00:14:59 +07:00
88e82ad9c8
Fix treasure pool levels 2024-04-21 23:37:51 +07:00
81492f2985
Proper biome item placement 2024-04-21 23:32:29 +07:00
82c2d1315e
Same goes to karst/worm caves 2024-04-21 22:30:14 +07:00
fbbab1c82d
Use floats for perlin noise matrices, since they don't need double precision 2024-04-21 22:27:48 +07:00
135f8e9728
Plant entities? 2024-04-21 22:26:02 +07:00
151470f76d
Microdungeon placement now don't hog event loop 2024-04-20 23:11:42 +07:00
5c13567fed
Paced tile damage/modifications, to root out evil actors 2024-04-20 22:38:13 +07:00
f89afb80bb
Working wiring 2024-04-20 21:31:26 +07:00
7e26f0d3b8
Add more world bindings 2024-04-20 14:44:20 +07:00
5c840eaf77
Fix imports 2024-04-19 15:05:58 +07:00
d9a6d97c4f
Move vectors io to streams 2024-04-19 15:00:29 +07:00
50a3fa6865
Merge kommons math into kstarbound 2024-04-19 14:51:36 +07:00
df329f7087
WorldGeometry.split, little more work on world bindings 2024-04-19 14:18:05 +07:00
3b11fcf792
Sacrifice some memory efficiency of VectorizedBitSet for wild performance boost 2024-04-19 12:34:56 +07:00
fffc0b6102
Misc perfromance improvements 2024-04-19 11:54:41 +07:00
100afadd5c
Blockable event loop without locking 2024-04-19 11:27:55 +07:00
a66de1133a
Fix horizon mask 2024-04-18 22:50:49 +07:00
dc585273b7
Misc fixes 2024-04-18 21:25:25 +07:00
eb6fef150e
Rearrange code execution so objects are generated parallel to applying tile changes to world 2024-04-18 21:06:40 +07:00
fc6938fc35
Deterministic dungeon containers 2024-04-18 21:05:16 +07:00
7857b8821e
Working name generator 2024-04-18 20:47:17 +07:00
432f77a676
More object placement fixes 2024-04-18 19:18:47 +07:00
432df454e2
fix dumb mistake regarding anchors 2024-04-18 18:52:19 +07:00
4fc33b2cb6
Fix TileModification having wrong code for reading hue shift from network 2024-04-18 18:41:29 +07:00
a0d3ddf595
Fix wrong hue shift on modifiers 2024-04-18 18:35:36 +07:00
fde196ceae
Fix jigsaw connectors having wrong understanding of "opposite" 2024-04-18 18:35:27 +07:00
3b642ffe40
Remove "withRandom" 2024-04-18 17:55:10 +07:00
8f407465f5
All composing terrain selectors now can reference other terrain selectors by name 2024-04-18 16:54:05 +07:00
edf33ca224
Little more terrain 2024-04-18 16:43:39 +07:00