17 Commits

Author SHA1 Message Date
xawotihs
81770a8bc4 Uses 4 processes for building and activate build on specific branch independant of tags 2014-12-04 21:19:52 +01:00
xawotihs
34972176fe Limiting the builds to 2 simultaneous processes 2014-12-04 07:50:13 +01:00
xawotihs
600aa45ff7 Merge branch 'master' into auto_releases 2014-12-04 00:07:12 +01:00
xawotihs
b91a9aeed4 Fixed another shell issue 2014-08-06 00:10:40 +02:00
xawotihs
6a1534750f Fixed another shell issue in travis file 2014-08-05 23:44:51 +02:00
xawotihs
1cb20e4138 Fixed same shell issue in travis file 2014-08-05 23:38:10 +02:00
xawotihs
8458745bc4 Fixed shell issue 2014-08-05 23:33:38 +02:00
xawotihs
2d61ff6e2e Trying matrix build 2014-08-05 23:22:45 +02:00
xawotihs
c5fe5243a9 Adding tags again. 2014-08-04 23:47:56 +02:00
xawotihs
a6a25be3d3 Regenerate token 2014-08-04 23:23:05 +02:00
xawotihs
63694785c6 Reencrypted token 2014-08-04 22:57:30 +02:00
xawotihs
c68f83491e Without CR in the middle of the encrypted token 2014-08-04 18:54:35 +02:00
xawotihs
257082ea02 Uses new secure token. 2014-08-04 17:52:06 +02:00
xawotihs
e5fe25dfba Tries to fix auth token and various other fixes. 2014-08-03 22:22:34 +02:00
xawotihs
93ba3d107d Removed tags 2014-08-03 21:52:52 +02:00
xawotihs
fcf0078f26 Fixes some formatting issue. 2014-08-03 21:28:12 +02:00
xawotihs
d8c1933abc Activated travis github deployment support 2014-08-03 21:02:31 +02:00
615 changed files with 26736 additions and 79246 deletions

View File

@@ -1,65 +1,68 @@
language: cpp language: cpp
env:
global:
secure: "fJgWlCFbde96OSQNGKUmowGX+ERPeqP+n1EOMf1+FJzOU4DdkTLRAlV5+5qnEX9jB/3mWN6iPpmG1qEz/SdDG3KHxJYs4ZU/Lu485O24zZ/+GdYBNsrvhPD9ckPGEMLDa1foEVTDnW0Dlkz3BCFcszjhtXGUJv7v6Pj6LRk1Mg8="
matrix:
- BUILD_TYPE=PSP
- BUILD_TYPE=Android
- BUILD_TYPE=Qt
branches: branches:
except: except:
- latest-master - latest-master
before_install: before_install:
- 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 - sudo apt-get update -qq
# Building for PSP here # Building for PSP here
- if [ "$BUILD_PSP" == "YES" ]; then - if [ "$BUILD_TYPE" == "PSP" ]; then
export PSPDEV="$TRAVIS_BUILD_DIR/opt/pspsdk" && export PSPDEV="$TRAVIS_BUILD_DIR/opt/pspsdk" &&
export PSPSDK="$PSPDEV/psp/sdk" && export PSPSDK="$PSPDEV/psp/sdk" &&
export PATH="$PATH:$PSPDEV/bin:$PSPSDK/bin" && export PATH="$PATH:$PSPDEV/bin:$PSPSDK/bin" &&
wget -O sdk.lzma http://superb-sea2.dl.sourceforge.net/project/minpspw/SDK%20%2B%20devpak/pspsdk%200.11.2/minpspw_0.11.2-amd64.tar.lzma; wget -O sdk.lzma http://sourceforge.net/projects/minpspw/files/SDK%20%2B%20devpak/pspsdk%200.11.2/minpspw_0.11.2-amd64.tar.lzma/download;
fi
# Building for Qt here
- 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 fi
# Building for Android here # Building for Android here
- if [ "$BUILD_ANDROID" == "YES" ]; then - if [ "$BUILD_TYPE" == "Android" ]; then
export ANDROID="android-sdk-linux/tools/android" && export ANDROID="android-sdk-linux/tools/android" &&
if [ `uname -m` = x86_64 ]; then sudo apt-get install -qq --force-yes libgd2-xpm ia32-libs ia32-libs-multiarch jq; fi && if [ `uname -m` = x86_64 ]; then sudo apt-get install -qq --force-yes libgd2-xpm ia32-libs ia32-libs-multiarch jq; fi &&
wget http://dl.google.com/android/ndk/android-ndk-r9-linux-x86_64.tar.bz2 -nv && 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; wget http://dl.google.com/android/android-sdk_r23.0.2-linux.tgz -nv;
fi fi
# Building for Qt here
- if [ "$BUILD_TYPE" == "Qt" ]; then
sudo add-apt-repository --yes ppa:ubuntu-sdk-team/ppa &&
sudo apt-get update -qq &&
sudo apt-get install -qq qt5-qmake qtbase5-dev qtdeclarative5-dev qttools5-dev qtmultimedia5-dev pulseaudio libpulse-dev &&
export QMAKE="qmake -qt=qt5";
fi
install: install:
- if [ "$BUILD_PSP" == "YES" ]; then # Building for PSP here
tar -x --xz -f sdk.lzma; - if [ "$BUILD_TYPE" == "PSP" ]; then
fi tar -x --xz -f sdk.lzma;
- if [ "$BUILD_ANDROID" == "YES" ]; then fi
tar --absolute-names -jxf android-ndk-r9-linux-x86_64.tar.bz2 && - if [ "$BUILD_TYPE" == "Android" ]; then
tar -zxf android-sdk_r24.3.4-linux.tgz && tar --absolute-names -jxf android-ndk-r9-linux-x86_64.tar.bz2 &&
$ANDROID list sdk --extended -a && tar -zxf android-sdk_r23.0.2-linux.tgz &&
echo yes | $ANDROID update sdk -a -t tools,platform-tools,build-tools-23.0.1,android-10 --no-ui --force --no-https; $ANDROID list sdk --extended -a &&
fi echo yes | $ANDROID update sdk --filter tools,platform-tools,build-tools-21.1.1,android-10 --no-ui --force --no-https;
- sudo pip install pyjavaproperties fi
- sudo pip install github3.py - sudo pip install pyjavaproperties
- sudo pip install cpp-coveralls - sudo pip install github3.py
script: ./travis-script.sh
env: matrix:
global: fast_finish: true
- 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="
script: "tools/travis-script.sh" deploy:
provider: releases
after_success: api-key:
- coveralls -b . -e JGE/src -e JGE/include -i projects/mtg/include -i projects/mtg/src --gcov-options '\-lp' secure: "gzfDEihpfTmoO6CSjTNpHSlLTPtQUZUqTlmD91CQby6+znDsOy4xsqj10MNXe+l/3KYny1DtM48nxNKeVjsyeYg66TTzKsrgMVzt6Ah5CBhSXO99/TiaMJmSXmMO7GGfKDct190Dqej1gbR7AMd38DOYe2vpR0LX+Lf3gzDVLoU="
- python tools/upload-binaries.py -t $GH_TOKEN -s $TRAVIS_COMMIT -l core.zip -r Wagic-core.zip -b $TRAVIS_BRANCH file:
- 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 - ${TRAVIS_BUILD_DIR}/core.zip
- python tools/upload-binaries.py -t $GH_TOKEN -s $TRAVIS_COMMIT -l projects/mtg/psprelease.zip -r Wagic-psp.zip -b $TRAVIS_BRANCH - ${TRAVIS_BUILD_DIR}/projects/mtg/Android/bin/Wagic-debug.apk
- ${TRAVIS_BUILD_DIR}/projects/mtg/psprelease.zip
skip_cleanup: true
on:
repo: WagicProject/wagic
tags: false
branch: auto_releases

View File

