#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
unsigned char *buffer;\r
unsigned int bufsz;\r
int fd;\r
+ //nibble i;\r
char *bakapee1,*bakapee2;\r
\r
boolean anim=1,noanim=0;\r
modexPalUpdate0(palette);\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
-\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
+ 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
- modexMVSetup(&mv, &map, &pan, &gvar);\r
- modexShowPage(&(gvar.video.page[pan.pn]));\r
- //player[0].tx = INITTNUM; player[0].ty = INITTNUM;\r
- //mapinitmapview(mv, player[0].tx, player[0].tx);\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
+ ZC_MVSetup(&mv, &map, &pan, &gvar);\r
+ VL_ShowPage(&(gvar.video.page[pan.pn]), 0, 0);\r
\r
//DRAWCORNERBOXES;\r
\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
+ TESTBG;\r
//DRAWCORNERBOXES;\r
\r
/* starting coords. note: this technique is limited to x coordinates of multiple of 4 */\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
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