mirror of
https://github.com/id-Software/Wolf3D-iOS.git
synced 2026-03-20 00:49:35 +01:00
Source release of Wolfenstein 3D Classic Platinum for iOS, 1.0
This commit is contained in:
151
wolf3d/newCode/iphone/iphone_wolf.h
Normal file
151
wolf3d/newCode/iphone/iphone_wolf.h
Normal file
@@ -0,0 +1,151 @@
|
||||
/*
|
||||
|
||||
Copyright (C) 2009 Id Software, Inc.
|
||||
|
||||
This program is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU General Public License
|
||||
as published by the Free Software Foundation; either version 2
|
||||
of the License, or (at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
|
||||
*/
|
||||
|
||||
// define this to get only the first episode on selections, and the
|
||||
// automatic sell screen at the end of episode 1
|
||||
//#define EPISODE_ONE_ONLY
|
||||
|
||||
extern viddef_t viddef;
|
||||
|
||||
typedef enum menuState {
|
||||
IPM_GAME,
|
||||
IPM_MAIN,
|
||||
IPM_SKILL,
|
||||
IPM_EPISODE,
|
||||
IPM_MAPS,
|
||||
IPM_CONTROLS,
|
||||
IPM_INTERMISSION,
|
||||
IPM_VICTORY,
|
||||
IPM_AUTOMAP
|
||||
} menuState_t;
|
||||
|
||||
extern menuState_t menuState;
|
||||
|
||||
void iphoneDrawMenus();
|
||||
|
||||
#define SAVEGAME_VERSION 106
|
||||
|
||||
#define MAX_SKILLS 4
|
||||
#define MAX_MAPS 60
|
||||
|
||||
#define MF_TRIED 1
|
||||
#define MF_COMPLETED 2
|
||||
#define MF_KILLS 4
|
||||
#define MF_SECRETS 8
|
||||
#define MF_TREASURE 16
|
||||
#define MF_TIME 32
|
||||
|
||||
typedef struct {
|
||||
int episode;
|
||||
int map;
|
||||
int skill;
|
||||
int levelCompleted; // already at intermission when saved
|
||||
int version;
|
||||
int mapFlags[MAX_SKILLS][MAX_MAPS];
|
||||
} currentMap_t;
|
||||
|
||||
extern currentMap_t currentMap;
|
||||
|
||||
void iphoneStartMap( int episodeNum, int mapNum, int skillLevel );
|
||||
|
||||
extern char iphoneDocDirectory[1024];
|
||||
extern char iphoneAppDirectory[1024];
|
||||
|
||||
extern texture_t *numberPics[10];
|
||||
|
||||
extern vec3_t vnull;
|
||||
|
||||
void Client_PrepRefresh( const char *r_mapname );
|
||||
|
||||
extern int iphoneFrameNum;
|
||||
extern int intermissionTriggerFrame;
|
||||
extern int consoleActive;
|
||||
|
||||
extern cvar_t *controlScheme;
|
||||
extern cvar_t *sensitivity;
|
||||
extern cvar_t *stickSize;
|
||||
extern cvar_t *stickTurnBase;
|
||||
extern cvar_t *stickTurnScale;
|
||||
extern cvar_t *stickMoveBase;
|
||||
extern cvar_t *stickMoveScale;
|
||||
extern cvar_t *stickDeadBand;
|
||||
extern cvar_t *tiltTurn;
|
||||
extern cvar_t *tiltMove;
|
||||
extern cvar_t *tiltDeadBand;
|
||||
extern cvar_t *tiltAverages;
|
||||
extern cvar_t *tiltFire;
|
||||
extern cvar_t *music;
|
||||
extern cvar_t *showTilt;
|
||||
extern cvar_t *cropSprites;
|
||||
extern cvar_t *blends;
|
||||
extern cvar_t *gunFrame;
|
||||
extern cvar_t *slowAI;
|
||||
|
||||
// the native iPhone code should set the following each frame:
|
||||
extern int numTouches;
|
||||
extern int touches[5][2]; // [0] = x, [1] = y in landscape mode, raster order with y = 0 at top
|
||||
extern float tilt; // -1.0 to 1.0
|
||||
extern float tiltPitch;
|
||||
|
||||
// so we can detect button releases
|
||||
extern int numPrevTouches;
|
||||
extern int prevTouches[5][2];
|
||||
|
||||
|
||||
// the layout drawing code sets these, which are then used
|
||||
// by the touch processing
|
||||
extern int menuButtonX, menuButtonY, menuButtonSize;
|
||||
extern int fireButtonX, fireButtonY, fireButtonSize;
|
||||
extern int moveAxisX, moveAxisY, moveAxisSize;
|
||||
extern int turnAxisX, turnAxisY, turnAxisSize;
|
||||
|
||||
// incremented once each frame, regardless of framerate
|
||||
extern int frameNum;
|
||||
|
||||
int TouchDown( int x, int y, int w, int h );
|
||||
int TouchReleased( int x, int y, int w, int h );
|
||||
int iphoneCenterText( int x, int y, const char *str );
|
||||
void iphoneDrawNumber( int x, int y, int number, int charWidth, int charHeight );
|
||||
void iphoneDrawPic( int x, int y, int w, int h, const char *pic );
|
||||
void R_Draw_Blend( int x, int y, int w, int h, colour4_t c );
|
||||
void SaveTheGame();
|
||||
int LoadTheGame();
|
||||
void StartGame( void );
|
||||
void iphoneShutdown();
|
||||
void iphoneOpenAutomap();
|
||||
|
||||
void InitImmediateModeGL();
|
||||
|
||||
extern colour4_t colorPressed;
|
||||
|
||||
extern int damageflash;
|
||||
extern int bonusFrameNum;
|
||||
extern int attackDirTime[2];
|
||||
|
||||
// interfaces from the game code
|
||||
void iphoneStartBonusFlash();
|
||||
void iphoneStartDamageFlash( int points );
|
||||
void iphoneSetAttackDirection( int dir );
|
||||
void iphoneStartIntermission( int framesFromNow );
|
||||
void iphoneSetNotifyText( const char *str, ... );
|
||||
|
||||
// interfaces to hadware / system
|
||||
void OpenURL( const char *url );
|
||||
|
||||
Reference in New Issue
Block a user