Imgui draw cpp ошибка

Hatiko


  • #2

Косяк в коде скрипта. Самоубийство самому искать ошибку в чужом коде не запуская игру. Обратись к автору.

MS.Corleone


  • #3

Косяк в коде скрипта. Самоубийство самому искать ошибку в чужом коде не запуская игру. Обратись к автору.

Проблема в том что у остальных то он работает…. Если бы была ошибка в коде то не работало бы у всех…

chapo


  • #4

Проблема в том что у остальных то он работает…. Если бы была ошибка в коде то не работало бы у всех…

Мб нет fAwesome

MS.Corleone


  • #5

Последнее редактирование: 12 Мар 2021

MS.Corleone


  • #6

Чел. Это не то что ты предположил но твой вопрос (предположение) мне очень помогло.

MS.Corleone


  • #7

РЕШЕНИЕ

Для решение данной проблемы вам необходим закинуть папку «resource» в moonloader.


Я плохо разбираюсь в программировании, поэтому на протяжении 2-3 дней пытался найти решение в интернете. За весь поиск я наткнулся на 2 подобные темы но там это проблему никто не решил. Я знаю может это и пустяковая ошибка но на ее решение я потратил как мне кажется очень много времени.

Всем удачи!

  • resource.zip

    197.8 KB

    · Просмотры: 1,024

  • Must be building with -O3
  • IMGUI_ENABLE_FREETYPE is defined (or the call to stbrp_pack_rects in ImFontAtlasBuildWIthStbTruetype is commented out)
  • Conditionally does throw SomethingThatCanThrow(); (eg. throw std::runtime_error { msg }, throw new int;, throw std::string { msg };)

