Files
Cyd 2b8ca921cb Initial full mirror of c:\VWE (source + assets + toolchain + outputs) via Git LFS
Complete disaster-recovery snapshot: engine/game source, game data assets,
VC6 toolchain + DX SDKs, build outputs, deployed game, and _UNUSED archive.
Large binaries in Git LFS; text preserved byte-for-byte (core.autocrlf=false,
no eol attributes). See RECOVERY.md for the one-clone rebuild procedure.
2026-06-24 21:28:16 -05:00

107 lines
2.5 KiB
C++

#pragma once
#include "Adept.hpp"
#include "Component.hpp"
#include "AudioComponentWeb.hpp"
namespace Adept {
class AttributeEntry;
class Entity__ClassData;
class SpatializedCommand;
//#########################################################################
//###################### AudioFXComponent ##########################
//#########################################################################
class AudioFXComponent:
public Component
{
public:
static void InitializeClass(Stuff::NotationFile *startup_ini);
static void TerminateClass(Stuff::NotationFile *startup_ini);
static ClassData *DefaultData;
typedef Component BaseClass;
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// Constructor/Destructor
//
protected:
AudioFXComponent(
ClassData *class_data,
Stuff::MemoryStream *stream,
AudioComponentWeb *owning_web
);
public:
static AudioFXComponent* Make(
MemoryStream *stream,
AudioComponentWeb *owning_web
);
~AudioFXComponent();
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// Component support
//
public:
void Execute();
void ChannelChanged(Channel *channel);
AudioComponentWeb* GetComponentWeb()
{
Check_Object(this);
AudioComponentWeb* renderer =
Cast_Object(
AudioComponentWeb*,
Component::GetComponentWeb()
);
Verify(renderer->GetClassID() == AudioComponentWebClassID);
return renderer;
}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// Variables
//
protected:
Stuff::Time m_nextExecute;
Entity *m_entity;
AttributeEntry *m_status;
int m_type;
gosAudio_PlayMode m_playMode;
ResourceID m_handleResourceID, m_lowEndHandleResourceID;
Stuff::Scalar
m_priority,
m_volume,
m_minRestartDelay,
m_minReplaceDelay,
m_minDeviation,
m_nearClip,
m_minRange,
m_maxRange,
m_farClip,
m_executeDelay;
Stuff::SlotOf<SpatializedCommand*> m_command;
void PlaySound();
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// Test support
//
public:
void TestInstance() const;
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// Tool-related Functions
//
public:
static ClassData* CreateFactoryRequest(
FactoryRequestParameters *parameters,
Entity__ClassData *class_data
);
};
}