/*
	Welcome!
	Someone actually opened this file, i must admit this is rather
	unexpected.
	If i knew i would propably be quite shocked and, trust me, if you
	continue reading you will most certainly find yourself in a
	not too dissimiliar state. This code is most definitly not something to
	brag about. Originally it was a beginners programming project created
	by our graphics artist and due to her lack of experience combined with
	the limited amount of time she had to finish it, the games complexity
	was significantly limited. After this we decided to create a port for
	Xbox360, mostly because we wanted to get accustomed to this platform
	which will be used for her next and final(for bachelors degree at least)
	university project. So instead of simply being the first real game
	programmed by Jana, Rectangle Battle evolved into the first XNA/Xbox360
	game I ever programmed. Obviously this would be rather boring, which is
	why the next thing worth mentioning is the fact that it was also my very
	first C# program(I really dislike this language).
	However, as attentive readers may have realized by now, I digress and
	the original ugly form of this code should be of little or no concern to
	someone reading the c++ version. Those are serious charges and whilst i
	have no choice but to plead guilty of the first one(mostly because i
	wish to distract you from the actual source), I must disagree with the
	latter.
	Even so i could have done otherwise, i decided not to and basically
	copied the codes structure from the Xbox/c# version, mostly due to
	excessive laziness. This is, of course, no valid excuse and whilst i
	must congratulate you on reading this far one more warning must not be
	neglected before you take a look at the code: I dont really comply to
	the accepted practice of seperating header and implemantation files and
	usually do header only implementations, although countless hours have
	been wasted by attempts to convince me. So if you have been wondering
	why there is only one actual cc file and this one consists mostly of a
	weird rant by the programmer, this is the reason ;-). Now finally,
	I (more or less) proudly present to you:
	Rectangle Battle - In Space (Dreamcast Version)
	
	This file does nothing all too special, it includes all the headers,
	initializes the romdisk(everything is in there, so the game takes really
	looong to boot, however has hardly any loading time afterwards ;-)),
	draw a beautiful icon to all vmus, creates an instance of the game_state_mgr
	class and calls that instances run method. So a good place to continue
	reading this source code would propably be the file include/game_state_mgr.h,
	where this class is defined ;-).
*/
#include <string>
#include <vector>
#include <list>

#include <cstdlib>

#include <kos.h>

#include "include/kos_gfx/types.h"
#include "include/kos_gfx/math.h"
#include "include/kos_gfx/pvr.h"
#include "include/kos_gfx/font.h"
#include "include/kos_gfx/sound.h"
#include "include/kos_gfx/input.h"
#include "include/kos_gfx/storage.h"
#include "include/kos_gfx/fmv.h"

#include "include/bg.h"
#include "include/announcement.h"
#include "include/collision_mgr.h"
#include "include/item.h"
#include "include/asteroid.h"
#include "include/missile.h"
#include "include/barrier.h"
#include "include/rectangle.h"
#include "include/triangle.h"

#include "include/highscore.h"
#include "include/game_state.h"

#include "include/main_menu.h"
#include "include/pause.h"
#include "include/versus_mode.h"
#include "include/survival_mode.h"
#include "include/highscore_entry.h"
#include "include/highscore_display.h"

#include "include/game_state_mgr.h"

#include "vmu_icon.xbm"

extern uint8 romdisk[];
KOS_INIT_ROMDISK(romdisk);

int main(int argc, char *argv[])
{
	srand(time(NULL));
	
	kos_gfx::storage::vmu::set_icons(vmu_icon_bits);
	
	rectangle_battle::game_state_mgr game_mgr;
	game_mgr.run();
	return 0;
};
