News | Forum | People | FAQ | Links | Search | Register | Log in
Coding Help
This is a counterpart to the "Mapping Help" thread. If you need help with QuakeC coding, or questions about how to do some engine modification, this is the place for you! We've got a few coders here on the forum and hopefully someone knows the answer.
First | Previous | Next | Last
My Name Is Madfox And I Want My Money Back! 
GPL is a copyleft license for software, devised by Richard M. Stallman of GNU, who (in short) states that you can use the software to do what you want, including customizing and selling, provided you pass that right on to others and the author. (s) of the software. In concrete terms, the foregoing means that if you want to distribute software that has been published under the GPL, the source code will have to be added. This source code may then be further distributed under the GPL. Anyone can choose to publish his or her program under the terms of this license.

You don't need to rewrite it, as long as you include the code you might have read the scripts that are in the qc that state:
Copyright (C) 1996-1997 Id Software, Inc.

This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA

See file, 'COPYING', for details.


But seriously komagama, I thought you were mapping for fun. I understand your considderation of making a commercial project but then why not start with something like gamemaker?

I'm mapping for several years now, I have only the love for the game, and when I ever had the intention to sit on iD's hat for making a commercial addon I probably had stopped many years ago.

Don't get me wrong, I don't want to disappoint you, but I've seen it before. People with the best intentions to make a coin out of hard earned worked getting screwed off by others who just wanted a piece of the (qc)ake.

Anyway, it is your decision. But watch out, I would love to play your map for free, but if you would ask money for it I would become so critical you wouldn't like your own map anymore.

So I'll start with ten bitcoins for the advice I gave.
:P 
Just Kidding Komagama 
You can find the correkted file here.
It's the mamuth.mdl of the super shambler, the h_mamuth.mdl of its head and the mamuth.qc.

If you compile this file you can use it with the normal shamblers in your map, with this result. The bouncing box is right his size.

Only thing left is tweaking the size of its lightning, but I supose it will always be beyond the player view, due to its size.

Succes with it, curious to your map. 
Thank Madfox.. But 
i'm not a noob in game-designing, sorry if I gave that impression.. Fact is there's something in gpl quake code that I cannot understand:
help me if you can:
-may I use big portions of Id qc unmodified (ai.qc, buttons.qc, monsters.qc) ? Carmack stated that you can create your standalone game based upon that code.. 
D'aww! 
Would you look at that mammuth shambler! :3c It's so big and clumsy. He'll never be able to reach the "mouseholes" the player escapes into.

Which reminds me, compared to the regular shambler, has the movement speed been increased for this adorable little monstrosity?

Nice work, btw! ;) 
Right 
@komagama- well, I'm a noob in gpl code, so I can't help you out.
Maybe someone else.

@Esrael- Mouseholes? That's where the little Shambs come in.
I'm more concerned when it dies the player walks 96 units in shamb space nothingness.
And as I wrote: I just can't escape from it as it moves that incredible fast. 
Komagama 
The QC code is not under the GPL. However, when I talked to someone at id before they were sold to Bethesda, they expected people to handle the original QC code in the same way as the engine code, which means keeping the source open. 
You Heard The Man 
QC please! Chop chop. That means you. Haha. 
Broken English 
mamuth groans I'm too Q to see. 
Oh.. My Headache.. 
now I know why nobody made commercial tc based upon this engine.. aha
Anyway the official released sourcecode.zip from github includes qc files so they must be gpl as well :) 
Ogre 
The ogre has a pull pose of 11 frames which won't be used in the qc. What should have been its purpose?

I'm retrieving the Qtest1 qc, without any luck.
I'm using the one from Megalol, which luckely has a progs.src
Only problem is that it is casting more than eighty nine warnings.
It seems to me that a lot of it is just a replacement of the original qc.

I spent a whole evening just to get rid of the first moveangles to moveangles2. Is it realy that bunch of spagetthi? 
Projecting Text To A Quad 
are there any examples out there of projecting text to a mesh using an engine like DP or FTE? Or even just dynamically creating a texture and assigning it to a mesh? 
Yes 
With an animationmaster it is simple, but I know you won't have obviously. You might try max3d or gmax. Here's an example I made.

Or hand me the file and I can see what I can do for you, beer me up, scotty
That's Pretty Cool 
but not what I meant :P sorry, I didn't explain clearly.

I meant taking plain text from a text file and projecting it onto a quad or converting it to a texture dynamically to be assigned to a mesh. If that makes sense. 
 
Text?
Blender can make polygonal text...not quads though.

Best bet might be to make an alphamasked sheet texture with all letters and numbers on it...then assign UV to uach letter for quads.

For quake mdl format you might be able to have 1 quad for each letter/number/rune and have only one quad visible per frame....then in-game you could set the frame number for the letter, but that's a boatload of work. 
 
If you know the direction your quad faces and the tangent+other one then you can generate the text from csqc with beginpolygon in 3d space.
If its co-planar, you'll need to use stuff like polygonoffset and/or pay attention to shader sort ordering.
This will work in both FTE and DP. The shader tricks may not, however.

