Remove XCode Project and associated interfaces which no longer match current Kraken API
This commit is contained in:
File diff suppressed because it is too large
Load Diff
@@ -1,7 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<Workspace
|
|
||||||
version = "1.0">
|
|
||||||
<FileRef
|
|
||||||
location = "self:KREngine.xcodeproj">
|
|
||||||
</FileRef>
|
|
||||||
</Workspace>
|
|
||||||
@@ -1,82 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<Scheme
|
|
||||||
LastUpgradeVersion = "0900"
|
|
||||||
version = "1.3">
|
|
||||||
<BuildAction
|
|
||||||
parallelizeBuildables = "YES"
|
|
||||||
buildImplicitDependencies = "YES">
|
|
||||||
<BuildActionEntries>
|
|
||||||
<BuildActionEntry
|
|
||||||
buildForTesting = "YES"
|
|
||||||
buildForRunning = "YES"
|
|
||||||
buildForProfiling = "YES"
|
|
||||||
buildForArchiving = "YES"
|
|
||||||
buildForAnalyzing = "YES">
|
|
||||||
<BuildableReference
|
|
||||||
BuildableIdentifier = "primary"
|
|
||||||
BlueprintIdentifier = "E4BBBB7D1512A40300F43B5B"
|
|
||||||
BuildableName = "kraken.framework"
|
|
||||||
BlueprintName = "Kraken - osx"
|
|
||||||
ReferencedContainer = "container:Kraken.xcodeproj">
|
|
||||||
</BuildableReference>
|
|
||||||
</BuildActionEntry>
|
|
||||||
</BuildActionEntries>
|
|
||||||
</BuildAction>
|
|
||||||
<TestAction
|
|
||||||
buildConfiguration = "Debug"
|
|
||||||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
|
||||||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
|
||||||
language = ""
|
|
||||||
shouldUseLaunchSchemeArgsEnv = "YES">
|
|
||||||
<Testables>
|
|
||||||
</Testables>
|
|
||||||
<AdditionalOptions>
|
|
||||||
</AdditionalOptions>
|
|
||||||
</TestAction>
|
|
||||||
<LaunchAction
|
|
||||||
buildConfiguration = "Debug"
|
|
||||||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
|
||||||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
|
||||||
language = ""
|
|
||||||
launchStyle = "0"
|
|
||||||
useCustomWorkingDirectory = "NO"
|
|
||||||
ignoresPersistentStateOnLaunch = "NO"
|
|
||||||
debugDocumentVersioning = "YES"
|
|
||||||
debugServiceExtension = "internal"
|
|
||||||
allowLocationSimulation = "YES">
|
|
||||||
<MacroExpansion>
|
|
||||||
<BuildableReference
|
|
||||||
BuildableIdentifier = "primary"
|
|
||||||
BlueprintIdentifier = "E4BBBB7D1512A40300F43B5B"
|
|
||||||
BuildableName = "kraken.framework"
|
|
||||||
BlueprintName = "Kraken - osx"
|
|
||||||
ReferencedContainer = "container:Kraken.xcodeproj">
|
|
||||||
</BuildableReference>
|
|
||||||
</MacroExpansion>
|
|
||||||
<AdditionalOptions>
|
|
||||||
</AdditionalOptions>
|
|
||||||
</LaunchAction>
|
|
||||||
<ProfileAction
|
|
||||||
buildConfiguration = "Release"
|
|
||||||
shouldUseLaunchSchemeArgsEnv = "YES"
|
|
||||||
savedToolIdentifier = ""
|
|
||||||
useCustomWorkingDirectory = "NO"
|
|
||||||
debugDocumentVersioning = "YES">
|
|
||||||
<MacroExpansion>
|
|
||||||
<BuildableReference
|
|
||||||
BuildableIdentifier = "primary"
|
|
||||||
BlueprintIdentifier = "E4BBBB7D1512A40300F43B5B"
|
|
||||||
BuildableName = "kraken.framework"
|
|
||||||
BlueprintName = "Kraken - osx"
|
|
||||||
ReferencedContainer = "container:Kraken.xcodeproj">
|
|
||||||
</BuildableReference>
|
|
||||||
</MacroExpansion>
|
|
||||||
</ProfileAction>
|
|
||||||
<AnalyzeAction
|
|
||||||
buildConfiguration = "Debug">
|
|
||||||
</AnalyzeAction>
|
|
||||||
<ArchiveAction
|
|
||||||
buildConfiguration = "Release"
|
|
||||||
revealArchiveInOrganizer = "YES">
|
|
||||||
</ArchiveAction>
|
|
||||||
</Scheme>
|
|
||||||
@@ -1,82 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<Scheme
|
|
||||||
LastUpgradeVersion = "0900"
|
|
||||||
version = "1.3">
|
|
||||||
<BuildAction
|
|
||||||
parallelizeBuildables = "YES"
|
|
||||||
buildImplicitDependencies = "YES">
|
|
||||||
<BuildActionEntries>
|
|
||||||
<BuildActionEntry
|
|
||||||
buildForTesting = "YES"
|
|
||||||
buildForRunning = "YES"
|
|
||||||
buildForProfiling = "YES"
|
|
||||||
buildForArchiving = "YES"
|
|
||||||
buildForAnalyzing = "YES">
|
|
||||||
<BuildableReference
|
|
||||||
BuildableIdentifier = "primary"
|
|
||||||
BlueprintIdentifier = "E48C527919C570C50062E439"
|
|
||||||
BuildableName = "kraken.framework"
|
|
||||||
BlueprintName = "kraken - ios"
|
|
||||||
ReferencedContainer = "container:Kraken.xcodeproj">
|
|
||||||
</BuildableReference>
|
|
||||||
</BuildActionEntry>
|
|
||||||
</BuildActionEntries>
|
|
||||||
</BuildAction>
|
|
||||||
<TestAction
|
|
||||||
buildConfiguration = "Debug"
|
|
||||||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
|
||||||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
|
||||||
language = ""
|
|
||||||
shouldUseLaunchSchemeArgsEnv = "YES">
|
|
||||||
<Testables>
|
|
||||||
</Testables>
|
|
||||||
<AdditionalOptions>
|
|
||||||
</AdditionalOptions>
|
|
||||||
</TestAction>
|
|
||||||
<LaunchAction
|
|
||||||
buildConfiguration = "Debug"
|
|
||||||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
|
||||||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
|
||||||
language = ""
|
|
||||||
launchStyle = "0"
|
|
||||||
useCustomWorkingDirectory = "NO"
|
|
||||||
ignoresPersistentStateOnLaunch = "NO"
|
|
||||||
debugDocumentVersioning = "YES"
|
|
||||||
debugServiceExtension = "internal"
|
|
||||||
allowLocationSimulation = "YES">
|
|
||||||
<MacroExpansion>
|
|
||||||
<BuildableReference
|
|
||||||
BuildableIdentifier = "primary"
|
|
||||||
BlueprintIdentifier = "E48C527919C570C50062E439"
|
|
||||||
BuildableName = "kraken.framework"
|
|
||||||
BlueprintName = "kraken - ios"
|
|
||||||
ReferencedContainer = "container:Kraken.xcodeproj">
|
|
||||||
</BuildableReference>
|
|
||||||
</MacroExpansion>
|
|
||||||
<AdditionalOptions>
|
|
||||||
</AdditionalOptions>
|
|
||||||
</LaunchAction>
|
|
||||||
<ProfileAction
|
|
||||||
buildConfiguration = "Release"
|
|
||||||
shouldUseLaunchSchemeArgsEnv = "YES"
|
|
||||||
savedToolIdentifier = ""
|
|
||||||
useCustomWorkingDirectory = "NO"
|
|
||||||
debugDocumentVersioning = "YES">
|
|
||||||
<MacroExpansion>
|
|
||||||
<BuildableReference
|
|
||||||
BuildableIdentifier = "primary"
|
|
||||||
BlueprintIdentifier = "E48C527919C570C50062E439"
|
|
||||||
BuildableName = "kraken.framework"
|
|
||||||
BlueprintName = "kraken - ios"
|
|
||||||
ReferencedContainer = "container:Kraken.xcodeproj">
|
|
||||||
</BuildableReference>
|
|
||||||
</MacroExpansion>
|
|
||||||
</ProfileAction>
|
|
||||||
<AnalyzeAction
|
|
||||||
buildConfiguration = "Debug">
|
|
||||||
</AnalyzeAction>
|
|
||||||
<ArchiveAction
|
|
||||||
buildConfiguration = "Release"
|
|
||||||
revealArchiveInOrganizer = "YES">
|
|
||||||
</ArchiveAction>
|
|
||||||
</Scheme>
|
|
||||||
@@ -1,24 +0,0 @@
|
|||||||
<?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>$(DEVELOPMENT_LANGUAGE)</string>
|
|
||||||
<key>CFBundleExecutable</key>
|
|
||||||
<string>$(EXECUTABLE_NAME)</string>
|
|
||||||
<key>CFBundleIdentifier</key>
|
|
||||||
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
|
|
||||||
<key>CFBundleInfoDictionaryVersion</key>
|
|
||||||
<string>6.0</string>
|
|
||||||
<key>CFBundleName</key>
|
|
||||||
<string>$(PRODUCT_NAME)</string>
|
|
||||||
<key>CFBundlePackageType</key>
|
|
||||||
<string>FMWK</string>
|
|
||||||
<key>CFBundleShortVersionString</key>
|
|
||||||
<string>1.0</string>
|
|
||||||
<key>CFBundleVersion</key>
|
|
||||||
<string>$(CURRENT_PROJECT_VERSION)</string>
|
|
||||||
<key>NSPrincipalClass</key>
|
|
||||||
<string></string>
|
|
||||||
</dict>
|
|
||||||
</plist>
|
|
||||||
@@ -1,8 +0,0 @@
|
|||||||
//
|
|
||||||
// Prefix header for all source files of the 'KREngine' target in the 'KREngine' project
|
|
||||||
//
|
|
||||||
|
|
||||||
#ifdef __OBJC__
|
|
||||||
#include <Foundation/Foundation.h>
|
|
||||||
#include <UIKit/UIKit.h>
|
|
||||||
#endif
|
|
||||||
@@ -1,48 +0,0 @@
|
|||||||
//
|
|
||||||
// KrakenView.h
|
|
||||||
// Kraken Engine
|
|
||||||
//
|
|
||||||
// Copyright 2022 Kearwood Gilbert. All rights reserved.
|
|
||||||
//
|
|
||||||
// Redistribution and use in source and binary forms, with or without modification, are
|
|
||||||
// permitted provided that the following conditions are met:
|
|
||||||
//
|
|
||||||
// 1. Redistributions of source code must retain the above copyright notice, this list of
|
|
||||||
// conditions and the following disclaimer.
|
|
||||||
//
|
|
||||||
// 2. Redistributions in binary form must reproduce the above copyright notice, this list
|
|
||||||
// of conditions and the following disclaimer in the documentation and/or other materials
|
|
||||||
// provided with the distribution.
|
|
||||||
//
|
|
||||||
// THIS SOFTWARE IS PROVIDED BY KEARWOOD GILBERT ''AS IS'' AND ANY EXPRESS OR IMPLIED
|
|
||||||
// WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
|
|
||||||
// FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL KEARWOOD GILBERT OR
|
|
||||||
// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
|
||||||
// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
|
||||||
// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
|
|
||||||
// ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
|
|
||||||
// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
|
|
||||||
// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
//
|
|
||||||
// The views and conclusions contained in the software and documentation are those of the
|
|
||||||
// authors and should not be interpreted as representing official policies, either expressed
|
|
||||||
// or implied, of Kearwood Gilbert.
|
|
||||||
//
|
|
||||||
class KRContext;
|
|
||||||
class KRScene;
|
|
||||||
|
|
||||||
@protocol KrakenViewDelegate <NSObject>
|
|
||||||
@optional
|
|
||||||
- (void)preRender:(KRContext *)context withDeltaTime: (CFTimeInterval)deltaTime;
|
|
||||||
- (void)postRender:(KRContext *)context withDeltaTime: (CFTimeInterval)deltaTime;
|
|
||||||
@end
|
|
||||||
|
|
||||||
@interface KrakenView : UIView
|
|
||||||
|
|
||||||
@property (nonatomic, weak) IBOutlet id <KrakenViewDelegate> delegate;
|
|
||||||
@property (nonatomic, assign) KRScene *scene;
|
|
||||||
|
|
||||||
- (void)startAnimation;
|
|
||||||
- (void)stopAnimation;
|
|
||||||
|
|
||||||
@end
|
|
||||||
@@ -1,224 +0,0 @@
|
|||||||
//
|
|
||||||
// KrakenView.mm
|
|
||||||
// Kraken Engine
|
|
||||||
//
|
|
||||||
// Copyright 2021 Kearwood Gilbert. All rights reserved.
|
|
||||||
//
|
|
||||||
// Redistribution and use in source and binary forms, with or without modification, are
|
|
||||||
// permitted provided that the following conditions are met:
|
|
||||||
//
|
|
||||||
// 1. Redistributions of source code must retain the above copyright notice, this list of
|
|
||||||
// conditions and the following disclaimer.
|
|
||||||
//
|
|
||||||
// 2. Redistributions in binary form must reproduce the above copyright notice, this list
|
|
||||||
// of conditions and the following disclaimer in the documentation and/or other materials
|
|
||||||
// provided with the distribution.
|
|
||||||
//
|
|
||||||
// THIS SOFTWARE IS PROVIDED BY KEARWOOD GILBERT ''AS IS'' AND ANY EXPRESS OR IMPLIED
|
|
||||||
// WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
|
|
||||||
// FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL KEARWOOD GILBERT OR
|
|
||||||
// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
|
||||||
// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
|
||||||
// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
|
|
||||||
// ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
|
|
||||||
// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
|
|
||||||
// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
//
|
|
||||||
// The views and conclusions contained in the software and documentation are those of the
|
|
||||||
// authors and should not be interpreted as representing official policies, either expressed
|
|
||||||
// or implied, of Kearwood Gilbert.
|
|
||||||
//
|
|
||||||
|
|
||||||
#import <QuartzCore/QuartzCore.h>
|
|
||||||
#import <OpenGLES/ES2/gl.h>
|
|
||||||
#import <OpenGLES/ES2/glext.h>
|
|
||||||
|
|
||||||
#import "KrakenView.h"
|
|
||||||
#import "KREngine-common.h"
|
|
||||||
#import "KREngine.h"
|
|
||||||
|
|
||||||
@interface KrakenView() {
|
|
||||||
GLint framebufferWidth;
|
|
||||||
GLint framebufferHeight;
|
|
||||||
GLuint defaultFramebuffer;
|
|
||||||
GLuint colorRenderbuffer;
|
|
||||||
GLuint depthRenderbuffer;
|
|
||||||
|
|
||||||
CFTimeInterval lastTimestamp;
|
|
||||||
|
|
||||||
struct {
|
|
||||||
unsigned int preRender:1;
|
|
||||||
unsigned int postRender:1;
|
|
||||||
} delegateRespondsTo;
|
|
||||||
}
|
|
||||||
|
|
||||||
@property (nonatomic, unsafe_unretained) CADisplayLink *__unsafe_unretained displayLink;
|
|
||||||
@property (nonatomic, strong) EAGLContext *context;
|
|
||||||
|
|
||||||
@end
|
|
||||||
|
|
||||||
@implementation KrakenView
|
|
||||||
|
|
||||||
|
|
||||||
+ (Class)layerClass
|
|
||||||
{
|
|
||||||
return [CAEAGLLayer class];
|
|
||||||
}
|
|
||||||
|
|
||||||
- (id)initWithCoder:(NSCoder*)coder
|
|
||||||
{
|
|
||||||
self = [super initWithCoder:coder];
|
|
||||||
if (self) {
|
|
||||||
lastTimestamp = 0.0;
|
|
||||||
delegateRespondsTo.preRender = 0;
|
|
||||||
delegateRespondsTo.postRender = 0;
|
|
||||||
[self startAnimation];
|
|
||||||
}
|
|
||||||
|
|
||||||
return self;
|
|
||||||
}
|
|
||||||
|
|
||||||
- (void)dealloc
|
|
||||||
{
|
|
||||||
[self stopAnimation];
|
|
||||||
}
|
|
||||||
|
|
||||||
- (void)setDelegate:(id <KrakenViewDelegate>)aDelegate {
|
|
||||||
if (_delegate != aDelegate) {
|
|
||||||
_delegate = aDelegate;
|
|
||||||
|
|
||||||
delegateRespondsTo.preRender = [_delegate respondsToSelector:@selector(preRender:withDeltaTime:)];
|
|
||||||
delegateRespondsTo.postRender = [_delegate respondsToSelector:@selector(postRender:withDeltaTime:)];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
- (void)startAnimation
|
|
||||||
{
|
|
||||||
CAEAGLLayer *eaglLayer = (CAEAGLLayer *)self.layer;
|
|
||||||
|
|
||||||
eaglLayer.contentsScale = [[UIScreen mainScreen] scale];
|
|
||||||
eaglLayer.opaque = TRUE;
|
|
||||||
eaglLayer.drawableProperties = @{
|
|
||||||
kEAGLDrawablePropertyRetainedBacking: [NSNumber numberWithBool:FALSE],
|
|
||||||
kEAGLDrawablePropertyColorFormat: kEAGLColorFormatRGBA8
|
|
||||||
};
|
|
||||||
KRContext::activateRenderContext();
|
|
||||||
|
|
||||||
//EAGLContext *aContext = [[EAGLContext alloc] initWithAPI:kEAGLRenderingAPIOpenGLES2];
|
|
||||||
EAGLContext *aContext = [EAGLContext currentContext];
|
|
||||||
if (!aContext) {
|
|
||||||
NSLog(@"Failed to create ES context");
|
|
||||||
} else if (![EAGLContext setCurrentContext:aContext]) {
|
|
||||||
NSLog(@"Failed to set ES context current");
|
|
||||||
}
|
|
||||||
|
|
||||||
self.context = aContext;
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
[self createFrameBuffer];
|
|
||||||
|
|
||||||
CADisplayLink *aDisplayLink = [CADisplayLink displayLinkWithTarget:self selector:@selector(drawFrame)];
|
|
||||||
[aDisplayLink addToRunLoop:[NSRunLoop currentRunLoop] forMode:NSDefaultRunLoopMode];
|
|
||||||
self.displayLink = aDisplayLink;
|
|
||||||
}
|
|
||||||
|
|
||||||
- (void)stopAnimation
|
|
||||||
{
|
|
||||||
[self.displayLink invalidate];
|
|
||||||
self.displayLink = nil;
|
|
||||||
|
|
||||||
if (self.context) {
|
|
||||||
[EAGLContext setCurrentContext:self.context];
|
|
||||||
|
|
||||||
if (defaultFramebuffer) {
|
|
||||||
GLDEBUG(glDeleteFramebuffers(1, &defaultFramebuffer));
|
|
||||||
defaultFramebuffer = 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (colorRenderbuffer) {
|
|
||||||
GLDEBUG(glDeleteRenderbuffers(1, &colorRenderbuffer));
|
|
||||||
colorRenderbuffer = 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (depthRenderbuffer) {
|
|
||||||
GLDEBUG(glDeleteRenderbuffers(1, &depthRenderbuffer));
|
|
||||||
depthRenderbuffer = 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
[EAGLContext setCurrentContext:nil];
|
|
||||||
|
|
||||||
self.context = nil;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
- (void)drawFrame
|
|
||||||
{
|
|
||||||
CFTimeInterval timeStamp = self.displayLink.timestamp;
|
|
||||||
CFTimeInterval deltaTime;
|
|
||||||
if (lastTimestamp == 0.0) {
|
|
||||||
deltaTime = 0.0;
|
|
||||||
} else {
|
|
||||||
deltaTime = timeStamp - lastTimestamp;
|
|
||||||
}
|
|
||||||
lastTimestamp = timeStamp;
|
|
||||||
|
|
||||||
KRContext *context = KREngine.sharedInstance.context;
|
|
||||||
|
|
||||||
if (self.delegate && delegateRespondsTo.preRender) {
|
|
||||||
[self.delegate preRender:context withDeltaTime:deltaTime];
|
|
||||||
}
|
|
||||||
|
|
||||||
// ---- Render the Buffer ----
|
|
||||||
[EAGLContext setCurrentContext:self.context];
|
|
||||||
if (self.scene) {
|
|
||||||
GLDEBUG(glBindFramebuffer(GL_FRAMEBUFFER, defaultFramebuffer));
|
|
||||||
[[KREngine sharedInstance] renderScene: self.scene WithDeltaTime: deltaTime AndWidth: framebufferWidth AndHeight: framebufferHeight AndDefaultFBO: defaultFramebuffer];
|
|
||||||
} else {
|
|
||||||
GLDEBUG(glClearColor(0.0f, 0.0f, 1.0f, 1.0f));
|
|
||||||
GLDEBUG(glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT));
|
|
||||||
}
|
|
||||||
|
|
||||||
// ---- Present the Buffer ----
|
|
||||||
|
|
||||||
#if GL_EXT_discard_framebuffer
|
|
||||||
GLenum attachments[2] = {GL_DEPTH_ATTACHMENT};
|
|
||||||
GLDEBUG(glDiscardFramebufferEXT(GL_FRAMEBUFFER, 1, attachments));
|
|
||||||
#endif
|
|
||||||
|
|
||||||
GLDEBUG(glBindRenderbuffer(GL_RENDERBUFFER, colorRenderbuffer));
|
|
||||||
[self.context presentRenderbuffer:GL_RENDERBUFFER];
|
|
||||||
|
|
||||||
if (self.delegate && delegateRespondsTo.postRender) {
|
|
||||||
[self.delegate postRender:context withDeltaTime:deltaTime];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
- (void)createFrameBuffer
|
|
||||||
{
|
|
||||||
// Create default framebuffer object.
|
|
||||||
GLDEBUG(glGenFramebuffers(1, &defaultFramebuffer));
|
|
||||||
GLDEBUG(glBindFramebuffer(GL_FRAMEBUFFER, defaultFramebuffer));
|
|
||||||
|
|
||||||
// Create color render buffer and allocate backing store.
|
|
||||||
GLDEBUG(glGenRenderbuffers(1, &colorRenderbuffer));
|
|
||||||
GLDEBUG(glBindRenderbuffer(GL_RENDERBUFFER, colorRenderbuffer));
|
|
||||||
[self.context renderbufferStorage:GL_RENDERBUFFER fromDrawable:(CAEAGLLayer *)self.layer];
|
|
||||||
GLDEBUG(glGetRenderbufferParameteriv(GL_RENDERBUFFER, GL_RENDERBUFFER_WIDTH, &framebufferWidth));
|
|
||||||
GLDEBUG(glGetRenderbufferParameteriv(GL_RENDERBUFFER, GL_RENDERBUFFER_HEIGHT, &framebufferHeight));
|
|
||||||
|
|
||||||
// Attach color render buffer
|
|
||||||
GLDEBUG(glFramebufferRenderbuffer(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_RENDERBUFFER, colorRenderbuffer));
|
|
||||||
|
|
||||||
// Create depth render buffer and allocate backing store.
|
|
||||||
GLDEBUG(glGenRenderbuffers(1, &depthRenderbuffer));
|
|
||||||
GLDEBUG(glBindRenderbuffer(GL_RENDERBUFFER, depthRenderbuffer));
|
|
||||||
GLDEBUG(glRenderbufferStorage(GL_RENDERBUFFER, GL_DEPTH_COMPONENT16, framebufferWidth, framebufferHeight));
|
|
||||||
|
|
||||||
// Attach depth render buffer
|
|
||||||
GLDEBUG(glFramebufferRenderbuffer(GL_FRAMEBUFFER, GL_DEPTH_ATTACHMENT, GL_RENDERBUFFER, depthRenderbuffer));
|
|
||||||
}
|
|
||||||
|
|
||||||
@end
|
|
||||||
|
|
||||||
|
|
||||||
@@ -1,42 +0,0 @@
|
|||||||
//
|
|
||||||
// kraken.h
|
|
||||||
// Kraken Engine
|
|
||||||
//
|
|
||||||
// Copyright 2022 Kearwood Gilbert. All rights reserved.
|
|
||||||
//
|
|
||||||
// Redistribution and use in source and binary forms, with or without modification, are
|
|
||||||
// permitted provided that the following conditions are met:
|
|
||||||
//
|
|
||||||
// 1. Redistributions of source code must retain the above copyright notice, this list of
|
|
||||||
// conditions and the following disclaimer.
|
|
||||||
//
|
|
||||||
// 2. Redistributions in binary form must reproduce the above copyright notice, this list
|
|
||||||
// of conditions and the following disclaimer in the documentation and/or other materials
|
|
||||||
// provided with the distribution.
|
|
||||||
//
|
|
||||||
// THIS SOFTWARE IS PROVIDED BY KEARWOOD GILBERT ''AS IS'' AND ANY EXPRESS OR IMPLIED
|
|
||||||
// WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
|
|
||||||
// FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL KEARWOOD GILBERT OR
|
|
||||||
// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
|
||||||
// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
|
||||||
// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
|
|
||||||
// ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
|
|
||||||
// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
|
|
||||||
// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
//
|
|
||||||
// The views and conclusions contained in the software and documentation are those of the
|
|
||||||
// authors and should not be interpreted as representing official policies, either expressed
|
|
||||||
// or implied, of Kearwood Gilbert.
|
|
||||||
//
|
|
||||||
|
|
||||||
#import <UIKit/UIKit.h>
|
|
||||||
|
|
||||||
//! Project version number for kraken.
|
|
||||||
FOUNDATION_EXPORT double krakenVersionNumber;
|
|
||||||
|
|
||||||
//! Project version string for kraken.
|
|
||||||
FOUNDATION_EXPORT const unsigned char krakenVersionString[];
|
|
||||||
|
|
||||||
// In this header, you should import all the public headers of your framework using statements like #import <kraken/PublicHeader.h>
|
|
||||||
|
|
||||||
|
|
||||||
@@ -1,30 +0,0 @@
|
|||||||
<?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>English</string>
|
|
||||||
<key>CFBundleExecutable</key>
|
|
||||||
<string>${EXECUTABLE_NAME}</string>
|
|
||||||
<key>CFBundleIconFile</key>
|
|
||||||
<string></string>
|
|
||||||
<key>CFBundleIdentifier</key>
|
|
||||||
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
|
|
||||||
<key>CFBundleInfoDictionaryVersion</key>
|
|
||||||
<string>6.0</string>
|
|
||||||
<key>CFBundleName</key>
|
|
||||||
<string>${PRODUCT_NAME}</string>
|
|
||||||
<key>CFBundlePackageType</key>
|
|
||||||
<string>FMWK</string>
|
|
||||||
<key>CFBundleShortVersionString</key>
|
|
||||||
<string>1.0</string>
|
|
||||||
<key>CFBundleSignature</key>
|
|
||||||
<string>????</string>
|
|
||||||
<key>CFBundleVersion</key>
|
|
||||||
<string>1</string>
|
|
||||||
<key>NSHumanReadableCopyright</key>
|
|
||||||
<string>Copyright © 2015 Kearwood Software. All rights reserved.</string>
|
|
||||||
<key>NSPrincipalClass</key>
|
|
||||||
<string></string>
|
|
||||||
</dict>
|
|
||||||
</plist>
|
|
||||||
@@ -1,39 +0,0 @@
|
|||||||
//
|
|
||||||
// KrakenView.h
|
|
||||||
// Kraken Engine
|
|
||||||
//
|
|
||||||
// Copyright 2022 Kearwood Gilbert. All rights reserved.
|
|
||||||
//
|
|
||||||
// Redistribution and use in source and binary forms, with or without modification, are
|
|
||||||
// permitted provided that the following conditions are met:
|
|
||||||
//
|
|
||||||
// 1. Redistributions of source code must retain the above copyright notice, this list of
|
|
||||||
// conditions and the following disclaimer.
|
|
||||||
//
|
|
||||||
// 2. Redistributions in binary form must reproduce the above copyright notice, this list
|
|
||||||
// of conditions and the following disclaimer in the documentation and/or other materials
|
|
||||||
// provided with the distribution.
|
|
||||||
//
|
|
||||||
// THIS SOFTWARE IS PROVIDED BY KEARWOOD GILBERT ''AS IS'' AND ANY EXPRESS OR IMPLIED
|
|
||||||
// WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
|
|
||||||
// FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL KEARWOOD GILBERT OR
|
|
||||||
// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
|
||||||
// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
|
||||||
// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
|
|
||||||
// ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
|
|
||||||
// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
|
|
||||||
// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
//
|
|
||||||
// The views and conclusions contained in the software and documentation are those of the
|
|
||||||
// authors and should not be interpreted as representing official policies, either expressed
|
|
||||||
// or implied, of Kearwood Gilbert.
|
|
||||||
//
|
|
||||||
|
|
||||||
#import <Cocoa/Cocoa.h>
|
|
||||||
|
|
||||||
class KRCamera;
|
|
||||||
|
|
||||||
@interface KrakenView : NSView
|
|
||||||
@property (nonatomic, assign) KRCamera *camera;
|
|
||||||
- (void)drawFrameWithDeltaTime: (float)deltaTime;
|
|
||||||
@end
|
|
||||||
@@ -1,207 +0,0 @@
|
|||||||
//
|
|
||||||
// KrakenView.mm
|
|
||||||
// Kraken Engine
|
|
||||||
//
|
|
||||||
// Copyright 2021 Kearwood Gilbert. All rights reserved.
|
|
||||||
//
|
|
||||||
// Redistribution and use in source and binary forms, with or without modification, are
|
|
||||||
// permitted provided that the following conditions are met:
|
|
||||||
//
|
|
||||||
// 1. Redistributions of source code must retain the above copyright notice, this list of
|
|
||||||
// conditions and the following disclaimer.
|
|
||||||
//
|
|
||||||
// 2. Redistributions in binary form must reproduce the above copyright notice, this list
|
|
||||||
// of conditions and the following disclaimer in the documentation and/or other materials
|
|
||||||
// provided with the distribution.
|
|
||||||
//
|
|
||||||
// THIS SOFTWARE IS PROVIDED BY KEARWOOD GILBERT ''AS IS'' AND ANY EXPRESS OR IMPLIED
|
|
||||||
// WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
|
|
||||||
// FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL KEARWOOD GILBERT OR
|
|
||||||
// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
|
||||||
// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
|
||||||
// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
|
|
||||||
// ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
|
|
||||||
// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
|
|
||||||
// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
//
|
|
||||||
// The views and conclusions contained in the software and documentation are those of the
|
|
||||||
// authors and should not be interpreted as representing official policies, either expressed
|
|
||||||
// or implied, of Kearwood Gilbert.
|
|
||||||
//
|
|
||||||
|
|
||||||
#import "KrakenView.h"
|
|
||||||
#include "KREngine-common.h"
|
|
||||||
|
|
||||||
#include "KREngine.h"
|
|
||||||
|
|
||||||
#import <Cocoa/Cocoa.h>
|
|
||||||
#import <QuartzCore/QuartzCore.h>
|
|
||||||
|
|
||||||
@interface KrakenView() {
|
|
||||||
CVDisplayLinkRef displayLink;
|
|
||||||
};
|
|
||||||
|
|
||||||
- (void)getFrameForTime:(const CVTimeStamp *)outputTime;
|
|
||||||
- (void)drawFrameWithDeltaTime: (float)deltaTime;
|
|
||||||
|
|
||||||
@end
|
|
||||||
|
|
||||||
@implementation KrakenView
|
|
||||||
|
|
||||||
- (void)dealloc
|
|
||||||
{
|
|
||||||
CVDisplayLinkRelease(displayLink);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
- (void)drawFrameWithDeltaTime: (float)deltaTime
|
|
||||||
{
|
|
||||||
|
|
||||||
if(_camera) {
|
|
||||||
KRContext::activateRenderContext();
|
|
||||||
NSOpenGLContext *currentContext = [NSOpenGLContext currentContext];
|
|
||||||
|
|
||||||
// must lock GL context because display link is threaded
|
|
||||||
CGLLockContext((CGLContextObj)[currentContext CGLContextObj]);
|
|
||||||
|
|
||||||
GLint hasDrawable = 0;
|
|
||||||
[currentContext getValues: &hasDrawable forParameter:NSOpenGLCPHasDrawable];
|
|
||||||
|
|
||||||
if(!hasDrawable) {
|
|
||||||
KRContext::attachToView(self);
|
|
||||||
const GLint dim[2] = {1920, 1080};
|
|
||||||
|
|
||||||
[currentContext setValues: &dim[0] forParameter: NSOpenGLCPSurfaceBackingSize];
|
|
||||||
[currentContext update];
|
|
||||||
}
|
|
||||||
|
|
||||||
GLint backingDim[2] = {0, 0};
|
|
||||||
[currentContext getValues: &backingDim[0] forParameter:NSOpenGLCPSurfaceBackingSize];
|
|
||||||
|
|
||||||
GLint rendererID = 0;
|
|
||||||
[currentContext getValues: &rendererID forParameter:NSOpenGLCPCurrentRendererID];
|
|
||||||
|
|
||||||
|
|
||||||
GLint renderBufferWidth = 0, renderBufferHeight = 0;
|
|
||||||
// GLDEBUG(glGetRenderbufferParameteriv(GL_RENDERBUFFER, GL_RENDERBUFFER_WIDTH, &renderBufferWidth));
|
|
||||||
// GLDEBUG(glGetRenderbufferParameteriv(GL_RENDERBUFFER, GL_RENDERBUFFER_HEIGHT, &renderBufferHeight));
|
|
||||||
|
|
||||||
renderBufferWidth = 1920;
|
|
||||||
renderBufferHeight = 1080;
|
|
||||||
|
|
||||||
glViewport(0, 0, renderBufferWidth, renderBufferHeight);
|
|
||||||
GLDEBUG(glClearColor(0.0f, 0.0f, 0.0f, 0.0f));
|
|
||||||
GLDEBUG(glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT));
|
|
||||||
|
|
||||||
|
|
||||||
[[KREngine sharedInstance] renderScene: &_camera->getScene() WithDeltaTime:deltaTime AndWidth:renderBufferWidth AndHeight:renderBufferHeight];
|
|
||||||
//[[KREngine sharedInstance] renderScene: &_camera->getScene() WithDeltaTime:deltaTime];
|
|
||||||
|
|
||||||
[currentContext flushBuffer];
|
|
||||||
|
|
||||||
CGLUnlockContext((CGLContextObj)[currentContext CGLContextObj]);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
- (void)viewDidMoveToSuperview
|
|
||||||
{
|
|
||||||
// KRContext::attachToView(self);
|
|
||||||
|
|
||||||
// set up the display link
|
|
||||||
CVDisplayLinkCreateWithActiveCGDisplays(&displayLink);
|
|
||||||
CVDisplayLinkSetOutputCallback(displayLink, MyDisplayLinkCallback, self);
|
|
||||||
/*
|
|
||||||
CGLContextObj cglContext = (CGLContextObj)[context CGLContextObj];
|
|
||||||
CGLPixelFormatObj cglPixelFormat = (CGLPixelFormatObj)[[context.pixelFormat] CGLPixelFormatObj];
|
|
||||||
CVDisplayLinkSetCurrentCGDisplayFromOpenGLContext(displayLink, cglContext, cglPixelFormat);
|
|
||||||
*/
|
|
||||||
|
|
||||||
// ----====---- activate the display link ----====----
|
|
||||||
CVDisplayLinkStart(displayLink);
|
|
||||||
}
|
|
||||||
|
|
||||||
static CVReturn MyDisplayLinkCallback(CVDisplayLinkRef displayLink, const CVTimeStamp *now,
|
|
||||||
const CVTimeStamp *outputTime, CVOptionFlags flagsIn,
|
|
||||||
CVOptionFlags *flagsOut, void *displayLinkContext)
|
|
||||||
{
|
|
||||||
// go back to Obj-C for easy access to instance variables
|
|
||||||
[(KrakenView *)displayLinkContext getFrameForTime:outputTime];
|
|
||||||
return kCVReturnSuccess;
|
|
||||||
}
|
|
||||||
|
|
||||||
- (void)getFrameForTime:(const CVTimeStamp *)outputTime
|
|
||||||
{
|
|
||||||
// deltaTime is unused in this bare bones demo, but here's how to calculate it using display link info
|
|
||||||
float deltaTime = 1.0 / (outputTime->rateScalar * (double)outputTime->videoTimeScale / (double)outputTime->videoRefreshPeriod);
|
|
||||||
|
|
||||||
[self drawFrameWithDeltaTime: deltaTime];
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
- (id)initWithCoder:(NSCoder *)aDecoder
|
|
||||||
{
|
|
||||||
self = [super initWithCoder:aDecoder];
|
|
||||||
if (self == nil)
|
|
||||||
{
|
|
||||||
NSLog(@"Unable to create a windowed OpenGL context.");
|
|
||||||
exit(0);
|
|
||||||
}
|
|
||||||
|
|
||||||
[self commonInit];
|
|
||||||
|
|
||||||
return self;
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
- (id)initWithFrame:(NSRect)frameRect
|
|
||||||
{
|
|
||||||
// context setup
|
|
||||||
NSOpenGLPixelFormat *windowedPixelFormat;
|
|
||||||
NSOpenGLPixelFormatAttribute attribs[] = {
|
|
||||||
NSOpenGLPFAWindow,
|
|
||||||
NSOpenGLPFAColorSize, 32,
|
|
||||||
NSOpenGLPFADepthSize, 24,
|
|
||||||
NSOpenGLPFAAccelerated,
|
|
||||||
NSOpenGLPFADoubleBuffer,
|
|
||||||
NSOpenGLPFASingleRenderer,
|
|
||||||
0 };
|
|
||||||
|
|
||||||
windowedPixelFormat = [[NSOpenGLPixelFormat alloc] initWithAttributes:attribs];
|
|
||||||
if (windowedPixelFormat == nil)
|
|
||||||
{
|
|
||||||
NSLog(@"Unable to create windowed pixel format.");
|
|
||||||
exit(0);
|
|
||||||
}
|
|
||||||
self = [super initWithFrame:frameRect pixelFormat:windowedPixelFormat];
|
|
||||||
if (self == nil)
|
|
||||||
{
|
|
||||||
NSLog(@"Unable to create a windowed OpenGL context.");
|
|
||||||
exit(0);
|
|
||||||
}
|
|
||||||
[windowedPixelFormat release];
|
|
||||||
|
|
||||||
[self commonInit];
|
|
||||||
|
|
||||||
return self;
|
|
||||||
}
|
|
||||||
|
|
||||||
- (void)reshape
|
|
||||||
{
|
|
||||||
NSSize viewBounds = [self bounds].size;
|
|
||||||
viewWidth = viewBounds.width;
|
|
||||||
viewHeight = viewBounds.height;
|
|
||||||
|
|
||||||
NSOpenGLContext *currentContext = [self openGLContext];
|
|
||||||
[currentContext makeCurrentContext];
|
|
||||||
|
|
||||||
// remember to lock the context before we touch it since display link is threaded
|
|
||||||
CGLLockContext((CGLContextObj)[currentContext CGLContextObj]);
|
|
||||||
|
|
||||||
// let the context know we've changed size
|
|
||||||
[[self openGLContext] update];
|
|
||||||
|
|
||||||
CGLUnlockContext((CGLContextObj)[currentContext CGLContextObj]);
|
|
||||||
}
|
|
||||||
*/
|
|
||||||
|
|
||||||
@end
|
|
||||||
@@ -1,2 +0,0 @@
|
|||||||
/* Localized versions of Info.plist keys */
|
|
||||||
|
|
||||||
@@ -1,7 +0,0 @@
|
|||||||
//
|
|
||||||
// Prefix header for all source files of the 'kraken' target in the 'kraken' project
|
|
||||||
//
|
|
||||||
|
|
||||||
#ifdef __OBJC__
|
|
||||||
#include <Cocoa/Cocoa.h>
|
|
||||||
#endif
|
|
||||||
@@ -1,36 +0,0 @@
|
|||||||
//
|
|
||||||
// kraken.h
|
|
||||||
// Kraken Engine
|
|
||||||
//
|
|
||||||
// Copyright 2022 Kearwood Gilbert. All rights reserved.
|
|
||||||
//
|
|
||||||
// Redistribution and use in source and binary forms, with or without modification, are
|
|
||||||
// permitted provided that the following conditions are met:
|
|
||||||
//
|
|
||||||
// 1. Redistributions of source code must retain the above copyright notice, this list of
|
|
||||||
// conditions and the following disclaimer.
|
|
||||||
//
|
|
||||||
// 2. Redistributions in binary form must reproduce the above copyright notice, this list
|
|
||||||
// of conditions and the following disclaimer in the documentation and/or other materials
|
|
||||||
// provided with the distribution.
|
|
||||||
//
|
|
||||||
// THIS SOFTWARE IS PROVIDED BY KEARWOOD GILBERT ''AS IS'' AND ANY EXPRESS OR IMPLIED
|
|
||||||
// WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
|
|
||||||
// FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL KEARWOOD GILBERT OR
|
|
||||||
// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
|
||||||
// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
|
||||||
// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
|
|
||||||
// ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
|
|
||||||
// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
|
|
||||||
// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
//
|
|
||||||
// The views and conclusions contained in the software and documentation are those of the
|
|
||||||
// authors and should not be interpreted as representing official policies, either expressed
|
|
||||||
// or implied, of Kearwood Gilbert.
|
|
||||||
//
|
|
||||||
|
|
||||||
#include <Foundation/Foundation.h>
|
|
||||||
|
|
||||||
@interface kraken : NSObject
|
|
||||||
|
|
||||||
@end
|
|
||||||
@@ -1,36 +0,0 @@
|
|||||||
//
|
|
||||||
// kraken.mm
|
|
||||||
// Kraken Engine
|
|
||||||
//
|
|
||||||
// Copyright 2021 Kearwood Gilbert. All rights reserved.
|
|
||||||
//
|
|
||||||
// Redistribution and use in source and binary forms, with or without modification, are
|
|
||||||
// permitted provided that the following conditions are met:
|
|
||||||
//
|
|
||||||
// 1. Redistributions of source code must retain the above copyright notice, this list of
|
|
||||||
// conditions and the following disclaimer.
|
|
||||||
//
|
|
||||||
// 2. Redistributions in binary form must reproduce the above copyright notice, this list
|
|
||||||
// of conditions and the following disclaimer in the documentation and/or other materials
|
|
||||||
// provided with the distribution.
|
|
||||||
//
|
|
||||||
// THIS SOFTWARE IS PROVIDED BY KEARWOOD GILBERT ''AS IS'' AND ANY EXPRESS OR IMPLIED
|
|
||||||
// WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
|
|
||||||
// FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL KEARWOOD GILBERT OR
|
|
||||||
// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
|
||||||
// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
|
||||||
// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
|
|
||||||
// ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
|
|
||||||
// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
|
|
||||||
// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
//
|
|
||||||
// The views and conclusions contained in the software and documentation are those of the
|
|
||||||
// authors and should not be interpreted as representing official policies, either expressed
|
|
||||||
// or implied, of Kearwood Gilbert.
|
|
||||||
//
|
|
||||||
|
|
||||||
#include "kraken.h"
|
|
||||||
|
|
||||||
@implementation kraken
|
|
||||||
|
|
||||||
@end
|
|
||||||
@@ -1,8 +0,0 @@
|
|||||||
//
|
|
||||||
// Prefix header for all source files of the 'KREngine' target in the 'KREngine' project
|
|
||||||
//
|
|
||||||
|
|
||||||
#ifdef __OBJC__
|
|
||||||
#include <Foundation/Foundation.h>
|
|
||||||
#include <UIKit/UIKit.h>
|
|
||||||
#endif
|
|
||||||
@@ -1,26 +0,0 @@
|
|||||||
<?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>CFBundleExecutable</key>
|
|
||||||
<string>$(EXECUTABLE_NAME)</string>
|
|
||||||
<key>CFBundleIdentifier</key>
|
|
||||||
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
|
|
||||||
<key>CFBundleInfoDictionaryVersion</key>
|
|
||||||
<string>6.0</string>
|
|
||||||
<key>CFBundleName</key>
|
|
||||||
<string>$(PRODUCT_NAME)</string>
|
|
||||||
<key>CFBundlePackageType</key>
|
|
||||||
<string>FMWK</string>
|
|
||||||
<key>CFBundleShortVersionString</key>
|
|
||||||
<string>1.0</string>
|
|
||||||
<key>CFBundleSignature</key>
|
|
||||||
<string>????</string>
|
|
||||||
<key>CFBundleVersion</key>
|
|
||||||
<string>$(CURRENT_PROJECT_VERSION)</string>
|
|
||||||
<key>NSPrincipalClass</key>
|
|
||||||
<string></string>
|
|
||||||
</dict>
|
|
||||||
</plist>
|
|
||||||
@@ -1,42 +0,0 @@
|
|||||||
//
|
|
||||||
// kraken.h
|
|
||||||
// Kraken Engine
|
|
||||||
//
|
|
||||||
// Copyright 2022 Kearwood Gilbert. All rights reserved.
|
|
||||||
//
|
|
||||||
// Redistribution and use in source and binary forms, with or without modification, are
|
|
||||||
// permitted provided that the following conditions are met:
|
|
||||||
//
|
|
||||||
// 1. Redistributions of source code must retain the above copyright notice, this list of
|
|
||||||
// conditions and the following disclaimer.
|
|
||||||
//
|
|
||||||
// 2. Redistributions in binary form must reproduce the above copyright notice, this list
|
|
||||||
// of conditions and the following disclaimer in the documentation and/or other materials
|
|
||||||
// provided with the distribution.
|
|
||||||
//
|
|
||||||
// THIS SOFTWARE IS PROVIDED BY KEARWOOD GILBERT ''AS IS'' AND ANY EXPRESS OR IMPLIED
|
|
||||||
// WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
|
|
||||||
// FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL KEARWOOD GILBERT OR
|
|
||||||
// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
|
||||||
// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
|
||||||
// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
|
|
||||||
// ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
|
|
||||||
// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
|
|
||||||
// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
//
|
|
||||||
// The views and conclusions contained in the software and documentation are those of the
|
|
||||||
// authors and should not be interpreted as representing official policies, either expressed
|
|
||||||
// or implied, of Kearwood Gilbert.
|
|
||||||
//
|
|
||||||
|
|
||||||
#import <UIKit/UIKit.h>
|
|
||||||
|
|
||||||
//! Project version number for kraken.
|
|
||||||
FOUNDATION_EXPORT double krakenVersionNumber;
|
|
||||||
|
|
||||||
//! Project version string for kraken.
|
|
||||||
FOUNDATION_EXPORT const unsigned char krakenVersionString[];
|
|
||||||
|
|
||||||
// In this header, you should import all the public headers of your framework using statements like #import <kraken/PublicHeader.h>
|
|
||||||
|
|
||||||
|
|
||||||
Reference in New Issue
Block a user