Parse CTLD initial effect group selector
Docs Deploy / Build and Deploy MkDocs (push) Successful in 37s
Docs Deploy / Build and Deploy MkDocs (push) Successful in 37s
This commit is contained in:
3 files changed
+85
-2
No files matched your search
@@ -454,6 +454,19 @@ C0 равен 0, поэтому найденные offsets 104–107, 119–121
|
||||
условий, загрузка FX materials, activation, выполнение FX opcodes и видимый
|
||||
рендер эффектов пока не реализованы.
|
||||
|
||||
После типизированных записей CTLD хранит 21 ссылку на группу эффектов. В
|
||||
`fr_l_plant.ctl` первая ссылка равна `8`, остальные 20 содержат `u32::MAX`; за
|
||||
ними расположены 13 таблиц групп. При разборе по адресу `+0x8B10` к каждой
|
||||
ссылке, кроме `u32::MAX`, прибавляется число групп, зарегистрированных до
|
||||
таблиц этого CTL; получившиеся индексы сохраняются в control mapping. При
|
||||
событии `0x80000020` код по адресу `+0x7830` сразу выходит, если поле дескриптора
|
||||
`+0xC0` равно нулю. Разбор по адресу `+0x8B10` вызывает диспетчер групп `+0x2800`
|
||||
с индексом группы по умолчанию только при ненулевом `+0xC0`. Назначение поля
|
||||
дескриптора и условия его заполнения на стороне producer пока неизвестны.
|
||||
`initial_effect_group` хранит проверенную ссылку на группу по умолчанию. Это
|
||||
поле описывает данные CTL и не выполняет activation, загрузку FX materials,
|
||||
FX opcodes или рендер эффектов.
|
||||
|
||||
CPU-only обход `MISSIONS/Autodemo.00/data.tma` подготовил четыре CTL с 80
|
||||
строками type 4 и четыре явных CPT-списка (всего 322 записи). Среди пар были
|
||||
`fortif.rlb/fr_l_plant.ctl` и `fortif.rlb/fr_l_plant.cpt` (155 точек), а также
|
||||
|
||||
Reference in new issue
Block a user