Commit graph

165 commits

Author SHA1 Message Date
Erik Ogenvik
e85f0831b2 Restructure rule classes.
Classes under "rulesets" have been moved to "rules", and split up into
futher subdirectories matching their library. As a result we can now
better separate the python bindings, so that things that belongs to the
simulation are separeted from things that belongs to the ai.
2018-10-31 21:38:35 +01:00
Erik Ogenvik
f87233cd53 Clean up code. 2018-10-30 19:35:57 +01:00
Erik Ogenvik
e0b45800ef Fix broken tests. 2018-10-29 21:11:23 +01:00
Erik Ogenvik
590e22ef4e Separate ref counting into its own class. 2018-09-18 22:11:51 +02:00
Erik Ogenvik
64f0de89cd Changed protocol for usages.
Make it more general.
2018-08-20 22:10:46 +02:00
Erik Ogenvik
048e68d7ac Removed implicit conversion to bool. 2018-08-14 22:31:50 +02:00
Erik Ogenvik
127793e8a2 Implement an "attachments" property.
This is put on entities that can have other entities attached to them.
With this property both "right_hand_wield" and "outfit" are deprecated.
2018-08-14 21:32:06 +02:00
Erik Ogenvik
c84f5fe926 Don't implicitly convert from Ref to ptr.
Since it's too easy to introduce subtle bugs.
2018-08-05 20:47:09 +02:00
Erik Ogenvik
a95cb467a2 Use std::move where possible. 2018-08-04 18:01:20 +02:00
Erik Ogenvik
092d122be2 Separate flags into own class.
Also allow broadcast to respect visibility.
2018-07-30 13:07:43 +02:00
Erik Ogenvik
6e9855469a Expanded on Ref. 2018-07-23 21:04:06 +02:00
Erik Ogenvik
e23e6e1251 Use Refs wherever possible. 2018-07-23 11:03:18 +02:00
Erik Ogenvik
80d347993d Rename EntityRef to WeakEntityRef.
To mark that it's a weak ref.
2018-07-22 23:51:33 +02:00
Erik Ogenvik
e6bc7b2790 Use Ref for handling ref counting.
All LocatedEntities should always be handled through Ref instances.
These makes sure that the ref counting is correctly handled.
2018-07-22 23:48:42 +02:00
Erik Ogenvik
d3d84bc675 Don't send bbox to clients by default.
It should be sent as any other property. Additionally we want to use
uniform scaling through a property instead.
2018-04-27 23:12:15 +02:00
Erik Ogenvik
6b5d881e8c Added boolean operator to EntityRef. 2018-03-19 22:05:11 +01:00
Erik Ogenvik
a3560c817f Use "propel" property for movement.
Clients shouldn't set the "velocity", instead setting the "propel"
property.
2018-02-11 21:15:35 +01:00
Erik Ogenvik
e7fa53214b Use nullptr instead of NULL. 2018-02-06 13:45:11 +01:00
Erik Ogenvik
7127d39f13 More work on moving to left hand coord system. 2018-02-06 13:45:10 +01:00
Erik Ogenvik
eb2bb200e5 Clean up and remove unused structs. 2017-07-25 23:40:39 +02:00
Erik Ogenvik
7aaa9b9ba7 Optimize includes. 2017-03-19 21:36:52 +01:00
Erik Ogenvik
1e6611fd58 Remove autotools. 2016-12-22 14:39:37 +01:00
Erik Ogenvik
98c7eb66c8 Convert to cmake. 2016-12-22 14:39:36 +01:00
Erik Ogenvik
ed8890bcb5 Spelling. 2016-12-15 18:27:42 +01:00
Erik Ogenvik
a8e606c449 Fixed handling of invalid pos in location.
Shouldn't check too early, since queries where the top locations are the
same but with invalid pos would fail.
2016-12-15 18:27:42 +01:00
Erik Ogenvik
b427abacf7 Typo. 2016-12-15 18:27:42 +01:00
Erik Ogenvik
5bf665ab8a Added angular velocity.
The vector is the axis, and its magnitude is the angle.
2016-12-15 18:27:42 +01:00
Erik Ogenvik
0c5794977b If any pos is invalid, dist calc can't be done. 2016-06-26 13:16:11 +02:00
Erik Ogenvik
333506918f Print out better error messages. 2016-05-15 23:39:55 +02:00
Erik Ogenvik
657f644e3b Expand with function returning ancestor too. 2014-09-15 21:11:36 +02:00
Olek Wojnar
7f9ff2246d Remove CVS $Id tags
The legacy tags are causing build issues in Debian.
2013-07-15 20:31:59 +02:00
Alistair Riddoch
4a9c7078f7 Refactor to use LocatedEntity as base class
All IG code should use the interface of LocatedEntity when dealing
with any entity, rather than sometimes requiring Entity. Add virtual
functions to the interface where required, and modify all other interfaces
to stop them using Entity. This makes the code way cleaner, and much better
de-coupled.
2013-01-17 10:17:07 +00:00
Alistair Riddoch
8bf6ab2e04 Use new Quaternion constructor 2012-03-05 09:30:49 +00:00
Alistair Riddoch
1ab89f1585 Remove constant from function definitions too 2012-01-31 11:06:51 +00:00
Alistair Riddoch
e7cdfc78e4 const is ignored when returning integral types by value 2012-01-30 13:11:01 +00:00
Alistair Riddoch
c6bd3094c5 Use C++ std::sqrt for efficiency 2011-04-27 19:46:13 +01:00
Alistair Riddoch
1894e7e22e Use the C++ standard way to get efficient math 2011-04-27 19:35:35 +01:00
Alistair Riddoch
a16af683d3 Update automake variable names 2011-02-17 12:51:25 +00:00
Alistair Riddoch
a23209d894 Add function to override visibility of an Entity 2011-01-07 22:38:49 +00:00
Alistair Riddoch
755cb4c7b4 Merge branch 'mod_api_rewrite'
Conflicts:
	TODO
	rulesets/mason/tests.py
2011-01-06 23:29:08 +00:00
Alistair Riddoch
d2e3884df0 Location doesn't need to be trackable 2010-12-09 16:50:56 +00:00
Alistair Riddoch
1c12a6d9de Update to modified Mercator terrain mod context API. 2010-10-28 18:45:06 +01:00
Alistair Riddoch
b77fc1565d Add new class to track entity context in terrain mods 2010-09-17 21:40:16 +01:00
Alistair Riddoch
8ad9e9331f Use the defaults to configure the calendar 2009-05-07 13:49:19 +01:00
Alistair Riddoch
26393b9219 Fix the format of date string output 2009-04-30 11:17:33 +01:00
Alistair Riddoch
665993f638 Update IDs 2009-04-09 12:42:44 +01:00
Alistair Riddoch
d4995dd10c Use scripts/check_header_guards.sh to correct the header guards on many files. 2009-03-22 19:23:13 +00:00
Alistair Riddoch
b25d743fbc Remove all the cvsignore files. 2009-03-20 01:54:35 +00:00
Al Riddoch
6b9737032d 2009-01-12 Al Riddoch <alriddoch@googlemail.com>
* physics/BBox.h: Use wfmath forward declarations.

	* modules/Location.h, physics/BBox.cpp, rulesets/BBoxProperty.h,
	  rulesets/Py_BBox.h: Include axisbox.h definition where required.
2009-01-12 07:09:59 +00:00
Al Riddoch
175c0fd9ce 2008-11-17 Al Riddoch <alriddoch@googlemail.com>
* modules/Location.cpp: Clean up data types.
2008-11-17 15:31:40 +00:00