307 Commits

Author SHA1 Message Date
Chris Beck
a4b194c079 add recall list manager
This commit adds a dedicated recall list manager class.

The purpose of this is to

- Simplify the code that interacts with the recall list. Prior to
the commit most such code was based on iteration with explicit
iterators, and called global helper functions implemented in
unit.cpp to wrap the code that finds a unit in a vector. It turns
out that interacting with the recall list was the *only* use of
that code, so we make it a member function of the recall list
manager and take it out of unit.cpp.

Most of the code that touches the recall list was previously
7 or 8 lines with a for loop, now it tends to be 1 or 2 lines,
although further refactor may be possible.

- Improve encapsulation. This makes it possible to track how
other classes are interacting with the recall list, and may
make it easier to debug recall list problems by adding debugging
output to the class.
2014-06-18 12:54:32 -04:00
Chris Beck
504e4932b5 split off animation fcs from unit to unit_animation_component
This is a strict refactor, all we do is move the functions and
variables used just for animations to "unit_animation_component",
and include the necessary headers appropriate.

With a bit more work we can probably remove the graphics related
headers from unit.hpp
2014-06-17 02:18:46 -04:00
Chris Beck
0be1d731d5 add drawable unit class
drawable unit inherits from unit, and implements the draw function,
used only by the display. when the display wants to use the function,
it casts a unit pointer to a drawable_unit, and draws it. this
improves encapsulation.
2014-06-16 22:10:31 -04:00
Chris Beck
c8ada18ff4 update project files 2014-06-16 17:37:53 -04:00
Chris Beck
2510b779f6 rename animated.i to animated.tpp 2014-06-15 09:54:55 -04:00
Chris Beck
a60d5b0018 move formula ai features of unit to a unit formula manager
This use of handle-body idiom saves *alot* of includes, since a
huge number of objects include unit indirectly, and make no use
of the ai formula features.
2014-06-14 18:39:57 -04:00
Alexander van Gessel
07a6ba695e Merge pull request #199 from aquileia/ignore
Restructure and merge .gitignore files
2014-06-13 16:27:01 +02:00
aquileia
7e628340d0 Update VC project 2014-06-12 00:24:08 +02:00
Chris Beck
da552fc10e fixup segfaulting editor, favoring display_context over game_board
Currently, the editor does not generate game_board objects, and
leaves the pointer resources::gameboard null. This commit makes
map_location, reports, and tod_manager, three things used in
editor mode, use the display_context pointer instead of the
game_board pointer. We also move a function to display_context,
which finds a const unit * to a visible unit at a hex.
2014-06-11 01:28:15 -04:00
Chris Beck
522988c689 update projectfiles to include display_context.hpp 2014-06-10 18:45:44 -04:00
aquileia
1e9a508795 gitignore: Merge rules from projectfiles/ 2014-06-09 01:00:41 +02:00
aquileia
32212f71dd Windows WML Tests: Add total duration to output 2014-06-07 23:02:06 +02:00
aquileia
f75cf3580d Update VC project for 294379a 2014-06-07 21:34:57 +02:00
aquileia
9d3dfb04a9 Update VC project for 7ca6ad8 2014-06-07 21:31:47 +02:00
aquileia
cd4dcbff43 Windows WML tests: Keep account of executed tests
The final report now includes the number of
 - tests that were executed
 - tests thereof that failed
2014-06-02 21:24:56 +02:00
aquileia
be3a1fe1b1 Add missing source files to VC project
These files were added by 9687383d0 and 954e068a5
2014-06-02 21:24:35 +02:00
Chris Beck
2afe4f4f5a move game_board to its own file, update project files 2014-06-01 08:13:34 -04:00
aquileia
64d72a63a9 Windows WML tests: Enable automatic tests in VC 2014-05-29 02:52:34 +02:00
aquileia
412aca56d7 Windows WML tests: Add optional argument for executable path 2014-05-29 02:52:27 +02:00
aquileia
f90569ccee Windows WML tests: Improve stdout output
Differentiate between timeouts and real errors: In case of a timeout, only
throw a warning instead of an error.

