Как работать с effects.bin
Эффекты в нашей любимой
игре Mafia: The City Of Lost Heaven можно создать
несколькими способами. Мы можем сделать это скриптово или через
специальный файл effects.bin. Скриптом при
создании эффекта удобно пользоваться, если нам необходимо в определенный
момент создать эффект или убрать его. Если же нам необходим какой-то
постоянный эффект, например, вода для фонтана, то оптимальней выносить
эти эффекты в effects.bin, чтобы они не засоряли
сцену. Структуру effects.bin мне подсказал
Enemy, за что выражаю ему огромную благодарность.
Как вы уже догадались,
создавать файл эффектов мы будем с помощью
Hex Workshop.
Запускаем Hex,
жмем File => New. Теперь еще раз посмотрим на
рис. 1 с обозначением окон, применяемых в туториале.
рис. 1
В
центральном окне щелкаем правой мышкой, появится меню, в котором жмем на Insert (рис. 2).
рис. 2
Появится
меню вставки, в котором в строке "Number of bytes"
пишем кол-во необходимых нам байтов, кои считаем по формуле 6+74*х, где х -
кол-во эффектов. Для примера создадим один эффект. Посчитав по формуле,
получим 80, запишем это число в указанную выше строчку, а остальные пункты
окна сделаем такими же, как на рис. 3. От себя скажу,
что удобней сначала вставить 80, а затем блоки по 74, чтоб не запутаться
(только не забывайте менять общий размер файла).
рис. 3
Теперь у
нас 80 обнуленных байт и нам необходимо преобразовать их согласно структуре
effects.bin. Структура такова (показано
начало файла и строение одного блока):
6400 |
2 байта (const) |
5000 0000 |
L -
общий размер файла |
Далее идут блоки по 74 байта |
E803 |
2 байта (const) |
4A00 0000
|
L -
размер блока 74 байта = const |
0000 803F 0000 0000 0000 0080 0000 0000 0000 0080 0000
803F 0000 0080 0000 0000 0000 0000 0000 0000 0000 803F 0000 0000 |
48 байт (const) |
B03B DBC4 |
коордитната X (F) |
FB83 41C0
|
координаты Z (F) |
D1D7 DE41 |
координаты Y (F) |
0000 803F |
F (const) |
2600 0000 |
L номер эффекта |
L - long, F-Float |
Таким нехитрым образом
создаем эффекты, номер эффекта смотрим в нижеперечисленном списке:
№ |
название |
I3D-эшник |
описание |
0 |
blood |
2bloodp.I3D |
кровь |
1 |
hit_stonewall |
hit_effect_stone.I3D |
стрельба по камню |
2 |
hit_ground |
hit_effect_ground.I3D |
стрельба по земле |
3 |
hit_metal |
hit_effect_metal.I3D |
стрельба по металлу |
4 |
hit_wood |
hit_effect_wood.I3D |
стрельба по дереву |
5 |
night_chimney_smoke |
hit_effect.I3D |
некий ночной дым |
6 |
Fire |
fire_effect.I3D |
огонь |
7 |
Explosion |
blast.I3D |
взрыв |
8 |
molotov_explosion |
blast.I3D |
молотов взрыв 1сек |
9 |
fire_small |
fire_effect.I3D |
маленький огонь |
10 |
explosion_big |
blast.I3D |
большой взрыв |
11 |
molotov_fire |
fire_effect.I3D |
молотов огонь 4сек |
12 |
Thompson_muzzle_flash_day |
muzzle_day.I3D |
вспышка
томпсона днем |
13 |
Thompson_muzzle_flash_night |
muzzle.I3D |
вспышка
томпсона ночью |
14 |
pistol_muzzle_flash_day |
muzzle_day.I3D |
вспышка пистолета днем
|
15 |
pistol_muzzle_flash_night |
muzzle.I3D |
вспышка пистолета ночью |
16 |
shotgun_muzzle_flash_day |
muzzle_day.I3D |
вспышка
шотгана днем |
17 |
shotgun_muzzle_flash_night |
muzzle.I3D |
вспышка шотгана
ночью |
18 |
fireworks |
2fireworks1.I3D |
салют 2сек |
19 |
pena |
partycle.I3D |
пена |
20 |
explosion_car |
blast.I3D |
взврыв авто |
21 |
fire_fading |
fire_effect.I3D |
угасающий огонь 15сек |
22 |
fire_small_fading |
fire_effect.I3D |
угасающий малый огонь |
23 |
pena_ve_vane |
partycle.I3D |
пена в ванне |
24 |
smoke_cigarette |
smoke_particle3.I3D |
дым сигареты |
25 |
smoke_cigarette_breath |
smoke_particle3.I3D |
дым
сигареты качающийся |
26 |
chcani |
2piss.I3D |
ссанье 5сек |
27 |
bliti |
2blues.I3D |
ссанье 2сек |
28 |
smoke_parnik |
smoke_particle.I3D |
дым парохода |
29 |
hit_grass |
hit_effect_grass.I3D |
стрельба по траве |
30 |
voda_prehrada |
partycle.I3D |
вода у преграды |
31 |
voda_prehrada_dole |
partycle.I3D |
вода у преграды… |
32 |
listi_ze_stromu |
2listi.I3D |
листья 2сек |
33 |
prach_motorest |
prach_particle.I3D |
песочная пыль |
34 |
kour_restaurace |
smoke_particle2.I3D |
дым в ресторане
пепе? |
35 |
dollars |
2dollar.I3D |
бабло |
36 |
fontanka1 |
partycle.I3D |
фонтан |
37 |
zblunk |
zblunk.I3D |
бульк, радиальные брызги 2сек
|
38 |
smoke_saliery |
smoke_particle.I3D |
дым из сальери\винса
мисе4 |
39 |
lighter |
blast.I3D |
зажигалка |
40 |
krev_vrtule |
2bloodp.I3D |
радиальные брызги крови 10сек |
41 |
voda_vezeni 1 |
partycle.I3D |
пар в тюрьме |
42 |
voda vezeni 2 |
partycle.I3D … |
|
43 |
hit_water |
partycle.I3D |
стрельба по воде |
44 |
smoke_loco1 |
smoke_particle.I3D |
дым паровоза |
45 |
steam_loco |
smoke_particle4.I3D |
дым паровоза стоячий |
46 |
clun |
partycle.I3D |
волны от катера(бока\зад)
|
47 |
steam2_loco |
smoke_particle4.I3D |
пар паровоза стоячий
вниз |
48 |
explosion_hotel |
blast.I3D |
взрыв в отеле |
49 |
gasoline |
2gaso.I3D |
струя топлива из раненой цистерны |
50 |
smoke_coffee |
smoke_particle4.I3D |
дым(пар) кофе |
51 |
Explosion_hotel1 |
blast.I3D |
взрыв в отеле1 |
52 |
Explosion Morello |
blast.I3D |
взрыв ангара с серджио? |
53 |
Dust Morello |
smoke_particle2.I3D |
морелло тот еще дуст |
54 |
kola_na_vode |
zblunk.I3D |
радиально расходящиеся круги
на воде |
55 |
slow_smoke |
smoke_particle3.I3D |
белый дым(пар) |
56 |
spark_cig |
2jiskra_cig.I3D |
искры |
57 |
Fire_no_smoke |
fire_effect.I3D |
огонь без дыма |
58 |
smoke_cigarette_breath1 |
smoke_particle2.I3D |
качающийся огонек сигареты1 |
59 |
horici_benzin |
blast.I3D |
огонь заправки |
60 |
FMVlighter |
blast.I3D |
зажигалка |
61 |
bloodSamFMV |
2bloodp.I3D |
кровь сэма в галерее |
62 |
FMV Loko-2sec |
smoke_particle4.I3D |
пар паровоза 2сек |
63 |
FMV Loko-1sec |
smoke_particle4.I3D |
пар паровоза 1сек |
65 |
FMV Loko-03 |
smoke_particle4.I3D |
пар паровоза
ускоренный |
65 |
FMV Loko-low |
smoke_particle4.I3D |
пар паровоза
маленький |
66 |
FMV chladic |
smoke_particle4.I3D |
белый дым на ветру? |
67 |
FMV Expl-cisterna |
blast.I3D |
взврыв цистерны 2сек |
68 |
FMV lighter |
blast.I3D |
зажигалка |
69 |
FMV gasoline2 |
2gaso-a.I3D |
еще струя топлива из
цистерны |
70 |
doutnik |
2fxdoutn.I3D |
тлеющая сигара |
71 |
kour_na_lokomotivu_NESAHAT |
smoke_particle.I3D |
дым стоящего паровоза |
72 |
vol_dust |
smoke_particle3.I3D |
??? |
73 |
hovna |
2feather.I3D |
выхлоп авто? |
74 |
FMV cigarette |
smoke_particle2.I3D |
еще дым сигареты |
75 |
dust_fall |
smoke_particle2.I3D |
падение говна |
76 |
kaluz chuze |
partycle.I3D |
стрельба по луже\зеркалу? |
77 |
fire_cig |
2cigfire.I3D |
огонь сигареты |
78 |
kour_lod_doprava |
smoke_particle.I3D |
высокая струя
черного дыма |
79 |
fireworks1 |
2fireworks1.I3D |
салют красный |
80 |
fireworks2 |
2fireworks1.I3D |
салют синий |
81 |
fireworks3 |
2fireworks1.I3D |
салют зеленый |
82 |
fireworks4 |
2fireworks1.I3D |
салют разноцветный |
83 |
vlny |
partycle.I3D |
всплеск брызг 1сек |
84 |
vlny_big |
partycle.I3D |
большой всплеск брызг 1сек |
85 |
vlny_small |
partycle.I3D |
маленький всплеск брызг 1сек |
86 |
FMV sirka |
blast.I3D |
спичка |
87 |
hydrant |
partycle.I3D |
фонтан гидранта 20сек |
88 |
kytka listy |
palma_particle.I3D |
падающие листья 1сек |
89 |
hadice |
partycle.I3D |
струя из шланга |
90 |
dymovnice |
smoke_particle5.I3D |
высокая струя
фиолет.дыма |
91 |
FMV pistol_muzzle_flash
|
muzzle.I3D |
вспышка пистолета
днем |
92 |
fire menu |
fire_effect.I3D |
огонь в печке меню |
Есть еще одно "но", не все эффекты создаются через файл
effects.bin. Например, кровь или что-нибудь,
связанное с оружием, никак не хотят создаются. Поэтому вначале
экспериментируйте, а затем создайте салютик в ночном Лост Хэвене:).
©
Don Carleone (Александр Коняшин) |