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 | 
 Alam Ed Arias
						Alam Ed Arias