From 9ee2d68eb9e4c8ee46254efa06e3977cf3b36bdd Mon Sep 17 00:00:00 2001 From: sparky4 Date: Fri, 3 Feb 2017 13:30:10 -0600 Subject: [PATCH] something else broke when i worked on this --- MEMINFO.16B | 0 ZCROLL.L16 | 19 ++--- makefile | 4 +- src/lib/16_enti.c | 29 ++++++-- src/lib/16_enti.h | 2 +- src/lib/16_in.h | 2 +- src/lib/{16_sprit.c => 16_spri.c} | 2 +- src/lib/{16_sprit.h => 16_spri.h} | 0 src/lib/16_tdef.h | 2 +- src/lib/16_vl.c | 4 +- src/lib/scroll16.c | 111 ++++++++++++++---------------- src/lib/scroll16.h | 19 ++--- src/scroll.c | 14 +++- src/tesuto.h | 2 +- src/vrstest.c | 2 +- src/zcroll.c | 12 +--- 16 files changed, 119 insertions(+), 105 deletions(-) delete mode 100755 MEMINFO.16B rename src/lib/{16_sprit.c => 16_spri.c} (96%) rename src/lib/{16_sprit.h => 16_spri.h} (100%) diff --git a/MEMINFO.16B b/MEMINFO.16B deleted file mode 100755 index e69de29b..00000000 diff --git a/ZCROLL.L16 b/ZCROLL.L16 index 2713cd79..5bd0bdd3 100755 --- a/ZCROLL.L16 +++ b/ZCROLL.L16 @@ -1,22 +1,23 @@ Project 16 zcroll.exe. This is just a test file! -version Feb 3 2017 10:20:45 +version Feb 3 2017 13:00:59 [0]txy: 0x0 [1]txy: 0x0 player vars: - xy: 160x128 txy: 20x8 triggxy: 21x8 value: 1 - hp: 4 q: 1 info.dir: 2 d: 2 pdir: 3 - delay=1 + xy: 160x128 txy: 10x8 triggxy: 10x9 value: 0 + hp: 4 q: 1 info.dir: 2 d: 2 dire: 30 pdir: 0 + delay=0 VL_PrintmodexmemInfo: Virtual Screen: 352x272 Tile: 22x17=((Virtual Screen)/16) Screen: 320x240 Tile: 20x15=((Screen)/16) Free Video Memory: 767 - page [0]=(a000:0028) size=23936 w=352 h=272 sw=320 sh=240 pi=1408 - [1]=(a000:5da8) size=23936 w=352 h=272 sw=320 sh=240 pi=1408 - [2]=(a000:bb28) size=8448 w=352 h=96 sw=352 sh=96 pi=1408 - [3]=(a000:dc28) size=8448 w=352 h=96 sw=352 sh=96 pi=1408 -gvar.video.r=0 gvar.video.bgps=1 + page [0]=(a000:0000) size=23936 w=352 h=272 sw=320 sh=240 pi=1408 + [1]=(a000:5d80) size=23936 w=352 h=272 sw=320 sh=240 pi=1408 + [2]=(a000:bb00) size=8448 w=352 h=96 sw=352 sh=96 pi=1408 + [3]=(a000:dc00) size=8448 w=352 h=96 sw=352 sh=96 pi=1408 +gvar.video: + r=0 bgps=1 detected CPU type: 80386 or newer detected FPU type: 80387 diff --git a/makefile b/makefile index 9cf9bfca..0aa855fb 100755 --- a/makefile +++ b/makefile @@ -124,7 +124,7 @@ LIBFLAGS=$(WLIBQ) -b -n # VGMSNDOBJ = vgmSnd.$(OBJ) 16_snd.$(OBJ) OLDLIBOBJS=bitmap.$(OBJ) 16render.$(OBJ) -GFXLIBOBJS = 16_vl.$(OBJ) 16text.$(OBJ) bakapee.$(OBJ) scroll16.$(OBJ) 16_vrs.$(OBJ) 16_sprit.$(OBJ) $(OLDLIBOBJS) +GFXLIBOBJS = 16_vl.$(OBJ) 16text.$(OBJ) bakapee.$(OBJ) scroll16.$(OBJ) 16_vrs.$(OBJ) 16_spri.$(OBJ) $(OLDLIBOBJS) 16LIBOBJS = 16_mm.$(OBJ) 16_pm.$(OBJ) 16_ca.$(OBJ) 16_tail.$(OBJ) 16_in.$(OBJ) 16_head.$(OBJ) 16_dbg.$(OBJ) kitten.$(OBJ) 16_hc.$(OBJ) 16_wcpu.$(OBJ) 16_timer.$(OBJ) jsmn.$(OBJ) 16_map.$(OBJ) 16text.$(OBJ) 16_enti.$(OBJ) DOSLIBOBJ = adlib.$(OBJ) 8254.$(OBJ) 8259.$(OBJ) dos.$(OBJ) cpu.$(OBJ) !ifeq DEBUGSERIAL 1 @@ -325,7 +325,7 @@ bakapee.$(OBJ):$(SRCLIB)/bakapee.c $(SRCLIB)/bakapee.h 16render.$(OBJ):$(SRCLIB)/16render.c $(SRCLIB)/16render.h 16planar.$(OBJ):$(MODEXLIB16)/16planar.c $(MODEXLIB16)/16planar.h 16_vrs.$(OBJ): $(SRCLIB)/16_vrs.c $(SRCLIB)/16_vrs.h $(DOSLIB) -16_sprit.$(OBJ):$(SRCLIB)/16_sprit.c $(SRCLIB)/16_sprit.h +16_spri.$(OBJ):$(SRCLIB)/16_spri.c $(SRCLIB)/16_spri.h bitmap.$(OBJ): $(SRCLIB)/bitmap.c $(SRCLIB)/bitmap.h planar.$(OBJ): $(SRCLIB)/planar.c $(SRCLIB)/planar.h scroll16.$(OBJ):$(SRCLIB)/scroll16.c $(SRCLIB)/scroll16.h diff --git a/src/lib/16_enti.c b/src/lib/16_enti.c index 310aaab6..4768a294 100755 --- a/src/lib/16_enti.c +++ b/src/lib/16_enti.c @@ -31,15 +31,15 @@ void EN_initentity(entity_t *enti, video_t *video) enti->triggerx = enti->tx; enti->triggery = enti->ty+1; //south - enti->q = 1; - enti->d =2; - enti->hp=4; - enti->speed=4; + enti->q = 1;//loop var + enti->d = 2;//dir var + enti->hp = 4;//hit points + enti->speed = 4;//walkspeed enti->persist_aniframe = enti->q; enti->spt=(TILEWH/(enti->speed)); //speed per tile wwww - enti->pred = enti->d; - enti->overdraww=0; - enti->overdrawh=4; + enti->pred=enti->d;//previous dir + enti->overdraww = 0; + enti->overdrawh = 4; VL_Initofs(video); @@ -69,6 +69,21 @@ void EN_initentity(entity_t *enti, video_t *video) void EN_initplayer(player_t *player, word pn, video_t *video) { EN_initentity(&player[pn].enti, video); + player[pn].enti.spri->x = player[0].enti.x-4; + player[pn].enti.spri->y = player[0].enti.y-16; + player[pn].walktype=0; + player[pn].enti.dire=30; + + video->sprifilei = set_anim_by_id(player[pn].enti.spri, player[pn].enti.dire); + animate_spri(&player[pn].enti, video); + + //run to fully init sprite + //modexCopyPageRegion(&video->page[0], &video->page[1], 0, player[pn].enti.y, 0, player[pn].enti.y, video->page[0].width, 40); + modexCopyPageRegion(&video->page[0], &video->page[1], 0, 0, 0, 0, video->page[0].width, video->page[0].height); + animate_spri(&player[pn].enti, video); + // + + //print_anim_ids(player[0].enti.spri); /* player[0].info.x = player[0].tx; player[0].info.xaxis = player[0].tx*TILEWH; player[0].info.y = player[0].ty; diff --git a/src/lib/16_enti.h b/src/lib/16_enti.h index 7f18b152..d3179570 100755 --- a/src/lib/16_enti.h +++ b/src/lib/16_enti.h @@ -23,8 +23,8 @@ #ifndef __16_NPC__ #define __16_NPC__ -#include "src/lib/16_sprit.h" #include "src/lib/16_head.h" +#include "src/lib/16_spri.h" #include "src/lib/16_in.h" //moved to 16_tdef.h diff --git a/src/lib/16_in.h b/src/lib/16_in.h index b84db1b1..9bcec258 100755 --- a/src/lib/16_in.h +++ b/src/lib/16_in.h @@ -32,7 +32,7 @@ #include "src/lib/16_timer.h" #ifdef __WATCOMC__ //borland C BCEXMM.EXE #include "src/lib/16_dbg.h" -#include "src/lib/16_sprit.h" +#include "src/lib/16_spri.h" #include "src/lib/16_enti.h" //#include "src/lib/bitmap.h" //old format #endif diff --git a/src/lib/16_sprit.c b/src/lib/16_spri.c similarity index 96% rename from src/lib/16_sprit.c rename to src/lib/16_spri.c index 9f699e19..9474db20 100755 --- a/src/lib/16_sprit.c +++ b/src/lib/16_spri.c @@ -20,7 +20,7 @@ * */ -#include "src/lib/16_sprit.h" +#include "src/lib/16_spri.h" char* get_curr_anim_name(struct sprite *spri) { diff --git a/src/lib/16_sprit.h b/src/lib/16_spri.h similarity index 100% rename from src/lib/16_sprit.h rename to src/lib/16_spri.h diff --git a/src/lib/16_tdef.h b/src/lib/16_tdef.h index d8ed876a..b9889a25 100755 --- a/src/lib/16_tdef.h +++ b/src/lib/16_tdef.h @@ -283,7 +283,7 @@ typedef struct sword __near sprifilei; //player file's i nibble __near p; //render page number nibble __near sp; //show page number(for showpage) - boolean __near r; //page flip, showpage, or render if true + boolean __near dorender; //page flip, showpage, or render if true word pr[MAXPAGE][4]; //render sections of pages (this is supposed to be set up to draw sections of the screen if updated) nibble sfip; //shinku_fps_indicator_page; // we're on page 1 now, shinku(). follow along please or it will not be visible. diff --git a/src/lib/16_vl.c b/src/lib/16_vl.c index 63b3611a..169bbf8c 100755 --- a/src/lib/16_vl.c +++ b/src/lib/16_vl.c @@ -303,8 +303,8 @@ void modexHiganbanaPageSetup(video_t *video) (video->page[3]) = modexNextPageFlexibleSize(&(video->page[2]), video->page[0].width, 96); video->num_of_pages++; modexCalcVmemRemain(video); - video->sp=video->p=0; //showpage - video->r=1; //render + video->sp=video->p = 0; //showpage + video->dorender = 1; //render video->vh=video->page[0].height+video->page[1].height+video->page[2].height+video->page[3].height; VL_Initofs(video); diff --git a/src/lib/scroll16.c b/src/lib/scroll16.c index 45f4709a..77d3d4d0 100755 --- a/src/lib/scroll16.c +++ b/src/lib/scroll16.c @@ -25,22 +25,6 @@ #include "src/lib/scroll16.h" //#define INC_PER_FRAME if(player[pn].enti.q&1) player[pn].enti.persist_aniframe++; if(player[pn].enti.persist_aniframe>4) player[pn].enti.persist_aniframe = 1; -#define ZC_WALKR ScrollRight(pip, player, 3, pn); \ - ScrollRight(pip, player, 2, pn); \ - mapScrollRight(pip, player, (0), pn); \ -if(pip[0].video->bgps) mapScrollRight(pip, player, (1), pn); -#define ZC_WALKL ScrollLeft(pip, player, 3, pn); \ - ScrollLeft(pip, player, 2, pn); \ - mapScrollLeft(pip, player, (0), pn); \ -if(pip[0].video->bgps) mapScrollLeft(pip, player, (1), pn); -#define ZC_WALKD ScrollDown(pip, player, 3, pn); \ - ScrollDown(pip, player, 2, pn); \ - mapScrollDown(pip, player, (0), pn); \ -if(pip[0].video->bgps) mapScrollDown(pip, player, (1), pn); -#define ZC_WALKU ScrollUp(pip, player, 3, pn); \ - ScrollUp(pip, player, 2, pn); \ - mapScrollUp(pip, player, (0), pn); \ -if(pip[0].video->bgps) mapScrollUp(pip, player, (1), pn); void ZC_walk(map_view_t *pip, player_t *player, word pn) { @@ -58,8 +42,8 @@ void ZC_walk(map_view_t *pip, player_t *player, word pn) player[pn].walktype=2; if(player[pn].enti.q<=player[pn].enti.spt) { - ZC_animatePlayer(pip, player, pn, 2); - ZC_WALKR + ZC_animatePlayer(pip, player, pn); + ZC_mapScroll(pip, player, pn); player[pn].enti.q++; //0000pip[0].video->clk = ((*clockw)-pip[0].video->startclk)/18.2; } else { player[pn].enti.q = 1; player[pn].enti.d = 2; player[pn].enti.tx++; } @@ -70,14 +54,14 @@ void ZC_walk(map_view_t *pip, player_t *player, word pn) if(player[pn].enti.q<=player[pn].enti.spt) { player[pn].enti.x+=(player[pn].enti.speed); - ZC_animatePlayer(pip, player, pn, 1); + ZC_animatePlayer(pip, player, pn); player[pn].enti.q++; } else { player[pn].enti.q = 1; player[pn].enti.d = 2; player[pn].enti.tx++; } } else { player[pn].walktype=0; - ZC_animatePlayer(pip, player, pn, 0); + ZC_animatePlayer(pip, player, pn); player[pn].enti.d = 2; } player[pn].enti.triggerx = player[pn].enti.tx+1; @@ -91,8 +75,8 @@ void ZC_walk(map_view_t *pip, player_t *player, word pn) player[pn].walktype=2; if(player[pn].enti.q<=player[pn].enti.spt) { - ZC_animatePlayer(pip, player, pn, 2); - ZC_WALKL + ZC_animatePlayer(pip, player, pn); + ZC_mapScroll(pip, player, pn); player[pn].enti.q++; //0000pip[0].video->clk = ((*clockw)-pip[0].video->startclk)/18.2; } else { player[pn].enti.q = 1; player[pn].enti.d = 2; player[pn].enti.tx--; } @@ -103,14 +87,14 @@ void ZC_walk(map_view_t *pip, player_t *player, word pn) if(player[pn].enti.q<=player[pn].enti.spt) { player[pn].enti.x-=(player[pn].enti.speed); - ZC_animatePlayer(pip, player, pn, 1); + ZC_animatePlayer(pip, player, pn); player[pn].enti.q++; } else { player[pn].enti.q = 1; player[pn].enti.d = 2; player[pn].enti.tx--; } } else { player[pn].walktype=0; - ZC_animatePlayer(pip, player, pn, 0); + ZC_animatePlayer(pip, player, pn); player[pn].enti.d = 2; } player[pn].enti.triggerx = player[pn].enti.tx-1; @@ -124,8 +108,8 @@ void ZC_walk(map_view_t *pip, player_t *player, word pn) player[pn].walktype=2; if(player[pn].enti.q<=player[pn].enti.spt) { - ZC_animatePlayer(pip, player, pn, 2); - ZC_WALKD + ZC_animatePlayer(pip, player, pn); + ZC_mapScroll(pip, player, pn); player[pn].enti.q++; //0000pip[0].video->clk = ((*clockw)-pip[0].video->startclk)/18.2; } else { player[pn].enti.q = 1; player[pn].enti.d = 2; player[pn].enti.ty++; } @@ -136,14 +120,14 @@ void ZC_walk(map_view_t *pip, player_t *player, word pn) if(player[pn].enti.q<=player[pn].enti.spt) { player[pn].enti.y+=(player[pn].enti.speed); - ZC_animatePlayer(pip, player, pn, 1); + ZC_animatePlayer(pip, player, pn); player[pn].enti.q++; } else { player[pn].enti.q = 1; player[pn].enti.d = 2; player[pn].enti.ty++; } } else { player[pn].walktype=0; - ZC_animatePlayer(pip, player, pn, 0); + ZC_animatePlayer(pip, player, pn); player[pn].enti.d = 2; } player[pn].enti.triggerx = player[pn].enti.tx; @@ -157,8 +141,8 @@ void ZC_walk(map_view_t *pip, player_t *player, word pn) player[pn].walktype=2; if(player[pn].enti.q<=player[pn].enti.spt) { - ZC_animatePlayer(pip, player, pn, 2); - ZC_WALKU + ZC_animatePlayer(pip, player, pn); + ZC_mapScroll(pip, player, pn); player[pn].enti.q++; //0000pip[0].video->clk = ((*clockw)-pip[0].video->startclk)/18.2; } else { player[pn].enti.q = 1; player[pn].enti.d = 2; player[pn].enti.ty--; } @@ -169,14 +153,14 @@ void ZC_walk(map_view_t *pip, player_t *player, word pn) if(player[pn].enti.q<=player[pn].enti.spt) { player[pn].enti.y-=(player[pn].enti.speed); - ZC_animatePlayer(pip, player, pn, 1); + ZC_animatePlayer(pip, player, pn); player[pn].enti.q++; } else { player[pn].enti.q = 1; player[pn].enti.d = 2; player[pn].enti.ty--; } } else { player[pn].walktype=0; - ZC_animatePlayer(pip, player, pn, 0); + ZC_animatePlayer(pip, player, pn); player[pn].enti.d = 2; } player[pn].enti.triggerx = player[pn].enti.tx; @@ -285,7 +269,6 @@ void ZC_MVInit(map_view_t *pip, int tx, int ty) void ZC_ShowMV(map_view_t *moo, boolean vsync, boolean sr) { - //VL_ShowPage(moo[moo[0].video->sp].page, vsync, sr); word high_address, low_address, offset; byte crtcOffset; @@ -364,7 +347,7 @@ void near mapScrollRight(map_view_t *mv, player_t *player, word id, word plid) // else // if(mv[0].video->bgps) // modexCopyPageRegion(mv[id].page, mv[0].page, x, 0, x, 0, mv[0].map->tiles->tileWidth, mv[0].page->height); - mv[0].video->r=1; + mv[0].video->dorender=1; } @@ -386,7 +369,7 @@ void near mapScrollLeft(map_view_t *mv, player_t *player, word id, word plid) // else // if(mv[0].video->bgps) // modexCopyPageRegion(mv[id].page, mv[0].page, x, 0, x, 0, mv[0].map->tiles->tileWidth, mv[0].page->height); - mv[0].video->r=1; + mv[0].video->dorender=1; } @@ -408,7 +391,7 @@ void near mapScrollUp(map_view_t *mv, player_t *player, word id, word plid) // else // if(mv[0].video->bgps) // modexCopyPageRegion(mv[id].page, mv[0].page, 0, y, 0, y, mv[0].page->width, mv[0].map->tiles->tileHeight); - mv[0].video->r=1; + mv[0].video->dorender=1; } @@ -430,7 +413,7 @@ void near mapScrollDown(map_view_t *mv, player_t *player, word id, word plid) // else // if(mv[0].video->bgps) // modexCopyPageRegion(mv[id].page, mv[0].page, 0, y, 0, y, mv[0].page->width, mv[0].map->tiles->tileHeight); - mv[0].video->r=1; + mv[0].video->dorender=1; } void ZC_mapScroll(map_view_t *mv, player_t *player, word pn) @@ -446,13 +429,13 @@ void ZC_mapScroll(map_view_t *mv, player_t *player, word pn) mapScrollRight(mv, player, (0), pn); if(b) mapScrollRight(mv, player, (1), pn); break; - case 4://left + case 1://left ScrollLeft(mv, player, 3, pn); ScrollLeft(mv, player, 2, pn); mapScrollLeft(mv, player, (0), pn); if(b) mapScrollLeft(mv, player, (1), pn); break; - case 1://down + case 4://down ScrollDown(mv, player, 3, pn); ScrollDown(mv, player, 2, pn); mapScrollDown(mv, player, (0), pn); @@ -465,17 +448,26 @@ void ZC_mapScroll(map_view_t *mv, player_t *player, word pn) if(b) mapScrollUp(mv, player, (1), pn); break; } - printf("player[pn].enti.d=%u\n", player[pn].enti.d); - mv->video->r=1; + mv[0].video->dorender=1; } //=========================================================================== //TODO: put player in starting position of assigned spot on map //default player position on the viewable map -void ZC_playerXYpos(int x, int y, player_t *player, map_view_t *pip, nibble pn) +void ZC_playerXYpos(int x, int y, player_t *player, map_view_t *pip, nibble pn, boolean defaultsw) { - player[pn].enti.tx = x + pip[0].tx + pip[0].page->ti.tilemidposscreenx; - player[pn].enti.ty = y + pip[0].ty + pip[0].page->ti.tilemidposscreeny; + player[pn].enti.tx = x + pip[0].tx; + player[pn].enti.ty = y + pip[0].ty; + + switch(defaultsw) + { + case 1: + player[pn].enti.tx += pip[0].page->ti.tilemidposscreenx; + player[pn].enti.ty += pip[0].page->ti.tilemidposscreeny; + break; + case 0: + break; + } } //=========================================================================== @@ -542,14 +534,15 @@ void mapGoTo(map_view_t *mv, int tx, int ty) i=mv[0].ty * mv[0].map->width + mv[0].tx; for(ty=mv[0].ty-1; py < mv[0].page->sh+mv->dyThresh && ty < mv[0].map->height; ty++, py+=mv[0].map->tiles->tileHeight) { mapDrawWRow(&mv[0], tx-1, ty, py); - i+=mv->map->width - tx; - } - py=0; - i=mv[1].ty * mv[1].map->width + mv[1].tx; - for(ty=mv[1].ty-1; py < mv[1].page->sh+mv->dyThresh && ty < mv[1].map->height; ty++, py+=mv[1].map->tiles->tileHeight) { mapDrawWRow(&mv[1], tx-1, ty, py); i+=mv->map->width - tx; } +// py=0; +// i=mv[1].ty * mv[1].map->width + mv[1].tx; +// for(ty=mv[1].ty-1; py < mv[1].page->sh+mv->dyThresh && ty < mv[1].map->height; ty++, py+=mv[1].map->tiles->tileHeight) { +// mapDrawWRow(&mv[1], tx-1, ty, py); +// i+=mv->map->width - tx; +// } //if(mv[0].video->bgps) modexCopyPageRegion(mv[1].page, mv[0].page, 0, 0, 0, 0, mv[0].page->width, mv[0].page->height); } @@ -712,7 +705,7 @@ void shinku(global_game_variables_t *gv) switch(gv->kurokku.fpscap) { case 0: - modexprint(&(gv->video.page[0]), x, y+8, type, col, bgcol, "sanic!"); + //modexprint(&(gv->video.page[0]), x, y+8, type, col, bgcol, "sanic!"); gv->kurokku.frames_per_second=1; break; case 1: @@ -723,7 +716,7 @@ void shinku(global_game_variables_t *gv) break; } //render!! - if(gv->video.r ) + if(gv->video.dorender ) {//r=1 /*if(video->bgp s) { @@ -732,20 +725,19 @@ void shinku(global_game_variables_t *gv) //modexCopyPageRegion(&video->page[0], &video->page[1], enti->x, enti->y, 0, 0, 24, 32); }*/ VL_ShowPage(&(gv->video.page[gv->video.sp]), gv->kurokku.fpscap, 0); - gv->video.r =!gv->video.r ; + gv->video.dorender =!gv->video.dorender ; //0000gv->video.tickclk = ((*clockw)-gv->video.startclk)/18.2; -// } } } -void near ZC_animatePlayer(map_view_t *pip, player_t *player, word pn, sword scrollswitch) +void near ZC_animatePlayer(map_view_t *pip, player_t *player, nibble pn) { sword x = player[pn].enti.x; sword y = player[pn].enti.y; sword qq,dd; //scroll offset player[pn].enti.dire=10; //direction - switch(scrollswitch) + switch(player[pn].walktype) { case 0: dd = 0; @@ -757,7 +749,7 @@ void near ZC_animatePlayer(map_view_t *pip, player_t *player, word pn, sword scr break; case 2: dd = 1; - qq = ((player[pn].enti.q)*(player[pn].enti.speed)); + qq = player[pn].enti.q*player[pn].enti.speed; break; } x-=4; @@ -790,6 +782,7 @@ void near ZC_animatePlayer(map_view_t *pip, player_t *player, word pn, sword scr player[pn].enti.dire+=dd; if((player[pn].enti.q==1 && player[pn].enti.pred != player[pn].enti.d) || !dd) { + //0000printf(" q=%u pred=%u d=%u dd=%u\n", player[pn].enti.q, player[pn].enti.pred, player[pn].enti.d, dd); set_anim_by_id(player[pn].enti.spri, player[pn].enti.dire); //pip->video->sprifilei = set_anim_by_id(player[pn].enti.spri, player[pn].enti.dire); if(pip->video->sprifilei == -1){ printf("ERROR! %u\n", player[pn].enti.dire); return; } player[pn].enti.pred = player[pn].enti.d; } @@ -801,9 +794,9 @@ void near ZC_animatePlayer(map_view_t *pip, player_t *player, word pn, sword scr if(pip[0].video->bgps) modexCopyPageRegion(pip[0].page, pip[1].page, x-4, y-4, x-4, y-4, 28, 40); //draw sprite - animate_spri(&player[pn].enti, pip->video); -//0000if(player[pn].enti.q<2) delay(200); - pip->video->r=1; + animate_spri(&player[pn].enti, pip[0].video); +//0000if(player[pn].enti.q<4) delay(200); + pip[0].video->dorender = 1; } /* diff --git a/src/lib/scroll16.h b/src/lib/scroll16.h index c789cc1a..97759ac7 100755 --- a/src/lib/scroll16.h +++ b/src/lib/scroll16.h @@ -34,7 +34,7 @@ //#include "src/lib/16_map.h" //new map stuff #include "src/lib/16_timer.h" #include "src/lib/wcpu/16_wcpu.h" -#include "src/lib/16_sprit.h" +#include "src/lib/16_spri.h" #include #include @@ -63,6 +63,8 @@ #define MAPW 40 #define MAPH 30 +//===========================================================================// + //if(player[0].enti.hp==0) printf("%d wwww\n", player[0].enti.y+8); //else printf("\nplayer[0].enti.y: %d\n", player[0].enti.y); //printf("gvar.video.p=%u ", gvar.video.p); @@ -75,17 +77,18 @@ //printf("&global_temp_status_text = %Fp\n", &global_temp_status_text); //printf("middle tile position: %dx", gvar.video.page[0].tilemidposscreenx); printf("%d\n", gvar.video.page[0].tilemidposscreeny); //printf(" aniframe=%u", player[0].enti.persist_aniframe); -#define SCROLLEXITMESG printf("[0]txy: %dx%d ", mv[1].tx, mv[1].ty); printf("[1]txy: %dx%d", mv[1].tx, mv[1].ty);\ +#define SCROLLEXITMESG printf("[0]txy: %dx%d ", mv[0].tx, mv[0].ty); printf("[1]txy: %dx%d", mv[1].tx, mv[1].ty);\ printf("\n\n");\ printf("player vars:\n");\ printf(" xy: %dx%d", player[0].enti.x, player[0].enti.y); printf(" txy: %dx%d", player[0].enti.tx, player[0].enti.ty); printf(" triggxy: %dx%d", player[0].enti.triggerx, player[0].enti.triggery); printf(" value: %d\n", mv[1].map->data[(player[0].enti.triggerx-1)+(map.width*(player[0].enti.triggery-1))]);\ - printf(" hp: %d", (player[0].enti.hp)); printf(" q: %d", player[0].enti.q); printf(" info.dir: %d", player[0].info.dir); printf(" d: %d ", player[0].enti.d);\ - printf(" pdir: %d\n", player[0].pdir); printf(" delay=%u", player[0].enti.spri->delay);\ + printf(" hp: %d", (player[0].enti.hp)); printf(" q: %u", player[0].enti.q); printf(" info.dir: %u", player[0].info.dir); printf(" d: %u", player[0].enti.d); printf(" dire: %u", player[0].enti.dire);\ + printf(" pdir: %u\n", player[0].pdir); printf(" delay=%u", player[0].enti.spri->delay);\ printf("\n\n");\ VL_PrintmodexmemInfo(&gvar.video);\ \ - printf("gvar.video.r=%u ", gvar.video.r);\ - printf("gvar.video.bgps=%u ", gvar.video.bgps);\ + printf("gvar.video:\n");\ + printf(" r=%u ", gvar.video.dorender);\ + printf("bgps=%u ", gvar.video.bgps);\ printf("\n\n"); extern boolean pagenorendermap, pagedelayrendermap; @@ -104,7 +107,7 @@ void near mapScrollLeft(map_view_t *mv, player_t *player, word id, word plid); void near mapScrollUp(map_view_t *mv, player_t *player, word id, word plid); void near mapScrollDown(map_view_t *mv, player_t *player, word id, word plid); void ZC_mapScroll(map_view_t *mv, player_t *player, word pn); -void ZC_playerXYpos(int x, int y, player_t *player, map_view_t *pip, nibble pn); +void ZC_playerXYpos(int x, int y, player_t *player, map_view_t *pip, nibble pn, boolean defaultsw); sword chkmap(map_t *map, word q); void mapGoTo(map_view_t *mv, int tx, int ty); void ZC_mapinitMV(map_view_t *mv, int tx, int ty); @@ -185,7 +188,7 @@ inline void near ScrollDown(map_view_t *mv, player_t *player, word id, word plid //sync void shinku(global_game_variables_t *gv); //animate the sprite -void near ZC_animatePlayer(map_view_t *pip, player_t *player, word pn, sword scrollswitch); +void near ZC_animatePlayer(map_view_t *pip, player_t *player, nibble pn); // Move an entity around. Should actually be in 16_entity boolean ZC_walk2(entity_t *ent, map_view_t *map_v); diff --git a/src/scroll.c b/src/scroll.c index df818d69..9855756f 100755 --- a/src/scroll.c +++ b/src/scroll.c @@ -118,10 +118,18 @@ void main(int argc, char *argv[]) //TODO: LOAD map data and position the map in the middle of the screen if smaller then screen mapGoTo(&mv, 0, 0); - ZC_playerXYpos(0, 0, &player, &mv, 0); + ZC_playerXYpos(0, 0, &player, &mv, 0, 1); EN_initplayer(&player, 0, &gvar.video); - player[0].enti.spri->x = player[0].enti.x-4; - player[0].enti.spri->y = player[0].enti.y-16; + if (gvar.video.sprifilei == -1) + { +#ifdef FADE + modexFadeOff(4, gpal); +#endif + Quit(&gvar, "Wrong"); +#ifdef FADE + modexFadeOn(4, dpal); +#endif + } #ifndef SPRITE modexClearRegion(mv[0].page, player[0].enti.x, player[0].enti.y-TILEWH, 16, 32, 15); diff --git a/src/tesuto.h b/src/tesuto.h index a4c9a9f6..29a09d17 100755 --- a/src/tesuto.h +++ b/src/tesuto.h @@ -6,7 +6,7 @@ #include "src/lib/16_vl.h" #include "src/lib/16_in.h" #include "src/lib/scroll16.h" -#include "src/lib/16_sprit.h" +#include "src/lib/16_spri.h" #include #include #include diff --git a/src/vrstest.c b/src/vrstest.c index 8e20a4cf..d006969d 100755 --- a/src/vrstest.c +++ b/src/vrstest.c @@ -23,7 +23,7 @@ #include "src/lib/16_head.h" #include "src/lib/16_tail.h" #include "src/lib/16_vl.h" -#include "src/lib/16_sprit.h" +#include "src/lib/16_spri.h" #include "src/lib/16_pm.h" #include "src/lib/16_ca.h" #include "src/lib/16_mm.h" diff --git a/src/zcroll.c b/src/zcroll.c index 582920ce..dc169fe4 100755 --- a/src/zcroll.c +++ b/src/zcroll.c @@ -127,14 +127,8 @@ void main(int argc, char *argv[]) //TODO: LOAD map data and position the map in the middle of the screen if smaller then screen mapGoTo(&mv, 0, 0); - ZC_playerXYpos(0, 0, &player, &mv, 0); + ZC_playerXYpos(0, 0, &player, &mv, 0, 1); EN_initplayer(&player, 0, &gvar.video); - player[0].enti.spri->x = player[0].enti.x-4; - player[0].enti.spri->y = player[0].enti.y-16; - - player[0].enti.dire=31; - gvar.video.sprifilei = set_anim_by_id(player[0].enti.spri, player[0].enti.dire); - //print_anim_ids(player[0].enti.spri); if (gvar.video.sprifilei == -1) { #ifdef FADE @@ -147,8 +141,8 @@ void main(int argc, char *argv[]) } // while(!IN_KeyDown(sc_Escape) && !IN_KeyDown(sc_Space) && !IN_KeyDown(sc_Enter)){ FUNCTIONKEYSHOWMV } - VL_ShowPage(mv[0].page, 0, 0); - animate_spri(&(player[0].enti), &gvar.video); +// VL_ShowPage(mv[0].page, gvar.kurokku.fpscap, 0); + ZC_ShowMV(&mv, gvar.kurokku.fpscap, 0); #ifdef FADE modexFadeOn(4, gpal); #endif -- 2.39.2