Тема: краш игры
Показать сообщение отдельно

  #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
;
}
}


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