Mercurial > sdl-ios-xcode
view test/nds-test-progs/general/source/main.c @ 3199:3e1bf2b8bd81
This check in updates SDL_atomic.h to reflect the new set of atomic operations in 32 and 64 bit form.
It also update configure.in to compile the linux version of the library. The three versions are all dummies
implementations that do nothing. They are being checked in as place holders. Mostly, I just wanted to get
place holders and the configure.in checked in.
author | Bob Pendleton <bob@pendleton.com> |
---|---|
date | Wed, 24 Jun 2009 20:04:08 +0000 |
parents | 204be4fc2726 |
children | 7aba0406c273 |
line wrap: on
line source
#include <SDL/SDL.h> #if defined(NDS) || defined(__NDS__) || defined (__NDS) #include <nds.h> #include <fat.h> #else #define swiWaitForVBlank() #define consoleDemoInit() #define fatInitDefault() #define RGB15(r,g,b) SDL_MapRGB(screen->format,((r)<<3),((g)<<3),((b)<<3)) #endif void splash(SDL_Surface * screen, int s) { SDL_Surface *logo; SDL_Rect area = { 0, 0, 256, 192 }; logo = SDL_LoadBMP("sdl.bmp"); if (!logo) { printf("Couldn't splash.\n"); return; } /*logo->flags &= ~SDL_PREALLOC; */ SDL_BlitSurface(logo, NULL, screen, &area); SDL_Flip(screen); while (s-- > 0) { int i = 60; while (--i) swiWaitForVBlank(); } } int main(void) { SDL_Surface *screen; SDL_Joystick *stick; SDL_Event event; SDL_Rect rect = { 0, 0, 256, 192 }; int i; consoleDemoInit(); puts("Hello world! Initializing FAT..."); fatInitDefault(); if (SDL_Init(SDL_INIT_VIDEO | SDL_INIT_JOYSTICK) < 0) { puts("# error initializing SDL"); puts(SDL_GetError()); return 1; } puts("* initialized SDL"); screen = SDL_SetVideoMode(256, 192, 15, SDL_SWSURFACE); if (!screen) { puts("# error setting video mode"); puts(SDL_GetError()); return 2; } screen->flags &= ~SDL_PREALLOC; puts("* set video mode"); stick = SDL_JoystickOpen(0); if (stick == NULL) { puts("# error opening joystick"); puts(SDL_GetError()); // return 3; } puts("* opened joystick"); /*splash(screen, 3); */ SDL_FillRect(screen, &rect, RGB15(0, 0, 31) | 0x8000); SDL_Flip(screen); while (1) while (SDL_PollEvent(&event)) switch (event.type) { case SDL_JOYBUTTONDOWN: SDL_FillRect(screen, &rect, (u16) rand() | 0x8000); SDL_Flip(screen); if (rect.w > 8) { rect.x += 4; rect.y += 3; rect.w -= 8; rect.h -= 6; } printf("button %d pressed at %d ticks\n", event.jbutton.which, SDL_GetTicks()); break; case SDL_QUIT: SDL_Quit(); return 0; default: break; } return 0; }