You can change the set and art# for a card in a decklist by adding the set and art# columns to the decklist pane. Right click the table header in the pane.
For collectors, you can set how many of a specific card you own by adding the owned qty column to the cards pane. There is a setting to only show owned cards, for building decks only with cards you own. There is also a setting to show only unique cards, or to show a card for each set and art#.
I encourage the community to learn how to update the card database for my programs. There is a tool included with the card generator that does it. http://slightlymagic.net/cardgen.shtml
Look in /misc/import/...
Download GoblinHero's latest masterbase here... http://www.slightlymagic.net/base.shtml
Rename Master.mwBase to: Master.cds
Run cdsExplorer.bat (not cdsExplorer.exe), click new, click open and choose the Master.cds.
Right click a cell, select all, right click a cell, save selection as, save as CSV.
Run mws2cards.bat with the CSV.
If you make a tool that can update the card database based on the gatherer, that would be awesome too.
Aoz, what is a set toggle function?
All the other requested features everyone mentioned sound good.
Here is v2.9.3... http://www.mediafire.com/?2n2yewct3di
This fixes a major bug with the card search. New are rarity buttons (thanks Dave), a multicolor button, and the unique/owned menu items were made buttons. Plus other various improvements.
Here is v2.9... http://www.mediafire.com/?8sunywb32jw
Some bug fixes, better support for 10k+ card decklists (might take 10-30 seconds to add 14k cards to an already large decklist, but it no longer hangs forever). Thanks for the testing! Let's make sure this thing is stable.
Thanks jendave. This adds a fourth row of buttons? To avoid taking up vertical space, we could put it to the right of the title, text, type buttons (right aligned). Currently there is some logic to the button rows, first is color, second is type, third is text search fields. Then again, there is some wasted space in the third row. I'm not sure if I like this better as buttons or as a text based search, ie "rarity=r". How common is the usage of this for searches? The times I've needed it I have sorted by rarity and scrolled.
Here is v2.7 which adds some new stuff. http://www.mediafire.com/?bsbj1rnebcq
Moved menus around, fixed some bugs, added "add to existing decklist" in right click menu, added "auto order" button to deck section, added pricing info to right click menu. This will be the newest version for a while. Please test and once it is stable I'll put it on slightlymagic.net. Thanks!
Here is the MTGVault plugin v0.4 that fixes a problem with sets... http://www.mediafire.com/?8d3n2lew1z9
Still no saving to MTGVault. I have again contacted Gary about it.
jendave, BTW, the fix was to call initCause on the IOException.
All the new features mentioned before, source is in the zips, some performance improvements, and support for languages other than English. French is included. Install plugins by unzipping into the root deck builder directory.
jendave, as I am associated with the card generator project, I'm afraid I don't want to come out of the shadows. Just go ahead and post patches and I'll integrate them into the official releases.
I'd like to keep the generics as they are. All the pointy brackets really bug me! When 1.5 first came out I was anal about getting rid of the warnings, but after enough time I came around.
Couldn't you just resize the card area all the way to the right?
I was playing around and realized a few things I did in the code were very stupid. I've improved the card searches from about 0.4 second to as low as 0.15 second. I've also added some new features! I added a collector number column and a price column. By default the price is not populated, the idea being that a plugin populates that information. There is a new MagicTraders plugin that downloads pricing from thier website. Further, the source will now always be included along with the main download.
Sorry I implemented your ideas jendave. I started looking at you would implement the collector number, if I saw any gotchas I was going to post them. Instead, I found that I had some crazy map that duplicated data stored in a table. I refactored it heavily, removing the map. Then I realized that if I denormalized the data in the card and sets tables, I could get rid of the sets table entirely, which means one less join in the card search query... in the end I removed two of the three card data tables and greatly simplified the picture and collector number mechanisms! I was on a roll, so I lifted some code from the card generator for pricing. The card generator has a tool that allows you to drop a decklist on it and it tells you how much the deck would cost IRL.
Some easy stuff that I may try just to dip my toe in the developement waters is add GPL headers to all the files and get rid of some of the warnings generated when compiling.
There are no important warnings when compiling. Set your compiler
to ignore the generics warnings. These are retarded. Eg, take this code...
[php]
Map<String, Integer> = new HashMap();
Map<String, Integer> = new HashMap<String, Integer>();[/php]Both lines compile to the same byte code. Both lines are just as safe. The first line generates a warning by default. IMO, this is stupid. I don't need to type all the extra pointy brackets, thanks.
Sun went crazy with generics. Yes, if you have zero warnings than it is impossible to get a ClassCastException. However, this solves a problem that really wasn't much of a problem in the first place. I choose to turn off the generics warnings and use generics to have typed collections and a couple other convenient things, but I just don't think it is worth the effort to go generics crazy. Plus it makes my eyes bleed.
Anyway, your list of features sounds pretty good. I doubt you'll ever get this running on a phone though since it loads the card database in-memory. If you thought it loaded slow on your desktop PC...
You can change the set and art# for a card in a decklist by adding the set and art# columns to the decklist pane. Right click the table header in the pane.
For collectors, you can set how many of a specific card you own by adding the owned qty column to the cards pane. There is a setting to only show owned cards, for building decks only with cards you own. There is also a setting to show only unique cards, or to show a card for each set and art#.
I encourage the community to learn how to update the card database for my programs. There is a tool included with the card generator that does it.
http://slightlymagic.net/cardgen.shtml
Look in /misc/import/...
If you make a tool that can update the card database based on the gatherer, that would be awesome too.
Aoz, what is a set toggle function?
All the other requested features everyone mentioned sound good.
I used launch4j.
http://www.mediafire.com/?2n2yewct3di
This fixes a major bug with the card search. New are rarity buttons (thanks Dave), a multicolor button, and the unique/owned menu items were made buttons. Plus other various improvements.
http://www.mediafire.com/?8sunywb32jw
Some bug fixes, better support for 10k+ card decklists (might take 10-30 seconds to add 14k cards to an already large decklist, but it no longer hangs forever). Thanks for the testing! Let's make sure this thing is stable.
Thanks jendave. This adds a fourth row of buttons? To avoid taking up vertical space, we could put it to the right of the title, text, type buttons (right aligned). Currently there is some logic to the button rows, first is color, second is type, third is text search fields. Then again, there is some wasted space in the third row. I'm not sure if I like this better as buttons or as a text based search, ie "rarity=r". How common is the usage of this for searches? The times I've needed it I have sorted by rarity and scrolled.
http://www.mediafire.com/?1yb1w2gwwts
Fixes alternate language problems.
http://www.mediafire.com/?bsbj1rnebcq
Moved menus around, fixed some bugs, added "add to existing decklist" in right click menu, added "auto order" button to deck section, added pricing info to right click menu. This will be the newest version for a while. Please test and once it is stable I'll put it on slightlymagic.net. Thanks!
http://www.mediafire.com/?25vd1c99y31
Here is the MTGVault plugin v0.4 that fixes a problem with sets...
http://www.mediafire.com/?8d3n2lew1z9
Still no saving to MTGVault. I have again contacted Gary about it.
jendave, BTW, the fix was to call initCause on the IOException.
I'll fix the launching problem soon Aoz!
v2.5
http://www.mediafire.com/?313ecmdmcs9
MTGVault plugin
http://www.mediafire.com/?cdtck9bszhg
MWSPlay plugin (only for if you don't have MWS installed)
http://www.mediafire.com/?3geudhhcdie
MagicTraders plugin
http://www.mediafire.com/?bcghjnltjdg
All the new features mentioned before, source is in the zips, some performance improvements, and support for languages other than English. French is included. Install plugins by unzipping into the root deck builder directory.
I'd like to keep the generics as they are. All the pointy brackets really bug me! When 1.5 first came out I was anal about getting rid of the warnings, but after enough time I came around.
Couldn't you just resize the card area all the way to the right?
The proxy settings sound like a good feature.
http://www.mediafire.com/?7ebeldxr2ic
That really should work on a Mac. See...
http://xs320.xs.to/xs320/07413/screenshot_01.jpg
I was playing around and realized a few things I did in the code were very stupid. I've improved the card searches from about 0.4 second to as low as 0.15 second. I've also added some new features! I added a collector number column and a price column. By default the price is not populated, the idea being that a plugin populates that information. There is a new MagicTraders plugin that downloads pricing from thier website. Further, the source will now always be included along with the main download.
Sorry I implemented your ideas jendave. I started looking at you would implement the collector number, if I saw any gotchas I was going to post them. Instead, I found that I had some crazy map that duplicated data stored in a table. I refactored it heavily, removing the map. Then I realized that if I denormalized the data in the card and sets tables, I could get rid of the sets table entirely, which means one less join in the card search query... in the end I removed two of the three card data tables and greatly simplified the picture and collector number mechanisms! I was on a roll, so I lifted some code from the card generator for pricing. The card generator has a tool that allows you to drop a decklist on it and it tells you how much the deck would cost IRL.
There are no important warnings when compiling. Set your compiler
to ignore the generics warnings. These are retarded. Eg, take this code...
[php]
Map<String, Integer> = new HashMap();
Map<String, Integer> = new HashMap<String, Integer>();[/php]Both lines compile to the same byte code. Both lines are just as safe. The first line generates a warning by default. IMO, this is stupid. I don't need to type all the extra pointy brackets, thanks.
Sun went crazy with generics. Yes, if you have zero warnings than it is impossible to get a ClassCastException. However, this solves a problem that really wasn't much of a problem in the first place. I choose to turn off the generics warnings and use generics to have typed collections and a couple other convenient things, but I just don't think it is worth the effort to go generics crazy. Plus it makes my eyes bleed.
Anyway, your list of features sounds pretty good. I doubt you'll ever get this running on a phone though since it loads the card database in-memory. If you thought it loaded slow on your desktop PC...