コード例 #1
0
        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);
        }
コード例 #2
0
ファイル: Kernel.cs プロジェクト: Some1fromthedark/OpenKh
        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();
            }
        }