Aller au contenu

Photo

Creating DAZIP files - what am I missing?


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

#1
Emmental

Emmental
  • Members
  • 37 messages
I have an addon which is a simple change to one core game script. This works fine when placed in an override directory but I would like to have this set up properly as a .dazip file.

I can create the file seemingly OK, but it has no effect on the game when installed. It does appear in the installed content list but doesn't actually work.

I've seen a couple of other threads about .dazips but no solutions have been posted that I can find, so I'm listing exactly what I have done in my case in the hope that someone can spot what's going wrong.

Here are the steps I have performed to create the file.

- Module properties, Extended module: Core Game Resources (also tried Single Player)
- Generated module.xml
- Generated manifest.xml
- Builder to Player package with the following selected:
    * rules_core.ncs (the modified script)
    * Everything under bring_a_friend in the addons section

This results in a .dazip file which installs the following files when installed:

- Dragon Age/AddIns/bring_a_friend/core/data/bring_a_friend_modcore.erf
    * This file contains nothing
- Dragon Age/AddIns/bring_a_friend/module/bring_a_friend.cif
- Dragon Age/AddIns/bring_a_friend/module/data/bring_a_friend_module.erf
    * Contains manifest.xml
- Dragon Age/packages/core/data/bring_a_friend_package.erf
    * Contains rules_core.ncs

After exiting the toolset I have cleared out the toolset-created files from packages/core/override/toolsetexport and module's folder in addins before installing the .dazip.

I must be missing something. Is the game not seeing the .erf with rules_core.ncs in it or can core scripts not be overridden in this way?

Modifié par Emmental, 15 décembre 2009 - 11:45 .


#2
DarkJin83

DarkJin83
  • Members
  • 37 messages
rules_core.ncs?

shouldn't it be .nss?

and did you export everything and select it?  what exactly is in your addins directory if you only modified one thing?

Modifié par DarkJin83, 15 décembre 2009 - 11:48 .


#3
Emmental

Emmental
  • Members
  • 37 messages
The .nss is the source code, .ncs is the compiled script. If I put rules_core.ncs in the override folder manually, everything works as expected.

Modifié par Emmental, 15 décembre 2009 - 11:55 .


#4
DarkJin83

DarkJin83
  • Members
  • 37 messages
Hmm.. I don't know. For all my stuff I always export the source code, and during the export of the script if it compiles successfully, the toolset creates an .ncs file and places it in the directory along with the .nss.

#5
Emmental

Emmental
  • Members
  • 37 messages
Are you talking about right-clicking on resources and exporting them? Or are you talking about using the "builder to player" tool and checking boxes beside things? I'm using builder to player.

As for what's the in the addins folder, that's just a bunch of empty folders that the toolset created when I created the module. I'm sort of guessing my way through it and just assumed I needed to create a module for it since it has to have something to install in the installed content list. After installing the .dazip it contains the above files.

I'll try it again with both the .ncs and .nss for the script and see if that works.

Edit: The .erf file now contains both the .ncs and .nss but it still doesn't work in-game.

Modifié par Emmental, 16 décembre 2009 - 12:01 .


#6
DarkJin83

DarkJin83
  • Members
  • 37 messages
You realize that the builder to player package takes the exported files, right?

#7
anakin5

anakin5
  • Members
  • 258 messages
You just need to include the modified .ncs file.

then, I think you will have a conflict if you try to install your own dazip over the toolset project.
To properly delete a project from the toolset, you need to delete it in the toolset database.

What I do if I were you :
1) Reset toolset database : See http://social.biowar...kup_and_restore
2) Delete files created by the toolset (you did it)
3) Install dazip
4) Check your mod appear in downloadable content
5) Should be ok

2nd solution
1) Install the dazip on an other computer with DAO.

3rd solution
1) Do not test your own dazip files

Modifié par anakin5, 16 décembre 2009 - 12:10 .


#8
Emmental

Emmental
  • Members
  • 37 messages

DarkJin83 wrote...

You realize that the builder to player package takes the exported files, right?


Yeah, I know what you're saying, but with the scripts I don't seem to have to do an export as each time I compile it puts the files in the override/toolsetexport folder anyway, which is where builder-to-player picks them up from. At least this is happening for core scripts, I can't speak for newly created scripts.

Anyway, I think I've worked out why it's not working, and I think it's because I'm trying to override an existing resource.

The file bring_a_friend_package.erf contains my updated rules_core.ncs after the builder-to-player process. So this has correctly picked up my changes. What I've just done is test this using only bring_a_friend_package.erf and nothing else and tried it in different folders, ignoring all of the other files created in the .dazip:

ERF file placed in packages/core/data (where the .dazip puts it)
As expected, nothing is changed in-game.

ERF file placed in packages/core/override

Everything works as intended.

So my conclusion here is that if you are overriding an existing resource, the files must be placed in an override folder, not in a core data folder. Newly created content will probably be fine in a core data folder since it's not trying to override anything, but anything overriding will not.

And the conclusion of my conclusion is that builder-to-player cannot be used (as it is at the moment) to create content overrides since it puts the files in the wrong place.


Edit: I've further confirmed this by unzipping the created .dazip, renaming the contents/packages/core/data folder to contents/packages/core/override and re-zipping it. This causes bring_a_friend_package.erf to be installed in the correct place (override instead of data) and everything works fine.

The only problem with this (and probably with all overrides) is that disabling the addon from within the game has no effect since the .erf is still in the override folder and therefore still overriding. I'm not exactly sure what disabling is supposed to do for normal (non-override) content since I'm assuming it wouldn't remove core/data files either, but that's a question for another day. Thanks for the input.

Modifié par Emmental, 16 décembre 2009 - 12:38 .


