-static void VM_CL_ParticleThemeToGlobals(vmparticletheme_t *theme)
-{
- *vmpartspawner.particle_type = theme->typeindex;
- *vmpartspawner.particle_blendmode = theme->blendmode;
- *vmpartspawner.particle_orientation = theme->orientation;
- vmpartspawner.particle_color1[0] = (theme->color1 >> 16) & 0xFF; // VorteX: int only can store 0-255, not 0-256 which means 0 - 0,99609375...
- vmpartspawner.particle_color1[1] = (theme->color1 >> 8) & 0xFF;
- vmpartspawner.particle_color1[2] = (theme->color1 >> 0) & 0xFF;
- vmpartspawner.particle_color2[0] = (theme->color2 >> 16) & 0xFF;
- vmpartspawner.particle_color2[1] = (theme->color2 >> 8) & 0xFF;
- vmpartspawner.particle_color2[2] = (theme->color2 >> 0) & 0xFF;
- *vmpartspawner.particle_tex = (float)theme->tex;
- *vmpartspawner.particle_size = theme->size;
- *vmpartspawner.particle_sizeincrease = theme->sizeincrease;
- *vmpartspawner.particle_alpha = theme->alpha/256;
- *vmpartspawner.particle_alphafade = theme->alphafade/256;
- *vmpartspawner.particle_time = theme->lifetime;
- *vmpartspawner.particle_gravity = theme->gravity;
- *vmpartspawner.particle_bounce = theme->bounce;
- *vmpartspawner.particle_airfriction = theme->airfriction;
- *vmpartspawner.particle_liquidfriction = theme->liquidfriction;
- *vmpartspawner.particle_originjitter = theme->originjitter;
- *vmpartspawner.particle_velocityjitter = theme->velocityjitter;
- *vmpartspawner.particle_qualityreduction = theme->qualityreduction;
- *vmpartspawner.particle_stretch = theme->stretch;
- vmpartspawner.particle_staincolor1[0] = ((int)theme->staincolor1 >> 16) & 0xFF;
- vmpartspawner.particle_staincolor1[1] = ((int)theme->staincolor1 >> 8) & 0xFF;
- vmpartspawner.particle_staincolor1[2] = ((int)theme->staincolor1 >> 0) & 0xFF;
- vmpartspawner.particle_staincolor2[0] = ((int)theme->staincolor2 >> 16) & 0xFF;
- vmpartspawner.particle_staincolor2[1] = ((int)theme->staincolor2 >> 8) & 0xFF;
- vmpartspawner.particle_staincolor2[2] = ((int)theme->staincolor2 >> 0) & 0xFF;
- *vmpartspawner.particle_staintex = (float)theme->staintex;
- *vmpartspawner.particle_stainalpha = (float)theme->stainalpha/256;
- *vmpartspawner.particle_stainsize = (float)theme->stainsize;
- *vmpartspawner.particle_delayspawn = theme->delayspawn;
- *vmpartspawner.particle_delaycollision = theme->delaycollision;
- *vmpartspawner.particle_angle = theme->angle;
- *vmpartspawner.particle_spin = theme->spin;
+static void VM_CL_ParticleThemeToGlobals(vmparticletheme_t *theme, prvm_prog_t *prog)
+{
+ PRVM_clientglobalfloat(particle_type) = theme->typeindex;
+ PRVM_clientglobalfloat(particle_blendmode) = theme->blendmode;
+ PRVM_clientglobalfloat(particle_orientation) = theme->orientation;
+ // VorteX: int only can store 0-255, not 0-256 which means 0 - 0,99609375...
+ VectorSet(PRVM_clientglobalvector(particle_color1), (theme->color1 >> 16) & 0xFF, (theme->color1 >> 8) & 0xFF, (theme->color1 >> 0) & 0xFF);
+ VectorSet(PRVM_clientglobalvector(particle_color2), (theme->color2 >> 16) & 0xFF, (theme->color2 >> 8) & 0xFF, (theme->color2 >> 0) & 0xFF);
+ PRVM_clientglobalfloat(particle_tex) = (prvm_vec_t)theme->tex;
+ PRVM_clientglobalfloat(particle_size) = theme->size;
+ PRVM_clientglobalfloat(particle_sizeincrease) = theme->sizeincrease;
+ PRVM_clientglobalfloat(particle_alpha) = theme->alpha/256;
+ PRVM_clientglobalfloat(particle_alphafade) = theme->alphafade/256;
+ PRVM_clientglobalfloat(particle_time) = theme->lifetime;
+ PRVM_clientglobalfloat(particle_gravity) = theme->gravity;
+ PRVM_clientglobalfloat(particle_bounce) = theme->bounce;
+ PRVM_clientglobalfloat(particle_airfriction) = theme->airfriction;
+ PRVM_clientglobalfloat(particle_liquidfriction) = theme->liquidfriction;
+ PRVM_clientglobalfloat(particle_originjitter) = theme->originjitter;
+ PRVM_clientglobalfloat(particle_velocityjitter) = theme->velocityjitter;
+ PRVM_clientglobalfloat(particle_qualityreduction) = theme->qualityreduction;
+ PRVM_clientglobalfloat(particle_stretch) = theme->stretch;
+ VectorSet(PRVM_clientglobalvector(particle_staincolor1), ((int)theme->staincolor1 >> 16) & 0xFF, ((int)theme->staincolor1 >> 8) & 0xFF, ((int)theme->staincolor1 >> 0) & 0xFF);
+ VectorSet(PRVM_clientglobalvector(particle_staincolor2), ((int)theme->staincolor2 >> 16) & 0xFF, ((int)theme->staincolor2 >> 8) & 0xFF, ((int)theme->staincolor2 >> 0) & 0xFF);
+ PRVM_clientglobalfloat(particle_staintex) = (prvm_vec_t)theme->staintex;
+ PRVM_clientglobalfloat(particle_stainalpha) = (prvm_vec_t)theme->stainalpha/256;
+ PRVM_clientglobalfloat(particle_stainsize) = (prvm_vec_t)theme->stainsize;
+ PRVM_clientglobalfloat(particle_delayspawn) = theme->delayspawn;
+ PRVM_clientglobalfloat(particle_delaycollision) = theme->delaycollision;
+ PRVM_clientglobalfloat(particle_angle) = theme->angle;
+ PRVM_clientglobalfloat(particle_spin) = theme->spin;