From 517c71c317b48bc81685cb2fcfd183de1e09c988 Mon Sep 17 00:00:00 2001 From: pelya Date: Wed, 19 Sep 2012 14:39:30 +0300 Subject: [PATCH] Updated Biniax2 and translations --- .../java/translations/values-ru/strings.xml | 2 +- .../java/translations/values-uk/strings.xml | 2 +- project/java/translations/values/strings.xml | 2 +- .../biniax2/AndroidAppSettings.cfg | 14 ++-- .../AndroidData/{data.zip => data3.zip} | Bin 2998320 -> 3003015 bytes project/jni/application/biniax2/src/biniax.c | 17 ++-- project/jni/application/biniax2/src/game.h | 2 + project/jni/application/biniax2/src/gfx.c | 77 +++++++++++++++++- project/jni/application/biniax2/src/gfx.h | 15 ++++ project/jni/application/biniax2/src/hof.c | 5 -- project/jni/application/biniax2/src/txt.h | 2 + project/jni/application/biniax2/src/types.h | 2 +- 12 files changed, 116 insertions(+), 24 deletions(-) rename project/jni/application/biniax2/AndroidData/{data.zip => data3.zip} (99%) diff --git a/project/java/translations/values-ru/strings.xml b/project/java/translations/values-ru/strings.xml index f557c4aac..7e4768449 100644 --- a/project/java/translations/values-ru/strings.xml +++ b/project/java/translations/values-ru/strings.xml @@ -103,7 +103,7 @@ Физическая кнопка Наэкранная лупа Настройки видео -Сгладить видео +Линейное сглаживание видео Очень медленно Нажатие с задержкой Быстрое нажатие diff --git a/project/java/translations/values-uk/strings.xml b/project/java/translations/values-uk/strings.xml index bc698a5ca..b69700683 100644 --- a/project/java/translations/values-uk/strings.xml +++ b/project/java/translations/values-uk/strings.xml @@ -103,7 +103,7 @@ Фізична кнопка Наекранна лупа Налаштування відео -Згладити відео +Лінійне сглажування відео Дуже повільно Натискання з затримкою Швидке натискання diff --git a/project/java/translations/values/strings.xml b/project/java/translations/values/strings.xml index 577d610a3..bcc71dc40 100644 --- a/project/java/translations/values/strings.xml +++ b/project/java/translations/values/strings.xml @@ -141,7 +141,7 @@ Touch all edges of the screen, press BACK when done Video settings - Smooth the video + Linear video filtering Separate thread for video, will increase FPS on some devices Tap to start typing, press Back when done diff --git a/project/jni/application/biniax2/AndroidAppSettings.cfg b/project/jni/application/biniax2/AndroidAppSettings.cfg index 136798a3d..24c4b60a1 100644 --- a/project/jni/application/biniax2/AndroidAppSettings.cfg +++ b/project/jni/application/biniax2/AndroidAppSettings.cfg @@ -4,8 +4,8 @@ LibSdlVersion=1.2 AppName="Biniax2" AppFullName=com.biniax.sdl ScreenOrientation=h -InhibitSuspend=n -AppDataDownloadUrl="!Game data|data.zip" +InhibitSuspend=y +AppDataDownloadUrl="!Game data|data3.zip" VideoDepthBpp=16 NeedDepthBuffer=n NeedStencilBuffer=n @@ -30,12 +30,12 @@ RedefinedKeys="RETURN" AppTouchscreenKeyboardKeysAmount=0 AppTouchscreenKeyboardKeysAmountAutoFire=0 RedefinedKeysScreenKb="RETURN SPACE" -StartupMenuButtonTimeout=0 -HiddenMenuOptions='DisplaySizeConfig' -FirstStartMenuOptions='' +StartupMenuButtonTimeout=1000 +HiddenMenuOptions='DisplaySizeConfig MouseConfigMainMenu' +FirstStartMenuOptions='new Settings.VideoSettingsConfig()' MultiABI=n -AppVersionCode=1301 -AppVersionName="1.3.01" +AppVersionCode=1401 +AppVersionName="1.4.01" ResetSdlConfigForThisVersion=n DeleteFilesOnUpgrade="%" CompiledLibraries="sdl_image sdl_mixer" diff --git a/project/jni/application/biniax2/AndroidData/data.zip b/project/jni/application/biniax2/AndroidData/data3.zip similarity index 99% rename from project/jni/application/biniax2/AndroidData/data.zip rename to project/jni/application/biniax2/AndroidData/data3.zip index 98699c710e06b4c6dd87e6f4d15ea3b62a54bc77..16748073d538bb28f9070cd0824addfcee0e514c 100644 GIT binary patch delta 12692 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 k!Z2J!BGB7Xz05JU4(*OVf delta 8139 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 IT?PgQ0LV0NV*mgE diff --git a/project/jni/application/biniax2/src/biniax.c b/project/jni/application/biniax2/src/biniax.c index 25afb9d46..bf9d4499c 100644 --- a/project/jni/application/biniax2/src/biniax.c +++ b/project/jni/application/biniax2/src/biniax.c @@ -151,11 +151,13 @@ int main( int argc, char *argv[] ) loadHiScore( &Game ); enterState = cStateGame; break; +#ifndef __ANDROID__ case cOptionNewMultiplayer: initGame( &Game ); Game.mode = cModeMultiplayer; enterState = cStateGame; break; +#endif case cOptionHall: enterState = cStateHallView; break; @@ -455,6 +457,7 @@ BNX_BOOL takePair( BNX_GAME *game, BNX_INT16 x, BNX_INT16 y, BNX_INT16 pIndex ) { BNX_UINT8 pair = game->grid[ x ][ y ]; BNX_BOOL cantake = BNX_FALSE; + BNX_UINT8 player = game->player[ pIndex ].e; if ( pair == 0 ) { @@ -462,12 +465,12 @@ BNX_BOOL takePair( BNX_GAME *game, BNX_INT16 x, BNX_INT16 y, BNX_INT16 pIndex ) return BNX_TRUE; } - if ( pairLeft( pair ) == game->player[ pIndex ].e ) + if ( pairLeft( pair ) == player ) { game->player[ pIndex ].e = pairRight( pair ); cantake = BNX_TRUE; } - else if ( pairRight( pair ) == game->player[ pIndex ].e ) + else if ( pairRight( pair ) == player ) { game->player[ pIndex ].e = pairLeft( pair ); cantake = BNX_TRUE; @@ -479,6 +482,7 @@ BNX_BOOL takePair( BNX_GAME *game, BNX_INT16 x, BNX_INT16 y, BNX_INT16 pIndex ) if ( cantake == BNX_TRUE ) { + gfxNewFallingBlock( x, y, player ); game->grid[ x ][ y ] = cPlayerFlag; game->score[ pIndex ] += cScoreStep; } @@ -489,7 +493,7 @@ BNX_BOOL takePair( BNX_GAME *game, BNX_INT16 x, BNX_INT16 y, BNX_INT16 pIndex ) BNX_BOOL moveUp( BNX_GAME *game, BNX_INT16 pIndex ) { BNX_PLAYER *p = &game->player[ pIndex ]; - BNX_INT8 newY = p->y + 1; + BNX_INT16 newY = p->y + 1; if ( newY < cGridY ) { @@ -507,7 +511,7 @@ BNX_BOOL moveUp( BNX_GAME *game, BNX_INT16 pIndex ) BNX_BOOL moveDown( BNX_GAME *game, BNX_INT16 pIndex ) { BNX_PLAYER *p = &game->player[ pIndex ]; - BNX_INT8 newY = p->y - 1; + BNX_INT16 newY = p->y - 1; if ( newY >= 0 ) { @@ -525,7 +529,7 @@ BNX_BOOL moveDown( BNX_GAME *game, BNX_INT16 pIndex ) BNX_BOOL moveLeft( BNX_GAME *game, BNX_INT16 pIndex ) { BNX_PLAYER *p = &game->player[ pIndex ]; - BNX_INT8 newX = p->x - 1; + BNX_INT16 newX = p->x - 1; if ( newX >= 0 ) { @@ -543,7 +547,7 @@ BNX_BOOL moveLeft( BNX_GAME *game, BNX_INT16 pIndex ) BNX_BOOL moveRight( BNX_GAME *game, BNX_INT16 pIndex ) { BNX_PLAYER *p = &game->player[ pIndex ]; - BNX_INT8 newX = p->x + 1; + BNX_INT16 newX = p->x + 1; if ( newX < cGridX ) { @@ -633,6 +637,7 @@ BNX_INT16 gameSession( BNX_GAME *game ) BNX_BOOL prevIngame = BNX_FALSE; inpInit(); + gfxInitFallingBlocks(); while ( bgameSes ) { startTime = sysGetTime(); diff --git a/project/jni/application/biniax2/src/game.h b/project/jni/application/biniax2/src/game.h index 6d5ded7f3..47439faa6 100644 --- a/project/jni/application/biniax2/src/game.h +++ b/project/jni/application/biniax2/src/game.h @@ -136,7 +136,9 @@ enum BNX_Options cOptionContinue = 0, cOptionNewRealtime, cOptionNewTurn, +#ifndef __ANDROID__ cOptionNewMultiplayer, +#endif cOptionHall, cOptionHelp, cOptionQuit, diff --git a/project/jni/application/biniax2/src/gfx.c b/project/jni/application/biniax2/src/gfx.c index 821249d61..504e29271 100644 --- a/project/jni/application/biniax2/src/gfx.c +++ b/project/jni/application/biniax2/src/gfx.c @@ -30,7 +30,6 @@ INCLUDES #include #include -#include #include "inc.h" #include "txt.h" @@ -55,6 +54,9 @@ void gfxNewParticle( BNX_INT16 x, BNX_INT16 y ); void gfxUpdateParticles(); void gfxRenderParticles(); +void gfxUpdateFallingBlocks(); +void gfxRenderFallingBlocks(); + void gfxRoadmap( BNX_INT32 prev, BNX_INT32 score ); @@ -93,6 +95,7 @@ BNX_BOOL gfxInit() } gfxInitParticles(); + gfxInitFallingBlocks(); return BNX_TRUE; } @@ -311,6 +314,9 @@ void gfxRenderGame( BNX_GAME *game ) gfxRenderParticles(); gfxUpdateParticles(); + gfxRenderFallingBlocks(); + gfxUpdateFallingBlocks(); + /* JUMPY TEXT */ gfxUpdateJumpyText(); gfxRenderJumpyText(); @@ -747,7 +753,9 @@ BNX_BOOL gfxLoadImage( char *filename, SDL_Surface **img ) temp = IMG_Load( filename ); if ( temp != 0 ) { - *img = SDL_DisplayFormat( temp ); + *img = ( temp->format->Amask == 0 ) ? + SDL_DisplayFormat( temp ) : + SDL_DisplayFormatAlpha( temp ); SDL_FreeSurface( temp ); return BNX_TRUE; } @@ -1088,3 +1096,68 @@ void gfxRenderParticles() } } } + +void gfxInitFallingBlocks() +{ + BNX_INT16 j; + + for ( j = 0; j < cGfxMaxParticles; ++j ) + { + _Gfx.falling_blocks[ j ].id = -1; + } +} + +void gfxNewFallingBlock( BNX_INT16 x, BNX_INT16 y, BNX_INT16 id ) +{ + BNX_INT16 j; + + for ( j = 0; j < cGfxMaxParticles; ++j ) + { + if ( _Gfx.falling_blocks[ j ].id < 0 ) + { + break; + } + } + j %= cGfxMaxParticles; + _Gfx.falling_blocks[ j ].id = id; + _Gfx.falling_blocks[ j ].x = cGfxZeroX + x * cGfxPairPlusX; + _Gfx.falling_blocks[ j ].y = cGfxZeroY + y * cGfxPairPlusY + cGfxParticleFall; + _Gfx.falling_blocks[ j ].dx = cGfxParticleSpeed - ( sysRand( cGfxParticleSpeed<<1 ) + cGfxParticleMinSp ); + _Gfx.falling_blocks[ j ].dy = cGfxParticleFall; +} + +void gfxUpdateFallingBlocks() +{ + BNX_INT16 j; + + for ( j = 0; j < cGfxMaxParticles; ++j ) + { + if ( _Gfx.falling_blocks[ j ].id >= 0 ) + { + _Gfx.falling_blocks[ j ].x += _Gfx.falling_blocks[ j ].dx; + _Gfx.falling_blocks[ j ].y += _Gfx.falling_blocks[ j ].dy; + _Gfx.falling_blocks[ j ].dy += cGfxParticleFall; + if( _Gfx.falling_blocks[ j ].y >= cGfxScreenY ) + _Gfx.falling_blocks[ j ].id = -1; + } + } +} + +void gfxRenderFallingBlocks() +{ + BNX_INT16 j; + SDL_Rect pos; + + for ( j = 0; j < cGfxMaxParticles; ++j ) + { + if ( _Gfx.falling_blocks[ j ].id >= 0 ) + { + pos.x = _Gfx.falling_blocks[ j ].x; + pos.y = _Gfx.falling_blocks[ j ].y; + + SDL_BlitSurface( _Gfx.elements[ _Gfx.falling_blocks[ j ].id ], NULL, _Gfx.screen, &pos ); + pos.x += cGfxNextPlusX; + SDL_BlitSurface( _Gfx.elements[ _Gfx.falling_blocks[ j ].id ], NULL, _Gfx.screen, &pos ); + } + } +} diff --git a/project/jni/application/biniax2/src/gfx.h b/project/jni/application/biniax2/src/gfx.h index 28927d953..10bfdb350 100644 --- a/project/jni/application/biniax2/src/gfx.h +++ b/project/jni/application/biniax2/src/gfx.h @@ -178,7 +178,9 @@ static BNX_BOX _BNX_MENU_BOXES[ cMaxOptions ] = { { 241, 395, 420, 420 }, { 232, 430, 426, 457 }, { 296, 468, 364, 492 }, +#ifndef __ANDROID__ { 295, 503, 362, 528 } +#endif }; static char virtualKBD[ cGfxKeyGridY ][ cGfxKeyGridX ] = { @@ -204,6 +206,15 @@ typedef struct BNX_PARTICLE } BNX_PARTICLE; +typedef struct BNX_FALLINGBLOCK +{ + BNX_INT16 x; + BNX_INT16 y; + BNX_INT16 dx; + BNX_INT16 dy; + BNX_INT16 id; +} BNX_FALLINGBLOCK; + typedef struct BNX_JUMPYTEXT { BNX_INT16 x; @@ -238,6 +249,7 @@ typedef struct BNX_GFX BNX_JUMPYTEXT jtext; BNX_PARTICLE particle[ cGfxMaxParticles ]; + BNX_FALLINGBLOCK falling_blocks[ cGfxMaxParticles ]; } BNX_GFX; @@ -273,6 +285,9 @@ BNX_INT16 gfxGetMenuOption( BNX_INP *inp ); void gfxGetHelpPen( BNX_INP *inp ); +void gfxInitFallingBlocks(); +void gfxNewFallingBlock( BNX_INT16 x, BNX_INT16 y, BNX_INT16 id ); + /****************************************************************************** HELPER FUNCTIONS ******************************************************************************/ diff --git a/project/jni/application/biniax2/src/hof.c b/project/jni/application/biniax2/src/hof.c index aede6a22d..d634d7ddf 100644 --- a/project/jni/application/biniax2/src/hof.c +++ b/project/jni/application/biniax2/src/hof.c @@ -28,7 +28,6 @@ For complete product license refer to LICENSE.TXT file INCLUDES ******************************************************************************/ #include -#include #include "inc.h" @@ -222,10 +221,6 @@ BNX_BOOL hofEnter( BNX_GAME *game ) strcpy( recEntry->name, " " ); recEntry->score = game->score[ cPlayer1 ]; - #ifdef __ANDROID__ - //strcpy( recEntry->name, "Player" ); - //SDL_ANDROID_GetScreenKeyboardTextInput(recEntry->name, 30); - #endif inpInit(); do { diff --git a/project/jni/application/biniax2/src/txt.h b/project/jni/application/biniax2/src/txt.h index 33914004a..a706f0206 100644 --- a/project/jni/application/biniax2/src/txt.h +++ b/project/jni/application/biniax2/src/txt.h @@ -38,7 +38,9 @@ char *TXT_MenuMain[ cMaxOptions ] = { "CONTINUE LAST GAME", "NEW ARCADE GAME", "NEW TACTIC GAME", +#ifndef __ANDROID__ "MULTIPLAYER", +#endif "HALL OF FAME", "HELP", "EXIT" diff --git a/project/jni/application/biniax2/src/types.h b/project/jni/application/biniax2/src/types.h index 1364754fc..6a5b53572 100644 --- a/project/jni/application/biniax2/src/types.h +++ b/project/jni/application/biniax2/src/types.h @@ -39,7 +39,7 @@ typedef unsigned int BNX_UINT32; SIGNED TYPES ******************************************************************************/ -typedef char BNX_INT8; +typedef signed char BNX_INT8; /* Default char type is unsigned on Android, that breaks some logic inside Biniax2 */ typedef short int BNX_INT16; typedef int BNX_INT32;