annotate LoadSprite.c @ 70:cee55c8365e9 default tip

fix
author Kazuma
date Thu, 19 May 2016 18:52:26 +0900
parents 435ac1cdb64e
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
435ac1cdb64e create task dandy directry.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1 #include <stdio.h>
435ac1cdb64e create task dandy directry.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2 #include <stdlib.h>
435ac1cdb64e create task dandy directry.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
3 #include <string.h>
435ac1cdb64e create task dandy directry.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
4 #include <ctype.h>
435ac1cdb64e create task dandy directry.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
5 #include <math.h>
435ac1cdb64e create task dandy directry.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
6 #include <time.h>
435ac1cdb64e create task dandy directry.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
7 #include <SDL.h>
435ac1cdb64e create task dandy directry.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
8 #include "SDL_opengl.h"
435ac1cdb64e create task dandy directry.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
9 #include "SDL_image.h"
435ac1cdb64e create task dandy directry.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
10 #include "object.h"
435ac1cdb64e create task dandy directry.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
11 #include "xml.h"
435ac1cdb64e create task dandy directry.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
12 #include "tree_controll.h"
435ac1cdb64e create task dandy directry.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
13 #include "LoadSprite.h"
435ac1cdb64e create task dandy directry.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
14
435ac1cdb64e create task dandy directry.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
15 //#define bmp_file "./s-dandy.bmp"
435ac1cdb64e create task dandy directry.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
16
435ac1cdb64e create task dandy directry.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
17 SDL_Surface *sprite;
435ac1cdb64e create task dandy directry.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
18
435ac1cdb64e create task dandy directry.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
19 SDL_Surface *LoadSprite(SURFACE *surfaces)
435ac1cdb64e create task dandy directry.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
20 {
435ac1cdb64e create task dandy directry.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
21 SDL_Surface *image;
435ac1cdb64e create task dandy directry.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
22 SDL_Surface *temp;
435ac1cdb64e create task dandy directry.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
23
435ac1cdb64e create task dandy directry.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
24 /* Load the sprite image */
435ac1cdb64e create task dandy directry.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
25 image = IMG_Load(surfaces->image_name);
435ac1cdb64e create task dandy directry.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
26
435ac1cdb64e create task dandy directry.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
27 if ( image == NULL ) {
435ac1cdb64e create task dandy directry.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
28 fprintf(stderr, "Couldn't load %s: %s", surfaces->image_name, SDL_GetError());
435ac1cdb64e create task dandy directry.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
29 printf("can't not load image_file\n");
435ac1cdb64e create task dandy directry.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
30 return NULL;
435ac1cdb64e create task dandy directry.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
31 }
435ac1cdb64e create task dandy directry.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
32
435ac1cdb64e create task dandy directry.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
33 /* Set transparent pixel as the pixel at (0,0) */
435ac1cdb64e create task dandy directry.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
34 /* if ( image->format->palette ) {
435ac1cdb64e create task dandy directry.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
35 SDL_SetColorKey(image, (SDL_SRCCOLORKEY|SDL_RLEACCEL), *(Uint8 *)image->pixels);
435ac1cdb64e create task dandy directry.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
36 }*/
435ac1cdb64e create task dandy directry.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
37 SDL_SetColorKey(image, (SDL_SRCCOLORKEY|SDL_RLEACCEL), SDL_MapRGB(image->format, 0, 0, 0));
435ac1cdb64e create task dandy directry.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
38
435ac1cdb64e create task dandy directry.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
39 /* Convert sprite to video format */
435ac1cdb64e create task dandy directry.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
40 temp = SDL_DisplayFormat(image);
435ac1cdb64e create task dandy directry.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
41 SDL_FreeSurface(image);
435ac1cdb64e create task dandy directry.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
42 if ( temp == NULL ) {
435ac1cdb64e create task dandy directry.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
43 fprintf(stderr, "Couldn't convert background: %s\n", SDL_GetError());
435ac1cdb64e create task dandy directry.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
44 return NULL;
435ac1cdb64e create task dandy directry.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
45 }
435ac1cdb64e create task dandy directry.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
46 image = temp;
435ac1cdb64e create task dandy directry.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
47 return image;
435ac1cdb64e create task dandy directry.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
48
435ac1cdb64e create task dandy directry.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
49 /* We're ready to roll. */
435ac1cdb64e create task dandy directry.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
50 }