public Kh2Field( Kernel kernel, Camera camera, Dictionary <string, string> settings, GraphicsDevice graphicsDevice, KingdomShader shader, InputManager inputManager) { _kernel = kernel; _camera = camera; _targetCamera = new TargetCamera(_camera); _graphicsDevice = graphicsDevice; _shader = shader; _inputManager = inputManager; var viewport = graphicsDevice.Viewport; _drawing = new MonoSpriteDrawing(graphicsDevice, _shader); _drawing.SetProjection( viewport.Width, viewport.Height, Global.ResolutionWidth, Global.ResolutionHeight, 1.0f); _messageRenderer = new Kh2MessageRenderer(_drawing, _kernel.EventMessageContext); _messageDrawContext = new DrawContext { IgnoreDraw = false, x = 0, y = 0, xStart = 0, Width = 0, Height = 0, WindowWidth = 512, Scale = 1, WidthMultiplier = 1, Color = new ColorF(1.0f, 1.0f, 1.0f, 1.0f) }; _eventMessageProvider = new Kh2MessageProvider(); _spawnScriptMap = settings.GetInt("SpawnScriptMap", -1); _spawnScriptBtl = settings.GetInt("SpawnScriptBtl", -1); _spawnScriptEvt = settings.GetInt("SpawnScriptEvt", -1); FadeFromBlack(1.0f); }
public Kernel(IDataContent dataContent) { _dataContent = dataContent; FontContext = new FontContext(); MessageProvider = new Kh2MessageProvider(); RegionId = DetectRegion(dataContent); IsReMix = DetectReMix(dataContent, Region); // Load files in the same order as KH2 does ObjEntries = LoadFile("00objentry.bin", stream => Objentry.Read(stream)); // 00progress LoadSystem("03system.bin"); LoadBattle("00battle.bin"); // 00common // 00worldpoint // 07localset // 12soundinfo // 14mission LoadFontImage($"msg/{Language}/fontimage.bar"); LoadFontInfo($"msg/{Language}/fontinfo.bar"); Places = LoadFile($"msg/{Language}/place.bin", stream => Place.Read(stream)); LoadMessage("sys"); // 15jigsaw if (Language == "jp") { SystemMessageContext = FontContext.ToKh2JpSystemTextContext(); EventMessageContext = FontContext.ToKh2JpEventTextContext(); } else { SystemMessageContext = FontContext.ToKh2EuSystemTextContext(); EventMessageContext = FontContext.ToKh2EuEventTextContext(); } }