Skip to content

Commit cf40dfe

Browse files
committed
Beta Build 5
Beta Build 5 Changelog: Changes by Pilzinsel64: * Added support for ROMs made in SM64 ROM Manager (Thanks Pilz!) Changes by Davideesk: * Added themes - Themes are customizable JSON files that can change the RGB colors of the GUI. - Located under /data/themes/ - Currently only 2 themes: "Quad64 Light" and "Quad64 Dark" - Please give me any kind of feedback on both of these themes. I probably do need to adjust them in future builds. * Fixed some bugs that caused ROMs to crash - Fixed the TreeView duplication bug introduced in Beta build 4 - Added a sanity check with decoding textures - Added a sanity check for reading collision data - Fixed a bug from Pilz' unoffical release, where non-ROM Manager hacks would have missing geometry after a ROM Manager hack was loaded - Added a check for hacky 0xA segments in the texture editor, which should prevent crashing in ROM Manager levels that have no background. Special thanks to AloXado320 for finding & reporting these bugs.
1 parent 74e86b9 commit cf40dfe

38 files changed

+2495
-384
lines changed

Quad64.csproj

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -170,6 +170,13 @@
170170
<Compile Include="src\Forms\TextureEditorComponents\TabEditSkyBackground.cs">
171171
<SubType>Form</SubType>
172172
</Compile>
173+
<Compile Include="src\Forms\ThemeSelector.cs">
174+
<SubType>Form</SubType>
175+
</Compile>
176+
<Compile Include="src\Forms\ThemeSelector.Designer.cs">
177+
<DependentUpon>ThemeSelector.cs</DependentUpon>
178+
</Compile>
179+
<Compile Include="src\Forms\ToolStripRenderer\MenuBarColorTable.cs" />
173180
<Compile Include="src\Globals.cs" />
174181
<Compile Include="src\JSON\BehaviorNameEntry.cs" />
175182
<Compile Include="src\JSON\ModelCombo.cs" />
@@ -193,6 +200,7 @@
193200
<Compile Include="src\Scripts\ModelBuilder.cs" />
194201
<Compile Include="src\Scripts\TextureFormats.cs" />
195202
<Compile Include="src\TestROM\LaunchROM.cs" />
203+
<Compile Include="src\Theme.cs" />
196204
<Compile Include="src\Viewer\BoundingBox.cs" />
197205
<Compile Include="src\Viewer\Camera.cs" />
198206
<Compile Include="src\Viewer\ContentPipe.cs" />
@@ -253,6 +261,9 @@
253261
<EmbeddedResource Include="src\Forms\TextureEditor.resx">
254262
<DependentUpon>TextureEditor.cs</DependentUpon>
255263
</EmbeddedResource>
264+
<EmbeddedResource Include="src\Forms\ThemeSelector.resx">
265+
<DependentUpon>ThemeSelector.cs</DependentUpon>
266+
</EmbeddedResource>
256267
<None Include="data\BehaviorNames.json">
257268
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
258269
</None>
@@ -271,6 +282,9 @@
271282
<None Include="data\OtherTextures_NA.json">
272283
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
273284
</None>
285+
<None Include="data\themes\light.json">
286+
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
287+
</None>
274288
<None Include="OpenTK.dll.config" />
275289
<None Include="packages.config" />
276290
<None Include="Properties\Settings.settings">
@@ -282,6 +296,9 @@
282296
<DependentUpon>Settings.settings</DependentUpon>
283297
<DesignTimeSharedInput>True</DesignTimeSharedInput>
284298
</Compile>
299+
<None Include="data\themes\dark.json">
300+
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
301+
</None>
285302
</ItemGroup>
286303
<ItemGroup>
287304
<None Include="App.config" />
@@ -305,6 +322,9 @@
305322
<None Include="images\RotateObject_Y.png" />
306323
</ItemGroup>
307324
<ItemGroup>
325+
<Content Include="data\themes\Making Themes.txt">
326+
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
327+
</Content>
308328
<Content Include="icon_KtQ_icon.ico" />
309329
<None Include="Resources\icon_Star1_gray.png" />
310330
<None Include="Resources\icon_Star1.png" />

data/themes/Making Themes.txt

