Guest User

Untitled

a guest
Nov 4th, 2011
976
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. -- グローバル変数
  2. global("g_IsDebugSequence", 0); -- デバッグシーケンスフラグ
  3. -- モード
  4. global("MODULE_INIT",           "AppInit");
  5. global("MODULE_LOGO",           "Logo");
  6. global("MODULE_TITLE",          "Title");
  7. global("MODULE_STORY",          "Story");
  8. global("MODULE_MENU",           "Menu");
  9. global("MODULE_DEBUGMENU",      "DebugMenu");
  10. global("MODULE_PLAYABLEMENU",   "PlayableMenu");
  11. global("MODULE_STAGE",          "Stage");
  12. global("MODULE_EVENT",          "Event");
  13. global("MODULE_STAGEEVENT",     "StageEvent");
  14. global("MODULE_STAFFROLL",      "StaffRoll");
  15. global("MODULE_EXIT",           "AppExit");
  16. global("MODULE_GENESIS",        "Genesis");
  17. global("MODULE_ONLINESTAGE",    "OnlineStage");
  18. global("MODULE_SAVE",           "Save");
  19. global("MODULE_NOTICEBOARD",    "NoticeBoard");
  20. global("MODULE_NOTICE_SONICT",  "NoticeSonicT");    -- ソニックチーム
  21. global("MODULE_NOTICE_ESRB",    "NoticeEsrb");      -- ESRBレイティング表示
  22. global("MODULE_NOTICE_STEREO",  "NoticeStereo");    -- 立体視警告
  23. global("MODULE_NOTICE_TEASER",  "NoticeTeaser");    -- ティザームービー
  24. global("MODULE_STATUE",         "Statue");          -- スタチュー部屋
  25. global("MODULE_DEBUGINIT",      "DebugInit");       -- デバッグシーケンス用初期化
  26. global("MODULE_SUPERSONIC",     "SuperSonic");      -- スーパーソニック
  27. global("MODULE_NOTICE_HAVOK",   "NoticeHavok");     -- Havok&Dolby
  28. global("MODULE_NOTICE_CESA",    "NoticeCesa");      -- CESA警告
  29.  
  30. local s_Sequence = nil
  31.  
  32. -- シーケンス起動
  33. function createSequenceActor()
  34.     -- MainSequence作成
  35.     s_Sequence = MainSequence:new()
  36. end
  37.  
  38. -- シーケンス終了
  39. function destroySequenceActor()
  40.     if s_Sequence ~= nil then
  41.         -- MainSequence削除
  42.         g_Scheduler:delete_actor(s_Sequence)
  43.     end
  44. end
  45.  
  46. function getNextModule()
  47.     local module = GetNextModule()
  48.  
  49.     if module == "Logo" then
  50.         return MODULE_LOGO
  51.     elseif module == "PlayableMenu" then
  52.         return MODULE_PLAYABLEMENU
  53.     elseif module == "Title" then
  54.         return MODULE_TITLE
  55.     elseif module == "Story" then
  56.         return MODULE_STORY
  57.     elseif module == "Menu" then
  58.         return MODULE_MENU
  59.     elseif module == "Stage" then
  60.         return MODULE_STAGE
  61.     elseif module == "Event" then
  62.         return MODULE_EVENT
  63.     elseif module == "StageEvent" then
  64.         return MODULE_STAGEEVENT
  65.     elseif module == "StaffRoll" then
  66.         return MODULE_STAFFROLL
  67.     elseif module == "Genesis" then
  68.         return MODULE_GENESIS
  69.     elseif module == "OnlineStage" then
  70.         return MODULE_ONLINESTAGE
  71.     elseif module == "NoticeSonicT" then
  72.         return MODULE_NOTICE_SONICT
  73.     elseif module == "NoticeEsrb" then
  74.         return MODULE_NOTICE_ESRB
  75.     elseif module == "NoticeStereo" then
  76.         return MODULE_NOTICE_STEREO
  77.     elseif module == "Statue" then
  78.         return MODULE_STATUE
  79.     elseif module == "DebugInit" then
  80.         return MODULE_DEBUGINIT
  81.     elseif module == "Save" then
  82.         return MODULE_SAVE
  83.     else
  84.         return nil
  85.     end
  86. end
  87.  
  88. --[[
  89.     MainSequence Class
  90. ]]
  91. subclass ("MainSequence", Actor) {
  92.     __tostring = function()
  93.         return("MainSequence")
  94.     end
  95. }
  96.  
  97. function MainSequence:ctor(...)
  98.     MainSequence.super.ctor(self, ...)
  99.  
  100.     -- シーケンステーブル作成
  101.     self.sequence_table = {}
  102.     local seqtbl = self.sequence_table
  103.  
  104.     -- シーケンス登録
  105.     seqtbl[MODULE_INIT] = SequenceInit:new(self)
  106.     seqtbl[MODULE_LOGO] = SequenceLogo:new(self)
  107.     seqtbl[MODULE_TITLE] = SequenceTitle:new(self)
  108.     seqtbl[MODULE_STORY] = SequenceStory:new(self)
  109.     seqtbl[MODULE_MENU] = SequenceMenu:new(self)
  110.     seqtbl[MODULE_DEBUGMENU] = SequenceDebugMenu:new(self)
  111.     seqtbl[MODULE_PLAYABLEMENU] = SequencePlayableMenu:new(self)
  112.     seqtbl[MODULE_STAGE] = SequenceStage:new(self)
  113.     seqtbl[MODULE_EVENT] = SequenceEvent:new(self)
  114.     seqtbl[MODULE_STAGEEVENT] = SequenceStageEvent:new(self)
  115.     seqtbl[MODULE_STAFFROLL] = SequenceStaffRoll:new(self)
  116.     seqtbl[MODULE_EXIT] = SequenceExit:new(self)
  117.     seqtbl[MODULE_GENESIS] = SequenceGenesis:new(self)
  118.     seqtbl[MODULE_ONLINESTAGE] = SequenceOnlineStage:new(self)
  119.     seqtbl[MODULE_SAVE] = SequenceSave:new(self)
  120.     seqtbl[MODULE_NOTICE_SONICT] = SequenceNoticeBoard:new(self, 3, true, false, false, false, "ui_nb_sonicteam", 2.0, MODULE_NOTICE_HAVOK, MODULE_NOTICE_HAVOK)
  121.     seqtbl[MODULE_NOTICE_ESRB] = SequenceNoticeESRB:new(self)
  122.     seqtbl[MODULE_NOTICE_STEREO] = SequenceNoticeStereo:new(self)
  123.     seqtbl[MODULE_NOTICE_TEASER] = SequenceNoticeTeaser:new(self)
  124.     seqtbl[MODULE_STATUE] = SequenceStatue:new(self)
  125.     seqtbl[MODULE_DEBUGINIT] = SequenceDebugInit:new(self)
  126.     seqtbl[MODULE_SUPERSONIC] = SequenceNoticeBoard:new(self, 3, true, true, false, false, "ui_nb_super_sonic", 5.0, MODULE_SAVE, MODULE_SAVE)
  127.     seqtbl[MODULE_NOTICE_HAVOK] = SequenceNoticeHavok:new(self)
  128.     seqtbl[MODULE_NOTICE_CESA] = SequenceNoticeCesa:new(self)
  129.  
  130.     -- モード設定
  131.     self.module = MODULE_INIT
  132.     self.prev_module = MODULE_INIT
  133.     seqtbl[self.module]:initialize()
  134. end
  135.  
  136. function MainSequence:update(act)
  137.     local smodule = self.module
  138.     local seqtbl = self.sequence_table
  139.  
  140.     local ret = seqtbl[smodule]:execute()
  141.  
  142.     -- ゲームをやめたとき(ソフトリセット?)
  143.     local is_quit = IsQuitGame()
  144.     if is_quit == 1 then
  145.         self.module = MODULE_TITLE; -- タイトルへ移行
  146.         seqtbl[self.module]:initialize()
  147.         return true
  148.     end
  149.  
  150.     if ret == "Exit" then
  151.         s_Sequence = nil
  152.         return false    -- Actor exit
  153.     elseif ret == nil then
  154.         PringString("MainSequence: Don't set next module.")
  155.     else
  156.         -- 返り値のモードへ変更
  157.         self.prev_module = self.module
  158.         self.module = ret
  159.         seqtbl[ret]:initialize()
  160.     end
  161.  
  162.     return true -- Actor continue
  163. end
  164.  
  165. function MainSequence:getPrevModule()
  166.     return self.prev_module
  167. end
  168.  
  169.  
  170. --[[
  171.     SequenceBase Class
  172. ]]
  173. class ("SequenceBase") {
  174.     __tostring = function(self)
  175.         return("Sequence Module "..self.module_name)
  176.     end
  177. }
  178.  
  179. function SequenceBase:ctor(...)
  180.     local t = {...}
  181.  
  182.     self.manager = t[1]
  183. end
  184.  
  185. function SequenceBase:initialize()
  186. end
  187.  
  188. function SequenceBase:execute()
  189. end
  190.  
  191.  
  192. --[[
  193.     SequenceInit Class
  194. ]]
  195. subclass ("SequenceInit", SequenceBase) {
  196. }
  197.  
  198. function SequenceInit:ctor(...)
  199.     SequenceInit.super.ctor(self, ...)
  200.  
  201.     self.module_name = MODULE_INIT
  202. end
  203.  
  204. function SequenceInit:initialize()
  205.     StartModule( self.module_name );
  206. end
  207.  
  208. function SequenceInit:execute()
  209.     -- ストーリーシーケンススクリプトロード
  210.     LoadScript("StorySequence");
  211.     LoadScript("StorySequenceUtility");
  212.     Actor:wait_step( WaitEndModule )
  213.  
  214.     if g_IsDebugSequence == 0 then
  215.         return MODULE_NOTICE_CESA
  216. --      return MODULE_LOGO
  217. --      return MODULE_TITLE
  218.     else
  219.         return MODULE_DEBUGINIT
  220.     end
  221. end
  222.  
  223.  
  224. --[[
  225.     SequenceLogo Class
  226. ]]
  227. subclass ("SequenceLogo", SequenceBase) {
  228. }
  229.  
  230. function SequenceLogo:ctor(...)
  231.     SequenceLogo.super.ctor(self, ...)
  232.  
  233.     self.module_name = MODULE_LOGO
  234.     self.data_name = "logo"
  235.     self.arch_name = "logo.ar"
  236. end
  237.  
  238. function SequenceLogo:initialize()
  239.     StartModule( self.module_name )
  240.     -- ファイルロードリクエスト
  241. --  LoadArchive(self.data_name, self.arch_name)
  242. end
  243.  
  244. function SequenceLogo:execute()
  245. --  Actor:wait_step( WaitLoading, {self.data_name} )
  246.     Actor:wait_step( WaitEndModule )
  247. --  UnloadArchive( self.data_name )
  248.  
  249.     local ret = GetEndState()
  250.  
  251.     if ret == 0 then
  252.         -- 正規シーケンスへ切り替え
  253.         SetDebugSequence(0);
  254.     else
  255.         -- デバッグシーケンスへ切り替え
  256.         SetDebugSequence(1);
  257.     end
  258.  
  259.     return MODULE_NOTICE_SONICT
  260. end
  261.  
  262.  
  263. --[[
  264.     SequenceTitle Class
  265. ]]
  266. subclass ("SequenceTitle", SequenceBase) {
  267. }
  268.  
  269. function SequenceTitle:ctor(...)
  270.     SequenceTitle.super.ctor(...)
  271.  
  272.     self.module_name = MODULE_TITLE
  273. end
  274.  
  275. function SequenceTitle:initialize()
  276.     StartModule( self.module_name )
  277.     -- ファイルロードリクエスト
  278. --  LoadArchive(self.data_name, self.arch_name)
  279.  
  280.     -- ストーリーシーケンス削除
  281.     DestroyStory();
  282. end
  283.  
  284. function SequenceTitle:execute()
  285. --  Actor:wait_step( WaitLoading, {self.data_name} )
  286.     Actor:wait_step( WaitEndModule )
  287. --  UnloadArchive( self.data_name )
  288.  
  289.     local module = getNextModule();
  290.  
  291.     if module ~= nil then
  292.         return module;
  293.     else
  294.         local ret = GetEndState()
  295.  
  296.         if ret == 2 then
  297.             -- オンライン
  298.             return MODULE_ONLINESTAGE;
  299.         elseif ret == 1 then
  300.             -- ムービー
  301.             return MODULE_NOTICE_TEASER;
  302.         else
  303.             return MODULE_STORY;
  304.         end
  305.     end
  306. end
  307.  
  308.  
  309. --[[
  310.     SequenceStory Class
  311. ]]
  312. subclass ("SequenceStory", SequenceBase) {
  313. }
  314.  
  315. function SequenceStory:ctor(...)
  316.     SequenceStory.super.ctor(self, ...);
  317.  
  318.     self.module_name = MODULE_STORY;
  319.     self.prev_module = nil;
  320. end
  321.  
  322. function SequenceStory:initialize()
  323.     PrintString("Sequence Story Start");
  324. --  StartModule( self.module_name );    -- StartModuleしなければアプリケーション側にモードを用意する必要ない
  325.  
  326.     -- ストーリーシーケンス開始
  327.     StartStory();
  328. end
  329.  
  330. function SequenceStory:execute()
  331.     Actor:wait_step( WaitSkipStory );
  332.  
  333.     PrintString("Sequence Story End");
  334.  
  335.     if g_IsDebugSequence == 0 then
  336.         return storyGetNextModuleFromTitle();
  337.     else
  338.         return MODULE_MENU;
  339.     end
  340. end
  341.  
  342.  
  343. --[[
  344.     SequenceMenu Class
  345. ]]
  346. subclass ("SequenceMenu", SequenceBase) {
  347. }
  348.  
  349. function SequenceMenu:ctor(...)
  350.     SequenceMenu.super.ctor(self, ...);
  351.  
  352.     self.module_name = MODULE_MENU;
  353. end
  354.  
  355. function SequenceMenu:initialize()
  356.     PrintString("Sequence Menu Start");
  357. --  StartModule( self.module_name ) -- StartModuleしなければアプリケーション側にモードを用意する必要ない
  358. end
  359.  
  360. function SequenceMenu:execute()
  361.     PrintString("Sequence Menu End");
  362.     if g_IsDebugSequence == 0 then
  363.         storySetNextPam();
  364.         return MODULE_PLAYABLEMENU;
  365.     else
  366.         return MODULE_DEBUGMENU;
  367.     end
  368. end
  369.  
  370.  
  371. --[[
  372.     SequenceDebugMenu Class
  373. ]]
  374. subclass ("SequenceDebugMenu", SequenceBase) {
  375. }
  376.  
  377. function SequenceDebugMenu:ctor(...)
  378.     SequenceDebugMenu.super.ctor(self, ...);
  379.  
  380.     self.module_name = MODULE_DEBUGMENU;
  381. end
  382.  
  383. function SequenceDebugMenu:initialize()
  384.     StartModule( self.module_name );
  385. end
  386.  
  387. function SequenceDebugMenu:execute()
  388.     Actor:wait_step( WaitEndModule );
  389.  
  390.     local ret = GetEndState();
  391.  
  392.     if ret == 0 then
  393.         local module = getNextModule();
  394.         if module == nil then
  395.             return MODULE_STAGE;
  396.         else
  397.             return module;
  398.         end
  399.     else
  400.         return MODULE_TITLE;
  401.     end
  402. end
  403.  
  404.  
  405. --[[
  406.     SequencePlayableMenu Class
  407. ]]
  408. subclass ("SequencePlayableMenu", SequenceBase) {
  409. }
  410.  
  411. function SequencePlayableMenu:ctor(...)
  412.     SequencePlayableMenu.super.ctor(self, ...);
  413.  
  414.     self.module_name = MODULE_PLAYABLEMENU;
  415. --  self.data_name = "pam000";
  416. --  self.arch_name = "pam000.ar";
  417. end
  418.  
  419. function SequencePlayableMenu:initialize()
  420.     StartModule( self.module_name );
  421.     -- ファイルロードリクエスト
  422. --  LoadArchive(self.data_name, self.arch_name)
  423. end
  424.  
  425. function SequencePlayableMenu:execute()
  426. --  Actor:wait_step( WaitLoading, {self.data_name} )
  427.     Actor:wait_step( WaitEndModule );
  428. --  UnloadArchive( self.data_name )
  429.  
  430.     local ret = GetEndState();
  431.  
  432.     if ret == 0 then
  433.         return storyGetNextModuleFromPam();
  434.     else
  435.         return MODULE_TITLE;
  436.     end
  437. end
  438.  
  439.  
  440. --[[
  441.     SequenceStage Class
  442. ]]
  443. subclass ("SequenceStage", SequenceBase) {
  444. }
  445.  
  446. function SequenceStage:ctor(...)
  447.     SequenceStage.super.ctor(self, ...)
  448.  
  449.     self.module_name = MODULE_STAGE;
  450.     self.stage_name = nil;
  451. end
  452.  
  453. function SequenceStage:initialize()
  454.     StartModule( self.module_name );
  455.     -- ステージ名取得
  456.     self.stage_name = GetStageName();
  457. --  local arch_name = self.stage_name .. ".ar";
  458.     -- ファイルロードリクエスト
  459. --  LoadArchive(self.stage_name, arch_name)
  460. end
  461.  
  462. function SequenceStage:execute()
  463. --  Actor:wait_step( WaitLoading, {self.stage_name} )
  464.     Actor:wait_step( WaitEndModule );
  465. --  UnloadArchive( self.stage_name )
  466.  
  467.     if g_IsDebugSequence == 0 then
  468.         local ret = GetEndState();
  469.  
  470.         if ret == 0 then
  471.             return storyGetNextModuleFromStage();
  472.         else
  473.             return storyGetNextModuleFromStageAbort();
  474.         end
  475.     else
  476.         return MODULE_MENU;
  477.     end
  478. end
  479.  
  480.  
  481. --[[
  482.     SequenceEvent Class
  483. ]]
  484. subclass ("SequenceEvent", SequenceBase) {
  485. }
  486.  
  487. function SequenceEvent:ctor(...)
  488.     SequenceEvent.super.ctor(self, ...)
  489.  
  490.     self.module_name = MODULE_EVENT;
  491.     self.event_name = nil;
  492. end
  493.  
  494. function SequenceEvent:initialize()
  495.     StartModule( self.module_name );
  496.     -- イベント名取得
  497. --  self.event_name = GetEventName()
  498.     -- ファイルロードリクエスト
  499. --  LoadArchive(self.stage_name, arch_name)
  500. end
  501.  
  502. function SequenceEvent:execute()
  503. --  Actor:wait_step( WaitLoading, {self.stage_name} )
  504.     Actor:wait_step( WaitEndModule );
  505. --  UnloadArchive( self.stage_name )
  506.  
  507.     local module = getNextModule();
  508.  
  509.     if module ~= nil then
  510.         return module;
  511.     end
  512.  
  513.     return storyGetNextModuleFromEvent();
  514. end
  515.  
  516.  
  517. --[[
  518.     SequenceStageEvent Class
  519. ]]
  520. subclass ("SequenceStageEvent", SequenceBase) {
  521. }
  522.  
  523. function SequenceStageEvent:ctor(...)
  524.     SequenceStageEvent.super.ctor(self, ...)
  525.  
  526.     self.module_name = MODULE_STAGEEVENT;
  527.     self.stage_name = nil;
  528.  
  529.     self.from_event_module = false;
  530. end
  531.  
  532. function SequenceStageEvent:initialize()
  533.     StartModule( self.module_name );
  534.  
  535.     if s_Sequence.prev_module == MODULE_EVENT then
  536.         self.from_event_module = true;
  537.     end
  538.     -- ステージ名取得
  539. --  self.stage_name = GetStageName();
  540. --  local arch_name = self.stage_name .. ".ar";
  541.     -- ファイルロードリクエスト
  542. --  LoadArchive(self.stage_name, arch_name)
  543. end
  544.  
  545. function SequenceStageEvent:execute()
  546. --  Actor:wait_step( WaitLoading, {self.stage_name} )
  547.     Actor:wait_step( WaitEndModule );
  548. --  UnloadArchive( self.stage_name )
  549.  
  550.     if self.from_event_module then
  551.         return MODULE_EVENT;
  552.     else
  553.         return MODULE_MENU;
  554.     end
  555. end
  556.  
  557.  
  558. --[[
  559.     SequenceStaffRoll Class
  560. ]]
  561. subclass ("SequenceStaffRoll", SequenceBase) {
  562. }
  563.  
  564. function SequenceStaffRoll:ctor(...)
  565.     SequenceStaffRoll.super.ctor(self, ...)
  566.  
  567.     self.module_name = MODULE_STAFFROLL;
  568. end
  569.  
  570. function SequenceStaffRoll:initialize()
  571.     StartModule( self.module_name );
  572. end
  573.  
  574. function SequenceStaffRoll:execute()
  575.     Actor:wait_step( WaitEndModule );
  576.  
  577.     local ret = GetEndState();
  578.  
  579.     if ret == 0 then
  580.         return storyGetNextModuleFromStaffRoll();
  581.     else
  582.         -- Abort
  583.         return MODULE_TITLE;
  584.     end
  585. end
  586.  
  587.  
  588. --[[
  589.     SequenceExit Class
  590. ]]
  591. subclass ("SequenceExit", SequenceBase) {
  592. }
  593.  
  594. function SequenceExit:ctor(...)
  595.     SequenceExit.super.ctor(self, ...)
  596.  
  597.     self.module_name = MODULE_EXIT
  598. end
  599.  
  600. function SequenceExit:initialize()
  601.     StartModule( self.module_name )
  602. end
  603.  
  604. function SequenceExit:execute()
  605.     return 0;
  606. end
  607.  
  608.  
  609. --[[
  610.     SequenceGenesis Class
  611. ]]
  612. subclass ("SequenceGenesis", SequenceBase) {
  613. }
  614.  
  615. function SequenceGenesis:ctor(...)
  616.     SequenceGenesis.super.ctor(self, ...)
  617.  
  618.     self.module_name = MODULE_GENESIS
  619. end
  620.  
  621. function SequenceGenesis:initialize()
  622.     StartModule( self.module_name )
  623. end
  624.  
  625. function SequenceGenesis:execute()
  626.     Actor:wait_step( WaitEndModule )
  627.  
  628.     local ret = GetEndState();
  629.  
  630.     if ret == 0 then
  631.         return MODULE_MENU;
  632.     else
  633.         -- Abort
  634.         return MODULE_TITLE;
  635.     end
  636. end
  637.  
  638.  
  639. --[[
  640.     SequenceOnlineStage Class
  641. ]]
  642. subclass ("SequenceOnlineStage", SequenceBase) {
  643. }
  644.  
  645. function SequenceOnlineStage:ctor(...)
  646.     SequenceOnlineStage.super.ctor(self, ...)
  647.  
  648.     self.module_name = MODULE_ONLINESTAGE
  649. end
  650.  
  651. function SequenceOnlineStage:initialize()
  652.     StartModule( self.module_name )
  653. end
  654.  
  655. function SequenceOnlineStage:execute()
  656.     Actor:wait_step( WaitEndModule )
  657.  
  658.     return MODULE_TITLE;
  659. end
  660.  
  661.  
  662. --[[
  663.     SequenceSave Class
  664. ]]
  665. subclass ("SequenceSave", SequenceBase) {
  666. }
  667.  
  668. function SequenceSave:ctor(...)
  669.     SequenceSave.super.ctor(self, ...)
  670.  
  671.     self.module_name = MODULE_SAVE
  672. end
  673.  
  674. function SequenceSave:initialize()
  675.     StartModule( self.module_name )
  676. end
  677.  
  678. function SequenceSave:execute()
  679.     Actor:wait_step( WaitEndModule )
  680.  
  681.     -- ストーリー終了時のセーブ後はタイトルへ
  682.     return MODULE_TITLE;
  683. end
  684.  
  685.  
  686. --[[
  687.     SequenceNoticeBoard Class
  688. ]]
  689. subclass ("SequenceNoticeBoard", SequenceBase) {
  690. }
  691.  
  692. function SequenceNoticeBoard:ctor(...)
  693.     SequenceNoticeBoard.super.ctor(self, ...)
  694.  
  695.     local t = {...};    -- 要素1はマネージャなので2から使用する
  696.  
  697.     self.module_name = MODULE_NOTICEBOARD
  698.     self.notice_type = t[2]     -- 0:Logo20  1:Splash  2:Movie  3:NoticeBoard
  699.     self.notice_flag = 0
  700.     if t[3] == true then    -- Enable Skip
  701.         self.notice_flag = self.notice_flag + 1
  702.     end
  703.     if t[4] == true then    -- Show Guide Button
  704.         self.notice_flag = self.notice_flag + 2
  705.     end
  706.     if t[5] == true then    -- Enter BG White
  707.         self.notice_flag = self.notice_flag + 4
  708.     end
  709.     if t[6] == true then    -- Leave BG White
  710.         self.notice_flag = self.notice_flag + 8
  711.     end
  712.     self.data_name = t[7]
  713.     self.disp_time = t[8]
  714.  
  715.     self.next_module0 = t[9]
  716.     self.next_module1 = t[10]
  717.  
  718.     self.force_time = 0.0
  719. end
  720.  
  721. function SequenceNoticeBoard:initialize()
  722.     StartModule( MODULE_NOTICEBOARD )
  723.  
  724.     SetNoticeBoardParam(self.notice_type, self.notice_flag, self.data_name, self.disp_time, self.force_time);
  725. end
  726.  
  727. function SequenceNoticeBoard:execute()
  728.     Actor:wait_step( WaitEndModule )
  729.  
  730.     local ret = GetEndState();
  731.  
  732.     if ret == 0 then
  733.         return self.next_module0;
  734.     else
  735.         return self.next_module1;
  736.     end
  737. end
  738.  
  739.  
  740. --[[
  741.     SequenceNoticeESRB Class
  742. ]]
  743. subclass ("SequenceNoticeESRB", SequenceBase) {
  744. }
  745.  
  746. function SequenceNoticeESRB:ctor(...)
  747.     SequenceNoticeESRB.super.ctor(self, ...)
  748.  
  749.     local t = {...};
  750.  
  751.     self.module_name = MODULE_NOTICE_ESRB
  752.     self.notice_type = 3        -- 0:Logo20  1:Splash  2:Movie  3:NoticeESRB
  753.     self.notice_flag = 0
  754.     self.data_name = "ui_nb_esrb"
  755.     self.disp_time = 4.0
  756.     self.force_time = 0.0
  757.     self.show = 0
  758. end
  759.  
  760. function SequenceNoticeESRB:initialize()
  761.     self.show = DoShowESRB()
  762.     if self.show == 1 then
  763.         StartModule( MODULE_NOTICEBOARD )
  764.  
  765.         SetNoticeBoardParam(self.notice_type, self.notice_flag, self.data_name, self.disp_time, self.force_time);
  766.     end
  767. end
  768.  
  769. function SequenceNoticeESRB:execute()
  770.     if self.show == 1 then
  771.         Actor:wait_step( WaitEndModule )
  772.     end
  773.  
  774.     return MODULE_TITLE;
  775. end
  776.  
  777.  
  778. --[[
  779.     SequenceNoticeStereo Class
  780. ]]
  781. subclass ("SequenceNoticeStereo", SequenceBase) {
  782. }
  783.  
  784. function SequenceNoticeStereo:ctor(...)
  785.     SequenceNoticeStereo.super.ctor(self, ...)
  786.  
  787.     local t = {...};
  788.  
  789.     self.module_name = MODULE_NOTICE_STEREO
  790.     self.notice_type = 3        -- 0:Logo20  1:Splash  2:Movie  3:NoticeStereo
  791.     self.notice_flag = 1        -- Enable Skip
  792.     self.data_name = "ui_nb_3DArart"
  793.     self.disp_time = 4.0
  794.     self.force_time = 0.0
  795.     self.show = 0
  796. end
  797.  
  798. function SequenceNoticeStereo:initialize()
  799.     self.show = DoShowNotice3D()
  800.     if self.show == 1 then
  801.         StartModule( MODULE_NOTICEBOARD )
  802.  
  803.         SetNoticeBoardParam(self.notice_type, self.notice_flag, self.data_name, self.disp_time, self.force_time);
  804.     end
  805. end
  806.  
  807. function SequenceNoticeStereo:execute()
  808.     if self.show == 1 then
  809.         Actor:wait_step( WaitEndModule )
  810.     end
  811.  
  812.     return MODULE_LOGO;
  813. end
  814.  
  815.  
  816. --[[
  817.     SequenceNoticeTeaser Class
  818. ]]
  819. subclass ("SequenceNoticeTeaser", SequenceBase) {
  820. }
  821.  
  822. function SequenceNoticeTeaser:ctor(...)
  823.     SequenceNoticeTeaser.super.ctor(self, ...)
  824.  
  825.     local t = {...};
  826.  
  827.     self.module_name = MODULE_NOTICE_TEASER
  828.     self.notice_type = 2        -- 0:Logo20  1:Splash  2:Movie  3:NoticeBoard
  829.     self.notice_flag = 9        -- Skip & Leave White
  830.     self.data_name = nil
  831. end
  832.  
  833. function SequenceNoticeTeaser:initialize()
  834.     StartModule( MODULE_NOTICEBOARD )
  835.     SetNoticeBoardParam(self.notice_type, self.notice_flag, "anniv_teaser.sfd", 0.0, 0.0);
  836. end
  837.  
  838. function SequenceNoticeTeaser:execute()
  839.     Actor:wait_step( WaitEndModule )
  840.  
  841.     return MODULE_TITLE;
  842. end
  843.  
  844.  
  845. --[[
  846.     SequenceStatue Class
  847. ]]
  848. subclass ("SequenceStatue", SequenceBase) {
  849. }
  850.  
  851. function SequenceStatue:ctor(...)
  852.     SequenceStatue.super.ctor(self, ...);
  853.  
  854.     self.module_name = MODULE_STATUE;
  855. end
  856.  
  857. function SequenceStatue:initialize()
  858.     StartModule( self.module_name );
  859. end
  860.  
  861. function SequenceStatue:execute()
  862.     Actor:wait_step( WaitEndModule );
  863.  
  864.     if g_IsDebugSequence == 0 then
  865.         local ret = GetEndState();
  866.  
  867.         if ret == 0 then
  868.             return MODULE_PLAYABLEMENU;
  869.         else
  870.             return MODULE_TITLE;
  871.         end
  872.     else
  873.         return MODULE_DEBUGMENU;
  874.     end
  875. end
  876.  
  877.  
  878. --[[
  879.     SequenceDebugInit Class
  880. ]]
  881. subclass ("SequenceDebugInit", SequenceBase) {
  882. }
  883.  
  884. function SequenceDebugInit:ctor(...)
  885.     SequenceDebugInit.super.ctor(self, ...);
  886.  
  887.     self.module_name = MODULE_DEBUGINIT;
  888. end
  889.  
  890. function SequenceDebugInit:initialize()
  891.     StartModule( self.module_name );
  892. end
  893.  
  894. function SequenceDebugInit:execute()
  895.     Actor:wait_step( WaitEndModule );
  896.  
  897.     return MODULE_STORY;
  898. end
  899.  
  900.  
  901. --[[
  902.     SequenceNoticeHavok Class
  903. ]]
  904. subclass ("SequenceNoticeHavok", SequenceBase) {
  905. }
  906.  
  907. function SequenceNoticeHavok:ctor(...)
  908.     SequenceNoticeHavok.super.ctor(self, ...)
  909.  
  910.     local t = {...};
  911.  
  912.     self.module_name = MODULE_NOTICE_HAVOK
  913.     self.notice_type = 3        -- 0:Logo20  1:Splash  2:Movie  3:NoticeBoard
  914.     self.notice_flag = 0
  915.     self.data_name = "ui_nb_havok"
  916.     self.disp_time = 2.0
  917.     self.force_time = 0.0
  918.     self.show = 0
  919. end
  920.  
  921. function SequenceNoticeHavok:initialize()
  922.     self.show = DoShowHavok()
  923.     if self.show == 1 then
  924.         StartModule( MODULE_NOTICEBOARD )
  925.  
  926.         SetNoticeBoardParam(self.notice_type, self.notice_flag, self.data_name, self.disp_time, self.force_time);
  927.     end
  928. end
  929.  
  930. function SequenceNoticeHavok:execute()
  931.     if self.show == 1 then
  932.         Actor:wait_step( WaitEndModule )
  933.     end
  934.  
  935.     return MODULE_NOTICE_ESRB;
  936. end
  937.  
  938.  
  939. --[[
  940.     SequenceNoticeCesa Class
  941. ]]
  942. subclass ("SequenceNoticeCesa", SequenceBase) {
  943. }
  944.  
  945. function SequenceNoticeCesa:ctor(...)
  946.     SequenceNoticeCesa.super.ctor(self, ...)
  947.  
  948.     local t = {...};
  949.  
  950.     self.module_name = MODULE_NOTICE_CESA
  951.     self.notice_type = 3        -- 0:Logo20  1:Splash  2:Movie  3:NoticeBoard
  952.     self.notice_flag = 1        -- Enable Skip
  953.     self.data_name = "ui_nb_cesa"
  954.     self.disp_time = 5.0
  955.     self.show = 0
  956.  
  957.     local ps3 = IsTargetPS3()
  958.     if ps3 == 1 then
  959.         self.force_time = 2.0
  960.     else
  961.         self.force_time = 0.0
  962.     end
  963. end
  964.  
  965. function SequenceNoticeCesa:initialize()
  966.     self.show = DoShowCesa()
  967.     if self.show == 1 then
  968.         StartModule( MODULE_NOTICEBOARD )
  969.  
  970.         SetNoticeBoardParam(self.notice_type, self.notice_flag, self.data_name, self.disp_time, self.force_time);
  971.     end
  972. end
  973.  
  974. function SequenceNoticeCesa:execute()
  975.     if self.show == 1 then
  976.         Actor:wait_step( WaitEndModule )
  977.     end
  978.  
  979.     return MODULE_NOTICE_STEREO;
  980. end
  981.  
  982.  
  983.  
  984.  
RAW Paste Data