diff --git a/programs/games/doom/trunk/am_map.h b/programs/games/doom/trunk/am_map.h deleted file mode 100644 index ff2e0b47cd..0000000000 --- a/programs/games/doom/trunk/am_map.h +++ /dev/null @@ -1,52 +0,0 @@ -// 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:$ -// -//----------------------------------------------------------------------------- diff --git a/programs/games/doom/trunk/d_englsh.h b/programs/games/doom/trunk/d_englsh.h deleted file mode 100644 index c0b0786893..0000000000 --- a/programs/games/doom/trunk/d_englsh.h +++ /dev/null @@ -1,701 +0,0 @@ -// 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:$ -// -//----------------------------------------------------------------------------- diff --git a/programs/games/doom/trunk/d_event.h b/programs/games/doom/trunk/d_event.h deleted file mode 100644 index feb5783335..0000000000 --- a/programs/games/doom/trunk/d_event.h +++ /dev/null @@ -1,122 +0,0 @@ -// 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:$ -// -//----------------------------------------------------------------------------- diff --git a/programs/games/doom/trunk/d_french.h b/programs/games/doom/trunk/d_french.h deleted file mode 100644 index d4807abe2d..0000000000 --- a/programs/games/doom/trunk/d_french.h +++ /dev/null @@ -1,433 +0,0 @@ -// 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:$ -// -//----------------------------------------------------------------------------- - - diff --git a/programs/games/doom/trunk/d_items.h b/programs/games/doom/trunk/d_items.h deleted file mode 100644 index 01b6411749..0000000000 --- a/programs/games/doom/trunk/d_items.h +++ /dev/null @@ -1,52 +0,0 @@ -// 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:$ -// -//----------------------------------------------------------------------------- diff --git a/programs/games/doom/trunk/d_main.h b/programs/games/doom/trunk/d_main.h deleted file mode 100644 index 7763e13f59..0000000000 --- a/programs/games/doom/trunk/d_main.h +++ /dev/null @@ -1,64 +0,0 @@ -// 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 diff --git a/programs/games/doom/trunk/d_net.h b/programs/games/doom/trunk/d_net.h deleted file mode 100644 index b277472330..0000000000 --- a/programs/games/doom/trunk/d_net.h +++ /dev/null @@ -1,149 +0,0 @@ -// 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:$ -// -//----------------------------------------------------------------------------- - diff --git a/programs/games/doom/trunk/d_player.h b/programs/games/doom/trunk/d_player.h deleted file mode 100644 index 0a4d88788a..0000000000 --- a/programs/games/doom/trunk/d_player.h +++ /dev/null @@ -1,219 +0,0 @@ -// 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:$ -// -//----------------------------------------------------------------------------- diff --git a/programs/games/doom/trunk/d_textur.h b/programs/games/doom/trunk/d_textur.h deleted file mode 100644 index 3624efb2a3..0000000000 --- a/programs/games/doom/trunk/d_textur.h +++ /dev/null @@ -1,51 +0,0 @@ -// 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:$ -// -//----------------------------------------------------------------------------- diff --git a/programs/games/doom/trunk/d_think.h b/programs/games/doom/trunk/d_think.h deleted file mode 100644 index 6a581657a0..0000000000 --- a/programs/games/doom/trunk/d_think.h +++ /dev/null @@ -1,79 +0,0 @@ -// 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:$ -// -//----------------------------------------------------------------------------- diff --git a/programs/games/doom/trunk/d_ticcmd.h b/programs/games/doom/trunk/d_ticcmd.h deleted file mode 100644 index 581798968e..0000000000 --- a/programs/games/doom/trunk/d_ticcmd.h +++ /dev/null @@ -1,53 +0,0 @@ -// 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 -{ - char forwardmove; // *2048 for move - 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:$ -// -//----------------------------------------------------------------------------- diff --git a/programs/games/doom/trunk/doomdata.h b/programs/games/doom/trunk/doomdata.h deleted file mode 100644 index bab5e00604..0000000000 --- a/programs/games/doom/trunk/doomdata.h +++ /dev/null @@ -1,222 +0,0 @@ -// 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:$ -// -//----------------------------------------------------------------------------- - diff --git a/programs/games/doom/trunk/doomdef.h b/programs/games/doom/trunk/doomdef.h deleted file mode 100644 index 858c12aaf5..0000000000 --- a/programs/games/doom/trunk/doomdef.h +++ /dev/null @@ -1,337 +0,0 @@ -// 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 -#include - -// -// 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_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:$ -// -//----------------------------------------------------------------------------- diff --git a/programs/games/doom/trunk/doomstat.h b/programs/games/doom/trunk/doomstat.h deleted file mode 100644 index 65f5225688..0000000000 --- a/programs/games/doom/trunk/doomstat.h +++ /dev/null @@ -1,296 +0,0 @@ -// 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:$ -// -//----------------------------------------------------------------------------- diff --git a/programs/games/doom/trunk/doomtype.h b/programs/games/doom/trunk/doomtype.h deleted file mode 100644 index 27f09f972c..0000000000 --- a/programs/games/doom/trunk/doomtype.h +++ /dev/null @@ -1,65 +0,0 @@ -// 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 -typedef enum {false, true} boolean; -#endif -typedef unsigned char byte; -#endif - - -// Predefined with some OS. -#ifdef LINUX -#include -#else -#define MAXCHAR ((char)0x7f) -#define MAXSHORT ((short)0x7fff) - -// Max pos 32-bit int. -#define MAXINT ((int)0x7fffffff) -#define MAXLONG ((long)0x7fffffff) -#define MINCHAR ((char)0x80) -#define MINSHORT ((short)0x8000) - -// Max negative 32-bit integer. -#define MININT ((int)0x80000000) -#define MINLONG ((long)0x80000000) -#endif - - - - -#endif -//----------------------------------------------------------------------------- -// -// $Log:$ -// -//----------------------------------------------------------------------------- diff --git a/programs/games/doom/trunk/dstrings.h b/programs/games/doom/trunk/dstrings.h deleted file mode 100644 index 291767bc30..0000000000 --- a/programs/games/doom/trunk/dstrings.h +++ /dev/null @@ -1,66 +0,0 @@ -// 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:$ -// -//----------------------------------------------------------------------------- diff --git a/programs/games/doom/trunk/f_finale.h b/programs/games/doom/trunk/f_finale.h deleted file mode 100644 index c4fb561300..0000000000 --- a/programs/games/doom/trunk/f_finale.h +++ /dev/null @@ -1,53 +0,0 @@ -// 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:$ -// -//----------------------------------------------------------------------------- diff --git a/programs/games/doom/trunk/f_wipe.h b/programs/games/doom/trunk/f_wipe.h deleted file mode 100644 index 4a9927da37..0000000000 --- a/programs/games/doom/trunk/f_wipe.h +++ /dev/null @@ -1,71 +0,0 @@ -// 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:$ -// -//----------------------------------------------------------------------------- diff --git a/programs/games/doom/trunk/g_game.h b/programs/games/doom/trunk/g_game.h deleted file mode 100644 index d84916ce8e..0000000000 --- a/programs/games/doom/trunk/g_game.h +++ /dev/null @@ -1,79 +0,0 @@ -// 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:$ -// -//----------------------------------------------------------------------------- diff --git a/programs/games/doom/trunk/hu_lib.h b/programs/games/doom/trunk/hu_lib.h deleted file mode 100644 index 8b809dff2e..0000000000 --- a/programs/games/doom/trunk/hu_lib.h +++ /dev/null @@ -1,196 +0,0 @@ -// 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:$ -// -//----------------------------------------------------------------------------- diff --git a/programs/games/doom/trunk/hu_stuff.h b/programs/games/doom/trunk/hu_stuff.h deleted file mode 100644 index 3705028869..0000000000 --- a/programs/games/doom/trunk/hu_stuff.h +++ /dev/null @@ -1,66 +0,0 @@ -// 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:$ -// -//----------------------------------------------------------------------------- diff --git a/programs/games/doom/trunk/i_net.h b/programs/games/doom/trunk/i_net.h deleted file mode 100644 index 634544759f..0000000000 --- a/programs/games/doom/trunk/i_net.h +++ /dev/null @@ -1,45 +0,0 @@ -// 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:$ -// -//----------------------------------------------------------------------------- diff --git a/programs/games/doom/trunk/i_sound.h b/programs/games/doom/trunk/i_sound.h deleted file mode 100644 index 75996cdd89..0000000000 --- a/programs/games/doom/trunk/i_sound.h +++ /dev/null @@ -1,111 +0,0 @@ -// 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:$ -// -//----------------------------------------------------------------------------- diff --git a/programs/games/doom/trunk/i_system.h b/programs/games/doom/trunk/i_system.h deleted file mode 100644 index c1e1b2b8a0..0000000000 --- a/programs/games/doom/trunk/i_system.h +++ /dev/null @@ -1,99 +0,0 @@ -// 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, ...); - -// fixes bug under Win32 (mingwin32) -int I_strncasecmp(char *str1, char *str2, int len); - -#endif -//----------------------------------------------------------------------------- -// -// $Log:$ -// -//----------------------------------------------------------------------------- diff --git a/programs/games/doom/trunk/i_video.h b/programs/games/doom/trunk/i_video.h deleted file mode 100644 index ba8569b228..0000000000 --- a/programs/games/doom/trunk/i_video.h +++ /dev/null @@ -1,63 +0,0 @@ -// 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:$ -// -//----------------------------------------------------------------------------- diff --git a/programs/games/doom/trunk/info.h b/programs/games/doom/trunk/info.h deleted file mode 100644 index 786a7174ad..0000000000 --- a/programs/games/doom/trunk/info.h +++ /dev/null @@ -1,1340 +0,0 @@ -// 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:$ -// -//----------------------------------------------------------------------------- diff --git a/programs/games/doom/trunk/kolibc/include/kolibc.h b/programs/games/doom/trunk/kolibc/include/kolibc.h index e80cf9e170..af4e8e82c7 100644 --- a/programs/games/doom/trunk/kolibc/include/kolibc.h +++ b/programs/games/doom/trunk/kolibc/include/kolibc.h @@ -15,9 +15,11 @@ typedef unsigned int dword; typedef unsigned int fpos_t; typedef unsigned int size_t; -#define NULL (void*)0 +#//define NULL (void*)0 -typedef enum SEEKPOS {SEEK_SET=0,SEEK_CUR,SEEK_END}; +#define SEEK_SET 0 +#define SEEK_CUR 1 +#define SEEK_END 2 #define FILE_OPEN_READ 0x01 #define FILE_OPEN_WRITE 0x02 @@ -111,6 +113,7 @@ extern short int _is[128]; #define abs(i) (((i)<0)?(-(i)):(i)) +#if 0 extern int atoib(char *s,int b); extern int atoi(char *s); extern char tolower(char c); @@ -139,14 +142,29 @@ extern char toupper(char c); #define isascii(char) ( (unsigned)char < 0x80 ) extern void* memchr(const void*,int,int); +extern extern void* memchr(const void*,int,int); extern int memcmp(const void*,const void*,int); -extern void* memcpy(void*,const void*,int); +extern void* memcpy(void*,const void*,size_t); +void kmemset (void *dst, int val, size_t count); + +extern void* memmove(void*,const void*,int); +extern void* memset(void*,int,int); +int memcmp(const void*,const void*,int); +extern void* memcpy(void*,const void*,size_t); +void kmemset (void *dst, int val, size_t count); + extern void* memmove(void*,const void*,int); extern void* memset(void*,int,int); -extern void *malloc(size_t size); -extern void* realloc(void* oldmem, size_t bytes); -extern void free(void *mem); +#endif + +void debug_out_str(char* str); + +void* _cdecl dlmalloc(size_t size); +void* _cdecl dlrealloc(void* oldmem, size_t bytes); +void _cdecl dlfree(void *mem); + +//double pow_test(x,y); #ifdef __cplusplus @@ -154,4 +172,6 @@ extern "C" } #endif -#endif //kolibc_h \ No newline at end of file +#endif //kolibc_h + + diff --git a/programs/games/doom/trunk/kolibc/include/kolibri.h b/programs/games/doom/trunk/kolibc/include/kolibri.h index c47c076a18..0595e911f2 100644 --- a/programs/games/doom/trunk/kolibc/include/kolibri.h +++ b/programs/games/doom/trunk/kolibc/include/kolibri.h @@ -64,6 +64,8 @@ typedef struct void _stdcall InitHeap(int heap_size); void* _stdcall UserAlloc(int size); +int _stdcall UserFree(void* p); + void _stdcall GetNotify(DWORD *event); //void _stdcall CreateThread(void *fn, char *p_stack); @@ -82,13 +84,16 @@ 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); +int _stdcall get_fileinfo(const char *name,FILEINFO* pinfo); +int _stdcall read_file (const char *name,char*buff,DWORD offset, DWORD count,DWORD *reads); +int _stdcall write_file(const char *name,char*buff,int offset,int count,int *writes); //void exit(); -int _cdecl get_key(void); +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(); diff --git a/programs/games/doom/trunk/kolibc/include/mf.h b/programs/games/doom/trunk/kolibc/include/mf.h index 6a169542ae..33cf4b69e3 100644 --- a/programs/games/doom/trunk/kolibc/include/mf.h +++ b/programs/games/doom/trunk/kolibc/include/mf.h @@ -1,91 +1,100 @@ -#include "kolibc.h" - + + +//#include "kolibc.h" + +#ifdef __cplusplus +extern "C" { +#endif /* __cplusplus */ + +typedef unsigned int dword; +typedef unsigned int size_t; + + #define PINUSE_BIT 1 #define CINUSE_BIT 2 #define INUSE_BITS 3 - - -struct m_seg -{ - char* base; /* base address */ - dword size; /* allocated size */ - struct m_seg* next; /* ptr to next segment */ - dword flags; /* mmap and extern flag */ -}; - -struct m_chunk -{ - dword prev_foot; /* Size of previous chunk (if free). */ - dword head; /* Size and inuse bits. */ - struct m_chunk* fd; /* double links -- used only if free. */ - struct m_chunk* bk; -}; - -typedef struct m_chunk* mchunkptr; - -struct t_chunk -{ - /* The first four fields must be compatible with malloc_chunk */ - dword prev_foot; - dword head; - - struct t_chunk* fd; - struct t_chunk* bk; - - struct t_chunk* child[2]; - - struct t_chunk* parent; - dword index; -}; - -typedef struct t_chunk* tchunkptr; -typedef struct t_chunk* tbinptr; - -struct m_state -{ - dword smallmap; - dword treemap; -// DWORD dvsize; - dword topsize; - char* least_addr; -// mchunkptr dv; - mchunkptr top; - dword magic; - struct m_chunk smallbins[32]; - tbinptr treebins[32]; -}; - -#ifdef __cplusplus -extern "C" { -#endif /* __cplusplus */ - -extern struct m_state ms; -void init_malloc(void* p); -void* mf_alloc(size_t); -void mf_free(void*); - -#ifdef __cplusplus -} -#endif /* __cplusplus */ - - -dword compute_tree_index(size_t s); - -void insert_chunk(mchunkptr P, size_t S); -void insert_large_chunk(tchunkptr X, size_t S); - -void unlink_large_chunk(tchunkptr X); - -//void replace_dv(mchunkptr P, size_t S); -static void* malloc_small(size_t nb); -static void* malloc_large(size_t nb); - -#define leftshift_for_tree_index(i) \ - ((i == 31)? 0 : (31 - (i >> 1) + 8 - 2)) - -#define leftmost_child(t) ((t)->child[0] != 0? (t)->child[0] : (t)->child[1]) -#define chunk2mem(p) (void*)((char*)p + 8) -#define mem2chunk(mem) (mchunkptr)((char*)mem - 8) -#define chunk_plus_offset(p, s) ((mchunkptr)(((char*)(p)) + (s))) - + +struct m_seg +{ + char* base; /* base address */ + dword size; /* allocated size */ + struct m_seg* next; /* ptr to next segment */ + dword flags; /* mmap and extern flag */ +}; + +struct m_chunk +{ + dword prev_foot; /* Size of previous chunk (if free). */ + dword head; /* Size and inuse bits. */ + struct m_chunk* fd; /* double links -- used only if free. */ + struct m_chunk* bk; +}; + +typedef struct m_chunk* mchunkptr; + +struct t_chunk +{ + /* The first four fields must be compatible with malloc_chunk */ + dword prev_foot; + dword head; + + struct t_chunk* fd; + struct t_chunk* bk; + + struct t_chunk* child[2]; + + struct t_chunk* parent; + dword index; +}; + +typedef struct t_chunk* tchunkptr; +typedef struct t_chunk* tbinptr; + +typedef struct m_state +{ + dword smallmap; + dword treemap; +// DWORD dvsize; + dword topsize; + char* least_addr; +// mchunkptr dv; + mchunkptr top; + dword magic; + struct m_chunk smallbins[32]; + tbinptr treebins[32]; +}; + + +void _cdecl mf_init(); +void* _cdecl dlmalloc(size_t); +void* _cdecl dlrealloc(void *,size_t); +void _cdecl dlfree(void*); + + +dword compute_tree_index(size_t s); + +static void insert_chunk(mchunkptr P, size_t S); +static void insert_large_chunk(tchunkptr X, size_t S); + +static void unlink_large_chunk(tchunkptr X); + +//void replace_dv(mchunkptr P, size_t S); +static void* malloc_small(size_t nb); +static void* malloc_large(size_t nb); + +#define leftshift_for_tree_index(i) \ + ((i == 31)? 0 : (31 - (i >> 1) + 8 - 2)) + +#define leftmost_child(t) ((t)->child[0] != 0? (t)->child[0] : (t)->child[1]) +#define chunk2mem(p) (void*)((char*)p + 8) +#define mem2chunk(mem) (mchunkptr)((char*)mem - 8) +#define chunk_plus_offset(p, s) ((mchunkptr)(((char*)(p)) + (s))) + + +#ifdef __cplusplus +} +#endif /* __cplusplus */ + + + diff --git a/programs/games/doom/trunk/kolibc/src/file/fclose.c b/programs/games/doom/trunk/kolibc/src/file/fclose.c index 23c64b85be..f76cda3644 100644 --- a/programs/games/doom/trunk/kolibc/src/file/fclose.c +++ b/programs/games/doom/trunk/kolibc/src/file/fclose.c @@ -6,13 +6,13 @@ int fclose(FILE* file) { int err; - if((file->mode & FILE_OPEN_WRITE)|| - (file->mode & FILE_OPEN_APPEND)|| - (file->mode & FILE_OPEN_PLUS)) - err=write_buffer(file); - - free(file->buffer); - free(file->filename); - free(file); +// if((file->mode & FILE_OPEN_WRITE)|| +// (file->mode & FILE_OPEN_APPEND)|| +// (file->mode & FILE_OPEN_PLUS)) +// err=write_buffer(file); + +// UserFree dlfree(file->buffer); + dlfree(file->filename); + dlfree(file); return err == 0 ? 0:EOF; -} \ No newline at end of file +} diff --git a/programs/games/doom/trunk/kolibc/src/file/fgetc.c b/programs/games/doom/trunk/kolibc/src/file/fgetc.c index fde615c410..4d331fe11f 100644 --- a/programs/games/doom/trunk/kolibc/src/file/fgetc.c +++ b/programs/games/doom/trunk/kolibc/src/file/fgetc.c @@ -9,7 +9,7 @@ int fgetc(FILE* f) return EOF; if(f->remain ==0) - { f->filepos+=4096; + { f->filepos+=8192; if(!fill_buff(f)) return EOF; }; diff --git a/programs/games/doom/trunk/kolibc/src/file/fopen.c b/programs/games/doom/trunk/kolibc/src/file/fopen.c index 09e49d5bd4..1f55203619 100644 --- a/programs/games/doom/trunk/kolibc/src/file/fopen.c +++ b/programs/games/doom/trunk/kolibc/src/file/fopen.c @@ -1,98 +1,126 @@ -#include "kolibc.h" + #include "kolibri.h" +#include +#include +#include "kolibc.h" -extern struct{int argc; char** argv;} __ARGS; +extern char *__appcwd; +extern int __appcwdlen; -char* getfullpath(const char* relpath){ - byte prev_is_slash=0; +char* getfullpath(char* path) +{ + int prev_is_slash=0; int len=0, depth=0, i; char* buff; - buff = (char*)malloc(strlen(relpath)); - strcpy(buff, relpath); -/********** - buff = (char*)malloc(strlen(__ARGS.argv[0]) + strlen(relpath)); + char c; - if(*relpath == '/') buff[0] = '\0'; - else { - len = strrchr(__ARGS.argv[0], '/') - __ARGS.argv[0] + 1; - strncpy(buff, __ARGS.argv[0], len); - prev_is_slash = 1; - buff[len] = 0; - for(i=0; buff[i]; i++) - if(buff[i] == '/' && i < len-1) depth++; - } - for (; *relpath; relpath++){ - switch (*relpath){ - case '/': - prev_is_slash = 1; - buff[len++] = '/'; - break; - case '.': - if(*(relpath+1) == '.' && *(relpath+2) == '/' && prev_is_slash){ - if(!depth) return 0; - buff[len-1] = 0; - len = strrchr(buff, '/') + 1 - buff; - buff[len] = 0; - depth--; - relpath += 2; - } else { - depth++; - buff[len++] = '.'; - } - break; - default: - if(prev_is_slash){ - depth++; - prev_is_slash = 0; - } - buff[len++] = *relpath; - break; - } + len= __appcwdlen; + + buff = (char*)malloc(len+strlen(path)+1); + strncpy(buff, __appcwd, __appcwdlen); + + if(*path == '/') + { buff[0] = '\0'; + len=0; + } + else + { + prev_is_slash = 1; + buff[len] = 0; + for(i=0; buff[i]; i++) + if(buff[i] == '/' && i < len-1) depth++; } + + while(c=*path++) + { + switch (c) + { + + case '.': + if((*path == '.')&& + (*path+1)== '/') + { if(!depth) + { free(buff); + return 0; + }; + buff[len-1] = 0; + len = strrchr(buff, '/') + 1 - buff; + buff[len] = 0; + depth--; + path +=2; + prev_is_slash = 1; + continue; + } + if(*path == '/') + { + path++; + prev_is_slash = 1; + continue; + } + buff[len++] = c; + continue; + + case '/': + prev_is_slash = 1; + buff[len++] = c; + continue; + + default: + prev_is_slash = 0; + buff[len++] = c; + continue; + }; + }; buff[len]= '\0'; -*************/ return buff; - } FILE* fopen(const char* filename, const char *mode) { - FILEINFO fileinfo; - FILE* res; + FILEINFO fileinfo; + FILE* res; char *path; - int err; - int imode; + int err; + int imode; + size_t bytes; - imode=0; - if (*mode=='r') - { - imode=FILE_OPEN_READ; - mode++; - }else if (*mode=='w') - { - imode=FILE_OPEN_WRITE; - mode++; - }else if (*mode=='a') - { - imode=FILE_OPEN_APPEND; - mode++; - }else - return 0; - if (*mode=='t') - { - imode|=FILE_OPEN_TEXT; - mode++; - }else if (*mode=='b') - mode++; - if (*mode=='+') - { - imode|=FILE_OPEN_PLUS; - mode++; - } - if (*mode!=0) - return 0; - - path= getfullpath(filename); + imode=0; + if (*mode=='r') + { + imode=FILE_OPEN_READ; + mode++; + } + else + if (*mode=='w') + { + imode=FILE_OPEN_WRITE; + mode++; + } + else + if (*mode=='a') + { + imode=FILE_OPEN_APPEND; + mode++; + } + else + return 0; + if (*mode=='t') + { + imode|=FILE_OPEN_TEXT; + mode++; + } + else + if (*mode=='b') + mode++; + if (*mode=='+') + { + imode|=FILE_OPEN_PLUS; + mode++; + } + if (*mode!=0) + return 0; + + path= getfullpath(filename); err=get_fileinfo(path, &fileinfo); if(err) { @@ -107,40 +135,46 @@ FILE* fopen(const char* filename, const char *mode) } fileinfo.size=0; }; - - res=(FILE*)malloc(sizeof(FILE)); - if(!res) - { free(path); - return 0; - }; - - res->buffer=malloc(4096); - res->stream=res->buffer; - res->strpos=0; - res->remain=4096; - res->buffersize=4096; + + res=(FILE*)malloc(sizeof(FILE)); + if(!res) + { free(path); + return 0; + }; + + res->buffer=UserAlloc(8192); + res->stream=res->buffer; + res->strpos=0; + res->remain=8192; + res->buffersize=8192; res->filesize=fileinfo.size; res->filename=path; res->mode=imode; - + if (imode & FILE_OPEN_APPEND) { size_t bytes; - res->strpos= res->filesize & 4095; + res->strpos= res->filesize & 8191; if (res->strpos) //not align { - res->filepos=res->filesize & -4096; // align buffer - res->remain=4096-res->strpos; + res->filepos=res->filesize & -8192; // align buffer + res->remain=8192-res->strpos; err=read_file(res->filename,res->buffer, res->filesize,res->remain,&bytes); res->stream=res->buffer+res->strpos; - }; - } + }; + } else { size_t bytes; - err=read_file(res->filename,res->buffer, - 0,4096,&bytes); - res->filepos=0; + err=read_file(res->filename,res->buffer, + 0,8192,&bytes); + res->filepos=0; }; - return res; + return res; +} + +size_t FileSize(FILE *handle) +{ + return handle->filesize; + } diff --git a/programs/games/doom/trunk/kolibc/src/file/fputc.c b/programs/games/doom/trunk/kolibc/src/file/fputc.c index 611637bb13..fbe1ea37c4 100644 --- a/programs/games/doom/trunk/kolibc/src/file/fputc.c +++ b/programs/games/doom/trunk/kolibc/src/file/fputc.c @@ -12,7 +12,7 @@ int fputc(int c,FILE* f) if(!f->remain) { if (!write_buffer(f)) return EOF; - f->filepos+=4096; + f->filepos+=8192; fill_buff(f); }; @@ -30,7 +30,7 @@ int write_buffer(FILE *f) { size_t bytes; int err; - bytes= f->filepos+4096 > f->filesize ? f->strpos:4096; + bytes= f->filepos+8192 > f->filesize ? f->strpos:8192; err=write_file(f->filename,f->buffer,f->filepos,bytes,&bytes); if(err) return 0; diff --git a/programs/games/doom/trunk/kolibc/src/file/fread.c b/programs/games/doom/trunk/kolibc/src/file/fread.c index a9350249db..5820b78a62 100644 --- a/programs/games/doom/trunk/kolibc/src/file/fread.c +++ b/programs/games/doom/trunk/kolibc/src/file/fread.c @@ -1,50 +1,59 @@ -#include "kolibc.h" + #include "kolibri.h" +#include + +#include "kolibc.h" int fill_buff(FILE* f); int fread(void* dst,size_t size,size_t count,FILE* f) { size_t req; size_t cnt; - char *p = dst; - if(!((f->mode & FILE_OPEN_READ)|(f->mode & FILE_OPEN_PLUS))) - return 0; + char *p; +// if(!((f->mode & FILE_OPEN_READ)|(f->mode & FILE_OPEN_PLUS))) +// return 0; req=count*size; + p= (char*)dst; + if (req+f->filepos+f->strpos > f->filesize) - req=f->filesize-f->filepos-f->strpos; - count=0; + req=f->filesize-f->filepos-f->strpos; + count=0; while(req) { if (f->remain) - { cnt= req > f->remain ? f->remain : req; - memcpy(p,f->stream,cnt); - p+=cnt; - f->stream+=cnt; - f->strpos+=cnt; - f->remain-=cnt; - count+=cnt; - req-=cnt; - } - else - { - f->filepos+=4096; - if(!fill_buff(f)) //eof or error - break; - } + { cnt= (req > f->remain) ? f->remain : req; + memcpy(p,f->stream,cnt); + p+=cnt; + f->stream+=cnt; + f->strpos+=cnt; + f->remain-=cnt; + count+=cnt; + req-=cnt; + } + else + { + f->filepos+=8192; + if(!fill_buff(f)) + { printf("error reading file %d=",f->filepos); //eof or error + break; + } + }; }; return count/size; } int fill_buff(FILE* f) -{ int err; - size_t bytes; - +{ int err; + size_t bytes; + err=read_file(f->filename,f->buffer,f->filepos, - 4096,&bytes); - if (err) return 0; - if(!bytes) return 0; - f->stream = f->buffer; - f->remain = 4096; - f->strpos=0; + 8192,&bytes); + if(bytes == -1) + return 0; +// if(!bytes) return 0; + f->stream = f->buffer; + f->remain = 8192; + f->strpos=0; return bytes; -}; \ No newline at end of file +}; + diff --git a/programs/games/doom/trunk/kolibc/src/file/fseek.c b/programs/games/doom/trunk/kolibc/src/file/fseek.c index e33ed9d87b..3d522bff63 100644 --- a/programs/games/doom/trunk/kolibc/src/file/fseek.c +++ b/programs/games/doom/trunk/kolibc/src/file/fseek.c @@ -1,11 +1,15 @@ + +//#include #include "kolibc.h" + int fseek(FILE* file,long offset,int origin) { - if (origin==SEEK_CUR) - offset+=file->filepos; - else if (origin==SEEK_END) - offset+=file->filesize; - else if (origin!=SEEK_SET) - return EOF; - return fsetpos(file,&offset); -} \ No newline at end of file + if (origin==SEEK_CUR) + offset+=file->filepos+file->strpos; + else if (origin==SEEK_END) + offset+=file->filesize; + else if (origin!=SEEK_SET) + return EOF; + + return fsetpos(file,&offset); +} diff --git a/programs/games/doom/trunk/kolibc/src/file/fsetpos.c b/programs/games/doom/trunk/kolibc/src/file/fsetpos.c index bb768b5fbb..067249e677 100644 --- a/programs/games/doom/trunk/kolibc/src/file/fsetpos.c +++ b/programs/games/doom/trunk/kolibc/src/file/fsetpos.c @@ -1,23 +1,23 @@ -#include "kolibc.h" + #include "kolibri.h" +#include "kolibc.h" int fsetpos(FILE* f,const fpos_t * pos) { int err; size_t bytes; - if (*pos>=0) - { - bytes= *pos & -4096; - err=read_file(f->filename,f->buffer,bytes, - 4096,&bytes); - if (err) return EOF; - if(!bytes) return EOF; - f->filepos= *pos & -4096; - f->strpos = *pos & 4095; - f->remain = 4096-f->strpos; - f->stream = f->buffer+f->strpos; - return 0; - } - else - return EOF; -} \ No newline at end of file + bytes = *pos; + + bytes= *pos & -8192; + err=read_file(f->filename,f->buffer,bytes, + 8192,&bytes); + if(bytes == -1) + return EOF; + + f->filepos= *pos & -8192; + f->strpos = *pos & 8191; + f->remain = 8192-f->strpos; + f->stream = f->buffer+f->strpos; + return 0; +} + diff --git a/programs/games/doom/trunk/kolibc/src/file/ftell.c b/programs/games/doom/trunk/kolibc/src/file/ftell.c index 5f0f7af929..ce4aac0152 100644 --- a/programs/games/doom/trunk/kolibc/src/file/ftell.c +++ b/programs/games/doom/trunk/kolibc/src/file/ftell.c @@ -1,5 +1,7 @@ #include "kolibc.h" + long ftell(FILE* file) { - return file->filepos+file->strpos; -} \ No newline at end of file + return file->filepos+file->strpos; +} + diff --git a/programs/games/doom/trunk/kolibc/src/file/fwrite.c b/programs/games/doom/trunk/kolibc/src/file/fwrite.c index a5101a9ca9..011cfd872f 100644 --- a/programs/games/doom/trunk/kolibc/src/file/fwrite.c +++ b/programs/games/doom/trunk/kolibc/src/file/fwrite.c @@ -1,3 +1,5 @@ + +#include #include "kolibc.h" int write_buffer(FILE *f); @@ -9,30 +11,34 @@ int fwrite(const void* src,size_t size,size_t count,FILE* f) size_t cnt; //append mode unsupported - + +/************ if(!((f->mode & FILE_OPEN_WRITE)|(f->mode & FILE_OPEN_PLUS))) return EOF; - + req=count*size; count=0; while(req) { if(f->remain) { cnt= req > f->remain ? f->remain : req; - memcpy(f->stream,src,cnt); - f->stream+=cnt; - f->strpos+=cnt; - f->remain-=cnt; - count+=cnt; - req-=cnt; - } - else - { - if(!write_buffer(f)) - break; - f->filepos+=4096; - fill_buff(f); - }; + memcpy(f->stream,src,cnt); + f->stream+=cnt; + f->strpos+=cnt; + f->remain-=cnt; + count+=cnt; + req-=cnt; + } + else + { +// if(!write_buffer(f)) +// break; + f->filepos+=8192; + fill_buff(f); + }; }; + ***********/ + return count; + return count/size; -}; \ No newline at end of file +}; diff --git a/programs/games/doom/trunk/kolibc/src/file/rewind.c b/programs/games/doom/trunk/kolibc/src/file/rewind.c index 5dc865bae0..107a9bc716 100644 --- a/programs/games/doom/trunk/kolibc/src/file/rewind.c +++ b/programs/games/doom/trunk/kolibc/src/file/rewind.c @@ -1,9 +1,12 @@ -#include "kolibc.h" -int fill_buff(FILE* f); +#include "kolibc.h" void rewind(FILE* file) { - file->filepos=0; - fill_buff(file); -} \ No newline at end of file + file->filepos=0; + file->stream=file->buffer; + file->strpos=0; + file->remain=8192; + + fill_buff(file); +} diff --git a/programs/games/doom/trunk/kolibc/src/mem/malloc.c b/programs/games/doom/trunk/kolibc/src/mem/malloc.c index bfe1769025..e13ca4e6df 100644 --- a/programs/games/doom/trunk/kolibc/src/mem/malloc.c +++ b/programs/games/doom/trunk/kolibc/src/mem/malloc.c @@ -1,598 +1,603 @@ #include "mf.h" -void * memcpy(void * dst, void * src, size_t count); +#include "kolibri.h" + +void * kmemcpy(void * dst, const void * src, size_t count); static struct m_state ms; -void init_malloc(void* p) +void mf_init() { mchunkptr chp; int i; - dword psize= 0x10000; + char *p; - psize-= 40; + dword psize= 0x40000; + p = 0x2600000; //(char*)UserAlloc(psize); ms.top = (mchunkptr)p; ms.topsize = psize; + ms.smallmap=0; + ms.treemap=0; chp = (mchunkptr)p; chp->head=psize|1; for(i=0; i<32; i++) { - mchunkptr p = &ms.smallbins[i]; - p->fd = p; - p->bk = p; + mchunkptr p = &ms.smallbins[i]; + p->fd = p; + p->bk = p; }; } -void *malloc(size_t size) +void *dlmalloc(size_t size) { size_t nb, psize,rsize; dword idx; dword smallbits; - mchunkptr B,F,p,r; + mchunkptr B,F,p,r; void *mem; nb = ((size+7)&~7)+8; - - if (nb < 256) - { -// idx = nb >> 3; -// smallbits= (-1<fd; - F = p->fd; - if (B == F) - { -// ms.smallmap &= ~(1<< idx); - _asm - { - mov eax, [idx] - btr [ms.smallmap], eax - } - } - B->fd = F; - F->bk = B; - - if(rsize<16) - { - p->head = psize|PINUSE_BIT|CINUSE_BIT; - ((mchunkptr)((char*)p + psize))->head |= PINUSE_BIT; - return chunk2mem(p); - }; - p->head = nb|PINUSE_BIT|CINUSE_BIT; - r = chunk_plus_offset(p, nb); - r->head = rsize|PINUSE_BIT; - ((mchunkptr)((char*)r + rsize))->prev_foot = rsize; - { - dword I; - mchunkptr B; - mchunkptr F; - - I = rsize>>3; - ms.smallmap |= 1<< I; - B = &ms.smallbins[I]; - F = B->fd; - B->fd = r; - F->bk = r; - r->fd = F; - r->bk = B; - } - return chunk2mem(p); - } - if (ms.treemap != 0 && (mem = malloc_small(nb)) != 0) - return mem; - } - else - { - if (ms.treemap != 0 && (mem = malloc_large(nb)) != 0) - return mem; - }; - - if (nb < ms.topsize) - { - size_t rsize = ms.topsize -= nb; - mchunkptr p = ms.top; - mchunkptr r = ms.top = chunk_plus_offset(p, nb); - r->head = rsize | PINUSE_BIT; - p->head = nb |PINUSE_BIT|CINUSE_BIT; - return chunk2mem(p); - }; + + if (nb < 256) + { + idx = nb >> 3; +// smallbits= (-1<fd; + F = p->fd; + if (B == F) + { +// ms.smallmap &= ~(1<< idx); + _asm + { + mov eax, [idx] + btr dword ptr [ms], eax + } + } + B->fd = F; + F->bk = B; + + if(rsize<16) + { + p->head = psize|PINUSE_BIT|CINUSE_BIT; + ((mchunkptr)((char*)p + psize))->head |= PINUSE_BIT; + return chunk2mem(p); + }; + p->head = nb|PINUSE_BIT|CINUSE_BIT; + r = chunk_plus_offset(p, nb); + r->head = rsize|PINUSE_BIT; + ((mchunkptr)((char*)r + rsize))->prev_foot = rsize; + { + dword I; + mchunkptr B; + mchunkptr F; + + I = rsize>>3; + ms.smallmap |= 1<< I; + B = &ms.smallbins[I]; + F = B->fd; + B->fd = r; + F->bk = r; + r->fd = F; + r->bk = B; + } + return chunk2mem(p); + } + if (ms.treemap != 0 && (mem = malloc_small(nb)) != 0) + return mem; + } + else + { + if (ms.treemap != 0 && (mem = malloc_large(nb)) != 0) + return mem; + }; + + if (nb < ms.topsize) + { + size_t rsize = ms.topsize -= nb; + mchunkptr p = ms.top; + mchunkptr r = ms.top = chunk_plus_offset(p, nb); + r->head = rsize | PINUSE_BIT; + p->head = nb |PINUSE_BIT|CINUSE_BIT; + return chunk2mem(p); + }; return 0; }; -void free(void *mem) +void dlfree(void *mem) { size_t psize; size_t prevsize; size_t nsize; mchunkptr next; mchunkptr prev; - mchunkptr p = mem2chunk(mem); + mchunkptr p = mem2chunk(mem); if(p->head & CINUSE_BIT) { - psize = p->head & (~3); - next = chunk_plus_offset(p, psize); + psize = p->head & (~3); + next = chunk_plus_offset(p, psize); if(!(p->head & PINUSE_BIT)) { - prevsize = p->prev_foot; - prev=(mchunkptr)(((char*)p) - prevsize); - psize += prevsize; - p = prev; - if (prevsize < 256) - { - dword I; - mchunkptr F = p->fd; - mchunkptr B = p->bk; - I = prevsize>>3; - if (F == B) - { - ms.smallmap &= ~(1<< I); - } - F->bk = B; - B->fd = F; - } - else - unlink_large_chunk((tchunkptr)p); + prevsize = p->prev_foot; + prev=(mchunkptr)(((char*)p) - prevsize); + psize += prevsize; + p = prev; + if (prevsize < 256) + { + dword I; + mchunkptr F = p->fd; + mchunkptr B = p->bk; + I = prevsize>>3; + if (F == B) + { + ms.smallmap &= ~(1<< I); + } + F->bk = B; + B->fd = F; + } + else + unlink_large_chunk((tchunkptr)p); }; if(next->head & PINUSE_BIT) { - if (! (next->head & CINUSE_BIT)) - { - if (next == ms.top) - { size_t tsize = ms.topsize += psize; - ms.top = p; - p->head = tsize | PINUSE_BIT; - return; - } - - nsize = next->head & ~INUSE_BITS; - psize += nsize; - - if (nsize < 256) - { - dword I; - mchunkptr F = next->fd; - mchunkptr B = next->bk; - I = nsize>>3; - if (F == B) - ms.smallmap &= ~(1<< I); - F->bk = B; - B->fd = F; - } - else - unlink_large_chunk((tchunkptr)next); - - p->head = psize|PINUSE_BIT; - ((mchunkptr)((char*)p+psize))->prev_foot = psize; - } - else - { - next->head &= ~PINUSE_BIT; - p->head = psize|PINUSE_BIT; - ((mchunkptr)((char*)p+psize))->prev_foot = psize; - }; - insert_chunk(p,psize); + if (! (next->head & CINUSE_BIT)) + { + if (next == ms.top) + { size_t tsize = ms.topsize += psize; + ms.top = p; + p->head = tsize | PINUSE_BIT; + return; + } + + nsize = next->head & ~INUSE_BITS; + psize += nsize; + + if (nsize < 256) + { + dword I; + mchunkptr F = next->fd; + mchunkptr B = next->bk; + I = nsize>>3; + if (F == B) + ms.smallmap &= ~(1<< I); + F->bk = B; + B->fd = F; + } + else + unlink_large_chunk((tchunkptr)next); + + p->head = psize|PINUSE_BIT; + ((mchunkptr)((char*)p+psize))->prev_foot = psize; + } + else + { + next->head &= ~PINUSE_BIT; + p->head = psize|PINUSE_BIT; + ((mchunkptr)((char*)p+psize))->prev_foot = psize; + }; + insert_chunk(p,psize); }; }; } -static void insert_chunk(mchunkptr P, size_t S) -{ - dword I; - mchunkptr B; - mchunkptr F; - if (S < 256) - { - I = S>>3; - B = &ms.smallbins[I]; - F = B->fd; - ms.smallmap |= 1<< I; - - B->fd = P; - F->bk = P; - P->fd = F; - P->bk = B; - } - else - insert_large_chunk((tchunkptr)P, S); -}; +static void insert_chunk(mchunkptr P, size_t S) +{ + dword I; + mchunkptr B; + mchunkptr F; + if (S < 256) + { + I = S>>3; + B = &ms.smallbins[I]; + F = B->fd; + ms.smallmap |= 1<< I; + + B->fd = P; + F->bk = P; + P->fd = F; + P->bk = B; + } + else + insert_large_chunk((tchunkptr)P, S); +}; /******** -static void insert_small_chunk(mchunkptr p, size_t s) -{ - DWORD I = s>>3; - - mchunkptr B = &ms.smallbins[I]; - mchunkptr F = B->fd; - if (!(ms.smallmap & 1<fd = p; - F->bk = p; - p->fd = F; - p->bk = B; +static void insert_small_chunk(mchunkptr p, size_t s) +{ + DWORD I = s>>3; + + mchunkptr B = &ms.smallbins[I]; + mchunkptr F = B->fd; + if (!(ms.smallmap & 1<fd = p; + F->bk = p; + p->fd = F; + p->bk = B; } *********/ -static dword compute_tree_index(size_t s) -{ dword idx; - - _asm - { mov edx, [s] - shr edx, 8 - bsr eax, edx - lea ecx, [eax+7] - mov edx, [s] - shr edx, cl - and edx, 1 - lea eax, [edx+eax*2] - mov [idx], eax - }; - - return idx; -}; +static dword compute_tree_index(size_t s) +{ dword idx; -static void insert_large_chunk(tchunkptr X, size_t S) -{ - tbinptr* H; - dword I; - I = compute_tree_index(S); - H = &ms.treebins[I]; - X->index = I; - X->child[0] = X->child[1] = 0; - if (!(ms.treemap & 1<parent = (tchunkptr)H; - X->fd = X->bk = X; - } - else - { - tchunkptr T = *H; - size_t K = S << leftshift_for_tree_index(I); - for (;;) - { - if ((T->head & ~INUSE_BITS) != S) - { - tchunkptr* C = &(T->child[(K >> 31) & 1]); - K <<= 1; - if (*C != 0) - T = *C; - else - { - *C = X; - X->parent = T; - X->fd = X->bk = X; - break; - } - } - else - { - tchunkptr F = T->fd; - T->fd = F->bk = X; - X->fd = F; - X->bk = T; - X->parent = 0; - break; - }; - }; - }; -}; + _asm + { mov edx, [s] + shr edx, 8 + bsr eax, edx + lea ecx, [eax+7] + mov edx, [s] + shr edx, cl + and edx, 1 + lea eax, [edx+eax*2] + mov [idx], eax + }; -static void* malloc_small(size_t nb) -{ - tchunkptr t, v; - mchunkptr r; - size_t rsize; - dword i; - - _asm - { bsf ecx,[ms.treemap] - mov [i], ecx - } - v = t = ms.treebins[i]; - rsize = (t->head & ~INUSE_BITS) - nb; - - while ((t = leftmost_child(t)) != 0) - { - size_t trem = (t->head & ~INUSE_BITS) - nb; - if (trem < rsize) - { rsize = trem; - v = t; - } - } - - r = chunk_plus_offset((mchunkptr)v, nb); - unlink_large_chunk(v); - if (rsize < 16) - { - v->head = (rsize + nb)|PINUSE_BIT|CINUSE_BIT; - ((mchunkptr)((char*)v+rsize + nb))->head |= PINUSE_BIT; - } - else - { - v->head = nb|PINUSE_BIT|CINUSE_BIT; - r->head = rsize|PINUSE_BIT; - ((mchunkptr)((char*)r+rsize))->prev_foot = rsize; - insert_chunk(r, rsize); -// replace_dv(r, rsize); - } - return chunk2mem(v); -} - -/******** -static void replace_dv(mchunkptr P, size_t S) -{ - size_t DVS = ms.dvsize; - if (DVS != 0) - { - mchunkptr DV = ms.dv; - insert_small_chunk(DV, DVS); - } - ms.dvsize = S; - ms.dv = P; -} -***********/ - -void static unlink_large_chunk(tchunkptr X) -{ - tchunkptr XP = X->parent; - tchunkptr R; - if (X->bk != X) - { - tchunkptr F = X->fd; - R = X->bk; - F->bk = R; - R->fd = F; - } - else - { - tchunkptr* RP; - if (((R = *(RP = &(X->child[1]))) != 0) || - ((R = *(RP = &(X->child[0]))) != 0)) - { - tchunkptr* CP; - while ((*(CP = &(R->child[1])) != 0) || - (*(CP = &(R->child[0])) != 0)) - { - R = *(RP = CP); - } - *RP = 0; - } - } - if (XP != 0) - { - tbinptr* H = &ms.treebins[X->index]; - if (X == *H) - { - if ((*H = R) == 0) - ms.treemap &= ~(1<index); - } - else - { - if (XP->child[0] == X) - XP->child[0] = R; - else - XP->child[1] = R; - }; - if (R != 0) - { - tchunkptr C0, C1; - R->parent = XP; - if ((C0 = X->child[0]) != 0) - { - R->child[0] = C0; - C0->parent = R; - } - if ((C1 = X->child[1]) != 0) - { - R->child[1] = C1; - C1->parent = R; - } - } - } -} - -static void* malloc_large(size_t nb) -{ - tchunkptr v = 0; - size_t rsize = -nb; /* Unsigned negation */ - tchunkptr t; - dword idx; - idx = compute_tree_index(nb); - - if ((t = ms.treebins[idx]) != 0) - { - /* Traverse tree for this bin looking for node with size == nb */ - size_t sizebits = nb << leftshift_for_tree_index(idx); - tchunkptr rst = 0; /* The deepest untaken right subtree */ - for (;;) - { - tchunkptr rt; - size_t trem = (t->head & ~INUSE_BITS) - nb; - - if (trem < rsize) - { - v = t; - if ((rsize = trem) == 0) - break; - } - rt = t->child[1]; - t = t->child[(sizebits >> 31) & 1]; - if (rt != 0 && rt != t) - rst = rt; - if (t == 0) - { - t = rst; /* set t to least subtree holding sizes > nb */ - break; - } - sizebits <<= 1; - } - } - - if (t == 0 && v == 0) - { /* set t to root of next non-empty treebin */ - dword leftbits = (-1<head & ~INUSE_BITS) - nb; - if (trem < rsize) - { - rsize = trem; - v = t; - } - t = leftmost_child(t); - } - - /* If dv is a better fit, return 0 so malloc will use it */ - if (v != 0) - { - mchunkptr r = chunk_plus_offset((mchunkptr)v, nb); - unlink_large_chunk(v); - if (rsize < 256) - { - v->head = (rsize + nb)|PINUSE_BIT|CINUSE_BIT; - ((mchunkptr)((char*)v+rsize + nb))->head |= PINUSE_BIT; - } - else - { - v->head = nb|PINUSE_BIT|CINUSE_BIT; - r->head = rsize|PINUSE_BIT; - ((mchunkptr)((char*)r+rsize))->prev_foot = rsize; - insert_large_chunk((tchunkptr)r, rsize); - } - return chunk2mem(v); - } - return 0; -} + return idx; +}; -static void* internal_realloc(struct m_state *m, void* oldmem, - size_t bytes); - -void* realloc(void* oldmem, size_t bytes) -{ - if (oldmem == 0) - return malloc(bytes); - else - { - struct m_state *m = &ms; - return internal_realloc(m, oldmem, bytes); - } -}; - -#define check_inuse_chunk(M,P) - -#define MAX_REQUEST 256*1024*1024 -#define set_inuse(M,p,s)\ - ((p)->head = (((p)->head & PINUSE_BIT)|s|CINUSE_BIT),\ - ((mchunkptr)(((char*)(p)) + (s)))->head |= PINUSE_BIT) - -static void* internal_realloc(struct m_state *m, void* oldmem, size_t bytes) -{ mchunkptr oldp; - size_t oldsize; - mchunkptr next; - mchunkptr newp; - void* extra; - - if (bytes >= MAX_REQUEST) - return 0; - - oldp = mem2chunk(oldmem); - oldsize = oldp->head & ~INUSE_BITS; - next = chunk_plus_offset(oldp, oldsize); - newp = 0; - extra = 0; - - /* Try to either shrink or extend into top. Else malloc-copy-free */ - - if( (oldp->head & CINUSE_BIT) && - ((char*)oldp < (char*)next)&& - (next->head & PINUSE_BIT)) - { - size_t nb = ((bytes+7)&~7)+8; - if (oldsize >= nb) - { /* already big enough */ - size_t rsize = oldsize - nb; - newp = oldp; - if (rsize >= 16) - { - mchunkptr remainder = chunk_plus_offset(newp, nb); - set_inuse(m, newp, nb); - set_inuse(m, remainder, rsize); - extra = chunk2mem(remainder); - } - } - else - if (next == m->top && oldsize + m->topsize > nb) - { - /* Expand into top */ - size_t newsize = oldsize + m->topsize; - size_t newtopsize = newsize - nb; - mchunkptr newtop = chunk_plus_offset(oldp, nb); - set_inuse(m, oldp, nb); - newtop->head = newtopsize |PINUSE_BIT; - m->top = newtop; - m->topsize = newtopsize; - newp = oldp; - } - } - else - { - return 0; - } - - - if (newp != 0) - { - if (extra != 0) - free(extra); - - check_inuse_chunk(m, newp); - return chunk2mem(newp); - } - else - { - void* newmem = malloc(bytes); - if (newmem != 0) - { - size_t oc = oldsize - 4; - memcpy(newmem, oldmem, (oc < bytes)? oc : bytes); - free(oldmem); - } - return newmem; - } - return 0; -} - \ No newline at end of file +static void insert_large_chunk(tchunkptr X, size_t S) +{ + tbinptr* H; + dword I; + I = compute_tree_index(S); + H = &ms.treebins[I]; + X->index = I; + X->child[0] = X->child[1] = 0; + if (!(ms.treemap & 1<parent = (tchunkptr)H; + X->fd = X->bk = X; + } + else + { + tchunkptr T = *H; + size_t K = S << leftshift_for_tree_index(I); + for (;;) + { + if ((T->head & ~INUSE_BITS) != S) + { + tchunkptr* C = &(T->child[(K >> 31) & 1]); + K <<= 1; + if (*C != 0) + T = *C; + else + { + *C = X; + X->parent = T; + X->fd = X->bk = X; + break; + } + } + else + { + tchunkptr F = T->fd; + T->fd = F->bk = X; + X->fd = F; + X->bk = T; + X->parent = 0; + break; + }; + }; + }; +}; + +static void* malloc_small(size_t nb) +{ + tchunkptr t, v; + mchunkptr r; + size_t rsize; + dword i; + + _asm + { bsf ecx,dword ptr [ms+4] + mov [i], ecx + } + v = t = ms.treebins[i]; + rsize = (t->head & ~INUSE_BITS) - nb; + + while ((t = leftmost_child(t)) != 0) + { + size_t trem = (t->head & ~INUSE_BITS) - nb; + if (trem < rsize) + { rsize = trem; + v = t; + } + } + + r = chunk_plus_offset((mchunkptr)v, nb); + unlink_large_chunk(v); + if (rsize < 16) + { + v->head = (rsize + nb)|PINUSE_BIT|CINUSE_BIT; + ((mchunkptr)((char*)v+rsize + nb))->head |= PINUSE_BIT; + } + else + { + v->head = nb|PINUSE_BIT|CINUSE_BIT; + r->head = rsize|PINUSE_BIT; + ((mchunkptr)((char*)r+rsize))->prev_foot = rsize; + insert_chunk(r, rsize); +// replace_dv(r, rsize); + } + return chunk2mem(v); +} + +/******** +static void replace_dv(mchunkptr P, size_t S) +{ + size_t DVS = ms.dvsize; + if (DVS != 0) + { + mchunkptr DV = ms.dv; + insert_small_chunk(DV, DVS); + } + ms.dvsize = S; + ms.dv = P; +} +***********/ + +void static unlink_large_chunk(tchunkptr X) +{ + tchunkptr XP = X->parent; + tchunkptr R; + if (X->bk != X) + { + tchunkptr F = X->fd; + R = X->bk; + F->bk = R; + R->fd = F; + } + else + { + tchunkptr* RP; + if (((R = *(RP = &(X->child[1]))) != 0) || + ((R = *(RP = &(X->child[0]))) != 0)) + { + tchunkptr* CP; + while ((*(CP = &(R->child[1])) != 0) || + (*(CP = &(R->child[0])) != 0)) + { + R = *(RP = CP); + } + *RP = 0; + } + } + if (XP != 0) + { + tbinptr* H = &ms.treebins[X->index]; + if (X == *H) + { + if ((*H = R) == 0) + ms.treemap &= ~(1<index); + } + else + { + if (XP->child[0] == X) + XP->child[0] = R; + else + XP->child[1] = R; + }; + if (R != 0) + { + tchunkptr C0, C1; + R->parent = XP; + if ((C0 = X->child[0]) != 0) + { + R->child[0] = C0; + C0->parent = R; + } + if ((C1 = X->child[1]) != 0) + { + R->child[1] = C1; + C1->parent = R; + } + } + } +} + +static void* malloc_large(size_t nb) +{ + tchunkptr v = 0; + size_t rsize = -nb; /* Unsigned negation */ + tchunkptr t; + dword idx; + idx = compute_tree_index(nb); + + if ((t = ms.treebins[idx]) != 0) + { + /* Traverse tree for this bin looking for node with size == nb */ + size_t sizebits = nb << leftshift_for_tree_index(idx); + tchunkptr rst = 0; /* The deepest untaken right subtree */ + for (;;) + { + tchunkptr rt; + size_t trem = (t->head & ~INUSE_BITS) - nb; + + if (trem < rsize) + { + v = t; + if ((rsize = trem) == 0) + break; + } + rt = t->child[1]; + t = t->child[(sizebits >> 31) & 1]; + if (rt != 0 && rt != t) + rst = rt; + if (t == 0) + { + t = rst; /* set t to least subtree holding sizes > nb */ + break; + } + sizebits <<= 1; + } + } + + if (t == 0 && v == 0) + { /* set t to root of next non-empty treebin */ + dword leftbits = (-1<head & ~INUSE_BITS) - nb; + if (trem < rsize) + { + rsize = trem; + v = t; + } + t = leftmost_child(t); + } + + /* If dv is a better fit, return 0 so malloc will use it */ + if (v != 0) + { + mchunkptr r = chunk_plus_offset((mchunkptr)v, nb); + unlink_large_chunk(v); + if (rsize < 16) + { + v->head = (rsize + nb)|PINUSE_BIT|CINUSE_BIT; + ((mchunkptr)((char*)v+rsize + nb))->head |= PINUSE_BIT; + } + else + { + v->head = nb|PINUSE_BIT|CINUSE_BIT; + r->head = rsize|PINUSE_BIT; + ((mchunkptr)((char*)r+rsize))->prev_foot = rsize; + insert_chunk((mchunkptr)r, rsize); + } + return chunk2mem(v); + } + return 0; +} + +static void* internal_realloc(struct m_state *m, void* oldmem, + size_t bytes); + +void* dlrealloc(void* oldmem, size_t bytes) +{ + if (oldmem == 0) + return dlmalloc(bytes); + else + { + struct m_state *m = &ms; + return internal_realloc(m, oldmem, bytes); + } +}; + +#define check_inuse_chunk(M,P) + +#define MAX_REQUEST 256*1024*1024 +#define set_inuse(M,p,s)\ + ((p)->head = (((p)->head & PINUSE_BIT)|s|CINUSE_BIT),\ + ((mchunkptr)(((char*)(p)) + (s)))->head |= PINUSE_BIT) + +static void* internal_realloc(struct m_state *m, void* oldmem, size_t bytes) +{ mchunkptr oldp; + size_t oldsize; + mchunkptr next; + mchunkptr newp; + void* extra; + + if (bytes >= MAX_REQUEST) + return 0; + + oldp = mem2chunk(oldmem); + oldsize = oldp->head & ~INUSE_BITS; + next = chunk_plus_offset(oldp, oldsize); + newp = 0; + extra = 0; + + /* Try to either shrink or extend into top. Else malloc-copy-free */ + + if( (oldp->head & CINUSE_BIT) && + ((char*)oldp < (char*)next)&& + (next->head & PINUSE_BIT)) + { + size_t nb = ((bytes+7)&~7)+8; + if (oldsize >= nb) + { /* already big enough */ + size_t rsize = oldsize - nb; + newp = oldp; + if (rsize >= 16) + { + mchunkptr remainder = chunk_plus_offset(newp, nb); + set_inuse(m, newp, nb); + set_inuse(m, remainder, rsize); + extra = chunk2mem(remainder); + } + } + else + if (next == m->top && oldsize + m->topsize > nb) + { + /* Expand into top */ + size_t newsize = oldsize + m->topsize; + size_t newtopsize = newsize - nb; + mchunkptr newtop = chunk_plus_offset(oldp, nb); + set_inuse(m, oldp, nb); + newtop->head = newtopsize |PINUSE_BIT; + m->top = newtop; + m->topsize = newtopsize; + newp = oldp; + } + } + else + { + return 0; + } + + + if (newp != 0) + { + if (extra != 0) + dlfree(extra); + + check_inuse_chunk(m, newp); + return chunk2mem(newp); + } + else + { + void* newmem = dlmalloc(bytes); + if (newmem != 0) + { + size_t oc = oldsize - 4; + memcpy(newmem, oldmem, (oc < bytes)? oc : bytes); + dlfree(oldmem); + } + return newmem; + } + return 0; +} + diff --git a/programs/games/doom/trunk/kolibc/src/string/doprnt.c b/programs/games/doom/trunk/kolibc/src/string/doprnt.c index 80afd8ab40..84a1edda66 100644 --- a/programs/games/doom/trunk/kolibc/src/string/doprnt.c +++ b/programs/games/doom/trunk/kolibc/src/string/doprnt.c @@ -72,6 +72,7 @@ static char *roundl(long double fract, int *expv, char *start, char *end, static char *exponentl(char *p, int expv, unsigned char fmtch); static char NULL_REP[] = "(null)"; +static char buf[BUF]; /* space for %c, %[diouxX], %[eEfgG] */ int _doprnt(char *dest, size_t maxlen, const char *fmt0, va_list argp) { @@ -95,11 +96,10 @@ int _doprnt(char *dest, size_t maxlen, const char *fmt0, va_list argp) char sign; /* sign prefix (' ', '+', '-', or \0) */ char softsign; /* temporary negative sign for floats */ const char *digs; /* digits for [diouxX] conversion */ - char buf[BUF]; /* space for %c, %[diouxX], %[eEfgG] */ char *p; + digs = "0123456789abcdef"; fmt = fmt0; - digs = "0123456789abcdef"; p = dest; for (cnt = 0;; ++fmt) @@ -752,5 +752,18 @@ static int isspeciall(long double d, char *bufp) return(3); } +static unsigned int strlen(const char* string) +{ + int i; + i=0; + while (*string++) i++; + return i; +} +static char* strcpy(char* dst,const char* src) +{ + char* res= dst; + while(*dst++ = *src++) ; + return res; +} diff --git a/programs/games/doom/trunk/kolibc/src/string/memchr.c b/programs/games/doom/trunk/kolibc/src/string/memchr.c index 45e79b9c69..ad6e6afe4d 100644 --- a/programs/games/doom/trunk/kolibc/src/string/memchr.c +++ b/programs/games/doom/trunk/kolibc/src/string/memchr.c @@ -1,5 +1,6 @@ #include "string.h" +#if 0 void* memchr(const void* buf,int c,int count) { int i; @@ -11,3 +12,48 @@ void* memchr(const void* buf,int c,int count) return (void*)0; } + +void *memset (void *dst, int val, size_t count) +{ void *start = dst; + + while (count--) + { + *(char *)dst = (char)val; + dst = (char *)dst + 1; + } + return start; +} + + +int strcmp (const char * src, const char * dst) +{ + int ret = 0 ; + + while( ! (ret = *(unsigned char *)src - *(unsigned char *)dst) && *dst) + ++src, ++dst; + + if ( ret < 0 ) + ret = -1 ; + else if ( ret > 0 ) + ret = 1 ; + return( ret ); +} + +char *strcat (char * dst, const char * src) +{ + char * cp = dst; + + while( *cp ) + cp++; + + while( *cp++ = *src++ ) ; + + return dst ; +} + +int abs (int number ) +{ + return( number>=0 ? number : -number ); +} + +#endif \ No newline at end of file diff --git a/programs/games/doom/trunk/kolibc/src/string/strlen.c b/programs/games/doom/trunk/kolibc/src/string/strlen.c index 08914d3e5f..8e8b09df1e 100644 --- a/programs/games/doom/trunk/kolibc/src/string/strlen.c +++ b/programs/games/doom/trunk/kolibc/src/string/strlen.c @@ -1,4 +1,4 @@ -int strlen(const char* string) +unsigned int strlen(const char* string) { int i; i=0; diff --git a/programs/games/doom/trunk/kolibc/src/string/strupr.c b/programs/games/doom/trunk/kolibc/src/string/strupr.c index 95fab2a6ab..f10cfdb177 100644 --- a/programs/games/doom/trunk/kolibc/src/string/strupr.c +++ b/programs/games/doom/trunk/kolibc/src/string/strupr.c @@ -1,5 +1,4 @@ -#include "ctype.h" -#include "string.h" +#include "kolibc.h" char * strupr(char *_s) { diff --git a/programs/games/doom/trunk/m_argv.h b/programs/games/doom/trunk/m_argv.h deleted file mode 100644 index b1bb1047b9..0000000000 --- a/programs/games/doom/trunk/m_argv.h +++ /dev/null @@ -1,42 +0,0 @@ -// 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:$ -// -//----------------------------------------------------------------------------- diff --git a/programs/games/doom/trunk/m_bbox.h b/programs/games/doom/trunk/m_bbox.h deleted file mode 100644 index fbd4622e5d..0000000000 --- a/programs/games/doom/trunk/m_bbox.h +++ /dev/null @@ -1,55 +0,0 @@ -// 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:$ -// -//----------------------------------------------------------------------------- diff --git a/programs/games/doom/trunk/m_cheat.h b/programs/games/doom/trunk/m_cheat.h deleted file mode 100644 index 36463689e6..0000000000 --- a/programs/games/doom/trunk/m_cheat.h +++ /dev/null @@ -1,58 +0,0 @@ -// 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:$ -// -//----------------------------------------------------------------------------- diff --git a/programs/games/doom/trunk/m_fixed.h b/programs/games/doom/trunk/m_fixed.h deleted file mode 100644 index 7cd7c66631..0000000000 --- a/programs/games/doom/trunk/m_fixed.h +++ /dev/null @@ -1,51 +0,0 @@ -// 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< -#if B_HOST_IS_BENDIAN -#define __BIG_ENDIAN__ -#endif -#endif -#ifdef __BIG_ENDIAN__ -#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:$ -// -//----------------------------------------------------------------------------- diff --git a/programs/games/doom/trunk/p_inter.h b/programs/games/doom/trunk/p_inter.h deleted file mode 100644 index 1b1c516097..0000000000 --- a/programs/games/doom/trunk/p_inter.h +++ /dev/null @@ -1,41 +0,0 @@ -// 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:$ -// -//----------------------------------------------------------------------------- diff --git a/programs/games/doom/trunk/p_local.h b/programs/games/doom/trunk/p_local.h deleted file mode 100644 index c3e181b367..0000000000 --- a/programs/games/doom/trunk/p_local.h +++ /dev/null @@ -1,289 +0,0 @@ -// 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:$ -// -//----------------------------------------------------------------------------- - - diff --git a/programs/games/doom/trunk/p_mobj.h b/programs/games/doom/trunk/p_mobj.h deleted file mode 100644 index 75d368a71d..0000000000 --- a/programs/games/doom/trunk/p_mobj.h +++ /dev/null @@ -1,295 +0,0 @@ -// 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:$ -// -//----------------------------------------------------------------------------- diff --git a/programs/games/doom/trunk/p_pspr.h b/programs/games/doom/trunk/p_pspr.h deleted file mode 100644 index b76b6cca80..0000000000 --- a/programs/games/doom/trunk/p_pspr.h +++ /dev/null @@ -1,82 +0,0 @@ -// 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:$ -// -//----------------------------------------------------------------------------- diff --git a/programs/games/doom/trunk/p_saveg.h b/programs/games/doom/trunk/p_saveg.h deleted file mode 100644 index 4caf6edadf..0000000000 --- a/programs/games/doom/trunk/p_saveg.h +++ /dev/null @@ -1,51 +0,0 @@ -// 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:$ -// -//----------------------------------------------------------------------------- diff --git a/programs/games/doom/trunk/p_setup.h b/programs/games/doom/trunk/p_setup.h deleted file mode 100644 index 92b7f36b7d..0000000000 --- a/programs/games/doom/trunk/p_setup.h +++ /dev/null @@ -1,48 +0,0 @@ -// 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:$ -// -//----------------------------------------------------------------------------- diff --git a/programs/games/doom/trunk/p_spec.h b/programs/games/doom/trunk/p_spec.h deleted file mode 100644 index 39155bf36d..0000000000 --- a/programs/games/doom/trunk/p_spec.h +++ /dev/null @@ -1,645 +0,0 @@ -// 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:$ -// -//----------------------------------------------------------------------------- diff --git a/programs/games/doom/trunk/p_tick.h b/programs/games/doom/trunk/p_tick.h deleted file mode 100644 index 0841998c30..0000000000 --- a/programs/games/doom/trunk/p_tick.h +++ /dev/null @@ -1,44 +0,0 @@ -// 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:$ -// -//----------------------------------------------------------------------------- diff --git a/programs/games/doom/trunk/r_bsp.h b/programs/games/doom/trunk/r_bsp.h deleted file mode 100644 index 743adb9563..0000000000 --- a/programs/games/doom/trunk/r_bsp.h +++ /dev/null @@ -1,72 +0,0 @@ -// 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:$ -// -//----------------------------------------------------------------------------- diff --git a/programs/games/doom/trunk/r_data.h b/programs/games/doom/trunk/r_data.h deleted file mode 100644 index 7f5a23dfab..0000000000 --- a/programs/games/doom/trunk/r_data.h +++ /dev/null @@ -1,62 +0,0 @@ -// 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:$ -// -//----------------------------------------------------------------------------- diff --git a/programs/games/doom/trunk/r_defs.h b/programs/games/doom/trunk/r_defs.h deleted file mode 100644 index 6c842a5194..0000000000 --- a/programs/games/doom/trunk/r_defs.h +++ /dev/null @@ -1,490 +0,0 @@ -// 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 floorpic; - short ceilingpic; - short lightlevel; - short special; - short 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. - boolean 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:$ -// -//----------------------------------------------------------------------------- diff --git a/programs/games/doom/trunk/r_draw.h b/programs/games/doom/trunk/r_draw.h deleted file mode 100644 index 534fffd944..0000000000 --- a/programs/games/doom/trunk/r_draw.h +++ /dev/null @@ -1,115 +0,0 @@ -// 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:$ -// -//----------------------------------------------------------------------------- diff --git a/programs/games/doom/trunk/r_local.h b/programs/games/doom/trunk/r_local.h deleted file mode 100644 index af23f2a038..0000000000 --- a/programs/games/doom/trunk/r_local.h +++ /dev/null @@ -1,53 +0,0 @@ -// 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:$ -// -//----------------------------------------------------------------------------- diff --git a/programs/games/doom/trunk/r_main.h b/programs/games/doom/trunk/r_main.h deleted file mode 100644 index dff69d8afb..0000000000 --- a/programs/games/doom/trunk/r_main.h +++ /dev/null @@ -1,172 +0,0 @@ -// 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:$ -// -//----------------------------------------------------------------------------- diff --git a/programs/games/doom/trunk/r_plane.h b/programs/games/doom/trunk/r_plane.h deleted file mode 100644 index d266233613..0000000000 --- a/programs/games/doom/trunk/r_plane.h +++ /dev/null @@ -1,87 +0,0 @@ -// 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:$ -// -//----------------------------------------------------------------------------- diff --git a/programs/games/doom/trunk/r_segs.h b/programs/games/doom/trunk/r_segs.h deleted file mode 100644 index 1c37650000..0000000000 --- a/programs/games/doom/trunk/r_segs.h +++ /dev/null @@ -1,44 +0,0 @@ -// 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:$ -// -//----------------------------------------------------------------------------- diff --git a/programs/games/doom/trunk/r_sky.h b/programs/games/doom/trunk/r_sky.h deleted file mode 100644 index 663f007bbe..0000000000 --- a/programs/games/doom/trunk/r_sky.h +++ /dev/null @@ -1,48 +0,0 @@ -// 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:$ -// -//----------------------------------------------------------------------------- diff --git a/programs/games/doom/trunk/r_state.h b/programs/games/doom/trunk/r_state.h deleted file mode 100644 index 1fb6bf9df4..0000000000 --- a/programs/games/doom/trunk/r_state.h +++ /dev/null @@ -1,138 +0,0 @@ -// 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:$ -// -//----------------------------------------------------------------------------- diff --git a/programs/games/doom/trunk/r_things.h b/programs/games/doom/trunk/r_things.h deleted file mode 100644 index 299361d61a..0000000000 --- a/programs/games/doom/trunk/r_things.h +++ /dev/null @@ -1,76 +0,0 @@ -// 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:$ -// -//----------------------------------------------------------------------------- diff --git a/programs/games/doom/trunk/s_sound.h b/programs/games/doom/trunk/s_sound.h deleted file mode 100644 index ff95bccb6c..0000000000 --- a/programs/games/doom/trunk/s_sound.h +++ /dev/null @@ -1,109 +0,0 @@ -// 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 -// using 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 -void S_StopSound(void* origin); - - -// Start music using from sounds.h -void S_StartMusic(int music_id); - -// Start music using 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:$ -// -//----------------------------------------------------------------------------- diff --git a/programs/games/doom/trunk/sounds.h b/programs/games/doom/trunk/sounds.h deleted file mode 100644 index 02ceedf852..0000000000 --- a/programs/games/doom/trunk/sounds.h +++ /dev/null @@ -1,297 +0,0 @@ -// 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:$ -// -//----------------------------------------------------------------------------- - diff --git a/programs/games/doom/trunk/st_lib.h b/programs/games/doom/trunk/st_lib.h deleted file mode 100644 index de06977400..0000000000 --- a/programs/games/doom/trunk/st_lib.h +++ /dev/null @@ -1,226 +0,0 @@ -// 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:$ -// -//----------------------------------------------------------------------------- diff --git a/programs/games/doom/trunk/st_stuff.h b/programs/games/doom/trunk/st_stuff.h deleted file mode 100644 index c68a10fe30..0000000000 --- a/programs/games/doom/trunk/st_stuff.h +++ /dev/null @@ -1,86 +0,0 @@ -// 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:$ -// -//----------------------------------------------------------------------------- diff --git a/programs/games/doom/trunk/tables.h b/programs/games/doom/trunk/tables.h deleted file mode 100644 index 125bd6e9e1..0000000000 --- a/programs/games/doom/trunk/tables.h +++ /dev/null @@ -1,98 +0,0 @@ -// 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__ - - - -#ifndef PI -#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:$ -// -//----------------------------------------------------------------------------- diff --git a/programs/games/doom/trunk/v_video.h b/programs/games/doom/trunk/v_video.h deleted file mode 100644 index cc2aca56d7..0000000000 --- a/programs/games/doom/trunk/v_video.h +++ /dev/null @@ -1,119 +0,0 @@ -// 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:$ -// -//----------------------------------------------------------------------------- diff --git a/programs/games/doom/trunk/w_wad.h b/programs/games/doom/trunk/w_wad.h deleted file mode 100644 index db1faaa6a1..0000000000 --- a/programs/games/doom/trunk/w_wad.h +++ /dev/null @@ -1,89 +0,0 @@ -// 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:$ -// -//----------------------------------------------------------------------------- diff --git a/programs/games/doom/trunk/wi_stuff.h b/programs/games/doom/trunk/wi_stuff.h deleted file mode 100644 index db9d5370cc..0000000000 --- a/programs/games/doom/trunk/wi_stuff.h +++ /dev/null @@ -1,54 +0,0 @@ -// 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:$ -// -//----------------------------------------------------------------------------- diff --git a/programs/games/doom/trunk/z_zone.h b/programs/games/doom/trunk/z_zone.h deleted file mode 100644 index cf153d0e4e..0000000000 --- a/programs/games/doom/trunk/z_zone.h +++ /dev/null @@ -1,86 +0,0 @@ -// 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 - -// -// 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:$ -// -//-----------------------------------------------------------------------------