It’s weird… (If the assertion function always returns or #define IM_ASSERT(_EXPR) (void)0 then it can be duplicated with only -O1 + IMGUI_ENABLE_FREETYPE or same commented stbrp_pack_rects)

diff --git a/imconfig.h b/imconfig.h
index 876cf32..28a886e 100644
--- a/imconfig.h
+++ b/imconfig.h
@@ -19,6 +19,22 @@
 //#define IM_ASSERT(_EXPR)  MyAssert(_EXPR)
 //#define IM_ASSERT(_EXPR)  ((void)(_EXPR))     // Disable asserts
 
+#ifdef TRIGGER_BUG_5343
+#  define IM_ASSERT(_EXPR) NonHintingAssert(_EXPR)
+extern int runtime_value;
+int MayThrow()
+{
+  if(runtime_value)
+    return 4;
+  throw 2;
+}
+void NonHintingAssert(bool ok)
+{
+  if(!ok)
+    throw MayThrow(); // any function or constructor the may also conditionally throw
+}
+#endif
+
 //---- Define attributes of all API symbols declarations, e.g. for DLL under Windows
 // Using Dear ImGui via a shared library is not recommended, because of function call overhead and because we don't guarantee backward nor forward ABI compatibility.
 // DLL users: heaps and globals are not shared across DLL boundaries! You will need to call SetCurrentContext() + SetAllocatorFunctions()
diff --git a/imgui_draw.cpp b/imgui_draw.cpp
index 6082f10..140e571 100644
--- a/imgui_draw.cpp
+++ b/imgui_draw.cpp
@@ -2512,7 +2512,9 @@ static bool ImFontAtlasBuildWithStbTruetype(ImFontAtlas* atlas)
         if (src_tmp.GlyphsCount == 0)
             continue;
 
+#ifndef NO_PACK_RECTS
         stbrp_pack_rects((stbrp_context*)spc.pack_info, src_tmp.Rects, src_tmp.GlyphsCount);
+#endif
 
         // Extend texture height and mark missing glyphs as non-packed so we won't render them.
         // FIXME: We are not handling packing failure here (would happen if we got off TEX_HEIGHT_MAX or if a single if larger than TexWidth?)
@@ -2630,6 +2632,11 @@ void ImFontAtlasBuildPackCustomRects(ImFontAtlas* atlas, void* stbrp_context_opa
     ImVector<ImFontAtlasCustomRect>& user_rects = atlas->CustomRects;
     IM_ASSERT(user_rects.Size >= 1); // We expect at least the default custom rects to be registered, else something went wrong.
 
+#ifdef WORKAROUND_BUG_5343
+    if (user_rects.Size < 1)
+        __builtin_unreachable();
+#endif
+
     ImVector<stbrp_rect> pack_rects;
     pack_rects.resize(user_rects.Size);
     memset(pack_rects.Data, 0, (size_t)pack_rects.size_in_bytes());
$ gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-pc-linux-gnu/12.2.1/lto-wrapper
Target: x86_64-pc-linux-gnu
Configured with: /build/gcc/src/gcc/configure --enable-languages=c,c++,ada,fortran,go,lto,objc,obj-c++,d --enable-bootstrap --prefix=/usr --libdir=/usr/lib --libexecdir=/usr/lib --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=https://bugs.archlinux.org/ --with-build-config=bootstrap-lto --with-linker-hash-style=gnu --with-system-zlib --enable-__cxa_atexit --enable-cet=auto --enable-checking=release --enable-clocale=gnu --enable-default-pie --enable-default-ssp --enable-gnu-indirect-function --enable-gnu-unique-object --enable-libstdcxx-backtrace --enable-link-serialization=1 --enable-linker-build-id --enable-lto --enable-multilib --enable-plugin --enable-shared --enable-threads=posix --disable-libssp --disable-libstdcxx-pch --disable-werror
Thread model: posix
Supported LTO compression algorithms: zlib zstd
gcc version 12.2.1 20230201 (GCC)
$ gcc -O3 -I. -DIMGUI_ENABLE_FREETYPE -c imgui_draw.cpp
# (no output)

$ gcc -O3 -I. -DIMGUI_ENABLE_FREETYPE -c imgui_draw.cpp -DTRIGGER_BUG_5343
imgui_draw.cpp: In function ‘void ImFontAtlasBuildPackCustomRects(ImFontAtlas*, void*)’:
imgui_draw.cpp:2642:11: warning: ‘void* memset(void*, int, size_t)’ specified size between 18446744071562067968 and 18446744073709551615 exceeds maximum object size 9223372036854775807 [-Wstringop-overflow=]
 2642 |     memset(pack_rects.Data, 0, (size_t)pack_rects.size_in_bytes());
      |     ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

$ gcc -O3 -I. -DIMGUI_ENABLE_FREETYPE -c imgui_draw.cpp -DTRIGGER_BUG_5343 -DWORKAROUND_BUG_5343
# (no output)
$ gcc -O3 -DNO_PACK_RECTS -c imgui_draw.cpp
# (no output)

$ gcc -O3 -DNO_PACK_RECTS -c imgui_draw.cpp -DTRIGGER_BUG_5343
imgui_draw.cpp: In function ‘void ImFontAtlasBuildPackCustomRects(ImFontAtlas*, void*)’:
imgui_draw.cpp:2642:11: warning: ‘void* memset(void*, int, size_t)’ specified size between 18446744071562067968 and 18446744073709551615 exceeds maximum object size 9223372036854775807 [-Wstringop-overflow=]
 2642 |     memset(pack_rects.Data, 0, (size_t)pack_rects.size_in_bytes());
      |     ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

$ gcc -O3 -DNO_PACK_RECTS -c imgui_draw.cpp -DTRIGGER_BUG_5343 -DWORKAROUND_BUG_5343
# (no output)

EDIT: Tried to narrow it down further by removing parts of imgui_draw.cpp until the warning went away (hoping to find a minimal snippet that could be reported). At some point adding or removing one of StyleColorsDark‘s lines determined whether that warning shows up!

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

Pick a username
Email Address
Password

By clicking “Sign up for GitHub”, you agree to our terms of service and
privacy statement. We’ll occasionally send you account related emails.

Already on GitHub?
Sign in
to your account

besteLeben


    Автор темы

  • #1

попастил так скажем смеф, решил заинжектить (доступ к сурсам есть, инжекчу дллку)
написало это —
Microsoft Visual C++ Runtime Libraty

Assertion failed!

Program: C:UsersUserDesktopVxrXNuqxt.dll <— это я так просто назвал прогу
File: imguiimgui_draw.cpp
Line: 1171

Expression: 0

For information on how your program can couse an assertion
failure, see the Visual C++ documentation on asserts

(Press Retry to debug the application — JIT must be enabled)

Все распространяемые пакеты c++ уже скачаны (+перекачал щас) ничего не помогает
у меня стоит визуал студио 2к17-ого года

P45H3


  • #2

Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.

Просто скипай ошибку. Или скомпиль в релизе.

iExpoit


  • #3

Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.

besteLeben


    Автор темы

  • #4

Просто скипай ошибку. Или скомпиль в релизе.

а из за чего эта ошибка происходит?

кааавооооо какой суши
це шо

P45H3


  • #5

Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.

а из за чего эта ошибка происходит?

Из-за кривых рук кодера.

wenstony

Участник


  • #6

Если ты сам хз в чём проблема
Есть пара способов
1) поищи другие исходы,чекни крашит ли они
2) Line: 1171 чекни что в этой строчке может поймёшь
3) Попробуй просто удалить эту строчку у меня иногда прокатывало,но могут появиться ещё несколько ошибок

