Initial commit

This commit is contained in:
Twinaphex 2012-05-12 22:26:23 +02:00
parent f3fd38ac0f
commit da2dfa749d
346 changed files with 82740 additions and 0 deletions

163
AUTHORS Normal file
View File

@ -0,0 +1,163 @@
This file is now the amalgamated list of authors, contributors and credits
for PrBoom. Hopefully by keeping these all in one place, they will remain
more accurate.
Doom was originally written by id software; when playing with any id main
wad file, you can see their list of credits, which includes the list of
programmers. After some years, they released the source code, to allow
others to work on improving the game.
One of the first projects was DosDoom, by Chi Hoang. This was a quick port
of the released source code, which was for Linux, to DOS. This was then
picked up by TeamTNT (http://www.teamtnt.com/), who produced Boom, a greatly
debugged and extended version of Doom. The Boom programmers were Lee
Killough, Jim Flynn, Rand Phares, Ty Halderman.
Several projects started working from the Boom source code. One was PrBoom,
made by Florian Schulze, that ported the code to Windows, added suport for
higher resolutions and later OpenGL. Another was Marine's Best Friend
(known as MBF) by Lee Killough, which fixed a lot of Boom bugs and added
many new game features. Finally, there was LxDoom, a port of Boom to Linux
by Colin Phipps.
In October 1999, id Software re-released the Doom source code under the
GNU General Public License. TeamTNT have also changed to the new license,
and the other sources mentioned above have all allowed their code to be
GPLed. So PrBoom is covered by the GPL.
In May 2000, LxDoom, PrBoom, and a derived port called LSDLDoom, merged into
one. The current authors of PrBoom are:
Florian Schulze <florian.schulze@gmx.net>
Colin Phipps <cph@moria.org.uk>
Neil Stevens <neil@hakubi.us> - Mac OS X porting
Andrey Budko <andrey.budko@gmail.com>
Rob Young (RjY) <rjy@users.sourceforge.net>
Our thanks go to all the authors of the ports mentioned above, and also the
following people who contributed code to LxDoom or PrBoom:
Jess Haas <JessH@lbjhs.net>
Of LSDLdoom, who merged his project into PrBoom, contributing his SDL code.
Nicolas Kalkhof <nkalkhof@gmx.net>
Much work on the OpenGL renderer.
James "Quasar" Haley <haleyjd@concentric.net>
Ever willing to talk about source ideas, and has pointed me in the direction of
a lot of Boom and MBF bugs; also various bits code from his port Eternity have
been used, such as the BEX enhancements.
Bob Aman (sporkmonger.com)
Created the RMUDAnsiTextView class used in the Mac launcher.
Gady Kozma gady@math.tau.ac.il
Added hires to the SVGALib version of LxDoom, and other useful patches.
Dick Leban
Lots of feedback about portability issues and helping get the network code
working properly back at v1.3.6.
Eduardo Casino Almao
Lots of helpful feedback and suggestions, but more importantly actually getting
to grips with the code and giving very precise bug reports and patches.
Joey Hess
For numerous patches, like the glibc fixes and window manager updates, and
help with the music.
Ben Winslow
Various useful patches, like the colour ENDOOM code.
Josh Parsons josh@schlick.anu.edu.au
Sent me the patches to use autoconf for configuring LxDoom.
Steve Van Devender <stevev@efn.org>
Found the bug causing slight noise at the start of sounds playing, and other
patches.
Barry Mead <bmead15@cox.net>
Improvements to the mouse code and other odd patches.
Mattias Kunkel <mattias@kunkel.freeservers.com>
Made the lxdoom.spec file for creating LxDoom RPMs.
Vicente Aguilar vicente@hal.dhis.org
Handy patch for the file handling
Benjamin L McGee <vuelto@netscape.net>
Patch fixing the joystick code.
Chris Young <young1@users.sourceforge.net>
Patch improving the ENDOOM printing
Peter Jay Salzman <p@belial.ucdavis.edu>
Cleanup patches
Oliver Kraus
Send bug reports and patches for Solaris/Sparc.
Paul S Jenner <psj@firstlinux.net>
Nice patch to make RPM building easier
Julian <julian@jplan.cjb.net>
Fixed inline asm for gcc-2.95 (from Eternity)
Lionel Ulmer <lionel.ulmer@free.fr>
Patch to fix alignment problems on ARM processors.
Ville Vuorinen <vv@ydin.org>
Spotted and helped patch the player spawn bug, as well as helping with some
Win32 issues.
Steven Elliot <selliot4@users.sourceforge.net>
Misc patches.
Andreas Dehmel <zarquon@t-online.de>
Spotted & patched a savegame bug.
Jon Dowland
Bug reports & fixes, documentation improvements.
If you have sent in patches and I forgot to list you, I apologise. Please email
me and I will add you.
Also, thanks to the following people who have helped in various ways:
Simon "fraggle" Howard <fraggle@alkali.org>
More MBF bugs.
Robert Phipps <rob@phipps.uklinux.net>
Network game testing, feature suggestions etc.
Udo Monk
His port xdoom is very portable, and I referred to his code sometimes for help
with the X stuff; also his collection of Doom tools (XWadTools) is the
definitive tools collection for Linux.
Andre Majorel <amajorel@teaser.fr>
For Yadex, so I can debug those problematic levels more easily.
Michael Heasley
Author of musserver, which helped me first add music support.
Rafael Reilova
Helped with the music server program for LxDoom
Frederic Oghdayan
For useful feedback on LxDoom v1.0.1, and repeating his bug reports until I
believed them :-).
Adam Hegyi <ha211@hszk.bme.hu>
Prompted me to hunt down those last few demo sync bugs, and provided some useful
insights and example demos to help.
Adam Williamson
Pointing me toward yet another compatibility bug.
Ingo van Lil
Another bug spotter.
Everyone who contributed indirectly to MBF and Boom and Doom; see the
respective documentation files.

367
COPYING Normal file
View File

