public static void Reset() { Process = null; ConstantData = null; GameBaseData = null; EMediator = null; VEvaluator = null; VariableData = null; Console = null; MainWindow = null; LabelDictionary = null; IdentifierDictionary = null; tempDic.Clear(); }
public void Initialize() { GlobalStatic.Console = this; GlobalStatic.MainWindow = window; emuera = new GameProc.Process(this); GlobalStatic.Process = emuera; if (Program.DebugMode && Config.DebugShowWindow) { OpenDebugDialog(); window.Focus(); } ClearDisplay(); if (!emuera.Initialize()) { state = ConsoleState.Error; outputLog(null); PrintFlush(false); RefreshStrings(true); return; } callEmueraProgram(""); RefreshStrings(true); }
public static CalledFunction CallEventFunction(Process parent, string label, LogicalLine retAddress) { CalledFunction called = new CalledFunction(label); List<FunctionLabelLine> newLabelList = new List<FunctionLabelLine>(); called.Finished = false; called.eventLabelList = parent.LabelDictionary.GetEventLabels(label); if (called.eventLabelList == null) { FunctionLabelLine line = parent.LabelDictionary.GetNonEventLabel(label); if (parent.LabelDictionary.GetNonEventLabel(label) != null) { throw new CodeEE("イベント関数でない関数@" + label + "(" + line.Position.Filename + ":" + line.Position.LineNo + "行目)に対しEVENT呼び出しが行われました"); } return null; } called.counter = -1; called.group = 0; called.ShiftNext(); called.TopLabel = called.CurrentLabel; called.returnAddress = retAddress; return called; }
public LogicalLine CallLabel(Process parent, string label) { return parent.LabelDictionary.GetLabelDollar(label, this.CurrentLabel); }
public static CalledFunction CallFunction(Process parent, string label, LogicalLine retAddress) { CalledFunction called = new CalledFunction(label); called.Finished = false; FunctionLabelLine labelline = parent.LabelDictionary.GetNonEventLabel(label); if (labelline == null) { if (parent.LabelDictionary.GetEventLabels(label) != null) { throw new CodeEE("イベント関数@" + label + "に対し通常のCALLが行われました"); } return null; } else if (labelline.IsMethod) { throw new CodeEE("#FUCNTION(S)が定義された関数@" + labelline.LabelName + "(" + labelline.Position.Filename + ":" + labelline.Position.LineNo.ToString() + "行目)に対し通常のCALLが行われました"); } called.TopLabel = labelline; called.CurrentLabel = labelline; called.returnAddress = retAddress; return called; }
public HeaderFileLoader(EmueraConsole main, IdentifierDictionary idDic, Process proc) { output = main; parentProcess = proc; this.idDic = idDic; }
public ErbLoader(EmueraConsole main, ExpressionMediator exm, Process proc) { output = main; parentProcess = proc; this.exm = exm; }
internal void SetParent(EmueraConsole console, Process process) { emuera = process; mainConsole = console; }
public ExpressionMediator(Process proc, VariableEvaluator vev, EmueraConsole console) { VEvaluator = vev; Process = proc; Console = console; }