From e33e19d0587146859d48a134ec9fd94e7b7ba5cd Mon Sep 17 00:00:00 2001 From: "FWoltermann@gmail.com" Date: Thu, 8 Dec 2011 14:53:40 +0000 Subject: Initial upload --- nGenEx/VideoFactory.cpp | 71 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 71 insertions(+) create mode 100644 nGenEx/VideoFactory.cpp (limited to 'nGenEx/VideoFactory.cpp') diff --git a/nGenEx/VideoFactory.cpp b/nGenEx/VideoFactory.cpp new file mode 100644 index 0000000..ded9e84 --- /dev/null +++ b/nGenEx/VideoFactory.cpp @@ -0,0 +1,71 @@ +/* Project nGenEx + Destroyer Studios LLC + Copyright © 1997-2004. All Rights Reserved. + + SUBSYSTEM: nGenEx.lib + FILE: VideoFac.cpp + AUTHOR: John DiCamillo + + + OVERVIEW + ======== + Video and Polygon Renderer Factory class +*/ + +#include "MemDebug.h" +#include "VideoFactory.h" + +#include "VideoDX9.h" +#include "SoundD3D.h" + +// +--------------------------------------------------------------------+ + +VideoFactory::VideoFactory(HWND h) + : hwnd(h), video(0), audio(0) +{ } + +VideoFactory::~VideoFactory() +{ } + +// +--------------------------------------------------------------------+ + +Video* +VideoFactory::CreateVideo(VideoSettings* vs) +{ + if (!video) { + video = (Video*) new(__FILE__,__LINE__) VideoDX9(hwnd, vs); + + if (!video) { + delete video; + video = 0; + } + } + + return video; +} + +// +--------------------------------------------------------------------+ + +void +VideoFactory::DestroyVideo(Video* v) +{ + if (v == video) { + delete video; + video = 0; + } +} + +// +--------------------------------------------------------------------+ + +SoundCard* +VideoFactory::CreateSoundCard() +{ + if (!audio) { + audio = new(__FILE__,__LINE__) SoundCardD3D(hwnd); + Sound::UseSoundCard(audio); + } + + return audio; +} + + -- cgit v1.1