--- /dev/null
+objects detected\r
+Object 4's name: 'trunk'\r
+ properties: {\r
+ "walkable":"0"\r
+ }\r
+ walkable: 0\r
+Object 4's name: 'stump'\r
+ properties: {\r
+ "walkable":"0"\r
+ }\r
+ walkable: 0\r
+\r
+Project 16 zcroll.exe. This is just a test file!\r
+version Mar 13 2017 11:55:15\r
+page[0]dxy: 16x16\r
+\r
+player vars:\r
+ xy: 160x128 txy: 16x8 triggxy: 17x8\r
+ hp: 4 q: 1 info.dir: 2 d: 2 dire: 21 pdir: 3\r
+ delay=1\r
+\r
+VL_PrintmodexmemInfo:\r
+ Virtual Screen: 352x272 Tile: 22x17=((Virtual Screen)/16)\r
+ Screen: 320x240 Tile: 20x15=((Screen)/16)\r
+ Free Video Memory: 767\r
+ page [0]=(a000:0018) size=23936 w=352 h=272 sw=320 sh=240 pi=1408\r
+ [1]=(a000:5d98) size=23936 w=352 h=272 sw=320 sh=240 pi=1408\r
+ [2]=(a000:bb18) size=8448 w=352 h=96 sw=352 sh=96 pi=1408\r
+ [3]=(a000:dc18) size=8448 w=352 h=96 sw=352 sh=96 pi=1408\r
+gvar.video:\r
+ r=0 bgps=1 \r
+\r
+detected CPU type: 80386 or newer\r
+detected FPU type: 80387\r
\r
#define INITTNUM 1\r
\r
+map_view_t mv[4];\r
map_t map;//junk var\r
\r
int main(int argc,char **argv)\r
\r
/* setup camera and screen~ */\r
modexHiganbanaPageSetup(&gvar.video);\r
- ZC_MVSetup(&gvar.mv, &map, &gvar);\r
- ZC_ShowMV(&gvar.mv, gvar.video.sp, 0);\r
+ ZC_MVSetup(&MVVAR, &map, &gvar);\r
+ ZC_ShowMV(&MVVAR, gvar.video.sp, 0);\r
\r
// VL_PatternDraw(video_t *video, word pn, boolean sw, boolean allsw);\r
VL_PatternDraw(&gvar.video, 0/*gvar.video.sp*/, 0, 1);\r
}\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
- gvar.mv[0].tx = gvar.mv[0].ty = gvar.mv[1].tx = gvar.mv[1].ty = INITTNUM;\r
+ MVVAR[0].tx = MVVAR[0].ty = MVVAR[1].tx = MVVAR[1].ty = INITTNUM;\r
VL_ShowPage(&gvar.video.page[gvar.video.sp], 1, 0);\r
gvar.player[0].enti.q = 1; gvar.player[0].enti.d = 2;\r
x=y=0;\r
\r
//===========================================================================//\r
\r
- ZC_ShowMV(&gvar.mv, 0, 0);\r
+ ZC_ShowMV(&MVVAR, 0, 0);\r
if(!noanim) {\r
/* another handy "demo" effect using VGA write mode 1.\r
* we can take what's on screen and vertically squash it like an old analog TV set turning off. */\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", gvar.mv[0].tx, gvar.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", gvar.mv[1].tx, gvar.mv[1].ty, gvar.video.page[1].dx, gvar.video.page[1].dy);\r
+ printf("mv 0\n- tx=%d ty=%d dx=%d dy=%d\n", MVVAR[0].tx, MVVAR[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", MVVAR[1].tx, MVVAR[1].ty, gvar.video.page[1].dx, gvar.video.page[1].dy);\r
return 0;\r
}\r
#include "src/lib/16_vl.h"\r
#include "src/lib/testpatt.h"\r
\r
+#define MVVAR gvar.mv\r
+\r
#define TAIL_FUNCTIONKEYFUNCTIONS \\r
if(IN_KeyDown(88)){ panswitch=!panswitch; IN_UserInput(1); } \\r
TAIL_FUNCTIONKEYFUNCTIONS0EXE\r
if(IN_KeyDown(68/*sc_F10*/)){ gvar.kurokku.fpscap=!gvar.kurokku.fpscap; IN_UserInput(1); } \\r
if(IN_KeyDown(sc_F9)){ pagenorendermap=!pagenorendermap; IN_UserInput(1); } \\r
if(IN_KeyDown(sc_F8)){ gvar.video.bgps=!gvar.video.bgps; IN_UserInput(1); } \\r
- if(IN_KeyDown(sc_F7)){ ZC_ShowMV(&gvar.mv, 0, 1); IN_UserInput(1); } \\r
- if(IN_KeyDown(sc_F6)){ ZC_ShowMV(&gvar.mv, 0, 0); IN_UserInput(1); } \\r
+ if(IN_KeyDown(sc_F7)){ ZC_ShowMV(&MVVAR, 0, 1); IN_UserInput(1); } \\r
+ if(IN_KeyDown(sc_F6)){ ZC_ShowMV(&MVVAR, 0, 0); IN_UserInput(1); } \\r
if(IN_KeyDown(sc_T)){ gvar.video.rss=!gvar.video.rss; IN_UserInput(1); } \\r
if(IN_KeyDown(sc_P)){ modexpdump(&gvar.video.page[0]); IN_UserInput(1); }\r
\r
TAIL_FUNCTIONKEYDRAWJUNK\r
\r
#define TAIL_PANKEYFUNZC \\r
- ZC_panPageManual(&gvar.mv, &gvar.player, 0);\r
+ ZC_panPageManual(&MVVAR, &gvar.player, 0);\r
\r
#define FUNCTIONKEYSHOWMV \\r
- if(IN_KeyDown(1+1)){ gvar.video.sp=0; ZC_ShowMV(&gvar.mv, 0, 0); } \\r
- if(IN_KeyDown(2+1)){ gvar.video.sp=1; ZC_ShowMV(&gvar.mv, 0, 0); } \\r
- if(IN_KeyDown(3+1)){ gvar.video.sp=2; ZC_ShowMV(&gvar.mv, 0, 1); } \\r
- if(IN_KeyDown(4+1)){ gvar.video.sp=3; ZC_ShowMV(&gvar.mv, 0, 1); }\r
+ if(IN_KeyDown(1+1)){ gvar.video.sp=0; ZC_ShowMV(&MVVAR, 0, 0); } \\r
+ if(IN_KeyDown(2+1)){ gvar.video.sp=1; ZC_ShowMV(&MVVAR, 0, 0); } \\r
+ if(IN_KeyDown(3+1)){ gvar.video.sp=2; ZC_ShowMV(&MVVAR, 0, 1); } \\r
+ if(IN_KeyDown(4+1)){ gvar.video.sp=3; ZC_ShowMV(&MVVAR, 0, 1); }\r
\r
#define TAIL_FUNCTIONKEYDRAWJUNK \\r
FUNCTIONKEYSHOWMV \\r
\r
/* setup camera and screen~ */\r
modexHiganbanaPageSetup(&gvar.video);\r
- ZC_MVSetup(&gvar.mv, &map, &gvar);\r
+ ZC_MVSetup(&MVVAR, &map, &gvar);\r
\r
//renderswitch\r
gvar.video.rss=1;\r
\r
/* set up paging */\r
//TODO: LOAD map data and position the map in the middle of the screen if smaller then screen\r
- mapGoTo(&gvar.mv, 0, 0);\r
+ mapGoTo(&MVVAR, 0, 0);\r
\r
- ZC_gvar.playerXYpos(0, 0, &gvar.player, &gvar.mv, 0, 1);\r
+ ZC_gvar.playerXYpos(0, 0, &gvar.player, &MVVAR, 0, 1);\r
EN_initgvar.player(&gvar.player, 0, &gvar.video);\r
if (gvar.video.sprifilei == -1)\r
{\r
}\r
\r
#ifndef SPRITE\r
- modexClearRegion(mv[0].page, gvar.player[0].enti.x, gvar.player[0].enti.y-TILEWH, 16, 32, 15);\r
+ modexClearRegion(MVVAR[0].page, gvar.player[0].enti.x, gvar.player[0].enti.y-TILEWH, 16, 32, 15);\r
#else\r
modexDrawSpriteRegion(&gvar.video.page[0], gvar.player[0].enti.x, gvar.player[0].enti.y-TILEWH, 16, 64, 16, 32, PCXBMPPTR);\r
#endif\r
\r
//if(!pageflipflop)\r
- VL_ShowPage(mv[1].page, 0, 0);//modexShowPage(mv[1].page);\r
- //else ZC_ShowMV(&gvar.mv, 0, 0);//modexShowPage(mv[0].page);//!(gvar.video.p)\r
+ VL_ShowPage(MVVAR[1].page, 0, 0);//modexShowPage(MVVAR[1].page);\r
+ //else ZC_ShowMV(&MVVAR, 0, 0);//modexShowPage(MVVAR[0].page);//!(gvar.video.p)\r
\r
//modexDrawBmp(&gvar.video.page[0], 16, 16, PCXBMPPTR);\r
/* buffer pages */\r
-// modexClearRegion(mv[2].page, 0, 0, mv[2].page->width, mv[2].page->height, 47);\r
-// modexClearRegion(mv[3].page, 0, 0, mv[3].page->width, mv[3].page->height, 45);\r
+// modexClearRegion(MVVAR[2].page, 0, 0, MVVAR[2].page->width, MVVAR[2].page->height, 47);\r
+// modexClearRegion(MVVAR[3].page, 0, 0, MVVAR[3].page->width, MVVAR[3].page->height, 45);\r
// {\r
// unsigned int k,j,o;\r
// /* fill screen with a distinctive pattern */\r
// vga_state.vga_graphics_ram[o] = (k^j)&15; // VRL samples put all colors in first 15!\r
// }\r
// }\r
- modexClearRegion(mv[3].page, 0, 128, 24, 36, 15);\r
+ modexClearRegion(MVVAR[3].page, 0, 128, 24, 36, 15);\r
\r
#ifdef MODEX\r
#ifdef FADE\r
//gvar.player movement\r
IN_ReadControl(0, &gvar.player);\r
if(!panswitch){\r
- ZC_walk(&gvar.mv, &gvar.player, 0);\r
+ ZC_walk(&MVVAR, &gvar.player, 0);\r
}else{\r
- PANKEYFUNZC;//panPageManual(&gvar.mv, &gvar.player, 0);\r
+ PANKEYFUNZC;//panPageManual(&MVVAR, &gvar.player, 0);\r
//printf(" gvar.player[0].enti.q: %d", gvar.player[0].enti.q); printf(" gvar.player[0].d: %d\n", gvar.player[0].d);\r
}\r
\r
//the scripting stuff....\r
//if(((gvar.player[0].enti.triggerx == TRIGGX && gvar.player[0].enti.triggery == TRIGGY) && IN_KeyDown(0x1C))||(gvar.player[0].enti.tx == 5 && gvar.player[0].enti.ty == 5))\r
- if(((mv[0].map->layerdata[0].data[(gvar.player[0].enti.triggerx-1)+(map.width*(gvar.player[0].enti.triggery-1))] == 0) && IN_KeyDown(0x1C))||(gvar.player[0].enti.tx == 5 && gvar.player[0].enti.ty == 5))\r
+ if(((MVVAR[0].map->layerdata[0].data[(gvar.player[0].enti.triggerx-1)+(map.width*(gvar.player[0].enti.triggery-1))] == 0) && IN_KeyDown(0x1C))||(gvar.player[0].enti.tx == 5 && gvar.player[0].enti.ty == 5))\r
{\r
short i;\r
for(i=800; i>=400; i--)\r
//debugging binds!\r
#ifdef MODEX\r
#ifdef FADE\r
- if(IN_KeyDown(24)){ modexPalUpdate0(&gvar.video.palette); paloffset=0; modexpdump(mv[0].page); modexpdump(mv[1].page); IN_UserInput(1); } //p\r
+ if(IN_KeyDown(24)){ modexPalUpdate0(&gvar.video.palette); paloffset=0; modexpdump(MVVAR[0].page); modexpdump(MVVAR[1].page); IN_UserInput(1); } //p\r
/*if(IN_KeyDown(22)){\r
paloffset=0; modexPalBlack(); modexPalUpdate(PCXBMPVAR, &paloffset, 0, 0);\r
printf("1paloffset = %d\n", paloffset/3);\r
modexPalUpdate(map.tiles->data, &paloffset, 0, 0);\r
printf("2paloffset = %d\n", paloffset/3);\r
- modexpdump(mv[0].page); modexpdump(mv[1].page);\r
+ modexpdump(MVVAR[0].page); modexpdump(MVVAR[1].page);\r
IN_UserInput(1);\r
}*/\r
#endif\r
//pan switch\r
if(IN_KeyDown(62)) //f3\r
{\r
- modexClearRegion(mv[1].page, 0, 0, mv[1].page->width, mv[1].page->height, 2);\r
- modexClearRegion(mv[2].page, 0, 0, mv[2].page->width, mv[2].page->height, 3);\r
- modexClearRegion(mv[3].page, 0, 0, mv[3].page->width, mv[3].page->height, 4);\r
- modexClearRegion(mv[3].page, 0, 0, 20, 36, 15);\r
+ modexClearRegion(MVVAR[1].page, 0, 0, MVVAR[1].page->width, MVVAR[1].page->height, 2);\r
+ modexClearRegion(MVVAR[2].page, 0, 0, MVVAR[2].page->width, MVVAR[2].page->height, 3);\r
+ modexClearRegion(MVVAR[3].page, 0, 0, MVVAR[3].page->width, MVVAR[3].page->height, 4);\r
+ modexClearRegion(MVVAR[3].page, 0, 0, 20, 36, 15);\r
//IN_UserInput(1);\r
}\r
\r
static word paloffset=0;\r
static global_game_variables_t gvar;\r
\r
+// map_view_t mv[4];\r
map_t map;\r
\r
int i, j;\r
\r
/* set up the page, but with 16 pixels on all borders in offscreen mem */\r
modexHiganbanaPageSetup(&gvar.video);\r
- ZC_MVSetup(&gvar.mv, &map, &gvar);\r
+ ZC_MVSetup(&MVVAR, &map, &gvar);\r
\r
/* fill the page with one color, but with a black border */\r
/*modexClearRegion(&gvar.video.page[1], 0, 0, gvar.video.page[1].width, gvar.video.page[1].height, 15);\r
while(!IN_KeyDown(sc_Escape))\r
{\r
IN_ReadControl(&gvar.player[0]);\r
- ZC_panPageManual(&gvar.mv, &gvar.player, 0);\r
+ ZC_panPageManual(&MVVAR, &gvar.player, 0);\r
// if(IN_KeyDown(sc_5)){ modexClearRegion(&gvar.video.page[1], gvar.video.page[1].sw, 16, 8, 4, 45); }\r
// if(IN_KeyDown(sc_4)){\r
// modexClearRegion(&gvar.video.page[1], 16, 16, gvar.video.page[1].sw, gvar.video.page[1].sh, 128);\r
if(IN_KeyDown(sc_I)){ drawboxesmodex(&gvar.video.page[gvar.video.sp]); IN_UserInput(1); }//i\r
if(IN_KeyDown(sc_O)){ copyboxesmodex(&gvar.video.page, !gvar.video.sp); IN_UserInput(1); }//o\r
//VL_ShowPage(&gvar.video.page[gvar.video.sp], 0, 0);\r
- ZC_ShowMV(&gvar.mv, 0, 0);\r
+ ZC_ShowMV(&MVVAR, 0, 0);\r
}\r
\r
endclk = *clockw;\r
printf("Project 16 test.exe. This is just a test file!\n");\r
printf("version %s\n", VERSION);\r
VL_PrintmodexmemInfo(&gvar.video);\r
- printf("tx=%d ", gvar.mv[gvar.video.sp].tx); printf("ty=%d ", gvar.mv[gvar.video.sp].ty); printf("gvar.player.d=%d\n", gvar.player[0].enti.d);\r
+ printf("tx=%d ", MVVAR[gvar.video.sp].tx); printf("ty=%d ", MVVAR[gvar.video.sp].ty); printf("gvar.player.d=%d\n", gvar.player[0].enti.d);\r
printf("\n====\n");\r
printf("0 paloffset= %d\n", paloffset/3);\r
printf("====\n\n");\r
\r
#define FADE\r
\r
+//map_view_t mv[4];\r
static map_t map;\r
float t;\r
\r
// OK, this one takes hellova time and needs to be done in farmalloc or MM_...\r
//IN CA i think you use CAL_SetupGrFile but i do think we should work together on this part --sparky4\r
//gvar.player[0].enti.spri = malloc(sizeof(struct sprite));\r
- gvar.player[0].enti.spri.spritesheet = malloc(sizeof(struct vrs_container));\r
+ //gvar.player[0].enti.spri.spritesheet = malloc(sizeof(struct vrs_container));\r
\r
// create the map\r
// fprintf(stderr, "testing map load~ ");\r
\r
// setup camera and screen~\r
modexHiganbanaPageSetup(&gvar.video);\r
- ZC_MVSetup(&gvar.mv, &map, &gvar);\r
+ ZC_MVSetup(&MVVAR, &map, &gvar);\r
\r
// set up paging\r
//TODO: LOAD map data and position the map in the middle of the screen if smaller then screen\r
- mapGoTo(&gvar.mv, 0, 0);\r
+ mapGoTo(&MVVAR, 0, 0);\r
\r
- ZC_PlayerXYpos(0, 0, &gvar.player, &gvar.mv, 0, 1);\r
+ ZC_PlayerXYpos(0, 0, &gvar.player, &MVVAR, 0, 1);\r
EN_initPlayer(&gvar.player[0], &gvar.video);\r
//print_anim_ids(gvar.player[0].enti.spri);\r
if (gvar.video.sprifilei == -1)\r
}\r
\r
// while(!IN_KeyDown(sc_Escape) && !IN_KeyDown(sc_Space) && !IN_KeyDown(sc_Enter)){ FUNCTIONKEYSHOWMV }\r
- gvar.video.page[0].tlx=gvar.mv[0].tx*TILEWH;\r
- gvar.video.page[0].tly=gvar.mv[0].ty*TILEWH;\r
+ gvar.video.page[0].tlx=MVVAR[0].tx*TILEWH;\r
+ gvar.video.page[0].tly=MVVAR[0].ty*TILEWH;\r
shinku(&gvar);\r
-//modexpdump(gvar.mv[0].page);\r
+//modexpdump(MVVAR[0].page);\r
#ifdef FADE\r
modexFadeOn(4, &gvar.video.palette);\r
#endif\r
while(!IN_KeyDown(sc_Escape) && gvar.player[0].enti.hp>0)\r
{\r
- gvar.video.page[0].tlx=gvar.mv[0].tx*TILEWH;\r
- gvar.video.page[0].tly=gvar.mv[0].ty*TILEWH;\r
+ gvar.video.page[0].tlx=MVVAR[0].tx*TILEWH;\r
+ gvar.video.page[0].tly=MVVAR[0].ty*TILEWH;\r
shinku(&gvar);\r
//top left corner & bottem right corner of map veiw be set as map edge trigger since maps are actually square\r
//to stop scrolling and have the gvar.player position data move to the edge of the screen with respect to the direction\r
IN_ReadControl(&gvar.player[0]);\r
if(!panswitch){\r
//ZC_walk2(gvar.player[0].ent, mv);\r
- ZC_walk(&gvar.mv, &gvar.player, 0);\r
+ ZC_walk(&MVVAR, &gvar.player, 0);\r
}else{\r
TAIL_PANKEYFUNZC;\r
//printf(" gvar.player[0].enti.q: %d", gvar.player[0].enti.q); printf(" gvar.player[0].d: %d\n", gvar.player[0].d);\r
\r
//the scripting stuff....\r
//if(((gvar.player[0].enti.triggerx == TRIGGX && gvar.player[0].enti.triggery == TRIGGY) && IN_KeyDown(0x1C))||(gvar.player[0].enti.tx == 5 && gvar.player[0].enti.ty == 5))\r
- if(((gvar.mv[0].map->layerdata[0].data[(gvar.player[0].enti.triggerx-1)+(map.width*(gvar.player[0].enti.triggery-1))] == 0) && IN_KeyDown(0x1C))||(gvar.player[0].enti.tx == 5 && gvar.player[0].enti.ty == 5))\r
+ if(((MVVAR[0].map->layerdata[0].data[(gvar.player[0].enti.triggerx-1)+(map.width*(gvar.player[0].enti.triggery-1))] == 0) && IN_KeyDown(0x1C))||(gvar.player[0].enti.tx == 5 && gvar.player[0].enti.ty == 5))\r
{\r
short i;\r
for(i=800; i>=400; i--)\r
if(gvar.player[0].enti.q == (TILEWH/(gvar.player[0].enti.speed))+1 && gvar.player[0].info.dir != 2 && (gvar.player[0].enti.triggerx == 5 && gvar.player[0].enti.triggery == 5)){ gvar.player[0].enti.hp--; }\r
//debugging binds!\r
\r
- if(IN_KeyDown(24)){ modexPalUpdate0(&gvar.video.palette); /*paloffset=0;*/ modexpdump(gvar.mv[0].page); IN_UserInput(1); } //o\r
+ if(IN_KeyDown(24)){ modexPalUpdate0(&gvar.video.palette); /*paloffset=0;*/ modexpdump(MVVAR[0].page); IN_UserInput(1); } //o\r
if(IN_KeyDown(22)){ modexPalUpdate0(&gvar.video.palette); } //u\r
\r
TAIL_FUNCTIONKEYFUNCTIONS\r