diff --git a/polymer/eduke32/build/src/build.c b/polymer/eduke32/build/src/build.c index a5092aa53..9542cc6c1 100644 --- a/polymer/eduke32/build/src/build.c +++ b/polymer/eduke32/build/src/build.c @@ -10271,9 +10271,10 @@ void showspritedata(int16_t spritenum, int16_t small) DOPRINT(48, "Flags (hex): %x", TrackerCast(spr->cstat)); DOPRINT(56, "Shade: %d", TrackerCast(spr->shade)); DOPRINT(64, "Pal: %d", TrackerCast(spr->pal)); - DOPRINT(72, "(X,Y)repeat: %d, %d", TrackerCast(spr->xrepeat), TrackerCast(spr->yrepeat)); - DOPRINT(80, "(X,Y)offset: %d, %d", TrackerCast(spr->xoffset), TrackerCast(spr->yoffset)); - DOPRINT(88, "Tile number: %d", TrackerCast(spr->picnum)); + DOPRINT(72, "Blend: %d", TrackerCast(spr->blend)); + DOPRINT(80, "(X,Y)repeat: %d, %d", TrackerCast(spr->xrepeat), TrackerCast(spr->yrepeat)); + DOPRINT(88, "(X,Y)offset: %d, %d", TrackerCast(spr->xoffset), TrackerCast(spr->yoffset)); + DOPRINT(96, "Tile number: %d", TrackerCast(spr->picnum)); col++; diff --git a/polymer/eduke32/source/astub.c b/polymer/eduke32/source/astub.c index 20ac19186..34e425aa6 100644 --- a/polymer/eduke32/source/astub.c +++ b/polymer/eduke32/source/astub.c @@ -7466,12 +7466,14 @@ static void DoSpriteSearch(int32_t dir) // <0: backwards, >=0: forwards gs_cursprite &= (MAXSPRITES-1); } - if (sprite[gs_cursprite].statnum == MAXSTATUS) continue; + if (sprite[gs_cursprite].statnum == MAXSTATUS) + continue; for (i=0; i<3; i++) - for (j=0; i==1 ? j<6 : j<7; j++) + for (j=0; j<7; j++) { - if (!gs_spriteTagInterested[i][j]) continue; + if (!gs_spriteTagInterested[i][j]) + continue; if (i==0) { @@ -7492,23 +7494,24 @@ static void DoSpriteSearch(int32_t dir) // <0: backwards, >=0: forwards { case 0: k = sprite[gs_cursprite].cstat; - k &= gs_spriteTagValue[1][0]; + k &= gs_spriteTagValue[1][j]; break; case 1: k = sprite[gs_cursprite].shade; break; case 2: k = sprite[gs_cursprite].pal; break; - case 3: - k = gs_spriteTagValue[1][3]; + case 3: k = sprite[gs_cursprite].blend; break; + case 4: + k = gs_spriteTagValue[1][j]; if (k != sprite[gs_cursprite].xrepeat && k != sprite[gs_cursprite].yrepeat) goto NEXTSPRITE; break; - case 4: - k = gs_spriteTagValue[1][4]; + case 5: + k = gs_spriteTagValue[1][j]; if (k != sprite[gs_cursprite].xoffset && k != sprite[gs_cursprite].yoffset) goto NEXTSPRITE; break; - case 5: k = sprite[gs_cursprite].picnum; break; + case 6: k = sprite[gs_cursprite].picnum; break; } } else if (i==2) @@ -7525,7 +7528,8 @@ static void DoSpriteSearch(int32_t dir) // <0: backwards, >=0: forwards } } - if (k != gs_spriteTagValue[i][j]) goto NEXTSPRITE; + if (k != gs_spriteTagValue[i][j]) + goto NEXTSPRITE; } // found matching sprite @@ -12579,7 +12583,7 @@ static void EditSpriteData(int16_t spritenum) med_printcurline(xpos, ypos, row, 0); col = 1; xpos = 208; - rowmax = 5; + rowmax = 6; med_dispwidth = 24; med_disptext[med_dispwidth] = 0; if (row > rowmax) row = rowmax; @@ -12596,7 +12600,7 @@ static void EditSpriteData(int16_t spritenum) med_printcurline(xpos, ypos, row, 0); col = 1; xpos = 208; - rowmax = 5; + rowmax = 6; med_dispwidth = 24; med_disptext[med_dispwidth] = 0; if (row > rowmax) row = rowmax; @@ -12674,6 +12678,10 @@ static void EditSpriteData(int16_t spritenum) sizeof(sprite[spritenum].pal), M32_MAXPALOOKUPS, 0); break; case 3: + handlemed(0, "Blend", "Blend", &sprite[spritenum].blend, + sizeof(sprite[spritenum].blend), MAXBLENDTABS, 0); + break; + case 4: { Bsprintf_nowarn_return(i, med_disptext,"(X,Y)repeat: %d, %d", TrackerCast(sprite[spritenum].xrepeat),TrackerCast(sprite[spritenum].yrepeat)); @@ -12689,7 +12697,7 @@ static void EditSpriteData(int16_t spritenum) } } break; - case 4: + case 5: { Bsprintf_nowarn_return(i, med_disptext,"(X,Y)offset: %d, %d", TrackerCast(sprite[spritenum].xoffset),TrackerCast(sprite[spritenum].yoffset)); @@ -12705,7 +12713,7 @@ static void EditSpriteData(int16_t spritenum) } } break; - case 5: + case 6: handlemed(0, "Tile number", "Tile number", &sprite[spritenum].picnum, sizeof(sprite[spritenum].picnum), MAXTILES-1, 0+2); break; @@ -12773,7 +12781,7 @@ static void GenericSpriteSearch(void) char edittext[80]; static int32_t col=0, row=0; int32_t i, j, k; - int32_t rowmax[3]= {6,5,6}, dispwidth[3] = {24,24,28}; + int32_t rowmax[3]= {6,6,6}, dispwidth[3] = {24,24,28}; int32_t xpos[3] = {8,200,400}, ypos = ydim-STATUS2DSIZ+48; static const char *labels[7][3] = @@ -12781,10 +12789,10 @@ static void GenericSpriteSearch(void) {"X-coordinate", "Flags (hex)", "Angle (2048 degrees)"}, {"Y-coordinate", "Shade", "X-Velocity"}, {"Z-coordinate", "Pal", "Y-Velocity"}, - {"Sectnum", "(X/Y)repeat", "Z-Velocity"}, - {"Statnum", "(X/Y)offset", "Owner"}, - {"Hitag", "Tile number", "Clipdist"}, - {"Lotag", "", "Extra"} + {"Sectnum", "Blend", "Z-Velocity"}, + {"Statnum", "(X/Y)repeat", "Owner"}, + {"Hitag", "(X/Y)offset", "Clipdist"}, + {"Lotag", "Tile number", "Extra"} }; static int32_t maxval[7][3] = @@ -12792,10 +12800,10 @@ static void GenericSpriteSearch(void) { BXY_MAX , 65535 , 2048 }, { BXY_MAX , 128 , 65535 }, { BZ_MAX , M32_MAXPALOOKUPS, 65535 }, - { MAXSECTORS-1, 128 , 65535 }, + { MAXSECTORS-1, MAXBLENDTABS-1, 65535 }, { MAXSTATUS-1 , 128 , MAXSPRITES-1 }, - { BTAG_MAX , MAXTILES-1 , 256 }, - { BTAG_MAX , 0 , BTAG_MAX } + { BTAG_MAX , 128 , 256 }, + { BTAG_MAX , MAXTILES-1 , BTAG_MAX } }; static char sign[7][3] = @@ -12804,9 +12812,9 @@ static void GenericSpriteSearch(void) {1, 1, 1}, {1, 0, 1}, {0, 0, 1}, - {0, 1, 0}, - {0+4, 0+2, 0}, - {0+4, 0, 1} + {0, 0, 0}, + {0+4, 1, 0}, + {0+4, 0+2, 1} }; clearmidstatbar16(); @@ -12888,7 +12896,7 @@ static void GenericSpriteSearch(void) gs_spriteTagValue[col][row] = i; gs_spriteTagInterested[col][row] = 1; - if (col == 1 && row == 5) // picnum + if (col == 1 && row == 6) // picnum { printext16(xpos[1], ypos-2*8, editorcolors[14], editorcolors[0], TWENTYFIVE_BLANKS, 0); if (names[i][0]) @@ -12899,7 +12907,7 @@ static void GenericSpriteSearch(void) { gs_spriteTagInterested[col][row] = 0; - if (col == 1 && row == 5) // picnum + if (col == 1 && row == 6) // picnum printext16(xpos[1], ypos-2*8, editorcolors[14], editorcolors[0], TWENTYFIVE_BLANKS, 0); }