비트맵 · bei.pm

게시일: 2015년 11월 19일·업데이트 날짜: 2025년 02월 13일·한국어
이 텍스트는 OpenAI GPT-4o Mini에 의해 자동으로 번역되었습니다.

이 페이지에 설명된 파일 형식은 Dynamix, Inc.Sierra Entertainment의 지적 재산에 대한 기술 분석을 기반으로 합니다.
현재 이 지적 재산은 Activision Publishing, Inc.Activision Blizzard, Inc.의 자산에 포함되어 있으며, 현재 Microsoft Corp.가 소유하고 있습니다.

정보는 아카이빙 및 역사적 데이터와의 상호 운용성을 위해 리버스 엔지니어링데이터 분석을 통해 수집되었습니다.
특허가 있는 비공식 사양은 사용되지 않았습니다.

현재 게임은 gog.com에서 다운로드로 구매할 수 있습니다.

주소 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 xA xB xC xD xE xF 문자
0x0000 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- . . . . . . . . . . . . . . . .
0x0010 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- . . . . . . . . . . . . . . . .
오프셋 데이터 타입 명칭 설명
0x0000 uint(32) 정렬된 너비

픽셀 데이터 행의 너비를 바이트 단위로 지정합니다 - 이는 4바이트 경계에 맞춰져 있습니다.

따라서 특정 이미지 행으로 빠르게 이동할 수 있습니다.

이 값이 계산될 수 있음에도 불구하고 별도로 저장되는 이유는 불분명합니다.
아마도 렌더링 코드에 대한 최적화일 수 있습니다.

0x0004 uint(32) 오프셋

비트맵에서 첫 번째 줄의 오프셋을 지정합니다.

0x0008 uint(32) 높이

이미지의 높이를 픽셀로 표시합니다

0x000c uint(32) 너비

이미지의 너비를 픽셀 단위로 지정합니다.

0x0010 uint(16) 유형

이미지 유형을 나타냅니다. 여기에는 비트 마스크가 있는 것으로 보입니다:

  • 0x04는 1bpp 그래픽인 경우 설정됩니다.
  • 0x40은 윈도잉을 구현해야 하는 그래픽인 경우 설정됩니다.
0x0012 uint(16) 팔레트

PRT 파일에서 사용할 팔레트를 정의합니다.

PRT 파일의 이 데이터 구조는 스프라이트에 사용되는 비트맵이 어떻게 구성되어 있는지를 나타냅니다. 이 비트맵은 개별 구성 요소로 사용되며, 여러 개가 스프라이트의 애니메이션 프레임으로 조합됩니다.

구체적인 이미지 데이터는 게임 디렉토리에 있는 op2_art.BMP에 숨겨져 있습니다.
이 비트맵 파일이 (대부분 올바른) RIFF 비트맵 헤더를 가지고 있는 이유는 불분명합니다. 아마도 Outpost 2는 그래픽을 로드하기 위해 시스템 API를 사용하여 이 헤더를 일시적으로 사용하고 해당 변동 필드를 덮어쓰는 방식으로 작동할 것입니다.

픽셀 데이터는 BMP 파일에서 오프셋 + uint32 오프셋 위치에 있으며, 이 값은 BMP 파일의 주소 0x000A에서 찾을 수 있습니다 (RIFF 비트맵 데이터 오프셋). 데이터는 다시 위에서 왼쪽에서 오른쪽으로 아래로의 행 단위로 배열됩니다.

모노크롬 1bpp 그래픽은 색상 0이 완전한 투명성, 색상 1이 반투명한 검정/회색으로 그려질 수 있습니다. 왜냐하면 모노크롬 그래픽은 일반적으로 애니메이션에서 차량 및 건물의 그림자에 사용되기 때문입니다.

따라서 이미 많은 그래픽을 조합할 수 있습니다.

보호된 주거 모듈 (플리머스)