Move git root from Client/ to src/ to track all source code: - Client: Game client source (moved to Client/Client/) - Server: Game server source - GameTools: Development tools - CryptoSource: Encryption utilities - database: Database scripts - Script: Game scripts - rylCoder_16.02.2008_src: Legacy coder tools - GMFont, Game: Additional resources 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
110 lines
2.8 KiB
C
110 lines
2.8 KiB
C
//-----------------------------------------------------------------------------
|
|
//
|
|
// ImageLib Sources
|
|
// Copyright (C) 2000-2002 by Denton Woods
|
|
// Last modified: 05/25/2001 <--Y2K Compliant! =]
|
|
//
|
|
// Filename: src-IL/include/il_targa.h
|
|
//
|
|
// Description: Targa (.tga) functions
|
|
//
|
|
//-----------------------------------------------------------------------------
|
|
|
|
|
|
#ifndef TARGA_H
|
|
#define TARGA_H
|
|
|
|
#include "il_internal.h"
|
|
|
|
#ifdef _MSC_VER
|
|
#pragma pack(push, tga_struct, 1)
|
|
#elif defined(MACOSX) || defined(__GNUC__)
|
|
#pragma pack(1)
|
|
#endif
|
|
|
|
typedef struct TARGAHEAD
|
|
{
|
|
ILubyte IDLen;
|
|
ILubyte ColMapPresent;
|
|
ILubyte ImageType;
|
|
ILshort FirstEntry;
|
|
ILshort ColMapLen;
|
|
ILubyte ColMapEntSize;
|
|
|
|
ILshort OriginX;
|
|
ILshort OriginY;
|
|
ILushort Width;
|
|
ILushort Height;
|
|
ILubyte Bpp;
|
|
ILubyte ImageDesc;
|
|
} IL_PACKSTRUCT TARGAHEAD;
|
|
|
|
typedef struct TARGAFOOTER
|
|
{
|
|
ILuint ExtOff; // Extension Area Offset
|
|
ILuint DevDirOff; // Developer Directory Offset
|
|
ILbyte Signature[16]; // TRUEVISION-XFILE
|
|
ILbyte Reserved; // ASCII period '.'
|
|
ILbyte NullChar; // NULL
|
|
} IL_PACKSTRUCT TARGAFOOTER;
|
|
#if defined(MACOSX) || defined(__GNUC__)
|
|
#pragma pack()
|
|
#elif _MSC_VER
|
|
#pragma pack(pop, tga_struct)
|
|
#endif
|
|
|
|
#define TGA_EXT_LEN 495
|
|
typedef struct TARGAEXT
|
|
{
|
|
// Dev Directory
|
|
// We don't mess with this
|
|
|
|
// Extension Area
|
|
ILshort Size; // should be TGA_EXT_LEN
|
|
ILbyte AuthName[41]; // the image author's name
|
|
ILbyte AuthComments[324]; // author's comments
|
|
ILshort Month, Day, Year, Hour, Minute, Second; // internal date of file
|
|
ILbyte JobID[41]; // the job description (if any)
|
|
ILshort JobHour, JobMin, JobSecs; // the job's time
|
|
ILbyte SoftwareID[41]; // the software that created this
|
|
ILshort SoftwareVer; // the software version number * 100
|
|
ILbyte SoftwareVerByte; // the software version letter
|
|
ILint KeyColor; // the transparent colour
|
|
} TARGAEXT;
|
|
|
|
|
|
// Different Targa formats
|
|
#define TGA_NO_DATA 0
|
|
#define TGA_COLMAP_UNCOMP 1
|
|
#define TGA_UNMAP_UNCOMP 2
|
|
#define TGA_BW_UNCOMP 3
|
|
#define TGA_COLMAP_COMP 9
|
|
#define TGA_UNMAP_COMP 10
|
|
#define TGA_BW_COMP 11
|
|
|
|
|
|
// Targa origins
|
|
#define IMAGEDESC_ORIGIN_MASK 0x30
|
|
#define IMAGEDESC_TOPLEFT 0x20
|
|
#define IMAGEDESC_BOTLEFT 0x00
|
|
#define IMAGEDESC_BOTRIGHT 0x10
|
|
#define IMAGEDESC_TOPRIGHT 0x30
|
|
|
|
|
|
// Internal functions
|
|
ILboolean iIsValidTarga();
|
|
ILboolean iGetTgaHead(TARGAHEAD *Header);
|
|
ILboolean iCheckTarga(TARGAHEAD *Header);
|
|
ILboolean iLoadTargaInternal(ILvoid);
|
|
ILboolean iSaveTargaInternal(ILvoid);
|
|
//ILvoid iMakeString(char *Str);
|
|
ILboolean iReadBwTga(TARGAHEAD *Header);
|
|
ILboolean iReadColMapTga(TARGAHEAD *Header);
|
|
ILboolean iReadUnmapTga(TARGAHEAD *Header);
|
|
ILboolean iUncompressTgaData(ILimage *Image);
|
|
ILboolean i16BitTarga(ILimage *Image);
|
|
ILvoid iGetDateTime(ILuint *Month, ILuint *Day, ILuint *Yr, ILuint *Hr, ILuint *Min, ILuint *Sec);
|
|
|
|
|
|
#endif//TARGA_H
|