From 7e38a4c31118251e2bc910108bd88d4574ccc7b7 Mon Sep 17 00:00:00 2001 From: Kearwood Gilbert Date: Sun, 5 Nov 2017 19:14:29 -0800 Subject: [PATCH] Added more files to CMakeLists. Replaced KRHitInfo references with hitinfo. Updated AudioUnitSampleType to always use floats as the Canonical types have been deprecated. Int audio types no longer needed for ios. --- Kraken.xcodeproj/project.pbxproj | 32 ++++++++--------- kraken/CMakeLists.txt | 9 +++++ kraken/KRAnimationAttribute.cpp | 3 ++ kraken/KRAudioManager.cpp | 57 +++++-------------------------- kraken/KRCollider.cpp | 20 +++++------ kraken/KRCollider.h | 6 ++-- kraken/KRMesh.cpp | 16 ++++----- kraken/KROctree.cpp | 8 ++--- kraken/KROctreeNode.cpp | 6 ++-- kraken/KRScene.cpp | 6 ++-- kraken/public/hitinfo.h | 2 +- kraken_win/kraken.vcxproj | 4 +-- kraken_win/kraken.vcxproj.filters | 4 +-- 13 files changed, 73 insertions(+), 100 deletions(-) diff --git a/Kraken.xcodeproj/project.pbxproj b/Kraken.xcodeproj/project.pbxproj index e7d8483..e389bb9 100755 --- a/Kraken.xcodeproj/project.pbxproj +++ b/Kraken.xcodeproj/project.pbxproj @@ -96,7 +96,7 @@ E4159B8419C5760800622D1E /* KRDataBlock.h in Headers */ = {isa = PBXBuildFile; fileRef = E46F4A0A155E002100CCF8B8 /* KRDataBlock.h */; settings = {ATTRIBUTES = (Public, ); }; }; E4159B8519C5760800622D1E /* KREngine-common.h in Headers */ = {isa = PBXBuildFile; fileRef = E46DBE841512B9E200D59F86 /* KREngine-common.h */; settings = {ATTRIBUTES = (Public, ); }; }; E4159B8619C5760800622D1E /* KREngine.h in Headers */ = {isa = PBXBuildFile; fileRef = E491017213C99BDC0098455B /* KREngine.h */; settings = {ATTRIBUTES = (Public, ); }; }; - E4159B8719C5760800622D1E /* KRHitInfo.h in Headers */ = {isa = PBXBuildFile; fileRef = E4C454B7167BD235003586CD /* KRHitInfo.h */; settings = {ATTRIBUTES = (Public, ); }; }; + E4159B8719C5760800622D1E /* HitInfo.h in Headers */ = {isa = PBXBuildFile; fileRef = E4C454B7167BD235003586CD /* HitInfo.h */; settings = {ATTRIBUTES = (Public, ); }; }; E4159B8819C5760800622D1E /* KROctree.h in Headers */ = {isa = PBXBuildFile; fileRef = E4924C2515EE95E800B965C6 /* KROctree.h */; settings = {ATTRIBUTES = (Public, ); }; }; E4159B8919C5760800622D1E /* KROctreeNode.h in Headers */ = {isa = PBXBuildFile; fileRef = E4924C2A15EE96AA00B965C6 /* KROctreeNode.h */; settings = {ATTRIBUTES = (Public, ); }; }; E4159B8A19C5760900622D1E /* KRRenderSettings.h in Headers */ = {isa = PBXBuildFile; fileRef = E44F38231683B22C00399B5D /* KRRenderSettings.h */; settings = {ATTRIBUTES = (Public, ); }; }; @@ -170,7 +170,7 @@ E4159BCE19C5762F00622D1E /* KRContextObject.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E43B0AD415DDCA0C00A5CB9F /* KRContextObject.cpp */; }; E4159BCF19C5762F00622D1E /* KRDataBlock.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E46F4A0D155E003000CCF8B8 /* KRDataBlock.cpp */; }; E4159BD019C5762F00622D1E /* KREngine.mm in Sources */ = {isa = PBXBuildFile; fileRef = E491016F13C99BDC0098455B /* KREngine.mm */; }; - E4159BD119C5762F00622D1E /* KRHitInfo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E4C454BA167BD248003586CD /* KRHitInfo.cpp */; }; + E4159BD119C5762F00622D1E /* HitInfo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E4C454BA167BD248003586CD /* HitInfo.cpp */; }; E4159BD219C5762F00622D1E /* KROctree.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E4924C2415EE95E700B965C6 /* KROctree.cpp */; }; E4159BD319C5762F00622D1E /* KROctreeNode.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E4924C2915EE96AA00B965C6 /* KROctreeNode.cpp */; }; E4159BD419C5762F00622D1E /* KRRenderSettings.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E44F38271683B24400399B5D /* KRRenderSettings.cpp */; }; @@ -251,7 +251,7 @@ E423D6D11BEDEE2D0021812E /* KRContextObject.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E43B0AD415DDCA0C00A5CB9F /* KRContextObject.cpp */; }; E423D6D21BEDEE2D0021812E /* KRDataBlock.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E46F4A0D155E003000CCF8B8 /* KRDataBlock.cpp */; }; E423D6D31BEDEE2D0021812E /* KREngine.mm in Sources */ = {isa = PBXBuildFile; fileRef = E491016F13C99BDC0098455B /* KREngine.mm */; }; - E423D6D41BEDEE2D0021812E /* KRHitInfo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E4C454BA167BD248003586CD /* KRHitInfo.cpp */; }; + E423D6D41BEDEE2D0021812E /* HitInfo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E4C454BA167BD248003586CD /* HitInfo.cpp */; }; E423D6D51BEDEE2D0021812E /* KROctree.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E4924C2415EE95E700B965C6 /* KROctree.cpp */; }; E423D6D61BEDEE2D0021812E /* KROctreeNode.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E4924C2915EE96AA00B965C6 /* KROctreeNode.cpp */; }; E423D6D71BEDEE2D0021812E /* KRRenderSettings.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E44F38271683B24400399B5D /* KRRenderSettings.cpp */; }; @@ -330,7 +330,7 @@ E423D7231BEDEE2D0021812E /* KRDataBlock.h in Headers */ = {isa = PBXBuildFile; fileRef = E46F4A0A155E002100CCF8B8 /* KRDataBlock.h */; settings = {ATTRIBUTES = (Public, ); }; }; E423D7241BEDEE2D0021812E /* KREngine-common.h in Headers */ = {isa = PBXBuildFile; fileRef = E46DBE841512B9E200D59F86 /* KREngine-common.h */; settings = {ATTRIBUTES = (Public, ); }; }; E423D7251BEDEE2D0021812E /* KREngine.h in Headers */ = {isa = PBXBuildFile; fileRef = E491017213C99BDC0098455B /* KREngine.h */; settings = {ATTRIBUTES = (Public, ); }; }; - E423D7261BEDEE2D0021812E /* KRHitInfo.h in Headers */ = {isa = PBXBuildFile; fileRef = E4C454B7167BD235003586CD /* KRHitInfo.h */; settings = {ATTRIBUTES = (Public, ); }; }; + E423D7261BEDEE2D0021812E /* HitInfo.h in Headers */ = {isa = PBXBuildFile; fileRef = E4C454B7167BD235003586CD /* HitInfo.h */; settings = {ATTRIBUTES = (Public, ); }; }; E423D7271BEDEE2D0021812E /* KROctree.h in Headers */ = {isa = PBXBuildFile; fileRef = E4924C2515EE95E800B965C6 /* KROctree.h */; settings = {ATTRIBUTES = (Public, ); }; }; E423D7281BEDEE2D0021812E /* KROctreeNode.h in Headers */ = {isa = PBXBuildFile; fileRef = E4924C2A15EE96AA00B965C6 /* KROctreeNode.h */; settings = {ATTRIBUTES = (Public, ); }; }; E423D7291BEDEE2D0021812E /* KRRenderSettings.h in Headers */ = {isa = PBXBuildFile; fileRef = E44F38231683B22C00399B5D /* KRRenderSettings.h */; settings = {ATTRIBUTES = (Public, ); }; }; @@ -516,8 +516,8 @@ E4C454B0167BB8FC003586CD /* KRMeshCube.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E4C454AE167BB8FC003586CD /* KRMeshCube.cpp */; }; E4C454B3167BC04C003586CD /* KRMeshSphere.h in Headers */ = {isa = PBXBuildFile; fileRef = E4C454B1167BC04B003586CD /* KRMeshSphere.h */; settings = {ATTRIBUTES = (Public, ); }; }; E4C454B6167BC05C003586CD /* KRMeshSphere.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E4C454B4167BC05C003586CD /* KRMeshSphere.cpp */; }; - E4C454B9167BD236003586CD /* KRHitInfo.h in Headers */ = {isa = PBXBuildFile; fileRef = E4C454B7167BD235003586CD /* KRHitInfo.h */; settings = {ATTRIBUTES = (Public, ); }; }; - E4C454BC167BD248003586CD /* KRHitInfo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E4C454BA167BD248003586CD /* KRHitInfo.cpp */; }; + E4C454B9167BD236003586CD /* HitInfo.h in Headers */ = {isa = PBXBuildFile; fileRef = E4C454B7167BD235003586CD /* HitInfo.h */; settings = {ATTRIBUTES = (Public, ); }; }; + E4C454BC167BD248003586CD /* HitInfo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E4C454BA167BD248003586CD /* HitInfo.cpp */; }; E4CA10E61637BD0A005D9400 /* KRTexturePVR.h in Headers */ = {isa = PBXBuildFile; fileRef = E4CA10E41637BD0A005D9400 /* KRTexturePVR.h */; settings = {ATTRIBUTES = (Public, ); }; }; E4CA10EA1637BD2B005D9400 /* KRTexturePVR.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E4CA10E81637BD2B005D9400 /* KRTexturePVR.cpp */; }; E4CA10ED1637BD47005D9400 /* KRTextureTGA.h in Headers */ = {isa = PBXBuildFile; fileRef = E4CA10EB1637BD47005D9400 /* KRTextureTGA.h */; settings = {ATTRIBUTES = (Public, ); }; }; @@ -828,8 +828,8 @@ E4C454AE167BB8FC003586CD /* KRMeshCube.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; lineEnding = 0; path = KRMeshCube.cpp; sourceTree = ""; xcLanguageSpecificationIdentifier = xcode.lang.cpp; }; E4C454B1167BC04B003586CD /* KRMeshSphere.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; lineEnding = 0; path = KRMeshSphere.h; sourceTree = ""; xcLanguageSpecificationIdentifier = xcode.lang.objcpp; }; E4C454B4167BC05C003586CD /* KRMeshSphere.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; lineEnding = 0; path = KRMeshSphere.cpp; sourceTree = ""; xcLanguageSpecificationIdentifier = xcode.lang.cpp; }; - E4C454B7167BD235003586CD /* KRHitInfo.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = KRHitInfo.h; sourceTree = ""; }; - E4C454BA167BD248003586CD /* KRHitInfo.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = KRHitInfo.cpp; sourceTree = ""; }; + E4C454B7167BD235003586CD /* HitInfo.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HitInfo.h; sourceTree = ""; }; + E4C454BA167BD248003586CD /* HitInfo.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = HitInfo.cpp; sourceTree = ""; }; E4C8E4E416B9B2D50031DDCB /* kraken_standard_assets_ios.bundle */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = kraken_standard_assets_ios.bundle; sourceTree = BUILT_PRODUCTS_DIR; }; E4C8E4E816B9B2D50031DDCB /* Resources-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "Resources-Info.plist"; sourceTree = ""; }; E4C8E4F416B9B2E20031DDCB /* kraken_standard_assets_osx.bundle */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = kraken_standard_assets_osx.bundle; sourceTree = BUILT_PRODUCTS_DIR; }; @@ -1459,8 +1459,8 @@ E46DBE841512B9E200D59F86 /* KREngine-common.h */, E491017213C99BDC0098455B /* KREngine.h */, E491016F13C99BDC0098455B /* KREngine.mm */, - E4C454BA167BD248003586CD /* KRHitInfo.cpp */, - E4C454B7167BD235003586CD /* KRHitInfo.h */, + E4C454BA167BD248003586CD /* HitInfo.cpp */, + E4C454B7167BD235003586CD /* HitInfo.h */, E4924C2415EE95E700B965C6 /* KROctree.cpp */, E4924C2515EE95E800B965C6 /* KROctree.h */, E4924C2915EE96AA00B965C6 /* KROctreeNode.cpp */, @@ -1698,7 +1698,7 @@ E423D7231BEDEE2D0021812E /* KRDataBlock.h in Headers */, E423D7241BEDEE2D0021812E /* KREngine-common.h in Headers */, E423D7251BEDEE2D0021812E /* KREngine.h in Headers */, - E423D7261BEDEE2D0021812E /* KRHitInfo.h in Headers */, + E423D7261BEDEE2D0021812E /* HitInfo.h in Headers */, E423D7271BEDEE2D0021812E /* KROctree.h in Headers */, E423D7281BEDEE2D0021812E /* KROctreeNode.h in Headers */, E423D7291BEDEE2D0021812E /* KRRenderSettings.h in Headers */, @@ -1781,7 +1781,7 @@ E4159B8419C5760800622D1E /* KRDataBlock.h in Headers */, E4159B8519C5760800622D1E /* KREngine-common.h in Headers */, E4159B8619C5760800622D1E /* KREngine.h in Headers */, - E4159B8719C5760800622D1E /* KRHitInfo.h in Headers */, + E4159B8719C5760800622D1E /* HitInfo.h in Headers */, E4159B8819C5760800622D1E /* KROctree.h in Headers */, E4159B8919C5760800622D1E /* KROctreeNode.h in Headers */, E4159B8A19C5760900622D1E /* KRRenderSettings.h in Headers */, @@ -1845,7 +1845,7 @@ E4CA11751639CBD6005D9400 /* KRViewport.h in Headers */, E461A15D152E563100F2044A /* KRDirectionalLight.h in Headers */, E461A169152E570700F2044A /* KRSpotLight.h in Headers */, - E4C454B9167BD236003586CD /* KRHitInfo.h in Headers */, + E4C454B9167BD236003586CD /* HitInfo.h in Headers */, E4324BA516444C0D0043185B /* KRParticleSystem.h in Headers */, E4324BAC16444DEF0043185B /* KRParticleSystemNewtonian.h in Headers */, E4C454AD167BB8EC003586CD /* KRMeshCube.h in Headers */, @@ -2262,7 +2262,7 @@ E423D6D11BEDEE2D0021812E /* KRContextObject.cpp in Sources */, E423D6D21BEDEE2D0021812E /* KRDataBlock.cpp in Sources */, E423D6D31BEDEE2D0021812E /* KREngine.mm in Sources */, - E423D6D41BEDEE2D0021812E /* KRHitInfo.cpp in Sources */, + E423D6D41BEDEE2D0021812E /* HitInfo.cpp in Sources */, E423D6D51BEDEE2D0021812E /* KROctree.cpp in Sources */, E423D6D61BEDEE2D0021812E /* KROctreeNode.cpp in Sources */, E423D6D71BEDEE2D0021812E /* KRRenderSettings.cpp in Sources */, @@ -2346,7 +2346,7 @@ E48A54FB1EFBB61C00C12516 /* KRDSP_vDSP.cpp in Sources */, E4159BCF19C5762F00622D1E /* KRDataBlock.cpp in Sources */, E4159BD019C5762F00622D1E /* KREngine.mm in Sources */, - E4159BD119C5762F00622D1E /* KRHitInfo.cpp in Sources */, + E4159BD119C5762F00622D1E /* HitInfo.cpp in Sources */, E4159BD219C5762F00622D1E /* KROctree.cpp in Sources */, E4159BD319C5762F00622D1E /* KROctreeNode.cpp in Sources */, E4159BD419C5762F00622D1E /* KRRenderSettings.cpp in Sources */, @@ -2431,7 +2431,7 @@ E43F70E61824D9AB00136169 /* KRStreamer.mm in Sources */, E4C454B0167BB8FC003586CD /* KRMeshCube.cpp in Sources */, E4C454B6167BC05C003586CD /* KRMeshSphere.cpp in Sources */, - E4C454BC167BD248003586CD /* KRHitInfo.cpp in Sources */, + E4C454BC167BD248003586CD /* HitInfo.cpp in Sources */, E44F38291683B24800399B5D /* KRRenderSettings.cpp in Sources */, E414F9A71694D977000B3D58 /* KRUnknownManager.cpp in Sources */, E414F9AD1694DA37000B3D58 /* KRUnknown.cpp in Sources */, diff --git a/kraken/CMakeLists.txt b/kraken/CMakeLists.txt index 05d0a68..3f62459 100644 --- a/kraken/CMakeLists.txt +++ b/kraken/CMakeLists.txt @@ -13,4 +13,13 @@ add_sources(aabb.cpp) add_sources(hitinfo.cpp) # Private Implementation +add_sources(KRAmbientZone.cpp) +add_sources(KRAnimation.cpp) +add_sources(KRAnimationAttribute.cpp) +add_sources(KRAnimationCurve.cpp) +add_sources(KRAnimationCurveManager.cpp) +add_sources(KRAnimationLayer.cpp) +add_sources(KRAnimationManager.cpp) +add_sources(KRAudioBuffer.cpp) +add_sources(KRAudioManager.cpp) add_sources(KRDataBlock.cpp) diff --git a/kraken/KRAnimationAttribute.cpp b/kraken/KRAnimationAttribute.cpp index f2ecebe..3ae0952 100755 --- a/kraken/KRAnimationAttribute.cpp +++ b/kraken/KRAnimationAttribute.cpp @@ -140,6 +140,9 @@ tinyxml2::XMLElement *KRAnimationAttribute::saveXML( tinyxml2::XMLNode *parent) case KRNode::KRENGINE_NODE_SCALE_OFFSET_Z: szAttribute = "scale_offset_z"; break; + case KRNode::KRENGINE_NODE_ATTRIBUTE_COUNT: + // Suppress warning + break; } e->SetAttribute("attribute", szAttribute); diff --git a/kraken/KRAudioManager.cpp b/kraken/KRAudioManager.cpp index 879bcbd..8634529 100755 --- a/kraken/KRAudioManager.cpp +++ b/kraken/KRAudioManager.cpp @@ -144,8 +144,8 @@ void KRAudioManager::setListenerScene(KRScene *scene) void KRAudioManager::renderAudio(UInt32 inNumberFrames, AudioBufferList *ioData) { // uint64_t start_time = mach_absolute_time(); - AudioUnitSampleType *outA = (AudioUnitSampleType *)ioData->mBuffers[0].mData; - AudioUnitSampleType *outB = (AudioUnitSampleType *)ioData->mBuffers[1].mData; // Non-Interleaved only + Float32 *outA = (Float32 *)ioData->mBuffers[0].mData; + Float32 *outB = (Float32 *)ioData->mBuffers[1].mData; // Non-Interleaved only int output_frame = 0; @@ -168,16 +168,6 @@ void KRAudioManager::renderAudio(UInt32 inNumberFrames, AudioBufferList *ioData) float right_channel = block_data[m_output_sample * KRENGINE_MAX_OUTPUT_CHANNELS + 1]; m_output_sample++; -#if CA_PREFER_FIXED_POINT - // Interleaved - // outA[i*2] = (SInt16)(left_channel * 32767.0f); - // outA[i*2 + 1] = (SInt16)(right_channel * 32767.0f); - - // Non-Interleaved - outA[output_frame] = (SInt32)(left_channel * 0x1000000f); - outB[output_frame] = (SInt32)(right_channel * 0x1000000f); -#else - // Interleaved // outA[i*2] = (Float32)left_channel; // outA[i*2 + 1] = (Float32)right_channel; @@ -185,7 +175,6 @@ void KRAudioManager::renderAudio(UInt32 inNumberFrames, AudioBufferList *ioData) // Non-Interleaved outA[output_frame] = (Float32)left_channel; outB[output_frame] = (Float32)right_channel; -#endif output_frame++; } } @@ -417,18 +406,14 @@ OSStatus KRAudioManager::renderInput(void *inRefCon, AudioUnitRenderActionFlags void KRSetAUCanonical(AudioStreamBasicDescription &desc, UInt32 nChannels, bool interleaved) { desc.mFormatID = kAudioFormatLinearPCM; -#if CA_PREFER_FIXED_POINT - desc.mFormatFlags = kAudioFormatFlagsCanonical | (kAudioUnitSampleFractionBits << kLinearPCMFormatFlagsSampleFractionShift); -#else - desc.mFormatFlags = kAudioFormatFlagsCanonical; -#endif + desc.mFormatFlags = kAudioFormatFlagsNativeFloatPacked; desc.mChannelsPerFrame = nChannels; desc.mFramesPerPacket = 1; - desc.mBitsPerChannel = 8 * sizeof(AudioUnitSampleType); + desc.mBitsPerChannel = 8 * sizeof(Float32); if (interleaved) - desc.mBytesPerPacket = desc.mBytesPerFrame = nChannels * sizeof(AudioUnitSampleType); + desc.mBytesPerPacket = desc.mBytesPerFrame = nChannels * sizeof(Float32); else { - desc.mBytesPerPacket = desc.mBytesPerFrame = sizeof(AudioUnitSampleType); + desc.mBytesPerPacket = desc.mBytesPerFrame = sizeof(Float32); desc.mFormatFlags |= kAudioFormatFlagIsNonInterleaved; } } @@ -1128,8 +1113,6 @@ void KRAudioManager::initAudio() &size)); // ---- - // AUCanonical on the iPhone is the 8.24 integer format that is native to the iPhone. - KRSetAUCanonical(desc, 2, false); desc.mSampleRate = 44100.0f; @@ -1487,7 +1470,7 @@ void KRAudioManager::startFrame(float deltaTime) if(source->getEnableOcclusion() && /* FINDME!! DISABLES CODE */ (false)) { - KRHitInfo hitinfo; + HitInfo hitinfo; if(source->getScene().lineCast(m_listener_position, source_world_position, hitinfo, KRAKEN_COLLIDER_AUDIO)) { gain = 0.0f; } @@ -1709,23 +1692,13 @@ void KRAudioManager::renderITD() // Get a pointer to the dataBuffer of the AudioBufferList - AudioUnitSampleType *outA = (AudioUnitSampleType *)ioData->mBuffers[0].mData; - AudioUnitSampleType *outB = (AudioUnitSampleType *)ioData->mBuffers[1].mData; // Non-Interleaved only + Float32 *outA = (Float32 *)ioData->mBuffers[0].mData; + Float32 *outB = (Float32 *)ioData->mBuffers[1].mData; // Non-Interleaved only // ----====---- Zero out accumulation / output buffer ----====---- for (UInt32 i = 0; i < inNumberFrames; ++i) { - #if CA_PREFER_FIXED_POINT - // Interleaved - // outA[i*2] = (SInt16)(left_channel * 32767.0f); - // outA[i*2 + 1] = (SInt16)(right_channel * 32767.0f); - - // Non-Interleaved - outA[i] = (SInt32)(0x1000000f); - outB[i] = (SInt32)(0x1000000f); - #else - // Interleaved // outA[i*2] = (Float32)left_channel; // outA[i*2 + 1] = (Float32)right_channel; @@ -1733,7 +1706,6 @@ void KRAudioManager::renderITD() // Non-Interleaved outA[i] = (Float32)0.0f; outB[i] = (Float32)0.0f; - #endif } // ----====---- Render direct / HRTF audio ----====---- @@ -1768,16 +1740,6 @@ void KRAudioManager::renderITD() // left_channel = 0.0f; // right_channel = 0.0f; - #if CA_PREFER_FIXED_POINT - // Interleaved - // outA[i*2] = (SInt16)(left_channel * 32767.0f); - // outA[i*2 + 1] = (SInt16)(right_channel * 32767.0f); - - // Non-Interleaved - outA[i] += (SInt32)(left_channel * 0x1000000f); - outB[i] += (SInt32)(right_channel * 0x1000000f); - #else - // Interleaved // outA[i*2] = (Float32)left_channel; // outA[i*2 + 1] = (Float32)right_channel; @@ -1785,7 +1747,6 @@ void KRAudioManager::renderITD() // Non-Interleaved outA[i] += (Float32)left_channel; outB[i] += (Float32)right_channel; - #endif sample_frame++; } } diff --git a/kraken/KRCollider.cpp b/kraken/KRCollider.cpp index db28abe..bebcd70 100755 --- a/kraken/KRCollider.cpp +++ b/kraken/KRCollider.cpp @@ -92,7 +92,7 @@ AABB KRCollider::getBounds() { } } -bool KRCollider::lineCast(const Vector3 &v0, const Vector3 &v1, KRHitInfo &hitinfo, unsigned int layer_mask) +bool KRCollider::lineCast(const Vector3 &v0, const Vector3 &v1, HitInfo &hitinfo, unsigned int layer_mask) { if(layer_mask & m_layer_mask ) { // Only test if layer masks have a common bit set loadModel(); @@ -100,15 +100,15 @@ bool KRCollider::lineCast(const Vector3 &v0, const Vector3 &v1, KRHitInfo &hitin if(getBounds().intersectsLine(v0, v1)) { Vector3 v0_model_space = Matrix4::Dot(getInverseModelMatrix(), v0); Vector3 v1_model_space = Matrix4::Dot(getInverseModelMatrix(), v1); - KRHitInfo hitinfo_model_space; + HitInfo hitinfo_model_space; if(hitinfo.didHit()) { Vector3 hit_position_model_space = Matrix4::Dot(getInverseModelMatrix(), hitinfo.getPosition()); - hitinfo_model_space = KRHitInfo(hit_position_model_space, Matrix4::DotNoTranslate(getInverseModelMatrix(), hitinfo.getNormal()), (hit_position_model_space - v0_model_space).magnitude(), hitinfo.getNode()); + hitinfo_model_space = HitInfo(hit_position_model_space, Matrix4::DotNoTranslate(getInverseModelMatrix(), hitinfo.getNormal()), (hit_position_model_space - v0_model_space).magnitude(), hitinfo.getNode()); } if(m_models[0]->lineCast(v0_model_space, v1_model_space, hitinfo_model_space)) { Vector3 hit_position_world_space = Matrix4::Dot(getModelMatrix(), hitinfo_model_space.getPosition()); - hitinfo = KRHitInfo(hit_position_world_space, Vector3::Normalize(Matrix4::DotNoTranslate(getModelMatrix(), hitinfo_model_space.getNormal())), (hit_position_world_space - v0).magnitude(), this); + hitinfo = HitInfo(hit_position_world_space, Vector3::Normalize(Matrix4::DotNoTranslate(getModelMatrix(), hitinfo_model_space.getNormal())), (hit_position_world_space - v0).magnitude(), this); return true; } } @@ -117,7 +117,7 @@ bool KRCollider::lineCast(const Vector3 &v0, const Vector3 &v1, KRHitInfo &hitin return false; } -bool KRCollider::rayCast(const Vector3 &v0, const Vector3 &dir, KRHitInfo &hitinfo, unsigned int layer_mask) +bool KRCollider::rayCast(const Vector3 &v0, const Vector3 &dir, HitInfo &hitinfo, unsigned int layer_mask) { if(layer_mask & m_layer_mask) { // Only test if layer masks have a common bit set loadModel(); @@ -125,15 +125,15 @@ bool KRCollider::rayCast(const Vector3 &v0, const Vector3 &dir, KRHitInfo &hitin if(getBounds().intersectsRay(v0, dir)) { Vector3 v0_model_space = Matrix4::Dot(getInverseModelMatrix(), v0); Vector3 dir_model_space = Vector3::Normalize(Matrix4::DotNoTranslate(getInverseModelMatrix(), dir)); - KRHitInfo hitinfo_model_space; + HitInfo hitinfo_model_space; if(hitinfo.didHit()) { Vector3 hit_position_model_space = Matrix4::Dot(getInverseModelMatrix(), hitinfo.getPosition()); - hitinfo_model_space = KRHitInfo(hit_position_model_space, Vector3::Normalize(Matrix4::DotNoTranslate(getInverseModelMatrix(), hitinfo.getNormal())), (hit_position_model_space - v0_model_space).magnitude(), hitinfo.getNode()); + hitinfo_model_space = HitInfo(hit_position_model_space, Vector3::Normalize(Matrix4::DotNoTranslate(getInverseModelMatrix(), hitinfo.getNormal())), (hit_position_model_space - v0_model_space).magnitude(), hitinfo.getNode()); } if(m_models[0]->rayCast(v0_model_space, dir_model_space, hitinfo_model_space)) { Vector3 hit_position_world_space = Matrix4::Dot(getModelMatrix(), hitinfo_model_space.getPosition()); - hitinfo = KRHitInfo(hit_position_world_space, Vector3::Normalize(Matrix4::DotNoTranslate(getModelMatrix(), hitinfo_model_space.getNormal())), (hit_position_world_space - v0).magnitude(), this); + hitinfo = HitInfo(hit_position_world_space, Vector3::Normalize(Matrix4::DotNoTranslate(getModelMatrix(), hitinfo_model_space.getNormal())), (hit_position_world_space - v0).magnitude(), this); return true; } } @@ -142,7 +142,7 @@ bool KRCollider::rayCast(const Vector3 &v0, const Vector3 &dir, KRHitInfo &hitin return false; } -bool KRCollider::sphereCast(const Vector3 &v0, const Vector3 &v1, float radius, KRHitInfo &hitinfo, unsigned int layer_mask) +bool KRCollider::sphereCast(const Vector3 &v0, const Vector3 &v1, float radius, HitInfo &hitinfo, unsigned int layer_mask) { if(layer_mask & m_layer_mask) { // Only test if layer masks have a common bit set loadModel(); @@ -154,7 +154,7 @@ bool KRCollider::sphereCast(const Vector3 &v0, const Vector3 &v1, float radius, if(getBounds().intersects(sphereCastBounds)) { if(m_models[0]->sphereCast(getModelMatrix(), v0, v1, radius, hitinfo)) { - hitinfo = KRHitInfo(hitinfo.getPosition(), hitinfo.getNormal(), hitinfo.getDistance(), this); + hitinfo = HitInfo(hitinfo.getPosition(), hitinfo.getNormal(), hitinfo.getDistance(), this); return true; } } diff --git a/kraken/KRCollider.h b/kraken/KRCollider.h index 835f630..0292ff1 100755 --- a/kraken/KRCollider.h +++ b/kraken/KRCollider.h @@ -57,9 +57,9 @@ public: virtual void loadXML(tinyxml2::XMLElement *e); virtual AABB getBounds(); - bool lineCast(const Vector3 &v0, const Vector3 &v1, KRHitInfo &hitinfo, unsigned int layer_mask); - bool rayCast(const Vector3 &v0, const Vector3 &v1, KRHitInfo &hitinfo, unsigned int layer_mask); - bool sphereCast(const Vector3 &v0, const Vector3 &v1, float radius, KRHitInfo &hitinfo, unsigned int layer_mask); + bool lineCast(const Vector3 &v0, const Vector3 &v1, HitInfo &hitinfo, unsigned int layer_mask); + bool rayCast(const Vector3 &v0, const Vector3 &v1, HitInfo &hitinfo, unsigned int layer_mask); + bool sphereCast(const Vector3 &v0, const Vector3 &v1, float radius, HitInfo &hitinfo, unsigned int layer_mask); unsigned int getLayerMask(); void setLayerMask(unsigned int layer_mask); diff --git a/kraken/KRMesh.cpp b/kraken/KRMesh.cpp index 6a0a398..3ba28bc 100755 --- a/kraken/KRMesh.cpp +++ b/kraken/KRMesh.cpp @@ -1104,7 +1104,7 @@ KRMesh::model_format_t KRMesh::getModelFormat() const return f; } -bool KRMesh::rayCast(const Vector3 &start, const Vector3 &dir, const Triangle3 &tri, const Vector3 &tri_n0, const Vector3 &tri_n1, const Vector3 &tri_n2, KRHitInfo &hitinfo) +bool KRMesh::rayCast(const Vector3 &start, const Vector3 &dir, const Triangle3 &tri, const Vector3 &tri_n0, const Vector3 &tri_n1, const Vector3 &tri_n2, HitInfo &hitinfo) { Vector3 hit_point; if(tri.rayCast(start, dir, hit_point)) { @@ -1124,7 +1124,7 @@ bool KRMesh::rayCast(const Vector3 &start, const Vector3 &dir, const Triangle3 & distance_v2 /= distance_total; Vector3 normal = Vector3::Normalize(tri_n0 * (1.0 - distance_v0) + tri_n1 * (1.0 - distance_v1) + tri_n2 * (1.0 - distance_v2)); - hitinfo = KRHitInfo(hit_point, normal, new_hit_distance); + hitinfo = HitInfo(hit_point, normal, new_hit_distance); return true; } else { return false; // The hit was farther than an existing hit @@ -1138,7 +1138,7 @@ bool KRMesh::rayCast(const Vector3 &start, const Vector3 &dir, const Triangle3 & } -bool KRMesh::rayCast(const Vector3 &start, const Vector3 &dir, KRHitInfo &hitinfo) const +bool KRMesh::rayCast(const Vector3 &start, const Vector3 &dir, HitInfo &hitinfo) const { m_pData->lock(); bool hit_found = false; @@ -1184,7 +1184,7 @@ bool KRMesh::rayCast(const Vector3 &start, const Vector3 &dir, KRHitInfo &hitinf } -bool KRMesh::sphereCast(const Matrix4 &model_to_world, const Vector3 &v0, const Vector3 &v1, float radius, KRHitInfo &hitinfo) const +bool KRMesh::sphereCast(const Matrix4 &model_to_world, const Vector3 &v0, const Vector3 &v1, float radius, HitInfo &hitinfo) const { m_pData->lock(); @@ -1236,7 +1236,7 @@ bool KRMesh::sphereCast(const Matrix4 &model_to_world, const Vector3 &v0, const return hit_found; } -bool KRMesh::sphereCast(const Matrix4 &model_to_world, const Vector3 &v0, const Vector3 &v1, float radius, const Triangle3 &tri, KRHitInfo &hitinfo) +bool KRMesh::sphereCast(const Matrix4 &model_to_world, const Vector3 &v0, const Vector3 &v1, float radius, const Triangle3 &tri, HitInfo &hitinfo) { Vector3 dir = Vector3::Normalize(v1 - v0); @@ -1261,7 +1261,7 @@ bool KRMesh::sphereCast(const Matrix4 &model_to_world, const Vector3 &v0, const distance_v2 /= distance_total; Vector3 normal = Vector3::Normalize(Matrix4::DotNoTranslate(model_to_world, (tri_n0 * (1.0 - distance_v0) + tri_n1 * (1.0 - distance_v1) + tri_n2 * (1.0 - distance_v2)))); */ - hitinfo = KRHitInfo(new_hit_point, world_tri.calculateNormal(), new_hit_distance); + hitinfo = HitInfo(new_hit_point, world_tri.calculateNormal(), new_hit_distance); return true; } } @@ -1269,10 +1269,10 @@ bool KRMesh::sphereCast(const Matrix4 &model_to_world, const Vector3 &v0, const return false; } -bool KRMesh::lineCast(const Vector3 &v0, const Vector3 &v1, KRHitInfo &hitinfo) const +bool KRMesh::lineCast(const Vector3 &v0, const Vector3 &v1, HitInfo &hitinfo) const { m_pData->lock(); - KRHitInfo new_hitinfo; + HitInfo new_hitinfo; Vector3 dir = Vector3::Normalize(v1 - v0); if(rayCast(v0, dir, new_hitinfo)) { if((new_hitinfo.getPosition() - v0).sqrMagnitude() <= (v1 - v0).sqrMagnitude()) { diff --git a/kraken/KROctree.cpp b/kraken/KROctree.cpp index 8d95449..8d0c65b 100755 --- a/kraken/KROctree.cpp +++ b/kraken/KROctree.cpp @@ -8,7 +8,7 @@ #include "KROctree.h" #include "KRNode.h" -#include "KRHitInfo.h" +#include "HitInfo.h" #include "KRCollider.h" KROctree::KROctree() @@ -97,7 +97,7 @@ std::set &KROctree::getOuterSceneNodes() } -bool KROctree::lineCast(const Vector3 &v0, const Vector3 &v1, KRHitInfo &hitinfo, unsigned int layer_mask) +bool KROctree::lineCast(const Vector3 &v0, const Vector3 &v1, HitInfo &hitinfo, unsigned int layer_mask) { bool hit_found = false; std::vector outer_colliders; @@ -118,7 +118,7 @@ bool KROctree::lineCast(const Vector3 &v0, const Vector3 &v1, KRHitInfo &hitinfo return hit_found; } -bool KROctree::rayCast(const Vector3 &v0, const Vector3 &dir, KRHitInfo &hitinfo, unsigned int layer_mask) +bool KROctree::rayCast(const Vector3 &v0, const Vector3 &dir, HitInfo &hitinfo, unsigned int layer_mask) { bool hit_found = false; for(std::set::iterator outer_nodes_itr=m_outerSceneNodes.begin(); outer_nodes_itr != m_outerSceneNodes.end(); outer_nodes_itr++) { @@ -133,7 +133,7 @@ bool KROctree::rayCast(const Vector3 &v0, const Vector3 &dir, KRHitInfo &hitinfo return hit_found; } -bool KROctree::sphereCast(const Vector3 &v0, const Vector3 &v1, float radius, KRHitInfo &hitinfo, unsigned int layer_mask) +bool KROctree::sphereCast(const Vector3 &v0, const Vector3 &v1, float radius, HitInfo &hitinfo, unsigned int layer_mask) { bool hit_found = false; std::vector outer_colliders; diff --git a/kraken/KROctreeNode.cpp b/kraken/KROctreeNode.cpp index 03a8e80..915834e 100755 --- a/kraken/KROctreeNode.cpp +++ b/kraken/KROctreeNode.cpp @@ -196,7 +196,7 @@ std::set &KROctreeNode::getSceneNodes() } -bool KROctreeNode::lineCast(const Vector3 &v0, const Vector3 &v1, KRHitInfo &hitinfo, unsigned int layer_mask) +bool KROctreeNode::lineCast(const Vector3 &v0, const Vector3 &v1, HitInfo &hitinfo, unsigned int layer_mask) { bool hit_found = false; if(hitinfo.didHit() && v1 != hitinfo.getPosition()) { @@ -224,7 +224,7 @@ bool KROctreeNode::lineCast(const Vector3 &v0, const Vector3 &v1, KRHitInfo &hit return hit_found; } -bool KROctreeNode::rayCast(const Vector3 &v0, const Vector3 &dir, KRHitInfo &hitinfo, unsigned int layer_mask) +bool KROctreeNode::rayCast(const Vector3 &v0, const Vector3 &dir, HitInfo &hitinfo, unsigned int layer_mask) { bool hit_found = false; if(hitinfo.didHit()) { @@ -252,7 +252,7 @@ bool KROctreeNode::rayCast(const Vector3 &v0, const Vector3 &dir, KRHitInfo &hit return hit_found; } -bool KROctreeNode::sphereCast(const Vector3 &v0, const Vector3 &v1, float radius, KRHitInfo &hitinfo, unsigned int layer_mask) +bool KROctreeNode::sphereCast(const Vector3 &v0, const Vector3 &v1, float radius, HitInfo &hitinfo, unsigned int layer_mask) { bool hit_found = false; /* diff --git a/kraken/KRScene.cpp b/kraken/KRScene.cpp index 0872ccf..0d9c37c 100755 --- a/kraken/KRScene.cpp +++ b/kraken/KRScene.cpp @@ -579,17 +579,17 @@ AABB KRScene::getRootOctreeBounds() } -bool KRScene::lineCast(const Vector3 &v0, const Vector3 &v1, KRHitInfo &hitinfo, unsigned int layer_mask) +bool KRScene::lineCast(const Vector3 &v0, const Vector3 &v1, HitInfo &hitinfo, unsigned int layer_mask) { return m_nodeTree.lineCast(v0, v1, hitinfo, layer_mask); } -bool KRScene::rayCast(const Vector3 &v0, const Vector3 &dir, KRHitInfo &hitinfo, unsigned int layer_mask) +bool KRScene::rayCast(const Vector3 &v0, const Vector3 &dir, HitInfo &hitinfo, unsigned int layer_mask) { return m_nodeTree.rayCast(v0, dir, hitinfo, layer_mask); } -bool KRScene::sphereCast(const Vector3 &v0, const Vector3 &v1, float radius, KRHitInfo &hitinfo, unsigned int layer_mask) +bool KRScene::sphereCast(const Vector3 &v0, const Vector3 &v1, float radius, HitInfo &hitinfo, unsigned int layer_mask) { return m_nodeTree.sphereCast(v0, v1, radius, hitinfo, layer_mask); } diff --git a/kraken/public/hitinfo.h b/kraken/public/hitinfo.h index 1565900..91f7785 100755 --- a/kraken/public/hitinfo.h +++ b/kraken/public/hitinfo.h @@ -1,5 +1,5 @@ // -// KRHitInfo.h +// hitinfo.h // KREngine // // Copyright 2012 Kearwood Gilbert. All rights reserved. diff --git a/kraken_win/kraken.vcxproj b/kraken_win/kraken.vcxproj index 6e7707d..68277c8 100755 --- a/kraken_win/kraken.vcxproj +++ b/kraken_win/kraken.vcxproj @@ -151,7 +151,7 @@ - + @@ -229,7 +229,7 @@ - + diff --git a/kraken_win/kraken.vcxproj.filters b/kraken_win/kraken.vcxproj.filters index 8974a5f..2b83751 100755 --- a/kraken_win/kraken.vcxproj.filters +++ b/kraken_win/kraken.vcxproj.filters @@ -102,7 +102,7 @@ Source Files - + Source Files @@ -335,7 +335,7 @@ Header Files - + Header Files