Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Updates to Swift 5.0 #7

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 4 additions & 2 deletions blockens-perspective.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -178,7 +178,9 @@
developmentRegion = English;
hasScannedForEncodings = 0;
knownRegions = (
English,
en,
Base,
);
mainGroup = 596DD23350A15C7BDF8F00F0;
productRefGroup = 596DDF62D7742CD9F6FC279F /* Products */;
Expand Down Expand Up @@ -299,7 +301,7 @@
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks";
PRODUCT_BUNDLE_IDENTIFIER = "com.apphacker.blockens-perspective";
PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_VERSION = 3.0;
SWIFT_VERSION = 5.0;
};
name = Debug;
};
Expand All @@ -312,7 +314,7 @@
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks";
PRODUCT_BUNDLE_IDENTIFIER = "com.apphacker.blockens-perspective";
PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_VERSION = 3.0;
SWIFT_VERSION = 5.0;
};
name = Release;
};
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
<?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>IDEDidComputeMac32BitWarning</key>
<true/>
</dict>
</plist>
2 changes: 1 addition & 1 deletion blockens-perspective/src/AppDelegate.swift
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ class AppDelegate: NSObject, NSApplicationDelegate {
func applicationDidFinishLaunching(_ aNotification: Notification) {
NSApp.activate(ignoringOtherApps: true)
window.makeKeyAndOrderFront(self)
NSApplication.shared().presentationOptions = [.hideMenuBar, .hideDock]
NSApplication.shared.presentationOptions = [.hideMenuBar, .hideDock]
window.toggleFullScreen(self)
NSCursor.hide()
}
Expand Down
4 changes: 2 additions & 2 deletions blockens-perspective/src/CrossHairsRenderer.swift
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ class CrossHairsRenderer: Renderer, RenderController {
func createLinesBuffer(device: MTLDevice) -> MTLBuffer {

let bufferSize = crossHairsVertexData.count * MemoryLayout.size(ofValue: crossHairsVertexData[0])
let buffer = device.makeBuffer(length: bufferSize, options: [])
let buffer = device.makeBuffer(length: bufferSize, options: [])!
let pointer = buffer.contents()
memcpy(pointer, crossHairsVertexData, bufferSize)
buffer.label = "Cross hairs buffer"
Expand All @@ -63,7 +63,7 @@ class CrossHairsRenderer: Renderer, RenderController {


for (i, vertexBuffer) in [crossHairsVertexBuffer, renderUtils.renderInfoBuffer()].enumerated() {
renderEncoder.setVertexBuffer(vertexBuffer, offset: 0, at: i)
renderEncoder.setVertexBuffer(vertexBuffer, offset: 0, index: i)
}


Expand Down
2 changes: 1 addition & 1 deletion blockens-perspective/src/DuckViewRenderer.swift
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@ class DuckRenderer: Renderer, RenderController {
let pointer: UnsafeMutablePointer<NSArray>? = UnsafeMutablePointer<NSArray>.allocate(capacity: 1)
let autopointer: AutoreleasingUnsafeMutablePointer<NSArray?>? = AutoreleasingUnsafeMutablePointer<NSArray?>.init(pointer!)
do {
try meshes = MTKMesh.newMeshes(from: asset, device: device, sourceMeshes: autopointer)
try meshes = MTKMesh.newMeshes(asset: asset, device: device).metalKitMeshes
} catch let error {
print("Unable to load mesh for duck: \(error)")
}
Expand Down
12 changes: 6 additions & 6 deletions blockens-perspective/src/GameViewController.swift
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ class GameViewController: NSViewController, MTKViewDelegate, NSWindowDelegate {

let view = self.view as! MTKView

let appDelegate = NSApplication.shared().delegate as! AppDelegate
let appDelegate = NSApplication.shared.delegate as! AppDelegate
let gameWindow = appDelegate.getWindow()
gameWindow.makeFirstResponder(view)
cube = ShapeRenderer(colors: renderUtils.cubeColors, scale: float3(1.0, 1.0, 1.0), shapeType: .Cube)
Expand Down Expand Up @@ -171,9 +171,9 @@ class GameViewController: NSViewController, MTKViewDelegate, NSWindowDelegate {
view.removeTrackingArea(area)
}
trackingArea = NSTrackingArea(rect: view.frame, options: [
NSTrackingAreaOptions.enabledDuringMouseDrag,
NSTrackingAreaOptions.mouseMoved,
NSTrackingAreaOptions.activeAlways
NSTrackingArea.Options.enabledDuringMouseDrag,
NSTrackingArea.Options.mouseMoved,
NSTrackingArea.Options.activeAlways
], owner: self, userInfo: nil)
view.addTrackingArea(trackingArea!)
}
Expand Down Expand Up @@ -412,7 +412,7 @@ class GameViewController: NSViewController, MTKViewDelegate, NSWindowDelegate {
handleCameraRotation()
updateAll()

let commandBuffer = commandQueue.makeCommandBuffer()
let commandBuffer = commandQueue.makeCommandBuffer()!
commandBuffer.label = "Frame command buffer"

commandBuffer.addCompletedHandler{ [weak self] commandBuffer in
Expand All @@ -424,7 +424,7 @@ class GameViewController: NSViewController, MTKViewDelegate, NSWindowDelegate {

if let renderPassDescriptor = view.currentRenderPassDescriptor, let currentDrawable = view.currentDrawable {

let renderEncoder = commandBuffer.makeRenderCommandEncoder(descriptor: renderPassDescriptor)
let renderEncoder = commandBuffer.makeRenderCommandEncoder(descriptor: renderPassDescriptor)!
renderUtils.setup3D(renderEncoder: renderEncoder)
for renderer in renderers {
renderer.render(renderEncoder)
Expand Down
2 changes: 1 addition & 1 deletion blockens-perspective/src/GameWindow.swift
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ class GameWindow: NSWindow {
var keyUpEventListeners = Array<Callback>()

override func keyDown(with event: NSEvent) {
if event.modifierFlags.contains(NSEventModifierFlags.command) {
if event.modifierFlags.contains(NSEvent.ModifierFlags.command) {
super.keyDown(with: event)
return
}
Expand Down
26 changes: 13 additions & 13 deletions blockens-perspective/src/RenderUtils.swift
Original file line number Diff line number Diff line change
Expand Up @@ -170,7 +170,7 @@ class RenderUtils {

func createMatrixBuffer(device: MTLDevice, label: String) -> MTLBuffer {
let matrixSize = MemoryLayout<float4x4>.size
let buffer = device.makeBuffer(length: matrixSize, options: [])
let buffer = device.makeBuffer(length: matrixSize, options: [])!
buffer.label = label
return buffer
}
Expand Down Expand Up @@ -217,7 +217,7 @@ class RenderUtils {

func createPipelineStateDescriptor(vertex: String, fragment: String, device: MTLDevice, view: MTKView) -> MTLRenderPipelineDescriptor {

let defaultLibrary = device.newDefaultLibrary()!
let defaultLibrary = device.makeDefaultLibrary()!
let vertexProgram = defaultLibrary.makeFunction(name: vertex)!
let fragmentProgram = defaultLibrary.makeFunction(name: fragment)!

Expand Down Expand Up @@ -246,7 +246,7 @@ class RenderUtils {
let imageRef = image.cgImage(forProposedRect: &imageRect, context: nil, hints: nil)!
let textureLoader = MTKTextureLoader(device: device)
do {
return try textureLoader.newTexture(with: imageRef, options: .none)
return try textureLoader.newTexture(cgImage: imageRef, options: .none)
} catch {
print("Got an error trying to texture \(error)")
}
Expand Down Expand Up @@ -281,19 +281,19 @@ class RenderUtils {
for mesh in meshes {

for vertexBuffer in mesh.vertexBuffers {
renderEncoder.setVertexBuffer(vertexBuffer.buffer, offset: vertexBuffer.offset, at: bufferIndex)
renderEncoder.setVertexBuffer(vertexBuffer.buffer, offset: vertexBuffer.offset, index: bufferIndex)
bufferIndex += 1
}
for buffer in vertexBuffers {
renderEncoder.setVertexBuffer(buffer, offset: 0, at: bufferIndex)
renderEncoder.setVertexBuffer(buffer, offset: 0, index: bufferIndex)
bufferIndex += 1
}


for (i, submesh) in mesh.submeshes.enumerated() {
if (!materials.isEmpty) {
let material = materials[i]
renderEncoder.setVertexBuffer(material, offset: 0, at: bufferIndex)
renderEncoder.setVertexBuffer(material, offset: 0, index: bufferIndex)
}

renderEncoder.drawIndexedPrimitives(
Expand All @@ -313,7 +313,7 @@ class RenderUtils {
let floatSize = MemoryLayout<Float>.size
let packedFloat3Size = floatSize * 3;
let bufferSize = packedFloat3Size
let buffer = device.makeBuffer(length: bufferSize, options: [])
let buffer = device.makeBuffer(length: bufferSize, options: [])!
let pointer = buffer.contents()
memcpy(pointer, &material.color, packedFloat3Size)
buffer.label = label
Expand All @@ -327,7 +327,7 @@ class RenderUtils {

func createSizedBuffer(_ device: MTLDevice, bufferLabel: String) -> MTLBuffer {

let buffer = device.makeBuffer(length: CONSTANT_BUFFER_SIZE, options: [])
let buffer = device.makeBuffer(length: CONSTANT_BUFFER_SIZE, options: [])!
buffer.label = bufferLabel

return buffer
Expand All @@ -337,7 +337,7 @@ class RenderUtils {

let float3Size = MemoryLayout<float3>.size
let bufferSize = rectangleVertexData.count * float3Size
let buffer = device.makeBuffer(length: bufferSize, options: [])
let buffer = device.makeBuffer(length: bufferSize, options: [])!
let pointer = buffer.contents()
memcpy(pointer, rectangleVertexData, bufferSize)
buffer.label = bufferLabel
Expand All @@ -347,22 +347,22 @@ class RenderUtils {

func createBufferFromIntArray(device: MTLDevice, count: Int, bufferLabel: String) -> MTLBuffer {
let bufferSize = MemoryLayout.size(ofValue: Array<Int32>(repeating: 0, count: count))
let buffer = device.makeBuffer(length: bufferSize, options: [])
let buffer = device.makeBuffer(length: bufferSize, options: [])!
buffer.label = bufferLabel

return buffer
}

func createBufferFromFloatArray(device: MTLDevice, count: Int, bufferLabel: String) -> MTLBuffer {
let bufferSize = MemoryLayout.size(ofValue: Array<Float32>(repeating: 0, count: count))
let buffer = device.makeBuffer(length: bufferSize, options: [])
let buffer = device.makeBuffer(length: bufferSize, options: [])!
buffer.label = bufferLabel

return buffer
}

func createObject3DInfoBuffer(device: MTLDevice, label: String) -> MTLBuffer {
let buffer = device.makeBuffer(length: object3DInfoSize, options: [])
let buffer = device.makeBuffer(length: object3DInfoSize, options: [])!
buffer.label = "ground rotation"
return buffer
}
Expand All @@ -371,7 +371,7 @@ class RenderUtils {

let floatSize = MemoryLayout<float4>.size
let bufferSize = floatSize * colors.count
let buffer = device.makeBuffer(length: bufferSize, options: [])
let buffer = device.makeBuffer(length: bufferSize, options: [])!
buffer.label = label
let pointer = buffer.contents()
memcpy(pointer, colors, bufferSize)
Expand Down
2 changes: 1 addition & 1 deletion blockens-perspective/src/ShapeRenderer.swift
Original file line number Diff line number Diff line change
Expand Up @@ -144,7 +144,7 @@ class ShapeRenderer: Renderer, RenderController {
let uint4Size = MemoryLayout<uint4>.size
let bufferSize = uint4Size

let buffer = device.makeBuffer(length: bufferSize, options: [])
let buffer = device.makeBuffer(length: bufferSize, options: [])!
buffer.label = "Shape info"
let pointer = buffer.contents()
memcpy(pointer, &numSides, uint4Size)
Expand Down
2 changes: 1 addition & 1 deletion blockens-perspective/src/TextureLoader2D.swift
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ class TextureLoader2D: TextureLoader {

func loadInto(renderEncoder: MTLRenderCommandEncoder) {
if texture != nil {
renderEncoder.setFragmentTexture(texture!, at: 0)
renderEncoder.setFragmentTexture(texture!, index: 0)
}
}

Expand Down
6 changes: 3 additions & 3 deletions blockens-perspective/src/TextureLoaderCubeMap.swift
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ class TextureLoaderCubeMap: TextureLoader {
let bytesPerRow = 4 * currentSide.width
let imageSize = bytesPerRow * currentSide.height
let region = MTLRegionMake2D(0, 0, currentSide.width, currentSide.height)
let pointer = UnsafeMutableRawPointer.allocate(bytes: imageSize, alignedTo: 4)
let pointer = UnsafeMutableRawPointer.allocate(byteCount: imageSize, alignment: 4)
let roPointer = UnsafeRawPointer.init(pointer)
print("rowBytes: \(bytesPerRow)")
currentSide.getBytes(pointer, bytesPerRow: bytesPerRow, from: region, mipmapLevel: 0)
Expand All @@ -85,9 +85,9 @@ class TextureLoaderCubeMap: TextureLoader {

func loadInto(renderEncoder: MTLRenderCommandEncoder) {
if texture != nil {
renderEncoder.setFragmentTexture(texture!, at: 0)
renderEncoder.setFragmentTexture(texture!, index: 0)
if (sampler != nil) {
renderEncoder.setFragmentSamplerState(sampler, at: 0)
renderEncoder.setFragmentSamplerState(sampler, index: 0)
}
}
}
Expand Down