aboutsummaryrefslogtreecommitdiff
path: root/engines/sword25/kernel/kernel.h
diff options
context:
space:
mode:
Diffstat (limited to 'engines/sword25/kernel/kernel.h')
-rw-r--r--engines/sword25/kernel/kernel.h144
1 files changed, 79 insertions, 65 deletions
diff --git a/engines/sword25/kernel/kernel.h b/engines/sword25/kernel/kernel.h
index d09cf68ab6..b610c0caab 100644
--- a/engines/sword25/kernel/kernel.h
+++ b/engines/sword25/kernel/kernel.h
@@ -23,7 +23,7 @@
*
*/
-/*
+/*
* This code is based on Broken Sword 2.5 engine
*
* Copyright (c) Malte Thiesen, Daniel Queteschiner and Michael Elsdoerfer
@@ -71,7 +71,7 @@ class BS_MoviePlayer;
/**
* This is the main engine class
*
- * This class creates and manages all other engine components such as sound engine, graphics engine ...
+ * This class creates and manages all other engine components such as sound engine, graphics engine ...
* It is not necessary to release all the items individually, this is performed by the Kernel class.
*/
class BS_Kernel {
@@ -82,42 +82,44 @@ public:
/**
* Returns a pointer to the window object
*/
- BS_Window *GetWindow() { return _pWindow; }
+ BS_Window *GetWindow() {
+ return _pWindow;
+ }
// Service Methods
// ---------------
/**
- * Creates a new service with the given identifier. Returns a pointer to the service, or null if the
+ * Creates a new service with the given identifier. Returns a pointer to the service, or null if the
* service could not be created
- * Note: All services must be registered in service_ids.h, otherwise they cannot be created here
- * @param SuperclassIdentifier The name of the superclass of the service
- * z.B: "sfx", "gfx", "package" ...
- * @param ServiceIdentifier The name of the service
- * For the superclass "sfx" an example could be "Fmod" or "directsound"
+ * Note: All services must be registered in service_ids.h, otherwise they cannot be created here
+ * @param SuperclassIdentifier The name of the superclass of the service
+ * z.B: "sfx", "gfx", "package" ...
+ * @param ServiceIdentifier The name of the service
+ * For the superclass "sfx" an example could be "Fmod" or "directsound"
*/
BS_Service *NewService(const Common::String &SuperclassIdentifier, const Common::String &ServiceIdentifier);
/**
- * Ends the current service of a superclass. Returns true on success, and false if the superclass
+ * Ends the current service of a superclass. Returns true on success, and false if the superclass
* does not exist or if not service was active
- * @param SuperclassIdentfier The name of the superclass which is to be disconnected
- * z.B: "sfx", "gfx", "package" ...
+ * @param SuperclassIdentfier The name of the superclass which is to be disconnected
+ * z.B: "sfx", "gfx", "package" ...
*/
bool DisconnectService(const Common::String &SuperclassIdentifier);
/**
* Returns a pointer to the currently active service object of a superclass
- * @param SuperclassIdentfier The name of the superclass
- * z.B: "sfx", "gfx", "package" ...
+ * @param SuperclassIdentfier The name of the superclass
+ * z.B: "sfx", "gfx", "package" ...
*/
BS_Service *GetService(const Common::String &SuperclassIdentifier);
/**
* Returns the name of the currentl active service object of a superclass.
* If an error occurs, then an empty string is returned
- * @param SuperclassIdentfier The name of the superclass
- * z.B: "sfx", "gfx", "package" ...
+ * @param SuperclassIdentfier The name of the superclass
+ * z.B: "sfx", "gfx", "package" ...
*/
Common::String GetActiveServiceIdentifier(const Common::String &SuperclassIdentifier);
@@ -129,26 +131,26 @@ public:
/**
* Returns the name of a superclass with the specified index.
* Note: The number of superclasses can be retrieved using GetSuperclassCount
- * @param Number The number of the superclass to return the identifier for.
+ * @param Number The number of the superclass to return the identifier for.
* It should be noted that the number should be between 0 und GetSuperclassCount() - 1.
*/
Common::String GetSuperclassIdentifier(unsigned int Number);
/**
* Returns the number of services registered with a given superclass
- * @param SuperclassIdentifier The name of the superclass
- * z.B: "sfx", "gfx", "package" ...
+ * @param SuperclassIdentifier The name of the superclass
+ * z.B: "sfx", "gfx", "package" ...
*/
- unsigned int GetServiceCount(const Common::String & SuperclassIdentifier);
+ unsigned int GetServiceCount(const Common::String &SuperclassIdentifier);
/**
* Gets the identifier of a service with a given superclass.
* The number of services in a superclass can be learned with GetServiceCount().
- * @param SuperclassIdentifier The name of the superclass
- * z.B: "sfx", "gfx", "package" ...
+ * @param SuperclassIdentifier The name of the superclass
+ * z.B: "sfx", "gfx", "package" ...
* @param Number die Nummer des Services, dessen Bezeichner man erfahren will.<br>
- * Hierbei ist zu beachten, dass der erste Service die Nummer 0 erhält. Number muss also eine Zahl zwischen
- * 0 und GetServiceCount() - 1 sein.
+ * Hierbei ist zu beachten, dass der erste Service die Nummer 0 erhält. Number muss also eine Zahl zwischen
+ * 0 und GetServiceCount() - 1 sein.
*/
Common::String GetServiceIdentifier(const Common::String &SuperclassIdentifier, unsigned int Number);
@@ -166,19 +168,23 @@ public:
/**
* Specifies whether the kernel was successfully initialised
*/
- bool GetInitSuccess() { return _InitSuccess; }
+ bool GetInitSuccess() {
+ return _InitSuccess;
+ }
/**
* Returns a pointer to the BS_ResourceManager
*/
- BS_ResourceManager *GetResourceManager() { return _pResourceManager; }
+ BS_ResourceManager *GetResourceManager() {
+ return _pResourceManager;
+ }
/**
* Returns how much memory is being used
*/
size_t GetUsedMemory();
/**
* Returns a random number
- * @param Min The minimum allowed value
- * @param Max The maximum allowed value
+ * @param Min The minimum allowed value
+ * @param Max The maximum allowed value
*/
int GetRandomNumber(int Min, int Max);
/**
@@ -208,14 +214,14 @@ public:
/**
* Pauses for the specified amount of time
- * @param Msecs The amount of time in milliseconds
+ * @param Msecs The amount of time in milliseconds
*/
void Sleep(unsigned int Msecs) const;
/**
* Returns the singleton instance for the kernel
*/
- static BS_Kernel *GetInstance() {
+ static BS_Kernel *GetInstance() {
if (!_Instance) _Instance = new BS_Kernel();
return _Instance;
}
@@ -238,13 +244,13 @@ public:
void Crash() const {
error("BS_Kernel::Crash");
}
-
+
private:
// -----------------------------------------------------------------------------
// Constructor / destructor
// Private singleton methods
// -----------------------------------------------------------------------------
-
+
BS_Kernel();
virtual ~BS_Kernel();
@@ -262,27 +268,35 @@ private:
Common::String _Identifier;
BS_Service *_ActiveService;
Common::String _ActiveServiceName;
-
+
public:
- Superclass (BS_Kernel *pKernel, const Common::String &Identifier);
+ Superclass(BS_Kernel *pKernel, const Common::String &Identifier);
~Superclass();
-
- unsigned int GetServiceCount() const { return _ServiceCount; }
- Common::String GetIdentifier() const { return _Identifier; }
- BS_Service *GetActiveService() const { return _ActiveService; }
- Common::String GetActiveServiceName() const { return _ActiveServiceName; }
+
+ unsigned int GetServiceCount() const {
+ return _ServiceCount;
+ }
+ Common::String GetIdentifier() const {
+ return _Identifier;
+ }
+ BS_Service *GetActiveService() const {
+ return _ActiveService;
+ }
+ Common::String GetActiveServiceName() const {
+ return _ActiveServiceName;
+ }
Common::String GetServiceIdentifier(unsigned int Number);
BS_Service *NewService(const Common::String &ServiceIdentifier);
bool DisconnectService();
};
-
- Common::Array<Superclass*> _SuperclassList;
- Common::Stack<Common::String> _ServiceCreationOrder;
+
+ Common::Array<Superclass *> _SuperclassList;
+ Common::Stack<Common::String> _ServiceCreationOrder;
Superclass *GetSuperclassByIdentifier(const Common::String &Identifier);
-
+
bool _InitSuccess; // Specifies whether the engine was set up correctly
- bool _Running; // Specifies whether the application should keep running on the next main loop iteration
-
+ bool _Running; // Specifies whether the application should keep running on the next main loop iteration
+
// Active window
// -------------
BS_Window *_pWindow;
@@ -296,22 +310,22 @@ private:
// ----------------------------------
enum _CPU_FEATURES_BITMASKS
{
- _MMX_BITMASK = (1 << 23),
- _SSE_BITMASK = (1 << 25),
- _SSE2_BITMASK = (1 << 26),
- _3DNOW_BITMASK = (1 << 30),
- _3DNOWEXT_BITMASK = (1 << 31)
+ _MMX_BITMASK = (1 << 23),
+ _SSE_BITMASK = (1 << 25),
+ _SSE2_BITMASK = (1 << 26),
+ _3DNOW_BITMASK = (1 << 30),
+ _3DNOWEXT_BITMASK = (1 << 31)
};
- bool _DetectCPU();
+ bool _DetectCPU();
- bool _MMXPresent;
- bool _SSEPresent;
- bool _SSE2Present;
- bool _3DNowPresent;
- bool _3DNowExtPresent;
- CPU_TYPES _CPUType;
- Common::String _CPUVendorID;
+ bool _MMXPresent;
+ bool _SSEPresent;
+ bool _SSE2Present;
+ bool _3DNowPresent;
+ bool _3DNowExtPresent;
+ CPU_TYPES _CPUType;
+ Common::String _CPUVendorID;
*/
// Resourcemanager
@@ -322,21 +336,21 @@ private:
};
/**
- * This is only a small class that manages the data of a service. It is a little ugly, I know,
+ * This is only a small class that manages the data of a service. It is a little ugly, I know,
* but with Common::String a simple struct could not be used.
*/
class BS_ServiceInfo {
public:
- BS_ServiceInfo(const Common::String &SuperclassIdentifier_, const Common::String& ServiceIdentifier_,
- BS_Service* (*CreateMethod_)(BS_Kernel*)) {
+ BS_ServiceInfo(const Common::String &SuperclassIdentifier_, const Common::String &ServiceIdentifier_,
+ BS_Service*(*CreateMethod_)(BS_Kernel *)) {
this->SuperclassIdentifier = SuperclassIdentifier_;
this->ServiceIdentifier = ServiceIdentifier_;
this->CreateMethod = CreateMethod_;
};
-
- Common::String SuperclassIdentifier;
- Common::String ServiceIdentifier;
- BS_Service* (*CreateMethod)(BS_Kernel *);
+
+ Common::String SuperclassIdentifier;
+ Common::String ServiceIdentifier;
+ BS_Service*(*CreateMethod)(BS_Kernel *);
};
template<class T>