Jump to content

JA - solid_ok flag not working for waypoints?


Recommended Posts

Further to my workings in my ongoing effort to get JO maps working in JA, I've been modifying the entities in the BSP which allows me to fix quite a few things.

 

Now that the waypoints are using the correct function, they get picked up by Jedi Academy, but JA refuses to create some waypoints that JO maps need because it thinks they're spawning in a solid. Looking at the source code and documentation, it also appears that a flag was added to allow this to be ignored; the "solid_ok" flag. Great!

 

However, I've tried modifying some of the problematic waypoints to include the flag, such as this on artus_topside.bsp:

 

{
"classname" "waypoint_navgoal_2"
"targetname" "jan_up_ramp2"
"origin" "574 1144 866"
}

 

to

 

{
"classname" "waypoint_navgoal"
"targetname" "jan_up_ramp2"

"spawnflags" "1"
"origin" "574 1144 866"
}

 

But JA still gives the same error, in the case of this waypoint ERROR: Nav(3) in solid: jan_up_ramp2@(574.000 1144.000 866.000)

 

Am I doing something wrong, or is it possible that this flag isn't actually correctly implemented in Jedi Academy (I don't think I've found a BSP that uses it in the original game)? Or is the version of GTKRadiant I'm using incorrect in assigning the flag a value of 1?

Link to comment

I tried that first actually since it can be done with hex editing. I managed to get some of the waypoints to show up in game, but they're not connected and NPCs can't navigate to them.

 

An easy example would be the doors puzzle on doom_detention. I can move the navgoals a little so they show up, but Jan still gets stuck at the same point as before and if you turn on "nav show edges" there's a gap in the path.

Link to comment

The actual bounding boxes for the waypoints changed, so there isn't a simple way to fix it without adding in the extra code, unfortunately. And even if you do add the ents, there's a few instances where things break (Luke's walk/talk script, Lando walking up to the Lady Luck, and the famous bartender scene all get broken by it, but everything else as far as I could tell seemed alright) due to the differences in the nav system.

Link to comment

The actual bounding boxes for the waypoints changed, so there isn't a simple way to fix it without adding in the extra code, unfortunately. And even if you do add the ents, there's a few instances where things break (Luke's walk/talk script, Lando walking up to the Lady Luck, and the famous bartender scene all get broken by it, but everything else as far as I could tell seemed alright) due to the differences in the nav system.

 

I'd settle for just getting them to show up in the first place, since the ones I've seen appear to work correctly regardless. This solid_ok flag appeared like it would be a pretty good solution, so if I can figure out what's going on that might help a lot.

 

Modifying the waypoint entities so that the majority of them correctly spawn and changing the scripts to refer to the player rather than Kyle fixes a large potion of the game. I was actually surprised at just how playable much of it was, though it's the additional issues that are causing the problems.

 

The way I see is that a lot of stuff can be worked around, particularly if I understand what it's trying to do and where it's breaking (which is what's taking up quite a bit of time at the moment). I've looked up what others have tried to do, but I don't think I've seen any others who've tried changing the entities in the BSP or otherwise modifying it, since that managed to fix a lot of the weirdness, leaving animation issues due to missing anims.

 

I gave ns_starpad a test earlier actually, and managed to fix Lando getting stuck on the Lady Luck with a few kicks (thank you debug melee). I don't think he was too pleased but it did the job. The gunner sequence doesn't work at the moment, but I'll have a look at the sequence on t3_byss later and see if I can figure out a solution.

 

It's actually been quite an interesting challenge.

Link to comment

So I've given up on the waypoints for the time being, but I did come up with a ridiculous hack that gets around Galak not spawning in the map on kejim_base. It only involves editing some text!

 

 

And as far as I'm aware, invented a new way of setting any cvars you want through the use of a script in the process, even ones that you can't normally modify because there isn't a function.

Link to comment

I'm generally sticking to hex editing when I need to do quick tests since it's way faster than recompiling with new entities; once I've got a fix then I properly recompile the maps. It doesn't help that I'm pretty much learning about this as I go; I can add waypoints into the map, but at the moment I've no idea how to get the AI to see them. Is it possible to manually define a connection between them under the entities list?

 

But even if I can't figure that out, I'm pretty confident I can fix most of these issues with scripting changes. When I'm not busy trying to fix all this other stuff!

Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...