Mercurial > sdl-ios-xcode
annotate test/nds-test-progs/general/source/main.c @ 2696:0b395a60deff gsoc2008_nds
Timers work now.
author | Darren Alton <dalton@stevens.edu> |
---|---|
date | Mon, 18 Aug 2008 07:29:52 +0000 |
parents | c1c7cb1b5a47 |
children | e1da92da346c |
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 |
e9f27fe4f2a1
Existing testsprite programs made into NDS projects
Darren Alton <dalton@stevens.edu>
parents:
diff
changeset
|
7 #define swiWaitForVBlank() |
e9f27fe4f2a1
Existing testsprite programs made into NDS projects
Darren Alton <dalton@stevens.edu>
parents:
diff
changeset
|
8 #define consoleDemoInit() |
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
|
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 |
e9f27fe4f2a1
Existing testsprite programs made into NDS projects
Darren Alton <dalton@stevens.edu>
parents:
diff
changeset
|
12 |
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
|
13 void splash(SDL_Surface *screen, int s) { |
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
|
14 SDL_Surface *logo; |
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
|
15 SDL_Rect area = {0,0,256,192}; |
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
|
16 |
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 logo = SDL_LoadBMP("sdl.bmp"); |
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
|
18 if(!logo) { |
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
|
19 printf("Couldn't splash.\n"); |
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
|
20 return; |
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
|
21 } |
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
|
22 /*logo->flags &= ~SDL_PREALLOC;*/ |
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
|
23 SDL_BlitSurface(logo, NULL, screen, &area); |
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
|
24 SDL_Flip(screen); |
2686
e9f27fe4f2a1
Existing testsprite programs made into NDS projects
Darren Alton <dalton@stevens.edu>
parents:
diff
changeset
|
25 while(s-- > 0) { |
e9f27fe4f2a1
Existing testsprite programs made into NDS projects
Darren Alton <dalton@stevens.edu>
parents:
diff
changeset
|
26 int i = 60; |
e9f27fe4f2a1
Existing testsprite programs made into NDS projects
Darren Alton <dalton@stevens.edu>
parents:
diff
changeset
|
27 while(--i) swiWaitForVBlank(); |
e9f27fe4f2a1
Existing testsprite programs made into NDS projects
Darren Alton <dalton@stevens.edu>
parents:
diff
changeset
|
28 } |
e9f27fe4f2a1
Existing testsprite programs made into NDS projects
Darren Alton <dalton@stevens.edu>
parents:
diff
changeset
|
29 } |
e9f27fe4f2a1
Existing testsprite programs made into NDS projects
Darren Alton <dalton@stevens.edu>
parents:
diff
changeset
|
30 |
e9f27fe4f2a1
Existing testsprite programs made into NDS projects
Darren Alton <dalton@stevens.edu>
parents:
diff
changeset
|
31 int main(void) { |
e9f27fe4f2a1
Existing testsprite programs made into NDS projects
Darren Alton <dalton@stevens.edu>
parents:
diff
changeset
|
32 SDL_Surface *screen; |
e9f27fe4f2a1
Existing testsprite programs made into NDS projects
Darren Alton <dalton@stevens.edu>
parents:
diff
changeset
|
33 SDL_Joystick *stick; |
e9f27fe4f2a1
Existing testsprite programs made into NDS projects
Darren Alton <dalton@stevens.edu>
parents:
diff
changeset
|
34 SDL_Event event; |
2696 | 35 SDL_Rect rect = {0,0,256,192}; |
2691
87cfb5fde5db
Rendering now partially works! (Some BIZARRE bug that I inadvertently fixed.)
Darren Alton <dalton@stevens.edu>
parents:
2686
diff
changeset
|
36 int i; |
2686
e9f27fe4f2a1
Existing testsprite programs made into NDS projects
Darren Alton <dalton@stevens.edu>
parents:
diff
changeset
|
37 |
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
|
38 consoleDemoInit(); puts("Hello world! Initializing FAT..."); |
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
|
39 fatInitDefault(); |
2686
e9f27fe4f2a1
Existing testsprite programs made into NDS projects
Darren Alton <dalton@stevens.edu>
parents:
diff
changeset
|
40 if(SDL_Init(SDL_INIT_VIDEO|SDL_INIT_JOYSTICK) < 0) { |
e9f27fe4f2a1
Existing testsprite programs made into NDS projects
Darren Alton <dalton@stevens.edu>
parents:
diff
changeset
|
41 puts("# error initializing SDL"); |
e9f27fe4f2a1
Existing testsprite programs made into NDS projects
Darren Alton <dalton@stevens.edu>
parents:
diff
changeset
|
42 puts(SDL_GetError()); |
e9f27fe4f2a1
Existing testsprite programs made into NDS projects
Darren Alton <dalton@stevens.edu>
parents:
diff
changeset
|
43 return 1; |
e9f27fe4f2a1
Existing testsprite programs made into NDS projects
Darren Alton <dalton@stevens.edu>
parents:
diff
changeset
|
44 } |
2692
cd8978f47849
Minor cleanups in renderer.
Darren Alton <dalton@stevens.edu>
parents:
2691
diff
changeset
|
45 puts("* initialized SDL"); |
2691
87cfb5fde5db
Rendering now partially works! (Some BIZARRE bug that I inadvertently fixed.)
Darren Alton <dalton@stevens.edu>
parents:
2686
diff
changeset
|
46 screen = SDL_SetVideoMode(256, 192, 15, SDL_SWSURFACE); |
2686
e9f27fe4f2a1
Existing testsprite programs made into NDS projects
Darren Alton <dalton@stevens.edu>
parents:
diff
changeset
|
47 if(!screen) { |
e9f27fe4f2a1
Existing testsprite programs made into NDS projects
Darren Alton <dalton@stevens.edu>
parents:
diff
changeset
|
48 puts("# error setting video mode"); |
e9f27fe4f2a1
Existing testsprite programs made into NDS projects
Darren Alton <dalton@stevens.edu>
parents:
diff
changeset
|
49 puts(SDL_GetError()); |
e9f27fe4f2a1
Existing testsprite programs made into NDS projects
Darren Alton <dalton@stevens.edu>
parents:
diff
changeset
|
50 return 2; |
e9f27fe4f2a1
Existing testsprite programs made into NDS projects
Darren Alton <dalton@stevens.edu>
parents:
diff
changeset
|
51 } |
2691
87cfb5fde5db
Rendering now partially works! (Some BIZARRE bug that I inadvertently fixed.)
Darren Alton <dalton@stevens.edu>
parents:
2686
diff
changeset
|
52 screen->flags &= ~SDL_PREALLOC; |
2692
cd8978f47849
Minor cleanups in renderer.
Darren Alton <dalton@stevens.edu>
parents:
2691
diff
changeset
|
53 puts("* set video mode"); |
2686
e9f27fe4f2a1
Existing testsprite programs made into NDS projects
Darren Alton <dalton@stevens.edu>
parents:
diff
changeset
|
54 stick = SDL_JoystickOpen(0); |
e9f27fe4f2a1
Existing testsprite programs made into NDS projects
Darren Alton <dalton@stevens.edu>
parents:
diff
changeset
|
55 if(stick == NULL) { |
e9f27fe4f2a1
Existing testsprite programs made into NDS projects
Darren Alton <dalton@stevens.edu>
parents:
diff
changeset
|
56 puts("# error opening joystick"); |
e9f27fe4f2a1
Existing testsprite programs made into NDS projects
Darren Alton <dalton@stevens.edu>
parents:
diff
changeset
|
57 puts(SDL_GetError()); |
e9f27fe4f2a1
Existing testsprite programs made into NDS projects
Darren Alton <dalton@stevens.edu>
parents:
diff
changeset
|
58 // return 3; |
e9f27fe4f2a1
Existing testsprite programs made into NDS projects
Darren Alton <dalton@stevens.edu>
parents:
diff
changeset
|
59 } |
2691
87cfb5fde5db
Rendering now partially works! (Some BIZARRE bug that I inadvertently fixed.)
Darren Alton <dalton@stevens.edu>
parents:
2686
diff
changeset
|
60 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
|
61 |
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
|
62 /*splash(screen, 3);*/ |
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
|
63 |
2686
e9f27fe4f2a1
Existing testsprite programs made into NDS projects
Darren Alton <dalton@stevens.edu>
parents:
diff
changeset
|
64 SDL_FillRect(screen, &rect, RGB15(0,0,31)|0x8000); |
e9f27fe4f2a1
Existing testsprite programs made into NDS projects
Darren Alton <dalton@stevens.edu>
parents:
diff
changeset
|
65 SDL_Flip(screen); |
e9f27fe4f2a1
Existing testsprite programs made into NDS projects
Darren Alton <dalton@stevens.edu>
parents:
diff
changeset
|
66 |
e9f27fe4f2a1
Existing testsprite programs made into NDS projects
Darren Alton <dalton@stevens.edu>
parents:
diff
changeset
|
67 while(1) |
e9f27fe4f2a1
Existing testsprite programs made into NDS projects
Darren Alton <dalton@stevens.edu>
parents:
diff
changeset
|
68 while(SDL_PollEvent(&event)) |
e9f27fe4f2a1
Existing testsprite programs made into NDS projects
Darren Alton <dalton@stevens.edu>
parents:
diff
changeset
|
69 switch(event.type) { |
e9f27fe4f2a1
Existing testsprite programs made into NDS projects
Darren Alton <dalton@stevens.edu>
parents:
diff
changeset
|
70 case SDL_JOYBUTTONDOWN: |
2696 | 71 SDL_FillRect(screen, &rect, (u16)rand()|0x8000); |
72 SDL_Flip(screen); | |
73 if(rect.w > 8) { | |
74 rect.x += 4; rect.y += 3; | |
75 rect.w -= 8; rect.h -= 6; | |
76 } | |
77 printf("button %d pressed at %d ticks\n", | |
78 event.jbutton.which, SDL_GetTicks()); | |
2686
e9f27fe4f2a1
Existing testsprite programs made into NDS projects
Darren Alton <dalton@stevens.edu>
parents:
diff
changeset
|
79 break; |
e9f27fe4f2a1
Existing testsprite programs made into NDS projects
Darren Alton <dalton@stevens.edu>
parents:
diff
changeset
|
80 case SDL_QUIT: SDL_Quit(); return 0; |
e9f27fe4f2a1
Existing testsprite programs made into NDS projects
Darren Alton <dalton@stevens.edu>
parents:
diff
changeset
|
81 default: break; |
e9f27fe4f2a1
Existing testsprite programs made into NDS projects
Darren Alton <dalton@stevens.edu>
parents:
diff
changeset
|
82 } |
e9f27fe4f2a1
Existing testsprite programs made into NDS projects
Darren Alton <dalton@stevens.edu>
parents:
diff
changeset
|
83 |
e9f27fe4f2a1
Existing testsprite programs made into NDS projects
Darren Alton <dalton@stevens.edu>
parents:
diff
changeset
|
84 return 0; |
e9f27fe4f2a1
Existing testsprite programs made into NDS projects
Darren Alton <dalton@stevens.edu>
parents:
diff
changeset
|
85 } |