 |
|

06.04.2024, 17:13
|
|
Познающий
Регистрация: 11.05.2023
Сообщений: 53
С нами:
1585608
Репутация:
23
|
|
Именно когда я хочу вывести вектор микрофонов в имгуи комбо я встречаю типо такого - ???? Realtek(R) Audio
|
|
|

06.04.2024, 17:28
|
|
Флудер
Регистрация: 10.08.2021
Сообщений: 6,010
С нами:
2505538
Репутация:
133
|
|
[IMGUI] Русские символы
Здравствуйте форумчане. У меня есть вопрос, как можно сделать поддержку русских символов в Imgui меню. Разрабатываю я его на c++ для игры варфейс. Спасибо за ранее
www.blast.hk
|
|
|

06.04.2024, 17:45
|
|
Познающий
Регистрация: 11.05.2023
Сообщений: 53
С нами:
1585608
Репутация:
23
|
|
Сообщение от ChromiusJ
[IMGUI] Русские символы
Здравствуйте форумчане. У меня есть вопрос, как можно сделать поддержку русских символов в Imgui меню. Разрабатываю я его на c++ для игры варфейс. Спасибо за ранее
www.blast.hk
Дядя я сказал в С++. Вектор для тебя это прикол?
Сообщение от penta
Дядя я сказал в С++. Вектор для тебя это прикол?
+ вариант выше с вектором не проходит, только если объявлять в самом файле переменную
|
|
|

09.04.2024, 22:35
|
|
Флудер
Регистрация: 18.03.2013
Сообщений: 4,080
С нами:
6921957
Репутация:
183
|
|
Арик, тебе дали для плюсов. Какие вопросы? Если что функция возращает указатель на созданный шрифт.
|
|
|

09.04.2024, 23:13
|
|
Познающий
Регистрация: 11.05.2023
Сообщений: 53
С нами:
1585608
Репутация:
23
|
|
Сообщение от Dark_Knight
Арик, тебе дали для плюсов. Какие вопросы? Если что функция возращает указатель на созданный шрифт.
Отредактировано было. А еще шрифт не помогает.
|
|
|

09.04.2024, 23:18
|
|
Флудер
Регистрация: 18.03.2013
Сообщений: 4,080
С нами:
6921957
Репутация:
183
|
|
Сообщение от penta
Отредактировано было. А еще шрифт не помогает.
Не факт, что шрифт имеет такой набор символов или же указан неправильный диапазон
|
|
|

