src/video/SDL_blit_auto.c
changeset 7502 6ff02ff3cf06
parent 6885 700f1b25f77f
child 8093 b43765095a6f
     1.1 --- a/src/video/SDL_blit_auto.c	Mon Jul 22 02:51:45 2013 -0700
     1.2 +++ b/src/video/SDL_blit_auto.c	Tue Jul 23 08:06:49 2013 -0700
     1.3 @@ -95,6 +95,7 @@
     1.4                  dstR = srcR + ((255 - srcA) * dstR) / 255;
     1.5                  dstG = srcG + ((255 - srcA) * dstG) / 255;
     1.6                  dstB = srcB + ((255 - srcA) * dstB) / 255;
     1.7 +                dstA = srcA + ((255 - srcA) * dstA) / 255;
     1.8                  break;
     1.9              case SDL_COPY_ADD:
    1.10                  dstR = srcR + dstR; if (dstR > 255) dstR = 255;
    1.11 @@ -168,6 +169,7 @@
    1.12                  dstR = srcR + ((255 - srcA) * dstR) / 255;
    1.13                  dstG = srcG + ((255 - srcA) * dstG) / 255;
    1.14                  dstB = srcB + ((255 - srcA) * dstB) / 255;
    1.15 +                dstA = srcA + ((255 - srcA) * dstA) / 255;
    1.16                  break;
    1.17              case SDL_COPY_ADD:
    1.18                  dstR = srcR + dstR; if (dstR > 255) dstR = 255;
    1.19 @@ -323,6 +325,7 @@
    1.20                  dstR = srcR + ((255 - srcA) * dstR) / 255;
    1.21                  dstG = srcG + ((255 - srcA) * dstG) / 255;
    1.22                  dstB = srcB + ((255 - srcA) * dstB) / 255;
    1.23 +                dstA = srcA + ((255 - srcA) * dstA) / 255;
    1.24                  break;
    1.25              case SDL_COPY_ADD:
    1.26                  dstR = srcR + dstR; if (dstR > 255) dstR = 255;
    1.27 @@ -408,6 +411,7 @@
    1.28                  dstR = srcR + ((255 - srcA) * dstR) / 255;
    1.29                  dstG = srcG + ((255 - srcA) * dstG) / 255;
    1.30                  dstB = srcB + ((255 - srcA) * dstB) / 255;
    1.31 +                dstA = srcA + ((255 - srcA) * dstA) / 255;
    1.32                  break;
    1.33              case SDL_COPY_ADD:
    1.34                  dstR = srcR + dstR; if (dstR > 255) dstR = 255;
    1.35 @@ -503,6 +507,7 @@
    1.36                  dstR = srcR + ((255 - srcA) * dstR) / 255;
    1.37                  dstG = srcG + ((255 - srcA) * dstG) / 255;
    1.38                  dstB = srcB + ((255 - srcA) * dstB) / 255;
    1.39 +                dstA = srcA + ((255 - srcA) * dstA) / 255;
    1.40                  break;
    1.41              case SDL_COPY_ADD:
    1.42                  dstR = srcR + dstR; if (dstR > 255) dstR = 255;
    1.43 @@ -576,6 +581,7 @@
    1.44                  dstR = srcR + ((255 - srcA) * dstR) / 255;
    1.45                  dstG = srcG + ((255 - srcA) * dstG) / 255;
    1.46                  dstB = srcB + ((255 - srcA) * dstB) / 255;
    1.47 +                dstA = srcA + ((255 - srcA) * dstA) / 255;
    1.48                  break;
    1.49              case SDL_COPY_ADD:
    1.50                  dstR = srcR + dstR; if (dstR > 255) dstR = 255;
    1.51 @@ -731,6 +737,7 @@
    1.52                  dstR = srcR + ((255 - srcA) * dstR) / 255;
    1.53                  dstG = srcG + ((255 - srcA) * dstG) / 255;
    1.54                  dstB = srcB + ((255 - srcA) * dstB) / 255;
    1.55 +                dstA = srcA + ((255 - srcA) * dstA) / 255;
    1.56                  break;
    1.57              case SDL_COPY_ADD:
    1.58                  dstR = srcR + dstR; if (dstR > 255) dstR = 255;
    1.59 @@ -816,6 +823,7 @@
    1.60                  dstR = srcR + ((255 - srcA) * dstR) / 255;
    1.61                  dstG = srcG + ((255 - srcA) * dstG) / 255;
    1.62                  dstB = srcB + ((255 - srcA) * dstB) / 255;
    1.63 +                dstA = srcA + ((255 - srcA) * dstA) / 255;
    1.64                  break;
    1.65              case SDL_COPY_ADD:
    1.66                  dstR = srcR + dstR; if (dstR > 255) dstR = 255;
    1.67 @@ -911,6 +919,7 @@
    1.68                  dstR = srcR + ((255 - srcA) * dstR) / 255;
    1.69                  dstG = srcG + ((255 - srcA) * dstG) / 255;
    1.70                  dstB = srcB + ((255 - srcA) * dstB) / 255;
    1.71 +                dstA = srcA + ((255 - srcA) * dstA) / 255;
    1.72                  break;
    1.73              case SDL_COPY_ADD:
    1.74                  dstR = srcR + dstR; if (dstR > 255) dstR = 255;
    1.75 @@ -984,6 +993,7 @@
    1.76                  dstR = srcR + ((255 - srcA) * dstR) / 255;
    1.77                  dstG = srcG + ((255 - srcA) * dstG) / 255;
    1.78                  dstB = srcB + ((255 - srcA) * dstB) / 255;
    1.79 +                dstA = srcA + ((255 - srcA) * dstA) / 255;
    1.80                  break;
    1.81              case SDL_COPY_ADD:
    1.82                  dstR = srcR + dstR; if (dstR > 255) dstR = 255;
    1.83 @@ -1139,6 +1149,7 @@
    1.84                  dstR = srcR + ((255 - srcA) * dstR) / 255;
    1.85                  dstG = srcG + ((255 - srcA) * dstG) / 255;
    1.86                  dstB = srcB + ((255 - srcA) * dstB) / 255;
    1.87 +                dstA = srcA + ((255 - srcA) * dstA) / 255;
    1.88                  break;
    1.89              case SDL_COPY_ADD:
    1.90                  dstR = srcR + dstR; if (dstR > 255) dstR = 255;
    1.91 @@ -1224,6 +1235,7 @@
    1.92                  dstR = srcR + ((255 - srcA) * dstR) / 255;
    1.93                  dstG = srcG + ((255 - srcA) * dstG) / 255;
    1.94                  dstB = srcB + ((255 - srcA) * dstB) / 255;
    1.95 +                dstA = srcA + ((255 - srcA) * dstA) / 255;
    1.96                  break;
    1.97              case SDL_COPY_ADD:
    1.98                  dstR = srcR + dstR; if (dstR > 255) dstR = 255;
    1.99 @@ -1319,6 +1331,7 @@
   1.100                  dstR = srcR + ((255 - srcA) * dstR) / 255;
   1.101                  dstG = srcG + ((255 - srcA) * dstG) / 255;
   1.102                  dstB = srcB + ((255 - srcA) * dstB) / 255;
   1.103 +                dstA = srcA + ((255 - srcA) * dstA) / 255;
   1.104                  break;
   1.105              case SDL_COPY_ADD:
   1.106                  dstR = srcR + dstR; if (dstR > 255) dstR = 255;
   1.107 @@ -1392,6 +1405,7 @@
   1.108                  dstR = srcR + ((255 - srcA) * dstR) / 255;
   1.109                  dstG = srcG + ((255 - srcA) * dstG) / 255;
   1.110                  dstB = srcB + ((255 - srcA) * dstB) / 255;
   1.111 +                dstA = srcA + ((255 - srcA) * dstA) / 255;
   1.112                  break;
   1.113              case SDL_COPY_ADD:
   1.114                  dstR = srcR + dstR; if (dstR > 255) dstR = 255;
   1.115 @@ -1547,6 +1561,7 @@
   1.116                  dstR = srcR + ((255 - srcA) * dstR) / 255;
   1.117                  dstG = srcG + ((255 - srcA) * dstG) / 255;
   1.118                  dstB = srcB + ((255 - srcA) * dstB) / 255;
   1.119 +                dstA = srcA + ((255 - srcA) * dstA) / 255;
   1.120                  break;
   1.121              case SDL_COPY_ADD:
   1.122                  dstR = srcR + dstR; if (dstR > 255) dstR = 255;
   1.123 @@ -1632,6 +1647,7 @@
   1.124                  dstR = srcR + ((255 - srcA) * dstR) / 255;
   1.125                  dstG = srcG + ((255 - srcA) * dstG) / 255;
   1.126                  dstB = srcB + ((255 - srcA) * dstB) / 255;
   1.127 +                dstA = srcA + ((255 - srcA) * dstA) / 255;
   1.128                  break;
   1.129              case SDL_COPY_ADD:
   1.130                  dstR = srcR + dstR; if (dstR > 255) dstR = 255;
   1.131 @@ -1722,6 +1738,7 @@
   1.132                  dstR = srcR + ((255 - srcA) * dstR) / 255;
   1.133                  dstG = srcG + ((255 - srcA) * dstG) / 255;
   1.134                  dstB = srcB + ((255 - srcA) * dstB) / 255;
   1.135 +                dstA = srcA + ((255 - srcA) * dstA) / 255;
   1.136                  break;
   1.137              case SDL_COPY_ADD:
   1.138                  dstR = srcR + dstR; if (dstR > 255) dstR = 255;
   1.139 @@ -1795,6 +1812,7 @@
   1.140                  dstR = srcR + ((255 - srcA) * dstR) / 255;
   1.141                  dstG = srcG + ((255 - srcA) * dstG) / 255;
   1.142                  dstB = srcB + ((255 - srcA) * dstB) / 255;
   1.143 +                dstA = srcA + ((255 - srcA) * dstA) / 255;
   1.144                  break;
   1.145              case SDL_COPY_ADD:
   1.146                  dstR = srcR + dstR; if (dstR > 255) dstR = 255;
   1.147 @@ -1950,6 +1968,7 @@
   1.148                  dstR = srcR + ((255 - srcA) * dstR) / 255;
   1.149                  dstG = srcG + ((255 - srcA) * dstG) / 255;
   1.150                  dstB = srcB + ((255 - srcA) * dstB) / 255;
   1.151 +                dstA = srcA + ((255 - srcA) * dstA) / 255;
   1.152                  break;
   1.153              case SDL_COPY_ADD:
   1.154                  dstR = srcR + dstR; if (dstR > 255) dstR = 255;
   1.155 @@ -2035,6 +2054,7 @@
   1.156                  dstR = srcR + ((255 - srcA) * dstR) / 255;
   1.157                  dstG = srcG + ((255 - srcA) * dstG) / 255;
   1.158                  dstB = srcB + ((255 - srcA) * dstB) / 255;
   1.159 +                dstA = srcA + ((255 - srcA) * dstA) / 255;
   1.160                  break;
   1.161              case SDL_COPY_ADD:
   1.162                  dstR = srcR + dstR; if (dstR > 255) dstR = 255;
   1.163 @@ -2130,6 +2150,7 @@
   1.164                  dstR = srcR + ((255 - srcA) * dstR) / 255;
   1.165                  dstG = srcG + ((255 - srcA) * dstG) / 255;
   1.166                  dstB = srcB + ((255 - srcA) * dstB) / 255;
   1.167 +                dstA = srcA + ((255 - srcA) * dstA) / 255;
   1.168                  break;
   1.169              case SDL_COPY_ADD:
   1.170                  dstR = srcR + dstR; if (dstR > 255) dstR = 255;
   1.171 @@ -2203,6 +2224,7 @@
   1.172                  dstR = srcR + ((255 - srcA) * dstR) / 255;
   1.173                  dstG = srcG + ((255 - srcA) * dstG) / 255;
   1.174                  dstB = srcB + ((255 - srcA) * dstB) / 255;
   1.175 +                dstA = srcA + ((255 - srcA) * dstA) / 255;
   1.176                  break;
   1.177              case SDL_COPY_ADD:
   1.178                  dstR = srcR + dstR; if (dstR > 255) dstR = 255;
   1.179 @@ -2358,6 +2380,7 @@
   1.180                  dstR = srcR + ((255 - srcA) * dstR) / 255;
   1.181                  dstG = srcG + ((255 - srcA) * dstG) / 255;
   1.182                  dstB = srcB + ((255 - srcA) * dstB) / 255;
   1.183 +                dstA = srcA + ((255 - srcA) * dstA) / 255;
   1.184                  break;
   1.185              case SDL_COPY_ADD:
   1.186                  dstR = srcR + dstR; if (dstR > 255) dstR = 255;
   1.187 @@ -2443,6 +2466,7 @@
   1.188                  dstR = srcR + ((255 - srcA) * dstR) / 255;
   1.189                  dstG = srcG + ((255 - srcA) * dstG) / 255;
   1.190                  dstB = srcB + ((255 - srcA) * dstB) / 255;
   1.191 +                dstA = srcA + ((255 - srcA) * dstA) / 255;
   1.192                  break;
   1.193              case SDL_COPY_ADD:
   1.194                  dstR = srcR + dstR; if (dstR > 255) dstR = 255;
   1.195 @@ -2538,6 +2562,7 @@
   1.196                  dstR = srcR + ((255 - srcA) * dstR) / 255;
   1.197                  dstG = srcG + ((255 - srcA) * dstG) / 255;
   1.198                  dstB = srcB + ((255 - srcA) * dstB) / 255;
   1.199 +                dstA = srcA + ((255 - srcA) * dstA) / 255;
   1.200                  break;
   1.201              case SDL_COPY_ADD:
   1.202                  dstR = srcR + dstR; if (dstR > 255) dstR = 255;
   1.203 @@ -2611,6 +2636,7 @@
   1.204                  dstR = srcR + ((255 - srcA) * dstR) / 255;
   1.205                  dstG = srcG + ((255 - srcA) * dstG) / 255;
   1.206                  dstB = srcB + ((255 - srcA) * dstB) / 255;
   1.207 +                dstA = srcA + ((255 - srcA) * dstA) / 255;
   1.208                  break;
   1.209              case SDL_COPY_ADD:
   1.210                  dstR = srcR + dstR; if (dstR > 255) dstR = 255;
   1.211 @@ -2766,6 +2792,7 @@
   1.212                  dstR = srcR + ((255 - srcA) * dstR) / 255;
   1.213                  dstG = srcG + ((255 - srcA) * dstG) / 255;
   1.214                  dstB = srcB + ((255 - srcA) * dstB) / 255;
   1.215 +                dstA = srcA + ((255 - srcA) * dstA) / 255;
   1.216                  break;
   1.217              case SDL_COPY_ADD:
   1.218                  dstR = srcR + dstR; if (dstR > 255) dstR = 255;
   1.219 @@ -2851,6 +2878,7 @@
   1.220                  dstR = srcR + ((255 - srcA) * dstR) / 255;
   1.221                  dstG = srcG + ((255 - srcA) * dstG) / 255;
   1.222                  dstB = srcB + ((255 - srcA) * dstB) / 255;
   1.223 +                dstA = srcA + ((255 - srcA) * dstA) / 255;
   1.224                  break;
   1.225              case SDL_COPY_ADD:
   1.226                  dstR = srcR + dstR; if (dstR > 255) dstR = 255;
   1.227 @@ -2946,6 +2974,7 @@
   1.228                  dstR = srcR + ((255 - srcA) * dstR) / 255;
   1.229                  dstG = srcG + ((255 - srcA) * dstG) / 255;
   1.230                  dstB = srcB + ((255 - srcA) * dstB) / 255;
   1.231 +                dstA = srcA + ((255 - srcA) * dstA) / 255;
   1.232                  break;
   1.233              case SDL_COPY_ADD:
   1.234                  dstR = srcR + dstR; if (dstR > 255) dstR = 255;
   1.235 @@ -3019,6 +3048,7 @@
   1.236                  dstR = srcR + ((255 - srcA) * dstR) / 255;
   1.237                  dstG = srcG + ((255 - srcA) * dstG) / 255;
   1.238                  dstB = srcB + ((255 - srcA) * dstB) / 255;
   1.239 +                dstA = srcA + ((255 - srcA) * dstA) / 255;
   1.240                  break;
   1.241              case SDL_COPY_ADD:
   1.242                  dstR = srcR + dstR; if (dstR > 255) dstR = 255;
   1.243 @@ -3174,6 +3204,7 @@
   1.244                  dstR = srcR + ((255 - srcA) * dstR) / 255;
   1.245                  dstG = srcG + ((255 - srcA) * dstG) / 255;
   1.246                  dstB = srcB + ((255 - srcA) * dstB) / 255;
   1.247 +                dstA = srcA + ((255 - srcA) * dstA) / 255;
   1.248                  break;
   1.249              case SDL_COPY_ADD:
   1.250                  dstR = srcR + dstR; if (dstR > 255) dstR = 255;
   1.251 @@ -3259,6 +3290,7 @@
   1.252                  dstR = srcR + ((255 - srcA) * dstR) / 255;
   1.253                  dstG = srcG + ((255 - srcA) * dstG) / 255;
   1.254                  dstB = srcB + ((255 - srcA) * dstB) / 255;
   1.255 +                dstA = srcA + ((255 - srcA) * dstA) / 255;
   1.256                  break;
   1.257              case SDL_COPY_ADD:
   1.258                  dstR = srcR + dstR; if (dstR > 255) dstR = 255;
   1.259 @@ -3349,6 +3381,7 @@
   1.260                  dstR = srcR + ((255 - srcA) * dstR) / 255;
   1.261                  dstG = srcG + ((255 - srcA) * dstG) / 255;
   1.262                  dstB = srcB + ((255 - srcA) * dstB) / 255;
   1.263 +                dstA = srcA + ((255 - srcA) * dstA) / 255;
   1.264                  break;
   1.265              case SDL_COPY_ADD:
   1.266                  dstR = srcR + dstR; if (dstR > 255) dstR = 255;
   1.267 @@ -3422,6 +3455,7 @@
   1.268                  dstR = srcR + ((255 - srcA) * dstR) / 255;
   1.269                  dstG = srcG + ((255 - srcA) * dstG) / 255;
   1.270                  dstB = srcB + ((255 - srcA) * dstB) / 255;
   1.271 +                dstA = srcA + ((255 - srcA) * dstA) / 255;
   1.272                  break;
   1.273              case SDL_COPY_ADD:
   1.274                  dstR = srcR + dstR; if (dstR > 255) dstR = 255;
   1.275 @@ -3577,6 +3611,7 @@
   1.276                  dstR = srcR + ((255 - srcA) * dstR) / 255;
   1.277                  dstG = srcG + ((255 - srcA) * dstG) / 255;
   1.278                  dstB = srcB + ((255 - srcA) * dstB) / 255;
   1.279 +                dstA = srcA + ((255 - srcA) * dstA) / 255;
   1.280                  break;
   1.281              case SDL_COPY_ADD:
   1.282                  dstR = srcR + dstR; if (dstR > 255) dstR = 255;
   1.283 @@ -3662,6 +3697,7 @@
   1.284                  dstR = srcR + ((255 - srcA) * dstR) / 255;
   1.285                  dstG = srcG + ((255 - srcA) * dstG) / 255;
   1.286                  dstB = srcB + ((255 - srcA) * dstB) / 255;
   1.287 +                dstA = srcA + ((255 - srcA) * dstA) / 255;
   1.288                  break;
   1.289              case SDL_COPY_ADD:
   1.290                  dstR = srcR + dstR; if (dstR > 255) dstR = 255;
   1.291 @@ -3757,6 +3793,7 @@
   1.292                  dstR = srcR + ((255 - srcA) * dstR) / 255;
   1.293                  dstG = srcG + ((255 - srcA) * dstG) / 255;
   1.294                  dstB = srcB + ((255 - srcA) * dstB) / 255;
   1.295 +                dstA = srcA + ((255 - srcA) * dstA) / 255;
   1.296                  break;
   1.297              case SDL_COPY_ADD:
   1.298                  dstR = srcR + dstR; if (dstR > 255) dstR = 255;
   1.299 @@ -3830,6 +3867,7 @@
   1.300                  dstR = srcR + ((255 - srcA) * dstR) / 255;
   1.301                  dstG = srcG + ((255 - srcA) * dstG) / 255;
   1.302                  dstB = srcB + ((255 - srcA) * dstB) / 255;
   1.303 +                dstA = srcA + ((255 - srcA) * dstA) / 255;
   1.304                  break;
   1.305              case SDL_COPY_ADD:
   1.306                  dstR = srcR + dstR; if (dstR > 255) dstR = 255;
   1.307 @@ -3985,6 +4023,7 @@
   1.308                  dstR = srcR + ((255 - srcA) * dstR) / 255;
   1.309                  dstG = srcG + ((255 - srcA) * dstG) / 255;
   1.310                  dstB = srcB + ((255 - srcA) * dstB) / 255;
   1.311 +                dstA = srcA + ((255 - srcA) * dstA) / 255;
   1.312                  break;
   1.313              case SDL_COPY_ADD:
   1.314                  dstR = srcR + dstR; if (dstR > 255) dstR = 255;
   1.315 @@ -4070,6 +4109,7 @@
   1.316                  dstR = srcR + ((255 - srcA) * dstR) / 255;
   1.317                  dstG = srcG + ((255 - srcA) * dstG) / 255;
   1.318                  dstB = srcB + ((255 - srcA) * dstB) / 255;
   1.319 +                dstA = srcA + ((255 - srcA) * dstA) / 255;
   1.320                  break;
   1.321              case SDL_COPY_ADD:
   1.322                  dstR = srcR + dstR; if (dstR > 255) dstR = 255;
   1.323 @@ -4165,6 +4205,7 @@
   1.324                  dstR = srcR + ((255 - srcA) * dstR) / 255;
   1.325                  dstG = srcG + ((255 - srcA) * dstG) / 255;
   1.326                  dstB = srcB + ((255 - srcA) * dstB) / 255;
   1.327 +                dstA = srcA + ((255 - srcA) * dstA) / 255;
   1.328                  break;
   1.329              case SDL_COPY_ADD:
   1.330                  dstR = srcR + dstR; if (dstR > 255) dstR = 255;
   1.331 @@ -4238,6 +4279,7 @@
   1.332                  dstR = srcR + ((255 - srcA) * dstR) / 255;
   1.333                  dstG = srcG + ((255 - srcA) * dstG) / 255;
   1.334                  dstB = srcB + ((255 - srcA) * dstB) / 255;
   1.335 +                dstA = srcA + ((255 - srcA) * dstA) / 255;
   1.336                  break;
   1.337              case SDL_COPY_ADD:
   1.338                  dstR = srcR + dstR; if (dstR > 255) dstR = 255;
   1.339 @@ -4393,6 +4435,7 @@
   1.340                  dstR = srcR + ((255 - srcA) * dstR) / 255;
   1.341                  dstG = srcG + ((255 - srcA) * dstG) / 255;
   1.342                  dstB = srcB + ((255 - srcA) * dstB) / 255;
   1.343 +                dstA = srcA + ((255 - srcA) * dstA) / 255;
   1.344                  break;
   1.345              case SDL_COPY_ADD:
   1.346                  dstR = srcR + dstR; if (dstR > 255) dstR = 255;
   1.347 @@ -4478,6 +4521,7 @@
   1.348                  dstR = srcR + ((255 - srcA) * dstR) / 255;
   1.349                  dstG = srcG + ((255 - srcA) * dstG) / 255;
   1.350                  dstB = srcB + ((255 - srcA) * dstB) / 255;
   1.351 +                dstA = srcA + ((255 - srcA) * dstA) / 255;
   1.352                  break;
   1.353              case SDL_COPY_ADD:
   1.354                  dstR = srcR + dstR; if (dstR > 255) dstR = 255;
   1.355 @@ -4573,6 +4617,7 @@
   1.356                  dstR = srcR + ((255 - srcA) * dstR) / 255;
   1.357                  dstG = srcG + ((255 - srcA) * dstG) / 255;
   1.358                  dstB = srcB + ((255 - srcA) * dstB) / 255;
   1.359 +                dstA = srcA + ((255 - srcA) * dstA) / 255;
   1.360                  break;
   1.361              case SDL_COPY_ADD:
   1.362                  dstR = srcR + dstR; if (dstR > 255) dstR = 255;
   1.363 @@ -4646,6 +4691,7 @@
   1.364                  dstR = srcR + ((255 - srcA) * dstR) / 255;
   1.365                  dstG = srcG + ((255 - srcA) * dstG) / 255;
   1.366                  dstB = srcB + ((255 - srcA) * dstB) / 255;
   1.367 +                dstA = srcA + ((255 - srcA) * dstA) / 255;
   1.368                  break;
   1.369              case SDL_COPY_ADD:
   1.370                  dstR = srcR + dstR; if (dstR > 255) dstR = 255;
   1.371 @@ -4801,6 +4847,7 @@
   1.372                  dstR = srcR + ((255 - srcA) * dstR) / 255;
   1.373                  dstG = srcG + ((255 - srcA) * dstG) / 255;
   1.374                  dstB = srcB + ((255 - srcA) * dstB) / 255;
   1.375 +                dstA = srcA + ((255 - srcA) * dstA) / 255;
   1.376                  break;
   1.377              case SDL_COPY_ADD:
   1.378                  dstR = srcR + dstR; if (dstR > 255) dstR = 255;
   1.379 @@ -4886,6 +4933,7 @@
   1.380                  dstR = srcR + ((255 - srcA) * dstR) / 255;
   1.381                  dstG = srcG + ((255 - srcA) * dstG) / 255;
   1.382                  dstB = srcB + ((255 - srcA) * dstB) / 255;
   1.383 +                dstA = srcA + ((255 - srcA) * dstA) / 255;
   1.384                  break;
   1.385              case SDL_COPY_ADD:
   1.386                  dstR = srcR + dstR; if (dstR > 255) dstR = 255;
   1.387 @@ -4981,6 +5029,7 @@
   1.388                  dstR = srcR + ((255 - srcA) * dstR) / 255;
   1.389                  dstG = srcG + ((255 - srcA) * dstG) / 255;
   1.390                  dstB = srcB + ((255 - srcA) * dstB) / 255;
   1.391 +                dstA = srcA + ((255 - srcA) * dstA) / 255;
   1.392                  break;
   1.393              case SDL_COPY_ADD:
   1.394                  dstR = srcR + dstR; if (dstR > 255) dstR = 255;
   1.395 @@ -5054,6 +5103,7 @@
   1.396                  dstR = srcR + ((255 - srcA) * dstR) / 255;
   1.397                  dstG = srcG + ((255 - srcA) * dstG) / 255;
   1.398                  dstB = srcB + ((255 - srcA) * dstB) / 255;
   1.399 +                dstA = srcA + ((255 - srcA) * dstA) / 255;
   1.400                  break;
   1.401              case SDL_COPY_ADD:
   1.402                  dstR = srcR + dstR; if (dstR > 255) dstR = 255;
   1.403 @@ -5209,6 +5259,7 @@
   1.404                  dstR = srcR + ((255 - srcA) * dstR) / 255;
   1.405                  dstG = srcG + ((255 - srcA) * dstG) / 255;
   1.406                  dstB = srcB + ((255 - srcA) * dstB) / 255;
   1.407 +                dstA = srcA + ((255 - srcA) * dstA) / 255;
   1.408                  break;
   1.409              case SDL_COPY_ADD:
   1.410                  dstR = srcR + dstR; if (dstR > 255) dstR = 255;
   1.411 @@ -5294,6 +5345,7 @@
   1.412                  dstR = srcR + ((255 - srcA) * dstR) / 255;
   1.413                  dstG = srcG + ((255 - srcA) * dstG) / 255;
   1.414                  dstB = srcB + ((255 - srcA) * dstB) / 255;
   1.415 +                dstA = srcA + ((255 - srcA) * dstA) / 255;
   1.416                  break;
   1.417              case SDL_COPY_ADD:
   1.418                  dstR = srcR + dstR; if (dstR > 255) dstR = 255;
   1.419 @@ -5389,6 +5441,7 @@
   1.420                  dstR = srcR + ((255 - srcA) * dstR) / 255;
   1.421                  dstG = srcG + ((255 - srcA) * dstG) / 255;
   1.422                  dstB = srcB + ((255 - srcA) * dstB) / 255;
   1.423 +                dstA = srcA + ((255 - srcA) * dstA) / 255;
   1.424                  break;
   1.425              case SDL_COPY_ADD:
   1.426                  dstR = srcR + dstR; if (dstR > 255) dstR = 255;
   1.427 @@ -5462,6 +5515,7 @@
   1.428                  dstR = srcR + ((255 - srcA) * dstR) / 255;
   1.429                  dstG = srcG + ((255 - srcA) * dstG) / 255;
   1.430                  dstB = srcB + ((255 - srcA) * dstB) / 255;
   1.431 +                dstA = srcA + ((255 - srcA) * dstA) / 255;
   1.432                  break;
   1.433              case SDL_COPY_ADD:
   1.434                  dstR = srcR + dstR; if (dstR > 255) dstR = 255;
   1.435 @@ -5617,6 +5671,7 @@
   1.436                  dstR = srcR + ((255 - srcA) * dstR) / 255;
   1.437                  dstG = srcG + ((255 - srcA) * dstG) / 255;
   1.438                  dstB = srcB + ((255 - srcA) * dstB) / 255;
   1.439 +                dstA = srcA + ((255 - srcA) * dstA) / 255;
   1.440                  break;
   1.441              case SDL_COPY_ADD:
   1.442                  dstR = srcR + dstR; if (dstR > 255) dstR = 255;
   1.443 @@ -5702,6 +5757,7 @@
   1.444                  dstR = srcR + ((255 - srcA) * dstR) / 255;
   1.445                  dstG = srcG + ((255 - srcA) * dstG) / 255;
   1.446                  dstB = srcB + ((255 - srcA) * dstB) / 255;
   1.447 +                dstA = srcA + ((255 - srcA) * dstA) / 255;
   1.448                  break;
   1.449              case SDL_COPY_ADD:
   1.450                  dstR = srcR + dstR; if (dstR > 255) dstR = 255;
   1.451 @@ -5797,6 +5853,7 @@
   1.452                  dstR = srcR + ((255 - srcA) * dstR) / 255;
   1.453                  dstG = srcG + ((255 - srcA) * dstG) / 255;
   1.454                  dstB = srcB + ((255 - srcA) * dstB) / 255;
   1.455 +                dstA = srcA + ((255 - srcA) * dstA) / 255;
   1.456                  break;
   1.457              case SDL_COPY_ADD:
   1.458                  dstR = srcR + dstR; if (dstR > 255) dstR = 255;
   1.459 @@ -5870,6 +5927,7 @@
   1.460                  dstR = srcR + ((255 - srcA) * dstR) / 255;
   1.461                  dstG = srcG + ((255 - srcA) * dstG) / 255;
   1.462                  dstB = srcB + ((255 - srcA) * dstB) / 255;
   1.463 +                dstA = srcA + ((255 - srcA) * dstA) / 255;
   1.464                  break;
   1.465              case SDL_COPY_ADD:
   1.466                  dstR = srcR + dstR; if (dstR > 255) dstR = 255;
   1.467 @@ -6025,6 +6083,7 @@
   1.468                  dstR = srcR + ((255 - srcA) * dstR) / 255;
   1.469                  dstG = srcG + ((255 - srcA) * dstG) / 255;
   1.470                  dstB = srcB + ((255 - srcA) * dstB) / 255;
   1.471 +                dstA = srcA + ((255 - srcA) * dstA) / 255;
   1.472                  break;
   1.473              case SDL_COPY_ADD:
   1.474                  dstR = srcR + dstR; if (dstR > 255) dstR = 255;
   1.475 @@ -6110,6 +6169,7 @@
   1.476                  dstR = srcR + ((255 - srcA) * dstR) / 255;
   1.477                  dstG = srcG + ((255 - srcA) * dstG) / 255;
   1.478                  dstB = srcB + ((255 - srcA) * dstB) / 255;
   1.479 +                dstA = srcA + ((255 - srcA) * dstA) / 255;
   1.480                  break;
   1.481              case SDL_COPY_ADD:
   1.482                  dstR = srcR + dstR; if (dstR > 255) dstR = 255;
   1.483 @@ -6205,6 +6265,7 @@
   1.484                  dstR = srcR + ((255 - srcA) * dstR) / 255;
   1.485                  dstG = srcG + ((255 - srcA) * dstG) / 255;
   1.486                  dstB = srcB + ((255 - srcA) * dstB) / 255;
   1.487 +                dstA = srcA + ((255 - srcA) * dstA) / 255;
   1.488                  break;
   1.489              case SDL_COPY_ADD:
   1.490                  dstR = srcR + dstR; if (dstR > 255) dstR = 255;
   1.491 @@ -6278,6 +6339,7 @@
   1.492                  dstR = srcR + ((255 - srcA) * dstR) / 255;
   1.493                  dstG = srcG + ((255 - srcA) * dstG) / 255;
   1.494                  dstB = srcB + ((255 - srcA) * dstB) / 255;
   1.495 +                dstA = srcA + ((255 - srcA) * dstA) / 255;
   1.496                  break;
   1.497              case SDL_COPY_ADD:
   1.498                  dstR = srcR + dstR; if (dstR > 255) dstR = 255;
   1.499 @@ -6433,6 +6495,7 @@
   1.500                  dstR = srcR + ((255 - srcA) * dstR) / 255;
   1.501                  dstG = srcG + ((255 - srcA) * dstG) / 255;
   1.502                  dstB = srcB + ((255 - srcA) * dstB) / 255;
   1.503 +                dstA = srcA + ((255 - srcA) * dstA) / 255;
   1.504                  break;
   1.505              case SDL_COPY_ADD:
   1.506                  dstR = srcR + dstR; if (dstR > 255) dstR = 255;
   1.507 @@ -6518,6 +6581,7 @@
   1.508                  dstR = srcR + ((255 - srcA) * dstR) / 255;
   1.509                  dstG = srcG + ((255 - srcA) * dstG) / 255;
   1.510                  dstB = srcB + ((255 - srcA) * dstB) / 255;
   1.511 +                dstA = srcA + ((255 - srcA) * dstA) / 255;
   1.512                  break;
   1.513              case SDL_COPY_ADD:
   1.514                  dstR = srcR + dstR; if (dstR > 255) dstR = 255;
   1.515 @@ -6613,6 +6677,7 @@
   1.516                  dstR = srcR + ((255 - srcA) * dstR) / 255;
   1.517                  dstG = srcG + ((255 - srcA) * dstG) / 255;
   1.518                  dstB = srcB + ((255 - srcA) * dstB) / 255;
   1.519 +                dstA = srcA + ((255 - srcA) * dstA) / 255;
   1.520                  break;
   1.521              case SDL_COPY_ADD:
   1.522                  dstR = srcR + dstR; if (dstR > 255) dstR = 255;
   1.523 @@ -6686,6 +6751,7 @@
   1.524                  dstR = srcR + ((255 - srcA) * dstR) / 255;
   1.525                  dstG = srcG + ((255 - srcA) * dstG) / 255;
   1.526                  dstB = srcB + ((255 - srcA) * dstB) / 255;
   1.527 +                dstA = srcA + ((255 - srcA) * dstA) / 255;
   1.528                  break;
   1.529              case SDL_COPY_ADD:
   1.530                  dstR = srcR + dstR; if (dstR > 255) dstR = 255;
   1.531 @@ -6841,6 +6907,7 @@
   1.532                  dstR = srcR + ((255 - srcA) * dstR) / 255;
   1.533                  dstG = srcG + ((255 - srcA) * dstG) / 255;
   1.534                  dstB = srcB + ((255 - srcA) * dstB) / 255;
   1.535 +                dstA = srcA + ((255 - srcA) * dstA) / 255;
   1.536                  break;
   1.537              case SDL_COPY_ADD:
   1.538                  dstR = srcR + dstR; if (dstR > 255) dstR = 255;
   1.539 @@ -6926,6 +6993,7 @@
   1.540                  dstR = srcR + ((255 - srcA) * dstR) / 255;
   1.541                  dstG = srcG + ((255 - srcA) * dstG) / 255;
   1.542                  dstB = srcB + ((255 - srcA) * dstB) / 255;
   1.543 +                dstA = srcA + ((255 - srcA) * dstA) / 255;
   1.544                  break;
   1.545              case SDL_COPY_ADD:
   1.546                  dstR = srcR + dstR; if (dstR > 255) dstR = 255;
   1.547 @@ -7021,6 +7089,7 @@
   1.548                  dstR = srcR + ((255 - srcA) * dstR) / 255;
   1.549                  dstG = srcG + ((255 - srcA) * dstG) / 255;
   1.550                  dstB = srcB + ((255 - srcA) * dstB) / 255;
   1.551 +                dstA = srcA + ((255 - srcA) * dstA) / 255;
   1.552                  break;
   1.553              case SDL_COPY_ADD:
   1.554                  dstR = srcR + dstR; if (dstR > 255) dstR = 255;
   1.555 @@ -7094,6 +7163,7 @@
   1.556                  dstR = srcR + ((255 - srcA) * dstR) / 255;
   1.557                  dstG = srcG + ((255 - srcA) * dstG) / 255;
   1.558                  dstB = srcB + ((255 - srcA) * dstB) / 255;
   1.559 +                dstA = srcA + ((255 - srcA) * dstA) / 255;
   1.560                  break;
   1.561              case SDL_COPY_ADD:
   1.562                  dstR = srcR + dstR; if (dstR > 255) dstR = 255;
   1.563 @@ -7249,6 +7319,7 @@
   1.564                  dstR = srcR + ((255 - srcA) * dstR) / 255;
   1.565                  dstG = srcG + ((255 - srcA) * dstG) / 255;
   1.566                  dstB = srcB + ((255 - srcA) * dstB) / 255;
   1.567 +                dstA = srcA + ((255 - srcA) * dstA) / 255;
   1.568                  break;
   1.569              case SDL_COPY_ADD:
   1.570                  dstR = srcR + dstR; if (dstR > 255) dstR = 255;
   1.571 @@ -7334,6 +7405,7 @@
   1.572                  dstR = srcR + ((255 - srcA) * dstR) / 255;
   1.573                  dstG = srcG + ((255 - srcA) * dstG) / 255;
   1.574                  dstB = srcB + ((255 - srcA) * dstB) / 255;
   1.575 +                dstA = srcA + ((255 - srcA) * dstA) / 255;
   1.576                  break;
   1.577              case SDL_COPY_ADD:
   1.578                  dstR = srcR + dstR; if (dstR > 255) dstR = 255;