Commit Graph

637 Commits

Author SHA1 Message Date
c8683a15bd
Move terrain selectors to ru.dbotthepony.kstarbound.world.terrain 2024-03-28 13:34:01 +07:00
1d5953eb36
Move biome classes to world subpackage 2024-03-28 13:32:21 +07:00
b8a8e79819
Entity.description 2024-03-28 13:17:01 +07:00
7973724193
Compensate for system scheduler inaccuracy instead of spin locking
this eliminates CPU cycles burning
2024-03-28 13:07:00 +07:00
9b9856ebd1
EntityDestroyPacket 2024-03-28 13:01:57 +07:00
bf5710542e
Tile damaging? 2024-03-28 10:15:43 +07:00
a5192bc551
Proper chunk tracking 2024-03-27 23:09:52 +07:00
82b09721fc
Little more implementation 2024-03-27 18:05:02 +07:00
3579f46209
2 Players in same place test 2024-03-27 17:11:38 +07:00
9bbef92ea9
Fix not networking collision type 2024-03-27 15:02:11 +07:00
9c1772a766
Functional serverside player network receive 2024-03-27 14:30:44 +07:00
551eac4072
move defs/player to defs/actor/player 2024-03-20 20:23:50 +07:00
8149fcb48d
More work towards implementing legacy protocol, new entity class tree 2024-03-20 20:18:41 +07:00
afc45aac92
More legacy protocol implementation 2024-03-20 12:39:21 +07:00
94cc53b176
Moar packets implemented, chat, tiles, broadcast, ... 2024-03-20 00:22:26 +07:00
21f3a66283
Now original game client can properly connect and be on server, and also can request a disconnect 2024-03-19 16:59:01 +07:00
66aa99acc2
NetworkedElement, Json RPC and ClientContextUpdate fixes 2024-03-19 15:22:05 +07:00
d37bad79c6
WorldTemplate, WorldLayout, VisitableWorldParameters, Biomes, BiomeDefinitions, Trees, Grass, Bushes, Terrain Selectors
RenderDirectives, JsonRPC, Json adapters fixes, DispatchingTypeAdapter
2024-03-17 11:10:18 +07:00
73cf5f596c
We welcome the Universe 2024-02-29 14:59:54 +07:00
a06ed42268
Bump kommons 2024-02-18 13:23:36 +07:00
df972dd891
Update code to match latest kommons 2024-02-15 19:51:15 +07:00
067d16eaf3
Bump kommons 2024-02-15 19:49:26 +07:00
a0c63d3aaf
BTreeDB.hasKey 2024-02-15 14:15:56 +07:00
0f91102e6b
Ah yes, BTreeDB 2024-02-15 14:05:42 +07:00
f6d138400f
BTreeDB gone async 2024-02-12 17:27:04 +07:00
fd233b9ab5
More work on legacy protocol 2024-02-12 16:06:51 +07:00
c2dc7c2e11
Start implementing legacy protocol 2024-02-10 22:55:24 +07:00
075b8259be
Move stuff around 2024-02-10 16:49:58 +07:00
1e04b7e777
Bump kommons 2024-02-08 20:23:40 +07:00
8671c4bfad
More networking work 2024-02-08 19:59:39 +07:00
0eea0fa13f
More grinding on entities and their networking 2024-02-05 03:17:30 +07:00
cae0a89ea2
Slightly more efficient spinning 2024-02-04 20:36:22 +07:00
d8f4d06d83
NtQueryTimerResolution 2024-02-04 20:06:12 +07:00
4ff09bea2b
sigh 2024-02-04 18:03:18 +07:00
666d746936
More networking workings 2024-02-04 14:26:45 +07:00
3e2872ea5e
Execution spinner for unified and improved spinning 2024-02-04 13:42:13 +07:00
e9b2ae84d2
bump kommons 2024-02-03 23:04:16 +07:00
c4241a027a
bump kommons 2024-02-03 20:50:54 +07:00
c5d1e0f4c7
Migrate to kommons 2024-02-03 20:41:51 +07:00
c65d3f1a88
Some renamings 2024-02-03 13:46:50 +07:00
8c731366af
USE_CAFFEINE_INTERNER compilation flag 2024-02-02 18:18:41 +07:00
278f66d892
Finally, client threads 2024-02-02 17:53:20 +07:00
0b961b72ae
Merge Player and Connection 2024-02-02 17:00:02 +07:00
bd8d0e58df
"Fix" random crash inside stbi_load_from_memory caused by JVM releasing DirectByteBuffer while it is being used 2024-02-02 15:47:42 +07:00
cb38ecfde7
Move JsonUtils to json package 2024-02-02 12:30:22 +07:00
4d58f0ab71
Kind of more networking stuff 2024-02-02 12:09:22 +07:00
2b95bf5e3e
More work on chunk map and chunk tickets 2024-02-01 18:33:11 +07:00
a028694010
Functional chunk tickets, chunk source, player chunk tracking 2024-02-01 15:58:44 +07:00
3561bf7086
Remove unused class 2024-01-28 20:26:38 +07:00
81ff32b8c1
Move starbound file system to top package 2024-01-28 20:25:31 +07:00
b7ec73bf0f
Server and network test code 2024-01-28 16:13:07 +07:00
f58b0bca80
Actor movement controller 2024-01-25 19:46:41 +07:00
8fe6da7218
Window icon 2023-12-02 15:38:00 +07:00
19c3da7b8f
jvm heap usage bar on loading screen 2023-12-02 00:16:45 +07:00
e0c511af33
Fix dot animation 2023-12-01 23:50:32 +07:00
125af3141d
actor entity 2023-12-01 21:06:34 +07:00
bfc39a6cb6
Don't directly depend on forkjoinpool 2023-12-01 21:06:28 +07:00
f4cb791125
Speed up loading by lazy adapters 2023-12-01 20:23:16 +07:00
efadaeb28c
Get rid of loading log since it stalls threads 2023-12-01 20:16:21 +07:00
35fc841037
fixes 2023-12-01 19:22:49 +07:00
cc1c0124ae
Add missing logging 2023-12-01 19:07:51 +07:00
b79161cca2
Load font from pak files, bootstrap window 2023-12-01 19:03:51 +07:00
2793154bbb
bring back very thin boxes instead of lines 2023-12-01 13:48:30 +07:00
4db69db0cd
Regular movement code port from original engine 2023-12-01 13:28:25 +07:00
2b94bfd41f
Collision detection updates 2023-11-20 14:18:57 +07:00
1526a1c127
Universe thread, more synchronization (to allow more pararllel code), initiate player movement test once again 2023-11-11 14:25:31 +07:00
8af66ff359
move json out of io package 2023-11-10 22:51:32 +07:00
24529aba3e
Switch to Luna from PUC Lua 2023-11-10 22:25:41 +07:00
f0791a47b7
Make mailbox be lightweight as possible 2023-10-26 00:34:06 +07:00
792e0c6ff6
Original game tile collision geometry 2023-10-25 22:28:49 +07:00
d782b33970
Fix native memory leak
in GC language.
2023-10-22 14:01:21 +07:00
d0862ab454
Micro optimize interner 2023-10-22 13:39:46 +07:00
064689fc25
Massively improve memory usage of world tiles 2023-10-22 10:12:39 +07:00
949ed802ad
Redesigned registry 2023-10-22 00:45:22 +07:00
8cd84a4501
Significantly reduce memory usage by cells 2023-10-19 08:13:57 +07:00
8afef646ae
Sparse chunk map instead of infinite chunk map, allowing to create huge worlds, without complexity of "infinite" worlds 2023-10-19 00:47:53 +07:00
93deb62d4b
Immutable chunk cells 2023-10-19 00:03:38 +07:00
ba0d792e83
Misc fixes 2023-10-18 22:36:46 +07:00
b1b5b598f0
preciseWait flag on client 2023-10-18 22:25:49 +07:00
5fb6d817fc
Parallel move(), remove more outdated code, complete MailboxExecutorService 2023-10-14 22:23:30 +07:00
30b168766d
Remove kbox2d from deps and remove leftover code from previous testing stages 2023-10-14 19:26:28 +07:00
b9975657d4
SAT testcode 2023-10-14 10:39:20 +07:00
2280882247
Add ScheduledExecutorService impl to ManualExecutorService 2023-10-13 00:42:10 +07:00
906e6a0373
Fix world keys in test code 2023-10-12 19:16:54 +07:00
d0216b997e
Make world have executor 2023-10-12 19:16:45 +07:00
8d8d4029a7
Fix btree keys not being properly compared 2023-10-12 19:16:21 +07:00
0b163481e7
Have textures be logically loaded from Image itself 2023-10-12 08:10:37 +07:00
c8488c3565
Async image data loading 2023-10-11 23:54:27 +07:00
7cb9a7951f
Use immediateFuture 2023-10-11 23:29:52 +07:00
0c6736ef90
Misc fixes 2023-10-11 21:56:22 +07:00
7fcad1352e
Revert "Help GC in light calculation"
This reverts commit 86a44581a5.
2023-10-04 23:32:09 +07:00
86a44581a5
Help GC in light calculation 2023-10-04 22:50:23 +07:00
f874b880ef
Use common ForkJoinPool for light calculations 2023-10-03 14:39:06 +07:00
425494e104
Smarter multithreading 2023-10-03 14:05:27 +07:00
6ae8066ebc
multithreaded chunk geometry batching 2023-10-02 11:07:55 +07:00
71a6f388fc
Further parallelize game asset loading 2023-09-30 01:04:47 +07:00
302aa9b83a
Loading log progress bars 2023-09-29 23:34:15 +07:00
e96d668f26
Add asset path stack push/pop when loading globals 2023-09-29 22:47:44 +07:00
087c4616b6
Add base movement parameters 2023-09-29 22:45:59 +07:00
2aac9f405d
rename movement params classes 2023-09-29 22:32:11 +07:00
b3f7cee963
fix 2023-09-29 22:14:01 +07:00
ccf696a156
Move stuff around to reduce stress on main starbound class 2023-09-29 22:05:26 +07:00
86782e259e
KOptional type adapter, and movement controller defs structures 2023-09-29 20:26:49 +07:00
c0ecbe9a8b
Proper and accurate grid raycasting 2023-09-29 18:27:41 +07:00
97d441deba
Multithreaded game loading 2023-09-25 18:59:43 +07:00
5901d756ee
Fix missing texture not being properly uploaded to memory 2023-09-23 23:07:07 +07:00
8647d8e74a
Specify as stream draw 2023-09-23 23:01:36 +07:00
40782fd18f
Fix possible memory leaks regarding unused resources, and tighten cache store times 2023-09-23 22:59:30 +07:00
178953bce7
Geometry batching 2023-09-23 22:40:31 +07:00
1479f7483a
what 2023-09-23 12:20:46 +07:00
4a1a26a493
Text renderer batching 2023-09-23 10:57:46 +07:00
4c39ff2069
Remove unused shader files 2023-09-22 16:13:02 +07:00
8d32daa840
Lightmap support in uber shader 2023-09-22 14:20:50 +07:00
339891b6e2
New shader render pipeline 2023-09-22 12:24:08 +07:00
62dfc63839
HashTableInterner fixes 2023-09-20 17:25:40 +07:00
352dea020a
Update GL46 refs to GL45 2023-09-20 14:54:58 +07:00
85e81a0b0b
OpenGL object tracking cleanup 2023-09-20 14:51:33 +07:00
1e8cc5898d
Raise OpenGL version back to 4.5, since without Direct State Access there is so much headache 2023-09-20 14:11:07 +07:00
60c5b2a9ab
new sahders draft 2023-09-20 14:07:57 +07:00
123573e056
Downgrade OpenGL to 3.3 since no 4.0+ features were used 2023-09-18 19:58:40 +07:00
1de2b4c167
Better frame scheduling 2023-09-18 00:06:41 +07:00
a41037826c
Fixes to dataValue and flickering lights 2023-09-17 22:28:27 +07:00
328cab8127
Fix having multiple starbound clients being broken 2023-09-17 21:32:43 +07:00
3ad0e78c10
Remove unused graphics stuff, merge GLStateTracker with StarboundClient 2023-09-17 21:25:20 +07:00
ef52700ff2
Redo how images are handled, more world objects work, custom tailored interner 2023-09-17 18:27:16 +07:00
57c32beb0d
Bare minimum for object loading 2023-09-16 17:00:21 +07:00
84e9fd842a
Actual world lighting, world objects test 2023-09-10 13:12:37 +07:00
da66fa389d
Use anonymous thread local here 2023-09-09 17:18:59 +07:00
9ca98f10be
Don't create random 2023-09-09 17:18:47 +07:00
bc9896d327
Make Starbound class be singleton again 2023-09-09 11:34:24 +07:00
528a2e6c59
Some renamings and make Either be able to handle nulls 2023-09-08 23:39:13 +07:00
6397637538
Actual Light test 2023-09-08 00:00:43 +07:00
0f4b7ace07
Add RenderConfig#initialBuilderCapacity 2023-09-06 19:06:12 +07:00
386d71b92f
Make vertex builder be able to switch geometry type on the fly 2023-09-06 18:54:51 +07:00
96cc44c592
Fixed render regions actually being repeated for wrapped around chunks 2023-09-06 00:20:29 +07:00
ef838d52c2
Updated render classes structure to be less alien 2023-09-06 00:05:39 +07:00
370c93226b
More appropriate preferred render region size 2023-09-05 22:11:13 +07:00
f71b561ad7
Liquid rendering in regions 2023-09-05 22:02:48 +07:00
36d83b6a8e
Faster forEachRenderRegion 2023-09-05 21:34:24 +07:00
538f8a9b72
Undo dynamic chunk dimensions, add render regions instead for solid grid rendering 2023-09-05 21:12:23 +07:00
94fe3662ad
Arbitrary dimension chunks, null/not null cell distinction 2023-09-05 16:09:09 +07:00
fb44d77353
Minor cleanups 2023-09-04 22:07:29 +07:00
1e1c5a83c1
Chunk render offsets
this thing is broken
2023-09-04 20:58:28 +07:00
07ba48c121
Fix repeating chunks not being put into collect 2023-09-04 11:05:42 +07:00
dc72bf1b18
Remove gpu light rendering 2023-09-04 11:00:00 +07:00
7a69dee5ca
faaster 2023-09-04 09:43:36 +07:00
3398ba62ee
Cleaner version of previous commit 2023-09-04 08:35:31 +07:00
3647643351
Circular aware chunk compilers 2023-09-04 07:56:48 +07:00
0657ee8ef7
Chunk map, circular worlds second attempt 2023-09-03 23:08:10 +07:00
e436864e12
Optimize cell view 2023-09-03 17:40:31 +07:00
e459db83b2
Bump kvector, make liquid rendering a bit less stupid 2023-09-03 15:14:53 +07:00
f2bb0a9d2d
Move files around 2023-09-03 13:48:40 +07:00
808a938144
Slice and splice tiles, make tile layers be an abstraction, not reality 2023-09-03 13:43:36 +07:00
4e4875b5d7
Bump kvector and kbox2d 2023-09-02 22:04:26 +07:00
96e782c264
Make it compile against updated box2d and kvector 2023-09-02 20:51:15 +07:00
48e1cd5263
Категория может быть null 2023-08-13 19:52:33 +07:00
3617b38196
Делаем композицию вместо билдера + наследования 2023-08-13 19:51:01 +07:00
a97e51a51d
Небольшие попроавления имён 2023-08-13 15:00:32 +07:00
6e1a09ba49
Добавил имя функции в TODO() 2023-04-23 23:54:51 +07:00
82c6d4254c
root.hasTech, techType, techConfig 2023-04-23 23:54:08 +07:00
2e22dd9922
root.monsterMovementSettings 2023-04-23 09:22:02 +07:00
30c63e5845
root.monsterParameters 2023-04-22 11:37:06 +07:00
f04df9feda
root.monsterSkillParameter 2023-04-21 19:51:38 +07:00
62b8ca34ed
мда 2023-04-20 23:51:44 +07:00
faa2e57724
Lua Функции для получения конфигов материалов и жидкостей 2023-04-16 17:58:15 +07:00
11d73a6fd5
root.materialHealth 2023-04-10 19:10:05 +07:00
b311c8516b
root.materialMiningSound root.materialFootstepSound 2023-04-10 19:01:53 +07:00
3a29b49bf6
как так то я это проворонил 2023-04-03 23:41:25 +07:00
63944456c6
Рецепты теперь завёрнуты в RegistryObject 2023-04-01 16:20:17 +07:00
2d87575bfc
root.isTreasurePool и root.createTreasure, и полноценная подгрузка treasure pool 2023-03-31 11:05:48 +07:00
aa4f73bc01
root.questConfig 2023-03-30 10:56:33 +07:00
0839a7baee
root.generateName 2023-03-30 10:42:46 +07:00
c67c2095a0
root.liquidStatusEffects 2023-03-29 19:42:44 +07:00
6a39ed7f56
Порядок файлов теперь сохраняется полностью 2023-03-29 19:24:57 +07:00
c04c89de0d
Надо сохранять порядок файлов 2023-03-29 19:17:23 +07:00
31c539948e
root.tenantConfig и root.getMatchingTenants 2023-03-29 19:11:12 +07:00
90040aec3a
root.itemConfig и root.createItem 2023-03-29 18:20:10 +07:00
eaa0ce58bf
root.itemHasTag 2023-03-29 15:47:13 +07:00
31b4ee2c32
root.itemTags 2023-03-29 15:45:01 +07:00
050dddcca7
Экспериментальный самодельный StringInterner 2023-03-29 15:39:50 +07:00
22b384b2a5
Вместо Interner от guava используется Interner от Caffeine 2023-03-29 13:03:12 +07:00
82955b51dd
Отдельные потоки для чистки кеша не нужны, он использует ForkJoinPool 2023-03-29 12:39:07 +07:00
4f4baef997
Разделение одного пакета item на api и impl для удобства 2023-03-29 12:24:12 +07:00
59fd54499b
root.itemType 2023-03-29 12:21:19 +07:00
9e6d54cea7
Тред загрузки ассетов должен считаться демоном 2023-03-29 07:49:56 +07:00
bae1c9dfc6
softValues не нужны 2023-03-28 22:39:18 +07:00
952f245e8f
Двухуровневый кеш текстур 2023-03-28 22:38:27 +07:00
0910b093f8
Caffeine как библиотека для кешей 2023-03-28 22:33:54 +07:00
b47abdced4
ItemDescriptor в ItemStack ибо странно называть его так 2023-03-28 20:54:06 +07:00
89180a6664
root.recipesForItem и подгрузка описания рецептов 2023-03-28 20:52:28 +07:00
046698ddc5
root.npcConfig 2023-03-28 19:07:26 +07:00
22c39ba497
root.imageSpaces 2023-03-27 18:11:10 +07:00
ca23dd2b95
LuaState push для векторов 2023-03-26 22:16:44 +07:00
a46fa20748
root.nonEmptyRegion 2023-03-26 22:14:53 +07:00
62b67c66ad
Json function тесты 2023-03-26 21:45:37 +07:00
12232fbd18
Больше Lua API в root, 2function 2023-03-26 20:52:48 +07:00
b0e978b2d1
Avatar, QuestInstance, серьёзные улучшения Lua 2023-03-02 15:15:54 +07:00
61b21a595f
Получение значений из Lua 2023-02-23 14:19:02 +07:00
1fdb8d9a10
Удаляем тестовый код для Lua 2023-02-23 09:53:26 +07:00
7a8e366c46
Больше тестов Lua 2023-02-23 09:45:53 +07:00
da6e5aa694
LuaJNA не нужен, ибо он куда медленнее 2023-02-23 00:44:50 +07:00
4e01eddfac
оно перестало крашится (наверное) 2023-02-23 00:40:35 +07:00
645766ed42
оно крашится 2023-02-22 19:32:34 +07:00
3f4c34f5e3
проверка identity 2023-02-22 10:02:08 +07:00
9da968695e
Тест аниматора, RebindableSprite и ещё приборка в GL 2023-02-21 22:49:25 +07:00
0a00595520
Немного прибераемся в самом низу render pipeline 2023-02-21 19:15:35 +07:00
c7980d9068
Используем время JVM 2023-02-21 18:31:02 +07:00
244f6e3461
Перемещаем все программы в GLPrograms 2023-02-21 17:58:28 +07:00
1f50315ed5
Немножечко низкоуровневых оптимизаций рендера 2023-02-21 13:43:49 +07:00
2a7a62e6ed
более унифицированные имена юниформов 2023-02-21 12:58:15 +07:00
9d41380c16
ну и этот мусор 2023-02-21 12:30:25 +07:00
b40f3e8dca
Больше рефакторинга шейдеров, но надо ещё избавится от мусора в виде configuredshaderprogram 2023-02-21 07:43:28 +07:00
b85b90f74c
Во первых, линкуем шейдерные программы сразу 2023-02-20 14:42:45 +07:00
791e57cb0f
Image Reference как и для изображений, так и для спрайтов 2023-02-13 21:50:19 +07:00
3ef02ad450
м 2023-02-13 20:28:28 +07:00
0fd5fb0be7
Только один VertexBuilder для их всех 2023-02-13 17:50:48 +07:00
0052adf89a
непонятно как делать animator 2023-02-13 15:42:42 +07:00
ed12e99d43
Более тесно связанные классы ассетов 2023-02-10 14:55:39 +07:00
e01afbefe7
интернированые адаптеры 2023-02-09 19:30:52 +07:00
a5668b57e6
Удаляем дубликаты функций из binary json 2023-02-09 16:09:21 +07:00
005aa354df
Возвращаем rarity, fuel и category ибо они нужны движку 2023-02-09 15:48:42 +07:00
d6ac6d86bb
сыс 2023-02-08 19:01:14 +07:00
bc14589551
это не нужно 2023-02-08 18:12:09 +07:00
3275bb1087
ну вот так надо было именовать эту штуку 2023-02-08 16:13:30 +07:00
bd690ee56c
хз, всё равно надо что то другое 2023-02-08 14:51:15 +07:00
c3756b259a
более быстрый isMarkedNullable 2023-02-08 10:47:56 +07:00
89fbbadec3
DynamicDefinition.toJsonTree 2023-02-07 21:58:12 +07:00
ebdf0aa642
я даже не знаю что сказать про динамические прототипы... 2023-02-07 20:09:52 +07:00
df4937f1df
удаление упоминаний параллакса 2023-02-06 20:57:57 +07:00
1bffac6014
Устаревшие классы определения параллакса и мира 2023-02-06 20:55:36 +07:00
8a4a84c05b
BinaryJsonReader 2023-02-06 20:29:18 +07:00
6aca9d40f1
Интернинация sbpattern 2023-02-06 18:20:57 +07:00
6646c1879d
снова тест 2023-02-06 17:49:39 +07:00
f94e6f2f72
мда 2023-02-06 17:21:28 +07:00
15abdba2c5
Starbound теперь более не синглтон, а настоящий класс
удалил кучу устаревших классов ибо они совсем не имеют смысла
2023-02-06 17:17:42 +07:00
210d065f79
liquid definition в tile package 2023-02-06 14:46:10 +07:00
e154cec780
Избавляемся от устаревших тип адаптеров 2023-02-06 14:30:21 +07:00
b212ef7518
IThingWithDescription в тайлах и их модиферах 2023-02-05 22:45:49 +07:00
7309f6be46
Немного подправил either 2023-02-05 20:32:55 +07:00
aaefef570b
a 2023-02-05 18:21:35 +07:00
6a437d3400
Небольшой тест подгрузки всех модов 2023-02-05 17:09:49 +07:00
2709f3d005
DirectAssetReference 2023-02-05 16:39:03 +07:00
39dd94dc6c
м 2023-02-05 16:16:28 +07:00
d44fd8d6c1
Недо-чтение партиклей, Either<> 2023-02-05 16:14:16 +07:00
8540448bdc
ну да, не добавил 2023-02-05 11:40:26 +07:00
cc5c85bef1
ммм 2023-02-05 11:22:56 +07:00
6e248d5fcf
ускоряем чтение индексов pak вдвое 2023-02-05 11:13:25 +07:00
af7ff24320
Более большой буфер чтения индексов pak файлов 2023-02-05 11:08:03 +07:00
8042cd0a22
Избавляемся от ненужного дублирования кода 2023-02-05 11:04:29 +07:00
d7c16697be
don't create shadow geometry GL objects right away 2023-02-05 00:56:09 +07:00