diff --git a/Natsurainko.FluentLauncher/App.xaml.cs b/Natsurainko.FluentLauncher/App.xaml.cs index 1c2255fd..dd76a7aa 100644 --- a/Natsurainko.FluentLauncher/App.xaml.cs +++ b/Natsurainko.FluentLauncher/App.xaml.cs @@ -84,7 +84,6 @@ private static IPageProvider BuildPageProvider(IServiceProvider sp) => WinUIPage // Home page .WithPage("HomePage") - .WithPage("NewHomePage") // Cores page .WithPage("CoresPage") diff --git a/Natsurainko.FluentLauncher/Assets/Rig_alex.obj b/Natsurainko.FluentLauncher/Assets/Rig_alex.obj new file mode 100644 index 00000000..0aba28bc --- /dev/null +++ b/Natsurainko.FluentLauncher/Assets/Rig_alex.obj @@ -0,0 +1,562 @@ +# WaveFront *.obj file (generated by Cinema 4D) + +v 0 0 12.5 +v 0 75 12.5 +v 25 0 12.5 +v 25 75 12.5 +v 25 0 -12.5 +v 25 75 -12.5 +v 0 0 -12.5 +v 0 75 -12.5 +# 8 vertices + +vn 0 0 1 +vn 1 0 0 +vn 0 0 -1 +vn -1 0 0 +vn 0 1 0 +vn 0 -1 0 +# 6 normals + +vt 0.31244999170303 -0.00012969970703 0 +vt 0.31244999170303 0.18737030029297 0 +vt 0.37494999170303 0.18737030029297 0 +vt 0.37494999170303 -0.00012969970703 0 +vt 0.37496998906136 -0.00012969970703 0 +vt 0.37496998906136 0.18737030029297 0 +vt 0.43746998906136 0.18737030029297 0 +vt 0.43746998906136 -0.00012969970703 0 +vt 0.43748998641968 -0.00012969970703 0 +vt 0.43748998641968 0.18737030029297 0 +vt 0.49998998641968 0.18737030029297 0 +vt 0.49998998641968 -0.00012969970703 0 +vt 0.24992999434471 -0.00012969970703 0 +vt 0.24992999434471 0.18737030029297 0 +vt 0.31242999434471 0.18737030029297 0 +vt 0.31242999434471 -0.00012969970703 0 +vt 0.31244999170303 0.18741035461426 0 +vt 0.31244999170303 0.24991023540497 0 +vt 0.37494999170303 0.24991023540497 0 +vt 0.37494999170303 0.18741035461426 0 +vt 0.37496998906136 0.18741035461426 0 +vt 0.37496998906136 0.24991023540497 0 +vt 0.43746998906136 0.24991023540497 0 +vt 0.43746998906136 0.18741035461426 0 +# 24 texture coordinates + +o l_leg +usemtl default +f 3/4/1 4/3/1 2/2/1 1/1/1 +f 5/8/2 6/7/2 4/6/2 3/5/2 +f 7/12/3 8/11/3 6/10/3 5/9/3 +f 1/16/4 2/15/4 8/14/4 7/13/4 +f 4/20/5 6/19/5 8/18/5 2/17/5 +f 5/24/6 3/23/6 1/22/6 7/21/6 + +v -0.625 -1.875 13.125 +v -0.625 76.875 13.125 +v 25.625 -1.875 13.125 +v 25.625 76.875 13.125 +v 25.625 -1.875 -13.125 +v 25.625 76.875 -13.125 +v -0.625 -1.875 -13.125 +v -0.625 76.875 -13.125 +# 8 vertices + +vn -1 0 0 +# 1 normal + +vt 0.06236999109387 -0.00012969970703 0 +vt 0.06236999109387 0.18737030029297 0 +vt 0.12486999481916 0.18737030029297 0 +vt 0.12486999481916 -0.00012969970703 0 +vt 0.12488999217749 -0.00012969970703 0 +vt 0.12488999217749 0.18737030029297 0 +vt 0.18738998472691 0.18737030029297 0 +vt 0.18738998472691 -0.00012969970703 0 +vt 0.18740998208523 -0.00012969970703 0 +vt 0.18740998208523 0.18737030029297 0 +vt 0.24990998208523 0.18737030029297 0 +vt 0.24990998208523 -0.00012969970703 0 +vt -0.00015000565327 -0.00012969970703 0 +vt -0.00015000565327 0.18737030029297 0 +vt 0.06234999373555 0.18737030029297 0 +vt 0.06234999373555 -0.00012969970703 0 +vt 0.06236999109387 0.18741035461426 0 +vt 0.06236999109387 0.24991023540497 0 +vt 0.12486999481916 0.24991023540497 0 +vt 0.12486999481916 0.18741035461426 0 +vt 0.12488999217749 0.18741035461426 0 +vt 0.12488999217749 0.24991023540497 0 +vt 0.18738998472691 0.24991023540497 0 +vt 0.18738998472691 0.18741035461426 0 +# 24 texture coordinates + +o l_layer +usemtl default +f 11/28/1 12/27/1 10/26/1 9/25/1 +f 13/32/2 14/31/2 12/30/2 11/29/2 +f 15/36/3 16/35/3 14/34/3 13/33/3 +f 9/40/7 10/39/7 16/38/7 15/37/7 +f 12/44/5 14/43/5 16/42/5 10/41/5 +f 13/48/6 11/47/6 9/46/6 15/45/6 + +v -25 0 12.5 +v -25 75 12.5 +v 0 0 12.5 +v 0 75 12.5 +v 0 0 -12.5 +v 0 75 -12.5 +v -25 0 -12.5 +v -25 75 -12.5 +# 8 vertices + +# 0 normal + +vt 0.06236999854445 0.50003004074097 0 +vt 0.06236999854445 0.68753004074097 0 +vt 0.12487000226974 0.68753004074097 0 +vt 0.12487000226974 0.50003004074097 0 +vt 0.12488999962807 0.50003004074097 0 +vt 0.12488999962807 0.68753004074097 0 +vt 0.18738999962807 0.68753004074097 0 +vt 0.18738999962807 0.50003004074097 0 +vt 0.18740999698639 0.50003004074097 0 +vt 0.18740999698639 0.68753004074097 0 +vt 0.24990999698639 0.68753004074097 0 +vt 0.24990999698639 0.50003004074097 0 +vt -0.00015000146232 0.50003004074097 0 +vt -0.00015000146232 0.68753004074097 0 +vt 0.06235000118613 0.68753004074097 0 +vt 0.06235000118613 0.50003004074097 0 +vt 0.06237000226974 0.68757003545761 0 +vt 0.06237000226974 0.75007003545761 0 +vt 0.12486999481916 0.75007003545761 0 +vt 0.12486999481916 0.68757003545761 0 +vt 0.12488999962807 0.68757003545761 0 +vt 0.12488999962807 0.75007003545761 0 +vt 0.18738999962807 0.75007003545761 0 +vt 0.18738999962807 0.68757003545761 0 +# 24 texture coordinates + +o r_leg +usemtl default +f 19/52/1 20/51/1 18/50/1 17/49/1 +f 21/56/2 22/55/2 20/54/2 19/53/2 +f 23/60/3 24/59/3 22/58/3 21/57/3 +f 17/64/7 18/63/7 24/62/7 23/61/7 +f 20/68/5 22/67/5 24/66/5 18/65/5 +f 21/72/6 19/71/6 17/70/6 23/69/6 + +v -25.625 -1.875 13.125 +v -25.625 76.875 13.125 +v 0.625 -1.875 13.125 +v 0.625 76.875 13.125 +v 0.625 -1.875 -13.125 +v 0.625 76.875 -13.125 +v -25.625 -1.875 -13.125 +v -25.625 76.875 -13.125 +# 8 vertices + +# 0 normal + +vt 0.06236999854445 0.24995005130768 0 +vt 0.06236999854445 0.43745005130768 0 +vt 0.12487000226974 0.43745005130768 0 +vt 0.12487000226974 0.24995005130768 0 +vt 0.12488999962807 0.24995005130768 0 +vt 0.12488999962807 0.43745005130768 0 +vt 0.18738999962807 0.43745005130768 0 +vt 0.18738999962807 0.24995005130768 0 +vt 0.18740999698639 0.24995005130768 0 +vt 0.18740999698639 0.43745005130768 0 +vt 0.24990999698639 0.43745005130768 0 +vt 0.24990999698639 0.24995005130768 0 +vt -0.00015000146232 0.24995005130768 0 +vt -0.00015000146232 0.43745005130768 0 +vt 0.06235000118613 0.43745005130768 0 +vt 0.06235000118613 0.24995005130768 0 +vt 0.06237000226974 0.43749010562897 0 +vt 0.06237000226974 0.49999010562897 0 +vt 0.12486999481916 0.49999010562897 0 +vt 0.12486999481916 0.43749010562897 0 +vt 0.12488999962807 0.43749010562897 0 +vt 0.12488999962807 0.49999010562897 0 +vt 0.18738999962807 0.49999010562897 0 +vt 0.18738999962807 0.43749010562897 0 +# 24 texture coordinates + +o r_layer +usemtl default +f 27/76/1 28/75/1 26/74/1 25/73/1 +f 29/80/2 30/79/2 28/78/2 27/77/2 +f 31/84/3 32/83/3 30/82/3 29/81/3 +f 25/88/7 26/87/7 32/86/7 31/85/7 +f 28/92/5 30/91/5 32/90/5 26/89/5 +f 29/96/6 27/95/6 25/94/6 31/93/6 + +v -25 150 12.5 +v 25 150 12.5 +v 25 75 -12.5 +v 25 150 -12.5 +v -25 150 -12.5 +# 5 vertices + +# 0 normal + +vt 0.31246000528336 0.50002998113632 0 +vt 0.31246000528336 0.68752998113632 0 +vt 0.43746000528336 0.68752998113632 0 +vt 0.43746000528336 0.50002998113632 0 +vt 0.43748998641968 0.50003004074097 0 +vt 0.43748998641968 0.68753004074097 0 +vt 0.49998998641968 0.68753004074097 0 +vt 0.49998998641968 0.50003004074097 0 +vt 0.50002002716064 0.50002998113632 0 +vt 0.50002002716064 0.68752998113632 0 +vt 0.62502002716064 0.68752998113632 0 +vt 0.62502002716064 0.50002998113632 0 +vt 0.24992997944355 0.50003004074097 0 +vt 0.24992997944355 0.68753004074097 0 +vt 0.31242999434471 0.68753004074097 0 +vt 0.31242999434471 0.50003004074097 0 +vt 0.31245997548103 0.68757003545761 0 +vt 0.31245997548103 0.75006997585297 0 +vt 0.43745997548103 0.75006997585297 0 +vt 0.43745997548103 0.68757003545761 0 +vt 0.43749997019768 0.68757003545761 0 +vt 0.43749997019768 0.75006997585297 0 +vt 0.5625 0.75006997585297 0 +vt 0.5625 0.68757003545761 0 +# 24 texture coordinates + +o torso +usemtl default +f 4/100/1 34/99/1 33/98/1 18/97/1 +f 35/104/2 36/103/2 34/102/2 4/101/2 +f 24/108/3 37/107/3 36/106/3 35/105/3 +f 18/112/7 33/111/7 37/110/7 24/109/7 +f 34/116/5 36/115/5 37/114/5 33/113/5 +f 35/120/6 4/119/6 18/118/6 24/117/6 + +v -27.5625 71.15625 13.78125 +v -27.5625 153.84375 13.78125 +v 27.5625 71.15625 13.78125 +v 27.5625 153.84375 13.78125 +v 27.5625 71.15625 -13.78125 +v 27.5625 153.84375 -13.78125 +v -27.5625 71.15625 -13.78125 +v -27.5625 153.84375 -13.78125 +# 8 vertices + +# 0 normal + +vt 0.31246000528336 0.24995005130768 0 +vt 0.31246000528336 0.43745005130768 0 +vt 0.43746000528336 0.43745005130768 0 +vt 0.43746000528336 0.24995005130768 0 +vt 0.43748998641968 0.24995005130768 0 +vt 0.43748998641968 0.43745005130768 0 +vt 0.49998998641968 0.43745005130768 0 +vt 0.49998998641968 0.24995005130768 0 +vt 0.50002002716064 0.24995005130768 0 +vt 0.50002002716064 0.43745005130768 0 +vt 0.62502002716064 0.43745005130768 0 +vt 0.62502002716064 0.24995005130768 0 +vt 0.24992997944355 0.24995005130768 0 +vt 0.24992997944355 0.43745005130768 0 +vt 0.31242999434471 0.43745005130768 0 +vt 0.31242999434471 0.24995005130768 0 +vt 0.31245997548103 0.43749010562897 0 +vt 0.31245997548103 0.49998998641968 0 +vt 0.43745997548103 0.49998998641968 0 +vt 0.43745997548103 0.43749010562897 0 +vt 0.43749997019768 0.43749010562897 0 +vt 0.43749997019768 0.49998998641968 0 +vt 0.5625 0.49998998641968 0 +vt 0.5625 0.43749010562897 0 +# 24 texture coordinates + +o torso_layer +usemtl default +f 40/124/1 41/123/1 39/122/1 38/121/1 +f 42/128/2 43/127/2 41/126/2 40/125/2 +f 44/132/3 45/131/3 43/130/3 42/129/3 +f 38/136/7 39/135/7 45/134/7 44/133/7 +f 41/140/5 43/139/5 45/138/5 39/137/5 +f 42/144/6 40/143/6 38/142/6 44/141/6 + +v 43.75 75 12.5 +v 43.75 150 12.5 +v 43.75 75 -12.5 +v 43.75 150 -12.5 +# 4 vertices + +# 0 normal + +vt 0.56252747774124 -0.00012993812561 0 +vt 0.56252747774124 0.18737006187439 0 +vt 0.60940247774124 0.18737006187439 0 +vt 0.60940247774124 -0.00012993812561 0 +vt 0.60942000150681 -0.00012993812561 0 +vt 0.60942000150681 0.18737006187439 0 +vt 0.67192000150681 0.18737006187439 0 +vt 0.67192000150681 -0.00012993812561 0 +vt 0.67193746566772 -0.00012946128845 0 +vt 0.67193746566772 0.18737006187439 0 +vt 0.71881246566772 0.18737006187439 0 +vt 0.71881246566772 -0.00012946128845 0 +vt 0.50001001358032 -0.00012993812561 0 +vt 0.50001001358032 0.18737006187439 0 +vt 0.56251001358032 0.18737006187439 0 +vt 0.56251001358032 -0.00012993812561 0 +vt 0.56252747774124 0.18741011619568 0 +vt 0.56252747774124 0.24991011619568 0 +vt 0.60940247774124 0.24991011619568 0 +vt 0.60940247774124 0.18741011619568 0 +vt 0.60941749811172 0.18741011619568 0 +vt 0.60941749811172 0.24991011619568 0 +vt 0.65629249811172 0.24991011619568 0 +vt 0.65629249811172 0.18741011619568 0 +# 24 texture coordinates + +o l_arm +usemtl default +f 46/148/1 47/147/1 34/146/1 4/145/1 +f 48/152/2 49/151/2 47/150/2 46/149/2 +f 35/156/3 36/155/3 49/154/3 48/153/3 +f 4/160/7 34/159/7 36/158/7 35/157/7 +f 47/164/5 49/163/5 36/162/5 34/161/5 +f 48/168/6 46/167/6 4/166/6 35/165/6 + +v 24.53125 73.125 13.125 +v 24.53125 151.875 13.125 +v 44.21875 73.125 13.125 +v 44.21875 151.875 13.125 +v 44.21875 73.125 -13.125 +v 44.21875 151.875 -13.125 +v 24.53125 73.125 -13.125 +v 24.53125 151.875 -13.125 +# 8 vertices + +# 0 normal + +vt 0.81260746717453 -0.00012993812561 0 +vt 0.81260746717453 0.18737006187439 0 +vt 0.85948246717453 0.18737006187439 0 +vt 0.85948246717453 -0.00012993812561 0 +vt 0.85949999094009 -0.00012993812561 0 +vt 0.85949999094009 0.18737006187439 0 +vt 0.92199999094009 0.18737006187439 0 +vt 0.92199999094009 -0.00012993812561 0 +vt 0.92201745510101 -0.00012946128845 0 +vt 0.92201745510101 0.18737006187439 0 +vt 0.96889245510101 0.18737006187439 0 +vt 0.96889245510101 -0.00012946128845 0 +vt 0.75009000301361 -0.00012993812561 0 +vt 0.75009000301361 0.18737006187439 0 +vt 0.81259000301361 0.18737006187439 0 +vt 0.81259000301361 -0.00012993812561 0 +vt 0.81260746717453 0.18741011619568 0 +vt 0.81260746717453 0.24991011619568 0 +vt 0.85948246717453 0.24991011619568 0 +vt 0.85948246717453 0.18741011619568 0 +vt 0.85949748754501 0.18741011619568 0 +vt 0.85949748754501 0.24991011619568 0 +vt 0.90637248754501 0.24991011619568 0 +vt 0.90637248754501 0.18741011619568 0 +# 24 texture coordinates + +o l_layer_1 +usemtl default +f 52/172/1 53/171/1 51/170/1 50/169/1 +f 54/176/2 55/175/2 53/174/2 52/173/2 +f 56/180/3 57/179/3 55/178/3 54/177/3 +f 50/184/7 51/183/7 57/182/7 56/181/7 +f 53/188/5 55/187/5 57/186/5 51/185/5 +f 54/192/6 52/191/6 50/190/6 56/189/6 + +v -43.75 75 12.5 +v -43.75 150 12.5 +v -43.75 75 -12.5 +v -43.75 150 -12.5 +# 4 vertices + +# 0 normal + +vt 0.68756747245789 0.50003004074097 0 +vt 0.68756747245789 0.68753004074097 0 +vt 0.73444247245789 0.68753004074097 0 +vt 0.73444247245789 0.50003004074097 0 +vt 0.73445999622345 0.50003004074097 0 +vt 0.73445999622345 0.68753004074097 0 +vt 0.79695999622345 0.68753004074097 0 +vt 0.79695999622345 0.50003004074097 0 +vt 0.79697746038437 0.50003004074097 0 +vt 0.79697746038437 0.68753004074097 0 +vt 0.84385246038437 0.68753004074097 0 +vt 0.84385246038437 0.50003004074097 0 +vt 0.62505000829697 0.50003004074097 0 +vt 0.62505000829697 0.68753004074097 0 +vt 0.68755000829697 0.68753004074097 0 +vt 0.68755000829697 0.50003004074097 0 +vt 0.68756747245789 0.68757003545761 0 +vt 0.68756747245789 0.75007003545761 0 +vt 0.73444247245789 0.75007003545761 0 +vt 0.73444247245789 0.68757003545761 0 +vt 0.73445749282837 0.68757003545761 0 +vt 0.73445749282837 0.75007003545761 0 +vt 0.78133249282837 0.75007003545761 0 +vt 0.78133249282837 0.68757003545761 0 +# 24 texture coordinates + +o r_arm +usemtl default +f 18/196/1 33/195/1 59/194/1 58/193/1 +f 24/200/2 37/199/2 33/198/2 18/197/2 +f 60/204/3 61/203/3 37/202/3 24/201/3 +f 58/208/7 59/207/7 61/206/7 60/205/7 +f 33/212/5 37/211/5 61/210/5 59/209/5 +f 24/216/6 18/215/6 58/214/6 60/213/6 + +v -44.21875 73.125 13.125 +v -44.21875 151.875 13.125 +v -24.53125 73.125 13.125 +v -24.53125 151.875 13.125 +v -24.53125 73.125 -13.125 +v -24.53125 151.875 -13.125 +v -44.21875 73.125 -13.125 +v -44.21875 151.875 -13.125 +# 8 vertices + +# 0 normal + +vt 0.68756747245789 0.24995005130768 0 +vt 0.68756747245789 0.43745005130768 0 +vt 0.73444247245789 0.43745005130768 0 +vt 0.73444247245789 0.24995005130768 0 +vt 0.73445999622345 0.24995005130768 0 +vt 0.73445999622345 0.43745005130768 0 +vt 0.79695999622345 0.43745005130768 0 +vt 0.79695999622345 0.24995005130768 0 +vt 0.79697746038437 0.24995005130768 0 +vt 0.79697746038437 0.43745005130768 0 +vt 0.84385246038437 0.43745005130768 0 +vt 0.84385246038437 0.24995005130768 0 +vt 0.62505000829697 0.24995005130768 0 +vt 0.62505000829697 0.43745005130768 0 +vt 0.68755000829697 0.43745005130768 0 +vt 0.68755000829697 0.24995005130768 0 +vt 0.68756747245789 0.43749010562897 0 +vt 0.68756747245789 0.49999010562897 0 +vt 0.73444247245789 0.49999010562897 0 +vt 0.73444247245789 0.43749010562897 0 +vt 0.73445749282837 0.43749010562897 0 +vt 0.73445749282837 0.49999010562897 0 +vt 0.78133249282837 0.49999010562897 0 +vt 0.78133249282837 0.43749010562897 0 +# 24 texture coordinates + +o r_layer_1 +usemtl default +f 64/220/1 65/219/1 63/218/1 62/217/1 +f 66/224/2 67/223/2 65/222/2 64/221/2 +f 68/228/3 69/227/3 67/226/3 66/225/3 +f 62/232/7 63/231/7 69/230/7 68/229/7 +f 65/236/5 67/235/5 69/234/5 63/233/5 +f 66/240/6 64/239/6 62/238/6 68/237/6 + +v -25 150 25 +v -25 200 25 +v 25 150 25 +v 25 200 25 +v 25 150 -25 +v 25 200 -25 +v -25 150 -25 +v -25 200 -25 +# 8 vertices + +# 0 normal + +vt 0.12489999085665 0.75010001659393 0 +vt 0.12489999085665 0.87510001659393 0 +vt 0.24989999830723 0.87510001659393 0 +vt 0.24989999830723 0.75010001659393 0 +vt 0.24993999302387 0.75010001659393 0 +vt 0.24993999302387 0.87510001659393 0 +vt 0.37494000792503 0.87510001659393 0 +vt 0.37494000792503 0.75010001659393 0 +vt 0.37498000264168 0.75010001659393 0 +vt 0.37498000264168 0.87510001659393 0 +vt 0.49998000264168 0.87510001659393 0 +vt 0.49998000264168 0.75010001659393 0 +vt -0.00014000914234 0.75010001659393 0 +vt -0.00014000914234 0.87510001659393 0 +vt 0.12485999614 0.87510001659393 0 +vt 0.12485999614 0.75010001659393 0 +vt 0.12489999085665 0.87514007091522 0 +vt 0.12489999085665 1.00013995170593 0 +vt 0.24989998340607 1.00013995170593 0 +vt 0.24989998340607 0.87514007091522 0 +vt 0.24993999302387 1.00013995170593 0 +vt 0.24993999302387 0.87514007091522 0 +vt 0.37494000792503 0.87514007091522 0 +vt 0.37494000792503 1.00013995170593 0 +# 24 texture coordinates + +o head +usemtl default +f 72/244/1 73/243/1 71/242/1 70/241/1 +f 74/248/2 75/247/2 73/246/2 72/245/2 +f 76/252/3 77/251/3 75/250/3 74/249/3 +f 70/256/7 71/255/7 77/254/7 76/253/7 +f 73/260/5 75/259/5 77/258/5 71/257/5 +f 74/264/6 72/263/6 70/262/6 76/261/6 + +v -26.25 148.75 26.25 +v -26.25 201.25 26.25 +v 26.25 148.75 26.25 +v 26.25 201.25 26.25 +v 26.25 148.75 -26.25 +v 26.25 201.25 -26.25 +v -26.25 148.75 -26.25 +v -26.25 201.25 -26.25 +# 8 vertices + +# 0 normal + +vt 0.62505996227264 0.75010001659393 0 +vt 0.62505996227264 0.87510001659393 0 +vt 0.75006002187729 0.87510001659393 0 +vt 0.75006002187729 0.75010001659393 0 +vt 0.75010001659393 0.75010001659393 0 +vt 0.75010001659393 0.87510001659393 0 +vt 0.87510001659393 0.87510001659393 0 +vt 0.87510001659393 0.75010001659393 0 +vt 0.87514001131058 0.75010001659393 0 +vt 0.87514001131058 0.87510001659393 0 +vt 1.00013995170593 0.87510001659393 0 +vt 1.00013995170593 0.75010001659393 0 +vt 0.500019967556 0.75010001659393 0 +vt 0.500019967556 0.87510001659393 0 +vt 0.625019967556 0.87510001659393 0 +vt 0.625019967556 0.75010001659393 0 +vt 0.62505996227264 0.87514007091522 0 +vt 0.62505996227264 1.00013995170593 0 +vt 0.75005996227264 1.00013995170593 0 +vt 0.75005996227264 0.87514007091522 0 +vt 0.75010001659393 1.00013995170593 0 +vt 0.75010001659393 0.87514007091522 0 +vt 0.87510001659393 0.87514007091522 0 +vt 0.87510001659393 1.00013995170593 0 +# 24 texture coordinates + +o layer +usemtl default +f 80/268/1 81/267/1 79/266/1 78/265/1 +f 82/272/2 83/271/2 81/270/2 80/269/2 +f 84/276/3 85/275/3 83/274/3 82/273/3 +f 78/280/7 79/279/7 85/278/7 84/277/7 +f 81/284/5 83/283/5 85/282/5 79/281/5 +f 82/288/6 80/287/6 78/286/6 84/285/6 + diff --git a/Natsurainko.FluentLauncher/Assets/Rig_steve.obj b/Natsurainko.FluentLauncher/Assets/Rig_steve.obj new file mode 100644 index 00000000..f1aa9ebf --- /dev/null +++ b/Natsurainko.FluentLauncher/Assets/Rig_steve.obj @@ -0,0 +1,564 @@ +# WaveFront *.obj file (generated by Cinema 4D) + +mtllib ./Rig_steve.mtl + +v 0 0 12.5 +v 0 75 12.5 +v 25 0 12.5 +v 25 75 12.5 +v 25 0 -12.5 +v 25 75 -12.5 +v 0 0 -12.5 +v 0 75 -12.5 +# 8 vertices + +vn 0 0 1 +vn 1 0 0 +vn 0 0 -1 +vn -1 0 0 +vn 0 1 0 +vn 0 -1 0 +# 6 normals + +vt 0.31244999170303 -0.00012969970703 0 +vt 0.31244999170303 0.18737030029297 0 +vt 0.37494999170303 0.18737030029297 0 +vt 0.37494999170303 -0.00012969970703 0 +vt 0.37496998906136 -0.00012969970703 0 +vt 0.37496998906136 0.18737030029297 0 +vt 0.43746998906136 0.18737030029297 0 +vt 0.43746998906136 -0.00012969970703 0 +vt 0.43748998641968 -0.00012969970703 0 +vt 0.43748998641968 0.18737030029297 0 +vt 0.49998998641968 0.18737030029297 0 +vt 0.49998998641968 -0.00012969970703 0 +vt 0.24992999434471 -0.00012969970703 0 +vt 0.24992999434471 0.18737030029297 0 +vt 0.31242999434471 0.18737030029297 0 +vt 0.31242999434471 -0.00012969970703 0 +vt 0.31244999170303 0.18741035461426 0 +vt 0.31244999170303 0.24991023540497 0 +vt 0.37494999170303 0.24991023540497 0 +vt 0.37494999170303 0.18741035461426 0 +vt 0.37496998906136 0.18741035461426 0 +vt 0.37496998906136 0.24991023540497 0 +vt 0.43746998906136 0.24991023540497 0 +vt 0.43746998906136 0.18741035461426 0 +# 24 texture coordinates + +o l_leg +usemtl Steve +f 3/4/1 4/3/1 2/2/1 1/1/1 +f 5/8/2 6/7/2 4/6/2 3/5/2 +f 7/12/3 8/11/3 6/10/3 5/9/3 +f 1/16/4 2/15/4 8/14/4 7/13/4 +f 4/20/5 6/19/5 8/18/5 2/17/5 +f 5/24/6 3/23/6 1/22/6 7/21/6 + +v -0.625 -1.875 13.125 +v -0.625 76.875 13.125 +v 25.625 -1.875 13.125 +v 25.625 76.875 13.125 +v 25.625 -1.875 -13.125 +v 25.625 76.875 -13.125 +v -0.625 -1.875 -13.125 +v -0.625 76.875 -13.125 +# 8 vertices + +vn -1 0 0 +# 1 normal + +vt 0.06236999109387 -0.00012969970703 0 +vt 0.06236999109387 0.18737030029297 0 +vt 0.12486999481916 0.18737030029297 0 +vt 0.12486999481916 -0.00012969970703 0 +vt 0.12488999217749 -0.00012969970703 0 +vt 0.12488999217749 0.18737030029297 0 +vt 0.18738998472691 0.18737030029297 0 +vt 0.18738998472691 -0.00012969970703 0 +vt 0.18740998208523 -0.00012969970703 0 +vt 0.18740998208523 0.18737030029297 0 +vt 0.24990998208523 0.18737030029297 0 +vt 0.24990998208523 -0.00012969970703 0 +vt -0.00015000565327 -0.00012969970703 0 +vt -0.00015000565327 0.18737030029297 0 +vt 0.06234999373555 0.18737030029297 0 +vt 0.06234999373555 -0.00012969970703 0 +vt 0.06236999109387 0.18741035461426 0 +vt 0.06236999109387 0.24991023540497 0 +vt 0.12486999481916 0.24991023540497 0 +vt 0.12486999481916 0.18741035461426 0 +vt 0.12488999217749 0.18741035461426 0 +vt 0.12488999217749 0.24991023540497 0 +vt 0.18738998472691 0.24991023540497 0 +vt 0.18738998472691 0.18741035461426 0 +# 24 texture coordinates + +o l_layer +usemtl Steve +f 11/28/1 12/27/1 10/26/1 9/25/1 +f 13/32/2 14/31/2 12/30/2 11/29/2 +f 15/36/3 16/35/3 14/34/3 13/33/3 +f 9/40/7 10/39/7 16/38/7 15/37/7 +f 12/44/5 14/43/5 16/42/5 10/41/5 +f 13/48/6 11/47/6 9/46/6 15/45/6 + +v -25 0 12.5 +v -25 75 12.5 +v 0 0 12.5 +v 0 75 12.5 +v 0 0 -12.5 +v 0 75 -12.5 +v -25 0 -12.5 +v -25 75 -12.5 +# 8 vertices + +# 0 normal + +vt 0.06236999854445 0.50003004074097 0 +vt 0.06236999854445 0.68753004074097 0 +vt 0.12487000226974 0.68753004074097 0 +vt 0.12487000226974 0.50003004074097 0 +vt 0.12488999962807 0.50003004074097 0 +vt 0.12488999962807 0.68753004074097 0 +vt 0.18738999962807 0.68753004074097 0 +vt 0.18738999962807 0.50003004074097 0 +vt 0.18740999698639 0.50003004074097 0 +vt 0.18740999698639 0.68753004074097 0 +vt 0.24990999698639 0.68753004074097 0 +vt 0.24990999698639 0.50003004074097 0 +vt -0.00015000146232 0.50003004074097 0 +vt -0.00015000146232 0.68753004074097 0 +vt 0.06235000118613 0.68753004074097 0 +vt 0.06235000118613 0.50003004074097 0 +vt 0.06237000226974 0.68757003545761 0 +vt 0.06237000226974 0.75007003545761 0 +vt 0.12486999481916 0.75007003545761 0 +vt 0.12486999481916 0.68757003545761 0 +vt 0.12488999962807 0.68757003545761 0 +vt 0.12488999962807 0.75007003545761 0 +vt 0.18738999962807 0.75007003545761 0 +vt 0.18738999962807 0.68757003545761 0 +# 24 texture coordinates + +o r_leg +usemtl Steve +f 19/52/1 20/51/1 18/50/1 17/49/1 +f 21/56/2 22/55/2 20/54/2 19/53/2 +f 23/60/3 24/59/3 22/58/3 21/57/3 +f 17/64/7 18/63/7 24/62/7 23/61/7 +f 20/68/5 22/67/5 24/66/5 18/65/5 +f 21/72/6 19/71/6 17/70/6 23/69/6 + +v -25.625 -1.875 13.125 +v -25.625 76.875 13.125 +v 0.625 -1.875 13.125 +v 0.625 76.875 13.125 +v 0.625 -1.875 -13.125 +v 0.625 76.875 -13.125 +v -25.625 -1.875 -13.125 +v -25.625 76.875 -13.125 +# 8 vertices + +# 0 normal + +vt 0.06236999854445 0.24995005130768 0 +vt 0.06236999854445 0.43745005130768 0 +vt 0.12487000226974 0.43745005130768 0 +vt 0.12487000226974 0.24995005130768 0 +vt 0.12488999962807 0.24995005130768 0 +vt 0.12488999962807 0.43745005130768 0 +vt 0.18738999962807 0.43745005130768 0 +vt 0.18738999962807 0.24995005130768 0 +vt 0.18740999698639 0.24995005130768 0 +vt 0.18740999698639 0.43745005130768 0 +vt 0.24990999698639 0.43745005130768 0 +vt 0.24990999698639 0.24995005130768 0 +vt -0.00015000146232 0.24995005130768 0 +vt -0.00015000146232 0.43745005130768 0 +vt 0.06235000118613 0.43745005130768 0 +vt 0.06235000118613 0.24995005130768 0 +vt 0.06237000226974 0.43749010562897 0 +vt 0.06237000226974 0.49999010562897 0 +vt 0.12486999481916 0.49999010562897 0 +vt 0.12486999481916 0.43749010562897 0 +vt 0.12488999962807 0.43749010562897 0 +vt 0.12488999962807 0.49999010562897 0 +vt 0.18738999962807 0.49999010562897 0 +vt 0.18738999962807 0.43749010562897 0 +# 24 texture coordinates + +o r_layer +usemtl Steve +f 27/76/1 28/75/1 26/74/1 25/73/1 +f 29/80/2 30/79/2 28/78/2 27/77/2 +f 31/84/3 32/83/3 30/82/3 29/81/3 +f 25/88/7 26/87/7 32/86/7 31/85/7 +f 28/92/5 30/91/5 32/90/5 26/89/5 +f 29/96/6 27/95/6 25/94/6 31/93/6 + +v -25 150 12.5 +v 25 150 12.5 +v 25 75 -12.5 +v 25 150 -12.5 +v -25 150 -12.5 +# 5 vertices + +# 0 normal + +vt 0.31246000528336 0.50002998113632 0 +vt 0.31246000528336 0.68752998113632 0 +vt 0.43746000528336 0.68752998113632 0 +vt 0.43746000528336 0.50002998113632 0 +vt 0.43748998641968 0.50003004074097 0 +vt 0.43748998641968 0.68753004074097 0 +vt 0.49998998641968 0.68753004074097 0 +vt 0.49998998641968 0.50003004074097 0 +vt 0.50002002716064 0.50002998113632 0 +vt 0.50002002716064 0.68752998113632 0 +vt 0.62502002716064 0.68752998113632 0 +vt 0.62502002716064 0.50002998113632 0 +vt 0.24992997944355 0.50003004074097 0 +vt 0.24992997944355 0.68753004074097 0 +vt 0.31242999434471 0.68753004074097 0 +vt 0.31242999434471 0.50003004074097 0 +vt 0.31245997548103 0.68757003545761 0 +vt 0.31245997548103 0.75006997585297 0 +vt 0.43745997548103 0.75006997585297 0 +vt 0.43745997548103 0.68757003545761 0 +vt 0.43749997019768 0.68757003545761 0 +vt 0.43749997019768 0.75006997585297 0 +vt 0.5625 0.75006997585297 0 +vt 0.5625 0.68757003545761 0 +# 24 texture coordinates + +o torso +usemtl Steve +f 4/100/1 34/99/1 33/98/1 18/97/1 +f 35/104/2 36/103/2 34/102/2 4/101/2 +f 24/108/3 37/107/3 36/106/3 35/105/3 +f 18/112/7 33/111/7 37/110/7 24/109/7 +f 34/116/5 36/115/5 37/114/5 33/113/5 +f 35/120/6 4/119/6 18/118/6 24/117/6 + +v -27.5625 71.15625 13.78125 +v -27.5625 153.84375 13.78125 +v 27.5625 71.15625 13.78125 +v 27.5625 153.84375 13.78125 +v 27.5625 71.15625 -13.78125 +v 27.5625 153.84375 -13.78125 +v -27.5625 71.15625 -13.78125 +v -27.5625 153.84375 -13.78125 +# 8 vertices + +# 0 normal + +vt 0.31246000528336 0.24995005130768 0 +vt 0.31246000528336 0.43745005130768 0 +vt 0.43746000528336 0.43745005130768 0 +vt 0.43746000528336 0.24995005130768 0 +vt 0.43748998641968 0.24995005130768 0 +vt 0.43748998641968 0.43745005130768 0 +vt 0.49998998641968 0.43745005130768 0 +vt 0.49998998641968 0.24995005130768 0 +vt 0.50002002716064 0.24995005130768 0 +vt 0.50002002716064 0.43745005130768 0 +vt 0.62502002716064 0.43745005130768 0 +vt 0.62502002716064 0.24995005130768 0 +vt 0.24992997944355 0.24995005130768 0 +vt 0.24992997944355 0.43745005130768 0 +vt 0.31242999434471 0.43745005130768 0 +vt 0.31242999434471 0.24995005130768 0 +vt 0.31245997548103 0.43749010562897 0 +vt 0.31245997548103 0.49998998641968 0 +vt 0.43745997548103 0.49998998641968 0 +vt 0.43745997548103 0.43749010562897 0 +vt 0.43749997019768 0.43749010562897 0 +vt 0.43749997019768 0.49998998641968 0 +vt 0.5625 0.49998998641968 0 +vt 0.5625 0.43749010562897 0 +# 24 texture coordinates + +o torso_layer +usemtl Steve +f 40/124/1 41/123/1 39/122/1 38/121/1 +f 42/128/2 43/127/2 41/126/2 40/125/2 +f 44/132/3 45/131/3 43/130/3 42/129/3 +f 38/136/7 39/135/7 45/134/7 44/133/7 +f 41/140/5 43/139/5 45/138/5 39/137/5 +f 42/144/6 40/143/6 38/142/6 44/141/6 + +v 50 75 12.5 +v 50 150 12.5 +v 50 75 -12.5 +v 50 150 -12.5 +# 4 vertices + +# 0 normal + +vt 0.56252998113632 -0.00012993812561 0 +vt 0.56252998113632 0.18737006187439 0 +vt 0.62502998113632 0.18737006187439 0 +vt 0.62502998113632 -0.00012993812561 0 +vt 0.62505000829697 -0.00012993812561 0 +vt 0.62505000829697 0.18737006187439 0 +vt 0.68755000829697 0.18737006187439 0 +vt 0.68755000829697 -0.00012993812561 0 +vt 0.68756997585297 -0.00012993812561 0 +vt 0.68756997585297 0.18737006187439 0 +vt 0.75006997585297 0.18737006187439 0 +vt 0.75006997585297 -0.00012993812561 0 +vt 0.50001001358032 -0.00012993812561 0 +vt 0.50001001358032 0.18737006187439 0 +vt 0.56251001358032 0.18737006187439 0 +vt 0.56251001358032 -0.00012993812561 0 +vt 0.56252998113632 0.18741011619568 0 +vt 0.56252998113632 0.24991011619568 0 +vt 0.62502998113632 0.24991011619568 0 +vt 0.62502998113632 0.18741011619568 0 +vt 0.62505000829697 0.18741011619568 0 +vt 0.62505000829697 0.24991011619568 0 +vt 0.68755000829697 0.24991011619568 0 +vt 0.68755000829697 0.18741011619568 0 +# 24 texture coordinates + +o l_arm +usemtl Steve +f 46/148/1 47/147/1 34/146/1 4/145/1 +f 48/152/2 49/151/2 47/150/2 46/149/2 +f 35/156/3 36/155/3 49/154/3 48/153/3 +f 4/160/7 34/159/7 36/158/7 35/157/7 +f 47/164/5 49/163/5 36/162/5 34/161/5 +f 48/168/6 46/167/6 4/166/6 35/165/6 + +v 24.375 73.125 13.125 +v 24.375 151.875 13.125 +v 50.625 73.125 13.125 +v 50.625 151.875 13.125 +v 50.625 73.125 -13.125 +v 50.625 151.875 -13.125 +v 24.375 73.125 -13.125 +v 24.375 151.875 -13.125 +# 8 vertices + +# 0 normal + +vt 0.81260997056961 -0.00012993812561 0 +vt 0.81260997056961 0.18737006187439 0 +vt 0.87510997056961 0.18737006187439 0 +vt 0.87510997056961 -0.00012993812561 0 +vt 0.87512999773026 -0.00012993812561 0 +vt 0.87512999773026 0.18737006187439 0 +vt 0.93762999773026 0.18737006187439 0 +vt 0.93762999773026 -0.00012993812561 0 +vt 0.93764996528625 -0.00012993812561 0 +vt 0.93764996528625 0.18737006187439 0 +vt 1.00014996528625 0.18737006187439 0 +vt 1.00014996528625 -0.00012993812561 0 +vt 0.75009000301361 -0.00012993812561 0 +vt 0.75009000301361 0.18737006187439 0 +vt 0.81259000301361 0.18737006187439 0 +vt 0.81259000301361 -0.00012993812561 0 +vt 0.81260997056961 0.18741011619568 0 +vt 0.81260997056961 0.24991011619568 0 +vt 0.87510997056961 0.24991011619568 0 +vt 0.87510997056961 0.18741011619568 0 +vt 0.87512999773026 0.18741011619568 0 +vt 0.87512999773026 0.24991011619568 0 +vt 0.93762999773026 0.24991011619568 0 +vt 0.93762999773026 0.18741011619568 0 +# 24 texture coordinates + +o l_arm_1 +usemtl Steve +f 52/172/1 53/171/1 51/170/1 50/169/1 +f 54/176/2 55/175/2 53/174/2 52/173/2 +f 56/180/3 57/179/3 55/178/3 54/177/3 +f 50/184/7 51/183/7 57/182/7 56/181/7 +f 53/188/5 55/187/5 57/186/5 51/185/5 +f 54/192/6 52/191/6 50/190/6 56/189/6 + +v -50 75 12.5 +v -50 150 12.5 +v -50 75 -12.5 +v -50 150 -12.5 +# 4 vertices + +# 0 normal + +vt 0.68756997585297 0.50003004074097 0 +vt 0.68756997585297 0.68753004074097 0 +vt 0.75006997585297 0.68753004074097 0 +vt 0.75006997585297 0.50003004074097 0 +vt 0.75009000301361 0.50003004074097 0 +vt 0.75009000301361 0.68753004074097 0 +vt 0.81259000301361 0.68753004074097 0 +vt 0.81259000301361 0.50003004074097 0 +vt 0.81260997056961 0.50003004074097 0 +vt 0.81260997056961 0.68753004074097 0 +vt 0.87510997056961 0.68753004074097 0 +vt 0.87510997056961 0.50003004074097 0 +vt 0.62505000829697 0.50003004074097 0 +vt 0.62505000829697 0.68753004074097 0 +vt 0.68755000829697 0.68753004074097 0 +vt 0.68755000829697 0.50003004074097 0 +vt 0.68756997585297 0.68757003545761 0 +vt 0.68756997585297 0.75007003545761 0 +vt 0.75006997585297 0.75007003545761 0 +vt 0.75006997585297 0.68757003545761 0 +vt 0.75009000301361 0.68757003545761 0 +vt 0.75009000301361 0.75007003545761 0 +vt 0.81259000301361 0.75007003545761 0 +vt 0.81259000301361 0.68757003545761 0 +# 24 texture coordinates + +o r_arm +usemtl Steve +f 18/196/1 33/195/1 59/194/1 58/193/1 +f 24/200/2 37/199/2 33/198/2 18/197/2 +f 60/204/3 61/203/3 37/202/3 24/201/3 +f 58/208/7 59/207/7 61/206/7 60/205/7 +f 33/212/5 37/211/5 61/210/5 59/209/5 +f 24/216/6 18/215/6 58/214/6 60/213/6 + +v -50.625 73.125 13.125 +v -50.625 151.875 13.125 +v -24.375 73.125 13.125 +v -24.375 151.875 13.125 +v -24.375 73.125 -13.125 +v -24.375 151.875 -13.125 +v -50.625 73.125 -13.125 +v -50.625 151.875 -13.125 +# 8 vertices + +# 0 normal + +vt 0.68756997585297 0.24995005130768 0 +vt 0.68756997585297 0.43745005130768 0 +vt 0.75006997585297 0.43745005130768 0 +vt 0.75006997585297 0.24995005130768 0 +vt 0.75009000301361 0.24995005130768 0 +vt 0.75009000301361 0.43745005130768 0 +vt 0.81259000301361 0.43745005130768 0 +vt 0.81259000301361 0.24995005130768 0 +vt 0.81260997056961 0.24995005130768 0 +vt 0.81260997056961 0.43745005130768 0 +vt 0.87510997056961 0.43745005130768 0 +vt 0.87510997056961 0.24995005130768 0 +vt 0.62505000829697 0.24995005130768 0 +vt 0.62505000829697 0.43745005130768 0 +vt 0.68755000829697 0.43745005130768 0 +vt 0.68755000829697 0.24995005130768 0 +vt 0.68756997585297 0.43749010562897 0 +vt 0.68756997585297 0.49999010562897 0 +vt 0.75006997585297 0.49999010562897 0 +vt 0.75006997585297 0.43749010562897 0 +vt 0.75009000301361 0.43749010562897 0 +vt 0.75009000301361 0.49999010562897 0 +vt 0.81259000301361 0.49999010562897 0 +vt 0.81259000301361 0.43749010562897 0 +# 24 texture coordinates + +o r_arm_1 +usemtl Steve +f 64/220/1 65/219/1 63/218/1 62/217/1 +f 66/224/2 67/223/2 65/222/2 64/221/2 +f 68/228/3 69/227/3 67/226/3 66/225/3 +f 62/232/7 63/231/7 69/230/7 68/229/7 +f 65/236/5 67/235/5 69/234/5 63/233/5 +f 66/240/6 64/239/6 62/238/6 68/237/6 + +v -25 150 25 +v -25 200 25 +v 25 150 25 +v 25 200 25 +v 25 150 -25 +v 25 200 -25 +v -25 150 -25 +v -25 200 -25 +# 8 vertices + +# 0 normal + +vt 0.12489999085665 0.75010001659393 0 +vt 0.12489999085665 0.87510001659393 0 +vt 0.24989999830723 0.87510001659393 0 +vt 0.24989999830723 0.75010001659393 0 +vt 0.24993999302387 0.75010001659393 0 +vt 0.24993999302387 0.87510001659393 0 +vt 0.37494000792503 0.87510001659393 0 +vt 0.37494000792503 0.75010001659393 0 +vt 0.37498000264168 0.75010001659393 0 +vt 0.37498000264168 0.87510001659393 0 +vt 0.49998000264168 0.87510001659393 0 +vt 0.49998000264168 0.75010001659393 0 +vt -0.00014000914234 0.75010001659393 0 +vt -0.00014000914234 0.87510001659393 0 +vt 0.12485999614 0.87510001659393 0 +vt 0.12485999614 0.75010001659393 0 +vt 0.12489999085665 0.87514007091522 0 +vt 0.12489999085665 1.00013995170593 0 +vt 0.24989998340607 1.00013995170593 0 +vt 0.24989998340607 0.87514007091522 0 +vt 0.24993999302387 1.00013995170593 0 +vt 0.24993999302387 0.87514007091522 0 +vt 0.37494000792503 0.87514007091522 0 +vt 0.37494000792503 1.00013995170593 0 +# 24 texture coordinates + +o head +usemtl Steve +f 72/244/1 73/243/1 71/242/1 70/241/1 +f 74/248/2 75/247/2 73/246/2 72/245/2 +f 76/252/3 77/251/3 75/250/3 74/249/3 +f 70/256/7 71/255/7 77/254/7 76/253/7 +f 73/260/5 75/259/5 77/258/5 71/257/5 +f 74/264/6 72/263/6 70/262/6 76/261/6 + +v -26.25 148.75 26.25 +v -26.25 201.25 26.25 +v 26.25 148.75 26.25 +v 26.25 201.25 26.25 +v 26.25 148.75 -26.25 +v 26.25 201.25 -26.25 +v -26.25 148.75 -26.25 +v -26.25 201.25 -26.25 +# 8 vertices + +# 0 normal + +vt 0.62505996227264 0.75010001659393 0 +vt 0.62505996227264 0.87510001659393 0 +vt 0.75006002187729 0.87510001659393 0 +vt 0.75006002187729 0.75010001659393 0 +vt 0.75010001659393 0.75010001659393 0 +vt 0.75010001659393 0.87510001659393 0 +vt 0.87510001659393 0.87510001659393 0 +vt 0.87510001659393 0.75010001659393 0 +vt 0.87514001131058 0.75010001659393 0 +vt 0.87514001131058 0.87510001659393 0 +vt 1.00013995170593 0.87510001659393 0 +vt 1.00013995170593 0.75010001659393 0 +vt 0.500019967556 0.75010001659393 0 +vt 0.500019967556 0.87510001659393 0 +vt 0.625019967556 0.87510001659393 0 +vt 0.625019967556 0.75010001659393 0 +vt 0.62505996227264 0.87514007091522 0 +vt 0.62505996227264 1.00013995170593 0 +vt 0.75005996227264 1.00013995170593 0 +vt 0.75005996227264 0.87514007091522 0 +vt 0.75010001659393 1.00013995170593 0 +vt 0.75010001659393 0.87514007091522 0 +vt 0.87510001659393 0.87514007091522 0 +vt 0.87510001659393 1.00013995170593 0 +# 24 texture coordinates + +o layer +usemtl Steve +f 80/268/1 81/267/1 79/266/1 78/265/1 +f 82/272/2 83/271/2 81/270/2 80/269/2 +f 84/276/3 85/275/3 83/274/3 82/273/3 +f 78/280/7 79/279/7 85/278/7 84/277/7 +f 81/284/5 83/283/5 85/282/5 79/281/5 +f 82/288/6 80/287/6 78/286/6 84/285/6 + diff --git a/Natsurainko.FluentLauncher/Natsurainko.FluentLauncher.csproj b/Natsurainko.FluentLauncher/Natsurainko.FluentLauncher.csproj index 0ff45b7a..0afd5299 100644 --- a/Natsurainko.FluentLauncher/Natsurainko.FluentLauncher.csproj +++ b/Natsurainko.FluentLauncher/Natsurainko.FluentLauncher.csproj @@ -58,6 +58,8 @@ + + @@ -74,6 +76,7 @@ + @@ -86,7 +89,7 @@ - + @@ -104,6 +107,8 @@ + + @@ -129,6 +134,9 @@ PreserveNewest + + MSBuild:Compile + @@ -240,7 +248,7 @@ - + MSBuild:Compile diff --git a/Natsurainko.FluentLauncher/Services/Accounts/AuthenticationService.cs b/Natsurainko.FluentLauncher/Services/Accounts/AuthenticationService.cs index fa04eb2a..e574acd9 100644 --- a/Natsurainko.FluentLauncher/Services/Accounts/AuthenticationService.cs +++ b/Natsurainko.FluentLauncher/Services/Accounts/AuthenticationService.cs @@ -1,6 +1,5 @@ using Nrk.FluentCore.Authentication; using System; -using System.Linq; using System.Threading; using System.Threading.Tasks; @@ -14,6 +13,7 @@ internal class AuthenticationService // Authenticators // TODO: Move to config file and remove from source control private readonly MicrosoftAuthenticator _microsoftAuthenticator = new(MicrosoftClientId, MicrosoftRedirectUrl); + //private readonly MicrosoftAuthenticator _officialMicrosoftAuthenticator = new(MicrosoftClientId, MicrosoftRedirectUrl); private readonly OfflineAuthenticator _offlineAuthenticator = new(); diff --git a/Natsurainko.FluentLauncher/Services/Launch/LaunchService.cs b/Natsurainko.FluentLauncher/Services/Launch/LaunchService.cs index 68332edd..e9a91d3a 100644 --- a/Natsurainko.FluentLauncher/Services/Launch/LaunchService.cs +++ b/Natsurainko.FluentLauncher/Services/Launch/LaunchService.cs @@ -18,6 +18,7 @@ using System.IO; using System.Linq; using System.Text.RegularExpressions; +using System.Threading; using System.Threading.Tasks; using Windows.ApplicationModel; diff --git a/Natsurainko.FluentLauncher/Services/Settings/SettingsService.cs b/Natsurainko.FluentLauncher/Services/Settings/SettingsService.cs index e0c44dcd..cb81f408 100644 --- a/Natsurainko.FluentLauncher/Services/Settings/SettingsService.cs +++ b/Natsurainko.FluentLauncher/Services/Settings/SettingsService.cs @@ -48,9 +48,9 @@ public partial class SettingsService : SettingsContainer, IFluentCoreSettingsSer [SettingItem(typeof(string), "CurrentLanguage", Default = "en-US, English", Converter = typeof(JsonStringConverter))] // TODO: remove default value; set to system language if null [SettingItem(typeof(int), "NavigationViewDisplayMode", Default = 0, Converter = typeof(JsonStringConverter))] + [SettingItem(typeof(bool), "NavigationViewIsPaneOpen", Default = false, Converter = typeof(JsonStringConverter))] [SettingItem(typeof(int), "DisplayTheme", Default = 0, Converter = typeof(JsonStringConverter))] [SettingItem(typeof(int), "BackgroundMode", Default = 1, Converter = typeof(JsonStringConverter))] - [SettingItem(typeof(bool), "UseNewHomePage", Default = true, Converter = typeof(JsonStringConverter))] [SettingItem(typeof(double), "TintLuminosityOpacity", Default = 0.64, Converter = typeof(JsonStringConverter))] [SettingItem(typeof(double), "TintOpacity", Default = 0, Converter = typeof(JsonStringConverter))] [SettingItem(typeof(bool), "EnableDefaultAcrylicBrush", Default = false, Converter = typeof(JsonStringConverter))] diff --git a/Natsurainko.FluentLauncher/Services/Storage/InterfaceCacheService.cs b/Natsurainko.FluentLauncher/Services/Storage/InterfaceCacheService.cs index 65205f71..b2bb9d45 100644 --- a/Natsurainko.FluentLauncher/Services/Storage/InterfaceCacheService.cs +++ b/Natsurainko.FluentLauncher/Services/Storage/InterfaceCacheService.cs @@ -248,7 +248,6 @@ public Task FetchVersionManifest() var url = _settingsService.CurrentDownloadSource switch { "Bmclapi" => DownloadMirrors.Bmclapi.VersionManifestUrl, - "Mcbbs" => DownloadMirrors.Mcbbs.VersionManifestUrl, _ => "https://piston-meta.mojang.com/mc/game/version_manifest_v2.json" }; diff --git a/Natsurainko.FluentLauncher/Services/Storage/SkinCacheService.cs b/Natsurainko.FluentLauncher/Services/Storage/SkinCacheService.cs index e2e58329..77816a7c 100644 --- a/Natsurainko.FluentLauncher/Services/Storage/SkinCacheService.cs +++ b/Natsurainko.FluentLauncher/Services/Storage/SkinCacheService.cs @@ -42,10 +42,10 @@ public async void SetSkinHeadControlContent(Border container, Account account) container.Child = grid; } - public void TryCacheSkin(Account account) + public bool TryCacheSkin(Account account) { if (account == null || account.Type.Equals(AccountType.Offline)) - return; + return false; var authorization = new Tuple("Bearer", account.AccessToken); var skinUrl = string.Empty; @@ -73,7 +73,7 @@ public void TryCacheSkin(Account account) skinUrl = json?["url"]?.GetValue(); } - if (string.IsNullOrEmpty(skinUrl)) return; + if (string.IsNullOrEmpty(skinUrl)) return false; var skinFilePath = GetSkinFilePath(account); var downloadTask = HttpUtils.DownloadElementAsync(new DownloadElement @@ -84,9 +84,11 @@ public void TryCacheSkin(Account account) downloadTask.Wait(); - if (downloadTask.Result.IsFaulted) return; + if (downloadTask.Result.IsFaulted) return false; CreateHeadsFile(skinFilePath); + + return true; } private async IAsyncEnumerable GetSkinHeadSourcesAsync(int width, int height, Account account) @@ -147,7 +149,7 @@ private async IAsyncEnumerable GetSkinHeadSourcesAsync(int RuntimeCache.Add(account, sources); } - private string GetSkinFilePath(Account account) + public string GetSkinFilePath(Account account) { var dir = Path.Combine(_localStorageService.GetDirectory("cache-skins").FullName, $"{account.Type}-{account.Uuid}"); diff --git a/Natsurainko.FluentLauncher/Services/UI/AppearanceService.cs b/Natsurainko.FluentLauncher/Services/UI/AppearanceService.cs index 1eb4cb4c..f53fea8c 100644 --- a/Natsurainko.FluentLauncher/Services/UI/AppearanceService.cs +++ b/Natsurainko.FluentLauncher/Services/UI/AppearanceService.cs @@ -22,8 +22,6 @@ internal class AppearanceService private NavigationView? _navigationView; private BitmapImage? backgroundImage; - public Type HomePageType => _settingsService.UseNewHomePage ? typeof(NewHomePage) : typeof(HomePage); - public AppearanceService(SettingsService settingsService) { _settingsService = settingsService; @@ -36,12 +34,16 @@ public void RegisterNavigationView(NavigationView navigationView) ? NavigationViewPaneDisplayMode.Auto : NavigationViewPaneDisplayMode.LeftMinimal; - _settingsService.NavigationViewDisplayModeChanged += (sender, e)=> + _settingsService.NavigationViewDisplayModeChanged += (sender, e) => { _navigationView.PaneDisplayMode = _settingsService.NavigationViewDisplayMode == 0 ? NavigationViewPaneDisplayMode.Auto : NavigationViewPaneDisplayMode.LeftMinimal; }; + + _navigationView.IsPaneOpen = _settingsService.NavigationViewIsPaneOpen; + _navigationView.PaneOpening += (sender, e) => _settingsService.NavigationViewIsPaneOpen = sender.IsPaneOpen; + _navigationView.PaneClosing += (sender, e) => _settingsService.NavigationViewIsPaneOpen = sender.IsPaneOpen; } public void ApplyDisplayTheme() @@ -111,7 +113,7 @@ public void ApplyBackgroundAfterPageInit(ShellPage page) ShellPage.ContentFrame.Navigated += (object sender, NavigationEventArgs e) => { - if (!HomePageType.Equals(e.SourcePageType)) + if (!typeof(HomePage).Equals(e.SourcePageType)) { if (blurred.Equals(75)) return; diff --git a/Natsurainko.FluentLauncher/ViewModels/Activities/LaunchViewModel.cs b/Natsurainko.FluentLauncher/ViewModels/Activities/LaunchViewModel.cs index 6a743d28..82bdf901 100644 --- a/Natsurainko.FluentLauncher/ViewModels/Activities/LaunchViewModel.cs +++ b/Natsurainko.FluentLauncher/ViewModels/Activities/LaunchViewModel.cs @@ -41,5 +41,5 @@ private void LaunchSessions_CollectionChanged(object sender, NotifyCollectionCha public Visibility TipVisibility => LaunchSessions.Count == 0 ? Visibility.Visible : Visibility.Collapsed; [RelayCommand] - public void Home() => _shellNavigationService.NavigateTo(_settings.UseNewHomePage ? "NewHomePage" : "HomePage"); + public void Home() => _shellNavigationService.NavigateTo("HomePage"); } diff --git a/Natsurainko.FluentLauncher/ViewModels/Common/SkinManageViewModel.cs b/Natsurainko.FluentLauncher/ViewModels/Common/SkinManageViewModel.cs new file mode 100644 index 00000000..3abacdad --- /dev/null +++ b/Natsurainko.FluentLauncher/ViewModels/Common/SkinManageViewModel.cs @@ -0,0 +1,102 @@ +using CommunityToolkit.Mvvm.ComponentModel; +using HelixToolkit.SharpDX.Core; +using HelixToolkit.WinUI; +using Natsurainko.FluentLauncher.Services.Storage; +using Nrk.FluentCore.Authentication; +using Nrk.FluentCore.Utils; +using System; +using System.IO; +using System.Linq; +using System.Text.Json.Nodes; +using System.Threading.Tasks; +using Windows.ApplicationModel; +using Windows.Graphics.Imaging; +using Windows.Storage.Streams; + +namespace Natsurainko.FluentLauncher.ViewModels.Common; + +internal partial class SkinManageViewModel : ObservableObject +{ + private readonly Account _account; + private readonly SkinCacheService _skinCacheService = App.GetService(); + + public ObservableElement3DCollection ModelGeometry { get; private set; } = new ObservableElement3DCollection(); + + public SkinManageViewModel(Account account) + { + _account = account; + + Task.Run(LoadModel); + } + + private async void LoadModel() + { + var loader = new ObjReader(); + var object3Ds = loader.Read(Path.Combine(Package.Current.InstalledLocation.Path, $"Assets/{(await IsSlimSkin() ? "Rig_alex.obj" : "Rig_steve.obj")}")); + + #region Create Skin Texture Stream + + using var fileStream = File.OpenRead(_skinCacheService.GetSkinFilePath(_account)); + using var randomAccessStream = fileStream.AsRandomAccessStream(); + + var decoder = await BitmapDecoder.CreateAsync(randomAccessStream); + + var transform = new BitmapTransform + { + InterpolationMode = BitmapInterpolationMode.NearestNeighbor, + ScaledWidth = (uint)1024, + ScaledHeight = (uint)1024 + }; + InMemoryRandomAccessStream stream = new InMemoryRandomAccessStream(); + + using var bmp = await decoder.GetSoftwareBitmapAsync(BitmapPixelFormat.Bgra8, BitmapAlphaMode.Premultiplied, transform, ExifOrientationMode.RespectExifOrientation, ColorManagementMode.ColorManageToSRgb); + BitmapEncoder encoder = await BitmapEncoder.CreateAsync(BitmapEncoder.PngEncoderId, stream); + + encoder.SetSoftwareBitmap(bmp); + await encoder.FlushAsync(); + + #endregion + + App.DispatcherQueue.TryEnqueue(() => + { + var material = new DiffuseMaterial(); + material.DiffuseMap = TextureModel.Create(stream.AsStreamForRead()); + + foreach (var object3D in object3Ds) + ModelGeometry.Add(new MeshGeometryModel3D() { Material = material, Geometry = object3D.Geometry }); + }); + } + + private async Task IsSlimSkin() + { + var authorization = new Tuple("Bearer", _account.AccessToken); + var skinUrl = string.Empty; + + if (_account is YggdrasilAccount yggdrasil) + { + using var responseMessage = HttpUtils.HttpGet( + yggdrasil.YggdrasilServerUrl + + "/sessionserver/session/minecraft/profile/" + + yggdrasil.Uuid.ToString("N").ToLower() + , authorization); + + var jsonBase64 = JsonNode.Parse(responseMessage.Content.ReadAsString())["properties"][0]["value"]; + var json = JsonNode.Parse(jsonBase64.GetValue().ConvertFromBase64()); + + if (json["textures"]?["SKIN"]?["metadata"]?["model"].GetValue() == "slim") + return true; + } + + if (_account is MicrosoftAccount microsoft) + { + using var responseMessage = HttpUtils.HttpGet("https://api.minecraftservices.com/minecraft/profile", authorization); + var json = JsonNode.Parse(responseMessage.Content.ReadAsString())["skins"] + .AsArray().Where(item => (item["state"]?.GetValue().Equals("ACTIVE")).GetValueOrDefault()).FirstOrDefault(); + + if (json["variant"]?.GetValue() == "SLIM") + return true; + } + + return false; + } +} diff --git a/Natsurainko.FluentLauncher/ViewModels/Home/HomeViewModel.cs b/Natsurainko.FluentLauncher/ViewModels/Home/HomeViewModel.cs index d0b7802d..5f66c420 100644 --- a/Natsurainko.FluentLauncher/ViewModels/Home/HomeViewModel.cs +++ b/Natsurainko.FluentLauncher/ViewModels/Home/HomeViewModel.cs @@ -48,12 +48,6 @@ public HomeViewModel(GameService gameService, AccountService accountService, Lau GameInfos = _gameService.Games; ActiveGameInfo = _gameService.ActiveGame; - - WeakReferenceMessenger.Default.Register(this, (r, m) => - { - HomeViewModel vm = r as HomeViewModel; - vm.ActiveAccount = m.Value; - }); } public string LaunchButtonTag => ActiveGameInfo is null ? _coreNotSelected : ActiveGameInfo.Name; @@ -79,9 +73,6 @@ protected override void OnPropertyChanged(PropertyChangedEventArgs e) { base.OnPropertyChanged(e); - if (e.PropertyName == nameof(ActiveAccount) && ActiveAccount is not null) - _accountService.ActivateAccount(ActiveAccount); - if (e.PropertyName == nameof(ActiveGameInfo) && ActiveGameInfo is not null) _gameService.ActivateGame(ActiveGameInfo); } diff --git a/Natsurainko.FluentLauncher/ViewModels/Settings/AccountViewModel.cs b/Natsurainko.FluentLauncher/ViewModels/Settings/AccountViewModel.cs index b79c5055..4e1d4b36 100644 --- a/Natsurainko.FluentLauncher/ViewModels/Settings/AccountViewModel.cs +++ b/Natsurainko.FluentLauncher/ViewModels/Settings/AccountViewModel.cs @@ -9,8 +9,10 @@ using Natsurainko.FluentLauncher.Services.UI.Messaging; using Natsurainko.FluentLauncher.Utils; using Natsurainko.FluentLauncher.ViewModels.Common; +using Natsurainko.FluentLauncher.Views; using Natsurainko.FluentLauncher.Views.Common; using Nrk.FluentCore.Authentication; +using System; using System.Collections.ObjectModel; using System.Threading.Tasks; @@ -56,11 +58,6 @@ public AccountViewModel( Accounts = accountService.Accounts; ActiveAccount = accountService.ActiveAccount; - WeakReferenceMessenger.Default.Register(this, (r, m) => - { - AccountViewModel vm = r as AccountViewModel; - vm.ActiveAccount = m.Value; - }); (this as ISettingsViewModel).InitializeSettings(); } @@ -95,4 +92,14 @@ public void Switch() }; _ = switchAccountDialog.ShowAsync(); } + + [RelayCommand] + public async Task DisplayAccountSkin() + { + await new SkinManageDialog + { + DataContext = new SkinManageViewModel(ActiveAccount), + XamlRoot = ShellPage._XamlRoot + }.ShowAsync(); + } } \ No newline at end of file diff --git a/Natsurainko.FluentLauncher/ViewModels/Settings/AppearanceViewModel.cs b/Natsurainko.FluentLauncher/ViewModels/Settings/AppearanceViewModel.cs index a0f21be4..e2d5b8c8 100644 --- a/Natsurainko.FluentLauncher/ViewModels/Settings/AppearanceViewModel.cs +++ b/Natsurainko.FluentLauncher/ViewModels/Settings/AppearanceViewModel.cs @@ -32,10 +32,6 @@ internal partial class AppearanceViewModel : SettingsViewModelBase, ISettingsVie [BindToSetting(Path = nameof(SettingsService.BackgroundMode))] private int backgroundMode; - [ObservableProperty] - [BindToSetting(Path = nameof(SettingsService.UseNewHomePage))] - private bool useNewHomePage; - [ObservableProperty] [BindToSetting(Path = nameof(SettingsService.UseSystemAccentColor))] [NotifyPropertyChangedFor(nameof(CurrentThemeColor))] diff --git a/Natsurainko.FluentLauncher/ViewModels/ShellViewModel.cs b/Natsurainko.FluentLauncher/ViewModels/ShellViewModel.cs index ed8e3fac..1615f862 100644 --- a/Natsurainko.FluentLauncher/ViewModels/ShellViewModel.cs +++ b/Natsurainko.FluentLauncher/ViewModels/ShellViewModel.cs @@ -1,5 +1,4 @@ -using Natsurainko.FluentLauncher.Services.Settings; -using Natsurainko.FluentLauncher.Services.UI.Navigation; +using Natsurainko.FluentLauncher.Services.UI.Navigation; namespace Natsurainko.FluentLauncher.ViewModels; @@ -8,14 +7,12 @@ class ShellViewModel : INavigationAware public INavigationService NavigationService => _shellNavigationService; private readonly INavigationService _shellNavigationService; - private readonly SettingsService _settings; public bool _onNavigatedTo = false; - public ShellViewModel(INavigationService shellNavigationService, SettingsService settings) + public ShellViewModel(INavigationService shellNavigationService) { _shellNavigationService = shellNavigationService; - _settings = settings; } void INavigationAware.OnNavigatedTo(object? parameter) @@ -25,7 +22,6 @@ void INavigationAware.OnNavigatedTo(object? parameter) _shellNavigationService.NavigateTo(pageKey); _onNavigatedTo = true; } - else - _shellNavigationService.NavigateTo(_settings.UseNewHomePage ? "NewHomePage" : "HomePage"); + else _shellNavigationService.NavigateTo("HomePage"); } } diff --git a/Natsurainko.FluentLauncher/Views/Common/SkinManageDialog.xaml b/Natsurainko.FluentLauncher/Views/Common/SkinManageDialog.xaml new file mode 100644 index 00000000..c5c46b61 --- /dev/null +++ b/Natsurainko.FluentLauncher/Views/Common/SkinManageDialog.xaml @@ -0,0 +1,86 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Natsurainko.FluentLauncher/Views/Common/SkinManageDialog.xaml.cs b/Natsurainko.FluentLauncher/Views/Common/SkinManageDialog.xaml.cs new file mode 100644 index 00000000..6998ed38 --- /dev/null +++ b/Natsurainko.FluentLauncher/Views/Common/SkinManageDialog.xaml.cs @@ -0,0 +1,38 @@ +using HelixToolkit.SharpDX.Core; +using HelixToolkit.WinUI; +using Microsoft.UI.Xaml.Controls; +using Microsoft.UI.Xaml.Media; +using SharpDX; + +namespace Natsurainko.FluentLauncher.Views.Common; + +public sealed partial class SkinManageDialog : ContentDialog +{ + public SkinManageDialog() + { + this.InitializeComponent(); + + this.Loaded += SkinManageDialog_Loaded; + this.Unloaded += SkinManageDialog_Unloaded; + } + + private void SkinManageDialog_Loaded(object sender, Microsoft.UI.Xaml.RoutedEventArgs e) + { + Viewport3DX.EffectsManager = new DefaultEffectsManager(); + Viewport3DX.Camera = new PerspectiveCamera() + { + Position = new Vector3(130, 95, 265), + LookDirection = new Vector3(-130, 0, -265), + NearPlaneDistance = 0.1 + }; + + var brush = this.Resources["ContentDialogBackground"] as SolidColorBrush; + Viewport3DX.Background = brush; + Viewport3DX.BackgroundColor = brush.Color; + } + + private void SkinManageDialog_Unloaded(object sender, Microsoft.UI.Xaml.RoutedEventArgs e) + { + Viewport3DX.Dispose(); + } +} diff --git a/Natsurainko.FluentLauncher/Views/Home/HomePage.xaml b/Natsurainko.FluentLauncher/Views/Home/HomePage.xaml index a0e2ba72..b1e4f76c 100644 --- a/Natsurainko.FluentLauncher/Views/Home/HomePage.xaml +++ b/Natsurainko.FluentLauncher/Views/Home/HomePage.xaml @@ -3,163 +3,246 @@ xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" + xmlns:home="using:Natsurainko.FluentLauncher.ViewModels.Home" + xmlns:local="using:Natsurainko.FluentLauncher.Views.Home" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" - xmlns:vm="using:Natsurainko.FluentLauncher.ViewModels.Home" - d:DataContext="{d:DesignInstance vm:HomeViewModel}" - Background="Transparent" + d:DataContext="{d:DesignInstance Type=home:HomeViewModel}" Loaded="Page_Loaded" mc:Ignorable="d"> - - - - - + + + + - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + x:Uid="Home_HomePage_D1" + HorizontalAlignment="Right" + Foreground="{ThemeResource ApplicationSecondaryForegroundThemeBrush}" + Style="{ThemeResource CaptionTextBlockStyle}" + Text="Click to switch" /> + Style="{ThemeResource CaptionTextBlockStyle}" + Text="the currently selected core" /> - - - + + + + + + + + + + + + + + + + + + + x:Name="listView" + Grid.Row="2" + Padding="15,0,15,15" + ItemsSource="{Binding GameInfos}" + SelectedItem="{Binding ActiveGameInfo, Mode=TwoWay}"> - - - - - + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Natsurainko.FluentLauncher/Views/Home/HomePage.xaml.cs b/Natsurainko.FluentLauncher/Views/Home/HomePage.xaml.cs index fe7cde1a..fde93c51 100644 --- a/Natsurainko.FluentLauncher/Views/Home/HomePage.xaml.cs +++ b/Natsurainko.FluentLauncher/Views/Home/HomePage.xaml.cs @@ -1,4 +1,5 @@ using Microsoft.UI.Xaml.Controls; +using Natsurainko.FluentLauncher.ViewModels.Home; namespace Natsurainko.FluentLauncher.Views.Home; @@ -6,11 +7,23 @@ public sealed partial class HomePage : Page { public HomePage() { - InitializeComponent(); + this.InitializeComponent(); + } + + private void Button_Click(object sender, Microsoft.UI.Xaml.RoutedEventArgs e) + { + var vm = (HomeViewModel)DataContext; + splitView.IsPaneOpen = !splitView.IsPaneOpen; + + if (splitView.IsPaneOpen && vm.ActiveGameInfo != null) + listView.ScrollIntoView(vm.ActiveGameInfo); } private void Page_Loaded(object sender, Microsoft.UI.Xaml.RoutedEventArgs e) { LaunchButton.Focus(Microsoft.UI.Xaml.FocusState.Programmatic); + + SharedShadow.Receivers.Add(BackgroundGrid); + PanelGrid.Translation += new System.Numerics.Vector3(0, 0, 48); } } diff --git a/Natsurainko.FluentLauncher/Views/Home/NewHomePage.xaml b/Natsurainko.FluentLauncher/Views/Home/NewHomePage.xaml deleted file mode 100644 index 1ce1248a..00000000 --- a/Natsurainko.FluentLauncher/Views/Home/NewHomePage.xaml +++ /dev/null @@ -1,249 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Natsurainko.FluentLauncher/Views/Home/NewHomePage.xaml.cs b/Natsurainko.FluentLauncher/Views/Home/NewHomePage.xaml.cs deleted file mode 100644 index 08ae4c01..00000000 --- a/Natsurainko.FluentLauncher/Views/Home/NewHomePage.xaml.cs +++ /dev/null @@ -1,29 +0,0 @@ -using Microsoft.UI.Xaml.Controls; -using Natsurainko.FluentLauncher.ViewModels.Home; - -namespace Natsurainko.FluentLauncher.Views.Home; - -public sealed partial class NewHomePage : Page -{ - public NewHomePage() - { - this.InitializeComponent(); - } - - private void Button_Click(object sender, Microsoft.UI.Xaml.RoutedEventArgs e) - { - var vm = (HomeViewModel)DataContext; - splitView.IsPaneOpen = !splitView.IsPaneOpen; - - if (splitView.IsPaneOpen && vm.ActiveGameInfo != null) - listView.ScrollIntoView(vm.ActiveGameInfo); - } - - private void Page_Loaded(object sender, Microsoft.UI.Xaml.RoutedEventArgs e) - { - LaunchButton.Focus(Microsoft.UI.Xaml.FocusState.Programmatic); - - SharedShadow.Receivers.Add(BackgroundGrid); - PanelGrid.Translation += new System.Numerics.Vector3(0, 0, 48); - } -} diff --git a/Natsurainko.FluentLauncher/Views/Settings/AccountPage.xaml b/Natsurainko.FluentLauncher/Views/Settings/AccountPage.xaml index e5a09bd9..357733df 100644 --- a/Natsurainko.FluentLauncher/Views/Settings/AccountPage.xaml +++ b/Natsurainko.FluentLauncher/Views/Settings/AccountPage.xaml @@ -19,6 +19,7 @@ + @@ -129,6 +130,19 @@ + + + + + + + + (vm!, (r, m) => + { + AccountViewModel vm = (r as AccountViewModel)!; + vm.ActiveAccount = m.Value; + }); + } + + private void AccountPage_Unloaded(object sender, Microsoft.UI.Xaml.RoutedEventArgs e) + { + var vm = this.DataContext as AccountViewModel; + WeakReferenceMessenger.Default.Unregister(vm!); } } diff --git a/Natsurainko.FluentLauncher/Views/Settings/AppearancePage.xaml b/Natsurainko.FluentLauncher/Views/Settings/AppearancePage.xaml index 27cae9db..33b3da65 100644 --- a/Natsurainko.FluentLauncher/Views/Settings/AppearancePage.xaml +++ b/Natsurainko.FluentLauncher/Views/Settings/AppearancePage.xaml @@ -325,14 +325,6 @@ - - - - - - - - diff --git a/Natsurainko.FluentLauncher/Views/ShellPage.xaml.cs b/Natsurainko.FluentLauncher/Views/ShellPage.xaml.cs index c63d7d1c..735f383b 100644 --- a/Natsurainko.FluentLauncher/Views/ShellPage.xaml.cs +++ b/Natsurainko.FluentLauncher/Views/ShellPage.xaml.cs @@ -8,7 +8,6 @@ using Natsurainko.FluentLauncher.Services.UI.Pages; using Natsurainko.FluentLauncher.Utils; using Natsurainko.FluentLauncher.ViewModels; -using Natsurainko.FluentLauncher.Views.Home; using System; using System.Linq; using Windows.Graphics; @@ -48,9 +47,6 @@ private void NavigationViewControl_ItemInvoked(NavigationView _, NavigationViewI var pageTag = ((NavigationViewItem)args.InvokedItemContainer).Tag.ToString() ?? throw new ArgumentNullException("The invoked item's tag is null."); - if (pageTag == "HomePage" && _settings.UseNewHomePage) - pageTag = "NewHomePage"; - VM.NavigationService.NavigateTo(pageTag); } @@ -98,12 +94,6 @@ private void ContentFrame_Navigated(object sender, NavigationEventArgs e) item.IsSelected = true; return; } - if (e.SourcePageType == typeof(NewHomePage) && tag == "HomePage") - { - NavigationViewControl.SelectedItem = item; - item.IsSelected = true; - return; - } } }