public override void ReInit()
                {
                    base.ReInit();

                    if (InGameMenu_Junction != null && InGameMenu_Junction.GetMode() == Mode.Mag_Stat && Enabled)
                    {
                        ITEM[0, 0] = new IGMDataItem_Icon(Icons.ID.Rewind_Fast, new Rectangle(SIZE[0].X, SIZE[0].Y, 0, 0), 2, 7);
                        ITEM[0, 1] = new IGMDataItem_String(Descriptions[Items.ST_A_D], new Rectangle(SIZE[0].X + 20, SIZE[0].Y, 0, 0));
                        ITEM[0, 2] = new IGMDataItem_Icon(Icons.ID.Rewind, new Rectangle(SIZE[0].X + 143, SIZE[0].Y, 0, 0), 2, 7);
                        ITEM[0, 3] = new IGMDataItem_String(Descriptions[Items.EL_A_D], new Rectangle(SIZE[0].X + 169, SIZE[0].Y, 0, 0));
                    }
                    else
                    if (InGameMenu_Junction != null && InGameMenu_Junction.GetMode() == Mode.Mag_EL_A && Enabled) //coords for these two need checked.
                    {
                        ITEM[0, 0] = new IGMDataItem_Icon(Icons.ID.Rewind, new Rectangle(SIZE[0].X, SIZE[0].Y, 0, 0), 2, 7);
                        ITEM[0, 1] = new IGMDataItem_String(Descriptions[Items.ST_A_D], new Rectangle(SIZE[0].X + 20, SIZE[0].Y, 0, 0));
                        ITEM[0, 2] = new IGMDataItem_Icon(Icons.ID.Forward, new Rectangle(SIZE[0].X + 143, SIZE[0].Y, 0, 0), 2, 7);
                        ITEM[0, 3] = new IGMDataItem_String(Descriptions[Items.Stats], new Rectangle(SIZE[0].X + 169, SIZE[0].Y, 0, 0));
                    }
                    else
                    if (InGameMenu_Junction != null && InGameMenu_Junction.GetMode() == Mode.Mag_ST_A && Enabled)
                    {
                        ITEM[0, 0] = new IGMDataItem_Icon(Icons.ID.Forward, new Rectangle(SIZE[0].X, SIZE[0].Y, 0, 0), 2, 7);
                        ITEM[0, 1] = new IGMDataItem_String(Descriptions[Items.EL_A_D], new Rectangle(SIZE[0].X + 20, SIZE[0].Y, 0, 0));
                        ITEM[0, 2] = new IGMDataItem_Icon(Icons.ID.Forward_Fast, new Rectangle(SIZE[0].X + 143, SIZE[0].Y, 0, 0), 2, 7);
                        ITEM[0, 3] = new IGMDataItem_String(Descriptions[Items.Stats], new Rectangle(SIZE[0].X + 169, SIZE[0].Y, 0, 0));
                    }
                }
Example #2
0
                private void Get_Sort_Stat()
                {
                    SortMode = (Mode)InGameMenu_Junction.GetMode();
                    switch (SortMode)
                    {
                    default:
                    case Mode.Mag_Stat:
                    case Mode.Mag_Pool_Stat:
                        SortMode = Mode.Mag_Pool_Stat;
                        break;

                    case Mode.Mag_ST_D:
                    case Mode.Mag_Pool_ST_D:
                        SortMode = Mode.Mag_Pool_ST_D;
                        break;

                    case Mode.Mag_ST_A:
                    case Mode.Mag_Pool_ST_A:
                        SortMode = Mode.Mag_Pool_ST_A;
                        Stat     = Kernel_bin.Stat.ST_Atk;
                        break;

                    case Mode.Mag_EL_D:
                    case Mode.Mag_Pool_EL_D:
                        SortMode = Mode.Mag_Pool_EL_D;
                        break;

                    case Mode.Mag_EL_A:
                    case Mode.Mag_Pool_EL_A:
                        SortMode = Mode.Mag_Pool_EL_A;
                        Stat     = Kernel_bin.Stat.EL_Atk;
                        break;
                    }
                }
