You are not logged in.
Pages: 1
Topic closed
Начнем, пожалуй
.text:0077CEE0 ; int __cdecl gtaFopen(char *pszName, char *pszFlags) //открывает файл для чтения или записи .text:00B51980 ; int __cdecl SetTimeOfDay(int hours, int minutes) //устанавливает текущее время
Offline
.text: 008654E0 ; int __cdecl SpawnVehicle(DWORD Hash);
// спавн авто по хешу его имени
Offline
После ночи, проведенной за дизассемблером, у меня остались странные мысли: подмена ресурс-менеджера 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
Регистратор функций для скриптов:
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
В связи с неактивностью темы предлагаю определить ее дальнейшую судьбу. Приведенные выше адреса актуальны для самой первой версии игры, а уже вышло два патча, не говоря о версии 1С. В текущем виде топик предлагаю удалить, а информацию об адресах памяти перенести на gtamodding.ru, где их будет проще обновлять. Какую-то специфичную информацию о структуре памяти GTA 4 можно будет постить в теме Ресурсы и структуры GTA IV.
Возражения будут?
Offline
Pages: 1
Topic closed