Commit Graph

96 Commits (86328025d2b524ad5d59626e6cdeb558feb7e842)

Author SHA1 Message Date
Giel van Schijndel eef217fc4a * Make some EditWorld documents be valid reStructured Text
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2583 4a71c877-e1ca-e34f-864e-861f7616d084
2007-10-22 00:38:08 +00:00
Giel van Schijndel 03629c04ab * Set svn:mime-type to text/x-rst to get Wiki-like markup in Python-powered viewers
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2580 4a71c877-e1ca-e34f-864e-861f7616d084
2007-10-21 22:29:03 +00:00
Giel van Schijndel 1dd3e33c2c * Add DirectX -> OpenGL porting tasks to EditWorld's TODO list as well
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2545 4a71c877-e1ca-e34f-864e-861f7616d084
2007-10-11 23:04:21 +00:00
Giel van Schijndel 69ad10edc4 * Fix a compile error when attempting to perform a "Release" compile
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2454 4a71c877-e1ca-e34f-864e-861f7616d084
2007-09-08 12:20:22 +00:00
Giel van Schijndel fe265cdc57 * Remove unused bitmap pumpkin16.bmp which is just a 16 colour version of res/bitmap1.bmp
* 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
2007-09-08 12:12:34 +00:00
Giel van Schijndel b2f95025ed * Remove M$ SourceSafe file (we don't use SourceSafe!! We use Subversion!!!)
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2452 4a71c877-e1ca-e34f-864e-861f7616d084
2007-09-08 11:47:29 +00:00
Giel van Schijndel c0c7c6fa51 * Remove the last uses of template class ListNode<T> which was a cheap replacement of std::list<T>
* 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
2007-09-08 11:42:30 +00:00
Giel van Schijndel fa12543c0d * Remove rather empty file stdafx.cpp
* #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
2007-08-26 21:58:15 +00:00
Giel van Schijndel 30a62a1b6c * Add window IDs to TODO file; which is easier to understand (I hope) than filenames
* 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
2007-08-26 20:46:54 +00:00
Giel van Schijndel c0df2cb97f * Rename CAboutDlg to AboutDialog and move it out of btedit.cpp into aboutdialog.[ch]pp
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2445 4a71c877-e1ca-e34f-864e-861f7616d084
2007-08-26 20:26:50 +00:00
Giel van Schijndel 41dada6a26 * Make Limits dialog resizeable and alter the proportions slightly to make this window easier to work with
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2444 4a71c877-e1ca-e34f-864e-861f7616d084
2007-08-26 19:21:38 +00:00
Giel van Schijndel 4cf90b9f8c * Remove empty destructors
* 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
2007-08-26 18:59:10 +00:00
Giel van Schijndel c7efa311fc * Add template class wxListCtrlValidator<Container> which is a specialization of wxGenericValidator that only works on wxListCtrl instances
* 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
2007-08-26 16:38:55 +00:00
Giel van Schijndel acccbf667e * Rename function names to names similar to what wxSmith produces (wxSmith is a wxWidgets dialog-editor plug-in for Code::Blocks)
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2441 4a71c877-e1ca-e34f-864e-861f7616d084
2007-08-26 16:23:26 +00:00
Giel van Schijndel e5fdf5e346 * Remove #include directives for unused header files (btedit.h and debugprint.hpp)
* 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
2007-08-26 11:40:19 +00:00
Giel van Schijndel a2ceea149f * Use references for output parameters for function CHeightMap::GetMapSize instead of pointers (also use "unsigned int" instead of "DWORD")
* 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
2007-08-25 17:32:02 +00:00
Giel van Schijndel 5285f0a096 * Cleanup CLimitsDialog's code to make it easier to port it to wxWidgets
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2366 4a71c877-e1ca-e34f-864e-861f7616d084
2007-08-09 14:18:57 +00:00
Giel van Schijndel ba7d1d5078 * move class CUndoRedo from bteditdoc.cpp to new file undoredo.cpp
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2363 4a71c877-e1ca-e34f-864e-861f7616d084
2007-08-08 20:39:07 +00:00
Giel van Schijndel 243bc7ddb8 * Remove unused files model.cpp/h and seedfill.cpp
* remove #include "snapprefs.h" directive
 * remove non-existent file d3dwrap.h from project file

git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2362 4a71c877-e1ca-e34f-864e-861f7616d084
2007-08-08 20:10:38 +00:00
Giel van Schijndel 0397a75255 * Remove unused window CSnapPrefs or IDD_OBJECTPREFS
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2361 4a71c877-e1ca-e34f-864e-861f7616d084
2007-08-08 19:45:37 +00:00
Giel van Schijndel 9d148e7f8b * Remove unused window CInfoDialog or IDD_DEBUGINFO
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2360 4a71c877-e1ca-e34f-864e-861f7616d084
2007-08-08 19:37:17 +00:00
Giel van Schijndel 0931065023 * Use dynamic_cast<T*> instead of wxWidgets' own RTTI implementation (t*)->IsKindOf(CLASSINFO(T))
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2267 4a71c877-e1ca-e34f-864e-861f7616d084
2007-07-29 16:55:19 +00:00
Giel van Schijndel 0a310fdd5c * Use dynamic_cast<T*> instead of a C-style (T*) cast (dynamic_cast is safer since it walks the inheritance tree to check whether the pointer is actually of type T)
* 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
2007-07-29 16:45:40 +00:00
Giel van Schijndel bab9bd3316 * Add conversion functions for converting wxString <-> std::string (we're assuming UTF-8 encoding for std::string here)
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2263 4a71c877-e1ca-e34f-864e-861f7616d084
2007-07-29 16:30:25 +00:00
Giel van Schijndel bba2360eef * Add another ported dialog: InitialLimitsDialog; to directory wxDialogs
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2262 4a71c877-e1ca-e34f-864e-861f7616d084
2007-07-29 15:56:39 +00:00
Giel van Schijndel c4b9711e46 * Don't return a reference to a temporary; instead return by value
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2261 4a71c877-e1ca-e34f-864e-861f7616d084
2007-07-29 15:47:27 +00:00
Giel van Schijndel 32f0b5bb1b * Minor cleanup:
* 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
2007-07-29 15:43:01 +00:00
Giel van Schijndel 087703e801 * Replace usage of ListNode<CScrollLimits> by class CHeightMap by std::list<CScrollLimits>
* 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
2007-07-29 14:04:24 +00:00
Giel van Schijndel 8310f9170e * Replace usage of ListNode<GateWay> by class CHeightMap by std::list<GateWay>
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2257 4a71c877-e1ca-e34f-864e-861f7616d084
2007-07-29 12:51:49 +00:00
Giel van Schijndel 817e2ace65 * Replace usage of ListNode<C3DObjectInstance> by class CHeightMap by std::list<C3DObjectInstance>
* 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
2007-07-28 20:00:57 +00:00
Giel van Schijndel cdc92ebfe6 * Apply ListNode<T>::iterator in class CBTEditDoc
* 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
2007-07-28 17:54:08 +00:00
Giel van Schijndel d50c04ef6b * Replace usage of ListNode<C3DObjectInstance> by class CBTEditDoc by std::list<C3DObjectInstance>
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2251 4a71c877-e1ca-e34f-864e-861f7616d084
2007-07-28 14:34:28 +00:00
Giel van Schijndel bca3e1f535 * Some const correctness
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2250 4a71c877-e1ca-e34f-864e-861f7616d084
2007-07-28 14:30:05 +00:00
Giel van Schijndel 4ef9247c6a * Move CBTEditDoc's member initialisation from the constructor's body into the initialization list
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2248 4a71c877-e1ca-e34f-864e-861f7616d084
2007-07-28 14:05:19 +00:00
Giel van Schijndel 7abcb85aa2 * Fix compile error caused by not #including <cassert>
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2237 4a71c877-e1ca-e34f-864e-861f7616d084
2007-07-28 00:13:18 +00:00
Giel van Schijndel 92d0f946bb * Add a safety assert to ListNode<T>::iterator to make sure null pointers are asserted on
* 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
2007-07-28 00:06:12 +00:00
Giel van Schijndel 21e85b4e62 * Add copy constructor to class scrollLimitStringIterator
* 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
2007-07-27 23:53:07 +00:00
Giel van Schijndel 7e2a03a022 Greater ease in porting to wxWidgets:
* 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
2007-07-27 23:07:17 +00:00
Giel van Schijndel d6ee80ee25 * Remove annoying usage of DEBUG_NEW since it seems to be causing compile errors at seemingly random times (which is _no_ fun)
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2233 4a71c877-e1ca-e34f-864e-861f7616d084
2007-07-27 22:42:59 +00:00
Giel van Schijndel 84f7676349 * Add class ListNode<T>::iterator so that we can iterator over a linked list of ListNode<T>s (this will ease porting of code that uses class ListNode<T> to std::list<T> instead
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2232 4a71c877-e1ca-e34f-864e-861f7616d084
2007-07-27 22:29:46 +00:00
Giel van Schijndel 8010de593a * Put implementation in class declaration of template class ListNode<T> for increased locality and readability
* 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
2007-07-27 21:11:57 +00:00
Giel van Schijndel f73e4e6488 * Remove some spaces which caused problems with svn:keywords
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2221 4a71c877-e1ca-e34f-864e-861f7616d084
2007-07-27 15:34:26 +00:00
Giel van Schijndel b4afe5b827 * Use wxStdDialogButtonSizer for the default buttons instead of a wxBoxSizer with some wxButtons in it
* 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
2007-07-27 15:33:15 +00:00
Giel van Schijndel 3c24ae3d6f * Rename AutoFlagDialog::OnDegree to OnRotate
* 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
2007-07-27 14:30:07 +00:00
Giel van Schijndel 4a34916549 * Fix some syntax errors (missing semi-colons, or semi-colons where they shouldn't be)
* 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
2007-07-27 14:20:34 +00:00
Giel van Schijndel d8b7837c3b * Add another ported dialog: SaveSegmentDialog; to directory wxDialogs
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2214 4a71c877-e1ca-e34f-864e-861f7616d084
2007-07-26 22:28:55 +00:00
Giel van Schijndel 22712ec8d1 * Remove our own "custom" event handler for the cancel button "ID_CANCEL" and use wxDialog::OnCancel instead
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2213 4a71c877-e1ca-e34f-864e-861f7616d084
2007-07-26 22:22:34 +00:00
Giel van Schijndel 31c4a1de54 * Use wxDialog::OK and wxDialog::Cancel in the handlers for ID_OK and ID_CANCEL respectively
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2212 4a71c877-e1ca-e34f-864e-861f7616d084
2007-07-26 22:16:41 +00:00
Giel van Schijndel 18bf3bfa9c * Add special wxValidator derivation: wxNumericTextValidator
* 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
2007-07-26 22:11:35 +00:00
Giel van Schijndel e684aed3b6 Greater ease in porting to wxWidgets:
* 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
2007-07-26 20:04:46 +00:00