@ -0,0 +1,367 @@
GNU GENERAL PUBLIC LICENSE
Version 2, June 1991
Copyright (C) 1989, 1991 Free Software Foundation, Inc.
59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
Preamble
The licenses for most software are designed to take away your freedom
to share and change it. By contrast, the GNU General Public License
is intended to guarantee your freedom to share and change free
software--to make sure the software is free for all its users. This
General Public License applies to most of the Free Software
Foundation's software and to any other program whose authors commit
to using it. (Some other Free Software Foundation software is covered
by the GNU Library General Public License instead.) You can apply it
to your programs, too.
When we speak of free software, we are referring to freedom, not
price. Our General Public Licenses are designed to make sure that you
have the freedom to distribute copies of free software (and charge
for this service if you wish), that you receive source code or can
get it if you want it, that you can change the software or use pieces
of it in new free programs; and that you know you can do these
things.
To protect your rights, we need to make restrictions that forbid
anyone to deny you these rights or to ask you to surrender the
rights. These restrictions translate to certain responsibilities for
you if you distribute copies of the software, or if you modify it.
For example, if you distribute copies of such a program, whether
gratis or for a fee, you must give the recipients all the rights that
you have. You must make sure that they, too, receive or can get the
source code. And you must show them these terms so they know their
rights.
We protect your rights with two steps: (1) copyright the software,
and (2) offer you this license which gives you legal permission to
copy, distribute and/or modify the software.
Also, for each author's protection and ours, we want to make certain
that everyone understands that there is no warranty for this free
software. If the software is modified by someone else and passed on,
we want its recipients to know that what they have is not the
original, so that any problems introduced by others will not reflect
on the original authors' reputations.
Finally, any free program is threatened constantly by software
patents. We wish to avoid the danger that redistributors of a free
program will individually obtain patent licenses, in effect making
the program proprietary. To prevent this, we have made it clear that
any patent must be licensed for everyone's free use or not licensed
at all.
The precise terms and conditions for copying, distribution and
modification follow.
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. This License applies to any program or other work which contains a
notice placed by the copyright holder saying it may be distributed
under the terms of this General Public License. The "Program", below,
refers to any such program or work, and a "work based on the Program"
means either the Program or any derivative work under copyright law:
that is to say, a work containing the Program or a portion of it,
either verbatim or with modifications and/or translated into another
language. (Hereinafter, translation is included without limitation in
the term "modification".) Each licensee is addressed as "you".
Activities other than copying, distribution and modification are not
covered by this License; they are outside its scope. The act of
running the Program is not restricted, and the output from the
Program is covered only if its contents constitute a work based on
the Program (independent of having been made by running the Program).
Whether that is true depends on what the Program does.
1. You may copy and distribute verbatim copies of the Program's
source code as you receive it, in any medium, provided that you
conspicuously and appropriately publish on each copy an appropriate
copyright notice and disclaimer of warranty; keep intact all the
notices that refer to this License and to the absence of any
warranty; and give any other recipients of the Program a copy of this
License along with the Program.
You may charge a fee for the physical act of transferring a copy, and
you may at your option offer warranty protection in exchange for a
fee.
2. You may modify your copy or copies of the Program or any portion
of it, thus forming a work based on the Program, and copy and
distribute such modifications or work under the terms of Section 1
above, provided that you also meet all of these conditions:
a) You must cause the modified files to carry prominent notices
stating that you changed the files and the date of any change.
b) You must cause any work that you distribute or publish, that in
whole or in part contains or is derived from the Program or any part
thereof, to be licensed as a whole at no charge to all third parties
under the terms of this License.
c) If the modified program normally reads commands interactively when
run, you must cause it, when started running for such interactive use
in the most ordinary way, to print or display an announcement
including an appropriate copyright notice and a notice that there is
no warranty (or else, saying that you provide a warranty) and that
users may redistribute the program under these conditions, and
telling the user how to view a copy of this License. (Exception: if
the Program itself is interactive but does not normally print such an
announcement, your work based on the Program is not required to print
an announcement.)
These requirements apply to the modified work as a whole. If
identifiable sections of that work are not derived from the Program,
and can be reasonably considered independent and separate works in
themselves, then this License, and its terms, do not apply to those
sections when you distribute them as separate works. But when you
distribute the same sections as part of a whole which is a work based
on the Program, the distribution of the whole must be on the terms of
this License, whose permissions for other licensees extend to the
entire whole, and thus to each and every part regardless of who wrote
it.
Thus, it is not the intent of this section to claim rights or contest
your rights to work written entirely by you; rather, the intent is to
exercise the right to control the distribution of derivative or
collective works based on the Program.
In addition, mere aggregation of another work not based on the
Program with the Program (or with a work based on the Program) on a
volume of a storage or distribution medium does not bring the other
work under the scope of this License.
3. You may copy and distribute the Program (or a work based on it,
under Section 2) in object code or executable form under the terms of
Sections 1 and 2 above provided that you also do one of the
following:
a) Accompany it with the complete corresponding machine-readable
source code, which must be distributed under the terms of Sections 1
and 2 above on a medium customarily used for software interchange;
or,
b) Accompany it with a written offer, valid for at least three years,
to give any third party, for a charge no more than your cost of
physically performing source distribution, a complete
machine-readable copy of the corresponding source code, to be
distributed under the terms of Sections 1 and 2 above on a medium
customarily used for software interchange; or,
c) Accompany it with the information you received as to the offer to
distribute corresponding source code. (This alternative is allowed
only for noncommercial distribution and only if you received the
program in object code or executable form with such an offer, in
accord with Subsection b above.)
The source code for a work means the preferred form of the work for
making modifications to it. For an executable work, complete source
code means all the source code for all modules it contains, plus any
associated interface definition files, plus the scripts used to
control compilation and installation of the executable. However, as a
special exception, the source code distributed need not include
anything that is normally distributed (in either source or binary
form) with the major components (compiler, kernel, and so on) of the
operating system on which the executable runs, unless that component
itself accompanies the executable.
If distribution of executable or object code is made by offering
access to copy from a designated place, then offering equivalent
access to copy the source code from the same place counts as
distribution of the source code, even though third parties are not
compelled to copy the source along with the object code.
4. You may not copy, modify, sublicense, or distribute the Program
except as expressly provided under this License. Any attempt
otherwise to copy, modify, sublicense or distribute the Program is
void, and will automatically terminate your rights under this
License. However, parties who have received copies, or rights, from
you under this License will not have their licenses terminated so
long as such parties remain in full compliance.
5. You are not required to accept this License, since you have not
signed it. However, nothing else grants you permission to modify or
distribute the Program or its derivative works. These actions are
prohibited by law if you do not accept this License. Therefore, by
modifying or distributing the Program (or any work based on the
Program), you indicate your acceptance of this License to do so, and
all its terms and conditions for copying, distributing or modifying
the Program or works based on it.
6. Each time you redistribute the Program (or any work based on the
Program), the recipient automatically receives a license from the
original licensor to copy, distribute or modify the Program subject
to these terms and conditions. You may not impose any further
restrictions on the recipients' exercise of the rights granted
herein. You are not responsible for enforcing compliance by third
parties to this License.
7. If, as a consequence of a court judgment or allegation of patent
infringement or for any other reason (not limited to patent issues),
conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do
not excuse you from the conditions of this License. If you cannot
distribute so as to satisfy simultaneously your obligations under
this License and any other pertinent obligations, then as a
consequence you may not distribute the Program at all. For example,
if a patent license would not permit royalty-free redistribution of
the Program by all those who receive copies directly or indirectly
through you, then the only way you could satisfy both it and this
License would be to refrain entirely from distribution of the
Program.
If any portion of this section is held invalid or unenforceable under
any particular circumstance, the balance of the section is intended
to apply and the section as a whole is intended to apply in other
circumstances.
It is not the purpose of this section to induce you to infringe any
patents or other property right claims or to contest validity of any
such claims; this section has the sole purpose of protecting the
integrity of the free software distribution system, which is
implemented by public license practices. Many people have made
generous contributions to the wide range of software distributed
through that system in reliance on consistent application of that
system; it is up to the author/donor to decide if he or she is
willing to distribute software through any other system and a
licensee cannot impose that choice.
This section is intended to make thoroughly clear what is believed to
be a consequence of the rest of this License.
8. If the distribution and/or use of the Program is restricted in
certain countries either by patents or by copyrighted interfaces, the
original copyright holder who places the Program under this License
may add an explicit geographical distribution limitation excluding
those countries, so that distribution is permitted only in or among
countries not thus excluded. In such case, this License incorporates
the limitation as if written in the body of this License.
9. The Free Software Foundation may publish revised and/or new
versions of the General Public License from time to time. Such new
versions will be similar in spirit to the present version, but may
differ in detail to address new problems or concerns.
Each version is given a distinguishing version number. If the Program
specifies a version number of this License which applies to it and
"any later version", you have the option of following the terms and
conditions either of that version or of any later version published
by the Free Software Foundation. If the Program does not specify a
version number of this License, you may choose any version ever
published by the Free Software Foundation.
10. If you wish to incorporate parts of the Program into other free
programs whose distribution conditions are different, write to the
author to ask for permission. For software which is copyrighted by
the Free Software Foundation, write to the Free Software Foundation;
we sometimes make exceptions for this. Our decision will be guided by
the two goals of preserving the free status of all derivatives of our
free software and of promoting the sharing and reuse of software
generally.
NO WARRANTY
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO
WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY
KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME
THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU
FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF
SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
SUCH DAMAGES.
END OF TERMS AND CONDITIONS
How to Apply These Terms to Your New Programs
If you develop a new program, and you want it to be of the greatest
possible use to the public, the best way to achieve this is to make
it free software which everyone can redistribute and change under
these terms.
To do so, attach the following notices to the program. It is safest
to attach them to the start of each source file to most effectively
convey the exclusion of warranty; and each file should have at least
the "copyright" line and a pointer to where the full notice is found.
one line to give the program's name and an idea of what it does.
Copyright (C) yyyy name of author
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 2
of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
02111-1307, USA.
Also add information on how to contact you by electronic and paper
mail.
If the program is interactive, make it output a short notice like
this when it starts in an interactive mode:
Gnomovision version 69, Copyright (C) yyyy name of author
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details
type `show w'. This is free software, and you are welcome
to redistribute it under certain conditions; type `show c'
for details.
The hypothetical commands `show w' and `show c' should show the
appropriate parts of the General Public License. Of course, the
commands you use may be called something other than `show w' and
`show c'; they could even be mouse-clicks or menu items--whatever
suits your program.
You should also get your employer (if you work as a programmer) or
your school, if any, to sign a "copyright disclaimer" for the
program, if necessary. Here is a sample; alter the names:
Yoyodyne, Inc., hereby disclaims all copyright
interest in the program `Gnomovision'
(which makes passes at compilers) written
by James Hacker.
signature of Ty Coon, 1 April 1989
Ty Coon, President of Vice
This General Public License does not permit incorporating your
program into proprietary programs. If your program is a subroutine
library, you may consider it more useful to permit linking
proprietary applications with the library. If this is what you want
to do, use the GNU Library General Public License instead of this
License.
----------------------------------------------------------------------
----------
Return to GNU's home page.
FSF & GNU inquiries & questions to gnu@gnu.org. Other ways to contact
the FSF.
Comments on these web pages to webmasters@www.gnu.org, send other
questions to gnu@gnu.org.
Copyright notice above.
Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
MA 02111, USA
Updated: 16 Feb 1998 tower

26
FAQ Normal file
View File

@ -0,0 +1,26 @@
Compatibility/Demos:
Q: I'm trying to play a demo, but it gets out of sync, what's wrong?
A: Read README.compatibility if you don't have already.
A: If everything failes report us which demo got out of sync and where we can
get it. Don't send it to us directly. Now hope the best that it gets fixed.
Linux:
Q: I get wrong colors when using SVGALib, can't you do your job right?
A: The SDL Library is broken, bug the SDL people about it.
OpenGL:
Q: I'm trying to get PrBoom with OpenGL working on my 3dfx Voodoo card on
Windows, but it doesn't work or is very slow.
A: Use Mesa3D (http://www.mesa3d.org) with 3dfx support.
Q: The sky looks wrong in OpenGL, WTF?
A: It seems like you are using Mesa3D. Try a newer version and if it's still not
fixed bug them about it.
A: Are you using Windows? Try using another glu32.dll.
Q: I get a compile error saying PFNGLCOLORTABLEEXTPROC isn't defined
A: Get a newer version of your OpenGL headers/drivers. This problem occured on
nvidia cards. If you still can't get it working, the please tell us.

90
Makefile Normal file
View File

@ -0,0 +1,90 @@
DEBUG=0
ifeq ($(platform),)
platform = unix
ifeq ($(shell uname -a),)
platform = win
else ifneq ($(findstring MINGW,$(shell uname -a)),)
platform = win
else ifneq ($(findstring Darwin,$(shell uname -a)),)
platform = osx
else ifneq ($(findstring win,$(shell uname -a)),)
platform = win
endif
endif
CC = gcc
DOOMSRC = src
PORTSRCDIR = $(DOOMSRC)/SDL
ifeq ($(platform), unix)
TARGET := prboom
else ifeq ($(platform), osx)
TARGET := prboom
else ifeq ($(platform), ps3)
TARGET := libretro.a
CC = $(CELL_SDK)/host-win32/ppu/bin/ppu-lv2-gcc.exe
AR = $(CELL_SDK)/host-win32/ppu/bin/ppu-lv2-ar.exe
CFLAGS += -DBLARGG_BIG_ENDIAN=1 -D__ppc__
else ifeq ($(platform), sncps3)
TARGET := libretro.a
CC = $(CELL_SDK)/host-win32/sn/bin/ps3ppusnc.exe
AR = $(CELL_SDK)/host-win32/sn/bin/ps3snarl.exe
CFLAGS += -DBLARGG_BIG_ENDIAN=1 -D__ppc__
else ifeq ($(platform), xenon)
TARGET := libretro.a
CC = xenon-gcc
AR = xenon-ar
CFLAGS += -D__LIBXENON__ -m32 -D__ppc__
else ifeq ($(platform), wii)
TARGET := libretro.a
CC = $(DEVKITPPC)/bin/powerpc-eabi-gcc
AR = $(DEVKITPPC)/bin/powerpc-eabi-ar
CFLAGS += -DGEKKO -mrvl -mcpu=750 -meabi -mhard-float -DBLARGG_BIG_ENDIAN=1 -D__ppc__
else
TARGET := prboom.exe
CC = gcc
SHARED := -static-libgcc -static-libstdc++
CFLAGS += -D__WIN32__ -D__WIN32_LIBRETRO__
endif
ifeq ($(DEBUG), 1)
CFLAGS += -O0 -g
else
CFLAGS += -O3
endif
PORTOBJECTS = ./$(PORTSRCDIR)/i_system.o ./$(PORTSRCDIR)/i_video.o ./$(PORTSRCDIR)/i_sound.o
OBJECTS = ./$(DOOMSRC)/am_map.o ./$(DOOMSRC)/d_deh.o ./$(DOOMSRC)/d_items.o ./$(DOOMSRC)/d_main.o ./$(DOOMSRC)/doomstat.o ./$(DOOMSRC)/dstrings.o ./$(DOOMSRC)/f_finale.o ./$(DOOMSRC)/f_wipe.o ./$(DOOMSRC)/g_game.o ./$(DOOMSRC)/hu_lib.o ./$(DOOMSRC)/hu_stuff.o ./$(DOOMSRC)/info.o ./$(DOOMSRC)/m_argv.o ./$(DOOMSRC)/m_bbox.o ./$(DOOMSRC)/m_cheat.o ./$(DOOMSRC)/m_menu.o ./$(DOOMSRC)/m_misc.o ./$(DOOMSRC)/m_random.o ./$(DOOMSRC)/p_ceilng.o ./$(DOOMSRC)/p_doors.o ./$(DOOMSRC)/p_enemy.o ./$(DOOMSRC)/p_floor.o ./$(DOOMSRC)/p_inter.o ./$(DOOMSRC)/p_lights.o ./$(DOOMSRC)/p_map.o ./$(DOOMSRC)/p_maputl.o ./$(DOOMSRC)/p_mobj.o ./$(DOOMSRC)/p_plats.o ./$(DOOMSRC)/p_pspr.o ./$(DOOMSRC)/p_saveg.o ./$(DOOMSRC)/p_setup.o ./$(DOOMSRC)/p_sight.o ./$(DOOMSRC)/p_spec.o ./$(DOOMSRC)/p_switch.o ./$(DOOMSRC)/p_telept.o ./$(DOOMSRC)/p_tick.o ./$(DOOMSRC)/p_user.o ./$(DOOMSRC)/r_bsp.o ./$(DOOMSRC)/r_data.o ./$(DOOMSRC)/r_draw.o ./$(DOOMSRC)/r_main.o ./$(DOOMSRC)/r_plane.o ./$(DOOMSRC)/r_segs.o ./$(DOOMSRC)/r_sky.o ./$(DOOMSRC)/r_things.o ./$(DOOMSRC)/r_patch.o ./$(DOOMSRC)/s_sound.o ./$(DOOMSRC)/sounds.o ./$(DOOMSRC)/st_lib.o ./$(DOOMSRC)/st_stuff.o ./$(DOOMSRC)/tables.o ./$(DOOMSRC)/v_video.o ./$(DOOMSRC)/w_wad.o ./$(DOOMSRC)/z_zone.o ./$(DOOMSRC)/w_memcache.o ./$(DOOMSRC)/r_fps.o ./$(DOOMSRC)/r_filter.o ./$(DOOMSRC)/p_genlin.o ./$(DOOMSRC)/r_demo.o ./$(DOOMSRC)/z_bmalloc.o ./$(DOOMSRC)/lprintf.o ./$(DOOMSRC)/wi_stuff.o ./$(DOOMSRC)/p_checksum.o ./$(DOOMSRC)/md5.o ./$(DOOMSRC)/version.o ./$(DOOMSRC)/d_client.o ./$(DOOMSRC)/mmus2mid.o $(PORTOBJECTS)
INCLUDES = -I. -I.. -I$(DOOMSRC) -ISDL
DEFINES = -DHAVE_INTTYPES_H -DINLINE=inline -DHAVE_SDL
ifeq ($(platform), sncps3)
WARNINGS_DEFINES =
CODE_DEFINES =
else
WARNINGS_DEFINES = -Wall -W -Wno-unused-parameter
CODE_DEFINES = -fomit-frame-pointer -std=gnu99
endif
COMMON_DEFINES += $(CODE_DEFINES) $(WARNINGS_DEFINES) -DNDEBUG=1 $(fpic)
SDL_INCPATH := $(shell pkg-config sdl --cflags)
CFLAGS += $(DEFINES) $(COMMON_DEFINES) $(SDL_INCPATH)
all: $(TARGET)
$(TARGET): $(OBJECTS)
$(CC) $(INCLUDES) $(CFLAGS) $(SDL_INCPATH) -o $@ $(OBJECTS) -lm -lSDL -lSDL_net -lSDL_mixer
%.o: %.c
$(CC) $(INCLUDES) $(CFLAGS) -c -o $@ $<
clean:
rm -f $(OBJECTS) $(TARGET)
.PHONY: clean

105
Makefile.libretro Normal file
View File

@ -0,0 +1,105 @@
DEBUG=0
ifeq ($(platform),)
platform = unix
ifeq ($(shell uname -a),)
platform = win
else ifneq ($(findstring MINGW,$(shell uname -a)),)
platform = win
else ifneq ($(findstring Darwin,$(shell uname -a)),)
platform = osx
else ifneq ($(findstring win,$(shell uname -a)),)
platform = win
endif
endif
CC = gcc
DOOMSRC = src
PORTSRCDIR = src/libretro
ifeq ($(platform), unix)
TARGET := libretro.so
fpic := -fPIC
SHARED := -shared -Wl,--version-script=src/libretro/link.T -Wl,-no-undefined
CFLAGS += -D_GNU_SOURCE=1
else ifeq ($(platform), osx)
TARGET := libretro.dylib
fpic := -fPIC
SHARED := -dynamiclib
else ifeq ($(platform), ps3)
TARGET := libretro.a
CC = $(CELL_SDK)/host-win32/ppu/bin/ppu-lv2-gcc.exe
AR = $(CELL_SDK)/host-win32/ppu/bin/ppu-lv2-ar.exe
CFLAGS += -DWORDS_BIGENDIAN=1 -D_GNU_SOURCE=1
else ifeq ($(platform), sncps3)
TARGET := libretro.a
CC = $(CELL_SDK)/host-win32/sn/bin/ps3ppusnc.exe
AR = $(CELL_SDK)/host-win32/sn/bin/ps3snarl.exe
CFLAGS += -DWORDS_BIGENDIAN=1 -D_GNU_SOURCE=1
else ifeq ($(platform), xenon)
TARGET := libretro.a
CC = xenon-gcc
AR = xenon-ar
CFLAGS += -D__LIBXENON__ -m32 -D__ppc__ -DWORDS_BIGENDIAN=1 -D_GNU_SOURCE=1
else ifeq ($(platform), wii)
TARGET := libretro.a
CC = $(DEVKITPPC)/bin/powerpc-eabi-gcc
AR = $(DEVKITPPC)/bin/powerpc-eabi-ar
CFLAGS += -DGEKKO -mrvl -mcpu=750 -meabi -mhard-float -DWORDS_BIGENDIAN=1 -D_GNU_SOURCE=1
else
TARGET := libretro.dll
CC = gcc
fpic := -fPIC
LD_FLAGS := -fPIC
SHARED := -shared -static-libgcc -static-libstdc++ -s -Wl,--version-script=src/libretro/link.T
CFLAGS += -D__WIN32__ -D__WIN32_LIBRETRO__
endif
ifeq ($(DEBUG), 1)
CFLAGS += -O0 -g
else
CFLAGS += -O3
endif
PORTOBJECTS = ./$(PORTSRCDIR)/libretro.o
OBJECTS = ./$(DOOMSRC)/am_map.o ./$(DOOMSRC)/d_deh.o ./$(DOOMSRC)/d_items.o ./$(DOOMSRC)/d_main.o ./$(DOOMSRC)/doomstat.o ./$(DOOMSRC)/dstrings.o ./$(DOOMSRC)/f_finale.o ./$(DOOMSRC)/f_wipe.o ./$(DOOMSRC)/g_game.o ./$(DOOMSRC)/hu_lib.o ./$(DOOMSRC)/hu_stuff.o ./$(DOOMSRC)/info.o ./$(DOOMSRC)/m_argv.o ./$(DOOMSRC)/m_bbox.o ./$(DOOMSRC)/m_cheat.o ./$(DOOMSRC)/m_menu.o ./$(DOOMSRC)/m_misc.o ./$(DOOMSRC)/m_random.o ./$(DOOMSRC)/p_ceilng.o ./$(DOOMSRC)/p_doors.o ./$(DOOMSRC)/p_enemy.o ./$(DOOMSRC)/p_floor.o ./$(DOOMSRC)/p_inter.o ./$(DOOMSRC)/p_lights.o ./$(DOOMSRC)/p_map.o ./$(DOOMSRC)/p_maputl.o ./$(DOOMSRC)/p_mobj.o ./$(DOOMSRC)/p_plats.o ./$(DOOMSRC)/p_pspr.o ./$(DOOMSRC)/p_saveg.o ./$(DOOMSRC)/p_setup.o ./$(DOOMSRC)/p_sight.o ./$(DOOMSRC)/p_spec.o ./$(DOOMSRC)/p_switch.o ./$(DOOMSRC)/p_telept.o ./$(DOOMSRC)/p_tick.o ./$(DOOMSRC)/p_user.o ./$(DOOMSRC)/r_bsp.o ./$(DOOMSRC)/r_data.o ./$(DOOMSRC)/r_draw.o ./$(DOOMSRC)/r_main.o ./$(DOOMSRC)/r_plane.o ./$(DOOMSRC)/r_segs.o ./$(DOOMSRC)/r_sky.o ./$(DOOMSRC)/r_things.o ./$(DOOMSRC)/r_patch.o ./$(DOOMSRC)/s_sound.o ./$(DOOMSRC)/sounds.o ./$(DOOMSRC)/st_lib.o ./$(DOOMSRC)/st_stuff.o ./$(DOOMSRC)/tables.o ./$(DOOMSRC)/v_video.o ./$(DOOMSRC)/w_wad.o ./$(DOOMSRC)/z_zone.o ./$(DOOMSRC)/w_memcache.o ./$(DOOMSRC)/r_fps.o ./$(DOOMSRC)/r_filter.o ./$(DOOMSRC)/p_genlin.o ./$(DOOMSRC)/r_demo.o ./$(DOOMSRC)/z_bmalloc.o ./$(DOOMSRC)/lprintf.o ./$(DOOMSRC)/wi_stuff.o ./$(DOOMSRC)/p_checksum.o ./$(DOOMSRC)/md5.o ./$(DOOMSRC)/version.o ./$(DOOMSRC)/d_client.o ./$(DOOMSRC)/mmus2mid.o $(PORTOBJECTS)
INCLUDES = -I. -I.. -Isrc
DEFINES = -DHAVE_INTTYPES_H -D__LIBRETRO__ -DINLINE=inline
ifeq ($(platform), sncps3)
WARNINGS_DEFINES =
CODE_DEFINES =
else
WARNINGS_DEFINES = -Wall -W -Wno-unused-parameter
CODE_DEFINES = -fomit-frame-pointer -std=gnu99
endif
COMMON_DEFINES += $(CODE_DEFINES) $(WARNINGS_DEFINES) -DNDEBUG=1 $(fpic)
CFLAGS += $(DEFINES) $(COMMON_DEFINES)
all: $(TARGET)
$(TARGET): $(OBJECTS)
ifeq ($(platform), ps3)
$(AR) rcs $@ $(OBJECTS)
else ifeq ($(platform), sncps3)
$(AR) rcs $@ $(OBJECTS)
else ifeq ($(platform), xenon)
$(AR) rcs $@ $(OBJECTS)
else ifeq ($(platform), wii)
$(AR) rcs $@ $(OBJECTS)
else
$(CC) $(fpic) $(SHARED) $(INCLUDES) -o $@ $(OBJECTS) -lm
endif
%.o: %.c
$(CC) $(INCLUDES) $(CFLAGS) -c -o $@ $<
clean:
rm -f $(OBJECTS) $(TARGET)
.PHONY: clean

103
Makefile.prboomdata Normal file
View File

@ -0,0 +1,103 @@
DEBUG=0
ifeq ($(platform),)
platform = unix
ifeq ($(shell uname -a),)
platform = win
else ifneq ($(findstring MINGW,$(shell uname -a)),)
platform = win
else ifneq ($(findstring Darwin,$(shell uname -a)),)
platform = osx
else ifneq ($(findstring win,$(shell uname -a)),)
platform = win
endif
endif
CC = gcc
ifeq ($(platform), unix)
TARGET := rdatawad
else ifeq ($(platform), osx)
TARGET := rdatawad
else
TARGET := rdatawad.exe
CC = gcc
SHARED := -static-libgcc -static-libstdc++
CFLAGS += -D__WIN32__ -D__WIN32_LIBRETRO__
endif
ifeq ($(DEBUG), 1)
CFLAGS += -O0 -g
else
CFLAGS += -O3
endif
OBJECTS = data/rd_graphic.o data/rd_output.o data/rd_palette.o data/rd_sound.o data/rd_util.o data/rd_main.o
INCLUDES = -I. -I.. -Idata
DEFINES = -DHAVE_INTTYPES_H -D__LIBRETRO__ -DINLINE=inline
WARNINGS_DEFINES = -Wall -W -Wno-unused-parameter
CODE_DEFINES = -fomit-frame-pointer -std=gnu99
COMMON_DEFINES += $(CODE_DEFINES) $(WARNINGS_DEFINES) -DNDEBUG=1 $(fpic)
CFLAGS += $(DEFINES) $(COMMON_DEFINES)
all: $(TARGET)
$(TARGET): $(OBJECTS)
$(CC) $(INCLUDES) $(CFLAGS) -o $@ $(OBJECTS) -lm
%.o: %.c
$(CC) $(INCLUDES) $(CFLAGS) -c -o $@ $<
clean:
rm -f $(OBJECTS) $(TARGET)
PALETTE = data/palette.rgb
LUMPS = data/lumps/switches.lmp data/lumps/animated.lmp data/lumps/crbrick.lmp \
data/lumps/crtan.lmp data/lumps/crgray.lmp data/lumps/crgreen.lmp \
data/lumps/crbrown.lmp data/lumps/crgold.lmp data/lumps/crred.lmp \
data/lumps/crblue.lmp data/lumps/crblue2.lmp data/lumps/crorange.lmp \
data/lumps/cryellow.lmp
COLORMAPS = data/lumps/watermap.lmp
TABLES = data/lumps/sinetabl.lmp data/lumps/tangtabl.lmp data/lumps/tantoang.lmp \
data/lumps/gammatbl.lmp
GRAPHICS = data/graphics/dig0.ppm data/graphics/dig1.ppm data/graphics/dig2.ppm \
data/graphics/dig3.ppm data/graphics/dig4.ppm data/graphics/dig5.ppm \
data/graphics/dig6.ppm data/graphics/dig7.ppm data/graphics/dig8.ppm \
data/graphics/dig9.ppm data/graphics/diga.ppm data/graphics/digb.ppm \
data/graphics/digc.ppm data/graphics/digd.ppm data/graphics/dige.ppm \
data/graphics/digf.ppm data/graphics/digg.ppm data/graphics/digh.ppm \
data/graphics/digi.ppm data/graphics/digj.ppm data/graphics/digk.ppm \
data/graphics/digl.ppm data/graphics/digm.ppm data/graphics/dign.ppm \
data/graphics/digo.ppm data/graphics/digp.ppm data/graphics/digq.ppm \
data/graphics/digr.ppm data/graphics/digs.ppm data/graphics/digt.ppm \
data/graphics/digu.ppm data/graphics/digv.ppm data/graphics/digw.ppm \
data/graphics/digx.ppm data/graphics/digy.ppm data/graphics/digz.ppm \
data/graphics/dig45.ppm data/graphics/dig47.ppm data/graphics/dig58.ppm \
data/graphics/dig91.ppm data/graphics/dig93.ppm data/graphics/stbr123.ppm \
data/graphics/stbr124.ppm data/graphics/stbr125.ppm data/graphics/stbr126.ppm \
data/graphics/stbr127.ppm data/graphics/boxul.ppm data/graphics/boxuc.ppm \
data/graphics/boxur.ppm data/graphics/boxcl.ppm data/graphics/boxcc.ppm \
data/graphics/boxcr.ppm data/graphics/boxll.ppm data/graphics/boxlc.ppm \
data/graphics/boxlr.ppm data/graphics/stkeys6.ppm data/graphics/stkeys7.ppm \
data/graphics/stkeys8.ppm data/graphics/stcfn096.ppm \
data/graphics/m_butt1.ppm data/graphics/m_butt2.ppm \
data/graphics/m_colors.ppm data/graphics/m_palno.ppm \
data/graphics/m_palsel.ppm data/graphics/m_vbox.ppm \
data/graphics/m_generl.ppm data/graphics/m_setup.ppm \
data/graphics/m_auto.ppm data/graphics/m_keybnd.ppm \
data/graphics/m_compat.ppm data/graphics/m_enem.ppm \
data/graphics/m_mess.ppm data/graphics/m_stat.ppm \
data/graphics/m_weap.ppm data/graphics/m_horsen.ppm \
data/graphics/m_versen.ppm data/graphics/prboom.ppm
SPRITES = data/sprites/tnt1a0.ppm
SPRITEP = 0,0,data/sprites/tnt1a0.ppm
WAD_CMDLINE = -palette $(PALETTE) -lumps $(LUMPS) -marker C_START -lumps $(COLORMAPS) -marker C_END -marker B_START -lumps $(TABLES) -marker B_END -graphics $(GRAPHICS) -marker SS_START -sprites $(SPRITEP) -marker SS_END
make-prboomwad:
./rdatawad -I data $(WAD_CMDLINE) -o prboom.wad
.PHONY: clean make-prboomwad

252
README Normal file
View File

@ -0,0 +1,252 @@
PrBoom 2.5.0
============
PrBoom is a version of the classic 3D shoot'em'up game Doom, originally
written by id Software.
See the file AUTHORS in this distribution for a list of authors and
other contributors, and a history of the projects PrBoom is derived
from.
PrBoom is made available under the GNU General Public License. See the
file COPYING included in this distribution for details.
Please see the NEWS file included for changes since the previous version.
Game data - WADs
----------------
(This section is aimed at people not familiar with Doom and the
data files it uses.)
PrBoom is a game engine - it provides a program to play Doom levels, but
it doesn't include any levels itself. More importantly, you need all the
sounds, sprites, and other graphics that make up the Doom environment.
So to play PrBoom, you need one of the main Doom date files from id
Software - either doom.wad, doom2.wad, tnt.wad or plutonia.wad from one
of the commercial Doom games, or the shareware doom1.wad. This file
is called the IWAD.
PrBoom also supports playing Doom add-on levels, called "PWADs", which
are small extra .wad files which just contain extra levels or other
resources. PWADs are ONLY ADD-ONS, you still need the original IWAD
that they are designed to work with. In practice, most PWADs on the
Internet require doom2.wad (although some work with doom.wad).
If you don't own any of the Doom games, get the shareware doom1.wad
from doom19s.zip on Doomworld's shareware download page. But note that you
will not be able to play most add-ons.
http://www.doomworld.com/files/shareware.shtml
Windows Installation
--------------------
Just extract the zip to a directory of your choice and copy your IWAD
files into it. Now you can make shortcuts and add "-iwad filename.wad"
to them.
The SDL_mixer library used by PrBoom supports software MIDI music
synthesis. If you want to hear the Doom music, you need a set of
Timidity instrument patches. Do a web search for timidity patch sets,
there are plenty around.
These patch sets are a large download (>5megs).
SDL_mixer does not currently support hardware MIDI synthesis. But we
have added a hacked version of SDL_mixer with native midi support. If
you like to try it out, rename SDL_mixer_beta.dll to SDL_mixer.dll.
You should rename the original SDL_mixer.dll before. Tell us if it
works or not. Please note, that there might be bugs in the native midi
implementation.
Linux Installation
------------------
For UNIX, Linux, and other POSIX systems, you need the SDL libraries in
order to use PrBoom. If you haven't already done so, visit
http://prboom.sourceforge.net/linux.html and follow the instructions there
for your system, downloading the necessary libraries, and either
installing the binary RPM package or compiling PrBoom from source.
Once you've done that, you'll need to copy your IWAD file (see the section
above if you don't know what this is) to a directory where PrBoom can find
it. Make /usr/local/share/games/doom/, and copy your IWAD (all of your
IWADs, if you own more than one) to that directory.
Mac OS Installation
-------------------
Copy your IWAD (see above) into your home folder under
Library:Application Support:PrBoom (this folder will be created for you the
first time you run PrBoom).
First Use
---------
If it's the first time you've run PrBoom, you'll need to do some configuring
to get the controls and display right for you.
On a new installation, PrBoom runs at 640x480 resolution. If you have used
PrBoom before, you may have an old config file in your home directory which
specifies a lower resolution, such as Doom's normal 320x200. You can use the
-width and -height parameters to select a higher resolution, e.g.:
prboom -width 640 -height 400
sets the resolution. This setting is remembered for future sessions. For
other parameters, see the included README.command-line.
You may also wish to customise the key bindings. PrBoom's default keybindings
are the same as the original Doom; unlike original Doom, you can change key
bindings in the game. In the in-game menus, go to Options, Settings, Key
Bindings.
On Mac OS X, you can't use the command line, but after running the program
once, you can edit YOURHOME:Library:Application Support:PrBoom:prboom.cfg to
change settings like your screen resolution.
Features
--------
This is all the features PrBoom has compared to the original Doom game
- it's intended to give you an idea of the enhancements, rather than
burying you in details.
See http://prboom.sourceforge.net/about.html for an HTML version of
this list.
This is shamelessly modelled on Boom's changes pages. By each
change, there's the name of the port the feature comes from (so it's
compatible with).
Playing the game
* Supports loading dehacked files at the command line, or in WADs
(BOOM, MBF)
* Supports PWADs containing sprites and flats (BOOM)
* Save games and demos completely store game parameters (BOOM,
MBF)
* Savegames store list of loaded WAD files, warning if wrong files
loaded (BOOM, MBF)
Game engine
* Player bobbing improved, optional (BOOM, MBF)
* Friction effects (BOOM), affecting players and monsters
(MBF)
* Wind, current, conveyor effects (BOOM)
* Far more flexible scrolling wall/floor types (BOOM)
* Always run (BOOM)
* Weapon change logic overhauled and improved (BOOM)
* Support for friendly monsters, helper dogs (MBF)
* Monster target finding code improved (MBF)
* AI improvements (MBF)
* Bouncy and touchy things (MBF)
* New code pointers (MBF)
* Per-level and animated skies (MBF)
* Generalised line types system gives complete flexibility
(BOOM)
* Elevators (BOOM)
* Translucent sprites, walls (BOOM)
* Independent floor and ceiling lighting (BOOM)
* Silent teleports (BOOM)
* Deep water, true underwater areas (BOOM)
* Icon of Sin telefragging made more consistent (MBF)
* Fix large numbers of game bugs (BOOM, MBF, LxDoom)
* Support arbitrary texture heights (BOOM)
Screen
* High resolution support (PrBoom)
* Optional message console, multiple message lines (BOOM)
* Status bar shows health/armour/ammo in colours (BOOM)
* Heads up display, showing ammo, health, keys overlayed on view
(BOOM)
Multiplayer
* Spy mode improved (BOOM)
* Support for loadgame in a net game (LxDoom)
* Client server style network games (LxDoom)
Automap
* No limit on marks (BOOM)
* Rotation and overlay modes (DOSDoom, LxDoom)
* Map shows coordinates (BOOM), optionally follow pointer
(MBF)
* Teleport lines, key doors and switches marked specially (BOOM)
* Keys, secrets visible on map with cheat codes (BOOM)
* Colours fully configurable from menus (BOOM)
Intermission screens
* Par times hidden when not relevant (BOOM)
* Total episode time shown (LxDoom)
Menus
* F1 help screen shows current key setup (BOOM)
* Key bindings, monster behaviour, and compatibility settings all set
in menus (BOOM, MBF)
Compatibility
* Game is capable of behaving like any of: original Doom v1.9, Boom
v2.02, MBF (BOOM, MBF, LxDoom)
* Plays most original Doom v1.9 demos (more than Boom or MBF)
* Plays most Boom v2.02 demos (apart from levels with friction
effects everything should work).
* Plays some DOSDoom, earlier Doom, earlier Boom, and LxDoom demos.
* Plays all MBF demos.
* Auto-correction of common bugs in old levels (MBF), with
warnings (LxDoom)
* Fine control of options controlling compatibility and new features
(MBF)
Controls
* Greater control of key bindings from in game menus (BOOM)
* More accurate mouse sensitivity control (BOOM, LxDoom)
Misc
* Screenshot code improved, supports BMPs (BOOM)
* Support for ENDOOM and ENDBOOM (BOOM, LxDoom)
* -timedemo and -fastdemo options (BOOM)
* Real time frame rate, segs, visplanes, sprites display
(LxDoom)
* Various extra cheat codes (BOOM, LxDoom)
Internals
* Greatly improved internal memory management (BOOM, LxDoom)
* Startup time greatly shortened by lazy generation of some lookups
(DOSDoom, LxDoom)
* Removed internal limits (BOOM)
Other Tips
----------
On Linux, SDL tries to detect an appropriate video device automatically.
If you want to overrite the default, you can set the SDL_VIDEODRIVER
enviromental variable. At a bash prompt, this is as easy as running:
SDL_VIDEODRIVER=fbcon prboom
or
SDL_VIDEODRIVER=svga prboom
Details
-------
Details on these extra features are split into separate text files:
README.demos provides a guide to PrBoom's demo support
README.compatibility describes PrBoom's various compatibility
options and modes
README.command-line gives a command line reference for prboom,
prboom-game-server, and the format of boom.cfg.
On UNIX/Linux systems use the man pages instead.
Editing features are not covered in the docs with this package. We plan
to bundle the editing docs as a separate download. Watch our website
for news.

1525
TODO Normal file

File diff suppressed because it is too large Load Diff

93
config.h Normal file
View File

@ -0,0 +1,93 @@
/* config.h. Generated from config.h.in by configure. */
/* config.h.in. Generated from configure.ac by autoheader. */
/* Define to be the path where Doom WADs are stored */
#define DOOMWADDIR "/usr/local/share/games/doom"
#define SCREENWIDTH 320
#define SCREENHEIGHT 200
#define SCREENPITCH 640
#define SURFACE_WIDTH 320
#define SURFACE_BYTE_PITCH SCREENPITCH
#define SURFACE_SHORT_PITCH SCREENWIDTH
#define SURFACE_INT_PITCH 160
#define SURFACE_PIXEL_DEPTH 2
/* Define to 1 if you have the <asm/byteorder.h> header file. */
#define HAVE_ASM_BYTEORDER_H 1
/* Define to 1 if you have the <inttypes.h> header file. */
#define HAVE_INTTYPES_H 1
#ifdef HAVE_SDL
/* Define to 1 if you have the `SDL_mixer' library (-lSDL_mixer). */
#define HAVE_LIBSDL_MIXER 1
/* Define to 1 if you have the 'SDL_mixer' library (-lSDL_mixer) and Timidity. */
#define HAVE_MIDI_MIXER 1
/* Define if you have the SDL net library -lSDL_net */
#define HAVE_LIBSDL_NET 1
/* Define if you want to use the SDL net lib */
#define USE_SDL_NET 1
#endif
#ifdef HAVE_NET
/* Define to 1 if you have the `inet_aton' function. */
#define HAVE_INET_ATON 1
/* Define to 1 if you have the `inet_ntop' function. */
#define HAVE_INET_NTOP 1
/* Define to 1 if you have the `inet_pton' function. */
#define HAVE_INET_PTON 1
#endif
/* Define to 1 if you have the `snprintf' function. */
#define HAVE_SNPRINTF 1
/* Define to 1 if you have the `vsnprintf' function. */
#define HAVE_VSNPRINTF 1
/* Name of package */
#define PACKAGE "prboom"
/* Define to the address where bug reports for this package should be sent. */
#define PACKAGE_BUGREPORT ""
/* Define to the full name of this package. */
#define PACKAGE_NAME "prboom"
/* Define to the full name and version of this package. */
#define PACKAGE_STRING "prboom 2.5.0"
/* Define to the one symbol short name of this package. */
#define PACKAGE_TARNAME "prboom"
/* Define to the home page for this package. */
#define PACKAGE_URL ""
/* Define to the version of this package. */
#define PACKAGE_VERSION "2.5.0"
/* Set to the attribute to apply to struct definitions to make them packed */
#define PACKEDATTR __attribute__((packed))
/* Version number of package */
#define VERSION "2.5.0"
/* Define this to perform id checks on zone blocks, to detect corrupted and
illegally freed blocks */
#define ZONEIDCHECK 1
/* Define to strcasecmp, if we have it */
#define stricmp strcasecmp
/* Define to strncasecmp, if we have it */
#define strnicmp strncasecmp

