The "2000 limit no more" CSV
Discuss Upcoming Releases, Coding New Cards, Etc.
PLEASE DO NOT REPORT BUGS HERE!
PLEASE DO NOT REPORT BUGS HERE!
Moderators: Aswan jaguar, gmzombie, stassy, BAgate, drool66, CCGHQ Admins
Re: The "2000 limit no more" CSV
by Mok » 15 Dec 2011, 17:13
It was always used that way. Check out Damage and following types in card_data_t. All have the card type entry set to 0x80.Gargaroz wrote:And, just as remainder, 0x80 is already taken for "special cards".
Re: The "2000 limit no more" CSV
by foolosopher » 16 Dec 2011, 08:02
Why only 8 types, is a type mapped to a specific bit and not a value? Even if that's the case, couldn't we enum them and add new code to check the type and add effects/functionality? I mean something likeMok wrote:Subtypes is one thing, card types is a different story. card_data_t uses only a byte (so 8 possible types) and that value is used in 100s of places within the code, so it's not easy to move or expand.
if (another value) go to c code and do a switch for the other value etc.
I long for the time where one man could make a difference...
- foolosopher
- Posts: 189
- Joined: 19 May 2010, 20:53
- Location: Greece
- Has thanked: 13 times
- Been thanked: 17 times
Re: The "2000 limit no more" CSV
by Mok » 16 Dec 2011, 09:55
New code is not the problem, finding and changing all uses in the old code will be a major pain.foolosopher wrote:Why only 8 types, is a type mapped to a specific bit and not a value? Even if that's the case, couldn't we enum them and add new code to check the type and add effects/functionality? I mean something likeMok wrote:Subtypes is one thing, card types is a different story. card_data_t uses only a byte (so 8 possible types) and that value is used in 100s of places within the code, so it's not easy to move or expand.
if (another value) go to c code and do a switch for the other value etc.
Re: The "2000 limit no more" CSV
by Gargaroz » 16 Dec 2011, 14:12
Guys, please continue the discussion about improvements of the main engine here:
viewtopic.php?f=56&t=5945
viewtopic.php?f=56&t=5945
----
- Current / medium term task: adjusting the code for making Misdirection and such usable
- Long term task: inserting all the good stuff I left out from the "Golden Years" mod
- Current / medium term task: adjusting the code for making Misdirection and such usable
- Long term task: inserting all the good stuff I left out from the "Golden Years" mod
- Gargaroz
- Programmer
- Posts: 7097
- Joined: 06 Nov 2009, 11:11
- Has thanked: 82 times
- Been thanked: 595 times
Re: The "2000 limit no more" CSV
by Sonic » 17 Dec 2011, 14:12
I need a confirmation as to the value used for 'Artifact Creature' in the 'Card type' field - as the value has been used somewhat inconsistently over the years.
Should it be '1' (Artifact) or '7' (Creature)?
According to the earliest manalink.csv I have - the original cards used '1' (Artifact) - can this be globally applied or will it affect some of the later coding?
@Gargaroz - Will you still be using '44' (Enchant Creature) in the 'Subtype' fields to stop the 'Artifact Creatures' showing up as non-creature artifact in the Deck Builder?
Should it be '1' (Artifact) or '7' (Creature)?
According to the earliest manalink.csv I have - the original cards used '1' (Artifact) - can this be globally applied or will it affect some of the later coding?
@Gargaroz - Will you still be using '44' (Enchant Creature) in the 'Subtype' fields to stop the 'Artifact Creatures' showing up as non-creature artifact in the Deck Builder?
Working On: Life, the Universe, and Everything.
Re: The "2000 limit no more" CSV
by Mok » 17 Dec 2011, 16:16
I believe originally subcode 44 was only "creature" (not "artifact creature" or "enchant creature"). It was indeed used to determine "enchant creature" type spells. Artifact creatures didn't have the special subtype and were checked mostly by their card type in card_data (both artifact and creature bits set), their csv subtype was indeed "artifact". But I have no idea why/how that was changed later.
Re: The "2000 limit no more" CSV
by 0rion79 » 17 Dec 2011, 16:23
Nay. It was me who switched it: it was used by Deckbuilder to filter non-creature artifacts from artifact creatures, only to help the player to better browse among cards.
Sadly, it was interferring with creature types as "golem", since artifact creatures originally didn't have any: it caused artifact creatures of not being affected by cards as Coat of Arms or "lords": placing it in column 2 was useless for some unknown reasons. So I did experiment a while and I saw that there were no side effects in using ID 44 to mark non-creature artifacts.
Sadly, it was interferring with creature types as "golem", since artifact creatures originally didn't have any: it caused artifact creatures of not being affected by cards as Coat of Arms or "lords": placing it in column 2 was useless for some unknown reasons. So I did experiment a while and I saw that there were no side effects in using ID 44 to mark non-creature artifacts.
-

