Jump to content

Galak Spawning not working on Outcast maps


Go to solution Solved by eezstreet,

Recommended Posts

Posted

I was just wondering, have mappers noticed that Galak and Galak_mech won't spawn on their maps? I've gotten Outcast to be completely playable on Academy's engine, but I had to remove all cutscenes and one boss fight which included Galak in my mod here:

 

http://www.moddb.com/mods/jedi-outcast-academy

 

Am I the only one having this problem? Is there a way to fix it? Responses are  appreciated.

Posted

Well the Galak_mech doesn't work in multiplayer I know for sure.  Well actually that's partially a lie.  It does work, but it has invisible textures and the ai is derped up.  Not sure about regular old Galak though.

JKG Developer

  • Solution
Posted

That's because Raven derped and totally nerfed NPC_Galak for no reason whatsoever.

In NPC_Spawn.cpp, change this:

 

 
/*QUAKED NPC_Galak(1 0 0) (-16 -16 -24) (16 16 40) MECH x x x DROPTOFLOOR CINEMATIC NOTSOLID STARTINSOLID SHY
MECH - will be the armored Galak

DROPTOFLOOR - NPC can be in air, but will spawn on the closest floor surface below it
CINEMATIC - Will spawn with no default AI (BS_CINEMATIC)
NOTSOLID - Starts not solid
STARTINSOLID - Don't try to fix if spawn in solid
SHY - Spawner is shy
*/
void SP_NPC_Galak( gentity_t *self)
{
}

to this:

 

 
/*QUAKED NPC_Galak(1 0 0) (-16 -16 -24) (16 16 40) MECH x x x DROPTOFLOOR CINEMATIC NOTSOLID STARTINSOLID SHY
MECH - will be the armored Galak

DROPTOFLOOR - NPC can be in air, but will spawn on the closest floor surface below it
CINEMATIC - Will spawn with no default AI (BS_CINEMATIC)
NOTSOLID - Starts not solid
STARTINSOLID - Don't try to fix if spawn in solid
SHY - Spawner is shy
*/
void SP_NPC_Galak( gentity_t *self)
{
if ( self->spawnflags & 1 )
{
self->NPC_type = "Galak_Mech";
NPC_GalakMech_Precache();
}
else
{
self->NPC_type = "Galak";
}

SP_NPC_spawner( self );
}
xxt65xx likes this
Posted

Side note (sorry for double post, editing system made it difficult to edit my post), if you want to fix 95% of the issues with cutscenes, make the following changes:

 

Change this line in g_client.cpp:

 

ent->targetname = ent->script_targetname = "player";

to:

 

ent->targetname = ent->script_targetname = "kyle";

 

I hacked in both this and the Galak fix back when I was working on Jedi Knight 2 Uncut, which uses JA to play JK2.

Posted

Thanks alot, I've already fixed the second issue by using the "playermodel" command on the Kyle NPC in cinematics and etc. It's not very efficent but it gets the job done =).

 

I think I'll need to edit the source code to fix the problem spawning Galak though, I'll see what I can do. I'll report back if I can get anything to work.

Posted

Sorry about the double post, but I'm wondering what I need to do to use the source code? I have Microsoft Visual C++ 2005 express, and I'm running it on a windows vista machine (which might be the problem itself...) and I keep getting errors when I try to read or compile anything. I read that you would need to make some tweaks to the source code to get it to work, and I'm wondering if it's better to use OJK instead if I can, or to just wait for a public release. Is there a free or at least cheap C++ editor you would recommend?

 

edit: So apparently I need visual studio 2010 with a service pack to use OJK, trying that now.

 

edit: I kinda got OJK to work, and the original question has been answered. Thanks for your help.

Posted

VS2010 or later is needed to compile OpenJK, or use CMake (please read the documentation on the GitHub page for more information)

Compiling from straight GPL source requires Visual Studio 6. It does not compile correctly on any other version without major changes to the code.

 

No, the issue is because the script_targetname of the player entity in JKA is "player" instead of "Kyle" like it is in JK2. For this reason, all ICARUS blocks which use affect("Kyle") will not work correctly in JKA. My method is the quick one -- simply changing the script_targetname to be "Kyle" instead of "player". You can also change those blocks to read affect("player") but this will take forever as nearly every script does it.

Posted

VS2010 or later is needed to compile OpenJK, or use CMake (please read the documentation on the GitHub page for more information)

Compiling from straight GPL source requires Visual Studio 6. It does not compile correctly on any other version without major changes to the code.

 

 

I downloaded VS 2010 and got OJK to work about as well as possible a few days ago. The source code I downloaded seems to be the XBOX version, while Outcast is actually Academy. I heard that Raven was going to re-release it when they had it cleaned up, if that's true I have yet to find it. But I'll try using VS 6 like you suggested, and then I'll probably port whatever minor changes I make to OJK when it's fully released.

 

No, the issue is because the script_targetname of the player entity in JKA is "player" instead of "Kyle" like it is in JK2. For this reason, all ICARUS blocks which use affect("Kyle") will not work correctly in JKA. My method is the quick one -- simply changing the script_targetname to be "Kyle" instead of "player". You can also change those blocks to read affect("player") but this will take forever as nearly every script does it.

 