4
data/graphics/boxcc.ppm Normal file
View File

@ -0,0 +1,4 @@
P6
8 8
255
C3?/3+?/C3?/3+?/C3?/C3?/?/3+?/3+C33+?/3+?/?/?/?/?/?/3+?/C3?/C3?/?/?/3+?/?/?/?/?/?/?/?/?/3+?/3+C33+?/3+?/?/C3?/C3?/3+?/C3?/3+?/C3

4
data/graphics/boxcl.ppm Normal file
View File

@ -0,0 +1,4 @@
P6
8 8
255
#+7#C3C3C3?/C3#+# 7#C3K7C33+C3/7# 7#K7C3C3?/?/#+# 7#?/C3?/?/?//7# 7#C3C3?/3+?//77#C3?/C3?/?/#+# 7#C3C33+C33+/7# 7#C3C3C3?/3+

4
data/graphics/boxcr.ppm Normal file
View File

@ -0,0 +1,4 @@
P6
8 8
255
3+?/C3C3C37##+3+C33+C3C37## #+?/?/C3?/C37## /7C3C3K7K7C37## #+C3?/C3K7K77## /7?/?/C3C3K77#/7C33+C3K7C37## #+C3?/C3C3C37## /7

4
data/graphics/boxlc.ppm Normal file
View File

