* Make sure to add proper #include guards to every header file
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@3184 4a71c877-e1ca-e34f-864e-861f7616d084
* Use a function to return the current directory as an std::string (rather than writing it into a buffer that's given along)
* #define snprintf _snprintf so we can use that as well...
* Some const correctness
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@3181 4a71c877-e1ca-e34f-864e-861f7616d084
- use wzglobal.h defines where applicable
- add macros.h for imdloader.h: MAX/MIN
- sed RaNdOmTyPe to SDL-type: Reverts r2611 to easy porting.
Watermelon afaik uses MSVC which has no stdint(.h), thus using it would make no immediate sense to him, since he has no more interest in POSIX-support.
- sed Bool/TRUE/FALSE to bool/true/false, like r2609
NOTE: r3171 was not vanilla 0.3, but also included a modified Makefile by me, wzglobal.h and some minor compilation fixes.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@3172 4a71c877-e1ca-e34f-864e-861f7616d084
Features:
1. Editing:
* Polygon duplication
* Support for submodel
* Commandline 'filename' is optional, also allows to enter filename via GUI
* Multiple pies loading
* Merging of multiple pies into one file
* Support for 3DTRANS animation (oil derik)
* Support for 3DFRAMES animation (cyborg)
2. Load and Save:
* Creation, Load, Save of ani animation
* Submodel add and remove
3. Model View:
* Optional VBO for polygon and grids rendering
* VBO cache for grids
* Separated frames in animation rendering
* Animation play
4. GUI:
* Improved overall GUI usability
5. Fixes:
* Fixed various bugs in GUI creation strings
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@3171 4a71c877-e1ca-e34f-864e-861f7616d084
* Remove warzone2100.png from the current directory (it was just a (cheap) copy from icons/warzone2100.png anyway)
* In aboutdialog.xrc refer to the warzone2100.png from icons/ instead...
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@3169 4a71c877-e1ca-e34f-864e-861f7616d084
* and especially don't use the wrong delete operator!! (delete [] String; was necessary not without the '[]')
Greater ease in porting to wxWidgets:
* Rename class CExportInfo to ExportInfo
* Pass the string to display to ExportInfo's constructor rather than funking around with its member variables (encapsulation!)
* Clean up & remove large portions of ExportInfo's (unnecessary) code
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@3149 4a71c877-e1ca-e34f-864e-861f7616d084
Depends on Python 2.5, but we should have that on the server very soon.
Should effectively help fight ghostgames and also be easily extensible in the future. (Gerhard talked about a web-interface with admin functions. :) )
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@3139 4a71c877-e1ca-e34f-864e-861f7616d084
* Add conversion tool '''imgfile'''
* This tool will read in an "IMG" file ("IMG" is the WRF identifier) from standard intput; it'll then reformat it as XML and output it to standard output
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2725 4a71c877-e1ca-e34f-864e-861f7616d084
NOTE: PieToaster ''should'' compile, link and run on GNU/Linux systems right now (it does for me)
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2613 4a71c877-e1ca-e34f-864e-861f7616d084
* Use proper constness in main() to shut up gcc warning about wrong constness
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2612 4a71c877-e1ca-e34f-864e-861f7616d084
* Developed by Carl Hee <Watermelon>
* Licensed under the conditions of the GPLv3
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2603 4a71c877-e1ca-e34f-864e-861f7616d084
* Bump version numbers of tile_texpage2mipmap_tileset to 1.2
Patch by Kevin Gillette <kage>: http://forums.wz2100.net/index.php?topic=1010.msg9137#msg9137
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2542 4a71c877-e1ca-e34f-864e-861f7616d084
* Remove unused bitmaps res/bitmap2.bmp res/bmp00001.bmp; also remove them from our resource file
* Don't use a magic number in editworld.rc for means of referring to res/bitmap1.bmp use IDB_BITMAP1 instead
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2453 4a71c877-e1ca-e34f-864e-861f7616d084
* Remove some commented out functions from heightmap.cpp which where duplicated (i.e. functions with the same name and parameter prototypes existed elsewhere in the file) and used ListNode<T>
* Replace usage of ListNode<T> with std::list<T> usage; actually I replaced it with std::list<T>::iterator or std::list<T>::const_iterator since all code that still used ListNode<T> was code iterating over an instance of ListNode<T>
* Remove listtemp.h which contained template class ListNode<T>
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2451 4a71c877-e1ca-e34f-864e-861f7616d084
* #define VC_EXTRALEAN before including MFC & Windows headers to exclude some unused stuff
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2447 4a71c877-e1ca-e34f-864e-861f7616d084
* Remove several unused windows from the resource file: IDD_EDITSTATS, IDD_HEIGHTSCALE, IDD_OBJECTTYPES, IDD_SETSTATSCHOICE, IDD_SETSTATSCOMBO and IDD_SETSTATSVALUE
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2446 4a71c877-e1ca-e34f-864e-861f7616d084
* Update EditWorld's TODO file (remove limitsdialog.cpp from the list of yet to port windows)
* Use wxWidgets' precompiled header in numtextval.hpp
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2443 4a71c877-e1ca-e34f-864e-861f7616d084
* This class uses a container of integers instead of wxArrayInt (C++ container as specified in section 23.1 of the ISO C++ standard 1998)
* Add another ported dialog: LimitsDialog; to directory wxDialogs
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2442 4a71c877-e1ca-e34f-864e-861f7616d084
* Wrap some strings in _T() macro (deals with unicode/ascii text)
* Add an header guard to limitsdialog.hpp
* Use std::deque's constructor to load data into it from two InputIterators (first & last); note: in case of MSVC6 this requires you to fix the flawed STL
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2439 4a71c877-e1ca-e34f-864e-861f7616d084
* Change the return value of functions CHeightMap::GetMapWidth and CHeightMap::GetMapHeight from "DWORD" to "unsigned int" (also don't mark these functions as inline anymore)
* Mark function CHeightMap::GetScrollLimits as const and remove the inline keyword from its declaration
* Add a template function CHeightMap::SetScrollLimits which uses std::list::assign() to copy a list of CScrollLimits from two input iterators (in MSVC6 I had to fix the STL implementation to get this to compile, GCC works fine though, newer versions of MSVC *should* work as well btw)
Greater ease in porting to wxWidgets:
* Rename class CLimitsDialog to LimitsDialog
* Add templated constructor to LimitsDialog
* This constructor initializes an std::deque<CScrollLimits> (_limitsList) with a list of scrolling limits
* This constructor depends on InputIterators (as defined by the C++ standard in section 24.1.1) for its initialization
* Put member data in a private part of LimitsDialog's class declaration
* Make sure all member functions of LimitsDialog only work on its own private data and not on other classes' data
* Instead the usercode using LimitsDialog can use the InputIterators provided by LimitsDialog::firstLimit and LimitsDialog::lastLimit to copy data over (e.g. using STL Containers' assign() member function)
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2435 4a71c877-e1ca-e34f-864e-861f7616d084
* Add two python mini-scripts (find-bad-pies.py and find-poly-nums.py) that are of fairly little general use, but may serve as an example of how to interface with pie.py (pie.py must be in the python path for these scripts to work)
* find-bad-pies.py when given a list of filenames will find the ones that, as far as the pie parser (pie.py) is concerned, aren't valid
* find-poly-nums.py was created to find out if there were any pies that contained any polygons with more than 4 sides
Patch by Kevin Gillette <kage> ( http://forums.wz2100.net/index.php?topic=550.msg7829#msg7829 )
* Update svn:eol-style and svn:mime-type for all trunk/tools/blender/* files
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2420 4a71c877-e1ca-e34f-864e-861f7616d084
* Also dynamic_cast<T*> (which is compiler supported) should not be slower (if not faster) than wxWidgets' own RTTI implementation (t*)->IsKindOf(CLASSINFO(T))
This _does_ require RTTI to be enabled in wxWidgets' compilation; just enabling RTTI (as a compiler option) will only increase binary size, it should not add runtime overhead
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2264 4a71c877-e1ca-e34f-864e-861f7616d084
* remove some unnecessary #include directives
* add header guards
* declare some member functions const
* Add "const std::string& InitialLimitsDlg::SelectedString() const" which retrieves the string of the currently selected item
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2260 4a71c877-e1ca-e34f-864e-861f7616d084
* Some const correctness: "char*" -> "const char*"
* Fix a bug "if (a = b);" -> "if (a == b);"
* Fix a possible error where NULL might be dereferenced in CHeightMap::DrawScrollLimits (actually if that function would be called dereferencing NULL would be inevitable)
* Use references for output parameters rather than pointers
* If we use operator new[] then we should use operator delete[]
* Remove workaround for bad std::advance implementation since we're not using advance with our own iterators anymore
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2259 4a71c877-e1ca-e34f-864e-861f7616d084
* Make all member functions of CHeightMap that have an argument list declaration of "(void)" use "()" instead
* Rename std::advance in limitsdialog.cpp to just advance since it otherwise conflicts with MSVC's (flawed) implementation
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2255 4a71c877-e1ca-e34f-864e-861f7616d084
* Initialize CHeightMap's member variables using the constructor's initalization list rather than its body
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2254 4a71c877-e1ca-e34f-864e-861f7616d084
* Update the TODO list since SaveSegmentDialog has been ported from MFC to wxWidgets already
* Remove some commented out occurances of "ListNode<.*>.*\*" (yes regexp), to decrease the search context for refactoring code to use iterators
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2236 4a71c877-e1ca-e34f-864e-861f7616d084
* Apply ListNode<T>::iterator for some for-loops
* Make CHeightMap::GetScrollLimits return "ListNode<CSrollLimits>::iterator" instead of "ListNode<CSrollLimits>*" (effectively forcing all clients of this function to work in iterator style)
* Fix ListNode<T>::iterator::operator=
* Add function "void goToBegin()" to ListNode<T>::iterator (shouldn't be at the iterator I know, but this is the most intuitive intermediate solution)
* Add an own implementation of std::advance to limitsdialog.cpp (it is needed there);
* since apparently MSVC's STL developers can't even write something like: "for(; n ; --n) ++i;" correctly!!!
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2235 4a71c877-e1ca-e34f-864e-861f7616d084
* Rename class CInitialLimitsDlg to InitialLimitsDlg
* Add templated constructor to InitialLimitsDlg
* This constructor initializes an std::deque<std::string> (_stringList) with a list of strings
* This constructor depends on InputIterators (as defined by the C++ standard in section 24.1.1) for its initialization
* InitialLimitsDlg::OnInitDialog() now initializes its ComboBox with strings that have been loaded by the constructor from _stringList
* Add a proxy class that serves as an InputIterator for the initialization of InitialLimitsDlg
* This class is a proxy to ListNode<CScrollLimits>::iterator such that it extracts CScrollLimits.ScriptName and constructs an std::string from it
- These changes decouple InitialLimitsDlg from the implementation and interface of CHeightMap and CScrollLimits
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2234 4a71c877-e1ca-e34f-864e-861f7616d084
* Enable compilation of RTTI (RunTime Type-Information) compilation (not using any of it, .., yet)
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2231 4a71c877-e1ca-e34f-864e-861f7616d084
* Rename the dialog in savesegmentdialog.xrc from "Dialog" to "Save Map Segment"
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2220 4a71c877-e1ca-e34f-864e-861f7616d084
* Give all parameters of AutoFlagDialog a default value
* Fix typo (used _TogXFlip and _TogYFlip instead of _ToggleXFlip and _ToggleYFlip respectively)
* Rename buttons ID_OK and ID_CANCEL to wxID_OK and wxID_CANCEL respectively; this causes wxWidgets' default handlers to be used for these
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2218 4a71c877-e1ca-e34f-864e-861f7616d084
* Add a default constructor for wxNumericTextValidator
* class wxNumericTextValidator:
* add DECLARE_DYNAMIC_CLASS, DECLARE_EVENT_TABLE and IMPLEMENT_DYNAMIC_CLASS
* fix BEGIN_EVENT_TABLE (use wxNumericTextValidator instead of wxTextValidator)
* return *this in copy assignment operator
* Some other minor fixes
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2217 4a71c877-e1ca-e34f-864e-861f7616d084
* This class validates input for wxTextCtrl to be numeric only
* Also upon initialization of the window that contains the "validated" text controls; these controls will be filled with a number given by a passed pointer
* Upon closing of this window the current value from these text controls will be written back into that pointer
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2211 4a71c877-e1ca-e34f-864e-861f7616d084
* Rename class CSaveSegmentDialog to SaveSegmentDialog
* Don't allow public access to private data members anymore
* Initialize private data members with constructor
* Add public access, member functions for private data members
* Don't define functions in a header file
* Add a header guard
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2209 4a71c877-e1ca-e34f-864e-861f7616d084
* Rename class CAutoFlagDialog to AutoFlagDialog
* Don't allow public access to private data members anymore
* Initialize private data members with constructor
* Add public access, read-only, member functions for private data members
* Upon initialization add button "handlers" to private pointers; rather than retrieving these pointers each time again
* Use only one function OnRotate() rather than four functions OnRot0, OnRot90, OnRot180 and OnRot270 which all have the exact same definition
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2205 4a71c877-e1ca-e34f-864e-861f7616d084
* Turn protected section of CEdgeBrush into a private section
* Mark all the functions that have their definition in the header as inline
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2204 4a71c877-e1ca-e34f-864e-861f7616d084
* Add list of files requiring porting from MFC to wxWidgets
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2202 4a71c877-e1ca-e34f-864e-861f7616d084
* Rename class CKeyHandler to KeyHandler (I don't want freaking MFC style classnames being prefixed with 'C')
* Modify class KeyHandler to use std::bitset instead of an array of bools
* Use forward declarations for pointers instead of including the entire header
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2200 4a71c877-e1ca-e34f-864e-861f7616d084
* Use std::ostream instead of FILE* for PCXHandler::WritePCX
* Change utility functions EncodeLine and EncodedPut to work with std::ostream instead of FILE* now
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2197 4a71c877-e1ca-e34f-864e-861f7616d084
* Change private member functions of PCXHandler; EncodedGet, EncodeLine and EncodedPut into static, inline, non-member, utility functions (EncodedGet now also works with std::istream)
* Use std::string for the composition of strings, rather than some char[] buffer and strcpy + strcat
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2196 4a71c877-e1ca-e34f-864e-861f7616d084
* Make IsPower2 take advantage of the mathematical properties that a number which is a power of two has (which is that a number which is a power of two minus one has _no_ matching bits with the number that is power of two); this severely decreases the complexity of this function (previous one looped over all bits)
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2180 4a71c877-e1ca-e34f-864e-861f7616d084
* Remove macro MALLOC
* Use reinterpret_cast for the malloc stuff
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2179 4a71c877-e1ca-e34f-864e-861f7616d084
* Turn linked list macro LIST_REMOVE into inline function list_remove
* Remove macro MALLOC and use malloc instead (MALLOC was defined as malloc anyway)
* Replace some UBYTEs with chars
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2177 4a71c877-e1ca-e34f-864e-861f7616d084
* Remove unused BMP palette code, since obviously we're not using it
* Remove two other unused parameters from BMPHandler::Create: `void* Bits`, `bool Is555`
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2172 4a71c877-e1ca-e34f-864e-861f7616d084
* Remove unused parameter PALETTEENTRY* Palette from function BMPHandler::Create
* Change BMPHandler::GetBitmapWidth's return value to `unsigned int`
* Use std::vector for an "array" of PALETTENTRYs instead of a plain array
* Add a type CopyAblePALETTEENTRY which's definition is similar to PALETTEENTRY; with as difference that it has a copy assignment operator (so that we can use this type with std::copy, and other algorithms from the Standard Library)
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2170 4a71c877-e1ca-e34f-864e-861f7616d084
* Replace BOOL, TRUE and FALSE with bool, true and false respectively
* Use the initializer list of the constructor instead of its function body for member variable initialization
* Replace usage of "operator delete" with "operator delete []" where the respective pointer had its memory allocated using "operator new []" (not doing so may cause heap corruption)
* Don't if (pointer != NULL) delete pointer; since delete NULL is a valid no-op.
* declare variables in a more local scope
* Use algorithms instead of custom implementations; e.g. std::swap rather than { tmp = x; x = y; y = tmp}
* Use reintrepret_cast<T> at some places instead of a C style cast, since these casts are really bad in this case (i.e. unnecessary), but they're easier to recognize this way
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2165 4a71c877-e1ca-e34f-864e-861f7616d084
* Instead declare our copy constructor and copy assignment operator private, also we don't provide an implementation of those
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2137 4a71c877-e1ca-e34f-864e-861f7616d084
Amoung a lot of changes here come:
- Handling of polygons referencing the same vertex more than once.
- Nicer GUI.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2085 4a71c877-e1ca-e34f-864e-861f7616d084
* Don't use pointers to fileParser for functions where references are lots more appropriate
* Mark some functions private instead of public (they're only used by class CHeightMap's implementation)
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2025 4a71c877-e1ca-e34f-864e-861f7616d084
* Remove useless, and (luckily) unused default constructor from CFileParser
* Move initialisation of m_Flags to initialization list of constructor
* Don't use (void) as argument list of destructor (this is bad style in C, but especially so in C++, since C++ implies an empty argument list if you give one)
* Don't check whether new didn't return NULL, since we're using the throwing variant of new anyway
* Use istream.read instead of istream.readsome since the former will refill the buffer if necessary (which *is* necessary to be able to read something the first time)
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2022 4a71c877-e1ca-e34f-864e-861f7616d084
* Use C++'s std::ifstream instead of stdio from C at some locations
* remove unused constructors from CFileParser (FILE* Stream, short Flags), (char* Buffer, long BufferSize, short Flags) and member function Create(char* FileName, short Flags)
* remove some duplicated code from fileparse.cpp
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2020 4a71c877-e1ca-e34f-864e-861f7616d084
* convert M$ Word documents into OpenDocument text documents (OpenOffice.org handles this perfectly) (lets use open standards instead of property formats!)
* remove WEDIT.DOC which seems to have been a duplicate of MANUAL.DOC or the otherway around, which doesn't matter really
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2011 4a71c877-e1ca-e34f-864e-861f7616d084
* Remove EditWorld.plg since this looks like a compilation report which we don't need in our repository (add it to the ignore list as well)
* Another MSVC compilation output file to ignore list: EditWorld.ncb
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2009 4a71c877-e1ca-e34f-864e-861f7616d084
* Give it a nicely oriented directory structure
* Rename all files in src/ (I hope I didn't miss any) to lowercase (except for MSVC project files)
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2005 4a71c877-e1ca-e34f-864e-861f7616d084
as requested, it now provides a gui for setting the pie version -- you do this indirectly by setting the floating point precision (precision of 0 will create a "PIE 2", while anything else will create a "PIE 5"). note that only points will be given any extra precision at the moment, since i'm not sure how you want to handle texture coords. precision defaults to 0 (old pie format) since, afaik, pie 5 support in the engine is still lacking.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1989 4a71c877-e1ca-e34f-864e-861f7616d084
- Add debug output to gameserver sanity check
- Set the connection-check timeout to 10s
- Allow reusing of the masterserver address since otherwise lobbyserver restarts don't work immediately
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1951 4a71c877-e1ca-e34f-864e-861f7616d084
- no longer use glob
Known (and as of yet unfixed) issues are:
- it does not handle filenames safely (tabs and other whitespace in a filename are not handled correctly, though the likelyhood of this problem arising are low)
- it can parse extremely incorrect pie files (points not defined within a level, for example) when perhaps it should just fail gracefully
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1899 4a71c877-e1ca-e34f-864e-861f7616d084
connectors, team colors (using a second UV layer). Not supported: animations of any kind.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1840 4a71c877-e1ca-e34f-864e-861f7616d084
* To make sure we still have the guarantee that a char is 8bit I've inserted a static assertion for this (CHAR_BIT == 8)
* Use exact length types for lobbyserver
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1821 4a71c877-e1ca-e34f-864e-861f7616d084
Previous implementation could hit a deadlock since every single const_iterator class attempted to acquire a scoped_readonlylock on the lobby's mutex. Since the ReadWriteMutex doesn't grant readonlylocks anymore when a writer is pending for a lock this could deadlock if you ever would need two iterators at the same time. Therefore we now only acquire one readonly lock through the iterator_interface class.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1673 4a71c877-e1ca-e34f-864e-861f7616d084
It seems that "Artistic Style":
* somehow treats "lock" as a keyword, since it puts spaces behind every instance of "lock", this is not nice.
* doesn't recognize std::cout and std::cerr iostreams so doesn't properly line out multiline statements with stream operators
* doesn't indent subclasses correctly (it treats them as if they're one of the keywords "public", "protected", or "private")
* lines out multiline if-statements on their logical operators rather than their values, example:
> if (bla == bleh
> && mooh == meeh)
instead of:
> if (bla == bleh
> && mooh == meeh)
I've corrected all of the above manually before committing.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1669 4a71c877-e1ca-e34f-864e-861f7616d084
* GameLobby::gameLock now has a separate file
* GameLobby::const_iterator now also has a separate file
* move class RAIICounter to files of its own for ease of reusability
* remove dummy game (from lobbyprotocol::requestHandler in requesthandler.cpp)
* Remove commented out code (main.cpp)
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1650 4a71c877-e1ca-e34f-864e-861f7616d084
* Add new class lobbyprotocol::requestHandler which deals with protocol specific tasks
* Move all protocol dependant code from class GameLobby to lobbyprotocol::requestHandler
* Add some comments to code
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1649 4a71c877-e1ca-e34f-864e-861f7616d084
* Modify class TCPServer to take a boost::asio::ip::tcp::endpoint for member-function listen instead of a port number
* Now use command line arguments for addresses to listen on (on each of those addresses we open port 9998 still)
* Fix wrongly named include guards (lobby.hpp)
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1646 4a71c877-e1ca-e34f-864e-861f7616d084
* handles incoming connections from TCPServer (functions properly now)
* uses an std::list to store GAMESTRUCTs in
* uses ReadWriteMutex for multithreading synchronisation
* handles "addg" requests
* handles game persistence (with specialized "game" locks, which will die along with the connection)
* handles "list" requests
* dumps the entire list of current games to the user
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1645 4a71c877-e1ca-e34f-864e-861f7616d084
This class allows multiple readers to obtain a lock at the same time. Until a writer attempts to obtain a lock, then attempts by readers to lock will block. Also second writers that attempt to lock will block until the first releases its lock.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1644 4a71c877-e1ca-e34f-864e-861f7616d084
* Add asynchronous TCP server class: TCPServer
* Add comparison operators for SESSIONDESC and GAMESTRUCT respectively
* Add -D_WIN32_WINNT=0x0501 to the compiletime options (needed for Boost::Asio on WinXP, 2k needs -D_WIN32_WINNT=0x0500, GNU/Linux systems define it themselves automatically)
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1643 4a71c877-e1ca-e34f-864e-861f7616d084
* move inclusion of definition of GAMESTRUCT to new header file game.hpp
* Allow game.hpp including files to be compiled without SDL (useful for crosscompiling), by internally (in game.hpp) declaring GAMESTRUCT as well
* Stay connected when an "addg" command is received (client needs to disconnect to indicate the game should be removed from the lobbylist)
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1642 4a71c877-e1ca-e34f-864e-861f7616d084
* switch to using IPv4 instead of IPv6 (for testing)
* Use correct buffersize for retrieval of a command/method (5 bytes/chars right now, ought to be NUL-terminated)
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1641 4a71c877-e1ca-e34f-864e-861f7616d084
(one of my first, and probably ugly, versions, going to commit incrementally till the last)
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1639 4a71c877-e1ca-e34f-864e-861f7616d084
I don't claim that this code is of outstanding quality >_>
It was, after all, just written as a proof of concept prototype...
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1274 4a71c877-e1ca-e34f-864e-861f7616d084
- Reorder read_gdmp output
- Added compilation date to gdmp
- Reordered gdmp values: sysInfo now after programVersion/compileDate instead of before, to match read_gdmp display order
Still not implemented: Custom (signal safe) sprintf replacement, so we can output textfiles instead of binary blobs.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1189 4a71c877-e1ca-e34f-864e-861f7616d084
WorldEdit : only works on windows platform. Also needs ORIGINAL libs (inculded) to compile correctly)
PiePlugin (3ds Max -> .pie converter. Which is used for the .pie formats of 3d models used in game.
BSPIMD - Loads IMD, Generates BSP tree, saves IMD with BSP infomation.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@345 4a71c877-e1ca-e34f-864e-861f7616d084