From d864aeb1937992b53cefa092d369437e7f2aed45 Mon Sep 17 00:00:00 2001 From: pelya Date: Mon, 24 Nov 2014 00:38:43 +0200 Subject: [PATCH] Teeworlds: small update --- .../teeworlds/AndroidAppSettings.cfg | 44 ++++++++++++------ project/jni/application/teeworlds/icon.png | Bin 3760 -> 21521 bytes project/jni/application/teeworlds/src | 2 +- todo.txt | 4 -- 4 files changed, 32 insertions(+), 18 deletions(-) diff --git a/project/jni/application/teeworlds/AndroidAppSettings.cfg b/project/jni/application/teeworlds/AndroidAppSettings.cfg index 84eb659be..6ea2a6675 100644 --- a/project/jni/application/teeworlds/AndroidAppSettings.cfg +++ b/project/jni/application/teeworlds/AndroidAppSettings.cfg @@ -7,17 +7,17 @@ AppName="TeeWorlds" AppFullName=com.teeworlds # Application version code (integer) -AppVersionCode=06219 +AppVersionCode=06220 # Application user-visible version name (string) -AppVersionName="0.6.2.19" +AppVersionName="0.6.2.20" # Specify path to download application data in zip archive in the form 'Description|URL|MirrorURL^Description2|URL2|MirrorURL2^...' # If you'll start Description with '!' symbol it will be enabled by default, other downloads should be selected by user from startup config menu # If the URL in in the form ':dir/file.dat:http://URL/' it will be downloaded as binary BLOB to the application dir and not unzipped # If the URL does not contain 'http://' it is treated as file from 'project/jni/application/src/AndroidData' dir - # these files are put inside .apk package by build system -# Also please avoid 'https://' URLs, many Android devices do not have trust certificates and will fail to connect to SF.net over HTTPS +# You can specify Google Play expansion files in the form 'obb:main.12345' or 'obb:patch.12345' where 12345 is the app version, first associated with the file AppDataDownloadUrl="Game data|data.zip" # Reset SDL config when updating application to the new version (y) / (n) @@ -28,7 +28,7 @@ DeleteFilesOnUpgrade="%" # Here you may type readme text, which will be shown during startup. Format is: # Text in English, use \\\\n to separate lines (that's four backslashes)^de:Text in Deutsch^ru:Text in Russian^button:Button that will open some URL:http://url-to-open/ -ReadmeText='Tap left joystick to jump' +ReadmeText='' # libSDL version to use (1.2/1.3/2.0) LibSdlVersion=1.2 @@ -68,7 +68,11 @@ CreateService= # Application does not call SDL_Flip() or SDL_UpdateRects() appropriately, or draws from non-main thread - # enabling the compatibility mode will force screen update every 100 milliseconds, which is laggy and inefficient (y) or (n) -CompatibilityHacks=n +CompatibilityHacksForceScreenUpdate=n + +# Application does not call SDL_Flip() or SDL_UpdateRects() after mouse click (ScummVM and all Amiga emulators do that) - +# force screen update by moving mouse cursor a little after each click (y) or (n) +CompatibilityHacksForceScreenUpdateMouseClick=y # Application initializes SDL audio/video inside static constructors (which is bad, you won't be able to run ndk-gdb) (y)/(n) CompatibilityHacksStaticInit=n @@ -115,13 +119,18 @@ GenerateSubframeTouchEvents= # Force relative (laptop) mouse movement mode, useful when both on-screen keyboard and mouse are needed (y) or (n) ForceRelativeMouseMode=n -# Application needs arrow keys (y) or (n), will show on-screen dpad/joystick (y) or (n) +# Show on-screen dpad/joystick, that will act as arrow keys (y) or (n) AppNeedsArrowKeys=n +# On-screen dpad/joystick will appear under finger when it touches the screen (y) or (n) +# Joystick always follows finger, so moving mouse requires touching the screen with other finger +FloatingScreenJoystick= + # Application needs text input (y) or (n), enables button for text input on screen AppNeedsTextInput=y # Application uses joystick (y) or (n), the on-screen DPAD will be used as joystick 0 axes 0-1 +# This will disable AppNeedsArrowKeys option AppUsesJoystick=y # Application uses second on-screen joystick, as SDL joystick 0 axes 2-3 (y)/(n) @@ -136,6 +145,9 @@ AppUsesAccelerometer=n # Application uses gyroscope (y) or (n), the gyroscope will be used as joystick 1 axes 2-4 AppUsesGyroscope=n +# Use gyroscope to move mouse cursor (y) or (n), it eats battery, and can be disabled in settings, do not use with AppUsesGyroscope setting +MoveMouseWithGyroscope= + # Application uses multitouch (y) or (n), multitouch events are passed as SDL_JOYBALLMOTION events for the joystick 0 AppUsesMultitouch=n @@ -190,22 +202,25 @@ RedefinedKeysGamepad="RETURN PAGEDOWN TAB T SPACE RCTRL RETURN RCTRL SPACE PAGED StartupMenuButtonTimeout=3000 # Menu items to hide from startup menu, available menu items: -# SettingsMenu.OkButton SettingsMenu.DummyMenu SettingsMenu.MainMenu SettingsMenuMisc.DownloadConfig SettingsMenuMisc.OptionalDownloadConfig SettingsMenuMisc.AudioConfig SettingsMenuMisc.VideoSettingsConfig SettingsMenuMisc.ShowReadme SettingsMenuMisc.GyroscopeCalibration SettingsMenuMisc.ResetToDefaultsConfig SettingsMenuMouse.MouseConfigMainMenu SettingsMenuMouse.DisplaySizeConfig SettingsMenuMouse.LeftClickConfig SettingsMenuMouse.RightClickConfig SettingsMenuMouse.AdditionalMouseConfig SettingsMenuMouse.JoystickMouseConfig SettingsMenuMouse.TouchPressureMeasurementTool SettingsMenuMouse.CalibrateTouchscreenMenu SettingsMenuKeyboard.KeyboardConfigMainMenu SettingsMenuKeyboard.ScreenKeyboardSizeConfig SettingsMenuKeyboard.ScreenKeyboardDrawSizeConfig SettingsMenuKeyboard.ScreenKeyboardThemeConfig SettingsMenuKeyboard.ScreenKeyboardTransparencyConfig SettingsMenuKeyboard.RemapHwKeysConfig SettingsMenuKeyboard.RemapScreenKbConfig SettingsMenuKeyboard.ScreenGesturesConfig SettingsMenuKeyboard.CustomizeScreenKbLayout +# SettingsMenu.OkButton SettingsMenu.DummyMenu SettingsMenu.MainMenu SettingsMenuMisc.DownloadConfig SettingsMenuMisc.OptionalDownloadConfig SettingsMenuMisc.AudioConfig SettingsMenuMisc.VideoSettingsConfig SettingsMenuMisc.ShowReadme SettingsMenuMisc.GyroscopeCalibration SettingsMenuMisc.ResetToDefaultsConfig SettingsMenuMouse.MouseConfigMainMenu SettingsMenuMouse.DisplaySizeConfig SettingsMenuMouse.LeftClickConfig SettingsMenuMouse.RightClickConfig SettingsMenuMouse.AdditionalMouseConfig SettingsMenuMouse.JoystickMouseConfig SettingsMenuMouse.TouchPressureMeasurementTool SettingsMenuMouse.CalibrateTouchscreenMenu SettingsMenuKeyboard.KeyboardConfigMainMenu SettingsMenuKeyboard.ScreenKeyboardSizeConfig SettingsMenuKeyboard.ScreenKeyboardDrawSizeConfig SettingsMenuKeyboard.ScreenKeyboardThemeConfig SettingsMenuKeyboard.ScreenKeyboardTransparencyConfig SettingsMenuKeyboard.RemapHwKeysConfig SettingsMenuKeyboard.RemapScreenKbConfig SettingsMenuKeyboard.ScreenGesturesConfig SettingsMenuKeyboard.CustomizeScreenKbLayout SettingsMenuKeyboard.ScreenKeyboardAdvanced HiddenMenuOptions='SettingsMenuMisc.OptionalDownloadConfig SettingsMenuMouse.DisplaySizeConfig' # Menu items to show at startup - this is Java code snippet, leave empty for default # new SettingsMenuMisc.ShowReadme(), (AppUsesMouse \&\& \! ForceRelativeMouseMode \? new SettingsMenuMouse.DisplaySizeConfig(true) : new SettingsMenu.DummyMenu()), new SettingsMenuMisc.OptionalDownloadConfig(true), new SettingsMenuMisc.GyroscopeCalibration() # Available menu items: -# SettingsMenu.OkButton SettingsMenu.DummyMenu SettingsMenu.MainMenu SettingsMenuMisc.DownloadConfig SettingsMenuMisc.OptionalDownloadConfig SettingsMenuMisc.AudioConfig SettingsMenuMisc.VideoSettingsConfig SettingsMenuMisc.ShowReadme SettingsMenuMisc.GyroscopeCalibration SettingsMenuMisc.ResetToDefaultsConfig SettingsMenuMouse.MouseConfigMainMenu SettingsMenuMouse.DisplaySizeConfig SettingsMenuMouse.LeftClickConfig SettingsMenuMouse.RightClickConfig SettingsMenuMouse.AdditionalMouseConfig SettingsMenuMouse.JoystickMouseConfig SettingsMenuMouse.TouchPressureMeasurementTool SettingsMenuMouse.CalibrateTouchscreenMenu SettingsMenuKeyboard.KeyboardConfigMainMenu SettingsMenuKeyboard.ScreenKeyboardSizeConfig SettingsMenuKeyboard.ScreenKeyboardDrawSizeConfig SettingsMenuKeyboard.ScreenKeyboardThemeConfig SettingsMenuKeyboard.ScreenKeyboardTransparencyConfig SettingsMenuKeyboard.RemapHwKeysConfig SettingsMenuKeyboard.RemapScreenKbConfig SettingsMenuKeyboard.ScreenGesturesConfig SettingsMenuKeyboard.CustomizeScreenKbLayout +# SettingsMenu.OkButton SettingsMenu.DummyMenu SettingsMenu.MainMenu SettingsMenuMisc.DownloadConfig SettingsMenuMisc.OptionalDownloadConfig SettingsMenuMisc.AudioConfig SettingsMenuMisc.VideoSettingsConfig SettingsMenuMisc.ShowReadme SettingsMenuMisc.GyroscopeCalibration SettingsMenuMisc.ResetToDefaultsConfig SettingsMenuMouse.MouseConfigMainMenu SettingsMenuMouse.DisplaySizeConfig SettingsMenuMouse.LeftClickConfig SettingsMenuMouse.RightClickConfig SettingsMenuMouse.AdditionalMouseConfig SettingsMenuMouse.JoystickMouseConfig SettingsMenuMouse.TouchPressureMeasurementTool SettingsMenuMouse.CalibrateTouchscreenMenu SettingsMenuKeyboard.KeyboardConfigMainMenu SettingsMenuKeyboard.ScreenKeyboardSizeConfig SettingsMenuKeyboard.ScreenKeyboardDrawSizeConfig SettingsMenuKeyboard.ScreenKeyboardThemeConfig SettingsMenuKeyboard.ScreenKeyboardTransparencyConfig SettingsMenuKeyboard.RemapHwKeysConfig SettingsMenuKeyboard.RemapScreenKbConfig SettingsMenuKeyboard.ScreenGesturesConfig SettingsMenuKeyboard.CustomizeScreenKbLayout SettingsMenuKeyboard.ScreenKeyboardAdvanced FirstStartMenuOptions='' -# Enable multi-ABI binary, with hardware FPU support - it will also work on old devices, -# but .apk size is 2x bigger (y) / (n) / (x86) / (all) -MultiABI='all' - # Minimum amount of RAM application requires, in Mb, SDL will print warning to user if it's lower AppMinimumRAM=0 +# GCC version, 4.6 (default) or 4.8, CLANG is not supported yet +NDK_TOOLCHAIN_VERSION= + +# Specify architectures to compile, 'all' or 'y' to compile for all architectures. +# Available architectures: armeabi armeabi-v7a armeabi-v7a-hard x86 mips +MultiABI='armeabi-v7a' # armeabi armeabi-v7a x86 mips + # Optional shared libraries to compile - removing some of them will save space # MP3 support by libMAD is encumbered by patents and libMAD is GPL-ed # Available libraries: mad (GPL-ed!) sdl_mixer sdl_image sdl_ttf sdl_net sdl_blitpool sdl_gfx sdl_sound intl xml2 lua jpeg png ogg flac tremor vorbis freetype xerces curl theora fluidsynth lzma lzo2 mikmod openal timidity zzip bzip2 yaml-cpp python boost_date_time boost_filesystem boost_iostreams boost_program_options boost_regex boost_signals boost_system boost_thread glu avcodec avdevice avfilter avformat avresample avutil swscale swresample bzip2 @@ -242,6 +257,9 @@ AdmobPublisherId=n # Your AdMob test device ID, to receive a test ad AdmobTestDeviceId= -# Your AdMob banner size (BANNER/IAB_BANNER/IAB_LEADERBOARD/IAB_MRECT/IAB_WIDE_SKYSCRAPER/SMART_BANNER) +# Your AdMob banner size (BANNER/FULL_BANNER/LEADERBOARD/MEDIUM_RECTANGLE/SMART_BANNER/WIDE_SKYSCRAPER/FULL_WIDTH:Height/Width:AUTO_HEIGHT/Width:Height) AdmobBannerSize= +# Google Play Game Services application ID, required for cloud saves to work +GooglePlayGameServicesId= + diff --git a/project/jni/application/teeworlds/icon.png b/project/jni/application/teeworlds/icon.png index 78936fa81cf7367c624e08651013c7316223c2ec..0e8cb8f62c27f0bd642695a1558d7d03bc5724d4 100644 GIT binary patch literal 21521 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 MUHx3vIVCg!0MGH$MF0Q* literal 3760 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 MboFyt=akR{0Hnk#^Z)<= diff --git a/project/jni/application/teeworlds/src b/project/jni/application/teeworlds/src index ffebe7324..f2adf45c2 160000 --- a/project/jni/application/teeworlds/src +++ b/project/jni/application/teeworlds/src @@ -1 +1 @@ -Subproject commit ffebe73245a2ffe85d08a4891adef261dc1e6e7b +Subproject commit f2adf45c2b1326f2f9a7447ffb92a2a6cf08c338 diff --git a/todo.txt b/todo.txt index fad8df638..bf734a842 100644 --- a/todo.txt +++ b/todo.txt @@ -17,10 +17,6 @@ TODO, which will get actually done - TeeWorlds: implement rcon. -- TeeWorlds: show chat backlog in text input field. - -- TeeWorlds: do not jump if tapping lower part of the joystick. - - OpenArena: navigate game menu with analog joystick. - OpenArena: do not treat commands starting with / as chat text.