Compare commits
629 Commits
develop-bl
...
develop
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
50aed798a1 | ||
|
|
0ccff93fae | ||
|
|
db0d179b37 | ||
|
|
0d2454ed65 | ||
|
|
412e9e262f | ||
|
|
7363e1c264 | ||
|
|
317c057e86 | ||
|
|
2b336a4582 | ||
|
|
14b464bab2 | ||
|
|
efc4086c6a | ||
|
|
7c5cccaf92 | ||
|
|
972ed22167 | ||
|
|
5494a81eb1 | ||
|
|
ebea14f297 | ||
|
|
0127cbcf62 | ||
|
|
a461d8f6fb | ||
|
|
4729eef7c8 | ||
|
|
0b3ebd584d | ||
|
|
e0a1b23525 | ||
|
|
1be7533675 | ||
|
|
3228843886 | ||
|
|
9f61e635d2 | ||
|
|
c7180762d9 | ||
|
|
178471bf20 | ||
|
|
d1b7edfa7c | ||
|
|
6fea1821a1 | ||
|
|
42ba25449e | ||
|
|
d1643aa196 | ||
|
|
5576f93ef6 | ||
|
|
7edf44e170 | ||
|
|
53dc7f43ba | ||
|
|
5f139ef311 | ||
|
|
88625c4350 | ||
|
|
99c1f23d5b | ||
|
|
69e03dcc52 | ||
|
|
98ec5519cf | ||
|
|
2f32abb511 | ||
|
|
4aa6e2ec28 | ||
|
|
94b650ec67 | ||
|
|
57269c8e46 | ||
|
|
5e13570b83 | ||
|
|
5fe4680a20 | ||
|
|
8c4d4738cc | ||
|
|
c439d62137 | ||
|
|
2cfb0f73dc | ||
|
|
c61c1c0fec | ||
|
|
ccdd8e63ff | ||
|
|
5f0c0c8e2f | ||
|
|
ef042be5ea | ||
|
|
0498d36428 | ||
|
|
692ef416ee | ||
|
|
1949033f93 | ||
|
|
c758f1ad84 | ||
|
|
1d9de8544a | ||
|
|
25ee1ec3ab | ||
|
|
96c4fef05c | ||
|
|
b65c1c8317 | ||
|
|
4e82ea192a | ||
|
|
2af5d21125 | ||
|
|
b6bf97e2f1 | ||
|
|
43f77c13fb | ||
|
|
b8634f1d8b | ||
|
|
5c8ff76554 | ||
|
|
09b0fdbc93 | ||
|
|
f2c34d8c11 | ||
|
|
38e684fda3 | ||
|
|
8f51dfbaf4 | ||
|
|
04ed1825f0 | ||
|
|
94a02dd53a | ||
|
|
6a9567b369 | ||
|
|
9f6ffc9f2a | ||
|
|
2f12677b25 | ||
|
|
a40ca58aba | ||
|
|
1f57f72acd | ||
|
|
d7b4e5a24d | ||
|
|
97eaa8b3e0 | ||
|
|
e7dce8e055 | ||
|
|
908ecbb795 | ||
|
|
716f6bc042 | ||
|
|
4e3b8d0b13 | ||
|
|
c906c71f71 | ||
|
|
e9ef09eee4 | ||
|
|
cefc9c02fa | ||
|
|
b35883e1f6 | ||
|
|
c93b6188c8 | ||
|
|
e6d6b6d7d1 | ||
|
|
b15ac97dea | ||
|
|
45449623bb | ||
|
|
7899b6a048 | ||
|
|
614ec084fa | ||
|
|
005044868a | ||
|
|
7767cb6d39 | ||
|
|
139381a0e0 | ||
|
|
63859efa40 | ||
|
|
0f948efb51 | ||
|
|
99e60b81fd | ||
|
|
3174545749 | ||
|
|
a1aa046814 | ||
|
|
60ec65592a | ||
|
|
6deff6d749 | ||
|
|
92a1d260da | ||
|
|
6340ad3d5c | ||
|
|
63597ec633 | ||
|
|
7522f31cc8 | ||
|
|
b6df96c530 | ||
|
|
40ad4fed82 | ||
|
|
3882086677 | ||
|
|
49aa33038d | ||
|
|
b65acb9c9d | ||
|
|
91425a39ac | ||
|
|
f19ad1e75b | ||
|
|
2a335b1cd8 | ||
|
|
6f01d68c3c | ||
|
|
d4c1118d1b | ||
|
|
0d41af6978 | ||
|
|
460a098bec | ||
|
|
2b650a4979 | ||
|
|
2c07edc4eb | ||
|
|
0a946e5b9d | ||
|
|
b07c64ecf9 | ||
|
|
a547d51abb | ||
|
|
d841357fd4 | ||
|
|
8dd03ef097 | ||
|
|
a393f48c7c | ||
|
|
00ac1d566d | ||
|
|
fcf7d4bd15 | ||
|
|
9f56ef5090 | ||
|
|
d46bfd9716 | ||
|
|
5a7bc9a459 | ||
|
|
6b51909aa5 | ||
|
|
fe5dce24b5 | ||
|
|
c3ffaa918d | ||
|
|
b6cdc6c490 | ||
|
|
d4d3e8bc0f | ||
|
|
c2cf154e3e | ||
|
|
0e99b30e91 | ||
|
|
19df711123 | ||
|
|
0702b11b90 | ||
|
|
d9ebce9f9f | ||
|
|
4cae79fd89 | ||
|
|
8e1f1aea82 | ||
|
|
e987cdae24 | ||
|
|
c63f57850f | ||
|
|
b1fea3fe78 | ||
|
|
0210374cc4 | ||
|
|
d67dcb92f2 | ||
|
|
3206425e1b | ||
|
|
e447143e48 | ||
|
|
e6947c733c | ||
|
|
71c6f02a86 | ||
|
|
b83ca39c98 | ||
|
|
7eb5acf224 | ||
|
|
f31172c647 | ||
|
|
1e1ba54cf6 | ||
|
|
92cb7f1594 | ||
|
|
04eb8d1601 | ||
|
|
21a270c0b3 | ||
|
|
6a31700820 | ||
|
|
a2f2697d0d | ||
|
|
293adcf9ee | ||
|
|
743103fbe9 | ||
|
|
ce8dd7931c | ||
|
|
8fd41474c1 | ||
|
|
2bfae47b7f | ||
|
|
65c7c3e4a9 | ||
|
|
2656c20f71 | ||
|
|
c021a0e8a2 | ||
|
|
cc0941cc9f | ||
|
|
a4eacdd267 | ||
|
|
79d6f54be1 | ||
|
|
23606325e6 | ||
|
|
8176e57144 | ||
|
|
473a77bbb2 | ||
|
|
a365446832 | ||
|
|
e2db315ffa | ||
|
|
16ee01404a | ||
|
|
077fda8749 | ||
|
|
f5264be192 | ||
|
|
983d04d362 | ||
|
|
2af265dbce | ||
|
|
dfba6b319b | ||
|
|
894b8e6c86 | ||
|
|
2da233c40b | ||
|
|
6b160fac1c | ||
|
|
78c68ae3d4 | ||
|
|
fae74d4a5e | ||
|
|
c9414b4d45 | ||
|
|
9991a95ab1 | ||
|
|
c360b2dee4 | ||
|
|
596b714fa4 | ||
|
|
f52b653cfb | ||
|
|
35039565df | ||
|
|
451820cac4 | ||
|
|
d7981bf03f | ||
|
|
a2245f7a47 | ||
|
|
7588734a42 | ||
|
|
0dc6989438 | ||
|
|
be0f8fec9f | ||
|
|
651078f0b3 | ||
|
|
f541c3f4ad | ||
|
|
c71cc68951 | ||
|
|
04c5d50b3e | ||
|
|
eab279c0be | ||
|
|
7006ef7404 | ||
|
|
18b00e7bc1 | ||
|
|
60205ec0bd | ||
|
|
5e802f232d | ||
|
|
f474a86928 | ||
|
|
9ab58a8d07 | ||
|
|
1af0f4e395 | ||
|
|
c36468ccbd | ||
|
|
7850fa82df | ||
|
|
5a484331b6 | ||
|
|
44d351698b | ||
|
|
69f151e79d | ||
|
|
04df48944a | ||
|
|
6606eefbf1 | ||
|
|
6e4c010ffe | ||
|
|
9c1a1728ee | ||
|
|
704ace8fd3 | ||
|
|
c7e4e8ccee | ||
|
|
7b3efb1e7b | ||
|
|
c43139ebd6 | ||
|
|
a92f07e1f1 | ||
|
|
0821c2e315 | ||
|
|
0d4986f2c3 | ||
|
|
6e6834af22 | ||
|
|
e149e09e08 | ||
|
|
45fb38e309 | ||
|
|
cb21208b4b | ||
|
|
5d2d7a7f09 | ||
|
|
31eefd57df | ||
|
|
cd8bd69c6e | ||
|
|
7627b0567b | ||
|
|
65227f65f2 | ||
|
|
989bbe0dd0 | ||
|
|
14a6bc1f85 | ||
|
|
5bbc32c2d1 | ||
|
|
c2152a8713 | ||
|
|
39b8aacdef | ||
|
|
3e0225272f | ||
|
|
ba0ecc59aa | ||
|
|
9ca5ce0b53 | ||
|
|
8584ced40b | ||
|
|
feb1429471 | ||
|
|
71a47559f7 | ||
|
|
4839e575b1 | ||
|
|
f72ee2b814 | ||
|
|
307cd7f8cd | ||
|
|
36ff9ec562 | ||
|
|
e6fb9a6b64 | ||
|
|
e26269d1b3 | ||
|
|
443badee87 | ||
|
|
b5a7dc7c2d | ||
|
|
8783f4cff7 | ||
|
|
708bd0739a | ||
|
|
5b0d8be484 | ||
|
|
da5f28afd8 | ||
|
|
3f8aa32d12 | ||
|
|
7c4a3359f0 | ||
|
|
392bb6c59f | ||
|
|
ea40cb2c0c | ||
|
|
0e7212d939 | ||
|
|
34728efe6f | ||
|
|
2ed9c56ca3 | ||
|
|
a134d2c59a | ||
|
|
16249f0909 | ||
|
|
db91fd37e1 | ||
|
|
9af262c1bb | ||
|
|
6c724a2c01 | ||
|
|
6a1fb1412b | ||
|
|
5b275343db | ||
|
|
7db2a97cea | ||
|
|
07208fcf15 | ||
|
|
ba78039a69 | ||
|
|
e3865e28af | ||
|
|
1e55c1295f | ||
|
|
6953edecee | ||
|
|
7748939504 | ||
|
|
5fea53ed56 | ||
|
|
1c4b78d35e | ||
|
|
657b78a016 | ||
|
|
7d6c6f032e | ||
|
|
480a1658b1 | ||
|
|
ef2b4cd42c | ||
|
|
6f060a9222 | ||
|
|
31824afa4a | ||
|
|
c0ba618f60 | ||
|
|
10680f53e7 | ||
|
|
88494169e6 | ||
|
|
33758e49db | ||
|
|
dd9d63eecb | ||
|
|
0bd08d626a | ||
|
|
31db9e4ade | ||
|
|
f666444876 | ||
|
|
d3a6288c7e | ||
|
|
ff0c309b5a | ||
|
|
14a241ed3f | ||
|
|
9e6c9a478e | ||
|
|
d227292935 | ||
|
|
1463e76ef7 | ||
|
|
c0d9fe876c | ||
|
|
1a9ea03e00 | ||
|
|
d62e8108fd | ||
|
|
2e5a985745 | ||
|
|
bc47a9ec6f | ||
|
|
7ca93e93be | ||
|
|
8cc02fd235 | ||
|
|
5d63146267 | ||
|
|
50c023b86b | ||
|
|
8ee637880d | ||
|
|
d41273f34b | ||
|
|
c688923272 | ||
|
|
7d6a82be4f | ||
|
|
e96503c0bd | ||
|
|
fbfef95617 | ||
|
|
cd08f343a6 | ||
|
|
82b279f55e | ||
|
|
5822c33268 | ||
|
|
6e27cd7107 | ||
|
|
ace2f7869b | ||
|
|
f273ea4294 | ||
|
|
a1f9971c12 | ||
|
|
9c24ccec1a | ||
|
|
1c21608a95 | ||
|
|
58e851dd2b | ||
|
|
999f980d7c | ||
|
|
b24d266974 | ||
|
|
cc21163765 | ||
|
|
3fa4af2cea | ||
|
|
352a4e9260 | ||
|
|
05d865337c | ||
|
|
9edb4e3c36 | ||
|
|
971c3c5c94 | ||
|
|
e9aad17d17 | ||
|
|
7176960a0e | ||
|
|
9d8addca04 | ||
|
|
f83f73d671 | ||
|
|
7e829a0780 | ||
|
|
098cb70460 | ||
|
|
9401d4fd71 | ||
|
|
280455db42 | ||
|
|
b649f5ed52 | ||
|
|
17f7c3e8f5 | ||
|
|
42282c804e | ||
|
|
c24b2d74d5 | ||
|
|
8aa7b2fc71 | ||
|
|
a2e4e4d417 | ||
|
|
4366da631b | ||
|
|
9cd31099e2 | ||
|
|
0073736467 | ||
|
|
bc48fa84fd | ||
|
|
da6cf439d6 | ||
|
|
0f41ecb145 | ||
|
|
2ee4e70b9a | ||
|
|
3e6b590db4 | ||
|
|
c68c8f1284 | ||
|
|
4aebdab43d | ||
|
|
eca9eac0cf | ||
|
|
05233487f8 | ||
|
|
16909c47cd | ||
|
|
daeb3a84c7 | ||
|
|
623a7e4f7b | ||
|
|
060878fb2e | ||
|
|
cd1d619c9f | ||
|
|
6ccdfc6051 | ||
|
|
1e1a47c263 | ||
|
|
14fb9e60d8 | ||
|
|
dadc2e5218 | ||
|
|
c005248129 | ||
|
|
75c9c579a4 | ||
|
|
a31b7d9ae7 | ||
|
|
25be804841 | ||
|
|
5629d033c2 | ||
|
|
36cd3a27e2 | ||
|
|
754d79a86e | ||
|
|
33929534f5 | ||
|
|
3eade8133e | ||
|
|
c0848ccba8 | ||
|
|
a3e540ebfe | ||
|
|
6b83070343 | ||
|
|
7ff93a3960 | ||
|
|
3d525d7eb1 | ||
|
|
5249cd89df | ||
|
|
8073f96856 | ||
|
|
66a9c7a218 | ||
|
|
0e162cbb7c | ||
|
|
3793e821c8 | ||
|
|
43118146e4 | ||
|
|
be70bb3296 | ||
|
|
4aaad850bd | ||
|
|
cf275b1a6c | ||
|
|
0014f40676 | ||
|
|
f015a1b339 | ||
|
|
b2090dcf83 | ||
|
|
ebf8a3b47f | ||
|
|
f3b0d8e230 | ||
|
|
156a1a7816 | ||
|
|
4e913cc094 | ||
|
|
9f089aa6f8 | ||
|
|
1ba6cf643d | ||
|
|
b30191f369 | ||
|
|
7ffd01f133 | ||
|
|
a419b431a7 | ||
|
|
48f4f56bac | ||
|
|
1b29c0cad3 | ||
|
|
74312442d5 | ||
|
|
248fe8cb13 | ||
|
|
c4f9712eff | ||
|
|
cadae90c81 | ||
|
|
ad2807ce32 | ||
|
|
ae1cee9b13 | ||
|
|
56a05c392e | ||
|
|
955ee9b9ba | ||
|
|
dc5e9686c0 | ||
|
|
8d441f3ae5 | ||
|
|
7004c1fc4f | ||
|
|
c806f23494 | ||
|
|
1cd2f60e24 | ||
|
|
6ef8be58d7 | ||
|
|
a73d80c82b | ||
|
|
c0aa3deb93 | ||
|
|
56ab4c51fd | ||
|
|
73f3427ced | ||
|
|
e254c1f908 | ||
|
|
94b07aaa73 | ||
|
|
8302c2322f | ||
|
|
f253d24cdc | ||
|
|
52a8f6c281 | ||
|
|
57c368aa2c | ||
|
|
7700b34646 | ||
|
|
82e2fbb43f | ||
|
|
0973a4211e | ||
|
|
474d944cfa | ||
|
|
04780de5ec | ||
|
|
5e199ffea8 | ||
|
|
f4336cdec7 | ||
|
|
b337f38737 | ||
|
|
dd2628f737 | ||
|
|
6c724382f5 | ||
|
|
004890f2f8 | ||
|
|
c22fbc08d7 | ||
|
|
5cac826f97 | ||
|
|
545cc396b4 | ||
|
|
e10b882c08 | ||
|
|
5ed3db0a7e | ||
|
|
004ad3aea3 | ||
|
|
11a73f88ae | ||
|
|
dbbbe0f727 | ||
|
|
3cf1d65466 | ||
|
|
b7de53bf8d | ||
|
|
7c8fc85c50 | ||
|
|
207de8f408 | ||
|
|
14d269d99e | ||
|
|
4b9c949428 | ||
|
|
c7975898a5 | ||
|
|
b30c4ab7da | ||
|
|
a576bffe3a | ||
|
|
eeb5a809ae | ||
|
|
8e15cefe2b | ||
|
|
577c5639df | ||
|
|
b944d01b12 | ||
|
|
7cce840472 | ||
|
|
4bc2bb5592 | ||
|
|
911c107b6e | ||
|
|
a88cac300e | ||
|
|
ba693ecac4 | ||
|
|
e6663a1c49 | ||
|
|
524ba26034 | ||
|
|
f7ab811c20 | ||
|
|
640a7d24b4 | ||
|
|
7ff2355c7e | ||
|
|
e5d0f7befa | ||
|
|
64280146fe | ||
|
|
e9f1296781 | ||
|
|
aacb4ad2f7 | ||
|
|
bd4e146599 | ||
|
|
52d452307e | ||
|
|
a76c1ca9db | ||
|
|
beea799081 | ||
|
|
fc866e695e | ||
|
|
9a59af2a5e | ||
|
|
e0e3cb21a3 | ||
|
|
113e899f09 | ||
|
|
3c084ef2a1 | ||
|
|
263afb9c09 | ||
|
|
93c163a99c | ||
|
|
4c269cab30 | ||
|
|
d8453b2b68 | ||
|
|
6e6f8dcc9d | ||
|
|
7ee7084746 | ||
|
|
bdaf352440 | ||
|
|
cc477fbef2 | ||
|
|
860bc57a2a | ||
|
|
4a9a98d93c | ||
|
|
3128fb0112 | ||
|
|
9eafa852b5 | ||
|
|
7b4df9bdb2 | ||
|
|
fadae49977 | ||
|
|
ee20f7f762 | ||
|
|
ce38e03562 | ||
|
|
9cdffc080b | ||
|
|
c597e1c4ce | ||
|
|
526d221c56 | ||
|
|
3e39a94083 | ||
|
|
6d4c6f8ea6 | ||
|
|
429021d434 | ||
|
|
1d20000411 | ||
|
|
73209fcf2c | ||
|
|
27d88c80b1 | ||
|
|
237dcfec74 | ||
|
|
ec54d02c0c | ||
|
|
cddc7353af | ||
|
|
48d2193fec | ||
|
|
05a7f728e7 | ||
|
|
db58c3a029 | ||
|
|
f80836d8b7 | ||
|
|
928bb7767b | ||
|
|
96d3b480b1 | ||
|
|
7f3d2adc63 | ||
|
|
015dcf2af1 | ||
|
|
30d1932354 | ||
|
|
002e8e9f09 | ||
|
|
063fb2577f | ||
|
|
16c3cb1adf | ||
|
|
112fbc5a4b | ||
|
|
9924ebbd05 | ||
|
|
e15f8d395b | ||
|
|
9e686ae6f6 | ||
|
|
1d24edaa92 | ||
|
|
63bd4ed565 | ||
|
|
c2e7adf915 | ||
|
|
74560a360d | ||
|
|
040e0e1921 | ||
|
|
64f9e433da | ||
|
|
e0ebc115ce | ||
|
|
cf0ea3033e | ||
|
|
2d59721b7a | ||
|
|
7ecefa8f90 | ||
|
|
7514bdc08b | ||
|
|
3943242cb2 | ||
|
|
517b52176c | ||
|
|
7f3aac36b2 | ||
|
|
1e60c48e3a | ||
|
|
4c31f2bc88 | ||
|
|
180d6a1b90 | ||
|
|
561f151615 | ||
|
|
565d57112e | ||
|
|
7f4c570a47 | ||
|
|
073205c862 | ||
|
|
4f95ab3f46 | ||
|
|
c0ea595fa5 | ||
|
|
a9ede7d46e | ||
|
|
be22c02d00 | ||
|
|
81b3123586 | ||
|
|
87c971372d | ||
|
|
4c547416cc | ||
|
|
081338b9f9 | ||
|
|
330e64180c | ||
|
|
213ea742eb | ||
|
|
cd32181415 | ||
|
|
c2b6942282 | ||
|
|
2b1322d723 | ||
|
|
62c03abfd4 | ||
|
|
bf3add7a72 | ||
|
|
9432b3420b | ||
|
|
52debea44b | ||
|
|
07328a0ecb | ||
|
|
af99ef8e07 | ||
|
|
dbc2ff09b5 | ||
|
|
abb0a93945 | ||
|
|
5b2c30edb0 | ||
|
|
3377dc636a | ||
|
|
3a60c3f651 | ||
|
|
56a53e9fac | ||
|
|
f5d8f1eece | ||
|
|
40fa3c8d64 | ||
|
|
2b360d4bbe | ||
|
|
fa6f45bde5 | ||
|
|
4e8e6d2313 | ||
|
|
8b4cad1710 | ||
|
|
f2298c6a8e | ||
|
|
99c3fa6006 | ||
|
|
3a069e621e | ||
|
|
a2541fded8 | ||
|
|
150029fa49 | ||
|
|
e4448f491e | ||
|
|
db8440e744 | ||
|
|
d8acc32876 | ||
|
|
ae480e107e | ||
|
|
ca32dfd246 | ||
|
|
24013e2e5c | ||
|
|
1d716a5975 | ||
|
|
79b6719db3 | ||
|
|
4216776cd6 | ||
|
|
e1f6297807 | ||
|
|
50f42b93fe | ||
|
|
3c0e7bcf72 | ||
|
|
b418db7792 | ||
|
|
4f0ed2949e | ||
|
|
026c7619da | ||
|
|
9010b8c540 | ||
|
|
e673eaefb6 | ||
|
|
23a5198986 | ||
|
|
5b6844ccd8 | ||
|
|
b900f8599a | ||
|
|
45d9fe54d2 | ||
|
|
afc52f07d2 | ||
|
|
eb95f9060f | ||
|
|
f9cde383b7 | ||
|
|
6a93625f5c | ||
|
|
a0e49f9960 | ||
|
|
626511ffb1 | ||
|
|
1a322c3eb5 | ||
|
|
3c33185d1a | ||
|
|
d790ea4bce | ||
|
|
4c9063caa7 | ||
|
|
4debe6829a | ||
|
|
7cbb0d4d61 | ||
|
|
e13714e88d | ||
|
|
fbbfc07ff1 | ||
|
|
52a3058926 | ||
|
|
14907a24b0 | ||
|
|
824c203b97 | ||
|
|
7e78694aee | ||
|
|
f37c3aa228 | ||
|
|
2deea6e105 | ||
|
|
ef8fa17e7c | ||
|
|
1e51f1e162 |
@@ -1,13 +1,65 @@
|
||||
FROM mcr.microsoft.com/devcontainers/cpp:ubuntu-22.04
|
||||
|
||||
RUN apt-get update && apt-get install -y libsdl2-dev libsdl2-net-dev libpng-dev libglew-dev ninja-build
|
||||
RUN apt-get update && apt-get upgrade -y \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
# download and install cmake from source
|
||||
# this ensures we use the same version as in the github runner image
|
||||
RUN apt-get purge -y cmake || true
|
||||
ARG CMAKE_VERSION=3.31.11
|
||||
# download
|
||||
WORKDIR /tmp
|
||||
RUN curl -fsSL \
|
||||
https://github.com/Kitware/CMake/releases/download/v${CMAKE_VERSION}/cmake-${CMAKE_VERSION}.tar.gz \
|
||||
-o cmake.tar.gz \
|
||||
&& tar -xzf cmake.tar.gz \
|
||||
&& rm cmake.tar.gz
|
||||
# build and install
|
||||
WORKDIR /tmp/cmake-${CMAKE_VERSION}
|
||||
RUN ./bootstrap \
|
||||
--prefix=/usr/local \
|
||||
--parallel=$(nproc) \
|
||||
&& make -j$(nproc) \
|
||||
&& make install
|
||||
# clean up
|
||||
WORKDIR /
|
||||
RUN rm -rf /tmp/cmake-${CMAKE_VERSION}
|
||||
|
||||
# download and install tinyxml2 from source
|
||||
# this ensures we have the cmake files needed for find_package
|
||||
RUN apt-get purge -y libtinyxml2-dev || true
|
||||
ARG TINYXML2_VERSION=11.0.0
|
||||
# download
|
||||
WORKDIR /tmp
|
||||
RUN curl -fsSL \
|
||||
https://github.com/leethomason/tinyxml2/archive/refs/tags/${TINYXML2_VERSION}.tar.gz \
|
||||
-o tinyxml2.tar.gz \
|
||||
&& tar -xzf tinyxml2.tar.gz \
|
||||
&& rm tinyxml2.tar.gz
|
||||
# build and install
|
||||
WORKDIR /tmp/tinyxml2-${TINYXML2_VERSION}
|
||||
RUN cmake -S . -B build -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local \
|
||||
&& cmake --build build --parallel $(nproc) \
|
||||
&& cmake --install build
|
||||
# clean up
|
||||
WORKDIR /
|
||||
RUN rm -rf /tmp/tinyxml2-${TINYXML2_VERSION}
|
||||
|
||||
# install apt dependencies
|
||||
RUN apt-get update && apt-get install -y \
|
||||
libusb-dev libusb-1.0-0-dev libsdl2-dev libsdl2-net-dev libpng-dev \
|
||||
libglew-dev nlohmann-json3-dev libspdlog-dev ninja-build libogg-dev \
|
||||
libopus-dev opus-tools libopusfile-dev libvorbis-dev libespeak-ng-dev \
|
||||
lsb-release git clang clang-format-14 zipcmp zipmerge ziptool \
|
||||
libopengl-dev libbz2-dev libzip-dev \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
# Install latest SDL2
|
||||
RUN wget https://www.libsdl.org/release/SDL2-2.26.1.tar.gz && \
|
||||
tar -xzf SDL2-2.26.1.tar.gz && \
|
||||
cd SDL2-2.26.1 && \
|
||||
./configure && \
|
||||
make && \
|
||||
make -j$(nproc) && \
|
||||
make install && \
|
||||
cd .. && \
|
||||
rm -rf SDL2-2.26.1 && \
|
||||
@@ -19,7 +71,7 @@ RUN wget https://www.libsdl.org/projects/SDL_net/release/SDL2_net-2.2.0.tar.gz &
|
||||
tar -xzf SDL2_net-2.2.0.tar.gz && \
|
||||
cd SDL2_net-2.2.0 && \
|
||||
./configure && \
|
||||
make && \
|
||||
make -j$(nproc) && \
|
||||
make install && \
|
||||
cd .. && \
|
||||
rm -rf SDL2_net-2.2.0 && \
|
||||
|
||||
2
.github/workflows/apt-deps.txt
vendored
2
.github/workflows/apt-deps.txt
vendored
@@ -1 +1 @@
|
||||
libusb-dev libusb-1.0-0-dev libsdl2-dev libsdl2-net-dev libpng-dev libglew-dev nlohmann-json3-dev libtinyxml2-dev libspdlog-dev ninja-build
|
||||
libusb-dev libusb-1.0-0-dev libsdl2-dev libsdl2-net-dev libpng-dev libglew-dev nlohmann-json3-dev libtinyxml2-dev libspdlog-dev ninja-build libogg-dev libopus-dev opus-tools libopusfile-dev libvorbis-dev libespeak-ng-dev
|
||||
2
.github/workflows/clang-format.yml
vendored
2
.github/workflows/clang-format.yml
vendored
@@ -8,7 +8,7 @@ jobs:
|
||||
clang-format:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- uses: actions/checkout@v6
|
||||
with:
|
||||
fetch-depth: 2
|
||||
- name: Install clang-format
|
||||
|
||||
60
.github/workflows/generate-builds.yml
vendored
60
.github/workflows/generate-builds.yml
vendored
@@ -11,7 +11,7 @@ jobs:
|
||||
runs-on: ubuntu-22.04
|
||||
steps:
|
||||
- name: Git Checkout
|
||||
uses: actions/checkout@v4
|
||||
uses: actions/checkout@v6
|
||||
with:
|
||||
submodules: true
|
||||
- name: Configure ccache
|
||||
@@ -27,7 +27,7 @@ jobs:
|
||||
sudo apt-get update
|
||||
sudo apt-get install -y $(cat .github/workflows/apt-deps.txt) libzip-dev zipcmp zipmerge ziptool
|
||||
- name: Restore Cached deps folder
|
||||
uses: actions/cache/restore@v4
|
||||
uses: actions/cache/restore@v5
|
||||
with:
|
||||
key: ${{ runner.os }}-deps-${{ github.ref }}-${{ github.sha }}
|
||||
restore-keys: |
|
||||
@@ -62,16 +62,16 @@ jobs:
|
||||
cmake ..
|
||||
make
|
||||
sudo make install
|
||||
- name: Generate soh.otr
|
||||
- name: Generate soh.o2r
|
||||
run: |
|
||||
export PATH="/usr/lib/ccache:/usr/local/opt/ccache/libexec:$PATH"
|
||||
cmake --no-warn-unused-cli -H. -Bbuild-cmake -GNinja -DCMAKE_BUILD_TYPE:STRING=Release
|
||||
cmake --build build-cmake --config Release --target GenerateSohOtr -j3
|
||||
- name: Upload soh.otr
|
||||
uses: actions/upload-artifact@v4
|
||||
- name: Upload soh.o2r
|
||||
uses: actions/upload-artifact@v7
|
||||
with:
|
||||
name: soh.otr
|
||||
path: soh.otr
|
||||
name: soh.o2r
|
||||
path: soh.o2r
|
||||
retention-days: 3
|
||||
|
||||
build-macos:
|
||||
@@ -79,7 +79,7 @@ jobs:
|
||||
runs-on: macos-14
|
||||
steps:
|
||||
- name: Git Checkout
|
||||
uses: actions/checkout@v4
|
||||
uses: actions/checkout@v6
|
||||
with:
|
||||
submodules: true
|
||||
- name: Configure ccache
|
||||
@@ -99,7 +99,7 @@ jobs:
|
||||
sudo chmod +x /opt/homebrew/bin/gtar
|
||||
- name: Restore Cached MacPorts
|
||||
id: restore-cache-macports
|
||||
uses: actions/cache/restore@v4
|
||||
uses: actions/cache/restore@v5
|
||||
with:
|
||||
key: ${{ runner.os }}-14-macports-${{ hashFiles('.github/workflows/macports-deps.txt') }}-${{ github.sha }}
|
||||
restore-keys: |
|
||||
@@ -113,8 +113,8 @@ jobs:
|
||||
echo "MacPorts already installed"
|
||||
else
|
||||
echo "Installing MacPorts"
|
||||
wget https://github.com/macports/macports-base/releases/download/v2.9.3/MacPorts-2.9.3-14-Sonoma.pkg
|
||||
sudo installer -pkg ./MacPorts-2.9.3-14-Sonoma.pkg -target /
|
||||
wget https://github.com/macports/macports-base/releases/download/v2.11.5/MacPorts-2.11.5-14-Sonoma.pkg
|
||||
sudo installer -pkg ./MacPorts-2.11.5-14-Sonoma.pkg -target /
|
||||
fi
|
||||
echo "/opt/local/bin:/opt/local/sbin" >> "$GITHUB_PATH"
|
||||
- name: Install dependencies
|
||||
@@ -122,10 +122,10 @@ jobs:
|
||||
brew uninstall --ignore-dependencies libpng
|
||||
sudo port install $(cat .github/workflows/macports-deps.txt)
|
||||
brew install ninja
|
||||
- name: Download soh.otr
|
||||
uses: actions/download-artifact@v4
|
||||
- name: Download soh.o2r
|
||||
uses: actions/download-artifact@v7
|
||||
with:
|
||||
name: soh.otr
|
||||
name: soh.o2r
|
||||
path: build-cmake/soh
|
||||
- name: Build SoH
|
||||
run: |
|
||||
@@ -137,7 +137,7 @@ jobs:
|
||||
mv _packages/*.dmg SoH.dmg
|
||||
mv README.md readme.txt
|
||||
- name: Upload build
|
||||
uses: actions/upload-artifact@v4
|
||||
uses: actions/upload-artifact@v7
|
||||
with:
|
||||
name: soh-mac
|
||||
path: |
|
||||
@@ -145,7 +145,7 @@ jobs:
|
||||
readme.txt
|
||||
- name: Save Cache MacPorts
|
||||
if: ${{ github.ref_name == github.event.repository.default_branch }}
|
||||
uses: actions/cache/save@v4
|
||||
uses: actions/cache/save@v5
|
||||
with:
|
||||
key: ${{ steps.restore-cache-macports.outputs.cache-primary-key }}
|
||||
path: /opt/local/
|
||||
@@ -155,7 +155,7 @@ jobs:
|
||||
runs-on: ubuntu-22.04
|
||||
steps:
|
||||
- name: Git Checkout
|
||||
uses: actions/checkout@v4
|
||||
uses: actions/checkout@v6
|
||||
with:
|
||||
submodules: true
|
||||
- name: Install dependencies
|
||||
@@ -172,7 +172,7 @@ jobs:
|
||||
${{ runner.os }}-ccache
|
||||
- name: Restore Cached deps folder
|
||||
id: restore-cache-deps
|
||||
uses: actions/cache/restore@v4
|
||||
uses: actions/cache/restore@v5
|
||||
with:
|
||||
key: ${{ runner.os }}-deps-${{ github.ref }}-${{ github.sha }}
|
||||
restore-keys: |
|
||||
@@ -233,10 +233,10 @@ jobs:
|
||||
make
|
||||
sudo make install
|
||||
sudo cp -av /usr/local/lib/libzip* /lib/x86_64-linux-gnu/
|
||||
- name: Download soh.otr
|
||||
uses: actions/download-artifact@v4
|
||||
- name: Download soh.o2r
|
||||
uses: actions/download-artifact@v7
|
||||
with:
|
||||
name: soh.otr
|
||||
name: soh.o2r
|
||||
path: build-cmake/soh
|
||||
- name: Build SoH
|
||||
run: |
|
||||
@@ -251,7 +251,7 @@ jobs:
|
||||
CC: gcc-12
|
||||
CXX: g++-12
|
||||
- name: Upload build
|
||||
uses: actions/upload-artifact@v4
|
||||
uses: actions/upload-artifact@v7
|
||||
with:
|
||||
name: soh-linux
|
||||
path: |
|
||||
@@ -259,7 +259,7 @@ jobs:
|
||||
readme.txt
|
||||
- name: Save Cache deps folder
|
||||
if: ${{ github.ref_name == github.event.repository.default_branch }}
|
||||
uses: actions/cache/save@v4
|
||||
uses: actions/cache/save@v5
|
||||
with:
|
||||
key: ${{ steps.restore-cache-deps.outputs.cache-primary-key }}
|
||||
path: deps
|
||||
@@ -273,7 +273,7 @@ jobs:
|
||||
choco install ninja -y
|
||||
Remove-Item -Path "C:\ProgramData\Chocolatey\bin\ccache.exe" -Force -ErrorAction SilentlyContinue
|
||||
- name: Git Checkout
|
||||
uses: actions/checkout@v4
|
||||
uses: actions/checkout@v6
|
||||
with:
|
||||
submodules: true
|
||||
- name: Configure sccache
|
||||
@@ -289,7 +289,7 @@ jobs:
|
||||
${{ runner.os }}-ccache
|
||||
- name: Restore Cached VCPKG folder
|
||||
id: restore-cache-vcpkg
|
||||
uses: actions/cache/restore@v4
|
||||
uses: actions/cache/restore@v5
|
||||
with:
|
||||
key: ${{ runner.os }}-vcpkg-${{ github.ref }}-${{ github.sha }}
|
||||
restore-keys: |
|
||||
@@ -298,10 +298,10 @@ jobs:
|
||||
path: vcpkg
|
||||
- name: Configure Developer Command Prompt
|
||||
uses: ilammy/msvc-dev-cmd@v1
|
||||
- name: Download soh.otr
|
||||
uses: actions/download-artifact@v4
|
||||
- name: Download soh.o2r
|
||||
uses: actions/download-artifact@v7
|
||||
with:
|
||||
name: soh.otr
|
||||
name: soh.o2r
|
||||
path: build-windows/soh
|
||||
- name: Build SoH
|
||||
env:
|
||||
@@ -317,13 +317,13 @@ jobs:
|
||||
- name: Unzip package
|
||||
run: Expand-Archive -Path _packages/soh-windows.zip -DestinationPath soh-windows
|
||||
- name: Upload build
|
||||
uses: actions/upload-artifact@v4
|
||||
uses: actions/upload-artifact@v7
|
||||
with:
|
||||
name: soh-windows
|
||||
path: soh-windows
|
||||
- name: Save Cache VCPKG folder
|
||||
if: ${{ github.ref_name == github.event.repository.default_branch }}
|
||||
uses: actions/cache/save@v4
|
||||
uses: actions/cache/save@v5
|
||||
with:
|
||||
key: ${{ steps.restore-cache-vcpkg.outputs.cache-primary-key }}
|
||||
path: vcpkg
|
||||
|
||||
2
.github/workflows/macports-deps.txt
vendored
2
.github/workflows/macports-deps.txt
vendored
@@ -1 +1 @@
|
||||
libsdl2 +universal libsdl2_net +universal libpng +universal glew +universal libzip +universal nlohmann-json +universal tinyxml2 +universal
|
||||
libsdl2 +universal libsdl2_net +universal libpng +universal glew +universal libzip +universal nlohmann-json +universal tinyxml2 +universal libogg +universal libopus +universal opusfile +universal libvorbis +universal
|
||||
6
.github/workflows/pr-artifacts.yml
vendored
6
.github/workflows/pr-artifacts.yml
vendored
@@ -12,7 +12,7 @@ jobs:
|
||||
if: ${{ github.event.workflow_run.event == 'pull_request' }}
|
||||
steps:
|
||||
- id: 'pr-number'
|
||||
uses: actions/github-script@v7
|
||||
uses: actions/github-script@v8
|
||||
with:
|
||||
result-encoding: string
|
||||
script: |
|
||||
@@ -37,7 +37,7 @@ jobs:
|
||||
|
||||
return prNumber;
|
||||
- id: 'artifacts-text'
|
||||
uses: actions/github-script@v7
|
||||
uses: actions/github-script@v8
|
||||
with:
|
||||
result-encoding: string
|
||||
script: |
|
||||
@@ -48,7 +48,7 @@ jobs:
|
||||
});
|
||||
|
||||
return allArtifacts.data.artifacts.reduce((acc, item) => {
|
||||
if (item.name === "soh.otr") return acc;
|
||||
if (item.name === "soh.o2r") return acc;
|
||||
acc += `
|
||||
- [${item.name}.zip](https://nightly.link/${context.repo.owner}/${context.repo.repo}/actions/artifacts/${item.id}.zip)`;
|
||||
return acc;
|
||||
|
||||
14
.github/workflows/test-builds-on-distros.yml
vendored
14
.github/workflows/test-builds-on-distros.yml
vendored
@@ -23,24 +23,24 @@ jobs:
|
||||
if: ${{ matrix.image == 'archlinux:base' }}
|
||||
run: |
|
||||
echo arch
|
||||
echo pacman -S ${{ matrix.cc }} git cmake ninja lsb-release sdl2 libpng libzip nlohmann-json tinyxml2 spdlog sdl2_net boost
|
||||
echo pacman -S ${{ matrix.cc }} git cmake ninja lsb-release sdl2 libpng libzip nlohmann-json tinyxml2 spdlog sdl2_net
|
||||
pacman -Syu --noconfirm
|
||||
pacman -S --noconfirm ${{ matrix.cc }} git cmake ninja lsb-release sdl2 libpng libzip nlohmann-json tinyxml2 spdlog sdl2_net boost
|
||||
pacman -S --noconfirm ${{ matrix.cc }} git cmake ninja lsb-release sdl2 libpng libzip nlohmann-json tinyxml2 spdlog sdl2_net
|
||||
- name: Install dependencies (dnf)
|
||||
if: ${{ matrix.image == 'fedora:39' }}
|
||||
run: |
|
||||
echo fedora
|
||||
echo dnf install ${{ matrix.cc }} ${{ (matrix.cxx == 'g++' && 'gcc-c++') || '' }} wget git cmake ninja-build lsb_release SDL2-devel libpng-devel libzip-devel libzip-tools tinyxml2-devel spdlog-devel boost-devel
|
||||
echo dnf install ${{ matrix.cc }} ${{ (matrix.cxx == 'g++' && 'gcc-c++') || '' }} wget git cmake ninja-build lsb_release SDL2-devel libpng-devel libzip-devel libzip-tools tinyxml2-devel spdlog-devel
|
||||
dnf -y upgrade
|
||||
dnf -y install ${{ matrix.cc }} ${{ (matrix.cxx == 'g++' && 'gcc-c++') || '' }} wget git cmake ninja-build lsb_release SDL2-devel libpng-devel libzip-devel libzip-tools tinyxml2-devel spdlog-devel boost-devel
|
||||
dnf -y install ${{ matrix.cc }} ${{ (matrix.cxx == 'g++' && 'gcc-c++') || '' }} wget git cmake ninja-build lsb_release SDL2-devel libpng-devel libzip-devel libzip-tools tinyxml2-devel spdlog-devel
|
||||
- name: Install dependencies (apt)
|
||||
if: ${{ matrix.image == 'ubuntu:mantic' || matrix.image == 'debian:bookworm' }}
|
||||
run: |
|
||||
echo debian based
|
||||
echo apt-get install ${{ matrix.cc }} ${{ (matrix.cxx == 'g++' && 'g++') || '' }} git cmake ninja-build lsb-release libsdl2-dev libpng-dev libsdl2-net-dev libzip-dev zipcmp zipmerge ziptool nlohmann-json3-dev libtinyxml2-dev libspdlog-dev libboost-dev libopengl-dev
|
||||
echo apt-get install ${{ matrix.cc }} ${{ (matrix.cxx == 'g++' && 'g++') || '' }} git cmake ninja-build lsb-release libsdl2-dev libpng-dev libsdl2-net-dev libzip-dev zipcmp zipmerge ziptool nlohmann-json3-dev libtinyxml2-dev libspdlog-dev libopengl-dev
|
||||
apt-get update
|
||||
apt-get -y full-upgrade
|
||||
apt-get -y install ${{ matrix.cc }} ${{ (matrix.cxx == 'g++' && 'g++') || '' }} git cmake ninja-build lsb-release libsdl2-dev libpng-dev libsdl2-net-dev libzip-dev zipcmp zipmerge ziptool nlohmann-json3-dev libtinyxml2-dev libspdlog-dev libboost-dev libopengl-dev
|
||||
apt-get -y install ${{ matrix.cc }} ${{ (matrix.cxx == 'g++' && 'g++') || '' }} git cmake ninja-build lsb-release libsdl2-dev libpng-dev libsdl2-net-dev libzip-dev zipcmp zipmerge ziptool nlohmann-json3-dev libtinyxml2-dev libspdlog-dev libopengl-dev
|
||||
- name: Install dependencies (zypper)
|
||||
if: ${{ matrix.image == 'opensuse/tumbleweed:latest' }}
|
||||
run: |
|
||||
@@ -59,7 +59,7 @@ jobs:
|
||||
cmake ..
|
||||
make
|
||||
sudo make install
|
||||
- uses: actions/checkout@v4
|
||||
- uses: actions/checkout@v6
|
||||
with:
|
||||
submodules: true
|
||||
- name: Build SoH
|
||||
|
||||
4
.gitignore
vendored
4
.gitignore
vendored
@@ -2,6 +2,7 @@
|
||||
__pycache__/
|
||||
.pyc
|
||||
.DS_Store
|
||||
.cache/*
|
||||
|
||||
# Text editor remnants
|
||||
.vscode/*
|
||||
@@ -412,10 +413,12 @@ ReleaseObj/*
|
||||
.tags
|
||||
tags
|
||||
*.otr
|
||||
*.o2r
|
||||
*.sav
|
||||
shipofharkinian.ini
|
||||
shipofharkinian.json
|
||||
imgui.ini
|
||||
timesplitdata.json
|
||||
|
||||
# Switch Stuff
|
||||
|
||||
@@ -456,3 +459,4 @@ soh/properties.h
|
||||
# Tools
|
||||
/clang-format
|
||||
/clang-format.exe
|
||||
*.o2r
|
||||
|
||||
31
.vscode/tasks.json
vendored
31
.vscode/tasks.json
vendored
@@ -5,6 +5,15 @@
|
||||
"label": "Setup CMake Project",
|
||||
"type": "shell",
|
||||
"command": "cmake",
|
||||
"args": [
|
||||
"-S",
|
||||
".",
|
||||
"-B",
|
||||
"build-cmake",
|
||||
"-G",
|
||||
"Ninja"
|
||||
],
|
||||
"windows": {
|
||||
"args": [
|
||||
"-S",
|
||||
".",
|
||||
@@ -16,7 +25,8 @@
|
||||
"v143",
|
||||
"-A",
|
||||
"x64"
|
||||
],
|
||||
]
|
||||
},
|
||||
"group": "build",
|
||||
"problemMatcher": []
|
||||
},
|
||||
@@ -24,12 +34,21 @@
|
||||
"label": "Generate SOH OTR",
|
||||
"type": "shell",
|
||||
"command": "cmake",
|
||||
"args": [
|
||||
"--build",
|
||||
"build-cmake",
|
||||
"--target",
|
||||
"GenerateSohOtr",
|
||||
"--parallel"
|
||||
],
|
||||
"windows": {
|
||||
"args": [
|
||||
"--build",
|
||||
"./build/x64",
|
||||
"--target",
|
||||
"GenerateSohOtr"
|
||||
],
|
||||
]
|
||||
},
|
||||
"group": "build",
|
||||
"problemMatcher": []
|
||||
},
|
||||
@@ -39,8 +58,14 @@
|
||||
"command": "cmake",
|
||||
"args": [
|
||||
"--build",
|
||||
"./build/x64"
|
||||
"build-cmake"
|
||||
],
|
||||
"windows": {
|
||||
"args": [
|
||||
"--build",
|
||||
"./build/x64"
|
||||
]
|
||||
},
|
||||
"group": {
|
||||
"kind": "build",
|
||||
"isDefault": true
|
||||
|
||||
61
CMake/FindOgg.cmake
Normal file
61
CMake/FindOgg.cmake
Normal file
@@ -0,0 +1,61 @@
|
||||
# - Find ogg
|
||||
# Find the native ogg includes and libraries
|
||||
#
|
||||
# OGG_INCLUDE_DIRS - where to find ogg.h, etc.
|
||||
# OGG_LIBRARIES - List of libraries when using ogg.
|
||||
# OGG_FOUND - True if ogg found.
|
||||
|
||||
if (OGG_INCLUDE_DIR)
|
||||
# Already in cache, be silent
|
||||
set(OGG_FIND_QUIETLY TRUE)
|
||||
endif ()
|
||||
|
||||
find_package (PkgConfig QUIET)
|
||||
pkg_check_modules (PC_OGG QUIET ogg>=1.3.0)
|
||||
|
||||
set (OGG_VERSION ${PC_OGG_VERSION})
|
||||
|
||||
find_path (OGG_INCLUDE_DIR ogg/ogg.h
|
||||
HINTS
|
||||
${PC_OGG_INCLUDEDIR}
|
||||
${PC_OGG_INCLUDE_DIRS}
|
||||
${OGG_ROOT}
|
||||
)
|
||||
# MSVC built ogg may be named ogg_static.
|
||||
# The provided project files name the library with the lib prefix.
|
||||
find_library (OGG_LIBRARY
|
||||
NAMES
|
||||
ogg
|
||||
ogg_static
|
||||
libogg
|
||||
libogg_static
|
||||
HINTS
|
||||
${PC_OGG_LIBDIR}
|
||||
${PC_OGG_LIBRARY_DIRS}
|
||||
${OGG_ROOT}
|
||||
)
|
||||
# Handle the QUIETLY and REQUIRED arguments and set OGG_FOUND
|
||||
# to TRUE if all listed variables are TRUE.
|
||||
include (FindPackageHandleStandardArgs)
|
||||
find_package_handle_standard_args (Ogg
|
||||
REQUIRED_VARS
|
||||
OGG_LIBRARY
|
||||
OGG_INCLUDE_DIR
|
||||
VERSION_VAR
|
||||
OGG_VERSION
|
||||
)
|
||||
|
||||
if (OGG_FOUND)
|
||||
set (OGG_LIBRARIES ${OGG_LIBRARY})
|
||||
set (OGG_INCLUDE_DIRS ${OGG_INCLUDE_DIR})
|
||||
|
||||
if(NOT TARGET Ogg::ogg)
|
||||
add_library(Ogg::ogg UNKNOWN IMPORTED)
|
||||
set_target_properties(Ogg::ogg PROPERTIES
|
||||
INTERFACE_INCLUDE_DIRECTORIES "${OGG_INCLUDE_DIRS}"
|
||||
IMPORTED_LOCATION "${OGG_LIBRARIES}"
|
||||
)
|
||||
endif ()
|
||||
endif ()
|
||||
|
||||
mark_as_advanced (OGG_INCLUDE_DIR OGG_LIBRARY)
|
||||
44
CMake/FindOpus.cmake
Normal file
44
CMake/FindOpus.cmake
Normal file
@@ -0,0 +1,44 @@
|
||||
# - FindOpus.cmake
|
||||
# Find the native opus includes and libraries
|
||||
#
|
||||
# OPUS_INCLUDE_DIRS - where to find opus/opus.h, etc.
|
||||
# OPUS_LIBRARIES - List of libraries when using libopus(file).
|
||||
# OPUS_FOUND - True if libopus found.
|
||||
|
||||
if(OPUS_INCLUDE_DIR AND OPUS_LIBRARY AND OPUSFILE_LIBRARY)
|
||||
# Already in cache, be silent
|
||||
set(OPUS_FIND_QUIETLY TRUE)
|
||||
endif(OPUS_INCLUDE_DIR AND OPUS_LIBRARY AND OPUSFILE_LIBRARY)
|
||||
|
||||
find_path(OPUS_INCLUDE_DIR
|
||||
NAMES opusfile.h
|
||||
PATH_SUFFIXES opus
|
||||
)
|
||||
|
||||
# MSVC built opus may be named opus_static
|
||||
# The provided project files name the library with the lib prefix.
|
||||
find_library(OPUS_LIBRARY
|
||||
NAMES opus opus_static libopus libopus_static
|
||||
)
|
||||
#find_library(OPUSFILE_LIBRARY
|
||||
# NAMES opusfile opusfile_static libopusfile libopusfile_static
|
||||
#)
|
||||
|
||||
# Handle the QUIETLY and REQUIRED arguments and set OPUS_FOUND
|
||||
# to TRUE if all listed variables are TRUE.
|
||||
include(FindPackageHandleStandardArgs)
|
||||
find_package_handle_standard_args(Opus DEFAULT_MSG
|
||||
OPUS_LIBRARY OPUS_INCLUDE_DIR
|
||||
)
|
||||
|
||||
if(OPUS_FOUND)
|
||||
set(OPUS_LIBRARIES ${OPUS_LIBRARY})
|
||||
set(OPUS_INCLUDE_DIRS ${OPUS_INCLUDE_DIR})
|
||||
if(NOT TARGET Opus::opus)
|
||||
add_library(Opus::opus UNKNOWN IMPORTED)
|
||||
set_target_properties(Opus::opus PROPERTIES
|
||||
INTERFACE_INCLUDE_DIRECTORIES "${OPUS_INCLUDE_DIRS}"
|
||||
IMPORTED_LOCATION "${OPUS_LIBRARIES}"
|
||||
)
|
||||
endif()
|
||||
endif(OPUS_FOUND)
|
||||
63
CMake/FindOpusFile.cmake
Normal file
63
CMake/FindOpusFile.cmake
Normal file
@@ -0,0 +1,63 @@
|
||||
# FindOpusFile.cmake
|
||||
# Locate the libopusfile library and its dependencies (libopus and libogg).
|
||||
# Defines the following variables on success:
|
||||
# OPUSFILE_FOUND - Indicates if opusfile was found
|
||||
# OPUSFILE_INCLUDE_DIR - Directory containing opusfile.h
|
||||
# OPUSFILE_LIBRARY - Path to the opusfile library
|
||||
# OPUSFILE_LIBRARIES - Full list of libraries to link (opusfile, opus, ogg)
|
||||
|
||||
# Use pkg-config to find opusfile if available
|
||||
find_package(PkgConf)
|
||||
if(PKG_CONFIG_FOUND)
|
||||
pkg_check_modules(PC_OPUSFILE QUIET opusfile)
|
||||
endif()
|
||||
|
||||
# Search for the OpusFile header
|
||||
find_path(OPUSFILE_INCLUDE_DIR
|
||||
NAMES opusfile.h
|
||||
HINTS ${PC_OPUSFILE_INCLUDE_DIRS}
|
||||
PATHS /usr/include/opus /usr/local/include/opus /opt/local/include/opus /opt/homebrew/include/opus
|
||||
DOC "Directory where opusfile.h is located"
|
||||
)
|
||||
|
||||
# Search for the OpusFile library
|
||||
find_library(OPUSFILE_LIBRARY
|
||||
NAMES opusfile
|
||||
HINTS ${PC_OPUSFILE_LIBRARY_DIRS}
|
||||
DOC "Path to the libopusfile library"
|
||||
)
|
||||
|
||||
# Search for the Opus library (dependency of OpusFile)
|
||||
find_library(OPUS_LIBRARY
|
||||
NAMES opus
|
||||
DOC "Path to the libopus library (dependency of libopusfile)"
|
||||
)
|
||||
|
||||
# Search for the Ogg library (dependency of OpusFile)
|
||||
find_library(OGG_LIBRARY
|
||||
NAMES ogg
|
||||
DOC "Path to the libogg library (dependency of libopusfile)"
|
||||
)
|
||||
|
||||
# Check if all required components are found
|
||||
include(FindPackageHandleStandardArgs)
|
||||
find_package_handle_standard_args(OpusFile
|
||||
REQUIRED_VARS OPUSFILE_LIBRARY OPUSFILE_INCLUDE_DIR OPUS_LIBRARY OGG_LIBRARY
|
||||
VERSION_VAR OPUSFILE_VERSION
|
||||
)
|
||||
|
||||
# Define an imported target if everything is found
|
||||
if (OPUSFILE_FOUND)
|
||||
add_library(Opusfile::Opusfile INTERFACE IMPORTED)
|
||||
|
||||
set_target_properties(Opusfile::Opusfile PROPERTIES
|
||||
INTERFACE_INCLUDE_DIRECTORIES "${OPUSFILE_INCLUDE_DIR}"
|
||||
INTERFACE_LINK_LIBRARIES "${OPUSFILE_LIBRARY};${OPUS_LIBRARY};${OGG_LIBRARY}"
|
||||
)
|
||||
|
||||
# Optionally expose the include and libraries separately
|
||||
set(OPUSFILE_LIBRARIES ${OPUSFILE_LIBRARY} ${OPUS_LIBRARY} ${OGG_LIBRARY})
|
||||
set(OPUSFILE_INCLUDE_DIRS ${OPUSFILE_INCLUDE_DIR})
|
||||
else()
|
||||
set(OPUSFILE_FOUND FALSE)
|
||||
endif()
|
||||
210
CMake/FindVorbis.cmake
Normal file
210
CMake/FindVorbis.cmake
Normal file
@@ -0,0 +1,210 @@
|
||||
#[=======================================================================[.rst:
|
||||
FindVorbis
|
||||
----------
|
||||
|
||||
Finds the native vorbis, vorbisenc amd vorbisfile includes and libraries.
|
||||
|
||||
Imported Targets
|
||||
^^^^^^^^^^^^^^^^
|
||||
|
||||
This module provides the following imported targets, if found:
|
||||
|
||||
``Vorbis::vorbis``
|
||||
The Vorbis library
|
||||
``Vorbis::vorbisenc``
|
||||
The VorbisEnc library
|
||||
``Vorbis::vorbisfile``
|
||||
The VorbisFile library
|
||||
|
||||
Result Variables
|
||||
^^^^^^^^^^^^^^^^
|
||||
|
||||
This will define the following variables:
|
||||
|
||||
``Vorbis_Vorbis_INCLUDE_DIRS``
|
||||
List of include directories when using vorbis.
|
||||
``Vorbis_Enc_INCLUDE_DIRS``
|
||||
List of include directories when using vorbisenc.
|
||||
``Vorbis_File_INCLUDE_DIRS``
|
||||
List of include directories when using vorbisfile.
|
||||
``Vorbis_Vorbis_LIBRARIES``
|
||||
List of libraries when using vorbis.
|
||||
``Vorbis_Enc_LIBRARIES``
|
||||
List of libraries when using vorbisenc.
|
||||
``Vorbis_File_LIBRARIES``
|
||||
List of libraries when using vorbisfile.
|
||||
``Vorbis_FOUND``
|
||||
True if vorbis and requested components found.
|
||||
``Vorbis_Vorbis_FOUND``
|
||||
True if vorbis found.
|
||||
``Vorbis_Enc_FOUND``
|
||||
True if vorbisenc found.
|
||||
``Vorbis_Enc_FOUND``
|
||||
True if vorbisfile found.
|
||||
|
||||
Cache variables
|
||||
^^^^^^^^^^^^^^^
|
||||
|
||||
The following cache variables may also be set:
|
||||
|
||||
``Vorbis_Vorbis_INCLUDE_DIR``
|
||||
The directory containing ``vorbis/vorbis.h``.
|
||||
``Vorbis_Enc_INCLUDE_DIR``
|
||||
The directory containing ``vorbis/vorbisenc.h``.
|
||||
``Vorbis_File_INCLUDE_DIR``
|
||||
The directory containing ``vorbis/vorbisenc.h``.
|
||||
``Vorbis_Vorbis_LIBRARY``
|
||||
The path to the vorbis library.
|
||||
``Vorbis_Enc_LIBRARY``
|
||||
The path to the vorbisenc library.
|
||||
``Vorbis_File_LIBRARY``
|
||||
The path to the vorbisfile library.
|
||||
|
||||
Hints
|
||||
^^^^^
|
||||
|
||||
A user may set ``Vorbis_ROOT`` to a vorbis installation root to tell this module where to look.
|
||||
|
||||
#]=======================================================================]
|
||||
|
||||
if (Vorbis_Vorbis_INCLUDE_DIR)
|
||||
# Already in cache, be silent
|
||||
set (Vorbis_FIND_QUIETLY TRUE)
|
||||
endif ()
|
||||
|
||||
set (Vorbis_Vorbis_FIND_QUIETLY TRUE)
|
||||
set (Vorbis_Enc_FIND_QUIETLY TRUE)
|
||||
set (Vorbis_File_FIND_QUIETLY TRUE)
|
||||
|
||||
find_package (Ogg QUIET)
|
||||
|
||||
find_package (PkgConfig QUIET)
|
||||
pkg_check_modules (PC_Vorbis_Vorbis QUIET vorbis)
|
||||
pkg_check_modules (PC_Vorbis_Enc QUIET vorbisenc)
|
||||
pkg_check_modules (PC_Vorbis_File QUIET vorbisfile)
|
||||
|
||||
set (Vorbis_VERSION ${PC_Vorbis_Vorbis_VERSION})
|
||||
|
||||
find_path (Vorbis_Vorbis_INCLUDE_DIR vorbis/codec.h
|
||||
HINTS
|
||||
${PC_Vorbis_Vorbis_INCLUDEDIR}
|
||||
${PC_Vorbis_Vorbis_INCLUDE_DIRS}
|
||||
${Vorbis_ROOT}
|
||||
)
|
||||
|
||||
find_path (Vorbis_Enc_INCLUDE_DIR vorbis/vorbisenc.h
|
||||
HINTS
|
||||
${PC_Vorbis_Enc_INCLUDEDIR}
|
||||
${PC_Vorbis_Enc_INCLUDE_DIRS}
|
||||
${Vorbis_ROOT}
|
||||
)
|
||||
|
||||
find_path (Vorbis_File_INCLUDE_DIR vorbis/vorbisfile.h
|
||||
HINTS
|
||||
${PC_Vorbis_File_INCLUDEDIR}
|
||||
${PC_Vorbis_File_INCLUDE_DIRS}
|
||||
${Vorbis_ROOT}
|
||||
)
|
||||
|
||||
find_library (Vorbis_Vorbis_LIBRARY
|
||||
NAMES
|
||||
vorbis
|
||||
vorbis_static
|
||||
libvorbis
|
||||
libvorbis_static
|
||||
HINTS
|
||||
${PC_Vorbis_Vorbis_LIBDIR}
|
||||
${PC_Vorbis_Vorbis_LIBRARY_DIRS}
|
||||
${Vorbis_ROOT}
|
||||
)
|
||||
|
||||
find_library (Vorbis_Enc_LIBRARY
|
||||
NAMES
|
||||
vorbisenc
|
||||
vorbisenc_static
|
||||
libvorbisenc
|
||||
libvorbisenc_static
|
||||
HINTS
|
||||
${PC_Vorbis_Enc_LIBDIR}
|
||||
${PC_Vorbis_Enc_LIBRARY_DIRS}
|
||||
${Vorbis_ROOT}
|
||||
)
|
||||
|
||||
find_library (Vorbis_File_LIBRARY
|
||||
NAMES
|
||||
vorbisfile
|
||||
vorbisfile_static
|
||||
libvorbisfile
|
||||
libvorbisfile_static
|
||||
HINTS
|
||||
${PC_Vorbis_File_LIBDIR}
|
||||
${PC_Vorbis_File_LIBRARY_DIRS}
|
||||
${Vorbis_ROOT}
|
||||
)
|
||||
|
||||
include (FindPackageHandleStandardArgs)
|
||||
|
||||
if (Vorbis_Vorbis_LIBRARY AND Vorbis_Vorbis_INCLUDE_DIR AND Ogg_FOUND)
|
||||
set (Vorbis_Vorbis_FOUND TRUE)
|
||||
endif ()
|
||||
|
||||
if (Vorbis_Enc_LIBRARY AND Vorbis_Enc_INCLUDE_DIR AND Vorbis_Vorbis_FOUND)
|
||||
set (Vorbis_Enc_FOUND TRUE)
|
||||
endif ()
|
||||
|
||||
if (Vorbis_Vorbis_FOUND AND Vorbis_File_LIBRARY AND Vorbis_File_INCLUDE_DIR)
|
||||
set (Vorbis_File_FOUND TRUE)
|
||||
endif ()
|
||||
|
||||
find_package_handle_standard_args (Vorbis
|
||||
REQUIRED_VARS
|
||||
Vorbis_Vorbis_LIBRARY
|
||||
Vorbis_Vorbis_INCLUDE_DIR
|
||||
Ogg_FOUND
|
||||
HANDLE_COMPONENTS
|
||||
VERSION_VAR Vorbis_VERSION)
|
||||
|
||||
|
||||
if (Vorbis_Vorbis_FOUND)
|
||||
set (Vorbis_Vorbis_INCLUDE_DIRS ${VORBIS_INCLUDE_DIR})
|
||||
set (Vorbis_Vorbis_LIBRARIES ${VORBIS_LIBRARY} ${OGG_LIBRARIES})
|
||||
if (NOT TARGET Vorbis::vorbis)
|
||||
add_library (Vorbis::vorbis UNKNOWN IMPORTED)
|
||||
set_target_properties (Vorbis::vorbis PROPERTIES
|
||||
INTERFACE_INCLUDE_DIRECTORIES "${Vorbis_Vorbis_INCLUDE_DIR}"
|
||||
IMPORTED_LOCATION "${Vorbis_Vorbis_LIBRARY}"
|
||||
INTERFACE_LINK_LIBRARIES Ogg::ogg
|
||||
)
|
||||
endif ()
|
||||
|
||||
if (Vorbis_Enc_FOUND)
|
||||
set (Vorbis_Enc_INCLUDE_DIRS ${Vorbis_Enc_INCLUDE_DIR})
|
||||
set (Vorbis_Enc_LIBRARIES ${Vorbis_Enc_LIBRARY} ${Vorbis_Enc_LIBRARIES})
|
||||
if (NOT TARGET Vorbis::vorbisenc)
|
||||
add_library (Vorbis::vorbisenc UNKNOWN IMPORTED)
|
||||
set_target_properties (Vorbis::vorbisenc PROPERTIES
|
||||
INTERFACE_INCLUDE_DIRECTORIES "${Vorbis_Enc_INCLUDE_DIR}"
|
||||
IMPORTED_LOCATION "${Vorbis_Enc_LIBRARY}"
|
||||
INTERFACE_LINK_LIBRARIES Vorbis::vorbis
|
||||
)
|
||||
endif ()
|
||||
endif ()
|
||||
|
||||
if (Vorbis_File_FOUND)
|
||||
set (Vorbis_File_INCLUDE_DIRS ${Vorbis_File_INCLUDE_DIR})
|
||||
set (Vorbis_File_LIBRARIES ${Vorbis_File_LIBRARY} ${Vorbis_File_LIBRARIES})
|
||||
if (NOT TARGET Vorbis::vorbisfile)
|
||||
add_library (Vorbis::vorbisfile UNKNOWN IMPORTED)
|
||||
set_target_properties (Vorbis::vorbisfile PROPERTIES
|
||||
INTERFACE_INCLUDE_DIRECTORIES "${Vorbis_File_INCLUDE_DIR}"
|
||||
IMPORTED_LOCATION "${Vorbis_File_LIBRARY}"
|
||||
INTERFACE_LINK_LIBRARIES Vorbis::vorbis
|
||||
)
|
||||
endif ()
|
||||
endif ()
|
||||
|
||||
endif ()
|
||||
|
||||
mark_as_advanced (Vorbis_Vorbis_INCLUDE_DIR Vorbis_Vorbis_LIBRARY)
|
||||
mark_as_advanced (Vorbis_Enc_INCLUDE_DIR Vorbis_Enc_LIBRARY)
|
||||
mark_as_advanced (Vorbis_File_INCLUDE_DIR Vorbis_File_LIBRARY)
|
||||
@@ -1,7 +1,5 @@
|
||||
set(CVAR_VSYNC_ENABLED "${CVAR_PREFIX_SETTING}.VsyncEnabled" CACHE STRING "")
|
||||
set(CVAR_Z_FIGHTING_MODE "${CVAR_PREFIX_SETTING}.ZFightingMode" CACHE STRING "")
|
||||
set(CVAR_NEW_FILE_DROPPED "${CVAR_PREFIX_GENERAL}.NewFileDropped" CACHE STRING "")
|
||||
set(CVAR_DROPPED_FILE "${CVAR_PREFIX_GENERAL}.DroppedFile" CACHE STRING "")
|
||||
set(CVAR_INTERNAL_RESOLUTION "${CVAR_PREFIX_SETTING}.InternalResolution" CACHE STRING "")
|
||||
set(CVAR_MSAA_VALUE "${CVAR_PREFIX_SETTING}.MSAAValue" CACHE STRING "")
|
||||
set(CVAR_SDL_WINDOWED_FULLSCREEN "${CVAR_PREFIX_SETTING}.SdlWindowedFullscreen" CACHE STRING "")
|
||||
|
||||
@@ -2,13 +2,16 @@ cmake_minimum_required(VERSION 3.26.0 FATAL_ERROR)
|
||||
|
||||
set(CMAKE_SYSTEM_VERSION 10.0 CACHE STRING "" FORCE)
|
||||
set(CMAKE_CXX_STANDARD 20 CACHE STRING "The C++ standard to use")
|
||||
set(CMAKE_C_STANDARD 17 CACHE STRING "The C standard to use")
|
||||
set(CMAKE_C_STANDARD 23 CACHE STRING "The C standard to use")
|
||||
|
||||
set(CMAKE_OSX_DEPLOYMENT_TARGET "10.15" CACHE STRING "Minimum OS X deployment version")
|
||||
|
||||
project(Ship VERSION 9.0.5 LANGUAGES C CXX)
|
||||
project(Ship VERSION 9.2.1 LANGUAGES C CXX)
|
||||
include(CMake/soh-cvars.cmake)
|
||||
include(CMake/lus-cvars.cmake)
|
||||
set(SPDLOG_LEVEL_TRACE 0)
|
||||
set(SPDLOG_LEVEL_OFF 6)
|
||||
set(SPDLOG_MIN_CUTOFF SPDLOG_LEVEL_TRACE CACHE STRING "cutoff at trace")
|
||||
|
||||
option(SUPPRESS_WARNINGS "Suppress warnings in LUS and src (decomp)" ON)
|
||||
if(SUPPRESS_WARNINGS)
|
||||
@@ -35,7 +38,7 @@ math(EXPR PATCH_INDEX "${PROJECT_VERSION_PATCH}")
|
||||
# Use the patch number to select the correct word
|
||||
list(GET NATO_PHONETIC_ALPHABET ${PATCH_INDEX} PROJECT_PATCH_WORD)
|
||||
|
||||
set(PROJECT_BUILD_NAME "Blair ${PROJECT_PATCH_WORD}" CACHE STRING "" FORCE)
|
||||
set(PROJECT_BUILD_NAME "Ackbar ${PROJECT_PATCH_WORD}" CACHE STRING "" FORCE)
|
||||
set(PROJECT_TEAM "github.com/harbourmasters" CACHE STRING "" FORCE)
|
||||
|
||||
execute_process(
|
||||
@@ -75,6 +78,7 @@ set(CMAKE_PROJECT_GIT_COMMIT_TAG "${GIT_COMMIT_TAG}" CACHE STRING "Git commit ta
|
||||
set_property(DIRECTORY ${CMAKE_SOURCE_DIR} PROPERTY VS_STARTUP_PROJECT soh)
|
||||
add_compile_options($<$<CXX_COMPILER_ID:MSVC>:/MP>)
|
||||
add_compile_options($<$<CXX_COMPILER_ID:MSVC>:/utf-8>)
|
||||
add_compile_options($<$<CXX_COMPILER_ID:MSVC>:/Zc:preprocessor>)
|
||||
|
||||
if (CMAKE_SYSTEM_NAME STREQUAL "Windows")
|
||||
include(CMake/automate-vcpkg.cmake)
|
||||
@@ -83,8 +87,7 @@ if (CMAKE_SYSTEM_NAME STREQUAL "Windows")
|
||||
set(VCPKG_TARGET_TRIPLET x64-windows-static)
|
||||
|
||||
vcpkg_bootstrap()
|
||||
vcpkg_install_packages(zlib bzip2 libzip libpng sdl2 sdl2-net glew glfw3 nlohmann-json tinyxml2 spdlog)
|
||||
|
||||
vcpkg_install_packages(zlib bzip2 libzip libpng sdl2 sdl2-net glew glfw3 nlohmann-json tinyxml2 spdlog libogg libvorbis opus opusfile)
|
||||
if (CMAKE_C_COMPILER_LAUNCHER MATCHES "ccache|sccache")
|
||||
set(CMAKE_MSVC_DEBUG_INFORMATION_FORMAT Embedded)
|
||||
endif()
|
||||
@@ -154,6 +157,10 @@ set(GFX_DEBUG_DISASSEMBLER ON)
|
||||
|
||||
# Tell LUS we're using F3DEX_GBI_2 (in a way that doesn't break libgfxd)
|
||||
set(GBI_UCODE F3DEX_GBI_2)
|
||||
list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/CMake")
|
||||
|
||||
# Enable MPQ and OTR support
|
||||
set(INCLUDE_MPQ_SUPPORT ON)
|
||||
|
||||
################################################################################
|
||||
# Set CONTROLLERBUTTONS_T
|
||||
@@ -165,6 +172,7 @@ add_compile_definitions(CONTROLLERBUTTONS_T=uint32_t)
|
||||
################################################################################
|
||||
add_subdirectory(libultraship ${CMAKE_BINARY_DIR}/libultraship)
|
||||
target_compile_options(libultraship PRIVATE "${WARNING_OVERRIDE}")
|
||||
target_compile_definitions(libultraship PUBLIC INCLUDE_MPQ_SUPPORT)
|
||||
add_subdirectory(ZAPDTR/ZAPD ${CMAKE_BINARY_DIR}/ZAPD)
|
||||
add_subdirectory(OTRExporter)
|
||||
add_subdirectory(soh)
|
||||
@@ -174,24 +182,15 @@ set_property(TARGET soh PROPERTY APPIMAGE_DESKTOP_FILE "${CMAKE_SOURCE_DIR}/scri
|
||||
set_property(TARGET soh PROPERTY APPIMAGE_ICON_FILE "${CMAKE_BINARY_DIR}/sohIcon.png")
|
||||
|
||||
if("${CMAKE_SYSTEM_NAME}" STREQUAL "Linux")
|
||||
install(PROGRAMS "${CMAKE_BINARY_DIR}/linux/soh.sh" DESTINATION . COMPONENT appimage)
|
||||
install(FILES "${CMAKE_BINARY_DIR}/soh/soh.otr" DESTINATION . COMPONENT ship)
|
||||
install(FILES "${CMAKE_BINARY_DIR}/soh/soh.o2r" DESTINATION . COMPONENT ship)
|
||||
install(TARGETS ZAPD DESTINATION ./assets/extractor COMPONENT extractor)
|
||||
install(DIRECTORY "${CMAKE_SOURCE_DIR}/soh/assets/extractor/" DESTINATION ./assets/extractor COMPONENT extractor)
|
||||
install(DIRECTORY "${CMAKE_SOURCE_DIR}/soh/assets/xml/" DESTINATION ./assets/extractor/xmls COMPONENT extractor)
|
||||
install(DIRECTORY "${CMAKE_SOURCE_DIR}/OTRExporter/CFG/filelists/" DESTINATION ./assets/extractor/filelists COMPONENT extractor)
|
||||
install(FILES "${CMAKE_SOURCE_DIR}/OTRExporter/CFG/ActorList_OoTMqDbg.txt" DESTINATION ./assets/extractor/symbols COMPONENT extractor)
|
||||
install(FILES "${CMAKE_SOURCE_DIR}/OTRExporter/CFG/ObjectList_OoTMqDbg.txt" DESTINATION ./assets/extractor/symbols COMPONENT extractor)
|
||||
install(FILES "${CMAKE_SOURCE_DIR}/OTRExporter/CFG/SymbolMap_OoTMqDbg.txt" DESTINATION ./assets/extractor/symbols COMPONENT extractor)
|
||||
install(DIRECTORY "${CMAKE_SOURCE_DIR}/soh/assets/extractor/" DESTINATION ./assets COMPONENT extractor)
|
||||
install(DIRECTORY "${CMAKE_SOURCE_DIR}/soh/assets/xml/" DESTINATION ./assets/xml COMPONENT extractor)
|
||||
endif()
|
||||
|
||||
if ("${CMAKE_SYSTEM_NAME}" STREQUAL "Windows")
|
||||
install(DIRECTORY "${CMAKE_SOURCE_DIR}/soh/assets/extractor/" DESTINATION ./assets/extractor COMPONENT ship)
|
||||
install(DIRECTORY "${CMAKE_SOURCE_DIR}/soh/assets/xml/" DESTINATION ./assets/extractor/xmls COMPONENT ship)
|
||||
install(DIRECTORY "${CMAKE_SOURCE_DIR}/OTRExporter/CFG/filelists/" DESTINATION ./assets/extractor/filelists COMPONENT ship)
|
||||
install(FILES "${CMAKE_SOURCE_DIR}/OTRExporter/CFG/ActorList_OoTMqDbg.txt" DESTINATION ./assets/extractor/symbols COMPONENT ship)
|
||||
install(FILES "${CMAKE_SOURCE_DIR}/OTRExporter/CFG/ObjectList_OoTMqDbg.txt" DESTINATION ./assets/extractor/symbols COMPONENT ship)
|
||||
install(FILES "${CMAKE_SOURCE_DIR}/OTRExporter/CFG/SymbolMap_OoTMqDbg.txt" DESTINATION ./assets/extractor/symbols COMPONENT ship)
|
||||
install(DIRECTORY "${CMAKE_SOURCE_DIR}/soh/assets/extractor/" DESTINATION ./assets/ COMPONENT ship)
|
||||
install(DIRECTORY "${CMAKE_SOURCE_DIR}/soh/assets/xml/" DESTINATION ./assets/xml COMPONENT ship)
|
||||
endif()
|
||||
|
||||
find_package(Python3 COMPONENTS Interpreter)
|
||||
@@ -199,42 +198,42 @@ find_package(Python3 COMPONENTS Interpreter)
|
||||
# Target to generate OTRs
|
||||
add_custom_target(
|
||||
ExtractAssets
|
||||
COMMAND ${CMAKE_COMMAND} -E rm -f oot.otr oot-mq.otr soh.otr
|
||||
COMMAND ${CMAKE_COMMAND} -E rm -f oot.o2r oot-mq.o2r soh.o2r
|
||||
|
||||
# copy LUS default shaders into assets/custom
|
||||
COMMAND ${CMAKE_COMMAND} -E rm -r -f ${CMAKE_CURRENT_SOURCE_DIR}/soh/assets/custom/shaders/
|
||||
COMMAND ${CMAKE_COMMAND} -E copy_directory ${CMAKE_CURRENT_SOURCE_DIR}/libultraship/src/graphic/Fast3D/shaders/ ${CMAKE_CURRENT_SOURCE_DIR}/soh/assets/custom/shaders/
|
||||
COMMAND ${CMAKE_COMMAND} -E copy_directory ${CMAKE_CURRENT_SOURCE_DIR}/libultraship/src/fast/shaders/ ${CMAKE_CURRENT_SOURCE_DIR}/soh/assets/custom/shaders/
|
||||
|
||||
COMMAND ${Python3_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/OTRExporter/extract_assets.py -z "$<TARGET_FILE:ZAPD>" --non-interactive --xml-root ../soh/assets/xml --custom-otr-file soh.otr "--custom-assets-path" ${CMAKE_CURRENT_SOURCE_DIR}/soh/assets/custom --port-ver "${CMAKE_PROJECT_VERSION}"
|
||||
COMMAND ${Python3_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/OTRExporter/extract_assets.py -z "$<TARGET_FILE:ZAPD>" --non-interactive --xml-root assets/xml --custom-otr-file soh.o2r "--custom-assets-path" ${CMAKE_CURRENT_SOURCE_DIR}/soh/assets/custom --port-ver "${CMAKE_PROJECT_VERSION}"
|
||||
COMMAND ${CMAKE_COMMAND} -DSYSTEM_NAME=${CMAKE_SYSTEM_NAME} -DTARGET_DIR="$<TARGET_FILE_DIR:ZAPD>" -DSOURCE_DIR=${CMAKE_CURRENT_SOURCE_DIR} -DBINARY_DIR=${CMAKE_BINARY_DIR} -P ${CMAKE_CURRENT_SOURCE_DIR}/copy-existing-otrs.cmake
|
||||
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/OTRExporter
|
||||
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/soh
|
||||
COMMENT "Running asset extraction..."
|
||||
DEPENDS ZAPD
|
||||
BYPRODUCTS oot.otr ${CMAKE_SOURCE_DIR}/oot.otr oot-mq.otr ${CMAKE_SOURCE_DIR}/oot-mq.otr ${CMAKE_SOURCE_DIR}/soh.otr
|
||||
BYPRODUCTS oot.o2r ${CMAKE_SOURCE_DIR}/oot.o2r oot-mq.o2r ${CMAKE_SOURCE_DIR}/oot-mq.o2r ${CMAKE_SOURCE_DIR}/soh.o2r
|
||||
)
|
||||
|
||||
# Target to generate headers
|
||||
add_custom_target(
|
||||
ExtractAssetHeaders
|
||||
COMMAND ${Python3_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/OTRExporter/extract_assets.py -z "$<TARGET_FILE:ZAPD>" --non-interactive --xml-root ../soh/assets/xml --gen-headers
|
||||
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/OTRExporter
|
||||
COMMAND ${Python3_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/OTRExporter/extract_assets.py -z "$<TARGET_FILE:ZAPD>" --non-interactive --xml-root assets/xml --gen-headers
|
||||
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/soh
|
||||
COMMENT "Generating asset headers..."
|
||||
DEPENDS ZAPD
|
||||
)
|
||||
|
||||
# Target to generate only soh.otr
|
||||
# Target to generate only soh.o2r
|
||||
add_custom_target(
|
||||
GenerateSohOtr
|
||||
COMMAND ${CMAKE_COMMAND} -E rm -f soh.otr
|
||||
COMMAND ${CMAKE_COMMAND} -E rm -f soh.o2r
|
||||
|
||||
# copy LUS default shaders into assets/custom
|
||||
COMMAND ${CMAKE_COMMAND} -E rm -r -f ${CMAKE_CURRENT_SOURCE_DIR}/soh/assets/custom/shaders/
|
||||
COMMAND ${CMAKE_COMMAND} -E copy_directory ${CMAKE_CURRENT_SOURCE_DIR}/libultraship/src/graphic/Fast3D/shaders/ ${CMAKE_CURRENT_SOURCE_DIR}/soh/assets/custom/shaders/
|
||||
COMMAND ${CMAKE_COMMAND} -E copy_directory ${CMAKE_CURRENT_SOURCE_DIR}/libultraship/src/fast/shaders/ ${CMAKE_CURRENT_SOURCE_DIR}/soh/assets/custom/shaders/
|
||||
|
||||
COMMAND ${Python3_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/OTRExporter/extract_assets.py -z "$<TARGET_FILE:ZAPD>" --norom --custom-otr-file soh.otr "--custom-assets-path" ${CMAKE_CURRENT_SOURCE_DIR}/soh/assets/custom --port-ver "${CMAKE_PROJECT_VERSION}"
|
||||
COMMAND ${Python3_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/OTRExporter/extract_assets.py -z "$<TARGET_FILE:ZAPD>" --norom --custom-otr-file soh.o2r "--custom-assets-path" ${CMAKE_CURRENT_SOURCE_DIR}/soh/assets/custom --port-ver "${CMAKE_PROJECT_VERSION}"
|
||||
COMMAND ${CMAKE_COMMAND} -DSYSTEM_NAME=${CMAKE_SYSTEM_NAME} -DTARGET_DIR="$<TARGET_FILE_DIR:ZAPD>" -DSOURCE_DIR=${CMAKE_CURRENT_SOURCE_DIR} -DBINARY_DIR=${CMAKE_BINARY_DIR} -DONLYSOHOTR=On -P ${CMAKE_CURRENT_SOURCE_DIR}/copy-existing-otrs.cmake
|
||||
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/OTRExporter
|
||||
COMMENT "Generating soh.otr..."
|
||||
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/soh
|
||||
COMMENT "Generating soh.o2r..."
|
||||
DEPENDS ZAPD
|
||||
)
|
||||
|
||||
@@ -267,22 +266,12 @@ add_custom_target(CreateOSXIcons
|
||||
)
|
||||
add_dependencies(soh CreateOSXIcons)
|
||||
|
||||
install(TARGETS ZAPD DESTINATION ${CMAKE_BINARY_DIR}/assets/extractor)
|
||||
install(TARGETS ZAPD DESTINATION ${CMAKE_BINARY_DIR}/assets)
|
||||
|
||||
set(PROGRAM_PERMISSIONS_EXECUTE OWNER_EXECUTE OWNER_WRITE OWNER_READ GROUP_EXECUTE GROUP_READ WORLD_EXECUTE WORLD_READ)
|
||||
|
||||
install(DIRECTORY "${CMAKE_SOURCE_DIR}/soh/assets/extractor/" DESTINATION ./assets/extractor)
|
||||
install(DIRECTORY "${CMAKE_SOURCE_DIR}/soh/assets/xml/" DESTINATION ./assets/extractor/xmls)
|
||||
install(DIRECTORY "${CMAKE_SOURCE_DIR}/OTRExporter/CFG/filelists/" DESTINATION ./assets/extractor/filelists)
|
||||
install(FILES "${CMAKE_SOURCE_DIR}/OTRExporter/CFG/ActorList_OoTMqDbg.txt" DESTINATION ./assets/extractor/symbols)
|
||||
install(FILES "${CMAKE_SOURCE_DIR}/OTRExporter/CFG/ObjectList_OoTMqDbg.txt" DESTINATION ./assets/extractor/symbols)
|
||||
install(FILES "${CMAKE_SOURCE_DIR}/OTRExporter/CFG/SymbolMap_OoTMqDbg.txt" DESTINATION ./assets/extractor/symbols)
|
||||
|
||||
install(DIRECTORY ${CMAKE_BINARY_DIR}/assets
|
||||
DESTINATION .
|
||||
PATTERN ZAPD.out
|
||||
PERMISSIONS ${PROGRAM_PERMISSIONS_EXECUTE}
|
||||
)
|
||||
install(DIRECTORY "${CMAKE_SOURCE_DIR}/soh/assets/extractor/" DESTINATION ./assets/)
|
||||
install(DIRECTORY "${CMAKE_SOURCE_DIR}/soh/assets/xml/" DESTINATION ./assets/xml)
|
||||
|
||||
# Rename the installed soh binary to drop the macos suffix
|
||||
INSTALL(CODE "FILE(RENAME \${CMAKE_INSTALL_PREFIX}/../MacOS/soh-macos \${CMAKE_INSTALL_PREFIX}/../MacOS/soh)")
|
||||
|
||||
Submodule OTRExporter updated: 41052efcdf...32e088e28c
10
README.md
10
README.md
@@ -34,16 +34,16 @@ You can verify you have dumped a supported copy of the game by using the compati
|
||||
* You should see a notification saying `Processing OTR`, then, once the process is complete, you should get a notification saying `OTR Successfully Generated`, then the game should start.
|
||||
|
||||
#### Nintendo Switch
|
||||
* Run one of the PC releases to generate an `oot.otr` and/or `oot-mq.otr` file. After launching the game on PC, you will be able to find these files in the same directory as `soh.exe` or `soh.appimage`. On macOS, these files can be found in `/Users/<username>/Library/Application Support/com.shipofharkinian.soh/`
|
||||
* Run one of the PC releases to generate an `oot.o2r` and/or `oot-mq.o2r` file. After launching the game on PC, you will be able to find these files in the same directory as `soh.exe` or `soh.appimage`. On macOS, these files can be found in `/Users/<username>/Library/Application Support/com.shipofharkinian.soh/`
|
||||
* Copy the files to your sd card
|
||||
```
|
||||
sdcard
|
||||
└── switch
|
||||
└── soh
|
||||
├── oot-mq.otr
|
||||
├── oot.otr
|
||||
├── oot-mq.o2r
|
||||
├── oot.o2r
|
||||
├── soh.nro
|
||||
└── soh.otr
|
||||
└── soh.o2r
|
||||
```
|
||||
* Launch via Atmosphere's `Game+R` launcher method.
|
||||
|
||||
@@ -74,7 +74,7 @@ Congratulations, you are now sailing with the Ship of Harkinian! Have fun!
|
||||
# Project Overview
|
||||
Ship of Harkinian (SOH) is built atop a custom library dubbed libultraship (LUS). Back in the N64 days, there was an SDK distributed to developers named libultra; LUS is designed to mimic the functionality of libultra on modern hardware. In addition, we are dependant on the source code provided by the OOT decompilation project.
|
||||
|
||||
In order for the game to function, you will require a **legally acquired** ROM for Ocarina of Time. Click [here](https://ship.equipment/) to check the compatibility of your specific rom. Any copyrighted assets are extracted from the ROM and reformatted as a .otr archive file which the code uses.
|
||||
In order for the game to function, you will require a **legally acquired** ROM for Ocarina of Time. Click [here](https://ship.equipment/) to check the compatibility of your specific rom. Any copyrighted assets are extracted from the ROM and reformatted as a .o2r archive file which the code uses.
|
||||
|
||||
### Graphics Backends
|
||||
Currently, there are three rendering APIs supported: DirectX11 (Windows), OpenGL (all platforms), and Metal (MacOS). You can change which API to use in the `Settings` menu of the menubar, which requires a restart. If you're having an issue with crashing, you can change the API in the `shipofharkinian.json` file by finding the line `gfxbackend:""` and changing the value to `sdl` for OpenGL. DirectX 11 is the default on Windows.
|
||||
|
||||
2
ZAPDTR
2
ZAPDTR
Submodule ZAPDTR updated: 2aeababbfb...ee3397a365
@@ -1,37 +1,37 @@
|
||||
message(STATUS "Copying otr files...")
|
||||
|
||||
if(NOT ONLYSOHOTR AND EXISTS ${SOURCE_DIR}/OTRExporter/oot.otr)
|
||||
execute_process(COMMAND ${CMAKE_COMMAND} -E copy oot.otr ${SOURCE_DIR})
|
||||
execute_process(COMMAND ${CMAKE_COMMAND} -E copy oot.otr ${BINARY_DIR}/soh/)
|
||||
message(STATUS "Copied oot.otr")
|
||||
if(NOT ONLYSOHOTR AND EXISTS ${SOURCE_DIR}/soh/oot.o2r)
|
||||
execute_process(COMMAND ${CMAKE_COMMAND} -E copy oot.o2r ${SOURCE_DIR})
|
||||
execute_process(COMMAND ${CMAKE_COMMAND} -E copy oot.o2r ${BINARY_DIR}/soh/)
|
||||
message(STATUS "Copied oot.o2r")
|
||||
endif()
|
||||
if(NOT ONLYSOHOTR AND EXISTS ${SOURCE_DIR}/OTRExporter/oot-mq.otr)
|
||||
execute_process(COMMAND ${CMAKE_COMMAND} -E copy oot-mq.otr ${SOURCE_DIR})
|
||||
execute_process(COMMAND ${CMAKE_COMMAND} -E copy oot-mq.otr ${BINARY_DIR}/soh/)
|
||||
message(STATUS "Copied oot-mq.otr")
|
||||
if(NOT ONLYSOHOTR AND EXISTS ${SOURCE_DIR}/soh/oot-mq.o2r)
|
||||
execute_process(COMMAND ${CMAKE_COMMAND} -E copy oot-mq.o2r ${SOURCE_DIR})
|
||||
execute_process(COMMAND ${CMAKE_COMMAND} -E copy oot-mq.o2r ${BINARY_DIR}/soh/)
|
||||
message(STATUS "Copied oot-mq.o2r")
|
||||
endif()
|
||||
if(EXISTS ${SOURCE_DIR}/OTRExporter/soh.otr)
|
||||
execute_process(COMMAND ${CMAKE_COMMAND} -E copy soh.otr ${SOURCE_DIR})
|
||||
execute_process(COMMAND ${CMAKE_COMMAND} -E copy soh.otr ${BINARY_DIR}/soh/)
|
||||
message(STATUS "Copied soh.otr")
|
||||
if(EXISTS ${SOURCE_DIR}/soh/soh.o2r)
|
||||
execute_process(COMMAND ${CMAKE_COMMAND} -E copy soh.o2r ${SOURCE_DIR})
|
||||
execute_process(COMMAND ${CMAKE_COMMAND} -E copy soh.o2r ${BINARY_DIR}/soh/)
|
||||
message(STATUS "Copied soh.o2r")
|
||||
endif()
|
||||
|
||||
# Additionally for Windows, copy the otrs to the target dir, side by side with soh.exe
|
||||
if(SYSTEM_NAME MATCHES "Windows")
|
||||
if(NOT ONLYSOHOTR AND EXISTS ${SOURCE_DIR}/OTRExporter/oot.otr)
|
||||
execute_process(COMMAND ${CMAKE_COMMAND} -E copy oot.otr ${TARGET_DIR})
|
||||
if(NOT ONLYSOHOTR AND EXISTS ${SOURCE_DIR}/soh/oot.o2r)
|
||||
execute_process(COMMAND ${CMAKE_COMMAND} -E copy oot.o2r ${TARGET_DIR})
|
||||
endif()
|
||||
if(NOT ONLYSOHOTR AND EXISTS ${SOURCE_DIR}/OTRExporter/oot-mq.otr)
|
||||
execute_process(COMMAND ${CMAKE_COMMAND} -E copy oot-mq.otr ${TARGET_DIR})
|
||||
if(NOT ONLYSOHOTR AND EXISTS ${SOURCE_DIR}/soh/oot-mq.o2r)
|
||||
execute_process(COMMAND ${CMAKE_COMMAND} -E copy oot-mq.o2r ${TARGET_DIR})
|
||||
endif()
|
||||
if(EXISTS ${SOURCE_DIR}/OTRExporter/soh.otr)
|
||||
execute_process(COMMAND ${CMAKE_COMMAND} -E copy soh.otr ${TARGET_DIR})
|
||||
if(EXISTS ${SOURCE_DIR}/soh/soh.o2r)
|
||||
execute_process(COMMAND ${CMAKE_COMMAND} -E copy soh.o2r ${TARGET_DIR})
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if(NOT ONLYSOHOTR AND (NOT EXISTS ${SOURCE_DIR}/oot.otr AND NOT EXISTS ${SOURCE_DIR}/oot-mq.otr))
|
||||
if(NOT ONLYSOHOTR AND (NOT EXISTS ${SOURCE_DIR}/oot.o2r AND NOT EXISTS ${SOURCE_DIR}/oot-mq.o2r))
|
||||
message(FATAL_ERROR "Failed to copy. No OTR files found.")
|
||||
endif()
|
||||
if(NOT EXISTS ${SOURCE_DIR}/soh.otr)
|
||||
if(NOT EXISTS ${SOURCE_DIR}/soh.o2r)
|
||||
message(FATAL_ERROR "Failed to copy. No soh OTR found.")
|
||||
endif()
|
||||
|
||||
@@ -22,7 +22,7 @@ It is recommended that you install Python and Git standalone, the install proces
|
||||
|
||||
_Note: Be sure to either clone with the ``--recursive`` flag or do ``git submodule update --init`` after cloning to pull in the libultraship submodule!_
|
||||
|
||||
2. After setup and initial build, use the built-in OTR extraction to make your oot.otr/oot-mq.otr files.
|
||||
2. After setup and initial build, use the built-in OTR extraction to make your oot.o2r/oot-mq.o2r files.
|
||||
|
||||
_Note: Instructions assume using powershell_
|
||||
```powershell
|
||||
@@ -34,7 +34,7 @@ cd Shipwright
|
||||
# Add `-DSUPPRESS_WARNINGS=0` to prevent suppression of warnings from LUS and decomp (src) files. set to 1 to re-enable suppression
|
||||
& 'C:\Program Files\CMake\bin\cmake' -S . -B "build/x64" -G "Visual Studio 17 2022" -T v143 -A x64
|
||||
|
||||
# Generate soh.otr
|
||||
# Generate soh.o2r
|
||||
& 'C:\Program Files\CMake\bin\cmake.exe' --build .\build\x64 --target GenerateSohOtr
|
||||
|
||||
# Compile project
|
||||
@@ -90,36 +90,94 @@ C:\Program Files\CMake\bin\cmake.exe --build build-cmake --target ExtractAssetHe
|
||||
#### Debian/Ubuntu
|
||||
```sh
|
||||
# using gcc
|
||||
apt-get install gcc g++ git cmake ninja-build lsb-release libsdl2-dev libpng-dev libsdl2-net-dev libzip-dev zipcmp zipmerge ziptool nlohmann-json3-dev libtinyxml2-dev libspdlog-dev libboost-dev libopengl-dev
|
||||
apt-get install gcc g++ git cmake ninja-build lsb-release libsdl2-dev libpng-dev libsdl2-net-dev libzip-dev zipcmp zipmerge ziptool nlohmann-json3-dev libtinyxml2-dev libspdlog-dev libopengl-dev libopusfile-dev libvorbis-dev
|
||||
|
||||
# or using clang
|
||||
apt-get install clang git cmake ninja-build lsb-release libsdl2-dev libpng-dev libsdl2-net-dev libzip-dev zipcmp zipmerge ziptool nlohmann-json3-dev libtinyxml2-dev libspdlog-dev libboost-dev libopengl-dev
|
||||
apt-get install clang git cmake ninja-build lsb-release libsdl2-dev libpng-dev libsdl2-net-dev libzip-dev zipcmp zipmerge ziptool nlohmann-json3-dev libtinyxml2-dev libspdlog-dev libopengl-dev libopusfile-dev libvorbis-dev
|
||||
```
|
||||
#### Arch
|
||||
```sh
|
||||
# using gcc
|
||||
pacman -S gcc git cmake ninja lsb-release sdl2 libpng libzip nlohmann-json tinyxml2 spdlog sdl2_net boost
|
||||
pacman -S gcc git cmake ninja lsb-release sdl2 libpng libzip nlohmann-json tinyxml2 spdlog sdl2_net opusfile libvorbis
|
||||
|
||||
# or using clang
|
||||
pacman -S clang git cmake ninja lsb-release sdl2 libpng libzip nlohmann-json tinyxml2 spdlog sdl2_net boost
|
||||
pacman -S clang git cmake ninja lsb-release sdl2 libpng libzip nlohmann-json tinyxml2 spdlog sdl2_net opusfile libvorbis
|
||||
```
|
||||
#### Fedora
|
||||
```sh
|
||||
# using gcc
|
||||
dnf install gcc gcc-c++ git cmake ninja-build lsb_release SDL2-devel libpng-devel libzip-devel libzip-tools nlohmann-json-devel tinyxml2-devel spdlog-devel boost-devel
|
||||
dnf install gcc gcc-c++ git cmake ninja-build lsb_release SDL2-devel libpng-devel libzip-devel libzip-tools nlohmann-json-devel tinyxml2-devel spdlog-devel opusfile-devel libvorbis-devel
|
||||
|
||||
# or using clang
|
||||
dnf install clang git cmake ninja-build lsb_release SDL2-devel libpng-devel libzip-devel libzip-tools nlohmann-json-devel tinyxml2-devel spdlog-devel boost-devel
|
||||
dnf install clang git cmake ninja-build lsb_release SDL2-devel libpng-devel libzip-devel libzip-tools nlohmann-json-devel tinyxml2-devel spdlog-devel opusfile-devel libvorbis-devel
|
||||
```
|
||||
#### openSUSE
|
||||
```sh
|
||||
# using gcc
|
||||
zypper in gcc gcc-c++ git cmake ninja SDL2-devel libpng16-devel libzip-devel libzip-tools nlohmann_json-devel tinyxml2-devel spdlog-devel
|
||||
#### Nix
|
||||
You can use a `flake.nix` file to instantly setup a development environment using [Nix](https://nixos.org/). Write this `flake.nix` file in the root directory:
|
||||
|
||||
# or using clang
|
||||
zypper in clang libstdc++-devel git cmake ninja SDL2-devel libpng16-devel libzip-devel libzip-tools nlohmann_json-devel tinyxml2-devel spdlog-devel
|
||||
```nix
|
||||
{
|
||||
description = "Shipwright development environment";
|
||||
|
||||
inputs = {
|
||||
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
|
||||
flake-utils.url = "github:numtide/flake-utils";
|
||||
};
|
||||
|
||||
outputs = { self, nixpkgs, flake-utils }:
|
||||
flake-utils.lib.eachDefaultSystem (system:
|
||||
let
|
||||
pkgs = nixpkgs.legacyPackages.${system};
|
||||
in
|
||||
{
|
||||
devShells.default = pkgs.mkShell {
|
||||
buildInputs = with pkgs; [
|
||||
# Build tools
|
||||
clang
|
||||
git
|
||||
cmake
|
||||
ninja
|
||||
lsb-release
|
||||
pkg-config
|
||||
|
||||
# SDL2 libraries
|
||||
SDL2
|
||||
SDL2.dev
|
||||
SDL2_net
|
||||
|
||||
# Other libraries
|
||||
libpng
|
||||
libzip
|
||||
nlohmann_json
|
||||
tinyxml-2
|
||||
spdlog
|
||||
libGL
|
||||
libGL.dev
|
||||
bzip2
|
||||
|
||||
# X11 libraries
|
||||
xorg.libX11
|
||||
|
||||
# Audio libraries
|
||||
libogg
|
||||
libogg.dev
|
||||
libvorbis
|
||||
libvorbis.dev
|
||||
libopus
|
||||
libopus.dev
|
||||
opusfile
|
||||
opusfile.dev
|
||||
];
|
||||
shellHook = ''
|
||||
echo "Shipwright development environment loaded"
|
||||
echo "Available tools: clang, git, cmake, ninja"
|
||||
'';
|
||||
};
|
||||
});
|
||||
}
|
||||
```
|
||||
|
||||
Now type `nix develop` and you will be dropped into a shell with all dependencies, ensuring that all build commands work.
|
||||
|
||||
### Build
|
||||
|
||||
_Note: If you're using Visual Studio Code, the [CMake Tools plugin](https://marketplace.visualstudio.com/items?itemName=ms-vscode.cmake-tools) makes it very easy to just press run and debug._
|
||||
@@ -138,7 +196,7 @@ git submodule update --init
|
||||
# Add `-DPython3_EXECUTABLE=$(which python3)` if you are using non-standard Python installations such as PyEnv
|
||||
cmake -H. -Bbuild-cmake -GNinja
|
||||
|
||||
# Generate soh.otr
|
||||
# Generate soh.o2r
|
||||
cmake --build build-cmake --target GenerateSohOtr
|
||||
|
||||
# Compile the project
|
||||
@@ -173,7 +231,7 @@ cmake --build build-cmake --target ExtractAssetHeaders
|
||||
```
|
||||
|
||||
## macOS
|
||||
Requires Xcode (or xcode-tools) && `sdl2, libpng, glew, ninja, cmake, tinyxml2, nlohmann-json, libzip` (can be installed via [homebrew](https://brew.sh/), macports, etc)
|
||||
Requires Xcode (or xcode-tools) && `sdl2, libpng, glew, ninja, cmake, tinyxml2, nlohmann-json, libzip, opusfile, libvorbis` (can be installed via [homebrew](https://brew.sh/), macports, etc)
|
||||
|
||||
**Important: For maximum performance make sure you have ninja build tools installed!**
|
||||
|
||||
@@ -188,14 +246,14 @@ cd ShipWright
|
||||
git submodule update --init
|
||||
|
||||
# Install development dependencies (assuming homebrew)
|
||||
brew install sdl2 libpng glew ninja cmake tinyxml2 nlohmann-json libzip
|
||||
brew install sdl2 libpng glew ninja cmake tinyxml2 nlohmann-json libzip opusfile libvorbis
|
||||
|
||||
# Generate Ninja project
|
||||
# Add `-DCMAKE_BUILD_TYPE:STRING=Release` if you're packaging
|
||||
# Add `-DSUPPRESS_WARNINGS=0` to prevent suppression of warnings from LUS and decomp (src) files. set to 1 to re-enable suppression
|
||||
cmake -H. -Bbuild-cmake -GNinja
|
||||
|
||||
# Generate soh.otr
|
||||
# Generate soh.o2r
|
||||
cmake --build build-cmake --target GenerateSohOtr
|
||||
|
||||
# Compile the project
|
||||
|
||||
@@ -19,6 +19,6 @@ Once you have prepared your sequences folder:
|
||||
(*NOTE:* SoH can handle 1024 custom sequence in total. This includes the original music. Keep that in mind!)
|
||||
1. Click the "Finalize OTR" text in the green footer.
|
||||
1. Click "Generate OTR" and, using the file selection screen, save the file to the `mods` folder of your SoH installation.
|
||||
- This `mods` folder should be in the same folder as your `oot.otr` file.
|
||||
- This `mods` folder should be in the same folder as your `oot.o2r` file.
|
||||
|
||||
Assuming you have done everything correctly, boot up SoH and select the SFX Editor from the enhancements dropdown menu. You should now be able to swap out any of the in game sequences/fanfares for the sequences added in your newly generated OTR file. If you have any trouble with this process, please reach out in the support section of the Discord.
|
||||
|
||||
@@ -1,38 +1,38 @@
|
||||
# SDL GameControllerDB
|
||||
|
||||
The Ship of Harkinian utilizes a text file with SDL controller mappings for extended controller hardware support.
|
||||
This file is pulled from https://github.com/gabomdq/SDL_GameControllerDB during the build process as [a part of CMakeLists.txt](https://github.com/HarbourMasters/Shipwright/blob/bb643661f62865dfc757c185d0daaebb32f2d53d/soh/CMakeLists.txt#L760).
|
||||
This file is pulled from https://github.com/mdqinc/SDL_GameControllerDB during the build process as [a part of CMakeLists.txt](https://github.com/HarbourMasters/Shipwright/blob/bb643661f62865dfc757c185d0daaebb32f2d53d/soh/CMakeLists.txt#L760).
|
||||
|
||||
## Released versions
|
||||
|
||||
| Release | sha | diff |
|
||||
| - | - | - |
|
||||
| Zhora Alfa 4.0.0 | [967daa8](https://github.com/gabomdq/SDL_GameControllerDB/tree/967daa8f89c48b01ed0f9c6a86ac849930442fc6) | |
|
||||
| Zhora Bravo 4.0.1 | [ccac7cd](https://github.com/gabomdq/SDL_GameControllerDB/tree/ccac7cd97f445955d4437e21c5f82123d9b4349b) | [+1](https://github.com/gabomdq/SDL_GameControllerDB/compare/967daa8...ccac7cd) |
|
||||
| Zhora Charlie 4.0.2 | [ff26eb0](https://github.com/gabomdq/SDL_GameControllerDB/tree/ff26eb04d0fe18356985d968119429d6012e7d75) | [+8/-3](https://github.com/gabomdq/SDL_GameControllerDB/compare/ccac7cd...ff26eb0) |
|
||||
| Zhora Delta 4.0.3 | [ad02da5](https://github.com/gabomdq/SDL_GameControllerDB/tree/ad02da5a95ca8005f2c1facc11a5a52f8522f0ee) | [+4/-5](https://github.com/gabomdq/SDL_GameControllerDB/compare/ff26eb0...ad02da5) |
|
||||
| Zohra Echo 4.0.4 | [c203690](https://github.com/gabomdq/SDL_GameControllerDB/tree/c203690b1e13980699802918d362cd9dadf89bd0) | [+8/-4](https://github.com/gabomdq/SDL_GameControllerDB/compare/ad02da5...c203690) |
|
||||
| Zhora Foxtrot 4.0.5 | [9db8101](https://github.com/gabomdq/SDL_GameControllerDB/tree/9db8101a5780d1b0721bf6de385e6ffe0d07dfc7) | [+6](https://github.com/gabomdq/SDL_GameControllerDB/compare/c203690...9db8101) |
|
||||
| Flynn Alfa 5.0.0 | [163cc5d](https://github.com/gabomdq/SDL_GameControllerDB/tree/163cc5d45e9fc2f1bb2b95ea7eee4bbc9a57955c) | [+29/-8](https://github.com/gabomdq/SDL_GameControllerDB/compare/9db8101...163cc5d) |
|
||||
| Flynn Bravo 5.0.1 | [7efce7d](https://github.com/gabomdq/SDL_GameControllerDB/tree/7efce7d3f309ec1fa409b1af09153f9eb77fbedf) | [-1](https://github.com/gabomdq/SDL_GameControllerDB/compare/163cc5d...7efce7d) |
|
||||
| Flynn Charlie 5.0.2 | [e607703](https://github.com/gabomdq/SDL_GameControllerDB/tree/e607703392145343e8aca42be052121c0b7bd1c9) | [+40/-17](https://github.com/gabomdq/SDL_GameControllerDB/compare/7efce7d...e607703) |
|
||||
| Bradley Alfa 5.1.0 | [2ba9676](https://github.com/gabomdq/SDL_GameControllerDB/tree/2ba96761af795c15e916cc97790b51e09dc0cd54) | [+1/-1](https://github.com/gabomdq/SDL_GameControllerDB/compare/e607703...2ba9676) |
|
||||
| Bradley Charlie 5.1.2 | [4f5d1d4](https://github.com/gabomdq/SDL_GameControllerDB/tree/4f5d1d497985b75f4a83a5de46f596dc4d7f002e) | [+5/-1](https://github.com/gabomdq/SDL_GameControllerDB/compare/2ba9676...4f5d1d4) |
|
||||
| Bradley Delta 5.1.3 | [9b73049](https://github.com/gabomdq/SDL_GameControllerDB/tree/9b73049ee62a2cc862d6ad94c2c777f2e8363a48) | [+4/-1](https://github.com/gabomdq/SDL_GameControllerDB/compare/4f5d1d4...9b73049) |
|
||||
| Bradley Echo 5.1.4 | [6d3801f](https://github.com/gabomdq/SDL_GameControllerDB/tree/6d3801fcfe74b1989de96403b7b560eba72a175c) | [+56/-21](https://github.com/gabomdq/SDL_GameControllerDB/compare/9b73049...6d3801f) |
|
||||
| Gibbs Alfa 6.0.0 | [0562b00](https://github.com/gabomdq/SDL_GameControllerDB/tree/0562b00eaf5c0308c49d329b79263d2dae1c3a85) | [+8/-2](https://github.com/gabomdq/SDL_GameControllerDB/compare/6d3801f...0562b00) |
|
||||
| Khan Alfa 6.1.0 | [436c7e3](https://github.com/gabomdq/SDL_GameControllerDB/tree/436c7e3d54a57189ea0ab44d05f36b7cc7ea496c) | [+31/-16](https://github.com/gabomdq/SDL_GameControllerDB/compare/0562b00...436c7e3) |
|
||||
| Khan Bravo 6.1.1 | [01cca2e](https://github.com/gabomdq/SDL_GameControllerDB/tree/01cca2e77f9bf9f1432be04f876f287eb78297fe) | [+23/-6](https://github.com/gabomdq/SDL_GameControllerDB/compare/436c7e3...01cca2e) |
|
||||
| Khan Charlie 6.1.2 | [6852946](https://github.com/gabomdq/SDL_GameControllerDB/tree/6852946487534c69b7d228fd4eb8c87cf6966475) | [+25/-15](https://github.com/gabomdq/SDL_GameControllerDB/compare/01cca2e...6852946) |
|
||||
| Spock Alfa 7.0.0 | [38bda81](https://github.com/gabomdq/SDL_GameControllerDB/tree/38bda816dc786f18493876f7bc30bc12dfd2636a) | [+15/-1](https://github.com/gabomdq/SDL_GameControllerDB/compare/6852946...38bda81) |
|
||||
| Spock Bravo 7.0.1 | [228d980](https://github.com/gabomdq/SDL_GameControllerDB/tree/228d980d3d791e9df3b096472f6b97459f8709fe) | [+7/-3](https://github.com/gabomdq/SDL_GameControllerDB/compare/38bda81...228d980) |
|
||||
| Spock Charlie 7.0.2 | [c5b4df0](https://github.com/gabomdq/SDL_GameControllerDB/tree/c5b4df0e1061175cb11e3ebbf8045178339864a5) | [+3](https://github.com/gabomdq/SDL_GameControllerDB/compare/228d980...c5b4df0) |
|
||||
| Sulu Alfa 7.1.0 | [a2cf171](https://github.com/gabomdq/SDL_GameControllerDB/tree/a2cf1711b4ebc646a3814705d2fb6aac5707bcae) | [+4/-1](https://github.com/gabomdq/SDL_GameControllerDB/compare/c5b4df0...a2cf171) |
|
||||
| Sulu Bravo 7.1.1 | [cc9f777](https://github.com/gabomdq/SDL_GameControllerDB/tree/cc9f777721f0cb30058d9eef52a295130b734a4a) | [+29/-9](https://github.com/gabomdq/SDL_GameControllerDB/compare/a2cf171...cc9f777) |
|
||||
| MacReady Alfa 8.0.0 | [c56329f](https://github.com/gabomdq/SDL_GameControllerDB/tree/c56329f4df93fc7a780bdbeae47a9c91447b629c) | [+67/-23](https://github.com/gabomdq/SDL_GameControllerDB/compare/cc9f777...c56329f) |
|
||||
| MacReady Bravo 8.0.1 | [721b575](https://github.com/gabomdq/SDL_GameControllerDB/tree/721b575d3053b21d6d30419bf74afb5b1d0fa7a4) | [+5/-5](https://github.com/gabomdq/SDL_GameControllerDB/compare/c56329f...721b575) |
|
||||
| MacReady Charlie 8.0.2 | [721b575](https://github.com/gabomdq/SDL_GameControllerDB/tree/721b575d3053b21d6d30419bf74afb5b1d0fa7a4) | [+0/-0](https://github.com/gabomdq/SDL_GameControllerDB/compare/721b575...721b575) |
|
||||
| MacReady Delta 8.0.3 | [d4ab609](https://github.com/gabomdq/SDL_GameControllerDB/tree/d4ab609121ee6e687bc3d3a7e80244b3b26d1164) | [+5/-3](https://github.com/gabomdq/SDL_GameControllerDB/compare/721b575...d4ab609) |
|
||||
| MacReady Echo 8.0.4 | [6555d47](https://github.com/gabomdq/SDL_GameControllerDB/tree/6555d47ecb5d9eebac0e3d8cd19a545e9d946c40) | [+2/-0](https://github.com/gabomdq/SDL_GameControllerDB/compare/d4ab609...6555d47) |
|
||||
| MacReady Foxtrot 8.0.5 | [037d6a1](https://github.com/gabomdq/SDL_GameControllerDB/tree/037d6a1533ed94fbc6a8c71e6f1f9aff1e46208a) | [+47/-14](https://github.com/gabomdq/SDL_GameControllerDB/compare/6555d47...037d6a1) |
|
||||
| MacReady Golf 8.0.6 | [075c154](https://github.com/gabomdq/SDL_GameControllerDB/tree/075c1549075ef89a397fd7e0663d21e53a2485fd) | [+340/-301](https://github.com/gabomdq/SDL_GameControllerDB/compare/037d6a1...075c154) |
|
||||
| Zhora Alfa 4.0.0 | [967daa8](https://github.com/mdqinc/SDL_GameControllerDB/tree/967daa8f89c48b01ed0f9c6a86ac849930442fc6) | |
|
||||
| Zhora Bravo 4.0.1 | [ccac7cd](https://github.com/mdqinc/SDL_GameControllerDB/tree/ccac7cd97f445955d4437e21c5f82123d9b4349b) | [+1](https://github.com/mdqinc/SDL_GameControllerDB/compare/967daa8...ccac7cd) |
|
||||
| Zhora Charlie 4.0.2 | [ff26eb0](https://github.com/mdqinc/SDL_GameControllerDB/tree/ff26eb04d0fe18356985d968119429d6012e7d75) | [+8/-3](https://github.com/mdqinc/SDL_GameControllerDB/compare/ccac7cd...ff26eb0) |
|
||||
| Zhora Delta 4.0.3 | [ad02da5](https://github.com/mdqinc/SDL_GameControllerDB/tree/ad02da5a95ca8005f2c1facc11a5a52f8522f0ee) | [+4/-5](https://github.com/mdqinc/SDL_GameControllerDB/compare/ff26eb0...ad02da5) |
|
||||
| Zohra Echo 4.0.4 | [c203690](https://github.com/mdqinc/SDL_GameControllerDB/tree/c203690b1e13980699802918d362cd9dadf89bd0) | [+8/-4](https://github.com/mdqinc/SDL_GameControllerDB/compare/ad02da5...c203690) |
|
||||
| Zhora Foxtrot 4.0.5 | [9db8101](https://github.com/mdqinc/SDL_GameControllerDB/tree/9db8101a5780d1b0721bf6de385e6ffe0d07dfc7) | [+6](https://github.com/mdqinc/SDL_GameControllerDB/compare/c203690...9db8101) |
|
||||
| Flynn Alfa 5.0.0 | [163cc5d](https://github.com/mdqinc/SDL_GameControllerDB/tree/163cc5d45e9fc2f1bb2b95ea7eee4bbc9a57955c) | [+29/-8](https://github.com/mdqinc/SDL_GameControllerDB/compare/9db8101...163cc5d) |
|
||||
| Flynn Bravo 5.0.1 | [7efce7d](https://github.com/mdqinc/SDL_GameControllerDB/tree/7efce7d3f309ec1fa409b1af09153f9eb77fbedf) | [-1](https://github.com/mdqinc/SDL_GameControllerDB/compare/163cc5d...7efce7d) |
|
||||
| Flynn Charlie 5.0.2 | [e607703](https://github.com/mdqinc/SDL_GameControllerDB/tree/e607703392145343e8aca42be052121c0b7bd1c9) | [+40/-17](https://github.com/mdqinc/SDL_GameControllerDB/compare/7efce7d...e607703) |
|
||||
| Bradley Alfa 5.1.0 | [2ba9676](https://github.com/mdqinc/SDL_GameControllerDB/tree/2ba96761af795c15e916cc97790b51e09dc0cd54) | [+1/-1](https://github.com/mdqinc/SDL_GameControllerDB/compare/e607703...2ba9676) |
|
||||
| Bradley Charlie 5.1.2 | [4f5d1d4](https://github.com/mdqinc/SDL_GameControllerDB/tree/4f5d1d497985b75f4a83a5de46f596dc4d7f002e) | [+5/-1](https://github.com/mdqinc/SDL_GameControllerDB/compare/2ba9676...4f5d1d4) |
|
||||
| Bradley Delta 5.1.3 | [9b73049](https://github.com/mdqinc/SDL_GameControllerDB/tree/9b73049ee62a2cc862d6ad94c2c777f2e8363a48) | [+4/-1](https://github.com/mdqinc/SDL_GameControllerDB/compare/4f5d1d4...9b73049) |
|
||||
| Bradley Echo 5.1.4 | [6d3801f](https://github.com/mdqinc/SDL_GameControllerDB/tree/6d3801fcfe74b1989de96403b7b560eba72a175c) | [+56/-21](https://github.com/mdqinc/SDL_GameControllerDB/compare/9b73049...6d3801f) |
|
||||
| Gibbs Alfa 6.0.0 | [0562b00](https://github.com/mdqinc/SDL_GameControllerDB/tree/0562b00eaf5c0308c49d329b79263d2dae1c3a85) | [+8/-2](https://github.com/mdqinc/SDL_GameControllerDB/compare/6d3801f...0562b00) |
|
||||
| Khan Alfa 6.1.0 | [436c7e3](https://github.com/mdqinc/SDL_GameControllerDB/tree/436c7e3d54a57189ea0ab44d05f36b7cc7ea496c) | [+31/-16](https://github.com/mdqinc/SDL_GameControllerDB/compare/0562b00...436c7e3) |
|
||||
| Khan Bravo 6.1.1 | [01cca2e](https://github.com/mdqinc/SDL_GameControllerDB/tree/01cca2e77f9bf9f1432be04f876f287eb78297fe) | [+23/-6](https://github.com/mdqinc/SDL_GameControllerDB/compare/436c7e3...01cca2e) |
|
||||
| Khan Charlie 6.1.2 | [6852946](https://github.com/mdqinc/SDL_GameControllerDB/tree/6852946487534c69b7d228fd4eb8c87cf6966475) | [+25/-15](https://github.com/mdqinc/SDL_GameControllerDB/compare/01cca2e...6852946) |
|
||||
| Spock Alfa 7.0.0 | [38bda81](https://github.com/mdqinc/SDL_GameControllerDB/tree/38bda816dc786f18493876f7bc30bc12dfd2636a) | [+15/-1](https://github.com/mdqinc/SDL_GameControllerDB/compare/6852946...38bda81) |
|
||||
| Spock Bravo 7.0.1 | [228d980](https://github.com/mdqinc/SDL_GameControllerDB/tree/228d980d3d791e9df3b096472f6b97459f8709fe) | [+7/-3](https://github.com/mdqinc/SDL_GameControllerDB/compare/38bda81...228d980) |
|
||||
| Spock Charlie 7.0.2 | [c5b4df0](https://github.com/mdqinc/SDL_GameControllerDB/tree/c5b4df0e1061175cb11e3ebbf8045178339864a5) | [+3](https://github.com/mdqinc/SDL_GameControllerDB/compare/228d980...c5b4df0) |
|
||||
| Sulu Alfa 7.1.0 | [a2cf171](https://github.com/mdqinc/SDL_GameControllerDB/tree/a2cf1711b4ebc646a3814705d2fb6aac5707bcae) | [+4/-1](https://github.com/mdqinc/SDL_GameControllerDB/compare/c5b4df0...a2cf171) |
|
||||
| Sulu Bravo 7.1.1 | [cc9f777](https://github.com/mdqinc/SDL_GameControllerDB/tree/cc9f777721f0cb30058d9eef52a295130b734a4a) | [+29/-9](https://github.com/mdqinc/SDL_GameControllerDB/compare/a2cf171...cc9f777) |
|
||||
| MacReady Alfa 8.0.0 | [c56329f](https://github.com/mdqinc/SDL_GameControllerDB/tree/c56329f4df93fc7a780bdbeae47a9c91447b629c) | [+67/-23](https://github.com/mdqinc/SDL_GameControllerDB/compare/cc9f777...c56329f) |
|
||||
| MacReady Bravo 8.0.1 | [721b575](https://github.com/mdqinc/SDL_GameControllerDB/tree/721b575d3053b21d6d30419bf74afb5b1d0fa7a4) | [+5/-5](https://github.com/mdqinc/SDL_GameControllerDB/compare/c56329f...721b575) |
|
||||
| MacReady Charlie 8.0.2 | [721b575](https://github.com/mdqinc/SDL_GameControllerDB/tree/721b575d3053b21d6d30419bf74afb5b1d0fa7a4) | [+0/-0](https://github.com/mdqinc/SDL_GameControllerDB/compare/721b575...721b575) |
|
||||
| MacReady Delta 8.0.3 | [d4ab609](https://github.com/mdqinc/SDL_GameControllerDB/tree/d4ab609121ee6e687bc3d3a7e80244b3b26d1164) | [+5/-3](https://github.com/mdqinc/SDL_GameControllerDB/compare/721b575...d4ab609) |
|
||||
| MacReady Echo 8.0.4 | [6555d47](https://github.com/mdqinc/SDL_GameControllerDB/tree/6555d47ecb5d9eebac0e3d8cd19a545e9d946c40) | [+2/-0](https://github.com/mdqinc/SDL_GameControllerDB/compare/d4ab609...6555d47) |
|
||||
| MacReady Foxtrot 8.0.5 | [037d6a1](https://github.com/mdqinc/SDL_GameControllerDB/tree/037d6a1533ed94fbc6a8c71e6f1f9aff1e46208a) | [+47/-14](https://github.com/mdqinc/SDL_GameControllerDB/compare/6555d47...037d6a1) |
|
||||
| MacReady Golf 8.0.6 | [075c154](https://github.com/mdqinc/SDL_GameControllerDB/tree/075c1549075ef89a397fd7e0663d21e53a2485fd) | [+340/-301](https://github.com/mdqinc/SDL_GameControllerDB/compare/037d6a1...075c154) |
|
||||
|
||||
@@ -41,15 +41,28 @@ You can name your branch whatever you want, but it's recommended to name it some
|
||||
|
||||
The limit is your imagination. You can add new features, fix bugs, add new mods, or even change the way the game works. We will demonstrate this by creating a mod that changes the speed of the day/night cycle.
|
||||
|
||||
Let's being by finding where the time is updated. Thankfully in the save editor we have a slider already hooked up to the time of day so we can check there for reference. The save editor file is at `soh/soh/Enhancements/debugger/debugSaveEditor.cpp`, if we do a quick search within that file for time we will find the following at line 400:
|
||||
Let's begin by finding where the time is updated. Thankfully in the save editor we have a slider already hooked up to the time of day so we can check there for reference. The save editor file is at `soh/soh/Enhancements/debugger/debugSaveEditor.cpp`, if we do a quick search within that file for time we will find the following at around line 217:
|
||||
|
||||
```cpp
|
||||
const uint16_t dayTimeMin = 0;
|
||||
const uint16_t dayTimeMax = 0xFFFF;
|
||||
ImGui::SliderScalar("Time", ImGuiDataType_U16, &gSaveContext.dayTime, &dayTimeMin, &dayTimeMax);
|
||||
SliderInt("Time", (int32_t*)&gSaveContext.dayTime, intSliderOptionsBase.Min(0).Max(0xFFFF).Tooltip("Time of day"));
|
||||
if (Button("Dawn", buttonOptionsBase)) {
|
||||
gSaveContext.dayTime = 0x4000;
|
||||
}
|
||||
ImGui::SameLine();
|
||||
if (Button("Noon", buttonOptionsBase)) {
|
||||
gSaveContext.dayTime = 0x8000;
|
||||
}
|
||||
ImGui::SameLine();
|
||||
if (Button("Sunset", buttonOptionsBase)) {
|
||||
gSaveContext.dayTime = 0xC001;
|
||||
}
|
||||
ImGui::SameLine();
|
||||
if (Button("Midnight", buttonOptionsBase)) {
|
||||
gSaveContext.dayTime = 0;
|
||||
}
|
||||
```
|
||||
|
||||
So this tells us that `gSaveContext.dayTime` is what we're looking for. Let's now do a global search for this to see if we can find where it is updated. We find the following in `soh/src/code/z_kankyo.c` line 925:
|
||||
So this tells us that `gSaveContext.dayTime` is what we're looking for. Let's now do a global search for this to see if we can find where it is updated. We find the following in `soh/src/code/z_kankyo.c` around line 925:
|
||||
|
||||
```cpp
|
||||
if (IS_DAY || gTimeIncrement >= 0x190) {
|
||||
@@ -71,16 +84,19 @@ if (IS_DAY || gTimeIncrement >= 0x190) {
|
||||
}
|
||||
```
|
||||
|
||||
Rebuild the game and launch it, then load a save file. You should see that the time of day is now moving much faster. Terrific! While we could wrap this up and call it a day, we could make this user configurable by making a few more changes. I think a slider would be good for this, there's a slider in the cheat menu that we can use as a reference. Let's find it in `soh/soh/SohMenuBar.cpp` around line 1120:
|
||||
Rebuild the game and launch it, then load a save file. You should see that the time of day is now moving much faster. Terrific! While we could wrap this up and call it a day, we could make this user configurable by making a few more changes. I think a slider would be good for this, there's a slider in the cheat menu that we can use as a reference. Let's find it in `soh/soh/SohGui/SohMenuEnhancements.cpp` around line 1565:
|
||||
|
||||
```cpp
|
||||
UIWidgets::EnhancementSliderFloat("Hookshot Reach Multiplier: %.1fx", "##gCheatHookshotReachMultiplier", "gCheatHookshotReachMultiplier", 1.0f, 5.0f, "", 1.0f, false);
|
||||
AddWidget(path, "Hookshot Reach Multiplier: %.2fx", WIDGET_CVAR_SLIDER_FLOAT)
|
||||
.CVar(CVAR_CHEAT("HookshotReachMultiplier"))
|
||||
.Options(FloatSliderOptions().Format("%.2f").Min(1.0f).Max(5.0f));
|
||||
```
|
||||
|
||||
The float values being passed in here are `minimum`, `maximum`, and `default` respectively. We'll make our minimum 0.2 to allow it to move slower, and our maximum 5.0 to allow it to move up to 5x faster. We'll also set the default to 1.0 so that it doesn't change the behavior by default. Copy this line and paste it below, then make the relevant changes:
|
||||
This adds a `Widget` which sets a CVar, which then sets the options of the slider. We'll make our minimum 0.2 to allow it to move slower, and our maximum 5.0 to allow it to move up to 5x faster. We'll also set the default to 1.0 so that it doesn't change the behavior by default. Copy this line and paste it below, then make the relevant changes:
|
||||
|
||||
```cpp
|
||||
UIWidgets::EnhancementSliderFloat("Time Multiplier: %.1fx", "##gCheatTimeMultiplier", "gCheatTimeMultiplier", 0.2f, 5.0f, "", 1.0f, false);
|
||||
AddWidget(path, "Time Multiplier: %.2fx", WIDGET_CVAR_SLIDER_FLOAT)
|
||||
.CVar(CVAR_CHEAT("TimeOfDayMultiplier"))
|
||||
.Options(FloatSliderOptions().Format("%.2f").Min(0.2f).Max(5.0f).DefaultValue(1.0f));
|
||||
```
|
||||
|
||||
Now we need to replace our hard coded values with the new variable. We can do this by replacing the `10` with a cvar call
|
||||
@@ -88,10 +104,10 @@ Now we need to replace our hard coded values with the new variable. We can do th
|
||||
```diff
|
||||
if (IS_DAY || gTimeIncrement >= 0x190) {
|
||||
- gSaveContext.dayTime += gTimeIncrement * 10;
|
||||
+ gSaveContext.dayTime += gTimeIncrement * CVarGetFloat("gCheatTimeMultiplier", 1.0f);
|
||||
+ gSaveContext.dayTime += gTimeIncrement * CVarGetFloat(CVAR_CHEAT("TimeOfDayMultiplier"),1.0f);
|
||||
} else {
|
||||
- gSaveContext.dayTime += gTimeIncrement * 2 * 10;
|
||||
+ gSaveContext.dayTime += gTimeIncrement * 2 * CVarGetFloat("gCheatTimeMultiplier", 1.0f);
|
||||
+ gSaveContext.dayTime += gTimeIncrement * 2 * CVarGetFloat(CVAR_CHEAT("TimeOfDayMultiplier"),1.0f);
|
||||
}
|
||||
```
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
## About Versions
|
||||
|
||||
The Ship of Harkinian's versioning system is a unique system, comprising of a three-numbered version (`x.y.z`) and a version codename. The main version number `x` signifies major feature updates that require a new `oot.otr` file. The version number `y` signifies major feature updates and bugfixes that do not require a new `oot.otr` file. The version number `z` signifies minor updates such as a collection of bugfixes.
|
||||
The Ship of Harkinian's versioning system is a unique system, comprising of a three-numbered version (`x.y.z`) and a version codename. The main version number `x` signifies major feature updates that require a new `oot.o2r` file. The version number `y` signifies major feature updates and bugfixes that do not require a new `oot.o2r` file. The version number `z` signifies minor updates such as a collection of bugfixes.
|
||||
|
||||
The version codename consists of a sci-fi film character followed by a phonetic alphabet code word. The film character represents a major release version which increments with the major `x` or `y` version bumps. The code word represents a minor release version which increments with the minor `z` version bump.
|
||||
|
||||
Submodule libultraship updated: ffc062cbf4...fdcaf63367
@@ -25,7 +25,7 @@ if (-not (Test-Path $clangFormatFilePath) -or ($currentVersion -ne $requiredVers
|
||||
}
|
||||
|
||||
$wc = New-Object net.webclient
|
||||
$wc.Downloadfile($url, $llvmInstallerPath)
|
||||
$wc.Downloadfile($url, $PSScriptRoot + $llvmInstallerPath)
|
||||
|
||||
$sevenZipPath = "C:\Program Files\7-Zip\7z.exe"
|
||||
$specificFileInArchive = "bin\clang-format.exe"
|
||||
@@ -37,12 +37,13 @@ if (-not (Test-Path $clangFormatFilePath) -or ($currentVersion -ne $requiredVers
|
||||
$basePath = (Resolve-Path .).Path
|
||||
$files = Get-ChildItem -Path $basePath\soh -Recurse -File `
|
||||
| Where-Object { ($_.Extension -eq '.c' -or $_.Extension -eq '.cpp' -or `
|
||||
($_.Extension -eq '.h' -and `
|
||||
(($_.Extension -eq '.h' -or $_.Extension -eq '.hpp') -and `
|
||||
(-not ($_.FullName -like "*\soh\src\*" -or $_.FullName -like "*\soh\include\*")))) -and `
|
||||
(-not ($_.FullName -like "*\soh\assets\*")) }
|
||||
(-not ($_.FullName -like "*\soh\assets\*" -or $_.FullName -like "*\soh\build\*")) }
|
||||
|
||||
foreach ($file in $files) {
|
||||
for ($i = 0; $i -lt $files.Length; $i++) {
|
||||
$file = $files[$i]
|
||||
$relativePath = $file.FullName.Substring($basePath.Length + 1)
|
||||
Write-Host "Formatting $relativePath"
|
||||
Write-Host "Formatting [$($i+1)/$($files.Length)] $relativePath"
|
||||
.\clang-format.exe -i $file.FullName
|
||||
}
|
||||
|
||||
@@ -10,20 +10,20 @@
|
||||
# -name "*.c" -o -name "*.cpp"
|
||||
# find all .c and .cpp files
|
||||
#
|
||||
# -name "*.h" ! -path "soh/src/**.h" ! -path "soh/include/**.h"
|
||||
# find all .h files that aren't in soh/src or soh/include
|
||||
# ( -name "*.h" -o -name "*.hpp" ) ! -path "soh/src/**.h" ! -path "soh/include/**.h"
|
||||
# find all .h and .hpp files that aren't in soh/src or soh/include
|
||||
# this is because zret decomp only runs clang-format on c files
|
||||
# https://github.com/zeldaret/mm/blob/b7e5468ca16315a7e322055eff3d97fe980bbc25/format.py#L182
|
||||
#
|
||||
# ! -path "soh/assets/*"
|
||||
# asset headers are autogenerated, don't fight them
|
||||
#
|
||||
# | sed 's| |\\ |g'
|
||||
# pipe the result of find into sed to
|
||||
# ensure all the paths returned by find have spaces escaped
|
||||
# -print0
|
||||
# separate paths with NUL bytes, avoiding issues with spaces in paths
|
||||
#
|
||||
# | xargs clang-format-14 -i
|
||||
# | xargs -0 clang-format-14 -i -verbose
|
||||
# use xargs to take each path we've found
|
||||
# and pass it as an argument to clang-format
|
||||
# verbose to print files being formatted and X out of Y status
|
||||
|
||||
find soh -type f \( -name "*.c" -o -name "*.cpp" -o \( -name "*.h" ! -path "soh/src/**.h" ! -path "soh/include/**.h" \) \) ! -path "soh/assets/*" | sed 's| |\\ |g' | xargs clang-format-14 -i
|
||||
find soh -type f \( -name "*.c" -o -name "*.cpp" -o \( \( -name "*.h" -o -name "*.hpp" \) ! -path "soh/src/*" ! -path "soh/include/*" \) \) ! -path "soh/assets/*" -print0 | xargs -0 clang-format-14 -i --verbose
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
[Desktop Entry]
|
||||
Version=1.0
|
||||
Name=SOH
|
||||
Exec=soh.sh
|
||||
Exec=soh.elf
|
||||
Terminal=false
|
||||
Icon=sohIcon
|
||||
Type=Application
|
||||
|
||||
@@ -1,338 +0,0 @@
|
||||
#!/bin/bash
|
||||
HERE="$(dirname "$(readlink -f "${0}")")"/../..
|
||||
|
||||
export PATH="$HERE"/bin:"$HERE"/usr/bin:"$PATH"
|
||||
export LD_LIBRARY_PATH="$HERE"/usr/lib:"$LD_LIBRARY_PATH"
|
||||
export ZENITY=$(command -v zenity)
|
||||
|
||||
if [ -z ${SHIP_HOME+x} ]; then
|
||||
export SHIP_HOME=$PWD
|
||||
fi
|
||||
|
||||
if [ -z ${SHIP_BIN_DIR+x} ]; then
|
||||
export SHIP_BIN_DIR="$HERE/usr/bin"
|
||||
fi
|
||||
|
||||
if [[ ! -e "$SHIP_HOME"/mods ]]; then
|
||||
mkdir -p "$SHIP_HOME"/mods
|
||||
touch "$SHIP_HOME"/mods/custom_otr_files_go_here.txt
|
||||
fi
|
||||
|
||||
while [[ (! -e "$SHIP_HOME"/oot.otr) || (! -e "$SHIP_HOME"/oot-mq.otr) ]]; do
|
||||
for romfile in "$SHIP_HOME"/*.*64
|
||||
do
|
||||
if [[ -e "$romfile" ]] || [[ -L "$romfile" ]]; then
|
||||
export ASSETDIR="$(mktemp -d /tmp/assets-XXXXX)"
|
||||
ln -s "$SHIP_BIN_DIR"/{assets,soh.elf,ZAPD} "$ASSETDIR"
|
||||
export OLDPWD="$PWD"
|
||||
mkdir -p "$ASSETDIR"/tmp
|
||||
if [[ -e "$romfile" ]]; then
|
||||
ln -s "$romfile" "$ASSETDIR"/tmp/rom.z64
|
||||
else
|
||||
ORIG_ROM_PATH=$(readlink "$romfile")
|
||||
ln -s "$ORIG_ROM_PATH" "$ASSETDIR"/tmp/rom.z64
|
||||
fi
|
||||
cd "$ASSETDIR"
|
||||
ROMHASH=$(sha1sum -b "$ASSETDIR"/tmp/rom.z64 | awk '{ print $1 }')
|
||||
|
||||
# Remap v64 and n64 hashes to their z64 hash equivalent
|
||||
# ZAPD will handle converting the data into z64 format
|
||||
case "$ROMHASH" in
|
||||
a9059b56e761c9034fbe02fe4c24985aaa835dac) # v64
|
||||
ROMHASH=cee6bc3c2a634b41728f2af8da54d9bf8cc14099
|
||||
;;
|
||||
24708102dc504d3f375a37f4ae4e149c167dc515) # n64
|
||||
ROMHASH=cee6bc3c2a634b41728f2af8da54d9bf8cc14099
|
||||
;;
|
||||
580dd0bd1b6d2c51cc20a764eece84dba558964c) # v64
|
||||
ROMHASH=0227d7c0074f2d0ac935631990da8ec5914597b4
|
||||
;;
|
||||
d6342c59007e57c1194661ec6880b2f078403f4e) # n64
|
||||
ROMHASH=0227d7c0074f2d0ac935631990da8ec5914597b4
|
||||
;;
|
||||
d0bdc2eb320668b4ba6893b9aefe4040a73123ff) # v64
|
||||
ROMHASH=328a1f1beba30ce5e178f031662019eb32c5f3b5
|
||||
;;
|
||||
4946ab250f6ac9b32d76b21f309ebb8ebc8103d2) # n64
|
||||
ROMHASH=328a1f1beba30ce5e178f031662019eb32c5f3b5
|
||||
;;
|
||||
663c34f1b2c05a09e5beffe4d0dcd440f7d49dc7) # v64
|
||||
ROMHASH=cfbb98d392e4a9d39da8285d10cbef3974c2f012
|
||||
;;
|
||||
24c73d378b0620a380ce5ef9f2b186c6c157a68b) # n64
|
||||
ROMHASH=cfbb98d392e4a9d39da8285d10cbef3974c2f012
|
||||
;;
|
||||
8ebf2e29313f44f2d49e5b4191971d09919e8e48) # v64
|
||||
ROMHASH=f46239439f59a2a594ef83cf68ef65043b1bffe2
|
||||
;;
|
||||
4264bf7b875737b8fae77d52322a5099d051fc11) # n64
|
||||
ROMHASH=f46239439f59a2a594ef83cf68ef65043b1bffe2
|
||||
;;
|
||||
973bc6fe56010a8d646166a1182a81b4f13b8cf9) # v64
|
||||
ROMHASH=50bebedad9e0f10746a52b07239e47fa6c284d03
|
||||
;;
|
||||
d327752c46edc70ff3668b9514083dbbee08927c) # v64
|
||||
ROMHASH=50bebedad9e0f10746a52b07239e47fa6c284d03
|
||||
;;
|
||||
ecdeb1747560834e079c22243febea7f6f26ba3b) # v64
|
||||
ROMHASH=079b855b943d6ad8bd1eb026c0ed169ecbdac7da
|
||||
;;
|
||||
f19f8662ec7abee29484a272a6fda53e39efe0f1) # n64
|
||||
ROMHASH=079b855b943d6ad8bd1eb026c0ed169ecbdac7da
|
||||
;;
|
||||
ab519ce04a33818ce2c39b3c514a751d807a494a) # v64
|
||||
ROMHASH=cfecfdc58d650e71a200c81f033de4e6d617a9f6
|
||||
;;
|
||||
c19a34f7646305e1755249fca2071e178bd7cd00) # n64
|
||||
ROMHASH=cfecfdc58d650e71a200c81f033de4e6d617a9f6
|
||||
;;
|
||||
25e8ae79ea0839ca5c984473f7460d8040c36f9c) # v64
|
||||
ROMHASH=517bd9714c73cb96c21e7c2ef640d7b55186102f
|
||||
;;
|
||||
166c02770d67fcc3954c443eb400a6a3573d3fc0) # n64
|
||||
ROMHASH=517bd9714c73cb96c21e7c2ef640d7b55186102f
|
||||
;;
|
||||
79a4f053d34018e59279e6d4b83c7daccd985c87) # v64
|
||||
ROMHASH=ad69c91157f6705e8ab06c79fe08aad47bb57ba7
|
||||
;;
|
||||
82fafee9c6ac7946739282958364ce606077ac65) # n64
|
||||
ROMHASH=ad69c91157f6705e8ab06c79fe08aad47bb57ba7
|
||||
;;
|
||||
18cd0eb65914a21d8fa08dfe71c29d865e9d728a) # v64
|
||||
ROMHASH=d3ecb253776cd847a5aa63d859d8c89a2f37b364
|
||||
;;
|
||||
07940d5609e04b7caac63570731e01189129212e) # n64
|
||||
ROMHASH=d3ecb253776cd847a5aa63d859d8c89a2f37b364
|
||||
;;
|
||||
3ac86253e0c0d55486d212e647350c1527b9c92d) # v64
|
||||
ROMHASH=41b3bdc48d98c48529219919015a1af22f5057c2
|
||||
;;
|
||||
70bf30a9980026e615a1ae8d2735a773cf9fcc94) # n64
|
||||
ROMHASH=41b3bdc48d98c48529219919015a1af22f5057c2
|
||||
;;
|
||||
f9e2b6840b9103e9707ea390089a7b6943592a98) # v64
|
||||
ROMHASH=c892bbda3993e66bd0d56a10ecd30b1ee612210f
|
||||
;;
|
||||
2fae1601aa7ae8d3e03ba3f4dcdfca3a36002ac5) # n64
|
||||
ROMHASH=c892bbda3993e66bd0d56a10ecd30b1ee612210f
|
||||
;;
|
||||
1181034d5f9533f53ebe8e1c781badbee115f5aa) # v64
|
||||
ROMHASH=dbfc81f655187dc6fefd93fa6798face770d579d
|
||||
;;
|
||||
07477067943abe8d0c50285eb4a6cb9ece99e79b) # n64
|
||||
ROMHASH=dbfc81f655187dc6fefd93fa6798face770d579d
|
||||
;;
|
||||
2d8fb7140a9c5d11ce614561e5a36ffef0c17540) # v64
|
||||
ROMHASH=fa5f5942b27480d60243c2d52c0e93e26b9e6b86
|
||||
;;
|
||||
d90bbe422ac728ac54ac6a2c9fec942f7ff04df9) # n64
|
||||
ROMHASH=fa5f5942b27480d60243c2d52c0e93e26b9e6b86
|
||||
;;
|
||||
44c75962911e13bdfdc31b35e0b8e3be6a6a49ab) # v64
|
||||
b82710ba2bd3b4c6ee8aa1a7e9acf787dfc72e9b
|
||||
;;
|
||||
5d47025581060af5ba19e6719c25fea7398e87cf) # n64
|
||||
b82710ba2bd3b4c6ee8aa1a7e9acf787dfc72e9b
|
||||
;;
|
||||
e1d070ad7b017de9f992b362164dcd9d7f820f7e) # v64
|
||||
8b5d13aac69bfbf989861cfdc50b1d840945fc1d
|
||||
;;
|
||||
a8c04cd5aa94a6a32198f36ff2069d43342d18a8) # n64
|
||||
8b5d13aac69bfbf989861cfdc50b1d840945fc1d
|
||||
;;
|
||||
245410280d152f28d5b1c0c0fc37f384db0020cd) # v64
|
||||
0769c84615422d60f16925cd859593cdfa597f84
|
||||
;;
|
||||
fbdc9e444807f9b881e3432cedf66f38746b81d8) # n64
|
||||
0769c84615422d60f16925cd859593cdfa597f84
|
||||
;;
|
||||
b6d33d6bf5d6700c64b6a873ab8b06ff039619bc) # v64
|
||||
2ce2d1a9f0534c9cd9fa04ea5317b80da21e5e73
|
||||
;;
|
||||
2c7113d20044f93c82ec888c19aa09ea7797396d) # n64
|
||||
2ce2d1a9f0534c9cd9fa04ea5317b80da21e5e73
|
||||
;;
|
||||
06c3c098f0e14ed61811dfaf0e8e4519d7d7a826) # v64
|
||||
dd14e143c4275861fe93ea79d0c02e36ae8c6c2f
|
||||
;;
|
||||
bb3f85bfaad9ae7a20afbf618fc9fe126c8c1b4f) # n64
|
||||
dd14e143c4275861fe93ea79d0c02e36ae8c6c2f
|
||||
;;
|
||||
esac
|
||||
|
||||
case "$ROMHASH" in
|
||||
cee6bc3c2a634b41728f2af8da54d9bf8cc14099)
|
||||
if [[ ! -e "$SHIP_HOME"/oot.otr ]]; then
|
||||
ROM=GC_NMQ_D
|
||||
OTRNAME="oot.otr"
|
||||
fi
|
||||
;;
|
||||
0227d7c0074f2d0ac935631990da8ec5914597b4)
|
||||
if [[ ! -e "$SHIP_HOME"/oot.otr ]]; then
|
||||
ROM=GC_NMQ_PAL_F
|
||||
OTRNAME="oot.otr"
|
||||
else
|
||||
continue
|
||||
fi
|
||||
;;
|
||||
328a1f1beba30ce5e178f031662019eb32c5f3b5)
|
||||
if [[ ! -e "$SHIP_HOME"/oot.otr ]]; then
|
||||
ROM=N64_PAL_10
|
||||
OTRNAME="oot.otr"
|
||||
else
|
||||
continue
|
||||
fi
|
||||
;;
|
||||
cfbb98d392e4a9d39da8285d10cbef3974c2f012)
|
||||
if [[ ! -e "$SHIP_HOME"/oot.otr ]]; then
|
||||
ROM=N64_PAL_11
|
||||
OTRNAME="oot.otr"
|
||||
else
|
||||
continue
|
||||
fi
|
||||
;;
|
||||
ad69c91157f6705e8ab06c79fe08aad47bb57ba7|c892bbda3993e66bd0d56a10ecd30b1ee612210f)
|
||||
if [[ ! -e "$SHIP_HOME"/oot.otr ]]; then
|
||||
ROM=N64_NTSC_10
|
||||
OTRNAME="oot.otr"
|
||||
else
|
||||
continue
|
||||
fi
|
||||
;;
|
||||
d3ecb253776cd847a5aa63d859d8c89a2f37b364|dbfc81f655187dc6fefd93fa6798face770d579d)
|
||||
if [[ ! -e "$SHIP_HOME"/oot.otr ]]; then
|
||||
ROM=N64_NTSC_11
|
||||
OTRNAME="oot.otr"
|
||||
else
|
||||
continue
|
||||
fi
|
||||
;;
|
||||
41b3bdc48d98c48529219919015a1af22f5057c2|fa5f5942b27480d60243c2d52c0e93e26b9e6b86)
|
||||
if [[ ! -e "$SHIP_HOME"/oot.otr ]]; then
|
||||
ROM=N64_NTSC_12
|
||||
OTRNAME="oot.otr"
|
||||
else
|
||||
continue
|
||||
fi
|
||||
;;
|
||||
f46239439f59a2a594ef83cf68ef65043b1bffe2)
|
||||
if [[ ! -e "$SHIP_HOME"/oot-mq.otr ]]; then
|
||||
ROM=GC_MQ_PAL_F
|
||||
OTRNAME="oot-mq.otr"
|
||||
else
|
||||
continue
|
||||
fi
|
||||
;;
|
||||
50bebedad9e0f10746a52b07239e47fa6c284d03)
|
||||
if [[ ! -e "$SHIP_HOME"/oot-mq.otr ]]; then
|
||||
ROM=GC_MQ_D
|
||||
OTRNAME="oot-mq.otr"
|
||||
else
|
||||
continue
|
||||
fi
|
||||
;;
|
||||
079b855b943d6ad8bd1eb026c0ed169ecbdac7da)
|
||||
if [[ ! -e "$SHIP_HOME"/oot-mq.otr ]]; then
|
||||
ROM=GC_MQ_D
|
||||
OTRNAME="oot-mq.otr"
|
||||
else
|
||||
continue
|
||||
fi
|
||||
;;
|
||||
cfecfdc58d650e71a200c81f033de4e6d617a9f6)
|
||||
if [[ ! -e "$SHIP_HOME"/oot-mq.otr ]]; then
|
||||
ROM=GC_MQ_D
|
||||
OTRNAME="oot-mq.otr"
|
||||
else
|
||||
continue
|
||||
fi
|
||||
;;
|
||||
517bd9714c73cb96c21e7c2ef640d7b55186102f)
|
||||
if [[ ! -e "$SHIP_HOME"/oot-mq.otr ]]; then
|
||||
ROM=GC_MQ_D
|
||||
OTRNAME="oot-mq.otr"
|
||||
else
|
||||
continue
|
||||
fi
|
||||
;;
|
||||
b82710ba2bd3b4c6ee8aa1a7e9acf787dfc72e9b)
|
||||
if [[ ! -e "$SHIP_HOME"/oot.otr ]]; then
|
||||
ROM=GC_NMQ_NTSC_U
|
||||
OTRNAME="oot.otr"
|
||||
else
|
||||
continue
|
||||
fi
|
||||
;;
|
||||
8b5d13aac69bfbf989861cfdc50b1d840945fc1d)
|
||||
if [[ ! -e "$SHIP_HOME"/oot-mq.otr ]]; then
|
||||
ROM=GC_MQ_NTSC_U
|
||||
OTRNAME="oot-mq.otr"
|
||||
else
|
||||
continue
|
||||
fi
|
||||
;;
|
||||
0769c84615422d60f16925cd859593cdfa597f84)
|
||||
if [[ ! -e "$SHIP_HOME"/oot.otr ]]; then
|
||||
ROM=GC_NMQ_NTSC_J
|
||||
OTRNAME="oot.otr"
|
||||
else
|
||||
continue
|
||||
fi
|
||||
;;
|
||||
2ce2d1a9f0534c9cd9fa04ea5317b80da21e5e73)
|
||||
if [[ ! -e "$SHIP_HOME"/oot.otr ]]; then
|
||||
ROM=GC_NMQ_NTSC_J_CE
|
||||
OTRNAME="oot.otr"
|
||||
else
|
||||
continue
|
||||
fi
|
||||
;;
|
||||
dd14e143c4275861fe93ea79d0c02e36ae8c6c2f)
|
||||
if [[ ! -e "$SHIP_HOME"/oot-mq.otr ]]; then
|
||||
ROM=GC_MQ_NTSC_J
|
||||
OTRNAME="oot-mq.otr"
|
||||
else
|
||||
continue
|
||||
fi
|
||||
;;
|
||||
*)
|
||||
echo -e "\n$romfile - $ROMHASH rom hash does not match\n"
|
||||
continue;;
|
||||
esac
|
||||
if [[ ! -e "$SHIP_HOME"/"$OTRNAME" ]]; then
|
||||
if [ -n "$ZENITY" ]; then
|
||||
(echo "# 25%"; echo "25"; sleep 2; echo "# 50%"; echo "50"; sleep 3; echo "# 75%"; echo "75"; sleep 2; echo "# 100%"; echo "100"; sleep 3) |
|
||||
zenity --progress --title="OTR Generating..." --timeout=10 --percentage=0 --icon-name=soh --window-icon=soh.png --height=80 --width=400 &
|
||||
else
|
||||
echo "Processing..."
|
||||
fi
|
||||
assets/extractor/ZAPD.out ed -eh -i assets/extractor/xmls/"${ROM}" -b tmp/rom.z64 -fl assets/extractor/filelists -o placeholder -osf placeholder -gsf 1 -rconf assets/extractor/Config_"${ROM}".xml -se OTR --otrfile "${OTRNAME}" --portVer "@CMAKE_PROJECT_VERSION@" > /dev/null 2>&1
|
||||
cp "$ASSETDIR"/"$OTRNAME" "$SHIP_HOME"
|
||||
fi
|
||||
else
|
||||
if [[ (! -e "$SHIP_HOME"/oot.otr) && (! -e "$SHIP_HOME"/oot-mq.otr) ]]; then
|
||||
if [ -n "$ZENITY" ]; then
|
||||
zenity --error --timeout=5 --text="Place ROM in $SHIP_HOME" --title="Missing ROM file" --width=500 --width=200
|
||||
else
|
||||
echo -e "\nPlace ROM in this folder\n"
|
||||
fi
|
||||
exit
|
||||
fi
|
||||
fi
|
||||
done
|
||||
if [[ (! -e "$SHIP_HOME"/oot.otr) && (! -e "$SHIP_HOME"/oot-mq.otr) ]]; then
|
||||
if [ -n "$ZENITY" ]; then
|
||||
zenity --error --timeout=10 --text="No valid ROMs were provided, No OTR was generated." --title="Incorrect ROM file" --width=500 --width=200
|
||||
else
|
||||
echo "No valid roms provided, no OTR was generated."
|
||||
fi
|
||||
rm -r "$ASSETDIR"
|
||||
exit
|
||||
else
|
||||
(cd "$SHIP_BIN_DIR"; ./soh.elf)
|
||||
exit
|
||||
fi
|
||||
rm -r "$ASSETDIR"
|
||||
done
|
||||
(cd "$SHIP_BIN_DIR"; ./soh.elf)
|
||||
exit
|
||||
@@ -4,7 +4,7 @@ set(CMAKE_SYSTEM_VERSION 10.0 CACHE STRING "" FORCE)
|
||||
|
||||
project(soh LANGUAGES C CXX)
|
||||
set(CMAKE_CXX_STANDARD 20 CACHE STRING "The C++ standard to use")
|
||||
set(CMAKE_C_STANDARD 17 CACHE STRING "The C standard to use")
|
||||
set(CMAKE_C_STANDARD 23 CACHE STRING "The C standard to use")
|
||||
|
||||
if (CMAKE_SYSTEM_NAME STREQUAL "Darwin")
|
||||
enable_language(OBJCXX)
|
||||
@@ -138,20 +138,27 @@ endforeach()
|
||||
if (CMAKE_CXX_COMPILER_ID STREQUAL "MSVC")
|
||||
set_source_files_properties(soh/OTRGlobals.cpp PROPERTIES COMPILE_FLAGS "/utf-8")
|
||||
set_source_files_properties(soh/Enhancements/tts/tts.cpp PROPERTIES COMPILE_FLAGS "/utf-8")
|
||||
set_source_files_properties(soh/Enhancements/custom-message/CustomMessageManager.cpp PROPERTIES COMPILE_FLAGS "/utf-8")
|
||||
set_source_files_properties(soh/Enhancements/custom-message/CustomMessageManager.h PROPERTIES COMPILE_FLAGS "/utf-8")
|
||||
endif()
|
||||
|
||||
# handle Network removals
|
||||
if (!BUILD_REMOTE_CONTROL)
|
||||
list(FILTER soh__ EXCLUDE REGEX "soh/Enhancements/crowd-control/*")
|
||||
list(FILTER soh__ EXCLUDE REGEX "soh/Enhancements/crowd-control/")
|
||||
endif()
|
||||
|
||||
# handle speechsynthesizer removals
|
||||
if (CMAKE_SYSTEM_NAME STREQUAL "Windows")
|
||||
list(FILTER soh__ EXCLUDE REGEX "soh/Enhancements/speechsynthesizer/Darwin*")
|
||||
list(FILTER soh__ EXCLUDE REGEX "soh/Enhancements/speechsynthesizer/Darwin")
|
||||
elseif (CMAKE_SYSTEM_NAME STREQUAL "Darwin")
|
||||
list(FILTER soh__ EXCLUDE REGEX "soh/Enhancements/speechsynthesizer/SAPI*")
|
||||
list(FILTER soh__ EXCLUDE REGEX "soh/Enhancements/speechsynthesizer/SAPI")
|
||||
else()
|
||||
list(FILTER soh__ EXCLUDE REGEX "soh/Enhancements/speechsynthesizer/(Darwin|SAPI).*")
|
||||
list(FILTER soh__ EXCLUDE REGEX "soh/Enhancements/speechsynthesizer/(Darwin|SAPI)")
|
||||
endif()
|
||||
|
||||
find_library(ESPEAK espeak-ng)
|
||||
if (NOT ESPEAK)
|
||||
list(FILTER soh__ EXCLUDE REGEX "soh/Enhancements/speechsynthesizer/ESpeak")
|
||||
endif()
|
||||
|
||||
# soh/Extractor {{{
|
||||
@@ -177,12 +184,12 @@ file(GLOB_RECURSE src__ RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} "src/*.c" "src/*.h"
|
||||
set_source_files_properties(${src__} PROPERTIES COMPILE_OPTIONS "${WARNING_OVERRIDE}")
|
||||
|
||||
list(APPEND src__ ${CMAKE_CURRENT_SOURCE_DIR}/Resource.rc)
|
||||
list(FILTER src__ EXCLUDE REGEX "src/dmadata/*")
|
||||
list(FILTER src__ EXCLUDE REGEX "src/elf_message/*")
|
||||
list(FILTER src__ EXCLUDE REGEX "src/libultra/io/*")
|
||||
list(FILTER src__ EXCLUDE REGEX "src/libultra/libc/*")
|
||||
list(FILTER src__ EXCLUDE REGEX "src/libultra/os/*")
|
||||
list(FILTER src__ EXCLUDE REGEX "src/libultra/rmon/*")
|
||||
list(FILTER src__ EXCLUDE REGEX "src/dmadata/")
|
||||
list(FILTER src__ EXCLUDE REGEX "src/elf_message/")
|
||||
list(FILTER src__ EXCLUDE REGEX "src/libultra/io/")
|
||||
list(FILTER src__ EXCLUDE REGEX "src/libultra/libc/")
|
||||
list(FILTER src__ EXCLUDE REGEX "src/libultra/os/")
|
||||
list(FILTER src__ EXCLUDE REGEX "src/libultra/rmon/")
|
||||
list(APPEND src__ "src/libultra/libc/sprintf.c")
|
||||
list(REMOVE_ITEM src__ "src/libultra/gu/cosf.c")
|
||||
list(REMOVE_ITEM src__ "src/libultra/gu/lookat.c")
|
||||
@@ -276,34 +283,17 @@ if (CMAKE_SYSTEM_NAME STREQUAL "Windows")
|
||||
set_target_properties(${PROJECT_NAME} PROPERTIES MSVC_RUNTIME_LIBRARY ${MSVC_RUNTIME_LIBRARY_STR})
|
||||
endif()
|
||||
################################################################################
|
||||
# Find/download Boost
|
||||
# Find/download Dr Libs (For custom audio)
|
||||
################################################################################
|
||||
include(FetchContent)
|
||||
|
||||
FetchContent_Declare(
|
||||
Boost
|
||||
URL https://archives.boost.io/release/1.81.0/source/boost_1_81_0.tar.gz
|
||||
URL_HASH SHA256=205666dea9f6a7cfed87c7a6dfbeb52a2c1b9de55712c9c1a87735d7181452b6
|
||||
SOURCE_SUBDIR "null" # Set to a nonexistent directory so boost is not built (we don't need to build it)
|
||||
DOWNLOAD_EXTRACT_TIMESTAMP false # supress timestamp warning, not needed since the url wont change
|
||||
dr_libs
|
||||
GIT_REPOSITORY https://github.com/mackron/dr_libs.git
|
||||
GIT_TAG da35f9d6c7374a95353fd1df1d394d44ab66cf01
|
||||
)
|
||||
FetchContent_MakeAvailable(dr_libs)
|
||||
|
||||
set(Boost_NO_BOOST_CMAKE false)
|
||||
set(BOOST_INCLUDEDIR ${FETCHCONTENT_BASE_DIR}/boost-src) # Location where FetchContent stores the source
|
||||
message("Searching for Boost installation")
|
||||
find_package(Boost)
|
||||
|
||||
if (NOT ${Boost_FOUND})
|
||||
message("Boost not found. Downloading now...")
|
||||
FetchContent_MakeAvailable(Boost)
|
||||
message("Boost downloaded to " ${FETCHCONTENT_BASE_DIR}/boost-src)
|
||||
set(BOOST-INCLUDE ${FETCHCONTENT_BASE_DIR}/boost-src)
|
||||
else()
|
||||
message("Boost found in " ${Boost_INCLUDE_DIRS})
|
||||
set(BOOST-INCLUDE ${Boost_INCLUDE_DIRS})
|
||||
endif()
|
||||
################################################################################
|
||||
# Compile definitions
|
||||
################################################################################
|
||||
find_package(SDL2)
|
||||
set(SDL2-INCLUDE ${SDL2_INCLUDE_DIRS})
|
||||
|
||||
@@ -318,39 +308,23 @@ if (BUILD_REMOTE_CONTROL)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if (ESPEAK)
|
||||
add_compile_definitions(ESPEAK=1)
|
||||
endif()
|
||||
|
||||
################################################################################
|
||||
# Compile definitions
|
||||
################################################################################
|
||||
|
||||
target_include_directories(${PROJECT_NAME} PRIVATE assets
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/include/
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/src/
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/../libultraship
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/../libultraship/include
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/../libultraship/src
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/../libultraship/src/log
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/../libultraship/src/debug
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/../libultraship/src/menu
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/../libultraship/src/utils
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/../libultraship/src/utils/binarytools
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/../libultraship/src/config
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/../libultraship/src/resource
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/../libultraship/src/resource/type
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/../libultraship/src/resource/factory
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/../libultraship/src/audio
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/../libultraship/src/window
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/../libultraship/src/window/gui
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/../libultraship/src/config
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/../libultraship/src/public
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/../libultraship/src/public/libultra
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/../libultraship/src/public/bridge
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/../libultraship/extern
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/../libultraship/extern/tinyxml2
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/../libultraship/libultraship/Lib/
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/../libultraship/libultraship/Lib/libjpeg/include/
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/../libultraship/src/graphic/Fast3D/U64/PR
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/../libultraship/src/graphic
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/../ZAPDTR/ZAPD/resource/type
|
||||
${SDL2-INCLUDE}
|
||||
${SDL2-NET-INCLUDE}
|
||||
${BOOST-INCLUDE}
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/assets/
|
||||
${dr_libs_SOURCE_DIR}
|
||||
.
|
||||
)
|
||||
|
||||
@@ -363,13 +337,15 @@ if (CMAKE_SYSTEM_NAME STREQUAL "Windows")
|
||||
"ENABLE_DX11;"
|
||||
">"
|
||||
"$<$<CONFIG:Release>:"
|
||||
"NDEBUG"
|
||||
"NDEBUG;"
|
||||
">"
|
||||
"$<$<BOOL:${BUILD_REMOTE_CONTROL}>:ENABLE_REMOTE_CONTROL>"
|
||||
"INCLUDE_GAME_PRINTF;"
|
||||
"F3DEX_GBI_2"
|
||||
"UNICODE;"
|
||||
"_UNICODE"
|
||||
SPDLOG_ACTIVE_LEVEL=${SPDLOG_MIN_CUTOFF}
|
||||
LOG_LEVEL_GAME_PRINTS=${SPDLOG_LEVEL_OFF}
|
||||
STORMLIB_NO_AUTO_LINK
|
||||
"_CRT_SECURE_NO_WARNINGS;"
|
||||
NOMINMAX
|
||||
@@ -380,7 +356,7 @@ if (CMAKE_SYSTEM_NAME STREQUAL "Windows")
|
||||
"NOINCLUDE_GAME_PRINTF;"
|
||||
"_DEBUG;"
|
||||
"_CRT_SECURE_NO_WARNINGS;"
|
||||
"ENABLE_OPENGL"
|
||||
"ENABLE_OPENGL;"
|
||||
">"
|
||||
"$<$<CONFIG:Release>:"
|
||||
"NDEBUG;"
|
||||
@@ -389,7 +365,9 @@ if (CMAKE_SYSTEM_NAME STREQUAL "Windows")
|
||||
"F3DEX_GBI_2"
|
||||
"WIN32;"
|
||||
"UNICODE;"
|
||||
"_UNICODE"
|
||||
"_UNICODE;"
|
||||
SPDLOG_ACTIVE_LEVEL=${SPDLOG_MIN_CUTOFF}
|
||||
LOG_LEVEL_GAME_PRINTS=${SPDLOG_LEVEL_OFF}
|
||||
STORMLIB_NO_AUTO_LINK
|
||||
NOMINMAX
|
||||
)
|
||||
@@ -397,33 +375,35 @@ if (CMAKE_SYSTEM_NAME STREQUAL "Windows")
|
||||
elseif (CMAKE_SYSTEM_NAME STREQUAL "CafeOS")
|
||||
target_compile_definitions(${PROJECT_NAME} PRIVATE
|
||||
"$<$<CONFIG:Debug>:"
|
||||
"_DEBUG"
|
||||
"_DEBUG;"
|
||||
">"
|
||||
"$<$<CONFIG:Release>:"
|
||||
"NDEBUG"
|
||||
"NDEBUG;"
|
||||
">"
|
||||
"F3DEX_GBI_2"
|
||||
"SPDLOG_ACTIVE_LEVEL=3;"
|
||||
"F3DEX_GBI_2;"
|
||||
"SPDLOG_NO_THREAD_ID;"
|
||||
"SPDLOG_NO_TLS;"
|
||||
"STBI_NO_THREAD_LOCALS;"
|
||||
SPDLOG_ACTIVE_LEVEL=${SPDLOG_MIN_CUTOFF}
|
||||
LOG_LEVEL_GAME_PRINTS=${SPDLOG_LEVEL_OFF}
|
||||
)
|
||||
elseif ("${CMAKE_CXX_COMPILER_ID}" MATCHES "GNU|Clang|AppleClang")
|
||||
target_compile_definitions(${PROJECT_NAME} PRIVATE
|
||||
"$<$<CONFIG:Debug>:"
|
||||
"_DEBUG"
|
||||
"_DEBUG;"
|
||||
">"
|
||||
"$<$<CONFIG:Release>:"
|
||||
"NDEBUG"
|
||||
"NDEBUG;"
|
||||
">"
|
||||
"F3DEX_GBI_2"
|
||||
"$<$<BOOL:${BUILD_REMOTE_CONTROL}>:ENABLE_REMOTE_CONTROL>"
|
||||
"SPDLOG_ACTIVE_LEVEL=0;"
|
||||
"F3DEX_GBI_2;"
|
||||
"$<$<BOOL:${BUILD_REMOTE_CONTROL}>:ENABLE_REMOTE_CONTROL>;"
|
||||
"_CONSOLE;"
|
||||
"_CRT_SECURE_NO_WARNINGS;"
|
||||
"ENABLE_OPENGL;"
|
||||
"UNICODE;"
|
||||
"_UNICODE"
|
||||
"_UNICODE;"
|
||||
SPDLOG_ACTIVE_LEVEL=${SPDLOG_MIN_CUTOFF}
|
||||
LOG_LEVEL_GAME_PRINTS=${SPDLOG_LEVEL_OFF}
|
||||
)
|
||||
endif()
|
||||
################################################################################
|
||||
@@ -504,6 +484,7 @@ if (CMAKE_CXX_COMPILER_ID MATCHES "GNU|Clang|AppleClang")
|
||||
if (CMAKE_SYSTEM_NAME STREQUAL "Darwin")
|
||||
target_compile_options(${PROJECT_NAME} PRIVATE
|
||||
-Wall -Wextra -Wno-error
|
||||
-Wformat-security
|
||||
-Wno-return-type
|
||||
-Wno-unused-parameter
|
||||
-Wno-unused-function
|
||||
@@ -512,10 +493,10 @@ if (CMAKE_CXX_COMPILER_ID MATCHES "GNU|Clang|AppleClang")
|
||||
-Wno-parentheses
|
||||
-Wno-narrowing
|
||||
-Wno-missing-braces
|
||||
-Wno-int-conversion
|
||||
$<$<COMPILE_LANGUAGE:C>:
|
||||
-Werror-implicit-function-declaration
|
||||
-Wno-incompatible-pointer-types
|
||||
-Wno-int-conversion
|
||||
>
|
||||
$<$<COMPILE_LANGUAGE:CXX>:-fpermissive>
|
||||
$<$<COMPILE_LANGUAGE:CXX>:
|
||||
@@ -531,6 +512,7 @@ if (CMAKE_CXX_COMPILER_ID MATCHES "GNU|Clang|AppleClang")
|
||||
elseif (CMAKE_SYSTEM_NAME STREQUAL "NintendoSwitch")
|
||||
target_compile_options(${PROJECT_NAME} PRIVATE
|
||||
-Wall -Wextra -Wno-error
|
||||
-Wformat-security
|
||||
-Wno-return-type
|
||||
-Wno-unused-parameter
|
||||
-Wno-unused-function
|
||||
@@ -581,6 +563,7 @@ if (CMAKE_CXX_COMPILER_ID MATCHES "GNU|Clang|AppleClang")
|
||||
|
||||
target_compile_options(${PROJECT_NAME} PRIVATE
|
||||
-Wall -Wextra -Wno-error
|
||||
-Wformat-security
|
||||
-Wno-unused-parameter
|
||||
-Wno-unused-function
|
||||
-Wno-unused-variable
|
||||
@@ -588,11 +571,11 @@ if (CMAKE_CXX_COMPILER_ID MATCHES "GNU|Clang|AppleClang")
|
||||
-Wno-parentheses
|
||||
-Wno-narrowing
|
||||
-Wno-missing-braces
|
||||
-Wno-int-conversion
|
||||
-Wno-implicit-int
|
||||
$<$<COMPILE_LANGUAGE:C>:
|
||||
-Werror-implicit-function-declaration
|
||||
-Wno-implicit-int
|
||||
-Wno-incompatible-pointer-types
|
||||
-Wno-int-conversion
|
||||
>
|
||||
$<$<COMPILE_LANGUAGE:CXX>:-fpermissive>
|
||||
$<$<COMPILE_LANGUAGE:CXX>:-Wno-deprecated-enum-enum-conversion>
|
||||
@@ -602,6 +585,7 @@ if (CMAKE_CXX_COMPILER_ID MATCHES "GNU|Clang|AppleClang")
|
||||
|
||||
target_link_options(${PROJECT_NAME} PRIVATE
|
||||
-pthread
|
||||
#-fsanitize=address
|
||||
-Wl,-export-dynamic
|
||||
)
|
||||
endif()
|
||||
@@ -610,21 +594,22 @@ endif()
|
||||
# Pre build events
|
||||
################################################################################
|
||||
if (CMAKE_GENERATOR MATCHES "Visual Studio")
|
||||
set(VS_COPY_ASSETS_CMD ${CMAKE_COMMAND} -E copy_directory_if_different $<TARGET_FILE_DIR:soh>/assets ${CMAKE_BINARY_DIR}/soh/assets)
|
||||
add_custom_command(
|
||||
TARGET ${PROJECT_NAME}
|
||||
POST_BUILD
|
||||
COMMAND ${CMAKE_COMMAND} -E copy_directory_if_different ${CMAKE_SOURCE_DIR}/soh/assets/extractor ${CMAKE_BINARY_DIR}/soh/assets
|
||||
COMMAND ${CMAKE_COMMAND} -E copy_directory_if_different ${CMAKE_SOURCE_DIR}/soh/assets/xml ${CMAKE_BINARY_DIR}/soh/assets/xml
|
||||
)
|
||||
endif()
|
||||
if(NOT CMAKE_SYSTEM_NAME MATCHES "NintendoSwitch|CafeOS")
|
||||
add_custom_command(
|
||||
TARGET ${PROJECT_NAME}
|
||||
POST_BUILD
|
||||
COMMENT "Copying asset xmls..."
|
||||
COMMAND ${CMAKE_COMMAND} -E copy_directory_if_different ${CMAKE_SOURCE_DIR}/soh/assets/extractor $<TARGET_FILE_DIR:soh>/assets/extractor
|
||||
COMMAND ${CMAKE_COMMAND} -E copy_directory_if_different ${CMAKE_SOURCE_DIR}/soh/assets/xml $<TARGET_FILE_DIR:soh>/assets/extractor/xmls
|
||||
COMMAND ${CMAKE_COMMAND} -E copy_directory_if_different ${CMAKE_SOURCE_DIR}/OTRExporter/CFG/filelists $<TARGET_FILE_DIR:soh>/assets/extractor/filelists
|
||||
COMMAND ${CMAKE_COMMAND} -E make_directory $<TARGET_FILE_DIR:soh>/assets/extractor/symbols
|
||||
COMMAND ${CMAKE_COMMAND} -E copy_if_different ${CMAKE_SOURCE_DIR}/OTRExporter/CFG/ActorList_OoTMqDbg.txt $<TARGET_FILE_DIR:soh>/assets/extractor/symbols
|
||||
COMMAND ${CMAKE_COMMAND} -E copy_if_different ${CMAKE_SOURCE_DIR}/OTRExporter/CFG/ObjectList_OoTMqDbg.txt $<TARGET_FILE_DIR:soh>/assets/extractor/symbols
|
||||
COMMAND ${CMAKE_COMMAND} -E copy_if_different ${CMAKE_SOURCE_DIR}/OTRExporter/CFG/SymbolMap_OoTMqDbg.txt $<TARGET_FILE_DIR:soh>/assets/extractor/symbols
|
||||
COMMAND ${VS_COPY_ASSETS_CMD}
|
||||
COMMAND ${CMAKE_COMMAND} -E copy_directory_if_different ${CMAKE_SOURCE_DIR}/soh/assets/extractor $<TARGET_FILE_DIR:soh>/assets
|
||||
COMMAND ${CMAKE_COMMAND} -E copy_directory_if_different ${CMAKE_SOURCE_DIR}/soh/assets/xml $<TARGET_FILE_DIR:soh>/assets/xml
|
||||
COMMAND ${CMAKE_COMMAND} -E make_directory $<TARGET_FILE_DIR:soh>/assets/symbols
|
||||
# COMMAND ${VS_COPY_ASSETS_CMD}
|
||||
)
|
||||
endif()
|
||||
################################################################################
|
||||
@@ -641,6 +626,15 @@ endif()
|
||||
|
||||
if (CMAKE_SYSTEM_NAME STREQUAL "Windows")
|
||||
find_package(glfw3 REQUIRED)
|
||||
find_package(Ogg CONFIG REQUIRED)
|
||||
link_libraries(Ogg::ogg)
|
||||
|
||||
find_package(Vorbis CONFIG REQUIRED)
|
||||
link_libraries(Vorbis::vorbisfile)
|
||||
find_package(Opus CONFIG REQUIRED)
|
||||
link_libraries(Opus::opus)
|
||||
find_package(OpusFile CONFIG REQUIRED)
|
||||
link_libraries(OpusFile::opusfile CONFIG REQUIRED)
|
||||
if("${CMAKE_VS_PLATFORM_NAME}" STREQUAL "x64")
|
||||
set(ADDITIONAL_LIBRARY_DEPENDENCIES
|
||||
"libultraship;"
|
||||
@@ -654,6 +648,12 @@ if (CMAKE_SYSTEM_NAME STREQUAL "Windows")
|
||||
"imm32;"
|
||||
"version;"
|
||||
"setupapi"
|
||||
"Ogg::ogg"
|
||||
"Opus::opus"
|
||||
"Vorbis::vorbis"
|
||||
"Vorbis::vorbisenc"
|
||||
"Vorbis::vorbisfile"
|
||||
"OpusFile::opusfile"
|
||||
)
|
||||
elseif("${CMAKE_VS_PLATFORM_NAME}" STREQUAL "Win32")
|
||||
set(ADDITIONAL_LIBRARY_DEPENDENCIES
|
||||
@@ -694,10 +694,20 @@ else()
|
||||
find_package(SDL2)
|
||||
set(THREADS_PREFER_PTHREAD_FLAG ON)
|
||||
find_package(Threads REQUIRED)
|
||||
find_package(Ogg REQUIRED)
|
||||
find_package(Vorbis REQUIRED)
|
||||
find_package(Opus REQUIRED)
|
||||
find_package(OpusFile REQUIRED)
|
||||
set(ADDITIONAL_LIBRARY_DEPENDENCIES
|
||||
"libultraship;"
|
||||
"ZAPDLib;"
|
||||
SDL2::SDL2
|
||||
"Ogg::ogg"
|
||||
"Vorbis::vorbis"
|
||||
"Vorbis::vorbisenc"
|
||||
"Vorbis::vorbisfile"
|
||||
"Opus::opus"
|
||||
"Opusfile::Opusfile"
|
||||
"$<$<BOOL:${BUILD_REMOTE_CONTROL}>:SDL2_net::SDL2_net>"
|
||||
${CMAKE_DL_LIBS}
|
||||
Threads::Threads
|
||||
@@ -710,21 +720,17 @@ endif()
|
||||
|
||||
if (CMAKE_SYSTEM_NAME STREQUAL "Windows")
|
||||
INSTALL(FILES $<TARGET_PDB_FILE:soh> DESTINATION ./debug COMPONENT ship)
|
||||
INSTALL(FILES ${CMAKE_BINARY_DIR}/soh/soh.otr DESTINATION . COMPONENT ship)
|
||||
endif()
|
||||
|
||||
if(CMAKE_SYSTEM_NAME STREQUAL "Linux")
|
||||
configure_file( ${CMAKE_CURRENT_SOURCE_DIR}/../scripts/linux/appimage/soh.sh.in ${CMAKE_BINARY_DIR}/linux/soh.sh @ONLY)
|
||||
INSTALL(FILES ${CMAKE_BINARY_DIR}/soh/soh.o2r DESTINATION . COMPONENT ship)
|
||||
endif()
|
||||
|
||||
find_program(CURL NAMES curl DOC "Path to the curl program. Used to download files.")
|
||||
execute_process(COMMAND ${CURL} -sSfL https://raw.githubusercontent.com/gabomdq/SDL_GameControllerDB/master/gamecontrollerdb.txt -o ${CMAKE_BINARY_DIR}/gamecontrollerdb.txt OUTPUT_VARIABLE RESULT)
|
||||
execute_process(COMMAND ${CURL} -sSfL https://raw.githubusercontent.com/mdqinc/SDL_GameControllerDB/master/gamecontrollerdb.txt -o ${CMAKE_BINARY_DIR}/gamecontrollerdb.txt OUTPUT_VARIABLE RESULT)
|
||||
|
||||
if("${CMAKE_SYSTEM_NAME}" STREQUAL "Darwin")
|
||||
configure_file( ${CMAKE_CURRENT_SOURCE_DIR}/macosx/Info.plist.in ${CMAKE_BINARY_DIR}/macosx/Info.plist @ONLY)
|
||||
INSTALL(TARGETS soh DESTINATION ../MacOS COMPONENT ship)
|
||||
INSTALL(FILES ${CMAKE_BINARY_DIR}/gamecontrollerdb.txt DESTINATION ../MacOS COMPONENT ship)
|
||||
INSTALL(FILES ${CMAKE_BINARY_DIR}/soh/soh.otr DESTINATION ../Resources COMPONENT ship)
|
||||
INSTALL(FILES ${CMAKE_BINARY_DIR}/soh/soh.o2r DESTINATION ../Resources COMPONENT ship)
|
||||
elseif(NOT "${CMAKE_SYSTEM_NAME}" MATCHES "NintendoSwitch|CafeOS")
|
||||
INSTALL(FILES ${CMAKE_BINARY_DIR}/gamecontrollerdb.txt DESTINATION . COMPONENT ship)
|
||||
endif()
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
// Microsoft Visual C++ generated resource script.
|
||||
//
|
||||
#include "resource.h"
|
||||
#include <ship/resource/Resource.h>
|
||||
#include "properties.h"
|
||||
|
||||
#define APSTUDIO_READONLY_SYMBOLS
|
||||
|
||||
@@ -25,5 +25,5 @@
|
||||
"quest_sel_vanilla": "Quest - Original",
|
||||
"quest_sel_mq": "Quest - Master Quest",
|
||||
"quest_sel_randomizer": "Quest - Randomizer",
|
||||
"quest_sel_boss_rush": "Quest - Bosse Rush"
|
||||
"quest_sel_boss_rush": "Quest - Boss Rush"
|
||||
}
|
||||
@@ -2,6 +2,7 @@
|
||||
"health": "Health - $0 Hearts",
|
||||
"magic": "Magic - $0",
|
||||
"rupees": "Rupees - $0",
|
||||
"keys": "Keys - $0",
|
||||
"floor": "Floor $0",
|
||||
"basement": "Basement $0",
|
||||
"item_menu": "Select Item",
|
||||
@@ -171,6 +172,7 @@
|
||||
"153": "STICK UPGRADE 30",
|
||||
"154": "NUT UPGRADE 30",
|
||||
"155": "NUT UPGRADE 40",
|
||||
"157": "Roc's Feather",
|
||||
"255": "",
|
||||
"256": "Haunted Wasteland",
|
||||
"257": "Gerudos Fortress",
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
"health": "Vie - $0 Coeurs",
|
||||
"magic": "Magie - $0",
|
||||
"rupees": "Rubis - $0",
|
||||
"keys": "Clés - $0",
|
||||
"floor": "Étage $0",
|
||||
"basement": "Sous-sol $0",
|
||||
"item_menu": "Inventaire",
|
||||
@@ -171,6 +172,7 @@
|
||||
"153": "AMÉLIORATION BÂTON MOJO 30",
|
||||
"154": "AMÉLIORATION NOIX MOJO 30",
|
||||
"155": "AMÉLIORATION NOIX MOJO 40",
|
||||
"157": "Plume de Roc",
|
||||
"255": "",
|
||||
"256": "Désert Hanté",
|
||||
"257": "Forteresse Gerudo",
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
"health": "Energie - $0 Herzen",
|
||||
"magic": "Magie - $0",
|
||||
"rupees": "Rubine - $0",
|
||||
"keys": "Schlüssel - $0",
|
||||
"floor": "Etage $0",
|
||||
"basement": "Keller $0",
|
||||
"item_menu": "Gegenstände",
|
||||
@@ -46,7 +47,7 @@
|
||||
"28": "Blaues Feuer",
|
||||
"29": "Käfer",
|
||||
"30": "Nachtschwärmer",
|
||||
"31": "Milch (1/2)",
|
||||
"31": "Milch (Halbe Füllung)",
|
||||
"32": "Irrlicht",
|
||||
"33": "Seltsames Ei",
|
||||
"34": "Huhn",
|
||||
@@ -66,7 +67,7 @@
|
||||
"48": "Schimmelpilz",
|
||||
"49": "Modertrank",
|
||||
"50": "Säge",
|
||||
"51": "Goronen-Schwert (zerbrochen)",
|
||||
"51": "Zerbr. Goronen-Schwert",
|
||||
"52": "Rezept",
|
||||
"53": "Glotzfrosch",
|
||||
"54": "Augentropfen",
|
||||
@@ -77,7 +78,7 @@
|
||||
"59": "Kokiri-Schwert",
|
||||
"60": "Master-Schwert",
|
||||
"61": "Langschwert",
|
||||
"62": "Deku-schild",
|
||||
"62": "Deku-Schild",
|
||||
"63": "Hylia-Schild",
|
||||
"64": "Spiegel-Schild",
|
||||
"65": "Kokiri-Rüstung",
|
||||
@@ -98,13 +99,13 @@
|
||||
"80": "Goronen-Armband",
|
||||
"81": "Krafthandschuh",
|
||||
"82": "Titanhandschuh",
|
||||
"83": "Silberschuppe",
|
||||
"84": "Goldschuppe",
|
||||
"85": "Langschwert (gebrochen)",
|
||||
"83": "Silberne Schuppe",
|
||||
"84": "Goldene Schuppe",
|
||||
"85": "Zerbr. Langschwert",
|
||||
"86": "Große Börse",
|
||||
"87": "Riesenbörse",
|
||||
"88": "Deku-Kerne",
|
||||
"89": "Angel",
|
||||
"89": "Angelrute",
|
||||
"90": "Menuett des Waldes",
|
||||
"91": "Bolero des Feuers",
|
||||
"92": "Serenade des Wassers",
|
||||
@@ -116,7 +117,7 @@
|
||||
"98": "Salias Lied",
|
||||
"99": "Hymne der Sonne",
|
||||
"100": "Hymne der Zeit",
|
||||
"101": "Song of Storms",
|
||||
"101": "Hymne des Sturms",
|
||||
"102": "Amulett des Waldes",
|
||||
"103": "Amulett des Feuers",
|
||||
"104": "Amulett des Wassers",
|
||||
@@ -124,7 +125,7 @@
|
||||
"106": "Amulett des Schattens",
|
||||
"107": "Amulett des Lichts",
|
||||
"108": "Kokiri-Smaragd",
|
||||
"109": "Goronen-Opal",
|
||||
"109": "Goronen-Rubin",
|
||||
"110": "Zora-Saphir",
|
||||
"111": "Stein des Wissens",
|
||||
"112": "Gerudo-Paß",
|
||||
@@ -135,8 +136,8 @@
|
||||
"117": "Kompaß",
|
||||
"118": "Labyrinth-Karte",
|
||||
"119": "Kleiner Schlüssel",
|
||||
"120": "MAGIE KLEIN",
|
||||
"121": "MAGIE GROß",
|
||||
"120": "Kleine Magieflasche",
|
||||
"121": "Große Magieflasche",
|
||||
"122": "Biggoron-Schwert",
|
||||
"123": "UNGÜLTIG 1",
|
||||
"124": "UNGÜLTIG 2",
|
||||
@@ -153,24 +154,25 @@
|
||||
"135": "50 Rubine",
|
||||
"136": "200 Rubine",
|
||||
"137": "UNGÜLTIG 8",
|
||||
"138": "STÄBE 5",
|
||||
"139": "STÄBE 10",
|
||||
"140": "NÜSSE 5",
|
||||
"141": "NÜSSE 10",
|
||||
"138": "DEKU-STÄBE 5",
|
||||
"139": "DEKU-STÄBE 10",
|
||||
"140": "DEKU-NÜSSE 5",
|
||||
"141": "DEKU-NÜSSE 10",
|
||||
"142": "BOMBEN 5",
|
||||
"143": "BOMBEN 10",
|
||||
"144": "BOMBEN 20",
|
||||
"145": "BOMBEN 30",
|
||||
"146": "PFEILE KLEIN",
|
||||
"147": "PFEILE MITTEL",
|
||||
"148": "PFEILE GROß",
|
||||
"149": "KERNE 30",
|
||||
"146": "PFEILE 5",
|
||||
"147": "PFEILE 10",
|
||||
"148": "PFEILE 30",
|
||||
"149": "DEKU-KERNE 30",
|
||||
"150": "KRABBELMINEN 5",
|
||||
"151": "KRABBELMINEN 20",
|
||||
"152": "STAB UPGRADE 20",
|
||||
"153": "STAB UPGRADE 30",
|
||||
"154": "NUß UPGRADE 30",
|
||||
"155": "NUß UPGRADE 40",
|
||||
"152": "DEKU-STAB-KAPAZITÄT 20",
|
||||
"153": "DEKU-STAB-KAPAZITÄT 30",
|
||||
"154": "DEKU-NUẞ-KAPAZITÄT 30",
|
||||
"155": "DEKU-NUẞ-KAPAZITÄT 40",
|
||||
"157": "Greifenfeder",
|
||||
"255": "",
|
||||
"256": "Gespensterwüste",
|
||||
"257": "Gerudo-Festung",
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
"7": "Schattentempel",
|
||||
"8": "Grund des Brunnens",
|
||||
"9": "Eishöhle",
|
||||
"10": "", // Treppe zu Ganondorfs Verließ (Keine Title-Card)
|
||||
"10": "", // Treppe zu Ganondorfs Verlies (Keine Title-Card)
|
||||
"11": "Gerudo-Arena",
|
||||
"12": "Diebesversteck",
|
||||
"13": "Ganons Schloß",
|
||||
@@ -22,7 +22,7 @@
|
||||
"20": "Reitendes Unheil - Phantom-Ganon",
|
||||
"21": "Subterraner Lavadrachoid - Volvagia",
|
||||
"22": "Aquamöbes Wassertentakel - Morpha",
|
||||
"23": "Höllische Hexenarmada - Killa Ohmaz",
|
||||
"23": "Höllische Hexenarmada - Twinrova",
|
||||
"24": "Bestialische Schattenmonstrosität - Bongo Bongo",
|
||||
"25": "Großmeister des Bösen - Ganondorf",
|
||||
"26": "",
|
||||
|
||||
BIN
soh/assets/custom/fonts/NotoSansJP-Regular.ttf
Normal file
BIN
soh/assets/custom/fonts/NotoSansJP-Regular.ttf
Normal file
Binary file not shown.
1010
soh/assets/custom/lang/en_US.json
Normal file
1010
soh/assets/custom/lang/en_US.json
Normal file
File diff suppressed because it is too large
Load Diff
@@ -1,19 +0,0 @@
|
||||
<DisplayList Version="0">
|
||||
<CallDisplayList Path="objects/gameplay_dangeon_keep/mat_gRandoPotDL_f3dlite_potrim"/>
|
||||
<CallDisplayList Path="objects/gameplay_dangeon_keep/gRandoPotDL_tri_0"/>
|
||||
<CallDisplayList Path="objects/gameplay_dangeon_keep/mat_gRandoPotDL_f3dlite_potface"/>
|
||||
<CallDisplayList Path="objects/gameplay_dangeon_keep/gRandoPotDL_tri_1"/>
|
||||
<CallDisplayList Path="objects/gameplay_dangeon_keep/mat_gRandoPotDL_f3dlite_potbase"/>
|
||||
<CallDisplayList Path="objects/gameplay_dangeon_keep/gRandoPotDL_tri_2"/>
|
||||
<CallDisplayList Path="objects/gameplay_dangeon_keep/mat_gRandoPotDL_f3dlite_potbottom"/>
|
||||
<CallDisplayList Path="objects/gameplay_dangeon_keep/gRandoPotDL_tri_3"/>
|
||||
<CallDisplayList Path="objects/gameplay_dangeon_keep/mat_gRandoPotDL_f3dlite_potvoid"/>
|
||||
<CallDisplayList Path="objects/gameplay_dangeon_keep/gRandoPotDL_tri_4"/>
|
||||
<PipeSync/>
|
||||
<SetGeometryMode G_LIGHTING="1" />
|
||||
<ClearGeometryMode G_TEXTURE_GEN="1" />
|
||||
<SetCombineLERP A0="G_CCMUX_0" B0="G_CCMUX_0" C0="G_CCMUX_0" D0="G_CCMUX_SHADE" Aa0="G_ACMUX_0" Ab0="G_ACMUX_0" Ac0="G_ACMUX_0" Ad0="G_ACMUX_ENVIRONMENT" A1="G_CCMUX_0" B1="G_CCMUX_0" C1="G_CCMUX_0" D1="G_CCMUX_SHADE" Aa1="G_ACMUX_0" Ab1="G_ACMUX_0" Ac1="G_ACMUX_0" Ad1="G_ACMUX_ENVIRONMENT"/>
|
||||
<Texture S="65535" T="65535" Level="0" Tile="0" On="0"/>
|
||||
<EndDisplayList/>
|
||||
</DisplayList>
|
||||
|
||||
@@ -1,82 +0,0 @@
|
||||
<Vertex Version="0">
|
||||
<Vtx X="-35" Y="133" Z="-20" S="546" T="573" R="159" G="61" B="200" A="255"/>
|
||||
<Vtx X="-35" Y="133" Z="20" S="305" T="573" R="159" G="61" B="56" A="255"/>
|
||||
<Vtx X="-35" Y="146" Z="20" S="305" T="654" R="196" G="149" B="34" A="255"/>
|
||||
<Vtx X="-35" Y="146" Z="-20" S="546" T="654" R="196" G="149" B="222" A="255"/>
|
||||
<Vtx X="-43" Y="146" Z="25" S="278" T="699" R="169" G="178" B="50" A="255"/>
|
||||
<Vtx X="-43" Y="146" Z="-25" S="572" T="699" R="169" G="178" B="206" A="255"/>
|
||||
<Vtx X="-43" Y="160" Z="25" S="278" T="778" R="169" G="78" B="50" A="255"/>
|
||||
<Vtx X="-43" Y="160" Z="-25" S="572" T="778" R="169" G="78" B="206" A="255"/>
|
||||
<Vtx X="-29" Y="160" Z="17" S="325" T="858" R="60" G="107" B="222" A="255"/>
|
||||
<Vtx X="-29" Y="160" Z="-17" S="526" T="858" R="60" G="107" B="34" A="255"/>
|
||||
<Vtx X="-29" Y="134" Z="17" S="325" T="1008" R="87" G="78" B="206" A="255"/>
|
||||
<Vtx X="-29" Y="134" Z="-17" S="526" T="1008" R="87" G="78" B="50" A="255"/>
|
||||
<Vtx X="-35" Y="133" Z="20" S="10" T="1008" R="159" G="61" B="56" A="255"/>
|
||||
<Vtx X="0" Y="133" Z="41" S="252" T="1008" R="0" G="61" B="112" A="255"/>
|
||||
<Vtx X="0" Y="146" Z="41" S="252" T="927" R="0" G="149" B="69" A="255"/>
|
||||
<Vtx X="-35" Y="146" Z="20" S="10" T="927" R="196" G="149" B="34" A="255"/>
|
||||
<Vtx X="-35" Y="146" Z="20" S="10" T="927" R="196" G="149" B="34" A="255"/>
|
||||
<Vtx X="0" Y="146" Z="41" S="252" T="927" R="0" G="149" B="69" A="255"/>
|
||||
<Vtx X="0" Y="146" Z="49" S="278" T="882" R="0" G="178" B="101" A="255"/>
|
||||
<Vtx X="-43" Y="146" Z="25" S="-16" T="882" R="169" G="178" B="50" A="255"/>
|
||||
<Vtx X="0" Y="160" Z="49" S="278" T="803" R="0" G="78" B="101" A="255"/>
|
||||
<Vtx X="-43" Y="160" Z="25" S="-16" T="803" R="169" G="78" B="50" A="255"/>
|
||||
<Vtx X="0" Y="160" Z="34" S="232" T="723" R="0" G="107" B="187" A="255"/>
|
||||
<Vtx X="-29" Y="160" Z="17" S="30" T="723" R="60" G="107" B="222" A="255"/>
|
||||
<Vtx X="0" Y="134" Z="34" S="232" T="573" R="0" G="78" B="155" A="255"/>
|
||||
<Vtx X="-29" Y="134" Z="17" S="30" T="573" R="87" G="78" B="206" A="255"/>
|
||||
<Vtx X="0" Y="133" Z="-41" S="573" T="740" R="0" G="61" B="144" A="255"/>
|
||||
<Vtx X="-35" Y="133" Z="-20" S="573" T="982" R="159" G="61" B="200" A="255"/>
|
||||
<Vtx X="-35" Y="146" Z="-20" S="654" T="982" R="196" G="149" B="222" A="255"/>
|
||||
<Vtx X="0" Y="146" Z="-41" S="654" T="740" R="0" G="149" B="187" A="255"/>
|
||||
<Vtx X="-43" Y="146" Z="-25" S="699" T="1008" R="169" G="178" B="206" A="255"/>
|
||||
<Vtx X="0" Y="146" Z="-49" S="699" T="714" R="0" G="178" B="155" A="255"/>
|
||||
<Vtx X="0" Y="146" Z="-49" S="699" T="714" R="0" G="178" B="155" A="255"/>
|
||||
<Vtx X="-43" Y="146" Z="-25" S="699" T="1008" R="169" G="178" B="206" A="255"/>
|
||||
<Vtx X="-43" Y="160" Z="-25" S="778" T="1008" R="169" G="78" B="206" A="255"/>
|
||||
<Vtx X="0" Y="160" Z="-49" S="778" T="714" R="0" G="78" B="155" A="255"/>
|
||||
<Vtx X="-29" Y="160" Z="-17" S="858" T="962" R="60" G="107" B="34" A="255"/>
|
||||
<Vtx X="0" Y="160" Z="-34" S="858" T="760" R="0" G="107" B="69" A="255"/>
|
||||
<Vtx X="-29" Y="134" Z="-17" S="1008" T="962" R="87" G="78" B="50" A="255"/>
|
||||
<Vtx X="0" Y="134" Z="-34" S="1008" T="760" R="0" G="78" B="101" A="255"/>
|
||||
<Vtx X="35" Y="133" Z="20" S="687" T="137" R="97" G="61" B="56" A="255"/>
|
||||
<Vtx X="35" Y="133" Z="-20" S="446" T="137" R="97" G="61" B="200" A="255"/>
|
||||
<Vtx X="35" Y="146" Z="-20" S="446" T="218" R="60" G="149" B="222" A="255"/>
|
||||
<Vtx X="35" Y="146" Z="20" S="687" T="218" R="60" G="149" B="34" A="255"/>
|
||||
<Vtx X="43" Y="146" Z="-25" S="420" T="263" R="87" G="178" B="206" A="255"/>
|
||||
<Vtx X="43" Y="146" Z="25" S="714" T="263" R="87" G="178" B="50" A="255"/>
|
||||
<Vtx X="43" Y="160" Z="-25" S="420" T="342" R="87" G="78" B="206" A="255"/>
|
||||
<Vtx X="43" Y="160" Z="25" S="714" T="342" R="87" G="78" B="50" A="255"/>
|
||||
<Vtx X="29" Y="160" Z="-17" S="466" T="422" R="196" G="107" B="34" A="255"/>
|
||||
<Vtx X="43" Y="160" Z="25" S="714" T="342" R="87" G="78" B="50" A="255"/>
|
||||
<Vtx X="43" Y="160" Z="-25" S="420" T="342" R="87" G="78" B="206" A="255"/>
|
||||
<Vtx X="29" Y="160" Z="17" S="667" T="422" R="196" G="107" B="222" A="255"/>
|
||||
<Vtx X="29" Y="134" Z="-17" S="466" T="572" R="169" G="78" B="50" A="255"/>
|
||||
<Vtx X="29" Y="134" Z="17" S="667" T="572" R="169" G="78" B="206" A="255"/>
|
||||
<Vtx X="35" Y="133" Z="-20" S="-16" T="305" R="97" G="61" B="200" A="255"/>
|
||||
<Vtx X="0" Y="133" Z="-41" S="-16" T="546" R="0" G="61" B="144" A="255"/>
|
||||
<Vtx X="0" Y="146" Z="-41" S="65" T="546" R="0" G="149" B="187" A="255"/>
|
||||
<Vtx X="35" Y="146" Z="-20" S="65" T="305" R="60" G="149" B="222" A="255"/>
|
||||
<Vtx X="0" Y="146" Z="-49" S="110" T="572" R="0" G="178" B="155" A="255"/>
|
||||
<Vtx X="43" Y="146" Z="-25" S="110" T="278" R="87" G="178" B="206" A="255"/>
|
||||
<Vtx X="0" Y="160" Z="-49" S="189" T="572" R="0" G="78" B="155" A="255"/>
|
||||
<Vtx X="43" Y="160" Z="-25" S="189" T="278" R="87" G="78" B="206" A="255"/>
|
||||
<Vtx X="0" Y="160" Z="-34" S="269" T="526" R="0" G="107" B="69" A="255"/>
|
||||
<Vtx X="29" Y="160" Z="-17" S="269" T="325" R="196" G="107" B="34" A="255"/>
|
||||
<Vtx X="29" Y="160" Z="-17" S="269" T="325" R="196" G="107" B="34" A="255"/>
|
||||
<Vtx X="0" Y="160" Z="-34" S="269" T="526" R="0" G="107" B="69" A="255"/>
|
||||
<Vtx X="0" Y="134" Z="-34" S="419" T="526" R="0" G="78" B="101" A="255"/>
|
||||
<Vtx X="29" Y="134" Z="-17" S="419" T="325" R="169" G="78" B="50" A="255"/>
|
||||
<Vtx X="0" Y="133" Z="41" S="419" T="252" R="0" G="61" B="112" A="255"/>
|
||||
<Vtx X="35" Y="133" Z="20" S="419" T="10" R="97" G="61" B="56" A="255"/>
|
||||
<Vtx X="35" Y="146" Z="20" S="338" T="10" R="60" G="149" B="34" A="255"/>
|
||||
<Vtx X="0" Y="146" Z="41" S="338" T="252" R="0" G="149" B="69" A="255"/>
|
||||
<Vtx X="43" Y="146" Z="25" S="293" T="-16" R="87" G="178" B="50" A="255"/>
|
||||
<Vtx X="0" Y="146" Z="49" S="293" T="278" R="0" G="178" B="101" A="255"/>
|
||||
<Vtx X="43" Y="160" Z="25" S="214" T="-16" R="87" G="78" B="50" A="255"/>
|
||||
<Vtx X="0" Y="160" Z="49" S="214" T="278" R="0" G="78" B="101" A="255"/>
|
||||
<Vtx X="29" Y="160" Z="17" S="134" T="30" R="196" G="107" B="222" A="255"/>
|
||||
<Vtx X="0" Y="160" Z="34" S="134" T="232" R="0" G="107" B="187" A="255"/>
|
||||
<Vtx X="29" Y="134" Z="17" S="-16" T="30" R="169" G="78" B="206" A="255"/>
|
||||
<Vtx X="0" Y="134" Z="34" S="-16" T="232" R="0" G="78" B="155" A="255"/>
|
||||
</Vertex>
|
||||
@@ -1,26 +0,0 @@
|
||||
<Vertex Version="0">
|
||||
<Vtx X="0" Y="0" Z="-51" S="240" T="240" R="0" G="150" B="185" A="255"/>
|
||||
<Vtx X="0" Y="43" Z="-82" S="240" T="-16" R="0" G="220" B="134" A="255"/>
|
||||
<Vtx X="71" Y="43" Z="-41" S="-16" T="-16" R="106" G="220" B="195" A="255"/>
|
||||
<Vtx X="44" Y="0" Z="-25" S="-16" T="240" R="61" G="150" B="221" A="255"/>
|
||||
<Vtx X="44" Y="0" Z="-25" S="240" T="240" R="61" G="150" B="221" A="255"/>
|
||||
<Vtx X="71" Y="43" Z="-41" S="240" T="-16" R="106" G="220" B="195" A="255"/>
|
||||
<Vtx X="71" Y="43" Z="41" S="-16" T="-16" R="106" G="220" B="61" A="255"/>
|
||||
<Vtx X="44" Y="0" Z="25" S="-16" T="240" R="61" G="150" B="35" A="255"/>
|
||||
<Vtx X="44" Y="0" Z="25" S="240" T="240" R="61" G="150" B="35" A="255"/>
|
||||
<Vtx X="71" Y="43" Z="41" S="240" T="-16" R="106" G="220" B="61" A="255"/>
|
||||
<Vtx X="0" Y="43" Z="82" S="-16" T="-16" R="0" G="220" B="122" A="255"/>
|
||||
<Vtx X="0" Y="0" Z="51" S="-16" T="240" R="0" G="150" B="71" A="255"/>
|
||||
<Vtx X="0" Y="0" Z="51" S="240" T="240" R="0" G="150" B="71" A="255"/>
|
||||
<Vtx X="0" Y="43" Z="82" S="240" T="-16" R="0" G="220" B="122" A="255"/>
|
||||
<Vtx X="-71" Y="43" Z="41" S="-16" T="-16" R="150" G="220" B="61" A="255"/>
|
||||
<Vtx X="-44" Y="0" Z="25" S="-16" T="240" R="195" G="150" B="35" A="255"/>
|
||||
<Vtx X="-44" Y="0" Z="25" S="240" T="240" R="195" G="150" B="35" A="255"/>
|
||||
<Vtx X="-71" Y="43" Z="41" S="240" T="-16" R="150" G="220" B="61" A="255"/>
|
||||
<Vtx X="-71" Y="43" Z="-41" S="-16" T="-16" R="150" G="220" B="195" A="255"/>
|
||||
<Vtx X="-44" Y="0" Z="-25" S="-16" T="240" R="195" G="150" B="221" A="255"/>
|
||||
<Vtx X="-44" Y="0" Z="-25" S="240" T="240" R="195" G="150" B="221" A="255"/>
|
||||
<Vtx X="-71" Y="43" Z="-41" S="240" T="-16" R="150" G="220" B="195" A="255"/>
|
||||
<Vtx X="0" Y="43" Z="-82" S="-16" T="-16" R="0" G="220" B="134" A="255"/>
|
||||
<Vtx X="0" Y="0" Z="-51" S="-16" T="240" R="0" G="150" B="185" A="255"/>
|
||||
</Vertex>
|
||||
Binary file not shown.
Binary file not shown.
BIN
soh/assets/custom/objects/object_box/gBoxChestCornerHealthTex
Normal file
BIN
soh/assets/custom/objects/object_box/gBoxChestCornerHealthTex
Normal file
Binary file not shown.
BIN
soh/assets/custom/objects/object_box/gBoxChestCornerJunkTex
Normal file
BIN
soh/assets/custom/objects/object_box/gBoxChestCornerJunkTex
Normal file
Binary file not shown.
BIN
soh/assets/custom/objects/object_box/gBoxChestCornerLesserTex
Normal file
BIN
soh/assets/custom/objects/object_box/gBoxChestCornerLesserTex
Normal file
Binary file not shown.
BIN
soh/assets/custom/objects/object_box/gBoxChestCornerMajorTex
Normal file
BIN
soh/assets/custom/objects/object_box/gBoxChestCornerMajorTex
Normal file
Binary file not shown.
BIN
soh/assets/custom/objects/object_box/gBoxChestCornerMaskTex
Normal file
BIN
soh/assets/custom/objects/object_box/gBoxChestCornerMaskTex
Normal file
Binary file not shown.
Binary file not shown.
BIN
soh/assets/custom/objects/object_box/gBoxChestCornerSmallKeyTex
Normal file
BIN
soh/assets/custom/objects/object_box/gBoxChestCornerSmallKeyTex
Normal file
Binary file not shown.
Binary file not shown.
BIN
soh/assets/custom/objects/object_box/gBoxChestLockHealthTex
Normal file
BIN
soh/assets/custom/objects/object_box/gBoxChestLockHealthTex
Normal file
Binary file not shown.
BIN
soh/assets/custom/objects/object_box/gBoxChestLockJunkTex
Normal file
BIN
soh/assets/custom/objects/object_box/gBoxChestLockJunkTex
Normal file
Binary file not shown.
BIN
soh/assets/custom/objects/object_box/gBoxChestLockLesserTex
Normal file
BIN
soh/assets/custom/objects/object_box/gBoxChestLockLesserTex
Normal file
Binary file not shown.
BIN
soh/assets/custom/objects/object_box/gBoxChestLockMajorTex
Normal file
BIN
soh/assets/custom/objects/object_box/gBoxChestLockMajorTex
Normal file
Binary file not shown.
BIN
soh/assets/custom/objects/object_box/gBoxChestLockMaskTex
Normal file
BIN
soh/assets/custom/objects/object_box/gBoxChestLockMaskTex
Normal file
Binary file not shown.
BIN
soh/assets/custom/objects/object_box/gBoxChestLockSkullTokenTex
Normal file
BIN
soh/assets/custom/objects/object_box/gBoxChestLockSkullTokenTex
Normal file
Binary file not shown.
BIN
soh/assets/custom/objects/object_box/gBoxChestLockSmallKeyTex
Normal file
BIN
soh/assets/custom/objects/object_box/gBoxChestLockSmallKeyTex
Normal file
Binary file not shown.
BIN
soh/assets/custom/objects/object_box/gBoxChestLockStrayFairyTex
Normal file
BIN
soh/assets/custom/objects/object_box/gBoxChestLockStrayFairyTex
Normal file
Binary file not shown.
13
soh/assets/custom/objects/object_box/gChestBodyFairyDL
Normal file
13
soh/assets/custom/objects/object_box/gChestBodyFairyDL
Normal file
@@ -0,0 +1,13 @@
|
||||
<DisplayList Version="0">
|
||||
<CallDisplayList Path="objects/object_box/mat_gChestBodyFairyDL_Sides"/>
|
||||
<CallDisplayList Path="objects/object_box/gChestBodyFairyDL_tri_0"/>
|
||||
<CallDisplayList Path="objects/object_box/mat_gChestBodyFairyDL_Front"/>
|
||||
<CallDisplayList Path="objects/object_box/gChestBodyFairyDL_tri_1"/>
|
||||
<PipeSync/>
|
||||
<SetGeometryMode G_LIGHTING="1" />
|
||||
<ClearGeometryMode G_TEXTURE_GEN="1" />
|
||||
<SetCombineLERP A0="G_CCMUX_0" B0="G_CCMUX_0" C0="G_CCMUX_0" D0="G_CCMUX_SHADE" Aa0="G_ACMUX_0" Ab0="G_ACMUX_0" Ac0="G_ACMUX_0" Ad0="G_ACMUX_ENVIRONMENT" A1="G_CCMUX_0" B1="G_CCMUX_0" C1="G_CCMUX_0" D1="G_CCMUX_SHADE" Aa1="G_ACMUX_0" Ab1="G_ACMUX_0" Ac1="G_ACMUX_0" Ad1="G_ACMUX_ENVIRONMENT"/>
|
||||
<Texture S="65535" T="65535" Level="0" Tile="0" On="0"/>
|
||||
<EndDisplayList/>
|
||||
</DisplayList>
|
||||
|
||||
33
soh/assets/custom/objects/object_box/gChestBodyFairyDL_tri_0
Normal file
33
soh/assets/custom/objects/object_box/gChestBodyFairyDL_tri_0
Normal file
@@ -0,0 +1,33 @@
|
||||
<DisplayList Version="0">
|
||||
<LoadVertices Path="objects/object_box/gChestBodyFairyDL_vtx_0" VertexBufferIndex="0" VertexOffset="0" Count="16"/>
|
||||
<Triangle1 V00="0" V01="1" V02="2"/>
|
||||
<Triangle1 V00="0" V01="2" V02="3"/>
|
||||
<Triangle1 V00="4" V01="5" V02="6"/>
|
||||
<Triangle1 V00="4" V01="6" V02="7"/>
|
||||
<Triangle1 V00="8" V01="9" V02="10"/>
|
||||
<Triangle1 V00="8" V01="10" V02="11"/>
|
||||
<Triangle1 V00="12" V01="13" V02="14"/>
|
||||
<Triangle1 V00="12" V01="14" V02="15"/>
|
||||
<LoadVertices Path="objects/object_box/gChestBodyFairyDL_vtx_0" VertexBufferIndex="0" VertexOffset="16" Count="16"/>
|
||||
<Triangle1 V00="0" V01="1" V02="2"/>
|
||||
<Triangle1 V00="0" V01="2" V02="3"/>
|
||||
<Triangle1 V00="4" V01="5" V02="6"/>
|
||||
<Triangle1 V00="4" V01="6" V02="7"/>
|
||||
<Triangle1 V00="8" V01="9" V02="10"/>
|
||||
<Triangle1 V00="8" V01="10" V02="11"/>
|
||||
<Triangle1 V00="12" V01="13" V02="14"/>
|
||||
<Triangle1 V00="12" V01="14" V02="15"/>
|
||||
<LoadVertices Path="objects/object_box/gChestBodyFairyDL_vtx_0" VertexBufferIndex="0" VertexOffset="32" Count="12"/>
|
||||
<Triangle1 V00="0" V01="1" V02="2"/>
|
||||
<Triangle1 V00="0" V01="2" V02="3"/>
|
||||
<Triangle1 V00="4" V01="5" V02="6"/>
|
||||
<Triangle1 V00="5" V01="7" V02="6"/>
|
||||
<Triangle1 V00="5" V01="8" V02="7"/>
|
||||
<Triangle1 V00="8" V01="9" V02="7"/>
|
||||
<Triangle1 V00="8" V01="10" V02="9"/>
|
||||
<Triangle1 V00="10" V01="11" V02="9"/>
|
||||
<Triangle1 V00="10" V01="4" V02="11"/>
|
||||
<Triangle1 V00="4" V01="6" V02="11"/>
|
||||
<EndDisplayList/>
|
||||
</DisplayList>
|
||||
|
||||
@@ -0,0 +1,7 @@
|
||||
<DisplayList Version="0">
|
||||
<LoadVertices Path="objects/object_box/gChestBodyFairyDL_vtx_1" VertexBufferIndex="0" VertexOffset="0" Count="4"/>
|
||||
<Triangle1 V00="0" V01="1" V02="2"/>
|
||||
<Triangle1 V00="0" V01="2" V02="3"/>
|
||||
<EndDisplayList/>
|
||||
</DisplayList>
|
||||
|
||||
46
soh/assets/custom/objects/object_box/gChestBodyFairyDL_vtx_0
Normal file
46
soh/assets/custom/objects/object_box/gChestBodyFairyDL_vtx_0
Normal file
@@ -0,0 +1,46 @@
|
||||
<Vertex Version="0">
|
||||
<Vtx X="-2530" Y="0" Z="1950" S="-20" T="-12" R="129" G="0" B="0" A="255"/>
|
||||
<Vtx X="-2530" Y="2730" Z="1950" S="-20" T="2036" R="129" G="0" B="0" A="255"/>
|
||||
<Vtx X="-2530" Y="2730" Z="-1950" S="2036" T="2036" R="129" G="0" B="0" A="255"/>
|
||||
<Vtx X="-2530" Y="0" Z="-1950" S="2036" T="-12" R="129" G="0" B="0" A="255"/>
|
||||
<Vtx X="2530" Y="0" Z="-1950" S="2036" T="2036" R="127" G="0" B="0" A="255"/>
|
||||
<Vtx X="2530" Y="2730" Z="-1950" S="2036" T="-12" R="127" G="0" B="0" A="255"/>
|
||||
<Vtx X="2530" Y="2730" Z="1950" S="-20" T="-12" R="127" G="0" B="0" A="255"/>
|
||||
<Vtx X="2530" Y="0" Z="1950" S="-20" T="2036" R="127" G="0" B="0" A="255"/>
|
||||
<Vtx X="2530" Y="0" Z="1950" S="2036" T="2036" R="0" G="0" B="127" A="255"/>
|
||||
<Vtx X="2530" Y="2730" Z="1950" S="2036" T="-17" R="0" G="0" B="127" A="255"/>
|
||||
<Vtx X="-2530" Y="2730" Z="1950" S="-20" T="-17" R="0" G="0" B="127" A="255"/>
|
||||
<Vtx X="-2530" Y="0" Z="1950" S="-20" T="2036" R="0" G="0" B="127" A="255"/>
|
||||
<Vtx X="-2530" Y="0" Z="-1950" S="2032" T="-16" R="0" G="129" B="0" A="255"/>
|
||||
<Vtx X="2530" Y="0" Z="-1950" S="-16" T="-16" R="0" G="129" B="0" A="255"/>
|
||||
<Vtx X="2530" Y="0" Z="1950" S="-16" T="2040" R="0" G="129" B="0" A="255"/>
|
||||
<Vtx X="-2530" Y="0" Z="1950" S="2032" T="2040" R="0" G="129" B="0" A="255"/>
|
||||
<Vtx X="-2430" Y="2730" Z="1750" S="-16" T="2037" R="0" G="0" B="129" A="255"/>
|
||||
<Vtx X="2430" Y="2730" Z="1750" S="2051" T="2037" R="0" G="0" B="129" A="255"/>
|
||||
<Vtx X="2430" Y="200" Z="1750" S="2051" T="-16" R="0" G="0" B="129" A="255"/>
|
||||
<Vtx X="-2430" Y="200" Z="1750" S="-16" T="-16" R="0" G="0" B="129" A="255"/>
|
||||
<Vtx X="2430" Y="200" Z="-1750" S="2051" T="-16" R="0" G="127" B="0" A="255"/>
|
||||
<Vtx X="-2430" Y="200" Z="-1750" S="-16" T="-16" R="0" G="127" B="0" A="255"/>
|
||||
<Vtx X="-2430" Y="200" Z="1750" S="-16" T="2037" R="0" G="127" B="0" A="255"/>
|
||||
<Vtx X="2430" Y="200" Z="1750" S="2051" T="2037" R="0" G="127" B="0" A="255"/>
|
||||
<Vtx X="2430" Y="2730" Z="-1750" S="-9" T="2044" R="0" G="0" B="127" A="255"/>
|
||||
<Vtx X="-2430" Y="2730" Z="-1750" S="2044" T="2044" R="0" G="0" B="127" A="255"/>
|
||||
<Vtx X="-2430" Y="200" Z="-1750" S="2044" T="-23" R="0" G="0" B="127" A="255"/>
|
||||
<Vtx X="2430" Y="200" Z="-1750" S="-9" T="-23" R="0" G="0" B="127" A="255"/>
|
||||
<Vtx X="2430" Y="2730" Z="1750" S="-9" T="2044" R="129" G="0" B="0" A="255"/>
|
||||
<Vtx X="2430" Y="2730" Z="-1750" S="2044" T="2044" R="129" G="0" B="0" A="255"/>
|
||||
<Vtx X="2430" Y="200" Z="-1750" S="2044" T="-23" R="129" G="0" B="0" A="255"/>
|
||||
<Vtx X="2430" Y="200" Z="1750" S="-9" T="-23" R="129" G="0" B="0" A="255"/>
|
||||
<Vtx X="-2430" Y="2730" Z="-1750" S="-16" T="2037" R="127" G="0" B="0" A="255"/>
|
||||
<Vtx X="-2430" Y="2730" Z="1750" S="2051" T="2037" R="127" G="0" B="0" A="255"/>
|
||||
<Vtx X="-2430" Y="200" Z="1750" S="2051" T="-16" R="127" G="0" B="0" A="255"/>
|
||||
<Vtx X="-2430" Y="200" Z="-1750" S="-16" T="-16" R="127" G="0" B="0" A="255"/>
|
||||
<Vtx X="2430" Y="2730" Z="1750" S="83" T="81" R="0" G="127" B="0" A="255"/>
|
||||
<Vtx X="-2430" Y="2730" Z="1750" S="1932" T="102" R="0" G="127" B="0" A="255"/>
|
||||
<Vtx X="-2530" Y="2730" Z="1950" S="2021" T="-16" R="0" G="127" B="0" A="255"/>
|
||||
<Vtx X="-2530" Y="2730" Z="-1950" S="2021" T="2031" R="0" G="127" B="0" A="255"/>
|
||||
<Vtx X="-2430" Y="2730" Z="-1750" S="1932" T="1923" R="0" G="127" B="0" A="255"/>
|
||||
<Vtx X="2530" Y="2730" Z="-1950" S="-16" T="2031" R="0" G="127" B="0" A="255"/>
|
||||
<Vtx X="2430" Y="2730" Z="-1750" S="83" T="1944" R="0" G="127" B="0" A="255"/>
|
||||
<Vtx X="2530" Y="2730" Z="1950" S="-16" T="-16" R="0" G="127" B="0" A="255"/>
|
||||
</Vertex>
|
||||
@@ -0,0 +1,6 @@
|
||||
<Vertex Version="0">
|
||||
<Vtx X="-2530" Y="0" Z="-1950" S="2034" T="2028" R="0" G="0" B="129" A="255"/>
|
||||
<Vtx X="-2530" Y="2730" Z="-1950" S="2034" T="-6" R="0" G="0" B="129" A="255"/>
|
||||
<Vtx X="2530" Y="2730" Z="-1950" S="-13" T="-6" R="0" G="0" B="129" A="255"/>
|
||||
<Vtx X="2530" Y="0" Z="-1950" S="-13" T="2028" R="0" G="0" B="129" A="255"/>
|
||||
</Vertex>
|
||||
13
soh/assets/custom/objects/object_box/gChestBodyHeartDL
Normal file
13
soh/assets/custom/objects/object_box/gChestBodyHeartDL
Normal file
@@ -0,0 +1,13 @@
|
||||
<DisplayList Version="0">
|
||||
<CallDisplayList Path="objects/object_box/mat_gChestBodyHeartDL_Sides"/>
|
||||
<CallDisplayList Path="objects/object_box/gChestBodyHeartDL_tri_0"/>
|
||||
<CallDisplayList Path="objects/object_box/mat_gChestBodyHeartDL_Front"/>
|
||||
<CallDisplayList Path="objects/object_box/gChestBodyHeartDL_tri_1"/>
|
||||
<PipeSync/>
|
||||
<SetGeometryMode G_LIGHTING="1" />
|
||||
<ClearGeometryMode G_TEXTURE_GEN="1" />
|
||||
<SetCombineLERP A0="G_CCMUX_0" B0="G_CCMUX_0" C0="G_CCMUX_0" D0="G_CCMUX_SHADE" Aa0="G_ACMUX_0" Ab0="G_ACMUX_0" Ac0="G_ACMUX_0" Ad0="G_ACMUX_ENVIRONMENT" A1="G_CCMUX_0" B1="G_CCMUX_0" C1="G_CCMUX_0" D1="G_CCMUX_SHADE" Aa1="G_ACMUX_0" Ab1="G_ACMUX_0" Ac1="G_ACMUX_0" Ad1="G_ACMUX_ENVIRONMENT"/>
|
||||
<Texture S="65535" T="65535" Level="0" Tile="0" On="0"/>
|
||||
<EndDisplayList/>
|
||||
</DisplayList>
|
||||
|
||||
33
soh/assets/custom/objects/object_box/gChestBodyHeartDL_tri_0
Normal file
33
soh/assets/custom/objects/object_box/gChestBodyHeartDL_tri_0
Normal file
@@ -0,0 +1,33 @@
|
||||
<DisplayList Version="0">
|
||||
<LoadVertices Path="objects/object_box/gChestBodyHeartDL_vtx_0" VertexBufferIndex="0" VertexOffset="0" Count="16"/>
|
||||
<Triangle1 V00="0" V01="1" V02="2"/>
|
||||
<Triangle1 V00="0" V01="2" V02="3"/>
|
||||
<Triangle1 V00="4" V01="5" V02="6"/>
|
||||
<Triangle1 V00="4" V01="6" V02="7"/>
|
||||
<Triangle1 V00="8" V01="9" V02="10"/>
|
||||
<Triangle1 V00="8" V01="10" V02="11"/>
|
||||
<Triangle1 V00="12" V01="13" V02="14"/>
|
||||
<Triangle1 V00="12" V01="14" V02="15"/>
|
||||
<LoadVertices Path="objects/object_box/gChestBodyHeartDL_vtx_0" VertexBufferIndex="0" VertexOffset="16" Count="16"/>
|
||||
<Triangle1 V00="0" V01="1" V02="2"/>
|
||||
<Triangle1 V00="0" V01="2" V02="3"/>
|
||||
<Triangle1 V00="4" V01="5" V02="6"/>
|
||||
<Triangle1 V00="4" V01="6" V02="7"/>
|
||||
<Triangle1 V00="8" V01="9" V02="10"/>
|
||||
<Triangle1 V00="8" V01="10" V02="11"/>
|
||||
<Triangle1 V00="12" V01="13" V02="14"/>
|
||||
<Triangle1 V00="12" V01="14" V02="15"/>
|
||||
<LoadVertices Path="objects/object_box/gChestBodyHeartDL_vtx_0" VertexBufferIndex="0" VertexOffset="32" Count="12"/>
|
||||
<Triangle1 V00="0" V01="1" V02="2"/>
|
||||
<Triangle1 V00="0" V01="2" V02="3"/>
|
||||
<Triangle1 V00="4" V01="5" V02="6"/>
|
||||
<Triangle1 V00="5" V01="7" V02="6"/>
|
||||
<Triangle1 V00="5" V01="8" V02="7"/>
|
||||
<Triangle1 V00="8" V01="9" V02="7"/>
|
||||
<Triangle1 V00="8" V01="10" V02="9"/>
|
||||
<Triangle1 V00="10" V01="11" V02="9"/>
|
||||
<Triangle1 V00="10" V01="4" V02="11"/>
|
||||
<Triangle1 V00="4" V01="6" V02="11"/>
|
||||
<EndDisplayList/>
|
||||
</DisplayList>
|
||||
|
||||
@@ -0,0 +1,7 @@
|
||||
<DisplayList Version="0">
|
||||
<LoadVertices Path="objects/object_box/gChestBodyHeartDL_vtx_1" VertexBufferIndex="0" VertexOffset="0" Count="4"/>
|
||||
<Triangle1 V00="0" V01="1" V02="2"/>
|
||||
<Triangle1 V00="0" V01="2" V02="3"/>
|
||||
<EndDisplayList/>
|
||||
</DisplayList>
|
||||
|
||||
46
soh/assets/custom/objects/object_box/gChestBodyHeartDL_vtx_0
Normal file
46
soh/assets/custom/objects/object_box/gChestBodyHeartDL_vtx_0
Normal file
@@ -0,0 +1,46 @@
|
||||
<Vertex Version="0">
|
||||
<Vtx X="-2530" Y="0" Z="1950" S="-20" T="-12" R="129" G="0" B="0" A="255"/>
|
||||
<Vtx X="-2530" Y="2730" Z="1950" S="-20" T="2036" R="129" G="0" B="0" A="255"/>
|
||||
<Vtx X="-2530" Y="2730" Z="-1950" S="2036" T="2036" R="129" G="0" B="0" A="255"/>
|
||||
<Vtx X="-2530" Y="0" Z="-1950" S="2036" T="-12" R="129" G="0" B="0" A="255"/>
|
||||
<Vtx X="2530" Y="0" Z="-1950" S="2036" T="2036" R="127" G="0" B="0" A="255"/>
|
||||
<Vtx X="2530" Y="2730" Z="-1950" S="2036" T="-12" R="127" G="0" B="0" A="255"/>
|
||||
<Vtx X="2530" Y="2730" Z="1950" S="-20" T="-12" R="127" G="0" B="0" A="255"/>
|
||||
<Vtx X="2530" Y="0" Z="1950" S="-20" T="2036" R="127" G="0" B="0" A="255"/>
|
||||
<Vtx X="2530" Y="0" Z="1950" S="2036" T="2036" R="0" G="0" B="127" A="255"/>
|
||||
<Vtx X="2530" Y="2730" Z="1950" S="2036" T="-17" R="0" G="0" B="127" A="255"/>
|
||||
<Vtx X="-2530" Y="2730" Z="1950" S="-20" T="-17" R="0" G="0" B="127" A="255"/>
|
||||
<Vtx X="-2530" Y="0" Z="1950" S="-20" T="2036" R="0" G="0" B="127" A="255"/>
|
||||
<Vtx X="-2530" Y="0" Z="-1950" S="2032" T="-16" R="0" G="129" B="0" A="255"/>
|
||||
<Vtx X="2530" Y="0" Z="-1950" S="-16" T="-16" R="0" G="129" B="0" A="255"/>
|
||||
<Vtx X="2530" Y="0" Z="1950" S="-16" T="2040" R="0" G="129" B="0" A="255"/>
|
||||
<Vtx X="-2530" Y="0" Z="1950" S="2032" T="2040" R="0" G="129" B="0" A="255"/>
|
||||
<Vtx X="-2430" Y="2730" Z="1750" S="-16" T="2037" R="0" G="0" B="129" A="255"/>
|
||||
<Vtx X="2430" Y="2730" Z="1750" S="2051" T="2037" R="0" G="0" B="129" A="255"/>
|
||||
<Vtx X="2430" Y="200" Z="1750" S="2051" T="-16" R="0" G="0" B="129" A="255"/>
|
||||
<Vtx X="-2430" Y="200" Z="1750" S="-16" T="-16" R="0" G="0" B="129" A="255"/>
|
||||
<Vtx X="2430" Y="200" Z="-1750" S="2051" T="-16" R="0" G="127" B="0" A="255"/>
|
||||
<Vtx X="-2430" Y="200" Z="-1750" S="-16" T="-16" R="0" G="127" B="0" A="255"/>
|
||||
<Vtx X="-2430" Y="200" Z="1750" S="-16" T="2037" R="0" G="127" B="0" A="255"/>
|
||||
<Vtx X="2430" Y="200" Z="1750" S="2051" T="2037" R="0" G="127" B="0" A="255"/>
|
||||
<Vtx X="2430" Y="2730" Z="-1750" S="-9" T="2044" R="0" G="0" B="127" A="255"/>
|
||||
<Vtx X="-2430" Y="2730" Z="-1750" S="2044" T="2044" R="0" G="0" B="127" A="255"/>
|
||||
<Vtx X="-2430" Y="200" Z="-1750" S="2044" T="-23" R="0" G="0" B="127" A="255"/>
|
||||
<Vtx X="2430" Y="200" Z="-1750" S="-9" T="-23" R="0" G="0" B="127" A="255"/>
|
||||
<Vtx X="2430" Y="2730" Z="1750" S="-9" T="2044" R="129" G="0" B="0" A="255"/>
|
||||
<Vtx X="2430" Y="2730" Z="-1750" S="2044" T="2044" R="129" G="0" B="0" A="255"/>
|
||||
<Vtx X="2430" Y="200" Z="-1750" S="2044" T="-23" R="129" G="0" B="0" A="255"/>
|
||||
<Vtx X="2430" Y="200" Z="1750" S="-9" T="-23" R="129" G="0" B="0" A="255"/>
|
||||
<Vtx X="-2430" Y="2730" Z="-1750" S="-16" T="2037" R="127" G="0" B="0" A="255"/>
|
||||
<Vtx X="-2430" Y="2730" Z="1750" S="2051" T="2037" R="127" G="0" B="0" A="255"/>
|
||||
<Vtx X="-2430" Y="200" Z="1750" S="2051" T="-16" R="127" G="0" B="0" A="255"/>
|
||||
<Vtx X="-2430" Y="200" Z="-1750" S="-16" T="-16" R="127" G="0" B="0" A="255"/>
|
||||
<Vtx X="2430" Y="2730" Z="1750" S="83" T="81" R="0" G="127" B="0" A="255"/>
|
||||
<Vtx X="-2430" Y="2730" Z="1750" S="1932" T="102" R="0" G="127" B="0" A="255"/>
|
||||
<Vtx X="-2530" Y="2730" Z="1950" S="2021" T="-16" R="0" G="127" B="0" A="255"/>
|
||||
<Vtx X="-2530" Y="2730" Z="-1950" S="2021" T="2031" R="0" G="127" B="0" A="255"/>
|
||||
<Vtx X="-2430" Y="2730" Z="-1750" S="1932" T="1923" R="0" G="127" B="0" A="255"/>
|
||||
<Vtx X="2530" Y="2730" Z="-1950" S="-16" T="2031" R="0" G="127" B="0" A="255"/>
|
||||
<Vtx X="2430" Y="2730" Z="-1750" S="83" T="1944" R="0" G="127" B="0" A="255"/>
|
||||
<Vtx X="2530" Y="2730" Z="1950" S="-16" T="-16" R="0" G="127" B="0" A="255"/>
|
||||
</Vertex>
|
||||
@@ -0,0 +1,6 @@
|
||||
<Vertex Version="0">
|
||||
<Vtx X="-2530" Y="0" Z="-1950" S="2034" T="2028" R="0" G="0" B="129" A="255"/>
|
||||
<Vtx X="-2530" Y="2730" Z="-1950" S="2034" T="-6" R="0" G="0" B="129" A="255"/>
|
||||
<Vtx X="2530" Y="2730" Z="-1950" S="-13" T="-6" R="0" G="0" B="129" A="255"/>
|
||||
<Vtx X="2530" Y="0" Z="-1950" S="-13" T="2028" R="0" G="0" B="129" A="255"/>
|
||||
</Vertex>
|
||||
13
soh/assets/custom/objects/object_box/gChestBodyJunkDL
Normal file
13
soh/assets/custom/objects/object_box/gChestBodyJunkDL
Normal file
@@ -0,0 +1,13 @@
|
||||
<DisplayList Version="0">
|
||||
<CallDisplayList Path="objects/object_box/mat_gChestBodyJunkDL_Sides"/>
|
||||
<CallDisplayList Path="objects/object_box/gChestBodyJunkDL_tri_0"/>
|
||||
<CallDisplayList Path="objects/object_box/mat_gChestBodyJunkDL_Front"/>
|
||||
<CallDisplayList Path="objects/object_box/gChestBodyJunkDL_tri_1"/>
|
||||
<PipeSync/>
|
||||
<SetGeometryMode G_LIGHTING="1" />
|
||||
<ClearGeometryMode G_TEXTURE_GEN="1" />
|
||||
<SetCombineLERP A0="G_CCMUX_0" B0="G_CCMUX_0" C0="G_CCMUX_0" D0="G_CCMUX_SHADE" Aa0="G_ACMUX_0" Ab0="G_ACMUX_0" Ac0="G_ACMUX_0" Ad0="G_ACMUX_ENVIRONMENT" A1="G_CCMUX_0" B1="G_CCMUX_0" C1="G_CCMUX_0" D1="G_CCMUX_SHADE" Aa1="G_ACMUX_0" Ab1="G_ACMUX_0" Ac1="G_ACMUX_0" Ad1="G_ACMUX_ENVIRONMENT"/>
|
||||
<Texture S="65535" T="65535" Level="0" Tile="0" On="0"/>
|
||||
<EndDisplayList/>
|
||||
</DisplayList>
|
||||
|
||||
33
soh/assets/custom/objects/object_box/gChestBodyJunkDL_tri_0
Normal file
33
soh/assets/custom/objects/object_box/gChestBodyJunkDL_tri_0
Normal file
@@ -0,0 +1,33 @@
|
||||
<DisplayList Version="0">
|
||||
<LoadVertices Path="objects/object_box/gChestBodyJunkDL_vtx_0" VertexBufferIndex="0" VertexOffset="0" Count="16"/>
|
||||
<Triangle1 V00="0" V01="1" V02="2"/>
|
||||
<Triangle1 V00="0" V01="2" V02="3"/>
|
||||
<Triangle1 V00="4" V01="5" V02="6"/>
|
||||
<Triangle1 V00="4" V01="6" V02="7"/>
|
||||
<Triangle1 V00="8" V01="9" V02="10"/>
|
||||
<Triangle1 V00="8" V01="10" V02="11"/>
|
||||
<Triangle1 V00="12" V01="13" V02="14"/>
|
||||
<Triangle1 V00="12" V01="14" V02="15"/>
|
||||
<LoadVertices Path="objects/object_box/gChestBodyJunkDL_vtx_0" VertexBufferIndex="0" VertexOffset="16" Count="16"/>
|
||||
<Triangle1 V00="0" V01="1" V02="2"/>
|
||||
<Triangle1 V00="0" V01="2" V02="3"/>
|
||||
<Triangle1 V00="4" V01="5" V02="6"/>
|
||||
<Triangle1 V00="4" V01="6" V02="7"/>
|
||||
<Triangle1 V00="8" V01="9" V02="10"/>
|
||||
<Triangle1 V00="8" V01="10" V02="11"/>
|
||||
<Triangle1 V00="12" V01="13" V02="14"/>
|
||||
<Triangle1 V00="12" V01="14" V02="15"/>
|
||||
<LoadVertices Path="objects/object_box/gChestBodyJunkDL_vtx_0" VertexBufferIndex="0" VertexOffset="32" Count="12"/>
|
||||
<Triangle1 V00="0" V01="1" V02="2"/>
|
||||
<Triangle1 V00="0" V01="2" V02="3"/>
|
||||
<Triangle1 V00="4" V01="5" V02="6"/>
|
||||
<Triangle1 V00="5" V01="7" V02="6"/>
|
||||
<Triangle1 V00="5" V01="8" V02="7"/>
|
||||
<Triangle1 V00="8" V01="9" V02="7"/>
|
||||
<Triangle1 V00="8" V01="10" V02="9"/>
|
||||
<Triangle1 V00="10" V01="11" V02="9"/>
|
||||
<Triangle1 V00="10" V01="4" V02="11"/>
|
||||
<Triangle1 V00="4" V01="6" V02="11"/>
|
||||
<EndDisplayList/>
|
||||
</DisplayList>
|
||||
|
||||
@@ -0,0 +1,7 @@
|
||||
<DisplayList Version="0">
|
||||
<LoadVertices Path="objects/object_box/gChestBodyJunkDL_vtx_1" VertexBufferIndex="0" VertexOffset="0" Count="4"/>
|
||||
<Triangle1 V00="0" V01="1" V02="2"/>
|
||||
<Triangle1 V00="0" V01="2" V02="3"/>
|
||||
<EndDisplayList/>
|
||||
</DisplayList>
|
||||
|
||||
46
soh/assets/custom/objects/object_box/gChestBodyJunkDL_vtx_0
Normal file
46
soh/assets/custom/objects/object_box/gChestBodyJunkDL_vtx_0
Normal file
@@ -0,0 +1,46 @@
|
||||
<Vertex Version="0">
|
||||
<Vtx X="-2530" Y="0" Z="1950" S="-20" T="-12" R="129" G="0" B="0" A="255"/>
|
||||
<Vtx X="-2530" Y="2730" Z="1950" S="-20" T="2036" R="129" G="0" B="0" A="255"/>
|
||||
<Vtx X="-2530" Y="2730" Z="-1950" S="2036" T="2036" R="129" G="0" B="0" A="255"/>
|
||||
<Vtx X="-2530" Y="0" Z="-1950" S="2036" T="-12" R="129" G="0" B="0" A="255"/>
|
||||
<Vtx X="2530" Y="0" Z="-1950" S="2036" T="2036" R="127" G="0" B="0" A="255"/>
|
||||
<Vtx X="2530" Y="2730" Z="-1950" S="2036" T="-12" R="127" G="0" B="0" A="255"/>
|
||||
<Vtx X="2530" Y="2730" Z="1950" S="-20" T="-12" R="127" G="0" B="0" A="255"/>
|
||||
<Vtx X="2530" Y="0" Z="1950" S="-20" T="2036" R="127" G="0" B="0" A="255"/>
|
||||
<Vtx X="2530" Y="0" Z="1950" S="2036" T="2036" R="0" G="0" B="127" A="255"/>
|
||||
<Vtx X="2530" Y="2730" Z="1950" S="2036" T="-17" R="0" G="0" B="127" A="255"/>
|
||||
<Vtx X="-2530" Y="2730" Z="1950" S="-20" T="-17" R="0" G="0" B="127" A="255"/>
|
||||
<Vtx X="-2530" Y="0" Z="1950" S="-20" T="2036" R="0" G="0" B="127" A="255"/>
|
||||
<Vtx X="-2530" Y="0" Z="-1950" S="2032" T="-16" R="0" G="129" B="0" A="255"/>
|
||||
<Vtx X="2530" Y="0" Z="-1950" S="-16" T="-16" R="0" G="129" B="0" A="255"/>
|
||||
<Vtx X="2530" Y="0" Z="1950" S="-16" T="2040" R="0" G="129" B="0" A="255"/>
|
||||
<Vtx X="-2530" Y="0" Z="1950" S="2032" T="2040" R="0" G="129" B="0" A="255"/>
|
||||
<Vtx X="-2430" Y="2730" Z="1750" S="-16" T="2037" R="0" G="0" B="129" A="255"/>
|
||||
<Vtx X="2430" Y="2730" Z="1750" S="2051" T="2037" R="0" G="0" B="129" A="255"/>
|
||||
<Vtx X="2430" Y="200" Z="1750" S="2051" T="-16" R="0" G="0" B="129" A="255"/>
|
||||
<Vtx X="-2430" Y="200" Z="1750" S="-16" T="-16" R="0" G="0" B="129" A="255"/>
|
||||
<Vtx X="2430" Y="200" Z="-1750" S="2051" T="-16" R="0" G="127" B="0" A="255"/>
|
||||
<Vtx X="-2430" Y="200" Z="-1750" S="-16" T="-16" R="0" G="127" B="0" A="255"/>
|
||||
<Vtx X="-2430" Y="200" Z="1750" S="-16" T="2037" R="0" G="127" B="0" A="255"/>
|
||||
<Vtx X="2430" Y="200" Z="1750" S="2051" T="2037" R="0" G="127" B="0" A="255"/>
|
||||
<Vtx X="2430" Y="2730" Z="-1750" S="-9" T="2044" R="0" G="0" B="127" A="255"/>
|
||||
<Vtx X="-2430" Y="2730" Z="-1750" S="2044" T="2044" R="0" G="0" B="127" A="255"/>
|
||||
<Vtx X="-2430" Y="200" Z="-1750" S="2044" T="-23" R="0" G="0" B="127" A="255"/>
|
||||
<Vtx X="2430" Y="200" Z="-1750" S="-9" T="-23" R="0" G="0" B="127" A="255"/>
|
||||
<Vtx X="2430" Y="2730" Z="1750" S="-9" T="2044" R="129" G="0" B="0" A="255"/>
|
||||
<Vtx X="2430" Y="2730" Z="-1750" S="2044" T="2044" R="129" G="0" B="0" A="255"/>
|
||||
<Vtx X="2430" Y="200" Z="-1750" S="2044" T="-23" R="129" G="0" B="0" A="255"/>
|
||||
<Vtx X="2430" Y="200" Z="1750" S="-9" T="-23" R="129" G="0" B="0" A="255"/>
|
||||
<Vtx X="-2430" Y="2730" Z="-1750" S="-16" T="2037" R="127" G="0" B="0" A="255"/>
|
||||
<Vtx X="-2430" Y="2730" Z="1750" S="2051" T="2037" R="127" G="0" B="0" A="255"/>
|
||||
<Vtx X="-2430" Y="200" Z="1750" S="2051" T="-16" R="127" G="0" B="0" A="255"/>
|
||||
<Vtx X="-2430" Y="200" Z="-1750" S="-16" T="-16" R="127" G="0" B="0" A="255"/>
|
||||
<Vtx X="2430" Y="2730" Z="1750" S="83" T="81" R="0" G="127" B="0" A="255"/>
|
||||
<Vtx X="-2430" Y="2730" Z="1750" S="1932" T="102" R="0" G="127" B="0" A="255"/>
|
||||
<Vtx X="-2530" Y="2730" Z="1950" S="2021" T="-16" R="0" G="127" B="0" A="255"/>
|
||||
<Vtx X="-2530" Y="2730" Z="-1950" S="2021" T="2031" R="0" G="127" B="0" A="255"/>
|
||||
<Vtx X="-2430" Y="2730" Z="-1750" S="1932" T="1923" R="0" G="127" B="0" A="255"/>
|
||||
<Vtx X="2530" Y="2730" Z="-1950" S="-16" T="2031" R="0" G="127" B="0" A="255"/>
|
||||
<Vtx X="2430" Y="2730" Z="-1750" S="83" T="1944" R="0" G="127" B="0" A="255"/>
|
||||
<Vtx X="2530" Y="2730" Z="1950" S="-16" T="-16" R="0" G="127" B="0" A="255"/>
|
||||
</Vertex>
|
||||
@@ -0,0 +1,6 @@
|
||||
<Vertex Version="0">
|
||||
<Vtx X="-2530" Y="0" Z="-1950" S="2034" T="2028" R="0" G="0" B="129" A="255"/>
|
||||
<Vtx X="-2530" Y="2730" Z="-1950" S="2034" T="-6" R="0" G="0" B="129" A="255"/>
|
||||
<Vtx X="2530" Y="2730" Z="-1950" S="-13" T="-6" R="0" G="0" B="129" A="255"/>
|
||||
<Vtx X="2530" Y="0" Z="-1950" S="-13" T="2028" R="0" G="0" B="129" A="255"/>
|
||||
</Vertex>
|
||||
13
soh/assets/custom/objects/object_box/gChestBodyMajorDL
Normal file
13
soh/assets/custom/objects/object_box/gChestBodyMajorDL
Normal file
@@ -0,0 +1,13 @@
|
||||
<DisplayList Version="0">
|
||||
<CallDisplayList Path="objects/object_box/mat_gChestBodyMajorDL_Sides"/>
|
||||
<CallDisplayList Path="objects/object_box/gChestBodyMajorDL_tri_0"/>
|
||||
<CallDisplayList Path="objects/object_box/mat_gChestBodyMajorDL_Front"/>
|
||||
<CallDisplayList Path="objects/object_box/gChestBodyMajorDL_tri_1"/>
|
||||
<PipeSync/>
|
||||
<SetGeometryMode G_LIGHTING="1" />
|
||||
<ClearGeometryMode G_TEXTURE_GEN="1" />
|
||||
<SetCombineLERP A0="G_CCMUX_0" B0="G_CCMUX_0" C0="G_CCMUX_0" D0="G_CCMUX_SHADE" Aa0="G_ACMUX_0" Ab0="G_ACMUX_0" Ac0="G_ACMUX_0" Ad0="G_ACMUX_ENVIRONMENT" A1="G_CCMUX_0" B1="G_CCMUX_0" C1="G_CCMUX_0" D1="G_CCMUX_SHADE" Aa1="G_ACMUX_0" Ab1="G_ACMUX_0" Ac1="G_ACMUX_0" Ad1="G_ACMUX_ENVIRONMENT"/>
|
||||
<Texture S="65535" T="65535" Level="0" Tile="0" On="0"/>
|
||||
<EndDisplayList/>
|
||||
</DisplayList>
|
||||
|
||||
33
soh/assets/custom/objects/object_box/gChestBodyMajorDL_tri_0
Normal file
33
soh/assets/custom/objects/object_box/gChestBodyMajorDL_tri_0
Normal file
@@ -0,0 +1,33 @@
|
||||
<DisplayList Version="0">
|
||||
<LoadVertices Path="objects/object_box/gChestBodyMajorDL_vtx_0" VertexBufferIndex="0" VertexOffset="0" Count="16"/>
|
||||
<Triangle1 V00="0" V01="1" V02="2"/>
|
||||
<Triangle1 V00="0" V01="2" V02="3"/>
|
||||
<Triangle1 V00="4" V01="5" V02="6"/>
|
||||
<Triangle1 V00="4" V01="6" V02="7"/>
|
||||
<Triangle1 V00="8" V01="9" V02="10"/>
|
||||
<Triangle1 V00="8" V01="10" V02="11"/>
|
||||
<Triangle1 V00="12" V01="13" V02="14"/>
|
||||
<Triangle1 V00="12" V01="14" V02="15"/>
|
||||
<LoadVertices Path="objects/object_box/gChestBodyMajorDL_vtx_0" VertexBufferIndex="0" VertexOffset="16" Count="16"/>
|
||||
<Triangle1 V00="0" V01="1" V02="2"/>
|
||||
<Triangle1 V00="0" V01="2" V02="3"/>
|
||||
<Triangle1 V00="4" V01="5" V02="6"/>
|
||||
<Triangle1 V00="4" V01="6" V02="7"/>
|
||||
<Triangle1 V00="8" V01="9" V02="10"/>
|
||||
<Triangle1 V00="8" V01="10" V02="11"/>
|
||||
<Triangle1 V00="12" V01="13" V02="14"/>
|
||||
<Triangle1 V00="12" V01="14" V02="15"/>
|
||||
<LoadVertices Path="objects/object_box/gChestBodyMajorDL_vtx_0" VertexBufferIndex="0" VertexOffset="32" Count="12"/>
|
||||
<Triangle1 V00="0" V01="1" V02="2"/>
|
||||
<Triangle1 V00="0" V01="2" V02="3"/>
|
||||
<Triangle1 V00="4" V01="5" V02="6"/>
|
||||
<Triangle1 V00="5" V01="7" V02="6"/>
|
||||
<Triangle1 V00="5" V01="8" V02="7"/>
|
||||
<Triangle1 V00="8" V01="9" V02="7"/>
|
||||
<Triangle1 V00="8" V01="10" V02="9"/>
|
||||
<Triangle1 V00="10" V01="11" V02="9"/>
|
||||
<Triangle1 V00="10" V01="4" V02="11"/>
|
||||
<Triangle1 V00="4" V01="6" V02="11"/>
|
||||
<EndDisplayList/>
|
||||
</DisplayList>
|
||||
|
||||
@@ -0,0 +1,7 @@
|
||||
<DisplayList Version="0">
|
||||
<LoadVertices Path="objects/object_box/gChestBodyMajorDL_vtx_1" VertexBufferIndex="0" VertexOffset="0" Count="4"/>
|
||||
<Triangle1 V00="0" V01="1" V02="2"/>
|
||||
<Triangle1 V00="0" V01="2" V02="3"/>
|
||||
<EndDisplayList/>
|
||||
</DisplayList>
|
||||
|
||||
46
soh/assets/custom/objects/object_box/gChestBodyMajorDL_vtx_0
Normal file
46
soh/assets/custom/objects/object_box/gChestBodyMajorDL_vtx_0
Normal file
@@ -0,0 +1,46 @@
|
||||
<Vertex Version="0">
|
||||
<Vtx X="-2530" Y="0" Z="1950" S="-20" T="-12" R="129" G="0" B="0" A="255"/>
|
||||
<Vtx X="-2530" Y="2730" Z="1950" S="-20" T="2036" R="129" G="0" B="0" A="255"/>
|
||||
<Vtx X="-2530" Y="2730" Z="-1950" S="2036" T="2036" R="129" G="0" B="0" A="255"/>
|
||||
<Vtx X="-2530" Y="0" Z="-1950" S="2036" T="-12" R="129" G="0" B="0" A="255"/>
|
||||
<Vtx X="2530" Y="0" Z="-1950" S="2036" T="2036" R="127" G="0" B="0" A="255"/>
|
||||
<Vtx X="2530" Y="2730" Z="-1950" S="2036" T="-12" R="127" G="0" B="0" A="255"/>
|
||||
<Vtx X="2530" Y="2730" Z="1950" S="-20" T="-12" R="127" G="0" B="0" A="255"/>
|
||||
<Vtx X="2530" Y="0" Z="1950" S="-20" T="2036" R="127" G="0" B="0" A="255"/>
|
||||
<Vtx X="2530" Y="0" Z="1950" S="2036" T="2036" R="0" G="0" B="127" A="255"/>
|
||||
<Vtx X="2530" Y="2730" Z="1950" S="2036" T="-17" R="0" G="0" B="127" A="255"/>
|
||||
<Vtx X="-2530" Y="2730" Z="1950" S="-20" T="-17" R="0" G="0" B="127" A="255"/>
|
||||
<Vtx X="-2530" Y="0" Z="1950" S="-20" T="2036" R="0" G="0" B="127" A="255"/>
|
||||
<Vtx X="-2530" Y="0" Z="-1950" S="2032" T="-16" R="0" G="129" B="0" A="255"/>
|
||||
<Vtx X="2530" Y="0" Z="-1950" S="-16" T="-16" R="0" G="129" B="0" A="255"/>
|
||||
<Vtx X="2530" Y="0" Z="1950" S="-16" T="2040" R="0" G="129" B="0" A="255"/>
|
||||
<Vtx X="-2530" Y="0" Z="1950" S="2032" T="2040" R="0" G="129" B="0" A="255"/>
|
||||
<Vtx X="-2430" Y="2730" Z="1750" S="-16" T="2037" R="0" G="0" B="129" A="255"/>
|
||||
<Vtx X="2430" Y="2730" Z="1750" S="2051" T="2037" R="0" G="0" B="129" A="255"/>
|
||||
<Vtx X="2430" Y="200" Z="1750" S="2051" T="-16" R="0" G="0" B="129" A="255"/>
|
||||
<Vtx X="-2430" Y="200" Z="1750" S="-16" T="-16" R="0" G="0" B="129" A="255"/>
|
||||
<Vtx X="2430" Y="200" Z="-1750" S="2051" T="-16" R="0" G="127" B="0" A="255"/>
|
||||
<Vtx X="-2430" Y="200" Z="-1750" S="-16" T="-16" R="0" G="127" B="0" A="255"/>
|
||||
<Vtx X="-2430" Y="200" Z="1750" S="-16" T="2037" R="0" G="127" B="0" A="255"/>
|
||||
<Vtx X="2430" Y="200" Z="1750" S="2051" T="2037" R="0" G="127" B="0" A="255"/>
|
||||
<Vtx X="2430" Y="2730" Z="-1750" S="-9" T="2044" R="0" G="0" B="127" A="255"/>
|
||||
<Vtx X="-2430" Y="2730" Z="-1750" S="2044" T="2044" R="0" G="0" B="127" A="255"/>
|
||||
<Vtx X="-2430" Y="200" Z="-1750" S="2044" T="-23" R="0" G="0" B="127" A="255"/>
|
||||
<Vtx X="2430" Y="200" Z="-1750" S="-9" T="-23" R="0" G="0" B="127" A="255"/>
|
||||
<Vtx X="2430" Y="2730" Z="1750" S="-9" T="2044" R="129" G="0" B="0" A="255"/>
|
||||
<Vtx X="2430" Y="2730" Z="-1750" S="2044" T="2044" R="129" G="0" B="0" A="255"/>
|
||||
<Vtx X="2430" Y="200" Z="-1750" S="2044" T="-23" R="129" G="0" B="0" A="255"/>
|
||||
<Vtx X="2430" Y="200" Z="1750" S="-9" T="-23" R="129" G="0" B="0" A="255"/>
|
||||
<Vtx X="-2430" Y="2730" Z="-1750" S="-16" T="2037" R="127" G="0" B="0" A="255"/>
|
||||
<Vtx X="-2430" Y="2730" Z="1750" S="2051" T="2037" R="127" G="0" B="0" A="255"/>
|
||||
<Vtx X="-2430" Y="200" Z="1750" S="2051" T="-16" R="127" G="0" B="0" A="255"/>
|
||||
<Vtx X="-2430" Y="200" Z="-1750" S="-16" T="-16" R="127" G="0" B="0" A="255"/>
|
||||
<Vtx X="2430" Y="2730" Z="1750" S="83" T="81" R="0" G="127" B="0" A="255"/>
|
||||
<Vtx X="-2430" Y="2730" Z="1750" S="1932" T="102" R="0" G="127" B="0" A="255"/>
|
||||
<Vtx X="-2530" Y="2730" Z="1950" S="2021" T="-16" R="0" G="127" B="0" A="255"/>
|
||||
<Vtx X="-2530" Y="2730" Z="-1950" S="2021" T="2031" R="0" G="127" B="0" A="255"/>
|
||||
<Vtx X="-2430" Y="2730" Z="-1750" S="1932" T="1923" R="0" G="127" B="0" A="255"/>
|
||||
<Vtx X="2530" Y="2730" Z="-1950" S="-16" T="2031" R="0" G="127" B="0" A="255"/>
|
||||
<Vtx X="2430" Y="2730" Z="-1750" S="83" T="1944" R="0" G="127" B="0" A="255"/>
|
||||
<Vtx X="2530" Y="2730" Z="1950" S="-16" T="-16" R="0" G="127" B="0" A="255"/>
|
||||
</Vertex>
|
||||
@@ -0,0 +1,6 @@
|
||||
<Vertex Version="0">
|
||||
<Vtx X="-2530" Y="0" Z="-1950" S="2034" T="2028" R="0" G="0" B="129" A="255"/>
|
||||
<Vtx X="-2530" Y="2730" Z="-1950" S="2034" T="-6" R="0" G="0" B="129" A="255"/>
|
||||
<Vtx X="2530" Y="2730" Z="-1950" S="-13" T="-6" R="0" G="0" B="129" A="255"/>
|
||||
<Vtx X="2530" Y="0" Z="-1950" S="-13" T="2028" R="0" G="0" B="129" A="255"/>
|
||||
</Vertex>
|
||||
13
soh/assets/custom/objects/object_box/gChestBodyMaskDL
Normal file
13
soh/assets/custom/objects/object_box/gChestBodyMaskDL
Normal file
@@ -0,0 +1,13 @@
|
||||
<DisplayList Version="0">
|
||||
<CallDisplayList Path="objects/object_box/mat_gChestBodyMaskDL_Sides"/>
|
||||
<CallDisplayList Path="objects/object_box/gChestBodyMaskDL_tri_0"/>
|
||||
<CallDisplayList Path="objects/object_box/mat_gChestBodyMaskDL_Front"/>
|
||||
<CallDisplayList Path="objects/object_box/gChestBodyMaskDL_tri_1"/>
|
||||
<PipeSync/>
|
||||
<SetGeometryMode G_LIGHTING="1" />
|
||||
<ClearGeometryMode G_TEXTURE_GEN="1" />
|
||||
<SetCombineLERP A0="G_CCMUX_0" B0="G_CCMUX_0" C0="G_CCMUX_0" D0="G_CCMUX_SHADE" Aa0="G_ACMUX_0" Ab0="G_ACMUX_0" Ac0="G_ACMUX_0" Ad0="G_ACMUX_ENVIRONMENT" A1="G_CCMUX_0" B1="G_CCMUX_0" C1="G_CCMUX_0" D1="G_CCMUX_SHADE" Aa1="G_ACMUX_0" Ab1="G_ACMUX_0" Ac1="G_ACMUX_0" Ad1="G_ACMUX_ENVIRONMENT"/>
|
||||
<Texture S="65535" T="65535" Level="0" Tile="0" On="0"/>
|
||||
<EndDisplayList/>
|
||||
</DisplayList>
|
||||
|
||||
33
soh/assets/custom/objects/object_box/gChestBodyMaskDL_tri_0
Normal file
33
soh/assets/custom/objects/object_box/gChestBodyMaskDL_tri_0
Normal file
@@ -0,0 +1,33 @@
|
||||
<DisplayList Version="0">
|
||||
<LoadVertices Path="objects/object_box/gChestBodyMaskDL_vtx_0" VertexBufferIndex="0" VertexOffset="0" Count="16"/>
|
||||
<Triangle1 V00="0" V01="1" V02="2"/>
|
||||
<Triangle1 V00="0" V01="2" V02="3"/>
|
||||
<Triangle1 V00="4" V01="5" V02="6"/>
|
||||
<Triangle1 V00="4" V01="6" V02="7"/>
|
||||
<Triangle1 V00="8" V01="9" V02="10"/>
|
||||
<Triangle1 V00="8" V01="10" V02="11"/>
|
||||
<Triangle1 V00="12" V01="13" V02="14"/>
|
||||
<Triangle1 V00="12" V01="14" V02="15"/>
|
||||
<LoadVertices Path="objects/object_box/gChestBodyMaskDL_vtx_0" VertexBufferIndex="0" VertexOffset="16" Count="16"/>
|
||||
<Triangle1 V00="0" V01="1" V02="2"/>
|
||||
<Triangle1 V00="0" V01="2" V02="3"/>
|
||||
<Triangle1 V00="4" V01="5" V02="6"/>
|
||||
<Triangle1 V00="4" V01="6" V02="7"/>
|
||||
<Triangle1 V00="8" V01="9" V02="10"/>
|
||||
<Triangle1 V00="8" V01="10" V02="11"/>
|
||||
<Triangle1 V00="12" V01="13" V02="14"/>
|
||||
<Triangle1 V00="12" V01="14" V02="15"/>
|
||||
<LoadVertices Path="objects/object_box/gChestBodyMaskDL_vtx_0" VertexBufferIndex="0" VertexOffset="32" Count="12"/>
|
||||
<Triangle1 V00="0" V01="1" V02="2"/>
|
||||
<Triangle1 V00="0" V01="2" V02="3"/>
|
||||
<Triangle1 V00="4" V01="5" V02="6"/>
|
||||
<Triangle1 V00="5" V01="7" V02="6"/>
|
||||
<Triangle1 V00="5" V01="8" V02="7"/>
|
||||
<Triangle1 V00="8" V01="9" V02="7"/>
|
||||
<Triangle1 V00="8" V01="10" V02="9"/>
|
||||
<Triangle1 V00="10" V01="11" V02="9"/>
|
||||
<Triangle1 V00="10" V01="4" V02="11"/>
|
||||
<Triangle1 V00="4" V01="6" V02="11"/>
|
||||
<EndDisplayList/>
|
||||
</DisplayList>
|
||||
|
||||
@@ -0,0 +1,7 @@
|
||||
<DisplayList Version="0">
|
||||
<LoadVertices Path="objects/object_box/gChestBodyMaskDL_vtx_1" VertexBufferIndex="0" VertexOffset="0" Count="4"/>
|
||||
<Triangle1 V00="0" V01="1" V02="2"/>
|
||||
<Triangle1 V00="0" V01="2" V02="3"/>
|
||||
<EndDisplayList/>
|
||||
</DisplayList>
|
||||
|
||||
46
soh/assets/custom/objects/object_box/gChestBodyMaskDL_vtx_0
Normal file
46
soh/assets/custom/objects/object_box/gChestBodyMaskDL_vtx_0
Normal file
@@ -0,0 +1,46 @@
|
||||
<Vertex Version="0">
|
||||
<Vtx X="-2530" Y="0" Z="1950" S="-20" T="-12" R="129" G="0" B="0" A="255"/>
|
||||
<Vtx X="-2530" Y="2730" Z="1950" S="-20" T="2036" R="129" G="0" B="0" A="255"/>
|
||||
<Vtx X="-2530" Y="2730" Z="-1950" S="2036" T="2036" R="129" G="0" B="0" A="255"/>
|
||||
<Vtx X="-2530" Y="0" Z="-1950" S="2036" T="-12" R="129" G="0" B="0" A="255"/>
|
||||
<Vtx X="2530" Y="0" Z="-1950" S="2036" T="2036" R="127" G="0" B="0" A="255"/>
|
||||
<Vtx X="2530" Y="2730" Z="-1950" S="2036" T="-12" R="127" G="0" B="0" A="255"/>
|
||||
<Vtx X="2530" Y="2730" Z="1950" S="-20" T="-12" R="127" G="0" B="0" A="255"/>
|
||||
<Vtx X="2530" Y="0" Z="1950" S="-20" T="2036" R="127" G="0" B="0" A="255"/>
|
||||
<Vtx X="2530" Y="0" Z="1950" S="2036" T="2036" R="0" G="0" B="127" A="255"/>
|
||||
<Vtx X="2530" Y="2730" Z="1950" S="2036" T="-17" R="0" G="0" B="127" A="255"/>
|
||||
<Vtx X="-2530" Y="2730" Z="1950" S="-20" T="-17" R="0" G="0" B="127" A="255"/>
|
||||
<Vtx X="-2530" Y="0" Z="1950" S="-20" T="2036" R="0" G="0" B="127" A="255"/>
|
||||
<Vtx X="-2530" Y="0" Z="-1950" S="2032" T="-16" R="0" G="129" B="0" A="255"/>
|
||||
<Vtx X="2530" Y="0" Z="-1950" S="-16" T="-16" R="0" G="129" B="0" A="255"/>
|
||||
<Vtx X="2530" Y="0" Z="1950" S="-16" T="2040" R="0" G="129" B="0" A="255"/>
|
||||
<Vtx X="-2530" Y="0" Z="1950" S="2032" T="2040" R="0" G="129" B="0" A="255"/>
|
||||
<Vtx X="-2430" Y="2730" Z="1750" S="-16" T="2037" R="0" G="0" B="129" A="255"/>
|
||||
<Vtx X="2430" Y="2730" Z="1750" S="2051" T="2037" R="0" G="0" B="129" A="255"/>
|
||||
<Vtx X="2430" Y="200" Z="1750" S="2051" T="-16" R="0" G="0" B="129" A="255"/>
|
||||
<Vtx X="-2430" Y="200" Z="1750" S="-16" T="-16" R="0" G="0" B="129" A="255"/>
|
||||
<Vtx X="2430" Y="200" Z="-1750" S="2051" T="-16" R="0" G="127" B="0" A="255"/>
|
||||
<Vtx X="-2430" Y="200" Z="-1750" S="-16" T="-16" R="0" G="127" B="0" A="255"/>
|
||||
<Vtx X="-2430" Y="200" Z="1750" S="-16" T="2037" R="0" G="127" B="0" A="255"/>
|
||||
<Vtx X="2430" Y="200" Z="1750" S="2051" T="2037" R="0" G="127" B="0" A="255"/>
|
||||
<Vtx X="2430" Y="2730" Z="-1750" S="-9" T="2044" R="0" G="0" B="127" A="255"/>
|
||||
<Vtx X="-2430" Y="2730" Z="-1750" S="2044" T="2044" R="0" G="0" B="127" A="255"/>
|
||||
<Vtx X="-2430" Y="200" Z="-1750" S="2044" T="-23" R="0" G="0" B="127" A="255"/>
|
||||
<Vtx X="2430" Y="200" Z="-1750" S="-9" T="-23" R="0" G="0" B="127" A="255"/>
|
||||
<Vtx X="2430" Y="2730" Z="1750" S="-9" T="2044" R="129" G="0" B="0" A="255"/>
|
||||
<Vtx X="2430" Y="2730" Z="-1750" S="2044" T="2044" R="129" G="0" B="0" A="255"/>
|
||||
<Vtx X="2430" Y="200" Z="-1750" S="2044" T="-23" R="129" G="0" B="0" A="255"/>
|
||||
<Vtx X="2430" Y="200" Z="1750" S="-9" T="-23" R="129" G="0" B="0" A="255"/>
|
||||
<Vtx X="-2430" Y="2730" Z="-1750" S="-16" T="2037" R="127" G="0" B="0" A="255"/>
|
||||
<Vtx X="-2430" Y="2730" Z="1750" S="2051" T="2037" R="127" G="0" B="0" A="255"/>
|
||||
<Vtx X="-2430" Y="200" Z="1750" S="2051" T="-16" R="127" G="0" B="0" A="255"/>
|
||||
<Vtx X="-2430" Y="200" Z="-1750" S="-16" T="-16" R="127" G="0" B="0" A="255"/>
|
||||
<Vtx X="2430" Y="2730" Z="1750" S="83" T="81" R="0" G="127" B="0" A="255"/>
|
||||
<Vtx X="-2430" Y="2730" Z="1750" S="1932" T="102" R="0" G="127" B="0" A="255"/>
|
||||
<Vtx X="-2530" Y="2730" Z="1950" S="2021" T="-16" R="0" G="127" B="0" A="255"/>
|
||||
<Vtx X="-2530" Y="2730" Z="-1950" S="2021" T="2031" R="0" G="127" B="0" A="255"/>
|
||||
<Vtx X="-2430" Y="2730" Z="-1750" S="1932" T="1923" R="0" G="127" B="0" A="255"/>
|
||||
<Vtx X="2530" Y="2730" Z="-1950" S="-16" T="2031" R="0" G="127" B="0" A="255"/>
|
||||
<Vtx X="2430" Y="2730" Z="-1750" S="83" T="1944" R="0" G="127" B="0" A="255"/>
|
||||
<Vtx X="2530" Y="2730" Z="1950" S="-16" T="-16" R="0" G="127" B="0" A="255"/>
|
||||
</Vertex>
|
||||
@@ -0,0 +1,6 @@
|
||||
<Vertex Version="0">
|
||||
<Vtx X="-2530" Y="0" Z="-1950" S="2034" T="2028" R="0" G="0" B="129" A="255"/>
|
||||
<Vtx X="-2530" Y="2730" Z="-1950" S="2034" T="-6" R="0" G="0" B="129" A="255"/>
|
||||
<Vtx X="2530" Y="2730" Z="-1950" S="-13" T="-6" R="0" G="0" B="129" A="255"/>
|
||||
<Vtx X="2530" Y="0" Z="-1950" S="-13" T="2028" R="0" G="0" B="129" A="255"/>
|
||||
</Vertex>
|
||||
13
soh/assets/custom/objects/object_box/gChestBodyMinorDL
Normal file
13
soh/assets/custom/objects/object_box/gChestBodyMinorDL
Normal file
@@ -0,0 +1,13 @@
|
||||
<DisplayList Version="0">
|
||||
<CallDisplayList Path="objects/object_box/mat_gChestBodyMinorDL_Sides"/>
|
||||
<CallDisplayList Path="objects/object_box/gChestBodyMinorDL_tri_0"/>
|
||||
<CallDisplayList Path="objects/object_box/mat_gChestBodyMinorDL_Front"/>
|
||||
<CallDisplayList Path="objects/object_box/gChestBodyMinorDL_tri_1"/>
|
||||
<PipeSync/>
|
||||
<SetGeometryMode G_LIGHTING="1" />
|
||||
<ClearGeometryMode G_TEXTURE_GEN="1" />
|
||||
<SetCombineLERP A0="G_CCMUX_0" B0="G_CCMUX_0" C0="G_CCMUX_0" D0="G_CCMUX_SHADE" Aa0="G_ACMUX_0" Ab0="G_ACMUX_0" Ac0="G_ACMUX_0" Ad0="G_ACMUX_ENVIRONMENT" A1="G_CCMUX_0" B1="G_CCMUX_0" C1="G_CCMUX_0" D1="G_CCMUX_SHADE" Aa1="G_ACMUX_0" Ab1="G_ACMUX_0" Ac1="G_ACMUX_0" Ad1="G_ACMUX_ENVIRONMENT"/>
|
||||
<Texture S="65535" T="65535" Level="0" Tile="0" On="0"/>
|
||||
<EndDisplayList/>
|
||||
</DisplayList>
|
||||
|
||||
33
soh/assets/custom/objects/object_box/gChestBodyMinorDL_tri_0
Normal file
33
soh/assets/custom/objects/object_box/gChestBodyMinorDL_tri_0
Normal file
@@ -0,0 +1,33 @@
|
||||
<DisplayList Version="0">
|
||||
<LoadVertices Path="objects/object_box/gChestBodyMinorDL_vtx_0" VertexBufferIndex="0" VertexOffset="0" Count="16"/>
|
||||
<Triangle1 V00="0" V01="1" V02="2"/>
|
||||
<Triangle1 V00="0" V01="2" V02="3"/>
|
||||
<Triangle1 V00="4" V01="5" V02="6"/>
|
||||
<Triangle1 V00="4" V01="6" V02="7"/>
|
||||
<Triangle1 V00="8" V01="9" V02="10"/>
|
||||
<Triangle1 V00="8" V01="10" V02="11"/>
|
||||
<Triangle1 V00="12" V01="13" V02="14"/>
|
||||
<Triangle1 V00="12" V01="14" V02="15"/>
|
||||
<LoadVertices Path="objects/object_box/gChestBodyMinorDL_vtx_0" VertexBufferIndex="0" VertexOffset="16" Count="16"/>
|
||||
<Triangle1 V00="0" V01="1" V02="2"/>
|
||||
<Triangle1 V00="0" V01="2" V02="3"/>
|
||||
<Triangle1 V00="4" V01="5" V02="6"/>
|
||||
<Triangle1 V00="4" V01="6" V02="7"/>
|
||||
<Triangle1 V00="8" V01="9" V02="10"/>
|
||||
<Triangle1 V00="8" V01="10" V02="11"/>
|
||||
<Triangle1 V00="12" V01="13" V02="14"/>
|
||||
<Triangle1 V00="12" V01="14" V02="15"/>
|
||||
<LoadVertices Path="objects/object_box/gChestBodyMinorDL_vtx_0" VertexBufferIndex="0" VertexOffset="32" Count="12"/>
|
||||
<Triangle1 V00="0" V01="1" V02="2"/>
|
||||
<Triangle1 V00="0" V01="2" V02="3"/>
|
||||
<Triangle1 V00="4" V01="5" V02="6"/>
|
||||
<Triangle1 V00="5" V01="7" V02="6"/>
|
||||
<Triangle1 V00="5" V01="8" V02="7"/>
|
||||
<Triangle1 V00="8" V01="9" V02="7"/>
|
||||
<Triangle1 V00="8" V01="10" V02="9"/>
|
||||
<Triangle1 V00="10" V01="11" V02="9"/>
|
||||
<Triangle1 V00="10" V01="4" V02="11"/>
|
||||
<Triangle1 V00="4" V01="6" V02="11"/>
|
||||
<EndDisplayList/>
|
||||
</DisplayList>
|
||||
|
||||
@@ -0,0 +1,7 @@
|
||||
<DisplayList Version="0">
|
||||
<LoadVertices Path="objects/object_box/gChestBodyMinorDL_vtx_1" VertexBufferIndex="0" VertexOffset="0" Count="4"/>
|
||||
<Triangle1 V00="0" V01="1" V02="2"/>
|
||||
<Triangle1 V00="0" V01="2" V02="3"/>
|
||||
<EndDisplayList/>
|
||||
</DisplayList>
|
||||
|
||||
46
soh/assets/custom/objects/object_box/gChestBodyMinorDL_vtx_0
Normal file
46
soh/assets/custom/objects/object_box/gChestBodyMinorDL_vtx_0
Normal file
@@ -0,0 +1,46 @@
|
||||
<Vertex Version="0">
|
||||
<Vtx X="-2530" Y="0" Z="1950" S="-20" T="-12" R="129" G="0" B="0" A="255"/>
|
||||
<Vtx X="-2530" Y="2730" Z="1950" S="-20" T="2036" R="129" G="0" B="0" A="255"/>
|
||||
<Vtx X="-2530" Y="2730" Z="-1950" S="2036" T="2036" R="129" G="0" B="0" A="255"/>
|
||||
<Vtx X="-2530" Y="0" Z="-1950" S="2036" T="-12" R="129" G="0" B="0" A="255"/>
|
||||
<Vtx X="2530" Y="0" Z="-1950" S="2036" T="2036" R="127" G="0" B="0" A="255"/>
|
||||
<Vtx X="2530" Y="2730" Z="-1950" S="2036" T="-12" R="127" G="0" B="0" A="255"/>
|
||||
<Vtx X="2530" Y="2730" Z="1950" S="-20" T="-12" R="127" G="0" B="0" A="255"/>
|
||||
<Vtx X="2530" Y="0" Z="1950" S="-20" T="2036" R="127" G="0" B="0" A="255"/>
|
||||
<Vtx X="2530" Y="0" Z="1950" S="2036" T="2036" R="0" G="0" B="127" A="255"/>
|
||||
<Vtx X="2530" Y="2730" Z="1950" S="2036" T="-17" R="0" G="0" B="127" A="255"/>
|
||||
<Vtx X="-2530" Y="2730" Z="1950" S="-20" T="-17" R="0" G="0" B="127" A="255"/>
|
||||
<Vtx X="-2530" Y="0" Z="1950" S="-20" T="2036" R="0" G="0" B="127" A="255"/>
|
||||
<Vtx X="-2530" Y="0" Z="-1950" S="2032" T="-16" R="0" G="129" B="0" A="255"/>
|
||||
<Vtx X="2530" Y="0" Z="-1950" S="-16" T="-16" R="0" G="129" B="0" A="255"/>
|
||||
<Vtx X="2530" Y="0" Z="1950" S="-16" T="2040" R="0" G="129" B="0" A="255"/>
|
||||
<Vtx X="-2530" Y="0" Z="1950" S="2032" T="2040" R="0" G="129" B="0" A="255"/>
|
||||
<Vtx X="-2430" Y="2730" Z="1750" S="-16" T="2037" R="0" G="0" B="129" A="255"/>
|
||||
<Vtx X="2430" Y="2730" Z="1750" S="2051" T="2037" R="0" G="0" B="129" A="255"/>
|
||||
<Vtx X="2430" Y="200" Z="1750" S="2051" T="-16" R="0" G="0" B="129" A="255"/>
|
||||
<Vtx X="-2430" Y="200" Z="1750" S="-16" T="-16" R="0" G="0" B="129" A="255"/>
|
||||
<Vtx X="2430" Y="200" Z="-1750" S="2051" T="-16" R="0" G="127" B="0" A="255"/>
|
||||
<Vtx X="-2430" Y="200" Z="-1750" S="-16" T="-16" R="0" G="127" B="0" A="255"/>
|
||||
<Vtx X="-2430" Y="200" Z="1750" S="-16" T="2037" R="0" G="127" B="0" A="255"/>
|
||||
<Vtx X="2430" Y="200" Z="1750" S="2051" T="2037" R="0" G="127" B="0" A="255"/>
|
||||
<Vtx X="2430" Y="2730" Z="-1750" S="-9" T="2044" R="0" G="0" B="127" A="255"/>
|
||||
<Vtx X="-2430" Y="2730" Z="-1750" S="2044" T="2044" R="0" G="0" B="127" A="255"/>
|
||||
<Vtx X="-2430" Y="200" Z="-1750" S="2044" T="-23" R="0" G="0" B="127" A="255"/>
|
||||
<Vtx X="2430" Y="200" Z="-1750" S="-9" T="-23" R="0" G="0" B="127" A="255"/>
|
||||
<Vtx X="2430" Y="2730" Z="1750" S="-9" T="2044" R="129" G="0" B="0" A="255"/>
|
||||
<Vtx X="2430" Y="2730" Z="-1750" S="2044" T="2044" R="129" G="0" B="0" A="255"/>
|
||||
<Vtx X="2430" Y="200" Z="-1750" S="2044" T="-23" R="129" G="0" B="0" A="255"/>
|
||||
<Vtx X="2430" Y="200" Z="1750" S="-9" T="-23" R="129" G="0" B="0" A="255"/>
|
||||
<Vtx X="-2430" Y="2730" Z="-1750" S="-16" T="2037" R="127" G="0" B="0" A="255"/>
|
||||
<Vtx X="-2430" Y="2730" Z="1750" S="2051" T="2037" R="127" G="0" B="0" A="255"/>
|
||||
<Vtx X="-2430" Y="200" Z="1750" S="2051" T="-16" R="127" G="0" B="0" A="255"/>
|
||||
<Vtx X="-2430" Y="200" Z="-1750" S="-16" T="-16" R="127" G="0" B="0" A="255"/>
|
||||
<Vtx X="2430" Y="2730" Z="1750" S="83" T="81" R="0" G="127" B="0" A="255"/>
|
||||
<Vtx X="-2430" Y="2730" Z="1750" S="1932" T="102" R="0" G="127" B="0" A="255"/>
|
||||
<Vtx X="-2530" Y="2730" Z="1950" S="2021" T="-16" R="0" G="127" B="0" A="255"/>
|
||||
<Vtx X="-2530" Y="2730" Z="-1950" S="2021" T="2031" R="0" G="127" B="0" A="255"/>
|
||||
<Vtx X="-2430" Y="2730" Z="-1750" S="1932" T="1923" R="0" G="127" B="0" A="255"/>
|
||||
<Vtx X="2530" Y="2730" Z="-1950" S="-16" T="2031" R="0" G="127" B="0" A="255"/>
|
||||
<Vtx X="2430" Y="2730" Z="-1750" S="83" T="1944" R="0" G="127" B="0" A="255"/>
|
||||
<Vtx X="2530" Y="2730" Z="1950" S="-16" T="-16" R="0" G="127" B="0" A="255"/>
|
||||
</Vertex>
|
||||
@@ -0,0 +1,6 @@
|
||||
<Vertex Version="0">
|
||||
<Vtx X="-2530" Y="0" Z="-1950" S="2034" T="2028" R="0" G="0" B="129" A="255"/>
|
||||
<Vtx X="-2530" Y="2730" Z="-1950" S="2034" T="-6" R="0" G="0" B="129" A="255"/>
|
||||
<Vtx X="2530" Y="2730" Z="-1950" S="-13" T="-6" R="0" G="0" B="129" A="255"/>
|
||||
<Vtx X="2530" Y="0" Z="-1950" S="-13" T="2028" R="0" G="0" B="129" A="255"/>
|
||||
</Vertex>
|
||||
13
soh/assets/custom/objects/object_box/gChestBodySmallKeyDL
Normal file
13
soh/assets/custom/objects/object_box/gChestBodySmallKeyDL
Normal file
@@ -0,0 +1,13 @@
|
||||
<DisplayList Version="0">
|
||||
<CallDisplayList Path="objects/object_box/mat_gChestBodySmallKeyDL_Sides"/>
|
||||
<CallDisplayList Path="objects/object_box/gChestBodySmallKeyDL_tri_0"/>
|
||||
<CallDisplayList Path="objects/object_box/mat_gChestBodySmallKeyDL_Front"/>
|
||||
<CallDisplayList Path="objects/object_box/gChestBodySmallKeyDL_tri_1"/>
|
||||
<PipeSync/>
|
||||
<SetGeometryMode G_LIGHTING="1" />
|
||||
<ClearGeometryMode G_TEXTURE_GEN="1" />
|
||||
<SetCombineLERP A0="G_CCMUX_0" B0="G_CCMUX_0" C0="G_CCMUX_0" D0="G_CCMUX_SHADE" Aa0="G_ACMUX_0" Ab0="G_ACMUX_0" Ac0="G_ACMUX_0" Ad0="G_ACMUX_ENVIRONMENT" A1="G_CCMUX_0" B1="G_CCMUX_0" C1="G_CCMUX_0" D1="G_CCMUX_SHADE" Aa1="G_ACMUX_0" Ab1="G_ACMUX_0" Ac1="G_ACMUX_0" Ad1="G_ACMUX_ENVIRONMENT"/>
|
||||
<Texture S="65535" T="65535" Level="0" Tile="0" On="0"/>
|
||||
<EndDisplayList/>
|
||||
</DisplayList>
|
||||
|
||||
@@ -0,0 +1,33 @@
|
||||
<DisplayList Version="0">
|
||||
<LoadVertices Path="objects/object_box/gChestBodySmallKeyDL_vtx_0" VertexBufferIndex="0" VertexOffset="0" Count="16"/>
|
||||
<Triangle1 V00="0" V01="1" V02="2"/>
|
||||
<Triangle1 V00="0" V01="2" V02="3"/>
|
||||
<Triangle1 V00="4" V01="5" V02="6"/>
|
||||
<Triangle1 V00="4" V01="6" V02="7"/>
|
||||
<Triangle1 V00="8" V01="9" V02="10"/>
|
||||
<Triangle1 V00="8" V01="10" V02="11"/>
|
||||
<Triangle1 V00="12" V01="13" V02="14"/>
|
||||
<Triangle1 V00="12" V01="14" V02="15"/>
|
||||
<LoadVertices Path="objects/object_box/gChestBodySmallKeyDL_vtx_0" VertexBufferIndex="0" VertexOffset="16" Count="16"/>
|
||||
<Triangle1 V00="0" V01="1" V02="2"/>
|
||||
<Triangle1 V00="0" V01="2" V02="3"/>
|
||||
<Triangle1 V00="4" V01="5" V02="6"/>
|
||||
<Triangle1 V00="4" V01="6" V02="7"/>
|
||||
<Triangle1 V00="8" V01="9" V02="10"/>
|
||||
<Triangle1 V00="8" V01="10" V02="11"/>
|
||||
<Triangle1 V00="12" V01="13" V02="14"/>
|
||||
<Triangle1 V00="12" V01="14" V02="15"/>
|
||||
<LoadVertices Path="objects/object_box/gChestBodySmallKeyDL_vtx_0" VertexBufferIndex="0" VertexOffset="32" Count="12"/>
|
||||
<Triangle1 V00="0" V01="1" V02="2"/>
|
||||
<Triangle1 V00="0" V01="2" V02="3"/>
|
||||
<Triangle1 V00="4" V01="5" V02="6"/>
|
||||
<Triangle1 V00="5" V01="7" V02="6"/>
|
||||
<Triangle1 V00="5" V01="8" V02="7"/>
|
||||
<Triangle1 V00="8" V01="9" V02="7"/>
|
||||
<Triangle1 V00="8" V01="10" V02="9"/>
|
||||
<Triangle1 V00="10" V01="11" V02="9"/>
|
||||
<Triangle1 V00="10" V01="4" V02="11"/>
|
||||
<Triangle1 V00="4" V01="6" V02="11"/>
|
||||
<EndDisplayList/>
|
||||
</DisplayList>
|
||||
|
||||
@@ -0,0 +1,7 @@
|
||||
<DisplayList Version="0">
|
||||
<LoadVertices Path="objects/object_box/gChestBodySmallKeyDL_vtx_1" VertexBufferIndex="0" VertexOffset="0" Count="4"/>
|
||||
<Triangle1 V00="0" V01="1" V02="2"/>
|
||||
<Triangle1 V00="0" V01="2" V02="3"/>
|
||||
<EndDisplayList/>
|
||||
</DisplayList>
|
||||
|
||||
@@ -0,0 +1,46 @@
|
||||
<Vertex Version="0">
|
||||
<Vtx X="-2530" Y="0" Z="1950" S="-20" T="-12" R="129" G="0" B="0" A="255"/>
|
||||
<Vtx X="-2530" Y="2730" Z="1950" S="-20" T="2036" R="129" G="0" B="0" A="255"/>
|
||||
<Vtx X="-2530" Y="2730" Z="-1950" S="2036" T="2036" R="129" G="0" B="0" A="255"/>
|
||||
<Vtx X="-2530" Y="0" Z="-1950" S="2036" T="-12" R="129" G="0" B="0" A="255"/>
|
||||
<Vtx X="2530" Y="0" Z="-1950" S="2036" T="2036" R="127" G="0" B="0" A="255"/>
|
||||
<Vtx X="2530" Y="2730" Z="-1950" S="2036" T="-12" R="127" G="0" B="0" A="255"/>
|
||||
<Vtx X="2530" Y="2730" Z="1950" S="-20" T="-12" R="127" G="0" B="0" A="255"/>
|
||||
<Vtx X="2530" Y="0" Z="1950" S="-20" T="2036" R="127" G="0" B="0" A="255"/>
|
||||
<Vtx X="2530" Y="0" Z="1950" S="2036" T="2036" R="0" G="0" B="127" A="255"/>
|
||||
<Vtx X="2530" Y="2730" Z="1950" S="2036" T="-17" R="0" G="0" B="127" A="255"/>
|
||||
<Vtx X="-2530" Y="2730" Z="1950" S="-20" T="-17" R="0" G="0" B="127" A="255"/>
|
||||
<Vtx X="-2530" Y="0" Z="1950" S="-20" T="2036" R="0" G="0" B="127" A="255"/>
|
||||
<Vtx X="-2530" Y="0" Z="-1950" S="2032" T="-16" R="0" G="129" B="0" A="255"/>
|
||||
<Vtx X="2530" Y="0" Z="-1950" S="-16" T="-16" R="0" G="129" B="0" A="255"/>
|
||||
<Vtx X="2530" Y="0" Z="1950" S="-16" T="2040" R="0" G="129" B="0" A="255"/>
|
||||
<Vtx X="-2530" Y="0" Z="1950" S="2032" T="2040" R="0" G="129" B="0" A="255"/>
|
||||
<Vtx X="-2430" Y="2730" Z="1750" S="-16" T="2037" R="0" G="0" B="129" A="255"/>
|
||||
<Vtx X="2430" Y="2730" Z="1750" S="2051" T="2037" R="0" G="0" B="129" A="255"/>
|
||||
<Vtx X="2430" Y="200" Z="1750" S="2051" T="-16" R="0" G="0" B="129" A="255"/>
|
||||
<Vtx X="-2430" Y="200" Z="1750" S="-16" T="-16" R="0" G="0" B="129" A="255"/>
|
||||
<Vtx X="2430" Y="200" Z="-1750" S="2051" T="-16" R="0" G="127" B="0" A="255"/>
|
||||
<Vtx X="-2430" Y="200" Z="-1750" S="-16" T="-16" R="0" G="127" B="0" A="255"/>
|
||||
<Vtx X="-2430" Y="200" Z="1750" S="-16" T="2037" R="0" G="127" B="0" A="255"/>
|
||||
<Vtx X="2430" Y="200" Z="1750" S="2051" T="2037" R="0" G="127" B="0" A="255"/>
|
||||
<Vtx X="2430" Y="2730" Z="-1750" S="-9" T="2044" R="0" G="0" B="127" A="255"/>
|
||||
<Vtx X="-2430" Y="2730" Z="-1750" S="2044" T="2044" R="0" G="0" B="127" A="255"/>
|
||||
<Vtx X="-2430" Y="200" Z="-1750" S="2044" T="-23" R="0" G="0" B="127" A="255"/>
|
||||
<Vtx X="2430" Y="200" Z="-1750" S="-9" T="-23" R="0" G="0" B="127" A="255"/>
|
||||
<Vtx X="2430" Y="2730" Z="1750" S="-9" T="2044" R="129" G="0" B="0" A="255"/>
|
||||
<Vtx X="2430" Y="2730" Z="-1750" S="2044" T="2044" R="129" G="0" B="0" A="255"/>
|
||||
<Vtx X="2430" Y="200" Z="-1750" S="2044" T="-23" R="129" G="0" B="0" A="255"/>
|
||||
<Vtx X="2430" Y="200" Z="1750" S="-9" T="-23" R="129" G="0" B="0" A="255"/>
|
||||
<Vtx X="-2430" Y="2730" Z="-1750" S="-16" T="2037" R="127" G="0" B="0" A="255"/>
|
||||
<Vtx X="-2430" Y="2730" Z="1750" S="2051" T="2037" R="127" G="0" B="0" A="255"/>
|
||||
<Vtx X="-2430" Y="200" Z="1750" S="2051" T="-16" R="127" G="0" B="0" A="255"/>
|
||||
<Vtx X="-2430" Y="200" Z="-1750" S="-16" T="-16" R="127" G="0" B="0" A="255"/>
|
||||
<Vtx X="2430" Y="2730" Z="1750" S="83" T="81" R="0" G="127" B="0" A="255"/>
|
||||
<Vtx X="-2430" Y="2730" Z="1750" S="1932" T="102" R="0" G="127" B="0" A="255"/>
|
||||
<Vtx X="-2530" Y="2730" Z="1950" S="2021" T="-16" R="0" G="127" B="0" A="255"/>
|
||||
<Vtx X="-2530" Y="2730" Z="-1950" S="2021" T="2031" R="0" G="127" B="0" A="255"/>
|
||||
<Vtx X="-2430" Y="2730" Z="-1750" S="1932" T="1923" R="0" G="127" B="0" A="255"/>
|
||||
<Vtx X="2530" Y="2730" Z="-1950" S="-16" T="2031" R="0" G="127" B="0" A="255"/>
|
||||
<Vtx X="2430" Y="2730" Z="-1750" S="83" T="1944" R="0" G="127" B="0" A="255"/>
|
||||
<Vtx X="2530" Y="2730" Z="1950" S="-16" T="-16" R="0" G="127" B="0" A="255"/>
|
||||
</Vertex>
|
||||
@@ -0,0 +1,6 @@
|
||||
<Vertex Version="0">
|
||||
<Vtx X="-2530" Y="0" Z="-1950" S="2034" T="2028" R="0" G="0" B="129" A="255"/>
|
||||
<Vtx X="-2530" Y="2730" Z="-1950" S="2034" T="-6" R="0" G="0" B="129" A="255"/>
|
||||
<Vtx X="2530" Y="2730" Z="-1950" S="-13" T="-6" R="0" G="0" B="129" A="255"/>
|
||||
<Vtx X="2530" Y="0" Z="-1950" S="-13" T="2028" R="0" G="0" B="129" A="255"/>
|
||||
</Vertex>
|
||||
13
soh/assets/custom/objects/object_box/gChestBodyTokenDL
Normal file
13
soh/assets/custom/objects/object_box/gChestBodyTokenDL
Normal file
@@ -0,0 +1,13 @@
|
||||
<DisplayList Version="0">
|
||||
<CallDisplayList Path="objects/object_box/mat_gChestBodyTokenDL_Sides"/>
|
||||
<CallDisplayList Path="objects/object_box/gChestBodyTokenDL_tri_0"/>
|
||||
<CallDisplayList Path="objects/object_box/mat_gChestBodyTokenDL_Front"/>
|
||||
<CallDisplayList Path="objects/object_box/gChestBodyTokenDL_tri_1"/>
|
||||
<PipeSync/>
|
||||
<SetGeometryMode G_LIGHTING="1" />
|
||||
<ClearGeometryMode G_TEXTURE_GEN="1" />
|
||||
<SetCombineLERP A0="G_CCMUX_0" B0="G_CCMUX_0" C0="G_CCMUX_0" D0="G_CCMUX_SHADE" Aa0="G_ACMUX_0" Ab0="G_ACMUX_0" Ac0="G_ACMUX_0" Ad0="G_ACMUX_ENVIRONMENT" A1="G_CCMUX_0" B1="G_CCMUX_0" C1="G_CCMUX_0" D1="G_CCMUX_SHADE" Aa1="G_ACMUX_0" Ab1="G_ACMUX_0" Ac1="G_ACMUX_0" Ad1="G_ACMUX_ENVIRONMENT"/>
|
||||
<Texture S="65535" T="65535" Level="0" Tile="0" On="0"/>
|
||||
<EndDisplayList/>
|
||||
</DisplayList>
|
||||
|
||||
33
soh/assets/custom/objects/object_box/gChestBodyTokenDL_tri_0
Normal file
33
soh/assets/custom/objects/object_box/gChestBodyTokenDL_tri_0
Normal file
@@ -0,0 +1,33 @@
|
||||
<DisplayList Version="0">
|
||||
<LoadVertices Path="objects/object_box/gChestBodyTokenDL_vtx_0" VertexBufferIndex="0" VertexOffset="0" Count="16"/>
|
||||
<Triangle1 V00="0" V01="1" V02="2"/>
|
||||
<Triangle1 V00="0" V01="2" V02="3"/>
|
||||
<Triangle1 V00="4" V01="5" V02="6"/>
|
||||
<Triangle1 V00="4" V01="6" V02="7"/>
|
||||
<Triangle1 V00="8" V01="9" V02="10"/>
|
||||
<Triangle1 V00="8" V01="10" V02="11"/>
|
||||
<Triangle1 V00="12" V01="13" V02="14"/>
|
||||
<Triangle1 V00="12" V01="14" V02="15"/>
|
||||
<LoadVertices Path="objects/object_box/gChestBodyTokenDL_vtx_0" VertexBufferIndex="0" VertexOffset="16" Count="16"/>
|
||||
<Triangle1 V00="0" V01="1" V02="2"/>
|
||||
<Triangle1 V00="0" V01="2" V02="3"/>
|
||||
<Triangle1 V00="4" V01="5" V02="6"/>
|
||||
<Triangle1 V00="4" V01="6" V02="7"/>
|
||||
<Triangle1 V00="8" V01="9" V02="10"/>
|
||||
<Triangle1 V00="8" V01="10" V02="11"/>
|
||||
<Triangle1 V00="12" V01="13" V02="14"/>
|
||||
<Triangle1 V00="12" V01="14" V02="15"/>
|
||||
<LoadVertices Path="objects/object_box/gChestBodyTokenDL_vtx_0" VertexBufferIndex="0" VertexOffset="32" Count="12"/>
|
||||
<Triangle1 V00="0" V01="1" V02="2"/>
|
||||
<Triangle1 V00="0" V01="2" V02="3"/>
|
||||
<Triangle1 V00="4" V01="5" V02="6"/>
|
||||
<Triangle1 V00="5" V01="7" V02="6"/>
|
||||
<Triangle1 V00="5" V01="8" V02="7"/>
|
||||
<Triangle1 V00="8" V01="9" V02="7"/>
|
||||
<Triangle1 V00="8" V01="10" V02="9"/>
|
||||
<Triangle1 V00="10" V01="11" V02="9"/>
|
||||
<Triangle1 V00="10" V01="4" V02="11"/>
|
||||
<Triangle1 V00="4" V01="6" V02="11"/>
|
||||
<EndDisplayList/>
|
||||
</DisplayList>
|
||||
|
||||
@@ -0,0 +1,7 @@
|
||||
<DisplayList Version="0">
|
||||
<LoadVertices Path="objects/object_box/gChestBodyTokenDL_vtx_1" VertexBufferIndex="0" VertexOffset="0" Count="4"/>
|
||||
<Triangle1 V00="0" V01="1" V02="2"/>
|
||||
<Triangle1 V00="0" V01="2" V02="3"/>
|
||||
<EndDisplayList/>
|
||||
</DisplayList>
|
||||
|
||||
46
soh/assets/custom/objects/object_box/gChestBodyTokenDL_vtx_0
Normal file
46
soh/assets/custom/objects/object_box/gChestBodyTokenDL_vtx_0
Normal file
@@ -0,0 +1,46 @@
|
||||
<Vertex Version="0">
|
||||
<Vtx X="-2530" Y="0" Z="1950" S="-20" T="-12" R="129" G="0" B="0" A="255"/>
|
||||
<Vtx X="-2530" Y="2730" Z="1950" S="-20" T="2036" R="129" G="0" B="0" A="255"/>
|
||||
<Vtx X="-2530" Y="2730" Z="-1950" S="2036" T="2036" R="129" G="0" B="0" A="255"/>
|
||||
<Vtx X="-2530" Y="0" Z="-1950" S="2036" T="-12" R="129" G="0" B="0" A="255"/>
|
||||
<Vtx X="2530" Y="0" Z="-1950" S="2036" T="2036" R="127" G="0" B="0" A="255"/>
|
||||
<Vtx X="2530" Y="2730" Z="-1950" S="2036" T="-12" R="127" G="0" B="0" A="255"/>
|
||||
<Vtx X="2530" Y="2730" Z="1950" S="-20" T="-12" R="127" G="0" B="0" A="255"/>
|
||||
<Vtx X="2530" Y="0" Z="1950" S="-20" T="2036" R="127" G="0" B="0" A="255"/>
|
||||
<Vtx X="2530" Y="0" Z="1950" S="2036" T="2036" R="0" G="0" B="127" A="255"/>
|
||||
<Vtx X="2530" Y="2730" Z="1950" S="2036" T="-17" R="0" G="0" B="127" A="255"/>
|
||||
<Vtx X="-2530" Y="2730" Z="1950" S="-20" T="-17" R="0" G="0" B="127" A="255"/>
|
||||
<Vtx X="-2530" Y="0" Z="1950" S="-20" T="2036" R="0" G="0" B="127" A="255"/>
|
||||
<Vtx X="-2530" Y="0" Z="-1950" S="2032" T="-16" R="0" G="129" B="0" A="255"/>
|
||||
<Vtx X="2530" Y="0" Z="-1950" S="-16" T="-16" R="0" G="129" B="0" A="255"/>
|
||||
<Vtx X="2530" Y="0" Z="1950" S="-16" T="2040" R="0" G="129" B="0" A="255"/>
|
||||
<Vtx X="-2530" Y="0" Z="1950" S="2032" T="2040" R="0" G="129" B="0" A="255"/>
|
||||
<Vtx X="-2430" Y="2730" Z="1750" S="-16" T="2037" R="0" G="0" B="129" A="255"/>
|
||||
<Vtx X="2430" Y="2730" Z="1750" S="2051" T="2037" R="0" G="0" B="129" A="255"/>
|
||||
<Vtx X="2430" Y="200" Z="1750" S="2051" T="-16" R="0" G="0" B="129" A="255"/>
|
||||
<Vtx X="-2430" Y="200" Z="1750" S="-16" T="-16" R="0" G="0" B="129" A="255"/>
|
||||
<Vtx X="2430" Y="200" Z="-1750" S="2051" T="-16" R="0" G="127" B="0" A="255"/>
|
||||
<Vtx X="-2430" Y="200" Z="-1750" S="-16" T="-16" R="0" G="127" B="0" A="255"/>
|
||||
<Vtx X="-2430" Y="200" Z="1750" S="-16" T="2037" R="0" G="127" B="0" A="255"/>
|
||||
<Vtx X="2430" Y="200" Z="1750" S="2051" T="2037" R="0" G="127" B="0" A="255"/>
|
||||
<Vtx X="2430" Y="2730" Z="-1750" S="-9" T="2044" R="0" G="0" B="127" A="255"/>
|
||||
<Vtx X="-2430" Y="2730" Z="-1750" S="2044" T="2044" R="0" G="0" B="127" A="255"/>
|
||||
<Vtx X="-2430" Y="200" Z="-1750" S="2044" T="-23" R="0" G="0" B="127" A="255"/>
|
||||
<Vtx X="2430" Y="200" Z="-1750" S="-9" T="-23" R="0" G="0" B="127" A="255"/>
|
||||
<Vtx X="2430" Y="2730" Z="1750" S="-9" T="2044" R="129" G="0" B="0" A="255"/>
|
||||
<Vtx X="2430" Y="2730" Z="-1750" S="2044" T="2044" R="129" G="0" B="0" A="255"/>
|
||||
<Vtx X="2430" Y="200" Z="-1750" S="2044" T="-23" R="129" G="0" B="0" A="255"/>
|
||||
<Vtx X="2430" Y="200" Z="1750" S="-9" T="-23" R="129" G="0" B="0" A="255"/>
|
||||
<Vtx X="-2430" Y="2730" Z="-1750" S="-16" T="2037" R="127" G="0" B="0" A="255"/>
|
||||
<Vtx X="-2430" Y="2730" Z="1750" S="2051" T="2037" R="127" G="0" B="0" A="255"/>
|
||||
<Vtx X="-2430" Y="200" Z="1750" S="2051" T="-16" R="127" G="0" B="0" A="255"/>
|
||||
<Vtx X="-2430" Y="200" Z="-1750" S="-16" T="-16" R="127" G="0" B="0" A="255"/>
|
||||
<Vtx X="2430" Y="2730" Z="1750" S="83" T="81" R="0" G="127" B="0" A="255"/>
|
||||
<Vtx X="-2430" Y="2730" Z="1750" S="1932" T="102" R="0" G="127" B="0" A="255"/>
|
||||
<Vtx X="-2530" Y="2730" Z="1950" S="2021" T="-16" R="0" G="127" B="0" A="255"/>
|
||||
<Vtx X="-2530" Y="2730" Z="-1950" S="2021" T="2031" R="0" G="127" B="0" A="255"/>
|
||||
<Vtx X="-2430" Y="2730" Z="-1750" S="1932" T="1923" R="0" G="127" B="0" A="255"/>
|
||||
<Vtx X="2530" Y="2730" Z="-1950" S="-16" T="2031" R="0" G="127" B="0" A="255"/>
|
||||
<Vtx X="2430" Y="2730" Z="-1750" S="83" T="1944" R="0" G="127" B="0" A="255"/>
|
||||
<Vtx X="2530" Y="2730" Z="1950" S="-16" T="-16" R="0" G="127" B="0" A="255"/>
|
||||
</Vertex>
|
||||
@@ -0,0 +1,6 @@
|
||||
<Vertex Version="0">
|
||||
<Vtx X="-2530" Y="0" Z="-1950" S="2034" T="2028" R="0" G="0" B="129" A="255"/>
|
||||
<Vtx X="-2530" Y="2730" Z="-1950" S="2034" T="-6" R="0" G="0" B="129" A="255"/>
|
||||
<Vtx X="2530" Y="2730" Z="-1950" S="-13" T="-6" R="0" G="0" B="129" A="255"/>
|
||||
<Vtx X="2530" Y="0" Z="-1950" S="-13" T="2028" R="0" G="0" B="129" A="255"/>
|
||||
</Vertex>
|
||||
11
soh/assets/custom/objects/object_box/gChestLidFairyDL
Normal file
11
soh/assets/custom/objects/object_box/gChestLidFairyDL
Normal file
@@ -0,0 +1,11 @@
|
||||
<DisplayList Version="0">
|
||||
<CallDisplayList Path="objects/object_box/mat_gChestLidFairyDL_Sides"/>
|
||||
<CallDisplayList Path="objects/object_box/gChestLidFairyDL_tri_0"/>
|
||||
<PipeSync/>
|
||||
<SetGeometryMode G_LIGHTING="1" />
|
||||
<ClearGeometryMode G_TEXTURE_GEN="1" />
|
||||
<SetCombineLERP A0="G_CCMUX_0" B0="G_CCMUX_0" C0="G_CCMUX_0" D0="G_CCMUX_SHADE" Aa0="G_ACMUX_0" Ab0="G_ACMUX_0" Ac0="G_ACMUX_0" Ad0="G_ACMUX_ENVIRONMENT" A1="G_CCMUX_0" B1="G_CCMUX_0" C1="G_CCMUX_0" D1="G_CCMUX_SHADE" Aa1="G_ACMUX_0" Ab1="G_ACMUX_0" Ac1="G_ACMUX_0" Ad1="G_ACMUX_ENVIRONMENT"/>
|
||||
<Texture S="65535" T="65535" Level="0" Tile="0" On="0"/>
|
||||
<EndDisplayList/>
|
||||
</DisplayList>
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user