@ -0,0 +1,4 @@
P6
8 8
255
?/?/3+?/C3?/C3?/?/?/3+?/?/?/?/?/?/?/?/?/3+?/3+C33+?/3+?/?/C3?/C3?/3+?/C3?/3+?/C3/77?'/77?'/7/77?'7?'/7#+/7#+#+/7#+/7# # # # # #

4
data/graphics/boxll.ppm Normal file
View File

@ -0,0 +1,4 @@
P6
8 8
255
#+# 7#?/C3?/?/?//7# 7#C3C3?/3+?//77#C3?/C3?/?/#+# 7#C3C33+C33+/7# 7#C3C3C3?/3+#+# #+7?'/7/77?'7?'/7#+#+#+#+/7#+/7#+# # # # #

4
data/graphics/boxlr.ppm Normal file
View File

@ -0,0 +1,4 @@
P6
8 8
255
C3C3K7K7C37## #+C3?/C3K7K77## /7?/?/C3C3K77#/7C33+C3K7C37## #+C3?/C3C3C37## /7/77?'/77?'/7/7# #+/7#+/7#+/7#+#+/7# # # # # #+

4
data/graphics/boxuc.ppm Normal file
View File

@ -0,0 +1,4 @@
P6
8 8
255
/7#+/7#+#+/7#+/7# # # # # # / / / / / / / / C3?/3+?/C3?/3+?/C3?/C3?/?/3+?/3+C33+?/3+?/?/?/?/?/?/3+?/C3?/C3?/?/?/3+?/?/?/?/?/