Example #3
0
                private void Update_String()
                {
                    if (InGameMenu_Junction != null && InGameMenu_Junction.GetMode().Equals(Mode.TopMenu_Auto) && Enabled)
                    {
                        FF8String Changed = null;
                        switch (CURSOR_SELECT)
                        {
                        case 0:
                            Changed = Descriptions[Items.AutoAtk];
                            break;

                        case 1:
                            Changed = Descriptions[Items.AutoDef];
                            break;

                        case 2:
                            Changed = Descriptions[Items.AutoMag];
                            break;
                        }
                        if (Changed != null && InGameMenu_Junction != null)
                        {
                            InGameMenu_Junction.ChangeHelp(Changed);
                        }
                    }
                }
Example #4
0
 public override void Inputs_OKAY()
 {
     if (Memory.State.Characters != null)
     {
         if (!BLANKS[CURSOR_SELECT])
         {
             skipsnd = true;
             init_debugger_Audio.PlaySound(31);
             base.Inputs_OKAY();
             SlotConfirmListener?.Invoke(this, (Mode)InGameMenu_Junction.GetMode());
             if (InGameMenu_Junction.GetMode().Equals(Mode.Mag_Pool_Stat))
             {
                 InGameMenu_Junction.SetMode(Mode.Mag_Stat);
             }
             else if (InGameMenu_Junction.GetMode().Equals(Mode.Mag_Pool_EL_A) || InGameMenu_Junction.GetMode().Equals(Mode.Mag_Pool_EL_D))
             {
                 InGameMenu_Junction.SetMode(Mode.Mag_EL_A);
             }
             else if (InGameMenu_Junction.GetMode().Equals(Mode.Mag_Pool_ST_A) || InGameMenu_Junction.GetMode().Equals(Mode.Mag_Pool_ST_D))
             {
                 InGameMenu_Junction.SetMode(Mode.Mag_ST_A);
             }
             Cursor_Status &= ~Cursor_Status.Enabled;
             InGameMenu_Junction.ReInit();
         }
     }
 }
Example #5
0
                public override void Inputs_CANCEL()
                {
                    if (Memory.State.Characters != null)
                    {
                        base.Inputs_CANCEL();
                        SlotUndoListener?.Invoke(this, (Mode)InGameMenu_Junction.GetMode());
                        SlotConfirmListener?.Invoke(this, (Mode)InGameMenu_Junction.GetMode());
                        SlotReinitListener?.Invoke(this, (Mode)InGameMenu_Junction.GetMode());
                        switch (SortMode)
                        {
                        case Mode.Mag_Pool_Stat:
                            InGameMenu_Junction.SetMode(Mode.Mag_Stat);
                            break;

                        case Mode.Mag_Pool_EL_A:
                            InGameMenu_Junction.SetMode(Mode.Mag_EL_A);
                            break;

                        case Mode.Mag_Pool_EL_D:
                            InGameMenu_Junction.SetMode(Mode.Mag_EL_D);
                            break;

                        case Mode.Mag_Pool_ST_A:
                            InGameMenu_Junction.SetMode(Mode.Mag_ST_A);
                            break;

                        case Mode.Mag_Pool_ST_D:
                            InGameMenu_Junction.SetMode(Mode.Mag_ST_D);
                            break;
                        }

                        Cursor_Status &= ~Cursor_Status.Enabled;
                        Source         = Memory.State.Characters[Character];
                    }
                }
Example #6
0
                public override bool Update()
                {
                    bool ret = base.Update();

                    if (InGameMenu_Junction != null && InGameMenu_Junction.GetMode().Equals(Mode.TopMenu) && Enabled)
                    {
                        FF8String Changed = null;
                        switch (CURSOR_SELECT)
                        {
                        case 0:
                            Changed = Descriptions[Items.Junction];
                            break;

                        case 1:
                            Changed = Descriptions[Items.Off];
                            break;

                        case 2:
                            Changed = Descriptions[Items.Auto];
                            break;

                        case 3:
                            Changed = Descriptions[Items.Ability];
                            break;
                        }
                        if (Changed != null)
                        {
                            InGameMenu_Junction.ChangeHelp(Changed);
                        }
                    }
                    return(ret);
                }
                public override bool Update()
                {
                    bool ret = base.Update();

                    if (InGameMenu_Junction != null && InGameMenu_Junction.GetMode() == Mode.Abilities)
                    {
                        Cursor_Status &= ~Cursor_Status.Blinking;

                        IGMDataItem_IGMData i  = ((IGMDataItem_IGMData)ITEM[0, 0]);
                        IGMDataItem_IGMData i2 = ((IGMDataItem_IGMData)ITEM[1, 0]);
                        if (i != null && i.Data != null && i2 != null && i2.Data != null)
                        {
                            if (CURSOR_SELECT >= i.Data.Count)
                            {
                                if (i2.Data.Descriptions != null && i2.Data.Descriptions.ContainsKey(CURSOR_SELECT - i.Data.Count))
                                {
                                    InGameMenu_Junction.ChangeHelp(i2.Data.Descriptions[CURSOR_SELECT - i.Data.Count]);
                                }
                            }
                            else
                            {
                                if (i.Data.Descriptions != null && i.Data.Descriptions.ContainsKey(CURSOR_SELECT))
                                {
                                    InGameMenu_Junction.ChangeHelp(i.Data.Descriptions[CURSOR_SELECT]);
                                }
                            }
                        }
                    }
                    else
                    {
                        Cursor_Status |= Cursor_Status.Blinking;
                    }

                    return(ret);
                }
