Merge pull request #1 from WagicProject/master

Update fork with original
This commit is contained in:
Rolzad73
2016-04-14 11:36:57 -04:00
237 changed files with 25987 additions and 7280 deletions

View File

@@ -21,7 +21,7 @@ before_install:
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 &&
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.0.2-linux.tgz -nv;
wget http://dl.google.com/android/android-sdk_r24.3.4-linux.tgz -nv;
fi
# Building for Qt here
- if [ "$BUILD_Qt" == "YES" ]; then
@@ -37,9 +37,9 @@ install:
fi
- if [ "$BUILD_ANDROID" == "YES" ]; then
tar --absolute-names -jxf android-ndk-r9-linux-x86_64.tar.bz2 &&
tar -zxf android-sdk_r24.0.2-linux.tgz &&
tar -zxf android-sdk_r24.3.4-linux.tgz &&
$ANDROID list sdk --extended -a &&
echo yes | $ANDROID update sdk --filter tools,platform-tools,build-tools-21.1.2,android-10 --no-ui --force --no-https;
echo yes | $ANDROID update sdk -a -t tools,platform-tools,build-tools-23.0.1,android-10 --no-ui --force --no-https;
fi
- sudo pip install pyjavaproperties
- sudo pip install github3.py

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -38,6 +38,12 @@ The content that users should not be touching.
#include <QDir>
#endif
/*
#ifdef IOS
#include <Foundation/Foundation.h>
#endif
*/
JFileSystem* JFileSystem::mInstance = NULL;
JZipCache::JZipCache()
@@ -248,7 +254,7 @@ void JFileSystem::clearZipCache()
bool JFileSystem::AttachZipFile(const string &zipfile, char *password /* = NULL */)
{
if (mZipAvailable && mZipFile != NULL)
if (mZipAvailable && mZipFile.is_open())
{
if (mZipFileName != zipfile)
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("y", &yy);
Point pt(xx*xscale, yy*yscale);
JPoint pt(xx*xscale, yy*yscale);
AddControlPoint(pt);
}
@@ -84,7 +84,7 @@ bool JSpline::Load(const char *filename, float xscale, float yscale)
void JSpline::PointOnCurve(Point &out, float t, const Point &p0, const Point &p1, const Point &p2, const Point &p3)
void JSpline::PointOnCurve(JPoint &out, float t, const JPoint &p0, const JPoint &p1, const JPoint &p2, const JPoint &p3)
{
float t2 = t * t;
float t3 = t2 * t;
@@ -113,8 +113,8 @@ void JSpline::GeneratePixels()
x = mMidPoints[1].x;
y = mMidPoints[1].y;
Point newPt(x, y);
Point extraPt;
JPoint newPt(x, y);
JPoint extraPt;
mPixels.push_back(newPt);
@@ -151,13 +151,13 @@ void JSpline::GeneratePixels()
}
void JSpline::AddControlPoint(const Point &pt)
void JSpline::AddControlPoint(const JPoint &pt)
{
mMidPoints.push_back(pt);
}
void JSpline::GetControlPoint(Point &point, int index)
void JSpline::GetControlPoint(JPoint &point, int index)
{
if (index < (int)mMidPoints.size())
{
@@ -167,7 +167,7 @@ void JSpline::GetControlPoint(Point &point, int index)
}
void JSpline::GetPixel(Point &point, int index)
void JSpline::GetPixel(JPoint &point, int index)
{
if (index < (int)mPixels.size())
{

View File

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

View File

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

View File

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

View File

@@ -7,6 +7,7 @@
#include <winsock.h>
#include <fcntl.h>
#elif LINUX
#include <unistd.h>
#include <sys/types.h>
#include <sys/socket.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 */
# endif
static int crypthead(passwd, buf, bufSize, pkeys, pcrc_32_tab, crcForCrypting)
const char *passwd; /* password string */
unsigned char *buf; /* where to write header */
int bufSize;
unsigned long* pkeys;
const unsigned long* pcrc_32_tab;
unsigned long crcForCrypting;
static int crypthead(
const char *passwd, /* password string */
unsigned char *buf, /* where to write header */
int bufSize,
unsigned long* pkeys,
const unsigned long* pcrc_32_tab,
unsigned long crcForCrypting)
{
int n; /* index in random header */
int t; /* temporary */

View File

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

View File

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

View File

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

View File

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

View File

@@ -4,6 +4,14 @@
# - All section names are case-sensitive.
# - 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 #
#---------------------------------#

Binary file not shown.

Before

Width:  |  Height:  |  Size: 33 KiB

After

Width:  |  Height:  |  Size: 46 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 146 KiB

View File

@@ -13,6 +13,8 @@ auto=flashbackrule
auto=retracerule
auto=suspendrule
auto=morphrule
auto=payzerorule
auto=overloadrule
auto=attackrule
auto=blockrule
auto=combattriggerrule

View File

@@ -12,6 +12,8 @@ auto=flashbackrule
auto=retracerule
auto=suspendrule
auto=morphrule
auto=payzerorule
auto=overloadrule
auto=attackrule
auto=blockrule
auto=combattriggerrule

View File

@@ -16,7 +16,8 @@ auto=flashbackrule
auto=retracerule
auto=suspendrule
auto=morphrule
auto=playfromgraveyardrule
auto=payzerorule
auto=overloadrule
auto=attackrule
auto=blockrule
auto=combattriggerrule

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,21 @@
<PACK name="Dragons of Tarkir" type="Booster" pool="all set:DTK;" price="700">
<slot copies="1">
<random_card>rarity:mythic;</random_card>
<random_card>rarity:rare;</random_card>
<random_card>rarity:rare;</random_card>
<random_card>rarity:rare;</random_card>
<random_card>rarity:rare;</random_card>
<random_card>rarity:rare;</random_card>
<random_card>rarity:rare;</random_card>
<random_card>rarity:rare;</random_card>
</slot>
<slot copies="3">
<random_card>rarity:uncommon;</random_card>
</slot>
<slot copies="1">
<random_card>rarity:special;</random_card>
</slot>
<slot copies="10">
<random_card>rarity:common;</random_card>
</slot>
</PACK>

View File

@@ -0,0 +1,934 @@
[meta]
author=Wagic Team
year=2015
[/meta]
[card]
primitive=Abzan Advantage
id=391781
rarity=C
[/card]
[card]
primitive=Abzan Beastmaster
id=391782
rarity=U
[/card]
[card]
primitive=Abzan Kin-Guard
id=391783
rarity=U
[/card]
[card]
primitive=Abzan Runemark
id=391784
rarity=C
[/card]
[card]
primitive=Abzan Skycaptain
id=391785
rarity=C
[/card]
[card]
primitive=Ainok Guide
id=391786
rarity=C
[/card]
[card]
primitive=Alesha, Who Smiles at Death
id=391787
rarity=R
[/card]
[card]
primitive=Alesha's Vanguard
id=391788
rarity=C
[/card]
[card]
primitive=Ambush Krotiq
id=391789
rarity=C
[/card]
[card]
primitive=Ancestral Vengeance
id=391790
rarity=C
[/card]
[card]
primitive=Arashin Cleric
id=391791
rarity=C
[/card]
[card]
primitive=Arashin War Beast
id=391792
rarity=U
[/card]
[card]
primitive=Arcbond
id=391793
rarity=R
[/card]
[card]
primitive=Archers of Qarsi
id=391794
rarity=C
[/card]
[card]
primitive=Archfiend of Depravity
id=391795
rarity=R
[/card]
[card]
primitive=Atarka, World Render
id=391796
rarity=R
[/card]
[card]
primitive=Aven Skirmisher
id=391797
rarity=C
[/card]
[card]
primitive=Aven Surveyor
id=391798
rarity=C
[/card]
[card]
primitive=Bathe in Dragonfire
id=391799
rarity=C
[/card]
[card]
primitive=Battle Brawler
id=391800
rarity=U
[/card]
[card]
primitive=Battlefront Krushok
id=391801
rarity=U
[/card]
[card]
primitive=Bloodfell Caves
id=391802
rarity=C
[/card]
[card]
primitive=Bloodfire Enforcers
id=391803
rarity=U
[/card]
[card]
primitive=Blossoming Sands
id=391804
rarity=C
[/card]
[card]
primitive=Break Through the Line
id=391805
rarity=U
[/card]
[card]
primitive=Brutal Hordechief
id=391806
rarity=M
[/card]
[card]
primitive=Cached Defenses
id=391807
rarity=U
[/card]
[card]
primitive=Channel Harm
id=391808
rarity=U
[/card]
[card]
primitive=Citadel Siege
id=391809
rarity=R
[/card]
[card]
primitive=Cloudform
id=391810
rarity=U
[/card]
[card]
primitive=Collateral Damage
id=391811
rarity=C
[/card]
[card]
primitive=Crucible of the Spirit Dragon
id=391812
rarity=R
[/card]
[card]
primitive=Crux of Fate
id=391813
rarity=R
[/card]
[card]
primitive=Cunning Strike
id=391814
rarity=C
[/card]
[card]
primitive=Daghatar the Adamant
id=391815
rarity=R
[/card]
[card]
primitive=Dark Deal
id=391816
rarity=U
[/card]
[card]
primitive=Defiant Ogre
id=391817
rarity=C
[/card]
[card]
primitive=Destructor Dragon
id=391818
rarity=U
[/card]
[card]
primitive=Diplomacy of the Wastes
id=391819
rarity=U
[/card]
[card]
primitive=Dismal Backwater
id=391820
rarity=C
[/card]
[card]
primitive=Douse in Gloom
id=391821
rarity=C
[/card]
[card]
primitive=Dragon Bell Monk
id=391822
rarity=C
[/card]
[card]
primitive=Dragonrage
id=391823
rarity=U
[/card]
[card]
primitive=Dragonscale General
id=391824
rarity=R
[/card]
[card]
primitive=Dromoka, the Eternal
id=391825
rarity=R
[/card]
[card]
primitive=Elite Scaleguard
id=391826
rarity=U
[/card]
[card]
primitive=Enhanced Awareness
id=391827
rarity=C
[/card]
[card]
primitive=Ethereal Ambush
id=391828
rarity=C
[/card]
[card]
primitive=Fascination
id=391829
rarity=U
[/card]
[card]
primitive=Fearsome Awakening
id=391830
rarity=U
[/card]
[card]
primitive=Feral Krushok
id=391831
rarity=C
[/card]
[card]
primitive=Fierce Invocation
id=391832
rarity=C
[/card]
[card]
primitive=Flamerush Rider
id=391833
rarity=R
[/card]
[card]
primitive=Flamewake Phoenix
id=391834
rarity=R
[/card]
[card]
primitive=Forest
id=391836
rarity=C
[/card]
[card]
primitive=Formless Nurturing
id=391837
rarity=C
[/card]
[card]
primitive=Friendly Fire
id=391838
rarity=U
[/card]
[card]
primitive=Frontier Mastodon
id=391839
rarity=C
[/card]
[card]
primitive=Frontier Siege
id=391840
rarity=R
[/card]
[card]
primitive=Frost Walker
id=391841
rarity=U
[/card]
[card]
primitive=Fruit of the First Tree
id=391842
rarity=U
[/card]
[card]
primitive=Ghastly Conscription
id=391843
rarity=M
[/card]
[card]
primitive=Goblin Boom Keg
id=391844
rarity=U
[/card]
[card]
primitive=Goblin Heelcutter
id=391845
rarity=C
[/card]
[card]
primitive=Gore Swine
id=391846
rarity=C
[/card]
[card]
primitive=Grave Strength
id=391847
rarity=U
[/card]
[card]
primitive=Great-Horn Krushok
id=391848
rarity=C
[/card]
[card]
primitive=Grim Contest
id=391849
rarity=C
[/card]
[card]
primitive=Gurmag Angler
id=391850
rarity=C
[/card]
[card]
primitive=Harsh Sustenance
id=391851
rarity=C
[/card]
[card]
primitive=Hero's Blade
id=391852
rarity=U
[/card]
[card]
primitive=Hewed Stone Retainers
id=391853
rarity=U
[/card]
[card]
primitive=Honor's Reward
id=391854
rarity=U
[/card]
[card]
primitive=Hooded Assassin
id=391855
rarity=C
[/card]
[card]
primitive=Humble Defector
id=391856
rarity=U
[/card]
[card]
primitive=Hungering Yeti
id=391857
rarity=U
[/card]
[card]
primitive=Hunt the Weak
id=391858
rarity=C
[/card]
[card]
primitive=Island
id=391859
rarity=C
[/card]
[card]
primitive=Jeskai Barricade
id=391861
rarity=U
[/card]
[card]
primitive=Jeskai Infiltrator
id=391862
rarity=R
[/card]
[card]
primitive=Jeskai Runemark
id=391863
rarity=C
[/card]
[card]
primitive=Jeskai Sage
id=391864
rarity=C
[/card]
[card]
primitive=Jungle Hollow
id=391865
rarity=C
[/card]
[card]
primitive=Kolaghan, the Storm's Fury
id=391866
rarity=R
[/card]
[card]
primitive=Lightform
id=391867
rarity=U
[/card]
[card]
primitive=Lightning Shrieker
id=391868
rarity=C
[/card]
[card]
primitive=Lotus Path Djinn
id=391869
rarity=C
[/card]
[card]
primitive=Lotus-Eye Mystics
id=391870
rarity=U
[/card]
[card]
primitive=Map the Wastes
id=391871
rarity=C
[/card]
[card]
primitive=Marang River Prowler
id=391872
rarity=U
[/card]
[card]
primitive=Mardu Runemark
id=391873
rarity=C
[/card]
[card]
primitive=Mardu Scout
id=391874
rarity=C
[/card]
[card]
primitive=Mardu Shadowspear
id=391875
rarity=U
[/card]
[card]
primitive=Mardu Strike Leader
id=391876
rarity=R
[/card]
[card]
primitive=Mardu Woe-Reaper
id=391877
rarity=U
[/card]
[card]
primitive=Mastery of the Unseen
id=391878
rarity=R
[/card]
[card]
primitive=Merciless Executioner
id=391879
rarity=U
[/card]
[card]
primitive=Mindscour Dragon
id=391880
rarity=U
[/card]
[card]
primitive=Mistfire Adept
id=391881
rarity=U
[/card]
[card]
primitive=Mob Rule
id=391882
rarity=R
[/card]
[card]
primitive=Monastery Mentor
id=391883
rarity=M
[/card]
[card]
primitive=Monk Token
id=-391883
rarity=T
[/card]
[card]
primitive=Monastery Siege
id=391884
rarity=R
[/card]
[card]
primitive=Mountain
id=391885
rarity=C
[/card]
[card]
primitive=Neutralizing Blast
id=391887
rarity=U
[/card]
[card]
primitive=Noxious Dragon
id=391888
rarity=U
[/card]
[card]
primitive=Ojutai, Soul of Winter
id=391889
rarity=R
[/card]
[card]
primitive=Orc Sureshot
id=391890
rarity=U
[/card]
[card]
primitive=Outpost Siege
id=391891
rarity=R
[/card]
[card]
primitive=Palace Siege
id=391892
rarity=R
[/card]
[card]
primitive=Pilgrim of the Fires
id=391893
rarity=U
[/card]
[card]
primitive=Plains
id=391895
rarity=C
[/card]
[card]
primitive=Pressure Point
id=391896
rarity=C
[/card]
[card]
primitive=Pyrotechnics
id=391897
rarity=U
[/card]
[card]
primitive=Qarsi High Priest
id=391898
rarity=U
[/card]
[card]
primitive=Rageform
id=391899
rarity=U
[/card]
[card]
primitive=Rakshasa's Disdain
id=391900
rarity=C
[/card]
[card]
primitive=Rally the Ancestors
id=391901
rarity=R
[/card]
[card]
primitive=Reach of Shadows
id=391902
rarity=C
[/card]
[card]
primitive=Reality Shift
id=391903
rarity=U
[/card]
[card]
primitive=Refocus
id=391904
rarity=C
[/card]
[card]
primitive=Renowned Weaponsmith
id=391905
rarity=U
[/card]
[card]
primitive=Return to the Earth
id=391906
rarity=C
[/card]
[card]
primitive=Rite of Undoing
id=391907
rarity=U
[/card]
[card]
primitive=Rugged Highlands
id=391908
rarity=C
[/card]
[card]
primitive=Ruthless Instincts
id=391909
rarity=U
[/card]
[card]
primitive=Sage-Eye Avengers
id=391911
rarity=R
[/card]
[card]
primitive=Sage's Reverie
id=391910
rarity=U
[/card]
[card]
primitive=Sandblast
id=391912
rarity=C
[/card]
[card]
primitive=Sandsteppe Mastodon
id=391913
rarity=R
[/card]
[card]
primitive=Sandsteppe Outcast
id=391914
rarity=C
[/card]
[card]
primitive=Scoured Barrens
id=391915
rarity=C
[/card]
[card]
primitive=Scroll of the Masters
id=391916
rarity=R
[/card]
[card]
primitive=Shaman of the Great Hunt
id=391917
rarity=M
[/card]
[card]
primitive=Shamanic Revelation
id=391918
rarity=R
[/card]
[card]
primitive=Shifting Loyalties
id=391919
rarity=U
[/card]
[card]
primitive=Shockmaw Dragon
id=391920
rarity=U
[/card]
[card]
primitive=Shu Yun, the Silent Tempest
id=391921
rarity=R
[/card]
[card]
primitive=Sibsig Host
id=391922
rarity=C
[/card]
[card]
primitive=Sibsig Muckdraggers
id=391923
rarity=U
[/card]
[card]
primitive=Silumgar, the Drifting Death
id=391924
rarity=R
[/card]
[card]
primitive=Smoldering Efreet
id=391925
rarity=C
[/card]
[card]
primitive=Soul Summons
id=391926
rarity=C
[/card]
[card]
primitive=Soulfire Grand Master
id=391927
rarity=M
[/card]
[card]
primitive=Soulflayer
id=391928
rarity=R
[/card]
[card]
primitive=Sudden Reclamation
id=391929
rarity=U
[/card]
[card]
primitive=Sultai Emissary
id=391930
rarity=C
[/card]
[card]
primitive=Sultai Runemark
id=391931
rarity=C
[/card]
[card]
primitive=Sultai Skullkeeper
id=391932
rarity=C
[/card]
[card]
primitive=Supplant Form
id=391933
rarity=R
[/card]
[card]
primitive=Swamp
id=391934
rarity=C
[/card]
[card]
primitive=Swiftwater Cliffs
id=391936
rarity=C
[/card]
[card]
primitive=Tasigur, the Golden Fang
id=391937
rarity=R
[/card]
[card]
primitive=Tasigur's Cruelty
id=391938
rarity=C
[/card]
[card]
primitive=Temporal Trespass
id=391939
rarity=M
[/card]
[card]
primitive=Temur Battle Rage
id=391940
rarity=C
[/card]
[card]
primitive=Temur Runemark
id=391941
rarity=C
[/card]
[card]
primitive=Temur Sabertooth
id=391942
rarity=U
[/card]
[card]
primitive=Temur War Shaman
id=391943
rarity=R
[/card]
[card]
primitive=Thornwood Falls
id=391944
rarity=C
[/card]
[card]
primitive=Torrent Elemental
id=391945
rarity=M
[/card]
[card]
primitive=Tranquil Cove
id=391946
rarity=C
[/card]
[card]
primitive=Typhoid Rats
id=391947
rarity=C
[/card]
[card]
primitive=Ugin, the Spirit Dragon
id=391948
rarity=M
[/card]
[card]
primitive=Ugin's Construct
id=391949
rarity=U
[/card]
[card]
primitive=Valorous Stance
id=391950
rarity=U
[/card]
[card]
primitive=Vaultbreaker
id=391951
rarity=U
[/card]
[card]
primitive=Wandering Champion
id=391952
rarity=U
[/card]
[card]
primitive=War Flare
id=391953
rarity=C
[/card]
[card]
primitive=Warden of the First Tree
id=391954
rarity=M
[/card]
[card]
primitive=Wardscale Dragon
id=391955
rarity=U
[/card]
[card]
primitive=Whisk Away
id=391956
rarity=C
[/card]
[card]
primitive=Whisperer of the Wilds
id=391957
rarity=C
[/card]
[card]
primitive=Whisperwood Elemental
id=391958
rarity=M
[/card]
[card]
primitive=Wild Slash
id=391959
rarity=U
[/card]
[card]
primitive=Wildcall
id=391960
rarity=R
[/card]
[card]
primitive=Will of the Naga
id=391961
rarity=C
[/card]
[card]
primitive=Winds of Qal Sisma
id=391962
rarity=U
[/card]
[card]
primitive=Wind-Scarred Crag
id=391963
rarity=C
[/card]
[card]
primitive=Write into Being
id=391964
rarity=C
[/card]
[card]
primitive=Yasova Dragonclaw
id=391965
rarity=R
[/card]
[card]
primitive=Forest
id=391835
rarity=C
[/card]
[card]
primitive=Island
id=391860
rarity=C
[/card]
[card]
primitive=Mountain
id=391886
rarity=C
[/card]
[card]
primitive=Plains
id=391894
rarity=C
[/card]
[card]
primitive=Swamp
id=391935
rarity=C
[/card]

View File

@@ -0,0 +1,21 @@
<PACK name="Fate Reforged" type="Booster" pool="all set:FRF;" price="700">
<slot copies="1">
<random_card>rarity:mythic;</random_card>
<random_card>rarity:rare;</random_card>
<random_card>rarity:rare;</random_card>
<random_card>rarity:rare;</random_card>
<random_card>rarity:rare;</random_card>
<random_card>rarity:rare;</random_card>
<random_card>rarity:rare;</random_card>
<random_card>rarity:rare;</random_card>
</slot>
<slot copies="3">
<random_card>rarity:uncommon;</random_card>
</slot>
<slot copies="1">
<random_card>rarity:special;</random_card>
</slot>
<slot copies="10">
<random_card>rarity:common;</random_card>
</slot>
</PACK>

View File

@@ -0,0 +1,830 @@
[meta]
author=Wagic Team
year=2014
block=Theros
[/meta]
[card]
primitive=Aegis of the Gods
id=380364
rarity=R
[/card]
[card]
primitive=Aerial Formation
id=380365
rarity=C
[/card]
[card]
primitive=Agent of Erebos
id=380366
rarity=U
[/card]
[card]
primitive=Ajani, Mentor of Heroes
id=380367
rarity=M
[/card]
[card]
primitive=Ajani's Presence
id=380368
rarity=C
[/card]
[card]
primitive=Akroan Line Breaker
id=380369
rarity=U
[/card]
[card]
primitive=Akroan Mastiff
id=380370
rarity=C
[/card]
[card]
primitive=Armament of Nyx
id=380371
rarity=C
[/card]
[card]
primitive=Armory of Iroas
id=380372
rarity=U
[/card]
[card]
primitive=Aspect of Gorgon
id=380373
rarity=C
[/card]
[card]
primitive=Athreos, God of Passage
id=380374
rarity=M
[/card]
[card]
primitive=Banishing Light
id=380375
rarity=U
[/card]
[card]
primitive=Bassara Tower Archer
id=380376
rarity=U
[/card]
[card]
primitive=Battlefield Thaumaturge
id=380377
rarity=R
[/card]
[card]
primitive=Bearer of the Heavens
id=380378
rarity=R
[/card]
[card]
primitive=Bladetusk Boar
id=380379
rarity=C
[/card]
[card]
primitive=Blinding Flare
id=380380
rarity=U
[/card]
[card]
primitive=Bloodcrazed Hoplite
id=380381
rarity=C
[/card]
[card]
primitive=Brain Maggot
id=380382
rarity=U
[/card]
[card]
primitive=Cast into Darkness
id=380383
rarity=C
[/card]
[card]
primitive=Chariot of Victory
id=380384
rarity=U
[/card]
[card]
primitive=Cloaked Siren
id=380385
rarity=C
[/card]
[card]
primitive=Colossal Heroics
id=380386
rarity=U
[/card]
[card]
primitive=Consign to Dust
id=380387
rarity=U
[/card]
[card]
primitive=Countermand
id=380388
rarity=C
[/card]
[card]
primitive=Cruel Feeding
id=380389
rarity=C
[/card]
[card]
primitive=Crystalline Nautilus
id=380390
rarity=U
[/card]
[card]
primitive=Cyclops of Eternal Fury
id=380391
rarity=U
[/card]
[card]
primitive=Dakra Mystic
id=380392
rarity=U
[/card]
[card]
primitive=Daring Thief
id=380393
rarity=R
[/card]
[card]
primitive=Dawnbringer Charioteers
id=380394
rarity=R
[/card]
[card]
primitive=Deicide
id=380395
rarity=R
[/card]
[card]
primitive=Desecration Plague
id=380396
rarity=C
[/card]
[card]
primitive=Deserter's Quarters
id=380397
rarity=U
[/card]
[card]
primitive=Desperate Stand
id=380398
rarity=U
[/card]
[card]
primitive=Dictate of Erebos
id=380399
rarity=R
[/card]
[card]
primitive=Dictate of Heliod
id=380400
rarity=R
[/card]
[card]
primitive=Dictate of Karametra
id=380401
rarity=R
[/card]
[card]
primitive=Dictate of Kruphix
id=380402
rarity=R
[/card]
[card]
primitive=Dictate of the Twin Gods
id=380403
rarity=R
[/card]
[card]
primitive=Disciple of Deceit
id=380404
rarity=U
[/card]
[card]
primitive=Doomwake Giant
id=380405
rarity=R
[/card]
[card]
primitive=Dreadbringer Lampads
id=380406
rarity=C
[/card]
[card]
primitive=Eagle of the Watch
id=380407
rarity=C
[/card]
[card]
primitive=Eidolon of Blossoms
id=380408
rarity=R
[/card]
[card]
primitive=Eidolon of Rhetoric
id=380409
rarity=U
[/card]
[card]
primitive=Eidolon of the Great Revel
id=380410
rarity=R
[/card]
[card]
primitive=Extinguish All Hope
id=380411
rarity=R
[/card]
[card]
primitive=Feast of Dreams
id=380412
rarity=C
[/card]
[card]
primitive=Felhide Petrifier
id=380413
rarity=U
[/card]
[card]
primitive=Flamespeaker's Will
id=380414
rarity=C
[/card]
[card]
primitive=Fleetfeather Cockatrice
id=380415
rarity=U
[/card]
[card]
primitive=Flurry of Horns
id=380416
rarity=C
[/card]
[card]
primitive=Font of Fertility
id=380417
rarity=C
[/card]
[card]
primitive=Font of Fortunes
id=380418
rarity=C
[/card]
[card]
primitive=Font of Ire
id=380419
rarity=C
[/card]
[card]
primitive=Font of Return
id=380420
rarity=C
[/card]
[card]
primitive=Font of Vigor
id=380421
rarity=C
[/card]
[card]
primitive=Forgeborn Oreads
id=380422
rarity=U
[/card]
[card]
primitive=Gluttonous Cyclops
id=380423
rarity=C
[/card]
[card]
primitive=Gnarled Scarhide
id=380424
rarity=U
[/card]
[card]
primitive=Godhunter Octopus
id=380425
rarity=C
[/card]
[card]
primitive=Godsend
id=380426
rarity=M
[/card]
[card]
primitive=Golden Hind
id=380427
rarity=C
[/card]
[card]
primitive=Goldenhide Ox
id=380428
rarity=U
[/card]
[card]
primitive=Gold-Forged Sentinel
id=380429
rarity=U
[/card]
[card]
primitive=Grim Guardian
id=380430
rarity=C
[/card]
[card]
primitive=Hall of Triumph
id=380431
rarity=R
[/card]
[card]
primitive=Harness by Force
id=380432
rarity=R
[/card]
[card]
primitive=Harvestguard Alseids
id=380433
rarity=C
[/card]
[card]
primitive=Heroes' Bane
id=380434
rarity=R
[/card]
[card]
primitive=Hour of Need
id=380435
rarity=U
[/card]
[card]
primitive=Hubris
id=380436
rarity=C
[/card]
[card]
primitive=Humbler of Mortals
id=380437
rarity=C
[/card]
[card]
primitive=Hydra Broodmaster
id=380438
rarity=R
[/card]
[card]
primitive=Hypnotic Siren
id=380439
rarity=R
[/card]
[card]
primitive=Interpret the Signs
id=380440
rarity=U
[/card]
[card]
primitive=Iroas, God of Victory
id=380441
rarity=M
[/card]
[card]
primitive=Keranos, God of Storms
id=380442
rarity=M
[/card]
[card]
primitive=King Macar, the Gold-Cursed
id=380443
rarity=R
[/card]
[card]
primitive=Kiora's Dismissal
id=380444
rarity=U
[/card]
[card]
primitive=Knowledge and Power
id=380445
rarity=U
[/card]
[card]
primitive=Kruphix, God of Horizons
id=380446
rarity=M
[/card]
[card]
primitive=Kruphix's Insight
id=380447
rarity=C
[/card]
[card]
primitive=Lagonna-Band Trailblazer
id=380448
rarity=C
[/card]
[card]
primitive=Launch the Fleet
id=380449
rarity=R
[/card]
[card]
primitive=Leonin Iconoclast
id=380450
rarity=U
[/card]
[card]
primitive=Lightning Diadem
id=380451
rarity=C
[/card]
[card]
primitive=Magma Spray
id=380452
rarity=C
[/card]
[card]
primitive=Mana Confluence
id=380453
rarity=R
[/card]
[card]
primitive=Market Festival
id=380454
rarity=C
[/card]
[card]
primitive=Master of the Feast
id=380455
rarity=R
[/card]
[card]
primitive=Mogis's Warhound
id=380456
rarity=U
[/card]
[card]
primitive=Mortal Obstinacy
id=380457
rarity=C
[/card]
[card]
primitive=Nature's Panoply
id=380458
rarity=C
[/card]
[card]
primitive=Nessian Game Warden
id=380459
rarity=U
[/card]
[card]
primitive=Nightmarish End
id=380460
rarity=U
[/card]
[card]
primitive=Nyx Infusion
id=380461
rarity=C
[/card]
[card]
primitive=Nyx Weaver
id=380462
rarity=U
[/card]
[card]
primitive=Nyx-Fleece Ram
id=380463
rarity=U
[/card]
[card]
primitive=Oakheart Dryads
id=380464
rarity=C
[/card]
[card]
primitive=Oppressive Rays
id=380465
rarity=C
[/card]
[card]
primitive=Oreskos Swiftclaw
id=380466
rarity=C
[/card]
[card]
primitive=Pensive Minotaur
id=380467
rarity=C
[/card]
[card]
primitive=Phalanx Formation
id=380468
rarity=U
[/card]
[card]
primitive=Pharika, God of Affliction
id=380469
rarity=M
[/card]
[card]
primitive=Pharika's Chosen
id=380470
rarity=C
[/card]
[card]
primitive=Pheres-Band Thunderhoof
id=380471
rarity=C
[/card]
[card]
primitive=Pheres-Band Warchief
id=380472
rarity=R
[/card]
[card]
primitive=Pin to the Earth
id=380473
rarity=C
[/card]
[card]
primitive=Polymorphous Rush
id=380474
rarity=R
[/card]
[card]
primitive=Prophetic Flamespeaker
id=380475
rarity=M
[/card]
[card]
primitive=Pull from the Deep
id=380476
rarity=U
[/card]
[card]
primitive=Quarry Colossus
id=380477
rarity=U
[/card]
[card]
primitive=Ravenous Leucrocota
id=380478
rarity=C
[/card]
[card]
primitive=Renowned Weaver
id=380479
rarity=C
[/card]
[card]
primitive=Reprisal
id=380480
rarity=U
[/card]
[card]
primitive=Returned Reveler
id=380481
rarity=C
[/card]
[card]
primitive=Revel of the Fallen God
id=380482
rarity=R
[/card]
[card]
primitive=Reviving Melody
id=380483
rarity=U
[/card]
[card]
primitive=Riddle of Lightning
id=380484
rarity=U
[/card]
[card]
primitive=Riptide Chimera
id=380485
rarity=U
[/card]
[card]
primitive=Rise of Eagles
id=380486
rarity=C
[/card]
[card]
primitive=Ritual of the Returned
id=380487
rarity=U
[/card]
[card]
primitive=Rollick of Abandon
id=380488
rarity=U
[/card]
[card]
primitive=Rotted Hulk
id=380489
rarity=C
[/card]
[card]
primitive=Rouse the Mob
id=380490
rarity=C
[/card]
[card]
primitive=Sage of Hours
id=380491
rarity=M
[/card]
[card]
primitive=Satyr Grovedancer
id=380492
rarity=C
[/card]
[card]
primitive=Satyr Hoplite
id=380493
rarity=C
[/card]
[card]
primitive=Scourge of Fleets
id=380494
rarity=R
[/card]
[card]
primitive=Setessan Tactics
id=380495
rarity=R
[/card]
[card]
primitive=Sightless Brawler
id=380496
rarity=U
[/card]
[card]
primitive=Sigiled Skink
id=380497
rarity=C
[/card]
[card]
primitive=Sigiled Starfish
id=380498
rarity=C
[/card]
[card]
primitive=Silence the Believers
id=380499
rarity=R
[/card]
[card]
primitive=Skybind
id=380500
rarity=R
[/card]
[card]
primitive=Skyspear Cavalry
id=380501
rarity=U
[/card]
[card]
primitive=Solidarity of Heroes
id=380502
rarity=U
[/card]
[card]
primitive=Spawn of Thraxes
id=380503
rarity=R
[/card]
[card]
primitive=Spirespine
id=380504
rarity=U
[/card]
[card]
primitive=Spite of Mogis
id=380505
rarity=U
[/card]
[card]
primitive=Spiteful Blow
id=380506
rarity=U
[/card]
[card]
primitive=Squelching Leeches
id=380507
rarity=U
[/card]
[card]
primitive=Starfall
id=380508
rarity=C
[/card]
[card]
primitive=Stonewise Fortifier
id=380509
rarity=C
[/card]
[card]
primitive=Stormchaser Chimera
id=380510
rarity=U
[/card]
[card]
primitive=Strength from the Fallen
id=380511
rarity=U
[/card]
[card]
primitive=Supply-Line Cranes
id=380512
rarity=C
[/card]
[card]
primitive=Swarmborn Giant
id=380513
rarity=U
[/card]
[card]
primitive=Temple of Epiphany
id=380514
rarity=R
[/card]
[card]
primitive=Temple of Malady
id=380515
rarity=R
[/card]
[card]
primitive=Tethmos High Priest
id=380516
rarity=U
[/card]
[card]
primitive=Thassa's Devourer
id=380517
rarity=C
[/card]
[card]
primitive=Thassa's Ire
id=380518
rarity=U
[/card]
[card]
primitive=Thoughtrender Lamia
id=380519
rarity=U
[/card]
[card]
primitive=Tormented Thoughts
id=380520
rarity=U
[/card]
[card]
primitive=Triton Cavalry
id=380521
rarity=U
[/card]
[card]
primitive=Triton Shorestalker
id=380522
rarity=C
[/card]
[card]
primitive=Twinflame
id=380523
rarity=R
[/card]
[card]
primitive=Underworld Coinsmith
id=380524
rarity=U
[/card]
[card]
primitive=War-Wing Siren
id=380525
rarity=C
[/card]
[card]
primitive=Whitewater Naiads
id=380526
rarity=U
[/card]
[card]
primitive=Wildfire Cerberus
id=380527
rarity=U
[/card]
[card]
primitive=Worst Fears
id=380528
rarity=M
[/card]

View File

@@ -0,0 +1,21 @@
<PACK name="Journey Into Nyx" type="Booster" pool="all set:JOU;" price="700">
<slot copies="1">
<random_card>rarity:mythic;</random_card>
<random_card>rarity:rare;</random_card>
<random_card>rarity:rare;</random_card>
<random_card>rarity:rare;</random_card>
<random_card>rarity:rare;</random_card>
<random_card>rarity:rare;</random_card>
<random_card>rarity:rare;</random_card>
<random_card>rarity:rare;</random_card>
</slot>
<slot copies="3">
<random_card>rarity:uncommon;</random_card>
</slot>
<slot copies="1">
<random_card>rarity:special;</random_card>
</slot>
<slot copies="10">
<random_card>rarity:common;</random_card>
</slot>
</PACK>

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,21 @@
<PACK name="Khans of Tarkir" type="Booster" pool="all set:KTK;" price="700">
<slot copies="1">
<random_card>rarity:mythic;</random_card>
<random_card>rarity:rare;</random_card>
<random_card>rarity:rare;</random_card>
<random_card>rarity:rare;</random_card>
<random_card>rarity:rare;</random_card>
<random_card>rarity:rare;</random_card>
<random_card>rarity:rare;</random_card>
<random_card>rarity:rare;</random_card>
</slot>
<slot copies="3">
<random_card>rarity:uncommon;</random_card>
</slot>
<slot copies="1">
<random_card>rarity:special;</random_card>
</slot>
<slot copies="10">
<random_card>rarity:common;</random_card>
</slot>
</PACK>

View File

@@ -1513,8 +1513,3 @@ primitive=Zephyr Net
id=142357
rarity=C
[/card]
[card]
primitive=Avatar Token
id=-140233
rarity=T
[/card]

View File

@@ -11,7 +11,7 @@ rarity=C
[card]
primitive=Accorder's Shield
id=370581
rarity=C
rarity=U
[/card]
[card]
primitive=Accursed Spirit
@@ -31,7 +31,7 @@ rarity=C
[card]
primitive=Air Servant
id=370688
rarity=C
rarity=U
[/card]
[card]
primitive=Ajani, Caller of the Pride
@@ -121,7 +121,7 @@ rarity=C
[card]
primitive=Blur Sliver
id=370593
rarity=U
rarity=C
[/card]
[card]
primitive=Bogbrew Witch
@@ -156,7 +156,7 @@ rarity=C
[card]
primitive=Bubbling Cauldron
id=370661
rarity=R
rarity=U
[/card]
[card]
primitive=Burning Earth
@@ -261,7 +261,7 @@ rarity=R
[card]
primitive=Darksteel Forge
id=370734
rarity=R
rarity=M
[/card]
[card]
primitive=Darksteel Ingot
@@ -326,7 +326,7 @@ rarity=R
[card]
primitive=Doom Blade
id=370609
rarity=C
rarity=U
[/card]
[card]
primitive=Door of Destinies
@@ -339,6 +339,11 @@ id=370660
rarity=U
[/card]
[card]
primitive=Dragon Egg Dragon
id=-370660
rarity=T
[/card]
[card]
primitive=Dragon Hatchling
id=370717
rarity=C
@@ -431,7 +436,7 @@ rarity=C
[card]
primitive=Fortify
id=370712
rarity=U
rarity=C
[/card]
[card]
primitive=Frost Breath
@@ -581,7 +586,7 @@ rarity=R
[card]
primitive=Kalonian Hydra
id=370766
rarity=R
rarity=M
[/card]
[card]
primitive=Kalonian Tusker
@@ -591,7 +596,7 @@ rarity=U
[card]
primitive=Lava Axe
id=370595
rarity=
rarity=C
[/card]
[card]
primitive=Lay of the Land
@@ -619,8 +624,8 @@ id=370740
rarity=R
[/card]
[card]
primitive=Zombie Token
id=-339967
primitive=Liliana's Reaver Zombie
id=-370740
rarity=T
[/card]
[card]
@@ -736,7 +741,7 @@ rarity=R
[card]
primitive=Nightwing Shade
id=370705
rarity=U
rarity=C
[/card]
[card]
primitive=Oath of the Ancient Wood
@@ -831,7 +836,7 @@ rarity=R
[card]
primitive=Quag Sickness
id=370714
rarity=U
rarity=C
[/card]
[card]
primitive=Quicken
@@ -846,7 +851,7 @@ rarity=C
[card]
primitive=Ratchet Bomb
id=370623
rarity=C
rarity=R
[/card]
[card]
primitive=Regathan Firecat
@@ -896,7 +901,7 @@ rarity=R
[card]
primitive=Scourge of Valkas
id=370584
rarity=R
rarity=M
[/card]
[card]
primitive=Scroll Thief
@@ -951,7 +956,7 @@ rarity=M
[card]
primitive=Shimmering Grotto
id=370631
rarity=C
rarity=U
[/card]
[card]
primitive=Shivan Dragon
@@ -1031,6 +1036,7 @@ rarity=U
[card]
primitive=Staff of the Mind Magus
id=370676
rarity=U
[/card]
[card]
primitive=Staff of the Wild Magus
@@ -1105,7 +1111,7 @@ rarity=R
[card]
primitive=Thunder Strike
id=370607
rarity=U
rarity=C
[/card]
[card]
primitive=Tidebinder Mage
@@ -1115,7 +1121,7 @@ rarity=R
[card]
primitive=Time Ebb
id=370641
rarity=R
rarity=C
[/card]
[card]
primitive=Tome Scour
@@ -1215,7 +1221,7 @@ rarity=R
[card]
primitive=Windreader Sphinx
id=370810
rarity=U
rarity=M
[/card]
[card]
primitive=Windstorm
@@ -1243,8 +1249,8 @@ id=370619
rarity=R
[/card]
[card]
primitive=Zombie Token
id=-339968
primitive=Xathrid Necromancer Zombie
id=-370619
rarity=T
[/card]
[card]

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -1,5 +1,16 @@
grade=borderline
[card]
name=Arrogant Wurm
abilities=trample,madness
autoexile=restriction{discarded} pay({2}{G}) name(pay 2G to cast) activate name(pay 2G to cast) castcard(normal)?name(put in graveyard) moveto(ownergraveyard)
text=Trample -- Madness {2}{G} (If you discard this card, you may cast it for its madness cost instead of putting it into your graveyard.)
mana={3}{G}{G}
type=Creature
subtype=Wurm
power=4
toughness=4
[/card]
[card]
name=Autumn Willow
abilities=opponentshroud,shroud
auto={G}:-shroud
@@ -24,6 +35,50 @@ power=2
toughness=2
[/card]
[card]
name=Basking Rootwalla
abilities=madness
autoexile=restriction{discarded} pay({0}) name(pay 0 to cast) activate name(pay 0 to cast) castcard(normal)?name(put in graveyard) moveto(ownergraveyard)
auto={1}{G}:2/2 limit:1
text={1}{G}: Basking Rootwalla gets +2/+2 until end of turn. Activate this ability only once each turn. -- Madness {0} (If you discard this card, you may cast it for its madness cost instead of putting it into your graveyard.)
mana={G}
type=Creature
subtype=Lizard
power=1
toughness=1
[/card]
[card]
name=Big Game Hunter
abilities=madness
autoexile=restriction{discarded} pay({B}) name(pay B to cast) activate name(pay B to cast) castcard(normal)?name(put in graveyard) moveto(ownergraveyard)
auto=bury target(creature[power>=4])
text=When Big Game Hunter enters the battlefield, destroy target creature with power 4 or greater. It can't be regenerated. -- Madness {B} (If you discard this card, you may cast it for its madness cost instead of putting it into your graveyard.)
mana={1}{B}{B}
type=Creature
subtype=Human Rebel Assassin
power=1
toughness=1
[/card]
[card]
name=Call to the Netherworld
abilities=madness
autoexile=restriction{discarded} pay({0}) name(pay 0 to cast) activate name(pay 0 to cast) castcard(normal)?name(put in graveyard) moveto(ownergraveyard)
target=creature[black]|myGraveyard
auto=moveTo(myHand)
text=Return target black creature card from your graveyard to your hand. -- Madness {0} (If you discard this card, you may cast it for its madness cost instead of putting it into your graveyard.)
mana={B}
type=Sorcery
[/card]
[card]
name=Cemetery Puca
text=Whenever a creature is put into a graveyard from the battlefield, you may pay {1}. If you do, Cemetery Puca becomes a copy of that creature and gains this ability.
auto=@movedto(creature|graveyard) from(battlefield):all(trigger[from]) pay[[{1}]] copy
mana={1}{UB}{UB}
type=Creature
subtype=Shapeshifter
power=1
toughness=2
[/card]
[card]
name=Cinder Seer
auto={2}{r}{t}:target(creature,Player) damage:type:*[red]:myhand
text={2}{R}, {T}: Reveal any number of red cards in your hand. Cinder Seer deals X damage to target creature or player, where X is the number of cards revealed this way.
@@ -44,6 +99,59 @@ mana={1}{B}{G}
type=Instant
[/card]
[card]
name=Cryptoplasm
auto=@each my upkeep:may copy target(other creature|battlefield)
text=At the beginning of your upkeep, you may have Cryptoplasm become a copy of another target creature. If you do, Cryptoplasm gains this ability.
mana={1}{U}{U}
type=Creature
subtype=Shapeshifter
power=2
toughness=2
[/card]
[card]
name=Dark Withering
abilities=madness
autoexile=restriction{discarded} pay({B}) name(pay B to cast) activate name(pay B to cast) castcard(normal)?name(put in graveyard) moveto(ownergraveyard)
target=creature[-black]
auto=destroy
text=Destroy target nonblack creature. -- Madness {B} (If you discard this card, you may cast it for its madness cost instead of putting it into your graveyard.)
mana={4}{B}{B}
type=Instant
[/card]
[card]
name=Dimir Doppelganger
auto={1}{U}{B}:target(creature|graveyard) moveto(exile) and!(copy)!
text={1}{U}{B}: Exile target creature card from a graveyard. Dimir Doppelganger becomes a copy of that card and gains this ability.
mana={1}{U}{B}
type=Creature
subtype=Shapeshifter
power=0
toughness=2
[/card]
[card]
name=Distortion Strike
target=creature
auto=1/0
auto=unblockable
auto=if rebound then transforms((,newability[moveto(exile)],newability[phaseaction[my upkeep once checkex] activate may activate castcard(restricted)]))
mana={U}
type=Sorcery
text=Target creature gets +1/+0 until end of turn and is unblockable this turn. Rebound (If you cast this spell from your hand, exile it as it resolves. At the beginning of your next upkeep, you may cast this card from exile without paying its mana cost.)
[/card]
[card]
name=Emerge Unscathed
target=creature|mybattlefield
auto=choice name(green) transforms((,newability[protection from green])) ueot
auto=choice name(red) transforms((,newability[protection from red])) ueot
auto=choice name(blue) transforms((,newability[protection from blue])) ueot
auto=choice name(black) transforms((,newability[protection from black])) ueot
auto=choice name(white) transforms((,newability[protection from white])) ueot
auto=if rebound then transforms((,newability[moveto(exile)],newability[phaseaction[my upkeep once checkex] activate may activate castcard(restricted)]))
mana={W}
type=Instant
text=Target creature you control gains protection from the color of your choice until end of turn. Rebound (If you cast this spell from your hand, exile it as it resolves. At the beginning of your next upkeep, you may cast this card from exile without paying its mana cost.)
[/card]
[card]
name=Feral Hydra
type=Creature
subtype=Hydra Beast
@@ -56,6 +164,26 @@ auto={3}:counter(1/1)
#Not all player can use ability
[/card]
[card]
name=Fiery Temper
abilities=madness
autoexile=restriction{discarded} pay({R}) name(pay R to cast) activate name(pay R to cast) castcard(normal)?name(put in graveyard) moveto(ownergraveyard)
target=creature,player
auto=damage:3
text=Fiery Temper deals 3 damage to target creature or player. -- Madness {R} (If you discard this card, you may cast it for its madness cost instead of putting it into your graveyard.)
mana={1}{R}{R}
type=Instant
[/card]
[card]
name=Frantic Purification
abilities=madness
autoexile=restriction{discarded} pay({W}) name(pay W to cast) activate name(pay W to cast) castcard(normal)?name(put in graveyard) moveto(ownergraveyard)
target=enchantment
auto=destroy
text=Destroy target enchantment. -- Madness {W} (If you discard this card, you may cast it for its madness cost instead of putting it into your graveyard.)
mana={2}{W}
type=Instant
[/card]
[card]
name=Ghastly Remains
auto=foreach(zombie|myhand) counter(1/1,1)
autograveyard={B}{B}{B}:moveTo(myhand) myUpkeepOnly
@@ -77,6 +205,18 @@ power=4
toughness=4
[/card]
[card]
name=Gorgon Recluse
abilities=madness
autoexile=restriction{discarded} pay({B}{B}) name(pay BB to cast) activate name(pay BB to cast) castcard(normal)?name(put in graveyard) moveto(ownergraveyard)
auto=@combat(blocked,blocking) source(this) from(creature):all(trigger[from]) phaseaction[combatends once] destroy
text=Whenever Gorgon Recluse blocks or becomes blocked by a nonblack creature, destroy that creature at end of combat. -- Madness {B}{B} (If you discard this card, you may cast it for its madness cost instead of putting it into your graveyard.)
mana={3}{B}{B}
type=Creature
subtype=Gorgon
power=2
toughness=4
[/card]
[card]
name=Govern the Guildless
target=creature[-multicolor]
auto=moveto(mybattlefield)
@@ -86,15 +226,15 @@ mana={5}{U}
type=Sorcery
[/card]
[card]
name=Gravecrawler
abilities=cantblock
autograveyard=aslongas(zombie|myBattlefield) {B}:name(cast from graveyard) activate name(cast from graveyard) castcard(normal) assorcery
text=Gravecrawler can't block. -- You may cast Gravecrawler from your graveyard as long as you control a Zombie.
mana={B}
type=Creature
subtype=Zombie
power=2
toughness=1
name=Ichor Slick
abilities=madness
autoexile=restriction{discarded} pay({3}{B}) name(pay 3B to cast) activate name(pay 3B to cast) castcard(normal)?name(put in graveyard) moveto(ownergraveyard)
target=creature
auto=-3/-3
autohand=__CYCLING__({2})
text=Target creature gets -3/-3 until end of turn. -- Cycling {2} ({2}, Discard this card: Draw a card.) -- Madness {3}{B} (If you discard this card, you may cast it for its madness cost instead of putting it into your graveyard.)
mana={2}{B}
type=Sorcery
[/card]
[card]
name=Ivy Seer
@@ -160,6 +300,23 @@ power=1
toughness=1
[/card]
[card]
name=Nomads' Assembly
auto=token(Kor Soldier,Creature Kor Soldier,1/1,white)*type:creature:mybattlefield
auto=if rebound then transforms((,newability[moveto(exile)],newability[phaseaction[my upkeep once checkex] activate may activate castcard(restricted)]))
mana={4}{W}{W}
type=Sorcery
text=Put a 1/1 white Kor Soldier creature token onto the battlefield for each creature you control. Rebound (If you cast this spell from your hand, exile it as it resolves. At the beginning of your next upkeep, you may cast this card from exile without paying its mana cost.)
[/card]
[card]
name=Obsessive Search
abilities=madness
autoexile=restriction{discarded} pay({U}) name(pay U to cast) activate name(pay U to cast) castcard(normal)?name(put in graveyard) moveto(ownergraveyard)
auto=draw:1 controller
text=Draw a card. -- Madness {U} (If you discard this card, you may cast it for its madness cost instead of putting it into your graveyard.)
mana={U}
type=Instant
[/card]
[card]
name=Ogre Marauder
text=Whenever Ogre Marauder attacks, it gains "Ogre Marauder can't be blocked" until end of turn unless defending player sacrifices a creature.
auto=@combat(attacking) source(this):ability$!name(choose one) if type(creature|mybattlefield)~morethan~0 then choice sacrifice notatarget(creature|mybattlefield) _ choice all(mystored) unblockable ueot!$ opponent
@@ -170,6 +327,24 @@ power=3
toughness=1
[/card]
[card]
name=Prey's Vengeance
target=creature
auto=2/2
auto=if rebound then transforms((,newability[moveto(exile)],newability[phaseaction[my upkeep once checkex] activate may activate castcard(restricted)]))
mana={G}
type=Instant
text=Target creature gets +2/+2 until end of turn. Rebound (If you cast this spell from your hand, exile it as it resolves. At the beginning of your next upkeep, you may cast this card from exile without paying its mana cost.)
[/card]
[card]
name=Psychotic Haze
abilities=madness
autoexile=restriction{discarded} pay({1}{B}) name(pay 1B to cast) activate name(pay 1B to cast) castcard(normal)?name(put in graveyard) moveto(ownergraveyard)
auto=damage:1 all(creature,player)
text=Psychotic Haze deals 1 damage to each creature and each player. -- Madness {1}{B} (If you discard this card, you may cast it for its madness cost instead of putting it into your graveyard.)
mana={2}{B}{B}
type=Instant
[/card]
[card]
name=Rakdos Augermage
abilities=first strike
auto={T}:name(target opponent) target(opponent) donothing && all(this) transforms((,newability[ability$!name(discard) reject notatarget(*|opponenthand)!$ targetedplayer && ability$!name(discard) reject notatarget(*|opponenthand)!$ controller])) assorcery
@@ -189,6 +364,26 @@ mana={X}{X}{U}
type=Sorcery
[/card]
[card]
name=Reckless Wurm
abilities=trample,madness
autoexile=restriction{discarded} pay({2}{R}) name(pay 2R to cast) activate name(pay 2R to cast) castcard(normal)?name(put in graveyard) moveto(ownergraveyard)
text=Trample -- Madness {2}{R} (If you discard this card, you may cast it for its madness cost instead of putting it into your graveyard.)
mana={3}{R}{R}
type=Creature
subtype=Wurm
power=4
toughness=4
[/card]
[card]
name=Recurring Insight
target=opponent
auto=draw:type:*:targetedpersonshand controller
auto=if rebound then transforms((,newability[moveto(exile)],newability[phaseaction[my upkeep once checkex] activate may activate castcard(restricted)]))
mana={4}{U}{U}
type=Sorcery
text=Draw cards equal to the number of cards in target opponent's hand. Rebound (If you cast this spell from your hand, exile it as it resolves. At the beginning of your next upkeep, you may cast this card from exile without paying its mana cost.)
[/card]
[card]
name=Sacellum Godspeaker
auto={T}:foreach(creaure[power>4]|myhand) add{G}
text={T}: Reveal any number of creature cards with power 5 or greater from your hand. Add {G} to your mana pool for each card revealed this way.
@@ -247,6 +442,83 @@ mana={G}{W}
type=Instant
[/card]
[card]
name=Staggershock
target=creature,player
auto=damage:2
auto=if rebound then transforms((,newability[moveto(exile)],newability[phaseaction[my upkeep once checkex] activate may activate castcard(restricted)]))
mana={2}{R}
type=Instant
text=Staggershock deals 2 damage to target creature or player. Rebound (If you cast this spell from your hand, exile it as it resolves. At the beginning of your next upkeep, you may cast this card from exile without paying its mana cost.)
[/card]
[card]
name=Strength of Isolation
abilities=madness
autoexile=restriction{discarded} pay({W}) name(pay W to cast) activate name(pay W to cast) castcard(normal)?name(put in graveyard) moveto(ownergraveyard)
target=creature
auto=1/2
auto=protection from black
text=Enchant creature -- Enchanted creature gets +1/+2 and has protection from black. -- Madness {W} (If you discard this card, you may cast it for its madness cost instead of putting it into your graveyard.)
mana={1}{W}
type=Enchantment
subtype=Aura
[/card]
[card]
name=Strength of Lunacy
abilities=madness
autoexile=restriction{discarded} pay({B}) name(pay B to cast) activate name(pay B to cast) castcard(normal)?name(put in graveyard) moveto(ownergraveyard)
target=creature
auto=2/1
auto=protection from white
text=Enchant creature -- Enchanted creature gets +2/+1 and has protection from white. -- Madness {B} (If you discard this card, you may cast it for its madness cost instead of putting it into your graveyard.)
mana={1}{B}
type=Enchantment
subtype=Aura
[/card]
[card]
name=Surreal Memoir
auto=moverandom(instant) from(mygraveyard) to(myhand)
auto=if rebound then transforms((,newability[moveto(exile)],newability[phaseaction[my upkeep once checkex] activate may activate castcard(restricted)]))
mana={3}{R}
type=Sorcery
text=Return an instant card at random from your graveyard to your hand. Rebound (If you cast this spell from your hand, exile it as it resolves. At the beginning of your next upkeep, you may cast this card from exile without paying its mana cost.)
[/card]
[card]
name=Survival Cache
auto=life:2 controller
auto=if compare(lifetotal)~morethan~compare(opponentlifetotal) then draw:1 controller
auto=if rebound then transforms((,newability[moveto(exile)],newability[phaseaction[my upkeep once checkex] activate may activate castcard(restricted)]))
mana={2}{W}
type=Sorcery
text=You gain 2 life. Then if you have more life than an opponent, draw a card. Rebound (If you cast this spell from your hand, exile it as it resolves. At the beginning of your next upkeep, you may cast this card from exile without paying its mana cost.)
[/card]
[card]
name=Thespian's Stage
auto={T}:Add{1}
auto={2}{T}:copy target(land|battlefield)
text={T}: Add {1} to your mana pool. -- {2}, {T}: Thespian's Stage becomes a copy of target land and gains this ability.
type=Land
[/card]
[card]
name=Unstable Shapeshifter
auto=@movedto(other creature|battlefield):all(trigger[from]) copy
text=Whenever another creature enters the battlefield, Unstable Shapeshifter becomes a copy of that creature and gains this ability.
mana={3}{U}
type=Creature
subtype=Shapeshifter
power=0
toughness=1
[/card]
[card]
name=Virulent Swipe
target=creature
auto=2/0
auto=deathtouch
auto=if rebound then transforms((,newability[moveto(exile)],newability[phaseaction[my upkeep once checkex] activate may activate castcard(restricted)]))
mana={B}
type=Instant
text=Target creature gets +2/+0 and gains deathtouch until end of turn. Rebound (If you cast this spell from your hand, exile it as it resolves. At the beginning of your next upkeep, you may cast this card from exile without paying its mana cost.)
[/card]
[card]
name=Zombie Brute
abilities=trample
auto=foreach(zombie|myhand) counter(1/1,1)

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,46 @@
#Testing CDA Tarmogoyf vs Godhead of Awe
#Godhead of Awe makes other creatures 1/1 on layer 7b
#Tarmogoyf's CDA ability is on layer 7a so it will be overriden
#by Godhead of Awe. Giant Growth's ability is on layer 7c so
#the +3/+3 bonus is intact. :)
[INIT]
FIRSTMAIN
[PLAYER1]
inplay:Concordant Crossroads, Godhead of Awe, Forest
hand:Tarmogoyf, Giant Growth
graveyard:mountain, lightning bolt, grizzly bear
manapool:{1}{G}
[PLAYER2]
[DO]
Tarmogoyf
next
next
Tarmogoyf
next
eot
eot
#untap
next
#upkeep
next
#draw
next
#main1
Forest
Giant Growth
Tarmogoyf
next
#combat begin
next
#attackers
Tarmogoyf
eot
[ASSERT]
UNTAP
[PLAYER1]
inplay:Concordant Crossroads, Godhead of Awe, Tarmogoyf, Forest
graveyard:mountain, lightning bolt, grizzly bear, Giant Growth
manapool:{0}
[PLAYER2]
life:15
[END]

View File

@@ -0,0 +1,38 @@
#Testing CDA Turn to Frog vs Krosan Cloudscraper
#Krosan Cloudscraper that is turned into frog with 1 damage
#from Lightning Dart must die because when you change
#the power and toughness into 1/1, the 1 point of damage
#is taken into account...
[INIT]
FIRSTMAIN
[PLAYER1]
inplay:Krosan Cloudscraper
[PLAYER2]
inplay:Mountain, Plains, Swamp, Island
hand:Lightning Dart, Turn to Frog
[DO]
next
next
Krosan Cloudscraper
next
no
yes
Mountain
Plains
Lightning Dart
Krosan Cloudscraper
Swamp
Island
Turn to Frog
Krosan Cloudscraper
endinterruption
eot
[ASSERT]
UNTAP
[PLAYER1]
graveyard:Krosan Cloudscraper
[PLAYER2]
inplay:Mountain, Plains, Swamp, Island
graveyard:Lightning Dart, Turn to Frog
life:20
[END]

View File

@@ -0,0 +1,28 @@
#Hypnotic Specter vs Control Magic
#The opponent of the current controller of Hypnotic Specter
#Must discard at random when combat damage is dealt...
[INIT]
FIRSTMAIN
[PLAYER1]
hand:Control Magic
inplay:Concordant Crossroads
manapool:{B}{B}{U}{U}
[PLAYER2]
inplay:Hypnotic Specter
hand:Forest
[DO]
Control Magic
Hypnotic Specter
next
next
Hypnotic Specter
next
eot
[ASSERT]
UNTAP
[PLAYER1]
inplay:Control Magic, Hypnotic Specter, Concordant Crossroads
[PLAYER2]
graveyard:Forest
life:18
[END]

View File

@@ -0,0 +1,28 @@
#Testing Gravebane Zombie
#after gravebane zombie dies, activate archivist
#and you must draw gravebane zombie if its on the top
#of your library
[INIT]
FIRSTMAIN
[PLAYER1]
inplay:Gravebane Zombie, Archivist
hand:Wrecking Ball
library:mountain, plains, swamp
manapool:{2}{R}{B}
[PLAYER2]
[DO]
Wrecking Ball
Gravebane Zombie
Archivist
[ASSERT]
FIRSTMAIN
[PLAYER1]
inplay:Archivist
library:mountain, plains, swamp
hand:Gravebane Zombie
graveyard:Wrecking Ball
manapool:{0}
life:20
[PLAYER2]
life:20
[END]

View File

@@ -0,0 +1,29 @@
# BUG..cast tundra wolves with soul warden in play, kill soul warden with last gasp, you still get a life because the spell resolved
# first before Soul Warden goes to graveyard.
[INIT]
FIRSTMAIN
[PLAYER1]
hand:Tundra Wolves
manapool:{W}
inplay:Soul Warden
life:20
[PLAYER2]
manapool:{B}{B}
hand:Last Gasp
[DO]
Tundra Wolves
no
yes
Last Gasp
Soul Warden
endinterruption
[ASSERT]
FIRSTMAIN
[PLAYER1]
graveyard:Soul Warden
inplay:Tundra Wolves
life:20
[PLAYER2]
graveyard:Last Gasp
life:20
[END]

View File

@@ -0,0 +1,47 @@
#Testing Turn to Frog to Serra Angel with Crusade in play.
#M15 uses base power template, so setting the power/toughness.
#only affects the base or original power/toughness.
#Turn to Frog makes Serra Angel a 1/1 blue frog... latest pull
#request from GIT fixes the issue of Serra Angel dying
#from crusade because of invalid reduction of P/T :)
#
#First attack is 1/1 blue Serra Angel unaffected by Crusade
#Second attack is 5/5 Serra Angel affected by Crusade :)
[INIT]
FIRSTMAIN
[PLAYER1]
inplay:Serra Angel, Crusade
hand:Turn to Frog
manapool:{1}{U}
[PLAYER2]
[DO]
Turn to Frog
Serra Angel
next
next
Serra Angel
next
eot
eot
#untap
next
#upkeep
next
#draw
next
#main1
next
#combat begin
next
#attackers
Serra Angel
eot
[ASSERT]
UNTAP
[PLAYER1]
inplay:Serra Angel, Crusade
graveyard:Turn to Frog
manapool:{0}
[PLAYER2]
life:14
[END]

View File

@@ -0,0 +1,41 @@
#Testing Turn to Frog to Serra Angel with Glorious Anthem in play.
#First attack is 2/2 blue Serra Angel affected by Glorious Anthem
#Second attack is 5/5 Serra Angel affected by Glorious Anthem :)
[INIT]
FIRSTMAIN
[PLAYER1]
inplay:Serra Angel, Glorious Anthem
hand:Turn to Frog
manapool:{1}{U}
[PLAYER2]
[DO]
Turn to Frog
Serra Angel
next
next
Serra Angel
next
eot
eot
#untap
next
#upkeep
next
#draw
next
#main1
next
#combat begin
next
#attackers
Serra Angel
eot
[ASSERT]
UNTAP
[PLAYER1]
inplay:Serra Angel, Glorious Anthem
graveyard:Turn to Frog
manapool:{0}
[PLAYER2]
life:13
[END]

View File

@@ -0,0 +1,36 @@
#Testing PT Switch. Windreaver and Screaming Fury... Layer 7e
#A 1/3 creature is given +0/+1 by an effect. Then another effect switches the
#creatures power and toughness. Its new power and toughness is 4/1. A new effect gives
#the creature +5/+0. Its “unswitched” power and toughness would be 6/4, so its actual
#power and toughness is 4/6.
[INIT]
FIRSTMAIN
[PLAYER1]
hand:Screaming Fury
inplay:Windreaver, Mountain, Plains, Swamp, Island, Forest
[PLAYER2]
[DO]
Plains
Windreaver
choice 1
Island
Windreaver
choice 0
Mountain
Forest
Swamp
Screaming Fury
Windreaver
next
next
Windreaver
next
eot
[ASSERT]
UNTAP
[PLAYER1]
inplay:Windreaver, Mountain, Plains, Swamp, Island, Forest
graveyard:Screaming Fury
[PLAYER2]
life:16
[END]

View File

@@ -16,6 +16,9 @@ choice 0
choice 0
choice 0
180595
choice 0
180595
choice 1
eot
[ASSERT]
untap

View File

@@ -210,6 +210,8 @@ Call_to_Heel_1.txt
Call_to_Heel_2.txt
castle.txt
cathodion.txt
CDA#1.txt
CDA#2.txt
celestial_mantle.txt
celestial_purge.txt
celestial_sword.txt
@@ -309,10 +311,12 @@ evil_presence3.txt
evil_presence_i647.txt
evil_presence_i647_2.txt
exaltedsourcekilled.txt
ExchangeController.txt
executioners_swing.txt
executioners_swing2.txt
executioners_swing3.txt
explore.txt
exquisite_blood_i953.txt
Faceless_Butcher.txt
fading.txt
fangren_pathcutter.txt
@@ -345,6 +349,7 @@ foratog.txt
force_of_nature.txt
force_of_nature2.txt
force_of_nature3.txt
formidable.txt
fountain_of_youth.txt
Frogmite.txt
fungus_sliver.txt
@@ -372,6 +377,7 @@ goblin_lackey4.txt
goblin_offensive.txt
goblin_razerunners.txt
golgari_germination_i153.txt
Gravebane_Zombie.txt
gravedigger.txt
gravity_well.txt
gravity_well2.txt
@@ -438,6 +444,7 @@ kudzu_i168.txt
Lethargy_Trap.txt
Lethargy_Trap2.txt
leveler.txt
leyline_of_the_void.txt
lhurgoyf.txt
liability.txt
library_of_alexandria1.txt
@@ -520,6 +527,7 @@ pillory_of_the_sleepless2_i188.txt
pillory_of_the_sleepless3_i188.txt
pillory_of_the_sleepless4_i188.txt
plague_rats.txt
pledge_protection.txt
plumes_of_peace_i260.txt
pouncing_jaguar_i425.txt
power_armor.txt
@@ -529,6 +537,10 @@ protomatter_powder.txt
prowess_of_the_fair.txt
prowess_of_the_fair2.txt
prowess_of_the_fair3.txt
PTInstant.txt
PTswitch.txt
PT_M15_errata.txt
PT_M15_errata2.txt
pygmy_troll.txt
pyknite_i426.txt
pyroclasm.txt
@@ -566,6 +578,7 @@ Rending_Vines2.txt
resounding_roar.txt
resurrection.txt
resuscitate_i210.txt
restinpeace.txt
righteous_cause.txt
rise_from_the_grave.txt
river_kelpie2_i335.txt
@@ -654,6 +667,7 @@ thallid.txt
the_tabernacle_at_pendrell_vale.txt
thelon_of_havenwood.txt
threaten.txt
thraximundar.txt
throne_of_bone.txt
thunder-thrash_elder.txt
tidal_warrior_i646.txt
@@ -661,6 +675,8 @@ tidal_warrior_i649.txt
tidal_warrior_i652.txt
Timely_Reinforcements.txt
titanic_ultimatum.txt
tokenizer.txt
tokenizer2.txt
torture.txt
tranquil_domain.txt
turn_to_slag.txt

View File

@@ -23,6 +23,7 @@ firstmain
[PLAYER1]
inplay:Aegis of the Meek,Steppe Lynx,Savannah Lions,Courier Hawk
graveyard:Swords to Plowshares
exile:Raging Goblin
life:22
[PLAYER2]
[END]

View File

@@ -16,6 +16,7 @@ Angry Mob
firstmain
[PLAYER1]
graveyard:Swords to Plowshares
exile:Angry Mob
life:25
[PLAYER2]
inplay:1373,1374,1375

View File

@@ -19,6 +19,7 @@ Angry Mob
[ASSERT]
firstmain
[PLAYER1]
exile:Angry Mob
graveyard:Swords to Plowshares,Boomerang
life:24
[PLAYER2]

View File

@@ -22,6 +22,7 @@ Angry Mob
[ASSERT]
firstmain
[PLAYER1]
exile:Angry Mob
life:22
[PLAYER2]
inplay:1373,1374,1375,Plains

View File

@@ -25,6 +25,7 @@ Angry Mob
[ASSERT]
firstmain
[PLAYER1]
exile:Angry Mob
life:22
[PLAYER2]
inplay:1373,1374,1375,Plains

View File

@@ -29,6 +29,7 @@ Angry Mob
[ASSERT]
firstmain
[PLAYER1]
exile:Angry Mob
life:22
[PLAYER2]
inplay:1373,1374,Plains

View File

@@ -23,6 +23,7 @@ Angry Mob
[ASSERT]
firstmain
[PLAYER1]
exile:Angry Mob
inplay:Plains
graveyard:Swords to Plowshares
life:25

View File

@@ -22,6 +22,7 @@ Angry Mob
firstmain
[PLAYER1]
graveyard:Swords to Plowshares,Annex,Demystify
exile:Angry Mob
life:25
[PLAYER2]
inplay:1373,1374,1375

View File

@@ -15,4 +15,5 @@ FIRSTMAIN
graveyard:183055
manapool:{0}
[PLAYER2]
exile:184994
[END]

View File

@@ -28,6 +28,7 @@ graveyard:1194
manapool:{0}
life:24
[PLAYER2]
exile:1366
graveyard:1367
inplay:1397
manapool:{0}

View File

@@ -19,6 +19,7 @@ Grizzly Bears
[ASSERT]
combatattackers
[PLAYER1]
exile:Grizzly Bears
inplay:Cranial Plating,Rod of Ruin
graveyard:Swords to Plowshares
life:24

View File

@@ -2,6 +2,15 @@
#DESC: Tests whether Curiosity works correctly
#DESC: when cast on an opponent's creature
#DESC: http://code.google.com/p/wagic/issues/detail?id=217
#
#revised...10-22-2015...kevlahnota
#2/1/2007 You draw one card each time the enchanted creature damages the opponent. This is not one card per point of damage.
#2/1/2007 If put on your opponent's creature, you do not draw a card when that creature damages you. The creature has to damage your opponent in order to have this work.
#2/1/2007 Drawing a card is optional. If you forget, you can't go back later and do it, even if it is something you normally do.
#9/22/2011 "You" refers to the controller of Curiosity, which may be different from the controller of the enchanted creature."An opponent" refers to an opponent of Curiosity's controller.
#9/22/2011 Any damage dealt by the enchanted creature to an opponent will cause Curiosity to trigger, not just combat damage.
#9/22/2011 Curiosity doesn't trigger if the enchanted creature deals damage to a planeswalker controlled by an opponent.
#
[INIT]
firstmain
[PLAYER1]
@@ -29,7 +38,7 @@ next
combatend
[PLAYER1]
inplay:Curiosity
hand:Island
library:Island
life:14
[PLAYER2]
inplay:Craw Wurm

View File

@@ -19,6 +19,7 @@ endinterruption
[ASSERT]
FIRSTMAIN
[PLAYER1]
exile:grizzly bears
graveyard:fists of ironwood
life:22
[PLAYER2]

View File

@@ -17,6 +17,7 @@ endinterruption
[ASSERT]
FIRSTMAIN
[PLAYER1]
exile:bad moon
manapool:{0}
life:20
[PLAYER2]

View File

@@ -0,0 +1,33 @@
#Testing Atarka Beastbreaker,Stampeding Elk Herd -- Formidable
#Atarka Beastbreaker will become 6/6, and then attacks along with Stampeding Elk Herd, trample effect will trigger
#then p2 will block with Steel Wall, p2 must have 13 life...
[INIT]
COMBATATTACKERS
[PLAYER1]
inplay:Atarka Beastbreaker,Krosan Tusker,Stampeding Elk Herd
manapool:{4}{G}
[PLAYER2]
inplay:Steel Wall
life:20
[DO]
Atarka Beastbreaker
choice 1
Atarka Beastbreaker
Stampeding Elk Herd
next
Steel Wall
#blockers
next
#combatdamage 2
next
next
#endofcombat 2
[ASSERT]
COMBATEND
[PLAYER1]
inplay:Atarka Beastbreaker,Krosan Tusker,Stampeding Elk Herd
manapool:{0}
[PLAYER2]
graveyard:Steel Wall
life:13
[END]

View File

@@ -26,6 +26,7 @@ secondmain
[PLAYER1]
inplay:Plains
graveyard:Swords to Plowshares
exile:Frost Giant
life:28
[PLAYER2]
graveyard:Suntail Hawk,Scryb Sprites,Raging Goblin

View File

@@ -18,6 +18,7 @@ Jayemdae Tome
[ASSERT]
firstmain
[PLAYER1]
exile:Jayemdae Tome
graveyard:Karn's Touch,Swords to Plowshares
life:24
[PLAYER2]

View File

@@ -11,6 +11,7 @@ leveler
[ASSERT]
FIRSTMAIN
[PLAYER1]
exile:swamp,mountain
inplay:leveler
[PLAYER2]
[END]

View File

@@ -0,0 +1,26 @@
#Testing Leyline of the Void vs Darksteel Colossus and Black Sun's Zenith
#Darksteel Colossus must be on owners library
[INIT]
FIRSTMAIN
[PLAYER1]
inplay:Leyline of the Void, Forbidden Orchard
hand:Black Sun's Zenith
manapool:{B}{B}{B}{B}{B}{B}{B}{B}{B}{B}{B}{B}{B}{B}
[PLAYER2]
inplay:Darksteel Colossus
library:Mountain
[DO]
Forbidden Orchard
choice 2
Black Sun's Zenith
[ASSERT]
FIRSTMAIN
[PLAYER1]
inplay:Leyline of the Void, Forbidden Orchard
library:Black Sun's Zenith
manapool:{0}
life:20
[PLAYER2]
library:Mountain, Darksteel Colossus
life:20
[END]

View File

@@ -16,4 +16,5 @@ FIRSTMAIN
inplay:necrogenesis,*
manapool:{0}
[PLAYER2]
exile:1250
[END]

View File

@@ -0,0 +1,46 @@
#Testing Protection
#702.16c A permanent or player with protection cant be enchanted by Auras that have the stated
#quality. Such Auras attached to the permanent or player with protection will be put into their
#owners graveyards as a state-based action.
#
#702.16d A permanent with protection cant be equipped by Equipment that have the stated quality
#or fortified by Fortifications that have the stated quality. Such Equipment or Fortifications
#become unattached from that permanent as a state-based action, but remain on the battlefield.
[INIT]
FIRSTMAIN
[PLAYER1]
hand:Pledge of Loyalty, Shuko, Holy Strength, Shifting Sky
inplay:Crimson Acolyte
manapool:{W}{W}{W}{W}{U}{U}{U}
[PLAYER2]
[DO]
Holy Strength
Crimson Acolyte
#crimson acolyte becomes 2/3
Shuko
Shuko
Crimson Acolyte
#crimson acolyte becomes 3/3
Pledge of Loyalty
Crimson Acolyte
#crimson acolyte becomes 2/1 since you have white permanents, pledge of loyalty grants protection from white
#holy strength is put into the graveyard as state based action :)
Shifting Sky
choice 0
choice 2
#after casting shifting sky, choose the color red, and all nonland permanents becomes red
#since shuko becomes red and crimson has protection from red, it will be unattached
#as state based action, pledge of loyalty stays on the creature :)
next
next
Crimson Acolyte
next
eot
[ASSERT]
UNTAP
[PLAYER1]
inplay:Crimson Acolyte, Pledge of Loyalty, Shuko, Shifting Sky
graveyard:Holy Strength
[PLAYER2]
life:19
[END]

View File

@@ -0,0 +1,23 @@
#Testing Rest in Peace vs Disenchant
#Rest in Peace should be exiled while Disenchant must be put
#in the owner's graveyard..
[INIT]
FIRSTMAIN
[PLAYER1]
inplay:Rest in Peace
hand:Disenchant
manapool:{W}{W}
[PLAYER2]
[DO]
Disenchant
Rest in Peace
[ASSERT]
FIRSTMAIN
[PLAYER1]
graveyard:Disenchant
manapool:{0}
exile:Rest in Peace
life:20
[PLAYER2]
life:20
[END]

View File

@@ -16,5 +16,6 @@ FIRSTMAIN
graveyard:1367
manapool:{0}
[PLAYER2]
exile:141935
life:23
[END]

View File

@@ -25,6 +25,7 @@ next
[assert]
secondmain
[player1]
exile:fungusaur
inplay:Thelon Of Havenwood,Thallid,Deathspore Thallid,forest,swamp
[player2]
life:14

View File

@@ -0,0 +1,20 @@
#Bug: thraximundar ability must resolve first... and survives
[INIT]
FIRSTMAIN
[PLAYER1]
inplay:thraximundar,bloodfire colossus
manapool:{R}
[PLAYER2]
[DO]
bloodfire colossus
choice 0
[ASSERT]
FIRSTMAIN
[PLAYER1]
graveyard:bloodfire colossus
inplay:thraximundar
manapool:{0}
life:14
[PLAYER2]
life:14
[END]

View File

@@ -0,0 +1,29 @@
# Testing Tokenizer - Parallel Lives (ISD) 249662
# Dragon Fodder (ALA) 174936
# text=Put two 1/1 red Goblin creature tokens into play.
# Tokens must be 2.. since there are no tokenizer.
[INIT]
FIRSTMAIN
[PLAYER1]
hand:174936
manapool:{R}{1}
inplay:249662
[PLAYER2]
hand:Demystify
manapool:{W}
[DO]
174936
no
yes
Demystify
249662
endinterruption
[ASSERT]
FIRSTMAIN
[PLAYER1]
graveyard:249662,174936
inplay:-174936,-174936
[PLAYER2]
graveyard:Demystify
life:20
[END]

View File

@@ -0,0 +1,27 @@
# Testing Tokenizer - Parallel Lives (ISD) 249662
# Dragon Fodder (ALA) 174936
# text=Put two 1/1 red Goblin creature tokens into play.
# Tokens must be 8.. since there are two tokenizer... original value
# is 2 with first tokenizer it will become 4, with the second tokenizer
# the value will be 8...
[INIT]
FIRSTMAIN
[PLAYER1]
hand:174936
manapool:{R}{1}
inplay:249662,249662
[PLAYER2]
inplay:plains
hand:Demystify
[DO]
174936
[ASSERT]
FIRSTMAIN
[PLAYER1]
graveyard:174936
inplay:249662,249662,-174936,-174936,-174936,-174936,-174936,-174936,-174936,-174936
[PLAYER2]
hand:Demystify
inplay:plains
life:20
[END]

View File

@@ -24,6 +24,7 @@ next
[ASSERT]
CLEANUP
[PLAYER1]
exile:Dregscape Zombie
inplay:129754
[PLAYER2]
graveyard:Grizzly Bears

Binary file not shown.

Before

Width:  |  Height:  |  Size: 124 KiB

After

Width:  |  Height:  |  Size: 125 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

After

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 40 KiB

After

Width:  |  Height:  |  Size: 46 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 69 KiB

After

Width:  |  Height:  |  Size: 76 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 36 KiB

After

Width:  |  Height:  |  Size: 51 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 54 KiB

After

Width:  |  Height:  |  Size: 54 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 47 KiB

After

Width:  |  Height:  |  Size: 49 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 24 KiB

201
projects/mtg/iOS/Makefile Normal file
View File

@@ -0,0 +1,201 @@
export ARCHS = armv7 armv7s
export TARGET = iphone:clang:latest:8.0
include ../../../theos/makefiles/common.mk
APPLICATION_NAME = wagic
wagic_FILES = ../../../JGE/src/iOS/main.m\
../../../JGE/src/iOS/wagicAppDelegate.m\
../../../JGE/src/iOS/ES2Renderer.m\
../../../JGE/src/iOS/EAGLView.m\
../../../JGE/src/iOS/EAGLViewController.m\
../../../JGE/src/iOS/JSfx.cpp\
../../../JGE/src/pc/JGfx.cpp\
../iOS/UI/WagicDownloadProgressViewController.m\
../iOS/asi-http-request/ASIAuthenticationDialog.m\
../iOS/asi-http-request/ASIDataCompressor.m\
../iOS/asi-http-request/ASIDataDecompressor.m\
../iOS/asi-http-request/ASIDownloadCache.m\
../iOS/asi-http-request/ASIFormDataRequest.m\
../iOS/asi-http-request/ASIHTTPRequest.m\
../iOS/asi-http-request/ASIInputStream.m\
../iOS/asi-http-request/ASINetworkQueue.m\
../iOS/SoundManager/SoundManager.m\
../iOS/SoundManager/MyOpenALSupport.c\
../iOS/Reachability/Reachability/Reachability.m\
../../../JGE/src/unzip/unzip.c\
../../../JGE/src/unzip/zip.c\
../../../JGE/src/unzip/ioapi.c\
../iOS/ZipArchive/ZipArchive.mm\
../src/SimpleMenu.cpp\
../src/AbilityParser.cpp\
../src/ActionElement.cpp\
../src/ActionLayer.cpp\
../src/ActionStack.cpp\
../src/AIHints.cpp\
../src/AIMomirPlayer.cpp\
../src/AIPlayer.cpp\
../src/AIPlayerBaka.cpp\
../src/AIStats.cpp\
../src/AllAbilities.cpp\
../src/CardDescriptor.cpp\
../src/CardDisplay.cpp\
../src/CardGui.cpp\
../src/CardPrimitive.cpp\
../src/CardSelector.cpp\
../src/CarouselDeckView.cpp\
../src/Closest.cpp\
../src/Counters.cpp\
../src/Credits.cpp\
../src/Damage.cpp\
../src/DamagerDamaged.cpp\
../src/DeckDataWrapper.cpp\
../src/DeckEditorMenu.cpp\
../src/DeckManager.cpp\
../src/DeckMenu.cpp\
../src/DeckMenuItem.cpp\
../src/DeckMetaData.cpp\
../src/DeckStats.cpp\
../src/DeckView.cpp\
../src/DuelLayers.cpp\
../src/ExtraCost.cpp\
../src/GameApp.cpp\
../src/GameLauncher.cpp\
../src/GameObserver.cpp\
../src/GameOptions.cpp\
../src/GameStateAwards.cpp\
../src/GameState.cpp\
../src/GameStateDeckViewer.cpp\
../src/GameStateDuel.cpp\
../src/GameStateMenu.cpp\
../src/GameStateOptions.cpp\
../src/GameStateShop.cpp\
../src/GameStateStory.cpp\
../src/GameStateTransitions.cpp\
../src/GridDeckView.cpp\
../src/GuiAvatars.cpp\
../src/GuiBackground.cpp\
../src/GuiCardsController.cpp\
../src/GuiCombat.cpp\
../src/GuiFrame.cpp\
../src/GuiHand.cpp\
../src/GuiLayers.cpp\
../src/GuiMana.cpp\
../src/GuiPhaseBar.cpp\
../src/GuiPlay.cpp\
../src/GuiStatic.cpp\
../src/IconButton.cpp\
../src/InteractiveButton.cpp\
../src/ManaCost.cpp\
../src/ManaCostHybrid.cpp\
../src/MenuItem.cpp\
../src/ModRules.cpp\
../src/MTGAbility.cpp\
../src/MTGCard.cpp\
../src/MTGCardInstance.cpp\
../src/MTGDeck.cpp\
../src/MTGDefinitions.cpp\
../src/MTGGamePhase.cpp\
../src/MTGGameZones.cpp\
../src/MTGPack.cpp\
../src/MTGRules.cpp\
../src/ObjectAnalytics.cpp\
../src/OptionItem.cpp\
../src/PhaseRing.cpp\
../src/Player.cpp\
../src/PlayerData.cpp\
../src/PlayGuiObject.cpp\
../src/PlayGuiObjectController.cpp\
../src/PlayRestrictions.cpp\
../src/Pos.cpp\
../src/PriceList.cpp\
../src/ReplacementEffects.cpp\
../src/Rules.cpp\
../src/SimpleButton.cpp\
../src/SimpleMenu.cpp\
../src/SimpleMenuItem.cpp\
../src/SimplePad.cpp\
../src/SimplePopup.cpp\
../src/StoryFlow.cpp\
../src/Subtypes.cpp\
../src/StyleManager.cpp\
../src/TargetChooser.cpp\
../src/TargetsList.cpp\
../src/Tasks.cpp\
../src/TextScroller.cpp\
../src/ThisDescriptor.cpp\
../src/Token.cpp\
../src/Translate.cpp\
../src/TranslateKeys.cpp\
../src/Trash.cpp\
../src/utils.cpp\
../src/WCachedResource.cpp\
../src/WDataSrc.cpp\
../src/WEvent.cpp\
../src/WFilter.cpp\
../src/WFont.cpp\
../src/WGui.cpp\
../src/WResourceManager.cpp \
../src/AIPlayerBakaB.cpp \
../src/TestSuiteAI.cpp\
../../../JGE/src/Encoding.cpp\
../../../JGE/src/JAnimator.cpp\
../../../JGE/src/JApp.cpp\
../../../JGE/src/JDistortionMesh.cpp\
../../../JGE/src/JFileSystem.cpp\
../../../JGE/src/JGameObject.cpp\
../../../JGE/src/JGE.cpp\
../../../JGE/src/JGui.cpp\
../../../JGE/src/JLogger.cpp\
../../../JGE/src/JLBFont.cpp\
../../../JGE/src/JOBJModel.cpp\
../../../JGE/src/JParticle.cpp\
../../../JGE/src/JParticleEffect.cpp\
../../../JGE/src/JParticleEmitter.cpp\
../../../JGE/src/JParticleSystem.cpp\
../../../JGE/src/JResourceManager.cpp\
../../../JGE/src/JSpline.cpp\
../../../JGE/src/JSprite.cpp\
../../../JGE/src/Vector2D.cpp\
../../../JGE/src/tinyxml/tinystr.cpp\
../../../JGE/src/tinyxml/tinyxml.cpp\
../../../JGE/src/tinyxml/tinyxmlerror.cpp\
../../../JGE/src/tinyxml/tinyxmlparser.cpp\
../../../JGE/src/hge/hgecolor.cpp\
../../../JGE/src/hge/hgedistort.cpp\
../../../JGE/src/hge/hgefont.cpp\
../../../JGE/src/hge/hgeparticle.cpp\
../../../JGE/src/hge/hgerect.cpp\
../../../JGE/src/hge/hgevector.cpp\
../../../JGE/src/zipFS/zfsystem.cpp\
../../../JGE/src/zipFS/ziphdr.cpp\
../../../JGE/src/zipFS/zstream.cpp\
../../../Boost/lib/pthread/once.cpp\
../../../Boost/lib/pthread/thread.cpp\
wagic_LDFLAGS = -lz
wagic_FRAMEWORKS = UIKit CoreGraphics OpenGLES Foundation CFNetwork MobileCoreServices AVFoundation OpenAL AudioToolbox QuartzCore SystemConfiguration
include ../../../theos/makefiles/application.mk
ADDITIONAL_CFLAGS = -I ../include\
-I ../../../JGE/include\
-I ../../../JGE/src/unzip\
-I ../../../JGE/src/zipFS\
-I ../../../JGE/Dependencies/include\
-I ../../../Boost\
-I ../../../JGE/src/iOS\
-I ../iOS/UI\
-I ../iOS/Reachability/Reachability\
-I ../iOS/asi-http-request\
-I ../iOS/ZipArchive\
-I ../iOS/SoundManager\
-DIOS -D__arm__ -DTIXML_USE_STL -DVERSION=\"$(GIT_VERSION)\"\
-Wno-parentheses-equality -Wno-delete-non-virtual-dtor\
-Wno-tautological-undefined-compare -Wno-undefined-bool-conversion\
-Wno-visibility -Wno-deprecated-declarations -Wno-non-literal-null-conversion\
-Wno-format -Wno-distributed-object-modifiers -Wno-missing-braces\
-Wno-unused-const-variable -Wno-unused-function -Wno-unknown-warning-option\
-x objective-c++
_THEOS_TARGET_ONLY_OBJCFLAGS :=""

View File

@@ -180,7 +180,7 @@ static void logNetworkStatus_(const char *name, int line, NetworkStatus status)
#define logNetworkStatus(status)
#endif
@interface Reachability (private)
@interface Reachability ()
- (NetworkStatus) networkStatusForFlags: (SCNetworkReachabilityFlags) flags;

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