Lines changed: 136 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,136 @@
1+
As of Quad64 v0.2 (Beta Build 5) you can now customize the look of the entire program. Currently it only supports changing RGB colors, but I might expand it in the future if enough people ask for it.
2+
3+
You can look at "dark.json" to see how the data should be layed out. Make a copy and play around with the colors to see what you can make of it.
4+
5+
Do note that if you don't specify a color, a default color will be chosen instead.
6+
7+
------------------
8+
Modifiable colors
9+
------------------
10+
11+
[Defaults]
12+
Background
13+
Text
14+
Panel-Background
15+
ListBox-Background
16+
ListBox-Text
17+
ListBox-Highlight
18+
ListBox-HighlightedText
19+
TextBox-Background
20+
TextBox-Text
21+
TextBox-Comments
22+
DropDown-Background
23+
DropDown-Text
24+
Button-Background
25+
Button-Text
26+
NumericUpDown-Background
27+
NumericUpDown-Text
28+
29+
[Main]
30+
Background
31+
Controls-Background
32+
Controls-Text
33+
Controls-Button-Background
34+
Controls-Button-Text
35+
Controls-DropDown-Background
36+
Controls-DropDown-Text
37+
Controls-NumericUpDown-Background
38+
Controls-NumericUpDown-Text
39+
MenuBar-Background
40+
MenuBar-Text
41+
MenuBar-Item-Border
42+
MenuBar-Item-Selected
43+
MenuBar-Item-Highlight
44+
Properties-Background
45+
Properties-Text
46+
Properties-Lines
47+
TreeView-Background
48+
TreeView-Text
49+
TreeView-Highlight
50+
TreeView-3DObjectsLabel
51+
TreeView-MacroObjectsLabel
52+
TreeView-SpecialObjectsLabel
53+
TreeView-WarpsLabel
54+
55+
[TextureEditor]
56+
Background
57+
LevelTab-Background-Left
58+
LevelTab-Background-Middle
59+
LevelTab-Background-Right
60+
LevelTab-Text
61+
LevelTab-Button-Background
62+
LevelTab-Button-Text
63+
OtherTab-Background-Left
64+
OtherTab-Background-Middle
65+
OtherTab-Background-Right
66+
OtherTab-Text
67+
OtherTab-Button-Background
68+
OtherTab-Button-Text
69+
SkyTab-Background-Left
70+
SkyTab-Background-Right
71+
SkyTab-Text
72+
SkyTab-Button-Background
73+
SkyTab-Button-Text
74+
75+
[ObjectCombos]
76+
Background
77+
Text
78+
3DObjects-Title
79+
3DObjects-Item
80+
3DObjects-Item-Alt
81+
3DObjects-Item-Highlight
82+
3DObjects-Item-Highlight-Text
83+
MacroObjects-Title
84+
MacroObjects-Item
85+
MacroObjects-Item-Alt
86+
MacroObjects-Item-Highlight
87+
MacroObjects-Item-Highlight-Text
88+
SpecialObjects-Title
89+
SpecialObjects-Item
90+
SpecialObjects-Item-Alt
91+
SpecialObjects-Item-Highlight
92+
SpecialObjects-Item-Highlight-Text
93+
Other-Title
94+
Other-Item
95+
Other-Item-Alt
96+
Other-Item-Highlight
97+
Other-Item-Highlight-Text
98+
99+
[ScriptDumps]
100+
Background
101+
Text
102+
Panel-Background
103+
DropDown-Background
104+
DropDown-Text
105+
GeoLayoutScripts-AreaPanel-Background
106+
GeoLayoutScripts-AreaPanel-Text
107+
Fast3DScripts-AreaPanel-Background
108+
Fast3DScripts-AreaPanel-Text
109+
Objects-ListBox-Background
110+
Objects-ListBox-Background
111+
Objects-ListBox-Highlight
112+
Objects-ListBox-HighlightedText
113+
Fast3DScripts-ListBox-Background
114+
Fast3DScripts-ListBox-Text
115+
Fast3DScripts-ListBox-Highlight
116+
Fast3DScripts-ListBox-HighlightedText
117+
LevelScripts-Background
118+
LevelScripts-Text
119+
LevelScripts-Comments
120+
GeoLayoutScripts-Background
121+
GeoLayoutScripts-Text
122+
GeoLayoutScripts-Comments
123+
Fast3DScripts-Background
124+
Fast3DScripts-Text
125+
Fast3DScripts-Comments
126+
BehaviorScripts-Background
127+
BehaviorScripts-Text
128+
BehaviorScripts-Comments
129+
130+
131+
132+
133+
134+
135+
136+

