Everyone is seeing the incorrect particle path. I'm going to look at this a bit today. Don't expect any answers though.
[You must be logged in to view images. Log in or Register.]
My initial thought is that a particle has both an origin and a velocity (of some type). However, I think maybe we are missing the velocity entirely and the client defaults to the velocity we are seeing.
This file is currently suspected as holding the answer because Kanras was able to change the direction of particles. However, I think maybe he just changed what the default velocity is rather than touching on the real solution which is to feed the particle function the appropriately vector information for velocity when the particle is created.
Of course, this is all nothing but a guess.. now I'll go mess around with the file/game.
Quote:
[root@black ~]# strings spellsnew.edd | grep -i emitter | wc -l
806
|
Looking at the same file Kanras had some success with it appears that this may store velocity information after all. In 3D engines an emitter is used to generate particles. Typically sprites which are a 2D image file mapped to a specific 3D coordinate.
This spellsnew.edd file has 806 instances of the string "emitter" within it. Sounds like a rough number for the amount of spells/effects that would have been in the game at the time of this client release.
I'm guessing every spell in the game has emitter data stored in this file.
Here is a random 3D engine emitter information page explaining their emitter functions parameters:
Quote:
All emitters have a number of common parameters.
Variable Definition Values
emissionType Emission mode ET_EXPLICIT, ET_RADIATE, ET_CUSTOM
explicitLaunchVector Initial velocity in explicit mode (x, y, z)
radiateOrigin Point particles launch away from in radiate mode (x, y, z)
amplitude Launch velocity multiplier (-infinity, infinity)
amplitudeSpeed Spread for launch velocity multiplier [0, infinity)
|
Just including this so people know what I'm talking about. The parameters the EQ emitter function takes are likely hard coded for every spell in the spellsnew.edd file.
The problem though is that I don't know if these hard coded parameters includes a "explicitLaunchVector" which will determine which way the particles should originate from the hands. If they do, why aren't they being used? If they don't, why isn't the normal function of determining launch vector being used?
I think this may ultimately be an unsolvable problem without actually edited the eqgame.exe. I'm guessing they may have changed the way the emitter function worked which is why the old spell data no longer works correctly. It has stored data that is no longer being accessed by the game or the function that calculates particle velocity is incompatible with the old spell files and thus having issues/defaulting to something.