News | Forum | People | FAQ | Links | Search | Register | Log in
Spiked Quakespasm Modding/Coding Help Thread
Thread for figuring out all the new particle and modding features in the "Spiked" version of Quakespasm.
-----

Actual QSS engine download:
http://triptohell.info/moodles/qss/

-----

Tutorial on how to enable rain and snow on the Quake start map:

1. Video of snow: https://youtu.be/DvqxsJChXH0
2. Video of rain: https://youtu.be/NRud8T88tDc

Steps:

1. Put this start.ent download in c:/Quake/id1/maps folder. Tells it what textures emit snow and rain.

2. Put this weather.cfg download in c:/Quake/id1/particles folder. Indicates spawn information on particles and how they behave.

3. Enter r_particledesc "weather classic"; map start in the console. I assume "weather" is the name of cfg. Also seems to work with just r_particledesc "weather".

Stuff:

Q: How do you find out the name of textures?

With Quakespasm I don't know that you can, but in Mark V just type "tool_texturepointer 1" in the console and look at a surface and it displays the name of any texture you look at on-screen. screenshot

Q: How is the external ent file made and what does it need?

Open up Mark V and type "map start". Now just type "copy ents" and the entities for the entire map is on the clipboard. Open a text editor and paste. Save it as c:/Quake/id1/maps/start.ent

The first few lines of the file look like this, add the 2 bolded lines that tell the particle system that the texture names are "sky1" for snow and "wizwood1_8" for rain.

{
"sounds" "4"
"classname" "worldspawn"
"wad" "gfx/start.wad"
"_texpart_sky1" "weather.tex_skysnow"
"_texpart_wizwood1_8" "weather.tex_skyrain
"message" "Introduction"
"worldtype" "0"
}


A devkit is also available HERE http://fte.triptohell.info/moodles/qss/QSS_DevKit.zip with source code examples of how to create your own custom HUD using CSQC. The examples show CSQC recreations of the classic HUD as well as variations for the missionpacks and should serve as a good starting point for your own creations. There's a few other goodies in there too (e.g. particle stuff), so check the readme inside the devkit.

Discord
There's now an official Discord for FTE and QSS, find it here: https://discord.gg/E6fTcgB3ev
First | Previous | Next | Last
Monsters Getting Crushed As Their Closets Open. 
I've noticed the same problem as CV in #250 in quite a few maps.

An example can be seen in ad_juz1 where the seeker in a closet right near the start of the map will always self-destruct under rising door. This happens in the dev build and stable, but doesn't occur in quakespasm 0.93.2 or vkquake. 
Yep 
I saw this happen two times, both with a Shambler behind the door. 
On Lasd Dev Build X64 
Compile Date: Sat Mar 6 06:43:10

seems to be Shpoike has fixed this bug already. Tested on a few maps, on wich this bug appearing before and them runs well.
Thanks, Shpoike! 
@CV 
Thanks for the heads up o/ 
 
Pleeease everyone just use the dev build. Lotsa fixed bugs there. 
 
Why not update the "non-dev" build? It's been a while, Aug 2020. 
What About The MacOS Version? 
The MacOS version appears to be dead... 
QSS Latest Version For OSX? 
The latest version of QuakeSpasm Spiked for OSX that I've found is 0.92.2, and it has a few issues with recent mods.

Is there a newer version somewhere? Or will there be an update? 
Just 
What the hell is going on with QSS these days?

Spike can you please inform us what a good current, working version of QSS might be? Maybe some info on how to address or avoid these? Since AD 1.8 I've seen a few issues that are unsettling. And now we have qmaster making the Keep FTE and QSS only???

I think that might be a mistake and I am going to have to be convinced why that choice was made with this recent stream of issues cropping up. 
 
FWIW there's no stream of new issues that I've seen. Mostly there's people running into problems while using older builds, whether it's Barnak using the way-old Mac build or other folks understandably (but incorrectly IMO) using the "release" Windows build rather than the dev build, which exposes you to various known bugs that have been fixed for quite a while in the dev build.

The only new issue I've seen in the past few months is the door-squooshing-a-monster thing, which Spike issued a new dev build to fix. Maybe I've missed something though. 
Engine Bugs? 
I haven't ran into many bugs myself in QSS. Only thing I've had recently was a fog bug that is now fixed, but I'm using the latest publicly available dev build. As it is, QSS, FTE, and Darkplaces are the only engines that support CSQC, more than 16 savegame parms, and enhanced number of textures (QS is only 4096 max gl textures) ...required for certain features and to prevent certain maps from breaking. CSQC support isn't necessary, however, but nice.

QSS has a familiar look and takes no additional setup. It enhances in all the right ways the most accessible Quake engine these days, Quakespasm. Also, it is in active development and geared specifically towards limit breaking singleplayer maps and mods. After switching full time to QSS about a year ago, I've not regretted it.

I was hesitant for a long time to back my projects into a corner when it comes to engines. Spike's engine corner isn't very well documented (or if they are documented it's not where I've looked, heh). He is super helpful though, active, and readily available. If bugs are still present in the latest build, I'm sure he can fix them quickly so long as you provide good detail and link to the problematic map.

I do think it would be helpful to go ahead and make the current "dev" build become the "stable" build since it is in fact more stable. 
 
