test/nds-test-progs/sprite2/source/testsprite2.c
changeset 2750 e3affc66d963
parent 2735 204be4fc2726
child 2884 9dde605c7540
equal deleted inserted replaced
2749:1c5f440a60fe 2750:e3affc66d963
     4 #include <stdio.h>
     4 #include <stdio.h>
     5 #include <time.h>
     5 #include <time.h>
     6 #include <nds.h>
     6 #include <nds.h>
     7 #include <fat.h>
     7 #include <fat.h>
     8 #include "common.h"
     8 #include "common.h"
     9 
       
    10 #include "icon_bmp_bin.h"
       
    11 
     9 
    12 #define NUM_SPRITES	10
    10 #define NUM_SPRITES	10
    13 #define MAX_SPEED 	1
    11 #define MAX_SPEED 	1
    14 
    12 
    15 static CommonState *state;
    13 static CommonState *state;
   182     /* Initialize test framework */
   180     /* Initialize test framework */
   183     state = CommonCreateState(argv, SDL_INIT_VIDEO);
   181     state = CommonCreateState(argv, SDL_INIT_VIDEO);
   184     if (!state) {
   182     if (!state) {
   185         return 1;
   183         return 1;
   186     }
   184     }
   187     for (i = 1; i < argc;) {
   185 
   188         int consumed;
       
   189 
       
   190         consumed = CommonArg(state, i);
       
   191         if (consumed == 0) {
       
   192             consumed = -1;
       
   193             if (SDL_strcasecmp(argv[i], "--blend") == 0) {
       
   194                 if (argv[i + 1]) {
       
   195                     if (SDL_strcasecmp(argv[i + 1], "none") == 0) {
       
   196                         blendMode = SDL_TEXTUREBLENDMODE_NONE;
       
   197                         consumed = 2;
       
   198                     } else if (SDL_strcasecmp(argv[i + 1], "mask") == 0) {
       
   199                         blendMode = SDL_TEXTUREBLENDMODE_MASK;
       
   200                         consumed = 2;
       
   201                     } else if (SDL_strcasecmp(argv[i + 1], "blend") == 0) {
       
   202                         blendMode = SDL_TEXTUREBLENDMODE_BLEND;
       
   203                         consumed = 2;
       
   204                     } else if (SDL_strcasecmp(argv[i + 1], "add") == 0) {
       
   205                         blendMode = SDL_TEXTUREBLENDMODE_ADD;
       
   206                         consumed = 2;
       
   207                     } else if (SDL_strcasecmp(argv[i + 1], "mod") == 0) {
       
   208                         blendMode = SDL_TEXTUREBLENDMODE_MOD;
       
   209                         consumed = 2;
       
   210                     }
       
   211                 }
       
   212             } else if (SDL_strcasecmp(argv[i], "--scale") == 0) {
       
   213                 if (argv[i + 1]) {
       
   214                     if (SDL_strcasecmp(argv[i + 1], "none") == 0) {
       
   215                         scaleMode = SDL_TEXTURESCALEMODE_NONE;
       
   216                         consumed = 2;
       
   217                     } else if (SDL_strcasecmp(argv[i + 1], "fast") == 0) {
       
   218                         scaleMode = SDL_TEXTURESCALEMODE_FAST;
       
   219                         consumed = 2;
       
   220                     } else if (SDL_strcasecmp(argv[i + 1], "slow") == 0) {
       
   221                         scaleMode = SDL_TEXTURESCALEMODE_SLOW;
       
   222                         consumed = 2;
       
   223                     } else if (SDL_strcasecmp(argv[i + 1], "best") == 0) {
       
   224                         scaleMode = SDL_TEXTURESCALEMODE_BEST;
       
   225                         consumed = 2;
       
   226                     }
       
   227                 }
       
   228             } else if (SDL_strcasecmp(argv[i], "--cyclecolor") == 0) {
       
   229                 cycle_color = SDL_TRUE;
       
   230                 consumed = 1;
       
   231             } else if (SDL_strcasecmp(argv[i], "--cyclealpha") == 0) {
       
   232                 cycle_alpha = SDL_TRUE;
       
   233                 consumed = 1;
       
   234             } else if (SDL_isdigit(*argv[i])) {
       
   235                 num_sprites = SDL_atoi(argv[i]);
       
   236                 consumed = 1;
       
   237             }
       
   238         }
       
   239         if (consumed < 0) {
       
   240             fprintf(stderr,
       
   241                     "Usage: %s %s [--blend none|mask|blend|add|mod] [--scale none|fast|slow|best] [--cyclecolor] [--cyclealpha]\n",
       
   242                     argv[0], CommonUsage(state));
       
   243             quit(1);
       
   244         }
       
   245         i += consumed;
       
   246     }
       
   247     if (!CommonInit(state)) {
   186     if (!CommonInit(state)) {
   248         quit(2);
   187         quit(2);
   249     }
   188     }
   250 
   189 
   251     /* Create the windows, initialize the renderers, and load the textures */
   190     /* Create the windows, initialize the renderers, and load the textures */
   257     }
   196     }
   258     for (i = 0; i < state->num_windows; ++i) {
   197     for (i = 0; i < state->num_windows; ++i) {
   259         SDL_SelectRenderer(state->windows[i]);
   198         SDL_SelectRenderer(state->windows[i]);
   260         SDL_RenderFill(0xA0, 0xA0, 0xA0, 0xFF, NULL);
   199         SDL_RenderFill(0xA0, 0xA0, 0xA0, 0xFF, NULL);
   261     }
   200     }
   262     if (LoadSprite2(icon_bmp_bin, icon_bmp_bin_size) < 0) {
   201     if (LoadSprite("icon.bmp") < 0) {
   263         printf("errored.\n");
   202         printf("\nerrored.\n");
       
   203         while (1);
   264         quit(2);
   204         quit(2);
   265     }
   205     }
   266 
   206 
   267     /* Allocate memory for the sprite info */
   207     /* Allocate memory for the sprite info */
   268     positions = (SDL_Rect *) SDL_malloc(num_sprites * sizeof(SDL_Rect));
   208     positions = (SDL_Rect *) SDL_malloc(num_sprites * sizeof(SDL_Rect));