Nimbin[12]?SDL & Graphics / mapcreator / src/defaults/defaults.cpp

mapcreator git · master

SDL3 2.5D game and engine using assets, with map editor

sdl3 c++ game engine map-editor cmake · first commit 2025-10-31 · last commit 2026-09-07 (1 month ago) · synced 3 days ago · upstream: git.ide3.de/hsnr/sdl-spieleentwicklung/map_creator

C++ 99.3%
git clone https://git.christianimmanuel.de/sdl-graphics/mapcreator.gitwget https://git.christianimmanuel.de/sdl-graphics/mapcreator/archive/mapcreator.tar.gz
src/defaults/defaults.cpp 1.4 KB · 55 lines raw
#include "defaults/defaults.hpp"

#include <iostream>

namespace Default {
    // States
    ModifyState_s modify_state = MODIFY_TILES;

    // Time
    double delta_time = 0.0;
    Uint64 now;
    Uint64 last;

    Uint64 game_time_start       = 0;
    Uint64 game_time_running     = 0;
    Uint64 game_time_paused      = 0;
    Uint64 game_time_pause_start = 0;


    float fps_timer = 0.0f;
    int   fps = 0;
    int   fps_counter = 0;

    float game_scale;

    bool is_fullscreen = false;

    SDL_Color menu_hovering_color = {255, 255, 100, 160};

    void set_DeltaTime() {
        last = now;
        now = SDL_GetPerformanceCounter();
        delta_time = static_cast<double>((now - last)) / SDL_GetPerformanceFrequency();
    }


    double get_TimeSinceStartInSec() {
        double elapsed = (SDL_GetTicksNS() - game_time_start) * 1e-9;
        return elapsed - game_time_paused;
    }


    const char* get_ModifyStateName() {
        switch (modify_state) {
            case MODIFY_TILES:      return "Tiles";
            case MODIFY_COLLISSION: return "Collision";
            case MODIFY_FLOOR_TYPE: return "Floor Type";
            case MODIFY_OBJECTS:    return "Objects";
            case MODIFY_OBJECTS_PROPS:    return "Objects Properties";
            case MODIFY_OBJECTS_PROPS_RESOURCE:    return "Objects Properties Resource";
            default:                return "Unknown";
        }
    }
}