So having no documentation, one person doing basically one on one support and a confusing set of releases is something to celebrate?

Devs need to remember the end user every so often as opposed to other devs who track all this out of necessity. 
 
There's a bug in the latest win64 dev release where the 'maps' console command won't list any custom maps that are packaged inside a .pak file as opposed to being in /game/maps/. Noticed this behaviour with smej2, dwell and AD 1.8.

For future reference, is the github repository at https://github.com/Shpoike/Quakespasm/ the best way to report any issues?

I absolutely adore QSS, but I wish there were release dates and version numbers for the binaries on the website. I was using a very outdated binary until some issues with AD 1.8 pushed me to investigate more deeply, because every time I checked the website I saw "Release (0.93.2ish)" and assumed that the port was inactive. 
New Dev Release Of QSS Is Live 
and it sounds like Spike (Shpoike(?)- correct me, please) decided to refuse “official” releases and “dev” now there is an official? Changes, as usual unknown, but we are keep in mind about improvements by design ;) 
Somthing Wrong With Sound 
Something wrong with last builds of QSS in Arcane Dimensions. While playing two sounds at once engine is muted sound definitely for time they duration. 
Thanks, Spyike 
for quick response and fixing sound issue! 
Mac OSX Version? 
I see that there's a new version of QSS here:

https://triptohell.info/moodles/qss/

Is there an equivalent version available for OSX? What about a version running natively on the M1 Macs? 
 
Anyone knows if QSS suports semi-transparent models? Is there any way to code a translucid enemy (like a ghost) or semi-transparent weapons models (when you pick the ring of shadows)? 
 
Just setting the alpha field on an entity should work. For weapon models, try setting alpha on the player entity. (that would work in fitzquake) 
@metlslime 
Thanks!!!

This trick just work when you're making a map and set an alpha field for an entity?

Can't i set this "alpha" information on the QC file? 
Tribal: 
You can set alpha directly to on entities in the map, no mod required, and if you’re making a mod, you can define a new .float alpha and control it in QC. 
@metlslime 
Thank you so much!!

The .float alpha thing works like a charm :) 
Powerup Timer (sort Of) 
I am trying to make a kind of countdown timer display for powerups. The idea is to have five transparent overlay images for the powerup icons (Quad, Ring of Shadows etc) which cover more and more of the icon when a powerup moves towards expiration.

It's probably a rather simple task, but I don't know how to implement it via CSQC. I guess it involves nextthink since I basically need a delay every 5 seconds before the next overlay image is shown. That or there is a way to directly tap into the runtime of each powerup and use that as a base (which would be even better).

I know it has been done in some mods like Quake 1.5, but I don't quite understand how it was done there. 
Just To Specify 
I would be OK with a function doing this:

- Do nothing for 5 seconds
- Show overlay image #1
- Do nothing for 5 seconds
- Show overlay image #2
[...]

Here is an example of what I tried. I am sure it's horribly wrong (also because it doesn't work):

if (sitems & IT_QUAD)
{
entity e = spawn();
e.nextthink = time + 5;
e.think = (void()) { drawpic('272 8 0', "gfx/sba1_quad", '16 16 0', '1 1 1', 0.5, 0); };
e.nextthink = time + 5;
e.think = (void()) { drawpic('272 8 0', "gfx/sba2_quad", '16 16 0', '1 1 1', 0.5, 0); };
e.nextthink = time + 5;
e.think = (void()) { drawpic('272 8 0', "gfx/sba3_quad", '16 16 0', '1 1 1', 0.5, 0); };
e.nextthink = time + 5;
e.think = (void()) { drawpic('272 8 0', "gfx/sba4_quad", '16 16 0', '1 1 1', 0.5, 0); };
e.nextthink = time + 5;
e.think = (void()) { drawpic('272 8 0', "gfx/sba5_quad", '16 16 0', '1 1 1', 0.5, 0); };
remove(self);
Even More Specific 
Another thing I tried:

This is how I call the whole thing from another function:

if (autocvar(cl_pwrtime, 1) == 1)
PowerupTimer();

I added this function above it:

static void PowerupTimer()
{
entity ptimer = spawn();
ptimer.nextthink = time + 5;
ptimer.think = PowerGFX1;
ptimer.nextthink = time + 5;
ptimer.think = PowerGFX2;
ptimer.nextthink = time + 5;
ptimer.think = PowerGFX3;
ptimer.nextthink = time + 5;
ptimer.think = PowerGFX4;
ptimer.nextthink = time + 5;
ptimer.think = PowerGFX5;
remove(self);
};

And before that (I am not listing all functions, just the first, and only for one powerup):

static void PowerGFX1()
{
if (sitems & IT_QUAD)
drawpic(pos+'272 8 0', "gfx/sba1_quad", '16 16 0', '1 1 1', 0.5, 0);
};

There are two problems here:
- The replacement image doesn't show up ingame. Tried with text (drawstring) and it also won't work.
- I don't know how to port over the vector "pos" (it's used in the function that draws the itembar on top of the statusbar). 
First | Previous | Next | Last
You must be logged in to post in this thread.
Website copyright © 2002-2024 John Fitzgibbons. All posts are copyright their respective authors.