Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

Imported MaNGOS revision 6767 from http://mangos.svn.sourceforge.net/…

  • Loading branch information...
commit 1ccdd8e2b2d7768c0777d9ac34565e3c1b5f1a69 1 parent f46c31d
Daniel S. Reichenbach danielsreichenbach authored
Showing with 28,082 additions and 0 deletions.
  1. +20 −0 AUTHORS
  2. +340 −0 COPYING
  3. +563 −0 ChangeLog
  4. +58 −0 Makefile.am
  5. +107 −0 NEWS
  6. +35 −0 THANKS
  7. +333 −0 configure.ac
  8. +23 −0 contrib/Makefile.am
  9. +34 −0 contrib/dbcEditer/BcdEditer.ini
  10. +26 −0 contrib/dbcEditer/SearchFrm.cpp
  11. BIN  contrib/dbcEditer/SearchFrm.ddp
  12. +63 −0 contrib/dbcEditer/SearchFrm.dfm
  13. +29 −0 contrib/dbcEditer/SearchFrm.h
  14. +26 −0 contrib/dbcEditer/TitleFrm.cpp
  15. BIN  contrib/dbcEditer/TitleFrm.ddp
  16. +51 −0 contrib/dbcEditer/TitleFrm.dfm
  17. +27 −0 contrib/dbcEditer/TitleFrm.h
  18. +313 −0 contrib/dbcEditer/bin/BcdEditer.ini
  19. BIN  contrib/dbcEditer/bin/bcbsmp60.bpl
  20. BIN  contrib/dbcEditer/bin/borlndmm.dll
  21. BIN  contrib/dbcEditer/bin/cc3260mt.dll
  22. BIN  contrib/dbcEditer/bin/dclusr60.bpl
  23. BIN  contrib/dbcEditer/bin/indy60.bpl
  24. BIN  contrib/dbcEditer/bin/pjDbcEditer.exe
  25. BIN  contrib/dbcEditer/bin/rtl60.bpl
  26. +11 −0 contrib/dbcEditer/bin/update.txt
  27. BIN  contrib/dbcEditer/bin/vcl60.bpl
  28. BIN  contrib/dbcEditer/bin/vclx60.bpl
  29. +769 −0 contrib/dbcEditer/dbcedit.cpp
  30. BIN  contrib/dbcEditer/dbcedit.ddp
  31. +1,259 −0 contrib/dbcEditer/dbcedit.dfm
  32. +105 −0 contrib/dbcEditer/dbcedit.h
  33. +124 −0 contrib/dbcEditer/pjDbcEditer.bpr
  34. +37 −0 contrib/dbcEditer/pjDbcEditer.cpp
  35. BIN  contrib/dbcEditer/pjDbcEditer.exe
  36. BIN  contrib/dbcEditer/pjDbcEditer.res
  37. BIN  contrib/dbcEditer/pjDbcEditer.tds
  38. +182 −0 contrib/dbcEditer/thOpenSource.cpp
  39. +24 −0 contrib/dbcEditer/thOpenSource.h
  40. BIN  contrib/dbcformat/DBC Store.exe
  41. +241 −0 contrib/dbcformat/dbc.desc
  42. +10 −0 contrib/extractor/Makefile.am
  43. +13 −0 contrib/extractor/README.linux
  44. +320 −0 contrib/extractor/System.cpp
  45. +19 −0 contrib/extractor/VC71_AD.sln
  46. +316 −0 contrib/extractor/VC71_ad.vcproj
  47. +19 −0 contrib/extractor/VC80_AD.sln
  48. +339 −0 contrib/extractor/VC80_ad.vcproj
  49. +19 −0 contrib/extractor/VC90_AD.sln
  50. +315 −0 contrib/extractor/VC90_ad.vcproj
  51. BIN  contrib/extractor/ad
  52. BIN  contrib/extractor/ad.exe
  53. +500 −0 contrib/extractor/adt.cpp
  54. +53 −0 contrib/extractor/adt.h
  55. +69 −0 contrib/extractor/dbcfile.cpp
  56. +118 −0 contrib/extractor/dbcfile.h
  57. BIN  contrib/extractor/debug/zlib.lib
  58. +23 −0 contrib/extractor/libmpq/Makefile.am
  59. +801 −0 contrib/extractor/libmpq/common.cpp
  60. +66 −0 contrib/extractor/libmpq/common.h
  61. +428 −0 contrib/extractor/libmpq/explode.cpp
  62. +86 −0 contrib/extractor/libmpq/explode.h
  63. +262 −0 contrib/extractor/libmpq/extract.cpp
  64. +833 −0 contrib/extractor/libmpq/huffman.cpp
  65. +105 −0 contrib/extractor/libmpq/huffman.h
  66. +626 −0 contrib/extractor/libmpq/mpq.cpp
  67. +225 −0 contrib/extractor/libmpq/mpq.h
  68. +294 −0 contrib/extractor/libmpq/parser.cpp
  69. +185 −0 contrib/extractor/libmpq/wave.cpp
  70. +37 −0 contrib/extractor/libmpq/wave.h
  71. +323 −0 contrib/extractor/libmpq/zconf.h
  72. +1,200 −0 contrib/extractor/libmpq/zlib.h
  73. +133 −0 contrib/extractor/mpq_libmpq.cpp
  74. +124 −0 contrib/extractor/mpq_libmpq.h
  75. BIN  contrib/extractor/release/zlib.lib
  76. +322 −0 contrib/vmap_assembler/VC71/vmap_assembler.vcproj
  77. +456 −0 contrib/vmap_assembler/VC80/vmap_assembler.vcproj
  78. +17 −0 contrib/vmap_assembler/splitConfig.txt
  79. +118 −0 contrib/vmap_assembler/vmap_assembler.cpp
  80. +23 −0 contrib/vmap_assembler/vmap_assemblerVC71.sln
  81. +19 −0 contrib/vmap_assembler/vmap_assemblerVC80.sln
  82. +1,620 −0 contrib/vmap_debugger/G3D/AABSPTree.h
  83. +570 −0 contrib/vmap_debugger/ModelContainerView.cpp
  84. +89 −0 contrib/vmap_debugger/ModelContainerView.h
  85. BIN  contrib/vmap_debugger/VC8/Release/vmapdebugger.exe
  86. +308 −0 contrib/vmap_debugger/VC8/vmapdebugger.vcproj
  87. BIN  contrib/vmap_debugger/bin/vmapdebugger.exe
  88. +121 −0 contrib/vmap_debugger/readme.txt
  89. +19 −0 contrib/vmap_debugger/vmapdebugger_VC8.sln
  90. +46 −0 contrib/vmap_extract_assembler_bin/make vmaps.bat
  91. +5 −0 contrib/vmap_extract_assembler_bin/makevmaps_SIMPLE.bat
  92. +4 −0 contrib/vmap_extract_assembler_bin/readme.txt
  93. +17 −0 contrib/vmap_extract_assembler_bin/splitConfig.txt
  94. BIN  contrib/vmap_extract_assembler_bin/vmap_assembler.exe
  95. BIN  contrib/vmap_extract_assembler_bin/vmapextract_v2.exe
  96. +318 −0 contrib/vmap_extractor_v2/doc/The MoPaQ File Format.txt
  97. +421 −0 contrib/vmap_extractor_v2/doc/The_MoPaQ_File_Format.txt
  98. +117 −0 contrib/vmap_extractor_v2/stormdll/StormDll.cpp
  99. +25 −0 contrib/vmap_extractor_v2/stormdll/StormDll.def
  100. +67 −0 contrib/vmap_extractor_v2/stormdll/StormDll.h
  101. +697 −0 contrib/vmap_extractor_v2/stormlib/GfxDecode.cpp
  102. +1,074 −0 contrib/vmap_extractor_v2/stormlib/SCommon.cpp
  103. +88 −0 contrib/vmap_extractor_v2/stormlib/SCommon.h
  104. +715 −0 contrib/vmap_extractor_v2/stormlib/SCompression.cpp
  105. +691 −0 contrib/vmap_extractor_v2/stormlib/SFileCompactArchive.cpp
  106. +530 −0 contrib/vmap_extractor_v2/stormlib/SFileCreateArchiveEx.cpp
  107. +63 −0 contrib/vmap_extractor_v2/stormlib/SFileExtractFile.cpp
  108. +291 −0 contrib/vmap_extractor_v2/stormlib/SFileFindFile.cpp
  109. +497 −0 contrib/vmap_extractor_v2/stormlib/SFileOpenArchive.cpp
  110. +403 −0 contrib/vmap_extractor_v2/stormlib/SFileOpenFileEx.cpp
  111. +826 −0 contrib/vmap_extractor_v2/stormlib/SFileReadFile.cpp
  112. +561 −0 contrib/vmap_extractor_v2/stormlib/SListFile.cpp
  113. +67 −0 contrib/vmap_extractor_v2/stormlib/StormDll.h
  114. +579 −0 contrib/vmap_extractor_v2/stormlib/StormLib.h
  115. +278 −0 contrib/vmap_extractor_v2/stormlib/StormPort.h
  116. +168 −0 contrib/vmap_extractor_v2/stormlib/StormPortLinux.cpp
  117. +762 −0 contrib/vmap_extractor_v2/stormlib/StormPortMac.cpp
  118. +275 −0 contrib/vmap_extractor_v2/stormlib/bzip2/CHANGES
  119. +40 −0 contrib/vmap_extractor_v2/stormlib/bzip2/LICENSE
  120. +44 −0 contrib/vmap_extractor_v2/stormlib/bzip2/Makefile-libbz2_so
  121. +185 −0 contrib/vmap_extractor_v2/stormlib/bzip2/README
  122. +39 −0 contrib/vmap_extractor_v2/stormlib/bzip2/README.COMPILATION.PROBLEMS
  123. +31 −0 contrib/vmap_extractor_v2/stormlib/bzip2/README.XML.STUFF
  124. +34 −0 contrib/vmap_extractor_v2/stormlib/bzip2/Y2K_INFO
  125. +1,141 −0 contrib/vmap_extractor_v2/stormlib/bzip2/blocksort.c
  126. +39 −0 contrib/vmap_extractor_v2/stormlib/bzip2/bz-common.xsl
  127. +257 −0 contrib/vmap_extractor_v2/stormlib/bzip2/bz-fo.xsl
  128. +20 −0 contrib/vmap_extractor_v2/stormlib/bzip2/bz-html.xsl
  129. +76 −0 contrib/vmap_extractor_v2/stormlib/bzip2/bzdiff
  130. +47 −0 contrib/vmap_extractor_v2/stormlib/bzip2/bzdiff.1
  131. +71 −0 contrib/vmap_extractor_v2/stormlib/bzip2/bzgrep
  132. +56 −0 contrib/vmap_extractor_v2/stormlib/bzip2/bzgrep.1
  133. +74 −0 contrib/vmap_extractor_v2/stormlib/bzip2/bzip.css
