first blood

This commit is contained in:
Vladislav Khorev 2013-01-19 21:23:44 +00:00
parent 11b8e5136d
commit 8623958378
124 changed files with 5933 additions and 0 deletions

8
.classpath Normal file
View File

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry excluding=".svn/" kind="src" path="src"/>
<classpathentry excluding=".svn/" kind="src" path="gen"/>
<classpathentry kind="con" path="com.android.ide.eclipse.adt.ANDROID_FRAMEWORK"/>
<classpathentry kind="lib" path="C:/Workplace/Projects/Android/EngineWrapper/jar/EngineWrapper.jar"/>
<classpathentry kind="output" path="bin"/>
</classpath>

33
.project Normal file
View File

@ -0,0 +1,33 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>EngineWrapper</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>com.android.ide.eclipse.adt.ResourceManagerBuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>com.android.ide.eclipse.adt.PreCompilerBuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.jdt.core.javabuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>com.android.ide.eclipse.adt.ApkBuilder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>com.android.ide.eclipse.adt.AndroidNature</nature>
<nature>org.eclipse.jdt.core.javanature</nature>
</natures>
</projectDescription>

39
AndroidManifest.xml Normal file
View File

@ -0,0 +1,39 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
/*
**
** Copyright 2009, The Android Open Source Project
**
** Licensed under the Apache License, Version 2.0 (the "License");
** you may not use this file except in compliance with the License.
** You may obtain a copy of the License at
**
** http://www.apache.org/licenses/LICENSE-2.0
**
** Unless required by applicable law or agreed to in writing, software
** distributed under the License is distributed on an "AS IS" BASIS,
** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
** See the License for the specific language governing permissions and
** limitations under the License.
*/
-->
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="fishrungames.doublehitballs" android:versionCode="7" android:versionName="1.0.6">
<application
android:icon="@drawable/ic_menu_template" android:label="Double Hit Balls">
<activity android:name="GL2JNIActivity"
android:screenOrientation="landscape"
android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
android:launchMode="singleTask"
android:configChanges="orientation|keyboardHidden"
android:noHistory="true">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
<uses-feature android:glEsVersion="0x00020000"/>
<uses-sdk android:minSdkVersion="8"/>
</manifest>

BIN
assets/back_btn.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.6 KiB

BIN
assets/ball.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 962 B

BIN
assets/ball_glow.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 KiB

BIN
assets/block1.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

BIN
assets/block2.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

BIN
assets/block3.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

BIN
assets/bonus_floor.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 759 B

BIN
assets/bonus_gothrough.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1022 B

BIN
assets/bonus_multiplier.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 564 B

View File

@ -0,0 +1,15 @@
precision mediump float;
uniform sampler2D Texture;
uniform float Transparency;
uniform vec4 BrickColor;
varying vec2 texCoord;
void main()
{
vec4 color = BrickColor * texture2D(Texture,texCoord).rgba;
gl_FragColor = vec4(color.rgb, color.a * Transparency);
}

View File

@ -0,0 +1,12 @@
attribute vec3 vPosition;
attribute vec2 vTexCoord;
varying vec2 texCoord;
uniform mat4 ProjectionMatrix;
void main()
{
//480x320
gl_Position = ProjectionMatrix * vec4(vPosition.xyz, 1.0);
texCoord = vTexCoord;
}

BIN
assets/console_bkg.bmp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 102 B

BIN
assets/credits.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

View File

@ -0,0 +1,95 @@
32 0.00976562 0.0195312 0 0.0546875 0 0 0.0078125
49 0.0195312 0.0195312 0.00390625 0.015625 0.0078125 0.0390625 0.015625
50 0.0371094 0.0195312 0.00195312 0.015625 0.0136719 0.0390625 0.015625
51 0.0605469 0.0195312 0.00195312 0.015625 0.0117188 0.0390625 0.015625
52 0.0820312 0.0195312 0.00195312 0.015625 0.0136719 0.0390625 0.015625
53 0.105469 0.0195312 0.00195312 0.015625 0.0117188 0.0390625 0.015625
54 0.126953 0.0195312 0.00195312 0.015625 0.0117188 0.0390625 0.015625
55 0.148438 0.0195312 0.00195312 0.015625 0.0117188 0.0390625 0.015625
56 0.169922 0.0195312 0.00195312 0.015625 0.0117188 0.0390625 0.015625
57 0.191406 0.0195312 0.00195312 0.015625 0.0117188 0.0390625 0.015625
48 0.212891 0.0195312 0.00195312 0.015625 0.0117188 0.0390625 0.015625
97 0.234375 0.0195312 0.00195312 0.0234375 0.00976562 0.03125 0.0136719
98 0.253906 0.0195312 0.00195312 0.0117188 0.0117188 0.0429688 0.015625
99 0.275391 0.0195312 0.00195312 0.0234375 0.00976562 0.03125 0.0136719
100 0.294922 0.0195312 0.00195312 0.0117188 0.0117188 0.0429688 0.015625
101 0.316406 0.0195312 0.00195312 0.0234375 0.0117188 0.03125 0.015625
102 0.337891 0.0195312 0 0.0117188 0.00976562 0.0429688 0.0078125
103 0.357422 0.0195312 0.00195312 0.0234375 0.0136719 0.0429688 0.0136719
104 0.380859 0.0195312 0.00195312 0.0117188 0.0117188 0.0429688 0.015625
105 0.402344 0.0195312 0 0.0117188 0.00585938 0.0429688 0.0078125
106 0.417969 0.0195312 -0.00195312 0.0117188 0.0078125 0.0546875 0.0078125
107 0.435547 0.0195312 0.00195312 0.0117188 0.0136719 0.0429688 0.0136719
108 0.458984 0.0195312 0.00195312 0.0117188 0.00390625 0.0429688 0.0078125
109 0.472656 0.0195312 0.00195312 0.0234375 0.0214844 0.03125 0.0253906
110 0.503906 0.0195312 0.00195312 0.0234375 0.0117188 0.03125 0.015625
111 0.525391 0.0195312 0.00195312 0.0234375 0.0117188 0.03125 0.015625
112 0.546875 0.0195312 0.00195312 0.0234375 0.0117188 0.0429688 0.015625
113 0.568359 0.0195312 0.00195312 0.0234375 0.0117188 0.0429688 0.015625
114 0.589844 0.0195312 0.00195312 0.0234375 0.0078125 0.03125 0.00976562
115 0.607422 0.0195312 0 0.0234375 0.0117188 0.03125 0.0136719
116 0.628906 0.0195312 0 0.015625 0.00976562 0.0390625 0.00976562
117 0.648438 0.0195312 0.00195312 0.0234375 0.0117188 0.03125 0.015625
118 0.669922 0.0195312 -0.00195312 0.0234375 0.0175781 0.03125 0.0136719
119 0.697266 0.0195312 -0.00195312 0.0234375 0.0234375 0.03125 0.0195312
120 0.730469 0.0195312 0 0.0234375 0.0136719 0.03125 0.0136719
121 0.753906 0.0195312 -0.00195312 0.0234375 0.0175781 0.0429688 0.0136719
122 0.78125 0.0195312 0.00195312 0.0234375 0.0117188 0.03125 0.0136719
65 0.802734 0.0195312 -0.00195312 0.015625 0.0214844 0.0390625 0.0175781
66 0.833984 0.0195312 0.00195312 0.015625 0.0136719 0.0390625 0.0175781
67 0.857422 0.0195312 0.00195312 0.015625 0.0136719 0.0390625 0.015625
68 0.880859 0.0195312 0.00195312 0.015625 0.015625 0.0390625 0.0195312
69 0.90625 0.0195312 0.00195312 0.015625 0.00976562 0.0390625 0.0136719
70 0.925781 0.0195312 0.00195312 0.015625 0.0117188 0.0390625 0.0136719
71 0.947266 0.0195312 0.00195312 0.015625 0.015625 0.0390625 0.0195312
72 0.00976562 0.09375 0.00195312 0.015625 0.015625 0.0390625 0.0195312
73 0.0351562 0.09375 0 0.015625 0.00976562 0.0390625 0.00976562
74 0.0546875 0.09375 -0.00390625 0.015625 0.00976562 0.0507812 0.00585938
75 0.0742188 0.09375 0.00195312 0.015625 0.015625 0.0390625 0.015625
76 0.0996094 0.09375 0.00195312 0.015625 0.0117188 0.0390625 0.0136719
77 0.121094 0.09375 0.00195312 0.015625 0.0195312 0.0390625 0.0234375
78 0.150391 0.09375 0.00195312 0.015625 0.015625 0.0390625 0.0195312
79 0.175781 0.09375 0.00195312 0.015625 0.0175781 0.0390625 0.0214844
80 0.203125 0.09375 0.00195312 0.015625 0.0117188 0.0390625 0.015625
81 0.224609 0.09375 0.00195312 0.015625 0.0175781 0.046875 0.0214844
82 0.251953 0.09375 0.00195312 0.015625 0.0136719 0.0390625 0.015625
83 0.275391 0.09375 0 0.015625 0.0136719 0.0390625 0.0136719
84 0.298828 0.09375 0 0.015625 0.0136719 0.0390625 0.0136719
85 0.322266 0.09375 0.00195312 0.015625 0.015625 0.0390625 0.0195312
86 0.347656 0.09375 -0.00195312 0.015625 0.0195312 0.0390625 0.015625
87 0.376953 0.09375 -0.00195312 0.015625 0.0292969 0.0390625 0.0253906
88 0.416016 0.09375 -0.00195312 0.015625 0.0195312 0.0390625 0.015625
89 0.445312 0.09375 -0.00195312 0.015625 0.0175781 0.0390625 0.0136719
90 0.472656 0.09375 0.00195312 0.015625 0.0117188 0.0390625 0.015625
46 0.494141 0.09375 0.00195312 0.046875 0.00390625 0.0078125 0.0078125
44 0.507812 0.09375 0.00195312 0.046875 0.00390625 0.0117188 0.0078125
58 0.521484 0.09375 0.00195312 0.0234375 0.00390625 0.03125 0.0078125
59 0.535156 0.09375 0.00195312 0.0234375 0.00390625 0.0351562 0.0078125
64 0.548828 0.09375 0.00195312 0.015625 0.0195312 0.0429688 0.0234375
35 0.578125 0.09375 0 0.015625 0.015625 0.0390625 0.0175781
36 0.603516 0.09375 0.00195312 0.0117188 0.0117188 0.046875 0.015625
37 0.625 0.09375 0.00195312 0.015625 0.0195312 0.0390625 0.0234375
94 0.654297 0.09375 0 0.015625 0.0136719 0.0234375 0.0136719
38 0.677734 0.09375 0.00195312 0.015625 0.0175781 0.0390625 0.0195312
42 0.705078 0.09375 0 0.0117188 0.0136719 0.0234375 0.015625
33 0.728516 0.09375 0.00195312 0.015625 0.00390625 0.0390625 0.0078125
63 0.742188 0.09375 0 0.015625 0.00976562 0.0390625 0.0117188
40 0.761719 0.09375 0.00195312 0.015625 0.0078125 0.046875 0.0078125
41 0.779297 0.09375 0 0.015625 0.00585938 0.046875 0.0078125
91 0.794922 0.09375 0.00195312 0.015625 0.00585938 0.046875 0.0078125
93 0.810547 0.09375 0 0.015625 0.00585938 0.046875 0.0078125
123 0.826172 0.09375 0 0.015625 0.00976562 0.046875 0.00976562
125 0.845703 0.09375 0 0.015625 0.00976562 0.046875 0.00976562
60 0.865234 0.09375 0.00195312 0.0234375 0.0117188 0.0273438 0.015625
62 0.886719 0.09375 0.00195312 0.0234375 0.0117188 0.0273438 0.015625
95 0.908203 0.09375 0 0.0585938 0.0117188 0.00390625 0.0117188
45 0.929688 0.09375 0.00195312 0.0390625 0.00585938 0.0078125 0.00976562
43 0.945312 0.09375 0 0.0234375 0.0136719 0.0273438 0.015625
61 0.00976562 0.167969 0 0.0273438 0.0136719 0.0195312 0.015625
124 0.0332031 0.167969 0.00585938 0.0117188 0.00390625 0.0546875 0.0136719
92 0.046875 0.167969 -0.00195312 0.015625 0.0136719 0.0390625 0.00976562
47 0.0703125 0.167969 -0.00195312 0.015625 0.0136719 0.0390625 0.00976562
126 0.09375 0.167969 0.00195312 0.03125 0.0117188 0.0117188 0.015625
96 0.115234 0.167969 0.00585938 0.0117188 0.00585938 0.0078125 0.015625
34 0.130859 0.167969 0.00195312 0.015625 0.00976562 0.015625 0.0117188
39 0.150391 0.167969 0.00195312 0.015625 0.00390625 0.015625 0.00585938

