Serious flaw with the packaging algorithm for BSA creation

Post » Mon Jun 18, 2012 11:47 pm

In short: Custom scripts that extend other custom scripts are not packaged correctly.

Example:

scriptname Account extends ObjectReference
scriptname BankAccount extends Account

No objects with Account are used as forms in my game: it is a base class, but it is essential.

However, the packager that comes with the CK does not consider Account.pex to be used. Leaving it out obviously causes major problems.

Please get this fixed.
User avatar
Smokey
 
Posts: 3378
Joined: Mon May 07, 2007 11:35 pm

Post » Mon Jun 18, 2012 12:00 pm

This is probably because it's not used in your data files, I expect. Have you tried creating a dummy form that has it attached but isn't used elsewhere?

I assume you've tried dragging the file manually into the archive already, right?

Cipscis
User avatar
Chrissie Pillinger
 
Posts: 3464
Joined: Fri Jun 16, 2006 3:26 am

Post » Mon Jun 18, 2012 9:51 am

Yes, that fixed things obviously. I'm fairly sure that the CK should BY DEFAULT detect this though. Why it doesn't, I don't know.

That wasted a few hours... it's not an obvious bug also, because while the mod work for you (because of the presence of the Scripts folder), it doesn't work for anyone else.

Will write something on the CK wiki about this until they fix this bug.
User avatar
Isabell Hoffmann
 
Posts: 3463
Joined: Wed Apr 18, 2007 11:34 pm

Post » Mon Jun 18, 2012 11:45 am

It's not quite that easy a question, though. If your script isn't used in the data file, how should the Creation Kit know to put it in the archive? It certainly shouldn't just include all compiled scripts, obviously.

Cipscis
User avatar
Samantha Pattison
 
Posts: 3407
Joined: Sat Oct 28, 2006 8:19 pm

Post » Mon Jun 18, 2012 9:53 pm

It's not quite that easy a question, though. If your script isn't used in the data file, how should the Creation Kit know to put it in the archive? It certainly shouldn't just include all compiled scripts, obviously.

Cipscis
Parse through all scripts used in the data file and add all scripts that are called/used (recursively)? Not sure how feasible it would be though - or how slow - but that would seem like the logical solution.
User avatar
Lloyd Muldowney
 
Posts: 3497
Joined: Wed May 23, 2007 2:08 pm

Post » Mon Jun 18, 2012 10:31 am

It's not quite that easy a question, though. If your script isn't used in the data file, how should the Creation Kit know to put it in the archive? It certainly shouldn't just include all compiled scripts, obviously.

Cipscis

Since Papyrus obviously compiled the child script successfully (which uses methods from the parent script), it means that the game has to recognize that the parent script was in fact used. Or does Papyrus compilation have nothing to do with how the BSA selector makes its choices. Don't know hex but there's obviously a reference to the parent script somewhere in the child, right.

I will use the dummy object approach though. Thanks.
User avatar
jessica breen
 
Posts: 3524
Joined: Thu Aug 03, 2006 1:04 am

Post » Mon Jun 18, 2012 6:36 pm

Or does Papyrus compilation have nothing to do with how the BSA selector makes its choices.
I think that's the case. I already know that the Papyrus compiler doesn't look inside any data files, and I don't think it would be such a leap to assume that the archiving utility only looks inside the plugin file, and doesn't check through the content of compiled scripts.

That's just a guess, though.

Cipscis
User avatar
Beth Belcher
 
Posts: 3393
Joined: Tue Jun 13, 2006 1:39 pm


Return to V - Skyrim