From: sparky4 Date: Sat, 6 Dec 2014 09:11:17 +0000 (-0600) Subject: modified: Project 16.bfproject X-Git-Url: http://4ch.mooo.com/gitweb/?a=commitdiff_plain;h=3a2e65f55f3d4f720e9076f68f6292f702369391;p=16.git modified: Project 16.bfproject modified: scroll.exe modified: src/scroll.c --- diff --git a/Project 16.bfproject b/Project 16.bfproject index ebde19af..50d1fffb 100644 --- a/Project 16.bfproject +++ b/Project 16.bfproject @@ -1,73 +1,58 @@ -c2e.convert_special: 0 -e2c.convert_num: 0 -openfiles: /dos/z/16/doc/project.txt:60:0:0: -openfiles: /dos/z/16/16.c:0:0:0: -openfiles: /dos/z/16/src/scroll.c:17044:16836:1: -openfiles: /dos/z/16/src/lib/scroll.c:1666:0:0: -openfiles: /dos/z/16/src/lib/scroll.h:1961:241:0: -openfiles: /dos/z/16/src/v2/source/ENGINE/CONTROLS.C:2441:1179:0: -openfiles: /dos/z/16/src/lib/modex16.c:13778:13034:0: -openfiles: /dos/z/16/src/lib/modex16.h:2059:913:0: -openfiles: /dos/z/16/src/pcxtest.c:68:0:0: -openfiles: /dos/z/16/src/lib/dos_kb.c:3352:2801:0: -openfiles: /dos/z/16/src/lib/dos_kb.h:62:0:0: -openfiles: /dos/z/16/src/lib/lib_head.h:165:0:0: -openfiles: /dos/z/16/src/palettec.c:176:0:0: -openfiles: /dos/z/16/src/test.c:415:629:0: -openfiles: /dos/z/16/src/test2.c:18:0:0: -openfiles: /dos/z/16/src/lib/bitmap.c:59:0:0: -openfiles: /dos/z/16/src/lib/bitmap.h:125:0:0: -openfiles: /dos/z/16/src/lib/lib_head.cpp:0:0:0: -openfiles: /dos/z/16/src/lib/types.h:242:0:0: -openfiles: /dos/z/16/makefile:22:0:0: -openfiles: /dos/z/16/16/dos_gfx.cpp:6388:0:0: -openfiles: /dos/z/16/16/dos_gfx.h:175:233:0: -snr_recursion_level: 0 -convertcolumn_horizontally: 0 -adv_open_matchname: 0 -show_mbhl: 1 -view_line_numbers: 1 -fb_show_backup_f: 0 -htmlbar_thumbnailwidth: 300 -view_left_panel: 0 -default_mime_type: text/plain -e2c.convert_xml: 1 -c2e.convert_iso: 0 -opendir: file:///dos/z/16/src/v2/source/ENGINE -wrap_text_default: 0 -bookmarks_filename_mode: 1 -ssearch_text: UnPress( -snr_casesens: 1 -view_blocks: 1 -name: project 16 -replacelist: dest -replacelist: animatePlayer(bg, spri, -replacelist: qi=1 -replacelist: qi<=( -replacelist: \t\t\t\t -replacelist: animatePlayer(bg, spri, mask, 1 -replacelist: animatePlayer(bg, spri, mask, 0 -replacelist: modexShowPage(mask-> -replacelist: modexShowPage(spri -replacelist: player.tx == player.ty -replacelist: TRIGGY -replacelist: TRIGGX -replacelist: $(SRCLIB) -replacelist: $(SRC) -replacelist: play-> -fb_show_hidden_f: 0 -editor_tab_width: 4 -show_visible_spacing: 1 -view_statusbar: 1 -display_right_margin: 0 -c2e.IE_apos_workaround: 0 -outputb_scroll_mode: 0 -leftpanel_active_tab: 0 -enable_syntax_scan: 1 -ssearch_regex: 0 -e2c.convert_iso: 0 -ssearch_casesens: 0 -charmap_block: 1 +view_main_toolbar: 1 +bmarksearchmode: 0 +snr_scope: 0 +snr_type: 0 +view_cline: 0 +editor_indent_wspaces: 0 +c2e.convert_xml: 1 +snr_dotmatchall: 0 +c2e.convert_symbol: 0 +filegloblist: *.txt +filegloblist: *.shtml +filegloblist: *.py +filegloblist: *.pl +filegloblist: *.php +filegloblist: *.js +filegloblist: *.java +filegloblist: *.htm +filegloblist: *.html +filegloblist: *.h +filegloblist: *.css +filegloblist: *.cpp +filegloblist: *.cgi +filegloblist: *.c +filegloblist: * +fb_focus_follow: 1 +adv_open_recursive: 0 +recent_dirs: file:///dos/z/16/16 +encoding: UTF-8 +autoindent: 1 +e2c.convert_special: 0 +fb_viewmode: 0 +htmlbar_view: 0 +snippets_show_as_menu: 1 +bookmarks_show_mode: 0 +outputb_show_all_output: 0 +autocomplete: 1 +searchlist: mapDrawTile +searchlist: dxThresh +searchlist: PalFile +searchlist: src\\lib\\ +searchlist: player. +searchlist: src\\ +searchlist: void modexPalBlack(); +searchlist: oid modexPalBlack( +searchlist: id modexPalBlack( +searchlist: d modexPalBlack( +spell_lang: en +snr_escape_chars: 0 +view_blockstack: 1 +htmlbar_notebooktab: 0 +last_filefilter: +spell_insert_entities: 0 +spell_check_default: 1 +savedir: file:///dos/z/16/src +snr_replacetype: 0 recent_files: file:///dos/z/16/16/modex16/scroll.c recent_files: file:///dos/z/16/16/modex16/dos_kb.c recent_files: file:///dos/z/16/16/modex16/makefile @@ -93,91 +78,43 @@ recent_files: file:///dos/z/16/pcxtest.c recent_files: file:///dos/z/keen-src/id_mm.h recent_files: file:///dos/z/keen-src/id_mm.c recent_files: file:///dos/z/keen-src/id_rf.h -recent_files: file:///dos/z/keen-src/id_rf_a.asm -recent_files: file:///dos/z/keen-src/id_rf.c -recent_files: file:///dos/z/16/gfx.pal -recent_files: file:///dos/z/16/src/scroll.c -recent_files: file:///dos/z/16/doc/project.txt -recent_files: file:///dos/z/16/src/lib/scroll.h -recent_files: file:///dos/z/16/src/lib/scroll.c -recent_files: file:///dos/z/16/src/lib/modex16.h -recent_files: file:///dos/z/16/src/pcxtest.c -recent_files: file:///dos/z/16/16.c -recent_files: file:///dos/z/16/src/lib/modex16.c -recent_files: file:///dos/z/16/src/lib/dos_kb.c -recent_files: file:///dos/z/16/src/lib/dos_kb.h -recent_files: file:///dos/z/16/src/lib/lib_head.h -recent_files: file:///dos/z/16/src/palettec.c -recent_files: file:///dos/z/16/src/test.c -recent_files: file:///dos/z/16/src/test2.c -recent_files: file:///dos/z/16/src/lib/bitmap.h -recent_files: file:///dos/z/16/src/lib/bitmap.c -recent_files: file:///dos/z/16/src/lib/lib_head.cpp -recent_files: file:///dos/z/16/makefile -recent_files: file:///dos/z/16/src/lib/types.h -recent_files: file:///dos/z/16/16/dos_gfx.h -recent_files: file:///dos/z/16/16/dos_gfx.cpp -recent_files: file:///dos/z/16/src/v2/source/ENGINE/CONTROLS.C -snr_replacetype: 0 -savedir: file:///dos/z/16/src -spell_check_default: 1 -spell_insert_entities: 0 -last_filefilter: -htmlbar_notebooktab: 0 -view_blockstack: 1 -snr_escape_chars: 0 -htmlbar_view: 0 -spell_lang: en -ssearch_dotmatchall: 0 -searchlist: mapDrawTile -searchlist: dxThresh -searchlist: PalFile -searchlist: src\\lib\\ -searchlist: player. -searchlist: src\\ -searchlist: void modexPalBlack(); -searchlist: oid modexPalBlack( -searchlist: id modexPalBlack( -searchlist: d modexPalBlack( -searchlist: modexPalBlack( -searchlist: fadePalette( -searchlist: modexPalBlack( -searchlist: modexPalUpdate -searchlist: UnPress( -autocomplete: 1 -outputb_show_all_output: 0 -bookmarks_show_mode: 0 -snippets_show_as_menu: 1 -adv_open_recursive: 0 -encoding: SHIFT_JIS -e2c.convert_special: 0 -autoindent: 1 -fb_viewmode: 0 -filegloblist: *.txt -filegloblist: *.shtml -filegloblist: *.py -filegloblist: *.pl -filegloblist: *.php -filegloblist: *.js -filegloblist: *.java -filegloblist: *.htm -filegloblist: *.html -filegloblist: *.h -filegloblist: *.css -filegloblist: *.cpp -filegloblist: *.cgi -filegloblist: *.c -filegloblist: * -recent_dirs: file:///dos/z/16/16 -fb_focus_follow: 1 -ssearch_unescape: 0 -c2e.convert_symbol: 0 -snr_dotmatchall: 0 -c2e.convert_xml: 1 -editor_indent_wspaces: 0 -view_cline: 0 -snr_type: 0 -snr_scope: 0 -bmarksearchmode: 0 -view_main_toolbar: 1 +charmap_block: 1 +e2c.convert_iso: 0 +enable_syntax_scan: 1 +outputb_scroll_mode: 0 +leftpanel_active_tab: 0 +c2e.IE_apos_workaround: 0 +display_right_margin: 0 +replacelist: dest +replacelist: animatePlayer(bg, spri, +replacelist: qi=1 +replacelist: qi<=( +replacelist: \t\t\t\t +replacelist: animatePlayer(bg, spri, mask, 1 +replacelist: animatePlayer(bg, spri, mask, 0 +replacelist: modexShowPage(mask-> +replacelist: modexShowPage(spri +replacelist: player.tx == player.ty +editor_tab_width: 4 +view_statusbar: 1 +fb_show_hidden_f: 0 +name: project 16 +view_blocks: 1 +snr_casesens: 1 +c2e.convert_iso: 0 +bookmarks_filename_mode: 1 +wrap_text_default: 0 +opendir: file:///dos/z/16/src/v2/source/ENGINE +e2c.convert_xml: 1 +default_mime_type: text/plain +view_left_panel: 0 +htmlbar_thumbnailwidth: 300 +fb_show_backup_f: 0 +view_line_numbers: 1 +show_mbhl: 1 +adv_open_matchname: 0 +convertcolumn_horizontally: 0 +snr_recursion_level: 0 e2c.convert_symbol: 0 +e2c.convert_num: 0 +c2e.convert_special: 0 diff --git a/scroll.exe b/scroll.exe index 7fb7acbb..07b49f02 100644 Binary files a/scroll.exe and b/scroll.exe differ diff --git a/src/scroll.c b/src/scroll.c index eca090f9..f511073c 100644 --- a/src/scroll.c +++ b/src/scroll.c @@ -32,8 +32,7 @@ typedef struct { word dyThresh; //???? } map_view_t; -//TODO: make this into actor_t -struct { +typedef struct { int x; //player exact position on the viewable map int y; //player exact position on the viewable map int tx; //player tile position on the viewable map @@ -43,7 +42,7 @@ struct { word q; //loop variable word d; //direction int hp; //hitpoints of the player -} player; +} actor_t; map_t allocMap(int w, int h); @@ -55,8 +54,8 @@ void mapScrollDown(map_view_t *mv, byte offset); void mapGoTo(map_view_t *mv, int tx, int ty); void mapDrawTile(tiles_t *t, word i, page_t *page, word x, word y); void mapDrawRow(map_view_t *mv, int tx, int ty, word y); -void mapDrawCol(map_view_t *mv, int tx, int ty, word x); -void dpad(sword k); +void mapDrawCol(map_view_t *mv, int tx, int ty, word x); +sword dpad(actor_t *qd); void animatePlayer(map_view_t *src, map_view_t *dest, /*map_view_t *top, */short d1, short d2, int x, int y, int ls, int lp, bitmap_t *bmp); #define TILEWH 16 @@ -77,12 +76,11 @@ void main() { page_t screen, screen2, screen3; map_t map; map_view_t mv, mv2, mv3; - map_view_t *bg, *spri, *mask;//, *tmp; + map_view_t *bg, *spri, *mask;//, *tmp; byte *pal; byte *ptr; + actor_t player; - player.q=1; - player.d=0; /* save the palette */ pal = modexNewPal(); @@ -126,16 +124,17 @@ void main() { //mapGoTo(mask, 0, 0); //TODO: put player in starting position of spot - //default player position on the viewable map + //default player position on the viewable map player.tx = bg->tx + 10; player.ty = bg->ty + 8; player.x = player.tx*TILEWH; player.y = player.ty*TILEWH; player.triggerx = player.tx; player.triggery = player.ty+1; - //TODO: erase player initial draw + player.q=0; + player.d=0; modexDrawSpriteRegion(spri->page, player.x-4, player.y-TILEWH, 24, 64, 24, 32, &ptmp); - //temp draw trigger box + modexClearRegion(spri->page, player.triggerx*16, player.triggery*16, 16, 16, 1); modexClearRegion(bg->page, player.triggerx*16, player.triggery*16, 16, 16, 1); modexShowPage(spri->page); @@ -146,10 +145,12 @@ void main() { //when player.tx or player.ty == 0 or player.tx == 20 or player.ty == 15 then stop because that is edge of map and you do not want to walk of the map - //TODO: make this better like rpg maker 2000 better - if(player.q == 1) + //TODO: make this better like rpg maker 2000 better + if(player.q <= 1) { - dpad(0/*, 0*/); + dpad(&player); + if(player.d>0) dpad(&player); + if(player.q<1) player.q++; } #define INC_PER_FRAME if(player.q&1) persist_aniframe++; if(persist_aniframe>4) persist_aniframe = 1; @@ -158,7 +159,6 @@ void main() { { if(bg->tx >= 0 && bg->tx+20 < MAPX && player.tx == bg->tx + 10 && !(player.tx+1 == TRIGGX && player.ty == TRIGGY)) { - //for(q=1; q<=(TILEWH/SPEED); q++) if(player.q<=(TILEWH/SPEED)) { INC_PER_FRAME; @@ -169,11 +169,10 @@ void main() { //mapScrollRight(mask, SPEED); modexShowPage(spri->page); player.q++; - } else { player.q = 1; player.d = 0; player.tx++; } + } else { player.q = 0; player.d = 0; player.tx++; } } else if(player.tx < MAPX && !(player.tx+1 == TRIGGX && player.ty == TRIGGY)) { - //for(q=1; q<=(TILEWH/SPEED); q++) if(player.q<=(TILEWH/SPEED)) { INC_PER_FRAME; @@ -182,7 +181,7 @@ void main() { animatePlayer(bg, spri, 1, 0, player.x, player.y, persist_aniframe, player.q, &ptmp); modexShowPage(spri->page); player.q++; - } else { player.q = 1; player.d = 0; player.tx++; } + } else { player.q = 0; player.d = 0; player.tx++; } } else { @@ -199,7 +198,6 @@ void main() { { if(bg->tx > 0 && bg->tx+20 <= MAPX && player.tx == bg->tx + 10 && !(player.tx-1 == TRIGGX && player.ty == TRIGGY)) { - //for(q=1; q<=(TILEWH/SPEED); q++) if(player.q<=(TILEWH/SPEED)) { INC_PER_FRAME; @@ -210,11 +208,10 @@ void main() { //mapScrollLeft(mask, SPEED); modexShowPage(spri->page); player.q++; - } else { player.q = 1; player.d = 0; player.tx--; } + } else { player.q = 0; player.d = 0; player.tx--; } } else if(player.tx > 1 && !(player.tx-1 == TRIGGX && player.ty == TRIGGY)) { - //for(q=1; q<=(TILEWH/SPEED); q++) if(player.q<=(TILEWH/SPEED)) { INC_PER_FRAME; @@ -223,7 +220,7 @@ void main() { animatePlayer(bg, spri, 3, 0, player.x, player.y, persist_aniframe, player.q, &ptmp); modexShowPage(spri->page); player.q++; - } else { player.q = 1; player.d = 0; player.tx--; } + } else { player.q = 0; player.d = 0; player.tx--; } } else { @@ -240,7 +237,6 @@ void main() { { if(bg->ty >= 0 && bg->ty+15 < MAPY && player.ty == bg->ty + 8 && !(player.tx == TRIGGX && player.ty+1 == TRIGGY)) { - //for(q=1; q<=(TILEWH/SPEED); q++) if(player.q<=(TILEWH/SPEED)) { INC_PER_FRAME; @@ -251,11 +247,10 @@ void main() { //mapScrollDown(mask, SPEED); modexShowPage(spri->page); player.q++; - } else { player.q = 1; player.d = 0; player.ty++; } + } else { player.q = 0; player.d = 0; player.ty++; } } else if(player.ty < MAPY && !(player.tx == TRIGGX && player.ty+1 == TRIGGY)) { - //for(q=1; q<=(TILEWH/SPEED); q++) if(player.q<=(TILEWH/SPEED)) { INC_PER_FRAME; @@ -264,7 +259,7 @@ void main() { animatePlayer(bg, spri, 2, 0, player.x, player.y, persist_aniframe, player.q, &ptmp); modexShowPage(spri->page); player.q++; - } else { player.q = 1; player.d = 0; player.ty++; } + } else { player.q = 0; player.d = 0; player.ty++; } } else { @@ -281,7 +276,6 @@ void main() { { if(bg->ty > 0 && bg->ty+15 <= MAPY && player.ty == bg->ty + 8 && !(player.tx == TRIGGX && player.ty-1 == TRIGGY)) { - //for(q=1; q<=(TILEWH/SPEED); q++) if(player.q<=(TILEWH/SPEED)) { INC_PER_FRAME; @@ -292,11 +286,10 @@ void main() { //mapScrollUp(mask, SPEED); modexShowPage(spri->page); player.q++; - } else { player.q = 1; player.d = 0; player.ty--; } + } else { player.q = 0; player.d = 0; player.ty--; } } else if(player.ty > 1 && !(player.tx == TRIGGX && player.ty-1 == TRIGGY)) { - //for(q=1; q<=(TILEWH/SPEED); q++) if(player.q<=(TILEWH/SPEED)) { INC_PER_FRAME; @@ -305,7 +298,7 @@ void main() { modexShowPage(spri->page); animatePlayer(bg, spri, 0, 0, player.x, player.y, persist_aniframe, player.q, &ptmp); player.q++; - } else { player.q = 1; player.d = 0; player.ty--; } + } else { player.q = 0; player.d = 0; player.ty--; } } else { @@ -449,7 +442,7 @@ mapScrollLeft(map_view_t *mv, byte offset) { if(mv->page->dx == 0) { /* go backward one tile */ mv->tx--; - + /* Snap the origin backward */ mv->page->data -= 4; mv->page->dx = mv->map->tiles->tileWidth; @@ -577,32 +570,41 @@ mapDrawCol(map_view_t *mv, int tx, int ty, word x) { i += mv->map->width; } } - -//sword -void -dpad(sword k/*, sword q*/) -{ - //printf("p1: %d\n", k); - //keypressed=0; - //if(q>1){ q=0; return q; } - //if(keypressed>1){ keypressed=0; return keypressed; } - if(k==0) + +sword +dpad(actor_t *qd) +{ + if((keyp(75) && !keyp(77))) qd->d = 4; //left + if((keyp(80) && !keyp(72))) qd->d = 3; //down + if((keyp(77) && !keyp(75))) qd->d = 2; //right + if((keyp(72) && !keyp(80))) qd->d = 1; //up +/* if(qd->d==0) { - if(keyp(75) && !keyp(77)){ player.d = 4; k++; } - if(keyp(80) && !keyp(72)){ player.d = 3; k++; } - if(keyp(77) && !keyp(75)){ player.d = 2; k++; } - if(keyp(72) && !keyp(80)){ player.d = 1; k++; } + //if((keyp(80) || keyp(72))) + //{ + if((keyp(72) && !keyp(80))&&qd->d==0) qd->d = 1; //up + if((keyp(80) && !keyp(72))&&qd->d==0) qd->d = 3; //down + //} + //if((keyp(75) || keyp(77))) + //{ + if((keyp(75) && !keyp(77))&&qd->d==0) qd->d = 4; //left + if((keyp(77) && !keyp(75))&&qd->d==0) qd->d = 2; //right + //} } else { - if(keyp(72) && !keyp(80)){ player.d = 1; k--; } - if(keyp(77) && !keyp(75)){ player.d = 2; k--; } - if(keyp(80) && !keyp(72)){ player.d = 3; k--; } - if(keyp(75) && !keyp(77)){ player.d = 4; k--; } - } - //printf("p2: %d\n", k); - if(k>1/* || k<-1*/){ dpad(k); } - //return keypressed=0; + if((qd->d==2 || qd->d==4)) + { + if(keyp(72) && !keyp(80)) qd->d = 1; //up + if(keyp(80) && !keyp(72)) qd->d = 3; //down + } + else if((qd->d==1 || qd->d==3)) + { + if(keyp(75) && !keyp(77)) qd->d = 4; //left + if(keyp(77) && !keyp(75)) qd->d = 2; //right + } + }*/ + return qd->d; } void