/* ** Command & Conquer Red Alert(tm) ** Copyright 2025 Electronic Arts Inc. ** ** This program is free software: you can redistribute it and/or modify ** it under the terms of the GNU General Public License as published by ** the Free Software Foundation, either version 3 of the License, or ** (at your option) any later version. ** ** This program is distributed in the hope that it will be useful, ** but WITHOUT ANY WARRANTY; without even the implied warranty of ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ** GNU General Public License for more details. ** ** You should have received a copy of the GNU General Public License ** along with this program. If not, see . */ /*************************************************************************** ** C O N F I D E N T I A L --- W E S T W O O D A S S O C I A T E S ** *************************************************************************** * * * Project Name : WWLIB * * * * File Name : GETCD.CPP * * * * Programmer : STEVE WETHERILL BASED ON JOE BOSTIC CODE * * * * Start Date : 5/13/94 * * * * Last Update : June 4, 1994 [SW] * * * *-------------------------------------------------------------------------* *-------------------------------------------------------------------------* * Functions: * * GetCDClass::GetCDClass -- default constructor * * GetCDClass::~GetCDClass -- destructor * * GetCDClass::GetCDDrive -- returns the logical CD drive * * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */ #include #include #include #include #include #include "wwstd.h" #include "playcd.h" #include "wwmem.h" /*************************************************************************** * GetCDClass -- default constructor * * * * * * * * INPUT: * * none * * OUTPUT: * * none * * WARNINGS: * * * * HISTORY: * * 05/26/1994 SW : Created. * * 12/4/95 ST : fixed for Win95 * *=========================================================================*/ GetCDClass::GetCDClass(VOID) { char path[]={"a:\\"}; CDCount = 0; CDIndex = 0; /* ** Set all CD drive placeholders to empty */ memset (CDDrives, NO_CD_DRIVE, MAX_CD_DRIVES); for (char i='c' ; i<='z' ; i++){ path[0]=i; if (GetDriveType (path) == DRIVE_CDROM){ CDDrives[CDCount++] = (int) (i-'a'); } } /* ** Catch the case when there are NO CD-ROM drives available */ if (CDCount == 0) { for (char i='a' ; i<='b' ; i++){ path[0]=i; if (GetDriveType (path) == DRIVE_CDROM){ CDDrives[CDCount++] = (int) (i-'a'); } } } } /*************************************************************************** * GetCDClass -- destructor * * * * * * * * INPUT: * * none * * OUTPUT: * * none * * WARNINGS: * * * * HISTORY: * * 05/26/1994 SW: Created. * * 12/4/95 ST: fixed for Win95 * *=========================================================================*/ GetCDClass::~GetCDClass(VOID) { // if(cdDrive_addrp.seg) // DPMI_real_free(cdDrive_addrp); // free up those conventional buffers } /* ==================================================================== */