Files
RP412/MUNGA/GAUGALRM.h
T
CydandClaude Opus 4.8 4abbf8879f Initial import of Red Planet v4.10 Win32 source
Imports the current Win32 source for the pod-racing game 'Red Planet',
built on the MUNGA engine and its L4 (Win32/DirectX) platform layer:

- MUNGA / MUNGA_L4: cross-platform engine core and Win32 backend
- RP / RP_L4: Red Planet game logic and Win32 application
- DivLoader, Setup1: asset loader and installer project
- lib, MUNGA_L4/openal, MUNGA_L4/sos: third-party audio dependencies

Removed stale Subversion metadata and added .gitignore/.gitattributes.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-30 07:59:51 -05:00

58 lines
1.9 KiB
C++

#pragma once
#include "resource.h"
#include "chain.h"
#include "lamp.h"
class Lamp;
//#######################################################################
// GaugeAlarm
//#######################################################################
class GaugeAlarm : public Node
{
friend class GaugeAlarmManager;
protected:
GaugeAlarm(Entity *entity, Subsystem *subsystem, Enumeration condition);
~GaugeAlarm();
public:
Logical TestInstance() const;
protected:
Entity *entity;
Subsystem *subsystem;
int conditionIndex;
public:
ChainOf<Lamp*> lampList; // descendants of GaugeAlarmManager need to see this
};
//#######################################################################
// GaugeAlarmManager
//#######################################################################
class GaugeAlarmManager SIGNATURED
{
friend class GaugeAlarm;
friend class GaugeRenderer;
protected:
GaugeAlarmManager();
public:
virtual ~GaugeAlarmManager();
//--------------------------------------------------------------------
// Resource methods
//--------------------------------------------------------------------
public:
ResourceDescription::ResourceID CreateModelGaugeAlarmStreamResource(ResourceFile *resource_file, const char *model_name, NotationFile *model_file, const ResourceDirectories * /*directories*/);
virtual Logical CreateGaugeAlarmStreamItem(MemoryStream *mem_stream, const char *alarm_name, const char *alarm_data);
virtual void ReadGaugeAlarmStreamItem(GaugeAlarm *alarm, Entity *the_entity, Subsystem *the_subsystem, Enumeration the_condition, MemoryStream *mem_stream);
void RemoveAllAlarms();
void Activate(Entity *entity, Subsystem *subsystem, Enumeration condition, ResourceDescription::ResourceID resource_ID);
void Deactivate(Entity *entity, Subsystem *subsystem, Enumeration condition);
public:
Logical TestInstance() const;
protected:
ChainOf<GaugeAlarm*> gaugeAlarmList;
};