mirror of
https://github.com/Cesarus85/ringfall-mjolnir-vr.git
synced 2026-10-23 09:00:24 +02:00
bitmap_group.h: signed depth/mipmap_count and union point2d registration_point (HCEA types, January movsx reads and whole-point copies), respelled in its four consumers. bitmaps_mipmap.h declares bitmap_get_max_mipmap_count (fixes an implicit declaration); bitmap_group_internal.h declares bitmap_group_add_bitmap (bitmap_group.h placement regressed decals by declaration count). bitmap_compress_to_mipmap takes the transparent-colour reference pointer January passes. Header renames and their consumers are one measured packet. Unparks _extract_add_bitmap, _extract_build_debug_plate, _extract_mipmaps_to_bitmap, _extract_pixels_from_mipmap, _extract_pixels_to_mipmap (+4,544 padded); re-baselines parked _bitmap_group_add_bitmap (same 992/59). Adversarially verified; 45 bitmap_group.h consumers rebuilt, 0 regressions. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
109 lines
2.0 KiB
C
109 lines
2.0 KiB
C
/*
|
|
BITMAP_GROUP.H
|
|
|
|
header included in hcex build.
|
|
*/
|
|
|
|
#ifndef __BITMAP_GROUP_H
|
|
#define __BITMAP_GROUP_H
|
|
#pragma once
|
|
|
|
/* ---------- headers */
|
|
|
|
#include "math/real_math.h"
|
|
#include "tag_files/tag_groups.h"
|
|
|
|
/* ---------- constants */
|
|
|
|
enum
|
|
{
|
|
BITMAP_GROUP_TAG = 'bitm',
|
|
};
|
|
|
|
/* ---------- macros */
|
|
|
|
#define bitmap_group_get(index) ((struct bitmap_group *)tag_get(BITMAP_GROUP_TAG, (index)))
|
|
|
|
/* ---------- structures */
|
|
|
|
struct bitmap_data
|
|
{
|
|
unsigned long signature;
|
|
short width;
|
|
short height;
|
|
short depth;
|
|
short type;
|
|
short format;
|
|
unsigned short flags;
|
|
union point2d registration_point;
|
|
short mipmap_count;
|
|
unsigned short pixel_data;
|
|
unsigned long pixels_offset;
|
|
unsigned long pixel_data_size;
|
|
unsigned long bitmap_tag_index;
|
|
void *bitmap_data_pointer;
|
|
void *hardware_format;
|
|
void *base_address;
|
|
};
|
|
|
|
struct bitmap_group_sprite
|
|
{
|
|
short bitmap_index;
|
|
short bitmap_pad;
|
|
long unused;
|
|
real_rectangle2d bounds;
|
|
real_point2d registration_point;
|
|
};
|
|
|
|
struct bitmap_group_sequence
|
|
{
|
|
char name[32];
|
|
short first_bitmap_index;
|
|
short bitmap_count;
|
|
long unused[4];
|
|
struct tag_block sprites;
|
|
};
|
|
|
|
typedef char bitmap_group_sprite_size_assert[
|
|
sizeof(struct bitmap_group_sprite) == 0x20 ? 1 : -1];
|
|
typedef char bitmap_group_sequence_size_assert[
|
|
sizeof(struct bitmap_group_sequence) == 0x40 ? 1 : -1];
|
|
|
|
struct bitmap_group
|
|
{
|
|
short type;
|
|
short format;
|
|
short usage;
|
|
unsigned short flags;
|
|
real detail_fade;
|
|
real sharpen_amount;
|
|
real bump_height;
|
|
short sprite_budget_size;
|
|
unsigned short sprite_budget_count;
|
|
short import_width;
|
|
short import_height;
|
|
struct tag_data import_bitmap;
|
|
struct tag_data pixel_data;
|
|
real smoothing_filter_size;
|
|
real alpha_bias;
|
|
short mipmap_count;
|
|
short sprite_usage;
|
|
short sprite_spacing;
|
|
unsigned short unused;
|
|
struct tag_block sequences;
|
|
struct tag_block bitmap_data;
|
|
};
|
|
|
|
/* ---------- prototypes/BITMAP_GROUP.C */
|
|
|
|
struct bitmap_data *bitmap_group_get_bitmap_from_sequence(
|
|
long bitmap_group_index,
|
|
short sequence_index,
|
|
short frame_index);
|
|
|
|
/* ---------- globals */
|
|
|
|
/* ---------- public code */
|
|
|
|
#endif // __BITMAP_GROUP_H
|