Xenoblade Chronicles/Debugging Leftovers
This is a sub-page of Xenoblade Chronicles.
These files, with the exception of CMD_cmdlist.xls, are found exclusively in the Japanese version of Xenoblade. They're located in the work.pkb archive, which is only found in the Japanese version.
.cpp files are usually C++ code, but in reality these text files use some sort of scripting language designed just for the game. Likewise, .xls files are usually Microsoft Excel spreadsheets, but CMD_cmdlist.xls is just a bunch of names.
.efs is a guess at the original extension for particle effect scripts, which are compiled to .esb. Unfortunately, the file hashes for work.pkb are very simple, so the extension cannot be precisely determined.
...But what does it mean? This game has text or audio that needs to be translated. If you are fluent with this language, please read our translation guidelines and then submit a translation! |
To do: 688.wpo has a header of WPOI and is 2.5 MB in size. File:Xenoblade 1 JPN Wii 688.zip It is found in the archive 'work.pkb', which contains development leftovers and is the largest file in that archive. Is anyone able to decipher its contents? |
Contents
64.cpp
A list of debugging commands that lists keyboard input and comments in Japanese. Interestingly, one of these commands mentions the scrapped casting feature.
//====================================== // デバッグコマンド用マクロ // ※GCコントローラのZボタンでリロード //====================================== //====================================== // F1~F12 //====================================== [F1] SCRIPT 1 1 TSY 1 // スクリプト実行 LOG ON // ログ表示 [F2] SCRIPT 1 1 DEF // デフォルトスクリプト実行 LOG ON [F3] SCRIPT 2 1 DEF // デフォルトスクリプト実行 LOG ON WAIT 1 // プレーヤーの初期化待ち(秒) POS -42300 9070 -5000 PLAYER [F4] POS -42300 9070 -5000 PLAYER [F5] CTRLWII // Wiiリモコン操作切り替え [F6] CTRLGC // GCパッド操作切り替え [F7] DISPINFO // ターゲット表示切替 [F8] CAMREVERSE // カメラ操作リバース [F9] CAMMODE // ゲームカメラ/フリーカメラ切り替え //[F10] ※キーが反応しない [F11] DISPCOST // CPU/GPUコスト表示切替 [F12] DISPDEBUG // デバッグ表示切替 //====================================== // Ctrl + 0~9 //====================================== [C0] SCRIPT 1 1 TSY 0 LOG ON // RADER ON [C1] // SOLO // パーティー解散(一人パーティー) MGS PT // パーティーメンバーを敵に見つからないようにする DW EN // 対象を引き寄せる ACTIVE EN // 対象を戦闘状態にする ATTACK // 抜刀/納刀 INVIN ALL // AASTOP EN FASTRECAST ME // M0 ME // WAIT 1 // NOMOVE EN // C ME [C2] HATECLR [C3] HATE P3 [C4] MGS PT // パーティーメンバーを敵に見つからないようにする [C5] INVIN PT // パーティーメンバーを無敵にする INVIN ACT // アクティブエネミーを無敵にする [C6] AASTOP BTL // 戦闘中キャラの戦闘停止 [C7] MGSOFF PT // エネミーからの感知無効を解除 [C8] INVINOFF PT // パーティーメンバーの無敵解除 INVINOFF ACT // アクティブエネミーの無敵解除 [C9] AASTART BTL // 戦闘中キャラの戦闘再開 //====================================== // Shift + 0~9 //====================================== [S0] TM 0 WAIT 1 TM 12 WAIT 1 TM 18 WAIT 1 TM 0 WAIT 1 [S1] WALKER 1 // シュルクを操作キャラに変更 [S2] WALKER 2 // ラインを操作キャラに変更 [S3] WALKER 3 // フィオルンを操作キャラに変更 [S4] WALKER 4 // ダンバンを操作キャラに変更 [S5] [S6] [S7] [S8] [S9] //====================================== // Ctrl + A~Z //====================================== [CA] ATTACK // 抜刀/納刀 [CB] [CC] CHECK // 情報ウィンドウの表示切替 [CD] DOWN // 対象を転倒させる [CE] [CF] FAINT // 対象を気絶させる [CG] [CH] [CI] INVIN PT // パーティーメンバーを無敵にする [CJ] ACTIVE // 対象を戦闘状態にする [CK] KILL // 対象を殺す [CL] LOG // ログ表示切替 [CM] [CN] [CO] [CP] PAUSE // ポーズ [CQ] [CR] RADER // レーダー表示切替 [CS] [CT] TA ALL // ターゲット選択 [CU] [CV] VISIONINFO // 未来視情報表示 [CW] WP // 対象の近くまでワープ [CX] SWS ME [CY] [CZ] WS1 WS2 //====================================== // Shift + A~Z //====================================== [SA] MGSOFF PT [SB] [SC] [SD] AASTART PT [SE] AASTOP PT [SF] MOVE PT [SG] [SH] [SI] [SJ] [SK] [SL] [SM] [SN] [SO] [SP] [SQ] MGS PT [SR] NOMOVE PT [SS] INVINOFF PT [ST] [SU] [SV] [SW] INVIN PT [SX] [SY] [SZ] //====================================== // Ctrl + Shift + 0~9 //====================================== [CS1] SCNSPD 0 [CS2] SCNSPD 1 [CS3] SCNSPD 5 [CS4] SCNSPD 10 [CS5] SCNSPD 20 [CS6] SCNSPD 50 [CS7] SCNSPD 100 [CS8] SCNSPD 150 [CS9] SCNSPD 200 [CS0] SCNSPD 300 //====================================== // Ctrl + Shift + A~Z //====================================== [CSA] MGSOFF ACT [CSB] [CSC] [CSD] AASTART ACT [CSE] AASTOP ACT [CSF] MOVE ACT [CSG] ARTSENABLE ACT [CSH] AAENABLE ACT [CSI] [CSJ] [CSK] [CSL] [CSM] [CSN] [CSO] [CSP] [CSQ] MGS ACT [CSR] NOMOVE ACT [CSS] INVINOFF ACT [CST] ARTSDISABLE ACT [CSU] [CSV] [CSW] INVIN ACT [CSX] [CSY] AADISABLE ACT [CSZ]
132.cpp
132.cpp is nearly identical to 64.cpp, except for the commands listed under the Ctrl + 0~9 header.
//====================================== // Ctrl + 0~9 //====================================== [C0] SCRIPT 1 1 TSY 3 LOG ON // RADER ON [C1] SOLO // パーティー解散(一人パーティー) MGS PT // パーティーメンバーを敵に見つからないようにする INVIN EN // 全敵無敵 INVIN PT // パーティー無敵 AASTOP EN // 全敵のオートアタック停止 AASTOP PT // パーティーのオートアタック停止 FASTRECAST PT // パーティーにファストリキャスト M0 PT // パーティーの消費MP0 NOMOVE EN // 全敵の移動停止 [C2] SOLO // パーティー解散(一人パーティー) [C3] PARTY // パーティーを組む(3人パーティー) [C4] MGS PT // パーティーメンバーを敵に見つからないようにする [C5] INVIN PT // パーティーメンバーを無敵にする INVIN ACT // アクティブエネミーを無敵にする [C6] AASTOP BTL // 戦闘中キャラの戦闘停止 [C7] MGSOFF PT // エネミーからの感知無効を解除 [C8] INVINOFF PT // パーティーメンバーの無敵解除 INVINOFF ACT // アクティブエネミーの無敵解除 [C9] AASTART BTL // 戦闘中キャラの戦闘再開
Translation
//====================================== // Ctrl + 0~9 //====================================== [C0] SCRIPT 1 1 TSY 3 LOG ON // RADER ON [C1] SOLO // Party dissolution (one-man party) MGS PT // Stop enemies from finding party members INVIN EN // Enemies invincible INVIN PT // Party invincible AASTOP EN // Stops all enemies from auto-attacking AASTOP PT // Stops the party from auto-attacking FASTRECAST PT // Party has Fast Recast M0 PT // Party consumes 0 MP NOMOVE EN // All enemies stop moving [C2] SOLO // Party dissolution (one-man party) [C3] PARTY // Party unites (3 person party) [C4] MGS PT // Stop enemies from finding party members [C5] INVIN PT // Party member becomes invincible INVIN ACT // Active enemy becomes invincible [C6] AASTOP BTL // All characters stop battling [C7] MGSOFF PT // Disable no detection by enemies [C8] INVINOFF PT // Party member is no longer invincible INVINOFF ACT // Active enemy is no longer invincible [C9] AASTART BTL // All characters resume the battle
860.cpp
This script contains debug mode instructions to change characters, activate visions, and move the camera.
//====================================== // デバッグコマンド用マクロ // ※GCコントローラのZボタンでリロード //====================================== //====================================== // F1~F12 //====================================== [F1] SCRIPT 1 1 TSY 0 // スクリプト実行 LOG ON // ログ表示 [F2] SCRIPT 1 1 DEF // デフォルトスクリプト実行 LOG ON [F3] SCRIPT 2 1 DEF // デフォルトスクリプト実行 LOG ON [F4] [F5] REEXEC // 直前の入力コマンド再実行 [F6] RESTART // スクリプト再実行 [F7] DISPINFO // ターゲット表示切替 [F8] // CTRL // コントローラー変更 [F9] CAMMODE // ゲームカメラ/フリーカメラ切り替え //[F10] ※キーが反応しない [F11] DISPCOST // CPU/GPUコスト表示切替 [F12] DISPDEBUG // デバッグ表示切替 //====================================== // Ctrl + 0~9 //====================================== [C0] SCRIPT 1 1 TSY 0 LOG ON // RADER ON [C1] // WALKER 7 // VISION0 // SOLO // パーティー解散(一人パーティー) // BIND EN TAR EN // AISTOP ALL // MGS PT // パーティーメンバーを敵に見つからないようにする // DW EN // 対象を引き寄せる // AISTOP EN ACTIVE EN // 対象を戦闘状態にする // TAR EN // INVIN PT INVIN ALL // FRECAST ME // CACT ME // TP 50 ME // 0RECAST ME // 0CAST ME // WAIT 1 ATTACK ON // 抜刀/納刀 // TP0 ME // CBS ME [C2] SOLO [C3] PARTY [C4] MGS PT // パーティーメンバーを敵に見つからないようにする [C5] INVIN PT // パーティーメンバーを無敵にする INVIN ACT // アクティブエネミーを無敵にする [C6] AISTOP PT AISTOP ACT // 戦闘中キャラの戦闘停止 [C7] MGSOFF PT // エネミーからの感知無効を解除 [C8] INVINOFF PT // パーティーメンバーの無敵解除 INVINOFF ACT // アクティブエネミーの無敵解除 [C9] AISTART PT AISTART ACT // 戦闘中キャラの戦闘再開 //====================================== // Shift + 0~9 //====================================== [S1] WALKER 1 // シュルクを操作キャラに変更 [S2] WALKER 2 // ラインを操作キャラに変更 [S3] WALKER 3 // フィオルンを操作キャラに変更 [S4] WALKER 4 // ダンバンを操作キャラに変更 [S5] WALKER 5 // カルナを操作キャラに変更 [S6] WALKER 6 // リキを操作キャラに変更 [S7] WALKER 7 // メリアを操作キャラに変更 [S8] WALKER 8 // Mフィオルンを操作キャラに変更 [S9] WALKER 9 // ディクソンを操作キャラに変更 [S0] WALKER 10 // ムムカを操作キャラに変更 //====================================== // Ctrl + A~Z //====================================== [CA] ATTACK // 抜刀/納刀 [CB] [CC] CHECK // 情報ウィンドウの表示切替 [CD] DOWN // 対象を転倒させる [CE] [CF] FAINT // 対象を気絶させる [CG] [CH] [CI] INVIN PT // パーティーメンバーを無敵にする [CJ] ACTIVE // 対象を戦闘状態にする [CK] KILL // 対象を殺す [CL] LOG // ログ表示切替 [CM] [CN] [CO] [CP] PAUSE // ポーズ [CQ] QUICK 800 ME [CR] RADER // レーダー表示切替 [CS] [CT] TA ALL // ターゲット選択 [CU] [CV] VISIONINFO // 未来視情報表示 [CW] WP // 対象の近くまでワープ [CX] AISTART [CY] [CZ] AISTOP //====================================== // Shift + A~Z //====================================== [SA] MGSOFF PT [SB] [SC] [SD] AASTART PT [SE] AASTOP PT [SF] MOVE PT [SG] [SH] [SI] [SJ] [SK] [SL] [SM] [SN] [SO] [SP] [SQ] MGS PT [SR] NOMOVE PT [SS] INVINOFF PT [ST] [SU] [SV] [SW] INVIN PT [SX] [SY] [SZ] //====================================== // Ctrl + Shift + 0~9 //====================================== [CS1] SCNSPD 0 [CS2] SCNSPD 1 [CS3] SCNSPD 5 [CS4] SCNSPD 10 [CS5] SCNSPD 20 [CS6] SCNSPD 50 [CS7] SCNSPD 100 [CS8] SCNSPD 150 [CS9] SCNSPD 200 [CS0] SCNSPD 300 //====================================== // Ctrl + Shift + A~Z //====================================== [CSA] VISION100 CLRRECAST WS [CSB] [CSC] [CSD] DRAW [CSE] [CSF] [CSG] [CSH] [CSI] [CSJ] [CSK] ACTIVE EN KL EN DW TB [CSL] [CSM] MSG [CSN] [CSO] [CSP] [CSQ] QUICKCLR ME [CSR] [CSS] [CST] TCLR [CSU] [CSV] [CSW] [CSX] [CSY] [CSZ] VISION100 CLRRECAST WS1 // POS -8300 1800 -2700
testmaterial.efs
A particle effect script testing material modes.
//================================================================================ // スケジューラ //================================================================================ sch_table sch_data(1, structure01) sch_end //================================================================================ //================================================================================ // スケジューラグループ //================================================================================ str_table(structure01) str_data(1, 0, emitter01, particle01 ) //ビルボード str_data(1, 0, emitter02, particle02 ) //ビルボードY str_data(1, 0, emitter03, particle03 ) //FIT str_data(1, 0, emitter04, particle04 ) //POLXY str_data(1, 0, emitter05, particle05 ) //POLXZ str_data(1, 0, emitter06, particle06 ) //チェイン str_end //================================================================================ //================================================================================ // ビルボード //================================================================================ emitter_table(emitter01, pos=pos01, goal=goal01, cre=cre01 ) pos_table(pos01 ) pos_data(1, XYZ=(-5.0, 0.0, 0.0) ) pos_end goal_table(goal01 ) goal_data(1, XYZ=(-5.0, 0.0, -1.0) ) goal_end cre_table(cre01 ) cre_data(1, val=1, int=30 ) cre_end //================================================================================ particle_table(particle01, life=Life01, mat = Mat01, spd = Spd01 ) life_table(Life01, life=90 ) mat_table(Mat01, mode=billboard ) mat_data(1, "\\Sa-rideau\kyojin\dvddata\work\omiya\eff\", "test1.tga" ); mat_end spd_table(Spd01) spd_data( 1, spd=0.1 ) spd_end //================================================================================ //================================================================================ // ビルボードY //================================================================================ emitter_table(emitter02, pos=pos02, goal=goal02, cre=cre01 ) pos_table(pos02 ) pos_data(1, XYZ=(-3.0, 0.0, 0.0) ) pos_end goal_table(goal02 ) goal_data(1, XYZ=(-3.0, 0.0, -1.0) ) goal_end //================================================================================ particle_table(particle02, life=Life01, mat = Mat02, spd = Spd01 ) mat_table(Mat02, mode=billboardY ) mat_data(1, "\\Sa-rideau\kyojin\dvddata\work\omiya\eff\", "test1.tga" ); mat_end //================================================================================ //================================================================================ // FIT //================================================================================ emitter_table(emitter03, pos=pos03, goal=goal03, cre=cre01 ) pos_table(pos03 ) pos_data(1, XYZ=(-1.0, 0.0, 0.0) ) pos_end goal_table(goal03 ) goal_data(1, XYZ=(-1.0, 0.0, -1.0) ) goal_end //================================================================================ particle_table(particle03, life=Life01, mat = Mat03, spd = Spd01 ) mat_table(Mat03, mode=fit ) mat_data(1, "\\Sa-rideau\kyojin\dvddata\work\omiya\eff\", "test1.tga" ); mat_end //================================================================================ //================================================================================ // POLXY //================================================================================ emitter_table(emitter04, pos=pos04, goal=goal04, cre=cre01 ) pos_table(pos04 ) pos_data(1, XYZ=( 1.0, 0.0, 0.0) ) pos_end goal_table(goal04 ) goal_data(1, XYZ=( 1.0, 0.0, -1.0) ) goal_end //================================================================================ particle_table(particle04, life=Life01, mat = Mat04, spd = Spd01 ) mat_table(Mat04, mode=polXY ) mat_data(1, "\\Sa-rideau\kyojin\dvddata\work\omiya\eff\", "test1.tga" ); mat_end //================================================================================ //================================================================================ // POLXZ //================================================================================ emitter_table(emitter05, pos=pos05, goal=goal05, cre=cre01 ) pos_table(pos05 ) pos_data(1, XYZ=( 3.0, 0.0, 0.0) ) pos_end goal_table(goal05 ) goal_data(1, XYZ=( 3.0, 0.0, -1.0) ) goal_end //================================================================================ particle_table(particle05, life=Life01, mat = Mat05, spd = Spd01 ) mat_table(Mat05, mode=polXZ ) mat_data(1, "\\Sa-rideau\kyojin\dvddata\work\omiya\eff\", "test1.tga" ); mat_end //================================================================================ //================================================================================ // チェイン //================================================================================ emitter_table(emitter06, pos=pos06, goal=goal06, cre=cre06 ) pos_table(pos06 ) pos_data(1, XYZ=( 5.0, 0.0, 0.0) ) pos_end goal_table(goal06 ) goal_data(1, XYZ=( 5.0, 0.0, -1.0) ) goal_end cre_table(cre06 ) cre_data(1, val=1, int=1 ) cre_end //================================================================================ particle_table(particle06, life=Life01, mat = Mat06, spd = Spd01 ) mat_table(Mat06, mode=chain ) mat_data(1, "\\Sa-rideau\kyojin\dvddata\work\omiya\eff\", "test1.tga" ); mat_end //================================================================================
testchain.efs
A particle effect script that tests the chain material mode.
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ //友好度ライン //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ sch_table sch_data(1, str_Line) //友好度ライン sch_end //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ //友好度ライン str_table(str_Line) str_data(1, 0, emit_Line_A01, par_Line_A01, pri=0, fol=(on, on)) str_data(1, 0, emit_Line_A01, par_Line_A02, pri=0, fol=(on, on)) str_end //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ //友好度ライン //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ //友好度ライン emitter_table(emit_Line_A01, pos=pos_Line_A01, goal=goal_Line_A01, cre=cre_Line_A01) pos_table(pos_Line_A01, axis=cas, type=cube, fol=(on, off)) pos_data( 1, XYZ=(0.0, 1.1, 0.0), range=(0.0, 0.0, 0.0)) pos_data(21, XYZ=(0.0, 1.0, 0.0), range=(0.0, 0.0, 0.0)) pos_data(41, XYZ=(0.0, 1.1, 0.0), range=(0.0, 0.0, 0.0), loop=0) pos_end goal_table(goal_Line_A01, axis=tcas, type=cube, fol=(on, off)) goal_data( 1, XYZ=(0.0, 1.0, 0.0), range=(0.0, 0.0, 0.0)) goal_data(21, XYZ=(0.0, 1.1, 0.0), range=(0.0, 0.0, 0.0)) goal_data(41, XYZ=(0.0, 1.0, 0.0), range=(0.0, 0.0, 0.0), loop=0) goal_end cre_table(cre_Line_A01) cre_data(1, val=1, int=1) cre_data(2, val=1, int=1, loop=0, sig=1) cre_data(3, val=0, int=1) cre_end particle_table(par_Line_A01, life=Life_Line_A01, gui=Gui_Line_A01, mat=Mat_Line_A01, ang=Ang_Line_A01, size=Size_Line_A01, rgba=Rgba_Line_A01, mode=PASS_CURVE) particle_table(par_Line_A02, life=Life_Line_A01, gui=Gui_Line_A01, mat=Mat_Line_A01, ang=Ang_Line_A02, size=Size_Line_A01, rgba=Rgba_Line_A01, mode=PASS_CURVE) life_table(Life_Line_A01, life=21) gui_table(Gui_Line_A01) gui_data( 1, XYZ=(0.0, 0.0, 0.0), pow=1.0) gui_data(11, XYZ=(0.0, 0.3, 0.5), pow=1.0) gui_data(21, XYZ=(0.0, 0.0, 1.0), pow=1.0) gui_end mat_table(Mat_Line_A01, mode=chain, uv=UV_Line_A01) // mat_data(1, "\\Sa-rideau\kyojin\master\effect\tex\matsumoto\", "MI_Hika_09_03.tga", "none") mat_data(1, "\\Sa-rideau\kyojin\master\effect\tex\matsumoto\", "MI_Hika_09_08.tga", "MI_Hika_09_07.tga") mat_end uv_table(UV_Line_A01, Cmode=repeat, Amode=clamp, CUval=1, CVval=1, AUval=1, AVval=1) uv_data(1, cUV=(0.0, 0.0)) uv_end ang_table(Ang_Line_A01, base=(0.0, 0.0, 0.0)) ang_data(1, rot=(0.0, 0.0, 0.0)) ang_end ang_table(Ang_Line_A02, base=(0.0, 0.0, 0.0)) ang_data(1, rot=(0.0, 0.0, 90.0)) ang_end size_table(Size_Line_A01, base=(1.0, 1.0, 1.0)) size_data(1, size=(0.3, 1.0, 1.0)) size_end rgba_table(Rgba_Line_A01, mode=mod) rgba_data(1, RGB=(255, 255, 255), A=250) rgba_data(2, RGB=(255, 255, 255), A=250, loop=0, sig=1) rgba_data(7, RGB=(255, 255, 255), A= 0) rgba_end //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
testgauss.efs
This particle effect script tests a gaussian blur effect.
//================================================================================ // スケジューラ //================================================================================ sch_table sch_data(1, structure01) sch_end //================================================================================ //================================================================================ // スケジューラグループ //================================================================================ str_table(structure01) str_data(1, 2, emitter01, particle01 ) //ずらして1枚表示 str_data(91, 92, emitter02, particle02 ) //縮小して1枚表示 str_data(181, 182,emitter01, particle03 ) //ずらして1枚表示(色つき、マスクあり) str_data(271, 272,emitter02, particle04 ) //縮小して1枚表示(色つき、マスクあり) str_data(361, 362,emitter05, particle05 ) //縮小して1枚表示(手前) str_data(451, 453,emitter06, particle06 ) //ずらして2枚表示 str_data(541, 542,emitter02, particle07 ) //そのまま表示 (1/2キャプチャ) str_data(631, 632,emitter02, particle08 ) //縮小して1枚表示 (1/2キャプチャ) str_end //================================================================================ //================================================================================ // ずらして1枚表示 //================================================================================ emitter_table(emitter01, pos=pos01, cre=cre01 ) pos_table(pos01 ) pos_data(1, XYZ=( 1.0, 1.0, 15.0) ) pos_end cre_table(cre01) cre_data(1, val=1, int=1) cre_end //================================================================================ particle_table(particle01, mode=BLUR3, life=Life01, size = Size01, rgba = Rgba01 ) life_table(Life01, life=60 ) size_table(Size01) size_data(1, size=(1.0, 1.0, 0.0) ) size_end rgba_table(Rgba01) rgba_data(1, rgb=(255, 255, 255), a=128 ) rgba_end //================================================================================ //================================================================================ // 縮小して1枚表示 //================================================================================ emitter_table(emitter02, pos=pos02, cre=cre02 ) pos_table(pos02 ) pos_data(1, XYZ=( 0.0, 0.0, 15.0) ) pos_end cre_table(cre02) cre_data(1, val=1, int=1) cre_end //================================================================================ particle_table(particle02, mode=BLUR3, life=Life01, size = Size02, rgba = Rgba01 ) size_table(Size02) size_data(1, size=(0.5, 0.5, 0.0) ) size_end //================================================================================ //================================================================================ // ずらして1枚表示(色つき、マスクあり) //================================================================================ particle_table(particle03, mode=BLUR3, life=Life01, size = Size01, rgba = Rgba03, mat=Mat03 ) rgba_table(Rgba03) rgba_data(1, rgb=(255, 128, 128), a=128 ) rgba_end mat_table(Mat03) mat_data(1, "\\Sa-rideau\kyojin\dvddata\work\omiya\eff\", "none", "testGauss.tga") mat_end //================================================================================ //================================================================================ // 縮小して1枚表示(色つき、マスクあり) //================================================================================ particle_table(particle04, mode=BLUR3, life=Life01, size = Size02, rgba = Rgba03, mat=Mat03 ) //================================================================================ //================================================================================ // 縮小して1枚表示(手前) //================================================================================ emitter_table(emitter05, pos=pos05, cre=cre01 ) pos_table(pos05 ) pos_data(1, XYZ=( 0.0, 0.0, -15.0) ) pos_end //================================================================================ particle_table(particle05, mode=BLUR3, life=Life01, size = Size03, rgba = Rgba01 ) size_table(Size03) size_data(1, size=(0.2, 0.2, 0.0) ) size_end //================================================================================ //================================================================================ // ずらして2枚表示 //================================================================================ emitter_table(emitter06, pos=pos0A, cre=cre01 ) pos_table(pos0A ) pos_data(1, XYZ=( 1.0, 0.0, 0.0) ) pos_data(2, XYZ=( 0.0, 1.0, 0.0) ) pos_end //================================================================================ particle_table(particle06, mode=BLUR3, life=Life01, size = Size01, rgba = Rgba06 ) rgba_table(Rgba06) rgba_data(1, rgb=(255, 255, 255), a=128 ) rgba_end //================================================================================ //================================================================================ // そのまま表示 (1/2キャプチャ) //================================================================================ particle_table(particle07, mode=BLUR3, life=Life01, size = Size01, rgba = Rgba06, mat = Mat07 ) mat_table(Mat07, half = on ) mat_data(1, "none", "none", "none") mat_end //================================================================================ //================================================================================ // 縮小して1枚表示(1/2キャプチャ) //================================================================================ particle_table(particle08, mode=BLUR3, life=Life01, size = Size02, rgba = Rgba06, mat = Mat07 ) //================================================================================
testall.efs
A particle effect script which seemingly tests all effects.
//================================================================================ // スケジューラ //================================================================================ sch_table sch_data(1, structure01) sch_end //================================================================================ //================================================================================ // スケジューラグループ //================================================================================ str_table(structure01) str_data(1, 0, emitter01, particle01 ) //チェイン 角度テーブルはパーティクルフレームで動作 str_data(1, 0, emitter02, particle02 ) //チェイン サイズテーブルはパーティクルフレームで動作 str_data(1, 0, emitter03, particle03 ) //チェイン カラーテーブルはパーティクルフレームで動作 str_data(1, 0, emitter04, particle04 ) //チェイン 角度テーブルはエミッターフレームで動作 str_data(1, 0, emitter05, particle05 ) //チェイン サイズテーブルはエミッターフレームで動作 str_data(1, 0, emitter06, particle06 ) //チェイン カラーテーブルはエミッターフレームで動作 str_data(1, 0, emitter07, particle07 ) //スプライト 角度テーブルはエミッターフレームで動作 str_data(1, 0, emitter08, particle08 ) //スプライト サイズテーブルはエミッターフレームで動作 str_data(1, 0, emitter09, particle09 ) //スプライト カラーテーブルはエミッターフレームで動作 str_end //================================================================================ //================================================================================ // チェイン 角度テーブルはパーティクルフレームで動作 //================================================================================ emitter_table(emitter01, pos=pos01, goal=goal01, cre=cre01 ) pos_table(pos01 ) pos_data(1, XYZ=( 0.0, 0.0, 0.0) ) pos_end goal_table(goal01 ) goal_data(1, XYZ=( 0.0, 0.0, -1.0) ) goal_end cre_table(cre01 ) cre_data(1, val=1, int=1) cre_end //================================================================================ particle_table(particle01, life=Life01, mat = Mat01, spd = Spd01, ang = Ang01 ) life_table(Life01, life=90 ) mat_table(Mat01, mode=chain) mat_data(1, "\\Sa-rideau\kyojin\dvddata\work\omiya\eff\", "test1.tga" ); mat_end spd_table(Spd01) spd_data( 1, spd=0.1 ) spd_end ang_table(Ang01, base=(0.0, 0.0, 0.0) ) ang_data(1, rot=(0.0, 0.0, 45.0) ) ang_data(31, rot=(0.0, 0.0, 90.0) ) ang_data(61, rot=(0.0, 0.0, 360.0), loop=0 ) ang_end //================================================================================ //================================================================================ // チェイン サイズテーブルはパーティクルフレームで動作 //================================================================================ emitter_table(emitter02, pos=pos02, goal=goal02, cre=cre01 ) pos_table(pos02 ) pos_data(1, XYZ=( 6.0, 0.0, 0.0) ) pos_end goal_table(goal02 ) goal_data(1, XYZ=( 6.0, 0.0, -1.0) ) goal_end //================================================================================ particle_table(particle02, life=Life01, mat = Mat01, spd = Spd01, size = Size02 ) size_table(Size02, base=(1.0, 1.0, 1.0) ) size_data(1, size=(0.1, 0.1, 0.1) ) size_data(31, size=(3.0, 3.0, 3.0) ) size_data(61, size=(0.1, 0.1, 0.1), loop=0) size_end //================================================================================ //================================================================================ // チェイン カラーテーブルはパーティクルフレームで動作 //================================================================================ emitter_table(emitter03, pos=pos03, goal=goal03, cre=cre01 ) pos_table(pos03 ) pos_data(1, XYZ=( -6.0, 0.0, 0.0) ) pos_end goal_table(goal03 ) goal_data(1, XYZ=( -6.0, 0.0, -1.0) ) goal_end //================================================================================ particle_table(particle03, life=Life01, mat = Mat01, spd = Spd01, rgba = Rgba03 ) rgba_table(Rgba03, mode=mod) rgba_data(1, RGB=(255, 255, 255), A=250) rgba_data(31, RGB=(255, 255, 255), A=0) rgba_data(61, RGB=(255, 255, 255), A=250, loop=0) rgba_end //================================================================================ //================================================================================ // チェイン 角度テーブルはエミッターフレームで動作 //================================================================================ emitter_table(emitter04, pos=pos04, goal=goal04, cre=cre01 ) pos_table(pos04 ) pos_data(1, XYZ=( 0.0, 6.0, 0.0) ) pos_end goal_table(goal04 ) goal_data(1, XYZ=( 0.0, 6.0, -1.0) ) goal_end //================================================================================ particle_table(particle04, life=Life01, mat = Mat01, spd = Spd01, ang = Ang04 ) ang_table(Ang04, base=(0.0, 0.0, 0.0), all=on ) ang_data(1, rot=(0.0, 0.0, 0.0) ) ang_data(61, rot=(0.0, 0.0, 360.0), loop=0 ) ang_end //================================================================================ //================================================================================ // チェイン サイズテーブルはエミッターフレームで動作 //================================================================================ emitter_table(emitter05, pos=pos05, goal=goal05, cre=cre01 ) pos_table(pos05 ) pos_data(1, XYZ=( 6.0, 6.0, 0.0) ) pos_end goal_table(goal05 ) goal_data(1, XYZ=( 6.0, 6.0, -1.0) ) goal_end //================================================================================ particle_table(particle05, life=Life01, mat = Mat01, spd = Spd01, size = Size05 ) size_table(Size05, base=(1.0, 1.0, 1.0), all=on ) size_data(1, size=(0.1, 0.1, 0.1) ) size_data(31, size=(3.0, 3.0, 3.0) ) size_data(61, size=(0.1, 0.1, 0.1), loop=0) size_end //================================================================================ //================================================================================ // チェイン カラーテーブルはエミッターフレームで動作 //================================================================================ emitter_table(emitter06, pos=pos06, goal=goal06, cre=cre01 ) pos_table(pos06 ) pos_data(1, XYZ=( -6.0, 6.0, 0.0) ) pos_end goal_table(goal06 ) goal_data(1, XYZ=( -6.0, 6.0, -1.0) ) goal_end //================================================================================ particle_table(particle06, life=Life01, mat = Mat01, spd = Spd01, rgba = Rgba06 ) rgba_table(Rgba06, mode=mod, all=on) rgba_data(1, RGB=(255, 255, 255), A=250) rgba_data(31, RGB=(255, 255, 255), A=0) rgba_data(61, RGB=(255, 255, 255), A=250, loop=0) rgba_end //================================================================================ //================================================================================ // スプライト 角度テーブルはエミッターフレームで動作 //================================================================================ emitter_table(emitter07, pos=pos07, goal=goal07, cre=cre07 ) pos_table(pos07 ) pos_data(1, XYZ=( 0.0, -6.0, 0.0) ) pos_end goal_table(goal07 ) goal_data(1, XYZ=( 0.0, -6.0, -1.0) ) goal_end cre_table(cre07 ) cre_data(1, val=1, int=20) cre_end //================================================================================ particle_table(particle07, life=Life01, mat = Mat07, spd = Spd01, ang = Ang04 ) mat_table(Mat07, mode=polXY ) mat_data(1, "\\Sa-rideau\kyojin\dvddata\work\omiya\eff\", "test1.tga" ); mat_end //================================================================================ //================================================================================ // スプライト サイズテーブルはエミッターフレームで動作 //================================================================================ emitter_table(emitter08, pos=pos08, goal=goal08, cre=cre07 ) pos_table(pos08 ) pos_data(1, XYZ=( 6.0, -6.0, 0.0) ) pos_end goal_table(goal08 ) goal_data(1, XYZ=( 6.0, -6.0, -1.0) ) goal_end //================================================================================ particle_table(particle08, life=Life01, mat = Mat07, spd = Spd01, size = Size05 ) //================================================================================ //================================================================================ // スプライト カラーテーブルはエミッターフレームで動作 //================================================================================ emitter_table(emitter09, pos=pos09, goal=goal09, cre=cre07 ) pos_table(pos09 ) pos_data(1, XYZ=( -6.0, -6.0, 0.0) ) pos_end goal_table(goal09 ) goal_data(1, XYZ=( -6.0, -6.0, -1.0) ) goal_end //================================================================================ particle_table(particle09, life=Life01, mat = Mat07, spd = Spd01, rgba = Rgba06 ) //================================================================================
testscreen.efs
This particle effect script seems to test screen related stuff.
//================================================================================ // スケジューラ //================================================================================ sch_table sch_data(1, structure01) sch_end //================================================================================ //================================================================================ // スケジューラグループ //================================================================================ str_table(structure01) str_data(1, 6, emitter01, particle01 ) //スクリーン表示 str_data(91, 96, emitter02, particle01 ) //スクリーン表示2 str_end //================================================================================ //================================================================================ // スクリーン表示 //================================================================================ emitter_table(emitter01, pos=pos01, cre=cre01 ) pos_table(pos01, axis=scr ) pos_data(1, XYZ=( 427.0,228.0, 0.0) ) pos_data(2, XYZ=( 60.0, 43.0, 0.0) ) pos_data(3, XYZ=( 794.0,43.0, 0.0) ) pos_data(4, XYZ=( 60.0, 413.0, 0.0) ) pos_data(5, XYZ=( 794.0,413.0, 0.0) ) pos_end cre_table(cre01) cre_data(1, val=1, int=1) cre_end //================================================================================ particle_table(particle01, life=Life01, mat = Mat01, size = Size01 ) life_table(Life01, life=60 ) mat_table(Mat01, mode=polXY ) mat_data(1, "\\Sa-rideau\kyojin\dvddata\work\omiya\eff\", "test1.tga" ); mat_end size_table(Size01) size_data(1, size=(2.0, 2.0, 0.0) ) size_end //================================================================================ //================================================================================ // スクリーン表示2 //================================================================================ emitter_table(emitter02, pos=pos02, cre=cre01 ) pos_table(pos02, axis=scr2 ) pos_data(1, XYZ=( 427.0, 228.0, 0.0) ) pos_data(2, XYZ=( 60.0, 43.0, 0.0) ) pos_data(3, XYZ=( 794.0,43.0, 0.0) ) pos_data(4, XYZ=( 60.0, 413.0, 0.0) ) pos_data(5, XYZ=( 794.0,413.0, 0.0) ) pos_end //================================================================================
Translation
//================================================================================ // Scheduler //================================================================================ sch_table sch_data(1, structure01) sch_end //================================================================================ //================================================================================ // Scheduler Group //================================================================================ str_table(structure01) str_data(1, 6, emitter01, particle01 ) //Screen Display str_data(91, 96, emitter02, particle01 ) //Screen Display 2 str_end //================================================================================ //================================================================================ // Screen Display //================================================================================ emitter_table(emitter01, pos=pos01, cre=cre01 ) pos_table(pos01, axis=scr ) pos_data(1, XYZ=( 427.0,228.0, 0.0) ) pos_data(2, XYZ=( 60.0, 43.0, 0.0) ) pos_data(3, XYZ=( 794.0,43.0, 0.0) ) pos_data(4, XYZ=( 60.0, 413.0, 0.0) ) pos_data(5, XYZ=( 794.0,413.0, 0.0) ) pos_end cre_table(cre01) cre_data(1, val=1, int=1) cre_end //================================================================================ particle_table(particle01, life=Life01, mat = Mat01, size = Size01 ) life_table(Life01, life=60 ) mat_table(Mat01, mode=polXY ) mat_data(1, "\\Sa-rideau\kyojin\dvddata\work\omiya\eff\", "test1.tga" ); mat_end size_table(Size01) size_data(1, size=(2.0, 2.0, 0.0) ) size_end //================================================================================ //================================================================================ // Screen Display 2 //================================================================================ emitter_table(emitter02, pos=pos02, cre=cre01 ) pos_table(pos02, axis=scr2 ) pos_data(1, XYZ=( 427.0, 228.0, 0.0) ) pos_data(2, XYZ=( 60.0, 43.0, 0.0) ) pos_data(3, XYZ=( 794.0,43.0, 0.0) ) pos_data(4, XYZ=( 60.0, 413.0, 0.0) ) pos_data(5, XYZ=( 794.0,413.0, 0.0) ) pos_end //================================================================================
testfog.efs
This particle effect script tests fog.
//================================================================================ // スケジューラ //================================================================================ sch_table sch_data(1, structure01) sch_end //================================================================================ //================================================================================ // スケジューラグループ //================================================================================ str_table(structure01) str_data(1, 2, emitter01, particle01 ) //通常表示 str_data(1, 2, emitter02, particle02 ) //加算表示 str_data(1, 2, emitter03, particle03 ) //減算表示 str_data(1, 2, emitter04, particle04 ) //乗算表示 str_data(1, 2, emitter05, particle01, fog=off ) //通常表示(強制フォグOFF) str_end //================================================================================ //================================================================================ // 通常表示 //================================================================================ emitter_table(emitter01, pos=pos01, cre=cre01 ) pos_table(pos01 ) pos_data(1, XYZ=( 0.0, 2.0, 0.0) ) pos_end cre_table(cre01) cre_data(1, val=1, int=1) cre_end //================================================================================ particle_table(particle01, life=Life01, mat = Mat01, rgba = Rgba01 ) life_table(Life01, life=60 ) mat_table(Mat01, mode=polXY ) mat_data(1, "\\Sa-rideau\kyojin\dvddata\work\omiya\eff\", "test1.tga", "test2.tga" ); mat_end rgba_table(Rgba01, mode=mod ) rgba_data(1, rgb=(255, 255, 255), a=128 ) rgba_end //================================================================================ //================================================================================ // 加算表示 //================================================================================ emitter_table(emitter02, pos=pos02, cre=cre01 ) pos_table(pos02 ) pos_data(1, XYZ=( 2.0, 2.0, 0.0) ) pos_end //================================================================================ particle_table(particle02, life=Life01, mat = Mat01, rgba = Rgba02 ) rgba_table(Rgba02, mode=add ) rgba_data(1, rgb=(255, 255, 255), a=128 ) rgba_end //================================================================================ //================================================================================ // 減算表示 //================================================================================ emitter_table(emitter03, pos=pos03, cre=cre01 ) pos_table(pos03 ) pos_data(1, XYZ=( 4.0, 2.0, 0.0) ) pos_end //================================================================================ particle_table(particle03, life=Life01, mat = Mat01, rgba = Rgba03 ) rgba_table(Rgba03, mode=sub ) rgba_data(1, rgb=(255, 255, 255), a=128 ) rgba_end //================================================================================ //================================================================================ // 乗算表示 //================================================================================ emitter_table(emitter04, pos=pos04, cre=cre01 ) pos_table(pos04 ) pos_data(1, XYZ=( 6.0, 2.0, 0.0) ) pos_end //================================================================================ particle_table(particle04, life=Life01, mat = Mat01, rgba = Rgba04 ) rgba_table(Rgba04, mode=mul ) rgba_data(1, rgb=(255, 255, 255), a=128 ) rgba_end //================================================================================ //================================================================================ // 通常表示(強制フォグOFF) //================================================================================ emitter_table(emitter05, pos=pos05, cre=cre01 ) pos_table(pos05 ) pos_data(1, XYZ=( 0.0, 0.5, 0.0) ) pos_end //================================================================================
CMD_cmdlist.xls
This document contains what appears to a list of commands from a sort of debug menu.
LOG RADER RD FLAG EDITPT ULIST UL ULPC PCLIST PCL ULNP NPLIST NPCLIST NPL ULEN ENLIST ENELIST ENL ULPT PTLIST PTL ULOB OBLIST OBJLIST OBL ULEF EFLIST EFL ULTB TBLIST TBL ULBT BTLIST BTL UINFO UI CHECK C CC CACT CS CS2 CAS CBS CH CAI CWS CARTS POPLIST POP VISIONINFO VISIONI VI GI BI TARGET TAR TA T SEL SL SELC TCLR ATTACK ATK A ATKOFF AASTOP ASTP ATKSTOP AASTART ASTT ATKSTART AIPAUSE AISTOP AISTART DMG KILL KIL KL TENSION TNS TS TENSIONLV TNSLV TSLV TENSIONUP TNSUP TSUP TENSIONDOWN TNSDOWN TSDOWN PTG ACTCLR AA AA1 AA2 AA3 ARTS ARTS1 ARTS2 ARTS3 ARTS4 ARTS5 ARTS6 ARTS7 ARTS8 ARTS9 AT WS WS1 WS2 WS3 WS4 WS5 WS6 WS7 WS8 WS9 WS10 WS11 WS12 WS13 WS14 WS15 WS16 SPARTS SARTS SWS SA SAT STOP START AAENABLE ARTSONLYOFF AADISABLE ARTSONLY ARTSENABLE ARTSDISABLE CLEARRECAST CLRRECAST ACTIVE HATE HATECLR HATERESET BLOW BLOW1 BLOW2 BLOW3 BLOW4 BLOW5 BLOW6 KB KB1 KB2 KB3 KB4 KB5 VISION100 VISION0 VISIONNRM EXITVISION CLRVISION SOLO PARTY PT DISPDT DISPSEARCH DISPTALK DISPNAME DISPID DISPPARAM DISPPRM DISPINFO DISPON DISPOFF VISIBLEON VISIBLEOFF ALPHA MONO COLOR AFADEIN AFADEOUT DISPBONE TIME TM WARP WP POS DRAW DW DI CHGAI CHANGEAI MOT ACT POSE EF EFC SIGNAL1 SIGNAL2 SIGNAL3 SIGNAL4 SIGNAL5 SIGNAL6 SIGNAL7 SIGNAL8 SIG1 SIG2 SIG3 SIG4 SIG5 SIG6 SIG7 SIG8 SE SESTOP SEM SEMSTOP SEC SECSTOP SECPAUSE SECSTART BGM BGMSTOP SEVOL BGMVOL VOICEVOL VOL SCENESPEED SCNSPD FRAMESPEED FRMSPD PAUSE SCALE SCL CAMMODE CAMREVERSE DISPCOST DISPDEBUG WALKER DELETE DEL DELTALKWIN DELUIWIN CTRL CTRLWII CTRL CTRLPAD FACTORYLIST CHECKUNITOC QSTINFO QSTRESET WINOFF WINC SCRIPT SC RESTART EXIT WAIT REEXEC HELP MSG INVIN INV INVINOFF INVOFF MGS MGSOFF BIND BINDCLR NOMOVE MOVEDISABLE MOVE REGENE REGENECLR SLOW SLOWCLR HASTE HASTECLR PARALYZED PARALYZEDCLR SLOWCAST SLOWCASTCLR FASTCAST FCAST FASTCASTOFF FASTCASTCLR CASTNRM FCASTOFF FCASTCLR FASTRECAST FRECAST FASTRECASTOFF FASTRECASTCLR RECASTNRM FRECASTOFF FRECASTCLR ZEROCAST CAST0 0CAST ZEROCASTOFF 0CASTCLR NRMCAST ZERORECAST 0RECAST RECAST0 ZERORECASTOFF 0RECASTCLR NRMRECAST SLEEP SLEEPCLR CHARME CHARMECLR CONFU CONFUCLR PANIC PANICCLR SILENCE SILENCECLR QUICK QUICKCLR ALLHIT NRMHIT ALLCOMBO NRMCOMBO NODELAY DELAY ALLAVOID NRMAVOID NOAVOID ALLGUARD NRMGUARD NOGUARD DBLATK DBLATKOFF COUNTERATK COUNTERATKOFF ALLCRITICAL NRMCRITICAL NOCRITICAL HP HPE HPQ HPH HPFULL HPF MP MPE MPQ MPH MPFULL MPF TP TPE TPQ TPH TPFULL TPF FULLCURE FULL FC MP0 M0 MPNRM MNRM M0OFF TP0 T0 TPNRM TNRM T0OFF LV HPMAX STR AGI ETH PHXDEF ETHDEF EXP AP PP SP TOLPHX TOLETH TOLFIRE TOLWATER TOLTHUNDER TOLICE TOLWIND TOLSTONE WPNDMG WPND WPD ELEPHX ELEETH ELEFIRE ELEWATER ELETHUNDER ELEICE ELEWIND ELESTONE DOWN D DOWNCLR FAINT F FAINTCLR RISE REVIVE NEXT ARTSLV WSLV SAVE LOAD FSAVE FLOAD SV LD FSV FLD ITEM ADDITEM SETSTATE TEST01 TEST02 TEST03 TEST04 TEST04
FLD_pointlist
Located in FLD_pointlist.xls are these strings, which seem to have been intended for a "skip chapter" function during development to make testing easier.
Start from Chapter 1 Start from Chapter 2 Start from Chapter 3 Start from Chapter 4 Start from Chapter 5 Start from Chapter 6 Start from Chapter 7 Start from Chapter 8 Start from Chapter 9 Start from Chapter 10 Start from Chapter 11 Start from Chapter 12 Start from Chapter 13 Start from Chapter 14 Start from Chapter 15 Start from Chapter 16 Start from Chapter 17