4
data/graphics/boxul.ppm Normal file
View File

@ -0,0 +1,4 @@
P6
8 8
255
7?'#+#+#+#+/7#+/7#+# # # # # #+# / / / / / / #+7#C3C3C3?/C3#+# 7#C3K7C33+C3/7# 7#K7C3C3?/?/#+# 7#?/C3?/?/?//7# 7#C3C3?/3+?/

4
data/graphics/boxur.ppm Normal file
View File

@ -0,0 +1,4 @@
P6
8 8
255
/7#+/7#+/7#+#+7?'# # # # # #+/ / / / / / # #+3+?/C3C3C37##+3+C33+C3C37## #+?/?/C3?/C37## /7C3C3K7K7C37## #+C3?/C3K7K77## /7

BIN
data/graphics/dig0.ppm Normal file

Binary file not shown.

BIN
data/graphics/dig1.ppm Normal file

Binary file not shown.

BIN
data/graphics/dig2.ppm Normal file

Binary file not shown.

BIN
data/graphics/dig3.ppm Normal file

Binary file not shown.

BIN
data/graphics/dig4.ppm Normal file

Binary file not shown.

BIN
data/graphics/dig45.ppm Normal file

Binary file not shown.

BIN
data/graphics/dig47.ppm Normal file

Binary file not shown.

