Alright, time to make this happen. If somebody has any starting ideas I’m all for it but I’m going to see how difficult it is to create at least some rain or snow, if not hurricanes and apocalyptic meteor showers. I have some notes on the .json particle files, or at least an incomplete listing of the attributes listed in each of those that control those type of effects in game.
This is just a list of examples of what I’ve seen in those .json files, I am looking for where a complete listing of every available command or value but no promises.
This first part is from one of those effects that has it’s own folder with just a .png, seperate from the ones with .dds in the atlas folder
"AtlasImagesRaw": {
"Format": "textures\\test_move\\p_all_move_%04d.png",
"First": 0,
"Last": 14
},
the rest just use this to specify what images to use, im assuming that the .json files within the atlas folder that specify coords and such from the sprite sheet are required as well.
"AtlasFile": "textures\\atlases\\red_glow.dds",
"ImageFirst": 0,
"ImageCount": 90,
"ImageAngles": 16,
this one has me a little confused atm
"ImageRepeat": 2,
these are just attributes of how it looks, etc"
"Type": "Loop", "Once",
"Duration": 0.5,
"Duration1": 5,
"Duration2": 7,
"Scale": 3.0,
"ScaleSpeed": 0.5,
"ScaleStart1": 0.45,
"ScaleStart2": 0.65,
"ScaleEnd1": 0.1,
"ScaleEnd2": 0.2,
"AlphaStart": 0,
"AlphaEnd": 3,
"Rotation1": 0,
"Rotation2": 360,
"RotationSpeed1": -90,
"RotationSpeed2": 90,
"StartDelay": 0.0,
"StartDelay1": 0,
"StartDelay2": 2,
"StartMode": "Fade",
"StopMode": "Fade", "Complete", "Instant",
"StartDuration": 1,
"StopDuration": 1
"Timer": "Game","Real"
"Layer": "Terrain",
"SortBias":100, -100,
"DisplayLevel": "High", "Medium",
"DisplayInFog": true,
"DimInFog": false,
"FlipH": true,
ones like Duration1 and Duration2 set a range of randomness for that value that the engine picks within so not every instance of smoke or fire or trails look identical
Finding FlipH made my day btw. I’m sure there’s a FlipV but havent seen it, not tested yet. I dont know what the minimum is, but as long as you tell it what images to use, “Type” might be the only absolutely required attribute. The rest are all optional afaik.
Most are self explanatory, look to the stock files for examples of what to use where, as long as you understand how particles and sprites work in general, you’ll be fine. I haven’t managed to crash the game yet messing with these files, but just give it time…
Especially after finding the gem located in the blood files.
{
"AtlasFile": "textures\\atlases\\blood.dds",
"Sprites":
[
{
"ImageFirst": 0,
"ImageCount": 300,
"Type": "Once",
"Duration": 10,
"Scale": 0.2,
"Alpha": 1,
"StartMode": "Fade",
"StartDuration": 1,
"StopMode": "Fade",
"StopDuration": 1
},
{
"ImageFirst": 300,
"ImageCount": 300,
"Type": "Once",
"Duration": 10,
"Scale": 0.2,
"Alpha": 1,
"StartMode": "Fade",
"StartDuration": 1,
"StopMode": "Fade",
"StopDuration": 1
},
{
"ImageFirst": 600,
"ImageCount": 300,
"Type": "Once",
"Duration": 10,
"Scale": 0.2,
"Alpha": 1,
"StartMode": "Fade",
"StartDuration": 1,
"StopMode": "Fade",
"StopDuration": 1
}
],
"Emitter":
{
"Type": "Once",
"Sprite1": 0,
"Sprite2": 2
},
"Timer": "Real",
"Layer": "Terrain",
"IsBlood": true,
"DisplayInFog": true
}
Finally, access to Emitter functionality, seems like it just randomly picks between those 3 sets of data and uses one of them to make the blood a little more varied.