• R/O
  • HTTP
  • SSH
  • HTTPS

提交

Frequently used words (click to add to your profile)

javac++androidlinuxc#windowsobjective-ccocoa誰得qtpythonphprubygameguibathyscaphec計画中(planning stage)翻訳omegatframeworktwitterdomtestvb.netdirectxゲームエンジンbtronarduinopreviewer

wwww


Commit MetaInfo

修訂51b40bfb7f114e300c6739f98292bc7c5fe6c2d9 (tree)
時間2016-06-28 23:34:02
作者sparky4 <sparky4@cock...>
Commitersparky4

Log Message

gvar.video.page[1].pattern_ofs added wwwwwwwww

Change Summary

差異

--- /dev/null
+++ b/0.l16
@@ -0,0 +1 @@
1+23936 40960
Binary files a/exmm0.exe and b/exmm0.exe differ
--- a/src/0.c
+++ b/src/0.c
@@ -104,7 +104,7 @@ int main(int argc,char **argv) {
104104 * this time, we render the distinctive pattern to another offscreen location and just copy.
105105 * note this version is much faster too! */
106106 {
107- const unsigned int pattern_ofs = 0x10000UL - gvar.video.page[0].pagesize;//(gvar.video.page[0].stridew * gvar.video.page[0].height);
107+ //const unsigned int pattern_ofs = 0x10000UL - gvar.video.page[0].pagesize;//(gvar.video.page[0].stridew * gvar.video.page[0].height);
108108 unsigned int i,j,o,o2;
109109 int x,y,rx,ry,w,h;
110110 unsigned int overdraw = 1; // how many pixels to "overdraw" so that moving sprites with edge pixels don't leave streaks.
@@ -115,7 +115,7 @@ int main(int argc,char **argv) {
115115 //4 this dose the sprite? wwww
116116 /* fill pattern offset with a distinctive pattern */
117117 for (i=0;i < gvar.video.page[0].width;i++) {
118- o = (i >> 2) + pattern_ofs;
118+ o = (i >> 2) + gvar.video.page[1].pattern_ofs;
119119 vga_write_sequencer(0x02/*map mask*/,1 << (i&3));
120120 for (j=0;j < VMEMHEIGHT;j++,o += gvar.video.page[0].stridew)
121121 vga_state.vga_graphics_ram[o] = (i^j)&15; // VRL samples put all colors in first 15!
@@ -146,7 +146,7 @@ int main(int argc,char **argv) {
146146 /* block copy pattern to where we will draw the sprite */
147147 vga_setup_wm1_block_copy();
148148 o2 = gvar.video.page[0].pagesize;
149- o = pattern_ofs + (ry * gvar.video.page[0].stridew) + (rx >> 2); // source offscreen
149+ o = gvar.video.page[1].pattern_ofs + (ry * gvar.video.page[0].stridew) + (rx >> 2); // source offscreen
150150 for (i=0;i < h;i++,o += gvar.video.page[0].stridew,o2 += (w >> 2)) vga_wm1_mem_block_copy(o2,o,w >> 2);
151151 /* must restore Write Mode 0/Read Mode 0 for this code to continue drawing normally */
152152 vga_restore_rm0wm0();
@@ -278,7 +278,8 @@ int main(int argc,char **argv) {
278278 if (dh < 40) dh_step = 1;
279279 }
280280 }
281-
281+//uint16_t
282+ printf("%u %u\n", (gvar.video.page[1].data), 0x10000UL - gvar.video.page[0].pagesize);
282283 VGAmodeX(0, 1, &gvar);
283284 free(vrl_lineoffs);
284285 buffer = NULL;
--- a/src/lib/modex16.c
+++ b/src/lib/modex16.c
@@ -197,6 +197,7 @@ modexDefaultPage(page_t *p)
197197 page.tilesh=page.height/TILEWH;
198198 page.tilemidposscreenx = page.tw/2;
199199 page.tilemidposscreeny = (page.th/2)+1;
200+ page.pattern_ofs=0;
200201 page.stridew=page.width/4;
201202 page.pagesize = (word)(page.stridew)*page.height;
202203 page.pi=page.width*4;
@@ -224,6 +225,7 @@ modexNextPage(page_t *p) {
224225 result.tilesw = p->tilesw;
225226 result.tilesh = p->tilesh;
226227 result.stridew=p->stridew;
228+ result.pattern_ofs = 0x10000UL - p->pagesize;
227229 result.pagesize = p->pagesize;
228230 result.pi=result.width*4;
229231 result.id = p->id+1;
@@ -248,6 +250,7 @@ modexNextPageFlexibleSize(page_t *p, word x, word y)
248250 result.th = result.sh/TILEWH;
249251 result.tilesw=result.width/TILEWH;
250252 result.tilesh=result.height/TILEWH;
253+ result.pattern_ofs=0x10000UL - (p->pattern_ofs+p->pagesize);
251254 result.id = p->id+1;
252255 result.stridew=p->sw/4;//result.width/4;
253256 result.pagesize = (word)(result.stridew)*result.height;
--- a/src/lib/scroll16.c
+++ b/src/lib/scroll16.c
@@ -374,6 +374,7 @@ void near mapScrollRight(map_view_t *mv, player_t *player, word id, word plid)
374374 mv[id].tx++;
375375 /* Snap the origin forward */
376376 mv[id].page->data += 4;
377+ mv[id].page->pattern_ofs += 4;
377378 mv[id].page->dx = mv[id].map->tiles->tileWidth;
378379 }
379380
@@ -403,6 +404,7 @@ void near mapScrollLeft(map_view_t *mv, player_t *player, word id, word plid)
403404 mv[id].tx--;
404405 /* Snap the origin backward */
405406 mv[id].page->data -= 4;
407+ mv[id].page->pattern_ofs -= 4;
406408 mv[id].page->dx = mv[id].map->tiles->tileWidth;
407409 }
408410
@@ -432,6 +434,7 @@ void near mapScrollUp(map_view_t *mv, player_t *player, word id, word plid)
432434 mv[id].ty--;
433435 /* Snap the origin downward */
434436 mv[id].page->data -= mv[id].page->pi;
437+ mv[id].page->pattern_ofs -= mv[id].page->pi;
435438 mv[id].page->dy = mv[id].map->tiles->tileHeight;
436439 }
437440
@@ -460,6 +463,7 @@ void near mapScrollDown(map_view_t *mv, player_t *player, word id, word plid)
460463 mv[id].ty++;
461464 /* Snap the origin downward */
462465 mv[id].page->data += mv[id].page->pi;
466+ mv[id].page->pattern_ofs += mv[id].page->pi;
463467 mv[id].page->dy = mv[id].map->tiles->tileHeight;
464468 }
465469
@@ -489,6 +493,7 @@ void near ScrollRight(map_view_t *mv, player_t *player, word id, word plid)
489493 // vga_restore_rm0wm0();
490494 /* Snap the origin forward */
491495 mv[id].page->data += 4;
496+ mv[id].page->pattern_ofs += 4;
492497 mv[id].page->dx = mv[0].map->tiles->tileWidth;
493498 }
494499 }
@@ -506,6 +511,7 @@ void near ScrollLeft(map_view_t *mv, player_t *player, word id, word plid)
506511 // vga_restore_rm0wm0();
507512 /* Snap the origin backward */
508513 mv[id].page->data -= 4;
514+ mv[id].page->pattern_ofs -=4;
509515 mv[id].page->dx = mv[0].map->tiles->tileWidth;
510516 }
511517 }
@@ -523,6 +529,7 @@ void near ScrollUp(map_view_t *mv, player_t *player, word id, word plid)
523529 // vga_restore_rm0wm0();
524530 /* Snap the origin backward */
525531 mv[id].page->data -= mv[id].page->pi;
532+ mv[id].page->pattern_ofs -= mv[id].page->pi;
526533 mv[id].page->dy = mv[0].map->tiles->tileWidth;
527534 }
528535 }
@@ -540,6 +547,7 @@ void near ScrollDown(map_view_t *mv, player_t *player, word id, word plid)
540547 // vga_restore_rm0wm0();
541548 /* Snap the origin forward */
542549 mv[id].page->data += mv[id].page->pi;
550+ mv[id].page->pattern_ofs += mv[id].page->pi;
543551 mv[id].page->dy = mv[0].map->tiles->tileWidth;
544552 }
545553 }
--- a/src/lib/typdefst.h
+++ b/src/lib/typdefst.h
@@ -82,6 +82,7 @@ typedef struct {
8282 sword tilemidposscreeny; /* middle tile position */
8383 sword tileplayerposscreenx; /* player position on screen */
8484 sword tileplayerposscreeny; /* player position on screen */
85+ uint16_t pattern_ofs; /* doslib vga patter offset www */
8586 word stridew; /*width/4*/
8687 word pagesize; /* page size */
8788 word pi; /* incremention page by this much to preserve location */