예제 #1
0
        private void Affine_Vy_NumBox_ValueChanged(Object sender, EventArgs e)
        {
            OAM_Affine oam = Current.Affines[Current[Entry_NumBox.Value].AffineIndex];

            oam.Vy = (float)Affine_Vy_NumBox.Value;
            Current.Affines[Current[Entry_NumBox.Value].AffineIndex] = oam;

            Core_Write();
        }
예제 #2
0
        public void Core_UpdateValues(byte index)
        {
            if (Current.Sprites.Count == 0)
            {
                return;
            }

            ScreenX_NumBox.ValueChanged         -= ScreenX_NumBox_ValueChanged;
            ScreenY_NumBox.ValueChanged         -= ScreenY_NumBox_ValueChanged;
            Shape_ComboBox.SelectedIndexChanged -= Shape_ComboBox_SelectedIndexChanged;
            Size_ComboBox.SelectedIndexChanged  -= Size_ComboBox_SelectedIndexChanged;
            Priority_NumBox.ValueChanged        -= Priority_NumBox_ValueChanged;

            GFX_Mode_ComboBox.SelectedIndexChanged -= GFX_Mode_ComboBox_SelectedIndexChanged;
            OBJ_Mode_ComboBox.SelectedIndexChanged -= OBJ_Mode_ComboBox_SelectedIndexChanged;
            FullColors_CheckBox.CheckedChanged     -= FullColors_CheckBox_CheckedChanged;
            DrawMosaic_CheckBox.CheckedChanged     -= DrawMosaic_CheckBox_CheckedChanged;
            Palette_NumBox.ValueChanged            -= Palette_NumBox_ValueChanged;

            SheetX_NumBox.ValueChanged -= SheetX_NumBox_ValueChanged;
            SheetY_NumBox.ValueChanged -= SheetY_NumBox_ValueChanged;

            FlipH_CheckBox.CheckedChanged -= FlipH_CheckBox_CheckedChanged;
            FlipV_CheckBox.CheckedChanged -= FlipV_CheckBox_CheckedChanged;

            Affine_Index_NumBox.ValueChanged -= Affine_Index_NumBox_ValueChanged;
            Affine_Ux_NumBox.ValueChanged    -= Affine_Ux_NumBox_ValueChanged;
            Affine_Uy_NumBox.ValueChanged    -= Affine_Uy_NumBox_ValueChanged;
            Affine_Vx_NumBox.ValueChanged    -= Affine_Vx_NumBox_ValueChanged;
            Affine_Vy_NumBox.ValueChanged    -= Affine_Vy_NumBox_ValueChanged;

            try
            {
                if (index >= Current.Sprites.Count)
                {
                    throw new Exception("index is outside the bounds of this OAM array");
                }

                Size dimensions = Current[index].GetDimensions();
                ShapeSize_Info.Text          = (dimensions.Width * 8) + "x" + (dimensions.Height * 8);
                Shape_ComboBox.SelectedValue = Current[index].SpriteShape;
                Size_ComboBox.SelectedValue  = Current[index].SpriteSize;
                ScreenX_NumBox.Value         = Current[index].ScreenX;
                ScreenY_NumBox.Value         = Current[index].ScreenY;
                Priority_NumBox.Value        = Current[index].Priority;

                GFX_Mode_ComboBox.SelectedValue = Current[index].GFXMode;
                OBJ_Mode_ComboBox.SelectedValue = Current[index].OBJMode;
                FullColors_CheckBox.Checked     = Current[index].FullColors;
                DrawMosaic_CheckBox.Checked     = Current[index].DrawMosaic;
                Palette_NumBox.Value            = Current[index].Palette;

                SheetX_NumBox.Value = Current[index].SheetX;
                SheetY_NumBox.Value = Current[index].SheetY;

                if (Current[index].IsAffineSprite())
                {
                    AffineSpriteMode = true;
                    OAM_Affine transform = Current.Affines[Current[index].AffineIndex];
                    FlipH_CheckBox.Checked    = false;
                    FlipV_CheckBox.Checked    = false;
                    Affine_Index_NumBox.Value = Current[index].AffineIndex;
                    Affine_Ux_NumBox.Value    = (decimal)transform.Ux;
                    Affine_Uy_NumBox.Value    = (decimal)transform.Uy;
                    Affine_Vx_NumBox.Value    = (decimal)transform.Vx;
                    Affine_Vy_NumBox.Value    = (decimal)transform.Vy;
                }
                else
                {
                    AffineSpriteMode          = false;
                    FlipH_CheckBox.Checked    = Current[index].FlipH;
                    FlipV_CheckBox.Checked    = Current[index].FlipV;
                    Affine_Index_NumBox.Value = 0;
                    Affine_Ux_NumBox.Value    = (decimal)0;
                    Affine_Uy_NumBox.Value    = (decimal)0;
                    Affine_Vx_NumBox.Value    = (decimal)0;
                    Affine_Vy_NumBox.Value    = (decimal)0;
                }

                OAM_Amount_Label.Text    = "Amount of Objects : " + Current.Sprites.Count;
                Affine_Amount_Label.Text = "Transform Amount : " + Current.Affines.Count;
            }
            catch (Exception ex)
            {
                Program.ShowError("Could not load OAM values.", ex);
            }

            ScreenX_NumBox.ValueChanged         += ScreenX_NumBox_ValueChanged;
            ScreenY_NumBox.ValueChanged         += ScreenY_NumBox_ValueChanged;
            Shape_ComboBox.SelectedIndexChanged += Shape_ComboBox_SelectedIndexChanged;
            Size_ComboBox.SelectedIndexChanged  += Size_ComboBox_SelectedIndexChanged;
            Priority_NumBox.ValueChanged        += Priority_NumBox_ValueChanged;

            GFX_Mode_ComboBox.SelectedIndexChanged += GFX_Mode_ComboBox_SelectedIndexChanged;
            OBJ_Mode_ComboBox.SelectedIndexChanged += OBJ_Mode_ComboBox_SelectedIndexChanged;
            FullColors_CheckBox.CheckedChanged     += FullColors_CheckBox_CheckedChanged;
            DrawMosaic_CheckBox.CheckedChanged     += DrawMosaic_CheckBox_CheckedChanged;
            Palette_NumBox.ValueChanged            += Palette_NumBox_ValueChanged;

            SheetX_NumBox.ValueChanged += SheetX_NumBox_ValueChanged;
            SheetY_NumBox.ValueChanged += SheetY_NumBox_ValueChanged;

            FlipH_CheckBox.CheckedChanged += FlipH_CheckBox_CheckedChanged;
            FlipV_CheckBox.CheckedChanged += FlipV_CheckBox_CheckedChanged;

            Affine_Index_NumBox.ValueChanged += Affine_Index_NumBox_ValueChanged;
            Affine_Ux_NumBox.ValueChanged    += Affine_Ux_NumBox_ValueChanged;
            Affine_Uy_NumBox.ValueChanged    += Affine_Uy_NumBox_ValueChanged;
            Affine_Vx_NumBox.ValueChanged    += Affine_Vx_NumBox_ValueChanged;
            Affine_Vy_NumBox.ValueChanged    += Affine_Vy_NumBox_ValueChanged;
        }