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
[Darkplaces]Help With Sizing Textures In NetRadiant/q3map2 
Hey guys, sorry if this thread already brought this up before, but I'm making a new game and I want to make some new map textures. I can get as far as getting all the textures into netradiant but for some reason they won't size properly.

They do connect and cover the whole brush in a pattern but they are way to big. I tried experimenting a bit by including some PK3s from Xonotic and they sized correctly with no modification, but when taken out of the PK3 they did the same as my textures.

I also tried the surface inspector but that only downsized them to a certain degree. Any help? 
Anyone Got A Fix For The Timing Issue With Path_corner's?? 
Apparently there is a 0.1 sec delay at path_corner's due to this pesky bugger in SUB_CalcMove:

if ( (tdest == self.origin) ) {

self.velocity = VEC_ORIGIN;
self.nextthink = (self.ltime + 0.100);
return ;

}

and it's adding some stutters to my...um...special setup. :) 
Early Over 
The only way I can see to do is use some kind of hack to run SUB_CalcMoveDone on the func_train as soon as the new destination is reached. The difficulty is seeing where you might stuff the hack! There's no way (I know of) to set a custom "use" field on an entity which is SOLID_BSP, as all the functions which make an entity SOLID_BSP change the use function at the same time. Have I forgotten a way where you set SOLID_BSP as an entity key and then find a function which runs setmodel without changing the solid status? Negke?

th_pain and th_die are easily applicable to a standard func_train, but you'd need some way to prevent anything else inflicting the damage. Similarly touch is going to be useless if you need the player to stand on it. think and think1 are used by the func_train anyway, so they're out.

Best bet I can think of is trying to make one func_train style entity which surrounds and follows another, damageable func_train. Then you. The inner core is damagable but the outer core protects it from general attacks. The only thing which ever gets a chance to attack it is a hacked info_notnull which goes off inside it when you need to skip the delay. The details there are a bit vague though, like how to make one func_train follow the other. 
Jjsullivan5196 
press 'P' - brush - default texture scale
.shader scripts can change default scale of individual textures 
I Think I'll Just Resort To Qc, Create My Own Version Of SUB_CalcMove 
and a custom func_train_qma or something...only problem is that I want support for a handful of quoth monsters too. I guess I can decompile the quoth progs and create my own mod and scavenge the models and sounds. Anyone done that before? Not exactly ideal though. 
It's Just That... 
I have to have an exact number of path_corner's for set1 in order for it to mesh properly with set2. Having an exact travel distance is no issue, but I really really don't want to have to recalculate the whole setup again to get rid of the hiccups on what would be a smooth operation. 
Entity Precision 
How many decimal places does qbsp retain in entity fields. For instance I'm using a wait value of 5.639025 (Don't ask) and I'm wondering if it's getting rounded because I'm getting some wierd behavior. Also, do all objects start on the same frame? Like monsters on walkpaths, func_trains with no targetname, etc.? 
 
Forget it! Don't even try to pair func_trains up when their travel paths aren't exactly the same length and same # of corners. Must be some sort of engine rounding bias because at first it will work perfectly fine, everything all lined up. But after several loops it gets out of sync one side or the other. I managed to zero in on a figure that works for about 10 loops: 5.6390295 but I can get almost 15 loops out of 5.65. ???

Back to func_door chaining...boo 
Qmaster 
qbsp saves all entity fields as strings; and i'm pretty sure it just copies whatever is in the map file without changing it. (though there is a limit of 1024 chars per string, but you're definitely not hitting that limit.)

In-game the wait time is stored as a 32-bit float, which should almost store your exact value. According to this page, your value of 5.639025 will be rounded to 5.6390252 or floored to 5.6390247, both of which are very close. 
Floating Point 
Quake uses standard 32 bit precision floating point values for all entity fields. That's 23 significant figures in binary - good enough for about 7 places in decimal. So yeah, not nearly enough for what you're trying to do. Also remember that your set-up will break if one of your trains gets blocked by a player for a few frames, and the other doesn't. Custents has a synchronised func_train entity which is designed for keeping multiple trains in lock-step - the example they build is an escalator.

