diff -Nru parsec47-0.2.dfsg1/debian/changelog parsec47-0.2.dfsg1/debian/changelog --- parsec47-0.2.dfsg1/debian/changelog 2016-06-20 08:12:21.000000000 +0000 +++ parsec47-0.2.dfsg1/debian/changelog 2018-04-24 20:09:34.000000000 +0000 @@ -1,3 +1,15 @@ +parsec47 (0.2.dfsg1-9) unstable; urgency=medium + + * Patched to compile with gdc-8. (Closes: #896586) + * Enable deprecation warnings during compilation. + * Move to debhelper compat level 11. + * Changed priority from extra to optional. + * Fixed watch file. + * Remove README.source because source format 3.0 uses quilt by default. + * Bump Standards-Version to 4.1.4. + + -- Peter De Wachter Tue, 24 Apr 2018 22:09:34 +0200 + parsec47 (0.2.dfsg1-8) unstable; urgency=medium * Fix build failure with current gdc. (Closes: #827587) diff -Nru parsec47-0.2.dfsg1/debian/compat parsec47-0.2.dfsg1/debian/compat --- parsec47-0.2.dfsg1/debian/compat 2016-06-20 08:12:21.000000000 +0000 +++ parsec47-0.2.dfsg1/debian/compat 2018-04-24 20:09:34.000000000 +0000 @@ -1 +1 @@ -9 +11 diff -Nru parsec47-0.2.dfsg1/debian/control parsec47-0.2.dfsg1/debian/control --- parsec47-0.2.dfsg1/debian/control 2016-06-20 08:12:21.000000000 +0000 +++ parsec47-0.2.dfsg1/debian/control 2018-04-24 20:09:34.000000000 +0000 @@ -1,12 +1,12 @@ Source: parsec47 Section: games -Priority: extra +Priority: optional Maintainer: Debian Games Team Uploaders: Miriam Ruiz , Peter De Wachter Build-Depends: - debhelper (>= 9), + debhelper (>= 11), gdc (>= 4.8.1), libbulletml-dev, libgl1-mesa-dev | libgl-dev, @@ -15,7 +15,7 @@ libsdl1.2-dev Build-Conflicts: libphobos-4.4-dev -Standards-Version: 3.9.8 +Standards-Version: 4.1.4 Homepage: http://www.asahi-net.or.jp/~cs8k-cyu/windows/p47_e.html Vcs-Svn: svn://anonscm.debian.org/pkg-games/packages/trunk/parsec47/ Vcs-Browser: https://anonscm.debian.org/viewvc/pkg-games/packages/trunk/parsec47/ diff -Nru parsec47-0.2.dfsg1/debian/patches/dlang_v2.patch parsec47-0.2.dfsg1/debian/patches/dlang_v2.patch --- parsec47-0.2.dfsg1/debian/patches/dlang_v2.patch 2016-06-20 08:12:21.000000000 +0000 +++ parsec47-0.2.dfsg1/debian/patches/dlang_v2.patch 2018-04-24 20:09:34.000000000 +0000 @@ -1,5 +1,5 @@ Description: port to D language version 2 - With this patch the code is accapted by gdc-4.6 0.29.1-4.6.4-3 without + With this patch the code is accepted by gdc-4.6 0.29.1-4.6.4-3 without triggering deprecated feature warnings/errors. Author: Peter De Wachter diff -Nru parsec47-0.2.dfsg1/debian/patches/gdc-8.patch parsec47-0.2.dfsg1/debian/patches/gdc-8.patch --- parsec47-0.2.dfsg1/debian/patches/gdc-8.patch 1970-01-01 00:00:00.000000000 +0000 +++ parsec47-0.2.dfsg1/debian/patches/gdc-8.patch 2018-04-24 20:09:34.000000000 +0000 @@ -0,0 +1,455 @@ +Description: More fixes for D language changes + With this patch the code is accepted by gdc-8 8-20180414-1 without + triggering deprecated feature warnings. + - Convert I/O to use std.stdio module + - Some other modules got renamed + - Avoid C-style array type notation + - Use "goto case" to mark fall-through in switch statements +Author: Peter De Wachter +Forwarded: no + +--- a/src/abagames/p47/BarrageManager.d ++++ b/src/abagames/p47/BarrageManager.d +@@ -27,8 +27,8 @@ + } + static const int BARRAGE_TYPE = 13; + static const int BARRAGE_MAX = 64; +- BulletMLParserTinyXML* parser[BARRAGE_TYPE][BARRAGE_MAX]; +- int parserNum[BARRAGE_TYPE]; ++ BulletMLParserTinyXML*[BARRAGE_MAX][BARRAGE_TYPE] parser; ++ int[BARRAGE_TYPE] parserNum; + private: + static const string[BARRAGE_TYPE] dirName = + ["/usr/share/games/parsec47/morph", +--- a/src/abagames/p47/BulletActor.d ++++ b/src/abagames/p47/BulletActor.d +@@ -92,7 +92,7 @@ + public void set(BulletMLRunner* runner, + float x, float y, float deg, float speed, float rank, + float speedRank, int shape, int color, float size, float xReverse, +- BulletMLParser *morph[], int morphNum, int morphIdx, int morphCnt) { ++ BulletMLParser *[]morph, int morphNum, int morphIdx, int morphCnt) { + bullet.set(runner, x, y, deg, speed, rank); + bullet.setMorph(morph, morphNum, morphIdx, morphCnt); + isSimple = false; +@@ -216,7 +216,7 @@ + + public static const int BULLET_SHAPE_NUM = 7; + public static const int BULLET_COLOR_NUM = 4; +- private static const float shapePos[BULLET_SHAPE_NUM][][3] = ++ private static const float[3][][BULLET_SHAPE_NUM] shapePos = + [ + [[-0.5, -0.5], [0.5, -0.5], [0, 1],], + [[0, -1], [0.5, 0], [0, 1], [-0.5, 0]], +@@ -291,7 +291,7 @@ + private static const float SHAPE_BASE_COLOR_R = 1; + private static const float SHAPE_BASE_COLOR_G = 0.9; + private static const float SHAPE_BASE_COLOR_B = 0.7; +- private static const float bulletColor[BULLET_COLOR_NUM][3] = ++ private static const float[3][BULLET_COLOR_NUM] bulletColor = + [ + [1, 0, 0], [0.2, 1, 0.4], [0.3, 0.3, 1], [1, 1, 0], + ]; +--- a/src/abagames/p47/BulletActorPool.d ++++ b/src/abagames/p47/BulletActorPool.d +@@ -98,7 +98,7 @@ + float x, float y, float deg, float speed, + float rank, + float speedRank, int shape, int color, float size, float xReverse, +- BulletMLParser *morph[], int morphNum, int morphCnt) { ++ BulletMLParser *[]morph, int morphNum, int morphCnt) { + BulletActor ba = cast(BulletActor) getInstance(); + if (!ba) + return null; +--- a/src/abagames/p47/Enemy.d ++++ b/src/abagames/p47/Enemy.d +@@ -34,7 +34,7 @@ + public class Enemy: Actor { + // Side wing with batteries. + private struct Battery { +- BulletActor topBullet[BatteryType.WING_BATTERY_MAX]; ++ BulletActor[BatteryType.WING_BATTERY_MAX] topBullet; + int shield; + bool damaged; + } +@@ -43,7 +43,7 @@ + static const float FIELD_SPACE = 0.5; + Vector pos; + EnemyType type; +- Battery battery[EnemyType.BATTERY_MAX]; ++ Battery[EnemyType.BATTERY_MAX] battery; + int shield; + private: + static const int MOVE_POINT_MAX = 8; +@@ -58,7 +58,7 @@ + int cnt; + BulletActor topBullet; + BulletActor moveBullet; +- Vector movePoint[MOVE_POINT_MAX]; ++ Vector[MOVE_POINT_MAX] movePoint; + int movePointNum, movePointIdx; + float speed, deg; + bool onRoute; +@@ -272,7 +272,7 @@ + private static int SHOT_DAMAGE = 1; + private static int ROLL_DAMAGE = 1; + private static int LOCK_DAMAGE = 7; +- private static const int ENEMY_TYPE_SCORE[] = [100, 500, 1000, 5000, 10000]; ++ private static const int[] ENEMY_TYPE_SCORE = [100, 500, 1000, 5000, 10000]; + private static const int ENEMY_WING_SCORE = 1000; + + private void addDamage(int dmg) { +--- a/src/abagames/p47/EnemyType.d ++++ b/src/abagames/p47/EnemyType.d +@@ -19,7 +19,7 @@ + public class Barrage { + public: + BulletMLParser *parser; +- BulletMLParser *morphParser[MorphBullet.MORPH_MAX]; ++ BulletMLParser *[MorphBullet.MORPH_MAX] morphParser; + int morphNum, morphCnt; + float rank, speedRank, morphRank; + int shape, color; +@@ -35,12 +35,12 @@ + static const int WING_SHAPE_POINT_NUM = 3; + static const int WING_BATTERY_MAX = 3; + static const int BARRAGE_PATTERN_MAX = 8; +- Vector wingShapePos[WING_SHAPE_POINT_NUM]; ++ Vector[WING_SHAPE_POINT_NUM] wingShapePos; + Vector collisionPos, collisionSize; +- Vector batteryPos[WING_BATTERY_MAX]; ++ Vector[WING_BATTERY_MAX] batteryPos; + int batteryNum; + float r, g, b; +- Barrage barrage[BARRAGE_PATTERN_MAX]; ++ Barrage[BARRAGE_PATTERN_MAX] barrage; + bool xReverseAlternate; + int shield; + +@@ -69,14 +69,14 @@ + static const int BATTERY_MAX = 4; + static const int ENEMY_TYPE_MAX = 32; + // Whether each type of the enemy is exist or not. +- static bool isExist[ENEMY_TYPE_MAX]; +- Barrage barrage[BARRAGE_PATTERN_MAX]; +- Vector bodyShapePos[BODY_SHAPE_POINT_NUM]; ++ static bool[ENEMY_TYPE_MAX] isExist; ++ Barrage[BARRAGE_PATTERN_MAX] barrage; ++ Vector[BODY_SHAPE_POINT_NUM] bodyShapePos; + Vector collisionSize; + bool wingCollision; + float r, g, b; + float retroSize; +- BatteryType batteryType[BATTERY_MAX]; ++ BatteryType[BATTERY_MAX] batteryType; + int batteryNum; + int shield; + int fireInterval, firePeriod, barragePatternNum; +@@ -122,7 +122,7 @@ + } + + // To avoid using the same morph pattern. +- private static bool usedMorphParser[BarrageManager.BARRAGE_MAX]; ++ private static bool[BarrageManager.BARRAGE_MAX] usedMorphParser; + + private void setBarrageType(Barrage br, int btn, int mode) { + br.parser = barrageManager.parser +--- a/src/abagames/p47/Field.d ++++ b/src/abagames/p47/Field.d +@@ -125,7 +125,7 @@ + } + + private static const int RING_POS_NUM = 16; +- private static Vector ringPos[RING_POS_NUM]; ++ private static Vector[RING_POS_NUM] ringPos; + private static const float RING_DEG = std.math.PI / 3 / (cast(float) (RING_POS_NUM / 2) + 0.5); + private static const float RING_RADIUS = 10; + private static const float RING_SIZE = 0.5; +--- a/src/abagames/p47/Fragment.d ++++ b/src/abagames/p47/Fragment.d +@@ -26,8 +26,8 @@ + private: + static Rand rand; + static const int POINT_NUM = 2; +- Vector pos[POINT_NUM]; +- Vector vel[POINT_NUM]; ++ Vector[POINT_NUM] pos; ++ Vector[POINT_NUM] vel; + Vector impact; + float z; + float lumAlp; +--- a/src/abagames/p47/Lock.d ++++ b/src/abagames/p47/Lock.d +@@ -28,7 +28,7 @@ + } + int state; + static const int LENGTH = 12; +- Vector pos[LENGTH]; ++ Vector[LENGTH] pos; + static const int NO_COLLISION_CNT = 8; + int cnt; + float lockMinY; +@@ -117,6 +117,7 @@ + case LOCKED: + if (cnt >= NO_COLLISION_CNT) + state = FIRED; ++ goto case; + case FIRED: + case CANCELED: + if (state != CANCELED) { +--- a/src/abagames/p47/LuminousScreen.d ++++ b/src/abagames/p47/LuminousScreen.d +@@ -19,7 +19,7 @@ + GLuint luminousTexture; + const int LUMINOUS_TEXTURE_WIDTH_MAX = 64; + const int LUMINOUS_TEXTURE_HEIGHT_MAX = 64; +- GLuint td[LUMINOUS_TEXTURE_WIDTH_MAX * LUMINOUS_TEXTURE_HEIGHT_MAX * 4 * uint.sizeof]; ++ GLuint[LUMINOUS_TEXTURE_WIDTH_MAX * LUMINOUS_TEXTURE_HEIGHT_MAX * 4 * uint.sizeof] td; + int luminousTextureWidth = 64, luminousTextureHeight = 64; + int screenWidth, screenHeight; + float luminous; +@@ -79,7 +79,7 @@ + glPopMatrix(); + } + +- private int lmOfs[5][2] = [[0, 0], [1, 0], [-1, 0], [0, 1], [0, -1]]; ++ private int[2][5] lmOfs = [[0, 0], [1, 0], [-1, 0], [0, 1], [0, -1]]; + private const float lmOfsBs = 5; + + public void draw() { +--- a/src/abagames/p47/MorphBullet.d ++++ b/src/abagames/p47/MorphBullet.d +@@ -15,7 +15,7 @@ + public class MorphBullet: Bullet { + public: + static const int MORPH_MAX = 8; +- BulletMLParser *morphParser[MORPH_MAX]; ++ BulletMLParser *[MORPH_MAX] morphParser; + int morphNum; + int morphIdx; + int morphCnt; +@@ -27,7 +27,7 @@ + super(id); + } + +- public void setMorph(BulletMLParser *mrp[], int num, int idx, int cnt) { ++ public void setMorph(BulletMLParser *[] mrp, int num, int idx, int cnt) { + if (cnt <= 0) { + isMorph = false; + return; +--- a/src/abagames/p47/P47Boot.d ++++ b/src/abagames/p47/P47Boot.d +@@ -134,7 +134,7 @@ + _minit(); + try { + _moduleCtor(); +- char exe[4096]; ++ char[4096] exe; + GetModuleFileNameA(null, exe, 4096); + string[1] prog; + prog[0] = to!string(exe); +--- a/src/abagames/p47/P47GameManager.d ++++ b/src/abagames/p47/P47GameManager.d +@@ -81,7 +81,7 @@ + int pauseCnt; + const int BOSS_WING_NUM = 4; + int bossShield; +- int bossWingShield[BOSS_WING_NUM]; ++ int[BOSS_WING_NUM] bossWingShield; + const float[P47PrefManager.MODE_NUM] SLOWDOWN_START_BULLETS_SPEED = [30, 42]; + float interval; + Title title; +--- a/src/abagames/p47/P47PrefManager.d ++++ b/src/abagames/p47/P47PrefManager.d +@@ -6,7 +6,7 @@ + module abagames.p47.P47PrefManager; + + private: +-import std.stream; ++import std.stdio; + import std.string; + private import std.conv; + import core.stdc.stdlib; +@@ -23,8 +23,8 @@ + static const int MODE_NUM = 2; + static const int DIFFICULTY_NUM = 4; + static const int REACHED_PARSEC_SLOT_NUM = 10; +- int hiScore[MODE_NUM][DIFFICULTY_NUM][REACHED_PARSEC_SLOT_NUM]; +- int reachedParsec[MODE_NUM][DIFFICULTY_NUM]; ++ int[REACHED_PARSEC_SLOT_NUM][DIFFICULTY_NUM][MODE_NUM] hiScore; ++ int[DIFFICULTY_NUM][MODE_NUM] reachedParsec; + int selectedDifficulty, selectedParsecSlot, selectedMode; + + public static string home_dir() { +@@ -50,21 +50,20 @@ + + private void loadPrevVersionData(File fd) { + for (int i = 0; i < DIFFICULTY_NUM; i++) { +- fd.read(reachedParsec[0][i]); ++ fd.rawRead((&reachedParsec[0][i])[0..1]); + for (int j = 0; j < REACHED_PARSEC_SLOT_NUM; j++) { +- fd.read(hiScore[0][i][j]); ++ fd.rawRead((&hiScore[0][i][j])[0..1]); + } + } +- fd.read(selectedDifficulty); +- fd.read(selectedParsecSlot); ++ fd.rawRead((&selectedDifficulty)[0..1]); ++ fd.rawRead((&selectedParsecSlot)[0..1]); + } + + public override void load() { +- scope File fd = new File; + try { + int ver; +- fd.open(home_dir() ~ "/" ~ PREF_FILE); +- fd.read(ver); ++ File fd = File(home_dir() ~ "/" ~ PREF_FILE); ++ fd.rawRead((&ver)[0..1]); + if (ver == PREV_VERSION_NUM) { + init(); + loadPrevVersionData(fd); +@@ -75,37 +74,33 @@ + } + for (int k = 0; k < MODE_NUM; k++) { + for (int i = 0; i < DIFFICULTY_NUM; i++) { +- fd.read(reachedParsec[k][i]); ++ fd.rawRead((&reachedParsec[k][i])[0..1]); + for (int j = 0; j < REACHED_PARSEC_SLOT_NUM; j++) { +- fd.read(hiScore[k][i][j]); ++ fd.rawRead((&hiScore[k][i][j])[0..1]); + } + } + } +- fd.read(selectedDifficulty); +- fd.read(selectedParsecSlot); +- fd.read(selectedMode); ++ fd.rawRead((&selectedDifficulty)[0..1]); ++ fd.rawRead((&selectedParsecSlot)[0..1]); ++ fd.rawRead((&selectedMode)[0..1]); + } catch (Exception e) { + init(); +- } finally { +- fd.close(); + } + } + + public override void save() { +- scope File fd = new File; +- fd.create(home_dir ~ "/" ~ PREF_FILE); +- fd.write(VERSION_NUM); ++ File fd = File(home_dir ~ "/" ~ PREF_FILE, "w"); ++ fd.rawWrite((&VERSION_NUM)[0..1]); + for (int k = 0; k < MODE_NUM; k++) { + for (int i = 0; i < DIFFICULTY_NUM; i++) { +- fd.write(reachedParsec[k][i]); ++ fd.rawWrite((&reachedParsec[k][i])[0..1]); + for (int j = 0; j < REACHED_PARSEC_SLOT_NUM; j++) { +- fd.write(hiScore[k][i][j]); ++ fd.rawWrite((&hiScore[k][i][j])[0..1]); + } + } + } +- fd.write(selectedDifficulty); +- fd.write(selectedParsecSlot); +- fd.write(selectedMode); +- fd.close(); ++ fd.rawWrite((&selectedDifficulty)[0..1]); ++ fd.rawWrite((&selectedParsecSlot)[0..1]); ++ fd.rawWrite((&selectedMode)[0..1]); + } + } +--- a/src/abagames/p47/Roll.d ++++ b/src/abagames/p47/Roll.d +@@ -22,14 +22,14 @@ + public: + bool released; + static const int LENGTH = 4; +- Vector pos[LENGTH]; ++ Vector[LENGTH] pos; + static const int NO_COLLISION_CNT = 45; + int cnt; + private: + static const float BASE_LENGTH = 1.0, BASE_RESISTANCE = 0.8, BASE_SPRING = 0.2; + static const float BASE_SIZE = 0.2, BASE_DIST = 3; + static const float SPEED = 0.75; +- Vector vel[LENGTH]; ++ Vector[LENGTH] vel; + Ship ship; + Field field; + P47GameManager manager; +--- a/src/abagames/p47/SoundManager.d ++++ b/src/abagames/p47/SoundManager.d +@@ -23,8 +23,8 @@ + + private static: + P47GameManager manager; +- Sound bgm[BGM_NUM]; +- Sound se[SE_NUM]; ++ Sound[BGM_NUM] bgm; ++ Sound[SE_NUM] se; + + const string[] bgmFileName = + ["ptn0.ogg", "ptn1.ogg", "ptn2.ogg", "ptn3.ogg"]; +--- a/src/abagames/p47/StageManager.d ++++ b/src/abagames/p47/StageManager.d +@@ -59,13 +59,13 @@ + BarrageManager barrageManager; + Field field; + const int SIMULTANEOUS_APPEARNCE_MAX = 4; +- EnemyAppearance appearance[SIMULTANEOUS_APPEARNCE_MAX]; ++ EnemyAppearance[SIMULTANEOUS_APPEARNCE_MAX] appearance; + const int SMALL_ENEMY_TYPE_MAX = 3; +- EnemyType smallType[SMALL_ENEMY_TYPE_MAX]; ++ EnemyType[SMALL_ENEMY_TYPE_MAX] smallType; + const int MIDDLE_ENEMY_TYPE_MAX = 4; +- EnemyType middleType[MIDDLE_ENEMY_TYPE_MAX]; ++ EnemyType[MIDDLE_ENEMY_TYPE_MAX] middleType; + const int LARGE_ENEMY_TYPE_MAX = 2; +- EnemyType largeType[LARGE_ENEMY_TYPE_MAX]; ++ EnemyType[LARGE_ENEMY_TYPE_MAX] largeType; + EnemyType middleBossType; + EnemyType largeBossType; + int apNum; +@@ -242,7 +242,7 @@ + + // [#smalltype, #middletype, #largetype] + private const int MIDDLE_RUSH_SECTION_PATTERN = 6; +- private const int apparancePattern[][][3] = ++ private const int[3][][] apparancePattern = + [ + [[1, 0, 0], [2, 0, 0], [1, 1, 0], [1, 0, 1], [2, 1, 0], [2, 0, 1], [0, 1, 1]], + [[1, 0, 0], [1, 1, 0], [1, 1, 0], [1, 0, 1], [2, 1, 0], [1, 1, 1], [0, 1, 1]], +--- a/src/abagames/p47/Title.d ++++ b/src/abagames/p47/Title.d +@@ -25,8 +25,8 @@ + P47GameManager gameManager; + P47PrefManager prefManager; + Field field; +- int slotNum[P47PrefManager.MODE_NUM][P47PrefManager.DIFFICULTY_NUM + 1]; +- int startReachedParsec[P47PrefManager.MODE_NUM][P47PrefManager.DIFFICULTY_NUM]; ++ int[P47PrefManager.DIFFICULTY_NUM + 1][P47PrefManager.MODE_NUM] slotNum; ++ int[P47PrefManager.DIFFICULTY_NUM][P47PrefManager.MODE_NUM] startReachedParsec; + int curX, curY; + int mode; + static const int BOX_COUNT = 16; +--- a/src/mt.d ++++ b/src/mt.d +@@ -59,7 +59,7 @@ + uint MIXBITS(uint u, uint v) { return (u & UMASK) | (v & LMASK); } + uint TWIST(uint u,uint v) { return (MIXBITS(u,v) >> 1) ^ (v&1 ? MATRIX_A : 0); } + +-static uint state[N]; /* the array for the state vector */ ++static uint[N] state; /* the array for the state vector */ + static int left = 1; + static int initf = 0; + static uint *next; +@@ -84,7 +84,7 @@ + /* key_length is its length */ + //uint init_key[]; + //uint key_length; +-void init_by_array(uint init_key[], uint key_length) ++void init_by_array(uint[] init_key, uint key_length) + { + int i, j, k; + init_genrand(cast(uint)19650218UL); diff -Nru parsec47-0.2.dfsg1/debian/patches/imports.patch parsec47-0.2.dfsg1/debian/patches/imports.patch --- parsec47-0.2.dfsg1/debian/patches/imports.patch 2016-06-20 08:12:21.000000000 +0000 +++ parsec47-0.2.dfsg1/debian/patches/imports.patch 2018-04-24 20:09:34.000000000 +0000 @@ -1,5 +1,5 @@ Description: port import/ code to D language version 2 - With this patch the code is accapted by GDC 4.8 without triggering deprecation + With this patch the code is accepted by GDC 4.8 without triggering deprecation warnings/errors. Author: Peter De Wachter @@ -123,6 +123,15 @@ struct SDL_CDtrack { Uint8 id; /* Track number */ +@@ -68,7 +68,7 @@ + int numtracks; /* Number of tracks on disk */ + int cur_track; /* Current track position */ + int cur_frame; /* Current frame offset within current track */ +- SDL_CDtrack track[SDL_MAX_TRACKS+1]; ++ SDL_CDtrack[SDL_MAX_TRACKS+1] track; + } + + /* Conversion functions from frames to Minute/Second/Frames and vice versa */ --- a/import/SDL_endian.d +++ b/import/SDL_endian.d @@ -47,7 +47,7 @@ @@ -281,6 +290,15 @@ int Mix_SetSynchroValue(int value); --- a/import/SDL_mouse.d +++ b/import/SDL_mouse.d +@@ -32,7 +32,7 @@ + Sint16 hot_x, hot_y; /* The "tip" of the cursor */ + Uint8 *data; /* B/W cursor data */ + Uint8 *mask; /* B/W cursor mask */ +- Uint8 *save[2]; /* Place to save cursor area */ ++ Uint8 *[2] save; /* Place to save cursor area */ + void /*WMcursor*/ *wm_cursor; /* Window-manager cursor */ + } + @@ -109,6 +109,8 @@ const uint SDL_BUTTON_LEFT = 1; const uint SDL_BUTTON_MIDDLE = 2; diff -Nru parsec47-0.2.dfsg1/debian/patches/makefile.patch parsec47-0.2.dfsg1/debian/patches/makefile.patch --- parsec47-0.2.dfsg1/debian/patches/makefile.patch 2016-06-20 08:12:21.000000000 +0000 +++ parsec47-0.2.dfsg1/debian/patches/makefile.patch 2018-04-24 20:09:34.000000000 +0000 @@ -12,7 +12,7 @@ +all: $(EXE) + +$(EXE): $(DSRC) -+ $(GDC) -o $@ -Iimport -Isrc -Wno-deprecated $(DFLAGS) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) $(DSRC) -lSDL -lGL -lSDL_mixer -lbulletml ++ $(GDC) -o $@ -Iimport -Isrc -Wdeprecated $(DFLAGS) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) $(DSRC) -lSDL -lGL -lSDL_mixer -lbulletml + +clean: + rm -f $(EXE) diff -Nru parsec47-0.2.dfsg1/debian/patches/series parsec47-0.2.dfsg1/debian/patches/series --- parsec47-0.2.dfsg1/debian/patches/series 2016-06-20 08:12:21.000000000 +0000 +++ parsec47-0.2.dfsg1/debian/patches/series 2018-04-24 20:09:34.000000000 +0000 @@ -6,3 +6,4 @@ makefile.patch window-resizing.patch dlang_v2.patch +gdc-8.patch diff -Nru parsec47-0.2.dfsg1/debian/README.source parsec47-0.2.dfsg1/debian/README.source --- parsec47-0.2.dfsg1/debian/README.source 2016-06-20 08:12:21.000000000 +0000 +++ parsec47-0.2.dfsg1/debian/README.source 1970-01-01 00:00:00.000000000 +0000 @@ -1,2 +0,0 @@ -This package uses quilt for patch management, for more information see -the file /usr/share/doc/quilt/README.source in the quilt package. diff -Nru parsec47-0.2.dfsg1/debian/watch parsec47-0.2.dfsg1/debian/watch --- parsec47-0.2.dfsg1/debian/watch 2016-06-20 08:12:21.000000000 +0000 +++ parsec47-0.2.dfsg1/debian/watch 2018-04-24 20:09:34.000000000 +0000 @@ -1,4 +1,4 @@ version=3 opts="uversionmangle=s/_/\./,dversionmangle=s/[+.]dfsg(.?\d+)?$//" \ -http://www.asahi-net.or.jp/~cs8k-cyu/windows/p47_e.html p47_([\d]_[\d]+)\.zip +http://www.asahi-net.or.jp/~cs8k-cyu/windows/p47_e.html .*/p47_([\d]_[\d]+)\.zip