BIN
data/graphics/dig5.ppm Normal file

Binary file not shown.

BIN
data/graphics/dig58.ppm Normal file

Binary file not shown.

BIN
data/graphics/dig6.ppm Normal file

Binary file not shown.

BIN
data/graphics/dig7.ppm Normal file

Binary file not shown.

BIN
data/graphics/dig8.ppm Normal file

Binary file not shown.

BIN
data/graphics/dig9.ppm Normal file

Binary file not shown.

BIN
data/graphics/dig91.ppm Normal file

Binary file not shown.

BIN
data/graphics/dig93.ppm Normal file

Binary file not shown.

BIN
data/graphics/diga.ppm Normal file

Binary file not shown.

BIN
data/graphics/digb.ppm Normal file

Binary file not shown.

BIN
data/graphics/digc.ppm Normal file

Binary file not shown.

BIN
data/graphics/digd.ppm Normal file

Binary file not shown.

BIN
data/graphics/dige.ppm Normal file

Binary file not shown.

BIN
data/graphics/digf.ppm Normal file

Binary file not shown.

BIN
data/graphics/digg.ppm Normal file

Binary file not shown.

BIN
data/graphics/digh.ppm Normal file

Binary file not shown.

BIN
data/graphics/digi.ppm Normal file

Binary file not shown.

