mirror of
https://github.com/Cesarus85/ringfall-mjolnir-vr.git
synced 2026-10-23 09:00:24 +02:00
* wip objects.c work * objects_disconnect_from_structure_bsp * match more functions * more objects work * objects_update work - 93.42% matching * match matrix4x3_transform_point * more objects work - fix duplicate symbol name at 1870800 * match object_choose_random_change_colors * match object_update * objects_garbage_collection work * match object_set_position * more object work * match objects_update * more object work * match object_select_random_region_permutations_by_variant * objects_in_sphere work 99.90% match * object name list calls * match objects_in_sphere * misc matches * match structure_bsp_definitions object * match objects_in_clusters_by_indices * more object work * match `edit_text_handle_key` * mark edit_text as matching * misc changes - match get_next_character - match data section in objects.c * object_export_function_values work * match object_compute_function_values * match object_get_orientation * added functions and adjust formatting * fix profile macros * formatting changes * more formatting * more formatting --------- Co-authored-by: punpckhdq <121350336+punpckhdq@users.noreply.github.com>
72 lines
2.2 KiB
C
72 lines
2.2 KiB
C
/*
|
|
STRUCTURES.H
|
|
|
|
header included in hcex build.
|
|
*/
|
|
|
|
#ifndef __STRUCTURES_H
|
|
#define __STRUCTURES_H
|
|
#pragma once
|
|
|
|
/* ---------- constants */
|
|
|
|
enum
|
|
{
|
|
MAXIMUM_COLLISION_MATERIALS_PER_STRUCTURE= 512,
|
|
MAXIMUM_SURFACE_REFERENCES_PER_STRUCTURE= 0x40000,
|
|
MAXIMUM_LIGHTMAPS_PER_STRUCTURE= 128,
|
|
MAXIMUM_MATERIALS_PER_STRUCTURE_LIGHTMAP= 2048,
|
|
MAXIMUM_SURFACES_PER_STRUCTURE_MATERIAL= 20000,
|
|
MAXIMUM_VERTICES_PER_STRUCTURE_MATERIAL= 64000,
|
|
MAXIMUM_CLUSTER_PORTALS_PER_CLUSTER= 128,
|
|
MAXIMUM_MIRRORS_PER_CLUSTER= 16,
|
|
MAXIMUM_SUBCLUSTERS_PER_CLUSTER= 4096,
|
|
MAXIMUM_SURFACES_PER_SUBCLUSTER= 128,
|
|
MAXIMUM_SURFACES_PER_CLUSTER= SHORT_MAX+1,
|
|
MAXIMUM_VERTICES_PER_MIRROR= 512,
|
|
MAXIMUM_TEMPORARY_CLUSTERS_PER_STRUCTURE= 8192,
|
|
MAXIMUM_CLUSTERS_PER_STRUCTURE= 512,
|
|
MAXIMUM_CLUSTER_DATA_SIZE= UNSIGNED_SHORT_MAX+1,
|
|
MAXIMUM_CLUSTER_PORTALS_PER_STRUCTURE= 512,
|
|
MAXIMUM_VERTICES_PER_CLUSTER_PORTAL= 128,
|
|
MAXIMUM_FOG_PLANES_PER_STRUCTURE= 32,
|
|
MAXIMUM_VERTICES_PER_STRUCTURE_FOG_PLANE= 4096,
|
|
MAXIMUM_FOG_REGIONS_PER_STRUCTURE= 32,
|
|
MAXIMUM_FOG_PALETTE_ENTRIES_PER_STRUCTURE= 32,
|
|
MAXIMUM_WEATHER_PALETTE_ENTRIES_PER_STRUCTURE= 32,
|
|
MAXIMUM_WEATHER_POLYHEDRA_PER_STRUCTURE= 32,
|
|
MAXIMUM_PLANES_PER_WEATHER_POLYHEDRON= 16,
|
|
MAXIMUM_BACKGROUND_SOUND_PALETTE_ENTRIES_PER_STRUCTURE= 64,
|
|
MAXIMUM_SOUND_ENVIRONMENT_PALETTE_ENTRIES_PER_STRUCTURE= 64,
|
|
MAXIMUM_MARKERS_PER_STRUCTURE= 1024,
|
|
MAXIMUM_LENS_FLARES_PER_STRUCTURE= 256,
|
|
MAXIMUM_LENS_FLARE_MARKERS_PER_STRUCTURE= UNSIGNED_SHORT_MAX+1,
|
|
MAXIMUM_DECALS_PER_STRUCTURE= 6144,
|
|
};
|
|
|
|
/* ---------- macros */
|
|
|
|
/* ---------- structures */
|
|
|
|
/* ---------- prototypes/STRUCTURES.C */
|
|
|
|
short structure_clusters_in_sphere(short cluster_index, real_point3d const *position, real radius, short maximum_count, short *intersected_indices);
|
|
|
|
/* ---------- prototypes/STRUCTURE_DETAIL_OBJECTS.C */
|
|
|
|
void structure_detail_objects_flush(void);
|
|
|
|
/* ---------- prototypes/STRUCTURE_LENS_FLARES.C */
|
|
|
|
long cluster_index_from_point(struct structure_bsp const *structure_bsp, union real_point3d const *point);
|
|
|
|
/* ---------- prototypes/STRUCTURE_RUNTIME_DECALS.C */
|
|
|
|
void structure_decals_update(unsigned long *old_combined_pvs, unsigned long *new_combined_pvs, short cluster_count);
|
|
|
|
/* ---------- globals */
|
|
|
|
/* ---------- public code */
|
|
|
|
#endif // __STRUCTURES_H
|