Also implement a basic progress bar.
2014-05-29 02:52:24 +02:00
aquileia
8d91cef488 Windows WML tests: Port .sh test script to .cmd
WML tests are read from wml_test_schedule, executed and their error code
is compared to the expected result.
2014-05-29 02:52:20 +02:00
aquileia
4832724565 Windows WML tests: Add WindowsTimeout project
As the --timeout option for Wesnoth can stall the process, we replace it
by an encapsulation comparable to the Unix timeout function.

WindowsTimeout isn't limited to Wesnoth, it can in fact set a timeout for
any executable called through it.

An example on the use of these WinAPI functions can be found on
http://msdn.microsoft.com/en-us/library/windows/desktop/ms682512.aspx
2014-05-29 02:52:16 +02:00
Chris Beck
215de94390 Add make_enum macros and a unit test, also add to project files 2014-05-24 14:59:20 -04:00
Chris Beck
7cd205832f add config attribute value tests, put them in project files also. 2014-05-22 22:59:47 -04:00
aquileia
a69ee6e0c1 Update VC project for b4ea561e37 2014-05-19 17:13:20 -04:00
Chris Beck
a3377d6113 fixup project files after rename builder.?pp -> terrain_builder.?pp
This fixes up earlier commit 8fafdbecd42d
2014-05-18 01:07:49 -04:00
aquileia
f63358af1f Add SDL2 specific files to VC project 2014-04-18 21:58:46 +02:00
aquileia
0bbcec537f Restore instructions for VC dependencies 2014-04-18 20:32:43 +02:00
aquileia
4146d428b8 Update VC project for 847067dac7 2014-04-16 04:39:00 +02:00
aquileia
edfe6e4a74 Update projectfiles and corresponding readme
- Add the new files introduced by gfgtdf to the VC project.
- Fix the indentation of SConscript.
- Update the README files for Code Blocks and Visual Studio.
2014-04-06 01:08:21 +02:00
Alexander van Gessel
f786c2d422 Attempt to update projectfiles 2014-03-24 00:32:15 +01:00
soliton-
8e9fcd1704 Merge pull request #118 from aquileia/new-branch
minor fixes
2014-03-17 22:29:14 +01:00
anonymissimus
e45894c17b vc project update 2014-03-15 20:53:33 +01:00
aquileia
bb6bfdcb7d delete deprecated NDEBUG flag from VC project 2014-03-14 23:24:41 +01:00
anonymissimus
a701caa36e vc project update (sdl2 files) 2014-03-08 16:34:30 +01:00
anonymissimus
824896679c vc project update (maintenance, cherry-pick from 1.12) 2014-03-08 16:34:30 +01:00
anonymissimus
d01e212391 vc project update 2014-02-17 20:48:54 +01:00
Alexander van Gessel
76b74df4ab Update projectfiles 2014-01-05 18:08:42 +01:00
anonymissimus
d4401e5777 vc project update 2013-12-23 18:37:56 +01:00
anonymissimus
9b96184604 vc project update 2013-12-20 21:31:20 +01:00
anonymissimus
32fee2b447 vc project update 2013-12-05 21:35:27 +01:00
anonymissimus
7715a2e00a vc project update 2013-11-10 20:06:40 +01:00
anonymissimus
b2f3cf98a5 vc project update 2013-10-30 19:02:22 +01:00
Andrius Silinskas
947a842bad Translatable months and weekdays. Missing am/pm designations.
A simple std::strftime wrapper was introduced, which takes care of date
translations when needed. I.e. if correct locale is not available, or
locale in use does not support am/pm designations.
2013-10-02 14:49:37 +01:00
anonymissimus
bc067de37c vc project update 2013-09-27 16:49:42 +02:00
anonymissimus
fb51fe6b8f vc project update 2013-09-25 12:51:07 +02:00
anonymissimus
c5bfcbc6f8 fix the MSVC project file 2013-09-07 01:05:10 +02:00
lipk
48a5b585e8 Ignore build folder for ReleaseDEBUG MSVC builds. 2013-09-06 22:17:38 +02:00
Andrius Silinskas
c84e94fe9b Bring back MP options (patch by lipkab). 2013-09-05 18:33:45 +01:00
Andrius Silinskas
5d1406c30e Added a new class to handle factions, leaders and genders. 2013-09-05 18:33:41 +01:00