From 9a8a5d6ba7fe341288dd42aab1bc33de2da1b9d7 Mon Sep 17 00:00:00 2001 From: sparky4 Date: Mon, 3 Aug 2015 12:13:53 -0500 Subject: [PATCH] Signed-off-by: sparky4 --- makefile | 6 +++--- scroll.exe | Bin 63852 -> 63082 bytes src/lib/16_in.h | 4 ++-- src/lib/scroll16.c | 35 +++++++++++++++++++++++++++++++---- src/lib/scroll16.h | 1 + src/scroll.c | 41 ++++++++++++++++------------------------- tsthimem.exe | Bin 21846 -> 21846 bytes 7 files changed, 53 insertions(+), 34 deletions(-) diff --git a/makefile b/makefile index 75805bc0..55ed3f26 100644 --- a/makefile +++ b/makefile @@ -30,7 +30,7 @@ OFLAGS=-obmiler -out -oh -ei -zp8 -0 -fpi87 -onac -ol+ -ok####x FLAGS=$(OFLAGS) $(CFLAGS) $(DFLAGS) $(ZFLAGS) DOSLIBEXMMOBJ = himemsys.$(OBJ) emm.$(OBJ) -DOSLIBOBJ = adlib.$(OBJ) midi.$(OBJ) 8254.$(OBJ) 8259.$(OBJ) dos.$(OBJ) cpu.$(OBJ) +DOSLIBOBJ = adlib.$(OBJ) 8254.$(OBJ) 8259.$(OBJ) dos.$(OBJ) cpu.$(OBJ) 16LIBOBJS = bakapee.$(OBJ) 16_in.$(OBJ) 16_mm.$(OBJ) wcpu.$(OBJ) 16_head.$(OBJ) scroll16.$(OBJ) 16_ca.$(OBJ) timer.$(OBJ) kitten.$(OBJ) GFXLIBOBJS = modex16.$(OBJ) bitmap.$(OBJ) planar.$(OBJ) 16text.$(OBJ) @@ -82,8 +82,8 @@ inputest.exe: inputest.$(OBJ) 16.lib sountest.exe: sountest.$(OBJ) 16.lib wcl $(FLAGS) sountest.$(OBJ) 16.lib -miditest.exe: miditest.$(OBJ) 16.lib $(DOSLIBEXMMOBJ) - wcl $(FLAGS) miditest.$(OBJ) 16.lib $(DOSLIBEXMMOBJ) +miditest.exe: miditest.$(OBJ) 16.lib $(DOSLIBEXMMOBJ) midi.$(OBJ) + wcl $(FLAGS) miditest.$(OBJ) 16.lib $(DOSLIBEXMMOBJ) midi.$(OBJ) tsthimem.exe: tsthimem.$(OBJ) 16.lib $(DOSLIBEXMMOBJ) wcl $(FLAGS) tsthimem.$(OBJ) 16.lib $(DOSLIBEXMMOBJ) diff --git a/scroll.exe b/scroll.exe index 456b5b8152f476b203b6063a11de7ffc6360c5e6..d360c998e18c832ba8e2900e3b6ad2e5cc3df800 100644 GIT binary patch delta 19570 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 R`}p)e`5it3XI&)Ze*sHr(ZK)! delta 20267 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 Q>3I}SSeSqbXBg&x02XmRF8}}l diff --git a/src/lib/16_in.h b/src/lib/16_in.h index be4d81e4..eecfae59 100644 --- a/src/lib/16_in.h +++ b/src/lib/16_in.h @@ -214,8 +214,8 @@ typedef struct int ty; //player tile position on the viewable map int triggerx; //player's trigger box tile position on the viewable map int triggery; //player's trigger box tile position on the viewable map - int setx; //NOT USED YET! player sprite sheet set on the image x - int sety; //NOT USED YET! player sprite sheet set on the image y + int sheetsetx; //NOT USED YET! player sprite sheet set on the image x + int sheetsety; //NOT USED YET! player sprite sheet set on the image y word d; //direction!! wwww word q; //loop variable word speed; //player speed! diff --git a/src/lib/scroll16.c b/src/lib/scroll16.c index eb19f8f5..c72532f0 100644 --- a/src/lib/scroll16.c +++ b/src/lib/scroll16.c @@ -397,12 +397,27 @@ sword chkmap(map_t *map, word q) { // bitmap_t bp; static byte x[(MAPW*MAPH)+1] = { 1, 2, 3, 4, 0, 3, 3, 3, 3, 3, 3, 3, 3, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5, 6, 7, 8, 0, 1, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 9, 10, 11, 12, 4, 1, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 13, 14, 15, 16, 0, 1, 1, 1, 5, 8, 1, 11, 11, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 4, 0, 0, 0, 0, 0, 8, 8, 1, 11, 11, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 8, 8, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 3, 3, 3, 1, 2, 3, 4, 3, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 1, 1, 1, 5, 6, 7, 8, 6, 6, 6, 6, 6, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 3, 1, 1, 1, 1, 1, 9, 10, 11, 12, 6, 6, 6, 6, 6, 6, 6, 6, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 13, 14, 15, 16, 3, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 3, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 3, 3, 3, 3, 6, 6, 6, 6, 6, 6, 6, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 3, 3, 3, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 10, 10, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 10, 10 }; +/*1, 2, 3, 4, 0, 3, 3, 3, 3, 3, 3, 3, 3, 4, 1, 1, 1, 1, 1, 1, \ +5, 6, 7, 8, 0, 1, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, \ +9, 10, 11, 12, 4, 1, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, \ +13, 14, 15, 16, 0, 1, 1, 1, 5, 8, 1, 11, 11, 1, 1, 1, 1, 1, 1, 1, \ +0, 0, 4, 0, 0, 0, 0, 0, 8, 8, 1, 11, 11, 3, 1, 1, 1, 1, 1, 1, \ +1, 1, 1, 1, 0, 0, 0, 0, 8, 8, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, \ +1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, \ +1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 1, 1, \ +1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, \ +1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, \ +1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 1, 1, \ +1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, \ +1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 1, 1, \ +1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, \ +1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 3, 3, 3, 1, 2, 3, 4 };*/ //check for failed to load map if((map->width == map->height == 0) || (q>0)) { //initiate a null map! - map->width=MAPW; - map->height=MAPH; + map->width=MAPW;///2; + map->height=MAPH;///2; // map->data = malloc(((map->width*map->height)+1)*sizeof(byte)); map->data = &x; map->tiles = malloc(sizeof(tiles_t)); @@ -588,7 +603,7 @@ void shinku(page_t *page, global_game_variables_t *gv) { pee = malloc(sizeof(double)); sprintf(pee, "%f", ((*gv->clock) /18.2)); - modexprint(page, x, y, type, col, bgcol, pee); +//++++ modexprint(page, x, y, type, col, bgcol, pee); //sprintf(pee, "%f", /*gv->tiku/*/time_in_seconds(gv)); //modexprint(page, x, y+8, type, col, bgcol, pee); } @@ -598,7 +613,11 @@ void animatePlayer(map_view_t *pip, player_t *player, word playnum, sword scroll { sword x = player[playnum].x; sword y = player[playnum].y; - sword dire=32; //direction +#ifdef SPRITE + word dire=32; //direction +#else + word dire=8; //direction +#endif sword qq; //scroll offset word ls = player[playnum].persist_aniframe; @@ -631,11 +650,19 @@ void animatePlayer(map_view_t *pip, player_t *player, word playnum, sword scroll x-=qq; break; } + #ifdef SPRITE +#ifdef BMPTYPE +#define FRAME1 oldDrawBmp(VGA, x, y, &player[playnum].data, 1); +#define FRAME2 oldDrawBmp(VGA, x, y, &player[playnum].data, 1); +#define FRAME3 oldDrawBmp(VGA, x, y, &player[playnum].data, 1); +#define FRAME4 oldDrawBmp(VGA, x, y, &player[playnum].data, 1); +#else #define FRAME1 modexDrawSpriteRegion(pip[1].page, x, y, 48, dire, 24, 32, &player[playnum].data); #define FRAME2 modexDrawSpriteRegion(pip[1].page, x, y, 24, dire, 24, 32, &player[playnum].data) #define FRAME3 modexDrawSpriteRegion(pip[1].page, x, y, 0, dire, 24, 32, &player[playnum].data); #define FRAME4 modexDrawSpriteRegion(pip[1].page, x, y, 24, dire, 24, 32, &player[playnum].data); +#endif #else #define FRAME1 modexClearRegion(pip[1].page, x, y, 24, 32, 2+dire); #define FRAME2 modexClearRegion(pip[1].page, x, y, 24, 32, 1+dire); diff --git a/src/lib/scroll16.h b/src/lib/scroll16.h index 078b27a3..82cd0ade 100644 --- a/src/lib/scroll16.h +++ b/src/lib/scroll16.h @@ -32,6 +32,7 @@ #include "src/lib/timer.h" //#define SPRITE +//#define BMPTYPE typedef struct { map_t *map; diff --git a/src/scroll.c b/src/scroll.c index b8065566..ab6bedd4 100644 --- a/src/scroll.c +++ b/src/scroll.c @@ -62,20 +62,17 @@ void main() // atexit(qclean()); /* create the map */ - //printf("Total used @ before map load: %zu\n", oldfreemem-GetFreeSize()); - printf("Total free @ before map load: %zu\n", GetFreeSize()); - printf("Total near free @ before map load: %zu\n", GetNearFreeSize()); - printf("Total far free @ before map load: %zu\n", GetFarFreeSize()); + //0000printf("Total used @ before map load: %zu\n", oldfreemem-GetFreeSize()); +//0000 printf("Total free @ before map load: %zu\n", GetFreeSize()); +//0000 printf("Total near free @ before map load: %zu\n", GetNearFreeSize()); +//0000 printf("Total far free @ before map load: %zu\n", GetFarFreeSize()); // getch(); //0000 fprintf(stderr, "testing~\n"); -// loadmap("data/test.map", &map); +//++++ loadmap("data/test.map", &map); map.width=0; map.height=0; chkmap(&map, 1); //0000 fprintf(stderr, "yay map loaded~~\n"); -//---- map = allocMap(map.width,map.height); //20x15 is the resolution of the screen you can make maps smaller than 20x15 but the null space needs to be drawn properly - //if(isEMS()) printf("%d tesuto\n", coretotalEMS()); -//---- initMap(&map); mv[0].map = ↦ mv[1].map = ↦ mv[2].map = ↦ @@ -85,7 +82,7 @@ void main() mappalptr = map.tiles->data->palette; /* data */ //0000 printf("Total used @ before image loading: %zu\n", oldfreemem-GetFreeSize()); - player[0].data = bitmapLoadPcx("data/ptmp.pcx"); // load sprite +//++++ player[0].data = bitmapLoadPcx("data/ptmp.pcx"); // load sprite //npctmp = bitmapLoadPcx("ptmp1.pcx"); // load sprite /* create the planar buffer */ @@ -188,7 +185,7 @@ void main() while(!IN_KeyDown(sc_Escape) && player[0].hp>0) { sprintf(mesg, "%lu", gvar.tiku); - modexprint(mv[1].page, 16, 16, 1, 15, 0, mesg); +//++++ modexprint(mv[1].page, 16, 16, 1, 15, 0, mesg); shinku(mv[1].page, &gvar); IN_ReadControl(0,&player); //top left corner & bottem right corner of map veiw be set as map edge trigger since maps are actually square @@ -367,7 +364,7 @@ void main() #endif VGAmodeX(0); IN_Shutdown(); - printf("Project 16 scroll.exe\n"); + printf("Project 16 scroll.exe. This is just a test file!\n"); printf("tx: %d\n", bg->tx); printf("ty: %d\n", bg->ty); printf("player[0].x: %d", player[0].x); printf(" player[0].y: %d\n", player[0].y); @@ -377,25 +374,19 @@ void main() printf("player[0].triggx: %d", player[0].triggerx); printf(" player[0].triggy: %d\n", player[0].triggery); printf("player[0].hp: %d", (player[0].hp)); printf(" player[0].q: %d", player[0].q); printf(" player[0].info.dir: %d", player[0].info.dir); printf(" player[0].d: %d\n", player[0].d); printf("tile data value at player trigger position: %d\n", bg->map->data[(player[0].triggerx-1)+(map.width*(player[0].triggery-1))]); - printf("palette offset: %d\n", paloffset/3); +// printf("palette offset: %d\n", paloffset/3); //++++ printf("Total used: %zu\n", oldfreemem-GetFreeSize()); //++++ printf("Total free: %zu\n", GetFreeSize()); - printf("temporary player sprite 0: http://www.pixiv.net/member_illust.php?mode=medium&illust_id=45556867\n"); - printf("temporary player sprite 1: http://www.pixiv.net/member_illust.php?mode=medium&illust_id=44606385\n"); - printf("Screen: %dx", screen.width); printf("%d\n", screen.height); - printf("Screen2: %dx", screen2.width); printf("%d\n", screen2.height); - printf("map: %dx%d\n", map.width, map.height); - printf("\n"); - printf("player[0].persist_aniframe: %d\n", player[0].persist_aniframe); +//not used now printf("temporary player sprite 0: http://www.pixiv.net/member_illust.php?mode=medium&illust_id=45556867\n"); +//not used now printf("temporary player sprite 1: http://www.pixiv.net/member_illust.php?mode=medium&illust_id=44606385\n"); +// printf("Screen: %dx", screen.width); printf("%d\n", screen.height); +// printf("Screen2: %dx", screen2.width); printf("%d\n", screen2.height); +// printf("map: %dx%d\n", map.width, map.height); +// printf("\n"); // printf("player[0].info.x: %d", player[0].info.xaxis); printf(" player[0].info.y: %d\n", player[0].info.yaxis); // printf("player[0].info.tx: %d", player[0].info.x); printf(" player[0].info.ty: %d\n", player[0].info.y); //printf("map.width=%d map.height=%d map.data[0]=%d\n", bg->map->width, bg->map->height, bg->map->data[0]); - //xmsfree(&map); - //xmsfree(bg); - //xmsfree(spri); - //xmsfree(mask); - //xmsreport(); - //emmclose(emmhandle); + switch(detectcpu()) { case 0: cpus = "8086/8088 or 186/88"; break; diff --git a/tsthimem.exe b/tsthimem.exe index 282bd13ede9bc83446ee5e8bbb9a2071df50eeb4..8a00b50cab11b0320893fc840817776e74a28ef4 100644 GIT binary patch delta 71 zcmcb%it*Yi#tlINJTW<$Niiw;#UN^PoWLX|M%~RHg%&VRUM6NHQe2dbET5X2tCzg_ PwwSC924dB delta 70 zcmcb%it*Yi#tlINJo-7AN%|@I#UN^PoWLX|Mw87Sg%&Ui7bPQ0rRL`9B~R`bv)Ft` OOvZ+B^X8vHu}lD