Aller au contenu

Photo

Builder To Player Package - Proper Way To Deploy


  • Veuillez vous connecter pour répondre
7 réponses à ce sujet

#1
Challseus

Challseus
  • Members
  • 1 032 messages

Hello all,

So, I'm in the process of creating a builder to player package for a BETA test, and I'm running into some issues with 2 files. Some background...

I need to override the event, EVENT_TYPE_COMMAND_PENDING in the script, ability_core.nss. Due to the nature of this script, the engine fires off the events, so I would need to extend engineevents in events.2da. However, this is not one of the events supported. It's been years (i.e. 3-4), but when developers from Bioware still came to the forums, someone (Craig Welburn?) told me as such. But that's neither here nor there.

 

After many years of avoiding the issue and finishing up the game, I can no longer avoid it. I made the decision that I would simply override Bioware's core script, and be done with it... Except for some weird issue with my toolset, where I cannot check out the file (it has a red dot next to it). Many of their core files are like that, and, well, it's a mess. I ended up following the advice of Proleric (is he still around) and creating my own version of the script, roe_ability_core.nss, doing an export, renaming them to ability_core.nss, then dropping them into packages/core/override/toolsetexport (maybe it should go in override, not toolsetexport?). Here is the original thread from way back when discussing the issue: http://social.biowar...8/index/6094990 This has worked just fine for my own development and testing.

 

Now we come to today, and after building my package, deploying it to my test computer, and running the game, it's not picking up the changes <_<

 

After some messing around, I found that if I explicitly place the files in packages/core/override on the computer where the package is deployed, the game picks it up no problem. And now, I finally get to the point...

 

If that is the only and only true way to get it to work, is this the proper way to deploy? I'm way out of the loop with all things Dragon Age related, especially with this new site and all, so I need the help of the gurus on this one. My main worry is that since I'm overriding a core script, what if someone has another mod that does the same thing? Which one will get precedent over the other? What are the best practices for this?

 

Or is this one of those things where I have to tell downloaders to disable all other mods and clean out their override directory? Nasty business, that...

 

Thanks in advance for any/all help.



#2
DarthParametric

DarthParametric
  • Members
  • 1 409 messages

Packages? Have you tried it in the addin's core/override directory?



#3
Challseus

Challseus
  • Members
  • 1 032 messages

Pretty sure I had tried it there before, but I just tried again, and it didn't work.



#4
Yara C.

Yara C.
  • Members
  • 240 messages
Can't help with the rest. But red dot means that the resource is checked out to another user. My guess would be that the resources are probably checked out to a former Alter Ego. ('Checked out by' whom is listed under the resource properties.)

This can happen if not all resources had been checked in before the database has been restored on a new PC and the environment (comp name, user name) or the default database name has been changed as well. Technically you get a new user identity.

In case it would be worth the effort, you would consider it still as relevant to rebuild the old user identity for whatever reasons - that is or at least should be still easily fixable. Drop a line in case...
  • luna1124 aime ceci

#5
Challseus

Challseus
  • Members
  • 1 032 messages

Yep, I'm the idiot who checked them out, then most likely did a database restore or something. The one script is question, ability_core.nss, was checked out by me at 12/15/2009 3:11:15 PM, according to the properties of it. Since it was late 2009, it must have been when I started doing my initial research into how abilities work, and how to bend them to my will.

 

I've flirted with the idea of restoring the original database, and then somehow merging in all of my work, maybe via a B2B package or something. My main worry is losing the history of all the check ins I've done over the years. I'm sort of anal about it all, as every check in comment is marked with a ticket#, which I can then reference in my bug tracker. This way, I can easily revert files if bug fixes somehow introduce other bugs I find down the road.

 

To be fair, I haven't tried it, mostly because I'm super busy and I thought I had found a solution.

 

All of that said, what would be your suggestion on getting things back to square one, if I indeed need to go that way?

 

Thanks for the help!


  • luna1124 aime ceci

#6
Yara C.

Yara C.
  • Members
  • 240 messages
You are certainly not the first one who has not checked in every resource a step prior to a backup restoration with a new user identity,)

If you consider to change the user identity again....well, I wouldn't worry about loosing changes made during the last years if you want to restore the latest backup. Of course, you would have to check in every resource if you don't want to reverse the access problem as well.

Dependent on what exactly has changed - computer name? user name? name of the default server instance? -all of it? - steps can be different. You may have to run a stored procedure, which would be dependent on the installed MS SQL version. (I have done this under Win 7, SQL 2005.)

As it is in your case obviously not anymore a rather virgin windows installation I would consider a potential impact on other installations. Is the BWDATOOLSET the only SQL instance running? Has the default installation path (drive) changed since? Aspects I didn't had to consider ...changes had been easy and quickly done.

Hmh, my pad is now low on energy. To give you an additional idea, here is a link to an old thread:
http://social.biowar...8/index/8768653

If necessary, we can came back later to this topic.
  • luna1124 aime ceci

#7
Sunjammer

Sunjammer
  • Members
  • 925 messages

While there are a few ways to resolve the "red dot" issue (for example faking the original account by changing your computer name and/or user name; hacking the database to remove the temporary "checked out" version; or hacking the database to change the user that has them checked out) would that actually improve the situation with regards to your B2P package? After all overriding core resources is a dark art that few (if any) of us fully understand.

 

Unfortunately I think the only way to determine the impact is to test it. I suggest creating little test module and cloning another core resource (assuming there are any that aren't checked out) and then assessing it's impact on another baseline module that uses the original version of that resource. Where does the resource end up once installed? Does enabling or disabling your test module affect the baseline module? You can also assess what happens when you override the resource using different directories in the source directory's priority and/or for different module priorities (bigger numbers means lower priority).

 

As for using the override directory that is a pretty common technique with modders these days. From what I've seen the mod manager tools even support it. So if that ends up being your only solution I wouldn't worry about it overly.


  • luna1124 aime ceci

#8
Challseus

Challseus
  • Members
  • 1 032 messages

@ Yara

 

Thanks for the link! Good lord, I had no idea how involved it was. I definitely started modding on my desktop before switching full time to my laptop, so I'm sure things have changed. Either way, good information to know.

 

@ Sunjammer

 

Thanks for your thoughts, creating that test module seems like a good idea. As for the whole override directory thing, good to know that modders (and presumably user of mods) are familiar enough with the concept.

 

Thanks all!


  • luna1124 aime ceci