/*
	Twilight Prophecy 3D/Multimedia SDK
	A multi-platform development system for virtual reality and multimedia.

	Copyright (C) 1997-2001 by Twilight 3D Finland Oy Ltd.
*/
/*
TODO: reference implementation in this folder: "../win32/config.hpp"
*/
#ifndef PRCORE_CONFIG_BEOS_HPP
#if defined( __BEOS__ )
#define PRCORE_CONFIGURED


	/*
#include <SupportDefs.h>
#include <string.h>
#include <stdlib.h>
#include <DirectGLWindow.h>


	// platform
//	#define __BEOS__

	// interface
	#define PREXPORT __declspec(dllexport)
	#define PRIMPORT __declspec(dllimport)
	#define PRCALL

	#ifdef PR_COMPILE_RUNTIME
	#define PRAPI PREXPORT
	#else
	#define PRAPI PRIMPORT
	#endif


	#define max max_c
	#define min min_c

	#ifdef PRMAIN
	#include <Application.h>
	#include <Entry.h>
	#include <Path.h>
	#include <Roster.h>

	struct Pr3DArgs
	{
		int argc;
		char **argv;
	};

	static int32 PrThreadWrapper(Pr3DArgs *args);
	
	class PRApplication : public BApplication
	{
		public:
			PRApplication(Pr3DArgs *a) : BApplication("application/x-vnd.ProphecyApp")
			{
				args = a;	
			}
			~PRApplication(){};

			void ReadyToRun()
			{
				thread_id prTID;
				prTID = spawn_thread( PrThreadWrapper, "Prophecy application thread", B_DISPLAY_PRIORITY, (void *)args );	
				resume_thread(prTID);
			}

		private:
			Pr3DArgs *args;
	
	
	};

	extern int prMain(int argc, char** argv);
	static BApplication *prApp;
	static int32 PrThreadWrapper(Pr3DArgs *args)
	{
		int32 rc = PrMain( args->argc, args->argv );	
		prApp->Lock();
		prApp->Quit();
		return rc;
	}

	int main(int argc, char *argv[])
	{

		Pr3DArgs *args = new Pr3DArgs;

		args->argc = argc;
		args->argv = argv;

		prApp = new PRApplication(args);
		prApp->Run();
		delete args;
		return 1;
	}

	#endif

	// flags
	#define PR_LITTLE_ENDIAN
	#define PR_X86_SIMD


	// types
	typedef signed long long	int64;
	typedef unsigned long long	uint64;


	struct AccelMode
	{
		int width;
		int height;
		int depth;
		int color;
		int stencil;
		int accum;
	};
	
	struct AccelDevice
	{
		int dev_id;
		int monitor;
		bool depth;
		bool stencil;
		bool accum;
		AccelMode* modes;
		int numModes;
	};
	
	struct AccelDeviceInfo
	{
		AccelDevice *devs;
		int numDevs;
	};
	
	// window handle
	struct WinHandle
	{
		BDirectWindow*		hwnd;
		AccelDeviceInfo*	devs;
	};


	// string compare
	inline int stricmp(const char* a, const char* b)
	{
		return strcasecmp(a,b);
	}
	*/


#endif
#endif