0rion79 - Posts: 1520
- Joined: 24 Feb 2009, 18:33
- Location: Italy
- Has thanked: 94 times
- Been thanked: 61 times
Re: The "2000 limit no more" CSV
by 0rion79 » 17 Dec 2011, 17:01
Ok, here is the Excel file that may be saved in CSV containing all of your improvements (I hope), starting from A.Jaguar's and ending with duplicates removal.
@Gargaroz, I've removed the second duplicate string each time I could find a duplicate. This has caused some slots to become empty and I've named them with "FREE 2 Be CODED" name to preserve original cards allocation. Feel free to use them or to delete them and re-number all cards just by dragging numbers from the top: Excel will do the job.
Some of those slots where originally used by tokens: I've moved all of ours at the end of the list and preserved the ones from Microprose in their original slot.
Also, I've seen that there there are the animated versions of lands and enchantments, but they miss all values and text so I couldn't check if they are adjacent to the original card.
Also, I've checked many times about duplicates but Excel tells me that there are no more: I don't trust se program, so if you may check it would be great.
PS: there is still plenty of cards in the beije list marked as 8th edition, instead than their original printing set.
PS: sorry for double posting!
@Gargaroz, I've removed the second duplicate string each time I could find a duplicate. This has caused some slots to become empty and I've named them with "FREE 2 Be CODED" name to preserve original cards allocation. Feel free to use them or to delete them and re-number all cards just by dragging numbers from the top: Excel will do the job.
Some of those slots where originally used by tokens: I've moved all of ours at the end of the list and preserved the ones from Microprose in their original slot.
Also, I've seen that there there are the animated versions of lands and enchantments, but they miss all values and text so I couldn't check if they are adjacent to the original card.
Also, I've checked many times about duplicates but Excel tells me that there are no more: I don't trust se program, so if you may check it would be great.
PS: there is still plenty of cards in the beije list marked as 8th edition, instead than their original printing set.
PS: sorry for double posting!
- Attachments
-
Manalink.rar- (589.72 KiB) Downloaded 279 times
-

0rion79 - Posts: 1520
- Joined: 24 Feb 2009, 18:33
- Location: Italy
- Has thanked: 94 times
- Been thanked: 61 times
Re: The "2000 limit no more" CSV
by Mok » 17 Dec 2011, 18:08
The engine always treated it like a "creature" subtype. But not all parts of it are the same. Some cards are/were coded better than other. There were simply too many programmers that made the original engine and later expanded it for both expansions. Same for deckbuilder, the data in cards.dat sometimes was insufficient so they used hacks like this (a lot of data wasn't updated for deckbuilder anyway ie. db type and db abilities fields in csv aren't really 'up to date' for many new cards). It doesn't really matter now, let's hope we'll be able to change the subtype mess into something more usable after the game is at least in working merged state.0rion79 wrote:Nay. It was me who switched it: it was used by Deckbuilder to filter non-creature artifacts from artifact creatures, only to help the player to better browse among cards.
Sadly, it was interferring with creature types as "golem", since artifact creatures originally didn't have any: it caused artifact creatures of not being affected by cards as Coat of Arms or "lords": placing it in column 2 was useless for some unknown reasons. So I did experiment a while and I saw that there were no side effects in using ID 44 to mark non-creature artifacts.
Re: The "2000 limit no more" CSV
by Aswan jaguar » 17 Dec 2011, 18:12
Great work Orion79,thanks.
Just a minor thing you removed the poison snake token(and I put it twice
) as there is a snake one?Because there are 2 cards that produce snake tokens, one snake tokens (without poison) but the other specifically puts Poison snake tokens with (poison obviously).
Just a minor thing you removed the poison snake token(and I put it twice
) as there is a snake one?Because there are 2 cards that produce snake tokens, one snake tokens (without poison) but the other specifically puts Poison snake tokens with (poison obviously).---
Trying to squash some bugs and playtesting.
Trying to squash some bugs and playtesting.
-

