/* Copyright (C) 1994-2003 Revolution Software Ltd
 *
 * 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 2
 * 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, write to the Free Software
 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
 *
 * $Header$
 */

//=============================================================================
//
//	Filename	:	language.c
//	Created		:	20th August 1996
//	By			:	P.R.Porter
//
//	Summary		:	This module holds the functions which govern which language
//					version is current.
//
//
//	Version	Date		By		Description
//	------- ---------	---		-----------------------------------------------
//	1.0		16-Sep-96	PRP		Initial language version control functions.
//								Many of the functions are currently stubs, and
//								this will be addressed shortly.
//
//
//	Functions
//	---------
//
//	--------------------------------------------------------------------------
//
//	int32 GetLanguageVersion(uint8 *version)
//
//	This function modifies the 'version' passed in to be the current language.
//	The first time this function is called, it gets the language from the 
//	version.inf file distributed on the game CD.  It returns an RD error code
//	if this file cannot be opened, or the version cannot be obtained from it.
//
//	---------------------------------------------------------------------------
//	
//	int32 SetLanguageVersion(uint8 version)
//
//	This function is useful for debugging.  It sets the version to the one
//	passed in.
//
//	---------------------------------------------------------------------------
//	
//	int32 GetGameName(uint8 *name);
//
//	Fills the string pointed to by name with the title of the game, depending
//	upon what the current language version is.
//
//=============================================================================


#include "stdafx.h"
#include "driver96.h"



uint8 languageVersion = ENGLISH;

static uint8 versionFromFile = 0;




int32 GetLanguageVersion(uint8 *version)

{

	if (versionFromFile)
	{
		*version = languageVersion;
	}
	else
	{
		versionFromFile = 1;
		languageVersion = AMERICAN;
		return(RDERR_OPENVERSIONFILE);
	}
	return(RD_OK);

}


int32 SetLanguageVersion(uint8 version)

{

	languageVersion = version;
	return(RD_OK);

}


int32 GetGameName(uint8 *name)

{

	uint8 version;
	int32 rv;


	rv = GetLanguageVersion(&version);

	switch(version)
	{
	case ENGLISH:
		strcpy((char *)name, "Broken Sword II");
		break;
	case AMERICAN:
		strcpy((char *)name, "Circle of Blood II");
		break;
	case GERMAN:
		strcpy((char *)name, "Baphomet's Fluch II");
		break;
	default:
		strcpy((char *)name, "Some game or other, part 86");
		return(RDERR_INVALIDVERSION);
	}

	return(rv);

}