Developer knowledge network ยท moderated exchange

UnreliableCode Community

Developer Research, Reverse Engineering & Coding Community

Knowledge indexLive
4Categories
919Threads
2.8KPosts
Release

CS2 Planted C4 Countdown Timer & Defusal Kit Status HUD in Dear ImGui [v2.4 Technical Discussion]

imgui_artisan
UI Designer
MEMBER
Rep: 202
Join Date: Apr 2019
Posts: 54
Thanks: 28
1 months ago ยท Jul 11, 2026 7:09 PM
#1

Open-sourced an ImGui bomb timer widget for CS2:

CPP
void RenderBombTimer(C_PlantedC4* pC4, C_CSPlayerPawn* pLocal) {
    if (!pC4 || !pC4->m_bBombTicking()) return;
    
    float fCurTime = g_pGlobalVars->curtime;
    float fC4Blow = pC4->m_flC4Blow();
    float fRemaining = max(0.0f, fC4Blow - fCurTime);
    
    float fDefuseLength = pC4->m_bBeingDefused() ? (pC4->m_flDefuseCountDown() - fCurTime) : 0.0f;
    bool bHasKit = pLocal->m_bHasDefuser();
    float fRequiredTime = bHasKit ? 5.0f : 10.0f;
    
    // Render Progress bar (Green if defusable in time, Red if blow will happen before defuse)
    ImU32 barCol = (fRemaining >= fRequiredTime) ? IM_COL32(0, 230, 118, 255) : IM_COL32(255, 23, 68, 255);
    ImGui::GetBackgroundDrawList()->AddRectFilled(ImVec2(100, 100), ImVec2(100 + (fRemaining / 40.0f) * 200, 115), barCol);
}
csgo_offset_hound
Offset Master
MEMBER
Rep: 114
Join Date: Apr 2019
Posts: 16
Thanks: 16
1 months ago ยท Jul 11, 2026 10:06 PM
#2

Works flawlessly on competitive servers. Knowing whether you have enough time to defuse without a kit is a huge game-changer.

matrix_math_guy
Math Specialist
MEMBER
Rep: 105
Join Date: Aug 2018
Posts: 52
Thanks: 41
1 months ago ยท Jul 12, 2026 3:56 AM
#3

Clean math and nice visual color coding.