SRB2 2.1 release
32
.gitattributes
vendored
Normal file
|
@ -0,0 +1,32 @@
|
||||||
|
# Windows EOL
|
||||||
|
*.cs -crlf -whitespace
|
||||||
|
*.mk -crlf -whitespace
|
||||||
|
*.bat -crlf -whitespace
|
||||||
|
*.dev -crlf -whitespace
|
||||||
|
*.dsp -crlf -whitespace
|
||||||
|
*.dsw -crlf -whitespace
|
||||||
|
*.sln -crlf -whitespace
|
||||||
|
*.resx -crlf -whitespace
|
||||||
|
*.vcproj -crlf -whitespace
|
||||||
|
*.csproj* -crlf -whitespace
|
||||||
|
*.vcxproj* -crlf -whitespace
|
||||||
|
*.manifest -crlf -whitespace
|
||||||
|
# Patches
|
||||||
|
/tools/SDL-1.2.14-gc/SDL-1.2.14-gc.patch -whitespace
|
||||||
|
# LibPNG
|
||||||
|
/libs/libpng-src/CMakeLists.txt -whitespace
|
||||||
|
/libs/libpng-src/libpng-1.2.*.txt -whitespace
|
||||||
|
/libs/libpng-src/libpng.3 -whitespace
|
||||||
|
/libs/libpng-src/*.c -whitespace
|
||||||
|
# Zlib
|
||||||
|
/libs/zlib/contrib/amd64/amd64-match.S -whitespace
|
||||||
|
/libs/zlib/contrib/delphi/zlibd32.mak -crlf -whitespace
|
||||||
|
/libs/zlib/contrib/gcc_gvmat64/gvmat64.S -whitespace
|
||||||
|
/libs/zlib/contrib/minizip/MiniZip64_Changes.txt -whitespace
|
||||||
|
/libs/zlib/contrib/minizip/MiniZip64_info.txt -whitespace
|
||||||
|
/libs/zlib/contrib/pascal/zlibd32.mak -whitespace
|
||||||
|
/libs/zlib/nintendods/Makefile -whitespace
|
||||||
|
/libs/zlib/nintendods/README -whitespace
|
||||||
|
/libs/zlib/watcom/watcom_f.mak -crlf -whitespace
|
||||||
|
/libs/zlib/watcom/watcom_l.mak -crlf -whitespace
|
||||||
|
# Other
|
15
.gitignore
vendored
Normal file
|
@ -0,0 +1,15 @@
|
||||||
|
/data
|
||||||
|
*.ncb
|
||||||
|
*.opt
|
||||||
|
*.plg
|
||||||
|
*.suo
|
||||||
|
*.vcproj.*.*.user
|
||||||
|
Win32_LIB_ASM_Debug
|
||||||
|
Win32_LIB_ASM_Release
|
||||||
|
*.bsc
|
||||||
|
/SRB2.layout
|
||||||
|
/SRB2.depend
|
||||||
|
/src/comptime.h
|
||||||
|
*.dgb
|
||||||
|
*.debug
|
||||||
|
*.debug.txt
|
6
Android.mk
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
# Build both the native piece of SRB2 for Android, and the Java frontend.
|
||||||
|
LOCAL_PATH:= $(call my-dir)
|
||||||
|
|
||||||
|
include $(CLEAR_VARS)
|
||||||
|
|
||||||
|
include $(call all-makefiles-under,$(LOCAL_PATH))
|
272
Doxyfile
Normal file
|
@ -0,0 +1,272 @@
|
||||||
|
# Doxyfile 1.4.3
|
||||||
|
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
# Project related configuration options
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
PROJECT_NAME = SRB2
|
||||||
|
PROJECT_NUMBER = 1.09
|
||||||
|
OUTPUT_DIRECTORY = ./doc/SRB2
|
||||||
|
CREATE_SUBDIRS = YES
|
||||||
|
OUTPUT_LANGUAGE = English
|
||||||
|
USE_WINDOWS_ENCODING = YES
|
||||||
|
BRIEF_MEMBER_DESC = YES
|
||||||
|
REPEAT_BRIEF = YES
|
||||||
|
ABBREVIATE_BRIEF = "The $name class" \
|
||||||
|
"The $name widget" \
|
||||||
|
"The $name file" \
|
||||||
|
is \
|
||||||
|
provides \
|
||||||
|
specifies \
|
||||||
|
contains \
|
||||||
|
represents \
|
||||||
|
a \
|
||||||
|
an \
|
||||||
|
the
|
||||||
|
ALWAYS_DETAILED_SEC = NO
|
||||||
|
INLINE_INHERITED_MEMB = NO
|
||||||
|
FULL_PATH_NAMES = YES
|
||||||
|
STRIP_FROM_PATH =
|
||||||
|
STRIP_FROM_INC_PATH =
|
||||||
|
SHORT_NAMES = NO
|
||||||
|
JAVADOC_AUTOBRIEF = NO
|
||||||
|
MULTILINE_CPP_IS_BRIEF = NO
|
||||||
|
DETAILS_AT_TOP = NO
|
||||||
|
INHERIT_DOCS = YES
|
||||||
|
DISTRIBUTE_GROUP_DOC = NO
|
||||||
|
SEPARATE_MEMBER_PAGES = NO
|
||||||
|
TAB_SIZE = 8
|
||||||
|
ALIASES =
|
||||||
|
OPTIMIZE_OUTPUT_FOR_C = YES
|
||||||
|
OPTIMIZE_OUTPUT_JAVA = NO
|
||||||
|
SUBGROUPING = YES
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
# Build related configuration options
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
EXTRACT_ALL = YES
|
||||||
|
EXTRACT_PRIVATE = YES
|
||||||
|
EXTRACT_STATIC = YES
|
||||||
|
EXTRACT_LOCAL_CLASSES = YES
|
||||||
|
EXTRACT_LOCAL_METHODS = NO
|
||||||
|
HIDE_UNDOC_MEMBERS = NO
|
||||||
|
HIDE_UNDOC_CLASSES = NO
|
||||||
|
HIDE_FRIEND_COMPOUNDS = NO
|
||||||
|
HIDE_IN_BODY_DOCS = NO
|
||||||
|
INTERNAL_DOCS = NO
|
||||||
|
CASE_SENSE_NAMES = NO
|
||||||
|
HIDE_SCOPE_NAMES = NO
|
||||||
|
SHOW_INCLUDE_FILES = YES
|
||||||
|
INLINE_INFO = YES
|
||||||
|
SORT_MEMBER_DOCS = YES
|
||||||
|
SORT_BRIEF_DOCS = NO
|
||||||
|
SORT_BY_SCOPE_NAME = NO
|
||||||
|
GENERATE_TODOLIST = YES
|
||||||
|
GENERATE_TESTLIST = YES
|
||||||
|
GENERATE_BUGLIST = YES
|
||||||
|
GENERATE_DEPRECATEDLIST= YES
|
||||||
|
ENABLED_SECTIONS =
|
||||||
|
MAX_INITIALIZER_LINES = 30
|
||||||
|
SHOW_USED_FILES = YES
|
||||||
|
SHOW_DIRECTORIES = YES
|
||||||
|
FILE_VERSION_FILTER =
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
# configuration options related to warning and progress messages
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
QUIET = NO
|
||||||
|
WARNINGS = YES
|
||||||
|
WARN_IF_UNDOCUMENTED = YES
|
||||||
|
WARN_IF_DOC_ERROR = YES
|
||||||
|
WARN_NO_PARAMDOC = NO
|
||||||
|
WARN_FORMAT = "$file:$line: $text"
|
||||||
|
WARN_LOGFILE =
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
# configuration options related to the input files
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
INPUT = ./src
|
||||||
|
FILE_PATTERNS = *.c \
|
||||||
|
*.cc \
|
||||||
|
*.cxx \
|
||||||
|
*.cpp \
|
||||||
|
*.c++ \
|
||||||
|
*.d \
|
||||||
|
*.java \
|
||||||
|
*.ii \
|
||||||
|
*.ixx \
|
||||||
|
*.ipp \
|
||||||
|
*.i++ \
|
||||||
|
*.inl \
|
||||||
|
*.h \
|
||||||
|
*.hh \
|
||||||
|
*.hxx \
|
||||||
|
*.hpp \
|
||||||
|
*.h++ \
|
||||||
|
*.idl \
|
||||||
|
*.odl \
|
||||||
|
*.cs \
|
||||||
|
*.php \
|
||||||
|
*.php3 \
|
||||||
|
*.inc \
|
||||||
|
*.m \
|
||||||
|
*.mm \
|
||||||
|
*.dox
|
||||||
|
RECURSIVE = YES
|
||||||
|
EXCLUDE = ./src/djgppdos/internal.h \
|
||||||
|
./src/djgppdos/setup.c \
|
||||||
|
./src/sdl/IMG_xpm.c \
|
||||||
|
./src/sdl/SRB2DC/scramble.c
|
||||||
|
EXCLUDE_SYMLINKS = NO
|
||||||
|
EXCLUDE_PATTERNS = */src/hardware/*/* \
|
||||||
|
*/src/djgppdos/bcd.? \
|
||||||
|
*/src/sdl/SDL_main/* \
|
||||||
|
*/src/*/*_private.h \
|
||||||
|
*/src/sdl/*/*help.? \
|
||||||
|
*/src/md5.? \
|
||||||
|
*/src/sdl/filter/*
|
||||||
|
EXAMPLE_PATH =
|
||||||
|
EXAMPLE_PATTERNS = *
|
||||||
|
EXAMPLE_RECURSIVE = NO
|
||||||
|
IMAGE_PATH =
|
||||||
|
INPUT_FILTER =
|
||||||
|
FILTER_PATTERNS =
|
||||||
|
FILTER_SOURCE_FILES = YES
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
# configuration options related to source browsing
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
SOURCE_BROWSER = NO
|
||||||
|
INLINE_SOURCES = NO
|
||||||
|
STRIP_CODE_COMMENTS = YES
|
||||||
|
REFERENCED_BY_RELATION = NO
|
||||||
|
REFERENCES_RELATION = NO
|
||||||
|
#USE_HTAGS = NO
|
||||||
|
VERBATIM_HEADERS = YES
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
# configuration options related to the alphabetical class index
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
ALPHABETICAL_INDEX = NO
|
||||||
|
COLS_IN_ALPHA_INDEX = 5
|
||||||
|
IGNORE_PREFIX =
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
# configuration options related to the HTML output
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
GENERATE_HTML = YES
|
||||||
|
HTML_OUTPUT = html
|
||||||
|
HTML_FILE_EXTENSION = .html
|
||||||
|
HTML_HEADER =
|
||||||
|
HTML_FOOTER =
|
||||||
|
HTML_STYLESHEET =
|
||||||
|
HTML_ALIGN_MEMBERS = YES
|
||||||
|
GENERATE_HTMLHELP = NO
|
||||||
|
CHM_FILE =
|
||||||
|
HHC_LOCATION =
|
||||||
|
GENERATE_CHI = NO
|
||||||
|
BINARY_TOC = NO
|
||||||
|
TOC_EXPAND = NO
|
||||||
|
DISABLE_INDEX = NO
|
||||||
|
ENUM_VALUES_PER_LINE = 4
|
||||||
|
GENERATE_TREEVIEW = YES
|
||||||
|
TREEVIEW_WIDTH = 250
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
# configuration options related to the LaTeX output
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
GENERATE_LATEX = NO
|
||||||
|
LATEX_OUTPUT = latex
|
||||||
|
LATEX_CMD_NAME = latex
|
||||||
|
MAKEINDEX_CMD_NAME = makeindex
|
||||||
|
COMPACT_LATEX = NO
|
||||||
|
PAPER_TYPE = a4wide
|
||||||
|
EXTRA_PACKAGES =
|
||||||
|
LATEX_HEADER =
|
||||||
|
PDF_HYPERLINKS = NO
|
||||||
|
USE_PDFLATEX = NO
|
||||||
|
LATEX_BATCHMODE = NO
|
||||||
|
LATEX_HIDE_INDICES = NO
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
# configuration options related to the RTF output
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
GENERATE_RTF = NO
|
||||||
|
RTF_OUTPUT = rtf
|
||||||
|
COMPACT_RTF = NO
|
||||||
|
RTF_HYPERLINKS = NO
|
||||||
|
RTF_STYLESHEET_FILE =
|
||||||
|
RTF_EXTENSIONS_FILE =
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
# configuration options related to the man page output
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
GENERATE_MAN = NO
|
||||||
|
MAN_OUTPUT = man
|
||||||
|
MAN_EXTENSION = .3
|
||||||
|
MAN_LINKS = YES
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
# configuration options related to the XML output
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
GENERATE_XML = NO
|
||||||
|
XML_OUTPUT = xml
|
||||||
|
XML_SCHEMA =
|
||||||
|
XML_DTD =
|
||||||
|
XML_PROGRAMLISTING = YES
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
# configuration options for the AutoGen Definitions output
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
GENERATE_AUTOGEN_DEF = NO
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
# configuration options related to the Perl module output
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
GENERATE_PERLMOD = NO
|
||||||
|
PERLMOD_LATEX = NO
|
||||||
|
PERLMOD_PRETTY = YES
|
||||||
|
PERLMOD_MAKEVAR_PREFIX =
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
# Configuration options related to the preprocessor
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
ENABLE_PREPROCESSING = YES
|
||||||
|
MACRO_EXPANSION = NO
|
||||||
|
EXPAND_ONLY_PREDEF = NO
|
||||||
|
SEARCH_INCLUDES = YES
|
||||||
|
INCLUDE_PATH =
|
||||||
|
INCLUDE_FILE_PATTERNS =
|
||||||
|
PREDEFINED = DOXYGEN \
|
||||||
|
HWRENDER \
|
||||||
|
DIRECTFULLSCREEN \
|
||||||
|
HW3SOUND \
|
||||||
|
LOGMESSAGES \
|
||||||
|
WALLSPLATS \
|
||||||
|
FLOORSPLATS
|
||||||
|
EXPAND_AS_DEFINED =
|
||||||
|
SKIP_FUNCTION_MACROS = YES
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
# Configuration::additions related to external references
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
TAGFILES =
|
||||||
|
GENERATE_TAGFILE =
|
||||||
|
ALLEXTERNALS = NO
|
||||||
|
EXTERNAL_GROUPS = YES
|
||||||
|
PERL_PATH = /usr/bin/perl
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
# Configuration options related to the dot tool
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
CLASS_DIAGRAMS = YES
|
||||||
|
HIDE_UNDOC_RELATIONS = YES
|
||||||
|
HAVE_DOT = NO
|
||||||
|
CLASS_GRAPH = YES
|
||||||
|
COLLABORATION_GRAPH = YES
|
||||||
|
GROUP_GRAPHS = YES
|
||||||
|
UML_LOOK = NO
|
||||||
|
TEMPLATE_RELATIONS = NO
|
||||||
|
INCLUDE_GRAPH = YES
|
||||||
|
INCLUDED_BY_GRAPH = YES
|
||||||
|
CALL_GRAPH = NO
|
||||||
|
GRAPHICAL_HIERARCHY = YES
|
||||||
|
DIRECTORY_GRAPH = YES
|
||||||
|
DOT_IMAGE_FORMAT = png
|
||||||
|
DOT_PATH =
|
||||||
|
DOTFILE_DIRS =
|
||||||
|
MAX_DOT_GRAPH_WIDTH = 1024
|
||||||
|
MAX_DOT_GRAPH_HEIGHT = 1024
|
||||||
|
MAX_DOT_GRAPH_DEPTH = 1000
|
||||||
|
DOT_TRANSPARENT = NO
|
||||||
|
DOT_MULTI_TARGETS = NO
|
||||||
|
GENERATE_LEGEND = YES
|
||||||
|
DOT_CLEANUP = YES
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
# Configuration::additions related to the search engine
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
SEARCHENGINE = NO
|
339
LICENSE
Normal file
|
@ -0,0 +1,339 @@
|
||||||
|
GNU GENERAL PUBLIC LICENSE
|
||||||
|
Version 2, June 1991
|
||||||
|
|
||||||
|
Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
|
||||||
|
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 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 Lesser 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.
|
||||||
|
|
||||||
|
GNU GENERAL PUBLIC LICENSE
|
||||||
|
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 a brief idea of what it does.>
|
||||||
|
Copyright (C) <year> <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.,
|
||||||
|
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 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) year 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 Lesser General
|
||||||
|
Public License instead of this License.
|
7
android/.classpath
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<classpath>
|
||||||
|
<classpathentry kind="src" path="src"/>
|
||||||
|
<classpathentry kind="src" path="gen"/>
|
||||||
|
<classpathentry kind="con" path="com.android.ide.eclipse.adt.ANDROID_FRAMEWORK"/>
|
||||||
|
<classpathentry kind="output" path="bin"/>
|
||||||
|
</classpath>
|
33
android/.project
Normal file
|
@ -0,0 +1,33 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<projectDescription>
|
||||||
|
<name>SRB2</name>
|
||||||
|
<comment></comment>
|
||||||
|
<projects>
|
||||||
|
</projects>
|
||||||
|
<buildSpec>
|
||||||
|
<buildCommand>
|
||||||
|
<name>com.android.ide.eclipse.adt.ResourceManagerBuilder</name>
|
||||||
|
<arguments>
|
||||||
|
</arguments>
|
||||||
|
</buildCommand>
|
||||||
|
<buildCommand>
|
||||||
|
<name>com.android.ide.eclipse.adt.PreCompilerBuilder</name>
|
||||||
|
<arguments>
|
||||||
|
</arguments>
|
||||||
|
</buildCommand>
|
||||||
|
<buildCommand>
|
||||||
|
<name>org.eclipse.jdt.core.javabuilder</name>
|
||||||
|
<arguments>
|
||||||
|
</arguments>
|
||||||
|
</buildCommand>
|
||||||
|
<buildCommand>
|
||||||
|
<name>com.android.ide.eclipse.adt.ApkBuilder</name>
|
||||||
|
<arguments>
|
||||||
|
</arguments>
|
||||||
|
</buildCommand>
|
||||||
|
</buildSpec>
|
||||||
|
<natures>
|
||||||
|
<nature>com.android.ide.eclipse.adt.AndroidNature</nature>
|
||||||
|
<nature>org.eclipse.jdt.core.javanature</nature>
|
||||||
|
</natures>
|
||||||
|
</projectDescription>
|
5
android/.settings/org.eclipse.jdt.core.prefs
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
#Mon Nov 09 14:38:16 EST 2009
|
||||||
|
eclipse.preferences.version=1
|
||||||
|
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
|
||||||
|
org.eclipse.jdt.core.compiler.compliance=1.5
|
||||||
|
org.eclipse.jdt.core.compiler.source=1.5
|
17
android/Android.mk
Normal file
|
@ -0,0 +1,17 @@
|
||||||
|
LOCAL_PATH:= $(call my-dir)
|
||||||
|
include $(CLEAR_VARS)
|
||||||
|
|
||||||
|
LOCAL_MODULE_TAGS := user
|
||||||
|
|
||||||
|
LOCAL_SRC_FILES := $(call all-java-files-under, src)
|
||||||
|
|
||||||
|
LOCAL_PACKAGE_NAME := SRB2
|
||||||
|
LOCAL_CERTIFICATE := media
|
||||||
|
|
||||||
|
LOCAL_REQUIRED_MODULES := libsrb2
|
||||||
|
LOCAL_JNI_SHARED_LIBRARIES := libsrb2
|
||||||
|
|
||||||
|
include $(BUILD_PACKAGE)
|
||||||
|
|
||||||
|
# Use the following include to make our test apk.
|
||||||
|
include $(call all-makefiles-under,$(LOCAL_PATH))
|
18
android/AndroidManifest.xml
Normal file
|
@ -0,0 +1,18 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
package="org.srb2"
|
||||||
|
android:versionCode="1"
|
||||||
|
android:versionName="1.0">
|
||||||
|
<application android:icon="@drawable/icon" android:label="@string/app_name">
|
||||||
|
<activity android:name=".SRB2Game"
|
||||||
|
android:label="@string/app_name">
|
||||||
|
<intent-filter>
|
||||||
|
<action android:name="android.intent.action.MAIN" />
|
||||||
|
<category android:name="android.intent.category.LAUNCHER" />
|
||||||
|
</intent-filter>
|
||||||
|
</activity>
|
||||||
|
|
||||||
|
</application>
|
||||||
|
<uses-sdk android:minSdkVersion="4" />
|
||||||
|
|
||||||
|
</manifest>
|
13
android/default.properties
Normal file
|
@ -0,0 +1,13 @@
|
||||||
|
# This file is automatically generated by Android Tools.
|
||||||
|
# Do not modify this file -- YOUR CHANGES WILL BE ERASED!
|
||||||
|
#
|
||||||
|
# This file must be checked in Version Control Systems.
|
||||||
|
#
|
||||||
|
# To customize properties used by the Ant build system use,
|
||||||
|
# "build.properties", and override values to adapt the script to your
|
||||||
|
# project structure.
|
||||||
|
|
||||||
|
# Project target.
|
||||||
|
target=android-4
|
||||||
|
# Indicates whether an apk should be generated for each density.
|
||||||
|
split.density=false
|
26
android/gen/org/srb2/R.java
Normal file
|
@ -0,0 +1,26 @@
|
||||||
|
/* AUTO-GENERATED FILE. DO NOT MODIFY.
|
||||||
|
*
|
||||||
|
* This class was automatically generated by the
|
||||||
|
* aapt tool from the resource data it found. It
|
||||||
|
* should not be modified by hand.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package org.srb2;
|
||||||
|
|
||||||
|
public final class R {
|
||||||
|
public static final class attr {
|
||||||
|
}
|
||||||
|
public static final class drawable {
|
||||||
|
public static final int icon=0x7f020000;
|
||||||
|
}
|
||||||
|
public static final class id {
|
||||||
|
public static final int SoftwareRendererDisplay=0x7f050000;
|
||||||
|
}
|
||||||
|
public static final class layout {
|
||||||
|
public static final int main=0x7f030000;
|
||||||
|
}
|
||||||
|
public static final class string {
|
||||||
|
public static final int app_name=0x7f040001;
|
||||||
|
public static final int hello=0x7f040000;
|
||||||
|
}
|
||||||
|
}
|
BIN
android/res/drawable-hdpi/icon.png
Normal file
After Width: | Height: | Size: 4 KiB |
BIN
android/res/drawable-ldpi/icon.png
Normal file
After Width: | Height: | Size: 1.7 KiB |
BIN
android/res/drawable-mdpi/icon.png
Normal file
After Width: | Height: | Size: 2.5 KiB |
9
android/res/layout/main.xml
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
android:orientation="vertical"
|
||||||
|
android:layout_width="fill_parent"
|
||||||
|
android:layout_height="fill_parent"
|
||||||
|
>
|
||||||
|
|
||||||
|
<SurfaceView android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/SoftwareRendererDisplay"></SurfaceView>
|
||||||
|
</LinearLayout>
|
5
android/res/values/strings.xml
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<resources>
|
||||||
|
<string name="hello">Hello World, SRB2Game!</string>
|
||||||
|
<string name="app_name">SRB2</string>
|
||||||
|
</resources>
|
25
android/src/org/srb2/GameThread.java
Normal file
|
@ -0,0 +1,25 @@
|
||||||
|
package org.srb2;
|
||||||
|
|
||||||
|
import org.srb2.nativecode.SRB2;
|
||||||
|
|
||||||
|
import android.graphics.Canvas;
|
||||||
|
import android.util.Log;
|
||||||
|
import android.view.SurfaceHolder;
|
||||||
|
|
||||||
|
public class GameThread extends Thread {
|
||||||
|
public static String TAG = "SRB2-GameThread";
|
||||||
|
private SurfaceHolder sh;
|
||||||
|
private SRB2 srb2;
|
||||||
|
|
||||||
|
public GameThread(SurfaceHolder h) {
|
||||||
|
super();
|
||||||
|
this.srb2 = new SRB2(h);
|
||||||
|
this.sh = h;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void run() {
|
||||||
|
Log.d(TAG, "Starting thread!");
|
||||||
|
this.srb2.run();
|
||||||
|
}
|
||||||
|
}
|
39
android/src/org/srb2/SRB2Game.java
Normal file
|
@ -0,0 +1,39 @@
|
||||||
|
package org.srb2;
|
||||||
|
|
||||||
|
import android.util.Log;
|
||||||
|
import android.view.SurfaceHolder;
|
||||||
|
import android.view.SurfaceView;
|
||||||
|
import android.view.SurfaceHolder.Callback;
|
||||||
|
import android.app.Activity;
|
||||||
|
import android.os.Bundle;
|
||||||
|
|
||||||
|
public class SRB2Game extends Activity implements Callback {
|
||||||
|
public static String TAG = "SRB2-Activity";
|
||||||
|
private SurfaceView sv;
|
||||||
|
private GameThread thread;
|
||||||
|
|
||||||
|
/** Called when the activity is first created. */
|
||||||
|
@Override
|
||||||
|
public void onCreate(Bundle savedInstanceState) {
|
||||||
|
super.onCreate(savedInstanceState);
|
||||||
|
|
||||||
|
setContentView(R.layout.main);
|
||||||
|
|
||||||
|
sv = (SurfaceView) findViewById(R.id.SoftwareRendererDisplay);
|
||||||
|
sv.getHolder().addCallback(this);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void surfaceChanged(SurfaceHolder arg0, int arg1, int arg2, int arg3) {
|
||||||
|
Log.e(TAG, "Output surface changed? OHSHI-");
|
||||||
|
}
|
||||||
|
|
||||||
|
public void surfaceCreated(SurfaceHolder arg0) {
|
||||||
|
Log.d(TAG, "Output surface ready! Instantiating and starting game...");
|
||||||
|
thread = new GameThread(sv.getHolder());
|
||||||
|
thread.start();
|
||||||
|
}
|
||||||
|
|
||||||
|
public void surfaceDestroyed(SurfaceHolder arg0) {
|
||||||
|
// TODO shutdown SRB2 as cleanly as possible.
|
||||||
|
}
|
||||||
|
}
|
13
android/src/org/srb2/nativecode/Main.java
Normal file
|
@ -0,0 +1,13 @@
|
||||||
|
package org.srb2.nativecode;
|
||||||
|
|
||||||
|
import java.nio.ByteBuffer;
|
||||||
|
|
||||||
|
public class Main {
|
||||||
|
private SRB2 srb2;
|
||||||
|
|
||||||
|
public Main(SRB2 srb2) {
|
||||||
|
this.srb2 = srb2;
|
||||||
|
}
|
||||||
|
|
||||||
|
public native int main(Video v);
|
||||||
|
}
|
35
android/src/org/srb2/nativecode/SRB2.java
Normal file
|
@ -0,0 +1,35 @@
|
||||||
|
package org.srb2.nativecode;
|
||||||
|
|
||||||
|
import android.util.Log;
|
||||||
|
import android.view.SurfaceHolder;
|
||||||
|
|
||||||
|
/// Wraps the entire native game. This object should be wholly owned
|
||||||
|
/// by the thread it's going to run in.
|
||||||
|
public class SRB2 {
|
||||||
|
public static String TAG = "SRB2-Wrapper";
|
||||||
|
private Main main;
|
||||||
|
public Video video;
|
||||||
|
|
||||||
|
public SRB2(SurfaceHolder videoOut) {
|
||||||
|
try {
|
||||||
|
Log.i(TAG, "Loading native SRB2 shared object from package...");
|
||||||
|
System.load("/data/data/org.srb2/lib/libsrb2.so");
|
||||||
|
|
||||||
|
} catch (UnsatisfiedLinkError ule) {
|
||||||
|
Log.i(TAG, "... it doesn't appear to be installed in the package. Looking for native library in the global search path.");
|
||||||
|
try {
|
||||||
|
System.load("libsrb2.so");
|
||||||
|
|
||||||
|
} catch (UnsatisfiedLinkError ule2) {
|
||||||
|
Log.e("JNI", "... no luck. Could not load libsrb2.so!");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
this.video = new Video(this, videoOut);
|
||||||
|
this.main = new Main(this);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void run() {
|
||||||
|
this.main.main(this.video);
|
||||||
|
}
|
||||||
|
}
|
39
android/src/org/srb2/nativecode/Video.java
Normal file
|
@ -0,0 +1,39 @@
|
||||||
|
package org.srb2.nativecode;
|
||||||
|
|
||||||
|
import java.nio.ByteBuffer;
|
||||||
|
|
||||||
|
import android.graphics.Bitmap;
|
||||||
|
import android.graphics.Canvas;
|
||||||
|
import android.view.SurfaceHolder;
|
||||||
|
|
||||||
|
public class Video {
|
||||||
|
public static int width = 340;
|
||||||
|
public static int height = 240;
|
||||||
|
private SurfaceHolder sh;
|
||||||
|
public ByteBuffer fb;
|
||||||
|
public Bitmap bmp;
|
||||||
|
|
||||||
|
public Video(SRB2 srb2, SurfaceHolder sh) {
|
||||||
|
this.sh = sh;
|
||||||
|
fb = ByteBuffer.allocateDirect(fbSize());
|
||||||
|
bmp = Bitmap.createBitmap(width, height, Bitmap.Config.RGB_565);
|
||||||
|
}
|
||||||
|
|
||||||
|
private int fbSize() {
|
||||||
|
// naively assuming RGBA8888 now, even though that is entirely wrong.
|
||||||
|
// ... well, at least, that's what the Canvas/Bitmap will expect.
|
||||||
|
return width * height * 4;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void gotFrame() {
|
||||||
|
|
||||||
|
Canvas canvas = sh.lockCanvas();
|
||||||
|
canvas.drawARGB(0xff, 0, 0, 0);
|
||||||
|
// ugh, an extra copy. the only way to avoid this, I suppose,
|
||||||
|
// is to use the surface in native code directly.
|
||||||
|
bmp.copyPixelsFromBuffer(fb);
|
||||||
|
canvas.drawBitmap(bmp, 0, 0, null);
|
||||||
|
sh.unlockCanvasAndPost(canvas);
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
1
bin/Linux/Debug/.gitignore
vendored
Normal file
|
@ -0,0 +1 @@
|
||||||
|
/lsdlsrb2
|
3
bin/Linux/Release/.gitignore
vendored
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
/lsdlsrb2
|
||||||
|
/pnd
|
||||||
|
/*.mo
|
1
bin/Linux64/Debug/.gitignore
vendored
Normal file
|
@ -0,0 +1 @@
|
||||||
|
/lsdlsrb2
|
1
bin/Linux64/Release/.gitignore
vendored
Normal file
|
@ -0,0 +1 @@
|
||||||
|
/lsdlsrb2
|
3
bin/Mingw/Debug/.gitignore
vendored
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
/srb2sdl.exe
|
||||||
|
/srb2win.exe
|
||||||
|
/r_opengl.dll
|
3
bin/Mingw/Release/.gitignore
vendored
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
/srb2sdl.exe
|
||||||
|
/srb2win.exe
|
||||||
|
/r_opengl.dll
|
3
bin/Mingw64/Debug/.gitignore
vendored
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
/srb2sdl.exe
|
||||||
|
/srb2win.exe
|
||||||
|
/r_opengl.dll
|
3
bin/Mingw64/Release/.gitignore
vendored
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
/srb2sdl.exe
|
||||||
|
/srb2win.exe
|
||||||
|
/r_opengl.dll
|
5
bin/PS3/Debug/.gitignore
vendored
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
/*.elf
|
||||||
|
/*.self
|
||||||
|
/*.pkg
|
||||||
|
/*.BIN
|
||||||
|
/pkg
|
5
bin/PS3/Release/.gitignore
vendored
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
/*.elf
|
||||||
|
/*.self
|
||||||
|
/*.pkg
|
||||||
|
/*.BIN
|
||||||
|
/pkg
|
4
bin/PSP/Release/.gitignore
vendored
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
/EBOOT.PBP
|
||||||
|
/PARAM.SFO
|
||||||
|
/SRB2PSP.PBP
|
||||||
|
/SRB2PSP.elf
|
12
bin/Resources/debian/README.Debian
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
srb2 for Debian
|
||||||
|
---------------
|
||||||
|
|
||||||
|
SRB2 Debian package!
|
||||||
|
Hi there, to rebuild this package just use the SRB2 Makefile system, or, optionally, run
|
||||||
|
dpkg-buildpackage in the in /bin/Resources directory. You can build these with or without a key
|
||||||
|
if you want, but if you want to put these on a repo, generate your own GnuPG key as per the
|
||||||
|
https://help.ubuntu.com/community/GnuPrivacyGuardHowto instructions and pass the -k<keyid>
|
||||||
|
command to debuild. Make sure you export the key footprint and give them to your users to install
|
||||||
|
with apt-key add. Thanks!
|
||||||
|
|
||||||
|
-- Callum Dickinson <gcfreak_ag20@hotmail.com> Fri, 26 Nov 2010 18:25:31 +1300
|
4
bin/Resources/debian/README.source
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
srb2-data for Debian
|
||||||
|
---------------
|
||||||
|
|
||||||
|
Look in main SRB2 README.source for more information.
|
5
bin/Resources/debian/changelog
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
srb2-data (2.0.6-2) maverick; urgency=high
|
||||||
|
|
||||||
|
* Initial proper release..
|
||||||
|
|
||||||
|
-- Callum Dickinson <gcfreak_ag20@hotmail.com> Sat, 29 Jan 2011 01:18:42 +1300
|
1
bin/Resources/debian/compat
Normal file
|
@ -0,0 +1 @@
|
||||||
|
7
|
22
bin/Resources/debian/control
Normal file
|
@ -0,0 +1,22 @@
|
||||||
|
# SRB2-data Debian package control file.
|
||||||
|
|
||||||
|
Source: srb2-data
|
||||||
|
Section: games
|
||||||
|
Priority: extra
|
||||||
|
Maintainer: Callum Dickinson <gcfreak_ag20@hotmail.com>
|
||||||
|
Build-Depends: debhelper (>= 7.0.50~)
|
||||||
|
Standards-Version: 3.8.4
|
||||||
|
Homepage: http://www.srb2.org
|
||||||
|
|
||||||
|
Package: srb2-data
|
||||||
|
Architecture: all
|
||||||
|
Description: A cross-platform 3D Sonic fangame
|
||||||
|
Sonic Robo Blast 2 is a 3D open-source Sonic the Hedgehog
|
||||||
|
fangame built using a modified version of the Doom Legacy
|
||||||
|
port of Doom. SRB2 is closely inspired by the original
|
||||||
|
Sonic games from the Sega Genesis, and attempts to recreate
|
||||||
|
the design in 3D. While SRB2 isn't fully completed, it already
|
||||||
|
features tons of levels, enemies, speed, and quite a lot
|
||||||
|
of the fun that the original Sonic games provided.
|
||||||
|
This is the data package that provides the data files that
|
||||||
|
SRB2 requires to run, it will not work without it.
|
26
bin/Resources/debian/copyright
Normal file
|
@ -0,0 +1,26 @@
|
||||||
|
This work was packaged for Debian by:
|
||||||
|
|
||||||
|
Callum Dickinson <gcfreak_ag20@hotmail.com> on Fri, 26 Nov 2010 15:19:16 +1300
|
||||||
|
|
||||||
|
It was downloaded from:
|
||||||
|
|
||||||
|
<http://srb2.org>
|
||||||
|
|
||||||
|
Upstream Author(s):
|
||||||
|
|
||||||
|
Sonic Team Junior <stjr@srb2.org>
|
||||||
|
|
||||||
|
Copyright:
|
||||||
|
|
||||||
|
Copyright (C) 1998-2010 Sonic Team Junior
|
||||||
|
|
||||||
|
License:
|
||||||
|
|
||||||
|
GNU General Public License, version 2
|
||||||
|
|
||||||
|
The Debian packaging is:
|
||||||
|
|
||||||
|
Copyright (C) 2010 Callum Dickinson <gcfreak_ag20@hotmail.com>
|
||||||
|
|
||||||
|
and is licensed under the GPL version 2,
|
||||||
|
see "/usr/share/common-licenses/GPL-2".
|
109
bin/Resources/debian/rules
Executable file
|
@ -0,0 +1,109 @@
|
||||||
|
#!/usr/bin/make -f
|
||||||
|
# -*- makefile -*-
|
||||||
|
|
||||||
|
#############################################################################
|
||||||
|
#
|
||||||
|
# GNU Make Debian package makefile for SRB2-data
|
||||||
|
#
|
||||||
|
# Copyright (C) 1998-2011 by Callum Dickinson
|
||||||
|
#
|
||||||
|
# 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.
|
||||||
|
#
|
||||||
|
# This file most likely will not need to be modified to make
|
||||||
|
# branches of SRB2 capable of making their own Debian packages,
|
||||||
|
# instead look at the /debian/control file for configuration.
|
||||||
|
#
|
||||||
|
#############################################################################
|
||||||
|
|
||||||
|
# Uncomment this to turn on verbose mode.
|
||||||
|
#export DH_VERBOSE=1
|
||||||
|
|
||||||
|
# user/group of to-be-installed files
|
||||||
|
ROOT_USER := 0
|
||||||
|
ROOT_GROUP := 0
|
||||||
|
|
||||||
|
MKDIR := mkdir -p
|
||||||
|
INSTALL := install -o $(ROOT_USER) -g $(ROOT_GROUP) -m 644
|
||||||
|
MV := mv
|
||||||
|
RM := rm -rf
|
||||||
|
DIR := $(shell pwd)
|
||||||
|
|
||||||
|
PACKAGE := $(shell cat $(DIR)/debian/control | grep 'Package:' | sed -e 's/Package: //g')
|
||||||
|
DATAFILES := drill.dta music.dta soar.dta zones.dta player.dta rings.wpn srb2.wad
|
||||||
|
|
||||||
|
DATADIR := usr/games/SRB2
|
||||||
|
RESOURCEDIR := .
|
||||||
|
WGET := wget -P $(RESOURCEDIR) -c -nc
|
||||||
|
|
||||||
|
build:
|
||||||
|
$(MKDIR) $(DIR)/debian/tmp/$(DATADIR)
|
||||||
|
# This will need to be updated every time SRB2 official version is
|
||||||
|
# Copy data files to their install locations, and add data files to include-binaries
|
||||||
|
for file in $(DATAFILES); do \
|
||||||
|
$(WGET) http://alam.srb2.org/SRB2/2.0.6-Final/Resources/$$file; \
|
||||||
|
if test "$$file" = "srb2.wad"; then \
|
||||||
|
$(INSTALL) $(RESOURCEDIR)/$$file $(DIR)/debian/tmp/$(DATADIR)/srb2.srb; \
|
||||||
|
else \
|
||||||
|
$(INSTALL) $(RESOURCEDIR)/$$file $(DIR)/debian/tmp/$(DATADIR)/$$file; \
|
||||||
|
fi; \
|
||||||
|
echo $(RESOURCEDIR)/$$file >> $(DIR)/debian/source/include-binaries; \
|
||||||
|
done
|
||||||
|
|
||||||
|
binary-indep:
|
||||||
|
# Generate install folder file
|
||||||
|
echo $(DATADIR) > $(DIR)/debian/$(PACKAGE).install
|
||||||
|
|
||||||
|
binary-arch:
|
||||||
|
# only here to kill Lintian warning
|
||||||
|
echo "no need to do any arch-specific stuff"
|
||||||
|
|
||||||
|
binary: binary-indep
|
||||||
|
dh_testdir
|
||||||
|
dh_testroot
|
||||||
|
dh_installchangelogs
|
||||||
|
# dh_installdocs
|
||||||
|
# dh_installexamples
|
||||||
|
dh_install --sourcedir=$(DIR)/debian/tmp
|
||||||
|
# dh_installmenu
|
||||||
|
# dh_installdebconf
|
||||||
|
# dh_installlogrotate
|
||||||
|
# dh_installemacsen
|
||||||
|
# dh_installpam
|
||||||
|
# dh_installmime
|
||||||
|
# dh_python
|
||||||
|
# dh_installinit
|
||||||
|
# dh_installcron
|
||||||
|
# dh_installinfo
|
||||||
|
# dh_installman
|
||||||
|
# dh_link
|
||||||
|
dh_compress
|
||||||
|
dh_fixperms
|
||||||
|
# dh_perl
|
||||||
|
# dh_makeshlibs
|
||||||
|
dh_installdeb
|
||||||
|
# -dh_shlibdeps
|
||||||
|
dh_gencontrol
|
||||||
|
dh_md5sums
|
||||||
|
dh_builddeb
|
||||||
|
|
||||||
|
clean:
|
||||||
|
$(RM) $(RESOURCEDIR)/*.wad
|
||||||
|
$(RM) $(RESOURCEDIR)/*.dta
|
||||||
|
$(RM) $(RESOURCEDIR)/*.plr
|
||||||
|
$(RM) $(RESOURCEDIR)/*.wpn
|
||||||
|
$(RM) $(RESOURCEDIR)/*.srb
|
||||||
|
$(RM) $(RESOURCEDIR)/*.dll
|
||||||
|
$(RM) $(DIR)/debian/tmp/*
|
||||||
|
$(RM) $(DIR)/debian/$(PACKAGE).install
|
||||||
|
$(RM) $(DIR)/debian/files
|
||||||
|
$(RM) $(DIR)/debian/source/include-binaries
|
||||||
|
|
||||||
|
.PHONY: all clean binary binary-arch binary-indep build
|
1
bin/Resources/debian/source/format
Normal file
|
@ -0,0 +1 @@
|
||||||
|
3.0 (quilt)
|
BIN
bin/Resources/exchndl.dll
Normal file
BIN
bin/Resources/fmod.dll
Normal file
BIN
bin/Resources/fmod64.dll
Normal file
BIN
bin/Resources/fmodex.dll
Normal file
BIN
bin/Resources/fmodex64.dll
Normal file
BIN
bin/Resources/fmodexL.dll
Normal file
BIN
bin/Resources/fmodexL64.dll
Normal file
BIN
bin/Resources/libgcc_s_dw2-1.dll
Normal file
BIN
bin/Resources/libgme.dll
Normal file
BIN
bin/Resources/libintl-8.dll
Normal file
2
bin/VC/.gitignore
vendored
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
/Release
|
||||||
|
/Debug
|
2
bin/VC9/.gitignore
vendored
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
/Win32
|
||||||
|
/x64
|
3
bin/Wii/Debug/.gitignore
vendored
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
/*.elf
|
||||||
|
/*.dol
|
||||||
|
/apps
|
3
bin/Wii/Release/.gitignore
vendored
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
/*.elf
|
||||||
|
/*.dol
|
||||||
|
/apps
|
3
bin/nds/Debug/.gitignore
vendored
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
*.arm9
|
||||||
|
*.elf*
|
||||||
|
*.nds
|
3
bin/nds/Release/.gitignore
vendored
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
*.arm9
|
||||||
|
*.elf*
|
||||||
|
*.nds
|
10
comptime.bat
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
@ECHO OFF
|
||||||
|
set REV=Unknown
|
||||||
|
copy nul: /b +%1\comptime.c tmp.$$$ > nul
|
||||||
|
move tmp.$$$ %1\comptime.c > nul
|
||||||
|
SET REV=illegal
|
||||||
|
FOR /F "usebackq" %%s IN (`svnversion %1`) DO @SET REV=%%s
|
||||||
|
ECHO // Do not edit! This file was autogenerated > %1\comptime.h
|
||||||
|
ECHO // by the %0 batch file >> %1\comptime.h
|
||||||
|
ECHO // >> %1\comptime.h
|
||||||
|
ECHO const char* comprevision = "r%REV%"; >> %1\comptime.h
|
21
comptime.mk
Normal file
|
@ -0,0 +1,21 @@
|
||||||
|
#Add-on Makefile for wxDev-C++ project file
|
||||||
|
SRCDIR=src
|
||||||
|
ifdef ComSpec
|
||||||
|
COMSPEC=$(ComSpec)
|
||||||
|
endif
|
||||||
|
|
||||||
|
all-before:
|
||||||
|
ifdef COMSPEC
|
||||||
|
${RM} $(SRCDIR)\comptime.h
|
||||||
|
comptime.bat $(SRCDIR)
|
||||||
|
else
|
||||||
|
${RM} $(SRCDIR)/comptime.h
|
||||||
|
./comptime.sh $(SRCDIR)
|
||||||
|
endif
|
||||||
|
|
||||||
|
clean-custom:
|
||||||
|
ifdef COMSPEC
|
||||||
|
${RM} $(SRCDIR)\comptime.h
|
||||||
|
else
|
||||||
|
${RM} $(SRCDIR)/comptime.h
|
||||||
|
endif
|
50
comptime.sh
Executable file
|
@ -0,0 +1,50 @@
|
||||||
|
#!/bin/sh -e
|
||||||
|
path="."
|
||||||
|
if [ x"$1" != x ]; then
|
||||||
|
path="$1"
|
||||||
|
fi
|
||||||
|
|
||||||
|
versiongit() {
|
||||||
|
gitversion=`git svn log HEAD --limit=1 --oneline | cut -f 1 -d " "`
|
||||||
|
cat <<EOF > $path/comptime.h
|
||||||
|
|
||||||
|
// Do not edit! This file was autogenerated
|
||||||
|
// by the $0 script with git svn
|
||||||
|
//
|
||||||
|
const char* comprevision = "$gitversion";
|
||||||
|
EOF
|
||||||
|
exit 0
|
||||||
|
}
|
||||||
|
|
||||||
|
versionsvn() {
|
||||||
|
svnrevision=`svnversion -n $1`
|
||||||
|
cat <<EOF > $path/comptime.h
|
||||||
|
|
||||||
|
// Do not edit! This file was autogenerated
|
||||||
|
// by the $0 script with subversion
|
||||||
|
//
|
||||||
|
const char* comprevision = "r$svnrevision";
|
||||||
|
EOF
|
||||||
|
exit 0
|
||||||
|
}
|
||||||
|
|
||||||
|
versionfake() {
|
||||||
|
cat <<EOF > $path/comptime.h
|
||||||
|
|
||||||
|
// Do not edit! This file was autogenerated
|
||||||
|
// by the $0 script with an unknown or nonexist SCM
|
||||||
|
//
|
||||||
|
const char* comprevision = "illegal";
|
||||||
|
EOF
|
||||||
|
}
|
||||||
|
|
||||||
|
compversion() {
|
||||||
|
touch $path/comptime.c
|
||||||
|
versionfake
|
||||||
|
test -d $path/.svn && versionsvn
|
||||||
|
test -d $path/../.git && versiongit
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
|
||||||
|
test -f $path/comptime.c && compversion
|
||||||
|
exit 2
|
32
cpdebug.mk
Normal file
|
@ -0,0 +1,32 @@
|
||||||
|
#Add-on Makefile for wxDev-C++ project file
|
||||||
|
ifdef ComSpec
|
||||||
|
COMSPEC=$(ComSpec)
|
||||||
|
endif
|
||||||
|
ifdef COMSPEC
|
||||||
|
OBJCOPY=objcopy.exe
|
||||||
|
OBJDUMP=objdump.exe
|
||||||
|
GZIP?=gzip.exe
|
||||||
|
else
|
||||||
|
OBJCOPY=objcopy
|
||||||
|
OBJDUMP=objdump
|
||||||
|
GZIP?=gzip
|
||||||
|
endif
|
||||||
|
DBGNAME=$(BIN).debug
|
||||||
|
OBJDUMP_OPTS?=--wide --source --line-numbers
|
||||||
|
GZIP_OPTS?=-9 -f -n
|
||||||
|
GZIP_OPT2=$(GZIP_OPTS) --rsyncable
|
||||||
|
UPX?=upx
|
||||||
|
UPX_OPTS?=--best --preserve-build-id
|
||||||
|
UPX_OPTS+=-q
|
||||||
|
|
||||||
|
all-after:
|
||||||
|
$(OBJDUMP) $(OBJDUMP_OPTS) "$(BIN)" > "$(DBGNAME).txt"
|
||||||
|
$(OBJCOPY) $(BIN) $(DBGNAME)
|
||||||
|
$(OBJCOPY) --strip-debug $(BIN)
|
||||||
|
-$(OBJCOPY) --add-gnu-debuglink=$(DBGNAME) $(BIN)
|
||||||
|
-$(GZIP) $(GZIP_OPTS) $(DBGNAME).txt
|
||||||
|
ifndef COMSPEC
|
||||||
|
$(GZIP) $(GZIP_OPT2) $(DBGNAME).txt
|
||||||
|
endif
|
||||||
|
-$(UPX) $(UPX_OPTS) $(BIN)
|
||||||
|
|
11
debian/README.Debian
vendored
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
srb2 for Debian
|
||||||
|
---------------
|
||||||
|
|
||||||
|
SRB2 Debian package!
|
||||||
|
Hi there, to rebuild these packages just use debuild in the root source directory (not /src!).
|
||||||
|
You can build these with or without a key if you want, but if you want to put these on a repo,
|
||||||
|
generate your own GnuPG key as per the https://help.ubuntu.com/community/GnuPrivacyGuardHowto
|
||||||
|
instructions and pass the -k<keyid> command to debuild. Make sure you export the key footprint
|
||||||
|
and give them to your users to install with apt-key add. Thanks!
|
||||||
|
|
||||||
|
-- Callum Dickinson <gcfreak_ag20@hotmail.com> Fri, 26 Nov 2010 18:25:31 +1300
|
42
debian/README.source
vendored
Normal file
|
@ -0,0 +1,42 @@
|
||||||
|
srb2 for Debian
|
||||||
|
---------------
|
||||||
|
|
||||||
|
Here it is! SRB2 v2.0 source code!
|
||||||
|
|
||||||
|
GNU/Linux
|
||||||
|
~~~
|
||||||
|
|
||||||
|
Dependencies:
|
||||||
|
SDL 1.2.7 or better (from libsdl.org)
|
||||||
|
SDL_Mixer 1.2.2(.7 for file-less music playback) (from libsdl.org)
|
||||||
|
Nasm (use NOASM=1 if you don't have it or have an non-i386 system, I think)
|
||||||
|
libPNG 1.2.7
|
||||||
|
Zlib 1.2.3
|
||||||
|
The Xiph.org libogg and libvorbis libraries
|
||||||
|
The OpenGL headers (from Mesa, usually shipped with your X.org or XFree
|
||||||
|
installation, so you needn't worry, most likely)
|
||||||
|
GCC 3.x toolchain and binutils
|
||||||
|
GNU Make
|
||||||
|
|
||||||
|
Build instructions:
|
||||||
|
|
||||||
|
make -C src LINUX=1
|
||||||
|
|
||||||
|
Build instructions to build for Wii Linux/SRB2Wii on a PowerPC system,
|
||||||
|
follow cross-compiling instructions for cross-compiling on a x86 system:
|
||||||
|
|
||||||
|
make -C src LINUX=1 WIILINUX=1
|
||||||
|
|
||||||
|
Build instructions to build for Pandora (Linux) on a ARM system,
|
||||||
|
follow cross-compiling instructions for cross-compiling on a x86 system:
|
||||||
|
|
||||||
|
make -C src PANDORA=1
|
||||||
|
|
||||||
|
-------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
binaries will turn in up in bin/
|
||||||
|
|
||||||
|
note: read the src/makefile for more options
|
||||||
|
|
||||||
|
- Sonic Team Junior
|
||||||
|
http://www.srb2.org
|
5
debian/changelog
vendored
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
srb2 (2.0.6-5) maverick; urgency=high
|
||||||
|
|
||||||
|
* Initial proper release..
|
||||||
|
|
||||||
|
-- Callum Dickinson <gcfreak_ag20@hotmail.com> Sat, 29 Jan 2011 01:18:42 +1300
|
1
debian/compat
vendored
Normal file
|
@ -0,0 +1 @@
|
||||||
|
7
|
36
debian/control
vendored
Normal file
|
@ -0,0 +1,36 @@
|
||||||
|
# SRB2 Debian package control file.
|
||||||
|
|
||||||
|
Source: srb2
|
||||||
|
Section: games
|
||||||
|
Priority: extra
|
||||||
|
Maintainer: Callum Dickinson <gcfreak_ag20@hotmail.com>
|
||||||
|
Build-Depends: debhelper (>= 7.0.50~), libsdl1.2-dev (>= 1.2.7), libsdl-mixer1.2-dev (>= 1.2.7), libpng12-dev (>= 1.2.7), libglu1-dev | libglu-dev, libosmesa6-dev | libgl-dev, nasm [i386]
|
||||||
|
Standards-Version: 3.8.4
|
||||||
|
Homepage: http://www.srb2.org
|
||||||
|
|
||||||
|
Package: srb2
|
||||||
|
Architecture: any
|
||||||
|
Depends: ${shlibs:Depends}, ${misc:Depends}, srb2-data (= 2.0.6)
|
||||||
|
Description: A cross-platform 3D Sonic fangame
|
||||||
|
Sonic Robo Blast 2 is a 3D open-source Sonic the Hedgehog
|
||||||
|
fangame built using a modified version of the Doom Legacy
|
||||||
|
port of Doom. SRB2 is closely inspired by the original
|
||||||
|
Sonic games from the Sega Genesis, and attempts to recreate
|
||||||
|
the design in 3D. While SRB2 isn't fully completed, it already
|
||||||
|
features tons of levels, enemies, speed, and quite a lot
|
||||||
|
of the fun that the original Sonic games provided.
|
||||||
|
|
||||||
|
Package: srb2-dbg
|
||||||
|
Architecture: any
|
||||||
|
# FIXME: should be Depends: ${shlibs:Depends}, ${misc:Depends}, srb2-data (= 2.0.6), srb2 but dh_shlibdeps is being an asshat
|
||||||
|
Depends: libc6, ${misc:Depends}, srb2-data (= 2.0.6), srb2
|
||||||
|
Description: A cross-platform 3D Sonic fangame
|
||||||
|
Sonic Robo Blast 2 is a 3D open-source Sonic the Hedgehog
|
||||||
|
fangame built using a modified version of the Doom Legacy
|
||||||
|
port of Doom. SRB2 is closely inspired by the original
|
||||||
|
Sonic games from the Sega Genesis, and attempts to recreate
|
||||||
|
the design in 3D. While SRB2 isn't fully completed, it already
|
||||||
|
features tons of levels, enemies, speed, and quite a lot
|
||||||
|
of the fun that the original Sonic games provided.
|
||||||
|
This is a debug binary, its symbols will be loaded by gdb
|
||||||
|
when the user starts the game with gdb for debugging.
|
26
debian/copyright
vendored
Normal file
|
@ -0,0 +1,26 @@
|
||||||
|
This work was packaged for Debian by:
|
||||||
|
|
||||||
|
Callum Dickinson <gcfreak_ag20@hotmail.com> on Fri, 26 Nov 2010 15:19:16 +1300
|
||||||
|
|
||||||
|
It was downloaded from:
|
||||||
|
|
||||||
|
<http://srb2.org>
|
||||||
|
|
||||||
|
Upstream Author(s):
|
||||||
|
|
||||||
|
Sonic Team Junior <stjr@srb2.org>
|
||||||
|
|
||||||
|
Copyright:
|
||||||
|
|
||||||
|
Copyright (C) 1998-2010 Sonic Team Junior
|
||||||
|
|
||||||
|
License:
|
||||||
|
|
||||||
|
GNU General Public License, version 2
|
||||||
|
|
||||||
|
The Debian packaging is:
|
||||||
|
|
||||||
|
Copyright (C) 2010 Callum Dickinson <gcfreak_ag20@hotmail.com>
|
||||||
|
|
||||||
|
and is licensed under the GPL version 2,
|
||||||
|
see "/usr/share/common-licenses/GPL-2".
|
2
debian/docs
vendored
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
readme.txt
|
||||||
|
readme.txt
|
137
debian/rules
vendored
Executable file
|
@ -0,0 +1,137 @@
|
||||||
|
#!/usr/bin/make -f
|
||||||
|
# -*- makefile -*-
|
||||||
|
|
||||||
|
#############################################################################
|
||||||
|
#
|
||||||
|
# GNU Make Debian package makefile for SRB2
|
||||||
|
#
|
||||||
|
# Copyright (C) 1998-2010 by Callum Dickinson
|
||||||
|
#
|
||||||
|
# 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.
|
||||||
|
#
|
||||||
|
# This file most likely will not need to be modified to make
|
||||||
|
# branches of SRB2 capable of making their own Debian packages,
|
||||||
|
# instead look at the /debian/control file for configuration.
|
||||||
|
#
|
||||||
|
#############################################################################
|
||||||
|
|
||||||
|
# Uncomment this to turn on verbose mode.
|
||||||
|
#export DH_VERBOSE=1
|
||||||
|
|
||||||
|
# user/group of to-be-installed files
|
||||||
|
ROOT_USER := 0
|
||||||
|
ROOT_GROUP := 0
|
||||||
|
|
||||||
|
# determine cross-compile (may need some work)
|
||||||
|
CROSS_COMPILE_BUILD := $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)
|
||||||
|
CROSS_COMPILE_HOST := $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)
|
||||||
|
CROSS_COMPILE := $(shell test "$(CROSS_COMPILE_BUILD)" != "$(CROSS_COMPILE_HOST)" && echo "$(CROSS_COMPILE_HOST)")
|
||||||
|
|
||||||
|
MKDIR = mkdir -p
|
||||||
|
MAKE = make
|
||||||
|
INSTALL = install -o $(ROOT_USER) -g $(ROOT_GROUP) -m 644
|
||||||
|
MV = mv
|
||||||
|
RM = rm -rf
|
||||||
|
STRIPARGS = --strip-unneeded
|
||||||
|
ifdef CROSS_COMPILE
|
||||||
|
STRIP = $(CROSS_COMPILE_HOST)-strip $(STRIPARGS)
|
||||||
|
else
|
||||||
|
STRIP = strip $(STRIPARGS)
|
||||||
|
endif
|
||||||
|
DIR := $(shell pwd)
|
||||||
|
|
||||||
|
# FIXME: hate hate hate head/tail hack :(
|
||||||
|
CONTROLF = $(DIR)/debian/control
|
||||||
|
PACKAGE = srb2
|
||||||
|
DBGPKG = $(PACKAGE)-dbg
|
||||||
|
TITLE = Sonic Robo Blast 2
|
||||||
|
SECTION = Games/Action
|
||||||
|
EXENAME = srb2
|
||||||
|
DBGNAME = debug/$(EXENAME)
|
||||||
|
|
||||||
|
PKGDIR = usr/games
|
||||||
|
DBGDIR = usr/lib/debug/$(PKGDIR)
|
||||||
|
PREFIX = $(shell test "$(CROSS_COMPILE_BUILD)" != "$(CROSS_COMPILE_HOST)" && echo "PREFIX=$(CROSS_COMPILE_HOST)")
|
||||||
|
OS = LINUX=1
|
||||||
|
NONX86 = $(shell test "`echo $(CROSS_COMPILE_HOST) | grep 'i[3-6]86'`" || echo "NONX86=1")
|
||||||
|
MAKEARGS = $(OS) $(NONX86) $(PREFIX) EXENAME=$(EXENAME) DBGNAME=$(DBGNAME) SDL_PKGCONFIG=sdl PNG_PKGCONFIG=libpng NOOBJDUMP=1
|
||||||
|
MENUFILE1 = ?package($(PACKAGE)):needs="X11" section="$(SECTION)"
|
||||||
|
MENUFILE2 = title="$(TITLE)" command="/$(PKGDIR)/$(PACKAGE)"
|
||||||
|
# FIXME pkg-config dir hacks
|
||||||
|
export PKG_CONFIG_LIBDIR = /usr/$(CROSS_COMPILE_HOST)/lib/pkgconfig
|
||||||
|
BINDIR := $(DIR)/bin/Linux/Release
|
||||||
|
LDFLAGS += "-Wl,-rpath=/usr/$(CROSS_COMPILE_HOST)/lib/"
|
||||||
|
|
||||||
|
build:
|
||||||
|
$(MKDIR) $(BINDIR)/debug
|
||||||
|
$(MAKE) -C $(DIR)/src $(MAKEARGS)
|
||||||
|
$(STRIP) $(BINDIR)/$(EXENAME)
|
||||||
|
|
||||||
|
binary-indep:
|
||||||
|
# only here to kill Lintian warning
|
||||||
|
echo "no need to do any arch-independent stuff"
|
||||||
|
|
||||||
|
binary-arch:
|
||||||
|
$(MKDIR) $(DIR)/debian/tmp/$(PKGDIR) $(DIR)/debian/tmp/$(DBGDIR)
|
||||||
|
$(INSTALL) $(BINDIR)/$(EXENAME) $(DIR)/debian/tmp/$(PKGDIR)/$(PACKAGE)
|
||||||
|
$(INSTALL) $(BINDIR)/$(DBGNAME) $(DIR)/debian/tmp/$(DBGDIR)/$(PACKAGE)
|
||||||
|
# add compiled binaries to include-binaries
|
||||||
|
echo $(BINDIR)/$(EXENAME) >> $(DIR)/debian/source/include-binaries
|
||||||
|
echo $(BINDIR)/$(EXENAME) >> $(DIR)/debian/source/include-binaries
|
||||||
|
# Generate install folder files
|
||||||
|
echo $(PKGDIR) > $(DIR)/debian/$(PACKAGE).install
|
||||||
|
echo $(DBGDIR) > $(DIR)/debian/$(DBGPKG).install
|
||||||
|
|
||||||
|
binary: binary-arch
|
||||||
|
# Generate .desktop specifications
|
||||||
|
echo "`echo '$(MENUFILE1)\\'`" > $(DIR)/debian/menu
|
||||||
|
echo " `echo '$(MENUFILE2)'`" >> $(DIR)/debian/menu
|
||||||
|
dh_testdir
|
||||||
|
dh_testroot
|
||||||
|
dh_installchangelogs
|
||||||
|
dh_installdocs
|
||||||
|
# dh_installexamples
|
||||||
|
dh_install --sourcedir=$(DIR)/debian/tmp
|
||||||
|
dh_installmenu
|
||||||
|
# dh_installdebconf
|
||||||
|
# dh_installlogrotate
|
||||||
|
# dh_installemacsen
|
||||||
|
# dh_installpam
|
||||||
|
# dh_installmime
|
||||||
|
# dh_python
|
||||||
|
# dh_installinit
|
||||||
|
# dh_installcron
|
||||||
|
# dh_installinfo
|
||||||
|
# dh_installman
|
||||||
|
# dh_link
|
||||||
|
dh_compress
|
||||||
|
dh_fixperms
|
||||||
|
# dh_perl
|
||||||
|
# dh_makeshlibs
|
||||||
|
dh_installdeb
|
||||||
|
-dh_shlibdeps
|
||||||
|
dh_gencontrol
|
||||||
|
dh_md5sums
|
||||||
|
dh_builddeb
|
||||||
|
|
||||||
|
clean:
|
||||||
|
$(MAKE) -C $(DIR)/src $(MAKEARGS) clean cleandep
|
||||||
|
$(RM) $(BINDIR)/*
|
||||||
|
$(RM) $(DIR)/debian/$(PACKAGE)/*
|
||||||
|
$(RM) $(DIR)/debian/$(DBGPKG)/*
|
||||||
|
$(RM) $(DIR)/debian/tmp/*
|
||||||
|
$(RM) $(DIR)/debian/$(PACKAGE).install
|
||||||
|
$(RM) $(DIR)/debian/$(DBGPKG).install
|
||||||
|
$(RM) $(DIR)/debian/menu
|
||||||
|
$(RM) $(DIR)/debian/files
|
||||||
|
$(RM) $(DIR)/debian/source/include-binaries
|
||||||
|
|
||||||
|
.PHONY: all clean binary binary-arch binary-indep build
|
1
debian/source/format
vendored
Normal file
|
@ -0,0 +1 @@
|
||||||
|
3.0 (native)
|
1
doc/.gitignore
vendored
Normal file
|
@ -0,0 +1 @@
|
||||||
|
/SRB2
|
93
doc/Doublescan.txt
Normal file
|
@ -0,0 +1,93 @@
|
||||||
|
================================================================
|
||||||
|
How to add Low-res modes to your XF86Config under Linux MANUALLY
|
||||||
|
================================================================
|
||||||
|
|
||||||
|
I TAKE NO RESPONSIBILITY FOR ANY DAMAGE DONE TO YOUR EQUIPMENT!!!
|
||||||
|
|
||||||
|
This document explains how to add low-res modes like 320x200 to your
|
||||||
|
X-Server configuration, because some new setup tools for the X-Server
|
||||||
|
do not support this. ONLY RECOMMENDED FOR USERS WHO KNOW WHAT THEY DO!
|
||||||
|
|
||||||
|
I do not take any responsibility for damage done to your monitor, your
|
||||||
|
videocard, your harddisk, your cat, your dog or anything else!!!
|
||||||
|
IMPORTANT IS, THAT YOUR "HorizSync" AND "VertRefresh" VALUES REALLY
|
||||||
|
MATCH YOUR MONITOR! OTHERWISE YOUR MONITOR CAN BLOW UP!!!
|
||||||
|
|
||||||
|
OK, if you have read up to here, you either know what you do or really
|
||||||
|
die-hard want those low-res modes. Here is what to do:
|
||||||
|
Look up your XF86Config. Is is either in /etc or in /etc/X11. Here is
|
||||||
|
what you have to add to the definition of your modeslines:
|
||||||
|
|
||||||
|
# Low-res Doublescan modes
|
||||||
|
# If your chipset does not support doublescan, you get a 'squashed'
|
||||||
|
# resolution like 320x400.
|
||||||
|
|
||||||
|
# 320x200 @ 70 Hz, 31.5 kHz hsync, 8:5 aspect ratio
|
||||||
|
Modeline "320x200" 12.588 320 336 384 400 200 204 205 225 Doublescan
|
||||||
|
# 320x240 @ 60 Hz, 31.5 kHz hsync, 4:3 aspect ratio
|
||||||
|
Modeline "320x240" 12.588 320 336 384 400 240 245 246 262 Doublescan
|
||||||
|
# 320x240 @ 72 Hz, 36.5 kHz hsync
|
||||||
|
Modeline "320x240" 15.750 320 336 384 400 240 244 246 262 Doublescan
|
||||||
|
# 400x300 @ 56 Hz, 35.2 kHz hsync, 4:3 aspect ratio
|
||||||
|
ModeLine "400x300" 18 400 416 448 512 300 301 302 312 Doublescan
|
||||||
|
# 400x300 @ 60 Hz, 37.8 kHz hsync
|
||||||
|
Modeline "400x300" 20 400 416 480 528 300 301 303 314 Doublescan
|
||||||
|
# 400x300 @ 72 Hz, 48.0 kHz hsync
|
||||||
|
Modeline "400x300" 25 400 424 488 520 300 319 322 333 Doublescan
|
||||||
|
|
||||||
|
If your video card only supports a specific set of discrete dotclocks
|
||||||
|
(RAMDAC) you may have to replace the dotclocks given here by one of the
|
||||||
|
specified (e.g in the first modeline the dotclock is 12.588 MHz). I believe
|
||||||
|
that nowadays all cards and monitors should work with these settings, but
|
||||||
|
if you have outdated hardware you better check the frequencies yourself. If
|
||||||
|
there is any uncertainty, please check the "XFree86 Video Timings HOWTO".
|
||||||
|
|
||||||
|
|
||||||
|
Then have a look at the section "Screen" with the appropriate driver
|
||||||
|
(usually either "svga" or "accel"). Under Subsection "Display" there
|
||||||
|
are modes for the given color depth. Add the desired modes. As an
|
||||||
|
example I give you my screens definition here with low-res modes in
|
||||||
|
16 bit color depth:
|
||||||
|
|
||||||
|
Section "Screen"
|
||||||
|
Driver "accel"
|
||||||
|
Device "3D Charger"
|
||||||
|
Monitor "Iiyama Pro 450"
|
||||||
|
DefaultColorDepth 16
|
||||||
|
|
||||||
|
Subsection "Display"
|
||||||
|
Depth 8
|
||||||
|
Modes "1280x1024" "1024x768" "800x600" "640x480"
|
||||||
|
ViewPort 0 0
|
||||||
|
Virtual 1280 1024
|
||||||
|
EndSubsection
|
||||||
|
Subsection "Display"
|
||||||
|
Depth 16
|
||||||
|
Modes "1152x864" "1024x768" "800x600" "640x480" "400x300" "320x200" <- THIS IS ACTUALLY WHAT YOU WANT!!!
|
||||||
|
ViewPort 0 0 ^^^^^^^^^^^^^^^^^^^
|
||||||
|
Virtual 1152 864
|
||||||
|
EndSubsection
|
||||||
|
Subsection "Display"
|
||||||
|
Depth 24
|
||||||
|
Modes "800x600" "640x480"
|
||||||
|
ViewPort 0 0
|
||||||
|
Virtual 800 600
|
||||||
|
EndSubsection
|
||||||
|
Subsection "Display"
|
||||||
|
Depth 32
|
||||||
|
Modes "800x600" "640x480"
|
||||||
|
ViewPort 0 0
|
||||||
|
Virtual 800 600
|
||||||
|
EndSubsection
|
||||||
|
EndSection
|
||||||
|
|
||||||
|
Once again: important is, that you edit the correct Screen section.
|
||||||
|
If you use the SVGA Server and edit the ACCEL Server, you might
|
||||||
|
wonder where your new modes have gone.
|
||||||
|
|
||||||
|
If everything went fine and you want to say thank you, just write
|
||||||
|
to "metzgermeister@users.sourceforge.net". If your monitor blew
|
||||||
|
up and you want to kill me, find me playing Legacy or Q3A on the net
|
||||||
|
and frag me (with your second monitor, hehe).
|
||||||
|
|
||||||
|
- metzgermeister
|
212
doc/Item Ranges.txt
Normal file
|
@ -0,0 +1,212 @@
|
||||||
|
1-99 : Player Starts
|
||||||
|
1 - Player 1 Start 1
|
||||||
|
2 - Player 2 Start 2
|
||||||
|
3 - Player 3 Start 3
|
||||||
|
4 - Player 4 Start 4
|
||||||
|
5 - Player 5 Start 4001
|
||||||
|
6 - Player 6 Start 4002
|
||||||
|
7 - Player 7 Start 4003
|
||||||
|
8 - Player 8 Start 4004
|
||||||
|
9 - Player 9 Start 4005
|
||||||
|
10 - Player 10 Start 4006
|
||||||
|
11 - Player 11 Start 4007
|
||||||
|
12 - Player 12 Start 4008
|
||||||
|
13 - Player 13 Start 4009
|
||||||
|
14 - Player 14 Start 4010
|
||||||
|
15 - Player 15 Start 4011
|
||||||
|
16 - Player 16 Start 4012
|
||||||
|
17 - Player 17 Start 4013
|
||||||
|
18 - Player 18 Start 4014
|
||||||
|
19 - Player 19 Start 4015
|
||||||
|
20 - Player 20 Start 4016
|
||||||
|
21 - Player 21 Start 4017
|
||||||
|
22 - Player 22 Start 4018
|
||||||
|
23 - Player 23 Start 4019
|
||||||
|
24 - Player 24 Start 4020
|
||||||
|
25 - Player 25 Start 4021
|
||||||
|
26 - Player 26 Start 4022
|
||||||
|
27 - Player 27 Start 4023
|
||||||
|
28 - Player 28 Start 4024
|
||||||
|
29 - Player 29 Start 4025
|
||||||
|
30 - Player 30 Start 4026
|
||||||
|
31 - Player 31 Start 4027
|
||||||
|
32 - Player 32 Start 4028
|
||||||
|
33 - Player Match Start 11
|
||||||
|
34 - Red Team Start 87
|
||||||
|
35 - Blue Team Start 89
|
||||||
|
36 - Tag start New
|
||||||
|
|
||||||
|
100 - 199 : Enemies
|
||||||
|
100 - Blue Crawla 3004
|
||||||
|
101 - Red Crawla 9
|
||||||
|
102 - GFZ Fish 58
|
||||||
|
103 - Gold Buzz 5005
|
||||||
|
104 - Red Buzz 5006
|
||||||
|
105 - Jetty-Syn Bomber 3005
|
||||||
|
106 - Jetty-Syn Gunner 22
|
||||||
|
107 - Crawla Commander 21
|
||||||
|
108 - Deton 71
|
||||||
|
109 - Skim 56
|
||||||
|
110 - THZ Turret 2004
|
||||||
|
111 - Pop-up Turret 42
|
||||||
|
|
||||||
|
200 - 299 : Bosses and their associated items (if any)
|
||||||
|
200 - Boss 1 16
|
||||||
|
201 - Boss 2 2008
|
||||||
|
290 - Boss Fly Point 17
|
||||||
|
291 - EggTrap Center 2049
|
||||||
|
|
||||||
|
300 - 399 : Collectibles
|
||||||
|
300 - Ring 2014
|
||||||
|
301 - Homing Ring 69
|
||||||
|
302 - Rail Ring 3003
|
||||||
|
303 - Infinity Ring 80
|
||||||
|
304 - Automatic Ring 26
|
||||||
|
305 - Explosion Ring 54
|
||||||
|
306 - Red CTF Flag 31
|
||||||
|
307 - Blue CTF Flag 34
|
||||||
|
308 - Special Stage Token 2013
|
||||||
|
309 - Emerald 1 420
|
||||||
|
310 - Emerald 2 421
|
||||||
|
311 - Emerald 3 422
|
||||||
|
312 - Emerald 4 423
|
||||||
|
313 - Emerald 5 424
|
||||||
|
314 - Emerald 6 425
|
||||||
|
315 - Emerald 7 426
|
||||||
|
316 - Hunting Emerald 1 64
|
||||||
|
317 - Hunting Emerald 2 3002
|
||||||
|
318 - Hunting Emerald 3 3001
|
||||||
|
|
||||||
|
400 - 499 : Boxes
|
||||||
|
400 - Super Ring Box 2011
|
||||||
|
401 - Grey Ring Box 2012
|
||||||
|
402 - Ring Shield Box 48
|
||||||
|
403 - Fire Shield Box 2002
|
||||||
|
404 - Bomb Shield Box 2018
|
||||||
|
405 - Jump Shield Box 35
|
||||||
|
406 - Water Shield Box 2028
|
||||||
|
407 - Sneaker Box 25
|
||||||
|
408 - Invincibility Box 2022
|
||||||
|
409 - 1-Up Box 41
|
||||||
|
410 - Eggman Box 2005
|
||||||
|
411 - Mixup Box 78
|
||||||
|
412 - Question Box 3000
|
||||||
|
|
||||||
|
500 - 599 : Interactive Objects (friendly or otherwise - includes springs)
|
||||||
|
500 - Bubble Patch 33
|
||||||
|
501 - Level End Sign 86
|
||||||
|
502 - Starpost 3006
|
||||||
|
520 - Spike Ball -1
|
||||||
|
521 - Special Stage Spike Ball 23
|
||||||
|
522 - Ceiling Spike 67
|
||||||
|
523 - Floor Spike 68
|
||||||
|
540 - Fan 32
|
||||||
|
541 - Steam Riser 30
|
||||||
|
550 - Yellow Spring 28
|
||||||
|
551 - Red Spring 79
|
||||||
|
552 - Blue Spring 5004
|
||||||
|
553 - Yellow Spring Down 65
|
||||||
|
554 - Red Spring Down 66
|
||||||
|
555 - Yellow Diagonal Spring 2015
|
||||||
|
556 - Red Diagonal Spring 38
|
||||||
|
557 - Yellow Diag Spring Down 20
|
||||||
|
558 - Red Diag Spring Down 39
|
||||||
|
|
||||||
|
600 - 699 : Special placement patterns
|
||||||
|
600 - Vertical Rigns - Stack of 5 (suitable for Yellow Spring) 84
|
||||||
|
601 - Vertical Rings - Stack of 5 (suitable for Red Spring) 44
|
||||||
|
602 - Diagonal rings (5) 76
|
||||||
|
603 - Diagonal rings (10) 77
|
||||||
|
604 - A ring of rings 47
|
||||||
|
605 - A BIGGER ring of rings 2007
|
||||||
|
606 - A ring of wing items 2048
|
||||||
|
607 - A BIGGER ring of wing items 2010
|
||||||
|
608 - A ring of rings and wings (alternating) 2046
|
||||||
|
609 - A BIGGER ring of rings and wings (alternating) 2047
|
||||||
|
|
||||||
|
700 - 799 : Powerup indicators/environmental effects/miscellany
|
||||||
|
700 - Ambient Water 1a (S) 2026
|
||||||
|
701 - Ambient Water 1b (S) 2024
|
||||||
|
702 - Ambient Water 2a (M) 2023
|
||||||
|
703 - Ambient Water 2b (M) 2045
|
||||||
|
704 - Ambient Water 3a (L) 83
|
||||||
|
705 - Ambient Water 3b (L) 2019
|
||||||
|
706 - Ambient Water 4a (XL) 2025
|
||||||
|
707 - Ambient Water 4b (XL) 27
|
||||||
|
708 - Random Ambient 1 14
|
||||||
|
709 - Random Ambient 2 43
|
||||||
|
750 - Chaos Spawner 8
|
||||||
|
751 - Teleport Point 5003
|
||||||
|
752 - Alternate View Point 5007
|
||||||
|
753 - Zoom Tube Waypoint 18
|
||||||
|
754 - Pusher 5001
|
||||||
|
755 - Puller 5002
|
||||||
|
756 - Street Light 2003
|
||||||
|
|
||||||
|
800 - 899 : Greenflower Scenery
|
||||||
|
800 - Flower 1 36
|
||||||
|
801 - Flower 2 70
|
||||||
|
802 - Flower 3 73
|
||||||
|
804 - Berry Bush 74
|
||||||
|
805 - Bush 75
|
||||||
|
|
||||||
|
900 - 999 : Techno Hill Scenery
|
||||||
|
900 - THZ Plant 2035
|
||||||
|
901 - Alarm 2006
|
||||||
|
|
||||||
|
1000 - 1099 : Deep Sea Scenery
|
||||||
|
1000 - Gargoyle 81
|
||||||
|
|
||||||
|
1100 - 1199 : Castle Eggman Scenery
|
||||||
|
1100 - Ceiling Chain 49
|
||||||
|
1101 - Torch Flame 24
|
||||||
|
1102 - Eggman Statue 52
|
||||||
|
1103 - CEZ Flower 2001
|
||||||
|
|
||||||
|
1200 - 1299 : Arid Canyon Scenery
|
||||||
|
1300 - 1399 : Red Volcano Scenery
|
||||||
|
1400 - 1499 : Dark City Scenery
|
||||||
|
1500 - 1599 : Doom Ship Scenery
|
||||||
|
1600 - 1699 : Egg Rock/Final Fight Scenery
|
||||||
|
1700 - 1799 : NiGHTS Items
|
||||||
|
1700 - Axis 72
|
||||||
|
1701 - Axis Transfer (Normal) 61
|
||||||
|
1702 - Axis Transfer (Line) 46
|
||||||
|
1703 - Nights Drone 60
|
||||||
|
1704 - Nights Bumper 82
|
||||||
|
1705 - Hoop 57
|
||||||
|
1706 - Nights Wing 37
|
||||||
|
1707 - Super Loop Powerup 3007
|
||||||
|
1708 - Drill Refill Powerup 3008
|
||||||
|
1709 - Helper Powerup 3009
|
||||||
|
1710 - Egg Capsule 40
|
||||||
|
|
||||||
|
1800 - 1849 : Mario Items
|
||||||
|
1800 - Coin 10005
|
||||||
|
1801 - Goomba 10000
|
||||||
|
1802 - Blue Goomba 10001
|
||||||
|
1803 - FireFlower 50
|
||||||
|
1804 - Shell 10
|
||||||
|
1805 - Puma 29
|
||||||
|
1806 - Koopa 19
|
||||||
|
1807 - Axe 12
|
||||||
|
1808 - Mario Bush 1 10002
|
||||||
|
1809 - Mario Bush 2 10003
|
||||||
|
1810 - Toad 10004
|
||||||
|
|
||||||
|
1850 - 1899 : Christmas Items
|
||||||
|
1850 - Xmas Pole 5
|
||||||
|
1851 - Candy Cane 13
|
||||||
|
1852 - Snowman 6
|
||||||
|
|
||||||
|
1900 - 1999 : Misc Scenery
|
||||||
|
1900 - Stalagmite 0
|
||||||
|
1901 - Stalagmite 1
|
||||||
|
1902 - Stalagmite 2
|
||||||
|
1903 - Stalagmite 3
|
||||||
|
1904 - Stalagmite 4
|
||||||
|
1905 - Stalagmite 5
|
||||||
|
1906 - Stalagmite 6
|
||||||
|
1907 - Stalagmite 7
|
||||||
|
1908 - Stalagmite 8
|
||||||
|
1909 - Stalagmite 9
|
223
doc/Linedef Ranges.txt
Normal file
|
@ -0,0 +1,223 @@
|
||||||
|
Description OldNum NewNum Description
|
||||||
|
Old Water 14 Removed
|
||||||
|
|
||||||
|
Level Parameters/Misc:
|
||||||
|
Per-Sector Gravity 64 1
|
||||||
|
Custom Exit 71 2
|
||||||
|
Zoom Tube Parameters 18 3
|
||||||
|
Speed Pad 65 4
|
||||||
|
Camera Scanner 63 5
|
||||||
|
Disable Linedef 73 6
|
||||||
|
Flat Alignment 66 7
|
||||||
|
Sector Special Parameters New 8
|
||||||
|
Mace Parameters New 9
|
||||||
|
Sprite Cull Height New 10
|
||||||
|
Rope Hang Parameters New 11
|
||||||
|
Rock Spawner Parameters New 12
|
||||||
|
|
||||||
|
PolyObjects
|
||||||
|
Marks first line in PolyObject New 20
|
||||||
|
Explicitly includes a PolyObject line New 21
|
||||||
|
PolyObject: Parameters New 22
|
||||||
|
PolyObject: Waving Flag New 31
|
||||||
|
|
||||||
|
Level-Load Effects:
|
||||||
|
Instant Floor Lower 26 50
|
||||||
|
Instant Ceiling Raise 24 51
|
||||||
|
Continuously Falling Sector 88 52
|
||||||
|
Continuous Floor/Ceiling Mover 2 53
|
||||||
|
Continuous Floor Mover 3 54
|
||||||
|
Continuous Ceiling Mover 4 55
|
||||||
|
Continuous Two-Speed Floor/Ceiling Mover 6 56
|
||||||
|
Continuous Two-Speed Floor Mover 7 57
|
||||||
|
Continuous Two-Speed Ceiling Mover 8 58
|
||||||
|
Activate Floating Platform 232 59
|
||||||
|
Activate Floating Platform (Adjustable Speed) 233 60
|
||||||
|
Crusher 1 (Ceiling to Floor) 43 61
|
||||||
|
Crusher 2 (Floor to Ceiling) 50 62
|
||||||
|
Fake Floor/Ceiling 242 63
|
||||||
|
Appearing/Disappearing FOF New 64
|
||||||
|
Bridge Thinker New 65
|
||||||
|
|
||||||
|
Floor Over Floors:
|
||||||
|
"Floor Over Floor: Solid, Opaque, Shadowcasting " 25 100
|
||||||
|
"Floor Over Floor: Solid, Opaque, Non-Shadowcasting " 33 101
|
||||||
|
"Floor Over Floor: Solid, Translucent " 44 102
|
||||||
|
"Floor Over Floor: Solid, Sides Only " 69 103
|
||||||
|
"Floor Over Floor: Solid, No Sides " 51 104
|
||||||
|
"Floor Over Floor: Solid, Invisible " 57 105
|
||||||
|
|
||||||
|
"Floor Over Floor: Water, Opaque " 48 120
|
||||||
|
"Floor Over Floor: Water, Translucent " 45 121
|
||||||
|
"Floor Over Floor: Water, Opaque, No Sides " 75 122
|
||||||
|
"Floor Over Floor: Water, Translucent, No Sides " 74 123
|
||||||
|
|
||||||
|
"Floor Over Floor: Platform, Opaque " 59 140
|
||||||
|
"Floor Over Floor: Platform, Translucent " 81 141
|
||||||
|
"Floor Over Floor: Platform, Translucent, No Sides " 77 142
|
||||||
|
|
||||||
|
Floor Over Floor: Bobbing (Air) 38 150
|
||||||
|
Floor Over Floor: Adjustable Bobbing (Air) 68 151
|
||||||
|
Floor Over Floor: Reverse Adjustable Bobbing (Air) 72 152
|
||||||
|
|
||||||
|
"Floor Over Floor: Floating, Bobbing " 34 160
|
||||||
|
|
||||||
|
Floor Over Floor: Crumbling (Respawn) 36 170
|
||||||
|
Floor Over Floor: Crumbling (No Respawn) 35 171
|
||||||
|
"Floor Over Floor: Crumbling (Respawn), Platform " 79 172
|
||||||
|
"Floor Over Floor: Crumbling (No Respawn), Platform " 80 173
|
||||||
|
"Floor Over Floor: Crumbling (Respawn), Platform, Translucent " 82 174
|
||||||
|
"Floor Over Floor: Crumbling (No Respawn), Platform, Translucent " 83 175
|
||||||
|
"Floor Over Floor: Crumbling (Respawn), Floating, Bobbing " 39 176
|
||||||
|
"Floor Over Floor: Crumbling (No Respawn), Floating, Bobbing " 1 177
|
||||||
|
"Floor Over Floor: Crumbling (Respawn), Floating " 37 178
|
||||||
|
"Floor Over Floor: Crumbling (No Respawn), Floating " 42 179
|
||||||
|
"Floor Over Floor: Crumbling (Respawn), Bobbing (Air) " 40 180
|
||||||
|
|
||||||
|
"Floor Over Floor: Rising Platform, Solid, Opaque, Shadowcasting " 89 190
|
||||||
|
"Floor Over Floor: Rising Platform, Solid, Opaque, Non-Shadowcasting " 90 191
|
||||||
|
"Floor Over Floor: Rising Platform, Solid, Translucent " 91 192
|
||||||
|
"Floor Over Floor: Rising Platform, Solid, Invisible " 94 193
|
||||||
|
"Floor Over Floor: Rising Platform, Platform, Opaque " 92 194
|
||||||
|
"Floor Over Floor: Rising Platform, Platform, Translucent " 93 195
|
||||||
|
|
||||||
|
Floor Over Floor: Light Block 49 200
|
||||||
|
Floor Over Floor: Half Light Block 47 201
|
||||||
|
Floor Over Floor: Fog Block 46 202
|
||||||
|
|
||||||
|
"Floor Over Floor: Intangible, Opaque " 62 220
|
||||||
|
"Floor Over Floor: Intangible, Translucent " 52 221
|
||||||
|
"Floor Over Floor: Intangible, Sides Only " 67 222
|
||||||
|
"Floor Over Floor: Intangible, Invisible " 58 223
|
||||||
|
|
||||||
|
Floor Over Floor: Mario Block 41 250
|
||||||
|
Floor Over Floor: Thwomp Block 54 251
|
||||||
|
Floor Over Floor: Shatter Block 76 252
|
||||||
|
"Floor Over Floor: Shatter Block, Translucent " 86 253
|
||||||
|
Floor Over Floor: Bustable Block 55 254
|
||||||
|
Floor Over Floor: Spin Bust Block 78 255
|
||||||
|
"Floor Over Floor: Spin Bust Block, Translucent " 84 256
|
||||||
|
Floor Over Floor: Quicksand Block 56 257
|
||||||
|
Floor Over Floor: Laser Block 53 258
|
||||||
|
Floor Over Floor: Custom 87 259
|
||||||
|
|
||||||
|
Linedef Executor Triggers:
|
||||||
|
Trigger Linedef Executor (Continuous) 96 300
|
||||||
|
Trigger Linedef Executor (Each Time) 97 301
|
||||||
|
Trigger Linedef Executor (Once) 98 302
|
||||||
|
Trigger Linedef Executor (Ring Count - Continuous) 95 303
|
||||||
|
Trigger Linedef Executor (Ring Count - Once) 99 304
|
||||||
|
Trigger Linedef Executor (Character Ability - Continuous) 19 305
|
||||||
|
Trigger Linedef Executor (Character Ability - Each Time) 20 306
|
||||||
|
Trigger Linedef Executor (Character Ability - Once) 21 307
|
||||||
|
"Trigger Linedef Executor (Race Only, Once) " 9 308
|
||||||
|
Trigger Linedef Executor (CTF Red Team - Continuous) 10 309
|
||||||
|
Trigger Linedef Executor (CTF Red Team - Each Time) 11 310
|
||||||
|
Trigger Linedef Executor (CTF Blue Team - Continuous) 12 311
|
||||||
|
Trigger Linedef Executor (CTF Blue Team - Each Time) 13 312
|
||||||
|
Trigger Linedef Executor (No More Enemies - Once) 15 313
|
||||||
|
Trigger Linedef Executor (# of Pushables - Continuous) New 314
|
||||||
|
Trigger Linedef Executor (# of Pushables - Once) New 315
|
||||||
|
Trigger Linedef Executors (PolyObject - Land On) New 316
|
||||||
|
Trigger Linedef Executor (Level Load) New 399
|
||||||
|
|
||||||
|
Linedef Executor Options:
|
||||||
|
Linedef Executor: Set Tagged Sector's Floor Height/Pic 101 400
|
||||||
|
Linedef Executor: Set Tagged Sector's Ceiling Height/Pic 102 401
|
||||||
|
Linedef Executor: Set Tagged Sector's Light Level 103 402
|
||||||
|
Linedef Executor: Move Tagged Sector's Floor 106 403
|
||||||
|
Linedef Executor: Move Tagged Sector's Ceiling 107 404
|
||||||
|
Linedef Executor: Lower Floor by Line 108 405
|
||||||
|
Linedef Executor: Raise Floor by Line 109 406
|
||||||
|
Linedef Executor: Lower Ceiling by Line 110 407
|
||||||
|
Linedef Executor: Raise Ceiling by Line 111 408
|
||||||
|
Linedef Executor: Change Calling Sector's Tag 112 409
|
||||||
|
Linedef Executor: Change Front Sector's Tag 114 410
|
||||||
|
Linedef Executor: Stop Plane Movement 116 411
|
||||||
|
Linedef Executor: Teleport Player to Tagged Sector 104 412
|
||||||
|
Linedef Executor: Change Music 105 413
|
||||||
|
Linedef Executor: Play SFX 115 414
|
||||||
|
Linedef Executor: Run Script 113 415
|
||||||
|
Linedef Executor: Start Adjustable Fire Flicker 119 416
|
||||||
|
Linedef Executor: Start Adjustable Glowing Light 120 417
|
||||||
|
Linedef Executor: Start Adjustable Strobe Flash (unsynchronized) New 418
|
||||||
|
Linedef Executor: Start Adjustable Strobe Flash (synchronized) New 419
|
||||||
|
Linedef Executor: Fade Light Level 117 420
|
||||||
|
Linedef Executor: Stop Lighting Effect 118 421
|
||||||
|
Linedef Executor: Cut-Away View 121 422
|
||||||
|
Linedef Executor: Change Sky 123 423
|
||||||
|
Linedef Executor: Change Weather 124 424
|
||||||
|
Linedef Executor: Change Object State 125 425
|
||||||
|
Linedef Executor: Stop Object 122 426
|
||||||
|
Linedef Executor: Award Score 126 427
|
||||||
|
Linedef Executor: Start Platform Movement 127 428
|
||||||
|
Linedef Executor: Crush Ceiling Once New 429
|
||||||
|
Linedef Executor: Crush Floor Once New 430
|
||||||
|
Linedef Executor: Crush Floor & Ceiling Once New 431
|
||||||
|
Linedef Executor: Enable 2D Mode New 432
|
||||||
|
Linedef Executor: Disable 2D Mode New 433
|
||||||
|
Linedef Executor: Award Custom Power New 434
|
||||||
|
Linedef Executor: Stop Conveyor New 435
|
||||||
|
Linedef Executor: Start Conveyor New 436
|
||||||
|
Linedef Executor: Disable Player Movement New 437
|
||||||
|
|
||||||
|
Linedef Executor: Execute Linedef Executor New 450
|
||||||
|
|
||||||
|
Linedef Executor: PolyObject: Door Slide New 480
|
||||||
|
Linedef Executor: PolyObject: Door Swing New 481
|
||||||
|
Linedef Executor: PolyObject: Move XY New 482
|
||||||
|
Linedef Executor: PolyObject: Move XY w/ override New 483
|
||||||
|
Linedef Executor: PolyObject: Rotate Right New 484
|
||||||
|
Linedef Executor: PolyObject: Rotate Right w/ override New 485
|
||||||
|
Linedef Executor: PolyObject: Rotate Left New 486
|
||||||
|
Linedef Executor: PolyObject: Rotate Left w/ override New 487
|
||||||
|
Linedef Executor: PolyObject: Start waypoint movement New 488
|
||||||
|
Linedef Executor: PolyObject: Make Invisible New 489
|
||||||
|
Linedef Executor: PolyObject: Make Visible New 490
|
||||||
|
|
||||||
|
Scrollers/Pushers:
|
||||||
|
Scroll Wall First Side Left 100 500
|
||||||
|
Scroll Wall First Side Opposite Direction 85 501
|
||||||
|
Scroll Wall According to Linedef 254 502
|
||||||
|
Acc Scroll Wall According to Linedef 218 503
|
||||||
|
Disp Scroll Wall According to Linedef 249 504
|
||||||
|
Scroll Texture by Offsets 255 505
|
||||||
|
|
||||||
|
Scroll Floor Texture 251 510
|
||||||
|
Acc Scroll Floor Texture 215 511
|
||||||
|
Disp Scroll Floor Texture 246 512
|
||||||
|
Scroll Ceiling Texture 250 513
|
||||||
|
Acc Scroll Ceiling Texture 214 514
|
||||||
|
Disp Scroll Ceiling Texture 245 515
|
||||||
|
|
||||||
|
Carry Objects on Floor (no scroll) 252 520
|
||||||
|
Acc Carry Objects on Floor 216 521
|
||||||
|
Disp Carry Objects on Floor 247 522
|
||||||
|
Carry Objects on Ceiling 203 523
|
||||||
|
Acc Carry Objects on Ceiling 205 524
|
||||||
|
Disp Carry Objects on Ceiling 201 525
|
||||||
|
|
||||||
|
Scroll Floor Texture and Carry Objects 253 530
|
||||||
|
Acc Scroll Floor Texture and Carry Objects 217 531
|
||||||
|
Disp Scroll Floor Texture and Carry Objects 248 532
|
||||||
|
Scroll Ceiling Texture and Carry Objects 202 533
|
||||||
|
Acc Scroll Ceiling Texture and Carry Objects 204 534
|
||||||
|
Disp Scroll Ceiling Texture and Carry Objects 200 535
|
||||||
|
|
||||||
|
Friction 223 540
|
||||||
|
Horizontal Wind 224 541
|
||||||
|
Upwards Wind 229 542
|
||||||
|
Downwards Wind 230 543
|
||||||
|
Horizontal Current 225 544
|
||||||
|
Upwards Current 227 545
|
||||||
|
Downwards Current 228 546
|
||||||
|
Boom Push/Pull Thing 226 547
|
||||||
|
|
||||||
|
Lighting:
|
||||||
|
Floor Lighting 213 600
|
||||||
|
Ceiling Lighting 5 601
|
||||||
|
Adjustable Pulsating Light 60 602
|
||||||
|
Adjustable Flickering Light 61 603
|
||||||
|
Adjustable Blinking Light (unsynchronized) New 604
|
||||||
|
Adjustable Blinking Light (synchronized) New 605
|
||||||
|
Colormap 16 606
|
BIN
doc/SSN-Todo.xls
Normal file
78
doc/Sector Ranges.txt
Normal file
|
@ -0,0 +1,78 @@
|
||||||
|
Removed:
|
||||||
|
- Buttons 1-20 690-709
|
||||||
|
- Button 21 (THZ2 A/740 B/741 D/742 E/745 710
|
||||||
|
- Close Door Blazing (Tag 743) 711
|
||||||
|
- Raise Ceiling to Highest (Tag 744) 981
|
||||||
|
- THZ2 Slime Raise (B/712 W713 P714 D715 S716) 986
|
||||||
|
|
||||||
|
Stuff to Remove/Change:
|
||||||
|
- Light Blinks On Every 0.5 Seconds 2 Add Linedef Combine
|
||||||
|
- Light Blinks On Every 1 Second 3 Add Linedef Combine
|
||||||
|
- Light Pulses Smoothly 8 Remove
|
||||||
|
- Light Blinks On Every 0.5 Seconds (Sync) 12 Add Linedef Combine
|
||||||
|
- Lights Blinks On Every 1 Second (Sync) 13 Add Linedef Combine
|
||||||
|
- Light Flickers Like Fire 17 Remove
|
||||||
|
? - Damage (Fire) and Current 519 Remove (convert to combination)
|
||||||
|
? - Damage (Water) and Current 984 Remove (convert to combination)
|
||||||
|
|
||||||
|
Section 1:
|
||||||
|
1 - Damage (Generic) 11
|
||||||
|
2 - Damage (Water) 983
|
||||||
|
3 - Damage (Fire) 7
|
||||||
|
4 - Damage (Electrical) 18
|
||||||
|
5 - Spikes 4
|
||||||
|
6 - Death Pit (Camera Mod) 16
|
||||||
|
7 - Death Pit (No Camera Mod) 5
|
||||||
|
8 - Instant Kill 10
|
||||||
|
9 - Ring Drainer (Floor Touch) 978
|
||||||
|
10 - Ring Drainer (No Floor Touch) 980
|
||||||
|
11 - Special Stage Damage 9
|
||||||
|
12 - Space Countdown 6
|
||||||
|
13 - Ramp Sector (Increase step-up) 992
|
||||||
|
14 - Non-Ramp Sector (Don't step-down) 996
|
||||||
|
15 - Bouncy Sector (FOF Control Only) 14
|
||||||
|
|
||||||
|
Section 2: << 4
|
||||||
|
1 - Trigger Linedef Exec (Pushable Objects) 971
|
||||||
|
2 - Trigger LD Exec (Anywhere in Sec/All Pls) 972
|
||||||
|
3 - Trigger Linedef Exec (Floor Touch/All Pls) 973
|
||||||
|
4 - Trigger Linedef Exec (Anywhere in Sec) 974
|
||||||
|
5 - Trigger Linedef Exec (Floor Touch) 975
|
||||||
|
6 - Trigger Linedef Exec (Emerald Check) 967
|
||||||
|
7 - Trigger Linedef Exec (NiGHTS Mare) 968
|
||||||
|
8 - Check for linedef executor on FOFs (ANY) 970
|
||||||
|
9 - Egg Trap Capsule 666
|
||||||
|
10 - Special Stage Time/Rings, Par 990
|
||||||
|
11 - Custom Global Gravity 991
|
||||||
|
|
||||||
|
Section 3: << 8
|
||||||
|
1 - Ice/Sludge (required?!) 256
|
||||||
|
2 - Wind/Current (required?!) 512
|
||||||
|
3 - Ice/Sludge and Wind/Current 768
|
||||||
|
4 - Conveyor Belt 985
|
||||||
|
5 - Speed Pad (No Spin) 976
|
||||||
|
6 - Speed Pad (Spin) 977
|
||||||
|
7 - Bustable Block Sprite Parameter 1500-1515
|
||||||
|
8 - "
|
||||||
|
9 - "
|
||||||
|
10 - "
|
||||||
|
11 - "
|
||||||
|
12 - "
|
||||||
|
13 - "
|
||||||
|
14 - "
|
||||||
|
15 - "
|
||||||
|
|
||||||
|
Section 4: << 12
|
||||||
|
1 - Starpost Activator 993
|
||||||
|
2 - Special Stage Goal Combine 33
|
||||||
|
2 - Exit Sector Combine 982
|
||||||
|
2 - No Tag Zone Combine 987
|
||||||
|
2 - CTF: Flag Return Combine 995
|
||||||
|
3 - CTF: Red Team Base 988
|
||||||
|
4 - CTF: Blue Team Base 989
|
||||||
|
5 - Fan Sector 997
|
||||||
|
6 - Super Sonic Transform 969
|
||||||
|
7 - Spinner 979
|
||||||
|
8 - Zoom Tube Start 998
|
||||||
|
9 - Zoom Tube End 999
|
||||||
|
10 - Finish Line 994
|
339
doc/copying
Normal file
|
@ -0,0 +1,339 @@
|
||||||
|
GNU GENERAL PUBLIC LICENSE
|
||||||
|
Version 2, June 1991
|
||||||
|
|
||||||
|
Copyright (C) 1989, 1991 Free Software Foundation, Inc.
|
||||||
|
675 Mass Ave, Cambridge, MA 02139, 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.
|
||||||
|
|
||||||
|
GNU GENERAL PUBLIC LICENSE
|
||||||
|
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
|
||||||
|
|
||||||
|
Appendix: 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 a brief idea of what it does.>
|
||||||
|
Copyright (C) 19yy <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., 675 Mass Ave, Cambridge, MA 02139, 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) 19yy 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.
|
307
doc/faq.txt
Normal file
|
@ -0,0 +1,307 @@
|
||||||
|
SRB2
|
||||||
|
Release v1.09, ? 2005.
|
||||||
|
|
||||||
|
Last Updated: June 2005
|
||||||
|
|
||||||
|
Original game & sources by: Id Software.
|
||||||
|
Additions: (c)1998 by: Fabrice Denis & Boris Pereira
|
||||||
|
(c)1999 by: Fabrice Denis, Boris Pereira & Thierry Van Elsuwe
|
||||||
|
(c)2000 by: Boris Pereira & Thierry Van Elsuwe
|
||||||
|
(c)2004 By: AJ, Graue, Alam Arias, Logan Arias & Andrew Clunis
|
||||||
|
|
||||||
|
Special thanks to Steven McGranahan, Lee Killough, Robert Bäuml and Bell Kin for
|
||||||
|
their large contribution and to other DooM LEGACY & SRB2 Team members.
|
||||||
|
|
||||||
|
Web site: http://www.SRB2.org/
|
||||||
|
e-mail: none@none.com
|
||||||
|
|
||||||
|
OpenGL specific:
|
||||||
|
Web site: http://legacy.newdoom.com/gl
|
||||||
|
|
||||||
|
|
||||||
|
-----------------------------------------------------------------------
|
||||||
|
F.A.Q.
|
||||||
|
-----------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
If you have any trouble with SRB2, you might find a solution
|
||||||
|
here.
|
||||||
|
|
||||||
|
If you find a solution to a problem that was not listed here,
|
||||||
|
please tell us so that we can update the FAQ and help other people!
|
||||||
|
|
||||||
|
Mail your hardware/software problems to:
|
||||||
|
|
||||||
|
None@none.com subject: FAQ
|
||||||
|
|
||||||
|
|
||||||
|
--------
|
||||||
|
CONTENTS
|
||||||
|
--------
|
||||||
|
|
||||||
|
[0] Miscellaneous
|
||||||
|
[1] Mouse/Joystick/Keyboard
|
||||||
|
[2] Video
|
||||||
|
[3] Sound
|
||||||
|
[4] Network
|
||||||
|
[5] Troubleshooting
|
||||||
|
|
||||||
|
|
||||||
|
-----------------
|
||||||
|
[0] MISCELLANEOUS
|
||||||
|
-----------------
|
||||||
|
|
||||||
|
* under win95 or OS/2, I don't have enough memory. How can i handle with ?
|
||||||
|
|
||||||
|
Tell win95 to put more dpmi memory for your dos box.
|
||||||
|
Or use the -mb option.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
---------------------------
|
||||||
|
[1] MOUSE/JOYSTICK/KEYBOARD
|
||||||
|
---------------------------
|
||||||
|
|
||||||
|
* My mouse/joystick does not work in SRB2.
|
||||||
|
|
||||||
|
First, check that the mouse/joystick is activated : go at the
|
||||||
|
console and type either 'use_mouse' (or use the respective
|
||||||
|
menuitem) or 'use_joystick'.
|
||||||
|
|
||||||
|
If it tells '0' or off than the mouse/joystick is not used,
|
||||||
|
set the variable to 1. eg: 'use_mouse 1'.
|
||||||
|
|
||||||
|
For the joystick, different values will support different
|
||||||
|
types of joystick, check the console documentation for the
|
||||||
|
command 'use_joystick' for more.
|
||||||
|
|
||||||
|
Even if the mouse or joystick is activated, you have to
|
||||||
|
set up the contols into the Setup Controls menu. That is:
|
||||||
|
tell what use you will make of the mouse/joystick buttons.
|
||||||
|
|
||||||
|
|
||||||
|
---------
|
||||||
|
[2] VIDEO
|
||||||
|
---------
|
||||||
|
|
||||||
|
|
||||||
|
* Where are the other video modes ? I have only '320x200' in the
|
||||||
|
Video Modes menu.
|
||||||
|
|
||||||
|
DOS
|
||||||
|
---
|
||||||
|
|
||||||
|
SRB2 adds new video modes only if a VESA2 (or better) driver
|
||||||
|
is present. The VESA2 driver is a standard of 'talking' between a
|
||||||
|
program and the huge amount of different graphics cards
|
||||||
|
available today.
|
||||||
|
|
||||||
|
If you don't have a VESA2 driver, you can download UNIVBE, or
|
||||||
|
SMART DISPLAY DOCTOR from
|
||||||
|
|
||||||
|
http://www.scitechsoft.com/products/ent/free_titles.html
|
||||||
|
|
||||||
|
or if you have an S3 based card, you can download the free
|
||||||
|
software called 'S3VBE'.
|
||||||
|
|
||||||
|
ftp://ftp.externet.hu/pub/mirror/sac/graph/s3vbe318.zip
|
||||||
|
ftp://ftp.digsys.bg/pub/simtelnet/msdos/graphics/s3vbe318.zip
|
||||||
|
http://www.filesearching.com/cgi-bin/s?q=s3vbe318.zip
|
||||||
|
http://www.google.com/search?q=s3vbe318.zip
|
||||||
|
|
||||||
|
* The game doesn't restore the video mode I have chosen the last time
|
||||||
|
I played SRB2.
|
||||||
|
|
||||||
|
The current video mode has to be made the 'default' so that it is
|
||||||
|
saved to the config : press the key 'D' on the Video Options menu
|
||||||
|
to set the current video mode the default.
|
||||||
|
|
||||||
|
* I have some problems with OpenGL mode
|
||||||
|
|
||||||
|
Have a look at the FAQ for OpenGL on the glLegacy web site:
|
||||||
|
|
||||||
|
http://www.doomnation.com/gllegacy/faqe.htm
|
||||||
|
|
||||||
|
# Linux: I only have a 1024x768 (or 800x600, 1280x1024, ...) resolution
|
||||||
|
in fullscreen mode under X and SRB2 is really really slow. Can I
|
||||||
|
have lower resolutions like 320x200 in fullscreen mode as well?
|
||||||
|
|
||||||
|
Probably yes. SRB2 can only use the resolutions offered by the
|
||||||
|
X-Server. So if all fullscreen modes have a very high resolution you
|
||||||
|
have to modify /etc/XF86Config (or /etc/X11/XF86Config). Use XF86Setup
|
||||||
|
(or the appropriate tool coming with your distribution - sax,
|
||||||
|
xf86config, ...) to do this.
|
||||||
|
If you do not succeed there, you can enter them manually into your
|
||||||
|
XF86Config file. ONLY RECOMMENDED FOR USERS WHO KNOW WHAT THEY DO!
|
||||||
|
For a short guide on how to do this, have a look at the file
|
||||||
|
"Doublescan.txt".
|
||||||
|
In case of doubt consult the XFree86-HOWTO (or ask your system
|
||||||
|
administrator :).
|
||||||
|
|
||||||
|
# Linux: I cannot have any fullscreen modes at all!
|
||||||
|
|
||||||
|
You have only modes above 1024x768 in your XF86Config. Proceed as
|
||||||
|
described above.
|
||||||
|
|
||||||
|
# Linux: After a certain idle time my screensaver jams the display of
|
||||||
|
SRB2. I can still operate SRB2, but I do not see what's happening
|
||||||
|
and the screensaver won't go away.
|
||||||
|
|
||||||
|
You probably have KDE. The KDE screensaver does not obey the screensaver
|
||||||
|
rules (at least mine, version 1.1). The solution is to deactivate the
|
||||||
|
KDE screensaver and use another screensaver (like the xscreensaver,
|
||||||
|
e.g.). But the hell, when you started SRB2 you should have played it
|
||||||
|
as well and not left it alone!!!
|
||||||
|
|
||||||
|
---------
|
||||||
|
[3] SOUND
|
||||||
|
---------
|
||||||
|
|
||||||
|
+ DOS:I can't have CD audio music, why ?
|
||||||
|
|
||||||
|
Make sure that the MSCDEX driver version 2.0 or later is loaded.
|
||||||
|
If it says 'MSCDEX version xxx' at game startup, and you still
|
||||||
|
don't hear the cd music, then probably your card doesn't respond
|
||||||
|
when SRB2 tries to set the cd volume. If so, make sure your sound
|
||||||
|
card's mixer have the cd volume set up so that you can hear something.
|
||||||
|
|
||||||
|
+ When the CD plays, the game is very 'jerky'. It doesn't do that when
|
||||||
|
I type 'cd off' in the console.
|
||||||
|
|
||||||
|
You have an old/bad cd driver, that can take up to a second to
|
||||||
|
respond to cd driver commands. Either get the latest version of
|
||||||
|
your driver, or turn cd update off. Check 'cd_udpate' in the
|
||||||
|
console documentation for more.
|
||||||
|
|
||||||
|
* DOS:How can I *ALWAYS* disable the sounds or music of the game ?
|
||||||
|
|
||||||
|
Edit the allegro.cfg file and set digicard/midicard to 0 (none)
|
||||||
|
|
||||||
|
* DOS:My sterero sound is reversed, how can I set it the right way ?
|
||||||
|
|
||||||
|
Change the console variable 'stereoreverse' to either 1 or 0.
|
||||||
|
Or, you can edit the allegro.cfg file, and set the 'flip_pan' variable.
|
||||||
|
|
||||||
|
|
||||||
|
* DOS:The sounds are too 'slow', or 'low-pitched'
|
||||||
|
|
||||||
|
It seems to be a problem of the auto-detection of some 8bit sound
|
||||||
|
cards. You will have to set manually the 'sb_freq' value in the
|
||||||
|
allegro.cfg file to a lower value : 11906, 16129.
|
||||||
|
|
||||||
|
* DOS:SRB2 doesn't play any sound/music, but I have a sound
|
||||||
|
blaster genuine/compatible card.
|
||||||
|
|
||||||
|
If you have a genuine or compatible SoundBlaster card, it is very
|
||||||
|
important that you set the BLASTER environment variable.
|
||||||
|
|
||||||
|
If you are playing under DOS, and never installed your sound card
|
||||||
|
under DOS, run the setup of your sound card for DOS.
|
||||||
|
|
||||||
|
Check if the BLASTER variable was set: type 'SET' under dos
|
||||||
|
(or DOSbox)
|
||||||
|
|
||||||
|
Do you see something like 'BLASTER=A220 I5 D1 ...' ?
|
||||||
|
|
||||||
|
Yes? If you don't hear sounds/music, then tweak the settings in the
|
||||||
|
allegro.cfg file until you get something, first try changing the
|
||||||
|
type of the sound card, it is not always properly detected.
|
||||||
|
|
||||||
|
No? You have to set this variable in order that your sound card is
|
||||||
|
detected. Run the setup that was shipped with your sound card, and
|
||||||
|
make sure you run the setup for DOS too, it will usually add a
|
||||||
|
line of the type 'SET BLASTER=... ...' in the autoexec.bat file.
|
||||||
|
|
||||||
|
|
||||||
|
* DOS:How can I have better midi music on my 8bit sound card ?
|
||||||
|
|
||||||
|
Use the DIGMID driver, it is supported in SRB2.
|
||||||
|
|
||||||
|
What the hell is this? Well, the Gravis Ultrasound uses digital
|
||||||
|
samples to play midi music. On a simple 8bit card, you can use digital
|
||||||
|
samples too, which will sound usually better than what is output
|
||||||
|
by the poor fm synthesis chip of 8bit cards.
|
||||||
|
|
||||||
|
You will need to get a Gravis Ultrasound patch set, you can find
|
||||||
|
several ones for free on internet, it consists of a bunch of '.pat'
|
||||||
|
files which are the digital samples to play the midi instruments
|
||||||
|
(eg: piano, conga, guitar, ect.).
|
||||||
|
|
||||||
|
Check the Allegro homepage for some links to GUS patches:
|
||||||
|
http://alleg.sourceforge.net/digmid.html
|
||||||
|
http://alleg.sourceforge.net/
|
||||||
|
http://www.talula.demon.co.uk/allegro/digmid.html
|
||||||
|
http://www.talula.demon.co.uk/allegro/
|
||||||
|
|
||||||
|
Now to activate the DIGMID driver:
|
||||||
|
|
||||||
|
Set the 'midi_card' value to 8 (DIGMID) in the allegro.cfg file.
|
||||||
|
Make sure you leave the 'digi_voices' blank, or set it to a low
|
||||||
|
value, because the midi music will use digital voices.
|
||||||
|
At the end of the allegro.cfg file, set the 'patches' value
|
||||||
|
to the path, where you have installed a Gravis Ultrasound midi
|
||||||
|
patch set. eg: patches = d:\music\midipat\
|
||||||
|
|
||||||
|
# Linux: CD music does not work or only works when run as root.
|
||||||
|
|
||||||
|
We do not encourage you to run SRB2 as root (you never know
|
||||||
|
what SRB2 can do to your system - it's a mighty piece of code :).
|
||||||
|
There is a common problem with ATAPI CD-rom drives, which are
|
||||||
|
treated as harddisks. Usually there is a link /dev/cdrom pointing to
|
||||||
|
device hd[b,c,d]. As harddisks are not supposed to be read directly
|
||||||
|
via this device (especially not by a common user), there are no read
|
||||||
|
permissions for "all". For CD-roms you can savely set read permissions
|
||||||
|
unless you are very paranoid. Assuming your CD-rom drive is /dev/hdc,
|
||||||
|
set permissions with "chmod +r /dev/hdc" (as root). SCSI CD-rom drives
|
||||||
|
should not have this problem. But if they do, proceed as described
|
||||||
|
with ATAPI drives.
|
||||||
|
|
||||||
|
# Linux: The CD music volume is not set properly.
|
||||||
|
|
||||||
|
Go to the console and type "jigglecdvolume 1".
|
||||||
|
|
||||||
|
-----------
|
||||||
|
[4] NETWORK
|
||||||
|
-----------
|
||||||
|
|
||||||
|
* Where can I find Internet servers ?
|
||||||
|
|
||||||
|
For the moment there is one public server.
|
||||||
|
http://srb2.servegame.org/ Master server web page
|
||||||
|
srb2.servegame.org:28910 current Master Server
|
||||||
|
|
||||||
|
* When I start SRB2 with -server or -connect it say :
|
||||||
|
"BinToPort: Address already in use (EADDRINUSE)"
|
||||||
|
|
||||||
|
It appears only when SRB2 crashes or when you leave with ctrl-break.
|
||||||
|
use -udpport 12345 (or any other free slot) on both sides (client and
|
||||||
|
server).
|
||||||
|
|
||||||
|
This can also happens when there is already a SRB2 running on your
|
||||||
|
computer if you whant to try two SRB2 running on the same computer
|
||||||
|
use -clientport 12345 (or any other free slot). Then the second will
|
||||||
|
connect to the first one.
|
||||||
|
|
||||||
|
* Do you use the tcp protocol ?
|
||||||
|
|
||||||
|
No, we use the udp protocol which is faster, but don't worry udp is a
|
||||||
|
part of the internet protocol.
|
||||||
|
|
||||||
|
|
||||||
|
-------------------
|
||||||
|
[5] Troubleshooting
|
||||||
|
-------------------
|
||||||
|
|
||||||
|
# Linux: SRB2 is hung in fullscreen mode and won´t let me leave.
|
||||||
|
What shall I do?
|
||||||
|
|
||||||
|
Some people press the reset button, but hey, we are not in the
|
||||||
|
stoneage of operating systems! There are two "proper" ways to
|
||||||
|
get out: kill your X-Server. You can usually do this by pressing
|
||||||
|
"CTRL-ALT-BACKSPACE". But if you have other open applications with
|
||||||
|
important data (probably hacked away on your diploma thesis for 3
|
||||||
|
weeks without saving once) you can also kill SRB2 directly. Press
|
||||||
|
"CTRL-ALT-F2" and you will get to a console. Log in, type
|
||||||
|
"killall llxSRB2" and switch back to the X-Server with "CTRL-ALT-F7".
|
||||||
|
Some X-Server crash on this procedure - blame the X-Server for the
|
||||||
|
loss of 3 weeks work on your diploma thesis :)
|
BIN
doc/manual/1up.png
Normal file
After Width: | Height: | Size: 1.1 KiB |
BIN
doc/manual/RNGA0000.png
Normal file
After Width: | Height: | Size: 1.1 KiB |
BIN
doc/manual/RNGB0000.png
Normal file
After Width: | Height: | Size: 1.2 KiB |
BIN
doc/manual/RNGE0000.png
Normal file
After Width: | Height: | Size: 1.3 KiB |
BIN
doc/manual/RNGG0000.png
Normal file
After Width: | Height: | Size: 1.2 KiB |
BIN
doc/manual/RNGR0000.png
Normal file
After Width: | Height: | Size: 1.1 KiB |
BIN
doc/manual/RNGS0000.png
Normal file
After Width: | Height: | Size: 1.1 KiB |
BIN
doc/manual/Ring0000.png
Normal file
After Width: | Height: | Size: 1.1 KiB |
BIN
doc/manual/acz.png
Normal file
After Width: | Height: | Size: 43 KiB |
BIN
doc/manual/airspin.png
Normal file
After Width: | Height: | Size: 3.3 KiB |
BIN
doc/manual/attack.png
Normal file
After Width: | Height: | Size: 3.1 KiB |
BIN
doc/manual/blue_monitor.png
Normal file
After Width: | Height: | Size: 1.1 KiB |
BIN
doc/manual/blue_ring.png
Normal file
After Width: | Height: | Size: 1.2 KiB |
BIN
doc/manual/bshield.png
Normal file
After Width: | Height: | Size: 1.1 KiB |
BIN
doc/manual/cez.png
Normal file
After Width: | Height: | Size: 35 KiB |
BIN
doc/manual/controls.png
Normal file
After Width: | Height: | Size: 17 KiB |
BIN
doc/manual/conveyor.png
Normal file
After Width: | Height: | Size: 47 KiB |
BIN
doc/manual/coop.png
Normal file
After Width: | Height: | Size: 8.8 KiB |
BIN
doc/manual/crusher.png
Normal file
After Width: | Height: | Size: 42 KiB |
BIN
doc/manual/ctf.png
Normal file
After Width: | Height: | Size: 6.6 KiB |