SuperMarioOdysseyOnline/source/al/execute/ExecuteTables.cpp

480 lines
38 KiB
C++
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#include <string_view>
#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, ""},
// ワールド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, ""},
{"[地形前]", "ActorModelDrawDeferred", 16, ""},
{"[地形前ディファード不透明のみ]", "ActorModelDrawDeferredOpa", 16, ""},
{"プレイヤー[地形前]", "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, ""},
{"", "ActorModelDrawDeferred", 96, ""},
{"[ディファードのみ]", "ActorModelDrawDeferredOnly", 8, ""},
{"[ディファード不透明のみ]", "ActorModelDrawDeferredOpa", 8, ""},
{"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, ""},
{"[ディファード半透明]", "ActorModelDrawDeferredXlu", 8, ""},
{"[ディファード半透明のみ]", "ActorModelDrawDeferredXlu", 8, ""},
{"アイテム[ディファード半透明]", "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, ""},
{"[フォワード]", "ActorModelDraw", 32, ""},
{"[フォワードのみ]", "ActorModelDrawForwardOnly", 8, ""},
{"アイテム[フォワード]", "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, ""},
{"[インダイレクト]", "ActorModelDrawIndirect", 32, ""},
{"[インダイレクトのみ]", "ActorModelDrawIndirectOnly", 8, ""},
{"アイテム[インダイレクト]", "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, ""},
{"[フォグ後]", "ActorModelDraw", 8, ""},
{"[フォグ後のみ]", "ActorModelDrawForwardOnly", 8, ""},
// 3D(クロマキーZプリパス)
{"Zプリパス[プレイヤークロマキー]", "ActorModelDrawDepthChromakey", 208, "プレイヤー"},
{"Zプリパス[NPCクロマキー]", "ActorModelDrawDepthChromakey", 32, ""},
{"Zプリパス[ディザクロマキー]", "ActorModelDrawDitherChromakey", 208, "プレイヤー"},
// 3D(クロマキープレイヤー)
{"プレイヤー[クロマキー]", "ActorModelDrawPlayerChromakey", 208, "プレイヤー"},
{"プレイヤー[クロマキー不透明]", "ActorModelDrawPlayerChromakeyOpa", 208, "プレイヤー"},
{"プレイヤー[クロマキー半透明]", "ActorModelDrawPlayerChromakeyXlu", 64, "プレイヤー"},
// 3D(クロマキーキャラクター)
{"[クロマキー]", "ActorModelDrawCharacterChromakey", 32, ""},
// 2Dバック(メイン画面)
{"2Dバック", "LayoutDraw", 64, "レイアウト"},
// 2Dベース(メイン画面)
{"2Dベース", "LayoutDraw", 32, "レイアウト"},
{"2D情報バルーン", "LayoutDraw", 64, "レイアウト"},
{"2D会話バルーン", "LayoutDraw", 128, "レイアウト"},
{"", "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, "地形"},
{"", "ActorMovementCalcAnim", 64, ""},
{"NPC装飾", "ActorMovementCalcAnim", 32, ""},
{"帽子装着位置更新", "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, "システム"},
{"", "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("ワールド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", "[フォグ後のみ]", "ActorModelDrawForwardOnly"),
createDrawTable("3D(クロマキーZプリパス)", "Zプリパス[プレイヤークロマキー]", "ActorModelDrawDepthChromakey", "Zプリパス[ディザクロマキー]", "ActorModelDrawDitherChromakey"),
createDrawTable("3D(クロマキープレイヤー)", "プレイヤー[クロマキー]", "ActorModelDrawPlayerChromakey", "プレイヤー[クロマキー半透明]", "ActorModelDrawPlayerChromakeyXlu"),
createDrawTable("3D(クロマキーキャラクター)", "[クロマキー]", "ActorModelDrawCharacterChromakey", "[クロマキー]", "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]);