BIN
data/graphics/digj.ppm Normal file

Binary file not shown.

BIN
data/graphics/digk.ppm Normal file

Binary file not shown.

BIN
data/graphics/digl.ppm Normal file

Binary file not shown.

BIN
data/graphics/digm.ppm Normal file

Binary file not shown.

BIN
data/graphics/dign.ppm Normal file

Binary file not shown.

BIN
data/graphics/digo.ppm Normal file

Binary file not shown.

BIN
data/graphics/digp.ppm Normal file

Binary file not shown.

BIN
data/graphics/digq.ppm Normal file

Binary file not shown.

BIN
data/graphics/digr.ppm Normal file

Binary file not shown.

BIN
data/graphics/digs.ppm Normal file

Binary file not shown.

BIN
data/graphics/digt.ppm Normal file

Binary file not shown.

BIN
data/graphics/digu.ppm Normal file

Binary file not shown.

BIN
data/graphics/digv.ppm Normal file

Binary file not shown.

BIN
data/graphics/digw.ppm Normal file

Binary file not shown.

BIN
data/graphics/digx.ppm Normal file

Binary file not shown.

BIN
data/graphics/digy.ppm Normal file

Binary file not shown.

BIN
data/graphics/digz.ppm Normal file

Binary file not shown.

BIN
data/graphics/m_auto.ppm Normal file

