DO/Particle Effects
From Dark Omen Wiki
Particle effects are all those pixel animations shown at special times or places, for instance the water spray at the base of the waterfall in the first mission, the fireball thrown by the bright wizard or the grudgebringer sword, the smoke and motion trails of mortar shells and cannon balles, or the explosion when the mortar shell hits the ground.
Particle effects that are part of the map itself, again, like the spray at the base of the waterfall, are declared in the .PRJ file of each battle (fi.i "B1_01.PRJ" for the first mission). The PRJ file is divided into sections, or "block", (WIKILINK TO THE PRJ PAGE PLEASE) and of which the "INST" block contains all decoration and props. All such props can be assigned a particle effect value, and by changing this different particle effects are designated. For instance, a tree on the map can have waterfall spray or fireworks.
Contents |
List of particle effects used
Particle effects used in Dark Omen maps | ||
---|---|---|
Dec | description | Filename |
1 | Water churn spray at base of B1_01 waterfall | |
6 | Smoke from cottage chimney | |
8 | Sparkles over the B4_05 (Elven sacred glade) obelisk | |
19 | Magic puffs from B1_05's book store chimney |
There are only four maps in Dark Omen using particle effects:
b1_01.prj> 32: 1 b1_04.prj> 53: 6 b1_05.prj> 32: 6 33: 6 36: 19 b4_05.prj> 40: 8
Work needed
Something to be tested would be what different particle effects exists. If you look at the records in the INST block you'll find that there is one that doesn't use any model but has the particle effect flag set. It is the churning water at the base of the waterfall. If we change that we should get all the other particle effects in the game: smoke, fire, explosions perhaps. It would be really good to know what value that indicates a particular effect".
For a list of possible Particle Effects examine C:\Program Files\Dark Omen\GameData\Particle MAGIC.PLB and PAR_LIB files.
Examing the .PRJ File in WinHex of.... C:\Program Files\Dark Omen\GameData\1pbat\B1_01
List of currently identified particle effects
- 01 Water Splash
- 04 Blue Particles
- 05 Fireworks (Celebration after saving Town in Single Player)
- 06 Smoke/Steam?
- 08 Smouldering/burning house (after), rock lobber maybe
- 13 Yellow Smoke Rings
- 14 Snow (Localised)
Guide to Particle Effect Hex Editing
Using the text mode editor
Using the text mode editors, you change this by editing the "peff" field of a seclected record in the INST block. For instance
INST 20> set peff 100
sets the particle effect to 100 (whatever that might be).
Olly's guide to hex editing the PRJ file
INST block doesn't have nice helpful legible Text ...
The first 32 bytes are header (first the vanilla 8 bytes, then a long telling the number of records, and another long telling the length of each record. So since each record is 152 bytes, you'll just have to use the calculator *)
261+32*152+120 = 5245
start of records + 32 records * 152 bytes + 120 bytes
Record 32 has particle effect set to "1", all the other have "0"
0_ktremd1.m3d parteff = 0
1_ktremd1.m3d parteff = 0
2_ktremd1.m3d parteff = 0
3_ktremd1.m3d parteff = 0
4_ktrege1.m3d parteff = 0
5_ktremd1.m3d parteff = 0
6_ktremd1.m3d parteff = 0
7_ktrege1.m3d parteff = 0
8_ktremd1.m3d parteff = 0
9_ktremd1.m3d parteff = 0
10_ktremd1.m3d parteff = 0
11_4hut1.m3d parteff = 0
12_4hut2.m3d parteff = 0
13_4hut3.m3d parteff = 0
14_4barrel.m3d parteff = 0
15_4barrel.m3d parteff = 0
16_4barrel.m3d parteff = 0
17 parteff = 0
18_ktrebsh.m3d parteff = 0
19_ktrebsh.m3d parteff = 0
20_ktrebsh.m3d parteff = 0
21_ktrebsh.m3d parteff = 0
22_ktrebsh.m3d parteff = 0
23 parteff = 0
24 parteff = 0
25 parteff = 0
26 parteff = 0
27 parteff = 0
28 parteff = 0
29 parteff = 0
30 parteff = 0
31 parteff = 0
32 parteff = 1
33_ktrege1.m3d parteff = 0
34_ktremd1.m3d parteff = 0
35_ktrebsh.m3d parteff = 0
36_ktrebsh.m3d parteff = 0
Therefore In WinHex, open the B1_01 .prj file and scroll down the rows and records until u reach 5245 (they are conviently numbered).
You will see that the Data Value is 01 (which must mean use the White Particle Effect at the Base if The Waterfall).
So then change the Data value of 5245 to 02 from 01 and see what happens.
It turns it off, just like when replacing the Data Value with 00
00 should turn the effect off. That 02 turned it off either means that there is no effect associated with the value 02, that the effect ran only once and you missed it, or that it was positioned in such a way that you couldn't see it
So continue replacing the value until u reach the 256
(Hex so 01-09,0a-0f, 10-19,1a-1f,20-29,2a-2f etc)
-possible combinations, to see what values call what particle effect. However there are only about 30 effects and remember that, just speculatin now, but if you use a one-off effect then perhaps it will only happen once. There might be another flag controlling repetitions etc. Just a thought...
So working along these lines I then Calculate where to set a Particle effect for a Model, such as the Huts. Use the above Formula but use Row value for new Object.
so now for other Huts
2053 for hut 1 (Row 11)
2357 for Hut 3 (Row 13)
and change it from 00 to 05 for Fireworks etc..
Now the Huts and Waterfall have new Particle Effects.
i haven't found a Data value to Use On Fire/Burning Effect but will find it as I am gradually testing every data value upto 256.
The next Plan is to learn How to Move Buildings around Map and then How to Import other Objects.
Guide to Particle Effects Editing, using the TextEditor
The recent release of the TextEditor, has now provided us with an easier way to View and Edit the Data Blocks, contained in the .PRJ Files.
This guide will demonstrate how to set Particle effects onto the Buidlings on Mission 1 of Dark Omen, using the new TextEditor.