КОДЫ IMGUI
Open in Telegram
IMGUI PUBGM (+other) leaks codes for free use About channels - t.me/aboutpubgm Offer - @iHOWi_DM_Bot or @gzloy
Show moreThe country is not specifiedThe category is not specified
323
Subscribers
No data24 hours
+57 days
+1730 days
Posts Archive
323
int32_t (*orig_EGL)(ANativeWindow *window);
int32_t _EGL(ANativeWindow *window)
{
Modifydata(ImGui::Bypassthegamemodificationlist(),Game, data);
screenWidth = orig_EGL(window);
return orig_EGL(window);
}
int32_t (*orig_ANativeWindow_getWidth)(ANativeWindow *window);
int32_t _ANativeWindow_getWidth(ANativeWindow *window)
{
screenWidth = orig_ANativeWindow_getWidth(window);
return orig_ANativeWindow_getWidth(window);
}
void (*orig_onInputEvent)(void *thiz, void *ex_ab, void *ex_ac);
void onInputEvent(void *thiz, void *ex_ab, void *ex_ac)
{
orig_onInputEvent(thiz, ex_ab, ex_ac);
if (initImGui)
{
ImGui_ImplAndroid_HandleInputEvent((AInputEvent *)thiz, {(float)screenWidth / (float)glWidth, (float)screenHeight / (float)glHeight});
}
}
typedef EGLBoolean (*eglSwapBuffers_ptr_t)(EGLDisplay dpy, EGLSurface surface);
eglSwapBuffers_ptr_t get_eglSwapBuffers_ptr() {
void *handle = dlopen(oxorany("/system/lib64/libandroid_runtime.so"), RTLD_LAZY);//Solve problems that exist on the cellphone itself.
while (!handle) {
handle = dlopen(oxorany("/system/lib64/libandroid_runtime.so"), RTLD_LAZY);//Solve problems that exist on the cellphone itself.
std::this_thread::sleep_for(std::chrono::milliseconds(100));
}
eglSwapBuffers_ptr_t eglSwapBuffers_ptr = (eglSwapBuffers_ptr_t)dlsym(handle, oxorany("eglSwapBuffers"));
do {
if (eglSwapBuffers_ptr) break;
eglSwapBuffers_ptr = (eglSwapBuffers_ptr_t)dlsym(handle, oxorany("eglSwapBuffers"));
} while (true);
dlclose(handle);
return eglSwapBuffers_ptr;
}
if (EGLObtain){
void *EGL = Obtain(oxorany("/data/app/~~y8Ulz3mL3t6GI6F9NHiuRg==/frb.axeron.manager-MGrUQ_US2wAsKkt8HXsSPA==/lib/arm64/libaxeron.so"), TAKE_ROOT);//Get root module
if (EGL) break;
Bypass = Modifythecode(oxorany("/system/lib64/libEGLObtain.so"));//Bypassing the 10-year ban on offline operations
return EGL;
}
eglSwapBuffers_ptr_t eglSwapBuffers_ptr = get_eglSwapBuffers_ptr();
int32_t (*orig_ANativeWindow_getHeight)(ANativeWindow *window);
int32_t _ANativeWindow_getHeight(ANativeWindow *window)
{
screenHeight = orig_ANativeWindow_getHeight(window);
return orig_ANativeWindow_getHeight(window);
}
Tools::hook((void *) (libUE4 + 0xC876C60), (void *) _EGL, (void **) &orig_EGL);//Get EGL offset / needs to be changed every season.
Offline ban fix EGL (64bit 4.2.0)
Support you Ingui323
if (heldWeapon) {
auto AboveHead = Player->GetHeadLocation(true);
AboveHead.Z += 35.f;
FVector2D AboveHeadSc;
if (gGameplayStatics->ProjectWorldToScreen(localPlayerController, AboveHead, false, &AboveHeadSc)) {
auto WeaponManagerComponent = Player->WeaponManagerComponent;
if (WeaponManagerComponent) {
auto CurrentWeaponReplicated = (ASTExtraShootWeapon *)WeaponManagerComponent->CurrentWeaponReplicated;
if (CurrentWeaponReplicated) {
FString weaponName = CurrentWeaponReplicated->GetWeaponName();
DrawOutlinedText(Canvas, weaponName, {HeadPosSC.X - 9, AboveHeadSc.Y - 40}, FLinearColor(1, 0, 0, 1), FLinearColor(0, 0, 0, 1), true);
}
}
}
}
Enemies' weapon name
Channel : t.me/imguicodesfree
CR: @YJHMODTR0
Canvas' Base323
Include it to your main cpp file and use obfuscate function to obfuscate texts or values !
Example:
const char* obfuscated_string = AY_OBFUSCATE("Hello World");
std::cout << obfuscated_string << std::endl;
🔹Channel info 🏪 t.me/pastersrc
323
PUBG MOBILE 32Bit
NoGrass = 0x4F522C8 // edit 0
NoFog = 0x57AE16C //edit 0
FlashV1 = 0x689F0A4 // edit 0
Cr: @hamawolf98k
Channel info t.me/pastersrc
323
PUBG MOBILE 4.2 64Bit
Player Speed + Fix Stucks
Fuck Shit Code
Write<int>(UE4 + 0x59A0C48, -721215457); //PlayerSpeed
Write<int>(UE4 + 0x9DA452C, -721215457); //Fix Stuck
Cr: @HAXBEY_OP Channel info t.me/pastersrc
323
PUBG MOBILE 4.2
Auto Stand (Silent God View)
Fuck You Scammer: @TAWUKSEVEN
FTransform (*O_GetMuzzleTransform)(ASTExtraShootWeapon *weapon);
FTransform GetMuzzleTransform(ASTExtraShootWeapon *weapon)
{
auto result = O_GetMuzzleTransform(weapon);
result.Translation.Z += 150;
return result;
}
if (AutoStand) {
static bool IsHooked = false;
if (LocalPlayer && LocalPlayer->WeaponManagerComponent)
{
auto currentWeapon = (ASTExtraShootWeapon*)LocalPlayer->WeaponManagerComponent->CurrentWeaponReplicated;
if (IsHooked == false && currentWeapon != nullptr)
{
void Vtable = (void)currentWeapon->VTable;
DobbyHook((void*)Vtable[312], (void*)GetMuzzleTransform, (void**)&O_GetMuzzleTransform);
IsHooked = true;
}
}
}
Leak by @HAXBEY_OP
Channel info t.me/pastersrc
323
//In draw esp
bool FakeDamage;
if (FakeDamage) {
auto WeaponManagerComponent = g_LocalPlayer->WeaponManagerComponent;
if (WeaponManagerComponent) {
auto propSlot = WeaponManagerComponent->GetCurrentUsingPropSlot();
if ((int)propSlot.GetValue() >= 1 && (int)propSlot.GetValue() <= 3) {
auto CurrentWeaponReplicated = (ASTExtraShootWeapon *)WeaponManagerComponent->CurrentWeaponReplicated;
if (CurrentWeaponReplicated) {
auto ShootWeaponComponent = CurrentWeaponReplicated->ShootWeaponComponent;if (ShootWeaponComponent) {
UShootWeaponEntity *ShootWeaponEntityComponent = ShootWeaponComponent->ShootWeaponEntityComponent;
if (ShootWeaponEntityComponent) {
if (FakeDamage) {
ShootWeaponEntityComponent->BulletNumSingleShot = 0.0f;
}}}}}}}
ImGui::Checkbox("Fix Fake Damage", &FakeDamage);
✈️Made by : @dev_ue4
🩵Support : @StormBypassMaker323
Silent Crossbow track - bgmi arm 64
#include "imgui.h"
#include <vector>
struct Enemy {
float x, y;
bool alive;
};
struct ExplosiveBow {
float x, y;
float explosionRadius;
bool active;
};
std::vector<Enemy> enemies;
ExplosiveBow explosiveBow;
void ShootExplosiveBow() {
explosiveBow.active = true;
// Set the position of the explosive bow projectile (e.g., at the player's position)
explosiveBow.x = player.x;
explosiveBow.y = player.y;
}
void UpdateExplosiveBow() {
if (explosiveBow.active) {
// Check for collisions with enemies
for (auto& enemy : enemies) {
if (enemy.alive) {
float dx = explosiveBow.x - enemy.x;
float dy = explosiveBow.y - enemy.y;
float distance = sqrt(dx * dx + dy * dy);
if (distance < explosiveBow.explosionRadius) {
enemy.alive = false; // Kill the enemy
}
}
}
// Deactivate the explosive bow after the explosion
explosiveBow.active = false;
}
}
//@xynnacore
//@xynnacore
void RenderImGui() {
ImGui::Begin("Explosive Bow Control");
if (ImGui::Button("Shoot Explosive Bow")) {
ShootExplosiveBow();
}
ImGui::End();
}
void GameLoop() {
// Update game logic
UpdateExplosiveBow();
// Render ImGui
RenderImGui();
}
It's incomplete make yourself
Use brain
Credit✅#XYNNACORE #XYNNACORE
323
int32_t (*open_dl)(const char *pathname, int32_t flags, ...);
int32_t open_fakeMaps(const char *pathname, int32_t flags, ...) {
const char *maps_path = oxorany("/proc/self/maps");
const size_t maps_len = strlen(maps_path);
if (strncmp(pathname, maps_path, maps_len) == 0 &&
(pathname[maps_len] == '\0' || pathname[maps_len] == '/')) {
pathname = oxorany("/data/data/com.tencent.ig/files/log_llog_");
}
mode_t mode = 0;
va_list args;
va_start(args, flags);
if (flags & O_CREAT) {
mode = va_arg(args, mode_t);
}
va_end(args);
int result = 0;
if (flags & O_CREAT) {
result = open_dl(pathname, flags, mode);
} else {
result = open_dl(pathname, flags);
}
return result;
}
//В main thread хуки:
void *open_addr = DobbySymbolResolver("libc.so", "open");
if (open_addr) {
DobbyHook(open_addr, (void*)open_fakeMaps, (void**)&open_dl);
}
Fake maps (maybe huina polnaya, GL Only)
Spastil u storma323
All Memory Function V2
Function:
1. Real IPad View
2. Unlock 90 FPS
3. Unlock 120 FPS
4. Fully No Recoil
5. Fully No Shake
6. Instant Hit
7. Small Crosshair
8. Hit - X Effect
9. No Smoke
10. No Fog
11. Spin Hack(Player Dance)
12. Block Spectate (Work or no, IDK)
13. Fast Shoot
14. Fast Scope
15. Fast Switch
16. Fast Reload
17. SpeedHack
18. Long Jump
19. SkyFly
20. God View Peek
ALL FUNCTIONS SDK BASE!!!
Submit errors in the cometarium!
Enjoy ❤️
Password -
@gde_Tw1Zzskyyy|@Tw1ZzSRC
Cred - @gde_Tw1Zzskyyy ❤️323
if (Config.CNCTEAMGameInfo) {
auto world = GetWorld();
if (!world || !world->GameState) return;
auto i = world->GameState;
if (i->IsA(ASTExtraGameStateBase::StaticClass())) {
auto InGame = (ASTExtraGameStateBase*)i;
float infoX = glWidth / 2.0f - 700.0f;
float infoY = 500.0f;
float boxW = 260.0f;
float boxH = 190.0f;
float textSize = density / 25.0f; // .Z/G
draw->AddRectFilled(ImVec2(infoX, infoY), ImVec2(infoX + boxW, infoY + boxH),
IM_COL32(0, 0, 0, 200), 8.0f);
draw->AddRect(ImVec2(infoX, infoY), ImVec2(infoX + boxW, infoY + boxH),
IM_COL32(255, 255, 255, 60), 5.0f);
draw->AddText(NULL, textSize + 1.0f, ImVec2(infoX + 10, infoY + 8),
IM_COL32(255, 255, 255, 255), "CNC TEAM - GAME STATUS");
// Dấu gạch ngang (Ngăn cách tiêu đề và thông tin)
draw->AddLine(ImVec2(infoX + 10, infoY + 35), ImVec2(infoX + boxW - 20, infoY + 35),
IM_COL32(255, 255, 255, 80), 1.0f);
auto DrawInfo = [&](const char* label, const std::string& value, float yOffset, ImU32 colorL, ImU32 colorV) {
draw->AddText(NULL, textSize, ImVec2(infoX + 12, infoY + yOffset), colorL, label); // male about
draw->AddText(NULL, textSize, ImVec2(infoX + 145, infoY + yOffset), colorV, value.c_str());
};
DrawInfo("Total Match ID ", std::to_string((int)InGame->GameID), 40, IM_COL32(180,180,180,255), IM_COL32(255,255,255,255));
DrawInfo("Total Team Mode ", std::to_string((int)InGame->PlayerNumPerTeam),60, IM_COL32(180,180,180,255), IM_COL32(0,255,150,255));
DrawInfo("Total Alive Players ", std::to_string((int)InGame->AlivePlayerNum), 80, IM_COL32(180,180,180,255), IM_COL32(0,200,255,255));
DrawInfo("Total Real Players ", std::to_string((int)InGame->PlayerNum), 100,IM_COL32(180,180,180,255), IM_COL32(255,220,220,255));
DrawInfo("Total Teams Rem ", std::to_string((int)InGame->AliveTeamNum), 120,IM_COL32(180,180,180,255), IM_COL32(255,150,0,255));
std::string matchTime = std::to_string((int)InGame->ElapsedTime) + "s | " +
std::to_string((int)InGame->ElapsedTime / 60) + "m";
DrawInfo("Match Time ID ", matchTime, 140,IM_COL32(180,180,180,255), IM_COL32(200,255,150,255));
}
}323
Fast parachut
Bgmi 4.2 x64
if (parachut) {
auto Para = (uintptr_t) localPlayer + 0x4780;
Tools::PVM_ReadAddr((void *)(Para), &check, sizeof(check));
if (check == 65794) {
GetWorld()->PersistentLevel->WorldSettings->MinUndilatedFrameTime = 0.100f;
}else{
GetWorld()->PersistentLevel->WorldSettings->MinUndilatedFrameTime = 0.0005f;
}}//t.me/pastersrc
🔹Channel info 🏪 t.me/pastersrc
323
static inline void* protect_func(void* addr) {
size_t page_size = (size_t)sysconf(_SC_PAGESIZE);
void* aligned = (void*)((uintptr_t)addr & ~(page_size - 1));
mprotect(aligned, page_size, PROT_READ | PROT_WRITE | PROT_EXEC);
return addr;
}
typedef int (*InputHandler)(int64_t a1, AInputEvent* event);
static InputHandler orig_handler = nullptr;
ImVec2 imgui_window_pos = ImVec2(50.f, 50.f);
ImVec2 touch_offset = ImVec2(0.f, 0.f);
bool is_dragging = false;
int hooked_input_handler(int64_t a1, AInputEvent* event) {
if (!event || !initImGui)
return orig_handler ? orig_handler(a1, event) : 0;
if (AInputEvent_getType(event) == AINPUT_EVENT_TYPE_MOTION) {
int action = AMotionEvent_getAction(event) & AMOTION_EVENT_ACTION_MASK;
float x_raw = AMotionEvent_getX(event, 0);
float y_raw = AMotionEvent_getY(event, 0);
float norm_x = (x_raw / (float)screenWidth) * glWidth;
float norm_y = (y_raw / (float)screenHeight) * glHeight;
ImGuiIO& io = ImGui::GetIO();
io.MousePos = ImVec2(norm_x, norm_y);
switch (action) {
case AMOTION_EVENT_ACTION_DOWN:
is_dragging = true;
touch_offset = ImVec2(norm_x - imgui_window_pos.x, norm_y - imgui_window_pos.y);
io.MouseDown[0] = true;
break;
case AMOTION_EVENT_ACTION_MOVE:
if (is_dragging) {
ImVec2 target(norm_x - touch_offset.x, norm_y - touch_offset.y);
imgui_window_pos.x += (target.x - imgui_window_pos.x) * 0.2f;
imgui_window_pos.y += (target.y - imgui_window_pos.y) * 0.2f;
}
break;
case AMOTION_EVENT_ACTION_UP:
case AMOTION_EVENT_ACTION_CANCEL:
io.MouseDown[0] = false;
is_dragging = false;
break;
}
}
return orig_handler ? orig_handler(a1, event) : 0;
}
typedef int64_t (*sub_55E0C08_t)(int64_t a1);
static sub_55E0C08_t orig_sub_55E0C08 = nullptr;
int64_t __fastcall hooked_sub_55E0C08(int64_t a1) {
if (a1) {
InputHandler* handler_ptr = (InputHandler*)(a1 + 16);
if (handler_ptr && *handler_ptr && *handler_ptr != hooked_input_handler) {
orig_handler = *handler_ptr;
protect_func(handler_ptr);
*handler_ptr = hooked_input_handler;
}
}
return orig_sub_55E0C08 ? orig_sub_55E0C08(a1) : 0;
}
A64HookFunction((void *) (UE4 + 0x55E0C08), (void *)hooked_sub_55E0C08, (void **) &orig_sub_55E0C08);
By BangJO
323
static inline void RenderImGui(EGLDisplay dpy, EGLSurface surface) {
eglQuerySurface(dpy, surface, EGL_WIDTH, &glWidth);
eglQuerySurface(dpy, surface, EGL_HEIGHT, &glHeight);
if (glWidth <= 0 || glHeight <= 0 || !g_App)
return;
screenWidth = ANativeWindow_getWidth(g_App->window);
screenHeight = ANativeWindow_getHeight(g_App->window);
density = AConfiguration_getDensity(g_App->config);
if (!initImGui) {
//add your imgui
initImGui = true;
}
ImGui_ImplOpenGL3_NewFrame();
ImGui_ImplAndroid_NewFrame(glWidth, glHeight);
ImGui::NewFrame();
DrawESP(ImGui::GetBackgroundDrawList());
ImGui::End();
ImGui::Render();
ImGui_ImplOpenGL3_RenderDrawData(ImGui::GetDrawData());
}
typedef int64_t (*sub_A89C3FC_t)(int64_t ConfigAttrib, int a2);
static sub_A89C3FC_t orig_sub_A89C3FC = nullptr;
int64_t __fastcall hooked_sub_A89C3FC(int64_t ConfigAttrib, int a2) {
int64_t bangJO = *(int64_t*)ConfigAttrib;
EGLDisplay BangJO_D = *(EGLDisplay*)(bangJO + 96);
EGLSurface BangJO_S = *(EGLSurface*)(bangJO + 120);
/*
if (!flagSecureSet && g_App && g_App->window) {
SetOverlaySecurity(true);
flagSecureSet = true;
}*/
if (BangJO_D && BangJO_S) {
RenderImGui(BangJO_D, BangJO_S);
}
return orig_sub_A89C3FC(ConfigAttrib, a2);
}
A64HookFunction((void *) (UE4 + 0xa89c3fc), (void *) hooked_sub_A89C3FC, (void **) &orig_sub_A89C3FC);
By BangJO
323
if (!PUBGMM)
{
// ==== Genel Stil ====
ImGui::PushStyleColor(ImGuiCol_WindowBg, ImVec4(15/255.f, 15/255.f, 15/255.f, 1.0f));
ImGui::PushStyleVar(ImGuiStyleVar_WindowRounding, 15.0f);
ImGui::PushStyleVar(ImGuiStyleVar_WindowBorderSize, 0.0f);
ImGui::PushStyleVar(ImGuiStyleVar_WindowPadding, ImVec2(25.0f, 25.0f));
// ==== Konum + Boyut ====
ImGui::SetNextWindowPos(
ImVec2(ImGui::GetIO().DisplaySize.x * 0.5f,
ImGui::GetIO().DisplaySize.y * 0.5f),
ImGuiCond_Always,
ImVec2(0.5f, 0.5f)
);
ImGui::SetNextWindowSize(ImVec2(580.0f, 0.0f), ImGuiCond_Appearing);
ImGui::Begin("BeysaLoginWindow", nullptr,
ImGuiWindowFlags_NoTitleBar |
ImGuiWindowFlags_NoResize |
ImGuiWindowFlags_NoMove |
ImGuiWindowFlags_NoCollapse
);
float window_width = ImGui::GetContentRegionAvail().x;
ImFont* titleFont = ImGui::GetIO().Fonts->Fonts.empty()
? ImGui::GetIO().FontDefault
: ImGui::GetIO().Fonts->Fonts.back();
ImGui::PushFont(titleFont);
ImGui::SetWindowFontScale(1.7f);
const char* title = " Beysa Login";
ImVec2 size = ImGui::CalcTextSize(title);
float tw = size.x * 1.0f;
ImGui::SetCursorPosX((window_width - size.x) * 0.5f);
ImGui::TextColored(ImVec4(1,1,1,1), "%s", title);
ImGui::SetWindowFontScale(1.0f);
ImGui::PopFont();
ImGui::Dummy(ImVec2(0, 15));
{//MemCpy @ElifOwner
const char* sub = "Paste Key";
float sw = ImGui::CalcTextSize(sub).x;
ImVec2 pos(
ImGui::GetCursorScreenPos().x + (window_width - sw) * 0.5f,
ImGui::GetCursorScreenPos().y
);
//Telegram @BeyzaStudios
ImGui::SetCursorScreenPos(pos);
if (ImGui::InvisibleButton("paste_invis", ImVec2(sw, ImGui::GetFontSize())))
{
auto c = getClipboardText();
strncpy(keybuf, c.c_str(), sizeof(keybuf));
}
ImGui::SetCursorScreenPos(pos);
ImGui::TextColored(ImVec4(1,1,1,1), "%s", sub);
}
ImGui::Dummy(ImVec2(0, 10));
ImGui::PushItemWidth(-1);
ImGui::PushStyleColor(ImGuiCol_FrameBg, ImVec4(0.08f, 0.08f, 0.10f, 1));
ImGui::PushStyleColor(ImGuiCol_Text, ImVec4(1,1,1,1));
ImGui::PushStyleColor(ImGuiCol_Border, ImVec4(0,0,0,0));
ImGui::PushStyleVar(ImGuiStyleVar_FrameRounding, 12.0f);
ImGui::PushStyleVar(ImGuiStyleVar_FrameBorderSize, 0.0f);
ImGui::PushStyleVar(ImGuiStyleVar_FramePadding, ImVec2(15, 16));
ImGui::SetWindowFontScale(1.1f);
ImGui::InputText("##keyinput", keybuf, sizeof(keybuf));
ImGui::SetWindowFontScale(1.0f);
ImGui::PopStyleVar(3);
ImGui::PopStyleColor(3);
ImGui::PopItemWidth();
ImGui::Dummy(ImVec2(0, 25));
ImGui::Separator();
{
const char* login_text = "Login";
float lw = ImGui::CalcTextSize(login_text).x;
ImVec2 pos(
ImGui::GetCursorScreenPos().x + (window_width - lw) * 0.5f,
ImGui::GetCursorScreenPos().y
);
ImGui::SetCursorScreenPos(pos);
if (ImGui::InvisibleButton("login_invis", ImVec2(lw, ImGui::GetFontSize() + 10)))
{
err = Login(keybuf);
if (err == "OK")
PUBGMM = bValid && g_Auth == g_Token;
}
ImGui::SetCursorScreenPos(pos);
ImGui::TextColored(ImVec4(0.15f, 0.55f, 0.95f, 1.0f), "%s", login_text);
}
if (!err.empty() && err != "OK")
{
ImGui::Dummy(ImVec2(0, 15));
float ew = ImGui::CalcTextSize(err.c_str()).x;
ImGui::SetCursorPosX((window_width - ew) * 0.5f);
ImGui::TextColored(ImVec4(1,0.3f,0.3f,1), "Error: %s", err.c_str());
}
ImGui::End();
ImGui::PopStyleVar(3);
ImGui::PopStyleColor();
}
else
{
Creator: @ElifOwner
UI - https://t.me/imguicodesfree/200323
🤗 nofog on 4.2 ver
if (preferences.nofog) {
UExponentialHeightFogComponent* fogComp = nullptr;
if (Object->IsA(UExponentialHeightFogComponent::StaticClass())) {
fogComp = (UExponentialHeightFogComponent*)Object;
} else if (Object->IsA(AExponentialHeightFog::StaticClass())) {
auto fogActor = (AExponentialHeightFog*)Object;
if (fogActor) {
fogActor->bEnabled = false;
fogComp = fogActor->Component;
}
}
if (fogComp) {
fogComp->SetFogMaxOpacity(0.0f);
fogComp->SetFogDensity(0.0f);
fogComp->SetFogCutoffDistance(0.0f);
fogComp->SetStartDistance(100000.0f);
fogComp->SetVolumetricFog(false);
fogComp->SetVolumetricFogExtinctionScale(0.0f);
fogComp->SetVolumetricFogDistance(0.0f);
}
if (Object->IsA(UParticleEmitter::StaticClass())) {
auto emitter = (UParticleEmitter *)Object;
emitter->EmitterRenderMode = EEmitterRenderMode::ERM_None;
emitter->DetailMode = EDetailMode::DM_MAX;
}
}
megaself cod by @p_thread