Aswan jaguar - Super Tester Elite
- Posts: 8142
- Joined: 13 May 2010, 12:17
- Has thanked: 751 times
- Been thanked: 486 times
Re: The "2000 limit no more" CSV
by 0rion79 » 17 Dec 2011, 18:17
Yes, I think I've made them separated: one produces artifact snake tokens, the other just snake tokens... but now I wonder if I've remembered to give them a different name O_o
-

0rion79 - Posts: 1520
- Joined: 24 Feb 2009, 18:33
- Location: Italy
- Has thanked: 94 times
- Been thanked: 61 times
Re: The "2000 limit no more" CSV
by Gargaroz » 18 Dec 2011, 01:52
Orion, plese replace all yours "FREE 2 Be CODED" with "Empty" and convert the xls file to a old-model csv (the one we're using before, without the updated expandion colums) and submit it here, so I could use it for testing.
I won't try to do it myself, I tried and the past and did a mess, so I'll leave this work to the professionals
I won't try to do it myself, I tried and the past and did a mess, so I'll leave this work to the professionals
----
- Current / medium term task: adjusting the code for making Misdirection and such usable
- Long term task: inserting all the good stuff I left out from the "Golden Years" mod
- Current / medium term task: adjusting the code for making Misdirection and such usable
- Long term task: inserting all the good stuff I left out from the "Golden Years" mod
- Gargaroz
- Programmer
- Posts: 7097
- Joined: 06 Nov 2009, 11:11
- Has thanked: 82 times
- Been thanked: 595 times
Re: The "2000 limit no more" CSV
by Sonic » 18 Dec 2011, 05:58
I've found a number of possible issues with the file.
Spelling mistakes and duplicates:
‘Aerathi Berserker’ (556) spelt wrong – rename ‘Ærathi Berserker’
‘Horned Sliver (1383)’ duplicated with ‘Horned Sliver’ (3208)
‘Indestructable Aura (682)’ spelt wrong - duplicated with correctly spelt ‘Indestructible Aura’ (1571)
‘Lim Dull High Guard’ (1407) spelt wrong - duplicated with correctly spelt ‘Lim-Dûl's High Guard’ (1573)
‘Weatherseed Faerie’ (1408) spelt wrong - duplicated with correctly spelt ‘Weatherseed Faeries’ (1574)
‘Kongming, Sleeping Dragon’ (1593) spelt wrong – rename ‘Kongming, “Sleeping Dragon”’
‘Order/ Chaos’ spelt wrong (needs space after ‘Order’) – rename ‘Order // Chaos’
All 'Flip Cards' need to be renamed with ‘//’
Missing Cards:
‘Goblin Lyre’ - Ice Age
‘Mind Whip’ - Ice Age
‘Raging Gorilla’ – Visions
‘Goblin Vandal’ – Weatherlight
‘Lotus Vale’ – Weatherlight
‘Oppression’ - Urza's Saga
‘Vizzerdrix’ - Starter 1999
‘Blessed Wind’ – Prophecy
‘Psychic Battle’- Invasion
‘Quirion Dryad’ – Planeshift
‘Infected Vermin – Odyssey
‘Border Patrol’ – Judgment
‘Goblin Turncoat’ – Legions
‘Dragon Wings’ – Scourge
‘Duskworker’ – Mirrodin
‘Ageless Entity’ – Darksteel
‘Orochi Hatchery’ - Champions of Kamigawa
‘Orochi Leafcaller’ - Champions of Kamigawa
‘Oppressive Will’ - Saviors of Kamigawa
‘Master of Etherium’ - Shards of Alara
‘Windwright Mage’ - Shards of Alara
‘Sign in Blood’ - Magic 2010 (coded)
‘Goblin Tutor’ - Unglued (coded)
‘Maelstrom Wanderer’ (coded)
Possibly more important missing entries
‘Elspeth Emblem’ - (required for ‘Elspeth, Knight-Errant’)
‘Koth Emblem’ - (required for ‘Koth of the Hammer’)
‘Venser Emblem’ - (required for ‘Venser, the Sojourner’)
‘Orochi Eggwatcher’ - Champions of Kamigawa - (required for ‘Shidako, Broodmistress’)
‘Opal Acrolith Animated’ - (required for ‘Opal Acrolith’)
‘Opal Titan Animated’ - (required for ‘Opal Titan’)
‘Lurking Evil Animated’ - (required for ‘Lurking Evil’)
‘Hidden Guerrillas Animated’ (required for ‘Hidden Guerrillas’)
‘CoA Special Effect’ - (required for ‘Chancellor of the Annex’)
‘Evil Twin Effect’ - (required for ‘Evil Twin’)
‘Madness Effect’ - (required for ‘Madness Keyword Ability’)
‘Rain of Filth Effect’ - (required for ‘Rain of Filth’)
‘** Handicap: 3 cards’
‘** Handicap: 4 cards’
‘** Handicap: 5 cards’
‘** Handicap: 6 cards’
‘** Handicap: 7 cards’
‘** Handicap: 8 cards’
‘Worm’ - Token (required for ‘Worm Harvest’)
‘Elemental Shaman’ - Token (required for ‘Hearthcage Giant’, ‘Hostility’, ‘Rebellion of the Flamekin’)
‘Demon’ - Token - (required for ‘Promise of Power’, ‘Skirsdag High Priest’)
‘Hornet’ - Token - (required for ‘Hornet Cannon’)
Not sure on this one - I noticed the original Assembly Worker has been renamed without the '-', does this mean we can include the cast-able 'Assembly-Worker' from Time Spiral?
If we get this all sorted - I can 'inject' my manalink converted 'oracle' file - and the data from the 4600+ or so previously coded cards into the csv.
And if I can actually get an answer to my earlier post - rather than a 'who did what':
Spelling mistakes and duplicates:
‘Aerathi Berserker’ (556) spelt wrong – rename ‘Ærathi Berserker’
‘Horned Sliver (1383)’ duplicated with ‘Horned Sliver’ (3208)
‘Indestructable Aura (682)’ spelt wrong - duplicated with correctly spelt ‘Indestructible Aura’ (1571)
‘Lim Dull High Guard’ (1407) spelt wrong - duplicated with correctly spelt ‘Lim-Dûl's High Guard’ (1573)
‘Weatherseed Faerie’ (1408) spelt wrong - duplicated with correctly spelt ‘Weatherseed Faeries’ (1574)
‘Kongming, Sleeping Dragon’ (1593) spelt wrong – rename ‘Kongming, “Sleeping Dragon”’
‘Order/ Chaos’ spelt wrong (needs space after ‘Order’) – rename ‘Order // Chaos’
All 'Flip Cards' need to be renamed with ‘//’
Missing Cards:
‘Goblin Lyre’ - Ice Age
‘Mind Whip’ - Ice Age
‘Raging Gorilla’ – Visions
‘Goblin Vandal’ – Weatherlight
‘Lotus Vale’ – Weatherlight
‘Oppression’ - Urza's Saga
‘Vizzerdrix’ - Starter 1999
‘Blessed Wind’ – Prophecy
‘Psychic Battle’- Invasion
‘Quirion Dryad’ – Planeshift
‘Infected Vermin – Odyssey
‘Border Patrol’ – Judgment
‘Goblin Turncoat’ – Legions
‘Dragon Wings’ – Scourge
‘Duskworker’ – Mirrodin
‘Ageless Entity’ – Darksteel
‘Orochi Hatchery’ - Champions of Kamigawa
‘Orochi Leafcaller’ - Champions of Kamigawa
‘Oppressive Will’ - Saviors of Kamigawa
‘Master of Etherium’ - Shards of Alara
‘Windwright Mage’ - Shards of Alara
‘Sign in Blood’ - Magic 2010 (coded)
‘Goblin Tutor’ - Unglued (coded)
‘Maelstrom Wanderer’ (coded)
Possibly more important missing entries
‘Elspeth Emblem’ - (required for ‘Elspeth, Knight-Errant’)
‘Koth Emblem’ - (required for ‘Koth of the Hammer’)
‘Venser Emblem’ - (required for ‘Venser, the Sojourner’)
‘Orochi Eggwatcher’ - Champions of Kamigawa - (required for ‘Shidako, Broodmistress’)
‘Opal Acrolith Animated’ - (required for ‘Opal Acrolith’)
‘Opal Titan Animated’ - (required for ‘Opal Titan’)
‘Lurking Evil Animated’ - (required for ‘Lurking Evil’)
‘Hidden Guerrillas Animated’ (required for ‘Hidden Guerrillas’)
‘CoA Special Effect’ - (required for ‘Chancellor of the Annex’)
‘Evil Twin Effect’ - (required for ‘Evil Twin’)
‘Madness Effect’ - (required for ‘Madness Keyword Ability’)
‘Rain of Filth Effect’ - (required for ‘Rain of Filth’)
‘** Handicap: 3 cards’
‘** Handicap: 4 cards’
‘** Handicap: 5 cards’
‘** Handicap: 6 cards’
‘** Handicap: 7 cards’
‘** Handicap: 8 cards’
‘Worm’ - Token (required for ‘Worm Harvest’)
‘Elemental Shaman’ - Token (required for ‘Hearthcage Giant’, ‘Hostility’, ‘Rebellion of the Flamekin’)
‘Demon’ - Token - (required for ‘Promise of Power’, ‘Skirsdag High Priest’)
‘Hornet’ - Token - (required for ‘Hornet Cannon’)
Not sure on this one - I noticed the original Assembly Worker has been renamed without the '-', does this mean we can include the cast-able 'Assembly-Worker' from Time Spiral?
If we get this all sorted - I can 'inject' my manalink converted 'oracle' file - and the data from the 4600+ or so previously coded cards into the csv.
And if I can actually get an answer to my earlier post - rather than a 'who did what':
I need a confirmation as to the value used for 'Artifact Creature' in the 'Card type' field - as the value has been used somewhat inconsistently over the years.
Should it be '1' (Artifact) or '7' (Creature)?
According to the earliest manalink.csv I have - the original cards used '1' (Artifact) - can this be globally applied or will it affect some of the later coding?
@Gargaroz - Will you still be using '44' (Enchant Creature) in the 'Subtype' fields to stop the 'Artifact Creatures' showing up as non-creature artifact in the Deck Builder?
Working On: Life, the Universe, and Everything.
Re: The "2000 limit no more" CSV
by 0rion79 » 18 Dec 2011, 08:38
Thank so much, Sonic!
I've added all the missing cards, including the animated version of Opal and Hidden enchantments from Urza's.
Now, there is the need to re-add the CSV codes stored in the file "To_Be_Re-Added" and, for easy of use, I've already renamed our CSV as "ManalinkCSV": it already hosts all the cards. If you turn it into a dat file, it *SHOULD* work even if most of the cards that we already have are set as uncoded (value 0).
In order to prevent error messages while converting it to DAT, I have had to replace all set names with Astral ID (8h).
@ Sonic, how have you been able to find so many missing cards and duplicates? I mean, also the ones with wrong typing in the name. You have been really helpful!
Also, about CSV, for now leav ID 44 for artifact creatues as it is now. For the other value, if you really have to choose one, then use the oldest tag: "1".
@ Gargaroz, is there nothing that we can do to fill those unused slots? It really didstubrs me
)
Also, can we at least rename the ones that are not really empty with something else, maybe as "game effect: XYZ"?
I've added all the missing cards, including the animated version of Opal and Hidden enchantments from Urza's.
Now, there is the need to re-add the CSV codes stored in the file "To_Be_Re-Added" and, for easy of use, I've already renamed our CSV as "ManalinkCSV": it already hosts all the cards. If you turn it into a dat file, it *SHOULD* work even if most of the cards that we already have are set as uncoded (value 0).
In order to prevent error messages while converting it to DAT, I have had to replace all set names with Astral ID (8h).
@ Sonic, how have you been able to find so many missing cards and duplicates? I mean, also the ones with wrong typing in the name. You have been really helpful!
Also, about CSV, for now leav ID 44 for artifact creatues as it is now. For the other value, if you really have to choose one, then use the oldest tag: "1".
@ Gargaroz, is there nothing that we can do to fill those unused slots? It really didstubrs me
Also, can we at least rename the ones that are not really empty with something else, maybe as "game effect: XYZ"?
- Attachments
-
CSV databases.rar- (1016.11 KiB) Downloaded 263 times
-

0rion79 - Posts: 1520
- Joined: 24 Feb 2009, 18:33
- Location: Italy
- Has thanked: 94 times
- Been thanked: 61 times
Re: The "2000 limit no more" CSV
by Gargaroz » 18 Dec 2011, 15:10
The CSV file cannot be converted to dat : ther should be some errors.
The error message is "ERROR at offset 0x734!", which should be line 1844. I checked and found nothing strange, so I dunno.
The error message is "ERROR at offset 0x734!", which should be line 1844. I checked and found nothing strange, so I dunno.
----
- Current / medium term task: adjusting the code for making Misdirection and such usable
- Long term task: inserting all the good stuff I left out from the "Golden Years" mod
- Current / medium term task: adjusting the code for making Misdirection and such usable
- Long term task: inserting all the good stuff I left out from the "Golden Years" mod
- Gargaroz
- Programmer
- Posts: 7097
- Joined: 06 Nov 2009, 11:11
- Has thanked: 82 times
- Been thanked: 595 times
Who is online
Users browsing this forum: No registered users and 5 guests