Thank you Spike.
Unfortunately I have 1 more question:
There is this multiskin/multimodel feature, that you maybe know from the mod, which aims to have some more enemy variations.
I had the idea to further increase the variation by adding random monster sizes. That is why I asked for .scale (as it is independent to the used monster model (vanilla or replacement)).
As far as I understand your words, scaling with ssqc is only possible in 1/16th steps.
Which is around 7%.
So, I tried to go up to a .scale value of: 1.21 (which is 21% bigger).
Most important is the bbox, as all calculations is done against the bbox.
I chose max. 21% because:
a) further monster size-increase doesnt look 'realistic' compared to original size
b) the original bbox can still be used as its size still covers the model quite good
I didnt want to use the FTE extension (self.drawflags = SCALE_ORIGIN_BOTTOM), as my main engine is DP and this way it still works in both.
I moved the bbox z-values to compensate the .scale factor:
Scale of each 7% has a fixed bbox compensation of 7% as well.
This can nicely be done via qc.
So I can have 4 random monster sizes (which all have the same bbox size):
1.0 % (original size)
1.07 %
1.14 %
1.21 %
So far I played/tested Quake with the resized monsters and there seems to be no issue.
bbox size is identical, so no clipping problems occurred.
But back to my question to you now:
1.) Is there an issue when playing with custom bbox sizes ? (as I had to move the negative and positive z values to keep the monsters on the floor) ?
2.) Is there an issue regarding the slightly upwards moved center of the bbox ? (as I menioned I move it upwards max. 5 Quake units --> 21%)
So far I could not find any... but maybe engine-wise there are some serious ones ?
These are my code lines for a
soldier type bbox (i left out the random code to make it easier to compare):
Code: Select all
// setmodel (self, "progs/soldier.mdl");
// setsize (self, '-16 -16 -24', '16 16 40');
setmodel (self, "progs/soldier.mdl");
self.scale = 1.21;
setsize (self, '-16 -16 -24' - '0 0 5', '16 16 40' - '0 0 5');
These are my code lines for a
demon type bbox (i left out the random code to make it easier to compare):
Code: Select all
// setmodel (self, "progs/demon.mdl");
// setsize (self, VEC_HULL2_MIN, VEC_HULL2_MAX);
setmodel (self, "progs/demon.mdl");
self.scale = 1.21;
setsize (self, VEC_HULL2_MIN -'0 0 5', VEC_HULL2_MAX -'0 0 5');
Here are comparism screenshots which shows
original size against
max size of 1.21 % :
Thank you very much for your time reading this.