View File

@ -0,0 +1,12 @@
precision mediump float;
uniform sampler2D Texture;
uniform float Brightness;
varying vec2 texCoord;
void main()
{
vec3 color = texture2D(Texture,texCoord).rgb;
gl_FragColor = vec4(color * Brightness, 1.0);
}

View File

@ -0,0 +1,12 @@
attribute vec3 vPosition;
attribute vec2 vTexCoord;
varying vec2 texCoord;
uniform mat4 ProjectionMatrix;
void main()
{
//480x320
gl_Position = ProjectionMatrix * vec4(vPosition.xyz, 1.0);
texCoord = vTexCoord;
}

BIN
assets/game_end.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.4 KiB

33
assets/level1.txt Normal file
View File

@ -0,0 +1,33 @@
0, 255, 255, 255
0, 0, 0, 255
255, 0, 0, 255
255, 40, 40, 255
255, 128, 128, 255
Colormap
111111111111
111111111111
111111111111
222222222222
222222222222
222222222222
222222222222
333333333333
333333333333
333333333333
000000000000
000000000000
000000000000
Brickmap
111111111111
111111111111
111111111111
000000000000
111111111111
111111111111
000000000000
111111111111
111111111111
000000000000
000000000000
000000000000
000000000000

32
assets/level10.txt Normal file
View File

@ -0,0 +1,32 @@
0, 255, 255, 255
0, 0, 0, 255
255, 0, 190, 255
255, 0, 255, 255
Colormap
002222222200
002222222200
000222222000
000022220000
111002200111
111100001111
011110011110
001111111100
000111111000
000011110000
000001100000
000000000000
000000000000
Brickmap
002111111200
002211112200
000221122000
000022220000
111002200111
221100001122
022110011220
002211112200
000221122000
000022220000
000002200000
000000000000
000000000000

33
assets/level11.txt Normal file
View File

@ -0,0 +1,33 @@
255, 255, 255, 255
0, 0, 0, 255
0, 237, 255, 255
0, 144, 255, 255
0, 59, 255, 255
Colormap
333333333333
333333333333
333333333333
000000000000
222220022222
222220022222
222220022222
000000000000
111110011111
111110011111
111110011111
000000000000
000000000000
Brickmap
111111111111
111111111111
222222222222
000000000000
111110011111
111110011111
222220022222
000000000000
111110011111
111110011111
333330033333
000000000000
000000000000

32
assets/level12.txt Normal file
View File

@ -0,0 +1,32 @@
255, 128, 128, 255
0, 0, 0, 255
159, 240, 255, 255
0, 148, 255, 255
Colormap
111111111111
222222222222
111111111111
222222222222
111111111111
222222222222
111111111111
222222222222
111111111111
222222222222
111111111111
222222222222
111111111111
Brickmap
000311113000
000311113000
333311113333
111111111111
111111111111
222221122222
333321123333
000321123000
000321123000
000322223000
000333333000
000000000000
000000000000

BIN
assets/level1ogg.ogg Normal file

Binary file not shown.

32
assets/level2.txt Normal file
View File

@ -0,0 +1,32 @@
255, 0, 0, 255
0, 0, 0, 255
0, 255, 255, 255
7, 255, 189, 255
Colormap
111111111111
222222222222
111111111111
222222222222
111111111111
222222222222
111111111111
222222222222
111111111111
222222222222
111111111111
222222222222
000000000000
Brickmap
111011110111
111011110111
222022220222
000000000000
111011110111
222022220222
000000000000
111000000111
222000000222
000000000000
222222222222
000000000000
000000000000

33
assets/level3.txt Normal file
View File

@ -0,0 +1,33 @@
0, 255, 255, 255
0, 0, 0, 255
0, 151, 113, 255
7, 255, 189, 255
128, 143, 128, 255
Colormap
000000000000
033333333330
031111111130
031111111130
033333333330
000000000000
033330033330
032230032230
032230032230
033330033330
000000000000
000000000000
000000000000
Brickmap
000000000000
022222222220
021111111120
021111111120
022222222220
000000000000
022220022220
021120021120
021120021120
022220022220
000000000000
000000000000
000000000000

33
assets/level4.txt Normal file
View File

@ -0,0 +1,33 @@
255, 0, 0, 255
0, 0, 0, 255
101, 97, 255, 255
5, 186, 255, 255
105, 201, 255, 255
Colormap
000000333333
000003333333
000033311111
333333133333
333331333333
333313333333
111133311111
333333100000
333331000000
333310000000
111100000000
000000000000
000000000000
Brickmap
000000111111
000001111111
000011133333
111111311111
111113111111
111131111111
333311133333
111111300000
111113000000
111130000000
333300000000
000000000000
000000000000

32
assets/level5.txt Normal file
View File

@ -0,0 +1,32 @@
255, 0, 255, 255
0, 0, 0, 255
163, 255, 198, 255
0, 255, 182, 255
Colormap
000022220000
000222222000
000022220000
111000000111
111100001111
111110011111
111111111111
111111111111
111111111111
111111111111
000000000000
000000000000
000000000000
Brickmap
000033330000
000311113000
000033330000
111000000111
111100001111
111110011111
111111111111
111111111111
111111111111
222222222222
000000000000
000000000000
000000000000

33
assets/level6.txt Normal file
View File

@ -0,0 +1,33 @@
255, 255, 255, 255
0, 0, 0, 255
255, 200, 5, 255
255, 153, 0, 255
255, 97, 0, 255
Colormap
000000000000
000333000333
000333000333
000333000333
222000222000
222000222000
222000222000
000111000111
000111000111
000111000111
000000000000
000000000000
000000000000
Brickmap
000000000000
000222000222
000212000212
000222000222
222000222000
212000212000
222000222000
000222000222
000212000212
000222000222
000000000000
000000000000
000000000000

33
assets/level7.txt Normal file
View File

@ -0,0 +1,33 @@
255, 255, 0, 255
0, 0, 0, 255
230, 230, 230, 255
195, 195, 195, 255
150, 150, 150, 255
Colormap
333333333333
030030030030
030030030030
030030030030
222222222222
020020020020
020020020020
010010010010
010010010010
020020020020
000000000000
000000000000
000000000000
Brickmap
111111111111
010010010010
010010010010
010010010010
222222222222
010010010010
010010010010
010010010010
010010010010
020020020020
000000000000
000000000000
000000000000

32
assets/level8.txt Normal file
View File

@ -0,0 +1,32 @@
0, 255, 255, 255
0, 0, 0, 255
217, 56, 62, 255
132, 56, 62, 255
Colormap
111111111111
111111111111
222211112222
000211112000
000211112000
022211112220
021111111120
021111111120
021111111120
022222222220
000000000000
000000000000
000000000000
Brickmap
111111111111
111111111111
222211112222
000211112000
000211112000
022211112220
021111111120
021111111120
021111111120
033333333330
000000000000
000000000000
000000000000

32
assets/level9.txt Normal file
View File

@ -0,0 +1,32 @@
0, 255, 0, 255
0, 0, 0, 255
255, 221, 0, 255
255, 0, 0, 255
Colormap
222220022222
222220022222
222220022222
222220022222
000000000000
111111111111
111111111111
000000000000
111111111111
111111111111
000000000000
000000000000
000000000000
Brickmap
111110011111
111110011111
111110011111
222220022222
000000000000
111111111111
333333333333
000000000000
111111111111
222222222222
000000000000
000000000000
000000000000

BIN
assets/levelshot1.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 142 KiB

BIN
assets/levelshot10.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 125 KiB

BIN
assets/levelshot11.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 137 KiB

BIN
assets/levelshot12.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 125 KiB

BIN
assets/levelshot2.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 140 KiB

BIN
assets/levelshot3.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 148 KiB

BIN
assets/levelshot4.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 155 KiB

BIN
assets/levelshot5.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 147 KiB

BIN
assets/levelshot6.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 146 KiB

BIN
assets/levelshot7.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 152 KiB

BIN
assets/levelshot8.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 150 KiB

BIN
assets/levelshot9.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 134 KiB

BIN
assets/loading.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

BIN
assets/logo_small.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 217 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 177 KiB

BIN
assets/reflector.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.0 KiB

BIN
assets/select_level.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

View File

@ -0,0 +1,14 @@
precision mediump float;
uniform sampler2D Texture;
uniform float Transparency;
varying vec2 texCoord;
void main()
{
vec4 color = texture2D(Texture,texCoord).rgba;
gl_FragColor = vec4(color.rgb, color.a * Transparency);
}

12
assets/shader1vertex.txt Normal file
View File

@ -0,0 +1,12 @@
attribute vec3 vPosition;
attribute vec2 vTexCoord;
varying vec2 texCoord;
uniform mat4 ProjectionMatrix;
void main()
{
//480x320
gl_Position = ProjectionMatrix * vec4(vPosition.xyz, 1.0);
texCoord = vTexCoord;
}

BIN
assets/shutterstock1.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 480 KiB

BIN
assets/shutterstock10.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 362 KiB

BIN
assets/shutterstock11.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 433 KiB

BIN
assets/shutterstock12.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 370 KiB

BIN
assets/shutterstock2.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 464 KiB

BIN
assets/shutterstock3.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 532 KiB

BIN
assets/shutterstock4.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 611 KiB

BIN
assets/shutterstock5.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 509 KiB

BIN
assets/shutterstock6.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 503 KiB

BIN
assets/shutterstock7.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 553 KiB

BIN
assets/shutterstock8.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 597 KiB

BIN
assets/shutterstock9.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 474 KiB

BIN
assets/slide_up_btn.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.7 KiB

BIN
assets/wall_bonus.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.8 KiB

BIN
assets/wall_left.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.0 KiB

BIN
assets/wall_right.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.0 KiB

BIN
assets/wall_up.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.1 KiB

BIN
ios/Icon.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.8 KiB

BIN
ios/Splash-landscape.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.7 KiB

View File

