Advertisement
ZoriaRPG

More Mapdata FFC Fixes

Oct 26th, 2018
212
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 5.34 KB | None | 0 0
  1. ///getter
  2.  
  3. case MAPDATAFFWIDTH:       
  4. {
  5.     if ( ri->mapsref == LONG_MAX || ri->mapsref == 0 )
  6.     {
  7.         Z_scripterrlog("Mapdata->%s pointer is either invalid or uninitialised","FFCTileWidth[]");
  8.         ret = -10000;
  9.     }
  10.     else
  11.     {
  12.         mapscr *m = &TheMaps[ri->mapsref];
  13.         int indx = (ri->d[0] / 10000)-1;
  14.         if ( indx < 0 || indx > 32 )
  15.         {
  16.             Z_scripterrlog("Invalid FFC Index passed to MapData->FFCTileWidth[]: %d\n", indx+1);
  17.             ret = -10000;
  18.             break;
  19.         }
  20.        
  21.         ret=((m->ffwidth[indx]>>6)+1)*10000;
  22.        
  23.        
  24.         break;
  25.     }
  26. }  
  27.  
  28.  
  29. //GET_MAPDATA_BYTE_INDEX(ffwidth, "FFCTileWidth");  //B, 32 OF THESE
  30. case MAPDATAFFHEIGHT:      
  31. {
  32.     if ( ri->mapsref == LONG_MAX || ri->mapsref == 0 )
  33.     {
  34.         Z_scripterrlog("Mapdata->%s pointer is either invalid or uninitialised","FFCTileHeight[]");
  35.         ret = -10000;
  36.     }
  37.     else
  38.     {
  39.         mapscr *m = &TheMaps[ri->mapsref];
  40.         int indx = (ri->d[0] / 10000)-1;
  41.         if ( indx < 0 || indx > 32 )
  42.         {
  43.             Z_scripterrlog("Invalid FFC Index passed to MapData->FFCTileHeight[]: %d\n", indx+1);
  44.             ret = -10000;
  45.             break;
  46.         }
  47.         ret=((m->ffheight[indx]>>6)+1)*10000;
  48.         break;
  49.     }
  50.    
  51. }
  52.  
  53. //EffectWidth tmpscr->ffwidth[ri->ffcref]= (tmpscr->ffwidth[ri->ffcref]&63) | ((((value/10000)-1)&3)<<6);
  54.  
  55. //GET_MAPDATA_BYTE_INDEX(ffheight, "FFCTileHeight"  //B, 32 OF THESE
  56. case MAPDATAFFEFFECTWIDTH:     
  57. {
  58.     if ( ri->mapsref == LONG_MAX || ri->mapsref == 0 )
  59.     {
  60.         Z_scripterrlog("Mapdata->%s pointer is either invalid or uninitialised","FFCEffectWidth[]");
  61.         ret = -10000;
  62.     }
  63.     else
  64.     {
  65.         mapscr *m = &TheMaps[ri->mapsref];
  66.         int indx = (ri->d[0] / 10000)-1;
  67.         if ( indx < 0 || indx > 32 )
  68.         {
  69.             Z_scripterrlog("Invalid FFC Index passed to MapData->FFCEffectWidth[]: %d\n", indx+1);
  70.             ret = -10000;
  71.             break;
  72.         }
  73.         ret=((m->ffwidth[indx]&0x3F)+1)*10000;
  74.         break;
  75.     }
  76. }
  77.  
  78.  
  79. //GET_MAPDATA_BYTE_INDEX(ffwidth, "FFCEffectWidth");    //B, 32 OF THESE
  80. case MAPDATAFFEFFECTHEIGHT:
  81. {
  82.     if ( ri->mapsref == LONG_MAX || ri->mapsref == 0 )
  83.     {
  84.         Z_scripterrlog("Mapdata->%s pointer is either invalid or uninitialised","FFCEffectHeight[]");
  85.         ret = -10000;
  86.     }
  87.     else
  88.     {
  89.         mapscr *m = &TheMaps[ri->mapsref];
  90.         int indx = (ri->d[0] / 10000)-1;
  91.         if ( indx < 0 || indx > 32 )
  92.         {
  93.             Z_scripterrlog("Invalid FFC Index passed to MapData->FFCEffectHeight[]: %d\n", indx+1);
  94.             ret = -10000;
  95.             break;
  96.         }
  97.         ret=((m->ffheight[indx]&0x3F)+1)*10000;
  98.        
  99.         break;
  100.     }
  101. }
  102.  
  103.  
  104.  
  105. //setter
  106.  
  107. case MAPDATAFFWIDTH:       
  108. {
  109.     if ( ri->mapsref == LONG_MAX || ri->mapsref == 0 )
  110.     {
  111.         Z_scripterrlog("Mapdata->%s pointer is either invalid or uninitialised","FFCTileWidth[]");
  112.         break;
  113.     }
  114.     else
  115.     {
  116.     mapscr *m = &TheMaps[ri->mapsref];
  117.     int indx = (ri->d[0] / 10000)-1;
  118.         if ( indx < 0 || indx > 32 )
  119.         {
  120.             Z_scripterrlog("Invalid FFC Index passed to MapData->FFCTileWidth[]: %d\n", indx+1);
  121.             break;
  122.         }
  123.         if ( (value/10000) < 0 || (value/10000) > 4 )
  124.         {
  125.             Z_scripterrlog("Invalid WIDTH value passed to MapData->FFCTileWidth[]: %d\n", value/10000);
  126.             break;
  127.         }
  128.         m->ffwidth[indx]= (m->ffwidth[indx]&63) | ((((value/10000)-1)&3)<<6);
  129.    
  130.         break;
  131.     }
  132. }  
  133.  
  134.  
  135. //SET_MAPDATA_BYTE_INDEX(ffwidth, "FFCTileWidth");  //B, 32 OF THESE
  136. case MAPDATAFFHEIGHT:      
  137. {
  138.     if ( ri->mapsref == LONG_MAX || ri->mapsref == 0 )
  139.     {
  140.         Z_scripterrlog("Mapdata->%s pointer is either invalid or uninitialised","FFCTileHeight[]");
  141.         break;
  142.     }
  143.     else
  144.     {
  145.         mapscr *m = &TheMaps[ri->mapsref];
  146.         int (ri->d[0] / 10000)-1;
  147.         if ( indx < 0 || indx > 31 )
  148.         {
  149.             Z_scripterrlog("Invalid FFC Index passed to MapData->FFCTileHeight[]: %d\n", indx+1);
  150.             break;
  151.         }
  152.         if ( (value/10000) < 0 || (value/10000) > 4 )
  153.         {
  154.             Z_scripterrlog("Invalid WIDTH value passed to MapData->FFCTileHeight[]: %d\n", value/10000);
  155.             break;
  156.         }
  157.         m->ffheight[indx]=(m->ffheight[indx]&63) | ((((value/10000)-1)&3)<<6);
  158.         break;
  159.     }
  160.    
  161. }
  162.  
  163. //EffectWidth tmpscr->ffwidth[ri->ffcref]= (tmpscr->ffwidth[ri->ffcref]&63) | ((((value/10000)-1)&3)<<6);
  164.  
  165. //SET_MAPDATA_BYTE_INDEX(ffheight, "FFCTileHeight"  //B, 32 OF THESE
  166. case MAPDATAFFEFFECTWIDTH:     
  167. {
  168.     if ( ri->mapsref == LONG_MAX || ri->mapsref == 0 )
  169.     {
  170.         Z_scripterrlog("Mapdata->%s pointer is either invalid or uninitialised","FFCEffectWidth[]");
  171.         break;
  172.     }
  173.     else
  174.     {
  175.         mapscr *m = &TheMaps[ri->mapsref];
  176.         int (ri->d[0] / 10000)-1;
  177.         if ( indx < 0 || indx > 31 )
  178.         {
  179.             Z_scripterrlog("Invalid FFC Index passed to MapData->FFCEffectWidth[]: %d\n", indx+1);
  180.             break;
  181.         }
  182.         if ( (value/10000) < 0 )
  183.         {
  184.             Z_scripterrlog("Invalid WIDTH value passed to MapData->FFCEffectWidth[]: %d\n", value/10000);
  185.             break;
  186.         }
  187.         m->ffwidth[indx]= (m->ffwidth[indx] & ~63) | (((value/10000)-1)&63);
  188.         break;
  189.     }
  190. }
  191.  
  192.  
  193. //SET_MAPDATA_BYTE_INDEX(ffwidth, "FFCEffectWidth");    //B, 32 OF THESE
  194. case MAPDATAFFEFFECTHEIGHT:
  195. {
  196.     if ( ri->mapsref == LONG_MAX || ri->mapsref == 0 )
  197.     {
  198.         Z_scripterrlog("Mapdata->%s pointer is either invalid or uninitialised","FFCEffectHeight[]");
  199.         break;
  200.     }
  201.     else
  202.     {
  203.         mapscr *m = &TheMaps[ri->mapsref];
  204.         int indx = (ri->d[0] / 10000)-1;
  205.         if ( indx < 0 || indx > 31 )
  206.         {
  207.             Z_scripterrlog("Invalid FFC Index passed to MapData->FFCEffectHeight[]: %d\n", indx+1);
  208.             break;
  209.         }
  210.         if ( (value/10000) < 0 )
  211.         {
  212.             Z_scripterrlog("Invalid HEIGHT value passed to MapData->FFCEffectHeight[]: %d\n", value/10000);
  213.             break;
  214.         }
  215.         m->ffheight[indx]= (m->ffheight[indx] & ~63) | (((value/10000)-1)&63);
  216.         break;
  217.     }
  218. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement