aboutsummaryrefslogtreecommitdiff
path: root/assets/interlocking.html.LyXconv
ModeNameSize
-rw-r--r--0_home_moritz_Home_Projekte_Minetest_minetest_m___s_assets_lyx_img_screenshot_20180830_142551.eps2682606logplain
-rw-r--r--0_home_moritz_Home_Projekte_Minetest_minetest_m___s_assets_lyx_img_screenshot_20180830_142551.png257012logplain
-rw-r--r--10_home_moritz_Home_Projekte_Minetest_minetest_____lyx_img_Bildschirmfoto_2019-01-15_19-28-09.png135195logplain
-rw-r--r--11_home_moritz_Home_Projekte_Minetest_minetest_mods_advtrains_assets_lyx_img_arslin_ex1.png32940logplain
-rw-r--r--12_home_moritz_Home_Projekte_Minetest_minetest_mods_advtrains_assets_lyx_img_arslin_ex2.png2205logplain
-rw-r--r--13_home_moritz_Home_Projekte_Minetest_minetest_mods_advtrains_assets_lyx_img_ars_ex1.png65581logplain
-rw-r--r--1_home_moritz_Home_Projekte_Minetest_minetest_m____lyx_img_Bildschirmfoto_2018-08-30_14-26-35.eps5466517logplain
-rw-r--r--1_home_moritz_Home_Projekte_Minetest_minetest_m____lyx_img_Bildschirmfoto_2018-08-30_14-26-35.png392215logplain
-rw-r--r--2_home_moritz_Home_Projekte_Minetest_minetest_m____lyx_img_Bildschirmfoto_2018-08-30_14-32-48.eps4918317logplain
-rw-r--r--2_home_moritz_Home_Projekte_Minetest_minetest_m____lyx_img_Bildschirmfoto_2018-08-30_14-32-48.png467151logplain
-rw-r--r--3_home_moritz_Home_Projekte_Minetest_minetest_m____lyx_img_Bildschirmfoto_2018-08-30_14-27-25.eps1174654logplain
-rw-r--r--3_home_moritz_Home_Projekte_Minetest_minetest_m____lyx_img_Bildschirmfoto_2018-08-30_14-27-25.png58974logplain
-rw-r--r--4_home_moritz_Home_Projekte_Minetest_minetest_m____lyx_img_Bildschirmfoto_2018-08-30_14-28-32.eps2661513logplain
-rw-r--r--4_home_moritz_Home_Projekte_Minetest_minetest_m____lyx_img_Bildschirmfoto_2018-08-30_14-28-32.png180489logplain
-rw-r--r--5_home_moritz_Home_Projekte_Minetest_minetest_m____lyx_img_Bildschirmfoto_2018-08-30_14-51-25.eps3248209logplain
-rw-r--r--5_home_moritz_Home_Projekte_Minetest_minetest_m____lyx_img_Bildschirmfoto_2018-08-30_14-51-25.png298898logplain
-rw-r--r--6_home_moritz_Home_Projekte_Minetest_minetest_mods_advtrains_assets_lyx_img_route_ex1.eps1464284logplain
-rw-r--r--6_home_moritz_Home_Projekte_Minetest_minetest_mods_advtrains_assets_lyx_img_route_ex1.png9681logplain
-rw-r--r--7_home_moritz_Home_Projekte_Minetest_minetest_mods_advtrains_assets_lyx_img_route_ex2.eps978130logplain
-rw-r--r--7_home_moritz_Home_Projekte_Minetest_minetest_mods_advtrains_assets_lyx_img_route_ex2.png9374logplain
-rw-r--r--8_home_moritz_Home_Projekte_Minetest_minetest_mods_advtrains_assets_lyx_img_assign_signal.eps2172408logplain
-rw-r--r--8_home_moritz_Home_Projekte_Minetest_minetest_mods_advtrains_assets_lyx_img_assign_signal.png117671logplain
-rw-r--r--9_home_moritz_Home_Projekte_Minetest_minetest_mods_advtrains_assets_lyx_img_route_ex3.eps1464284logplain
-rw-r--r--9_home_moritz_Home_Projekte_Minetest_minetest_mods_advtrains_assets_lyx_img_route_ex3.png11544logplain
-rw-r--r--interlocking.4ct3495logplain
-rw-r--r--interlocking.4tc3488logplain
-rw-r--r--interlocking.aux161logplain
-rw-r--r--interlocking.css5231logplain
-rw-r--r--interlocking.dvi65604logplain
-rw-r--r--interlocking.html49002logplain
-rw-r--r--interlocking.idv569logplain
-rw-r--r--interlocking.lg8797logplain
-rw-r--r--interlocking.log25353logplain
-rw-r--r--interlocking.pdf1419828logplain
-rw-r--r--interlocking.tex33953logplain
-rw-r--r--interlocking.tex.dep513logplain
-rw-r--r--interlocking.tex.dep-pdf5787logplain
-rw-r--r--interlocking.tmp15logplain
-rw-r--r--interlocking.xref2190logplain
hl kwb">bool set_changed); /* Remove all objects that satisfy (m_removed && m_known_by_count==0) */ void removeRemovedObjects(); /* Convert stored objects from block to active */ void activateObjects(MapBlock *block); /* Convert objects that are not in active blocks to static. If m_known_by_count != 0, active object is not deleted, but static data is still updated. If force_delete is set, active object is deleted nevertheless. It shall only be set so in the destructor of the environment. */ void deactivateFarObjects(bool force_delete); /* Member variables */ // The map ServerMap *m_map; // Pointer to server (which is handling this environment) Server *m_server; // Active object list core::map<u16, ServerActiveObject*> m_active_objects; // Outgoing network message buffer for active objects Queue<ActiveObjectMessage> m_active_object_messages; // Some timers float m_random_spawn_timer; // used for experimental code float m_send_recommended_timer; IntervalLimiter m_object_management_interval; // List of active blocks ActiveBlockList m_active_blocks; IntervalLimiter m_active_blocks_management_interval; IntervalLimiter m_active_blocks_test_interval; IntervalLimiter m_active_blocks_nodemetadata_interval; // Time from the beginning of the game in seconds. // Incremented in step(). u32 m_game_time; // A helper variable for incrementing the latter float m_game_time_fraction_counter; }; /* Active block modifier interface. These are fed into ServerEnvironment at initialization time; ServerEnvironment handles deleting them. */ class ActiveBlockModifier { public: ActiveBlockModifier(){}; virtual ~ActiveBlockModifier(){}; //virtual core::list<u8> update(ServerEnvironment *env) = 0; virtual u32 getTriggerContentCount(){ return 1;} virtual u8 getTriggerContent(u32 i) = 0; virtual float getActiveInterval() = 0; // chance of (1 / return value), 0 is disallowed virtual u32 getActiveChance() = 0; // This is called usually at interval for 1/chance of the nodes virtual void triggerEvent(ServerEnvironment *env, v3s16 p) = 0; }; #ifndef SERVER #include "clientobject.h" /* The client-side environment. This is not thread-safe. Must be called from main (irrlicht) thread (uses the SceneManager) Client uses an environment mutex. */ enum ClientEnvEventType { CEE_NONE, CEE_PLAYER_DAMAGE }; struct ClientEnvEvent { ClientEnvEventType type; union { struct{ } none; struct{ u8 amount; } player_damage; }; }; class ClientEnvironment : public Environment { public: ClientEnvironment(ClientMap *map, scene::ISceneManager *smgr); ~ClientEnvironment(); Map & getMap() { return *m_map; } ClientMap & getClientMap() { return *m_map; } void step(f32 dtime); virtual void addPlayer(Player *player); LocalPlayer * getLocalPlayer(); void updateMeshes(v3s16 blockpos); void expireMeshes(bool only_daynight_diffed); void setTimeOfDay(u32 time) { u32 old_dr = getDayNightRatio(); Environment::setTimeOfDay(time); if(getDayNightRatio() != old_dr) { dout_client<<DTIME<<"ClientEnvironment: DayNightRatio changed" <<" -> expiring meshes"<<std::endl; expireMeshes(true); } } /* ActiveObjects */ ClientActiveObject* getActiveObject(u16 id); /* Adds an active object to the environment. Environment handles deletion of object. Object may be deleted by environment immediately. If id of object is 0, assigns a free id to it. Returns the id of the object. Returns 0 if not added and thus deleted. */ u16 addActiveObject(ClientActiveObject *object); void addActiveObject(u16 id, u8 type, const std::string &init_data); void removeActiveObject(u16 id); void processActiveObjectMessage(u16 id, const std::string &data); /* Callbacks for activeobjects */ void damageLocalPlayer(u8 damage); /* Client likes to call these */ // Get all nearby objects void getActiveObjects(v3f origin, f32 max_d, core::array<DistanceSortedActiveObject> &dest); // Get event from queue. CEE_NONE is returned if queue is empty. ClientEnvEvent getClientEvent(); // Post effects void drawPostFx(video::IVideoDriver* driver, v3f camera_pos); private: ClientMap *m_map; scene::ISceneManager *m_smgr; core::map<u16, ClientActiveObject*> m_active_objects; Queue<ClientEnvEvent> m_client_event_queue; IntervalLimiter m_active_object_light_update_interval; IntervalLimiter m_lava_hurt_interval; }; #endif #endif