Interesting side note: the engine does track some quantities in double precision. One of the most important is the server time. Since it's constantly having small increments added to it, there's a need for higher precision. QC of course can't access the value at the higher precision, but it still benefits from the better tracking. 
Thanks 
But what's Custents?

Player Blocking: Not an issue for most of my...super special stuff. I do have some timed crushers though, should these be func_doors? I haven't had time to mess with the crushers yet. 
Custents 
A classic mod with a mixed bag of custom entities:
http://wartrench.telefragged.com/custents.html
Warning: 1998 web design.

The downloads page points to a dead ftp, a live mirror can be found at
http://www.quake-1.com/quakec-gallery/custents.zip 
Yeah 
It sounds like you're jumping through a lot of hack-hoops when a bit of qc will solve most of it.

There's also extras r4 (mentioned on another thread recently) which also has custom entity extensions. 
Hoops 
There's nothing wrong with jumping through hoops if you so enjoy. On the other hand, I'd say that something which is evidently hard to get right even in QC is probably not amenable to entity hacks. As opposed to yesterday's currency challenge, which is easy to do in QC and so seems ripe for a hacking challenge. 
True 
And I do appreciate the challenge of figuring out a puzzle. But with time I've got more impatient, often preferring the direct solutions over the more complex options.

Horse for courses I suppose :) 
Hoops, More Like Jumping Through Q's 
I just want to get it working smoothly any possible. :D It's a pain enough having to calculate distance-between-corners/train-speed to get time-travelled in order to know how much wait to give path_corner's for these trains to meet up properly. 
What 
Are you trying to do?

From what I can gather from the posts it sounds something like these:

http://images4.wikia.nocookie.net/__cb20090406224015/half-life/en/images/8/84/Boids_Xen.jpg

Though they didn't do anything apart from go in a straight line :P 
 
seriously, you should check out custents, it has everything you are talking about.

you can specify a train to move so that it gets at it's destination in a specific time instead of telling it to move at a speed, and there is a setting to remove the delay when it hits a corner. 
Got It! 
Thanks! Looks like it might work!

ijed: shhhh! It's a surpise! No nothing as simple as alien birds. 
Fair Enough 
 
RE: Slapmap 
Thanks, I've been looking for that option. 
Brush With No Texture 
Hey guys,

I'm designing a map called "maw of madness" and as the title of the map suggests I want to give the player the feeling of being swallowed by madness.

As such I want to use the waterwarp effect in certain sections of wall. However, I don't want the wall to be traversable / swimmable. Is there a way to make completely (not semi) transparent walls? a brush with no texture or an opposite of func_illusionary?

Thanks in advance,

Ben 
 
You have two methods to choose from.

1 - Clip brushes

Make a brush and give it the clip texture. The player will not be able to pass through this brush, and they will not be able to see it.

One bad way of making a ladder is to make a detailed ladder as a func_illusionary. Inside the ladder make a set of steps that are 1 unit wide, and put it inside the ladder. When the player walks into the ladder they are instantly transported up the invisible staircase (just like a normal staircase, but all of the steps are within boundaries of the ladder's space, so the player moves upwards).

2 - Skip Texture

Make a brush and create a texture with the name 'skip'. Apply the texture to the brush. The brush will still be there, but it wont be drawn. You can use this tool on individual faces too. And you can apply it to brush entities, like doors for example. This can be used to do all sorts of things in Quake.

When you compile the map, you have to run the newskip tool to remove the faces. Created by Metlslime: http://www.celephais.net/files/newskip.zip 
Skip-textured Func_wall 
Then run newskip or compile the map with these tools to have the skip texture removed automatically. 
Note About Clip Brushes: 
You can shoot through them. They are great for putting diagonal brushes against pillars, for example, at the side of a corridor, sticking out of a wall.
Ever start shooting a monster in a corridor and you are moving backwards and sideways and you get stuck on a light or something? And you die because you got stuck and pwned? A well placed diagonal brush can prevent this from happening as easily, because you just glide over the thing that is sticking out of the wall.

I should do this more often :D 
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.