#include "basic_macros.h"
#include "constants.h"
#include "irrlichttypes.h"
#include "irr_v2d.h"
#include "irr_v3d.h"
#include "irr_aabb3d.h"
#include "SColor.h"
#include <matrix4.h>
#include <cmath>
#include <algorithm>
Go to the source code of this file.
Classes | |
struct | MeshGrid |
Describes a grid with given step, oirginating at (0,0,0) More... | |
struct | MyRandGenerator |
class | IntervalLimiter |
Macros | |
#define | rangelim(d, min, max) ((d) < (min) ? (min) : ((d) > (max) ? (max) : (d))) |
#define | myfloor(x) ((x) < 0.0 ? (int)(x) - 1 : (int)(x)) |
#define | SWAP(t, x, y) |
#define | MYRAND_RANGE 0xffffffff |
Functions | |
s16 | getContainerPos (s16 p, s16 d) |
v2s16 | getContainerPos (v2s16 p, s16 d) |
v3s16 | getContainerPos (v3s16 p, s16 d) |
v2s16 | getContainerPos (v2s16 p, v2s16 d) |
v3s16 | getContainerPos (v3s16 p, v3s16 d) |
void | getContainerPosWithOffset (s16 p, s16 d, s16 &container, s16 &offset) |
void | getContainerPosWithOffset (const v2s16 &p, s16 d, v2s16 &container, v2s16 &offset) |
void | getContainerPosWithOffset (const v3s16 &p, s16 d, v3s16 &container, v3s16 &offset) |
bool | isInArea (v3s16 p, s16 d) |
bool | isInArea (v2s16 p, s16 d) |
bool | isInArea (v3s16 p, v3s16 d) |
void | sortBoxVerticies (v3s16 &p1, v3s16 &p2) |
v3s16 | componentwise_min (const v3s16 &a, const v3s16 &b) |
v3s16 | componentwise_max (const v3s16 &a, const v3s16 &b) |
float | modulo360f (float f) |
Returns f wrapped to the range [-360, 360]. | |
float | wrapDegrees_0_360 (float f) |
Returns f wrapped to the range [0, 360]. | |
v3f | wrapDegrees_0_360_v3f (v3f v) |
Returns v3f wrapped to the range [0, 360]. | |
float | wrapDegrees_180 (float f) |
Returns f wrapped to the range [-180, 180]. | |
u32 | myrand () |
void | mysrand (unsigned int seed) |
void | myrand_bytes (void *out, size_t len) |
int | myrand_range (int min, int max) |
float | myrand_range (float min, float max) |
float | myrand_float () |
u32 | get_bits (u32 x, u32 pos, u32 len) |
void | set_bits (u32 *x, u32 pos, u32 len, u32 val) |
u32 | calc_parity (u32 v) |
u64 | murmur_hash_64_ua (const void *key, int len, unsigned int seed) |
bool | isBlockInSight (v3s16 blockpos_b, v3f camera_pos, v3f camera_dir, f32 camera_fov, f32 range, f32 *distance_ptr=NULL) |
s16 | adjustDist (s16 dist, float zoom_fov) |
s32 | myround (f32 f) |
constexpr f32 | sqr (f32 f) |
v3s16 | floatToInt (v3f p, f32 d) |
v3s16 | doubleToInt (v3d p, double d) |
v3f | intToFloat (v3s16 p, f32 d) |
aabb3f | getNodeBox (v3s16 p, float d) |
void | paging (u32 length, u32 page, u32 pagecount, u32 &minindex, u32 &maxindex) |
float | cycle_shift (float value, float by=0, float max=1) |
bool | is_power_of_two (u32 n) |
u32 | npot2 (u32 orig) |
template<typename T > | |
unsigned | wrappedDifference (T a, T b, const T maximum) |
template<typename T > | |
void | wrappedApproachShortest (T ¤t, const T target, const T stepsize, const T maximum) |
void | setPitchYawRollRad (core::matrix4 &m, v3f rot) |
void | setPitchYawRoll (core::matrix4 &m, v3f rot) |
v3f | getPitchYawRollRad (const core::matrix4 &m) |
v3f | getPitchYawRoll (const core::matrix4 &m) |
irr::video::SColor | multiplyColorValue (const irr::video::SColor &color, float mod) |
template<typename T > | |
T | numericAbsolute (T v) |
template<typename T > | |
T | numericSign (T v) |
v3f | vecAbsolute (v3f v) |
v3f | vecSign (v3f v) |
Variables | |
static constexpr const f32 | BLOCK_MAX_RADIUS = 0.866025403784f * MAP_BLOCKSIZE * BS |
#define myfloor | ( | x | ) | ((x) < 0.0 ? (int)(x) - 1 : (int)(x)) |
Referenced by noise2d_gradient(), and noise3d_gradient().
#define MYRAND_RANGE 0xffffffff |
Referenced by MyRandGenerator::max().
#define rangelim | ( | d, | |
min, | |||
max ) ((d) < (min) ? (min) : ((d) > (max) ? (max) : (d))) |
Referenced by EmergeManager::EmergeManager(), GUIChatConsole::GUIChatConsole(), Hud::Hud(), MeshUpdateManager::MeshUpdateManager(), MeshUpdateWorkerThread::MeshUpdateWorkerThread(), ServerMap::ServerMap(), Sky::Sky(), Camera::addArmInertia(), ChatBackend::applySettings(), MapgenV6::baseTerrainLevel(), MapgenV7::baseTerrainLevelAtPoint(), MapgenV7::baseTerrainLevelFromMap(), ServerMap::blockpos_over_mapgen_limit(), ClientLauncher::config_guienv(), RenderingEngine::draw_load_screen(), Hud::drawBlockBounds(), Map::forEachNodeInArea(), get_mapgen_edges(), Settings::getFloat(), getHitParams(), getInteriorLight(), MapblockMeshGenerator::getLiquidNeighborhood(), RemoteClient::GetNextBlocks(), Server::getProtocolVersionMin(), getSmoothLightCombined(), Game::handleClientEvent_PlayerDamage(), Game::handleClientEvent_SetSky(), imageScaleNNAA(), GameUI::init(), FontEngine::initFont(), ObjectRef::l_set_eye_offset(), ObjectRef::l_set_lighting(), ObjectRef::l_set_minimap_modes(), ObjectRef::l_set_sky(), CavesRandomWalk::makeCave(), CavesV6::makeCave(), LocalPlayer::move(), LocalPlayer::old_move(), GUITable::OnEvent(), JoystickController::onJoystickConnect(), ParsedText::parseTag(), read_item_definition(), read_object_properties(), MapgenParams::readParams(), Clouds::readSettings(), FontEngine::readSettings(), Game::readSettings(), Server::SendBlockNoLock(), ToolCapabilities::serialize(), Sky::setBodyOrbitTilt(), PlayerSAO::setBreath(), LuaEntitySAO::setHP(), PlayerSAO::setHP(), con::Channel::setWindowSize(), sound_volume_control(), Camera::update(), Sky::update(), and Game::updateCameraOrientation().
#define SWAP | ( | t, | |
x, | |||
y ) |
Referenced by Schematic::blitToVManip(), OrePuff::generate(), imageScaleNNAA(), sortBoxVerticies(), TestRandom::testPcgRandomRange(), and TestRandom::testPseudoRandomRange().
s16 adjustDist | ( | s16 | dist, |
float | zoom_fov ) |
|
inline |
Referenced by ObjDefManager::createHandle(), and ObjDefManager::decodeHandle().
References MYMAX.
Referenced by MinimapUpdateThread::getMap().
References MYMIN.
Referenced by MinimapUpdateThread::getMap().
|
inline |
References p().
Referenced by check_v3s16(), ModApiEnv::l_get_node_raw(), and read_v3s16().
References p().
Referenced by SmokePuffCSO::SmokePuffCSO(), voxalgo::VoxelLineIterator::VoxelLineIterator(), ServerEnvironment::addActiveObjectRaw(), collision_check_intersection(), collisionMoveSimple(), Environment::continueRaycast(), Client::CSMClampPos(), Client::CSMClampRadius(), Client::CSMGetNode(), ServerEnvironment::deactivateFarObjects(), ClientMap::getBackgroundBrightness(), LuaEntitySAO::getDescription(), LocalPlayer::getFootstepNodePos(), GenericCAO::getLightPosition(), LocalPlayer::getLightPosition(), RemoteClient::GetNextBlocks(), getVisibleBrightness(), LocalPlayer::handleAutojump(), Map::isOccluded(), LocalPlayer::move(), Game::nodePlacement(), LocalPlayer::old_move(), ClientMap::renderPostFx(), Server::sendMetadataChanged(), GenericCAO::step(), PlayerSAO::step(), TestSAO::testActivate(), TestSAO::testNotSaved(), TestSAO::testStaticSave(), TestSAO::testStaticToFalse(), TestSAO::testStaticToTrue(), TestVoxelAlgorithms::testVoxelLineIterator(), ClientMap::touchMapBlocks(), ActiveBlockList::update(), Camera::update(), Minimap::updateActiveMarkers(), ClientMap::updateCamera(), ClientMap::updateDrawList(), Game::updateFrame(), Game::updatePointedThing(), and LocalPlayer::updateSneakNode().
|
inline |
|
inline |
References p().
Referenced by RollbackAction::applyRevert(), AreaStore::getAreasForPos(), getContainerPos(), getContainerPos(), getContainerPos(), getContainerPos(), EmergeManager::getContainingChunk(), getNodeBlockPos(), ModApiEnv::l_fix_light(), ClientMap::updateCamera(), and ClientMap::updateDrawList().
|
inline |
References p().
Referenced by getContainerPosWithOffset(), getContainerPosWithOffset(), and getNodeBlockPosWithOffset().
References p().
Referenced by add_area_node_boxes().
|
inline |
References getPitchYawRollRad().
Referenced by roundTripsDeg(), and TestUtilities::testEulerConversion().
v3f getPitchYawRollRad | ( | const core::matrix4 & | m | ) |
Referenced by getPitchYawRoll(), and TestUtilities::testEulerConversion().
References p().
Referenced by MapBlockMesh::MapBlockMesh(), add_area_node_boxes(), Hud::calculateScreenPos(), Environment::continueRaycast(), Hud::drawBlockBounds(), MapblockMeshGenerator::drawNode(), MapblockMeshGenerator::drawSolidNode(), Server::findSpawnPos(), Camera::getFrustumCuller(), GenericCAO::getPosition(), RollbackManager::getSuspectNearness(), Server::handleCommand_Interact(), Server::handleCommand_InventoryAction(), Map::isOccluded(), LocalPlayer::move(), LocalPlayer::old_move(), GameGlobalShaderConstantSetter::onSetConstants(), Game::processPlayerInteraction(), Clouds::render(), ClientMap::renderMap(), ClientMap::renderMapShadows(), Server::sendAddNode(), Server::sendRemoveNode(), Hud::setSelectionPos(), TestVoxelAlgorithms::testVoxelLineIterator(), ClientMap::touchMapBlocks(), Camera::update(), DirectionalLight::update_frustum(), Minimap::updateActiveMarkers(), GenericCAO::updateAttachments(), ClientMap::updateDrawList(), ClientMap::updateDrawListShadow(), GenericCAO::updateNodePos(), Game::updatePointedThing(), LocalPlayer::updateSneakNode(), Game::updateSound(), MapBlockMesh::updateTransparentBuffers(), ClientMap::updateTransparentMeshBuffers(), and Particle::updateVertices().
|
inline |
Referenced by ExtrusionMeshCache::create(), and TestUtilities::testIsPowerOfTwo().
bool isBlockInSight | ( | v3s16 | blockpos_b, |
v3f | camera_pos, | ||
v3f | camera_dir, | ||
f32 | camera_fov, | ||
f32 | range, | ||
f32 * | distance_ptr = NULL ) |
References BLOCK_MAX_RADIUS, BS, MAP_BLOCKSIZE, and MYMAX.
Referenced by fillViewConeBlock(), RemoteClient::GetNextBlocks(), and TestUtilities::testIsBlockInSight().
|
inline |
Returns f
wrapped to the range [-360, 360].
See test.cpp for example cases.
Referenced by Server::process_PlayerPos(), GenericCAO::step(), LuaEntitySAO::step(), TestUtilities::testAngleWrapAround(), wrapDegrees_0_360(), wrapDegrees_0_360_v3f(), and wrapDegrees_180().
|
inline |
u64 murmur_hash_64_ua | ( | const void * | key, |
int | len, | ||
unsigned int | seed ) |
Referenced by check_field_or_nil(), getHashForString(), ModApiBase::l_deprecated_function(), logOnce(), read_seed(), and script_log_unique().
u32 myrand | ( | ) |
References g_pcgrand, and PcgRandom::next().
Referenced by Sky::Sky(), ObjDefManager::addRaw(), ScriptApiServer::allocateDynamicMediaCallback(), ISoundManager::allocateId(), ABMHandler::apply(), ImageSource::generateImagePart(), sound::OpenALSoundManager::getLoadedSoundNameFromGroup(), TestBase::getTestTempFile(), MyRandGenerator::operator()(), MapgenV6::placeTreesAndJungleGrass(), RandomInputHandler::Rand(), and UDPSocket::Send().
void myrand_bytes | ( | void * | out, |
size_t | len ) |
References PcgRandom::bytes(), and g_pcgrand.
Referenced by MapgenParams::readParams().
float myrand_float | ( | ) |
References g_pcgrand, PcgRandom::next(), and U32_MAX.
Referenced by ParticleSpawner::ParticleSpawner(), myrand_range(), ParticleParamTypes::RangedParameter< T >::pickWithin(), and ParticleSpawner::step().
float myrand_range | ( | float | min, |
float | max ) |
int myrand_range | ( | int | min, |
int | max ) |
References g_pcgrand, and PcgRandom::range().
Referenced by ABMWithState::ABMWithState(), ParticleManager::addNodeParticle(), MapBlockMesh::animate(), benchGetObjectsInArea(), ParticleParamTypes::TweenedParameter< T >::blend(), Schematic::blitToVManip(), con::Connection::createPeer(), Server::findSpawnPos(), ClientMap::getBackgroundBrightness(), ParticleManager::getNodeParticleParams(), Map::isBlockOccluded(), ClientLauncher::launch_game(), Schematic::placeOnMap(), Schematic::placeOnVManip(), MapgenV6::placeTreesAndJungleGrass(), and ParticleSpawner::spawnParticle().
|
inline |
Referenced by GUIChatConsole::GUIChatConsole(), Hud::Hud(), Server::ShutdownState::getShutdownTimerMessage(), GUIChatConsole::OnEvent(), Game::processKeyInput(), PcgRandom::randNormalDist(), GUIFormSpecMenu::regenerateGui(), Server::requestShutdown(), ParsedText::Element::setStyle(), GUITable::setTable(), TestUtilities::testMyround(), TestRandom::testPcgRandomNormalDist(), treegen::tree_fruit_placement(), treegen::tree_leaves_placement(), treegen::tree_single_leaves_placement(), and treegen::tree_trunk_placement().
void mysrand | ( | unsigned int | seed | ) |
References g_pcgrand, and PcgRandom::seed().
Referenced by init_common().
|
inline |
Referenced by Align2Npot2(), createInventoryCubeImage(), and guiScalingResizeCached().
|
inline |
Referenced by ParticleParamTypes::RangedParameter< T >::pickWithin(), ParticleSpawner::spawnParticle(), and vecAbsolute().
|
inline |
Referenced by ParticleSpawner::spawnParticle(), and vecSign().
|
inline |
|
inline |
Referenced by ObjDefManager::createHandle(), and ObjDefManager::decodeHandle().
|
inline |
References setPitchYawRollRad().
Referenced by UnitSAO::getTotalRotation(), roundTripsDeg(), TestUtilities::testEulerConversion(), and GenericCAO::updateNodePos().
void setPitchYawRollRad | ( | core::matrix4 & | m, |
v3f | rot ) |
Referenced by setPitchYawRoll(), and TestUtilities::testEulerConversion().
References SWAP.
Referenced by Area::Area(), Map::findNodesWithMetadata(), LuaVoxelManip::l_calc_lighting(), ModApiMapgen::l_create_schematic(), ModApiEnv::l_delete_area(), ModApiEnv::l_emerge_area(), ModApiEnv::l_find_nodes_in_area(), ModApiEnvVM::l_find_nodes_in_area(), ModApiEnv::l_find_nodes_in_area_under_air(), ModApiEnvVM::l_find_nodes_in_area_under_air(), ModApiMapgen::l_generate_decorations(), ModApiMapgen::l_generate_ores(), LuaAreaStore::l_get_areas_in_area(), ModApiEnv::l_load_area(), LuaVoxelManip::l_read_from_map(), and LuaVoxelManip::l_set_lighting().
|
inlineconstexpr |
References numericAbsolute().
Referenced by Particle::step().
References numericSign().
Referenced by Particle::step().
|
inline |
Returns f
wrapped to the range [0, 360].
References modulo360f().
Referenced by Server::process_PlayerPos(), GenericCAO::step(), LuaEntitySAO::step(), TestUtilities::testAngleWrapAround(), GameUI::update(), Sky::update(), and yawToDirectionString().
Returns v3f
wrapped to the range [0, 360].
References modulo360f().
Referenced by GenericCAO::processInitData(), GenericCAO::processMessage(), and TestUtilities::testWrapDegrees_0_360_v3f().
|
inline |
Returns f
wrapped to the range [-180, 180].
References modulo360f().
Referenced by TestUtilities::testAngleWrapAround(), GameUI::update(), and GenericCAO::updateTexturePos().
|
inline |
Referenced by GenericCAO::step(), LuaEntitySAO::step(), SmoothTranslatorWrapped::translate(), and SmoothTranslatorWrappedv3f::translate().
|
inline |
|
staticconstexpr |
Referenced by isBlockInSight().