Advertisement
Guest User

Untitled

a guest
Feb 27th, 2020
140
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.51 KB | None | 0 0
  1. if (SETTINGS::settings.watermark)
  2. {
  3. static unsigned int s, v, i;
  4. static float h, r, g, b, f, p, q, t;
  5.  
  6. h = g_pGlobalVars->realtime * 0.1f;
  7. s = 1;
  8. v = 1;
  9.  
  10. i = floor(h * 6);
  11. f = h * 6 - i;
  12. p = v * (1 - s);
  13. q = v * (1 - f * s);
  14. t = v * (1 - (1 - f) * s);
  15.  
  16. switch (i % 6)
  17. {
  18. case 0: r = v, g = t, b = p; break;
  19. case 1: r = q, g = v, b = p; break;
  20. case 2: r = p, g = v, b = t; break;
  21. case 3: r = p, g = q, b = v; break;
  22. case 4: r = t, g = p, b = v; break;
  23. case 5: r = v, g = p, b = q; break;
  24. }
  25.  
  26. r = round(r * 255), g = round(g * 255), b = round(b * 255);
  27. std::stringstream ss;
  28. std::stringstream rr;
  29.  
  30. static int fps, old_tick_count;
  31. if ((g_pGlobalVars->tickcount - old_tick_count) > 50) {
  32.  
  33. fps = static_cast<int>(1.f / g_pGlobalVars->frametime);
  34.  
  35. old_tick_count = g_pGlobalVars->tickcount;
  36.  
  37. }
  38.  
  39. static int tickrate = static_cast<int>(1.f / g_pGlobalVars->intervalPerTick);
  40.  
  41.  
  42. ss << fps;
  43. rr << tickrate;
  44.  
  45. int width, height;
  46. g_pEngine->GetScreenSize(width, height);
  47.  
  48. // for fps ping rate (2)
  49. g_pSurface->FilledRect(width - 300, 12, 220, 50, Color(40, 40, 40, 200));
  50. g_pSurface->FilledRect(width - 295, 17, 210, 40, Color(0, 0, 0, 255));
  51. g_pSurface->OutlinedRect(width - 295, 17, 210, 40, Color(200, 200, 200, 50));
  52. g_pSurface->OutlinedRect(width - 300, 12, 220, 50, Color(200, 200, 200, 50));
  53. GradientLine2(width - 294, 17, 208, 3, Color(r, g, b, 255), Color(b, r, g, 255));
  54.  
  55. // for F (1)
  56. g_pSurface->FilledRect(width - 70, 12, 50, 50, Color(40, 40, 40, 200));
  57. g_pSurface->FilledRect(width - 65, 17, 40, 40, Color(0, 0, 0, 255));
  58. g_pSurface->OutlinedRect(width - 65, 17, 40, 40, Color(200, 200, 200, 50));
  59. g_pSurface->OutlinedRect(width - 70, 12, 50, 50, Color(200, 200, 200, 50));
  60. GradientLine2(width - 64, 17, 38, 3, Color(r, g, b, 255), Color(b, r, g, 255));
  61.  
  62. // for time (3)
  63.  
  64. g_pSurface->FilledRect(width - 450, 12, 140, 50, Color(40, 40, 40, 200));
  65. g_pSurface->FilledRect(width - 445, 17, 130, 40, Color(0, 0, 0, 255));
  66. g_pSurface->OutlinedRect(width - 445, 17, 130, 40, Color(200, 200, 200, 50));
  67. g_pSurface->OutlinedRect(width - 450, 12, 140, 50, Color(200, 200, 200, 50));
  68. GradientLine2(width - 444, 17, 128, 3, Color(r, g, b, 255), Color(b, r, g, 255));
  69.  
  70. // OK SO WE NEED THEM IN THIS ORDER : TIME ON (3), FPS, PING, RATE ON (2), ON 1 WE NEED F
  71.  
  72. // lets go
  73.  
  74. g_pSurface->DrawT(width - 428, 29, Color(255, 255, 255), g::CourierNew, false, "TIME: ");
  75. g_pSurface->DrawT(width - 393, 29, Color(r, g, b, 255), g::CourierNew, false, currentDateTime().c_str());
  76.  
  77. // looks cool
  78.  
  79. // lets do fps
  80.  
  81. g_pSurface->DrawT(width - 278, 29, Color(255, 255, 255), g::CourierNew, false, "FPS: ");
  82. g_pSurface->DrawT(width - 248, 29, Color(r, g, b, 255), g::CourierNew, false, ss.str().c_str());
  83.  
  84. // good i'll need to resize the rects tho
  85.  
  86. // ping time
  87.  
  88. auto local_player = reinterpret_cast<C_BaseEntity*>(g_pEntityList->GetClientEntity(g_pEngine->GetLocalPlayer()));
  89. auto net_channel = g_pEngine->GetNetChannelInfo();
  90. std::string outgoing = local_player ? std::to_string((int)(net_channel->GetLatency(FLOW_OUTGOING) * 1000)) : "0";
  91.  
  92. g_pSurface->DrawT(width - 226, 29, Color(255, 255, 255), g::CourierNew, false, "PING: ");
  93. g_pSurface->DrawT(width - 188, 29, Color(r, g, b, 255), g::CourierNew, false, outgoing.c_str());
  94. g_pSurface->DrawT(width - 178, 29, Color(r, g, b, 255), g::CourierNew, false, "ms");
  95. // rate which i didnt know was ticks LOL
  96.  
  97. g_pSurface->DrawT(width - 158, 29, Color(255, 255, 255), g::CourierNew, false, "RATE: ");
  98. g_pSurface->DrawT(width - 120, 29, Color(r, g, b, 255), g::CourierNew, false, rr.str().c_str());
  99.  
  100. // looks cool lets do F
  101.  
  102. g_pSurface->DrawT(width - 55, 20, Color(r, g, b, 255), g::fatality, false, "F"); //stay fatal BRUH
  103.  
  104. // damn it looks really cool. lets post it on void and yougame
  105.  
  106. // SPECIAL SHOUTOUT TO MY BOY, RUDE PENGUIN <3
  107.  
  108. // Shoutout to Dutu for giving me this source so i have an unload button so i can be quicker <3
  109.  
  110. // Discord : Seal#9555
  111. }
  112.  
  113.  
  114. // NEEDED
  115.  
  116. const std::string currentDateTime() {
  117. time_t now = time(0);
  118. struct tm tstruct;
  119. char buf[80];
  120. tstruct = *localtime(&now);
  121. strftime(buf, sizeof(buf), "%X", &tstruct);
  122.  
  123. return buf;
  124. }
  125.  
  126. void GradientLine2(int x, int y, int w, int h, Color c1, Color c2)
  127. {
  128. g_pSurface->FilledRect(x, y, w, h, c1);
  129. BYTE first = c2.red;
  130. BYTE second = c2.green;
  131. BYTE third = c2.blue;
  132. for (int i = 0; i < w; i++)
  133. {
  134. float fi = i, fw = w;
  135. float a = fi / fw;
  136. DWORD ia = a * 255;
  137. g_pSurface->FilledRect(x + i, y, 1, h, Color(first, second, third, ia));
  138. }
  139. }
  140.  
  141. // FONTS
  142. g::CourierNew = g_pSurface->FontCreate();
  143. g_pSurface->SetFontGlyphSet(g::CourierNew, "Courier New", 14, 300, 0, 0, FONTFLAG_OUTLINE);
  144.  
  145. g::fatality = g_pSurface->FontCreate();
  146. g_pSurface->SetFontGlyphSet(g::fatality, "Porter Bold Demo", 34, 1300, 0, 0, FONTFLAG_DROPSHADOW | FONTFLAG_ANTIALIAS | FONTFLAG_OUTLINE);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement