diff --git a/app/build/generated/source/r/debug/android/support/v7/appcompat/R.java b/app/build/generated/source/r/debug/android/support/v7/appcompat/R.java
index 9f2be79..eb879bb 100644
--- a/app/build/generated/source/r/debug/android/support/v7/appcompat/R.java
+++ b/app/build/generated/source/r/debug/android/support/v7/appcompat/R.java
@@ -619,7 +619,7 @@ public final class R {
public static final int abc_shareactionprovider_share_with = 0x7f0d0010;
public static final int abc_shareactionprovider_share_with_application = 0x7f0d0011;
public static final int abc_toolbar_collapse_description = 0x7f0d0012;
- public static final int status_bar_notification_info_overflow = 0x7f0d0050;
+ public static final int status_bar_notification_info_overflow = 0x7f0d0051;
}
public static final class style {
public static final int AlertDialog_AppCompat = 0x7f0e0000;
diff --git a/app/build/intermediates/incremental/mergeDebugAssets/merger.xml b/app/build/intermediates/incremental/mergeDebugAssets/merger.xml
index 7f358fa..231eed2 100644
--- a/app/build/intermediates/incremental/mergeDebugAssets/merger.xml
+++ b/app/build/intermediates/incremental/mergeDebugAssets/merger.xml
@@ -1,2 +1,2 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/app/build/intermediates/incremental/mergeDebugResources/merger.xml b/app/build/intermediates/incremental/mergeDebugResources/merger.xml
index d6b93b8..d3c3bfd 100644
--- a/app/build/intermediates/incremental/mergeDebugResources/merger.xml
+++ b/app/build/intermediates/incremental/mergeDebugResources/merger.xml
@@ -1346,13 +1346,13 @@
- ?android:attr/actionMenuTextAppearance
- @drawable/abc_control_background_material
- "Điều hướng về trang chủ""%1$s, %2$s""%1$s, %2$s, %3$s""Điều hướng lên trên""Thêm tùy chọn""Xong""Xem tất cả""Chọn một ứng dụng""TẮT""BẬT""Tìm kiếm…""Xóa truy vấn""Tìm kiếm truy vấn""Tìm kiếm""Gửi truy vấn""Tìm kiếm bằng giọng nói""Chia sẻ với""Chia sẻ với %s""Thu gọn""999+"3truetrue4192dip5falsefalse- 60%
- 90%
- 50%
- 70%
- 45%
- 72%
192dip5256dip"转到主屏幕""%1$s:%2$s""%1$s - %2$s:%3$s""转到上一层级""更多选项""完成""查看全部""选择应用""关闭""开启""搜索…""清除查询""搜索查询""搜索""提交查询""语音搜索""分享方式""通过%s分享""收起""999+""瀏覽主頁""%1$s:%2$s""%1$s (%2$s):%3$s""向上瀏覽""更多選項""完成""顯示全部""選擇應用程式""關閉""開啟""搜尋…""清除查詢""搜尋查詢""搜尋""提交查詢""語音搜尋""分享對象""與「%s」分享""收合""999 +""瀏覽首頁""%1$s:%2$s""%1$s - %2$s:%3$s""向上瀏覽""更多選項""完成""查看全部""選擇應用程式""關閉""開啟""搜尋…""清除查詢""搜尋查詢""搜尋""提交查詢""語音搜尋""選擇分享對象""與「%s」分享""收合""999+""Zulazulela ekhaya""%1$s, %2$s""%1$s, %2$s, %3$s""Zulazulela phezulu""Izinketho eziningi""Kwenziwe""Buka konke""Khetha uhlelo lokusebenza""VALIWE""VULIWE""Iyasesha...""Sula inkinga""Umbuzo wosesho""Sesha""Hambisa umbuzo""Ukusesha ngezwi""Yabelana no-""Yabelana no-%s""Goqa""999+"
+ "Điều hướng về trang chủ""%1$s, %2$s""%1$s, %2$s, %3$s""Điều hướng lên trên""Thêm tùy chọn""Xong""Xem tất cả""Chọn một ứng dụng""TẮT""BẬT""Tìm kiếm…""Xóa truy vấn""Tìm kiếm truy vấn""Tìm kiếm""Gửi truy vấn""Tìm kiếm bằng giọng nói""Chia sẻ với""Chia sẻ với %s""Thu gọn""999+"3truetrue4192dip5falsefalse- 60%
- 90%
- 50%
- 70%
- 45%
- 72%
192dip5256dip"转到主屏幕""%1$s:%2$s""%1$s - %2$s:%3$s""转到上一层级""更多选项""完成""查看全部""选择应用""关闭""开启""搜索…""清除查询""搜索查询""搜索""提交查询""语音搜索""分享方式""通过%s分享""收起""999+""瀏覽主頁""%1$s:%2$s""%1$s (%2$s):%3$s""向上瀏覽""更多選項""完成""顯示全部""選擇應用程式""關閉""開啟""搜尋…""清除查詢""搜尋查詢""搜尋""提交查詢""語音搜尋""分享對象""與「%s」分享""收合""999 +""瀏覽首頁""%1$s:%2$s""%1$s - %2$s:%3$s""向上瀏覽""更多選項""完成""查看全部""選擇應用程式""關閉""開啟""搜尋…""清除查詢""搜尋查詢""搜尋""提交查詢""語音搜尋""選擇分享對象""與「%s」分享""收合""999+""Zulazulela ekhaya""%1$s, %2$s""%1$s, %2$s, %3$s""Zulazulela phezulu""Izinketho eziningi""Kwenziwe""Buka konke""Khetha uhlelo lokusebenza""VALIWE""VULIWE""Iyasesha...""Sula inkinga""Umbuzo wosesho""Sesha""Hambisa umbuzo""Ukusesha ngezwi""Yabelana no-""Yabelana no-%s""Goqa""999+"
- World zer0
- Grasslands
- Icy Mountains
- Testcave
- Mysterious fireworld
- #ffda45#f11e6f#39be27#ffb405#daf10d#db911c0f#dbfff200#e5dc1522#db41e42b#db494b49#715f5f#60715f#db41e42b#b3d700#f0f41e02#f0f28117#f0d7b106#9d000000#5b000000#3d000000170dp170dp70dp60dpEndless RollClick me!I\'m a text!997.585.1%0.0m%.1fm0.0m/s%.1fm/sFps: 00Fps: %d3Task completedLevel UpGAME OVERLEVEL FINISHEDToolsTo menuTry againRestartNext levelRestart Level %dNext Level: %dLOADING...ContinueRestartExitPlayUnlock all levels (Yes! It\'s magic!)Gain 90 ep (Nope! No magic at all!)Test GL Stuff!!!Time (Lv12)Level: 24Level: %dResetToolshopRamp unlockedGreat world21/15%s%s unlocked!You unlocked a ToolslotNew shape unlockedLevel: %dBuyUpgradeBallClockHypnoPacmanSmileyWheelSun\?\?\?Keep calm and roll onTick tack!Hypnotizes you for more funPACMAN!Don\'t worry, roll happy!A nice car without the... carShine bright like the sunA new shape for more funEmpty taskCollect %d stars (%d/%d)Collect %d energy (%d/%d)Collect %d starsCollect %d energyFinish the %d. world%d/%dYou will unlock this mysterious tool at level %dRoll up the ramp to gain heightShoots you in the airDifficult to handle, but if you master it you can do anythingBlow up all obstacles near the bombThis will give you super-powers for a few secondsFreezes a certain area which leads to longer in-air time\?\?\?RampSpringMagnetBombMushroomStasisLevel: %d%1$s (Lv%2$d)NoneTimeRadiusForceMax.This is a multiline placeholder\nfor all the tutorials I made!!!\nAwesome! - Isn\'t it?Welcome to Endless Roll!\nHave fun!Click anywhere on the screen to place the rampTry to place your ramp in front of the gapGreat job!\nNow place it in front of the obstacleYou can even set a Tool in mid-air.\nTime carefully!Now try again!Welcome to the toolshop!\nHere you can buy and upgrade all tools and you can customize your toolbar.Right! That is your toolbar.Here you can see all the tools you will be able to buy and use.Here one can buy and upgrade the selected tool.Now select the spring and buy it!Now tip on an unlocked slot of your toolbar to equip the spring!\n(It is the same where the ramp is attached at the moment)\nAfter that you will be able to complete the next level.Congratulations! You have leveled up!\nNow go to the toolshopFor this level you will need two tools equippedTo select a tool just click on itWell done! Now you can start the next levelFinish the first world!YesThis is a beautiful ConfirmDialog placeholder!Do you really want to reset ALL your progress?NoDo you really want to exit the game?Do you really want to finish the first world?\nYour old progress will be DELETED!
\ No newline at end of file
+
\ No newline at end of file
diff --git a/app/build/intermediates/symbols/debug/R.txt b/app/build/intermediates/symbols/debug/R.txt
index c7cd25a..c59431a 100644
--- a/app/build/intermediates/symbols/debug/R.txt
+++ b/app/build/intermediates/symbols/debug/R.txt
@@ -475,8 +475,8 @@ int drawable abc_textfield_search_default_mtrl_alpha 0x7f070043
int drawable abc_textfield_search_material 0x7f070044
int drawable backgrounds_game_cave 0x7f070045
int drawable backgrounds_game_grass 0x7f070046
-int drawable backgrounds_game_mountains 0x7f070047
-int drawable backgrounds_menu_grass 0x7f070048
+int drawable backgrounds_game_snow 0x7f070047
+int drawable backgrounds_menu_grasslands 0x7f070048
int drawable black 0x7f070049
int drawable currency_energy 0x7f07004a
int drawable currency_energy_atlas 0x7f07004b
@@ -505,62 +505,66 @@ int drawable guis_tool_shop_disabled 0x7f070061
int drawable guis_tool_shop_enabled 0x7f070062
int drawable notification_template_icon_bg 0x7f070063
int drawable obstacles_grass 0x7f070064
-int drawable playershapes_ball 0x7f070065
-int drawable playershapes_clock 0x7f070066
-int drawable playershapes_hypno_spiral 0x7f070067
-int drawable playershapes_locked 0x7f070068
-int drawable playershapes_pacman 0x7f070069
-int drawable playershapes_smiley 0x7f07006a
-int drawable playershapes_sun 0x7f07006b
-int drawable playershapes_wheel 0x7f07006c
-int drawable terrain_c_grass 0x7f07006d
-int drawable terrain_t_grass 0x7f07006e
-int drawable tools_bomb 0x7f07006f
-int drawable tools_bomb_button 0x7f070070
-int drawable tools_button_empty 0x7f070071
-int drawable tools_button_locked 0x7f070072
-int drawable tools_button_unlocked 0x7f070073
-int drawable tools_magnet 0x7f070074
-int drawable tools_magnet_button 0x7f070075
-int drawable tools_power_mushroom 0x7f070076
-int drawable tools_power_mushroom_button 0x7f070077
-int drawable tools_ramp 0x7f070078
-int drawable tools_ramp_button 0x7f070079
-int drawable tools_spring 0x7f07007a
-int drawable tools_spring_button 0x7f07007b
-int drawable tools_stasis 0x7f07007c
-int drawable tools_stasis_button 0x7f07007d
-int drawable tutorial_place_ramp_air_1 0x7f07007e
-int drawable tutorial_place_ramp_air_2 0x7f07007f
-int drawable tutorial_place_ramp_gap 0x7f070080
-int drawable tutorial_place_ramp_obstacle 0x7f070081
-int drawable tutorial_place_tools 0x7f070082
-int drawable tutorial_switch_tools 0x7f070083
-int drawable tutorial_to_toolshop 0x7f070084
-int drawable tutorial_toolshop_all_tools 0x7f070085
-int drawable tutorial_toolshop_equip_spring 0x7f070086
-int drawable tutorial_toolshop_inspector 0x7f070087
-int drawable tutorial_toolshop_select_buy_spring 0x7f070088
-int drawable tutorial_toolshop_toolbar 0x7f070089
-int drawable world_previews_grass 0x7f07008a
-int drawable xml_background_bountymessage 0x7f07008b
-int drawable xml_background_dialog_button 0x7f07008c
-int drawable xml_background_exit_confirm_dialog 0x7f07008d
-int drawable xml_background_game_over_message_button 0x7f07008e
-int drawable xml_background_levelbutton 0x7f07008f
-int drawable xml_background_toolslot 0x7f070090
-int drawable xml_background_toolupgrade 0x7f070091
-int drawable xml_background_tutorialimageview 0x7f070092
-int drawable xml_background_tutorialtextview 0x7f070093
-int drawable xml_background_worldbutton 0x7f070094
-int drawable xml_layers_toolprogressbar 0x7f070095
-int drawable xml_selector_gamebutton 0x7f070096
-int drawable xml_selector_pricebutton 0x7f070097
-int drawable xml_selector_settingsbutton 0x7f070098
-int drawable xml_selector_shapeshopbutton 0x7f070099
-int drawable xml_selector_sound 0x7f07009a
-int drawable xml_selector_toolshopbutton 0x7f07009b
-int drawable xml_shape_inspector_checkbox 0x7f07009c
+int drawable obstacles_snow 0x7f070065
+int drawable playershapes_ball 0x7f070066
+int drawable playershapes_clock 0x7f070067
+int drawable playershapes_hypno_spiral 0x7f070068
+int drawable playershapes_locked 0x7f070069
+int drawable playershapes_pacman 0x7f07006a
+int drawable playershapes_smiley 0x7f07006b
+int drawable playershapes_sun 0x7f07006c
+int drawable playershapes_wheel 0x7f07006d
+int drawable terrain_c_grass 0x7f07006e
+int drawable terrain_c_ice 0x7f07006f
+int drawable terrain_t_grass 0x7f070070
+int drawable terrain_t_ice 0x7f070071
+int drawable tools_bomb 0x7f070072
+int drawable tools_bomb_button 0x7f070073
+int drawable tools_button_empty 0x7f070074
+int drawable tools_button_locked 0x7f070075
+int drawable tools_button_unlocked 0x7f070076
+int drawable tools_magnet 0x7f070077
+int drawable tools_magnet_button 0x7f070078
+int drawable tools_power_mushroom 0x7f070079
+int drawable tools_power_mushroom_button 0x7f07007a
+int drawable tools_ramp 0x7f07007b
+int drawable tools_ramp_button 0x7f07007c
+int drawable tools_spring 0x7f07007d
+int drawable tools_spring_button 0x7f07007e
+int drawable tools_stasis 0x7f07007f
+int drawable tools_stasis_button 0x7f070080
+int drawable tutorial_place_ramp_air_1 0x7f070081
+int drawable tutorial_place_ramp_air_2 0x7f070082
+int drawable tutorial_place_ramp_gap 0x7f070083
+int drawable tutorial_place_ramp_obstacle 0x7f070084
+int drawable tutorial_place_tools 0x7f070085
+int drawable tutorial_switch_tools 0x7f070086
+int drawable tutorial_to_toolshop 0x7f070087
+int drawable tutorial_toolshop_all_tools 0x7f070088
+int drawable tutorial_toolshop_equip_spring 0x7f070089
+int drawable tutorial_toolshop_inspector 0x7f07008a
+int drawable tutorial_toolshop_select_buy_spring 0x7f07008b
+int drawable tutorial_toolshop_toolbar 0x7f07008c
+int drawable world_previews_grasslands 0x7f07008d
+int drawable world_previews_icymountains 0x7f07008e
+int drawable xml_background_bountymessage 0x7f07008f
+int drawable xml_background_dialog_button 0x7f070090
+int drawable xml_background_exit_confirm_dialog 0x7f070091
+int drawable xml_background_game_over_message_button 0x7f070092
+int drawable xml_background_levelbutton 0x7f070093
+int drawable xml_background_toolslot 0x7f070094
+int drawable xml_background_toolupgrade 0x7f070095
+int drawable xml_background_tutorialimageview 0x7f070096
+int drawable xml_background_tutorialtextview 0x7f070097
+int drawable xml_background_worldbutton 0x7f070098
+int drawable xml_layers_toolprogressbar 0x7f070099
+int drawable xml_selector_gamebutton 0x7f07009a
+int drawable xml_selector_pricebutton 0x7f07009b
+int drawable xml_selector_settingsbutton 0x7f07009c
+int drawable xml_selector_shapeshopbutton 0x7f07009d
+int drawable xml_selector_sound 0x7f07009e
+int drawable xml_selector_toolshopbutton 0x7f07009f
+int drawable xml_shape_inspector_checkbox 0x7f0700a0
int id action0 0x7f080000
int id action_bar 0x7f080001
int id action_bar_activity_content 0x7f080002
@@ -893,102 +897,103 @@ int string game_playerprogress_placeholder 0x7f0d0022
int string game_playerspeed_format_f 0x7f0d0023
int string game_playerspeed_placeholder 0x7f0d0024
int string goal_message_next_level_format_d 0x7f0d0025
-int string goal_message_restart_format_d 0x7f0d0026
-int string level_button_format_d 0x7f0d0027
-int string levelup 0x7f0d0028
-int string message_game_over 0x7f0d0029
-int string message_level_finished 0x7f0d002a
-int string message_next_level 0x7f0d002b
-int string message_restart 0x7f0d002c
-int string message_to_menu 0x7f0d002d
-int string message_tools 0x7f0d002e
-int string message_try_again 0x7f0d002f
-int string placeholder_button 0x7f0d0030
-int string placeholder_number 0x7f0d0031
-int string placeholder_percent 0x7f0d0032
-int string placeholder_textview 0x7f0d0033
-int string playershape_description_ball 0x7f0d0034
-int string playershape_description_clock 0x7f0d0035
-int string playershape_description_hypno_spiral 0x7f0d0036
-int string playershape_description_locked 0x7f0d0037
-int string playershape_description_pacman 0x7f0d0038
-int string playershape_description_smiley 0x7f0d0039
-int string playershape_description_sun 0x7f0d003a
-int string playershape_description_wheel 0x7f0d003b
-int string playershape_name_ball 0x7f0d003c
-int string playershape_name_clock 0x7f0d003d
-int string playershape_name_hypno_spiral 0x7f0d003e
-int string playershape_name_locked 0x7f0d003f
-int string playershape_name_pacman 0x7f0d0040
-int string playershape_name_smiley 0x7f0d0041
-int string playershape_name_sun 0x7f0d0042
-int string playershape_name_wheel 0x7f0d0043
-int string pre_start_screen_loading 0x7f0d0044
-int string price_button_buy 0x7f0d0045
-int string price_button_upgrade 0x7f0d0046
-int string settings_reset 0x7f0d0047
-int string short_menu_continue 0x7f0d0048
-int string short_menu_exit 0x7f0d0049
-int string short_menu_restart 0x7f0d004a
-int string start_screen_finish_world_1 0x7f0d004b
-int string start_screen_gain_90_ep 0x7f0d004c
-int string start_screen_play 0x7f0d004d
-int string start_screen_to_gl_test_screen 0x7f0d004e
-int string start_screen_unlock_all_levels 0x7f0d004f
-int string status_bar_notification_info_overflow 0x7f0d0050
-int string task_collect_energy_format_d 0x7f0d0051
-int string task_collect_energy_progress_format_ddd 0x7f0d0052
-int string task_collect_stars_format_d 0x7f0d0053
-int string task_collect_stars_progress_format_ddd 0x7f0d0054
-int string task_complete_world_format_d 0x7f0d0055
-int string task_completed 0x7f0d0056
-int string task_empty 0x7f0d0057
-int string tool_description_bomb 0x7f0d0058
-int string tool_description_locked_format_d 0x7f0d0059
-int string tool_description_magnet 0x7f0d005a
-int string tool_description_power_mushroom 0x7f0d005b
-int string tool_description_ramp 0x7f0d005c
-int string tool_description_spring 0x7f0d005d
-int string tool_description_stasis 0x7f0d005e
-int string tool_level_format_d 0x7f0d005f
-int string tool_name_bomb 0x7f0d0060
-int string tool_name_locked 0x7f0d0061
-int string tool_name_magnet 0x7f0d0062
-int string tool_name_power_mushroom 0x7f0d0063
-int string tool_name_ramp 0x7f0d0064
-int string tool_name_spring 0x7f0d0065
-int string tool_name_stasis 0x7f0d0066
-int string tool_upgrade_force 0x7f0d0067
-int string tool_upgrade_none 0x7f0d0068
-int string tool_upgrade_radius 0x7f0d0069
-int string tool_upgrade_time 0x7f0d006a
-int string tool_upgrade_title_format_sd 0x7f0d006b
-int string tool_upgrade_title_placeholder 0x7f0d006c
-int string tool_upgrade_value_max 0x7f0d006d
-int string topbar_level_format_d 0x7f0d006e
-int string topbar_level_placeholder 0x7f0d006f
-int string topbar_toolshop 0x7f0d0070
-int string tutorial_leveled_up_to_toolshop 0x7f0d0071
-int string tutorial_place_ramp_air 0x7f0d0072
-int string tutorial_place_ramp_air_2 0x7f0d0073
-int string tutorial_place_ramp_gap 0x7f0d0074
-int string tutorial_place_ramp_obstacle 0x7f0d0075
-int string tutorial_place_tools 0x7f0d0076
-int string tutorial_placeholder 0x7f0d0077
-int string tutorial_spring_equipped 0x7f0d0078
-int string tutorial_switch_tools_switch 0x7f0d0079
-int string tutorial_switch_tools_two_neccessary 0x7f0d007a
-int string tutorial_toolshop_all_tools 0x7f0d007b
-int string tutorial_toolshop_equip_spring 0x7f0d007c
-int string tutorial_toolshop_inspector 0x7f0d007d
-int string tutorial_toolshop_select_buy_spring 0x7f0d007e
-int string tutorial_toolshop_toolbar 0x7f0d007f
-int string tutorial_toolshop_welcome 0x7f0d0080
-int string tutorial_welcome 0x7f0d0081
-int string unlock_message_placeholder 0x7f0d0082
-int string world_button_count_format_dd 0x7f0d0083
-int string world_button_progress_placeholder 0x7f0d0084
-int string world_button_title_placeholder 0x7f0d0085
+int string goal_message_next_world_format_s 0x7f0d0026
+int string goal_message_restart_format_d 0x7f0d0027
+int string level_button_format_d 0x7f0d0028
+int string levelup 0x7f0d0029
+int string message_game_over 0x7f0d002a
+int string message_level_finished 0x7f0d002b
+int string message_next_level 0x7f0d002c
+int string message_restart 0x7f0d002d
+int string message_to_menu 0x7f0d002e
+int string message_tools 0x7f0d002f
+int string message_try_again 0x7f0d0030
+int string placeholder_button 0x7f0d0031
+int string placeholder_number 0x7f0d0032
+int string placeholder_percent 0x7f0d0033
+int string placeholder_textview 0x7f0d0034
+int string playershape_description_ball 0x7f0d0035
+int string playershape_description_clock 0x7f0d0036
+int string playershape_description_hypno_spiral 0x7f0d0037
+int string playershape_description_locked 0x7f0d0038
+int string playershape_description_pacman 0x7f0d0039
+int string playershape_description_smiley 0x7f0d003a
+int string playershape_description_sun 0x7f0d003b
+int string playershape_description_wheel 0x7f0d003c
+int string playershape_name_ball 0x7f0d003d
+int string playershape_name_clock 0x7f0d003e
+int string playershape_name_hypno_spiral 0x7f0d003f
+int string playershape_name_locked 0x7f0d0040
+int string playershape_name_pacman 0x7f0d0041
+int string playershape_name_smiley 0x7f0d0042
+int string playershape_name_sun 0x7f0d0043
+int string playershape_name_wheel 0x7f0d0044
+int string pre_start_screen_loading 0x7f0d0045
+int string price_button_buy 0x7f0d0046
+int string price_button_upgrade 0x7f0d0047
+int string settings_reset 0x7f0d0048
+int string short_menu_continue 0x7f0d0049
+int string short_menu_exit 0x7f0d004a
+int string short_menu_restart 0x7f0d004b
+int string start_screen_finish_world_1 0x7f0d004c
+int string start_screen_gain_90_ep 0x7f0d004d
+int string start_screen_play 0x7f0d004e
+int string start_screen_to_gl_test_screen 0x7f0d004f
+int string start_screen_unlock_all_levels 0x7f0d0050
+int string status_bar_notification_info_overflow 0x7f0d0051
+int string task_collect_energy_format_d 0x7f0d0052
+int string task_collect_energy_progress_format_ddd 0x7f0d0053
+int string task_collect_stars_format_d 0x7f0d0054
+int string task_collect_stars_progress_format_ddd 0x7f0d0055
+int string task_complete_world_format_d 0x7f0d0056
+int string task_completed 0x7f0d0057
+int string task_empty 0x7f0d0058
+int string tool_description_bomb 0x7f0d0059
+int string tool_description_locked_format_d 0x7f0d005a
+int string tool_description_magnet 0x7f0d005b
+int string tool_description_power_mushroom 0x7f0d005c
+int string tool_description_ramp 0x7f0d005d
+int string tool_description_spring 0x7f0d005e
+int string tool_description_stasis 0x7f0d005f
+int string tool_level_format_d 0x7f0d0060
+int string tool_name_bomb 0x7f0d0061
+int string tool_name_locked 0x7f0d0062
+int string tool_name_magnet 0x7f0d0063
+int string tool_name_power_mushroom 0x7f0d0064
+int string tool_name_ramp 0x7f0d0065
+int string tool_name_spring 0x7f0d0066
+int string tool_name_stasis 0x7f0d0067
+int string tool_upgrade_force 0x7f0d0068
+int string tool_upgrade_none 0x7f0d0069
+int string tool_upgrade_radius 0x7f0d006a
+int string tool_upgrade_time 0x7f0d006b
+int string tool_upgrade_title_format_sd 0x7f0d006c
+int string tool_upgrade_title_placeholder 0x7f0d006d
+int string tool_upgrade_value_max 0x7f0d006e
+int string topbar_level_format_d 0x7f0d006f
+int string topbar_level_placeholder 0x7f0d0070
+int string topbar_toolshop 0x7f0d0071
+int string tutorial_leveled_up_to_toolshop 0x7f0d0072
+int string tutorial_place_ramp_air 0x7f0d0073
+int string tutorial_place_ramp_air_2 0x7f0d0074
+int string tutorial_place_ramp_gap 0x7f0d0075
+int string tutorial_place_ramp_obstacle 0x7f0d0076
+int string tutorial_place_tools 0x7f0d0077
+int string tutorial_placeholder 0x7f0d0078
+int string tutorial_spring_equipped 0x7f0d0079
+int string tutorial_switch_tools_switch 0x7f0d007a
+int string tutorial_switch_tools_two_neccessary 0x7f0d007b
+int string tutorial_toolshop_all_tools 0x7f0d007c
+int string tutorial_toolshop_equip_spring 0x7f0d007d
+int string tutorial_toolshop_inspector 0x7f0d007e
+int string tutorial_toolshop_select_buy_spring 0x7f0d007f
+int string tutorial_toolshop_toolbar 0x7f0d0080
+int string tutorial_toolshop_welcome 0x7f0d0081
+int string tutorial_welcome 0x7f0d0082
+int string unlock_message_placeholder 0x7f0d0083
+int string world_button_count_format_dd 0x7f0d0084
+int string world_button_progress_placeholder 0x7f0d0085
+int string world_button_title_placeholder 0x7f0d0086
int style AlertDialog_AppCompat 0x7f0e0000
int style AlertDialog_AppCompat_Light 0x7f0e0001
int style Animation_AppCompat_Dialog 0x7f0e0002
diff --git a/app/src/main/assets/levelpacks/Icy Mountains.xml b/app/src/main/assets/levelpacks/Icy Mountains.xml
index 0ba629a..43fde4d 100644
--- a/app/src/main/assets/levelpacks/Icy Mountains.xml
+++ b/app/src/main/assets/levelpacks/Icy Mountains.xml
@@ -223,18 +223,18 @@
-
+
-
-
-
-
-
-
+
+
+
+
+
+
-
+
@@ -252,43 +252,194 @@
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
-
+
+
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/assets/particleEffects/snow.pe b/app/src/main/assets/particleEffects/snow.pe
new file mode 100644
index 0000000..d65ca07
--- /dev/null
+++ b/app/src/main/assets/particleEffects/snow.pe
@@ -0,0 +1,151 @@
+Untitled
+- Delay -
+active: false
+- Duration -
+lowMin: 1000.0
+lowMax: 1000.0
+- Count -
+min: 0
+max: 200
+- Emission -
+lowMin: 0.0
+lowMax: 0.0
+highMin: 2.0
+highMax: 4.0
+relative: false
+scalingCount: 1
+scaling0: 1.0
+timelineCount: 1
+timeline0: 0.0
+- Life -
+lowMin: 0.0
+lowMax: 0.0
+highMin: 1000.0
+highMax: 5000.0
+relative: false
+scalingCount: 3
+scaling0: 1.0
+scaling1: 1.0
+scaling2: 1.0
+timelineCount: 3
+timeline0: 0.0
+timeline1: 0.001
+timeline2: 1.0
+- Life Offset -
+active: false
+- X Offset -
+active: false
+- Y Offset -
+active: false
+- Spawn Shape -
+shape: square
+- Spawn Width -
+lowMin: 0.0
+lowMax: 0.0
+highMin: 1500.0
+highMax: 1500.0
+relative: false
+scalingCount: 1
+scaling0: 1.0
+timelineCount: 1
+timeline0: 0.0
+- Spawn Height -
+lowMin: 0.0
+lowMax: 0.0
+highMin: 1100.0
+highMax: 1100.0
+relative: false
+scalingCount: 1
+scaling0: 1.0
+timelineCount: 1
+timeline0: 0.0
+- Scale -
+lowMin: 0.0
+lowMax: 30.0
+highMin: 30.0
+highMax: 50.0
+relative: false
+scalingCount: 3
+scaling0: 1.0
+scaling1: 1.0
+scaling2: 0.0
+timelineCount: 3
+timeline0: 0.0
+timeline1: 0.37671232
+timeline2: 1.0
+- Velocity -
+active: true
+lowMin: 10.0
+lowMax: 100.0
+highMin: 20.0
+highMax: 200.0
+relative: false
+scalingCount: 4
+scaling0: 1.0
+scaling1: 1.0
+scaling2: 0.64705884
+scaling3: 0.0
+timelineCount: 4
+timeline0: 0.0
+timeline1: 0.49905124
+timeline2: 0.65068495
+timeline3: 0.79452056
+- Angle -
+active: true
+lowMin: 180.0
+lowMax: 360.0
+highMin: 240.0
+highMax: 300.0
+relative: false
+scalingCount: 5
+scaling0: 1.0
+scaling1: 1.0
+scaling2: 1.0
+scaling3: 0.6666667
+scaling4: 0.0
+timelineCount: 5
+timeline0: 0.0
+timeline1: 0.5009488
+timeline2: 0.5019488
+timeline3: 0.65753424
+timeline4: 0.79452056
+- Rotation -
+active: false
+- Wind -
+active: false
+- Gravity -
+active: false
+- Tint -
+colorsCount: 3
+colors0: 1.0
+colors1: 1.0
+colors2: 1.0
+timelineCount: 1
+timeline0: 0.0
+- Transparency -
+lowMin: 0.0
+lowMax: 0.0
+highMin: 1.0
+highMax: 1.0
+relative: false
+scalingCount: 5
+scaling0: 0.0
+scaling1: 1.0
+scaling2: 1.0
+scaling3: 0.0
+scaling4: 0.0
+timelineCount: 5
+timeline0: 0.0
+timeline1: 0.19863014
+timeline2: 0.5890411
+timeline3: 0.999
+timeline4: 1.0
+- Options -
+attached: false
+continuous: true
+aligned: false
+additive: true
+behind: false
+premultipliedAlpha: false
+- Image Path -
+snow.png
diff --git a/app/src/main/assets/particleEffects/snow.png b/app/src/main/assets/particleEffects/snow.png
new file mode 100644
index 0000000..562deb1
Binary files /dev/null and b/app/src/main/assets/particleEffects/snow.png differ
diff --git a/app/src/main/java/de/frajul/endlessroll/entities/particles/ParticleSource.java b/app/src/main/java/de/frajul/endlessroll/entities/particles/ParticleSource.java
index a21a254..106ffd6 100644
--- a/app/src/main/java/de/frajul/endlessroll/entities/particles/ParticleSource.java
+++ b/app/src/main/java/de/frajul/endlessroll/entities/particles/ParticleSource.java
@@ -168,6 +168,10 @@ public class ParticleSource {
this.position = position;
}
+ public Vector getPosition() {
+ return position;
+ }
+
public void setDelayMS(float delay) {
currentDelay = delay;
delayManuallySet = true;
diff --git a/app/src/main/java/de/frajul/endlessroll/entities/particles/ParticleSystem.java b/app/src/main/java/de/frajul/endlessroll/entities/particles/ParticleSystem.java
index a00df18..4207588 100644
--- a/app/src/main/java/de/frajul/endlessroll/entities/particles/ParticleSystem.java
+++ b/app/src/main/java/de/frajul/endlessroll/entities/particles/ParticleSystem.java
@@ -20,6 +20,7 @@ public class ParticleSystem {
public final ParticleEffect energyCollect;
public final ParticleEffect firework;
public final ParticleEffect superPower;
+ public final ParticleEffect snow;
private ParticleEffect[] effects;
private TextureLoader textureLoader;
@@ -36,8 +37,9 @@ public class ParticleSystem {
energyCollect = reader.read("particleEffects/collectEnergy.pe");
firework = reader.read("particleEffects/firework.pe");
superPower = reader.read("particleEffects/superPower.pe");
+ snow = reader.read("particleEffects/snow.pe");
- effects = new ParticleEffect[]{stasis, testFire,colorChange, explosion, magnet, starCollect, energyCollect, firework, superPower};
+ effects = new ParticleEffect[]{stasis, testFire,colorChange, explosion, magnet, starCollect, energyCollect, firework, superPower, snow};
}
public void update(Timer timer) {
diff --git a/app/src/main/java/de/frajul/endlessroll/levels/worlds/World.java b/app/src/main/java/de/frajul/endlessroll/levels/worlds/World.java
index bf6ee07..cd223a0 100644
--- a/app/src/main/java/de/frajul/endlessroll/levels/worlds/World.java
+++ b/app/src/main/java/de/frajul/endlessroll/levels/worlds/World.java
@@ -12,9 +12,8 @@ import de.frajul.endlessroll.entities.textures.TexturePack;
public enum World {
- GRASSLANDS("Grasslands", R.drawable.world_previews_grass, R.drawable.backgrounds_game_grass, R.drawable.terrain_t_grass, R.drawable.terrain_c_grass, R.drawable.obstacles_grass),
- TESTCAVE("Testcave", R.drawable.world_previews_grass, R.drawable.backgrounds_game_cave, R.drawable.terrain_t_grass, R.drawable.terrain_c_grass, R.drawable.obstacles_grass),
- ICY_MOUNTAINS("Icy Mountains", R.drawable.world_previews_grass, R.drawable.backgrounds_game_mountains, R.drawable.terrain_t_grass, R.drawable.terrain_c_grass, R.drawable.obstacles_grass);
+ GRASSLANDS("Grasslands", R.drawable.world_previews_grasslands, R.drawable.backgrounds_game_grass, R.drawable.terrain_t_grass, R.drawable.terrain_c_grass, R.drawable.obstacles_grass),
+ ICY_MOUNTAINS("Icy Mountains", R.drawable.world_previews_icymountains, R.drawable.backgrounds_game_snow, R.drawable.terrain_t_ice, R.drawable.terrain_c_ice, R.drawable.obstacles_snow);
private String name;
@DrawableRes
diff --git a/app/src/main/java/de/frajul/endlessroll/main/game/GameScene.java b/app/src/main/java/de/frajul/endlessroll/main/game/GameScene.java
index 3660205..44afb25 100644
--- a/app/src/main/java/de/frajul/endlessroll/main/game/GameScene.java
+++ b/app/src/main/java/de/frajul/endlessroll/main/game/GameScene.java
@@ -7,6 +7,7 @@ import de.frajul.endlessroll.entities.Obstacle;
import de.frajul.endlessroll.entities.collectables.Energy;
import de.frajul.endlessroll.entities.collectables.Star;
import de.frajul.endlessroll.entities.collision.CollisionDetector;
+import de.frajul.endlessroll.entities.particles.ParticleSource;
import de.frajul.endlessroll.entities.particles.ParticleSystem;
import de.frajul.endlessroll.entities.shapes.PlayerShape;
import de.frajul.endlessroll.entities.textures.TexturePack;
@@ -37,14 +38,14 @@ public class GameScene extends Scene {
goal = new Goal(textures.goal);
}
- public void loadLevel(Level level, World world, PlayerShape playerPlayerShape) throws Exception {
+ public void loadLevel(Level level, World world, PlayerShape playerShape) throws Exception {
this.currentWorld = world;
super.reset();
background.changeTexture(world.getBackgroundTexture());
terrain.loadData(world, level.getTerrainEdge(), level.getTerrainTiles());
ceiling.loadData(world, level.getCeilingEdge(), level.getCeilingTiles());
uncategorizedEntities.add(goal);
- player.init(playerPlayerShape, terrain.getEdge(), level.getStartSpeed(),
+ player.init(playerShape, terrain.getEdge(), level.getStartSpeed(),
level.getEndSpeed(), particleSystem);
uncategorizedEntities.add(player);
collectables.init(level, textures);
@@ -53,6 +54,13 @@ public class GameScene extends Scene {
goalX = level.getGoalX();
goal.setGoalX(goalX);
+
+ if(world == World.ICY_MOUNTAINS){
+ enviromentParticles = new ParticleSource(new Vector(), particleSystem.snow);
+ enviromentParticles.start();
+ }else if(enviromentParticles != null){
+ enviromentParticles.kill();
+ }
GameLog.d("Level " + level.getId() + " successfully loaded");
}
diff --git a/app/src/main/java/de/frajul/endlessroll/main/game/Scene.java b/app/src/main/java/de/frajul/endlessroll/main/game/Scene.java
index a8f15aa..5479b02 100644
--- a/app/src/main/java/de/frajul/endlessroll/main/game/Scene.java
+++ b/app/src/main/java/de/frajul/endlessroll/main/game/Scene.java
@@ -12,6 +12,7 @@ import de.frajul.endlessroll.entities.Entity;
import de.frajul.endlessroll.entities.Obstacle;
import de.frajul.endlessroll.entities.Player;
import de.frajul.endlessroll.entities.collectables.Collectables;
+import de.frajul.endlessroll.entities.particles.ParticleSource;
import de.frajul.endlessroll.entities.particles.ParticleSystem;
import de.frajul.endlessroll.entities.textures.TexturePack;
import de.frajul.endlessroll.entities.tileLists.Ceiling;
@@ -37,6 +38,7 @@ public abstract class Scene {
protected Terrain terrain;
protected Ceiling ceiling;
protected Player player;
+ protected ParticleSource enviromentParticles;
protected List uncategorizedEntities = Collections
.synchronizedList(new ArrayList());
@@ -82,6 +84,9 @@ public abstract class Scene {
}
} else
uncategorizedEntities.remove(playerArrow);
+
+ if (enviromentParticles != null)
+ enviromentParticles.getPosition().setX(camera.getX() + 1.5f);
}
private void updateEntityList(List extends Entity> list, Timer timer) {
diff --git a/app/src/main/java/de/frajul/endlessroll/main/game/StartScene.java b/app/src/main/java/de/frajul/endlessroll/main/game/StartScene.java
index bf55be8..ab5580f 100644
--- a/app/src/main/java/de/frajul/endlessroll/main/game/StartScene.java
+++ b/app/src/main/java/de/frajul/endlessroll/main/game/StartScene.java
@@ -1,5 +1,9 @@
package de.frajul.endlessroll.main.game;
+import java.util.Random;
+
+import de.frajul.endlessroll.data.Vector;
+import de.frajul.endlessroll.entities.particles.ParticleSource;
import de.frajul.endlessroll.entities.particles.ParticleSystem;
import de.frajul.endlessroll.entities.shapes.PlayerShape;
import de.frajul.endlessroll.entities.textures.TexturePack;
@@ -7,11 +11,37 @@ import de.frajul.endlessroll.levels.worlds.World;
public class StartScene extends Scene {
+ private final float TERRAIN_EDGE = -0.8f;
+ private Random random;
+ private World currentWorld = World.GRASSLANDS;
+
public StartScene(TexturePack texturePack, ParticleSystem particleSystem) {
super(texturePack, particleSystem);
- terrain.createEndless(World.ICY_MOUNTAINS, -.8f);
- player.init(PlayerShape.BALL, terrain.getEdge(), 0.5f, 0.5f, null);
+ player.init(PlayerShape.BALL, TERRAIN_EDGE, 0.5f, 0.5f, null);
uncategorizedEntities.add(player);
+
+ random = new Random();
+ randomizeWorld();
+ loadTexturesForCurrentWorld();
+ }
+
+ public void randomizeWorld() {
+ int worldId = random.nextInt(World.values().length);
+ currentWorld = World.values()[worldId];
+ if (currentWorld == World.ICY_MOUNTAINS) {
+ enviromentParticles = new ParticleSource(new Vector(), particleSystem.snow);
+ enviromentParticles.start();
+ } else {
+ if (enviromentParticles != null)
+ enviromentParticles.kill();
+ particleSystem.deleteAllSources();
+ }
+ }
+
+ public void loadTexturesForCurrentWorld() {
+ terrain.clear();
+ terrain.createEndless(currentWorld, TERRAIN_EDGE);
+ background.changeTexture(currentWorld.getBackgroundTexture());
}
}
\ No newline at end of file
diff --git a/app/src/main/java/de/frajul/endlessroll/main/screens/StartScreen.java b/app/src/main/java/de/frajul/endlessroll/main/screens/StartScreen.java
index 5e8b62a..5cf40a9 100644
--- a/app/src/main/java/de/frajul/endlessroll/main/screens/StartScreen.java
+++ b/app/src/main/java/de/frajul/endlessroll/main/screens/StartScreen.java
@@ -10,7 +10,7 @@ import android.widget.RelativeLayout;
import de.frajul.endlessroll.R;
import de.frajul.endlessroll.main.GameActivity;
import de.frajul.endlessroll.main.MyGlSurfaceView;
-import de.frajul.endlessroll.rendering.Rendering;
+import de.frajul.endlessroll.main.game.StartScene;
import de.frajul.endlessroll.sqlDatabase.MyDatabase;
import de.frajul.endlessroll.views.ConfirmDialog;
@@ -22,7 +22,7 @@ public class StartScreen extends GLScreen implements View.OnClic
private final int CALL_ID_CONFIRM_EXIT = 1;
private final int CALL_ID_CONFIRM_FINISH_WORLD = 2;
- private Rendering rendering;
+ private StartScreenRendering rendering;
private Button play;
private Button unlockLevels;
@@ -62,6 +62,8 @@ public class StartScreen extends GLScreen implements View.OnClic
@Override
public void prepareToBeShown() {
glView.setCurrentRendering(rendering);
+ ((StartScene) rendering.getScene()).randomizeWorld();
+ ((StartScene) rendering.getScene()).loadTexturesForCurrentWorld();
}
@Override
diff --git a/app/src/main/java/de/frajul/endlessroll/main/screens/StartScreenRendering.java b/app/src/main/java/de/frajul/endlessroll/main/screens/StartScreenRendering.java
index d57a0c2..9aa4a78 100644
--- a/app/src/main/java/de/frajul/endlessroll/main/screens/StartScreenRendering.java
+++ b/app/src/main/java/de/frajul/endlessroll/main/screens/StartScreenRendering.java
@@ -30,8 +30,9 @@ public class StartScreenRendering extends Rendering {
this.timer = timer;
if (isFirstTime)
scene = new StartScene(texturePack, particleSystem);
- else
+ else {
scene.setTexturePack(texturePack);
+ }
try {
particleSystem.loadTextures();
} catch (Exception e) {
diff --git a/app/src/main/java/de/frajul/endlessroll/views/GoalMessage.java b/app/src/main/java/de/frajul/endlessroll/views/GoalMessage.java
index 87bbfc8..2e89a32 100644
--- a/app/src/main/java/de/frajul/endlessroll/views/GoalMessage.java
+++ b/app/src/main/java/de/frajul/endlessroll/views/GoalMessage.java
@@ -57,11 +57,15 @@ public class GoalMessage implements GoalMessageLevelButtonOnClickListener, View.
topBar.update();
restart.init(R.string.goal_message_restart_format_d, level);
- boolean nextLevelVisible = !levelPack.isLastLevel(level);
- nextLevel.setVisible(nextLevelVisible);
- if (nextLevelVisible)
+ boolean isLastLevel = levelPack.isLastLevel(level);
+ boolean hasNextWorld = gameActivity.getLevelManager().getNextLevelPack(levelPack) != null;
+ nextLevel.setVisible(!isLastLevel || hasNextWorld);
+ if (!isLastLevel)
nextLevel
.init(R.string.goal_message_next_level_format_d, levelPack.getNextLevel(level));
+ else if (hasNextWorld) {
+ nextLevel.initShowToNextWorld(true, levelPack);
+ }
layout.postDelayed(new Runnable() {
@Override
@@ -96,7 +100,10 @@ public class GoalMessage implements GoalMessageLevelButtonOnClickListener, View.
@Override
public void onClick(GoalMessageLevelButton goalMessageLevelButton) {
hide();
- gameActivity.startGame(levelPack, goalMessageLevelButton.getLevel());
+ if (goalMessageLevelButton.isShowingToNextWorld()) {
+ gameActivity.flipToScreen(Screen.ScreenType.WORLDS);
+ } else
+ gameActivity.startGame(levelPack, goalMessageLevelButton.getLevel());
}
public void onKeyBack() {
diff --git a/app/src/main/java/de/frajul/endlessroll/views/GoalMessageLevelButton.java b/app/src/main/java/de/frajul/endlessroll/views/GoalMessageLevelButton.java
index 8db68f3..ba98440 100644
--- a/app/src/main/java/de/frajul/endlessroll/views/GoalMessageLevelButton.java
+++ b/app/src/main/java/de/frajul/endlessroll/views/GoalMessageLevelButton.java
@@ -1,14 +1,13 @@
package de.frajul.endlessroll.views;
-import android.support.annotation.LayoutRes;
import android.support.annotation.StringRes;
-import android.view.LayoutInflater;
import android.view.View;
import android.widget.ImageView;
import android.widget.TextView;
import de.frajul.endlessroll.R;
import de.frajul.endlessroll.levels.Level;
+import de.frajul.endlessroll.levels.LevelPack;
import de.frajul.endlessroll.main.GameActivity;
/**
@@ -19,6 +18,7 @@ public class GoalMessageLevelButton implements View.OnClickListener {
private GameActivity gameActivity;
private GoalMessageLevelButtonOnClickListener clickListener;
private Level level;
+ private boolean showingToNextWorld = false;
private View layout;
private TextView text;
@@ -26,6 +26,7 @@ public class GoalMessageLevelButton implements View.OnClickListener {
private ImageView star2;
private ImageView star3;
private ImageView energy;
+ private View bottomLayout;
public GoalMessageLevelButton(GameActivity gameActivity, GoalMessageLevelButtonOnClickListener clickListener, View layout) {
this.gameActivity = gameActivity;
@@ -42,18 +43,31 @@ public class GoalMessageLevelButton implements View.OnClickListener {
star2 = (ImageView) layout.findViewById(R.id.goal_message_levelbutton_star2);
star3 = (ImageView) layout.findViewById(R.id.goal_message_levelbutton_star3);
energy = (ImageView) layout.findViewById(R.id.goal_message_levelbutton_energy);
+ bottomLayout = layout.findViewById(R.id.goal_message_bottom_layout);
}
- public void setVisible(boolean visible){
+ public void setVisible(boolean visible) {
layout.setVisibility(visible ? View.VISIBLE : View.INVISIBLE);
}
public void init(@StringRes int textId, Level level) {
this.level = level;
+ initShowToNextWorld(false, null);
text.setText(gameActivity.getString(textId, level.getId()));
showCollectedCurrency(level.getCollectedStars(), level.isEnergyCollected());
}
+ public void initShowToNextWorld(boolean show, LevelPack currentLevelPack) {
+ showingToNextWorld = show;
+ bottomLayout.setVisibility(show ? View.GONE : View.VISIBLE);
+ if (show) {
+ String nextWorld = gameActivity.getLevelManager().getNextLevelPack(currentLevelPack)
+ .getName();
+ text.setText(
+ gameActivity.getString(R.string.goal_message_next_world_format_s, nextWorld));
+ }
+ }
+
private void showCollectedCurrency(boolean[] stars, boolean energy) {
if (stars[0])
this.star1.setImageResource(R.drawable.currency_star);
@@ -69,10 +83,14 @@ public class GoalMessageLevelButton implements View.OnClickListener {
return level;
}
- public View getView(){
+ public View getView() {
return layout;
}
+ public boolean isShowingToNextWorld() {
+ return showingToNextWorld;
+ }
+
@Override
public void onClick(View v) {
clickListener.onClick(this);
diff --git a/app/src/main/res/drawable/backgrounds_game_mountains.png b/app/src/main/res/drawable/backgrounds_game_mountains.png
deleted file mode 100644
index 6924868..0000000
Binary files a/app/src/main/res/drawable/backgrounds_game_mountains.png and /dev/null differ
diff --git a/app/src/main/res/drawable/backgrounds_game_snow.png b/app/src/main/res/drawable/backgrounds_game_snow.png
new file mode 100644
index 0000000..9ce40c6
Binary files /dev/null and b/app/src/main/res/drawable/backgrounds_game_snow.png differ
diff --git a/app/src/main/res/drawable/backgrounds_menu_grass.png b/app/src/main/res/drawable/backgrounds_menu_grass.png
deleted file mode 100644
index 5a33827..0000000
Binary files a/app/src/main/res/drawable/backgrounds_menu_grass.png and /dev/null differ
diff --git a/app/src/main/res/drawable/backgrounds_menu_grasslands.png b/app/src/main/res/drawable/backgrounds_menu_grasslands.png
new file mode 100644
index 0000000..43281b5
Binary files /dev/null and b/app/src/main/res/drawable/backgrounds_menu_grasslands.png differ
diff --git a/app/src/main/res/drawable/obstacles_snow.png b/app/src/main/res/drawable/obstacles_snow.png
new file mode 100644
index 0000000..5c1cc6c
Binary files /dev/null and b/app/src/main/res/drawable/obstacles_snow.png differ
diff --git a/app/src/main/res/drawable/terrain_c_ice.png b/app/src/main/res/drawable/terrain_c_ice.png
new file mode 100644
index 0000000..5e4c04d
Binary files /dev/null and b/app/src/main/res/drawable/terrain_c_ice.png differ
diff --git a/app/src/main/res/drawable/terrain_t_ice.png b/app/src/main/res/drawable/terrain_t_ice.png
new file mode 100644
index 0000000..5955f61
Binary files /dev/null and b/app/src/main/res/drawable/terrain_t_ice.png differ
diff --git a/app/src/main/res/drawable/world_previews_grass.png b/app/src/main/res/drawable/world_previews_grass.png
deleted file mode 100644
index 498940e..0000000
Binary files a/app/src/main/res/drawable/world_previews_grass.png and /dev/null differ
diff --git a/app/src/main/res/drawable/world_previews_grasslands.png b/app/src/main/res/drawable/world_previews_grasslands.png
new file mode 100644
index 0000000..9762619
Binary files /dev/null and b/app/src/main/res/drawable/world_previews_grasslands.png differ
diff --git a/app/src/main/res/drawable/world_previews_icymountains.png b/app/src/main/res/drawable/world_previews_icymountains.png
new file mode 100644
index 0000000..f7feb6b
Binary files /dev/null and b/app/src/main/res/drawable/world_previews_icymountains.png differ
diff --git a/app/src/main/res/layout/goal_message.xml b/app/src/main/res/layout/goal_message.xml
index e420e2a..65c43b5 100644
--- a/app/src/main/res/layout/goal_message.xml
+++ b/app/src/main/res/layout/goal_message.xml
@@ -52,12 +52,14 @@
android:id="@+id/goal_message_restart"
layout="@layout/goal_message_levelbutton"
android:layout_width="wrap_content"
+ android:layout_centerVertical="true"
android:layout_height="wrap_content"
android:layout_alignParentStart="true"/>
diff --git a/app/src/main/res/layout/goal_message_levelbutton.xml b/app/src/main/res/layout/goal_message_levelbutton.xml
index 51b3dd9..9635614 100644
--- a/app/src/main/res/layout/goal_message_levelbutton.xml
+++ b/app/src/main/res/layout/goal_message_levelbutton.xml
@@ -5,50 +5,51 @@
android:background="@drawable/xml_background_game_over_message_button"
android:orientation="vertical">
-
+
+
+
+
+ android:layout_weight="1"
+ android:src="@drawable/currency_star_empty"/>
-
+
-
+
-
+
-
-
-
-
-
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/levels.xml b/app/src/main/res/layout/levels.xml
index 820fe24..4ce635f 100644
--- a/app/src/main/res/layout/levels.xml
+++ b/app/src/main/res/layout/levels.xml
@@ -2,7 +2,6 @@
diff --git a/app/src/main/res/layout/settings.xml b/app/src/main/res/layout/settings.xml
index 4754a92..ba9c484 100644
--- a/app/src/main/res/layout/settings.xml
+++ b/app/src/main/res/layout/settings.xml
@@ -2,7 +2,6 @@
+ android:layout_height="match_parent">
diff --git a/app/src/main/res/layout/toolshop.xml b/app/src/main/res/layout/toolshop.xml
index 7508b87..4e9ba9b 100644
--- a/app/src/main/res/layout/toolshop.xml
+++ b/app/src/main/res/layout/toolshop.xml
@@ -1,8 +1,7 @@
+ android:layout_height="match_parent">
diff --git a/app/src/main/res/layout/tutorial.xml b/app/src/main/res/layout/tutorial.xml
index 1f20595..cb83af3 100644
--- a/app/src/main/res/layout/tutorial.xml
+++ b/app/src/main/res/layout/tutorial.xml
@@ -30,7 +30,7 @@
android:background="@drawable/xml_background_tutorialimageview"
android:padding="2dp"
android:scaleType="centerCrop"
- android:src="@drawable/backgrounds_menu_grass"/>
+ android:src="@drawable/backgrounds_menu_grasslands"/>
diff --git a/app/src/main/res/layout/world_button.xml b/app/src/main/res/layout/world_button.xml
index 0dcae03..88fc644 100644
--- a/app/src/main/res/layout/world_button.xml
+++ b/app/src/main/res/layout/world_button.xml
@@ -27,7 +27,7 @@
android:layout_centerInParent="true"
android:layout_marginTop="10dp"
android:adjustViewBounds="true"
- android:src="@drawable/world_previews_grass"/>
+ android:src="@drawable/world_previews_grasslands"/>
+ android:layout_height="match_parent">
+
+
@@ -27,5 +31,6 @@
+
\ No newline at end of file
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 0071f5f..3c424b6 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -23,6 +23,7 @@
Next level
Restart Level %d
Next Level: %d
+ Go to the next world:\n%s
LOADING...
Continue
Restart
@@ -76,7 +77,7 @@
You will unlock this mysterious tool at level %d
Roll up the ramp to gain height
Shoots you in the air
- Difficult to handle, but if you master it you can do anything
+ Difficult to handle, but give it a try
Blow up all obstacles near the bomb
This will give you super-powers for a few seconds
Freezes a certain area which leads to longer in-air time