Gta3.exe — различия между версиями
Материал из GTAModding.ru
Sergeanur (обсуждение | вклад) |
|||
Строка 1: | Строка 1: | ||
Исполняющий файл игры, содержит игровой движок - [[RenderWare]] и много различных игровых ресурсов, некоторые из них будут описаны ниже. | Исполняющий файл игры, содержит игровой движок - [[RenderWare]] и много различных игровых ресурсов, некоторые из них будут описаны ниже. | ||
+ | == Исходные коды == | ||
− | == Лимиты == | + | Кроме собственно [[RenderWare]], GTA3.exe содержит специализированную часть кода, написанного программистами [[Rockstar Games]] специально под нужды GTA и встречающийся исключительно в играх серии GTA3 и GTA4. Условно код носит название "GTA CORE" или "GTAGAME engine". |
+ | |||
+ | === Основные компоненты GTA CORE === | ||
+ | |||
+ | * EventList.cpp - содержит список игровых событий | ||
+ | * Crime.cpp - обеспечивает работу криминальных типов | ||
+ | * Ped.cpp - формирует пути пешеходов на карте из nodes | ||
+ | * PedAI.cpp - задаёт пешеходам определённое поведение | ||
+ | * Pedtype.cpp - обработчик [[PED.DAT]] | ||
+ | * Population.cpp - обработчик [[PEDGRP.DAT]] | ||
+ | * Explosion.cpp | ||
+ | * ProjectileInfo.cpp | ||
+ | * Weapon.cpp - отвечает за оружие в игре | ||
+ | * WeaponInfo.cpp - обработчик [[WEAPON.DAT]] | ||
+ | |||
+ | * binarytree.cpp | ||
+ | * POLRADIO.CPP | ||
+ | * EmergencyPed.cpp | ||
+ | * CopPed.cpp | ||
+ | * combostate.cpp | ||
+ | * glass.cpp | ||
+ | * automobile.cpp | ||
+ | * world.cpp | ||
+ | * tinyxmlparser.cpp | ||
+ | * fluff.cpp | ||
+ | * player.cpp | ||
+ | * pathrental.cpp | ||
+ | * cranes.cpp | ||
+ | * pedpath.cpp | ||
+ | * civilianped.cpp | ||
+ | * tinystr.cpp | ||
+ | * localareaknowledge.cpp | ||
+ | * trafficlights.cpp | ||
+ | * physical.cpp | ||
+ | * renderer.cpp | ||
+ | * tinyxml.cpp | ||
+ | * shadows.cpp | ||
+ | * dummy.cpp | ||
+ | * objectivefunctions.cpp | ||
+ | * entity.cpp | ||
+ | * streamingnew.cpp | ||
+ | * vehicle.cpp | ||
+ | * garage.cpp | ||
+ | * fecontrollerelement.cpp | ||
+ | * carctrl.cpp | ||
+ | |||
+ | === Лимиты === | ||
Как и в любой другой игре, в GTA3 тоже существуют так называемые игровые лимиты. | Как и в любой другой игре, в GTA3 тоже существуют так называемые игровые лимиты. | ||
Строка 12: | Строка 59: | ||
Основные лимиты gta3 по способу хранения можно разделить на одно-байтовые и четырёх-байтовые. Четырёх-байтовые в свою очередь делятся на множество подвидов, с ними можно будет ознакомиться ниже. | Основные лимиты gta3 по способу хранения можно разделить на одно-байтовые и четырёх-байтовые. Четырёх-байтовые в свою очередь делятся на множество подвидов, с ними можно будет ознакомиться ниже. | ||
− | == Классификация Хероманта == | + | === Классификация Хероманта === |
Данная классификация нестандартна, является результатом любительского подхода к изучению содержимого gta3.exe. Была получена без использования различных декомпиляторов, поэтому что-то ней может не совпадать с тем, что есть на самом деле. | Данная классификация нестандартна, является результатом любительского подхода к изучению содержимого gta3.exe. Была получена без использования различных декомпиляторов, поэтому что-то ней может не совпадать с тем, что есть на самом деле. | ||
− | === Первая категория "Основные Лимиты" === | + | ==== Первая категория "Основные Лимиты" ==== |
Делятся на два типа по их идентификаторам в exe. Первый тип - "740989C16A", всегда занимает 1 байт, второй "740C89C168" - 4 байта. | Делятся на два типа по их идентификаторам в exe. Первый тип - "740989C16A", всегда занимает 1 байт, второй "740C89C168" - 4 байта. | ||
Строка 41: | Строка 88: | ||
* 15B700 (15B5D0) - (179) | * 15B700 (15B5D0) - (179) | ||
− | === Вторая категория "Сектор Анимации" === | + | ==== Вторая категория "Сектор Анимации" ==== |
[[Категория:GTA 3]] | [[Категория:GTA 3]] |
Версия 00:13, 13 августа 2011
Исполняющий файл игры, содержит игровой движок - RenderWare и много различных игровых ресурсов, некоторые из них будут описаны ниже.
Содержание |
Исходные коды
Кроме собственно RenderWare, GTA3.exe содержит специализированную часть кода, написанного программистами Rockstar Games специально под нужды GTA и встречающийся исключительно в играх серии GTA3 и GTA4. Условно код носит название "GTA CORE" или "GTAGAME engine".
Основные компоненты GTA CORE
- EventList.cpp - содержит список игровых событий
- Crime.cpp - обеспечивает работу криминальных типов
- Ped.cpp - формирует пути пешеходов на карте из nodes
- PedAI.cpp - задаёт пешеходам определённое поведение
- Pedtype.cpp - обработчик PED.DAT
- Population.cpp - обработчик PEDGRP.DAT
- Explosion.cpp
- ProjectileInfo.cpp
- Weapon.cpp - отвечает за оружие в игре
- WeaponInfo.cpp - обработчик WEAPON.DAT
- binarytree.cpp
- POLRADIO.CPP
- EmergencyPed.cpp
- CopPed.cpp
- combostate.cpp
- glass.cpp
- automobile.cpp
- world.cpp
- tinyxmlparser.cpp
- fluff.cpp
- player.cpp
- pathrental.cpp
- cranes.cpp
- pedpath.cpp
- civilianped.cpp
- tinystr.cpp
- localareaknowledge.cpp
- trafficlights.cpp
- physical.cpp
- renderer.cpp
- tinyxml.cpp
- shadows.cpp
- dummy.cpp
- objectivefunctions.cpp
- entity.cpp
- streamingnew.cpp
- vehicle.cpp
- garage.cpp
- fecontrollerelement.cpp
- carctrl.cpp
Лимиты
Как и в любой другой игре, в GTA3 тоже существуют так называемые игровые лимиты.
Лимит - определённое ограничение, наложенное разработчиками игры на конкретные виды игровых ресурсов - модели, текстуры, автотранспорт и т.д. Выражены в числовом виде.
Отредактировать лимиты можно любым HEX-редактором, отрыв в нём gta.exe или их можно изменять непосредственно в игровой памяти посредством написания asi-плагинов или через использование CLEO-скриптов, но это намного сложнее.
Основные лимиты gta3 по способу хранения можно разделить на одно-байтовые и четырёх-байтовые. Четырёх-байтовые в свою очередь делятся на множество подвидов, с ними можно будет ознакомиться ниже.
Классификация Хероманта
Данная классификация нестандартна, является результатом любительского подхода к изучению содержимого gta3.exe. Была получена без использования различных декомпиляторов, поэтому что-то ней может не совпадать с тем, что есть на самом деле.
Первая категория "Основные Лимиты"
Делятся на два типа по их идентификаторам в exe. Первый тип - "740989C16A", всегда занимает 1 байт, второй "740C89C168" - 4 байта.
Все адреса основных лимитов и их названия представлены ниже (база частично взята из GTA3 Limit Adjuster 1.0), в скобочках указаны их стандартные значения.
- 00460C - первый неизвестный лимит (512)
- 0069D3 - второй неизвестный лимит (128)
- 037945 - третий неизвестный лимит (0)
- 0A186F (0A177F) - PtrNode (30000) - Определяет допустимые объёмы коллизий на игровой карте
- 0A188C (0A179C) - EntryInfoNode (5400)
- 0A18A9 (0A17B9) - Peds (140)
- 0A18C6 (0A17D6) - Vehicle (110)
- 0A18E0 (0A17F0) - Buildings (5500)
- 0A18FD (0A180D) - Treadable (1214)
- 0A191A (0A182A) - Object (450)
- 0A1937 (0A1847) - Dummy (2802)
- 0A1954 (0A1864) - AudioScriptObj (256)
- 0F54E2 (0F5432) - (16)
- OF556E (0F54BE) - (17)
- 127698 (127458) - (850)
- 15B6B8 (15B588) - (170)
- 15B6DC (15B5AC) - (174)
- 15B700 (15B5D0) - (179)