2dfx це секція файлу моделі .dff в GTA:SA. Ця секція дозволяє прикріплювати спеціальні ефекти до моделі. У San Andreas існує 10 типів 2dfx ефектів. Один з них можна додати тільки через .ide файли (це тип 2dfx - меблі(futnitur)), так що додавати її в dff немає сенсу - вона просто не буде працювати.
2dfx секція в RwAnalyze
Ми можемо знайти цю секцію (якщо вона існує) в секції Clump->Geometry List->Geometry->Extension.
Можна витягти/вставити цю секцію, натиснувши ПКМ і вибравши потрібну дію.
Після витягування секції, у створеного файлу не буде розширення. Додайте розширення ".2dfx" до імені файлу, щоб пізніше використовувати його в 2dfx tool.
2dfx tool
Ця програма дуже проста. Вона створює текстовий файл (.txt) на основі файлу .2dfx, і файл .2dfx - на основі текстового файлу.
Ітак, якщо нам потрібно змінити оригінальну 2dfx секцію, нам потрібно виконати наступні кроки:
1) витягти оригінальну секцію в файл, додати розширення ".2dfx" до імені файлу; 2) помістити файл .2dfx в папку "2dfx"; 3) запустити програму SA2dfx.exe; 4) відкрити створений текстовий файл (.txt)(він буде створений у цій же папці ("2dfx")) і змінити його; 5) помістити змінений текстовий файл (.txt) в папку "txt"; 6) запустити програму SA2dfx.exe; 7) Отриманий файл .2dfx з папки "txt" додати в dff за допомогою RwAnalyze.
Структура файлу
Заголовок текстового файлу містить кількість 2dfx ефектів у секції.
NumEntries 12
Після цього слідує опис ефектів. Опис кожного типу ефектів має свій формат, але всі вони починаються з цього:
Після того, як програма дізнається тип ефекту, вона вибере потрібний формат для читання інформації про ефект.
Тип LIGHT
Цей тип використовується для створення джерела світла. Таке світло складається з:
1) корони (2d спрайт); 2) тіні (проекція на землі); 3) динамічного світла (базується на стандартному освітленні графічного движка, вершинне освітлення для динамічних об'єктів - автомобілів, пішоходів, об'єктів).
Формат цієї секції:
2dfxType LIGHT Position 2.468750 3.131592 4.541241 (позиція) Color 191 206 132 200 (колір, значення альфа ігнорується) CoronaFarClip 100.000000 (радіус видимості корони) PointlightRange 18.000000 (радіус динамічного світла) CoronaSize 1.000000 (розмір корони) ShadowSize 8.000000 (розмір тіні) CoronaShowMode DEFAULT (додатковий тип) CoronaReflection 0 (включення відображення на землі для корони (0/1)) CoronaFlareType 0 (тип відблисків для корони (1/2, 0 - без відблисків)) ShadowColorMP 40 (інтенсивність тіні) ShadowZDistance 0 (максимальна відстань до поверхні, на якій може бути змальована тінь) CoronaTexName coronastar (назва текстури корони в particle.txd) ShadowTexName shad_exp (назва текстури тіні в particle.txd) Flags1 AT_NIGHT (флаги №1) Flags2 - (флаги №2) ViewVector 0 0 100 (напрямок, з якого видно корону. Використовується, якщо включений флаг CHECK_DIRECTION)
CoronaShowMode
Цей параметр встановлює додатковий тип для джерела світла.
DEFAULT (стандартний тип) ALWAYS_AT_WET_WEATHER (включається при вологій погоді) TRAFFICLIGHT (використовується як світлофор) TRAINCROSSLIGHT (використовується як світлофор на ж/д) AT_RAIN_ONLY (працює тільки в дощ)
Це відомі, іменовані типи. Також існують неіменовані типи, призначення яких поки що невідоме (використовуйте номери 1,3,4,5,6,9,11,12,13 замість назви типу).
Флаги №1
CORONA_CHECK_OBSTACLES (при змальовуванні корони буде перевірятися наявність перешкод між короною і камерою, якщо такі перешкоди будуть знайдені - корона не змальовується) FOG_TYPE1 (визначає тип ефекту розсіяного світла) FOG_TYPE2 (визначає тип ефекту розсіяного світла) WITHOUT_CORONA (вимкнути корону) CORONA_ONLY_AT_LONG_DISTANCE (корону видно тільки здалеку) AT_DAY (працює вдень) AT_NIGHT (працює вночі) BLINKING1 (мигання №1)
Флаги №2
CORONA_ONLY_FROM_BELOW (корону видно тільки тоді, коли камера знаходиться нижче позиції корони) BLINKING2 (мигання №2) UDPDATE_HEIGHT_ABOVE_GROUND (потрібно оновити інформацію про висоту корони над землею) CHECK_DIRECTION (корону видно тільки з певної позиції (параметр ViewVector)) BLINKING3 (мигання №3)
Використання прапорців
Якщо потрібно використовувати кілька прапорців, їх треба розділити комою (","). Якщо не потрібно використовувати жодного з прапорців, ставиться знак "-".
Наприклад, така запис
Flags1 AT_DAY,AT_NIGHT
забезпечить цілодобову роботу джерела світла.
PARTICLE
Кріпить партикл-ефект.
2dfxType PARTICLE Position 0.000000 0.000000 0.000000 (позиція) Name simplefx (назва партикл-ефекту з effects.fxp)
PED
Приваблює пішохода і змушує його виконувати певні дії.
2dfxType PED Position -0.572941 0.661896 0.030715 (позиція) Type SIT_ON_BENCH_DAY_ONLY (тип дії) Rotation -0.993852 0.006778 -0.110507 -0.993852 0.006778 -0.110507 0.995570 -0.009073 0.093582 (обертання (напрямок по 3 осям)) ExternalScript - (ім'я зовнішнього скрипта (якщо використовується тип дії "SCRIPTED")) ExistingProb 75 (ймовірність виконання) Unknown1 0 (невідомо) Unknown2 0 (невідомо)
Доступні типи поведінки:
USE_ATM_DAY_ONLY (використовує банкомат (тільки вдень)) SIT_ON_BENCH_DAY_ONLY (сидить (тільки вдень)) STANDSTILL_DAY_ONLY (стоїть (тільки вдень)) STANDSTILL_THEN_GO_AWAY (стоїть і йде) GO_AWAY_BUT_STAY_IF_RAINY (йде, але якщо йде дощ - залишається. У R* цей тип називався "Shelter", т.е. "Укриття") SCRIPTED (використовується зовнішній скрипт) STANDSTILL_GO_AWAY_2 (стоїть і йде) LIE_DAY_ONLY_GO_AWAY_AFTER_6PM (загоряє, йде після 6-ї вечора) SIT_AT_HOUSE (сидить на сходинках біля дому)
SUNFLARE
Створює відблиск сонця на моделі (у вигляді корони).
2dfxType ROADSIGN Позиція 1637.679321 -2063.918701 28.069563 (позиція) Розмір 5.000000 2.500000 (розмір (висота та ширина)) Обертання 48.999981 -90.000008 -90.000015 (обертання (по 3 осям)) Кількість рядків 4 (кількість використаних рядків) Символів в рядку 16 (максимальна кількість символів в рядку) Колір WHITE (колір) Text1 Bluffs_^_______ (вміст рядка 1. Замість пробілів використовується "_") Text2 Downtown_^_____ (вміст рядка 2) Text3 Mulholland^____ (вміст рядка 3) Text4 Vinewood_^_____ (вміст рядка 4)
Кольори
WHITE (білий) BLACK (чорний) GREEN (сірий (помилка в програмі)) RED (червоний)