Skip to content
Snippets Groups Projects
Select Git revision
  • 61fa7026a107e30688bf836e0fc7c6a7c9f77861
  • next default protected
  • fix-1277
  • fix-1258
  • delfile2
  • cleanupmusic
  • gametype-refactor-1
  • custom-map-names
  • extra-textures
  • clipmidtex
  • optimize-storewallrange
  • increase-maxconditionsets
  • acs
  • softcode-info
  • lua-gfx-2
  • better-player-states
  • lua-debug-library
  • any-resolution
  • gametype-refactor-player-spawns
  • custom-teams
  • action-args
  • SRB2_release_2.2.13
  • SRB2_release_2.2.12
  • SRB2_release_2.2.11
  • SRB2_release_2.2.10
  • SRB2_release_2.2.9
  • SRB2_release_2.2.8
  • SRB2_release_2.2.7
  • SRB2_release_2.2.6
  • SRB2_release_2.2.5
  • SRB2_release_2.2.4
  • SRB2_release_2.2.3
  • SRB2_release_2.2.2
  • SRB2_release_2.2.1
  • SRB2_release_2.2.0
  • SRB2_release_2.1.25
  • SRB2_release_2.1.24
  • SRB2_release_2.1.23
  • SRB2_release_2.1.22
  • SRB2_release_2.1.21
  • SRB2_release_2.1.20
41 results

lua_libs.h

Blame
  • Forked from STJr / SRB2
    Source project has a limited visibility.
    m_perfstats.h 1.41 KiB
    // SONIC ROBO BLAST 2
    //-----------------------------------------------------------------------------
    // Copyright (C) 2020-2023 by Sonic Team Junior.
    //
    // This program is free software distributed under the
    // terms of the GNU General Public License, version 2.
    // See the 'LICENSE' file for more details.
    //-----------------------------------------------------------------------------
    /// \file m_perfstats.h
    /// \brief Performance measurement tools.
    
    #ifndef __M_PERFSTATS_H__
    #define __M_PERFSTATS_H__
    
    #include "doomdef.h"
    #include "lua_script.h"
    #include "p_local.h"
    
    typedef struct
    {
    	union {
    		precise_t p;
    		INT32 i;
    	} value;
    	void *history;
    } ps_metric_t;
    
    typedef struct
    {
    	ps_metric_t time_taken;
    	char short_src[LUA_IDSIZE];
    } ps_hookinfo_t;
    
    #define PS_START_TIMING(metric) metric.value.p = I_GetPreciseTime()
    #define PS_STOP_TIMING(metric) metric.value.p = I_GetPreciseTime() - metric.value.p
    
    extern ps_metric_t ps_tictime;
    
    extern ps_metric_t ps_playerthink_time;
    extern ps_metric_t ps_thinkertime;
    
    extern ps_metric_t ps_thlist_times[];
    
    extern ps_metric_t ps_checkposition_calls;
    
    extern ps_metric_t ps_lua_thinkframe_time;
    extern ps_metric_t ps_lua_mobjhooks;
    
    extern ps_metric_t ps_otherlogictime;
    
    void PS_SetThinkFrameHookInfo(int index, precise_t time_taken, char* short_src);
    
    void PS_UpdateTickStats(void);
    
    void M_DrawPerfStats(void);
    
    void PS_PerfStats_OnChange(void);
    void PS_SampleSize_OnChange(void);
    
    #endif