to work with GS stuff. Still curious about the screen scale.
Code: Select all
void game_scene() {
// . . .
while (1) {
//PrepDisp();
//PrepDisp
ActiveBuffer = GsGetActiveBuff();
GsSetWorkBase((PACKET*)GPUPacketArea[ActiveBuffer]);
GsClearOt(0, 0, &myOT[ActiveBuffer]);
gte_myPrimPtr = >e_myPrims[ActiveBuffer][0];
SetPad(PORT1,PORT2);
if (dbg.active) {
// . . .
// Sorry for that FntPrint """code""", i made it only for simple tests :)
FntPrint("%sGAME SETTINGS\n", (dbg.cur_pos == 2+dbg.sub_list[0]+dbg.sub_list[1] ? "->" : " "));
if (dbg.sub[2] == true) {
if (dbg.cur_pos == 3+dbg.sub_list[0]+dbg.sub_list[1]) {
if (Button_Press(0, D_LEFT, PD_LEFT, HOLD)) {
draw[0].clip.x --; draw[1].clip.x --; }
if (Button_Press(0, D_RIGHT, PD_RIGHT, HOLD)) {
draw[0].clip.x ++; draw[1].clip.x ++; }
} else if (dbg.cur_pos == 4+dbg.sub_list[0]+dbg.sub_list[1]) {
if (Button_Press(0, D_LEFT, PD_LEFT, HOLD)) {
draw[0].clip.y --; draw[1].clip.y --; }
if (Button_Press(0, D_RIGHT, PD_RIGHT, HOLD)) {
draw[0].clip.y ++; draw[1].clip.y ++; }
} else if (dbg.cur_pos == 5+dbg.sub_list[0]+dbg.sub_list[1]) {
if (Button_Press(0, D_LEFT, PD_LEFT, HOLD)) {
draw[0].clip.w --; draw[1].clip.w --; }
if (Button_Press(0, D_RIGHT, PD_RIGHT, HOLD)) {
draw[0].clip.w ++; draw[1].clip.w ++; }
} else if (dbg.cur_pos == 6+dbg.sub_list[0]+dbg.sub_list[1]) {
if (Button_Press(0, D_LEFT, PD_LEFT, HOLD)) {
draw[0].clip.h --; draw[1].clip.h --; }
if (Button_Press(0, D_RIGHT, PD_RIGHT, HOLD)) {
draw[0].clip.h ++; draw[1].clip.h ++; }
} else if (dbg.cur_pos == 7+dbg.sub_list[0]+dbg.sub_list[1]) {
if (Button_Press(0, D_LEFT, PD_LEFT, HOLD)) {
draw[0].ofs[0] --; draw[1].ofs[0] --; }
if (Button_Press(0, D_RIGHT, PD_RIGHT, HOLD)) {
draw[0].ofs[0] ++; draw[1].ofs[0] ++; }
} else if (dbg.cur_pos == 8+dbg.sub_list[0]+dbg.sub_list[1]) {
if (Button_Press(0, D_LEFT, PD_LEFT, HOLD)) {
draw[0].ofs[1] --; draw[1].ofs[1] --; }
if (Button_Press(0, D_RIGHT, PD_RIGHT, HOLD)) {
draw[0].ofs[1] ++; draw[1].ofs[1] ++; }
}
FntPrint("%s Screen X: %d\n",
(dbg.cur_pos == 3+dbg.sub_list[0]+dbg.sub_list[1] ? "->" : " "),
draw[0].clip.x );
FntPrint("%s Screen Y: %d\n",
(dbg.cur_pos == 4+dbg.sub_list[0]+dbg.sub_list[1] ? "->" : " "),
draw[0].clip.y );
FntPrint("%s Screen W: %d\n",
(dbg.cur_pos == 5+dbg.sub_list[0]+dbg.sub_list[1] ? "->" : " "),
draw[0].clip.w );
FntPrint("%s Screen H: %d\n",
(dbg.cur_pos == 6+dbg.sub_list[0]+dbg.sub_list[1] ? "->" : " "),
draw[0].clip.h );
FntPrint("%s Offset 0: %d\n",
(dbg.cur_pos == 7+dbg.sub_list[0]+dbg.sub_list[1] ? "->" : " "),
draw[0].ofs[0] );
FntPrint("%s Offset 1: %d\n",
(dbg.cur_pos == 8+dbg.sub_list[0]+dbg.sub_list[1] ? "->" : " "),
draw[0].ofs[1] );
}
// . . .
}
// . . . (here was the SORT code)
//Display();
//Display
DrawSync(0);
VSync(0);
GsSwapDispBuff();
GsSortClear(g_iGS_R, g_iGS_G, g_iGS_B, &myOT[ActiveBuffer]); //
ActiveDisp ^= 1; // Swap active draw display
PutDrawEnv(&draw[ActiveDisp]); // Put active draw display
GsDrawOt(&myOT[ActiveBuffer]);
FntFlush(-1);
}
}