/programs/games/doom/trunk/h/am_map.h |
---|
0,0 → 1,52 |
// Emacs style mode select -*- C++ -*- |
//----------------------------------------------------------------------------- |
// |
// $Id:$ |
// |
// Copyright (C) 1993-1996 by id Software, Inc. |
// |
// This source is available for distribution and/or modification |
// only under the terms of the DOOM Source Code License as |
// published by id Software. All rights reserved. |
// |
// The source is distributed in the hope that it will be useful, |
// but WITHOUT ANY WARRANTY; without even the implied warranty of |
// FITNESS FOR A PARTICULAR PURPOSE. See the DOOM Source Code License |
// for more details. |
// |
// DESCRIPTION: |
// AutoMap module. |
// |
//----------------------------------------------------------------------------- |
#ifndef __AMMAP_H__ |
#define __AMMAP_H__ |
// Used by ST StatusBar stuff. |
#define AM_MSGHEADER (('a'<<24)+('m'<<16)) |
#define AM_MSGENTERED (AM_MSGHEADER | ('e'<<8)) |
#define AM_MSGEXITED (AM_MSGHEADER | ('x'<<8)) |
// Called by main loop. |
boolean AM_Responder (event_t* ev); |
// Called by main loop. |
void AM_Ticker (void); |
// Called by main loop, |
// called instead of view drawer if automap active. |
void AM_Drawer (void); |
// Called to force the automap to quit |
// if the level is completed while it is up. |
void AM_Stop (void); |
#endif |
//----------------------------------------------------------------------------- |
// |
// $Log:$ |
// |
//----------------------------------------------------------------------------- |
/programs/games/doom/trunk/h/d_englsh.h |
---|
0,0 → 1,701 |
// Emacs style mode select -*- C++ -*- |
//----------------------------------------------------------------------------- |
// |
// $Id:$ |
// |
// Copyright (C) 1993-1996 by id Software, Inc. |
// |
// This source is available for distribution and/or modification |
// only under the terms of the DOOM Source Code License as |
// published by id Software. All rights reserved. |
// |
// The source is distributed in the hope that it will be useful, |
// but WITHOUT ANY WARRANTY; without even the implied warranty of |
// FITNESS FOR A PARTICULAR PURPOSE. See the DOOM Source Code License |
// for more details. |
// |
// DESCRIPTION: |
// Printed strings for translation. |
// English language support (default). |
// |
//----------------------------------------------------------------------------- |
#ifndef __D_ENGLSH__ |
#define __D_ENGLSH__ |
// |
// Printed strings for translation |
// |
// |
// D_Main.C |
// |
#define D_DEVSTR "Development mode ON.\n" |
#define D_CDROM "CD-ROM Version: default.cfg from c:\\doomdata\n" |
// |
// M_Menu.C |
// |
#define PRESSKEY "press a key." |
#define PRESSYN "press y or n." |
#define QUITMSG "are you sure you want to\nquit this great game?" |
#define LOADNET "you can't do load while in a net game!\n\n"PRESSKEY |
#define QLOADNET "you can't quickload during a netgame!\n\n"PRESSKEY |
#define QSAVESPOT "you haven't picked a quicksave slot yet!\n\n"PRESSKEY |
#define SAVEDEAD "you can't save if you aren't playing!\n\n"PRESSKEY |
#define QSPROMPT "quicksave over your game named\n\n'%s'?\n\n"PRESSYN |
#define QLPROMPT "do you want to quickload the game named\n\n'%s'?\n\n"PRESSYN |
#define NEWGAME \ |
"you can't start a new game\n"\ |
"while in a network game.\n\n"PRESSKEY |
#define NIGHTMARE \ |
"are you sure? this skill level\n"\ |
"isn't even remotely fair.\n\n"PRESSYN |
#define SWSTRING \ |
"this is the shareware version of doom.\n\n"\ |
"you need to order the entire trilogy.\n\n"PRESSKEY |
#define MSGOFF "Messages OFF" |
#define MSGON "Messages ON" |
#define NETEND "you can't end a netgame!\n\n"PRESSKEY |
#define ENDGAME "are you sure you want to end the game?\n\n"PRESSYN |
#define DOSY "(press y to quit)" |
#define DETAILHI "High detail" |
#define DETAILLO "Low detail" |
#define GAMMALVL0 "Gamma correction OFF" |
#define GAMMALVL1 "Gamma correction level 1" |
#define GAMMALVL2 "Gamma correction level 2" |
#define GAMMALVL3 "Gamma correction level 3" |
#define GAMMALVL4 "Gamma correction level 4" |
#define EMPTYSTRING "empty slot" |
// |
// P_inter.C |
// |
#define GOTARMOR "Picked up the armor." |
#define GOTMEGA "Picked up the MegaArmor!" |
#define GOTHTHBONUS "Picked up a health bonus." |
#define GOTARMBONUS "Picked up an armor bonus." |
#define GOTSTIM "Picked up a stimpack." |
#define GOTMEDINEED "Picked up a medikit that you REALLY need!" |
#define GOTMEDIKIT "Picked up a medikit." |
#define GOTSUPER "Supercharge!" |
#define GOTBLUECARD "Picked up a blue keycard." |
#define GOTYELWCARD "Picked up a yellow keycard." |
#define GOTREDCARD "Picked up a red keycard." |
#define GOTBLUESKUL "Picked up a blue skull key." |
#define GOTYELWSKUL "Picked up a yellow skull key." |
#define GOTREDSKULL "Picked up a red skull key." |
#define GOTINVUL "Invulnerability!" |
#define GOTBERSERK "Berserk!" |
#define GOTINVIS "Partial Invisibility" |
#define GOTSUIT "Radiation Shielding Suit" |
#define GOTMAP "Computer Area Map" |
#define GOTVISOR "Light Amplification Visor" |
#define GOTMSPHERE "MegaSphere!" |
#define GOTCLIP "Picked up a clip." |
#define GOTCLIPBOX "Picked up a box of bullets." |
#define GOTROCKET "Picked up a rocket." |
#define GOTROCKBOX "Picked up a box of rockets." |
#define GOTCELL "Picked up an energy cell." |
#define GOTCELLBOX "Picked up an energy cell pack." |
#define GOTSHELLS "Picked up 4 shotgun shells." |
#define GOTSHELLBOX "Picked up a box of shotgun shells." |
#define GOTBACKPACK "Picked up a backpack full of ammo!" |
#define GOTBFG9000 "You got the BFG9000! Oh, yes." |
#define GOTCHAINGUN "You got the chaingun!" |
#define GOTCHAINSAW "A chainsaw! Find some meat!" |
#define GOTLAUNCHER "You got the rocket launcher!" |
#define GOTPLASMA "You got the plasma gun!" |
#define GOTSHOTGUN "You got the shotgun!" |
#define GOTSHOTGUN2 "You got the super shotgun!" |
// |
// P_Doors.C |
// |
#define PD_BLUEO "You need a blue key to activate this object" |
#define PD_REDO "You need a red key to activate this object" |
#define PD_YELLOWO "You need a yellow key to activate this object" |
#define PD_BLUEK "You need a blue key to open this door" |
#define PD_REDK "You need a red key to open this door" |
#define PD_YELLOWK "You need a yellow key to open this door" |
// |
// G_game.C |
// |
#define GGSAVED "game saved." |
// |
// HU_stuff.C |
// |
#define HUSTR_MSGU "[Message unsent]" |
#define HUSTR_E1M1 "E1M1: Hangar" |
#define HUSTR_E1M2 "E1M2: Nuclear Plant" |
#define HUSTR_E1M3 "E1M3: Toxin Refinery" |
#define HUSTR_E1M4 "E1M4: Command Control" |
#define HUSTR_E1M5 "E1M5: Phobos Lab" |
#define HUSTR_E1M6 "E1M6: Central Processing" |
#define HUSTR_E1M7 "E1M7: Computer Station" |
#define HUSTR_E1M8 "E1M8: Phobos Anomaly" |
#define HUSTR_E1M9 "E1M9: Military Base" |
#define HUSTR_E2M1 "E2M1: Deimos Anomaly" |
#define HUSTR_E2M2 "E2M2: Containment Area" |
#define HUSTR_E2M3 "E2M3: Refinery" |
#define HUSTR_E2M4 "E2M4: Deimos Lab" |
#define HUSTR_E2M5 "E2M5: Command Center" |
#define HUSTR_E2M6 "E2M6: Halls of the Damned" |
#define HUSTR_E2M7 "E2M7: Spawning Vats" |
#define HUSTR_E2M8 "E2M8: Tower of Babel" |
#define HUSTR_E2M9 "E2M9: Fortress of Mystery" |
#define HUSTR_E3M1 "E3M1: Hell Keep" |
#define HUSTR_E3M2 "E3M2: Slough of Despair" |
#define HUSTR_E3M3 "E3M3: Pandemonium" |
#define HUSTR_E3M4 "E3M4: House of Pain" |
#define HUSTR_E3M5 "E3M5: Unholy Cathedral" |
#define HUSTR_E3M6 "E3M6: Mt. Erebus" |
#define HUSTR_E3M7 "E3M7: Limbo" |
#define HUSTR_E3M8 "E3M8: Dis" |
#define HUSTR_E3M9 "E3M9: Warrens" |
#define HUSTR_E4M1 "E4M1: Hell Beneath" |
#define HUSTR_E4M2 "E4M2: Perfect Hatred" |
#define HUSTR_E4M3 "E4M3: Sever The Wicked" |
#define HUSTR_E4M4 "E4M4: Unruly Evil" |
#define HUSTR_E4M5 "E4M5: They Will Repent" |
#define HUSTR_E4M6 "E4M6: Against Thee Wickedly" |
#define HUSTR_E4M7 "E4M7: And Hell Followed" |
#define HUSTR_E4M8 "E4M8: Unto The Cruel" |
#define HUSTR_E4M9 "E4M9: Fear" |
#define HUSTR_1 "level 1: entryway" |
#define HUSTR_2 "level 2: underhalls" |
#define HUSTR_3 "level 3: the gantlet" |
#define HUSTR_4 "level 4: the focus" |
#define HUSTR_5 "level 5: the waste tunnels" |
#define HUSTR_6 "level 6: the crusher" |
#define HUSTR_7 "level 7: dead simple" |
#define HUSTR_8 "level 8: tricks and traps" |
#define HUSTR_9 "level 9: the pit" |
#define HUSTR_10 "level 10: refueling base" |
#define HUSTR_11 "level 11: 'o' of destruction!" |
#define HUSTR_12 "level 12: the factory" |
#define HUSTR_13 "level 13: downtown" |
#define HUSTR_14 "level 14: the inmost dens" |
#define HUSTR_15 "level 15: industrial zone" |
#define HUSTR_16 "level 16: suburbs" |
#define HUSTR_17 "level 17: tenements" |
#define HUSTR_18 "level 18: the courtyard" |
#define HUSTR_19 "level 19: the citadel" |
#define HUSTR_20 "level 20: gotcha!" |
#define HUSTR_21 "level 21: nirvana" |
#define HUSTR_22 "level 22: the catacombs" |
#define HUSTR_23 "level 23: barrels o' fun" |
#define HUSTR_24 "level 24: the chasm" |
#define HUSTR_25 "level 25: bloodfalls" |
#define HUSTR_26 "level 26: the abandoned mines" |
#define HUSTR_27 "level 27: monster condo" |
#define HUSTR_28 "level 28: the spirit world" |
#define HUSTR_29 "level 29: the living end" |
#define HUSTR_30 "level 30: icon of sin" |
#define HUSTR_31 "level 31: wolfenstein" |
#define HUSTR_32 "level 32: grosse" |
#define PHUSTR_1 "level 1: congo" |
#define PHUSTR_2 "level 2: well of souls" |
#define PHUSTR_3 "level 3: aztec" |
#define PHUSTR_4 "level 4: caged" |
#define PHUSTR_5 "level 5: ghost town" |
#define PHUSTR_6 "level 6: baron's lair" |
#define PHUSTR_7 "level 7: caughtyard" |
#define PHUSTR_8 "level 8: realm" |
#define PHUSTR_9 "level 9: abattoire" |
#define PHUSTR_10 "level 10: onslaught" |
#define PHUSTR_11 "level 11: hunted" |
#define PHUSTR_12 "level 12: speed" |
#define PHUSTR_13 "level 13: the crypt" |
#define PHUSTR_14 "level 14: genesis" |
#define PHUSTR_15 "level 15: the twilight" |
#define PHUSTR_16 "level 16: the omen" |
#define PHUSTR_17 "level 17: compound" |
#define PHUSTR_18 "level 18: neurosphere" |
#define PHUSTR_19 "level 19: nme" |
#define PHUSTR_20 "level 20: the death domain" |
#define PHUSTR_21 "level 21: slayer" |
#define PHUSTR_22 "level 22: impossible mission" |
#define PHUSTR_23 "level 23: tombstone" |
#define PHUSTR_24 "level 24: the final frontier" |
#define PHUSTR_25 "level 25: the temple of darkness" |
#define PHUSTR_26 "level 26: bunker" |
#define PHUSTR_27 "level 27: anti-christ" |
#define PHUSTR_28 "level 28: the sewers" |
#define PHUSTR_29 "level 29: odyssey of noises" |
#define PHUSTR_30 "level 30: the gateway of hell" |
#define PHUSTR_31 "level 31: cyberden" |
#define PHUSTR_32 "level 32: go 2 it" |
#define THUSTR_1 "level 1: system control" |
#define THUSTR_2 "level 2: human bbq" |
#define THUSTR_3 "level 3: power control" |
#define THUSTR_4 "level 4: wormhole" |
#define THUSTR_5 "level 5: hanger" |
#define THUSTR_6 "level 6: open season" |
#define THUSTR_7 "level 7: prison" |
#define THUSTR_8 "level 8: metal" |
#define THUSTR_9 "level 9: stronghold" |
#define THUSTR_10 "level 10: redemption" |
#define THUSTR_11 "level 11: storage facility" |
#define THUSTR_12 "level 12: crater" |
#define THUSTR_13 "level 13: nukage processing" |
#define THUSTR_14 "level 14: steel works" |
#define THUSTR_15 "level 15: dead zone" |
#define THUSTR_16 "level 16: deepest reaches" |
#define THUSTR_17 "level 17: processing area" |
#define THUSTR_18 "level 18: mill" |
#define THUSTR_19 "level 19: shipping/respawning" |
#define THUSTR_20 "level 20: central processing" |
#define THUSTR_21 "level 21: administration center" |
#define THUSTR_22 "level 22: habitat" |
#define THUSTR_23 "level 23: lunar mining project" |
#define THUSTR_24 "level 24: quarry" |
#define THUSTR_25 "level 25: baron's den" |
#define THUSTR_26 "level 26: ballistyx" |
#define THUSTR_27 "level 27: mount pain" |
#define THUSTR_28 "level 28: heck" |
#define THUSTR_29 "level 29: river styx" |
#define THUSTR_30 "level 30: last call" |
#define THUSTR_31 "level 31: pharaoh" |
#define THUSTR_32 "level 32: caribbean" |
#define HUSTR_CHATMACRO1 "I'm ready to kick butt!" |
#define HUSTR_CHATMACRO2 "I'm OK." |
#define HUSTR_CHATMACRO3 "I'm not looking too good!" |
#define HUSTR_CHATMACRO4 "Help!" |
#define HUSTR_CHATMACRO5 "You suck!" |
#define HUSTR_CHATMACRO6 "Next time, scumbag..." |
#define HUSTR_CHATMACRO7 "Come here!" |
#define HUSTR_CHATMACRO8 "I'll take care of it." |
#define HUSTR_CHATMACRO9 "Yes" |
#define HUSTR_CHATMACRO0 "No" |
#define HUSTR_TALKTOSELF1 "You mumble to yourself" |
#define HUSTR_TALKTOSELF2 "Who's there?" |
#define HUSTR_TALKTOSELF3 "You scare yourself" |
#define HUSTR_TALKTOSELF4 "You start to rave" |
#define HUSTR_TALKTOSELF5 "You've lost it..." |
#define HUSTR_MESSAGESENT "[Message Sent]" |
// The following should NOT be changed unless it seems |
// just AWFULLY necessary |
#define HUSTR_PLRGREEN "Green: " |
#define HUSTR_PLRINDIGO "Indigo: " |
#define HUSTR_PLRBROWN "Brown: " |
#define HUSTR_PLRRED "Red: " |
#define HUSTR_KEYGREEN 'g' |
#define HUSTR_KEYINDIGO 'i' |
#define HUSTR_KEYBROWN 'b' |
#define HUSTR_KEYRED 'r' |
// |
// AM_map.C |
// |
#define AMSTR_FOLLOWON "Follow Mode ON" |
#define AMSTR_FOLLOWOFF "Follow Mode OFF" |
#define AMSTR_GRIDON "Grid ON" |
#define AMSTR_GRIDOFF "Grid OFF" |
#define AMSTR_MARKEDSPOT "Marked Spot" |
#define AMSTR_MARKSCLEARED "All Marks Cleared" |
// |
// ST_stuff.C |
// |
#define STSTR_MUS "Music Change" |
#define STSTR_NOMUS "IMPOSSIBLE SELECTION" |
#define STSTR_DQDON "Degreelessness Mode On" |
#define STSTR_DQDOFF "Degreelessness Mode Off" |
#define STSTR_KFAADDED "Very Happy Ammo Added" |
#define STSTR_FAADDED "Ammo (no keys) Added" |
#define STSTR_NCON "No Clipping Mode ON" |
#define STSTR_NCOFF "No Clipping Mode OFF" |
#define STSTR_BEHOLD "inVuln, Str, Inviso, Rad, Allmap, or Lite-amp" |
#define STSTR_BEHOLDX "Power-up Toggled" |
#define STSTR_CHOPPERS "... doesn't suck - GM" |
#define STSTR_CLEV "Changing Level..." |
// |
// F_Finale.C |
// |
#define E1TEXT \ |
"Once you beat the big badasses and\n"\ |
"clean out the moon base you're supposed\n"\ |
"to win, aren't you? Aren't you? Where's\n"\ |
"your fat reward and ticket home? What\n"\ |
"the hell is this? It's not supposed to\n"\ |
"end this way!\n"\ |
"\n" \ |
"It stinks like rotten meat, but looks\n"\ |
"like the lost Deimos base. Looks like\n"\ |
"you're stuck on The Shores of Hell.\n"\ |
"The only way out is through.\n"\ |
"\n"\ |
"To continue the DOOM experience, play\n"\ |
"The Shores of Hell and its amazing\n"\ |
"sequel, Inferno!\n" |
#define E2TEXT \ |
"You've done it! The hideous cyber-\n"\ |
"demon lord that ruled the lost Deimos\n"\ |
"moon base has been slain and you\n"\ |
"are triumphant! But ... where are\n"\ |
"you? You clamber to the edge of the\n"\ |
"moon and look down to see the awful\n"\ |
"truth.\n" \ |
"\n"\ |
"Deimos floats above Hell itself!\n"\ |
"You've never heard of anyone escaping\n"\ |
"from Hell, but you'll make the bastards\n"\ |
"sorry they ever heard of you! Quickly,\n"\ |
"you rappel down to the surface of\n"\ |
"Hell.\n"\ |
"\n" \ |
"Now, it's on to the final chapter of\n"\ |
"DOOM! -- Inferno." |
#define E3TEXT \ |
"The loathsome spiderdemon that\n"\ |
"masterminded the invasion of the moon\n"\ |
"bases and caused so much death has had\n"\ |
"its ass kicked for all time.\n"\ |
"\n"\ |
"A hidden doorway opens and you enter.\n"\ |
"You've proven too tough for Hell to\n"\ |
"contain, and now Hell at last plays\n"\ |
"fair -- for you emerge from the door\n"\ |
"to see the green fields of Earth!\n"\ |
"Home at last.\n" \ |
"\n"\ |
"You wonder what's been happening on\n"\ |
"Earth while you were battling evil\n"\ |
"unleashed. It's good that no Hell-\n"\ |
"spawn could have come through that\n"\ |
"door with you ..." |
#define E4TEXT \ |
"the spider mastermind must have sent forth\n"\ |
"its legions of hellspawn before your\n"\ |
"final confrontation with that terrible\n"\ |
"beast from hell. but you stepped forward\n"\ |
"and brought forth eternal damnation and\n"\ |
"suffering upon the horde as a true hero\n"\ |
"would in the face of something so evil.\n"\ |
"\n"\ |
"besides, someone was gonna pay for what\n"\ |
"happened to daisy, your pet rabbit.\n"\ |
"\n"\ |
"but now, you see spread before you more\n"\ |
"potential pain and gibbitude as a nation\n"\ |
"of demons run amok among our cities.\n"\ |
"\n"\ |
"next stop, hell on earth!" |
// after level 6, put this: |
#define C1TEXT \ |
"YOU HAVE ENTERED DEEPLY INTO THE INFESTED\n" \ |
"STARPORT. BUT SOMETHING IS WRONG. THE\n" \ |
"MONSTERS HAVE BROUGHT THEIR OWN REALITY\n" \ |
"WITH THEM, AND THE STARPORT'S TECHNOLOGY\n" \ |
"IS BEING SUBVERTED BY THEIR PRESENCE.\n" \ |
"\n"\ |
"AHEAD, YOU SEE AN OUTPOST OF HELL, A\n" \ |
"FORTIFIED ZONE. IF YOU CAN GET PAST IT,\n" \ |
"YOU CAN PENETRATE INTO THE HAUNTED HEART\n" \ |
"OF THE STARBASE AND FIND THE CONTROLLING\n" \ |
"SWITCH WHICH HOLDS EARTH'S POPULATION\n" \ |
"HOSTAGE." |
// After level 11, put this: |
#define C2TEXT \ |
"YOU HAVE WON! YOUR VICTORY HAS ENABLED\n" \ |
"HUMANKIND TO EVACUATE EARTH AND ESCAPE\n"\ |
"THE NIGHTMARE. NOW YOU ARE THE ONLY\n"\ |
"HUMAN LEFT ON THE FACE OF THE PLANET.\n"\ |
"CANNIBAL MUTATIONS, CARNIVOROUS ALIENS,\n"\ |
"AND EVIL SPIRITS ARE YOUR ONLY NEIGHBORS.\n"\ |
"YOU SIT BACK AND WAIT FOR DEATH, CONTENT\n"\ |
"THAT YOU HAVE SAVED YOUR SPECIES.\n"\ |
"\n"\ |
"BUT THEN, EARTH CONTROL BEAMS DOWN A\n"\ |
"MESSAGE FROM SPACE: \"SENSORS HAVE LOCATED\n"\ |
"THE SOURCE OF THE ALIEN INVASION. IF YOU\n"\ |
"GO THERE, YOU MAY BE ABLE TO BLOCK THEIR\n"\ |
"ENTRY. THE ALIEN BASE IS IN THE HEART OF\n"\ |
"YOUR OWN HOME CITY, NOT FAR FROM THE\n"\ |
"STARPORT.\" SLOWLY AND PAINFULLY YOU GET\n"\ |
"UP AND RETURN TO THE FRAY." |
// After level 20, put this: |
#define C3TEXT \ |
"YOU ARE AT THE CORRUPT HEART OF THE CITY,\n"\ |
"SURROUNDED BY THE CORPSES OF YOUR ENEMIES.\n"\ |
"YOU SEE NO WAY TO DESTROY THE CREATURES'\n"\ |
"ENTRYWAY ON THIS SIDE, SO YOU CLENCH YOUR\n"\ |
"TEETH AND PLUNGE THROUGH IT.\n"\ |
"\n"\ |
"THERE MUST BE A WAY TO CLOSE IT ON THE\n"\ |
"OTHER SIDE. WHAT DO YOU CARE IF YOU'VE\n"\ |
"GOT TO GO THROUGH HELL TO GET TO IT?" |
// After level 29, put this: |
#define C4TEXT \ |
"THE HORRENDOUS VISAGE OF THE BIGGEST\n"\ |
"DEMON YOU'VE EVER SEEN CRUMBLES BEFORE\n"\ |
"YOU, AFTER YOU PUMP YOUR ROCKETS INTO\n"\ |
"HIS EXPOSED BRAIN. THE MONSTER SHRIVELS\n"\ |
"UP AND DIES, ITS THRASHING LIMBS\n"\ |
"DEVASTATING UNTOLD MILES OF HELL'S\n"\ |
"SURFACE.\n"\ |
"\n"\ |
"YOU'VE DONE IT. THE INVASION IS OVER.\n"\ |
"EARTH IS SAVED. HELL IS A WRECK. YOU\n"\ |
"WONDER WHERE BAD FOLKS WILL GO WHEN THEY\n"\ |
"DIE, NOW. WIPING THE SWEAT FROM YOUR\n"\ |
"FOREHEAD YOU BEGIN THE LONG TREK BACK\n"\ |
"HOME. REBUILDING EARTH OUGHT TO BE A\n"\ |
"LOT MORE FUN THAN RUINING IT WAS.\n" |
// Before level 31, put this: |
#define C5TEXT \ |
"CONGRATULATIONS, YOU'VE FOUND THE SECRET\n"\ |
"LEVEL! LOOKS LIKE IT'S BEEN BUILT BY\n"\ |
"HUMANS, RATHER THAN DEMONS. YOU WONDER\n"\ |
"WHO THE INMATES OF THIS CORNER OF HELL\n"\ |
"WILL BE." |
// Before level 32, put this: |
#define C6TEXT \ |
"CONGRATULATIONS, YOU'VE FOUND THE\n"\ |
"SUPER SECRET LEVEL! YOU'D BETTER\n"\ |
"BLAZE THROUGH THIS ONE!\n" |
// after map 06 |
#define P1TEXT \ |
"You gloat over the steaming carcass of the\n"\ |
"Guardian. With its death, you've wrested\n"\ |
"the Accelerator from the stinking claws\n"\ |
"of Hell. You relax and glance around the\n"\ |
"room. Damn! There was supposed to be at\n"\ |
"least one working prototype, but you can't\n"\ |
"see it. The demons must have taken it.\n"\ |
"\n"\ |
"You must find the prototype, or all your\n"\ |
"struggles will have been wasted. Keep\n"\ |
"moving, keep fighting, keep killing.\n"\ |
"Oh yes, keep living, too." |
// after map 11 |
#define P2TEXT \ |
"Even the deadly Arch-Vile labyrinth could\n"\ |
"not stop you, and you've gotten to the\n"\ |
"prototype Accelerator which is soon\n"\ |
"efficiently and permanently deactivated.\n"\ |
"\n"\ |
"You're good at that kind of thing." |
// after map 20 |
#define P3TEXT \ |
"You've bashed and battered your way into\n"\ |
"the heart of the devil-hive. Time for a\n"\ |
"Search-and-Destroy mission, aimed at the\n"\ |
"Gatekeeper, whose foul offspring is\n"\ |
"cascading to Earth. Yeah, he's bad. But\n"\ |
"you know who's worse!\n"\ |
"\n"\ |
"Grinning evilly, you check your gear, and\n"\ |
"get ready to give the bastard a little Hell\n"\ |
"of your own making!" |
// after map 30 |
#define P4TEXT \ |
"The Gatekeeper's evil face is splattered\n"\ |
"all over the place. As its tattered corpse\n"\ |
"collapses, an inverted Gate forms and\n"\ |
"sucks down the shards of the last\n"\ |
"prototype Accelerator, not to mention the\n"\ |
"few remaining demons. You're done. Hell\n"\ |
"has gone back to pounding bad dead folks \n"\ |
"instead of good live ones. Remember to\n"\ |
"tell your grandkids to put a rocket\n"\ |
"launcher in your coffin. If you go to Hell\n"\ |
"when you die, you'll need it for some\n"\ |
"final cleaning-up ..." |
// before map 31 |
#define P5TEXT \ |
"You've found the second-hardest level we\n"\ |
"got. Hope you have a saved game a level or\n"\ |
"two previous. If not, be prepared to die\n"\ |
"aplenty. For master marines only." |
// before map 32 |
#define P6TEXT \ |
"Betcha wondered just what WAS the hardest\n"\ |
"level we had ready for ya? Now you know.\n"\ |
"No one gets out alive." |
#define T1TEXT \ |
"You've fought your way out of the infested\n"\ |
"experimental labs. It seems that UAC has\n"\ |
"once again gulped it down. With their\n"\ |
"high turnover, it must be hard for poor\n"\ |
"old UAC to buy corporate health insurance\n"\ |
"nowadays..\n"\ |
"\n"\ |
"Ahead lies the military complex, now\n"\ |
"swarming with diseased horrors hot to get\n"\ |
"their teeth into you. With luck, the\n"\ |
"complex still has some warlike ordnance\n"\ |
"laying around." |
#define T2TEXT \ |
"You hear the grinding of heavy machinery\n"\ |
"ahead. You sure hope they're not stamping\n"\ |
"out new hellspawn, but you're ready to\n"\ |
"ream out a whole herd if you have to.\n"\ |
"They might be planning a blood feast, but\n"\ |
"you feel about as mean as two thousand\n"\ |
"maniacs packed into one mad killer.\n"\ |
"\n"\ |
"You don't plan to go down easy." |
#define T3TEXT \ |
"The vista opening ahead looks real damn\n"\ |
"familiar. Smells familiar, too -- like\n"\ |
"fried excrement. You didn't like this\n"\ |
"place before, and you sure as hell ain't\n"\ |
"planning to like it now. The more you\n"\ |
"brood on it, the madder you get.\n"\ |
"Hefting your gun, an evil grin trickles\n"\ |
"onto your face. Time to take some names." |
#define T4TEXT \ |
"Suddenly, all is silent, from one horizon\n"\ |
"to the other. The agonizing echo of Hell\n"\ |
"fades away, the nightmare sky turns to\n"\ |
"blue, the heaps of monster corpses start \n"\ |
"to evaporate along with the evil stench \n"\ |
"that filled the air. Jeeze, maybe you've\n"\ |
"done it. Have you really won?\n"\ |
"\n"\ |
"Something rumbles in the distance.\n"\ |
"A blue light begins to glow inside the\n"\ |
"ruined skull of the demon-spitter." |
#define T5TEXT \ |
"What now? Looks totally different. Kind\n"\ |
"of like King Tut's condo. Well,\n"\ |
"whatever's here can't be any worse\n"\ |
"than usual. Can it? Or maybe it's best\n"\ |
"to let sleeping gods lie.." |
#define T6TEXT \ |
"Time for a vacation. You've burst the\n"\ |
"bowels of hell and by golly you're ready\n"\ |
"for a break. You mutter to yourself,\n"\ |
"Maybe someone else can kick Hell's ass\n"\ |
"next time around. Ahead lies a quiet town,\n"\ |
"with peaceful flowing water, quaint\n"\ |
"buildings, and presumably no Hellspawn.\n"\ |
"\n"\ |
"As you step off the transport, you hear\n"\ |
"the stomp of a cyberdemon's iron shoe." |
// |
// Character cast strings F_FINALE.C |
// |
#define CC_ZOMBIE "ZOMBIEMAN" |
#define CC_SHOTGUN "SHOTGUN GUY" |
#define CC_HEAVY "HEAVY WEAPON DUDE" |
#define CC_IMP "IMP" |
#define CC_DEMON "DEMON" |
#define CC_LOST "LOST SOUL" |
#define CC_CACO "CACODEMON" |
#define CC_HELL "HELL KNIGHT" |
#define CC_BARON "BARON OF HELL" |
#define CC_ARACH "ARACHNOTRON" |
#define CC_PAIN "PAIN ELEMENTAL" |
#define CC_REVEN "REVENANT" |
#define CC_MANCU "MANCUBUS" |
#define CC_ARCH "ARCH-VILE" |
#define CC_SPIDER "THE SPIDER MASTERMIND" |
#define CC_CYBER "THE CYBERDEMON" |
#define CC_HERO "OUR HERO" |
#endif |
//----------------------------------------------------------------------------- |
// |
// $Log:$ |
// |
//----------------------------------------------------------------------------- |
/programs/games/doom/trunk/h/d_event.h |
---|
0,0 → 1,122 |
// Emacs style mode select -*- C++ -*- |
//----------------------------------------------------------------------------- |
// |
// $Id:$ |
// |
// Copyright (C) 1993-1996 by id Software, Inc. |
// |
// This source is available for distribution and/or modification |
// only under the terms of the DOOM Source Code License as |
// published by id Software. All rights reserved. |
// |
// The source is distributed in the hope that it will be useful, |
// but WITHOUT ANY WARRANTY; without even the implied warranty of |
// FITNESS FOR A PARTICULAR PURPOSE. See the DOOM Source Code License |
// for more details. |
// |
// DESCRIPTION: |
// |
// |
//----------------------------------------------------------------------------- |
#ifndef __D_EVENT__ |
#define __D_EVENT__ |
#include "doomtype.h" |
// |
// Event handling. |
// |
// Input event types. |
typedef enum |
{ |
ev_keydown, |
ev_keyup, |
ev_mouse, |
ev_joystick |
} evtype_t; |
// Event structure. |
typedef struct |
{ |
evtype_t type; |
int data1; // keys / mouse/joystick buttons |
int data2; // mouse/joystick x move |
int data3; // mouse/joystick y move |
} event_t; |
typedef enum |
{ |
ga_nothing, |
ga_loadlevel, |
ga_newgame, |
ga_loadgame, |
ga_savegame, |
ga_playdemo, |
ga_completed, |
ga_victory, |
ga_worlddone, |
ga_screenshot |
} gameaction_t; |
// |
// Button/action code definitions. |
// |
typedef enum |
{ |
// Press "Fire". |
BT_ATTACK = 1, |
// Use button, to open doors, activate switches. |
BT_USE = 2, |
// Flag: game events, not really buttons. |
BT_SPECIAL = 128, |
BT_SPECIALMASK = 3, |
// Flag, weapon change pending. |
// If true, the next 3 bits hold weapon num. |
BT_CHANGE = 4, |
// The 3bit weapon mask and shift, convenience. |
BT_WEAPONMASK = (8+16+32), |
BT_WEAPONSHIFT = 3, |
// Pause the game. |
BTS_PAUSE = 1, |
// Save the game at each console. |
BTS_SAVEGAME = 2, |
// Savegame slot numbers |
// occupy the second byte of buttons. |
BTS_SAVEMASK = (4+8+16), |
BTS_SAVESHIFT = 2, |
} buttoncode_t; |
// |
// GLOBAL VARIABLES |
// |
#define MAXEVENTS 64 |
extern event_t events[MAXEVENTS]; |
extern int eventhead; |
extern int eventtail; |
extern gameaction_t gameaction; |
#endif |
//----------------------------------------------------------------------------- |
// |
// $Log:$ |
// |
//----------------------------------------------------------------------------- |
/programs/games/doom/trunk/h/d_french.h |
---|
0,0 → 1,433 |
// Emacs style mode select -*- C++ -*- |
//----------------------------------------------------------------------------- |
// |
// $Id:$ |
// |
// Copyright (C) 1993-1996 by id Software, Inc. |
// |
// This source is available for distribution and/or modification |
// only under the terms of the DOOM Source Code License as |
// published by id Software. All rights reserved. |
// |
// The source is distributed in the hope that it will be useful, |
// but WITHOUT ANY WARRANTY; without even the implied warranty of |
// FITNESS FOR A PARTICULAR PURPOSE. See the DOOM Source Code License |
// for more details. |
// |
// DESCRIPTION: |
// Printed strings, french translation. |
// |
//----------------------------------------------------------------------------- |
#ifndef __D_FRENCH__ |
#define __D_FRENCH__ |
// |
// D_Main.C |
// |
#define D_DEVSTR "MODE DEVELOPPEMENT ON.\n" |
#define D_CDROM "VERSION CD-ROM: DEFAULT.CFG DANS C:\\DOOMDATA\n" |
// |
// M_Menu.C |
// |
#define PRESSKEY "APPUYEZ SUR UNE TOUCHE." |
#define PRESSYN "APPUYEZ SUR Y OU N" |
#define QUITMSG "VOUS VOULEZ VRAIMENT\nQUITTER CE SUPER JEU?" |
#define LOADNET "VOUS NE POUVEZ PAS CHARGER\nUN JEU EN RESEAU!\n\n"PRESSKEY |
#define QLOADNET "CHARGEMENT RAPIDE INTERDIT EN RESEAU!\n\n"PRESSKEY |
#define QSAVESPOT "VOUS N'AVEZ PAS CHOISI UN EMPLACEMENT!\n\n"PRESSKEY |
#define SAVEDEAD "VOUS NE POUVEZ PAS SAUVER SI VOUS NE JOUEZ "\ |
"PAS!\n\n"PRESSKEY |
#define QSPROMPT "SAUVEGARDE RAPIDE DANS LE FICHIER \n\n'%s'?\n\n"PRESSYN |
#define QLPROMPT "VOULEZ-VOUS CHARGER LA SAUVEGARDE"\ |
"\n\n'%s'?\n\n"PRESSYN |
#define NEWGAME "VOUS NE POUVEZ PAS LANCER\n"\ |
"UN NOUVEAU JEU SUR RESEAU.\n\n"PRESSKEY |
#define NIGHTMARE "VOUS CONFIRMEZ? CE NIVEAU EST\n"\ |
"VRAIMENT IMPITOYABLE!n"PRESSYN |
#define SWSTRING "CECI EST UNE VERSION SHAREWARE DE DOOM.\n\n"\ |
"VOUS DEVRIEZ COMMANDER LA TRILOGIE COMPLETE.\n\n"PRESSKEY |
#define MSGOFF "MESSAGES OFF" |
#define MSGON "MESSAGES ON" |
#define NETEND "VOUS NE POUVEZ PAS METTRE FIN A UN JEU SUR "\ |
"RESEAU!\n\n"PRESSKEY |
#define ENDGAME "VOUS VOULEZ VRAIMENT METTRE FIN AU JEU?\n\n"PRESSYN |
#define DOSY "(APPUYEZ SUR Y POUR REVENIR AU OS.)" |
#define DETAILHI "GRAPHISMES MAXIMUM " |
#define DETAILLO "GRAPHISMES MINIMUM " |
#define GAMMALVL0 "CORRECTION GAMMA OFF" |
#define GAMMALVL1 "CORRECTION GAMMA NIVEAU 1" |
#define GAMMALVL2 "CORRECTION GAMMA NIVEAU 2" |
#define GAMMALVL3 "CORRECTION GAMMA NIVEAU 3" |
#define GAMMALVL4 "CORRECTION GAMMA NIVEAU 4" |
#define EMPTYSTRING "EMPLACEMENT VIDE" |
// |
// P_inter.C |
// |
#define GOTARMOR "ARMURE RECUPEREE." |
#define GOTMEGA "MEGA-ARMURE RECUPEREE!" |
#define GOTHTHBONUS "BONUS DE SANTE RECUPERE." |
#define GOTARMBONUS "BONUS D'ARMURE RECUPERE." |
#define GOTSTIM "STIMPACK RECUPERE." |
#define GOTMEDINEED "MEDIKIT RECUPERE. VOUS EN AVEZ VRAIMENT BESOIN!" |
#define GOTMEDIKIT "MEDIKIT RECUPERE." |
#define GOTSUPER "SUPERCHARGE!" |
#define GOTBLUECARD "CARTE MAGNETIQUE BLEUE RECUPEREE." |
#define GOTYELWCARD "CARTE MAGNETIQUE JAUNE RECUPEREE." |
#define GOTREDCARD "CARTE MAGNETIQUE ROUGE RECUPEREE." |
#define GOTBLUESKUL "CLEF CRANE BLEUE RECUPEREE." |
#define GOTYELWSKUL "CLEF CRANE JAUNE RECUPEREE." |
#define GOTREDSKULL "CLEF CRANE ROUGE RECUPEREE." |
#define GOTINVUL "INVULNERABILITE!" |
#define GOTBERSERK "BERSERK!" |
#define GOTINVIS "INVISIBILITE PARTIELLE " |
#define GOTSUIT "COMBINAISON ANTI-RADIATIONS " |
#define GOTMAP "CARTE INFORMATIQUE " |
#define GOTVISOR "VISEUR A AMPLIFICATION DE LUMIERE " |
#define GOTMSPHERE "MEGASPHERE!" |
#define GOTCLIP "CHARGEUR RECUPERE." |
#define GOTCLIPBOX "BOITE DE BALLES RECUPEREE." |
#define GOTROCKET "ROQUETTE RECUPEREE." |
#define GOTROCKBOX "CAISSE DE ROQUETTES RECUPEREE." |
#define GOTCELL "CELLULE D'ENERGIE RECUPEREE." |
#define GOTCELLBOX "PACK DE CELLULES D'ENERGIE RECUPERE." |
#define GOTSHELLS "4 CARTOUCHES RECUPEREES." |
#define GOTSHELLBOX "BOITE DE CARTOUCHES RECUPEREE." |
#define GOTBACKPACK "SAC PLEIN DE MUNITIONS RECUPERE!" |
#define GOTBFG9000 "VOUS AVEZ UN BFG9000! OH, OUI!" |
#define GOTCHAINGUN "VOUS AVEZ LA MITRAILLEUSE!" |
#define GOTCHAINSAW "UNE TRONCONNEUSE!" |
#define GOTLAUNCHER "VOUS AVEZ UN LANCE-ROQUETTES!" |
#define GOTPLASMA "VOUS AVEZ UN FUSIL A PLASMA!" |
#define GOTSHOTGUN "VOUS AVEZ UN FUSIL!" |
#define GOTSHOTGUN2 "VOUS AVEZ UN SUPER FUSIL!" |
// |
// P_Doors.C |
// |
#define PD_BLUEO "IL VOUS FAUT UNE CLEF BLEUE" |
#define PD_REDO "IL VOUS FAUT UNE CLEF ROUGE" |
#define PD_YELLOWO "IL VOUS FAUT UNE CLEF JAUNE" |
#define PD_BLUEK PD_BLUEO |
#define PD_REDK PD_REDO |
#define PD_YELLOWK PD_YELLOWO |
// |
// G_game.C |
// |
#define GGSAVED "JEU SAUVEGARDE." |
// |
// HU_stuff.C |
// |
#define HUSTR_MSGU "[MESSAGE NON ENVOYE]" |
#define HUSTR_E1M1 "E1M1: HANGAR" |
#define HUSTR_E1M2 "E1M2: USINE NUCLEAIRE " |
#define HUSTR_E1M3 "E1M3: RAFFINERIE DE TOXINES " |
#define HUSTR_E1M4 "E1M4: CENTRE DE CONTROLE " |
#define HUSTR_E1M5 "E1M5: LABORATOIRE PHOBOS " |
#define HUSTR_E1M6 "E1M6: TRAITEMENT CENTRAL " |
#define HUSTR_E1M7 "E1M7: CENTRE INFORMATIQUE " |
#define HUSTR_E1M8 "E1M8: ANOMALIE PHOBOS " |
#define HUSTR_E1M9 "E1M9: BASE MILITAIRE " |
#define HUSTR_E2M1 "E2M1: ANOMALIE DEIMOS " |
#define HUSTR_E2M2 "E2M2: ZONE DE CONFINEMENT " |
#define HUSTR_E2M3 "E2M3: RAFFINERIE" |
#define HUSTR_E2M4 "E2M4: LABORATOIRE DEIMOS " |
#define HUSTR_E2M5 "E2M5: CENTRE DE CONTROLE " |
#define HUSTR_E2M6 "E2M6: HALLS DES DAMNES " |
#define HUSTR_E2M7 "E2M7: CUVES DE REPRODUCTION " |
#define HUSTR_E2M8 "E2M8: TOUR DE BABEL " |
#define HUSTR_E2M9 "E2M9: FORTERESSE DU MYSTERE " |
#define HUSTR_E3M1 "E3M1: DONJON DE L'ENFER " |
#define HUSTR_E3M2 "E3M2: BOURBIER DU DESESPOIR " |
#define HUSTR_E3M3 "E3M3: PANDEMONIUM" |
#define HUSTR_E3M4 "E3M4: MAISON DE LA DOULEUR " |
#define HUSTR_E3M5 "E3M5: CATHEDRALE PROFANE " |
#define HUSTR_E3M6 "E3M6: MONT EREBUS" |
#define HUSTR_E3M7 "E3M7: LIMBES" |
#define HUSTR_E3M8 "E3M8: DIS" |
#define HUSTR_E3M9 "E3M9: CLAPIERS" |
#define HUSTR_1 "NIVEAU 1: ENTREE " |
#define HUSTR_2 "NIVEAU 2: HALLS SOUTERRAINS " |
#define HUSTR_3 "NIVEAU 3: LE FEU NOURRI " |
#define HUSTR_4 "NIVEAU 4: LE FOYER " |
#define HUSTR_5 "NIVEAU 5: LES EGOUTS " |
#define HUSTR_6 "NIVEAU 6: LE BROYEUR " |
#define HUSTR_7 "NIVEAU 7: L'HERBE DE LA MORT" |
#define HUSTR_8 "NIVEAU 8: RUSES ET PIEGES " |
#define HUSTR_9 "NIVEAU 9: LE PUITS " |
#define HUSTR_10 "NIVEAU 10: BASE DE RAVITAILLEMENT " |
#define HUSTR_11 "NIVEAU 11: LE CERCLE DE LA MORT!" |
#define HUSTR_12 "NIVEAU 12: L'USINE " |
#define HUSTR_13 "NIVEAU 13: LE CENTRE VILLE" |
#define HUSTR_14 "NIVEAU 14: LES ANTRES PROFONDES " |
#define HUSTR_15 "NIVEAU 15: LA ZONE INDUSTRIELLE " |
#define HUSTR_16 "NIVEAU 16: LA BANLIEUE" |
#define HUSTR_17 "NIVEAU 17: LES IMMEUBLES" |
#define HUSTR_18 "NIVEAU 18: LA COUR " |
#define HUSTR_19 "NIVEAU 19: LA CITADELLE " |
#define HUSTR_20 "NIVEAU 20: JE T'AI EU!" |
#define HUSTR_21 "NIVEAU 21: LE NIRVANA" |
#define HUSTR_22 "NIVEAU 22: LES CATACOMBES " |
#define HUSTR_23 "NIVEAU 23: LA GRANDE FETE " |
#define HUSTR_24 "NIVEAU 24: LE GOUFFRE " |
#define HUSTR_25 "NIVEAU 25: LES CHUTES DE SANG" |
#define HUSTR_26 "NIVEAU 26: LES MINES ABANDONNEES " |
#define HUSTR_27 "NIVEAU 27: CHEZ LES MONSTRES " |
#define HUSTR_28 "NIVEAU 28: LE MONDE DE L'ESPRIT " |
#define HUSTR_29 "NIVEAU 29: LA LIMITE " |
#define HUSTR_30 "NIVEAU 30: L'ICONE DU PECHE " |
#define HUSTR_31 "NIVEAU 31: WOLFENSTEIN" |
#define HUSTR_32 "NIVEAU 32: LE MASSACRE" |
#define HUSTR_CHATMACRO1 "JE SUIS PRET A LEUR EN FAIRE BAVER!" |
#define HUSTR_CHATMACRO2 "JE VAIS BIEN." |
#define HUSTR_CHATMACRO3 "JE N'AI PAS L'AIR EN FORME!" |
#define HUSTR_CHATMACRO4 "AU SECOURS!" |
#define HUSTR_CHATMACRO5 "TU CRAINS!" |
#define HUSTR_CHATMACRO6 "LA PROCHAINE FOIS, MINABLE..." |
#define HUSTR_CHATMACRO7 "VIENS ICI!" |
#define HUSTR_CHATMACRO8 "JE VAIS M'EN OCCUPER." |
#define HUSTR_CHATMACRO9 "OUI" |
#define HUSTR_CHATMACRO0 "NON" |
#define HUSTR_TALKTOSELF1 "VOUS PARLEZ TOUT SEUL " |
#define HUSTR_TALKTOSELF2 "QUI EST LA?" |
#define HUSTR_TALKTOSELF3 "VOUS VOUS FAITES PEUR " |
#define HUSTR_TALKTOSELF4 "VOUS COMMENCEZ A DELIRER " |
#define HUSTR_TALKTOSELF5 "VOUS ETES LARGUE..." |
#define HUSTR_MESSAGESENT "[MESSAGE ENVOYE]" |
// The following should NOT be changed unless it seems |
// just AWFULLY necessary |
#define HUSTR_PLRGREEN "VERT: " |
#define HUSTR_PLRINDIGO "INDIGO: " |
#define HUSTR_PLRBROWN "BRUN: " |
#define HUSTR_PLRRED "ROUGE: " |
#define HUSTR_KEYGREEN 'g' // french key should be "V" |
#define HUSTR_KEYINDIGO 'i' |
#define HUSTR_KEYBROWN 'b' |
#define HUSTR_KEYRED 'r' |
// |
// AM_map.C |
// |
#define AMSTR_FOLLOWON "MODE POURSUITE ON" |
#define AMSTR_FOLLOWOFF "MODE POURSUITE OFF" |
#define AMSTR_GRIDON "GRILLE ON" |
#define AMSTR_GRIDOFF "GRILLE OFF" |
#define AMSTR_MARKEDSPOT "REPERE MARQUE " |
#define AMSTR_MARKSCLEARED "REPERES EFFACES " |
// |
// ST_stuff.C |
// |
#define STSTR_MUS "CHANGEMENT DE MUSIQUE " |
#define STSTR_NOMUS "IMPOSSIBLE SELECTION" |
#define STSTR_DQDON "INVULNERABILITE ON " |
#define STSTR_DQDOFF "INVULNERABILITE OFF" |
#define STSTR_KFAADDED "ARMEMENT MAXIMUM! " |
#define STSTR_FAADDED "ARMES (SAUF CLEFS) AJOUTEES" |
#define STSTR_NCON "BARRIERES ON" |
#define STSTR_NCOFF "BARRIERES OFF" |
#define STSTR_BEHOLD " inVuln, Str, Inviso, Rad, Allmap, or Lite-amp" |
#define STSTR_BEHOLDX "AMELIORATION ACTIVEE" |
#define STSTR_CHOPPERS "... DOESN'T SUCK - GM" |
#define STSTR_CLEV "CHANGEMENT DE NIVEAU..." |
// |
// F_Finale.C |
// |
#define E1TEXT "APRES AVOIR VAINCU LES GROS MECHANTS\n"\ |
"ET NETTOYE LA BASE LUNAIRE, VOUS AVEZ\n"\ |
"GAGNE, NON? PAS VRAI? OU EST DONC VOTRE\n"\ |
" RECOMPENSE ET VOTRE BILLET DE\n"\ |
"RETOUR? QU'EST-QUE CA VEUT DIRE?CE"\ |
"N'EST PAS LA FIN ESPEREE!\n"\ |
"\n" \ |
"CA SENT LA VIANDE PUTREFIEE, MAIS\n"\ |
"ON DIRAIT LA BASE DEIMOS. VOUS ETES\n"\ |
"APPAREMMENT BLOQUE AUX PORTES DE L'ENFER.\n"\ |
"LA SEULE ISSUE EST DE L'AUTRE COTE.\n"\ |
"\n"\ |
"POUR VIVRE LA SUITE DE DOOM, JOUEZ\n"\ |
"A 'AUX PORTES DE L'ENFER' ET A\n"\ |
"L'EPISODE SUIVANT, 'L'ENFER'!\n" |
#define E2TEXT "VOUS AVEZ REUSSI. L'INFAME DEMON\n"\ |
"QUI CONTROLAIT LA BASE LUNAIRE DE\n"\ |
"DEIMOS EST MORT, ET VOUS AVEZ\n"\ |
"TRIOMPHE! MAIS... OU ETES-VOUS?\n"\ |
"VOUS GRIMPEZ JUSQU'AU BORD DE LA\n"\ |
"LUNE ET VOUS DECOUVREZ L'ATROCE\n"\ |
"VERITE.\n" \ |
"\n"\ |
"DEIMOS EST AU-DESSUS DE L'ENFER!\n"\ |
"VOUS SAVEZ QUE PERSONNE NE S'EN\n"\ |
"EST JAMAIS ECHAPPE, MAIS CES FUMIERS\n"\ |
"VONT REGRETTER DE VOUS AVOIR CONNU!\n"\ |
"VOUS REDESCENDEZ RAPIDEMENT VERS\n"\ |
"LA SURFACE DE L'ENFER.\n"\ |
"\n" \ |
"VOICI MAINTENANT LE CHAPITRE FINAL DE\n"\ |
"DOOM! -- L'ENFER." |
#define E3TEXT "LE DEMON ARACHNEEN ET REPUGNANT\n"\ |
"QUI A DIRIGE L'INVASION DES BASES\n"\ |
"LUNAIRES ET SEME LA MORT VIENT DE SE\n"\ |
"FAIRE PULVERISER UNE FOIS POUR TOUTES.\n"\ |
"\n"\ |
"UNE PORTE SECRETE S'OUVRE. VOUS ENTREZ.\n"\ |
"VOUS AVEZ PROUVE QUE VOUS POUVIEZ\n"\ |
"RESISTER AUX HORREURS DE L'ENFER.\n"\ |
"IL SAIT ETRE BEAU JOUEUR, ET LORSQUE\n"\ |
"VOUS SORTEZ, VOUS REVOYEZ LES VERTES\n"\ |
"PRAIRIES DE LA TERRE, VOTRE PLANETE.\n"\ |
"\n"\ |
"VOUS VOUS DEMANDEZ CE QUI S'EST PASSE\n"\ |
"SUR TERRE PENDANT QUE VOUS AVEZ\n"\ |
"COMBATTU LE DEMON. HEUREUSEMENT,\n"\ |
"AUCUN GERME DU MAL N'A FRANCHI\n"\ |
"CETTE PORTE AVEC VOUS..." |
// after level 6, put this: |
#define C1TEXT "VOUS ETES AU PLUS PROFOND DE L'ASTROPORT\n" \ |
"INFESTE DE MONSTRES, MAIS QUELQUE CHOSE\n" \ |
"NE VA PAS. ILS ONT APPORTE LEUR PROPRE\n" \ |
"REALITE, ET LA TECHNOLOGIE DE L'ASTROPORT\n" \ |
"EST AFFECTEE PAR LEUR PRESENCE.\n" \ |
"\n"\ |
"DEVANT VOUS, VOUS VOYEZ UN POSTE AVANCE\n" \ |
"DE L'ENFER, UNE ZONE FORTIFIEE. SI VOUS\n" \ |
"POUVEZ PASSER, VOUS POURREZ PENETRER AU\n" \ |
"COEUR DE LA BASE HANTEE ET TROUVER \n" \ |
"L'INTERRUPTEUR DE CONTROLE QUI GARDE LA \n" \ |
"POPULATION DE LA TERRE EN OTAGE." |
// After level 11, put this: |
#define C2TEXT "VOUS AVEZ GAGNE! VOTRE VICTOIRE A PERMIS\n" \ |
"A L'HUMANITE D'EVACUER LA TERRE ET \n"\ |
"D'ECHAPPER AU CAUCHEMAR. VOUS ETES \n"\ |
"MAINTENANT LE DERNIER HUMAIN A LA SURFACE \n"\ |
"DE LA PLANETE. VOUS ETES ENTOURE DE \n"\ |
"MUTANTS CANNIBALES, D'EXTRATERRESTRES \n"\ |
"CARNIVORES ET D'ESPRITS DU MAL. VOUS \n"\ |
"ATTENDEZ CALMEMENT LA MORT, HEUREUX \n"\ |
"D'AVOIR PU SAUVER VOTRE RACE.\n"\ |
"MAIS UN MESSAGE VOUS PARVIENT SOUDAIN\n"\ |
"DE L'ESPACE: \"NOS CAPTEURS ONT LOCALISE\n"\ |
"LA SOURCE DE L'INVASION EXTRATERRESTRE.\n"\ |
"SI VOUS Y ALLEZ, VOUS POURREZ PEUT-ETRE\n"\ |
"LES ARRETER. LEUR BASE EST SITUEE AU COEUR\n"\ |
"DE VOTRE VILLE NATALE, PRES DE L'ASTROPORT.\n"\ |
"VOUS VOUS RELEVEZ LENTEMENT ET PENIBLEMENT\n"\ |
"ET VOUS REPARTEZ POUR LE FRONT." |
// After level 20, put this: |
#define C3TEXT "VOUS ETES AU COEUR DE LA CITE CORROMPUE,\n"\ |
"ENTOURE PAR LES CADAVRES DE VOS ENNEMIS.\n"\ |
"VOUS NE VOYEZ PAS COMMENT DETRUIRE LA PORTE\n"\ |
"DES CREATURES DE CE COTE. VOUS SERREZ\n"\ |
"LES DENTS ET PLONGEZ DANS L'OUVERTURE.\n"\ |
"\n"\ |
"IL DOIT Y AVOIR UN MOYEN DE LA FERMER\n"\ |
"DE L'AUTRE COTE. VOUS ACCEPTEZ DE\n"\ |
"TRAVERSER L'ENFER POUR LE FAIRE?" |
// After level 29, put this: |
#define C4TEXT "LE VISAGE HORRIBLE D'UN DEMON D'UNE\n"\ |
"TAILLE INCROYABLE S'EFFONDRE DEVANT\n"\ |
"VOUS LORSQUE VOUS TIREZ UNE SALVE DE\n"\ |
"ROQUETTES DANS SON CERVEAU. LE MONSTRE\n"\ |
"SE RATATINE, SES MEMBRES DECHIQUETES\n"\ |
"SE REPANDANT SUR DES CENTAINES DE\n"\ |
"KILOMETRES A LA SURFACE DE L'ENFER.\n"\ |
"\n"\ |
"VOUS AVEZ REUSSI. L'INVASION N'AURA.\n"\ |
"PAS LIEU. LA TERRE EST SAUVEE. L'ENFER\n"\ |
"EST ANEANTI. EN VOUS DEMANDANT OU IRONT\n"\ |
"MAINTENANT LES DAMNES, VOUS ESSUYEZ\n"\ |
"VOTRE FRONT COUVERT DE SUEUR ET REPARTEZ\n"\ |
"VERS LA TERRE. SA RECONSTRUCTION SERA\n"\ |
"BEAUCOUP PLUS DROLE QUE SA DESTRUCTION.\n" |
// Before level 31, put this: |
#define C5TEXT "FELICITATIONS! VOUS AVEZ TROUVE LE\n"\ |
"NIVEAU SECRET! IL SEMBLE AVOIR ETE\n"\ |
"CONSTRUIT PAR LES HUMAINS. VOUS VOUS\n"\ |
"DEMANDEZ QUELS PEUVENT ETRE LES\n"\ |
"HABITANTS DE CE COIN PERDU DE L'ENFER." |
// Before level 32, put this: |
#define C6TEXT "FELICITATIONS! VOUS AVEZ DECOUVERT\n"\ |
"LE NIVEAU SUPER SECRET! VOUS FERIEZ\n"\ |
"MIEUX DE FONCER DANS CELUI-LA!\n" |
// |
// Character cast strings F_FINALE.C |
// |
#define CC_ZOMBIE "ZOMBIE" |
#define CC_SHOTGUN "TYPE AU FUSIL" |
#define CC_HEAVY "MEC SUPER-ARME" |
#define CC_IMP "DIABLOTIN" |
#define CC_DEMON "DEMON" |
#define CC_LOST "AME PERDUE" |
#define CC_CACO "CACODEMON" |
#define CC_HELL "CHEVALIER DE L'ENFER" |
#define CC_BARON "BARON DE L'ENFER" |
#define CC_ARACH "ARACHNOTRON" |
#define CC_PAIN "ELEMENTAIRE DE LA DOULEUR" |
#define CC_REVEN "REVENANT" |
#define CC_MANCU "MANCUBUS" |
#define CC_ARCH "ARCHI-INFAME" |
#define CC_SPIDER "L'ARAIGNEE CERVEAU" |
#define CC_CYBER "LE CYBERDEMON" |
#define CC_HERO "NOTRE HEROS" |
#endif |
//----------------------------------------------------------------------------- |
// |
// $Log:$ |
// |
//----------------------------------------------------------------------------- |
/programs/games/doom/trunk/h/d_items.h |
---|
0,0 → 1,52 |
// Emacs style mode select -*- C++ -*- |
//----------------------------------------------------------------------------- |
// |
// $Id:$ |
// |
// Copyright (C) 1993-1996 by id Software, Inc. |
// |
// This source is available for distribution and/or modification |
// only under the terms of the DOOM Source Code License as |
// published by id Software. All rights reserved. |
// |
// The source is distributed in the hope that it will be useful, |
// but WITHOUT ANY WARRANTY; without even the implied warranty of |
// FITNESS FOR A PARTICULAR PURPOSE. See the DOOM Source Code License |
// for more details. |
// |
// DESCRIPTION: |
// Items: key cards, artifacts, weapon, ammunition. |
// |
//----------------------------------------------------------------------------- |
#ifndef __D_ITEMS__ |
#define __D_ITEMS__ |
#include "doomdef.h" |
#ifdef __GNUG__ |
#pragma interface |
#endif |
// Weapon info: sprite frames, ammunition use. |
typedef struct |
{ |
ammotype_t ammo; |
int upstate; |
int downstate; |
int readystate; |
int atkstate; |
int flashstate; |
} weaponinfo_t; |
extern weaponinfo_t weaponinfo[NUMWEAPONS]; |
#endif |
//----------------------------------------------------------------------------- |
// |
// $Log:$ |
// |
//----------------------------------------------------------------------------- |
/programs/games/doom/trunk/h/d_main.h |
---|
0,0 → 1,64 |
// Emacs style mode select -*- C++ -*- |
//----------------------------------------------------------------------------- |
// |
// $Id:$ |
// |
// Copyright (C) 1993-1996 by id Software, Inc. |
// |
// This source is available for distribution and/or modification |
// only under the terms of the DOOM Source Code License as |
// published by id Software. All rights reserved. |
// |
// The source is distributed in the hope that it will be useful, |
// but WITHOUT ANY WARRANTY; without even the implied warranty of |
// FITNESS FOR A PARTICULAR PURPOSE. See the DOOM Source Code License |
// for more details. |
// |
// $Log:$ |
// |
// DESCRIPTION: |
// System specific interface stuff. |
// |
//----------------------------------------------------------------------------- |
#ifndef __D_MAIN__ |
#define __D_MAIN__ |
#include "d_event.h" |
#ifdef __GNUG__ |
#pragma interface |
#endif |
#define MAXWADFILES 20 |
extern char* wadfiles[MAXWADFILES]; |
void D_AddFile (char *file); |
// |
// D_DoomMain() |
// Not a globally visible function, just included for source reference, |
// calls all startup code, parses command line options. |
// If not overrided by user input, calls N_AdvanceDemo. |
// |
void D_DoomMain (void); |
// Called by IO functions when input is detected. |
void D_PostEvent (event_t* ev); |
// |
// BASE LEVEL |
// |
void D_PageTicker (void); |
void D_PageDrawer (void); |
void D_AdvanceDemo (void); |
void D_StartTitle (void); |
#endif |
/programs/games/doom/trunk/h/d_net.h |
---|
0,0 → 1,149 |
// Emacs style mode select -*- C++ -*- |
//----------------------------------------------------------------------------- |
// |
// $Id:$ |
// |
// Copyright (C) 1993-1996 by id Software, Inc. |
// |
// This source is available for distribution and/or modification |
// only under the terms of the DOOM Source Code License as |
// published by id Software. All rights reserved. |
// |
// The source is distributed in the hope that it will be useful, |
// but WITHOUT ANY WARRANTY; without even the implied warranty of |
// FITNESS FOR A PARTICULAR PURPOSE. See the DOOM Source Code License |
// for more details. |
// |
// DESCRIPTION: |
// Networking stuff. |
// |
//----------------------------------------------------------------------------- |
#ifndef __D_NET__ |
#define __D_NET__ |
#include "d_player.h" |
#ifdef __GNUG__ |
#pragma interface |
#endif |
// |
// Network play related stuff. |
// There is a data struct that stores network |
// communication related stuff, and another |
// one that defines the actual packets to |
// be transmitted. |
// |
#define DOOMCOM_ID 0x12345678l |
// Max computers/players in a game. |
#define MAXNETNODES 8 |
// Networking and tick handling related. |
#define BACKUPTICS 12 |
typedef enum |
{ |
CMD_SEND = 1, |
CMD_GET = 2 |
} command_t; |
// |
// Network packet data. |
// |
typedef struct |
{ |
// High bit is retransmit request. |
unsigned checksum; |
// Only valid if NCMD_RETRANSMIT. |
byte retransmitfrom; |
byte starttic; |
byte player; |
byte numtics; |
ticcmd_t cmds[BACKUPTICS]; |
} doomdata_t; |
typedef struct |
{ |
// Supposed to be DOOMCOM_ID? |
long id; |
// DOOM executes an int to execute commands. |
short intnum; |
// Communication between DOOM and the driver. |
// Is CMD_SEND or CMD_GET. |
short command; |
// Is dest for send, set by get (-1 = no packet). |
short remotenode; |
// Number of bytes in doomdata to be sent |
short datalength; |
// Info common to all nodes. |
// Console is allways node 0. |
short numnodes; |
// Flag: 1 = no duplication, 2-5 = dup for slow nets. |
short ticdup; |
// Flag: 1 = send a backup tic in every packet. |
short extratics; |
// Flag: 1 = deathmatch. |
short deathmatch; |
// Flag: -1 = new game, 0-5 = load savegame |
short savegame; |
short episode; // 1-3 |
short map; // 1-9 |
short skill; // 1-5 |
// Info specific to this node. |
short consoleplayer; |
short numplayers; |
// These are related to the 3-display mode, |
// in which two drones looking left and right |
// were used to render two additional views |
// on two additional computers. |
// Probably not operational anymore. |
// 1 = left, 0 = center, -1 = right |
short angleoffset; |
// 1 = drone |
short drone; |
// The packet data to be sent. |
doomdata_t data; |
} doomcom_t; |
// Create any new ticcmds and broadcast to other players. |
void NetUpdate (void); |
// Broadcasts special packets to other players |
// to notify of game exit |
void D_QuitNetGame (void); |
//? how many ticks to run? |
void TryRunTics (void); |
#endif |
//----------------------------------------------------------------------------- |
// |
// $Log:$ |
// |
//----------------------------------------------------------------------------- |
/programs/games/doom/trunk/h/d_player.h |
---|
0,0 → 1,219 |
// Emacs style mode select -*- C++ -*- |
//----------------------------------------------------------------------------- |
// |
// $Id:$ |
// |
// Copyright (C) 1993-1996 by id Software, Inc. |
// |
// This source is available for distribution and/or modification |
// only under the terms of the DOOM Source Code License as |
// published by id Software. All rights reserved. |
// |
// The source is distributed in the hope that it will be useful, |
// but WITHOUT ANY WARRANTY; without even the implied warranty of |
// FITNESS FOR A PARTICULAR PURPOSE. See the DOOM Source Code License |
// for more details. |
// |
// DESCRIPTION: |
// |
// |
//----------------------------------------------------------------------------- |
#ifndef __D_PLAYER__ |
#define __D_PLAYER__ |
// The player data structure depends on a number |
// of other structs: items (internal inventory), |
// animation states (closely tied to the sprites |
// used to represent them, unfortunately). |
#include "d_items.h" |
#include "p_pspr.h" |
// In addition, the player is just a special |
// case of the generic moving object/actor. |
#include "p_mobj.h" |
// Finally, for odd reasons, the player input |
// is buffered within the player data struct, |
// as commands per game tick. |
#include "d_ticcmd.h" |
#ifdef __GNUG__ |
#pragma interface |
#endif |
// |
// Player states. |
// |
typedef enum |
{ |
// Playing or camping. |
PST_LIVE, |
// Dead on the ground, view follows killer. |
PST_DEAD, |
// Ready to restart/respawn??? |
PST_REBORN |
} playerstate_t; |
// |
// Player internal flags, for cheats and debug. |
// |
typedef enum |
{ |
// No clipping, walk through barriers. |
CF_NOCLIP = 1, |
// No damage, no health loss. |
CF_GODMODE = 2, |
// Not really a cheat, just a debug aid. |
CF_NOMOMENTUM = 4 |
} cheat_t; |
// |
// Extended player object info: player_t |
// |
typedef struct player_s |
{ |
mobj_t* mo; |
playerstate_t playerstate; |
ticcmd_t cmd; |
// Determine POV, |
// including viewpoint bobbing during movement. |
// Focal origin above r.z |
fixed_t viewz; |
// Base height above floor for viewz. |
fixed_t viewheight; |
// Bob/squat speed. |
fixed_t deltaviewheight; |
// bounded/scaled total momentum. |
fixed_t bob; |
// This is only used between levels, |
// mo->health is used during levels. |
int health; |
int armorpoints; |
// Armor type is 0-2. |
int armortype; |
// Power ups. invinc and invis are tic counters. |
int powers[NUMPOWERS]; |
boolean cards[NUMCARDS]; |
boolean backpack; |
// Frags, kills of other players. |
int frags[MAXPLAYERS]; |
weapontype_t readyweapon; |
// Is wp_nochange if not changing. |
weapontype_t pendingweapon; |
boolean weaponowned[NUMWEAPONS]; |
int ammo[NUMAMMO]; |
int maxammo[NUMAMMO]; |
// True if button down last tic. |
int attackdown; |
int usedown; |
// Bit flags, for cheats and debug. |
// See cheat_t, above. |
int cheats; |
// Refired shots are less accurate. |
int refire; |
// For intermission stats. |
int killcount; |
int itemcount; |
int secretcount; |
// Hint messages. |
char* message; |
// For screen flashing (red or bright). |
int damagecount; |
int bonuscount; |
// Who did damage (NULL for floors/ceilings). |
mobj_t* attacker; |
// So gun flashes light up areas. |
int extralight; |
// Current PLAYPAL, ??? |
// can be set to REDCOLORMAP for pain, etc. |
int fixedcolormap; |
// Player skin colorshift, |
// 0-3 for which color to draw player. |
int colormap; |
// Overlay view sprites (gun, etc). |
pspdef_t psprites[NUMPSPRITES]; |
// True if secret level has been done. |
boolean didsecret; |
} player_t; |
// |
// INTERMISSION |
// Structure passed e.g. to WI_Start(wb) |
// |
typedef struct |
{ |
boolean in; // whether the player is in game |
// Player stats, kills, collected items etc. |
int skills; |
int sitems; |
int ssecret; |
int stime; |
int frags[4]; |
int score; // current score on entry, modified on return |
} wbplayerstruct_t; |
typedef struct |
{ |
int epsd; // episode # (0-2) |
// if true, splash the secret level |
boolean didsecret; |
// previous and next levels, origin 0 |
int last; |
int next; |
int maxkills; |
int maxitems; |
int maxsecret; |
int maxfrags; |
// the par time |
int partime; |
// index of this player in game |
int pnum; |
wbplayerstruct_t plyr[MAXPLAYERS]; |
} wbstartstruct_t; |
#endif |
//----------------------------------------------------------------------------- |
// |
// $Log:$ |
// |
//----------------------------------------------------------------------------- |
/programs/games/doom/trunk/h/d_textur.h |
---|
0,0 → 1,51 |
// Emacs style mode select -*- C++ -*- |
//----------------------------------------------------------------------------- |
// |
// $Id:$ |
// |
// Copyright (C) 1993-1996 by id Software, Inc. |
// |
// This source is available for distribution and/or modification |
// only under the terms of the DOOM Source Code License as |
// published by id Software. All rights reserved. |
// |
// The source is distributed in the hope that it will be useful, |
// but WITHOUT ANY WARRANTY; without even the implied warranty of |
// FITNESS FOR A PARTICULAR PURPOSE. See the DOOM Source Code License |
// for more details. |
// |
// DESCRIPTION: |
// Typedefs related to to textures etc., |
// isolated here to make it easier separating modules. |
// |
//----------------------------------------------------------------------------- |
#ifndef __D_TEXTUR__ |
#define __D_TEXTUR__ |
#include "doomtype.h" |
// |
// Flats? |
// |
// a pic is an unmasked block of pixels |
typedef struct |
{ |
byte width; |
byte height; |
byte data; |
} pic_t; |
#endif |
//----------------------------------------------------------------------------- |
// |
// $Log:$ |
// |
//----------------------------------------------------------------------------- |
/programs/games/doom/trunk/h/d_think.h |
---|
0,0 → 1,79 |
// Emacs style mode select -*- C++ -*- |
//----------------------------------------------------------------------------- |
// |
// $Id:$ |
// |
// Copyright (C) 1993-1996 by id Software, Inc. |
// |
// This source is available for distribution and/or modification |
// only under the terms of the DOOM Source Code License as |
// published by id Software. All rights reserved. |
// |
// The source is distributed in the hope that it will be useful, |
// but WITHOUT ANY WARRANTY; without even the implied warranty of |
// FITNESS FOR A PARTICULAR PURPOSE. See the DOOM Source Code License |
// for more details. |
// |
// DESCRIPTION: |
// MapObj data. Map Objects or mobjs are actors, entities, |
// thinker, take-your-pick... anything that moves, acts, or |
// suffers state changes of more or less violent nature. |
// |
//----------------------------------------------------------------------------- |
#ifndef __D_THINK__ |
#define __D_THINK__ |
#ifdef __GNUG__ |
#pragma interface |
#endif |
// |
// Experimental stuff. |
// To compile this as "ANSI C with classes" |
// we will need to handle the various |
// action functions cleanly. |
// |
typedef void (*actionf_v)(); |
typedef void (*actionf_p1)( void* ); |
typedef void (*actionf_p2)( void*, void* ); |
typedef union |
{ |
actionf_p1 acp1; |
actionf_v acv; |
actionf_p2 acp2; |
} actionf_t; |
// Historically, "think_t" is yet another |
// function pointer to a routine to handle |
// an actor. |
typedef actionf_t think_t; |
// Doubly linked list of actors. |
typedef struct thinker_s |
{ |
struct thinker_s* prev; |
struct thinker_s* next; |
think_t function; |
} thinker_t; |
#endif |
//----------------------------------------------------------------------------- |
// |
// $Log:$ |
// |
//----------------------------------------------------------------------------- |
/programs/games/doom/trunk/h/d_ticcmd.h |
---|
0,0 → 1,53 |
// Emacs style mode select -*- C++ -*- |
//----------------------------------------------------------------------------- |
// |
// $Id:$ |
// |
// Copyright (C) 1993-1996 by id Software, Inc. |
// |
// This source is available for distribution and/or modification |
// only under the terms of the DOOM Source Code License as |
// published by id Software. All rights reserved. |
// |
// The source is distributed in the hope that it will be useful, |
// but WITHOUT ANY WARRANTY; without even the implied warranty of |
// FITNESS FOR A PARTICULAR PURPOSE. See the DOOM Source Code License |
// for more details. |
// |
// DESCRIPTION: |
// System specific interface stuff. |
// |
//----------------------------------------------------------------------------- |
#ifndef __D_TICCMD__ |
#define __D_TICCMD__ |
#include "doomtype.h" |
#ifdef __GNUG__ |
#pragma interface |
#endif |
// The data sampled per tick (single player) |
// and transmitted to other peers (multiplayer). |
// Mainly movements/button commands per game tick, |
// plus a checksum for internal state consistency. |
typedef struct |
{ |
signed char forwardmove; // *2048 for move |
signed char sidemove; // *2048 for move |
short angleturn; // <<16 for angle delta |
short consistancy; // checks for net game |
byte chatchar; |
byte buttons; |
} ticcmd_t; |
#endif |
//----------------------------------------------------------------------------- |
// |
// $Log:$ |
// |
//----------------------------------------------------------------------------- |
/programs/games/doom/trunk/h/doomdata.h |
---|
0,0 → 1,222 |
// Emacs style mode select -*- C++ -*- |
//----------------------------------------------------------------------------- |
// |
// $Id:$ |
// |
// Copyright (C) 1993-1996 by id Software, Inc. |
// |
// This source is available for distribution and/or modification |
// only under the terms of the DOOM Source Code License as |
// published by id Software. All rights reserved. |
// |
// The source is distributed in the hope that it will be useful, |
// but WITHOUT ANY WARRANTY; without even the implied warranty of |
// FITNESS FOR A PARTICULAR PURPOSE. See the DOOM Source Code License |
// for more details. |
// |
// DESCRIPTION: |
// all external data is defined here |
// most of the data is loaded into different structures at run time |
// some internal structures shared by many modules are here |
// |
//----------------------------------------------------------------------------- |
#ifndef __DOOMDATA__ |
#define __DOOMDATA__ |
// The most basic types we use, portability. |
#include "doomtype.h" |
// Some global defines, that configure the game. |
#include "doomdef.h" |
// |
// Map level types. |
// The following data structures define the persistent format |
// used in the lumps of the WAD files. |
// |
// Lump order in a map WAD: each map needs a couple of lumps |
// to provide a complete scene geometry description. |
enum |
{ |
ML_LABEL, // A separator, name, ExMx or MAPxx |
ML_THINGS, // Monsters, items.. |
ML_LINEDEFS, // LineDefs, from editing |
ML_SIDEDEFS, // SideDefs, from editing |
ML_VERTEXES, // Vertices, edited and BSP splits generated |
ML_SEGS, // LineSegs, from LineDefs split by BSP |
ML_SSECTORS, // SubSectors, list of LineSegs |
ML_NODES, // BSP nodes |
ML_SECTORS, // Sectors, from editing |
ML_REJECT, // LUT, sector-sector visibility |
ML_BLOCKMAP // LUT, motion clipping, walls/grid element |
}; |
// A single Vertex. |
typedef struct |
{ |
short x; |
short y; |
} mapvertex_t; |
// A SideDef, defining the visual appearance of a wall, |
// by setting textures and offsets. |
typedef struct |
{ |
short textureoffset; |
short rowoffset; |
char toptexture[8]; |
char bottomtexture[8]; |
char midtexture[8]; |
// Front sector, towards viewer. |
short sector; |
} mapsidedef_t; |
// A LineDef, as used for editing, and as input |
// to the BSP builder. |
typedef struct |
{ |
short v1; |
short v2; |
short flags; |
short special; |
short tag; |
// sidenum[1] will be -1 if one sided |
short sidenum[2]; |
} maplinedef_t; |
// |
// LineDef attributes. |
// |
// Solid, is an obstacle. |
#define ML_BLOCKING 1 |
// Blocks monsters only. |
#define ML_BLOCKMONSTERS 2 |
// Backside will not be present at all |
// if not two sided. |
#define ML_TWOSIDED 4 |
// If a texture is pegged, the texture will have |
// the end exposed to air held constant at the |
// top or bottom of the texture (stairs or pulled |
// down things) and will move with a height change |
// of one of the neighbor sectors. |
// Unpegged textures allways have the first row of |
// the texture at the top pixel of the line for both |
// top and bottom textures (use next to windows). |
// upper texture unpegged |
#define ML_DONTPEGTOP 8 |
// lower texture unpegged |
#define ML_DONTPEGBOTTOM 16 |
// In AutoMap: don't map as two sided: IT'S A SECRET! |
#define ML_SECRET 32 |
// Sound rendering: don't let sound cross two of these. |
#define ML_SOUNDBLOCK 64 |
// Don't draw on the automap at all. |
#define ML_DONTDRAW 128 |
// Set if already seen, thus drawn in automap. |
#define ML_MAPPED 256 |
// Sector definition, from editing. |
typedef struct |
{ |
short floorheight; |
short ceilingheight; |
char floorpic[8]; |
char ceilingpic[8]; |
short lightlevel; |
short special; |
short tag; |
} mapsector_t; |
// SubSector, as generated by BSP. |
typedef struct |
{ |
short numsegs; |
// Index of first one, segs are stored sequentially. |
short firstseg; |
} mapsubsector_t; |
// LineSeg, generated by splitting LineDefs |
// using partition lines selected by BSP builder. |
typedef struct |
{ |
short v1; |
short v2; |
short angle; |
short linedef; |
short side; |
short offset; |
} mapseg_t; |
// BSP node structure. |
// Indicate a leaf. |
#define NF_SUBSECTOR 0x8000 |
typedef struct |
{ |
// Partition line from (x,y) to x+dx,y+dy) |
short x; |
short y; |
short dx; |
short dy; |
// Bounding box for each child, |
// clip against view frustum. |
short bbox[2][4]; |
// If NF_SUBSECTOR its a subsector, |
// else it's a node of another subtree. |
unsigned short children[2]; |
} mapnode_t; |
// Thing definition, position, orientation and type, |
// plus skill/visibility flags and attributes. |
typedef struct |
{ |
short x; |
short y; |
short angle; |
short type; |
short options; |
} mapthing_t; |
#endif // __DOOMDATA__ |
//----------------------------------------------------------------------------- |
// |
// $Log:$ |
// |
//----------------------------------------------------------------------------- |
/programs/games/doom/trunk/h/doomdef.h |
---|
0,0 → 1,342 |
// Emacs style mode select -*- C++ -*- |
//----------------------------------------------------------------------------- |
// |
// $Id:$ |
// |
// Copyright (C) 1993-1996 by id Software, Inc. |
// |
// This source is available for distribution and/or modification |
// only under the terms of the DOOM Source Code License as |
// published by id Software. All rights reserved. |
// |
// The source is distributed in the hope that it will be useful, |
// but WITHOUT ANY WARRANTY; without even the implied warranty of |
// FITNESS FOR A PARTICULAR PURPOSE. See the DOOM Source Code License |
// for more details. |
// |
// DESCRIPTION: |
// Internally used data structures for virtually everything, |
// key definitions, lots of other stuff. |
// |
//----------------------------------------------------------------------------- |
#ifndef __DOOMDEF__ |
#define __DOOMDEF__ |
#include <stdio.h> |
#include <string.h> |
// |
// Global parameters/defines. |
// |
// DOOM version |
enum { VERSION_NUM = 110 }; |
// Game mode handling - identify IWAD version |
// to handle IWAD dependend animations etc. |
typedef enum |
{ |
shareware, // DOOM 1 shareware, E1, M9 |
registered, // DOOM 1 registered, E3, M27 |
commercial, // DOOM 2 retail, E1 M34 |
// DOOM 2 german edition not handled |
retail, // DOOM 1 retail, E4, M36 |
indetermined // Well, no IWAD found. |
} GameMode_t; |
// Mission packs - might be useful for TC stuff? |
typedef enum |
{ |
doom, // DOOM 1 |
doom2, // DOOM 2 |
pack_tnt, // TNT mission pack |
pack_plut, // Plutonia pack |
none |
} GameMission_t; |
// Identify language to use, software localization. |
typedef enum |
{ |
english, |
french, |
german, |
unknown |
} Language_t; |
// If rangecheck is undefined, |
// most parameter validation debugging code will not be compiled |
#define RANGECHECK |
// Do or do not use external soundserver. |
// The sndserver binary to be run separately |
// has been introduced by Dave Taylor. |
// The integrated sound support is experimental, |
// and unfinished. Default is synchronous. |
// Experimental asynchronous timer based is |
// handled by SNDINTR. |
//#define SNDINTR 1 |
// This one switches between MIT SHM (no proper mouse) |
// and XFree86 DGA (mickey sampling). The original |
// linuxdoom used SHM, which is default. |
//#define X11_DGA 1 |
// |
// For resize of screen, at start of game. |
// It will not work dynamically, see visplanes. |
// |
#define BASE_WIDTH 320 |
// It is educational but futile to change this |
// scaling e.g. to 2. Drawing of status bar, |
// menues etc. is tied to the scale implied |
// by the graphics. |
#define SCREEN_MUL 1 |
#define INV_ASPECT_RATIO 0.625 // 0.75, ideally |
// Defines suck. C sucks. |
// C++ might sucks for OOP, but it sure is a better C. |
// So there. |
#define SCREENWIDTH 320 |
//SCREEN_MUL*BASE_WIDTH //320 |
#define SCREENHEIGHT 200 |
//(int)(SCREEN_MUL*BASE_WIDTH*INV_ASPECT_RATIO) //200 |
// The maximum number of players, multiplayer/networking. |
#define MAXPLAYERS 4 |
// State updates, number of tics / second. |
#define TICRATE 35 |
// The current state of the game: whether we are |
// playing, gazing at the intermission screen, |
// the game final animation, or a demo. |
typedef enum |
{ |
GS_LEVEL, |
GS_INTERMISSION, |
GS_FINALE, |
GS_DEMOSCREEN |
} gamestate_t; |
// |
// Difficulty/skill settings/filters. |
// |
// Skill flags. |
#define MTF_EASY 1 |
#define MTF_NORMAL 2 |
#define MTF_HARD 4 |
// Deaf monsters/do not react to sound. |
#define MTF_AMBUSH 8 |
typedef enum |
{ |
sk_baby, |
sk_easy, |
sk_medium, |
sk_hard, |
sk_nightmare |
} skill_t; |
// |
// Key cards. |
// |
typedef enum |
{ |
it_bluecard, |
it_yellowcard, |
it_redcard, |
it_blueskull, |
it_yellowskull, |
it_redskull, |
NUMCARDS |
} card_t; |
// The defined weapons, |
// including a marker indicating |
// user has not changed weapon. |
typedef enum |
{ |
wp_fist, |
wp_pistol, |
wp_shotgun, |
wp_chaingun, |
wp_missile, |
wp_plasma, |
wp_bfg, |
wp_chainsaw, |
wp_supershotgun, |
NUMWEAPONS, |
// No pending weapon change. |
wp_nochange |
} weapontype_t; |
// Ammunition types defined. |
typedef enum |
{ |
am_clip, // Pistol / chaingun ammo. |
am_shell, // Shotgun / double barreled shotgun. |
am_cell, // Plasma rifle, BFG. |
am_misl, // Missile launcher. |
NUMAMMO, |
am_noammo // Unlimited for chainsaw / fist. |
} ammotype_t; |
// Power up artifacts. |
typedef enum |
{ |
pw_invulnerability, |
pw_strength, |
pw_invisibility, |
pw_ironfeet, |
pw_allmap, |
pw_infrared, |
NUMPOWERS |
} powertype_t; |
// |
// Power up durations, |
// how many seconds till expiration, |
// assuming TICRATE is 35 ticks/second. |
// |
typedef enum |
{ |
INVULNTICS = (30*TICRATE), |
INVISTICS = (60*TICRATE), |
INFRATICS = (120*TICRATE), |
IRONTICS = (60*TICRATE) |
} powerduration_t; |
// |
// DOOM keyboard definition. |
// This is the stuff configured by Setup.Exe. |
// Most key data are simple ascii (uppercased). |
// |
#define KEY_W 'w' |
#define KEY_D 'd' |
#define KEY_A 'a' |
#define KEY_S 's' |
#define KEY_RIGHTARROW 0xae |
#define KEY_LEFTARROW 0xac |
#define KEY_UPARROW 0xad |
#define KEY_DOWNARROW 0xaf |
#define KEY_ESCAPE 27 |
#define KEY_ENTER 13 |
#define KEY_TAB 9 |
#define KEY_F1 (0x80+0x3b) |
#define KEY_F2 (0x80+0x3c) |
#define KEY_F3 (0x80+0x3d) |
#define KEY_F4 (0x80+0x3e) |
#define KEY_F5 (0x80+0x3f) |
#define KEY_F6 (0x80+0x40) |
#define KEY_F7 (0x80+0x41) |
#define KEY_F8 (0x80+0x42) |
#define KEY_F9 (0x80+0x43) |
#define KEY_F10 (0x80+0x44) |
#define KEY_F11 (0x80+0x57) |
#define KEY_F12 (0x80+0x58) |
#define KEY_BACKSPACE 127 |
#define KEY_PAUSE 0xff |
#define KEY_EQUALS 0x3d |
#define KEY_MINUS 0x2d |
#define KEY_RSHIFT (0x80+0x36) |
#define KEY_RCTRL (0x80+0x1d) |
#define KEY_RALT (0x80+0x38) |
#define KEY_LALT KEY_RALT |
// DOOM basic types (boolean), |
// and max/min values. |
//#include "doomtype.h" |
// Fixed point. |
//#include "m_fixed.h" |
// Endianess handling. |
//#include "m_swap.h" |
// Binary Angles, sine/cosine/atan lookups. |
//#include "tables.h" |
// Event type. |
//#include "d_event.h" |
// Game function, skills. |
//#include "g_game.h" |
// All external data is defined here. |
//#include "doomdata.h" |
// All important printed strings. |
// Language selection (message strings). |
//#include "dstrings.h" |
// Player is a special actor. |
//struct player_s; |
//#include "d_items.h" |
//#include "d_player.h" |
//#include "p_mobj.h" |
//#include "d_net.h" |
// PLAY |
//#include "p_tick.h" |
// Header, generated by sound utility. |
// The utility was written by Dave Taylor. |
//#include "sounds.h" |
#endif // __DOOMDEF__ |
//----------------------------------------------------------------------------- |
// |
// $Log:$ |
// |
//----------------------------------------------------------------------------- |
/programs/games/doom/trunk/h/doomstat.h |
---|
0,0 → 1,296 |
// Emacs style mode select -*- C++ -*- |
//----------------------------------------------------------------------------- |
// |
// $Id:$ |
// |
// Copyright (C) 1993-1996 by id Software, Inc. |
// |
// This source is available for distribution and/or modification |
// only under the terms of the DOOM Source Code License as |
// published by id Software. All rights reserved. |
// |
// The source is distributed in the hope that it will be useful, |
// but WITHOUT ANY WARRANTY; without even the implied warranty of |
// FITNESS FOR A PARTICULAR PURPOSE. See the DOOM Source Code License |
// for more details. |
// |
// DESCRIPTION: |
// All the global variables that store the internal state. |
// Theoretically speaking, the internal state of the engine |
// should be found by looking at the variables collected |
// here, and every relevant module will have to include |
// this header file. |
// In practice, things are a bit messy. |
// |
//----------------------------------------------------------------------------- |
#ifndef __D_STATE__ |
#define __D_STATE__ |
// We need globally shared data structures, |
// for defining the global state variables. |
#include "doomdata.h" |
#include "d_net.h" |
// We need the playr data structure as well. |
#include "d_player.h" |
#ifdef __GNUG__ |
#pragma interface |
#endif |
// ------------------------ |
// Command line parameters. |
// |
extern boolean nomonsters; // checkparm of -nomonsters |
extern boolean respawnparm; // checkparm of -respawn |
extern boolean fastparm; // checkparm of -fast |
extern boolean devparm; // DEBUG: launched with -devparm |
// ----------------------------------------------------- |
// Game Mode - identify IWAD as shareware, retail etc. |
// |
extern GameMode_t gamemode; |
extern GameMission_t gamemission; |
// Set if homebrew PWAD stuff has been added. |
extern boolean modifiedgame; |
// ------------------------------------------- |
// Language. |
extern Language_t language; |
// ------------------------------------------- |
// Selected skill type, map etc. |
// |
// Defaults for menu, methinks. |
extern skill_t startskill; |
extern int startepisode; |
extern int startmap; |
extern boolean autostart; |
// Selected by user. |
extern skill_t gameskill; |
extern int gameepisode; |
extern int gamemap; |
// Nightmare mode flag, single player. |
extern boolean respawnmonsters; |
// Netgame? Only true if >1 player. |
extern boolean netgame; |
// Flag: true only if started as net deathmatch. |
// An enum might handle altdeath/cooperative better. |
extern boolean deathmatch; |
// ------------------------- |
// Internal parameters for sound rendering. |
// These have been taken from the DOS version, |
// but are not (yet) supported with Linux |
// (e.g. no sound volume adjustment with menu. |
// These are not used, but should be (menu). |
// From m_menu.c: |
// Sound FX volume has default, 0 - 15 |
// Music volume has default, 0 - 15 |
// These are multiplied by 8. |
extern int snd_SfxVolume; // maximum volume for sound |
extern int snd_MusicVolume; // maximum volume for music |
// Current music/sfx card - index useless |
// w/o a reference LUT in a sound module. |
// Ideally, this would use indices found |
// in: /usr/include/linux/soundcard.h |
extern int snd_MusicDevice; |
extern int snd_SfxDevice; |
// Config file? Same disclaimer as above. |
extern int snd_DesiredMusicDevice; |
extern int snd_DesiredSfxDevice; |
// ------------------------- |
// Status flags for refresh. |
// |
// Depending on view size - no status bar? |
// Note that there is no way to disable the |
// status bar explicitely. |
extern boolean statusbaractive; |
extern boolean automapactive; // In AutoMap mode? |
extern boolean menuactive; // Menu overlayed? |
extern boolean paused; // Game Pause? |
extern boolean viewactive; |
extern boolean nodrawers; |
extern boolean noblit; |
extern int viewwindowx; |
extern int viewwindowy; |
extern int viewheight; |
extern int viewwidth; |
extern int scaledviewwidth; |
// This one is related to the 3-screen display mode. |
// ANG90 = left side, ANG270 = right |
extern int viewangleoffset; |
// Player taking events, and displaying. |
extern int consoleplayer; |
extern int displayplayer; |
// ------------------------------------- |
// Scores, rating. |
// Statistics on a given map, for intermission. |
// |
extern int totalkills; |
extern int totalitems; |
extern int totalsecret; |
// Timer, for scores. |
extern int levelstarttic; // gametic at level start |
extern int leveltime; // tics in game play for par |
// -------------------------------------- |
// DEMO playback/recording related stuff. |
// No demo, there is a human player in charge? |
// Disable save/end game? |
extern boolean usergame; |
//? |
extern boolean demoplayback; |
extern boolean demorecording; |
// Quit after playing a demo from cmdline. |
extern boolean singledemo; |
//? |
extern gamestate_t gamestate; |
//----------------------------- |
// Internal parameters, fixed. |
// These are set by the engine, and not changed |
// according to user inputs. Partly load from |
// WAD, partly set at startup time. |
extern int gametic; |
// Bookkeeping on players - state. |
extern player_t players[MAXPLAYERS]; |
// Alive? Disconnected? |
extern boolean playeringame[MAXPLAYERS]; |
// Player spawn spots for deathmatch. |
#define MAX_DM_STARTS 10 |
extern mapthing_t deathmatchstarts[MAX_DM_STARTS]; |
extern mapthing_t* deathmatch_p; |
// Player spawn spots. |
extern mapthing_t playerstarts[MAXPLAYERS]; |
// Intermission stats. |
// Parameters for world map / intermission. |
extern wbstartstruct_t wminfo; |
// LUT of ammunition limits for each kind. |
// This doubles with BackPack powerup item. |
extern int maxammo[NUMAMMO]; |
//----------------------------------------- |
// Internal parameters, used for engine. |
// |
// File handling stuff. |
extern char basedefault[1024]; |
extern FILE* debugfile; |
// if true, load all graphics at level load |
extern boolean precache; |
// wipegamestate can be set to -1 |
// to force a wipe on the next draw |
extern gamestate_t wipegamestate; |
extern int mouseSensitivity; |
//? |
// debug flag to cancel adaptiveness |
extern boolean singletics; |
extern int bodyqueslot; |
// Needed to store the number of the dummy sky flat. |
// Used for rendering, |
// as well as tracking projectiles etc. |
extern int skyflatnum; |
// Netgame stuff (buffers and pointers, i.e. indices). |
// This is ??? |
extern doomcom_t* doomcom; |
// This points inside doomcom. |
extern doomdata_t* netbuffer; |
extern ticcmd_t localcmds[BACKUPTICS]; |
extern int rndindex; |
extern int maketic; |
extern int nettics[MAXNETNODES]; |
extern ticcmd_t netcmds[MAXPLAYERS][BACKUPTICS]; |
extern int ticdup; |
#endif |
//----------------------------------------------------------------------------- |
// |
// $Log:$ |
// |
//----------------------------------------------------------------------------- |
/programs/games/doom/trunk/h/doomtype.h |
---|
0,0 → 1,83 |
// Emacs style mode select -*- C++ -*- |
//----------------------------------------------------------------------------- |
// |
// $Id:$ |
// |
// Copyright (C) 1993-1996 by id Software, Inc. |
// |
// This source is available for distribution and/or modification |
// only under the terms of the DOOM Source Code License as |
// published by id Software. All rights reserved. |
// |
// The source is distributed in the hope that it will be useful, |
// but WITHOUT ANY WARRANTY; without even the implied warranty of |
// FITNESS FOR A PARTICULAR PURPOSE. See the DOOM Source Code License |
// for more details. |
// |
// DESCRIPTION: |
// Simple basic typedefs, isolated here to make it easier |
// separating modules. |
// |
//----------------------------------------------------------------------------- |
#ifndef __DOOMTYPE__ |
#define __DOOMTYPE__ |
//#ifndef __BYTEBOOL__ |
//#define __BYTEBOOL__ |
// Fixed to use builtin bool type with C++. |
// #ifdef __cplusplus |
// typedef bool boolean; |
// #else |
// #endif |
//typedef unsigned int boolean; |
typedef enum {false=0, true,forced=0xFFFFFFFF} boolean; |
typedef unsigned char byte; |
//#endif |
// Predefined with some OS. |
#ifdef LINUX |
#include <values.h> |
#else |
#ifndef MAXCHAR |
#define MAXCHAR ((char)0x7f) |
#endif |
#ifndef MAXSHORT |
#define MAXSHORT ((short)0x7fff) |
#endif |
// Max pos 32-bit int. |
#ifndef MAXINT |
#define MAXINT ((int)0x7fffffff) |
#endif |
#ifndef MAXLONG |
#define MAXLONG ((long)0x7fffffff) |
#endif |
#ifndef MINCHAR |
#define MINCHAR ((char)0x80) |
#endif |
#ifndef MINSHORT |
#define MINSHORT ((short)0x8000) |
#endif |
// Max negative 32-bit integer. |
#ifndef MININT |
#define MININT ((int)0x80000000) |
#endif |
#ifndef MINLONG |
#define MINLONG ((long)0x80000000) |
#endif |
#endif |
#endif |
//----------------------------------------------------------------------------- |
// |
// $Log:$ |
// |
//----------------------------------------------------------------------------- |
/programs/games/doom/trunk/h/dstrings.h |
---|
0,0 → 1,66 |
// Emacs style mode select -*- C++ -*- |
//----------------------------------------------------------------------------- |
// |
// $Id:$ |
// |
// Copyright (C) 1993-1996 by id Software, Inc. |
// |
// This source is available for distribution and/or modification |
// only under the terms of the DOOM Source Code License as |
// published by id Software. All rights reserved. |
// |
// The source is distributed in the hope that it will be useful, |
// but WITHOUT ANY WARRANTY; without even the implied warranty of |
// FITNESS FOR A PARTICULAR PURPOSE. See the DOOM Source Code License |
// for more details. |
// |
// |
// $Log:$ |
// |
// DESCRIPTION: |
// DOOM strings, by language. |
// |
//----------------------------------------------------------------------------- |
#ifndef __DSTRINGS__ |
#define __DSTRINGS__ |
// All important printed strings. |
// Language selection (message strings). |
// Use -DFRENCH etc. |
#ifdef FRENCH |
#include "d_french.h" |
#else |
#include "d_englsh.h" |
#endif |
// Misc. other strings. |
#define SAVEGAMENAME "doomsav" |
// |
// File locations, |
// relative to current position. |
// Path names are OS-sensitive. |
// |
#define DEVMAPS "devmaps" |
#define DEVDATA "devdata" |
// Not done in french? |
// QuitDOOM messages |
#define NUM_QUITMESSAGES 22 |
extern char* endmsg[]; |
#endif |
//----------------------------------------------------------------------------- |
// |
// $Log:$ |
// |
//----------------------------------------------------------------------------- |
/programs/games/doom/trunk/h/f_finale.h |
---|
0,0 → 1,53 |
// Emacs style mode select -*- C++ -*- |
//----------------------------------------------------------------------------- |
// |
// $Id:$ |
// |
// Copyright (C) 1993-1996 by id Software, Inc. |
// |
// This source is available for distribution and/or modification |
// only under the terms of the DOOM Source Code License as |
// published by id Software. All rights reserved. |
// |
// The source is distributed in the hope that it will be useful, |
// but WITHOUT ANY WARRANTY; without even the implied warranty of |
// FITNESS FOR A PARTICULAR PURPOSE. See the DOOM Source Code License |
// for more details. |
// |
// DESCRIPTION: |
// |
// |
//----------------------------------------------------------------------------- |
#ifndef __F_FINALE__ |
#define __F_FINALE__ |
#include "doomtype.h" |
#include "d_event.h" |
// |
// FINALE |
// |
// Called by main loop. |
boolean F_Responder (event_t* ev); |
// Called by main loop. |
void F_Ticker (void); |
// Called by main loop. |
void F_Drawer (void); |
void F_StartFinale (void); |
#endif |
//----------------------------------------------------------------------------- |
// |
// $Log:$ |
// |
//----------------------------------------------------------------------------- |
/programs/games/doom/trunk/h/f_wipe.h |
---|
0,0 → 1,71 |
// Emacs style mode select -*- C++ -*- |
//----------------------------------------------------------------------------- |
// |
// $Id:$ |
// |
// Copyright (C) 1993-1996 by id Software, Inc. |
// |
// This source is available for distribution and/or modification |
// only under the terms of the DOOM Source Code License as |
// published by id Software. All rights reserved. |
// |
// The source is distributed in the hope that it will be useful, |
// but WITHOUT ANY WARRANTY; without even the implied warranty of |
// FITNESS FOR A PARTICULAR PURPOSE. See the DOOM Source Code License |
// for more details. |
// |
// DESCRIPTION: |
// Mission start screen wipe/melt, special effects. |
// |
//----------------------------------------------------------------------------- |
#ifndef __F_WIPE_H__ |
#define __F_WIPE_H__ |
// |
// SCREEN WIPE PACKAGE |
// |
enum |
{ |
// simple gradual pixel change for 8-bit only |
wipe_ColorXForm, |
// weird screen melt |
wipe_Melt, |
wipe_NUMWIPES |
}; |
int |
wipe_StartScreen |
( int x, |
int y, |
int width, |
int height ); |
int |
wipe_EndScreen |
( int x, |
int y, |
int width, |
int height ); |
int |
wipe_ScreenWipe |
( int wipeno, |
int x, |
int y, |
int width, |
int height, |
int ticks ); |
#endif |
//----------------------------------------------------------------------------- |
// |
// $Log:$ |
// |
//----------------------------------------------------------------------------- |
/programs/games/doom/trunk/h/g_game.h |
---|
0,0 → 1,79 |
// Emacs style mode select -*- C++ -*- |
//----------------------------------------------------------------------------- |
// |
// $Id:$ |
// |
// Copyright (C) 1993-1996 by id Software, Inc. |
// |
// This source is available for distribution and/or modification |
// only under the terms of the DOOM Source Code License as |
// published by id Software. All rights reserved. |
// |
// The source is distributed in the hope that it will be useful, |
// but WITHOUT ANY WARRANTY; without even the implied warranty of |
// FITNESS FOR A PARTICULAR PURPOSE. See the DOOM Source Code License |
// for more details. |
// |
// DESCRIPTION: |
// Duh. |
// |
//----------------------------------------------------------------------------- |
#ifndef __G_GAME__ |
#define __G_GAME__ |
#include "doomdef.h" |
#include "d_event.h" |
// |
// GAME |
// |
void G_DeathMatchSpawnPlayer (int playernum); |
void G_InitNew (skill_t skill, int episode, int map); |
// Can be called by the startup code or M_Responder. |
// A normal game starts at map 1, |
// but a warp test can start elsewhere |
void G_DeferedInitNew (skill_t skill, int episode, int map); |
void G_DeferedPlayDemo (char* demo); |
// Can be called by the startup code or M_Responder, |
// calls P_SetupLevel or W_EnterWorld. |
void G_LoadGame (char* name); |
void G_DoLoadGame (void); |
// Called by M_Responder. |
void G_SaveGame (int slot, char* description); |
// Only called by startup code. |
void G_RecordDemo (char* name); |
void G_BeginRecording (void); |
void G_PlayDemo (char* name); |
void G_TimeDemo (char* name); |
boolean G_CheckDemoStatus (void); |
void G_ExitLevel (void); |
void G_SecretExitLevel (void); |
void G_WorldDone (void); |
void G_Ticker (void); |
boolean G_Responder (event_t* ev); |
void G_ScreenShot (void); |
#endif |
//----------------------------------------------------------------------------- |
// |
// $Log:$ |
// |
//----------------------------------------------------------------------------- |
/programs/games/doom/trunk/h/hu_lib.h |
---|
0,0 → 1,196 |
// Emacs style mode select -*- C++ -*- |
//----------------------------------------------------------------------------- |
// |
// $Id:$ |
// |
// Copyright (C) 1993-1996 by id Software, Inc. |
// |
// This source is available for distribution and/or modification |
// only under the terms of the DOOM Source Code License as |
// published by id Software. All rights reserved. |
// |
// The source is distributed in the hope that it will be useful, |
// but WITHOUT ANY WARRANTY; without even the implied warranty of |
// FITNESS FOR A PARTICULAR PURPOSE. See the DOOM Source Code License |
// for more details. |
// |
// DESCRIPTION: none |
// |
//----------------------------------------------------------------------------- |
#ifndef __HULIB__ |
#define __HULIB__ |
// We are referring to patches. |
#include "r_defs.h" |
// background and foreground screen numbers |
// different from other modules. |
#define BG 1 |
#define FG 0 |
// font stuff |
#define HU_CHARERASE KEY_BACKSPACE |
#define HU_MAXLINES 4 |
#define HU_MAXLINELENGTH 80 |
// |
// Typedefs of widgets |
// |
// Text Line widget |
// (parent of Scrolling Text and Input Text widgets) |
typedef struct |
{ |
// left-justified position of scrolling text window |
int x; |
int y; |
patch_t** f; // font |
int sc; // start character |
char l[HU_MAXLINELENGTH+1]; // line of text |
int len; // current line length |
// whether this line needs to be udpated |
int needsupdate; |
} hu_textline_t; |
// Scrolling Text window widget |
// (child of Text Line widget) |
typedef struct |
{ |
hu_textline_t l[HU_MAXLINES]; // text lines to draw |
int h; // height in lines |
int cl; // current line number |
// pointer to boolean stating whether to update window |
boolean* on; |
boolean laston; // last value of *->on. |
} hu_stext_t; |
// Input Text Line widget |
// (child of Text Line widget) |
typedef struct |
{ |
hu_textline_t l; // text line to input on |
// left margin past which I am not to delete characters |
int lm; |
// pointer to boolean stating whether to update window |
boolean* on; |
boolean laston; // last value of *->on; |
} hu_itext_t; |
// |
// Widget creation, access, and update routines |
// |
// initializes heads-up widget library |
void HUlib_init(void); |
// |
// textline code |
// |
// clear a line of text |
void HUlib_clearTextLine(hu_textline_t *t); |
void HUlib_initTextLine(hu_textline_t *t, int x, int y, patch_t **f, int sc); |
// returns success |
boolean HUlib_addCharToTextLine(hu_textline_t *t, char ch); |
// returns success |
boolean HUlib_delCharFromTextLine(hu_textline_t *t); |
// draws tline |
void HUlib_drawTextLine(hu_textline_t *l, boolean drawcursor); |
// erases text line |
void HUlib_eraseTextLine(hu_textline_t *l); |
// |
// Scrolling Text window widget routines |
// |
// ? |
void |
HUlib_initSText |
( hu_stext_t* s, |
int x, |
int y, |
int h, |
patch_t** font, |
int startchar, |
boolean* on ); |
// add a new line |
void HUlib_addLineToSText(hu_stext_t* s); |
// ? |
void |
HUlib_addMessageToSText |
( hu_stext_t* s, |
char* prefix, |
char* msg ); |
// draws stext |
void HUlib_drawSText(hu_stext_t* s); |
// erases all stext lines |
void HUlib_eraseSText(hu_stext_t* s); |
// Input Text Line widget routines |
void |
HUlib_initIText |
( hu_itext_t* it, |
int x, |
int y, |
patch_t** font, |
int startchar, |
boolean* on ); |
// enforces left margin |
void HUlib_delCharFromIText(hu_itext_t* it); |
// enforces left margin |
void HUlib_eraseLineFromIText(hu_itext_t* it); |
// resets line and left margin |
void HUlib_resetIText(hu_itext_t* it); |
// left of left-margin |
void |
HUlib_addPrefixToIText |
( hu_itext_t* it, |
char* str ); |
// whether eaten |
boolean |
HUlib_keyInIText |
( hu_itext_t* it, |
unsigned char ch ); |
void HUlib_drawIText(hu_itext_t* it); |
// erases all itext lines |
void HUlib_eraseIText(hu_itext_t* it); |
#endif |
//----------------------------------------------------------------------------- |
// |
// $Log:$ |
// |
//----------------------------------------------------------------------------- |
/programs/games/doom/trunk/h/hu_stuff.h |
---|
0,0 → 1,66 |
// Emacs style mode select -*- C++ -*- |
//----------------------------------------------------------------------------- |
// |
// $Id:$ |
// |
// Copyright (C) 1993-1996 by id Software, Inc. |
// |
// This source is available for distribution and/or modification |
// only under the terms of the DOOM Source Code License as |
// published by id Software. All rights reserved. |
// |
// The source is distributed in the hope that it will be useful, |
// but WITHOUT ANY WARRANTY; without even the implied warranty of |
// FITNESS FOR A PARTICULAR PURPOSE. See the DOOM Source Code License |
// for more details. |
// |
// DESCRIPTION: Head up display |
// |
//----------------------------------------------------------------------------- |
#ifndef __HU_STUFF_H__ |
#define __HU_STUFF_H__ |
#include "d_event.h" |
// |
// Globally visible constants. |
// |
#define HU_FONTSTART '!' // the first font characters |
#define HU_FONTEND '_' // the last font characters |
// Calculate # of glyphs in font. |
#define HU_FONTSIZE (HU_FONTEND - HU_FONTSTART + 1) |
#define HU_BROADCAST 5 |
#define HU_MSGREFRESH KEY_ENTER |
#define HU_MSGX 0 |
#define HU_MSGY 0 |
#define HU_MSGWIDTH 64 // in characters |
#define HU_MSGHEIGHT 1 // in lines |
#define HU_MSGTIMEOUT (4*TICRATE) |
// |
// HEADS UP TEXT |
// |
void HU_Init(void); |
void HU_Start(void); |
boolean HU_Responder(event_t* ev); |
void HU_Ticker(void); |
void HU_Drawer(void); |
char HU_dequeueChatChar(void); |
void HU_Erase(void); |
#endif |
//----------------------------------------------------------------------------- |
// |
// $Log:$ |
// |
//----------------------------------------------------------------------------- |
/programs/games/doom/trunk/h/i_net.h |
---|
0,0 → 1,45 |
// Emacs style mode select -*- C++ -*- |
//----------------------------------------------------------------------------- |
// |
// $Id:$ |
// |
// Copyright (C) 1993-1996 by id Software, Inc. |
// |
// This source is available for distribution and/or modification |
// only under the terms of the DOOM Source Code License as |
// published by id Software. All rights reserved. |
// |
// The source is distributed in the hope that it will be useful, |
// but WITHOUT ANY WARRANTY; without even the implied warranty of |
// FITNESS FOR A PARTICULAR PURPOSE. See the DOOM Source Code License |
// for more details. |
// |
// DESCRIPTION: |
// System specific network interface stuff. |
// |
//----------------------------------------------------------------------------- |
#ifndef __I_NET__ |
#define __I_NET__ |
#ifdef __GNUG__ |
#pragma interface |
#endif |
// Called by D_DoomMain. |
void I_InitNetwork (void); |
void I_NetCmd (void); |
#endif |
//----------------------------------------------------------------------------- |
// |
// $Log:$ |
// |
//----------------------------------------------------------------------------- |
/programs/games/doom/trunk/h/i_sound.h |
---|
0,0 → 1,111 |
// Emacs style mode select -*- C++ -*- |
//----------------------------------------------------------------------------- |
// |
// $Id:$ |
// |
// Copyright (C) 1993-1996 by id Software, Inc. |
// |
// This source is available for distribution and/or modification |
// only under the terms of the DOOM Source Code License as |
// published by id Software. All rights reserved. |
// |
// The source is distributed in the hope that it will be useful, |
// but WITHOUT ANY WARRANTY; without even the implied warranty of |
// FITNESS FOR A PARTICULAR PURPOSE. See the DOOM Source Code License |
// for more details. |
// |
// |
// DESCRIPTION: |
// System interface, sound. |
// |
//----------------------------------------------------------------------------- |
#ifndef __I_SOUND__ |
#define __I_SOUND__ |
#include "doomdef.h" |
#include "doomstat.h" |
#include "sounds.h" |
// Init at program start... |
void I_InitSound(); |
// ... shut down and relase at program termination. |
void I_ShutdownSound(void); |
// |
// SFX I/O |
// |
// Initialize channels? |
void I_SetChannels(); |
// Get raw data lump index for sound descriptor. |
int I_GetSfxLumpNum (sfxinfo_t* sfxinfo ); |
// Starts a sound in a particular sound channel. |
int |
I_StartSound |
( int id, |
int vol, |
int sep, |
int pitch, |
int priority ); |
// Stops a sound channel. |
void I_StopSound(int handle); |
// Called by S_*() functions |
// to see if a channel is still playing. |
// Returns 0 if no longer playing, 1 if playing. |
int I_SoundIsPlaying(int handle); |
// Updates the volume, separation, |
// and pitch of a sound channel. |
void |
I_UpdateSoundParams |
( int handle, |
int vol, |
int sep, |
int pitch ); |
// |
// MUSIC I/O |
// |
void I_InitMusic(void); |
void I_ShutdownMusic(void); |
// Volume. |
void I_SetMusicVolume(int volume); |
// PAUSE game handling. |
void I_PauseSong(int handle); |
void I_ResumeSong(int handle); |
// Registers a song handle to song data. |
int I_RegisterSong(void *data); |
// Called by anything that wishes to start music. |
// plays a song, and when the song is done, |
// starts playing it again in an endless loop. |
// Horrible thing to do, considering. |
void |
I_PlaySong |
( int handle, |
int looping ); |
// Stops a song over 3 seconds. |
void I_StopSong(int handle); |
// See above (register), then think backwards |
void I_UnRegisterSong(int handle); |
#endif |
//----------------------------------------------------------------------------- |
// |
// $Log:$ |
// |
//----------------------------------------------------------------------------- |
/programs/games/doom/trunk/h/i_system.h |
---|
0,0 → 1,97 |
// Emacs style mode select -*- C++ -*- |
//----------------------------------------------------------------------------- |
// |
// $Id:$ |
// |
// Copyright (C) 1993-1996 by id Software, Inc. |
// |
// This source is available for distribution and/or modification |
// only under the terms of the DOOM Source Code License as |
// published by id Software. All rights reserved. |
// |
// The source is distributed in the hope that it will be useful, |
// but WITHOUT ANY WARRANTY; without even the implied warranty of |
// FITNESS FOR A PARTICULAR PURPOSE. See the DOOM Source Code License |
// for more details. |
// |
// DESCRIPTION: |
// System specific interface stuff. |
// |
//----------------------------------------------------------------------------- |
#ifndef __I_SYSTEM__ |
#define __I_SYSTEM__ |
#include "d_ticcmd.h" |
#include "d_event.h" |
#ifdef __GNUG__ |
#pragma interface |
#endif |
// Called by DoomMain. |
void I_Init (void); |
// Called by startup code |
// to get the ammount of memory to malloc |
// for the zone management. |
byte* I_ZoneBase (int *size); |
// Called by D_DoomLoop, |
// returns current time in tics. |
int I_GetTime (void); |
// |
// Called by D_DoomLoop, |
// called before processing any tics in a frame |
// (just after displaying a frame). |
// Time consuming syncronous operations |
// are performed here (joystick reading). |
// Can call D_PostEvent. |
// |
void I_StartFrame (void); |
// |
// Called by D_DoomLoop, |
// called before processing each tic in a frame. |
// Quick syncronous operations are performed here. |
// Can call D_PostEvent. |
void I_StartTic (void); |
// Asynchronous interrupt functions should maintain private queues |
// that are read by the synchronous functions |
// to be converted into events. |
// Either returns a null ticcmd, |
// or calls a loadable driver to build it. |
// This ticcmd will then be modified by the gameloop |
// for normal input. |
ticcmd_t* I_BaseTiccmd (void); |
// Called by M_Responder when quit is selected. |
// Clean exit, displays sell blurb. |
void I_Quit (void); |
// Allocates from low memory under dos, |
// just mallocs under unix |
byte* I_AllocLow (int length); |
void I_Tactile (int on, int off, int total); |
void I_Error (char *error, ...); |
#endif |
//----------------------------------------------------------------------------- |
// |
// $Log:$ |
// |
//----------------------------------------------------------------------------- |
/programs/games/doom/trunk/h/i_video.h |
---|
0,0 → 1,63 |
// Emacs style mode select -*- C++ -*- |
//----------------------------------------------------------------------------- |
// |
// $Id:$ |
// |
// Copyright (C) 1993-1996 by id Software, Inc. |
// |
// This source is available for distribution and/or modification |
// only under the terms of the DOOM Source Code License as |
// published by id Software. All rights reserved. |
// |
// The source is distributed in the hope that it will be useful, |
// but WITHOUT ANY WARRANTY; without even the implied warranty of |
// FITNESS FOR A PARTICULAR PURPOSE. See the DOOM Source Code License |
// for more details. |
// |
// DESCRIPTION: |
// System specific interface stuff. |
// |
//----------------------------------------------------------------------------- |
#ifndef __I_VIDEO__ |
#define __I_VIDEO__ |
#include "doomtype.h" |
#ifdef __GNUG__ |
#pragma interface |
#endif |
// Called by D_DoomMain, |
// determines the hardware configuration |
// and sets up the video mode |
void I_InitGraphics (void); |
void I_ShutdownGraphics(void); |
// Takes full 8 bit values. |
void I_SetPalette (byte* palette); |
void I_UpdateNoBlit (void); |
void I_FinishUpdate (void); |
// Wait for vertical retrace or pause a bit. |
void I_WaitVBL(int count); |
void I_ReadScreen (byte* scr); |
void I_BeginRead (void); |
void I_EndRead (void); |
#endif |
//----------------------------------------------------------------------------- |
// |
// $Log:$ |
// |
//----------------------------------------------------------------------------- |
/programs/games/doom/trunk/h/info.h |
---|
0,0 → 1,1340 |
// Emacs style mode select -*- C++ -*- |
//----------------------------------------------------------------------------- |
// |
// $Id:$ |
// |
// Copyright (C) 1993-1996 by id Software, Inc. |
// |
// This source is available for distribution and/or modification |
// only under the terms of the DOOM Source Code License as |
// published by id Software. All rights reserved. |
// |
// The source is distributed in the hope that it will be useful, |
// but WITHOUT ANY WARRANTY; without even the implied warranty of |
// FITNESS FOR A PARTICULAR PURPOSE. See the DOOM Source Code License |
// for more details. |
// |
// DESCRIPTION: |
// Thing frame/state LUT, |
// generated by multigen utilitiy. |
// This one is the original DOOM version, preserved. |
// |
//----------------------------------------------------------------------------- |
#ifndef __INFO__ |
#define __INFO__ |
// Needed for action function pointer handling. |
#include "d_think.h" |
typedef enum |
{ |
SPR_TROO, |
SPR_SHTG, |
SPR_PUNG, |
SPR_PISG, |
SPR_PISF, |
SPR_SHTF, |
SPR_SHT2, |
SPR_CHGG, |
SPR_CHGF, |
SPR_MISG, |
SPR_MISF, |
SPR_SAWG, |
SPR_PLSG, |
SPR_PLSF, |
SPR_BFGG, |
SPR_BFGF, |
SPR_BLUD, |
SPR_PUFF, |
SPR_BAL1, |
SPR_BAL2, |
SPR_PLSS, |
SPR_PLSE, |
SPR_MISL, |
SPR_BFS1, |
SPR_BFE1, |
SPR_BFE2, |
SPR_TFOG, |
SPR_IFOG, |
SPR_PLAY, |
SPR_POSS, |
SPR_SPOS, |
SPR_VILE, |
SPR_FIRE, |
SPR_FATB, |
SPR_FBXP, |
SPR_SKEL, |
SPR_MANF, |
SPR_FATT, |
SPR_CPOS, |
SPR_SARG, |
SPR_HEAD, |
SPR_BAL7, |
SPR_BOSS, |
SPR_BOS2, |
SPR_SKUL, |
SPR_SPID, |
SPR_BSPI, |
SPR_APLS, |
SPR_APBX, |
SPR_CYBR, |
SPR_PAIN, |
SPR_SSWV, |
SPR_KEEN, |
SPR_BBRN, |
SPR_BOSF, |
SPR_ARM1, |
SPR_ARM2, |
SPR_BAR1, |
SPR_BEXP, |
SPR_FCAN, |
SPR_BON1, |
SPR_BON2, |
SPR_BKEY, |
SPR_RKEY, |
SPR_YKEY, |
SPR_BSKU, |
SPR_RSKU, |
SPR_YSKU, |
SPR_STIM, |
SPR_MEDI, |
SPR_SOUL, |
SPR_PINV, |
SPR_PSTR, |
SPR_PINS, |
SPR_MEGA, |
SPR_SUIT, |
SPR_PMAP, |
SPR_PVIS, |
SPR_CLIP, |
SPR_AMMO, |
SPR_ROCK, |
SPR_BROK, |
SPR_CELL, |
SPR_CELP, |
SPR_SHEL, |
SPR_SBOX, |
SPR_BPAK, |
SPR_BFUG, |
SPR_MGUN, |
SPR_CSAW, |
SPR_LAUN, |
SPR_PLAS, |
SPR_SHOT, |
SPR_SGN2, |
SPR_COLU, |
SPR_SMT2, |
SPR_GOR1, |
SPR_POL2, |
SPR_POL5, |
SPR_POL4, |
SPR_POL3, |
SPR_POL1, |
SPR_POL6, |
SPR_GOR2, |
SPR_GOR3, |
SPR_GOR4, |
SPR_GOR5, |
SPR_SMIT, |
SPR_COL1, |
SPR_COL2, |
SPR_COL3, |
SPR_COL4, |
SPR_CAND, |
SPR_CBRA, |
SPR_COL6, |
SPR_TRE1, |
SPR_TRE2, |
SPR_ELEC, |
SPR_CEYE, |
SPR_FSKU, |
SPR_COL5, |
SPR_TBLU, |
SPR_TGRN, |
SPR_TRED, |
SPR_SMBT, |
SPR_SMGT, |
SPR_SMRT, |
SPR_HDB1, |
SPR_HDB2, |
SPR_HDB3, |
SPR_HDB4, |
SPR_HDB5, |
SPR_HDB6, |
SPR_POB1, |
SPR_POB2, |
SPR_BRS1, |
SPR_TLMP, |
SPR_TLP2, |
NUMSPRITES |
} spritenum_t; |
typedef enum |
{ |
S_NULL, |
S_LIGHTDONE, |
S_PUNCH, |
S_PUNCHDOWN, |
S_PUNCHUP, |
S_PUNCH1, |
S_PUNCH2, |
S_PUNCH3, |
S_PUNCH4, |
S_PUNCH5, |
S_PISTOL, |
S_PISTOLDOWN, |
S_PISTOLUP, |
S_PISTOL1, |
S_PISTOL2, |
S_PISTOL3, |
S_PISTOL4, |
S_PISTOLFLASH, |
S_SGUN, |
S_SGUNDOWN, |
S_SGUNUP, |
S_SGUN1, |
S_SGUN2, |
S_SGUN3, |
S_SGUN4, |
S_SGUN5, |
S_SGUN6, |
S_SGUN7, |
S_SGUN8, |
S_SGUN9, |
S_SGUNFLASH1, |
S_SGUNFLASH2, |
S_DSGUN, |
S_DSGUNDOWN, |
S_DSGUNUP, |
S_DSGUN1, |
S_DSGUN2, |
S_DSGUN3, |
S_DSGUN4, |
S_DSGUN5, |
S_DSGUN6, |
S_DSGUN7, |
S_DSGUN8, |
S_DSGUN9, |
S_DSGUN10, |
S_DSNR1, |
S_DSNR2, |
S_DSGUNFLASH1, |
S_DSGUNFLASH2, |
S_CHAIN, |
S_CHAINDOWN, |
S_CHAINUP, |
S_CHAIN1, |
S_CHAIN2, |
S_CHAIN3, |
S_CHAINFLASH1, |
S_CHAINFLASH2, |
S_MISSILE, |
S_MISSILEDOWN, |
S_MISSILEUP, |
S_MISSILE1, |
S_MISSILE2, |
S_MISSILE3, |
S_MISSILEFLASH1, |
S_MISSILEFLASH2, |
S_MISSILEFLASH3, |
S_MISSILEFLASH4, |
S_SAW, |
S_SAWB, |
S_SAWDOWN, |
S_SAWUP, |
S_SAW1, |
S_SAW2, |
S_SAW3, |
S_PLASMA, |
S_PLASMADOWN, |
S_PLASMAUP, |
S_PLASMA1, |
S_PLASMA2, |
S_PLASMAFLASH1, |
S_PLASMAFLASH2, |
S_BFG, |
S_BFGDOWN, |
S_BFGUP, |
S_BFG1, |
S_BFG2, |
S_BFG3, |
S_BFG4, |
S_BFGFLASH1, |
S_BFGFLASH2, |
S_BLOOD1, |
S_BLOOD2, |
S_BLOOD3, |
S_PUFF1, |
S_PUFF2, |
S_PUFF3, |
S_PUFF4, |
S_TBALL1, |
S_TBALL2, |
S_TBALLX1, |
S_TBALLX2, |
S_TBALLX3, |
S_RBALL1, |
S_RBALL2, |
S_RBALLX1, |
S_RBALLX2, |
S_RBALLX3, |
S_PLASBALL, |
S_PLASBALL2, |
S_PLASEXP, |
S_PLASEXP2, |
S_PLASEXP3, |
S_PLASEXP4, |
S_PLASEXP5, |
S_ROCKET, |
S_BFGSHOT, |
S_BFGSHOT2, |
S_BFGLAND, |
S_BFGLAND2, |
S_BFGLAND3, |
S_BFGLAND4, |
S_BFGLAND5, |
S_BFGLAND6, |
S_BFGEXP, |
S_BFGEXP2, |
S_BFGEXP3, |
S_BFGEXP4, |
S_EXPLODE1, |
S_EXPLODE2, |
S_EXPLODE3, |
S_TFOG, |
S_TFOG01, |
S_TFOG02, |
S_TFOG2, |
S_TFOG3, |
S_TFOG4, |
S_TFOG5, |
S_TFOG6, |
S_TFOG7, |
S_TFOG8, |
S_TFOG9, |
S_TFOG10, |
S_IFOG, |
S_IFOG01, |
S_IFOG02, |
S_IFOG2, |
S_IFOG3, |
S_IFOG4, |
S_IFOG5, |
S_PLAY, |
S_PLAY_RUN1, |
S_PLAY_RUN2, |
S_PLAY_RUN3, |
S_PLAY_RUN4, |
S_PLAY_ATK1, |
S_PLAY_ATK2, |
S_PLAY_PAIN, |
S_PLAY_PAIN2, |
S_PLAY_DIE1, |
S_PLAY_DIE2, |
S_PLAY_DIE3, |
S_PLAY_DIE4, |
S_PLAY_DIE5, |
S_PLAY_DIE6, |
S_PLAY_DIE7, |
S_PLAY_XDIE1, |
S_PLAY_XDIE2, |
S_PLAY_XDIE3, |
S_PLAY_XDIE4, |
S_PLAY_XDIE5, |
S_PLAY_XDIE6, |
S_PLAY_XDIE7, |
S_PLAY_XDIE8, |
S_PLAY_XDIE9, |
S_POSS_STND, |
S_POSS_STND2, |
S_POSS_RUN1, |
S_POSS_RUN2, |
S_POSS_RUN3, |
S_POSS_RUN4, |
S_POSS_RUN5, |
S_POSS_RUN6, |
S_POSS_RUN7, |
S_POSS_RUN8, |
S_POSS_ATK1, |
S_POSS_ATK2, |
S_POSS_ATK3, |
S_POSS_PAIN, |
S_POSS_PAIN2, |
S_POSS_DIE1, |
S_POSS_DIE2, |
S_POSS_DIE3, |
S_POSS_DIE4, |
S_POSS_DIE5, |
S_POSS_XDIE1, |
S_POSS_XDIE2, |
S_POSS_XDIE3, |
S_POSS_XDIE4, |
S_POSS_XDIE5, |
S_POSS_XDIE6, |
S_POSS_XDIE7, |
S_POSS_XDIE8, |
S_POSS_XDIE9, |
S_POSS_RAISE1, |
S_POSS_RAISE2, |
S_POSS_RAISE3, |
S_POSS_RAISE4, |
S_SPOS_STND, |
S_SPOS_STND2, |
S_SPOS_RUN1, |
S_SPOS_RUN2, |
S_SPOS_RUN3, |
S_SPOS_RUN4, |
S_SPOS_RUN5, |
S_SPOS_RUN6, |
S_SPOS_RUN7, |
S_SPOS_RUN8, |
S_SPOS_ATK1, |
S_SPOS_ATK2, |
S_SPOS_ATK3, |
S_SPOS_PAIN, |
S_SPOS_PAIN2, |
S_SPOS_DIE1, |
S_SPOS_DIE2, |
S_SPOS_DIE3, |
S_SPOS_DIE4, |
S_SPOS_DIE5, |
S_SPOS_XDIE1, |
S_SPOS_XDIE2, |
S_SPOS_XDIE3, |
S_SPOS_XDIE4, |
S_SPOS_XDIE5, |
S_SPOS_XDIE6, |
S_SPOS_XDIE7, |
S_SPOS_XDIE8, |
S_SPOS_XDIE9, |
S_SPOS_RAISE1, |
S_SPOS_RAISE2, |
S_SPOS_RAISE3, |
S_SPOS_RAISE4, |
S_SPOS_RAISE5, |
S_VILE_STND, |
S_VILE_STND2, |
S_VILE_RUN1, |
S_VILE_RUN2, |
S_VILE_RUN3, |
S_VILE_RUN4, |
S_VILE_RUN5, |
S_VILE_RUN6, |
S_VILE_RUN7, |
S_VILE_RUN8, |
S_VILE_RUN9, |
S_VILE_RUN10, |
S_VILE_RUN11, |
S_VILE_RUN12, |
S_VILE_ATK1, |
S_VILE_ATK2, |
S_VILE_ATK3, |
S_VILE_ATK4, |
S_VILE_ATK5, |
S_VILE_ATK6, |
S_VILE_ATK7, |
S_VILE_ATK8, |
S_VILE_ATK9, |
S_VILE_ATK10, |
S_VILE_ATK11, |
S_VILE_HEAL1, |
S_VILE_HEAL2, |
S_VILE_HEAL3, |
S_VILE_PAIN, |
S_VILE_PAIN2, |
S_VILE_DIE1, |
S_VILE_DIE2, |
S_VILE_DIE3, |
S_VILE_DIE4, |
S_VILE_DIE5, |
S_VILE_DIE6, |
S_VILE_DIE7, |
S_VILE_DIE8, |
S_VILE_DIE9, |
S_VILE_DIE10, |
S_FIRE1, |
S_FIRE2, |
S_FIRE3, |
S_FIRE4, |
S_FIRE5, |
S_FIRE6, |
S_FIRE7, |
S_FIRE8, |
S_FIRE9, |
S_FIRE10, |
S_FIRE11, |
S_FIRE12, |
S_FIRE13, |
S_FIRE14, |
S_FIRE15, |
S_FIRE16, |
S_FIRE17, |
S_FIRE18, |
S_FIRE19, |
S_FIRE20, |
S_FIRE21, |
S_FIRE22, |
S_FIRE23, |
S_FIRE24, |
S_FIRE25, |
S_FIRE26, |
S_FIRE27, |
S_FIRE28, |
S_FIRE29, |
S_FIRE30, |
S_SMOKE1, |
S_SMOKE2, |
S_SMOKE3, |
S_SMOKE4, |
S_SMOKE5, |
S_TRACER, |
S_TRACER2, |
S_TRACEEXP1, |
S_TRACEEXP2, |
S_TRACEEXP3, |
S_SKEL_STND, |
S_SKEL_STND2, |
S_SKEL_RUN1, |
S_SKEL_RUN2, |
S_SKEL_RUN3, |
S_SKEL_RUN4, |
S_SKEL_RUN5, |
S_SKEL_RUN6, |
S_SKEL_RUN7, |
S_SKEL_RUN8, |
S_SKEL_RUN9, |
S_SKEL_RUN10, |
S_SKEL_RUN11, |
S_SKEL_RUN12, |
S_SKEL_FIST1, |
S_SKEL_FIST2, |
S_SKEL_FIST3, |
S_SKEL_FIST4, |
S_SKEL_MISS1, |
S_SKEL_MISS2, |
S_SKEL_MISS3, |
S_SKEL_MISS4, |
S_SKEL_PAIN, |
S_SKEL_PAIN2, |
S_SKEL_DIE1, |
S_SKEL_DIE2, |
S_SKEL_DIE3, |
S_SKEL_DIE4, |
S_SKEL_DIE5, |
S_SKEL_DIE6, |
S_SKEL_RAISE1, |
S_SKEL_RAISE2, |
S_SKEL_RAISE3, |
S_SKEL_RAISE4, |
S_SKEL_RAISE5, |
S_SKEL_RAISE6, |
S_FATSHOT1, |
S_FATSHOT2, |
S_FATSHOTX1, |
S_FATSHOTX2, |
S_FATSHOTX3, |
S_FATT_STND, |
S_FATT_STND2, |
S_FATT_RUN1, |
S_FATT_RUN2, |
S_FATT_RUN3, |
S_FATT_RUN4, |
S_FATT_RUN5, |
S_FATT_RUN6, |
S_FATT_RUN7, |
S_FATT_RUN8, |
S_FATT_RUN9, |
S_FATT_RUN10, |
S_FATT_RUN11, |
S_FATT_RUN12, |
S_FATT_ATK1, |
S_FATT_ATK2, |
S_FATT_ATK3, |
S_FATT_ATK4, |
S_FATT_ATK5, |
S_FATT_ATK6, |
S_FATT_ATK7, |
S_FATT_ATK8, |
S_FATT_ATK9, |
S_FATT_ATK10, |
S_FATT_PAIN, |
S_FATT_PAIN2, |
S_FATT_DIE1, |
S_FATT_DIE2, |
S_FATT_DIE3, |
S_FATT_DIE4, |
S_FATT_DIE5, |
S_FATT_DIE6, |
S_FATT_DIE7, |
S_FATT_DIE8, |
S_FATT_DIE9, |
S_FATT_DIE10, |
S_FATT_RAISE1, |
S_FATT_RAISE2, |
S_FATT_RAISE3, |
S_FATT_RAISE4, |
S_FATT_RAISE5, |
S_FATT_RAISE6, |
S_FATT_RAISE7, |
S_FATT_RAISE8, |
S_CPOS_STND, |
S_CPOS_STND2, |
S_CPOS_RUN1, |
S_CPOS_RUN2, |
S_CPOS_RUN3, |
S_CPOS_RUN4, |
S_CPOS_RUN5, |
S_CPOS_RUN6, |
S_CPOS_RUN7, |
S_CPOS_RUN8, |
S_CPOS_ATK1, |
S_CPOS_ATK2, |
S_CPOS_ATK3, |
S_CPOS_ATK4, |
S_CPOS_PAIN, |
S_CPOS_PAIN2, |
S_CPOS_DIE1, |
S_CPOS_DIE2, |
S_CPOS_DIE3, |
S_CPOS_DIE4, |
S_CPOS_DIE5, |
S_CPOS_DIE6, |
S_CPOS_DIE7, |
S_CPOS_XDIE1, |
S_CPOS_XDIE2, |
S_CPOS_XDIE3, |
S_CPOS_XDIE4, |
S_CPOS_XDIE5, |
S_CPOS_XDIE6, |
S_CPOS_RAISE1, |
S_CPOS_RAISE2, |
S_CPOS_RAISE3, |
S_CPOS_RAISE4, |
S_CPOS_RAISE5, |
S_CPOS_RAISE6, |
S_CPOS_RAISE7, |
S_TROO_STND, |
S_TROO_STND2, |
S_TROO_RUN1, |
S_TROO_RUN2, |
S_TROO_RUN3, |
S_TROO_RUN4, |
S_TROO_RUN5, |
S_TROO_RUN6, |
S_TROO_RUN7, |
S_TROO_RUN8, |
S_TROO_ATK1, |
S_TROO_ATK2, |
S_TROO_ATK3, |
S_TROO_PAIN, |
S_TROO_PAIN2, |
S_TROO_DIE1, |
S_TROO_DIE2, |
S_TROO_DIE3, |
S_TROO_DIE4, |
S_TROO_DIE5, |
S_TROO_XDIE1, |
S_TROO_XDIE2, |
S_TROO_XDIE3, |
S_TROO_XDIE4, |
S_TROO_XDIE5, |
S_TROO_XDIE6, |
S_TROO_XDIE7, |
S_TROO_XDIE8, |
S_TROO_RAISE1, |
S_TROO_RAISE2, |
S_TROO_RAISE3, |
S_TROO_RAISE4, |
S_TROO_RAISE5, |
S_SARG_STND, |
S_SARG_STND2, |
S_SARG_RUN1, |
S_SARG_RUN2, |
S_SARG_RUN3, |
S_SARG_RUN4, |
S_SARG_RUN5, |
S_SARG_RUN6, |
S_SARG_RUN7, |
S_SARG_RUN8, |
S_SARG_ATK1, |
S_SARG_ATK2, |
S_SARG_ATK3, |
S_SARG_PAIN, |
S_SARG_PAIN2, |
S_SARG_DIE1, |
S_SARG_DIE2, |
S_SARG_DIE3, |
S_SARG_DIE4, |
S_SARG_DIE5, |
S_SARG_DIE6, |
S_SARG_RAISE1, |
S_SARG_RAISE2, |
S_SARG_RAISE3, |
S_SARG_RAISE4, |
S_SARG_RAISE5, |
S_SARG_RAISE6, |
S_HEAD_STND, |
S_HEAD_RUN1, |
S_HEAD_ATK1, |
S_HEAD_ATK2, |
S_HEAD_ATK3, |
S_HEAD_PAIN, |
S_HEAD_PAIN2, |
S_HEAD_PAIN3, |
S_HEAD_DIE1, |
S_HEAD_DIE2, |
S_HEAD_DIE3, |
S_HEAD_DIE4, |
S_HEAD_DIE5, |
S_HEAD_DIE6, |
S_HEAD_RAISE1, |
S_HEAD_RAISE2, |
S_HEAD_RAISE3, |
S_HEAD_RAISE4, |
S_HEAD_RAISE5, |
S_HEAD_RAISE6, |
S_BRBALL1, |
S_BRBALL2, |
S_BRBALLX1, |
S_BRBALLX2, |
S_BRBALLX3, |
S_BOSS_STND, |
S_BOSS_STND2, |
S_BOSS_RUN1, |
S_BOSS_RUN2, |
S_BOSS_RUN3, |
S_BOSS_RUN4, |
S_BOSS_RUN5, |
S_BOSS_RUN6, |
S_BOSS_RUN7, |
S_BOSS_RUN8, |
S_BOSS_ATK1, |
S_BOSS_ATK2, |
S_BOSS_ATK3, |
S_BOSS_PAIN, |
S_BOSS_PAIN2, |
S_BOSS_DIE1, |
S_BOSS_DIE2, |
S_BOSS_DIE3, |
S_BOSS_DIE4, |
S_BOSS_DIE5, |
S_BOSS_DIE6, |
S_BOSS_DIE7, |
S_BOSS_RAISE1, |
S_BOSS_RAISE2, |
S_BOSS_RAISE3, |
S_BOSS_RAISE4, |
S_BOSS_RAISE5, |
S_BOSS_RAISE6, |
S_BOSS_RAISE7, |
S_BOS2_STND, |
S_BOS2_STND2, |
S_BOS2_RUN1, |
S_BOS2_RUN2, |
S_BOS2_RUN3, |
S_BOS2_RUN4, |
S_BOS2_RUN5, |
S_BOS2_RUN6, |
S_BOS2_RUN7, |
S_BOS2_RUN8, |
S_BOS2_ATK1, |
S_BOS2_ATK2, |
S_BOS2_ATK3, |
S_BOS2_PAIN, |
S_BOS2_PAIN2, |
S_BOS2_DIE1, |
S_BOS2_DIE2, |
S_BOS2_DIE3, |
S_BOS2_DIE4, |
S_BOS2_DIE5, |
S_BOS2_DIE6, |
S_BOS2_DIE7, |
S_BOS2_RAISE1, |
S_BOS2_RAISE2, |
S_BOS2_RAISE3, |
S_BOS2_RAISE4, |
S_BOS2_RAISE5, |
S_BOS2_RAISE6, |
S_BOS2_RAISE7, |
S_SKULL_STND, |
S_SKULL_STND2, |
S_SKULL_RUN1, |
S_SKULL_RUN2, |
S_SKULL_ATK1, |
S_SKULL_ATK2, |
S_SKULL_ATK3, |
S_SKULL_ATK4, |
S_SKULL_PAIN, |
S_SKULL_PAIN2, |
S_SKULL_DIE1, |
S_SKULL_DIE2, |
S_SKULL_DIE3, |
S_SKULL_DIE4, |
S_SKULL_DIE5, |
S_SKULL_DIE6, |
S_SPID_STND, |
S_SPID_STND2, |
S_SPID_RUN1, |
S_SPID_RUN2, |
S_SPID_RUN3, |
S_SPID_RUN4, |
S_SPID_RUN5, |
S_SPID_RUN6, |
S_SPID_RUN7, |
S_SPID_RUN8, |
S_SPID_RUN9, |
S_SPID_RUN10, |
S_SPID_RUN11, |
S_SPID_RUN12, |
S_SPID_ATK1, |
S_SPID_ATK2, |
S_SPID_ATK3, |
S_SPID_ATK4, |
S_SPID_PAIN, |
S_SPID_PAIN2, |
S_SPID_DIE1, |
S_SPID_DIE2, |
S_SPID_DIE3, |
S_SPID_DIE4, |
S_SPID_DIE5, |
S_SPID_DIE6, |
S_SPID_DIE7, |
S_SPID_DIE8, |
S_SPID_DIE9, |
S_SPID_DIE10, |
S_SPID_DIE11, |
S_BSPI_STND, |
S_BSPI_STND2, |
S_BSPI_SIGHT, |
S_BSPI_RUN1, |
S_BSPI_RUN2, |
S_BSPI_RUN3, |
S_BSPI_RUN4, |
S_BSPI_RUN5, |
S_BSPI_RUN6, |
S_BSPI_RUN7, |
S_BSPI_RUN8, |
S_BSPI_RUN9, |
S_BSPI_RUN10, |
S_BSPI_RUN11, |
S_BSPI_RUN12, |
S_BSPI_ATK1, |
S_BSPI_ATK2, |
S_BSPI_ATK3, |
S_BSPI_ATK4, |
S_BSPI_PAIN, |
S_BSPI_PAIN2, |
S_BSPI_DIE1, |
S_BSPI_DIE2, |
S_BSPI_DIE3, |
S_BSPI_DIE4, |
S_BSPI_DIE5, |
S_BSPI_DIE6, |
S_BSPI_DIE7, |
S_BSPI_RAISE1, |
S_BSPI_RAISE2, |
S_BSPI_RAISE3, |
S_BSPI_RAISE4, |
S_BSPI_RAISE5, |
S_BSPI_RAISE6, |
S_BSPI_RAISE7, |
S_ARACH_PLAZ, |
S_ARACH_PLAZ2, |
S_ARACH_PLEX, |
S_ARACH_PLEX2, |
S_ARACH_PLEX3, |
S_ARACH_PLEX4, |
S_ARACH_PLEX5, |
S_CYBER_STND, |
S_CYBER_STND2, |
S_CYBER_RUN1, |
S_CYBER_RUN2, |
S_CYBER_RUN3, |
S_CYBER_RUN4, |
S_CYBER_RUN5, |
S_CYBER_RUN6, |
S_CYBER_RUN7, |
S_CYBER_RUN8, |
S_CYBER_ATK1, |
S_CYBER_ATK2, |
S_CYBER_ATK3, |
S_CYBER_ATK4, |
S_CYBER_ATK5, |
S_CYBER_ATK6, |
S_CYBER_PAIN, |
S_CYBER_DIE1, |
S_CYBER_DIE2, |
S_CYBER_DIE3, |
S_CYBER_DIE4, |
S_CYBER_DIE5, |
S_CYBER_DIE6, |
S_CYBER_DIE7, |
S_CYBER_DIE8, |
S_CYBER_DIE9, |
S_CYBER_DIE10, |
S_PAIN_STND, |
S_PAIN_RUN1, |
S_PAIN_RUN2, |
S_PAIN_RUN3, |
S_PAIN_RUN4, |
S_PAIN_RUN5, |
S_PAIN_RUN6, |
S_PAIN_ATK1, |
S_PAIN_ATK2, |
S_PAIN_ATK3, |
S_PAIN_ATK4, |
S_PAIN_PAIN, |
S_PAIN_PAIN2, |
S_PAIN_DIE1, |
S_PAIN_DIE2, |
S_PAIN_DIE3, |
S_PAIN_DIE4, |
S_PAIN_DIE5, |
S_PAIN_DIE6, |
S_PAIN_RAISE1, |
S_PAIN_RAISE2, |
S_PAIN_RAISE3, |
S_PAIN_RAISE4, |
S_PAIN_RAISE5, |
S_PAIN_RAISE6, |
S_SSWV_STND, |
S_SSWV_STND2, |
S_SSWV_RUN1, |
S_SSWV_RUN2, |
S_SSWV_RUN3, |
S_SSWV_RUN4, |
S_SSWV_RUN5, |
S_SSWV_RUN6, |
S_SSWV_RUN7, |
S_SSWV_RUN8, |
S_SSWV_ATK1, |
S_SSWV_ATK2, |
S_SSWV_ATK3, |
S_SSWV_ATK4, |
S_SSWV_ATK5, |
S_SSWV_ATK6, |
S_SSWV_PAIN, |
S_SSWV_PAIN2, |
S_SSWV_DIE1, |
S_SSWV_DIE2, |
S_SSWV_DIE3, |
S_SSWV_DIE4, |
S_SSWV_DIE5, |
S_SSWV_XDIE1, |
S_SSWV_XDIE2, |
S_SSWV_XDIE3, |
S_SSWV_XDIE4, |
S_SSWV_XDIE5, |
S_SSWV_XDIE6, |
S_SSWV_XDIE7, |
S_SSWV_XDIE8, |
S_SSWV_XDIE9, |
S_SSWV_RAISE1, |
S_SSWV_RAISE2, |
S_SSWV_RAISE3, |
S_SSWV_RAISE4, |
S_SSWV_RAISE5, |
S_KEENSTND, |
S_COMMKEEN, |
S_COMMKEEN2, |
S_COMMKEEN3, |
S_COMMKEEN4, |
S_COMMKEEN5, |
S_COMMKEEN6, |
S_COMMKEEN7, |
S_COMMKEEN8, |
S_COMMKEEN9, |
S_COMMKEEN10, |
S_COMMKEEN11, |
S_COMMKEEN12, |
S_KEENPAIN, |
S_KEENPAIN2, |
S_BRAIN, |
S_BRAIN_PAIN, |
S_BRAIN_DIE1, |
S_BRAIN_DIE2, |
S_BRAIN_DIE3, |
S_BRAIN_DIE4, |
S_BRAINEYE, |
S_BRAINEYESEE, |
S_BRAINEYE1, |
S_SPAWN1, |
S_SPAWN2, |
S_SPAWN3, |
S_SPAWN4, |
S_SPAWNFIRE1, |
S_SPAWNFIRE2, |
S_SPAWNFIRE3, |
S_SPAWNFIRE4, |
S_SPAWNFIRE5, |
S_SPAWNFIRE6, |
S_SPAWNFIRE7, |
S_SPAWNFIRE8, |
S_BRAINEXPLODE1, |
S_BRAINEXPLODE2, |
S_BRAINEXPLODE3, |
S_ARM1, |
S_ARM1A, |
S_ARM2, |
S_ARM2A, |
S_BAR1, |
S_BAR2, |
S_BEXP, |
S_BEXP2, |
S_BEXP3, |
S_BEXP4, |
S_BEXP5, |
S_BBAR1, |
S_BBAR2, |
S_BBAR3, |
S_BON1, |
S_BON1A, |
S_BON1B, |
S_BON1C, |
S_BON1D, |
S_BON1E, |
S_BON2, |
S_BON2A, |
S_BON2B, |
S_BON2C, |
S_BON2D, |
S_BON2E, |
S_BKEY, |
S_BKEY2, |
S_RKEY, |
S_RKEY2, |
S_YKEY, |
S_YKEY2, |
S_BSKULL, |
S_BSKULL2, |
S_RSKULL, |
S_RSKULL2, |
S_YSKULL, |
S_YSKULL2, |
S_STIM, |
S_MEDI, |
S_SOUL, |
S_SOUL2, |
S_SOUL3, |
S_SOUL4, |
S_SOUL5, |
S_SOUL6, |
S_PINV, |
S_PINV2, |
S_PINV3, |
S_PINV4, |
S_PSTR, |
S_PINS, |
S_PINS2, |
S_PINS3, |
S_PINS4, |
S_MEGA, |
S_MEGA2, |
S_MEGA3, |
S_MEGA4, |
S_SUIT, |
S_PMAP, |
S_PMAP2, |
S_PMAP3, |
S_PMAP4, |
S_PMAP5, |
S_PMAP6, |
S_PVIS, |
S_PVIS2, |
S_CLIP, |
S_AMMO, |
S_ROCK, |
S_BROK, |
S_CELL, |
S_CELP, |
S_SHEL, |
S_SBOX, |
S_BPAK, |
S_BFUG, |
S_MGUN, |
S_CSAW, |
S_LAUN, |
S_PLAS, |
S_SHOT, |
S_SHOT2, |
S_COLU, |
S_STALAG, |
S_BLOODYTWITCH, |
S_BLOODYTWITCH2, |
S_BLOODYTWITCH3, |
S_BLOODYTWITCH4, |
S_DEADTORSO, |
S_DEADBOTTOM, |
S_HEADSONSTICK, |
S_GIBS, |
S_HEADONASTICK, |
S_HEADCANDLES, |
S_HEADCANDLES2, |
S_DEADSTICK, |
S_LIVESTICK, |
S_LIVESTICK2, |
S_MEAT2, |
S_MEAT3, |
S_MEAT4, |
S_MEAT5, |
S_STALAGTITE, |
S_TALLGRNCOL, |
S_SHRTGRNCOL, |
S_TALLREDCOL, |
S_SHRTREDCOL, |
S_CANDLESTIK, |
S_CANDELABRA, |
S_SKULLCOL, |
S_TORCHTREE, |
S_BIGTREE, |
S_TECHPILLAR, |
S_EVILEYE, |
S_EVILEYE2, |
S_EVILEYE3, |
S_EVILEYE4, |
S_FLOATSKULL, |
S_FLOATSKULL2, |
S_FLOATSKULL3, |
S_HEARTCOL, |
S_HEARTCOL2, |
S_BLUETORCH, |
S_BLUETORCH2, |
S_BLUETORCH3, |
S_BLUETORCH4, |
S_GREENTORCH, |
S_GREENTORCH2, |
S_GREENTORCH3, |
S_GREENTORCH4, |
S_REDTORCH, |
S_REDTORCH2, |
S_REDTORCH3, |
S_REDTORCH4, |
S_BTORCHSHRT, |
S_BTORCHSHRT2, |
S_BTORCHSHRT3, |
S_BTORCHSHRT4, |
S_GTORCHSHRT, |
S_GTORCHSHRT2, |
S_GTORCHSHRT3, |
S_GTORCHSHRT4, |
S_RTORCHSHRT, |
S_RTORCHSHRT2, |
S_RTORCHSHRT3, |
S_RTORCHSHRT4, |
S_HANGNOGUTS, |
S_HANGBNOBRAIN, |
S_HANGTLOOKDN, |
S_HANGTSKULL, |
S_HANGTLOOKUP, |
S_HANGTNOBRAIN, |
S_COLONGIBS, |
S_SMALLPOOL, |
S_BRAINSTEM, |
S_TECHLAMP, |
S_TECHLAMP2, |
S_TECHLAMP3, |
S_TECHLAMP4, |
S_TECH2LAMP, |
S_TECH2LAMP2, |
S_TECH2LAMP3, |
S_TECH2LAMP4, |
NUMSTATES |
} statenum_t; |
typedef struct |
{ |
spritenum_t sprite; |
long frame; |
long tics; |
// void (*action) (); |
actionf_t action; |
statenum_t nextstate; |
long misc1, misc2; |
} state_t; |
extern state_t states[NUMSTATES]; |
extern char *sprnames[NUMSPRITES]; |
typedef enum { |
MT_PLAYER, |
MT_POSSESSED, |
MT_SHOTGUY, |
MT_VILE, |
MT_FIRE, |
MT_UNDEAD, |
MT_TRACER, |
MT_SMOKE, |
MT_FATSO, |
MT_FATSHOT, |
MT_CHAINGUY, |
MT_TROOP, |
MT_SERGEANT, |
MT_SHADOWS, |
MT_HEAD, |
MT_BRUISER, |
MT_BRUISERSHOT, |
MT_KNIGHT, |
MT_SKULL, |
MT_SPIDER, |
MT_BABY, |
MT_CYBORG, |
MT_PAIN, |
MT_WOLFSS, |
MT_KEEN, |
MT_BOSSBRAIN, |
MT_BOSSSPIT, |
MT_BOSSTARGET, |
MT_SPAWNSHOT, |
MT_SPAWNFIRE, |
MT_BARREL, |
MT_TROOPSHOT, |
MT_HEADSHOT, |
MT_ROCKET, |
MT_PLASMA, |
MT_BFG, |
MT_ARACHPLAZ, |
MT_PUFF, |
MT_BLOOD, |
MT_TFOG, |
MT_IFOG, |
MT_TELEPORTMAN, |
MT_EXTRABFG, |
MT_MISC0, |
MT_MISC1, |
MT_MISC2, |
MT_MISC3, |
MT_MISC4, |
MT_MISC5, |
MT_MISC6, |
MT_MISC7, |
MT_MISC8, |
MT_MISC9, |
MT_MISC10, |
MT_MISC11, |
MT_MISC12, |
MT_INV, |
MT_MISC13, |
MT_INS, |
MT_MISC14, |
MT_MISC15, |
MT_MISC16, |
MT_MEGA, |
MT_CLIP, |
MT_MISC17, |
MT_MISC18, |
MT_MISC19, |
MT_MISC20, |
MT_MISC21, |
MT_MISC22, |
MT_MISC23, |
MT_MISC24, |
MT_MISC25, |
MT_CHAINGUN, |
MT_MISC26, |
MT_MISC27, |
MT_MISC28, |
MT_SHOTGUN, |
MT_SUPERSHOTGUN, |
MT_MISC29, |
MT_MISC30, |
MT_MISC31, |
MT_MISC32, |
MT_MISC33, |
MT_MISC34, |
MT_MISC35, |
MT_MISC36, |
MT_MISC37, |
MT_MISC38, |
MT_MISC39, |
MT_MISC40, |
MT_MISC41, |
MT_MISC42, |
MT_MISC43, |
MT_MISC44, |
MT_MISC45, |
MT_MISC46, |
MT_MISC47, |
MT_MISC48, |
MT_MISC49, |
MT_MISC50, |
MT_MISC51, |
MT_MISC52, |
MT_MISC53, |
MT_MISC54, |
MT_MISC55, |
MT_MISC56, |
MT_MISC57, |
MT_MISC58, |
MT_MISC59, |
MT_MISC60, |
MT_MISC61, |
MT_MISC62, |
MT_MISC63, |
MT_MISC64, |
MT_MISC65, |
MT_MISC66, |
MT_MISC67, |
MT_MISC68, |
MT_MISC69, |
MT_MISC70, |
MT_MISC71, |
MT_MISC72, |
MT_MISC73, |
MT_MISC74, |
MT_MISC75, |
MT_MISC76, |
MT_MISC77, |
MT_MISC78, |
MT_MISC79, |
MT_MISC80, |
MT_MISC81, |
MT_MISC82, |
MT_MISC83, |
MT_MISC84, |
MT_MISC85, |
MT_MISC86, |
NUMMOBJTYPES |
} mobjtype_t; |
typedef struct |
{ |
int doomednum; |
int spawnstate; |
int spawnhealth; |
int seestate; |
int seesound; |
int reactiontime; |
int attacksound; |
int painstate; |
int painchance; |
int painsound; |
int meleestate; |
int missilestate; |
int deathstate; |
int xdeathstate; |
int deathsound; |
int speed; |
int radius; |
int height; |
int mass; |
int damage; |
int activesound; |
int flags; |
int raisestate; |
} mobjinfo_t; |
extern mobjinfo_t mobjinfo[NUMMOBJTYPES]; |
#endif |
//----------------------------------------------------------------------------- |
// |
// $Log:$ |
// |
//----------------------------------------------------------------------------- |
/programs/games/doom/trunk/h/kolibri.h |
---|
0,0 → 1,121 |
#ifdef __cplusplus |
extern "C" |
{ |
#endif |
#define FONT0 0x00000000 |
#define FONT1 0x10000000 |
#define BT_NORMAL 0x00000000 |
#define BT_NOFRAME 0x20000000 |
#define BT_HIDE 0x40000000 |
#define BT_DEL 0x80000000 |
#define EV_REDRAW 1 |
#define EV_KEY 2 |
#define EV_BUTTON 3 |
#define REL_SCREEN 0 |
#define REL_WINDOW 1 |
#define FILE_NOT_FOUND 5 |
#define FILE_EOF 6 |
typedef unsigned int DWORD; |
typedef unsigned short int WORD; |
typedef struct |
{ DWORD pci_cmd; |
DWORD irq; |
DWORD glob_cntrl; |
DWORD glob_sta; |
DWORD codec_io_base; |
DWORD ctrl_io_base; |
DWORD codec_mem_base; |
DWORD ctrl_mem_base; |
DWORD codec_id; |
} CTRL_INFO; |
typedef struct |
{ DWORD cmd; |
DWORD offset; |
DWORD r1; |
DWORD count; |
DWORD buff; |
char r2; |
char *name; |
} FILEIO; |
typedef struct |
{ DWORD attr; |
DWORD flags; |
DWORD cr_time; |
DWORD cr_date; |
DWORD acc_time; |
DWORD acc_date; |
DWORD mod_time; |
DWORD mod_date; |
DWORD size; |
DWORD size_high; |
} FILEINFO; |
void _stdcall InitHeap(int heap_size); |
void* _stdcall UserAlloc(int size); |
void _stdcall GetNotify(DWORD *event); |
//void _stdcall CreateThread(void *fn, char *p_stack); |
DWORD _stdcall GetMousePos(DWORD rel_type); |
int _stdcall GetService(char *srv_name); |
void _stdcall GetDevInfo(DWORD hSrv,CTRL_INFO *pInfo); |
int _stdcall GetMasterVol(DWORD hSrv,int* vol); |
int _stdcall SetMasterVol(DWORD hSrv, int vol); |
DWORD _stdcall CreateBuffer(DWORD hSrv, DWORD format); |
int _stdcall DestroyBuffer(DWORD hSrv, DWORD hBuff); |
int _stdcall SetBuffer(DWORD hSrv, DWORD hBuff,char* buff, |
DWORD offs, int size); |
int _stdcall PlayBuffer(DWORD hSrv, DWORD hBuff); |
int _stdcall StopBuffer(DWORD hSrv, DWORD hBuff); |
void _stdcall debug_out_hex(DWORD val); |
//void debug_out_str(char* str); |
int _stdcall get_fileinfo(char *name,FILEINFO* pinfo); |
int _stdcall read_file (char *name,char*buff,int offset, int count,int *reads); |
int _stdcall write_file(char *name,char*buff,int offset,int count,int *writes); |
//void exit(); |
int _stdcall get_key(int *key); |
int _stdcall remap_key(int key); |
int _cdecl get_button_id(); |
void delay(int val); |
int wait_for_event(int time); |
int wait_for_event_infinite(); |
//void BeginDraw(void); |
//void EndDraw(void); |
void _stdcall DrawWindow(int x,int y, int sx, int sy,int workcolor,int style, |
int captioncolor,int windowtype,int bordercolor); |
void _stdcall debug_out(int ch); |
void _stdcall make_button(int x, int y, int xsize, int ysize, int id, int color); |
void _stdcall draw_bar(int x, int y, int xsize, int ysize, int color); |
void _stdcall write_text(int x,int y,int color,char* text,int len); |
void _cdecl mf_init(); |
void* _cdecl dlmalloc(size_t size); |
void _cdecl dlfree(void *mem); |
void* _cdecl dlrealloc(void* oldmem, size_t bytes); |
#ifdef __cplusplus |
extern "C" |
} |
#endif |
/programs/games/doom/trunk/h/m_argv.h |
---|
0,0 → 1,42 |
// Emacs style mode select -*- C++ -*- |
//----------------------------------------------------------------------------- |
// |
// $Id:$ |
// |
// Copyright (C) 1993-1996 by id Software, Inc. |
// |
// This source is available for distribution and/or modification |
// only under the terms of the DOOM Source Code License as |
// published by id Software. All rights reserved. |
// |
// The source is distributed in the hope that it will be useful, |
// but WITHOUT ANY WARRANTY; without even the implied warranty of |
// FITNESS FOR A PARTICULAR PURPOSE. See the DOOM Source Code License |
// for more details. |
// |
// DESCRIPTION: |
// Nil. |
// |
//----------------------------------------------------------------------------- |
#ifndef __M_ARGV__ |
#define __M_ARGV__ |
// |
// MISC |
// |
extern int myargc; |
extern char** myargv; |
// Returns the position of the given parameter |
// in the arg list (0 if not found). |
int M_CheckParm (char* check); |
#endif |
//----------------------------------------------------------------------------- |
// |
// $Log:$ |
// |
//----------------------------------------------------------------------------- |
/programs/games/doom/trunk/h/m_bbox.h |
---|
0,0 → 1,55 |
// Emacs style mode select -*- C++ -*- |
//----------------------------------------------------------------------------- |
// |
// $Id:$ |
// |
// Copyright (C) 1993-1996 by id Software, Inc. |
// |
// This source is available for distribution and/or modification |
// only under the terms of the DOOM Source Code License as |
// published by id Software. All rights reserved. |
// |
// The source is distributed in the hope that it will be useful, |
// but WITHOUT ANY WARRANTY; without even the implied warranty of |
// FITNESS FOR A PARTICULAR PURPOSE. See the DOOM Source Code License |
// for more details. |
// |
// DESCRIPTION: |
// Nil. |
// |
//----------------------------------------------------------------------------- |
#ifndef __M_BBOX__ |
#define __M_BBOX__ |
#include "doomtype.h" |
#include "m_fixed.h" |
// Bounding box coordinate storage. |
enum |
{ |
BOXTOP, |
BOXBOTTOM, |
BOXLEFT, |
BOXRIGHT |
}; // bbox coordinates |
// Bounding box functions. |
void M_ClearBox (fixed_t* box); |
void |
M_AddToBox |
( fixed_t* box, |
fixed_t x, |
fixed_t y ); |
#endif |
//----------------------------------------------------------------------------- |
// |
// $Log:$ |
// |
//----------------------------------------------------------------------------- |
/programs/games/doom/trunk/h/m_cheat.h |
---|
0,0 → 1,58 |
// Emacs style mode select -*- C++ -*- |
//----------------------------------------------------------------------------- |
// |
// $Id:$ |
// |
// Copyright (C) 1993-1996 by id Software, Inc. |
// |
// This source is available for distribution and/or modification |
// only under the terms of the DOOM Source Code License as |
// published by id Software. All rights reserved. |
// |
// The source is distributed in the hope that it will be useful, |
// but WITHOUT ANY WARRANTY; without even the implied warranty of |
// FITNESS FOR A PARTICULAR PURPOSE. See the DOOM Source Code License |
// for more details. |
// |
// DESCRIPTION: |
// Cheat code checking. |
// |
//----------------------------------------------------------------------------- |
#ifndef __M_CHEAT__ |
#define __M_CHEAT__ |
// |
// CHEAT SEQUENCE PACKAGE |
// |
#define SCRAMBLE(a) \ |
((((a)&1)<<7) + (((a)&2)<<5) + ((a)&4) + (((a)&8)<<1) \ |
+ (((a)&16)>>1) + ((a)&32) + (((a)&64)>>5) + (((a)&128)>>7)) |
typedef struct |
{ |
unsigned char* sequence; |
unsigned char* p; |
} cheatseq_t; |
int |
cht_CheckCheat |
( cheatseq_t* cht, |
char key ); |
void |
cht_GetParam |
( cheatseq_t* cht, |
char* buffer ); |
#endif |
//----------------------------------------------------------------------------- |
// |
// $Log:$ |
// |
//----------------------------------------------------------------------------- |
/programs/games/doom/trunk/h/m_fixed.h |
---|
0,0 → 1,51 |
// Emacs style mode select -*- C++ -*- |
//----------------------------------------------------------------------------- |
// |
// $Id:$ |
// |
// Copyright (C) 1993-1996 by id Software, Inc. |
// |
// This source is available for distribution and/or modification |
// only under the terms of the DOOM Source Code License as |
// published by id Software. All rights reserved. |
// |
// The source is distributed in the hope that it will be useful, |
// but WITHOUT ANY WARRANTY; without even the implied warranty of |
// FITNESS FOR A PARTICULAR PURPOSE. See the DOOM Source Code License |
// for more details. |
// |
// DESCRIPTION: |
// Fixed point arithemtics, implementation. |
// |
//----------------------------------------------------------------------------- |
#ifndef __M_FIXED__ |
#define __M_FIXED__ |
#ifdef __GNUG__ |
#pragma interface |
#endif |
// |
// Fixed point, 32bit as 16.16. |
// |
#define FRACBITS 16 |
#define FRACUNIT (1<<FRACBITS) |
typedef int fixed_t; |
fixed_t FixedMul (fixed_t a, fixed_t b); |
fixed_t FixedDiv (fixed_t a, fixed_t b); |
fixed_t FixedDiv2 (fixed_t a, fixed_t b); |
#endif |
//----------------------------------------------------------------------------- |
// |
// $Log:$ |
// |
//----------------------------------------------------------------------------- |
/programs/games/doom/trunk/h/m_menu.h |
---|
0,0 → 1,67 |
// Emacs style mode select -*- C++ -*- |
//----------------------------------------------------------------------------- |
// |
// $Id:$ |
// |
// Copyright (C) 1993-1996 by id Software, Inc. |
// |
// This source is available for distribution and/or modification |
// only under the terms of the DOOM Source Code License as |
// published by id Software. All rights reserved. |
// |
// The source is distributed in the hope that it will be useful, |
// but WITHOUT ANY WARRANTY; without even the implied warranty of |
// FITNESS FOR A PARTICULAR PURPOSE. See the DOOM Source Code License |
// for more details. |
// |
// DESCRIPTION: |
// Menu widget stuff, episode selection and such. |
// |
//----------------------------------------------------------------------------- |
#ifndef __M_MENU__ |
#define __M_MENU__ |
#include "d_event.h" |
// |
// MENUS |
// |
// Called by main loop, |
// saves config file and calls I_Quit when user exits. |
// Even when the menu is not displayed, |
// this can resize the view and change game parameters. |
// Does all the real work of the menu interaction. |
boolean M_Responder (event_t *ev); |
// Called by main loop, |
// only used for menu (skull cursor) animation. |
void M_Ticker (void); |
// Called by main loop, |
// draws the menus directly into the screen buffer. |
void M_Drawer (void); |
// Called by D_DoomMain, |
// loads the config file. |
void M_Init (void); |
// Called by intro code to force menu up upon a keypress, |
// does nothing if menu is already up. |
void M_StartControlPanel (void); |
#endif |
//----------------------------------------------------------------------------- |
// |
// $Log:$ |
// |
//----------------------------------------------------------------------------- |
/programs/games/doom/trunk/h/m_misc.h |
---|
0,0 → 1,65 |
// Emacs style mode select -*- C++ -*- |
//----------------------------------------------------------------------------- |
// |
// $Id:$ |
// |
// Copyright (C) 1993-1996 by id Software, Inc. |
// |
// This source is available for distribution and/or modification |
// only under the terms of the DOOM Source Code License as |
// published by id Software. All rights reserved. |
// |
// The source is distributed in the hope that it will be useful, |
// but WITHOUT ANY WARRANTY; without even the implied warranty of |
// FITNESS FOR A PARTICULAR PURPOSE. See the DOOM Source Code License |
// for more details. |
// |
// DESCRIPTION: |
// |
// |
//----------------------------------------------------------------------------- |
#ifndef __M_MISC__ |
#define __M_MISC__ |
#include "doomtype.h" |
// |
// MISC |
// |
boolean |
M_WriteFile |
( char const* name, |
void* source, |
int length ); |
int |
M_ReadFile |
( char const* name, |
byte** buffer ); |
void M_ScreenShot (void); |
void M_LoadDefaults (void); |
void M_SaveDefaults (void); |
int |
M_DrawText |
( int x, |
int y, |
boolean direct, |
char* string ); |
#endif |
//----------------------------------------------------------------------------- |
// |
// $Log:$ |
// |
//----------------------------------------------------------------------------- |
/programs/games/doom/trunk/h/m_random.h |
---|
0,0 → 1,47 |
// Emacs style mode select -*- C++ -*- |
//----------------------------------------------------------------------------- |
// |
// $Id:$ |
// |
// Copyright (C) 1993-1996 by id Software, Inc. |
// |
// This source is available for distribution and/or modification |
// only under the terms of the DOOM Source Code License as |
// published by id Software. All rights reserved. |
// |
// The source is distributed in the hope that it will be useful, |
// but WITHOUT ANY WARRANTY; without even the implied warranty of |
// FITNESS FOR A PARTICULAR PURPOSE. See the DOOM Source Code License |
// for more details. |
// |
// DESCRIPTION: |
// |
// |
//----------------------------------------------------------------------------- |
#ifndef __M_RANDOM__ |
#define __M_RANDOM__ |
#include "doomtype.h" |
// Returns a number from 0 to 255, |
// from a lookup table. |
int M_Random (void); |
// As M_Random, but used only by the play simulation. |
int P_Random (void); |
// Fix randoms for demos. |
void M_ClearRandom (void); |
#endif |
//----------------------------------------------------------------------------- |
// |
// $Log:$ |
// |
//----------------------------------------------------------------------------- |
/programs/games/doom/trunk/h/m_swap.h |
---|
0,0 → 1,52 |
// Emacs style mode select -*- C++ -*- |
//----------------------------------------------------------------------------- |
// |
// $Id:$ |
// |
// Copyright (C) 1993-1996 by id Software, Inc. |
// |
// This source is available for distribution and/or modification |
// only under the terms of the DOOM Source Code License as |
// published by id Software. All rights reserved. |
// |
// The source is distributed in the hope that it will be useful, |
// but WITHOUT ANY WARRANTY; without even the implied warranty of |
// FITNESS FOR A PARTICULAR PURPOSE. See the DOOM Source Code License |
// for more details. |
// |
// DESCRIPTION: |
// Endianess handling, swapping 16bit and 32bit. |
// |
//----------------------------------------------------------------------------- |
#ifndef __M_SWAP__ |
#define __M_SWAP__ |
#ifdef __GNUG__ |
#pragma interface |
#endif |
// Endianess handling. |
// WAD files are stored little endian. |
#ifdef __BIG_ENDIAN__ |
short SwapSHORT(short); |
long SwapLONG(long); |
#define SHORT(x) ((short)SwapSHORT((unsigned short) (x))) |
#define LONG(x) ((long)SwapLONG((unsigned long) (x))) |
#else |
#define SHORT(x) (x) |
#define LONG(x) (x) |
#endif |
#endif |
//----------------------------------------------------------------------------- |
// |
// $Log:$ |
// |
//----------------------------------------------------------------------------- |
/programs/games/doom/trunk/h/p_inter.h |
---|
0,0 → 1,41 |
// Emacs style mode select -*- C++ -*- |
//----------------------------------------------------------------------------- |
// |
// $Id:$ |
// |
// Copyright (C) 1993-1996 by id Software, Inc. |
// |
// This source is available for distribution and/or modification |
// only under the terms of the DOOM Source Code License as |
// published by id Software. All rights reserved. |
// |
// The source is distributed in the hope that it will be useful, |
// but WITHOUT ANY WARRANTY; without even the implied warranty of |
// FITNESS FOR A PARTICULAR PURPOSE. See the DOOM Source Code License |
// for more details. |
// |
// DESCRIPTION: |
// |
// |
//----------------------------------------------------------------------------- |
#ifndef __P_INTER__ |
#define __P_INTER__ |
#ifdef __GNUG__ |
#pragma interface |
#endif |
boolean P_GivePower(player_t*, int); |
#endif |
//----------------------------------------------------------------------------- |
// |
// $Log:$ |
// |
//----------------------------------------------------------------------------- |
/programs/games/doom/trunk/h/p_local.h |
---|
0,0 → 1,289 |
// Emacs style mode select -*- C++ -*- |
//----------------------------------------------------------------------------- |
// |
// $Id:$ |
// |
// Copyright (C) 1993-1996 by id Software, Inc. |
// |
// This source is available for distribution and/or modification |
// only under the terms of the DOOM Source Code License as |
// published by id Software. All rights reserved. |
// |
// The source is distributed in the hope that it will be useful, |
// but WITHOUT ANY WARRANTY; without even the implied warranty of |
// FITNESS FOR A PARTICULAR PURPOSE. See the DOOM Source Code License |
// for more details. |
// |
// DESCRIPTION: |
// Play functions, animation, global header. |
// |
//----------------------------------------------------------------------------- |
#ifndef __P_LOCAL__ |
#define __P_LOCAL__ |
#ifndef __R_LOCAL__ |
#include "r_local.h" |
#endif |
#define FLOATSPEED (FRACUNIT*4) |
#define MAXHEALTH 100 |
#define VIEWHEIGHT (41*FRACUNIT) |
// mapblocks are used to check movement |
// against lines and things |
#define MAPBLOCKUNITS 128 |
#define MAPBLOCKSIZE (MAPBLOCKUNITS*FRACUNIT) |
#define MAPBLOCKSHIFT (FRACBITS+7) |
#define MAPBMASK (MAPBLOCKSIZE-1) |
#define MAPBTOFRAC (MAPBLOCKSHIFT-FRACBITS) |
// player radius for movement checking |
#define PLAYERRADIUS 16*FRACUNIT |
// MAXRADIUS is for precalculated sector block boxes |
// the spider demon is larger, |
// but we do not have any moving sectors nearby |
#define MAXRADIUS 32*FRACUNIT |
#define GRAVITY FRACUNIT |
#define MAXMOVE (30*FRACUNIT) |
#define USERANGE (64*FRACUNIT) |
#define MELEERANGE (64*FRACUNIT) |
#define MISSILERANGE (32*64*FRACUNIT) |
// follow a player exlusively for 3 seconds |
#define BASETHRESHOLD 100 |
// |
// P_TICK |
// |
// both the head and tail of the thinker list |
extern thinker_t thinkercap; |
void P_InitThinkers (void); |
void P_AddThinker (thinker_t* thinker); |
void P_RemoveThinker (thinker_t* thinker); |
// |
// P_PSPR |
// |
void P_SetupPsprites (player_t* curplayer); |
void P_MovePsprites (player_t* curplayer); |
void P_DropWeapon (player_t* player); |
// |
// P_USER |
// |
void P_PlayerThink (player_t* player); |
// |
// P_MOBJ |
// |
#define ONFLOORZ MININT |
#define ONCEILINGZ MAXINT |
// Time interval for item respawning. |
#define ITEMQUESIZE 128 |
extern mapthing_t itemrespawnque[ITEMQUESIZE]; |
extern int itemrespawntime[ITEMQUESIZE]; |
extern int iquehead; |
extern int iquetail; |
void P_RespawnSpecials (void); |
mobj_t* |
P_SpawnMobj |
( fixed_t x, |
fixed_t y, |
fixed_t z, |
mobjtype_t type ); |
void P_RemoveMobj (mobj_t* th); |
boolean P_SetMobjState (mobj_t* mobj, statenum_t state); |
void P_MobjThinker (mobj_t* mobj); |
void P_SpawnPuff (fixed_t x, fixed_t y, fixed_t z); |
void P_SpawnBlood (fixed_t x, fixed_t y, fixed_t z, int damage); |
mobj_t* P_SpawnMissile (mobj_t* source, mobj_t* dest, mobjtype_t type); |
void P_SpawnPlayerMissile (mobj_t* source, mobjtype_t type); |
// |
// P_ENEMY |
// |
void P_NoiseAlert (mobj_t* target, mobj_t* emmiter); |
// |
// P_MAPUTL |
// |
typedef struct |
{ |
fixed_t x; |
fixed_t y; |
fixed_t dx; |
fixed_t dy; |
} divline_t; |
typedef struct |
{ |
fixed_t frac; // along trace line |
boolean isaline; |
union { |
mobj_t* thing; |
line_t* line; |
} d; |
} intercept_t; |
#define MAXINTERCEPTS 128 |
extern intercept_t intercepts[MAXINTERCEPTS]; |
extern intercept_t* intercept_p; |
typedef boolean (*traverser_t) (intercept_t *in); |
fixed_t P_AproxDistance (fixed_t dx, fixed_t dy); |
int P_PointOnLineSide (fixed_t x, fixed_t y, line_t* line); |
int P_PointOnDivlineSide (fixed_t x, fixed_t y, divline_t* line); |
void P_MakeDivline (line_t* li, divline_t* dl); |
fixed_t P_InterceptVector (divline_t* v2, divline_t* v1); |
int P_BoxOnLineSide (fixed_t* tmbox, line_t* ld); |
extern fixed_t opentop; |
extern fixed_t openbottom; |
extern fixed_t openrange; |
extern fixed_t lowfloor; |
void P_LineOpening (line_t* linedef); |
boolean P_BlockLinesIterator (int x, int y, boolean(*func)(line_t*) ); |
boolean P_BlockThingsIterator (int x, int y, boolean(*func)(mobj_t*) ); |
#define PT_ADDLINES 1 |
#define PT_ADDTHINGS 2 |
#define PT_EARLYOUT 4 |
extern divline_t trace; |
boolean |
P_PathTraverse |
( fixed_t x1, |
fixed_t y1, |
fixed_t x2, |
fixed_t y2, |
int flags, |
boolean (*trav) (intercept_t *)); |
void P_UnsetThingPosition (mobj_t* thing); |
void P_SetThingPosition (mobj_t* thing); |
// |
// P_MAP |
// |
// If "floatok" true, move would be ok |
// if within "tmfloorz - tmceilingz". |
extern boolean floatok; |
extern fixed_t tmfloorz; |
extern fixed_t tmceilingz; |
extern line_t* ceilingline; |
boolean P_CheckPosition (mobj_t *thing, fixed_t x, fixed_t y); |
boolean P_TryMove (mobj_t* thing, fixed_t x, fixed_t y); |
boolean P_TeleportMove (mobj_t* thing, fixed_t x, fixed_t y); |
void P_SlideMove (mobj_t* mo); |
boolean P_CheckSight (mobj_t* t1, mobj_t* t2); |
void P_UseLines (player_t* player); |
boolean P_ChangeSector (sector_t* sector, boolean crunch); |
extern mobj_t* linetarget; // who got hit (or NULL) |
fixed_t |
P_AimLineAttack |
( mobj_t* t1, |
angle_t angle, |
fixed_t distance ); |
void |
P_LineAttack |
( mobj_t* t1, |
angle_t angle, |
fixed_t distance, |
fixed_t slope, |
int damage ); |
void |
P_RadiusAttack |
( mobj_t* spot, |
mobj_t* source, |
int damage ); |
// |
// P_SETUP |
// |
extern byte* rejectmatrix; // for fast sight rejection |
extern short* blockmaplump; // offsets in blockmap are from here |
extern short* blockmap; |
extern int bmapwidth; |
extern int bmapheight; // in mapblocks |
extern fixed_t bmaporgx; |
extern fixed_t bmaporgy; // origin of block map |
extern mobj_t** blocklinks; // for thing chains |
// |
// P_INTER |
// |
extern int maxammo[NUMAMMO]; |
extern int clipammo[NUMAMMO]; |
void |
P_TouchSpecialThing |
( mobj_t* special, |
mobj_t* toucher ); |
void |
P_DamageMobj |
( mobj_t* target, |
mobj_t* inflictor, |
mobj_t* source, |
int damage ); |
// |
// P_SPEC |
// |
#include "p_spec.h" |
#endif // __P_LOCAL__ |
//----------------------------------------------------------------------------- |
// |
// $Log:$ |
// |
//----------------------------------------------------------------------------- |
/programs/games/doom/trunk/h/p_mobj.h |
---|
0,0 → 1,295 |
// Emacs style mode select -*- C++ -*- |
//----------------------------------------------------------------------------- |
// |
// $Id:$ |
// |
// Copyright (C) 1993-1996 by id Software, Inc. |
// |
// This source is available for distribution and/or modification |
// only under the terms of the DOOM Source Code License as |
// published by id Software. All rights reserved. |
// |
// The source is distributed in the hope that it will be useful, |
// but WITHOUT ANY WARRANTY; without even the implied warranty of |
// FITNESS FOR A PARTICULAR PURPOSE. See the DOOM Source Code License |
// for more details. |
// |
// DESCRIPTION: |
// Map Objects, MObj, definition and handling. |
// |
//----------------------------------------------------------------------------- |
#ifndef __P_MOBJ__ |
#define __P_MOBJ__ |
// Basics. |
#include "tables.h" |
#include "m_fixed.h" |
// We need the thinker_t stuff. |
#include "d_think.h" |
// We need the WAD data structure for Map things, |
// from the THINGS lump. |
#include "doomdata.h" |
// States are tied to finite states are |
// tied to animation frames. |
// Needs precompiled tables/data structures. |
#include "info.h" |
#ifdef __GNUG__ |
#pragma interface |
#endif |
// |
// NOTES: mobj_t |
// |
// mobj_ts are used to tell the refresh where to draw an image, |
// tell the world simulation when objects are contacted, |
// and tell the sound driver how to position a sound. |
// |
// The refresh uses the next and prev links to follow |
// lists of things in sectors as they are being drawn. |
// The sprite, frame, and angle elements determine which patch_t |
// is used to draw the sprite if it is visible. |
// The sprite and frame values are allmost allways set |
// from state_t structures. |
// The statescr.exe utility generates the states.h and states.c |
// files that contain the sprite/frame numbers from the |
// statescr.txt source file. |
// The xyz origin point represents a point at the bottom middle |
// of the sprite (between the feet of a biped). |
// This is the default origin position for patch_ts grabbed |
// with lumpy.exe. |
// A walking creature will have its z equal to the floor |
// it is standing on. |
// |
// The sound code uses the x,y, and subsector fields |
// to do stereo positioning of any sound effited by the mobj_t. |
// |
// The play simulation uses the blocklinks, x,y,z, radius, height |
// to determine when mobj_ts are touching each other, |
// touching lines in the map, or hit by trace lines (gunshots, |
// lines of sight, etc). |
// The mobj_t->flags element has various bit flags |
// used by the simulation. |
// |
// Every mobj_t is linked into a single sector |
// based on its origin coordinates. |
// The subsector_t is found with R_PointInSubsector(x,y), |
// and the sector_t can be found with subsector->sector. |
// The sector links are only used by the rendering code, |
// the play simulation does not care about them at all. |
// |
// Any mobj_t that needs to be acted upon by something else |
// in the play world (block movement, be shot, etc) will also |
// need to be linked into the blockmap. |
// If the thing has the MF_NOBLOCK flag set, it will not use |
// the block links. It can still interact with other things, |
// but only as the instigator (missiles will run into other |
// things, but nothing can run into a missile). |
// Each block in the grid is 128*128 units, and knows about |
// every line_t that it contains a piece of, and every |
// interactable mobj_t that has its origin contained. |
// |
// A valid mobj_t is a mobj_t that has the proper subsector_t |
// filled in for its xy coordinates and is linked into the |
// sector from which the subsector was made, or has the |
// MF_NOSECTOR flag set (the subsector_t needs to be valid |
// even if MF_NOSECTOR is set), and is linked into a blockmap |
// block or has the MF_NOBLOCKMAP flag set. |
// Links should only be modified by the P_[Un]SetThingPosition() |
// functions. |
// Do not change the MF_NO? flags while a thing is valid. |
// |
// Any questions? |
// |
// |
// Misc. mobj flags |
// |
typedef enum |
{ |
// Call P_SpecialThing when touched. |
MF_SPECIAL = 1, |
// Blocks. |
MF_SOLID = 2, |
// Can be hit. |
MF_SHOOTABLE = 4, |
// Don't use the sector links (invisible but touchable). |
MF_NOSECTOR = 8, |
// Don't use the blocklinks (inert but displayable) |
MF_NOBLOCKMAP = 16, |
// Not to be activated by sound, deaf monster. |
MF_AMBUSH = 32, |
// Will try to attack right back. |
MF_JUSTHIT = 64, |
// Will take at least one step before attacking. |
MF_JUSTATTACKED = 128, |
// On level spawning (initial position), |
// hang from ceiling instead of stand on floor. |
MF_SPAWNCEILING = 256, |
// Don't apply gravity (every tic), |
// that is, object will float, keeping current height |
// or changing it actively. |
MF_NOGRAVITY = 512, |
// Movement flags. |
// This allows jumps from high places. |
MF_DROPOFF = 0x400, |
// For players, will pick up items. |
MF_PICKUP = 0x800, |
// Player cheat. ??? |
MF_NOCLIP = 0x1000, |
// Player: keep info about sliding along walls. |
MF_SLIDE = 0x2000, |
// Allow moves to any height, no gravity. |
// For active floaters, e.g. cacodemons, pain elementals. |
MF_FLOAT = 0x4000, |
// Don't cross lines |
// ??? or look at heights on teleport. |
MF_TELEPORT = 0x8000, |
// Don't hit same species, explode on block. |
// Player missiles as well as fireballs of various kinds. |
MF_MISSILE = 0x10000, |
// Dropped by a demon, not level spawned. |
// E.g. ammo clips dropped by dying former humans. |
MF_DROPPED = 0x20000, |
// Use fuzzy draw (shadow demons or spectres), |
// temporary player invisibility powerup. |
MF_SHADOW = 0x40000, |
// Flag: don't bleed when shot (use puff), |
// barrels and shootable furniture shall not bleed. |
MF_NOBLOOD = 0x80000, |
// Don't stop moving halfway off a step, |
// that is, have dead bodies slide down all the way. |
MF_CORPSE = 0x100000, |
// Floating to a height for a move, ??? |
// don't auto float to target's height. |
MF_INFLOAT = 0x200000, |
// On kill, count this enemy object |
// towards intermission kill total. |
// Happy gathering. |
MF_COUNTKILL = 0x400000, |
// On picking up, count this item object |
// towards intermission item total. |
MF_COUNTITEM = 0x800000, |
// Special handling: skull in flight. |
// Neither a cacodemon nor a missile. |
MF_SKULLFLY = 0x1000000, |
// Don't spawn this object |
// in death match mode (e.g. key cards). |
MF_NOTDMATCH = 0x2000000, |
// Player sprites in multiplayer modes are modified |
// using an internal color lookup table for re-indexing. |
// If 0x4 0x8 or 0xc, |
// use a translation table for player colormaps |
MF_TRANSLATION = 0xc000000, |
// Hmm ???. |
MF_TRANSSHIFT = 26 |
} mobjflag_t; |
// Map Object definition. |
typedef struct mobj_s |
{ |
// List: thinker links. |
thinker_t thinker; |
// Info for drawing: position. |
fixed_t x; |
fixed_t y; |
fixed_t z; |
// More list: links in sector (if needed) |
struct mobj_s* snext; |
struct mobj_s* sprev; |
//More drawing info: to determine current sprite. |
angle_t angle; // orientation |
spritenum_t sprite; // used to find patch_t and flip value |
int frame; // might be ORed with FF_FULLBRIGHT |
// Interaction info, by BLOCKMAP. |
// Links in blocks (if needed). |
struct mobj_s* bnext; |
struct mobj_s* bprev; |
struct subsector_s* subsector; |
// The closest interval over all contacted Sectors. |
fixed_t floorz; |
fixed_t ceilingz; |
// For movement checking. |
fixed_t radius; |
fixed_t height; |
// Momentums, used to update position. |
fixed_t momx; |
fixed_t momy; |
fixed_t momz; |
// If == validcount, already checked. |
int validcount; |
mobjtype_t type; |
mobjinfo_t* info; // &mobjinfo[mobj->type] |
int tics; // state tic counter |
state_t* state; |
int flags; |
int health; |
// Movement direction, movement generation (zig-zagging). |
int movedir; // 0-7 |
int movecount; // when 0, select a new dir |
// Thing being chased/attacked (or NULL), |
// also the originator for missiles. |
struct mobj_s* target; |
// Reaction time: if non 0, don't attack yet. |
// Used by player to freeze a bit after teleporting. |
int reactiontime; |
// If >0, the target will be chased |
// no matter what (even if shot) |
int threshold; |
// Additional info record for player avatars only. |
// Only valid if type == MT_PLAYER |
struct player_s* player; |
// Player number last looked for. |
int lastlook; |
// For nightmare respawn. |
mapthing_t spawnpoint; |
// Thing being chased/attacked for tracers. |
struct mobj_s* tracer; |
} mobj_t; |
#endif |
//----------------------------------------------------------------------------- |
// |
// $Log:$ |
// |
//----------------------------------------------------------------------------- |
/programs/games/doom/trunk/h/p_pspr.h |
---|
0,0 → 1,82 |
// Emacs style mode select -*- C++ -*- |
//----------------------------------------------------------------------------- |
// |
// $Id:$ |
// |
// Copyright (C) 1993-1996 by id Software, Inc. |
// |
// This source is available for distribution and/or modification |
// only under the terms of the DOOM Source Code License as |
// published by id Software. All rights reserved. |
// |
// The source is distributed in the hope that it will be useful, |
// but WITHOUT ANY WARRANTY; without even the implied warranty of |
// FITNESS FOR A PARTICULAR PURPOSE. See the DOOM Source Code License |
// for more details. |
// |
// DESCRIPTION: |
// Sprite animation. |
// |
//----------------------------------------------------------------------------- |
#ifndef __P_PSPR__ |
#define __P_PSPR__ |
// Basic data types. |
// Needs fixed point, and BAM angles. |
#include "m_fixed.h" |
#include "tables.h" |
// |
// Needs to include the precompiled |
// sprite animation tables. |
// Header generated by multigen utility. |
// This includes all the data for thing animation, |
// i.e. the Thing Atrributes table |
// and the Frame Sequence table. |
#include "info.h" |
#ifdef __GNUG__ |
#pragma interface |
#endif |
// |
// Frame flags: |
// handles maximum brightness (torches, muzzle flare, light sources) |
// |
#define FF_FULLBRIGHT 0x8000 // flag in thing->frame |
#define FF_FRAMEMASK 0x7fff |
// |
// Overlay psprites are scaled shapes |
// drawn directly on the view screen, |
// coordinates are given for a 320*200 view screen. |
// |
typedef enum |
{ |
ps_weapon, |
ps_flash, |
NUMPSPRITES |
} psprnum_t; |
typedef struct |
{ |
state_t* state; // a NULL state means not active |
int tics; |
fixed_t sx; |
fixed_t sy; |
} pspdef_t; |
#endif |
//----------------------------------------------------------------------------- |
// |
// $Log:$ |
// |
//----------------------------------------------------------------------------- |
/programs/games/doom/trunk/h/p_saveg.h |
---|
0,0 → 1,51 |
// Emacs style mode select -*- C++ -*- |
//----------------------------------------------------------------------------- |
// |
// $Id:$ |
// |
// Copyright (C) 1993-1996 by id Software, Inc. |
// |
// This source is available for distribution and/or modification |
// only under the terms of the DOOM Source Code License as |
// published by id Software. All rights reserved. |
// |
// The source is distributed in the hope that it will be useful, |
// but WITHOUT ANY WARRANTY; without even the implied warranty of |
// FITNESS FOR A PARTICULAR PURPOSE. See the DOOM Source Code License |
// for more details. |
// |
// DESCRIPTION: |
// Savegame I/O, archiving, persistence. |
// |
//----------------------------------------------------------------------------- |
#ifndef __P_SAVEG__ |
#define __P_SAVEG__ |
#ifdef __GNUG__ |
#pragma interface |
#endif |
// Persistent storage/archiving. |
// These are the load / save game routines. |
void P_ArchivePlayers (void); |
void P_UnArchivePlayers (void); |
void P_ArchiveWorld (void); |
void P_UnArchiveWorld (void); |
void P_ArchiveThinkers (void); |
void P_UnArchiveThinkers (void); |
void P_ArchiveSpecials (void); |
void P_UnArchiveSpecials (void); |
extern byte* save_p; |
#endif |
//----------------------------------------------------------------------------- |
// |
// $Log:$ |
// |
//----------------------------------------------------------------------------- |
/programs/games/doom/trunk/h/p_setup.h |
---|
0,0 → 1,48 |
// Emacs style mode select -*- C++ -*- |
//----------------------------------------------------------------------------- |
// |
// $Id:$ |
// |
// Copyright (C) 1993-1996 by id Software, Inc. |
// |
// This source is available for distribution and/or modification |
// only under the terms of the DOOM Source Code License as |
// published by id Software. All rights reserved. |
// |
// The source is distributed in the hope that it will be useful, |
// but WITHOUT ANY WARRANTY; without even the implied warranty of |
// FITNESS FOR A PARTICULAR PURPOSE. See the DOOM Source Code License |
// for more details. |
// |
// DESCRIPTION: |
// Setup a game, startup stuff. |
// |
//----------------------------------------------------------------------------- |
#ifndef __P_SETUP__ |
#define __P_SETUP__ |
#ifdef __GNUG__ |
#pragma interface |
#endif |
// NOT called by W_Ticker. Fixme. |
void |
P_SetupLevel |
( int episode, |
int map, |
int playermask, |
skill_t skill); |
// Called by startup code. |
void P_Init (void); |
#endif |
//----------------------------------------------------------------------------- |
// |
// $Log:$ |
// |
//----------------------------------------------------------------------------- |
/programs/games/doom/trunk/h/p_spec.h |
---|
0,0 → 1,645 |
// Emacs style mode select -*- C++ -*- |
//----------------------------------------------------------------------------- |
// |
// $Id:$ |
// |
// Copyright (C) 1993-1996 by id Software, Inc. |
// |
// This source is available for distribution and/or modification |
// only under the terms of the DOOM Source Code License as |
// published by id Software. All rights reserved. |
// |
// The source is distributed in the hope that it will be useful, |
// but WITHOUT ANY WARRANTY; without even the implied warranty of |
// FITNESS FOR A PARTICULAR PURPOSE. See the DOOM Source Code License |
// for more details. |
// |
// DESCRIPTION: none |
// Implements special effects: |
// Texture animation, height or lighting changes |
// according to adjacent sectors, respective |
// utility functions, etc. |
// |
//----------------------------------------------------------------------------- |
#ifndef __P_SPEC__ |
#define __P_SPEC__ |
// |
// End-level timer (-TIMER option) |
// |
extern boolean levelTimer; |
extern int levelTimeCount; |
// Define values for map objects |
#define MO_TELEPORTMAN 14 |
// at game start |
void P_InitPicAnims (void); |
// at map load |
void P_SpawnSpecials (void); |
// every tic |
void P_UpdateSpecials (void); |
// when needed |
boolean |
P_UseSpecialLine |
( mobj_t* thing, |
line_t* line, |
int side ); |
void |
P_ShootSpecialLine |
( mobj_t* thing, |
line_t* line ); |
void |
P_CrossSpecialLine |
( int linenum, |
int side, |
mobj_t* thing ); |
void P_PlayerInSpecialSector (player_t* player); |
int |
twoSided |
( int sector, |
int line ); |
sector_t* |
getSector |
( int currentSector, |
int line, |
int side ); |
side_t* |
getSide |
( int currentSector, |
int line, |
int side ); |
fixed_t P_FindLowestFloorSurrounding(sector_t* sec); |
fixed_t P_FindHighestFloorSurrounding(sector_t* sec); |
fixed_t |
P_FindNextHighestFloor |
( sector_t* sec, |
int currentheight ); |
fixed_t P_FindLowestCeilingSurrounding(sector_t* sec); |
fixed_t P_FindHighestCeilingSurrounding(sector_t* sec); |
int |
P_FindSectorFromLineTag |
( line_t* line, |
int start ); |
int |
P_FindMinSurroundingLight |
( sector_t* sector, |
int max ); |
sector_t* |
getNextSector |
( line_t* line, |
sector_t* sec ); |
// |
// SPECIAL |
// |
int EV_DoDonut(line_t* line); |
// |
// P_LIGHTS |
// |
typedef struct |
{ |
thinker_t thinker; |
sector_t* sector; |
int count; |
int maxlight; |
int minlight; |
} fireflicker_t; |
typedef struct |
{ |
thinker_t thinker; |
sector_t* sector; |
int count; |
int maxlight; |
int minlight; |
int maxtime; |
int mintime; |
} lightflash_t; |
typedef struct |
{ |
thinker_t thinker; |
sector_t* sector; |
int count; |
int minlight; |
int maxlight; |
int darktime; |
int brighttime; |
} strobe_t; |
typedef struct |
{ |
thinker_t thinker; |
sector_t* sector; |
int minlight; |
int maxlight; |
int direction; |
} glow_t; |
#define GLOWSPEED 8 |
#define STROBEBRIGHT 5 |
#define FASTDARK 15 |
#define SLOWDARK 35 |
void P_SpawnFireFlicker (sector_t* sector); |
void T_LightFlash (lightflash_t* flash); |
void P_SpawnLightFlash (sector_t* sector); |
void T_StrobeFlash (strobe_t* flash); |
void |
P_SpawnStrobeFlash |
( sector_t* sector, |
int fastOrSlow, |
int inSync ); |
void EV_StartLightStrobing(line_t* line); |
void EV_TurnTagLightsOff(line_t* line); |
void |
EV_LightTurnOn |
( line_t* line, |
int bright ); |
void T_Glow(glow_t* g); |
void P_SpawnGlowingLight(sector_t* sector); |
// |
// P_SWITCH |
// |
typedef struct |
{ |
char name1[9]; |
char name2[9]; |
short episode; |
} switchlist_t; |
typedef enum |
{ |
top, |
middle, |
bottom |
} bwhere_e; |
typedef struct |
{ |
line_t* line; |
bwhere_e where; |
int btexture; |
int btimer; |
mobj_t* soundorg; |
} button_t; |
// max # of wall switches in a level |
#define MAXSWITCHES 50 |
// 4 players, 4 buttons each at once, max. |
#define MAXBUTTONS 16 |
// 1 second, in ticks. |
#define BUTTONTIME 35 |
extern button_t buttonlist[MAXBUTTONS]; |
void |
P_ChangeSwitchTexture |
( line_t* line, |
int useAgain ); |
void P_InitSwitchList(void); |
// |
// P_PLATS |
// |
typedef enum |
{ |
up, |
down, |
waiting, |
in_stasis |
} plat_e; |
typedef enum |
{ |
perpetualRaise, |
downWaitUpStay, |
raiseAndChange, |
raiseToNearestAndChange, |
blazeDWUS |
} plattype_e; |
typedef struct |
{ |
thinker_t thinker; |
sector_t* sector; |
fixed_t speed; |
fixed_t low; |
fixed_t high; |
int wait; |
int count; |
plat_e status; |
plat_e oldstatus; |
boolean crush; |
int tag; |
plattype_e type; |
} plat_t; |
#define PLATWAIT 3 |
#define PLATSPEED FRACUNIT |
#define MAXPLATS 30 |
extern plat_t* activeplats[MAXPLATS]; |
void T_PlatRaise(plat_t* plat); |
int |
EV_DoPlat |
( line_t* line, |
plattype_e type, |
int amount ); |
void P_AddActivePlat(plat_t* plat); |
void P_RemoveActivePlat(plat_t* plat); |
void EV_StopPlat(line_t* line); |
void P_ActivateInStasis(int tag); |
// |
// P_DOORS |
// |
typedef enum |
{ |
normal, |
close30ThenOpen, |
close, |
open, |
raiseIn5Mins, |
blazeRaise, |
blazeOpen, |
blazeClose |
} vldoor_e; |
typedef struct |
{ |
thinker_t thinker; |
vldoor_e type; |
sector_t* sector; |
fixed_t topheight; |
fixed_t speed; |
// 1 = up, 0 = waiting at top, -1 = down |
int direction; |
// tics to wait at the top |
int topwait; |
// (keep in case a door going down is reset) |
// when it reaches 0, start going down |
int topcountdown; |
} vldoor_t; |
#define VDOORSPEED FRACUNIT*2 |
#define VDOORWAIT 150 |
void |
EV_VerticalDoor |
( line_t* line, |
mobj_t* thing ); |
int |
EV_DoDoor |
( line_t* line, |
vldoor_e type ); |
int |
EV_DoLockedDoor |
( line_t* line, |
vldoor_e type, |
mobj_t* thing ); |
void T_VerticalDoor (vldoor_t* door); |
void P_SpawnDoorCloseIn30 (sector_t* sec); |
void |
P_SpawnDoorRaiseIn5Mins |
( sector_t* sec, |
int secnum ); |
#if 0 // UNUSED |
// |
// Sliding doors... |
// |
typedef enum |
{ |
sd_opening, |
sd_waiting, |
sd_closing |
} sd_e; |
typedef enum |
{ |
sdt_openOnly, |
sdt_closeOnly, |
sdt_openAndClose |
} sdt_e; |
typedef struct |
{ |
thinker_t thinker; |
sdt_e type; |
line_t* line; |
int frame; |
int whichDoorIndex; |
int timer; |
sector_t* frontsector; |
sector_t* backsector; |
sd_e status; |
} slidedoor_t; |
typedef struct |
{ |
char frontFrame1[9]; |
char frontFrame2[9]; |
char frontFrame3[9]; |
char frontFrame4[9]; |
char backFrame1[9]; |
char backFrame2[9]; |
char backFrame3[9]; |
char backFrame4[9]; |
} slidename_t; |
typedef struct |
{ |
int frontFrames[4]; |
int backFrames[4]; |
} slideframe_t; |
// how many frames of animation |
#define SNUMFRAMES 4 |
#define SDOORWAIT 35*3 |
#define SWAITTICS 4 |
// how many diff. types of anims |
#define MAXSLIDEDOORS 5 |
void P_InitSlidingDoorFrames(void); |
void |
EV_SlidingDoor |
( line_t* line, |
mobj_t* thing ); |
#endif |
// |
// P_CEILNG |
// |
typedef enum |
{ |
lowerToFloor, |
raiseToHighest, |
lowerAndCrush, |
crushAndRaise, |
fastCrushAndRaise, |
silentCrushAndRaise |
} ceiling_e; |
typedef struct |
{ |
thinker_t thinker; |
ceiling_e type; |
sector_t* sector; |
fixed_t bottomheight; |
fixed_t topheight; |
fixed_t speed; |
boolean crush; |
// 1 = up, 0 = waiting, -1 = down |
int direction; |
// ID |
int tag; |
int olddirection; |
} ceiling_t; |
#define CEILSPEED FRACUNIT |
#define CEILWAIT 150 |
#define MAXCEILINGS 30 |
extern ceiling_t* activeceilings[MAXCEILINGS]; |
int |
EV_DoCeiling |
( line_t* line, |
ceiling_e type ); |
void T_MoveCeiling (ceiling_t* ceiling); |
void P_AddActiveCeiling(ceiling_t* c); |
void P_RemoveActiveCeiling(ceiling_t* c); |
int EV_CeilingCrushStop(line_t* line); |
void P_ActivateInStasisCeiling(line_t* line); |
// |
// P_FLOOR |
// |
typedef enum |
{ |
// lower floor to highest surrounding floor |
lowerFloor, |
// lower floor to lowest surrounding floor |
lowerFloorToLowest, |
// lower floor to highest surrounding floor VERY FAST |
turboLower, |
// raise floor to lowest surrounding CEILING |
raiseFloor, |
// raise floor to next highest surrounding floor |
raiseFloorToNearest, |
// raise floor to shortest height texture around it |
raiseToTexture, |
// lower floor to lowest surrounding floor |
// and change floorpic |
lowerAndChange, |
raiseFloor24, |
raiseFloor24AndChange, |
raiseFloorCrush, |
// raise to next highest floor, turbo-speed |
raiseFloorTurbo, |
donutRaise, |
raiseFloor512 |
} floor_e; |
typedef enum |
{ |
build8, // slowly build by 8 |
turbo16 // quickly build by 16 |
} stair_e; |
typedef struct |
{ |
thinker_t thinker; |
floor_e type; |
boolean crush; |
sector_t* sector; |
int direction; |
int newspecial; |
short texture; |
fixed_t floordestheight; |
fixed_t speed; |
} floormove_t; |
#define FLOORSPEED FRACUNIT |
typedef enum |
{ |
ok, |
crushed, |
pastdest |
} result_e; |
result_e |
T_MovePlane |
( sector_t* sector, |
fixed_t speed, |
fixed_t dest, |
boolean crush, |
int floorOrCeiling, |
int direction ); |
int |
EV_BuildStairs |
( line_t* line, |
stair_e type ); |
int |
EV_DoFloor |
( line_t* line, |
floor_e floortype ); |
void T_MoveFloor( floormove_t* floor); |
// |
// P_TELEPT |
// |
int |
EV_Teleport |
( line_t* line, |
int side, |
mobj_t* thing ); |
#endif |
//----------------------------------------------------------------------------- |
// |
// $Log:$ |
// |
//----------------------------------------------------------------------------- |
/programs/games/doom/trunk/h/p_tick.h |
---|
0,0 → 1,44 |
// Emacs style mode select -*- C++ -*- |
//----------------------------------------------------------------------------- |
// |
// $Id:$ |
// |
// Copyright (C) 1993-1996 by id Software, Inc. |
// |
// This source is available for distribution and/or modification |
// only under the terms of the DOOM Source Code License as |
// published by id Software. All rights reserved. |
// |
// The source is distributed in the hope that it will be useful, |
// but WITHOUT ANY WARRANTY; without even the implied warranty of |
// FITNESS FOR A PARTICULAR PURPOSE. See the DOOM Source Code License |
// for more details. |
// |
// DESCRIPTION: |
// ? |
// |
//----------------------------------------------------------------------------- |
#ifndef __P_TICK__ |
#define __P_TICK__ |
#ifdef __GNUG__ |
#pragma interface |
#endif |
// Called by C_Ticker, |
// can call G_PlayerExited. |
// Carries out all thinking of monsters and players. |
void P_Ticker (void); |
#endif |
//----------------------------------------------------------------------------- |
// |
// $Log:$ |
// |
//----------------------------------------------------------------------------- |
/programs/games/doom/trunk/h/r_bsp.h |
---|
0,0 → 1,72 |
// Emacs style mode select -*- C++ -*- |
//----------------------------------------------------------------------------- |
// |
// $Id:$ |
// |
// Copyright (C) 1993-1996 by id Software, Inc. |
// |
// This source is available for distribution and/or modification |
// only under the terms of the DOOM Source Code License as |
// published by id Software. All rights reserved. |
// |
// The source is distributed in the hope that it will be useful, |
// but WITHOUT ANY WARRANTY; without even the implied warranty of |
// FITNESS FOR A PARTICULAR PURPOSE. See the DOOM Source Code License |
// for more details. |
// |
// DESCRIPTION: |
// Refresh module, BSP traversal and handling. |
// |
//----------------------------------------------------------------------------- |
#ifndef __R_BSP__ |
#define __R_BSP__ |
#ifdef __GNUG__ |
#pragma interface |
#endif |
extern seg_t* curline; |
extern side_t* sidedef; |
extern line_t* linedef; |
extern sector_t* frontsector; |
extern sector_t* backsector; |
extern int rw_x; |
extern int rw_stopx; |
extern boolean segtextured; |
// false if the back side is the same plane |
extern boolean markfloor; |
extern boolean markceiling; |
extern boolean skymap; |
extern drawseg_t drawsegs[MAXDRAWSEGS]; |
extern drawseg_t* ds_p; |
extern lighttable_t** hscalelight; |
extern lighttable_t** vscalelight; |
extern lighttable_t** dscalelight; |
typedef void (*drawfunc_t) (int start, int stop); |
// BSP? |
void R_ClearClipSegs (void); |
void R_ClearDrawSegs (void); |
void R_RenderBSPNode (int bspnum); |
#endif |
//----------------------------------------------------------------------------- |
// |
// $Log:$ |
// |
//----------------------------------------------------------------------------- |
/programs/games/doom/trunk/h/r_data.h |
---|
0,0 → 1,62 |
// Emacs style mode select -*- C++ -*- |
//----------------------------------------------------------------------------- |
// |
// $Id:$ |
// |
// Copyright (C) 1993-1996 by id Software, Inc. |
// |
// This source is available for distribution and/or modification |
// only under the terms of the DOOM Source Code License as |
// published by id Software. All rights reserved. |
// |
// The source is distributed in the hope that it will be useful, |
// but WITHOUT ANY WARRANTY; without even the implied warranty of |
// FITNESS FOR A PARTICULAR PURPOSE. See the DOOM Source Code License |
// for more details. |
// |
// DESCRIPTION: |
// Refresh module, data I/O, caching, retrieval of graphics |
// by name. |
// |
//----------------------------------------------------------------------------- |
#ifndef __R_DATA__ |
#define __R_DATA__ |
#include "r_defs.h" |
#include "r_state.h" |
#ifdef __GNUG__ |
#pragma interface |
#endif |
// Retrieve column data for span blitting. |
byte* |
R_GetColumn |
( int tex, |
int col ); |
// I/O, setting up the stuff. |
void R_InitData (void); |
void R_PrecacheLevel (void); |
// Retrieval. |
// Floor/ceiling opaque texture tiles, |
// lookup by name. For animation? |
int R_FlatNumForName (char* name); |
// Called by P_Ticker for switches and animations, |
// returns the texture number for the texture name. |
int R_TextureNumForName (char *name); |
int R_CheckTextureNumForName (char *name); |
#endif |
//----------------------------------------------------------------------------- |
// |
// $Log:$ |
// |
//----------------------------------------------------------------------------- |
/programs/games/doom/trunk/h/r_defs.h |
---|
0,0 → 1,490 |
// Emacs style mode select -*- C++ -*- |
//----------------------------------------------------------------------------- |
// |
// $Id:$ |
// |
// Copyright (C) 1993-1996 by id Software, Inc. |
// |
// This source is available for distribution and/or modification |
// only under the terms of the DOOM Source Code License as |
// published by id Software. All rights reserved. |
// |
// The source is distributed in the hope that it will be useful, |
// but WITHOUT ANY WARRANTY; without even the implied warranty of |
// FITNESS FOR A PARTICULAR PURPOSE. See the DOOM Source Code License |
// for more details. |
// |
// DESCRIPTION: |
// Refresh/rendering module, shared data struct definitions. |
// |
//----------------------------------------------------------------------------- |
#ifndef __R_DEFS__ |
#define __R_DEFS__ |
// Screenwidth. |
#include "doomdef.h" |
// Some more or less basic data types |
// we depend on. |
#include "m_fixed.h" |
// We rely on the thinker data struct |
// to handle sound origins in sectors. |
#include "d_think.h" |
// SECTORS do store MObjs anyway. |
#include "p_mobj.h" |
#ifdef __GNUG__ |
#pragma interface |
#endif |
// Silhouette, needed for clipping Segs (mainly) |
// and sprites representing things. |
#define SIL_NONE 0 |
#define SIL_BOTTOM 1 |
#define SIL_TOP 2 |
#define SIL_BOTH 3 |
#define MAXDRAWSEGS 256 |
// |
// INTERNAL MAP TYPES |
// used by play and refresh |
// |
// |
// Your plain vanilla vertex. |
// Note: transformed values not buffered locally, |
// like some DOOM-alikes ("wt", "WebView") did. |
// |
typedef struct |
{ |
fixed_t x; |
fixed_t y; |
} vertex_t; |
// Forward of LineDefs, for Sectors. |
struct line_s; |
// Each sector has a degenmobj_t in its center |
// for sound origin purposes. |
// I suppose this does not handle sound from |
// moving objects (doppler), because |
// position is prolly just buffered, not |
// updated. |
typedef struct |
{ |
thinker_t thinker; // not used for anything |
fixed_t x; |
fixed_t y; |
fixed_t z; |
} degenmobj_t; |
// |
// The SECTORS record, at runtime. |
// Stores things/mobjs. |
// |
typedef struct |
{ |
fixed_t floorheight; |
fixed_t ceilingheight; |
short int floorpic; |
short int ceilingpic; |
short int lightlevel; |
short int special; |
short int tag; |
// 0 = untraversed, 1,2 = sndlines -1 |
int soundtraversed; |
// thing that made a sound (or null) |
mobj_t* soundtarget; |
// mapblock bounding box for height changes |
int blockbox[4]; |
// origin for any sounds played by the sector |
degenmobj_t soundorg; |
// if == validcount, already checked |
int validcount; |
// list of mobjs in sector |
mobj_t* thinglist; |
// thinker_t for reversable actions |
void* specialdata; |
int linecount; |
struct line_s** lines; // [linecount] size |
} sector_t; |
// |
// The SideDef. |
// |
typedef struct |
{ |
// add this to the calculated texture column |
fixed_t textureoffset; |
// add this to the calculated texture top |
fixed_t rowoffset; |
// Texture indices. |
// We do not maintain names here. |
short toptexture; |
short bottomtexture; |
short midtexture; |
// Sector the SideDef is facing. |
sector_t* sector; |
} side_t; |
// |
// Move clipping aid for LineDefs. |
// |
typedef enum |
{ |
ST_HORIZONTAL, |
ST_VERTICAL, |
ST_POSITIVE, |
ST_NEGATIVE |
} slopetype_t; |
typedef struct line_s |
{ |
// Vertices, from v1 to v2. |
vertex_t* v1; |
vertex_t* v2; |
// Precalculated v2 - v1 for side checking. |
fixed_t dx; |
fixed_t dy; |
// Animation related. |
short flags; |
short special; |
short tag; |
// Visual appearance: SideDefs. |
// sidenum[1] will be -1 if one sided |
short sidenum[2]; |
// Neat. Another bounding box, for the extent |
// of the LineDef. |
fixed_t bbox[4]; |
// To aid move clipping. |
slopetype_t slopetype; |
// Front and back sector. |
// Note: redundant? Can be retrieved from SideDefs. |
sector_t* frontsector; |
sector_t* backsector; |
// if == validcount, already checked |
int validcount; |
// thinker_t for reversable actions |
void* specialdata; |
} line_t; |
// |
// A SubSector. |
// References a Sector. |
// Basically, this is a list of LineSegs, |
// indicating the visible walls that define |
// (all or some) sides of a convex BSP leaf. |
// |
typedef struct subsector_s |
{ |
sector_t* sector; |
short numlines; |
short firstline; |
} subsector_t; |
// |
// The LineSeg. |
// |
typedef struct |
{ |
vertex_t* v1; |
vertex_t* v2; |
fixed_t offset; |
angle_t angle; |
side_t* sidedef; |
line_t* linedef; |
// Sector references. |
// Could be retrieved from linedef, too. |
// backsector is NULL for one sided lines |
sector_t* frontsector; |
sector_t* backsector; |
} seg_t; |
// |
// BSP node. |
// |
typedef struct |
{ |
// Partition line. |
fixed_t x; |
fixed_t y; |
fixed_t dx; |
fixed_t dy; |
// Bounding box for each child. |
fixed_t bbox[2][4]; |
// If NF_SUBSECTOR its a subsector. |
unsigned short children[2]; |
} node_t; |
// posts are runs of non masked source pixels |
typedef struct |
{ |
byte topdelta; // -1 is the last post in a column |
byte length; // length data bytes follows |
} post_t; |
// column_t is a list of 0 or more post_t, (byte)-1 terminated |
typedef post_t column_t; |
// PC direct to screen pointers |
//B UNUSED - keep till detailshift in r_draw.c resolved |
//extern byte* destview; |
//extern byte* destscreen; |
// |
// OTHER TYPES |
// |
// This could be wider for >8 bit display. |
// Indeed, true color support is posibble |
// precalculating 24bpp lightmap/colormap LUT. |
// from darkening PLAYPAL to all black. |
// Could even us emore than 32 levels. |
typedef byte lighttable_t; |
// |
// ? |
// |
typedef struct drawseg_s |
{ |
seg_t* curline; |
int x1; |
int x2; |
fixed_t scale1; |
fixed_t scale2; |
fixed_t scalestep; |
// 0=none, 1=bottom, 2=top, 3=both |
int silhouette; |
// do not clip sprites above this |
fixed_t bsilheight; |
// do not clip sprites below this |
fixed_t tsilheight; |
// Pointers to lists for sprite clipping, |
// all three adjusted so [x1] is first value. |
short* sprtopclip; |
short* sprbottomclip; |
short* maskedtexturecol; |
} drawseg_t; |
// Patches. |
// A patch holds one or more columns. |
// Patches are used for sprites and all masked pictures, |
// and we compose textures from the TEXTURE1/2 lists |
// of patches. |
typedef struct |
{ |
short width; // bounding box size |
short height; |
short leftoffset; // pixels to the left of origin |
short topoffset; // pixels below the origin |
int columnofs[8]; // only [width] used |
// the [0] is &columnofs[width] |
} patch_t; |
// A vissprite_t is a thing |
// that will be drawn during a refresh. |
// I.e. a sprite object that is partly visible. |
typedef struct vissprite_s |
{ |
// Doubly linked list. |
struct vissprite_s* prev; |
struct vissprite_s* next; |
int x1; |
int x2; |
// for line side calculation |
fixed_t gx; |
fixed_t gy; |
// global bottom / top for silhouette clipping |
fixed_t gz; |
fixed_t gzt; |
// horizontal position of x1 |
fixed_t startfrac; |
fixed_t scale; |
// negative if flipped |
fixed_t xiscale; |
fixed_t texturemid; |
int patch; |
// for color translation and shadow draw, |
// maxbright frames as well |
lighttable_t* colormap; |
int mobjflags; |
} vissprite_t; |
// |
// Sprites are patches with a special naming convention |
// so they can be recognized by R_InitSprites. |
// The base name is NNNNFx or NNNNFxFx, with |
// x indicating the rotation, x = 0, 1-7. |
// The sprite and frame specified by a thing_t |
// is range checked at run time. |
// A sprite is a patch_t that is assumed to represent |
// a three dimensional object and may have multiple |
// rotations pre drawn. |
// Horizontal flipping is used to save space, |
// thus NNNNF2F5 defines a mirrored patch. |
// Some sprites will only have one picture used |
// for all views: NNNNF0 |
// |
typedef struct |
{ |
// If false use 0 for any position. |
// Note: as eight entries are available, |
// we might as well insert the same name eight times. |
int rotate; |
// Lump to use for view angles 0-7. |
short lump[8]; |
// Flip bit (1 = flip) to use for view angles 0-7. |
byte flip[8]; |
} spriteframe_t; |
// |
// A sprite definition: |
// a number of animation frames. |
// |
typedef struct |
{ |
int numframes; |
spriteframe_t* spriteframes; |
} spritedef_t; |
// |
// Now what is a visplane, anyway? |
// |
typedef struct |
{ |
fixed_t height; |
int picnum; |
int lightlevel; |
int minx; |
int maxx; |
// leave pads for [minx-1]/[maxx+1] |
byte pad1; |
// Here lies the rub for all |
// dynamic resize/change of resolution. |
byte top[SCREENWIDTH]; |
byte pad2; |
byte pad3; |
// See above. |
byte bottom[SCREENWIDTH]; |
byte pad4; |
} visplane_t; |
#endif |
//----------------------------------------------------------------------------- |
// |
// $Log:$ |
// |
//----------------------------------------------------------------------------- |
/programs/games/doom/trunk/h/r_draw.h |
---|
0,0 → 1,115 |
// Emacs style mode select -*- C++ -*- |
//----------------------------------------------------------------------------- |
// |
// $Id:$ |
// |
// Copyright (C) 1993-1996 by id Software, Inc. |
// |
// This source is available for distribution and/or modification |
// only under the terms of the DOOM Source Code License as |
// published by id Software. All rights reserved. |
// |
// The source is distributed in the hope that it will be useful, |
// but WITHOUT ANY WARRANTY; without even the implied warranty of |
// FITNESS FOR A PARTICULAR PURPOSE. See the DOOM Source Code License |
// for more details. |
// |
// DESCRIPTION: |
// System specific interface stuff. |
// |
//----------------------------------------------------------------------------- |
#ifndef __R_DRAW__ |
#define __R_DRAW__ |
#ifdef __GNUG__ |
#pragma interface |
#endif |
extern lighttable_t* dc_colormap; |
extern int dc_x; |
extern int dc_yl; |
extern int dc_yh; |
extern fixed_t dc_iscale; |
extern fixed_t dc_texturemid; |
// first pixel in a column |
extern byte* dc_source; |
// The span blitting interface. |
// Hook in assembler or system specific BLT |
// here. |
void R_DrawColumn (void); |
void R_DrawColumnLow (void); |
// The Spectre/Invisibility effect. |
void R_DrawFuzzColumn (void); |
void R_DrawFuzzColumnLow (void); |
// Draw with color translation tables, |
// for player sprite rendering, |
// Green/Red/Blue/Indigo shirts. |
void R_DrawTranslatedColumn (void); |
void R_DrawTranslatedColumnLow (void); |
void |
R_VideoErase |
( unsigned ofs, |
int count ); |
extern int ds_y; |
extern int ds_x1; |
extern int ds_x2; |
extern lighttable_t* ds_colormap; |
extern fixed_t ds_xfrac; |
extern fixed_t ds_yfrac; |
extern fixed_t ds_xstep; |
extern fixed_t ds_ystep; |
// start of a 64*64 tile image |
extern byte* ds_source; |
extern byte* translationtables; |
extern byte* dc_translation; |
// Span blitting for rows, floor/ceiling. |
// No Sepctre effect needed. |
void R_DrawSpan (void); |
// Low resolution mode, 160x200? |
void R_DrawSpanLow (void); |
void |
R_InitBuffer |
( int width, |
int height ); |
// Initialize color translation tables, |
// for player rendering etc. |
void R_InitTranslationTables (void); |
// Rendering function. |
void R_FillBackScreen (void); |
// If the view size is not full screen, draws a border around it. |
void R_DrawViewBorder (void); |
#endif |
//----------------------------------------------------------------------------- |
// |
// $Log:$ |
// |
//----------------------------------------------------------------------------- |
/programs/games/doom/trunk/h/r_local.h |
---|
0,0 → 1,53 |
// Emacs style mode select -*- C++ -*- |
//----------------------------------------------------------------------------- |
// |
// $Id:$ |
// |
// Copyright (C) 1993-1996 by id Software, Inc. |
// |
// This source is available for distribution and/or modification |
// only under the terms of the DOOM Source Code License as |
// published by id Software. All rights reserved. |
// |
// The source is distributed in the hope that it will be useful, |
// but WITHOUT ANY WARRANTY; without even the implied warranty of |
// FITNESS FOR A PARTICULAR PURPOSE. See the DOOM Source Code License |
// for more details. |
// |
// DESCRIPTION: |
// Refresh (R_*) module, global header. |
// All the rendering/drawing stuff is here. |
// |
//----------------------------------------------------------------------------- |
#ifndef __R_LOCAL__ |
#define __R_LOCAL__ |
// Binary Angles, sine/cosine/atan lookups. |
#include "tables.h" |
// Screen size related parameters. |
#include "doomdef.h" |
// Include the refresh/render data structs. |
#include "r_data.h" |
// |
// Separate header file for each module. |
// |
#include "r_main.h" |
#include "r_bsp.h" |
#include "r_segs.h" |
#include "r_plane.h" |
#include "r_data.h" |
#include "r_things.h" |
#include "r_draw.h" |
#endif // __R_LOCAL__ |
//----------------------------------------------------------------------------- |
// |
// $Log:$ |
// |
//----------------------------------------------------------------------------- |
/programs/games/doom/trunk/h/r_main.h |
---|
0,0 → 1,172 |
// Emacs style mode select -*- C++ -*- |
//----------------------------------------------------------------------------- |
// |
// $Id:$ |
// |
// Copyright (C) 1993-1996 by id Software, Inc. |
// |
// This source is available for distribution and/or modification |
// only under the terms of the DOOM Source Code License as |
// published by id Software. All rights reserved. |
// |
// The source is distributed in the hope that it will be useful, |
// but WITHOUT ANY WARRANTY; without even the implied warranty of |
// FITNESS FOR A PARTICULAR PURPOSE. See the DOOM Source Code License |
// for more details. |
// |
// DESCRIPTION: |
// System specific interface stuff. |
// |
//----------------------------------------------------------------------------- |
#ifndef __R_MAIN__ |
#define __R_MAIN__ |
#include "d_player.h" |
#include "r_data.h" |
#ifdef __GNUG__ |
#pragma interface |
#endif |
// |
// POV related. |
// |
extern fixed_t viewcos; |
extern fixed_t viewsin; |
extern int viewwidth; |
extern int viewheight; |
extern int viewwindowx; |
extern int viewwindowy; |
extern int centerx; |
extern int centery; |
extern fixed_t centerxfrac; |
extern fixed_t centeryfrac; |
extern fixed_t projection; |
extern int validcount; |
extern int linecount; |
extern int loopcount; |
// |
// Lighting LUT. |
// Used for z-depth cuing per column/row, |
// and other lighting effects (sector ambient, flash). |
// |
// Lighting constants. |
// Now why not 32 levels here? |
#define LIGHTLEVELS 16 |
#define LIGHTSEGSHIFT 4 |
#define MAXLIGHTSCALE 48 |
#define LIGHTSCALESHIFT 12 |
#define MAXLIGHTZ 128 |
#define LIGHTZSHIFT 20 |
extern lighttable_t* scalelight[LIGHTLEVELS][MAXLIGHTSCALE]; |
extern lighttable_t* scalelightfixed[MAXLIGHTSCALE]; |
extern lighttable_t* zlight[LIGHTLEVELS][MAXLIGHTZ]; |
extern int extralight; |
extern lighttable_t* fixedcolormap; |
// Number of diminishing brightness levels. |
// There a 0-31, i.e. 32 LUT in the COLORMAP lump. |
#define NUMCOLORMAPS 32 |
// Blocky/low detail mode. |
//B remove this? |
// 0 = high, 1 = low |
extern int detailshift; |
// |
// Function pointers to switch refresh/drawing functions. |
// Used to select shadow mode etc. |
// |
extern void (*colfunc) (void); |
extern void (*basecolfunc) (void); |
extern void (*fuzzcolfunc) (void); |
// No shadow effects on floors. |
extern void (*spanfunc) (void); |
// |
// Utility functions. |
int |
R_PointOnSide |
( fixed_t x, |
fixed_t y, |
node_t* node ); |
int |
R_PointOnSegSide |
( fixed_t x, |
fixed_t y, |
seg_t* line ); |
angle_t |
R_PointToAngle |
( fixed_t x, |
fixed_t y ); |
angle_t |
R_PointToAngle2 |
( fixed_t x1, |
fixed_t y1, |
fixed_t x2, |
fixed_t y2 ); |
fixed_t |
R_PointToDist |
( fixed_t x, |
fixed_t y ); |
fixed_t R_ScaleFromGlobalAngle (angle_t visangle); |
subsector_t* |
R_PointInSubsector |
( fixed_t x, |
fixed_t y ); |
void |
R_AddPointToBox |
( int x, |
int y, |
fixed_t* box ); |
// |
// REFRESH - the actual rendering functions. |
// |
// Called by G_Drawer. |
void R_RenderPlayerView (player_t *player); |
// Called by startup code. |
void R_Init (void); |
// Called by M_Responder. |
void R_SetViewSize (int blocks, int detail); |
#endif |
//----------------------------------------------------------------------------- |
// |
// $Log:$ |
// |
//----------------------------------------------------------------------------- |
/programs/games/doom/trunk/h/r_plane.h |
---|
0,0 → 1,87 |
// Emacs style mode select -*- C++ -*- |
//----------------------------------------------------------------------------- |
// |
// $Id:$ |
// |
// Copyright (C) 1993-1996 by id Software, Inc. |
// |
// This source is available for distribution and/or modification |
// only under the terms of the DOOM Source Code License as |
// published by id Software. All rights reserved. |
// |
// The source is distributed in the hope that it will be useful, |
// but WITHOUT ANY WARRANTY; without even the implied warranty of |
// FITNESS FOR A PARTICULAR PURPOSE. See the DOOM Source Code License |
// for more details. |
// |
// DESCRIPTION: |
// Refresh, visplane stuff (floor, ceilings). |
// |
//----------------------------------------------------------------------------- |
#ifndef __R_PLANE__ |
#define __R_PLANE__ |
#include "r_data.h" |
#ifdef __GNUG__ |
#pragma interface |
#endif |
// Visplane related. |
extern short* lastopening; |
typedef void (*planefunction_t) (int top, int bottom); |
extern planefunction_t floorfunc; |
extern planefunction_t ceilingfunc_t; |
extern short floorclip[SCREENWIDTH]; |
extern short ceilingclip[SCREENWIDTH]; |
extern fixed_t yslope[SCREENHEIGHT]; |
extern fixed_t distscale[SCREENWIDTH]; |
void R_InitPlanes (void); |
void R_ClearPlanes (void); |
void |
R_MapPlane |
( int y, |
int x1, |
int x2 ); |
void |
R_MakeSpans |
( int x, |
int t1, |
int b1, |
int t2, |
int b2 ); |
void R_DrawPlanes (void); |
visplane_t* |
R_FindPlane |
( fixed_t height, |
int picnum, |
int lightlevel ); |
visplane_t* |
R_CheckPlane |
( visplane_t* pl, |
int start, |
int stop ); |
#endif |
//----------------------------------------------------------------------------- |
// |
// $Log:$ |
// |
//----------------------------------------------------------------------------- |
/programs/games/doom/trunk/h/r_segs.h |
---|
0,0 → 1,44 |
// Emacs style mode select -*- C++ -*- |
//----------------------------------------------------------------------------- |
// |
// $Id:$ |
// |
// Copyright (C) 1993-1996 by id Software, Inc. |
// |
// This source is available for distribution and/or modification |
// only under the terms of the DOOM Source Code License as |
// published by id Software. All rights reserved. |
// |
// The source is distributed in the hope that it will be useful, |
// but WITHOUT ANY WARRANTY; without even the implied warranty of |
// FITNESS FOR A PARTICULAR PURPOSE. See the DOOM Source Code License |
// for more details. |
// |
// DESCRIPTION: |
// Refresh module, drawing LineSegs from BSP. |
// |
//----------------------------------------------------------------------------- |
#ifndef __R_SEGS__ |
#define __R_SEGS__ |
#ifdef __GNUG__ |
#pragma interface |
#endif |
void |
R_RenderMaskedSegRange |
( drawseg_t* ds, |
int x1, |
int x2 ); |
#endif |
//----------------------------------------------------------------------------- |
// |
// $Log:$ |
// |
//----------------------------------------------------------------------------- |
/programs/games/doom/trunk/h/r_sky.h |
---|
0,0 → 1,48 |
// Emacs style mode select -*- C++ -*- |
//----------------------------------------------------------------------------- |
// |
// $Id:$ |
// |
// Copyright (C) 1993-1996 by id Software, Inc. |
// |
// This source is available for distribution and/or modification |
// only under the terms of the DOOM Source Code License as |
// published by id Software. All rights reserved. |
// |
// The source is distributed in the hope that it will be useful, |
// but WITHOUT ANY WARRANTY; without even the implied warranty of |
// FITNESS FOR A PARTICULAR PURPOSE. See the DOOM Source Code License |
// for more details. |
// |
// DESCRIPTION: |
// Sky rendering. |
// |
//----------------------------------------------------------------------------- |
#ifndef __R_SKY__ |
#define __R_SKY__ |
#ifdef __GNUG__ |
#pragma interface |
#endif |
// SKY, store the number for name. |
#define SKYFLATNAME "F_SKY1" |
// The sky map is 256*128*4 maps. |
#define ANGLETOSKYSHIFT 22 |
extern int skytexture; |
extern int skytexturemid; |
// Called whenever the view size changes. |
void R_InitSkyMap (void); |
#endif |
//----------------------------------------------------------------------------- |
// |
// $Log:$ |
// |
//----------------------------------------------------------------------------- |
/programs/games/doom/trunk/h/r_state.h |
---|
0,0 → 1,138 |
// Emacs style mode select -*- C++ -*- |
//----------------------------------------------------------------------------- |
// |
// $Id:$ |
// |
// Copyright (C) 1993-1996 by id Software, Inc. |
// |
// This source is available for distribution and/or modification |
// only under the terms of the DOOM Source Code License as |
// published by id Software. All rights reserved. |
// |
// The source is distributed in the hope that it will be useful, |
// but WITHOUT ANY WARRANTY; without even the implied warranty of |
// FITNESS FOR A PARTICULAR PURPOSE. See the DOOM Source Code License |
// for more details. |
// |
// DESCRIPTION: |
// Refresh/render internal state variables (global). |
// |
//----------------------------------------------------------------------------- |
#ifndef __R_STATE__ |
#define __R_STATE__ |
// Need data structure definitions. |
#include "d_player.h" |
#include "r_data.h" |
#ifdef __GNUG__ |
#pragma interface |
#endif |
// |
// Refresh internal data structures, |
// for rendering. |
// |
// needed for texture pegging |
extern fixed_t* textureheight; |
// needed for pre rendering (fracs) |
extern fixed_t* spritewidth; |
extern fixed_t* spriteoffset; |
extern fixed_t* spritetopoffset; |
extern lighttable_t* colormaps; |
extern int viewwidth; |
extern int scaledviewwidth; |
extern int viewheight; |
extern int firstflat; |
// for global animation |
extern int* flattranslation; |
extern int* texturetranslation; |
// Sprite.... |
extern int firstspritelump; |
extern int lastspritelump; |
extern int numspritelumps; |
// |
// Lookup tables for map data. |
// |
extern int numsprites; |
extern spritedef_t* sprites; |
extern int numvertexes; |
extern vertex_t* vertexes; |
extern int numsegs; |
extern seg_t* segs; |
extern int numsectors; |
extern sector_t* sectors; |
extern int numsubsectors; |
extern subsector_t* subsectors; |
extern int numnodes; |
extern node_t* nodes; |
extern int numlines; |
extern line_t* lines; |
extern int numsides; |
extern side_t* sides; |
// |
// POV data. |
// |
extern fixed_t viewx; |
extern fixed_t viewy; |
extern fixed_t viewz; |
extern angle_t viewangle; |
extern player_t* viewplayer; |
// ? |
extern angle_t clipangle; |
extern int viewangletox[FINEANGLES/2]; |
extern angle_t xtoviewangle[SCREENWIDTH+1]; |
//extern fixed_t finetangent[FINEANGLES/2]; |
extern fixed_t rw_distance; |
extern angle_t rw_normalangle; |
// angle to line origin |
extern int rw_angle1; |
// Segs count? |
extern int sscount; |
extern visplane_t* floorplane; |
extern visplane_t* ceilingplane; |
#endif |
//----------------------------------------------------------------------------- |
// |
// $Log:$ |
// |
//----------------------------------------------------------------------------- |
/programs/games/doom/trunk/h/r_things.h |
---|
0,0 → 1,76 |
// Emacs style mode select -*- C++ -*- |
//----------------------------------------------------------------------------- |
// |
// $Id:$ |
// |
// Copyright (C) 1993-1996 by id Software, Inc. |
// |
// This source is available for distribution and/or modification |
// only under the terms of the DOOM Source Code License as |
// published by id Software. All rights reserved. |
// |
// The source is distributed in the hope that it will be useful, |
// but WITHOUT ANY WARRANTY; without even the implied warranty of |
// FITNESS FOR A PARTICULAR PURPOSE. See the DOOM Source Code License |
// for more details. |
// |
// DESCRIPTION: |
// Rendering of moving objects, sprites. |
// |
//----------------------------------------------------------------------------- |
#ifndef __R_THINGS__ |
#define __R_THINGS__ |
#ifdef __GNUG__ |
#pragma interface |
#endif |
#define MAXVISSPRITES 128 |
extern vissprite_t vissprites[MAXVISSPRITES]; |
extern vissprite_t* vissprite_p; |
extern vissprite_t vsprsortedhead; |
// Constant arrays used for psprite clipping |
// and initializing clipping. |
extern short negonearray[SCREENWIDTH]; |
extern short screenheightarray[SCREENWIDTH]; |
// vars for R_DrawMaskedColumn |
extern short* mfloorclip; |
extern short* mceilingclip; |
extern fixed_t spryscale; |
extern fixed_t sprtopscreen; |
extern fixed_t pspritescale; |
extern fixed_t pspriteiscale; |
void R_DrawMaskedColumn (column_t* column); |
void R_SortVisSprites (void); |
void R_AddSprites (sector_t* sec); |
void R_AddPSprites (void); |
void R_DrawSprites (void); |
void R_InitSprites (char** namelist); |
void R_ClearSprites (void); |
void R_DrawMasked (void); |
void |
R_ClipVisSprite |
( vissprite_t* vis, |
int xl, |
int xh ); |
#endif |
//----------------------------------------------------------------------------- |
// |
// $Log:$ |
// |
//----------------------------------------------------------------------------- |
/programs/games/doom/trunk/h/s_sound.h |
---|
0,0 → 1,109 |
// Emacs style mode select -*- C++ -*- |
//----------------------------------------------------------------------------- |
// |
// $Id:$ |
// |
// Copyright (C) 1993-1996 by id Software, Inc. |
// |
// This source is available for distribution and/or modification |
// only under the terms of the DOOM Source Code License as |
// published by id Software. All rights reserved. |
// |
// The source is distributed in the hope that it will be useful, |
// but WITHOUT ANY WARRANTY; without even the implied warranty of |
// FITNESS FOR A PARTICULAR PURPOSE. See the DOOM Source Code License |
// for more details. |
// |
// DESCRIPTION: |
// The not so system specific sound interface. |
// |
//----------------------------------------------------------------------------- |
#ifndef __S_SOUND__ |
#define __S_SOUND__ |
#ifdef __GNUG__ |
#pragma interface |
#endif |
// |
// Initializes sound stuff, including volume |
// Sets channels, SFX and music volume, |
// allocates channel buffer, sets S_sfx lookup. |
// |
void |
S_Init |
( int sfxVolume, |
int musicVolume ); |
// |
// Per level startup code. |
// Kills playing sounds at start of level, |
// determines music if any, changes music. |
// |
void S_Start(void); |
// |
// Start sound for thing at <origin> |
// using <sound_id> from sounds.h |
// |
void |
S_StartSound |
( void* origin, |
int sound_id ); |
// Will start a sound at a given volume. |
void |
S_StartSoundAtVolume |
( void* origin, |
int sound_id, |
int volume ); |
// Stop sound for thing at <origin> |
void S_StopSound(void* origin); |
// Start music using <music_id> from sounds.h |
void S_StartMusic(int music_id); |
// Start music using <music_id> from sounds.h, |
// and set whether looping |
void |
S_ChangeMusic |
( int music_id, |
int looping ); |
// Stops the music fer sure. |
void S_StopMusic(void); |
// Stop and resume music, during game PAUSE. |
void S_PauseSound(void); |
void S_ResumeSound(void); |
// |
// Updates music & sounds |
// |
void S_UpdateSounds(void* listener); |
void S_SetMusicVolume(int volume); |
void S_SetSfxVolume(int volume); |
#endif |
//----------------------------------------------------------------------------- |
// |
// $Log:$ |
// |
//----------------------------------------------------------------------------- |
/programs/games/doom/trunk/h/sounds.h |
---|
0,0 → 1,297 |
// Emacs style mode select -*- C++ -*- |
//----------------------------------------------------------------------------- |
// |
// $Id:$ |
// |
// Copyright (C) 1993-1996 by id Software, Inc. |
// |
// This source is available for distribution and/or modification |
// only under the terms of the DOOM Source Code License as |
// published by id Software. All rights reserved. |
// |
// The source is distributed in the hope that it will be useful, |
// but WITHOUT ANY WARRANTY; without even the implied warranty of |
// FITNESS FOR A PARTICULAR PURPOSE. See the DOOM Source Code License |
// for more details. |
// |
// DESCRIPTION: |
// Created by the sound utility written by Dave Taylor. |
// Kept as a sample, DOOM2 sounds. Frozen. |
// |
//----------------------------------------------------------------------------- |
#ifndef __SOUNDS__ |
#define __SOUNDS__ |
// |
// SoundFX struct. |
// |
typedef struct sfxinfo_struct sfxinfo_t; |
struct sfxinfo_struct |
{ |
// up to 6-character name |
char* name; |
// Sfx singularity (only one at a time) |
int singularity; |
// Sfx priority |
int priority; |
// referenced sound if a link |
sfxinfo_t* link; |
// pitch if a link |
int pitch; |
// volume if a link |
int volume; |
// sound data |
void* data; |
// this is checked every second to see if sound |
// can be thrown out (if 0, then decrement, if -1, |
// then throw out, if > 0, then it is in use) |
int usefulness; |
// lump number of sfx |
int lumpnum; |
}; |
// |
// MusicInfo struct. |
// |
typedef struct |
{ |
// up to 6-character name |
char* name; |
// lump number of music |
int lumpnum; |
// music data |
void* data; |
// music handle once registered |
int handle; |
} musicinfo_t; |
// the complete set of sound effects |
extern sfxinfo_t S_sfx[]; |
// the complete set of music |
extern musicinfo_t S_music[]; |
// |
// Identifiers for all music in game. |
// |
typedef enum |
{ |
mus_None, |
mus_e1m1, |
mus_e1m2, |
mus_e1m3, |
mus_e1m4, |
mus_e1m5, |
mus_e1m6, |
mus_e1m7, |
mus_e1m8, |
mus_e1m9, |
mus_e2m1, |
mus_e2m2, |
mus_e2m3, |
mus_e2m4, |
mus_e2m5, |
mus_e2m6, |
mus_e2m7, |
mus_e2m8, |
mus_e2m9, |
mus_e3m1, |
mus_e3m2, |
mus_e3m3, |
mus_e3m4, |
mus_e3m5, |
mus_e3m6, |
mus_e3m7, |
mus_e3m8, |
mus_e3m9, |
mus_inter, |
mus_intro, |
mus_bunny, |
mus_victor, |
mus_introa, |
mus_runnin, |
mus_stalks, |
mus_countd, |
mus_betwee, |
mus_doom, |
mus_the_da, |
mus_shawn, |
mus_ddtblu, |
mus_in_cit, |
mus_dead, |
mus_stlks2, |
mus_theda2, |
mus_doom2, |
mus_ddtbl2, |
mus_runni2, |
mus_dead2, |
mus_stlks3, |
mus_romero, |
mus_shawn2, |
mus_messag, |
mus_count2, |
mus_ddtbl3, |
mus_ampie, |
mus_theda3, |
mus_adrian, |
mus_messg2, |
mus_romer2, |
mus_tense, |
mus_shawn3, |
mus_openin, |
mus_evil, |
mus_ultima, |
mus_read_m, |
mus_dm2ttl, |
mus_dm2int, |
NUMMUSIC |
} musicenum_t; |
// |
// Identifiers for all sfx in game. |
// |
typedef enum |
{ |
sfx_None, |
sfx_pistol, |
sfx_shotgn, |
sfx_sgcock, |
sfx_dshtgn, |
sfx_dbopn, |
sfx_dbcls, |
sfx_dbload, |
sfx_plasma, |
sfx_bfg, |
sfx_sawup, |
sfx_sawidl, |
sfx_sawful, |
sfx_sawhit, |
sfx_rlaunc, |
sfx_rxplod, |
sfx_firsht, |
sfx_firxpl, |
sfx_pstart, |
sfx_pstop, |
sfx_doropn, |
sfx_dorcls, |
sfx_stnmov, |
sfx_swtchn, |
sfx_swtchx, |
sfx_plpain, |
sfx_dmpain, |
sfx_popain, |
sfx_vipain, |
sfx_mnpain, |
sfx_pepain, |
sfx_slop, |
sfx_itemup, |
sfx_wpnup, |
sfx_oof, |
sfx_telept, |
sfx_posit1, |
sfx_posit2, |
sfx_posit3, |
sfx_bgsit1, |
sfx_bgsit2, |
sfx_sgtsit, |
sfx_cacsit, |
sfx_brssit, |
sfx_cybsit, |
sfx_spisit, |
sfx_bspsit, |
sfx_kntsit, |
sfx_vilsit, |
sfx_mansit, |
sfx_pesit, |
sfx_sklatk, |
sfx_sgtatk, |
sfx_skepch, |
sfx_vilatk, |
sfx_claw, |
sfx_skeswg, |
sfx_pldeth, |
sfx_pdiehi, |
sfx_podth1, |
sfx_podth2, |
sfx_podth3, |
sfx_bgdth1, |
sfx_bgdth2, |
sfx_sgtdth, |
sfx_cacdth, |
sfx_skldth, |
sfx_brsdth, |
sfx_cybdth, |
sfx_spidth, |
sfx_bspdth, |
sfx_vildth, |
sfx_kntdth, |
sfx_pedth, |
sfx_skedth, |
sfx_posact, |
sfx_bgact, |
sfx_dmact, |
sfx_bspact, |
sfx_bspwlk, |
sfx_vilact, |
sfx_noway, |
sfx_barexp, |
sfx_punch, |
sfx_hoof, |
sfx_metal, |
sfx_chgun, |
sfx_tink, |
sfx_bdopn, |
sfx_bdcls, |
sfx_itmbk, |
sfx_flame, |
sfx_flamst, |
sfx_getpow, |
sfx_bospit, |
sfx_boscub, |
sfx_bossit, |
sfx_bospn, |
sfx_bosdth, |
sfx_manatk, |
sfx_mandth, |
sfx_sssit, |
sfx_ssdth, |
sfx_keenpn, |
sfx_keendt, |
sfx_skeact, |
sfx_skesit, |
sfx_skeatk, |
sfx_radio, |
NUMSFX |
} sfxenum_t; |
#endif |
//----------------------------------------------------------------------------- |
// |
// $Log:$ |
// |
//----------------------------------------------------------------------------- |
/programs/games/doom/trunk/h/st_lib.h |
---|
0,0 → 1,226 |
// Emacs style mode select -*- C++ -*- |
//----------------------------------------------------------------------------- |
// |
// $Id:$ |
// |
// Copyright (C) 1993-1996 by id Software, Inc. |
// |
// This source is available for distribution and/or modification |
// only under the terms of the DOOM Source Code License as |
// published by id Software. All rights reserved. |
// |
// The source is distributed in the hope that it will be useful, |
// but WITHOUT ANY WARRANTY; without even the implied warranty of |
// FITNESS FOR A PARTICULAR PURPOSE. See the DOOM Source Code License |
// for more details. |
// |
// DESCRIPTION: |
// The status bar widget code. |
// |
//----------------------------------------------------------------------------- |
#ifndef __STLIB__ |
#define __STLIB__ |
// We are referring to patches. |
#include "r_defs.h" |
// |
// Background and foreground screen numbers |
// |
#define BG 4 |
#define FG 0 |
// |
// Typedefs of widgets |
// |
// Number widget |
typedef struct |
{ |
// upper right-hand corner |
// of the number (right-justified) |
int x; |
int y; |
// max # of digits in number |
int width; |
// last number value |
int oldnum; |
// pointer to current value |
int* num; |
// pointer to boolean stating |
// whether to update number |
boolean* on; |
// list of patches for 0-9 |
patch_t** p; |
// user data |
int data; |
} st_number_t; |
// Percent widget ("child" of number widget, |
// or, more precisely, contains a number widget.) |
typedef struct |
{ |
// number information |
st_number_t n; |
// percent sign graphic |
patch_t* p; |
} st_percent_t; |
// Multiple Icon widget |
typedef struct |
{ |
// center-justified location of icons |
int x; |
int y; |
// last icon number |
int oldinum; |
// pointer to current icon |
int* inum; |
// pointer to boolean stating |
// whether to update icon |
boolean* on; |
// list of icons |
patch_t** p; |
// user data |
int data; |
} st_multicon_t; |
// Binary Icon widget |
typedef struct |
{ |
// center-justified location of icon |
int x; |
int y; |
// last icon value |
int oldval; |
// pointer to current icon status |
boolean* val; |
// pointer to boolean |
// stating whether to update icon |
boolean* on; |
patch_t* p; // icon |
int data; // user data |
} st_binicon_t; |
// |
// Widget creation, access, and update routines |
// |
// Initializes widget library. |
// More precisely, initialize STMINUS, |
// everything else is done somewhere else. |
// |
void STlib_init(void); |
// Number widget routines |
void |
STlib_initNum |
( st_number_t* n, |
int x, |
int y, |
patch_t** pl, |
int* num, |
boolean* on, |
int width ); |
void |
STlib_updateNum |
( st_number_t* n, |
boolean refresh ); |
// Percent widget routines |
void |
STlib_initPercent |
( st_percent_t* p, |
int x, |
int y, |
patch_t** pl, |
int* num, |
boolean* on, |
patch_t* percent ); |
void |
STlib_updatePercent |
( st_percent_t* per, |
int refresh ); |
// Multiple Icon widget routines |
void |
STlib_initMultIcon |
( st_multicon_t* mi, |
int x, |
int y, |
patch_t** il, |
int* inum, |
boolean* on ); |
void |
STlib_updateMultIcon |
( st_multicon_t* mi, |
boolean refresh ); |
// Binary Icon widget routines |
void |
STlib_initBinIcon |
( st_binicon_t* b, |
int x, |
int y, |
patch_t* i, |
boolean* val, |
boolean* on ); |
void |
STlib_updateBinIcon |
( st_binicon_t* bi, |
boolean refresh ); |
#endif |
//----------------------------------------------------------------------------- |
// |
// $Log:$ |
// |
//----------------------------------------------------------------------------- |
/programs/games/doom/trunk/h/st_stuff.h |
---|
0,0 → 1,86 |
// Emacs style mode select -*- C++ -*- |
//----------------------------------------------------------------------------- |
// |
// $Id:$ |
// |
// Copyright (C) 1993-1996 by id Software, Inc. |
// |
// This source is available for distribution and/or modification |
// only under the terms of the DOOM Source Code License as |
// published by id Software. All rights reserved. |
// |
// The source is distributed in the hope that it will be useful, |
// but WITHOUT ANY WARRANTY; without even the implied warranty of |
// FITNESS FOR A PARTICULAR PURPOSE. See the DOOM Source Code License |
// for more details. |
// |
// DESCRIPTION: |
// Status bar code. |
// Does the face/direction indicator animatin. |
// Does palette indicators as well (red pain/berserk, bright pickup) |
// |
//----------------------------------------------------------------------------- |
#ifndef __STSTUFF_H__ |
#define __STSTUFF_H__ |
#include "doomtype.h" |
#include "d_event.h" |
// Size of statusbar. |
// Now sensitive for scaling. |
#define ST_HEIGHT 32*SCREEN_MUL |
#define ST_WIDTH SCREENWIDTH |
#define ST_Y (SCREENHEIGHT - ST_HEIGHT) |
// |
// STATUS BAR |
// |
// Called by main loop. |
boolean ST_Responder (event_t* ev); |
// Called by main loop. |
void ST_Ticker (void); |
// Called by main loop. |
void ST_Drawer (boolean fullscreen, boolean refresh); |
// Called when the console player is spawned on each level. |
void ST_Start (void); |
// Called by startup code. |
void ST_Init (void); |
// States for status bar code. |
typedef enum |
{ |
AutomapState, |
FirstPersonState |
} st_stateenum_t; |
// States for the chat code. |
typedef enum |
{ |
StartChatState, |
WaitDestState, |
GetChatState |
} st_chatstateenum_t; |
boolean ST_Responder(event_t* ev); |
#endif |
//----------------------------------------------------------------------------- |
// |
// $Log:$ |
// |
//----------------------------------------------------------------------------- |
/programs/games/doom/trunk/h/tables.h |
---|
0,0 → 1,100 |
// Emacs style mode select -*- C++ -*- |
//----------------------------------------------------------------------------- |
// |
// $Id:$ |
// |
// Copyright (C) 1993-1996 by id Software, Inc. |
// |
// This source is available for distribution and/or modification |
// only under the terms of the DOOM Source Code License as |
// published by id Software. All rights reserved. |
// |
// The source is distributed in the hope that it will be useful, |
// but WITHOUT ANY WARRANTY; without even the implied warranty of |
// FITNESS FOR A PARTICULAR PURPOSE. See the DOOM Source Code License |
// for more details. |
// |
// DESCRIPTION: |
// Lookup tables. |
// Do not try to look them up :-). |
// In the order of appearance: |
// |
// int finetangent[4096] - Tangens LUT. |
// Should work with BAM fairly well (12 of 16bit, |
// effectively, by shifting). |
// |
// int finesine[10240] - Sine lookup. |
// Guess what, serves as cosine, too. |
// Remarkable thing is, how to use BAMs with this? |
// |
// int tantoangle[2049] - ArcTan LUT, |
// maps tan(angle) to angle fast. Gotta search. |
// |
//----------------------------------------------------------------------------- |
#ifndef __TABLES__ |
#define __TABLES__ |
#ifdef LINUX |
#include <math.h> |
#else |
#define PI 3.141592657 |
#endif |
#include "m_fixed.h" |
#define FINEANGLES 8192 |
#define FINEMASK (FINEANGLES-1) |
// 0x100000000 to 0x2000 |
#define ANGLETOFINESHIFT 19 |
// Effective size is 10240. |
extern fixed_t finesine[5*FINEANGLES/4]; |
// Re-use data, is just PI/2 pahse shift. |
extern fixed_t* finecosine; |
// Effective size is 4096. |
extern fixed_t finetangent[FINEANGLES/2]; |
// Binary Angle Measument, BAM. |
#define ANG45 0x20000000 |
#define ANG90 0x40000000 |
#define ANG180 0x80000000 |
#define ANG270 0xc0000000 |
#define SLOPERANGE 2048 |
#define SLOPEBITS 11 |
#define DBITS (FRACBITS-SLOPEBITS) |
typedef unsigned angle_t; |
// Effective size is 2049; |
// The +1 size is to handle the case when x==y |
// without additional checking. |
extern angle_t tantoangle[SLOPERANGE+1]; |
// Utility function, |
// called by R_PointToAngle. |
int |
SlopeDiv |
( unsigned num, |
unsigned den); |
#endif |
//----------------------------------------------------------------------------- |
// |
// $Log:$ |
// |
//----------------------------------------------------------------------------- |
/programs/games/doom/trunk/h/v_video.h |
---|
0,0 → 1,119 |
// Emacs style mode select -*- C++ -*- |
//----------------------------------------------------------------------------- |
// |
// $Id:$ |
// |
// Copyright (C) 1993-1996 by id Software, Inc. |
// |
// This source is available for distribution and/or modification |
// only under the terms of the DOOM Source Code License as |
// published by id Software. All rights reserved. |
// |
// The source is distributed in the hope that it will be useful, |
// but WITHOUT ANY WARRANTY; without even the implied warranty of |
// FITNESS FOR A PARTICULAR PURPOSE. See the DOOM Source Code License |
// for more details. |
// |
// DESCRIPTION: |
// Gamma correction LUT. |
// Functions to draw patches (by post) directly to screen. |
// Functions to blit a block to the screen. |
// |
//----------------------------------------------------------------------------- |
#ifndef __V_VIDEO__ |
#define __V_VIDEO__ |
#include "doomtype.h" |
#include "doomdef.h" |
// Needed because we are refering to patches. |
#include "r_data.h" |
// |
// VIDEO |
// |
#define CENTERY (SCREENHEIGHT/2) |
// Screen 0 is the screen updated by I_Update screen. |
// Screen 1 is an extra buffer. |
extern byte* screens[5]; |
extern int dirtybox[4]; |
extern byte gammatable[5][256]; |
extern int usegamma; |
// Allocates buffer screens, call before R_Init. |
void V_Init (void); |
void |
V_CopyRect |
( int srcx, |
int srcy, |
int srcscrn, |
int width, |
int height, |
int destx, |
int desty, |
int destscrn ); |
void |
V_DrawPatch |
( int x, |
int y, |
int scrn, |
patch_t* patch); |
void |
V_DrawPatchDirect |
( int x, |
int y, |
int scrn, |
patch_t* patch ); |
// Draw a linear block of pixels into the view buffer. |
void |
V_DrawBlock |
( int x, |
int y, |
int scrn, |
int width, |
int height, |
byte* src ); |
// Reads a linear block of pixels into the view buffer. |
void |
V_GetBlock |
( int x, |
int y, |
int scrn, |
int width, |
int height, |
byte* dest ); |
void |
V_MarkRect |
( int x, |
int y, |
int width, |
int height ); |
#endif |
//----------------------------------------------------------------------------- |
// |
// $Log:$ |
// |
//----------------------------------------------------------------------------- |
/programs/games/doom/trunk/h/w_wad.h |
---|
0,0 → 1,89 |
// Emacs style mode select -*- C++ -*- |
//----------------------------------------------------------------------------- |
// |
// $Id:$ |
// |
// Copyright (C) 1993-1996 by id Software, Inc. |
// |
// This source is available for distribution and/or modification |
// only under the terms of the DOOM Source Code License as |
// published by id Software. All rights reserved. |
// |
// The source is distributed in the hope that it will be useful, |
// but WITHOUT ANY WARRANTY; without even the implied warranty of |
// FITNESS FOR A PARTICULAR PURPOSE. See the DOOM Source Code License |
// for more details. |
// |
// DESCRIPTION: |
// WAD I/O functions. |
// |
//----------------------------------------------------------------------------- |
#ifndef __W_WAD__ |
#define __W_WAD__ |
#ifdef __GNUG__ |
#pragma interface |
#endif |
// |
// TYPES |
// |
typedef struct |
{ |
// Should be "IWAD" or "PWAD". |
char identification[4]; |
int numlumps; |
int infotableofs; |
} wadinfo_t; |
typedef struct |
{ |
int filepos; |
int size; |
char name[8]; |
} filelump_t; |
// |
// WADFILE I/O related stuff. |
// |
typedef struct |
{ |
char name[8]; |
int handle; |
int position; |
int size; |
} lumpinfo_t; |
extern void** lumpcache; |
extern lumpinfo_t* lumpinfo; |
extern int numlumps; |
void W_InitMultipleFiles (char** filenames); |
void W_Reload (void); |
int W_CheckNumForName (char* name); |
int W_GetNumForName (char* name); |
int W_LumpLength (int lump); |
void W_ReadLump (int lump, void *dest); |
void* W_CacheLumpNum (int lump, int tag); |
void* W_CacheLumpName (char* name, int tag); |
#endif |
//----------------------------------------------------------------------------- |
// |
// $Log:$ |
// |
//----------------------------------------------------------------------------- |
/programs/games/doom/trunk/h/wi_stuff.h |
---|
0,0 → 1,54 |
// Emacs style mode select -*- C++ -*- |
//----------------------------------------------------------------------------- |
// |
// $Id:$ |
// |
// Copyright (C) 1993-1996 by id Software, Inc. |
// |
// This source is available for distribution and/or modification |
// only under the terms of the DOOM Source Code License as |
// published by id Software. All rights reserved. |
// |
// The source is distributed in the hope that it will be useful, |
// but WITHOUT ANY WARRANTY; without even the implied warranty of |
// FITNESS FOR A PARTICULAR PURPOSE. See the DOOM Source Code License |
// for more details. |
// |
// DESCRIPTION: |
// Intermission. |
// |
//----------------------------------------------------------------------------- |
#ifndef __WI_STUFF__ |
#define __WI_STUFF__ |
//#include "v_video.h" |
#include "doomdef.h" |
// States for the intermission |
typedef enum |
{ |
NoState = -1, |
StatCount, |
ShowNextLoc |
} stateenum_t; |
// Called by main loop, animate the intermission. |
void WI_Ticker (void); |
// Called by main loop, |
// draws the intermission directly into the screen buffer. |
void WI_Drawer (void); |
// Setup for an intermission screen. |
void WI_Start(wbstartstruct_t* wbstartstruct); |
#endif |
//----------------------------------------------------------------------------- |
// |
// $Log:$ |
// |
//----------------------------------------------------------------------------- |
/programs/games/doom/trunk/h/z_zone.h |
---|
0,0 → 1,86 |
// Emacs style mode select -*- C++ -*- |
//----------------------------------------------------------------------------- |
// |
// $Id:$ |
// |
// Copyright (C) 1993-1996 by id Software, Inc. |
// |
// This source is available for distribution and/or modification |
// only under the terms of the DOOM Source Code License as |
// published by id Software. All rights reserved. |
// |
// The source is distributed in the hope that it will be useful, |
// but WITHOUT ANY WARRANTY; without even the implied warranty of |
// FITNESS FOR A PARTICULAR PURPOSE. See the DOOM Source Code License |
// for more details. |
// |
// DESCRIPTION: |
// Zone Memory Allocation, perhaps NeXT ObjectiveC inspired. |
// Remark: this was the only stuff that, according |
// to John Carmack, might have been useful for |
// Quake. |
// |
//--------------------------------------------------------------------- |
#ifndef __Z_ZONE__ |
#define __Z_ZONE__ |
#include <stdio.h> |
// |
// ZONE MEMORY |
// PU - purge tags. |
// Tags < 100 are not overwritten until freed. |
#define PU_STATIC 1 // static entire execution time |
#define PU_SOUND 2 // static while playing |
#define PU_MUSIC 3 // static while playing |
#define PU_DAVE 4 // anything else Dave wants static |
#define PU_LEVEL 50 // static until level exited |
#define PU_LEVSPEC 51 // a special thinker in a level |
// Tags >= 100 are purgable whenever needed. |
#define PU_PURGELEVEL 100 |
#define PU_CACHE 101 |
void Z_Init (void); |
void* Z_Malloc (int size, int tag, void *ptr); |
void Z_Free (void *ptr); |
void Z_FreeTags (int lowtag, int hightag); |
void Z_DumpHeap (int lowtag, int hightag); |
void Z_FileDumpHeap (FILE *f); |
void Z_CheckHeap (void); |
void Z_ChangeTag2 (void *ptr, int tag); |
int Z_FreeMemory (void); |
typedef struct memblock_s |
{ |
int size; // including the header and possibly tiny fragments |
void** user; // NULL if a free block |
int tag; // purgelevel |
int id; // should be ZONEID |
struct memblock_s* next; |
struct memblock_s* prev; |
} memblock_t; |
// |
// This is used to get the local FILE:LINE info from CPP |
// prior to really call the function in question. |
// |
#define Z_ChangeTag(p,t) \ |
{ \ |
if (( (memblock_t *)( (byte *)(p) - sizeof(memblock_t)))->id!=0x1d4a11) \ |
I_Error("Z_CT at "__FILE__":%i",__LINE__); \ |
Z_ChangeTag2(p,t); \ |
}; |
#endif |
//----------------------------------------------------------------------------- |
// |
// $Log:$ |
// |
//----------------------------------------------------------------------------- |