#2719 posted by mankrip on 2019/03/27 12:29:14
What's the most reliable way to detect if the player is on a slippery slope (mostly vertical angle)? I'm using QuakeSpasm-Spiked.
Slippery Slope
#2720 posted by Spike on 2019/03/27 20:01:23
tracebox(self.origin, self.mins, self.maxs, self.origin-'0 0 1', TRUE, self);
if (trace_fraction < 1 && trace_plane_normal_z < 0.7)
surfaceangleissteeperthanabout45degrees();
you could instead use traceline, but it would not match the player's physics so well.
#2721 posted by mankrip on 2019/03/28 03:37:47
Thanks, but the most difficult thing about it is detecting the exact moment when the player touches/lands on the slope. AFAIK the engine doesn't set FL_ONGROUND for it, and assigning .touch functions to players doesn't work properly.
#2725 posted by mankrip on 2019/04/02 14:58:49
Is there a way to achieve something similar to DP's (and Makaqu's) .glow_size in QSS, through QC?
More specifically, negative dynamic lighting with custom radius and intensity, tied to an entity.
I've seen some ways to customize lighting effects in qsextensions.qc, but there's no way to change their properties and make them move around dynamically.
Also, I would like such negative lights to affect only BSP models, without affecting MDL, SPR and particles.
Out Of The Blue
#2726 posted by madfox on 2019/04/03 01:31:12
moving lights hack, maybe?
Can't Jump When On Top Of Monsters/explo Boxes
There was some QuakeC fix posted here, but I can't find it. Can someone repost the fix?
@Six-Shoota
#2733 posted by c0burn on 2019/05/18 10:29:56
C0burn
10x
TIL...
#2735 posted by Izhido on 2019/05/29 04:52:19
... that the source code of Quake has a 256*5 char static array whose contents, literally, are:
*0
*1
*2
*3
...
*254
*255
Do you guys know if this particular array (localmodels) has survived in any of the modern engines, somehow?
Cl.viewent - Where Is It Loaded?
#2737 posted by Izhido on 2019/06/04 15:02:00
Awfully sorry to bring this up, but I have had no luck doing it myself. Where exactly is cl.viewent assigned a specific value? Where in the code do you tell the client which gun model to use? I can´t find any direct assignments to the field, and (unless I´m doing something wrong) I can´t also find a place where the whole cl struct is being copied off somewhere else.
Do you guys know where in the source is cl.viewent being (directly or indirectly) assigned to?
Bump
#2738 posted by Shambler on 2019/06/08 08:02:10
Someone help Izhido out here.
Also I still request this thread be stickied to make it more useful.
@Izhido
#2739 posted by Thulsa on 2019/06/08 15:20:56
Quick search indicates that it's happening in V_CalcRefdef() and V_CalcIntermissionRefdef(), both in view.c.
It may or may not be obvious but this represents weapon from the POV of the player and is set based on the client state structure (cl.stats).
The reason "find references" (which you probably used) didn't show you any results is that a pointer to cl.viewent is taken in the V_CalcRefdef() body (view = &cl.viewent;) and later assignments are done on the temporary pointer (e.g. view->model = cl.model_precache[cl.stats[STAT_WEAPON]];
mentioned above).
Hope this is the answer you were looking for. Non-vanilla engines perform some additional operations on cl.viewent but I haven't seen any other model assignment logic in QS so I assume these are the only two places where it happens.
HTH
@Thulsa - Thank You!
#2740 posted by Izhido on 2019/06/08 18:43:33
It *did* help. Looks like I need to be way more careful about variable assignments in there for future changes.
Hey
#2741 posted by ijazz2019 on 2019/07/20 17:17:34
I made a monster.A copy of RMQ's flayn monster code,but edited heavily to fit in with regular quake.
I removed the reanimation code,torso splitting code and some functions that weren't in the file.
Now the thing is,I precached the models and I even have them in my progs folder for the mod.
In the requiem engine, "create monster_flayn" works,but and invisible monster spawns.
QSS and MarkV don't even start the e1m1 ENT file with the monster_flayn that replaced all monster_army.
Should I rewrite the code?
Am using progs_dump_devkit_v110, vanilla dump works fine but my mod doesn't load e1m1.ent with the new monster
#2742 posted by yhe1 on 2019/11/25 06:27:53
Hello, In the Chasm thread, Madfox said he had some trouble getting infighting between Chasm monsters to work. Can somebody with experience in that area help?
The thread is here:
http://www.celephais.net/board/view_thread.php?id=61776&start=4
Walk_monster_start
#2743 posted by madfox on 2019/11/25 22:25:28
The main factor is that I used most qc from the quake entities. I have no trouble with the infight, as quake entities usual have that in commen.
When I try to target a monster to a path_corner the game stops with a walk_monster_start error.
A bit strange as the spider just follows its path without problem, and it is the same kind of imported entity.
Also I used a subroutine into the stand function.
This is a hack I found to interfere with the stand function. The Mong soldier looks around, and while he is watching aside it won't attack.
For some reason Faust, who has the same stand function, ony uses half of the frames. It is as if some arithmic cuts out the other half.
void() faust_stand11 =[ $stand11, faust_stand12 ] {ai_stand();};
//CLIP HERE
//HERE IS THE ROUND CODE:
void() faust_round1 =[ $round1, faust_round2 ] {};
void() faust_round24 =[ $round24, faust_stand13 ] {};
//END ROUND CODE
void() faust_stand12 =[ $stand12, faust_check ] {ai_stand();};
// faust_check IS CALLED IN faust_stand12, TO DETERMINE IF HE'LL STAND OR ROUND.
void() faust_check =
{
ai_stand();
if (random() <0.25)
faust_stand12 ();
else
faust_round1 ();
};
//end strat_check
// CLIP HERE...
In game it uses only untill frame round12, and then switches back to stand13.
|