Ir a contenido


light_zero004

Alta: 11 Jul 2005
Offline Último activo: Apr 01 2007 04:06 PM
-----

Temas que he empezado

Seed Por Favor!

08 December 2005 - 01:55 PM

Hola,

podrian poner unos cuantos seeds(CDZ Fansub) a la Ova de los caballeros contraatacan que llevo el 67.5% y ya no me da download.

el torrent se llama: CDZ.Contraatacan.

Se los agradeceria mucho.

Gracias de antemano.

saludos.

Donde Puedo Conseguir Estas Ovas

06 December 2005 - 03:59 PM

HOla,

quisiera saber si me pueden decir dinde puedo conseseguir estas ovas de saint seiya:

La manzana Dorada
Los guerreros de Asgard
La juventud Escarlata
Los guerreros del Armagedonn

estan en forzen lazyer pero casi no hay seed y ademas cada una psea com 700 megas no saben de otro lugar donde se puedan conseguir y tambien ya busque en el emule pero es muy lento.

Gracias de antemeno.

Saludos.

Ogenai Twins Hentai Game

21 November 2005 - 11:04 PM

Hola,

descargue el juego de ogenai twins pero lo raro que en ves de inicializar el juego me salen las lineas de codigo de su programa por que es eso?

me sale un error y aparece Esto no se por que:

//;# MainWindow.tjs - KAG ƒƒCƒ“ƒEƒBƒ“ƒhƒE
//;# Copyright ©2001-2003, W.Dee ‰ü•ρE”z•z‚ÍŽ©—R‚Å‚·
//;<<'END_OF_TJS_SCRIPT';

// ‚±‚̃XƒNƒŠƒvƒg‚Í—LŒø‚È perl5 ƒXƒNƒŠƒvƒg‚à‚ ‚é

