#include #include "al/execute/ExecuteOrder.h" #include "al/execute/ExecuteTable.h" #include "al/execute/ExecuteTableHolderDraw.h" #include "al/execute/ExecuteTableHolderUpdate.h" static constexpr al::ExecuteOrder drawTableArr[] = { // 3D(カリング) {"カリング", "ActorModelDrawCulling", 512, "システム"}, // 3D(デプスシャドウ) {"デプスシャドウ[キャラクター]", "ActorModelDrawDepthShadow", 192, "影"}, {"デプスシャドウ[地形]", "ActorModelDrawDepthShadow", 192, "影"}, {"デプスシャドウ[マーチングキューブ]", "ActorModelDrawDepthShadowMarchingCube", 16, "影"}, {"デプスシャドウ[独自]", "Functor", 16, "影"}, // 3D(デプスシャドウプレイヤー) {"デプスシャドウ[プレイヤー]", "ActorModelDrawDepthShadow", 128, "影"}, {"Mii[顔モデル](デプスシャドウ)", "Draw", 8, "影"}, // 3D(スタティックデプスシャドウ) {"スタティックデプスシャドウ[地形]", "ActorModelDrawStaticDepthShadow", 128, "影"}, // 3D(ワールドAo) {"ワールドAo[地形]", "ActorModelDrawWorldAo", 192, "影"}, // 3D(海用デプス) {"海用デプス[浜辺]", "ActorModelDrawWorldAo", 8, "影"}, {"海用デプス[高さ]", "ActorModelDrawWorldAo", 8, "影"}, // 3D(空) {"空", "ActorModelDraw", 8, "地形"}, // 3D(不透明Zプリパス) {"Zプリパス[カリング]", "ActorModelDrawDepthOnly", 512, "地形"}, {"Zプリパス[キャラクター]", "ActorModelDrawDepthOnly", 128, "敵"}, {"Zプリパス[地形]", "ActorModelDrawDepthOnly", 128, "地形"}, {"Zプリパス[遠景]", "ActorModelDrawDepthOnly", 128, "地形"}, {"Zプリパス[ディザ]", "ActorModelDrawDepthDither", 196, "敵"}, {"プレイヤー", "ActorModelDrawDepthDither", 196, "プレイヤー"}, // 3D(ディファード地形) {"地形オブジェ[地形前]", "ActorModelDrawDeferred", 128, "地形オブジェ"}, {"地形オブジェ[地形前ディファードのみ]", "ActorModelDrawDeferredOnly", 32, "地形オブジェ"}, {"地形オブジェ[地形前ディファード不透明のみ]", "ActorModelDrawDeferredOpa", 16, "地形オブジェ"}, {"敵[地形前]", "ActorModelDrawDeferred", 16, "敵"}, {"敵[地形前ディファード不透明のみ]", "ActorModelDrawDeferredOpa", 16, "敵"}, {"NPC[地形前]", "ActorModelDrawDeferred", 16, "NPC"}, {"NPC[地形前ディファード不透明のみ]", "ActorModelDrawDeferredOpa", 16, "NPC"}, {"プレイヤー[地形前]", "ActorModelDrawDeferred", 16, "プレイヤー"}, {"地形[浮遊]", "ActorModelDrawDeferred", 32, "地形"}, {"地形", "ActorModelDrawDeferred", 256, "地形"}, {"地形[ディファード]", "ActorModelDrawDeferredOnly", 32, "地形"}, {"地形[ディファードのみ]", "ActorModelDrawDeferredOnly", 32, "地形"}, {"地形[ディファード不透明]", "ActorModelDrawDeferredOpa", 16, "地形"}, {"地形[ディファード不透明のみ]", "ActorModelDrawDeferredOpa", 64, "地形"}, {"地形[埋没]", "ActorModelDrawDeferred", 32, "地形"}, // 3D(ディファード鏡映り込みなし) {"地形[鏡映り込みなし]", "ActorModelDrawDeferred", 32, "地形"}, // 3D(ディファードキャラクター) {"シャドウマスク[地形オブジェ]", "Draw", 3, "影"}, {"足跡", "ActorModelDrawDeferredFootPrint", 4, "プレイヤー"}, {"地形オブジェ", "ActorModelDrawDeferred", 128, "地形オブジェ"}, {"地形オブジェ[ディファードのみ]", "ActorModelDrawDeferredOnly", 16, "地形オブジェ"}, {"地形オブジェ[ディファード不透明のみ]", "ActorModelDrawDeferredOpa", 16, "地形オブジェ"}, {"地形オブジェ[マーチングキューブ]", "ActorModelDrawDeferredMarchingCube", 32, "地形オブジェ"}, {"地形[地形オブジェ後]", "ActorModelDrawDeferred", 32, "地形"}, {"敵[シルエット前]", "ActorModelDrawDeferred", 128, "敵"}, {"アクター描画[シルエット前]", "ActorDraw", 8, "アクター"}, {"シルエット[プレイヤー]", "ActorModelDrawDeferredSilhouette", 196, "プレイヤー"}, {"シルエット[オブジェ]", "ActorModelDrawDeferredSilhouette", 64, "地形オブジェ"}, {"シルエットモデル[敵]", "ActorModelDrawDeferred", 64, "敵"}, {"地形[シルエット後]", "ActorModelDrawDeferred", 32, "地形"}, {"地形オブジェ[シルエット後]", "ActorModelDrawDeferred", 32, "地形オブジェ"}, {"シャドウマスク[敵]", "Draw", 3, "影"}, {"敵", "ActorModelDrawDeferred", 128, "敵"}, {"敵[ディファードのみ]", "ActorModelDrawDeferredOnly", 16, "敵"}, {"敵[ディファード不透明のみ]", "ActorModelDrawDeferredOpa", 16, "敵"}, {"NPC", "ActorModelDrawDeferred", 96, "NPC"}, {"NPC[ディファードのみ]", "ActorModelDrawDeferredOnly", 8, "NPC"}, {"NPC[ディファード不透明のみ]", "ActorModelDrawDeferredOpa", 8, "NPC"}, {"Mii[顔モデル]", "Draw", 4, "システム"}, {"シャドウマスク[アイテム]", "Draw", 3, "影"}, {"アイテム", "ActorModelDrawDeferred", 64, "アイテム"}, {"アイテム[ディファードのみ]", "ActorModelDrawDeferredOnly", 8, "アイテム"}, {"アイテム[ディファード不透明のみ]", "ActorModelDrawDeferredOpa", 8, "アイテム"}, // 3D(ディファード異空間) {"異空間オブジェ", "ActorModelDrawDeferred", 64, "地形オブジェ"}, // 3D(ディファードプレイヤー) {"シャドウマスク[プレイヤー]", "Draw", 4, "影"}, {"プレイヤー", "ActorModelDrawDeferred", 196, "プレイヤー"}, {"プレイヤー装飾", "ActorModelDrawDeferred", 32, "プレイヤー"}, {"プレイヤー装飾[ディファード不透明のみ]", "ActorModelDrawDeferredOpa", 16, "プレイヤー"}, // 3D(ディファード中景) {"地形オブジェ[キャラ後]", "ActorModelDrawDeferred", 32, "地形オブジェ"}, {"シャドウマスク[ブロック]", "Draw", 3, "影"}, {"中景", "ActorModelDrawDeferred", 8, "地形"}, {"中景[ディファードのみ]", "ActorModelDrawDeferredOnly", 8, "地形"}, {"中景[ディファード不透明のみ]", "ActorModelDrawDeferredOpa", 8, "地形"}, {"大気散乱", "Draw", 1, "地形"}, {"ディファード空", "ActorModelDrawDeferredSky", 16, "地形"}, {"ディファード空[デモ]", "ActorModelDrawDeferredSky", 8, "地形"}, // 3D(ディファード半透明) {"地形[ディファード半透明]", "ActorModelDrawDeferredXlu", 8, "地形"}, {"地形[ディファード半透明のみ]", "ActorModelDrawDeferredXlu", 8, "地形"}, {"地形オブジェ[ディファード半透明]", "ActorModelDrawDeferredXlu", 8, "地形オブジェ"}, {"地形オブジェ[ディファード半透明のみ]", "ActorModelDrawDeferredXlu", 8, "地形オブジェ"}, {"敵[ディファード半透明]", "ActorModelDrawDeferredXlu", 8, "敵"}, {"敵[ディファード半透明のみ]", "ActorModelDrawDeferredXlu", 8, "敵"}, {"NPC[ディファード半透明]", "ActorModelDrawDeferredXlu", 8, "NPC"}, {"NPC[ディファード半透明のみ]", "ActorModelDrawDeferredXlu", 8, "NPC"}, {"アイテム[ディファード半透明]", "ActorModelDrawDeferredXlu", 8, "アイテム"}, {"アイテム[ディファード半透明のみ]", "ActorModelDrawDeferredXlu", 8, "アイテム"}, {"プレイヤー装飾[ディファード半透明]", "ActorModelDrawDeferredXlu", 8, "プレイヤー"}, {"プレイヤー装飾[ディファード半透明のみ]", "ActorModelDrawDeferredXlu", 16, "プレイヤー"}, {"シャドウマスク[モデルライト後]", "Draw", 4, "影"}, {"アクター描画", "ActorDraw", 8, "アクター"}, // 3D(デプスクリアプレイヤー) {"プレイヤー", "ActorModelDrawDepthForce", 196, "プレイヤー"}, {"プレイヤー装飾[ディファード不透明のみ]", "ActorModelDrawDepthForce", 16, "プレイヤー"}, {"プレイヤー装飾[ディファード半透明のみ]", "ActorModelDrawDepthForce", 16, "プレイヤー"}, {"プレイヤー装飾[フォワードのみ]", "ActorModelDrawDepthForce", 16, "プレイヤー"}, {"プレイヤー装飾[インダイレクトのみ]", "ActorModelDrawDepthForce", 16, "プレイヤー"}, // 3D(フォワード遠景) {"遠景[ライトバッファ]", "ActorModelDraw", 8, "地形"}, {"遠景[ライトバッファのみ]", "ActorModelDrawForwardOnly", 8, "地形"}, {"大気散乱雲遠距離[ライトバッファ]", "ActorModelDraw", 8, "地形"}, {"大気散乱雲遠距離[ライトバッファのみ]", "ActorModelDrawForwardOnly", 8, "地形"}, {"大気散乱雲[ライトバッファ]", "ActorModelDraw", 8, "地形"}, {"大気散乱雲[ライトバッファのみ]", "ActorModelDrawForwardOnly", 8, "地形"}, {"大気散乱雲近距離[ライトバッファ]", "ActorModelDraw", 8, "地形"}, {"大気散乱雲近距離[ライトバッファのみ]", "ActorModelDrawForwardOnly", 8, "地形"}, // 3D(フォワードプレイヤー) {"Zプリパス[プレイヤー]", "ActorModelDrawDepthOnly", 32, "プレイヤー"}, {"プレイヤー[地形前]", "ActorModelDrawForwardForce", 16, "プレイヤー"}, {"プレイヤー", "ActorModelDrawForwardForce", 196, "プレイヤー"}, {"Zプリパス[プレイヤー装飾]", "ActorModelDrawDepthDither", 128, "プレイヤー"}, {"プレイヤー装飾", "ActorModelDrawForwardForce", 32, "プレイヤー"}, {"プレイヤー装飾[ディファード不透明のみ]", "ActorModelDrawForwardForce", 16, "プレイヤー"}, // 3D(フォワード) {"半透明Zプリパス", "ActorModelDrawDepthXlu", 8, "地形"}, {"フォワードZプリパス[ディザ]", "ActorModelDrawDepthDither", 8, "地形"}, {"中景[フォワード]", "ActorModelDraw", 8, "地形"}, {"中景[フォワードのみ]", "ActorModelDrawForwardOnly", 8, "地形"}, {"大気散乱雲[フォワード]", "ActorModelDraw", 8, "地形"}, {"大気散乱雲[フォワードのみ]", "ActorModelDrawForwardOnly", 8, "地形"}, {"地形[フォワード]", "ActorModelDraw", 32, "地形"}, {"地形[フォワードのみ]", "ActorModelDrawForwardOnly", 48, "地形"}, {"地形オブジェ[フォワード]", "ActorModelDraw", 32, "地形オブジェ"}, {"地形オブジェ[フォワードのみ]", "ActorModelDrawForwardOnly", 32, "地形オブジェ"}, {"敵[フォワード]", "ActorModelDraw", 32, "敵"}, {"敵[フォワードのみ]", "ActorModelDrawForwardOnly", 16, "敵"}, {"NPC[フォワード]", "ActorModelDraw", 32, "NPC"}, {"NPC[フォワードのみ]", "ActorModelDrawForwardOnly", 8, "NPC"}, {"アイテム[フォワード]", "ActorModelDraw", 32, "アイテム"}, {"アイテム[フォワードのみ]", "ActorModelDrawForwardOnly", 8, "アイテム"}, {"プレイヤー[フォワード]", "ActorModelDraw", 8, "プレイヤー"}, {"プレイヤー装飾[フォワード]", "ActorModelDraw", 8, "プレイヤー"}, {"プレイヤー装飾[フォワードのみ]", "ActorModelDrawForwardOnly", 16, "プレイヤー"}, {"アクター描画[フォワード]", "ActorDraw", 8, "アクター"}, // 3D(インダイレクト) {"半透明Zプリパス[インダイレクト]", "ActorModelDrawDepthIndirect", 8, "地形"}, {"インダイレクトZプリパス[ディザ]", "ActorModelDrawDepthDitherIndirect", 8, "地形"}, {"地形[インダイレクト]", "ActorModelDrawIndirect", 32, "地形"}, {"地形[インダイレクトのみ]", "ActorModelDrawIndirectOnly", 16, "地形"}, {"地形オブジェ[インダイレクト]", "ActorModelDrawIndirect", 32, "地形オブジェ"}, {"地形オブジェ[インダイレクトのみ]", "ActorModelDrawIndirectOnly", 32, "地形オブジェ"}, {"コイン[インダイレクト]", "ActorModelDrawIndirect", 8, "アイテム"}, {"ルート土管内側[インダイレクト]", "ActorModelDrawIndirect", 32, "地形オブジェ"}, {"ルート土管外側[インダイレクト]", "ActorModelDrawIndirect", 32, "地形オブジェ"}, {"敵[インダイレクト]", "ActorModelDrawIndirect", 32, "敵"}, {"敵[インダイレクトのみ]", "ActorModelDrawIndirectOnly", 8, "敵"}, {"NPC[インダイレクト]", "ActorModelDrawIndirect", 32, "NPC"}, {"NPC[インダイレクトのみ]", "ActorModelDrawIndirectOnly", 8, "NPC"}, {"アイテム[インダイレクト]", "ActorModelDrawIndirect", 32, "アイテム"}, {"アイテム[インダイレクトのみ]", "ActorModelDrawIndirectOnly", 32, "アイテム"}, {"プレイヤー装飾[インダイレクト]", "ActorModelDrawIndirect", 8, "プレイヤー"}, {"プレイヤー装飾[インダイレクトのみ]", "ActorModelDrawIndirectOnly", 8, "プレイヤー"}, {"アクター描画[インダイレクト]", "ActorDraw", 8, "アクター"}, // 3D(インダイレクト後フォワード) {"半透明Zプリパス[インダイレクト後]", "ActorModelDrawDepthIndirect", 8, "地形"}, {"地形オブジェ[フォワードインダイレクト後のみ]", "ActorModelDrawForwardOnly", 8, "地形オブジェ"}, {"敵[フォワードインダイレクト後]", "ActorModelDraw", 32, "敵"}, // 3D(インダイレクト後遠景) {"大気散乱雲[インダイレクト後]", "ActorModelDraw", 8, "地形"}, {"大気散乱雲[インダイレクト後のみ]", "ActorModelDrawForwardOnly", 8, "地形"}, // 3D(フォグ後インダイレクト) {"地形[インダイレクトフォグ後]", "ActorModelDrawIndirect", 8, "地形"}, {"地形[インダイレクトフォグ後のみ]", "ActorModelDrawIndirectOnly", 8, "地形"}, {"敵[インダイレクトフォグ後]", "ActorModelDrawIndirect", 8, "敵"}, {"敵[インダイレクトフォグ後のみ]", "ActorModelDrawIndirectOnly", 8, "敵"}, {"アイテム[インダイレクトフォグ後]", "ActorModelDrawIndirect", 32, "アイテム"}, {"アイテム[インダイレクトフォグ後のみ]", "ActorModelDrawIndirectOnly", 32, "アイテム"}, // 3D(フォグ後遠景) {"遠景[フォグ後]", "ActorModelDraw", 8, "地形"}, {"遠景[フォグ後のみ]", "ActorModelDrawForwardOnly", 8, "地形"}, {"大気散乱雲[フォグ後]", "ActorModelDraw", 8, "地形"}, {"大気散乱雲[フォグ後のみ]", "ActorModelDrawForwardOnly", 8, "地形"}, // 3D(フォグ後) {"半透明Zプリパス[フォグ後]", "ActorModelDrawDepthXlu", 8, "地形"}, {"地形[フォグ後]", "ActorModelDraw", 8, "地形"}, {"地形[フォグ後のみ]", "ActorModelDrawForwardOnly", 8, "地形"}, {"地形オブジェ[フォグ後]", "ActorModelDraw", 8, "地形オブジェ"}, {"地形オブジェ[フォグ後のみ]", "ActorModelDrawForwardOnly", 8, "地形オブジェ"}, {"敵[フォグ後]", "ActorModelDraw", 8, "敵"}, {"敵[フォグ後のみ]", "ActorModelDrawForwardOnly", 8, "敵"}, {"NPC[フォグ後]", "ActorModelDraw", 8, "NPC"}, {"NPC[フォグ後のみ]", "ActorModelDrawForwardOnly", 8, "NPC"}, // 3D(クロマキーZプリパス) {"Zプリパス[プレイヤークロマキー]", "ActorModelDrawDepthChromakey", 208, "プレイヤー"}, {"Zプリパス[NPCクロマキー]", "ActorModelDrawDepthChromakey", 32, "NPC"}, {"Zプリパス[ディザクロマキー]", "ActorModelDrawDitherChromakey", 208, "プレイヤー"}, // 3D(クロマキープレイヤー) {"プレイヤー[クロマキー]", "ActorModelDrawPlayerChromakey", 208, "プレイヤー"}, {"プレイヤー[クロマキー不透明]", "ActorModelDrawPlayerChromakeyOpa", 208, "プレイヤー"}, {"プレイヤー[クロマキー半透明]", "ActorModelDrawPlayerChromakeyXlu", 64, "プレイヤー"}, // 3D(クロマキーキャラクター) {"NPC[クロマキー]", "ActorModelDrawCharacterChromakey", 32, "NPC"}, // 2Dバック(メイン画面) {"2Dバック", "LayoutDraw", 64, "レイアウト"}, // 2Dベース(メイン画面) {"2Dベース", "LayoutDraw", 32, "レイアウト"}, {"2D情報バルーン", "LayoutDraw", 64, "レイアウト"}, {"2D会話バルーン", "LayoutDraw", 128, "レイアウト"}, {"2D", "LayoutDraw", 256, "レイアウト"}, {"2Dフィルターバルーン", "LayoutDraw", 64, "レイアウト"}, {"2Dフィルター", "LayoutDraw", 32, "レイアウト"}, {"2D(メイン画面のみ)", "LayoutDraw", 32, "レイアウト"}, {"2Dガイド", "LayoutDraw", 64, "レイアウト"}, {"2Dカウンター", "LayoutDraw", 32, "レイアウト"}, {"2Dマップアイコン", "LayoutDraw", 32, "レイアウト"}, {"2D通知", "LayoutDraw", 8, "レイアウト"}, // 2Dエフェクト(メイン画面) {"2Dベースエフェクト", "Draw", 1, "エフェクト"}, // 2Dオーバー(メイン画面) {"2Dヘッド", "LayoutDraw", 16, "レイアウト"}, {"2Dポーズ", "LayoutDraw", 32, "レイアウト"}, {"2Dランキング", "LayoutDraw", 4, "レイアウト"}, {"2Dライン", "LayoutDraw", 8, "レイアウト"}, {"2Dアイコン[最低]", "LayoutDraw", 32, "レイアウト"}, {"2Dアイコン[低]", "LayoutDraw", 32, "レイアウト"}, {"2Dアイコン[中]", "LayoutDraw", 16, "レイアウト"}, {"2Dアイコン[高]", "LayoutDraw", 356, "レイアウト"}, {"2Dアイコン[最高]", "LayoutDraw", 16, "レイアウト"}, {"2Dカーソル", "LayoutDraw", 12, "レイアウト"}, {"2Dリスト", "LayoutDraw", 12, "レイアウト"}, {"2Dリストアイコン", "LayoutDraw", 256, "レイアウト"}, {"2Dリストカーソル", "LayoutDraw", 8, "レイアウト"}, {"2Dゲームオーバー", "LayoutDraw", 8, "レイアウト"}, {"2Dカバー", "LayoutDraw", 8, "レイアウト"}, {"2Dエフェクト", "Draw", 1, "エフェクト"}, {"2Dワイプ[ウィンドウ前]", "LayoutDraw", 4, "レイアウト"}, {"2Dウィンドウ", "LayoutDraw", 24, "レイアウト"}, {"2Dウィンドウカウンター", "LayoutDraw", 8, "レイアウト"}, {"2Dワイプ", "LayoutDraw", 48, "レイアウト"}, {"2Dリザルト", "LayoutDraw", 4, "レイアウト"}, // 2D(デモ画面) {"2Dデモベース", "LayoutDraw", 16, "レイアウト"}, {"2Dデモ", "LayoutDraw", 96, "レイアウト"}, {"2Dデモ情報バルーン", "LayoutDraw", 16, "レイアウト"}, {"2Dデモライン", "LayoutDraw", 8, "レイアウト"}, {"2Dデモアイコン", "LayoutDraw", 196, "レイアウト"}, {"2Dデモアイコンオーバー", "LayoutDraw", 128, "レイアウト"}, {"2Dデモアイコンプレイヤー", "LayoutDraw", 4, "レイアウト"}, {"2Dデモカーソル", "LayoutDraw", 8, "レイアウト"}, // ポストエフェクトマスク {"ポストエフェクトマスク", "ActorModelDrawPostEffectMask", 32, "地形"}, // アクター描画(独自レンダーターゲット) {"アクター描画[独自レンダーターゲット]", "ActorDraw", 8, "アクター"}, // アクター描画(プロジェクト固有) {"アクター描画(プロジェクト固有)", "ActorDraw", 8, "アクター"}, // モデル描画バッファ更新 {"モデル描画バッファ更新", "ActorModelDrawUpdate", 1024, "システム"}, // 3D(ワールドマップディファード) {"ワールドマップ地形", "ActorModelDrawDeferred", 128, "地形"}, {"ワールドマップ地形[ディファードのみ]", "ActorModelDrawDeferredOnly", 8, "地形"}, {"ワールドマップディファード空", "ActorModelDrawDeferredSky", 8, "地形"}, {"ワールドマップ地形[ディファード半透明]", "ActorModelDrawDeferredXlu", 16, "地形"}, // 3D(ワールドマップフォワード) {"ワールドマップ地形[フォワード]", "ActorModelDraw", 32, "地形"}, {"ワールドマップ地形[フォワードのみ]", "ActorModelDrawForwardOnly", 8, "地形"}, {"ワールドマップ地形オブジェ[フォワード]", "ActorModelDraw", 8, "地形オブジェ"}, // 2D(ワールドマップ画面) {"2Dワールドマップベース", "LayoutDraw", 32, "レイアウト"}, {"2Dワールドマップ", "LayoutDraw", 32, "レイアウト"}, // 2D(ムーンゲット画面) {"2D(ムーンゲット)", "LayoutDraw", 8, "レイアウト"}, {"2Dカウンター(ムーンゲット)", "LayoutDraw", 1, "レイアウト"}, {"2Dワイプ(ムーンゲット)", "LayoutDraw", 4, "レイアウト"}, // 2D(スナップショット) {"2Dスナップショット", "LayoutDraw", 3, "レイアウト"}, // 2D(撮影用) {"2D撮影用", "LayoutDraw", 16, "レイアウト"}, // 2D(ミス) {"2Dミス", "LayoutDraw", 2, "レイアウト"}, // Custom Entries {"PuppetActor", "ActorModelDrawDeferred", 512, "ボス"} }; static constexpr al::ExecuteOrder updateTableArr[] = { // Update Table Name: 更新 {"ステージ同期カウンタ", "Execute", 1, "システム"}, {"乗り物(カメラ前)[Movement]", "ActorMovement", 8, "乗り物"}, {"カメラ前プレイヤー[Movement]", "ActorMovement", 16, "プレイヤー"}, {"カメラ前プレイヤー", "ActorMovementCalcAnim", 16, "プレイヤー"}, {"カメラ", "Execute", 1, "カメラ"}, {"クリッピング", "Execute", 1, "システム"}, {"センサー", "Execute", 1, "システム"}, {"試作用処理1", "Execute", 2, "システム"}, {"試作用処理2", "Execute", 8, "システム"}, {"試作用処理3", "Execute", 2, "システム"}, {"試作用処理4", "Execute", 1, "システム"}, {"空", "ActorMovementCalcAnim", 16, "地形"}, {"波", "ActorMovement", 16, "地形"}, {"遠景", "ActorMovementCalcAnim", 8, "地形"}, {"コリジョン地形", "ActorMovementCalcAnim", 256, "地形"}, {"コリジョン地形[デモ]", "ActorMovementCalcAnim", 64, "地形"}, {"コリジョン地形[Movement]", "ActorMovement", 32, "地形"}, {"コリジョン地形装飾", "ActorMovementCalcAnim", 32, "地形"}, {"コリジョン地形装飾[Movement]", "ActorMovement", 32, "地形"}, {"コリジョン地形オブジェ", "ActorMovementCalcAnim", 64, "地形オブジェ"}, {"コリジョン地形オブジェ[Movement]", "ActorMovement", 32, "地形オブジェ"}, {"コリジョンディレクター", "Execute", 1, "システム"}, {"地形オブジェ", "ActorMovementCalcAnim", 128, "地形オブジェ"}, {"地形オブジェ[Movement]", "ActorMovement", 32, "地形オブジェ"}, {"地形オブジェ装飾", "ActorMovementCalcAnim", 32, "地形オブジェ"}, {"乗り物", "ActorMovementCalcAnim", 32, "乗り物"}, {"エフェクトオブジェ", "ActorMovement", 32, "エフェクト"}, {"デモプレイヤーロケーター", "ActorMovementCalcAnim", 4, "プレイヤー"}, {"デモプレイヤー前処理", "ActorMovement", 16, "プレイヤー"}, {"プレイヤー前処理", "Functor", 1, "プレイヤー"}, {"プレイヤー[Movement]", "ActorMovement", 16, "プレイヤー"}, {"プレイヤー", "ActorMovementCalcAnim", 128, "プレイヤー"}, {"プレイヤー後処理", "Functor", 1, "プレイヤー"}, {"プレイヤー装飾", "ActorMovementCalcAnim", 64, "プレイヤー"}, {"プレイヤー装飾2", "ActorMovementCalcAnim", 64, "プレイヤー"}, {"帽子(武器)", "ActorMovementCalcAnim", 1, "アイテム"}, {"帽子(表示)", "ActorMovementCalcAnim", 16, "アイテム"}, {"敵", "ActorMovementCalcAnim", 128, "敵"}, {"敵[Movement]", "ActorMovement", 32, "敵"}, {"敵装飾", "ActorMovementCalcAnim", 32, "敵"}, {"敵装飾[Movement]", "ActorMovement", 32, "敵"}, {"デモ", "ActorMovementCalcAnim", 32, "地形"}, {"デモ装飾", "ActorMovementCalcAnim", 32, "地形"}, {"デモオブジェクト", "ActorMovement", 32, "地形"}, {"NPC", "ActorMovementCalcAnim", 64, "NPC"}, {"NPC装飾", "ActorMovementCalcAnim", 32, "NPC"}, {"帽子装着位置更新", "Functor", 8, "システム"}, {"NPCイベントディレクター", "Execute", 1, "システム"}, {"エリア監視オブジェ", "Execute", 8, "システム"}, {"通知レイアウト更新", "Execute", 3, "システム"}, {"バルーン位置更新", "Execute", 1, "システム"}, {"ネットワーク", "Execute", 2, "システム"}, {"プレイヤーゴースト管理", "Execute", 1, "プレイヤー"}, {"エコーエミッター管理", "Execute", 1, "地形オブジェ"}, {"メッシュ変形モデル管理", "Execute", 1, "地形オブジェ"}, {"アイテム", "ActorMovementCalcAnim", 64, "アイテム"}, {"アイテム[デモ]", "ActorMovementCalcAnim", 64, "アイテム"}, {"アイテム[Movement]", "ActorMovement", 16, "アイテム"}, {"シャドウマスク", "ActorMovement", 64, "影"}, {"グラフィックス要求者", "ActorMovement", 64, "システム"}, {"プロジェクト用グラフィックス", "Execute", 64, "システム"}, {"監視オブジェ", "ActorMovement", 32, "システム"}, {"キッズルートガイド管理", "ActorMovement", 1, "システム"}, {"キッズルートガイド", "ActorMovementCalcAnim", 4, "システム"}, {"サウンド制御", "ActorMovement", 10, "システム"}, {"ステージスイッチディレクター", "Execute", 1, "システム"}, {"2D", "LayoutUpdate", 404, "レイアウト"}, {"2D(ポーズ無視)", "LayoutUpdate", 360, "レイアウト"}, {"エフェクト(前処理)", "Functor", 1, "エフェクト"}, {"エフェクト(3D)", "Execute", 1, "エフェクト"}, {"エフェクト(プレイヤー)", "Execute", 1, "エフェクト"}, {"エフェクト(Zソート)", "Execute", 1, "エフェクト"}, {"エフェクト(カメラデモ)", "Execute", 1, "エフェクト"}, {"エフェクト(カメラ前エフェクト)", "Execute", 1, "エフェクト"}, {"エフェクト(ベース2D)", "Execute", 1, "エフェクト"}, {"エフェクト(2D)", "Execute", 1, "エフェクト"}, {"エフェクト(後処理)", "Functor", 1, "エフェクト"}, // Update Table Name: ビュー更新(コア1) {"ビュー更新(コア1)", "ActorCalcView", 512, "システム"}, // Update Table Name: ビュー更新(コア2) {"ビュー更新(コア2)", "ActorCalcView", 1024, "システム"}, // Update Table Name: スナップショット {"スナップショット[CalcAnim]", "ActorCalcAnim", 16, "NPC"}, {"スナップショット[ActorMovement]", "ActorMovement", 1, "地形オブジェ"}, // Custom Tables {"PuppetActor", "ActorMovementCalcAnim", 512, "ボス"} }; static constexpr int getUpdateTableIndex(const char* listName) { for (int i = 0; i < sizeof(updateTableArr) / sizeof(updateTableArr[0]); i++) { if (std::string_view(updateTableArr[i].mListName)==listName) { return i; } } return 0; } static constexpr al::ExecuteTable createUpdateTable(const char* tableName, const char* startListName, const char* endListName) { al::ExecuteTable drawTable; drawTable.mName = tableName; int startIndex = getUpdateTableIndex(startListName); drawTable.mExecuteOrders = &updateTableArr[startIndex]; drawTable.mExecuteOrderCount = (getUpdateTableIndex(endListName) - startIndex) + 1; return drawTable; } static constexpr int getDrawTableIndex(const char* listName, const char *groupName) { for (int i = 0; i < sizeof(drawTableArr)/sizeof(drawTableArr[0]); i++) { if (std::string_view(drawTableArr[i].mListName)==listName && std::string_view(drawTableArr[i].mExecuteGroup)==groupName) { return i; } } return 0; } static constexpr al::ExecuteTable createDrawTable(const char* tableName, const char* startListName, const char *groupStartName, const char* endListName, const char *groupEndName) { al::ExecuteTable drawTable; drawTable.mName = tableName; int startIndex = getDrawTableIndex(startListName, groupStartName); drawTable.mExecuteOrders = &drawTableArr[startIndex]; drawTable.mExecuteOrderCount = (getDrawTableIndex(endListName, groupEndName) - startIndex) + 1; return drawTable; } constexpr al::ExecuteTable drawTable[] = { createDrawTable("3D(カリング)", "カリング", "ActorModelDrawCulling", "カリング", "ActorModelDrawCulling"), createDrawTable("3D(デプスシャドウ)", "デプスシャドウ[キャラクター]", "ActorModelDrawDepthShadow", "デプスシャドウ[独自]", "Functor"), createDrawTable("3D(デプスシャドウプレイヤー)", "デプスシャドウ[プレイヤー]", "ActorModelDrawDepthShadow", "Mii[顔モデル](デプスシャドウ)", "Draw"), createDrawTable("3D(スタティックデプスシャドウ)", "スタティックデプスシャドウ[地形]", "ActorModelDrawStaticDepthShadow", "スタティックデプスシャドウ[地形]", "ActorModelDrawStaticDepthShadow"), createDrawTable("3D(ワールドAo)", "ワールドAo[地形]", "ActorModelDrawWorldAo", "ワールドAo[地形]", "ActorModelDrawWorldAo"), createDrawTable("3D(海用デプス)", "海用デプス[浜辺]", "ActorModelDrawWorldAo", "海用デプス[高さ]", "ActorModelDrawWorldAo"), createDrawTable("3D(空)", "空", "ActorModelDraw", "空", "ActorModelDraw"), createDrawTable("3D(不透明Zプリパス)", "Zプリパス[カリング]", "ActorModelDrawDepthOnly", "プレイヤー", "ActorModelDrawDepthDither"), createDrawTable("3D(ディファード地形)", "地形オブジェ[地形前]", "ActorModelDrawDeferred", "地形[埋没]", "ActorModelDrawDeferred"), createDrawTable("3D(ディファード鏡映り込みなし)", "地形[鏡映り込みなし]", "ActorModelDrawDeferred", "地形[鏡映り込みなし]", "ActorModelDrawDeferred"), createDrawTable("3D(ディファードキャラクター)", "シャドウマスク[地形オブジェ]", "Draw", "アイテム[ディファード不透明のみ]", "ActorModelDrawDeferredOpa"), createDrawTable("3D(ディファード異空間)", "異空間オブジェ", "ActorModelDrawDeferred", "異空間オブジェ", "ActorModelDrawDeferred"), createDrawTable("3D(ディファードプレイヤー)", "シャドウマスク[プレイヤー]", "Draw", "プレイヤー装飾[ディファード不透明のみ]", "ActorModelDrawDeferredOpa"), createDrawTable("3D(ディファード中景)", "地形オブジェ[キャラ後]", "ActorModelDrawDeferred", "ディファード空[デモ]", "ActorModelDrawDeferredSky"), createDrawTable("3D(ディファード半透明)", "地形[ディファード半透明]", "ActorModelDrawDeferredXlu", "アクター描画", "ActorDraw"), createDrawTable("3D(デプスクリアプレイヤー)", "プレイヤー", "ActorModelDrawDepthForce", "プレイヤー装飾[インダイレクトのみ]", "ActorModelDrawDepthForce"), createDrawTable("3D(フォワード遠景)", "遠景[ライトバッファ]", "ActorModelDraw", "大気散乱雲近距離[ライトバッファのみ]", "ActorModelDrawForwardOnly"), createDrawTable("3D(フォワードプレイヤー)", "Zプリパス[プレイヤー]", "ActorModelDrawDepthOnly", "プレイヤー装飾[ディファード不透明のみ]", "ActorModelDrawForwardForce"), createDrawTable("3D(フォワード)", "半透明Zプリパス", "ActorModelDrawDepthXlu", "アクター描画[フォワード]", "ActorDraw"), createDrawTable("3D(インダイレクト)", "半透明Zプリパス[インダイレクト]", "ActorModelDrawDepthIndirect", "アクター描画[インダイレクト]", "ActorDraw"), createDrawTable("3D(インダイレクト後フォワード)", "半透明Zプリパス[インダイレクト後]", "ActorModelDrawDepthIndirect", "敵[フォワードインダイレクト後]", "ActorModelDraw"), createDrawTable("3D(インダイレクト後遠景)", "大気散乱雲[インダイレクト後]", "ActorModelDraw", "大気散乱雲[インダイレクト後のみ]", "ActorModelDrawForwardOnly"), createDrawTable("3D(フォグ後インダイレクト)", "地形[インダイレクトフォグ後]", "ActorModelDrawIndirect", "アイテム[インダイレクトフォグ後のみ]", "ActorModelDrawIndirectOnly"), createDrawTable("3D(フォグ後遠景)", "遠景[フォグ後]", "ActorModelDraw", "大気散乱雲[フォグ後のみ]", "ActorModelDrawForwardOnly"), createDrawTable("3D(フォグ後)", "半透明Zプリパス[フォグ後]", "ActorModelDrawDepthXlu", "NPC[フォグ後のみ]", "ActorModelDrawForwardOnly"), createDrawTable("3D(クロマキーZプリパス)", "Zプリパス[プレイヤークロマキー]", "ActorModelDrawDepthChromakey", "Zプリパス[ディザクロマキー]", "ActorModelDrawDitherChromakey"), createDrawTable("3D(クロマキープレイヤー)", "プレイヤー[クロマキー]", "ActorModelDrawPlayerChromakey", "プレイヤー[クロマキー半透明]", "ActorModelDrawPlayerChromakeyXlu"), createDrawTable("3D(クロマキーキャラクター)", "NPC[クロマキー]", "ActorModelDrawCharacterChromakey", "NPC[クロマキー]", "ActorModelDrawCharacterChromakey"), createDrawTable("2Dバック(メイン画面)", "2Dバック", "LayoutDraw", "2Dバック", "LayoutDraw"), createDrawTable("2Dベース(メイン画面)", "2Dベース", "LayoutDraw", "2D通知", "LayoutDraw"), createDrawTable("2Dエフェクト(メイン画面)", "2Dベースエフェクト", "Draw", "2Dベースエフェクト", "Draw"), createDrawTable("2Dオーバー(メイン画面)", "2Dヘッド", "LayoutDraw", "2Dリザルト", "LayoutDraw"), createDrawTable("2D(デモ画面)", "2Dデモベース", "LayoutDraw", "2Dデモカーソル", "LayoutDraw"), createDrawTable("ポストエフェクトマスク", "ポストエフェクトマスク", "ActorModelDrawPostEffectMask", "ポストエフェクトマスク", "ActorModelDrawPostEffectMask"), createDrawTable("アクター描画(独自レンダーターゲット)", "アクター描画[独自レンダーターゲット]", "ActorDraw", "アクター描画[独自レンダーターゲット]", "ActorDraw"), createDrawTable("アクター描画(プロジェクト固有)", "アクター描画(プロジェクト固有)", "ActorDraw", "アクター描画(プロジェクト固有)", "ActorDraw"), createDrawTable("モデル描画バッファ更新", "モデル描画バッファ更新", "ActorModelDrawUpdate", "モデル描画バッファ更新", "ActorModelDrawUpdate"), createDrawTable("3D(ワールドマップディファード)", "ワールドマップ地形", "ActorModelDrawDeferred", "ワールドマップ地形[ディファード半透明]", "ActorModelDrawDeferredXlu"), createDrawTable("3D(ワールドマップフォワード)", "ワールドマップ地形[フォワード]", "ActorModelDraw", "ワールドマップ地形オブジェ[フォワード]", "ActorModelDraw"), createDrawTable("2D(ワールドマップ画面)", "2Dワールドマップベース", "LayoutDraw", "2Dワールドマップ", "LayoutDraw"), createDrawTable("2D(ムーンゲット画面)", "2D(ムーンゲット)", "LayoutDraw", "2Dワイプ(ムーンゲット)", "LayoutDraw"), createDrawTable("2D(スナップショット)", "2Dスナップショット", "LayoutDraw", "2Dスナップショット", "LayoutDraw"), createDrawTable("2D(撮影用)", "2D撮影用", "LayoutDraw", "2D撮影用", "LayoutDraw"), createDrawTable("2D(ミス)", "2Dミス", "LayoutDraw", "2Dミス", "LayoutDraw"), // Custom Tables createDrawTable("OnlineDrawExecutors", "PuppetActor", "ActorModelDrawDeferred", "PuppetActor", "ActorModelDrawDeferred"), }; int drawTableSize = sizeof(drawTable)/sizeof(drawTable[0]); constexpr al::ExecuteTable updateTable[] = { createUpdateTable("更新", "ステージ同期カウンタ", "エフェクト(後処理)"), createUpdateTable("ビュー更新(コア1)", "ビュー更新(コア1)", "ビュー更新(コア1)"), createUpdateTable("ビュー更新(コア2)", "ビュー更新(コア2)", "ビュー更新(コア2)"), createUpdateTable("スナップショット", "スナップショット[CalcAnim]", "スナップショット[ActorMovement]"), // Custom Tables createUpdateTable("OnlineUpdateExecutors", "PuppetActor", "PuppetActor"), }; int updateTableSize = sizeof(updateTable)/sizeof(updateTable[0]);