バージョン
00001 /******************************************************************************* 00002 The content of this file includes portions of the AUDIOKINETIC Wwise Technology 00003 released in source code form as part of the SDK installer package. 00004 00005 Commercial License Usage 00006 00007 Licensees holding valid commercial licenses to the AUDIOKINETIC Wwise Technology 00008 may use this file in accordance with the end user license agreement provided 00009 with the software or, alternatively, in accordance with the terms contained in a 00010 written agreement between you and Audiokinetic Inc. 00011 00012 Apache License Usage 00013 00014 Alternatively, this file may be used under the Apache License, Version 2.0 (the 00015 "Apache License"); you may not use this file except in compliance with the 00016 Apache License. You may obtain a copy of the Apache License at 00017 http://www.apache.org/licenses/LICENSE-2.0. 00018 00019 Unless required by applicable law or agreed to in writing, software distributed 00020 under the Apache License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES 00021 OR CONDITIONS OF ANY KIND, either express or implied. See the Apache License for 00022 the specific language governing permissions and limitations under the License. 00023 00024 Version: <VERSION> Build: <BUILDNUMBER> 00025 Copyright (c) <COPYRIGHTYEAR> Audiokinetic Inc. 00026 *******************************************************************************/ 00027 00030 00031 #ifndef AK_WWISE_PLATFORMID_H 00032 #define AK_WWISE_PLATFORMID_H 00033 00034 #if defined( _MSC_VER ) 00035 #define AK_ID_DECLARE extern const _declspec( selectany ) 00036 #else 00037 #define AK_ID_DECLARE const 00038 #endif 00039 00040 struct BasePlatformID 00041 { 00042 BasePlatformID():guid( GUID_NULL ){} 00043 00044 // The Create function is a functionnal replacement for the BasePlatformID() constructor taking a GUID in parameters. 00045 // This is to avoid situations where someone would pass a GUID instead of a BasePlatformID in a function call while migrating, which would 00046 // compile but would lead the user into serious errors. 00047 static BasePlatformID Create( const GUID& in_BasePlatformID ) 00048 { 00049 BasePlatformID ret; 00050 ret.guid = in_BasePlatformID; 00051 return ret; 00052 } 00053 00054 static BasePlatformID Empty() 00055 { 00056 return BasePlatformID::Create(GUID_NULL); 00057 } 00058 00059 bool IsNull() const 00060 { 00061 return (guid == GUID_NULL) ? true : false; 00062 } 00063 00064 bool operator == ( const BasePlatformID& in_rOther ) const 00065 { 00066 return (in_rOther.guid == guid)? true : false; 00067 } 00068 bool operator != ( const BasePlatformID& in_rOther ) const 00069 { 00070 return (in_rOther.guid != guid)? true : false; 00071 } 00072 GUID guid; 00073 00074 struct GUIDLessNative 00075 { 00076 bool operator()( const BasePlatformID& in_rLeft, const BasePlatformID& in_rRight ) const 00077 { 00078 return ( ::memcmp( &in_rLeft, &in_rRight, sizeof BasePlatformID ) < 0 ); 00079 } 00080 }; 00081 }; 00082 00083 namespace PlatformID 00084 { 00085 // {6E0CB257-C6C8-4c5c-8366-2740DFC441EB} 00086 AK_ID_DECLARE GUID Windows_unsafeguid = { 0x6E0CB257, 0xC6C8, 0x4c5c, { 0x83, 0x66, 0x27, 0x40, 0xDF, 0xC4, 0x41, 0xEB } }; 00087 AK_ID_DECLARE BasePlatformID Windows = BasePlatformID::Create( Windows_unsafeguid ); 00088 00089 // {E0C09284-6F61-43dc-9C9D-D8047E47AB3B} 00090 AK_ID_DECLARE GUID Xbox360_unsafeguid = { 0xE0C09284, 0x6F61, 0x43dc, { 0x9C, 0x9D, 0xD8, 0x04, 0x7E, 0x47, 0xAB, 0x3B } }; 00091 AK_ID_DECLARE BasePlatformID Xbox360 = BasePlatformID::Create( Xbox360_unsafeguid ); 00092 00093 // {D85DACB3-8FDB-4aba-8C8A-1F46AFB35366} 00094 AK_ID_DECLARE GUID PS3_unsafeguid = { 0xD85DACB3, 0x8FDB, 0x4aba, { 0x8C, 0x8A, 0x1F, 0x46, 0xAF, 0xB3, 0x53, 0x66 } }; 00095 AK_ID_DECLARE BasePlatformID PS3 = BasePlatformID::Create( PS3_unsafeguid ); 00096 00097 // {9C6217D5-DD11-4795-87C1-6CE02853C540} 00098 AK_ID_DECLARE GUID Mac_unsafeguid = { 0x9c6217d5, 0xdd11, 0x4795, { 0x87, 0xc1, 0x6c, 0xe0, 0x28, 0x53, 0xc5, 0x40 } }; 00099 AK_ID_DECLARE BasePlatformID Mac = BasePlatformID::Create( Mac_unsafeguid ); 00100 00101 // {2DB55050-4B70-4243-A22C-434D776A0753} 00102 AK_ID_DECLARE GUID VitaSW_unsafeguid = { 0x2db55050, 0x4b70, 0x4243, { 0xa2, 0x2c, 0x43, 0x4d, 0x77, 0x6a, 0x7, 0x53 } }; 00103 AK_ID_DECLARE BasePlatformID VitaSW = BasePlatformID::Create( VitaSW_unsafeguid ); 00104 00105 // {091EBCFF-5E04-4260-B025-566206272EA6} 00106 AK_ID_DECLARE GUID VitaHW_unsafeguid = { 0x91ebcff, 0x5e04, 0x4260, { 0xb0, 0x25, 0x56, 0x62, 0x6, 0x27, 0x2e, 0xa6 } }; 00107 AK_ID_DECLARE BasePlatformID VitaHW = BasePlatformID::Create( VitaHW_unsafeguid ); 00108 00109 // {3AF9B9B6-6EF1-47E9-B5FE-E30C9E602C77} 00110 AK_ID_DECLARE GUID PS4_unsafeguid = { 0x3af9b9b6, 0x6ef1, 0x47e9, { 0xb5, 0xfe, 0xe3, 0xc, 0x9e, 0x60, 0x2c, 0x77 } }; 00111 AK_ID_DECLARE BasePlatformID PS4 = BasePlatformID::Create( PS4_unsafeguid ); 00112 00113 // {ECE03DB4-F948-462d-B2BB-A9173012B1F8} 00114 AK_ID_DECLARE GUID iOS_unsafeguid = { 0xece03db4, 0xf948, 0x462d, { 0xb2, 0xbb, 0xa9, 0x17, 0x30, 0x12, 0xb1, 0xf8 } }; 00115 AK_ID_DECLARE BasePlatformID iOS = BasePlatformID::Create( iOS_unsafeguid ); 00116 00117 // {7CB75869-58AD-4458-948A-1935CCB4AC66} 00118 AK_ID_DECLARE GUID WiiUSW_unsafeguid = { 0x7cb75869, 0x58ad, 0x4458, { 0x94, 0x8a, 0x19, 0x35, 0xcc, 0xb4, 0xac, 0x66 } }; 00119 AK_ID_DECLARE BasePlatformID WiiUSW = BasePlatformID::Create( WiiUSW_unsafeguid ); 00120 00121 // {FF757AE1-FCE5-420d-9E8A-32139D436F74} 00122 AK_ID_DECLARE GUID WiiUHW_unsafeguid = { 0xff757ae1, 0xfce5, 0x420d, { 0x9e, 0x8a, 0x32, 0x13, 0x9d, 0x43, 0x6f, 0x74 } }; 00123 AK_ID_DECLARE BasePlatformID WiiUHW = BasePlatformID::Create( WiiUHW_unsafeguid ); 00124 00125 // {a2d401de-b8b6-4feb-8142-137c34d507CA} 00126 AK_ID_DECLARE GUID Android_unsafeguid = { 0xa2d401de, 0xb8b6, 0x4feb, { 0x81, 0x42, 0x13, 0x7c, 0x34, 0xd5, 0x07, 0xCA } }; 00127 AK_ID_DECLARE BasePlatformID Android = BasePlatformID::Create( Android_unsafeguid ); 00128 00129 // {B131584B-9961-4bb5-9C58-A3E9ABFFBBF6} 00130 AK_ID_DECLARE GUID XboxOne_unsafeguid = { 0xb131584b, 0x9961, 0x4bb5, { 0x9c, 0x58, 0xa3, 0xe9, 0xab, 0xff, 0xbb, 0xf6 } }; 00131 AK_ID_DECLARE BasePlatformID XboxOne = BasePlatformID::Create( XboxOne_unsafeguid ); 00132 00133 // {BD0BDF13-3125-454f-8BFD-319537169F81} 00134 AK_ID_DECLARE GUID Linux_unsafeguid = { 0xbd0bdf13, 0x3125, 0x454f, { 0x8b, 0xfd, 0x31, 0x95, 0x37, 0x16, 0x9f, 0x81 } }; 00135 AK_ID_DECLARE BasePlatformID Linux = BasePlatformID::Create( Linux_unsafeguid ); 00136 00137 // {874F26D2-416D-4698-BFB6-3427CAFCFF9C} 00138 AK_ID_DECLARE GUID NintendoNX_unsafeguid = { 0x874f26d2, 0x416d, 0x4698, { 0xbf, 0xb6, 0x34, 0x27, 0xca, 0xfc, 0xff, 0x9c } }; 00139 AK_ID_DECLARE BasePlatformID NintendoNX = BasePlatformID::Create(NintendoNX_unsafeguid); 00140 00141 // {639AD233-23F2-4c0f-9127-79F44C15E1DA} 00142 AK_ID_DECLARE GUID Emscripten_unsafeguid = { 0x639ad233, 0x23f2, 0x4c0f, { 0x91, 0x27, 0x79, 0xf4, 0x4c, 0x15, 0xe1, 0xdA } }; 00143 AK_ID_DECLARE BasePlatformID Emscripten = BasePlatformID::Create(Emscripten_unsafeguid); 00144 00146 inline bool IsPlatformBigEndian( const BasePlatformID & in_guidPlatform ) 00147 { 00148 return in_guidPlatform == PlatformID::WiiUSW 00149 || in_guidPlatform == PlatformID::WiiUHW 00150 || in_guidPlatform == PlatformID::PS3 00151 || in_guidPlatform == PlatformID::Xbox360; 00152 } 00153 } 00154 00155 #endif // AK_WWISE_PLATFORMID_H