]> git.localhorst.tv Git - blank.git/commitdiff
some cleaning :)
authorDaniel Karbach <daniel.karbach@localhorst.tv>
Mon, 15 Jun 2015 10:30:34 +0000 (12:30 +0200)
committerDaniel Karbach <daniel.karbach@localhorst.tv>
Mon, 15 Jun 2015 10:30:34 +0000 (12:30 +0200)
TODO
src/app/Application.hpp
src/app/FPSController.hpp
src/app/IntervalTimer.hpp
src/app/RandomWalk.hpp
src/app/Runtime.hpp
src/world/Chunk.hpp

diff --git a/TODO b/TODO
index 8ee6ef25c4a9753a1927abd55b75d19e50a57f35..7b481da14cf911a5362da38245173d55141a5c3f 100644 (file)
--- a/TODO
+++ b/TODO
@@ -68,7 +68,7 @@ chunk traversal
        all chunks by position, possibly base-relative
 
        profiling indicates that this is not neccessary atm. maybe it will
-       when some more action is in the world
+       when there's some more action in the world
 
 transparency (blocks and entities)
 
index c8236ffbf27a72281364c87a69454103845a358a..99f0dc4fbad0b168249c20e18fc97797a19524ad 100644 (file)
@@ -31,6 +31,7 @@ public:
 
        /// run until user quits
        void Run();
+       /// evaluate a single frame of dt milliseconds
        void Loop(int dt);
 
        /// run for n frames
@@ -40,8 +41,11 @@ public:
        /// run for n frames, assuming t milliseconds for each
        void RunS(size_t n, size_t t);
 
+       /// process all events in SDL's queue
        void HandleEvents();
+       /// integrate to the next step with dt milliseconds passed
        void Update(int dt);
+       /// push the current state to display
        void Render();
 
        static Entity &MakeTestEntity(World &);
index 88dca64e01d8bbf8872c0f68d2c128a12550b0e7..01c745120d579aa209efc550987be912facc3e10 100644 (file)
@@ -9,13 +9,19 @@
 
 namespace blank {
 
+/// Sets entity rotation and velocity according to stored velocity
+/// and pitch/yaw components.
+/// Rotation is applied in yaw,pitch order (YX). Velocity is relative
+/// to yaw only (Y axis).
 class FPSController {
 
 public:
        explicit FPSController(Entity &) noexcept;
 
+       /// get position and face direction of controlled entity
        Ray Aim() const noexcept { return entity.Aim(entity.ChunkCoords()); }
 
+       /// velocity, relative to heading (yaw only)
        const glm::vec3 &Velocity() const noexcept { return velocity; }
        void Velocity(const glm::vec3 &vel) noexcept { velocity = vel; }
 
index e5d02481e676d9c618388b626b9931f8caf6fc5a..0d6790be20850ebfb9276fc62f88b09408793917 100644 (file)
@@ -4,9 +4,15 @@
 
 namespace blank {
 
+/// Timer that hits every n milliseconds. Resolution is that of the
+/// delta values passed to Update(), minimum 1ms.
+/// Also tracks the number of iterations as well as milliseconds
+/// passed.
 class IntervalTimer {
 
 public:
+       /// Create a timer that hits every interval_ms milliseconds.
+       /// Initial state is stopped.
        explicit IntervalTimer(int interval_ms) noexcept
        : intv(interval_ms) { }
 
@@ -21,6 +27,7 @@ public:
        bool Running() const noexcept {
                return speed != 0;
        }
+       /// true if an interval boundary was passed by the last call to Update()
        bool Hit() const noexcept {
                return Running() && value % intv < last_dt;
        }
index 5660ab36390eaf79e113f7b441bb211a27d2a1a0..0a61974fb2281c03b65ed4e9f6c363782bf44cad 100644 (file)
@@ -8,6 +8,7 @@ namespace blank {
 
 class Entity;
 
+/// Randomly start or stop moving in axis directions every now and then.
 class RandomWalk {
 
 public:
index 2fdf2e5b0ba2880db1af94f2da8d9560d9db52c8..ee0b4a023737ef1f4d6fea40d7723ab621e10667 100644 (file)
@@ -8,14 +8,20 @@
 
 namespace blank {
 
+/// Parse and interpret arguemnts, then set up the environment and execute.
 class Runtime {
 
 public:
        enum Mode {
+               /// default behaviour: run until user quits, dynamic timesteps
                NORMAL,
+               /// quit after n frames
                FRAME_LIMIT,
+               /// quit after n milliseconds
                TIME_LIMIT,
+               /// quit after n frames, use fixed timestap
                FIXED_FRAME_LIMIT,
+               /// display error message and quit with failure
                ERROR,
        };
 
index d986874445cc09829a87f6646df94585303d53f0..8d6816c29b8f526527bbb8fb07688f74132c340c 100644 (file)
@@ -158,8 +158,8 @@ private:
 private:
        const BlockTypeRegistry *types;
        Chunk *neighbor[Block::FACE_COUNT];
-       Block blocks[16 * 16 * 16];
-       unsigned char light[16 * 16 * 16];
+       Block blocks[size];
+       unsigned char light[size];
        BlockModel model;
        Pos position;
        bool dirty;