Binary file not shown.

BIN
data/graphics/m_butt1.ppm Normal file

Binary file not shown.

BIN
data/graphics/m_butt2.ppm Normal file

Binary file not shown.

BIN
data/graphics/m_chat.ppm Normal file

Binary file not shown.

BIN
data/graphics/m_colors.ppm Normal file

Binary file not shown.

BIN
data/graphics/m_compat.ppm Normal file

Binary file not shown.

BIN
data/graphics/m_enem.ppm Normal file

Binary file not shown.

BIN
data/graphics/m_generl.ppm Normal file

Binary file not shown.

BIN
data/graphics/m_horsen.ppm Normal file

Binary file not shown.

BIN
data/graphics/m_keybnd.ppm Normal file

Binary file not shown.

BIN
data/graphics/m_mess.ppm Normal file

Binary file not shown.

BIN
data/graphics/m_palno.ppm Normal file

Binary file not shown.

BIN
data/graphics/m_palsel.ppm Normal file

Binary file not shown.

BIN
data/graphics/m_setup.ppm Normal file

Binary file not shown.

BIN
data/graphics/m_stat.ppm Normal file

Binary file not shown.

BIN
data/graphics/m_vbox.ppm Normal file

Binary file not shown.

BIN
data/graphics/m_versen.ppm Normal file

Binary file not shown.

BIN
data/graphics/m_weap.ppm Normal file

Binary file not shown.

BIN
data/graphics/prboom.ppm Normal file

Binary file not shown.

BIN
data/graphics/stbr123.ppm Normal file

Binary file not shown.

BIN
data/graphics/stbr124.ppm Normal file

Binary file not shown.

BIN
data/graphics/stbr125.ppm Normal file

Binary file not shown.

BIN
data/graphics/stbr126.ppm Normal file

Binary file not shown.

BIN
data/graphics/stbr127.ppm Normal file

Binary file not shown.

BIN
data/graphics/stcfn096.ppm Normal file

Binary file not shown.

BIN
data/graphics/stkeys6.ppm Normal file

Binary file not shown.

BIN
data/graphics/stkeys7.ppm Normal file

Binary file not shown.

BIN
data/graphics/stkeys8.ppm Normal file

Binary file not shown.

BIN
data/lumps/animated.lmp Normal file

Binary file not shown.

0
data/lumps/b_end.lmp Normal file
View File

0
data/lumps/b_start.lmp Normal file
View File

0
data/lumps/c_end.lmp Normal file
View File

0
data/lumps/c_start.lmp Normal file
View File

BIN
data/lumps/crblue.lmp Normal file

Binary file not shown.

BIN
data/lumps/crblue2.lmp Normal file

Binary file not shown.

BIN
data/lumps/crbrick.lmp Normal file

Binary file not shown.

BIN
data/lumps/crbrown.lmp Normal file

Binary file not shown.

BIN
data/lumps/crgold.lmp Normal file

Binary file not shown.

BIN
data/lumps/crgray.lmp Normal file

Binary file not shown.

BIN
data/lumps/crgreen.lmp Normal file

Binary file not shown.

BIN
data/lumps/crorange.lmp Normal file

Binary file not shown.

Some files were not shown because too many files have changed in this diff Show More