first
8
.classpath
Normal 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
@ -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
@ -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.salmonjnitemplate" android:versionCode="1" android:versionName="1.0.0">
|
||||||
|
<application
|
||||||
|
android:icon="@drawable/ic_menu_template" android:label="Salmon Jni Template">
|
||||||
|
<activity android:name="fishrungames.salmonjnitemplate.MainActivity"
|
||||||
|
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
Template.exe
Normal file
BIN
assets/console_bkg.bmp
Normal file
After Width: | Height: | Size: 102 B |
BIN
assets/droid_sans14_font_bitmap.bmp32
Normal file
After Width: | Height: | Size: 512 KiB |
95
assets/droid_sans14_font_charmap.txt
Normal 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
|
BIN
assets/fire.png
Normal file
After Width: | Height: | Size: 287 B |
10
assets/gui_transparent.fragment
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
precision highp float;
|
||||||
|
|
||||||
|
uniform sampler2D Texture;
|
||||||
|
varying vec2 texCoord;
|
||||||
|
|
||||||
|
void main()
|
||||||
|
{
|
||||||
|
vec4 texColor = texture2D(Texture,texCoord).rgba;
|
||||||
|
gl_FragColor = vec4(texColor.rgb, texColor.a);
|
||||||
|
}
|
11
assets/gui_transparent.vertex
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
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/ship.png
Normal file
After Width: | Height: | Size: 1.4 KiB |
BIN
assets/space_dn.jpg
Normal file
After Width: | Height: | Size: 9.1 KiB |
BIN
assets/stone.png
Normal file
After Width: | Height: | Size: 38 KiB |
18
assets/textures.xml
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
<Textures>
|
||||||
|
<Texture>
|
||||||
|
<FileName>ship.png</FileName>
|
||||||
|
<TexName>shipTexture</TexName>
|
||||||
|
</Texture>
|
||||||
|
<Texture>
|
||||||
|
<FileName>fire.png</FileName>
|
||||||
|
<TexName>fireTexture</TexName>
|
||||||
|
</Texture>
|
||||||
|
<Texture>
|
||||||
|
<FileName>stone.png</FileName>
|
||||||
|
<TexName>asteroidTexture</TexName>
|
||||||
|
</Texture>
|
||||||
|
<Texture>
|
||||||
|
<FileName>space_dn.jpg</FileName>
|
||||||
|
<TexName>backgroundTexture</TexName>
|
||||||
|
</Texture>
|
||||||
|
</Textures>
|
11
default.properties
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
# This file is automatically generated by Android Tools.
|
||||||
|
# Do not modify this file -- YOUR CHANGES WILL BE ERASED!
|
||||||
|
#
|
||||||
|
# This file must be checked in Version Control Systems.
|
||||||
|
#
|
||||||
|
# To customize properties used by the Ant build system use,
|
||||||
|
# "build.properties", and override values to adapt the script to your
|
||||||
|
# project structure.
|
||||||
|
|
||||||
|
# Project target.
|
||||||
|
target=android-8
|
19
iOS/AppDelegate.h
Normal 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
|
59
iOS/AppDelegate.m
Normal 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
|
13
iOS/CustomGLKView.h
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
//
|
||||||
|
// CustomGLKView.h
|
||||||
|
// doublehitballs
|
||||||
|
//
|
||||||
|
// Created by vvv ооо on 15.07.12.
|
||||||
|
// Copyright (c) 2012 __MyCompanyName__. All rights reserved.
|
||||||
|
//
|
||||||
|
|
||||||
|
#import "include/Utils/IosApi/ObjC/GLKViewTemplate.h"
|
||||||
|
|
||||||
|
@interface CustomGLKView : GLKViewTemplate
|
||||||
|
|
||||||
|
@end
|
5
iOS/CustomGLKView.mm
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
#import "CustomGLKView.h"
|
||||||
|
|
||||||
|
@implementation CustomGLKView
|
||||||
|
|
||||||
|
@end
|
15
iOS/ViewController.h
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
//
|
||||||
|
// ViewController.h
|
||||||
|
// doublehitballs
|
||||||
|
//
|
||||||
|
// Created by vvv ооо on 13.07.12.
|
||||||
|
// Copyright (c) 2012 __MyCompanyName__. All rights reserved.
|
||||||
|
//
|
||||||
|
|
||||||
|
|
||||||
|
#import "include/Utils/IosApi/ObjC/ViewControllerTemplate.h"
|
||||||
|
|
||||||
|
@interface ViewController : ViewControllerTemplate
|
||||||
|
|
||||||
|
@end
|
||||||
|
|
20
iOS/ViewController.mm
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
#import "ViewController.h"
|
||||||
|
#import "ios_api.h"
|
||||||
|
|
||||||
|
|
||||||
|
@implementation ViewController
|
||||||
|
|
||||||
|
|
||||||
|
- (void) appInitCaller
|
||||||
|
{
|
||||||
|
CustomAppInit();
|
||||||
|
}
|
||||||
|
|
||||||
|
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
|
||||||
|
{
|
||||||
|
return UIInterfaceOrientationIsLandscape(interfaceOrientation);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@end
|
2
iOS/en.lproj/InfoPlist.strings
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
/* Localized versions of Info.plist keys */
|
||||||
|
|
133
iOS/en.lproj/ViewController_iPad.xib
Normal 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>
|
111
iOS/en.lproj/ViewController_iPhone.xib
Normal 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>
|
8
iOS/ios_api.cpp
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
#include "include/Engine.h"
|
||||||
|
#include "main_code.h"
|
||||||
|
|
||||||
|
|
||||||
|
void CustomAppInit()
|
||||||
|
{
|
||||||
|
AppInit<TMyApplication>(480, 320);
|
||||||
|
}
|
3
iOS/ios_api.h
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
|
||||||
|
|
||||||
|
void CustomAppInit();
|
18
iOS/main.m
Normal 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/res/Icon.png
Normal file
After Width: | Height: | Size: 7.8 KiB |
BIN
iOS/res/Splash-landscape.png
Normal file
After Width: | Height: | Size: 6.7 KiB |
BIN
iOS/res/iTunesArtwork
Normal file
After Width: | Height: | Size: 354 KiB |
500
iOS/salmontemplate.xcodeproj/project.pbxproj
Normal file
@ -0,0 +1,500 @@
|
|||||||
|
// !$*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.mm in Sources */ = {isa = PBXBuildFile; fileRef = 4C49B2D815B0991B003512CD /* ViewController.mm */; };
|
||||||
|
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 */; };
|
||||||
|
4C6EB44515C3CFD300316CB6 /* libpng.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 4C6EB44415C3CFD300316CB6 /* libpng.a */; };
|
||||||
|
4C74848615C5AD6E0056EC44 /* Icon.png in Resources */ = {isa = PBXBuildFile; fileRef = 4C74848315C5AD6E0056EC44 /* Icon.png */; };
|
||||||
|
4C74848715C5AD6E0056EC44 /* iTunesArtwork in Resources */ = {isa = PBXBuildFile; fileRef = 4C74848415C5AD6E0056EC44 /* iTunesArtwork */; };
|
||||||
|
4C74848815C5AD6E0056EC44 /* Splash-landscape.png in Resources */ = {isa = PBXBuildFile; fileRef = 4C74848515C5AD6E0056EC44 /* Splash-landscape.png */; };
|
||||||
|
4C74849815C5AF7C0056EC44 /* main_code.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4C74849615C5AF7C0056EC44 /* main_code.cpp */; };
|
||||||
|
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 */; };
|
||||||
|
4C7C584B15C31E6500CAE4F4 /* libboost.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 4C7C584A15C31E6500CAE4F4 /* libboost.a */; };
|
||||||
|
4CC971AC15C57DCE00359A2B /* libSalmon Engine.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 4C902A7815C5735700FBC901 /* libSalmon Engine.a */; };
|
||||||
|
4CCC0ECC15B30D6B005432FB /* CustomGLKView.mm in Sources */ = {isa = PBXBuildFile; fileRef = 4CCC0ECB15B30D6B005432FB /* CustomGLKView.mm */; };
|
||||||
|
4CE6A9D215B2F979006A3965 /* assets in Resources */ = {isa = PBXBuildFile; fileRef = 4CE6A9D115B2F979006A3965 /* assets */; };
|
||||||
|
/* End PBXBuildFile section */
|
||||||
|
|
||||||
|
/* Begin PBXContainerItemProxy section */
|
||||||
|
4C902A7715C5735700FBC901 /* PBXContainerItemProxy */ = {
|
||||||
|
isa = PBXContainerItemProxy;
|
||||||
|
containerPortal = 4C902A7015C5735500FBC901 /* Salmon Engine.xcodeproj */;
|
||||||
|
proxyType = 2;
|
||||||
|
remoteGlobalIDString = 4C8CE90215B0A0F400078175;
|
||||||
|
remoteInfo = "Salmon Engine";
|
||||||
|
};
|
||||||
|
/* End PBXContainerItemProxy section */
|
||||||
|
|
||||||
|
/* Begin PBXFileReference section */
|
||||||
|
4C49B2B915B0991B003512CD /* salmontemplate.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = salmontemplate.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 /* template-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; path = "template-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 /* template-Prefix.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "template-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.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; path = ViewController.mm; 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>"; };
|
||||||
|
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>"; };
|
||||||
|
4C74848315C5AD6E0056EC44 /* Icon.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = Icon.png; path = res/Icon.png; sourceTree = "<group>"; };
|
||||||
|
4C74848415C5AD6E0056EC44 /* iTunesArtwork */ = {isa = PBXFileReference; lastKnownFileType = file; name = iTunesArtwork; path = res/iTunesArtwork; sourceTree = "<group>"; };
|
||||||
|
4C74848515C5AD6E0056EC44 /* Splash-landscape.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "Splash-landscape.png"; path = "res/Splash-landscape.png"; sourceTree = "<group>"; };
|
||||||
|
4C74849615C5AF7C0056EC44 /* main_code.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = main_code.cpp; path = ../jni/main_code.cpp; sourceTree = "<group>"; };
|
||||||
|
4C74849715C5AF7C0056EC44 /* main_code.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = main_code.h; path = ../jni/main_code.h; 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>"; };
|
||||||
|
4C902A7015C5735500FBC901 /* Salmon Engine.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = "Salmon Engine.xcodeproj"; path = "../../Engine/iOS/Salmon Engine/Salmon Engine.xcodeproj"; sourceTree = "<group>"; };
|
||||||
|
4CCC0ECA15B30D6A005432FB /* CustomGLKView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CustomGLKView.h; sourceTree = "<group>"; };
|
||||||
|
4CCC0ECB15B30D6B005432FB /* CustomGLKView.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = CustomGLKView.mm; sourceTree = "<group>"; };
|
||||||
|
4CCC0ECD15B310FB005432FB /* ios_api.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ios_api.h; sourceTree = "<group>"; };
|
||||||
|
4CE6A9D115B2F979006A3965 /* assets */ = {isa = PBXFileReference; lastKnownFileType = folder; name = assets; path = ../assets; sourceTree = "<group>"; };
|
||||||
|
/* End PBXFileReference section */
|
||||||
|
|
||||||
|
/* Begin PBXFrameworksBuildPhase section */
|
||||||
|
4C49B2B615B0991B003512CD /* Frameworks */ = {
|
||||||
|
isa = PBXFrameworksBuildPhase;
|
||||||
|
buildActionMask = 2147483647;
|
||||||
|
files = (
|
||||||
|
4CC971AC15C57DCE00359A2B /* libSalmon Engine.a in Frameworks */,
|
||||||
|
4C77831815BABE26003D5142 /* AudioToolbox.framework in Frameworks */,
|
||||||
|
4C77831915BABE26003D5142 /* OpenAL.framework 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 */,
|
||||||
|
4C7C584B15C31E6500CAE4F4 /* libboost.a in Frameworks */,
|
||||||
|
4C6EB44515C3CFD300316CB6 /* libpng.a in Frameworks */,
|
||||||
|
);
|
||||||
|
runOnlyForDeploymentPostprocessing = 0;
|
||||||
|
};
|
||||||
|
/* End PBXFrameworksBuildPhase section */
|
||||||
|
|
||||||
|
/* Begin PBXGroup section */
|
||||||
|
4C49B2AE15B0991B003512CD = {
|
||||||
|
isa = PBXGroup;
|
||||||
|
children = (
|
||||||
|
4C902A7015C5735500FBC901 /* Salmon Engine.xcodeproj */,
|
||||||
|
4C7B819515C40F770024D61A /* Libs */,
|
||||||
|
4CC1FC3415B200130025C6F7 /* Resources */,
|
||||||
|
4C49B2C715B0991B003512CD /* Sources */,
|
||||||
|
4C49B2BC15B0991B003512CD /* Frameworks */,
|
||||||
|
4C49B2BA15B0991B003512CD /* Products */,
|
||||||
|
);
|
||||||
|
sourceTree = "<group>";
|
||||||
|
};
|
||||||
|
4C49B2BA15B0991B003512CD /* Products */ = {
|
||||||
|
isa = PBXGroup;
|
||||||
|
children = (
|
||||||
|
4C49B2B915B0991B003512CD /* salmontemplate.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 /* Sources */ = {
|
||||||
|
isa = PBXGroup;
|
||||||
|
children = (
|
||||||
|
4CE6A9E315B2F9A4006A3965 /* Game */,
|
||||||
|
4CCC0ECD15B310FB005432FB /* ios_api.h */,
|
||||||
|
4C7AD44B15B1D77700A599F6 /* ios_api.cpp */,
|
||||||
|
4C49B2D015B0991B003512CD /* AppDelegate.h */,
|
||||||
|
4C49B2D115B0991B003512CD /* AppDelegate.m */,
|
||||||
|
4C49B2D715B0991B003512CD /* ViewController.h */,
|
||||||
|
4C49B2D815B0991B003512CD /* ViewController.mm */,
|
||||||
|
4C49B2DA15B0991B003512CD /* ViewController_iPhone.xib */,
|
||||||
|
4C49B2DD15B0991B003512CD /* ViewController_iPad.xib */,
|
||||||
|
4C49B2C815B0991B003512CD /* Supporting Files */,
|
||||||
|
4CCC0ECA15B30D6A005432FB /* CustomGLKView.h */,
|
||||||
|
4CCC0ECB15B30D6B005432FB /* CustomGLKView.mm */,
|
||||||
|
);
|
||||||
|
name = Sources;
|
||||||
|
sourceTree = "<group>";
|
||||||
|
};
|
||||||
|
4C49B2C815B0991B003512CD /* Supporting Files */ = {
|
||||||
|
isa = PBXGroup;
|
||||||
|
children = (
|
||||||
|
4C49B2C915B0991B003512CD /* template-Info.plist */,
|
||||||
|
4C49B2CA15B0991B003512CD /* InfoPlist.strings */,
|
||||||
|
4C49B2CD15B0991B003512CD /* main.m */,
|
||||||
|
4C49B2CF15B0991B003512CD /* template-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>";
|
||||||
|
};
|
||||||
|
4C902A7115C5735500FBC901 /* Products */ = {
|
||||||
|
isa = PBXGroup;
|
||||||
|
children = (
|
||||||
|
4C902A7815C5735700FBC901 /* libSalmon Engine.a */,
|
||||||
|
);
|
||||||
|
name = Products;
|
||||||
|
sourceTree = "<group>";
|
||||||
|
};
|
||||||
|
4CC1FC3415B200130025C6F7 /* Resources */ = {
|
||||||
|
isa = PBXGroup;
|
||||||
|
children = (
|
||||||
|
4C74848315C5AD6E0056EC44 /* Icon.png */,
|
||||||
|
4C74848415C5AD6E0056EC44 /* iTunesArtwork */,
|
||||||
|
4C74848515C5AD6E0056EC44 /* Splash-landscape.png */,
|
||||||
|
4CE6A9D115B2F979006A3965 /* assets */,
|
||||||
|
);
|
||||||
|
name = Resources;
|
||||||
|
sourceTree = "<group>";
|
||||||
|
};
|
||||||
|
4CE6A9E315B2F9A4006A3965 /* Game */ = {
|
||||||
|
isa = PBXGroup;
|
||||||
|
children = (
|
||||||
|
4C74849615C5AF7C0056EC44 /* main_code.cpp */,
|
||||||
|
4C74849715C5AF7C0056EC44 /* main_code.h */,
|
||||||
|
);
|
||||||
|
name = Game;
|
||||||
|
sourceTree = "<group>";
|
||||||
|
};
|
||||||
|
/* End PBXGroup section */
|
||||||
|
|
||||||
|
/* Begin PBXNativeTarget section */
|
||||||
|
4C49B2B815B0991B003512CD /* salmontemplate */ = {
|
||||||
|
isa = PBXNativeTarget;
|
||||||
|
buildConfigurationList = 4C49B2E215B0991B003512CD /* Build configuration list for PBXNativeTarget "salmontemplate" */;
|
||||||
|
buildPhases = (
|
||||||
|
4C49B2B515B0991B003512CD /* Sources */,
|
||||||
|
4C49B2B615B0991B003512CD /* Frameworks */,
|
||||||
|
4C49B2B715B0991B003512CD /* Resources */,
|
||||||
|
);
|
||||||
|
buildRules = (
|
||||||
|
);
|
||||||
|
dependencies = (
|
||||||
|
);
|
||||||
|
name = salmontemplate;
|
||||||
|
productName = doublehitballs;
|
||||||
|
productReference = 4C49B2B915B0991B003512CD /* salmontemplate.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 "salmontemplate" */;
|
||||||
|
compatibilityVersion = "Xcode 3.2";
|
||||||
|
developmentRegion = English;
|
||||||
|
hasScannedForEncodings = 0;
|
||||||
|
knownRegions = (
|
||||||
|
en,
|
||||||
|
);
|
||||||
|
mainGroup = 4C49B2AE15B0991B003512CD;
|
||||||
|
productRefGroup = 4C49B2BA15B0991B003512CD /* Products */;
|
||||||
|
projectDirPath = "";
|
||||||
|
projectReferences = (
|
||||||
|
{
|
||||||
|
ProductGroup = 4C902A7115C5735500FBC901 /* Products */;
|
||||||
|
ProjectRef = 4C902A7015C5735500FBC901 /* Salmon Engine.xcodeproj */;
|
||||||
|
},
|
||||||
|
);
|
||||||
|
projectRoot = "";
|
||||||
|
targets = (
|
||||||
|
4C49B2B815B0991B003512CD /* salmontemplate */,
|
||||||
|
);
|
||||||
|
};
|
||||||
|
/* End PBXProject section */
|
||||||
|
|
||||||
|
/* Begin PBXReferenceProxy section */
|
||||||
|
4C902A7815C5735700FBC901 /* libSalmon Engine.a */ = {
|
||||||
|
isa = PBXReferenceProxy;
|
||||||
|
fileType = archive.ar;
|
||||||
|
path = "libSalmon Engine.a";
|
||||||
|
remoteRef = 4C902A7715C5735700FBC901 /* 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 */,
|
||||||
|
4C74848615C5AD6E0056EC44 /* Icon.png in Resources */,
|
||||||
|
4C74848715C5AD6E0056EC44 /* iTunesArtwork in Resources */,
|
||||||
|
4C74848815C5AD6E0056EC44 /* Splash-landscape.png 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.mm in Sources */,
|
||||||
|
4C7AD44C15B1D77700A599F6 /* ios_api.cpp in Sources */,
|
||||||
|
4CCC0ECC15B30D6B005432FB /* CustomGLKView.mm in Sources */,
|
||||||
|
4C74849815C5AF7C0056EC44 /* main_code.cpp in Sources */,
|
||||||
|
);
|
||||||
|
runOnlyForDeploymentPostprocessing = 0;
|
||||||
|
};
|
||||||
|
/* End PBXSourcesBuildPhase 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 = "template-Prefix.pch";
|
||||||
|
GCC_PREPROCESSOR_DEFINITIONS = (
|
||||||
|
TARGET_IOS,
|
||||||
|
DEBUG,
|
||||||
|
"$(inherited)",
|
||||||
|
BOOST_NO_CXX11_NUMERIC_LIMITS,
|
||||||
|
);
|
||||||
|
GCC_PREPROCESSOR_DEFINITIONS_NOT_USED_IN_PRECOMPS = "";
|
||||||
|
"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 = "template-Info.plist";
|
||||||
|
LIBRARY_SEARCH_PATHS = "";
|
||||||
|
"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;
|
||||||
|
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 = "template-Prefix.pch";
|
||||||
|
GCC_PREPROCESSOR_DEFINITIONS = (
|
||||||
|
TARGET_IOS,
|
||||||
|
BOOST_NO_CXX11_NUMERIC_LIMITS,
|
||||||
|
);
|
||||||
|
GCC_PREPROCESSOR_DEFINITIONS_NOT_USED_IN_PRECOMPS = "";
|
||||||
|
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 = "template-Info.plist";
|
||||||
|
LIBRARY_SEARCH_PATHS = "";
|
||||||
|
"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)";
|
||||||
|
TARGETED_DEVICE_FAMILY = 1;
|
||||||
|
WRAPPER_EXTENSION = app;
|
||||||
|
};
|
||||||
|
name = Release;
|
||||||
|
};
|
||||||
|
/* End XCBuildConfiguration section */
|
||||||
|
|
||||||
|
/* Begin XCConfigurationList section */
|
||||||
|
4C49B2B315B0991B003512CD /* Build configuration list for PBXProject "salmontemplate" */ = {
|
||||||
|
isa = XCConfigurationList;
|
||||||
|
buildConfigurations = (
|
||||||
|
4C49B2E015B0991B003512CD /* Debug */,
|
||||||
|
4C49B2E115B0991B003512CD /* Release */,
|
||||||
|
);
|
||||||
|
defaultConfigurationIsVisible = 0;
|
||||||
|
defaultConfigurationName = Release;
|
||||||
|
};
|
||||||
|
4C49B2E215B0991B003512CD /* Build configuration list for PBXNativeTarget "salmontemplate" */ = {
|
||||||
|
isa = XCConfigurationList;
|
||||||
|
buildConfigurations = (
|
||||||
|
4C49B2E315B0991B003512CD /* Debug */,
|
||||||
|
4C49B2E415B0991B003512CD /* Release */,
|
||||||
|
);
|
||||||
|
defaultConfigurationIsVisible = 0;
|
||||||
|
defaultConfigurationName = Release;
|
||||||
|
};
|
||||||
|
/* End XCConfigurationList section */
|
||||||
|
};
|
||||||
|
rootObject = 4C49B2B015B0991B003512CD /* Project object */;
|
||||||
|
}
|
50
iOS/template-Info.plist
Normal 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>Salmon Universal Template</string>
|
||||||
|
<key>CFBundleExecutable</key>
|
||||||
|
<string>${EXECUTABLE_NAME}</string>
|
||||||
|
<key>CFBundleIconFile</key>
|
||||||
|
<string>Icon.png</string>
|
||||||
|
<key>CFBundleIdentifier</key>
|
||||||
|
<string>fishrungames.template</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>
|
14
iOS/template-Prefix.pch
Normal 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
|
77
jni/Android.mk
Normal file
@ -0,0 +1,77 @@
|
|||||||
|
# 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
|
||||||
|
|
||||||
|
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_Salmon_Engine.mk
|
||||||
|
|
||||||
|
#================= THE GAME =======================
|
||||||
|
|
||||||
|
|
||||||
|
LOCAL_PATH:= $(LPATH)
|
||||||
|
|
||||||
|
include $(CLEAR_VARS)
|
||||||
|
|
||||||
|
LOCAL_CFLAGS := -DTARGET_ANDROID -DNOSOUND -std=gnu++11 --std=c++11
|
||||||
|
LOCAL_STATIC_LIBRARIES := boost
|
||||||
|
LOCAL_STATIC_LIBRARIES += squirrel
|
||||||
|
LOCAL_STATIC_LIBRARIES += png_lib
|
||||||
|
LOCAL_STATIC_LIBRARIES += zip
|
||||||
|
LOCAL_SHARED_LIBRARIES := SalmonEngine
|
||||||
|
LOCAL_SHARED_LIBRARIES += gnustl_shared
|
||||||
|
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 := SalmonJniTemplate
|
||||||
|
LOCAL_SRC_FILES := main_code.cpp
|
||||||
|
LOCAL_SRC_FILES += android_api.cpp
|
||||||
|
|
||||||
|
LOCAL_LDLIBS := -lGLESv2
|
||||||
|
LOCAL_LDLIBS += -llog -Wl
|
||||||
|
|
||||||
|
#debug
|
||||||
|
#LOCAL_CFLAGS += -g -ggdb -O0
|
||||||
|
#LOCAL_LDLIBS += -g -ggdb
|
||||||
|
|
||||||
|
include $(BUILD_SHARED_LIBRARY)
|
3
jni/Application.mk
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
APP_STL := gnustl_shared
|
||||||
|
APP_CPPFLAGS += -fexceptions
|
||||||
|
APP_CPPFLAGS += -frtti
|
10
jni/android_api.cpp
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
#include "android_api.h"
|
||||||
|
|
||||||
|
#include "main_code.h"
|
||||||
|
|
||||||
|
|
||||||
|
JNIEXPORT void JNICALL Java_fishrungames_salmonjnitemplate_JniWrapper_Init(JNIEnv * env, jobject obj, jint width, jint height)
|
||||||
|
{
|
||||||
|
JniInitApp<TMyApplication>(width, height, 480.f, 320.f);
|
||||||
|
}
|
||||||
|
|
25
jni/android_api.h
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
#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"
|
||||||
|
|
||||||
|
#include "main_code.h"
|
||||||
|
|
||||||
|
#include "include/Engine.h"
|
||||||
|
|
||||||
|
using namespace SE;
|
||||||
|
|
||||||
|
|
||||||
|
extern "C" {
|
||||||
|
JNIEXPORT void JNICALL Java_fishrungames_salmonjnitemplate_JniWrapper_Init(JNIEnv * env, jobject obj, jint width, jint height);
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
#endif
|
567
jni/main_code.cpp
Normal file
@ -0,0 +1,567 @@
|
|||||||
|
#include "main_code.h"
|
||||||
|
|
||||||
|
#ifdef TARGET_ANDROID
|
||||||
|
#include "android_api.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <stdlib.h>
|
||||||
|
#include <math.h>
|
||||||
|
#include <time.h>
|
||||||
|
|
||||||
|
#include "include/Engine.h"
|
||||||
|
|
||||||
|
#include "main_code.h"
|
||||||
|
|
||||||
|
//Better move those to external config or something...
|
||||||
|
const cardinal CONST_LASER_TIMER = 200;
|
||||||
|
const int CONST_HIT_SCORE_POINTS = 100;
|
||||||
|
const float CONST_TIME_SCALE = 0.01f;
|
||||||
|
|
||||||
|
const float CONST_PLAYER_ACCELERATION = 3.f;
|
||||||
|
const float CONST_VELOCITY_FADE = 0.95f;
|
||||||
|
const float CONST_LASER_VELOCITY = 100.f;
|
||||||
|
|
||||||
|
const vec2 CONST_PLAYER_HALF_SIZE(30.f, 30.f);
|
||||||
|
const vec2 CONST_LASER_HALF_SIZE(10.f, 10.f);
|
||||||
|
|
||||||
|
|
||||||
|
const vec2 CONST_AST_POS1(40, 40);
|
||||||
|
const vec2 CONST_AST_POS2(40, 280);
|
||||||
|
const vec2 CONST_AST_POS3(440, 160);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
float HealthToScale(int health)
|
||||||
|
{
|
||||||
|
return 0.5f + health * 0.3f;
|
||||||
|
}
|
||||||
|
|
||||||
|
float HealthToHitDistance(int health)
|
||||||
|
{
|
||||||
|
const float CONST_HIT_DISTANCE = 15.f;
|
||||||
|
|
||||||
|
return max(CONST_HIT_DISTANCE * HealthToScale(health), 10.f);
|
||||||
|
}
|
||||||
|
|
||||||
|
void TMyApplication::InnerInit()
|
||||||
|
{
|
||||||
|
|
||||||
|
*Console<<"Inner init go!\n";
|
||||||
|
|
||||||
|
#ifdef TARGET_ANDROID
|
||||||
|
ST::PathToResources = "";
|
||||||
|
#endif
|
||||||
|
#ifdef TARGET_WIN32
|
||||||
|
#ifdef NDEBUG
|
||||||
|
ST::PathToResources = "assets/";
|
||||||
|
#else
|
||||||
|
ST::PathToResources = "../../../assets/";
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
#ifdef TARGET_IOS
|
||||||
|
ST::PathToResources = "assets/";
|
||||||
|
#endif
|
||||||
|
|
||||||
|
RandomGenerator.seed(static_cast<unsigned int>(std::time(0)));
|
||||||
|
|
||||||
|
TapIsDown = false;
|
||||||
|
|
||||||
|
ResourceManager->TexList.AddTexture(CONST_CONSOLE_TEX_NAME);
|
||||||
|
|
||||||
|
ResourceManager->ShaderManager.AddShader("DefaultShader", "gui_transparent.vertex", "gui_transparent.fragment");
|
||||||
|
|
||||||
|
Renderer->PushShader("DefaultShader");
|
||||||
|
|
||||||
|
ResourceManager->FontManager.AddFont("droid_sans14", "droid_sans14_font_bitmap.bmp32", "droid_sans14_font_charmap.txt");
|
||||||
|
ResourceManager->FontManager.PushFont("droid_sans14");
|
||||||
|
|
||||||
|
ResourceManager->TexList.Serialize(*FileToPropertyTree("textures.xml"));
|
||||||
|
|
||||||
|
Renderer->PushProjectionMatrix(Renderer->GetScreenWidth(), Renderer->GetScreenHeight());
|
||||||
|
|
||||||
|
Level = 1;
|
||||||
|
Score = 0;
|
||||||
|
|
||||||
|
InitLevel();
|
||||||
|
|
||||||
|
Player.RenderPair.first.SamplerMap[CONST_STRING_TEXTURE_UNIFORM] = "shipTexture";
|
||||||
|
Player.RenderPair.second.Data = MakeDataTriangleList(Player.Pos - CONST_PLAYER_HALF_SIZE, Player.Pos + CONST_PLAYER_HALF_SIZE);
|
||||||
|
Player.RenderPair.second.RefreshBuffer();
|
||||||
|
|
||||||
|
BackgroundRenderPair.first.SamplerMap[CONST_STRING_TEXTURE_UNIFORM] = "backgroundTexture";
|
||||||
|
BackgroundRenderPair.second.Data = MakeDataTriangleList(vec2(0,0), vec2(Renderer->GetScreenWidth(), Renderer->GetScreenHeight()));
|
||||||
|
BackgroundRenderPair.second.RefreshBuffer();
|
||||||
|
|
||||||
|
*Console<<"Inner init end!\n";
|
||||||
|
|
||||||
|
glDepthFunc(GL_LEQUAL);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
void TMyApplication::InnerDeinit()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void TMyApplication::InnerDraw()
|
||||||
|
{
|
||||||
|
|
||||||
|
glClearColor(0,0,0,1);
|
||||||
|
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
|
||||||
|
|
||||||
|
//Draw background
|
||||||
|
TRenderParamsSetter renderParamSetter(BackgroundRenderPair.first);
|
||||||
|
|
||||||
|
Renderer->DrawTriangleList(BackgroundRenderPair.second);
|
||||||
|
|
||||||
|
|
||||||
|
//Draw asteroids
|
||||||
|
BOOST_FOREACH(CAsteroidStruct& asteroid, Asteroids)
|
||||||
|
{
|
||||||
|
TRenderParamsSetter renderParamSetter(asteroid.RenderPair.first);
|
||||||
|
|
||||||
|
Renderer->DrawTriangleList(asteroid.RenderPair.second);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//Draw player
|
||||||
|
if (GameState != GS_LOST)
|
||||||
|
{
|
||||||
|
TRenderParamsSetter renderParamSetter(Player.RenderPair.first);
|
||||||
|
Renderer->DrawTriangleList(Player.RenderPair.second);
|
||||||
|
}
|
||||||
|
|
||||||
|
//Draw lasers
|
||||||
|
BOOST_FOREACH(CLaserStruct& laser, Lasers)
|
||||||
|
{
|
||||||
|
TRenderParamsSetter renderParamSetter(laser.RenderPair.first);
|
||||||
|
|
||||||
|
Renderer->DrawTriangleList(laser.RenderPair.second);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//Draw texts
|
||||||
|
glBindTexture(GL_TEXTURE_2D, ResourceManager->TexList[ResourceManager->FontManager.GetCurrentFontTextureName()]);
|
||||||
|
|
||||||
|
Renderer->DrawTriangleList(LevelScoreText);
|
||||||
|
Renderer->DrawTriangleList(LevelMessageText);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void TMyApplication::InnerUpdate(cardinal dt)
|
||||||
|
{
|
||||||
|
float scaledTime = CONST_TIME_SCALE * dt;
|
||||||
|
|
||||||
|
//Update Asteroids
|
||||||
|
BOOST_FOREACH(CAsteroidStruct& asteroid, Asteroids)
|
||||||
|
{
|
||||||
|
|
||||||
|
float difAngle = asteroid.AngularVelocity * scaledTime;
|
||||||
|
|
||||||
|
asteroid.Angle += difAngle;
|
||||||
|
|
||||||
|
mat3 rotationMatrix = CreateZRotationMatrix(difAngle);
|
||||||
|
|
||||||
|
MoveDataTriangleList(asteroid.RenderPair.second.Data, -vec3(asteroid.CenterPos, 0));
|
||||||
|
RotateDataTriangleList(asteroid.RenderPair.second.Data, rotationMatrix);
|
||||||
|
MoveDataTriangleList(asteroid.RenderPair.second.Data, vec3(asteroid.CenterPos, 0));
|
||||||
|
|
||||||
|
|
||||||
|
vec2 dif = asteroid.Velocity * scaledTime;
|
||||||
|
|
||||||
|
vec2 newCenterPos = NormalizePos(asteroid.CenterPos + dif);
|
||||||
|
|
||||||
|
dif = newCenterPos - asteroid.CenterPos;
|
||||||
|
|
||||||
|
asteroid.CenterPos = newCenterPos;
|
||||||
|
|
||||||
|
MoveDataTriangleList(asteroid.RenderPair.second.Data, vec3(dif, 0));
|
||||||
|
|
||||||
|
asteroid.RenderPair.second.RefreshBuffer();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
UpdatePlayerPosition(scaledTime);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//Shoot laser
|
||||||
|
LaserTimer.Update(dt);
|
||||||
|
|
||||||
|
if (LaserTimer.IsOver())
|
||||||
|
{
|
||||||
|
LaserTimer.SetTimer(CONST_LASER_TIMER);
|
||||||
|
|
||||||
|
if (GameState == GS_PLAY)
|
||||||
|
{
|
||||||
|
AddNewLaser();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//Update lasers
|
||||||
|
BOOST_FOREACH(CLaserStruct& laser, Lasers)
|
||||||
|
{
|
||||||
|
vec2 dif = CONST_LASER_VELOCITY *laser.Dir * scaledTime;
|
||||||
|
MoveDataTriangleList(laser.RenderPair.second.Data, vec3(dif, 0));
|
||||||
|
laser.Pos += dif;
|
||||||
|
|
||||||
|
laser.RenderPair.second.RefreshBuffer();
|
||||||
|
}
|
||||||
|
|
||||||
|
//Do all checks...
|
||||||
|
ProcessLaserHit();
|
||||||
|
|
||||||
|
ProcessPlayerCollisions();
|
||||||
|
|
||||||
|
ClearUnusedLasers();
|
||||||
|
|
||||||
|
if (Asteroids.size() == 0 && GameState == GS_PLAY)
|
||||||
|
{
|
||||||
|
GameState = GS_WON;
|
||||||
|
RefreshScoreText();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void TMyApplication::InnerOnTapDown(vec2 p)
|
||||||
|
{
|
||||||
|
TapIsDown = true;
|
||||||
|
LastTap = p;
|
||||||
|
}
|
||||||
|
|
||||||
|
void TMyApplication::InnerOnTapUp(vec2 p)
|
||||||
|
{
|
||||||
|
TapIsDown = false;
|
||||||
|
|
||||||
|
|
||||||
|
if (GameState == GS_LOST)
|
||||||
|
{
|
||||||
|
Level = 1;
|
||||||
|
Score = 0;
|
||||||
|
InitLevel();
|
||||||
|
}
|
||||||
|
else if (GameState == GS_WON)
|
||||||
|
{
|
||||||
|
Level++;
|
||||||
|
InitLevel();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void TMyApplication::InnerOnTapUpAfterMove(vec2 p)
|
||||||
|
{
|
||||||
|
TapIsDown = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
void TMyApplication::InnerOnMove(vec2 shift)
|
||||||
|
{
|
||||||
|
LastTap -= shift;
|
||||||
|
}
|
||||||
|
|
||||||
|
void TMyApplication::InitLevel()
|
||||||
|
{
|
||||||
|
GameState = GS_PLAY;
|
||||||
|
|
||||||
|
LaserTimer.SetTimer(CONST_LASER_TIMER);
|
||||||
|
|
||||||
|
Asteroids.clear();
|
||||||
|
Lasers.clear();
|
||||||
|
|
||||||
|
CreateRandomAsteroid(CONST_AST_POS1, Level);
|
||||||
|
CreateRandomAsteroid(CONST_AST_POS2, Level);
|
||||||
|
CreateRandomAsteroid(CONST_AST_POS3, Level);
|
||||||
|
|
||||||
|
Player.Angle = 0;
|
||||||
|
Player.Pos = vec2(Renderer->GetScreenWidth()/2, Renderer->GetScreenHeight()/2);
|
||||||
|
|
||||||
|
RefreshScoreText();
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
CAsteroidStruct TMyApplication::CreateAsteroid(vec2 pos, vec2 dir, int health)
|
||||||
|
{
|
||||||
|
static const float CONST_TEX_COORD_SCALE = 0.01f;
|
||||||
|
static const float CONST_ANGULAR_VELOCITY_SCALE = 0.001f;
|
||||||
|
|
||||||
|
static const boost::random::uniform_int_distribution<> velocityDistribution(5, 10);
|
||||||
|
|
||||||
|
static const boost::random::uniform_int_distribution<> angularVelocityDistribution(0, 10);
|
||||||
|
|
||||||
|
static const boost::random::uniform_int_distribution<> vertexNumberDistribution(5, 10);
|
||||||
|
static const boost::random::uniform_int_distribution<> vertexShiftDistribution(20, 30);
|
||||||
|
|
||||||
|
CAsteroidStruct result;
|
||||||
|
|
||||||
|
result.Health = health;
|
||||||
|
|
||||||
|
result.CenterPos = pos;
|
||||||
|
|
||||||
|
result.Angle = 0;
|
||||||
|
|
||||||
|
result.AngularVelocity = angularVelocityDistribution(RandomGenerator) * CONST_ANGULAR_VELOCITY_SCALE;
|
||||||
|
|
||||||
|
result.Velocity = velocityDistribution(RandomGenerator) * dir;
|
||||||
|
|
||||||
|
int numberOfVertices = vertexNumberDistribution(RandomGenerator);
|
||||||
|
|
||||||
|
std::vector<float> distArr(numberOfVertices);
|
||||||
|
|
||||||
|
for (int i=0; i<numberOfVertices; i++)
|
||||||
|
{
|
||||||
|
distArr[i] = vertexShiftDistribution(RandomGenerator) * HealthToScale(health);
|
||||||
|
}
|
||||||
|
|
||||||
|
//First iteration
|
||||||
|
vec2 prevShift = distArr[0] * vec2(1,0);
|
||||||
|
|
||||||
|
vec2 prevTexCoordShift = prevShift * CONST_TEX_COORD_SCALE;
|
||||||
|
|
||||||
|
//Other iterations
|
||||||
|
for (int i = 1; i <= numberOfVertices; i++)
|
||||||
|
{
|
||||||
|
float angle = i * 2 * pi / static_cast<float>(numberOfVertices);
|
||||||
|
|
||||||
|
vec2 shift = distArr[i % numberOfVertices] * vec2(cosf(angle), sinf(angle));
|
||||||
|
|
||||||
|
vec2 texCoordShift = shift * CONST_TEX_COORD_SCALE;
|
||||||
|
|
||||||
|
result.RenderPair.second.Data.Vec3CoordArr[CONST_STRING_POSITION_ATTRIB].push_back(vec3(pos, 0));
|
||||||
|
result.RenderPair.second.Data.Vec3CoordArr[CONST_STRING_POSITION_ATTRIB].push_back(vec3(pos + prevShift, 0));
|
||||||
|
result.RenderPair.second.Data.Vec3CoordArr[CONST_STRING_POSITION_ATTRIB].push_back(vec3(pos + shift, 0));
|
||||||
|
|
||||||
|
result.RenderPair.second.Data.Vec2CoordArr[CONST_STRING_TEXCOORD_ATTRIB].push_back(vec2(0.5f, 0.5f));
|
||||||
|
result.RenderPair.second.Data.Vec2CoordArr[CONST_STRING_TEXCOORD_ATTRIB].push_back(vec2(0.5f, 0.5f) + prevTexCoordShift);
|
||||||
|
result.RenderPair.second.Data.Vec2CoordArr[CONST_STRING_TEXCOORD_ATTRIB].push_back(vec2(0.5f, 0.5f) + texCoordShift);
|
||||||
|
|
||||||
|
prevShift = shift;
|
||||||
|
prevTexCoordShift = texCoordShift;
|
||||||
|
}
|
||||||
|
|
||||||
|
result.RenderPair.first.SamplerMap[CONST_STRING_TEXTURE_UNIFORM] = "asteroidTexture";
|
||||||
|
|
||||||
|
result.RenderPair.second.RefreshBuffer();
|
||||||
|
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void TMyApplication::CreateRandomAsteroid(vec2 pos, int health)
|
||||||
|
{
|
||||||
|
|
||||||
|
static const boost::random::uniform_int_distribution<> angleDistribution(0, 36);
|
||||||
|
|
||||||
|
float randomAngle = angleDistribution(RandomGenerator) * pi / 18.f;
|
||||||
|
|
||||||
|
Asteroids.push_back(CreateAsteroid(pos, vec2(cosf(randomAngle), sinf(randomAngle)), health));
|
||||||
|
}
|
||||||
|
|
||||||
|
void TMyApplication::CreateAsteroidParts(vec2 pos, int newHealth)
|
||||||
|
{
|
||||||
|
static const boost::random::uniform_int_distribution<> CreateAsteroidParts(2, 5);
|
||||||
|
|
||||||
|
static const boost::random::uniform_int_distribution<> angleDistribution(0, 36);
|
||||||
|
|
||||||
|
float randomAngle = angleDistribution(RandomGenerator) * pi / 18.f;
|
||||||
|
|
||||||
|
int number = CreateAsteroidParts(RandomGenerator);
|
||||||
|
|
||||||
|
for (int i = 0; i < number; i++)
|
||||||
|
{
|
||||||
|
float partAngle = randomAngle + i * 2 * pi / static_cast<float>(number);
|
||||||
|
Asteroids.push_back(CreateAsteroid(pos, vec2(cosf(partAngle), sinf(partAngle)), newHealth));
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
vec2 TMyApplication::NormalizePos(vec2 pos)
|
||||||
|
{
|
||||||
|
vec2 result = pos;
|
||||||
|
|
||||||
|
while (result.v[0] < 0)
|
||||||
|
{
|
||||||
|
result.v[0] += Renderer->GetScreenWidth();
|
||||||
|
}
|
||||||
|
|
||||||
|
while (result.v[1] < 0)
|
||||||
|
{
|
||||||
|
result.v[1] += Renderer->GetScreenHeight();
|
||||||
|
}
|
||||||
|
|
||||||
|
while (result.v[0] >= Renderer->GetScreenWidth())
|
||||||
|
{
|
||||||
|
result.v[0] -= Renderer->GetScreenWidth();
|
||||||
|
}
|
||||||
|
|
||||||
|
while (result.v[1] >= Renderer->GetScreenHeight())
|
||||||
|
{
|
||||||
|
result.v[1] -= Renderer->GetScreenHeight();
|
||||||
|
}
|
||||||
|
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
void TMyApplication::RefreshPlayerPos()
|
||||||
|
{
|
||||||
|
Replace6PointsInTriangleList(Player.RenderPair.second.Data, 0, (-1) * CONST_PLAYER_HALF_SIZE, CONST_PLAYER_HALF_SIZE);
|
||||||
|
|
||||||
|
mat3 rotationMatrix = CreateZRotationMatrix(Player.Angle);
|
||||||
|
|
||||||
|
RotateDataTriangleList(Player.RenderPair.second.Data, rotationMatrix);
|
||||||
|
|
||||||
|
MoveDataTriangleList(Player.RenderPair.second.Data, vec3(Player.Pos, 0));
|
||||||
|
|
||||||
|
Player.RenderPair.second.RefreshBuffer();
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
void TMyApplication::AddNewLaser()
|
||||||
|
{
|
||||||
|
CLaserStruct laser;
|
||||||
|
|
||||||
|
float angle = Player.Angle;
|
||||||
|
|
||||||
|
laser.Dir = vec2(cosf(angle), sinf(angle));
|
||||||
|
|
||||||
|
laser.Pos = Player.Pos;
|
||||||
|
|
||||||
|
laser.RenderPair.second.Data = MakeDataTriangleList((-1) * CONST_LASER_HALF_SIZE, CONST_LASER_HALF_SIZE);
|
||||||
|
|
||||||
|
mat3 rotationMatrix = CreateZRotationMatrix(angle);
|
||||||
|
|
||||||
|
RotateDataTriangleList(laser.RenderPair.second.Data, rotationMatrix);
|
||||||
|
|
||||||
|
MoveDataTriangleList(laser.RenderPair.second.Data, vec3(laser.Pos, 0));
|
||||||
|
|
||||||
|
laser.RenderPair.first.SamplerMap[CONST_STRING_TEXTURE_UNIFORM] = "fireTexture";
|
||||||
|
|
||||||
|
laser.RenderPair.second.RefreshBuffer();
|
||||||
|
|
||||||
|
Lasers.push_back(laser);
|
||||||
|
}
|
||||||
|
|
||||||
|
void TMyApplication::UpdatePlayerPosition(float scaledTime)
|
||||||
|
{
|
||||||
|
|
||||||
|
if (TapIsDown)
|
||||||
|
{
|
||||||
|
|
||||||
|
vec2 dir = Normalize(LastTap - Player.Pos);
|
||||||
|
|
||||||
|
Player.Velocity += CONST_PLAYER_ACCELERATION * scaledTime * dir;
|
||||||
|
|
||||||
|
Player.Angle = acosf(DotProduct(dir, vec2(1, 0)));
|
||||||
|
|
||||||
|
if (dir.v[1] < 0)
|
||||||
|
{
|
||||||
|
Player.Angle = -Player.Angle;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Player.Pos += Player.Velocity * scaledTime;
|
||||||
|
|
||||||
|
|
||||||
|
Player.Velocity *= powf(CONST_VELOCITY_FADE, clamp(scaledTime, 0.f, 1.5f));
|
||||||
|
|
||||||
|
Player.Pos = NormalizePos(Player.Pos);
|
||||||
|
|
||||||
|
RefreshPlayerPos();
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
void TMyApplication::ProcessLaserHit()
|
||||||
|
{
|
||||||
|
|
||||||
|
for (auto laserItr = Lasers.begin(); laserItr != Lasers.end(); )
|
||||||
|
{
|
||||||
|
for (auto astItr = Asteroids.begin(); astItr != Asteroids.end(); )
|
||||||
|
{
|
||||||
|
|
||||||
|
float realDistance = HealthToHitDistance(astItr->Health);
|
||||||
|
|
||||||
|
if (fabs(laserItr->Pos.v[0] - astItr->CenterPos.v[0]) < realDistance &&
|
||||||
|
fabs(laserItr->Pos.v[1] - astItr->CenterPos.v[1]) < realDistance)
|
||||||
|
{
|
||||||
|
laserItr = Lasers.erase(laserItr);
|
||||||
|
|
||||||
|
if (astItr->Health > 0)
|
||||||
|
{
|
||||||
|
CreateAsteroidParts(astItr->CenterPos, astItr->Health - 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
astItr = Asteroids.erase(astItr);
|
||||||
|
|
||||||
|
Score += CONST_HIT_SCORE_POINTS;
|
||||||
|
RefreshScoreText();
|
||||||
|
|
||||||
|
break;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
if (astItr != Asteroids.end())
|
||||||
|
{
|
||||||
|
astItr++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (laserItr != Lasers.end())
|
||||||
|
{
|
||||||
|
laserItr++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
void TMyApplication::ProcessPlayerCollisions()
|
||||||
|
{
|
||||||
|
|
||||||
|
for (auto astItr = Asteroids.begin(); astItr != Asteroids.end(); astItr++)
|
||||||
|
{
|
||||||
|
float realDistance = HealthToHitDistance(astItr->Health);
|
||||||
|
|
||||||
|
if (fabs(astItr->CenterPos.v[0] - Player.Pos.v[0]) < realDistance && fabs(astItr->CenterPos.v[1] - Player.Pos.v[1]) < realDistance)
|
||||||
|
{
|
||||||
|
GameState = GS_LOST;
|
||||||
|
RefreshScoreText();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void TMyApplication::ClearUnusedLasers()
|
||||||
|
{
|
||||||
|
for (auto itr = Lasers.begin(); itr != Lasers.end(); )
|
||||||
|
{
|
||||||
|
if (itr->Pos.v[0] < 0 || itr->Pos.v[1] < 0 || itr->Pos.v[0] > Renderer->GetScreenWidth() || itr->Pos.v[1] > Renderer->GetScreenHeight())
|
||||||
|
{
|
||||||
|
itr = Lasers.erase(itr);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (itr != Lasers.end())
|
||||||
|
{
|
||||||
|
itr++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void TMyApplication::RefreshScoreText()
|
||||||
|
{
|
||||||
|
LevelScoreText = ResourceManager->FontManager.DrawStringToVBO(vec2(10, 20), TTextBasicAreaParams(), "Score: "+ tostr(Score));
|
||||||
|
|
||||||
|
if (GameState == GS_PLAY)
|
||||||
|
{
|
||||||
|
LevelMessageText = ResourceManager->FontManager.DrawStringToVBO(vec2(10, 300), TTextBasicAreaParams(), "Now playing "+ tostr(Level) + " level");
|
||||||
|
}
|
||||||
|
else if (GameState == GS_WON)
|
||||||
|
{
|
||||||
|
LevelMessageText = ResourceManager->FontManager.DrawStringToVBO(vec2(10, 300), TTextBasicAreaParams(), "You won! Tap on screen to start next level");
|
||||||
|
}
|
||||||
|
else if (GameState == GS_LOST)
|
||||||
|
{
|
||||||
|
LevelMessageText = ResourceManager->FontManager.DrawStringToVBO(vec2(10, 300), TTextBasicAreaParams(), "You failed! Tap on screen to restart");
|
||||||
|
}
|
||||||
|
}
|
137
jni/main_code.h
Normal file
@ -0,0 +1,137 @@
|
|||||||
|
#ifndef MAIN_CODE_H_INCLUDED
|
||||||
|
#define MAIN_CODE_H_INCLUDED
|
||||||
|
|
||||||
|
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <stdlib.h>
|
||||||
|
#include <math.h>
|
||||||
|
|
||||||
|
#ifdef TARGET_ANDROID
|
||||||
|
|
||||||
|
#include <GLES/gl.h>
|
||||||
|
#include <GLES2/gl2.h>
|
||||||
|
#include <GLES2/gl2ext.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#include "boost/shared_ptr.hpp"
|
||||||
|
#include "boost/thread/thread.hpp"
|
||||||
|
#include "boost/assign.hpp"
|
||||||
|
#include "boost/bind.hpp"
|
||||||
|
#include "boost/asio.hpp"
|
||||||
|
#include "boost/signal.hpp"
|
||||||
|
#include "boost/random.hpp"
|
||||||
|
|
||||||
|
#include "include/Engine.h"
|
||||||
|
|
||||||
|
using namespace SE;
|
||||||
|
|
||||||
|
struct CAsteroidStruct
|
||||||
|
{
|
||||||
|
int Health;
|
||||||
|
float Angle;
|
||||||
|
float AngularVelocity;
|
||||||
|
vec2 CenterPos;
|
||||||
|
vec2 Velocity;
|
||||||
|
TRenderPair RenderPair;
|
||||||
|
};
|
||||||
|
|
||||||
|
struct CPlayer
|
||||||
|
{
|
||||||
|
vec2 Pos;
|
||||||
|
float Angle;
|
||||||
|
vec2 Velocity;
|
||||||
|
TRenderPair RenderPair;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
struct CLaserStruct
|
||||||
|
{
|
||||||
|
vec2 Pos;
|
||||||
|
vec2 Dir;
|
||||||
|
TRenderPair RenderPair;
|
||||||
|
};
|
||||||
|
|
||||||
|
enum CGameState
|
||||||
|
{
|
||||||
|
GS_PLAY,
|
||||||
|
GS_WON,
|
||||||
|
GS_LOST
|
||||||
|
};
|
||||||
|
|
||||||
|
class TMyApplication : public TApplication
|
||||||
|
{
|
||||||
|
protected:
|
||||||
|
|
||||||
|
//Game elements
|
||||||
|
std::list<CAsteroidStruct> Asteroids;
|
||||||
|
std::list<CLaserStruct> Lasers;
|
||||||
|
CPlayer Player;
|
||||||
|
|
||||||
|
//Minor
|
||||||
|
boost::random::mt19937 RandomGenerator;
|
||||||
|
bool TapIsDown;
|
||||||
|
vec2 LastTap;
|
||||||
|
TSimpleTimer LaserTimer;
|
||||||
|
|
||||||
|
//Game score and state
|
||||||
|
CGameState GameState;
|
||||||
|
int Level;
|
||||||
|
int Score;
|
||||||
|
|
||||||
|
//Static graphics
|
||||||
|
TTriangleList LevelScoreText;
|
||||||
|
TTriangleList LevelMessageText;
|
||||||
|
TRenderPair BackgroundRenderPair;
|
||||||
|
|
||||||
|
|
||||||
|
CAsteroidStruct CreateAsteroid(vec2 pos, vec2 dir, int health);
|
||||||
|
|
||||||
|
void CreateRandomAsteroid(vec2 pos, int health);
|
||||||
|
|
||||||
|
void CreateAsteroidParts(vec2 pos, int newHealth);
|
||||||
|
|
||||||
|
vec2 NormalizePos(vec2 pos);
|
||||||
|
|
||||||
|
void RefreshPlayerPos();
|
||||||
|
|
||||||
|
void AddNewLaser();
|
||||||
|
void UpdatePlayerPosition(float scaledTime);
|
||||||
|
void ProcessLaserHit();
|
||||||
|
void ProcessPlayerCollisions();
|
||||||
|
void ClearUnusedLasers();
|
||||||
|
|
||||||
|
void RefreshScoreText();
|
||||||
|
|
||||||
|
public:
|
||||||
|
bool Inited;
|
||||||
|
|
||||||
|
TMyApplication() : TApplication(), Inited(false) { }
|
||||||
|
|
||||||
|
|
||||||
|
virtual void InnerInit();
|
||||||
|
|
||||||
|
virtual void InnerDeinit();
|
||||||
|
|
||||||
|
virtual void InnerDraw();
|
||||||
|
|
||||||
|
virtual void InnerUpdate(cardinal dt);
|
||||||
|
|
||||||
|
virtual void InnerOnTapDown(vec2 p);
|
||||||
|
|
||||||
|
virtual void InnerOnTapUp(vec2 p);
|
||||||
|
|
||||||
|
virtual void InnerOnTapUpAfterMove(vec2 p);
|
||||||
|
|
||||||
|
virtual void InnerOnMove(vec2 shift);
|
||||||
|
|
||||||
|
bool IsInited() { return Inited; }
|
||||||
|
|
||||||
|
void InitLevel();
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
#endif
|
BIN
res/drawable-hdpi/ic_menu_template.png
Normal file
After Width: | Height: | Size: 3.4 KiB |
BIN
res/drawable-ldpi/ic_menu_template.png
Normal file
After Width: | Height: | Size: 1.4 KiB |
BIN
res/drawable-mdpi/ic_menu_template.png
Normal file
After Width: | Height: | Size: 2.1 KiB |
4
res/values/strings.xml
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<resources>
|
||||||
|
<string name="app_name">AndroidJniTemplate</string>
|
||||||
|
</resources>
|
73
src/fishrungames/salmonjnitemplate/GLView.java
Normal file
@ -0,0 +1,73 @@
|
|||||||
|
package fishrungames.salmonjnitemplate;
|
||||||
|
|
||||||
|
|
||||||
|
import java.util.Calendar;
|
||||||
|
|
||||||
|
import android.content.Context;
|
||||||
|
import android.opengl.GLSurfaceView;
|
||||||
|
|
||||||
|
import javax.microedition.khronos.egl.EGLConfig;
|
||||||
|
import javax.microedition.khronos.opengles.GL10;
|
||||||
|
|
||||||
|
import fishrungames.engine.GLViewAncestor;
|
||||||
|
import fishrungames.engine.EngineWrapper;
|
||||||
|
|
||||||
|
class GLView extends GLViewAncestor
|
||||||
|
{
|
||||||
|
static long lastTimeStamp;
|
||||||
|
static boolean gameIsInited = false;
|
||||||
|
|
||||||
|
public GLView(Context context)
|
||||||
|
{
|
||||||
|
//Change this method? Don't forget to change method below!
|
||||||
|
super(context);
|
||||||
|
init(false, 0, 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
public GLView(Context context, boolean translucent, int depth, int stencil)
|
||||||
|
{
|
||||||
|
//Change this method? Don't forget to change method above!
|
||||||
|
super(context);
|
||||||
|
init(translucent, depth, stencil);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void init(boolean translucent, int depth, int stencil)
|
||||||
|
{
|
||||||
|
super.init(translucent, depth, stencil);
|
||||||
|
setRenderer(new Renderer());
|
||||||
|
Calendar c = Calendar.getInstance();
|
||||||
|
lastTimeStamp = c.getTimeInMillis();
|
||||||
|
gameIsInited = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
private static class Renderer implements GLSurfaceView.Renderer
|
||||||
|
{
|
||||||
|
public void onDrawFrame(GL10 gl)
|
||||||
|
{
|
||||||
|
if (gameIsInited)
|
||||||
|
{
|
||||||
|
Calendar c = Calendar.getInstance();
|
||||||
|
|
||||||
|
long currentTimeStamp = c.getTimeInMillis();
|
||||||
|
|
||||||
|
EngineWrapper.Update(currentTimeStamp - lastTimeStamp);
|
||||||
|
|
||||||
|
lastTimeStamp = currentTimeStamp;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public void onSurfaceChanged(GL10 gl, int width, int height)
|
||||||
|
{
|
||||||
|
|
||||||
|
|
||||||
|
//JniWrapper.Destroy();
|
||||||
|
|
||||||
|
JniWrapper.Init(width,height);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void onSurfaceCreated(GL10 gl, EGLConfig config)
|
||||||
|
{
|
||||||
|
//Do nothing.
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
12
src/fishrungames/salmonjnitemplate/JniWrapper.java
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
package fishrungames.salmonjnitemplate;
|
||||||
|
|
||||||
|
public class JniWrapper
|
||||||
|
{
|
||||||
|
static {
|
||||||
|
System.loadLibrary("SalmonJniTemplate");
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public static native void Init(int width, int height);
|
||||||
|
|
||||||
|
}
|
93
src/fishrungames/salmonjnitemplate/MainActivity.java
Normal file
@ -0,0 +1,93 @@
|
|||||||
|
package fishrungames.salmonjnitemplate;
|
||||||
|
|
||||||
|
import fishrungames.engine.EngineWrapper;
|
||||||
|
|
||||||
|
//Deprecated
|
||||||
|
//import fishrungames.androidjnitemplate.R;
|
||||||
|
|
||||||
|
import android.app.Activity;
|
||||||
|
import android.content.pm.ApplicationInfo;
|
||||||
|
import android.content.pm.PackageManager;
|
||||||
|
import android.content.pm.PackageManager.NameNotFoundException;
|
||||||
|
import android.os.Bundle;
|
||||||
|
|
||||||
|
import android.view.GestureDetector;
|
||||||
|
import android.view.KeyEvent;
|
||||||
|
import android.view.GestureDetector.SimpleOnGestureListener;
|
||||||
|
import android.view.MotionEvent;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public class MainActivity extends Activity
|
||||||
|
{
|
||||||
|
|
||||||
|
GLView mView;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void onCreate(Bundle icicle)
|
||||||
|
{
|
||||||
|
|
||||||
|
super.onCreate(icicle);
|
||||||
|
|
||||||
|
EngineWrapper.LoadSalmonEngineLibrary();
|
||||||
|
|
||||||
|
EngineWrapper.SetActivityInstance(this);
|
||||||
|
EngineWrapper.SetupEnviroment();
|
||||||
|
|
||||||
|
String apkFilePath = null;
|
||||||
|
ApplicationInfo appInfo = null;
|
||||||
|
PackageManager packMgmr = this.getPackageManager();
|
||||||
|
try {
|
||||||
|
appInfo = packMgmr.getApplicationInfo("fishrungames.salmonjnitemplate", 0);
|
||||||
|
} catch (NameNotFoundException e) {
|
||||||
|
|
||||||
|
e.printStackTrace();
|
||||||
|
throw new RuntimeException("Unable to locate assets, aborting...");
|
||||||
|
}
|
||||||
|
apkFilePath = appInfo.sourceDir;
|
||||||
|
|
||||||
|
EngineWrapper.SetupApkFilePath(apkFilePath);
|
||||||
|
|
||||||
|
mView = new GLView(getApplication());
|
||||||
|
|
||||||
|
setContentView(mView);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void onPause()
|
||||||
|
{
|
||||||
|
EngineWrapper.Destroy();
|
||||||
|
super.onPause();
|
||||||
|
mView.onPause();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void onResume()
|
||||||
|
{
|
||||||
|
//Don't write anything here!
|
||||||
|
super.onResume();
|
||||||
|
mView.onResume();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void onStop()
|
||||||
|
{
|
||||||
|
//Don't write anything here!
|
||||||
|
super.onStop();
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean onKeyDown(int keyCode, KeyEvent event)
|
||||||
|
{
|
||||||
|
|
||||||
|
EngineWrapper.ProcessKeyDown(keyCode, event);
|
||||||
|
return super.onKeyDown(keyCode, event);
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean onTouchEvent(MotionEvent event)
|
||||||
|
{
|
||||||
|
EngineWrapper.ProcessTouchEvent(event);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
34
windows/SalmonTemplate/Template.sln
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
|
||||||
|
Microsoft Visual Studio Solution File, Format Version 11.00
|
||||||
|
# Visual C++ Express 2010
|
||||||
|
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Template", "Template\Template.vcxproj", "{0080A3E1-DFBF-4557-B198-E6D5D7724393}"
|
||||||
|
ProjectSection(ProjectDependencies) = postProject
|
||||||
|
{48ADCE9F-9539-4D3A-BCFA-C2ABABAF0B20} = {48ADCE9F-9539-4D3A-BCFA-C2ABABAF0B20}
|
||||||
|
EndProjectSection
|
||||||
|
EndProject
|
||||||
|
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Salmon Engine", "..\..\..\..\Engine\Salmon Engine\Salmon Engine.vcxproj", "{48ADCE9F-9539-4D3A-BCFA-C2ABABAF0B20}"
|
||||||
|
EndProject
|
||||||
|
Global
|
||||||
|
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||||
|
Debug_nosound|Win32 = Debug_nosound|Win32
|
||||||
|
Debug|Win32 = Debug|Win32
|
||||||
|
Release|Win32 = Release|Win32
|
||||||
|
EndGlobalSection
|
||||||
|
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||||
|
{0080A3E1-DFBF-4557-B198-E6D5D7724393}.Debug_nosound|Win32.ActiveCfg = Debug|Win32
|
||||||
|
{0080A3E1-DFBF-4557-B198-E6D5D7724393}.Debug_nosound|Win32.Build.0 = Debug|Win32
|
||||||
|
{0080A3E1-DFBF-4557-B198-E6D5D7724393}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||||
|
{0080A3E1-DFBF-4557-B198-E6D5D7724393}.Debug|Win32.Build.0 = Debug|Win32
|
||||||
|
{0080A3E1-DFBF-4557-B198-E6D5D7724393}.Release|Win32.ActiveCfg = Release|Win32
|
||||||
|
{0080A3E1-DFBF-4557-B198-E6D5D7724393}.Release|Win32.Build.0 = Release|Win32
|
||||||
|
{48ADCE9F-9539-4D3A-BCFA-C2ABABAF0B20}.Debug_nosound|Win32.ActiveCfg = Debug_nosound|Win32
|
||||||
|
{48ADCE9F-9539-4D3A-BCFA-C2ABABAF0B20}.Debug_nosound|Win32.Build.0 = Debug_nosound|Win32
|
||||||
|
{48ADCE9F-9539-4D3A-BCFA-C2ABABAF0B20}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||||
|
{48ADCE9F-9539-4D3A-BCFA-C2ABABAF0B20}.Debug|Win32.Build.0 = Debug|Win32
|
||||||
|
{48ADCE9F-9539-4D3A-BCFA-C2ABABAF0B20}.Release|Win32.ActiveCfg = Release|Win32
|
||||||
|
{48ADCE9F-9539-4D3A-BCFA-C2ABABAF0B20}.Release|Win32.Build.0 = Release|Win32
|
||||||
|
EndGlobalSection
|
||||||
|
GlobalSection(SolutionProperties) = preSolution
|
||||||
|
HideSolutionNode = FALSE
|
||||||
|
EndGlobalSection
|
||||||
|
EndGlobal
|
90
windows/SalmonTemplate/Template/Template.vcxproj
Normal file
@ -0,0 +1,90 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||||
|
<ItemGroup Label="ProjectConfigurations">
|
||||||
|
<ProjectConfiguration Include="Debug|Win32">
|
||||||
|
<Configuration>Debug</Configuration>
|
||||||
|
<Platform>Win32</Platform>
|
||||||
|
</ProjectConfiguration>
|
||||||
|
<ProjectConfiguration Include="Release|Win32">
|
||||||
|
<Configuration>Release</Configuration>
|
||||||
|
<Platform>Win32</Platform>
|
||||||
|
</ProjectConfiguration>
|
||||||
|
</ItemGroup>
|
||||||
|
<PropertyGroup Label="Globals">
|
||||||
|
<ProjectGuid>{0080A3E1-DFBF-4557-B198-E6D5D7724393}</ProjectGuid>
|
||||||
|
<RootNamespace>Template</RootNamespace>
|
||||||
|
</PropertyGroup>
|
||||||
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
||||||
|
<ConfigurationType>Application</ConfigurationType>
|
||||||
|
<UseDebugLibraries>true</UseDebugLibraries>
|
||||||
|
<CharacterSet>NotSet</CharacterSet>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
||||||
|
<ConfigurationType>Application</ConfigurationType>
|
||||||
|
<UseDebugLibraries>false</UseDebugLibraries>
|
||||||
|
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||||
|
<CharacterSet>NotSet</CharacterSet>
|
||||||
|
</PropertyGroup>
|
||||||
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||||
|
<ImportGroup Label="ExtensionSettings">
|
||||||
|
</ImportGroup>
|
||||||
|
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||||
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
|
</ImportGroup>
|
||||||
|
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||||
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
|
</ImportGroup>
|
||||||
|
<PropertyGroup Label="UserMacros" />
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||||
|
<IncludePath>$(VCInstallDir)include;$(VCInstallDir)atlmfc\include;$(WindowsSdkDir)include;$(FrameworkSDKDir)\include;$(SalmonEnginePath)include</IncludePath>
|
||||||
|
<LibraryPath>$(VCInstallDir)lib;$(VCInstallDir)atlmfc\lib;$(WindowsSdkDir)lib;$(FrameworkSDKDir)\lib;$(SalmonEnginePath)$(Configuration)</LibraryPath>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||||
|
<IncludePath>$(VCInstallDir)include;$(VCInstallDir)atlmfc\include;$(WindowsSdkDir)include;$(FrameworkSDKDir)\include;$(SalmonEnginePath)include</IncludePath>
|
||||||
|
<LibraryPath>$(VCInstallDir)lib;$(VCInstallDir)atlmfc\lib;$(WindowsSdkDir)lib;$(FrameworkSDKDir)\lib;$(SalmonEnginePath)$(Configuration)</LibraryPath>
|
||||||
|
</PropertyGroup>
|
||||||
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||||
|
<ClCompile>
|
||||||
|
<WarningLevel>Level3</WarningLevel>
|
||||||
|
<Optimization>Disabled</Optimization>
|
||||||
|
<AdditionalIncludeDirectories>../../../jni;$(SalmonEnginePath);$(LibsPath)\boost_1_52_0;$(LibsPath)\libogg-1.3.0\include;$(LibsPath)\libvorbis-1.3.2\include;$(LibsPath)\sqplus\sqplus;$(LibsPath)\sqplus\include;$(LibsPath)\DirectXsdk\Include;$(LibsPath)\lpng1510</AdditionalIncludeDirectories>
|
||||||
|
<PreprocessorDefinitions>TARGET_WIN32;WIN32_LEAN_AND_MEAN;_WIN32_WINNT=0x0501;DEBUG</PreprocessorDefinitions>
|
||||||
|
<DisableSpecificWarnings>4503</DisableSpecificWarnings>
|
||||||
|
</ClCompile>
|
||||||
|
<Link>
|
||||||
|
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||||
|
<AdditionalDependencies>kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;opengl32.lib;glu32.lib;Salmon Engine.lib;libogg_static.lib;libvorbis_static.lib;libvorbisfile_static.lib;zlib.lib;libpng15.lib;jpeg.lib;sqplusD.lib;squirrelD.lib;sqdbglibD.lib;sqstdlibD.lib;dsound.lib;dxguid.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||||
|
<AdditionalLibraryDirectories>$(LibsPath)\boost_1_52_0\boost_windows\libs_engine\$(Configuration);$(LibsPath)\libogg-1.3.0\win32\VS2010\Win32\$(Configuration);$(LibsPath)\libvorbis-1.3.2\win32\VS2010\Win32\$(Configuration);$(LibsPath)\sqplus\lib;$(LibsPath)\DirectXsdk\Lib\x86;$(LibsPath)\jpeg-9\vc10\Release;$(LibsPath)\lpng1510\projects\vstudio\Debug Library</AdditionalLibraryDirectories>
|
||||||
|
</Link>
|
||||||
|
</ItemDefinitionGroup>
|
||||||
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||||
|
<ClCompile>
|
||||||
|
<WarningLevel>Level3</WarningLevel>
|
||||||
|
<Optimization>MaxSpeed</Optimization>
|
||||||
|
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||||
|
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||||
|
<AdditionalIncludeDirectories>../../../jni;$(SalmonEnginePath);$(LibsPath)\boost_1_52_0;$(LibsPath)\libogg-1.3.0\include;$(LibsPath)\libvorbis-1.3.2\include;$(LibsPath)\sqplus\sqplus;$(LibsPath)\sqplus\include;$(LibsPath)\DirectXsdk\Include;$(LibsPath)\lpng1510</AdditionalIncludeDirectories>
|
||||||
|
<PreprocessorDefinitions>TARGET_WIN32;WIN32_LEAN_AND_MEAN;_WIN32_WINNT=0x0501;NDEBUG</PreprocessorDefinitions>
|
||||||
|
<DisableSpecificWarnings>4503</DisableSpecificWarnings>
|
||||||
|
</ClCompile>
|
||||||
|
<Link>
|
||||||
|
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||||
|
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||||
|
<OptimizeReferences>true</OptimizeReferences>
|
||||||
|
<AdditionalDependencies>kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;opengl32.lib;glu32.lib;Salmon Engine.lib;libogg_static.lib;libvorbis_static.lib;libvorbisfile_static.lib;zlib.lib;libpng15.lib;jpeg.lib;sqplus.lib;squirrel.lib;sqdbglib.lib;sqstdlib.lib;dsound.lib;dxguid.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||||
|
<AdditionalLibraryDirectories>$(LibsPath)\boost_1_52_0\boost_windows\libs_engine\$(Configuration);$(LibsPath)\libogg-1.3.0\win32\VS2010\Win32\$(Configuration);$(LibsPath)\libvorbis-1.3.2\win32\VS2010\Win32\$(Configuration);$(LibsPath)\sqplus\lib;$(LibsPath)\DirectXsdk\Lib\x86;$(LibsPath)\jpeg-9\vc10\Release;$(LibsPath)\lpng1510\projects\vstudio\Release Library</AdditionalLibraryDirectories>
|
||||||
|
</Link>
|
||||||
|
</ItemDefinitionGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<ClCompile Include="..\..\..\jni\main_code.cpp" />
|
||||||
|
<ClCompile Include="main.cpp" />
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<ClInclude Include="..\..\..\jni\main_code.h" />
|
||||||
|
<ClInclude Include="main.h" />
|
||||||
|
</ItemGroup>
|
||||||
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||||
|
<ImportGroup Label="ExtensionTargets">
|
||||||
|
</ImportGroup>
|
||||||
|
</Project>
|
30
windows/SalmonTemplate/Template/main.cpp
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
#include "main.h"
|
||||||
|
|
||||||
|
#include "main_code.h"
|
||||||
|
|
||||||
|
int APIENTRY WinMain(HINSTANCE hCurrentInst, HINSTANCE hPreviousInst,
|
||||||
|
LPSTR lpszCmdLine, int nCmdShow)
|
||||||
|
{
|
||||||
|
|
||||||
|
int width = 480;
|
||||||
|
int height = 320;
|
||||||
|
|
||||||
|
if (CreateEngine(width, height))
|
||||||
|
{
|
||||||
|
|
||||||
|
//MyApplication scope
|
||||||
|
{
|
||||||
|
TMyApplication Application;
|
||||||
|
|
||||||
|
Application.OuterInit(width, height, width, height);
|
||||||
|
|
||||||
|
MainLoop(&Application);
|
||||||
|
|
||||||
|
Application.OuterDeinit();
|
||||||
|
}
|
||||||
|
|
||||||
|
DestroyEngine();
|
||||||
|
}
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
3
windows/SalmonTemplate/Template/main.h
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
#pragma once
|
||||||
|
|
||||||
|
#include "Engine.h"
|