Alternatively, a shader with 'deformvertexes textN' will replace a quad surface with the text in the r_shadertext_N cvar(s) (the shader's texture should be a 16*16 grid of chars).
This will only work in FTE.

The third option is to use render-to-texture, and to draw your text that way (which means it can also support unicode etc easily, or even other scenes). You can then use .forceshader or whatever to wrap it over even non-planar surfaces on some target entity.
'map $rt:foo' in your shader, possibly via shaderforname.
setviewprop(VF_RT_DESTCOLOUR, "foo", 1, [width,height]);drawstuff(); setviewprop(VF_RT_DESTCOLOUR, __NULL__);
This will only work in FTE.

Or you can use r_uploadimage and scribble over a texture from QC (which basically requires pointers+ints and masking), FTE-only.

You can also use rtlight cubemaps to dynamically project a texture, but this assumes you've a number of prior cubemaps to select between. You really don't want to use one per letter.
You could also use one sprite per letter (or more realistically one sprite-frame per). Will at least scale better than rtlights... 
 
@qmaster - that sounds... crazy :P

@spike - exactly the info I was looking for, thanks! 
Sprite 
I'm adding old sprites to Quake1Test maps.
I added some lines on misc.qc for a new light_large_flame,
and to world.qc and it comes up in game.
Only eddict is : R_drawsprite: there is no such frame 1
 
Does the QTest torches use framegroups in their sprites? All frames will cycle through frame 0 then. No need to animate manually.

Most Quake sprite editors can't generate framegroups. 
What Does Edit Framegroups? 
Also the first frame is frame 0. 
Never Got Out That $pr1te Thing. 
Here's my statement I'll think.

Sprites: Torch (s_torch4.spr) comes through right.
Flame_ball sprite (s_torch6.spr) comes through with error:
R_DRAWVIEW : No Such A Frame1

and it keeps rolling on screen..,

Or better, download following.
Here are my poor reasults for making a SinglePlayer QTest1.mod. 
$prite$ 
s_puff.spr and s_statue1.spr and s_telep.spr have (nogroups) frames.
s_torch4.spr and s_torch6.pr have (Group 0) frames.

How do I change them from Group0 to nogroups?
I use FimG and the window indicates Group Properties but leaves blanc. 
 
You don't need to modify the sprite, you just need to remove the animations you coded in the QC code.

If you don't use makestatic() in your torches, they will consume more network bandwidth and can generate packet overflows. And if you use makestatic(), your QC animation code will not work. Framegroups solves this problem, by making their animations client-side.

Also, from Fimg's help:
The sprite format used by Quake is the first game sprite format supported by Fimg. However, some of the design ideals of Fimg and a few aspects of the Quake Sprite Format are in conflict. As a result there may be a few things you need to know about Quake sprites before you use Fimg to edit them.


Quake sprites are composed of a number of frames. Each frame either consists of a single, unpaletted image or can be in a 'framegroup' where it is then composed of 1 or more unpaletted images. If the sprite contains no framegroups, Fimg will load the sprite as a simple animation sequence under a Fimg group titled "[no group]".


Fimg was designed to support a more general method of grouping frames where each group is an named animation sequence composed of a number of frames. As a result, if a Quake sprite has any framegroups, it will be loaded differently than previously described, where each 'frame' of the image is treated as a seperate animation sequence group. Each frame will in turn be named "Group X". where X represents the original frame number of the animation.


If Fimg loaded the sprite as a simple animation sequence, the only group will be named "[no group]". The Quake sprite saving routines look for the name "[no group]", and if found and it is the only group present, the animation will not be grouped. Therefore, if you'd like to group the frames for the animation, simply choose Groups->Rename from the menu.


When in a framegroup, each frame has a "Duration" key that indicates the delay for the frame. See the Properties Editor for more details. In addition, all frames have Origin values. See the origin tool for more details about this.


In addition, there are global properties for the file. For clarification, they are:
· Beamlength = Appears to be unused within the engine and is related to Doom style upright sprites.
· Radius = Is normally auto-calculated. If the size of the sprite changes, it is recommended you delete this property so Fimg will auto-regenerate it.
· Synchronous = When auto animating in a grouped frame, should the engine synchronize all instances of this sprite? If, for example the sprite is a fire, having all fire sprites start on the same frame would look ugly and obvious.
· Orientation = How the sprite will orient in game. The only two modes supported by GLQuake are "Oriented" which means the sprite will obey it's orientation and will appear as a flat plane, and VP Parallel, which means the sprite will appear as always facing the viewport.


These can be found by clicking the File Properties button or by clicking File->File Properties.
 
Thanks! 
That clears up a lot. I'll see through it.

I exported all frames from the sprite back into FimG and it was declared as (nogroups).
All flames turn into one frame, but no warnings,
:P 
Flight 
Hello, I would like to make flight physics for player in quake. I mean gliding in the air while player is falling, so it shouldn’t be just slowing down while falling, it should be something like paraplane or paraglider physics.
What I want to realise:
https://youtu.be/vJouxKs7T9c
How it can be done in games:
https://youtu.be/w5Es-kXif7k

I use sv_player.qc for working with player physics. Also, I am using dpextensions.qc as I am trying to make that on darkplaces engine.

I found some information and documentation about QuakeC on insideqc but still nothing helped me.

Does anybody knows how to realize gliding physics on quake? 
 
Maybe one chance for something similar is to find Zerstorer QuakeC devkit and see what the "wings" powerup does.

I tried it once but can't remember what it was like to use it. Is it in any of the Zersteror single player maps? I can't recall, but I'm not too much of a "find every secret" type. 
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.