319 Commits

Author SHA1 Message Date
Chris Beck
da41bf9968 rename "main" compilation unit "wesnoth.cpp" to match executable 2014-06-29 09:39:40 -04:00
Chris Beck
f24f6adee1 add wmi pager class, to allow unlimited wml menu items
The pager is held by the play_controller and wraps around the
wmi_container, if there are too many items it adds "More Items"
or "Earlier Items" entries. These entries have special reserved
ids, if they are selected the pager traps them.

Future work might be to allow the page_size_ to be selected in
the preferences, that is currently left as a variable to make
it easy to support this.
2014-06-28 20:47:12 -04:00
Chris Beck
ed3453f742 move some utility files to utils folder 2014-06-27 19:06:18 -04:00
Chris Beck
d2edec5921 move notifications files to their own folder 2014-06-27 18:14:45 -04:00
Chris Beck
cb5a9a0d28 add display chat manager, notifications support outside game_display
The functionality of tracking observers and displaying chat messages
is moved to a manager class, which the gui owns.

The functionality of displaying notifications is similarly moved out
of the game_display and to a private namespace. (Static singleton
pattern seems okay here since there really won't need to be more
than one of these for a single application, it seems.)
2014-06-27 15:57:57 -04:00
Chris Beck
30a443d12f move game_state to its own file 2014-06-24 15:36:58 -04:00
Chris Beck
b51d6a15d1 rename gamestatus.?pp -> game_data.?pp, b/c of content changes 2014-06-24 13:44:25 -04:00
Chris Beck
cf2651b5a7 rename drawable_unit.?pp -> unit_drawer.?pp, b/c of new contents 2014-06-24 13:22:13 -04:00
Chris Beck
663494f661 move teambuilder to its own file 2014-06-24 13:12:29 -04:00
Chris Beck
0f5876fe38 change fake_unit class to fake_unit_ptr
This is consistent with the introduction of the UnitPtr class.
fake_units really aren't different from units, the only difference
is their life time / allocation and ownership. Since we are trying
to use reference counting for all units (to make them safe to use
with animations), the fake units need to be managed by a reference
counted pointer also. This is the easiest way to achieve that.

I also remove some odd code the [move_units_fake] handler --
there was explicit code to remove the fake units from the fake
unit manager, but this is redundant as it is the responsibility
of the destructor.

Code Blocks and VC project files are updated, but
Code::Blocks Scons and Xcode are not.
2014-06-23 11:17:55 -04:00
aquileia
28e12a73aa Update VC project 2014-06-21 03:39:41 +02:00
aquileia
9f92dacabb Fix VC project files 2014-06-20 01:51:21 +02:00
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