It is currently 26 Apr 2024, 19:51
   
Text Size

Modding without Zed files

Moderator: CCGHQ Admins

Modding without Zed files

Postby Xander9009 » 21 Feb 2015, 23:15

So, I have a question for you guys. Since we can replace cards with our cards, we can have just about any card we want as long as we can make it. The problem is that we can't make more cards. Do you guys think it would be possible to mod the game this way without actually opening the zed files? I think we'd need two things for that to work, and of those, I can make at least one of them (though, Riiak, if you have the time and inclination, you'd be WAY better suited to it).

Here's the idea: we have a list of cards that we've made and that exist in the base game. In-game, you make a deck using a specific set of 60 cards (might go with 80 to allow larger decks). This deck would be, say, the first 60 cards when listed alphabetically. You'd have multiple other decks, all with a set of cards that we've all agreed on and all made with unique sets of 60 cards. There are 298 cards, with 74 cards in a deck, that's only 4 decks, unfortunately. Most decks only have 60 cards. For those decks, the 14 extra cards would be replaced with something that removes itself at the beginning of the game. Or they could just be 60 cards.

The first thing we'd need would be a deck builder which will use the list of cards we have access to and export a deck in a standard format. This way, you can make many decks using the cards, all stored separately. When you go to play the game, the second thing we'd need would be used: a tool to replace a given slot/placeholder deck with the deck you tell it use for that slot. Without being able to open the zed files, the next best thing is picking 1-4 decks before actually starting the game.

I already made a card substitution tool which could easily be modified to do this. The other thing would be a deck builder (which would be mostly the same as Riiak's current deck builder) which would export the decks to a simpler format than wads. It COULD use wads, but that would be unnecessary and superfluous.

I know it's not as great as simply adding all the cards we want, but it might be the best solution we're going to get at this point.

The substitution tool I made, for the record, does not change the cards outside of a duel. However, if I remember right, we know how to do that and thus it could be modified to include that feature. Not that modifying a deck in-game would be an option anymore.

Anyone have any thoughts on this? I'm eager to get started on 2015, and this is the only way I can think of to make that happen.
Last edited by Xander9009 on 10 Jun 2015, 20:05, edited 1 time in total.
_______________________________
Community Wad - Community Wad Website - How to Help and Report Bugs
Discord: discord.gg/4AXvHzW
User avatar
Xander9009
Programmer
 
Posts: 2905
Joined: 29 Jun 2013, 07:44
Location: Indiana, United States
Has thanked: 121 times
Been thanked: 445 times

Re: Modding without Zed files

Postby RiiakShiNal » 22 Feb 2015, 02:07

I don't have any inclination to do this, and I definitely don't have the time as I'm struggling trying to find the time to update the Deck Builder for 2014 much less trying to create a new one for 2015 which has only very limited modability at this point.
RiiakShiNal
Programmer
 
Posts: 2185
Joined: 16 May 2011, 21:37
Has thanked: 75 times
Been thanked: 497 times

Re: Modding without Zed files

Postby Xander9009 » 22 Feb 2015, 07:00

I figured you probably wouldn't have the time. But I'm mainly looking for thoughts on whether or not you or anyone else thinks it will/will not work and whether or not anyone would be interested. The main downside is the deck sizes would have to be preset and you'd have to choose which decks to have available in a given session before playing.
_______________________________
Community Wad - Community Wad Website - How to Help and Report Bugs
Discord: discord.gg/4AXvHzW
User avatar
Xander9009
Programmer
 
Posts: 2905
Joined: 29 Jun 2013, 07:44
Location: Indiana, United States
Has thanked: 121 times
Been thanked: 445 times

Re: Modding without Zed files

Postby RiiakShiNal » 22 Feb 2015, 14:37

It might work, but making the utility would likely not be worth the effort in my opinion. Since you would be changing all of the cards you would also have to consider the decks to play against (yes, even AI decks) and as such it would severely limit the amount of time anyone would spend in a single game session as their opponents would be very limited.
RiiakShiNal
Programmer
 
Posts: 2185
Joined: 16 May 2011, 21:37
Has thanked: 75 times
Been thanked: 497 times

Re: Modding without Zed files

Postby Scion of Darkness » 24 Feb 2015, 12:28

You can make it and,i can send some slivers as an example ready for use with some bugs i know but since it was only for myself i didnt care much, the problem as stated above, and you can see for yourself all opponents that use the cards you modded will have them on the decks
Attachments
Content.zip
(3.93 MiB) Downloaded 706 times
User avatar
Scion of Darkness
 
Posts: 235
Joined: 27 Aug 2012, 13:14
Has thanked: 17 times
Been thanked: 23 times

Re: Modding without Zed files

Postby logoliv » 31 Mar 2015, 12:57

Xander9009, i have a question for you : how do you know the MultiverseID associated with a card name is correct ? (or where do you get it ?)

If we could find the list where the application makes the link between a card name and its number in player profile decks, we could add a lot of new cards to the game.
(By the way what is the export version in <CARD_V2 ExportVersion="683"> ?)
User avatar
logoliv
 
Posts: 130
Joined: 26 Jul 2010, 11:15
Has thanked: 4 times
Been thanked: 1 time

Re: Modding without Zed files

Postby Xander9009 » 31 Mar 2015, 13:49

You'll have to wait for Riiak. I know that the game doesn't actually always have the right multiverse IDs. In fact, I'm fairly certain it never does. I have no idea what the game uses the ID for, though. However, even knowing the multiverse IDs, I don't think that would allow us to make any more decks than we already can, though I could easily be wrong.

As for the export version, no clue. Sorry.
_______________________________
Community Wad - Community Wad Website - How to Help and Report Bugs
Discord: discord.gg/4AXvHzW
User avatar
Xander9009
Programmer
 
Posts: 2905
Joined: 29 Jun 2013, 07:44
Location: Indiana, United States
Has thanked: 121 times
Been thanked: 445 times

Re: Modding without Zed files

Postby logoliv » 31 Mar 2015, 14:53

The multiverse ID is at least used to reference a card as it's inside the name of the card (if you reference a card with the wrong ID the game won't find it, for example if you use ELVISH_PIPER_350245.XML instead of ELVISH_PIPER_350244.XML).
The question is : how Sumomole knowed that all IDs in the cards list are the correct ones ?

I've tried to add new cards to see them in the card viewer and it doesn't work for me... I don't know what i'm doing wrong or if adding some content doesn't work with the new Magic 2015 version (after Garruk's Revenge) anymore...

