It is currently 26 Apr 2024, 21:35
   
Text Size

Unlocks

Moderator: CCGHQ Admins

Unlocks

Postby BlindWillow » 27 Oct 2012, 04:40

I think we're back in business with unlocks. At least, I'm able to save unlocks on my decks (and I definitely have more than 18 decks).

You just need to use DATA_DLC_0001 as a model. I've changed my mod over to being called DATA_DLC_1138. It uses the following two directory structures now (starting from the base DATA_DLC_1138 directory that I pack into a wad file):

DATA_DLC_1138/DATA_DLC_1138/DATA_ALL_PLATFORMS (where all your decks, art, text and one APPINFOFILE_DEFAULT file go)
DATA_DLC_1138/DATA_DLC_1138/DATA_PC (where the other APPINFOFILE_DEFAULT file goes)

The header files have to be changed to match those in DATA_DLC_0001. They're identical, so you just need to copy over the contents of one after you change it. Here's what mine looks like:

Code: Select all
<?xml version="1.0"?>

<header>
   <WAD_HEADER>
      <ENTRY platform="ALL" source="DATA_DLC_1138/DATA_ALL_PLATFORMS/" alias="Content" order="5"/>
      <ENTRY platform="PC" source="DATA_DLC_1138/DATA_PC/" alias="Content" order="6"/>
      <ENTRY platform="X360" source="DATA_DLC_1138/DATA_X360/" alias="Content" order="6"/>
      <ENTRY platform="PS3" source="DATA_DLC_1138/DATA_PS3/" alias="Content" order="6"/>
      <ENTRY platform="IPAD" source="DATA_DLC_1138/DATA_IPAD/" alias="Content" order="6"/>
   </WAD_HEADER>

   <ContentPack UID="1138">
      <LocalisedName>
         <English string="BlindWillow's Expansion"/>
         <French string="BlindWillow's Expansion"/>
         <Italian string="BlindWillow's Expansion"/>
         <German string="BlindWillow's Expansion"/>
         <Spanish string="BlindWillow's Expansion"/>
         <Japanese string="BlindWillow's Expansion"/>
      </LocalisedName>
         
      <ContentFlags>
         <Deck_Content/>
         <Unlock_Content/>
      </ContentFlags>

      <PD_Section>
         <Offering_ID id="5"/>
         <Content_Catagories catagoires="0x0050000"/>
         <License_Bits bits="0"/>
         <App_ID id="11380"/>
         <Can_Matchmake/>
         <Package_ID id="1138"/>
      </PD_Section>
   </ContentPack>
</header>
Notice I included the Unlock_Content tag in the ContentFlags section. The App_ID can be whatever you want, of course, just make sure it matches the APPINFOFILE_DEFAULT file in your DATA_ALL_PLATFORMS directory (not the one in DATA_PC). Also, make sure ContentPack UID matches Package_ID.

The APPINFOFILE_DEFAULT file in DATA_ALL_PLATFORMS should just look like a shorter version of the header files. This is mine:

Code: Select all
<?xml version="1.0"?>

<ContentPack UID="1138">
   <LocalisedName>
      <English string="BlindWillow's Expansion"/>
      <French string="BlindWillow's Expansion"/>
      <Italian string="BlindWillow's Expansion"/>
      <German string="BlindWillow's Expansion"/>
      <Spanish string="BlindWillow's Expansion"/>
      <Japanese string="BlindWillow's Expansion"/>
   </LocalisedName>
      
   <ContentFlags>
      <Deck_Content/>
      <Unlock_Content/>
   </ContentFlags>

   <PD_Section>
      <Offering_ID id="5"/>
      <Content_Catagories catagoires="0x0050000"/>
      <License_Bits bits="0"/>
      <App_ID id="11380"/>
      <Can_Matchmake/>
      <Package_ID id="1138"/>
   </PD_Section>

</ContentPack>
Finally, the APPINFO_DEFAULT file in the DATA_PC folder should look like this:

Code: Select all
<?xml version="1.0"?>
<ApplicationInfo Revision="1.01000">
   <DataPaths>
      <DataPath Priority="1000">Data_DLC_1138/Data_PC</DataPath>
      <DataPath Priority="1002">Data_DLC_1138/Data_All_Platforms</DataPath>
      <DataPath Priority="1003">Data_DLC_1138</DataPath>
   </DataPaths>
   <TexturePaths />
   <MaterialPaths />
</ApplicationInfo>
I've attached a sample directory structure which uses the id number 9999.
Attachments
example_directory.zip
(5.09 KiB) Downloaded 260 times
BlindWillow
 
Posts: 213
Joined: 19 Jul 2012, 00:26
Has thanked: 11 times
Been thanked: 46 times

Re: Unlocks

Postby thefiremind » 27 Oct 2012, 09:40

I'll experiment with this information as soon as I can. If it works for everyone it will be the biggest step forward we could ever make in DotP2013 modding. Thanks a lot!

EDIT: I transformed my Deck_1999_Core in DATA_DLC_1999 following your instructions, then I added an APPID_LINKING with all my decks inside it. My decks are still in separate WAD files this way. Here's what happens:
  • The game remembers which is the last deck I used/edited (it didn't remember that before, when the last wasn't a saved deck).
  • The game remembers the deck editing only for the first 5 decks of my APPID_LINKING list.
Now I wonder what would happen if I make a DATA_DLC WAD each containing an APPID_LINKING for a group of 5 custom decks...

