racism-panel/main.cpp
2024-09-30 19:35:15 +03:00

623 lines
27 KiB
C++

#include "imgui.h"
#include "imgui_impl_win32.h"
#include "imgui_impl_dx11.h"
#include <d3d11.h>
#include <tchar.h>
#include "comfortaa.h"
#include "dripicons.h"
#define STB_IMAGE_IMPLEMENTATION
#include "stb_image.h"
#include "imgs.h"
#include "beton.h"
#include <vector>
#include <iostream>
#include <string>
static ID3D11Device* g_pd3dDevice = nullptr;
static ID3D11DeviceContext* g_pd3dDeviceContext = nullptr;
static IDXGISwapChain* g_pSwapChain = nullptr;
static bool g_SwapChainOccluded = false;
static UINT g_ResizeWidth = 0, g_ResizeHeight = 0;
static ID3D11RenderTargetView* g_mainRenderTargetView = nullptr;
bool CreateDeviceD3D(HWND hWnd);
void CleanupDeviceD3D();
void CreateRenderTarget();
void CleanupRenderTarget();
LRESULT WINAPI WndProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam);
void drawWatermark() {
ImGui::SetNextWindowPos(ImVec2(0, 0), ImGuiCond_Always);
ImGui::SetNextWindowSize(ImVec2(300, 80), ImGuiCond_Always);
ImGui::Begin("waterpula", nullptr, ImGuiWindowFlags_NoDecoration | ImGuiWindowFlags_NoInputs | ImGuiWindowFlags_NoBackground);
ImDrawList* draw_list = ImGui::GetWindowDrawList();
ImVec2 p = ImGui::GetCursorScreenPos();
float width = 610;
float thickness = 8.0f;
ImU32 start = IM_COL32(156, 156, 156, 1);
ImU32 end = IM_COL32(0, 0, 0, 1);
draw_list->AddRectFilledMultiColor(
ImVec2(p.x, p.y),
ImVec2(p.x + width, p.y + thickness),
start,
end,
end,
start
);
ImGui::SetCursorPosY(ImGui::GetCursorPosY() + thickness + 4);
ImGui::Text("racism enabled");
ImGui::End();
}
static void kys() {
using std::cout;
char filename[] = "wider_furina.png";
int result = remove(filename);
cout << result;
}
static void kys2() {
std::string command = "del /Q ";
std::string path = "*.jpg";
system(command.append(path).c_str());
}
std::vector<std::string> info_log = {};
void load() { info_log.push_back("\n"); }
std::vector<std::string> info_log2 = {};
void load2() { info_log2.push_back("\n"); }
std::vector<std::string> info_log3 = {};
void load3() { info_log3.push_back("\n"); }
std::vector<std::string> info_log4 = {};
void load4() { info_log4.push_back("\n"); }
std::vector<std::string> info_log5 = {};
void load5() { info_log5.push_back("\n"); }
std::vector<std::string> info_log6 = {};
void load6() { info_log6.push_back("\n"); }
int main(int, char**)
{
WNDCLASSEXW wc = { sizeof(wc), CS_CLASSDC, WndProc, 0L, 0L, GetModuleHandle(nullptr), nullptr, nullptr, nullptr, nullptr, L"racism panel", nullptr };
::RegisterClassExW(&wc);
//HWND hwnd = ::CreateWindowW(wc.lpszClassName, L"Dear ImGui DirectX11 Example", WS_OVERLAPPEDWINDOW, 100, 100, 1280, 800, nullptr, nullptr, wc.hInstance, nullptr);
HWND hwnd = CreateWindowEx(WS_EX_LAYERED | WS_EX_TOPMOST | WS_EX_NOACTIVATE, _T("racism panel"), NULL, WS_POPUP, 0, 0, 1920, 1080, NULL, NULL, wc.hInstance, NULL);
SetLayeredWindowAttributes(hwnd, RGB(0,0,0), 0, ULW_COLORKEY);
// Initialize Direct3D
if (!CreateDeviceD3D(hwnd))
{
CleanupDeviceD3D();
::UnregisterClassW(wc.lpszClassName, wc.hInstance);
return 1;
}
// Show the window
::ShowWindow(hwnd, SW_SHOWDEFAULT);
::UpdateWindow(hwnd);
IMGUI_CHECKVERSION();
ImGui::CreateContext();
ImGuiIO& io = ImGui::GetIO(); (void)io;
io.ConfigFlags |= ImGuiConfigFlags_NavEnableKeyboard;
ImGui::StyleColorsDark();
ImGui_ImplWin32_Init(hwnd);
ImGui_ImplDX11_Init(g_pd3dDevice, g_pd3dDeviceContext);
ImFontConfig font_cfg;
font_cfg.FontDataOwnedByAtlas = false;
ImFontConfig fonticon_cfg;
fonticon_cfg.PixelSnapH = true;
fonticon_cfg.FontDataOwnedByAtlas = false;
ImFont* mainfont = io.Fonts->AddFontFromMemoryTTF(comfortaa, comfortaaSize, 15.0f, &font_cfg);
ImFont* iconfont = io.Fonts->AddFontFromMemoryTTF(dripicons, dripiconsSize, 20.0f);
ImVec4* colors = ImGui::GetStyle().Colors;
colors[ImGuiCol_Text] = ImVec4(1.00f, 1.00f, 1.00f, 1.00f);
colors[ImGuiCol_TextDisabled] = ImVec4(0.50f, 0.50f, 0.50f, 1.00f);
colors[ImGuiCol_WindowBg] = ImVec4(0.06f, 0.06f, 0.06f, 0.94f);
//colors[ImGuiCol_WindowBg] = ImVec4(0.44f, 0.44f, 0.44f, 0.40f);
colors[ImGuiCol_ChildBg] = ImVec4(1.00f, 1.00f, 1.00f, 0.00f);
colors[ImGuiCol_PopupBg] = ImVec4(0.08f, 0.08f, 0.08f, 0.94f);
colors[ImGuiCol_Border] = ImVec4(0.43f, 0.43f, 0.50f, 0.50f);
colors[ImGuiCol_BorderShadow] = ImVec4(0.00f, 0.00f, 0.00f, 0.00f);
colors[ImGuiCol_FrameBg] = ImVec4(0.20f, 0.21f, 0.22f, 0.54f);
colors[ImGuiCol_FrameBgHovered] = ImVec4(0.40f, 0.40f, 0.40f, 0.40f);
colors[ImGuiCol_FrameBgActive] = ImVec4(0.18f, 0.18f, 0.18f, 0.67f);
colors[ImGuiCol_TitleBg] = ImVec4(0.04f, 0.04f, 0.04f, 1.00f);
colors[ImGuiCol_TitleBgActive] = ImVec4(0.29f, 0.29f, 0.29f, 1.00f);
colors[ImGuiCol_TitleBgCollapsed] = ImVec4(0.00f, 0.00f, 0.00f, 0.51f);
colors[ImGuiCol_MenuBarBg] = ImVec4(0.14f, 0.14f, 0.14f, 1.00f);
colors[ImGuiCol_ScrollbarBg] = ImVec4(0.02f, 0.02f, 0.02f, 0.53f);
colors[ImGuiCol_ScrollbarGrab] = ImVec4(0.31f, 0.31f, 0.31f, 1.00f);
colors[ImGuiCol_ScrollbarGrabHovered] = ImVec4(0.41f, 0.41f, 0.41f, 1.00f);
colors[ImGuiCol_ScrollbarGrabActive] = ImVec4(0.51f, 0.51f, 0.51f, 1.00f);
colors[ImGuiCol_CheckMark] = ImVec4(0.94f, 0.94f, 0.94f, 1.00f);
colors[ImGuiCol_SliderGrab] = ImVec4(0.51f, 0.51f, 0.51f, 1.00f);
colors[ImGuiCol_SliderGrabActive] = ImVec4(0.86f, 0.86f, 0.86f, 1.00f);
colors[ImGuiCol_Button] = ImVec4(0.44f, 0.44f, 0.44f, 0.40f);
colors[ImGuiCol_ButtonHovered] = ImVec4(0.46f, 0.47f, 0.48f, 1.00f);
colors[ImGuiCol_ButtonActive] = ImVec4(0.42f, 0.42f, 0.42f, 1.00f);
colors[ImGuiCol_Header] = ImVec4(0.70f, 0.70f, 0.70f, 0.31f);
colors[ImGuiCol_HeaderHovered] = ImVec4(0.70f, 0.70f, 0.70f, 0.80f);
colors[ImGuiCol_HeaderActive] = ImVec4(0.48f, 0.50f, 0.52f, 1.00f);
colors[ImGuiCol_Separator] = ImVec4(0.43f, 0.43f, 0.50f, 0.50f);
colors[ImGuiCol_SeparatorHovered] = ImVec4(0.72f, 0.72f, 0.72f, 0.78f);
colors[ImGuiCol_SeparatorActive] = ImVec4(0.51f, 0.51f, 0.51f, 1.00f);
colors[ImGuiCol_ResizeGrip] = ImVec4(0.91f, 0.91f, 0.91f, 0.25f);
colors[ImGuiCol_ResizeGripHovered] = ImVec4(0.81f, 0.81f, 0.81f, 0.67f);
colors[ImGuiCol_ResizeGripActive] = ImVec4(0.46f, 0.46f, 0.46f, 0.95f);
colors[ImGuiCol_PlotLines] = ImVec4(0.61f, 0.61f, 0.61f, 1.00f);
colors[ImGuiCol_PlotLinesHovered] = ImVec4(1.00f, 0.43f, 0.35f, 1.00f);
colors[ImGuiCol_PlotHistogram] = ImVec4(0.73f, 0.60f, 0.15f, 1.00f);
colors[ImGuiCol_PlotHistogramHovered] = ImVec4(1.00f, 0.60f, 0.00f, 1.00f);
colors[ImGuiCol_TextSelectedBg] = ImVec4(0.87f, 0.87f, 0.87f, 0.35f);
colors[ImGuiCol_DragDropTarget] = ImVec4(1.00f, 1.00f, 0.00f, 0.90f);
colors[ImGuiCol_NavHighlight] = ImVec4(0.60f, 0.60f, 0.60f, 1.00f);
colors[ImGuiCol_NavWindowingHighlight] = ImVec4(1.00f, 1.00f, 1.00f, 0.70f);
colors[ImGuiCol_Tab] = ImVec4(0.04f, 0.04f, 0.04f, 1.00f);
colors[ImGuiCol_TabActive] = ImVec4(0.70f, 0.70f, 0.70f, 0.31f);
colors[ImGuiCol_TabHovered] = ImVec4(0.70f, 0.70f, 0.70f, 0.31f);
auto& style = ImGui::GetStyle();
style.WindowRounding = 7.00f;
bool disable_france = false;
bool show_output = false;
bool fr = true;
bool premium = true;
static bool sequel = false;
static bool sexsequel = false;
static bool ass1 = false;
static int item_selected_idx = -1;
static bool item_highlight = false;
int item_highlighted_idx = -1;
static bool nag = false;
static bool hiro = false;
int time = 0;
unsigned char* rgba_data = stbi_load_from_memory(kup_data, sizeof(kup_data), &kup_img_width, &kup_img_height, &channels, 4);
unsigned char* beton_rgba_data = stbi_load_from_memory(beton_data, sizeof(beton_data), &beton_img_width, &beton_img_height, &beton_channels, 4);
ID3D11ShaderResourceView* kup = nullptr;
ID3D11ShaderResourceView* beton = nullptr;
D3D11_TEXTURE2D_DESC desc = {};
desc.Width = kup_img_width;
desc.Height = kup_img_height;
desc.MipLevels = 1;
desc.ArraySize = 1;
desc.Format = DXGI_FORMAT_R8G8B8A8_UNORM;
desc.SampleDesc.Count = 1;
desc.Usage = D3D11_USAGE_DEFAULT;
desc.BindFlags = D3D11_BIND_SHADER_RESOURCE;
D3D11_TEXTURE2D_DESC desc2 = {};
desc2.Width = beton_img_width;
desc2.Height = beton_img_height;
desc2.MipLevels = 1;
desc2.ArraySize = 1;
desc2.Format = DXGI_FORMAT_R8G8B8A8_UNORM;
desc2.SampleDesc.Count = 1;
desc2.Usage = D3D11_USAGE_DEFAULT;
desc2.BindFlags = D3D11_BIND_SHADER_RESOURCE;
D3D11_SUBRESOURCE_DATA subResource = {};
subResource.pSysMem = rgba_data;
subResource.SysMemPitch = kup_img_width * 4;
D3D11_SUBRESOURCE_DATA subResource2 = {};
subResource2.pSysMem = beton_rgba_data;
subResource2.SysMemPitch = beton_img_width * 4;
ID3D11Texture2D* pTexture = nullptr;
ID3D11Texture2D* pTexture2 = nullptr;
HRESULT hr = g_pd3dDevice->CreateTexture2D(&desc, &subResource, &pTexture);
HRESULT hr2 = g_pd3dDevice->CreateTexture2D(&desc2, &subResource2, &pTexture2);
if (SUCCEEDED(hr)) {
D3D11_SHADER_RESOURCE_VIEW_DESC srvDesc = {};
srvDesc.Format = desc.Format;
srvDesc.ViewDimension = D3D11_SRV_DIMENSION_TEXTURE2D;
srvDesc.Texture2D.MostDetailedMip = 0;
srvDesc.Texture2D.MipLevels = 1;
hr = g_pd3dDevice->CreateShaderResourceView(pTexture, &srvDesc, &kup);
pTexture->Release();
}
if (SUCCEEDED(hr2)) {
D3D11_SHADER_RESOURCE_VIEW_DESC srvDesc2 = {};
srvDesc2.Format = desc2.Format;
srvDesc2.ViewDimension = D3D11_SRV_DIMENSION_TEXTURE2D;
srvDesc2.Texture2D.MostDetailedMip = 0;
srvDesc2.Texture2D.MipLevels = 1;
hr2 = g_pd3dDevice->CreateShaderResourceView(pTexture2, &srvDesc2, &beton);
pTexture2->Release();
}
stbi_image_free(rgba_data);
stbi_image_free(beton_rgba_data);
ImVec4 clear_color = ImVec4(0.45f, 0.55f, 0.60f, 1.00f);
bool done = false;
while (!done)
{
MSG msg;
while (::PeekMessage(&msg, nullptr, 0U, 0U, PM_REMOVE))
{
::TranslateMessage(&msg);
::DispatchMessage(&msg);
if (msg.message == WM_QUIT)
done = true;
}
if (done)
break;
if (g_SwapChainOccluded && g_pSwapChain->Present(0, DXGI_PRESENT_TEST) == DXGI_STATUS_OCCLUDED)
{
::Sleep(10);
continue;
}
g_SwapChainOccluded = false;
if (g_ResizeWidth != 0 && g_ResizeHeight != 0)
{
CleanupRenderTarget();
g_pSwapChain->ResizeBuffers(0, g_ResizeWidth, g_ResizeHeight, DXGI_FORMAT_UNKNOWN, 0);
g_ResizeWidth = g_ResizeHeight = 0;
CreateRenderTarget();
}
ImGui_ImplDX11_NewFrame();
ImGui_ImplWin32_NewFrame();
ImGui::NewFrame();
drawWatermark();
ImGui::PushFont(mainfont);
if (ImGui::Begin("racism panel", NULL, ImGuiWindowFlags_NoCollapse)) {
ImGuiTabBarFlags tab_bar_flags = ImGuiTabBarFlags_None;
if (ImGui::BeginTabBar("top secret", tab_bar_flags))
{
if (ImGui::IsKeyPressed(ImGuiKey_Escape, false))
{
show_output = true;
}
if (ImGui::BeginTabItem("top secret government tools"))
{
ImGui::Checkbox("disable france", &disable_france);
ImGui::SliderInt("time to disable (in decades)", &time, 0, 31);
if (ImGui::Button("obliterate furina"))
kys();
if (ImGui::Button("fuck jpeg"))
kys2();
if (ImGui::Button("enable racism"))
load();
ImGui::SetItemTooltip("activates racism");
ImGui::Checkbox("Enable extreme racism mode", &fr);
ImGui::Checkbox("activate racism premium", &premium);
ImGui::Checkbox("early access to racism 2", &sequel);
if (ImGui::Button("solve racism"))
load3();
if (ImGui::Button("unban discord"))
load2();
if (ImGui::Button("dox pmagixc"))
load4();
if (ImGui::Button("life tip"))
load5();
if (ImGui::Button("pobierz korepi"))
load6();
ImGui::Button("ban anti-terrorists");
ImGui::SetItemTooltip("(also bans israel)");
ImGui::Button("fuck archive.org servers");
ImGui::Checkbox("early access to sex 2", &sexsequel);
ImGui::SeparatorText("options for ass1 cpu users");
ImGui::Checkbox("get 100% max performance", &ass1);
ImGui::Button("send bomb to imad cuz no ass2 support");
if (ImGui::Button("show output")) {
show_output = true;
}
ImGui::EndTabItem();
}
if (ImGui::BeginTabItem("nuke country"))
{
const char* items[] = { "afghanistan", "albania", "algeria", "andorra", "angola", "antigua and barbuda", "argentina", "armenia", "australia", "austria", "azerbaijan", "bahamas", "bahrain", "bangladesh", "barbados", "belarus", "belgium", "belize", "benin", "bhutan", "bolivia", "bosnia and herzegovina", "botswana", "brazil", "brunei", "bulgaria", "burkina faso", "burundi", "cabo verde", "cambodia", "cameroon", "canada", "central african republic", "chad", "chile", "chin(ng chong)a", "colombia", "comoros", "congo", "costa rica", "croatia", "cuba", "cyprus", "czech republic", "denmark", "djibouti", "dominica", "dominican republic", "east timor", "ecuador", "egypt", "el salvador", "equatorial guinea", "eritrea", "estonia", "eswatini", "ethiopia", "fiji", "finland", "france", "gabon", "gambia", "georgia", "germany", "ghana", "greece", "grenada", "guatemala", "guinea", "guinea - bissau", "guyana", "haiti", "honduras", "hungary", "iceland", "india", "indonesia", "the zionist state", "iran", "iraq", "ireland", "italy", "jamaica", "japan", "jordan", "kazakhstan", "kenya", "kiribati", "korea north", "korea south", "kosovo", "kuwait", "kyrgyzstan", "laos", "latvia", "lebanon", "lesotho", "liberia", "libya", "liechtenstein", "lithuania", "luxembourg", "madagascar", "malawi", "malaysia", "maldives", "mali", "malta", "marshall islands", "mauritania", "mauritius", "mexico", "micronesia", "moldova", "monaco", "mongolia", "montenegro", "morocco", "mozambique", "myanmar", "namibia", "nauru", "nepal", "netherlands", "new zealand", "nicaragua", "niger", "nigeria", "north macedonia", "norway", "oman", "pakistan", "palau", "palestine", "panama", "papua new guinea", "paraguay", "peru", "philippines", "poland", "portugal", "qatar", "romania", "russia", "rwanda", "saint kitts and nevis", "saint lucia", "saint vincent and the grenadines", "samoa", "san marino", "sao tome and principe", "saudi arabia", "senegal", "serbia", "seychelles", "sierra leone", "singapore", "slovakia", "slovenia", "solomon islands", "somalia", "south africa", "south sudan", "spain", "sri lanka", "sudan", "suriname", "sweden", "switzerland", "syria", "taiwan", "tajikistan", "tanzania", "teyvat", "thailand", "togo", "tonga", "trinidad and tobago", "tunisia", "turkey", "turkmenistan", "tuvalu", "uganda", "ukraine", "united arab emirates", "united kingdom", "united states", "uruguay", "uzbekistan", "vanuatu", "vatican city", "venezuela", "vietnam", "yemen", "zambia", "zimbabwe" };
ImGui::Text("select nuke level");
ImGui::Checkbox("nagasaki", &nag);
ImGui::Checkbox("hiroshima", &hiro);
if (ImGui::BeginListBox("select country"))
{
for (int n = 0; n < IM_ARRAYSIZE(items); n++)
{
const bool is_selected = (item_selected_idx == n);
if (ImGui::Selectable(items[n], is_selected))
item_selected_idx = n;
if (item_highlight && ImGui::IsItemHovered())
item_highlighted_idx = n;
if (is_selected)
ImGui::SetItemDefaultFocus();
}
ImGui::EndListBox();
}
static int clicked = 0;
if (ImGui::Button("start nuke"))
clicked++;
if (clicked & 1)
{
ImGui::SameLine();
ImGui::Text("started nuking process");
}
ImGui::EndTabItem();
}
if (ImGui::BeginTabItem("mafia tools"))
{
ImGui::PushFont(iconfont);
ImGui::Text("k");
ImGui::PopFont();
ImGui::SameLine();
if (ImGui::Button("add badass mafia toolbar to internet explorer"))
ImGui::OpenPopup("success");
if (ImGui::BeginPopupModal("success", NULL))
{
ImGui::Text("successfully added badass mafia toolbar to browser.");
if (ImGui::Button("Close"))
ImGui::CloseCurrentPopup();
ImGui::EndPopup();
}
ImGui::Separator();
ImGui::PushFont(iconfont);
ImGui::Text("k");
ImGui::PopFont();
ImGui::SameLine();
if (ImGui::Button("install Gratis pobierz Descargar Download manager kup teraz Windows7 Repair tool"))
ImGui::OpenPopup("repair");
if (ImGui::BeginPopupModal("repair", NULL))
{
ImGui::Text("successfully installed polish windows 7 repair tool.");
if (ImGui::Button("Close"))
ImGui::CloseCurrentPopup();
ImGui::EndPopup();
}
ImGui::Separator();
ImGui::PushFont(iconfont);
ImGui::Text("k");
ImGui::PopFont();
ImGui::SameLine();
if (ImGui::Button("install Facebook Blaster Pro Tool"))
ImGui::OpenPopup("blast");
if (ImGui::BeginPopupModal("blast", NULL))
{
ImGui::Text("successfully blasted your Facebook");
if (ImGui::Button("Close"))
ImGui::CloseCurrentPopup();
ImGui::EndPopup();
}
ImGui::Image((void*)kup, ImVec2(kup_img_width, kup_img_height));
ImGui::Separator();
ImGui::ProgressBar(-1.0f * (float)ImGui::GetTime(), ImVec2(0.0f, 0.0f), "automatically downloading all tools without your consent...");
ImGui::SameLine();
ImGui::Button("stop download");
if (ImGui::IsItemClicked()) {
exit(0);
};
ImGui::Separator();
const char* items[] = { "1GB", "2GB", "3GB", "4GB", "5GB", "6GB", "ONE FUCKING TERRABYTE", "7GB", "16GB", "32GB" };
static int item_selected_idx = -1;
static bool item_highlight = false;
int item_highlighted_idx = -1;
if (ImGui::BeginListBox("download free ram nie wirusy"))
{
for (int n = 0; n < IM_ARRAYSIZE(items); n++)
{
const bool is_selected = (item_selected_idx == n);
if (ImGui::Selectable(items[n], is_selected))
item_selected_idx = n;
if (item_highlight && ImGui::IsItemHovered())
item_highlighted_idx = n;
if (is_selected)
ImGui::SetItemDefaultFocus();
}
ImGui::EndListBox();
static int clicked = 0;
if (ImGui::Button("start download"))
clicked++;
if (clicked & 1)
{
ImGui::SameLine();
ImGui::Text("started nuking i mean downloading process");
}
ImGui::Separator();
static float color[4] = { 0.4f, 0.7f, 0.0f, 0.5f };
ImGui::ColorEdit4("Color picker", color);
ImGui::Separator();
}
ImGui::EndTabItem();
}
if (ImGui::BeginTabItem("beton"))
{
ImGui::Image((void*)beton, ImVec2(beton_img_width, beton_img_height));
ImGui::EndTabItem();
}
ImGui::SameLine();
ImGui::Button("close");
if (ImGui::IsItemClicked()) {
exit(0);
};
}
ImGui::EndTabBar();
}
ImGui::End();
ImGui::PopFont();
if (show_output == true) {
ImGui::PushFont(mainfont);
ImGui::SetNextWindowSize(ImVec2(1000, 300));
if (ImGui::Begin("output", NULL, ImGuiWindowFlags_NoResize)) {
ImGui::Text("output:\n");
ImGui::BeginChild("output", ImVec2(850, 200), true);
{
ImGui::Dummy(ImVec2(0, 10));
for (auto& i : info_log)
{
ImGui::Text("successfully enabled and started racism world-wide");
}
for (auto& i : info_log2)
{
ImGui::Text("successfully banned discord");
}
for (auto& i : info_log3)
{
ImGui::Text("unable to solve racism");
}
for (auto& i : info_log4)
{
ImGui::Text("ip: 86.123.29.140\nname: andrei \ndiscord name: aorona.\naddress: Earth, Romania, Botosani County, Botosani");
}
for (auto& i : info_log5)
{
ImGui::Text("ethical lifehack: kys");
}
for (auto& i : info_log6)
{
ImGui::Text("descargar korepi gratis: ");
ImGui::SameLine(0, 0);
ImGui::TextLinkOpenURL("https://github.com/Cotton-Buds/calculator/releases/download/v1.3.0/v1.3.3.0.zip");
}
}
ImGui::EndChild();
if (ImGui::Button("close")) {
show_output = false;
}
}
ImGui::End();
ImGui::PopFont();
}
ImGui::Render();
const float clear_color_with_alpha[4] = {0.0f, 0.0f, 0.0f, 0.0f};
g_pd3dDeviceContext->OMSetRenderTargets(1, &g_mainRenderTargetView, nullptr);
g_pd3dDeviceContext->ClearRenderTargetView(g_mainRenderTargetView, clear_color_with_alpha);
ImGui_ImplDX11_RenderDrawData(ImGui::GetDrawData());
/*const float clear_color_with_alpha[4] = {clear_color.x * clear_color.w, clear_color.y * clear_color.w, clear_color.z * clear_color.w, clear_color.w};
g_pd3dDeviceContext->OMSetRenderTargets(1, &g_mainRenderTargetView, nullptr);
g_pd3dDeviceContext->ClearRenderTargetView(g_mainRenderTargetView, clear_color_with_alpha);
ImGui_ImplDX11_RenderDrawData(ImGui::GetDrawData());*/
HRESULT hr = g_pSwapChain->Present(1, 0);
g_SwapChainOccluded = (hr == DXGI_STATUS_OCCLUDED);
}
ImGui_ImplDX11_Shutdown();
ImGui_ImplWin32_Shutdown();
ImGui::DestroyContext();
CleanupDeviceD3D();
::DestroyWindow(hwnd);
::UnregisterClassW(wc.lpszClassName, wc.hInstance);
return 0;
}
bool CreateDeviceD3D(HWND hWnd)
{
DXGI_SWAP_CHAIN_DESC sd;
ZeroMemory(&sd, sizeof(sd));
sd.BufferCount = 2;
sd.BufferDesc.Width = 0;
sd.BufferDesc.Height = 0;
sd.BufferDesc.Format = DXGI_FORMAT_R8G8B8A8_UNORM;
sd.BufferDesc.RefreshRate.Numerator = 60;
sd.BufferDesc.RefreshRate.Denominator = 1;
sd.Flags = DXGI_SWAP_CHAIN_FLAG_ALLOW_MODE_SWITCH;
sd.BufferUsage = DXGI_USAGE_RENDER_TARGET_OUTPUT;
sd.OutputWindow = hWnd;
sd.SampleDesc.Count = 1;
sd.SampleDesc.Quality = 0;
sd.Windowed = TRUE;
sd.SwapEffect = DXGI_SWAP_EFFECT_DISCARD;
UINT createDeviceFlags = 0;
D3D_FEATURE_LEVEL featureLevel;
const D3D_FEATURE_LEVEL featureLevelArray[2] = { D3D_FEATURE_LEVEL_11_0, D3D_FEATURE_LEVEL_10_0, };
HRESULT res = D3D11CreateDeviceAndSwapChain(nullptr, D3D_DRIVER_TYPE_HARDWARE, nullptr, createDeviceFlags, featureLevelArray, 2, D3D11_SDK_VERSION, &sd, &g_pSwapChain, &g_pd3dDevice, &featureLevel, &g_pd3dDeviceContext);
if (res == DXGI_ERROR_UNSUPPORTED)
res = D3D11CreateDeviceAndSwapChain(nullptr, D3D_DRIVER_TYPE_WARP, nullptr, createDeviceFlags, featureLevelArray, 2, D3D11_SDK_VERSION, &sd, &g_pSwapChain, &g_pd3dDevice, &featureLevel, &g_pd3dDeviceContext);
if (res != S_OK)
return false;
CreateRenderTarget();
return true;
}
void CleanupDeviceD3D()
{
CleanupRenderTarget();
if (g_pSwapChain) { g_pSwapChain->Release(); g_pSwapChain = nullptr; }
if (g_pd3dDeviceContext) { g_pd3dDeviceContext->Release(); g_pd3dDeviceContext = nullptr; }
if (g_pd3dDevice) { g_pd3dDevice->Release(); g_pd3dDevice = nullptr; }
}
void CreateRenderTarget()
{
ID3D11Texture2D* pBackBuffer;
g_pSwapChain->GetBuffer(0, IID_PPV_ARGS(&pBackBuffer));
g_pd3dDevice->CreateRenderTargetView(pBackBuffer, nullptr, &g_mainRenderTargetView);
pBackBuffer->Release();
}
void CleanupRenderTarget()
{
if (g_mainRenderTargetView) { g_mainRenderTargetView->Release(); g_mainRenderTargetView = nullptr; }
}
extern IMGUI_IMPL_API LRESULT ImGui_ImplWin32_WndProcHandler(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam);
LRESULT WINAPI WndProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam)
{
if (ImGui_ImplWin32_WndProcHandler(hWnd, msg, wParam, lParam))
return true;
switch (msg)
{
case WM_SIZE:
if (wParam == SIZE_MINIMIZED)
return 0;
g_ResizeWidth = (UINT)LOWORD(lParam);
g_ResizeHeight = (UINT)HIWORD(lParam);
return 0;
case WM_SYSCOMMAND:
if ((wParam & 0xfff0) == SC_KEYMENU)
return 0;
break;
case WM_DESTROY:
::PostQuitMessage(0);
return 0;
}
return ::DefWindowProcW(hWnd, msg, wParam, lParam);
}