@ -0,0 +1,556 @@
// !$*UTF8*$!
{
archiveVersion = 1;
classes = {
};
objectVersion = 46;
objects = {
/* Begin PBXBuildFile section */
4C49B2BE15B0991B003512CD /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4C49B2BD15B0991B003512CD /* UIKit.framework */; };
4C49B2C015B0991B003512CD /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4C49B2BF15B0991B003512CD /* Foundation.framework */; };
4C49B2C215B0991B003512CD /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4C49B2C115B0991B003512CD /* CoreGraphics.framework */; };
4C49B2C415B0991B003512CD /* GLKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4C49B2C315B0991B003512CD /* GLKit.framework */; };
4C49B2C615B0991B003512CD /* OpenGLES.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4C49B2C515B0991B003512CD /* OpenGLES.framework */; };
4C49B2CC15B0991B003512CD /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 4C49B2CA15B0991B003512CD /* InfoPlist.strings */; };
4C49B2CE15B0991B003512CD /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C49B2CD15B0991B003512CD /* main.m */; };
4C49B2D215B0991B003512CD /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C49B2D115B0991B003512CD /* AppDelegate.m */; };
4C49B2D915B0991B003512CD /* ViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C49B2D815B0991B003512CD /* ViewController.m */; };
4C49B2DC15B0991B003512CD /* ViewController_iPhone.xib in Resources */ = {isa = PBXBuildFile; fileRef = 4C49B2DA15B0991B003512CD /* ViewController_iPhone.xib */; };
4C49B2DF15B0991B003512CD /* ViewController_iPad.xib in Resources */ = {isa = PBXBuildFile; fileRef = 4C49B2DD15B0991B003512CD /* ViewController_iPad.xib */; };
4C4C807515BA8F460037C6CE /* libsquirrel.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 4C4C807415BA8F460037C6CE /* libsquirrel.a */; };
4C4C807715BA8F5B0037C6CE /* libz.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 4C4C807615BA8F5B0037C6CE /* libz.a */; };
4C4C807B15BAA33F0037C6CE /* Splash-landscape.png in Resources */ = {isa = PBXBuildFile; fileRef = 4C4C807A15BAA33F0037C6CE /* Splash-landscape.png */; };
4C4C807D15BAA3550037C6CE /* Icon.png in Resources */ = {isa = PBXBuildFile; fileRef = 4C4C807C15BAA3550037C6CE /* Icon.png */; };
4C51D30615BB261E0077EF6A /* iTunesArtwork in Resources */ = {isa = PBXBuildFile; fileRef = 4C51D30515BB261E0077EF6A /* iTunesArtwork */; };
4C6EB44515C3CFD300316CB6 /* libpng.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 4C6EB44415C3CFD300316CB6 /* libpng.a */; };
4C77831315BABD68003D5142 /* libvorbis-tremor-ios.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 4C77831215BABD68003D5142 /* libvorbis-tremor-ios.a */; };
4C77831815BABE26003D5142 /* AudioToolbox.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4C77831415BABD8B003D5142 /* AudioToolbox.framework */; };
4C77831915BABE26003D5142 /* OpenAL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4C77831515BABD8B003D5142 /* OpenAL.framework */; };
4C7AD44C15B1D77700A599F6 /* ios_api.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4C7AD44B15B1D77700A599F6 /* ios_api.cpp */; };
4C7FBF53165C1CDF008C1538 /* libboost.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 4C7FBF52165C1CDF008C1538 /* libboost.a */; };
4CCC0ECC15B30D6B005432FB /* CustomGLKView.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CCC0ECB15B30D6B005432FB /* CustomGLKView.m */; };
4CE6A9D015B2F879006A3965 /* libHalibut Engine.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 4CE6A9C515B2F774006A3965 /* libHalibut Engine.a */; };
4CE6A9D215B2F979006A3965 /* assets in Resources */ = {isa = PBXBuildFile; fileRef = 4CE6A9D115B2F979006A3965 /* assets */; };
4CE6A9DE15B2F99F006A3965 /* creditscode.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4CE6A9D315B2F99F006A3965 /* creditscode.cpp */; };
4CE6A9DF15B2F99F006A3965 /* gamecode.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4CE6A9D615B2F99F006A3965 /* gamecode.cpp */; };
4CE6A9E015B2F99F006A3965 /* loadingcode.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4CE6A9D815B2F99F006A3965 /* loadingcode.cpp */; };
4CE6A9E115B2F99F006A3965 /* main_code.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4CE6A9DA15B2F99F006A3965 /* main_code.cpp */; };
4CE6A9E215B2F99F006A3965 /* menucode.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4CE6A9DC15B2F99F006A3965 /* menucode.cpp */; };
/* End PBXBuildFile section */
/* Begin PBXContainerItemProxy section */
4CE6A9C415B2F774006A3965 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 4CE6A9BD15B2F773006A3965 /* Halibut Engine.xcodeproj */;
proxyType = 2;
remoteGlobalIDString = 4C8CE90215B0A0F400078175;
remoteInfo = "Halibut Engine";
};
4CE6A9CE15B2F7EE006A3965 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 4CE6A9BD15B2F773006A3965 /* Halibut Engine.xcodeproj */;
proxyType = 1;
remoteGlobalIDString = 4C8CE90115B0A0F400078175;
remoteInfo = "Halibut Engine";
};
/* End PBXContainerItemProxy section */
/* Begin PBXFileReference section */
4C49B2B915B0991B003512CD /* doublehitballs.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = doublehitballs.app; sourceTree = BUILT_PRODUCTS_DIR; };
4C49B2BD15B0991B003512CD /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; };
4C49B2BF15B0991B003512CD /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; };
4C49B2C115B0991B003512CD /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; };
4C49B2C315B0991B003512CD /* GLKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = GLKit.framework; path = System/Library/Frameworks/GLKit.framework; sourceTree = SDKROOT; };
4C49B2C515B0991B003512CD /* OpenGLES.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenGLES.framework; path = System/Library/Frameworks/OpenGLES.framework; sourceTree = SDKROOT; };
4C49B2C915B0991B003512CD /* doublehitballs-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "doublehitballs-Info.plist"; sourceTree = "<group>"; };
4C49B2CB15B0991B003512CD /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = "<group>"; };
4C49B2CD15B0991B003512CD /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = "<group>"; };
4C49B2CF15B0991B003512CD /* doublehitballs-Prefix.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "doublehitballs-Prefix.pch"; sourceTree = "<group>"; };
4C49B2D015B0991B003512CD /* AppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = "<group>"; };
4C49B2D115B0991B003512CD /* AppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = "<group>"; };
4C49B2D715B0991B003512CD /* ViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ViewController.h; sourceTree = "<group>"; };
4C49B2D815B0991B003512CD /* ViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ViewController.m; sourceTree = "<group>"; };
4C49B2DB15B0991B003512CD /* en */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = en; path = en.lproj/ViewController_iPhone.xib; sourceTree = "<group>"; };
4C49B2DE15B0991B003512CD /* en */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = en; path = en.lproj/ViewController_iPad.xib; sourceTree = "<group>"; };
4C4C807415BA8F460037C6CE /* libsquirrel.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libsquirrel.a; path = "../../libs/SQUIRREL2_1_1_sqplus/build-ios/ios-device/libsquirrel.a"; sourceTree = "<group>"; };
4C4C807615BA8F5B0037C6CE /* libz.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libz.a; path = "../../libs/zlib-1.2.7/build-ios/ios-device/libz.a"; sourceTree = "<group>"; };
4C4C807A15BAA33F0037C6CE /* Splash-landscape.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Splash-landscape.png"; sourceTree = "<group>"; };
4C4C807C15BAA3550037C6CE /* Icon.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = Icon.png; sourceTree = "<group>"; };
4C51D30515BB261E0077EF6A /* iTunesArtwork */ = {isa = PBXFileReference; lastKnownFileType = file; path = iTunesArtwork; sourceTree = "<group>"; };
4C6EB44415C3CFD300316CB6 /* libpng.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libpng.a; path = "../../libs/libpng-1.5.12/build-ios/ios-simulator/libpng.a"; sourceTree = "<group>"; };
4C77831215BABD68003D5142 /* libvorbis-tremor-ios.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = "libvorbis-tremor-ios.a"; path = "../../libs/vorbis-tremor-ios/build-ios/ios-device/libvorbis-tremor-ios.a"; sourceTree = "<group>"; };
4C77831415BABD8B003D5142 /* AudioToolbox.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioToolbox.framework; path = System/Library/Frameworks/AudioToolbox.framework; sourceTree = SDKROOT; };
4C77831515BABD8B003D5142 /* OpenAL.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenAL.framework; path = System/Library/Frameworks/OpenAL.framework; sourceTree = SDKROOT; };
4C7AD44B15B1D77700A599F6 /* ios_api.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ios_api.cpp; sourceTree = "<group>"; };
4C7C584A15C31E6500CAE4F4 /* libboost.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libboost.a; path = "../../libs/boost_1_47_0/build-ios/ios-simulator/libboost.a"; sourceTree = "<group>"; };
4C7FBF52165C1CDF008C1538 /* libboost.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libboost.a; path = "../../../libs/boost_1_52_0/build-ios/ios-device/libboost.a"; sourceTree = "<group>"; };
4CCC0ECA15B30D6A005432FB /* CustomGLKView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CustomGLKView.h; sourceTree = "<group>"; };
4CCC0ECB15B30D6B005432FB /* CustomGLKView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CustomGLKView.m; sourceTree = "<group>"; };
4CCC0ECD15B310FB005432FB /* ios_api.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ios_api.h; sourceTree = "<group>"; };
4CE6A9BD15B2F773006A3965 /* Halibut Engine.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = "Halibut Engine.xcodeproj"; path = "../../Engine/iOS/Halibut Engine/Halibut Engine.xcodeproj"; sourceTree = "<group>"; };
4CE6A9D115B2F979006A3965 /* assets */ = {isa = PBXFileReference; lastKnownFileType = folder; name = assets; path = ../assets; sourceTree = "<group>"; };
4CE6A9D315B2F99F006A3965 /* creditscode.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = creditscode.cpp; path = ../../jni/creditscode.cpp; sourceTree = "<group>"; };
4CE6A9D415B2F99F006A3965 /* creditscode.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = creditscode.h; path = ../../jni/creditscode.h; sourceTree = "<group>"; };
4CE6A9D515B2F99F006A3965 /* game_area_interface.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = game_area_interface.h; path = ../../jni/game_area_interface.h; sourceTree = "<group>"; };
4CE6A9D615B2F99F006A3965 /* gamecode.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = gamecode.cpp; path = ../../jni/gamecode.cpp; sourceTree = "<group>"; };
4CE6A9D715B2F99F006A3965 /* gamecode.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = gamecode.h; path = ../../jni/gamecode.h; sourceTree = "<group>"; };
4CE6A9D815B2F99F006A3965 /* loadingcode.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = loadingcode.cpp; path = ../../jni/loadingcode.cpp; sourceTree = "<group>"; };
4CE6A9D915B2F99F006A3965 /* loadingcode.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = loadingcode.h; path = ../../jni/loadingcode.h; sourceTree = "<group>"; };
4CE6A9DA15B2F99F006A3965 /* main_code.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = main_code.cpp; path = ../../jni/main_code.cpp; sourceTree = "<group>"; };
4CE6A9DB15B2F99F006A3965 /* main_code.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = main_code.h; path = ../../jni/main_code.h; sourceTree = "<group>"; };
4CE6A9DC15B2F99F006A3965 /* menucode.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = menucode.cpp; path = ../../jni/menucode.cpp; sourceTree = "<group>"; };
4CE6A9DD15B2F99F006A3965 /* menucode.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = menucode.h; path = ../../jni/menucode.h; sourceTree = "<group>"; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
4C49B2B615B0991B003512CD /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
4C77831815BABE26003D5142 /* AudioToolbox.framework in Frameworks */,
4C77831915BABE26003D5142 /* OpenAL.framework in Frameworks */,
4CE6A9D015B2F879006A3965 /* libHalibut Engine.a in Frameworks */,
4C49B2BE15B0991B003512CD /* UIKit.framework in Frameworks */,
4C49B2C015B0991B003512CD /* Foundation.framework in Frameworks */,
4C49B2C215B0991B003512CD /* CoreGraphics.framework in Frameworks */,
4C49B2C415B0991B003512CD /* GLKit.framework in Frameworks */,
4C49B2C615B0991B003512CD /* OpenGLES.framework in Frameworks */,
4C4C807515BA8F460037C6CE /* libsquirrel.a in Frameworks */,
4C4C807715BA8F5B0037C6CE /* libz.a in Frameworks */,
4C77831315BABD68003D5142 /* libvorbis-tremor-ios.a in Frameworks */,
4C6EB44515C3CFD300316CB6 /* libpng.a in Frameworks */,
4C7FBF53165C1CDF008C1538 /* libboost.a in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXFrameworksBuildPhase section */
/* Begin PBXGroup section */
4C49B2AE15B0991B003512CD = {
isa = PBXGroup;
children = (
4C7FBF52165C1CDF008C1538 /* libboost.a */,
4C7B819515C40F770024D61A /* libs */,
4CE6A9BD15B2F773006A3965 /* Halibut Engine.xcodeproj */,
4CC1FC3415B200130025C6F7 /* Resources */,
4C49B2C715B0991B003512CD /* doublehitballs */,
4C49B2BC15B0991B003512CD /* Frameworks */,
4C49B2BA15B0991B003512CD /* Products */,
);
sourceTree = "<group>";
};
4C49B2BA15B0991B003512CD /* Products */ = {
isa = PBXGroup;
children = (
4C49B2B915B0991B003512CD /* doublehitballs.app */,
);
name = Products;
sourceTree = "<group>";
};
4C49B2BC15B0991B003512CD /* Frameworks */ = {
isa = PBXGroup;
children = (
4C77831415BABD8B003D5142 /* AudioToolbox.framework */,
4C77831515BABD8B003D5142 /* OpenAL.framework */,
4C49B2BD15B0991B003512CD /* UIKit.framework */,
4C49B2BF15B0991B003512CD /* Foundation.framework */,
4C49B2C115B0991B003512CD /* CoreGraphics.framework */,
4C49B2C315B0991B003512CD /* GLKit.framework */,
4C49B2C515B0991B003512CD /* OpenGLES.framework */,
);
name = Frameworks;
sourceTree = "<group>";
};
4C49B2C715B0991B003512CD /* doublehitballs */ = {
isa = PBXGroup;
children = (
4CE6A9E315B2F9A4006A3965 /* DoubleHitBalls */,
4CCC0ECD15B310FB005432FB /* ios_api.h */,
4C7AD44B15B1D77700A599F6 /* ios_api.cpp */,
4C49B2D015B0991B003512CD /* AppDelegate.h */,
4C49B2D115B0991B003512CD /* AppDelegate.m */,
4C49B2D715B0991B003512CD /* ViewController.h */,
4C49B2D815B0991B003512CD /* ViewController.m */,
4C49B2DA15B0991B003512CD /* ViewController_iPhone.xib */,
4C49B2DD15B0991B003512CD /* ViewController_iPad.xib */,
4C49B2C815B0991B003512CD /* Supporting Files */,
4CCC0ECA15B30D6A005432FB /* CustomGLKView.h */,
4CCC0ECB15B30D6B005432FB /* CustomGLKView.m */,
);
path = doublehitballs;
sourceTree = "<group>";
};
4C49B2C815B0991B003512CD /* Supporting Files */ = {
isa = PBXGroup;
children = (
4C49B2C915B0991B003512CD /* doublehitballs-Info.plist */,
4C49B2CA15B0991B003512CD /* InfoPlist.strings */,
4C49B2CD15B0991B003512CD /* main.m */,
4C49B2CF15B0991B003512CD /* doublehitballs-Prefix.pch */,
);
name = "Supporting Files";
sourceTree = "<group>";
};
4C7B819515C40F770024D61A /* libs */ = {
isa = PBXGroup;
children = (
4C6EB44415C3CFD300316CB6 /* libpng.a */,
4C7C584A15C31E6500CAE4F4 /* libboost.a */,
4C77831215BABD68003D5142 /* libvorbis-tremor-ios.a */,
4C4C807615BA8F5B0037C6CE /* libz.a */,
4C4C807415BA8F460037C6CE /* libsquirrel.a */,
);
name = libs;
sourceTree = "<group>";
};
4CC1FC3415B200130025C6F7 /* Resources */ = {
isa = PBXGroup;
children = (
4C51D30515BB261E0077EF6A /* iTunesArtwork */,
4C4C807C15BAA3550037C6CE /* Icon.png */,
4C4C807A15BAA33F0037C6CE /* Splash-landscape.png */,
4CE6A9D115B2F979006A3965 /* assets */,
);
name = Resources;
sourceTree = "<group>";
};
4CE6A9BE15B2F773006A3965 /* Products */ = {
isa = PBXGroup;
children = (
4CE6A9C515B2F774006A3965 /* libHalibut Engine.a */,
);
name = Products;
sourceTree = "<group>";
};
4CE6A9E315B2F9A4006A3965 /* DoubleHitBalls */ = {
isa = PBXGroup;
children = (
4CE6A9D315B2F99F006A3965 /* creditscode.cpp */,
4CE6A9D415B2F99F006A3965 /* creditscode.h */,
4CE6A9D515B2F99F006A3965 /* game_area_interface.h */,
4CE6A9D615B2F99F006A3965 /* gamecode.cpp */,
4CE6A9D715B2F99F006A3965 /* gamecode.h */,
4CE6A9D815B2F99F006A3965 /* loadingcode.cpp */,
4CE6A9D915B2F99F006A3965 /* loadingcode.h */,
4CE6A9DA15B2F99F006A3965 /* main_code.cpp */,
4CE6A9DB15B2F99F006A3965 /* main_code.h */,
4CE6A9DC15B2F99F006A3965 /* menucode.cpp */,
4CE6A9DD15B2F99F006A3965 /* menucode.h */,
);
name = DoubleHitBalls;
sourceTree = "<group>";
};
/* End PBXGroup section */
/* Begin PBXNativeTarget section */
4C49B2B815B0991B003512CD /* doublehitballs */ = {
isa = PBXNativeTarget;
buildConfigurationList = 4C49B2E215B0991B003512CD /* Build configuration list for PBXNativeTarget "doublehitballs" */;
buildPhases = (
4C49B2B515B0991B003512CD /* Sources */,
4C49B2B615B0991B003512CD /* Frameworks */,
4C49B2B715B0991B003512CD /* Resources */,
);
buildRules = (
);
dependencies = (
4CE6A9CF15B2F7EE006A3965 /* PBXTargetDependency */,
);
name = doublehitballs;
productName = doublehitballs;
productReference = 4C49B2B915B0991B003512CD /* doublehitballs.app */;
productType = "com.apple.product-type.application";
};
/* End PBXNativeTarget section */
/* Begin PBXProject section */
4C49B2B015B0991B003512CD /* Project object */ = {
isa = PBXProject;
attributes = {
LastUpgradeCheck = 0430;
};
buildConfigurationList = 4C49B2B315B0991B003512CD /* Build configuration list for PBXProject "doublehitballs" */;
compatibilityVersion = "Xcode 3.2";
developmentRegion = English;
hasScannedForEncodings = 0;
knownRegions = (
en,
);
mainGroup = 4C49B2AE15B0991B003512CD;
productRefGroup = 4C49B2BA15B0991B003512CD /* Products */;
projectDirPath = "";
projectReferences = (
{
ProductGroup = 4CE6A9BE15B2F773006A3965 /* Products */;
ProjectRef = 4CE6A9BD15B2F773006A3965 /* Halibut Engine.xcodeproj */;
},
);
projectRoot = "";
targets = (
4C49B2B815B0991B003512CD /* doublehitballs */,
);
};
/* End PBXProject section */
/* Begin PBXReferenceProxy section */
4CE6A9C515B2F774006A3965 /* libHalibut Engine.a */ = {
isa = PBXReferenceProxy;
fileType = archive.ar;
path = "libHalibut Engine.a";
remoteRef = 4CE6A9C415B2F774006A3965 /* PBXContainerItemProxy */;
sourceTree = BUILT_PRODUCTS_DIR;
};
/* End PBXReferenceProxy section */
/* Begin PBXResourcesBuildPhase section */
4C49B2B715B0991B003512CD /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
4C49B2CC15B0991B003512CD /* InfoPlist.strings in Resources */,
4C49B2DC15B0991B003512CD /* ViewController_iPhone.xib in Resources */,
4C49B2DF15B0991B003512CD /* ViewController_iPad.xib in Resources */,
4CE6A9D215B2F979006A3965 /* assets in Resources */,
4C4C807B15BAA33F0037C6CE /* Splash-landscape.png in Resources */,
4C4C807D15BAA3550037C6CE /* Icon.png in Resources */,
4C51D30615BB261E0077EF6A /* iTunesArtwork in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXResourcesBuildPhase section */
/* Begin PBXSourcesBuildPhase section */
4C49B2B515B0991B003512CD /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
4C49B2CE15B0991B003512CD /* main.m in Sources */,
4C49B2D215B0991B003512CD /* AppDelegate.m in Sources */,
4C49B2D915B0991B003512CD /* ViewController.m in Sources */,
4C7AD44C15B1D77700A599F6 /* ios_api.cpp in Sources */,
4CE6A9DE15B2F99F006A3965 /* creditscode.cpp in Sources */,
4CE6A9DF15B2F99F006A3965 /* gamecode.cpp in Sources */,
4CE6A9E015B2F99F006A3965 /* loadingcode.cpp in Sources */,
4CE6A9E115B2F99F006A3965 /* main_code.cpp in Sources */,
4CE6A9E215B2F99F006A3965 /* menucode.cpp in Sources */,
4CCC0ECC15B30D6B005432FB /* CustomGLKView.m in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXSourcesBuildPhase section */
/* Begin PBXTargetDependency section */
4CE6A9CF15B2F7EE006A3965 /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
name = "Halibut Engine";
targetProxy = 4CE6A9CE15B2F7EE006A3965 /* PBXContainerItemProxy */;
};
/* End PBXTargetDependency section */
/* Begin PBXVariantGroup section */
4C49B2CA15B0991B003512CD /* InfoPlist.strings */ = {
isa = PBXVariantGroup;
children = (
4C49B2CB15B0991B003512CD /* en */,
);
name = InfoPlist.strings;
sourceTree = "<group>";
};
4C49B2DA15B0991B003512CD /* ViewController_iPhone.xib */ = {
isa = PBXVariantGroup;
children = (
4C49B2DB15B0991B003512CD /* en */,
);
name = ViewController_iPhone.xib;
sourceTree = "<group>";
};
4C49B2DD15B0991B003512CD /* ViewController_iPad.xib */ = {
isa = PBXVariantGroup;
children = (
4C49B2DE15B0991B003512CD /* en */,
);
name = ViewController_iPad.xib;
sourceTree = "<group>";
};
/* End PBXVariantGroup section */
/* Begin XCBuildConfiguration section */
4C49B2E015B0991B003512CD /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
ARCHS = "$(ARCHS_STANDARD_32_BIT)";
CLANG_ENABLE_OBJC_ARC = YES;
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
COPY_PHASE_STRIP = NO;
GCC_C_LANGUAGE_STANDARD = gnu99;
GCC_DYNAMIC_NO_PIC = NO;
GCC_OPTIMIZATION_LEVEL = 0;
GCC_PREPROCESSOR_DEFINITIONS = (
"DEBUG=1",
"$(inherited)",
);
GCC_SYMBOLS_PRIVATE_EXTERN = NO;
GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
GCC_WARN_ABOUT_RETURN_TYPE = YES;
GCC_WARN_UNINITIALIZED_AUTOS = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 5.1;
SDKROOT = iphoneos;
TARGETED_DEVICE_FAMILY = "1,2";
};
name = Debug;
};
4C49B2E115B0991B003512CD /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
ARCHS = "$(ARCHS_STANDARD_32_BIT)";
CLANG_ENABLE_OBJC_ARC = YES;
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
COPY_PHASE_STRIP = YES;
GCC_C_LANGUAGE_STANDARD = gnu99;
GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
GCC_WARN_ABOUT_RETURN_TYPE = YES;
GCC_WARN_UNINITIALIZED_AUTOS = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 5.1;
OTHER_CFLAGS = "-DNS_BLOCK_ASSERTIONS=1";
SDKROOT = iphoneos;
TARGETED_DEVICE_FAMILY = "1,2";
VALIDATE_PRODUCT = YES;
};
name = Release;
};
4C49B2E315B0991B003512CD /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
CLANG_CXX_LANGUAGE_STANDARD = "c++0x";
CLANG_CXX_LIBRARY = "libc++";
GCC_INLINES_ARE_PRIVATE_EXTERN = NO;
GCC_PRECOMPILE_PREFIX_HEADER = YES;
GCC_PREFIX_HEADER = "doublehitballs/doublehitballs-Prefix.pch";
GCC_PREPROCESSOR_DEFINITIONS = (
TARGET_IOS,
TARGET_HALIBUT,
DEBUG,
"$(inherited)",
BOOST_NO_CXX11_NUMERIC_LIMITS,
);
"GCC_THUMB_SUPPORT[arch=armv6]" = "";
HEADER_SEARCH_PATHS = (
"$(SalmonEnginePath)",
"$(LibsPath)/lpng1510",
"$(LibsPath)/sqplus/sqplus",
"$(LibsPath)/sqplus/include",
"$(LibsPath)/boost_1_52_0",
../jni,
"$(LibsPath)/vorbis-tremor-ios/vorbis",
);
INFOPLIST_FILE = "doublehitballs/doublehitballs-Info.plist";
IPHONEOS_DEPLOYMENT_TARGET = 5.0;
LIBRARY_SEARCH_PATHS = (
"$(inherited)",
"\"$(SRCROOT)/../../../libs/boost_1_52_0/build-ios/ios-simulator\"",
"\"$(SRCROOT)/../../../libs/boost_1_52_0/build-ios/ios-device\"",
);
"LIBRARY_SEARCH_PATHS[sdk=iphoneos*]" = (
"$(LibsPath)/lpng1510/build-ios/ios-device",
"$(LibsPath)/boost_1_52_0/build-ios/ios-device",
"$(LibsPath)/sqplus/build-ios/ios-device",
"$(LibsPath)/zlib-1.2.6/build-ios/ios-device",
"$(LibsPath)/vorbis-tremor-ios/build-ios/ios-device",
);
"LIBRARY_SEARCH_PATHS[sdk=iphonesimulator*]" = (
"$(LibsPath)/lpng1510/build-ios/ios-simulator",
"$(LibsPath)/sqplus/build-ios/ios-simulator",
"$(LibsPath)/boost_1_52_0/build-ios/ios-simulator",
"$(LibsPath)/zlib-1.2.6/build-ios/ios-simulator",
"$(LibsPath)/vorbis-tremor-ios/build-ios/ios-simulator",
);
PRODUCT_NAME = "$(TARGET_NAME)";
SYMROOT = build;
TARGETED_DEVICE_FAMILY = 1;
USER_HEADER_SEARCH_PATHS = "";
WRAPPER_EXTENSION = app;
};
name = Debug;
};
4C49B2E415B0991B003512CD /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
CLANG_CXX_LANGUAGE_STANDARD = "c++0x";
CLANG_CXX_LIBRARY = "libc++";
GCC_INLINES_ARE_PRIVATE_EXTERN = NO;
GCC_PRECOMPILE_PREFIX_HEADER = YES;
GCC_PREFIX_HEADER = "doublehitballs/doublehitballs-Prefix.pch";
GCC_PREPROCESSOR_DEFINITIONS = (
TARGET_IOS,
TARGET_HALIBUT,
BOOST_NO_CXX11_NUMERIC_LIMITS,
);
GCC_SYMBOLS_PRIVATE_EXTERN = NO;
"GCC_THUMB_SUPPORT[arch=armv6]" = "";
HEADER_SEARCH_PATHS = (
"$(SalmonEnginePath)",
"$(LibsPath)/lpng1510",
"$(LibsPath)/sqplus/sqplus",
"$(LibsPath)/sqplus/include",
"$(LibsPath)/boost_1_52_0",
../jni,
"$(LibsPath)/vorbis-tremor-ios/vorbis",
);
INFOPLIST_FILE = "doublehitballs/doublehitballs-Info.plist";
IPHONEOS_DEPLOYMENT_TARGET = 5.0;
LIBRARY_SEARCH_PATHS = (
"$(inherited)",
"\"$(SRCROOT)/../../../libs/boost_1_52_0/build-ios/ios-simulator\"",
"\"$(SRCROOT)/../../../libs/boost_1_52_0/build-ios/ios-device\"",
);
"LIBRARY_SEARCH_PATHS[sdk=iphoneos*]" = (
"$(LibsPath)/l1510/build-ios/ios-device",
"$(LibsPath)/boost_1_52_0/build-ios/ios-device",
"$(LibsPath)/sqplus/build-ios/ios-device",
"$(LibsPath)/zlib-1.2.6/build-ios/ios-device",
"$(LibsPath)/vorbis-tremor-ios/build-ios/ios-device",
);
"LIBRARY_SEARCH_PATHS[sdk=iphonesimulator*]" = (
"$(LibsPath)/lpng1510/build-ios/ios-simulator",
"$(LibsPath)/sqplus/build-ios/ios-simulator",
"$(LibsPath)/boost_1_52_0/build-ios/ios-simulator",
"$(LibsPath)/zlib-1.2.6/build-ios/ios-simulator",
"$(LibsPath)/vorbis-tremor-ios/build-ios/ios-simulator",
);
PRODUCT_NAME = "$(TARGET_NAME)";
TARGETED_DEVICE_FAMILY = 1;
USER_HEADER_SEARCH_PATHS = "";
WRAPPER_EXTENSION = app;
};
name = Release;
};
/* End XCBuildConfiguration section */
/* Begin XCConfigurationList section */
4C49B2B315B0991B003512CD /* Build configuration list for PBXProject "doublehitballs" */ = {
isa = XCConfigurationList;
buildConfigurations = (
4C49B2E015B0991B003512CD /* Debug */,
4C49B2E115B0991B003512CD /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
4C49B2E215B0991B003512CD /* Build configuration list for PBXNativeTarget "doublehitballs" */ = {
isa = XCConfigurationList;
buildConfigurations = (
4C49B2E315B0991B003512CD /* Debug */,
4C49B2E415B0991B003512CD /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
/* End XCConfigurationList section */
};
rootObject = 4C49B2B015B0991B003512CD /* Project object */;
}

View File

@ -0,0 +1,19 @@
//
// AppDelegate.h
// doublehitballs
//
// Created by vvv ооо on 13.07.12.
// Copyright (c) 2012 __MyCompanyName__. All rights reserved.
//
#import <UIKit/UIKit.h>
@class ViewController;
@interface AppDelegate : UIResponder <UIApplicationDelegate>
@property (strong, nonatomic) UIWindow *window;
@property (strong, nonatomic) ViewController *viewController;
@end

View File

@ -0,0 +1,59 @@
//
// AppDelegate.m
// doublehitballs
//
// Created by vvv ооо on 13.07.12.
// Copyright (c) 2012 __MyCompanyName__. All rights reserved.
//
#import "AppDelegate.h"
#import "ViewController.h"
@implementation AppDelegate
@synthesize window = _window;
@synthesize viewController = _viewController;
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
// Override point for customization after application launch.
if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPhone) {
self.viewController = [[ViewController alloc] initWithNibName:@"ViewController_iPhone" bundle:nil];
} else {
self.viewController = [[ViewController alloc] initWithNibName:@"ViewController_iPad" bundle:nil];
}
self.window.rootViewController = self.viewController;
[self.window makeKeyAndVisible];
return YES;
}
- (void)applicationWillResignActive:(UIApplication *)application
{
// Sent when the application is about to move from active to inactive state. This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message) or when the user quits the application and it begins the transition to the background state.
// Use this method to pause ongoing tasks, disable timers, and throttle down OpenGL ES frame rates. Games should use this method to pause the game.
}
- (void)applicationDidEnterBackground:(UIApplication *)application
{
// Use this method to release shared resources, save user data, invalidate timers, and store enough application state information to restore your application to its current state in case it is terminated later.
// If your application supports background execution, this method is called instead of applicationWillTerminate: when the user quits.
}
- (void)applicationWillEnterForeground:(UIApplication *)application
{
// Called as part of the transition from the background to the inactive state; here you can undo many of the changes made on entering the background.
}
- (void)applicationDidBecomeActive:(UIApplication *)application
{
// Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface.
}
- (void)applicationWillTerminate:(UIApplication *)application
{
// Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:.
}
@end