I've just added for example ELVISH_PIPER_350244.XML in Content/CARDS and a file D15_RAVNICA_PLAYER_POOL.XML containing only Elvish Piper in the same folder. No Change in integrated card viewer...
does that works for you with 3DM version ? do i need 3DM_CEG.dll ?
User avatar
logoliv
 
Posts: 130
Joined: 26 Jul 2010, 11:15
Has thanked: 4 times
Been thanked: 1 time

Re: Modding without Zed files

Postby RiiakShiNal » 01 Apr 2015, 01:48

The Multiverse Id is the Id associated with the database Id a given card in a given set for a given language has on Gatherer. This Id can be gathered from the Gatherer web links to cards. For example the link for Bojuka Bog in English for Commander 2014 is http://gatherer.wizards.com/Pages/Card/Details.aspx?multiverseid=389446. As you can see the Multiverse Id for the card is 389446. This is how people (and automated tools) can figure out the Multiverse Id of a given card. Note that each set, language, and even alternate art for a given card will have a different Multiverse Id (look at all the Ids for say Island or Forest). For DotP we generally use the English Multiverse Id for a specific card more as a convention than anything that actually needs to be done (it makes it easier to prevent having a card from 2 different sets with different art from having the same file name). Elvish Piper actually has these Multiverse Ids (from Gatherer): 191317, 200977, 200728, 199483, 199732, 199234, 200230, 199981, 200479, 15241, 129535, 150195, 148877, 149429, 147728, 148111, 149812, 151490, 148494, 150578, 83072, 99954, 97794, 98514, 98154, 99594, 109865, 98874, 99234, 45444, 165137, 165851, 163214, 162857, 165494, 13197, 182882, 184298, and 186195. 350244 is the Multiverse Id used for the official DotP 2014 version of Elvish Piper (though it is not accessible from Gatherer). The only real requirement for the game to find and properly load a card is that the file name (excluding extension) and the FILENAME tag data must be identical and must match what is referenced from a deck.
Elvish Piper | Open
File name: ELVISH_PIPER_350244.XML
Card FILENAME tag: <FILENAME text="ELVISH_PIPER_350244" />
Deck Unlock Entry: <CARD name="ELVISH_PIPER_350244" deckOrderId="54" unlockOrderId="19" quantity="1" />


The Multiverse Ids that DotP has for cards is likely correct (for the DotP "expansion" in the Gatherer/WotC database), but since they are DotP only versions of the cards they have Multiverse Ids that we likely can't access through Gatherer.

DotP (at least 2014 and earlier) does not use Multiverse Ids, they are typically included as part of the file name (and thus in the FILENAME tag). The FILENAME tag is just an arbitrary string and does not actually need the Multiverse Id in it (in fact in several of the previous games the Multiverse Id is not part of the file name).

The export_version is an unknown version which is put into the card files. It could be the version of the card XML for that card or it could be the version of the exporting program they use to generate the card XMLs. We really don't know what version it refers to, but we do know that it is not used by the DotP engine.
RiiakShiNal
Programmer
 
