Add epic anime mascot

This commit is contained in:
KP 2024-07-29 02:18:17 -05:00
parent f74a7fcf10
commit 31bea0f6d1
11 changed files with 243 additions and 526 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.3 KiB

View file

@ -1,504 +1,85 @@
[07:25:25 PM] Info: Starting...
[02:17:44 AM] Info: Starting...
KP3D version 2
===============================
Copyright (C) kpworld.xyz 2018-2024
Contact me! @kp_cftsz
[07:25:25 PM] Info: Initializing SDL
[07:25:26 PM] Info: Initializing OpenGL
[07:25:26 PM] Info: OpenGL version: 4.6.0 NVIDIA 536.23
[07:25:26 PM] Info: Initializing GLEW
[07:25:26 PM] Info: Initializing SDL_mixer
[07:25:26 PM] Info: Reticulating splines...
[07:25:26 PM] Info: Ready!
[07:25:26 PM] Info: Finalized mesh with 45 batches
[07:25:31 PM] Info: Finalized mesh with 50 batches
[07:25:33 PM] Info: Finalized mesh with 51 batches
[07:25:33 PM] Info: Finalized mesh with 51 batches
[07:25:33 PM] Info: Finalized mesh with 51 batches
[07:25:33 PM] Info: Finalized mesh with 51 batches
[07:25:33 PM] Info: Finalized mesh with 51 batches
[07:25:33 PM] Info: Finalized mesh with 51 batches
[07:25:33 PM] Info: Finalized mesh with 51 batches
[07:25:33 PM] Info: Finalized mesh with 51 batches
[07:25:33 PM] Info: Finalized mesh with 51 batches
[07:25:33 PM] Info: Finalized mesh with 51 batches
[07:25:35 PM] Info: Finalized mesh with 57 batches
[07:25:38 PM] Info: Finalized mesh with 59 batches
[07:25:40 PM] Warning: Sector 9 error; a sector may not overlap another sector unless all of its walls fit inside
[07:25:40 PM] Warning: Sector 10 error; a sector may not overlap another sector unless all of its walls fit inside
[07:25:40 PM] Info: Finalized mesh with 61 batches
[07:25:42 PM] Warning: Sector 9 error; a sector may not overlap another sector unless all of its walls fit inside
[07:25:42 PM] Warning: Sector 10 error; a sector may not overlap another sector unless all of its walls fit inside
[07:25:42 PM] Info: Finalized mesh with 65 batches
[07:25:42 PM] Warning: Sector 9 error; a sector may not overlap another sector unless all of its walls fit inside
[07:25:42 PM] Warning: Sector 10 error; a sector may not overlap another sector unless all of its walls fit inside
[07:25:42 PM] Info: Finalized mesh with 65 batches
[07:25:42 PM] Warning: Sector 9 error; a sector may not overlap another sector unless all of its walls fit inside
[07:25:42 PM] Warning: Sector 10 error; a sector may not overlap another sector unless all of its walls fit inside
[07:25:42 PM] Info: Finalized mesh with 65 batches
[07:25:42 PM] Warning: Sector 9 error; a sector may not overlap another sector unless all of its walls fit inside
[07:25:42 PM] Warning: Sector 10 error; a sector may not overlap another sector unless all of its walls fit inside
[07:25:42 PM] Info: Finalized mesh with 65 batches
[07:25:42 PM] Warning: Sector 9 error; a sector may not overlap another sector unless all of its walls fit inside
[07:25:42 PM] Warning: Sector 10 error; a sector may not overlap another sector unless all of its walls fit inside
[07:25:42 PM] Info: Finalized mesh with 65 batches
[07:25:42 PM] Warning: Sector 9 error; a sector may not overlap another sector unless all of its walls fit inside
[07:25:42 PM] Warning: Sector 10 error; a sector may not overlap another sector unless all of its walls fit inside
[07:25:42 PM] Info: Finalized mesh with 65 batches
[07:25:42 PM] Warning: Sector 9 error; a sector may not overlap another sector unless all of its walls fit inside
[07:25:42 PM] Warning: Sector 10 error; a sector may not overlap another sector unless all of its walls fit inside
[07:25:42 PM] Info: Finalized mesh with 65 batches
[07:25:42 PM] Warning: Sector 9 error; a sector may not overlap another sector unless all of its walls fit inside
[07:25:42 PM] Warning: Sector 10 error; a sector may not overlap another sector unless all of its walls fit inside
[07:25:42 PM] Info: Finalized mesh with 65 batches
[07:25:42 PM] Warning: Sector 9 error; a sector may not overlap another sector unless all of its walls fit inside
[07:25:42 PM] Warning: Sector 10 error; a sector may not overlap another sector unless all of its walls fit inside
[07:25:42 PM] Info: Finalized mesh with 65 batches
[07:25:42 PM] Warning: Sector 9 error; a sector may not overlap another sector unless all of its walls fit inside
[07:25:42 PM] Warning: Sector 10 error; a sector may not overlap another sector unless all of its walls fit inside
[07:25:42 PM] Info: Finalized mesh with 65 batches
[07:25:42 PM] Warning: Sector 9 error; a sector may not overlap another sector unless all of its walls fit inside
[07:25:42 PM] Warning: Sector 10 error; a sector may not overlap another sector unless all of its walls fit inside
[07:25:42 PM] Info: Finalized mesh with 65 batches
[07:25:43 PM] Warning: Sector 9 error; a sector may not overlap another sector unless all of its walls fit inside
[07:25:43 PM] Warning: Sector 10 error; a sector may not overlap another sector unless all of its walls fit inside
[07:25:43 PM] Info: Finalized mesh with 65 batches
[07:25:43 PM] Warning: Sector 9 error; a sector may not overlap another sector unless all of its walls fit inside
[07:25:43 PM] Warning: Sector 10 error; a sector may not overlap another sector unless all of its walls fit inside
[07:25:43 PM] Info: Finalized mesh with 65 batches
[07:25:43 PM] Warning: Sector 9 error; a sector may not overlap another sector unless all of its walls fit inside
[07:25:43 PM] Warning: Sector 10 error; a sector may not overlap another sector unless all of its walls fit inside
[07:25:43 PM] Info: Finalized mesh with 65 batches
[07:25:43 PM] Warning: Sector 9 error; a sector may not overlap another sector unless all of its walls fit inside
[07:25:43 PM] Warning: Sector 10 error; a sector may not overlap another sector unless all of its walls fit inside
[07:25:43 PM] Info: Finalized mesh with 65 batches
[07:25:43 PM] Warning: Sector 9 error; a sector may not overlap another sector unless all of its walls fit inside
[07:25:43 PM] Warning: Sector 10 error; a sector may not overlap another sector unless all of its walls fit inside
[07:25:43 PM] Info: Finalized mesh with 65 batches
[07:25:43 PM] Warning: Sector 9 error; a sector may not overlap another sector unless all of its walls fit inside
[07:25:43 PM] Warning: Sector 10 error; a sector may not overlap another sector unless all of its walls fit inside
[07:25:43 PM] Info: Finalized mesh with 65 batches
[07:25:43 PM] Warning: Sector 9 error; a sector may not overlap another sector unless all of its walls fit inside
[07:25:43 PM] Warning: Sector 10 error; a sector may not overlap another sector unless all of its walls fit inside
[07:25:43 PM] Info: Finalized mesh with 65 batches
[07:25:43 PM] Warning: Sector 9 error; a sector may not overlap another sector unless all of its walls fit inside
[07:25:43 PM] Warning: Sector 10 error; a sector may not overlap another sector unless all of its walls fit inside
[07:25:43 PM] Info: Finalized mesh with 65 batches
[07:25:43 PM] Warning: Sector 9 error; a sector may not overlap another sector unless all of its walls fit inside
[07:25:43 PM] Warning: Sector 10 error; a sector may not overlap another sector unless all of its walls fit inside
[07:25:43 PM] Info: Finalized mesh with 65 batches
[07:25:43 PM] Warning: Sector 9 error; a sector may not overlap another sector unless all of its walls fit inside
[07:25:43 PM] Warning: Sector 10 error; a sector may not overlap another sector unless all of its walls fit inside
[07:25:43 PM] Info: Finalized mesh with 65 batches
[07:25:43 PM] Warning: Sector 9 error; a sector may not overlap another sector unless all of its walls fit inside
[07:25:43 PM] Warning: Sector 10 error; a sector may not overlap another sector unless all of its walls fit inside
[07:25:43 PM] Info: Finalized mesh with 65 batches
[07:25:43 PM] Warning: Sector 9 error; a sector may not overlap another sector unless all of its walls fit inside
[07:25:43 PM] Warning: Sector 10 error; a sector may not overlap another sector unless all of its walls fit inside
[07:25:43 PM] Info: Finalized mesh with 65 batches
[07:25:43 PM] Warning: Sector 9 error; a sector may not overlap another sector unless all of its walls fit inside
[07:25:43 PM] Warning: Sector 10 error; a sector may not overlap another sector unless all of its walls fit inside
[07:25:43 PM] Info: Finalized mesh with 65 batches
[07:25:43 PM] Warning: Sector 9 error; a sector may not overlap another sector unless all of its walls fit inside
[07:25:43 PM] Warning: Sector 10 error; a sector may not overlap another sector unless all of its walls fit inside
[07:25:43 PM] Info: Finalized mesh with 68 batches
[07:25:43 PM] Warning: Sector 9 error; a sector may not overlap another sector unless all of its walls fit inside
[07:25:43 PM] Warning: Sector 10 error; a sector may not overlap another sector unless all of its walls fit inside
[07:25:43 PM] Info: Finalized mesh with 68 batches
[07:25:43 PM] Warning: Sector 9 error; a sector may not overlap another sector unless all of its walls fit inside
[07:25:43 PM] Warning: Sector 10 error; a sector may not overlap another sector unless all of its walls fit inside
[07:25:43 PM] Info: Finalized mesh with 68 batches
[07:25:43 PM] Warning: Sector 9 error; a sector may not overlap another sector unless all of its walls fit inside
[07:25:43 PM] Warning: Sector 10 error; a sector may not overlap another sector unless all of its walls fit inside
[07:25:43 PM] Info: Finalized mesh with 68 batches
[07:25:43 PM] Warning: Sector 9 error; a sector may not overlap another sector unless all of its walls fit inside
[07:25:43 PM] Warning: Sector 10 error; a sector may not overlap another sector unless all of its walls fit inside
[07:25:43 PM] Info: Finalized mesh with 68 batches
[07:25:43 PM] Warning: Sector 9 error; a sector may not overlap another sector unless all of its walls fit inside
[07:25:43 PM] Warning: Sector 10 error; a sector may not overlap another sector unless all of its walls fit inside
[07:25:43 PM] Info: Finalized mesh with 68 batches
[07:25:43 PM] Warning: Sector 9 error; a sector may not overlap another sector unless all of its walls fit inside
[07:25:43 PM] Warning: Sector 10 error; a sector may not overlap another sector unless all of its walls fit inside
[07:25:43 PM] Info: Finalized mesh with 68 batches
[07:25:44 PM] Warning: Sector 9 error; a sector may not overlap another sector unless all of its walls fit inside
[07:25:44 PM] Warning: Sector 10 error; a sector may not overlap another sector unless all of its walls fit inside
[07:25:44 PM] Info: Finalized mesh with 68 batches
[07:25:44 PM] Warning: Sector 9 error; a sector may not overlap another sector unless all of its walls fit inside
[07:25:44 PM] Warning: Sector 10 error; a sector may not overlap another sector unless all of its walls fit inside
[07:25:44 PM] Info: Finalized mesh with 68 batches
[07:25:44 PM] Warning: Sector 9 error; a sector may not overlap another sector unless all of its walls fit inside
[07:25:44 PM] Warning: Sector 10 error; a sector may not overlap another sector unless all of its walls fit inside
[07:25:44 PM] Info: Finalized mesh with 68 batches
[07:25:44 PM] Warning: Sector 9 error; a sector may not overlap another sector unless all of its walls fit inside
[07:25:44 PM] Warning: Sector 10 error; a sector may not overlap another sector unless all of its walls fit inside
[07:25:44 PM] Info: Finalized mesh with 68 batches
[07:25:45 PM] Warning: Sector 9 error; a sector may not overlap another sector unless all of its walls fit inside
[07:25:45 PM] Warning: Sector 10 error; a sector may not overlap another sector unless all of its walls fit inside
[07:25:45 PM] Info: Finalized mesh with 68 batches
[07:25:45 PM] Warning: Sector 9 error; a sector may not overlap another sector unless all of its walls fit inside
[07:25:45 PM] Warning: Sector 10 error; a sector may not overlap another sector unless all of its walls fit inside
[07:25:45 PM] Info: Finalized mesh with 68 batches
[07:25:45 PM] Warning: Sector 9 error; a sector may not overlap another sector unless all of its walls fit inside
[07:25:45 PM] Warning: Sector 10 error; a sector may not overlap another sector unless all of its walls fit inside
[07:25:45 PM] Info: Finalized mesh with 68 batches
[07:25:45 PM] Warning: Sector 9 error; a sector may not overlap another sector unless all of its walls fit inside
[07:25:45 PM] Warning: Sector 10 error; a sector may not overlap another sector unless all of its walls fit inside
[07:25:45 PM] Info: Finalized mesh with 68 batches
[07:25:45 PM] Warning: Sector 9 error; a sector may not overlap another sector unless all of its walls fit inside
[07:25:45 PM] Warning: Sector 10 error; a sector may not overlap another sector unless all of its walls fit inside
[07:25:45 PM] Info: Finalized mesh with 68 batches
[07:25:45 PM] Warning: Sector 9 error; a sector may not overlap another sector unless all of its walls fit inside
[07:25:45 PM] Warning: Sector 10 error; a sector may not overlap another sector unless all of its walls fit inside
[07:25:45 PM] Info: Finalized mesh with 68 batches
[07:25:56 PM] Warning: Sector 9 error; a sector may not overlap another sector unless all of its walls fit inside
[07:25:56 PM] Warning: Sector 10 error; a sector may not overlap another sector unless all of its walls fit inside
[07:25:56 PM] Info: Finalized mesh with 70 batches
[07:25:56 PM] Error: Bad any cast: Bad any_cast
[07:25:56 PM] Error: Bad any cast: Bad any_cast
[07:25:56 PM] Error: Bad any cast: Bad any_cast
[07:25:56 PM] Error: Bad any cast: Bad any_cast
[07:25:56 PM] Error: Bad any cast: Bad any_cast
[07:25:56 PM] Error: Bad any cast: Bad any_cast
[07:25:56 PM] Error: Bad any cast: Bad any_cast
[07:25:56 PM] Error: Bad any cast: Bad any_cast
[07:25:56 PM] Error: Bad any cast: Bad any_cast
[07:25:56 PM] Error: Bad any cast: Bad any_cast
[07:25:56 PM] Error: Bad any cast: Bad any_cast
[07:25:56 PM] Error: Bad any cast: Bad any_cast
[07:25:56 PM] Error: Bad any cast: Bad any_cast
[07:25:56 PM] Error: Bad any cast: Bad any_cast
[07:25:56 PM] Error: Bad any cast: Bad any_cast
[07:25:56 PM] Error: Bad any cast: Bad any_cast
[07:25:56 PM] Error: Bad any cast: Bad any_cast
[07:25:56 PM] Error: Bad any cast: Bad any_cast
[07:25:56 PM] Error: Bad any cast: Bad any_cast
[07:25:57 PM] Error: Bad any cast: Bad any_cast
[07:25:57 PM] Error: Bad any cast: Bad any_cast
[07:25:57 PM] Error: Bad any cast: Bad any_cast
[07:25:57 PM] Error: Bad any cast: Bad any_cast
[07:25:57 PM] Error: Bad any cast: Bad any_cast
[07:25:57 PM] Error: Bad any cast: Bad any_cast
[07:25:57 PM] Error: Bad any cast: Bad any_cast
[07:25:57 PM] Error: Bad any cast: Bad any_cast
[07:25:57 PM] Error: Bad any cast: Bad any_cast
[07:25:57 PM] Error: Bad any cast: Bad any_cast
[07:25:57 PM] Error: Bad any cast: Bad any_cast
[07:25:57 PM] Error: Bad any cast: Bad any_cast
[07:25:57 PM] Error: Bad any cast: Bad any_cast
[07:25:57 PM] Error: Bad any cast: Bad any_cast
[07:25:57 PM] Error: Bad any cast: Bad any_cast
[07:25:57 PM] Error: Bad any cast: Bad any_cast
[07:25:57 PM] Error: Bad any cast: Bad any_cast
[07:25:57 PM] Error: Bad any cast: Bad any_cast
[07:25:57 PM] Error: Bad any cast: Bad any_cast
[07:25:57 PM] Error: Bad any cast: Bad any_cast
[07:25:57 PM] Error: Bad any cast: Bad any_cast
[07:25:57 PM] Error: Bad any cast: Bad any_cast
[07:25:57 PM] Error: Bad any cast: Bad any_cast
[07:25:57 PM] Error: Bad any cast: Bad any_cast
[07:25:57 PM] Error: Bad any cast: Bad any_cast
[07:25:57 PM] Error: Bad any cast: Bad any_cast
[07:25:57 PM] Error: Bad any cast: Bad any_cast
[07:25:57 PM] Error: Bad any cast: Bad any_cast
[07:25:57 PM] Error: Bad any cast: Bad any_cast
[07:25:57 PM] Error: Bad any cast: Bad any_cast
[07:25:57 PM] Error: Bad any cast: Bad any_cast
[07:25:57 PM] Error: Bad any cast: Bad any_cast
[07:25:57 PM] Error: Bad any cast: Bad any_cast
[07:25:57 PM] Error: Bad any cast: Bad any_cast
[07:25:57 PM] Error: Bad any cast: Bad any_cast
[07:25:57 PM] Error: Bad any cast: Bad any_cast
[07:25:57 PM] Error: Bad any cast: Bad any_cast
[07:25:57 PM] Error: Bad any cast: Bad any_cast
[07:25:57 PM] Error: Bad any cast: Bad any_cast
[07:25:57 PM] Error: Bad any cast: Bad any_cast
[07:25:57 PM] Error: Bad any cast: Bad any_cast
[07:25:57 PM] Error: Bad any cast: Bad any_cast
[07:25:57 PM] Error: Bad any cast: Bad any_cast
[07:25:57 PM] Error: Bad any cast: Bad any_cast
[07:25:57 PM] Error: Bad any cast: Bad any_cast
[07:25:57 PM] Error: Bad any cast: Bad any_cast
[07:25:57 PM] Error: Bad any cast: Bad any_cast
[07:25:57 PM] Error: Bad any cast: Bad any_cast
[07:25:57 PM] Error: Bad any cast: Bad any_cast
[07:25:57 PM] Error: Bad any cast: Bad any_cast
[07:25:57 PM] Error: Bad any cast: Bad any_cast
[07:25:57 PM] Error: Bad any cast: Bad any_cast
[07:25:57 PM] Error: Bad any cast: Bad any_cast
[07:25:57 PM] Error: Bad any cast: Bad any_cast
[07:25:57 PM] Error: Bad any cast: Bad any_cast
[07:25:57 PM] Error: Bad any cast: Bad any_cast
[07:25:57 PM] Error: Bad any cast: Bad any_cast
[07:25:57 PM] Error: Bad any cast: Bad any_cast
[07:25:57 PM] Error: Bad any cast: Bad any_cast
[07:25:57 PM] Error: Bad any cast: Bad any_cast
[07:25:58 PM] Error: Bad any cast: Bad any_cast
[07:25:58 PM] Error: Bad any cast: Bad any_cast
[07:25:58 PM] Error: Bad any cast: Bad any_cast
[07:25:58 PM] Error: Bad any cast: Bad any_cast
[07:25:58 PM] Error: Bad any cast: Bad any_cast
[07:25:58 PM] Error: Bad any cast: Bad any_cast
[07:25:58 PM] Error: Bad any cast: Bad any_cast
[07:25:58 PM] Error: Bad any cast: Bad any_cast
[07:25:58 PM] Error: Bad any cast: Bad any_cast
[07:25:58 PM] Error: Bad any cast: Bad any_cast
[07:25:58 PM] Error: Bad any cast: Bad any_cast
[07:25:58 PM] Error: Bad any cast: Bad any_cast
[07:25:58 PM] Error: Bad any cast: Bad any_cast
[07:25:58 PM] Error: Bad any cast: Bad any_cast
[07:25:58 PM] Error: Bad any cast: Bad any_cast
[07:25:58 PM] Error: Bad any cast: Bad any_cast
[07:25:58 PM] Error: Bad any cast: Bad any_cast
[07:25:58 PM] Error: Bad any cast: Bad any_cast
[07:25:58 PM] Error: Bad any cast: Bad any_cast
[07:25:58 PM] Error: Bad any cast: Bad any_cast
[07:25:58 PM] Error: Bad any cast: Bad any_cast
[07:25:58 PM] Error: Bad any cast: Bad any_cast
[07:25:58 PM] Error: Bad any cast: Bad any_cast
[07:25:58 PM] Error: Bad any cast: Bad any_cast
[07:25:58 PM] Error: Bad any cast: Bad any_cast
[07:25:58 PM] Error: Bad any cast: Bad any_cast
[07:25:58 PM] Error: Bad any cast: Bad any_cast
[07:25:58 PM] Error: Bad any cast: Bad any_cast
[07:25:58 PM] Error: Bad any cast: Bad any_cast
[07:25:58 PM] Error: Bad any cast: Bad any_cast
[07:25:58 PM] Error: Bad any cast: Bad any_cast
[07:25:58 PM] Error: Bad any cast: Bad any_cast
[07:25:58 PM] Error: Bad any cast: Bad any_cast
[07:25:58 PM] Error: Bad any cast: Bad any_cast
[07:25:58 PM] Error: Bad any cast: Bad any_cast
[07:25:58 PM] Error: Bad any cast: Bad any_cast
[07:25:58 PM] Error: Bad any cast: Bad any_cast
[07:25:58 PM] Error: Bad any cast: Bad any_cast
[07:25:58 PM] Error: Bad any cast: Bad any_cast
[07:25:58 PM] Error: Bad any cast: Bad any_cast
[07:25:58 PM] Error: Bad any cast: Bad any_cast
[07:25:58 PM] Error: Bad any cast: Bad any_cast
[07:25:58 PM] Error: Bad any cast: Bad any_cast
[07:25:58 PM] Error: Bad any cast: Bad any_cast
[07:25:58 PM] Error: Bad any cast: Bad any_cast
[07:25:58 PM] Error: Bad any cast: Bad any_cast
[07:25:58 PM] Error: Bad any cast: Bad any_cast
[07:25:58 PM] Error: Bad any cast: Bad any_cast
[07:25:58 PM] Error: Bad any cast: Bad any_cast
[07:25:58 PM] Error: Bad any cast: Bad any_cast
[07:25:58 PM] Error: Bad any cast: Bad any_cast
[07:25:58 PM] Error: Bad any cast: Bad any_cast
[07:25:58 PM] Error: Bad any cast: Bad any_cast
[07:25:58 PM] Error: Bad any cast: Bad any_cast
[07:25:58 PM] Error: Bad any cast: Bad any_cast
[07:25:58 PM] Error: Bad any cast: Bad any_cast
[07:25:58 PM] Error: Bad any cast: Bad any_cast
[07:25:58 PM] Error: Bad any cast: Bad any_cast
[07:25:58 PM] Error: Bad any cast: Bad any_cast
[07:25:58 PM] Error: Bad any cast: Bad any_cast
[07:25:59 PM] Error: Bad any cast: Bad any_cast
[07:25:59 PM] Error: Bad any cast: Bad any_cast
[07:25:59 PM] Error: Bad any cast: Bad any_cast
[07:25:59 PM] Error: Bad any cast: Bad any_cast
[07:25:59 PM] Error: Bad any cast: Bad any_cast
[07:25:59 PM] Error: Bad any cast: Bad any_cast
[07:25:59 PM] Error: Bad any cast: Bad any_cast
[07:25:59 PM] Error: Bad any cast: Bad any_cast
[07:25:59 PM] Error: Bad any cast: Bad any_cast
[07:25:59 PM] Error: Bad any cast: Bad any_cast
[07:25:59 PM] Error: Bad any cast: Bad any_cast
[07:25:59 PM] Error: Bad any cast: Bad any_cast
[07:25:59 PM] Error: Bad any cast: Bad any_cast
[07:25:59 PM] Error: Bad any cast: Bad any_cast
[07:25:59 PM] Error: Bad any cast: Bad any_cast
[07:25:59 PM] Error: Bad any cast: Bad any_cast
[07:25:59 PM] Error: Bad any cast: Bad any_cast
[07:25:59 PM] Error: Bad any cast: Bad any_cast
[07:25:59 PM] Error: Bad any cast: Bad any_cast
[07:25:59 PM] Error: Bad any cast: Bad any_cast
[07:25:59 PM] Error: Bad any cast: Bad any_cast
[07:25:59 PM] Error: Bad any cast: Bad any_cast
[07:25:59 PM] Error: Bad any cast: Bad any_cast
[07:25:59 PM] Error: Bad any cast: Bad any_cast
[07:25:59 PM] Error: Bad any cast: Bad any_cast
[07:25:59 PM] Error: Bad any cast: Bad any_cast
[07:25:59 PM] Error: Bad any cast: Bad any_cast
[07:25:59 PM] Error: Bad any cast: Bad any_cast
[07:25:59 PM] Error: Bad any cast: Bad any_cast
[07:25:59 PM] Error: Bad any cast: Bad any_cast
[07:25:59 PM] Error: Bad any cast: Bad any_cast
[07:25:59 PM] Error: Bad any cast: Bad any_cast
[07:25:59 PM] Error: Bad any cast: Bad any_cast
[07:25:59 PM] Error: Bad any cast: Bad any_cast
[07:25:59 PM] Error: Bad any cast: Bad any_cast
[07:25:59 PM] Error: Bad any cast: Bad any_cast
[07:25:59 PM] Error: Bad any cast: Bad any_cast
[07:25:59 PM] Error: Bad any cast: Bad any_cast
[07:25:59 PM] Error: Bad any cast: Bad any_cast
[07:25:59 PM] Error: Bad any cast: Bad any_cast
[07:25:59 PM] Error: Bad any cast: Bad any_cast
[07:25:59 PM] Error: Bad any cast: Bad any_cast
[07:25:59 PM] Error: Bad any cast: Bad any_cast
[07:25:59 PM] Error: Bad any cast: Bad any_cast
[07:25:59 PM] Error: Bad any cast: Bad any_cast
[07:25:59 PM] Error: Bad any cast: Bad any_cast
[07:25:59 PM] Error: Bad any cast: Bad any_cast
[07:25:59 PM] Error: Bad any cast: Bad any_cast
[07:25:59 PM] Error: Bad any cast: Bad any_cast
[07:25:59 PM] Warning: Sector 9 error; a sector may not overlap another sector unless all of its walls fit inside
[07:25:59 PM] Warning: Sector 10 error; a sector may not overlap another sector unless all of its walls fit inside
[07:25:59 PM] Info: Finalized mesh with 72 batches
[07:25:59 PM] Error: Bad any cast: Bad any_cast
[07:25:59 PM] Error: Bad any cast: Bad any_cast
[07:25:59 PM] Error: Bad any cast: Bad any_cast
[07:25:59 PM] Error: Bad any cast: Bad any_cast
[07:25:59 PM] Error: Bad any cast: Bad any_cast
[07:25:59 PM] Error: Bad any cast: Bad any_cast
[07:25:59 PM] Error: Bad any cast: Bad any_cast
[07:25:59 PM] Error: Bad any cast: Bad any_cast
[07:25:59 PM] Error: Bad any cast: Bad any_cast
[07:25:59 PM] Error: Bad any cast: Bad any_cast
[07:25:59 PM] Error: Bad any cast: Bad any_cast
[07:26:00 PM] Error: Bad any cast: Bad any_cast
[07:26:00 PM] Error: Bad any cast: Bad any_cast
[07:26:00 PM] Error: Bad any cast: Bad any_cast
[07:26:00 PM] Error: Bad any cast: Bad any_cast
[07:26:00 PM] Error: Bad any cast: Bad any_cast
[07:26:00 PM] Error: Bad any cast: Bad any_cast
[07:26:00 PM] Error: Bad any cast: Bad any_cast
[07:26:00 PM] Error: Bad any cast: Bad any_cast
[07:26:00 PM] Error: Bad any cast: Bad any_cast
[07:26:00 PM] Error: Bad any cast: Bad any_cast
[07:26:00 PM] Error: Bad any cast: Bad any_cast
[07:26:00 PM] Error: Bad any cast: Bad any_cast
[07:26:00 PM] Error: Bad any cast: Bad any_cast
[07:26:00 PM] Error: Bad any cast: Bad any_cast
[07:26:00 PM] Error: Bad any cast: Bad any_cast
[07:26:00 PM] Error: Bad any cast: Bad any_cast
[07:26:00 PM] Error: Bad any cast: Bad any_cast
[07:26:00 PM] Error: Bad any cast: Bad any_cast
[07:26:00 PM] Error: Bad any cast: Bad any_cast
[07:26:00 PM] Error: Bad any cast: Bad any_cast
[07:26:00 PM] Error: Bad any cast: Bad any_cast
[07:26:00 PM] Warning: Sector 12 error; a sector may not overlap another sector unless all of its walls fit inside
[07:26:00 PM] Warning: Sector 9 error; a sector may not overlap another sector unless all of its walls fit inside
[07:26:00 PM] Warning: Sector 10 error; a sector may not overlap another sector unless all of its walls fit inside
[07:26:00 PM] Info: Finalized mesh with 76 batches
[07:26:00 PM] Warning: Sector 12 error; a sector may not overlap another sector unless all of its walls fit inside
[07:26:00 PM] Warning: Sector 9 error; a sector may not overlap another sector unless all of its walls fit inside
[07:26:00 PM] Warning: Sector 10 error; a sector may not overlap another sector unless all of its walls fit inside
[07:26:00 PM] Info: Finalized mesh with 76 batches
[07:26:00 PM] Warning: Sector 12 error; a sector may not overlap another sector unless all of its walls fit inside
[07:26:00 PM] Warning: Sector 9 error; a sector may not overlap another sector unless all of its walls fit inside
[07:26:00 PM] Warning: Sector 10 error; a sector may not overlap another sector unless all of its walls fit inside
[07:26:00 PM] Info: Finalized mesh with 76 batches
[07:26:00 PM] Warning: Sector 12 error; a sector may not overlap another sector unless all of its walls fit inside
[07:26:00 PM] Warning: Sector 9 error; a sector may not overlap another sector unless all of its walls fit inside
[07:26:00 PM] Warning: Sector 10 error; a sector may not overlap another sector unless all of its walls fit inside
[07:26:00 PM] Info: Finalized mesh with 76 batches
[07:26:00 PM] Warning: Sector 12 error; a sector may not overlap another sector unless all of its walls fit inside
[07:26:00 PM] Warning: Sector 9 error; a sector may not overlap another sector unless all of its walls fit inside
[07:26:00 PM] Warning: Sector 10 error; a sector may not overlap another sector unless all of its walls fit inside
[07:26:00 PM] Info: Finalized mesh with 76 batches
[07:26:00 PM] Warning: Sector 12 error; a sector may not overlap another sector unless all of its walls fit inside
[07:26:00 PM] Warning: Sector 9 error; a sector may not overlap another sector unless all of its walls fit inside
[07:26:00 PM] Warning: Sector 10 error; a sector may not overlap another sector unless all of its walls fit inside
[07:26:00 PM] Info: Finalized mesh with 76 batches
[07:26:00 PM] Warning: Sector 12 error; a sector may not overlap another sector unless all of its walls fit inside
[07:26:00 PM] Warning: Sector 9 error; a sector may not overlap another sector unless all of its walls fit inside
[07:26:00 PM] Warning: Sector 10 error; a sector may not overlap another sector unless all of its walls fit inside
[07:26:00 PM] Info: Finalized mesh with 76 batches
[07:26:00 PM] Warning: Sector 12 error; a sector may not overlap another sector unless all of its walls fit inside
[07:26:00 PM] Warning: Sector 9 error; a sector may not overlap another sector unless all of its walls fit inside
[07:26:00 PM] Warning: Sector 10 error; a sector may not overlap another sector unless all of its walls fit inside
[07:26:00 PM] Info: Finalized mesh with 76 batches
[07:26:00 PM] Warning: Sector 12 error; a sector may not overlap another sector unless all of its walls fit inside
[07:26:00 PM] Warning: Sector 9 error; a sector may not overlap another sector unless all of its walls fit inside
[07:26:00 PM] Warning: Sector 10 error; a sector may not overlap another sector unless all of its walls fit inside
[07:26:00 PM] Info: Finalized mesh with 76 batches
[07:26:01 PM] Warning: Sector 12 error; a sector may not overlap another sector unless all of its walls fit inside
[07:26:01 PM] Warning: Sector 9 error; a sector may not overlap another sector unless all of its walls fit inside
[07:26:01 PM] Warning: Sector 10 error; a sector may not overlap another sector unless all of its walls fit inside
[07:26:01 PM] Info: Finalized mesh with 76 batches
[07:26:01 PM] Warning: Sector 12 error; a sector may not overlap another sector unless all of its walls fit inside
[07:26:01 PM] Warning: Sector 9 error; a sector may not overlap another sector unless all of its walls fit inside
[07:26:01 PM] Warning: Sector 10 error; a sector may not overlap another sector unless all of its walls fit inside
[07:26:01 PM] Info: Finalized mesh with 76 batches
[07:26:01 PM] Warning: Sector 12 error; a sector may not overlap another sector unless all of its walls fit inside
[07:26:01 PM] Warning: Sector 9 error; a sector may not overlap another sector unless all of its walls fit inside
[07:26:01 PM] Warning: Sector 10 error; a sector may not overlap another sector unless all of its walls fit inside
[07:26:01 PM] Info: Finalized mesh with 76 batches
[07:26:01 PM] Warning: Sector 12 error; a sector may not overlap another sector unless all of its walls fit inside
[07:26:01 PM] Warning: Sector 9 error; a sector may not overlap another sector unless all of its walls fit inside
[07:26:01 PM] Warning: Sector 10 error; a sector may not overlap another sector unless all of its walls fit inside
[07:26:01 PM] Info: Finalized mesh with 76 batches
[07:26:01 PM] Warning: Sector 12 error; a sector may not overlap another sector unless all of its walls fit inside
[07:26:01 PM] Warning: Sector 9 error; a sector may not overlap another sector unless all of its walls fit inside
[07:26:01 PM] Warning: Sector 10 error; a sector may not overlap another sector unless all of its walls fit inside
[07:26:01 PM] Info: Finalized mesh with 76 batches
[07:26:01 PM] Warning: Sector 12 error; a sector may not overlap another sector unless all of its walls fit inside
[07:26:01 PM] Warning: Sector 9 error; a sector may not overlap another sector unless all of its walls fit inside
[07:26:01 PM] Warning: Sector 10 error; a sector may not overlap another sector unless all of its walls fit inside
[07:26:01 PM] Info: Finalized mesh with 76 batches
[07:26:01 PM] Warning: Sector 12 error; a sector may not overlap another sector unless all of its walls fit inside
[07:26:01 PM] Warning: Sector 9 error; a sector may not overlap another sector unless all of its walls fit inside
[07:26:01 PM] Warning: Sector 10 error; a sector may not overlap another sector unless all of its walls fit inside
[07:26:01 PM] Info: Finalized mesh with 76 batches
[07:26:01 PM] Warning: Sector 12 error; a sector may not overlap another sector unless all of its walls fit inside
[07:26:01 PM] Warning: Sector 9 error; a sector may not overlap another sector unless all of its walls fit inside
[07:26:01 PM] Warning: Sector 10 error; a sector may not overlap another sector unless all of its walls fit inside
[07:26:01 PM] Info: Finalized mesh with 76 batches
[07:26:01 PM] Warning: Sector 12 error; a sector may not overlap another sector unless all of its walls fit inside
[07:26:01 PM] Warning: Sector 9 error; a sector may not overlap another sector unless all of its walls fit inside
[07:26:01 PM] Warning: Sector 10 error; a sector may not overlap another sector unless all of its walls fit inside
[07:26:01 PM] Info: Finalized mesh with 76 batches
[07:26:01 PM] Warning: Sector 12 error; a sector may not overlap another sector unless all of its walls fit inside
[07:26:01 PM] Warning: Sector 9 error; a sector may not overlap another sector unless all of its walls fit inside
[07:26:01 PM] Warning: Sector 10 error; a sector may not overlap another sector unless all of its walls fit inside
[07:26:01 PM] Info: Finalized mesh with 76 batches
[07:26:01 PM] Warning: Sector 12 error; a sector may not overlap another sector unless all of its walls fit inside
[07:26:01 PM] Warning: Sector 9 error; a sector may not overlap another sector unless all of its walls fit inside
[07:26:01 PM] Warning: Sector 10 error; a sector may not overlap another sector unless all of its walls fit inside
[07:26:01 PM] Info: Finalized mesh with 76 batches
[07:26:01 PM] Warning: Sector 12 error; a sector may not overlap another sector unless all of its walls fit inside
[07:26:01 PM] Warning: Sector 9 error; a sector may not overlap another sector unless all of its walls fit inside
[07:26:01 PM] Warning: Sector 10 error; a sector may not overlap another sector unless all of its walls fit inside
[07:26:01 PM] Info: Finalized mesh with 80 batches
[07:26:01 PM] Warning: Sector 12 error; a sector may not overlap another sector unless all of its walls fit inside
[07:26:01 PM] Warning: Sector 9 error; a sector may not overlap another sector unless all of its walls fit inside
[07:26:01 PM] Warning: Sector 10 error; a sector may not overlap another sector unless all of its walls fit inside
[07:26:01 PM] Info: Finalized mesh with 80 batches
[07:26:01 PM] Warning: Sector 12 error; a sector may not overlap another sector unless all of its walls fit inside
[07:26:01 PM] Warning: Sector 9 error; a sector may not overlap another sector unless all of its walls fit inside
[07:26:01 PM] Warning: Sector 10 error; a sector may not overlap another sector unless all of its walls fit inside
[07:26:01 PM] Info: Finalized mesh with 80 batches
[07:26:01 PM] Warning: Sector 12 error; a sector may not overlap another sector unless all of its walls fit inside
[07:26:01 PM] Warning: Sector 9 error; a sector may not overlap another sector unless all of its walls fit inside
[07:26:01 PM] Warning: Sector 10 error; a sector may not overlap another sector unless all of its walls fit inside
[07:26:01 PM] Info: Finalized mesh with 80 batches
[07:26:01 PM] Warning: Sector 12 error; a sector may not overlap another sector unless all of its walls fit inside
[07:26:01 PM] Warning: Sector 9 error; a sector may not overlap another sector unless all of its walls fit inside
[07:26:01 PM] Warning: Sector 10 error; a sector may not overlap another sector unless all of its walls fit inside
[07:26:01 PM] Info: Finalized mesh with 80 batches
[07:26:01 PM] Warning: Sector 12 error; a sector may not overlap another sector unless all of its walls fit inside
[07:26:01 PM] Warning: Sector 9 error; a sector may not overlap another sector unless all of its walls fit inside
[07:26:01 PM] Warning: Sector 10 error; a sector may not overlap another sector unless all of its walls fit inside
[07:26:01 PM] Info: Finalized mesh with 80 batches
[07:26:01 PM] Warning: Sector 12 error; a sector may not overlap another sector unless all of its walls fit inside
[07:26:01 PM] Warning: Sector 9 error; a sector may not overlap another sector unless all of its walls fit inside
[07:26:01 PM] Warning: Sector 10 error; a sector may not overlap another sector unless all of its walls fit inside
[07:26:01 PM] Info: Finalized mesh with 80 batches
[07:26:01 PM] Warning: Sector 12 error; a sector may not overlap another sector unless all of its walls fit inside
[07:26:01 PM] Warning: Sector 9 error; a sector may not overlap another sector unless all of its walls fit inside
[07:26:01 PM] Warning: Sector 10 error; a sector may not overlap another sector unless all of its walls fit inside
[07:26:01 PM] Info: Finalized mesh with 80 batches
[07:26:01 PM] Warning: Sector 12 error; a sector may not overlap another sector unless all of its walls fit inside
[07:26:01 PM] Warning: Sector 9 error; a sector may not overlap another sector unless all of its walls fit inside
[07:26:01 PM] Warning: Sector 10 error; a sector may not overlap another sector unless all of its walls fit inside
[07:26:01 PM] Info: Finalized mesh with 80 batches
[07:26:02 PM] Warning: Sector 12 error; a sector may not overlap another sector unless all of its walls fit inside
[07:26:02 PM] Warning: Sector 9 error; a sector may not overlap another sector unless all of its walls fit inside
[07:26:02 PM] Warning: Sector 10 error; a sector may not overlap another sector unless all of its walls fit inside
[07:26:02 PM] Info: Finalized mesh with 80 batches
[07:26:02 PM] Warning: Sector 12 error; a sector may not overlap another sector unless all of its walls fit inside
[07:26:02 PM] Warning: Sector 9 error; a sector may not overlap another sector unless all of its walls fit inside
[07:26:02 PM] Warning: Sector 10 error; a sector may not overlap another sector unless all of its walls fit inside
[07:26:02 PM] Info: Finalized mesh with 80 batches
[02:17:44 AM] Info: Initializing SDL
[02:17:44 AM] Info: Initializing OpenGL
[02:17:44 AM] Info: OpenGL version: 4.6.0 NVIDIA 536.23
[02:17:44 AM] Info: Initializing GLEW
[02:17:44 AM] Info: Initializing SDL_mixer
[02:17:44 AM] Info: Reticulating splines...
[02:17:45 AM] Info: Ready!
[02:17:45 AM] Info: Finalized mesh with 45 batches
[02:17:53 AM] Info: Finalized mesh with 44 batches
[02:17:53 AM] Info: Finalized mesh with 44 batches
[02:17:53 AM] Info: Finalized mesh with 44 batches
[02:17:53 AM] Info: Finalized mesh with 44 batches
[02:17:53 AM] Info: Finalized mesh with 44 batches
[02:17:53 AM] Info: Finalized mesh with 44 batches
[02:17:53 AM] Info: Finalized mesh with 44 batches
[02:17:53 AM] Info: Finalized mesh with 44 batches
[02:17:53 AM] Info: Finalized mesh with 44 batches
[02:17:54 AM] Info: Finalized mesh with 44 batches
[02:17:54 AM] Info: Finalized mesh with 44 batches
[02:17:54 AM] Info: Finalized mesh with 44 batches
[02:17:54 AM] Info: Finalized mesh with 44 batches
[02:17:54 AM] Info: Finalized mesh with 44 batches
[02:17:54 AM] Info: Finalized mesh with 44 batches
[02:17:54 AM] Info: Finalized mesh with 44 batches
[02:17:54 AM] Info: Finalized mesh with 44 batches
[02:17:54 AM] Info: Finalized mesh with 44 batches
[02:17:54 AM] Info: Finalized mesh with 44 batches
[02:17:54 AM] Info: Finalized mesh with 44 batches
[02:17:54 AM] Info: Finalized mesh with 44 batches
[02:17:54 AM] Info: Finalized mesh with 44 batches
[02:17:54 AM] Info: Finalized mesh with 44 batches
[02:17:58 AM] Info: Finalized mesh with 44 batches
[02:17:58 AM] Info: Finalized mesh with 44 batches
[02:17:58 AM] Info: Finalized mesh with 44 batches
[02:17:58 AM] Info: Finalized mesh with 44 batches
[02:17:58 AM] Info: Finalized mesh with 44 batches
[02:17:58 AM] Info: Finalized mesh with 44 batches
[02:17:58 AM] Info: Finalized mesh with 44 batches
[02:17:58 AM] Info: Finalized mesh with 44 batches
[02:17:59 AM] Info: Finalized mesh with 44 batches
[02:17:59 AM] Info: Finalized mesh with 44 batches
[02:17:59 AM] Info: Finalized mesh with 44 batches
[02:17:59 AM] Info: Finalized mesh with 44 batches
[02:17:59 AM] Info: Finalized mesh with 44 batches
[02:17:59 AM] Info: Finalized mesh with 44 batches
[02:17:59 AM] Info: Finalized mesh with 44 batches
[02:17:59 AM] Info: Finalized mesh with 44 batches
[02:17:59 AM] Info: Finalized mesh with 44 batches
[02:17:59 AM] Info: Finalized mesh with 44 batches
[02:17:59 AM] Info: Finalized mesh with 44 batches
[02:17:59 AM] Info: Finalized mesh with 44 batches
[02:17:59 AM] Info: Finalized mesh with 44 batches
[02:17:59 AM] Info: Finalized mesh with 44 batches
[02:17:59 AM] Info: Finalized mesh with 44 batches
[02:17:59 AM] Info: Finalized mesh with 44 batches
[02:17:59 AM] Info: Finalized mesh with 44 batches
[02:17:59 AM] Info: Finalized mesh with 44 batches
[02:17:59 AM] Info: Finalized mesh with 44 batches
[02:17:59 AM] Info: Finalized mesh with 44 batches
[02:17:59 AM] Info: Finalized mesh with 44 batches
[02:17:59 AM] Info: Finalized mesh with 44 batches
[02:17:59 AM] Info: Finalized mesh with 44 batches
[02:17:59 AM] Info: Finalized mesh with 44 batches
[02:17:59 AM] Info: Finalized mesh with 44 batches
[02:17:59 AM] Info: Finalized mesh with 44 batches
[02:17:59 AM] Info: Finalized mesh with 44 batches
[02:17:59 AM] Info: Finalized mesh with 44 batches
[02:17:59 AM] Info: Finalized mesh with 44 batches
[02:17:59 AM] Info: Finalized mesh with 44 batches
[02:17:59 AM] Info: Finalized mesh with 44 batches
[02:17:59 AM] Info: Finalized mesh with 44 batches
[02:17:59 AM] Info: Finalized mesh with 44 batches
[02:18:00 AM] Info: Finalized mesh with 44 batches
[02:18:00 AM] Info: Finalized mesh with 44 batches
[02:18:00 AM] Info: Finalized mesh with 44 batches
[02:18:00 AM] Info: Finalized mesh with 44 batches
[02:18:00 AM] Info: Finalized mesh with 44 batches
[02:18:00 AM] Info