View File

@ -0,0 +1,17 @@
//
// CustomGLKView.h
// doublehitballs
//
// Created by vvv ооо on 15.07.12.
// Copyright (c) 2012 __MyCompanyName__. All rights reserved.
//
#import <GLKit/GLKit.h>
@interface CustomGLKView : GLKView
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event;
- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event;
- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event;
@end

View File

@ -0,0 +1,68 @@
//
// CustomGLKView.m
// doublehitballs
//
// Created by vvv ооо on 15.07.12.
// Copyright (c) 2012 __MyCompanyName__. All rights reserved.
//
#import "CustomGLKView.h"
#import "ios_api.h"
bool touchMoved = false;
CGPoint prev_loc;
@implementation CustomGLKView
- (id)initWithFrame:(CGRect)frame
{
self = [super initWithFrame:frame];
if (self) {
// Initialization code
}
return self;
}
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
CGPoint location = [[[touches allObjects] objectAtIndex:0] locationInView:self];
prev_loc = location;
touchMoved = false;
AppOnTapDown(location.x, self.bounds.size.height - location.y);
}
- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event
{
CGPoint location = [[[touches allObjects] objectAtIndex:0] locationInView:self];
CGPoint prevLocation = [[[touches allObjects] objectAtIndex:0] previousLocationInView:self];
if (abs(prev_loc.x - location.x) > 10 || abs(prev_loc.y - location.y) > 10)
{
touchMoved = true;
}
AppOnScroll(prevLocation.x - location.x, prevLocation.y - location.y);
}
- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event
{
CGPoint location = [[[touches allObjects] objectAtIndex:0] locationInView:self];
if (!touchMoved)
{
AppOnTapUp(location.x, self.bounds.size.height - location.y);
}
}
@end

