Module Header Template (RickJ)

From Adventure Game Studio | Wiki
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

RickJ's module header template:

//===================================================================
// *** AGS MODULE HEADER ***
//
// Module: <module name>
//
// Author: <first name> <last name> (<forum name>)
//
// Copyright (C) yyyy  <holder>
//-------------------------------------------------------------------

//===================================================================
// Dependancies:
// The following constant definitions allow the compiler to check for
// module  dependencies and to issue appropiate error messages when a
// required module is not installed. There should be a definition for
// the current version and all previous compatiable versions. 
//-------------------------------------------------------------------
	// Define this module's version info
	#define ModuleName_VERSION 0100
	#define ModuleName_VERSION_0100

	// Check for correct AGS version
	#ifdef AGS_SUPPORTS_IFVER
	#ifnver 2.72
	#error Module ModuleName requires AGS V2.72 or above
	#endif
	#endif

	// Check for required module/version 
	#ifndef RequiredModuleName_VERSION_0200
	#error Module ModuleName requires RequiredModuleName V2.00 or above
	#endif


//===================================================================
// Configuration:
// The following constant definitions are used to modify the behavior
// of this module.  
//-------------------------------------------------------------------
	#define ModuleName_CONFIGPARAM		10


//===================================================================
// Return Values:
// The following constant definitions represent possible return value
// of functions contained in this module. 
//-------------------------------------------------------------------
	#define ModuleName_RETURNVAL		100


//===================================================================
// Enumerated Types:
// The following enumerated data types are defined by this module. 
//-------------------------------------------------------------------
	enum ModuleName_Type {
		eModuleName_Value1,
		eModuleName_Value2
	};


//===================================================================
   struct ModuleName  {
//
// The following structure contains the definition of a menu item.
//-------------------------------------------------------------------
	// Public Data
	int	VariableName;

	// Public Static Methods
	import static function FunctionName();

	// Public Methods
	import function FunctionName();

   	// Private Data
	protected int	variable_name;

	// Private Methods
	protected import function function_name();
};