diff options
Diffstat (limited to 'main')
-rw-r--r-- | main/main.cpp | 23 | ||||
-rw-r--r-- | main/performance.cpp | 25 | ||||
-rw-r--r-- | main/performance.h | 6 |
3 files changed, 53 insertions, 1 deletions
diff --git a/main/main.cpp b/main/main.cpp index f5b5953ff4..5b1782815e 100644 --- a/main/main.cpp +++ b/main/main.cpp @@ -57,6 +57,7 @@ #include "tools/editor/editor_node.h" #include "tools/editor/project_manager.h" #include "tools/editor/console.h" +#include "tools/pck/pck_packer.h" #endif #include "io/file_access_network.h" @@ -225,6 +226,7 @@ Error Main::setup(const char *execpath,int argc, char *argv[],bool p_second_phas String debug_mode; String debug_host; String main_pack; + bool quiet_stdout=false; int rtm=-1; String remotefs; @@ -373,6 +375,9 @@ Error Main::setup(const char *execpath,int argc, char *argv[],bool p_second_phas } else if (I->get()=="-nowindow") { // fullscreen OS::get_singleton()->set_no_window_mode(true); + } else if (I->get()=="-quiet") { // fullscreen + + quiet_stdout=true; } else if (I->get()=="-v") { // fullscreen OS::get_singleton()->_verbose_stdout=true; } else if (I->get()=="-path") { // resolution @@ -570,6 +575,13 @@ Error Main::setup(const char *execpath,int argc, char *argv[],bool p_second_phas use_custom_res=false; } + if (bool(Globals::get_singleton()->get("application/disable_stdout"))) { + quiet_stdout=true; + } + + if (quiet_stdout) + _print_line_enabled=false; + OS::get_singleton()->set_cmdline(execpath, main_args); #ifdef TOOLS_ENABLED @@ -593,12 +605,22 @@ Error Main::setup(const char *execpath,int argc, char *argv[],bool p_second_phas if (use_custom_res && globals->has("display/resizable")) video_mode.resizable=globals->get("display/resizable"); + if (!force_res && use_custom_res && globals->has("display/test_width") && globals->has("display/test_height")) { + int tw = globals->get("display/test_width"); + int th = globals->get("display/test_height"); + if (tw>0 && th>0) { + video_mode.width=tw; + video_mode.height=th; + } + } GLOBAL_DEF("display/width",video_mode.width); GLOBAL_DEF("display/height",video_mode.height); GLOBAL_DEF("display/fullscreen",video_mode.fullscreen); GLOBAL_DEF("display/resizable",video_mode.resizable); + GLOBAL_DEF("display/test_width",0); + GLOBAL_DEF("display/test_height",0); if (rtm==-1) { rtm=GLOBAL_DEF("render/thread_model",OS::RENDER_THREAD_SAFE); } @@ -777,6 +799,7 @@ Error Main::setup2() { #ifdef TOOLS_ENABLED EditorNode::register_editor_types(); + ObjectTypeDB::register_type<PCKPacker>(); // todo: move somewhere else #endif MAIN_PRINT("Main: Load Scripts, Modules, Drivers"); diff --git a/main/performance.cpp b/main/performance.cpp index 81db7ae1fa..9999cc0ae0 100644 --- a/main/performance.cpp +++ b/main/performance.cpp @@ -29,6 +29,8 @@ #include "performance.h" #include "os/os.h" #include "servers/visual_server.h" +#include "servers/physics_2d_server.h" +#include "servers/physics_server.h" #include "message_queue.h" #include "scene/main/scene_main_loop.h" Performance *Performance::singleton=NULL; @@ -61,6 +63,13 @@ void Performance::_bind_methods() { BIND_CONSTANT( RENDER_VIDEO_MEM_USED ); BIND_CONSTANT( RENDER_TEXTURE_MEM_USED ); BIND_CONSTANT( RENDER_VERTEX_MEM_USED ); + BIND_CONSTANT( PHYSICS_2D_ACTIVE_OBJECTS ); + BIND_CONSTANT( PHYSICS_2D_COLLISION_PAIRS ); + BIND_CONSTANT( PHYSICS_2D_ISLAND_COUNT ); + BIND_CONSTANT( PHYSICS_3D_ACTIVE_OBJECTS ); + BIND_CONSTANT( PHYSICS_3D_COLLISION_PAIRS ); + BIND_CONSTANT( PHYSICS_3D_ISLAND_COUNT ); + BIND_CONSTANT( MONITOR_MAX ); } @@ -90,7 +99,14 @@ String Performance::get_monitor_name(Monitor p_monitor) const { "video/video_mem", "video/texure_mem", "video/vertex_mem", - "render/mem_max" + "video/video_mem_max", + "physics_2d/active_objects", + "physics_2d/collision_pairs", + "physics_2d/islands", + "physics_3d/active_objects", + "physics_3d/collision_pairs", + "physics_3d/islands", + }; return names[p_monitor]; @@ -133,6 +149,13 @@ float Performance::get_monitor(Monitor p_monitor) const { case RENDER_TEXTURE_MEM_USED: return VS::get_singleton()->get_render_info(VS::INFO_TEXTURE_MEM_USED); case RENDER_VERTEX_MEM_USED: return VS::get_singleton()->get_render_info(VS::INFO_VERTEX_MEM_USED); case RENDER_USAGE_VIDEO_MEM_TOTAL: return VS::get_singleton()->get_render_info(VS::INFO_USAGE_VIDEO_MEM_TOTAL); + case PHYSICS_2D_ACTIVE_OBJECTS: return Physics2DServer::get_singleton()->get_process_info(Physics2DServer::INFO_ACTIVE_OBJECTS); + case PHYSICS_2D_COLLISION_PAIRS: return Physics2DServer::get_singleton()->get_process_info(Physics2DServer::INFO_COLLISION_PAIRS); + case PHYSICS_2D_ISLAND_COUNT: return Physics2DServer::get_singleton()->get_process_info(Physics2DServer::INFO_ISLAND_COUNT); + case PHYSICS_3D_ACTIVE_OBJECTS: return PhysicsServer::get_singleton()->get_process_info(PhysicsServer::INFO_ACTIVE_OBJECTS); + case PHYSICS_3D_COLLISION_PAIRS: return PhysicsServer::get_singleton()->get_process_info(PhysicsServer::INFO_COLLISION_PAIRS); + case PHYSICS_3D_ISLAND_COUNT: return PhysicsServer::get_singleton()->get_process_info(PhysicsServer::INFO_ISLAND_COUNT); + default: {} } diff --git a/main/performance.h b/main/performance.h index db453d0156..1879ba39eb 100644 --- a/main/performance.h +++ b/main/performance.h @@ -69,6 +69,12 @@ public: RENDER_TEXTURE_MEM_USED, RENDER_VERTEX_MEM_USED, RENDER_USAGE_VIDEO_MEM_TOTAL, + PHYSICS_2D_ACTIVE_OBJECTS, + PHYSICS_2D_COLLISION_PAIRS, + PHYSICS_2D_ISLAND_COUNT, + PHYSICS_3D_ACTIVE_OBJECTS, + PHYSICS_3D_COLLISION_PAIRS, + PHYSICS_3D_ISLAND_COUNT, //physics MONITOR_MAX }; |