View file

@ -149,6 +149,7 @@
<ClInclude Include="src\KP3D_Log.h" />
<ClInclude Include="src\KP3D_Map.h" />
<ClInclude Include="src\KP3D_Mat4.h" />
<ClInclude Include="src\KP3D_Material.h" />
<ClInclude Include="src\KP3D_Math.h" />
<ClInclude Include="src\KP3D_MethodHandler.h" />
<ClInclude Include="src\KP3D_Model.h" />
@ -160,6 +161,7 @@
<ClInclude Include="src\KP3D_Raycast.h" />
<ClInclude Include="src\KP3D_Renderer2D.h" />
<ClInclude Include="src\KP3D_Renderer3D.h" />
<ClInclude Include="src\KP3D_Resources.h" />
<ClInclude Include="src\KP3D_Shader.h" />
<ClInclude Include="src\KP3D_Shader.inl.h" />
<ClInclude Include="src\KP3D_StaticMesh.h" />
@ -202,6 +204,7 @@
<ClCompile Include="src\KP3D_Log.cpp" />
<ClCompile Include="src\KP3D_Map.cpp" />
<ClCompile Include="src\KP3D_Mat4.cpp" />
<ClCompile Include="src\KP3D_Material.cpp" />
<ClCompile Include="src\KP3D_MethodHandler.cpp" />
<ClCompile Include="src\KP3D_Model.cpp" />
<ClCompile Include="src\KP3D_Noise.cpp" />
@ -211,6 +214,7 @@
<ClCompile Include="src\KP3D_Raycast.cpp" />
<ClCompile Include="src\KP3D_Renderer2D.cpp" />
<ClCompile Include="src\KP3D_Renderer3D.cpp" />
<ClCompile Include="src\KP3D_Resources.cpp" />
<ClCompile Include="src\KP3D_Shader.cpp" />
<ClCompile Include="src\KP3D_StaticMesh.cpp" />
<ClCompile Include="src\KP3D_StringUtils.cpp" />

