Mapas de bits · bei.pm

Publicado em 19/11/2015·Atualizado em 13/02/2025·Português
Este texto foi traduzido automaticamente pelo OpenAI GPT-4o Mini.

Os formatos de arquivo descritos nesta página são baseados na análise técnica da propriedade intelectual de Dynamix, Inc. e Sierra Entertainment.
A propriedade intelectual faz parte da massa da Activision Publishing, Inc. / Activision Blizzard, Inc. e atualmente é de propriedade da Microsoft Corp..

As informações foram coletadas através de Engenharia Reversa e Análise de Dados para fins de arquivamento e interoperabilidade com dados históricos.
Nenhuma especificação proprietária ou confidencial foi utilizada.

O jogo pode ser adquirido atualmente como download em gog.com.

Endereço x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 xA xB xC xD xE xF caractere
0x0000 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- . . . . . . . . . . . . . . . .
0x0010 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- . . . . . . . . . . . . . . . .
Deslocamento Tipo de dado Designação Explicação
0x0000 uint(32) Largura alinhada

Indica a largura das linhas de dados em pixels em bytes - uma vez que estão alinhadas aos limites de 4 bytes.

Dessa forma, é fácil acessar uma linha de imagem específica.

Não está claro por que esse valor é armazenado separadamente, embora pudesse ser calculado.
Talvez seja uma otimização para o código de renderização.

0x0004 uint(32) Offset

Indica o deslocamento da primeira linha no bitmap

0x0008 uint(32) Altura

Indica a altura da imagem em pixels

0x000c uint(32) Largura

Especifica a largura da imagem em pixels

0x0010 uint(16) Tipo

Indica o tipo da imagem. Aqui parece ser uma máscara de bits:

  • 0x04 está definido quando se trata de uma imagem 1bpp.
  • 0x40 está definido quando se trata de uma imagem que precisa implementar uma janela.
0x0012 uint(16) Paleta

Define qual paleta deve ser utilizada a partir do arquivo PRT

Estrutura de dados do arquivo PRT indica como os bitmaps usados para os sprites são organizados. Esses bitmaps servem como um único componente, dos quais vários são montados em um quadro de animação de um sprite.

Os dados de imagem concretos estão, por outro lado, no op2_art.BMP no diretório do jogo.
Por que esse arquivo bitmap possui um cabeçalho RIFF (predominantemente correto) não está claro. Provavelmente, o Outpost 2 usa APIs do sistema para carregar os gráficos, adotando temporariamente esse cabeçalho e sobrescrevendo os campos correspondentes e variáveis.

Os dados de pixel estão localizados no arquivo BMP na posição Offset + o uint32-Offset, encontrado no arquivo BMP no endereço 0x000A (offset de dados RIFF-Bitmap), e correspondem novamente à disposição linha a linha de cima para baixo, da esquerda para a direita.

Gráficos monocromáticos 1bpp podem ser desenhados de forma que a cor 0 represente transparência total, enquanto a cor 1 seja um preto/cinza semitransparente, já que os gráficos monocromáticos são geralmente usados para sombras de veículos e edifícios nas animações.

Dessa forma, já é possível montar muitas graficias.

Módulo residencial protegido (Plymouth)