IPL, Posicionamento de Item

Arquivos de posicionamento de item, ou originalmente, item placement files, conhecidos por sua extensão, .ipl, são descritores de entradas de posicionamento (por exemplo) de: objetos, origens de zona de comportamento especial, nódulos de caminho no cenário; dentre outros.

Uso

Todos os títulos da subfamília de GTA III, GTA Vice City e GTA San Andreas suportam o formato “standard” dos arquivos de posicionamento de item, os quais são majoritariamente encontrados como planilhas de texto.

Estas planilhas podem ser abertas e editadas usando qualquer programa de edição de texto, como (por exemplo) o Bloco de Notas, porém há ferramentas para simplificar a edição, como o MEd por exemplo — que não é precisamente um editor de IPL.

GTA San Andreas é o primeiro título de sua série a introduzir o formato binário para os arquivos de posicionamento de item, os quais são encontrado neste game empacotados em acervos IMGs, como (por exemplo) o gta3.img.

O formato binário, em contraste ao formato literal, fornece ao sistema de processamento de cenário, maior velocidade de leitura de dados e consecutivamente maior desempenho na edificação de cenário, e justamente por esta característica, objetos dinâmicos são, em quase sua totalidade, posicionados através de arquivos binários. GTA IV fez melhor proveito deste último, porém, apresentando-o como WPL.

Seções

Os arquivos de posicionamento de item são repartidos em muitas seções, mas podem não ser usadas, e se assim, podem ser deixadas em branco. Algumas destas seções sequer foram originalmente usadas alguma vez no GTA.

Cada seção é iniciada com um identificador, como (por exemplo) “inst“, então terminada com a palavra-chave “end“, terminadora para toda seção, ambas em linhas individuais, assim como toda entrada.

Em caso de alguma dúvida, você pode consultar alguém no servidor-Discord da República SIGMA


inst

Seção usada para instanciar objetos no cenário.

// Esquema (GTA III)
ModelId, ModelName, PosX, PosY, PosZ, ScaleX, ScaleY, ScaleZ, RotX, RotY, RotZ, RotW

// Esquema (GTA Vice City)
ModelId, ModelName, Interior, PosX, PosY, PosZ, ScaleX, ScaleY, ScaleZ, RotX, RotY, RotZ, RotW

// Esquema (GTA San Andreas)
ModelId, ModelName, Interior, PosX, PosY, PosZ, RotX, RotY, RotZ, RotW, LodIndex

// Exemplo (GTA San Andreas)
inst
17582, stadtplaza_lae2, 0, 2739.21875, -1770.085938, 17.5546875, 0, 0, -0.999048233, 0.04361938313, 83
end

A seguir, a base do formato de uma entrada INST como introduzida por GTA III. Note que nos demais títulos da série, haverá adição e subtração de parâmetros. Esteja atento!

Parametrização
ModelId,Um número pelo qual um objeto foi registrado nalgum arquivo de definição de item.
ModelName,O nome do DFF do objeto, SEM a extensão de arquivo; tal como foi registrado no arquivo de definição de item.
PosX,
PosY,
PosZ,
Os três eixos, em plano cartesiano, da posição do objeto no cenário. Valor em “float”.
ScaleX,
ScaleY,
ScaleZ,

Os três eixos, em plano cartesiano, da escala do objeto no cenário. Naturalmente seria 1.0, ou seja, não escalado. Valor em “float”.
RotX,
RotY,
RotZ,
RotW
Os quatro elementos, de um quaternião, da orientação do objeto no cenário.
Parametrização (GTA Vice City)

Em Vice City, o formato de entrada de instanciação ganhou um parâmetro a mais, o “Interior”. Este parâmetro exige o número do nível de renderização em que o objeto será desenhado e sua existência será considerada pela detecção de colisão.

Interior,O número-índice do nível de renderização (o vulgo código de interior) no qual o objeto será considerado. Naturalmente seria 0, ou seja, externo.
Parametrização (GTA San Andreas)

Em San Andreas, infelizmente (ou felizmente?), os três parâmetros de escalação do objeto no cenário foram removidos, são estes: ScaleX, ScaleY, ScaleZ. Contudo, um novo parâmetro foi adicionado, sendo este o índice de um modelo LOD do objeto.

LodIndexO número-índex do modelo de LOD longínquo o qual está neste mesmo bloco em que este objeto está inserido. Naturalmente seria -1 para objetos pequenos, como props, uma vez que nulifica o uso.
NOTA: Este número é o índice do modelo LOD inserido neste mesmo bloco, não o identificador registrado nalgum arquivo de definição de item.

cars

Seção usada para criar geradores de carros (corretamente, veículos) estacionados, em San Andreas somente.

// Esquema
PosX, PosY, PosZ, Angle, CarID, PrimCol, SecCol, ForceSpawn, Alarm, DoorLock, Unknown1, Unknown2

// Exemplo
cars
1776.5739, -1889.9012, 13.3868, 272.6537, -1, -1, -1, 1, 0, 0, 0, 0
end
Parametrização
PosX,
PosY,
PosZ,
As coordenadas, em plano cartesiano, da posição do veículo. Valor em “float”.
Angle,O ângulo, em radianos, do veículo. Valor em “float”.
ModelId,O número identificador do modelo do veículo cadastrado em vehicle.ide, ou -1 para modelos aleatórios — influenciados pelas configurações sociais da região.
PrimColor,
SecColor,
O índex da colorização do veículo definido em carcols.dat. Ou -1 para cores aleatórias.
ForceSpwan,Naturalmente 0, assim o sistema de processamento de cenário fica livre para fazer uma escolha cabível. Ou 1 para exigir a aparição.
AlarmSens,A possibilidade de disparar o alarme, em porcentagem — 0~100.
DoorLock,A possibilidade em que as portas estejam trancadas, em porcentagem — 0~100.
Unk1,
Unk2
Desconhecido. Apenas zero.

pick

Seção usada para criar pickups (objetos “pegáveis”) de armas em San Andreas somente.

// Esquema
WeaponId, PosX, PosY, PosZ

// Exemplo
pick
29, -1435.85, -965.719, 200.167
end
Parametrização
WeaponId,O número único identificador de cada arma.
NOTA: Não é o modelo da arma, é o discriminador.
PosX,
PosY,
PosZ
As coordenadas, em plano cartesiano, da posição da pickup.

Relacionado

GTA San Andreas

GTA San Andreas é um game de ação aventureira combativa e condução veicular em terceira pessoa desenvolvido pela Rockstar North e publicado pela Rockstar Games…

Manhunt

Manhunt é um game de ação combativa em terceira pessoa desenvolvido pela Rockstar North e publicado pela Rockstar Games, lançado em novembro de 2003 para…

GTA Vice City

GTA Vice City é um game de ação aventureira combativa em terceira pessoa, desenvolvido pela Rockstar North e publicado pela Rockstar Games em 2003, 13…

Responses

  1. Redação motivada pelo desenvolver de uma situação em que envolvia as informações da matéria, com o usuário Julio™#6002, no servidor-Discord do GTA Brasil.