We just reached 30,000 articles on this wiki! 🥳
If you appreciate the work done within the wiki, please consider supporting The Cutting Room Floor on Patreon. Thanks for all your support!
If you appreciate the work done within the wiki, please consider supporting The Cutting Room Floor on Patreon. Thanks for all your support!
Phoenix Wright: Ace Attorney - Dual Destinies/Developer Messages
Jump to navigation
Jump to search
This is a sub-page of Phoenix Wright: Ace Attorney - Dual Destinies.
memory.ini
...But what does it mean? This game has text or audio that needs to be translated. If you are fluent with this language, please read our translation guidelines and then submit a translation! |
# このファイルはメモリ設定用のファイルです。 # # 注意: 開発中にはこのファイルを使っても良いですが、マスターの時に必ずハードコードでやってください。 # # CTR実機は memory.ini がビルド時に nativeLiteフォルダへコピーされ、そちらを参照します。 # # PCエミュレーション Allocator section. # [Allocators: Win32_Develop] # PCでMT_DEVELOP { # MtExHeapAllocator(アロケーター名, メモリタイプ, メモリサイズ, 予約ヒープ管理数[0:未使用], アロケーター属性 GLOBAL = MtExHeapAllocator(Global, TYPE_PHYSICAL, 8MB, 0, ATTR_THREADSAFE | ATTR_JOBSAFE | ATTR_MEMORYFILL); TEMPORARY = MtExHeapAllocator(Temp, TYPE_PHYSICAL, 128MB, 0, ATTR_THREADSAFE | ATTR_JOBSAFE | ATTR_MEMORYFILL); RESOURCE = MtExHeapAllocator(Resource, TYPE_PHYSICAL, 128MB, 0, ATTR_THREADSAFE | ATTR_JOBSAFE | ATTR_MEMORYFILL); SOUND_BUF = MtExHeapAllocator(SoundBuffer, TYPE_PHYSICAL, 32MB, 0, ATTR_THREADSAFE | ATTR_JOBSAFE | ATTR_MEMORYFILL); # 音声波形 SYSTEM = MtExHeapAllocator(System, TYPE_PHYSICAL, 10MB, 0, ATTR_THREADSAFE | ATTR_JOBSAFE | ATTR_MEMORYFILL); #UNIT = MtExHeapAllocator(Unit, TYPE_PHYSICAL, 2MB, 0, ATTR_THREADSAFE | ATTR_JOBSAFE | ATTR_MEMORYFILL); UNIT = MtExHeapAllocator(Unit, TYPE_PHYSICAL, 1536KB, 0, ATTR_THREADSAFE | ATTR_JOBSAFE | ATTR_MEMORYFILL); AREA = MtExHeapAllocator(Area, TYPE_PHYSICAL, 1MB, 0, ATTR_THREADSAFE | ATTR_JOBSAFE | ATTR_MEMORYFILL); ARRAY = MtExHeapAllocator(Array/String, TYPE_PHYSICAL, 16MB, 0, ATTR_THREADSAFE | ATTR_JOBSAFE | ATTR_MEMORYFILL); COLLISION = MtExHeapAllocator(Collision, TYPE_PHYSICAL, 4MB, 0, ATTR_THREADSAFE | ATTR_JOBSAFE | ATTR_MEMORYFILL); DEVELOP = MtExHeapAllocator(Develop, TYPE_PHYSICAL, 16MB, 0, ATTR_THREADSAFE | ATTR_JOBSAFE | ATTR_MEMORYFILL); COLLADA = RESOURCE; DRAW_RESOURCE = RESOURCE; CUBE_MAP = RESOURCE; DMPGL = RESOURCE; NETWORK = SYSTEM; PHYSICS = SYSTEM; EFFECT = UNIT; AI = UNIT; GUI = UNIT; STRING = ARRAY; UI = DEVELOP; UNDEFINED = DEFAULT; } [Allocators: Win32] # PCデフォルト… { # MtExHeapAllocator(アロケーター名, メモリタイプ, メモリサイズ, 予約ヒープ管理数[0:未使用], アロケーター属性 GLOBAL = MtExHeapAllocator(Global, TYPE_PHYSICAL, 8MB, 0, ATTR_JOBSAFE | ATTR_THREADSAFE); TEMPORARY = MtExHeapAllocator(Temp, TYPE_PHYSICAL, 128MB, 0, ATTR_JOBSAFE | ATTR_THREADSAFE); RESOURCE = MtExHeapAllocator(Resource, TYPE_PHYSICAL, 128MB, 0, ATTR_JOBSAFE | ATTR_THREADSAFE); SOUND_BUF = MtExHeapAllocator(SoundBuffer, TYPE_PHYSICAL, 32MB, 0, ATTR_JOBSAFE | ATTR_THREADSAFE); # 音声波形 SYSTEM = MtExHeapAllocator(System, TYPE_PHYSICAL, 10MB, 0, ATTR_JOBSAFE | ATTR_THREADSAFE); UNIT = MtExHeapAllocator(Unit, TYPE_PHYSICAL, 2MB, 0, ATTR_JOBSAFE | ATTR_THREADSAFE); AREA = MtExHeapAllocator(Area, TYPE_PHYSICAL, 1MB, 0, ATTR_JOBSAFE | ATTR_THREADSAFE); ARRAY = MtExHeapAllocator(Array/String, TYPE_PHYSICAL, 16MB, 0, ATTR_JOBSAFE | ATTR_THREADSAFE); COLLISION = MtExHeapAllocator(Collision, TYPE_PHYSICAL, 4MB, 0, ATTR_JOBSAFE | ATTR_THREADSAFE); DEVELOP = MtExHeapAllocator(Develop, TYPE_PHYSICAL, 16MB, 0, ATTR_JOBSAFE | ATTR_THREADSAFE); DRAW_RESOURCE = RESOURCE; CUBE_MAP = RESOURCE; DMPGL = RESOURCE; NETWORK = SYSTEM; PHYSICS = SYSTEM; EFFECT = UNIT; AI = UNIT; GUI = UNIT; STRING = ARRAY; UI = DEVELOP; } # # CTR実機 Allocator section. # # main.cppのnninitStartUp()でTYPE_DEVICE, TYPE_HEAPのサイズが決まります。 # ROMの場合 TYPE_DEVICE = 41M, TYPE_HEAP = 64M - 41M - プログラムサイズ(8Mぐらい?) = 15M # 開発時の場合 TYPE_DEVICE = 48M, TYPE_HEAP = 96M - 48M - プログラムサイズ(8Mぐらい?) = 40M # サイズ指定に四則演算は使えません。 1M = 1024K [Allocators: CTR_Develop] # CTR MT_DEVELOP { # MtExHeapAllocator(アロケーター名, メモリタイプ, メモリサイズ, 予約ヒープ管理数[0:未使用], アロケーター属性 GLOBAL = MtExHeapAllocator(Global, TYPE_HEAP, 2MB, 0, ATTR_THREADSAFE | ATTR_JOBSAFE | ATTR_MEMORYFILL); TEMPORARY = MtExHeapAllocator(Temp, TYPE_DEVICE, 2MB, 0, ATTR_THREADSAFE | ATTR_JOBSAFE | ATTR_MEMORYFILL); RESOURCE = MtExHeapAllocator(Resource, TYPE_DEVICE, 38MB, 0, ATTR_THREADSAFE | ATTR_JOBSAFE | ATTR_MEMORYFILL); # 描画以外のリソース #43MB SYSTEM = MtExHeapAllocator(System, TYPE_HEAP, 5MB, 0, ATTR_THREADSAFE | ATTR_JOBSAFE | ATTR_MEMORYFILL); UNIT = MtExHeapAllocator(Unit/Area, TYPE_HEAP, 2MB, 0, ATTR_THREADSAFE | ATTR_JOBSAFE | ATTR_MEMORYFILL); ARRAY = MtExHeapAllocator(Array/String, TYPE_HEAP, 2MB, 0, ATTR_THREADSAFE | ATTR_JOBSAFE | ATTR_MEMORYFILL); COLLISION = MtExHeapAllocator(Collision, TYPE_HEAP, 1MB, 0, ATTR_THREADSAFE | ATTR_JOBSAFE | ATTR_MEMORYFILL); #3MB # フィジカルはデバッグ以外のアロケーターを作成した後に作ること # 4KBアラインの必要があるスレッドのスタックやNEXで使用されます # 名前、メモリタイプ、サイズ、最大確保数、アロケーターオプション PHYSICAL = MtPhysicalAllocator(Physical, TYPE_HEAP, 512KB, 128, ATTR_THREADSAFE); # デバッグ用メモリ DEVELOP = MtExHeapAllocator(Develop, TYPE_DEVICE, 10MB, 0, ATTR_THREADSAFE | ATTR_JOBSAFE | ATTR_MEMORYFILL); AREA = UNIT; COLLADA = RESOURCE; DRAW_RESOURCE = RESOURCE; SOUND_BUF = RESOURCE; CUBE_MAP = RESOURCE; DMPGL = RESOURCE; NETWORK = SYSTEM; PHYSICS = SYSTEM; EFFECT = UNIT; AI = UNIT; GUI = UNIT; STRING = ARRAY; UI = DEVELOP; UNDEFINED = DEFAULT; } [Allocators: CTR] # CTR _ROM { # MtExHeapAllocator(アロケーター名, メモリタイプ, メモリサイズ, 予約ヒープ管理数[0:未使用], アロケーター属性 GLOBAL = MtExHeapAllocator(Global, TYPE_HEAP, 2MB, 0, ATTR_THREADSAFE | ATTR_JOBSAFE); TEMPORARY = MtExHeapAllocator(Temp, TYPE_DEVICE, 2MB, 0, ATTR_THREADSAFE | ATTR_JOBSAFE); RESOURCE = MtExHeapAllocator(Resource, TYPE_DEVICE, 38MB, 0, ATTR_THREADSAFE | ATTR_JOBSAFE); # 描画以外のリソース SYSTEM = MtExHeapAllocator(System, TYPE_HEAP, 5MB, 0, ATTR_THREADSAFE | ATTR_JOBSAFE); UNIT = MtExHeapAllocator(Unit/Area, TYPE_HEAP, 2MB, 0, ATTR_THREADSAFE | ATTR_JOBSAFE); ARRAY = MtExHeapAllocator(Array/String, TYPE_HEAP, 2MB, 0, ATTR_THREADSAFE | ATTR_JOBSAFE); COLLISION = MtExHeapAllocator(Collision, TYPE_HEAP, 1MB, 0, ATTR_THREADSAFE | ATTR_JOBSAFE); # フィジカルはデバッグ以外のアロケーターを作成した後に作ること # 4KBアラインの必要があるスレッドのスタックやNEXで使用されます # 名前、メモリタイプ、サイズ、最大確保数、アロケーターオプション PHYSICAL = MtPhysicalAllocator(Physical, TYPE_HEAP, 512KB, 128, ATTR_THREADSAFE); # デバッグ用メモリ:デバッグ表示分あれば良い DEVELOP = MtExHeapAllocator(Develop, TYPE_DEVICE, 1MB, 0, ATTR_THREADSAFE | ATTR_JOBSAFE); AREA = UNIT; DRAW_RESOURCE = RESOURCE; SOUND_BUF = RESOURCE; CUBE_MAP = RESOURCE; DMPGL = RESOURCE; NETWORK = SYSTEM; PHYSICS = SYSTEM; EFFECT = UNIT; AI = UNIT; GUI = UNIT; STRING = ARRAY; UI = DEVELOP; SCRIPT_ANALYZE = MtScalableAllocator(ScriptAnalyze, TYPE_HEAP, 512KB, ATTR_THREADSAFE | ATTR_JOBSAFE, ALLOC_POOL_NONE, 1); } # # CAFE実機 Allocator section. # # とりあえず、CTRのPCエミュレーションの場合に合わせる。 # 現在使用できるのは、TYPE_MEM2のみ。TYPE_MEM1はグラフィックスライブラリが占有するため使えない。 [Allocators: CAFE_Develop] # CAFE MT_DEVELOP { GLOBAL = MtScalableAllocator(Global, TYPE_MEM2, 8MB, ATTR_THREADSAFE | ATTR_JOBSAFE | ATTR_DEBUG | ATTR_DEV_FAIL_ASSERT | ATTR_DEV_VALIDATE_MEM, ALLOC_POOL_64KB, 1); TEMPORARY = MtScalableAllocator(Temp, TYPE_MEM2, 128MB, ATTR_THREADSAFE | ATTR_JOBSAFE | ATTR_DEBUG | ATTR_DEV_FAIL_ASSERT | ATTR_DEV_VALIDATE_MEM, ALLOC_POOL_64KB, 1); RESOURCE = MtScalableAllocator(Resource, TYPE_MEM2, 512MB, ATTR_THREADSAFE | ATTR_JOBSAFE | ATTR_DEBUG | ATTR_DEV_FAIL_ASSERT | ATTR_DEV_VALIDATE_MEM, ALLOC_POOL_64KB, 1); SOUND_BUF = MtScalableAllocator(SoundBuffer, TYPE_MEM2, 32MB, ATTR_THREADSAFE | ATTR_JOBSAFE | ATTR_DEBUG | ATTR_DEV_FAIL_ASSERT | ATTR_DEV_VALIDATE_MEM, ALLOC_POOL_64KB, 1); # 音声波形 SYSTEM = MtScalableAllocator(System, TYPE_MEM2, 96MB, ATTR_THREADSAFE | ATTR_JOBSAFE | ATTR_DEBUG | ATTR_DEV_FAIL_ASSERT | ATTR_DEV_VALIDATE_MEM, ALLOC_POOL_NONE, 1); UNIT = MtScalableAllocator(Unit, TYPE_MEM2, 2MB, ATTR_THREADSAFE | ATTR_JOBSAFE | ATTR_DEBUG | ATTR_DEV_FAIL_ASSERT | ATTR_DEV_VALIDATE_MEM, ALLOC_POOL_64KB, 1); AREA = MtScalableAllocator(Area, TYPE_MEM2, 1MB, ATTR_THREADSAFE | ATTR_JOBSAFE | ATTR_DEBUG | ATTR_DEV_FAIL_ASSERT | ATTR_DEV_VALIDATE_MEM, ALLOC_POOL_64KB, 1); ARRAY = MtScalableAllocator(Array/String, TYPE_MEM2, 16MB, ATTR_THREADSAFE | ATTR_JOBSAFE | ATTR_DEBUG | ATTR_DEV_FAIL_ASSERT | ATTR_DEV_VALIDATE_MEM, ALLOC_POOL_64KB, 1); COLLISION = MtScalableAllocator(Collision, TYPE_MEM2, 4MB, ATTR_THREADSAFE | ATTR_JOBSAFE | ATTR_DEBUG | ATTR_DEV_FAIL_ASSERT | ATTR_DEV_VALIDATE_MEM, ALLOC_POOL_64KB, 1); DEVELOP = MtScalableAllocator(Develop, TYPE_MEM2, 16MB, ATTR_THREADSAFE | ATTR_JOBSAFE | ATTR_DEBUG | ATTR_DEV_FAIL_ASSERT | ATTR_DEV_VALIDATE_MEM, ALLOC_POOL_4KB, 1); COLLADA = RESOURCE; DRAW_RESOURCE = RESOURCE; CUBE_MAP = RESOURCE; DMPGL = RESOURCE; NETWORK = SYSTEM; PHYSICS = SYSTEM; EFFECT = UNIT; AI = UNIT; GUI = UNIT; STRING = ARRAY; UI = DEVELOP; UNDEFINED = DEFAULT; } [Allocators: CAFE] # CAFE _ROM { GLOBAL = MtScalableAllocator(Global, TYPE_MEM2, 8MB, ATTR_JOBSAFE | ATTR_THREADSAFE, ALLOC_POOL_64KB, 1); TEMPORARY = MtScalableAllocator(Temp, TYPE_MEM2, 128MB, ATTR_JOBSAFE | ATTR_THREADSAFE, ALLOC_POOL_64KB, 1); RESOURCE = MtScalableAllocator(Resource, TYPE_MEM2, 512MB, ATTR_JOBSAFE | ATTR_THREADSAFE, ALLOC_POOL_64KB, 1); SOUND_BUF = MtScalableAllocator(SoundBuffer, TYPE_MEM2, 32MB, ATTR_JOBSAFE | ATTR_THREADSAFE, ALLOC_POOL_64KB, 1); # 音声波形 SYSTEM = MtScalableAllocator(System, TYPE_MEM2, 96MB, ATTR_JOBSAFE | ATTR_THREADSAFE, ALLOC_POOL_NONE, 1); UNIT = MtScalableAllocator(Unit, TYPE_MEM2, 2MB, ATTR_JOBSAFE | ATTR_THREADSAFE, ALLOC_POOL_64KB, 1); AREA = MtScalableAllocator(Area, TYPE_MEM2, 1MB, ATTR_JOBSAFE | ATTR_THREADSAFE, ALLOC_POOL_64KB, 1); ARRAY = MtScalableAllocator(Array/String, TYPE_MEM2, 16MB, ATTR_JOBSAFE | ATTR_THREADSAFE, ALLOC_POOL_64KB, 1); COLLISION = MtScalableAllocator(Collision, TYPE_MEM2, 4MB, ATTR_JOBSAFE | ATTR_THREADSAFE, ALLOC_POOL_64KB, 1); DEVELOP = MtScalableAllocator(Develop, TYPE_MEM2, 16MB, ATTR_JOBSAFE | ATTR_THREADSAFE, ALLOC_POOL_4KB, 1); DRAW_RESOURCE = RESOURCE; CUBE_MAP = RESOURCE; DMPGL = RESOURCE; NETWORK = SYSTEM; PHYSICS = SYSTEM; EFFECT = UNIT; AI = UNIT; GUI = UNIT; STRING = ARRAY; UI = DEVELOP; } # # Index Section # [Indices] # Default { # ↓--- ここからはMTのインデックスです ---↓--------------------------------------------------- # MTデフォルトのインデックス。 MtUI = UI; MtArray = ARRAY; MtTree = ARRAY; MtMap = ARRAY; MtDtiArray = ARRAY; MtDtiSelecter = ARRAY; MtCollada = COLLADA; MtCollision = COLLISION; MtGeometry = COLLISION; MtCollisionGjk = COLLISION; MtCollisionMpr = COLLISION; MtCollisionEpa = COLLISION; MtCollisionUI = UI; MtCollisionTree = COLLISION; MtUIGraphics = UI; MtCollisionUtil = COLLISION; MtPropertyList = ARRAY; MtAllocator = DEFAULT; MtAllocationProfiler = DEFAULT; MtStream = GLOBAL; MtThread = GLOBAL; MtFile = GLOBAL; MtHistory = DEVELOP; MtPerformance = GLOBAL; MtPerformanceCounter = GLOBAL; MtPerformanceTimer = GLOBAL; # MtFCurve : フェイシャルリソースで使用するため、RESOURCEアロケータに設定 MtFCurve = RESOURCE; MtNetObject = NETWORK; # こちらで入れさせていただきました(大井 2010.11.12) MtMenuAddonInfo = DEVELOP; MtPreProcessor = GLOBAL; MtPreProcessor::Include = GLOBAL; MtPropertyObject = GLOBAL; MtRegistry = GLOBAL; # ↑--- ここまではMTのインデックスです ---↑--------------------------------------------------- # ↓--- ここからはフレームワークのインデックスです ---↓--------------------------------------- cDraw = GLOBAL; # Frameworkデフォルトのインデックス。 cResource = RESOURCE; cSystem = SYSTEM; cUnit = UNIT; cArea = AREA; # sMainとsAppだけはDEFAULTです。 sMain = DEFAULT; sApp = DEFAULT; sResource::RemoteInfo = DEFAULT; nDraw = RESOURCE; nDraw::GpuAllocator = SYSTEM; cPrimObj = SYSTEM; nPrim::PrimVertex = UNIT; cSwingParameters = RESOURCE; cSwing = UNIT; cInstancingDynamic = UNIT; cInstancingFromNulls = UNIT; cInstancingFromMatrices = UNIT; cSCGPlusInstancing = UNIT; cMMapDrawer = UI; cGrassPlacer = UNIT; nGraphComponent::Base = RESOURCE; nPhysics = PHYSICS; cShadowPriorityState = SYSTEM; # cBVHCollision :リソース組み込みを前提とするため、RESOURCEアロケータに設定 # cGridCollision :リソース組み込みを前提とするため、RESOURCEアロケータに設定 # cDynamicBVHCollison :リアルタイム処理に使用することを前提とするクラスであるため、COLLISIONアロケータに設定 # nCollision :リアルタイム処理に使用することを前提とするネームスペースであるため、COLLISIONアロケータに設定 # nCollisionUtil :リアルタイム処理に使用することを前提とするネームスペースであるため、COLLISIONアロケータに設定 sCollision = SYSTEM; cBVHCollision = RESOURCE; cGridCollision = RESOURCE; cDynamicBVHCollision = COLLISION; nCollision = COLLISION; nCollisionUtil = COLLISION; nCollisionUI = UI; cRemoteProcedure = NETWORK; cRemoteCall = NETWORK; nNetwork = NETWORK; cRemoteStatistics = UI; nAI = AI; nAITool = UI; cReleaseNote = UI; cAIObject = AI; cAIResource = RESOURCE; cPropertySearch = DEVELOP; nLua = UNIT; cLua = UNIT; cResourceData = RESOURCE; cWind = SYSTEM; cParticleManager = EFFECT; uBaseEffect = EFFECT; uEffect2D = EFFECT; uSimpleEffect = EFFECT; uEffectEmitter = EFFECT; uMultiFilter = EFFECT; uSynchroColorCorrectFilter = EFFECT; uSynchroPointLight = EFFECT; uSynchroSpotLight = EFFECT; uSynchroLightShaft = EFFECT; uSynchroModel = EFFECT; uSynchroGrassWindPoint = EFFECT; uSynchroGrassWindDirection = EFFECT; uSynchroGrassWindLine = EFFECT; uSynchroAdhesion = EFFECT; sEffect::ResourceSearch = SYSTEM; sEffect::Profiler::List = UI; rEffectAnimXml::SeqPatEdit = RESOURCE; rEffectAnimXml::SeqIndexEdit = RESOURCE; EffectStripParts = RESOURCE; rNullsXml::NullObj = RESOURCE; tResourceSearch::Condition = UI; tResourceSearch::ResourceInfo = UI; tResourceSearch::Node = UI; sApp::Item = SYSTEM; nPad = SYSTEM; nApplet = SYSTEM; nCec = SYSTEM; # GUI nGUI = GUI; uGUI = GUI; cGUIObject = GUI; cGUIInstance = GUI; cGUIVariable = GUI; cGUIMessageAnalyzer = GUI; cGUIFontFilter = GUI; # 開発用 nGUI::Track = DEVELOP; rGUIIconInfoXml::IconInfo = DEVELOP; tGUIParamProperty = DEVELOP; tGUIParamArrayProperty = DEVELOP; nGUITool::AnimationOptimizer::LogData = DEVELOP; nGUITool::UIManipulator = DEVELOP; cGUIMessageError = DEVELOP; cGUIMessageError::Error = DEVELOP; cGUIMessageError::PageError = DEVELOP; nZone = RESOURCE; cZoneListener = UNIT; cZoneContents = UNIT; cZoneLayout = SYSTEM; cZoneDebugDraw = UI; cMessageCapability = UI; nZoneUI = UI; sToolBase = DEVELOP; cMetaSetPropertyData = RESOURCE; cGadgetFolder = DEVELOP; cGadget = DEVELOP; cKeyword = GLOBAL; cSoundLayoutInfo = RESOURCE; uSoundZoneBase::cGroupManager = UNIT; nHID = RESOURCE; nYuv = RESOURCE; nNgc = SYSTEM; nDownloadPlay = SYSTEM; # VRAMへのDMA転送用 一時バッファ nDraw::DMABuffer = RESOURCE; cBlendState = GLOBAL; nProfile = SYSTEM; # 内包しているクラスによって決定してます cStateMachineBase::StateBase = NETWORK; cUUID = RESOURCE; # ↑--- ここまではフレームワークのインデックスです ---↑--------------------------------------- # ↓--- ここからはスケルトンのインデックスです ---↓------------------------------------------- # ↑--- ここまではスケルトンのインデックスです ---↑------------------------------------------- }