39 #if !defined(CPPPARSER) && !defined(LINK_ALL_STATIC) && !defined(BUILDING_PANDA_EXPRESS) 40 #error Buildsystem error: BUILDING_PANDA_EXPRESS not defined 43 ConfigureDef(config_express);
44 NotifyCategoryDef(express,
"");
45 NotifyCategoryDef(clock,
":express");
47 ConfigureFn(config_express) {
52 (
"patchfile-window-size", 16);
55 (
"patchfile-increment-size", 8);
58 (
"patchfile-buffer-size", 4096);
61 (
"patchfile-zone-size", 10000);
64 (
"keep-temporary-files",
false,
65 PRC_DESC(
"Set this true to keep around the temporary files from " 66 "downloading, decompressing, and patching, or false (the " 67 "default) to delete these. Mainly useful for debugging " 68 "when the process goes wrong."));
71 (
"multifile-always-binary",
false,
72 PRC_DESC(
"This is a temporary transition variable. Set this true " 73 "to enable the old behavior for multifiles: all subfiles are " 74 "always added to and extracted from the multifile in binary mode. " 75 "Set it false to enable the new behavior: subfiles may be added " 76 "or extracted in either binary or text mode, according to the " 77 "set_binary() or set_text() flag on the Filename."));
80 (
"collect-tcp",
false,
81 PRC_DESC(
"Set this true to enable accumulation of several small consecutive " 82 "TCP datagrams into one large datagram before sending it, to reduce " 83 "overhead from the TCP/IP protocol. See " 84 "Connection::set_collect_tcp() or SocketStream::set_collect_tcp()."));
87 (
"collect-tcp-interval", 0.2);
97 static bool initialized =
false;
103 Datagram::init_type();
104 DatagramIterator::init_type();
105 Namable::init_type();
106 NodeReferenceCount::init_type();
107 ReferenceCount::init_type();
109 TypedReferenceCount::init_type();
110 VirtualFile::init_type();
111 VirtualFileComposite::init_type();
112 VirtualFileMount::init_type();
114 VirtualFileMountAndroidAsset::init_type();
116 VirtualFileMountMultifile::init_type();
117 VirtualFileMountRamdisk::init_type();
118 VirtualFileMountSystem::init_type();
119 VirtualFileSimple::init_type();
120 FileReference::init_type();
121 TemporaryFile::init_type();
123 init_system_type_handles();
134 nassertv(
sizeof(int8_t) == 1 &&
sizeof(uint8_t) == 1);
135 nassertv(
sizeof(int16_t) == 2 &&
sizeof(uint16_t) == 2);
136 nassertv(
sizeof(int32_t) == 4 &&
sizeof(uint32_t) == 4);
137 nassertv(
sizeof(int64_t) == 8 &&
sizeof(uint64_t) == 8);
138 nassertv(
sizeof(PN_float32) == 4);
139 nassertv(
sizeof(PN_float64) == 8);
143 memcpy(&word,
"\1\2\3\4", 4);
144 #ifdef WORDS_BIGENDIAN 145 nassertv(word == 0x01020304);
147 nassertv(word == 0x04030201);
152 get_use_high_res_clock() {
155 if (use_high_res_clock ==
nullptr) {
157 (
"use-high-res-clock",
true,
158 PRC_DESC(
"Set this to false to avoid using the high-precision clock, even if " 159 "it is available."));
162 return *use_high_res_clock;
166 get_paranoid_clock() {
169 if (paranoid_clock ==
nullptr) {
171 (
"paranoid-clock",
false,
172 PRC_DESC(
"Set this to true to double-check the results of the high-resolution " 173 "clock against the system clock."));
176 return *paranoid_clock;
183 if (verify_dcast ==
nullptr) {
185 (
"verify-dcast",
true,
186 PRC_DESC(
"Set this to true to verify that every attempted DCAST operation in " 187 "fact references the correct type, or false otherwise. This has no " 188 "effect if NDEBUG is defined, in which case it is never tested."));
191 return *verify_dcast;
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
static PandaSystem * get_global_ptr()
Returns the global PandaSystem object.
static void init_type()
This function is declared non-inline to work around a compiler bug in g++ 2.96.
This class is used as a namespace to group several global properties of Panda.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
This is a convenience class to specialize ConfigVariable as a boolean type.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
void init_libexpress()
Initializes the library.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
This is a convenience class to specialize ConfigVariable as a floating- point type.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
void add_system(const std::string &system)
Intended for use by each subsystem to register itself at startup.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
This is a convenience class to specialize ConfigVariable as an integer type.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.