Commit graph

2649 commits

Author SHA1 Message Date
ArcadeMode
5ac975c52e Blocker and Critical level bugfixes throughout the project (#4648)
* fixed https://sonarcloud.io/project/issues?id=org.xmage%3Amage-root&issues=AWIlv32RgrzAwlaaQ7rP&open=AWIlv32RgrzAwlaaQ7rP

* ensure closing of scanner if it was opened

* Refactored method in EmpyrialArchAngel to not always return same value.

* Refactored method in FalkenrathAristocrat to not always return same value.

* Refactored method in GilderBairn to not always return the same value.

* fixed left open resources, ensured quiet closing of the streams

* Refactored method in IceCave to not always return same value.

* Refactored method in KjeldoranRoyalGuard to not always return same value.

* Refactored method in LegionsInitiative to not always return same value.

* Refactored method in NaturesWill to not always return same value.

* added quiet closing method in new streamutils class, used to clean up the connectdialog

* Fix small typo

* added quiet closing to saveobjectutil

* closed resources in savegame method of gamecontroller

* properly close resources in loadGame method of GameReplay class

* further proper resource closing in ServerMessagesUtil

* fixed unclosed resources in copy method in mage framework Copier

* closed unclosed resources in copyCompressed method in Copier

* ensure closing of filewriter in manasymbols

* ensure proper closing of Stream in arcane UI

* ensure closing of datagram socket in arcane Util

* ensure resource closing in deckimport from clipboard

* ensure closing of plugin classloader

* ensured closing of zipinputstream resource

* ensure closing of fileoutputstream in ScryfallSymbolsSource

* ensure closing resources after finishing/canceling download of pictures

* remove commented code

* move locks to try block to ensure unlocking along all execution paths

* remove dangerous instance of double-checked locking

* removed dangerous instance of double checked locking in settingsmanager

* Removed dangerous instance of double-checked locking in ThemePluginImpl

* close resource which did not happen certainly

* close another stream

* ensure closing of inputstream
2018-03-22 08:13:13 -05:00
Marc Zwart
c2c395420e close resource which did not happen certainly 2018-03-22 10:30:10 +01:00
Danny Plenge
90631eff60 Removed dangerous instance of double-checked locking in ThemePluginImpl 2018-03-20 16:10:09 +01:00
Marc Zwart
3e1312064f removed dangerous instance of double checked locking in settingsmanager 2018-03-20 16:04:10 +01:00
Marc Zwart
6debe066f1 remove dangerous instance of double-checked locking 2018-03-20 16:01:48 +01:00
Marc Zwart
d299ee0882 remove commented code 2018-03-20 15:37:46 +01:00
Marc Zwart
f883d6b0a8 ensure closing resources after finishing/canceling download of pictures 2018-03-20 15:37:25 +01:00
Marc Zwart
1e18875725 ensure closing of fileoutputstream in ScryfallSymbolsSource 2018-03-20 15:27:14 +01:00
Marc Zwart
1ec5a3fb4d ensure resource closing in deckimport from clipboard 2018-03-20 15:00:08 +01:00
Marc Zwart
338e9833cc ensure closing of datagram socket in arcane Util 2018-03-20 14:59:41 +01:00
Marc Zwart
63dbfb8a9b ensure proper closing of Stream in arcane UI 2018-03-20 14:48:22 +01:00
Marc Zwart
a0a2ac1b5a ensure closing of filewriter in manasymbols 2018-03-20 14:40:58 +01:00
Marc Zwart
4bc5a9bd61 Merge branches 'hotfix/close-unclosed-resources-mage-client', 'hotfix/close-streams-in-updater', 'hotfix/fix-non-closed-scanner' and 'hotfix/manapiechart-potential-zero-division' into feature/SonarqubeFixes 2018-03-20 13:03:28 +01:00
Marc Zwart
7233f5d86f added quiet closing to saveobjectutil 2018-03-20 12:55:37 +01:00
Marc Zwart
9912a23007 added quiet closing method in new streamutils class, used to clean up the connectdialog 2018-03-20 12:46:53 +01:00
spjspj
8ff4f81cea
Merge pull request #4640 from spjspj/master
New M15 Rendering for Unstable lands
2018-03-20 16:49:00 +11:00
spjspj
a368c93845 New M15 Rendering for Unstable lands 2018-03-20 16:12:43 +11:00
Oleg Agafonov
1635766262 * Added localized card images download for Russian, Korean and Portuguese from wizards.com; 2018-03-19 22:01:54 +04:00
Oleg Agafonov
4774c0290e * Deck editor: unique filter disabled by default now (#4612); 2018-03-19 18:06:11 +04:00
spjspj
da7bca48df
Merge pull request #4638 from spjspj/master
Fix for mana symbols indexoutofbounds exception
2018-03-19 21:18:20 +11:00
spjspj
de6eb6ece1 Fix for mana symbols indexoutofbounds exception 2018-03-19 21:16:32 +11:00
LevelX2
b073ce1c42 * Added to all toUpperCase/toLowerCase calls the Locale.ENGLISH to prevent problems with some languages (e.g. Turkish). Removed some unused import statements. (#4634). 2018-03-18 18:18:54 +01:00
LevelX2
af296cbe79 * Added display of live on player avatar image, 2018-03-17 00:47:09 +01:00
LevelX2
9c0d0a0153 * Saved table spectator setting to preferences. 2018-03-17 00:46:12 +01:00
spjspj
cd21387659
Merge pull request #4624 from spjspj/master
Add rendering for Expeditions
2018-03-16 22:57:37 +11:00
spjspj
89d58bef5b Add rendering for Expeditions
(With non-copyright background image)
2018-03-16 22:49:21 +11:00
LevelX2
753e039d02 * Fixed a problem that a tooltip window was shown of cards from panels in the back. 2018-03-16 00:28:12 +01:00
LevelX2
64f9dc6e60 * Add Land Dialog - Added deck size value and images of mana symbols. 2018-03-15 23:37:05 +01:00
Marc Zwart
51b266a2de fixed https://sonarcloud.io/project/issues?id=org.xmage%3Amage-root&issues=AWIlv32RgrzAwlaaQ7rP&open=AWIlv32RgrzAwlaaQ7rP 2018-03-15 10:47:31 +01:00
Oleg Agafonov
1b8049780b clean 2018-03-15 00:27:09 +04:00
Oleg Agafonov
83a3de9a93 * UI: improved choose number dialog (fixed enter key, added more info colorized info for mana distribute dialog); 2018-03-15 00:14:04 +04:00
Oleg Agafonov
4a77ab1714 * UI: added hotkeys to pick number dialog (choose value by <ENTER> key); 2018-03-14 18:46:28 +04:00
LevelX2
25f5be3aba * Fixed a problem with download of Unhinged card images with a card name. 2018-03-13 22:56:39 +01:00
LevelX2
bd56b074a0 * Some minor changes to game end window. 2018-03-13 18:01:26 +01:00
spjspj
a4485e92eb
Merge pull request #4611 from spjspj/master
Add an 'add only full art land' option to the add land dialog.
2018-03-13 01:04:16 +10:00
spjspj
7e919b9f39 Add an 'add only full art land' option to the add land dialog.
Should give an error message when someone says only full art lands, but then chooses a set that has no full art lands.
2018-03-13 00:38:43 +11:00
LevelX2
fe5743b29e Fixed a bug that the mana symbols for monocolored hybrid mana were not shown. 2018-03-11 13:03:58 +01:00
LevelX2
2fb8926432 * Deck editor - Saved the search checkbox options to reset for next deck editor start. 2018-03-11 11:47:33 +01:00
LevelX2
fed2d1a259 XMage 1.4.28V0 2018-03-10 20:42:29 +01:00
LevelX2
b60522f9e4 Added option to activate/deactivate JSON game log. Added logic to write the logs to subdirectory. Some changes to SEND_PLAYER_ACTION type logging. 2018-03-10 00:04:56 +01:00
LevelX2
51c68842aa Some minor changes to JSON game log (#4587). 2018-03-08 23:40:55 +01:00
LevelX2
82e8606b40 * Added Master 25 to Wizard download source. 2018-03-08 23:26:55 +01:00
LevelX2
fedf254219
Merge pull request #4554 from hooptie45/topic/json-logs
[WIP] Consumable JSON game logs
2018-03-08 17:32:32 +01:00
spjspj
79d4e7e9b1 Add a 'spectators allowed' option for regular tables (aka non tournaments). 2018-03-08 23:45:09 +11:00
spjspj
4c7b0d50d2 Add a 'spectators allowed' option for regular tables (aka non tournaments). 2018-03-08 23:31:51 +11:00
spjspj
be70ecd7f3 Add a singleton search option for deck editor search 2018-03-04 17:57:51 +11:00
spjspj
da76c7687d Missing deovid type background 2018-03-04 02:17:21 +11:00
spjspj
8cf065e345 For actual cards on modo, the full background is always printed to it (not just part of the top left corner of the background). 2018-03-03 23:51:47 +11:00
Oleg Agafonov
08f15416ba * Add new full set Masters 25 (only Karona's Zealot must be implemented); 2018-03-02 22:06:24 +04:00
spjspj
550b98509c
Merge pull request #4562 from spjspj/master
Fix zendikar full art land drawings.  (Travis build failed but didn't seem to be related to Mage.Client)
2018-03-02 17:33:11 +10:00
spjspj
60cc0525da Fix zendikar full art land drawings.
- Realized curve fits part of an off-centered ellipse
  (a 295x700 sized ellipse, with the top left being 197 pixels off the top of the top of the curved image on a scanned ZEN forest with bounding rects of: 293x337)
2018-03-02 18:22:09 +11:00
spjspj
d6910897e3
Merge pull request #4559 from spjspj/master
Zen lands slightly offcenter
2018-02-28 23:50:10 +10:00
spjspj
8c614a9006 slightly offcenter 2018-03-01 00:49:43 +11:00
spjspj
8887cca387 slightly offcenter 2018-03-01 00:32:30 +11:00
spjspj
6516e7eea4
Merge pull request #4556 from spjspj/master
Adding in way to render BFZ style full art lands (BFZ and HOU full ar…
2018-02-28 00:54:04 +10:00
spjspj
596ca5be86 Adding in way to render BFZ style full art lands (BFZ and HOU full art lands)
Things still to do:
1) Get everyone to download the full art Face images ...
2) Add in the collector number to the Face images (<ImageDirector>/FACE/ZEN/Island.<numberneeded>.jpg for example)
4) Maybe even add in an UST (Unstable) way of rendering lands (with the swoosh of opaque full art down the bottom).
2018-02-28 01:25:29 +11:00
spjspj
154c2121b1
Merge pull request #4555 from spjspj/master
Modifying zendikar curved box to use a path instead. (Will be easier …
2018-02-28 00:35:02 +11:00
spjspj
a28e273dcc Modifying zendikar curved box to use a path instead. (Will be easier to then draw BFZ lands similarly). 2018-02-28 00:02:14 +11:00
Shaun Hannah
7c7f88ab3c [WIP] S3 Upload of JSON log 2018-02-27 05:17:20 -05:00
Shaun Hannah
6aeb3c7c3a [WIP] Consumable JSON game logs
As discussed in https://github.com/magefree/mage/issues/4515

This exposes a JSON log of game interactions that can be analyzed.

This is just a first pass, to get up to speed with how the messaging works. It'd like to trim down the messages much
further so they don't include redundant information in each message. Also gson supports much more advances serialization
options; such as using the @Expose annotation. We should probably use that, but I ran into some issues (I'm not a java
developer, so still learning).

TODO:
  These currently only exist on the client side; ideally we'd submit this logs back up to a central server after the
  games completion; thinking this could be simple via an S3 file drop, and a Lambda function to process and expose the
  logs; maybe via a kafka stream.

Examples of log messages are below:

```
{
  "gameId": "2cede8c5-ff8e-4f8c-b9ac-66af53c0a254",
  "sessionId": "5c4o149-678483-je42ycva-1-je42ycw2-4",
  "type": "GAME_SELECT",
  "value": {
    "gameView": {
      "priorityTime": 3000,
      "players": [
        {
          "name": "computer",
          "life": 20,
          "counters": {}
        },
        {
          "name": "hooptie",
          "life": 20,
          "counters": {}
        }
      ],
      "hand": {
        "425d774f-ee0c-4a9b-8516-c98f886943f0": {
          "name": "Springleaf Drum",
          "power": "0",
          "toughness": "0",
          "loyalty": "",
          "manaCost": [
            "{1}"
          ],
          "convertedManaCost": 1,
          "type": 0,
          "paid": false,
          "id": "425d774f-ee0c-4a9b-8516-c98f886943f0"
        },
        "dd41bb4b-7fc3-4a3c-a69c-d18e281a1bff": {
          "name": "Blade of the Bloodchief",
          "power": "0",
          "toughness": "0",
          "loyalty": "",
          "manaCost": [
            "{1}"
          ],
          "convertedManaCost": 1,
          "type": 0,
          "paid": false,
          "id": "dd41bb4b-7fc3-4a3c-a69c-d18e281a1bff"
        },
        "06eb0a6c-1e70-4dc0-bd1c-93b6ea444806": {
          "name": "Ornithopter",
          "power": "0",
          "toughness": "2",
          "loyalty": "",
          "manaCost": [
            "{0}"
          ],
          "convertedManaCost": 0,
          "type": 0,
          "paid": false,
          "id": "06eb0a6c-1e70-4dc0-bd1c-93b6ea444806"
        },
        "a2f9cc13-e71a-4c9c-96aa-5424ea1a6b64": {
          "name": "Springleaf Drum",
          "power": "0",
          "toughness": "0",
          "loyalty": "",
          "manaCost": [
            "{1}"
          ],
          "convertedManaCost": 1,
          "type": 0,
          "paid": false,
          "id": "a2f9cc13-e71a-4c9c-96aa-5424ea1a6b64"
        },
        "91239f4f-9003-4c48-8ca1-4c318f892489": {
          "name": "Cranial Plating",
          "power": "0",
          "toughness": "0",
          "loyalty": "",
          "manaCost": [
            "{2}"
          ],
          "convertedManaCost": 2,
          "type": 0,
          "paid": false,
          "id": "91239f4f-9003-4c48-8ca1-4c318f892489"
        },
        "feb268d8-0535-4a9c-8915-83dd92a08c4c": {
          "name": "Arcbound Ravager",
          "power": "0",
          "toughness": "0",
          "loyalty": "",
          "manaCost": [
            "{2}"
          ],
          "convertedManaCost": 2,
          "type": 0,
          "paid": false,
          "id": "feb268d8-0535-4a9c-8915-83dd92a08c4c"
        }
      },
      "canPlayInHand": [
        "06eb0a6c-1e70-4dc0-bd1c-93b6ea444806"
      ],
      "stack": {},
      "combat": [],
      "phase": "PRECOMBAT_MAIN",
      "step": "PRECOMBAT_MAIN"
    },
    "message": "Play spells and abilities.",
    "options": {
      "queryType": "SELECT"
    }
  }
}
{
  "gameId": "2cede8c5-ff8e-4f8c-b9ac-66af53c0a254",
  "sessionId": "5c4o149-678483-je42ycva-1-je42ycw2-4",
  "type": "SEND_PLAYER_UUID",
  "value": "06eb0a6c-1e70-4dc0-bd1c-93b6ea444806"
}
{
  "gameId": "2cede8c5-ff8e-4f8c-b9ac-66af53c0a254",
  "sessionId": "5c4o149-678483-je42ycva-1-je42ycw2-4",
  "type": "GAME_CHOOSE_PILE",
  "value": {
    "choices": {
      "1ecf8671-be4c-4060-a76b-af614235a5b7": "Cast Ornithopter"
    }
  }
}
{
  "gameId": "2cede8c5-ff8e-4f8c-b9ac-66af53c0a254",
  "sessionId": "5c4o149-3v2cj2-je43178o-1-je43179f-4",
  "type": "GAME_INIT",
  "value": {
    "priorityTime": 3000,
    "players": [
      {
        "name": "computer",
        "life": 20,
        "counters": {}
      },
      {
        "name": "hooptie",
        "life": 20,
        "counters": {}
      }
    ],
    "hand": {
      "425d774f-ee0c-4a9b-8516-c98f886943f0": {
        "name": "Springleaf Drum",
        "power": "0",
        "toughness": "0",
        "loyalty": "",
        "manaCost": [
          "{1}"
        ],
        "convertedManaCost": 1,
        "type": 0,
        "paid": false,
        "id": "425d774f-ee0c-4a9b-8516-c98f886943f0"
      },
      "dd41bb4b-7fc3-4a3c-a69c-d18e281a1bff": {
        "name": "Blade of the Bloodchief",
        "power": "0",
        "toughness": "0",
        "loyalty": "",
        "manaCost": [
          "{1}"
        ],
        "convertedManaCost": 1,
        "type": 0,
        "paid": false,
        "id": "dd41bb4b-7fc3-4a3c-a69c-d18e281a1bff"
      },
      "06eb0a6c-1e70-4dc0-bd1c-93b6ea444806": {
        "name": "Ornithopter",
        "power": "0",
        "toughness": "2",
        "loyalty": "",
        "manaCost": [
          "{0}"
        ],
        "convertedManaCost": 0,
        "type": 0,
        "paid": false,
        "id": "06eb0a6c-1e70-4dc0-bd1c-93b6ea444806"
      },
      "a2f9cc13-e71a-4c9c-96aa-5424ea1a6b64": {
        "name": "Springleaf Drum",
        "power": "0",
        "toughness": "0",
        "loyalty": "",
        "manaCost": [
          "{1}"
        ],
        "convertedManaCost": 1,
        "type": 0,
        "paid": false,
        "id": "a2f9cc13-e71a-4c9c-96aa-5424ea1a6b64"
      },
      "91239f4f-9003-4c48-8ca1-4c318f892489": {
        "name": "Cranial Plating",
        "power": "0",
        "toughness": "0",
        "loyalty": "",
        "manaCost": [
          "{2}"
        ],
        "convertedManaCost": 2,
        "type": 0,
        "paid": false,
        "id": "91239f4f-9003-4c48-8ca1-4c318f892489"
      },
      "feb268d8-0535-4a9c-8915-83dd92a08c4c": {
        "name": "Arcbound Ravager",
        "power": "0",
        "toughness": "0",
        "loyalty": "",
        "manaCost": [
          "{2}"
        ],
        "convertedManaCost": 2,
        "type": 0,
        "paid": false,
        "id": "feb268d8-0535-4a9c-8915-83dd92a08c4c"
      }
    },
    "canPlayInHand": [
      "06eb0a6c-1e70-4dc0-bd1c-93b6ea444806"
    ],
    "stack": {},
    "combat": [],
    "phase": "PRECOMBAT_MAIN",
    "step": "PRECOMBAT_MAIN"
  }
}
{
  "gameId": "2cede8c5-ff8e-4f8c-b9ac-66af53c0a254",
  "sessionId": "5c4o149-3v2cj2-je43178o-1-je43179f-4",
  "type": "GAME_SELECT",
  "value": {
    "gameView": {
      "priorityTime": 3000,
      "players": [
        {
          "name": "computer",
          "life": 20,
          "counters": {}
        },
        {
          "name": "hooptie",
          "life": 20,
          "counters": {}
        }
      ],
      "hand": {
        "425d774f-ee0c-4a9b-8516-c98f886943f0": {
          "name": "Springleaf Drum",
          "power": "0",
          "toughness": "0",
          "loyalty": "",
          "manaCost": [
            "{1}"
          ],
          "convertedManaCost": 1,
          "type": 0,
          "paid": false,
          "id": "425d774f-ee0c-4a9b-8516-c98f886943f0"
        },
        "dd41bb4b-7fc3-4a3c-a69c-d18e281a1bff": {
          "name": "Blade of the Bloodchief",
          "power": "0",
          "toughness": "0",
          "loyalty": "",
          "manaCost": [
            "{1}"
          ],
          "convertedManaCost": 1,
          "type": 0,
          "paid": false,
          "id": "dd41bb4b-7fc3-4a3c-a69c-d18e281a1bff"
        },
        "06eb0a6c-1e70-4dc0-bd1c-93b6ea444806": {
          "name": "Ornithopter",
          "power": "0",
          "toughness": "2",
          "loyalty": "",
          "manaCost": [
            "{0}"
          ],
          "convertedManaCost": 0,
          "type": 0,
          "paid": false,
          "id": "06eb0a6c-1e70-4dc0-bd1c-93b6ea444806"
        },
        "a2f9cc13-e71a-4c9c-96aa-5424ea1a6b64": {
          "name": "Springleaf Drum",
          "power": "0",
          "toughness": "0",
          "loyalty": "",
          "manaCost": [
            "{1}"
          ],
          "convertedManaCost": 1,
          "type": 0,
          "paid": false,
          "id": "a2f9cc13-e71a-4c9c-96aa-5424ea1a6b64"
        },
        "91239f4f-9003-4c48-8ca1-4c318f892489": {
          "name": "Cranial Plating",
          "power": "0",
          "toughness": "0",
          "loyalty": "",
          "manaCost": [
            "{2}"
          ],
          "convertedManaCost": 2,
          "type": 0,
          "paid": false,
          "id": "91239f4f-9003-4c48-8ca1-4c318f892489"
        },
        "feb268d8-0535-4a9c-8915-83dd92a08c4c": {
          "name": "Arcbound Ravager",
          "power": "0",
          "toughness": "0",
          "loyalty": "",
          "manaCost": [
            "{2}"
          ],
          "convertedManaCost": 2,
          "type": 0,
          "paid": false,
          "id": "feb268d8-0535-4a9c-8915-83dd92a08c4c"
        }
      },
      "canPlayInHand": [
        "06eb0a6c-1e70-4dc0-bd1c-93b6ea444806"
      ],
      "stack": {},
      "combat": [],
      "phase": "PRECOMBAT_MAIN",
      "step": "PRECOMBAT_MAIN"
    },
    "message": "Play spells and abilities.",
    "options": {
      "queryType": "SELECT"
    }
  }
}
{
  "gameId": "2cede8c5-ff8e-4f8c-b9ac-66af53c0a254",
  "sessionId": "5c4o149-678483-je42ycva-1-je42ycw2-4",
  "type": "SEND_PLAYER_UUID",
  "value": "1ecf8671-be4c-4060-a76b-af614235a5b7"
}
```
2018-02-26 19:23:00 -05:00
spjspj
871b035bb4
Merge pull request #4551 from spjspj/master
Adding in way to render Zendikar full art lands.
2018-02-26 15:31:10 +11:00
spjspj
afeb1c16ac Adding in way to render Zendikar full art lands.
Things still to do:
1) Get everyone to download the full art Face images
2) Add in the collector number to the Face images (<ImageDirector>/FACE/ZEN/Island.<numberneeded>.jpg for example)
3) Add in the ability to draw say BFZ / HOU full art lands as well.
4) Maybe even add in an UST (Unstable) way of rendering lands (with the swoosh of opaque full art down the bottom).
2018-02-26 15:22:59 +11:00
spjspj
576c1aec57 Adding in way to render Zendikar full art lands.
Things still to do:
1) Get everyone to download the full art Face images
2) Add in the collector number to the Face images (<ImageDirector>/FACE/ZEN/Island.<numberneeded>.jpg for example)
3) Add in the ability to draw say BFZ / HOU full art lands as well.
4) Maybe even add in an UST (Unstable) way of rendering lands (with the swoosh of opaque full art down the bottom).
2018-02-26 12:47:18 +11:00
Oleg Agafonov
8238139192 * UI: added SVG icons support on x64 linux systems (see #4421, must cleanup xmage\mage-client\lib folder); 2018-02-24 19:52:25 +04:00
Oleg Agafonov
e5ef545d8f * UI: fixed wrong feedback panel color for non active turn; 2018-02-23 18:21:08 +04:00
LevelX2
1ef84278c2
Merge pull request #4419 from rsypen/master
Fixed local server time in client's chat messages
2018-02-15 15:16:52 +01:00
L_J
3dbd5a72c4
Merge branch 'master' into Zzooouhh-banding-final 2018-02-15 00:49:08 +01:00
L_J
3f1499ef76
Adjusted banding arrow position 2018-02-14 23:44:31 +00:00
LevelX2
9fb71b98c4 Xmage 1.4.27V4 2018-02-14 23:05:59 +01:00
L_J
cb63931d35
Adjusted banding arrow position 2018-02-14 15:26:03 +00:00
LevelX2
3b19304f64 * Fixed that soulbond arrow to paired card was not shown and improved soulbond text on permanent. 2018-02-14 12:41:44 +01:00
L_J
e7301e2c08
Implemented banding (#41) 2018-02-13 20:36:25 +01:00
LevelX2
6d848e2059 * Fixed a bug that turn rollback did not work correctly, if player was in a buy cost process that included possible rollback (fixes #4510). 2018-02-12 11:41:01 +01:00
LevelX2
fc8604e449 Added proxy handling to tokens.mtg.onl image download. 2018-02-12 11:39:18 +01:00
LevelX2
c9603d1994 * Some fixes to token image downloading. 2018-02-11 23:30:15 +01:00
LevelX2
ac9b03d277 * Changed the connect/disconnect button to include the text directly in the menu button. 2018-02-09 23:27:35 +01:00
Oleg Agafonov
5c44bef2ea Fixed "all attack" button position 2018-02-05 10:45:07 +04:00
Oleg Agafonov
ae7620918e Fixed wrong hint for rarity button in deck editor 2018-02-04 23:05:38 +04:00
LevelX2
cafd251e74 * Fixed client filter not showing MTGO 1v1 Commander tables. 2018-02-04 18:34:54 +01:00
Oleg Agafonov
ff6ec8222a UI: added settings to setup battlefield panel colorizing (default is multicolor; preferences -> main -> battlefield; see #1201) 2018-02-04 21:06:06 +04:00
Oleg Agafonov
ec5c8a01df UI: added different colors for current turn phase (same as buttons -- see #1201) 2018-02-04 12:48:50 +04:00
Oleg Agafonov
5947326a4f UI: added green colorized panel on player's priority (see #1201) 2018-02-04 12:09:21 +04:00
Oleg Agafonov
5fa20278b0 UI: improved ask dialog (same size for all buttons) 2018-02-04 09:53:40 +04:00
LevelX2
82defb2ab8 * Removed land set restriction on limited add land dialog (fixes #4373). 2018-02-03 18:35:47 +01:00
Oleg Agafonov
66eb1de7f1 Fixed v1 server incompatible with v0 clients (freezes on game startup) 2018-01-28 17:57:55 +04:00
Oleg Agafonov
2870c3ab2a Cleanup 2018-01-27 12:54:16 +04:00
spjspj
71a1097b1c Update connection dialog to point to Xmage.us from xmage.woogerworks.com 2018-01-27 11:28:46 +11:00
spjspj
0c63fc04b4 Update connection dialog to point to Xmage.us from xmage.woogerworks.com 2018-01-27 01:52:31 +11:00
Oleg Agafonov
321a45140b UI: added more info on card's tooltip delay/disable 2018-01-25 08:15:12 +04:00
spjspj
8db20dbe8d
Merge pull request #4430 from spjspj/master
Fix M15 colors for GW (was WG), GU (was UG), RW (was WR)
2018-01-19 22:20:03 +11:00
spjspj
b26cd21f02 Fix M15 colors for GW (was WG), GU (was UG), RW (was WR) 2018-01-19 20:33:17 +11:00
spjspj
af48b17451 Fix M15 colors for GW (was WG), GU (was UG), RW (was WR) 2018-01-19 20:30:12 +11:00
Oleg Agafonov
89f5967441 * [RIX] Added missing tokens (tokens.mtg.onl is updated with 150+ images too); 2018-01-18 07:02:02 +04:00
rsypen
ccd121277a
Fixed local server time in client's chat messages 2018-01-15 09:17:35 +01:00
Oleg Agafonov
b0a8967a3b Fixed non working SVG symbols on machines without JDK (see #4410) 2018-01-14 06:54:23 +04:00
LevelX2
40afa04b24 xmage 1.4.27V0 2018-01-13 22:54:53 +01:00
LevelX2
2e3ba7e104 Added designation names to player tooltip. 2018-01-13 18:55:07 +01:00
LevelX2
b10182ab29 Activated RIX download from WOTC source. 2018-01-13 10:24:12 +01:00
Oleg Agafonov
8e3b610a0c Tests: fixed performance problem (x20 speed up, no need to call full garbage collector manually) 2018-01-09 19:27:25 +04:00
Oleg Agafonov
c07e3d327c Fixed wrong images download for two side cards (clean cards*.db and images needed) 2018-01-07 22:29:37 +04:00