Just toggle it, and skew the brush. It's like an additional texture lock.
Otherwise, you gotta use that method which may or may not work. xd
It's possible to detect if the game window has focus with SDL2Yesss, that's exactly what I was thinking about!
On other OSes lile Linux, you will likely need a soundfont first.GASP I almost forgot.
and music will play even if you go to menu (and even if you minimize the game, AFAIR)Sounds and music can be paused though, can't they? As for minimising the game... pretty sure there's a solution to that too, even if it's a bit ugly coding wise.
Like most of these Half-Life mods, this mod lacked a good coder. Back then, I understood none of the code, and I didn't know how to write my own code. I was a copy-paste coder. I only knew QBasic. Now I know some LUA, and I can code for Far Cry.But not any more. I've become just that, and I'm hoping to revive this.
What's worse, I didn't know how to model. Now I do, but it's too late now. I had to make simple, low-poly models, but I didn't have the skill to model a simple rock. Now I can model cars, weapons, characters and many other things.
What's even more worse than that, is the fact that the mod actually had many characters in the story. Thus, a lot of voice actors would be required (voices for Barnes, George, Jody, random citizens, radio chatter etc.). And an awful lot of maps would be made (like, 40 of them).
Then, I simply stopped working, as I was getting deeper and deeper into CS mapping. 3 months ago, I transitioned completely to work with CryEngine 1.
I hope I will continue to work on this mod in the future, when I am capable of being a 1-man modding machine. This was simply too much work for 1 person.
"The BSP_tool utility also allows you to automatically generate HPB bot waypoint files using the information in the BSP file to place the waypoints."Oh neat. Didn't see that. ^^
"There is an open source tool on botman's sites"The only Botman site I know is this: link
"The only difference between the two is that one is stuck doing an idle animation whilst the other is free to move but I don't see how this would have an effect."Think of it as one guard being busy. What does your entity setup look like? What entities are triggering what, and what keyvalues/entity properties are being used?
developer 2
"I have literally no idea why this is happening because the entire map is completely sealed off from the void."Do you have any entities outside of the map? All entities should be inside of the rooms, even things like lights, or info_ entities etc.
"Only problem now is how I bring up these blue lines so I can see what's causing the issue."You don't read anything I write, do you? :V
You can open your map's portal file to analyse what VIS has to calculate.
Where your .bsp file resides, there will also be a .prt file. Open it with a text editor, and you'll see something like this:
1681
3982
2
1
1
10
1
1
1
4
15
4 688 45 ( 400, 500, 600 ) etc.
You'll want to skip the first two lines, because those are the number of portals and visleaves, IIRC. Then delete whatever is between them and the coordinates (basically, delete the "garbage" numbers):
1681
3982
4 688 45 ( 400, 500, 600 ) etc.
The last line that I wrote won't actually look like the one in a .prt file, but you can get the idea.
This file is generated per each compile.
Then, you open the .prt file with the map editor: Map->Open Portal File.
BTW you might wanna check if you accidentally func_detail'ed a wall or a ceiling or something. This is where screenshots would come in handy. Does the line go through walls? If yes, then check for errors with Alt+P, there might be an invalid brush.mapname.prt
-----------------
1
0
6
Secondly, these boxes would not "cut" the floor into multiple faces as they did previously. I added another block there just so the portal file wouldn't be empty. Basically, func_detail simplifies the map's portals (these blue rectangles), but it should absolutely not be used on walls, ceilings etc."recording things with fraps"Not necessarily. I've recorded mine with Mirillis Action. :3
"ai nodes"AI nodes are just a 'GPS system' for the NPCs. When you place these nodes, you're giving NPCs confident information as to what way they can go. Without nodes, they use pathfinding and sometimes they're not too good at it.
"Also I’m trying to get a scientist to loop between two scripted sequences but the problem is that he goes to one and just stays there."Each scripted_sequence should target one another. seq1 targets seq2 and vice-versa, for example. I've done that in my mod once, but not sure if I used aiscripted_sequence or the regular scripted_sequence.
"However the problem is that for some reason the message appears right on que but the sentence takes a few seconds to activate."You could delay the text message.
"I’m wondering if there’s a way to get it to make a sound without giving it a move sound"Yeah, you can use an ambient_generic entity, with initial volume set to 10, start silent and medium radius turned on. Then as you trigger the vehicle, you will also trigger the sound-emitting entity.
"the limitations of some engines simply don't let your realize certain visions."Yeah, I forgot to mention that.
"Engine limitations don't prevent you from making a good game. Many older games are amazing products despite (and possibly because of) their engine limitations."An engineer's creativity depends on the limitations, be it technical (the design), environmental, or financial, or all 3. The beauty of limits is working around them, and that's what makes a clever engineer. Similar principle applies to game developers.
"No, if the engine is limited, so are you, at least if you want to do a decent FPS."If you're getting bad framerates, I'd rather say it's your design that pushes things too far. The engine simply isn't made for it. So, you should optimise it.
"Well, I can be a bit abrupt sometimes"Oh no, I didn't mean to imply anything like that, I'm just saying that your comment back then was 100% right. Especially the 1st sentence.
"I'll describe them more in my next post"So, the vehicle system is approximately like this:
vec3_t pos; // from the VehicleBody type
float Mass;
float Density;
string_t m_iszModel;
Seats serve as pointers to players, and they listen to commands from the player they point at. There are 4 types of seats: driver, gunner, passenger, and driver-gunner. It's pretty self-explanatory what they do, i.e. driver seats are the only ones allowed to control the vehicle, gunner seats may control the vehicle's guns, passenger seats do pretty much nothing, and driver-gunner seats combine driver and gunner seats.
VehicleSeatType type;
vec3_t pos;
CBasePlayer *pSessilis; // Never thought you'd see Latin in the HL SDK, did ya?
bool fExists;
int iSitdex; // Cool name for a seat index ;)
Engines contain info like health, gear ratios, number of gears, drive type (currently only 4: FWD, RWD, AWD and NWD a.k.a. NoWD, which is reserved for flying vehicles and other wheel-less vehicles) etc.
int HorsePower;
float MaxHealth;
float GearRatios[9]; // Maximum of 7 gears + 1st neutral 0th reverse
int Gears;
float Efficiency;
VehicleDrive Drive;
To test some things, I made a chair. A simple chair that consists of a body and a seat. The body is actually a brush model, but it could've also been a Studio model. It's the bounding box that really matters. Either way, this chair handles player interaction and even a very, very, very primitive movement system where the chair slides on the floor. It's a beginning. "If this require to learn C# and start all from scratch, will not it disencourage people to port their mods to SL?"In my opinion, it may do the opposite. It may encourage people. I've never used C#, but from what I hear and see here, it seems easier than C++, and that could lead to potentially more people coming than people getting discouraged. Besides, learning a new language isn't supposed to be a bad thing.
I'm not making an entire SDK from scratchNobody has ever done that. Only Valve. You might be referring to recreating the Opposing Force code on top of the regular Half-Life SDK. You don't have to do that either, just take one foundation and complete it.