00001 #include "MercuryWindowEE.h"
00002 #include "MercuryLog.h"
00003 #include "MercuryDisplay.h"
00004 #include "MercuryUtil.h"
00005 #include <sifrpc.h>
00006
00007 #include <draw.h>
00008 #include <graph.h>
00009 #include <math3d.h>
00010
00011 MercuryWindowEE::MercuryWindowEE()
00012 :MercuryWindow(0,0,false)
00013 {
00014 LOG.Log("Video render: EE/Draw&Graph");
00015 }
00016
00017 MercuryWindowEE::~MercuryWindowEE()
00018 {
00019 DestroyWindowAndRender();
00020 }
00021
00022 bool MercuryWindowEE::MakeWindow(const char* title, int width, int height, int bits, bool fullscreenflag)
00023 {
00024
00025
00026 return true;
00027 }
00028
00029 void MercuryWindowEE::DestroyWindow()
00030 {
00031 graph_shutdown();
00032 }
00033
00034 void* MercuryWindowEE::GetProcAddress( MString s )
00035 {
00036 return NULL;
00037 }
00038
00039 void MercuryWindowEE::SwapBuffersInternal()
00040 {
00041 graph_wait_vsync();
00042 draw_swap();
00043 }
00044
00045 bool MercuryWindowEE::Update(const float dTime)
00046 {
00047
00048
00049
00050
00051
00052
00053
00054
00055
00056
00057
00058
00059
00060
00061
00062
00063 return true;
00064 }
00065
00066 bool MercuryWindowEE::HasFocus()
00067 {
00068 return true;
00069 }
00070
00071 void MercuryWindowEE::DestroyWindowAndRender()
00072 {
00073 DestroyWindow();
00074 }
00075
00076 bool MercuryWindowEE::RestoreDevice()
00077 {
00078 return true;
00079 }
00080
00081 bool MercuryWindowEE::MakeRenderCurrent()
00082 {
00083 return true;
00084 }
00085
00086 bool MercuryWindowEE::MakeRender(const char* title, int width, int height, int bits, bool fullscreenflag, RendererType RT )
00087 {
00088 LOG.Log( "EE JOSH XMaking Renderer..." );
00089
00090 SetTitle(title);
00091
00092 printf("%%%%%%%%%%%%%%%%%%\n");
00093 draw_initialize(GRAPH_MODE_AUTO, GRAPH_PSM_32, GRAPH_PSM_32);
00094
00095
00096 draw_clear(0,0,0);
00097 graph_wait_vsync();
00098
00099 draw_swap();
00100 draw_clear(0,0,0);
00101
00102 m_width = graph_get_width();
00103 m_height = graph_get_width();
00104 m_bits = graph_get_bpp();
00105 LOG.Info( ssprintf( "Got video mode: %d x %d, bits: %d", m_width, m_height, m_bits ) );
00106 return true;
00107 }
00108
00109
00110
00111
00112
00113
00114
00115
00116
00117
00118
00119
00120
00121
00122
00123
00124
00125
00126
00127
00128
00129
00130
00131
00132
00133
00134
00135