News | Forum | People | FAQ | Links | Search | Register | Log in
Mapping Help
This is the place to ask about mapping problems, techniques, and bug fixing, and pretty much anything else you want to do in the level editor.

For questions about coding, check out the Coding Help thread: https://www.celephais.net/board/view_thread.php?id=60097
First | Previous | Next | Last
Mdl 
I make a new monster and want to give it an attack movement it occurs to me that when I use a mdl object it only uses the first frame.

how do I give the monster a mdl object that poses all the frames in it, and not only the first? 
Ricky 
I have found this strategy to be a useful tact for a Quoth based map set I have been quietly stitching together. Build a huge hull based on just a few thousand or less brushes, after lighting the basic hull, divide it into four or more portions for individual maps that share a common macro architecture. It is actually kind of neat to see a central facade in one map disappear into the distance for the next map. Quoth has a limited hull system that makes this possible, limited but it is enough for the needs of what I'm doing. 
Yeah 
I could split it up, but thats not what I am going to do in this case. I have just ditched a load of lights and re-thought my lighting strategy, and solved the issue! It actually looks better now I think!

The map currently has 32604 marksurfaces. And I keep hitting efrags, but I have used a lot of daft func_illusionaries, and its not to difficult to re-arrange them and fix the problem.

Heh - I'm burning through this one now - could go into alpha in days... 
Willem 
I used Stoneless to make most of my maps - it wasn't as fully featured as Worldcraft, but I found it to be more stable and nicer to use.

I say "not as fully featured", but I should note that that while it didn't have as many features as WC, it did all the core stuff well and had a few things that were really neat (like templates/instances and WAD editing right there in the editor). Also, it doesn't have any stones.

I believe that the link that lurker posted is the final version, though you'll have a lot of trouble getting it to work properly these days even on windows, presumably because it used D3D back in the v5/6 days. It worked up until Win98/ME but after that I started getting black polys in the 3D view when using texture mode and stuff like that.

I wouldn't recommend trying to actually use it these days (even if you can get it to work), GtkRadiant or Hammer would be much better choices. However, if you're investigating other editors to check out their features and workflow it's definitely well worth a look - again, there's a few features in there that I've not seen in other Quake editors. 
 
Thanks Fribbles. Are there any screenshots available online? I've never been able to find any. 
A Gift For Willem 
So... Dead Player Model In Map: 
If I put my dead player in the map, which frames are death frames? When I open the player.mdl in QME I can see the frames, but that doesnt tell me which frame is which because the total frames are split into sequences, so there would be, say, 10 "1s", etc, and I'm confused! 
You Have To Count 
Ignoring the frame groups.

I think 69 is one of them. And 87?

I had a testmap with them set up, but can't remember now and don't have the map here. 
 
Lurker: <3

Thanks! And that is ... significantly less cool than I was remembering. Oh well, at least I can stop wondering about it now! :) 
 
What did the D3D lighting preview look like? Useful or no? 
Willem 
Not useful at all. It was very low detail, and took so long to render that it was faster to compile the map, run the game and check it properly. 
And Hey... 
Stoneless was pretty awesome at the time. Of course, at the time most of the other editors were garbage and Worldcrash was an unstable POS! 
Deathframes 
Just count down, lazy bone...

deathframes player.mdl 50 -60 -85 -94 -103
Ricky -70 
Spites 
How come Quake has lost all its sprites except a few?
Was it because the round tiling looked ugly? Or was the resolution too bad?

I'm trying to put in some new sprites, but just get one frame effects. 
 
I think Carmack said that they used the sprites during early development but eventually ended up replacing almost all of them with models by the time they shipped.

If you remember that in QTest, wall torches were sprites...

it can certainly handle multi-frame effects though. The rocket/grenade explosion is a sprite. Not sure how that gets set up though. 
Probably Framegroups... 
i think models and sprites share a similar data format for frames and framegroups. 
Explosion Sprite 
Although I'm pretty sure that you can set up framegroups in a sprite, the explosion which comes with quake is not set up like that. The frames are called by the functions s_explode1-6 like regular monster frames are called.