View file

@ -41,6 +41,8 @@
<ClInclude Include="src\KP3D_Noise.h" />
<ClInclude Include="src\KP3D_Geometry.h" />
<ClInclude Include="src\KP3D_Raycast.h" />
<ClInclude Include="src\KP3D_Material.h" />
<ClInclude Include="src\KP3D_Resources.h" />
</ItemGroup>
<ItemGroup>
<ClCompile Include="src\KP3D_Vec2.cpp" />
@ -95,6 +97,8 @@
<ClCompile Include="ext\src\clipper2\clipper.rectclip.cpp" />
<ClCompile Include="src\KP3D_Geometry.cpp" />
<ClCompile Include="src\KP3D_Raycast.cpp" />
<ClCompile Include="src\KP3D_Material.cpp" />
<ClCompile Include="src\KP3D_Resources.cpp" />
</ItemGroup>
<ItemGroup>
<None Include=".clang-format" />

View file

@ -204,10 +204,10 @@ Game::Game(std::string path, std::string cfg_path, std::string log_path):
ImGui::GetIO().IniFilename = NULL;
ImFontConfig font_cfg;
// Uncomment for non-anti-aliased fonts:
// font_cfg.FontBuilderFlags = ImGuiFreeTypeBuilderFlags_Bitmap;
font_cfg.FontBuilderFlags = ImGuiFreeTypeBuilderFlags_ForceAutoHint;
font_cfg.FontBuilderFlags = ImGuiFreeTypeBuilderFlags_Bitmap;
font_cfg.FontBuilderFlags |= ImGuiFreeTypeBuilderFlags_ForceAutoHint;
font_cfg.FontNo = 2;
ImGui::GetIO().Fonts->AddFontFromFileTTF((sys::GetFontDir() + ".kp3d/msgothic.ttc").c_str(), 16.0f, &font_cfg);
ImGui::GetIO().Fonts->AddFontFromFileTTF((sys::GetFontDir() + ".kp3d/msgothic.ttc").c_str(), 13.0f, &font_cfg);
font_cfg.FontNo = 0;
ImGui::GetIO().Fonts->AddFontFromFileTTF((sys::GetFontDir() + ".kp3d/msgothic.ttc").c_str(), 13.0f, &font_cfg);
ImGui::GetIO().ConfigFlags |= ImGuiConfigFlags_NoMouseCursorChange;