@@ -1,190 +0,0 @@
# Changelog
## [latest-master] (https://github.com/WagicProject/wagic/tree/latest-master)
#### 7/7/16
- *Merged pull-request:* Sorted Primitives and Cleanup Tabs [#\727] (https://github.com/WagicProject/wagic/pull/719) ([kevlahnota](https://github.com/kevlahnota))
- *Merged pull-request:* push to wagicproject [#\725] (https://github.com/WagicProject/wagic/pull/725) ([zethfoxster](https://github.com/zethfoxster))
#### 7/4/16
- *Merged pull-request:* Sorted Primitives & Updated Premium Deck Series [#\719] (https://github.com/WagicProject/wagic/pull/719) ([kevlahnota](https://github.com/kevlahnota))
- *Merged pull-request:* Fails but I have no idea why [#\717] (https://github.com/WagicProject/wagic/pull/717) ([zethfoxster](https://github.com/zethfoxster))
- *Merged pull-request:* Updated Sets [#\715] (https://github.com/WagicProject/wagic/pull/715) ([kevlahnota](https://github.com/kevlahnota))
#### 7/2/16
- *Merged pull-request:* Updated Masters, Beginners, Duels and Vault Sets [#\714] (https://github.com/WagicProject/wagic/pull/714) ([kevlahnota](https://github.com/kevlahnota))
#### 7/1/16
- *Merged pull-request:* Cleaned and Sorted all Core and Expansion Sets [#\713] (https://github.com/WagicProject/wagic/pull/713) ([kevlahnota](https://github.com/kevlahnota))
- *Merged pull-request:* Soulbond Pair Indicator [#\712] (https://github.com/WagicProject/wagic/pull/712) ([kevlahnota](https://github.com/kevlahnota))
#### 6/30/16
- *Merged pull-request:* Sorted Primitives [#\711] (https://github.com/WagicProject/wagic/pull/711) ([kevlahnota](https://github.com/kevlahnota))
- *Merged pull-request:* Add Shackle Ability [#\710] (https://github.com/WagicProject/wagic/pull/710) ([kevlahnota](https://github.com/kevlahnota))
- *Merged pull-request:* Fix Cascade, Crash fix on lastController and some corrections [#\709] (https://github.com/WagicProject/wagic/pull/709) ([kevlahnota](https://github.com/kevlahnota))
#### 6/29/16
- *Merged pull-request:* Updated Primitives and Hide Highlight Border [#\707] (https://github.com/WagicProject/wagic/pull/707) ([kevlahnota](https://github.com/kevlahnota))
- *Committed:* Pretty huge patch here(sorry old habits never die :( ) [#\6ee00c1] (https://github.com/WagicProject/wagic/commit/6ee00c138ce374d54cb3ee034575ce440288ca0e) ([zethfoxster](https://github.com/zethfoxster))
#### 6/23/16
- *Merged pull-request:* Fix producecolor:color [#\704] (https://github.com/WagicProject/wagic/pull/704) ([kevlahnota](https://github.com/kevlahnota))
#### 6/17/16
- *Merged pull-request:* Force Mounting 2 [#\699] (https://github.com/WagicProject/wagic/pull/699) ([kevlahnota](https://github.com/kevlahnota))
#### 6/16/16
- *Merged pull-request:* Import Deck Options [#\697] (https://github.com/WagicProject/wagic/pull/697) ([kevlahnota](https://github.com/kevlahnota))
#### 6/11/16
- *Merged pull-request:* Refactor & Devotion [#\690] (https://github.com/WagicProject/wagic/pull/690) ([kevlahnota](https://github.com/kevlahnota))
#### 6/9/16
- *Closed issue:* Clone goes to graveyard before being able to copy anything [\#546](https://github.com/WagicProject/wagic/issues/546)
- *Closed issue:* Blinking an aura causes freeze [\#541](https://github.com/WagicProject/wagic/issues/541)
- *Closed issue:* Profile name at upper left side is not being updated correctly [\#469](https://github.com/WagicProject/wagic/issues/469)
- *Closed issue:* Giving card C protection from X does not remove cards attached to C which have quality X [\#464](https://github.com/WagicProject/wagic/issues/464)
- *Closed issue:* (graphical glitch) wood / gold textures [\#461](https://github.com/WagicProject/wagic/issues/461)
- *Closed issue:* Clone does not get all P/T bonuses [\#448](https://github.com/WagicProject/wagic/issues/448)
- *Closed issue:* Card "threaten" messes up the GUI [\#473](https://github.com/WagicProject/wagic/issues/473)
#### 6/7/16
- *Closed issue:* Emrakul isn't killed by creatures with deathtouch [\#597](https://github.com/WagicProject/wagic/issues/597)
#### 6/3/16
- *Merged pull-request:* Cost Increaser & Reducer Fix [#\676] (https://github.com/WagicProject/wagic/pull/676) ([kevlahnota](https://github.com/kevlahnota))
#### 5/30/16
- *Fixed Bug:* deckstats crash when "unlock cards" is used [#\668] (https://github.com/WagicProject/wagic/issues/668) ([zethfoxster](https://github.com/zethfoxster))
#### 5/26/16
- *Closed issue:* Nasty memleak crashing devices and its fix. [#\664] (https://github.com/WagicProject/wagic/issues/664) ([zethfoxster](https://github.com/zethfoxster))
#### 11/08/15
- *Merged pull-request:* produce mana for lands you/opponent could produce [#\658] (https://github.com/WagicProject/wagic/pull/658) ([kevlahnota](https://github.com/kevlahnota))
#### 11/07/15
- *Merged pull-request:* Manacost Changes, Anyzone for CDA, PayZero Cost [#\656] (https://github.com/WagicProject/wagic/pull/656) ([kevlahnota](https://github.com/kevlahnota))
#### 10/31/15
- *Merged pull-request:* Exile Zone, Altercost and Hand modifier [#\653] (https://github.com/WagicProject/wagic/pull/653) ([kevlahnota](https://github.com/kevlahnota))
#### 10/17/15
- *Merged pull-request:* Fix issue #473 #784 [#\646] (https://github.com/WagicProject/wagic/pull/646) ([kevlahnota](https://github.com/kevlahnota))
#### 10/15/15
- *Merged pull-request:* Bug Fix: Planeswalker Rule & ABlink return to play ability for Aura cards [#\644] (https://github.com/WagicProject/wagic/pull/644) ([kevlahnota](https://github.com/kevlahnota))
#### 10/14/15
- *Merged pull-request:* Fix Legend Rule [#\643] (https://github.com/WagicProject/wagic/pull/643) ([kevlahnota](https://github.com/kevlahnota))
#### 10/12/15
- *Merged pull-request:* Fix crash bug, support doubled res texture for background, avatars, menutitle [#\641] (https://github.com/WagicProject/wagic/pull/641) ([kevlahnota](https://github.com/kevlahnota))
#### 10/02/15
- *Merged pull-request:* LKI for power, toughness and basic abilities, produceextra ability [#\636] (https://github.com/WagicProject/wagic/pull/636) ([kevlahnota](https://github.com/kevlahnota))
#### 09/29/15
- *Merged pull-request:* Fix Recover Cards, Cloner, Copier, and Preliminary support for Madness [#\635] (https://github.com/WagicProject/wagic/pull/635) ([kevlahnota](https://github.com/kevlahnota))
#### 09/22/15
- *Merged pull-request:* Auraward, unattach event and statebased action for protection from quality [#\631] (https://github.com/WagicProject/wagic/pull/631) ([kevlahnota](https://github.com/kevlahnota))
#### 09/19/15
- *Merged pull-request:* PT Switch like Layer 7e and Token Indicator [#\626] (https://github.com/WagicProject/wagic/pull/626) ([kevlahnota](https://github.com/kevlahnota))
#### 09/18/15
- *Merged pull-request:* Token Cloning fix and colored PT [#\624] (https://github.com/WagicProject/wagic/pull/624) ([kevlahnota](https://github.com/kevlahnota))
#### 09/15/15
- *Merged pull-request:* CDA and X manacost on stack [\#623] (https://github.com/WagicProject/wagic/pull/623) ([kevlahnota](https://github.com/kevlahnota))
#### 08/12/14
- *Merged pull-request:* Fix for guild_keywords Devotion, added some "Chroma" cards [\#606](https://github.com/WagicProject/wagic/pull/606) ([kevlahnota](https://github.com/kevlahnota))
- *Merged pull-request:* added guild keywords, added specific life cost [\#605](https://github.com/WagicProject/wagic/pull/605) ([kevlahnota](https://github.com/kevlahnota))
- *Merged pull-request:* Buyback issue and a fix [\#604](https://github.com/WagicProject/wagic/pull/604) ([apollovy](https://github.com/apollovy))
- *Merged pull-request:* Feature/ios update xcode5.1 [\#602](https://github.com/WagicProject/wagic/pull/602) ([mjnguyen](https://github.com/mjnguyen))
- *Merged pull-request:* Remove dead code and fix circular initialization [\#601](https://github.com/WagicProject/wagic/pull/601) ([ZobyTwo](https://github.com/ZobyTwo))
- *Merged pull-request:* update android build tools version [\#600](https://github.com/WagicProject/wagic/pull/600) ([Rolzad73](https://github.com/Rolzad73))
- *Merged pull-request:* Attempt to make android tools fetching for TravisCI explicit and futureproof [\#599](https://github.com/WagicProject/wagic/pull/599) ([Rolzad73](https://github.com/Rolzad73))
- *Merged pull-request:* Damager keyword [\#598](https://github.com/WagicProject/wagic/pull/598) ([bjornsnoen](https://github.com/bjornsnoen))
- *Merged pull-request:* Fix a rarity mistake and a grammatical error [\#596](https://github.com/WagicProject/wagic/pull/596) ([bjornsnoen](https://github.com/bjornsnoen))
- *Merged pull-request:* Fix bug where the phase wheel got out of sync [\#588](https://github.com/WagicProject/wagic/pull/588) ([ZobyTwo](https://github.com/ZobyTwo))
- *Merged pull-request:* More easing [\#586](https://github.com/WagicProject/wagic/pull/586) ([ZobyTwo](https://github.com/ZobyTwo))
- *Merged pull-request:* Added Avatar Tokens created by Ajani Goldmane. [\#585](https://github.com/WagicProject/wagic/pull/585) ([bjornsnoen](https://github.com/bjornsnoen))
- *Merged pull-request:* Cleanup, usability fixes and source code documentation for DeckView.h and GridDeckView.h [\#583](https://github.com/WagicProject/wagic/pull/583) ([ZobyTwo](https://github.com/ZobyTwo))
- *Fixed bug:* Blight does not destroy at the end of turn but right now [\#592](https://github.com/WagicProject/wagic/issues/592)
- *Fixed bug:* game freezes on Android when the phone returns from "sleep mode" [\#544](https://github.com/WagicProject/wagic/issues/544)
- *Fixed bug:* Android port needs to be able to respond to attaching/detaching devices to it [\#522](https://github.com/WagicProject/wagic/issues/522)
## [alpha-195] (https://github.com/WagicProject/wagic/tree/alpha-195)
#### 07/12/13
- *Merged pull-request:* Reset positions and filters when reopening the editor [\#578](https://github.com/WagicProject/wagic/pull/578) ([ZobyTwo](https://github.com/ZobyTwo))
- *Merged pull-request:* Deck viewer [\#577](https://github.com/WagicProject/wagic/pull/577) ([ZobyTwo](https://github.com/ZobyTwo))
- *Merged pull-request:* Do not specify the system directory in JGE [\#576](https://github.com/WagicProject/wagic/pull/576) ([ZobyTwo](https://github.com/ZobyTwo))
- *Merged pull-request:* Changed Travis build file to use Android API 10 and Android build tools 18.1.1 [\#575](https://github.com/WagicProject/wagic/pull/575) ([Rolzad73](https://github.com/Rolzad73))
- *Merged pull-request:* Feature/play from grave [\#574](https://github.com/WagicProject/wagic/pull/574) ([pankdm](https://github.com/pankdm))
- *Merged pull-request:* Fix Valgrind warnings appearing during the test suit. [\#573](https://github.com/WagicProject/wagic/pull/573) ([ZobyTwo](https://github.com/ZobyTwo))
- *Merged pull-request:* Strings 2 [\#572](https://github.com/WagicProject/wagic/pull/572) ([ZobyTwo](https://github.com/ZobyTwo))
- *Merged pull-request:* Android travis ci [\#570](https://github.com/WagicProject/wagic/pull/570) ([xawotihs](https://github.com/xawotihs))
- *Merged pull-request:* Android NDK build fix [\#569](https://github.com/WagicProject/wagic/pull/569) ([Rolzad73](https://github.com/Rolzad73))
- *Merged pull-request:* Add a few namespaces and fix header guards. [\#564](https://github.com/WagicProject/wagic/pull/564) ([ZobyTwo](https://github.com/ZobyTwo))
- *Merged pull-request:* Updated deckmenu.cpp to properly render deck description and summary [\#562](https://github.com/WagicProject/wagic/pull/562) ([citiral](https://github.com/citiral))
- *Merged pull-request:* Fix some valgrind memcheck warnings. However there remains one... [\#561](https://github.com/WagicProject/wagic/pull/561) ([ZobyTwo](https://github.com/ZobyTwo))
- *Merged pull-request:* Remove some dead code [\#560](https://github.com/WagicProject/wagic/pull/560) ([ZobyTwo](https://github.com/ZobyTwo))
- *Merged pull-request:* Show output only for failing tests [\#559](https://github.com/WagicProject/wagic/pull/559) ([pankdm](https://github.com/pankdm))
- *Merged pull-request:* Defines/Typos [\#557](https://github.com/WagicProject/wagic/pull/557) ([ZobyTwo](https://github.com/ZobyTwo))
- *Merged pull-request:* Simplify Damage::resolve a bit [\#556](https://github.com/WagicProject/wagic/pull/556) ([ZobyTwo](https://github.com/ZobyTwo))
- *Merged pull-request:* Fix cranial plating [\#555](https://github.com/WagicProject/wagic/pull/555) ([pankdm](https://github.com/pankdm))
- *Merged pull-request:* Android cleanup [\#1](https://github.com/WagicProject/wagic/pull/1) ([Rolzad73](https://github.com/Rolzad73))
- *Fixed bug:* Iona and Nin don't work [\#527](https://github.com/WagicProject/wagic/issues/527)
- *Closed issue:* Less verbose output of tests at Travis [\#558](https://github.com/WagicProject/wagic/issues/558)
## [wagic-0.19.2] (https://github.com/WagicProject/wagic/tree/wagic-v0.19.2)
#### 28/10/13

View File

@@ -178,6 +178,8 @@ private:
float mSpacing; float mSpacing;
PIXEL_TYPE mColor; PIXEL_TYPE mColor;
int mBlend;
int mBase; int mBase;
}; };

View File

@@ -598,6 +598,8 @@ private:
GLint prog2_positionLoc; GLint prog2_positionLoc;
GLint prog2_texCoordLoc; GLint prog2_texCoordLoc;
GLint prog2_colorLoc; GLint prog2_colorLoc;
// MVP matrix
ESMatrix prog2_mvpMatrix;
// Uniform locations // Uniform locations
GLint prog2_mvpLoc; GLint prog2_mvpLoc;
@@ -610,11 +612,13 @@ private:
int mCurrentTextureFormat; int mCurrentTextureFormat;
#endif #endif
#ifdef PSP
bool mVsync; bool mVsync;
int mTexCounter;
#endif
int mSwizzle; int mSwizzle;
int mTexCounter;
int mCurrentTextureFilter; int mCurrentTextureFilter;
int mCurrTexBlendSrc; int mCurrTexBlendSrc;

View File

@@ -258,9 +258,7 @@ private:
#endif #endif
int mVolume; int mVolume;
#ifndef IOS
int mMusicVolume; int mMusicVolume;
#endif
int mSampleVolume; int mSampleVolume;

View File

@@ -18,11 +18,12 @@ using namespace std;
#define MID_POINT_THRESHOLD 1.0f #define MID_POINT_THRESHOLD 1.0f
////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////
/// Position of a single dot on screen. /// Position of a single dot on screen.
/// ///
////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////
class JPoint class Point
{ {
public: public:
@@ -33,13 +34,13 @@ public:
/// @param _y - Y position. /// @param _y - Y position.
/// ///
////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////
JPoint(float _x, float _y) { x = _x; y = _y; } Point(float _x, float _y) { x = _x; y = _y; }
////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////
/// Constructor, set position to default (0.0f, 0.0f) /// Constructor, set position to default (0.0f, 0.0f)
/// ///
////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////
JPoint() { x = 0.0f; y = 0.0f; } Point() { x = 0.0f; y = 0.0f; }
float x; ///< X position. float x; ///< X position.
float y; ///< Y position. float y; ///< Y position.
@@ -94,7 +95,7 @@ public:
/// @param pt - Control point. /// @param pt - Control point.
/// ///
////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////
void AddControlPoint(const JPoint &pt); void AddControlPoint(const Point &pt);
////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////
/// Get a control point of the spline. /// Get a control point of the spline.
@@ -104,7 +105,7 @@ public:
/// @return Control point. /// @return Control point.
/// ///
////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////
void GetControlPoint(JPoint &point, int index); void GetControlPoint(Point &point, int index);
////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////
/// Work out all pixels of the spline. /// Work out all pixels of the spline.
@@ -127,7 +128,7 @@ public:
/// @return Position of the desire point. /// @return Position of the desire point.
/// ///
////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////
void PointOnCurve(JPoint &out, float t, const JPoint &p0, const JPoint &p1, const JPoint &p2, const JPoint &p3); void PointOnCurve(Point &out, float t, const Point &p0, const Point &p1, const Point &p2, const Point &p3);
////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////
/// Get a number of pixels for this spline. /// Get a number of pixels for this spline.
@@ -145,7 +146,7 @@ public:
/// @return Position of the desire point. /// @return Position of the desire point.
/// ///
////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////
void GetPixel(JPoint &point, int index); void GetPixel(Point &point, int index);
////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////
/// Render the spline to screen. /// Render the spline to screen.
@@ -155,8 +156,8 @@ public:
private: private:
vector<JPoint> mMidPoints; vector<Point> mMidPoints;
vector<JPoint> mPixels; vector<Point> mPixels;
int mCount; int mCount;
}; };

View File

@@ -311,7 +311,9 @@ namespace boost
#include <QMutex> #include <QMutex>
#include <QThread> #include <QThread>
#include <QSharedPointer>
#include <boost/bind.hpp>
#include <boost/shared_ptr.hpp>
#include "../include/JLogger.h" #include "../include/JLogger.h"
@@ -418,25 +420,23 @@ namespace boost
virtual void run() = 0; virtual void run() = 0;
}; };
typedef boost::shared_ptr<detail::thread_data_base> thread_data_ptr;
typedef QSharedPointer<detail::thread_data_base> thread_data_ptr; template<typename F>
template<typename F, typename A1>
class thread_data : public detail::thread_data_base class thread_data : public detail::thread_data_base
{ {
public: public:
thread_data(F f_, A1 a1_) : f(f_), a1(a1_) thread_data(F f_) : f(f_)
{ {
} }
void run() void run()
{ {
f(a1); f();
} }
private: private:
F f; F f;
A1 a1;
void operator=(thread_data&); void operator=(thread_data&);
thread_data(thread_data&); thread_data(thread_data&);
@@ -493,7 +493,7 @@ namespace boost
} }
template <class F,class A1> template <class F,class A1>
thread(F f, A1 a1) : mThreadInfo(make_thread_info(f, a1)) thread(F f, A1 a1) : mThreadInfo(make_thread_info(boost::bind(boost::type<void>(), f, a1)))
{ {
mpThread = new threadImpl(mThreadInfo); mpThread = new threadImpl(mThreadInfo);
LOG("Calling start func"); LOG("Calling start func");
@@ -510,10 +510,10 @@ namespace boost
} }
private: private:
template<typename F, typename A1> template<typename F>
static inline detail::thread_data_ptr make_thread_info(F f, A1 a1) static inline detail::thread_data_ptr make_thread_info(F f)
{ {
return detail::thread_data_ptr(new detail::thread_data<F, A1>(f, a1)); return detail::thread_data_ptr(new detail::thread_data<F>(f));
} }
detail::thread_data_ptr mThreadInfo; detail::thread_data_ptr mThreadInfo;

View File

@@ -38,12 +38,6 @@ The content that users should not be touching.
#include <QDir> #include <QDir>
#endif #endif
/*
#ifdef IOS
#include <Foundation/Foundation.h>
#endif
*/
JFileSystem* JFileSystem::mInstance = NULL; JFileSystem* JFileSystem::mInstance = NULL;
JZipCache::JZipCache() JZipCache::JZipCache()
@@ -254,7 +248,7 @@ void JFileSystem::clearZipCache()
bool JFileSystem::AttachZipFile(const string &zipfile, char *password /* = NULL */) bool JFileSystem::AttachZipFile(const string &zipfile, char *password /* = NULL */)
{ {
if (mZipAvailable && mZipFile.is_open()) if (mZipAvailable && mZipFile != NULL)
{ {
if (mZipFileName != zipfile) if (mZipFileName != zipfile)
DetachZipFile(); // close the previous zip file DetachZipFile(); // close the previous zip file

View File

@@ -71,7 +71,7 @@ bool JSpline::Load(const char *filename, float xscale, float yscale)
element->QueryFloatAttribute("x", &xx); element->QueryFloatAttribute("x", &xx);
element->QueryFloatAttribute("y", &yy); element->QueryFloatAttribute("y", &yy);
JPoint pt(xx*xscale, yy*yscale); Point pt(xx*xscale, yy*yscale);
AddControlPoint(pt); AddControlPoint(pt);
} }
@@ -84,7 +84,7 @@ bool JSpline::Load(const char *filename, float xscale, float yscale)
void JSpline::PointOnCurve(JPoint &out, float t, const JPoint &p0, const JPoint &p1, const JPoint &p2, const JPoint &p3) void JSpline::PointOnCurve(Point &out, float t, const Point &p0, const Point &p1, const Point &p2, const Point &p3)
{ {
float t2 = t * t; float t2 = t * t;
float t3 = t2 * t; float t3 = t2 * t;
@@ -113,8 +113,8 @@ void JSpline::GeneratePixels()
x = mMidPoints[1].x; x = mMidPoints[1].x;
y = mMidPoints[1].y; y = mMidPoints[1].y;
JPoint newPt(x, y); Point newPt(x, y);
JPoint extraPt; Point extraPt;
mPixels.push_back(newPt); mPixels.push_back(newPt);
@@ -151,13 +151,13 @@ void JSpline::GeneratePixels()
} }
void JSpline::AddControlPoint(const JPoint &pt) void JSpline::AddControlPoint(const Point &pt)
{ {
mMidPoints.push_back(pt); mMidPoints.push_back(pt);
} }
void JSpline::GetControlPoint(JPoint &point, int index) void JSpline::GetControlPoint(Point &point, int index)
{ {
if (index < (int)mMidPoints.size()) if (index < (int)mMidPoints.size())
{ {
@@ -167,7 +167,7 @@ void JSpline::GetControlPoint(JPoint &point, int index)
} }
void JSpline::GetPixel(JPoint &point, int index) void JSpline::GetPixel(Point &point, int index)
{ {
if (index < (int)mPixels.size()) if (index < (int)mPixels.size())
{ {

View File

@@ -10,6 +10,5 @@ void resumeGame();
@property (nonatomic, retain) id eaglView; @property (nonatomic, retain) id eaglView;
@property (nonatomic, retain) UITextField *inputField; @property (nonatomic, retain) UITextField *inputField;
@property (nonatomic, assign) BOOL bannerIsVisible; @property (nonatomic, assign) BOOL bannerIsVisible;
- (void)toggleKeyboardWithState: (NSString *) initialText;
@end @end

View File

@@ -53,28 +53,28 @@
- (void)viewWillAppear:(BOOL)animated { - (void)viewWillAppear:(BOOL)animated {
NSLog(@"EAGL ViewController - view Will Appear"); NSLog(@"EAGL ViewController - view Will Appear");
[(id)self.view resumeGame]; [self.view resumeGame];
} }
- (void)viewWillDisappear:(BOOL)animated - (void)viewWillDisappear:(BOOL)animated
{ {
[(id)self.view pauseGame]; [self.view pauseGame];
} }
- (void)pauseGame - (void)pauseGame
{ {
[(id)self.view pauseGame]; [self.view pauseGame];
} }
- (void)resumeGame - (void)resumeGame
{ {
[(id)self.view resumeGame]; [self.view resumeGame];
} }
- (void)endGame - (void)endGame
{ {
[(id)self.view endGame]; [self.view endGame];
} }
- (void)viewDidAppear:(BOOL)animated { - (void)viewDidAppear:(BOOL)animated {

View File

@@ -337,7 +337,7 @@
- (void)applicationWillTerminate:(UIApplication *)application - (void)applicationWillTerminate:(UIApplication *)application
{ {
[(id)self.glViewController.view destroyGame]; [self.glViewController.view destroyGame];
} }
- (void)initializeKeyboard: (id) initialState - (void)initializeKeyboard: (id) initialState

View File

@@ -7,7 +7,6 @@
#include <winsock.h> #include <winsock.h>
#include <fcntl.h> #include <fcntl.h>
#elif LINUX #elif LINUX
#include <unistd.h>
#include <sys/types.h> #include <sys/types.h>
#include <sys/socket.h> #include <sys/socket.h>
#include <netinet/in.h> #include <netinet/in.h>

View File

@@ -87,13 +87,13 @@ static void init_keys(const char* passwd,unsigned long* pkeys,const unsigned lon
# define ZCR_SEED2 3141592654UL /* use PI as default pattern */ # define ZCR_SEED2 3141592654UL /* use PI as default pattern */
# endif # endif
static int crypthead( static int crypthead(passwd, buf, bufSize, pkeys, pcrc_32_tab, crcForCrypting)
const char *passwd, /* password string */ const char *passwd; /* password string */
unsigned char *buf, /* where to write header */ unsigned char *buf; /* where to write header */
int bufSize, int bufSize;
unsigned long* pkeys, unsigned long* pkeys;
const unsigned long* pcrc_32_tab, const unsigned long* pcrc_32_tab;
unsigned long crcForCrypting) unsigned long crcForCrypting;
{ {
int n; /* index in random header */ int n; /* index in random header */
int t; /* temporary */ int t; /* temporary */

View File

@@ -65,10 +65,10 @@ int ZCALLBACK ferror_file_func OF((
voidpf stream)); voidpf stream));
voidpf ZCALLBACK fopen_file_func ( voidpf ZCALLBACK fopen_file_func (opaque, filename, mode)
voidpf opaque, voidpf opaque;
const char* filename, const char* filename;
int mode) int mode;
{ {
FILE* file = NULL; FILE* file = NULL;
const char* mode_fopen = NULL; const char* mode_fopen = NULL;
@@ -87,11 +87,11 @@ voidpf ZCALLBACK fopen_file_func (
} }
uLong ZCALLBACK fread_file_func ( uLong ZCALLBACK fread_file_func (opaque, stream, buf, size)
voidpf opaque, voidpf opaque;
voidpf stream, voidpf stream;
void* buf, void* buf;
uLong size) uLong size;
{ {
uLong ret; uLong ret;
ret = (uLong)fread(buf, 1, (size_t)size, (FILE *)stream); ret = (uLong)fread(buf, 1, (size_t)size, (FILE *)stream);
@@ -99,31 +99,31 @@ uLong ZCALLBACK fread_file_func (
} }
uLong ZCALLBACK fwrite_file_func ( uLong ZCALLBACK fwrite_file_func (opaque, stream, buf, size)
voidpf opaque, voidpf opaque;
voidpf stream, voidpf stream;
const void* buf, const void* buf;
uLong size) uLong size;
{ {
uLong ret; uLong ret;
ret = (uLong)fwrite(buf, 1, (size_t)size, (FILE *)stream); ret = (uLong)fwrite(buf, 1, (size_t)size, (FILE *)stream);
return ret; return ret;
} }
long ZCALLBACK ftell_file_func ( long ZCALLBACK ftell_file_func (opaque, stream)
voidpf opaque, voidpf opaque;
voidpf stream) voidpf stream;
{ {
long ret; long ret;
ret = ftell((FILE *)stream); ret = ftell((FILE *)stream);
return ret; return ret;
} }
long ZCALLBACK fseek_file_func ( long ZCALLBACK fseek_file_func (opaque, stream, offset, origin)
voidpf opaque, voidpf opaque;
voidpf stream, voidpf stream;
uLong offset, uLong offset;
int origin) int origin;
{ {
int fseek_origin=0; int fseek_origin=0;
long ret; long ret;
@@ -145,26 +145,26 @@ long ZCALLBACK fseek_file_func (
return ret; return ret;
} }
int ZCALLBACK fclose_file_func ( int ZCALLBACK fclose_file_func (opaque, stream)
voidpf opaque, voidpf opaque;
voidpf stream) voidpf stream;
{ {
int ret; int ret;
ret = fclose((FILE *)stream); ret = fclose((FILE *)stream);
return ret; return ret;
} }
int ZCALLBACK ferror_file_func ( int ZCALLBACK ferror_file_func (opaque, stream)
voidpf opaque, voidpf opaque;
voidpf stream) voidpf stream;
{ {
int ret; int ret;
ret = ferror((FILE *)stream); ret = ferror((FILE *)stream);
return ret; return ret;
} }
void fill_fopen_filefunc ( void fill_fopen_filefunc (pzlib_filefunc_def)
zlib_filefunc_def* pzlib_filefunc_def) zlib_filefunc_def* pzlib_filefunc_def;
{ {
pzlib_filefunc_def->zopen_file = fopen_file_func; pzlib_filefunc_def->zopen_file = fopen_file_func;
pzlib_filefunc_def->zread_file = fread_file_func; pzlib_filefunc_def->zread_file = fread_file_func;

View File

@@ -168,7 +168,10 @@ local int unzlocal_getByte OF((
voidpf filestream, voidpf filestream,
int *pi)); int *pi));
local int unzlocal_getByte(const zlib_filefunc_def* pzlib_filefunc_def,voidpf filestream,int *pi) local int unzlocal_getByte(pzlib_filefunc_def,filestream,pi)
const zlib_filefunc_def* pzlib_filefunc_def;
voidpf filestream;
int *pi;
{ {
unsigned char c; unsigned char c;
int err = (int)ZREAD(*pzlib_filefunc_def,filestream,&c,1); int err = (int)ZREAD(*pzlib_filefunc_def,filestream,&c,1);
@@ -195,7 +198,10 @@ local int unzlocal_getShort OF((
voidpf filestream, voidpf filestream,
uLong *pX)); uLong *pX));
local int unzlocal_getShort (const zlib_filefunc_def* pzlib_filefunc_def,voidpf filestream,uLong *pX) local int unzlocal_getShort (pzlib_filefunc_def,filestream,pX)
const zlib_filefunc_def* pzlib_filefunc_def;
voidpf filestream;
uLong *pX;
{ {
uLong x ; uLong x ;
int i; int i;
@@ -220,7 +226,10 @@ local int unzlocal_getLong OF((
voidpf filestream, voidpf filestream,
uLong *pX)); uLong *pX));
local int unzlocal_getLong (const zlib_filefunc_def* pzlib_filefunc_def,voidpf filestream,uLong *pX) local int unzlocal_getLong (pzlib_filefunc_def,filestream,pX)
const zlib_filefunc_def* pzlib_filefunc_def;
voidpf filestream;
uLong *pX;
{ {
uLong x ; uLong x ;
int i; int i;
@@ -250,7 +259,9 @@ local int unzlocal_getLong (const zlib_filefunc_def* pzlib_filefunc_def,voidpf f
/* My own strcmpi / strcasecmp */ /* My own strcmpi / strcasecmp */
local int strcmpcasenosensitive_internal (const char* fileName1,const char* fileName2) local int strcmpcasenosensitive_internal (fileName1,fileName2)
const char* fileName1;
const char* fileName2;
{ {
for (;;) for (;;)
{ {
@@ -291,7 +302,10 @@ local int strcmpcasenosensitive_internal (const char* fileName1,const char* file
(like 1 on Unix, 2 on Windows) (like 1 on Unix, 2 on Windows)
*/ */
extern int ZEXPORT unzStringFileNameCompare (const char* fileName1,const char* fileName2,int iCaseSensitivity) extern int ZEXPORT unzStringFileNameCompare (fileName1,fileName2,iCaseSensitivity)
const char* fileName1;
const char* fileName2;
int iCaseSensitivity;
{ {
if (iCaseSensitivity==0) if (iCaseSensitivity==0)
iCaseSensitivity=CASESENSITIVITYDEFAULTVALUE; iCaseSensitivity=CASESENSITIVITYDEFAULTVALUE;
@@ -314,7 +328,9 @@ local uLong unzlocal_SearchCentralDir OF((
const zlib_filefunc_def* pzlib_filefunc_def, const zlib_filefunc_def* pzlib_filefunc_def,
voidpf filestream)); voidpf filestream));
local uLong unzlocal_SearchCentralDir(const zlib_filefunc_def* pzlib_filefunc_def,voidpf filestream) local uLong unzlocal_SearchCentralDir(pzlib_filefunc_def,filestream)
const zlib_filefunc_def* pzlib_filefunc_def;
voidpf filestream;
{ {
unsigned char* buf; unsigned char* buf;
uLong uSizeFile; uLong uSizeFile;
@@ -378,7 +394,9 @@ local uLong unzlocal_SearchCentralDir(const zlib_filefunc_def* pzlib_filefunc_de
Else, the return value is a unzFile Handle, usable with other function Else, the return value is a unzFile Handle, usable with other function
of this unzip package. of this unzip package.
*/ */
extern unzFile ZEXPORT unzOpen2 (const char *path, zlib_filefunc_def* pzlib_filefunc_def) extern unzFile ZEXPORT unzOpen2 (path, pzlib_filefunc_def)
const char *path;
zlib_filefunc_def* pzlib_filefunc_def;
{ {
unz_s us; unz_s us;
unz_s *s; unz_s *s;
@@ -479,7 +497,8 @@ extern unzFile ZEXPORT unzOpen2 (const char *path, zlib_filefunc_def* pzlib_file
} }
extern unzFile ZEXPORT unzOpen (const char *path) extern unzFile ZEXPORT unzOpen (path)
const char *path;
{ {
return unzOpen2(path, NULL); return unzOpen2(path, NULL);
} }
@@ -489,7 +508,8 @@ extern unzFile ZEXPORT unzOpen (const char *path)
If there is files inside the .Zip opened with unzipOpenCurrentFile (see later), If there is files inside the .Zip opened with unzipOpenCurrentFile (see later),
these files MUST be closed with unzipCloseCurrentFile before call unzipClose. these files MUST be closed with unzipCloseCurrentFile before call unzipClose.
return UNZ_OK if there is no problem. */ return UNZ_OK if there is no problem. */
extern int ZEXPORT unzClose (unzFile file) extern int ZEXPORT unzClose (file)
unzFile file;
{ {
unz_s* s; unz_s* s;
if (file==NULL) if (file==NULL)
@@ -509,7 +529,9 @@ extern int ZEXPORT unzClose (unzFile file)
Write info about the ZipFile in the *pglobal_info structure. Write info about the ZipFile in the *pglobal_info structure.
No preparation of the structure is needed No preparation of the structure is needed
return UNZ_OK if there is no problem. */ return UNZ_OK if there is no problem. */
extern int ZEXPORT unzGetGlobalInfo (unzFile file,unz_global_info *pglobal_info) extern int ZEXPORT unzGetGlobalInfo (file,pglobal_info)
unzFile file;
unz_global_info *pglobal_info;
{ {
unz_s* s; unz_s* s;
if (file==NULL) if (file==NULL)
@@ -523,7 +545,9 @@ extern int ZEXPORT unzGetGlobalInfo (unzFile file,unz_global_info *pglobal_info)
/* /*
Translate date/time from Dos format to tm_unz (readable more easilty) Translate date/time from Dos format to tm_unz (readable more easilty)
*/ */
local void unzlocal_DosDateToTmuDate (uLong ulDosDate, tm_unz* ptm) local void unzlocal_DosDateToTmuDate (ulDosDate, ptm)
uLong ulDosDate;
tm_unz* ptm;
{ {
uLong uDate; uLong uDate;
uDate = (uLong)(ulDosDate>>16); uDate = (uLong)(ulDosDate>>16);
@@ -550,16 +574,21 @@ local int unzlocal_GetCurrentFileInfoInternal OF((unzFile file,
char *szComment, char *szComment,
uLong commentBufferSize)); uLong commentBufferSize));
local int unzlocal_GetCurrentFileInfoInternal ( local int unzlocal_GetCurrentFileInfoInternal (file,
unzFile file, pfile_info,
unz_file_info *pfile_info, pfile_info_internal,
unz_file_info_internal *pfile_info_internal, szFileName, fileNameBufferSize,
char *szFileName, extraField, extraFieldBufferSize,
uLong fileNameBufferSize, szComment, commentBufferSize)
void *extraField, unzFile file;
uLong extraFieldBufferSize, unz_file_info *pfile_info;
char *szComment, unz_file_info_internal *pfile_info_internal;
uLong commentBufferSize) char *szFileName;
uLong fileNameBufferSize;
void *extraField;
uLong extraFieldBufferSize;
char *szComment;
uLong commentBufferSize;
{ {
unz_s* s; unz_s* s;
unz_file_info file_info; unz_file_info file_info;
@@ -717,15 +746,19 @@ local int unzlocal_GetCurrentFileInfoInternal (
No preparation of the structure is needed No preparation of the structure is needed
return UNZ_OK if there is no problem. return UNZ_OK if there is no problem.
*/ */
extern int ZEXPORT unzGetCurrentFileInfo ( extern int ZEXPORT unzGetCurrentFileInfo (file,
unzFile file, pfile_info,
unz_file_info *pfile_info, szFileName, fileNameBufferSize,
char *szFileName, extraField, extraFieldBufferSize,
uLong fileNameBufferSize, szComment, commentBufferSize)
void *extraField, unzFile file;
uLong extraFieldBufferSize, unz_file_info *pfile_info;
char *szComment, char *szFileName;
uLong commentBufferSize) uLong fileNameBufferSize;
void *extraField;
uLong extraFieldBufferSize;
char *szComment;
uLong commentBufferSize;
{ {
return unzlocal_GetCurrentFileInfoInternal(file,pfile_info,NULL, return unzlocal_GetCurrentFileInfoInternal(file,pfile_info,NULL,
szFileName,fileNameBufferSize, szFileName,fileNameBufferSize,
@@ -737,7 +770,8 @@ extern int ZEXPORT unzGetCurrentFileInfo (
Set the current file of the zipfile to the first file. Set the current file of the zipfile to the first file.
return UNZ_OK if there is no problem return UNZ_OK if there is no problem
*/ */
extern int ZEXPORT unzGoToFirstFile (unzFile file) extern int ZEXPORT unzGoToFirstFile (file)
unzFile file;
{ {
int err=UNZ_OK; int err=UNZ_OK;
unz_s* s; unz_s* s;
@@ -758,7 +792,8 @@ extern int ZEXPORT unzGoToFirstFile (unzFile file)
return UNZ_OK if there is no problem return UNZ_OK if there is no problem
return UNZ_END_OF_LIST_OF_FILE if the actual file was the latest. return UNZ_END_OF_LIST_OF_FILE if the actual file was the latest.
*/ */
extern int ZEXPORT unzGoToNextFile (unzFile file) extern int ZEXPORT unzGoToNextFile (file)
unzFile file;
{ {
unz_s* s; unz_s* s;
int err; int err;
@@ -791,7 +826,10 @@ extern int ZEXPORT unzGoToNextFile (unzFile file)
UNZ_OK if the file is found. It becomes the current file. UNZ_OK if the file is found. It becomes the current file.
UNZ_END_OF_LIST_OF_FILE if the file is not found UNZ_END_OF_LIST_OF_FILE if the file is not found
*/ */
extern int ZEXPORT unzLocateFile (unzFile file, const char *szFileName, int iCaseSensitivity) extern int ZEXPORT unzLocateFile (file, szFileName, iCaseSensitivity)
unzFile file;
const char *szFileName;
int iCaseSensitivity;
{ {
unz_s* s; unz_s* s;
int err; int err;
@@ -867,7 +905,9 @@ typedef struct unz_file_pos_s
} unz_file_pos; } unz_file_pos;
*/ */
extern int ZEXPORT unzGetFilePos(unzFile file, unz_file_pos* file_pos) extern int ZEXPORT unzGetFilePos(file, file_pos)
unzFile file;
unz_file_pos* file_pos;
{ {
unz_s* s; unz_s* s;
@@ -883,7 +923,9 @@ extern int ZEXPORT unzGetFilePos(unzFile file, unz_file_pos* file_pos)
return UNZ_OK; return UNZ_OK;
} }
extern int ZEXPORT unzGoToFilePos(unzFile file, unz_file_pos*file_pos) extern int ZEXPORT unzGoToFilePos(file, file_pos)
unzFile file;
unz_file_pos* file_pos;
{ {
unz_s* s; unz_s* s;
int err; int err;
@@ -917,11 +959,13 @@ extern int ZEXPORT unzGoToFilePos(unzFile file, unz_file_pos*file_pos)
store in *piSizeVar the size of extra info in local header store in *piSizeVar the size of extra info in local header
(filename and size of extra field data) (filename and size of extra field data)
*/ */
local int unzlocal_CheckCurrentFileCoherencyHeader ( local int unzlocal_CheckCurrentFileCoherencyHeader (s,piSizeVar,
unz_s* s, poffset_local_extrafield,
uInt* piSizeVar, psize_local_extrafield)
uLong *poffset_local_extrafield, unz_s* s;
uInt *psize_local_extrafield) uInt* piSizeVar;
uLong *poffset_local_extrafield;
uInt *psize_local_extrafield;
{ {
uLong uMagic,uData,uFlags; uLong uMagic,uData,uFlags;
uLong size_filename; uLong size_filename;
@@ -1006,12 +1050,12 @@ local int unzlocal_CheckCurrentFileCoherencyHeader (
Open for reading data the current file in the zipfile. Open for reading data the current file in the zipfile.
If there is no error and the file is opened, the return value is UNZ_OK. If there is no error and the file is opened, the return value is UNZ_OK.
*/ */
extern int ZEXPORT unzOpenCurrentFile3 ( extern int ZEXPORT unzOpenCurrentFile3 (file, method, level, raw, password)
unzFile file, unzFile file;
int* method, int* method;
int* level, int* level;
int raw, int raw;
const char* password) const char* password;
{ {
int err=UNZ_OK; int err=UNZ_OK;
uInt iSizeVar; uInt iSizeVar;
@@ -1092,7 +1136,7 @@ extern int ZEXPORT unzOpenCurrentFile3 (
pfile_in_zip_read_info->stream.zalloc = (alloc_func)0; pfile_in_zip_read_info->stream.zalloc = (alloc_func)0;
pfile_in_zip_read_info->stream.zfree = (free_func)0; pfile_in_zip_read_info->stream.zfree = (free_func)0;
pfile_in_zip_read_info->stream.opaque = (voidpf)0; pfile_in_zip_read_info->stream.opaque = (voidpf)0;
pfile_in_zip_read_info->stream.next_in = (Bytef*)0; pfile_in_zip_read_info->stream.next_in = (voidpf)0;
pfile_in_zip_read_info->stream.avail_in = 0; pfile_in_zip_read_info->stream.avail_in = 0;
err=inflateInit2(&pfile_in_zip_read_info->stream, -MAX_WBITS); err=inflateInit2(&pfile_in_zip_read_info->stream, -MAX_WBITS);
@@ -1151,21 +1195,24 @@ extern int ZEXPORT unzOpenCurrentFile3 (
return UNZ_OK; return UNZ_OK;
} }
extern int ZEXPORT unzOpenCurrentFile (unzFile file) extern int ZEXPORT unzOpenCurrentFile (file)
unzFile file;
{ {
return unzOpenCurrentFile3(file, NULL, NULL, 0, NULL); return unzOpenCurrentFile3(file, NULL, NULL, 0, NULL);
} }
extern int ZEXPORT unzOpenCurrentFilePassword (unzFile file, const char* password) extern int ZEXPORT unzOpenCurrentFilePassword (file, password)
unzFile file;
const char* password;
{ {
return unzOpenCurrentFile3(file, NULL, NULL, 0, password); return unzOpenCurrentFile3(file, NULL, NULL, 0, password);
} }
extern int ZEXPORT unzOpenCurrentFile2 ( extern int ZEXPORT unzOpenCurrentFile2 (file,method,level,raw)
unzFile file, unzFile file;
int* method, int* method;
int* level, int* level;
int raw) int raw;
{ {
return unzOpenCurrentFile3(file, method, level, raw, NULL); return unzOpenCurrentFile3(file, method, level, raw, NULL);
} }
@@ -1180,10 +1227,10 @@ extern int ZEXPORT unzOpenCurrentFile2 (
return <0 with error code if there is an error return <0 with error code if there is an error
(UNZ_ERRNO for IO error, or zLib error for uncompress error) (UNZ_ERRNO for IO error, or zLib error for uncompress error)
*/ */
extern int ZEXPORT unzReadCurrentFile( extern int ZEXPORT unzReadCurrentFile (file, buf, len)
unzFile file, unzFile file;
voidp buf, voidp buf;
unsigned len) unsigned len;
{ {
int err=UNZ_OK; int err=UNZ_OK;
uInt iRead = 0; uInt iRead = 0;
@@ -1341,7 +1388,8 @@ extern int ZEXPORT unzReadCurrentFile(
/* /*
Give the current position in uncompressed data Give the current position in uncompressed data
*/ */
extern z_off_t ZEXPORT unztell (unzFile file) extern z_off_t ZEXPORT unztell (file)
unzFile file;
{ {
unz_s* s; unz_s* s;
file_in_zip_read_info_s* pfile_in_zip_read_info; file_in_zip_read_info_s* pfile_in_zip_read_info;
@@ -1360,7 +1408,8 @@ extern z_off_t ZEXPORT unztell (unzFile file)
/* /*
return 1 if the end of file was reached, 0 elsewhere return 1 if the end of file was reached, 0 elsewhere
*/ */
extern int ZEXPORT unzeof (unzFile file) extern int ZEXPORT unzeof (file)
unzFile file;
{ {
unz_s* s; unz_s* s;
file_in_zip_read_info_s* pfile_in_zip_read_info; file_in_zip_read_info_s* pfile_in_zip_read_info;
@@ -1392,10 +1441,10 @@ extern int ZEXPORT unzeof (unzFile file)
the return value is the number of bytes copied in buf, or (if <0) the return value is the number of bytes copied in buf, or (if <0)
the error code the error code
*/ */
extern int ZEXPORT unzGetLocalExtrafield ( extern int ZEXPORT unzGetLocalExtrafield (file,buf,len)
unzFile file, unzFile file;
voidp buf, voidp buf;
unsigned len) unsigned len;
{ {
unz_s* s; unz_s* s;
file_in_zip_read_info_s* pfile_in_zip_read_info; file_in_zip_read_info_s* pfile_in_zip_read_info;
@@ -1443,7 +1492,8 @@ extern int ZEXPORT unzGetLocalExtrafield (
Close the file in zip opened with unzipOpenCurrentFile Close the file in zip opened with unzipOpenCurrentFile
Return UNZ_CRCERROR if all the file was read but the CRC is not good Return UNZ_CRCERROR if all the file was read but the CRC is not good
*/ */
extern int ZEXPORT unzCloseCurrentFile (unzFile file) extern int ZEXPORT unzCloseCurrentFile (file)
unzFile file;
{ {
int err=UNZ_OK; int err=UNZ_OK;
@@ -1485,11 +1535,12 @@ extern int ZEXPORT unzCloseCurrentFile (unzFile file)
uSizeBuf is the size of the szComment buffer. uSizeBuf is the size of the szComment buffer.
return the number of byte copied or an error code <0 return the number of byte copied or an error code <0
*/ */
extern int ZEXPORT unzGetGlobalComment ( extern int ZEXPORT unzGetGlobalComment (file, szComment, uSizeBuf)
unzFile file, unzFile file;
char *szComment, char *szComment;
uLong uSizeBuf) uLong uSizeBuf;
{ {
int err=UNZ_OK;
unz_s* s; unz_s* s;
uLong uReadThis ; uLong uReadThis ;
if (file==NULL) if (file==NULL)
@@ -1516,7 +1567,8 @@ extern int ZEXPORT unzGetGlobalComment (
} }
/* Additions by RX '2004 */ /* Additions by RX '2004 */
extern uLong ZEXPORT unzGetOffset (unzFile file) extern uLong ZEXPORT unzGetOffset (file)
unzFile file;
{ {
unz_s* s; unz_s* s;
@@ -1531,9 +1583,9 @@ extern uLong ZEXPORT unzGetOffset (unzFile file)
return s->pos_in_central_dir; return s->pos_in_central_dir;
} }
extern int ZEXPORT unzSetOffset ( extern int ZEXPORT unzSetOffset (file, pos)
unzFile file, unzFile file;
uLong pos) uLong pos;
{ {
unz_s* s; unz_s* s;
int err; int err;

View File

@@ -172,7 +172,8 @@ local linkedlist_datablock_internal* allocate_new_datablock()
return ldi; return ldi;
} }
local void free_datablock(linkedlist_datablock_internal* ldi) local void free_datablock(ldi)
linkedlist_datablock_internal* ldi;
{ {
while (ldi!=NULL) while (ldi!=NULL)
{ {
@@ -182,24 +183,24 @@ local void free_datablock(linkedlist_datablock_internal* ldi)
} }
} }
local void init_linkedlist( local void init_linkedlist(ll)
linkedlist_data* ll) linkedlist_data* ll;
{ {
ll->first_block = ll->last_block = NULL; ll->first_block = ll->last_block = NULL;
} }
local void free_linkedlist( local void free_linkedlist(ll)
linkedlist_data* ll) linkedlist_data* ll;
{ {
free_datablock(ll->first_block); free_datablock(ll->first_block);
ll->first_block = ll->last_block = NULL; ll->first_block = ll->last_block = NULL;
} }
local int add_data_in_datablock( local int add_data_in_datablock(ll,buf,len)
linkedlist_data* ll, linkedlist_data* ll;
const void* buf, const void* buf;
uLong len) uLong len;
{ {
linkedlist_datablock_internal* ldi; linkedlist_datablock_internal* ldi;
const unsigned char* from_copy; const unsigned char* from_copy;
@@ -262,11 +263,11 @@ local int add_data_in_datablock(
local int ziplocal_putValue OF((const zlib_filefunc_def* pzlib_filefunc_def, local int ziplocal_putValue OF((const zlib_filefunc_def* pzlib_filefunc_def,
voidpf filestream, uLong x, int nbByte)); voidpf filestream, uLong x, int nbByte));
local int ziplocal_putValue ( local int ziplocal_putValue (pzlib_filefunc_def, filestream, x, nbByte)
const zlib_filefunc_def* pzlib_filefunc_def, const zlib_filefunc_def* pzlib_filefunc_def;
voidpf filestream, voidpf filestream;
uLong x, uLong x;
int nbByte) int nbByte;
{ {
unsigned char buf[4]; unsigned char buf[4];
int n; int n;
@@ -290,10 +291,10 @@ local int ziplocal_putValue (
} }
local void ziplocal_putValue_inmemory OF((void* dest, uLong x, int nbByte)); local void ziplocal_putValue_inmemory OF((void* dest, uLong x, int nbByte));
local void ziplocal_putValue_inmemory ( local void ziplocal_putValue_inmemory (dest, x, nbByte)
void* dest, void* dest;
uLong x, uLong x;
int nbByte) int nbByte;
{ {
unsigned char* buf=(unsigned char*)dest; unsigned char* buf=(unsigned char*)dest;
int n; int n;
@@ -314,9 +315,9 @@ local void ziplocal_putValue_inmemory (
/****************************************************************************/ /****************************************************************************/
local uLong ziplocal_TmzDateToDosDate( local uLong ziplocal_TmzDateToDosDate(ptm,dosDate)
const tm_zip* ptm, const tm_zip* ptm;
uLong dosDate) uLong dosDate;
{ {
uLong year = (uLong)ptm->tm_year; uLong year = (uLong)ptm->tm_year;
if (year>1980) if (year>1980)
@@ -336,10 +337,10 @@ local int ziplocal_getByte OF((
voidpf filestream, voidpf filestream,
int *pi)); int *pi));
local int ziplocal_getByte( local int ziplocal_getByte(pzlib_filefunc_def,filestream,pi)
const zlib_filefunc_def* pzlib_filefunc_def, const zlib_filefunc_def* pzlib_filefunc_def;
voidpf filestream, voidpf filestream;
int *pi) int *pi;
{ {
unsigned char c; unsigned char c;
int err = (int)ZREAD(*pzlib_filefunc_def,filestream,&c,1); int err = (int)ZREAD(*pzlib_filefunc_def,filestream,&c,1);
@@ -366,10 +367,10 @@ local int ziplocal_getShort OF((
voidpf filestream, voidpf filestream,
uLong *pX)); uLong *pX));
local int ziplocal_getShort ( local int ziplocal_getShort (pzlib_filefunc_def,filestream,pX)
const zlib_filefunc_def* pzlib_filefunc_def, const zlib_filefunc_def* pzlib_filefunc_def;
voidpf filestream, voidpf filestream;
uLong *pX) uLong *pX;
{ {
uLong x ; uLong x ;
int i; int i;
@@ -394,10 +395,10 @@ local int ziplocal_getLong OF((
voidpf filestream, voidpf filestream,
uLong *pX)); uLong *pX));
local int ziplocal_getLong ( local int ziplocal_getLong (pzlib_filefunc_def,filestream,pX)
const zlib_filefunc_def* pzlib_filefunc_def, const zlib_filefunc_def* pzlib_filefunc_def;
voidpf filestream, voidpf filestream;
uLong *pX) uLong *pX;
{ {
uLong x ; uLong x ;
int i; int i;
@@ -436,9 +437,9 @@ local uLong ziplocal_SearchCentralDir OF((
const zlib_filefunc_def* pzlib_filefunc_def, const zlib_filefunc_def* pzlib_filefunc_def,
voidpf filestream)); voidpf filestream));
local uLong ziplocal_SearchCentralDir( local uLong ziplocal_SearchCentralDir(pzlib_filefunc_def,filestream)
const zlib_filefunc_def* pzlib_filefunc_def, const zlib_filefunc_def* pzlib_filefunc_def;
voidpf filestream) voidpf filestream;
{ {
unsigned char* buf; unsigned char* buf;
uLong uSizeFile; uLong uSizeFile;
@@ -495,11 +496,11 @@ local uLong ziplocal_SearchCentralDir(
#endif /* !NO_ADDFILEINEXISTINGZIP*/ #endif /* !NO_ADDFILEINEXISTINGZIP*/
/************************************************************/ /************************************************************/
extern zipFile ZEXPORT zipOpen2 ( extern zipFile ZEXPORT zipOpen2 (pathname, append, globalcomment, pzlib_filefunc_def)
const char *pathname, const char *pathname;
int append, int append;
zipcharpc* globalcomment, zipcharpc* globalcomment;
zlib_filefunc_def* pzlib_filefunc_def) zlib_filefunc_def* pzlib_filefunc_def;
{ {
zip_internal ziinit; zip_internal ziinit;
zip_internal* zi; zip_internal* zi;
@@ -614,7 +615,7 @@ extern zipFile ZEXPORT zipOpen2 (
if (size_comment>0) if (size_comment>0)
{ {
ziinit.globalcomment = (char*)ALLOC(size_comment+1); ziinit.globalcomment = ALLOC(size_comment+1);
if (ziinit.globalcomment) if (ziinit.globalcomment)
{ {
size_comment = ZREAD(ziinit.z_filefunc, ziinit.filestream,ziinit.globalcomment,size_comment); size_comment = ZREAD(ziinit.z_filefunc, ziinit.filestream,ziinit.globalcomment,size_comment);
@@ -679,30 +680,35 @@ extern zipFile ZEXPORT zipOpen2 (
} }
} }
extern zipFile ZEXPORT zipOpen ( extern zipFile ZEXPORT zipOpen (pathname, append)
const char *pathname, const char *pathname;
int append) int append;
{ {
return zipOpen2(pathname,append,NULL,NULL); return zipOpen2(pathname,append,NULL,NULL);
} }
extern int ZEXPORT zipOpenNewFileInZip3 ( extern int ZEXPORT zipOpenNewFileInZip3 (file, filename, zipfi,
zipFile file, extrafield_local, size_extrafield_local,
const char* filename, extrafield_global, size_extrafield_global,
const zip_fileinfo* zipfi, comment, method, level, raw,
const void* extrafield_local, windowBits, memLevel, strategy,
uInt size_extrafield_local, password, crcForCrypting)
const void* extrafield_global, zipFile file;
uInt size_extrafield_global, const char* filename;
const char* comment, const zip_fileinfo* zipfi;
int method, const void* extrafield_local;
int level, uInt size_extrafield_local;
int raw, const void* extrafield_global;
int windowBits, uInt size_extrafield_global;
int memLevel, const char* comment;
int strategy, int method;
const char* password, int level;
uLong crcForCrypting) int raw;
int windowBits;
int memLevel;
int strategy;
const char* password;
uLong crcForCrypting;
{ {
zip_internal* zi; zip_internal* zi;
uInt size_filename; uInt size_filename;
@@ -890,18 +896,21 @@ extern int ZEXPORT zipOpenNewFileInZip3 (
return err; return err;
} }
extern int ZEXPORT zipOpenNewFileInZip2( extern int ZEXPORT zipOpenNewFileInZip2(file, filename, zipfi,
zipFile file, extrafield_local, size_extrafield_local,
const char* filename, extrafield_global, size_extrafield_global,
const zip_fileinfo* zipfi, comment, method, level, raw)
const void* extrafield_local, zipFile file;
uInt size_extrafield_local, const char* filename;
const void* extrafield_global, const zip_fileinfo* zipfi;
uInt size_extrafield_global, const void* extrafield_local;
const char* comment, uInt size_extrafield_local;
int method, const void* extrafield_global;
int level, uInt size_extrafield_global;
int raw) const char* comment;
int method;
int level;
int raw;
{ {
return zipOpenNewFileInZip3 (file, filename, zipfi, return zipOpenNewFileInZip3 (file, filename, zipfi,
extrafield_local, size_extrafield_local, extrafield_local, size_extrafield_local,
@@ -911,17 +920,20 @@ extern int ZEXPORT zipOpenNewFileInZip2(
NULL, 0); NULL, 0);
} }
extern int ZEXPORT zipOpenNewFileInZip ( extern int ZEXPORT zipOpenNewFileInZip (file, filename, zipfi,
zipFile file, extrafield_local, size_extrafield_local,
const char* filename, extrafield_global, size_extrafield_global,
const zip_fileinfo* zipfi, comment, method, level)
const void* extrafield_local, zipFile file;
uInt size_extrafield_local, const char* filename;
const void* extrafield_global, const zip_fileinfo* zipfi;
uInt size_extrafield_global, const void* extrafield_local;
const char* comment, uInt size_extrafield_local;
int method, const void* extrafield_global;
int level) uInt size_extrafield_global;
const char* comment;
int method;
int level;
{ {
return zipOpenNewFileInZip2 (file, filename, zipfi, return zipOpenNewFileInZip2 (file, filename, zipfi,
extrafield_local, size_extrafield_local, extrafield_local, size_extrafield_local,
@@ -929,8 +941,8 @@ extern int ZEXPORT zipOpenNewFileInZip (
comment, method, level, 0); comment, method, level, 0);
} }
local int zipFlushWriteBuffer( local int zipFlushWriteBuffer(zi)
zip_internal* zi) zip_internal* zi;
{ {
int err=ZIP_OK; int err=ZIP_OK;
@@ -951,10 +963,10 @@ local int zipFlushWriteBuffer(
return err; return err;
} }
extern int ZEXPORT zipWriteInFileInZip ( extern int ZEXPORT zipWriteInFileInZip (file, buf, len)
zipFile file, zipFile file;
const void* buf, const void* buf;
unsigned len) unsigned len;
{ {
zip_internal* zi; zip_internal* zi;
int err=ZIP_OK; int err=ZIP_OK;
@@ -966,9 +978,9 @@ extern int ZEXPORT zipWriteInFileInZip (
if (zi->in_opened_file_inzip == 0) if (zi->in_opened_file_inzip == 0)
return ZIP_PARAMERROR; return ZIP_PARAMERROR;
zi->ci.stream.next_in = (Bytef*)buf; zi->ci.stream.next_in = (void*)buf;
zi->ci.stream.avail_in = len; zi->ci.stream.avail_in = len;
zi->ci.crc32 = crc32(zi->ci.crc32,(const Bytef*)buf,len); zi->ci.crc32 = crc32(zi->ci.crc32,buf,len);
while ((err==ZIP_OK) && (zi->ci.stream.avail_in>0)) while ((err==ZIP_OK) && (zi->ci.stream.avail_in>0))
{ {
@@ -1016,10 +1028,10 @@ extern int ZEXPORT zipWriteInFileInZip (
return err; return err;
} }
extern int ZEXPORT zipCloseFileInZipRaw ( extern int ZEXPORT zipCloseFileInZipRaw (file, uncompressed_size, crc32)
zipFile file, zipFile file;
uLong uncompressed_size, uLong uncompressed_size;
uLong crc32) uLong crc32;
{ {
zip_internal* zi; zip_internal* zi;
uLong compressed_size; uLong compressed_size;
@@ -1112,15 +1124,15 @@ extern int ZEXPORT zipCloseFileInZipRaw (
return err; return err;
} }
extern int ZEXPORT zipCloseFileInZip ( extern int ZEXPORT zipCloseFileInZip (file)
zipFile file) zipFile file;
{ {
return zipCloseFileInZipRaw (file,0,0); return zipCloseFileInZipRaw (file,0,0);
} }
extern int ZEXPORT zipClose ( extern int ZEXPORT zipClose (file, global_comment)
zipFile file, zipFile file;
const char* global_comment) const char* global_comment;
{ {
zip_internal* zi; zip_internal* zi;
int err = 0; int err = 0;

View File

@@ -42,6 +42,7 @@ filesystem * filesystem::pCurrentFS = NULL;
std::vector<filesystem::pooledBuffer *> filesystem::m_Buffers; std::vector<filesystem::pooledBuffer *> filesystem::m_Buffers;
static const int STORED = 0; static const int STORED = 0;
static const int DEFLATED = 8;
////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////
// Construction/Destruction // Construction/Destruction

View File

@@ -3,7 +3,7 @@
[![Build Status](https://travis-ci.org/WagicProject/wagic.png?branch=master)](https://travis-ci.org/WagicProject/wagic) [![Build Status](https://travis-ci.org/WagicProject/wagic.png?branch=master)](https://travis-ci.org/WagicProject/wagic)
[![Build status](https://ci.appveyor.com/api/projects/status/7j4fbr6m62aqej59/branch/master)](https://ci.appveyor.com/project/xawotihs/wagic/branch/master) [![Build status](https://ci.appveyor.com/api/projects/status/7j4fbr6m62aqej59/branch/master)](https://ci.appveyor.com/project/xawotihs/wagic/branch/master)
[![Coverage Status](https://coveralls.io/repos/WagicProject/wagic/badge.png?branch=master)](https://coveralls.io/r/WagicProject/wagic?branch=master)
## Description ## Description

View File

@@ -4,14 +4,6 @@
# - All section names are case-sensitive. # - All section names are case-sensitive.
# - Section names should be unique on each level. # - Section names should be unique on each level.
# branches to build
branches:
# blacklist
except:
- travis_mac_osx
# Do not build on tags (GitHub only)
skip_tags: true
#---------------------------------# #---------------------------------#
# environment configuration # # environment configuration #
#---------------------------------# #---------------------------------#
@@ -22,7 +14,7 @@ environment:
# scripts that run after cloning repository # scripts that run after cloning repository
install: install:
- ps: (new-object net.webclient).DownloadFile('https://bootstrap.pypa.io/get-pip.py', 'C:/get-pip.py') - ps: (new-object net.webclient).DownloadFile('https://raw.github.com/pypa/pip/master/contrib/get-pip.py', 'C:/get-pip.py')
- "C:/Python27/python.exe C:/get-pip.py" - "C:/Python27/python.exe C:/get-pip.py"
- "C:/Python27/Scripts/pip.exe install pyjavaproperties" - "C:/Python27/Scripts/pip.exe install pyjavaproperties"
- "C:/Python27/Scripts/pip.exe install github3.py" - "C:/Python27/Scripts/pip.exe install github3.py"
@@ -69,7 +61,7 @@ after_deploy:
# to run your custom scripts instead of provider deployments # to run your custom scripts instead of provider deployments
deploy_script: deploy_script:
- "C:/Python27/python.exe tools/upload-binaries.py -t %GH_TOKEN% -s %APPVEYOR_REPO_COMMIT% -l projects/mtg/bin/Wagic-windows.zip -r Wagic-windows.zip -b %APPVEYOR_REPO_BRANCH%" - "C:/Python27/python.exe upload-binaries.py -t %GH_TOKEN% -s %APPVEYOR_REPO_COMMIT% -l projects/mtg/bin/Wagic-windows.zip -r Wagic-windows.zip -b %APPVEYOR_REPO_BRANCH%"
# to disable deployment # to disable deployment
#deploy: off #deploy: off

View File

@@ -1,10 +1,10 @@
<?xml version="1.0" encoding="utf-8" standalone="no"?> <?xml version="1.0" encoding="utf-8" standalone="no"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" android:versionCode="0201" android:versionName="@string/app_version" package="net.wagic.app"> <manifest xmlns:android="http://schemas.android.com/apk/res/android" android:versionCode="0192" android:versionName="@string/app_version" package="net.wagic.app">
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS"/> <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.INTERNET"/> <uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<application android:debuggable="false" android:icon="@drawable/icon" android:label="@string/app_name" android:theme="@android:style/Theme.NoTitleBar.Fullscreen"> <application android:debuggable="true" android:icon="@drawable/icon" android:label="@string/app_name" android:theme="@android:style/Theme.NoTitleBar.Fullscreen">
<activity android:configChanges="keyboard|keyboardHidden|orientation" android:label="@string/app_name" android:name="org.libsdl.app.SDLActivity" android:screenOrientation="sensorLandscape"> <activity android:configChanges="keyboard|keyboardHidden|orientation" android:label="@string/app_name" android:name="org.libsdl.app.SDLActivity" android:screenOrientation="sensorLandscape">
<intent-filter> <intent-filter>
<action android:name="android.intent.action.MAIN"/> <action android:name="android.intent.action.MAIN"/>

View File

@@ -11,8 +11,9 @@ SDL_PATH := $(JGE_PATH)/Dependencies/SDL
BOOST_PATH := $(MY_WAGIC_ROOT)/Boost BOOST_PATH := $(MY_WAGIC_ROOT)/Boost
JPEG_PATH := $(JGE_PATH)/Dependencies/libjpeg JPEG_PATH := $(JGE_PATH)/Dependencies/libjpeg
PNG_PATH := $(JGE_PATH)/Dependencies/libpng PNG_PATH := $(JGE_PATH)/Dependencies/libpng
DEBUG ?= DEBUG
LOCAL_CFLAGS += -DLINUX -DANDROID -DSDL_CONFIG LOCAL_CFLAGS += -DLINUX -DANDROID -DSDL_CONFIG -D_$(DEBUG)
LOCAL_CFLAGS += -D_STLP_USE_SIMPLE_NODE_ALLOC -DTIXML_USE_STL LOCAL_CFLAGS += -D_STLP_USE_SIMPLE_NODE_ALLOC -DTIXML_USE_STL
LOCAL_CFLAGS += -D__arm__ -D_REENTRANT -D_GLIBCXX__PTHREADS LOCAL_CFLAGS += -D__arm__ -D_REENTRANT -D_GLIBCXX__PTHREADS
LOCAL_STATIC_LIBRARIES := libpng libjpeg LOCAL_STATIC_LIBRARIES := libpng libjpeg

Binary file not shown.

Before

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 43 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 60 KiB

View File

@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<resources> <resources>
<string name="app_name">Wagic</string> <string name="app_name">Wagic</string>
<string name="app_version">0.20.1</string> <string name="app_version">0.19.2</string>
<string name="info_text">Wagic v0.20.1\\nAll Rights Reserved.</string> <string name="info_text">Wagic v0.19.2\\nAll Rights Reserved.</string>
</resources> </resources>

View File

@@ -1,282 +0,0 @@
package net.wagic.utils;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.File;
import java.io.IOException;
import java.util.Scanner;
import android.util.Log;
public class DeckImporter
{
public static String importDeck( File f, String mypath, String activePath )
{
String message = "";
String deck = "";
String deckname = "";
String prefix = "#SB:";
int cardcount = 0;
if(f.exists() && !f.isDirectory())
{
deckname = f.getName();
int pos = deckname.lastIndexOf(".");
if (pos > 0)
{
deckname = deckname.substring(0, pos);
}
deck += "#NAME:"+deckname+"\n";
try
{
Scanner scanner = new Scanner(new File(mypath));
if (scanner.hasNext())
{
while (scanner.hasNext())
{
String line = scanner.nextLine();
line = line.trim();
if (!line.equals("") && cardcount < 61) // don't write out blank lines
{
String[] slines = line.split("\\s+");
String arranged = "";
for(int idx = 1; idx < slines.length; idx++)
{
arranged += slines[idx] + " ";
}
if ((isNumeric(slines[0])) && arranged != null)
{
if (slines[1] != null && slines[1].startsWith("["))
{
arranged = arranged.substring(5);
slines[1] = slines[1].replaceAll("\\[", "").replaceAll("\\]","");
deck += arranged + " (" + renameSet(slines[1]) + ") * " + slines[0] + "\n";
}
else
{
deck += arranged + "(*) * " + slines[0] + "\n";
}
cardcount += Integer.parseInt(slines[0]);
}
}
}
File profile = new File(activePath+"/Res/settings/options.txt");
if(profile.exists() && !profile.isDirectory())
{
String profileName = getActiveProfile(profile);
if(profileName != "Missing!")
{
File rootProfiles = new File(activePath+"/Res/profiles/"+profileName);
if(rootProfiles.exists() && rootProfiles.isDirectory())
{
//save deck
int countdeck = 1;
File[] files = rootProfiles.listFiles();
for (int i = 0; i < files.length; i++)
{//check if there is available deck...
if(files[i].getName().startsWith("deck"))
countdeck++;
}
File toSave = new File(rootProfiles+"/deck"+countdeck+".txt");
try
{
FileOutputStream fop = new FileOutputStream(toSave);
// if file doesn't exists, then create it
if (!toSave.exists()) {
toSave.createNewFile();
}
// get the content in bytes
byte[] contentInBytes = deck.getBytes();
fop.write(contentInBytes);
fop.flush();
fop.close();
message = "Import Deck Success!\n"+cardcount+" total cards in this deck\n\n"+deck;
}
catch (IOException e)
{
message = e.getMessage();
}
}
else
{
message = "Missing Folder!";
}
}
}
else
{
message = "Invalid Profile!";
}
}
else
{
message = "No errors, and file EMPTY";
}
}
catch(IOException e)
{
message = e.getMessage();
}
}
return message;
}
private static boolean isNumeric(String input)
{
try
{
Integer.parseInt(input);
}
catch(NumberFormatException ex)
{
return false;
}
return true;
}
private static String getActiveProfile(File mypath)
{
String name = "";
try
{
Scanner scanner = new Scanner(new File(mypath.toString()));
if (scanner.hasNext())
{
String line = scanner.nextLine();
name = line.substring(8);
}
else
{
return "Missing!";
}
}
catch(IOException e)
{
return "Missing!";
}
return name;
}
private static String renameSet(String set)
{
if (set == "")
return "*";
if (set == "AL")
return "ALL";
if (set == "AQ")
return "ATQ";
if (set == "AP")
return "APC";
if (set == "AN")
return "ARN";
if (set == "AE")
return "ARC";
if (set == "BR")
return "BRB";
if (set == "BD")
return "BTD";
if (set == "CH")
return "CHR";
if (set == "6E")
return "6ED";
if (set == "CS")
return "CSP";
if (set == "DS")
return "DST";
if (set == "D2")
return "DD2";
if (set == "8E")
return "8ED";
if (set == "EX")
return "EXO";
if (set == "FE")
return "FEM";
if (set == "FD")
return "5DN";
if (set == "5E")
return "5ED";
if (set == "4E")
return "4ED";
if (set == "GP")
return "GPT";
if (set == "HL")
return "HML";
if (set == "IA")
return "ICE";
if (set == "IN")
return "INV";
if (set == "JU")
return "JUD";
if (set == "LG")
return "LEG";
if (set == "LE")
return "LGN";
if (set == "A")
return "LEA";
if (set == "B")
return "LEB";
if (set == "MM")
return "MMQ";
if (set == "MI")
return "MIR";
if (set == "MR")
return "MRD";
if (set == "NE")
return "NEM";
if (set == "9E")
return "9ED";
if (set == "OD")
return "ODY";
if (set == "ON")
return "ONS";
if (set == "PS")
return "PLS";
if (set == "PT")
return "POR";
if (set == "P2")
return "P02";
if (set == "P3")
return "PTK";
if (set == "PR")
return "PPR";
if (set == "PY")
return "PCY";
if (set == "R")
return "RV";
if (set == "SC")
return "SCG";
if (set == "7E")
return "7ED";
if (set == "ST")
return "S99";
if (set == "ST2K")
return "S00";
if (set == "SH")
return "STH";
if (set == "TE")
return "TMP";
if (set == "DK")
return "DRK";
if (set == "TO")
return "TOR";
if (set == "UG")
return "UGL";
if (set == "U")
return "2ED";
if (set == "UD")
return "UDS";
if (set == "UL")
return "ULG";
if (set == "US")
return "USG";
if (set == "VI")
return "VIS";
if (set == "WL")
return "WTH";
else
return set;
}
}

View File

@@ -5,10 +5,6 @@ import java.io.FileNotFoundException;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Scanner; import java.util.Scanner;
import java.util.HashSet;
import java.util.Set;
import android.os.Build;
import android.os.Environment; import android.os.Environment;
import android.util.Log; import android.util.Log;
@@ -25,14 +21,8 @@ public class StorageOptions
public static void determineStorageOptions() public static void determineStorageOptions()
{ {
initializeMountPoints(); initializeMountPoints();
if (findForcemount()){
readMountsFileTest();
}
readMountsFile(); readMountsFile();
readVoldFile(); readVoldFile();
if (findForcemount()){
removeDuplicates(mMounts);
}
compareMountsWithVold(); compareMountsWithVold();
testAndCleanMountsList(); testAndCleanMountsList();
setProperties(); setProperties();
@@ -50,42 +40,6 @@ public class StorageOptions
} }
} }
private static void readMountsFileTest()
{
/*
* Test mountpoints storage -kevlahnota
*/
try
{
Scanner scanner = new Scanner(new File("/proc/mounts"));
while (scanner.hasNext())
{
String line = scanner.nextLine();
if (line.startsWith("/"))
{
String[] lineElements = line.split("\\s+");
if ("vfat".equals(lineElements[2]) || "fuse".equals(lineElements[2]) || "sdcardfs".equals(lineElements[2]))
{
File mountPoint = new File(lineElements[1]);
if (!lineElements[1].equals(defaultMountPoint))
if (mountPoint.isDirectory() && mountPoint.canRead())
mMounts.add(lineElements[1]);
}
}
}
} catch (FileNotFoundException fnfex)
{
// if proc/mount doesn't exist we just use
Log.i(StorageOptions.class.getCanonicalName(), fnfex.getMessage() + ": assuming " + defaultMountPoint + " is the only mount point");
mMounts.add(defaultMountPoint);
} catch (Exception e)
{
Log.e(StorageOptions.class.getCanonicalName(), e.getMessage() + ": unknown exception while reading mounts file");
mMounts.add(defaultMountPoint);
}
}
private static void readMountsFile() private static void readMountsFile()
{ {
/* /*
@@ -152,23 +106,6 @@ public class StorageOptions
mMounts.add(defaultMountPoint); mMounts.add(defaultMountPoint);
} }
} }
private static ArrayList<String> removeDuplicates(ArrayList<String> list)
{
ArrayList<String> result = new ArrayList<String>();
HashSet<String> set = new HashSet<String>();
for (String item : list)
{
if (!set.contains(item))
{
result.add(item);
set.add(item);
}
}
return result;
}
private static void compareMountsWithVold() private static void compareMountsWithVold()
{ {
@@ -195,54 +132,14 @@ public class StorageOptions
/* /*
* Now that we have a cleaned list of mount paths Test each one to make sure it's a valid and available path. If it is not, remove it from the list. * Now that we have a cleaned list of mount paths Test each one to make sure it's a valid and available path. If it is not, remove it from the list.
*/ */
int t = 0;
for (int i = 0; i < mMounts.size(); i++) for (int i = 0; i < mMounts.size(); i++)
{ {
t++;
String mount = mMounts.get(i); String mount = mMounts.get(i);
File root = new File(mount); File root = new File(mount);
if (!root.exists() || !root.isDirectory() || !root.canWrite()) if (!root.exists() || !root.isDirectory() || !root.canWrite())
mMounts.remove(i--); mMounts.remove(i--);
} }
if (t == 0 && Build.VERSION.SDK_INT >= 16 && findForcemount())
{//if none is found lets force it for Jellybean and above...
if (System.getenv("EXTERNAL_STORAGE") != null)
{
File root = new File(System.getenv("EXTERNAL_STORAGE"));
if (root.exists() && root.isDirectory() && root.canWrite())
{
if(!isRooted())
{
File folder = new File(System.getenv("EXTERNAL_STORAGE")+"/Android/data/net.wagic.app/files");
folder.mkdirs();
mMounts.add(folder.toString());
}
else
{
mMounts.add(System.getenv("EXTERNAL_STORAGE"));
}
}
}
if (System.getenv("SECONDARY_STORAGE") != null)
{
File root = new File(System.getenv("SECONDARY_STORAGE"));
if (root.exists() && root.isDirectory() && root.canWrite())
{
if(!isRooted())
{
File folder = new File(System.getenv("SECONDARY_STORAGE")+"/Android/data/net.wagic.app/files");
folder.mkdirs();
mMounts.add(folder.toString());
}
else
{
mMounts.add(System.getenv("SECONDARY_STORAGE"));
}
}
}
}
} }
private static void setProperties() private static void setProperties()
@@ -254,28 +151,14 @@ public class StorageOptions
ArrayList<String> mLabels = new ArrayList<String>(); ArrayList<String> mLabels = new ArrayList<String>();
int i = 1; int i = 1;
if(findForcemount()){ for (String path : mMounts)
for (String path : mMounts) { // TODO: /mnt/sdcard is assumed to always mean internal storage. Use this comparison until there is a better way to do this
{//with forcemount menu if ("/mnt/sdcard".equalsIgnoreCase(path))
if ("/mnt/sdcard".equalsIgnoreCase(path) || "/storage/sdcard0".equalsIgnoreCase(path)) mLabels.add("Built-in Storage");
mLabels.add("Internal SD " + "[" + path + "]"); else
else if (path.contains("emulated")) mLabels.add("External SD Card " + i++);
mLabels.add("Emulated SD " + " [" + path + "]");
else
mLabels.add("External SD " + " [" + path + "]");
}
} }
else
{
for (String path : mMounts)
{ // TODO: /mnt/sdcard is assumed to always mean internal storage. Use this comparison until there is a better way to do this
if ("/mnt/sdcard".equalsIgnoreCase(path))
mLabels.add("Built-in Storage");
else
mLabels.add("External SD Card " + i++);
}
}
labels = new String[mLabels.size()]; labels = new String[mLabels.size()];
mLabels.toArray(labels); mLabels.toArray(labels);
@@ -288,106 +171,4 @@ public class StorageOptions
// use and to prepare it for the next time it's needed. // use and to prepare it for the next time it's needed.
mMounts.clear(); mMounts.clear();
} }
}
private static boolean isExternalStorageReadOnly() {
String extStorageState = Environment.getExternalStorageState();
if (Environment.MEDIA_MOUNTED_READ_ONLY.equals(extStorageState)) {
return true;
}
return false;
}
private static boolean isExternalStorageAvailable() {
String extStorageState = Environment.getExternalStorageState();
if (Environment.MEDIA_MOUNTED.equals(extStorageState)) {
return true;
}
return false;
}
/**
* Checks if the device is rooted.
*
* @return <code>true</code> if the device is rooted, <code>false</code> otherwise.
*/
public static boolean isRooted() {
// get from build info
String buildTags = android.os.Build.TAGS;
if (buildTags != null && buildTags.contains("test-keys")) {
return true;
}
// check if /system/app/Superuser.apk is present
try {
File file = new File("/system/app/Superuser.apk");
if (file.exists()) {
return true;
}
}
catch (Exception e1) {
// ignore
}
try {
File file = new File("/system/app/Superuser/Superuser.apk");
if (file.exists()) {
return true;
}
}
catch (Exception e1) {
// ignore
}
//SuperSU
try {
File file = new File("/system/app/SuperSU.apk");
if (file.exists()) {
return true;
}
}
catch (Exception e1) {
// ignore
}
try {
File file = new File("/system/app/SuperSU/SuperSU.apk");
if (file.exists()) {
return true;
}
}
catch (Exception e1) {
// ignore
}
// try executing commands
return canExecuteCommand("/system/xbin/which su")
|| canExecuteCommand("/system/bin/which su") || canExecuteCommand("which su");
}
// executes a command on the system
private static boolean canExecuteCommand(String command) {
boolean executedSuccesfully;
try {
Runtime.getRuntime().exec(command);
executedSuccesfully = true;
}
catch (Exception e) {
executedSuccesfully = false;
}
return executedSuccesfully;
}
private static boolean findForcemount(){
try
{
File file = new File(System.getenv("EXTERNAL_STORAGE")+"/forcemount");
if (file.exists())
{
return true;
}
}
catch (Exception e1)
{
return false;
}
return false;
}
}

View File

@@ -1,20 +1,12 @@
package org.libsdl.app; package org.libsdl.app;
import java.io.BufferedInputStream; import java.io.BufferedInputStream;
import java.io.File; import java.io.File;
import java.io.FileOutputStream; import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.InputStream; import java.io.InputStream;
import java.io.IOException;
import java.io.OutputStream; import java.io.OutputStream;
import java.net.URL; import java.net.URL;
import java.net.URLConnection; import java.net.URLConnection;
import java.util.ArrayList;
import java.util.Scanner;
import javax.microedition.khronos.egl.EGL10; import javax.microedition.khronos.egl.EGL10;
import javax.microedition.khronos.egl.EGLConfig; import javax.microedition.khronos.egl.EGLConfig;
@@ -24,7 +16,6 @@ import javax.microedition.khronos.egl.EGLSurface;
import net.wagic.app.R; import net.wagic.app.R;
import net.wagic.utils.StorageOptions; import net.wagic.utils.StorageOptions;
import net.wagic.utils.DeckImporter;
import android.app.Activity; import android.app.Activity;
import android.app.AlertDialog; import android.app.AlertDialog;
import android.app.Dialog; import android.app.Dialog;
@@ -68,10 +59,7 @@ import android.widget.FrameLayout.LayoutParams;
*/ */
public class SDLActivity extends Activity implements OnKeyListener public class SDLActivity extends Activity implements OnKeyListener
{ {
//import deck globals
public ArrayList<String> myresult = new ArrayList<String>();
public String myclickedItem = "";
// TAG used for debugging in DDMS // TAG used for debugging in DDMS
public static String TAG = Activity.class.getCanonicalName(); public static String TAG = Activity.class.getCanonicalName();
@@ -212,60 +200,7 @@ public class SDLActivity extends Activity implements OnKeyListener
setStorage.create().show(); setStorage.create().show();
} }
private void importDeckOptions()
{
AlertDialog.Builder importDeck = new AlertDialog.Builder(this);
importDeck.setTitle("Choose Deck to Import:");
File root = new File(System.getenv("EXTERNAL_STORAGE")+"/Download");
File[] files = root.listFiles();
for( File f : files)
{
if( !myresult.contains(f.toString()) && (f.toString().contains(".txt")||f.toString().contains(".dck")||f.toString().contains(".dec")))
myresult.add(f.toString());
}
//get first item?
if(!myresult.isEmpty())
myclickedItem = myresult.get(0).toString();
importDeck.setSingleChoiceItems(myresult.toArray(new String[myresult.size()]), 0, new DialogInterface.OnClickListener()
{
public void onClick(DialogInterface dialog, int item)
{
myclickedItem = myresult.get(item).toString();
}
});
importDeck.setPositiveButton("Import Deck", new DialogInterface.OnClickListener()
{
public void onClick(DialogInterface dialog, int which)
{
processSelectedDeck( myclickedItem );
if (mSurface == null)
mSingleton.initializeGame();
}
});
importDeck.create().show();
}
private void processSelectedDeck(String mypath)
{
AlertDialog.Builder infoDialog = new AlertDialog.Builder(this);
infoDialog.setTitle("Imported Deck:");
String activePath = sdcardPath;
if(activePath == ""){
activePath = internalPath;
}
File f = new File(mypath);
//Call the deck importer....
String state = DeckImporter.importDeck(f, mypath, activePath);
infoDialog.setMessage(state);
infoDialog.show();
}
private void checkStorageLocationPreference() private void checkStorageLocationPreference()
{ {
SharedPreferences settings = getSharedPreferences(kWagicSharedPreferencesKey, MODE_PRIVATE); SharedPreferences settings = getSharedPreferences(kWagicSharedPreferencesKey, MODE_PRIVATE);
@@ -399,8 +334,7 @@ public class SDLActivity extends Activity implements OnKeyListener
public boolean onCreateOptionsMenu(Menu menu) public boolean onCreateOptionsMenu(Menu menu)
{ {
SubMenu settingsMenu = menu.addSubMenu(Menu.NONE, 1, 1, "Settings"); SubMenu settingsMenu = menu.addSubMenu(Menu.NONE, 1, 1, "Settings");
menu.add(Menu.NONE, 2, 2, "Import"); menu.add(Menu.NONE, 2, 2, "About");
menu.add(Menu.NONE, 3, 3, "About");
settingsMenu.add(kStorageDataOptionsMenuId, kStorageDataOptionsMenuId, Menu.NONE, "Storage Data Options"); settingsMenu.add(kStorageDataOptionsMenuId, kStorageDataOptionsMenuId, Menu.NONE, "Storage Data Options");
// buildStorageOptionsMenu(settingsMenu); // buildStorageOptionsMenu(settingsMenu);
@@ -416,9 +350,6 @@ public class SDLActivity extends Activity implements OnKeyListener
{ {
displayStorageOptions(); displayStorageOptions();
} else if (itemId == 2) } else if (itemId == 2)
{
importDeckOptions();
} else if (itemId == 3)
{ {
// display some info about the app // display some info about the app
AlertDialog.Builder infoDialog = new AlertDialog.Builder(this); AlertDialog.Builder infoDialog = new AlertDialog.Builder(this);

View File

Before

Width:  |  Height:  |  Size: 820 KiB

After

Width:  |  Height:  |  Size: 820 KiB

View File

Before

Width:  |  Height:  |  Size: 235 KiB

After

Width:  |  Height:  |  Size: 235 KiB

View File

Before

Width:  |  Height:  |  Size: 630 KiB

After

Width:  |  Height:  |  Size: 630 KiB

View File

Before

Width:  |  Height:  |  Size: 233 KiB

After

Width:  |  Height:  |  Size: 233 KiB

View File

Before

Width:  |  Height:  |  Size: 417 KiB

After

Width:  |  Height:  |  Size: 417 KiB

View File

Before

Width:  |  Height:  |  Size: 235 KiB

After

Width:  |  Height:  |  Size: 235 KiB

View File

Before

Width:  |  Height:  |  Size: 235 KiB

After

Width:  |  Height:  |  Size: 235 KiB

View File

@@ -1,20 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>NSPrincipalClass</key>
<string>NSApplication</string>
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleGetInfoString</key>
<string>Created by Qt/QMake</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleExecutable</key>
<string>wagic.launcher</string>
<key>CFBundleIdentifier</key>
<string>wagic.wagic</string>
<key>NOTE</key>
<string>This file was generated by Qt/QMake.</string>
</dict>
</plist>

Binary file not shown.

View File

@@ -1,5 +0,0 @@
#!/bin/bash
cd ${0%/*/*}/Resources
#cd ../Resources
exec ../MacOS/wagic -platformpluginpath ../PlugIns >> ../logs/out.log 2> ../logs/err.log

View File

@@ -1,11 +1,5 @@
#NAME:Kill by Numbers #NAME:Kill by Numbers
#DESC:They just keep multiplying. #DESC:They just keep multiplying.
#HINT:castpriority(enchantment,instant,sorcery,artifact,creature)
#HINT:dontattackwith(Rhys the Redeemed)
#HINT:dontblockwith(Rhys the Redeemed)
#HINT:dontattackwith(Kazandu Tuskcaller)
#HINT:dontblockwith(Kazandu Tuskcaller)
Mox Emerald (LEA) *2 Mox Emerald (LEA) *2
Mox Pearl (LEA) *2 Mox Pearl (LEA) *2
Forest (LEA) *15 Forest (LEA) *15

Binary file not shown.

Before

Width:  |  Height:  |  Size: 522 KiB

After

Width:  |  Height:  |  Size: 70 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 122 KiB

After

Width:  |  Height:  |  Size: 40 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 151 KiB

After

Width:  |  Height:  |  Size: 33 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 233 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 63 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 17 KiB

After

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 60 KiB

After

Width:  |  Height:  |  Size: 140 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 28 KiB

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 35 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 29 KiB

After

Width:  |  Height:  |  Size: 33 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 132 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 117 KiB

After

Width:  |  Height:  |  Size: 40 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 95 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.3 KiB

After

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 60 KiB

After

Width:  |  Height:  |  Size: 53 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 405 KiB

After

Width:  |  Height:  |  Size: 142 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 150 KiB

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 177 KiB

After

Width:  |  Height:  |  Size: 110 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 489 KiB

After

Width:  |  Height:  |  Size: 115 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 76 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 514 KiB

After

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 514 KiB

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 514 KiB

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 514 KiB

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 514 KiB

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 514 KiB

After

Width:  |  Height:  |  Size: 33 KiB

View File

@@ -5,6 +5,7 @@ wallpapers/wagic1.jpg
wallpapers/kaioshin_garruk.jpg wallpapers/kaioshin_garruk.jpg
wallpapers/kaioshin_jace.jpg wallpapers/kaioshin_jace.jpg
graphics/shop.jpg graphics/shop.jpg
themes/Classic/backdrop.jpg
wallpapers/kaioshin_ravager.jpg wallpapers/kaioshin_ravager.jpg
wallpapers/kaioshin_elsXIII.jpg wallpapers/kaioshin_elsXIII.jpg
wallpapers/kaioshin_sorin.jpg wallpapers/kaioshin_sorin.jpg

Binary file not shown.

Before

Width:  |  Height:  |  Size: 125 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 46 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 76 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 51 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 54 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 49 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 24 KiB

View File

@@ -1 +0,0 @@
here are the old themes.

View File

@@ -13,12 +13,8 @@ auto=flashbackrule
auto=retracerule auto=retracerule
auto=suspendrule auto=suspendrule
auto=morphrule auto=morphrule
auto=payzerorule
auto=overloadrule
auto=attackrule auto=attackrule
auto=attackcostrule
auto=blockrule auto=blockrule
auto=blockcostrule
auto=combattriggerrule auto=combattriggerrule
auto=legendrule auto=legendrule
auto=planeswalkerrule auto=planeswalkerrule

View File

@@ -12,12 +12,8 @@ auto=flashbackrule
auto=retracerule auto=retracerule
auto=suspendrule auto=suspendrule
auto=morphrule auto=morphrule
auto=payzerorule
auto=overloadrule
auto=attackrule auto=attackrule
auto=attackcostrule
auto=blockrule auto=blockrule
auto=blockcostrule
auto=combattriggerrule auto=combattriggerrule
auto=legendrule auto=legendrule
auto=planeswalkerrule auto=planeswalkerrule

View File

@@ -42,10 +42,6 @@
<item name="types" > <item name="types" >
<position x="22" y="49"/> <position x="22" y="49"/>
</item> </item>
<item name="cardid" >
<position x="22" y="237"/>
<formattedtext>mtgid</formattedtext>
</item>
<item name="expansionrarity" > <item name="expansionrarity" >
<position x="22" y="255"/> <position x="22" y="255"/>
<formattedtext>expansion rarity</formattedtext> <formattedtext>expansion rarity</formattedtext>

View File

@@ -16,12 +16,9 @@ auto=flashbackrule
auto=retracerule auto=retracerule
auto=suspendrule auto=suspendrule
auto=morphrule auto=morphrule
auto=payzerorule auto=playfromgraveyardrule
auto=overloadrule
auto=attackrule auto=attackrule
auto=attackcostrule
auto=blockrule auto=blockrule
auto=blockcostrule
auto=combattriggerrule auto=combattriggerrule
auto=legendrule auto=legendrule
auto=planeswalkerrule auto=planeswalkerrule
@@ -35,7 +32,6 @@ auto=lifelinkrule
auto=deathtouchrule auto=deathtouchrule
auto=soulbondrule auto=soulbondrule
auto=dredgerule auto=dredgerule
auto=bestowrule
[PLAYERS] [PLAYERS]
life:20 life:20

View File

@@ -1,8 +1,7 @@
[meta] [meta]
author=Wagic Team author=Wagic Team
name=Tenth Edition name=10th Edition
year=2007 year=2007
total=383
[/meta] [/meta]
[card] [card]
primitive=Abundance primitive=Abundance
@@ -60,11 +59,6 @@ id=129465
rarity=U rarity=U
[/card] [/card]
[card] [card]
primitive=Angel's Feather
id=129466
rarity=U
[/card]
[card]
primitive=Angelic Blessing primitive=Angelic Blessing
id=129711 id=129711
rarity=C rarity=C
@@ -80,6 +74,11 @@ id=129671
rarity=C rarity=C
[/card] [/card]
[card] [card]
primitive=Angel's Feather
id=129466
rarity=U
[/card]
[card]
primitive=Arcane Teachings primitive=Arcane Teachings
id=130530 id=130530
rarity=U rarity=U
@@ -575,16 +574,16 @@ id=134762
rarity=C rarity=C
[/card] [/card]
[card] [card]
primitive=Furnace Whelp
id=130386
rarity=U
[/card]
[card]
primitive=Furnace of Rath primitive=Furnace of Rath
id=129566 id=129566
rarity=R rarity=R
[/card] [/card]
[card] [card]
primitive=Furnace Whelp
id=130386
rarity=U
[/card]
[card]
primitive=Gaea's Herald primitive=Gaea's Herald
id=129789 id=129789
rarity=R rarity=R
@@ -960,16 +959,16 @@ id=135272
rarity=R rarity=R
[/card] [/card]
[card] [card]
primitive=Might Weaver
id=130996
rarity=U
[/card]
[card]
primitive=Might of Oaks primitive=Might of Oaks
id=129642 id=129642
rarity=R rarity=R
[/card] [/card]
[card] [card]
primitive=Might Weaver
id=130996
rarity=U
[/card]
[card]
primitive=Millstone primitive=Millstone
id=129643 id=129643
rarity=R rarity=R

View File

@@ -1,8 +1,7 @@
[meta] [meta]
author=Wagic Team author=Wagic Team
name=Unlimited Edition name=2nd Edition
year=1993 year=1993
total=302
[/meta] [/meta]
[card] [card]
primitive=Air Elemental primitive=Air Elemental
@@ -461,7 +460,7 @@ rarity=R
[/card] [/card]
[card] [card]
primitive=Forest primitive=Forest
id=888 id=890
rarity=L rarity=L
[/card] [/card]
[card] [card]
@@ -471,7 +470,7 @@ rarity=L
[/card] [/card]
[card] [card]
primitive=Forest primitive=Forest
id=890 id=888
rarity=L rarity=L
[/card] [/card]
[card] [card]
@@ -645,13 +644,8 @@ id=756
rarity=C rarity=C
[/card] [/card]
[card] [card]
primitive=Island Sanctuary
id=854
rarity=R
[/card]
[card]
primitive=Island primitive=Island
id=894 id=896
rarity=L rarity=L
[/card] [/card]
[card] [card]
@@ -661,10 +655,15 @@ rarity=L
[/card] [/card]
[card] [card]
primitive=Island primitive=Island
id=896 id=894
rarity=L rarity=L
[/card] [/card]
[card] [card]
primitive=Island Sanctuary
id=854
rarity=R
[/card]
[card]
primitive=Ivory Cup primitive=Ivory Cup
id=619 id=619
rarity=U rarity=U
@@ -846,7 +845,7 @@ rarity=C
[/card] [/card]
[card] [card]
primitive=Mountain primitive=Mountain
id=891 id=893
rarity=L rarity=L
[/card] [/card]
[card] [card]
@@ -856,7 +855,7 @@ rarity=L
[/card] [/card]
[card] [card]
primitive=Mountain primitive=Mountain
id=893 id=891
rarity=L rarity=L
[/card] [/card]
[card] [card]
@@ -976,7 +975,7 @@ rarity=C
[/card] [/card]
[card] [card]
primitive=Plains primitive=Plains
id=897 id=899
rarity=L rarity=L
[/card] [/card]
[card] [card]
@@ -986,7 +985,7 @@ rarity=L
[/card] [/card]
[card] [card]
primitive=Plains primitive=Plains
id=899 id=897
rarity=L rarity=L
[/card] [/card]
[card] [card]
@@ -1105,13 +1104,13 @@ id=866
rarity=C rarity=C
[/card] [/card]
[card] [card]
primitive=Savannah Lions primitive=Savannah
id=867 id=881
rarity=R rarity=R
[/card] [/card]
[card] [card]
primitive=Savannah primitive=Savannah Lions
id=881 id=867
rarity=R rarity=R
[/card] [/card]
[card] [card]
@@ -1241,7 +1240,7 @@ rarity=R
[/card] [/card]
[card] [card]
primitive=Swamp primitive=Swamp
id=875 id=877
rarity=L rarity=L
[/card] [/card]
[card] [card]
@@ -1251,7 +1250,7 @@ rarity=L
[/card] [/card]
[card] [card]
primitive=Swamp primitive=Swamp
id=877 id=875
rarity=L rarity=L
[/card] [/card]
[card] [card]

View File

@@ -1,8 +1,7 @@
[meta] [meta]
author=Wagic Team author=Wagic Team
name=Fourth Edition name=4th Edition
year=1995 year=1995
total=378
[/meta] [/meta]
[card] [card]
primitive=Abomination primitive=Abomination
@@ -75,13 +74,13 @@ id=2144
rarity=C rarity=C
[/card] [/card]
[card] [card]
primitive=Armageddon Clock primitive=Armageddon
id=2018 id=2320
rarity=R rarity=R
[/card] [/card]
[card] [card]
primitive=Armageddon primitive=Armageddon Clock
id=2320 id=2018
rarity=R rarity=R
[/card] [/card]
[card] [card]
@@ -510,13 +509,13 @@ id=2041
rarity=R rarity=R
[/card] [/card]
[card] [card]
primitive=El-Hajjaj primitive=Elder Land Wurm
id=2101 id=2339
rarity=R rarity=R
[/card] [/card]
[card] [card]
primitive=Elder Land Wurm primitive=El-Hajjaj
id=2339 id=2101
rarity=R rarity=R
[/card] [/card]
[card] [card]
@@ -631,7 +630,7 @@ rarity=R
[/card] [/card]
[card] [card]
primitive=Forest primitive=Forest
id=2377 id=2379
rarity=L rarity=L
[/card] [/card]
[card] [card]
@@ -641,7 +640,7 @@ rarity=L
[/card] [/card]
[card] [card]
primitive=Forest primitive=Forest
id=2379 id=2377
rarity=L rarity=L
[/card] [/card]
[card] [card]
@@ -840,18 +839,8 @@ id=2220
rarity=C rarity=C
[/card] [/card]
[card] [card]
primitive=Island Fish Jasconius
id=2161
rarity=R
[/card]
[card]
primitive=Island Sanctuary
id=2346
rarity=R
[/card]
[card]
primitive=Island primitive=Island
id=2389 id=2391
rarity=L rarity=L
[/card] [/card]
[card] [card]
@@ -861,10 +850,20 @@ rarity=L
[/card] [/card]
[card] [card]
primitive=Island primitive=Island
id=2391 id=2389
rarity=L rarity=L
[/card] [/card]
[card] [card]
primitive=Island Fish Jasconius
id=2161
rarity=R
[/card]
[card]
primitive=Island Sanctuary
id=2346
rarity=R
[/card]
[card]
primitive=Ivory Cup primitive=Ivory Cup
id=2050 id=2050
rarity=U rarity=U
@@ -1106,7 +1105,7 @@ rarity=C
[/card] [/card]
[card] [card]
primitive=Mountain primitive=Mountain
id=2381 id=2383
rarity=L rarity=L
[/card] [/card]
[card] [card]
@@ -1116,7 +1115,7 @@ rarity=L
[/card] [/card]
[card] [card]
primitive=Mountain primitive=Mountain
id=2383 id=2381
rarity=L rarity=L
[/card] [/card]
[card] [card]
@@ -1246,7 +1245,7 @@ rarity=C
[/card] [/card]
[card] [card]
primitive=Plains primitive=Plains
id=2384 id=2386
rarity=L rarity=L
[/card] [/card]
[card] [card]
@@ -1256,7 +1255,7 @@ rarity=L
[/card] [/card]
[card] [card]
primitive=Plains primitive=Plains
id=2386 id=2384
rarity=L rarity=L
[/card] [/card]
[card] [card]
@@ -1546,7 +1545,7 @@ rarity=C
[/card] [/card]
[card] [card]
primitive=Swamp primitive=Swamp
id=2374 id=2376
rarity=L rarity=L
[/card] [/card]
[card] [card]
@@ -1556,7 +1555,7 @@ rarity=L
[/card] [/card]
[card] [card]
primitive=Swamp primitive=Swamp
id=2376 id=2374
rarity=L rarity=L
[/card] [/card]
[card] [card]

View File

@@ -1,9 +1,7 @@
[meta] [meta]
author=Wagic Team author=Wagic Team
name=Fifth Dawn
block=Mirrodin
year=2004 year=2004
total=165 block=Mirror
[/meta] [/meta]
[card] [card]
primitive=Abuna's Chant primitive=Abuna's Chant

View File

@@ -1,15 +1,9 @@
[meta] [meta]
author=Wagic Team author=Wagic Team
name=Fifth Edition name=5th Edition
year=1997 year=1997
total=449
[/meta] [/meta]
[card] [card]
primitive=AEther Storm
id=3891
rarity=U
[/card]
[card]
primitive=Abbey Gargoyles primitive=Abbey Gargoyles
id=4098 id=4098
rarity=U rarity=U
@@ -25,6 +19,11 @@ id=4175
rarity=R rarity=R
[/card] [/card]
[card] [card]
primitive=AEther Storm
id=3891
rarity=U
[/card]
[card]
primitive=Air Elemental primitive=Air Elemental
id=3892 id=3892
rarity=U rarity=U
@@ -55,16 +54,16 @@ id=3759
rarity=C rarity=C
[/card] [/card]
[card] [card]
primitive=An-Havva Constable
id=3960
rarity=R
[/card]
[card]
primitive=Angry Mob primitive=Angry Mob
id=4101 id=4101
rarity=U rarity=U
[/card] [/card]
[card] [card]
primitive=An-Havva Constable
id=3960
rarity=R
[/card]
[card]
primitive=Animate Dead primitive=Animate Dead
id=3823 id=3823
rarity=U rarity=U
@@ -430,11 +429,6 @@ id=3835
rarity=U rarity=U
[/card] [/card]
[card] [card]
primitive=D'Avenant Archer
id=4120
rarity=C
[/card]
[card]
primitive=Dance of Many primitive=Dance of Many
id=3899 id=3899
rarity=R rarity=R
@@ -460,6 +454,11 @@ id=3836
rarity=C rarity=C
[/card] [/card]
[card] [card]
primitive=D'Avenant Archer
id=4120
rarity=C
[/card]
[card]
primitive=Death Speakers primitive=Death Speakers
id=4121 id=4121
rarity=C rarity=C
@@ -735,23 +734,18 @@ id=3976
rarity=C rarity=C
[/card] [/card]
[card] [card]
primitive=Force Spike
id=3909
rarity=C
[/card]
[card]
primitive=Force of Nature primitive=Force of Nature
id=3977 id=3977
rarity=R rarity=R
[/card] [/card]
[card] [card]
primitive=Forest primitive=Force Spike
id=4171 id=3909
rarity=L rarity=C
[/card] [/card]
[card] [card]
primitive=Forest primitive=Forest
id=4172 id=4174
rarity=L rarity=L
[/card] [/card]
[card] [card]
@@ -761,7 +755,12 @@ rarity=L
[/card] [/card]
[card] [card]
primitive=Forest primitive=Forest
id=4174 id=4172
rarity=L
[/card]
[card]
primitive=Forest
id=4171
rarity=L rarity=L
[/card] [/card]
[card] [card]
@@ -900,13 +899,13 @@ id=4182
rarity=U rarity=U
[/card] [/card]
[card] [card]
primitive=Healing Salve primitive=Heal
id=4130 id=4129
rarity=C rarity=C
[/card] [/card]
[card] [card]
primitive=Heal primitive=Healing Salve
id=4129 id=4130
rarity=C rarity=C
[/card] [/card]
[card] [card]
@@ -1055,18 +1054,8 @@ id=3988
rarity=C rarity=C
[/card] [/card]
[card] [card]
primitive=Island Sanctuary
id=4136
rarity=R
[/card]
[card]
primitive=Island primitive=Island
id=4199 id=4202
rarity=L
[/card]
[card]
primitive=Island
id=4200
rarity=L rarity=L
[/card] [/card]
[card] [card]
@@ -1076,10 +1065,20 @@ rarity=L
[/card] [/card]
[card] [card]
primitive=Island primitive=Island
id=4202 id=4200
rarity=L rarity=L
[/card] [/card]
[card] [card]
primitive=Island
id=4199
rarity=L
[/card]
[card]
primitive=Island Sanctuary
id=4136
rarity=R
[/card]
[card]
primitive=Ivory Cup primitive=Ivory Cup
id=3792 id=3792
rarity=U rarity=U
@@ -1365,18 +1364,8 @@ id=4072
rarity=C rarity=C
[/card] [/card]
[card] [card]
primitive=Mountain Goat
id=4073
rarity=C
[/card]
[card]
primitive=Mountain primitive=Mountain
id=4195 id=4198
rarity=L
[/card]
[card]
primitive=Mountain
id=4196
rarity=L rarity=L
[/card] [/card]
[card] [card]
@@ -1386,10 +1375,20 @@ rarity=L
[/card] [/card]
[card] [card]
primitive=Mountain primitive=Mountain
id=4198 id=4196
rarity=L rarity=L
[/card] [/card]
[card] [card]
primitive=Mountain
id=4195
rarity=L
[/card]
[card]
primitive=Mountain Goat
id=4073
rarity=C
[/card]
[card]
primitive=Murk Dwellers primitive=Murk Dwellers
id=3863 id=3863
rarity=C rarity=C
@@ -1546,12 +1545,7 @@ rarity=C
[/card] [/card]
[card] [card]
primitive=Plains primitive=Plains
id=4203 id=4206
rarity=L
[/card]
[card]
primitive=Plains
id=4204
rarity=L rarity=L
[/card] [/card]
[card] [card]
@@ -1561,7 +1555,12 @@ rarity=L
[/card] [/card]
[card] [card]
primitive=Plains primitive=Plains
id=4206 id=4204
rarity=L
[/card]
[card]
primitive=Plains
id=4203
rarity=L rarity=L
[/card] [/card]
[card] [card]
@@ -1795,16 +1794,16 @@ id=3810
rarity=U rarity=U
[/card] [/card]
[card] [card]
primitive=Shatterstorm
id=4087
rarity=U
[/card]
[card]
primitive=Shatter primitive=Shatter
id=4086 id=4086
rarity=C rarity=C
[/card] [/card]
[card] [card]
primitive=Shatterstorm
id=4087
rarity=U
[/card]
[card]
primitive=Shield Bearer primitive=Shield Bearer
id=4159 id=4159
rarity=C rarity=C
@@ -1921,12 +1920,7 @@ rarity=U
[/card] [/card]
[card] [card]
primitive=Swamp primitive=Swamp
id=4167 id=4170
rarity=L
[/card]
[card]
primitive=Swamp
id=4168
rarity=L rarity=L
[/card] [/card]
[card] [card]
@@ -1936,7 +1930,12 @@ rarity=L
[/card] [/card]
[card] [card]
primitive=Swamp primitive=Swamp
id=4170 id=4168
rarity=L
[/card]
[card]
primitive=Swamp
id=4167
rarity=L rarity=L
[/card] [/card]
[card] [card]

View File

@@ -1,15 +1,9 @@
[meta] [meta]
author=Wagic Team author=Wagic Team
name=Classic Sixth Edition name=6th Edition
year=1999 year=1999
total=350
[/meta] [/meta]
[card] [card]
primitive=AEther Flash
id=15447
rarity=U
[/card]
[card]
primitive=Abduction primitive=Abduction
id=14526 id=14526
rarity=U rarity=U
@@ -30,6 +24,11 @@ id=14727
rarity=R rarity=R
[/card] [/card]
[card] [card]
primitive=AEther Flash
id=15447
rarity=U
[/card]
[card]
primitive=Agonizing Memories primitive=Agonizing Memories
id=14586 id=14586
rarity=U rarity=U
@@ -125,13 +124,13 @@ id=14628
rarity=U rarity=U
[/card] [/card]
[card] [card]
primitive=Blighted Shaman primitive=Blight
id=15385 id=15399
rarity=U rarity=U
[/card] [/card]
[card] [card]
primitive=Blight primitive=Blighted Shaman
id=15399 id=15385
rarity=U rarity=U
[/card] [/card]
[card] [card]
@@ -290,11 +289,6 @@ id=15404
rarity=R rarity=R
[/card] [/card]
[card] [card]
primitive=D'Avenant Archer
id=14472
rarity=C
[/card]
[card]
primitive=Dancing Scimitar primitive=Dancing Scimitar
id=14773 id=14773
rarity=R rarity=R
@@ -310,6 +304,11 @@ id=14552
rarity=R rarity=R
[/card] [/card]
[card] [card]
primitive=D'Avenant Archer
id=14472
rarity=C
[/card]
[card]
primitive=Deflection primitive=Deflection
id=16438 id=16438
rarity=R rarity=R
@@ -535,16 +534,16 @@ id=14626
rarity=C rarity=C
[/card] [/card]
[card] [card]
primitive=Flashfires
id=16446
rarity=U
[/card]
[card]
primitive=Flash primitive=Flash
id=16440 id=16440
rarity=R rarity=R
[/card] [/card]
[card] [card]
primitive=Flashfires
id=16446
rarity=U
[/card]
[card]
primitive=Flight primitive=Flight
id=14515 id=14515
rarity=C rarity=C
@@ -555,13 +554,13 @@ id=14776
rarity=R rarity=R
[/card] [/card]
[card] [card]
primitive=Fog Elemental primitive=Fog
id=16433 id=14682
rarity=C rarity=C
[/card] [/card]
[card] [card]
primitive=Fog primitive=Fog Elemental
id=14682 id=16433
rarity=C rarity=C
[/card] [/card]
[card] [card]
@@ -995,11 +994,6 @@ id=15442
rarity=U rarity=U
[/card] [/card]
[card] [card]
primitive=Mountain Goat
id=16442
rarity=C
[/card]
[card]
primitive=Mountain primitive=Mountain
id=14745 id=14745
rarity=L rarity=L
@@ -1020,6 +1014,11 @@ id=14748
rarity=L rarity=L
[/card] [/card]
[card] [card]
primitive=Mountain Goat
id=16442
rarity=C
[/card]
[card]
primitive=Mystic Compass primitive=Mystic Compass
id=15435 id=15435
rarity=U rarity=U
@@ -1365,16 +1364,16 @@ id=14670
rarity=C rarity=C
[/card] [/card]
[card] [card]
primitive=Shatterstorm
id=11497
rarity=R
[/card]
[card]
primitive=Shatter primitive=Shatter
id=14614 id=14614
rarity=C rarity=C
[/card] [/card]
[card] [card]
primitive=Shatterstorm
id=11497
rarity=R
[/card]
[card]
primitive=Shock primitive=Shock
id=14609 id=14609
rarity=C rarity=C

View File

@@ -1,15 +1,9 @@
[meta] [meta]
author=Wagic Team author=Wagic Team
name=Seventh Edition name=7th Edition
year=2001 year=2001
total=350
[/meta] [/meta]
[card] [card]
primitive=AEther Flash
id=25678
rarity=U
[/card]
[card]
primitive=Abyssal Horror primitive=Abyssal Horror
id=13111 id=13111
rarity=R rarity=R
@@ -25,6 +19,11 @@ id=11140
rarity=R rarity=R
[/card] [/card]
[card] [card]
primitive=AEther Flash
id=25678
rarity=U
[/card]
[card]
primitive=Agonizing Memories primitive=Agonizing Memories
id=12994 id=12994
rarity=U rarity=U

View File

@@ -1,8 +1,7 @@
[meta] [meta]
author=Wagic Team author=Wagic Team
name=Eighth Edition name=8th Edition
year=2003 year=2003
total=357
[/meta] [/meta]
[card] [card]
primitive=Abyssal Specter primitive=Abyssal Specter
@@ -895,16 +894,16 @@ id=45316
rarity=U rarity=U
[/card] [/card]
[card] [card]
primitive=Merchant Scroll
id=45275
rarity=U
[/card]
[card]
primitive=Merchant of Secrets primitive=Merchant of Secrets
id=45231 id=45231
rarity=C rarity=C
[/card] [/card]
[card] [card]
primitive=Merchant Scroll
id=45275
rarity=U
[/card]
[card]
primitive=Might of Oaks primitive=Might of Oaks
id=45452 id=45452
rarity=R rarity=R
@@ -1275,16 +1274,16 @@ id=45187
rarity=C rarity=C
[/card] [/card]
[card] [card]
primitive=Sage Owl
id=45226
rarity=C
[/card]
[card]
primitive=Sage of Lat-Nam primitive=Sage of Lat-Nam
id=45269 id=45269
rarity=R rarity=R
[/card] [/card]
[card] [card]
primitive=Sage Owl
id=45226
rarity=C
[/card]
[card]
primitive=Salt Marsh primitive=Salt Marsh
id=45492 id=45492
rarity=U rarity=U
@@ -1375,13 +1374,13 @@ id=45494
rarity=U rarity=U
[/card] [/card]
[card] [card]
primitive=Shock Troops primitive=Shock
id=45350 id=45352
rarity=C rarity=C
[/card] [/card]
[card] [card]
primitive=Shock primitive=Shock Troops
id=45352 id=45350
rarity=C rarity=C
[/card] [/card]
[card] [card]

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