View File

@ -0,0 +1,14 @@
//
// ViewController.h
// doublehitballs
//
// Created by vvv ооо on 13.07.12.
// Copyright (c) 2012 __MyCompanyName__. All rights reserved.
//
#import <UIKit/UIKit.h>
#import <GLKit/GLKit.h>
@interface ViewController : GLKViewController
@end

View File

@ -0,0 +1,106 @@
//
// ViewController.m
// doublehitballs
//
// Created by vvv ооо on 13.07.12.
// Copyright (c) 2012 __MyCompanyName__. All rights reserved.
//
#import "ViewController.h"
#import "ios_api.h"
@interface ViewController () {
}
@property (strong, nonatomic) EAGLContext *context;
@property (strong, nonatomic) GLKBaseEffect *effect;
- (void)setupGL;
- (void)tearDownGL;
@end
@implementation ViewController
@synthesize context = _context;
@synthesize effect = _effect;
- (void)viewDidLoad
{
[super viewDidLoad];
self.context = [[EAGLContext alloc] initWithAPI:kEAGLRenderingAPIOpenGLES2];
if (!self.context) {
NSLog(@"Failed to create ES context");
}
GLKView *view = (GLKView *)self.view;
view.context = self.context;
view.drawableDepthFormat = GLKViewDrawableDepthFormat24;
[self setupGL];
}
- (void)viewDidUnload
{
[super viewDidUnload];
[self tearDownGL];
if ([EAGLContext currentContext] == self.context) {
[EAGLContext setCurrentContext:nil];
}
self.context = nil;
}
- (void)didReceiveMemoryWarning
{
[super didReceiveMemoryWarning];
// Release any cached data, images, etc. that aren't in use.
}
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
/*
if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPhone) {
return (interfaceOrientation != UIInterfaceOrientationPortraitUpsideDown);
} else {
return YES;
}*/
return UIInterfaceOrientationIsLandscape(interfaceOrientation);
}
- (void)setupGL
{
[EAGLContext setCurrentContext:self.context];
AppInit();
}
- (void)tearDownGL
{
[EAGLContext setCurrentContext:self.context];
AppDeinit();
}
#pragma mark - GLKView and GLKViewController delegate methods
- (void)update
{
AppUpdate(self.timeSinceLastUpdate * 1000);
}
- (void)glkView:(GLKView *)view drawInRect:(CGRect)rect
{
AppDraw();
}
@end

View File

