46 Commits

Author SHA1 Message Date
xawotihs
a2f510bbd5 Still trying to repair cross compilation 2019-09-07 22:47:45 +02:00
xawotihs
4605d38982 Including cinttypes only when supported by compiler 2019-09-07 21:44:43 +02:00
xawotihs
d9452b02d9 Adds <cinttypes> for definition of uint64_t 2019-09-07 21:32:22 +02:00
xawotihs
1cfee14caa Put back <stdint.h> to avoid having to change the android compilation options 2019-09-07 20:27:05 +02:00
xawotihs
fd3777f08e Now compile with VS2019 2019-09-07 19:46:15 +02:00
Xawotihs
a27216c317 Deactivating mac/ios build as currently broken 2019-09-05 22:24:33 +02:00
xawotihs
8315acbe86 Removed death_grasp.txt and ai/goblin_artillery.txt from the testsuite (see issue#1023) 2019-09-04 22:39:41 +02:00
Xawotihs
7a2f23db45 Using trusty dist as it seems the only one supported for Android. 2019-09-04 16:01:50 +02:00
Xawotihs
711f52e5ce Updating JDK to 7 2019-09-03 23:15:48 +02:00
Xawotihs
0cf8c1a970 Installing ant for android build 2019-09-03 22:40:11 +02:00
Xawotihs
2750b34b4f Trying to fix python dependencies 2019-09-03 22:24:39 +02:00
xawotihs
b023dd89b6 - Should remove an error with the PSP compiler 2019-09-03 22:09:44 +02:00
Eduardo
3d9526a1dd Commander Anthology (CMA) Correction 2019-05-08 16:37:47 -05:00
Eduardo
1b8157ef0e Merge branch 'master' of https://github.com/WagicProject/wagic 2019-05-05 21:17:22 -05:00
Eduardo
8d20fd6483 Fixes to primitives 2019-05-05 21:17:15 -05:00
Eduardo
66741957c3 Revert "Fixes to primitives"
This reverts commit eb7d8850f4.
2019-05-05 21:14:27 -05:00
Eduardo
eb7d8850f4 Fixes to primitives 2019-05-05 21:13:48 -05:00
Eduardo MG
934b9d2856 Delete CM1.zip 2019-05-04 15:57:56 -05:00
Eduardo MG
0af443b753 Commander's Arsenal (CM1)
Commander's Arsenal (CM1) had the wrong name, this is the correct name and set code.
2019-05-04 15:53:57 -05:00
Eduardo MG
41e160ae34 War of the Spark _cards.dat 2019-05-01 17:57:12 -05:00
Eduardo
8b620627d9 Major Corrections to WAR and removing crashing cards
Cards that check the colors of mana that lands on the opponent battlefield crashes the game, hard to reproduce but happens often enought that I decided to remove them.

Minor fixes in set and Major fixes in WAR primitives
2019-05-01 17:19:01 -05:00
Eduardo
d943778309 Double face cards should be marked as tokens 2019-05-01 17:09:27 -05:00
Eduardo
06cb835a5b Teaching AI proliferate and shocklands
Some minor changes, corrections to XLN and C17, changing name of game mode from horde to tribal wars
2019-05-01 17:00:48 -05:00
Eduardo
f1a529576e Preparing for a release, bug fixes and adjustments to game modes
Updating macros and new cards marked as borderline
2019-04-25 18:03:41 -05:00
Eduardo MG
1af3cff419 Uploading sets since Amonkhet until War of the spark
These are graded as borderline, each set has it's individual txt file, not integrated to the main mtg.txt to make them easier to manage, with the appropiate tools and more testing the files can be integrated. 

Includes standard sets(expansions) and supplemental products(masters sets, commander) since Amonkhet.
2019-04-25 17:53:49 -05:00
Eduardo
5db6b807ba Set limited game mode, AI changes, primitives and _cards.dat corrections
New set limited ,where you get a deck two random sets.

Still playing with the AI values and hueristics.

Cards fixes. Masters Edition should be named ME1 and the Mythic Edition is MED, the cards multiverse ids are still the same so the decks and references should not change.
2019-04-20 15:51:52 -05:00
Eduardo MG
1c6b0bdfd5 New game modes
Rules for several new game modes and rules

horde, get a random tribe and summon a creature from your deck each turn
paradise, lands tap for all mana
false god, exchange permanents at upkeep
morinfen, lose 1 life for every permanent you control at upkeep, starts at 50 life
2019-04-20 12:25:58 -05:00
Eduardo
3dfcc65fa6 Bug fix for the biggest crash and fixes to the primitives
I figured a while ago that the cause of the crash was a rendering issue, not an engine issue, since you could copy spells in the stack if you didn't targeted them. The crash was most likely in ActionStack, just had to follow the trace. It doesn't affect anithing else, that line was trying to render something in the stack that's a permanent but it always had bad ptrs.
2019-04-17 20:28:43 -05:00
Eduardo
c3937ce517 Fixing primitives and mayor bugs report
Game crashes when AI plays a card with cost {X} and that targets a player, this cards can be coded around that restriction and still work as per the rules.

The BIGGEST BUG the game has now is that crashes occur when a PERMANENT TARGETS A SPELL IN THE STACK, sometimes the AI can make this cards work (WTH!?) but never the player.

Effects like mirari and similar could be coded so that you don't target the spell but trigger and copy the source of the trigger, look at the code of mirari for this to be more clear.

This effect used to work for many many years I remember  Glen Elendra Archmage being one of my favorite cards back in the day. This bug has been present since god knows when, as early as october 2016: https://wololo.net/forum/viewtopic.php?f=4&t=66296&start=150#p98160

Also freaking Lemures caused the AI to just keep repeating the effect so I put a limit on activations on them.
2019-04-14 21:56:20 -05:00
Eduardo
ab1fbaa806 New game modes, bug fixes in primitives, improving AI, new planeswalkers type rule
New rules based on vanguard, 3 new random game modes, one is tribal and one uses any card in the game.

Several corrections and bugs fixes. Cards with x in their cost and that can target any player used to crash the game.

Teaching AI new things and changing values of efficiency.

You can have multiple "Jace" planeswalkers, you can't have two of the exact same name (no two Jace, the mind sculptor).
2019-04-14 19:57:01 -05:00
Eduardo
6eca5bea2f Last March Update
Some bug fixing to the primitives, the fetchlands are so buggy that I restored to a simple version

Some minor UI improvements
2019-03-31 20:53:13 -06:00
Rolzad73
e4d73d95ec - removing debug info after travis build fix 2019-03-27 22:50:10 -04:00
Rolzad73
363383df6d - try to fix travis build travis script debug pt 7 (groovy, Java 8 incompatibility) 2019-03-27 22:15:48 -04:00
Rolzad73
0d05804376 - try to fix travis build travis script debug pt 6 (ant error log too long) 2019-03-27 22:04:11 -04:00
Rolzad73
cdd36a404b - try to fix travis build travis script debug pt 5 2019-03-27 21:42:37 -04:00
Rolzad73
64c509980c - fix bad commit travis.yml 2019-03-27 21:39:38 -04:00
Rolzad73
46ba018201 - try to fix travis build travis script debug pt 4 2019-03-27 21:37:38 -04:00
Rolzad73
0cb931e6e2 - try to fix travis build travis script debug pt 3 2019-03-27 21:25:26 -04:00
Rolzad73
58af6f73d9 - try to fix travis build travis script debug pt 2 2019-03-27 21:12:46 -04:00
Rolzad73
e81f1299cb - try to fix travis build travis script debug 2019-03-27 21:03:40 -04:00
Rolzad73
9b5f9684b0 - try to fix travis build android dependancies pt 3 2019-03-27 20:48:21 -04:00
Rolzad73
d934c0948c - try to fix travis build android dependancies pt 2 2019-03-27 20:45:05 -04:00
Rolzad73
917a3a88df - try to fix travis build android dependancies 2019-03-27 20:38:51 -04:00
Rolzad73
dc5b8a8c52 - try to fix travis build 2019-03-27 15:50:08 -04:00
Eduardo MG
d2b44e652b Uploading a couple of years of sets
RNA Guild Kit		Set Code: GK2
Ravnica Allegiance	Set Code: RNA
Ultimate Box Topper Set Code: PUMA
Ultimate Masters	Set Code: UMA
GRN Guild Kit		Set Code: GK1
Guilds of Ravnica	Set Code: GRN
Commander 2018	Set Code: C18
Core Set 2019		Set Code: M19
Signature 
Spellbook: Jace	Set Code: SS1
Battlebond 		Set Code: BBD
Commander Anthology 
Volume II			Set Code: CM2
Dominaria		Set Code: DOM
Duel Decks: Elves 	
vs. Inventors		Set Code: DDU
Masters 25 		Set Code: A25
Rivals of Ixalan	Set Code: RIX
Unstable			Set Code: UST
Explorers of Ixalan   Set Code: E02
From the Vault: 
Transform		Set Code: V17
Iconic Masters		Set Code: IMA
Duel Decks: Merfolk
vs. Goblins		Set Code: DDT
Ixalan			Set Code: XLN
Commander 2017	Set Code: C17
Hour of Devastation Set Code: HOU
Archenemy: Nicol 
Bolas			Set Code: E01
Commander Anthology	Set Code: CMA
Amonkhet			Set Code: AKH
Amonkhet 
Invocations			Set Code: MP2
Duel Decks: Mind 
vs. Might			        Set Code: DDS
Modern Masters 2017	Set Code: MM3
2019-03-26 20:35:45 -06:00
Eduardo
1ce3b469e7 Update primitives
Added the supertype Legendary to Planeswalkers.

When you pay life the code should be {L:1}  not just {L} or else the cards ave very buggy.

Several bug fixes, card corrections and typos.
2019-03-26 16:50:34 -06:00
3241 changed files with 52156 additions and 11062 deletions

6
.gitmodules vendored
View File

@@ -1,6 +0,0 @@
[submodule "thirdparty/zlib"]
path = thirdparty/zlib
url = https://github.com/madler/zlib
[submodule "thirdparty/SDL2"]
path = thirdparty/SDL2
url = https://github.com/spurious/SDL-mirror.git

View File

@@ -1,130 +1,61 @@
language: cpp
dist: trusty
branches:
except:
- latest-master
- latest-cmake
matrix:
include:
- os: linux
env: BUILD_TYPE=PSP
sudo: required
- os: linux
env: BUILD_TYPE=SDL
sudo: required
- os: linux
env: BUILD_TYPE=Qt
sudo: required
- os: osx
env: BUILD_TYPE=Qt
- os: osx
env: BUILD_TYPE=iOS
- os: linux
language: android
env: BUILD_TYPE=ANDROID
sudo: required
- os: osx
env: BUILD_TYPE=Emscripten
android:
components:
- platform-tools
- build-tools-23.0.1
- android-10
cache:
directories:
- opt/pspsdk
- android-ndk-r9
before_install:
- if [ "$TRAVIS_OS_NAME" == "linux" ]; then
sudo add-apt-repository "deb http://archive.ubuntu.com/ubuntu trusty universe" &&
sudo add-apt-repository "deb http://archive.ubuntu.com/ubuntu trusty main" &&
sudo add-apt-repository --yes ppa:ubuntu-toolchain-r/test &&
sudo apt-get -qq update &&
sudo apt-get -qq install g++-4.8 &&
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.8 90;
fi
- if [ "$TRAVIS_OS_NAME" == "osx" ]; then
brew update &&
brew install dpkg &&
pwd &&
ls;
fi
- if [ "$BUILD_TYPE" == "iOS" ]; then
curl -s -f -L https://raw.github.com/r-plus/dotfiles/master/install_theos.sh | bash &&
pwd &&
ls;
fi
- export BUILD_PSP=YES
- export BUILD_ANDROID=YES
- export BUILD_Qt=YES
- export BUILD_MAC=NO
# Only building on Mac when not handling pull request
# - if [ "$TRAVIS_PULL_REQUEST" == "false" ]; then
# export BUILD_MAC=YES;
# fi
- sudo apt-get update -qq
# Building for PSP here
- if [ "$BUILD_TYPE" == "PSP" ]; then
- if [ "$BUILD_PSP" == "YES" ]; then
export PSPDEV="$TRAVIS_BUILD_DIR/opt/pspsdk" &&
export PSPSDK="$PSPDEV/psp/sdk" &&
export PATH="$PATH:$PSPDEV/bin:$PSPSDK/bin" &&
wget -O sdk.lzma https://sourceforge.net/projects/minpspw/files/SDK%20%2B%20devpak/pspsdk%200.11.2/minpspw_0.11.2-amd64.tar.lzma/download;
fi
# Building for Android here
- if [ "$BUILD_TYPE" == "ANDROID" ]; then
export ANDROID="/usr/local/android-sdk-linux/tools/android" &&
export PATH=$PATH:"/usr/local/android-sdk-linux/tools" &&
wget http://dl.google.com/android/ndk/android-ndk-r9-linux-x86_64.tar.bz2 -nv &&
wget https://bitbucket.org/ewing/sdl_androidcmake/get/4e9e88c03f04.zip -nv;
wget -O sdk.lzma http://downloads.sourceforge.net/project/minpspw/SDK%20%2B%20devpak/pspsdk%200.11.2/minpspw_0.11.2-amd64.tar.lzma;
fi
# Building for Qt here
- if [ "$BUILD_TYPE" == "Qt" ] && [ "$TRAVIS_OS_NAME" == "osx" ]; then
brew install qt5 &&
- if [ "$BUILD_Qt" == "YES" ]; then
sudo add-apt-repository "deb http://archive.ubuntu.com/ubuntu trusty universe" &&
sudo add-apt-repository "deb http://archive.ubuntu.com/ubuntu trusty main" &&
sudo apt-get -qq update &&
sudo apt-get -qq install qt5-qmake qtbase5-dev qtdeclarative5-dev qttools5-dev qtmultimedia5-dev pulseaudio libpulse-dev &&
export QMAKE="qmake -qt=qt5";
fi
- if [ "$BUILD_TYPE" == "Qt" ] && [ "$TRAVIS_OS_NAME" == "linux" ]; then
sudo apt-get install -qq qt5-qmake qtbase5-dev qtdeclarative5-dev qttools5-dev qtmultimedia5-dev pulseaudio libpulse-dev &&
export QMAKE="qmake -qt=qt5";
# Building for Android here
- if [ "$BUILD_ANDROID" == "YES" ]; then
export ANDROID="android-sdk-linux/tools/android" &&
if [ `uname -m` = x86_64 ]; then
sudo dpkg --add-architecture i386 && sudo apt-get update &&
sudo apt-get install -qq --force-yes libgd2-xpm-dev libc6-i386 lib32stdc++6 lib32gcc1 lib32ncurses5 lib32z1 jq ant; fi &&
wget http://dl.google.com/android/ndk/android-ndk-r9-linux-x86_64.tar.bz2 -nv &&
wget http://dl.google.com/android/android-sdk_r24.3.4-linux.tgz -nv;
fi
# Building for SDL here
- if [ "$BUILD_TYPE" == "SDL" ]; then
export SDL2DIR="$TRAVIS_BUILD_DIR/thirdparty/SDL2";
fi
# Building for Emscripten here
- if [ "$BUILD_TYPE" == "Emscripten" ] && [ "$TRAVIS_OS_NAME" == "osx" ]; then
brew install emscripten && export LLVM=/usr/local/opt/emscripten/libexec/llvm/bin && emcc;
fi
install:
- |
if [[ "${TRAVIS_OS_NAME}" == "linux" ]]; then
if [[ -z "$(ls -A ${DEPS_DIR}/cmake/bin)" ]]; then
CMAKE_URL="https://cmake.org/files/v3.7/cmake-3.7.2-Linux-x86_64.tar.gz"
mkdir -p cmake && travis_retry wget --no-check-certificate --quiet -O - "${CMAKE_URL}" | tar --strip-components=1 -xz -C cmake
fi
export PATH="${DEPS_DIR}/cmake/bin:${PATH}"
fi
- if [ "$TRAVIS_OS_NAME" == "osx" ]; then
if ! brew ls --version cmake &>/dev/null; then brew install cmake; fi
fi
- if [ "$BUILD_TYPE" == "PSP" ]; then
tar -x --xz -f sdk.lzma;
fi
- if [ "$TRAVIS_OS_NAME" == "linux" ] && [ "$BUILD_TYPE" == "ANDROID" ]; then
jdk_switcher use openjdk7 %%
tar --absolute-names -jxf android-ndk-r9-linux-x86_64.tar.bz2 &&
export ANDROID_NDK=`pwd`/android-ndk-r9 &&
unzip 4e9e88c03f04.zip &&
rm -rf thirdparty/SDL2/* &&
mv ewing-sdl_androidcmake-4e9e88c03f04/* thirdparty/SDL2/ &&
sudo pip install cpp-coveralls &&
sudo apt-get install --force-yes -qq libtinyxml-dev libjpeg-dev libpng-dev libgif-dev libz-dev libboost-system-dev libboost-thread-dev libboost-date-time-dev ant;
fi
- if [ "$TRAVIS_OS_NAME" == "linux" ] && [ "$BUILD_TYPE" != "ANDROID" ]; then
jdk_switcher use openjdk7 &&
sudo pip install cpp-coveralls &&
sudo apt-get install --force-yes -qq libtinyxml-dev libjpeg-dev libpng-dev libgif-dev libz-dev libboost-system-dev libboost-thread-dev libboost-date-time-dev ant;
fi
- sudo pip install pyjavaproperties
- sudo pip install github3.py
- if [ "$BUILD_PSP" == "YES" ]; then
tar -x --xz -f sdk.lzma;
fi
- if [ "$BUILD_ANDROID" == "YES" ]; then
tar --absolute-names -jxf android-ndk-r9-linux-x86_64.tar.bz2 &&
tar -zxf android-sdk_r24.3.4-linux.tgz &&
$ANDROID list sdk --extended -a &&
echo yes | $ANDROID update sdk -a -t tools,platform-tools,build-tools-23.0.1,android-10 --no-ui --force --no-https;
fi
- sudo python -m easy_install --upgrade pyOpenSSL
- sudo pip install pyjavaproperties
- sudo pip install github3.py
- sudo pip install cpp-coveralls
env:
global:
# - JAVA_HOME=/usr/lib/jvm/java-7-oracle # Force set JVM version to comply with Travis Ant version (1.8.2)
- secure: "EBzr1+qjQsOhn0s+tcFmXR1jP9B0xiOSXuXbRXWZ1OEHNvp8+A5/pS84LYVFlaZqmxr5dApxvPtwhgLIUbQ3EPXm8LpC3KgSD4dS+9/QMbxhe5TK4oczgFRGcDTMJQZsCzhOh7hp3tbcbJg5Gp+VT7aFjFQSHDGwhzSJXsXwh/8="
- secure: "X5dTQfofqAutnXxmu11Ep2MQ5QYnMN8m0AITRtwymhEF2UclcOudI1+skPtuhAGbWQnSO+lhunV3cvMfw2/Ml3k/VDz6VdFSKFrzAu7ja1VLJfcxr7chi0s8q30pVBb66tGydjIBac3B+RQyqgmZQW1frbRrhC/kPFQ6wPWOJdQ="
- secure: "T97NUPnxCpVZ/c5HH0zfo0FO3DPSRMSmze58ubW5EUTZOjAMtEt+OFdsrNZvUTCugUj2M1agtonZbAbczpaAL+lgZcHDgXgWMkfO0pMnsWX1yyCNqMuE/iTMpJr/xsLQeyWlftWjJLsseQU45abZsd1XVmda/G+ZhrDLF1y55SA="
@@ -132,22 +63,8 @@ env:
script: "tools/travis-script.sh"
after_success:
- if [ "$TRAVIS_OS_NAME" == "linux" ] && [ "$BUILD_TYPE" == "Qt" ]; then
coveralls -b . -e JGE/src -e JGE/include -i projects/mtg/include -i projects/mtg/src --gcov-options '\-lp';
fi
- if [ "$BUILD_TYPE" == "ANDROID" ]; then
python tools/upload-binaries.py -t $GH_TOKEN -s $TRAVIS_COMMIT -l core.zip -r Wagic-core.zip -b $TRAVIS_BRANCH &&
python tools/upload-binaries.py -t $GH_TOKEN -s $TRAVIS_COMMIT -l build_android/package/bin/Wagic_*.apk -r Wagic-android.apk -b $TRAVIS_BRANCH;
fi
- if [ "$TRAVIS_OS_NAME" == "linux" ] && [ "$BUILD_TYPE" == "PSP" ]; then
python tools/upload-binaries.py -t $GH_TOKEN -s $TRAVIS_COMMIT -l build_psp/psprelease.zip -r Wagic-psp.zip -b $TRAVIS_BRANCH;
fi
- if [ "$TRAVIS_OS_NAME" == "osx" ] && [ "$BUILD_TYPE" == "iOS" ]; then
python tools/upload-binaries.py -t $GH_TOKEN -s $TRAVIS_COMMIT -l net.wagic_0.19.2-1_iphoneos-arm.deb -r Wagic-iOS.deb -b $TRAVIS_BRANCH;
fi
- if [ "$TRAVIS_OS_NAME" == "osx" ] && [ "$BUILD_TYPE" == "Qt" ]; then
python tools/upload-binaries.py -t $GH_TOKEN -s $TRAVIS_COMMIT -l build_qt_widget/wagic.dmg -r Wagic-macosx.dmg -b $TRAVIS_BRANCH;
fi
- if [ "$TRAVIS_OS_NAME" == "osx" ] && [ "$BUILD_TYPE" == "Emscripten" ]; then
./tools/deploy-emscripten.sh;
fi
- coveralls -b . -e JGE/src -e JGE/include -i projects/mtg/include -i projects/mtg/src --gcov-options '\-lp'
- python tools/upload-binaries.py -t $GH_TOKEN -s $TRAVIS_COMMIT -l core.zip -r Wagic-core.zip -b $TRAVIS_BRANCH
- python tools/upload-binaries.py -t $GH_TOKEN -s $TRAVIS_COMMIT -l projects/mtg/Android/bin/Wagic-debug.apk -r Wagic-android.apk -b $TRAVIS_BRANCH
- python tools/upload-binaries.py -t $GH_TOKEN -s $TRAVIS_COMMIT -l projects/mtg/psprelease.zip -r Wagic-psp.zip -b $TRAVIS_BRANCH
- python tools/upload-binaries.py -t $GH_TOKEN -s $TRAVIS_COMMIT -l qt-gui-build/linuxqtrelease.zip -r Wagic-linux-QT.zip -b $TRAVIS_BRANCH

Some files were not shown because too many files have changed in this diff Show More