Commit Graph

598 Commits

Author SHA1 Message Date
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
6584087842
AssetReference, AssetPathStack и корректировка существующих адаптеров 2023-02-05 00:39:18 +07:00
c57558af20
species 2023-02-04 16:32:34 +07:00
2dd84318cc
SBPattern как util 2023-02-04 14:54:18 +07:00
c54e9b63d2
Избавляемся от nullSafe врапера 2023-02-04 14:53:28 +07:00
7fc4d225a2
JSON Описание игрока 2023-02-04 14:47:26 +07:00
1fd4ed6257
кеш свойств 2023-02-01 12:33:51 +07:00
ae8f8ad658
Flashlight definition 2023-02-01 12:22:26 +07:00
d8c644c64b
Интерфейсы не надо просматривать 2023-01-23 16:45:08 +07:00
493cbca351
a 2023-01-23 14:21:31 +07:00
49e90a6dca
harvestingtool 2023-01-23 14:18:30 +07:00
a8e921bfb1
ненужно 2023-01-23 13:58:00 +07:00
f3a2c1d327
Все адаптеры на аннотациях 2023-01-23 13:48:50 +07:00
071e8c4e21
Удаляем тестовый код 2023-01-23 13:33:51 +07:00
6bcf504908
Ещё больше json аннотаций, теперь для FactoryAdapter 2023-01-23 13:26:12 +07:00
f7c8455b87
ммм 2023-01-23 12:15:27 +07:00
20bd844f23
Создание BuilderAdapter через аннотации 2023-01-23 12:11:28 +07:00
38d341913a
EnumAdapter для всех enum'ов 2023-01-22 23:39:44 +07:00
6ea4d7a6ab
Полностью перешли на TypeAdapterFactory, наверное 2023-01-22 23:24:06 +07:00
c80372e0fa
Больше переноса на TypeAdapterFactory 2023-01-22 23:11:20 +07:00
a4f4320b04
ненужно 2023-01-22 21:59:35 +07:00
be87ca7cc1
Немного не туда пошёл, но сохранится надо 2023-01-22 21:52:48 +07:00
2d8e3a7ff5
ммм 2023-01-22 20:29:48 +07:00
2d7681628d
ReferenceAdapterFactory 2023-01-22 19:19:10 +07:00
580cfd53da
reified mapAsObject 2023-01-22 19:10:20 +07:00
6f8de045e1
ReferenceAdapter 2023-01-22 19:08:26 +07:00
6fafcd6185
Ещё больше приборки в структуре 2023-01-22 18:47:30 +07:00
215ae8429e
Немного прибираемся 2023-01-22 18:43:45 +07:00
9ae61d6882
Работающий racialDescription в ThingDescription 2023-01-20 23:12:11 +07:00
cae74c5e5e
немного перемещений классов 2023-01-20 22:24:55 +07:00
c42cde3372
logMisses флаги и ещё парочка штук 2023-01-20 22:20:10 +07:00
b077b22180
ThingDescription, flat json свойства и делегирование 2023-01-20 22:08:59 +07:00
4675197a04
ObjectOpenHashSet в BuilderAdapter read 2023-01-07 17:05:59 +07:00
093cec575e
IScriptableItemDefinition 2023-01-07 12:24:59 +07:00
6fa7b2193e
ILiquidItem 2023-01-04 16:04:09 +07:00
f76530e5b6
IMaterialItem 2023-01-04 15:45:52 +07:00
b21bd50e7b
хмм 2023-01-02 00:27:00 +07:00
7eaccacc68
Более правильные имена 2023-01-02 00:11:55 +07:00
3da8450a2c
давайте снова попробуем builder'ов, но на этот раз с интерфейсами 2023-01-02 00:08:34 +07:00
78cdc2c886
ListAdapter теперь понимает упрощение структуры при 1 элементе массива 2023-01-01 19:07:37 +07:00