mirror of
https://github.com/Cesarus85/ringfall-mjolnir-vr.git
synced 2026-10-29 04:01:10 +01:00
155 lines
3.6 KiB
C
155 lines
3.6 KiB
C
/*
|
|
WEATHER_PARTICLE_SYSTEMS.C
|
|
|
|
symbols in this file:
|
|
000924D0 0040:
|
|
_code_000924d0 (0000)
|
|
00092510 0050:
|
|
_code_00092510 (0000)
|
|
00092560 0030:
|
|
_weather_particle_systems_initialize (0000)
|
|
00092590 0070:
|
|
_weather_particle_systems_initialize_for_new_map (0000)
|
|
00092600 0020:
|
|
_weather_particle_systems_dispose_from_old_map (0000)
|
|
00092620 0020:
|
|
_weather_particle_systems_dispose (0000)
|
|
00092640 0030:
|
|
_code_00092640 (0000)
|
|
00092670 00a0:
|
|
_code_00092670 (0000)
|
|
00092710 0160:
|
|
_weather_particle_system_new (0000)
|
|
00092870 0110:
|
|
_weather_particle_system_delete (0000)
|
|
00092980 02c0:
|
|
_code_00092980 (0000)
|
|
00092C40 0040:
|
|
_code_00092c40 (0000)
|
|
00092C80 02b0:
|
|
_code_00092c80 (0000)
|
|
00092F30 0100:
|
|
_code_00092f30 (0000)
|
|
00093030 0040:
|
|
_code_00093030 (0000)
|
|
00093070 00b0:
|
|
_code_00093070 (0000)
|
|
00093120 0130:
|
|
_code_00093120 (0000)
|
|
00093250 0240:
|
|
_code_00093250 (0000)
|
|
00093490 0690:
|
|
_code_00093490 (0000)
|
|
00093B20 00e0:
|
|
_weather_particle_systems_render (0000)
|
|
0025AAFC 0004:
|
|
_one_over_char_max (0000)
|
|
0025AB00 0032:
|
|
??_C@_0DC@LLJNAPDG@c?3?2halo?2SOURCE?2effects?2weather_p@ (0000)
|
|
0025AB34 003d:
|
|
??_C@_0DN@CIHCKGAO@type_index?$DO?$DN0?5?$CG?$CG?5type_index?$DMdefi@ (0000)
|
|
0025AB74 0033:
|
|
??_C@_0DD@FLIDKJLH@couldn?8t?5allocate?5weather?5partic@ (0000)
|
|
0025ABA8 0012:
|
|
??_C@_0BC@EPMBJEML@weather?5particles?$AA@ (0000)
|
|
0025ABBC 001f:
|
|
??_C@_0BP@EMHAEIEA@system?9?$DOdefinition_index?$DN?$DNNONE?$AA@ (0000)
|
|
0025ABDC 0024:
|
|
??_C@_0CE@MLAKBDEP@too?5many?5weather?5polyhedra?5visib@ (0000)
|
|
0025AC00 003b:
|
|
??_C@_0DL@JLJDEDI@box_count?$DMMAXIMUM_NUMBER_OF_VISI@ (0000)
|
|
002DDDAE 0001:
|
|
_weather (0000)
|
|
0043D590 0274:
|
|
_bss_0043d590 (0000)
|
|
*/
|
|
|
|
/* ---------- headers */
|
|
|
|
#include "effects/weather_particle_systems.h"
|
|
|
|
#include "cseries/errors.h"
|
|
#include "networking/network_connection.h"
|
|
|
|
/* ---------- constants */
|
|
|
|
/* ---------- macros */
|
|
|
|
/* ---------- structures */
|
|
|
|
struct local_weather_particle_system_globals
|
|
{
|
|
long particle_system_index;
|
|
byte pad4[0x98];
|
|
};
|
|
|
|
struct weather_particle_system_globals
|
|
{
|
|
short active_system_count;
|
|
short pad2;
|
|
struct local_weather_particle_system_globals local_players[MAXIMUM_NUMBER_OF_LOCAL_PLAYERS];
|
|
};
|
|
|
|
typedef char local_weather_particle_system_globals_size_assert[
|
|
sizeof(struct local_weather_particle_system_globals) == 0x9C ? 1 : -1];
|
|
typedef char weather_particle_system_globals_size_assert[
|
|
sizeof(struct weather_particle_system_globals) == 0x274 ? 1 : -1];
|
|
|
|
/* ---------- prototypes */
|
|
|
|
/* ---------- globals */
|
|
|
|
static struct weather_particle_system_globals bss_0043d590;
|
|
|
|
/* ---------- public code */
|
|
|
|
void weather_particle_systems_initialize(
|
|
void)
|
|
{
|
|
weather_particle_data = data_new("weather particles", 512, 0x54);
|
|
if (!weather_particle_data)
|
|
error(_error_immediate, "couldn't allocate weather particle system globals.");
|
|
|
|
return;
|
|
}
|
|
|
|
void weather_particle_systems_initialize_for_new_map(
|
|
void)
|
|
{
|
|
short local_player_index;
|
|
|
|
for (local_player_index = 0; local_player_index < MAXIMUM_NUMBER_OF_LOCAL_PLAYERS; local_player_index++)
|
|
{
|
|
match_assert("c:\\halo\\SOURCE\\effects\\weather_particle_systems.c", 91, local_player_index>=0 && local_player_index<MAXIMUM_NUMBER_OF_LOCAL_PLAYERS);
|
|
bss_0043d590.local_players[local_player_index].particle_system_index = NONE;
|
|
}
|
|
|
|
bss_0043d590.active_system_count = 0;
|
|
data_make_valid(weather_particle_data);
|
|
|
|
return;
|
|
}
|
|
|
|
void weather_particle_systems_dispose_from_old_map(
|
|
void)
|
|
{
|
|
if (weather_particle_data->valid)
|
|
data_make_invalid(weather_particle_data);
|
|
|
|
return;
|
|
}
|
|
|
|
void weather_particle_systems_dispose(
|
|
void)
|
|
{
|
|
if (weather_particle_data)
|
|
{
|
|
data_dispose(weather_particle_data);
|
|
weather_particle_data = NULL;
|
|
}
|
|
|
|
return;
|
|
}
|
|
|
|
/* ---------- private code */
|