Example #8
0
 private bool Undo()
 {
     SlotUndoListener?.Invoke(this, (Mode)InGameMenu_Junction.GetMode());
     if (Memory.State.Characters != null)
     {
         Source = Memory.State.Characters[Character];
     }
     return(true);
 }
Example #9
0
 public override bool Update()
 {
     Update_String();
     if (InGameMenu_Junction != null)
     {
         if (InGameMenu_Junction.GetMode() == Mode.TopMenu_Junction)
         {
             Cursor_Status &= ~Cursor_Status.Blinking;
         }
         else
         {
             Cursor_Status |= Cursor_Status.Blinking;
         }
     }
     return(base.Update());
 }
Example #10
0
 private void UpdateOnEvent(object sender, Mode?mode = null, Kernel_bin.Stat?stat = null)
 {
     mode = mode ?? (Mode)InGameMenu_Junction.GetMode();
     if (
         mode != Mode.Mag_Pool_ST_A &&
         mode != Mode.Mag_Pool_ST_D &&
         mode != Mode.Mag_Pool_EL_A &&
         mode != Mode.Mag_Pool_EL_D &&
         mode != Mode.Mag_Pool_Stat)
     {
         Cursor_Status &= ~Cursor_Status.Enabled;
     }
     else
     {
         Cursor_Status |= Cursor_Status.Enabled;
     }
     if (Memory.State.Characters != null)
     {
         Get_Sort_Stat();
         Stat = stat ?? Stat;
         Get_Slots_Values();
         if (SortMode != LastMode || this.Stat != LastStat || Character != LastCharacter)
         {
             Get_Sort();
         }
         bool skipundo = false;
         if (!(SortMode == LastMode && Character == LastCharacter && this.Stat == LastStat && Page == LastPage))
         {
             LastCharacter = Character;
             LastStat      = this.Stat;
             LastPage      = Page;
             LastMode      = SortMode;
             skipundo      = Undo();
             FillMagic();
             UpdateTitle();
         }
         if (
             mode == Mode.Mag_Pool_ST_A ||
             mode == Mode.Mag_Pool_ST_D ||
             mode == Mode.Mag_Pool_EL_A ||
             mode == Mode.Mag_Pool_EL_D ||
             mode == Mode.Mag_Pool_Stat)
         {
             Generate_Preview(skipundo);
         }
     }
 }
Example #11
0
 public void Generate_Preview(bool skipundo = false)
 {
     if (Stat != Kernel_bin.Stat.None && CURSOR_SELECT < Contents.Length)
     {
         Cursor_Status |= Cursor_Status.Enabled;
         if (Source.Stat_J[Stat] != Contents[CURSOR_SELECT])
         {
             if (!skipundo)
             {
                 Undo();
                 skipundo = false;
             }
             Source.JunctionSpell(Stat, Contents[CURSOR_SELECT]);
             SlotReinitListener?.Invoke(this, (Mode)InGameMenu_Junction.GetMode());
         }
     }
 }
Example #12
0
                public override bool ITEMInputs(IGMDataItem i, int pos = 0)
                {
                    bool ret = false;

                    if (InputsModeTest(pos))
                    {
                        Mode lastmode = (Mode)InGameMenu_Junction.GetMode();
                        ret = base.ITEMInputs(i, pos);
                        if (ret)
                        {
                            if (!InGameMenu_Junction.GetMode().Equals(lastmode))
                            {
                                Show();
                            }
                        }
                    }
                    return(ret);
                }
