mirror of
https://github.com/Rockbox/rockbox.git
synced 2025-11-18 17:42:36 -05:00
Port of Duke Nukem 3D
This ports Fabien Sanglard's Chocolate Duke to run on a version of SDL for Rockbox. Change-Id: I8f2c4c78af19de10c1633ed7bb7a997b43256dd9
This commit is contained in:
parent
01c6dcf6c7
commit
a855d62025
994 changed files with 336924 additions and 15 deletions
164
apps/plugins/sdl/progs/duke3d/Engine/src/engine.h
Normal file
164
apps/plugins/sdl/progs/duke3d/Engine/src/engine.h
Normal file
|
|
@ -0,0 +1,164 @@
|
|||
/*
|
||||
* A list of all symbols exported from engine.c for a game's use.
|
||||
*
|
||||
* Put together by Ryan C. Gordon (icculus@clutteredmind.org)
|
||||
*
|
||||
* Please do NOT harrass Ken Silverman about any code modifications
|
||||
* (including this file) to BUILD.
|
||||
*/
|
||||
|
||||
/*
|
||||
* "Build Engine & Tools" Copyright (c) 1993-1997 Ken Silverman
|
||||
* Ken Silverman's official web site: "http://www.advsys.net/ken"
|
||||
* See the included license file "BUILDLIC.TXT" for license info.
|
||||
* This file IS NOT A PART OF Ken Silverman's original release
|
||||
*/
|
||||
|
||||
#ifndef _INCLUDE_ENGINE_H_
|
||||
#define _INCLUDE_ENGINE_H_
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#define ENGINE_DIR "/.rockbox/duke3d/"
|
||||
|
||||
//#define SUPERBUILD /* don't touch this. */
|
||||
|
||||
/*
|
||||
* this must be implemented by every program that uses the BUILD engine.
|
||||
* engine.c calls this function in several places.
|
||||
* See Ken's test game (in game.c), and his editor (in bstub.c) for examples.
|
||||
*/
|
||||
void faketimerhandler(void);
|
||||
|
||||
/*
|
||||
* exported engine functions, in absolutely no particular order.
|
||||
* See build.txt, build2.txt...and anything else with a .txt extention for
|
||||
* information on using these functions that may or may not be accurate. :)
|
||||
*/
|
||||
int initmouse(void);
|
||||
int setgamemode(uint8_t davidoption, int32_t daxdim, int32_t daydim);
|
||||
int getceilzofslope(int16_t sectnum, int32_t dax, int32_t day);
|
||||
int getflorzofslope(int16_t sectnum, int32_t dax, int32_t day);
|
||||
void getzsofslope(int16_t sectnum, int32_t dax, int32_t day, int32_t *ceilz, int32_t *florz);
|
||||
void setaspect(int32_t daxrange, int32_t daaspect);
|
||||
int insertsprite(int16_t sectnum, int16_t statnum);
|
||||
void updatesector(int32_t x, int32_t y, int16_t *sectnum);
|
||||
int lastwall(int16_t point);
|
||||
void initspritelists(void);
|
||||
int deletesprite(int16_t spritenum);
|
||||
int insertspritesect(int16_t sectnum);
|
||||
int deletespritesect(int16_t deleteme);
|
||||
int deletespritestat (int16_t deleteme);
|
||||
int insertspritestat(int16_t statnum);
|
||||
int changespritesect(int16_t spritenum, int16_t newsectnum);
|
||||
int changespritestat(int16_t spritenum, int16_t newstatnum);
|
||||
void loadtile(int16_t tilenume);
|
||||
|
||||
|
||||
void nextpage(void);
|
||||
void drawrooms(int32_t daposx, int32_t daposy, int32_t daposz,int16_t daang, int32_t dahoriz, int16_t dacursectnum);
|
||||
int loadboard(char *filename, int32_t *daposx, int32_t *daposy,int32_t *daposz, int16_t *daang, int16_t *dacursectnum);
|
||||
void drawmasks(void);
|
||||
void printext256(int32_t xpos, int32_t ypos, int16_t col, int16_t backcol,char name[82], uint8_t fontsize);
|
||||
|
||||
void initengine(void);
|
||||
void uninitengine(void);
|
||||
|
||||
int loadpics(char *filename, char * gamedir);
|
||||
int saveboard(char *filename, int32_t *daposx, int32_t *daposy, int32_t *daposz,int16_t *daang, int16_t *dacursectnum);
|
||||
void plotpixel(int32_t x, int32_t y, uint8_t col);
|
||||
uint8_t getpixel(int32_t x, int32_t y);
|
||||
void setbrightness(uint8_t dabrightness, uint8_t *dapal);
|
||||
int screencapture(char *filename, uint8_t inverseit);
|
||||
void getmousevalues(int16_t *mousx, int16_t *mousy, int16_t *bstatus);
|
||||
int clipmove (int32_t *x, int32_t *y, int32_t *z, int16_t *sectnum, int32_t xvect,int32_t yvect, int32_t walldist, int32_t ceildist,int32_t flordist, uint32_t cliptype);
|
||||
void getzrange(int32_t x, int32_t y, int32_t z, int16_t sectnum,int32_t *ceilz, int32_t *ceilhit, int32_t *florz, int32_t *florhit,int32_t walldist, uint32_t cliptype);
|
||||
int getangle(int32_t xvect, int32_t yvect);
|
||||
void alignceilslope(int16_t dasect, int32_t x, int32_t y, int32_t z);
|
||||
void alignflorslope(int16_t dasect, int32_t x, int32_t y, int32_t z);
|
||||
int hitscan(int32_t xs, int32_t ys, int32_t zs, int16_t sectnum,
|
||||
int32_t vx, int32_t vy, int32_t vz,
|
||||
int16_t *hitsect, int16_t *hitwall, int16_t *hitsprite,
|
||||
int32_t *hitx, int32_t *hity, int32_t *hitz, uint32_t cliptype);
|
||||
int inside (int32_t x, int32_t y, int16_t sectnum);
|
||||
void setfirstwall(int16_t sectnum, int16_t newfirstwall);
|
||||
void rotatepoint(int32_t xpivot, int32_t ypivot, int32_t x, int32_t y, int16_t daang,
|
||||
int32_t *x2, int32_t *y2);
|
||||
int drawtilescreen(int32_t pictopleft, int32_t picbox);
|
||||
void clearview(int32_t dacol);
|
||||
void clearallviews(int32_t dacol);
|
||||
void draw2dgrid(int32_t posxe, int32_t posye, int16_t ange, int32_t zoome,int16_t gride);
|
||||
void draw2dscreen(int32_t posxe, int32_t posye, int16_t ange, int32_t zoome,int16_t gride);
|
||||
int sectorofwall(int16_t theline);
|
||||
int setsprite(int16_t spritenum, int32_t newx, int32_t newy, int32_t newz);
|
||||
void dragpoint(int16_t pointhighlight, int32_t dax, int32_t day);
|
||||
int ksqrt(int32_t num);
|
||||
int loopnumofsector(int16_t sectnum, int16_t wallnum);
|
||||
int cansee(int32_t x1, int32_t y1, int32_t z1, int16_t sect1,int32_t x2, int32_t y2, int32_t z2, int16_t sect2);
|
||||
int lintersect(int32_t x1, int32_t y1, int32_t z1, int32_t x2, int32_t y2, int32_t z2, int32_t x3, int32_t y3, int32_t x4, int32_t y4, int32_t *intx,int32_t *inty, int32_t *intz);
|
||||
int rintersect(int32_t x1, int32_t y1, int32_t z1, int32_t vx, int32_t vy, int32_t vz,
|
||||
int32_t x3, int32_t y3, int32_t x4, int32_t y4, int32_t *intx,
|
||||
int32_t *inty, int32_t *intz);
|
||||
uint8_t* allocatepermanenttile(int16_t tilenume, int32_t xsiz, int32_t ysiz);
|
||||
void drawline256 (int32_t x1, int32_t y1, int32_t x2, int32_t y2, uint8_t col);
|
||||
void copytilepiece(int32_t tilenume1, int32_t sx1, int32_t sy1, int32_t xsiz, int32_t ysiz,
|
||||
int32_t tilenume2, int32_t sx2, int32_t sy2);
|
||||
int nextsectorneighborz(int16_t sectnum, int32_t thez,
|
||||
int16_t topbottom, int16_t direction);
|
||||
int neartag(int32_t xs, int32_t ys, int32_t zs, int16_t sectnum, int16_t ange,
|
||||
int16_t *neartagsector, int16_t *neartagwall, int16_t *neartagsprite,
|
||||
int32_t *neartaghitdist, int32_t neartagrange, uint8_t tagsearch);
|
||||
int pushmove(int32_t *x, int32_t *y, int32_t *z, int16_t *sectnum,
|
||||
int32_t walldist, int32_t ceildist, int32_t flordist,
|
||||
uint32_t cliptype);
|
||||
|
||||
int krand(void);
|
||||
|
||||
void flushperms(void);
|
||||
void rotatesprite(int32_t sx, int32_t sy, int32_t z, int16_t a, int16_t picnum,
|
||||
int8_t dashade, uint8_t dapalnum, uint8_t dastat,
|
||||
int32_t cx1, int32_t cy1, int32_t cx2, int32_t cy2);
|
||||
void makepalookup(int32_t palnum, uint8_t *remapbuf, int8_t r,
|
||||
int8_t g, int8_t b, uint8_t dastat);
|
||||
void drawmapview(int32_t dax, int32_t day, int32_t zoome, int16_t ang);
|
||||
void setview(int32_t x1, int32_t y1, int32_t x2, int32_t y2);
|
||||
void setviewtotile(int16_t tilenume, int32_t xsiz, int32_t ysiz);
|
||||
void setviewback(void);
|
||||
void squarerotatetile(int16_t tilenume);
|
||||
void preparemirror(int32_t dax, int32_t day, int32_t daz,
|
||||
int16_t daang, int32_t dahoriz, int16_t dawall,
|
||||
int16_t dasector, int32_t *tposx, int32_t *tposy,
|
||||
short *tang);
|
||||
void completemirror(void);
|
||||
int clipinsidebox(int32_t x, int32_t y, int16_t wallnum, int32_t walldist);
|
||||
|
||||
#include "cache.h"
|
||||
#include "filesystem.h"
|
||||
#include "display.h"
|
||||
#include "fixedPoint_math.h"
|
||||
#include "tiles.h"
|
||||
#include "network.h"
|
||||
|
||||
|
||||
//Exported for tile module
|
||||
extern int32_t setviewcnt;
|
||||
extern int32_t bakvidoption[4];
|
||||
extern uint8_t* bakframeplace[4];
|
||||
extern int32_t bakxsiz[4], bakysiz[4];
|
||||
extern int32_t bakwindowx1[4], bakwindowy1[4];
|
||||
extern int32_t bakwindowx2[4], bakwindowy2[4];
|
||||
extern uint8_t picsiz[MAXTILES], tilefilenum[MAXTILES];
|
||||
extern int16_t bakumost[MAXXDIM+1], bakdmost[MAXXDIM+1];
|
||||
extern int32_t numtilefiles, artfil , artfilnum, artfilplc;
|
||||
extern int32_t pow2long[32];
|
||||
extern int32_t artsize , cachesize ;
|
||||
extern int32_t tilefileoffs[MAXTILES];
|
||||
extern int32_t totalclocklock;
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif
|
||||
Loading…
Add table
Add a link
Reference in a new issue