@ -0,0 +1,50 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>en</string>
<key>CFBundleDisplayName</key>
<string>2x Hit Balls</string>
<key>CFBundleExecutable</key>
<string>${EXECUTABLE_NAME}</string>
<key>CFBundleIconFile</key>
<string>Icon.png</string>
<key>CFBundleIdentifier</key>
<string>fishrungames.doublehitballs</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>${PRODUCT_NAME}</string>
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
<string>1.0</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>1.0</string>
<key>LSRequiresIPhoneOS</key>
<true/>
<key>UILaunchImageFile</key>
<string>Splash-landscape.png</string>
<key>UIPrerenderedIcon</key>
<true/>
<key>UIRequiredDeviceCapabilities</key>
<array>
<string>armv7</string>
</array>
<key>UIStatusBarHidden</key>
<true/>
<key>UISupportedInterfaceOrientations</key>
<array>
<string>UIInterfaceOrientationLandscapeLeft</string>
<string>UIInterfaceOrientationLandscapeRight</string>
</array>
<key>UISupportedInterfaceOrientations~ipad</key>
<array>
<string>UIInterfaceOrientationLandscapeLeft</string>
<string>UIInterfaceOrientationLandscapeRight</string>
</array>
</dict>
</plist>

View File

@ -0,0 +1,14 @@
//
// Prefix header for all source files of the 'doublehitballs' target in the 'doublehitballs' project
//
#import <Availability.h>
#ifndef __IPHONE_5_0
#warning "This project uses features only available in iOS SDK 5.0 and later."
#endif
#ifdef __OBJC__
#import <UIKit/UIKit.h>
#import <Foundation/Foundation.h>
#endif

View File

@ -0,0 +1,2 @@
/* Localized versions of Info.plist keys */

View File

@ -0,0 +1,133 @@
<?xml version="1.0" encoding="UTF-8"?>
<archive type="com.apple.InterfaceBuilder3.CocoaTouch.iPad.XIB" version="8.00">
<data>
<int key="IBDocument.SystemTarget">1296</int>
<string key="IBDocument.SystemVersion">11E53</string>
<string key="IBDocument.InterfaceBuilderVersion">2182</string>
<string key="IBDocument.AppKitVersion">1138.47</string>
<string key="IBDocument.HIToolboxVersion">569.00</string>
<object class="NSMutableDictionary" key="IBDocument.PluginVersions">
<string key="NS.key.0">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
<string key="NS.object.0">1181</string>
</object>
<array key="IBDocument.IntegratedClassDependencies">
<string>IBProxyObject</string>
<string>IBUIView</string>
</array>
<array key="IBDocument.PluginDependencies">
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
</array>
<object class="NSMutableDictionary" key="IBDocument.Metadata">
<string key="NS.key.0">PluginDependencyRecalculationVersion</string>
<integer value="1" key="NS.object.0"/>
</object>
<array class="NSMutableArray" key="IBDocument.RootObjects" id="1000">
<object class="IBProxyObject" id="372490531">
<string key="IBProxiedObjectIdentifier">IBFilesOwner</string>
<string key="targetRuntimeIdentifier">IBIPadFramework</string>
</object>
<object class="IBProxyObject" id="975951072">
<string key="IBProxiedObjectIdentifier">IBFirstResponder</string>
<string key="targetRuntimeIdentifier">IBIPadFramework</string>
</object>
<object class="IBUIView" id="191373211">
<reference key="NSNextResponder"/>
<int key="NSvFlags">274</int>
<string key="NSFrame">{{0, 20}, {768, 1004}}</string>
<reference key="NSSuperview"/>
<reference key="NSWindow"/>
<object class="NSColor" key="IBUIBackgroundColor">
<int key="NSColorSpace">3</int>
<bytes key="NSWhite">MQA</bytes>
<object class="NSColorSpace" key="NSCustomColorSpace">
<int key="NSID">2</int>
</object>
</object>
<object class="IBUISimulatedStatusBarMetrics" key="IBUISimulatedStatusBarMetrics">
<int key="IBUIStatusBarStyle">2</int>
</object>
<string key="targetRuntimeIdentifier">IBIPadFramework</string>
</object>
</array>
<object class="IBObjectContainer" key="IBDocument.Objects">
<array class="NSMutableArray" key="connectionRecords">
<object class="IBConnectionRecord">
<object class="IBCocoaTouchOutletConnection" key="connection">
<string key="label">view</string>
<reference key="source" ref="372490531"/>
<reference key="destination" ref="191373211"/>
</object>
<int key="connectionID">3</int>
</object>
</array>
<object class="IBMutableOrderedSet" key="objectRecords">
<array key="orderedObjects">
<object class="IBObjectRecord">
<int key="objectID">0</int>
<array key="object" id="0"/>
<reference key="children" ref="1000"/>
<nil key="parent"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">1</int>
<reference key="object" ref="191373211"/>
<reference key="parent" ref="0"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">-1</int>
<reference key="object" ref="372490531"/>
<reference key="parent" ref="0"/>
<string key="objectName">File's Owner</string>
</object>
<object class="IBObjectRecord">
<int key="objectID">-2</int>
<reference key="object" ref="975951072"/>
<reference key="parent" ref="0"/>
</object>
</array>
</object>
<dictionary class="NSMutableDictionary" key="flattenedProperties">
<string key="-1.CustomClassName">ViewController</string>
<string key="-1.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
<string key="-2.CustomClassName">UIResponder</string>
<string key="-2.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
<string key="1.CustomClassName">CustomGLKView</string>
<string key="1.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
</dictionary>
<dictionary class="NSMutableDictionary" key="unlocalizedProperties"/>
<nil key="activeLocalization"/>
<dictionary class="NSMutableDictionary" key="localizations"/>
<nil key="sourceID"/>
<int key="maxID">3</int>
</object>
<object class="IBClassDescriber" key="IBDocument.Classes">
<array class="NSMutableArray" key="referencedPartialClassDescriptions">
<object class="IBPartialClassDescription">
<string key="className">CustomGLKView</string>
<string key="superclassName">GLKView</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBProjectSource</string>
<string key="minorKey">./Classes/CustomGLKView.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">ViewController</string>
<string key="superclassName">GLKViewController</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBProjectSource</string>
<string key="minorKey">./Classes/ViewController.h</string>
</object>
</object>
</array>
</object>
<int key="IBDocument.localizationMode">0</int>
<string key="IBDocument.TargetRuntimeIdentifier">IBIPadFramework</string>
<object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDependencyDefaults">
<string key="NS.key.0">com.apple.InterfaceBuilder.CocoaTouchPlugin.iPhoneOS</string>
<real value="1296" key="NS.object.0"/>
</object>
<bool key="IBDocument.PluginDeclaredDependenciesTrackSystemTargetVersion">YES</bool>
<int key="IBDocument.defaultPropertyAccessControl">3</int>
<string key="IBCocoaTouchPluginVersion">1181</string>
</data>
</archive>

View File

@ -0,0 +1,111 @@
<?xml version="1.0" encoding="UTF-8"?>
<archive type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="8.00">
<data>
<int key="IBDocument.SystemTarget">1296</int>
<string key="IBDocument.SystemVersion">11E53</string>
<string key="IBDocument.InterfaceBuilderVersion">2182</string>
<string key="IBDocument.AppKitVersion">1138.47</string>
<string key="IBDocument.HIToolboxVersion">569.00</string>
<object class="NSMutableDictionary" key="IBDocument.PluginVersions">
<string key="NS.key.0">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
<string key="NS.object.0">1181</string>
</object>
<array key="IBDocument.IntegratedClassDependencies">
<string>IBProxyObject</string>
<string>IBUIView</string>
</array>
<array key="IBDocument.PluginDependencies">
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
</array>
<object class="NSMutableDictionary" key="IBDocument.Metadata">
<string key="NS.key.0">PluginDependencyRecalculationVersion</string>
<integer value="1" key="NS.object.0"/>
</object>
<array class="NSMutableArray" key="IBDocument.RootObjects" id="1000">
<object class="IBProxyObject" id="841351856">
<string key="IBProxiedObjectIdentifier">IBFilesOwner</string>
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
</object>
<object class="IBProxyObject" id="371349661">
<string key="IBProxiedObjectIdentifier">IBFirstResponder</string>
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
</object>
<object class="IBUIView" id="184854543">
<reference key="NSNextResponder"/>
<int key="NSvFlags">274</int>
<string key="NSFrameSize">{320, 460}</string>
<reference key="NSSuperview"/>
<object class="NSColor" key="IBUIBackgroundColor">
<int key="NSColorSpace">3</int>
<bytes key="NSWhite">MQA</bytes>
<object class="NSColorSpace" key="NSCustomColorSpace">
<int key="NSID">2</int>
</object>
</object>
<bool key="IBUIClearsContextBeforeDrawing">NO</bool>
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
</object>
</array>
<object class="IBObjectContainer" key="IBDocument.Objects">
<array class="NSMutableArray" key="connectionRecords">
<object class="IBConnectionRecord">
<object class="IBCocoaTouchOutletConnection" key="connection">
<string key="label">view</string>
<reference key="source" ref="841351856"/>
<reference key="destination" ref="184854543"/>
</object>
<int key="connectionID">3</int>
</object>
</array>
<object class="IBMutableOrderedSet" key="objectRecords">
<array key="orderedObjects">
<object class="IBObjectRecord">
<int key="objectID">0</int>
<array key="object" id="0"/>
<reference key="children" ref="1000"/>
<nil key="parent"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">-1</int>
<reference key="object" ref="841351856"/>
<reference key="parent" ref="0"/>
<string key="objectName">File's Owner</string>
</object>
<object class="IBObjectRecord">
<int key="objectID">-2</int>
<reference key="object" ref="371349661"/>
<reference key="parent" ref="0"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">2</int>
<reference key="object" ref="184854543"/>
<reference key="parent" ref="0"/>
</object>
</array>
</object>
<dictionary class="NSMutableDictionary" key="flattenedProperties">
<string key="-1.CustomClassName">ViewController</string>
<string key="-1.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
<string key="-2.CustomClassName">UIResponder</string>
<string key="-2.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
<string key="2.CustomClassName">CustomGLKView</string>
<string key="2.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
</dictionary>
<dictionary class="NSMutableDictionary" key="unlocalizedProperties"/>
<nil key="activeLocalization"/>
<dictionary class="NSMutableDictionary" key="localizations"/>
<nil key="sourceID"/>
<int key="maxID">4</int>
</object>
<object class="IBClassDescriber" key="IBDocument.Classes"/>
<int key="IBDocument.localizationMode">0</int>
<string key="IBDocument.TargetRuntimeIdentifier">IBCocoaTouchFramework</string>
<object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDependencyDefaults">
<string key="NS.key.0">com.apple.InterfaceBuilder.CocoaTouchPlugin.iPhoneOS</string>
<real value="1296" key="NS.object.0"/>
</object>
<bool key="IBDocument.PluginDeclaredDependenciesTrackSystemTargetVersion">YES</bool>
<int key="IBDocument.defaultPropertyAccessControl">3</int>
<string key="IBCocoaTouchPluginVersion">1181</string>
</data>
</archive>

View File

@ -0,0 +1,48 @@
#include "include/Engine.h"
#include "main_code.h"
TAndroidApplication* App = NULL;
extern "C" void AppInit()
{
App = new TAndroidApplication;
//App->OuterInit(320, 480, 320, 480);
App->OuterInit(480, 320, 480, 320);
}
extern "C" void AppDeinit()
{
App->OuterDeinit();
delete App;
}
extern "C" void AppUpdate(int dt)
{
App->OuterUpdate(dt);
}
extern "C" void AppDraw()
{
App->OuterDraw();
}
extern "C" void AppOnTapDown(int posx, int posy)
{
App->OuterOnTapDown(vec2(posx, posy));
}
extern "C" void AppOnTapUp(int posx, int posy)
{
App->OuterOnTapUp(vec2(posx, posy));
}
extern "C" void AppOnScroll(int shiftx, int shifty)
{
App->OuterOnMove(vec2(shiftx, shifty));
}