If you set the frame of a model or sprite to a frame-value which contains a framegroup, but the random flag is not set, does it always start from the beginning? If it did, you could change the explosion to a framegroup and save yourself a tiny bit of network traffic! 
Blah 
I had an hard egg on this earlier. I created some new sprites with FimG, and added them to misc.qc as an addition under light.
Problem is that I can see only one frame of it.

So I tried again with a mdl, added to the misc.qc and still it's only one frame.

Data from the sprite is ungrouped as I can see in FimG, but elsewhere in the code the frames of the torch are defined as frame1 flame1 0.1
There must be a code that offers the engine to play more frames, but when I substitute the expl.spr with my own one it freezes on the first.

Desperately seeking I found a sprite.qc but this won't proceed the proqcc. Wrong statements.

http://members.home.nl/gimli/SPRITES.QC 
 
I found this text which seems to explain everything:

http://www.gamers.org/pub/idgames2/planetquake/chopshop/utilities/quake/graphic_utils/sprgen.txt

Sorry if you already had all that info but it looked useful. 
Madfox 
none of that stuff in that qc file is even needed. it was probably used when they 'compiled' the sprites, the same way some of the data at the top of all the monster .qc files aren't needed.

sprites are handled identically to models. just set .frame to a number and you're set. you can use the same frame macros that are used for monsters except instead of using $frame1, $frame2, just put the number 0, 1, 2 in that spot instead. 
Well 
thsnks for your info. I'll check on it.
a sprite looks more tinkling then a mdl. 
Sprites In Maps? 
sprites are handled identically to models

Does this mean that any code that places an arbitrary model in a map, could also place a sprite? I'm aware that quoth can do this, but I'm curious about other mods. 
Afaik 
yes. it, of course, won't animate without code though. (not sure about the sprite frame group though) 
I Wonder 
After several attempts I succeeded in making a sprite in quake.
First I had to convert the brushes in the sprite upside down, as I only got an upside down sprite in game.

Then I tried, as you said necros, it identically to a model, but then I got it wrong as it isn't a model that wants to attack me.
so I probably overlooked something in my coding text, and decided to make them all the same frame.
That worked, although it isn't a nice code.


$cd /raid/quake/id1/models/can
$origin 16 16 24
$base base
$skin base

$frame 1 2 3

void() can_stand1 =[ $1, can_stand2 ] {ai_stand();};
void() can_stand2 =[ $2, can_stand3 ] {ai_stand();};
void() can_stand3 =[ $3, can_stand1 ] {ai_stand();};

void() model_can =
{
precache_model ("progs/can.spr");
self.solid = SOLID_BBOX;
self.movetype = MOVETYPE_NONE;

setmodel (self, "progs/can.spr");

setsize (self, '16 16 -24', '16 16 40');
self.th_stand = can_stand1;
self.th_walk = can_stand1;
self.th_run = can_stand1;
self.th_pain = can_stand1;
self.th_die = can_stand1;

walkmonster_start ();

};


Screenshots don't work with sprites:
http://members.home.nl/gimli/sprite.wmv 
 
You can simplify that code a bit, and take out the monster AI functions which don't suit a trash can well.

void() can_stand1 =[ 0, can_stand2 ] {};
void() can_stand2 =[ 1, can_stand3 ] {};
void() can_stand3 =[ 2, can_stand1 ] {};

void() model_can =
{
precache_model ("progs/can.spr");
self.solid = SOLID_BBOX;
self.movetype = MOVETYPE_NONE;

setmodel (self, "progs/can.spr");

setsize (self, '16 16 -24', '16 16 40');
self.think = can_stand1;
self.nextthink = time + 0.1;
};

Notice that the $1-3 can be replaced with the numbers 0 to 2, the corresponding numbers for the frames in your model. The ai_stand() function is not needed, so we delete it.

Also, you don't need to run all the walkmonster_start stuff just to get it to run can_stand1, which is what is doing the animation here. If you just set that function to be the entity's .think, and set the .nextthink to time + 0.1, then in 0.1 seconds time the can will run can_stand1.

For a more detailed explanation of what is going on with a line like:
void() can_stand1 =[ $1, can_stand2 ] {ai_stand();};

you might want to read the second half of http://www.quakeexpo.com/booth.php?id=32&page=186
I know I wrote it myself, blowing my own trumpet and all, but it's easier for me to find my own articles on the matter. 
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.