diff --git a/_DEMO_DEBUG/GPP_Plugin_d.dll b/_DEMO_DEBUG/GPP_Plugin_d.dll index a684e18..57e0a82 100644 Binary files a/_DEMO_DEBUG/GPP_Plugin_d.dll and b/_DEMO_DEBUG/GPP_Plugin_d.dll differ diff --git a/_DEMO_DEBUG/GPP_Plugin_d.pdb b/_DEMO_DEBUG/GPP_Plugin_d.pdb index 2bfd416..449388d 100644 Binary files a/_DEMO_DEBUG/GPP_Plugin_d.pdb and b/_DEMO_DEBUG/GPP_Plugin_d.pdb differ diff --git a/_DEMO_DEBUG/imgui.ini b/_DEMO_DEBUG/imgui.ini index cfea17e..bc0ef1d 100644 --- a/_DEMO_DEBUG/imgui.ini +++ b/_DEMO_DEBUG/imgui.ini @@ -869,8 +869,8 @@ Size=240,520 Collapsed=0 [WORLD INFO [33 FPS]] -Pos=651,10 -Size=240,431 +Pos=710,10 +Size=240,520 Collapsed=0 [WORLD INFO [315 FPS]] @@ -2123,3 +2123,68 @@ Pos=710,10 Size=240,520 Collapsed=0 +[WORLD INFO [735 FPS]] +Pos=710,10 +Size=240,520 +Collapsed=0 + +[WORLD INFO [30 FPS]] +Pos=710,10 +Size=240,520 +Collapsed=0 + +[WORLD INFO [28 FPS]] +Pos=710,10 +Size=240,520 +Collapsed=0 + +[WORLD INFO [26 FPS]] +Pos=710,10 +Size=240,520 +Collapsed=0 + +[WORLD INFO [24 FPS]] +Pos=710,10 +Size=240,520 +Collapsed=0 + +[WORLD INFO [777 FPS]] +Pos=710,10 +Size=240,520 +Collapsed=0 + +[WORLD INFO [31 FPS]] +Pos=710,10 +Size=240,520 +Collapsed=0 + +[WORLD INFO [776 FPS]] +Pos=710,10 +Size=240,520 +Collapsed=0 + +[WORLD INFO [774 FPS]] +Pos=710,10 +Size=240,520 +Collapsed=0 + +[WORLD INFO [710 FPS]] +Pos=710,10 +Size=240,520 +Collapsed=0 + +[WORLD INFO [769 FPS]] +Pos=710,10 +Size=240,520 +Collapsed=0 + +[WORLD INFO [763 FPS]] +Pos=710,10 +Size=240,520 +Collapsed=0 + +[WORLD INFO [748 FPS]] +Pos=710,10 +Size=240,520 +Collapsed=0 + diff --git a/_DEMO_RELEASE/GPP_Plugin.dll b/_DEMO_RELEASE/GPP_Plugin.dll new file mode 100644 index 0000000..b596a47 Binary files /dev/null and b/_DEMO_RELEASE/GPP_Plugin.dll differ diff --git a/_DEMO_RELEASE/imgui.ini b/_DEMO_RELEASE/imgui.ini index 97eee87..23df4db 100644 --- a/_DEMO_RELEASE/imgui.ini +++ b/_DEMO_RELEASE/imgui.ini @@ -29,28 +29,28 @@ Size=240,520 Collapsed=0 [WORLD INFO [403 FPS]] -Pos=651,10 -Size=240,431 +Pos=710,10 +Size=240,520 Collapsed=0 [WORLD INFO [387 FPS]] -Pos=651,10 -Size=240,431 +Pos=710,10 +Size=240,520 Collapsed=0 [WORLD INFO [368 FPS]] -Pos=651,10 -Size=240,431 +Pos=710,10 +Size=240,520 Collapsed=0 [WORLD INFO [351 FPS]] -Pos=651,10 -Size=240,431 +Pos=710,10 +Size=240,520 Collapsed=0 [WORLD INFO [336 FPS]] -Pos=651,10 -Size=240,431 +Pos=710,10 +Size=240,520 Collapsed=0 [WORLD INFO [321 FPS]] @@ -79,13 +79,13 @@ Size=240,520 Collapsed=0 [WORLD INFO [281 FPS]] -Pos=651,10 -Size=240,431 +Pos=710,10 +Size=240,520 Collapsed=0 [WORLD INFO [272 FPS]] -Pos=651,10 -Size=240,431 +Pos=710,10 +Size=240,520 Collapsed=0 [WORLD INFO [263 FPS]] @@ -94,8 +94,8 @@ Size=240,520 Collapsed=0 [WORLD INFO [260 FPS]] -Pos=651,10 -Size=240,431 +Pos=710,10 +Size=240,520 Collapsed=0 [WORLD INFO [253 FPS]] @@ -369,8 +369,8 @@ Size=240,520 Collapsed=0 [WORLD INFO [105 FPS]] -Pos=651,10 -Size=240,431 +Pos=710,10 +Size=240,520 Collapsed=0 [WORLD INFO [104 FPS]] @@ -384,8 +384,8 @@ Size=240,520 Collapsed=0 [WORLD INFO [102 FPS]] -Pos=651,10 -Size=240,431 +Pos=710,10 +Size=240,520 Collapsed=0 [WORLD INFO [101 FPS]] @@ -399,8 +399,8 @@ Size=240,520 Collapsed=0 [WORLD INFO [99 FPS]] -Pos=651,10 -Size=240,431 +Pos=710,10 +Size=240,520 Collapsed=0 [WORLD INFO [98 FPS]] @@ -649,8 +649,8 @@ Size=240,520 Collapsed=0 [WORLD INFO [855 FPS]] -Pos=651,10 -Size=240,431 +Pos=710,10 +Size=240,520 Collapsed=0 [WORLD INFO [830 FPS]] @@ -664,13 +664,13 @@ Size=240,431 Collapsed=0 [WORLD INFO [771 FPS]] -Pos=651,10 -Size=240,431 +Pos=710,10 +Size=240,520 Collapsed=0 [WORLD INFO [720 FPS]] -Pos=651,10 -Size=240,431 +Pos=710,10 +Size=240,520 Collapsed=0 [WORLD INFO [680 FPS]] @@ -684,8 +684,8 @@ Size=240,431 Collapsed=0 [WORLD INFO [616 FPS]] -Pos=651,10 -Size=240,431 +Pos=710,10 +Size=240,520 Collapsed=0 [WORLD INFO [586 FPS]] @@ -709,13 +709,13 @@ Size=240,431 Collapsed=0 [WORLD INFO [521 FPS]] -Pos=651,10 -Size=240,431 +Pos=710,10 +Size=240,520 Collapsed=0 [WORLD INFO [506 FPS]] -Pos=651,10 -Size=240,431 +Pos=710,10 +Size=240,520 Collapsed=0 [WORLD INFO [490 FPS]] @@ -724,8 +724,8 @@ Size=240,431 Collapsed=0 [WORLD INFO [481 FPS]] -Pos=651,10 -Size=240,431 +Pos=710,10 +Size=240,520 Collapsed=0 [WORLD INFO [466 FPS]] @@ -734,8 +734,8 @@ Size=240,520 Collapsed=0 [WORLD INFO [456 FPS]] -Pos=651,10 -Size=240,431 +Pos=710,10 +Size=240,520 Collapsed=0 [WORLD INFO [442 FPS]] @@ -759,8 +759,8 @@ Size=240,520 Collapsed=0 [WORLD INFO [400 FPS]] -Pos=651,10 -Size=240,431 +Pos=710,10 +Size=240,520 Collapsed=0 [WORLD INFO [391 FPS]] @@ -779,8 +779,8 @@ Size=240,431 Collapsed=0 [WORLD INFO [366 FPS]] -Pos=651,10 -Size=240,431 +Pos=710,10 +Size=240,520 Collapsed=0 [WORLD INFO [358 FPS]] @@ -804,8 +804,8 @@ Size=240,520 Collapsed=0 [WORLD INFO [331 FPS]] -Pos=651,10 -Size=240,431 +Pos=710,10 +Size=240,520 Collapsed=0 [WORLD INFO [325 FPS]] @@ -829,18 +829,18 @@ Size=240,520 Collapsed=0 [WORLD INFO [302 FPS]] -Pos=651,10 -Size=240,431 +Pos=710,10 +Size=240,520 Collapsed=0 [WORLD INFO [297 FPS]] -Pos=651,10 -Size=240,431 +Pos=710,10 +Size=240,520 Collapsed=0 [WORLD INFO [292 FPS]] -Pos=651,10 -Size=240,431 +Pos=710,10 +Size=240,520 Collapsed=0 [WORLD INFO [287 FPS]] @@ -864,13 +864,13 @@ Size=240,520 Collapsed=0 [WORLD INFO [268 FPS]] -Pos=651,10 -Size=240,431 +Pos=710,10 +Size=240,520 Collapsed=0 [WORLD INFO [264 FPS]] -Pos=651,10 -Size=240,431 +Pos=710,10 +Size=240,520 Collapsed=0 [WORLD INFO [261 FPS]] @@ -889,8 +889,8 @@ Size=240,520 Collapsed=0 [WORLD INFO [251 FPS]] -Pos=651,10 -Size=240,431 +Pos=710,10 +Size=240,520 Collapsed=0 [WORLD INFO [247 FPS]] @@ -1194,8 +1194,8 @@ Size=240,431 Collapsed=0 [WORLD INFO [918 FPS]] -Pos=651,10 -Size=240,431 +Pos=710,10 +Size=240,520 Collapsed=0 [WORLD INFO [850 FPS]] @@ -1204,8 +1204,8 @@ Size=240,431 Collapsed=0 [WORLD INFO [805 FPS]] -Pos=651,10 -Size=240,431 +Pos=710,10 +Size=240,520 Collapsed=0 [WORLD INFO [776 FPS]] @@ -1229,8 +1229,8 @@ Size=240,431 Collapsed=0 [WORLD INFO [652 FPS]] -Pos=651,10 -Size=240,431 +Pos=710,10 +Size=240,520 Collapsed=0 [WORLD INFO [629 FPS]] @@ -1244,8 +1244,8 @@ Size=240,520 Collapsed=0 [WORLD INFO [562 FPS]] -Pos=651,10 -Size=240,431 +Pos=710,10 +Size=240,520 Collapsed=0 [WORLD INFO [542 FPS]] @@ -1289,8 +1289,8 @@ Size=240,431 Collapsed=0 [WORLD INFO [389 FPS]] -Pos=651,10 -Size=240,431 +Pos=710,10 +Size=240,520 Collapsed=0 [WORLD INFO [377 FPS]] @@ -1299,13 +1299,13 @@ Size=240,431 Collapsed=0 [WORLD INFO [364 FPS]] -Pos=651,10 -Size=240,431 +Pos=710,10 +Size=240,520 Collapsed=0 [WORLD INFO [357 FPS]] -Pos=651,10 -Size=240,431 +Pos=710,10 +Size=240,520 Collapsed=0 [WORLD INFO [340 FPS]] @@ -1314,8 +1314,8 @@ Size=240,431 Collapsed=0 [WORLD INFO [329 FPS]] -Pos=651,10 -Size=240,431 +Pos=710,10 +Size=240,520 Collapsed=0 [WORLD INFO [323 FPS]] @@ -1329,8 +1329,8 @@ Size=240,520 Collapsed=0 [WORLD INFO [309 FPS]] -Pos=651,10 -Size=240,431 +Pos=710,10 +Size=240,520 Collapsed=0 [WORLD INFO [294 FPS]] @@ -1449,8 +1449,8 @@ Size=240,520 Collapsed=0 [WORLD INFO [113 FPS]] -Pos=651,10 -Size=240,431 +Pos=710,10 +Size=240,520 Collapsed=0 [WORLD INFO [111 FPS]] @@ -1459,8 +1459,8 @@ Size=240,520 Collapsed=0 [WORLD INFO [108 FPS]] -Pos=651,10 -Size=240,431 +Pos=710,10 +Size=240,520 Collapsed=0 [WORLD INFO [14456 FPS]] @@ -1524,8 +1524,8 @@ Size=240,431 Collapsed=0 [WORLD INFO [977 FPS]] -Pos=651,10 -Size=240,431 +Pos=710,10 +Size=240,520 Collapsed=0 [WORLD INFO [953 FPS]] @@ -1559,18 +1559,18 @@ Size=240,431 Collapsed=0 [WORLD INFO [590 FPS]] -Pos=651,10 -Size=240,431 +Pos=710,10 +Size=240,520 Collapsed=0 [WORLD INFO [572 FPS]] -Pos=651,10 -Size=240,431 +Pos=710,10 +Size=240,520 Collapsed=0 [WORLD INFO [527 FPS]] -Pos=651,10 -Size=240,431 +Pos=710,10 +Size=240,520 Collapsed=0 [WORLD INFO [502 FPS]] @@ -1584,8 +1584,8 @@ Size=240,520 Collapsed=0 [WORLD INFO [468 FPS]] -Pos=651,10 -Size=240,431 +Pos=710,10 +Size=240,520 Collapsed=0 [WORLD INFO [447 FPS]] @@ -1624,8 +1624,8 @@ Size=240,520 Collapsed=0 [WORLD INFO [354 FPS]] -Pos=651,10 -Size=240,431 +Pos=710,10 +Size=240,520 Collapsed=0 [WORLD INFO [343 FPS]] @@ -1634,8 +1634,8 @@ Size=240,520 Collapsed=0 [WORLD INFO [338 FPS]] -Pos=651,10 -Size=240,431 +Pos=710,10 +Size=240,520 Collapsed=0 [WORLD INFO [332 FPS]] @@ -1644,18 +1644,18 @@ Size=240,520 Collapsed=0 [WORLD INFO [324 FPS]] -Pos=651,10 -Size=240,431 +Pos=710,10 +Size=240,520 Collapsed=0 [WORLD INFO [314 FPS]] -Pos=651,10 -Size=240,431 +Pos=710,10 +Size=240,520 Collapsed=0 [WORLD INFO [304 FPS]] -Pos=651,10 -Size=240,431 +Pos=710,10 +Size=240,520 Collapsed=0 [WORLD INFO [280 FPS]] @@ -1784,8 +1784,8 @@ Size=240,431 Collapsed=0 [WORLD INFO [701 FPS]] -Pos=651,10 -Size=240,431 +Pos=710,10 +Size=240,520 Collapsed=0 [WORLD INFO [674 FPS]] @@ -1799,13 +1799,13 @@ Size=240,431 Collapsed=0 [WORLD INFO [625 FPS]] -Pos=651,10 -Size=240,431 +Pos=710,10 +Size=240,520 Collapsed=0 [WORLD INFO [599 FPS]] -Pos=651,10 -Size=240,431 +Pos=710,10 +Size=240,520 Collapsed=0 [WORLD INFO [581 FPS]] @@ -1819,8 +1819,8 @@ Size=240,520 Collapsed=0 [WORLD INFO [546 FPS]] -Pos=651,10 -Size=240,431 +Pos=710,10 +Size=240,520 Collapsed=0 [WORLD INFO [529 FPS]] @@ -1854,8 +1854,8 @@ Size=240,520 Collapsed=0 [WORLD INFO [436 FPS]] -Pos=651,10 -Size=240,431 +Pos=710,10 +Size=240,520 Collapsed=0 [WORLD INFO [425 FPS]] @@ -1884,8 +1884,8 @@ Size=240,520 Collapsed=0 [WORLD INFO [347 FPS]] -Pos=651,10 -Size=240,431 +Pos=710,10 +Size=240,520 Collapsed=0 [WORLD INFO [341 FPS]] @@ -1894,8 +1894,8 @@ Size=240,520 Collapsed=0 [WORLD INFO [333 FPS]] -Pos=651,10 -Size=240,431 +Pos=710,10 +Size=240,520 Collapsed=0 [WORLD INFO [328 FPS]] @@ -1924,13 +1924,13 @@ Size=240,520 Collapsed=0 [WORLD INFO [290 FPS]] -Pos=651,10 -Size=240,431 +Pos=710,10 +Size=240,520 Collapsed=0 [WORLD INFO [284 FPS]] -Pos=651,10 -Size=240,431 +Pos=710,10 +Size=240,520 Collapsed=0 [WORLD INFO [270 FPS]] @@ -1994,8 +1994,8 @@ Size=240,431 Collapsed=0 [WORLD INFO [2711 FPS]] -Pos=651,10 -Size=240,431 +Pos=710,10 +Size=240,520 Collapsed=0 [WORLD INFO [2296 FPS]] @@ -2034,8 +2034,8 @@ Size=240,431 Collapsed=0 [WORLD INFO [1191 FPS]] -Pos=651,10 -Size=240,431 +Pos=710,10 +Size=240,520 Collapsed=0 [WORLD INFO [1111 FPS]] @@ -2079,8 +2079,8 @@ Size=240,431 Collapsed=0 [WORLD INFO [742 FPS]] -Pos=651,10 -Size=240,431 +Pos=710,10 +Size=240,520 Collapsed=0 [WORLD INFO [709 FPS]] @@ -2094,8 +2094,8 @@ Size=240,431 Collapsed=0 [WORLD INFO [633 FPS]] -Pos=651,10 -Size=240,431 +Pos=710,10 +Size=240,520 Collapsed=0 [WORLD INFO [610 FPS]] @@ -2104,13 +2104,13 @@ Size=240,431 Collapsed=0 [WORLD INFO [518 FPS]] -Pos=651,10 -Size=240,431 +Pos=710,10 +Size=240,520 Collapsed=0 [WORLD INFO [501 FPS]] -Pos=651,10 -Size=240,431 +Pos=710,10 +Size=240,520 Collapsed=0 [WORLD INFO [487 FPS]] @@ -2119,28 +2119,28 @@ Size=240,431 Collapsed=0 [WORLD INFO [475 FPS]] -Pos=651,10 -Size=240,431 +Pos=710,10 +Size=240,520 Collapsed=0 [WORLD INFO [463 FPS]] -Pos=651,10 -Size=240,431 +Pos=710,10 +Size=240,520 Collapsed=0 [WORLD INFO [452 FPS]] -Pos=651,10 -Size=240,431 +Pos=710,10 +Size=240,520 Collapsed=0 [WORLD INFO [426 FPS]] -Pos=651,10 -Size=240,431 +Pos=710,10 +Size=240,520 Collapsed=0 [WORLD INFO [417 FPS]] -Pos=651,10 -Size=240,431 +Pos=710,10 +Size=240,520 Collapsed=0 [WORLD INFO [410 FPS]] @@ -2164,8 +2164,8 @@ Size=240,520 Collapsed=0 [WORLD INFO [349 FPS]] -Pos=651,10 -Size=240,431 +Pos=710,10 +Size=240,520 Collapsed=0 [WORLD INFO [330 FPS]] @@ -2199,8 +2199,8 @@ Size=240,520 Collapsed=0 [WORLD INFO [236 FPS]] -Pos=651,10 -Size=240,431 +Pos=710,10 +Size=240,520 Collapsed=0 [WORLD INFO [226 FPS]] @@ -2209,8 +2209,8 @@ Size=240,520 Collapsed=0 [WORLD INFO [223 FPS]] -Pos=651,10 -Size=240,431 +Pos=710,10 +Size=240,520 Collapsed=0 [WORLD INFO [212 FPS]] @@ -2234,8 +2234,8 @@ Size=240,431 Collapsed=0 [WORLD INFO [800 FPS]] -Pos=651,10 -Size=240,431 +Pos=710,10 +Size=240,520 Collapsed=0 [WORLD INFO [772 FPS]] @@ -2304,8 +2304,8 @@ Size=240,520 Collapsed=0 [WORLD INFO [418 FPS]] -Pos=651,10 -Size=240,431 +Pos=710,10 +Size=240,520 Collapsed=0 [WORLD INFO [378 FPS]] @@ -2314,13 +2314,13 @@ Size=240,520 Collapsed=0 [WORLD INFO [371 FPS]] -Pos=651,10 -Size=240,431 +Pos=710,10 +Size=240,520 Collapsed=0 [WORLD INFO [363 FPS]] -Pos=651,10 -Size=240,431 +Pos=710,10 +Size=240,520 Collapsed=0 [WORLD INFO [356 FPS]] @@ -2344,8 +2344,8 @@ Size=240,431 Collapsed=0 [WORLD INFO [300 FPS]] -Pos=651,10 -Size=240,431 +Pos=710,10 +Size=240,520 Collapsed=0 [WORLD INFO [276 FPS]] @@ -2354,8 +2354,8 @@ Size=240,520 Collapsed=0 [WORLD INFO [245 FPS]] -Pos=651,10 -Size=240,431 +Pos=710,10 +Size=240,520 Collapsed=0 [WORLD INFO [232 FPS]] @@ -2429,13 +2429,13 @@ Size=240,431 Collapsed=0 [WORLD INFO [683 FPS]] -Pos=651,10 -Size=240,431 +Pos=710,10 +Size=240,520 Collapsed=0 [WORLD INFO [648 FPS]] -Pos=651,10 -Size=240,431 +Pos=710,10 +Size=240,520 Collapsed=0 [WORLD INFO [557 FPS]] @@ -2444,8 +2444,8 @@ Size=240,520 Collapsed=0 [WORLD INFO [479 FPS]] -Pos=651,10 -Size=240,431 +Pos=710,10 +Size=240,520 Collapsed=0 [WORLD INFO [406 FPS]] @@ -2479,8 +2479,8 @@ Size=240,520 Collapsed=0 [WORLD INFO [279 FPS]] -Pos=651,10 -Size=240,431 +Pos=710,10 +Size=240,520 Collapsed=0 [WORLD INFO [269 FPS]] @@ -2499,8 +2499,8 @@ Size=240,431 Collapsed=0 [WORLD INFO [944 FPS]] -Pos=651,10 -Size=240,431 +Pos=710,10 +Size=240,520 Collapsed=0 [WORLD INFO [895 FPS]] @@ -2519,8 +2519,8 @@ Size=240,431 Collapsed=0 [WORLD INFO [714 FPS]] -Pos=651,10 -Size=240,431 +Pos=710,10 +Size=240,520 Collapsed=0 [WORLD INFO [689 FPS]] @@ -2569,8 +2569,8 @@ Size=240,520 Collapsed=0 [WORLD INFO [496 FPS]] -Pos=651,10 -Size=240,431 +Pos=710,10 +Size=240,520 Collapsed=0 [WORLD INFO [482 FPS]] @@ -2589,8 +2589,8 @@ Size=240,431 Collapsed=0 [WORLD INFO [445 FPS]] -Pos=651,10 -Size=240,431 +Pos=710,10 +Size=240,520 Collapsed=0 [WORLD INFO [423 FPS]] @@ -2604,8 +2604,8 @@ Size=240,431 Collapsed=0 [WORLD INFO [394 FPS]] -Pos=651,10 -Size=240,431 +Pos=710,10 +Size=240,520 Collapsed=0 [WORLD INFO [385 FPS]] @@ -2629,8 +2629,8 @@ Size=240,520 Collapsed=0 [WORLD INFO [315 FPS]] -Pos=651,10 -Size=240,431 +Pos=710,10 +Size=240,520 Collapsed=0 [WORLD INFO [293 FPS]] @@ -2709,8 +2709,8 @@ Size=240,431 Collapsed=0 [WORLD INFO [883 FPS]] -Pos=651,10 -Size=240,431 +Pos=710,10 +Size=240,520 Collapsed=0 [WORLD INFO [837 FPS]] @@ -2729,8 +2729,8 @@ Size=240,431 Collapsed=0 [WORLD INFO [718 FPS]] -Pos=651,10 -Size=240,431 +Pos=710,10 +Size=240,520 Collapsed=0 [WORLD INFO [682 FPS]] @@ -2744,8 +2744,8 @@ Size=240,520 Collapsed=0 [WORLD INFO [594 FPS]] -Pos=651,10 -Size=240,431 +Pos=710,10 +Size=240,520 Collapsed=0 [WORLD INFO [567 FPS]] @@ -2754,33 +2754,33 @@ Size=240,431 Collapsed=0 [WORLD INFO [541 FPS]] -Pos=651,10 -Size=240,431 +Pos=710,10 +Size=240,520 Collapsed=0 [WORLD INFO [523 FPS]] -Pos=651,10 -Size=240,431 +Pos=710,10 +Size=240,520 Collapsed=0 [WORLD INFO [515 FPS]] -Pos=651,10 -Size=240,431 +Pos=710,10 +Size=240,520 Collapsed=0 [WORLD INFO [448 FPS]] -Pos=651,10 -Size=240,431 +Pos=710,10 +Size=240,520 Collapsed=0 [WORLD INFO [402 FPS]] -Pos=651,10 -Size=240,431 +Pos=710,10 +Size=240,520 Collapsed=0 [WORLD INFO [388 FPS]] -Pos=651,10 -Size=240,431 +Pos=710,10 +Size=240,520 Collapsed=0 [WORLD INFO [370 FPS]] @@ -2789,7 +2789,7 @@ Size=240,520 Collapsed=0 [*GAME OVER*] -Pos=360,150 +Pos=390,195 Size=180,150 Collapsed=0 @@ -2854,8 +2854,8 @@ Size=240,520 Collapsed=0 [WORLD INFO [372 FPS]] -Pos=651,10 -Size=240,431 +Pos=710,10 +Size=240,520 Collapsed=0 [WORLD INFO [365 FPS]] @@ -2899,8 +2899,8 @@ Size=240,520 Collapsed=0 [WORLD INFO [379 FPS]] -Pos=651,10 -Size=240,431 +Pos=710,10 +Size=240,520 Collapsed=0 [WORLD INFO [355 FPS]] @@ -2949,8 +2949,8 @@ Size=240,431 Collapsed=0 [WORLD INFO [2312 FPS]] -Pos=651,10 -Size=240,431 +Pos=710,10 +Size=240,520 Collapsed=0 [WORLD INFO [2085 FPS]] @@ -3014,13 +3014,13 @@ Size=240,431 Collapsed=0 [WORLD INFO [344 FPS]] -Pos=651,10 -Size=240,431 +Pos=710,10 +Size=240,520 Collapsed=0 [WORLD INFO [319 FPS]] -Pos=651,10 -Size=240,431 +Pos=710,10 +Size=240,520 Collapsed=0 [WORLD INFO [265 FPS]] @@ -3054,8 +3054,8 @@ Size=240,520 Collapsed=0 [WORLD INFO [45 FPS]] -Pos=651,10 -Size=240,431 +Pos=710,10 +Size=240,520 Collapsed=0 [WORLD INFO [3326 FPS]] @@ -3079,8 +3079,8 @@ Size=240,520 Collapsed=0 [WORLD INFO [429 FPS]] -Pos=651,10 -Size=240,431 +Pos=710,10 +Size=240,520 Collapsed=0 [WORLD INFO [408 FPS]] @@ -3109,18 +3109,18 @@ Size=240,431 Collapsed=0 [WORLD INFO [558 FPS]] -Pos=651,10 -Size=240,431 +Pos=710,10 +Size=240,520 Collapsed=0 [WORLD INFO [537 FPS]] -Pos=651,10 -Size=240,431 +Pos=710,10 +Size=240,520 Collapsed=0 [WORLD INFO [519 FPS]] -Pos=651,10 -Size=240,431 +Pos=710,10 +Size=240,520 Collapsed=0 [WORLD INFO [505 FPS]] @@ -3134,13 +3134,13 @@ Size=240,431 Collapsed=0 [WORLD INFO [453 FPS]] -Pos=651,10 -Size=240,431 +Pos=710,10 +Size=240,520 Collapsed=0 [WORLD INFO [409 FPS]] -Pos=651,10 -Size=240,431 +Pos=710,10 +Size=240,520 Collapsed=0 [WORLD INFO [11578 FPS]] @@ -3159,8 +3159,8 @@ Size=240,431 Collapsed=0 [WORLD INFO [3332 FPS]] -Pos=651,10 -Size=240,431 +Pos=710,10 +Size=240,520 Collapsed=0 [WORLD INFO [2791 FPS]] @@ -3209,8 +3209,8 @@ Size=240,431 Collapsed=0 [WORLD INFO [1073 FPS]] -Pos=651,10 -Size=240,431 +Pos=710,10 +Size=240,520 Collapsed=0 [WORLD INFO [1010 FPS]] @@ -3254,8 +3254,8 @@ Size=240,431 Collapsed=0 [WORLD INFO [690 FPS]] -Pos=651,10 -Size=240,431 +Pos=710,10 +Size=240,520 Collapsed=0 [WORLD INFO [636 FPS]] @@ -3289,8 +3289,8 @@ Size=240,431 Collapsed=0 [WORLD INFO [493 FPS]] -Pos=651,10 -Size=240,431 +Pos=710,10 +Size=240,520 Collapsed=0 [WORLD INFO [454 FPS]] @@ -3429,8 +3429,8 @@ Size=240,431 Collapsed=0 [WORLD INFO [768 FPS]] -Pos=651,10 -Size=240,431 +Pos=710,10 +Size=240,520 Collapsed=0 [WORLD INFO [736 FPS]] @@ -3439,8 +3439,8 @@ Size=240,431 Collapsed=0 [WORLD INFO [708 FPS]] -Pos=651,10 -Size=240,431 +Pos=710,10 +Size=240,520 Collapsed=0 [WORLD INFO [679 FPS]] @@ -3464,8 +3464,8 @@ Size=240,431 Collapsed=0 [WORLD INFO [588 FPS]] -Pos=651,10 -Size=240,431 +Pos=710,10 +Size=240,520 Collapsed=0 [WORLD INFO [549 FPS]] @@ -3479,8 +3479,8 @@ Size=240,431 Collapsed=0 [WORLD INFO [427 FPS]] -Pos=651,10 -Size=240,431 +Pos=710,10 +Size=240,520 Collapsed=0 [WORLD INFO [398 FPS]] @@ -3639,8 +3639,8 @@ Size=240,431 Collapsed=0 [WORLD INFO [601 FPS]] -Pos=651,10 -Size=240,431 +Pos=710,10 +Size=240,520 Collapsed=0 [WORLD INFO [584 FPS]] @@ -3654,8 +3654,8 @@ Size=240,431 Collapsed=0 [WORLD INFO [434 FPS]] -Pos=651,10 -Size=240,431 +Pos=710,10 +Size=240,520 Collapsed=0 [WORLD INFO [339 FPS]] @@ -4158,3 +4158,1083 @@ Pos=710,10 Size=240,520 Collapsed=0 +[WORLD INFO [27631 FPS]] +Pos=710,10 +Size=240,520 +Collapsed=0 + +[WORLD INFO [2434 FPS]] +Pos=710,10 +Size=240,520 +Collapsed=0 + +[WORLD INFO [1576 FPS]] +Pos=710,10 +Size=240,520 +Collapsed=0 + +[WORLD INFO [1250 FPS]] +Pos=710,10 +Size=240,520 +Collapsed=0 + +[WORLD INFO [934 FPS]] +Pos=710,10 +Size=240,520 +Collapsed=0 + +[WORLD INFO [779 FPS]] +Pos=710,10 +Size=240,520 +Collapsed=0 + +[WORLD INFO [743 FPS]] +Pos=710,10 +Size=240,520 +Collapsed=0 + +[WORLD INFO [675 FPS]] +Pos=710,10 +Size=240,520 +Collapsed=0 + +[WORLD INFO [36043 FPS]] +Pos=710,10 +Size=240,520 +Collapsed=0 + +[WORLD INFO [7084 FPS]] +Pos=710,10 +Size=240,520 +Collapsed=0 + +[WORLD INFO [6059 FPS]] +Pos=710,10 +Size=240,520 +Collapsed=0 + +[WORLD INFO [3665 FPS]] +Pos=710,10 +Size=240,520 +Collapsed=0 + +[WORLD INFO [2561 FPS]] +Pos=710,10 +Size=240,520 +Collapsed=0 + +[WORLD INFO [2058 FPS]] +Pos=710,10 +Size=240,520 +Collapsed=0 + +[WORLD INFO [1254 FPS]] +Pos=710,10 +Size=240,520 +Collapsed=0 + +[WORLD INFO [1090 FPS]] +Pos=710,10 +Size=240,520 +Collapsed=0 + +[WORLD INFO [954 FPS]] +Pos=710,10 +Size=240,520 +Collapsed=0 + +[WORLD INFO [878 FPS]] +Pos=710,10 +Size=240,520 +Collapsed=0 + +[WORLD INFO [739 FPS]] +Pos=710,10 +Size=240,520 +Collapsed=0 + +[WORLD INFO [677 FPS]] +Pos=710,10 +Size=240,520 +Collapsed=0 + +[WORLD INFO [626 FPS]] +Pos=710,10 +Size=240,520 +Collapsed=0 + +[WORLD INFO [589 FPS]] +Pos=710,10 +Size=240,520 +Collapsed=0 + +[WORLD INFO [474 FPS]] +Pos=710,10 +Size=240,520 +Collapsed=0 + +[WORLD INFO [36382 FPS]] +Pos=710,10 +Size=240,520 +Collapsed=0 + +[WORLD INFO [3124 FPS]] +Pos=710,10 +Size=240,520 +Collapsed=0 + +[WORLD INFO [2874 FPS]] +Pos=710,10 +Size=240,520 +Collapsed=0 + +[WORLD INFO [2190 FPS]] +Pos=710,10 +Size=240,520 +Collapsed=0 + +[WORLD INFO [1703 FPS]] +Pos=710,10 +Size=240,520 +Collapsed=0 + +[WORLD INFO [1369 FPS]] +Pos=710,10 +Size=240,520 +Collapsed=0 + +[WORLD INFO [1164 FPS]] +Pos=710,10 +Size=240,520 +Collapsed=0 + +[WORLD INFO [1043 FPS]] +Pos=710,10 +Size=240,520 +Collapsed=0 + +[WORLD INFO [874 FPS]] +Pos=710,10 +Size=240,520 +Collapsed=0 + +[WORLD INFO [811 FPS]] +Pos=710,10 +Size=240,520 +Collapsed=0 + +[WORLD INFO [664 FPS]] +Pos=710,10 +Size=240,520 +Collapsed=0 + +[WORLD INFO [605 FPS]] +Pos=710,10 +Size=240,520 +Collapsed=0 + +[WORLD INFO [489 FPS]] +Pos=710,10 +Size=240,520 +Collapsed=0 + +[WORLD INFO [30746 FPS]] +Pos=710,10 +Size=240,520 +Collapsed=0 + +[WORLD INFO [3764 FPS]] +Pos=710,10 +Size=240,520 +Collapsed=0 + +[WORLD INFO [3555 FPS]] +Pos=710,10 +Size=240,520 +Collapsed=0 + +[WORLD INFO [2530 FPS]] +Pos=710,10 +Size=240,520 +Collapsed=0 + +[WORLD INFO [2050 FPS]] +Pos=710,10 +Size=240,520 +Collapsed=0 + +[WORLD INFO [1620 FPS]] +Pos=710,10 +Size=240,520 +Collapsed=0 + +[WORLD INFO [1286 FPS]] +Pos=710,10 +Size=240,520 +Collapsed=0 + +[WORLD INFO [1186 FPS]] +Pos=710,10 +Size=240,520 +Collapsed=0 + +[WORLD INFO [956 FPS]] +Pos=710,10 +Size=240,520 +Collapsed=0 + +[WORLD INFO [897 FPS]] +Pos=710,10 +Size=240,520 +Collapsed=0 + +[WORLD INFO [598 FPS]] +Pos=710,10 +Size=240,520 +Collapsed=0 + +[WORLD INFO [516 FPS]] +Pos=710,10 +Size=240,520 +Collapsed=0 + +[WORLD INFO [361 FPS]] +Pos=710,10 +Size=240,520 +Collapsed=0 + +[WORLD INFO [34240 FPS]] +Pos=710,10 +Size=240,520 +Collapsed=0 + +[WORLD INFO [3772 FPS]] +Pos=710,10 +Size=240,520 +Collapsed=0 + +[WORLD INFO [3577 FPS]] +Pos=710,10 +Size=240,520 +Collapsed=0 + +[WORLD INFO [2680 FPS]] +Pos=710,10 +Size=240,520 +Collapsed=0 + +[WORLD INFO [2221 FPS]] +Pos=710,10 +Size=240,520 +Collapsed=0 + +[WORLD INFO [1565 FPS]] +Pos=710,10 +Size=240,520 +Collapsed=0 + +[WORLD INFO [1396 FPS]] +Pos=710,10 +Size=240,520 +Collapsed=0 + +[WORLD INFO [1080 FPS]] +Pos=710,10 +Size=240,520 +Collapsed=0 + +[WORLD INFO [842 FPS]] +Pos=710,10 +Size=240,520 +Collapsed=0 + +[WORLD INFO [789 FPS]] +Pos=710,10 +Size=240,520 +Collapsed=0 + +[WORLD INFO [574 FPS]] +Pos=710,10 +Size=240,520 +Collapsed=0 + +[WORLD INFO [554 FPS]] +Pos=710,10 +Size=240,520 +Collapsed=0 + +[WORLD INFO [444 FPS]] +Pos=710,10 +Size=240,520 +Collapsed=0 + +[WORLD INFO [27580 FPS]] +Pos=710,10 +Size=240,520 +Collapsed=0 + +[WORLD INFO [3674 FPS]] +Pos=710,10 +Size=240,520 +Collapsed=0 + +[WORLD INFO [3520 FPS]] +Pos=710,10 +Size=240,520 +Collapsed=0 + +[WORLD INFO [1690 FPS]] +Pos=710,10 +Size=240,520 +Collapsed=0 + +[WORLD INFO [1307 FPS]] +Pos=710,10 +Size=240,520 +Collapsed=0 + +[WORLD INFO [1170 FPS]] +Pos=710,10 +Size=240,520 +Collapsed=0 + +[WORLD INFO [1071 FPS]] +Pos=710,10 +Size=240,520 +Collapsed=0 + +[WORLD INFO [759 FPS]] +Pos=710,10 +Size=240,520 +Collapsed=0 + +[WORLD INFO [661 FPS]] +Pos=710,10 +Size=240,520 +Collapsed=0 + +[WORLD INFO [597 FPS]] +Pos=710,10 +Size=240,520 +Collapsed=0 + +[WORLD INFO [38723 FPS]] +Pos=710,10 +Size=240,520 +Collapsed=0 + +[WORLD INFO [3867 FPS]] +Pos=710,10 +Size=240,520 +Collapsed=0 + +[WORLD INFO [3652 FPS]] +Pos=710,10 +Size=240,520 +Collapsed=0 + +[WORLD INFO [3408 FPS]] +Pos=710,10 +Size=240,520 +Collapsed=0 + +[WORLD INFO [2685 FPS]] +Pos=710,10 +Size=240,520 +Collapsed=0 + +[WORLD INFO [1517 FPS]] +Pos=710,10 +Size=240,520 +Collapsed=0 + +[WORLD INFO [1378 FPS]] +Pos=710,10 +Size=240,520 +Collapsed=0 + +[WORLD INFO [1109 FPS]] +Pos=710,10 +Size=240,520 +Collapsed=0 + +[WORLD INFO [719 FPS]] +Pos=710,10 +Size=240,520 +Collapsed=0 + +[WORLD INFO [678 FPS]] +Pos=710,10 +Size=240,520 +Collapsed=0 + +[WORLD INFO [576 FPS]] +Pos=710,10 +Size=240,520 +Collapsed=0 + +[WORLD INFO [39022 FPS]] +Pos=710,10 +Size=240,520 +Collapsed=0 + +[WORLD INFO [4021 FPS]] +Pos=710,10 +Size=240,520 +Collapsed=0 + +[WORLD INFO [3786 FPS]] +Pos=710,10 +Size=240,520 +Collapsed=0 + +[WORLD INFO [3050 FPS]] +Pos=710,10 +Size=240,520 +Collapsed=0 + +[WORLD INFO [1901 FPS]] +Pos=710,10 +Size=240,520 +Collapsed=0 + +[WORLD INFO [1585 FPS]] +Pos=710,10 +Size=240,520 +Collapsed=0 + +[WORLD INFO [1270 FPS]] +Pos=710,10 +Size=240,520 +Collapsed=0 + +[WORLD INFO [1155 FPS]] +Pos=710,10 +Size=240,520 +Collapsed=0 + +[WORLD INFO [933 FPS]] +Pos=710,10 +Size=240,520 +Collapsed=0 + +[WORLD INFO [872 FPS]] +Pos=710,10 +Size=240,520 +Collapsed=0 + +[WORLD INFO [748 FPS]] +Pos=710,10 +Size=240,520 +Collapsed=0 + +[WORLD INFO [611 FPS]] +Pos=710,10 +Size=240,520 +Collapsed=0 + +[WORLD INFO [30114 FPS]] +Pos=710,10 +Size=240,520 +Collapsed=0 + +[WORLD INFO [3768 FPS]] +Pos=710,10 +Size=240,520 +Collapsed=0 + +[WORLD INFO [3501 FPS]] +Pos=710,10 +Size=240,520 +Collapsed=0 + +[WORLD INFO [2343 FPS]] +Pos=710,10 +Size=240,520 +Collapsed=0 + +[WORLD INFO [1781 FPS]] +Pos=710,10 +Size=240,520 +Collapsed=0 + +[WORLD INFO [1422 FPS]] +Pos=710,10 +Size=240,520 +Collapsed=0 + +[WORLD INFO [1185 FPS]] +Pos=710,10 +Size=240,520 +Collapsed=0 + +[WORLD INFO [795 FPS]] +Pos=710,10 +Size=240,520 +Collapsed=0 + +[WORLD INFO [483 FPS]] +Pos=710,10 +Size=240,520 +Collapsed=0 + +[WORLD INFO [39384 FPS]] +Pos=710,10 +Size=240,520 +Collapsed=0 + +[WORLD INFO [3874 FPS]] +Pos=710,10 +Size=240,520 +Collapsed=0 + +[WORLD INFO [3661 FPS]] +Pos=710,10 +Size=240,520 +Collapsed=0 + +[WORLD INFO [2572 FPS]] +Pos=710,10 +Size=240,520 +Collapsed=0 + +[WORLD INFO [1797 FPS]] +Pos=710,10 +Size=240,520 +Collapsed=0 + +[WORLD INFO [1493 FPS]] +Pos=710,10 +Size=240,520 +Collapsed=0 + +[WORLD INFO [1200 FPS]] +Pos=710,10 +Size=240,520 +Collapsed=0 + +[WORLD INFO [1064 FPS]] +Pos=710,10 +Size=240,520 +Collapsed=0 + +[WORLD INFO [891 FPS]] +Pos=710,10 +Size=240,520 +Collapsed=0 + +[WORLD INFO [741 FPS]] +Pos=710,10 +Size=240,520 +Collapsed=0 + +[WORLD INFO [28 FPS]] +Pos=710,10 +Size=240,520 +Collapsed=0 + +[WORLD INFO [33540 FPS]] +Pos=710,10 +Size=240,520 +Collapsed=0 + +[WORLD INFO [3158 FPS]] +Pos=710,10 +Size=240,520 +Collapsed=0 + +[WORLD INFO [2992 FPS]] +Pos=710,10 +Size=240,520 +Collapsed=0 + +[WORLD INFO [2582 FPS]] +Pos=710,10 +Size=240,520 +Collapsed=0 + +[WORLD INFO [2175 FPS]] +Pos=710,10 +Size=240,520 +Collapsed=0 + +[WORLD INFO [1512 FPS]] +Pos=710,10 +Size=240,520 +Collapsed=0 + +[WORLD INFO [1288 FPS]] +Pos=710,10 +Size=240,520 +Collapsed=0 + +[WORLD INFO [1154 FPS]] +Pos=710,10 +Size=240,520 +Collapsed=0 + +[WORLD INFO [936 FPS]] +Pos=710,10 +Size=240,520 +Collapsed=0 + +[WORLD INFO [880 FPS]] +Pos=710,10 +Size=240,520 +Collapsed=0 + +[WORLD INFO [786 FPS]] +Pos=710,10 +Size=240,520 +Collapsed=0 + +[WORLD INFO [612 FPS]] +Pos=710,10 +Size=240,520 +Collapsed=0 + +[WORLD INFO [550 FPS]] +Pos=710,10 +Size=240,520 +Collapsed=0 + +[WORLD INFO [413 FPS]] +Pos=710,10 +Size=240,520 +Collapsed=0 + +[WORLD INFO [18608 FPS]] +Pos=710,10 +Size=240,520 +Collapsed=0 + +[WORLD INFO [3668 FPS]] +Pos=710,10 +Size=240,520 +Collapsed=0 + +[WORLD INFO [3439 FPS]] +Pos=710,10 +Size=240,520 +Collapsed=0 + +[WORLD INFO [2309 FPS]] +Pos=710,10 +Size=240,520 +Collapsed=0 + +[WORLD INFO [1742 FPS]] +Pos=710,10 +Size=240,520 +Collapsed=0 + +[WORLD INFO [1405 FPS]] +Pos=710,10 +Size=240,520 +Collapsed=0 + +[WORLD INFO [1150 FPS]] +Pos=710,10 +Size=240,520 +Collapsed=0 + +[WORLD INFO [995 FPS]] +Pos=710,10 +Size=240,520 +Collapsed=0 + +[WORLD INFO [882 FPS]] +Pos=710,10 +Size=240,520 +Collapsed=0 + +[WORLD INFO [36731 FPS]] +Pos=710,10 +Size=240,520 +Collapsed=0 + +[WORLD INFO [3765 FPS]] +Pos=710,10 +Size=240,520 +Collapsed=0 + +[WORLD INFO [3541 FPS]] +Pos=710,10 +Size=240,520 +Collapsed=0 + +[WORLD INFO [2100 FPS]] +Pos=710,10 +Size=240,520 +Collapsed=0 + +[WORLD INFO [1606 FPS]] +Pos=710,10 +Size=240,520 +Collapsed=0 + +[WORLD INFO [1323 FPS]] +Pos=710,10 +Size=240,520 +Collapsed=0 + +[WORLD INFO [1120 FPS]] +Pos=710,10 +Size=240,520 +Collapsed=0 + +[WORLD INFO [966 FPS]] +Pos=710,10 +Size=240,520 +Collapsed=0 + +[WORLD INFO [767 FPS]] +Pos=710,10 +Size=240,520 +Collapsed=0 + +[WORLD INFO [577 FPS]] +Pos=710,10 +Size=240,520 +Collapsed=0 + +[WORLD INFO [540 FPS]] +Pos=710,10 +Size=240,520 +Collapsed=0 + +[WORLD INFO [504 FPS]] +Pos=710,10 +Size=240,520 +Collapsed=0 + +[WORLD INFO [42954 FPS]] +Pos=710,10 +Size=240,520 +Collapsed=0 + +[WORLD INFO [3836 FPS]] +Pos=710,10 +Size=240,520 +Collapsed=0 + +[WORLD INFO [3635 FPS]] +Pos=710,10 +Size=240,520 +Collapsed=0 + +[WORLD INFO [2619 FPS]] +Pos=710,10 +Size=240,520 +Collapsed=0 + +[WORLD INFO [1953 FPS]] +Pos=710,10 +Size=240,520 +Collapsed=0 + +[WORLD INFO [1532 FPS]] +Pos=710,10 +Size=240,520 +Collapsed=0 + +[WORLD INFO [1263 FPS]] +Pos=710,10 +Size=240,520 +Collapsed=0 + +[WORLD INFO [939 FPS]] +Pos=710,10 +Size=240,520 +Collapsed=0 + +[WORLD INFO [828 FPS]] +Pos=710,10 +Size=240,520 +Collapsed=0 + +[WORLD INFO [531 FPS]] +Pos=710,10 +Size=240,520 +Collapsed=0 + +[WORLD INFO [495 FPS]] +Pos=710,10 +Size=240,520 +Collapsed=0 + +[WORLD INFO [23355 FPS]] +Pos=710,10 +Size=240,520 +Collapsed=0 + +[WORLD INFO [3086 FPS]] +Pos=710,10 +Size=240,520 +Collapsed=0 + +[WORLD INFO [2056 FPS]] +Pos=710,10 +Size=240,520 +Collapsed=0 + +[WORLD INFO [1755 FPS]] +Pos=710,10 +Size=240,520 +Collapsed=0 + +[WORLD INFO [1402 FPS]] +Pos=710,10 +Size=240,520 +Collapsed=0 + +[WORLD INFO [1153 FPS]] +Pos=710,10 +Size=240,520 +Collapsed=0 + +[WORLD INFO [952 FPS]] +Pos=710,10 +Size=240,520 +Collapsed=0 + +[WORLD INFO [631 FPS]] +Pos=710,10 +Size=240,520 +Collapsed=0 + +[WORLD INFO [476 FPS]] +Pos=710,10 +Size=240,520 +Collapsed=0 + +[WORLD INFO [35170 FPS]] +Pos=710,10 +Size=240,520 +Collapsed=0 + +[WORLD INFO [3485 FPS]] +Pos=710,10 +Size=240,520 +Collapsed=0 + +[WORLD INFO [3299 FPS]] +Pos=710,10 +Size=240,520 +Collapsed=0 + +[WORLD INFO [2612 FPS]] +Pos=710,10 +Size=240,520 +Collapsed=0 + +[WORLD INFO [1909 FPS]] +Pos=710,10 +Size=240,520 +Collapsed=0 + +[WORLD INFO [1466 FPS]] +Pos=710,10 +Size=240,520 +Collapsed=0 + +[WORLD INFO [1178 FPS]] +Pos=710,10 +Size=240,520 +Collapsed=0 + +[WORLD INFO [1068 FPS]] +Pos=710,10 +Size=240,520 +Collapsed=0 + +[WORLD INFO [667 FPS]] +Pos=710,10 +Size=240,520 +Collapsed=0 + +[WORLD INFO [613 FPS]] +Pos=710,10 +Size=240,520 +Collapsed=0 + +[WORLD INFO [522 FPS]] +Pos=710,10 +Size=240,520 +Collapsed=0 + +[WORLD INFO [27838 FPS]] +Pos=710,10 +Size=240,520 +Collapsed=0 + +[WORLD INFO [3481 FPS]] +Pos=710,10 +Size=240,520 +Collapsed=0 + +[WORLD INFO [3275 FPS]] +Pos=710,10 +Size=240,520 +Collapsed=0 + +[WORLD INFO [1984 FPS]] +Pos=710,10 +Size=240,520 +Collapsed=0 + +[WORLD INFO [1779 FPS]] +Pos=710,10 +Size=240,520 +Collapsed=0 + +[WORLD INFO [1293 FPS]] +Pos=710,10 +Size=240,520 +Collapsed=0 + +[WORLD INFO [1197 FPS]] +Pos=710,10 +Size=240,520 +Collapsed=0 + +[WORLD INFO [1030 FPS]] +Pos=710,10 +Size=240,520 +Collapsed=0 + +[WORLD INFO [901 FPS]] +Pos=710,10 +Size=240,520 +Collapsed=0 + +[WORLD INFO [754 FPS]] +Pos=710,10 +Size=240,520 +Collapsed=0 + +[WORLD INFO [656 FPS]] +Pos=710,10 +Size=240,520 +Collapsed=0 + +[WORLD INFO [25 FPS]] +Pos=710,10 +Size=240,520 +Collapsed=0 + +[WORLD INFO [35421 FPS]] +Pos=710,10 +Size=240,520 +Collapsed=0 + +[WORLD INFO [3358 FPS]] +Pos=710,10 +Size=240,520 +Collapsed=0 + +[WORLD INFO [3192 FPS]] +Pos=710,10 +Size=240,520 +Collapsed=0 + +[WORLD INFO [2126 FPS]] +Pos=710,10 +Size=240,520 +Collapsed=0 + +[WORLD INFO [1857 FPS]] +Pos=710,10 +Size=240,520 +Collapsed=0 + +[WORLD INFO [1421 FPS]] +Pos=710,10 +Size=240,520 +Collapsed=0 + +[WORLD INFO [723 FPS]] +Pos=710,10 +Size=240,520 +Collapsed=0 + +[WORLD INFO [603 FPS]] +Pos=710,10 +Size=240,520 +Collapsed=0 + +[WORLD INFO [27737 FPS]] +Pos=710,10 +Size=240,520 +Collapsed=0 + +[WORLD INFO [3391 FPS]] +Pos=710,10 +Size=240,520 +Collapsed=0 + +[WORLD INFO [3159 FPS]] +Pos=710,10 +Size=240,520 +Collapsed=0 + +[WORLD INFO [2966 FPS]] +Pos=710,10 +Size=240,520 +Collapsed=0 + +[WORLD INFO [1623 FPS]] +Pos=710,10 +Size=240,520 +Collapsed=0 + +[WORLD INFO [1355 FPS]] +Pos=710,10 +Size=240,520 +Collapsed=0 + +[WORLD INFO [1327 FPS]] +Pos=710,10 +Size=240,520 +Collapsed=0 + +[WORLD INFO [1084 FPS]] +Pos=710,10 +Size=240,520 +Collapsed=0 + +[WORLD INFO [875 FPS]] +Pos=710,10 +Size=240,520 +Collapsed=0 + +[WORLD INFO [681 FPS]] +Pos=710,10 +Size=240,520 +Collapsed=0 + +[WORLD INFO [580 FPS]] +Pos=710,10 +Size=240,520 +Collapsed=0 + +[WORLD INFO [510 FPS]] +Pos=710,10 +Size=240,520 +Collapsed=0 + +[WORLD INFO [44 FPS]] +Pos=710,10 +Size=240,520 +Collapsed=0 + +[WORLD INFO [43 FPS]] +Pos=710,10 +Size=240,520 +Collapsed=0 + +[WORLD INFO [42 FPS]] +Pos=710,10 +Size=240,520 +Collapsed=0 + diff --git a/lib/CMakeLists.txt b/lib/CMakeLists.txt index cc73923..0019b18 100644 --- a/lib/CMakeLists.txt +++ b/lib/CMakeLists.txt @@ -1,3 +1,6 @@ # ./lib CMakeLists.txt -set(EXAM_LIB_DEBUG "${CMAKE_CURRENT_SOURCE_DIR}/GPP_PluginBase_d.lib" PARENT_SCOPE) \ No newline at end of file +#set(EXAM_LIB_DEBUG "${CMAKE_CURRENT_SOURCE_DIR}/GPP_PluginBase_d.lib" PARENT_SCOPE) +set(EXAM_LIB_DEBUG + "$,${CMAKE_CURRENT_SOURCE_DIR}/GPP_PluginBase_d.lib,${CMAKE_CURRENT_SOURCE_DIR}/GPP_PluginBase.lib>" + PARENT_SCOPE) \ No newline at end of file diff --git a/project/Behaviour.cpp b/project/Behaviour.cpp index a8fc606..28ba7ec 100644 --- a/project/Behaviour.cpp +++ b/project/Behaviour.cpp @@ -6,6 +6,8 @@ #define TO_RAD(i) i * (M_PI / 180) +#define PRINT_FUNCTION_NAME() std::cout << __func__ << std::endl + static int randNumRange(int minRange, int maxRange) { std::random_device rd; std::mt19937 seed(rd()); @@ -17,6 +19,7 @@ static int randNumRange(int minRange, int maxRange) { namespace BT_Action { BT::State SetTimer(Blackboard* blackboardPtr, const std::string& timerName, bool doOnce) { + PRINT_FUNCTION_NAME(); bool didOnce{}; blackboardPtr->GetData("Timer" + timerName + "DoOnce", didOnce); @@ -32,18 +35,21 @@ namespace BT_Action } BT::State UnlockTimer(Blackboard* blackboardPtr, const std::string& timerName) { + PRINT_FUNCTION_NAME(); blackboardPtr->ChangeData("TimerLock" + timerName, false); return BT::State::Success; } BT::State LockTimer(Blackboard* blackboardPtr, const std::string& timerName) { + PRINT_FUNCTION_NAME(); blackboardPtr->ChangeData("TimerLock" + timerName, true); return BT::State::Success; } BT::State GoToTarget(Blackboard* blackboardPtr) { + //PRINT_FUNCTION_NAME(); IExamInterface* interfacePtr{}; Elite::Vector2 target{}; SteeringPlugin_Output steering{}; @@ -71,7 +77,7 @@ namespace BT_Action steering.LinearVelocity = nextTargetPos - agentInfo.Position; steering.LinearVelocity.Normalize(); - steering.LinearVelocity *= agentInfo.MaxLinearSpeed * 100; + steering.LinearVelocity *= agentInfo.MaxLinearSpeed; const std::chrono::steady_clock::time_point currentTime{ std::chrono::steady_clock::now() }; const std::chrono::duration elapsedSec{ currentTime - timer }; @@ -81,7 +87,7 @@ namespace BT_Action return BT::State::Success; } - if (Distance(target, agentInfo.Position) < 2.f) { + if (Distance(target, agentInfo.Position) < 3.f) { blackboardPtr->ChangeData("FailSafeDoOnce", false); return BT::State::Success; @@ -93,6 +99,7 @@ namespace BT_Action } BT::State EnableSpin(Blackboard* blackboardPtr) { + PRINT_FUNCTION_NAME(); IExamInterface* interfacePtr{}; SteeringPlugin_Output steering{}; @@ -109,6 +116,7 @@ namespace BT_Action } BT::State DisableSpin(Blackboard* blackboardPtr) { + PRINT_FUNCTION_NAME(); blackboardPtr->ChangeData("Spin", false); return BT::State::Success; @@ -116,6 +124,7 @@ namespace BT_Action BT::State FindClosestEdge(Blackboard* blackboardPtr, int degree) { + PRINT_FUNCTION_NAME(); IExamInterface* interfacePtr{}; blackboardPtr->GetData("Interface", interfacePtr); @@ -150,6 +159,7 @@ namespace BT_Action } BT::State SetZombieTarget(Blackboard* blackboardPtr) { + PRINT_FUNCTION_NAME(); IExamInterface* interfacePtr{}; blackboardPtr->GetData("Interface", interfacePtr); @@ -176,6 +186,7 @@ namespace BT_Action } BT::State AvoidingZombie(Blackboard* blackboardPtr) { + PRINT_FUNCTION_NAME(); IExamInterface* interfacePtr{}; SteeringPlugin_Output steering{}; @@ -201,6 +212,7 @@ namespace BT_Action } BT::State RotateToZombie(Blackboard* blackboardPtr) { + PRINT_FUNCTION_NAME(); IExamInterface* interfacePtr{}; EnemyInfo zombieInfo{}; SteeringPlugin_Output steering{}; @@ -222,6 +234,7 @@ namespace BT_Action } BT::State ReadyToShoot(Blackboard* blackboardPtr, float minAngleDiff) { + PRINT_FUNCTION_NAME(); float angleDiff{}; blackboardPtr->GetData("angleDiff", angleDiff); @@ -230,6 +243,7 @@ namespace BT_Action } BT::State Shoot(Blackboard* blackboardPtr, eItemType type) { + PRINT_FUNCTION_NAME(); IExamInterface* interfacePtr{}; Thinker* thinkerPtr{}; @@ -250,6 +264,7 @@ namespace BT_Action } BT::State SetItemAsTarget(Blackboard* blackboardPtr) { + PRINT_FUNCTION_NAME(); IExamInterface* interfacePtr{}; blackboardPtr->GetData("Interface", interfacePtr); @@ -277,6 +292,7 @@ namespace BT_Action } BT::State DestroyItemOnFloor(Blackboard* blackboardPtr) { + PRINT_FUNCTION_NAME(); IExamInterface* interfacePtr{}; ItemInfo targetItem{}; @@ -290,6 +306,7 @@ namespace BT_Action } BT::State PickUpItem(Blackboard* blackboardPtr) { + PRINT_FUNCTION_NAME(); IExamInterface* interfacePtr{}; Thinker* thinkerPtr{}; ItemInfo targetItem{}; @@ -312,6 +329,7 @@ namespace BT_Action } BT::State SwapItem(Blackboard* blackboardPtr) { + PRINT_FUNCTION_NAME(); IExamInterface* interfacePtr{}; Thinker* thinkerPtr{}; ItemInfo targetItem{}; @@ -332,6 +350,7 @@ namespace BT_Action } BT::State CheckItem(Blackboard* blackboardPtr) { + PRINT_FUNCTION_NAME(); IExamInterface* interfacePtr{}; Thinker* thinkerPtr{}; ItemInfo targetItem{}; @@ -372,6 +391,7 @@ namespace BT_Action } BT::State UseItem(Blackboard* blackboardPtr, eItemType type) { + PRINT_FUNCTION_NAME(); IExamInterface* interfacePtr{}; Thinker* thinkerPtr{}; @@ -392,6 +412,7 @@ namespace BT_Action } BT::State TryFindHouse(Blackboard* blackboardPtr, float searchRadius, int degree) { + PRINT_FUNCTION_NAME(); IExamInterface* interfacePtr{}; Thinker* thinkerPtr{}; @@ -416,8 +437,9 @@ namespace BT_Action const Elite::Vector2 target = interfacePtr->NavMesh_GetClosestPathPoint(pointOnCircle); - if (target == Elite::Vector2(400, 400)) { - std::cout << pointOnCircle << std::endl; + const float worldDimensions{ interfacePtr->World_GetInfo().Dimensions.x / 2 }; + if (std::abs(target.x) >= worldDimensions || std::abs(target.y) >= worldDimensions) { + continue; } if (pointOnCircle != target) { @@ -444,12 +466,17 @@ namespace BT_Action } BT::State FindRandomLocation(Blackboard* blackboardPtr, float randomRadius) { + PRINT_FUNCTION_NAME(); IExamInterface* interfacePtr{}; blackboardPtr->GetData("Interface", interfacePtr); const Elite::Vector2 playerPos{ interfacePtr->Agent_GetInfo().Position }; - Elite::Vector2 target = Elite::Vector2(playerPos.x + randNumRange(-randomRadius, randomRadius), - playerPos.y + randNumRange(-randomRadius, randomRadius)); + + const float randomAngle = Elite::ToRadians(randNumRange(0.0f, 360.0f)); + + const Elite::Vector2 offset = Elite::Vector2{ cosf(randomAngle), sinf(randomAngle) } *randomRadius; + + const Elite::Vector2 target = playerPos + offset; blackboardPtr->ChangeData("Target", target); @@ -457,6 +484,7 @@ namespace BT_Action } BT::State GetHouseAsTarget(Blackboard* blackboardPtr, float maxTravelDistance) { + PRINT_FUNCTION_NAME(); IExamInterface* interfacePtr{}; Thinker* thinkerPtr{}; @@ -476,6 +504,7 @@ namespace BT_Action } BT::State CheckHouses(Blackboard* blackboardPtr) { + //PRINT_FUNCTION_NAME(); Thinker* thinkerPtr{}; IExamInterface* interfacePtr{}; @@ -490,6 +519,7 @@ namespace BT_Action } BT::State SetExpireDate(Blackboard* blackboardPtr) { + PRINT_FUNCTION_NAME(); Thinker* thinkerPtr{}; HouseInfo targetHouse{}; @@ -502,6 +532,7 @@ namespace BT_Action } BT::State GetInsideTarget(Blackboard* blackboardPtr, float offset) { + PRINT_FUNCTION_NAME(); HouseInfo targetHouse{}; blackboardPtr->GetData("TargetHouse", targetHouse); @@ -546,6 +577,28 @@ namespace BT_Condition return false; } + bool InPurgeZone(Blackboard* blackboardPtr) { + IExamInterface* interfacePtr{}; + blackboardPtr->GetData("Interface", interfacePtr); + + const Elite::Vector2 playerPos{ interfacePtr->Agent_GetInfo().Position }; + + for (const auto purgeZone : interfacePtr->GetPurgeZonesInFOV()) { + const Elite::Vector2 purgeCenter{ purgeZone.Center }; + const float purgeRadius{ purgeZone.Radius }; + + const float x{ playerPos.x - purgeCenter.x }; + const float y{ playerPos.y - purgeCenter.y }; + + const float result{ x * x + y * y - purgeRadius * purgeRadius }; + + if (result <= 0) + return true; + } + + return false; + } + bool SeeZombie(Blackboard* blackboardPtr) { IExamInterface* interfacePtr{}; blackboardPtr->GetData("Interface", interfacePtr); @@ -569,13 +622,6 @@ namespace BT_Condition return dist2 <= maxRange * maxRange; } - bool SeePurgeZone(Blackboard* blackboardPtr) { - IExamInterface* interfacePtr{}; - blackboardPtr->GetData("Interface", interfacePtr); - - return interfacePtr->GetPurgeZonesInFOV().capacity() > 0; - } - bool ItemInInv(Blackboard* blackboardPtr, eItemType type) { Thinker* thinkerPtr{}; blackboardPtr->GetData("Brain", thinkerPtr); @@ -626,10 +672,6 @@ namespace BT_Condition Thinker* thinkerPtr{}; blackboardPtr->GetData("Brain", thinkerPtr); - if (thinkerPtr->EmptyValue()) { - std::cout << "empty item\n"; - } - return thinkerPtr->EmptyValue(); } @@ -672,4 +714,5 @@ namespace BT_Condition return thinkerPtr->HouseToReExplore(); } + } diff --git a/project/Behaviour.h b/project/Behaviour.h index d7413dd..bb2e046 100644 --- a/project/Behaviour.h +++ b/project/Behaviour.h @@ -49,7 +49,7 @@ namespace BT_Condition bool CheckTimerLock(Blackboard* blackboardPtr, const std::string& timerName); bool CheckTimer(Blackboard* blackboardPtr, const std::string& timerName, bool doOnce); - bool SeePurgeZone(Blackboard* blackboardPtr); + bool InPurgeZone(Blackboard* blackboardPtr); bool SeeZombie(Blackboard* blackboardPtr); bool HasWeapon(Blackboard* blackboardPtr); diff --git a/project/BigThink.cpp b/project/BigThink.cpp index 6874441..0188542 100644 --- a/project/BigThink.cpp +++ b/project/BigThink.cpp @@ -8,6 +8,24 @@ using namespace std::placeholders; namespace BigThink { + BT::Selector* ItemHandling() { + constexpr float HpThreshold{ 0.f }; + + return + new BT::Selector({ + new BT::Sequence({ + new BT::Conditional(std::bind(BT_Condition::ItemInInv, _1, eItemType::MEDKIT)), + new BT::Conditional(std::bind(BT_Condition::HpUnderThreshold, _1, HpThreshold)), + new BT::Action(std::bind(BT_Action::UseItem, _1, eItemType::MEDKIT)) + }), + new BT::Sequence({ + new BT::Conditional(std::bind(BT_Condition::ItemInInv, _1, eItemType::FOOD)), + new BT::Conditional(BT_Condition::CheckMinNeededEnergy), + new BT::Action(std::bind(BT_Action::UseItem, _1, eItemType::FOOD)) + }) + }); + } + BT::Sequence* ZombieHandling() { constexpr float minShotgunAngleDiff{ .2f }; constexpr float minPistolAngleDiff{ .1f }; @@ -56,30 +74,12 @@ namespace BigThink constexpr int searchDegree{ 5 }; return new BT::Sequence({ - new BT::Conditional(BT_Condition::SeePurgeZone), + new BT::Conditional(BT_Condition::InPurgeZone), new BT::Action(std::bind(BT_Action::FindClosestEdge, _1, searchDegree)), new BT::Action(BT_Action::GoToTarget) }); } - BT::Selector* ItemHandling() { - constexpr float HpThreshold{ 0.f }; - - return - new BT::Selector({ - new BT::Sequence({ - new BT::Conditional(std::bind(BT_Condition::ItemInInv, _1, eItemType::MEDKIT)), - new BT::Conditional(std::bind(BT_Condition::HpUnderThreshold, _1, HpThreshold)), - new BT::Action(std::bind(BT_Action::UseItem, _1, eItemType::MEDKIT)) - }), - new BT::Sequence({ - new BT::Conditional(std::bind(BT_Condition::ItemInInv, _1, eItemType::FOOD)), - new BT::Conditional(BT_Condition::CheckMinNeededEnergy), - new BT::Action(std::bind(BT_Action::UseItem, _1, eItemType::FOOD)) - }) - }); - } - BT::PartialSequence* PickUpHandling() { return new BT::PartialSequence({ @@ -133,13 +133,18 @@ namespace BigThink constexpr float InsideOffset{ 5.f }; const std::string BeforeLeavingTimer{ "BeforeLeaving" }; - constexpr bool BeforeLeavingDoOnce{ true }; + constexpr bool BeforeLeavingDoOnce{ false }; + + const std::string NoHouseTimer{ "NoHouse" }; + constexpr float noHouseTimeout = 5.0f; // Time in seconds before giving up and going random + constexpr bool NoHouseDoOnce{ false }; return new BT::Selector({ new BT::Sequence({ new BT::Conditional(BT_Condition::SeeHouse), - new BT::Action(BT_Action::CheckHouses) + new BT::Action(BT_Action::CheckHouses), + new BT::Action(std::bind(BT_Action::SetTimer, _1, NoHouseTimer, NoHouseDoOnce)) // Reset timer when we see a house }), new BT::PartialSequence({ new BT::Conditional(BT_Condition::InsideTargetHouse), @@ -156,16 +161,21 @@ namespace BigThink new BT::Action(BT_Action::GoToTarget), }), new BT::PartialSequence({ - new BT::Action(std::bind(BT_Action::TryFindHouse, _1, searchRadius, searchDegree)), + new BT::Action(std::bind(BT_Action::FindRandomLocation, _1, randomRadius)), new BT::Action(BT_Action::EnableSpin), new BT::Action(BT_Action::GoToTarget) }), - new BT::PartialSequence({ + /*new BT::PartialSequence({ + new BT::Action(std::bind(BT_Action::TryFindHouse, _1, searchRadius, searchDegree)), + new BT::Action(BT_Action::EnableSpin), + new BT::Action(BT_Action::GoToTarget) + }),*/ + /*new BT::PartialSequence({ new BT::Conditional(BT_Condition::ReExploreHouse), new BT::Action(std::bind(BT_Action::GetHouseAsTarget, _1, maxTravelDistance)), new BT::Action(BT_Action::EnableSpin), new BT::Action(BT_Action::GoToTarget), - }), + }),*/ new BT::PartialSequence({ new BT::Action(std::bind(BT_Action::FindRandomLocation, _1, randomRadius)), new BT::Action(BT_Action::EnableSpin), @@ -192,6 +202,13 @@ namespace BigThink new BT::Action(BT_Action::EnableSpin), new BT::Action(BT_Action::GoToTarget) }), + new BT::PartialSequence({ + new BT::Conditional(std::bind(BT_Condition::CheckTimer, _1, NoHouseTimer, NoHouseDoOnce)), // Check if we haven't seen a house in a while + new BT::Action(std::bind(BT_Action::SetTimer, _1, NoHouseTimer, NoHouseDoOnce)), // Reset the timer + new BT::Action(std::bind(BT_Action::FindRandomLocation, _1, randomRadius * 2)), // Go further when random walking + new BT::Action(BT_Action::EnableSpin), + new BT::Action(BT_Action::GoToTarget) + }), new BT::PartialSequence({ new BT::Conditional(BT_Condition::ReExploreHouse), new BT::Action(std::bind(BT_Action::GetHouseAsTarget, _1, maxTravelDistance)), @@ -199,11 +216,6 @@ namespace BigThink new BT::Action(BT_Action::GoToTarget), }) }), - new BT::PartialSequence({ - new BT::Action(std::bind(BT_Action::FindRandomLocation, _1, randomRadius)), - new BT::Action(BT_Action::EnableSpin), - new BT::Action(BT_Action::GoToTarget) - }) - }); + }); } } diff --git a/project/BigThink.h b/project/BigThink.h index 0fda976..07bc48a 100644 --- a/project/BigThink.h +++ b/project/BigThink.h @@ -10,9 +10,9 @@ namespace BT namespace BigThink { + BT::Selector* ItemHandling(); BT::Sequence* ZombieHandling(); BT::Sequence* PurgeZoneHandling(); - BT::Selector* ItemHandling(); BT::PartialSequence* PickUpHandling(); BT::Selector* HouseHandling(); } diff --git a/project/CMakeLists.txt b/project/CMakeLists.txt index b74ff2b..dca4c1f 100644 --- a/project/CMakeLists.txt +++ b/project/CMakeLists.txt @@ -18,6 +18,12 @@ add_library(Exam_Plugin SHARED target_link_libraries(Exam_Plugin PUBLIC ${EXAM_LIB_DEBUG}) target_include_directories(Exam_Plugin PUBLIC ${EXAM_INCLUDE_DIR}) +# Explicit debug info generation flags for MSVC +target_compile_options(Exam_Plugin PRIVATE + $<$:/Zi>) +target_link_options(Exam_Plugin PRIVATE + $<$:/DEBUG>) + set_target_properties(Exam_Plugin PROPERTIES RUNTIME_OUTPUT_DIRECTORY_DEBUG "${CMAKE_SOURCE_DIR}/_DEMO_DEBUG" LIBRARY_OUTPUT_DIRECTORY_DEBUG "${CMAKE_SOURCE_DIR}/_DEMO_DEBUG" @@ -40,4 +46,4 @@ set_target_properties(GPP_EXAM_EXE PROPERTIES ) # Ensure the DLL is built before the .exe is "built" -add_dependencies(GPP_EXAM_EXE Exam_Plugin) +add_dependencies(GPP_EXAM_EXE Exam_Plugin) \ No newline at end of file diff --git a/project/SurvivalAgentPlugin.cpp b/project/SurvivalAgentPlugin.cpp index 42f2ed0..d2130c5 100644 --- a/project/SurvivalAgentPlugin.cpp +++ b/project/SurvivalAgentPlugin.cpp @@ -29,9 +29,9 @@ void SurvivalAgentPlugin::Initialize(IBaseInterface* pInterface, PluginInfo& inf Blackboard* blackboardPtr{ CreateBlackboard() }; m_BehaviourTree = new BT::BehaviorTree(blackboardPtr, new BT::Selector({ + BigThink::ItemHandling(), BigThink::ZombieHandling(), BigThink::PurgeZoneHandling(), - BigThink::ItemHandling(), BigThink::PickUpHandling(), BigThink::HouseHandling() })); @@ -69,6 +69,10 @@ Blackboard* SurvivalAgentPlugin::CreateBlackboard() { blackboardPtr->AddData("TimerBeforeLeavingDoOnce", false); blackboardPtr->AddData("MaxTimeBeforeLeaving", 3.f); + blackboardPtr->AddData("MaxTimeNoHouse", 5.f); + blackboardPtr->AddData("TimerNoHouse", std::chrono::steady_clock::time_point{}); + blackboardPtr->AddData("TimerNoHouseDoOnce", false); + return blackboardPtr; } @@ -113,7 +117,7 @@ void SurvivalAgentPlugin::InitGameDebugParams(GameDebugParams& params) params.SpawnPurgeZonesOnMiddleClick = true; params.PrintDebugMessages = true; params.ShowDebugItemNames = true; - params.Seed = -1; //-1 = don't set seed. Any other number = fixed seed //TIP: use Seed = int(time(nullptr)) for pure randomness + params.Seed = int(time(nullptr)); //-1 = don't set seed. Any other number = fixed seed //TIP: use Seed = int(time(nullptr)) for pure randomness } void SurvivalAgentPlugin::Update_Debug(float dt) @@ -194,6 +198,16 @@ SteeringPlugin_Output SurvivalAgentPlugin::UpdateSteering(float dt) m_BehaviourTree->GetBlackboard()->GetData("Steering", steering); m_BehaviourTree->GetBlackboard()->GetData("Spin", spin); + if (m_pInterface->Agent_GetInfo().Stamina >= 10 || m_Running) { + m_Running = true; + steering.RunMode = true; + } + + if (m_pInterface->Agent_GetInfo().Stamina <= 0.1f) { + m_Running = false; + steering.RunMode = false; + } + if (spin) { steering.AutoOrient = false; } diff --git a/project/SurvivalAgentPlugin.h b/project/SurvivalAgentPlugin.h index 9752c23..3cf0060 100644 --- a/project/SurvivalAgentPlugin.h +++ b/project/SurvivalAgentPlugin.h @@ -47,6 +47,8 @@ private: void UpdateBlackboard(const SteeringPlugin_Output& steering); BT::BehaviorTree* m_BehaviourTree = nullptr; Thinker* m_Thinker = nullptr; + + bool m_Running{}; }; //ENTRY diff --git a/project/Thinker.cpp b/project/Thinker.cpp index a0279ea..fbd5366 100644 --- a/project/Thinker.cpp +++ b/project/Thinker.cpp @@ -3,19 +3,18 @@ #include std::vector::iterator Thinker::FindLeastValueItem(const eItemType& itemType) { - std::ranges::partition(m_ItemMemory, - [itemType](const ItemMemory& memory)->bool { return memory.ItemInfo.Type == itemType; }); + auto minIt = m_ItemMemory.end(); - const auto minItem = - std::ranges::min_element(m_ItemMemory, - [itemType](const ItemMemory& lhs, const ItemMemory& rhs)->bool { - if (lhs.ItemInfo.Type == itemType && rhs.ItemInfo.Type == itemType) { - return lhs.ItemInfo.Value < rhs.ItemInfo.Value; - } - return false; - }); + for (auto it = m_ItemMemory.begin(); it != m_ItemMemory.end(); ++it) { + if (it->ItemInfo.Type != itemType) + continue; - return minItem; + if (minIt == m_ItemMemory.end() || it->ItemInfo.Value < minIt->ItemInfo.Value) { + minIt = it; + } + } + + return minIt; } bool Thinker::IsInvNotFull() const {