Example #1
0
        public bool doSplit(Process game)
        {
            data.UpdateAll(game);

            //check for file select screen before splitting
            byte _fs = Convert.ToByte(data["FileSelect1"].Current);

            if (_fs == 0x23 || _fs == 0x17)
            {
                return(false);
            }

            //check for splits
            foreach (var _split in splits)
            {
                int count = 0;
                foreach (var _trigger in _split.Triggers)
                {
                    int _int = Convert.ToInt32(data[_trigger.Key].Current);
                    if (_int == _trigger.Value)
                    {
                        count++;
                    }
                }

                if (count == _split.Triggers.Count)
                {
                    splits.Remove(_split);
                    return(true);
                }
            }

            return(false);
        }
Example #2
0
        public void setSplits(OoASettings settings)
        {
            splits = new InfoList();
            splits.AddRange(DefaultInfo.BaseSplits);

            foreach (var _setting in settings.CheckedSplits)
            {
                if (!_setting.isEnabled)
                {
                    splits.Remove(splits[_setting.Name]);
                }
            }
        }