View file

View file

@ -0,0 +1,20 @@
#pragma once
#include "KP3D_Common.h"
#include "KP3D_Texture.h"
namespace kp3d {
enum MaterialTextureIndex
{
MAT_TEX_DIFFUSE,
MAT_TEX_NORMAL,
NUM_MAT_TEX
};
struct Material
{
Texture textures[NUM_MAT_TEX];
};
} // namespace kp3d

View file

@ -0,0 +1,41 @@
#include "KP3D_Resources.h"
#include <filesystem>
#include <string>
#include "KP3D_StringUtils.h"
#include "KP3D_SystemUtils.h"
namespace kp3d::res {
void LoadMaterials()
{
texture_cache.clear();
// Load every available texture
for (const auto& entry: std::filesystem::recursive_directory_iterator(kp3d::sys::GetTextureDir()))
{
if (entry.is_directory())
continue;
std::filesystem::path entry_path = entry.path();
std::string path_str = entry_path.string();
if (!kp3d::str::EndsWith(path_str, ".png") && !kp3d::str::EndsWith(path_str, ".jpg"))
continue;
std::string filename = std::filesystem::proximate(path_str, kp3d::sys::GetTextureDir()).string();
std::replace(filename.begin(), filename.end(), '\\', '/');
// texture_cache.emplace(filename, );
// new:
// m_loaded_res_mutex.lock();
// m_raw_texture_data.push_back(new kp3d::RawTexture(filename));
// kp3d::EventBus::GetInstance().PublishDeferred(new kp3d::TextureLoadEvent(filename, m_raw_texture_data.size() - 1));
// m_num_loaded++;
// m_loaded_res_mutex.unlock();
}
}
} // namespace kp3d::res

