annotate src/ljplay.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 /* Platform hooks 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 LJPLAY_H
paulo@0 26 #define LJPLAY_H
paulo@0 27 #include "lj.h"
paulo@0 28 #include "ljcontrol.h"
paulo@0 29
paulo@0 30 /**
paulo@0 31 * Plays Lockjaw.
paulo@0 32 * @param v view
paulo@0 33 */
paulo@0 34 void play(LJView *const v[], size_t nPlayers);
paulo@0 35
paulo@0 36 /*
paulo@0 37 * Platform-native code must implement the following callbacks,
paulo@0 38 * which will be described later:
paulo@0 39 */
paulo@0 40 LJBits readPad(unsigned int player);
paulo@0 41 void updField(const LJView *const v, LJBits rows);
paulo@0 42 void startingAnimation(LJView *v);
paulo@0 43 void blitField(LJView *v);
paulo@0 44 int pauseGame(struct LJPCView *v);
paulo@0 45 void playSoundEffects(LJView *v, LJBits sounds, int countdown);
paulo@0 46 void drawShadow(LJView *v);
paulo@0 47 void drawFallingPiece(LJView *v);
paulo@0 48 void drawScore(LJView *v);
paulo@0 49 int getTime(void);
paulo@0 50 void yieldCPU(void);
paulo@0 51 void ljBeginDraw(LJView *v, int sync);
paulo@0 52 void ljEndDraw(LJView *v);
paulo@0 53 int ljHandleConsoleButtons(LJView *v);
paulo@0 54 void playRedrawScreen(LJView *v);
paulo@0 55
paulo@0 56
paulo@0 57 #endif