Skip to content

Commit c9fa379

Browse files
committed
fix segmented address resolution + make UI more intuitive
1 parent 35dc090 commit c9fa379

11 files changed

Lines changed: 2056 additions & 753 deletions

Z64 Utils/Forms/MainForm.Designer.cs

Lines changed: 8 additions & 5 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Z64 Utils/Forms/MainForm.resx

Lines changed: 527 additions & 526 deletions
Large diffs are not rendered by default.

Z64 Utils/Forms/ObjectAnalyzerForm.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -187,7 +187,7 @@ private void showInDisplayViewerToolStripMenuItem_Click(object sender, EventArgs
187187
var dlist = GetCurrentHolder<Z64Object.DListHolder>();
188188

189189
DListViewerForm.OpenInstance(_game);
190-
DListViewerForm.Instance.SetSegment(_segment, RDPRenderer.Segment.FromBytes(_data));
190+
DListViewerForm.Instance.SetSegment(_segment, RDPRenderer.Segment.FromBytes(_data, "[Selected Dlist]"));
191191
DListViewerForm.Instance.SetAddress(new SegmentedAddress(_segment, _obj.OffsetOf(dlist)).VAddr);
192192
}
193193

Z64 Utils/Forms/SegmentControl.Designer.cs

Lines changed: 13 additions & 29 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Z64 Utils/Forms/SegmentControl.cs

Lines changed: 5 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -47,62 +47,18 @@ public void SetGame(Z64Game game)
4747
}
4848
public void SetSegment(RDPRenderer.Segment seg)
4949
{
50-
addressValue.ForeColor = Color.Black;
51-
importFileButton.ForeColor = Color.Black;
52-
dmaFileButton.ForeColor = Color.Black;
53-
54-
if (seg.IsVram())
55-
{
56-
addressValue.Text = seg.Address.ToString("X8");
57-
addressValue.ForeColor = Color.Green;
58-
}
59-
else
60-
{
61-
importFileButton.ForeColor = Color.Green;
62-
dmaFileButton.ForeColor = Color.Green;
63-
}
50+
label1.Text = seg.Label;
6451
}
6552

6653
private void importFileButton_Click(object sender, EventArgs e)
6754
{
68-
openFileDialog1.FileName = "";
69-
openFileDialog1.Filter = Filters.ALL;
70-
if (openFileDialog1.ShowDialog() == DialogResult.OK)
71-
{
72-
SegmentChanged?.Invoke(this, RDPRenderer.Segment.FromBytes(File.ReadAllBytes(openFileDialog1.FileName)));
73-
74-
addressValue.ForeColor = Color.Black;
75-
importFileButton.ForeColor = Color.Green;
76-
dmaFileButton.ForeColor = Color.Black;
77-
}
78-
}
79-
80-
81-
private void dmaFileButton_Click(object sender, EventArgs e)
82-
{
83-
DmaFileSelectForm form = new DmaFileSelectForm(_game);
55+
SegmentEditForm form = new SegmentEditForm(_game);
56+
form.Text += " " + SegmentID;
8457
if (form.ShowDialog() == DialogResult.OK)
8558
{
86-
SegmentChanged?.Invoke(this, RDPRenderer.Segment.FromBytes(form.SelectedFile.Data));
87-
88-
addressValue.ForeColor = Color.Black;
89-
importFileButton.ForeColor = Color.Black;
90-
dmaFileButton.ForeColor = Color.Green;
59+
SetSegment(form.ResultSegment);
60+
SegmentChanged?.Invoke(this, form.ResultSegment);
9161
}
9262
}
93-
94-
private void addressValue_Validated(object sender, EventArgs e)
95-
{
96-
SegmentChanged?.Invoke(this, RDPRenderer.Segment.FromVram(uint.Parse(addressValue.Text, NumberStyles.HexNumber)));
97-
98-
addressValue.ForeColor = Color.Green;
99-
importFileButton.ForeColor = Color.Black;
100-
dmaFileButton.ForeColor = Color.Black;
101-
}
102-
103-
private void addressValue_Validating(object sender, CancelEventArgs e)
104-
{
105-
e.Cancel = !uint.TryParse(addressValue.Text, NumberStyles.HexNumber, new CultureInfo("en-US"), out uint result);
106-
}
10763
}
10864
}

0 commit comments

Comments
 (0)