| 1 | #pragma once |
| 2 | |
| 3 | #include "Library/Execute/ExecuteOrder.h" |
| 4 | #include "Library/Execute/ExecuteTable.h" |
| 5 | #include "Library/Execute/ExecuteTableHolderDraw.h" |
| 6 | #include "Library/Execute/ExecuteTableHolderUpdate.h" |
| 7 | |
| 8 | static constexpr al::ExecuteOrder drawTableArr[] = { |
| 9 | // 3D(カリング) |
| 10 | {.listName: "カリング" , .executeGroup: "ActorModelDrawCulling" , .listMaxSize: 512, .groupType: "システム" }, |
| 11 | // 3D(デプスシャドウ) |
| 12 | {.listName: "デプスシャドウ[キャラクター]" , .executeGroup: "ActorModelDrawDepthShadow" , .listMaxSize: 192, .groupType: "影" }, |
| 13 | {.listName: "デプスシャドウ[地形]" , .executeGroup: "ActorModelDrawDepthShadow" , .listMaxSize: 192, .groupType: "影" }, |
| 14 | {.listName: "デプスシャドウ[マーチングキューブ]" , .executeGroup: "ActorModelDrawDepthShadowMarchingCube" , .listMaxSize: 16, .groupType: "影" }, |
| 15 | {.listName: "デプスシャドウ[独自]" , .executeGroup: "Functor" , .listMaxSize: 16, .groupType: "影" }, |
| 16 | // 3D(デプスシャドウプレイヤー) |
| 17 | {.listName: "デプスシャドウ[プレイヤー]" , .executeGroup: "ActorModelDrawDepthShadow" , .listMaxSize: 128, .groupType: "影" }, |
| 18 | {.listName: "Mii[顔モデル](デプスシャドウ)" , .executeGroup: "Draw" , .listMaxSize: 8, .groupType: "影" }, |
| 19 | // 3D(スタティックデプスシャドウ) |
| 20 | {.listName: "スタティックデプスシャドウ[地形]" , .executeGroup: "ActorModelDrawStaticDepthShadow" , .listMaxSize: 128, .groupType: "影" }, |
| 21 | // 3D(ワールドAo) |
| 22 | {.listName: "ワールドAo[地形]" , .executeGroup: "ActorModelDrawWorldAo" , .listMaxSize: 192, .groupType: "影" }, |
| 23 | // 3D(海用デプス) |
| 24 | {.listName: "海用デプス[浜辺]" , .executeGroup: "ActorModelDrawWorldAo" , .listMaxSize: 8, .groupType: "影" }, |
| 25 | {.listName: "海用デプス[高さ]" , .executeGroup: "ActorModelDrawWorldAo" , .listMaxSize: 8, .groupType: "影" }, |
| 26 | // 3D(空) |
| 27 | {.listName: "空" , .executeGroup: "ActorModelDraw" , .listMaxSize: 8, .groupType: "地形" }, |
| 28 | // 3D(不透明Zプリパス) |
| 29 | {.listName: "Zプリパス[カリング]" , .executeGroup: "ActorModelDrawDepthOnly" , .listMaxSize: 512, .groupType: "地形" }, |
| 30 | {.listName: "Zプリパス[キャラクター]" , .executeGroup: "ActorModelDrawDepthOnly" , .listMaxSize: 128, .groupType: "敵" }, |
| 31 | {.listName: "Zプリパス[地形]" , .executeGroup: "ActorModelDrawDepthOnly" , .listMaxSize: 128, .groupType: "地形" }, |
| 32 | {.listName: "Zプリパス[遠景]" , .executeGroup: "ActorModelDrawDepthOnly" , .listMaxSize: 128, .groupType: "地形" }, |
| 33 | {.listName: "Zプリパス[ディザ]" , .executeGroup: "ActorModelDrawDepthDither" , .listMaxSize: 196, .groupType: "敵" }, |
| 34 | {.listName: "プレイヤー" , .executeGroup: "ActorModelDrawDepthDither" , .listMaxSize: 196, .groupType: "プレイヤー" }, |
| 35 | // 3D(ディファード地形) |
| 36 | {.listName: "地形オブジェ[地形前]" , .executeGroup: "ActorModelDrawDeferred" , .listMaxSize: 128, .groupType: "地形オブジェ" }, |
| 37 | {.listName: "地形オブジェ[地形前ディファードのみ]" , .executeGroup: "ActorModelDrawDeferredOnly" , .listMaxSize: 32, .groupType: "地形オブジェ" }, |
| 38 | {.listName: "地形オブジェ[地形前ディファード不透明のみ]" , .executeGroup: "ActorModelDrawDeferredOpa" , .listMaxSize: 16, .groupType: "地形オブジェ" }, |
| 39 | {.listName: "敵[地形前]" , .executeGroup: "ActorModelDrawDeferred" , .listMaxSize: 16, .groupType: "敵" }, |
| 40 | {.listName: "敵[地形前ディファード不透明のみ]" , .executeGroup: "ActorModelDrawDeferredOpa" , .listMaxSize: 16, .groupType: "敵" }, |
| 41 | {.listName: "NPC[地形前]" , .executeGroup: "ActorModelDrawDeferred" , .listMaxSize: 16, .groupType: "NPC" }, |
| 42 | {.listName: "NPC[地形前ディファード不透明のみ]" , .executeGroup: "ActorModelDrawDeferredOpa" , .listMaxSize: 16, .groupType: "NPC" }, |
| 43 | {.listName: "プレイヤー[地形前]" , .executeGroup: "ActorModelDrawDeferred" , .listMaxSize: 16, .groupType: "プレイヤー" }, |
| 44 | {.listName: "地形[浮遊]" , .executeGroup: "ActorModelDrawDeferred" , .listMaxSize: 32, .groupType: "地形" }, |
| 45 | {.listName: "地形" , .executeGroup: "ActorModelDrawDeferred" , .listMaxSize: 256, .groupType: "地形" }, |
| 46 | {.listName: "地形[ディファード]" , .executeGroup: "ActorModelDrawDeferredOnly" , .listMaxSize: 32, .groupType: "地形" }, |
| 47 | {.listName: "地形[ディファードのみ]" , .executeGroup: "ActorModelDrawDeferredOnly" , .listMaxSize: 32, .groupType: "地形" }, |
| 48 | {.listName: "地形[ディファード不透明]" , .executeGroup: "ActorModelDrawDeferredOpa" , .listMaxSize: 16, .groupType: "地形" }, |
| 49 | {.listName: "地形[ディファード不透明のみ]" , .executeGroup: "ActorModelDrawDeferredOpa" , .listMaxSize: 64, .groupType: "地形" }, |
| 50 | {.listName: "地形[埋没]" , .executeGroup: "ActorModelDrawDeferred" , .listMaxSize: 32, .groupType: "地形" }, |
| 51 | // 3D(ディファード鏡映り込みなし) |
| 52 | {.listName: "地形[鏡映り込みなし]" , .executeGroup: "ActorModelDrawDeferred" , .listMaxSize: 32, .groupType: "地形" }, |
| 53 | // 3D(ディファードキャラクター) |
| 54 | {.listName: "シャドウマスク[地形オブジェ]" , .executeGroup: "Draw" , .listMaxSize: 3, .groupType: "影" }, |
| 55 | {.listName: "足跡" , .executeGroup: "ActorModelDrawDeferredFootPrint" , .listMaxSize: 4, .groupType: "プレイヤー" }, |
| 56 | {.listName: "地形オブジェ" , .executeGroup: "ActorModelDrawDeferred" , .listMaxSize: 128, .groupType: "地形オブジェ" }, |
| 57 | {.listName: "地形オブジェ[ディファードのみ]" , .executeGroup: "ActorModelDrawDeferredOnly" , .listMaxSize: 16, .groupType: "地形オブジェ" }, |
| 58 | {.listName: "地形オブジェ[ディファード不透明のみ]" , .executeGroup: "ActorModelDrawDeferredOpa" , .listMaxSize: 16, .groupType: "地形オブジェ" }, |
| 59 | {.listName: "地形オブジェ[マーチングキューブ]" , .executeGroup: "ActorModelDrawDeferredMarchingCube" , .listMaxSize: 32, .groupType: "地形オブジェ" }, |
| 60 | {.listName: "地形[地形オブジェ後]" , .executeGroup: "ActorModelDrawDeferred" , .listMaxSize: 32, .groupType: "地形" }, |
| 61 | {.listName: "敵[シルエット前]" , .executeGroup: "ActorModelDrawDeferred" , .listMaxSize: 128, .groupType: "敵" }, |
| 62 | {.listName: "アクター描画[シルエット前]" , .executeGroup: "ActorDraw" , .listMaxSize: 8, .groupType: "アクター" }, |
| 63 | {.listName: "シルエット[プレイヤー]" , .executeGroup: "ActorModelDrawDeferredSilhouette" , .listMaxSize: 196, .groupType: "プレイヤー" }, |
| 64 | {.listName: "シルエット[オブジェ]" , .executeGroup: "ActorModelDrawDeferredSilhouette" , .listMaxSize: 64, .groupType: "地形オブジェ" }, |
| 65 | {.listName: "シルエットモデル[敵]" , .executeGroup: "ActorModelDrawDeferred" , .listMaxSize: 64, .groupType: "敵" }, |
| 66 | {.listName: "地形[シルエット後]" , .executeGroup: "ActorModelDrawDeferred" , .listMaxSize: 32, .groupType: "地形" }, |
| 67 | {.listName: "地形オブジェ[シルエット後]" , .executeGroup: "ActorModelDrawDeferred" , .listMaxSize: 32, .groupType: "地形オブジェ" }, |
| 68 | {.listName: "シャドウマスク[敵]" , .executeGroup: "Draw" , .listMaxSize: 3, .groupType: "影" }, |
| 69 | {.listName: "敵" , .executeGroup: "ActorModelDrawDeferred" , .listMaxSize: 128, .groupType: "敵" }, |
| 70 | {.listName: "敵[ディファードのみ]" , .executeGroup: "ActorModelDrawDeferredOnly" , .listMaxSize: 16, .groupType: "敵" }, |
| 71 | {.listName: "敵[ディファード不透明のみ]" , .executeGroup: "ActorModelDrawDeferredOpa" , .listMaxSize: 16, .groupType: "敵" }, |
| 72 | {.listName: "NPC" , .executeGroup: "ActorModelDrawDeferred" , .listMaxSize: 96, .groupType: "NPC" }, |
| 73 | {.listName: "NPC[ディファードのみ]" , .executeGroup: "ActorModelDrawDeferredOnly" , .listMaxSize: 8, .groupType: "NPC" }, |
| 74 | {.listName: "NPC[ディファード不透明のみ]" , .executeGroup: "ActorModelDrawDeferredOpa" , .listMaxSize: 8, .groupType: "NPC" }, |
| 75 | {.listName: "Mii[顔モデル]" , .executeGroup: "Draw" , .listMaxSize: 4, .groupType: "システム" }, |
| 76 | {.listName: "シャドウマスク[アイテム]" , .executeGroup: "Draw" , .listMaxSize: 3, .groupType: "影" }, |
| 77 | {.listName: "アイテム" , .executeGroup: "ActorModelDrawDeferred" , .listMaxSize: 64, .groupType: "アイテム" }, |
| 78 | {.listName: "アイテム[ディファードのみ]" , .executeGroup: "ActorModelDrawDeferredOnly" , .listMaxSize: 8, .groupType: "アイテム" }, |
| 79 | {.listName: "アイテム[ディファード不透明のみ]" , .executeGroup: "ActorModelDrawDeferredOpa" , .listMaxSize: 8, .groupType: "アイテム" }, |
| 80 | // 3D(ディファード異空間) |
| 81 | {.listName: "異空間オブジェ" , .executeGroup: "ActorModelDrawDeferred" , .listMaxSize: 64, .groupType: "地形オブジェ" }, |
| 82 | // 3D(ディファードプレイヤー) |
| 83 | {.listName: "シャドウマスク[プレイヤー]" , .executeGroup: "Draw" , .listMaxSize: 4, .groupType: "影" }, |
| 84 | {.listName: "プレイヤー" , .executeGroup: "ActorModelDrawDeferred" , .listMaxSize: 196, .groupType: "プレイヤー" }, |
| 85 | {.listName: "プレイヤー装飾" , .executeGroup: "ActorModelDrawDeferred" , .listMaxSize: 32, .groupType: "プレイヤー" }, |
| 86 | {.listName: "プレイヤー装飾[ディファード不透明のみ]" , .executeGroup: "ActorModelDrawDeferredOpa" , .listMaxSize: 16, .groupType: "プレイヤー" }, |
| 87 | // 3D(ディファード中景) |
| 88 | {.listName: "地形オブジェ[キャラ後]" , .executeGroup: "ActorModelDrawDeferred" , .listMaxSize: 32, .groupType: "地形オブジェ" }, |
| 89 | {.listName: "シャドウマスク[ブロック]" , .executeGroup: "Draw" , .listMaxSize: 3, .groupType: "影" }, |
| 90 | {.listName: "中景" , .executeGroup: "ActorModelDrawDeferred" , .listMaxSize: 8, .groupType: "地形" }, |
| 91 | {.listName: "中景[ディファードのみ]" , .executeGroup: "ActorModelDrawDeferredOnly" , .listMaxSize: 8, .groupType: "地形" }, |
| 92 | {.listName: "中景[ディファード不透明のみ]" , .executeGroup: "ActorModelDrawDeferredOpa" , .listMaxSize: 8, .groupType: "地形" }, |
| 93 | {.listName: "大気散乱" , .executeGroup: "Draw" , .listMaxSize: 1, .groupType: "地形" }, |
| 94 | {.listName: "ディファード空" , .executeGroup: "ActorModelDrawDeferredSky" , .listMaxSize: 16, .groupType: "地形" }, |
| 95 | {.listName: "ディファード空[デモ]" , .executeGroup: "ActorModelDrawDeferredSky" , .listMaxSize: 8, .groupType: "地形" }, |
| 96 | // 3D(ディファード半透明) |
| 97 | {.listName: "地形[ディファード半透明]" , .executeGroup: "ActorModelDrawDeferredXlu" , .listMaxSize: 8, .groupType: "地形" }, |
| 98 | {.listName: "地形[ディファード半透明のみ]" , .executeGroup: "ActorModelDrawDeferredXlu" , .listMaxSize: 8, .groupType: "地形" }, |
| 99 | {.listName: "地形オブジェ[ディファード半透明]" , .executeGroup: "ActorModelDrawDeferredXlu" , .listMaxSize: 8, .groupType: "地形オブジェ" }, |
| 100 | {.listName: "地形オブジェ[ディファード半透明のみ]" , .executeGroup: "ActorModelDrawDeferredXlu" , .listMaxSize: 8, .groupType: "地形オブジェ" }, |
| 101 | {.listName: "敵[ディファード半透明]" , .executeGroup: "ActorModelDrawDeferredXlu" , .listMaxSize: 8, .groupType: "敵" }, |
| 102 | {.listName: "敵[ディファード半透明のみ]" , .executeGroup: "ActorModelDrawDeferredXlu" , .listMaxSize: 8, .groupType: "敵" }, |
| 103 | {.listName: "NPC[ディファード半透明]" , .executeGroup: "ActorModelDrawDeferredXlu" , .listMaxSize: 8, .groupType: "NPC" }, |
| 104 | {.listName: "NPC[ディファード半透明のみ]" , .executeGroup: "ActorModelDrawDeferredXlu" , .listMaxSize: 8, .groupType: "NPC" }, |
| 105 | {.listName: "アイテム[ディファード半透明]" , .executeGroup: "ActorModelDrawDeferredXlu" , .listMaxSize: 8, .groupType: "アイテム" }, |
| 106 | {.listName: "アイテム[ディファード半透明のみ]" , .executeGroup: "ActorModelDrawDeferredXlu" , .listMaxSize: 8, .groupType: "アイテム" }, |
| 107 | {.listName: "プレイヤー装飾[ディファード半透明]" , .executeGroup: "ActorModelDrawDeferredXlu" , .listMaxSize: 8, .groupType: "プレイヤー" }, |
| 108 | {.listName: "プレイヤー装飾[ディファード半透明のみ]" , .executeGroup: "ActorModelDrawDeferredXlu" , .listMaxSize: 16, .groupType: "プレイヤー" }, |
| 109 | {.listName: "シャドウマスク[モデルライト後]" , .executeGroup: "Draw" , .listMaxSize: 4, .groupType: "影" }, |
| 110 | {.listName: "アクター描画" , .executeGroup: "ActorDraw" , .listMaxSize: 8, .groupType: "アクター" }, |
| 111 | // 3D(デプスクリアプレイヤー) |
| 112 | {.listName: "プレイヤー" , .executeGroup: "ActorModelDrawDepthForce" , .listMaxSize: 196, .groupType: "プレイヤー" }, |
| 113 | {.listName: "プレイヤー装飾[ディファード不透明のみ]" , .executeGroup: "ActorModelDrawDepthForce" , .listMaxSize: 16, .groupType: "プレイヤー" }, |
| 114 | {.listName: "プレイヤー装飾[ディファード半透明のみ]" , .executeGroup: "ActorModelDrawDepthForce" , .listMaxSize: 16, .groupType: "プレイヤー" }, |
| 115 | {.listName: "プレイヤー装飾[フォワードのみ]" , .executeGroup: "ActorModelDrawDepthForce" , .listMaxSize: 16, .groupType: "プレイヤー" }, |
| 116 | {.listName: "プレイヤー装飾[インダイレクトのみ]" , .executeGroup: "ActorModelDrawDepthForce" , .listMaxSize: 16, .groupType: "プレイヤー" }, |
| 117 | // 3D(フォワード遠景) |
| 118 | {.listName: "遠景[ライトバッファ]" , .executeGroup: "ActorModelDraw" , .listMaxSize: 8, .groupType: "地形" }, |
| 119 | {.listName: "遠景[ライトバッファのみ]" , .executeGroup: "ActorModelDrawForwardOnly" , .listMaxSize: 8, .groupType: "地形" }, |
| 120 | {.listName: "大気散乱雲遠距離[ライトバッファ]" , .executeGroup: "ActorModelDraw" , .listMaxSize: 8, .groupType: "地形" }, |
| 121 | {.listName: "大気散乱雲遠距離[ライトバッファのみ]" , .executeGroup: "ActorModelDrawForwardOnly" , .listMaxSize: 8, .groupType: "地形" }, |
| 122 | {.listName: "大気散乱雲[ライトバッファ]" , .executeGroup: "ActorModelDraw" , .listMaxSize: 8, .groupType: "地形" }, |
| 123 | {.listName: "大気散乱雲[ライトバッファのみ]" , .executeGroup: "ActorModelDrawForwardOnly" , .listMaxSize: 8, .groupType: "地形" }, |
| 124 | {.listName: "大気散乱雲近距離[ライトバッファ]" , .executeGroup: "ActorModelDraw" , .listMaxSize: 8, .groupType: "地形" }, |
| 125 | {.listName: "大気散乱雲近距離[ライトバッファのみ]" , .executeGroup: "ActorModelDrawForwardOnly" , .listMaxSize: 8, .groupType: "地形" }, |
| 126 | // 3D(フォワードプレイヤー) |
| 127 | {.listName: "Zプリパス[プレイヤー]" , .executeGroup: "ActorModelDrawDepthOnly" , .listMaxSize: 32, .groupType: "プレイヤー" }, |
| 128 | {.listName: "プレイヤー[地形前]" , .executeGroup: "ActorModelDrawForwardForce" , .listMaxSize: 16, .groupType: "プレイヤー" }, |
| 129 | {.listName: "プレイヤー" , .executeGroup: "ActorModelDrawForwardForce" , .listMaxSize: 196, .groupType: "プレイヤー" }, |
| 130 | {.listName: "Zプリパス[プレイヤー装飾]" , .executeGroup: "ActorModelDrawDepthDither" , .listMaxSize: 128, .groupType: "プレイヤー" }, |
| 131 | {.listName: "プレイヤー装飾" , .executeGroup: "ActorModelDrawForwardForce" , .listMaxSize: 32, .groupType: "プレイヤー" }, |
| 132 | {.listName: "プレイヤー装飾[ディファード不透明のみ]" , .executeGroup: "ActorModelDrawForwardForce" , .listMaxSize: 16, .groupType: "プレイヤー" }, |
| 133 | // 3D(フォワード) |
| 134 | {.listName: "半透明Zプリパス" , .executeGroup: "ActorModelDrawDepthXlu" , .listMaxSize: 8, .groupType: "地形" }, |
| 135 | {.listName: "フォワードZプリパス[ディザ]" , .executeGroup: "ActorModelDrawDepthDither" , .listMaxSize: 8, .groupType: "地形" }, |
| 136 | {.listName: "中景[フォワード]" , .executeGroup: "ActorModelDraw" , .listMaxSize: 8, .groupType: "地形" }, |
| 137 | {.listName: "中景[フォワードのみ]" , .executeGroup: "ActorModelDrawForwardOnly" , .listMaxSize: 8, .groupType: "地形" }, |
| 138 | {.listName: "大気散乱雲[フォワード]" , .executeGroup: "ActorModelDraw" , .listMaxSize: 8, .groupType: "地形" }, |
| 139 | {.listName: "大気散乱雲[フォワードのみ]" , .executeGroup: "ActorModelDrawForwardOnly" , .listMaxSize: 8, .groupType: "地形" }, |
| 140 | {.listName: "地形[フォワード]" , .executeGroup: "ActorModelDraw" , .listMaxSize: 32, .groupType: "地形" }, |
| 141 | {.listName: "地形[フォワードのみ]" , .executeGroup: "ActorModelDrawForwardOnly" , .listMaxSize: 48, .groupType: "地形" }, |
| 142 | {.listName: "地形オブジェ[フォワード]" , .executeGroup: "ActorModelDraw" , .listMaxSize: 32, .groupType: "地形オブジェ" }, |
| 143 | {.listName: "地形オブジェ[フォワードのみ]" , .executeGroup: "ActorModelDrawForwardOnly" , .listMaxSize: 32, .groupType: "地形オブジェ" }, |
| 144 | {.listName: "敵[フォワード]" , .executeGroup: "ActorModelDraw" , .listMaxSize: 32, .groupType: "敵" }, |
| 145 | {.listName: "敵[フォワードのみ]" , .executeGroup: "ActorModelDrawForwardOnly" , .listMaxSize: 16, .groupType: "敵" }, |
| 146 | {.listName: "NPC[フォワード]" , .executeGroup: "ActorModelDraw" , .listMaxSize: 32, .groupType: "NPC" }, |
| 147 | {.listName: "NPC[フォワードのみ]" , .executeGroup: "ActorModelDrawForwardOnly" , .listMaxSize: 8, .groupType: "NPC" }, |
| 148 | {.listName: "アイテム[フォワード]" , .executeGroup: "ActorModelDraw" , .listMaxSize: 32, .groupType: "アイテム" }, |
| 149 | {.listName: "アイテム[フォワードのみ]" , .executeGroup: "ActorModelDrawForwardOnly" , .listMaxSize: 8, .groupType: "アイテム" }, |
| 150 | {.listName: "プレイヤー[フォワード]" , .executeGroup: "ActorModelDraw" , .listMaxSize: 8, .groupType: "プレイヤー" }, |
| 151 | {.listName: "プレイヤー装飾[フォワード]" , .executeGroup: "ActorModelDraw" , .listMaxSize: 8, .groupType: "プレイヤー" }, |
| 152 | {.listName: "プレイヤー装飾[フォワードのみ]" , .executeGroup: "ActorModelDrawForwardOnly" , .listMaxSize: 16, .groupType: "プレイヤー" }, |
| 153 | {.listName: "アクター描画[フォワード]" , .executeGroup: "ActorDraw" , .listMaxSize: 8, .groupType: "アクター" }, |
| 154 | // 3D(インダイレクト) |
| 155 | {.listName: "半透明Zプリパス[インダイレクト]" , .executeGroup: "ActorModelDrawDepthIndirect" , .listMaxSize: 8, .groupType: "地形" }, |
| 156 | {.listName: "インダイレクトZプリパス[ディザ]" , .executeGroup: "ActorModelDrawDepthDitherIndirect" , .listMaxSize: 8, .groupType: "地形" }, |
| 157 | {.listName: "地形[インダイレクト]" , .executeGroup: "ActorModelDrawIndirect" , .listMaxSize: 32, .groupType: "地形" }, |
| 158 | {.listName: "地形[インダイレクトのみ]" , .executeGroup: "ActorModelDrawIndirectOnly" , .listMaxSize: 16, .groupType: "地形" }, |
| 159 | {.listName: "地形オブジェ[インダイレクト]" , .executeGroup: "ActorModelDrawIndirect" , .listMaxSize: 32, .groupType: "地形オブジェ" }, |
| 160 | {.listName: "地形オブジェ[インダイレクトのみ]" , .executeGroup: "ActorModelDrawIndirectOnly" , .listMaxSize: 32, .groupType: "地形オブジェ" }, |
| 161 | {.listName: "コイン[インダイレクト]" , .executeGroup: "ActorModelDrawIndirect" , .listMaxSize: 8, .groupType: "アイテム" }, |
| 162 | {.listName: "ルート土管内側[インダイレクト]" , .executeGroup: "ActorModelDrawIndirect" , .listMaxSize: 32, .groupType: "地形オブジェ" }, |
| 163 | {.listName: "ルート土管外側[インダイレクト]" , .executeGroup: "ActorModelDrawIndirect" , .listMaxSize: 32, .groupType: "地形オブジェ" }, |
| 164 | {.listName: "敵[インダイレクト]" , .executeGroup: "ActorModelDrawIndirect" , .listMaxSize: 32, .groupType: "敵" }, |
| 165 | {.listName: "敵[インダイレクトのみ]" , .executeGroup: "ActorModelDrawIndirectOnly" , .listMaxSize: 8, .groupType: "敵" }, |
| 166 | {.listName: "NPC[インダイレクト]" , .executeGroup: "ActorModelDrawIndirect" , .listMaxSize: 32, .groupType: "NPC" }, |
| 167 | {.listName: "NPC[インダイレクトのみ]" , .executeGroup: "ActorModelDrawIndirectOnly" , .listMaxSize: 8, .groupType: "NPC" }, |
| 168 | {.listName: "アイテム[インダイレクト]" , .executeGroup: "ActorModelDrawIndirect" , .listMaxSize: 32, .groupType: "アイテム" }, |
| 169 | {.listName: "アイテム[インダイレクトのみ]" , .executeGroup: "ActorModelDrawIndirectOnly" , .listMaxSize: 32, .groupType: "アイテム" }, |
| 170 | {.listName: "プレイヤー装飾[インダイレクト]" , .executeGroup: "ActorModelDrawIndirect" , .listMaxSize: 8, .groupType: "プレイヤー" }, |
| 171 | {.listName: "プレイヤー装飾[インダイレクトのみ]" , .executeGroup: "ActorModelDrawIndirectOnly" , .listMaxSize: 8, .groupType: "プレイヤー" }, |
| 172 | {.listName: "アクター描画[インダイレクト]" , .executeGroup: "ActorDraw" , .listMaxSize: 8, .groupType: "アクター" }, |
| 173 | // 3D(インダイレクト後フォワード) |
| 174 | {.listName: "半透明Zプリパス[インダイレクト後]" , .executeGroup: "ActorModelDrawDepthIndirect" , .listMaxSize: 8, .groupType: "地形" }, |
| 175 | {.listName: "地形オブジェ[フォワードインダイレクト後のみ]" , .executeGroup: "ActorModelDrawForwardOnly" , .listMaxSize: 8, |
| 176 | .groupType: "地形オブジェ" }, |
| 177 | {.listName: "敵[フォワードインダイレクト後]" , .executeGroup: "ActorModelDraw" , .listMaxSize: 32, .groupType: "敵" }, |
| 178 | // 3D(インダイレクト後遠景) |
| 179 | {.listName: "大気散乱雲[インダイレクト後]" , .executeGroup: "ActorModelDraw" , .listMaxSize: 8, .groupType: "地形" }, |
| 180 | {.listName: "大気散乱雲[インダイレクト後のみ]" , .executeGroup: "ActorModelDrawForwardOnly" , .listMaxSize: 8, .groupType: "地形" }, |
| 181 | // 3D(フォグ後インダイレクト) |
| 182 | {.listName: "地形[インダイレクトフォグ後]" , .executeGroup: "ActorModelDrawIndirect" , .listMaxSize: 8, .groupType: "地形" }, |
| 183 | {.listName: "地形[インダイレクトフォグ後のみ]" , .executeGroup: "ActorModelDrawIndirectOnly" , .listMaxSize: 8, .groupType: "地形" }, |
| 184 | {.listName: "敵[インダイレクトフォグ後]" , .executeGroup: "ActorModelDrawIndirect" , .listMaxSize: 8, .groupType: "敵" }, |
| 185 | {.listName: "敵[インダイレクトフォグ後のみ]" , .executeGroup: "ActorModelDrawIndirectOnly" , .listMaxSize: 8, .groupType: "敵" }, |
| 186 | {.listName: "アイテム[インダイレクトフォグ後]" , .executeGroup: "ActorModelDrawIndirect" , .listMaxSize: 32, .groupType: "アイテム" }, |
| 187 | {.listName: "アイテム[インダイレクトフォグ後のみ]" , .executeGroup: "ActorModelDrawIndirectOnly" , .listMaxSize: 32, .groupType: "アイテム" }, |
| 188 | // 3D(フォグ後遠景) |
| 189 | {.listName: "遠景[フォグ後]" , .executeGroup: "ActorModelDraw" , .listMaxSize: 8, .groupType: "地形" }, |
| 190 | {.listName: "遠景[フォグ後のみ]" , .executeGroup: "ActorModelDrawForwardOnly" , .listMaxSize: 8, .groupType: "地形" }, |
| 191 | {.listName: "大気散乱雲[フォグ後]" , .executeGroup: "ActorModelDraw" , .listMaxSize: 8, .groupType: "地形" }, |
| 192 | {.listName: "大気散乱雲[フォグ後のみ]" , .executeGroup: "ActorModelDrawForwardOnly" , .listMaxSize: 8, .groupType: "地形" }, |
| 193 | // 3D(フォグ後) |
| 194 | {.listName: "半透明Zプリパス[フォグ後]" , .executeGroup: "ActorModelDrawDepthXlu" , .listMaxSize: 8, .groupType: "地形" }, |
| 195 | {.listName: "地形[フォグ後]" , .executeGroup: "ActorModelDraw" , .listMaxSize: 8, .groupType: "地形" }, |
| 196 | {.listName: "地形[フォグ後のみ]" , .executeGroup: "ActorModelDrawForwardOnly" , .listMaxSize: 8, .groupType: "地形" }, |
| 197 | {.listName: "地形オブジェ[フォグ後]" , .executeGroup: "ActorModelDraw" , .listMaxSize: 8, .groupType: "地形オブジェ" }, |
| 198 | {.listName: "地形オブジェ[フォグ後のみ]" , .executeGroup: "ActorModelDrawForwardOnly" , .listMaxSize: 8, .groupType: "地形オブジェ" }, |
| 199 | {.listName: "敵[フォグ後]" , .executeGroup: "ActorModelDraw" , .listMaxSize: 8, .groupType: "敵" }, |
| 200 | {.listName: "敵[フォグ後のみ]" , .executeGroup: "ActorModelDrawForwardOnly" , .listMaxSize: 8, .groupType: "敵" }, |
| 201 | {.listName: "NPC[フォグ後]" , .executeGroup: "ActorModelDraw" , .listMaxSize: 8, .groupType: "NPC" }, |
| 202 | {.listName: "NPC[フォグ後のみ]" , .executeGroup: "ActorModelDrawForwardOnly" , .listMaxSize: 8, .groupType: "NPC" }, |
| 203 | // 3D(クロマキーZプリパス) |
| 204 | {.listName: "Zプリパス[プレイヤークロマキー]" , .executeGroup: "ActorModelDrawDepthChromakey" , .listMaxSize: 208, .groupType: "プレイヤー" }, |
| 205 | {.listName: "Zプリパス[NPCクロマキー]" , .executeGroup: "ActorModelDrawDepthChromakey" , .listMaxSize: 32, .groupType: "NPC" }, |
| 206 | {.listName: "Zプリパス[ディザクロマキー]" , .executeGroup: "ActorModelDrawDitherChromakey" , .listMaxSize: 208, .groupType: "プレイヤー" }, |
| 207 | // 3D(クロマキープレイヤー) |
| 208 | {.listName: "プレイヤー[クロマキー]" , .executeGroup: "ActorModelDrawPlayerChromakey" , .listMaxSize: 208, .groupType: "プレイヤー" }, |
| 209 | {.listName: "プレイヤー[クロマキー不透明]" , .executeGroup: "ActorModelDrawPlayerChromakeyOpa" , .listMaxSize: 208, .groupType: "プレイヤー" }, |
| 210 | {.listName: "プレイヤー[クロマキー半透明]" , .executeGroup: "ActorModelDrawPlayerChromakeyXlu" , .listMaxSize: 64, .groupType: "プレイヤー" }, |
| 211 | // 3D(クロマキーキャラクター) |
| 212 | {.listName: "NPC[クロマキー]" , .executeGroup: "ActorModelDrawCharacterChromakey" , .listMaxSize: 32, .groupType: "NPC" }, |
| 213 | // 2Dバック(メイン画面) |
| 214 | {.listName: "2Dバック" , .executeGroup: "LayoutDraw" , .listMaxSize: 64, .groupType: "レイアウト" }, |
| 215 | // 2Dベース(メイン画面) |
| 216 | {.listName: "2Dベース" , .executeGroup: "LayoutDraw" , .listMaxSize: 32, .groupType: "レイアウト" }, |
| 217 | {.listName: "2D情報バルーン" , .executeGroup: "LayoutDraw" , .listMaxSize: 64, .groupType: "レイアウト" }, |
| 218 | {.listName: "2D会話バルーン" , .executeGroup: "LayoutDraw" , .listMaxSize: 128, .groupType: "レイアウト" }, |
| 219 | {.listName: "2D" , .executeGroup: "LayoutDraw" , .listMaxSize: 256, .groupType: "レイアウト" }, |
| 220 | {.listName: "2Dフィルターバルーン" , .executeGroup: "LayoutDraw" , .listMaxSize: 64, .groupType: "レイアウト" }, |
| 221 | {.listName: "2Dフィルター" , .executeGroup: "LayoutDraw" , .listMaxSize: 32, .groupType: "レイアウト" }, |
| 222 | {.listName: "2D(メイン画面のみ)" , .executeGroup: "LayoutDraw" , .listMaxSize: 32, .groupType: "レイアウト" }, |
| 223 | {.listName: "2Dガイド" , .executeGroup: "LayoutDraw" , .listMaxSize: 64, .groupType: "レイアウト" }, |
| 224 | {.listName: "2Dカウンター" , .executeGroup: "LayoutDraw" , .listMaxSize: 32, .groupType: "レイアウト" }, |
| 225 | {.listName: "2Dマップアイコン" , .executeGroup: "LayoutDraw" , .listMaxSize: 32, .groupType: "レイアウト" }, |
| 226 | {.listName: "2D通知" , .executeGroup: "LayoutDraw" , .listMaxSize: 8, .groupType: "レイアウト" }, |
| 227 | // 2Dエフェクト(メイン画面) |
| 228 | {.listName: "2Dベースエフェクト" , .executeGroup: "Draw" , .listMaxSize: 1, .groupType: "エフェクト" }, |
| 229 | // 2Dオーバー(メイン画面) |
| 230 | {.listName: "2Dヘッド" , .executeGroup: "LayoutDraw" , .listMaxSize: 16, .groupType: "レイアウト" }, |
| 231 | {.listName: "2Dポーズ" , .executeGroup: "LayoutDraw" , .listMaxSize: 32, .groupType: "レイアウト" }, |
| 232 | {.listName: "2Dランキング" , .executeGroup: "LayoutDraw" , .listMaxSize: 4, .groupType: "レイアウト" }, |
| 233 | {.listName: "2Dライン" , .executeGroup: "LayoutDraw" , .listMaxSize: 8, .groupType: "レイアウト" }, |
| 234 | {.listName: "2Dアイコン[最低]" , .executeGroup: "LayoutDraw" , .listMaxSize: 32, .groupType: "レイアウト" }, |
| 235 | {.listName: "2Dアイコン[低]" , .executeGroup: "LayoutDraw" , .listMaxSize: 32, .groupType: "レイアウト" }, |
| 236 | {.listName: "2Dアイコン[中]" , .executeGroup: "LayoutDraw" , .listMaxSize: 16, .groupType: "レイアウト" }, |
| 237 | {.listName: "2Dアイコン[高]" , .executeGroup: "LayoutDraw" , .listMaxSize: 356, .groupType: "レイアウト" }, |
| 238 | {.listName: "2Dアイコン[最高]" , .executeGroup: "LayoutDraw" , .listMaxSize: 16, .groupType: "レイアウト" }, |
| 239 | {.listName: "2Dカーソル" , .executeGroup: "LayoutDraw" , .listMaxSize: 12, .groupType: "レイアウト" }, |
| 240 | {.listName: "2Dリスト" , .executeGroup: "LayoutDraw" , .listMaxSize: 12, .groupType: "レイアウト" }, |
| 241 | {.listName: "2Dリストアイコン" , .executeGroup: "LayoutDraw" , .listMaxSize: 256, .groupType: "レイアウト" }, |
| 242 | {.listName: "2Dリストカーソル" , .executeGroup: "LayoutDraw" , .listMaxSize: 8, .groupType: "レイアウト" }, |
| 243 | {.listName: "2Dゲームオーバー" , .executeGroup: "LayoutDraw" , .listMaxSize: 8, .groupType: "レイアウト" }, |
| 244 | {.listName: "2Dカバー" , .executeGroup: "LayoutDraw" , .listMaxSize: 8, .groupType: "レイアウト" }, |
| 245 | {.listName: "2Dエフェクト" , .executeGroup: "Draw" , .listMaxSize: 1, .groupType: "エフェクト" }, |
| 246 | {.listName: "2Dワイプ[ウィンドウ前]" , .executeGroup: "LayoutDraw" , .listMaxSize: 4, .groupType: "レイアウト" }, |
| 247 | {.listName: "2Dウィンドウ" , .executeGroup: "LayoutDraw" , .listMaxSize: 24, .groupType: "レイアウト" }, |
| 248 | {.listName: "2Dウィンドウカウンター" , .executeGroup: "LayoutDraw" , .listMaxSize: 8, .groupType: "レイアウト" }, |
| 249 | {.listName: "2Dワイプ" , .executeGroup: "LayoutDraw" , .listMaxSize: 48, .groupType: "レイアウト" }, |
| 250 | {.listName: "2Dリザルト" , .executeGroup: "LayoutDraw" , .listMaxSize: 4, .groupType: "レイアウト" }, |
| 251 | // 2D(デモ画面) |
| 252 | {.listName: "2Dデモベース" , .executeGroup: "LayoutDraw" , .listMaxSize: 16, .groupType: "レイアウト" }, |
| 253 | {.listName: "2Dデモ" , .executeGroup: "LayoutDraw" , .listMaxSize: 96, .groupType: "レイアウト" }, |
| 254 | {.listName: "2Dデモ情報バルーン" , .executeGroup: "LayoutDraw" , .listMaxSize: 16, .groupType: "レイアウト" }, |
| 255 | {.listName: "2Dデモライン" , .executeGroup: "LayoutDraw" , .listMaxSize: 8, .groupType: "レイアウト" }, |
| 256 | {.listName: "2Dデモアイコン" , .executeGroup: "LayoutDraw" , .listMaxSize: 196, .groupType: "レイアウト" }, |
| 257 | {.listName: "2Dデモアイコンオーバー" , .executeGroup: "LayoutDraw" , .listMaxSize: 128, .groupType: "レイアウト" }, |
| 258 | {.listName: "2Dデモアイコンプレイヤー" , .executeGroup: "LayoutDraw" , .listMaxSize: 4, .groupType: "レイアウト" }, |
| 259 | {.listName: "2Dデモカーソル" , .executeGroup: "LayoutDraw" , .listMaxSize: 8, .groupType: "レイアウト" }, |
| 260 | // ポストエフェクトマスク |
| 261 | {.listName: "ポストエフェクトマスク" , .executeGroup: "ActorModelDrawPostEffectMask" , .listMaxSize: 32, .groupType: "地形" }, |
| 262 | // アクター描画(独自レンダーターゲット) |
| 263 | {.listName: "アクター描画[独自レンダーターゲット]" , .executeGroup: "ActorDraw" , .listMaxSize: 8, .groupType: "アクター" }, |
| 264 | // アクター描画(プロジェクト固有) |
| 265 | {.listName: "アクター描画(プロジェクト固有)" , .executeGroup: "ActorDraw" , .listMaxSize: 8, .groupType: "アクター" }, |
| 266 | // モデル描画バッファ更新 |
| 267 | {.listName: "モデル描画バッファ更新" , .executeGroup: "ActorModelDrawUpdate" , .listMaxSize: 1024, .groupType: "システム" }, |
| 268 | // 3D(ワールドマップディファード) |
| 269 | {.listName: "ワールドマップ地形" , .executeGroup: "ActorModelDrawDeferred" , .listMaxSize: 128, .groupType: "地形" }, |
| 270 | {.listName: "ワールドマップ地形[ディファードのみ]" , .executeGroup: "ActorModelDrawDeferredOnly" , .listMaxSize: 8, .groupType: "地形" }, |
| 271 | {.listName: "ワールドマップディファード空" , .executeGroup: "ActorModelDrawDeferredSky" , .listMaxSize: 8, .groupType: "地形" }, |
| 272 | {.listName: "ワールドマップ地形[ディファード半透明]" , .executeGroup: "ActorModelDrawDeferredXlu" , .listMaxSize: 16, .groupType: "地形" }, |
| 273 | // 3D(ワールドマップフォワード) |
| 274 | {.listName: "ワールドマップ地形[フォワード]" , .executeGroup: "ActorModelDraw" , .listMaxSize: 32, .groupType: "地形" }, |
| 275 | {.listName: "ワールドマップ地形[フォワードのみ]" , .executeGroup: "ActorModelDrawForwardOnly" , .listMaxSize: 8, .groupType: "地形" }, |
| 276 | {.listName: "ワールドマップ地形オブジェ[フォワード]" , .executeGroup: "ActorModelDraw" , .listMaxSize: 8, .groupType: "地形オブジェ" }, |
| 277 | // 2D(ワールドマップ画面) |
| 278 | {.listName: "2Dワールドマップベース" , .executeGroup: "LayoutDraw" , .listMaxSize: 32, .groupType: "レイアウト" }, |
| 279 | {.listName: "2Dワールドマップ" , .executeGroup: "LayoutDraw" , .listMaxSize: 32, .groupType: "レイアウト" }, |
| 280 | // 2D(ムーンゲット画面) |
| 281 | {.listName: "2D(ムーンゲット)" , .executeGroup: "LayoutDraw" , .listMaxSize: 8, .groupType: "レイアウト" }, |
| 282 | {.listName: "2Dカウンター(ムーンゲット)" , .executeGroup: "LayoutDraw" , .listMaxSize: 1, .groupType: "レイアウト" }, |
| 283 | {.listName: "2Dワイプ(ムーンゲット)" , .executeGroup: "LayoutDraw" , .listMaxSize: 4, .groupType: "レイアウト" }, |
| 284 | // 2D(スナップショット) |
| 285 | {.listName: "2Dスナップショット" , .executeGroup: "LayoutDraw" , .listMaxSize: 3, .groupType: "レイアウト" }, |
| 286 | // 2D(撮影用) |
| 287 | {.listName: "2D撮影用" , .executeGroup: "LayoutDraw" , .listMaxSize: 16, .groupType: "レイアウト" }, |
| 288 | // 2D(ミス) |
| 289 | {.listName: "2Dミス" , .executeGroup: "LayoutDraw" , .listMaxSize: 2, .groupType: "レイアウト" }, |
| 290 | // Custom Entries |
| 291 | {.listName: "PuppetActor" , .executeGroup: "ActorModelDrawDeferred" , .listMaxSize: 512, .groupType: "ボス" }}; |
| 292 | |
| 293 | static constexpr al::ExecuteOrder updateTableArr[] = { |
| 294 | // Update Table Name: 更新 |
| 295 | {.listName: "ステージ同期カウンタ" , .executeGroup: "Execute" , .listMaxSize: 1, .groupType: "システム" }, |
| 296 | {.listName: "乗り物(カメラ前)[Movement]" , .executeGroup: "ActorMovement" , .listMaxSize: 8, .groupType: "乗り物" }, |
| 297 | {.listName: "カメラ前プレイヤー[Movement]" , .executeGroup: "ActorMovement" , .listMaxSize: 16, .groupType: "プレイヤー" }, |
| 298 | {.listName: "カメラ前プレイヤー" , .executeGroup: "ActorMovementCalcAnim" , .listMaxSize: 16, .groupType: "プレイヤー" }, |
| 299 | {.listName: "カメラ" , .executeGroup: "Execute" , .listMaxSize: 1, .groupType: "カメラ" }, |
| 300 | {.listName: "クリッピング" , .executeGroup: "Execute" , .listMaxSize: 1, .groupType: "システム" }, |
| 301 | {.listName: "センサー" , .executeGroup: "Execute" , .listMaxSize: 1, .groupType: "システム" }, |
| 302 | {.listName: "試作用処理1" , .executeGroup: "Execute" , .listMaxSize: 2, .groupType: "システム" }, |
| 303 | {.listName: "試作用処理2" , .executeGroup: "Execute" , .listMaxSize: 8, .groupType: "システム" }, |
| 304 | {.listName: "試作用処理3" , .executeGroup: "Execute" , .listMaxSize: 2, .groupType: "システム" }, |
| 305 | {.listName: "試作用処理4" , .executeGroup: "Execute" , .listMaxSize: 1, .groupType: "システム" }, |
| 306 | {.listName: "空" , .executeGroup: "ActorMovementCalcAnim" , .listMaxSize: 16, .groupType: "地形" }, |
| 307 | {.listName: "波" , .executeGroup: "ActorMovement" , .listMaxSize: 16, .groupType: "地形" }, |
| 308 | {.listName: "遠景" , .executeGroup: "ActorMovementCalcAnim" , .listMaxSize: 8, .groupType: "地形" }, |
| 309 | {.listName: "コリジョン地形" , .executeGroup: "ActorMovementCalcAnim" , .listMaxSize: 256, .groupType: "地形" }, |
| 310 | {.listName: "コリジョン地形[デモ]" , .executeGroup: "ActorMovementCalcAnim" , .listMaxSize: 64, .groupType: "地形" }, |
| 311 | {.listName: "コリジョン地形[Movement]" , .executeGroup: "ActorMovement" , .listMaxSize: 32, .groupType: "地形" }, |
| 312 | {.listName: "コリジョン地形装飾" , .executeGroup: "ActorMovementCalcAnim" , .listMaxSize: 32, .groupType: "地形" }, |
| 313 | {.listName: "コリジョン地形装飾[Movement]" , .executeGroup: "ActorMovement" , .listMaxSize: 32, .groupType: "地形" }, |
| 314 | {.listName: "コリジョン地形オブジェ" , .executeGroup: "ActorMovementCalcAnim" , .listMaxSize: 64, .groupType: "地形オブジェ" }, |
| 315 | {.listName: "コリジョン地形オブジェ[Movement]" , .executeGroup: "ActorMovement" , .listMaxSize: 32, .groupType: "地形オブジェ" }, |
| 316 | {.listName: "コリジョンディレクター" , .executeGroup: "Execute" , .listMaxSize: 1, .groupType: "システム" }, |
| 317 | {.listName: "地形オブジェ" , .executeGroup: "ActorMovementCalcAnim" , .listMaxSize: 128, .groupType: "地形オブジェ" }, |
| 318 | {.listName: "地形オブジェ[Movement]" , .executeGroup: "ActorMovement" , .listMaxSize: 32, .groupType: "地形オブジェ" }, |
| 319 | {.listName: "地形オブジェ装飾" , .executeGroup: "ActorMovementCalcAnim" , .listMaxSize: 32, .groupType: "地形オブジェ" }, |
| 320 | {.listName: "乗り物" , .executeGroup: "ActorMovementCalcAnim" , .listMaxSize: 32, .groupType: "乗り物" }, |
| 321 | {.listName: "エフェクトオブジェ" , .executeGroup: "ActorMovement" , .listMaxSize: 32, .groupType: "エフェクト" }, |
| 322 | {.listName: "デモプレイヤーロケーター" , .executeGroup: "ActorMovementCalcAnim" , .listMaxSize: 4, .groupType: "プレイヤー" }, |
| 323 | {.listName: "デモプレイヤー前処理" , .executeGroup: "ActorMovement" , .listMaxSize: 16, .groupType: "プレイヤー" }, |
| 324 | {.listName: "プレイヤー前処理" , .executeGroup: "Functor" , .listMaxSize: 1, .groupType: "プレイヤー" }, |
| 325 | {.listName: "プレイヤー[Movement]" , .executeGroup: "ActorMovement" , .listMaxSize: 16, .groupType: "プレイヤー" }, |
| 326 | {.listName: "プレイヤー" , .executeGroup: "ActorMovementCalcAnim" , .listMaxSize: 128, .groupType: "プレイヤー" }, |
| 327 | {.listName: "プレイヤー後処理" , .executeGroup: "Functor" , .listMaxSize: 1, .groupType: "プレイヤー" }, |
| 328 | {.listName: "プレイヤー装飾" , .executeGroup: "ActorMovementCalcAnim" , .listMaxSize: 64, .groupType: "プレイヤー" }, |
| 329 | {.listName: "プレイヤー装飾2" , .executeGroup: "ActorMovementCalcAnim" , .listMaxSize: 64, .groupType: "プレイヤー" }, |
| 330 | {.listName: "帽子(武器)" , .executeGroup: "ActorMovementCalcAnim" , .listMaxSize: 1, .groupType: "アイテム" }, |
| 331 | {.listName: "帽子(表示)" , .executeGroup: "ActorMovementCalcAnim" , .listMaxSize: 16, .groupType: "アイテム" }, |
| 332 | {.listName: "敵" , .executeGroup: "ActorMovementCalcAnim" , .listMaxSize: 128, .groupType: "敵" }, |
| 333 | {.listName: "敵[Movement]" , .executeGroup: "ActorMovement" , .listMaxSize: 32, .groupType: "敵" }, |
| 334 | {.listName: "敵装飾" , .executeGroup: "ActorMovementCalcAnim" , .listMaxSize: 32, .groupType: "敵" }, |
| 335 | {.listName: "敵装飾[Movement]" , .executeGroup: "ActorMovement" , .listMaxSize: 32, .groupType: "敵" }, |
| 336 | {.listName: "デモ" , .executeGroup: "ActorMovementCalcAnim" , .listMaxSize: 32, .groupType: "地形" }, |
| 337 | {.listName: "デモ装飾" , .executeGroup: "ActorMovementCalcAnim" , .listMaxSize: 32, .groupType: "地形" }, |
| 338 | {.listName: "デモオブジェクト" , .executeGroup: "ActorMovement" , .listMaxSize: 32, .groupType: "地形" }, |
| 339 | {.listName: "NPC" , .executeGroup: "ActorMovementCalcAnim" , .listMaxSize: 64, .groupType: "NPC" }, |
| 340 | {.listName: "NPC装飾" , .executeGroup: "ActorMovementCalcAnim" , .listMaxSize: 32, .groupType: "NPC" }, |
| 341 | {.listName: "帽子装着位置更新" , .executeGroup: "Functor" , .listMaxSize: 8, .groupType: "システム" }, |
| 342 | {.listName: "NPCイベントディレクター" , .executeGroup: "Execute" , .listMaxSize: 1, .groupType: "システム" }, |
| 343 | {.listName: "エリア監視オブジェ" , .executeGroup: "Execute" , .listMaxSize: 8, .groupType: "システム" }, |
| 344 | {.listName: "通知レイアウト更新" , .executeGroup: "Execute" , .listMaxSize: 3, .groupType: "システム" }, |
| 345 | {.listName: "バルーン位置更新" , .executeGroup: "Execute" , .listMaxSize: 1, .groupType: "システム" }, |
| 346 | {.listName: "ネットワーク" , .executeGroup: "Execute" , .listMaxSize: 2, .groupType: "システム" }, |
| 347 | {.listName: "プレイヤーゴースト管理" , .executeGroup: "Execute" , .listMaxSize: 1, .groupType: "プレイヤー" }, |
| 348 | {.listName: "エコーエミッター管理" , .executeGroup: "Execute" , .listMaxSize: 1, .groupType: "地形オブジェ" }, |
| 349 | {.listName: "メッシュ変形モデル管理" , .executeGroup: "Execute" , .listMaxSize: 1, .groupType: "地形オブジェ" }, |
| 350 | {.listName: "アイテム" , .executeGroup: "ActorMovementCalcAnim" , .listMaxSize: 64, .groupType: "アイテム" }, |
| 351 | {.listName: "アイテム[デモ]" , .executeGroup: "ActorMovementCalcAnim" , .listMaxSize: 64, .groupType: "アイテム" }, |
| 352 | {.listName: "アイテム[Movement]" , .executeGroup: "ActorMovement" , .listMaxSize: 16, .groupType: "アイテム" }, |
| 353 | {.listName: "シャドウマスク" , .executeGroup: "ActorMovement" , .listMaxSize: 64, .groupType: "影" }, |
| 354 | {.listName: "グラフィックス要求者" , .executeGroup: "ActorMovement" , .listMaxSize: 64, .groupType: "システム" }, |
| 355 | {.listName: "プロジェクト用グラフィックス" , .executeGroup: "Execute" , .listMaxSize: 64, .groupType: "システム" }, |
| 356 | {.listName: "監視オブジェ" , .executeGroup: "ActorMovement" , .listMaxSize: 32, .groupType: "システム" }, |
| 357 | {.listName: "キッズルートガイド管理" , .executeGroup: "ActorMovement" , .listMaxSize: 1, .groupType: "システム" }, |
| 358 | {.listName: "キッズルートガイド" , .executeGroup: "ActorMovementCalcAnim" , .listMaxSize: 4, .groupType: "システム" }, |
| 359 | {.listName: "サウンド制御" , .executeGroup: "ActorMovement" , .listMaxSize: 10, .groupType: "システム" }, |
| 360 | {.listName: "ステージスイッチディレクター" , .executeGroup: "Execute" , .listMaxSize: 1, .groupType: "システム" }, |
| 361 | {.listName: "2D" , .executeGroup: "LayoutUpdate" , .listMaxSize: 404, .groupType: "レイアウト" }, |
| 362 | {.listName: "2D(ポーズ無視)" , .executeGroup: "LayoutUpdate" , .listMaxSize: 360, .groupType: "レイアウト" }, |
| 363 | {.listName: "エフェクト(前処理)" , .executeGroup: "Functor" , .listMaxSize: 1, .groupType: "エフェクト" }, |
| 364 | {.listName: "エフェクト(3D)" , .executeGroup: "Execute" , .listMaxSize: 1, .groupType: "エフェクト" }, |
| 365 | {.listName: "エフェクト(プレイヤー)" , .executeGroup: "Execute" , .listMaxSize: 1, .groupType: "エフェクト" }, |
| 366 | {.listName: "エフェクト(Zソート)" , .executeGroup: "Execute" , .listMaxSize: 1, .groupType: "エフェクト" }, |
| 367 | {.listName: "エフェクト(カメラデモ)" , .executeGroup: "Execute" , .listMaxSize: 1, .groupType: "エフェクト" }, |
| 368 | {.listName: "エフェクト(カメラ前エフェクト)" , .executeGroup: "Execute" , .listMaxSize: 1, .groupType: "エフェクト" }, |
| 369 | {.listName: "エフェクト(ベース2D)" , .executeGroup: "Execute" , .listMaxSize: 1, .groupType: "エフェクト" }, |
| 370 | {.listName: "エフェクト(2D)" , .executeGroup: "Execute" , .listMaxSize: 1, .groupType: "エフェクト" }, |
| 371 | {.listName: "エフェクト(後処理)" , .executeGroup: "Functor" , .listMaxSize: 1, .groupType: "エフェクト" }, |
| 372 | // Update Table Name: ビュー更新(コア1) |
| 373 | {.listName: "ビュー更新(コア1)" , .executeGroup: "ActorCalcView" , .listMaxSize: 512, .groupType: "システム" }, |
| 374 | // Update Table Name: ビュー更新(コア2) |
| 375 | {.listName: "ビュー更新(コア2)" , .executeGroup: "ActorCalcView" , .listMaxSize: 1024, .groupType: "システム" }, |
| 376 | // Update Table Name: スナップショット |
| 377 | {.listName: "スナップショット[CalcAnim]" , .executeGroup: "ActorCalcAnim" , .listMaxSize: 16, .groupType: "NPC" }, |
| 378 | {.listName: "スナップショット[ActorMovement]" , .executeGroup: "ActorMovement" , .listMaxSize: 1, .groupType: "地形オブジェ" }, |
| 379 | // Custom Tables |
| 380 | {.listName: "PuppetActor" , .executeGroup: "ActorMovementCalcAnim" , .listMaxSize: 512, .groupType: "ボス" }}; |
| 381 | |
| 382 | constexpr bool strings_equal(const char* a, const char* b) { |
| 383 | return *a == *b && (*a == '\0' || strings_equal(a: a + 1, b: b + 1)); |
| 384 | } |
| 385 | |
| 386 | static constexpr s32 getUpdateTableIndex(const char* listName) { |
| 387 | for (u64 i = 0; i < sizeof(updateTableArr) / sizeof(updateTableArr[0]); i++) |
| 388 | if (strings_equal(a: updateTableArr[i].listName, b: listName)) |
| 389 | return i; |
| 390 | return 0; |
| 391 | } |
| 392 | |
| 393 | static constexpr al::ExecuteTable |
| 394 | createUpdateTable(const char* tableName, const char* startListName, const char* endListName) { |
| 395 | al::ExecuteTable drawTable; |
| 396 | drawTable.name = tableName; |
| 397 | s32 startIndex = getUpdateTableIndex(listName: startListName); |
| 398 | drawTable.executeOrders = &updateTableArr[startIndex]; |
| 399 | drawTable.executeOrderCount = (getUpdateTableIndex(listName: endListName) - startIndex) + 1; |
| 400 | return drawTable; |
| 401 | } |
| 402 | |
| 403 | static constexpr s32 getDrawTableIndex(const char* listName, const char* groupName) { |
| 404 | for (u64 i = 0; i < sizeof(drawTableArr) / sizeof(drawTableArr[0]); i++) |
| 405 | if (strings_equal(a: drawTableArr[i].listName, b: listName) && |
| 406 | strings_equal(a: drawTableArr[i].executeGroup, b: groupName)) |
| 407 | return i; |
| 408 | return 0; |
| 409 | } |
| 410 | |
| 411 | static constexpr al::ExecuteTable createDrawTable(const char* tableName, const char* startListName, |
| 412 | const char* groupStartName, |
| 413 | const char* endListName, |
| 414 | const char* groupEndName) { |
| 415 | al::ExecuteTable drawTable; |
| 416 | drawTable.name = tableName; |
| 417 | s32 startIndex = getDrawTableIndex(listName: startListName, groupName: groupStartName); |
| 418 | drawTable.executeOrders = &drawTableArr[startIndex]; |
| 419 | drawTable.executeOrderCount = (getDrawTableIndex(listName: endListName, groupName: groupEndName) - startIndex) + 1; |
| 420 | return drawTable; |
| 421 | } |
| 422 | |
| 423 | constexpr al::ExecuteTable DrawTable[] = { |
| 424 | createDrawTable(tableName: "3D(カリング)" , startListName: "カリング" , groupStartName: "ActorModelDrawCulling" , endListName: "カリング" , |
| 425 | groupEndName: "ActorModelDrawCulling" ), |
| 426 | createDrawTable(tableName: "3D(デプスシャドウ)" , startListName: "デプスシャドウ[キャラクター]" , |
| 427 | groupStartName: "ActorModelDrawDepthShadow" , endListName: "デプスシャドウ[独自]" , groupEndName: "Functor" ), |
| 428 | createDrawTable(tableName: "3D(デプスシャドウプレイヤー)" , startListName: "デプスシャドウ[プレイヤー]" , |
| 429 | groupStartName: "ActorModelDrawDepthShadow" , endListName: "Mii[顔モデル](デプスシャドウ)" , groupEndName: "Draw" ), |
| 430 | createDrawTable(tableName: "3D(スタティックデプスシャドウ)" , startListName: "スタティックデプスシャドウ[地形]" , |
| 431 | groupStartName: "ActorModelDrawStaticDepthShadow" , endListName: "スタティックデプスシャドウ[地形]" , |
| 432 | groupEndName: "ActorModelDrawStaticDepthShadow" ), |
| 433 | createDrawTable(tableName: "3D(ワールドAo)" , startListName: "ワールドAo[地形]" , groupStartName: "ActorModelDrawWorldAo" , |
| 434 | endListName: "ワールドAo[地形]" , groupEndName: "ActorModelDrawWorldAo" ), |
| 435 | createDrawTable(tableName: "3D(海用デプス)" , startListName: "海用デプス[浜辺]" , groupStartName: "ActorModelDrawWorldAo" , |
| 436 | endListName: "海用デプス[高さ]" , groupEndName: "ActorModelDrawWorldAo" ), |
| 437 | createDrawTable(tableName: "3D(空)" , startListName: "空" , groupStartName: "ActorModelDraw" , endListName: "空" , groupEndName: "ActorModelDraw" ), |
| 438 | createDrawTable(tableName: "3D(不透明Zプリパス)" , startListName: "Zプリパス[カリング]" , groupStartName: "ActorModelDrawDepthOnly" , |
| 439 | endListName: "プレイヤー" , groupEndName: "ActorModelDrawDepthDither" ), |
| 440 | createDrawTable(tableName: "3D(ディファード地形)" , startListName: "地形オブジェ[地形前]" , groupStartName: "ActorModelDrawDeferred" , |
| 441 | endListName: "地形[埋没]" , groupEndName: "ActorModelDrawDeferred" ), |
| 442 | createDrawTable(tableName: "3D(ディファード鏡映り込みなし)" , startListName: "地形[鏡映り込みなし]" , |
| 443 | groupStartName: "ActorModelDrawDeferred" , endListName: "地形[鏡映り込みなし]" , groupEndName: "ActorModelDrawDeferred" ), |
| 444 | createDrawTable(tableName: "3D(ディファードキャラクター)" , startListName: "シャドウマスク[地形オブジェ]" , groupStartName: "Draw" , |
| 445 | endListName: "アイテム[ディファード不透明のみ]" , groupEndName: "ActorModelDrawDeferredOpa" ), |
| 446 | createDrawTable(tableName: "3D(ディファード異空間)" , startListName: "異空間オブジェ" , groupStartName: "ActorModelDrawDeferred" , |
| 447 | endListName: "異空間オブジェ" , groupEndName: "ActorModelDrawDeferred" ), |
| 448 | createDrawTable(tableName: "3D(ディファードプレイヤー)" , startListName: "シャドウマスク[プレイヤー]" , groupStartName: "Draw" , |
| 449 | endListName: "プレイヤー装飾[ディファード不透明のみ]" , groupEndName: "ActorModelDrawDeferredOpa" ), |
| 450 | createDrawTable(tableName: "3D(ディファード中景)" , startListName: "地形オブジェ[キャラ後]" , groupStartName: "ActorModelDrawDeferred" , |
| 451 | endListName: "ディファード空[デモ]" , groupEndName: "ActorModelDrawDeferredSky" ), |
| 452 | createDrawTable(tableName: "3D(ディファード半透明)" , startListName: "地形[ディファード半透明]" , |
| 453 | groupStartName: "ActorModelDrawDeferredXlu" , endListName: "アクター描画" , groupEndName: "ActorDraw" ), |
| 454 | createDrawTable(tableName: "3D(デプスクリアプレイヤー)" , startListName: "プレイヤー" , groupStartName: "ActorModelDrawDepthForce" , |
| 455 | endListName: "プレイヤー装飾[インダイレクトのみ]" , groupEndName: "ActorModelDrawDepthForce" ), |
| 456 | createDrawTable(tableName: "3D(フォワード遠景)" , startListName: "遠景[ライトバッファ]" , groupStartName: "ActorModelDraw" , |
| 457 | endListName: "大気散乱雲近距離[ライトバッファのみ]" , groupEndName: "ActorModelDrawForwardOnly" ), |
| 458 | createDrawTable(tableName: "3D(フォワードプレイヤー)" , startListName: "Zプリパス[プレイヤー]" , |
| 459 | groupStartName: "ActorModelDrawDepthOnly" , endListName: "プレイヤー装飾[ディファード不透明のみ]" , |
| 460 | groupEndName: "ActorModelDrawForwardForce" ), |
| 461 | createDrawTable(tableName: "3D(フォワード)" , startListName: "半透明Zプリパス" , groupStartName: "ActorModelDrawDepthXlu" , |
| 462 | endListName: "アクター描画[フォワード]" , groupEndName: "ActorDraw" ), |
| 463 | createDrawTable(tableName: "3D(インダイレクト)" , startListName: "半透明Zプリパス[インダイレクト]" , |
| 464 | groupStartName: "ActorModelDrawDepthIndirect" , endListName: "アクター描画[インダイレクト]" , groupEndName: "ActorDraw" ), |
| 465 | createDrawTable(tableName: "3D(インダイレクト後フォワード)" , startListName: "半透明Zプリパス[インダイレクト後]" , |
| 466 | groupStartName: "ActorModelDrawDepthIndirect" , endListName: "敵[フォワードインダイレクト後]" , |
| 467 | groupEndName: "ActorModelDraw" ), |
| 468 | createDrawTable(tableName: "3D(インダイレクト後遠景)" , startListName: "大気散乱雲[インダイレクト後]" , |
| 469 | groupStartName: "ActorModelDraw" , endListName: "大気散乱雲[インダイレクト後のみ]" , |
| 470 | groupEndName: "ActorModelDrawForwardOnly" ), |
| 471 | createDrawTable(tableName: "3D(フォグ後インダイレクト)" , startListName: "地形[インダイレクトフォグ後]" , |
| 472 | groupStartName: "ActorModelDrawIndirect" , endListName: "アイテム[インダイレクトフォグ後のみ]" , |
| 473 | groupEndName: "ActorModelDrawIndirectOnly" ), |
| 474 | createDrawTable(tableName: "3D(フォグ後遠景)" , startListName: "遠景[フォグ後]" , groupStartName: "ActorModelDraw" , |
| 475 | endListName: "大気散乱雲[フォグ後のみ]" , groupEndName: "ActorModelDrawForwardOnly" ), |
| 476 | createDrawTable(tableName: "3D(フォグ後)" , startListName: "半透明Zプリパス[フォグ後]" , groupStartName: "ActorModelDrawDepthXlu" , |
| 477 | endListName: "NPC[フォグ後のみ]" , groupEndName: "ActorModelDrawForwardOnly" ), |
| 478 | createDrawTable(tableName: "3D(クロマキーZプリパス)" , startListName: "Zプリパス[プレイヤークロマキー]" , |
| 479 | groupStartName: "ActorModelDrawDepthChromakey" , endListName: "Zプリパス[ディザクロマキー]" , |
| 480 | groupEndName: "ActorModelDrawDitherChromakey" ), |
| 481 | createDrawTable(tableName: "3D(クロマキープレイヤー)" , startListName: "プレイヤー[クロマキー]" , |
| 482 | groupStartName: "ActorModelDrawPlayerChromakey" , endListName: "プレイヤー[クロマキー半透明]" , |
| 483 | groupEndName: "ActorModelDrawPlayerChromakeyXlu" ), |
| 484 | createDrawTable(tableName: "3D(クロマキーキャラクター)" , startListName: "NPC[クロマキー]" , |
| 485 | groupStartName: "ActorModelDrawCharacterChromakey" , endListName: "NPC[クロマキー]" , |
| 486 | groupEndName: "ActorModelDrawCharacterChromakey" ), |
| 487 | createDrawTable(tableName: "2Dバック(メイン画面)" , startListName: "2Dバック" , groupStartName: "LayoutDraw" , endListName: "2Dバック" , |
| 488 | groupEndName: "LayoutDraw" ), |
| 489 | createDrawTable(tableName: "2Dベース(メイン画面)" , startListName: "2Dベース" , groupStartName: "LayoutDraw" , endListName: "2D通知" , |
| 490 | groupEndName: "LayoutDraw" ), |
| 491 | createDrawTable(tableName: "2Dエフェクト(メイン画面)" , startListName: "2Dベースエフェクト" , groupStartName: "Draw" , |
| 492 | endListName: "2Dベースエフェクト" , groupEndName: "Draw" ), |
| 493 | createDrawTable(tableName: "2Dオーバー(メイン画面)" , startListName: "2Dヘッド" , groupStartName: "LayoutDraw" , endListName: "2Dリザルト" , |
| 494 | groupEndName: "LayoutDraw" ), |
| 495 | createDrawTable(tableName: "2D(デモ画面)" , startListName: "2Dデモベース" , groupStartName: "LayoutDraw" , endListName: "2Dデモカーソル" , |
| 496 | groupEndName: "LayoutDraw" ), |
| 497 | createDrawTable(tableName: "ポストエフェクトマスク" , startListName: "ポストエフェクトマスク" , |
| 498 | groupStartName: "ActorModelDrawPostEffectMask" , endListName: "ポストエフェクトマスク" , |
| 499 | groupEndName: "ActorModelDrawPostEffectMask" ), |
| 500 | createDrawTable(tableName: "アクター描画(独自レンダーターゲット)" , |
| 501 | startListName: "アクター描画[独自レンダーターゲット]" , groupStartName: "ActorDraw" , |
| 502 | endListName: "アクター描画[独自レンダーターゲット]" , groupEndName: "ActorDraw" ), |
| 503 | createDrawTable(tableName: "アクター描画(プロジェクト固有)" , startListName: "アクター描画(プロジェクト固有)" , |
| 504 | groupStartName: "ActorDraw" , endListName: "アクター描画(プロジェクト固有)" , groupEndName: "ActorDraw" ), |
| 505 | createDrawTable(tableName: "モデル描画バッファ更新" , startListName: "モデル描画バッファ更新" , groupStartName: "ActorModelDrawUpdate" , |
| 506 | endListName: "モデル描画バッファ更新" , groupEndName: "ActorModelDrawUpdate" ), |
| 507 | createDrawTable(tableName: "3D(ワールドマップディファード)" , startListName: "ワールドマップ地形" , |
| 508 | groupStartName: "ActorModelDrawDeferred" , endListName: "ワールドマップ地形[ディファード半透明]" , |
| 509 | groupEndName: "ActorModelDrawDeferredXlu" ), |
| 510 | createDrawTable(tableName: "3D(ワールドマップフォワード)" , startListName: "ワールドマップ地形[フォワード]" , |
| 511 | groupStartName: "ActorModelDraw" , endListName: "ワールドマップ地形オブジェ[フォワード]" , groupEndName: "ActorModelDraw" ), |
| 512 | createDrawTable(tableName: "2D(ワールドマップ画面)" , startListName: "2Dワールドマップベース" , groupStartName: "LayoutDraw" , |
| 513 | endListName: "2Dワールドマップ" , groupEndName: "LayoutDraw" ), |
| 514 | createDrawTable(tableName: "2D(ムーンゲット画面)" , startListName: "2D(ムーンゲット)" , groupStartName: "LayoutDraw" , |
| 515 | endListName: "2Dワイプ(ムーンゲット)" , groupEndName: "LayoutDraw" ), |
| 516 | createDrawTable(tableName: "2D(スナップショット)" , startListName: "2Dスナップショット" , groupStartName: "LayoutDraw" , |
| 517 | endListName: "2Dスナップショット" , groupEndName: "LayoutDraw" ), |
| 518 | createDrawTable(tableName: "2D(撮影用)" , startListName: "2D撮影用" , groupStartName: "LayoutDraw" , endListName: "2D撮影用" , groupEndName: "LayoutDraw" ), |
| 519 | createDrawTable(tableName: "2D(ミス)" , startListName: "2Dミス" , groupStartName: "LayoutDraw" , endListName: "2Dミス" , groupEndName: "LayoutDraw" ), |
| 520 | }; |
| 521 | |
| 522 | constexpr s32 DrawTableSize = sizeof(DrawTable) / sizeof(DrawTable[0]); |
| 523 | |
| 524 | constexpr al::ExecuteTable UpdateTable[] = { |
| 525 | createUpdateTable(tableName: "更新" , startListName: "ステージ同期カウンタ" , endListName: "エフェクト(後処理)" ), |
| 526 | createUpdateTable(tableName: "ビュー更新(コア1)" , startListName: "ビュー更新(コア1)" , endListName: "ビュー更新(コア1)" ), |
| 527 | createUpdateTable(tableName: "ビュー更新(コア2)" , startListName: "ビュー更新(コア2)" , endListName: "ビュー更新(コア2)" ), |
| 528 | createUpdateTable(tableName: "スナップショット" , startListName: "スナップショット[CalcAnim]" , |
| 529 | endListName: "スナップショット[ActorMovement]" ), |
| 530 | }; |
| 531 | |
| 532 | constexpr s32 UpdateTableSize = sizeof(UpdateTable) / sizeof(UpdateTable[0]); |
| 533 | |