View File

@ -0,0 +1,15 @@
//
// Header.h
// doublehitballs
//
// Created by vvv ооо on 15.07.12.
// Copyright (c) 2012 __MyCompanyName__. All rights reserved.
//
void AppInit();
void AppDeinit();
void AppUpdate(int dt);
void AppDraw();
void AppOnTapDown(int posx, int posy);
void AppOnTapUp(int posx, int posy);
void AppOnScroll(int shiftx, int shifty);

18
ios/doublehitballs/main.m Normal file
View File

@ -0,0 +1,18 @@
//
// main.m
// doublehitballs
//
// Created by vvv ооо on 13.07.12.
// Copyright (c) 2012 __MyCompanyName__. All rights reserved.
//
#import <UIKit/UIKit.h>
#import "AppDelegate.h"
int main(int argc, char *argv[])
{
@autoreleasepool {
return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));
}
}

BIN
ios/iTunesArtwork Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 354 KiB

76
jni/Android.mk Normal file
View File

@ -0,0 +1,76 @@
# Copyright (C) 2009 The Android Open Source Project
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
LPATH := $(call my-dir)
ENGINE_PATH = $(SalmonEnginePathCygwin)
#BOOST_PATH = $(LibsPathCygwin)/boost_1_47_0
BOOST_PATH = $(LibsPathCygwin)/boost_1_52_0
OGG_PATH = $(LibsPathCygwin)/libogg-1.3.0
VORBIS_PATH = $(LibsPathCygwin)/libvorbis-1.3.2
SQUIRREL_PATH = $(LibsPathCygwin)/sqplus
LIBPNG_PATH = $(LibsPathCygwin)/libpng_1.4.1_android
ZIP_PATH = $(LibsPathCygwin)/julienr-libzip-android/jni
#====== ENGINE AND LIBS =====================
include $(ENGINE_PATH)/Android_Engine.mk
#================= THE GAME =======================
LOCAL_PATH:= $(LPATH)
include $(CLEAR_VARS)
LOCAL_CFLAGS := -DTARGET_ANDROID -DTARGET_HALIBUT -std=gnu++11
LOCAL_STATIC_LIBRARIES := boost
LOCAL_STATIC_LIBRARIES += squirrel
LOCAL_STATIC_LIBRARIES += png_lib
LOCAL_STATIC_LIBRARIES += zip
LOCAL_SHARED_LIBRARIES := HalibutEngine
LOCAL_C_INCLUDES := $(ENGINE_PATH)
LOCAL_C_INCLUDES += $(BOOST_PATH)
LOCAL_C_INCLUDES += $(VORBIS_PATH)/include
LOCAL_C_INCLUDES += $(VORBIS_PATH)/include/vorbis
LOCAL_C_INCLUDES += $(VORBIS_PATH)/lib
LOCAL_C_INCLUDES += $(VORBIS_PATH)/lib/books
LOCAL_C_INCLUDES += $(VORBIS_PATH)/lib/modes
LOCAL_C_INCLUDES += $(OGG_PATH)/include
LOCAL_C_INCLUDES += $(OGG_PATH)/include/ogg
LOCAL_C_INCLUDES += $(SQUIRREL_PATH)/include
LOCAL_C_INCLUDES += $(SQUIRREL_PATH)/sqplus
LOCAL_C_INCLUDES += $(SQUIRREL_PATH)/squirrel
LOCAL_C_INCLUDES += $(SQUIRREL_PATH)/sqstdlib
LOCAL_C_INCLUDES += $(LIBPNG_PATH)
LOCAL_C_INCLUDES += $(ZIP_PATH)
LOCAL_MODULE := gl2jni
LOCAL_SRC_FILES := main_code.cpp
LOCAL_SRC_FILES += android_api.cpp
LOCAL_SRC_FILES += menucode.cpp
LOCAL_SRC_FILES += gamecode.cpp
LOCAL_SRC_FILES += loadingcode.cpp
LOCAL_SRC_FILES += creditscode.cpp
LOCAL_LDLIBS := -lGLESv2
LOCAL_LDLIBS += -llog -Wl,-s
include $(BUILD_SHARED_LIBRARY)

3
jni/Application.mk Normal file
View File

@ -0,0 +1,3 @@
APP_STL := gnustl_static
APP_CPPFLAGS += -fexceptions
APP_CPPFLAGS += -frtti

179
jni/DoubleHitBalls.dev Normal file
View File

@ -0,0 +1,179 @@
[Project]
FileName=DoubleHitBalls.dev
Name=DoubleHitBalls
UnitCount=13
Type=1
Ver=1
ObjFiles=
Includes=C:\Workplace\Projects\Engine;C:\Workplace\android-ndk-r6b\platforms\android-8\arch-arm\usr\include;C:\Workplace\libs\boost_1_47_0;C:\Workplace\libs\openal;C:\Workplace\libs\libvorbis-1.3.2\include;C:\Workplace\libs\libogg-1.3.0\include
Libs=
PrivateResource=
ResourceIncludes=
MakeIncludes=
Compiler=-DTARGET_ANDROID_@@_
CppCompiler=-DTARGET_ANDROID_@@_
Linker=
IsCpp=1
Icon=
ExeOutput=
ObjectOutput=
OverrideOutput=0
OverrideOutputName=DoubleHitBalls.exe
HostApplication=
Folders=
CommandLine=
UseCustomMakefile=0
CustomMakefile=
IncludeVersionInfo=0
SupportXPThemes=0
CompilerSet=0
CompilerSettings=0000000000000000000000
[Unit1]
FileName=main_code.cpp
CompileCpp=1
Folder=DoubleHitBalls
Compile=1
Link=1
Priority=1000
OverrideBuildCmd=0
BuildCmd=
[Unit2]
FileName=main_code.h
CompileCpp=1
Folder=DoubleHitBalls
Compile=1
Link=1
Priority=1000
OverrideBuildCmd=0
BuildCmd=
[Unit3]
FileName=menucode.cpp
CompileCpp=1
Folder=DoubleHitBalls
Compile=1
Link=1
Priority=1000
OverrideBuildCmd=0
BuildCmd=
[Unit4]
FileName=menucode.h
CompileCpp=1
Folder=DoubleHitBalls
Compile=1
Link=1
Priority=1000
OverrideBuildCmd=0
BuildCmd=
[VersionInfo]
Major=0
Minor=1
Release=1
Build=1
LanguageID=1033
CharsetID=1252
CompanyName=
FileVersion=
FileDescription=Developed using the Dev-C++ IDE
InternalName=
LegalCopyright=
LegalTrademarks=
OriginalFilename=
ProductName=
ProductVersion=
AutoIncBuildNr=0
[Unit5]
FileName=gamecode.h
CompileCpp=1
Folder=DoubleHitBalls
Compile=1
Link=1
Priority=1000
OverrideBuildCmd=0
BuildCmd=
[Unit6]
FileName=gamecode.cpp
CompileCpp=1
Folder=DoubleHitBalls
Compile=1
Link=1
Priority=1000
OverrideBuildCmd=0
BuildCmd=
[Unit7]
FileName=game_area_interface.h
CompileCpp=1
Folder=DoubleHitBalls
Compile=1
Link=1
Priority=1000
OverrideBuildCmd=0
BuildCmd=
[Unit8]
FileName=creditscode.cpp
CompileCpp=1
Folder=DoubleHitBalls
Compile=1
Link=1
Priority=1000
OverrideBuildCmd=0
BuildCmd=
[Unit9]
FileName=creditscode.h
CompileCpp=1
Folder=DoubleHitBalls
Compile=1
Link=1
Priority=1000
OverrideBuildCmd=0
BuildCmd=
[Unit10]
FileName=loadingcode.cpp
CompileCpp=1
Folder=DoubleHitBalls
Compile=1
Link=1
Priority=1000
OverrideBuildCmd=0
BuildCmd=
[Unit11]
FileName=loadingcode.h
CompileCpp=1
Folder=DoubleHitBalls
Compile=1
Link=1
Priority=1000
OverrideBuildCmd=0
BuildCmd=
[Unit12]
FileName=android_api.cpp
CompileCpp=1
Folder=DoubleHitBalls
Compile=1
Link=1
Priority=1000
OverrideBuildCmd=0
BuildCmd=
[Unit13]
FileName=android_api.h
CompileCpp=1
Folder=DoubleHitBalls
Compile=1
Link=1
Priority=1000
OverrideBuildCmd=0
BuildCmd=

177
jni/android_api.cpp Normal file
View File

@ -0,0 +1,177 @@
#include "android_api.h"
#include "main_code.h"
boost::shared_ptr<TAndroidApplication> App(new TAndroidApplication);
JNIEXPORT void JNICALL Java_fishrungames_doublehitballs_JniWrapper_Init(JNIEnv * env, jobject obj, jint width, jint height)
{
try
{
App->OuterInit(width, height, 480.f, 320.f);
}
catch (ErrorCommon e)
{
throw;
}
}
JNIEXPORT void JNICALL Java_fishrungames_doublehitballs_JniWrapper_StopSounds(JNIEnv * env, jobject obj)
{
try
{
App->OuterDeinit(); //Clean up what is left at previous launch (if applicable)
}
catch (ErrorCommon e)
{
throw;
}
}
JNIEXPORT void JNICALL Java_fishrungames_doublehitballs_JniWrapper_Update(JNIEnv * env, jobject obj, long dt)
{
try
{
if (!App->IsInited())
{
return;
}
App->OuterDraw();
App->OuterUpdate(dt);
}
catch (ErrorCommon e)
{
throw;
}
}
JNIEXPORT int JNICALL Java_fishrungames_doublehitballs_JniWrapper_IsInited(JNIEnv * env, jobject obj)
{
try
{
if (App->IsInited())
{
return 1;
}
else
{
return 0;
}
}
catch (ErrorCommon e)
{
throw;
}
}
JNIEXPORT void JNICALL Java_fishrungames_doublehitballs_JniWrapper_Destroy(JNIEnv * env, jobject obj)
{
try
{
*Console<<"Destroy!!!\n";
}
catch (ErrorCommon e)
{
throw;
}
}
JNIEXPORT void JNICALL Java_fishrungames_doublehitballs_JniWrapper_OnTapDown(JNIEnv * env, jobject obj, float x, float y, long time)
{
try
{
if (!App->IsInited())
{
return;
}
x = x * 480.f / Renderer->GetScreenWidth();
y = y * 320.f / Renderer->GetScreenHeight();
//*Console<<"Tap down "<<tostr(Renderer->GetScreenHeight())<<" "<<tostr(y)<<endl;
OnTapDownSignal(vec2(x, y));
}
catch (ErrorCommon e)
{
throw;
}
}
JNIEXPORT void JNICALL Java_fishrungames_doublehitballs_JniWrapper_OnTapUp(JNIEnv * env, jobject obj, float x, float y, long time)
{
try
{
if (!App->IsInited())
{
return;
}
x = x * 480.f / Renderer->GetScreenWidth();
y = y * 320.f / Renderer->GetScreenHeight();
OnTapUpSignal(vec2(x, y));
}
catch (ErrorCommon e)
{
throw;
}
}
JNIEXPORT void JNICALL Java_fishrungames_doublehitballs_JniWrapper_OnTapMove(JNIEnv * env, jobject obj, float x, float y, long time)
{
}
JNIEXPORT void JNICALL Java_fishrungames_doublehitballs_JniWrapper_OnFling(JNIEnv * env, jobject obj, jfloat velocityX, jfloat velocityY, long time)
{
try
{
if (!App->IsInited())
{
return;
}
velocityX = velocityX * 480.f / Renderer->GetScreenWidth();
velocityY = velocityY * 320.f / Renderer->GetScreenHeight();
OnFlingSignal(vec2(velocityX, velocityY));
}
catch (ErrorCommon e)
{
throw;
}
}
JNIEXPORT void JNICALL Java_fishrungames_doublehitballs_JniWrapper_OnScroll(JNIEnv * env, jobject obj, jfloat distanceX, jfloat distanceY, long time)
{
try
{
if (!App->IsInited())
{
return;
}
distanceX = distanceX * 480.f / Renderer->GetScreenWidth();
distanceY = distanceY * 320.f / Renderer->GetScreenHeight();
OnScrollSignal(vec2(distanceX, distanceY));
}
catch (ErrorCommon e)
{
throw;
}
}