09.04.2024, 23:38
|
|
Познающий
Регистрация: 11.05.2023
Сообщений: 53
С нами:
1585608
Репутация:
23
|
|
C++:
Код:
HRESULT
getMicrofones
(
)
{
HRESULT hr
;
IMMDeviceEnumerator
*
pEnumerator
=
NULL
;
IMMDeviceCollection
*
pDevices
=
NULL
;
IMMDevice
*
pDevice
=
NULL
;
LPWSTR pwszID
=
NULL
;
IPropertyStore
*
pProps
=
NULL
;
PROPVARIANT varName
;
hr
=
CoInitialize
(
NULL
)
;
if
(
FAILED
(
hr
)
)
{
return
hr
;
}
hr
=
CoCreateInstance
(
__uuidof
(
MMDeviceEnumerator
)
,
NULL
,
CLSCTX_ALL
,
__uuidof
(
IMMDeviceEnumerator
)
,
(
void
*
*
)
&
pEnumerator
)
;
if
(
FAILED
(
hr
)
)
{
CoUninitialize
(
)
;
return
hr
;
}
hr
=
pEnumerator
->
EnumAudioEndpoints
(
eCapture
,
DEVICE_STATE_ACTIVE
,
&
pDevices
)
;
if
(
FAILED
(
hr
)
)
{
pEnumerator
->
Release
(
)
;
CoUninitialize
(
)
;
return
hr
;
}
UINT count
;
hr
=
pDevices
->
GetCount
(
&
count
)
;
if
(
FAILED
(
hr
)
)
{
pDevices
->
Release
(
)
;
pEnumerator
->
Release
(
)
;
CoUninitialize
(
)
;
return
hr
;
}
for
(
UINT i
=
0
;
i
Item
(
i
,
&
pDevice
)
;
if
(
FAILED
(
hr
)
)
{
continue
;
}
hr
=
pDevice
->
GetId
(
&
pwszID
)
;
if
(
FAILED
(
hr
)
)
{
pDevice
->
Release
(
)
;
continue
;
}
hr
=
pDevice
->
OpenPropertyStore
(
STGM_READ
,
&
pProps
)
;
if
(
FAILED
(
hr
)
)
{
CoTaskMemFree
(
pwszID
)
;
pDevice
->
Release
(
)
;
continue
;
}
PropVariantInit
(
&
varName
)
;
hr
=
pProps
->
GetValue
(
PKEY_Device_FriendlyName
,
&
varName
)
;
if
(
FAILED
(
hr
)
)
{
pProps
->
Release
(
)
;
CoTaskMemFree
(
pwszID
)
;
pDevice
->
Release
(
)
;
continue
;
}
size_t size
=
wcslen
(
varName
.
pwszVal
)
+
1
;
char
*
buffer
=
new
char
[
size
]
;
wcstombs
(
buffer
,
varName
.
pwszVal
,
size
)
;
microphones
.
push_back
(
buffer
)
;
PropVariantClear
(
&
varName
)
;
pProps
->
Release
(
)
;
CoTaskMemFree
(
pwszID
)
;
pDevice
->
Release
(
)
;
}
pDevices
->
Release
(
)
;
pEnumerator
->
Release
(
)
;
CoUninitialize
(
)
;
return
S_OK
;
}
std
::
optional
D3D9Present
(
const
decltype
(
PresentHook
)
&
hook
,
IDirect3DDevice9
*
pDevice
,
CONST RECT
*
pSrcRect
,
CONST RECT
*
pDestRect
,
HWND hDestWindow
,
CONST RGNDATA
*
pDirtyRegion
)
{
static
bool
ImGuiInit
{
}
;
if
(
!
ImGuiInit
)
{
ImGui
::
CreateContext
(
)
;
ImGui_ImplWin32_Init
(
*
*
reinterpret_cast
(
0xC17054
)
)
;
ImGui_ImplDX9_Init
(
pDevice
)
;
ImGui
::
GetIO
(
)
.
IniFilename
=
nullptr
;
#pragma warning(push)
#pragma warning(disable: 4996)
std
::
string font
{
getenv
(
"WINDIR"
)
}
;
font
+=
"\\Fonts\\Arialbd.TTF"
;
#pragma warning(pop)
ImGui
::
GetIO
(
)
.
Fonts
->
AddFontFromFileTTF
(
"C:\\Windows\\Fonts\\Arial.ttf"
,
16.5f
,
NULL
,
ImGui
::
GetIO
(
)
.
Fonts
->
GetGlyphRangesCyrillic
(
)
)
;
fontVoice
=
ImGui
::
GetIO
(
)
.
Fonts
->
AddFontFromMemoryTTF
(
monserratbold
,
sizeof
(
monserratbold
)
,
22.0f
,
NULL
,
ImGui
::
GetIO
(
)
.
Fonts
->
GetGlyphRangesCyrillic
(
)
)
;
style
(
)
;
auto
latest_wndproc_ptr
=
GetWindowLongPtrW
(
*
*
reinterpret_cast
(
0xC17054
)
,
GWLP_WNDPROC
)
;
WndProcHook
.
set_dest
(
latest_wndproc_ptr
)
;
WndProcHook
.
set_cb
(
&
WndProc
)
;
WndProcHook
.
install
(
)
;
ImGuiInit
=
{
true
}
;
}
ImGui_ImplDX9_NewFrame
(
)
;
ImGui_ImplWin32_NewFrame
(
)
;
ImGui
::
NewFrame
(
)
;
ImGui
::
Combo
(
u8
"ShowMic"
,
&
selectedMic
,
microphones
.
data
(
)
,
microphones
.
size
(
)
)
;
}
void
main
(
)
{
static
bool
inited
=
false
;
setlocale
(
LC_ALL
,
"rus"
)
;
if
(
!
inited
&&
samp
::
RefChat
(
)
!=
nullptr
)
{
getMicrofones
(
)
;
inited
=
true
;
}
}
где моя ошибка?
Сообщение от Dark_Knight
Не факт, что шрифт имеет такой набор символов или же указан неправильный диапазон
выше код написал
|
|
|

09.04.2024, 23:57
|
|
Флудер
Регистрация: 18.03.2013
Сообщений: 4,080
С нами:
6921957
Репутация:
183
|
|
Банально я удивлен как оно у тебя вообще работает хотя не должно, а ну да. В дебаге рендеришь. Короче. переделывай рендер. Насколько я помню, дебаг окно имгуи только стандартный шрифт имгуи юзает. и комбо уже давно устарелая функция.
|
|
|

09.04.2024, 23:58
|
|
Познающий
Регистрация: 11.05.2023
Сообщений: 53
С нами:
1585608
Репутация:
23
|
|
Сообщение от Dark_Knight
Банально Я удивлен как оно у тебя вообще работает хотя не должно, а ну да. В дебаге рендеришь. Короче. переделывай рендер. Насколько я помню, дебаг окно имгуи только стандартный шрифт имгуи юзает. и комбо уже давно устарелая функция.
не дебаг окно, оно внутри имгуи::бегин, и что посоветуешь вместо комбо?
|
|
|

10.04.2024, 00:01
|
|
Флудер
Регистрация: 18.03.2013
Сообщений: 4,080
С нами:
6921957
Репутация:
183
|
|
Сообщение от penta
не дебаг окно, оно внутри имгуи::бегин, и что посоветуешь вместо комбо?
Документацию и тестовое приложение. У меня уже давно ВСки нет и хз че там. Точно помню, что комбо deprecated
И убери локаль.
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|