- PSP Spieleentwicklung - http://psp.anmabagima.de -
Homebrew Strukturieren
Dieser Eintrag stammt von AnMaBaGiMa Am 25.11.2009 @ 12:41 In Erste Schritte | Keine Kommentare
Ein Homebrew Basisklasse
Im ersten Schritt wird eine einfache Homebrew-Basisklasse erstellt, welche die in jedem Homebrew immer wieder auftauchenden Grundfunktionnen bereitstellt un initialisiert. Jede Applikation kann diese Klasse dann erben und entsprechend spezialisieren.
Das Header-File dieser ersten Applikationsklasse sieht dann so aus:
/*
* Homebrew.h
*/
#ifndef HOMEBREW_H_
#define HOMEBREW_H_
class ClHomebrew {
public:
/*
* Initialisierung des Homebrews
*/
bool init();
/*
* Homebrew ausführen bis “HOME” Taste + Beenden
*/
void run();
/*
* Homebrew soll beendet werden, ggfl. speicher freigeben
*/
virtual void exit();
/*
* Destructor
*/
virtual ~clHomebrew();
protected:
/**
* die Klasse kann nicht direkt instanziiert werden -> singleton
* Konstrukor ist protected
*/
ClHomebrew();
virtual void mainthread();
};
#endif /* HOMEBREW_H_ */
Die Implementierung zu dieser Klasse sieht dann wie folgt aus. Hier finden wir einige Elemente aus unserem ersten Homebrew wieder.
/*
* homebrew.cpp
*
* Diese Klasse ist die Basisklasse für jede Art von Homebrew Entwicklung
*/
#include “homebrew.h”
extern “C” {
#include <pspdebug.h>
#include “callbacks.h”
}
void ClHomebrew::run()
{
// die Hauptschleife
while(running()){
/*
* so lange die Applikation nicht über die HOME-Taste
* beendet wurde diese Ausführen
*/
mainthread();
}
}
/**
* Initializierung der Homebrew - Callbacks etc.
*/
bool ClHomebrew::init(){
//Init des DebugScreens für Textausgabe
pspDebugScreenInit();
setupCallbacks();
return true;
}
void ClHomebrew::exit(){
}
/**
* Leerer Hauptthread/Programmablauf. Muss von der
* Ableitenden Klasse implementiert werden
*/
void clHomebrew::mainthread(){
}
clHomebrew::clHomebrew() {
}
clHomebrew::~clHomebrew() {
}
Die zweite Homebrew
Mit diesen Grundlagen können wir nun unsere zweite Homebrew schreiben die auf dieser Basisklasse aufsetzt.
Schritt 1: Zunächst legen wir eine “HalloWelt” Klasse als Ableitung der Basisklasse and und implementieren den “Mainthread”.
Schritt 2:Danach bauen wir die “main.cpp” entsprechend um und in
Schritt 3:Müssen wir noch das Makefile anpassen um unsere Applikation durch den Compiler zu bekommen
Von diesen Schritten beim nächsten mal mehr…..
Dieser Artikel wurde ausgedruckt ab PSP Spieleentwicklung: http://psp.anmabagima.de
URL zum Artikel: http://psp.anmabagima.de/2009/11/25/homebrew-strukturieren/
Klicken hier zum Drucken.