One way I’ve been able to reproduce your error is by using an erroneous filename. I suspect your «Broken Glass.ttf» file either contains a typo in the name, or is not located in the root folder of your project, in which case you should use the full path to the .ttf file.

Here’s an example of a glfw + imgui implementation with a different font that works for me. Your code is in start():

import glfw
import OpenGL.GL as gl
import imgui
from imgui.integrations.glfw import GlfwRenderer

window_width = 960
window_height = 540
window_name = "glfw / imgui window"

def glfw_init():

    if not glfw.init():
        print("Could not initialize OpenGL context.")
        exit(1)

    glfw.window_hint(glfw.CONTEXT_VERSION_MAJOR, 3)
    glfw.window_hint(glfw.CONTEXT_VERSION_MINOR, 3)
    glfw.window_hint(glfw.OPENGL_PROFILE, glfw.OPENGL_CORE_PROFILE)
    glfw.window_hint(glfw.OPENGL_FORWARD_COMPAT, gl.GL_TRUE)

    window = glfw.create_window(window_width, window_height, window_name, None, None);
    glfw.make_context_current(window)

    if not window:
        glfw.terminate()
        print("Could not initialize Window")
        exit(1)

    return window

def start():
    io = imgui.get_io()
    io.fonts.clear()
    io.font_global_scale = 1
    new_font = io.fonts.add_font_from_file_ttf("Roboto-Regular.ttf", 20.0, io.fonts.get_glyph_ranges_latin())
    impl.refresh_font_texture()

def onupdate():
    imgui.begin("Test window")
    imgui.text("ABCDEFGHIJKLMNOPQRTSUVWXYZnabcdefghijklmnopqrstuvwxyzn1234567890!@#$%^&*()")
    imgui.image(imgui.get_io().fonts.texture_id, 512, 512)
    imgui.end()


if __name__ == "__main__":
    imgui.create_context()
    window = glfw_init()
    impl = GlfwRenderer(window)
    start()
    while not glfw.window_should_close(window):
        glfw.poll_events()
        impl.process_inputs()

        imgui.new_frame()
        gl.glClearColor(0.0, 0.0, 0.0, 1.0)
        gl.glClear(gl.GL_COLOR_BUFFER_BIT)

        onupdate()

        imgui.render()
        impl.render(imgui.get_draw_data())
        glfw.swap_buffers(window)

    impl.shutdown()
    glfw.terminate()

Понравилась статья? Поделить с друзьями:

Не пропустите эти материалы по теме:

  • Яндекс еда ошибка привязки карты
  • Imf exe системная ошибка
  • Imessages ошибка активации
  • Imessage ожидание активации ошибка
  • Imessage mac os произошла неизвестная ошибка

  • 0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии