Commit Graph

528 Commits

Author SHA1 Message Date
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
c63308f37b
Надо разрешить комментарии в json'не 2023-01-01 18:21:16 +07:00
0f6cb63a10
Унификация предупреждений о json свойствах 2023-01-01 18:13:19 +07:00
bc4d62e2f0
Оптимизация импортов 2023-01-01 18:10:26 +07:00
60f94bde6c
animation -> image 2023-01-01 18:10:13 +07:00
e263e29989
На самом деле, мы уже избавились от старого framegrid 2023-01-01 18:08:32 +07:00
69a5061e9e
ImageReference, SpriteAnimator и почти избавились от старого FrameGrid 2023-01-01 18:07:46 +07:00
9357835f4e
AtlasDefinition.spriteList 2022-12-31 14:09:41 +07:00
c7952ba53d
Подправим производительность 2022-12-31 13:57:15 +07:00
f751c126f6
man 2022-12-31 13:50:33 +07:00
3e5195cbc1
💥 2022-12-31 13:44:15 +07:00
2805717ded
extraPropertiesAreFatal 2022-12-31 13:25:11 +07:00
a27cba5e0f
Покидаемся исключениями? 2022-12-31 13:20:03 +07:00
bfae6877c9
Более вменяемый BuilderAdapter 2022-12-31 13:11:09 +07:00
b3636e5a55
Правильные имена адаптеров типов 2022-12-31 10:02:52 +07:00
2a4ad28e3e
Тут тоже 2022-12-31 00:20:53 +07:00
cafbe3d242
Добавим default как alias root в atlas 2022-12-31 00:20:34 +07:00
7697efeb50
Атлас спрайтов теперь более менее рабочий 2022-12-31 00:16:49 +07:00
8ef4ab0eb1
Атлас спрайтов (frames), переделан с нуля 2022-12-30 23:52:35 +07:00
49e9dd2735
Вновь тест подгрузки "активных" предметов 2022-12-30 18:49:14 +07:00
d925f33e44
JsonPath 2022-12-30 18:49:03 +07:00
4e09fad480
Снова тестим подгрузку брони 2022-12-30 17:53:19 +07:00
e4a2f66b84
не надо спамить 2022-12-30 17:33:10 +07:00
7f28e8be51
Ещё больше рефакторинга 2022-12-30 17:31:57 +07:00
63d5afdfcd
И ещё больше штуковин для десериализации! 2022-12-30 17:29:25 +07:00
366e59cf14
Более функциональный подход к typeadapter 2022-12-30 17:24:13 +07:00
53c4c3fa11
Ещё больше рефакторинга десериализера 2022-12-30 16:59:21 +07:00
b939373298
Перемещены классы для работы с json в пакет json 2022-12-30 16:38:55 +07:00
35151c8187
Рефакторинг имён 2022-12-30 16:33:51 +07:00
ef9e22b51c
ммм 2022-12-30 16:25:15 +07:00
727727b7cd
Больше тестов декодирования предметов 2022-12-30 15:43:37 +07:00
d016aa807c
Сохранение Json структуры в KConcreteTypeAdapter 2022-12-30 15:12:55 +07:00
e5728e5ec9
Подгрузка денежных предметов 2022-12-30 14:07:44 +07:00
fef29b3f37
Перевод реестра прототипов на fastutil 2022-12-30 12:39:31 +07:00
819d188e2a
Ещё больше прибираемся 2022-12-30 12:36:07 +07:00
d8c1d9dab8
Немного прибираемся 2022-12-30 12:28:02 +07:00
a0705472f8
Сущности-предметы! 2022-12-30 12:27:18 +07:00
b9b4140832
Более корректный код определения примитивов 2022-12-30 11:44:11 +07:00
ec98c6970c
Строковый интернер создаём сразу 2022-12-30 11:40:30 +07:00
1fe0b25efa
Трансформеры значений у KConcreteTypeAdapter 2022-12-30 11:20:10 +07:00
b8dc265037
Менее запутанный KConcreteTypeAdapter 2022-12-30 11:03:45 +07:00
f62c6cab66
Больше комментариев 2022-12-30 01:51:35 +07:00
5e29072fcf
Больше свойств у прототипа предмета 2022-12-29 17:10:52 +07:00
5f3c33d9cb
Свойство для указывания символьного имени которое на данный момент прочитывается 2022-12-29 15:47:30 +07:00
176ca9db65
Подгрузка прототипов предметов, немного комментариев в коде 2022-12-29 15:34:35 +07:00
cfe892e220
some more little tinkering with light system 2022-12-28 15:30:54 +07:00
8a03d326f4
Use hash table for chunk map 2022-12-02 15:00:31 +07:00
64b777c11a
readNBytes impl 2022-12-02 14:53:20 +07:00
e8eed40a73
object oriented file system skeleton
so there at least some preparation for java nio filesystem
2022-11-24 15:30:47 +07:00
6cc7ae51a0
a 2022-10-05 22:19:06 +07:00
08c2b5a685
even more raycasted lights tests 2022-09-16 19:54:41 +07:00
5947252dc7
Raycasted lights 2022-09-16 17:47:34 +07:00
96068d483c
Light flood test 2022-09-16 15:29:39 +07:00
45b3e203ba
Rename to GPULightRenderer 2022-09-16 13:29:00 +07:00
9be1dcadd1
a 2022-09-16 13:28:15 +07:00
5458a4a60d
More GPU shadows tests 2022-09-16 13:27:22 +07:00
bacda9dd97
light penetration argument 2022-09-16 12:31:11 +07:00
6483dae892
ok, now light is still duct taped, but more optimized 2022-09-16 12:28:59 +07:00
5c697c129e
More shadows tests 2022-09-16 11:55:23 +07:00
4198483974
Make cleanable trace-log not closed OpenGL objects 2022-09-16 01:01:43 +07:00
86a8c4a130
more shadows tests 2022-09-14 21:35:23 +07:00
1254fb276c
Soft light test 2022-09-14 20:28:19 +07:00
7eeb5f8a12
Light renderer dispatcher 2022-09-14 14:54:10 +07:00
0614158a9c
Shadows test 2022-09-14 00:49:50 +07:00
3cc8d54ede
a 2022-09-13 19:22:31 +07:00
b19307ffdf
Get rid of regular array spliterator 2022-09-11 20:13:08 +07:00
ee21636529
More streamlining 2022-09-11 18:50:19 +07:00
96c88aa725
Liquid render! 2022-09-11 17:55:47 +07:00
598530c4ec
specify floatbuffer 2022-09-11 14:23:36 +07:00
2cb2ac16ce
Use hash map in uniform location cache 2022-09-11 11:29:06 +07:00
0cf0bcea57
Move shaders around 2022-09-11 11:26:15 +07:00