data/themes/dark.json

Lines changed: 113 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,113 @@
1+
{
2+
"Info" : {
3+
"Name" : "Quad64 Dark Theme",
4+
"Author" : "Davideesk",
5+
"Note" : "This dark theme does not show every possible option you can change, so please look at 'Making Themes.txt' for more information!"
6+
},
7+
8+
"Defaults" : {
9+
"Background" : { "R":40, "G":40, "B":40 },
10+
"Text" : { "R":240, "G":240, "B":240 },
11+
"Panel-Background" : { "R":70, "G":70, "B":70 },
12+
"ListBox-Background" : { "R":40, "G":40, "B":40 },
13+
"ListBox-Text" : { "R":240, "G":240, "B":240 },
14+
"ListBox-Highlight" : { "R":0, "G":80, "B":140 },
15+
"ListBox-HighlightedText" : { "R":240, "G":240, "B":240 },
16+
"TextBox-Background" : { "R":40, "G":40, "B":40 },
17+
"TextBox-Text" : { "R":240, "G":240, "B":240 },
18+
"TextBox-Comments" : { "R":0, "G":240, "B":0 },
19+
"DropDown-Background" : { "R":40, "G":40, "B":40 },
20+
"DropDown-Text" : { "R":240, "G":240, "B":240 },
21+
"Button-Background" : { "R":40, "G":40, "B":40 },
22+
"Button-Text" : { "R":240, "G":240, "B":240 },
23+
"NumericUpDown-Background" : { "R":40, "G":40, "B":40 },
24+
"NumericUpDown-Text" : { "R":240, "G":240, "B":240 }
25+
},
26+
27+
"Main" : {
28+
"Controls-Background" : { "R":70, "G":70, "B":70 },
29+
30+
"MenuBar-Item-Border" : { "R":0, "G":0, "B":0 },
31+
"MenuBar-Item-Selected" : { "R":0x90, "G":0x90, "B":0x90 },
32+
"MenuBar-Item-Highlight" : { "R":0xA9, "G":0xA9, "B":0xA9 },
33+
34+
"Properties-Background" : { "R":70, "G":70, "B":70 },
35+
"Properties-Text" : { "R":240, "G":240, "B":240 },
36+
"Properties-Lines" : { "R":120, "G":120, "B":120 },
37+
38+
"TreeView-Highlight" : { "R":110, "G":110, "B":160 },
39+
"TreeView-3DObjectsLabel" : { "R":220, "G":140, "B":140 },
40+
"TreeView-MacroObjectsLabel" : { "R":140, "G":140, "B":220 },
41+
"TreeView-SpecialObjectsLabel" : { "R":140, "G":220, "B":140 },
42+
"TreeView-WarpsLabel" : { "R":220, "G":220, "B":220 }
43+
},
44+
45+
"TextureEditor" : {
46+
"LevelTab-Background-Left" : { "R":80, "G":60, "B":60 },
47+
"LevelTab-Background-Middle" : { "R":60, "G":80, "B":60 },
48+
"LevelTab-Background-Right" : { "R":60, "G":60, "B":80 },
49+
"LevelTab-Text" : { "R":240, "G":240, "B": 240 },
50+
"LevelTab-Button-Background" : { "R":60, "G":60, "B":60 },
51+
"LevelTab-Button-Text" : { "R":240, "G":240, "B":240 },
52+
53+
"OtherTab-Background-Left" : { "R":80, "G":60, "B":60 },
54+
"OtherTab-Background-Middle" : { "R":60, "G":80, "B":60 },
55+
"OtherTab-Background-Right" : { "R":60, "G":60, "B":80 },
56+
"OtherTab-Text" : { "R":240, "G":240, "B": 240 },
57+
"OtherTab-Button-Background" : { "R":60, "G":60, "B":60 },
58+
"OtherTab-Button-Text" : { "R":240, "G":240, "B":240 },
59+
60+
"SkyTab-Background-Left" : { "R":20, "G":70, "B":80 },
61+
"SkyTab-Background-Right" : { "R":60, "G":60, "B":80 },
62+
"SkyTab-Text" : { "R":240, "G":240, "B":240 },
63+
"SkyTab-Button-Background" : { "R":60, "G":60, "B":60 },
64+
"SkyTab-Button-Text" : { "R":240, "G":240, "B":240 }
65+
},
66+
67+
"ObjectCombos" : {
68+
"Background" : { "R":40, "G":40, "B":40 },
69+
"Text" : { "R":240, "G":240, "B":240 },
70+
71+
"3DObjects-Title" : { "R":200, "G":170, "B":170 },
72+
"3DObjects-Item" : { "R":50, "G":50, "B":50 },
73+
"3DObjects-Item-Alt" : { "R":50, "G":40, "B":40 },
74+
"3DObjects-Item-Highlight" : { "R":60, "G":100, "B":150 },
75+
"3DObjects-Item-Highlight-Text" : { "R":240, "G":240, "B":240 },
76+
77+
"MacroObjects-Title" : { "R":170, "G":170, "B":200 },
78+
"MacroObjects-Item" : { "R":50, "G":50, "B":50 },
79+
"MacroObjects-Item-Alt" : { "R":40, "G":40, "B":50 },
80+
"MacroObjects-Item-Highlight" : { "R":60, "G":100, "B":150 },
81+
"MacroObjects-Item-Highlight-Text" : { "R":240, "G":240, "B":240 },
82+
83+
"SpecialObjects-Title" : { "R":170, "G":200, "B":170 },
84+
"SpecialObjects-Item" : { "R":50, "G":50, "B":50 },
85+
"SpecialObjects-Item-Alt" : { "R":40, "G":50, "B":40 },
86+
"SpecialObjects-Item-Highlight" : { "R":60, "G":100, "B":150 },
87+
"SpecialObjects-Item-Highlight-Text" : { "R":240, "G":240, "B":240 },
88+
89+
"Other-Title" : { "R":200, "G":200, "B":200 },
90+
"Other-Item" : { "R":50, "G":50, "B":50 },
91+
"Other-Item-Alt" : { "R":40, "G":40, "B":40 },
92+
"Other-Item-Highlight" : { "R":60, "G":100, "B":150 },
93+
"Other-Item-Highlight-Text" : { "R":240, "G":240, "B":240 }
94+
},
95+
96+
"ScriptDumps" : {
97+
"LevelScripts-Background" : { "R":40, "G":10, "B":10 },
98+
"LevelScripts-Text" : { "R":240, "G":180, "B":180 },
99+
"LevelScripts-Comments" : { "R":200, "G":100, "B":0 },
100+
101+
"GeoLayoutScripts-Background" : { "R":10, "G":40, "B":10 },
102+
"GeoLayoutScripts-Text" : { "R":180, "G":240, "B":180 },
103+
"GeoLayoutScripts-Comments" : { "R":0, "G":200, "B":0 },
104+
105+
"Fast3DScripts-Background" : { "R":10, "G":10, "B":40 },
106+
"Fast3DScripts-Text" : { "R":180, "G":180, "B":240 },
107+
"Fast3DScripts-Comments" : { "R":0, "G":100, "B":200 },
108+
109+
"BehaviorScripts-Background" : { "R":25, "G":10, "B":40 },
110+
"BehaviorScripts-Text" : { "R":200, "G":180, "B":240 },
111+
"BehaviorScripts-Comments" : { "R":150, "G":80, "B":200 }
112+
}
113+
}

data/themes/light.json

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
{
2+
"Info" : {
3+
"Name" : "Quad64 Light Theme",
4+
"Author" : "Davideesk",
5+
"Note" : "The light theme is hard-coded as the default theme, and this file is here to show up in the theme's menu. Make absolutely sure not to remove the 5 categories below, as they are needed."
6+
},
7+
8+
"Defaults" : {},
9+
"Main" : {},
10+
"TextureEditor" : {},
11+
"ObjectCombos" : {},
12+
"ScriptDumps" : {}
13+
}

src/Forms/EditWarp.Designer.cs

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

0 commit comments

Comments
 (0)