Example #13
0
                public override bool Update()
                {
                    bool ret = base.Update();

                    Update_String();

                    if (InGameMenu_Junction != null)
                    {
                        if (InGameMenu_Junction.GetMode().Equals(Mode.TopMenu_Off))
                        {
                            Cursor_Status &= ~Cursor_Status.Blinking;
                        }
                        else
                        {
                            Cursor_Status |= Cursor_Status.Blinking;
                        }
                    }
                    return(ret);
                }
Example #14
0
                private bool InputsModeTest(int pos)
                {
                    pos = cnv(pos);
                    switch (InGameMenu_Junction.GetMode())
                    {
                    case Mode.Mag_Pool_Stat:
                    case Mode.Mag_Pool_EL_A:
                    case Mode.Mag_Pool_EL_D:
                    case Mode.Mag_Pool_ST_A:
                    case Mode.Mag_Pool_ST_D:
                        if (pos == 2)
                        {
                            return(true);
                        }
                        break;

                    case Mode.Mag_Stat:
                        if (pos == 0)
                        {
                            return(true);
                        }
                        break;

                    case Mode.Mag_EL_A:
                    case Mode.Mag_EL_D:
                        if (pos == 3)
                        {
                            return(true);
                        }
                        break;

                    case Mode.Mag_ST_A:
                    case Mode.Mag_ST_D:
                        if (pos == 6)
                        {
                            return(true);
                        }
                        break;
                    }
                    return(false);
                }
Example #15
0
                private void Update_String()
                {
                    if (InGameMenu_Junction != null && InGameMenu_Junction.GetMode() == Mode.TopMenu_Off && Enabled)
                    {
                        FF8String Changed = null;
                        switch (CURSOR_SELECT)
                        {
                        case 0:
                            Changed = Descriptions[Items.RemMag];
                            break;

                        case 1:
                            Changed = Descriptions[Items.RemAll];
                            break;
                        }
                        if (Changed != null && InGameMenu_Junction != null)
                        {
                            InGameMenu_Junction.ChangeHelp(Changed);
                        }
                    }
                }
 public override void CheckMode(bool cursor = true) =>
 CheckMode(0, Mode.Mag_ST_A, Mode.Mag_ST_D,
           InGameMenu_Junction != null && (InGameMenu_Junction.GetMode().Equals(Mode.Mag_ST_A) || InGameMenu_Junction.GetMode().Equals(Mode.Mag_ST_D)),
           InGameMenu_Junction != null && (InGameMenu_Junction.GetMode().Equals(Mode.Mag_Pool_ST_A) || InGameMenu_Junction.GetMode().Equals(Mode.Mag_Pool_ST_D)),
           cursor);
Example #17
0
                public override void ITEMShow(IGMDataItem i, int pos = 0)
                {
                    if (InGameMenu_Junction != null)
                    {
                        pos = cnv(pos);
                        switch (InGameMenu_Junction.GetMode())
                        {
                        default:
                            if (pos < 1)
                            {
                                base.ITEMShow(i, pos);
                            }
                            else
                            {
                                base.ITEMHide(i, pos);
                            }
                            break;

                        case Mode.Mag_Pool_Stat:
                        case Mode.Mag_Stat:
                            if (pos < 3)
                            {
                                base.ITEMShow(i, pos);
                            }
                            else
                            {
                                base.ITEMHide(i, pos);
                            }
                            break;

                        case Mode.Mag_EL_A:
                        case Mode.Mag_Pool_EL_A:
                            if (pos > 0 && pos < 5)
                            {
                                base.ITEMShow(i, pos);
                            }
                            else
                            {
                                base.ITEMHide(i, pos);
                            }
                            break;

                        case Mode.Mag_EL_D:
                        case Mode.Mag_Pool_EL_D:
                            if (pos > 0 && pos < 4 || pos == 5)
                            {
                                base.ITEMShow(i, pos);
                            }
                            else
                            {
                                base.ITEMHide(i, pos);
                            }
                            break;

                        case Mode.Mag_ST_A:
                        case Mode.Mag_Pool_ST_A:
                            if (pos > 0 && pos < 3 || pos == 6 || pos == 7)
                            {
                                base.ITEMShow(i, pos);
                            }
                            else
                            {
                                base.ITEMHide(i, pos);
                            }
                            break;

                        case Mode.Mag_ST_D:
                        case Mode.Mag_Pool_ST_D:
                            if (pos > 0 && pos < 3 || pos == 6 || pos == 8)
                            {
                                base.ITEMShow(i, pos);
                            }
                            else
                            {
                                base.ITEMHide(i, pos);
                            }
                            break;
                        }
                    }
                }
