Commit graph

47 commits

Author SHA1 Message Date
ctrlaltca
ed70099e36 Rework of the card database, xml format and oracle parser (#3511)
* CardDB: merge all card properties in a new structure

* Pre Json parser changes

 * Cockatrice: use qt's builtin json support
 * Move qt-json src dir from cockatrice to oracle
 * Add dummy cockatricexml4 parser (yet to be implemented)

* Implement a new parser and xml format

 * cockatricexml4: new xml parser following the "generic properties hash" pattern;
 * oracleimporter: refactor the parsing code to better adapt to cockatricexml4; rewrote split cards parsing
 * carddb: change "colors" from a stringlist to a string
 * carddb: move the getMainCardType() method to the cockatricexml3 parser
 *

* CardInfo: show all properties (stil missing: nice name + translation)

* Rework the "add related card" feature so that it doesn't change the card name in the carddb

Also, fix token count display

* Picture loader: Added support for transform cards

* Fix side information for flip cards

Mtgjson uses side a/b for flip cards, while scryfall doesn't

* Pictureloader: dynamic tag resolution from card properties

Examples old => new
* !cardid! => !set:muid!
* !uuid!   => !set:uuid!
* !collectornumber! => !set:num!
New examples:
 * !prop:type!
 * !prop:manacost!

* Start moving mtg-related property names to a specific file

* Clangify

* Fix tests

* Make gcc an happy puppy

* Revert "Make gcc an happy puppy"

This reverts commit 446ec5f27516c4d3b32dbfc79557f4827c5c5bdf.

* Some gcc fixes

* Share set list between different db parsers, so they won't overwrite one each other

* All glory to the hypnoclangifier!

* Fix test compilation

* Cleanup edited files in the prior PR. (#3519)

* Cleanup edited files in the prior PR.

Signed-off-by: Zach Halpern <ZaHalpern+github@gmail.com>

* Fix includes

Signed-off-by: Zach Halpern <ZaHalpern+github@gmail.com>

* Update carddatabase.h
2019-01-23 18:17:10 -05:00
Bers
3b3f5a639c Hide non-existent card values in infowidget and cardframe (#3239) 2018-05-15 01:53:53 -04:00
ctrlaltca
517420cccb Replace CardInfo* and Carset* with smart pointers (#3053)
* Replace CardInfo* and Carset* with smart pointers

* fixes to help memory & c++11 stuff
2018-02-02 12:52:47 -05:00
ctrlaltca
b29bd9e070
Clang-format (#3028)
* 1/3 Add .clang-format file and travis compilation check

* 2/3 Run clang-format

* 3/3 Fix compilation problems due to include reordering

* 3bis/3 AfterControlStatement: false
2018-01-27 10:41:32 +01:00
Fabio Bas
14d731da98 fix calculation of card info popup size 2016-04-11 17:07:07 +02:00
Fabio Bas
c7061523e6 fix #1915 2016-04-08 19:48:29 +02:00
Fabio Bas
1e3fb6c6e1 Rework "paths" settings loading and card database loading
* main.cpp: removed path checking and db loading
 * card database: merge card loading methods into a single one
 * settings cache: take care of returning safe paths for decks,
replays, etc..
 * main window: if db loading fails (eg. first run), propose to run
oracle

NSIS: propose to run cockatrice instead of oracle

Rework card database loading

 * Move carddatabase-related method out of deckeditor tab
 * Load cards in another thread and render them progressively
 * Optimize database reload after enabled sets change

Fix deck editor column width

 * removed the noCard hack.
 * getCard() no more creates cards instead of just returning existing
ones
 * Fix the “edit tokens” dialog.
 * PictureLoader: avoid trying to download twice the same card
 * PictureLoader: correct return of card background
 * AbstractCardItem: avoid recalculating card color at every paint

Use a different file to save custom tokens

Misc required improvements

 * Use nullptr;
 * Refactor CardInfoWidget to use CardInfoPicture and CardInfoText
instead of duplicating code;
 * Added CardInfo::getColorChar()
 * Fixed some potential crashes
 * removed dead code related to CardInfoWidget
 * Don't require a restart after adding a new custom sets file
 * Bump CMake requirements to 3.1
2016-03-15 22:27:55 +01:00
Fabio Bas
4d7795ca3a Split pictuloader out of carddatabase 2015-12-26 16:40:17 +01:00
Zach
d5adec53a2 Revert "Reimplemented PictureLoader as a singleton" 2015-09-23 03:17:33 -04:00
Fabio Bas
f6c7f3355f Reimplemented PictureLoader as a singleton
* Removed remaining picture handling from card database and cardinfo
 * removed the “noCard object” hack
2015-09-22 23:09:53 +02:00
Jeff
f3c43cb50f Fix linked cardwidget not showing PT/Loyalty 2015-08-16 19:02:55 -04:00
Zach H
d956a1d309 add colors to popup 2015-07-15 16:38:29 -04:00
Fabio Bas
f88621fd97 Use QPixmapCache for card images
Drop CardInfo’s own pixmap caches; use QPixmapCache instead.
Use QPixmap references instead of pointers.
Being stored in QPixmapCache, all card images are now subjected to
QPixmapCache’s size limit
2014-12-24 16:18:55 +01:00
arxanas
810029ce15 Fix #117: Card tags now match disregarding case and punctuation. 2014-07-06 20:04:09 -04:00
Matt Kelly
1bc48a7849 Convert rest of source to 4-space indent 2014-02-11 11:14:19 -05:00
Max-Wilhelm Bruker
87584a3a76 updated Spanish; adjusted details for release 2012-06-24 16:40:05 +02:00
Max-Wilhelm Bruker
13d3de5c1c don't show card p/t and loyalty in CardInfoWidget when showing only the picture 2012-04-22 18:35:32 +02:00
Max-Wilhelm Bruker
76c7d96310 CardInfoWidget as popup now has a card size related to the screen size 2012-03-10 23:26:35 +01:00
Max-Wilhelm Bruker
8af0f01db8 CardInfoWidget fix 2012-02-20 12:53:33 +01:00
Max-Wilhelm Bruker
f622a41e7a cleaner implementation of loyalty display criterium 2012-01-29 17:00:57 +01:00
Max-Wilhelm Bruker
ccfdc0a084 Merge branch 'master' of git://github.com/mbruker/Cockatrice 2012-01-29 16:56:50 +01:00
Max-Wilhelm Bruker
ab11a40863 ARM compile fix, reported by Jeff Hoogland 2012-01-15 12:15:20 +01:00
Daenyth
edde8bec07 Add Planeswalker loyalty to CardInfoWidget
CIW will also dynamically hide/show power/toughness as well as loyalty.
2011-12-28 23:47:29 -05:00
Max-Wilhelm Bruker
cef4fb11f3 maximize card pics in card info 2011-11-26 14:57:31 +01:00
Max-Wilhelm Bruker
0120d2a019 cardInfoPopup fix; chatView fix 2011-06-28 02:37:49 +02:00
Max-Wilhelm Bruker
9cfe4bea59 CardInfoWidget improvement by Absinthe and Hellkeepa 2011-06-13 19:15:12 +02:00
Max-Wilhelm Bruker
5f46b5cd41 game tab: added splitter for manual size control of text boxes 2011-04-06 15:49:03 +02:00
Max-Wilhelm Bruker
64c3c0984e minor performance improvements, removed explicit font size setting 2011-03-07 18:50:06 +01:00
Max-Wilhelm Bruker
7a7b686e67 fixed crash that occurs when reloading the card database while deck editor or game is running 2011-02-28 18:20:27 +01:00
Max-Wilhelm Bruker
df5791d318 Introduced stack zone, shrunk table to have higher zoom factor 2010-11-03 21:28:43 +01:00
Max-Wilhelm Bruker
2543a5b241 card info widget fix 2010-10-14 16:49:18 +02:00
Max-Wilhelm Bruker
970da7d214 save minimized state of card info widget in settings 2010-10-13 15:57:49 +02:00
Max-Wilhelm Bruker
a215b3503a Added MTGO-like card info widget, made original info widget hideable 2010-10-13 15:38:32 +02:00
Max-Wilhelm Bruker
e0c7df1694 deck list editing in deck storage tab; mouse hover event for deck view 2009-12-19 20:34:33 +01:00
Max-Wilhelm Bruker
77015c9ebf event handling 2009-11-28 00:02:11 +01:00
Max-Wilhelm Bruker
4beb990f38 dynamic pixmap cache update 2009-08-29 20:17:02 +02:00
Max-Wilhelm Bruker
5d32bb8bc4 chat code 2009-08-23 16:25:10 +02:00
brukie
dfaa6b1d95 settings dialog 2009-07-28 19:52:15 +02:00
Max-Wilhelm Bruker
b8bf18801f XML card database 2009-07-11 18:25:19 +02:00
Max-Wilhelm Bruker
8efe15a201 card back svg 2009-06-26 23:25:51 +02:00
brukie
0f272a2f51 improved card dragging 2009-06-16 18:20:29 +02:00
Max-Wilhelm Bruker
dc14a1ef17 foo 2009-06-11 19:13:04 +02:00
Max-Wilhelm Bruker
c00027f988 removed the need to refresh the game list 2009-06-11 17:51:52 +02:00
brukie
86097d29b6 foo 2009-06-03 16:39:50 +02:00
brukie
04072b02d1 scaled pixmap cache. major speed improvement 2009-06-03 15:38:21 +02:00
Max-Wilhelm Bruker
3ae865178b Deck editor 2009-05-23 20:04:14 +02:00
Max-Wilhelm Bruker
a11f93df4d initial commit 2009-03-13 22:50:41 +01:00