annotate test/nds-test-progs/general/source/main.c @ 2699:cf95a2fd3606 gsoc2008_nds

indent
author Sam Lantinga <slouken@libsdl.org>
date Wed, 27 Aug 2008 13:44:02 +0000
parents e1da92da346c
children
rev   line source
2686
e9f27fe4f2a1 Existing testsprite programs made into NDS projects
Darren Alton <dalton@stevens.edu>
parents:
diff changeset
1
e9f27fe4f2a1 Existing testsprite programs made into NDS projects
Darren Alton <dalton@stevens.edu>
parents:
diff changeset
2 #include <SDL/SDL.h>
e9f27fe4f2a1 Existing testsprite programs made into NDS projects
Darren Alton <dalton@stevens.edu>
parents:
diff changeset
3 #if defined(NDS) || defined(__NDS__) || defined (__NDS)
e9f27fe4f2a1 Existing testsprite programs made into NDS projects
Darren Alton <dalton@stevens.edu>
parents:
diff changeset
4 #include <nds.h>
2694
c1c7cb1b5a47 More sprite-work in the render driver, and some updates to the nds-test-progs.
Darren Alton <dalton@stevens.edu>
parents: 2692
diff changeset
5 #include <fat.h>
2686
e9f27fe4f2a1 Existing testsprite programs made into NDS projects
Darren Alton <dalton@stevens.edu>
parents:
diff changeset
6 #else
2698
e1da92da346c Clean up.
Darren Alton <dalton@stevens.edu>
parents: 2696
diff changeset
7 #define swiWaitForVBlank()
e1da92da346c Clean up.
Darren Alton <dalton@stevens.edu>
parents: 2696
diff changeset
8 #define consoleDemoInit()
e1da92da346c Clean up.
Darren Alton <dalton@stevens.edu>
parents: 2696
diff changeset
9 #define fatInitDefault()
2686
e9f27fe4f2a1 Existing testsprite programs made into NDS projects
Darren Alton <dalton@stevens.edu>
parents:
diff changeset
10 #define RGB15(r,g,b) SDL_MapRGB(screen->format,((r)<<3),((g)<<3),((b)<<3))
e9f27fe4f2a1 Existing testsprite programs made into NDS projects
Darren Alton <dalton@stevens.edu>
parents:
diff changeset
11 #endif
2698
e1da92da346c Clean up.
Darren Alton <dalton@stevens.edu>
parents: 2696
diff changeset
12 void
e1da92da346c Clean up.
Darren Alton <dalton@stevens.edu>
parents: 2696
diff changeset
13 splash(SDL_Surface * screen, int s)
e1da92da346c Clean up.
Darren Alton <dalton@stevens.edu>
parents: 2696
diff changeset
14 {
e1da92da346c Clean up.
Darren Alton <dalton@stevens.edu>
parents: 2696
diff changeset
15 SDL_Surface *logo;
e1da92da346c Clean up.
Darren Alton <dalton@stevens.edu>
parents: 2696
diff changeset
16 SDL_Rect area = { 0, 0, 256, 192 };
2694
c1c7cb1b5a47 More sprite-work in the render driver, and some updates to the nds-test-progs.
Darren Alton <dalton@stevens.edu>
parents: 2692
diff changeset
17
2698
e1da92da346c Clean up.
Darren Alton <dalton@stevens.edu>
parents: 2696
diff changeset
18 logo = SDL_LoadBMP("sdl.bmp");
e1da92da346c Clean up.
Darren Alton <dalton@stevens.edu>
parents: 2696
diff changeset
19 if (!logo) {
e1da92da346c Clean up.
Darren Alton <dalton@stevens.edu>
parents: 2696
diff changeset
20 printf("Couldn't splash.\n");
e1da92da346c Clean up.
Darren Alton <dalton@stevens.edu>
parents: 2696
diff changeset
21 return;
e1da92da346c Clean up.
Darren Alton <dalton@stevens.edu>
parents: 2696
diff changeset
22 }
e1da92da346c Clean up.
Darren Alton <dalton@stevens.edu>
parents: 2696
diff changeset
23 /*logo->flags &= ~SDL_PREALLOC; */
e1da92da346c Clean up.
Darren Alton <dalton@stevens.edu>
parents: 2696
diff changeset
24 SDL_BlitSurface(logo, NULL, screen, &area);
e1da92da346c Clean up.
Darren Alton <dalton@stevens.edu>
parents: 2696
diff changeset
25 SDL_Flip(screen);
e1da92da346c Clean up.
Darren Alton <dalton@stevens.edu>
parents: 2696
diff changeset
26 while (s-- > 0) {
e1da92da346c Clean up.
Darren Alton <dalton@stevens.edu>
parents: 2696
diff changeset
27 int i = 60;
e1da92da346c Clean up.
Darren Alton <dalton@stevens.edu>
parents: 2696
diff changeset
28 while (--i)
e1da92da346c Clean up.
Darren Alton <dalton@stevens.edu>
parents: 2696
diff changeset
29 swiWaitForVBlank();
e1da92da346c Clean up.
Darren Alton <dalton@stevens.edu>
parents: 2696
diff changeset
30 }
2686
e9f27fe4f2a1 Existing testsprite programs made into NDS projects
Darren Alton <dalton@stevens.edu>
parents:
diff changeset
31 }
2698
e1da92da346c Clean up.
Darren Alton <dalton@stevens.edu>
parents: 2696
diff changeset
32
e1da92da346c Clean up.
Darren Alton <dalton@stevens.edu>
parents: 2696
diff changeset
33
e1da92da346c Clean up.
Darren Alton <dalton@stevens.edu>
parents: 2696
diff changeset
34 int
e1da92da346c Clean up.
Darren Alton <dalton@stevens.edu>
parents: 2696
diff changeset
35 main(void)
e1da92da346c Clean up.
Darren Alton <dalton@stevens.edu>
parents: 2696
diff changeset
36 {
e1da92da346c Clean up.
Darren Alton <dalton@stevens.edu>
parents: 2696
diff changeset
37 SDL_Surface *screen;
e1da92da346c Clean up.
Darren Alton <dalton@stevens.edu>
parents: 2696
diff changeset
38 SDL_Joystick *stick;
e1da92da346c Clean up.
Darren Alton <dalton@stevens.edu>
parents: 2696
diff changeset
39 SDL_Event event;
e1da92da346c Clean up.
Darren Alton <dalton@stevens.edu>
parents: 2696
diff changeset
40 SDL_Rect rect = { 0, 0, 256, 192 };
2686
e9f27fe4f2a1 Existing testsprite programs made into NDS projects
Darren Alton <dalton@stevens.edu>
parents:
diff changeset
41 int i;
2698
e1da92da346c Clean up.
Darren Alton <dalton@stevens.edu>
parents: 2696
diff changeset
42
e1da92da346c Clean up.
Darren Alton <dalton@stevens.edu>
parents: 2696
diff changeset
43 consoleDemoInit();
e1da92da346c Clean up.
Darren Alton <dalton@stevens.edu>
parents: 2696
diff changeset
44 puts("Hello world! Initializing FAT...");
e1da92da346c Clean up.
Darren Alton <dalton@stevens.edu>
parents: 2696
diff changeset
45 fatInitDefault();
e1da92da346c Clean up.
Darren Alton <dalton@stevens.edu>
parents: 2696
diff changeset
46
e1da92da346c Clean up.
Darren Alton <dalton@stevens.edu>
parents: 2696
diff changeset
47 if (SDL_Init(SDL_INIT_VIDEO | SDL_INIT_JOYSTICK) < 0) {
e1da92da346c Clean up.
Darren Alton <dalton@stevens.edu>
parents: 2696
diff changeset
48 puts("# error initializing SDL");
e1da92da346c Clean up.
Darren Alton <dalton@stevens.edu>
parents: 2696
diff changeset
49 puts(SDL_GetError());
e1da92da346c Clean up.
Darren Alton <dalton@stevens.edu>
parents: 2696
diff changeset
50 return 1;
e1da92da346c Clean up.
Darren Alton <dalton@stevens.edu>
parents: 2696
diff changeset
51 }
e1da92da346c Clean up.
Darren Alton <dalton@stevens.edu>
parents: 2696
diff changeset
52 puts("* initialized SDL");
e1da92da346c Clean up.
Darren Alton <dalton@stevens.edu>
parents: 2696
diff changeset
53 screen = SDL_SetVideoMode(256, 192, 15, SDL_SWSURFACE);
e1da92da346c Clean up.
Darren Alton <dalton@stevens.edu>
parents: 2696
diff changeset
54 if (!screen) {
e1da92da346c Clean up.
Darren Alton <dalton@stevens.edu>
parents: 2696
diff changeset
55 puts("# error setting video mode");
e1da92da346c Clean up.
Darren Alton <dalton@stevens.edu>
parents: 2696
diff changeset
56 puts(SDL_GetError());
e1da92da346c Clean up.
Darren Alton <dalton@stevens.edu>
parents: 2696
diff changeset
57 return 2;
e1da92da346c Clean up.
Darren Alton <dalton@stevens.edu>
parents: 2696
diff changeset
58 }
e1da92da346c Clean up.
Darren Alton <dalton@stevens.edu>
parents: 2696
diff changeset
59 screen->flags &= ~SDL_PREALLOC;
e1da92da346c Clean up.
Darren Alton <dalton@stevens.edu>
parents: 2696
diff changeset
60 puts("* set video mode");
e1da92da346c Clean up.
Darren Alton <dalton@stevens.edu>
parents: 2696
diff changeset
61 stick = SDL_JoystickOpen(0);
e1da92da346c Clean up.
Darren Alton <dalton@stevens.edu>
parents: 2696
diff changeset
62 if (stick == NULL) {
e1da92da346c Clean up.
Darren Alton <dalton@stevens.edu>
parents: 2696
diff changeset
63 puts("# error opening joystick");
e1da92da346c Clean up.
Darren Alton <dalton@stevens.edu>
parents: 2696
diff changeset
64 puts(SDL_GetError());
e1da92da346c Clean up.
Darren Alton <dalton@stevens.edu>
parents: 2696
diff changeset
65 // return 3;
e1da92da346c Clean up.
Darren Alton <dalton@stevens.edu>
parents: 2696
diff changeset
66 }
e1da92da346c Clean up.
Darren Alton <dalton@stevens.edu>
parents: 2696
diff changeset
67 puts("* opened joystick");
2694
c1c7cb1b5a47 More sprite-work in the render driver, and some updates to the nds-test-progs.
Darren Alton <dalton@stevens.edu>
parents: 2692
diff changeset
68
2698
e1da92da346c Clean up.
Darren Alton <dalton@stevens.edu>
parents: 2696
diff changeset
69 /*splash(screen, 3); */
e1da92da346c Clean up.
Darren Alton <dalton@stevens.edu>
parents: 2696
diff changeset
70
2686
e9f27fe4f2a1 Existing testsprite programs made into NDS projects
Darren Alton <dalton@stevens.edu>
parents:
diff changeset
71 SDL_FillRect(screen, &rect, RGB15(0, 0, 31) | 0x8000);
2698
e1da92da346c Clean up.
Darren Alton <dalton@stevens.edu>
parents: 2696
diff changeset
72 SDL_Flip(screen);
e1da92da346c Clean up.
Darren Alton <dalton@stevens.edu>
parents: 2696
diff changeset
73
e1da92da346c Clean up.
Darren Alton <dalton@stevens.edu>
parents: 2696
diff changeset
74 while (1)
e1da92da346c Clean up.
Darren Alton <dalton@stevens.edu>
parents: 2696
diff changeset
75 while (SDL_PollEvent(&event))
e1da92da346c Clean up.
Darren Alton <dalton@stevens.edu>
parents: 2696
diff changeset
76 switch (event.type) {
e1da92da346c Clean up.
Darren Alton <dalton@stevens.edu>
parents: 2696
diff changeset
77 case SDL_JOYBUTTONDOWN:
e1da92da346c Clean up.
Darren Alton <dalton@stevens.edu>
parents: 2696
diff changeset
78 SDL_FillRect(screen, &rect, (u16) rand() | 0x8000);
e1da92da346c Clean up.
Darren Alton <dalton@stevens.edu>
parents: 2696
diff changeset
79 SDL_Flip(screen);
e1da92da346c Clean up.
Darren Alton <dalton@stevens.edu>
parents: 2696
diff changeset
80 if (rect.w > 8) {
e1da92da346c Clean up.
Darren Alton <dalton@stevens.edu>
parents: 2696
diff changeset
81 rect.x += 4;
e1da92da346c Clean up.
Darren Alton <dalton@stevens.edu>
parents: 2696
diff changeset
82 rect.y += 3;
e1da92da346c Clean up.
Darren Alton <dalton@stevens.edu>
parents: 2696
diff changeset
83 rect.w -= 8;
e1da92da346c Clean up.
Darren Alton <dalton@stevens.edu>
parents: 2696
diff changeset
84 rect.h -= 6;
e1da92da346c Clean up.
Darren Alton <dalton@stevens.edu>
parents: 2696
diff changeset
85 }
e1da92da346c Clean up.
Darren Alton <dalton@stevens.edu>
parents: 2696
diff changeset
86 printf("button %d pressed at %d ticks\n",
e1da92da346c Clean up.
Darren Alton <dalton@stevens.edu>
parents: 2696
diff changeset
87 event.jbutton.which, SDL_GetTicks());
e1da92da346c Clean up.
Darren Alton <dalton@stevens.edu>
parents: 2696
diff changeset
88 break;
e1da92da346c Clean up.
Darren Alton <dalton@stevens.edu>
parents: 2696
diff changeset
89 case SDL_QUIT:
e1da92da346c Clean up.
Darren Alton <dalton@stevens.edu>
parents: 2696
diff changeset
90 SDL_Quit();
e1da92da346c Clean up.
Darren Alton <dalton@stevens.edu>
parents: 2696
diff changeset
91 return 0;
e1da92da346c Clean up.
Darren Alton <dalton@stevens.edu>
parents: 2696
diff changeset
92 default:
e1da92da346c Clean up.
Darren Alton <dalton@stevens.edu>
parents: 2696
diff changeset
93 break;
e1da92da346c Clean up.
Darren Alton <dalton@stevens.edu>
parents: 2696
diff changeset
94 }
e1da92da346c Clean up.
Darren Alton <dalton@stevens.edu>
parents: 2696
diff changeset
95
2686
e9f27fe4f2a1 Existing testsprite programs made into NDS projects
Darren Alton <dalton@stevens.edu>
parents:
diff changeset
96 return 0;