Example #18
0
 public override void CheckMode(bool cursor = true) =>
 CheckMode(0, Mode.Mag_EL_A, Mode.Mag_EL_D,
           InGameMenu_Junction != null && (InGameMenu_Junction.GetMode() == Mode.Mag_EL_A || InGameMenu_Junction.GetMode() == Mode.Mag_EL_D),
           InGameMenu_Junction != null && (InGameMenu_Junction.GetMode() == Mode.Mag_Pool_EL_A || InGameMenu_Junction.GetMode() == Mode.Mag_Pool_EL_D),
           cursor);
 public override void CheckMode(bool cursor = true) =>
 CheckMode(-1, Mode.None, Mode.Mag_Stat,
           InGameMenu_Junction != null && (InGameMenu_Junction.GetMode() == Mode.Mag_Stat),
           InGameMenu_Junction != null && (InGameMenu_Junction.GetMode() == Mode.Mag_Pool_Stat),
           (InGameMenu_Junction.GetMode() == Mode.Mag_Stat || InGameMenu_Junction.GetMode() == Mode.Mag_Pool_Stat) && cursor);
                public override bool Update()
                {
                    if (InGameMenu_Junction != null && InGameMenu_Junction.GetMode() != Mode.Abilities_Abilities)
                    {
                        Cursor_Status &= ~Cursor_Status.Enabled;
                    }
                    else
                    {
                        Cursor_Status |= Cursor_Status.Enabled;
                    }
                    int pos  = 0;
                    int skip = Page * rows;

                    for (int i = 0;
                         Memory.State.Characters != null &&
                         i < Memory.State.Characters[Character].UnlockedGFAbilities.Count &&
                         pos < rows; i++)
                    {
                        if (Memory.State.Characters[Character].UnlockedGFAbilities[i] != Kernel_bin.Abilities.None)
                        {
                            Kernel_bin.Abilities j = Memory.State.Characters[Character].UnlockedGFAbilities[i];
                            if (Source.ContainsKey(j))
                            {
                                if (skip > 0)
                                {
                                    skip--;
                                    continue;
                                }
                                Font.ColorID cid = Memory.State.Characters[Character].Abilities.Contains(j) ? Font.ColorID.Grey : Font.ColorID.White;
                                BLANKS[pos] = cid == Font.ColorID.Grey ? true : false;

                                ITEM[pos, 0] = new IGMDataItem_String(
                                    Source[j].Icon, 9,
                                    Source[j].Name,
                                    new Rectangle(SIZE[pos].X, SIZE[pos].Y, 0, 0), cid);
                                Contents[pos] = j;
                                pos++;
                            }
                        }
                    }
                    for (; pos < rows; pos++)
                    {
                        ITEM[pos, 0]  = null;
                        BLANKS[pos]   = true;
                        Contents[pos] = Kernel_bin.Abilities.None;
                    }
                    if (Contents[CURSOR_SELECT] != Kernel_bin.Abilities.None && InGameMenu_Junction.GetMode() == Mode.Abilities_Abilities)
                    {
                        InGameMenu_Junction.ChangeHelp(Source[Contents[CURSOR_SELECT]].Description.ReplaceRegion());
                    }
                    UpdateTitle();
                    if (Contents[CURSOR_SELECT] == Kernel_bin.Abilities.None)
                    {
                        CURSOR_NEXT();
                    }
                    if (Pages > 1)
                    {
                        if (Contents[0] == Kernel_bin.Abilities.None)
                        {
                            Pages = Page;
                            PAGE_NEXT();
                            return(Update());
                        }
                        else if (Contents[rows - 1] == Kernel_bin.Abilities.None)
                        {
                            Pages = Page + 1;
                        }
                    }
                    return(base.Update());
                }