class KAGWindow extends Window
{
// KAG ‚̃EƒBƒ“ƒhƒE ƒNƒ‰ƒX
// KAG ‚Ì“®ì‚̃ƒCƒ“‚È•”•ª‚Í‚±‚±‚É‹Lq‚µ‚Ä‚ ‚é

// ˆÈ‰º‚Ì‚¤‚¿A/*C*/ ‚̂‚­•ϐ”‚́A––’[‚Ì perl ƒXƒNƒŠƒvƒg‚É‚æ‚Á‚Ä
// Ž©“®“I‚Éžx‚ɃRƒs[‚³‚ê‚éƒR[ƒh‚ª¶¬‚³‚ê‚é•ϐ”

var scWidth = 640; // ‰æ–ʉ¡•
var scHeight = 480; // ‰æ–ʏc•

var aboutWidth = 320; // u‚±‚̃\ƒtƒg‚ɂ‚¢‚āvƒEƒBƒ“ƒhƒE‚̉¡•
var aboutHeight = 200; // “¯c•

var isFirstProcess = true; // ˆê”ԍŏ‰‚Ì process ‚̌Ăяo‚µ‚©‚Ç‚¤‚©

var freeSaveDataMode = false; // žx‚ðƒƒjƒ…[ƒo[‚ȂǂŊǗ‚¹‚¸‚ɁAŒÂ•ʂ̃tƒ@ƒCƒ‹‚Æ‚µ‚ÄŠÇ—‚·‚é
var saveThumbnail = false; // ƒTƒ€ƒlƒCƒ‹‚ð•Û‘¶‚·‚é‚©‚Ç‚¤‚©

var snapshotLayer = void; // ‰æ‘œ‚̃XƒiƒbƒvƒVƒ‡ƒbƒg‚ðˆêŽž“I‚ɕۑ¶‚·‚郌ƒCƒ„
var snapshotLockCount = 0; // ƒƒbƒNƒJƒEƒ“ƒg

var lastSaveDataNameGlobal = ""; // ÅŒã‚ɕۑ¶‚µ‚½ƒtƒŠ[ƒZ[ƒuƒ‚[ƒh‚ł̃tƒ@ƒCƒ‹–¼
/*C*/var lastSaveDataName = ""; // ÅŒã‚ɕۑ¶‚µ‚½ƒtƒŠ[ƒZ[ƒuƒ‚[ƒh‚ł̃tƒ@ƒCƒ‹–¼

var saveDataLocation = "savedata"; // ƒZ[ƒuƒf[ƒ^•Û‘¶êŠ

var saveDataID = "00000000-0000-0000-0000-000000000000"; // ƒZ[ƒuƒf[ƒ^‚Ì ID

var readOnlyMode = false; // “ǂݍž‚ݐê—pƒ‚[ƒh(ƒf[ƒ^‚ðƒfƒBƒXƒN‚ɏ‘‚©‚È‚¢)
var dataName = "data"; // ƒZ[ƒuƒf[ƒ^–¼
var saveDataMode = ""; // ƒf[ƒ^•Û‘¶ƒ‚[ƒh( "c" ‚ň͆‰» )

var recordHistoryOfStore = 0; // ’ʉߗš—ð‚ð‹L˜^‚·‚é‚©‚Ç‚¤‚©
// 0 = Ž©“®“I‚ɂ͋L˜^‚µ‚È‚¢ 1 = •Û‘¶‰Â”\‚ȃ‰ƒxƒ‹‚²‚Æ
// 2 = ‘I‘ðŽˆ ( @s ƒ^ƒO ) ‚²‚Æ
var maxHistoryOfStore = 5; // ’ʉߋL˜^‚̍ő吔
var historyOfStore = []; // ’ʉߗš—ðƒf[ƒ^
var nextRecordHistory = false;
// ŽŸ‚̕ۑ¶‰Â”\‚ȃ‰ƒxƒ‹’ʉߎž‚ÉŒ»Ý‚̏î•ñ‚ð•Û‘¶‚·‚é‚©‚Ç‚¤‚©

var stablePosibility = false;
// žx‚ð•Û‘¶‰Â”\‚ȃ‰ƒxƒ‹ŠÔ‚Å stable ‚ɂȂé‰Â”\«‚ª‚ ‚é‚©‚Ç‚¤‚©

var fullScreened = false; // Œ»Ýƒtƒ‹ƒXƒNƒŠ[ƒ“‚©‚Ç‚¤‚©

var isMain = true; // ‚±‚ꂪƒƒCƒ“ƒEƒBƒ“ƒhƒE‚©‚Ç‚¤‚©

var askOnClose = true; // I—¹Žž‚ɏI—¹‚·‚é‚©‚ðƒ†[ƒU‚É•·‚­‚©‚Ç‚¤‚©

var helpFile = ""; // uƒwƒ‹ƒv > –ÚŽŸv‚ÅŠJ‚­ƒtƒ@ƒCƒ‹

var quakeTimer; // quake —p‚̃^ƒCƒ}
var defaultQuakeTimeInChUnit = false;
/*C*/var quaking = false; // —h‚ê‚Ä‚¢‚é‚©
/*C*/var quakeEndTick = 0; // —h‚ê‚ðI—¹‚³‚¹‚é tick
/*C*/var quakeHorzMax = 0; // ‰¡U•
/*C*/var quakeVertMax = 0; // cU•
/*C*/var quakePhase = 0;

var chDefaultAntialiased; // •¶Žš‚ɃAƒ“ƒ`ƒGƒCƒŠƒAƒX‚ð‚©‚¯‚é‚©‚Ç‚¤‚©
var chDefaultFace; // •¶Žš‚̃fƒtƒHƒ‹ƒg‚̃tƒHƒ“ƒg

var initialMessageLayerVisible = true;

var historyLayer; // ƒƒbƒZ[ƒW—š—ðƒŒƒCƒ„
/*C*/var historyWriteEnabled = true; // ƒƒbƒZ[ƒWƒŒƒCƒ„‚É•¶Žš‚ðo—Í‚·‚é‚©
/*C*/var historyEnabled = true; // ƒƒbƒZ[ƒW—š—ðƒŒƒCƒ„‚ð•\ަ‰Â”\‚©
var historyShowing = false; // ƒƒbƒZ[ƒW—š—ðƒŒƒCƒ„‚ð•\ަ’†‚©
var lastHistoryHiddenTick = 0; // ÅŒã‚É—š—ðƒŒƒCƒ„‚ª”ñ•\ަ‚ɂȂÁ‚½‚Æ‚«‚Ì tick

/*C*/var numCharacterLayers = 0; // ‘OŒiƒŒƒCƒ„‚̐”
/*C*/var numMessageLayers = 1; // ƒƒbƒZ[ƒWƒŒƒCƒ„‚̐”
var fore = %[]; // •\ƒŒƒCƒ„
var back = %[]; // — ƒŒƒCƒ„

var scPositionX = %[]; // —§‚¿ŠG‚Ì’†SÀ•W(X)

var tempLayer = void; // ˆêŽž“I‚ȃŒƒCƒ„

var lineBreak; // s‘Ò‚¿—pƒAƒjƒ[ƒVƒ‡ƒ“ƒŒƒCƒ„
var pageBreak; // ƒy[ƒW‘Ò‚¿—pƒOƒŠƒt‚̃Aƒjƒ[ƒVƒ‡ƒ“ƒŒƒCƒ„
var clickWaiting = false; // ƒNƒŠƒbƒN‘Ò‚¿‚©‚Ç‚¤‚©

var mainConductor; // ƒƒCƒ“‚̃Rƒ“ƒ_ƒNƒ^
var extraConductor; // —\”õ‚̃Rƒ“ƒ_ƒNƒ^
var conductor; // Œ»Ý‚̃Rƒ“ƒ_ƒNƒ^
var usingExtraConductor = false; // —\”õ‚̃Rƒ“ƒ_ƒNƒ^‚ðŽg—p’†‚©‚Ç‚¤‚©
var onExtraConductorReturn; // extraConductor ‚©‚ç’ʏí‚̃Rƒ“ƒ_ƒNƒ^‚ɖ߂邯‚«‚É‚æ‚Ԋ֐”

var tagHandlers; // ƒ^ƒO‚̃nƒ“ƒhƒ‰ŒQŽ«‘”z—ñ

var current; // Œ»Ý‘€ì’†‚̃ƒbƒZ[ƒWƒŒƒCƒ„
/*C*/var currentNum; // Œ»Ý‘€ì’†‚̃ƒbƒZ[ƒWƒŒƒCƒ„”ԍ†
/*C*/var currentPage; // Œ»Ý‘€ì’†‚̃ƒbƒZ[ƒWƒŒƒCƒ„‚̃y[ƒW(•\0/— 1)
/*C*/var currentWithBack = false; // — ‰æ–Ê‚É‚à•¶Žš‚ð•`‰æ‚·‚é‚©‚Ç‚¤‚©

var bgm; // BGM ƒIƒuƒWƒFƒNƒg

var numSEBuffers = 1; // Œø‰Ê‰¹ƒoƒbƒtƒ@‚̐”
var se = []; // Œø‰Ê‰¹ƒoƒbƒtƒ@ƒIƒuƒWƒFƒNƒg

var movie; // ƒ€[ƒr[ƒIƒuƒWƒFƒNƒg

var transCount; // Œ»Ýis’†‚̃gƒ‰ƒ“ƒWƒVƒ‡ƒ“‚̐”
var moveCount; // Œ»Ýis’†‚ÌŽ©“®ˆÚ“®‚̐”

var chSpeeds = %[
fast: 10, // u‚‘¬v•¶Žš•\ަƒXƒs[ƒh
normal: 30, // u•’ʁv•¶Žš•\ަƒXƒs[ƒh
slow: 50, // u’x‚¢v•¶Žš•\ަƒXƒs[ƒh
];

var userChSpeed = 30; // ƒ†[ƒU‚Ì‘I‚ñ‚¾•¶Žš•\ަƒXƒs[ƒh
var userCh2ndSpeed = -1; // ƒ†[ƒU‚Ì‘I‚ñ‚¾ Šù“Ç•”•ª‚Ì•¶Žš•\ަƒXƒs[ƒh
var chNonStopToPageBreak = false; // ƒy[ƒW––‚܂ňê‹C‚ɓǂݐi‚Þ‚© ( l ƒ^ƒO‚𖳎‹‚·‚é‚© )
var ch2ndNonStopToPageBreak = false; // Šù“ǂ̕”•ª‚Ńy[ƒW––‚܂ňê‹C‚ɓǂݐi‚Þ‚©
/*C*/var chUserMode = true; // •¶Žš•\ަ‘¬“x‚ÍŒ»Ýƒ†[ƒU‚Ì‘I‚ñ‚¾‚à‚Ì‚©
/*C*/var chSpeed = 30; // Œ»Ý‚Ì•¶Žš•\ަƒXƒs[ƒh
/*C*/var actualChSpeed = chSpeed; // ŽÀÛ‚Ì•¶Žš•\ަƒXƒs[ƒh

/*C*/var beforeNoWaitActualChSpeed; // nowait ‚É“ü‚é‘O‚Ì actualChSpeed
/*C*/var beforeNoWaitChUserMode; // nowait ‚É“ü‚é‘O‚Ì chUserMode

/*C*/var clickSkipEnabled = true; // ƒNƒŠƒbƒNƒXƒLƒbƒv‚ª—LŒø‚©
/*C*/var nextSkipEnabled = true; // ŽŸ‚Ì‘I‘ðŽˆ(/–¢“Ç)‚܂Ői‚Þ‚ª—LŒø‚©
var skipMode = 0; // ƒXƒLƒbƒv‚̃‚[ƒh
// 0=ƒXƒLƒbƒv‚È‚µ, 1=ƒNƒŠƒbƒN‘Ò‚¿‹L†‚Ü‚Å, 2=‰üƒy[ƒW‘Ò‚¿‹L†‚Ü‚Å, 3=ŽŸ‚Ì’âŽ~‚Ü‚Å
// 4=‘‘—‚è
var autoMode = false; // Ž©“®“ǂ݂·‚·‚݃‚[ƒh‚©‚Ç‚¤‚©
var autoModePageWait = 350; // Ž©“®“ǂ݂·‚·‚݃‚[ƒhŽž‚̉üƒy[ƒWŽž‚̃EƒFƒCƒg
var autoModeLineWait = 50; // Ž©“®“ǂ݂·‚·‚݃‚[ƒhŽž‚̍sƒNƒŠƒbƒN‘Ò‚¿Žž‚̃EƒFƒCƒg
// ã‚Ì“ñ‚‚́Aƒm[ƒEƒFƒCƒg‚É‚µ‚½‚¢ê‡‚Í 0 ‚ł͂Ȃ­‚Ä -4 ‚ðŽw’è‚·‚邱‚Æ

var skipKeyRepressed = false; // return ‚ ‚é‚¢‚Í space ƒL[ ( f ƒL[‚Ȃǂł͂Ȃ¢ )
// ‚ª‰Ÿ‚³‚ê‚邯 true ‚ɂȂé ( ƒXƒLƒbƒv‰ðœŽž‚É false

var autoModePageWaits = %[
fast: 400, // Ž©“®“ǂ݂·‚·‚݃‚[ƒh‚̉üƒy[ƒWŽž ƒEƒFƒCƒgu’Z‚¢v
faster: 700, // Ž©“®“ǂ݂·‚·‚݃‚[ƒh‚̉üƒy[ƒWŽž ƒEƒFƒCƒgu‚â‚â’Z‚¢v
medium: 1000, // Ž©“®“ǂ݂·‚·‚݃‚[ƒh‚̉üƒy[ƒWŽž ƒEƒFƒCƒgu•’ʁv
slower: 1300, // Ž©“®“ǂ݂·‚·‚݃‚[ƒh‚̉üƒy[ƒWŽž ƒEƒFƒCƒgu‚â‚â’x‚¢v
slow: 2000, // Ž©“®“ǂ݂·‚·‚݃‚[ƒh‚̉üƒy[ƒWŽž ƒEƒFƒCƒgu’x‚¢v
];

var autoModeLineWaits = %[
fast: 180, // Ž©“®“ǂ݂·‚·‚݃‚[ƒh‚̍s–– ƒEƒFƒCƒgu’Z‚¢v
faster: 240, // Ž©“®“ǂ݂·‚·‚݃‚[ƒh‚̍s–– ƒEƒFƒCƒgu‚â‚â’Z‚¢v
medium: 300, // Ž©“®“ǂ݂·‚·‚݃‚[ƒh‚̍s–– ƒEƒFƒCƒgu•’ʁv
slower: 360, // Ž©“®“ǂ݂·‚·‚݃‚[ƒh‚̍s–– ƒEƒFƒCƒgu‚â‚â’x‚¢v
slow: 500, // Ž©“®“ǂ݂·‚·‚݃‚[ƒh‚̍s–– ƒEƒFƒCƒgu’x‚¢v
];

/*C*/var canCancelSkipByClick = true; // ƒNƒŠƒbƒN‚É‚æ‚èƒXƒLƒbƒvó‘Ԃ̃Lƒƒƒ“ƒZƒ‹‚ª‚Å‚«‚é‚©

/*C*/var autoWCEnabled = false; // Ž©“®ƒEƒFƒCƒg‚ª—LŒø‚©‚Ç‚¤‚©
/*C*/var autoWCChars = ""; // Ž©“®ƒEƒFƒCƒg‚ð‚©‚¯‚é•¶Žš
var autoWCWaits = []; // Ž©“®ƒEƒFƒCƒg‚̃EƒFƒCƒg

var timeOrigin; // resetWait ‚Őݒ肳‚ê‚½ŽžŠÔŒ´“_
var lastWaitTime; // wait mode=until ‚ÅŽÀÛ‚ɑ҂Á‚½ŽžŠÔ

var stableHandlers = []; // ƒVƒXƒeƒ€‚ªˆÀ’è(ƒNƒŠƒbƒN‘Ò‚¿/’âŽ~)‚µ‚½‚Æ‚«‚ɌĂ΂ê‚é
var runHandlers = []; // ƒVƒXƒeƒ€‚ª‘–‚èŽn‚ß‚½‚Æ‚«‚ɌĂ΂ê‚é
var inStable = true; // ˆÀ’肵‚Ä‚¢‚邯‚«(‘–s’†‚łȂ¢‚Æ‚«) true
var inSleep = false; // s ƒ^ƒO‚Å’âŽ~‚µ‚Ä‚¢‚邯‚« true

var updateBeforeCh = 0; // •¶Žš‚ð•`‰æ‚·‚é‘O‚É‚¢‚Á‚½‚ñ‰æ–Ê•`‰æ‚É“ü‚é‚©‚Ç‚¤‚©‚̃JƒEƒ“ƒg

var messageLayerHiding = false; // ƒ†[ƒU‚É‚æ‚胁ƒbƒZ[ƒWƒŒƒCƒ„‚ª‰B‚³‚ê‚Ä‚¢‚é‚©

/*C*/var rightClickEnabled = true; // ‰EƒNƒŠƒbƒN‚ª—LŒø‚©
/*C*/var rightClickCall = false; // ‰EƒNƒŠƒbƒN‚Å“Á’è‚̃‹[ƒ`ƒ“‚ðŒÄ‚Ô‚©
/*C*/var rightClickJump = false; // ‰EƒNƒŠƒbƒN‚©‚Å“Á’è‚̃‰ƒxƒ‹‚ɃWƒƒƒ“ƒv‚·‚é‚©
/*C*/var rightClickTarget = ""; // ‰EƒNƒŠƒbƒN‚ł̌Ăяo‚µæ
/*C*/var rightClickStorage = ""; // ‰EƒNƒŠƒbƒN‚ł̌Ăяo‚µæ
/*C*/var rightClickName = "default"; // ‰EƒNƒŠƒbƒN‚̃ƒjƒ…[•\ަ–¼
/*C*/var rightClickCurrentMenuName = ""; // ‰EƒNƒŠƒbƒN‚̃ƒjƒ…[‚ÉŒ»ÝÝ’肳‚ê‚Ä‚¢‚é–¼‘O
var rightClickDefaultName = ""; // ‰EƒNƒŠƒbƒN‚̃fƒtƒHƒ‹ƒg‚̃ƒjƒ…[•\ަ–¼

/*C*/var lastClickGlyphVisible; // extraConductor ‚ðŽg—p‚·‚é’¼‘O‚ɃNƒŠƒbƒN‘Ò‚¿‹L†‚ª‰ÂŽ‹‚¾‚Á‚½‚©‚Ç‚¤‚©
var lastClickGlyphMessagePage;
// extraConductor ‚ðŽg—p‚·‚é’¼‘O‚̃NƒŠƒbƒN‘Ò‚¿‹L†‚Ì•\ަ‚³‚ê‚Ä‚¢‚郁ƒbƒZ[ƒWƒŒƒCƒ„‚̃y[ƒW
var lastClickGlyphMessageNum; // V ”ԍ†
var lastClickGlyphWhich; // V "page" ‚© "line" ‚©
var inSleepBeforeExtraConductor; // extraConductor ‚ðŽg—p‚·‚é’¼‘O‚ª inSleep ‚¾‚Á‚½‚©

// ’ʏí‚̃}ƒEƒXƒJ[ƒ\ƒ‹
/*C*/var cursorDefault = crArrow; // ’ʏí‚̃}ƒEƒXƒJ[ƒ\ƒ‹
/*C*/var cursorPointed = crHandPoint; // ƒ{ƒ^ƒ“AƒŠƒ“ƒN“™‚ðƒ|ƒCƒ“ƒg‚µ‚½Žž‚̃}ƒEƒXƒJ[ƒ\ƒ‹
/*C*/var cursorWaitingClick = crArrow; // ƒNƒŠƒbƒN‘Ò‚¿‚̃}ƒEƒXƒJ[ƒ\ƒ‹
/*C*/var cursorDraggable = crSizeAll; // ƒhƒ‰ƒbƒO‰Â”\‚ȏꏊ—p‚̃}ƒEƒXƒJ[ƒ\ƒ‹

/*C*/var startAnchorEnabled = false; // uÅ‰‚É–ß‚év‚ªŽg—p‰Â”\‚©‚Ç‚¤‚©

/*C*/var storeEnabled = true; // ƒ†[ƒU‚ªužx‚ð‚Í‚³‚ށvƒƒjƒ…[‚ɃAƒNƒZƒX‰Â”\‚©‚Ç‚¤‚©
/*C*/var restoreEnabled = true; // ƒ†[ƒU‚ªužx‚ð‚½‚Ç‚évƒƒjƒ…[‚ɃAƒNƒZƒX‰Â”\‚©‚Ç‚¤‚©
var storeLabelPassed = false; // •Û‘¶‰Â”\‚ȃ‰ƒxƒ‹‚ð’ʉ߂µ‚½‚©‚Ç‚¤‚©
/*C*/var currentLabel = ""; // Œ»Ý‚̃‰ƒxƒ‹
/*C*/var currentPageName = ""; // Œ»Ý‚̃y[ƒW–¼
var currentRecordName = ""; // Œ»Ý‚Ì‹L˜^–¼ ( trail_ƒXƒgƒŒ[ƒW_ƒ‰ƒxƒ‹ )
var autoRecordPageShowing = false; // ƒ‰ƒxƒ‹’ʉߋL˜^‚ð‚·‚é‚©

var numBookMarks = 10; // ƒƒjƒ…[‚É—pˆÓ‚·‚éžx‚̃Tƒuƒƒjƒ…[€–ڂ̐”
var showBookMarkDate = false; // ƒƒjƒ…[‚Éžx‚ð‚Í‚³‚ñ‚¾“ú•tŽž‚ð•\ަ‚·‚é‚©

var bookMarkNames = []; // ƒƒjƒ…[‚ɐݒ肳‚ê‚Ä‚¢‚éžx‚Ì–¼‘O
var bookMarkDates = []; // žx‚Ì“ú•t
var bookMarkProtectedStates = []; // žx‚ª•ی삳‚ê‚Ä‚¢‚é‚©‚̏î•ñ

var showFixedPitchOnlyInFontSelector = false; // ƒtƒHƒ“ƒg‘I‘ð‚ŌŒèƒsƒbƒgƒtƒHƒ“ƒg‚݂̂ð•\ަ‚·‚é‚©

var flags = %[]; // ƒtƒ‰ƒO(ƒ†[ƒU)
var pflags = %[]; // u•Û‘¶‰Â”\‚ȃ‰ƒxƒ‹v‚ð’ʉ߂µ‚½Žž“_‚ł̃tƒ‰ƒO(ƒ†[ƒU)
var pcflags = %[]; // V (ƒRƒA)
var sflags = %[]; // ƒVƒXƒeƒ€•ϐ”—̈æ(ƒ†[ƒU)
var scflags = %[]; // ƒVƒXƒeƒ€•ϐ”—̈æ(ƒRƒA)
var tflags = %[]; // ˆêŽžƒtƒ‰ƒO

var tempBookMarks = []; // ˆêŽž“I‚ɕۑ¶‚µ‚½žx

var clickCount = 0; // ¶ƒNƒŠƒbƒNƒJƒEƒ“ƒg
var lastMouseDownX; // ÅŒã‚ɃNƒŠƒbƒN‚³‚ꂽ X À•W
var lastMouseDownY; // ÅŒã‚ɃNƒŠƒbƒN‚³‚ꂽ Y À•W

var mouseKeyEnabledCount = 0; // ƒ}ƒEƒXƒL[‚ª—LŒø‚©‚Ç‚¤‚©

var kagPlugins = []; // KAG ƒvƒ‰ƒOƒCƒ“

var keyDownHook = []; // ƒL[‚ª‰Ÿ‚³‚ꂽ‚Æ‚«‚ɌĂяo‚³‚ê‚镨
var leftClickHook = []; // ‰EƒNƒŠƒbƒN‚³‚ꂽ‚Æ‚«‚ɌĂяo‚³‚ê‚镨
var rightClickHook = []; // ¶ƒNƒŠƒbƒN‚³‚ꂽ‚Æ‚«‚ɌĂяo‚³‚ê‚镨

//------------------------------------------------------ ƒRƒ“ƒXƒgƒ‰ƒNƒ^ --

function KAGWindow(ismain = true, width = 0, height = 0)
{
// ƒRƒ“ƒXƒgƒ‰ƒNƒ^
// ˆø” : ismain : ƒƒCƒ“ƒEƒBƒ“ƒhƒE‚Æ‚µ‚č쐬‚³‚ê‚é‚Ì‚©‚Ç‚¤‚©
super.Window(); // eƒNƒ‰ƒX‚̃Rƒ“ƒXƒgƒ‰ƒNƒ^‚ðŒÄ‚Ô

// ƒRƒ“ƒtƒBƒMƒ…ƒŒ[ƒVƒ‡ƒ“
isMain = ismain;
if(ismain)
{
(KAGWindow_config incontextof this)();
(KAGWindow_config_override incontextof this)()
if typeof global.KAGWindow_config_override != "undefined";
}

userChSpeed = chSpeed = actualChSpeed = chSpeeds.normal;
autoModePageWait = autoModePageWaits.medium;
autoModeLineWait = autoModeLineWaits.medium;

askOnClose = false if !ismain;

// saveDataLocation ‚ªƒtƒ‹ƒpƒX‚łȂ¢‚悤‚È‚ç‚Î System.exePath ‚ð
// •t‚¯‰Á‚¦‚é
if(saveDataLocation.indexOf(":") == -1)
saveDataLocation = System.exePath + saveDataLocation;

// ƒƒjƒ…[ƒAƒCƒeƒ€‚̍쐬
if(ismain) (KAGWindow_createMenus incontextof this)();
if(typeof this.rightClickMenuItem != "undefined")
rightClickDefaultName = rightClickCurrentMenuName = rightClickMenuItem.caption;

if(typeof this.autoModeMediumMenuItem != "undefined")
autoModeMediumMenuItem.checked = true;
if(typeof this.windowedMenuItem != "undefined")
windowedMenuItem.checked = true;
if(typeof this.chNormalMenuItem != "undefined")
chNormalMenuItem.checked = true;
if(typeof this.ch2ndNoChangeMenuItem != "undefined")
ch2ndNoChangeMenuItem.checked = true;

if(ismain) (Menu_visible_config incontextof this)();

createBookMarkSubMenus();

// ƒEƒBƒ“ƒhƒEŠOŒ©‚Ì’²®
if(ismain)
{
borderStyle = bsSingle;
innerSunken = true;
}
else
{
borderStyle = bsDialog;
innerSunken = false;
}
showScrollBars = false;
if(ismain) caption = System.title;

// ƒVƒXƒeƒ€ƒ^ƒCƒgƒ‹‚ðƒLƒƒƒvƒVƒ‡ƒ“‚Æ“¯‚¶‚É
if(ismain) System.title = caption;

// ƒEƒBƒ“ƒhƒEƒTƒCƒY‚Ì’²®
if(width != 0 && height != 0)
{
// —^‚¦‚ç‚ꂽƒTƒCƒY‚ð“K—p
scWidth = width;
scHeight = height;
}
setInnerSize(scWidth, scHeight);

// quake —pƒ^ƒCƒ}‚̍쐬
quakeTimer = new Timer(onQuakeTimerInterval, '');
add(quakeTimer);
quakeTimer.interval = 50;

// ”wŒiƒŒƒCƒ„‚̍쐬
fore.messages = [];
back.messages = [];
fore.layers = [];
back.layers = [];
fore.base = new BaseLayer(this, null, "•\-”wŒi");
add(fore.base);
fore.base.setImageSize(scWidth, scHeight);
fore.base.setSizeToImageSize();
back.base = new BaseLayer(this, fore.base, "— -”wŒi");
add(back.base);
back.base.setImageSize(scWidth, scHeight);
back.base.setSizeToImageSize();
fore.base.setCompLayer(back.base);
back.base.setCompLayer(fore.base);
fore.base.freeImage();
back.base.freeImage();

fore.base.setDefaultCursor(cursorDefault);
back.base.setDefaultCursor(cursorDefault);

// ƒƒbƒZ[ƒW—š—ðƒŒƒCƒ„‚̍쐬
historyLayer = new HistoryLayer(this, fore.base);
add(historyLayer);

// ‘OŒiƒŒƒCƒ„‚̍쐬
allocateCharacterLayers(numCharacterLayers);

// ƒƒbƒZ[ƒWƒŒƒCƒ„‚̍쐬
allocateMessageLayers(numMessageLayers, false);
current = fore.messages[0];
currentNum = 0;
currentPage = 0;
currentWithBack = false;
if(initialMessageLayerVisible)
{
fore.messages[0].visible = true;
back.messages[0].visible = true;
}

chDefaultAntialiased = fore.messages[0].defaultAntialiased;
// •¶Žš‚ɃAƒ“ƒ`ƒGƒCƒŠƒAƒX‚ð‚©‚¯‚é‚©‚Ç‚¤‚©
chDefaultFace = fore.messages[0].userFace;
// •¶Žš‚̃fƒtƒHƒ‹ƒg‚̃tƒHƒ“ƒg

if(typeof this.chAntialiasMenuItem != "undefined")
chAntialiasMenuItem.checked = chDefaultAntialiased;

// s‘Ò‚¿/ƒy[ƒW‘Ò‚¿ƒAƒjƒ[ƒVƒ‡ƒ“ƒŒƒCƒ„‚̍쐬
lineBreak = new ClickGlyphLayer(this, fore.base);
add(lineBreak);
lineBreak.name = "sƒNƒŠƒbƒN‘Ò‚¿‹L†";
pageBreak = new ClickGlyphLayer(this, fore.base);
add(pageBreak);
pageBreak.name = "ƒy[ƒW––ƒNƒŠƒbƒN‘Ò‚¿‹L†";

// ƒ^ƒOƒnƒ“ƒhƒ‰/ƒRƒ“ƒ_ƒNƒ^‚ðì¬
tagHandlers = getHandlers();
mainConductor = new Conductor(this, tagHandlers);
add(mainConductor);
conductor = mainConductor;
extraConductor = new Conductor(this, tagHandlers);
add(extraConductor);

// BGM ƒIƒuƒWƒFƒNƒg‚ðì¬
bgm = new BGM(this);
add(bgm);

// Œø‰Ê‰¹ƒIƒuƒWƒFƒNƒg‚ðì¬
for(var i = 0; i < numSEBuffers; i++)
add(se[i] = new SESoundBuffer(this, i));

// ƒ€[ƒr[ƒIƒuƒWƒFƒNƒg‚ðì¬
if(ismain)
{
movie = new Movie(this);
add(movie);
}

// ƒfƒtƒHƒ‹ƒg‚̃nƒ“ƒhƒ‰‚ð’ljÁ
stableHandlers.add(defaultStableHandler);
runHandlers.add(defaultRunHandler);

// ƒVƒXƒeƒ€•ϐ”‚̓ǂݍž‚Ý
if(ismain) loadSystemVariables();

// ƒVƒXƒeƒ€•ϐ”‚𔽉f
if(ismain)
{
setSystemStateFromSystemVariables();
setBookMarkMenuCaptions();
}

// ƒƒbƒZ[ƒWƒŒƒCƒ„‚̃NƒŠƒA
clearMessageLayers(false);

// ƒEƒBƒ“ƒhƒEˆÊ’u‚Ì’²ß
if(this.width + this.left > System.desktopLeft + System.desktopWidth)
left = ((System.desktopWidth - this.width) >>1) + System.desktopLeft;
if(this.height + this.top > System.desktopTop + System.desktopHeight)
top = ((System.desktopHeight - this.height) >>1) + System.desktopTop;

// ƒEƒBƒ“ƒhƒE‚ð•\ަ
if(ismain) visible = true;

// ‰æ–ʃTƒCƒY‚ªƒEƒBƒ“ƒhƒEƒTƒCƒY‚æ‚è‚à¬‚³‚¢ê‡‚Í
// ƒtƒ‹ƒXƒNƒŠ[ƒ“‚É‚µ‚Ă݂é
if(ismain)
{
if(System.screenWidth <= scWidth && System.screenHeight <= scHeight)
onFullScreenMenuItemClick(this);
}

// ‘O‰ñ‹N“®Žž‚Ƀtƒ‹ƒXƒNƒŠ[ƒ“‚¾‚Á‚½ê‡‚̓tƒ‹ƒXƒNƒŠ[ƒ“‚É‚µ‚Ă݂é
if(ismain)
{
if(scflags.fullScreen !== void && +scflags.fullScreen)
onFullScreenMenuItemClick(this);
}

// ‚¢‚Á‚½‚ñƒVƒXƒeƒ€•ϐ”‚ð‘‚«o‚·
if(ismain) saveSystemVariables();
}

//------------------------------------------------------------- finalize --

function finalize()
{
// finalize ƒƒ\ƒbƒh

// ƒvƒ‰ƒOƒCƒ“‚Ì–³Œø‰»
for(var i = 0; i < kagPlugins.count; i++) invalidate kagPlugins[i];

// ‘OŒiAƒƒbƒZ[ƒWƒŒƒCƒ„‚𖳌ø‰»
for(var i = 0; i< fore.layers.count; i++) invalidate fore.layers[i];
for(var i = 0; i< back.layers.count; i++) invalidate back.layers[i];
for(var i = 0; i< fore.messages.count; i++) invalidate fore.messages[i];
for(var i = 0; i< back.messages.count; i++) invalidate back.messages[i];

// snapshotLayer ‚𖳌ø‰»
invalidate snapshotLayer if snapshotLayer !== void;

// tempLayer ‚𖳌ø‰»
invalidate tempLayer if tempLayer !== void;

// ƒX[ƒp[ƒNƒ‰ƒX‚Ì finalize ‚ðŒÄ‚Ô
super.finalize(...);
}

//-------------------------------------------------- onCloseQuery/close --

function onCloseQuery()
{
saveSystemVariables();
if(!askOnClose) { super.onCloseQuery(true); return; }
super.onCloseQuery(askYesNo("I—¹‚µ‚Ü‚·B‚æ‚낵‚¢‚Å‚·‚©H"));
}

function close()
{
// ƒEƒBƒ“ƒhƒE‚ð•‚¶‚é
saveSystemVariables();
super.close(...);
if(!this isvalid)
{
// –³Œø‰»‚³‚ê‚Ä‚¢‚é ; (ƒEƒBƒ“ƒhƒE‚ª•‚¶‚ç‚ꂽ)
// ‚±‚ÌŽž“_‚Å‚·‚ׂẴIƒuƒWƒFƒNƒg‚Í–³Œø‰»‚³‚ê‚Ä‚¢‚é‚Ì‚Å
global.System.exit();
}
}

function shutdown()
{
// ƒEƒBƒ“ƒhƒE‚ð•‚¶‚邪AI—¹Šm”F‚ðs‚í‚È‚¢
var askOnClose_save = askOnClose;
askOnClose = false;
close();
askOnClose = askOnClose_save;
}

//------------------------------------------------------ ƒvƒ‰ƒOƒCƒ“ˆ— --

function forEachEventHook(method, func, arg)
{
// ‚·‚ׂẴvƒ‰ƒOƒCƒ“ƒIƒuƒWƒFƒNƒg‚Ì method ‚É‚½‚¢‚µ‚Ä
// func ‚ðŽÀs‚·‚é
// func ‚̈ø”‚ɂ͊e—v‘f‚Æ arg ‚ª“n‚³‚ê‚é
if(kagPlugins.count)
{
var array = [];
array.assign(kagPlugins); // ‚¢‚Á‚½‚ñƒRƒs[‚µAƒRƒs[‚µ‚½•¨‚ɑ΂µ‚ÄŽÀs‚·‚é
var arraycount = array.count;
for(var i =0; i<arraycount; i++)
{
var obj = array[i];
if(typeof obj[method] != "undefined")
func(obj[method], arg);
}
}
}

function addPlugin(plugin)
{
// ƒvƒ‰ƒOƒCƒ“ƒIƒuƒWƒFƒNƒg‚ð’ljÁ
kagPlugins.add(plugin);
}

function removePlugin(plugin)
{
// ƒvƒ‰ƒOƒCƒ“ƒIƒuƒWƒFƒNƒg‚ðíœ
kagPlugins.remove(plugin);
}

//---------------------------------------------------------- ƒtƒbƒNˆ— --

function callHook(array, arg1, arg2, arg3)
{
if(array.count)
{
var processed = false;
var newarray = [];
newarray.assign(array);
var arraycount = newarray.count;
for(var i = 0; i < arraycount; i++)
{
var func = newarray[i];
var ret = func(arg1, arg2, arg3);
processed = processed || ret;
}
return processed;
}
else
{
return false;
}
}

//-------------------------------------------------------------- action --

function action(ev)
{
}

//------------------------------------------------------ tempLayer ŠÖ˜A --

property temporaryLayer
{
// ƒ[ƒNƒGƒŠƒA‚Æ‚µ‚Ĉꎞ“I‚ÉŽg—p‚Å‚«‚郌ƒCƒ„‚ð•Ô‚·
getter()
{
if(tempLayer === void)
{
tempLayer = new KAGLayer(this, primaryLayer);
tempLayer.name = "ˆêŽžƒ[ƒNƒŒƒCƒ„";
}
return tempLayer;
}
}

//------------------------------------------------ ƒƒjƒ…[ƒAƒCƒeƒ€ŠÖ˜A --

function onExitMenuItemClick(sender)
{
close();
}

function onRightClickMenuItemClick(sender)
{
onPrimaryRightClick(); // ‰EƒNƒŠƒbƒN‚Ì“®ì
}

function onShowHistoryMenuItemClick(sender)
{
if(historyLayer.visible) hideHistory(); else showHistory();
}

function onSkipToNextStopMenuItemClick(sender)
{
skipToStop();
}

function onAutoModeMenuItemClick(sender)
{
if(autoMode) cancelAutoMode(); else enterAutoMode();
}

function onAutoModeWaitMenuClick(sender)
{
sender.checked = true;
autoModePageWait = sender.wait;
autoModeLineWait = sender.lwait;
}

function onBackStartMenuItemClick(sender)
{
goBackHistory();
}

function onGoToStartMenuItemClick(sender)
{
goToStartWithAsk();
}

function onChSpeedMenuItemClick(sender)
{
sender.checked = true;
userChSpeed = sender.speed;
setUserSpeed();
saveSystemVariables();
}

function onChNonStopToPageBreakItemClick(sender)
{
chNonStopToPageBreak = ! chNonStopToPageBreak;
if(typeof this.chNonStopToPageBreakItem != "undefined")
chNonStopToPageBreakItem.checked = chNonStopToPageBreak;
saveSystemVariables();
}

function onCh2ndNonStopToPageBreakItemClick(sender)
{
ch2ndNonStopToPageBreak = ! ch2ndNonStopToPageBreak;
if(typeof this.ch2ndNonStopToPageBreakItem != "undefined")
ch2ndNonStopToPageBreakItem.checked = ch2ndNonStopToPageBreak;
saveSystemVariables();
}

function onCh2ndSpeedMenuItemClick(sender)
{
sender.checked = true;
userCh2ndSpeed = sender.speed;
setUserSpeed();
saveSystemVariables();
}

function onChAntialiasMenuItemClick(sender)
{
chDefaultAntialiased = !chDefaultAntialiased;
if(typeof this.chAntialiasMenuItem != "undefined")
chAntialiasMenuItem.checked = chDefaultAntialiased;
setMessageLayerUserFont();
saveSystemVariables();
}

function onChChangeFontMenuItem(sender)
{
selectFont();
saveSystemVariables();
}

function onRestoreMenuClick(sender)
{
if(!freeSaveDataMode) return;
loadBookMarkFromFileWithAsk();
}

function onStoreMenuClick(sender)
{
if(!freeSaveDataMode) return;
saveBookMarkToFileWithAsk();
}

function onWindowedMenuItemClick(sender)
{
if(fullScreened)
{
try
{
fullScreen = false;
}
catch(e)
{
dm("ƒEƒBƒ“ƒhƒEƒ‚[ƒh‚Ɉڍs‚Å‚«‚Ü‚¹‚ñ‚Å‚µ‚½ : " + e.message);
}
fullScreened = fullScreen;
if(fullScreened)
fullScreenMenuItem.checked = true;
else
windowedMenuItem.checked = true;
}
saveSystemVariables();
}

function onFullScreenMenuItemClick(sender)
{
if(!fullScreened)
{
try
{
fullScreen = true;
}
catch(e)
{
dm("ƒtƒ‹ƒXƒNƒŠ[ƒ“ƒ‚[ƒh‚Ɉڍs‚Å‚«‚Ü‚¹‚ñ‚Å‚µ‚½ : " + e.message);
}
fullScreened = fullScreen;
if(fullScreened)
fullScreenMenuItem.checked = true;
else
windowedMenuItem.checked = true;
}
saveSystemVariables();
}

function onHelpIndexMenuItemClick(sender)
{
// ƒwƒ‹ƒvƒtƒ@ƒCƒ‹‚ðŠJ‚­
System.shellExecute(Storages.getLocalName(System.exePath) + helpFile);
}

function onHelpAboutMenuItemClick(sender)
{
// u‚±‚̃\ƒtƒg‚ɂ‚¢‚āvƒEƒBƒ“ƒhƒE‚ð•\ަ
var win = new global.KAGWindow(false, aboutWidth, aboutHeight);
win.setPos(left + ((width - win.width)>>1), top + ((height - win.height)>>1));
win.process('about.ks' ,,, true); // about.ks ‚ð immediate ‚Å•\ަ
win.showModal(); // ƒ‚[ƒh•t‚«‚Å•\ަ
invalidate win;
}

function onReloadScenarioMenuItemClick(sender)
{
saveBookMark(1000, false);
loadBookMark(1000);
}

function onShowConsoleMenuItemClick(sender)
{
Debug.console.visible = true;
}

function onShowContollerMenuItemClick(sender)
{
Debug.controller.visible = true;
}

function internalSetMenuAccessibleAll(menu, state)
{
// autoEnable ‚ª true ‚Ì‚·‚ׂẴƒjƒ…[€–Ú‚Ì accessible ‚É’l state ‚ð
// Ý’è‚·‚é
if(typeof menu.autoEnable != "undefined" && menu.autoEnable)
menu.accessible = state;
if(typeof menu.stopRecur == "undefined" || !menu.stopRecur)
{
var children = menu.children;
for(var i = children.count -1; i >= 0; i--)
internalSetMenuAccessibleAll(children[i], state); // Ä‹A
}
}

function canStore()
{
return storeEnabled && storeLabelPassed;
}

function canRestore()
{
return restoreEnabled;
}

function setMenuAccessibleAll()
{
// ƒƒjƒ…[€–Ú‚ÌŽg—p‰Â/•s‰Â‚ðÝ’è‚·‚é

// autoEnable ‚ª true ‚Ì‚·‚ׂẴƒjƒ…[€–Ú‚Ì accessible ‚Ì
// ’l‚ðÝ’è‚·‚é
var notmodal = !historyLayer.visible && !messageLayerHiding;
var state = inStable && notmodal;
internalSetMenuAccessibleAll(menu, state);

// ‚»‚Ì‘¼‚̃ƒjƒ…[‚ÌŽg—p‰Â/•s‰Â
if(typeof this.skipToNextStopMenuItem != "undefined")
skipToNextStopMenuItem.enabled = state && !inSleep && nextSkipEnabled;

if(typeof this.rightClickMenuItem != "undefined")
rightClickMenuItem.enabled = inStable && !historyLayer.visible;

if(typeof this.showHistoryMenuItem != "undefined")
showHistoryMenuItem.enabled = inStable && !messageLayerHiding &&
historyEnabled;

if(typeof this.autoModeMenuItem != "undefined")
autoModeMenuItem.enabled = notmodal;

if(typeof this.goBackMenuItem != "undefined")
goBackMenuItem.enabled = state && isHistoryOfStoreAlive();

if(typeof this.goToStartMenuItem != "undefined")
goToStartMenuItem.enabled = state && startAnchorEnabled;

if(typeof this.storeMenu != "undefined")
{
var st = state && canStore();
var children = storeMenu.children;
if(freeSaveDataMode) storeMenu.enabled = st;
for(var i = children.count - 1; i >= 0; i--)
{
var obj = children[i];
obj.enabled = obj.orgEnabled && st;
}
}

if(typeof this.restoreMenu != "undefined")
{
var st = state && canRestore();
var children = restoreMenu.children;
if(freeSaveDataMode) restoreMenu.enabled = st;
for(var i = children.count - 1; i >= 0; i--)
{
var obj = children[i];
obj.enabled = obj.orgEnabled && st;
}
}
}

//----------------------------------------------- ƒ}ƒEƒXƒL[‚ð—LŒø‚É‚·‚é --

function enableMouseKey()
{
// ƒ}ƒEƒXƒL[‚ð—LŒø‚É‚·‚é
if(mouseKeyEnabledCount == 0) useMouseKey = true;
mouseKeyEnabledCount++; // ŽQÆƒJƒEƒ“ƒ^•ûŽ®
}

function disableMouseKey()
{
// ƒ}ƒEƒXƒL[‚𖳌ø‚É‚·‚é
mouseKeyEnabledCount --;
if(mouseKeyEnabledCount == 0) useMouseKey = false;
}

//----------------------------------------------------- ƒVƒXƒeƒ€•ϐ”ŠÖ˜A --

function loadSystemVariables()
{
// ƒVƒXƒeƒ€•ϐ”‚̓ǂݍž‚Ý
try
{
var fn = saveDataLocation + "/" + dataName +
"sc.ksd";
if(Storages.isExistentStorage(fn))
{
scflags = Scripts.evalStorage(fn);
scflags = %[] if scflags === void;
}
else
{
scflags = %[];
}

var fn = saveDataLocation + "/" + dataName +
"su.ksd";
if(Storages.isExistentStorage(fn))
{
sflags = Scripts.evalStorage(fn);
scflags = %[] if scflags === void;
}
else
{
sflags = %[];
}
}
catch(e)
{
throw new Exception("ƒVƒXƒeƒ€•ϐ”ƒf[ƒ^‚ð“ǂݍž‚߂Ȃ¢‚©A"
"‚ ‚é‚¢‚̓VƒXƒeƒ€•ϐ”ƒf[ƒ^‚ª‰ó‚ê‚Ä‚¢‚Ü‚·(" + e.message + ")");
}
}

function setSystemStateFromSystemVariables()
{
// ƒVƒXƒeƒ€•ϐ”‚ÉŠî‚¢‚ăVƒXƒeƒ€‚ðÝ’è
// (ƒtƒ‹ƒXƒNƒŠ[ƒ“ŠÖ˜A‚ð‚Ì‚¼‚­)
if(scflags.autoModePageWait !== void)
{
if(typeof this.autoModeWaitMenu !== "undefined")
{
var children = autoModeWaitMenu.children;
for(var i = children.count-1; i >= 0; i--)
{
var item = children[i];
if(typeof item.wait !== "undefined" && item.wait == scflags.autoModePageWait)
{
item.checked = true;
break;
}
}
}
}

if(scflags.userChSpeed !== void)
{
if(typeof this.chSpeedMenu !== "undefined")
{
var children = chSpeedMenu.children;
for(var i = children.count-1; i >= 0; i--)
{
var item = children[i];
if(typeof item.speed !== "undefined" && item.speed == scflags.userChSpeed)
{
item.checked = true;
break;
}
}
}
}

if(scflags.userCh2ndSpeed !== void)
{
if(typeof this.chSpeedMenu !== "undefined")
{
var children = ch2ndSpeedMenu.children;
for(var i = children.count-1; i >= 0; i--)
{
var item = children[i];
if(typeof item.speed !== "undefined" && item.speed == scflags.userCh2ndSpeed)
{
item.checked = true;
break;
}
}
}
}

lastSaveDataNameGlobal = scflags.lastSaveDataNameGlobal if scflags.lastSaveDataNameGlobal !== void;

bookMarkNames = scflags.bookMarkNames if scflags.bookMarkNames !== void;
bookMarkDates = scflags.bookMarkDates if scflags.bookMarkDates !== void;
bookMarkProtectedStates = scflags.bookMarkProtectedStates if scflags.bookMarkProtectedStates !== void;

autoModePageWait = scflags.autoModePageWait if scflags.autoModePageWait !== void;
autoModeLineWait = scflags.autoModeLineWait if scflags.autoModeLineWait !== void;
userChSpeed = scflags.userChSpeed if scflags.userChSpeed !== void;
userCh2ndSpeed = scflags.userCh2ndSpeed if scflags.userCh2ndSpeed !== void;

setUserSpeed();

chNonStopToPageBreak = scflags.chNonStopToPageBreak if scflags.chNonStopToPageBreak !== void;
if(typeof this.chNonStopToPageBreakItem != "undefined")
chNonStopToPageBreakItem.checked = chNonStopToPageBreak;

ch2ndNonStopToPageBreak = scflags.ch2ndNonStopToPageBreak if scflags.ch2ndNonStopToPageBreak !== void;
if(typeof this.ch2ndNonStopToPageBreakItem != "undefined")
ch2ndNonStopToPageBreakItem.checked = ch2ndNonStopToPageBreak;

chDefaultAntialiased = scflags.chDefaultAntialiased if scflags.chDefaultAntialiased !== void;
if(typeof this.chAntialiasMenuItem != "undefined")
chAntialiasMenuItem.checked = chDefaultAntialiased;
chDefaultFace = scflags.chDefaultFace if scflags.chDefaultFace !== void;

autoMode = scflags.autoMode if scflags.autoMode !== void;
if(typeof this.autoModeMenuItem != "undefined")
autoModeMenuItem.checked = autoMode;

setMessageLayerUserFont();

bgm.restoreSystemState(scflags);

for(var i = 0; i<numSEBuffers; i++)
{
se[i].restoreSystemState(scflags);
}
}

function clearSystemVariables()
{
// ƒVƒXƒeƒ€•ϐ”‚̃NƒŠƒA
(Dictionary.clear incontextof sflags)();
}

function saveSystemVariables()
{
// ƒVƒXƒeƒ€•ϐ”‚̕ۑ¶
if(!isMain) return;

// ƒvƒ‰ƒOƒCƒ“‚ðŒÄ‚Ô
forEachEventHook('onSaveSystemVariables',
function(handler, f) { handler(); } incontextof this);

// ƒtƒ‹ƒXƒNƒŠ[ƒ“
scflags.fullScreen = fullScreened;

// •¶Žš•\ަ‘¬“x
scflags.autoModePageWait = autoModePageWait;
scflags.autoModeLineWait = autoModeLineWait;
scflags.userChSpeed = userChSpeed;
scflags.userCh2ndSpeed = userCh2ndSpeed;
scflags.chDefaultAntialiased = chDefaultAntialiased;
scflags.chDefaultFace = chDefaultFace;
scflags.chNonStopToPageBreak = chNonStopToPageBreak;
scflags.ch2ndNonStopToPageBreak = ch2ndNonStopToPageBreak;
scflags.autoMode = autoMode;

// ƒuƒbƒNƒ}[ƒN–¼
scflags.bookMarkNames = bookMarkNames; // (ƒRƒs[‚ł͂Ȃ­‚Ä)ŽQÆ‚ŏ\•ª
scflags.bookMarkDates = bookMarkDates;
scflags.bookMarkProtectedStates = bookMarkProtectedStates;

scflags.lastSaveDataNameGlobal = lastSaveDataNameGlobal;

// ƒtƒ@ƒCƒ‹‚ɏ‘‚«ž‚Þ
if(!readOnlyMode)
{
var fn = saveDataLocation + "/" + dataName +
"sc.ksd";
(Dictionary.saveStruct incontextof scflags)(fn, saveDataMode);

var fn = saveDataLocation + "/" + dataName +
"su.ksd";
(Dictionary.saveStruct incontextof sflags)(fn, saveDataMode);
}
}

//------------------------------------------------------- ƒQ[ƒ€•ϐ”ŠÖ˜A --

function internalStoreFlags(f)
{
// f ‚ÉŒ»Ý‚̏ó‘Ô‚ð‹L˜^‚·‚é

// KAGWindow ‚ÉŠÖ‚·‚é‚à‚Ì
(Dictionary.clear incontextof f)(); // ƒNƒŠƒA
// ‚±‚±‚Ì [start_store_vars] ‚©‚ç [end_store_vars] ‚ň͂܂ꂽ•”•ª‚Í
// ––’[‚Ì perl ƒXƒNƒŠƒvƒg‚É‚æ‚Á‚ÄŽ©“®“I‚ɏˆ—‚³‚ê‚é‚̂ŁA‚±‚̃}[ƒN‚ðÁ‚µ‚½‚è
// ‚±‚̃}[ƒN‚ÌŠÔ‚ð•ҏW‚µ‚½‚肵‚È‚¢‚±‚ƁB
// [start_store_vars]
f.lastSaveDataName = lastSaveDataName;
f.quaking = quaking;
f.quakeEndTick = quakeEndTick;
f.quakeHorzMax = quakeHorzMax;
f.quakeVertMax = quakeVertMax;
f.quakePhase = quakePhase;
f.historyWriteEnabled = historyWriteEnabled;
f.historyEnabled = historyEnabled;
f.numCharacterLayers = numCharacterLayers;
f.numMessageLayers = numMessageLayers;
f.currentNum = currentNum;
f.currentPage = currentPage;
f.currentWithBack = currentWithBack;
f.chUserMode = chUserMode;
f.chSpeed = chSpeed;
f.actualChSpeed = actualChSpeed;
f.beforeNoWaitActualChSpeed = beforeNoWaitActualChSpeed;
f.beforeNoWaitChUserMode = beforeNoWaitChUserMode;
f.clickSkipEnabled = clickSkipEnabled;
f.nextSkipEnabled = nextSkipEnabled;
f.canCancelSkipByClick = canCancelSkipByClick;
f.autoWCEnabled = autoWCEnabled;
f.autoWCChars = autoWCChars;
f.rightClickEnabled = rightClickEnabled;
f.rightClickCall = rightClickCall;
f.rightClickJump = rightClickJump;
f.rightClickTarget = rightClickTarget;
f.rightClickStorage = rightClickStorage;
f.rightClickName = rightClickName;
f.rightClickCurrentMenuName = rightClickCurrentMenuName;
f.lastClickGlyphVisible = lastClickGlyphVisible;
f.cursorDefault = cursorDefault;
f.cursorPointed = cursorPointed;
f.cursorWaitingClick = cursorWaitingClick;
f.cursorDraggable = cursorDraggable;
f.startAnchorEnabled = startAnchorEnabled;
f.storeEnabled = storeEnabled;
f.restoreEnabled = restoreEnabled;
f.currentLabel = currentLabel;
f.currentPageName = currentPageName;
// [end_store_vars]

// perl ƒXƒNƒŠƒvƒg‚É‚æ‚Á‚ÄŽ©“®“I‚ɏˆ—‚³‚ê‚È‚¢‚à‚́A‚¢‚­‚‚©B
// Ž©“®ƒEƒFƒCƒg
f.autoWCWaits = [];
f.autoWCWaits.assign(autoWCWaits); // Ž©“®ƒEƒFƒCƒg‚̃EƒFƒCƒg

// bgm
f.bgm = bgm.store();

// Œø‰Ê‰¹
f.se = [];
for(var i = 0; i<numSEBuffers; i++)
{
f.se[i] = se[i].store();
}

// ƒƒbƒZ[ƒWƒŒƒCƒ„
f.foreMessageLayers = [];
f.backMessageLayers = [];
for(var i = 0; i < numMessageLayers; i++)
{
f.foreMessageLayers[i] = fore.messages[i].store();
f.backMessageLayers[i] = back.messages[i].store();
}

// ‘OŒiƒŒƒCƒ„
f.foreCharacterLayers = [];
f.backCharacterLayers = [];
for(var i = 0; i < numCharacterLayers; i++)
{
f.foreCharacterLayers[i] = fore.layers[i].store();
f.backCharacterLayers[i] = back.layers[i].store();
}

// ”wŒiƒŒƒCƒ„
f.foreBaseLayer = fore.base.store();
f.backBaseLayer = back.base.store();

// ƒEƒBƒ“ƒhƒEƒLƒƒƒvƒVƒ‡ƒ“
f.caption = caption;

// ƒRƒ“ƒ_ƒNƒ^
f.mainConductor = mainConductor.store();

// storeHook
forEachEventHook('onStore',
function(handler, f) { handler(f.flags, f.options); } incontextof this,
%[flags:f, options:void]);
}

function storeFlags()
{
// pcflags, pflags ‚É’l‚ð‘‚«ž‚Þ

// flags -> pflags
(Dictionary.assignStruct incontextof pflags)(flags);

internalStoreFlags(pcflags);
}

function internalRestoreFlags(f, clear = true, elm = void)
{
// f ‚©‚çî•ñ‚ð“ǂݏo‚·
// clear ‚ª true ‚È‚ç‚΃ƒbƒZ[ƒWƒŒƒCƒ„‚ðƒNƒŠƒA‚·‚é
// se, bgm ‚ª‚»‚ꂼ‚ê true ‚È‚ç‚΂»‚̏î•ñ‚à”½‰f‚³‚¹‚é
// backlay ‚ª true ‚̏ꍇ‚́A•\‰æ–ʂɃ[ƒh‚·‚ׂ«‚à‚̂𗠉æ–ʂɃ[ƒh‚·‚é

// KAGWindow ‚ÉŠÖ‚·‚é‚à‚Ì
// ‚±‚±‚Ì [start_restore_vars] ‚©‚ç [end_restore_vars] ‚ň͂܂ꂽ•”•ª‚Í
// (—ª)
// [start_restore_vars]
lastSaveDataName = f.lastSaveDataName if f.lastSaveDataName !== void;
quaking = f.quaking if f.quaking !== void;
quakeEndTick = f.quakeEndTick if f.quakeEndTick !== void;
quakeHorzMax = f.quakeHorzMax if f.quakeHorzMax !== void;
quakeVertMax = f.quakeVertMax if f.quakeVertMax !== void;
quakePhase = f.quakePhase if f.quakePhase !== void;
historyWriteEnabled = f.historyWriteEnabled if f.historyWriteEnabled !== void;
historyEnabled = f.historyEnabled if f.historyEnabled !== void;
numCharacterLayers = f.numCharacterLayers if f.numCharacterLayers !== void;
numMessageLayers = f.numMessageLayers if f.numMessageLayers !== void;
currentNum = f.currentNum if f.currentNum !== void;
currentPage = f.currentPage if f.currentPage !== void;
currentWithBack = f.currentWithBack if f.currentWithBack !== void;
chUserMode = f.chUserMode if f.chUserMode !== void;
chSpeed = f.chSpeed if f.chSpeed !== void;
actualChSpeed = f.actualChSpeed if f.actualChSpeed !== void;
beforeNoWaitActualChSpeed = f.beforeNoWaitActualChSpeed if f.beforeNoWaitActualChSpeed !== void;
beforeNoWaitChUserMode = f.beforeNoWaitChUserMode if f.beforeNoWaitChUserMode !== void;
clickSkipEnabled = f.clickSkipEnabled if f.clickSkipEnabled !== void;
nextSkipEnabled = f.nextSkipEnabled if f.nextSkipEnabled !== void;
canCancelSkipByClick = f.canCancelSkipByClick if f.canCancelSkipByClick !== void;
autoWCEnabled = f.autoWCEnabled if f.autoWCEnabled !== void;
autoWCChars = f.autoWCChars if f.autoWCChars !== void;
rightClickEnabled = f.rightClickEnabled if f.rightClickEnabled !== void;
rightClickCall = f.rightClickCall if f.rightClickCall !== void;
rightClickJump = f.rightClickJump if f.rightClickJump !== void;
rightClickTarget = f.rightClickTarget if f.rightClickTarget !== void;
rightClickStorage = f.rightClickStorage if f.rightClickStorage !== void;
rightClickName = f.rightClickName if f.rightClickName !== void;
rightClickCurrentMenuName = f.rightClickCurrentMenuName if f.rightClickCurrentMenuName !== void;
lastClickGlyphVisible = f.lastClickGlyphVisible if f.lastClickGlyphVisible !== void;
cursorDefault = f.cursorDefault if f.cursorDefault !== void;
cursorPointed = f.cursorPointed if f.cursorPointed !== void;
cursorWaitingClick = f.cursorWaitingClick if f.cursorWaitingClick !== void;
cursorDraggable = f.cursorDraggable if f.cursorDraggable !== void;
startAnchorEnabled = f.startAnchorEnabled if f.startAnchorEnabled !== void;
storeEnabled = f.storeEnabled if f.storeEnabled !== void;
restoreEnabled = f.restoreEnabled if f.restoreEnabled !== void;
currentLabel = f.currentLabel if f.currentLabel !== void;
currentPageName = f.currentPageName if f.currentPageName !== void;
// [end_restore_vars]

// perl ƒXƒNƒŠƒvƒg‚É‚æ‚Á‚ÄŽ©“®“I‚ɏˆ—‚³‚ê‚È‚¢‚à‚́A‚¢‚­‚‚©B

// Ž©“®ƒEƒFƒCƒg
autoWCWaits.assign(f.autoWCWaits) if f.autoWCWaits !== void;

// ”wŒiƒŒƒCƒ„
var backlay = elm != void && elm.backlay != void && +elm.backlay;
if(backlay)
{
back.base.restore(f.foreBaseLayer);
}
else
{
fore.base.restore(f.foreBaseLayer);
back.base.restore(f.backBaseLayer);
}

// ƒƒbƒZ[ƒWƒŒƒCƒ„
allocateMessageLayers(numMessageLayers);
if(backlay)
{
for(var i = 0; i < numMessageLayers; i++)
{
back.messages[i].restore(f.foreMessageLayers[i]);
}
}
else
{
for(var i = 0; i < numMessageLayers; i++)
{
fore.messages[i].restore(f.foreMessageLayers[i]);
back.messages[i].restore(f.backMessageLayers[i]);
}
}

if(clear)
{
for(var i = 0; i < numMessageLayers; i++)
{
fore.messages[i].clear();
back.messages[i].clear();
}
if(historyWriteEnabled)
{
if(historyLayer.everypage)
historyLayer.repage();
else
historyLayer.reline(), historyLayer.reline();
}
historyLayer.clearAction();
}

// ‘OŒiƒŒƒCƒ„
allocateCharacterLayers(numCharacterLayers);
if(backlay)
{
for(var i = 0; i < numCharacterLayers; i++)
{
back.layers[i].restore(f.foreCharacterLayers[i]);
}
}
else
{
for(var i = 0; i < numCharacterLayers; i++)
{
fore.layers[i].restore(f.foreCharacterLayers[i]);
back.layers[i].restore(f.backCharacterLayers[i]);
}
}

// quake ŠÖ˜A
restoreQuake();

// bgm
if(elm === void || elm.bgm === void || +elm.bgm)
{
bgm.restore(f.bgm);
}

// Œø‰Ê‰¹
if(elm === void || elm.se === void || +elm.se)
{
for(var i = 0; i<numSEBuffers; i++)
{
se[i].restore(f.se[i]);
}
}

// ƒEƒBƒ“ƒhƒEƒLƒƒƒvƒVƒ‡ƒ“
caption = f.caption;
System.title = caption;

// current ‚̐ݒ肵’¼‚µ
current = (currentPage?back:fore).messages[currentNum];

// ‰EƒNƒŠƒbƒNƒƒjƒ…[–¼
if(typeof this.rightClickMenuItem != "undefined")
rightClickMenuItem.caption = rightClickCurrentMenuName;

// restoreHook
forEachEventHook('onRestore',
function(handler, f) { handler(f.flags, f.clear, f.options); } incontextof this,
%[flags:f, clear:clear, options:elm]);

}

function restoreFlags()
{
// pcflags, pflags ‚©‚çî•ñ‚ð“ǂݏo‚·

// ƒXƒiƒbƒvƒVƒ‡ƒbƒg‚Ì”jŠü
freeSnapshot();

// ƒgƒ‰ƒ“ƒWƒVƒ‡ƒ“AŽ©“®ˆÚ“®‚Ì’âŽ~
stopAllTransitions();
stopAllMoves();

// ƒNƒŠƒbƒN‘Ò‚¿‹L†‚ð‰B‚·
hideClickGlyphs();

// ƒƒbƒZ[ƒW—š—ð‚ð‰B‚·
hideHistory();

// ƒXƒLƒbƒv‚̃Lƒƒƒ“ƒZƒ‹
cancelSkip();

// pflags -> flags
(Dictionary.assignStruct incontextof flags)(pflags);

// “ǂݍž‚Ý
internalRestoreFlags(pcflags);

// žxŠÇ—ŠÖ˜A
storeLabelPassed = true;
nextRecordHistory = false;
stablePosibility = false;

// ƒRƒ“ƒ_ƒNƒ^
currentRecordName = "";
mainConductor.restore(pcflags.mainConductor);
extraConductor.clear();
setConductorToMain();

// ƒƒjƒ…[ŠÖ˜A
setMenuAccessibleAll();

// ŽÀsŠJŽn
processGo();
}

function clearVariables()
{
// ƒQ[ƒ€•ϐ”‚̃NƒŠƒA
(Dictionary.clear incontextof flags)();
}

//--------------------------------------------------------- ’ʉߋL˜^ŠÇ— --

function pushHistoryOfStore()
{
// ’ʉߋL˜^‚ðs‚¤
// pflags, pcflags ‚ɏî•ñ‚ðŠi”[‚µ‚½Œã‚ɌĂԂ±‚Æ

if(nextRecordHistory)
{
if(stablePosibility)
{
// stablePosibility ‚ª false ‚̏ꍇ‚́A
// ‚»‚±‚̃‰ƒxƒ‹‚ŒʉߋL˜^‚ðs‚Á‚Ä‚à
// ‚»‚±‚æ‚è‚à‘O‚ɖ߂邷‚ׂª‚È‚¢‚̂ŒʉߋL˜^‚ð‚µ‚È‚¢

// Ž«‘”z—ñ‚ðì¬
var dic = %[];

// user ‚Æ core ‚ð‹L˜^
dic.user = %[];
(Dictionary.assignStruct incontextof dic.user)(pflags);
dic.core = %[];
(Dictionary.assignStruct incontextof dic.core)(pcflags);

// dic ‚ð historyOfStore ‚̐擪‚É‘}“ü
historyOfStore.insert(0, dic);

// ‚͂ݏo‚½•ª‚ðíœ
if(historyOfStore.count > maxHistoryOfStore)
historyOfStore.count = maxHistoryOfStore;
}

nextRecordHistory = false;
}
}

function setToRecordHistory()
{
// ŽŸ‚́u•Û‘¶‰Â”\‚ȃ‰ƒxƒ‹v’ʉߎž‚É
// ’ʉߋL˜^‚ðs‚¤‚悤‚ɐݒ肷‚é
// ( ‚½‚¾‚µA‚»‚̂Ƃ«‚É‹L˜^‚³‚ê‚é‚̂́AŒ»Ý‚̏ó‘Ô )
nextRecordHistory = true;
}

function isHistoryOfStoreAlive()
{
// ’ʉߋL˜^‚ª—˜—p‰Â”\‚©‚Ç‚¤‚©‚ð•Ô‚·
return historyOfStore.count;
}

function goBackHistory(ask = true)
{
// ’ʉߋL˜^‚ð‚½‚Ç‚èA–ß‚é

if(!isHistoryOfStoreAlive())
return false;

var result;
if(ask)
{
var prompt = "u"+ historyOfStore[0].core.currentPageName + "v‚܂Ŗ߂è‚Ü‚·‚©?";
result = askYesNo(prompt);
}
else
{
result = true;
}

if(result)
{
// user ‚Æ core ‚ð pflags, pcflags ‚É–ß‚·
(Dictionary.assignStruct incontextof pflags)(historyOfStore[0].user);
(Dictionary.assignStruct incontextof pcflags)(historyOfStore[0].core);

// ‹L˜^‚̐擪‚ðíœ‚·‚é
historyOfStore.erase(0);

// ƒf[ƒ^‚ðŒ³‚ÉAžx‚ð‚½‚Ç‚é“®ì‚ð‚·‚é
restoreFlags();

return true;
}
return false;
}

//--------------------------------------------------------------- žxŠÇ— --

function createBookMarkSubMenus()
{
// užx‚ð‚½‚Ç‚évužx‚ð‚Í‚³‚ށvˆÈ‰º‚ɃTƒuƒƒjƒ…[€–Ú‚ð’ljÁ
if(freeSaveDataMode) return; // ƒtƒŠ[ƒZ[ƒuƒ‚[ƒh‚Å‚Í‚È‚É‚à‚µ‚È‚¢
if(typeof this.storeMenu !== "undefined" && storeMenu.visible)
{
for(var i = 0; i<numBookMarks; i++)
{
var item;
storeMenu.add(item = new KAGMenuItem(this, string i, 0, onBookMarkStore,
false));
item.bmNum = i;
item.orgEnabled = false;
}
}
if(typeof this.restoreMenu !== "undefined" && restoreMenu.visible)
{
for(var i = 0; i<numBookMarks; i++)
{
var item;
restoreMenu.add(item = new KAGMenuItem(this, string i, 0, onBookMarkRestore,
false));
item.bmNum = i;
item.orgEnabled = false;
}
}
}

function setBookMarkMenuCaptions()
{
// užx‚ð‚½‚Ç‚évužx‚ð‚Í‚³‚ށvˆÈ‰º‚̃Tƒuƒƒjƒ…[‚É
// ƒLƒƒƒvƒVƒ‡ƒ“‚ðÝ’è

// žx‚ð‹²‚Þ
if(typeof this.storeMenu !== "undefined")
{
var children = storeMenu.children;
for(var i = children.count - 1; i >= 0; i--)
{
if(bookMarkDates[i] != '') // ‹ó•¶Žš—ñ‚̏ꍇ‚Ížx‚ª‚È‚¢‚Æ‚¢‚¤‚±‚Æ
{
// žx‚ª‘¶Ý‚·‚é
var caption;
if(showBookMarkDate) caption = bookMarkDates[i] + " ";
caption += bookMarkNames[i];
var item = children[i];
item.caption = caption;
item.enabled = false;
item.orgEnabled = !bookMarkProtectedStates[i];
}
else
{
// žx‚ª‘¶Ý‚µ‚È‚¢
var item = children[i];
item.caption = "ƒf[ƒ^‚ª‚ ‚è‚Ü‚¹‚ñ";
item.enabled = false;
item.orgEnabled = !bookMarkProtectedStates[i];
}
}
}

// žx‚ð‚½‚Ç‚é
if(typeof this.restoreMenu !== "undefined")
{
var children = restoreMenu.children;
for(var i = children.count - 1; i >= 0; i--)
{
if(bookMarkDates[i] != '') // ‹ó•¶Žš—ñ‚̏ꍇ‚Ížx‚ª‚È‚¢‚Æ‚¢‚¤‚±‚Æ
{
// žx‚ª‘¶Ý‚·‚é
var caption;
if(showBookMarkDate) caption = bookMarkDates[i] + " ";
caption += bookMarkNames[i];
var item = restoreMenu.children[i];
item.caption = caption;
item.enabled = false;
item.orgEnabled = true;
}
else
{
var item = restoreMenu.children[i];
item.caption = "ƒf[ƒ^‚ª‚ ‚è‚Ü‚¹‚ñ";
item.enabled = false;
item.orgEnabled = false;
}
}
}
setMenuAccessibleAll();
}

function setBookMarkProtectetState(num, s)
{
// n ”Ô‚Ìžx‚̕یìƒtƒ‰ƒO‚ðÝ’è‚·‚é
// s = true ‚È‚ç‚Ξx‚ɏ‘‚«ž‚ݕیì‚ð‚·‚é
bookMarkProtectedStates[num] = s;
setBookMarkMenuCaptions();
}

function onBookMarkStore(sender)
{
// žx‚ð‚Í‚³‚Þƒƒjƒ…[‚ª‘I‘ð‚³‚ê‚½
// if(!sender.parent.accessEnabled) return;
saveBookMarkWithAsk(sender.bmNum);
}

function onBookMarkRestore(sender)
{
// žx‚ð‚½‚Ç‚éƒƒjƒ…[‚ª‘I‘ð‚³‚ê‚½
// if(!sender.parent.accessEnabled) return;
loadBookMarkWithAsk(sender.bmNum);
}

function getBookMarkPageName(num)
{
// žx”ԍ† num ‚̃uƒbƒNƒ}[ƒN–¼‚𓾂é
if(bookMarkDates[num] != '') // ‹ó•¶Žš—ñ‚̏ꍇ‚Ížx‚ª‚È‚¢‚Æ‚¢‚¤‚±‚Æ
return bookMarkNames[num];
return "ƒf[ƒ^‚ª‚ ‚è‚Ü‚¹‚ñ";
}

function getBookMarkDate(num)
{
// žx”ԍ† num ‚Ì“ú•t‚𓾂é
return bookMarkDates[num];
}

function getBookMarkFileNameAtNum(num)
{
if(num >= 999) // 999 ”Ԉȍ~‚Í“ÁŽê‚ȃf[ƒ^‚É—p‚¢‚é‚Ì‚Å
return saveDataLocation + "/" + dataName + num + ".ksd";
else
return saveDataLocation + "/" + dataName + num + (saveThumbnail?".bmp":".kdt");
}

function lockSnapshot()
{
// ƒXƒiƒbƒvƒVƒ‡ƒbƒg‚ðƒƒbƒN‚·‚é
// ‰‚߂ăXƒiƒbƒvƒVƒ‡ƒbƒg‚ªƒƒbƒN‚³‚ê‚½Žž“_‚ł̉æ–Ê‚ð•Û‘¶‚·‚é
if(snapshotLockCount == 0)
{
if(snapshotLayer === void)
snapshotLayer = new Layer(this, primaryLayer);
snapshotLayer.setImageSize(scWidth, scHeight);
snapshotLayer.face = dfBoth;
snapshotLayer.piledCopy(0, 0, kag.fore.base, 0, 0, scWidth, scHeight);
}
snapshotLockCount ++;
}

function unlockSnapshot()
{
// ƒXƒiƒbƒvƒVƒ‡ƒbƒg‚̃ƒbƒN‚ð‰ðœ‚·‚é
if(snapshotLockCount == 0)
throw new Exception("snapshotLockCount ‚ªƒAƒ“ƒ_[ƒtƒ[‚µ‚Ü‚µ‚½");
snapshotLockCount --;
if(snapshotLockCount == 0)
{
if(snapshotLayer !== void)
invalidate snapshotLayer, snapshotLayer = void;
}
}

function calcThumbnailSize()
{
// ƒTƒ€ƒlƒCƒ‹‚̃TƒCƒY‚ðŒvŽZ‚·‚é
// ‰¡•‚Í 133 ‚É
var ratio = scHeight / scWidth;
var w = 133;
var h = (int)(w * ratio);

// ƒTƒ€ƒlƒCƒ‹—pƒrƒbƒgƒ}ƒbƒv‚̃TƒCƒY‚ðŒvŽZ
// ƒTƒ€ƒlƒCƒ‹—p‰æ‘œ‚Í 256 F BMP
var size =
((((w - 1) >> 2) + 1) << 2) * h +
1024 + 54;
return %[width : w, height : h, size : size];
}

function freeSnapshot()
{
// ƒXƒiƒbƒvƒVƒ‡ƒbƒg‚ð‹­§“I‚É”jŠü‚µAsnapshotLockCount ‚ð 0 ‚ɐݒ肷‚é
snapshotLockCount = 0;
if(snapshotLayer !== void)
invalidate snapshotLayer, snapshotLayer = void;
}

function saveBookMarkToFile(fn, savehist = true)
{
// ƒtƒ@ƒCƒ‹ fn ‚Éžx‚ð•Û‘¶‚·‚é
if(readOnlyMode) return false;
pcflags.storeTime = (new Date()).getTime(); // “ú•t‚ð•Û‘¶

// ƒZ[ƒuƒf[ƒ^‚ð‚܂Ƃ߂é
var data = %[];
data.id = saveDataID;
data.core = pcflags;
data.user = pflags;
if(savehist) data.history = historyOfStore;

if(saveThumbnail)
{
// ƒTƒ€ƒlƒCƒ‹‚ð•Û‘¶
lockSnapshot();
try
{
// ƒTƒ€ƒlƒCƒ‹‚̃TƒCƒY‚܂ŏk¬
var size = calcThumbnailSize();
var tmp = new Layer(this, primaryLayer);
try
{
tmp.setImageSize(size.width, size.height);
tmp.face = dfBoth;
tmp.stretchCopy(0, 0, size.width, size.height, snapshotLayer,
0, 0, snapshotLayer.imageWidth, snapshotLayer.imageHeight, stLinear);
/*
// ƒTƒ€ƒlƒCƒ‹‰æ‘œ‚ðƒZƒsƒA’²‚É‚µ‚ĕۑ¶‚·‚éê‡‚̓Rƒƒ“ƒgƒAƒEƒg‚ð‰ðœ
tmp.doGrayScale();
tmp.adjustGamma(
1.3, 0, 255, // R gamma, floor, ceil
1.0, 0, 255, // G gamma, floor, ceil
0.8, 0, 255); // B gamma, floor, ceil
*/
try
{
// ƒTƒ€ƒlƒCƒ‹‚ð•Û‘¶
tmp.saveLayerImage(fn, "bmp8");

// ƒf[ƒ^‚ð•Û‘¶
var mode = saveDataMode;
mode += "o" + size.size; // ƒ‚[ƒh•¶Žš—ñ‚É ‘‚«ž‚݃IƒtƒZƒbƒg‚ðŽw’è
(Dictionary.saveStruct incontextof data)(fn, mode);
}
catch(e)
{
invalidate tmp;
unlockSnapshot();
System.inform("ƒtƒ@ƒCƒ‹‚ɕۑ¶‚Å‚«‚Ü‚¹‚ñ (ƒtƒ@ƒCƒ‹‚ðŠJ‚¯‚È‚¢‚©A"
"‘‚«ž‚݋֎~‚Å‚·)");
return false;
}
}
catch(e)
{
invalidate tmp;
throw e;
}
invalidate tmp;
}
catch(e)
{
unlockSnapshot();
throw e;
}
unlockSnapshot();
}
else
{
// ’ʏí‚̃tƒ@ƒCƒ‹‚ɕۑ¶
try
{
(Dictionary.saveStruct incontextof data)(fn, saveDataMode);
}
catch(e)
{
System.inform("ƒtƒ@ƒCƒ‹‚ɕۑ¶‚Å‚«‚Ü‚¹‚ñ (ƒtƒ@ƒCƒ‹‚ðŠJ‚¯‚È‚¢‚©A"
"‘‚«ž‚݋֎~‚Å‚·)");
return false;
}
}

return true;
}

function saveBookMark(num, savehist = true)
{
// žx”ԍ† num ‚Éžx‚ð•Û‘¶‚·‚é
if(readOnlyMode) return false;
if(bookMarkProtectedStates[num]) return false;

var ret = saveBookMarkToFile(getBookMarkFileNameAtNum(num), savehist);
if(ret)
{
// ƒƒjƒ…[ / bookMarkNames / bookMarkDates ‚ðXV
getBookMarkInfoFromData(pcflags, num);
}
return ret;
}

function getBookMarkInfoFromData(dic, num)
{
// Ž«‘”z—ñ dic ‚©‚çžx‚̃y[ƒW–¼‚Æ“ú•t‚ð“ǂݏo‚µA
// bookMarkDates[num] ‚â bookMarkNames[num] ‚ɐݒ肷‚é
if(num < numBookMarks)
{
bookMarkNames[num] = dic.currentPageName;
var date = new Date();
date.setTime(dic.storeTime);
date = "%04d/%02d/%02d %02d:%02d".sprintf(
date.getYear(), date.getMonth() + 1, date.getDate(),
date.getHours(), date.getMinutes() );
bookMarkDates[num] = date;
setBookMarkMenuCaptions();
saveSystemVariables();
}
}

function loadBookMarkFromFile(fn, loaduser = true)
{
// ƒtƒ@ƒCƒ‹ fn ‚©‚çžx‚ð“ǂݍž‚Þ
// loaduser ‚ª false ‚ÌŽž‚Í user ‚ð“ǂݍž‚܂Ȃ¢
try
{
if(!Storages.isExistentStorage(fn)) return false; //ƒtƒ@ƒCƒ‹‚ª‚È‚¢

var data;

var modestr;

if(saveThumbnail)
{
// Žw’èƒIƒtƒZƒbƒg‚©‚çƒf[ƒ^‚ð“ǂݍž‚Þ
modestr += "o" + calcThumbnailSize().size;
}

data = Scripts.evalStorage(fn, modestr);

if(data.id != saveDataID)
{
System.inform("‘¼‚̃VƒXƒeƒ€‚̃f[ƒ^‚ð“ǂݍž‚à‚¤‚Æ‚µ‚Ü‚µ‚½", "ƒGƒ‰[");
return false;
}

pcflags = data.core;
pcflags = %[] if pcflags === void;
if(loaduser)
{
pflags = data.user;
pflags = %[] if pflags === void;
}
else
{
(Dictionary.assignStruct incontextof pflags)(flags);
}
historyOfStore = data.history;
historyOfStore = [] if historyOfStore === void;
}
catch(e)
{
System.inform("žx‚ð“ǂݍž‚߂Ȃ¢‚©Ažx‚ª"
"‰ó‚ê‚Ä‚¢‚é‚©A‚ ‚é‚¢‚Í‘¼‚ÌŒ`Ž®‚Ìžxƒf[ƒ^"
"‚Å‚·(" + e.message + ")", "ƒGƒ‰[");
return false;
}

restoreFlags();
return true;
}

function loadBookMark(num, loaduser = true)
{
// žx”ԍ† num ‚©‚çƒf[ƒ^‚ð“ǂݏo‚·
return loadBookMarkFromFile(getBookMarkFileNameAtNum(num), loaduser);
}

function saveBookMarkWithAsk(num)
{
// žx”ԍ† num ‚Éžx‚ðÝ’è‚·‚é
// ‚»‚̂Ƃ«AÝ’è‚·‚é‚©‚Ç‚¤‚©‚ð‚½‚¸‚Ë‚é
if(readOnlyMode) return false;
if(bookMarkProtectedStates[num]) return false;
var prompt = "ƒZ[ƒuƒf[ƒ^ ";
if(num < numBookMarks) prompt += (num + 1);
if(bookMarkDates[num] != "") // bookMarkDates ‚ª‹ó•¶Žš‚̏ꍇ‚Ížx‚Í‘¶Ý‚µ‚È‚¢
prompt += "u" + bookMarkNames[num] + "v";
prompt += "‚Ɂu"+ pcflags.currentPageName + "v•Û‘¶‚ð‚µ‚Ü‚·‚©?";
var result = askYesNo(prompt);
if(result) return saveBookMark(num);
return false;
}

function loadBookMarkWithAsk(num)
{
// žx”ԍ† num ‚©‚çžx‚ð“ǂݏo‚·
// ‚»‚̂Ƃ«A“ǂݏo‚·‚©‚Ç‚¤‚©‚ð‚½‚¸‚Ë‚é
if(num < numBookMarks && bookMarkDates[num] == "") // bookMarkDates ‚ª‹ó•¶Žš‚̏ꍇ‚Ížx‚Í‘¶Ý‚µ‚È‚¢
return false;
var prompt = "ƒZ[ƒuƒf[ƒ^ ";
if(num < numBookMarks) prompt += (num + 1);
prompt += "u"+ bookMarkNames[num] + "v‚ðƒ[ƒh‚µ‚Ü‚·‚©?";
var result = askYesNo(prompt);
if(result) return loadBookMark(num);
return false;
}

function saveBookMarkToFileWithAsk()
{
// ”CˆÓ‚̃tƒ@ƒCƒ‹‚Éžx‚ð•Û‘¶‚·‚é
// currentPageName ‚ðƒtƒ@ƒCƒ‹–¼‚Æ‚µ‚Ä“K‡‚·‚邿‚¤‚É
// •ÏŒ`‚·‚é
var invalid = "\\/:,;*?\"<>!.";
var valid = "^FCG–Hhƒ„ID";

var initialname = saveDataLocation + "/";
var through = false;
var orgname = currentPageName;

if(lastSaveDataNameGlobal != "")
{
try
{
initialname = Storages.extractStoragePath(lastSaveDataNameGlobal);
}
catch(e)
{
initialname = saveDataLocation + "/";
}
}

if(orgname == "")
{
// žx‚ÌŒ©o‚µ‚ª‚È‚¢‚Ì‚Å
if(lastSaveDataName == "")
orgname = System.title; // System.title ‚ð•Ï‚í‚è‚ÉŽg‚¤
else
initialname = lastSaveDataName, through = true;
}

if(!through)
{
var length = orgname.length;
for(var i = 0; i < length; i++)
{
var ch = orgname[i];
var ind = invalid.indexOf(ch);
if(ind != -1)
initialname += valid[ind];
else if(#ch >= 32)
initialname += ch;
}
}

// •Û‘¶‚·‚éƒtƒ@ƒCƒ‹–¼‚𓾂é
var selectdata = %[
title:"žx‚ð‚Í‚³‚Þ",
filter: [saveThumbnail ?
"ƒTƒ€ƒlƒCƒ‹‰æ‘œ•t‚«žxƒf[ƒ^(*.bmp)|*.bmp" :
"žxƒf[ƒ^(*.kdt)|*.kdt"],
filterIndex : 1,
name : initialname,
initialDir : "",
defaultExt : saveThumbnail?"bmp":"kdt",
save : true,
];
if(Storages.selectFile(selectdata))
{
// •Û‘¶
saveBookMarkToFile(lastSaveDataName = lastSaveDataNameGlobal = selectdata.name);
lastSaveDataName = Storages.chopStorageExt(lastSaveDataName);
}
}

function loadBookMarkFromFileWithAsk()
{
// ”CˆÓ‚̃tƒ@ƒCƒ‹‚©‚çžx‚ð“ǂݍž‚Þ
var initialdir = "";
if(lastSaveDataNameGlobal == "")
initialdir = saveDataLocation + "/";

var selectdata = %[
title:"žx‚ð‚½‚Ç‚é",
filter: [saveThumbnail ?

Por Favor Ayuda

07 October 2005 - 03:59 PM

Hola,

He estado buscando Megaman x6 y x7 para PC pero no los encuentro alguien me podria ayudar en decirme donde los puedo descargar por favor ya tengo un buen rato de estarlos buscando.

Gracias de Antemano.

Saludos.

Alguien Tiene La Serie Hentai Discipline?

03 October 2005 - 01:53 AM

Hola,

desde hace rato estoy buscando la serie hentai discipline pero completa pero no la hallo en ningun lado ajguien sabe donde descargarla o la podiran subir por favor.

Gracias de antemano.

Saludos.