Author: pdewacht-guest Date: 2013-05-20 17:43:56 +0000 (Mon, 20 May 2013) New Revision: 14105
Removed: packages/trunk/gunroar/debian/patches/gunroar-hot-iron.patch Log: gunroar: remove 'gunroar hot iron' patch Deleted: packages/trunk/gunroar/debian/patches/gunroar-hot-iron.patch =================================================================== --- packages/trunk/gunroar/debian/patches/gunroar-hot-iron.patch 2013-05-20 17:03:21 UTC (rev 14104) +++ packages/trunk/gunroar/debian/patches/gunroar-hot-iron.patch 2013-05-20 17:43:56 UTC (rev 14105) @@ -1,769 +0,0 @@ -# gunroar hot iron version -# �i������̐����͖����ɂ����܂��j - -# http://www.edit.ne.jp/~otoyan/soft/gr_hi.html - -# hot iron version�ɂ��� -# -# Gunroar�A�l�I�ɑ��U���j�����̂������y�����Q�[���Ȃ̂� -# ���U���j�����o�[�W�����Ƃ��ĉ��ς��܂����B -# �C�䂪�������������O�ɋ߂Â��ăh�J���I�ł����B -# �u�S�͔M��������"��"�āI�v���R���Z�v�g�B -# ���Ȃ킿�u�S�͔M�������ɃV���[�e�B���O�I�v�i���[ -# -# * �ύX�_ -# �@���G�D�{�����ŏ����獂�߂ɐݒ��B -# �@�@�E���ԂƋ��Ɍ����Ă����̂ő������j�����Ƃ����B -# �@���G�D�̔{���������@�̒lj� -# �@�@�E�C���j���B�i�����͖{�Ɣł̂܂܁j -# �@�@�E�����X���G�D�̃R�A�����ɓ��Ă��B�inormal���[�h�̂݁j -# �@�������N�Ɣ{���̐藣�� -# �@�@�E���̑傫���������{���B���̏����Ȑ����������N�B -# �@�@�E�{���͌������������B -# �@�@�E�G�D�j�ɓG�D�{���ɉ����đ����B -# �@�@�E�G�D�����ʉ��ɓ����ƓG�D�{���ɉ����Č����B -# �@�@�E�X�N���[���X�s�[�h���グ���ۂɉ����x�I�Ƀ����N���㏸���Ȃ��悤�ɉ��� -# �@�@�E�{�X���Ń����N���������Ȃ��悤�ɉ��ρB -# �@���R���{�Q�[�W�̒lj� -# �@�@�E�R���{�Q�[�W���������Ԃł͔{���������x���݂��B -# �@�@�E���^�U�R�G�����ѓG�D�C�����j���Ə��������Q�[�W�������B -# -# �@�{���̐Ԃ����ێ������悤�Ƀv���C������ -# �@�����_�ɂȂ��悤�Ȓ����i�ɂ��������j�ł��B -# -# * �ύX�_�Ɋւ����ӌ��E���ⓙ -# �@���ɋ���͂������ɘA�������肢�������܂��B -# �@[email protected] -# -# * �q�X�g�� -# 060412 ver 0.30 -# �@�E�����N���������̏C�� -# �@�E�R���{�Q�[�W�̒lj��Ɣ{�����������̏C�� -# 060412 ver 0.21 -# �@�E�^�C�g�����ʂ̃X�R�A�̌����̏C�� -# 060412 ver 0.2 -# �@�E�{���㏸�����莞�Ԕ{�������~�����悤�C�� -# �@�E�X�R�A���[����10���ɑ��� -# 060410 ver 0.1 -# �@�E�{���J -# (otoyan) - ---- a/src/abagames/gr/enemy.d -+++ b/src/abagames/gr/enemy.d -@@ -86,6 +86,12 @@ - _state.addScore(s); - } - -+//otoyan add start -+ public void addMagStopCnt(float num) { -+ _state.addMagStopCnt(num); -+ } -+//otoyan add end -+ - public void remove() { - _state.removeTurrets(); - exists = false; -@@ -126,7 +132,8 @@ - }; - static const int TURRET_GROUP_MAX = 10; - static const int MOVING_TURRET_GROUP_MAX = 4; -- static const float MULTIPLIER_DECREASE_RATIO = 0.005f; -+ static const float MULTIPLIER_DECREASE_RATIO = 0.021f;//otoyan change -+ - int appType; - Vector pos; - Vector ppos; -@@ -167,6 +174,12 @@ - StageManager stageManager; - ScoreReel scoreReel; - -+//otoyan add start -+ static const float MULTIPLIER_DECREASE_VEL = 0.005f; -+ static const float MULTIPLIER_DECREASE_VEL_BOSS = 0.002f; -+ static const float MULTIPLIER_DECREASE_LIMIT_BOSS = 15.0f; -+//otoyan add end -+ - invariant { - assert(pos.x < 15 && pos.x > -15); - assert(pos.y < 60 && pos.y > -30); -@@ -315,7 +328,24 @@ - public bool move() { - ppos.x = pos.x; - ppos.y = pos.y; -- multiplier -= MULTIPLIER_DECREASE_RATIO; -+//otoyan change start -+ if( spec.isBoss ){ -+ if( multiplier < MULTIPLIER_DECREASE_LIMIT_BOSS ){ -+ multiplier = MULTIPLIER_DECREASE_LIMIT_BOSS; -+ } else { -+ if( multiplier > 30 ){ -+ multiplier = multiplier - ( ( multiplier - 30 ) * MULTIPLIER_DECREASE_VEL_BOSS ); -+ } -+ multiplier -= MULTIPLIER_DECREASE_RATIO; -+ } -+ } else { -+ if( multiplier > 10 ){ -+ multiplier = multiplier - ( ( multiplier - 10 ) * MULTIPLIER_DECREASE_VEL ); -+ } -+ multiplier -= MULTIPLIER_DECREASE_RATIO; -+ } -+//otoyan change end -+ - if (multiplier < 1) - multiplier = 1; - if (destroyedCnt >= 0) { -@@ -363,7 +393,20 @@ - setScoreIndicator(s, 1); - } - -+//otoyan add start -+ public void addMagStopCnt( float num ){ -+ stageManager.addMagStopCnt( num ); -+ } -+//otoyan add end -+ - public void addDamage(int n, Shot shot = null) { -+//otoyan add start -+ if( shot !is null ){ -+ if( shot.isLance ){ -+ increaseMultiplier( 1 ); -+ } -+ } -+//otoyan add end - shield -= n; - if (shield <= 0) { - destroyed(shot); -@@ -417,6 +460,7 @@ - if (spec.type == EnemySpec.EnemyType.SMALL) { - SoundManager.playSe("small_destroyed.wav"); - r = false; -+ addMagStopCnt( 0.05f ); //otoyan add - } else { - SoundManager.playSe("destroyed.wav"); - int bn = bullets.removeIndexedBullets(idx); -@@ -435,6 +479,9 @@ - private void setScoreIndicator(int sc, float mp) { - float ty = NumIndicator.getTargetY(); - if (mp > 1) { -+//otoyan add start -+ stageManager.addMagnification( mp - 1 ); -+//otoyan add end - NumIndicator ni = numIndicators.getInstanceForced(); - ni.set(sc, NumIndicator.IndicatorType.SCORE, 0.5f, pos); - ni.addTarget(8, ty, NumIndicator.FlyingToType.RIGHT, 1, 0.5f, sc, 40); -@@ -548,8 +595,19 @@ - ox += 4; - oy -= 1.25f; - } -+//otoyan change start -+ float r, g, b; -+ r = g = b = 1.0f; -+ if( multiplier >= 25 ){ -+ g = 0; -+ } else { -+ g = ( 25 - multiplier ) / 25; -+ } -+ b = g; - Letter.drawNumSign(cast(int) (multiplier * 1000), -- pos.x + ox, pos.y + oy, 0.33f, 1, 33, 3); -+ pos.x + ox, pos.y + oy, 0.33f, 1, 33, 3, -+ true, r, g, b); -+//otoyan change end - } - } - } -@@ -1195,7 +1253,16 @@ - if (rand.nextInt(2) == 0) - es.trgDeg *= -1; - es.turnCnt = 250 + rand.nextInt(150); -+//otoyan change start -+ es.multiplier = 100.0f; -+ } else { -+ if( shipClass == ShipClass.LARGE ){ -+ es.multiplier = 30.0f; -+ } else { -+ es.multiplier = 20.0f; -+ } - } -+//otoyan change start - return true; - } - -@@ -1207,9 +1274,15 @@ - es.pos.x += sin(es.deg) * es.speed; - es.pos.y += cos(es.deg) * es.speed; - es.pos.y -= field.lastScrollY; -+//otoyan change start - if (es.pos.x <= -field.outerSize.x - size || es.pos.x >= field.outerSize.x + size || -- es.pos.y <= -field.outerSize.y - size) -+ es.pos.y <= -field.outerSize.y - size){ -+ if( es.pos.y <= -field.outerSize.y - size ){ -+ es.stageManager.addMagnification( -1 * es.multiplier ); -+ } - return false; -+ } -+//otoyan change end - if (es.pos.y > field.outerSize.y * 2.2f + size) - es.pos.y = field.outerSize.y * 2.2f + size; - if (isBoss) { -@@ -1363,6 +1436,7 @@ - es.pos.y = y; - es.deg = d; - es.speed = 0; -+ es.multiplier = 20.0f; //otoyan add - if (!es.checkFrontClear(true)) - return false; - return true; -@@ -1372,8 +1446,14 @@ - if (!super.move(es)) - return false; - es.pos.y -= field.lastScrollY; -- if (es.pos.y <= -field.outerSize.y) -+//otoyan change start -+ if (es.pos.y <= -field.outerSize.y){ -+ if( es.destroyedCnt < 0 ){ -+ es.stageManager.addMagnification( -1 * es.multiplier ); -+ } - return false; -+ } -+//otoyan change end - return true; - } - ---- a/src/abagames/gr/gamemanager.d -+++ b/src/abagames/gr/gamemanager.d -@@ -139,7 +139,7 @@ - ship.setShots(shots); - ship.setEnemies(enemies); - stageManager = new StageManager(field, enemies, ship, bullets, -- sparks, smokes, fragments, wakes); -+ sparks, smokes, fragments, wakes, this); - ship.setStageManager(stageManager); - field.setStageManager(stageManager); - field.setShip(ship); -@@ -275,6 +275,11 @@ - state.drawOrtho(); - screen.viewPerspective(); - } -+ -+//otoyan add start -+ public int getGameMode(){ -+ return inGameState.gameMode; -+ } - } - - /** -@@ -476,7 +481,7 @@ - private void initGameState() { - time = 0; - left = 2; -- scoreReel.clear(9); -+ scoreReel.clear(10); - NumIndicator.initTargetY(); - } - ---- a/src/abagames/gr/letter.d -+++ b/src/abagames/gr/letter.d -@@ -21,6 +21,7 @@ - static const int LINE_COLOR = 2; - static const int POLY_COLOR = 3; - static const int COLOR_NUM = 4; -+ static const int FREE_COLOR = 4; //otoyan add - private: - static const float[][] COLOR_RGB = [[1, 1, 1], [0.9, 0.7, 0.5]]; - static const int LETTER_NUM = 44; -@@ -72,6 +73,28 @@ - glPopMatrix(); - } - -+//otoyan add start -+ private static void drawLetterColor(int n, float x, float y, float s, float d, -+ float r, float g, float b) { -+ glPushMatrix(); -+ glTranslatef(x, y, 0); -+ glScalef(s, s, s); -+ glRotatef(d, 0, 0, 1); -+ setLetter( n, FREE_COLOR, r, g, b ); -+ glPopMatrix(); -+ } -+ -+ private static void drawLetterRevColor(int n, float x, float y, float s, float d, -+ float r, float g, float b) { -+ glPushMatrix(); -+ glTranslatef(x, y, 0); -+ glScalef(s, -s, s); -+ glRotatef(d, 0, 0, 1); -+ setLetter( n, FREE_COLOR, r, g, b ); -+ glPopMatrix(); -+ } -+//otoyan add end -+ - public static enum Direction { - TO_RIGHT, TO_DOWN, TO_LEFT, TO_UP, - } -@@ -153,9 +176,11 @@ - } - } - -+//otoyan change start - public static void drawNum(int num, float lx, float y, float s, - int cl = 0, int dg = 0, -- int headChar = -1, int floatDigit = -1) { -+ int headChar = -1, int floatDigit = -1, -+ bool cflg = false, float r = 0, float g = 0, float b = 0) { - lx += LETTER_WIDTH * s / 2; - y += LETTER_HEIGHT * s / 2; - int n = num; -@@ -165,10 +190,12 @@ - int fd = floatDigit; - for (;;) { - if (fd <= 0) { -- drawLetter(n % 10, x, y, s, ld, cl); -+ if( cflg ) drawLetterColor( n % 10, x, y, s, ld, r, g, b ); -+ else drawLetter(n % 10, x, y, s, ld, cl); - x -= s * LETTER_WIDTH; - } else { -- drawLetter(n % 10, x, y + s * LETTER_WIDTH * 0.25f, s * 0.5f, ld, cl); -+ if( cflg ) drawLetterColor( n % 10, x, y + s * LETTER_WIDTH * 0.25f, s * 0.5f, ld, r, g, b ); -+ else drawLetter(n % 10, x, y + s * LETTER_WIDTH * 0.25f, s * 0.5f, ld, cl); - x -= s * LETTER_WIDTH * 0.5f; - } - n /= 10; -@@ -187,17 +214,20 @@ - } - - public static void drawNumSign(int num, float lx, float ly, float s, int cl = 0, -- int headChar = -1, int floatDigit = -1) { -+ int headChar = -1, int floatDigit = -1, -+ bool cflg = false, float r = 0, float g = 0, float b = 0) { - float x = lx; - float y = ly; - int n = num; - int fd = floatDigit; - for (;;) { - if (fd <= 0) { -- drawLetterRev(n % 10, x, y, s, 0, cl); -+ if( cflg ) drawLetterRevColor(n % 10, x, y, s, 0, r, g, b ); -+ else drawLetterRev(n % 10, x, y, s, 0, cl); - x -= s * LETTER_WIDTH; - } else { -- drawLetterRev(n % 10, x, y - s * LETTER_WIDTH * 0.25f, s * 0.5f, 0, cl); -+ if( cflg ) drawLetterRevColor(n % 10, x, y - s * LETTER_WIDTH * 0.25f, s * 0.5, 0, r, g, b ); -+ else drawLetterRev(n % 10, x, y - s * LETTER_WIDTH * 0.25f, s * 0.5f, 0, cl); - x -= s * LETTER_WIDTH * 0.5f; - } - n /= 10; -@@ -213,6 +243,7 @@ - drawLetterRev(headChar, x + s * LETTER_WIDTH * 0.2f, y - s * LETTER_WIDTH * 0.2f, - s * 0.6f, 0, cl); - } -+//otoyan change end - - public static void drawTime(int time, float lx, float y, float s, int cl = 0) { - int n = time; -@@ -247,7 +278,9 @@ - } - } - -- private static void setLetter(int idx, int c) { -+//otoyan change start -+ private static void setLetter(int idx, int c, -+ float r = 0, float g = 0, float b = 0 ) { - float x, y, length, size, t; - float deg; - for (int i = 0;; i++) { -@@ -267,11 +300,15 @@ - setBoxLine(x, y, size, length, deg); - else if (c == POLY_COLOR) - setBoxPoly(x, y, size, length, deg); -+ else if (c == FREE_COLOR) -+ setBox(x, y, size, length, deg, -+ r, g, b); - else - setBox(x, y, size, length, deg, - COLOR_RGB[c][0], COLOR_RGB[c][1], COLOR_RGB[c][2]); - } - } -+//otoyan change end - - private static void setBox(float x, float y, float width, float height, float deg, - float r, float g, float b) { ---- a/src/abagames/gr/reel.d -+++ b/src/abagames/gr/reel.d -@@ -37,7 +37,7 @@ - digit = 1; - } - -- public void clear(int digit = 9) { -+ public void clear(int digit = 10) { - score = targetScore = _actualScore = 0; - this.digit = digit; - for (int i = 0; i < digit; i++) ---- a/src/abagames/gr/shot.d -+++ b/src/abagames/gr/shot.d -@@ -236,6 +236,12 @@ - else - return false; - } -+//otoyan add start -+ public bool isLance(){ -+ return lance; -+ } -+ -+//otoyan add end - } - - public class ShotPool: ActorPool!(Shot) { ---- a/src/abagames/gr/stagemanager.d -+++ b/src/abagames/gr/stagemanager.d -@@ -17,13 +17,17 @@ - private import abagames.gr.letter; - private import abagames.gr.particle; - private import abagames.gr.soundmanager; -+private import abagames.gr.gamemanager; //otoyan add -+private import opengl; //otoyan add -+private import abagames.gr.screen; //otoyan add - - /** - * Manage an enemys' appearance, a rank(difficulty) and a field. - */ - public class StageManager { - private: -- static const float RANK_INC_BASE = 0.0018f; -+ static const float RANK_INC_BASE = 0.0056f; //otoyan chage -+ static const float RANK_INC_BASE_SCROLL = 0.0070f; //otoyan add - static const int BLOCK_DENSITY_MIN = 0; - static const int BLOCK_DENSITY_MAX = 3; - Field field; -@@ -35,7 +39,7 @@ - FragmentPool fragments; - WakePool wakes; - Rand rand; -- float rank, baseRank, addRank, rankVel, rankInc; -+ float rank, rankInc, rankIncScroll; //otoyan chage - EnemyAppearance[] enemyApp; - int _blockDensity; - int batteryNum; -@@ -45,18 +49,34 @@ - int bossAppTime, bossAppTimeBase; - int bgmStartCnt; - -+//otoyan add start -+ GameManager gameManager; -+ static const float MAG_SUB_BASE = 0.009f; -+ static const float MAG_VEL = 0.0100f; -+ static const float MAG_SUB_BASE_BOSS = 0.0045f; -+ static const float MAG_VEL_BOSS = 0.0050f; -+ float magnification; -+ float[] magnifiAdd; -+ static const int MAG_STOP_CNT_MAX = 120; -+ static const int MAG_STOP_CNT_MAX_NORMAL = 180; -+ static const float MAG_STOP_VEL_MIN = 0.5f; -+ int magStopCnt = 0; -+ int shipDestroyCnt = 0; -+//otoyan add end; -+ - invariant { - assert(rank >= 1); -- assert(baseRank >= 1); -- assert(addRank >= 0); -- assert(rankVel <>= 0); -+// assert(baseRank >= 1); //otoyan commnt out -+// assert(addRank >= 0); //otoyan commnt out -+// assert(rankVel <>= 0); //otoyan commnt out - assert(rankInc <>= 0); - assert(_blockDensity >= BLOCK_DENSITY_MIN && _blockDensity <= BLOCK_DENSITY_MAX); - assert(batteryNum >= 0 && batteryNum < 50); - } - -+//otoyan chage start - public this(Field field, EnemyPool enemies, Ship ship, BulletPool bullets, -- SparkPool sparks, SmokePool smokes, FragmentPool fragments, WakePool wakes) { -+ SparkPool sparks, SmokePool smokes, FragmentPool fragments, WakePool wakes, GameManager gameManager) { - this.field = field; - this.enemies = enemies; - this.ship = ship; -@@ -65,28 +85,44 @@ - this.smokes = smokes; - this.fragments = fragments; - this.wakes = wakes; -+ this.gameManager = gameManager; - rand = new Rand; - enemyApp = new EnemyAppearance[3]; - foreach (inout EnemyAppearance ea; enemyApp) - ea = new EnemyAppearance; - PlatformEnemySpec platformEnemySpec = - new PlatformEnemySpec(field, ship, sparks, smokes, fragments, wakes); -- rank = baseRank = 1; -- addRank = rankVel = rankInc = 0; -+ rank = 1; -+ rankInc = rankIncScroll = 0; - _blockDensity = 2; -+ -+ magnification = 1; -+ magnifiAdd = new float[ 10 ]; -+ foreach(inout float mag; magnifiAdd ) -+ mag = 0; -+ magStopCnt = 0; - } -+//otoyan chage end - - public void setRandSeed(long seed) { - rand.setSeed(seed); - } - - public void start(float rankIncRatio) { -- rank = baseRank = 1; -- addRank = rankVel = 0; -+//otoyan change start -+ rank = 1; -+ rankIncScroll = RANK_INC_BASE_SCROLL * rankIncRatio; - rankInc = RANK_INC_BASE * rankIncRatio; - _blockDensity = rand.nextInt(BLOCK_DENSITY_MAX - BLOCK_DENSITY_MIN + 1) + BLOCK_DENSITY_MIN; - _bossMode = false; - bossAppTimeBase = 60 * 1000; -+ -+ magnification = 1; -+ foreach(inout float mag; magnifiAdd ) -+ mag = 0; -+ magStopCnt = -1; -+//otoyan change end -+ - resetBossMode(); - gotoNextBlockArea(); - bgmStartCnt = -1; -@@ -97,7 +133,7 @@ - bossAppCnt = 2; - SoundManager.fadeBgm(); - bgmStartCnt = 120; -- rankVel = 0; -+// rankVel = 0; //otoyan comment out - } - - public void resetBossMode() { -@@ -119,7 +155,7 @@ - SoundManager.nextBgm(); - } - if (_bossMode) { -- addRank *= 0.999f; -+//otoyan change start - if (!enemies.hasBoss && bossAppCnt <= 0) - resetBossMode(); - } else { -@@ -130,27 +166,72 @@ - startBossMode(); - } - if (rv > 0) { -- rankVel += rv * rv * 0.0004f * baseRank; -+ rank += rankIncScroll; -+ } else { -+ rank += rankInc; -+ } -+ } -+ -+ float subRate = 1.0f; -+ if( magStopCnt > 0 ){ -+ int max = 1; -+ if( gameManager.getGameMode == InGameState.GameMode.NORMAL ){ -+ max = MAG_STOP_CNT_MAX_NORMAL; -+ } else { -+ max = MAG_STOP_CNT_MAX; -+ } -+ float rate = cast(float)(cast(float)magStopCnt / max); -+ if( rate < 0 ) rate = 0; -+ if( rate > 1 ) rate = 1; -+ subRate = MAG_STOP_VEL_MIN - ( MAG_STOP_VEL_MIN * rate ); -+ -+ magStopCnt--; -+ magnification += magnifiAdd[ 0 ]; -+ if( magnification < 1f ){ -+ magnification = 1f; -+ } -+ } -+ -+ if ( shipDestroyCnt <= 0 ){ -+ if (_bossMode) { -+ if( magnification > ( rank / 2 ) ){ -+ magnification = magnification - ( ( ( magnification - ( rank / 2 ) ) * MAG_VEL_BOSS ) * subRate ); -+ } -+ magnification = magnification + magnifiAdd[ 0 ] - ( MAG_SUB_BASE_BOSS * subRate ); -+ if( magnification < 1f ){ -+ magnification = 1f; -+ } - } else { -- rankVel += rv * baseRank; -- if (rankVel < 0) -- rankVel = 0; -+ if( magnification > ( rank / 2 ) ){ -+ magnification = magnification - ( ( ( magnification - ( rank / 2 ) ) * MAG_VEL ) * subRate ); -+ } -+ magnification = magnification + magnifiAdd[ 0 ] - ( MAG_SUB_BASE * subRate ); -+ if( magnification < 1f ){ -+ magnification = 1f; -+ } - } -- addRank += rankInc * (rankVel + 1); -- addRank *= 0.999f; -- baseRank += rankInc + addRank * 0.0001f; -+ } else { -+ shipDestroyCnt--; -+ } -+ -+ for( int i = 0; i < 9; i++ ){ -+ magnifiAdd[ i ] = magnifiAdd[ i + 1 ]; - } -- rank = baseRank + addRank; -+ magnifiAdd[ 9 ] = 0f; -+//otoyan change end -+ - foreach (EnemyAppearance ea; enemyApp) - ea.move(enemies, field); - } - - public void shipDestroyed() { -- rankVel = 0; -- if (!_bossMode) -- addRank = 0; -- else -- addRank /= 2; -+//otoyan change start -+ magnification = rank / 2; -+ foreach(inout float mag; magnifiAdd ) -+ mag = 0; -+ shipDestroyCnt = 60; -+ magStopCnt = 0; -+//otoyan change end - } - - public void gotoNextBlockArea() { -@@ -279,13 +360,82 @@ - } - - public void draw() { -- Letter.drawNum(cast(int) (rank * 1000), 620, 10, 10, 0, 0, 33, 3); -+//otoyan change start -+ float r, g, b; -+ if( magStopCnt > 0 ){ -+ int max = 1; -+ if( gameManager.getGameMode == InGameState.GameMode.NORMAL ){ -+ max = MAG_STOP_CNT_MAX_NORMAL; -+ } else { -+ max = MAG_STOP_CNT_MAX; -+ } -+ float rate = cast(float)(cast(float)magStopCnt / max); -+ if( rate < 0 ) rate = 0; -+ if( rate > 1 ) rate = 1; -+ r = 1.0f; -+ g = b = 1 - rate; -+ glBegin(GL_LINE_STRIP); -+ Screen.setColor( r, g, b, 1); -+ glVertex2f( 555, 40 ); -+ Screen.setColor( r, g, b, 1); -+ glVertex2f( cast( int )(555 + ( 75f * rate )), 40 ); -+ glEnd(); -+ } -+ -+ Letter.drawNum(cast(int) (rank * 1000), 620, 50, 5, 0, 0, 33, 3); -+ r = g = b = 1.0f; -+ if( magnification > ( rank / 2 ) ){ -+ g = ( ( rank / 2 + 100.0f ) - magnification ) / 100.0f; -+ if( g > 1 ) g = 1.0f; -+ else if( g < 0 ) g = 0.0f; -+ b = g; -+ } else { -+ g = magnification / ( rank / 2 ); -+ if( g > 1 ) g = 1.0f; -+ else if( g < 0 ) g = 0.0f; -+ r = g; -+ } -+ Letter.drawNum(cast(int) (magnification * 1000), 620, 10, 10, 0, 0, 33, 3, -+ true, r, g, b); -+ -+//otoyan change end - Letter.drawTime(bossAppTime, 120, 20, 7); - } - - public float rankMultiplier() { -- return rank; -+//otoyan change start -+ return magnification; -+//otoyan change end -+ } -+ -+//otoyan add start -+ public void addMagnification( float num ) { -+ if( num >= 0 ){ -+ if( gameManager.getGameMode == InGameState.GameMode.NORMAL ){ -+ magStopCnt = MAG_STOP_CNT_MAX_NORMAL; -+ } else { -+ magStopCnt = MAG_STOP_CNT_MAX; -+ } -+ } -+ -+ num /= 10; -+ foreach(inout float mag; magnifiAdd ) -+ mag += num; -+ } -+ -+ public void addMagStopCnt( float num ){ -+ if( _bossMode || magStopCnt <= 0 ) return; -+ -+ int max = 1; -+ if( gameManager.getGameMode == InGameState.GameMode.NORMAL ){ -+ max = MAG_STOP_CNT_MAX_NORMAL; -+ } else { -+ max = MAG_STOP_CNT_MAX; -+ } -+ magStopCnt += num * max; -+ if( magStopCnt > max ) magStopCnt = max; - } -+//otoyan add end - - public bool bossMode() { - return _bossMode; ---- a/src/abagames/gr/title.d -+++ b/src/abagames/gr/title.d -@@ -170,14 +170,14 @@ - glPopMatrix(); - if (cnt > 150) { - Letter.drawString("HIGH", 3, 305, 4, Letter.Direction.TO_RIGHT, 1); -- Letter.drawNum(prefManager.prefData.highScore(gameMode), 80, 320, 4, 0, 9); -+ Letter.drawNum(prefManager.prefData.highScore(gameMode), 80, 320, 4, 0, 10); - } - if (cnt > 200) { - Letter.drawString("LAST", 3, 345, 4, Letter.Direction.TO_RIGHT, 1); - int ls = 0; - if (_replayData) - ls = _replayData.score; -- Letter.drawNum(ls, 80, 360, 4, 0, 9); -+ Letter.drawNum(ls, 80, 360, 4, 0, 10); - } - Letter.drawString(InGameState.gameModeText[gameMode], 3, 400, 5); - } ---- a/src/abagames/gr/turret.d -+++ b/src/abagames/gr/turret.d -@@ -290,11 +290,13 @@ - case TurretSpec.TurretType.MAIN: - parent.increaseMultiplier(2); - parent.addScore(40); -+ parent.addMagStopCnt(0.1f); - break; - case TurretSpec.TurretType.SUB: - case TurretSpec.TurretType.SUB_DESTRUCTIVE: - parent.increaseMultiplier(1); - parent.addScore(20); -+ parent.addMagStopCnt(0.1f); - break; - } - } ---- a/src/abagames/gr/replay.d -+++ b/src/abagames/gr/replay.d -@@ -19,7 +19,7 @@ - */ - public class ReplayData { - public: -- static const int VERSION_NUM = 11; -+ static const int VERSION_NUM = -11; //otoyan change - InputRecord!(PadState) padInputRecord; - InputRecord!(TwinStickState) twinStickInputRecord; - InputRecord!(MouseAndPadState) mouseAndPadInputRecord;
_______________________________________________ Pkg-games-commits mailing list [email protected] http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-games-commits

