first blood
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
assets/bt_box_yellow.bmp
Normal file
After Width: | Height: | Size: 192 KiB |
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
|
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/level1ogg.ogg
Normal file
1725
assets/model.xml
Normal file
1185
assets/pit.xml
Normal file
BIN
assets/shot.wav
Normal file
BIN
assets/tube.bmp
Normal file
After Width: | Height: | Size: 192 KiB |
BIN
assets/tube.png
Normal file
After Width: | Height: | Size: 1.7 KiB |
3903
assets/tube1.xml
Normal file
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
|
17
iOS/CustomGLKView.h
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
//
|
||||||
|
// CustomGLKView.h
|
||||||
|
// doublehitballs
|
||||||
|
//
|
||||||
|
// Created by vvv ооо on 15.07.12.
|
||||||
|
// Copyright (c) 2012 __MyCompanyName__. All rights reserved.
|
||||||
|
//
|
||||||
|
|
||||||
|
#import <GLKit/GLKit.h>
|
||||||
|
|
||||||
|
@interface CustomGLKView : GLKView
|
||||||
|
|
||||||
|
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event;
|
||||||
|
- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event;
|
||||||
|
- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event;
|
||||||
|
|
||||||
|
@end
|
68
iOS/CustomGLKView.m
Normal file
@ -0,0 +1,68 @@
|
|||||||
|
//
|
||||||
|
// CustomGLKView.m
|
||||||
|
// doublehitballs
|
||||||
|
//
|
||||||
|
// Created by vvv ооо on 15.07.12.
|
||||||
|
// Copyright (c) 2012 __MyCompanyName__. All rights reserved.
|
||||||
|
//
|
||||||
|
|
||||||
|
#import "CustomGLKView.h"
|
||||||
|
#import "ios_api.h"
|
||||||
|
|
||||||
|
bool touchMoved = false;
|
||||||
|
CGPoint prev_loc;
|
||||||
|
|
||||||
|
|
||||||
|
@implementation CustomGLKView
|
||||||
|
|
||||||
|
- (id)initWithFrame:(CGRect)frame
|
||||||
|
{
|
||||||
|
self = [super initWithFrame:frame];
|
||||||
|
if (self) {
|
||||||
|
// Initialization code
|
||||||
|
}
|
||||||
|
return self;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
|
||||||
|
{
|
||||||
|
|
||||||
|
CGPoint location = [[[touches allObjects] objectAtIndex:0] locationInView:self];
|
||||||
|
|
||||||
|
prev_loc = location;
|
||||||
|
|
||||||
|
touchMoved = false;
|
||||||
|
|
||||||
|
AppOnTapDown(location.x, self.bounds.size.height - location.y);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event
|
||||||
|
{
|
||||||
|
CGPoint location = [[[touches allObjects] objectAtIndex:0] locationInView:self];
|
||||||
|
|
||||||
|
CGPoint prevLocation = [[[touches allObjects] objectAtIndex:0] previousLocationInView:self];
|
||||||
|
|
||||||
|
if (abs(prev_loc.x - location.x) > 10 || abs(prev_loc.y - location.y) > 10)
|
||||||
|
{
|
||||||
|
touchMoved = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
AppOnScroll(prevLocation.x - location.x, prevLocation.y - location.y);
|
||||||
|
}
|
||||||
|
|
||||||
|
- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event
|
||||||
|
{
|
||||||
|
CGPoint location = [[[touches allObjects] objectAtIndex:0] locationInView:self];
|
||||||
|
|
||||||
|
if (!touchMoved)
|
||||||
|
{
|
||||||
|
AppOnTapUp(location.x, self.bounds.size.height - location.y);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@end
|
14
iOS/ViewController.h
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
//
|
||||||
|
// ViewController.h
|
||||||
|
// doublehitballs
|
||||||
|
//
|
||||||
|
// Created by vvv ооо on 13.07.12.
|
||||||
|
// Copyright (c) 2012 __MyCompanyName__. All rights reserved.
|
||||||
|
//
|
||||||
|
|
||||||
|
#import <UIKit/UIKit.h>
|
||||||
|
#import <GLKit/GLKit.h>
|
||||||
|
|
||||||
|
@interface ViewController : GLKViewController
|
||||||
|
|
||||||
|
@end
|
106
iOS/ViewController.m
Normal file
@ -0,0 +1,106 @@
|
|||||||
|
//
|
||||||
|
// ViewController.m
|
||||||
|
// doublehitballs
|
||||||
|
//
|
||||||
|
// Created by vvv ооо on 13.07.12.
|
||||||
|
// Copyright (c) 2012 __MyCompanyName__. All rights reserved.
|
||||||
|
//
|
||||||
|
|
||||||
|
#import "ViewController.h"
|
||||||
|
#import "ios_api.h"
|
||||||
|
|
||||||
|
@interface ViewController () {
|
||||||
|
}
|
||||||
|
|
||||||
|
@property (strong, nonatomic) EAGLContext *context;
|
||||||
|
@property (strong, nonatomic) GLKBaseEffect *effect;
|
||||||
|
|
||||||
|
- (void)setupGL;
|
||||||
|
- (void)tearDownGL;
|
||||||
|
|
||||||
|
@end
|
||||||
|
|
||||||
|
@implementation ViewController
|
||||||
|
|
||||||
|
@synthesize context = _context;
|
||||||
|
@synthesize effect = _effect;
|
||||||
|
|
||||||
|
- (void)viewDidLoad
|
||||||
|
{
|
||||||
|
[super viewDidLoad];
|
||||||
|
|
||||||
|
self.context = [[EAGLContext alloc] initWithAPI:kEAGLRenderingAPIOpenGLES2];
|
||||||
|
|
||||||
|
if (!self.context) {
|
||||||
|
NSLog(@"Failed to create ES context");
|
||||||
|
}
|
||||||
|
|
||||||
|
GLKView *view = (GLKView *)self.view;
|
||||||
|
view.context = self.context;
|
||||||
|
view.drawableDepthFormat = GLKViewDrawableDepthFormat24;
|
||||||
|
|
||||||
|
|
||||||
|
[self setupGL];
|
||||||
|
}
|
||||||
|
|
||||||
|
- (void)viewDidUnload
|
||||||
|
{
|
||||||
|
[super viewDidUnload];
|
||||||
|
|
||||||
|
[self tearDownGL];
|
||||||
|
|
||||||
|
if ([EAGLContext currentContext] == self.context) {
|
||||||
|
[EAGLContext setCurrentContext:nil];
|
||||||
|
}
|
||||||
|
self.context = nil;
|
||||||
|
}
|
||||||
|
|
||||||
|
- (void)didReceiveMemoryWarning
|
||||||
|
{
|
||||||
|
[super didReceiveMemoryWarning];
|
||||||
|
// Release any cached data, images, etc. that aren't in use.
|
||||||
|
}
|
||||||
|
|
||||||
|
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
|
||||||
|
{
|
||||||
|
/*
|
||||||
|
if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPhone) {
|
||||||
|
return (interfaceOrientation != UIInterfaceOrientationPortraitUpsideDown);
|
||||||
|
} else {
|
||||||
|
return YES;
|
||||||
|
}*/
|
||||||
|
return UIInterfaceOrientationIsLandscape(interfaceOrientation);
|
||||||
|
}
|
||||||
|
|
||||||
|
- (void)setupGL
|
||||||
|
{
|
||||||
|
[EAGLContext setCurrentContext:self.context];
|
||||||
|
|
||||||
|
AppInit();
|
||||||
|
}
|
||||||
|
|
||||||
|
- (void)tearDownGL
|
||||||
|
{
|
||||||
|
[EAGLContext setCurrentContext:self.context];
|
||||||
|
|
||||||
|
AppDeinit();
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
#pragma mark - GLKView and GLKViewController delegate methods
|
||||||
|
|
||||||
|
- (void)update
|
||||||
|
{
|
||||||
|
|
||||||
|
AppUpdate(self.timeSinceLastUpdate * 1000);
|
||||||
|
}
|
||||||
|
|
||||||
|
- (void)glkView:(GLKView *)view drawInRect:(CGRect)rect
|
||||||
|
{
|
||||||
|
|
||||||
|
AppDraw();
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@end
|
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>
|
47
iOS/ios_api.cpp
Normal file
@ -0,0 +1,47 @@
|
|||||||
|
#include "include/Engine.h"
|
||||||
|
#include "main_code.h"
|
||||||
|
|
||||||
|
TMyApplication App;
|
||||||
|
|
||||||
|
|
||||||
|
extern "C" void AppInit()
|
||||||
|
{
|
||||||
|
|
||||||
|
App.OuterInit(480, 320, 480, 320);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
extern "C" void AppDeinit()
|
||||||
|
{
|
||||||
|
App.OuterDeinit();
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
extern "C" void AppUpdate(int dt)
|
||||||
|
{
|
||||||
|
App.OuterUpdate(dt);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
extern "C" void AppDraw()
|
||||||
|
{
|
||||||
|
App.OuterDraw();
|
||||||
|
}
|
||||||
|
|
||||||
|
extern "C" void AppOnTapDown(int posx, int posy)
|
||||||
|
{
|
||||||
|
//App.OuterOnTapDown(vec2(posx, posy));
|
||||||
|
}
|
||||||
|
|
||||||
|
extern "C" void AppOnTapUp(int posx, int posy)
|
||||||
|
{
|
||||||
|
//App.OuterOnTapUp(vec2(posx, posy));
|
||||||
|
}
|
||||||
|
|
||||||
|
extern "C" void AppOnScroll(int shiftx, int shifty)
|
||||||
|
{
|
||||||
|
//App.OuterOnMove(vec2(shiftx, shifty));
|
||||||
|
}
|
||||||
|
|
15
iOS/ios_api.h
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
//
|
||||||
|
// Header.h
|
||||||
|
// doublehitballs
|
||||||
|
//
|
||||||
|
// Created by vvv ооо on 15.07.12.
|
||||||
|
// Copyright (c) 2012 __MyCompanyName__. All rights reserved.
|
||||||
|
//
|
||||||
|
|
||||||
|
void AppInit();
|
||||||
|
void AppDeinit();
|
||||||
|
void AppUpdate(int dt);
|
||||||
|
void AppDraw();
|
||||||
|
void AppOnTapDown(int posx, int posy);
|
||||||
|
void AppOnTapUp(int posx, int posy);
|
||||||
|
void AppOnScroll(int shiftx, int shifty);
|
18
iOS/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 |
502
iOS/salmontemplate.xcodeproj/project.pbxproj
Normal file
@ -0,0 +1,502 @@
|
|||||||
|
// !$*UTF8*$!
|
||||||
|
{
|
||||||
|
archiveVersion = 1;
|
||||||
|
classes = {
|
||||||
|
};
|
||||||
|
objectVersion = 46;
|
||||||
|
objects = {
|
||||||
|
|
||||||
|
/* Begin PBXBuildFile section */
|
||||||
|
4C49B2BE15B0991B003512CD /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4C49B2BD15B0991B003512CD /* UIKit.framework */; };
|
||||||
|
4C49B2C015B0991B003512CD /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4C49B2BF15B0991B003512CD /* Foundation.framework */; };
|
||||||
|
4C49B2C215B0991B003512CD /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4C49B2C115B0991B003512CD /* CoreGraphics.framework */; };
|
||||||
|
4C49B2C415B0991B003512CD /* GLKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4C49B2C315B0991B003512CD /* GLKit.framework */; };
|
||||||
|
4C49B2C615B0991B003512CD /* OpenGLES.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4C49B2C515B0991B003512CD /* OpenGLES.framework */; };
|
||||||
|
4C49B2CC15B0991B003512CD /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 4C49B2CA15B0991B003512CD /* InfoPlist.strings */; };
|
||||||
|
4C49B2CE15B0991B003512CD /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C49B2CD15B0991B003512CD /* main.m */; };
|
||||||
|
4C49B2D215B0991B003512CD /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C49B2D115B0991B003512CD /* AppDelegate.m */; };
|
||||||
|
4C49B2D915B0991B003512CD /* ViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C49B2D815B0991B003512CD /* ViewController.m */; };
|
||||||
|
4C49B2DC15B0991B003512CD /* ViewController_iPhone.xib in Resources */ = {isa = PBXBuildFile; fileRef = 4C49B2DA15B0991B003512CD /* ViewController_iPhone.xib */; };
|
||||||
|
4C49B2DF15B0991B003512CD /* ViewController_iPad.xib in Resources */ = {isa = PBXBuildFile; fileRef = 4C49B2DD15B0991B003512CD /* ViewController_iPad.xib */; };
|
||||||
|
4C4C807515BA8F460037C6CE /* libsquirrel.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 4C4C807415BA8F460037C6CE /* libsquirrel.a */; };
|
||||||
|
4C4C807715BA8F5B0037C6CE /* libz.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 4C4C807615BA8F5B0037C6CE /* libz.a */; };
|
||||||
|
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.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CCC0ECB15B30D6B005432FB /* CustomGLKView.m */; };
|
||||||
|
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.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ViewController.m; sourceTree = "<group>"; };
|
||||||
|
4C49B2DB15B0991B003512CD /* en */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = en; path = en.lproj/ViewController_iPhone.xib; sourceTree = "<group>"; };
|
||||||
|
4C49B2DE15B0991B003512CD /* en */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = en; path = en.lproj/ViewController_iPad.xib; sourceTree = "<group>"; };
|
||||||
|
4C4C807415BA8F460037C6CE /* libsquirrel.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libsquirrel.a; path = "../../libs/SQUIRREL2_1_1_sqplus/build-ios/ios-device/libsquirrel.a"; sourceTree = "<group>"; };
|
||||||
|
4C4C807615BA8F5B0037C6CE /* libz.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libz.a; path = "../../libs/zlib-1.2.7/build-ios/ios-device/libz.a"; sourceTree = "<group>"; };
|
||||||
|
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.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CustomGLKView.m; sourceTree = "<group>"; };
|
||||||
|
4CCC0ECD15B310FB005432FB /* ios_api.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ios_api.h; sourceTree = "<group>"; };
|
||||||
|
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.m */,
|
||||||
|
4C49B2DA15B0991B003512CD /* ViewController_iPhone.xib */,
|
||||||
|
4C49B2DD15B0991B003512CD /* ViewController_iPad.xib */,
|
||||||
|
4C49B2C815B0991B003512CD /* Supporting Files */,
|
||||||
|
4CCC0ECA15B30D6A005432FB /* CustomGLKView.h */,
|
||||||
|
4CCC0ECB15B30D6B005432FB /* CustomGLKView.m */,
|
||||||
|
);
|
||||||
|
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.m in Sources */,
|
||||||
|
4C7AD44C15B1D77700A599F6 /* ios_api.cpp in Sources */,
|
||||||
|
4CCC0ECC15B30D6B005432FB /* CustomGLKView.m 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,
|
||||||
|
TARGET_SALMON,
|
||||||
|
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,
|
||||||
|
TARGET_SALMON,
|
||||||
|
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 -DTARGET_SALMON -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
|
128
jni/android_api.cpp
Normal file
@ -0,0 +1,128 @@
|
|||||||
|
#include "android_api.h"
|
||||||
|
|
||||||
|
#include "main_code.h"
|
||||||
|
#include "boost\thread.hpp"
|
||||||
|
|
||||||
|
boost::shared_ptr<TMyApplication> App(new TMyApplication);
|
||||||
|
|
||||||
|
boost::mutex m;
|
||||||
|
|
||||||
|
JNIEXPORT void JNICALL Java_fishrungames_salmonjnitemplate_JniWrapper_Init(JNIEnv * env, jobject obj, jint width, jint height)
|
||||||
|
{
|
||||||
|
|
||||||
|
m.lock();
|
||||||
|
try
|
||||||
|
{
|
||||||
|
if (App->IsInited())
|
||||||
|
{
|
||||||
|
App->OuterDeinit(); //Clean up what is left at previous launch (if applicable)
|
||||||
|
}
|
||||||
|
|
||||||
|
App->OuterInit(width, height, 480.f, 320.f);
|
||||||
|
|
||||||
|
App->Inited = true;
|
||||||
|
}
|
||||||
|
catch (...)
|
||||||
|
{
|
||||||
|
throw;
|
||||||
|
}
|
||||||
|
m.unlock();
|
||||||
|
}
|
||||||
|
|
||||||
|
JNIEXPORT void JNICALL Java_fishrungames_salmonjnitemplate_JniWrapper_StopSounds(JNIEnv * env, jobject obj)
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
JNIEXPORT void JNICALL Java_fishrungames_salmonjnitemplate_JniWrapper_Update(JNIEnv * env, jobject obj, long dt)
|
||||||
|
{
|
||||||
|
m.lock();
|
||||||
|
try
|
||||||
|
{
|
||||||
|
if (App->IsInited())
|
||||||
|
{
|
||||||
|
App->OuterDraw();
|
||||||
|
App->OuterUpdate(dt);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
catch (...)
|
||||||
|
{
|
||||||
|
throw;
|
||||||
|
}
|
||||||
|
m.unlock();
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
JNIEXPORT int JNICALL Java_fishrungames_salmonjnitemplate_JniWrapper_IsInited(JNIEnv * env, jobject obj)
|
||||||
|
{
|
||||||
|
|
||||||
|
if (App->IsInited())
|
||||||
|
{
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
JNIEXPORT void JNICALL Java_fishrungames_salmonjnitemplate_JniWrapper_Destroy(JNIEnv * env, jobject obj)
|
||||||
|
{
|
||||||
|
m.lock();
|
||||||
|
try
|
||||||
|
{
|
||||||
|
if (App->IsInited())
|
||||||
|
{
|
||||||
|
App->OuterDeinit();
|
||||||
|
App->Inited = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
catch (...)
|
||||||
|
{
|
||||||
|
throw;
|
||||||
|
}
|
||||||
|
m.unlock();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
JNIEXPORT void JNICALL Java_fishrungames_salmonjnitemplate_JniWrapper_OnTapDown(JNIEnv * env, jobject obj, float x, float y, long time)
|
||||||
|
{
|
||||||
|
m.lock();
|
||||||
|
try
|
||||||
|
{
|
||||||
|
Renderer->MoveDist(1.0f);
|
||||||
|
}
|
||||||
|
catch (...)
|
||||||
|
{
|
||||||
|
throw;
|
||||||
|
}
|
||||||
|
m.unlock();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
JNIEXPORT void JNICALL Java_fishrungames_salmonjnitemplate_JniWrapper_OnTapUp(JNIEnv * env, jobject obj, float x, float y, long time)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
JNIEXPORT void JNICALL Java_fishrungames_salmonjnitemplate_JniWrapper_OnTapMove(JNIEnv * env, jobject obj, float x, float y, long time)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
JNIEXPORT void JNICALL Java_fishrungames_salmonjnitemplate_JniWrapper_OnFling(JNIEnv * env, jobject obj, jfloat velocityX, jfloat velocityY, long time)
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
JNIEXPORT void JNICALL Java_fishrungames_salmonjnitemplate_JniWrapper_OnScroll(JNIEnv * env, jobject obj, jfloat distanceX, jfloat distanceY, long time)
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
JNIEXPORT void JNICALL Java_fishrungames_salmonjnitemplate_JniWrapper_OnKeyPress(JNIEnv * env, jobject obj, jint keyCode)
|
||||||
|
{
|
||||||
|
//App->OnKeyPress(keyCode);
|
||||||
|
}
|
33
jni/android_api.h
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
#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"
|
||||||
|
|
||||||
|
using namespace SE;
|
||||||
|
|
||||||
|
|
||||||
|
extern "C" {
|
||||||
|
JNIEXPORT void JNICALL Java_fishrungames_salmonjnitemplate_JniWrapper_Init(JNIEnv * env, jobject obj, jint width, jint height);
|
||||||
|
JNIEXPORT void JNICALL Java_fishrungames_salmonjnitemplate_JniWrapper_StopSounds(JNIEnv * env, jobject obj);
|
||||||
|
JNIEXPORT void JNICALL Java_fishrungames_salmonjnitemplate_JniWrapper_Update(JNIEnv * env, jobject obj, long dt);
|
||||||
|
JNIEXPORT void JNICALL Java_fishrungames_salmonjnitemplate_JniWrapper_Destroy(JNIEnv * env, jobject obj);
|
||||||
|
JNIEXPORT int JNICALL Java_fishrungames_salmonjnitemplate_JniWrapper_IsInited(JNIEnv * env, jobject obj);
|
||||||
|
JNIEXPORT void JNICALL Java_fishrungames_salmonjnitemplate_JniWrapper_OnTapDown(JNIEnv * env, jobject obj, jfloat x, jfloat y, long time);
|
||||||
|
JNIEXPORT void JNICALL Java_fishrungames_salmonjnitemplate_JniWrapper_OnTapUp(JNIEnv * env, jobject obj, jfloat x, jfloat y, long time);
|
||||||
|
JNIEXPORT void JNICALL Java_fishrungames_salmonjnitemplate_JniWrapper_OnTapMove(JNIEnv * env, jobject obj, jfloat x, jfloat y, long time);
|
||||||
|
JNIEXPORT void JNICALL Java_fishrungames_salmonjnitemplate_JniWrapper_OnFling(JNIEnv * env, jobject obj, jfloat velocityX, jfloat velocityY, long time);
|
||||||
|
JNIEXPORT void JNICALL Java_fishrungames_salmonjnitemplate_JniWrapper_OnScroll(JNIEnv * env, jobject obj, jfloat distanceX, jfloat distanceY, long time);
|
||||||
|
JNIEXPORT void JNICALL Java_fishrungames_salmonjnitemplate_JniWrapper_OnKeyPress(JNIEnv * env, jobject obj, jint keyCode);
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
#endif
|
209
jni/main_code.cpp
Normal file
@ -0,0 +1,209 @@
|
|||||||
|
#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"
|
||||||
|
|
||||||
|
|
||||||
|
void TMyApplication::InnerInit()
|
||||||
|
{
|
||||||
|
|
||||||
|
*Console<<"Inner init go!\n";
|
||||||
|
|
||||||
|
#ifdef TARGET_ANDROID
|
||||||
|
ResourceManager->PathToResources = "";
|
||||||
|
#endif
|
||||||
|
#ifdef TARGET_WIN32
|
||||||
|
#ifdef NDEBUG
|
||||||
|
ResourceManager->PathToResources = "resources/";
|
||||||
|
#else
|
||||||
|
ResourceManager->PathToResources = "../../../assets/";
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
#ifdef TARGET_IOS
|
||||||
|
ResourceManager->PathToResources = "assets/";
|
||||||
|
#endif
|
||||||
|
|
||||||
|
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->SoundManager.LoadMusic("level1ogg.ogg");
|
||||||
|
|
||||||
|
ResourceManager->SoundManager.LoadSound("shot.wav");
|
||||||
|
|
||||||
|
//Renderer->MovePhi(pi/6);
|
||||||
|
|
||||||
|
Renderer->CameraMover = TPitCamera();
|
||||||
|
|
||||||
|
//boost::get<TPanoramicCamera>(Renderer->CameraMover).MoveDist(3.5f);
|
||||||
|
|
||||||
|
ResourceManager->LightManager.SetLightDirection(vec3(-1,0,-1));
|
||||||
|
ResourceManager->LightManager.SetLightColor(vec4(1,0,0,1));
|
||||||
|
|
||||||
|
ResourceManager->TexList.AddTexture("bt_box_yellow.bmp");
|
||||||
|
ResourceManager->TexList.AddTexture("tube.png");
|
||||||
|
ResourceManager->FlexModelManager.LoadModelFromXml("model.xml");
|
||||||
|
ResourceManager->FlexModelManager.LoadModelFromXml("pit.xml");
|
||||||
|
ResourceManager->FlexModelManager.LoadModelFromXml("tube1.xml");
|
||||||
|
|
||||||
|
FlexModel = ResourceManager->FlexModelManager.InstanciateModel("pit.xml");
|
||||||
|
|
||||||
|
FlexModel.MoveModel(vec3(0, -40.f, 0));
|
||||||
|
FlexModel.ScaleModel(0.03f);
|
||||||
|
FlexModel.MoveModel(vec3(0, 0.f, -3.5f));
|
||||||
|
FlexModel.RefreshBuffer();
|
||||||
|
|
||||||
|
//TubeModelArr.resize(20);
|
||||||
|
TubeModelArr.resize(2);
|
||||||
|
|
||||||
|
for (size_t i = 0; i < TubeModelArr.size(); ++i)
|
||||||
|
{
|
||||||
|
TubeModelArr[i] = ResourceManager->FlexModelManager.InstanciateModel("tube1.xml");
|
||||||
|
TubeModelArr[i].MoveModel(vec3(0, 0, -250.f*i));
|
||||||
|
TubeModelArr[i].ScaleModel(10.f);
|
||||||
|
TubeModelArr[i].RefreshBuffer();
|
||||||
|
//TubeModelArr[i].PushModelDataTriangleList();
|
||||||
|
}
|
||||||
|
|
||||||
|
//Uncomment to start music playing
|
||||||
|
//ResourceManager->SoundManager.PlayMusic("level1ogg.ogg");
|
||||||
|
|
||||||
|
Velocity = 10.f;
|
||||||
|
|
||||||
|
*Console<<"Inner init end!\n";
|
||||||
|
}
|
||||||
|
|
||||||
|
void TMyApplication::InnerDeinit()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void TMyApplication::InnerDraw()
|
||||||
|
{
|
||||||
|
|
||||||
|
glClearColor(0,0,0,1);
|
||||||
|
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
|
||||||
|
|
||||||
|
Renderer->PushPerspectiveProjectionMatrix(pi/6, Renderer->GetMatrixWidth() / Renderer->GetMatrixHeight(), 1.f, 4500.f);
|
||||||
|
|
||||||
|
Renderer->PushMatrix();
|
||||||
|
|
||||||
|
Renderer->SetGLCamView();
|
||||||
|
|
||||||
|
|
||||||
|
for (size_t i = 0; i < TubeModelArr.size(); ++i)
|
||||||
|
{
|
||||||
|
TubeModelArr[i].Draw();
|
||||||
|
}
|
||||||
|
|
||||||
|
Renderer->PopMatrix();
|
||||||
|
|
||||||
|
Renderer->PopProjectionMatrix();
|
||||||
|
|
||||||
|
FlexModel.Draw();
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void TMyApplication::InnerUpdate(cardinal dt)
|
||||||
|
{
|
||||||
|
vec3 camShift = boost::get<TPitCamera>(Renderer->CameraMover).CamShift;
|
||||||
|
|
||||||
|
vec3 camVec = boost::get<TPitCamera>(Renderer->CameraMover).CamVec;
|
||||||
|
|
||||||
|
camShift += camVec * (static_cast<float>(dt)*Velocity);
|
||||||
|
|
||||||
|
boost::get<TPitCamera>(Renderer->CameraMover).CamShift = camShift;
|
||||||
|
|
||||||
|
if (Velocity != 0)
|
||||||
|
{
|
||||||
|
|
||||||
|
vec3 a = boost::get<TPitCamera>(Renderer->CameraMover).CamShift;
|
||||||
|
vec3 b = a + 100.f * boost::get<TPitCamera>(Renderer->CameraMover).CamVec;
|
||||||
|
|
||||||
|
if (a != b)
|
||||||
|
{
|
||||||
|
|
||||||
|
for (size_t i = 0; i < TubeModelArr.size(); ++i)
|
||||||
|
{
|
||||||
|
TDataTriangleList& dataTriangleList = TubeModelArr[i].GetDataTriangleList();
|
||||||
|
|
||||||
|
for (size_t j = 0; j < dataTriangleList.Vec3CoordArr[CONST_STRING_POSITION_ATTRIB].size(); j+=3)
|
||||||
|
{
|
||||||
|
TSmpTriangle smpTriangle;
|
||||||
|
|
||||||
|
smpTriangle.p[0] = dataTriangleList.Vec3CoordArr[CONST_STRING_POSITION_ATTRIB][j];
|
||||||
|
smpTriangle.p[1] = dataTriangleList.Vec3CoordArr[CONST_STRING_POSITION_ATTRIB][j + 1];
|
||||||
|
smpTriangle.p[2] = dataTriangleList.Vec3CoordArr[CONST_STRING_POSITION_ATTRIB][j + 2];
|
||||||
|
|
||||||
|
smpTriangle.v = smpTriangle.p[1] - smpTriangle.p[0];
|
||||||
|
smpTriangle.w = smpTriangle.p[2] - smpTriangle.p[1];
|
||||||
|
|
||||||
|
smpTriangle.n = CrossProduct(smpTriangle.v, smpTriangle.w);
|
||||||
|
|
||||||
|
if (LineCouldCrossTriangle(a, b, smpTriangle))
|
||||||
|
{
|
||||||
|
if (LineCrossTriangle(a, b, smpTriangle) == 1)
|
||||||
|
{
|
||||||
|
Velocity = 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void TMyApplication::InnerOnMove(vec2 shift)
|
||||||
|
{
|
||||||
|
|
||||||
|
float len = Length(shift);
|
||||||
|
|
||||||
|
//vec3 rotation = Normalize(vec3(shift, 0)); //Non-inverse
|
||||||
|
|
||||||
|
vec3 rotation = -Normalize(vec3(shift, 0)); //Inverse
|
||||||
|
|
||||||
|
rotation.v[0] = -rotation.v[0];
|
||||||
|
|
||||||
|
vec3 z = vec3(0,0,-1);
|
||||||
|
|
||||||
|
vec4 startQuat = boost::get<TPitCamera>(Renderer->CameraMover).CameraQuat;
|
||||||
|
|
||||||
|
vec3 rotate_axis = Normalize(CrossProduct(rotation, z));
|
||||||
|
|
||||||
|
rotate_axis = startQuat * vec4(rotate_axis) * InverseQuat(startQuat);
|
||||||
|
|
||||||
|
float half_alpha = len * 0.01f / 2.f;
|
||||||
|
|
||||||
|
vec4 quat = vec4(rotate_axis.v[0] * sin(half_alpha), rotate_axis.v[1] * sin(half_alpha), rotate_axis.v[2] * sin(half_alpha), cos(half_alpha));
|
||||||
|
|
||||||
|
boost::get<TPitCamera>(Renderer->CameraMover).RotateByQuat(quat);
|
||||||
|
|
||||||
|
boost::get<TPitCamera>(Renderer->CameraMover).CalcCamVec();
|
||||||
|
}
|
||||||
|
|
||||||
|
void TMyApplication::OnMouseWheel(short int delta)
|
||||||
|
{
|
||||||
|
Velocity = 10.f;
|
||||||
|
|
||||||
|
boost::get<TPitCamera>(Renderer->CameraMover).CamShift = ZeroVec3;
|
||||||
|
|
||||||
|
}
|
60
jni/main_code.h
Normal file
@ -0,0 +1,60 @@
|
|||||||
|
#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 "include/Engine.h"
|
||||||
|
|
||||||
|
using namespace SE;
|
||||||
|
|
||||||
|
class TMyApplication : public TApplication
|
||||||
|
{
|
||||||
|
protected:
|
||||||
|
|
||||||
|
public:
|
||||||
|
bool Inited;
|
||||||
|
|
||||||
|
float Velocity;
|
||||||
|
|
||||||
|
TFlexModel FlexModel;
|
||||||
|
|
||||||
|
std::vector<TFlexModel> TubeModelArr;
|
||||||
|
|
||||||
|
TMyApplication() : TApplication(), Inited(false) { }
|
||||||
|
|
||||||
|
|
||||||
|
virtual void InnerInit();
|
||||||
|
|
||||||
|
virtual void InnerDeinit();
|
||||||
|
|
||||||
|
virtual void InnerDraw();
|
||||||
|
|
||||||
|
virtual void InnerUpdate(cardinal dt);
|
||||||
|
|
||||||
|
bool IsInited() { return Inited; }
|
||||||
|
|
||||||
|
virtual void InnerOnMove(vec2 shift);
|
||||||
|
|
||||||
|
virtual void OnMouseWheel(short int delta);
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
#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>
|
72
src/fishrungames/salmonjnitemplate/GLView.java
Normal file
@ -0,0 +1,72 @@
|
|||||||
|
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;
|
||||||
|
|
||||||
|
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();
|
||||||
|
|
||||||
|
JniWrapper.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.
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
23
src/fishrungames/salmonjnitemplate/JniWrapper.java
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
package fishrungames.salmonjnitemplate;
|
||||||
|
|
||||||
|
public class JniWrapper
|
||||||
|
{
|
||||||
|
static {
|
||||||
|
System.loadLibrary("SalmonJniTemplate");
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public static native void Init(int width, int height);
|
||||||
|
public static native void Update(long dt);
|
||||||
|
public static native void StopSounds();
|
||||||
|
public static native void Destroy();
|
||||||
|
public static native int IsInited();
|
||||||
|
public static native void OnTapDown(float x, float y, long time);
|
||||||
|
public static native void OnTapUp(float x, float y, long time);
|
||||||
|
public static native void OnTapMove(float x, float y, long time);
|
||||||
|
|
||||||
|
public static native void OnFling(float velocityX, float velocityY, long time);
|
||||||
|
public static native void OnScroll(float distanceX, float distanceY, long time);
|
||||||
|
|
||||||
|
public static native void OnKeyPress(int keyCode);
|
||||||
|
}
|
191
src/fishrungames/salmonjnitemplate/MainActivity.java
Normal file
@ -0,0 +1,191 @@
|
|||||||
|
package fishrungames.salmonjnitemplate;
|
||||||
|
|
||||||
|
import fishrungames.engine.FileWrapper;
|
||||||
|
|
||||||
|
//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;
|
||||||
|
/*
|
||||||
|
import android.content.res.Resources;
|
||||||
|
import android.content.res.XmlResourceParser;
|
||||||
|
import android.util.AttributeSet;
|
||||||
|
import android.util.Xml;
|
||||||
|
import android.inputmethodservice.Keyboard;
|
||||||
|
import android.inputmethodservice.KeyboardView;
|
||||||
|
import android.view.ViewGroup.LayoutParams;
|
||||||
|
import android.widget.LinearLayout;
|
||||||
|
*/
|
||||||
|
|
||||||
|
//Deprecated
|
||||||
|
//import java.lang.reflect.Field;
|
||||||
|
|
||||||
|
|
||||||
|
public class MainActivity extends Activity
|
||||||
|
{
|
||||||
|
|
||||||
|
GLView mView;
|
||||||
|
|
||||||
|
boolean IsScrolling = false;
|
||||||
|
|
||||||
|
private GestureDetector gestureDetector;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void onCreate(Bundle icicle)
|
||||||
|
{
|
||||||
|
|
||||||
|
super.onCreate(icicle);
|
||||||
|
|
||||||
|
gestureDetector = new GestureDetector(new MyGestureListener());
|
||||||
|
|
||||||
|
FileWrapper.LoadSalmonEngineLibrary();
|
||||||
|
|
||||||
|
FileWrapper.SetActivityInstance(this);
|
||||||
|
FileWrapper.SetupEnviroment();
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Deprecated
|
||||||
|
try
|
||||||
|
{
|
||||||
|
for (Field f : R.raw.class.getFields())
|
||||||
|
{
|
||||||
|
FileWrapper.AddToFileMap(f.getName(), f.getInt(null));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
} catch (IllegalArgumentException e)
|
||||||
|
{
|
||||||
|
FileWrapper.ConsoleOut("IllegalArgumentException\n");
|
||||||
|
onStop();
|
||||||
|
} catch (IllegalAccessException e)
|
||||||
|
{
|
||||||
|
FileWrapper.ConsoleOut("IllegalAccessException\n");
|
||||||
|
onStop();
|
||||||
|
}*/
|
||||||
|
|
||||||
|
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;
|
||||||
|
|
||||||
|
FileWrapper.SetupApkFilePath(apkFilePath);
|
||||||
|
|
||||||
|
mView = new GLView(getApplication());
|
||||||
|
|
||||||
|
setContentView(mView);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void onPause()
|
||||||
|
{
|
||||||
|
JniWrapper.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)
|
||||||
|
{
|
||||||
|
int ascii_keycode = keyCode;
|
||||||
|
|
||||||
|
if (keyCode == KeyEvent.KEYCODE_DEL)
|
||||||
|
{
|
||||||
|
ascii_keycode = 8; //Hack - getUnicodeChar does not recognize backspace
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
ascii_keycode = event.getUnicodeChar();
|
||||||
|
}
|
||||||
|
|
||||||
|
JniWrapper.OnKeyPress(ascii_keycode);
|
||||||
|
return super.onKeyDown(keyCode, event);
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean onTouchEvent(MotionEvent event)
|
||||||
|
{
|
||||||
|
if (gestureDetector.onTouchEvent(event))
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (event.getAction() == MotionEvent.ACTION_UP)
|
||||||
|
{
|
||||||
|
float x = event.getX();
|
||||||
|
float y = (float) mView.getHeight() - event.getY();
|
||||||
|
|
||||||
|
if (IsScrolling)
|
||||||
|
{
|
||||||
|
IsScrolling = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
JniWrapper.OnTapUp(x, y, event.getEventTime());
|
||||||
|
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
class MyGestureListener extends SimpleOnGestureListener
|
||||||
|
{
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX,
|
||||||
|
float velocityY)
|
||||||
|
{
|
||||||
|
JniWrapper.OnFling(velocityX, velocityY, e2.getEventTime());
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean onScroll(MotionEvent e1, MotionEvent e2,
|
||||||
|
float distanceX, float distanceY)
|
||||||
|
{
|
||||||
|
|
||||||
|
JniWrapper.OnScroll(distanceX, distanceY, e2.getEventTime());
|
||||||
|
IsScrolling = true;
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean onDown(MotionEvent event)
|
||||||
|
{
|
||||||
|
|
||||||
|
float x = event.getX();
|
||||||
|
float y = (float) mView.getHeight() - event.getY();
|
||||||
|
|
||||||
|
JniWrapper.OnTapDown(x, y, event.getEventTime());
|
||||||
|
|
||||||
|
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
|
88
windows/SalmonTemplate/Template/Template.vcxproj
Normal file
@ -0,0 +1,88 @@
|
|||||||
|
<?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;TARGET_SALMON;WIN32_LEAN_AND_MEAN;_WIN32_WINNT=0x0501;DEBUG</PreprocessorDefinitions>
|
||||||
|
</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;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)\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;TARGET_SALMON;WIN32_LEAN_AND_MEAN;_WIN32_WINNT=0x0501;NDEBUG</PreprocessorDefinitions>
|
||||||
|
</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;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)\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>
|
16
windows/SalmonTemplate/Template/main.cpp
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
#include "main.h"
|
||||||
|
|
||||||
|
#include "main_code.h"
|
||||||
|
|
||||||
|
int APIENTRY WinMain(HINSTANCE hCurrentInst, HINSTANCE hPreviousInst,
|
||||||
|
LPSTR lpszCmdLine, int nCmdShow)
|
||||||
|
{
|
||||||
|
//Create application
|
||||||
|
TMyApplication Application;
|
||||||
|
|
||||||
|
Application.Width = 480;
|
||||||
|
Application.Height = 320;
|
||||||
|
|
||||||
|
//Start application
|
||||||
|
return MainLoop(Application);
|
||||||
|
}
|
3
windows/SalmonTemplate/Template/main.h
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
#pragma once
|
||||||
|
|
||||||
|
#include "Engine.h"
|