Gta3.exe — различия между версиями

Материал из GTAModding.ru
Перейти к: навигация, поиск
Строка 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)

Вторая категория "Сектор Анимации"