Files
Cesarus85--ringfall-mjolnir-vr/source/structures/structure_lens_flares.c
T

114 lines
3.0 KiB
C

/*
STRUCTURE_LENS_FLARES.C
symbols in this file:
00183BB0 0020:
_code_00183bb0 (0000)
00183BD0 0060:
_cluster_index_from_point (0000)
00183C30 10f0:
_build_structure_lens_flares (0000)
00184D20 0010:
_structure_lens_flares_place (0000)
002A1370 0048:
??_C@_0EI@BOLLHBJG@?$CD?$CD?$CD?5ERROR?5failed?5to?5clear?5lens?5f@ (0000)
002A13B8 0007:
??_C@_06DMAFEADM@done?$AN?6?$AA@ (0000)
002A13C0 0048:
??_C@_0EI@OPILBFAL@?$CD?$CD?$CD?5ERROR?5failed?5to?5allocate?5tem@ (0000)
002A1408 0047:
??_C@_0EH@EENPIBPH@?$CD?$CD?$CD?5ERROR?5failed?5to?5sort?5lens?5fl@ (0000)
002A1450 0033:
??_C@_0DD@CDKGJELE@?$CD?$CD?$CD?5ERROR?5failed?5to?5resize?5lens?5@ (0000)
002A1488 0047:
??_C@_0EH@GEEEEHH@?$CD?$CD?$CD?5WARNING?5failed?5to?5add?5lens?5f@ (0000)
002A14D0 0066:
??_C@_0GG@JDHLIDMF@point_count?$CL2?$DMMAXIMUM_TRIANGLES_@ (0000)
002A1538 0071:
??_C@_0HB@PCJNLAFB@cluster?9?$DOfirst_lens_flare_marker@ (0000)
002A15B0 004f:
??_C@_0EP@HDCOMOMJ@cluster?9?$DOfirst_lens_flare_marker@ (0000)
002A1600 0037:
??_C@_0DH@MGKKDPBA@cluster_index?$DMtemp_markers?$FLmarke@ (0000)
002A1638 0040:
??_C@_0EA@NCAOCOMC@?$CD?$CD?$CD?5WARNING?5failed?5to?5add?5lens?5f@ (0000)
002A1678 0055:
??_C@_0FF@CDJGMDIB@surface?9?$DOvertex_indices?$FL2?$FN?$DO?$DN0?5?$CG?$CG@ (0000)
002A16D0 0055:
??_C@_0FF@KHBPBDOH@surface?9?$DOvertex_indices?$FL1?$FN?$DO?$DN0?5?$CG?$CG@ (0000)
002A1728 0055:
??_C@_0FF@NLGHKDMF@surface?9?$DOvertex_indices?$FL0?$FN?$DO?$DN0?5?$CG?$CG@ (0000)
002A1780 0022:
??_C@_0CC@BLKMGOAC@building?5structure?5lens?5flares?4?4@ (0000)
002A17A4 000e:
??_C@_0O@IHAGMCLG@structure_bsp?$AA@ (0000)
002A17B4 0032:
??_C@_0DC@KJLLBBH@c?3?2halo?2SOURCE?2structures?2struct@ (0000)
*/
/* ---------- headers */
#include "cseries.h"
#include "structure_bsp_definitions.h"
#include "physics/collision_bsp_definitions.h"
#include "scenario/scenario.h"
/* ---------- constants */
/* ---------- macros */
/* ---------- structures */
struct temporary_lens_flare_marker
{
byte unknown[0x10];
short cluster_index;
};
/* ---------- prototypes */
long code_00183bb0(
struct temporary_lens_flare_marker const *a,
struct temporary_lens_flare_marker const *b);
boolean build_structure_lens_flares(
struct structure_bsp *structure_bsp);
void structure_lens_flares_place(
void);
/* ---------- globals */
/* ---------- public code */
void structure_lens_flares_place(
void)
{
build_structure_lens_flares(global_structure_bsp_get());
return;
}
long cluster_index_from_point(
struct structure_bsp const *structure_bsp,
real_point3d const *point)
{
long test_result = bsp3d_test_point(&TAG_BLOCK_GET_ELEMENT(&structure_bsp->collision_bsp, 0, struct collision_bsp)->bsp3d, 0, point);
long result = NONE;
if (test_result != NONE)
{
result = TAG_BLOCK_GET_ELEMENT(&structure_bsp->leaves, test_result & LONG_MAX, struct structure_leaf)->cluster_index;
}
return result;
}
/* ---------- private code */
long code_00183bb0(
struct temporary_lens_flare_marker const *a,
struct temporary_lens_flare_marker const *b)
{
return a->cluster_index > b->cluster_index ? 1 : -1;
}