mirror of
https://github.com/ModOrganizer2/modorganizer.git
synced 2026-07-27 13:58:24 -07:00
Compare commits
915
Commits
release_v1.2.9
...
v2.1.2
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
bc75009169 | ||
|
|
8be73d2e3b | ||
|
|
358e2c4e74 | ||
|
|
be2d39b035 | ||
|
|
8f0b42d466 | ||
|
|
37b1bdd9e6 | ||
|
|
e037caf58e | ||
|
|
e33da8402c | ||
|
|
c4bfee0089 | ||
|
|
5a24d2b60c | ||
|
|
9465966b2c | ||
|
|
47dc5cded7 | ||
|
|
bf9d187036 | ||
|
|
208eaccbf7 | ||
|
|
fb1c376533 | ||
|
|
0f8852f487 | ||
|
|
7eba6837dd | ||
|
|
cc2bd15256 | ||
|
|
b409a0bef9 | ||
|
|
d62669e1b4 | ||
|
|
a1d92fb673 | ||
|
|
fd9eb032b6 | ||
|
|
5c39a762e6 | ||
|
|
a905ce130d | ||
|
|
fed89352d1 | ||
|
|
74dd2bb914 | ||
|
|
dcbcb29ec7 | ||
|
|
92e3fa2fdd | ||
|
|
5a98d69dcd | ||
|
|
5dd0e3b77e | ||
|
|
4baba035dd | ||
|
|
5eb03a687c | ||
|
|
dd288fe152 | ||
|
|
ba0a1bd501 | ||
|
|
2d2a2b8b74 | ||
|
|
0e0c72422c | ||
|
|
82d4742e28 | ||
|
|
3cceb6502c | ||
|
|
92a8a3dce8 | ||
|
|
bcc4c8d6aa | ||
|
|
149ce846b5 | ||
|
|
192b0bafa5 | ||
|
|
0c792d548f | ||
|
|
336216ba9a | ||
|
|
b71d472e08 | ||
|
|
bbce6506cd | ||
|
|
2def87a143 | ||
|
|
90165b02ab | ||
|
|
8095be550f | ||
|
|
2fa1b04cd4 | ||
|
|
a4b0524c70 | ||
|
|
8dee1d108b | ||
|
|
e0f003a9a6 | ||
|
|
ccb5ad53e2 | ||
|
|
9c596ceb79 | ||
|
|
8305d92157 | ||
|
|
9f61ef5c9e | ||
|
|
887d464f2c | ||
|
|
0d4a59fd91 | ||
|
|
8f8beea427 | ||
|
|
0983c88c17 | ||
|
|
9ee2831c59 | ||
|
|
d6aab781ee | ||
|
|
a7f17c6429 | ||
|
|
12161d68fb | ||
|
|
090d660831 | ||
|
|
b7b12bb789 | ||
|
|
30a9f61d6d | ||
|
|
f7ab05767c | ||
|
|
d7e6adb3de | ||
|
|
00d8c517ec | ||
|
|
c7f660e061 | ||
|
|
d59b28847c | ||
|
|
5b565b5634 | ||
|
|
673a5034f0 | ||
|
|
7c87e9a645 | ||
|
|
52501e73c9 | ||
|
|
513c062932 | ||
|
|
7cf0c1a29b | ||
|
|
a873f7cfe2 | ||
|
|
1b85cda626 | ||
|
|
c7e1d9738f | ||
|
|
a540a542a4 | ||
|
|
3eee61c67b | ||
|
|
3556d4f58f | ||
|
|
8e97f3f84c | ||
|
|
e6f999ffbb | ||
|
|
5fcd51aad8 | ||
|
|
c1421d0734 | ||
|
|
4a45e1a2a7 | ||
|
|
50c244d7e1 | ||
|
|
b82f9f1006 | ||
|
|
8ebd79ee71 | ||
|
|
e70ee1e895 | ||
|
|
0a4fa10ca4 | ||
|
|
ea6292168a | ||
|
|
28714f0eb8 | ||
|
|
5e5c9c0729 | ||
|
|
5ad912e193 | ||
|
|
0fa6f7feff | ||
|
|
ee7d801b86 | ||
|
|
1cdfb7105d | ||
|
|
0bcd752b27 | ||
|
|
1f34f7d8c1 | ||
|
|
c2cc2a82c8 | ||
|
|
7e2b83c922 | ||
|
|
9624d86b46 | ||
|
|
9fd3f6c4e4 | ||
|
|
4804903f3a | ||
|
|
61898074fe | ||
|
|
ea7c391c33 | ||
|
|
7dfe0c9a8f | ||
|
|
0241d71da3 | ||
|
|
5be7c9a0b5 | ||
|
|
f7374a8525 | ||
|
|
dd8f73178c | ||
|
|
3f5f56397b | ||
|
|
e85285934e | ||
|
|
e1fc0d22b6 | ||
|
|
9ddbf25809 | ||
|
|
ed08faa4a8 | ||
|
|
0c4cdb89ad | ||
|
|
28b0411cca | ||
|
|
d6b645413c | ||
|
|
3a17614bed | ||
|
|
ba0cd0e10d | ||
|
|
8c34131bb8 | ||
|
|
3fdb00e0c9 | ||
|
|
95b258c0df | ||
|
|
45b3614fbc | ||
|
|
7dbb4cedda | ||
|
|
5d5a7b8511 | ||
|
|
0413bf27a5 | ||
|
|
d267b8aaf3 | ||
|
|
ca54760c13 | ||
|
|
d2c5ed352d | ||
|
|
71995f0343 | ||
|
|
5579db7f90 | ||
|
|
d2f90e6a76 | ||
|
|
785852cf21 | ||
|
|
14b06dd2e8 | ||
|
|
58ec83f8c8 | ||
|
|
d06972729d | ||
|
|
39efb9a7c2 | ||
|
|
c1a56f77ea | ||
|
|
91bd9b1eb6 | ||
|
|
548744d746 | ||
|
|
57e65abf75 | ||
|
|
d41cd8d877 | ||
|
|
9c82a1102e | ||
|
|
e623c13400 | ||
|
|
9c9a43ec8d | ||
|
|
eb3cfe2594 | ||
|
|
482f3d1f6d | ||
|
|
fed4ea257a | ||
|
|
35e0bc2285 | ||
|
|
2ea23c4129 | ||
|
|
100f57dea1 | ||
|
|
708928e643 | ||
|
|
db1e63dc72 | ||
|
|
74e88b00c8 | ||
|
|
28a68cf51b | ||
|
|
a24a1cbf25 | ||
|
|
0c75ff1836 | ||
|
|
5c192fb8c5 | ||
|
|
80fc713273 | ||
|
|
cb1c9f5e83 | ||
|
|
7dad8bcb28 | ||
|
|
302a9b744d | ||
|
|
ff31ce636b | ||
|
|
90421277e7 | ||
|
|
4656ba9447 | ||
|
|
b157ebb28c | ||
|
|
385a888c0b | ||
|
|
7b45d807d6 | ||
|
|
f0597eb243 | ||
|
|
8839e11636 | ||
|
|
240cbd6a27 | ||
|
|
81344771dd | ||
|
|
2c28107ae8 | ||
|
|
da35cd3ea0 | ||
|
|
bd48d2f8bc | ||
|
|
554b468475 | ||
|
|
604d86ed07 | ||
|
|
a5bb70f53b | ||
|
|
0586b2856b | ||
|
|
184b6d3907 | ||
|
|
4d54b962aa | ||
|
|
6773e14fc5 | ||
|
|
e4b952278d | ||
|
|
dda5272dc9 | ||
|
|
062e0cce2d | ||
|
|
027f941bb1 | ||
|
|
083d107875 | ||
|
|
2226a483d1 | ||
|
|
240900de39 | ||
|
|
2c69f9c407 | ||
|
|
ebb30e0c37 | ||
|
|
361e59e40d | ||
|
|
ad702537bd | ||
|
|
ebf378cda0 | ||
|
|
d43f35f56b | ||
|
|
db973f7422 | ||
|
|
7ab98cb451 | ||
|
|
a4e43b68cd | ||
|
|
bf02d13ed4 | ||
|
|
b2d7181ca7 | ||
|
|
689248619a | ||
|
|
66b17eea8a | ||
|
|
89b1f1d48d | ||
|
|
b75e3c1231 | ||
|
|
1b4b6dbeb4 | ||
|
|
4adb13c943 | ||
|
|
54fd26fee1 | ||
|
|
0aaece55d8 | ||
|
|
ef21bd6193 | ||
|
|
b45b6f3342 | ||
|
|
d7a1955f18 | ||
|
|
7c80181e01 | ||
|
|
88e218d83e | ||
|
|
720e4dd516 | ||
|
|
2497d4e151 | ||
|
|
9a2a1a4301 | ||
|
|
b3898c5d66 | ||
|
|
6794713165 | ||
|
|
fa598e86db | ||
|
|
ffdc5ca7cc | ||
|
|
e19597ee4e | ||
|
|
c55a923bb8 | ||
|
|
797a007eab | ||
|
|
d7bc542b3d | ||
|
|
977d562976 | ||
|
|
af16521a2d | ||
|
|
581a8871c6 | ||
|
|
53a54230eb | ||
|
|
7ec0b79eb4 | ||
|
|
3974ddced4 | ||
|
|
d0099a9dbb | ||
|
|
3cf3de700e | ||
|
|
9ec913945a | ||
|
|
092596f57a | ||
|
|
8d5c67296f | ||
|
|
58e17777de | ||
|
|
836e550dd0 | ||
|
|
4cd09a2f3b | ||
|
|
a92fc98246 | ||
|
|
9a3cf3bc1c | ||
|
|
853c42081d | ||
|
|
901bf0059d | ||
|
|
b2d0abe0e4 | ||
|
|
00af56f7c7 | ||
|
|
55a65b16cc | ||
|
|
51ad72c74d | ||
|
|
080cfeea41 | ||
|
|
ef699514c9 | ||
|
|
087f3841f3 | ||
|
|
627660ebb7 | ||
|
|
0825cd0f20 | ||
|
|
66e04f636e | ||
|
|
6c54ef5ec2 | ||
|
|
9cc196ae3a | ||
|
|
c8118ea0fa | ||
|
|
2f1d270c08 | ||
|
|
5cb0d1cb3d | ||
|
|
d53591c6c9 | ||
|
|
701e6e4927 | ||
|
|
d15262b903 | ||
|
|
88452e5d76 | ||
|
|
cabffa23a9 | ||
|
|
7e2811cb46 | ||
|
|
ebe6011174 | ||
|
|
d659ad7294 | ||
|
|
139ee36a3f | ||
|
|
4124bc3976 | ||
|
|
643477de2f | ||
|
|
bf505d2d5f | ||
|
|
2866a494d4 | ||
|
|
56a3dd4624 | ||
|
|
126f8deb55 | ||
|
|
f0f2112c15 | ||
|
|
0c6f983148 | ||
|
|
ac3953030d | ||
|
|
03608230ac | ||
|
|
fe44deb765 | ||
|
|
b09f8ce7b4 | ||
|
|
2d4b463338 | ||
|
|
e4d431fe21 | ||
|
|
eaeb48d745 | ||
|
|
b16a0ab3d9 | ||
|
|
a611c355ce | ||
|
|
4689db7624 | ||
|
|
8bea685640 | ||
|
|
91eaba8b44 | ||
|
|
822534e16a | ||
|
|
c64e12a289 | ||
|
|
9438098cf1 | ||
|
|
4269e82c80 | ||
|
|
d63c164a74 | ||
|
|
45cc67da05 | ||
|
|
0da2060da4 | ||
|
|
4149ce4cdb | ||
|
|
f2b33d75cb | ||
|
|
d869d99785 | ||
|
|
bfeda873c4 | ||
|
|
c9766b6e1a | ||
|
|
99156abc6e | ||
|
|
03328e9f55 | ||
|
|
c48d1c36b7 | ||
|
|
866a004438 | ||
|
|
8b8ddc8163 | ||
|
|
5dc1ee3da6 | ||
|
|
dd653c3752 | ||
|
|
a8556eacb6 | ||
|
|
f0810bfa43 | ||
|
|
7432f7870b | ||
|
|
71f9c4f69d | ||
|
|
71b4911c8c | ||
|
|
d1ed7ae5d7 | ||
|
|
1cf368c126 | ||
|
|
cdf588e7c4 | ||
|
|
a3671a5557 | ||
|
|
afa0cb9446 | ||
|
|
0657774e2e | ||
|
|
695593968b | ||
|
|
61edeb12f1 | ||
|
|
5ae681e6d5 | ||
|
|
db6b536fb1 | ||
|
|
64590a10d7 | ||
|
|
4a582e524d | ||
|
|
a00cda607c | ||
|
|
42407866e9 | ||
|
|
c3a8a0b9eb | ||
|
|
607b2a10aa | ||
|
|
6b60d54853 | ||
|
|
c7101be7d8 | ||
|
|
d80a77a4cb | ||
|
|
33b544112c | ||
|
|
8a3af93b39 | ||
|
|
352975e757 | ||
|
|
cd83f4e732 | ||
|
|
4f25a0689f | ||
|
|
3d642563cb | ||
|
|
0100c86887 | ||
|
|
8d04c77c29 | ||
|
|
b935ce3862 | ||
|
|
fcebf21c44 | ||
|
|
3d1dfadb40 | ||
|
|
c2c48bd39a | ||
|
|
9163a6dc34 | ||
|
|
8bf3037d4b | ||
|
|
4f1bb36933 | ||
|
|
cbdea13a9c | ||
|
|
b36c666899 | ||
|
|
bbab59f681 | ||
|
|
bfbb190998 | ||
|
|
c3b7737ae4 | ||
|
|
30878ae394 | ||
|
|
45a182a381 | ||
|
|
0b07cfa3f0 | ||
|
|
986330a3bd | ||
|
|
81c5ca5308 | ||
|
|
3a8da159da | ||
|
|
f6c3b516fd | ||
|
|
5665be7fd1 | ||
|
|
a625acd17b | ||
|
|
e522afa63b | ||
|
|
e3c3c2dcc4 | ||
|
|
519f215fd7 | ||
|
|
89221af929 | ||
|
|
f5a815185f | ||
|
|
59a36107a1 | ||
|
|
bc5d5d8bfa | ||
|
|
a294f8410f | ||
|
|
256cdb8df7 | ||
|
|
32480f7a81 | ||
|
|
e43762e7db | ||
|
|
afe0d749c4 | ||
|
|
eb97c46ed6 | ||
|
|
d958e11e2b | ||
|
|
b0e3e86a61 | ||
|
|
9df612c7ca | ||
|
|
0899724d90 | ||
|
|
53d9789740 | ||
|
|
4f8c71d626 | ||
|
|
ba8464f01f | ||
|
|
fd68248698 | ||
|
|
1ad2115e01 | ||
|
|
8d1dd6238f | ||
|
|
aaa1f52bdd | ||
|
|
b085aeea0e | ||
|
|
ea621ef859 | ||
|
|
3202713cff | ||
|
|
ad9d50e5f0 | ||
|
|
63eaf453e0 | ||
|
|
8a9a1680b0 | ||
|
|
1439347def | ||
|
|
0e9a86ebfc | ||
|
|
8da9ba5404 | ||
|
|
387326f2d6 | ||
|
|
a9a51f5085 | ||
|
|
2aae65d6f6 | ||
|
|
d07b4f7ff0 | ||
|
|
197c49e996 | ||
|
|
0d50427b83 | ||
|
|
e90fbb1df2 | ||
|
|
ddf841400e | ||
|
|
1bfc91046b | ||
|
|
d417229e6b | ||
|
|
1d1cd36957 | ||
|
|
a4dbe82be7 | ||
|
|
42417b6a01 | ||
|
|
f2b2ee1a11 | ||
|
|
ae6bb99c52 | ||
|
|
3869eaaf2b | ||
|
|
c037b74b00 | ||
|
|
5adb3b377e | ||
|
|
d4326250fb | ||
|
|
2d43645b64 | ||
|
|
6edf12f2f7 | ||
|
|
f55a5f2b21 | ||
|
|
5f5184ebfe | ||
|
|
9d260a43f6 | ||
|
|
9effaec234 | ||
|
|
502e950cde | ||
|
|
4908affbfc | ||
|
|
8dc51895e3 | ||
|
|
568b2abc12 | ||
|
|
30b29635f6 | ||
|
|
0c536a4c12 | ||
|
|
967c2ae653 | ||
|
|
ba176e5e9b | ||
|
|
c344714661 | ||
|
|
a3a4d5441d | ||
|
|
e60e2858d8 | ||
|
|
495846534d | ||
|
|
4a8c7306be | ||
|
|
7b087f8f9d | ||
|
|
eff0f46872 | ||
|
|
752bed064c | ||
|
|
750239bebb | ||
|
|
865c75a499 | ||
|
|
eca56079d5 | ||
|
|
e31cf3f2fd | ||
|
|
3670ab2528 | ||
|
|
235d893eb8 | ||
|
|
c2ed844eeb | ||
|
|
cb09ace972 | ||
|
|
0dedf5a875 | ||
|
|
ec9c78f8fa | ||
|
|
c07e48075e | ||
|
|
688e149c96 | ||
|
|
87d5fe28f6 | ||
|
|
ce38a3bd33 | ||
|
|
71b8c00592 | ||
|
|
20442cd4de | ||
|
|
c236078aa1 | ||
|
|
9a88a190eb | ||
|
|
d03e4f45ef | ||
|
|
9e2bcffc32 | ||
|
|
2e78a381ea | ||
|
|
bb56696f7e | ||
|
|
ca54ee2e9a | ||
|
|
2025145ff6 | ||
|
|
1b1fc247df | ||
|
|
dd37152eae | ||
|
|
82e6c98043 | ||
|
|
29dadf52f1 | ||
|
|
38c5899fef | ||
|
|
b9b12ca765 | ||
|
|
78b686b2bc | ||
|
|
42a68689fe | ||
|
|
c7d583bcf1 | ||
|
|
d6da51536f | ||
|
|
d4a287a4cc | ||
|
|
91576257bc | ||
|
|
a7ef089650 | ||
|
|
37c3bea7dd | ||
|
|
fe8c3aaea5 | ||
|
|
dda9e11976 | ||
|
|
9945b5e926 | ||
|
|
3659284ab6 | ||
|
|
2a50683133 | ||
|
|
efaba90706 | ||
|
|
159501d076 | ||
|
|
4dbb3b148d | ||
|
|
408b7933d2 | ||
|
|
efb54100dc | ||
|
|
f339cc8431 | ||
|
|
49de6e8d25 | ||
|
|
dbbd0c4eec | ||
|
|
4ff751fb7e | ||
|
|
d8d81ee06f | ||
|
|
a4b69c9ed8 | ||
|
|
7f9af7f93e | ||
|
|
9ac845779a | ||
|
|
053ebc898f | ||
|
|
0bd38e3f67 | ||
|
|
7f4f4cafea | ||
|
|
56ba058cd5 | ||
|
|
d1932bfc8e | ||
|
|
a284cbf232 | ||
|
|
fe54b6c46a | ||
|
|
d82ca00733 | ||
|
|
1a12b1f1f6 | ||
|
|
184cff8a77 | ||
|
|
f1aaf92afb | ||
|
|
8f64a1d136 | ||
|
|
b1cfc45853 | ||
|
|
76bee42dd1 | ||
|
|
0f8ae51459 | ||
|
|
dfdf80417e | ||
|
|
d4754f4d3c | ||
|
|
1cb0a49dfc | ||
|
|
9d88ca13b9 | ||
|
|
f25a51446c | ||
|
|
ec07d3d4d9 | ||
|
|
ca6d7c7d11 | ||
|
|
077a58f410 | ||
|
|
939993aefe | ||
|
|
af9a128b4f | ||
|
|
9d4b7a1df0 | ||
|
|
9a7b0ee2c7 | ||
|
|
7d93a9a200 | ||
|
|
90d87a0cf7 | ||
|
|
115315df28 | ||
|
|
c5876cb6a1 | ||
|
|
e7b61cb485 | ||
|
|
a0eb00b6b6 | ||
|
|
f2484c3b0e | ||
|
|
107adbfffc | ||
|
|
f5c86bc22c | ||
|
|
2fb4917111 | ||
|
|
de98fe64a3 | ||
|
|
364c385f1a | ||
|
|
3c1c50fefc | ||
|
|
095967451e | ||
|
|
eb901e0dfc | ||
|
|
462c549f77 | ||
|
|
1f8c24ee7a | ||
|
|
8865f9d7bc | ||
|
|
ae82ab7dca | ||
|
|
999810e1d5 | ||
|
|
4dbf01cd56 | ||
|
|
cd7b409c10 | ||
|
|
ff8377a8ff | ||
|
|
4573d111a2 | ||
|
|
84ec954073 | ||
|
|
63188eb6f3 | ||
|
|
0a51fdf08e | ||
|
|
cb315b4179 | ||
|
|
d96d904765 | ||
|
|
9588667404 | ||
|
|
b008753e1d | ||
|
|
3c7ab3b668 | ||
|
|
d85019f4b1 | ||
|
|
05edcf8840 | ||
|
|
2a22461f14 | ||
|
|
0c3c822d77 | ||
|
|
f0ee9c3e4d | ||
|
|
83edfe0c96 | ||
|
|
86d833bcc8 | ||
|
|
58198a6bfd | ||
|
|
32339addbf | ||
|
|
dd875c05de | ||
|
|
17938b503a | ||
|
|
269d4f6765 | ||
|
|
0fa7f7469f | ||
|
|
ea1c2b46fe | ||
|
|
89f3c0d65a | ||
|
|
821f95b8ab | ||
|
|
716dbcc97d | ||
|
|
8e7ac4e064 | ||
|
|
69a8a40b99 | ||
|
|
229161565e | ||
|
|
9c3b390f08 | ||
|
|
5244544424 | ||
|
|
217ca284fe | ||
|
|
0aecc3427a | ||
|
|
b6627ff5e0 | ||
|
|
b0d86c9e01 | ||
|
|
a7d6eb75c2 | ||
|
|
6f09cf2205 | ||
|
|
e6abe486a7 | ||
|
|
52fcfaa292 | ||
|
|
4230313ef5 | ||
|
|
ff8057d34b | ||
|
|
b098214860 | ||
|
|
8cf429a1dd | ||
|
|
9f7bec01d0 | ||
|
|
643a50ad5a | ||
|
|
eaaa1b312d | ||
|
|
9c17ecc87e | ||
|
|
051589c38e | ||
|
|
48fae44566 | ||
|
|
e1c8d00979 | ||
|
|
0503097494 | ||
|
|
3a39f90870 | ||
|
|
18ad656586 | ||
|
|
eaafc489fc | ||
|
|
7799c348ba | ||
|
|
0a1f3efac5 | ||
|
|
1eea37e4e1 | ||
|
|
9a5965afa7 | ||
|
|
7853ba5f9a | ||
|
|
90dcc81715 | ||
|
|
1e75fd8dae | ||
|
|
61033814fd | ||
|
|
ca591dbd23 | ||
|
|
7602fef6e7 | ||
|
|
67b1f9dca2 | ||
|
|
5ae279d8bb | ||
|
|
81ef3d0a81 | ||
|
|
dc0e67a8b3 | ||
|
|
aa21a192cb | ||
|
|
d4d7ce1fd3 | ||
|
|
e31baf3ee6 | ||
|
|
5dcfca7c9d | ||
|
|
e9ee7e7f85 | ||
|
|
67d017fc98 | ||
|
|
a700e6a3ef | ||
|
|
c95de1b3aa | ||
|
|
351fc9ca9c | ||
|
|
53f0a2bc79 | ||
|
|
793dfb1637 | ||
|
|
d25a81071c | ||
|
|
ef9a61886c | ||
|
|
13a40b43c8 | ||
|
|
d7790cd717 | ||
|
|
84d632af6a | ||
|
|
b14b35349d | ||
|
|
83a4db2362 | ||
|
|
c797af8b76 | ||
|
|
ebf6ff3f76 | ||
|
|
02b5e73c2d | ||
|
|
b0b2f1d3a9 | ||
|
|
d8e406daa0 | ||
|
|
50dcc4c1d4 | ||
|
|
e21db0eaea | ||
|
|
859332e18d | ||
|
|
1fd8f44960 | ||
|
|
e0c655330d | ||
|
|
a0999cd42b | ||
|
|
eb47d4d0bb | ||
|
|
59476e38ec | ||
|
|
c5d36af06d | ||
|
|
8d1931bc6b | ||
|
|
c05be9f5c3 | ||
|
|
75714907d9 | ||
|
|
02471a3da1 | ||
|
|
afab0cec7e | ||
|
|
02cc97a58d | ||
|
|
ffd94e72b4 | ||
|
|
6435e1ab8a | ||
|
|
dbfa9b89d1 | ||
|
|
fe5c4255c8 | ||
|
|
ac8f6dbdec | ||
|
|
d2ab10ecff | ||
|
|
883f4d9894 | ||
|
|
d3e904e9ad | ||
|
|
e38592da97 | ||
|
|
268d2ffe8b | ||
|
|
9d3364f4da | ||
|
|
9ea5086c4c | ||
|
|
4c1155a6ab | ||
|
|
90365041f4 | ||
|
|
183b571560 | ||
|
|
0f1271dd99 | ||
|
|
dbdc2538f9 | ||
|
|
5a908442d6 | ||
|
|
328244692b | ||
|
|
f32b4c3ce1 | ||
|
|
83a896d0a9 | ||
|
|
209fe5cab5 | ||
|
|
cd68c9d53c | ||
|
|
65b64d111b | ||
|
|
73fa7045b6 | ||
|
|
a25d889e78 | ||
|
|
3680e37d39 | ||
|
|
abba182b1b | ||
|
|
ffb470a380 | ||
|
|
1403d51a82 | ||
|
|
89eabf3c4d | ||
|
|
26368df7a6 | ||
|
|
5f399f6a39 | ||
|
|
c909f8ce4f | ||
|
|
ce925bc73e | ||
|
|
927504cbd9 | ||
|
|
a44cb011a5 | ||
|
|
11e67d7a6c | ||
|
|
0b58653e2d | ||
|
|
e47e04dcf2 | ||
|
|
fd584f8038 | ||
|
|
942bd04e5e | ||
|
|
4b6e8ac51b | ||
|
|
8c2e88b9c9 | ||
|
|
ef39699d69 | ||
|
|
55eacfbd80 | ||
|
|
056acd03cd | ||
|
|
9eb1a303a7 | ||
|
|
a44c4bbdb2 | ||
|
|
8cca47454a | ||
|
|
a818688d3f | ||
|
|
feaad36168 | ||
|
|
a6f7480ab9 | ||
|
|
1ba140e0fa | ||
|
|
eed3664302 | ||
|
|
35eb41daf9 | ||
|
|
38eb03c306 | ||
|
|
6ff201385c | ||
|
|
0269fc36e6 | ||
|
|
fa5d3cdaf3 | ||
|
|
ab28c9631a | ||
|
|
04b6f2e475 | ||
|
|
0d5197a3c8 | ||
|
|
8eb63a068c | ||
|
|
4d4a7713fb | ||
|
|
4161696527 | ||
|
|
73eea93abb | ||
|
|
db7c6e6006 | ||
|
|
266a696429 | ||
|
|
ea520baf4e | ||
|
|
07b8896f92 | ||
|
|
4a2e4652f4 | ||
|
|
a9e1d44a2a | ||
|
|
b210a2f083 | ||
|
|
cbbc2d191d | ||
|
|
cad7ed47be | ||
|
|
a9cec9e5e2 | ||
|
|
771dde7771 | ||
|
|
c6758e47c8 | ||
|
|
4a99cfe6ad | ||
|
|
f134c7ab4c | ||
|
|
03b029c613 | ||
|
|
a1c8e529f7 | ||
|
|
39dd67f22f | ||
|
|
de79d15980 | ||
|
|
16beb6f9b1 | ||
|
|
a00a9a5bba | ||
|
|
4b1059f5a1 | ||
|
|
2628dd3fb8 | ||
|
|
2d20185e77 | ||
|
|
7a1ae9b0f1 | ||
|
|
d45ebf1348 | ||
|
|
db2954e8eb | ||
|
|
8c0756bd9d | ||
|
|
026b97835e | ||
|
|
97d6f7ce01 | ||
|
|
d80cdf726e | ||
|
|
9c8f0a2041 | ||
|
|
1b16897228 | ||
|
|
4bd5df5ab4 | ||
|
|
d08e0ebab0 | ||
|
|
6479f972dc | ||
|
|
e01ab940b0 | ||
|
|
e9c937f909 | ||
|
|
d87661a66f | ||
|
|
3c030a28e9 | ||
|
|
6b4cb9ff4c | ||
|
|
cbe84327c6 | ||
|
|
ce228e512c | ||
|
|
1579e4dcb0 | ||
|
|
671d96383b | ||
|
|
bdfd41a862 | ||
|
|
8aa6dc4c7d | ||
|
|
c3a95bdef1 | ||
|
|
f756aede08 | ||
|
|
855e8bd737 | ||
|
|
b0fe23a711 | ||
|
|
c2edbcf90f | ||
|
|
2400e2c99e | ||
|
|
af1e3d0187 | ||
|
|
9ab9c072fc | ||
|
|
30c016567f | ||
|
|
da27ec45da | ||
|
|
1321564a92 | ||
|
|
4d9795527d | ||
|
|
9f09c30e08 | ||
|
|
caf31e72cc | ||
|
|
f2ab6825bf | ||
|
|
25348238b2 | ||
|
|
8b3a42bd17 | ||
|
|
6f1162c23f | ||
|
|
2b21463514 | ||
|
|
d20a26e0eb | ||
|
|
9edc39633b | ||
|
|
b415db619e | ||
|
|
bd8267993d | ||
|
|
f5c56efeb3 | ||
|
|
a16e25380f | ||
|
|
459816ab71 | ||
|
|
9b5c238938 | ||
|
|
e7b6a7cbdd | ||
|
|
ab925e1e7c | ||
|
|
7bfb48d6ab | ||
|
|
88817c7f3b | ||
|
|
ee0041ba18 | ||
|
|
306ba78b0f | ||
|
|
e33406b4b5 | ||
|
|
a5906f1044 | ||
|
|
ebfeb2fbf9 | ||
|
|
f666e3d835 | ||
|
|
003cb6dec5 | ||
|
|
7fb7207ac7 | ||
|
|
64eced4614 | ||
|
|
8634b97bea | ||
|
|
116a36b943 | ||
|
|
479fdb3dcd | ||
|
|
acf35da699 | ||
|
|
6eb05396e4 | ||
|
|
9fcf34fec7 | ||
|
|
6c1e63258c | ||
|
|
226993eece | ||
|
|
b2d04d70fc | ||
|
|
99de80e722 | ||
|
|
78f628e0af | ||
|
|
78da5fc37f | ||
|
|
ffef339e2b | ||
|
|
4fa700bb55 | ||
|
|
45a46778fb | ||
|
|
cfb863f6c3 | ||
|
|
f2f9e11fdd | ||
|
|
9907437d93 | ||
|
|
d23466f036 | ||
|
|
3b7a468f73 | ||
|
|
53896e66f1 | ||
|
|
efc77930ad | ||
|
|
01265e9b03 | ||
|
|
9494938534 | ||
|
|
0b14949d0e | ||
|
|
2237d7c103 | ||
|
|
7c1273b246 | ||
|
|
9ab7bada1c | ||
|
|
1eea3bd90e | ||
|
|
10cc566081 | ||
|
|
53d1f3e00e | ||
|
|
20db939501 | ||
|
|
df0bd3331a | ||
|
|
db0e278817 | ||
|
|
bfa6c9ab1e | ||
|
|
7a7c464b18 | ||
|
|
2ce135e0bf | ||
|
|
93bd29c13d | ||
|
|
a62ecc5bf1 | ||
|
|
637ce6bcc1 | ||
|
|
5f1022917b | ||
|
|
d3d7e30286 | ||
|
|
b77dcb2206 | ||
|
|
7d27138086 | ||
|
|
430048d201 | ||
|
|
19cb2d4076 | ||
|
|
4c42a6fbf1 | ||
|
|
5aa5c90d39 | ||
|
|
243b59c64c | ||
|
|
12a57d7f6d | ||
|
|
b0a4748da5 | ||
|
|
482f13a50b | ||
|
|
9daeb9479b | ||
|
|
f481a7aae3 | ||
|
|
15b9927cef | ||
|
|
cc42e76f54 | ||
|
|
07bae15d7c | ||
|
|
84598cbcbf | ||
|
|
778160cf0d | ||
|
|
02973be652 | ||
|
|
14106436ca | ||
|
|
fc2591e028 | ||
|
|
4f509e365e | ||
|
|
9a97098cc3 | ||
|
|
4ebc8dc014 | ||
|
|
4b1e6683d2 | ||
|
|
5d3c1f34f4 | ||
|
|
06701856f8 | ||
|
|
5d4a55c3a6 | ||
|
|
844ba99892 | ||
|
|
470b6ed0bf | ||
|
|
715623e790 | ||
|
|
0050cb0740 | ||
|
|
9879aae575 | ||
|
|
f6ef5477e7 | ||
|
|
cc9827cdda | ||
|
|
e24f3fef77 | ||
|
|
4e5a67fc06 | ||
|
|
0a152ceadf | ||
|
|
5718af3510 | ||
|
|
434b6be69d | ||
|
|
67b0268e70 | ||
|
|
d412060d59 | ||
|
|
84c66727bf | ||
|
|
bfb3385e49 | ||
|
|
f59f52501c | ||
|
|
9b67e338e1 | ||
|
|
7944bacfd9 | ||
|
|
1b4c07eb20 | ||
|
|
d93df95dcf | ||
|
|
46a32ff3b7 | ||
|
|
0046d8710e | ||
|
|
2b5748003d | ||
|
|
a49ed5c33c | ||
|
|
62b0c07a93 | ||
|
|
05c58c8b3d | ||
|
|
9b33e0a970 | ||
|
|
b1ac479fb6 | ||
|
|
80b10107d9 | ||
|
|
1707941f6e | ||
|
|
d0b75e8b25 | ||
|
|
4fc441b249 | ||
|
|
581d065d7a | ||
|
|
5d2b5202af | ||
|
|
8044ef4f1d | ||
|
|
3d98491ebc | ||
|
|
923654961b | ||
|
|
76c861ed12 | ||
|
|
31cab54861 | ||
|
|
2a16cc4262 | ||
|
|
a5b6556d67 |
@@ -0,0 +1,25 @@
|
||||
# The problem
|
||||
|
||||
Briefly describe the issue you are experiencing (or the feature you want to see added to Mod Organizer). Tell us what you were trying to do and what happened instead. Remember, this is _not_ a place to ask questions. For that, go to our discord channel
|
||||
|
||||
# Environment
|
||||
|
||||
* Mod Organizer Version that exhibits the issue:
|
||||
* Last Mod Organizer Verison that did not exhibit the issue (if applicable):
|
||||
* Desktop OS/version used to run Mod Organizer:
|
||||
|
||||
# Details
|
||||
|
||||
If necessary, describe the problem you have been experiencing in more detail.
|
||||
|
||||
# Link to Mod Organizer logs
|
||||
|
||||
## USVFS
|
||||
Create a [GIST](https://gist.github.com) which is a paste of your USVFS logs, and link them here.
|
||||
Do _NOT_ paste your full USVFS logs here, as it will make this issue very long and hard to read!
|
||||
If you are reporting a bug, _always_ include the USVFS logs!
|
||||
|
||||
## MO Interface
|
||||
Create a [GIST](https://gist.github.com) which is a paste of your mo_interface logs, and link them here.
|
||||
Do _NOT_ paste your full mo_interface logs here, as it will make this issue very long and hard to read!
|
||||
If you are reporting a bug, _always_ include the mo_interface logs!
|
||||
+18
@@ -0,0 +1,18 @@
|
||||
*.user
|
||||
Thumbs.db
|
||||
src/moc_*.cpp
|
||||
src/ui_*.h
|
||||
src/organizer_en.ts
|
||||
src/*.qrc.depends
|
||||
src/Modorganizer.*
|
||||
src/*.bak
|
||||
CMakeLists.txt.user
|
||||
edit
|
||||
stderr.log
|
||||
stdout.log
|
||||
vs_stderr.log
|
||||
vs_stdout.log
|
||||
build
|
||||
/vsbuild
|
||||
/CMakeFiles
|
||||
.idea
|
||||
@@ -1,4 +1,6 @@
|
||||
syntax: glob
|
||||
scons_configure.py
|
||||
scons-ModOrganizer-*
|
||||
ModOrganizer-build-desktop*
|
||||
outputd/*
|
||||
output/*
|
||||
@@ -31,5 +33,14 @@ html
|
||||
*.log
|
||||
*.filters
|
||||
*.lib
|
||||
source/organizer/resources/contents/icons
|
||||
source/plugins/build-*
|
||||
*/GeneratedFiles/*
|
||||
translations/*
|
||||
source/LocalPaths.pri
|
||||
source/*/Win32/Debug/*
|
||||
source/plugins/*/Win32/Debug/*
|
||||
*~
|
||||
syntax: regexp
|
||||
Makefile\.(Debug|Release)
|
||||
source/.*/debug/.*
|
||||
|
||||
+82
@@ -0,0 +1,82 @@
|
||||
[main]
|
||||
host = https://www.transifex.com
|
||||
|
||||
[mod-organizer.organizer]
|
||||
file_filter = organizer/organizer_<lang>.ts
|
||||
source_file = organizer/organizer_en.ts
|
||||
source_lang = en
|
||||
|
||||
[mod-organizer.diagnosebasic]
|
||||
file_filter = plugins/diagnoseBasic/diagnoseBasic_<lang>.ts
|
||||
source_file = plugins/diagnoseBasic/diagnoseBasic_en.ts
|
||||
source_lang = en
|
||||
|
||||
[mod-organizer.bsaextractor]
|
||||
file_filter = plugins/bsaExtractor/bsaExtractor_<lang>.ts
|
||||
source_file = plugins/bsaExtractor/bsaExtractor_en.ts
|
||||
source_lang = en
|
||||
|
||||
[mod-organizer.checkfnis]
|
||||
file_filter = plugins/checkFNIS/checkFNIS_<lang>.ts
|
||||
source_file = plugins/checkFNIS/checkFNIS_en.ts
|
||||
source_lang = en
|
||||
|
||||
[mod-organizer.inieditor]
|
||||
file_filter = plugins/iniEditor/iniEditor_<lang>.ts
|
||||
source_file = plugins/iniEditor/iniEditor_en.ts
|
||||
source_lang = en
|
||||
|
||||
[mod-organizer.installerbain]
|
||||
file_filter = plugins/installerBAIN/installerBAIN_<lang>.ts
|
||||
source_file = plugins/installerBAIN/installerBAIN_en.ts
|
||||
source_lang = en
|
||||
|
||||
[mod-organizer.installerbundle]
|
||||
file_filter = plugins/installerBundle/installerBundle_<lang>.ts
|
||||
source_file = plugins/installerBundle/installerBundle_en.ts
|
||||
source_lang = en
|
||||
|
||||
[mod-organizer.installerfomod]
|
||||
file_filter = plugins/installerFomod/installerFomod_<lang>.ts
|
||||
source_file = plugins/installerFomod/installerFomod_en.ts
|
||||
source_lang = en
|
||||
|
||||
[mod-organizer.installermanual]
|
||||
file_filter = plugins/installerManual/installerManual_<lang>.ts
|
||||
source_file = plugins/installerManual/installerManual_en.ts
|
||||
source_lang = en
|
||||
|
||||
[mod-organizer.installerncc]
|
||||
file_filter = plugins/installerNCC/installerNCC_<lang>.ts
|
||||
source_file = plugins/installerNCC/installerNCC_en.ts
|
||||
source_lang = en
|
||||
|
||||
[mod-organizer.installerquick]
|
||||
file_filter = plugins/installerQuick/installerQuick_<lang>.ts
|
||||
source_file = plugins/installerQuick/installerQuick_en.ts
|
||||
source_lang = en
|
||||
|
||||
[mod-organizer.nmmimport]
|
||||
file_filter = plugins/NMMImport/NMMImport_<lang>.ts
|
||||
source_file = plugins/NMMImport/NMMImport_en.ts
|
||||
source_lang = en
|
||||
|
||||
[mod-organizer.previewbase]
|
||||
file_filter = plugins/previewBase/previewBase_<lang>.ts
|
||||
source_file = plugins/previewBase/previewBase_en.ts
|
||||
source_lang = en
|
||||
|
||||
[mod-organizer.previewdds]
|
||||
file_filter = plugins/previewDDS/previewDDS_<lang>.ts
|
||||
source_file = plugins/previewDDS/previewDDS_en.ts
|
||||
source_lang = en
|
||||
|
||||
[mod-organizer.proxypython]
|
||||
file_filter = plugins/proxyPython/proxyPython_<lang>.ts
|
||||
source_file = plugins/proxyPython/proxyPython_en.ts
|
||||
source_lang = en
|
||||
|
||||
[mod-organizer.configurator]
|
||||
file_filter = plugins/pyniEdit/pyniEdit_<lang>.ts
|
||||
source_file = plugins/pyniEdit/pyniEdit_en.ts
|
||||
source_lang = en
|
||||
@@ -0,0 +1,15 @@
|
||||
CMAKE_MINIMUM_REQUIRED(VERSION 2.8.12)
|
||||
|
||||
ADD_COMPILE_OPTIONS($<$<CXX_COMPILER_ID:MSVC>:/MP>)
|
||||
|
||||
PROJECT(organizer)
|
||||
|
||||
# sets ModOrganizer as StartUp Project in Visual Studio
|
||||
set_property(DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}" PROPERTY VS_STARTUP_PROJECT "ModOrganizer")
|
||||
|
||||
SET(DEPENDENCIES_DIR CACHE PATH "")
|
||||
# hint to find qt in dependencies path
|
||||
LIST(APPEND CMAKE_PREFIX_PATH ${QT_ROOT}/lib/cmake)
|
||||
LIST(APPEND CMAKE_PREFIX_PATH ${LZ4_ROOT}/dll)
|
||||
|
||||
ADD_SUBDIRECTORY(src)
|
||||
-214
@@ -1,214 +0,0 @@
|
||||
HOW TO BUILD
|
||||
============
|
||||
|
||||
Intro:
|
||||
------
|
||||
|
||||
Building Mod Organizer can be a rather daunting task especially if you're not very comfortable with C++ development under windows.
|
||||
Please note that if you only want to work on and build a plugin you can save yourself a lot of trouble
|
||||
|
||||
Overview:
|
||||
---------
|
||||
|
||||
As of December 2013 MO consists of the following subprojects:
|
||||
- organizer: The main userinterface. heavy usage of various libraries
|
||||
- hookdll: core library of the virtual file system
|
||||
- uibase: interop between plugins and the main application as well as some reusable functionality
|
||||
- shared: functionality shared between organizer and hookdll. I'm attempting to get rid of this library over time
|
||||
- nxmhandler: tool to pass handling of nxm links to MO or other applications
|
||||
- helper: tool for doing operations requiring elevated priviledges if MO doesn't have them
|
||||
- proxydll: dll used in the "proxy dll" load mechanism
|
||||
- esptk: small library containing functionality to work with esps/esms
|
||||
- bsatk: small library containing functionality to work with bsas. Requires zlib to extract files. Requires boost_thread to provide multi-threaded extraction
|
||||
- archive: small wrapper library around 7zip for dealing with mod archives. Requires 7zip
|
||||
- NCC: extension to NMM to provide a binary with command line interface for fomod installation. This is c# code and does not build with the rest of the project. Requires the rest of NMM
|
||||
- bossdummy: dummy dll that looks like the boss.dll. This is used instead of the real boss dlls in NCC to save some disk space
|
||||
- pythonrunner: library for embedding python code. Requires boost_python, python 2.7 and pyqt4
|
||||
|
||||
And various plugins:
|
||||
- checkFNIS: Activates each time an application is started from MO and runs fnis if necessary
|
||||
- diagnoseBasic: Various diagnostic checks on the game
|
||||
- inieditor: minimalistic file editor for ini files
|
||||
- installerBain: handles non-scripted bain installers
|
||||
- installerBCF: no functionality. Supposed to eventually allow installations using bcfs (bain conversion file). python code
|
||||
- installerBundle: handles installation of archives wrapped in archives
|
||||
- installerFomod: handles installation of xml fomods
|
||||
- installerManual: handles installations of archives that aren't supported by any other plugin (or if the user chooses to do the installation manually)
|
||||
- installerNCC: handles installation of any fomod (requires NCC)
|
||||
- installerQuick: handles very simple one-click installations
|
||||
- NMMImport: importer from existing nmm installation
|
||||
- proxyPython: integrates pythonrunner as a plugin into MO
|
||||
- pyniEdit: more user-friendly ini editor. python code
|
||||
|
||||
|
||||
Requirements:
|
||||
-------------
|
||||
|
||||
Visual C++ compiler 2010 (VC 10.0) or up
|
||||
- Included in visual c++ express 2010 or windows sdk 7.x
|
||||
- Do install windows sdk too if only for the cdb debugger which is included in that package
|
||||
Note: If you're having trouble installing the windows sdk, you may be affected by this bug: http://support.microsoft.com/kb/2717426
|
||||
|
||||
Qt Libraries 4.8.x (http://qt-project.org/downloads)
|
||||
- i.e. "Qt libraries 4.8.5 for Windows (VS 2010, 235 MB)"
|
||||
- tested: 4.8.5
|
||||
- Qt5 is not yet supported but WIP. You will see a few conditional qt5 pathes
|
||||
- Install according to instruction
|
||||
|
||||
boost libraries (http://www.boost.org/)
|
||||
- tested: 1.49
|
||||
- Build according to their instructions (using vc++): http://www.boost.org/doc/libs/1_54_0/more/getting_started/windows.html
|
||||
- A few of the boost libraries need to be built (the rest is header-only). The only compiled libs MO needs (at the time of writing) are
|
||||
boost_thread (for everything that links agains bsatk) and boost_python (for pythonrunner). You can disable the others to save yourself compile time (even on a modern system compiling boost can easily take an hour)
|
||||
|
||||
zlib (http://www.zlib.net/)
|
||||
- Compile static library according to their instructions
|
||||
- Depending on the version of zlib and how you built you should have a file called zlibstatic.lib or zlibstat.lib in "build" or "x86\ZLibStatRelease".
|
||||
- Please copy that lib file to "build\zlibstatic.lib" (if it doesn't exist) so MO finds it.
|
||||
|
||||
7z sourcecode (http://www.7-zip.org/download.html)
|
||||
- only for "archive" subproject
|
||||
- no need to compile, will be linked into project
|
||||
|
||||
Python 2.7 (32-bit)
|
||||
- only for pythonrunner
|
||||
|
||||
PyQt4 for Python 2.7
|
||||
- tested: 4.10
|
||||
- only for pythonrunner
|
||||
|
||||
|
||||
Recommended:
|
||||
------------
|
||||
|
||||
Qt Creator
|
||||
- http://qt-project.org/downloads#qt-creator
|
||||
- I.e. "Qt Creator 2.8.1 for Windows (53 MB)"
|
||||
- With Qt Creator usually the rule is "the newer the better"
|
||||
- Start Qt Creator and check if things are set up correctly:
|
||||
1) Go to Tools > Options > Build & Run > Qt Versions
|
||||
2.1) If the QtSDK 4.8.x you installed earlier is not auto-detected, click "Add" to add it manually
|
||||
2.2) Navigate to your <your qt4 installation>\bin\qmake.exe
|
||||
2.3) Restart qt creator
|
||||
3) Go to Tools > Options > Build & Run > Kits
|
||||
3.1) If no Kit is auto-detected (or the auto-detected ones have picked up the wrong qt or vc++ installation) click "Add"
|
||||
3.2) Enter a Name (i.e. "Qt 4.8.5 MSVC2010 32bit")
|
||||
3.3) In Compiler select the visual studio compiler installed earlier (may show up as "Microsoft Windows SDK for Windows x). Make sure you select the x86 variant
|
||||
3.4) CDB should be auto-detected
|
||||
3.5) Select the qt version set up earlier
|
||||
4) Apply and close the options
|
||||
|
||||
Set up (using Qt Creator):
|
||||
--------------------------
|
||||
|
||||
1. Using Qt Creator open source/ModOrganizer.pro from your working copy
|
||||
2. Open the "Projects" tab, open the "Details" for "Build Environment"
|
||||
3a. Click "Add" to add a variable called "BOOSTPATH" with the path of your boost installation as the value (i.e. C:\code\boost_1_49_0)
|
||||
3b. Click "Add" to add a variable called "ZLIBPATH" with the path of your zlib installation as the value (i.e. C:\code\zlib-1.2.7)
|
||||
3c. Click "Add" to add a variable called "7ZIPPATH" with the path of your zlib installation as the value (i.e. C:\code\7zip)
|
||||
3d. Click "Add" to add a variable called "PYTHONPATH" with the path of your zlib installation as the value (i.e. C:\code\python)
|
||||
4. Switch the build configuration at the very top of the same page from "debug" to "release" (or vice versa) and repeat step 3
|
||||
5. Compile the configuration(s) you want to use (debug and/or release) (Build All). This should compile correctly.
|
||||
6. <reserved for future use. Maybe grab a coffee?>
|
||||
7. return to the "projects" tab and switch to "Run Settings"
|
||||
8. Determine the folder of the qt binaries in the package you downloaded. This could be "QtSDK\Desktop\Qt\4.8.5\msvc2010\bin" or "Qt4.8.5\bin"
|
||||
For Release build:
|
||||
9r. Add a "Run configuration" that points to <your working copy>\output\ModOrganizer.exe
|
||||
10r. Copy "7z.dll" to <your working copy>\output\dlls
|
||||
11r. From the qt binaries directory, copy the following files to <your working copy>\output\dlls: QtCore4.dll, QtDeclarative4.dll, QtGui4.dll, QtNetwork4.dll, QtScript4.dll, QtSql4.dll, QtWebkit4.dll, QtXml4.dll, QtXmlPatterns4.dll
|
||||
For Debug build:
|
||||
9d. Add a "Run configuration" that points to <your working copy>\outputd\ModOrganizer.exe
|
||||
10d. Copy "7z.dll" to <your working copy>\outputd\dlls
|
||||
11d. From the qt binaries copy the following files to <your working copy>\outputd\dlls: QtCored4.dll, QtDeclaratived4.dll, QtGuid4.dll, QtNetworkd4.dll, QtScriptd4.dll, QtSqld4.dll, QtWebkitd4.dll, QtXmld4.dll, QtXmlPatternsd4.dll
|
||||
|
||||
Now you should be able to compile and run Mod Organizer.
|
||||
Please note that when you change anything apart from the "organizer" subproject, qt creator may not pick up on the changes
|
||||
and not recompile the modified subproject. the "organizer" project on the other hand is always re-linked. If anyone knowledgeable enough with qmake
|
||||
can fix that that would be awesome.
|
||||
|
||||
Set up (without Qt Creator):
|
||||
----------------------------
|
||||
|
||||
1. open a command line shell and navigate to <your working copy>\source
|
||||
2. run "qmake -tp vc" to create a visual c++ solution
|
||||
3. Open that solution
|
||||
4. - 98. A miracle happens
|
||||
99. You can now compile MO using VC
|
||||
|
||||
I'm not using this workflow so I can't give more detailed instructions.
|
||||
Please note that the primary project format of MO remains qmake, if you work with visual studio and make changes to the project (like adding
|
||||
source files) you have to manually transfer those changes to the .pro file.
|
||||
|
||||
|
||||
|
||||
-----------------
|
||||
Troubleshooting (thanks to Ross):
|
||||
-----------------
|
||||
|
||||
1) When I try to build, I am seeing the error "error: LNK1104: cannot open file 'zlibstatic.lib'"
|
||||
|
||||
a) Make sure you have the following files
|
||||
{ZLIBPATH}\build\zconf.h
|
||||
{ZLIBPATH}\build\zlib.h
|
||||
{ZLIBPATH}\build\zlibstatic.lib
|
||||
|
||||
b) make sure "zlibstat.lib" was renamed to "zlibstatic.lib"
|
||||
c) currently, there are references to zlibstatic in the following 2 project files:
|
||||
./bsatk/bsatk.pro
|
||||
./hookdll/hookdll.pro
|
||||
|
||||
2) After building, I try to open {MOPROJECTPATH}\outputd\ModOragnizer.exe and get this error
|
||||
"The program can't start because QtDeclaratived4.dll is missing from your computer. Try reinstalling the program to fix this problem."
|
||||
|
||||
-> When setting up Qt4.8.x, make sure you copied the "d" (debug) versions of the dll files to {MOPROJECTPATH}\outputd\dlls
|
||||
If you copied the release version or did not copy the dlls at all, you may see this error.
|
||||
The *.dll files can be found in {QT48xPATH}\bin
|
||||
|
||||
Similiar:
|
||||
http://stackoverflow.com/questions/11196416/cant-start-qt-exe-file-on-windows-7
|
||||
|
||||
3) I am getting one or more of the the following compiler warnings...
|
||||
|
||||
"{MOPROJECTPATH}\source\bsatk\bsaexception.cpp:32: warning: C4996: 'vsnprintf': This function or variable may be unsafe.
|
||||
Consider using vsnprintf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details."
|
||||
-> Ignore/suppress warning like this and make be ultra-careful using printf-style functions. vsnprintf_s is a visual-c++ only function so using those would make porting (i.e. to mingw) harder
|
||||
|
||||
"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\INCLUDE\stdio.h:354: see declaration of 'vsnprintf'"
|
||||
-> see previous
|
||||
|
||||
"debug\bsaarchive.obj:-1: warning: LNK4042: object specified more than once; extras ignored"
|
||||
|
||||
-> This appears to be an issue when using VC++ 2010 as the compiler. There are some posts on StackOverflow
|
||||
which suggest fixes when using VC++ as the IDE, but not sure how to apply them to Qt Creator.
|
||||
http://stackoverflow.com/questions/3729515
|
||||
http://stackoverflow.com/questions/3695174
|
||||
|
||||
-> Also, not sure if this affects VC++ 2012 / VC++ 2013 / GCC via cygwin/mingw.
|
||||
Not even sure if the project would successfully compile on these.
|
||||
|
||||
"{MOPROJECTPATH}\source\organizer\mainwindow.cpp:3995: warning: C4428: universal-character-name encountered in source"
|
||||
|
||||
-> very pointless warning.
|
||||
http://stackoverflow.com/questions/11589571
|
||||
http://stackoverflow.com/questions/7078013
|
||||
|
||||
the best solution I saw was to just disable the warning altogether...
|
||||
#pragma warning( disable : 4428 )
|
||||
|
||||
"warning: LNK4098: defaultlib 'LIBCMT' conflicts with use of other libs; use /NODEFAULTLIB:library"
|
||||
|
||||
-> You can always add a #pragma to ignore them :P
|
||||
http://msdn.microsoft.com/en-us/library/2c8f766e%28v=vs.80%29.aspx
|
||||
|
||||
4) I got the following error while building...
|
||||
"error: LNK1201: error writing to program database
|
||||
'{MOPROJECTPATH}\{whatever-your-build-directory-name-is}\organizer\debug\ModOrganizer.pdb';
|
||||
check for insufficient disk space, invalid path, or insufficient privilege"
|
||||
|
||||
-> I had this happen after trying to look at something in memory via Process Explorer.
|
||||
To resolve, I killed and restarted PE. Alternatively, you could probably use the
|
||||
Unlocker utility. After unlocking, I manually deleted everything in the directory.
|
||||
|
||||
Unlocker: http://www.filehippo.com/download_unlocker/ or http://www.emptyloop.com/unlocker/
|
||||
Warning: With Unlocker v1.9.2, you must select "Advanced" then uncheck everything to
|
||||
avoid having some Delta toolbar garbage installed...
|
||||
+713
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,30 @@
|
||||
[
|
||||
|
||||
# for boost???
|
||||
# These are probably correct but might need a revisit as if you look at the boost documentation pages, it
|
||||
# can give you huge lists of alternate includes...
|
||||
{ symbol: [ "BOOST_FOREACH", "private", "<boost/foreach.hpp>", "public" ] },
|
||||
|
||||
{ include: [ "@\"boost/bind/.*\"", "private", "<boost/bind.hpp>", "public" ] },
|
||||
{ include: [ "@\"boost/algorithm/string/.*\"", "private", "<boost/algorithm/string.hpp>", "public" ] },
|
||||
{ include: [ "@\"boost/assign/.*\"", "private", "<boost/assign.hpp>", "public" ] },
|
||||
{ include: [ "@\"boost/filesystem/.*\"", "private", "<boost/filesystem.hpp>", "public" ] },
|
||||
{ include: [ "@\"boost/format/.*\"", "private", "<boost/format.hpp>", "public" ] },
|
||||
{ include: [ "@\"boost/function/.*\"", "private", "<boost/function.hpp>", "public" ] },
|
||||
{ include: [ "@\"boost/local/.*\"", "private", "<boost/locale.hpp>", "public" ] },
|
||||
{ include: [ "@\"boost/python/.*\"", "private", "<boost/python.hpp>", "public" ] },
|
||||
{ include: [ "@\"boost/signals2/.*\"", "private", "<boost/signals2.hpp>", "public" ] },
|
||||
{ include: [ "\"boost/smart_ptr/scoped_array.hpp\"", "private", "<boost/scoped_array.hpp>", "public" ] },
|
||||
{ include: [ "\"boost/smart_ptr/shared_ptr.hpp\"", "private", "<boost/shared_ptr.hpp>", "public" ] },
|
||||
# this appears to be excessive
|
||||
#{ include: [ "@\"boost/thread/.*\"", "private", "<boost/thread.hpp>", "public" ] },
|
||||
|
||||
# And this is specific to us
|
||||
{ include: [ "\"appconfig.inc\"", "private", "\"appconfig.h\"", "public" ] },
|
||||
|
||||
]
|
||||
|
||||
# Ones I don't yet know how to deal with
|
||||
#include "boost/fusion/container/vector/vector10_fwd.hpp" // for fusion
|
||||
#include "boost/iterator/iterator_facade.hpp" // for operator!=
|
||||
#include "boost/iterator/iterator_facade.hpp"
|
||||
@@ -0,0 +1,160 @@
|
||||
from collections import defaultdict
|
||||
|
||||
import fileinput
|
||||
import re
|
||||
import subprocess
|
||||
import sys
|
||||
|
||||
|
||||
"""
|
||||
|
||||
source/organizer/aboutdialog.h should add these lines:
|
||||
#include <QObject> // for Q_OBJECT, slots
|
||||
#include <QString> // for QString
|
||||
class QListWidgetItem;
|
||||
class QWidget;
|
||||
|
||||
source/organizer/aboutdialog.h should remove these lines:
|
||||
- #include <QListWidgetItem> // lines 25-25
|
||||
- #include <utility> // lines 28-28
|
||||
- #include <vector> // lines 27-27
|
||||
- class DownloadManager; // lines 47-47
|
||||
|
||||
The full include-list for source/organizer/aboutdialog.h:
|
||||
#include <QDialog> // for QDialog
|
||||
#include <QObject> // for Q_OBJECT, slots
|
||||
#include <QString> // for QString
|
||||
#include <map> // for map
|
||||
class QListWidgetItem;
|
||||
class QWidget;
|
||||
namespace Ui { class AboutDialog; } // lines 31-31
|
||||
---
|
||||
"""
|
||||
|
||||
removing = None
|
||||
includes = dict()
|
||||
|
||||
adding = None
|
||||
added = defaultdict(list)
|
||||
lcadded = dict()
|
||||
|
||||
foundline = None
|
||||
|
||||
errors = False
|
||||
|
||||
messages = defaultdict(list)
|
||||
|
||||
def process_next_line(line, outfile):
|
||||
""" Read a line of output/error from include-what-you use
|
||||
Turn clang errors into a form QT creator recognises
|
||||
Raise warnings for unneeded includes
|
||||
"""
|
||||
global removing
|
||||
global includes
|
||||
global foundline
|
||||
global errors
|
||||
global added
|
||||
global adding
|
||||
line = line.rstrip()
|
||||
print >> outfile, line
|
||||
|
||||
if line.endswith(' should remove these lines:'):
|
||||
adding = None
|
||||
removing = (line.split(' '))[0]
|
||||
elif line.endswith(' should add these lines:'):
|
||||
removing = None
|
||||
adding = (line.split(' '))[0]
|
||||
elif line == '' or line.startswith(' the full include-list'):
|
||||
adding = None
|
||||
removing = None
|
||||
elif adding:
|
||||
m = re.match(r'.*class (.*);', line)
|
||||
if m:
|
||||
added[m.group(1)].append((adding, line))
|
||||
lcadded[m.group(1).lower() + '.h'] = m.group(1)
|
||||
else:
|
||||
added[line].append((adding, line))
|
||||
elif removing:
|
||||
# Really we should stash these so that if we get a 'class xxx' in
|
||||
# the add lines we can print it here. also we could do the case
|
||||
# fixing.
|
||||
m = re.match(r'- #include [<"](.*)[">] +// lines (.*)-', line)
|
||||
if m:
|
||||
foundline = m.group(2)
|
||||
# Note: In this project at least we have a naming convention of
|
||||
# lower case filename and upper case classname.
|
||||
clname = m.group(1)
|
||||
if clname not in added:
|
||||
if clname in lcadded:
|
||||
clname = lcadded[clname]
|
||||
if clname in added:
|
||||
for item in added[clname]:
|
||||
if removing == item[0]:
|
||||
messages[removing].append(
|
||||
'%s(%s) : warning I0004: Replace include of %s'
|
||||
' with forward reference %s' % (
|
||||
removing, m.group(2), m.group(1), item[1]))
|
||||
del added[clname]
|
||||
else:
|
||||
messages[removing].append(
|
||||
'%s(%s) : warning I0001: Unnecessary include of %s' % (
|
||||
removing, m.group(2), m.group(1)))
|
||||
|
||||
else:
|
||||
m = re.match(r'- (.*) +// lines (.*)-', line)
|
||||
if m:
|
||||
messages[removing].append(
|
||||
'%s(%s) : warning I0002: Unnecessary forward ref of %s' % (
|
||||
removing, m.group(2), m.group(1)))
|
||||
else:
|
||||
print '********* I got confused **********'
|
||||
elif line.startswith('In file included from'):
|
||||
line = re.sub(r'^(In file included from)(.*):(\d+):',
|
||||
r' \2(\3) : \1 here',
|
||||
line)
|
||||
# Note; QT Creator seems to be unwilling to let you double click the
|
||||
# line to select the code in question if you get a string of these, not
|
||||
# sure why.
|
||||
elif ': note:' in line:
|
||||
line = ' ' + re.sub(r':(\d+):\d+: note:', r'(\1) : note:', line)
|
||||
else:
|
||||
# Replace clang :line:column: type: with ms (line) : type nnnn:
|
||||
line = re.sub(r':(\d+):\d+: ([^:]*):', r'(\1) : \2 I1234:', line)
|
||||
if ' : error I1234:' in line:
|
||||
errors = True
|
||||
|
||||
print line
|
||||
|
||||
outfile = open(sys.argv[1], 'w')
|
||||
process = subprocess.Popen(sys.argv[2:],
|
||||
stdout = subprocess.PIPE, stderr = subprocess.STDOUT)
|
||||
while True:
|
||||
output = process.stdout.readline()
|
||||
if output == '' and process.poll() is not None:
|
||||
break
|
||||
if output:
|
||||
process_next_line(output, outfile)
|
||||
|
||||
# A note: We should probably do some work as we use the source code line for
|
||||
# messages in include files...
|
||||
|
||||
if foundline is None:
|
||||
foundline = '1'
|
||||
|
||||
for add in added:
|
||||
for item in added[add]:
|
||||
messages[item[0]].append(
|
||||
'%s(%s) : warning I0003: Need to include %s' % (
|
||||
item[0], foundline, item[1]))
|
||||
|
||||
for file in sorted(messages.keys(), reverse = True):
|
||||
for line in messages[file]:
|
||||
print line
|
||||
|
||||
rc = process.poll()
|
||||
# The return code you get appears to be more to do with the amount of output
|
||||
# generated than any real error, so instead we should error if any ': error:'
|
||||
# lines are detected
|
||||
|
||||
if errors:
|
||||
sys.exit(1)
|
||||
@@ -0,0 +1,83 @@
|
||||
# Mod Organizer
|
||||
|
||||
Mod Organizer (MO) is a tool for managing mod collections of arbitrary size. It is specifically designed for people who like to experiment with mods and thus need an easy and reliable way to install and uninstall them.
|
||||
Mod Organizer 2 is a mod manager created by Tannin to support 64-bit games like Skyrim Special Edition and Fallout 4 in addition to all the 32-bit games MO1 already supported.
|
||||
|
||||
Tannin discontinued the project when he was hired by the Nexus team to develop their new Vortex mod manager.
|
||||
MO2 was not completed and was left with many issues. LePresidente managed to fix it to a usable state by himself after SkyrimSE came out, adding support for it, and releasing v2.0.8.
|
||||
The project took up speed again after a few more coders showed up in late 2017, and a lot of progress has been made.
|
||||
|
||||
## Help Wanted!
|
||||
Mod Organizer 2 is an open project in the hands of the community, there are problems that need to be solved and things that could be added. MO2 really needs developers and if you have the programming skills and some free time you can really improve the experience of the modding community.
|
||||
|
||||
To have more information, please join the open MO2 Development discord server :* [ModOrganizerDevs](https://discord.gg/vD2ZbfX)
|
||||
If you want to help translate MO2 to your language you should join the discord server too and head to the #translation channel.
|
||||
To setup a development environment on your machine, there is the [umbrella project](https://github.com/Modorganizer2/modorganizer-umbrella) that handles that.
|
||||
If you want to submit your code changes, please use a good formating style like the default one in Visual Studio.
|
||||
|
||||
Through the work of a few people of the community MO2 has come quite far, now it needs some more of those people to go further.
|
||||
|
||||
## Reporting Issues:
|
||||
Issues should be reported to the GitHub page or on the open discord server: [ModOrganizerDevs](https://discord.gg/vD2ZbfX). Here is also where dev builds are tested, bugs are reported and investigated, suggestions are discussed and a lot more.
|
||||
|
||||
Credits to Tannin, LePresidente, Silarn, erasmux, AL12 and many others for the development.
|
||||
|
||||
## Download Location
|
||||
|
||||
* on [GitHub.com](https://github.com/Modorganizer2/modorganizer/releases)
|
||||
* on [NexusMods.com](https://www.nexusmods.com/skyrimspecialedition/mods/6194)
|
||||
|
||||
## Old Download Location
|
||||
|
||||
* [TanninOne/modorganizer/releases](https://github.com/TanninOne/modorganizer/releases)
|
||||
|
||||
## Building
|
||||
|
||||
Please refer to [Modorganizer2/modorganizer-umbrella](https://github.com/Modorganizer2/modorganizer-umbrella) for build instructions.
|
||||
|
||||
## Other Repositories
|
||||
|
||||
MO2 consists of multiple repositories on github. The Umbrella project will download them automatically as required. They should however also be buildable individually.
|
||||
Here is a complete list:
|
||||
|
||||
* https://github.com/LePresidente/cpython-1
|
||||
* https://github.com/Modorganizer2/githubpp
|
||||
* https://github.com/Modorganizer2/modorganizer
|
||||
* https://github.com/Modorganizer2/modorganizer-archive
|
||||
* https://github.com/Modorganizer2/modorganizer-bsatk
|
||||
* https://github.com/Modorganizer2/modorganizer-bsa_extractor
|
||||
* https://github.com/Modorganizer2/modorganizer-check_fnis
|
||||
* https://github.com/Modorganizer2/modorganizer-diagnose_basic
|
||||
* https://github.com/Modorganizer2/modorganizer-esptk
|
||||
* https://github.com/Modorganizer2/modorganizer-helper
|
||||
* https://github.com/Modorganizer2/modorganizer-game_fallout3
|
||||
* https://github.com/Modorganizer2/modorganizer-game_fallout4
|
||||
* https://github.com/Modorganizer2/modorganizer-game_fallout4vr
|
||||
* https://github.com/Modorganizer2/modorganizer-game_falloutnv
|
||||
* https://github.com/Modorganizer2/modorganizer-game_features
|
||||
* https://github.com/Modorganizer2/modorganizer-game_gamebryo
|
||||
* https://github.com/Modorganizer2/modorganizer-game_morrowind
|
||||
* https://github.com/Modorganizer2/modorganizer-game_oblivion
|
||||
* https://github.com/Modorganizer2/modorganizer-game_skyrim
|
||||
* https://github.com/Modorganizer2/modorganizer-game_skyrimSE
|
||||
* https://github.com/Modorganizer2/modorganizer-game_ttw
|
||||
* https://github.com/Modorganizer2/modorganizer-installer_bain
|
||||
* https://github.com/Modorganizer2/modorganizer-installer_bundle
|
||||
* https://github.com/Modorganizer2/modorganizer-installer_fomod
|
||||
* https://github.com/Modorganizer2/modorganizer-installer_manual
|
||||
* https://github.com/Modorganizer2/modorganizer-installer_ncc
|
||||
* https://github.com/Modorganizer2/modorganizer-installer_quick
|
||||
* https://github.com/Modorganizer2/modorganizer-lootcli
|
||||
* https://github.com/Modorganizer2/modorganizer-NCC
|
||||
* https://github.com/Modorganizer2/modorganizer-nxmhandler
|
||||
* https://github.com/Modorganizer2/modorganizer-plugin_python
|
||||
* https://github.com/Modorganizer2/modorganizer-preview_base
|
||||
* https://github.com/Modorganizer2/modorganizer-tool_configurator
|
||||
* https://github.com/Modorganizer2/modorganizer-tool_inibakery
|
||||
* https://github.com/Modorganizer2/modorganizer-uibase
|
||||
* https://github.com/Modorganizer2/usvfs
|
||||
|
||||
### Unused Repositories
|
||||
* https://github.com/Modorganizer2/modorganizer-hookdll
|
||||
* https://github.com/TanninOne/modorganizer-tool_nmmimport
|
||||
|
||||
@@ -0,0 +1,33 @@
|
||||
# This python script contains the configuration for scons
|
||||
# Copy this to scons_configure.py and adjust to taste.
|
||||
|
||||
# Path to your boost install - it should have a boost/ subdirectory and a stage/
|
||||
# subdirectory. The scons script will use stage/lib if there, or the appropriate
|
||||
# version for your compiler, if you installed the multiple-build version
|
||||
BOOSTPATH = r"C:\Apps\boost_1_55_0"
|
||||
|
||||
# Version of Visual Studio to use, if you wish to use a specific version. If you
|
||||
# don't specify a version, the latest will be picked.. See the scons manual for
|
||||
# supported values.
|
||||
#MSVC_VERSION = '10.0Exp'
|
||||
|
||||
# Path to your python install
|
||||
# You don't really need to set this up but you might if (say) you have a 32- and
|
||||
# 64-bit python install and scons has been installed for the 64 bit version
|
||||
#PYTHONPATH=r"C:\Apps\Python"
|
||||
|
||||
# Path to your QT install. This might constrain the version of MSVC you can use.
|
||||
# This seems to be set by QTCreator
|
||||
#QTDIR = r"C:\Apps\Qt\4.8.6"
|
||||
|
||||
# Path to 7-zip sources
|
||||
SEVENZIPPATH = r"C:\Apps\7-Zip\7z920"
|
||||
|
||||
# Path to zlib. Please read the README file for more information about how this
|
||||
# needs to be set up
|
||||
ZLIBPATH = r"C:\Apps\zlib-1.2.8"
|
||||
|
||||
# Source control programs. Sadly I can't get this information from qt, even
|
||||
# though you have to set it up in the configuration
|
||||
GIT = r"C:\Program Files\git\bin\git.exe"
|
||||
MERCURIAL = r"C:\Program Files\TortoiseHg\hg.exe"
|
||||
@@ -0,0 +1,381 @@
|
||||
CMAKE_MINIMUM_REQUIRED (VERSION 2.8.11)
|
||||
|
||||
CMAKE_POLICY(SET CMP0020 NEW)
|
||||
#CMAKE_POLICY(SET CMP0043 NEW)
|
||||
|
||||
SET(PROJ_AUTHOR Tannin)
|
||||
SET(PROJ_ARCH x86)
|
||||
IF(CMAKE_SIZEOF_VOID_P EQUAL 8)
|
||||
SET(PROJ_ARCH x64)
|
||||
ENDIF()
|
||||
|
||||
SET(organizer_SRCS
|
||||
transfersavesdialog.cpp
|
||||
syncoverwritedialog.cpp
|
||||
spawn.cpp
|
||||
singleinstance.cpp
|
||||
settingsdialog.cpp
|
||||
settings.cpp
|
||||
selfupdater.cpp
|
||||
selectiondialog.cpp
|
||||
queryoverwritedialog.cpp
|
||||
profilesdialog.cpp
|
||||
profile.cpp
|
||||
pluginlistsortproxy.cpp
|
||||
pluginlist.cpp
|
||||
pluginlistview.cpp
|
||||
overwriteinfodialog.cpp
|
||||
nxmaccessmanager.cpp
|
||||
nexusinterface.cpp
|
||||
motddialog.cpp
|
||||
modlistsortproxy.cpp
|
||||
modlist.cpp
|
||||
modinfodialog.cpp
|
||||
modinfo.cpp
|
||||
modinfobackup.cpp
|
||||
modinfoforeign.cpp
|
||||
modinfooverwrite.cpp
|
||||
modinforegular.cpp
|
||||
modinfowithconflictinfo.cpp
|
||||
messagedialog.cpp
|
||||
mainwindow.cpp
|
||||
main.cpp
|
||||
loghighlighter.cpp
|
||||
logbuffer.cpp
|
||||
lockeddialogbase.cpp
|
||||
lockeddialog.cpp
|
||||
waitingonclosedialog.cpp
|
||||
loadmechanism.cpp
|
||||
installationmanager.cpp
|
||||
helper.cpp
|
||||
filedialogmemory.cpp
|
||||
executableslist.cpp
|
||||
editexecutablesdialog.cpp
|
||||
downloadmanager.cpp
|
||||
downloadlistwidgetcompact.cpp
|
||||
downloadlistwidget.cpp
|
||||
downloadlistsortproxy.cpp
|
||||
downloadlist.cpp
|
||||
directoryrefresher.cpp
|
||||
credentialsdialog.cpp
|
||||
categoriesdialog.cpp
|
||||
categories.cpp
|
||||
bbcode.cpp
|
||||
activatemodsdialog.cpp
|
||||
moapplication.cpp
|
||||
profileinputdialog.cpp
|
||||
icondelegate.cpp
|
||||
csvbuilder.cpp
|
||||
savetextasdialog.cpp
|
||||
qtgroupingproxy.cpp
|
||||
modlistview.cpp
|
||||
problemsdialog.cpp
|
||||
serverinfo.cpp
|
||||
browserview.cpp
|
||||
browserdialog.cpp
|
||||
persistentcookiejar.cpp
|
||||
noeditdelegate.cpp
|
||||
previewgenerator.cpp
|
||||
previewdialog.cpp
|
||||
aboutdialog.cpp
|
||||
json.cpp
|
||||
modflagicondelegate.cpp
|
||||
genericicondelegate.cpp
|
||||
organizerproxy.cpp
|
||||
viewmarkingscrollbar.cpp
|
||||
plugincontainer.cpp
|
||||
organizercore.cpp
|
||||
instancemanager.cpp
|
||||
usvfsconnector.cpp
|
||||
eventfilter.cpp
|
||||
moshortcut.cpp
|
||||
|
||||
shared/windows_error.cpp
|
||||
shared/error_report.cpp
|
||||
shared/directoryentry.cpp
|
||||
shared/util.cpp
|
||||
shared/appconfig.cpp
|
||||
shared/leaktrace.cpp
|
||||
shared/stackdata.cpp
|
||||
)
|
||||
|
||||
SET(organizer_HDRS
|
||||
transfersavesdialog.h
|
||||
syncoverwritedialog.h
|
||||
spawn.h
|
||||
singleinstance.h
|
||||
settingsdialog.h
|
||||
settings.h
|
||||
selfupdater.h
|
||||
selectiondialog.h
|
||||
queryoverwritedialog.h
|
||||
profilesdialog.h
|
||||
profile.h
|
||||
pluginlistsortproxy.h
|
||||
pluginlist.h
|
||||
pluginlistview.h
|
||||
overwriteinfodialog.h
|
||||
nxmaccessmanager.h
|
||||
nexusinterface.h
|
||||
motddialog.h
|
||||
modlistsortproxy.h
|
||||
modlist.h
|
||||
modinfodialog.h
|
||||
modinfo.h
|
||||
modinfobackup.h
|
||||
modinfoforeign.h
|
||||
modinfooverwrite.h
|
||||
modinforegular.h
|
||||
modinfowithconflictinfo.h
|
||||
messagedialog.h
|
||||
mainwindow.h
|
||||
loghighlighter.h
|
||||
logbuffer.h
|
||||
lockeddialogbase.h
|
||||
lockeddialog.h
|
||||
waitingonclosedialog.h
|
||||
loadmechanism.h
|
||||
installationmanager.h
|
||||
helper.h
|
||||
filedialogmemory.h
|
||||
executableslist.h
|
||||
editexecutablesdialog.h
|
||||
downloadmanager.h
|
||||
downloadlistwidgetcompact.h
|
||||
downloadlistwidget.h
|
||||
downloadlistsortproxy.h
|
||||
downloadlist.h
|
||||
directoryrefresher.h
|
||||
credentialsdialog.h
|
||||
categoriesdialog.h
|
||||
categories.h
|
||||
bbcode.h
|
||||
activatemodsdialog.h
|
||||
moapplication.h
|
||||
profileinputdialog.h
|
||||
icondelegate.h
|
||||
csvbuilder.h
|
||||
savetextasdialog.h
|
||||
qtgroupingproxy.h
|
||||
modlistview.h
|
||||
problemsdialog.h
|
||||
serverinfo.h
|
||||
browserview.h
|
||||
browserdialog.h
|
||||
persistentcookiejar.h
|
||||
noeditdelegate.h
|
||||
previewgenerator.h
|
||||
previewdialog.h
|
||||
aboutdialog.h
|
||||
json.h
|
||||
modflagicondelegate.h
|
||||
genericicondelegate.h
|
||||
organizerproxy.h
|
||||
viewmarkingscrollbar.h
|
||||
plugincontainer.h
|
||||
organizercore.h
|
||||
ilockedwaitingforprocess.h
|
||||
iuserinterface.h
|
||||
instancemanager.h
|
||||
usvfsconnector.h
|
||||
eventfilter.h
|
||||
descriptionpage.h
|
||||
moshortcut.h
|
||||
|
||||
shared/windows_error.h
|
||||
shared/error_report.h
|
||||
shared/directoryentry.h
|
||||
shared/util.h
|
||||
shared/appconfig.h
|
||||
shared/appconfig.inc
|
||||
shared/leaktrace.h
|
||||
shared/stackdata.h
|
||||
)
|
||||
|
||||
SET(organizer_UIS
|
||||
transfersavesdialog.ui
|
||||
syncoverwritedialog.ui
|
||||
simpleinstalldialog.ui
|
||||
settingsdialog.ui
|
||||
selectiondialog.ui
|
||||
queryoverwritedialog.ui
|
||||
profilesdialog.ui
|
||||
overwriteinfodialog.ui
|
||||
motddialog.ui
|
||||
modinfodialog.ui
|
||||
messagedialog.ui
|
||||
mainwindow.ui
|
||||
lockeddialog.ui
|
||||
waitingonclosedialog.ui
|
||||
installdialog.ui
|
||||
finddialog.ui
|
||||
editexecutablesdialog.ui
|
||||
downloadlistwidgetcompact.ui
|
||||
downloadlistwidget.ui
|
||||
credentialsdialog.ui
|
||||
categoriesdialog.ui
|
||||
activatemodsdialog.ui
|
||||
profileinputdialog.ui
|
||||
savetextasdialog.ui
|
||||
problemsdialog.ui
|
||||
previewdialog.ui
|
||||
browserdialog.ui
|
||||
aboutdialog.ui
|
||||
)
|
||||
|
||||
SET(organizer_QRCS
|
||||
resources.qrc
|
||||
stylesheet_resource.qrc
|
||||
)
|
||||
|
||||
SET(organizer_RCS
|
||||
app_icon.rc
|
||||
version.rc
|
||||
)
|
||||
|
||||
|
||||
SOURCE_GROUP(Source FILES ${organizer_SRCS})
|
||||
SOURCE_GROUP(Headers FILES ${organizer_HDRS})
|
||||
SOURCE_GROUP(UI FILES ${organizer_UIS})
|
||||
|
||||
|
||||
# Qt5
|
||||
SET(CMAKE_INCLUDE_CURRENT_DIR ON)
|
||||
SET(CMAKE_AUTOMOC ON)
|
||||
SET(CMAKE_AUTOUIC ON)
|
||||
FIND_PACKAGE(Qt5Widgets REQUIRED)
|
||||
FIND_PACKAGE(Qt5QuickWidgets REQUIRED)
|
||||
FIND_PACKAGE(Qt5Quick REQUIRED)
|
||||
FIND_PACKAGE(Qt5Network REQUIRED)
|
||||
FIND_PACKAGE(Qt5WinExtras REQUIRED)
|
||||
FIND_PACKAGE(Qt5WebEngineWidgets REQUIRED)
|
||||
FIND_PACKAGE(Qt5Script REQUIRED)
|
||||
FIND_PACKAGE(Qt5Qml REQUIRED)
|
||||
FIND_PACKAGE(Qt5LinguistTools)
|
||||
QT5_WRAP_UI(organizer_UIHDRS ${organizer_UIS})
|
||||
QT5_ADD_RESOURCES(organizer_RCCPPS ${organizer_QRCS})
|
||||
QT5_CREATE_TRANSLATION(organizer_translations_qm ${CMAKE_SOURCE_DIR}/src ${CMAKE_SOURCE_DIR}/src/organizer_en.ts)
|
||||
ADD_CUSTOM_TARGET(translations DEPENDS ${organizer_translations_qm})
|
||||
|
||||
INCLUDE_DIRECTORIES(${Qt5Declarative_INCLUDES})
|
||||
|
||||
ADD_DEFINITIONS(-DQT_MESSAGELOGCONTEXT)
|
||||
|
||||
# Boost
|
||||
SET(Boost_USE_STATIC_LIBS OFF)
|
||||
SET(Boost_USE_MULTITHREADED ON)
|
||||
SET(Boost_USE_STATIC_RUNTIME OFF)
|
||||
FIND_PACKAGE(Boost REQUIRED)
|
||||
|
||||
INCLUDE_DIRECTORIES(${Boost_INCLUDE_DIRS})
|
||||
LINK_DIRECTORIES(${Boost_LIBRARY_DIRS})
|
||||
|
||||
|
||||
FIND_PACKAGE(zlib REQUIRED)
|
||||
# TODO FindZlib doesn't find the static zlib library
|
||||
|
||||
|
||||
# MO projects
|
||||
SET(default_project_path "${CMAKE_SOURCE_DIR}/..")
|
||||
GET_FILENAME_COMPONENT(${default_project_path} ${default_project_path} REALPATH)
|
||||
|
||||
SET(project_path "${default_project_path}" CACHE PATH "path to the other mo projects")
|
||||
#TODO this should not be a hardcoded path
|
||||
SET(lib_path "${project_path}/../../install/libs")
|
||||
|
||||
|
||||
INCLUDE_DIRECTORIES(${project_path}/uibase/src
|
||||
${project_path}/bsatk/src
|
||||
${project_path}/esptk/src
|
||||
${project_path}/archive/src
|
||||
${project_path}/../usvfs/include
|
||||
${project_path}/game_gamebryo/src
|
||||
${project_path}/game_features/src
|
||||
${project_path}/githubpp/src
|
||||
${LZ4_ROOT}/include)
|
||||
|
||||
INCLUDE_DIRECTORIES(shared ${ZLIB_INCLUDE_DIRS})
|
||||
LINK_DIRECTORIES(${lib_path}
|
||||
${ZLIB_ROOT}/lib
|
||||
${LZ4_ROOT}/dll)
|
||||
EXECUTE_PROCESS(
|
||||
COMMAND git log -1 --format=%h
|
||||
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
|
||||
OUTPUT_VARIABLE GIT_COMMIT_HASH
|
||||
OUTPUT_STRIP_TRAILING_WHITESPACE
|
||||
)
|
||||
|
||||
ADD_DEFINITIONS(-D_UNICODE -DUNICODE -DNOMINMAX -D_CRT_SECURE_NO_WARNINGS -DBOOST_CONFIG_SUPPRESS_OUTDATED_MESSAGE -DGITID="${GIT_COMMIT_HASH}")
|
||||
|
||||
IF("${CMAKE_SIZEOF_VOID_P}" EQUAL "8")
|
||||
SET(usvfs_name usvfs_x64)
|
||||
ELSE()
|
||||
SET(usvfs_name usvfs_x86)
|
||||
ENDIF()
|
||||
|
||||
ADD_EXECUTABLE(ModOrganizer WIN32 ${organizer_HDRS} ${organizer_SRCS} ${organizer_UIHDRS} ${organizer_RCS} ${organizer_RCCPPS} ${organizer_translations_qm})
|
||||
TARGET_LINK_LIBRARIES(ModOrganizer
|
||||
Qt5::Widgets Qt5::WinExtras Qt5::WebEngineWidgets Qt5::Quick
|
||||
Qt5::Script Qt5::Qml Qt5::QuickWidgets Qt5::Network
|
||||
${Boost_LIBRARIES}
|
||||
zlibstatic
|
||||
uibase esptk bsatk githubpp
|
||||
${usvfs_name}
|
||||
Dbghelp advapi32 Version Shlwapi liblz4)
|
||||
IF (NOT "${OPTIMIZE_COMPILE_FLAGS}" STREQUAL "")
|
||||
SET_TARGET_PROPERTIES(ModOrganizer PROPERTIES COMPILE_FLAGS_RELWITHDEBINFO
|
||||
${OPTIMIZE_COMPILE_FLAGS})
|
||||
ENDIF()
|
||||
SET_TARGET_PROPERTIES(ModOrganizer PROPERTIES LINK_FLAGS_RELWITHDEBINFO
|
||||
"/LARGEADDRESSAWARE ${OPTIMIZE_LINK_FLAGS}")
|
||||
|
||||
|
||||
###############
|
||||
## Installation
|
||||
|
||||
SET(qt5bin ${Qt5Core_DIR}/../../../bin)
|
||||
|
||||
FIND_PROGRAM(WINDEPLOYQT_COMMAND windeployqt PATHS ${qt5bin} NO_DEFAULT_PATH)
|
||||
|
||||
INSTALL(TARGETS ModOrganizer
|
||||
RUNTIME DESTINATION bin)
|
||||
INSTALL(FILES $<TARGET_PDB_FILE:ModOrganizer>
|
||||
DESTINATION pdb)
|
||||
INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/dlls.manifest.qt5
|
||||
DESTINATION bin/dlls
|
||||
RENAME dlls.manifest)
|
||||
|
||||
# use windeployqt.exe to install all required libraries
|
||||
SET(windeploy_parameters "--no-translations --plugindir qtplugins --libdir dlls --release-with-debug-info --no-compiler-runtime")
|
||||
INSTALL(
|
||||
CODE
|
||||
"EXECUTE_PROCESS(COMMAND
|
||||
${qt5bin}/windeployqt.exe ModOrganizer.exe --webenginewidgets ${windeploy_parameters}
|
||||
WORKING_DIRECTORY ${CMAKE_INSTALL_PREFIX}/bin
|
||||
)
|
||||
# run it a second time because on the first run it misses some files
|
||||
EXECUTE_PROCESS(COMMAND
|
||||
${qt5bin}/windeployqt.exe ModOrganizer.exe --webenginewidgets ${windeploy_parameters}
|
||||
WORKING_DIRECTORY ${CMAKE_INSTALL_PREFIX}/bin
|
||||
)
|
||||
EXECUTE_PROCESS(COMMAND
|
||||
${qt5bin}/windeployqt.exe uibase.dll ${windeploy_parameters}
|
||||
WORKING_DIRECTORY ${CMAKE_INSTALL_PREFIX}/bin
|
||||
)
|
||||
file(REMOVE_RECURSE ${CMAKE_INSTALL_PREFIX}/bin/platforms)
|
||||
file(REMOVE_RECURSE ${CMAKE_INSTALL_PREFIX}/bin/styles)
|
||||
file(REMOVE_RECURSE ${CMAKE_INSTALL_PREFIX}/bin/dlls/imageformats)
|
||||
file(RENAME ${CMAKE_INSTALL_PREFIX}/bin/qtplugins/platforms ${CMAKE_INSTALL_PREFIX}/bin/platforms)
|
||||
file(RENAME ${CMAKE_INSTALL_PREFIX}/bin/qtplugins/styles ${CMAKE_INSTALL_PREFIX}/bin/styles)
|
||||
file(RENAME ${CMAKE_INSTALL_PREFIX}/bin/qtplugins/imageformats ${CMAKE_INSTALL_PREFIX}/bin/dlls/imageformats)
|
||||
file(REMOVE_RECURSE ${CMAKE_INSTALL_PREFIX}/bin/qtplugins)"
|
||||
)
|
||||
|
||||
# qdds.dll needs installing manually as Qt no longer ships with it by default.
|
||||
INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/../qdds.dll DESTINATION bin/dlls/imageformats)
|
||||
|
||||
install(FILES ${organizer_translations_qm} DESTINATION bin/translations)
|
||||
|
||||
INSTALL(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/stylesheets
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/tutorials
|
||||
DESTINATION bin)
|
||||
+1566
-1059
File diff suppressed because it is too large
Load Diff
+36
-7
@@ -1,27 +1,56 @@
|
||||
TEMPLATE = subdirs
|
||||
|
||||
|
||||
SUBDIRS = bsatk \
|
||||
shared \
|
||||
uibase \
|
||||
esptk \
|
||||
organizer \
|
||||
hookdll \
|
||||
archive \
|
||||
helper \
|
||||
plugins \
|
||||
proxydll \
|
||||
nxmhandler \
|
||||
BossDummy \
|
||||
pythonRunner \
|
||||
esptk \
|
||||
loot_cli
|
||||
|
||||
plugins.depends = pythonRunner
|
||||
pythonRunner.depends = uibase
|
||||
plugins.depends = pythonRunner uibase
|
||||
hookdll.depends = shared
|
||||
organizer.depends = shared uibase plugins loot_cli
|
||||
organizer.depends = shared uibase plugins
|
||||
|
||||
CONFIG(debug, debug|release) {
|
||||
DESTDIR = outputd
|
||||
DESTDIR = $$PWD/../outputd
|
||||
} else {
|
||||
DESTDIR = output
|
||||
DESTDIR = $$PWD/../output
|
||||
}
|
||||
|
||||
STATICDATAPATH = $${DESTDIR}\\..\\tools\\static_data\\dlls
|
||||
DLLSPATH = $${DESTDIR}\\dlls
|
||||
|
||||
otherlibs.path = $$DLLSPATH
|
||||
otherlibs.files += $${STATICDATAPATH}\\7z.dll \
|
||||
$${BOOSTPATH}\\stage\\lib\\boost_python-vc*-mt-1*.dll
|
||||
|
||||
qtlibs.path = $$DLLSPATH
|
||||
|
||||
greaterThan(QT_MAJOR_VERSION, 4) {
|
||||
QTLIBNAMES += Core Gui Network OpenGL Script Sql Svg Qml Quick Webkit Widgets Xml XmlPatterns
|
||||
} else {
|
||||
QTLIBNAMES += Core Declarative Gui Network OpenGL Script Sql Svg Webkit Xml XmlPatterns
|
||||
}
|
||||
|
||||
QTLIBSUFFIX = $${QT_MAJOR_VERSION}.dll
|
||||
CONFIG(debug, debug|release): QTLIBSUFFIX = "d$${QTLIBSUFFIX}" # Can't use Debug: .. here, it ignores the line - no idea why, as it works in BossDummy.pro
|
||||
|
||||
for(QTNAME, QTLIBNAMES) {
|
||||
QTFILE = Qt$${QTNAME}
|
||||
qtlibs.files += $$[QT_INSTALL_BINS]\\$${QTFILE}$${QTLIBSUFFIX}
|
||||
}
|
||||
|
||||
INSTALLS += qtlibs otherlibs
|
||||
|
||||
OTHER_FILES +=\
|
||||
../SConstruct\
|
||||
../scons_configure.py\
|
||||
SConscript
|
||||
|
||||
+179
@@ -0,0 +1,179 @@
|
||||
import ctypes
|
||||
import os
|
||||
import subprocess
|
||||
|
||||
def resolve_name(source):
|
||||
# Get the actual name of the file, after reparse points and symlinks are
|
||||
# taken into account.
|
||||
GENERIC_READ = 0x80000000
|
||||
FILE_SHARE_READ = 0x1
|
||||
OPEN_EXISTING = 0x3
|
||||
FILE_FLAG_BACKUP_SEMANTICS = 0x02000000
|
||||
handle = ctypes.windll.kernel32.CreateFileA(source,
|
||||
GENERIC_READ,
|
||||
FILE_SHARE_READ,
|
||||
None,
|
||||
OPEN_EXISTING,
|
||||
FILE_FLAG_BACKUP_SEMANTICS,
|
||||
None)
|
||||
# get the target
|
||||
FILE_NAME_NORMALIZED = 0x0
|
||||
FILE_NAME_OPENED = 0x8
|
||||
buff = ctypes.create_string_buffer(1024)
|
||||
res = ctypes.windll.kernel32.GetFinalPathNameByHandleA(handle,
|
||||
buff,
|
||||
ctypes.sizeof(buff),
|
||||
FILE_NAME_NORMALIZED)
|
||||
target = buff.value
|
||||
ctypes.windll.kernel32.CloseHandle(handle)
|
||||
return target
|
||||
|
||||
def search_up(path, target):
|
||||
while True:
|
||||
if os.path.exists(os.path.join(path, target)):
|
||||
return True
|
||||
npath = os.path.dirname(path)
|
||||
if npath == path:
|
||||
break
|
||||
path = npath
|
||||
return False
|
||||
|
||||
Import('qt_env')
|
||||
|
||||
env = qt_env.Clone()
|
||||
|
||||
modules = [
|
||||
'Core',
|
||||
'Gui',
|
||||
'Network',
|
||||
'Script',
|
||||
'Sql',
|
||||
'WebKit',
|
||||
'Xml',
|
||||
'XmlPatterns',
|
||||
'Declarative'
|
||||
]
|
||||
|
||||
if env['QT_MAJOR_VERSION'] > 4:
|
||||
modules += [
|
||||
'Widgets',
|
||||
'Qml',
|
||||
'WebKitWidgets'
|
||||
]
|
||||
|
||||
env.EnableQtModules(*modules)
|
||||
|
||||
env.Uic(env.Glob('*.ui'))
|
||||
|
||||
env.RequireLibraries('uibase', 'shared', 'bsatk', 'esptk')
|
||||
|
||||
env.AppendUnique(LIBS = [
|
||||
'shell32',
|
||||
'user32',
|
||||
'ole32',
|
||||
'advapi32',
|
||||
'gdi32',
|
||||
'shlwapi',
|
||||
'Psapi',
|
||||
'Version'
|
||||
])
|
||||
|
||||
# We have to 'persuade' moc to generate certain other targets and inject them
|
||||
# into the list of cpps
|
||||
other_sources = env.AddExtraMoc(env.Glob('*.h'))
|
||||
|
||||
for file in env.Glob('*.rc'):
|
||||
other_sources.append(env.RES(file))
|
||||
|
||||
# Note the order of this is important, or you can pick up the wrong report.h...
|
||||
# Doing appendunique seems to throw the moc code into a tizzy
|
||||
env['CPPPATH'] += [
|
||||
'../archive',
|
||||
'../plugins/gamefeatures',
|
||||
'.', # Why is this necessary?
|
||||
'${LOOTPATH}',
|
||||
'${BOOSTPATH}',
|
||||
]
|
||||
|
||||
#########################FUDGE###############################
|
||||
env['CPPPATH'] += [
|
||||
'../plugins/gameGamebryo',
|
||||
]
|
||||
#############################################################
|
||||
|
||||
env.AppendUnique(CPPDEFINES = [
|
||||
'_UNICODE',
|
||||
'_CRT_SECURE_NO_WARNINGS',
|
||||
'_SCL_SECURE_NO_WARNINGS',
|
||||
'BOOST_DISABLE_ASSERTS',
|
||||
'NDEBUG',
|
||||
'QT_MESSAGELOGCONTEXT'
|
||||
])
|
||||
|
||||
# Boost produces very long names with msvc truncates. Doesn't seem to cause
|
||||
# problems.
|
||||
# Also note to remove the -wd4100 I hacked the boost headers (tagged_argument.hpp)
|
||||
# appropriately.
|
||||
env.AppendUnique(CPPFLAGS = [ '-wd4503' ])
|
||||
|
||||
env.AppendUnique(LINKFLAGS = [
|
||||
'/SUBSYSTEM:WINDOWS',
|
||||
'${EXE_MANIFEST_DEPENDENCY}'
|
||||
])
|
||||
|
||||
# modeltest is optional and it doesn't compile anyway...
|
||||
cpp_files = [
|
||||
x for x in env.Glob('*.cpp', source = True)
|
||||
if x.name != 'modeltest.cpp' and x.name != 'aboutdialog.cpp' and \
|
||||
not x.name.startswith('moc_') # I think this is a strange bug
|
||||
]
|
||||
|
||||
about_env = env.Clone()
|
||||
# This is somewhat of a hack until I can work out a way of setting up a build
|
||||
# with all the repos without using millions of junction points
|
||||
try:
|
||||
target = resolve_name(Dir('.').srcnode().abspath)
|
||||
if search_up(target, '.hg'):
|
||||
hgid = subprocess.check_output([env['MERCURIAL'], 'id', '-i']).rstrip()
|
||||
elif search_up(target, '.git'):
|
||||
hgid = subprocess.check_output([env['GIT'], '-C', target, 'describe',
|
||||
'--tag']).rstrip()
|
||||
else:
|
||||
hgid = "Unknown"
|
||||
except:
|
||||
hgid = "Problem determining version"
|
||||
|
||||
# FIXME: It'd be much easier to stringify this in the source code
|
||||
about_env.AppendUnique(CPPDEFINES = [ 'HGID=\\"%s\\"' % hgid ])
|
||||
other_sources.append(about_env.StaticObject('aboutdialog.cpp'))
|
||||
|
||||
env.AppendUnique(LIBPATH = "${ZLIBPATH}/build")
|
||||
env.AppendUnique(LIBS = 'zlibstatic')
|
||||
|
||||
prog = env.Program('ModOrganizer',
|
||||
cpp_files + env.Glob('*.qrc') + other_sources)
|
||||
|
||||
env.InstallModule(prog)
|
||||
|
||||
for subdir in ('tutorials', 'stylesheets'):
|
||||
env.Install(os.path.join(env['INSTALL_PATH'], subdir),
|
||||
env.Glob(os.path.join(subdir, '*')))
|
||||
|
||||
# FIXME Sort the translations. Except they don't exist on the 1.2 branch
|
||||
|
||||
res = env['QT_USED_MODULES']
|
||||
Return('res')
|
||||
|
||||
"""
|
||||
CONFIG(debug, debug|release) {
|
||||
} else {
|
||||
QMAKE_CXXFLAGS += /Zi /GL
|
||||
QMAKE_LFLAGS += /DEBUG /LTCG /OPT:REF /OPT:ICF
|
||||
}
|
||||
|
||||
TRANSLATIONS = organizer_en.ts
|
||||
|
||||
|
||||
QMAKE_POST_LINK += xcopy /y /s /I $$quote($$BASEDIR\\*.qm) $$quote($$DSTDIR)\\translations $$escape_expand(\\n)
|
||||
|
||||
"""
|
||||
+45
-12
@@ -22,6 +22,14 @@ along with Mod Organizer. If not, see <http://www.gnu.org/licenses/>.
|
||||
#include "ui_aboutdialog.h"
|
||||
#include <utility.h>
|
||||
|
||||
#include <QApplication>
|
||||
#include <QLabel>
|
||||
#include <QListWidget>
|
||||
#include <QListWidgetItem>
|
||||
#include <QTextBrowser>
|
||||
#include <QVariant>
|
||||
#include <Qt>
|
||||
#include <QFontDatabase>
|
||||
|
||||
AboutDialog::AboutDialog(const QString &version, QWidget *parent)
|
||||
: QDialog(parent)
|
||||
@@ -29,30 +37,55 @@ AboutDialog::AboutDialog(const QString &version, QWidget *parent)
|
||||
{
|
||||
ui->setupUi(this);
|
||||
|
||||
m_LicenseFiles[LICENSE_LGPL3] = "lgpl-3.0.txt";
|
||||
m_LicenseFiles[LICENSE_GPL3] = "gpl-3.0.txt";
|
||||
m_LicenseFiles[LICENSE_BSD3] = "bsd3.txt";
|
||||
m_LicenseFiles[LICENSE_LGPL3] = "LGPL-v3.0.txt";
|
||||
m_LicenseFiles[LICENSE_LGPL21] = "GNU-LGPL-v2.1.txt";
|
||||
m_LicenseFiles[LICENSE_GPL3] = "GPL-v3.0.txt";
|
||||
m_LicenseFiles[LICENSE_GPL2] = "GPL-v2.0.txt";
|
||||
m_LicenseFiles[LICENSE_BOOST] = "boost.txt";
|
||||
m_LicenseFiles[LICENSE_CCBY3] = "by-sa3.txt";
|
||||
m_LicenseFiles[LICENSE_7ZIP] = "7zip.txt";
|
||||
m_LicenseFiles[LICENSE_CCBY3] = "BY-SA-v3.0.txt";
|
||||
m_LicenseFiles[LICENSE_ZLIB] = "zlib.txt";
|
||||
m_LicenseFiles[LICENSE_PYTHON] = "python.txt";
|
||||
m_LicenseFiles[LICENSE_SSL] = "openssl.txt";
|
||||
m_LicenseFiles[LICENSE_CPPTOML] = "cpptoml.txt";
|
||||
m_LicenseFiles[LICENSE_UDIS] = "udis86.txt";
|
||||
m_LicenseFiles[LICENSE_SPDLOG] = "spdlog.txt";
|
||||
m_LicenseFiles[LICENSE_FMT] = "fmt.txt";
|
||||
m_LicenseFiles[LICENSE_SIP] = "sip.txt";
|
||||
m_LicenseFiles[LICENSE_CASTLE] = "Castle.txt";
|
||||
m_LicenseFiles[LICENSE_ANTLR] = "AntlrBuildTask.txt";
|
||||
m_LicenseFiles[LICENSE_DXTEX] = "DXTex.txt";
|
||||
|
||||
addLicense("Qt 4.8.5", LICENSE_LGPL3);
|
||||
addLicense("Qt", LICENSE_LGPL3);
|
||||
addLicense("Qt Json", LICENSE_GPL3);
|
||||
addLicense("Boost Library", LICENSE_BOOST);
|
||||
addLicense("7-zip", LICENSE_7ZIP);
|
||||
addLicense("ZLib", LICENSE_NONE);
|
||||
addLicense("Tango Icon Theme", LICENSE_NONE);
|
||||
addLicense("RRZE Icon Set", LICENSE_CCBY3);
|
||||
addLicense("7-zip", LICENSE_LGPL3);
|
||||
addLicense("ZLib", LICENSE_ZLIB);
|
||||
addLicense("NIF File Format Library", LICENSE_BSD3);
|
||||
addLicense("BOSS (modified)", LICENSE_GPL3);
|
||||
addLicense("Alphanum Algorithm", LICENSE_ZLIB);
|
||||
addLicense("Icons by Lorc, Delapouite and sbed available on http://game-icons.net", LICENSE_CCBY3);
|
||||
addLicense("Castle Core", LICENSE_CASTLE);
|
||||
addLicense("ANTLR", LICENSE_ANTLR);
|
||||
addLicense("LOOT", LICENSE_GPL3);
|
||||
addLicense("Python", LICENSE_PYTHON);
|
||||
addLicense("OpenSSL", LICENSE_SSL);
|
||||
addLicense("cpptoml", LICENSE_CPPTOML);
|
||||
addLicense("Udis86", LICENSE_UDIS);
|
||||
addLicense("spdlog", LICENSE_SPDLOG);
|
||||
addLicense("{fmt}", LICENSE_FMT);
|
||||
addLicense("SIP", LICENSE_SIP);
|
||||
addLicense("DXTex Headers", LICENSE_DXTEX);
|
||||
|
||||
ui->nameLabel->setText(QString("<span style=\"font-size:12pt; font-weight:600;\">%1 %2</span>").arg(ui->nameLabel->text()).arg(version));
|
||||
#ifdef HGID
|
||||
#if defined(HGID)
|
||||
ui->revisionLabel->setText(ui->revisionLabel->text() + " " + HGID);
|
||||
#elif defined(GITID)
|
||||
ui->revisionLabel->setText(ui->revisionLabel->text() + " " + GITID);
|
||||
#else
|
||||
ui->revisionLabel->setText(ui->revisionLabel->text() + " unknown");
|
||||
#endif
|
||||
|
||||
ui->licenseText->setFont(QFontDatabase::systemFont(QFontDatabase::FixedFont));
|
||||
}
|
||||
|
||||
|
||||
@@ -74,7 +107,7 @@ void AboutDialog::on_creditsList_currentItemChanged(QListWidgetItem *current, QL
|
||||
{
|
||||
auto iter = m_LicenseFiles.find(current->data(Qt::UserRole).toInt());
|
||||
if (iter != m_LicenseFiles.end()) {
|
||||
QString filePath = qApp->applicationDirPath() + "/license/" + iter->second;
|
||||
QString filePath = qApp->applicationDirPath() + "/licenses/" + iter->second;
|
||||
QString text = MOBase::readFileText(filePath);
|
||||
ui->licenseText->setText(text);
|
||||
} else {
|
||||
|
||||
+18
-5
@@ -22,10 +22,11 @@ along with Mod Organizer. If not, see <http://www.gnu.org/licenses/>.
|
||||
#define ABOUTDIALOG_H
|
||||
|
||||
#include <QDialog>
|
||||
#include <QListWidgetItem>
|
||||
class QListWidgetItem;
|
||||
#include <QObject>
|
||||
#include <QString>
|
||||
|
||||
#include <map>
|
||||
#include <vector>
|
||||
#include <utility>
|
||||
|
||||
namespace Ui {
|
||||
class AboutDialog;
|
||||
@@ -44,11 +45,23 @@ private:
|
||||
enum Licenses {
|
||||
LICENSE_NONE,
|
||||
LICENSE_LGPL3,
|
||||
LICENSE_LGPL21,
|
||||
LICENSE_GPL3,
|
||||
LICENSE_BSD3,
|
||||
LICENSE_GPL2,
|
||||
LICENSE_BOOST,
|
||||
LICENSE_CCBY3,
|
||||
LICENSE_ZLIB
|
||||
LICENSE_PYTHON,
|
||||
LICENSE_SSL,
|
||||
LICENSE_CPPTOML,
|
||||
LICENSE_7ZIP,
|
||||
LICENSE_ZLIB,
|
||||
LICENSE_UDIS,
|
||||
LICENSE_SPDLOG,
|
||||
LICENSE_FMT,
|
||||
LICENSE_SIP,
|
||||
LICENSE_CASTLE,
|
||||
LICENSE_ANTLR,
|
||||
LICENSE_DXTEX
|
||||
};
|
||||
|
||||
private:
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user