EDIT 2: No way, if I make a separate WAD with the APPID_LINKING for the custom decks from the 6th, nothing changes.
BlindWillow, how many custom decks you tried to save? Are you keeping your decks inside your DATA_DLC WAD or in separate WADs? Can you save editing for custom decks made by other people?
< Former DotP 2012/2013/2014 modder >
Currently busy with life...
User avatar
thefiremind
Programmer
 
Posts: 3515
Joined: 07 Nov 2011, 10:55
Has thanked: 118 times
Been thanked: 721 times

Re: Unlocks

Postby BlindWillow » 27 Oct 2012, 15:21

My decks are all inside the one wad file. However, I didn't go above five custom saves (actually, I think five was exactly the number I stopped with). So if that is a limit of some kind, then I will have to keep exploring the settings. I will keep working on this. Meanwhile, I would try putting all of your decks into one wad file. Hopefully, that is the source of the five deck limitation.
BlindWillow
 
Posts: 213
Joined: 19 Jul 2012, 00:26
Has thanked: 11 times
Been thanked: 46 times

Re: Unlocks

Postby BlindWillow » 28 Oct 2012, 00:32

Do you ever feel like the Stainless programmers are deliberately trying to make it difficult for modders?

Anyway, no luck so far. Nothing above five saves. Interestingly, you can now specify your own content pack id in your decks and unlocks. Maybe there's something to that. Will keep exploring...
BlindWillow
 
Posts: 213
Joined: 19 Jul 2012, 00:26
Has thanked: 11 times
Been thanked: 46 times

Re: Unlocks

Postby BlindWillow » 28 Oct 2012, 06:42

Making progress. Converted thefiremind's decks into a single dlc and was able to save the configuration for all of the decks in it.

To do that I renumbered everything. I gave the decks four-digit uid numbers and five-digit unlock/foil ids in the dlc's respective appid_linking files and then made sure unlocks, promos and land pools had consecutively numbered ids. So renumbering may have a role to play too. Still can't get the appid_linking files not to override, though, as the unlocks for my decks now won't save. So the investigation continues...
BlindWillow
 
Posts: 213
Joined: 19 Jul 2012, 00:26
Has thanked: 11 times
Been thanked: 46 times

Re: Unlocks

Postby BlindWillow » 28 Oct 2012, 20:42

Still no luck. To be honest, I really don't understand why this problem even exists. What's the point of limiting how many customizations save? How does that help the programmers in any way?

I'll keep working on this in the background. If anyone learns anything about header files, appinfo files or appid_linking files, let me know and I'll incorporate that information into my experimentation.
BlindWillow
 
Posts: 213
Joined: 19 Jul 2012, 00:26
Has thanked: 11 times
Been thanked: 46 times

Re: Unlocks

Postby RiiakShiNal » 28 Oct 2012, 23:22

I saw that renumbering decks could affect which ones were saved when I was doing my early experiments on saving deck configurations though I never could figure out what the exact method the game used was. In general is seems that decks with lower uids get saved though that is not always the case as the default decks often would get replaced by custom decks in my tests where I would create new profiles with different combinations of mods loaded. Though in every combination there was always the same limit to the number even if the decks picked were different.

As for why developers would limit how many can be saved, there are multiple possibilities though the one that stands out the most for me is that some platforms place a limit on how much save data can be stored. Since DotP 2013 is available on PC, XBox 360, PlayStation 3, and I-Pad it is possible that one of the consoles or the I-Pad has some kind of save data limit (though I doubt they have a limit set that low). Another possibility as to why they did it is to simplify profile reading and writing fixed size blocks are easier to code for than variable size blocks.
RiiakShiNal
Programmer
 
Posts: 2185
Joined: 16 May 2011, 21:37
Has thanked: 75 times
Been thanked: 497 times

Re: Unlocks

Postby BlindWillow » 29 Oct 2012, 00:59

Then my question is: why 18? There are 10 base game decks with unlocks, five expansion decks, and (if the default appid_linking file is any indication) another six decks to come in future expansions. None of those numbers add up to 18. In fact, it looks like that number is going to have to change with the release of another expansion.

I feel like if we could zero on why 18 is the limit, we might be able to figure out how to get around it.
BlindWillow
 
Posts: 213
Joined: 19 Jul 2012, 00:26
Has thanked: 11 times
Been thanked: 46 times

Re: Unlocks

Postby RiiakShiNal » 30 Oct 2012, 03:33

BlindWillow wrote:I feel like if we could zero on why 18 is the limit, we might be able to figure out how to get around it.
18 is the limit because that is what they hard-coded the limit to be (along with the hard-coded profile size). So unless we start patching the executable ourselves we are not going to "get around" this limit.

The way I see it we have three options when dealing with the limit:
  1. We live with it and hope WotC changes it.
  2. We patch the executable (will likely require assembly experience to make the patch).
  3. We come up with some way to control which decks are saved to the profile (this is the option I'm working on).
RiiakShiNal
Programmer
 
Posts: 2185
Joined: 16 May 2011, 21:37
Has thanked: 75 times
Been thanked: 497 times


Return to Programming Talk

Who is online

Users browsing this forum: No registered users and 30 guests


Who is online

In total there are 30 users online :: 0 registered, 0 hidden and 30 guests (based on users active over the past 10 minutes)
Most users ever online was 4143 on 23 Jan 2024, 08:21

Users browsing this forum: No registered users and 30 guests

Login Form