Haha, and thats exactly what I did. Took me forever to work through all the code, but at the time it was the only legit way. Also minimizes any conflicts that arise from running JA and JO from the same assets. You can literally choose whether to start Outcast or Academy from character creation, and the only conflicts you'll find are a few odd shaders here and there. Conflicts between JO and JA's engine are another issue, and I'm sure you're more than familiar with them. With the source code released I can finally get to work on fixing them.

 

Of course, once OJK is finished my mod will probably be reduced to a pretty UI and HUD with a few FX ported from Outcast, but it was fun while it lasted and I'm finally learning to code in C++. Keep up the good work and maybe I can help out in the future :) .

Posted

Well the only things that I'm aware of:

- Animations, you'll need a new skeleton which contains the missing Outcast animations

- Crash upon picking up saber in yavin_trial

- Crash upon gravity shift in doom_shields

- waypoint_navgoal_2, waypoint_navgoal_4, waypoint_navhoal_8, waypoint_navgoal_16, and waypoint_navgoal_32 don't exist (hence most of the waypoints being broken). Only difference is the size of the bounding box. Some navigation issues still persist despite this, including Lando's approach at the Lady Luck, Luke's walking scene in yavin_temple, 90% of valley, and ns_streets bar scene

- Water in yavin_swamp is busted, due to raven changing the surfaceflags

- ATST in yavin_canyon can be problematic

- Turret section in doom_detention doesn't really work, not really important since it's really irrelevant and largely just for kicks.

Posted

- Animations, you'll need a new skeleton which contains the missing Outcast animations

I doubt I can pull that off, and I've gotten most of the cinematics to work with some crafty camera angles and teleporting through scripts already. It's not perfect but it looks good enough.

 

- Crash upon picking up saber in yavin_trial

 

I kind of bypassed that one by giving the player their saber to start with and then hiding it under the map. If they try to switch to their light saber, your character will just hold out their arm like they've been disarmed. The light saber is then teleported to them when they pick up the saber that spawns on the pedestal. I think this is an effective fix, but is script heavy and I would definitely look into it.

 

- Crash upon gravity shift in doom_shields

 

Not a big issue atm, but I would look into it. I currently have it disabled through the script.

 

 

- waypoint_navgoal_2, waypoint_navgoal_4, waypoint_navhoal_8, waypoint_navgoal_16, and waypoint_navgoal_32 don't exist (hence most of the waypoints being broken). Only difference is the size of the bounding box. Some navigation issues still persist despite this, including Lando's approach at the Lady Luck, Luke's walking scene in yavin_temple, 90% of valley, and ns_streets bar scene

Yes, that is definitely important. It messes with the cutscenes and makes the AI seem dumb. I'm not sure how to go about it, but definitely a big one to fix.

 

- Water in yavin_swamp is busted, due to raven changing the surfaceflags

 

That *could* be fixed by decompiling the maps and some editing. There are some maps made from Raven's originals that were used on MP some time ago (not maps that had their source released), so I don't think I'd feel too bad if I did that. I've currently bypassed the problem on yavin_swamp by moving the player just past the only underwater segment with scripts just after the opening cutscene. I would really like to see this one fixed, but I'm not sure what effect it would have elsewhere if done through the source code or possible legal implications if done through map editing.

 

- ATST in yavin_canyon can be problematic

Not sure what you're talking about there, that was the first mission I had gotten in working order. Other than skating on the water it seems to work fine.

 

- Turret section in doom_detention doesn't really work, not really important since it's really irrelevant and largely just for kicks.

I remember that =), not a big deal to me though. I really screwed up the whole turret section with Lando on ns_starpad, I might redo that.

 

Right now I'm focusing on the fixing the Galak boss fight and mission objectives. I think I know how to fix both, I just need either a copy of the source code I can edit or a new computer. And I think it's time for the second.

 

The problem with VS 6 is it isn't compatible with windows vista, which I should have seen coming. I'm either going to need another computer to do the source editing on or an alternative version of the source compatible with VS 2010. If you know anywhere I can get a modified version for use with newer C++ editors (like what I would imagine would be the very early stages of OJK), that would be great.

 

edit: I found a version modified for use on VS 2012! This means I might need to pay for VS 2012, but hopefully I won't run out of disk space just yet.... I'll see if this works:

 

https://github.com/PJayB/jk3src

Posted

Well, a lot of what you're saying you'll do sounds like really sloppy fixes (tbh) and I really wouldn't go about it like that. I'd try to get the game running under debug and figuring out why the game crashes like that.

Posted

Thing is, like I said, the only legit way to fix most of the problems 1-2 years ago when I started work on this mod was almost always script-heavy. I'm going to focus on issues that can only be fixed through the source code first, before scrapping all my scripts and basically redoing everything. Working through the scripts also minimizes conflicts between academy and outcast when playing from the same set of assets, so it does have its advantages.

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...