Sorry, we could not display the entire diff because too many files (3,322) changed.
20 AUTHORS
View
@@ -0,0 +1,20 @@
+The AUTHORS file:
+
+This file should collect a trace of all the legal paperwork that you have
+exchanged with contributors for your particular package. This information is
+very useful for registering the copyright of your package. The file might
+have an introductory blurb similar to this one:
+
+ Authors of PACKAGE
+
+ The following contributions warranted legal paper exchanges
+ with [the Free Software Foundation | Your Name].
+ Also see files ChangeLog and THANKS
+
+Then, list who the contributors are and what files they have worked on.
+Indicate whether they created the file, or whether they modified it. For
+example:
+
+ Random J. Hacker:
+ entire files -> foo1.c , foo2.c , foo3.c
+ modifications -> foo4.c , foo5.c
340 COPYING
View
@@ -0,0 +1,340 @@
+ GNU GENERAL PUBLIC LICENSE
+ Version 2, June 1991
+
+ Copyright (C) 1989, 1991 Free Software Foundation, Inc.
+ 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+ Preamble
+
+ The licenses for most software are designed to take away your
+freedom to share and change it. By contrast, the GNU General Public
+License is intended to guarantee your freedom to share and change free
+software--to make sure the software is free for all its users. This
+General Public License applies to most of the Free Software
+Foundation's software and to any other program whose authors commit to
+using it. (Some other Free Software Foundation software is covered by
+the GNU Library General Public License instead.) You can apply it to
+your programs, too.
+
+ When we speak of free software, we are referring to freedom, not
+price. Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+this service if you wish), that you receive source code or can get it
+if you want it, that you can change the software or use pieces of it
+in new free programs; and that you know you can do these things.
+
+ To protect your rights, we need to make restrictions that forbid
+anyone to deny you these rights or to ask you to surrender the rights.
+These restrictions translate to certain responsibilities for you if you
+distribute copies of the software, or if you modify it.
+
+ For example, if you distribute copies of such a program, whether
+gratis or for a fee, you must give the recipients all the rights that
+you have. You must make sure that they, too, receive or can get the
+source code. And you must show them these terms so they know their
+rights.
+
+ We protect your rights with two steps: (1) copyright the software, and
+(2) offer you this license which gives you legal permission to copy,
+distribute and/or modify the software.
+
+ Also, for each author's protection and ours, we want to make certain
+that everyone understands that there is no warranty for this free
+software. If the software is modified by someone else and passed on, we
+want its recipients to know that what they have is not the original, so
+that any problems introduced by others will not reflect on the original
+authors' reputations.
+
+ Finally, any free program is threatened constantly by software
+patents. We wish to avoid the danger that redistributors of a free
+program will individually obtain patent licenses, in effect making the
+program proprietary. To prevent this, we have made it clear that any
+patent must be licensed for everyone's free use or not licensed at all.
+
+ The precise terms and conditions for copying, distribution and
+modification follow.
+
+ 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+
+Also add information on how to contact you by electronic and paper mail.
+
+If the program is interactive, make it output a short notice like this
+when it starts in an interactive mode:
+
+ Gnomovision version 69, Copyright (C) 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 Library General
+Public License instead of this License.
563 ChangeLog
View
@@ -0,0 +1,563 @@
+MaNGOS 0.12 (??? ??? 2008)
+
+ MaNGOS 0.12 - Codename "???" - adds further improvements to the
+ server core as well as to the majority of game classes and the game content
+ database.
+
+ ==== Game Features ====
+
+ ==== Server Features ====
+
+ ==== Statistics ====
+ * Fixed Bugs: ???
+ * Total number of changes: ???
+
+MaNGOS 0.11 (Jul 22 2008)
+
+ MaNGOS 0.11 - adds further improvements to the
+ server core as well as to the majority of game classes and the game content
+ database.
+
+ ==== Game Features ====
+
+ * Added: Support for show possible blocked damage, armor penetration, negative stats and other data in client.
+ * Added: Support for show aura charges in client.
+ * Added: Support for spell casting delay at damage dependence from casting partly interrupts amount, apply interrupts in spell direct damage case also.
+ * Added: Support for form requirement check for item/itemset casts at equip. Correctly cast at equip and cast/remove at form switch.
+ * Added: Support for correct speed bonus stacking.
+ * Added: Support for instant honor updating.
+ * Added: Support for cap experience received from high level creatures.
+ * Added: Support mining/herbalism mode for skinning of special creatures.
+ * Added: Support for more battleground types, many improvements in battlegrounds work.
+ * Added: Support for quests work with player title rewards, check for shareable quests base at quest flags.
+ * Added: Support for quest rewarding with mail send after specific delay with possible items sent.
+ * Added: Support for boss +3 target dependent level for attack rolls and chances.
+ * Added: Support for dodge chance calculations depends from agility and level (use dbc based values) instead wrong hardcoded values.
+ * Added: Support for defense/weapon skills maxed in PvP fight.
+ * Added: Support for bilinear interpolation use for height calculation between existed map point data for better ground height selection for point.
+ * Added: Support for corpse reclaim delay dependence from character death count in last period.
+ * Added: Support for creatures movement flags storing in DB and setup from scripts, also store extra flags to mark creatures that can't parry/block/counterattack or not provide xp at kill.
+ * Added: Support for offhand expertize.
+ * Added: Support for generation of pet passive auras by DBC data.
+ * Improved: Re-Implemented group/friend/enemy/pet area auras.
+ * Improved: Finished fill spell_affect DB table allow have related spells correct working. Now only required update table at client switch.
+ * Improved: Allow DoTs/HoTs ticks from dead caster if its not required caster alive state.
+ * Improved: Better spell targeting selection code.
+ * Improved: Removed outdated honor diminishing return support.
+ * Improved: Fixed well known unexpected sit at stun bug.
+ * Improved: More correct show and work with faction reputation.
+ * Improved: Finish update to expected level dependent mana/health stats data for player's classes.
+ * Improved: Better creature corpse despawn time selection. Corpse instant despawn after skinning.
+ * Improved: Better check in front spell target requirement.
+ * Improved: Show parry/dodge/block/crit calculation in client for same level creature enemy.
+ * Improved: Correctly show item random property in all cases, including random property with suffix factor, in inspect and in equipped state at other player.
+ * Improved: Use correct way to check binding items and check enchants apply in trade slot.
+ * Improved: Rewritten mana regen calculation, also implement creature in combat mana regeneration delay.
+ * Improved: Fixed long time existed problem with unexpected auto start melee attack after spell casting.
+ * Improved: Re-implemented diminishing returns system.
+ * Improved: Re-implemented fear movement.
+ * Improved: Rewritten distract/dispel/spell steal effects.
+ * Improved: Updated pet name generation data in DB.
+ * Improved: Better work combat enter/leave system in PvP/PvE cases.
+ * Improved: Many items and item set effects start work.
+ * plus lots of fixes for auras, effects, spells, talents, and more.
+
+ ==== Server Features ====
+
+ * Added: New sql/tools directory for useful SQL queries for check and restore DB integrity.
+ * Added: Own counter for HIGHGUID_PET low guids. Use it for pets. This let have lot more range for pet guids, and then more creature guid for instances spawns/totems.
+ * Added: Replace existed random generators by Mersenne Twister random number generator.
+ * Added: Support for Russian, Spanish Mexico, traditional and simplified Chinese clients to ad.exe.
+ * Added: Support for using the failed_logins field in the account table. Support IP/account temporary ban at max allowed failed logins for account.
+ * Added: Support for --enable-doxygen to enable doc generation at configure use at Unix/Linux.
+ * Added: Anti-freeze system.
+ * Added: AD.EXE now also extracts DBC files. It also now searches for patch files dynamically.
+ * Improved: Updated MySQL client libs to 5.0.56.
+ * Improved: Better checking DB data at server loading.
+ * Improved: Apply reserver names check to pet/charter names also.
+ * Improved: Move hardcoded base fishing skill for zone from code to new DB table.
+ * Improved: Removed `spell_learn_skill` and `PlayerCreateInfo_skill` tables, use DBC data instead.
+ * Improved: Many improvements in Gamemaster chat commands.
+ * Improved: Many improvements in config options.
+ * Improved: Better scripting support (DB base and C++ based scripts).
+
+ ==== Statistics ====
+ * Fixed Bugs: 194
+ * Total number of changes: 708
+
+MaNGOS 0.10 (Apr 18 2008)
+
+ MaNGOS 0.10 - adds further improvements to the
+ server core as well as to the majority of game classes and the game content
+ database.
+
+ ==== Game Features ====
+
+ * Added: Implement talent inspecting.
+ * Added: Implement unique equipped items support, including gems.
+ * Added: Check instances where mount using allowed. Still need implement in-building check.
+ * Added: Implement master looter loot mode.
+ * Added: Implement quest related lootable gameobject activating only for characters with active quest.
+ * Added: Implement multi-map taxi flights, allow teleport to instances/battleground in taxi flight time.
+ * Added: Allow equip 2hand weapon in case swap with equipped mainhand/offhand weapon pair.
+ * Added: Implement player confirmation request at player summon attempt.
+ * Added: Implement support items with limited lifetime.
+ * Added: Implement chance additional items crafting with appropriate profession specialization.
+ * Added: Implement FFA PvP zones and FFA PvP server type.
+ * Added: Implement Guild Banks.
+ * Added: Implement expertise and better rating work.
+ * Added: Implement dialog status show for gameobject like yellow exclamation signs above gameobject if quest available.
+ * Added: Implement money requirement show for gossip box open.
+ * Added: Apply reputation discounts to trainer spell prices.
+ * Added: Implement death at fall to void/textures.
+ * Added: Support dead by default creatures.
+ * Added: Implemented work some nice items like "safe" teleport items.
+ * Added: Implement correct stacking elixirs/flasks.
+ * Added: Implement Fishing hole gameobjects work.
+ * Added: Implement support correctly sitting at chairs with different height and slots.
+ * Added: Implement normalized weapon damage use where it expected.
+ * Improved: Limit player money amount by 214748g 36s 46c.
+ * Improved: Allow join to LFG channel if character registered in LFG tool.
+ * Improved: Better detection and calculation in fall damage.
+ * Improved: Update XP generation for high levels and use coefficients dependent from new/old continents position.
+ * Improved: Better immunity/resisted/interrupting spell work.
+ * Improved: Better check area/zone/map/mapset limited spells at cast and zone leave.
+ * Improved: Fixed long time existed problems with client crash at group member using transports.
+ * Improved: Add/update lot spell_affect/spell_proc_event tables content that let work many talents, spells, and item effects.
+ * Improved: Better mail system work, use it for problematic items at character loading, and sending honor marks if need.
+ * Improved: Use correct coefficients for damage/healing spell bonuses for many spells.
+ * Improved: Restore work weather system.
+ * Improved: More correct spell affects stacking at target, and spell icons stacking in spellbook.
+ * Improved: More correct work explicit target positive aura rank auto-selection and implemented area auras rank auto-selection.
+ * Improved: Correct work permanent skill bonuses.
+ * Improved: Prevent lost money at unexpected double pay for learned spell with lags.
+ * Improved: More correct show for other players character state under different spell affects and in time spell casting.
+ * Improved: More correct random item enchantment bonuses selection and work code.
+ * Improved: Better battlegrounds work.
+ * Improved: Implement default open doors/pushed buttons support.
+ * plus lots of fixes for auras, effects, spells, talents, and more.
+
+ ==== Server Features ====
+
+ * Added: broken spells check at use and loading.
+ * Added: Implement pid file support.
+ * Added: Extract and include svn revision version data in binaries at build.
+ * Added: Implement binding socket to specific network interface (IP address) instead all interfaces using new config option.
+ * Added: Implement support 64-bit binaries building at Windows.
+ * Added: Enable the LARGEADDRESSAWARE flag for Visual Studio 2003 mangosd and realmd projects.
+ * Improved: Allow Gamemasters see any creature/gameobject including invisible/stealth, allow select unselectable units.
+ * Improved: Many server-side check for casts (while shapeshifted, other caster and target reqirents) to prevent cheating.
+ * Improved: better loot system implementation including more loot conditions support and simplify loot managment for DB creators.
+ * Improved: better DB content error reporting at server load.`
+ * Improved: Many improvements in Gamemaster chat commands.
+ * Improved: Update sockets library to v.2.2.9 version.
+ * Improved: More arena support but not full yet.
+ * Improved: Less amount data sent to clients, including in spell casting time.
+ * Improved: Fixed/finish PostgreSql support.
+ * Improved: Better scripting support (DB base and C++ based scripts).
+
+ ==== Statistics ====
+ * Fixed Bugs: 784
+ * Total number of changes: 804
+
+MaNGOS 0.9 (Dec 14 2007)
+
+ MaNGOS 0.9 - Codename "Flight Master" - adds further improvements to the
+ server core as well as to the majority of game classes and the game content
+ database.
+
+ ==== Game Features ====
+ * Added: support for recipe discovery,
+ * Added: support for allowing use of an item only in a specific map or area,
+ * Added: support for free-for-all quest/non-quest loot items, additional loot conditions,
+ * Improved: a more correct implementation of XP gain (level dependent) when in a group,
+ * Improved: fixed creature killed from DoTs but remaining stuck with 1/3 health,
+ * Improved: spell and melee crit chance now calculated from DBC data and combat rating coefficients,
+ * Improved: a more correct implementation of mana/health regeneration calculation, including quick health regeneration in a polymorphed state,
+ * Improved: better support for quests with multiple speakto goals, less dependent on DB for quest flag calculation,
+ * Improved: more functionality added to battlegrounds, including correctly showing battleground scores,
+ * Improved: a more correct implementation of reputation gain for other factions from the same team,
+ * Improved: better support for simple database scripts (quest-start/end, buttons, spells)
+ * plus lots of fixes for auras, effects, spells, talents, and more.
+
+ ==== Server Features ====
+ * Added: support for running mangosd/realmd as Windows services,
+ * Added: support for auto-generation of mangosd/realmd crash reports (Windows version only),
+ * Added: support for Visual Studio 2008 Express and Pro,
+ * Added: support for new Char.log for basic character operations, including save dump of character data on deletion, and logging client IP,
+ * Added: support for players queue at login,
+ * Improved: better DB content error reporting at server load,
+ * Improved: division of Mangos DataBase to MangosDB(WorldDB) and CharactersDB.
+ * Improved: better support for older autoconf / automake versions,
+ * Improved: existing chat and console commands for server gamemasters/administrators, and added new commands.
+
+ ==== Statistics ====
+ * Fixed Bugs: 161
+ * Total number of changes: 228
+
+MaNGOS 0.8 (Oct 16, 2007)
+
+ MaNGOS 0.8 - Codename "Innkeeper" - adds further improvements to the
+ server core as well as to the majority of game classes and the game content
+ database.
+
+ Important License Change Notice: MaNGOS still is licensed under the terms
+ of the GPL v2, but we now have added an exception to officially allow our
+ users to link MaNGOS against the OpenSSL libraries.
+
+ ==== Game Features ====
+ * Added: a new threat manager was introduced,
+ * Added: log more GM activities,
+ * Added: many new features for creatures and game objects working,
+ * Added: support for client build 6898, aka version 2.1.3,
+ * Added: support for custom creature equipment and display,
+ * Added: support for daily quests,
+ * Added: support for different fishing loot in sub-zones,
+ * Added: support for gender specific models,
+ * Added: support for instance specific scripts and data,
+ * Added: support for localization of names, texts, etc.,
+ * Added: support for multiple battleground instances,
+ * Added: support for scripted game object buttons,
+ * Improved: battlegrounds should be mostly working, only a few issues left,
+ * Improved: dungeon system has seen a few improvements,
+ * Improved: formulas for most aspects of the game,
+ * Improved: many player level up values have been corrected,
+ * Improved: pet and demon handling has seen a lot of improvements,
+ * Improved: properly divide loot and reputation in groups,
+ * Rewritten: battleground queue system,
+ * Rewritten: invisibility detection,
+ * plus lots of fixes for auras, effects, spells, talents, and more.
+
+ ==== Server Features ====
+ * Added: support for database transactions,
+ * Added: support for height maps -- named vmaps -- to tackle the LOS issue,
+ * Added: support for OpenBSD and FreeBSD building,
+ * Fixed: lots of memory leaks closed,
+ * Fixed: Numerous bug fixes to the core,
+ * Improved: database queries adding performance boosts here and there,
+
+ ==== Statistics ====
+ * Fixed Bugs: 528
+ * Total number of changes: 558
+
+MaNGOS 0.7 (Jul 9, 2007)
+
+ MaNGOS 0.7 - Codename "Eye of the Storm" -adds further improvements to the
+ server core as well as to the majority of game classes and the game content
+ database.
+
+==== Game Features ====
+ * Fixed: random item enchantment display in the auction/mail/group loot dialogs. The item properties are also properly applied to the items at creation.
+ * Added: support for opening gameobjects/items using their specific keys. Implemented key requirements for entering instances.
+ * Added: a threat based aggro system along with threat bonuses from spells.
+ * Implemented many additional spell effects and auras. The spell system is one step closer to completeness.
+ * Improved: creature/player hostility checks using more accurate faction hostility data. Hostility is checked when casting spells including area-of-effect spells.
+ * Fixed: parry/dodge related code.
+ * Improved rage generation formula on blocked attacks/armor reduction etc.
+ * Fixed: creature movement problems after creature stun/roots and creature orientation in some cases.
+ * Fixed: some small problems in the player inventory system.
+ * Added: support for all resurrection methods for various classes. Resurrection from corpse is also implemented.
+ * Fixed: showing cooldown for items and spells, server side check and saving to the database is also implemented.
+ * Added: support for gift creation.
+ * Improved: the pet system and more improvements will follow in next release.
+ * Added: keyring support.
+ * Improved: many features related to raids/groups.
+ * Added: support for in game guild creation. Guild system can be considered finished. Arena team creation is also partly implemented.
+ * Added: target immunity. The targetable flag and the creature type limitation for spell targeting, which is now check when creating the target list, allows area spells against specific creature types like undeads/demons to work.
+ * Added: support for diminishing duration of stun/fear/etc effects.
+ * Rewrote: pet stable code along with improvements and bug fixes.
+ * Added: support for who list filters.
+ * Added: the instance system.
+ * Fixed: the weather system, now common weather is shown for all players in the same zone.
+ * Improved: the mail system and implemented the delay for mails containing items.
+ * Added: an initial version of the battleground system. One type of battleground is mostly done, still needs more work.
+ * Added: the jewelry profession, prospecting and support for inserting gems in sockets including meta gems bonuses.
+ * Added: support for multi-mining veins.
+ * Added: support for auto-renaming of characters on login at the request of GMs.
+ * Added: a new, more correct visibility system, invisibility is also implemented correctly now.
+ * Improved: durability cost calculation.
+
+ ==== Server Features ====
+ * Added: full support for 2.0.x client branch.
+ * Added/improved: many GM-commands.
+ * Added: many checks for DB data at server load to simplify detecting problems and DB development.
+ * Moved: many data stored in code to the DB and cached most static DB data at server load to speed up runtime access to it.
+ * Added: support for saving next spawn time for creatures/GOs which is now used it at grid/server load.
+ * Improved: the script system allowing more item/creature/GO scripts with more features to be written easily.
+ * Added: size checking for all packets received from the to prevent crashes at wrong data. Many other received data check were also added to prevent cheating.
+ * Improved: the compatibility with 64-bit platforms.
+ * Added: support for account password encryption in the DB to increase secure security.
+ * Added: support for a log directory and the date info is now added to log name.
+ * Updated: the network library to a recent version.
+ * Fixed: many memory leaks and crases sources.
+ * Added: DBC locale support that can be set from mangosd.conf.
+
+ ==== Statistics ====
+ * Fixed Bugs: 390
+ * Total number of changes: 923
+
+MaNGOS 0.6 (Jan 29, 2007)
+
+ MaNGOS 0.6 - Codename "Black Dragonflight" - adds further improvements to the
+ server core as well as to the majority of game classes and the game content
+ database.
+
+ ==== Game Features ====
+ * Creature and game object respawning has finally been fixed and is considered finished.
+ * Many improvements to decrease time for saving player data, and transaction support for save operations has been added.
+ * Many item fixes for using / equipping/ enhancing function (some errors still remain and have to be resolved).
+ * All professions work now (many fixes have been implemented, you may now enjoy fishing).
+ * Mail and auction house system has been rewritten, finally should work as it supposed to be.
+ * Spell system has received a HUGE number of improvements, and should feel much better. (Still many problems are left to be fixed, most notable include procflag spell casting, also many effects and auras are not implemented yet).
+ * Pet-stable implemented. Many improvements in hunter and warlock pet system (Problems with pet casting exists, various other minor bugs too).
+ * Rest system can be considered finished.
+ * Quest system has been rewritten (some problems remain unresolved).
+ * Implemented PvP system, and support PvE and PvP realm types.
+ * Duel system has been rewritten and can be considered complete (minor bugs still remain: e.g. characters sometimes may be killed in duels by channeled spells, or after duels finished by pets still attacking).
+ * Guild system improvements, including guild charter, guild master, and guild tabard work. (Some bugs reported about losing tabard style, etc).
+ * Some taxi system fixes and improvements. Switched to use DBC only data for taxi system work.
+ * Group related code has been rewritten, and extended to support raid groups.
+ * Loot code improvements and implementing group loot modes (except master loot mode).
+ * Correct implementation for creature skinning has been added.
+ * Unlearning talents, and unlearning spells with first rank received from unlearned talent implemented.
+ * Transports (ships/zeppelins) system implemented (still have some synchronization problems).
+ * Many fixes in combat system (Still have many problems).
+ * Enchanting in trade slot implemented as last not implemented part of trade system. Many other fixes.
+ * Rogue stealth for other players implemented and many fixes in druid forms.
+
+ ==== Server Features ====
+ * Full support for 1.12.x client branch has been implemented.
+ * Many GM-commands added and improved including GM mode state and GM invisibility.
+ * Many cheating preventing checks added and code rewrites.
+ * DB-based scripting support added for quest emote scripts and spell event scripts.
+ * Many improvements in less client-server data amount transferring.
+
+ ==== Statistics ====
+ * Fixed Bugs: 306
+ * Total number of changes: 874
+
+MaNGOS 0.5 (Sep 20, 2006)
+
+ MaNGOS 0.5 - Codename "Stable Master" - adds further improvements to the
+ server core as well as to the majority of game classes and the game content
+ database.
+
+ Most noteable changes include cleaning up the database backend, adding proper
+ support for game clients of version 1.10.2, and closing lots of threading and
+ memory related bugs. Cross-platform support has been improved as well, MaNGOS
+ should build and run on FreeBSD as well.
+
+ Feature-wise, support for pets, totems, more spells, talents, etc. have been
+ added, as well as lots of quest related features.
+
+ ==== Statistics ====
+ * Fixed Bugs: 544
+ * Total number of changes: 1828.
+
+MaNGOS 0.1 (Dec 04, 2005)
+
+ MaNGOS 0.1 - Codename "Lightbringer" -adds further improvements to the server
+ core as well as to the majority of game classes and the game content database.
+ A complete list of all updated items follows below:
+
+ === Game Features ===
+ * Add all AI files to the build process on Windows
+ * Added: Better item information updates.
+ * Added: Check on death for invalid duel status.
+ * Added: Client now shows full Creature information.
+ * Added: Creature::_RealtimSetCreatureInfo procedure which only sets changed values for realtime usage.
+ * Added: DEBUG_LOG for logging debug messages. Works with --debug-info switch on Linux and debug build on Windows.
+ * Added: Extra information for NPC and item information transmissions.
+ * Added: GM command .modify spell spellflatID,val,mark.
+ * Added: Guild structures, creation, saving data to DB.
+ * Added: Initial support for binding heart stones to a location.
+ * Added: Initial support for Guilds. Loading from DB, class, creation and management functions, plus some opcodes supported.
+ * Added: Initial support for item stacks.
+ * Added item page text display for detailed item info.
+ * Added: Level 3 command for Guild creation.
+ * Added: Linux Makefiles will now install mangosd.conf to sysconfdir when running "make install" after build.
+ * Added pragma's to disable stupid compiler warnings. Code now compiles cleanly.
+ * Added: Random generation of damage values for weapons based on their level.
+ * Added: RandomMovementGenerator. Template not yet implemented.
+ * Added SharedDefines.h (and updated some enums with more values).
+ * Added: Sheath code.
+ * Added: Some DB cleaning tools, hard-coded damage can be removed now.
+ * Added: some movement related classes.
+ * Added: SQL tables for guilds.
+ * Added: Support for additional spells.
+ * Added support for AIM system ( Artificial Intelligence and Movement ).
+ * Added: Support for client 1.8.3.
+ * Added support for Guild System, still has some bugs, about 85% done.
+ * Added support for Honor System, initial support is done, calculations need love.
+ * Added support for IP logging of players.
+ * Added: Support for page texts.
+ * Added: Support for QuestAreaPoints.
+ * Added support for reputation.
+ * Added: Support for tutorials.
+ * added the opcode name in the world.log for bether cheking
+ * Added: Weapon damage genrator now adds extra damage types for some items.
+ * Add Tools,DBC Editer,you can use it to edit all .dbc File,
+ * AI delivery
+ * Fix duel flag object position
+ * Fixed and sped up the players array code.
+ * Fixed: Armor settings.
+ * Fixed: Bug fixes for crash and other stuff.
+ * Fixed: Character bug on login closed.
+ * Fixed character creation bug
+ * Fixed: Commented wrong lines in last commit. Now correct ones commented.
+ * Fixed: Creation of item spells.
+ * Fixed: Creature::SaveToDB() code fixed. I messed it up while trying to sort out NPC corpse issue. Now back to normal.
+ * Fixed dead NPC issue.
+ * Fixed: Double Jump bug fixed with a temporary solution.
+ * Fixed: Fixed duplicate inclusion of Opcodes.cpp and Opcodes_1_7_x.cpp in game and mangosd directory for VC7 build.
+ * Fixed: Friendly NPCs attacking.
+ * Fixed Game Objects, now signs other objects all display.
+ * fixed gametickets at last,added error handling,character can have only 1 gmticket
+ * Fixed: Handle the bad data for guid and LOW/HIGH GUID.
+ * Fixed: Intel C++ VC project now compiles.
+ * Fixed: Item query code fixed. Item now display most stats (90%).
+ * Fixed: ItemQuery opcode. This prevents a crash when talking to some vendors.
+ * Fixed: Minor fixes for Creatures health, added some comments.
+ * Fixed: NPC texts.
+ * Fixed: One of the lines in ObjectAccessor.cpp wa removed by accident in changeset #356, causing nearby creatures not roaming, thus not attacking for aggressors.
+ * Fixed: Proper comparison for maxhealth.
+ * Fixed: Release build for 1.8 and default Grid ON
+ * Fixed: Resolve dead NPCs, maxhealth setting.
+ * Fixed Skill check for equiping Items.
+ * Fixed: Small fix for Windows build in ObjectAccessor::Update(const uint32 &diff).
+ * Fixed: Talent modifiers.
+ * Fixed: Talent percent work.
+ * Fixed: Vendors now load and display items.
+ * Fix: now the player can only equip item, if have the proper skill
+ * Fix two player in the same zone cores. Fix mem leaks in 1.8 mask deletion. And fix core dump for npc handler due to GUI only takes lower part.
+ * Function _ApplyItemMods() is protected... then i created a public function ApplyItemMods() that calls it... Object Oriented Project, guys!
+ * Function SetStanding() has been created. Now needs to put it on places where the standing of the reputation is increased.
+ * Initial delivery of the AI framework..
+ * Major CPU usage improvements with grid system disabled.
+ * msg of ignore list fixed
+ * Now Faction.dbc is being loaded.
+ * Progress bar code enhanced.
+ * Put back compression. Apparently the core problem of two players is NOT solved cuz I can still replicate it.
+ * Removed: All ENABLE_GRID_SYSTEM defines removed.
+ * Removed: Some operation out of Creature::Updated. Resolve dead NPCs.
+ * Reputation: first step. List of factions has been created. Some opcodes are working now.
+ * Reputation: second step. _LoadReputation, _SaveReputation, LoadReputationFromDBC functions have been created. Now all reputation factions are into factions list.
+ * Reputation System is now fixed. All functions are fixed. Load and save to DB are fine. The file reputation.sql has been updated.
+ * Reputation table has been created... update your Data Base!
+ * Resolved: Outstanding issues in phase 2 of grid system, still some left.
+ * Small reputation table sql fix for compatability. Remove latin character requirement.
+ * Started adding Enchant spell code.
+ * Started writing local items cache. (disabled)
+ * Still working on reputation... now FactionTemplate.dbc is loaded.
+ * Trainer code fixed. Items now disappear when you learn them.
+ * Trainer code update.
+ * Updated: Added guild sql files to Linux Makefile.
+ * Updated: Adjusted Item Query code.
+ * Updated: AtWar flag will now bet set for hostile fractions by LoadReputationFromDBC function.
+ * Updated: Changed transmission of item information.
+ * Updated: Creature display updates.
+ * Updated: Deliver Grid system phase 2 for VC7. The Grid System (TGS) completed.
+ * Updated: Display nicer statistics on daemon startup.
+ * Updated: FactionTemplate now hashed.
+ * Updated Game Objects. Looting works, loot template missing, support for Herbs, Mines, Locks missing.
+ * Updated: Item text pages now display additional information.
+ * Updated mail support. Now fully works.
+ * Updated: More debug cleanings.
+ * Updated: More grid optimizations.
+ * Updated: only updated creatures/objects near adjacent cell of where player stands. Also intersection of cell between player should update once.
+ * Updated: On Quest completion your faction reputation will increase properly.
+ * Updated: Quest and NPC text loading modified to suit the new tables.
+ * Updated: Quest code will now read the Creature_ID from the table.
+ * Updated: Removed some obsolete code.
+ * Updated: Rewrote urand() procedure to fix conflicted SVN.
+ * Updated: _SetCreatureTemplate() must be run in an update. When set on creation, it has no effect.
+ * Updated: Spell time recution talents now fully work.
+ * Updated: The Grid System (TGS) is now on by default. Not support grid off. Next, (1) deliver phase 2 stuff and (2) remove ifdef and ALL old classes.
+ * Updated: TRUNCATE is faster than DELETE
+
+ === Server Features ===
+ * Added CLI interface for server. Needs to be enabled on compile-time.
+ * Reorganized Spell System, separated effects to a diferent file, for better fixing.
+
+ ==== Statistics ====
+ * Fixed Bugs: #14, #17, #20, #22, #23, #24, #25, #26
+ * Total number of changes: 193.
+
+MaNGOS 0.0.3 (Nov 15, 2005)
+
+ MaNGOS 0.0.3 - Codename "Mango Carpet" - was mainly a bug fix release, which
+ never was published on the web, and just marks a point in development where
+ a damn lot of bugs had been fixed, but we still felt the need for further work
+ to be done before a release could be pushed to the world.
+
+MaNGOS 0.0.2 (Oct 31, 2005)
+
+ MaNGOS 0.0.2 - Codename "Library" - adds another bunch of improvements, bug
+ fixes and major enhancements to the overall functionality of the daemon. A
+ complete list of all updated items follows below:
+
+ ==== Game Features ====
+ * Added support for area exploration.
+ * Added support for duels.
+ * Added support for ticket system.
+ * Added support for trading.
+ * Added support for NPC movement when there are no waypoints defined.
+ * Added support for NPC gossip, now handling options, and providing default options.
+ * Added attack code for creatures.
+ * Added default data for realm list.
+ * Fixed character logout. Players can only log out when not in combat.
+ * Fixed friends and ignore lists.
+ * Fixed game objects to have proper sizes.
+ * Fixed item swapping.
+ * Fixed player factions.
+ * Fixed vendors. They now work without requiring gossip texts defined, as long as they have objects to sell.
+ * Updated command descriptions to be more meaningful.
+ * Updated default data for player creation. Actions, items, skills and spells moved to database.
+
+ ==== Server Features ====
+ * Added support for building with Intel C++ compiler on Windows.
+ * Added support for building with debug info on Linux. Use --with-debug-info switch to include debug info.
+ * Added support for building with 1.8.x protocol as default protocol. Use the 1.8.x build configurations in Visual Studio or --enable-18x switch on Linux.
+ * Added support for building with 1.7.x protocol. Use the 1.7.x build configurations in Visual Studio or --enable-17x switch on Linux.
+ * Added support for internal httpd server added for those not running Apache. --enable-httpd-integrated will add it. Windows solution available.
+ * Added support for displaying progress bars for daemon startup loading.
+ * Added support for on demand Grid Loading/Unloading system, which is disabled by default.
+ * Added core application framework.
+ * Added support for console commands (setgm,ban,create,info)
+ * Added command line switch -c for pointing to a custom configuration file. By default file from _MANGOSD_CONFIG (defined in src/mangosd/Master.h.in) will be used.
+ * Fixed ZThread build process.
+ * Fixed segmentation fault on zone map test due to access of array out of bound. Also, change m_ZoneIDmap to use bitset instead of the 4 bytes bool.
+ * Fixed memory leak problems. The creation of new TYPE[] must delete with [] for correctness otherwise n-1 members are leaked.
+
+ ==== Statistics ====
+ * Fixed Bugs: #4, #7, #12, #13, #16, #18, #19
+ * Total number of changes: 225.
+
+MaNGOS 0.0.1 (Sept 13, 2005)
+
+ MaNGOS 0.0.1 - Codename "Endeavour" - contains a great number of new features,
+ improvements and bug fixes. The following list contains all of them:
+
+ * NPC gossips now hash by Guid instead of ID. ID is meaningless and we should revisit its usage.
+ * Fixed client crash issue. GameObject still not interactive. Flags issues.
+ * Introduced new gameobjecttemplate table as well new map files.
+ * Added SCP-to-SQL converter to contrib/scp-to-sql/.
+ * MySQL 4.0 branch now is minimum requirement.
+ * Server causes client to core on unintialized memory. Also, remove some debug statement which causes problem when the DB is large
+ * Creature loot now reads from the creatureloot table. Use a new algorithm to select loot items that mimic the probabilities assigned in each item.
+ * Fixed configuration file, added proper settings for packet logging.
+ * Added default data for player creation and command help.
+ * Added GM command: .addspw #entry-id. Spawns a creature from creaturetemplate table by given #entry-id.
+ * Server randomly cores if DBC file failed to load. Fixes by intializing all DBC class internal variables.
+ * Daemon version and path to daemon configuration now set by build system on compile time.
+ * Allow connections from client release 4544
+ * Update solution and project files for latest Visual Studio .NET 2005 Beta 2 release.
+ * Fixed compiler error for gcc 4.0 or higher. Calling templated base class methods has to be explicit from 4.0 or higher on.
+ * Added contrib/ subdirectory for third-party tools.
+ * Applied MaNGOS code indention schema.
+ * Initial code checked into repository.
+
+ ==== Statistics ====
+ * Fixed Bugs: #2, #3, #9, #10, #11
+ * Total number of changes: 53.
+
58 Makefile.am
View
@@ -0,0 +1,58 @@
+# Copyright (C) 2005-2008 MaNGOS <http://getmangos.com/>
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+## Process this file with automake to produce Makefile.in
+
+## Sub-directories to parse
+SUBDIRS = dep doc sql src
+
+## Additional files to include when running 'make dist'
+# Win32 project workspace for Visual Studio .NET 2003
+EXTRA_DIST = \
+ win/mangosdVC71.sln \
+ win/VC71/framework.vcproj \
+ win/VC71/game.vcproj \
+ win/VC71/mangosd.vcproj \
+ win/VC71/realmd.vcproj \
+ win/VC71/shared.vcproj \
+ win/VC71/zlib.vcproj \
+ win/VC71/g3dlite.vcproj \
+ win/VC71/zthread.vcproj
+
+# Win32 project workspace for Visual Studio .NET 2005
+EXTRA_DIST += \
+ win/mangosdVC80.sln \
+ win/VC80/framework.vcproj \
+ win/VC80/game.vcproj \
+ win/VC80/mangosd.vcproj \
+ win/VC80/realmd.vcproj \
+ win/VC80/shared.vcproj \
+ win/VC80/zlib.vcproj \
+ win/VC80/g3dlite.vcproj \
+ win/VC80/zthread.vcproj
+
+# Win32 project workspace for Visual Studio .NET 2008
+EXTRA_DIST += \
+ win/mangosdVC90.sln \
+ win/VC90/framework.vcproj \
+ win/VC90/game.vcproj \
+ win/VC90/mangosd.vcproj \
+ win/VC90/realmd.vcproj \
+ win/VC90/shared.vcproj \
+ win/VC90/zlib.vcproj \
+ win/VC90/g3dlite.vcproj \
+ win/VC90/zthread.vcproj
+
107 NEWS
View
@@ -0,0 +1,107 @@
+= MaNGOS -- History of visible changes =
+
+Copyright (c) 2005-2008 MaNGOS project <http://getmangos.com/>
+
+See the COPYING file for copying conditions.
+
+Visit our project website for documentation, and more:
+http://getmangos.com/
+
+Visit our forums for support:
+http://getmangos.com/community/
+
+Please submit bug reports at:
+http://mangos.lighthouseapp.com/
+
+Version 0.12
+ * Under discussion.
+ * Upgrade to client version 2.4.3 (build 8606).
+
+Version 0.11
+ * Lots of improvements in the spell system.
+ * Now use Mersenne Twister random number generator.
+ * MySQL client libs updated to 5.0.56.
+ * Upgrade to client version 2.4.2 (build 8278).
+
+Version 0.10
+ * master looter lot mode,
+ * FFA PvP zones and FFA PvP server type support,
+ * Guild Banks,
+ * unique equipped items support, including gems,
+ * talent inspecting,
+ * PostgreSql support,
+ * sockets library updated to v.2.2.9 version,
+ * 64-bit binaries building at Windows,
+ * Upgrade to client version 2.3.0 (build 7561).
+
+Version 0.9
+ * recipes discovery system support,
+ * more auras, effects, spells, and talents working,
+ * players queue at login support,
+ * mangosd/realmd as Windows services support,
+ * autogeneration mangosd/realmd crash reports (Windows only),
+ * Visual Studio 2008 Express and Pro support,
+ * division Mangos DataBase to MangosDB(WorldDB) and CharactersDB.
+ * Upgrade to client version 2.2.3 (build 7359).
+
+Version 0.8
+ * battleground support,
+ * gender specific creatures,
+ * game objects triggering more scripts,
+ * more auras, effects, spells, and talents working,
+ * dungeon specific data,
+ * localization support for data,
+ * vmaps for line of sight handling,
+ * build support for OpenBSD and FreeBSD,
+ * Upgrade to client version 2.1.3 (build 6898).
+
+Version 0.7, Codename "Eye of the Storm"
+ * Full rewrite of the GNU autotools based build system, in order to
+ smooth and clean up the build process.
+ * Full rewrite of the Windows build system, allowing MaNGOS to be built
+ from Visual C++ 2003 Toolkit, Visual C++ 2003, Visual C++ 2005.
+ * Upgrade to client version 2.0.12 (build 6546).
+
+Version 0.6, Codename "Black Dragonflight"
+ * MaNGOS development moved to http://sourceforge.net/projects/mangos/
+ * A lots of speed improvements to data handling and data transfer have been
+ completed.
+ * Mail, auction house, profession, creature, and game object systems have seen
+ a lot of improvements and can be considered feature complete. Some minor bugs
+ still are left.
+ * Rest system has been finished.
+ * Initial pet stable support has been added.
+ * PvP and duel system have seen lots of improvements
+ * Guilds are not just a myth anymore. Coming closer to full guild support.
+ * Taxi and transport system is close to a fully working system.
+ * A lot more has been added.
+
+Version 0.5, Codename "Stable Master"
+ * Core stability improvements, lots of threading and memory usage related
+ bugs have been resolved.
+ * MySQL Database backend has been cleaned up.
+ * Proper support for game clients of version 1.10.2 has been added.
+ * Support for auras, pets, spells, talents, totems, etc. has been added
+ or improved.
+ * Cross-platform issues have been resolved, MaNGOS should now build on
+ more platforms, including FreeBSD.
+
+Version 0.1, Codename "Lightbringer"
+ * AI system
+ * Grid system
+ * Lots a game features working.
+ * Lovely optimizations for the beloved server.
+
+Version 0.0.3, Codename "Mango Carpet"
+ * Interim release, not gone public.
+
+Version 0.0.2, Codename "Library"
+ * Most data conversions working.
+ * Database cleanup.
+ * More features working.
+ * Many bugs fixed.
+
+Version 0.0.1, Codename "Endeavour"
+ * Data converter added.
+ * Build system improvements.
+ * Bug fixing and code cleaning.
35 THANKS
View
@@ -0,0 +1,35 @@
+The THANKS file:
+
+All distributions should contain a `THANKS' file containing a two column list
+of the contributors, one per line, alphabetically sorted. The left column gives
+the contributor's name, while the right column gives the last known good email
+address for this contributor. This list should be introduced with a wording
+similar to this one:
+
+ MaNGOS THANKS file
+
+ MaNGOS has originally been written by Team Python and WoW Daemon Team. Many
+ people further contributed to MaNGOS by reporting problems, suggesting various
+ improvements or submitting actual code.
+
+ Here is a list of these people. Help me keep it complete and exempt of errors.
+
+ Special thanks should also go out to the WowwoW team. We have gained help from
+ them many times in the creation of this project. Keep up the good work guys.
+
+ Thanks should also go out to the Ludmilla team, who are also providing the
+ community with a great server. We have not gained too much help from them,
+ but we have recieved some.
+
+The easiest policy with this file is to thank everyone who contributes to the
+project, without judging the value of the contribution.
+
+Unlike `AUTHORS', the `THANKS' file is not maintained for legal reasons. It is
+maintained to thank all the contributors that helped you out in your project.
+The `AUTHORS' file can not be used for this purpose because certain
+contributions, like bug reports or ideas and suggestions do not require legal
+paper exchanges.
+
+You can also decide to send some kind of special greeting when you initially
+add a name to your `THANKS' file. The mere presense of a name in `THANKS' is
+then a flag to you that the initial greeting has been sent.
333 configure.ac
View
@@ -0,0 +1,333 @@
+# Copyright (C) 2005-2008 MaNGOS project <http://getmangos.com/>
+#
+# This file is free software; as a special exception the author gives
+# unlimited permission to copy and/or distribute it, with or without
+# modifications, as long as this notice is preserved.
+#
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
+# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+## Process this file with autoconf to produce a configure script.
+
+# TODO: create m4 directory and put the checks there, because this file got realy poluted ( by Derex )
+
+## Prelude, basic settings for Autoconf
+# PACKAGE: mangos
+# VERSION: 0.12.0 (trunk)
+# BUG-REPORT-ADDRESS: mangos-devs@lists.sourceforge.net
+AC_INIT( [mangos], [0.12.0], [mangos-devs@lists.sourceforge.net])
+AC_CONFIG_SRCDIR([src/shared/Base.cpp])
+
+## Prelude, basic settings for Automake
+# Turn on all warnings and error messages, and enforce GNU
+# standards for the package.
+AM_INIT_AUTOMAKE([-Wall -Werror gnu tar-pax])
+AM_MAINTAINER_MODE
+
+## Prevent the configure script from continuing any further if
+# configuration is being performed in the top-level directory.
+# The idea is to prevent this ,because some maintainers tend
+# to break parallel build trees (a.k.a. VPATH builds).
+if test "$srcdir" = "." && test "$enable_maintainer_mode" != "yes"; then
+ AC_MSG_ERROR(
+ [
+ Please configure and build in a directory other than the
+ top-level source directory. This is needed because a lot
+ of maintainers tend to break parallel build trees
+ (a.k.a. VPATH builds). This is kinda real ensurance they
+ will not do it (by enforcing everybody to do VPATH builds).
+
+ For example, try the following from the top-level source
+ directory:
+
+ mkdir objdir
+ cd objdir
+ ../configure
+ make
+
+ This will create a build space in the directory `objdir' and
+ start a build in that directory.
+
+ If however you realy want to disable this error,
+ use --enable-maintainer-mode switch.
+ ])
+fi
+
+## Disable building of static libraries by default
+AC_DISABLE_STATIC
+
+## Check for required dependencies.
+
+## Check for a valid build environment.
+# Valid equals having:
+# - a C++ compiler compliant with the ISO98 C++ specification.
+# - a working library tool for creating convenience libraries.
+# - a working linker for creating static and shared libraries.
+AC_PROG_CC
+AC_PROG_CXX
+AM_PROG_CC_C_O
+AC_PROG_LIBTOOL
+AC_PROG_INSTALL
+
+# Check for doxygen
+AC_ARG_ENABLE(doxygen, AC_HELP_STRING([--enable-doxygen], [turn on generating documentation]))
+
+enable_doxygen_support=no
+
+if test "x$enable_doxygen" = "xyes";
+then
+ AC_PATH_PROG(DOXYGEN, doxygen, no)
+ if test "x$DOXYGEN" = "xno"; then
+ AC_MSG_ERROR([You need to install the doxygen package])
+ fi
+ enable_doxygen_support=yes
+fi
+AM_CONDITIONAL(DOXYGEN_ENABLED, test x$enable_doxygen_support = xyes)
+
+## Check for required libraries.
+AC_CHECK_LIB( pthread, pthread_create, [],
+ [LDFLAGS="-pthread $LDFLAGS"
+ AC_TRY_LINK([char pthread_create();],
+ pthread_create();,
+ [], [AC_MSG_ERROR([Missing pthread])])
+ ])
+AC_CHECK_LIB( z, compress, [ZLIB=-lz],[AC_MSG_ERROR([Missing zlib])] )
+AC_CHECK_LIB( compat, ftime, [COMPATLIB=-lcompat] )
+AC_CHECK_LIB( crypto, SHA1_Init, [SSLLIB=-lssl], [AC_MSG_ERROR([Missing openssl])])
+
+AC_ARG_WITH(postgresql,
+[ --with-postgresql Use PostgreSQL as a backend (default: no)],
+[case "${withval}" in
+ yes) DO_POSTGRESQL=yes ;;
+ no) DO_POSTGRESQL=no ;;
+ maybe) DO_POSTGRESQL=maybe ;;
+ *) AC_MSG_ERROR(Bad value ${withval} for --with-postgresql) ;;
+ esac],
+[DO_POSTGRESQL=no])
+
+AC_ARG_WITH(mysql,
+[ --with-mysql Use MySQL as a backend (default: yes)],
+[case "${withval}" in
+ yes) DO_MYSQL=yes ;;
+ no) DO_MYSQL=no ;;
+ maybe) DO_MYSQL=maybe ;;
+ *) AC_MSG_ERROR(Bad value ${withval} for --with-mysql) ;;
+ esac],
+[DO_MYSQL=yes])
+
+# here Postgre
+AC_MSG_CHECKING(whether to build/link POSTGRESQL)
+if test "x$DO_POSTGRESQL" = "xyes"; then
+DO_MYSQL=no
+POSTGRE_INCLUDES="-I/usr/include/postgresql $POSTGRE_INCLUDES"
+POSTGRE_LIBS="-L/usr/lib/postresql -lpq -lz -lpthread -lcrypt -lnsl -lm -lpthread -L/usr/lib -lssl -lcrypto $POSTGRE_LIBS "
+CXXFLAGS="-DDO_POSTGRESQL $CXXFLAGS"
+fi
+AC_MSG_RESULT($DO_POSTGRESQL)
+
+# here mysql
+AC_MSG_CHECKING(whether to build/link MYSQL)
+if test "x$DO_MYSQL" = "xyes"; then
+AC_MSG_RESULT($DO_MYSQL)
+AC_PATH_PROGS(MYSQL_CONFIG, mysql_config, mysql_config, $PATH)
+ if test -x "$MYSQL_CONFIG"
+ then
+ # MySQL v4 uses --include while v3 uses --cflags
+ MYSQL_INCLUDES="`$MYSQL_CONFIG --include`" || \
+ MYSQL_INCLUDES="`$MYSQL_CONFIG --cflags`"
+ MYSQL_LIBS="`$MYSQL_CONFIG --libs_r`"
+ CXXFLAGS="-DDO_MYSQL $CXXFLAGS"
+ fi
+else
+AC_MSG_RESULT($DO_MYSQL)
+fi
+
+## Check for options
+# Include debug info in library?
+AC_MSG_CHECKING(whether to include debug info in library)
+MANGOSD_DEBUG_INFO=no
+AC_ARG_WITH(debug-info,
+[
+Debugging options:
+
+ --with-debug-info Include debug info in library],
+[
+ if test "$withval" = "yes" ; then
+ CFLAGS="-g -DMANGOS_DEBUG $CFLAGS"
+ CXXFLAGS="-g -DMANGOS_DEBUG $CXXFLAGS"
+ MANGOSD_DEBUG_INFO=yes
+ elif test "$withval" != "no" ; then
+ AC_MSG_ERROR(Please choose yes or no)
+ fi
+])
+AC_MSG_RESULT($MANGOSD_DEBUG_INFO)
+
+
+# Enable CLI console?
+AC_MSG_CHECKING(whether cli console is enabled)
+MANGOSD_ENABLE_CLI=no
+AC_ARG_ENABLE(cli,
+[ --enable-cli Turn on command console system],
+[
+ if test "$enableval" = "yes" ; then
+ CFLAGS="-DENABLE_CLI $CFLAGS"
+ CXXFLAGS="-DENABLE_CLI $CXXFLAGS"
+ MANGOSD_ENABLE_CLI=yes
+ elif test "$withval" != "no" ; then
+ AC_MSG_ERROR(Please choose yes or no)
+ fi
+])
+AC_MSG_RESULT($MANGOSD_ENABLE_CLI)
+
+# Enable remote console?
+AC_MSG_CHECKING(whether remote console is enabled)
+MANGOSD_ENABLE_RA=no
+AC_ARG_ENABLE(ra,
+[ --enable-ra Turn on remote console system],
+[
+ if test "$enableval" = "yes" ; then
+ CFLAGS="-DENABLE_RA $CFLAGS"
+ CXXFLAGS="-DENABLE_RA $CXXFLAGS"
+ MANGOSD_ENABLE_RA=yes
+ elif test "$withval" != "no" ; then
+ AC_MSG_ERROR(Please choose yes or no)
+ fi
+])
+AC_MSG_RESULT($MANGOSD_ENABLE_RA)
+
+## Check for required header files.
+AC_HEADER_STDC
+AC_HEADER_DIRENT
+AC_CHECK_HEADERS([ arpa/inet.h fcntl.h limits.h locale.h malloc.h netdb.h netinet/in.h stddef.h stdint.h stdlib.h string.h strings.h sys/ioctl.h sys/param.h sys/socket.h sys/timeb.h sys/time.h termios.h unistd.h ])
+
+AC_CHECK_HEADERS([pthread.h])
+AC_CHECK_HEADERS([openssl/md5.h openssl/rand.h openssl/ssl.h openssl/sha.h openssl/bn.h])
+AC_CHECK_HEADERS([mysql.h mysql/mysql.h])
+AC_CHECK_HEADERS([libpq-fe.h])
+AC_CHECK_HEADERS([zlib.h])
+
+## Check for typedefs, structures, and compiler characteristics.
+AC_HEADER_STDBOOL
+AC_C_CONST
+AC_C_INLINE
+AC_TYPE_SIZE_T
+AC_HEADER_TIME
+AC_STRUCT_TM
+AC_TYPE_UINT64_T
+AC_C_VOLATILE
+AC_CHECK_TYPES([ptrdiff_t])
+
+## Check for required library functions.
+AC_FUNC_CLOSEDIR_VOID
+AC_FUNC_ERROR_AT_LINE
+AC_FUNC_MALLOC
+AC_FUNC_MEMCMP
+AC_FUNC_REALLOC
+AC_FUNC_SELECT_ARGTYPES
+AC_TYPE_SIGNAL
+AC_FUNC_VPRINTF
+AC_CHECK_FUNCS([atexit ftime gethostbyaddr gethostbyname gethostname gettimeofday memmove memset pow realpath select socket sqrt strchr strdup strerror strstr])
+
+## Check what to do with ACE library
+AC_LANG_PUSH([C++])
+AC_CHECK_HEADER([ace/Reactor.h], [have_ace_headers=yes], [have_ace_headers=no])
+AC_CHECK_LIB([ACE], [main], [have_ace_lib=yes], [have_ace_lib=no])
+AC_LANG_POP([C++])
+
+AC_MSG_CHECKING([whether to build ACE])
+if test X$have_ace_headers = Xyes -a X$have_ace_lib = Xyes;
+then
+ need_to_build_ace=no
+ AC_MSG_RESULT([no])
+else
+ if test X$have_ace_headers = Xno -a X$have_ace_lib = Xno; then
+ need_to_build_ace=yes
+ AC_MSG_RESULT([yes])
+ else
+ if test X$have_ace_headers = Xyes; then
+ AC_MSG_ERROR([looks like you have ACE headers, but you do not have ACE libs installed])
+ else
+ need_to_build_ace=yes
+ AC_MSG_RESULT([yes, over-install])
+ fi
+ fi
+fi
+
+if test X$need_to_build_ace = Xyes; then
+ MANGOS_INCLUDES="-I\$(top_srcdir)/dep/ACE_wrappers -I\$(top_builddir)/dep/ACE_wrappers $MANGOS_INCLUDES"
+ MANGOS_LIBS="\$(top_builddir)/dep/ACE_wrappers/ace/libACE.la $MANGOS_LIBS"
+else
+ MANGOS_LIBS="-lACE $MANGOS_LIBS"
+fi
+
+AM_CONDITIONAL([MANGOS_BUILD_ACE], [test X$need_to_build_ace = Xyes])
+
+
+## Unify all additional includes/libs in one variable.
+# TODO this looks kinda ugly, but when we add m4 folder I will make it look very pritey ( by Derex ).
+MANGOS_INCLUDES="$POSTGRE_INCLUDES $MYSQL_INCLUDES $MANGOS_INCLUDES"
+MANGOS_LIBS="$POSTGRE_LIBS $MYSQL_LIBS $ZLIB $COMPATLIB $SSLLIB $MANGOS_LIBS"
+
+## Export defined variables
+AC_SUBST(DOXYGEN)
+AC_SUBST(MANGOSD_DEBUG_INFO)
+AC_SUBST(MANGOSD_ENABLE_CLI)
+AC_SUBST(MANGOSD_ENABLE_RA)
+
+## Additional CPPFLAGS and LDFLAGS.
+AC_SUBST(MANGOS_INCLUDES)
+AC_SUBST(MANGOS_LIBS)
+
+## Set output files.
+AC_CONFIG_HEADERS([config.h])
+AC_CONFIG_FILES([
+ dep/include/Makefile
+ dep/lib/Makefile
+ dep/src/Makefile
+ dep/src/g3dlite/Makefile
+ dep/src/sockets/Makefile
+ dep/src/zlib/Makefile
+ dep/src/zthread/Makefile
+ dep/Makefile
+ doc/Doxyfile
+ doc/Makefile
+ Makefile
+ sql/Makefile
+ sql/tools/Makefile
+ sql/updates/Makefile
+ src/Makefile
+ src/tools/Makefile
+ src/tools/gensvnrevision/Makefile
+ src/framework/Makefile
+ src/shared/Makefile
+ src/shared/Auth/Makefile
+ src/shared/Config/Makefile
+ src/shared/Database/Makefile
+ src/shared/vmap/Makefile
+ src/shared/SystemConfig.h
+ src/game/Makefile
+ src/realmd/Makefile
+ src/realmd/realmd.conf.dist
+ src/mangosd/Makefile
+ src/mangosd/mangosd.conf.dist
+ src/bindings/Makefile
+ src/bindings/universal/Makefile
+])
+
+## Configure ACE, if needed
+if test X$need_to_build_ace = Xyes; then
+ AC_CONFIG_SUBDIRS([dep/ACE_wrappers])
+fi
+
+AC_CONFIG_COMMANDS([default],[
+ echo ""
+ echo "Configuration of MaNGOS $PACKAGE_VERSION is now complete."
+ echo ""
+ ],[PACKAGE_VERSION=$PACKAGE_VERSION])
+
+## Disabled Makefiles, until they are ready for a successful make and
+# make dist run.
+
+## Output files.
+AC_OUTPUT
23 contrib/Makefile.am
View
@@ -0,0 +1,23 @@
+# Copyright (C) 2005-2008 MaNGOS <http://getmangos.com/>
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+## Process this file with automake to produce Makefile.in
+
+## Sub-directories to parse
+SUBDIRS = extractor
+
+## Additional files to include when running 'make dist'
+# Nothing yet.
34 contrib/dbcEditer/BcdEditer.ini
View
@@ -0,0 +1,34 @@
+[TaxiNodes.dbc]
+ColType2=0
+ColType3=1
+ColType4=1
+[SpellRange.dbc]
+ColType2=0
+ColType3=0
+ColType1=0
+[Talent.dbc]
+ColType1=0
+ColType5=0
+ColType4=0
+[test.dbc]
+ColType1=0
+ColType3=1
+ColType2=0
+[TalentTab.dbc]
+ColType15=2
+[TalentTab_new.dbc]
+ColType15=2
+[SpellIcon.dbc]
+ColType2=0
+ColType1=0
+[FactionGroup.dbc]
+ColType12=0
+ColType3=2
+ColType2=0
+ColType8=0
+[gtRegenMPPerSpt.dbc]
+ColType1=1
+[gtOCTRegenMP.dbc]
+ColType1=1
+[gtOCTRegenHP.dbc]
+ColType1=1
26 contrib/dbcEditer/SearchFrm.cpp
View
@@ -0,0 +1,26 @@
+//---------------------------------------------------------------------------
+
+#include <vcl.h>
+#pragma hdrstop
+
+#include "SearchFrm.h"
+//---------------------------------------------------------------------------
+#pragma package(smart_init)
+#pragma resource "*.dfm"
+TFrmSearch *FrmSearch;
+//---------------------------------------------------------------------------
+__fastcall TFrmSearch::TFrmSearch(TComponent* Owner)
+ : TForm(Owner)
+{
+}
+//---------------------------------------------------------------------------
+void __fastcall TFrmSearch::btOkClick(TObject *Sender)
+{
+ ModalResult = mrOk;
+}
+//---------------------------------------------------------------------------
+void __fastcall TFrmSearch::btCancelClick(TObject *Sender)
+{
+ ModalResult = mrCancel;
+}
+//---------------------------------------------------------------------------
BIN  contrib/dbcEditer/SearchFrm.ddp
View
Binary file not shown
63 contrib/dbcEditer/SearchFrm.dfm
View
@@ -0,0 +1,63 @@
+object FrmSearch: TFrmSearch
+ Left = 261
+ Top = 194
+ Width = 324
+ Height = 215
+ Caption = 'Seach F3 Seach Next'
+ Color = clBtnFace
+ Font.Charset = DEFAULT_CHARSET
+ Font.Color = clWindowText
+ Font.Height = -11
+ Font.Name = 'MS Sans Serif'
+ Font.Style = []
+ OldCreateOrder = False
+ PixelsPerInch = 96
+ TextHeight = 13
+ object lbseach: TLabel
+ Left = 48
+ Top = 16
+ Width = 57
+ Height = 17
+ AutoSize = False
+ Caption = 'Input:'
+ end
+ object rgSI: TRadioGroup
+ Left = 64
+ Top = 40
+ Width = 185
+ Height = 97
+ Caption = 'Seach Dir'
+ ItemIndex = 1
+ Items.Strings = (
+ 'Seach up'
+ 'Seach down'
+ 'Seach up Current rol'
+ 'Seach down Current rol')
+ TabOrder = 0
+ end
+ object edSeach: TEdit
+ Left = 120
+ Top = 16
+ Width = 121
+ Height = 21
+ TabOrder = 1
+ end
+ object btOk: TButton
+ Left = 64
+ Top = 152
+ Width = 75
+ Height = 25
+ Caption = 'Ok'
+ TabOrder = 2
+ OnClick = btOkClick
+ end
+ object btCancel: TButton
+ Left = 176
+ Top = 152
+ Width = 75
+ Height = 25
+ Caption = 'Cancel'
+ TabOrder = 3
+ OnClick = btCancelClick
+ end
+end
29 contrib/dbcEditer/SearchFrm.h
View
@@ -0,0 +1,29 @@
+//---------------------------------------------------------------------------
+
+#ifndef SearchFrmH
+#define SearchFrmH
+//---------------------------------------------------------------------------
+#include <Classes.hpp>
+#include <Controls.hpp>
+#include <StdCtrls.hpp>
+#include <Forms.hpp>
+#include <ExtCtrls.hpp>
+//---------------------------------------------------------------------------
+class TFrmSearch : public TForm
+{
+__published: // IDE-managed Components
+ TRadioGroup *rgSI;
+ TEdit *edSeach;
+ TLabel *lbseach;
+ TButton *btOk;
+ TButton *btCancel;
+ void __fastcall btOkClick(TObject *Sender);
+ void __fastcall btCancelClick(TObject *Sender);
+private: // User declarations
+public: // User declarations
+ __fastcall TFrmSearch(TComponent* Owner);
+};
+//---------------------------------------------------------------------------
+extern PACKAGE TFrmSearch *FrmSearch;
+//---------------------------------------------------------------------------
+#endif
26 contrib/dbcEditer/TitleFrm.cpp
View
@@ -0,0 +1,26 @@
+//---------------------------------------------------------------------------
+
+#include <vcl.h>
+#pragma hdrstop
+
+#include "TitleFrm.h"
+//---------------------------------------------------------------------------
+#pragma package(smart_init)
+#pragma resource "*.dfm"
+TFrmTitle *FrmTitle;
+//---------------------------------------------------------------------------
+__fastcall TFrmTitle::TFrmTitle(TComponent* Owner)
+ : TForm(Owner)
+{
+}
+//---------------------------------------------------------------------------
+void __fastcall TFrmTitle::Button1Click(TObject *Sender)
+{
+ ModalResult = mrOk;
+}
+//---------------------------------------------------------------------------
+void __fastcall TFrmTitle::Button2Click(TObject *Sender)
+{
+ ModalResult = mrCancel;
+}
+//---------------------------------------------------------------------------
BIN  contrib/dbcEditer/TitleFrm.ddp
View
Binary file not shown
51 contrib/dbcEditer/TitleFrm.dfm
View
@@ -0,0 +1,51 @@
+object FrmTitle: TFrmTitle
+ Left = 328
+ Top = 252
+ Width = 235
+ Height = 112
+ BorderIcons = [biSystemMenu]
+ Caption = 'Col Title'
+ Color = clBtnFace
+ Font.Charset = DEFAULT_CHARSET
+ Font.Color = clWindowText
+ Font.Height = -11
+ Font.Name = 'MS Sans Serif'
+ Font.Style = []
+ OldCreateOrder = False
+ Position = poDesktopCenter
+ PixelsPerInch = 96
+ TextHeight = 13
+ object Label1: TLabel
+ Left = 8
+ Top = 24
+ Width = 65
+ Height = 13
+ AutoSize = False
+ Caption = 'Title:'
+ end
+ object edTitle: TEdit
+ Left = 80
+ Top = 16
+ Width = 121
+ Height = 21
+ TabOrder = 0
+ end
+ object Button1: TButton
+ Left = 24
+ Top = 48
+ Width = 75
+ Height = 25
+ Caption = 'Ok'
+ TabOrder = 1
+ OnClick = Button1Click
+ end
+ object Button2: TButton
+ Left = 136
+ Top = 48
+ Width = 75
+ Height = 25
+ Caption = 'Cancel'
+ TabOrder = 2
+ OnClick = Button2Click
+ end
+end
27 contrib/dbcEditer/TitleFrm.h
View
@@ -0,0 +1,27 @@
+//---------------------------------------------------------------------------
+
+#ifndef TitleFrmH
+#define TitleFrmH
+//---------------------------------------------------------------------------
+#include <Classes.hpp>
+#include <Controls.hpp>
+#include <StdCtrls.hpp>
+#include <Forms.hpp>
+//---------------------------------------------------------------------------
+class TFrmTitle : public TForm
+{
+__published: // IDE-managed Components
+ TLabel *Label1;
+ TEdit *edTitle;
+ TButton *Button1;
+ TButton *Button2;
+ void __fastcall Button1Click(TObject *Sender);
+ void __fastcall Button2Click(TObject *Sender);
+private: // User declarations
+public: // User declarations
+ __fastcall TFrmTitle(TComponent* Owner);
+};
+//---------------------------------------------------------------------------
+extern PACKAGE TFrmTitle *FrmTitle;
+//---------------------------------------------------------------------------
+#endif
313 contrib/dbcEditer/bin/BcdEditer.ini
View
@@ -0,0 +1,313 @@
+[FactionGroup.dbc]
+ColType3=2
+[Spell.dbc]
+ColTitle1=Id
+ColTitle2=Category
+ColTitle3=castUI
+ColTitle4=Dispel
+ColTitle5=Mechanic
+ColTitle6=Attributes
+ColTitle7=AttributesEx;
+ColTitle8=AttributesEx2;
+ColTitle9=AttributesEx3;
+ColTitle10=AttributesEx4;
+ColTitle11=AttributesEx5;
+ColTitle12=AttributesEx6;
+ColTitle13=Stances;
+ColTitle14=StancesNot;
+ColTitle15=Targets;
+ColTitle16=TargetCreatureType;
+ColTitle17=RequiresSpellFocus;
+ColTitle18=FacingCasterFlags;
+ColTitle19=CasterAuraState;
+ColTitle20=TargetAuraState;
+ColTitle21=CasterAuraStateNot;
+ColTitle22=TargetAuraStateNot;
+ColTitle23=CastingTimeIndex;
+ColTitle24=RecoveryTime;
+ColTitle25=CategoryRecoveryTime;
+ColTitle26=InterruptFlags;
+ColTitle27=AuraInterruptFlags;
+ColTitle28=ChannelInterruptFlags;
+ColTitle29=procFlags;
+ColTitle30=procChance;
+ColTitle31=procCharges;
+ColTitle32=maxLevel;
+ColTitle33=baseLevel;
+ColTitle34=spellLevel;
+ColTitle35=DurationIndex;
+ColTitle36=powerType;
+ColTitle37=manaCost;
+ColTitle38=manaCostPerlevel;
+ColTitle39=manaPerSecond;
+ColTitle40=manaPerSecondPerLevel;
+ColTitle41=rangeIndex;
+ColTitle42=floatspeed;
+ColTitle43=modalNextSpell;//38
+ColTitle44=StackAmount;
+ColTitle45=Totem1
+ColTitle46=Totem2
+ColTitle47=Reagent
+ColTitle48=Reagent2
+ColTitle49=Reagent3
+ColTitle50=Reagent4
+ColTitle51=Reagent5
+ColTitle52=Reagent6
+ColTitle53=Reagent7
+ColTitle54=Reagent8
+ColTitle55=ReagentCount1
+ColTitle56=ReagentCount2
+ColTitle57=ReagentCount3
+ColTitle58=ReagentCount4
+ColTitle59=ReagentCount5
+ColTitle60=ReagentCount6
+ColTitle61=ReagentCount7
+ColTitle62=ReagentCount8
+
+ColTitle63=EqpItemClass
+ColTitle64=EquipItemSubClassMask
+ColTitle65=ItemInventoryTypeMask
+ColTitle66=Effect
+ColTitle67=Effect2
+ColTitle68=Effect3
+ColTitle69=EffectDieSides1
+ColTitle70=EffectDieSides2
+ColTitle71=EffectDieSides3
+ColTitle72=EffectBaseDice1
+ColTitle73=EffectBaseDice2
+ColTitle74=EffectBaseDice3
+ColTitle75=EffectDicePerLevel1
+ColTitle76=EffectDicePerLevel2
+ColTitle77=EffectDicePerLevel3
+ColTitle78=EffectRealPointsPerLevel1
+ColTitle79=EffectRealPointsPerLevel2
+ColTitle80=EffectRealPointsPerLevel3
+ColTitle81=BasePoints1
+ColTitle82=BasePoints2
+ColTitle83=BasePoints3
+ColTitle84=EffectMechanic1
+ColTitle85=EffectMechanic2
+ColTitle86=EffectMechanic3
+
+
+ColTitle87=ImplicTargA1
+ColTitle88=ImplicTargA2
+ColTitle89=ImplicTargA3
+ColTitle90=ImplicTargB1
+ColTitle91=ImplicTargB2
+ColTitle92=ImplicTargB3
+ColTitle93=RadiusIndex1
+ColTitle94=RadiusIndex2
+ColTitle95=RadiusIndex3
+ColTitle96=ApplyAuraName1
+ColTitle97=ApplyAuraName2
+ColTitle98=ApplyAuraName3
+ColTitle99=Amplitude1
+ColTitle100=Amplitude2
+ColTitle101=Amplitude3
+ColTitle102=MultiVal1
+ColTitle103=MultiVal2
+ColTitle104=MultiVal3
+ColTitle105=ChainTarg1
+ColTitle106=ChainTarg2
+ColTitle107=ChainTarg3
+ColTitle108=EffectItemType1
+ColTitle109=EffectItemType2
+ColTitle110=EffectItemType3
+ColTitle111=EffectMiscVal1
+ColTitle112=EffectMiscVal2
+ColTitle113=EffectMiscVal3
+ColTitle114=EffectMiscValB1
+ColTitle115=EffectMiscValB2
+ColTitle116=EffectMiscValB3
+ColTitle117=EffectTriggerSpell1
+ColTitle118=EffectTriggerSpell2
+ColTitle119=EffectTriggerSpell3
+ColTitle120=EffectPointsPerComboPoint1
+ColTitle121=EffectPointsPerComboPoint2
+ColTitle122=EffectPointsPerComboPoint3
+ColTitle123=SpellVisual
+ColTitle125=SpellIconID
+ColTitle126=activeIconID
+ColTitle127=spellPriority
+ColTitle128=SpellName1
+ColTitle129=SpellName2
+ColTitle130=SpellName3
+ColTitle131=SpellName4
+ColTitle132=SpellName5
+ColTitle133=SpellName6
+ColTitle134=SpellName7
+ColTitle135=SpellName8
+ColTitle136=SpellName9
+ColTitle137=SpellName10
+ColTitle138=SpellName11
+ColTitle139=SpellName12
+ColTitle140=SpellName13
+ColTitle141=SpellName14
+ColTitle142=SpellName15
+ColTitle143=SpellName16
+ColTitle144=SpellNameFlag
+ColTitle145=Rank1
+ColTitle146=Rank2
+ColTitle147=Rank3
+ColTitle148=Rank4
+ColTitle149=Rank5
+ColTitle150=Rank6
+ColTitle151=Rank7
+ColTitle152=Rank8
+ColTitle153=Rank9
+ColTitle154=Rank10
+ColTitle155=Rank11
+ColTitle156=Rank12
+ColTitle157=Rank13
+ColTitle158=Rank14
+ColTitle159=Rank15
+ColTitle160=Rank16
+ColTitle161=RankFlags
+ColTitle162=Description1
+ColTitle163=Description2
+ColTitle164=Description3
+ColTitle165=Description4
+ColTitle166=Description5
+ColTitle167=Description6
+ColTitle168=Description7
+ColTitle169=Description8
+ColTitle170=Description9
+ColTitle171=Description10
+ColTitle172=Description11
+ColTitle173=Description12
+ColTitle174=Description13
+ColTitle175=Description14
+ColTitle176=Description15
+ColTitle177=Description16
+ColTitle178=DescriptionFlags
+ColTitle179=ToolTip1
+ColTitle180=ToolTip2
+ColTitle181=ToolTip3
+ColTitle182=ToolTip4
+ColTitle183=ToolTip5
+ColTitle184=ToolTip6
+ColTitle185=ToolTip7
+ColTitle186=ToolTip8
+ColTitle187=ToolTip9
+ColTitle188=ToolTip10
+ColTitle189=ToolTip11
+ColTitle190=ToolTip12
+ColTitle191=ToolTip13
+ColTitle192=ToolTip14
+ColTitle193=ToolTip15
+ColTitle194=ToolTip16
+ColTitle195=ToolTipFlags
+ColTitle196=ManaCostPercentage
+ColTitle197=StartRecoveryCategory
+ColTitle198=StartRecoveryTime
+ColTitle199=MaxTargetLevel
+ColTitle200=SpellFamilyName
+ColTitle201=SpellFamilyFlags1
+ColTitle202=SpellFamilyFlags2
+ColTitle203=MaxAffectedTargets
+ColTitle204=DmgClass
+ColTitle205=PreventionType
+ColTitle206=StanceBarOrder
+ColTitle207=DmgMultiplier1
+ColTitle208=DmgMultiplier2
+ColTitle209=DmgMultiplier3
+ColTitle210=MinFactionId
+ColTitle211=MinReputation
+ColTitle212=RequiredAuraVision
+ColTitle213=TotemCategory1
+ColTitle214=TotemCategory2
+ColTitle215=AreaId
+ColTitle216=SchoolMask
+ColType102=1
+ColType103=1
+ColType104=1
+ColType128=2
+ColType129=2
+ColType130=2
+ColType131=2
+ColType132=2
+ColType133=2
+ColType134=2
+ColType135=2
+ColType136=2
+ColType137=2
+ColType138=2
+ColType139=2
+ColType140=2
+ColType141=2
+ColType142=2
+ColType143=2
+ColType145=2
+ColType146=2
+ColType147=2
+ColType148=2
+ColType149=2
+ColType150=2
+ColType151=2
+ColType152=2
+ColType153=2
+ColType154=2
+ColType155=2
+ColType157=2
+ColType156=2
+ColType158=2
+ColType159=2
+ColType160=2
+ColType162=2
+ColType163=2
+ColType164=2
+ColType165=2
+ColType166=2
+ColType167=2
+ColType168=2
+ColType169=2
+ColType170=2
+ColType171=2
+ColType172=2
+ColType173=2
+ColType174=2
+ColType175=2
+ColType176=2
+ColType177=2
+ColType179=2
+ColType180=2
+ColType181=2
+ColType182=2
+ColType183=2
+ColType184=2
+ColType185=2
+ColType186=2
+ColType187=2
+ColType188=2
+ColType189=2
+ColType190=2
+ColType191=2
+ColType192=2
+ColType193=2
+ColType194=2
+ColType208=1
+ColType209=1
+ColType207=1
+[Map.dbc]
+ColType2=2
+ColType8=0
+[AreaTrigger.dbc]
+ColTitle3=x
+ColTitle4=y
+ColTitle5=z
+ColTitle1=id
+ColTitle2=map
+ColType3=1
+ColType4=1
+ColType5=1
+ColType6=1
+ColType7=1
+ColType8=1
+ColType9=1
+ColType10=1
+ColTitle6=radius
+ColTitle7=box x
+ColTitle8=box y
+ColTitle9=box z
+ColTitle10=box orientation
BIN  contrib/dbcEditer/bin/bcbsmp60.bpl
View
Binary file not shown
BIN  contrib/dbcEditer/bin/borlndmm.dll
View
Binary file not shown
BIN  contrib/dbcEditer/bin/cc3260mt.dll
View
Binary file not shown
BIN  contrib/dbcEditer/bin/dclusr60.bpl
View
Binary file not shown
BIN  contrib/dbcEditer/bin/indy60.bpl
View
Binary file not shown
BIN  contrib/dbcEditer/bin/pjDbcEditer.exe
View
Binary file not shown
BIN  contrib/dbcEditer/bin/rtl60.bpl
View
Binary file not shown
11 contrib/dbcEditer/bin/update.txt
View
@@ -0,0 +1,11 @@
+1.4版更新
+ 1.修正退出时有时退不出的bug
+ 2.加入可查找的功能
+ 3.加入列切换类型后立即刷新
+ 4.加入可以当前单元格写入打开文件的功能
+ 5.加入每一列的宽度可调整
+ 6.加入支持文本显示,但不能修改,文本修改后不会存入
+
+1.41版
+ 1.可以固定和取消第一列,以方便查看Spell ID
+ 2.可以行存,列存,行清,列清,调用计算器
BIN  contrib/dbcEditer/bin/vcl60.bpl
View
Binary file not shown
BIN  contrib/dbcEditer/bin/vclx60.bpl
View
Binary file not shown
769 contrib/dbcEditer/dbcedit.cpp
View
@@ -0,0 +1,769 @@
+//---------------------------------------------------------------------------
+
+#include <vcl.h>
+#pragma hdrstop
+
+#include "dbcedit.h"
+#include "stdio.h"
+#include "IdGlobal.hpp"
+#include <inifiles.hpp>
+#include "TitleFrm.h"
+#include <dir.h>
+#include "thOpenSource.h"
+#include "SearchFrm.h"
+//#include "SysUtils.hpp"
+
+
+//---------------------------------------------------------------------------
+#pragma package(smart_init)
+#pragma resource "*.dfm"
+TFrmMain *FrmMain;
+//---------------------------------------------------------------------------
+__fastcall TFrmMain::TFrmMain(TComponent* Owner)
+ : TForm(Owner)
+{
+ OpenOk=false;
+ Term=false;
+}
+//---------------------------------------------------------------------------
+
+void __fastcall TFrmMain::btOpenClick(TObject *Sender)
+{
+ if(OpenDialog1->Execute()){
+ if (FileExists(OpenDialog1->FileName)){
+ OpenOk=false;
+ if(thOpen){
+ thOpen->Terminate();
+ }
+ thOpen = new thOpenFile(false);
+ //thOpen->Priority = tpTimeCritical;
+ pnFileName->Caption = OpenDialog1->FileName;
+ }else{
+ OpenOk=false;
+ pnFileName->Caption = "";
+ }
+ }
+}
+//---------------------------------------------------------------------------
+void __fastcall TFrmMain::btSaveClick(TObject *Sender)
+{
+ //CurrentOpenFile;
+ if(OpenOk){
+ SaveToFile(CurrentOpenFile.c_str());
+ }else{
+ ShowMessage("文件未打开完成!");
+ }
+}
+//---------------------------------------------------------------------------
+
+void TFrmMain::SaveToFile(const char * pszFileName)
+{
+ char szFileName[255];
+ FILE *stream;
+
+
+
+
+ fnsplit(pszFileName, 0, 0, szFileName, 0);
+ strcat(szFileName, "_new.dbc");
+
+
+ AnsiString NewFileName=ExtractFilePath(Application->ExeName)+szFileName;//=pszFileName;
+ int iFileHandle; //文件句柄
+ AnsiString iniSetFile=ExtractFilePath(Application->ExeName)+"BcdEditer.ini";
+ AnsiString SectionName=ExtractFileName(CurrentOpenFile);
+
+ DWORD w;
+
+ CopyFileTo(pszFileName,NewFileName);
+
+ iFileHandle = FileOpen(NewFileName, fmOpenRead|fmOpenWrite);//打开文件
+
+ if ((stream = fopen(CurrentOpenFile.c_str(), "r+"))
+ == NULL)
+ {
+ ShowMessage("打开文件出错");
+ return;
+ }
+
+
+ int iVal;
+ float fVal;
+ bool isFloat;
+ int ColType;
+
+ FileSeek(iFileHandle,0x14,0);
+ TIniFile *ini;
+ ini = new TIniFile( iniSetFile );
+
+ for(int i=1; i<sgEdit->RowCount; i++)
+ {
+ for(int j=1; j<sgEdit->ColCount; j++)
+ {
+ if(j==1){ //ID
+ iVal=StrToInt(sgEdit->Cells[j][i]);
+ FileWrite(iFileHandle, &iVal, 4);
+ }else{
+
+ //ColType= ini->ReadInteger(SectionName,"ColType"+IntToStr(j-1),0);
+ //thOpen->ColType[10000];
+
+ switch (thOpen->ColType[j])
+ {
+ case 0: //整型
+ iVal=StrToFloat(sgEdit->Cells[j][i]);
+ FileWrite(iFileHandle, &iVal, 4);
+ break;
+ case 1: //浮点
+ fVal=StrToFloat(sgEdit->Cells[j][i]);
+ FileWrite(iFileHandle, &fVal, 4);
+ break;
+ case 2: //文本
+ fseek(stream, 0x14+(i*(sgEdit->ColCount-1)+(j-1))*4, 0);
+ fread(&iVal, 4, 1, stream);
+ FileWrite(iFileHandle, &iVal, 4);
+ break;
+ default: //整型
+ iVal=StrToFloat(sgEdit->Cells[j][i]);
+ FileWrite(iFileHandle, &iVal, 4);
+ }
+ }
+ }
+ }
+ FileClose(iFileHandle);
+ fclose(stream);
+
+ delete ini;
+ ShowMessage("Save To File:"+NewFileName);
+}
+void __fastcall TFrmMain::btIntTypeClick(TObject *Sender)
+{
+if(OpenOk==true){
+ AnsiString iniSetFile=ExtractFilePath(Application->ExeName)+"BcdEditer.ini";
+ AnsiString SectionName=ExtractFileName(CurrentOpenFile);
+ TIniFile *ini;
+ ini = new TIniFile( iniSetFile );
+ ini->WriteInteger(SectionName,"ColType"+IntToStr(sgEdit->Col),0);
+ delete ini;
+ thOpen->ColType[sgEdit->Col]=0;
+ //重新打开对应列的值
+ //OpenFileCol(AnsiString FileName,int ColType);
+ OpenFileCol(CurrentOpenFile,sgEdit->Col,0);
+}
+}
+//---------------------------------------------------------------------------
+
+
+void __fastcall TFrmMain::btFloatTypeClick(TObject *Sender)
+{
+if(OpenOk==true){
+ AnsiString iniSetFile=ExtractFilePath(Application->ExeName)+"BcdEditer.ini";
+ AnsiString SectionName=ExtractFileName(CurrentOpenFile);
+ TIniFile *ini;
+ ini = new TIniFile( iniSetFile );
+ ini->WriteInteger(SectionName,"ColType"+IntToStr(sgEdit->Col),1);
+ delete ini;
+ thOpen->ColType[sgEdit->Col]=1;
+ OpenFileCol(CurrentOpenFile,sgEdit->Col,1);
+}
+}
+//---------------------------------------------------------------------------
+
+void __fastcall TFrmMain::PopupMenu1Popup(TObject *Sender)
+{
+if(OpenOk==true){
+ AnsiString iniSetFile=ExtractFilePath(Application->ExeName)+"BcdEditer.ini";
+ AnsiString SectionName=ExtractFileName(CurrentOpenFile);
+ int ColType;
+ TIniFile *ini;
+ ini = new TIniFile( iniSetFile );
+ ColType=ini->ReadInteger(SectionName,"ColType"+IntToStr(sgEdit->Col),0);
+ delete ini;
+ switch (ColType)
+ {
+ case 0:
+ btIntType->Checked=true;
+ btFloatType->Checked=false;
+ btTxtType->Checked=false;
+ break;
+ case 1:
+ btIntType->Checked=false;
+ btFloatType->Checked=true;
+ btTxtType->Checked=false;
+ break;
+ case 2:
+ btIntType->Checked=false;
+ btFloatType->Checked=false;
+ btTxtType->Checked=true;
+ break;
+ default:
+ btIntType->Checked=true;
+ btFloatType->Checked=false;
+ }
+}
+}
+//---------------------------------------------------------------------------
+
+void __fastcall TFrmMain::N1Click(TObject *Sender)
+{
+ AnsiString iniSetFile=ExtractFilePath(Application->ExeName)+"BcdEditer.ini";
+ AnsiString SectionName=ExtractFileName(CurrentOpenFile);
+ int ColType;
+ FrmTitle->edTitle->Text=sgEdit->Cells[sgEdit->Col][0];
+ if(FrmTitle->ShowModal()==mrOk){
+ TIniFile *ini;
+ ini = new TIniFile( iniSetFile );
+ ini->WriteString(SectionName,"ColTitle"+IntToStr(sgEdit->Col),FrmTitle->edTitle->Text);
+ delete ini;
+ sgEdit->Cells[sgEdit->Col][0]=FrmTitle->edTitle->Text;
+ }
+}
+//---------------------------------------------------------------------------
+
+
+
+void __fastcall TFrmMain::FormDestroy(TObject *Sender)
+{
+ if(thOpen){
+ thOpen->Terminate();
+ SleepEx(200,0);
+ }
+}
+//---------------------------------------------------------------------------
+
+void __fastcall TFrmMain::ToolButton1Click(TObject *Sender)
+{
+ bool SeFlag=true;
+ if(FrmSearch->ShowModal()==mrOk){
+ switch (FrmSearch->rgSI->ItemIndex)
+ {
+ case 0: //向上找;
+ for(int i=sgEdit->ColCount*sgEdit->Row+sgEdit->Col-1;i>sgEdit->ColCount;i--){
+ if(i%sgEdit->ColCount!=0){
+ if( 0==CompareStr(sgEdit->Cells[i-sgEdit->ColCount*(i/sgEdit->ColCount)][i/sgEdit->ColCount],
+ FrmSearch->edSeach->Text)){ //找到了
+ sgEdit->Col=i-sgEdit->ColCount*i/sgEdit->ColCount;
+ sgEdit->Row=i/sgEdit->ColCount;
+ SeFlag=false;
+ break;
+ }
+ }
+ }
+ if(SeFlag) ShowMessage("Seach Top,Find Nothing.");
+ break;
+ case 1: //向下找;
+ for(int i=sgEdit->ColCount*sgEdit->Row+sgEdit->Col+1;i<sgEdit->ColCount*sgEdit->RowCount;i++){
+ if(i%sgEdit->ColCount!=0){
+ if( 0==CompareStr(sgEdit->Cells[i-sgEdit->ColCount*(i/sgEdit->ColCount)][i/sgEdit->ColCount],
+ FrmSearch->edSeach->Text)){ //找到了
+ sgEdit->Col=i-sgEdit->ColCount*(i/sgEdit->ColCount);
+ sgEdit->Row=i/sgEdit->ColCount;
+ SeFlag=false;
+ break;
+ }
+ }
+ }
+ if(SeFlag) ShowMessage("Seach End,Find Nothing");
+ break;
+ case 2: //当前列向上找;
+ for(int i=sgEdit->Row;i>1;i--){
+ if( 0==CompareStr(sgEdit->Cells[sgEdit->Col][i],
+ FrmSearch->edSeach->Text)){ //找到了
+ sgEdit->Row=i;
+ SeFlag=false;
+ break;
+ }
+ }
+ if(SeFlag) ShowMessage("Seach col top,Find Nothing");
+ break;
+ case 3: //当前列向下找;
+ for(int i=sgEdit->Row;i<sgEdit->RowCount;i++){
+ if( 0==CompareStr(sgEdit->Cells[sgEdit->Col][i],
+ FrmSearch->edSeach->Text)){ //找到了
+ sgEdit->Row=i;
+ SeFlag=false;
+ break;
+ }
+ }
+ if(SeFlag) ShowMessage("Seach col end,Find Nothing.");
+ break;
+ }
+ }
+}
+//---------------------------------------------------------------------------
+
+void __fastcall TFrmMain::sgEditKeyDown(TObject *Sender, WORD &Key,
+ TShiftState Shift)
+{
+
+ bool SeFlag=true;
+ if(Key==VK_F3){
+ switch (FrmSearch->rgSI->ItemIndex)
+ {
+ case 0: //向上找;
+ for(int i=sgEdit->ColCount*sgEdit->Row+sgEdit->Col-1;i>sgEdit->ColCount;i--){
+ if(i%sgEdit->ColCount!=0){
+ if( 0==CompareStr(sgEdit->Cells[i-sgEdit->ColCount*(i/sgEdit->ColCount)][i/sgEdit->ColCount],
+ FrmSearch->edSeach->Text)){ //找到了
+ sgEdit->Col=i-sgEdit->ColCount*i/sgEdit->ColCount;
+ sgEdit->Row=i/sgEdit->ColCount;
+ SeFlag=false;
+ break;
+ }
+ }
+ }
+ if(SeFlag) ShowMessage("Seach Top,Find Nothing.");
+ break;
+ case 1: //向下找;
+ for(int i=sgEdit->ColCount*sgEdit->Row+sgEdit->Col+1;i<sgEdit->ColCount*sgEdit->RowCount;i++){
+ if(i%sgEdit->ColCount!=0){
+ if( 0==CompareStr(sgEdit->Cells[i-sgEdit->ColCount*(i/sgEdit->ColCount)][i/sgEdit->ColCount],
+ FrmSearch->edSeach->Text)){ //找到了
+ sgEdit->Col=i-sgEdit->ColCount*(i/sgEdit->ColCount);
+ sgEdit->Row=i/sgEdit->ColCount;
+ SeFlag=false;
+ break;
+ }
+ }
+ }
+ if(SeFlag) ShowMessage("Seach End,Find Nothing.");
+ break;
+ case 2: //当前列向上找;
+ for(int i=sgEdit->Row;i>1;i--){
+ if( 0==CompareStr(sgEdit->Cells[sgEdit->Col][i],
+ FrmSearch->edSeach->Text)){ //找到了
+ sgEdit->Row=i;
+ SeFlag=false;
+ break;
+ }
+ }
+ if(SeFlag) ShowMessage("Seach col Top,Find Nothing.");
+ break;
+ case 3: //当前列向下找;
+ for(int i=sgEdit->Row;i<sgEdit->RowCount;i++){
+ if( 0==CompareStr(sgEdit->Cells[sgEdit->Col][i],
+ FrmSearch->edSeach->Text)){ //找到了
+ sgEdit->Row=i;
+ SeFlag=false;
+ break;
+ }
+ }
+ if(SeFlag) ShowMessage("Seach col end,Find Nothing.");
+ break;
+ }
+ }
+}
+//---------------------------------------------------------------------------
+
+void __fastcall TFrmMain::sgEditSelectCell(TObject *Sender, int ACol,
+ int ARow, bool &CanSelect)
+{
+//
+}
+//---------------------------------------------------------------------------
+void __fastcall TFrmMain::OpenFileCol(AnsiString FileName,int ColIndex,int ColType)
+{
+ int iFileHandle; //文件句柄
+ char Txtbuf[255];
+ int iVal;
+ float fVal;
+ FILE *stream;
+ long curpos, length;
+ DWORD dwRows, dwCols, dwRowLen, dwTextLen;
+
+ DWORD dwTextStartPos;
+ char* pTextPtr ;
+
+
+ if ((stream = fopen(FileName.c_str(), "r+"))
+ == NULL)
+ {
+ ShowMessage("Open File Error");
+ return;
+ }
+
+ curpos = ftell(stream);
+ fseek(stream, 0L, SEEK_END);
+ length = ftell(stream);
+
+
+ switch (ColType)
+ {
+ case 0: //整型值 Int
+ for(int i=0;i<sgEdit->RowCount-1;i++){
+ fseek(stream, 0x14+(i*(sgEdit->ColCount-1)+(ColIndex-1))*4, 0);
+ fread(&iVal, 4, 1, stream);
+ sgEdit->Cells[ColIndex][i+1]=IntToStr(iVal);
+ }
+ break;
+ case 1: //浮点值 Float
+ for(int i=0;i<sgEdit->RowCount-1;i++){
+ fseek(stream, 0x14+(i*(sgEdit->ColCount-1)+(ColIndex-1))*4, 0);
+ fread(&fVal, 4, 1, stream);
+ sgEdit->Cells[ColIndex][i+1]=FloatToStr(fVal);
+ }
+ break;
+ case 2: //文本 Text
+ fseek(stream,0x4,0);
+ fread(&iVal, 4, 1, stream);
+ dwRows= iVal;
+ fread(&iVal, 4, 1, stream);
+ dwCols = iVal;
+ fread(&iVal, 4, 1, stream);
+ dwRowLen = iVal;
+ fread(&iVal, 4, 1, stream);
+ dwTextLen = iVal;
+
+ dwTextStartPos = dwRows*dwRowLen+20;
+ for(int i=0;i<sgEdit->RowCount-1;i++){
+ fseek(stream, 0x14+(i*(sgEdit->ColCount-1)+(ColIndex-1))*4, 0);
+ fread(&iVal, 4, 1, stream);
+ sgEdit->Cells[ColIndex][i+1]=IntToStr(iVal);
+ if(dwTextStartPos + iVal < length){
+ fseek(stream,dwTextStartPos + iVal,0);
+ fread(Txtbuf, 1, 255, stream);
+ //pTextPtr = pBuff + dwTextStartPos + lTemp;
+ sgEdit->Cells[ColIndex][i+1]=Txtbuf;
+ }else{
+ sgEdit->Cells[ColIndex][i+1]="This Col Not Text!";
+ }
+ }
+ break;
+ }
+ fclose(stream);
+}