Posts: 2185
Joined: 16 May 2011, 21:37
Has thanked: 75 times
Been thanked: 497 times

Re: Modding without Zed files

Postby logoliv » 01 Apr 2015, 12:25

ok thanks a lot for your crystal clear explanation Riiak :)

I thought that Multiverse IDs were in the form xxxyyy where xxx is the edition number (including langage) and yyy card number in the edition... but it seems that its just a number automatically incremented by WotC for each existing card.

I also thought that the export version would be an excellent candidate to be the card number that we can see in saved decks from player profile... If it were the case we could easily add new cards to the game without even need to decode zed files !
(as I said in my last post here viewtopic.php?f=62&t=14214&start=165)

The problem is i can't see new cards in integrated viewer when i put them in Content/CARDS and when i copy 3DM_CEG.dll in my Magic folder the application doesn't start...

I've just added for example ELVISH_PIPER_350244.XML in Content/CARDS and a file D15_RAVNICA_PLAYER_POOL.XML containing only Elvish Piper in the same folder. No Change in integrated card viewer...
does that works for you with 3DM version ? do i need 3DM_CEG.dll ?
User avatar
logoliv
 
Posts: 130
Joined: 26 Jul 2010, 11:15
Has thanked: 4 times
Been thanked: 1 time

Re: Modding without Zed files

Postby RiiakShiNal » 02 Apr 2015, 01:17

logoliv wrote:ok thanks a lot for your crystal clear explanation Riiak :)

I thought that Multiverse IDs were in the form xxxyyy where xxx is the edition number (including langage) and yyy card number in the edition... but it seems that its just a number automatically incremented by WotC for each existing card.

I also thought that the export version would be an excellent candidate to be the card number that we can see in saved decks from player profile... If it were the case we could easily add new cards to the game without even need to decode zed files !
(as I said in my last post here viewtopic.php?f=62&t=14214&start=165)
Definitely not in the form xxxyyy, it is highly likely that it is an auto-incrementing number field in the database, likely a 32-bit integer (though I don't know whether it is signed or unsigned, I have assumed signed since that would be the most common and would give them up to about 2.147 billion card versions). Though in a database it could fairly easily be upgraded to a 64-bit integer if they ever needed to (changing the code that accesses it would take a while longer, but still doable).

The export_version is definitely not the card number nor is it related to anything regarding modding that I have seen. Multiple different cards can have the exact same export_version number. You can easily see this by looking at export_version numbers in DotP 2014 (there are quite a few cards with export_version="1").

logoliv wrote:The problem is i can't see new cards in integrated viewer when i put them in Content/CARDS and when i copy 3DM_CEG.dll in my Magic folder the application doesn't start...

I've just added for example ELVISH_PIPER_350244.XML in Content/CARDS and a file D15_RAVNICA_PLAYER_POOL.XML containing only Elvish Piper in the same folder. No Change in integrated card viewer...
does that works for you with 3DM version ? do i need 3DM_CEG.dll ?
I don't have a cracked or limited-moddable version of DotP 2015 (I have the Steam version) so I have no idea how to add cards to the game. Hopefully, someone else can offer a more productive answer.
RiiakShiNal
Programmer
 
Posts: 2185
Joined: 16 May 2011, 21:37
Has thanked: 75 times
Been thanked: 497 times

Re: Modding without Zed files

Postby logoliv » 15 Apr 2015, 16:37

I managed to make it work with an old version, now I can see the replaced cards in cards collection (except the card images of course, which must be in a different folder than Art_assets/Illustrations).

I also played a little with Cheat Engine to search an hypothetic file that could make a link between card names and their number (saved in player profile when we create a deck) and found that there's a folder named CardPools inside Content folder. It contains xml files that have the same names as sumomole sent us in cards.zip, but not the same structure.

The main difference is also that they really represent the cards present in the collection. For example, you can create an empty Content/CardPools/D15_INNISTRAD_PLAYER_POOL.XML and you will see that you only have 2 cards left in your Innistrad collection (from D15_INNISTRAD_REWARDS.XML).

I've also found the first level of their structure : <CARD_POOL> </CARD_POOL>. Try anything else and the application will fail to start.
I've good reasons to suppose they effectively contain the list that link the FILENAME and a reference number...
That's all for now. If only I could find a way to debug when the application reads this file and see what keyword it expects to find in the xml...
User avatar
logoliv
 
Posts: 130
Joined: 26 Jul 2010, 11:15
Has thanked: 4 times
Been thanked: 1 time


Return to 2015

Who is online

Users browsing this forum: No registered users and 1 guest


Who is online

In total there is 1 user online :: 0 registered, 0 hidden and 1 guest (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 1 guest

Login Form