annotate src/ljds.h @ 0:c84446dfb3f5

initial add
author paulo@localhost
date Fri, 13 Mar 2009 00:39:12 -0700
parents
children
rev   line source
paulo@0 1 /* DS frontend for LOCKJAW, an implementation of the Soviet Mind Game
paulo@0 2
paulo@0 3 Copyright (C) 2006 Damian Yerrick <tepples+lj@spamcop.net>
paulo@0 4
paulo@0 5 This work is free software; you can redistribute it and/or modify
paulo@0 6 it under the terms of the GNU General Public License as published by
paulo@0 7 the Free Software Foundation; either version 2 of the License, or
paulo@0 8 (at your option) any later version.
paulo@0 9
paulo@0 10 This program is distributed in the hope that it will be useful,
paulo@0 11 but WITHOUT ANY WARRANTY; without even the implied warranty of
paulo@0 12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
paulo@0 13 GNU General Public License for more details.
paulo@0 14
paulo@0 15 You should have received a copy of the GNU General Public License
paulo@0 16 along with this program; if not, write to the Free Software
paulo@0 17 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
paulo@0 18
paulo@0 19 Original game concept and design by Alexey Pajitnov.
paulo@0 20 The Software is not sponsored or endorsed by Alexey Pajitnov, Elorg,
paulo@0 21 or The Tetris Company LLC.
paulo@0 22
paulo@0 23 */
paulo@0 24
paulo@0 25 #ifndef LJDS_H
paulo@0 26 #define LJDS_H
paulo@0 27
paulo@0 28 #include <nds.h>
paulo@0 29 #include <stdlib.h>
paulo@0 30 #include "ljcontrol.h"
paulo@0 31
paulo@0 32 //#define SPR_VRAM(x) ((u32 *)(0x06420000 + 32 * x))
paulo@0 33 #define SPR_VRAM(x) ((u32 *)(0x06400000 + 32 * x))
paulo@0 34 #define MAINOAM ((SpriteEntry *)0x07000000)
paulo@0 35
paulo@0 36 #define PATRAM4(x, tn) ((u32 *)(BG_TILE_RAM(0) | (((x) << 14) + ((tn) << 5)) ))
paulo@0 37
paulo@0 38 #ifndef MAP
paulo@0 39 typedef u16 NAMETABLE[32][32];
paulo@0 40
paulo@0 41 #define MAP ((NAMETABLE *)BG_MAP_RAM(0))
paulo@0 42 #define MAP_HFLIP 0x0400
paulo@0 43 #define MAP_VFLIP 0x0800
paulo@0 44 #define MAP_FLIP 0x0c00
paulo@0 45 #define MAP_PALETTE(x) ((x) << 12)
paulo@0 46 #endif
paulo@0 47
paulo@0 48 struct LJPCView {
paulo@0 49 const u16 *sndData[4];
paulo@0 50 u8 sndLeft[4];
paulo@0 51 };
paulo@0 52
paulo@0 53 #define KEY_TOUCH_RIGHT (KEY_RIGHT << 8)
paulo@0 54 #define KEY_TOUCH_LEFT (KEY_LEFT << 8)
paulo@0 55 #define KEY_TOUCH_UP (KEY_UP << 8)
paulo@0 56 #define KEY_TOUCH_DOWN (KEY_DOWN << 8)
paulo@0 57
paulo@0 58 extern short mouse_x, mouse_y;
paulo@0 59 extern LJBits mouse_b;
paulo@0 60
paulo@0 61 void textout(const char *str, int x, int y, int c);
paulo@0 62 void isr(void);
paulo@0 63 void cls(void);
paulo@0 64 void vsync(void);
paulo@0 65 LJBits readPad(unsigned int player);
paulo@0 66 extern volatile int curTime;
paulo@0 67
paulo@0 68 void install_sound(void);
paulo@0 69 void gba_poll_sound(struct LJPCView *v);
paulo@0 70 void gba_play_sound(struct LJPCView *v, int effect);
paulo@0 71
paulo@0 72 extern unsigned char customPrefs[];
paulo@0 73 void options(LJView *view, unsigned char *prefs);
paulo@0 74
paulo@0 75 int needLidSleep(void);
paulo@0 76 void debrief(const LJView *v);
paulo@0 77 #endif