Jump to content

SanguineHipster

Members
  • Posts

    25
  • Joined

  • Last visited

Posts posted by SanguineHipster

  1. Yo all,

     

    After a few months of taking a break, I've recently returned to my project of getting the JO campaign to run in JA, without needing to modify the source code, and without modifying the existing campaign or assets.

     

    Aside from a few bugfixes that are preventing progression, my only tasks now are to finish off fixing the cutscene animations, and finish implementing my fix for objectives not appearing in the menu (no need to overwrite JA strings!). Almost every major problem has been solved, and something like 95% of the game is playable.

     

    One of the problems I was having before was getting the JO skeleton and animations to work, which is very important for cutscenes. I've figured out a solution for this, by having dedicated models reference the JO skeleton (jk2anims/JK2anims.gla), and recompiling the maps to use a modified ENT file to spawn in the NPCs that use this model, and renaming the animation names in the JO animation.cfg file so that they'll load in JA. So far so good; this has allowed me to fix quite a few cutscenes.

     

    The problem I'm having is that handbolt models will not work with models using the JO skeleton (they'll don't show up at all), which is essential for some cutscenes, including the classic bartender scene, and I have no idea why. If you switch your player model to say, "protocol", I did notice that weapons attach themselves to the hands even if most animations are broken since they don't exist, so it seems it is possible for handbolt attachments to work for a skeleton that isn't _humanoid...

     

    The other problem I'm having is that I can't get sounds (particularly footsteps) to work with these models. This isn't a huge deal, but does seem weird in some cutscenes such as valley.bsp, where Kyle is walking silently.

     

    Any advice on getting handbolts and sounds to work properly? If I can solve these, then there's very little to stop me from finishing this off and releasing it.

    Archangel35757 likes this
  2. I actually wonder if there's a difference in the file format between the two games that causes this problem.

     

    When using the JK2 skeleton & model in JA the mesh deforms, even though the model loads without giving any errors. Would be great if I can find a solution to that, since it's the only thing standing in my way in fixing the JK2 cutscenes.

  3. Yup. Are you sure that, upon saving anims to gla in dragon, you compile it using glamerge?

     

    I can't merge the JO and JA humanoid files due to the different number of bones, but I might be able to create some dummy animations.

     

    That sounds like it might well be the problem, I'll take a look. And again, thanks very much for the advice. As you can probably tell, I'm making this up as I go along!

  4. Yeah, gave that a shot so that the line was added to the JA _humanoid file and it will not load it at all. Forgetting anything fancy like using a different skeleton/model for a second, the game does not seem to load any animation by that name. Even if it's a perfectly valid animation (I set it to the same as the JA roll for test purposes). Regardless of where the line is... even if it's alphabetized in the file, if that actually matters. And the file with those changes is definitely loading because I swapped a few other JA animations around so I could make sure it was.

     

    Have you guys been able to add brand new animations yourselves, rather than replacing existing ones? It seems that anything I add to the file won't get picked up.

  5. Nope, no cutscene specific folders anywhere; we're pretty much dealing with base JA/JO which has all the cutscene animations in the core _humanoid.gla. All the animations needed are in the JO _humanoid file, which as I said is at least being partially loaded.

     

    Though with some further testing, I suspect it wouldn't work anyway; it looks like the engine handles the skeletons slightly differently. If you use a JK2 model in JA that uses the base _humanoid it gets converted on the fly (as can be seen in the console) and it works fine. Use a different set of animations, even if it's the JK2 one which matches the skeleton/bones just fine and the model deforms. Though it is pretty funny having the eyes move instead of the mouth or arms or something.

  6. Some cutscenes won't work with a hex'd model. It depends if the animations are in the _humanoid.gla or in a seperate .gla that is cutscene specific.

     

    Lord_Newbie is right about keeping _humanoid in the file path. The game demands it. Overwriting the "."s is ok.

     

    The animations I'm after are in the JO _humanoid.gla, and I did have some success following his tip on the file paths (I set them to _humanoid_jk2).

     

    What's really throwing me is the errors I'm getting when I set g_icarusdebug to 1:

     

    Example:

    ERROR: SetAnimUpper: cinematic15_bartender does not have anim BOTH_BARTENDER_IDLE1!

    ERROR: SetAnimLower: cinematic15_bartender does not have anim BOTH_BARTENDER_IDLE1!

     

    The map is spawning the modified JO model, the model loads fine with the modified paths, and the JO humanoid file is loading fine with the modified paths, since when I switch to that model it's overwriting a few animation mods I made to the JA file. But what it refuses to do is load animations that only exist in the _humanoid_jk2 file.

     

    The game can see the files, and I can see the animations are defined in those files. So why is it telling me they don't exist... they do!

  7. You don't have to keep the path length the same. As long as there's some empty data to replace, you don't have to limit yourself with the length. I believe that "_humanJK2" will not work since "_humanoid" must be included in your path.

    Look at my post at the first page with screenshots from Hex Editor. You can replace all/most of the dots that are right beyond the default path to humanoid.

     

    I'll take a look and give it another go in light of this!

     

    JK2 had another skeleton, more bones (except for the left hand tag) so some anims may not work.

    Are you sure that you edited both your modified humanoid and target model?

     

    Yeah, both the JO GLA and model file had the paths changed so they wouldn't conflict with JA, but I'll try again in light of your comments above.

     

    Basically what I'm planning to do is replace the NPCs in the bsp with NPC spawners and use new custom NPCs which make use of the JO skeleton and animations. Since they only appear in cutscenes and are scripted to perform specific animations, I shouldn't have to worry about missing animations which would occur during gameplay.

     

    It will not work unless you interfere in the JA sp code (galak mech does not have his AI / class in JK3).

     

    I took a brief look at the source code and in the comments it looks like they rewrote the code for use with vehicles; I figured out a workaround by changing the NPC class. Not ideal, but it still makes for a reasonably difficult fight.

     

    However, when the model loads I can see that projectiles don't come from the hand, but from the center of the model. I noticed a similar problem when messing around with the humanoid animations where models were being attached to the hands in the wrong place.

     

     

     

     

    Edit: tried editing the paths like above. It did seem to pull in existing JA animations from the file (e.g. the roll animation),  but it wouldn't load JO specific ones.

  8. Back then I imported all the animations with dragon through impframe cmd and compiled them using glamerge and regular jk3 humanoid.

     

    Hex Editing didn't work because I added letters to the humanoid's location instead of replacing the empty data (00 / ..) (what leaded in receiving message that the skeleton is incompatible)

     

    Yeah, I got a similar problem when I tried increasing the path length through hex editing. Keeping the path length the same and modifying it (e.g. _humanoid to _humanJK2) didn't cause any errors, but the animations weren't getting parsed; it found the file and so it would load the model, but wouldn't find animations that did exist in the JO humanoid GLA file.

     

    In my case, I think there are also a few differences between the file format, either with models, GLA files, or both (I'll do some testing later), and they need to be converted to work with JA. Galak_Mech from JO is another example. The model doesn't exist in base JA and paths don't need to be changed due to any conflict, but it still won't load the animations correctly.

     

    Anyway, I'll see what I cam do with dragon. Thanks for the suggestion.

  9. It looks as the attached model has got a specific skeleton and the animations are adapted only for this special kind of the skeleton. I guess I will have to make animations myself. Thanks for the replies guys!

     

    EDIT: Oh I actually found a pretty dumb way how to achieve it...

     

    How'd you get it to work? I've been having similar problems myself when importing JO models and animations.

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

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

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

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

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

  15. How exactly do you change the bytes on the textures?

     

    mrwonko has it right, sorry if that wasn't clear.

     

    Look for those texture names in the bsp, and you'll find the flags shortly thereafter. Change 2 bytes for each map, and enjoy.

     

    I figured I'd mention it because I've seen a few posts about that while looking for answers. And it's a lot easier than trying to decompile the map and recompile it!

    TheWhitePhoenix likes this
  16. As an update, I think I figured out what the problem with the briefings was.

     

    I've been loading the collection of outcast files I've built as a mod, and I've only just found out that it won't load .STR files from PK3s loaded in this way. I just moved a file from the mod directory to the JA base directory, so I guess it's possible that objectives might work in a similar manner. Will test.

     

    Edit: Unfortunately not with objectives. Ah well.

  17.  

    I've taken a look at the briefings - there's a briefings.str where you just enter the desired briefing with the level's filename as the reference, like this:

    REFERENCE           ta_fac_end
    LANG_ENGLISH        "Get yourself out of that facility as fast as possible."

     

    Thanks for the advice. I tested it just now and was able to get it working, so I probably messed up something earlier!

     

    Cheers.

  18. I believe the internal names for the objectives are fixed, so you're limited to replacing existing ones. That's done by editing the objectives.str or whatever its name is and using those names.

     

    As for the briefings - do you mean the loading screen texts? I can't quite remember how, but you can do custom ones.

     

    Thanks for the response.

     

    Yeah, it would make sense if objectives were hardcoded somewhere, because even when adding the JO objectives to the string file it still doesn't pull them in.

     

    And yeah by briefings I mean the loading screen texts. The ones I've tried don't seem to be loading, but I have seen others make their own custom ones.

     

     

    @@eezstreet, didn't you say "playing JO in JA, u mad?" :P

    This seems right up your alley.

     

    Hah, it does feel like a crazy task, but it's surprising what can be worked around.

  19. I've recently been trying my hand at getting JO's SP campaign to work in JA, and have managed to get it mostly working with a find & replace in the scripts and the BSPs, which fixes most of the navigation issues. Aside from a few bugs, and animation issues in cinematics, the game is largely playable.

     

    What I'm really trying to figure out is A) how to get objectives to show up, and B) if it's possible to write mission briefings for JO levels.

     

    I was also wondering about trying to fix Galak's spawning by creating a new NPC and referring to that instead in the BSP files. If I'm correct, that should work without needing to edit the source files, right?

     

     

    Incidentally, if anyone's interested, it's possible to hex edit the water on yavin_swamp.bsp and yavin_canyon.bsp so that you no longer skate along it like ice.

     

    For the textures:

    yavin/swater1_2sided

    yavin/swater_opaque_bottom

     

    change the last few bytes from 40 00 00 01 to 40 00 00 00, and watch as it now works like water.

×
×
  • Create New...