Advertisement
Guest User

FATALITY WATERMARK FOR ANTARIO

a guest
Feb 23rd, 2020
937
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 4.95 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