#1 02-12-2008 12:59

Seemann
Registered: 07-08-2006
Posts: 2,156

Процедуры и функции GTAIV.exe 1.0

Начнем, пожалуй wink

.text:0077CEE0 ; int __cdecl gtaFopen(char *pszName, char *pszFlags) 
//открывает файл для чтения или записи

.text:00B51980 ; int __cdecl SetTimeOfDay(int hours, int minutes) 
//устанавливает текущее время

Offline

#2 03-12-2008 18:21

Alexander
Registered: 19-08-2006
Posts: 184
Website

Re: Процедуры и функции GTAIV.exe 1.0

.text: 008654E0 ; int __cdecl SpawnVehicle(DWORD Hash);
// спавн авто по хешу его имени

Offline

#3 12-12-2008 04:40

listener
From: Vice City
Registered: 09-11-2006
Posts: 616
Website

Re: Процедуры и функции GTAIV.exe 1.0

После ночи, проведенной за дизассемблером, у меня остались странные мысли: подмена ресурс-менеджера D3D своим, позитивно сказывается на производительности, или как?

.rdata:00E0437C     ; const RageDirect3DDevice9::`vftable'
.rdata:00E0437C     ??_7RageDirect3DDevice9@@6B@ dd offset RageDirect3DDevice9__QueryInterface

Это перехваченный объект Direct3DDevice9, методы его полностью повторяют Direct3DDevice9

.text:005F9320     RageDirect3DDevice9::CreateTexture - заглянуть и ужаснутьсяудивиться.

соответственно,
.text:006089F0     grcResourceCache::createTexture

А зачем нужно было городить такой огород:
.text:005FAE90     CreateVertexDeclaration

я совсем не понял. Параметрами передается массив структур по 26 байт, выровненных до 28 и количество эти структур. Внутри они преобразуются в массив D3DVERTEXELEMENT9 и передаются реальному ID3DDevice9::CreateVertexDeclaration

обнаружил забавную переменную:
.data:00E77F6F     g_cPlatformId - тип платформы: 'c'ell, 'x'box, 'w'indows. (вместе с ней нашлось несколько забытых кусков кода с других платформ).

Last edited by listener (13-12-2008 01:37)

Offline

#4 15-12-2008 15:28

AleX AciD
From: RU-VLG
Registered: 27-02-2007
Posts: 36
Website

Re: Процедуры и функции GTAIV.exe 1.0

Регистратор функций для скриптов:

s_7E5A80_register_script_fns        сам регистратор
s_583420_reg_scr_fn                 регистрация одной функции - параметры: 
имя функции и адрес функции-обработчика

вызывает регистраторы категорий:

s_B40840_regscr_audio               
s_BA1350_regscr_camera              
s_B9DAF0_regscr_debug               
s_B9CB70_regscr_text_hud            надписи, радар
s_B961E0_regscr_misc_math_secur     разное, мат.функции, секуром
s_B92290_regscr_input               клавиатура, мышь
s_B8F400_regscr_pedchar             актеры
s_B7E7C0_regscr_player              
s_B7A2E0_regscr_pedtask             задачи актеров
s_B6D2D0_regscr_vehicle             транспорт
s_B62C00_regscr_object              объекты, pickup'ы
s_B5A180_regscr_extscript           внешние скрипты
s_B59BD0_regscr_stat                
s_B58D50_regscr_streaming           загрузка/выгрузка ресурсов
s_B57C00_regscr_path                
s_B54390_regscr_weapon              
s_B53410_regscr_fire_expl           огни, пожары, взрывы
s_B52910_regscr_zone                
s_A09DA0_regscr_gfx                 маркеры, эффекты, рисование
s_B52170_regscr_gang                
s_B52090_regscr_cutscene            
s_B51CA0_regscr_time                дата/время
s_B50940_regscr_net                 сеть

ещё один регистратор (вызывается отдельно):

s_584260_reg_scr_timer_math         таймеры, мат.функции (снова?)

Удобно, теперь все функции скриптов с именами, не нужно гадать, что это за функция...

Last edited by AleX AciD (15-12-2008 17:30)


[large][acronym=Завтра, завтра, постоянно завтра, так проходит жизнь]Cras, cras, semper cras, sic evadit aetas[/acronym][/large]

Offline

#5 09-03-2009 21:31

Seemann
Registered: 07-08-2006
Posts: 2,156

Re: Процедуры и функции GTAIV.exe 1.0

В связи с неактивностью темы предлагаю определить ее дальнейшую судьбу. Приведенные выше адреса актуальны для самой первой версии игры, а уже вышло два патча, не говоря о версии 1С. В текущем виде топик предлагаю удалить, а информацию об адресах памяти перенести на gtamodding.ru, где их будет проще обновлять. Какую-то специфичную информацию о структуре памяти GTA 4 можно будет постить в теме Ресурсы и структуры GTA IV.

Возражения будут?

Offline

Board footer

Powered by FluxBB