View file

@ -0,0 +1,16 @@
#pragma once
#include <string>
#include <unordered_map>
#include "KP3D_Common.h"
#include "KP3D_Texture.h"
#include "KP3D_Material.h"
namespace kp3d::res {
std::unordered_map<std::string, kp3d::Texture*> texture_cache;
void LoadMaterials();
} // namespace kp3d::res

View file

@ -31,6 +31,7 @@ inline float Distance(kp3d::Vec3 a, kp3d::Vec3 b)
Editor::Editor()
{
m_banner.Load(".kp3d/banner.png");
m_stem.Load("editor/stem.png");
m_block.Load("block.png", true);
m_mode = MODE_BUILD;
@ -260,45 +261,72 @@ void Editor::RenderUI()
if (ImGui::BeginMenu("View"))
{
ImGui::Checkbox("Info overlay", &show_info_overlay);
ImGui::Checkbox("Selection information", &show_selection_info);
ImGui::Checkbox("Console", &kp3d::console::open);
ImGui::EndMenu();
}
if (ImGui::BeginMenu("Help"))
{
ImGui::Checkbox("About KP3Dii", &show_about_view);
ImGui::EndMenu();
}
ImGui::EndMainMenuBar();
// Overlay
RenderUIInfo();
RenderUIAbout();
// Sector window
// ImGui::SetNextWindowSize({400, 500}, ImGuiCond_FirstUseEver);
ImGui::SetNextWindowPos({20, 200});
if (ImGui::Begin("Selection Information", nullptr, ImGuiWindowFlags_AlwaysAutoResize))
ImGui::SetNextWindowPos({20, 200}, ImGuiCond_FirstUseEver);
if (show_selection_info)
{
if (kp3d::editor_hovered_batch)
if (ImGui::Begin("Selection Information", &show_selection_info, ImGuiWindowFlags_AlwaysAutoResize))
{
try {
const auto& info = std::any_cast<kp3d::BatchSectorInfo>(kp3d::editor_hovered_batch->userdata);
if (info.sector)
{
ImGui::SeparatorText("Hierarchy");
ImGui::Text("ID: %u\n", info.sector->id);
ImGui::Text("Parent ID: %u %s\n", info.sector->parent_id, info.sector->parent_id == 0 ? "(N/A)" : "");
ImGui::Text("Children (%u):\n", info.sector->children.size());
ImGui::Indent();
for (const auto& sc : info.sector->children)
ImGui::Text("- ID: %u", sc->id);
ImGui::Unindent();
ImGui::SeparatorText("Properties");
ImGui::InputFloat("Floor height", &info.sector->floor.base_height);
ImGui::InputFloat("Ceiling height", &info.sector->ceiling.base_height);
ImGui::Checkbox("Inverted", &info.sector->inverted);
}
} catch (std::bad_any_cast& e) {
KP3D_LOG_ERROR("Bad any cast: {}", e.what());
if (m_mode == MODE_BUILD)
{
ImGui::Text("No selection");
}
else if (m_mode == MODE_NORMAL)
{
if (kp3d::editor_hovered_batch)
{
try
{
const auto& info = std::any_cast<kp3d::BatchSectorInfo>(kp3d::editor_hovered_batch->userdata);
if (info.sector)
{
ImGui::SeparatorText("Hierarchy");
ImGui::Text("ID: %u\n", info.sector->id);
ImGui::Text("Parent ID: %u %s\n", info.sector->parent_id, info.sector->parent_id == 0 ? "(N/A)" : "");
ImGui::Text("Children (%u):\n", info.sector->children.size());
ImGui::Indent();
for (const auto& sc : info.sector->children)
ImGui::Text("- ID: %u", sc->id);
ImGui::Unindent();
ImGui::SeparatorText("Properties");
ImGui::InputFloat("Floor height", &info.sector->floor.base_height);
ImGui::InputFloat("Ceiling height", &info.sector->ceiling.base_height);
ImGui::Checkbox("Inverted", &info.sector->inverted);
ImGui::SeparatorText("Materials");
ImGui::Text("Floor:");
ImGui::ImageButton((ImTextureID) info.sector->floor.texture->GetGLID(), {128, 128});
ImGui::Text("Ceiling:");
ImGui::ImageButton((ImTextureID)info.sector->ceiling.texture->GetGLID(), { 128, 128 });
}
}
catch (std::bad_any_cast& e)
{
KP3D_LOG_ERROR("Bad any cast: {}", e.what());
}
}
}
}
ImGui::End();
ImGui::End();
}
}
//ImGui::ShowDemoWindow();
}
void Editor::RenderUIInfo()
@ -332,6 +360,26 @@ void Editor::RenderUIInfo()
}
}
void Editor::RenderUIAbout()
{
if (!show_about_view)
return;
if (ImGui::Begin("About KP3Dii", &show_about_view, ImGuiWindowFlags_AlwaysAutoResize))
{
ImGui::Image((ImTextureID)m_banner.GetGLID(), {500.0f, 200.0f});
ImGui::Separator();
ImGui::Text("The swaggiest game engine ever made, you dig?");
ImGui::Text("This map editor needs work. Consider it an ad-hoc release until\nI get time to put something nicer together.");
ImGui::Text(fmt::format("\nVersion {:.{}f} {}", KP3D_VERSION, 1, KP3D_VERSION <= 2.1 ? "(in-dev dist.)" : "").c_str());
ImGui::Text("https://www.kpworld.xyz/");
ImGui::Separator();
ImGui::Text("Copyright (C) kpworld.xyz 2018-2024");
ImGui::End();
}
}
void Editor::OnScrollWheel(const kp3d::ScrollWheelEvent* e)
{
using namespace kp3d;

View file

@ -29,6 +29,7 @@ public:
void RenderUI();
void RenderUIInfo();
void RenderUIAbout();
void OnScrollWheel(const kp3d::ScrollWheelEvent* e);
void OnKeyPress(const kp3d::KeyPressEvent* e);
@ -37,6 +38,7 @@ private:
void RenderLine(kp3d::Vec3 start, kp3d::Vec3 end, kp3d::uint color);
private:
kp3d::Texture m_banner;
kp3d::Texture m_stem;
kp3d::Texture m_block;
kp3d::Vec3 m_stem_pos;
@ -44,6 +46,7 @@ private:
// TODO: Refactor me!
bool show_info_overlay = true;
bool show_selection_info = false;
bool show_about_view = false;
};