Compare commits
1 Commits
master
...
release-bu
Author | SHA1 | Date | |
---|---|---|---|
dd87bbb116 |
1
.gitignore
vendored
@ -7,7 +7,6 @@
|
|||||||
## Build generated
|
## Build generated
|
||||||
build/
|
build/
|
||||||
DerivedData/
|
DerivedData/
|
||||||
.idea/
|
|
||||||
|
|
||||||
## Various settings
|
## Various settings
|
||||||
*.pbxuser
|
*.pbxuser
|
||||||
|
217
.idea/workspace.xml
Executable file
@ -0,0 +1,217 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<component name="ChangeListManager">
|
||||||
|
<list default="true" id="34a09786-f26b-40ab-ab95-a13a014633b6" name="Default" comment="" />
|
||||||
|
<option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" />
|
||||||
|
<option name="TRACKING_ENABLED" value="true" />
|
||||||
|
<option name="SHOW_DIALOG" value="false" />
|
||||||
|
<option name="HIGHLIGHT_CONFLICTS" value="true" />
|
||||||
|
<option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" />
|
||||||
|
<option name="LAST_RESOLUTION" value="IGNORE" />
|
||||||
|
</component>
|
||||||
|
<component name="Git.Settings">
|
||||||
|
<option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$" />
|
||||||
|
</component>
|
||||||
|
<component name="GradleLocalSettings">
|
||||||
|
<option name="externalProjectsViewState">
|
||||||
|
<projects_view />
|
||||||
|
</option>
|
||||||
|
</component>
|
||||||
|
<component name="ProjectFrameBounds" extendedState="6">
|
||||||
|
<option name="x" value="604" />
|
||||||
|
<option name="width" value="1057" />
|
||||||
|
<option name="height" value="1004" />
|
||||||
|
</component>
|
||||||
|
<component name="ProjectView">
|
||||||
|
<navigator currentView="AndroidView" proportions="" version="1">
|
||||||
|
<flattenPackages />
|
||||||
|
<showMembers />
|
||||||
|
<showModules />
|
||||||
|
<showLibraryContents />
|
||||||
|
<hideEmptyPackages />
|
||||||
|
<abbreviatePackageNames />
|
||||||
|
<autoscrollToSource />
|
||||||
|
<autoscrollFromSource />
|
||||||
|
<sortByType />
|
||||||
|
<manualOrder />
|
||||||
|
<foldersAlwaysOnTop value="true" />
|
||||||
|
</navigator>
|
||||||
|
<panes>
|
||||||
|
<pane id="ProjectPane" />
|
||||||
|
<pane id="AndroidView">
|
||||||
|
<subPane>
|
||||||
|
<expand>
|
||||||
|
<path>
|
||||||
|
<item name="double-hit-balls" type="1abcf292:AndroidViewProjectNode" />
|
||||||
|
<item name="double-hit-balls" type="e9137016:NonAndroidModuleNode" />
|
||||||
|
</path>
|
||||||
|
</expand>
|
||||||
|
<select />
|
||||||
|
</subPane>
|
||||||
|
</pane>
|
||||||
|
<pane id="Scratches" />
|
||||||
|
<pane id="PackagesPane" />
|
||||||
|
<pane id="Scope" />
|
||||||
|
</panes>
|
||||||
|
</component>
|
||||||
|
<component name="PropertiesComponent">
|
||||||
|
<property name="android.sdk.path" value="$USER_HOME$/AppData/Local/Android/Sdk" />
|
||||||
|
<property name="settings.editor.selected.configurable" value="android.sdk-updates" />
|
||||||
|
<property name="last_opened_file_path" value="$PROJECT_DIR$" />
|
||||||
|
</component>
|
||||||
|
<component name="RunDashboard">
|
||||||
|
<option name="ruleStates">
|
||||||
|
<list>
|
||||||
|
<RuleState>
|
||||||
|
<option name="name" value="ConfigurationTypeDashboardGroupingRule" />
|
||||||
|
</RuleState>
|
||||||
|
<RuleState>
|
||||||
|
<option name="name" value="StatusDashboardGroupingRule" />
|
||||||
|
</RuleState>
|
||||||
|
</list>
|
||||||
|
</option>
|
||||||
|
</component>
|
||||||
|
<component name="RunManager">
|
||||||
|
<configuration default="true" type="AndroidJUnit" factoryName="Android JUnit">
|
||||||
|
<extension name="coverage" enabled="false" merge="false" sample_coverage="true" runner="idea" />
|
||||||
|
<module name="" />
|
||||||
|
<option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
|
||||||
|
<option name="ALTERNATIVE_JRE_PATH" />
|
||||||
|
<option name="PACKAGE_NAME" />
|
||||||
|
<option name="MAIN_CLASS_NAME" />
|
||||||
|
<option name="METHOD_NAME" />
|
||||||
|
<option name="TEST_OBJECT" value="class" />
|
||||||
|
<option name="VM_PARAMETERS" value="-ea" />
|
||||||
|
<option name="PARAMETERS" />
|
||||||
|
<option name="WORKING_DIRECTORY" value="$MODULE_DIR$" />
|
||||||
|
<option name="ENV_VARIABLES" />
|
||||||
|
<option name="PASS_PARENT_ENVS" value="true" />
|
||||||
|
<option name="TEST_SEARCH_SCOPE">
|
||||||
|
<value defaultName="singleModule" />
|
||||||
|
</option>
|
||||||
|
<envs />
|
||||||
|
<patterns />
|
||||||
|
</configuration>
|
||||||
|
<configuration default="true" type="Application" factoryName="Application">
|
||||||
|
<extension name="coverage" enabled="false" merge="false" sample_coverage="true" runner="idea" />
|
||||||
|
<option name="MAIN_CLASS_NAME" />
|
||||||
|
<option name="VM_PARAMETERS" />
|
||||||
|
<option name="PROGRAM_PARAMETERS" />
|
||||||
|
<option name="WORKING_DIRECTORY" value="$PROJECT_DIR$" />
|
||||||
|
<option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
|
||||||
|
<option name="ALTERNATIVE_JRE_PATH" />
|
||||||
|
<option name="ENABLE_SWING_INSPECTOR" value="false" />
|
||||||
|
<option name="ENV_VARIABLES" />
|
||||||
|
<option name="PASS_PARENT_ENVS" value="true" />
|
||||||
|
<module name="" />
|
||||||
|
<envs />
|
||||||
|
</configuration>
|
||||||
|
<configuration default="true" type="Remote" factoryName="Remote">
|
||||||
|
<option name="USE_SOCKET_TRANSPORT" value="true" />
|
||||||
|
<option name="SERVER_MODE" value="false" />
|
||||||
|
<option name="SHMEM_ADDRESS" value="javadebug" />
|
||||||
|
<option name="HOST" value="localhost" />
|
||||||
|
<option name="PORT" value="5005" />
|
||||||
|
</configuration>
|
||||||
|
<configuration default="true" type="TestNG" factoryName="TestNG">
|
||||||
|
<extension name="coverage" enabled="false" merge="false" sample_coverage="true" runner="idea" />
|
||||||
|
<module name="" />
|
||||||
|
<option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
|
||||||
|
<option name="ALTERNATIVE_JRE_PATH" />
|
||||||
|
<option name="SUITE_NAME" />
|
||||||
|
<option name="PACKAGE_NAME" />
|
||||||
|
<option name="MAIN_CLASS_NAME" />
|
||||||
|
<option name="METHOD_NAME" />
|
||||||
|
<option name="GROUP_NAME" />
|
||||||
|
<option name="TEST_OBJECT" value="CLASS" />
|
||||||
|
<option name="VM_PARAMETERS" value="-ea" />
|
||||||
|
<option name="PARAMETERS" />
|
||||||
|
<option name="WORKING_DIRECTORY" value="%MODULE_WORKING_DIR%" />
|
||||||
|
<option name="OUTPUT_DIRECTORY" />
|
||||||
|
<option name="ANNOTATION_TYPE" />
|
||||||
|
<option name="ENV_VARIABLES" />
|
||||||
|
<option name="PASS_PARENT_ENVS" value="true" />
|
||||||
|
<option name="TEST_SEARCH_SCOPE">
|
||||||
|
<value defaultName="singleModule" />
|
||||||
|
</option>
|
||||||
|
<option name="USE_DEFAULT_REPORTERS" value="false" />
|
||||||
|
<option name="PROPERTIES_FILE" />
|
||||||
|
<envs />
|
||||||
|
<properties />
|
||||||
|
<listeners />
|
||||||
|
</configuration>
|
||||||
|
<configuration name="<template>" type="Applet" default="true" selected="false">
|
||||||
|
<option name="MAIN_CLASS_NAME" />
|
||||||
|
<option name="HTML_FILE_NAME" />
|
||||||
|
<option name="HTML_USED" value="false" />
|
||||||
|
<option name="WIDTH" value="400" />
|
||||||
|
<option name="HEIGHT" value="300" />
|
||||||
|
<option name="POLICY_FILE" value="$APPLICATION_HOME_DIR$/bin/appletviewer.policy" />
|
||||||
|
<option name="VM_PARAMETERS" />
|
||||||
|
</configuration>
|
||||||
|
<configuration name="<template>" type="JUnit" default="true" selected="false">
|
||||||
|
<option name="MAIN_CLASS_NAME" />
|
||||||
|
<option name="VM_PARAMETERS" value="-ea" />
|
||||||
|
<option name="PARAMETERS" />
|
||||||
|
<option name="WORKING_DIRECTORY" value="%MODULE_WORKING_DIR%" />
|
||||||
|
</configuration>
|
||||||
|
<configuration name="<template>" type="#org.jetbrains.idea.devkit.run.PluginConfigurationType" default="true" selected="false">
|
||||||
|
<option name="VM_PARAMETERS" value="-Xmx512m -Xms256m -XX:MaxPermSize=250m -ea" />
|
||||||
|
</configuration>
|
||||||
|
</component>
|
||||||
|
<component name="ShelveChangesManager" show_recycled="false">
|
||||||
|
<option name="remove_strategy" value="false" />
|
||||||
|
</component>
|
||||||
|
<component name="SvnConfiguration">
|
||||||
|
<configuration />
|
||||||
|
</component>
|
||||||
|
<component name="TaskManager">
|
||||||
|
<task active="true" id="Default" summary="Default task">
|
||||||
|
<changelist id="34a09786-f26b-40ab-ab95-a13a014633b6" name="Default" comment="" />
|
||||||
|
<created>1531738153088</created>
|
||||||
|
<option name="number" value="Default" />
|
||||||
|
<option name="presentableId" value="Default" />
|
||||||
|
<updated>1531738153088</updated>
|
||||||
|
</task>
|
||||||
|
<servers />
|
||||||
|
</component>
|
||||||
|
<component name="ToolWindowManager">
|
||||||
|
<frame x="-9" y="-9" width="1938" height="1060" extended-state="6" />
|
||||||
|
<layout>
|
||||||
|
<window_info id="Android Profiler" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="false" weight="0.33" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
|
||||||
|
<window_info id="TODO" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="6" side_tool="false" content_ui="tabs" />
|
||||||
|
<window_info id="Palette	" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
|
||||||
|
<window_info id="Image Layers" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
|
||||||
|
<window_info id="Build Variants" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="2" side_tool="true" content_ui="tabs" />
|
||||||
|
<window_info id="Capture Analysis" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
|
||||||
|
<window_info id="Event Log" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.32919955" sideWeight="0.5" order="7" side_tool="true" content_ui="tabs" />
|
||||||
|
<window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
|
||||||
|
<window_info id="Version Control" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
|
||||||
|
<window_info id="Terminal" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
|
||||||
|
<window_info id="Logcat" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
|
||||||
|
<window_info id="Captures" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
|
||||||
|
<window_info id="Capture Tool" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
|
||||||
|
<window_info id="Designer" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
|
||||||
|
<window_info id="Project" active="true" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.25349087" sideWeight="0.5" order="0" side_tool="false" content_ui="combo" />
|
||||||
|
<window_info id="Structure" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
|
||||||
|
<window_info id="Device File Explorer" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="3" side_tool="true" content_ui="tabs" />
|
||||||
|
<window_info id="Theme Preview" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
|
||||||
|
<window_info id="Debug" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.4" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
|
||||||
|
<window_info id="Favorites" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="2" side_tool="true" content_ui="tabs" />
|
||||||
|
<window_info id="Cvs" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="4" side_tool="false" content_ui="tabs" />
|
||||||
|
<window_info id="Message" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" />
|
||||||
|
<window_info id="Commander" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.4" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" />
|
||||||
|
<window_info id="Hierarchy" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="2" side_tool="false" content_ui="combo" />
|
||||||
|
<window_info id="Ant Build" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
|
||||||
|
<window_info id="Inspection" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.4" sideWeight="0.5" order="5" side_tool="false" content_ui="tabs" />
|
||||||
|
<window_info id="Find" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
|
||||||
|
</layout>
|
||||||
|
</component>
|
||||||
|
<component name="VcsContentAnnotationSettings">
|
||||||
|
<option name="myLimit" value="2678400000" />
|
||||||
|
</component>
|
||||||
|
<component name="XDebuggerManager">
|
||||||
|
<breakpoint-manager />
|
||||||
|
<watches-manager />
|
||||||
|
</component>
|
||||||
|
</project>
|
BIN
assets/back_btn.png
Executable file
After Width: | Height: | Size: 6.6 KiB |
@ -4,7 +4,7 @@
|
|||||||
{
|
{
|
||||||
"preloading": 4,
|
"preloading": 4,
|
||||||
|
|
||||||
"texturePath": "textures/magic-star.png",
|
"texturePath": "",
|
||||||
"textureSize": [ 22.625, 12.5 ],
|
"textureSize": [ 22.625, 12.5 ],
|
||||||
|
|
||||||
"hasInertion": "false",
|
"hasInertion": "false",
|
||||||
@ -24,7 +24,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"t": 1,
|
"t": 1,
|
||||||
"value": 4
|
"value": 1
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
@ -90,7 +90,7 @@
|
|||||||
"maxParticles": 110,
|
"maxParticles": 110,
|
||||||
"preloading": 110,
|
"preloading": 110,
|
||||||
|
|
||||||
"texturePath": "textures/spark-white.png",
|
"texturePath": "",
|
||||||
"textureSize": [ 10, 10 ],
|
"textureSize": [ 10, 10 ],
|
||||||
|
|
||||||
"gravity": [0, -200, 0],
|
"gravity": [0, -200, 0],
|
||||||
@ -109,7 +109,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"t": 1,
|
"t": 1,
|
||||||
"value": 50
|
"value": 0
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
@ -159,6 +159,7 @@
|
|||||||
"color":
|
"color":
|
||||||
{
|
{
|
||||||
"interpolation": "LINEAR_SPLINE",
|
"interpolation": "LINEAR_SPLINE",
|
||||||
|
"matchDeathTime": "true",
|
||||||
"timeline":
|
"timeline":
|
||||||
[
|
[
|
||||||
{
|
{
|
||||||
@ -202,7 +203,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"t": 2.000,
|
"t": 2.000,
|
||||||
"value": 300
|
"value": 1
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
@ -251,6 +252,7 @@
|
|||||||
|
|
||||||
"color":
|
"color":
|
||||||
{
|
{
|
||||||
|
"matchDeathTime": "true",
|
||||||
"interpolation": "LINEAR_SPLINE",
|
"interpolation": "LINEAR_SPLINE",
|
||||||
"timeline":
|
"timeline":
|
||||||
[
|
[
|
||||||
@ -264,7 +266,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"t": 1.200,
|
"t": 1.200,
|
||||||
"value": [ 1, 0, 0, 0 ]
|
"value": [ 1, 0, 0, 1 ]
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
@ -1,52 +0,0 @@
|
|||||||
{
|
|
||||||
"widgets": [
|
|
||||||
{
|
|
||||||
"type": "FrameLayout",
|
|
||||||
"name": "gameFrame",
|
|
||||||
"background": "#00000000",
|
|
||||||
"width": "match_parent",
|
|
||||||
"height": "match_parent",
|
|
||||||
"visible": 1,
|
|
||||||
"touchTransparency": 1,
|
|
||||||
"marginTop": 20,
|
|
||||||
"horizontalAlignment": "HA_CENTER",
|
|
||||||
"verticalAlignment": "VA_TOP",
|
|
||||||
"children" : [
|
|
||||||
{
|
|
||||||
"type": "Button",
|
|
||||||
"name": "pauseButton",
|
|
||||||
"width": 128,
|
|
||||||
"height": 64,
|
|
||||||
"background": "back_btn.png"
|
|
||||||
}]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "VerticalLinearLayout",
|
|
||||||
"name": "buttonList",
|
|
||||||
"background": "#00000000",
|
|
||||||
"width": "match_parent",
|
|
||||||
"height": "match_parent",
|
|
||||||
"touchTransparency": 0,
|
|
||||||
"visible": 0,
|
|
||||||
"zLevel": 10,
|
|
||||||
"marginLeft" : 0,
|
|
||||||
"itemSpacing": 20,
|
|
||||||
"horizontalAlignment": "HA_LEFT",
|
|
||||||
"verticalAlignment": "VA_BOTTOM",
|
|
||||||
"children" : [
|
|
||||||
{
|
|
||||||
"type": "Button",
|
|
||||||
"name": "exitButton",
|
|
||||||
"width": 128,
|
|
||||||
"height": 128,
|
|
||||||
"background": "slide_up_btn.png"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "Button",
|
|
||||||
"name": "resumeButton",
|
|
||||||
"width": 128,
|
|
||||||
"height": 128,
|
|
||||||
"background": "tap_to_continue_btn.png"
|
|
||||||
}]
|
|
||||||
}]
|
|
||||||
}
|
|
@ -1,7 +1,7 @@
|
|||||||
precision mediump float;
|
precision mediump float;
|
||||||
|
|
||||||
varying vec2 texCoord;
|
in vec2 texCoord;
|
||||||
varying vec4 color;
|
flat in vec4 color;
|
||||||
|
|
||||||
uniform sampler2D Texture;
|
uniform sampler2D Texture;
|
||||||
|
|
||||||
|
@ -2,8 +2,8 @@ attribute vec3 vPosition;
|
|||||||
attribute vec2 vTexCoord;
|
attribute vec2 vTexCoord;
|
||||||
attribute vec4 vColor;
|
attribute vec4 vColor;
|
||||||
|
|
||||||
varying vec2 texCoord;
|
out vec2 texCoord;
|
||||||
varying vec4 color;
|
flat out vec4 color;
|
||||||
|
|
||||||
uniform mat4 ProjectionMatrix;
|
uniform mat4 ProjectionMatrix;
|
||||||
|
|
||||||
|
BIN
assets/slide_up_btn.png
Executable file
After Width: | Height: | Size: 9.4 KiB |
BIN
assets/tap_to_continue_btn.png
Executable file
After Width: | Height: | Size: 6.7 KiB |
Before Width: | Height: | Size: 16 KiB After Width: | Height: | Size: 6.6 KiB |
Before Width: | Height: | Size: 9.4 KiB |
Before Width: | Height: | Size: 8.2 KiB |
@ -16,7 +16,7 @@ JNIEXPORT void JNICALL Java_fishrungames_doublehitballs_JniWrapper_Init(JNIEnv *
|
|||||||
|
|
||||||
std::stringstream LoadFileFromAndroid(const std::string& fileName)
|
std::stringstream LoadFileFromAndroid(const std::string& fileName)
|
||||||
{
|
{
|
||||||
GetConsole() << "LoadFileFromAndroid called \n";
|
*Console << "LoadFileFromAndroid called \n";
|
||||||
|
|
||||||
JNIEnv* jEnv;
|
JNIEnv* jEnv;
|
||||||
localJavaVirtualMachine->GetEnv((void**)&jEnv, JNI_VERSION_1_4);
|
localJavaVirtualMachine->GetEnv((void**)&jEnv, JNI_VERSION_1_4);
|
||||||
@ -33,14 +33,14 @@ std::stringstream LoadFileFromAndroid(const std::string& fileName)
|
|||||||
std::stringstream ss;
|
std::stringstream ss;
|
||||||
ss << jEnv->GetStringUTFChars(jFileContent, &jCopy);
|
ss << jEnv->GetStringUTFChars(jFileContent, &jCopy);
|
||||||
|
|
||||||
GetConsole() << ss.str();
|
*Console << ss.str();
|
||||||
|
|
||||||
return ss;
|
return ss;
|
||||||
}
|
}
|
||||||
|
|
||||||
void SaveFileToAndroid(const std::string& fileName, const std::string& fileContent)
|
void SaveFileToAndroid(const std::string& fileName, const std::string& fileContent)
|
||||||
{
|
{
|
||||||
GetConsole() << "SaveFileToAndroid called \n";
|
*Console << "SaveFileToAndroid called \n";
|
||||||
|
|
||||||
JNIEnv* jEnv;
|
JNIEnv* jEnv;
|
||||||
localJavaVirtualMachine->GetEnv((void**)&jEnv, JNI_VERSION_1_4);
|
localJavaVirtualMachine->GetEnv((void**)&jEnv, JNI_VERSION_1_4);
|
||||||
|
@ -4,8 +4,6 @@
|
|||||||
#include <algorithm>
|
#include <algorithm>
|
||||||
#include <math.h>
|
#include <math.h>
|
||||||
|
|
||||||
std::shared_ptr<WidgetAncestor> modal_background = nullptr;
|
|
||||||
|
|
||||||
GalaxyMenu::GalaxyMenu()
|
GalaxyMenu::GalaxyMenu()
|
||||||
{
|
{
|
||||||
|
|
||||||
@ -201,7 +199,7 @@ float GalaxyMenu::val_clamp(float val, float min, float max) {
|
|||||||
return val;
|
return val;
|
||||||
}
|
}
|
||||||
|
|
||||||
void GalaxyMenu::DrawGalaxyMenu(bool drawStars) {
|
void GalaxyMenu::DrawGalaxyMenu() {
|
||||||
|
|
||||||
Renderer->PushOrthoProjection();
|
Renderer->PushOrthoProjection();
|
||||||
Renderer->PushMatrix();
|
Renderer->PushMatrix();
|
||||||
@ -221,34 +219,31 @@ void GalaxyMenu::DrawGalaxyMenu(bool drawStars) {
|
|||||||
)
|
)
|
||||||
); // DrawRect
|
); // DrawRect
|
||||||
|
|
||||||
if (drawStars)
|
/*..Draw stars..*/
|
||||||
{
|
Renderer->PushShader("HoverableButtonShader");
|
||||||
/*..Draw stars..*/
|
if (stars_params.size() >= i) {
|
||||||
Renderer->PushShader("HoverableButtonShader");
|
for (int j = 0; j < stars_params[i].size(); j++) {
|
||||||
if (stars_params.size() >= i) {
|
if (planetHoverIndex == j) {
|
||||||
for (int j = 0; j < stars_params[i].size(); j++) {
|
RenderUniform1i("Hover", 1);
|
||||||
if (planetHoverIndex == j) {
|
glBindTexture(GL_TEXTURE_2D, SE::ResourceManager->TexList[galaxies[i].Stars[j].textureName]);
|
||||||
RenderUniform1i("Hover", 1);
|
|
||||||
glBindTexture(GL_TEXTURE_2D, SE::ResourceManager->TexList[galaxies[i].Stars[j].textureName]);
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
RenderUniform1i("Hover", 0);
|
|
||||||
glBindTexture(GL_TEXTURE_2D, SE::ResourceManager->TexList[galaxies[i].Stars[j].textureName]);
|
|
||||||
}
|
|
||||||
SE::Renderer->DrawRect(
|
|
||||||
Eigen::Vector2f(
|
|
||||||
stars_params[i][j].first(0) - stars_params[i][j].second(0) / 2,
|
|
||||||
stars_params[i][j].first(1) - stars_params[i][j].second(1) / 2
|
|
||||||
),
|
|
||||||
Eigen::Vector2f(
|
|
||||||
stars_params[i][j].first(0) + stars_params[i][j].second(0) / 2,
|
|
||||||
stars_params[i][j].first(1) + stars_params[i][j].second(1) / 2
|
|
||||||
)
|
|
||||||
); // DrawRect
|
|
||||||
}
|
}
|
||||||
|
else {
|
||||||
|
RenderUniform1i("Hover", 0);
|
||||||
|
glBindTexture(GL_TEXTURE_2D, SE::ResourceManager->TexList[galaxies[i].Stars[j].textureName]);
|
||||||
|
}
|
||||||
|
SE::Renderer->DrawRect(
|
||||||
|
Eigen::Vector2f(
|
||||||
|
stars_params[i][j].first(0) - stars_params[i][j].second(0) / 2,
|
||||||
|
stars_params[i][j].first(1) - stars_params[i][j].second(1) / 2
|
||||||
|
),
|
||||||
|
Eigen::Vector2f(
|
||||||
|
stars_params[i][j].first(0) + stars_params[i][j].second(0) / 2,
|
||||||
|
stars_params[i][j].first(1) + stars_params[i][j].second(1) / 2
|
||||||
|
)
|
||||||
|
); // DrawRect
|
||||||
}
|
}
|
||||||
Renderer->PopShader();
|
|
||||||
}
|
}
|
||||||
|
Renderer->PopShader();
|
||||||
|
|
||||||
/*..Draw level selection menu..*/
|
/*..Draw level selection menu..*/
|
||||||
//drawSelectionMenu(starIndex);
|
//drawSelectionMenu(starIndex);
|
||||||
@ -260,28 +255,11 @@ void GalaxyMenu::DrawGalaxyMenu(bool drawStars) {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void GalaxyMenu::resetValuesOnGameStart()
|
|
||||||
{
|
|
||||||
modal_background = nullptr;
|
|
||||||
totalTapShift = { 0, 0 };
|
|
||||||
planetHoverIndex = -1;
|
|
||||||
timer_active = false;
|
|
||||||
}
|
|
||||||
|
|
||||||
void GalaxyMenu::InteractWithGalaxy(size_t dt) {
|
void GalaxyMenu::InteractWithGalaxy(size_t dt) {
|
||||||
|
|
||||||
if (!modal_background) modal_background = ResourceManager->newGuiManager.findWidgetByName("modal_background");
|
|
||||||
|
|
||||||
if (modal_background->visible)
|
|
||||||
{
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (timer_active) {
|
if (timer_active) {
|
||||||
// ::::::::::::: timer active ::::::::::::::
|
// ::::::::::::: timer active ::::::::::::::
|
||||||
//if (menuState == 0)
|
if (menuState == 0) { // main view
|
||||||
{ // main view
|
|
||||||
//if (currentTapShift(0) == 0.f && currentTapShift(1) == 0.f) {
|
//if (currentTapShift(0) == 0.f && currentTapShift(1) == 0.f) {
|
||||||
if (currentTapShift(0) == totalTapShift(0) && currentTapShift(1) == totalTapShift(1)) {
|
if (currentTapShift(0) == totalTapShift(0) && currentTapShift(1) == totalTapShift(1)) {
|
||||||
// OnTapDown->
|
// OnTapDown->
|
||||||
@ -334,13 +312,12 @@ void GalaxyMenu::InteractWithGalaxy(size_t dt) {
|
|||||||
else {
|
else {
|
||||||
// ::::::::::::: timer inactive ::::::::::::::
|
// ::::::::::::: timer inactive ::::::::::::::
|
||||||
if (lastTapPos != Eigen::Vector2f(-9999.9f, -9999.9f)) {
|
if (lastTapPos != Eigen::Vector2f(-9999.9f, -9999.9f)) {
|
||||||
//if (menuState == 0)
|
if (menuState == 0) {// main view
|
||||||
{// main view
|
|
||||||
|
|
||||||
// OnTapDown->OnTapUp
|
// OnTapDown->OnTapUp
|
||||||
|
|
||||||
/*..level select menu open..*/
|
/*..level select menu open..*/
|
||||||
starIndex = findPlanetByPos(lastTapPos - totalTapShift);
|
starIndex = findPlanetByPos(lastTapPos);
|
||||||
|
|
||||||
|
|
||||||
if (starIndex != -1) {
|
if (starIndex != -1) {
|
||||||
@ -348,6 +325,8 @@ void GalaxyMenu::InteractWithGalaxy(size_t dt) {
|
|||||||
Application->SetupGalaxyUi(starIndex);
|
Application->SetupGalaxyUi(starIndex);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
timer_active = false;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}/*
|
}/*
|
||||||
@ -405,7 +384,6 @@ void GalaxyMenu::InteractWithGalaxy(size_t dt) {
|
|||||||
lastTapPos = Eigen::Vector2f(-9999.9f, -9999.9f); // reset
|
lastTapPos = Eigen::Vector2f(-9999.9f, -9999.9f); // reset
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void GalaxyMenu::tapDown(Eigen::Vector2f pos) {
|
void GalaxyMenu::tapDown(Eigen::Vector2f pos) {
|
||||||
@ -423,7 +401,7 @@ void GalaxyMenu::tapUp(Eigen::Vector2f pos) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void GalaxyMenu::tapMove(Eigen::Vector2f shift) {
|
void GalaxyMenu::tapMove(Eigen::Vector2f shift) {
|
||||||
if (timer_active && modal_background && !modal_background->visible) {
|
if (timer_active) {
|
||||||
|
|
||||||
totalTapShift += shift;
|
totalTapShift += shift;
|
||||||
}
|
}
|
||||||
|
@ -25,7 +25,7 @@ public:
|
|||||||
|
|
||||||
// ======== Main Methods ========
|
// ======== Main Methods ========
|
||||||
bool InitGalaxyMenu(std::string config_json, float scale = 1.f);
|
bool InitGalaxyMenu(std::string config_json, float scale = 1.f);
|
||||||
void DrawGalaxyMenu(bool drawStars);
|
void DrawGalaxyMenu();
|
||||||
void UpdateGalaxyMenu(float s_width, float s_height, size_t dt);
|
void UpdateGalaxyMenu(float s_width, float s_height, size_t dt);
|
||||||
|
|
||||||
|
|
||||||
@ -41,7 +41,6 @@ public:
|
|||||||
float xDimension;
|
float xDimension;
|
||||||
float yDimension;
|
float yDimension;
|
||||||
float anchorSize = 1.f;
|
float anchorSize = 1.f;
|
||||||
int planetHoverIndex = -1;
|
|
||||||
std::vector<std::pair<Eigen::Vector2f, Eigen::Vector2f>> galaxies_params; // ::position/dimensions::
|
std::vector<std::pair<Eigen::Vector2f, Eigen::Vector2f>> galaxies_params; // ::position/dimensions::
|
||||||
std::vector<std::vector<std::pair<Eigen::Vector2f, Eigen::Vector2f>>> stars_params;
|
std::vector<std::vector<std::pair<Eigen::Vector2f, Eigen::Vector2f>>> stars_params;
|
||||||
|
|
||||||
@ -52,7 +51,6 @@ public:
|
|||||||
|
|
||||||
void setTimerActivity(bool value);
|
void setTimerActivity(bool value);
|
||||||
|
|
||||||
void resetValuesOnGameStart();
|
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
|
||||||
@ -71,13 +69,14 @@ private:
|
|||||||
int menuState = 0; // 0 - all galaxies are visible, 1 - zoomed to current galaxy(reserved) , 2 - level select menu
|
int menuState = 0; // 0 - all galaxies are visible, 1 - zoomed to current galaxy(reserved) , 2 - level select menu
|
||||||
int starIndex = -1;
|
int starIndex = -1;
|
||||||
int galaxyIndex = 0; // zoomed galaxy
|
int galaxyIndex = 0; // zoomed galaxy
|
||||||
|
int planetHoverIndex = -1;
|
||||||
|
|
||||||
/*..Interact params..*/
|
/*..Interact params..*/
|
||||||
bool timer_active = false;
|
bool timer_active = false;
|
||||||
float interact_timer = 0.f; // reset
|
float interact_timer = 0.f; // reset
|
||||||
Eigen::Vector2f lastTapPos = Eigen::Vector2f(-9999.9f, -9999.9f); // reset
|
Eigen::Vector2f lastTapPos = Eigen::Vector2f(-9999.9f, -9999.9f); // reset
|
||||||
Eigen::Vector2f currentTapShift = Eigen::Vector2f(0.f, 0.f); // reset
|
Eigen::Vector2f currentTapShift; // reset
|
||||||
Eigen::Vector2f totalTapShift = Eigen::Vector2f(0.f, 0.f); // reset
|
Eigen::Vector2f totalTapShift; // reset
|
||||||
|
|
||||||
/*..coefficients..*/
|
/*..coefficients..*/
|
||||||
Eigen::Vector2f menu_offset = Eigen::Vector2f(0, 0);
|
Eigen::Vector2f menu_offset = Eigen::Vector2f(0, 0);
|
||||||
|
@ -766,7 +766,7 @@ void TGameLevel::InitLevel(int screenWidth, int screenHeight)
|
|||||||
//float LEVEL_VIEWPORT_WIDTH = Application->GetGameLevelScreenWidth();
|
//float LEVEL_VIEWPORT_WIDTH = Application->GetGameLevelScreenWidth();
|
||||||
//float LEVEL_VIEWPORT_HEIGHT = Application->GetGameLevelScreenHeight();
|
//float LEVEL_VIEWPORT_HEIGHT = Application->GetGameLevelScreenHeight();
|
||||||
ReflectorPos = { 0.5f, 43.5 / Application->GetGameLevelScreenHeight() }; // Vector2f(screenWidth*0.5f, 16 * LEVEL_VIEWPORT_HEIGHT / 320.f + 13 * LEVEL_VIEWPORT_HEIGHT / 320.f);
|
ReflectorPos = { 0.5f, 43.5 / Application->GetGameLevelScreenHeight() }; // Vector2f(screenWidth*0.5f, 16 * LEVEL_VIEWPORT_HEIGHT / 320.f + 13 * LEVEL_VIEWPORT_HEIGHT / 320.f);
|
||||||
Vector2f ballPos = Vector2f(768*0.5f, 80* 480/320.f);
|
Vector2f ballPos = Vector2f(screenWidth*0.5f, 80* 480/320.f);
|
||||||
|
|
||||||
BallList.clear();
|
BallList.clear();
|
||||||
BallList.push_back(TBall(ballPos, Vector2f(0, 0), BallColor));
|
BallList.push_back(TBall(ballPos, Vector2f(0, 0), BallColor));
|
||||||
@ -845,9 +845,12 @@ void TGameLevel::Draw()
|
|||||||
InnerDraw(Renderer->GetScreenWidth(), Renderer->GetScreenHeight(), Renderer->GetMatrixWidth(), Renderer->GetMatrixHeight(), false);
|
InnerDraw(Renderer->GetScreenWidth(), Renderer->GetScreenHeight(), Renderer->GetMatrixWidth(), Renderer->GetMatrixHeight(), false);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void TGameLevel::InnerDraw(int screenWidth, int screenHeight, int matrixWidth, int matrixHeight, bool blackAndWhite)
|
void TGameLevel::InnerDraw(int screenWidth, int screenHeight, int matrixWidth, int matrixHeight, bool blackAndWhite)
|
||||||
{
|
{
|
||||||
|
|
||||||
|
Application->EffectsDraw();
|
||||||
|
return;
|
||||||
// Scaling math
|
// Scaling math
|
||||||
float tSW = Application->GetGameLevelScreenWidth(); // Screen Width
|
float tSW = Application->GetGameLevelScreenWidth(); // Screen Width
|
||||||
float tSH = Application->GetGameLevelScreenHeight(); // Screen Height
|
float tSH = Application->GetGameLevelScreenHeight(); // Screen Height
|
||||||
@ -910,14 +913,14 @@ void TGameLevel::InnerDraw(int screenWidth, int screenHeight, int matrixWidth, i
|
|||||||
//Renderer->TranslateMatrix(-Vector3f(matrixWidth * 0.5f, matrixHeight * 0.5f, 0));
|
//Renderer->TranslateMatrix(-Vector3f(matrixWidth * 0.5f, matrixHeight * 0.5f, 0));
|
||||||
DrawBuffer();
|
DrawBuffer();
|
||||||
|
|
||||||
//if (mustShowButtons)
|
if (mustShowButtons)
|
||||||
//{
|
{
|
||||||
// DrawPauseButtons();
|
DrawPauseButtons();
|
||||||
//}
|
}
|
||||||
//Renderer->PopMatrix();
|
//Renderer->PopMatrix();
|
||||||
CheckGlError();
|
CheckGlError();
|
||||||
|
|
||||||
//drawOutline(screenWidth, screenHeight);
|
drawOutline(screenWidth, screenHeight);
|
||||||
|
|
||||||
Renderer->PopMatrix();
|
Renderer->PopMatrix();
|
||||||
Renderer->PopProjectionMatrix();
|
Renderer->PopProjectionMatrix();
|
||||||
@ -959,10 +962,7 @@ void TGameLevel::InnerDraw(int screenWidth, int screenHeight, int matrixWidth, i
|
|||||||
// :::::::::::
|
// :::::::::::
|
||||||
glBindTexture(GL_TEXTURE_2D,ResourceManager->TexList[BkgTexture]);
|
glBindTexture(GL_TEXTURE_2D,ResourceManager->TexList[BkgTexture]);
|
||||||
//Renderer->DrawRect(Vector2f(xlOffset, ylOffset), Vector2f(xlOffset+tSW, ylOffset+tSH),Vector2f(0.f, 0.f), Vector2f(1.f, 1.f));
|
//Renderer->DrawRect(Vector2f(xlOffset, ylOffset), Vector2f(xlOffset+tSW, ylOffset+tSH),Vector2f(0.f, 0.f), Vector2f(1.f, 1.f));
|
||||||
|
Renderer->DrawRect(Vector2f(bkgSWO, bkgSHO), Vector2f(bkgSWO + bkgSW, bkgSHO + bkgSH), Vector2f(0.f, 0.f), Vector2f(1.f, 1.f));
|
||||||
float backgroundHorOffset = (xlOffset - bkgSWO) / screenWidth;
|
|
||||||
|
|
||||||
Renderer->DrawRect(Vector2f(xlOffset, bkgSHO), Vector2f(xlOffset + tSW, bkgSHO + bkgSH), Vector2f(backgroundHorOffset, 0.f), Vector2f(1.f - backgroundHorOffset, 1.f));
|
|
||||||
//Renderer->DrawRect(Vector2f(0,0), Vector2f(100,100), Vector2f(0.f, 0.f), Vector2f(1.f, 1.f));
|
//Renderer->DrawRect(Vector2f(0,0), Vector2f(100,100), Vector2f(0.f, 0.f), Vector2f(1.f, 1.f));
|
||||||
|
|
||||||
|
|
||||||
@ -976,7 +976,7 @@ void TGameLevel::InnerDraw(int screenWidth, int screenHeight, int matrixWidth, i
|
|||||||
float scale;
|
float scale;
|
||||||
if (screenRatioToFixedRatio > 1.f)
|
if (screenRatioToFixedRatio > 1.f)
|
||||||
{
|
{
|
||||||
offset[0] = (Renderer->GetScreenWidth() - screenWidth / screenRatioToFixedRatio) / 2.f;
|
offset[0] = (screenWidth - screenWidth / screenRatioToFixedRatio) / 2.f;
|
||||||
offset[1] = 0;
|
offset[1] = 0;
|
||||||
scale = matrixHeight / 480.f;
|
scale = matrixHeight / 480.f;
|
||||||
}
|
}
|
||||||
@ -1025,6 +1025,8 @@ void TGameLevel::InnerDraw(int screenWidth, int screenHeight, int matrixWidth, i
|
|||||||
|
|
||||||
DrawBallInstancingList(blackAndWhite);
|
DrawBallInstancingList(blackAndWhite);
|
||||||
|
|
||||||
|
Application->EffectsDraw();
|
||||||
|
|
||||||
Renderer->PopMatrix();
|
Renderer->PopMatrix();
|
||||||
|
|
||||||
|
|
||||||
@ -1035,19 +1037,17 @@ void TGameLevel::InnerDraw(int screenWidth, int screenHeight, int matrixWidth, i
|
|||||||
iBonus->Draw();
|
iBonus->Draw();
|
||||||
}
|
}
|
||||||
|
|
||||||
Application->EffectsDraw();
|
|
||||||
|
|
||||||
Renderer->PopShader();
|
Renderer->PopShader();
|
||||||
|
|
||||||
//float LEVEL_VIEWPORT_WIDTH = Application->GetGameLevelScreenWidth();
|
//float LEVEL_VIEWPORT_WIDTH = Application->GetGameLevelScreenWidth();
|
||||||
//float LEVEL_VIEWPORT_HEIGHT = Application->GetGameLevelScreenHeight();
|
//float LEVEL_VIEWPORT_HEIGHT = Application->GetGameLevelScreenHeight();
|
||||||
|
|
||||||
glBindTexture(GL_TEXTURE_2D,ResourceManager->TexList[CONST_REFLECTOR_TEXTURE]);
|
glBindTexture(GL_TEXTURE_2D,ResourceManager->TexList[CONST_REFLECTOR_TEXTURE]);
|
||||||
float xRW = 210.f; // x Reflector Width
|
float xRW = 210.f * tSW/700.f; // x Reflector Width
|
||||||
float yRH = 45.f; // y Reflector Height
|
float yRH = 45.f * tSH/480.f; // y Reflector Height
|
||||||
Vector2f matrixSize = ReflectorPos.cwiseProduct(Vector2f(768, 480));
|
Vector2f matrixSize = ReflectorPos.cwiseProduct(Vector2f(Application->GetGameLevelScreenWidth(), Application->GetGameLevelScreenHeight()));
|
||||||
Renderer->DrawRect(Vector2f(-xRW * 0.5f, -yRH * 0.5f) * scale + offset + matrixSize,
|
Renderer->DrawRect(Vector2f(-xRW * 0.5f, -yRH * 0.5f) + matrixSize + offset,
|
||||||
Vector2f(xRW*0.5f, yRH*0.5f) * scale + offset + matrixSize, Vector2f(0.f, 0.f), Vector2f(1.f, 1.f));
|
Vector2f(xRW*0.5f, yRH*0.5f) + matrixSize + offset, Vector2f(0.f, 0.f), Vector2f(1.f, 1.f));
|
||||||
|
|
||||||
const Vector2f wallUpPos1(xlOffset, tSH-ylOffset-uWTW);
|
const Vector2f wallUpPos1(xlOffset, tSH-ylOffset-uWTW);
|
||||||
const Vector2f wallUpPos2(tSW + xlOffset, tSH-ylOffset);
|
const Vector2f wallUpPos2(tSW + xlOffset, tSH-ylOffset);
|
||||||
@ -1081,15 +1081,15 @@ void TGameLevel::InnerDraw(int screenWidth, int screenHeight, int matrixWidth, i
|
|||||||
|
|
||||||
if (!pause && LevelState != CONST_LEVELSTATE_SNAPSHOTTING)
|
if (!pause && LevelState != CONST_LEVELSTATE_SNAPSHOTTING)
|
||||||
{
|
{
|
||||||
// RenderUniform1f("Transparency", 1.f);
|
RenderUniform1f("Transparency", 1.f);
|
||||||
// glBindTexture(GL_TEXTURE_2D,ResourceManager->TexList[CONST_BACK_BTN_TEXTURE]);
|
glBindTexture(GL_TEXTURE_2D,ResourceManager->TexList[CONST_BACK_BTN_TEXTURE]);
|
||||||
// const Vector2f BackBtnPos(screenWidth*0.5f, Application->GetGameLevelScreenHeight() - 52.f*(Application->GetGameLevelScreenHeight()/320.f));
|
const Vector2f BackBtnPos(screenWidth*0.5f, Application->GetGameLevelScreenHeight() - 52.f*(Application->GetGameLevelScreenHeight()/320.f));
|
||||||
//const float const_backBtnWidth = CONST_BACK_BTN_WIDTH * Application->GetGameLevelScreenWidth()/480.f;
|
const float const_backBtnWidth = CONST_BACK_BTN_WIDTH * Application->GetGameLevelScreenWidth()/480.f;
|
||||||
//const float const_backBtnHeight = CONST_BACK_BTN_HEIGHT * Application->GetGameLevelScreenHeight()/320.f;
|
const float const_backBtnHeight = CONST_BACK_BTN_HEIGHT * Application->GetGameLevelScreenHeight()/320.f;
|
||||||
// Renderer->DrawRect(Vector2f(-const_backBtnWidth*0.5f, -const_backBtnHeight*0.5f)+BackBtnPos, Vector2f(const_backBtnWidth*0.5f, const_backBtnHeight*0.5f)+BackBtnPos);
|
Renderer->DrawRect(Vector2f(-const_backBtnWidth*0.5f, -const_backBtnHeight*0.5f)+BackBtnPos, Vector2f(const_backBtnWidth*0.5f, const_backBtnHeight*0.5f)+BackBtnPos);
|
||||||
}
|
}
|
||||||
|
|
||||||
//drawOutline(screenWidth, screenHeight);
|
drawOutline(screenWidth, screenHeight);
|
||||||
|
|
||||||
|
|
||||||
if (pause && !renderBufferReady)
|
if (pause && !renderBufferReady)
|
||||||
@ -1106,19 +1106,13 @@ void TGameLevel::InnerDraw(int screenWidth, int screenHeight, int matrixWidth, i
|
|||||||
Renderer->ScaleMatrix(OutScale);
|
Renderer->ScaleMatrix(OutScale);
|
||||||
Renderer->TranslateMatrix(-Vector3f(matrixWidth * 0.5f, matrixHeight * 0.5f, 0));
|
Renderer->TranslateMatrix(-Vector3f(matrixWidth * 0.5f, matrixHeight * 0.5f, 0));
|
||||||
DrawBuffer();
|
DrawBuffer();
|
||||||
//if (mustShowButtons)
|
if (mustShowButtons)
|
||||||
//{
|
{
|
||||||
// DrawPauseButtons();
|
DrawPauseButtons();
|
||||||
//}
|
}
|
||||||
Renderer->PopMatrix();
|
Renderer->PopMatrix();
|
||||||
RenderBufferReady = true;
|
RenderBufferReady = true;
|
||||||
CheckGlError();
|
CheckGlError();
|
||||||
|
|
||||||
//Renderer->DrawRect(Vector2f(bkgSWO, bkgSHO), Vector2f(bkgSWO + bkgSW, bkgSHO + bkgSH), Vector2f(0.f, 0.f), Vector2f(1.f, 1.f));
|
|
||||||
//Renderer->DrawRect(Vector2f(xlOffset, bkgSHO), Vector2f(xlOffset + tSW, bkgSHO + bkgSH), Vector2f(0.f, 0.f), Vector2f(1.f, 1.f));
|
|
||||||
|
|
||||||
horOffset = xlOffset / screenWidth;
|
|
||||||
verOffset = bkgSH / screenHeight;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -1191,70 +1185,15 @@ void TGameLevel::DrawBuffer()
|
|||||||
RenderUniform1f("Brightness", brightness);
|
RenderUniform1f("Brightness", brightness);
|
||||||
glBindTexture(GL_TEXTURE_2D,ResourceManager->FrameManager.GetFrameTexture("LevelBuffer"));
|
glBindTexture(GL_TEXTURE_2D,ResourceManager->FrameManager.GetFrameTexture("LevelBuffer"));
|
||||||
|
|
||||||
float screenRatio = Renderer->GetMatrixWidth() / (float)Renderer->GetMatrixHeight();
|
|
||||||
float screenRatioToFixedRatio = screenRatio / 1.6f;
|
|
||||||
Vector2f offset;
|
|
||||||
float scale;
|
|
||||||
if (screenRatioToFixedRatio > 1.f)
|
|
||||||
{
|
|
||||||
offset[0] = (Renderer->GetMatrixWidth() - Renderer->GetMatrixWidth() / screenRatioToFixedRatio) / 2.f;
|
|
||||||
offset[1] = 0;
|
|
||||||
scale = Renderer->GetMatrixHeight() / 480.f;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
offset[0] = 0;
|
|
||||||
offset[1] = 0;// (screenHeight - screenHeight * screenRatioToFixedRatio) / 2.f;
|
|
||||||
scale = Renderer->GetMatrixWidth() / 768.f;
|
|
||||||
}
|
|
||||||
|
|
||||||
//Matrix switched to identity
|
//Matrix switched to identity
|
||||||
//Vector2f RectPos = Vector2f(-1, -1);
|
//Vector2f RectPos = Vector2f(-1, -1);
|
||||||
//Vector2f RectSize = Vector2f(2, 2);
|
//Vector2f RectSize = Vector2f(2, 2);
|
||||||
float x_levelScreenCenter = Renderer->GetScreenWidth()*0.5f;
|
float x_levelScreenCenter = Renderer->GetScreenWidth()*0.5f;
|
||||||
float y_levelScreenCenter = Renderer->GetScreenHeight()*0.5f;
|
float y_levelScreenCenter = Renderer->GetScreenHeight()*0.5f;
|
||||||
float x_levelScreenSize = x_levelScreenCenter - offset[0];
|
|
||||||
float y_levelScreenSize = y_levelScreenCenter - offset[1];
|
|
||||||
Vector2f RectPos = Vector2f(x_levelScreenCenter, y_levelScreenCenter);
|
Vector2f RectPos = Vector2f(x_levelScreenCenter, y_levelScreenCenter);
|
||||||
Vector2f RectSize = Vector2f(x_levelScreenSize, y_levelScreenSize);
|
Vector2f RectSize = Vector2f(x_levelScreenCenter, y_levelScreenCenter);
|
||||||
|
|
||||||
//Renderer->DrawRect(RectPos-RectSize, RectPos+RectSize);
|
Renderer->DrawRect(RectPos-RectSize, RectPos+RectSize);
|
||||||
|
|
||||||
// Scaling math
|
|
||||||
float tSW = Application->GetGameLevelScreenWidth(); // Screen Width
|
|
||||||
float tSH = Application->GetGameLevelScreenHeight(); // Screen Height
|
|
||||||
float xlOffset = (Renderer->GetScreenWidth() - tSW)*0.5f; // Level Screen x-offset
|
|
||||||
|
|
||||||
float ylOffset = 0.f;
|
|
||||||
float lrFBO = 4 * tSH / 320.f; // Left/Right Wall Textures offset from bottom
|
|
||||||
float uWTW = tSW * (static_cast<float>(ResourceManager->TexList.GetTextureOriginalHeight(CONST_WALL_UP_TEXTURE)) / static_cast<float>(ResourceManager->TexList.GetTextureOriginalWidth(CONST_WALL_UP_TEXTURE))); // up Wall Texture Width
|
|
||||||
float lWTW = (static_cast<float>(ResourceManager->TexList.GetTextureOriginalWidth(CONST_WALL_LEFT_TEXTURE)) / static_cast<float>(ResourceManager->TexList.GetTextureOriginalHeight(CONST_WALL_LEFT_TEXTURE))) * (tSH - uWTW - lrFBO); // left Wall Texture Width
|
|
||||||
float rWTW = lWTW; // right Wall Texture Width
|
|
||||||
float bWTO = (lWTW + rWTW) * 0.5f; // bonus Wall x-Offset
|
|
||||||
float bWTW = (tSW - bWTO) * (static_cast<float>(ResourceManager->TexList.GetTextureOriginalHeight(CONST_WALL_BONUS_TEXTURE)) / static_cast<float>(ResourceManager->TexList.GetTextureOriginalWidth(CONST_WALL_BONUS_TEXTURE))); // bonus Wall Texture Width
|
|
||||||
|
|
||||||
float bkgTW = (float)ResourceManager->TexList.GetTextureOriginalWidth(BkgTexture);
|
|
||||||
float bkgTH = (float)ResourceManager->TexList.GetTextureOriginalHeight(BkgTexture);
|
|
||||||
float bkgSW; // Background Secreen Width
|
|
||||||
float bkgSH; // Background Secreen Height
|
|
||||||
float bkgSWO; // Background Secreen Width Offset
|
|
||||||
float bkgSHO; // Background Secreen Height Offset
|
|
||||||
|
|
||||||
if ((bkgTW / bkgTH) >= 1.6f/*screen ratio*/) {
|
|
||||||
bkgSW = (tSH / bkgTH) * bkgTW;
|
|
||||||
bkgSH = tSH;
|
|
||||||
bkgSWO = (((float)Renderer->GetScreenWidth()) - bkgSW) * 0.5f;
|
|
||||||
bkgSHO = ylOffset;
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
bkgSH = (tSW / bkgTW) * bkgTH;
|
|
||||||
bkgSW = tSW;
|
|
||||||
bkgSWO = xlOffset;
|
|
||||||
bkgSHO = ylOffset;
|
|
||||||
}
|
|
||||||
|
|
||||||
//Renderer->DrawRect(Vector2f(bkgSWO, bkgSHO), Vector2f(bkgSWO + bkgSW, bkgSHO + bkgSH), Vector2f(horOffset, 0.f), Vector2f(1.f - horOffset, verOffset));
|
|
||||||
Renderer->DrawRect(Vector2f(xlOffset, bkgSHO), Vector2f(xlOffset + tSW, bkgSHO + bkgSH), Vector2f(horOffset, 0.f), Vector2f(1.f - horOffset, verOffset));
|
|
||||||
|
|
||||||
Renderer->PopShader();
|
Renderer->PopShader();
|
||||||
|
|
||||||
@ -1263,10 +1202,6 @@ void TGameLevel::DrawBuffer()
|
|||||||
|
|
||||||
void TGameLevel::SetPause()
|
void TGameLevel::SetPause()
|
||||||
{
|
{
|
||||||
if (LevelState == CONST_LEVELSTATE_STANDBY)
|
|
||||||
{
|
|
||||||
PrevLevelStateIsStandby = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
OutScaleVelocity = 0.f;
|
OutScaleVelocity = 0.f;
|
||||||
OutScale = 1.f;
|
OutScale = 1.f;
|
||||||
@ -1321,7 +1256,7 @@ void TGameLevel::Update(size_t dt)
|
|||||||
if (LevelState == CONST_LEVELSTATE_PAUSE)
|
if (LevelState == CONST_LEVELSTATE_PAUSE)
|
||||||
{
|
{
|
||||||
OutScale += OutScaleVelocity * dt;
|
OutScale += OutScaleVelocity * dt;
|
||||||
//TryGoToMenu();
|
TryGoToMenu();
|
||||||
CheckGlError();
|
CheckGlError();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@ -1890,22 +1825,44 @@ void TGameLevel::OnTapDown(Vector2f pos)
|
|||||||
float xPos = pos(0) - xOffset;
|
float xPos = pos(0) - xOffset;
|
||||||
float yPos = pos(1) - yOffset;
|
float yPos = pos(1) - yOffset;
|
||||||
|
|
||||||
|
Application->hitSpark("left", { xPos, yPos });
|
||||||
|
Application->fireworkEffect();
|
||||||
|
|
||||||
|
return;
|
||||||
|
|
||||||
if (LevelState == CONST_LEVELSTATE_STANDBY)
|
if (LevelState == CONST_LEVELSTATE_STANDBY)
|
||||||
{
|
{
|
||||||
LevelState = CONST_LEVELSTATE_PLAYING;
|
if (TapInBackBtnArea({ xPos, yPos }))
|
||||||
BallList.begin()->Go();
|
{
|
||||||
|
SetPause();
|
||||||
|
PrevLevelStateIsStandby = true;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
|
||||||
|
LevelState = CONST_LEVELSTATE_PLAYING;
|
||||||
|
BallList.begin()->Go();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else if (LevelState == CONST_LEVELSTATE_PLAYING)
|
else if (LevelState == CONST_LEVELSTATE_PLAYING)
|
||||||
{
|
{
|
||||||
ReflectorPos(0) = xPos / Application->GetGameLevelScreenWidth();
|
if (TapInBackBtnArea({ xPos, yPos }))
|
||||||
|
{
|
||||||
|
SetPause();
|
||||||
|
}
|
||||||
|
else// if (fabs(ReflectorPos(0) - xPos / Application->GetGameLevelScreenWidth()) > 64.f / Application->GetGameLevelScreenWidth())
|
||||||
|
{
|
||||||
|
ReflectorPos(0) = xPos / Application->GetGameLevelScreenWidth();
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
else if (LevelState == CONST_LEVELSTATE_PAUSE)
|
||||||
|
{
|
||||||
|
if (yPos > 128.f)
|
||||||
|
{
|
||||||
|
ReleasePause();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
//else if (LevelState == CONST_LEVELSTATE_PAUSE)
|
|
||||||
//{
|
|
||||||
// if (yPos > 128.f)
|
|
||||||
// {
|
|
||||||
// ReleasePause();
|
|
||||||
// }
|
|
||||||
//}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void TGameLevel::OnTapUp(Vector2f pos)
|
void TGameLevel::OnTapUp(Vector2f pos)
|
||||||
@ -1936,26 +1893,23 @@ void TGameLevel::OnScroll(Vector2f shift)
|
|||||||
|
|
||||||
OutScale += shift(1)/320.f;
|
OutScale += shift(1)/320.f;
|
||||||
|
|
||||||
//TryGoToMenu();
|
TryGoToMenu();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void TGameLevel::TryGoToMenu()
|
void TGameLevel::TryGoToMenu()
|
||||||
{
|
{
|
||||||
|
|
||||||
LevelState = CONST_LEVELSTATE_NODRAW;
|
if (OutScale < 0.5f)
|
||||||
Application->GoFromGameToMenu();
|
{
|
||||||
|
OutScale = 0.5f;
|
||||||
//if (OutScale < 0.5f)
|
LevelState = CONST_LEVELSTATE_NODRAW;
|
||||||
//{
|
Application->GoFromGameToMenu();
|
||||||
// OutScale = 0.5f;
|
}
|
||||||
// LevelState = CONST_LEVELSTATE_NODRAW;
|
if (OutScale > 1.f)
|
||||||
// Application->GoFromGameToMenu();
|
{
|
||||||
//}
|
OutScale = 1.f;
|
||||||
//if (OutScale > 1.f)
|
}
|
||||||
//{
|
|
||||||
// OutScale = 1.f;
|
|
||||||
//}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
bool TBrick::IsAppear() {
|
bool TBrick::IsAppear() {
|
||||||
|
@ -126,10 +126,6 @@ class TGameLevel : public TGameAreaAncestor
|
|||||||
protected:
|
protected:
|
||||||
float lvlWidth;
|
float lvlWidth;
|
||||||
float lvlHeight;
|
float lvlHeight;
|
||||||
|
|
||||||
float verOffset;
|
|
||||||
float horOffset;
|
|
||||||
|
|
||||||
std::string BkgTexture;
|
std::string BkgTexture;
|
||||||
//std::string LevelScreenTexture;
|
//std::string LevelScreenTexture;
|
||||||
std::string LevelFileName;
|
std::string LevelFileName;
|
||||||
|
@ -57,11 +57,6 @@ TMyApplication* Application;
|
|||||||
int currentStar;
|
int currentStar;
|
||||||
int currentLevel;
|
int currentLevel;
|
||||||
|
|
||||||
boost::property_tree::ptree gamePauseMenuUi;
|
|
||||||
boost::property_tree::ptree galaxyMenuUi;
|
|
||||||
|
|
||||||
bool ignoreTapUp = false;
|
|
||||||
|
|
||||||
void TMyApplication::LoadUserProgress()
|
void TMyApplication::LoadUserProgress()
|
||||||
{
|
{
|
||||||
boost::property_tree::ptree userProgressJson;
|
boost::property_tree::ptree userProgressJson;
|
||||||
@ -139,23 +134,6 @@ void TMyApplication::InnerChangeWidthHeight(int screenWidth, int screenHeight, f
|
|||||||
{
|
{
|
||||||
Menu.GalaxMenu.UpdateGalaxyMenu(matrixWidth, matrixHeight, 0);
|
Menu.GalaxMenu.UpdateGalaxyMenu(matrixWidth, matrixHeight, 0);
|
||||||
SetGameLevelScreenScale();
|
SetGameLevelScreenScale();
|
||||||
|
|
||||||
float screenRatio = Renderer->GetMatrixWidth() / (float)Renderer->GetMatrixHeight();
|
|
||||||
float screenRatioToFixedRatio = screenRatio / 1.6f;
|
|
||||||
float marginLeft;
|
|
||||||
if (screenRatioToFixedRatio > 1.f)
|
|
||||||
{
|
|
||||||
marginLeft = (Renderer->GetMatrixWidth() - Renderer->GetMatrixWidth() / screenRatioToFixedRatio) / 2.f;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
marginLeft = 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (GameState == CONST_GAMESTATE_LEVEL)
|
|
||||||
{
|
|
||||||
ResourceManager->newGuiManager.findWidgetByName("buttonList")->setMargin(0, 0, marginLeft, 0);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void TMyApplication::InnerInit()
|
void TMyApplication::InnerInit()
|
||||||
@ -179,69 +157,67 @@ void TMyApplication::InnerInit()
|
|||||||
ST::PathToResources = "";
|
ST::PathToResources = "";
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
LoadUserProgress();
|
||||||
|
|
||||||
GetConsole() <<"APP INIT\n";
|
GetConsole() <<"APP INIT\n";
|
||||||
|
|
||||||
srand (static_cast<size_t>(time(NULL)));
|
srand (static_cast<size_t>(time(NULL)));
|
||||||
GameState = CONST_GAMESTATE_PRELOADING;
|
GameState = CONST_GAMESTATE_PRELOADING;
|
||||||
Menu.SetGameState(GameState);
|
|
||||||
StateTimer = 0.f;
|
StateTimer = 0.f;
|
||||||
|
|
||||||
|
/*
|
||||||
|
ResourceManager->ShaderManager.AddShader("DefaultShader", "shader1vertex", "shader1fragment.txt");
|
||||||
|
ResourceManager->ShaderManager.AddShader("FrameShader", "frameshader_vertex.txt", "frameshader_fragment.txt");
|
||||||
|
ResourceManager->ShaderManager.AddShader("BrickShader", "brickshader_vertex.txt", "brickshader_fragment.txt");
|
||||||
|
Renderer->PushShader("DefaultShader");
|
||||||
|
*/
|
||||||
|
|
||||||
|
//ResourceManager->ShaderManager.AddShader("DefaultShader", "shaders/texture-shader.vertex", "shaders/texture-shader.fragment");
|
||||||
ResourceManager->ShaderManager.AddShader("DefaultShader", "shaders/gui_transparent.vertex", "shaders/gui_transparent.fragment");
|
ResourceManager->ShaderManager.AddShader("DefaultShader", "shaders/gui_transparent.vertex", "shaders/gui_transparent.fragment");
|
||||||
Renderer->PushShader("DefaultShader");
|
ResourceManager->ShaderManager.AddShader("HoverableButtonShader", "shaders/gui_transparent.vertex", "shaders/hoverable-button.fragment");
|
||||||
|
ResourceManager->ShaderManager.AddShader("BlackAndWhiteShader", "shaders/gui_transparent_blackandwhite.vertex", "shaders/gui_transparent_blackandwhite.fragment");
|
||||||
|
ResourceManager->ShaderManager.AddShader("ColorShader", "shaders/color-shader.vertex", "shaders/color-shader.fragment");
|
||||||
|
ResourceManager->ShaderManager.AddShader("FrameShader", "shaders/frameshader_vertex.txt", "shaders/frameshader_fragment.txt");
|
||||||
|
ResourceManager->ShaderManager.AddShader("BrickShader", "shaders/brickshader_vertex.txt", "shaders/brickshader_fragment.txt");
|
||||||
|
ResourceManager->ShaderManager.AddShader(ParticleEffect::PARTICLE_SHADER, "shaders/particle-shader.vertex", "shaders/particle-shader.fragment");
|
||||||
|
Renderer->PushShader("DefaultShader");
|
||||||
|
|
||||||
ResourceManager->TexList.AddTexture("console_bkg.bmp");
|
//ResourceManager->TexList.AddTexture(CONST_LOADING_BACKGROUND_BLACK + ".png", CONST_LOADING_BACKGROUND_BLACK);
|
||||||
ResourceManager->TexList.AddTexture("white.bmp");
|
//ResourceManager->TexList.AddTexture(CONST_LOADING_TEXTURE + ".png", CONST_LOADING_TEXTURE);
|
||||||
|
//ResourceManager->TexList.AddTexture(CONST_LOGO_SMALL_TEXTURE + ".png", CONST_LOGO_SMALL_TEXTURE);
|
||||||
|
|
||||||
ResourceManager->FontManager.AddFont("arial32", "arial32.png", "arial32.txt");
|
ResourceManager->TexList.AddTexture("console_bkg.bmp");
|
||||||
ResourceManager->FontManager.AddFont("lucon12", "lucon12.png", "lucon12.txt");
|
ResourceManager->TexList.AddTexture("white.bmp");
|
||||||
ResourceManager->FontManager.PushFont("lucon12");
|
|
||||||
|
|
||||||
Renderer->SetOrthoProjection();
|
|
||||||
|
|
||||||
Renderer->SetFullScreenViewport();
|
ResourceManager->FrameManager.AddFrameRenderBuffer("LevelBuffer", 256, 256);
|
||||||
|
|
||||||
ResourceManager->newGuiManager.LoadFromConfig("gui_loading.json");
|
//OnDrawSignal.connect(boost::bind(&TGameLoading::Draw, boost::ref(GameLoading)));
|
||||||
|
Inited = true;
|
||||||
|
|
||||||
skipUpdateToUpdateScreen = true;
|
Renderer->SetOrthoProjection();
|
||||||
StateTimer = 0.f;
|
|
||||||
}
|
|
||||||
|
|
||||||
void TMyApplication::InnerReinitGLResources()
|
Renderer->SetFullScreenViewport();
|
||||||
{
|
Application->SetGameLevelScreenScale();
|
||||||
RenderLevelSnapshots();
|
//GameLevel.SetLevelScale();
|
||||||
|
EffectsInit();
|
||||||
|
|
||||||
lsparkler.reinitGlResources();
|
// ------- UI -------
|
||||||
rsparkler.reinitGlResources();
|
ResourceManager->FontManager.AddFont("arial32", "arial32.png", "arial32.txt");
|
||||||
tsparkler.reinitGlResources();
|
ResourceManager->FontManager.AddFont("lucon12", "lucon12.png", "lucon12.txt");
|
||||||
bsparkler.reinitGlResources();
|
ResourceManager->FontManager.PushFont("lucon12");
|
||||||
lvlFirework.reinitGlResources();
|
//ResourceManager->newGuiManager.LoadFromConfig("gui_main_menu.json");
|
||||||
}
|
ResourceManager->newGuiManager.LoadFromConfig("gui_loading.json");
|
||||||
|
|
||||||
void TMyApplication::RenderLevelSnapshots()
|
// ------- UI -------
|
||||||
{
|
|
||||||
Renderer->SwitchToFrameBuffer("LevelBuffer");
|
|
||||||
|
|
||||||
Renderer->SetProjectionMatrix(768, 480);
|
// TESTS of menu
|
||||||
|
if (Menu.GalaxMenu.InitGalaxyMenu("levels/galaxy_ptree.json")) {
|
||||||
Renderer->LoadIdentity();
|
std::cout << "ok" << std::endl;
|
||||||
|
}
|
||||||
for (auto &star : Menu.GalaxMenu.galaxies[0].Stars)
|
else {
|
||||||
{
|
std::cout << "menu error" << std::endl;
|
||||||
for (auto level : star.selectionMenu.gameLevels)
|
}
|
||||||
{
|
|
||||||
level->DrawSnapshot("LevelBuffer", false);
|
|
||||||
|
|
||||||
Renderer->PushShader("BlackAndWhiteShader");
|
|
||||||
|
|
||||||
level->DrawSnapshot("LevelBuffer", true);
|
|
||||||
|
|
||||||
Renderer->PopShader();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
Renderer->SwitchToScreen();
|
|
||||||
|
|
||||||
Renderer->SetOrthoProjection();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void TMyApplication::InnerDeinit()
|
void TMyApplication::InnerDeinit()
|
||||||
@ -277,21 +253,11 @@ void TMyApplication::InnerDeinit()
|
|||||||
|
|
||||||
void TMyApplication::InnerOnTapUp(Vector2f p)
|
void TMyApplication::InnerOnTapUp(Vector2f p)
|
||||||
{
|
{
|
||||||
if (ignoreTapUp)
|
|
||||||
{
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
OnTapUpSignal(Vector2f(p(0), p(1)));
|
OnTapUpSignal(Vector2f(p(0), p(1)));
|
||||||
}
|
}
|
||||||
|
|
||||||
void TMyApplication::InnerOnTapUpAfterMove(Vector2f p)
|
void TMyApplication::InnerOnTapUpAfterMove(Vector2f p)
|
||||||
{
|
{
|
||||||
if (ignoreTapUp)
|
|
||||||
{
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
OnTapUpAfterMoveSignal(Vector2f(p(0), p(1)));
|
OnTapUpAfterMoveSignal(Vector2f(p(0), p(1)));
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -456,9 +422,9 @@ void TMyApplication::LoadResources()
|
|||||||
TextureNamesToLoad.push_back(std::pair<std::string, std::string>(CONST_WALL_UP_TEXTURE + ".png", CONST_WALL_UP_TEXTURE));
|
TextureNamesToLoad.push_back(std::pair<std::string, std::string>(CONST_WALL_UP_TEXTURE + ".png", CONST_WALL_UP_TEXTURE));
|
||||||
TextureNamesToLoad.push_back(std::pair<std::string, std::string>(CONST_WALL_BONUS_TEXTURE + ".png", CONST_WALL_BONUS_TEXTURE));
|
TextureNamesToLoad.push_back(std::pair<std::string, std::string>(CONST_WALL_BONUS_TEXTURE + ".png", CONST_WALL_BONUS_TEXTURE));
|
||||||
TextureNamesToLoad.push_back(std::pair<std::string, std::string>(CONST_REFLECTOR_TEXTURE + ".png", CONST_REFLECTOR_TEXTURE));
|
TextureNamesToLoad.push_back(std::pair<std::string, std::string>(CONST_REFLECTOR_TEXTURE + ".png", CONST_REFLECTOR_TEXTURE));
|
||||||
//TextureNamesToLoad.push_back(std::pair<std::string, std::string>(CONST_BACK_BTN_TEXTURE + ".png", CONST_BACK_BTN_TEXTURE));
|
TextureNamesToLoad.push_back(std::pair<std::string, std::string>(CONST_BACK_BTN_TEXTURE + ".png", CONST_BACK_BTN_TEXTURE));
|
||||||
//TextureNamesToLoad.push_back(std::pair<std::string, std::string>(CONST_SLIDE_UP_BTN_TEXTURE + ".png", CONST_SLIDE_UP_BTN_TEXTURE));
|
TextureNamesToLoad.push_back(std::pair<std::string, std::string>(CONST_SLIDE_UP_BTN_TEXTURE + ".png", CONST_SLIDE_UP_BTN_TEXTURE));
|
||||||
//TextureNamesToLoad.push_back(std::pair<std::string, std::string>(CONST_TAP_TO_CONTINUE_BTN_TEXTURE + ".png", CONST_TAP_TO_CONTINUE_BTN_TEXTURE));
|
TextureNamesToLoad.push_back(std::pair<std::string, std::string>(CONST_TAP_TO_CONTINUE_BTN_TEXTURE + ".png", CONST_TAP_TO_CONTINUE_BTN_TEXTURE));
|
||||||
TextureNamesToLoad.push_back(std::pair<std::string, std::string>(CONST_CREDITS_TEXTURE + ".png", CONST_CREDITS_TEXTURE));
|
TextureNamesToLoad.push_back(std::pair<std::string, std::string>(CONST_CREDITS_TEXTURE + ".png", CONST_CREDITS_TEXTURE));
|
||||||
|
|
||||||
#ifdef TARGET_IOS
|
#ifdef TARGET_IOS
|
||||||
@ -470,6 +436,8 @@ void TMyApplication::LoadResources()
|
|||||||
ResourceManager->FontManager.AddFont("droid_sans14", "droid_sans14_font_bitmap.png", "droid_sans14_font_charmap.txt");
|
ResourceManager->FontManager.AddFont("droid_sans14", "droid_sans14_font_bitmap.png", "droid_sans14_font_charmap.txt");
|
||||||
ResourceManager->FontManager.PushFont("droid_sans14");
|
ResourceManager->FontManager.PushFont("droid_sans14");
|
||||||
|
|
||||||
|
TryLoadSavedGame();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void TMyApplication::TryLoadSavedGame()
|
void TMyApplication::TryLoadSavedGame()
|
||||||
@ -530,49 +498,10 @@ void TMyApplication::InnerUpdate(size_t dt)
|
|||||||
StateTimer += dt/1000.f;
|
StateTimer += dt/1000.f;
|
||||||
if (StateTimer >= 1.f)
|
if (StateTimer >= 1.f)
|
||||||
{
|
{
|
||||||
StateTimer -= 1.f;
|
LoadResources();
|
||||||
|
GameState = CONST_GAMESTATE_LOADING;
|
||||||
|
StateTimer = 0.f;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (skipUpdateToUpdateScreen)
|
|
||||||
{
|
|
||||||
skipUpdateToUpdateScreen = false;
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
LoadUserProgress();
|
|
||||||
|
|
||||||
ResourceManager->ShaderManager.AddShader("HoverableButtonShader", "shaders/gui_transparent.vertex", "shaders/hoverable-button.fragment");
|
|
||||||
ResourceManager->ShaderManager.AddShader("BlackAndWhiteShader", "shaders/gui_transparent_blackandwhite.vertex", "shaders/gui_transparent_blackandwhite.fragment");
|
|
||||||
ResourceManager->ShaderManager.AddShader("ColorShader", "shaders/color-shader.vertex", "shaders/color-shader.fragment");
|
|
||||||
ResourceManager->ShaderManager.AddShader("FrameShader", "shaders/frameshader_vertex.txt", "shaders/frameshader_fragment.txt");
|
|
||||||
ResourceManager->ShaderManager.AddShader("BrickShader", "shaders/brickshader_vertex.txt", "shaders/brickshader_fragment.txt");
|
|
||||||
ResourceManager->ShaderManager.AddShader(ParticleEffect::PARTICLE_SHADER, "shaders/particle-shader.vertex", "shaders/particle-shader.fragment");
|
|
||||||
|
|
||||||
ResourceManager->FrameManager.AddFrameRenderBuffer("LevelBuffer", 256, 256);
|
|
||||||
|
|
||||||
//OnDrawSignal.connect(boost::bind(&TGameLoading::Draw, boost::ref(GameLoading)));
|
|
||||||
Inited = true;
|
|
||||||
Application->SetGameLevelScreenScale();
|
|
||||||
//GameLevel.SetLevelScale();
|
|
||||||
EffectsInit();
|
|
||||||
|
|
||||||
// ------- UI -------
|
|
||||||
|
|
||||||
gamePauseMenuUi = SE::ReadJsonFile(ST::PathToResources + "gui_game_pause_menu.json");
|
|
||||||
galaxyMenuUi = SE::ReadJsonFile(ST::PathToResources + "gui_main_menu.json");
|
|
||||||
|
|
||||||
// TESTS of menu
|
|
||||||
if (Menu.GalaxMenu.InitGalaxyMenu("levels/galaxy_ptree.json")) {
|
|
||||||
std::cout << "ok" << std::endl;
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
std::cout << "menu error" << std::endl;
|
|
||||||
}
|
|
||||||
|
|
||||||
LoadResources();
|
|
||||||
|
|
||||||
GameState = CONST_GAMESTATE_LOADING;
|
|
||||||
Menu.SetGameState(GameState);
|
|
||||||
}
|
}
|
||||||
else if (GameState == CONST_GAMESTATE_LOADING)
|
else if (GameState == CONST_GAMESTATE_LOADING)
|
||||||
{
|
{
|
||||||
@ -592,32 +521,29 @@ void TMyApplication::InnerUpdate(size_t dt)
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|
||||||
// Renderer->SwitchToFrameBuffer("LevelBuffer");
|
Renderer->SwitchToFrameBuffer("LevelBuffer");
|
||||||
//
|
|
||||||
// Renderer->LoadIdentity();
|
|
||||||
//
|
|
||||||
// for (auto &star : Menu.GalaxMenu.galaxies[0].Stars)
|
|
||||||
// {
|
|
||||||
// for (auto level : star.selectionMenu.gameLevels)
|
|
||||||
// {
|
|
||||||
// level->DrawSnapshot("LevelBuffer", false);
|
|
||||||
//
|
|
||||||
// Renderer->PushShader("BlackAndWhiteShader");
|
|
||||||
//
|
|
||||||
// level->DrawSnapshot("LevelBuffer", true);
|
|
||||||
//
|
|
||||||
// Renderer->PopShader();
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// Renderer->SwitchToScreen();
|
|
||||||
//
|
|
||||||
// Renderer->SetOrthoProjection();
|
|
||||||
|
|
||||||
RenderLevelSnapshots();
|
Renderer->LoadIdentity();
|
||||||
|
|
||||||
|
for (auto &star : Menu.GalaxMenu.galaxies[0].Stars)
|
||||||
|
{
|
||||||
|
for (auto level : star.selectionMenu.gameLevels)
|
||||||
|
{
|
||||||
|
level->DrawSnapshot("LevelBuffer", false);
|
||||||
|
|
||||||
|
Renderer->PushShader("BlackAndWhiteShader");
|
||||||
|
|
||||||
|
level->DrawSnapshot("LevelBuffer", true);
|
||||||
|
|
||||||
|
Renderer->PopShader();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Renderer->SwitchToScreen();
|
||||||
|
|
||||||
|
Renderer->SetOrthoProjection();
|
||||||
|
|
||||||
GameState = CONST_GAMESTATE_MENU;
|
GameState = CONST_GAMESTATE_MENU;
|
||||||
Menu.SetGameState(GameState);
|
|
||||||
ApplySignalsToMenu();
|
ApplySignalsToMenu();
|
||||||
|
|
||||||
LoadGalaxyUi();
|
LoadGalaxyUi();
|
||||||
@ -647,54 +573,10 @@ void TMyApplication::InnerUpdate(size_t dt)
|
|||||||
{
|
{
|
||||||
//*SE::Console << "5CONST_GAMESTATE_FROM_MENU_TO_LEVEL";
|
//*SE::Console << "5CONST_GAMESTATE_FROM_MENU_TO_LEVEL";
|
||||||
GameState = CONST_GAMESTATE_LEVEL;
|
GameState = CONST_GAMESTATE_LEVEL;
|
||||||
Menu.SetGameState(GameState);
|
OnDrawSignal.disconnect(boost::bind(&TGameMenu::Draw, boost::ref(Menu)));
|
||||||
//OnDrawSignal.disconnect(boost::bind(&TGameMenu::Draw, boost::ref(Menu)));
|
|
||||||
//CONNECT SLOT
|
//CONNECT SLOT
|
||||||
DisapplySignalsToMenu();
|
DisapplySignalsToMenu();
|
||||||
ApplySignalsToGame();
|
ApplySignalsToGame();
|
||||||
|
|
||||||
ResourceManager->newGuiManager.LoadFromConfig(gamePauseMenuUi);
|
|
||||||
|
|
||||||
auto pauseButton = (Button*)ResourceManager->newGuiManager.findWidgetByName("pauseButton").get();
|
|
||||||
auto resumeButton = (Button*)ResourceManager->newGuiManager.findWidgetByName("resumeButton").get();
|
|
||||||
auto exitButton = (Button*)ResourceManager->newGuiManager.findWidgetByName("exitButton").get();
|
|
||||||
auto gameFrame = (WidgetAncestor*)ResourceManager->newGuiManager.findWidgetByName("gameFrame").get();
|
|
||||||
auto pauseBackground = (WidgetAncestor*)ResourceManager->newGuiManager.findWidgetByName("buttonList").get();
|
|
||||||
|
|
||||||
float screenRatio = Renderer->GetMatrixWidth() / (float)Renderer->GetMatrixHeight();
|
|
||||||
float screenRatioToFixedRatio = screenRatio / 1.6f;
|
|
||||||
float marginLeft;
|
|
||||||
if (screenRatioToFixedRatio > 1.f)
|
|
||||||
{
|
|
||||||
marginLeft = (Renderer->GetMatrixWidth() - Renderer->GetMatrixWidth() / screenRatioToFixedRatio) / 2.f;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
marginLeft = 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
pauseBackground->setMargin(0, 0, marginLeft, 0);
|
|
||||||
|
|
||||||
pauseButton->onMouseDownSignal.connect([this, gameFrame, pauseBackground](Vector2f, int) {
|
|
||||||
GameLevel->SetPause();
|
|
||||||
|
|
||||||
gameFrame->setVisibility(false);
|
|
||||||
pauseBackground->setVisibility(true);
|
|
||||||
});
|
|
||||||
|
|
||||||
resumeButton->onMouseDownSignal.connect([this, gameFrame, pauseBackground](Vector2f, int) {
|
|
||||||
GameLevel->ReleasePause();
|
|
||||||
|
|
||||||
gameFrame->setVisibility(true);
|
|
||||||
pauseBackground->setVisibility(false);
|
|
||||||
});
|
|
||||||
|
|
||||||
pauseBackground->onMoveSignal.connect([this](Vector2f, Vector2f shift, int) {
|
|
||||||
if (shift.norm() > 15)
|
|
||||||
{
|
|
||||||
GameLevel->TryGoToMenu();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (GameState == CONST_GAMESTATE_FROM_MENU_TO_CREDITS)
|
else if (GameState == CONST_GAMESTATE_FROM_MENU_TO_CREDITS)
|
||||||
@ -705,7 +587,6 @@ void TMyApplication::InnerUpdate(size_t dt)
|
|||||||
if (StateTimer <= 0.f)
|
if (StateTimer <= 0.f)
|
||||||
{
|
{
|
||||||
GameState = CONST_GAMESTATE_CREDITS;
|
GameState = CONST_GAMESTATE_CREDITS;
|
||||||
Menu.SetGameState(GameState);
|
|
||||||
OnDrawSignal.disconnect(boost::bind(&TGameMenu::Draw, boost::ref(Menu)));
|
OnDrawSignal.disconnect(boost::bind(&TGameMenu::Draw, boost::ref(Menu)));
|
||||||
ApplySignalsToCredits();
|
ApplySignalsToCredits();
|
||||||
StateTimer = 0.f;
|
StateTimer = 0.f;
|
||||||
@ -735,7 +616,7 @@ void TMyApplication::InnerUpdate(size_t dt)
|
|||||||
void TMyApplication::LoadGalaxyUi()
|
void TMyApplication::LoadGalaxyUi()
|
||||||
{
|
{
|
||||||
ResourceManager->newGuiManager.Clear();
|
ResourceManager->newGuiManager.Clear();
|
||||||
ResourceManager->newGuiManager.LoadFromConfig(galaxyMenuUi);
|
ResourceManager->newGuiManager.LoadFromConfig("gui_main_menu.json");
|
||||||
|
|
||||||
std::shared_ptr<WidgetAncestor> modal_background = ResourceManager->newGuiManager.findWidgetByName("modal_background");
|
std::shared_ptr<WidgetAncestor> modal_background = ResourceManager->newGuiManager.findWidgetByName("modal_background");
|
||||||
|
|
||||||
@ -743,7 +624,6 @@ void TMyApplication::LoadGalaxyUi()
|
|||||||
[modal_background, this](Vector2f v, int i) {
|
[modal_background, this](Vector2f v, int i) {
|
||||||
PerformInMainThreadAsync([modal_background, this]() {
|
PerformInMainThreadAsync([modal_background, this]() {
|
||||||
modal_background->setVisibility(false);
|
modal_background->setVisibility(false);
|
||||||
Menu.GalaxMenu.planetHoverIndex = -1;
|
|
||||||
Menu.GalaxMenu.setTimerActivity(false);
|
Menu.GalaxMenu.setTimerActivity(false);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
@ -825,7 +705,6 @@ void TMyApplication::SetupGalaxyUi(size_t levelStar)
|
|||||||
[this, modal_background, levelStar, levelIndex](Vector2f v, int i) {
|
[this, modal_background, levelStar, levelIndex](Vector2f v, int i) {
|
||||||
PerformInMainThreadAsync([this, modal_background, levelStar, levelIndex]() {
|
PerformInMainThreadAsync([this, modal_background, levelStar, levelIndex]() {
|
||||||
modal_background->setVisibility(false);
|
modal_background->setVisibility(false);
|
||||||
Menu.GalaxMenu.planetHoverIndex = -1;
|
|
||||||
|
|
||||||
std::shared_ptr<TGameLevel> lvl = this->Menu.GalaxMenu.galaxies[0].Stars[levelStar].selectionMenu.gameLevels[levelIndex];
|
std::shared_ptr<TGameLevel> lvl = this->Menu.GalaxMenu.galaxies[0].Stars[levelStar].selectionMenu.gameLevels[levelIndex];
|
||||||
lvl->ReloadLevel();
|
lvl->ReloadLevel();
|
||||||
@ -866,11 +745,8 @@ void TMyApplication::GoFromMenuToGame(std::shared_ptr<TGameLevel> level)
|
|||||||
GameLevel = level;
|
GameLevel = level;
|
||||||
GameLevel->SetLoading();
|
GameLevel->SetLoading();
|
||||||
GameState = CONST_GAMESTATE_FROM_MENU_TO_LEVEL;
|
GameState = CONST_GAMESTATE_FROM_MENU_TO_LEVEL;
|
||||||
Menu.SetGameState(GameState);
|
|
||||||
OnDrawSignal.connect(1, boost::bind(&TGameLevel::Draw, boost::ref(*GameLevel)));
|
OnDrawSignal.connect(1, boost::bind(&TGameLevel::Draw, boost::ref(*GameLevel)));
|
||||||
|
|
||||||
Menu.GalaxMenu.resetValuesOnGameStart();
|
|
||||||
|
|
||||||
DisapplySignalsToMenu();
|
DisapplySignalsToMenu();
|
||||||
|
|
||||||
}
|
}
|
||||||
@ -880,28 +756,16 @@ void TMyApplication::GoFromGameToMenu()
|
|||||||
//#ifndef TARGET_IOS
|
//#ifndef TARGET_IOS
|
||||||
// ResourceManager->SoundManager.StopMusic("level1ogg.ogg");
|
// ResourceManager->SoundManager.StopMusic("level1ogg.ogg");
|
||||||
//#endif
|
//#endif
|
||||||
|
TrySaveGame();
|
||||||
PerformInMainThreadAsync([this]() {
|
DisapplySignalsToGame();
|
||||||
TrySaveGame();
|
ApplySignalsToMenu();
|
||||||
DisapplySignalsToGame();
|
GameState = CONST_GAMESTATE_MENU;
|
||||||
|
OnDrawSignal.disconnect(boost::bind(&TGameLevel::Draw, boost::ref(GameLevel)));
|
||||||
//ignoreTapUp = true;
|
|
||||||
|
|
||||||
LoadGalaxyUi();
|
|
||||||
|
|
||||||
Menu.GalaxMenu.UpdateGalaxyMenu(Renderer->GetMatrixWidth(), Renderer->GetMatrixHeight(), 0);
|
|
||||||
|
|
||||||
ApplySignalsToMenu();
|
|
||||||
GameState = CONST_GAMESTATE_MENU;
|
|
||||||
Menu.SetGameState(GameState);
|
|
||||||
OnDrawSignal.disconnect(boost::bind(&TGameLevel::Draw, boost::ref(GameLevel)));
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void TMyApplication::GoFromMenuToCredits()
|
void TMyApplication::GoFromMenuToCredits()
|
||||||
{
|
{
|
||||||
GameState = CONST_GAMESTATE_FROM_MENU_TO_CREDITS;
|
GameState = CONST_GAMESTATE_FROM_MENU_TO_CREDITS;
|
||||||
Menu.SetGameState(GameState);
|
|
||||||
StateTimer = CONST_CREDITS_SHOW_TIME;
|
StateTimer = CONST_CREDITS_SHOW_TIME;
|
||||||
GameCredits.StartAppear();
|
GameCredits.StartAppear();
|
||||||
OnDrawSignal.connect(1, boost::bind(&TGameCredits::Draw, boost::ref(GameCredits)));
|
OnDrawSignal.connect(1, boost::bind(&TGameCredits::Draw, boost::ref(GameCredits)));
|
||||||
@ -913,7 +777,6 @@ void TMyApplication::GoFromCreditsToMenu()
|
|||||||
{
|
{
|
||||||
|
|
||||||
GameState = CONST_GAMESTATE_FROM_CREDITS_TO_MENU;
|
GameState = CONST_GAMESTATE_FROM_CREDITS_TO_MENU;
|
||||||
Menu.SetGameState(GameState);
|
|
||||||
StateTimer = CONST_CREDITS_SHOW_TIME;
|
StateTimer = CONST_CREDITS_SHOW_TIME;
|
||||||
GameCredits.StartDisappear();
|
GameCredits.StartDisappear();
|
||||||
OnDrawSignal.connect(0, boost::bind(&TGameMenu::Draw, boost::ref(Menu)));
|
OnDrawSignal.connect(0, boost::bind(&TGameMenu::Draw, boost::ref(Menu)));
|
||||||
@ -923,12 +786,12 @@ void TMyApplication::GoFromCreditsToMenu()
|
|||||||
|
|
||||||
void TMyApplication::MarkSetGameLevelPause()
|
void TMyApplication::MarkSetGameLevelPause()
|
||||||
{
|
{
|
||||||
//OnDrawSignal.connect(0, boost::bind(&TGameMenu::Draw, boost::ref(Menu)));
|
OnDrawSignal.connect(0, boost::bind(&TGameMenu::Draw, boost::ref(Menu)));
|
||||||
}
|
}
|
||||||
|
|
||||||
void TMyApplication::MarkReleaseGameLevelPause()
|
void TMyApplication::MarkReleaseGameLevelPause()
|
||||||
{
|
{
|
||||||
//OnDrawSignal.disconnect(boost::bind(&TGameMenu::Draw, boost::ref(Menu)));
|
OnDrawSignal.disconnect(boost::bind(&TGameMenu::Draw, boost::ref(Menu)));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -972,8 +835,6 @@ float TMyApplication::GetGameLevelScreenHeight()
|
|||||||
|
|
||||||
void TMyApplication::InnerOnMouseDown(TMouseState& mouseState) {
|
void TMyApplication::InnerOnMouseDown(TMouseState& mouseState) {
|
||||||
|
|
||||||
ignoreTapUp = false;
|
|
||||||
|
|
||||||
OnTapDownSignal(Vector2f(mouseState.X, ((Renderer->GetScreenHeight()) - mouseState.Y))); // Temp mouse down action for WIN32
|
OnTapDownSignal(Vector2f(mouseState.X, ((Renderer->GetScreenHeight()) - mouseState.Y))); // Temp mouse down action for WIN32
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -994,26 +855,26 @@ void TMyApplication::EffectsInit() {
|
|||||||
std::string effectJSON;
|
std::string effectJSON;
|
||||||
|
|
||||||
// LEFT
|
// LEFT
|
||||||
effectJSON = JSONconfig.get<std::string>("lefteffect");
|
//effectJSON = JSONconfig.get<std::string>("lefteffect");
|
||||||
//boost::property_tree::json_parser::read_json(ST::PathToResources + effectJSON, JSONsource);
|
////boost::property_tree::json_parser::read_json(ST::PathToResources + effectJSON, JSONsource);
|
||||||
JSONsource = SE::ReadJsonFile(ST::PathToResources + effectJSON);
|
// JSONsource = SE::ReadJsonFile(ST::PathToResources + effectJSON);
|
||||||
lsparkler.parse(JSONsource); // parse JSON
|
//lsparkler.parse(JSONsource); // parse JSON
|
||||||
lsparkler.load(); // load textures
|
//lsparkler.load(); // load textures
|
||||||
// RIGHT
|
//// RIGHT
|
||||||
effectJSON = JSONconfig.get<std::string>("righteffect");
|
//effectJSON = JSONconfig.get<std::string>("righteffect");
|
||||||
JSONsource = SE::ReadJsonFile(ST::PathToResources + effectJSON);
|
// JSONsource = SE::ReadJsonFile(ST::PathToResources + effectJSON);
|
||||||
rsparkler.parse(JSONsource);
|
//rsparkler.parse(JSONsource);
|
||||||
rsparkler.load();
|
//rsparkler.load();
|
||||||
// TOP
|
//// TOP
|
||||||
effectJSON = JSONconfig.get<std::string>("topeffect");
|
//effectJSON = JSONconfig.get<std::string>("topeffect");
|
||||||
JSONsource = SE::ReadJsonFile(ST::PathToResources + effectJSON);
|
// JSONsource = SE::ReadJsonFile(ST::PathToResources + effectJSON);
|
||||||
tsparkler.parse(JSONsource);
|
//tsparkler.parse(JSONsource);
|
||||||
tsparkler.load();
|
//tsparkler.load();
|
||||||
// BOTTOM
|
//// BOTTOM
|
||||||
effectJSON = JSONconfig.get<std::string>("boteffect");
|
//effectJSON = JSONconfig.get<std::string>("boteffect");
|
||||||
JSONsource = SE::ReadJsonFile(ST::PathToResources + effectJSON);
|
// JSONsource = SE::ReadJsonFile(ST::PathToResources + effectJSON);
|
||||||
bsparkler.parse(JSONsource);
|
//bsparkler.parse(JSONsource);
|
||||||
bsparkler.load();
|
//bsparkler.load();
|
||||||
// Level finish
|
// Level finish
|
||||||
effectJSON = JSONconfig.get<std::string>("lvlFinish");
|
effectJSON = JSONconfig.get<std::string>("lvlFinish");
|
||||||
JSONsource = SE::ReadJsonFile(ST::PathToResources + effectJSON);
|
JSONsource = SE::ReadJsonFile(ST::PathToResources + effectJSON);
|
||||||
@ -1031,10 +892,10 @@ void TMyApplication::EffectsInit() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void TMyApplication::EffectsUpdate(size_t dt) {
|
void TMyApplication::EffectsUpdate(size_t dt) {
|
||||||
lsparkler.update(dt / 1000.f);
|
//lsparkler.update(dt / 1000.f);
|
||||||
rsparkler.update(dt / 1000.f);
|
//rsparkler.update(dt / 1000.f);
|
||||||
tsparkler.update(dt / 1000.f);
|
//tsparkler.update(dt / 1000.f);
|
||||||
bsparkler.update(dt / 1000.f);
|
//bsparkler.update(dt / 1000.f);
|
||||||
lvlFirework.update(dt / 1000.f);
|
lvlFirework.update(dt / 1000.f);
|
||||||
}
|
}
|
||||||
void TMyApplication::EffectsDraw() {
|
void TMyApplication::EffectsDraw() {
|
||||||
@ -1060,23 +921,21 @@ void TMyApplication::EffectsDraw() {
|
|||||||
Renderer->TranslateMatrix(Vector3f(offset[0], offset[1], 0));
|
Renderer->TranslateMatrix(Vector3f(offset[0], offset[1], 0));
|
||||||
Renderer->ScaleMatrix(scale);
|
Renderer->ScaleMatrix(scale);
|
||||||
|
|
||||||
//glPushAttrib(GL_ALL_ATTRIB_BITS);
|
glPushAttrib(GL_ALL_ATTRIB_BITS);
|
||||||
|
|
||||||
glDisable(GL_DEPTH_TEST);
|
glDisable(GL_DEPTH_TEST);
|
||||||
glEnable(GL_BLEND);
|
glEnable(GL_BLEND);
|
||||||
|
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
|
||||||
|
|
||||||
lsparkler.draw();
|
//lsparkler.draw();
|
||||||
rsparkler.draw();
|
//rsparkler.draw();
|
||||||
tsparkler.draw();
|
//tsparkler.draw();
|
||||||
bsparkler.draw();
|
//bsparkler.draw();
|
||||||
lvlFirework.draw();
|
lvlFirework.draw();
|
||||||
|
|
||||||
glEnable(GL_DEPTH_TEST);
|
|
||||||
glEnable(GL_BLEND);
|
|
||||||
|
|
||||||
Renderer->PopMatrix();
|
Renderer->PopMatrix();
|
||||||
|
|
||||||
//glPopAttrib();
|
glPopAttrib();
|
||||||
}
|
}
|
||||||
|
|
||||||
void TMyApplication::hitSpark(std::string direct,Vector2f Pos) {
|
void TMyApplication::hitSpark(std::string direct,Vector2f Pos) {
|
||||||
|
@ -89,8 +89,6 @@ const int CONST_GAMESTATE_PRELOADING = 7;
|
|||||||
class TMyApplication : public TApplication
|
class TMyApplication : public TApplication
|
||||||
{
|
{
|
||||||
protected:
|
protected:
|
||||||
bool skipUpdateToUpdateScreen;
|
|
||||||
|
|
||||||
int levelScreenWidth;
|
int levelScreenWidth;
|
||||||
int levelScreenHeight;
|
int levelScreenHeight;
|
||||||
float levelScreenRatio = 1.6;
|
float levelScreenRatio = 1.6;
|
||||||
@ -149,10 +147,6 @@ public:
|
|||||||
virtual void OnKeyPress(size_t key);
|
virtual void OnKeyPress(size_t key);
|
||||||
virtual void InnerInit();
|
virtual void InnerInit();
|
||||||
|
|
||||||
virtual void RenderLevelSnapshots();
|
|
||||||
|
|
||||||
virtual void InnerReinitGLResources();
|
|
||||||
|
|
||||||
virtual void InnerDeinit();
|
virtual void InnerDeinit();
|
||||||
|
|
||||||
virtual void InnerDraw();
|
virtual void InnerDraw();
|
||||||
|
@ -45,7 +45,7 @@ void TGameMenu::Draw()
|
|||||||
glClear(GL_DEPTH_BUFFER_BIT | GL_COLOR_BUFFER_BIT);
|
glClear(GL_DEPTH_BUFFER_BIT | GL_COLOR_BUFFER_BIT);
|
||||||
|
|
||||||
/*..GalaxMenu draw..*/
|
/*..GalaxMenu draw..*/
|
||||||
GalaxMenu.DrawGalaxyMenu(GameState == CONST_GAMESTATE_MENU);
|
GalaxMenu.DrawGalaxyMenu();
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifndef GALAX_MENU_DRAW
|
#ifndef GALAX_MENU_DRAW
|
||||||
@ -247,8 +247,3 @@ void TGameMenu::SetMenuItemCount(int menuItemCount)
|
|||||||
{
|
{
|
||||||
MenuItemCount = menuItemCount;
|
MenuItemCount = menuItemCount;
|
||||||
}
|
}
|
||||||
|
|
||||||
void TGameMenu::SetGameState(int gameState)
|
|
||||||
{
|
|
||||||
GameState = gameState;
|
|
||||||
}
|
|
3
game/menucode.h
Executable file → Normal file
@ -20,8 +20,6 @@ protected:
|
|||||||
|
|
||||||
int SelectedGame;
|
int SelectedGame;
|
||||||
|
|
||||||
int GameState;
|
|
||||||
|
|
||||||
|
|
||||||
public:
|
public:
|
||||||
TGameMenu();
|
TGameMenu();
|
||||||
@ -36,7 +34,6 @@ public:
|
|||||||
void OpenNextLevel();
|
void OpenNextLevel();
|
||||||
int GetMenuItemCount();
|
int GetMenuItemCount();
|
||||||
void SetMenuItemCount(int menuItemCount);
|
void SetMenuItemCount(int menuItemCount);
|
||||||
void SetGameState(int gameState);
|
|
||||||
|
|
||||||
/*..Galaxy Menu..*/
|
/*..Galaxy Menu..*/
|
||||||
GalaxyMenu GalaxMenu;
|
GalaxyMenu GalaxMenu;
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
cmake_minimum_required(VERSION 3.4.1)
|
cmake_minimum_required(VERSION 3.4.1)
|
||||||
|
|
||||||
set(BOOST_PATH ${CMAKE_CURRENT_SOURCE_DIR}/../../../boost_1_68_0)
|
set(BOOST_PATH ${CMAKE_CURRENT_SOURCE_DIR}/../../../boost_1_67_0)
|
||||||
set(BOOST_GIL_PATH ${CMAKE_CURRENT_SOURCE_DIR}/../../../libs/boost-gil-extension)
|
set(BOOST_GIL_PATH ${CMAKE_CURRENT_SOURCE_DIR}/../../../libs/boost-gil-extension)
|
||||||
set(ZIP_PATH ${CMAKE_CURRENT_SOURCE_DIR}/../../../libs/julienr-libzip-android/jni)
|
set(ZIP_PATH ${CMAKE_CURRENT_SOURCE_DIR}/../../../libs/julienr-libzip-android/jni)
|
||||||
set(LIBPNG_PATH ${CMAKE_CURRENT_SOURCE_DIR}/../../../libs/libpng_1.4.1_android)
|
set(LIBPNG_PATH ${CMAKE_CURRENT_SOURCE_DIR}/../../../libs/libpng_1.4.1_android)
|
||||||
|
@ -3,7 +3,7 @@ apply plugin: 'kotlin-android'
|
|||||||
|
|
||||||
android {
|
android {
|
||||||
compileSdkVersion 28
|
compileSdkVersion 28
|
||||||
buildToolsVersion "28.0.3"
|
buildToolsVersion "28.0.0"
|
||||||
defaultConfig {
|
defaultConfig {
|
||||||
applicationId "fishrungames.DoubleHitBalls"
|
applicationId "fishrungames.DoubleHitBalls"
|
||||||
minSdkVersion 19
|
minSdkVersion 19
|
||||||
@ -46,9 +46,9 @@ android {
|
|||||||
dependencies {
|
dependencies {
|
||||||
implementation fileTree(dir: 'libs', include: ['*.jar'])
|
implementation fileTree(dir: 'libs', include: ['*.jar'])
|
||||||
|
|
||||||
implementation "com.android.support:appcompat-v7:$supportLibraryVersion"
|
implementation 'com.android.support:appcompat-v7:28+'
|
||||||
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version"
|
|
||||||
|
|
||||||
implementation project(':SalmonEngineAndroid')
|
implementation project(':SalmonEngineAndroid')
|
||||||
|
|
||||||
|
compile "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
|
||||||
}
|
}
|
||||||
|
@ -9,8 +9,9 @@ import android.content.pm.ApplicationInfo;
|
|||||||
import android.content.pm.PackageManager;
|
import android.content.pm.PackageManager;
|
||||||
import android.content.pm.PackageManager.NameNotFoundException;
|
import android.content.pm.PackageManager.NameNotFoundException;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.util.Log;
|
import android.view.GestureDetector;
|
||||||
import android.view.KeyEvent;
|
import android.view.KeyEvent;
|
||||||
|
import android.view.GestureDetector.SimpleOnGestureListener;
|
||||||
import android.view.MotionEvent;
|
import android.view.MotionEvent;
|
||||||
|
|
||||||
//Deprecated
|
//Deprecated
|
||||||
@ -27,6 +28,7 @@ public class GL2JNIActivity extends Activity
|
|||||||
@Override
|
@Override
|
||||||
protected void onCreate(Bundle icicle)
|
protected void onCreate(Bundle icicle)
|
||||||
{
|
{
|
||||||
|
|
||||||
super.onCreate(icicle);
|
super.onCreate(icicle);
|
||||||
|
|
||||||
instance = this;
|
instance = this;
|
||||||
@ -63,7 +65,7 @@ public class GL2JNIActivity extends Activity
|
|||||||
@Override
|
@Override
|
||||||
protected void onPause()
|
protected void onPause()
|
||||||
{
|
{
|
||||||
//EngineWrapper.CallDestroy();
|
EngineWrapper.CallDestroy();
|
||||||
super.onPause();
|
super.onPause();
|
||||||
mView.onPause();
|
mView.onPause();
|
||||||
}
|
}
|
||||||
|
@ -1,22 +1,14 @@
|
|||||||
// Top-level build file where you can add configuration options common to all sub-projects/modules.
|
// Top-level build file where you can add configuration options common to all sub-projects/modules.
|
||||||
|
|
||||||
buildscript {
|
buildscript {
|
||||||
ext {
|
ext.kotlin_version = '1.2.70'
|
||||||
compileSdkVersion = 28
|
|
||||||
targetSdkVersion = 28
|
|
||||||
|
|
||||||
kotlin_version = "1.3.10"
|
|
||||||
supportLibraryVersion = "28.0.0"
|
|
||||||
}
|
|
||||||
|
|
||||||
repositories {
|
repositories {
|
||||||
jcenter()
|
jcenter()
|
||||||
google()
|
google()
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
classpath 'com.android.tools.build:gradle:3.2.1'
|
classpath 'com.android.tools.build:gradle:3.2.0-alpha18'
|
||||||
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
|
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
|
||||||
|
|
||||||
// NOTE: Do not place your application dependencies here; they belong
|
// NOTE: Do not place your application dependencies here; they belong
|
||||||
|
@ -110,7 +110,7 @@
|
|||||||
</PrecompiledHeader>
|
</PrecompiledHeader>
|
||||||
<WarningLevel>Level3</WarningLevel>
|
<WarningLevel>Level3</WarningLevel>
|
||||||
<Optimization>Disabled</Optimization>
|
<Optimization>Disabled</Optimization>
|
||||||
<PreprocessorDefinitions>TARGET_WIN32;DEBUG;_WIN32_WINNT=0x0501;EIGEN_DONT_ALIGN_STATICALLY;_WINDOWS;WIN32;WIN32_LEAN_AND_MEAN;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
<PreprocessorDefinitions>TARGET_WIN32;DEBUG;_WIN32_WINNT=0x0501;_DISABLE_EXTENDED_ALIGNED_STORAGE;EIGEN_DONT_ALIGN_STATICALLY;_WINDOWS;WIN32;WIN32_LEAN_AND_MEAN;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
<AdditionalIncludeDirectories>../../../game;../../../../tes-engine;../../../../../boost_1_67_0;../../../../eigen;../../../../boost_1_67_0;../../../../boost_1_67_0/bin.v2/libs/system/build/msvc-14.1/debug/address-model-64/link-static/threading-multi;../../../../boost_1_67_0/bin.v2/libs/date_time/build/msvc-14.1/debug/address-model-64/link-static/threading-multi/;../../../../boost_1_67_0/bin.v2/libs/regex/build/msvc-14.1/debug/address-model-64/link-static/threading-multi;../../../../boost_1_67_0/bin.v2/libs/thread/build/msvc-14.1/debug/address-model-64/link-static/threading-multi;../../../../boost_1_67_0/bin.v2/libs/chrono/build/msvc-14.1/debug/address-model-64/link-static/threading-multi;../../../../boost_1_67_0/bin.v2/libs/signals/build/msvc-14.1/debug/address-model-64/link-static/threading-multi;../../../../libs/boost-gil-extension;../../../../libs/jpeg-9;../../../../libs/jpeg-9/vc10;../../../../libs/lpng1510</AdditionalIncludeDirectories>
|
<AdditionalIncludeDirectories>../../../game;../../../../tes-engine;../../../../../boost_1_67_0;../../../../eigen;../../../../boost_1_67_0;../../../../boost_1_67_0/bin.v2/libs/system/build/msvc-14.1/debug/address-model-64/link-static/threading-multi;../../../../boost_1_67_0/bin.v2/libs/date_time/build/msvc-14.1/debug/address-model-64/link-static/threading-multi/;../../../../boost_1_67_0/bin.v2/libs/regex/build/msvc-14.1/debug/address-model-64/link-static/threading-multi;../../../../boost_1_67_0/bin.v2/libs/thread/build/msvc-14.1/debug/address-model-64/link-static/threading-multi;../../../../boost_1_67_0/bin.v2/libs/chrono/build/msvc-14.1/debug/address-model-64/link-static/threading-multi;../../../../boost_1_67_0/bin.v2/libs/signals/build/msvc-14.1/debug/address-model-64/link-static/threading-multi;../../../../libs/boost-gil-extension;../../../../libs/jpeg-9;../../../../libs/jpeg-9/vc10;../../../../libs/lpng1510</AdditionalIncludeDirectories>
|
||||||
<DisableSpecificWarnings>4503</DisableSpecificWarnings>
|
<DisableSpecificWarnings>4503</DisableSpecificWarnings>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
@ -150,7 +150,7 @@
|
|||||||
<Optimization>MaxSpeed</Optimization>
|
<Optimization>MaxSpeed</Optimization>
|
||||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||||
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;TARGET_WIN32;_WIN32_WINNT=0x0501;WIN32_LEAN_AND_MEAN;EIGEN_DONT_ALIGN_STATICALLY;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;TARGET_WIN32;_WIN32_WINNT=0x0501;WIN32_LEAN_AND_MEAN;_DISABLE_EXTENDED_ALIGNED_STORAGE;EIGEN_DONT_ALIGN_STATICALLY;EIGEN_DONT_VECTORIZE;EIGEN_DISABLE_UNALIGNED_ARRAY_ASSERT;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
<AdditionalIncludeDirectories>../../../game;../../../../tes-engine;../../../../eigen;../../../../boost_1_67_0/;../../../../libs/boost-gil-extension;../../../../libs/jpeg-9;../../../../libs/jpeg-9/vc10;../../../../libs/lpng1510</AdditionalIncludeDirectories>
|
<AdditionalIncludeDirectories>../../../game;../../../../tes-engine;../../../../eigen;../../../../boost_1_67_0/;../../../../libs/boost-gil-extension;../../../../libs/jpeg-9;../../../../libs/jpeg-9/vc10;../../../../libs/lpng1510</AdditionalIncludeDirectories>
|
||||||
<DisableSpecificWarnings>4503</DisableSpecificWarnings>
|
<DisableSpecificWarnings>4503</DisableSpecificWarnings>
|
||||||
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
|
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
|
||||||
|