Something went wrong. Try again.
[WIP] This is Chocolate DOOM but ported to Zig
Something went wrong. Try again.
1.5 kB · 50 lines
C
at master
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051//// Copyright(C) 1993-1996 Id Software, Inc.// Copyright(C) 2005-2014 Simon Howard//// This program is free software; you can redistribute it and/or// modify it under the terms of the GNU General Public License// as published by the Free Software Foundation; either version 2// of the License, or (at your option) any later version.//// This program is distributed in the hope that it will be useful,// but WITHOUT ANY WARRANTY; without even the implied warranty of// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the// GNU General Public License for more details.//// DESCRIPTION:// Refresh/rendering module, shared data struct definitions.//
#ifndef V_PATCH_H#define V_PATCH_H
// Patches.// A patch holds one or more columns.// Patches are used for sprites and all masked pictures,// and we compose textures from the TEXTURE1/2 lists// of patches.
typedef PACKED_STRUCT ({ short width; // bounding box size short height; short leftoffset; // pixels to the left of origin short topoffset; // pixels below the origin int columnofs[8]; // only [width] used // the [0] is &columnofs[width]}) patch_t;
// posts are runs of non masked source pixelstypedef PACKED_STRUCT ({ byte topdelta; // -1 is the last post in a column byte length; // length data bytes follows}) post_t;
// column_t is a list of 0 or more post_t, (byte)-1 terminatedtypedef post_t column_t;
#endif