mirror of
https://github.com/yquake2/yquake2remaster.git
synced 2024-12-04 01:51:11 +00:00
game: Add scale entity field (without real usage)
This commit is contained in:
parent
3f4efa05a1
commit
f856be3512
6 changed files with 33 additions and 7 deletions
|
@ -158,7 +158,7 @@ Goals:
|
||||||
* [ ] Support textures/*/*_glow.png load from ReRelease,
|
* [ ] Support textures/*/*_glow.png load from ReRelease,
|
||||||
* [ ] Support tactile/*/*.bnvib/.wav feedback load from ReRelease,
|
* [ ] Support tactile/*/*.bnvib/.wav feedback load from ReRelease,
|
||||||
* [ ] Fix physics with incorrect floor height in psx/base0.bsp,
|
* [ ] Fix physics with incorrect floor height in psx/base0.bsp,
|
||||||
* [ ] Fix strange white flying boxes in psx/base0.bsp,
|
* [x] Fix strange white flying boxes in psx/base0.bsp,
|
||||||
* [x] RGB particles support instead palette based one,
|
* [x] RGB particles support instead palette based one,
|
||||||
* [x] Get rid of VID_PaletteColor client internal api use,
|
* [x] Get rid of VID_PaletteColor client internal api use,
|
||||||
* [x] Broken maps groups from base2 to next,
|
* [x] Broken maps groups from base2 to next,
|
||||||
|
|
|
@ -1222,6 +1222,7 @@ typedef struct entity_state_s
|
||||||
int event; /* impulse events -- muzzle flashes, footsteps, etc */
|
int event; /* impulse events -- muzzle flashes, footsteps, etc */
|
||||||
/* events only go out for a single frame, they */
|
/* events only go out for a single frame, they */
|
||||||
/* are automatically cleared each frame */
|
/* are automatically cleared each frame */
|
||||||
|
vec3_t scale;
|
||||||
} entity_state_t;
|
} entity_state_t;
|
||||||
|
|
||||||
/* ============================================== */
|
/* ============================================== */
|
||||||
|
|
|
@ -3336,6 +3336,7 @@ SP_misc_flare(edict_t* ent)
|
||||||
|
|
||||||
ent->s.modelindex2 = st.fade_start_dist;
|
ent->s.modelindex2 = st.fade_start_dist;
|
||||||
ent->s.modelindex3 = st.fade_end_dist;
|
ent->s.modelindex3 = st.fade_end_dist;
|
||||||
|
ent->s.skinnum = st.rgba;
|
||||||
|
|
||||||
if (ent->targetname)
|
if (ent->targetname)
|
||||||
{
|
{
|
||||||
|
|
|
@ -117,11 +117,27 @@ DynamicSpawnUpdate(edict_t *self, dynamicentity_t *data)
|
||||||
VectorCopy(data->mins, self->mins);
|
VectorCopy(data->mins, self->mins);
|
||||||
VectorCopy(data->maxs, self->maxs);
|
VectorCopy(data->maxs, self->maxs);
|
||||||
|
|
||||||
self->monsterinfo.scale = (
|
/* has updated scale */
|
||||||
data->scale[0] +
|
if (st.scale[0] || st.scale[1] || st.scale[2])
|
||||||
data->scale[1] +
|
{
|
||||||
data->scale[2]
|
/* copy to other parts if zero */
|
||||||
) / 3;
|
if (!st.scale[1])
|
||||||
|
{
|
||||||
|
st.scale[1] = st.scale[0];
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!st.scale[2])
|
||||||
|
{
|
||||||
|
st.scale[2] = st.scale[0];
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Copy to entity scale field */
|
||||||
|
VectorCopy(st.scale, self->s.scale);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
VectorCopy(data->scale, self->s.scale);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
|
@ -510,6 +526,7 @@ ED_ParseField(const char *key, const char *value, edict_t *ent)
|
||||||
*(char **)(b + f->ofs) = ED_NewString(value, false);
|
*(char **)(b + f->ofs) = ED_NewString(value, false);
|
||||||
break;
|
break;
|
||||||
case F_VECTOR:
|
case F_VECTOR:
|
||||||
|
VectorClear(vec);
|
||||||
sscanf(value, "%f %f %f", &vec[0], &vec[1], &vec[2]);
|
sscanf(value, "%f %f %f", &vec[0], &vec[1], &vec[2]);
|
||||||
((float *)(b + f->ofs))[0] = vec[0];
|
((float *)(b + f->ofs))[0] = vec[0];
|
||||||
((float *)(b + f->ofs))[1] = vec[1];
|
((float *)(b + f->ofs))[1] = vec[1];
|
||||||
|
|
|
@ -411,10 +411,15 @@ typedef struct
|
||||||
float minpitch;
|
float minpitch;
|
||||||
float maxpitch;
|
float maxpitch;
|
||||||
|
|
||||||
|
/* misc_flare */
|
||||||
float radius;
|
float radius;
|
||||||
float fade_start_dist;
|
float fade_start_dist;
|
||||||
float fade_end_dist;
|
float fade_end_dist;
|
||||||
char *image;
|
char *image;
|
||||||
|
unsigned rgba;
|
||||||
|
|
||||||
|
/* Addional fields for models */
|
||||||
|
vec3_t scale;
|
||||||
} spawn_temp_t;
|
} spawn_temp_t;
|
||||||
|
|
||||||
typedef struct
|
typedef struct
|
||||||
|
|
|
@ -58,7 +58,9 @@
|
||||||
{"origin", FOFS(s.origin), F_VECTOR},
|
{"origin", FOFS(s.origin), F_VECTOR},
|
||||||
{"angles", FOFS(s.angles), F_VECTOR},
|
{"angles", FOFS(s.angles), F_VECTOR},
|
||||||
{"angle", FOFS(s.angles), F_ANGLEHACK},
|
{"angle", FOFS(s.angles), F_ANGLEHACK},
|
||||||
{"rgba", FOFS(s.skinnum), F_RGBA},
|
{"rgb", STOFS(rgba), F_RGBA, FFL_SPAWNTEMP},
|
||||||
|
{"rgba", STOFS(rgba), F_RGBA, FFL_SPAWNTEMP},
|
||||||
|
{"scale", STOFS(scale), F_VECTOR, FFL_SPAWNTEMP},
|
||||||
{"radius", STOFS(radius), F_FLOAT, FFL_SPAWNTEMP},
|
{"radius", STOFS(radius), F_FLOAT, FFL_SPAWNTEMP},
|
||||||
{"fade_start_dist", STOFS(fade_start_dist), F_FLOAT, FFL_SPAWNTEMP},
|
{"fade_start_dist", STOFS(fade_start_dist), F_FLOAT, FFL_SPAWNTEMP},
|
||||||
{"fade_end_dist", STOFS(fade_end_dist), F_FLOAT, FFL_SPAWNTEMP},
|
{"fade_end_dist", STOFS(fade_end_dist), F_FLOAT, FFL_SPAWNTEMP},
|
||||||
|
|
Loading…
Reference in a new issue