Exemple #1
0
 public Form1()
 {
     InitializeComponent();
     SetDoubleBuffered(lvQuest);
     SetDoubleBuffered(lvSubquest);
     quests = new LBA2Quests(getLBAFilesPath());
     load(true);
 }
Exemple #2
0
        private void addQuestsToListView(LBA2Quests quests)
        {
            lvQuest.Items.Clear();

            for (int i = 0; i < quests.quests.Count(); i++)
            {
                addQuestToListView(quests.quests[i]);
            }
        }
Exemple #3
0
 private void updateQuests(LBA2Quests quests)
 {
     for (int i = 0; i < quests.quests.Count(); i++)
     {
         if (lvQuest.Items[i].SubItems[0].Text != quests.quests[i].name)
         {
             lvQuest.Items[i].SubItems[1].Text = quests.quests[i].name;
             lvQuest.Items[i].Tag = quests.quests[i];
         }
     }
 }
Exemple #4
0
 private void addOrUpdateQuest(LBA2Quests quests)
 {
     if (0 == lvQuest.Items.Count)
     {
         addQuestsToListView(quests);
     }
     else
     {
         updateQuests(quests);
     }
 }
Exemple #5
0
        private LBA2Quests padQuests(LBA2Quests input)
        {
            uint count = ((input.quests[input.quests.Count() - 1].memoryOffset - input.quests[0].memoryOffset) + 1) / 2;

            LBA2Quest[] output = new LBA2Quest[count + 1];
            //for (int i = 0, j = 0; i < count; i++)

            for (int i = 0, copied = 0; i < output.Count(); i++)
            {
                //Always copy first item (No previous item to compare against
                if (0 != i && ((input.quests[copied].memoryOffset - 2) > output[i - 1].memoryOffset))
                {
                    output[i] = new LBA2Quest("Unknown", output[i - 1].memoryOffset + 2, 1, null);//pad item;
                }
                else
                {
                    output[i] = input.quests[copied++];//Copy item and increment source index
                }
            }
            input.quests = output;
            return(input);
        }