34
jni/android_api.h Normal file
View File

@ -0,0 +1,34 @@
#ifndef ANDROID_API_H_INCLUDED
#define ANDROID_API_H_INCLUDED
#include <jni.h>
#include <android/log.h>
#include <GLES/gl.h>
#include <GLES2/gl2.h>
#include <GLES2/gl2ext.h>
#include "boost/shared_ptr.hpp"
using namespace SE;
class TAndroidApplication;
extern boost::shared_ptr<TAndroidApplication> App;
extern "C" {
JNIEXPORT void JNICALL Java_fishrungames_doublehitballs_JniWrapper_Init(JNIEnv * env, jobject obj, jint width, jint height);
JNIEXPORT void JNICALL Java_fishrungames_doublehitballs_JniWrapper_StopSounds(JNIEnv * env, jobject obj);
JNIEXPORT void JNICALL Java_fishrungames_doublehitballs_JniWrapper_Update(JNIEnv * env, jobject obj, long dt);
JNIEXPORT void JNICALL Java_fishrungames_doublehitballs_JniWrapper_Destroy(JNIEnv * env, jobject obj);
JNIEXPORT int JNICALL Java_fishrungames_doublehitballs_JniWrapper_IsInited(JNIEnv * env, jobject obj);
JNIEXPORT void JNICALL Java_fishrungames_doublehitballs_JniWrapper_OnTapDown(JNIEnv * env, jobject obj, jfloat x, jfloat y, long time);
JNIEXPORT void JNICALL Java_fishrungames_doublehitballs_JniWrapper_OnTapUp(JNIEnv * env, jobject obj, jfloat x, jfloat y, long time);
JNIEXPORT void JNICALL Java_fishrungames_doublehitballs_JniWrapper_OnTapMove(JNIEnv * env, jobject obj, jfloat x, jfloat y, long time);
JNIEXPORT void JNICALL Java_fishrungames_doublehitballs_JniWrapper_OnFling(JNIEnv * env, jobject obj, jfloat velocityX, jfloat velocityY, long time);
JNIEXPORT void JNICALL Java_fishrungames_doublehitballs_JniWrapper_OnScroll(JNIEnv * env, jobject obj, jfloat distanceX, jfloat distanceY, long time);
};
#endif

79
jni/creditscode.cpp Normal file
View File

@ -0,0 +1,79 @@
#include "creditscode.h"
#include "include/Engine.h"
#include "main_code.h"
const int TGameCredits::CONST_STATE_APPEARING = 0;
const int TGameCredits::CONST_STATE_APPEARED = 1;
const int TGameCredits::CONST_STATE_DISAPPEARING = 2;
const int TGameCredits::CONST_STATE_DISAPPEARED = 3;
const float TGameCredits::CONST_APPEAR_TIME = 150.f;
TGameCredits::TGameCredits()
: TGameAreaAncestor()
, StateTimer(0)
, State(CONST_STATE_DISAPPEARED)
{
}
void TGameCredits::Draw()
{
float transparency = StateTimer/CONST_APPEAR_TIME;
RenderUniform1f("Transparency", transparency);
glBindTexture(GL_TEXTURE_2D,ResourceManager->TexList["main_menu_bkg_left"]);
Renderer->DrawRect(vec2(0, 0.f), vec2(480.f, 320.f));
const vec2 creditsPos(140.f, 130.f);
const vec2 creditsHalfSize(128.f, 128.f);
glBindTexture(GL_TEXTURE_2D,ResourceManager->TexList[CONST_CREDITS_TEXTURE]);
Renderer->DrawRect(creditsPos-creditsHalfSize, creditsPos+creditsHalfSize);
glBindTexture(GL_TEXTURE_2D,ResourceManager->TexList[CONST_LOGO_SMALL_TEXTURE]);
Renderer->DrawRect(vec2(240.f-128.f+15.f, 320.f-64.f), vec2(240.f+128.f+15.f, 320.f));
CheckGlError("Draw TGameCredits");
}
void TGameCredits::Update(cardinal dt)
{
if (State == CONST_STATE_APPEARING)
{
StateTimer += dt;
if (StateTimer >= CONST_APPEAR_TIME)
{
StateTimer = CONST_APPEAR_TIME;
State = CONST_STATE_APPEARED;
}
}
else if (State == CONST_STATE_DISAPPEARING)
{
StateTimer -= dt;
if (StateTimer <= 0.f)
{
StateTimer = 0.f;
State = CONST_STATE_DISAPPEARED;
}
}
}
void TGameCredits::OnTapDown(vec2 p)
{
App->GoFromCreditsToMenu();
}
void TGameCredits::StartAppear()
{
State = CONST_STATE_APPEARING;
}
void TGameCredits::StartDisappear()
{
State = CONST_STATE_DISAPPEARING;
}

34
jni/creditscode.h Normal file
View File

@ -0,0 +1,34 @@
#ifndef CREDITSCODE_H_INCLUDED
#define CREDITSCODE_H_INCLUDED
#include "game_area_interface.h"
using namespace SE;
class TGameCredits : public TGameAreaAncestor
{
static const int CONST_STATE_APPEARING;
static const int CONST_STATE_APPEARED;
static const int CONST_STATE_DISAPPEARING;
static const int CONST_STATE_DISAPPEARED;
static const float CONST_APPEAR_TIME;
int State;
float StateTimer;
public:
TGameCredits();
virtual void Draw();
virtual void Update(cardinal dt);
virtual void OnTapDown(vec2 p);
void StartAppear();
void StartDisappear();
};
#endif

23
jni/game_area_interface.h Normal file
View File

@ -0,0 +1,23 @@
#ifndef GAME_AREA_INTERFACE_H_INCLUDED
#define GAME_AREA_INTERFACE_H_INCLUDED
#include "include/Engine.h"
using namespace SE;
class TGameAreaAncestor
{
public:
virtual void Draw() { }
virtual void Update(cardinal) { }
virtual void OnTapUp(vec2) { }
virtual void OnTapDown(vec2) { }
virtual void OnFling(vec2) { }
virtual void OnScroll(vec2) { }
virtual ~TGameAreaAncestor() { } //By default destructor is not virtual
};
#endif

1589
jni/gamecode.cpp Normal file

File diff suppressed because it is too large Load Diff

205
jni/gamecode.h Normal file
View File

@ -0,0 +1,205 @@
#ifndef GAMECODE_H_INCLUDED
#define GAMECODE_H_INCLUDED
#include "include/Engine.h"
#include "game_area_interface.h"
#include <list>
using namespace SE;
const int CONST_BRICKSTATE_VISIBLE = 3;
const int CONST_BRICKSTATE_DISAPPEAR = 2;
const int CONST_BRICKSTATE_INVISIBLE = 1;
const int CONST_BRICKSTATE_APPEAR = 0;
const float CONST_BRICK_DISAPPEAR_TIME = 200.f;
const float CONST_BRICK_APPEAR_TIME = 200.f;
const int CONST_BRICKMATRIX_WIDTH = 12;
const int CONST_BRICKMATRIX_HEIGHT = 13;
const float CONST_BRICK_WIDTH = 37.5f;
const float CONST_BRICK_HEIGHT = 0.5f*CONST_BRICK_WIDTH;
const float CONST_BRICK_SHIFT_X = 15.f;
const float CONST_BRICK_SHIFT_Y = -16.f;
const float CONST_BONUS_APPEAR_TIME = 400.f;
const float CONST_BONUS_FALL_SPEED = 100.f;
const float CONST_BONUS_GOTHROUGH_TIME = 8000.f;
const float CONST_BONUS_CATCH_DISTANCE_X = 65.f;
const float CONST_BONUS_CATCH_DISTANCE_Y = 20.f;
const float CONST_BONUS_FLOOR_TIME = 8000.f;
const float CONST_BONUS_FLOOR_APPEAR_SPEED = 50.f;
const int CONST_BONUS_TYPE_MULTIPLIER = 0;
const int CONST_BONUS_TYPE_GOTHROUGH = 1;
const int CONST_BONUS_TYPE_FLOOR = 2;
class TBrick
{
protected:
int InitialLocked;
int Locked; //0, 1 or 2
int State;
float StateTimer;
vec4 Color;
public:
TBrick();
void SetVisible(vec4 color, int locked);
void SetInvisible();
void TryDrawAppear(int ipos, int jpos);
void Update(cardinal dt);
vec2 GetPosFrom(int ipos, int jpos);
vec4 GetColor();
void Appear(vec4 color, int locked);
void Appear();
void Hit();
void Disappear();
int GetLocked();
bool CanReact();
};
class TBonusFalling
{
protected:
float Lifetime;
vec2 Pos;
std::string TexName;
int BonusType; //0 - multiplier, 1 - Go-through, 2 - floor
public:
TBonusFalling(vec2 pos);
vec2 GetPos();
int GetType();
void Draw();
void Update(cardinal dt);
};
struct TBall
{
vec2 Pos;
vec2 Velocity;
vec4 Color;
std::list<vec2> TalePos;
vec2 BallInBlock;
vec2 PrevBallInBlock;
TBall(vec2 pos, vec2 velocity, vec4 color);
vec2 GetPos();
vec2 GetVelocityVector();
void Go();
void ReflectToLeft();
void ReflectToRight();
void ReflectToUp();
void ReflectToDown();
void TryReflectOnReflector(vec2 refPos);
void Update(cardinal dt);
};
typedef std::pair<vec4, std::string> PairColorTexture;
struct TBlockInstansingList
{
//color-texture ---> and list of triangles for this color
std::list<std::pair<PairColorTexture, TTriangleList>> ColorBlockList;
};
struct TBallInstancingList
{
std::map<int, TTriangleList> BallAndGlowList;
};
class TGameLevel : public TGameAreaAncestor
{
protected:
std::string BkgTexture;
std::string LevelScreenTexture;
std::string LevelFileName;
vec2 ReflectorPos;
int LevelState;
bool PrevLevelStateIsStandby;
float StateTimer;
TBrick BlockMatrix[CONST_BRICKMATRIX_WIDTH][CONST_BRICKMATRIX_HEIGHT];
TBlockInstansingList BlockInstansingList;
bool TapInBackBtnArea(const vec2& pos);
void ReloadBlockInstansingList();
void SetFinished();
void SetFinishFreeze();
void DrawBuffer();
void DrawPauseButtons();
void DrawBallInstancingList();
bool RenderBufferReady;
float OutScale;
float OutScaleVelocity;
void TryGoToMenu();
std::list<TBonusFalling> BonusFallingList;
std::list<TBall> BallList;
TBallInstancingList BallInstancingList;
vec4 BallColor;
void ReloadBallInstancingList();
void RefreshBallInstancingList();
void UpdateBallList(cardinal dt);
void MultiplyBalls(vec2 pos, vec2 velocity);
vec2 GetBlock(const vec2& pos);
void InitLevel();
float BonusGothroughTimer;
float BonusFloorTimer;
float BonusFloorPosY;
vec4 ParseColor(const std::string& s);
void ReloadLevel();
public:
TGameLevel();
~TGameLevel();
void FillWithFile(const std::string& filename);
void SetStandBy();
void SetLoading(const std::string& bkg, const std::string& levelscreen);
bool IsLoaded();
virtual void Draw();
void SetPause();
bool IsPaused();
void ReleasePause();
virtual void Update(cardinal dt);
virtual void OnTapDown(vec2 pos);
virtual void OnTapUp(vec2 pos);
virtual void OnFling(vec2 slideSpeed);
virtual void OnScroll(vec2 shift);
};
#endif

Some files were not shown because too many files have changed in this diff Show More