350 Commits

Author SHA1 Message Date
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
Ignacio R. Morelle
1554374c45 CodeBlocks project update 2014-06-20 22:15:26 -04: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
Ignacio R. Morelle
acd814f64c CodeBlocks project update 2014-06-11 19:30:43 -04: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
sigurdfdragon
6996d05985 CodeBlocks project update.
Adjustments for 294379a157767cdab4dad348332c392411411d9c.
2014-06-07 15:23:08 -04:00
Ignacio R. Morelle
c7d22b086f CodeBlocks project update 2014-06-03 20:11:45 -04:00
sigurdfdragon
3b5be89193 Update CB project file.
Adds new file from 6a8827a071845594cc8e0ed2da298c3060e531fb.
2014-06-01 19:34:47 -04:00
Chris Beck
096cb97cc1 Merge pull request #180 from cbeck88/add_game_board_struct_alternate
This is a refactor to introduce an object encapsulating the unit map, the game map, and the list of teams. Introducing this object permits us to move a substantial amount of code out of the play_controller object, and also to give a home to some helper functions in unit.?pp that previously sat in the global namespace. It also allows us to simplify the construction of some of the clients of play_controller.

This refactor is ongoing WIP. The goals are

(1) better organize the architecture of the engine, to make saving and reloading easier.
(2) Facilitate the introduction of an improved pathfinding mechanism, which will need to sit between most of the other engine modules and the unit map / game map.
(3) Refactoring clarifies what the existing code is doing, therefore it may help us to find bugs in the current system, which may be fixed independently of the refactor in 1.12.
2014-06-01 13:42:10 -04:00
Chris Beck
2afe4f4f5a move game_board to its own file, update project files 2014-06-01 08:13:34 -04:00
sigurdfdragon
de38d7a245 Update CB project file.
Adds file from 6deda4ca7f67ca1e711be0c15c7f9e692e6b1492.
2014-05-31 23:26:16 -04: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
sigurdfdragon
ba4557bc4c Fix CB project file. 2014-05-21 21:28:43 -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
anonymissimus
4de900f943 fix cb project file
First, rerverted changes starting with commit
09b0aad1f837353f80bb7319543053f5a9ae66a8, the other commits were
just fixups to that. The, manually went through the resulting diff
and added/removed files which I know of or think they actually should
be added/removed. And, of course, compiled and linked.
2014-04-18 21:19:45 +02:00
aquileia
963690884d Fix CodeBlocks project files 2014-04-17 16:57:08 +02:00
aquileia
5a21d5d8c8 CodeBlocks: Don't compile tools & wesmage 2014-04-16 21:56:47 +02:00
aquileia
093c49662f Align CB and CB-scons project files 2014-04-16 21:02:11 +02:00
Kevin_Xi
09b0aad1f8 Add missed files to and remove obsolete file from CodeBlocks-SCons and CodeBlocks project file 2014-04-17 01:43:28 +08:00
Alexander van Gessel
45f52737c8 Merge pull request #139 from aquileia/VC_project_update
Update project files
2014-04-09 08:17:30 +02:00
Ignacio R. Morelle
0dee9a1f47 CodeBlocks project update 2014-04-06 22:46:55 -04: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
anonymissimus
63488838b2 cb project update (sdl2 files) 2014-03-08 16:34:30 +01:00
Ignacio R. Morelle
e2eebe817e CodeBlocks project update 2014-02-21 19:41:34 -03:00
Ignacio R. Morelle
0c459c0689 CodeBlocks project update 2014-02-20 05:04:04 -03:00
Ignacio R. Morelle
73583d3e95 Remove empty unused game_instance class and its source files 2014-02-13 10:17:01 -03:00
Ignacio R. Morelle
ca0cdf376d CodeBlocks project update 2014-02-13 10:00:19 -03:00
Alexander van Gessel
76b74df4ab Update projectfiles 2014-01-05 18:08:42 +01:00
Ignacio R. Morelle
9a7457e4ca Add a tip on parallel builds to the CB readme 2013-12-24 16:55:30 -03:00
Ignacio R. Morelle
e3332d670d Add a note about 64-bit Windows builds to the CB readme
It seems there are people who can't tell the difference between tdm-*
and tdm64-*.
2013-12-24 16:53:47 -03:00
Ignacio R. Morelle
9a589eb585 Line-wrap CB readme to 80 columns 2013-12-24 15:11:43 -03:00
happygrue
e96f430780 Fixed a typo. 2013-12-23 18:31:37 -05:00
happygrue
95fa91e0c2 Updated CodeBlocks walkthrough with user input. 2013-12-23 13:47:15 -05:00
Ignacio R. Morelle
d8993137d7 CodeBlocks project update 2013-12-22 14:33:35 -03:00
Ignacio R. Morelle
23bdf9e1d6 CodeBlocks project update 2013-12-21 01:32:29 -03:00
Ignacio R. Morelle
673b3b08e0 Revert "remove unused util.*pp from wesnothd cb project"
This reverts commit c51ce084fe708c93a30742eb386cc001cc3d3d2f.
2013-12-21 01:21:52 -03:00
anonymissimus
c51ce084fe remove unused util.*pp from wesnothd cb project 2013-12-20 21:31:13 +01:00
Ignacio R. Morelle
cca7782ec3 CodeBlocks project update 2013-12-17 20:57:29 -03:00
Ignacio R. Morelle
8592b52f4c CodeBlocks project update 2013-12-16 20:48:28 -03:00