Note: LucasForums Archive Project
The content here was reconstructed by scraping the Wayback Machine in an effort to restore some of what was lost when LF went down. The LucasForums Archive Project claims no ownership over the content or assets that were archived on archive.org.

This project is meant for research purposes only.

regarding KotOR scripts

Page: 1 of 1
 gameunlimited
01-23-2004, 8:58 PM
#1
if bioware doesnt want us to be modding KotOR, then why do they leave the .nss uncompiled scripts to be lying around in the game files? im kinda new to programming, sorry for this stupid question :(
 Kitty Kitty
01-23-2004, 9:07 PM
#2
First, MOST of the scripts actually have no source code available. Anything in the modules is only there in compiled form.

Second... lots of possible reasons.. but if I had to place a bet on it, I'd say simple laziness/lack of time before shoving it out the door. Just look at all the crap they included that has NOTHING to do with KotOR in the first place, or half the code/comments in the source we DO have. ;)

-Kitty
 gameunlimited
01-23-2004, 9:44 PM
#3
hmm, very true, so far ive only been looking at the scripts in the scripts.bif and all of them have the uncompiled verison there along with the compiled ones.

another newb question, is there any way to decompile those scripts (the .ncs files) in modules back to the C language?

oh and sorry, to be such a newb. what does "==" (two equal signs) mean in the scripts? what kind of fucntion is that? :confused: its been quite some time since high school when i learned the language.
 kyrellic
01-23-2004, 9:46 PM
#4
= is an assigning of a value. == is used to test to see if the values to either side are equal to each other.

As for the uncompiled scripts laying around, and the comments, this *is* the aurora engine as used in NWN, with modifications. Some remnants obviously remain.
 Kitty Kitty
01-23-2004, 9:53 PM
#5
Yes. I realize it's an adaptation.

My point was, were I a game designer for a big game company (oh, like Bioware maybe)... I'd clean that crap all up and get rid of it before it went out the door.

There's NO reason to have oodles of files that the game DOES load and require resources for that do absolutely nothing for the game.

Plus I guess when it comes to files and code and such, I tend to be a bit of a neat freak. Just gets on my nerves... But I still think lack of time is a fairly good bet as to why we see some of the mess we do, and very possibly why some of the source was left lying around to begin with.

Check this comment out for a small chuckle:
// 771. YavinHackCloseDoor
// This is an incredibly hacky function to allow the doors to be properly
// closed on Yavin without running into the problems we've had. It is too
// late in development to fix it correctly, so thus we do this. Life is
// hard. You'll get over it
void YavinHackCloseDoor( object oidDoor );

And yes, that's the actual function in the actual script that wound up used in the final version. There's a lot of other little bits and pieces you can find if you dig that suggest things were semi-rushed towards the end too. Like there's a couple scripts that allow you to enable travel to various other planets on the galaxy map. One of 'em (Taris) even has a graphic on the map, and if you go there, you start Taris over again as far as I could tell lol. Others appear as white squares on the galaxy map, and you do NOT wanna step off the Ebon Hawk once you arrive ;)

-Kitty
Page: 1 of 1