#define FILENAME_1 "data/spri/chikyuu.vrl"\r
#define FILENAME_2 "data/spri/chikyuu.pal"\r
\r
-//#define PATTERN\r
#define INITTNUM 1\r
\r
-static unsigned char palette[768];\r
+static byte palette[768];\r
player_t player[MaxPlayers];\r
map_view_t mv[4];\r
pan_t pan;\r
\r
+map_t map;//junk var\r
+\r
int main(int argc,char **argv)\r
{\r
static global_game_variables_t gvar;\r
vrl1_vgax_offset_t *vrl_lineoffs;\r
unsigned char *buffer;\r
unsigned int bufsz;\r
- int fd, i;\r
+ int fd;\r
+ //nibble i;\r
char *bakapee1,*bakapee2;\r
\r
boolean anim=1,noanim=0;\r
}\r
VGAmodeX(1, 1, &gvar);\r
\r
- /* load color palette */\r
- fd = open(bakapee2,O_RDONLY|O_BINARY);\r
- if (fd >= 0) {\r
- unsigned int i;\r
-\r
- read(fd,palette,768);\r
- close(fd);\r
+ modexPalUpdate0(palette);\r
\r
- vga_palette_lseek(0);\r
- for (i=0;i < 256;i++) vga_palette_write(palette[(i*3)+0]>>2,palette[(i*3)+1]>>2,palette[(i*3)+2]>>2);\r
- }\r
+ /* load color palette */\r
+ VL_LoadPalFile(bakapee2, &palette);\r
\r
/* preprocess the sprite to generate line offsets */\r
vrl_lineoffs = vrl1_vgax_genlineoffsets(vrl_header,buffer+sizeof(*vrl_header),bufsz-sizeof(*vrl_header));\r
\r
/* setup camera and screen~ */\r
modexHiganbanaPageSetup(&gvar.video);\r
- modexShowPage(&(gvar.video.page[pan.pn]));\r
- for(i=0;i<gvar.video.num_of_pages;i++)\r
- {\r
- mv[i].page = &gvar.video.page[i];\r
- mv[i].video = &gvar.video;\r
- mv[i].pan = &pan;\r
- mv[i].tx = INITTNUM;\r
- mv[i].ty = INITTNUM;\r
- }\r
- //player[0].tx = INITTNUM; player[0].ty = INITTNUM;\r
- //mapinitmapview(mv, player[0].tx, player[0].tx);\r
+ ZC_MVSetup(&mv, &map, &pan, &gvar);\r
+ VL_ShowPage(&(gvar.video.page[pan.pn]), 0, 0);\r
\r
-\r
- #define VMEMHEIGHT gvar.video.page[0].height+gvar.video.page[1].height\r
-\r
- //4 this draws that pattern on the screen\r
-#ifdef PATTERN\r
- {\r
- unsigned int i,j,o;\r
- /* fill screen with a distinctive pattern */\r
- for (i=0;i < gvar.video.page[0].width;i++) {\r
- o = i >> 2;\r
- vga_write_sequencer(0x02/*map mask*/,1 << (i&3));\r
- for (j=0;j < VMEMHEIGHT;j++,o += gvar.video.page[0].stridew)\r
- vga_state.vga_graphics_ram[o] = (i^j)&15; // VRL samples put all colors in first 15!\r
- }\r
- }\r
-#else\r
- TESTBG;\r
-#endif\r
-\r
- DRAWCORNERBOXES;\r
+ //DRAWCORNERBOXES;\r
\r
/* make distinctive pattern offscreen, render sprite, copy onscreen.\r
* this time, we render the distinctive pattern to another offscreen location and just copy.\r
VGA_RAM_PTR omemptr;\r
int xdir=1,ydir=1;\r
\r
-#ifdef PATTERN\r
int j;\r
/* fill pattern offset with a distinctive pattern */\r
for (i=0;i < gvar.video.page[0].width;i++) {\r
- o = (i >> 2) + (0x10000UL - (uint16_t)gvar.video.page[1].data);\r
+ o = (i >> 2) + (0x10000UL - (uint16_t)gvar.video.page[0].data);\r
vga_write_sequencer(0x02/*map mask*/,1 << (i&3));\r
- for (j=0;j < VMEMHEIGHT;j++,o += gvar.video.page[0].stridew)\r
+ for (j=0;j < gvar.video.page[0].height;j++,o += gvar.video.page[0].stridew)\r
vga_state.vga_graphics_ram[o] = (i^j)&15; // VRL samples put all colors in first 15!\r
}\r
-#else\r
- TESTBG;\r
-#endif\r
- DRAWCORNERBOXES;\r
+ TESTBG;\r
+ //DRAWCORNERBOXES;\r
\r
/* starting coords. note: this technique is limited to x coordinates of multiple of 4 */\r
x = -(gvar.video.page[0].dx);\r
while(!IN_KeyDown(sc_Escape))\r
{\r
IN_ReadControl(0,&player);\r
+ if(IN_KeyDown(68)){ gvar.kurokku.fpscap=!gvar.kurokku.fpscap; IN_UserInput(1,1); } //f10\r
PANKEY0EXE;\r
- if(IN_KeyDown(68) || IN_KeyDown(sc_Space)) //f10 and space\r
+ if(IN_KeyDown(sc_Space)) //space\r
{\r
- //gvar.kurokku.fpscap=!gvar.kurokku.fpscap;\r
anim=!anim;\r
DRAWCORNERBOXES;\r
IN_UserInput(1,1);\r
}\r
- if(IN_KeyDown(sc_A)) //a\r
- {\r
- //gvar.kurokku.fpscap=!gvar.kurokku.fpscap;\r
- noanim=!noanim;\r
- DRAWCORNERBOXES;\r
- IN_UserInput(1,1);\r
- }\r
-\r
- FUNCTIONKEYFUNCTIONS0EXE;\r
if(IN_KeyDown(sc_R)){\r
gvar.video.page[0].dx=gvar.video.page[0].dy=gvar.video.page[1].dx=gvar.video.page[1].dy=16;\r
mv[0].tx = mv[0].ty = mv[1].tx = mv[1].ty = INITTNUM;\r
player[0].q = 1; player[0].d = 2;\r
x=y=0;\r
xdir=ydir=1;\r
+ //TESTBG;\r
+ DRAWCORNERBOXES;\r
} //R\r
+ FUNCTIONKEYFUNCTIONS0EXE;\r
\r
if(anim && !noanim)\r
{\r
\r
IN_UserInput(1,1);\r
\r
-// while(!IN_KeyDown(sc_Escape))\r
-// {\r
-// IN_ReadControl(0,&player);\r
-// PANKEY0EXE;\r
-// }\r
-\r
//===========================================================================//\r
\r
modexShowPage(&(gvar.video.page[0]));\r
}\r
\r
/* wait for vsync end */\r
+ if(gvar.kurokku.fpscap)\r
vga_wait_for_vsync_end();\r
\r
/* what scalefactor to use for stretching? */\r
vga_restore_rm0wm0();\r
\r
/* wait for vsync */\r
+ if(gvar.kurokku.fpscap)\r
vga_wait_for_vsync();\r
\r
/* make it shrink */\r
bufsz = 0;\r
free(bakapee1);\r
free(bakapee2);\r
- //printf("mv 0\n tx=%d ty=%d\n\n", mv[0].tx, mv[0].tx);\r
- //printf("mv 1\n tx=%d ty=%d\n", mv[1].tx, mv[1].tx);\r
+ printf("\nProject 16 0.exe. This is just a test file!\n");\r
+ printf("version %s\n", VERSION);\r
+ //SCROLLEXITMESG;\r
+ printf("mv 0\n- tx=%d ty=%d dx=%d dy=%d\n", mv[0].tx, mv[0].ty, gvar.video.page[0].dx, gvar.video.page[0].dy);\r
+ printf("mv 1\n- tx=%d ty=%d dx=%d dy=%d\n", mv[1].tx, mv[1].ty, gvar.video.page[1].dx, gvar.video.page[1].dy);\r
return 0;\r
}\r