HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
Баннер 1   Баннер 2
НОВЫЕ ТОРГОВАЯ НОВОСТИ ЧАТ
loading...
Скрыть
Вернуться   ANTICHAT > ПРОГРАММИРОВАНИЕ > Общие вопросы программирования
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #1  
Старый 01.07.2024, 11:53
yoonost
Познающий
Регистрация: 21.01.2019
Сообщений: 62
С нами: 3847510

Репутация: 58
По умолчанию

В чем проблема? Во время прорисовки радара крашит игру, пробовал сделать многое но результат один. В коде сейчас стандартный код gta_sa.exe но даже при этом происходит краш



 
Ответить с цитированием

  #2  
Старый 01.07.2024, 21:19
fuflexxxx
Познающий
Регистрация: 10.06.2020
Сообщений: 37
С нами: 3119285

Репутация: 63
По умолчанию

Цитата:
Сообщение от yoonost  

В чем проблема? Во время прорисовки радара крашит игру, пробовал сделать многое но результат один. В коде сейчас стандартный код gta_sa.exe но даже при этом происходит краш




1. Перепроверь соглашение о вызове.

2. Пробовал ли отладчик подключать?

3. А что ты сделать то хочешь?
 
Ответить с цитированием

  #3  
Старый 01.07.2024, 21:20
yoonost
Познающий
Регистрация: 21.01.2019
Сообщений: 62
С нами: 3847510

Репутация: 58
По умолчанию

Цитата:
Сообщение от fuflexxxx  

1. Перепроверь соглашение о вызове.
2. Пробовал ли отладчик подключать?
3. А что ты сделать то хочешь?
Все ок

Да

Размер карты изменить
 
Ответить с цитированием

  #4  
Старый 01.07.2024, 22:33
fuflexxxx
Познающий
Регистрация: 10.06.2020
Сообщений: 37
С нами: 3119285

Репутация: 63
По умолчанию

Цитата:
Сообщение от yoonost  

Все ок
Да
Размер карты изменить
1. Надеюсь проверял по асм коду.

2. Что отлалчик показал?

С таким кодом в одиночной игре всё работает. Соглашение cdecl, функция ничего не возвращает.



rebuild_TransformRadarPointToScreenSpace:





Код:
void
CRadar
::
TransformRadarPointToScreenSpace
(
CVector2D
&
screenPt
,
const
CVector2D
&
radarPt
)
{
if
(
FrontEndMenuManager
.
m_bDrawingMap
)
{
screenPt
.
x
=
FrontEndMenuManager
.
m_fMapZoom
*
radarPt
.
x
+
FrontEndMenuManager
.
m_vMapOrigin
.
x
;
screenPt
.
y
=
FrontEndMenuManager
.
m_fMapZoom
*
radarPt
.
y
+
FrontEndMenuManager
.
m_vMapOrigin
.
y
;
}
else
{
screenPt
.
x
=
0.5
*
(
94.0
*
(
(
double
)
RsGlobal
.
maximumWidth
*
0.0015625
)
)
+
(
double
)
RsGlobal
.
maximumWidth
*
0.0015625
*
40.0
+
94.0
*
(
(
double
)
RsGlobal
.
maximumWidth
*
0.0015625
)
*
radarPt
.
x
*
0.5
;
screenPt
.
y
=
(
double
)
RsGlobal
.
maximumHeight
-
0.002232143
*
(
double
)
RsGlobal
.
maximumHeight
*
104.0
+
76.0
*
(
0.002232143
*
(
double
)
RsGlobal
.
maximumHeight
)
*
0.5
-
76.0
*
(
0.002232143
*
(
double
)
RsGlobal
.
maximumHeight
)
*
radarPt
.
y
*
0.5
;
}
}


Код ниже написан лучше, но это, если в твоём сдк есть такие inline функции.

rebuild_TransformRadarPointToScreenSpace:





Код:
void
CRadar
::
TransformRadarPointToScreenSpace
(
CVector2D
&
screenPt
,
const
CVector2D
&
radarPt
)
{
//patch::Call(screenPt, radarPt);
if
(
FrontEndMenuManager
.
m_bDrawingMap
)
{
screenPt
.
x
=
FrontEndMenuManager
.
m_fMapZoom
*
radarPt
.
x
+
FrontEndMenuManager
.
m_vMapOrigin
.
x
;
screenPt
.
y
=
FrontEndMenuManager
.
m_fMapZoom
*
radarPt
.
y
+
FrontEndMenuManager
.
m_vMapOrigin
.
y
;
}
else
{
screenPt
.
x
=
SCREEN_STRETCH_X
(
94.0f
)
/
2.0f
+
SCREEN_STRETCH_X
(
40.0f
)
+
SCREEN_STRETCH_X
(
94.0f
*
radarPt
.
x
)
/
2.0f
;
screenPt
.
y
=
SCREEN_STRETCH_FROM_BOTTOM
(
104.0f
)
+
SCREEN_STRETCH_Y
(
76.0f
)
/
2.0f
-
SCREEN_STRETCH_Y
(
76.0f
*
radarPt
.
y
)
/
2.0f
;
}
}


Если крашить всё-равно будет, то покажи место, куда хук ставишь и как хук ставишь.
 
Ответить с цитированием
Ответ





Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT ™ © 2001- Antichat Kft.