shiny-cuty-excel-chiffon/data/system/Menus.tjs
2024-10-22 11:38:49 -05:00

295 lines
26 KiB
Text

// Menus.tjs - メニュー作成関数の定義
// Copyright (C)2001-2006, W.Dee and contributors 改変・配布は自由です
function KAGWindow_createMenus()
{
// この関数は MainWindow クラスのオブジェクトのコンテキスト上で実行されます
menu.add(this.systemMenu = new KAGMenuItem(this, "System(&S)", 0, "", false));
systemMenu.add(this.quickSaveMenuItem = new KAGMenuItem(this, "クイックセーブ(&s)", 0, onQuickSaveMenuItemClick, false));
systemMenu.add(this.quickLoadMenuItem = new KAGMenuItem(this, "クイックロード(&L)", 0, onQuickLoadMenuItemClick, false));
systemMenu.add(this.rightClickMenuItem = new KAGMenuItem(this, "メッセージを消す(&S)", 0,
onRightClickMenuItemClick, false));
systemMenu.add(this.showHistoryMenuItem = new KAGMenuItem(this, "メッセージ履歴の表示(&H)", 0,
onShowHistoryMenuItemClick, false));
systemMenu.add(this.skipToNextStopMenuItem = new KAGMenuItem(this,
autoRecordPageShowing?"次の選択肢/未読まで進む(&F)":"次の選択肢まで進む(&F)", 0,
onSkipToNextStopMenuItemClick, false));
systemMenu.add(this.autoModeMenuItem = new KAGMenuItem(this, "自動的に読み進む(&A)", 0,
onAutoModeMenuItemClick, false));
systemMenu.add(this.autoModeWaitMenu = new KAGMenuItem(this, "自動的に読み進むウェイト(&D)", 0,
void, false));
autoModeWaitMenu.add(this.autoModeFastMenuItem = new KAGMenuItem(this, "短い(&1)", 1,
onAutoModeWaitMenuClick, false));
autoModeFastMenuItem.wait = autoModePageWaits.fast;
autoModeFastMenuItem.lwait = autoModeLineWaits.fast;
autoModeWaitMenu.add(this.autoModeFasterMenuItem = new KAGMenuItem(this, "やや短い(&2)", 1,
onAutoModeWaitMenuClick, false));
autoModeFasterMenuItem.wait = autoModePageWaits.faster;
autoModeFasterMenuItem.lwait = autoModeLineWaits.faster;
autoModeWaitMenu.add(this.autoModeMediumMenuItem = new KAGMenuItem(this, "普通(&3)", 1,
onAutoModeWaitMenuClick, false));
autoModeMediumMenuItem.wait = autoModePageWaits.medium;
autoModeMediumMenuItem.lwait = autoModeLineWaits.medium;
autoModeWaitMenu.add(this.autoModeSlowerMenuItem = new KAGMenuItem(this, "やや長い(&4)", 1,
onAutoModeWaitMenuClick, false));
autoModeSlowerMenuItem.wait = autoModePageWaits.slower;
autoModeSlowerMenuItem.lwait = autoModeLineWaits.slower;
autoModeWaitMenu.add(this.autoModeSlowMenuItem = new KAGMenuItem(this, "長い(&5)", 1,
onAutoModeWaitMenuClick, false));
autoModeSlowMenuItem.wait = autoModePageWaits.slow;
autoModeSlowMenuItem.lwait = autoModeLineWaits.slow;
systemMenu.add(new MenuItem(this, "-"));
systemMenu.add(this.goBackMenuItem = new KAGMenuItem(this, "前へ戻る(&B)", 0,
onBackStartMenuItemClick, false));
systemMenu.add(this.goToStartMenuItem = new KAGMenuItem(this, "Return to Title Screen(&R)", 0,
onGoToStartMenuItemClick, false));
systemMenu.add(this.adjAISeparateItem = new MenuItem(this, "-"));
systemMenu.add(this.adjAIAssistMenuItem = new KAGMenuItem(this, "プレイヤーキャラの操作" , 0, void, false));
adjAIAssistMenuItem.add(this.adjAIAssistMenuItemM = new KAGMenuItem(this, "手動での操作", 1, onAdjAIAssistMenuItemClick, false));adjAIAssistMenuItemM.value = false;
adjAIAssistMenuItem.add(this.adjAIAssistMenuItemA = new KAGMenuItem(this, "AIによる動作", 1, onAdjAIAssistMenuItemClick, false));adjAIAssistMenuItemA.value = true;
systemMenu.add(this.adjAIClevernessItem = new KAGMenuItem(this, "AIの強さ" , 0, void, false));
adjAIClevernessItem.add(this.adjAIClevernessItem1 = new KAGMenuItem(this, "強い" , 2, onAdjAIClevernessItemClick, false));adjAIClevernessItem1.value = 4;
adjAIClevernessItem.add(this.adjAIClevernessItem2 = new KAGMenuItem(this, "やや強い" , 2, onAdjAIClevernessItemClick, false));adjAIClevernessItem2.value = 3;
adjAIClevernessItem.add(this.adjAIClevernessItem3 = new KAGMenuItem(this, "普通" , 2, onAdjAIClevernessItemClick, false));adjAIClevernessItem3.value = 2;
adjAIClevernessItem.add(this.adjAIClevernessItem4 = new KAGMenuItem(this, "やや弱い" , 2, onAdjAIClevernessItemClick, false));adjAIClevernessItem4.value = 1;
adjAIClevernessItem.add(this.adjAIClevernessItem5 = new KAGMenuItem(this, "弱い" , 2, onAdjAIClevernessItemClick, false));adjAIClevernessItem5.value = 0;
systemMenu.add(new MenuItem(this, "-"));
systemMenu.add(this.exitMenuItem = new KAGMenuItem(this, "Exit(&X)", 0, onExitMenuItemClick, false));
menu.add(this.characterMenu = new KAGMenuItem(this, "文字表示(&C)", 0, void, false));
characterMenu.add(this.chSpeedMenu = new KAGMenuItem(this, "表示速度(&C)", 0, void, false));
chSpeedMenu.add(this.chNoWaitMenuItem = new KAGMenuItem(this, "ノーウェイト(&W)", 1,
onChSpeedMenuItemClick, false));
chNoWaitMenuItem.speed = 0;
chSpeedMenu.add(this.chFastMenuItem = new KAGMenuItem(this, "高速(&F)", 1,
onChSpeedMenuItemClick, false));
chFastMenuItem.speed = chSpeeds.fast;
chSpeedMenu.add(this.chNormalMenuItem = new KAGMenuItem(this, "普通(&N)", 1,
onChSpeedMenuItemClick, false));
chNormalMenuItem.speed = chSpeeds.normal;
chSpeedMenu.add(this.chSlowMenuItem = new KAGMenuItem(this, "遅い(&S)", 1,
onChSpeedMenuItemClick, false));
chSlowMenuItem.speed = chSpeeds.slow;
chSpeedMenu.add(new MenuItem(this, "-"));
chSpeedMenu.add(this.chNonStopToPageBreakItem = new KAGMenuItem(this, "ページ末まで一気に(&P)", 0,
onChNonStopToPageBreakItemClick, false));
characterMenu.add(this.ch2ndSpeedMenu = new KAGMenuItem(this, "既読文章の速度(&I)", 0, void, false));
ch2ndSpeedMenu.add(this.ch2ndNoWaitMenuItem = new KAGMenuItem(this, "ノーウェイト(&W)", 1,
onCh2ndSpeedMenuItemClick, false));
ch2ndNoWaitMenuItem.speed = 0;
ch2ndSpeedMenu.add(this.ch2ndFastMenuItem = new KAGMenuItem(this, "高速(&F)", 1,
onCh2ndSpeedMenuItemClick, false));
ch2ndFastMenuItem.speed = chSpeeds.fast;
ch2ndSpeedMenu.add(this.ch2ndNormalMenuItem = new KAGMenuItem(this, "普通(&N)", 1,
onCh2ndSpeedMenuItemClick, false));
ch2ndNormalMenuItem.speed = chSpeeds.normal;
ch2ndSpeedMenu.add(this.ch2ndNoChangeMenuItem = new KAGMenuItem(this, "変えない(&M)", 1,
onCh2ndSpeedMenuItemClick, false));
ch2ndNoChangeMenuItem.speed = -1; // 変えない
ch2ndSpeedMenu.add(new MenuItem(this, "-"));
ch2ndSpeedMenu.add(this.ch2ndNonStopToPageBreakItem = new KAGMenuItem(this, "ページ末まで一気に(&P)", 0,
onCh2ndNonStopToPageBreakItemClick, false));
characterMenu.add(new MenuItem(this, "-"));
characterMenu.add(this.chAntialiasMenuItem = new KAGMenuItem(this, "アンチエイリアス(&A)", 0,
onChAntialiasMenuItemClick, false));
characterMenu.add(this.chChangeFontMenuItem = new KAGMenuItem(this, "フォント(&D) ...", 0,
onChChangeFontMenuItem, false));
if(freeSaveDataMode)
{
// フリーセーブモードの場合
menu.add(this.bookMarkMenu = new KAGMenuItem(this, "栞(&J)", 0, void, false));
bookMarkMenu.add(this.restoreMenu = new KAGMenuItem(this, "Load(&L) ...", 0, onRestoreMenuClick, false));
bookMarkMenu.add(this.storeMenu = new KAGMenuItem(this, "Save(&S) ...", 0, onStoreMenuClick, false));
}
else
{
menu.add(this.restoreMenu = new KAGMenuItem(this, "Load(&L)", 0, onRestoreMenuClick, false));
menu.add(this.storeMenu = new KAGMenuItem(this, "Save(&S)", 0, onStoreMenuClick, false));
}
menu.add(this.displayMenu = new KAGMenuItem(this, "Display(&V)", 0, void, false));
displayMenu.add(this.windowedMenuItem = new KAGMenuItem(this, "Windowed(&W)", 1, onWindowedMenuItemClick, false));
displayMenu.add(this.fullScreenMenuItem = new KAGMenuItem(this, "Full Screen(&F)", 1, onFullScreenMenuItemClick, false));
displayMenu.add(new MenuItem(this, "-"));
// displayMenu.add(this.sideCutMenu = new KAGMenuItem(this, "サイドカット表示(&C)", 1, onSideCutMenuClick, false));
// sideCutMenu.radio = false;
// sideCutMenu.group = 2;
displayMenu.add(this.smallModeMenu = new KAGMenuItem(this, "Reduced Display(&S)", 1, onSmallModeMenuClick, false));
smallModeMenu.radio = false;
smallModeMenu.group = 3;
// displayMenu.add(new MenuItem(this, "-"));
//
// displayMenu.add(this.fullScreenModeMenu = new KAGMenuItem(this, "Full Screen Expansion Method(&R)", 0, void, false));
// fullScreenModeMenu.add(this.fullScreenModeFixedItem = new KAGMenuItem(this, "Monitor Expansion(&F)", 1, onFullScreenModeFixedItemClick, false));
// fullScreenModeMenu.add(this.fullScreenModeVariableItem = new KAGMenuItem(this, "Software Expansion(&V)", 1, onFullScreenModeVariableItemClick, false));
// menu.add(this.langMenu = new KAGMenuItem(this, "Language(&L)", 0, void, false));
//
// langMenu.add(this.langJpnMenuItem = new KAGMenuItem(this, "日本語(&J)", 1, onLangJpnMenuItemClick, false));
// langMenu.add(this.langEngMenuItem = new KAGMenuItem(this, "English(&E)", 1, onLangEngMenuItemClick, false));
// langMenu.add(this.langJpnMenuItem = new KAGMenuItem(this, "繁體中文(&T)", 1, onLangTwMenuItemClick, false));
// langMenu.add(this.langJpnMenuItem = new KAGMenuItem(this, "简体中文(&C)", 1, onLangCnMenuItemClick, false));
menu.add(this.helpMenu = new KAGMenuItem(this, "Help(&H)", 0, void, false));
helpMenu.add(this.helpAboutMenuItem = new KAGMenuItem(this, "About this Software(&A) ...", 0,
onHelpAboutMenuItemClick, false));
helpMenu.add(new MenuItem(this, "-"));
helpMenu.add(this.helpIndexMenuItem = new KAGMenuItem(this, "Display Manual(&H) ...", 0,
onHelpIndexMenuItemClick, false));
helpMenu.add(this.helpCommandMenu0Item = new KAGMenuItem(this, "Chiffon Controls(&F) ...", 0, onHelpCommandMenuItem0Click, false));
helpMenu.add(this.helpCommandMenu1Item = new KAGMenuItem(this, "Chocolat Controls(&C) ...", 0, onHelpCommandMenuItem1Click, false));
helpMenu.add(new MenuItem(this, "-"));
helpMenu.add(this.helpGoSite1MenuItem = new KAGMenuItem(this, "mille-feuille website(&M) ...", 0,
onHelpGoSite1MenuItemClick, false));
helpMenu.add(this.helpGoSite2MenuItem = new KAGMenuItem(this, "Nijigen Dream Novels website(&N) ...", 0,
onHelpGoSite2MenuItemClick, false));
helpMenu.add(new MenuItem(this, "-"));
helpMenu.add(this.helpGoEnqueteFormItem = new KAGMenuItem(this, "Questionnaire(&Q) ...", 0,
onHelpGoEnqueteFormItemClick, false));
menu.add(this.debugMenu = new KAGMenuItem(this, "デバッグ(&D)", 0, void, false));
// debugMenu.add(this.reloadScenarioMenuItem = new KAGMenuItem(this, "シナリオの再読込み(&R)", 1,
// onReloadScenarioMenuItemClick, false));
// debugMenu.add(this.showConsoleMenuItem = new KAGMenuItem(this, "コンソール(&C)\tShift+F4", 1,
// onShowConsoleMenuItemClick, false));
// debugMenu.add(this.showControllerMenuItem = new KAGMenuItem(this, "コントローラ(&S)\tShift+F1", 1,
// onShowContollerMenuItemClick, false));
debugMenu.add(this.pauseResumeMenuItem = new KAGMenuItem(this, "停止/再開" , 0, onPauseResumeMenuItemClick, false));
debugMenu.add(new MenuItem(this, "-"));
debugMenu.add(this.debugModeMenuItem = new KAGMenuItem(this, "当たり判定表示" , 0, onDebugModetMenuItemClick, false));
debugMenu.add(new MenuItem(this, "-"));
debugMenu.add(this.adjAIAssistMenuItemDb = new KAGMenuItem(this, "ユーザー側キャラ操作" , 0, void, false));
adjAIAssistMenuItemDb.add(this.adjAIAssistMenuItemDbM = new KAGMenuItem(this, "手動操作" , 1, onAdjAIAssistMenuItemClick, false));adjAIAssistMenuItemDbM.value = false;
adjAIAssistMenuItemDb.add(this.adjAIAssistMenuItemDbA = new KAGMenuItem(this, "AI動作", 1, onAdjAIAssistMenuItemClick, false));adjAIAssistMenuItemDbA.value = true;
debugMenu.add(this.adjAIClevernessItemDb = new KAGMenuItem(this, "AIの強さ" , 0, void, false));
adjAIClevernessItemDb.add(this.adjAIClevernessItemDb1 = new KAGMenuItem(this, "強い" , 2, onAdjAIClevernessItemClick, false));adjAIClevernessItemDb1.value = 4;
adjAIClevernessItemDb.add(this.adjAIClevernessItemDb2 = new KAGMenuItem(this, "やや強い" , 2, onAdjAIClevernessItemClick, false));adjAIClevernessItemDb2.value = 3;
adjAIClevernessItemDb.add(this.adjAIClevernessItemDb3 = new KAGMenuItem(this, "普通" , 2, onAdjAIClevernessItemClick, false));adjAIClevernessItemDb3.value = 2;
adjAIClevernessItemDb.add(this.adjAIClevernessItemDb4 = new KAGMenuItem(this, "やや弱い" , 2, onAdjAIClevernessItemClick, false));adjAIClevernessItemDb4.value = 1;
adjAIClevernessItemDb.add(this.adjAIClevernessItemDb5 = new KAGMenuItem(this, "弱い" , 2, onAdjAIClevernessItemClick, false));adjAIClevernessItemDb5.value = 0;
debugMenu.add(new MenuItem(this, "-"));
debugMenu.add(this.voiceFileUnlockMenuItem = new KAGMenuItem(this, "ボイスファイルアンロックモード" , 0, onVoiceFileUnlockMenuItemClick, false));
}
// 以下、KAG 用 メニューアイテムクラス
class KAGMenuItem extends MenuItem
{
// 基本的に MenuItem だが、指定されたイベント、あるいは
// 文字列を実行する機能を持つ
var owner;
var command;
var _accessible = true;
var _enabled = true;
var autoEnable = false;
var value;
function KAGMenuItem(window, caption, group, command, autoenable)
{
super.MenuItem(window, caption);
this.owner = window;
this.command = command;
this.autoEnable = autoenable;
if(group!=0)
{
this.group = group;
this.radio = true;
}
}
function finalize()
{
delete owner;
delete command;
super.finalize(...);
}
property enabled // オーバーライド
{
getter { return _enabled; }
setter(x) { _enabled = x; super.enabled = _accessible && _enabled; }
}
property accessible
{
getter { return _accessible; }
setter(x) { _accessible = x; super.enabled = _accessible && _enabled; }
}
function click()
{
// click 動作
if(command !== void)
{
if(typeof command == "String")
{
Scripts.eval(command);
}
else
{
command(this);
}
}
}
function onClick()
{
super.onClick(...);
click();
}
}