#9
anakin5

anakin5
  • Members
  • 258 messages
Overriding core ressources with dazip works.

#10
Emmental

Emmental
  • Members
  • 37 messages

anakin5 wrote...

Overriding core ressources with dazip works.


I've just added an edit to my post above. The only way I could get it to override was to modify the .dazip structure to put the files in override instead of data. Have you successfully done it with a script? maybe it's just scripts.

Is there something I need to do in the toolset to tell it to put the files in override and not in data?

Modifié par Emmental, 16 décembre 2009 - 12:40 .


#11
anakin5

anakin5
  • Members
  • 258 messages
No, I did it with rules_core. The file is in packages\\core\\data.


#12
Sensorie

Sensorie
  • Members
  • 404 messages
Check the properties of your rules_core.nss file; is the Module property set to Core Game Resources?

#13
anakin5

anakin5
  • Members
  • 258 messages
**nothing**

Modifié par anakin5, 16 décembre 2009 - 12:42 .


#14
Emmental

Emmental
  • Members
  • 37 messages

anakin5 wrote...

No, I did it with rules_core. The file is in packages\\\\core\\\\data.


Hmm, that's really a mystery then. Did you do similar steps to me in builder-to-player? Did I miss anything?

Also, did you clear out your packages/core/override/toolsetexport folder before testing? If you didn't then the game is picking up the rules_core.ncs file from there as it's in an override folder, not from the .erf in core/data.

#15
Emmental

Emmental
  • Members
  • 37 messages

anakin5 wrote...

Why did you unzip the dazip file to install it ?


I didn't do that to install it. I did that to change it so the files were in the new structure. After doing that I put it all back into the .dazip to install it.

#16
tmp7704

tmp7704
  • Members
  • 11 156 messages

Emmental wrote...

Is there something I need to do in the toolset to tell it to put the files in override and not in data?

Couldn't really get it to work with a compiled script either. The author of DAModder, third party replacement for the mod installer ( http://dragonagemodd...s.com/damodder/ ) claims the DAUpdater simply can't handle placing things in core/override. Don't know if that's correct but it'd be one explanation why it doesn't work.

#17
anakin5

anakin5
  • Members
  • 258 messages
As Sensory said, you don't have to change rules_core file properties. Let it like it is when you right-click / open local copy.

Make your changes, save it, compile it.

In your module properties, Extended module: Single Player



Clear all content in packages\\core\\override\\toolsetexport except rules_core.ncs

Export to Player package

#18
anakin5

anakin5
  • Members
  • 258 messages
My mod was overriding rules_core from v1.0 to v2.0. And I didn't touch how the toolset is creating the dazip file. I didn't touch the dazip file.

#19
Emmental

Emmental
  • Members
  • 37 messages

Sensory wrote...

Check the properties of your rules_core.nss file; is the Module property set to Core Game Resources?


Yes it is. Should I change that to my module? Will doing that break core?

#20
tmp7704

tmp7704
  • Members
  • 11 156 messages

anakin5 wrote...

As Sensory said, you don't have to change rules_core file properties. Let it like it is when you right-click / open local copy.
Make your changes, save it, compile it.
In your module properties, Extended module: Single Player

Clear all content in packages\\\\\\\\core\\\\\\\\override\\\\\\\\toolsetexport except rules_core.ncs
Export to Player package

This was one of the things i've tried. It didn't appear to work -- after creating the .dazip file, clearing the /toolsetexport and installing .dazip the game would no longer use modified version of the script instead reverting to the default version.

Modifié par tmp7704, 16 décembre 2009 - 12:51 .


#21
Emmental

Emmental
  • Members
  • 37 messages

anakin5 wrote...

As Sensory said, you don't have to change rules_core file properties. Let it like it is when you right-click / open local copy.
Make your changes, save it, compile it.
In your module properties, Extended module: Single Player

Clear all content in packages\\\\core\\\\override\\\\toolsetexport except rules_core.ncs
Export to Player package


Does your core_rules.ncs still exist in your packages/core/override/toolsetexport folder? If it does then that is what's being picked up by the game, not the one from the .erf in your .dazip.

That was the one created when you compiled the script (or exported). If you remove that temporary file you may find you have the same problem as me (the .erf being in data instead of override).

#22
Emmental

Emmental
  • Members
  • 37 messages

tmp7704 wrote...

Couldn't really get it to work with a compiled script either. The author of DAModder, third party replacement for the mod installer ( http://dragonagemodd...s.com/damodder/ ) claims the DAUpdater simply can't handle placing things in core/override. Don't know if that's correct but it'd be one explanation why it doesn't work.


The problem isn't that it can't put things there (it can, since it does after I modify the dazip). The problem seems to be that the dazip isn't telling it to put anything in core/override, it's telling it to put them in core/data.

If I change the directory structure inthe dazip to point to core/override instead then DAModder installs it fine.

#23
Emmental

Emmental
  • Members
  • 37 messages
(removed - forum re-quoted my above post)

Modifié par Emmental, 16 décembre 2009 - 12:58 .


#24
anakin5

anakin5
  • Members
  • 258 messages
A I said in my first post, you may have bugs trying to install your own dazip over your toolset modules.

Toolset module are located in override folders while dazip are located in data. If you try to install a dazip file which talk about a module that is already in your database, it will (may be) not relplace the existing entry in your database.
So it will install files in data folders while your database is trying to find files in override foldes.

Modifié par anakin5, 16 décembre 2009 - 01:00 .


#25
Emmental

Emmental
  • Members
  • 37 messages

anakin5 wrote...

A I said in my first post, you may have bugs trying to install your own dazip over your toolset modules.


I'm removing all toolset-created files after exiting the toolset so I'm not installing it over anything already there.