mirror of
https://github.com/Cesarus85/ringfall-mjolnir-vr.git
synced 2026-10-21 09:00:28 +02:00
114 lines
3.0 KiB
C
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;
|
|
}
|