mirror of
https://github.com/haven1433/HexManiacAdvance.git
synced 2026-06-01 04:53:29 -05:00
Attempt to fix startup crash
The crash happened because the ModelTable was looking for the frontsprites / pokepalettes, which it couldn't find.
This commit is contained in:
parent
dd0e2f89aa
commit
5545e2eb70
|
|
@ -11,7 +11,6 @@ namespace HavenSoft.HexManiac.Core.Models {
|
|||
|
||||
public ModelArrayElement this[int value] {
|
||||
get {
|
||||
var table = model.GetNextRun(arrayAddress) as ITableRun;
|
||||
return new ModelArrayElement(model, arrayAddress, value);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -15,8 +15,7 @@ namespace HavenSoft.HexManiac.Core.ViewModels {
|
|||
public class DexReorderTab : ViewModelCore, ITabContent {
|
||||
private readonly ChangeHistory<ModelDelta> history;
|
||||
private readonly IDataModel model;
|
||||
private readonly ITableRun dexOrder;
|
||||
private readonly ITableRun dexInfo;
|
||||
private readonly string dexOrder, dexInfo;
|
||||
private readonly bool isNational;
|
||||
|
||||
public ObservableCollection<SortablePokemon> Elements { get; } = new ObservableCollection<SortablePokemon>();
|
||||
|
|
@ -45,7 +44,7 @@ namespace HavenSoft.HexManiac.Core.ViewModels {
|
|||
public event EventHandler RequestMenuClose;
|
||||
public event PropertyChangedEventHandler PropertyChanged;
|
||||
|
||||
public DexReorderTab(ChangeHistory<ModelDelta> history, IDataModel model, ITableRun dexOrder, ITableRun dexInfo, bool isNational) {
|
||||
public DexReorderTab(ChangeHistory<ModelDelta> history, IDataModel model, string dexOrder, string dexInfo, bool isNational) {
|
||||
this.history = history;
|
||||
this.model = model;
|
||||
this.dexOrder = dexOrder;
|
||||
|
|
@ -64,6 +63,9 @@ namespace HavenSoft.HexManiac.Core.ViewModels {
|
|||
history.ChangeCompleted();
|
||||
Elements.Clear();
|
||||
|
||||
var dexOrder = (ITableRun)model.GetNextRun(model.GetAddressFromAnchor(new NoDataChangeDeltaModel(), -1, this.dexOrder));
|
||||
var dexInfo = (ITableRun)model.GetNextRun(model.GetAddressFromAnchor(new NoDataChangeDeltaModel(), -1, this.dexInfo));
|
||||
|
||||
var elementCount = dexOrder.ElementCount;
|
||||
var dexOrderTable = new ModelTable(model, dexOrder.Start);
|
||||
var indexName = dexOrder.ElementContent[0].Name;
|
||||
|
|
@ -100,6 +102,9 @@ namespace HavenSoft.HexManiac.Core.ViewModels {
|
|||
// Elements is in the new desired pokedex order
|
||||
// update dexOrder / dexInfo to match
|
||||
|
||||
var dexOrder = (ITableRun)model.GetNextRun(model.GetAddressFromAnchor(new NoDataChangeDeltaModel(), -1, this.dexOrder));
|
||||
var dexInfo = (ITableRun)model.GetNextRun(model.GetAddressFromAnchor(new NoDataChangeDeltaModel(), -1, this.dexInfo));
|
||||
|
||||
// maps from canonical order to previous desired dex order
|
||||
var oldOrder = new List<int>();
|
||||
for (int i = dexOrder.Start; i < dexOrder.Start + dexOrder.Length; i += dexOrder.ElementLength) {
|
||||
|
|
|
|||
|
|
@ -21,7 +21,9 @@ namespace HavenSoft.HexManiac.Core.ViewModels.QuickEditItems {
|
|||
var model = viewPort.Model;
|
||||
var dexOrder = GetTable(model, dexTableName);
|
||||
var dexInfo = GetTable(model, HardcodeTablesModel.DexInfoTableName);
|
||||
return dexOrder != null && dexInfo != null;
|
||||
var frontSprites = GetTable(model, SortablePokemon.FrontSpritesTable);
|
||||
var pokepalettes = GetTable(model, SortablePokemon.PokePalettesTable);
|
||||
return dexOrder != null && dexInfo != null && frontSprites != null && pokepalettes != null;
|
||||
}
|
||||
|
||||
public ErrorInfo Run(IViewPort viewPortInterface) {
|
||||
|
|
|
|||
|
|
@ -1374,10 +1374,7 @@ namespace HavenSoft.HexManiac.Core.ViewModels {
|
|||
}
|
||||
|
||||
public void OpenDexReorderTab(string dexTableName) {
|
||||
var dexOrder = ReorderDex.GetTable(Model, dexTableName);
|
||||
var dexInfo = ReorderDex.GetTable(Model, HardcodeTablesModel.DexInfoTableName);
|
||||
|
||||
var newTab = new DexReorderTab(history, Model, dexOrder, dexInfo, dexTableName == HardcodeTablesModel.NationalDexTableName);
|
||||
var newTab = new DexReorderTab(history, Model, dexTableName, HardcodeTablesModel.DexInfoTableName, dexTableName == HardcodeTablesModel.NationalDexTableName);
|
||||
RequestTabChange(this, newTab);
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user