summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormadmaxoft@gmail.com <madmaxoft@gmail.com@0a769ca7-a7f5-676a-18bf-c427514a06d6>2012-12-21 13:21:20 +0100
committermadmaxoft@gmail.com <madmaxoft@gmail.com@0a769ca7-a7f5-676a-18bf-c427514a06d6>2012-12-21 13:21:20 +0100
commit033af999ba419afadfa1830d288b021e7d9bc1f5 (patch)
treefff5cd27b629a03d5161d872ca9e41ec2de1a80b
parentAdded TakeDamage logging to the Debuggers plugin. (diff)
downloadcuberite-033af999ba419afadfa1830d288b021e7d9bc1f5.tar
cuberite-033af999ba419afadfa1830d288b021e7d9bc1f5.tar.gz
cuberite-033af999ba419afadfa1830d288b021e7d9bc1f5.tar.bz2
cuberite-033af999ba419afadfa1830d288b021e7d9bc1f5.tar.lz
cuberite-033af999ba419afadfa1830d288b021e7d9bc1f5.tar.xz
cuberite-033af999ba419afadfa1830d288b021e7d9bc1f5.tar.zst
cuberite-033af999ba419afadfa1830d288b021e7d9bc1f5.zip
-rw-r--r--source/Bindings.cpp196
-rw-r--r--source/Bindings.h2
-rw-r--r--source/Entity.cpp15
-rw-r--r--source/Entity.h56
-rw-r--r--source/FallingBlock.cpp22
-rw-r--r--source/FallingBlock.h14
-rw-r--r--source/Mobs/Bat.cpp10
-rw-r--r--source/Mobs/Bat.h2
-rw-r--r--source/Mobs/Blaze.cpp9
-rw-r--r--source/Mobs/Blaze.h4
-rw-r--r--source/Mobs/Cavespider.cpp10
-rw-r--r--source/Mobs/Cavespider.h2
-rw-r--r--source/Mobs/Chicken.cpp9
-rw-r--r--source/Mobs/Chicken.h2
-rw-r--r--source/Mobs/Cow.cpp9
-rw-r--r--source/Mobs/Cow.h2
-rw-r--r--source/Mobs/Creeper.cpp9
-rw-r--r--source/Mobs/Creeper.h2
-rw-r--r--source/Mobs/Enderman.cpp9
-rw-r--r--source/Mobs/Enderman.h2
-rw-r--r--source/Mobs/Ghast.cpp9
-rw-r--r--source/Mobs/Ghast.h2
-rw-r--r--source/Mobs/Magmacube.cpp9
-rw-r--r--source/Mobs/Magmacube.h2
-rw-r--r--source/Mobs/Monster.cpp19
-rw-r--r--source/Mobs/Monster.h5
-rw-r--r--source/Mobs/Mooshroom.cpp9
-rw-r--r--source/Mobs/Mooshroom.h2
-rw-r--r--source/Mobs/Ocelot.cpp10
-rw-r--r--source/Mobs/Ocelot.h2
-rw-r--r--source/Mobs/Pig.cpp9
-rw-r--r--source/Mobs/Pig.h2
-rw-r--r--source/Mobs/Sheep.cpp9
-rw-r--r--source/Mobs/Sheep.h2
-rw-r--r--source/Mobs/Silverfish.cpp11
-rw-r--r--source/Mobs/Silverfish.h21
-rw-r--r--source/Mobs/Skeleton.cpp9
-rw-r--r--source/Mobs/Skeleton.h2
-rw-r--r--source/Mobs/Slime.cpp9
-rw-r--r--source/Mobs/Slime.h8
-rw-r--r--source/Mobs/Spider.cpp9
-rw-r--r--source/Mobs/Spider.h4
-rw-r--r--source/Mobs/Squid.cpp9
-rw-r--r--source/Mobs/Squid.h3
-rw-r--r--source/Mobs/Villager.cpp9
-rw-r--r--source/Mobs/Villager.h2
-rw-r--r--source/Mobs/Witch.cpp9
-rw-r--r--source/Mobs/Witch.h2
-rw-r--r--source/Mobs/Wolf.cpp16
-rw-r--r--source/Mobs/Wolf.h21
-rw-r--r--source/Mobs/Zombie.cpp9
-rw-r--r--source/Mobs/Zombie.h4
-rw-r--r--source/Mobs/Zombiepigman.cpp9
-rw-r--r--source/Mobs/Zombiepigman.h4
-rw-r--r--source/Pawn.cpp15
-rw-r--r--source/Pawn.h7
-rw-r--r--source/Pickup.cpp6
-rw-r--r--source/Pickup.h4
-rw-r--r--source/Player.cpp6
-rw-r--r--source/Player.h4
60 files changed, 308 insertions, 381 deletions
diff --git a/source/Bindings.cpp b/source/Bindings.cpp
index c6c5c65a4..2b4282123 100644
--- a/source/Bindings.cpp
+++ b/source/Bindings.cpp
@@ -1,6 +1,6 @@
/*
** Lua binding: AllToLua
-** Generated automatically by tolua++-1.0.92 on 12/21/12 19:26:06.
+** Generated automatically by tolua++-1.0.92 on 12/21/12 21:19:57.
*/
#ifndef __cplusplus
@@ -4008,14 +4008,14 @@ static int tolua_AllToLua_cEntity_GetEntityType00(lua_State* tolua_S)
#ifndef TOLUA_RELEASE
tolua_Error tolua_err;
if (
- !tolua_isusertype(tolua_S,1,"cEntity",0,&tolua_err) ||
+ !tolua_isusertype(tolua_S,1,"const cEntity",0,&tolua_err) ||
!tolua_isnoobj(tolua_S,2,&tolua_err)
)
goto tolua_lerror;
else
#endif
{
- cEntity* self = (cEntity*) tolua_tousertype(tolua_S,1,0);
+ const cEntity* self = (const cEntity*) tolua_tousertype(tolua_S,1,0);
#ifndef TOLUA_RELEASE
if (!self) tolua_error(tolua_S,"invalid 'self' in function 'GetEntityType'", NULL);
#endif
@@ -4040,7 +4040,7 @@ static int tolua_AllToLua_cEntity_IsA00(lua_State* tolua_S)
#ifndef TOLUA_RELEASE
tolua_Error tolua_err;
if (
- !tolua_isusertype(tolua_S,1,"cEntity",0,&tolua_err) ||
+ !tolua_isusertype(tolua_S,1,"const cEntity",0,&tolua_err) ||
!tolua_isstring(tolua_S,2,0,&tolua_err) ||
!tolua_isnoobj(tolua_S,3,&tolua_err)
)
@@ -4048,13 +4048,13 @@ static int tolua_AllToLua_cEntity_IsA00(lua_State* tolua_S)
else
#endif
{
- cEntity* self = (cEntity*) tolua_tousertype(tolua_S,1,0);
- const char* a_EntityType = ((const char*) tolua_tostring(tolua_S,2,0));
+ const cEntity* self = (const cEntity*) tolua_tousertype(tolua_S,1,0);
+ const char* a_ClassName = ((const char*) tolua_tostring(tolua_S,2,0));
#ifndef TOLUA_RELEASE
if (!self) tolua_error(tolua_S,"invalid 'self' in function 'IsA'", NULL);
#endif
{
- bool tolua_ret = (bool) self->IsA(a_EntityType);
+ bool tolua_ret = (bool) self->IsA(a_ClassName);
tolua_pushboolean(tolua_S,(bool)tolua_ret);
}
}
@@ -4074,14 +4074,14 @@ static int tolua_AllToLua_cEntity_GetClass00(lua_State* tolua_S)
#ifndef TOLUA_RELEASE
tolua_Error tolua_err;
if (
- !tolua_isusertype(tolua_S,1,"cEntity",0,&tolua_err) ||
+ !tolua_isusertype(tolua_S,1,"const cEntity",0,&tolua_err) ||
!tolua_isnoobj(tolua_S,2,&tolua_err)
)
goto tolua_lerror;
else
#endif
{
- cEntity* self = (cEntity*) tolua_tousertype(tolua_S,1,0);
+ const cEntity* self = (const cEntity*) tolua_tousertype(tolua_S,1,0);
#ifndef TOLUA_RELEASE
if (!self) tolua_error(tolua_S,"invalid 'self' in function 'GetClass'", NULL);
#endif
@@ -4099,6 +4099,38 @@ static int tolua_AllToLua_cEntity_GetClass00(lua_State* tolua_S)
}
#endif //#ifndef TOLUA_DISABLE
+/* method: GetParentClass of class cEntity */
+#ifndef TOLUA_DISABLE_tolua_AllToLua_cEntity_GetParentClass00
+static int tolua_AllToLua_cEntity_GetParentClass00(lua_State* tolua_S)
+{
+#ifndef TOLUA_RELEASE
+ tolua_Error tolua_err;
+ if (
+ !tolua_isusertype(tolua_S,1,"const cEntity",0,&tolua_err) ||
+ !tolua_isnoobj(tolua_S,2,&tolua_err)
+ )
+ goto tolua_lerror;
+ else
+#endif
+ {
+ const cEntity* self = (const cEntity*) tolua_tousertype(tolua_S,1,0);
+#ifndef TOLUA_RELEASE
+ if (!self) tolua_error(tolua_S,"invalid 'self' in function 'GetParentClass'", NULL);
+#endif
+ {
+ const char* tolua_ret = (const char*) self->GetParentClass();
+ tolua_pushstring(tolua_S,(const char*)tolua_ret);
+ }
+ }
+ return 1;
+#ifndef TOLUA_RELEASE
+ tolua_lerror:
+ tolua_error(tolua_S,"#ferror in function 'GetParentClass'.",&tolua_err);
+ return 0;
+#endif
+}
+#endif //#ifndef TOLUA_DISABLE
+
/* method: GetWorld of class cEntity */
#ifndef TOLUA_DISABLE_tolua_AllToLua_cEntity_GetWorld00
static int tolua_AllToLua_cEntity_GetWorld00(lua_State* tolua_S)
@@ -4992,7 +5024,7 @@ public:
return ( void ) cEntity:: Initialize(a_World);
};
};
- unsigned int GetEntityType( void ) {
+ unsigned int GetEntityType( void )const {
if (push_method("GetEntityType", tolua_AllToLua_cEntity_GetEntityType00)) {
ToluaBase::dbcall(lua_state, 1, 1);
unsigned int tolua_ret = (unsigned int )tolua_tonumber(lua_state, -1, 0);
@@ -5002,18 +5034,18 @@ public:
return (unsigned int ) cEntity:: GetEntityType();
};
};
- bool IsA( const char* a_EntityType) {
+ bool IsA( const char* a_ClassName)const {
if (push_method("IsA", tolua_AllToLua_cEntity_IsA00)) {
- tolua_pushstring(lua_state, (const char*)a_EntityType);
+ tolua_pushstring(lua_state, (const char*)a_ClassName);
ToluaBase::dbcall(lua_state, 2, 1);
bool tolua_ret = ( bool )tolua_toboolean(lua_state, -1, 0);
lua_pop(lua_state, 1);
return tolua_ret;
} else {
- return ( bool ) cEntity:: IsA(a_EntityType);
+ return ( bool ) cEntity:: IsA(a_ClassName);
};
};
- const char* GetClass( void ) {
+ const char* GetClass( void )const {
if (push_method("GetClass", tolua_AllToLua_cEntity_GetClass00)) {
ToluaBase::dbcall(lua_state, 1, 1);
const char* tolua_ret = ( const char* )tolua_tostring(lua_state, -1, 0);
@@ -5023,6 +5055,16 @@ public:
return ( const char* ) cEntity:: GetClass();
};
};
+ const char* GetParentClass( void )const {
+ if (push_method("GetParentClass", tolua_AllToLua_cEntity_GetParentClass00)) {
+ ToluaBase::dbcall(lua_state, 1, 1);
+ const char* tolua_ret = ( const char* )tolua_tostring(lua_state, -1, 0);
+ lua_pop(lua_state, 1);
+ return tolua_ret;
+ } else {
+ return ( const char* ) cEntity:: GetParentClass();
+ };
+ };
void Tick( float a_Dt) {
if (push_method("Tick", tolua_AllToLua_cEntity_Tick00)) {
tolua_pushnumber(lua_state, (lua_Number)a_Dt);
@@ -5052,12 +5094,15 @@ public:
unsigned int cEntity__GetEntityType( void ) {
return (unsigned int )cEntity::GetEntityType();
};
- bool cEntity__IsA( const char* a_EntityType) {
- return ( bool )cEntity::IsA(a_EntityType);
+ bool cEntity__IsA( const char* a_ClassName) {
+ return ( bool )cEntity::IsA(a_ClassName);
};
const char* cEntity__GetClass( void ) {
return ( const char* )cEntity::GetClass();
};
+ const char* cEntity__GetParentClass( void ) {
+ return ( const char* )cEntity::GetParentClass();
+ };
void cEntity__SpawnOn( cClientHandle& a_Client) {
return ( void )cEntity::SpawnOn(a_Client);
};
@@ -5178,12 +5223,12 @@ static int tolua_AllToLua_Lua__cEntity_cEntity__IsA00(lua_State* tolua_S)
#endif
{
Lua__cEntity* self = (Lua__cEntity*) tolua_tousertype(tolua_S,1,0);
- const char* a_EntityType = ((const char*) tolua_tostring(tolua_S,2,0));
+ const char* a_ClassName = ((const char*) tolua_tostring(tolua_S,2,0));
#ifndef TOLUA_RELEASE
if (!self) tolua_error(tolua_S,"invalid 'self' in function 'cEntity__IsA'", NULL);
#endif
{
- bool tolua_ret = (bool) self->cEntity__IsA(a_EntityType);
+ bool tolua_ret = (bool) self->cEntity__IsA(a_ClassName);
tolua_pushboolean(tolua_S,(bool)tolua_ret);
}
}
@@ -5228,6 +5273,38 @@ static int tolua_AllToLua_Lua__cEntity_cEntity__GetClass00(lua_State* tolua_S)
}
#endif //#ifndef TOLUA_DISABLE
+/* method: cEntity__GetParentClass of class Lua__cEntity */
+#ifndef TOLUA_DISABLE_tolua_AllToLua_Lua__cEntity_cEntity__GetParentClass00
+static int tolua_AllToLua_Lua__cEntity_cEntity__GetParentClass00(lua_State* tolua_S)
+{
+#ifndef TOLUA_RELEASE
+ tolua_Error tolua_err;
+ if (
+ !tolua_isusertype(tolua_S,1,"Lua__cEntity",0,&tolua_err) ||
+ !tolua_isnoobj(tolua_S,2,&tolua_err)
+ )
+ goto tolua_lerror;
+ else
+#endif
+ {
+ Lua__cEntity* self = (Lua__cEntity*) tolua_tousertype(tolua_S,1,0);
+#ifndef TOLUA_RELEASE
+ if (!self) tolua_error(tolua_S,"invalid 'self' in function 'cEntity__GetParentClass'", NULL);
+#endif
+ {
+ const char* tolua_ret = (const char*) self->cEntity__GetParentClass();
+ tolua_pushstring(tolua_S,(const char*)tolua_ret);
+ }
+ }
+ return 1;
+#ifndef TOLUA_RELEASE
+ tolua_lerror:
+ tolua_error(tolua_S,"#ferror in function 'cEntity__GetParentClass'.",&tolua_err);
+ return 0;
+#endif
+}
+#endif //#ifndef TOLUA_DISABLE
+
/* method: cEntity__SpawnOn of class Lua__cEntity */
#ifndef TOLUA_DISABLE_tolua_AllToLua_Lua__cEntity_cEntity__SpawnOn00
static int tolua_AllToLua_Lua__cEntity_cEntity__SpawnOn00(lua_State* tolua_S)
@@ -6270,7 +6347,7 @@ public:
return ( void ) cPawn:: Initialize(a_World);
};
};
- unsigned int GetEntityType( void ) {
+ unsigned int GetEntityType( void )const {
if (push_method("GetEntityType", tolua_AllToLua_cEntity_GetEntityType00)) {
ToluaBase::dbcall(lua_state, 1, 1);
unsigned int tolua_ret = (unsigned int )tolua_tonumber(lua_state, -1, 0);
@@ -6280,18 +6357,18 @@ public:
return (unsigned int ) cPawn:: GetEntityType();
};
};
- bool IsA( const char* a_EntityType) {
+ bool IsA( const char* a_ClassName)const {
if (push_method("IsA", tolua_AllToLua_cEntity_IsA00)) {
- tolua_pushstring(lua_state, (const char*)a_EntityType);
+ tolua_pushstring(lua_state, (const char*)a_ClassName);
ToluaBase::dbcall(lua_state, 2, 1);
bool tolua_ret = ( bool )tolua_toboolean(lua_state, -1, 0);
lua_pop(lua_state, 1);
return tolua_ret;
} else {
- return ( bool ) cPawn:: IsA(a_EntityType);
+ return ( bool ) cPawn:: IsA(a_ClassName);
};
};
- const char* GetClass( void ) {
+ const char* GetClass( void )const {
if (push_method("GetClass", tolua_AllToLua_cEntity_GetClass00)) {
ToluaBase::dbcall(lua_state, 1, 1);
const char* tolua_ret = ( const char* )tolua_tostring(lua_state, -1, 0);
@@ -6301,6 +6378,16 @@ public:
return ( const char* ) cPawn:: GetClass();
};
};
+ const char* GetParentClass( void )const {
+ if (push_method("GetParentClass", tolua_AllToLua_cEntity_GetParentClass00)) {
+ ToluaBase::dbcall(lua_state, 1, 1);
+ const char* tolua_ret = ( const char* )tolua_tostring(lua_state, -1, 0);
+ lua_pop(lua_state, 1);
+ return tolua_ret;
+ } else {
+ return ( const char* ) cPawn:: GetParentClass();
+ };
+ };
void Tick( float a_Dt) {
if (push_method("Tick", tolua_AllToLua_cEntity_Tick00)) {
tolua_pushnumber(lua_state, (lua_Number)a_Dt);
@@ -6366,12 +6453,15 @@ public:
unsigned int cPawn__GetEntityType( void ) {
return (unsigned int )cPawn::GetEntityType();
};
- bool cPawn__IsA( const char* a_EntityType) {
- return ( bool )cPawn::IsA(a_EntityType);
+ bool cPawn__IsA( const char* a_ClassName) {
+ return ( bool )cPawn::IsA(a_ClassName);
};
const char* cPawn__GetClass( void ) {
return ( const char* )cPawn::GetClass();
};
+ const char* cPawn__GetParentClass( void ) {
+ return ( const char* )cPawn::GetParentClass();
+ };
void cPawn__SpawnOn( cClientHandle& a_Client) {
return ( void )cPawn::SpawnOn(a_Client);
};
@@ -8259,7 +8349,7 @@ public:
return ( cItem ) cPlayer:: GetEquippedBoots();
};
};
- unsigned int GetEntityType( void ) {
+ unsigned int GetEntityType( void )const {
if (push_method("GetEntityType", tolua_AllToLua_cEntity_GetEntityType00)) {
ToluaBase::dbcall(lua_state, 1, 1);
unsigned int tolua_ret = (unsigned int )tolua_tonumber(lua_state, -1, 0);
@@ -8269,18 +8359,18 @@ public:
return (unsigned int ) cPlayer:: GetEntityType();
};
};
- bool IsA( const char* a_EntityType) {
+ bool IsA( const char* a_ClassName)const {
if (push_method("IsA", tolua_AllToLua_cEntity_IsA00)) {
- tolua_pushstring(lua_state, (const char*)a_EntityType);
+ tolua_pushstring(lua_state, (const char*)a_ClassName);
ToluaBase::dbcall(lua_state, 2, 1);
bool tolua_ret = ( bool )tolua_toboolean(lua_state, -1, 0);
lua_pop(lua_state, 1);
return tolua_ret;
} else {
- return ( bool ) cPlayer:: IsA(a_EntityType);
+ return ( bool ) cPlayer:: IsA(a_ClassName);
};
};
- const char* GetClass( void ) {
+ const char* GetClass( void )const {
if (push_method("GetClass", tolua_AllToLua_cEntity_GetClass00)) {
ToluaBase::dbcall(lua_state, 1, 1);
const char* tolua_ret = ( const char* )tolua_tostring(lua_state, -1, 0);
@@ -8290,6 +8380,16 @@ public:
return ( const char* ) cPlayer:: GetClass();
};
};
+ const char* GetParentClass( void )const {
+ if (push_method("GetParentClass", tolua_AllToLua_cEntity_GetParentClass00)) {
+ ToluaBase::dbcall(lua_state, 1, 1);
+ const char* tolua_ret = ( const char* )tolua_tostring(lua_state, -1, 0);
+ lua_pop(lua_state, 1);
+ return tolua_ret;
+ } else {
+ return ( const char* ) cPlayer:: GetParentClass();
+ };
+ };
void Tick( float a_Dt) {
if (push_method("Tick", tolua_AllToLua_cEntity_Tick00)) {
tolua_pushnumber(lua_state, (lua_Number)a_Dt);
@@ -8358,12 +8458,15 @@ public:
unsigned int cPlayer__GetEntityType( void ) {
return (unsigned int )cPlayer::GetEntityType();
};
- bool cPlayer__IsA( const char* a_EntityType) {
- return ( bool )cPlayer::IsA(a_EntityType);
+ bool cPlayer__IsA( const char* a_ClassName) {
+ return ( bool )cPlayer::IsA(a_ClassName);
};
const char* cPlayer__GetClass( void ) {
return ( const char* )cPlayer::GetClass();
};
+ const char* cPlayer__GetParentClass( void ) {
+ return ( const char* )cPlayer::GetParentClass();
+ };
void cPlayer__SpawnOn( cClientHandle& a_Client) {
return ( void )cPlayer::SpawnOn(a_Client);
};
@@ -16012,7 +16115,7 @@ public:
return ( void ) cPickup:: Initialize(a_World);
};
};
- unsigned int GetEntityType( void ) {
+ unsigned int GetEntityType( void )const {
if (push_method("GetEntityType", tolua_AllToLua_cEntity_GetEntityType00)) {
ToluaBase::dbcall(lua_state, 1, 1);
unsigned int tolua_ret = (unsigned int )tolua_tonumber(lua_state, -1, 0);
@@ -16022,18 +16125,18 @@ public:
return (unsigned int ) cPickup:: GetEntityType();
};
};
- bool IsA( const char* a_EntityType) {
+ bool IsA( const char* a_ClassName)const {
if (push_method("IsA", tolua_AllToLua_cEntity_IsA00)) {
- tolua_pushstring(lua_state, (const char*)a_EntityType);
+ tolua_pushstring(lua_state, (const char*)a_ClassName);
ToluaBase::dbcall(lua_state, 2, 1);
bool tolua_ret = ( bool )tolua_toboolean(lua_state, -1, 0);
lua_pop(lua_state, 1);
return tolua_ret;
} else {
- return ( bool ) cPickup:: IsA(a_EntityType);
+ return ( bool ) cPickup:: IsA(a_ClassName);
};
};
- const char* GetClass( void ) {
+ const char* GetClass( void )const {
if (push_method("GetClass", tolua_AllToLua_cEntity_GetClass00)) {
ToluaBase::dbcall(lua_state, 1, 1);
const char* tolua_ret = ( const char* )tolua_tostring(lua_state, -1, 0);
@@ -16043,6 +16146,16 @@ public:
return ( const char* ) cPickup:: GetClass();
};
};
+ const char* GetParentClass( void )const {
+ if (push_method("GetParentClass", tolua_AllToLua_cEntity_GetParentClass00)) {
+ ToluaBase::dbcall(lua_state, 1, 1);
+ const char* tolua_ret = ( const char* )tolua_tostring(lua_state, -1, 0);
+ lua_pop(lua_state, 1);
+ return tolua_ret;
+ } else {
+ return ( const char* ) cPickup:: GetParentClass();
+ };
+ };
void Tick( float a_Dt) {
if (push_method("Tick", tolua_AllToLua_cEntity_Tick00)) {
tolua_pushnumber(lua_state, (lua_Number)a_Dt);
@@ -16075,12 +16188,15 @@ public:
unsigned int cPickup__GetEntityType( void ) {
return (unsigned int )cPickup::GetEntityType();
};
- bool cPickup__IsA( const char* a_EntityType) {
- return ( bool )cPickup::IsA(a_EntityType);
+ bool cPickup__IsA( const char* a_ClassName) {
+ return ( bool )cPickup::IsA(a_ClassName);
};
const char* cPickup__GetClass( void ) {
return ( const char* )cPickup::GetClass();
};
+ const char* cPickup__GetParentClass( void ) {
+ return ( const char* )cPickup::GetParentClass();
+ };
void cPickup__SpawnOn( cClientHandle& a_Client) {
return ( void )cPickup::SpawnOn(a_Client);
};
@@ -23892,6 +24008,7 @@ TOLUA_API int tolua_AllToLua_open (lua_State* tolua_S)
tolua_function(tolua_S,"GetEntityType",tolua_AllToLua_cEntity_GetEntityType00);
tolua_function(tolua_S,"IsA",tolua_AllToLua_cEntity_IsA00);
tolua_function(tolua_S,"GetClass",tolua_AllToLua_cEntity_GetClass00);
+ tolua_function(tolua_S,"GetParentClass",tolua_AllToLua_cEntity_GetParentClass00);
tolua_function(tolua_S,"GetWorld",tolua_AllToLua_cEntity_GetWorld00);
tolua_function(tolua_S,"GetPosition",tolua_AllToLua_cEntity_GetPosition00);
tolua_function(tolua_S,"GetPosX",tolua_AllToLua_cEntity_GetPosX00);
@@ -23931,6 +24048,7 @@ TOLUA_API int tolua_AllToLua_open (lua_State* tolua_S)
tolua_function(tolua_S,"cEntity__GetEntityType",tolua_AllToLua_Lua__cEntity_cEntity__GetEntityType00);
tolua_function(tolua_S,"cEntity__IsA",tolua_AllToLua_Lua__cEntity_cEntity__IsA00);
tolua_function(tolua_S,"cEntity__GetClass",tolua_AllToLua_Lua__cEntity_cEntity__GetClass00);
+ tolua_function(tolua_S,"cEntity__GetParentClass",tolua_AllToLua_Lua__cEntity_cEntity__GetParentClass00);
tolua_function(tolua_S,"cEntity__SpawnOn",tolua_AllToLua_Lua__cEntity_cEntity__SpawnOn00);
tolua_function(tolua_S,"new",tolua_AllToLua_Lua__cEntity_new00);
tolua_function(tolua_S,"new_local",tolua_AllToLua_Lua__cEntity_new00_local);
diff --git a/source/Bindings.h b/source/Bindings.h
index ccf2051d8..f6ae8790c 100644
--- a/source/Bindings.h
+++ b/source/Bindings.h
@@ -1,6 +1,6 @@
/*
** Lua binding: AllToLua
-** Generated automatically by tolua++-1.0.92 on 12/21/12 19:26:06.
+** Generated automatically by tolua++-1.0.92 on 12/21/12 21:19:58.
*/
/* Exported function */
diff --git a/source/Entity.cpp b/source/Entity.cpp
index e5e6061e5..a2e0c4a27 100644
--- a/source/Entity.cpp
+++ b/source/Entity.cpp
@@ -76,6 +76,15 @@ CLASS_DEF_GETCLASS(cEntity);
+const char * cEntity::GetParentClass(void) const
+{
+ return "";
+}
+
+
+
+
+
void cEntity::Initialize(cWorld * a_World)
{
m_World = a_World;
@@ -188,11 +197,9 @@ void cEntity::RemoveFromChunk(void)
-bool cEntity::IsA( const char* a_EntityType )
+bool cEntity::IsA(const char * a_ClassName) const
{
- //LOG("IsA( cEntity ) : %s", a_EntityType);
- if( strcmp( a_EntityType, "cEntity" ) == 0 ) return true;
- return false;
+ return (strcmp(a_ClassName, "cEntity") == 0);
}
diff --git a/source/Entity.h b/source/Entity.h
index 613032938..7cb168581 100644
--- a/source/Entity.h
+++ b/source/Entity.h
@@ -11,30 +11,45 @@
-#define CLASS_PROT_ISA() virtual bool IsA( const char* a_EntityType );
-#define CLASS_PROT_GETCLASS() virtual const char* GetClass();
+#define CLASS_PROT_ISA() virtual bool IsA(const char * a_EntityType) const override;
+#define CLASS_PROT_GETCLASS() virtual const char * GetClass (void) const override;
+#define CLASS_PROT_GETPARENT() virtual const char * GetParentClass(void) const override;
-/* Can't use this (yet) because of tolua */
#define CLASS_PROTOTYPE() \
CLASS_PROT_ISA(); \
- CLASS_PROT_GETCLASS();
+ CLASS_PROT_GETCLASS(); \
+ CLASS_PROT_GETPARENT();
-#define CLASS_DEF_ISA( classname, superclass ) \
- bool classname::IsA( const char* a_EntityType ) \
+#define CLASS_DEF_ISA(classname) \
+ bool classname::IsA(const char * a_ClassName) const \
{ \
- if( strcmp( a_EntityType, #classname ) == 0 ) return true; \
- return superclass::IsA( a_EntityType ); \
+ return ((strcmp(a_ClassName, #classname) == 0) || super::IsA(a_ClassName)); \
}
-#define CLASS_DEF_GETCLASS( classname ) \
- const char* classname::GetClass() \
+#define CLASS_DEF_GETCLASS(classname) \
+ const char * classname::GetClass(void) const \
{ \
- return #classname; \
+ return #classname; \
}
-#define CLASS_DEFINITION( classname, superclass ) \
- CLASS_DEF_ISA( classname, superclass ) \
- CLASS_DEF_GETCLASS( classname )
+#define CLASS_DEFINITION(classname) \
+ CLASS_DEF_ISA(classname) \
+ CLASS_DEF_GETCLASS(classname)
+
+// Place this macro in the header of each cEntity descendant class and you're done :)
+#define CLASS_PROTODEF(classname) \
+ virtual bool IsA(const char * a_ClassName) const override\
+ { \
+ return ((strcmp(a_ClassName, #classname) == 0) || super::IsA(a_ClassName)); \
+ } \
+ virtual const char * GetClass(void) const override \
+ { \
+ return #classname; \
+ } \
+ virtual const char * GetParentClass(void) const override \
+ { \
+ return super::GetClass(); \
+ }
@@ -74,9 +89,16 @@ public:
eEntityType_Pickup
};
- virtual unsigned int GetEntityType() { return m_EntityType; }
- virtual bool IsA( const char* a_EntityType );
- virtual const char* GetClass();
+ virtual unsigned int GetEntityType(void) const { return m_EntityType; }
+
+ /// Returns true if the entity is of the specified class or a subclass (cPawn's IsA("cEntity") returns true)
+ virtual bool IsA(const char * a_ClassName) const;
+
+ /// Returns the topmost class name for the object
+ virtual const char * GetClass(void) const;
+
+ /// Returns the topmost class's parent class name for the object. cEntity returns an empty string (no parent).
+ virtual const char * GetParentClass(void) const;
cWorld * GetWorld(void) const { return m_World; }
diff --git a/source/FallingBlock.cpp b/source/FallingBlock.cpp
index 1ed9cd5ed..93eac0815 100644
--- a/source/FallingBlock.cpp
+++ b/source/FallingBlock.cpp
@@ -5,7 +5,7 @@
#include "ClientHandle.h"
-CLASS_DEFINITION( cFallingBlock, cEntity )
+
cFallingBlock::cFallingBlock(const Vector3i & a_BlockPosition, BLOCKTYPE a_BlockType)
@@ -20,14 +20,6 @@ cFallingBlock::cFallingBlock(const Vector3i & a_BlockPosition, BLOCKTYPE a_Block
-cFallingBlock::~cFallingBlock()
-{
-}
-
-
-
-
-
void cFallingBlock::Initialize(cWorld * a_World)
{
super::Initialize( a_World );
@@ -55,10 +47,14 @@ void cFallingBlock::Tick(float a_Dt)
//GetWorld()->BroadcastTeleportEntity(*this); // Testing position
- Vector3i BlockPos( m_OriginalPosition.x, (int)(m_Pos.y-0.5), m_OriginalPosition.z );
- if( !IsPassable( GetWorld()->GetBlock( BlockPos ) ) )
+ Vector3i BlockPos( m_OriginalPosition.x, (int)(m_Pos.y - 0.5), m_OriginalPosition.z );
+ if (!IsPassable(GetWorld()->GetBlock(BlockPos)))
{
Destroy();
- GetWorld()->SetBlock( BlockPos.x, BlockPos.y+1, BlockPos.z, m_BlockType, 0 );
+ GetWorld()->SetBlock( BlockPos.x, BlockPos.y + 1, BlockPos.z, m_BlockType, 0 );
}
-} \ No newline at end of file
+}
+
+
+
+
diff --git a/source/FallingBlock.h b/source/FallingBlock.h
index 08e3302e1..f62b40a92 100644
--- a/source/FallingBlock.h
+++ b/source/FallingBlock.h
@@ -15,29 +15,31 @@ class cItem;
-class cFallingBlock : public cEntity
+class cFallingBlock :
+ public cEntity
{
typedef cEntity super;
+
public:
- CLASS_PROTOTYPE();
+ CLASS_PROTODEF(cFallingBlock);
cFallingBlock(const Vector3i & a_BlockPosition, BLOCKTYPE a_BlockType);
- ~cFallingBlock();
virtual void Initialize(cWorld * a_World) override;
virtual void SpawnOn(cClientHandle & a_ClientHandle) override;
virtual void Tick(float a_Dt) override;
+
private:
BLOCKTYPE m_BlockType;
Vector3i m_OriginalPosition;
float m_SpeedY;
- static bool IsPassable( BLOCKTYPE a_BlockType )
+ static bool IsPassable(BLOCKTYPE a_BlockType)
{
- return a_BlockType == E_BLOCK_AIR || IsBlockLiquid( a_BlockType );
+ return ((a_BlockType == E_BLOCK_AIR) || IsBlockLiquid(a_BlockType));
}
-};
+} ;
diff --git a/source/Mobs/Bat.cpp b/source/Mobs/Bat.cpp
index 24ce88184..e77cfd46d 100644
--- a/source/Mobs/Bat.cpp
+++ b/source/Mobs/Bat.cpp
@@ -16,13 +16,3 @@ cBat::cBat(void)
-
-bool cBat::IsA(const char * a_EntityType)
-{
- return ((strcmp(a_EntityType, "cBat") == 0) || super::IsA(a_EntityType));
-}
-
-
-
-
-
diff --git a/source/Mobs/Bat.h b/source/Mobs/Bat.h
index 7965072fc..91279889f 100644
--- a/source/Mobs/Bat.h
+++ b/source/Mobs/Bat.h
@@ -15,7 +15,7 @@ class cBat :
public:
cBat(void);
- virtual bool IsA(const char * a_EntityType) override;
+ CLASS_PROTODEF(cBat);
} ;
diff --git a/source/Mobs/Blaze.cpp b/source/Mobs/Blaze.cpp
index e53cbb44d..c3a1fbabf 100644
--- a/source/Mobs/Blaze.cpp
+++ b/source/Mobs/Blaze.cpp
@@ -17,15 +17,6 @@ cBlaze::cBlaze(void)
-bool cBlaze::IsA(const char * a_EntityType)
-{
- return ((strcmp(a_EntityType, "cBlaze") == 0) || super::IsA(a_EntityType));
-}
-
-
-
-
-
void cBlaze::GetDrops(cItems & a_Drops, cPawn * a_Killer)
{
AddRandomDropItem(a_Drops, 0, 1, E_ITEM_BLAZE_ROD);
diff --git a/source/Mobs/Blaze.h b/source/Mobs/Blaze.h
index 6dca7fed0..a897d7e8a 100644
--- a/source/Mobs/Blaze.h
+++ b/source/Mobs/Blaze.h
@@ -15,8 +15,8 @@ class cBlaze :
public:
cBlaze(void);
- virtual bool IsA(const char * a_EntityType) override;
-
+ CLASS_PROTODEF(cBlaze);
+
virtual void GetDrops(cItems & a_Drops, cPawn * a_Killer = NULL) override;
} ;
diff --git a/source/Mobs/Cavespider.cpp b/source/Mobs/Cavespider.cpp
index 9336f8f5b..94eadf12d 100644
--- a/source/Mobs/Cavespider.cpp
+++ b/source/Mobs/Cavespider.cpp
@@ -17,18 +17,10 @@ cCavespider::cCavespider(void)
-bool cCavespider::IsA(const char * a_EntityType)
-{
- return ((strcmp(a_EntityType, "cCaveSpider") == 0) || super::IsA(a_EntityType));
-}
-
-
-
-
-
void cCavespider::Tick(float a_Dt)
{
super::Tick(a_Dt);
+
// TODO: Check vanilla if cavespiders really get passive during the day
m_EMPersonality = (GetWorld()->GetTimeOfDay() < (12000 + 1000)) ? PASSIVE : AGGRESSIVE;
}
diff --git a/source/Mobs/Cavespider.h b/source/Mobs/Cavespider.h
index 10b462bea..33f67b6f5 100644
--- a/source/Mobs/Cavespider.h
+++ b/source/Mobs/Cavespider.h
@@ -15,7 +15,7 @@ class cCavespider :
public:
cCavespider(void);
- virtual bool IsA(const char * a_EntityType) override;
+ CLASS_PROTODEF(cCaveSpider);
virtual void Tick(float a_Dt) override;
virtual void GetDrops(cItems & a_Drops, cPawn * a_Killer = NULL) override;
diff --git a/source/Mobs/Chicken.cpp b/source/Mobs/Chicken.cpp
index cd282f5ed..fe6526d76 100644
--- a/source/Mobs/Chicken.cpp
+++ b/source/Mobs/Chicken.cpp
@@ -23,15 +23,6 @@ cChicken::cChicken(void)
-bool cChicken::IsA(const char * a_EntityType)
-{
- return ((strcmp(a_EntityType, "cChicken") == 0) || super::IsA(a_EntityType));
-}
-
-
-
-
-
void cChicken::GetDrops(cItems & a_Drops, cPawn * a_Killer)
{
AddRandomDropItem(a_Drops, 0, 2, E_ITEM_FEATHER);
diff --git a/source/Mobs/Chicken.h b/source/Mobs/Chicken.h
index 49c88a059..ed36df4d5 100644
--- a/source/Mobs/Chicken.h
+++ b/source/Mobs/Chicken.h
@@ -15,7 +15,7 @@ class cChicken :
public:
cChicken(void);
- virtual bool IsA(const char * a_EntityType) override;
+ CLASS_PROTODEF(cChicken);
virtual void GetDrops(cItems & a_Drops, cPawn * a_Killer = NULL) override;
} ;
diff --git a/source/Mobs/Cow.cpp b/source/Mobs/Cow.cpp
index 8e1837434..f6ae5b7da 100644
--- a/source/Mobs/Cow.cpp
+++ b/source/Mobs/Cow.cpp
@@ -23,15 +23,6 @@ cCow::cCow(void)
-bool cCow::IsA(const char * a_EntityType)
-{
- return ((strcmp(a_EntityType, "cCow") == 0) || super::IsA(a_EntityType));
-}
-
-
-
-
-
void cCow::GetDrops(cItems & a_Drops, cPawn * a_Killer)
{
AddRandomDropItem(a_Drops, 0, 2, E_ITEM_LEATHER);
diff --git a/source/Mobs/Cow.h b/source/Mobs/Cow.h
index cc7db7af9..d50c8df08 100644
--- a/source/Mobs/Cow.h
+++ b/source/Mobs/Cow.h
@@ -15,7 +15,7 @@ class cCow :
public:
cCow();
- virtual bool IsA(const char * a_EntityType) override;
+ CLASS_PROTODEF(cCow);
virtual void GetDrops(cItems & a_Drops, cPawn * a_Killer = NULL) override;
} ;
diff --git a/source/Mobs/Creeper.cpp b/source/Mobs/Creeper.cpp
index d247df96c..e3610198f 100644
--- a/source/Mobs/Creeper.cpp
+++ b/source/Mobs/Creeper.cpp
@@ -17,15 +17,6 @@ cCreeper::cCreeper(void)
-bool cCreeper::IsA(const char * a_EntityType)
-{
- return ((strcmp(a_EntityType, "cCreeper") == 0) || super::IsA(a_EntityType));
-}
-
-
-
-
-
void cCreeper::GetDrops(cItems & a_Drops, cPawn * a_Killer)
{
AddRandomDropItem(a_Drops, 0, 2, E_ITEM_GUNPOWDER);
diff --git a/source/Mobs/Creeper.h b/source/Mobs/Creeper.h
index bd6b1e992..721847cb5 100644
--- a/source/Mobs/Creeper.h
+++ b/source/Mobs/Creeper.h
@@ -15,7 +15,7 @@ class cCreeper :
public:
cCreeper(void);
- virtual bool IsA(const char * a_EntityType) override;
+ CLASS_PROTODEF(cCreeper);
virtual void GetDrops(cItems & a_Drops, cPawn * a_Killer = NULL) override;
} ;
diff --git a/source/Mobs/Enderman.cpp b/source/Mobs/Enderman.cpp
index b41f8f405..2739265f1 100644
--- a/source/Mobs/Enderman.cpp
+++ b/source/Mobs/Enderman.cpp
@@ -17,15 +17,6 @@ cEnderman::cEnderman(void)
-bool cEnderman::IsA(const char * a_EntityType)
-{
- return ((strcmp(a_EntityType, "cEnderman") == 0) || super::IsA(a_EntityType));
-}
-
-
-
-
-
void cEnderman::Tick(float a_Dt)
{
cMonster::Tick(a_Dt);
diff --git a/source/Mobs/Enderman.h b/source/Mobs/Enderman.h
index b175e8b1b..adcbe3b4b 100644
--- a/source/Mobs/Enderman.h
+++ b/source/Mobs/Enderman.h
@@ -15,7 +15,7 @@ class cEnderman :
public:
cEnderman(void);
- virtual bool IsA(const char * a_EntityType) override;
+ CLASS_PROTODEF(cEnderman);
virtual void Tick(float a_Dt) override;
virtual void GetDrops(cItems & a_Drops, cPawn * a_Killer = NULL) override;
diff --git a/source/Mobs/Ghast.cpp b/source/Mobs/Ghast.cpp
index 3bcb5e4ab..0e1656b95 100644
--- a/source/Mobs/Ghast.cpp
+++ b/source/Mobs/Ghast.cpp
@@ -17,15 +17,6 @@ cGhast::cGhast(void)
-bool cGhast::IsA(const char * a_EntityType)
-{
- return ((strcmp(a_EntityType, "cGhast") == 0) || super::IsA(a_EntityType));
-}
-
-
-
-
-
void cGhast::GetDrops(cItems & a_Drops, cPawn * a_Killer)
{
AddRandomDropItem(a_Drops, 0, 2, E_ITEM_GUNPOWDER);
diff --git a/source/Mobs/Ghast.h b/source/Mobs/Ghast.h
index e6248b656..b560d6907 100644
--- a/source/Mobs/Ghast.h
+++ b/source/Mobs/Ghast.h
@@ -15,7 +15,7 @@ class cGhast :
public:
cGhast(void);
- virtual bool IsA(const char * a_EntityType) override;
+ CLASS_PROTODEF(cGhast);
virtual void GetDrops(cItems & a_Drops, cPawn * a_Killer = NULL) override;
} ;
diff --git a/source/Mobs/Magmacube.cpp b/source/Mobs/Magmacube.cpp
index 21c6f17b3..a71463928 100644
--- a/source/Mobs/Magmacube.cpp
+++ b/source/Mobs/Magmacube.cpp
@@ -17,15 +17,6 @@ cMagmacube::cMagmacube()
-bool cMagmacube::IsA(const char * a_EntityType)
-{
- return ((strcmp(a_EntityType, "cMagmacube") == 0) || super::IsA(a_EntityType));
-}
-
-
-
-
-
void cMagmacube::GetDrops(cItems & a_Drops, cPawn * a_Killer)
{
AddRandomDropItem(a_Drops, 0, 1, E_ITEM_MAGMA_CREAM);
diff --git a/source/Mobs/Magmacube.h b/source/Mobs/Magmacube.h
index 8c61a7853..863ba7072 100644
--- a/source/Mobs/Magmacube.h
+++ b/source/Mobs/Magmacube.h
@@ -15,7 +15,7 @@ class cMagmacube :
public:
cMagmacube();
- virtual bool IsA(const char * a_EntityType) override;
+ CLASS_PROTODEF(cMagmacube);
virtual void GetDrops(cItems & a_Drops, cPawn * a_Killer = NULL) override;
} ;
diff --git a/source/Mobs/Monster.cpp b/source/Mobs/Monster.cpp
index 88cfcd992..e79e6c00f 100644
--- a/source/Mobs/Monster.cpp
+++ b/source/Mobs/Monster.cpp
@@ -58,25 +58,6 @@ cMonster::cMonster(void)
-cMonster::~cMonster()
-{
- LOGD("cMonster::~cMonster()");
-}
-
-
-
-
-
-bool cMonster::IsA( const char* a_EntityType )
-{
- if( strcmp( a_EntityType, "cMonster" ) == 0 ) return true;
- return cPawn::IsA( a_EntityType );
-}
-
-
-
-
-
void cMonster::SpawnOn(cClientHandle & a_Client)
{
a_Client.SendSpawnMob(*this);
diff --git a/source/Mobs/Monster.h b/source/Mobs/Monster.h
index 6d3d1d775..051477162 100644
--- a/source/Mobs/Monster.h
+++ b/source/Mobs/Monster.h
@@ -26,10 +26,9 @@ public:
// tolua_end
cMonster(void);
- virtual ~cMonster();
-
- virtual bool IsA(const char * a_EntityType);
+ CLASS_PROTODEF(cMonster);
+
virtual void SpawnOn(cClientHandle & a_ClientHandle) override;
virtual void Tick(float a_Dt) override;
diff --git a/source/Mobs/Mooshroom.cpp b/source/Mobs/Mooshroom.cpp
index 0732b3fea..aca32873f 100644
--- a/source/Mobs/Mooshroom.cpp
+++ b/source/Mobs/Mooshroom.cpp
@@ -23,15 +23,6 @@ cMooshroom::cMooshroom(void)
-bool cMooshroom::IsA(const char * a_EntityType)
-{
- return ((strcmp(a_EntityType, "cMooshroom") == 0) || super::IsA(a_EntityType));
-}
-
-
-
-
-
void cMooshroom::GetDrops(cItems & a_Drops, cPawn * a_Killer)
{
AddRandomDropItem(a_Drops, 0, 2, E_ITEM_LEATHER);
diff --git a/source/Mobs/Mooshroom.h b/source/Mobs/Mooshroom.h
index b15bfc76f..c50c04ed8 100644
--- a/source/Mobs/Mooshroom.h
+++ b/source/Mobs/Mooshroom.h
@@ -15,7 +15,7 @@ class cMooshroom :
public:
cMooshroom(void);
- virtual bool IsA(const char * a_EntityType);
+ CLASS_PROTODEF(cMooshroom);
virtual void GetDrops(cItems & a_Drops, cPawn * a_Killer = NULL) override;
} ;
diff --git a/source/Mobs/Ocelot.cpp b/source/Mobs/Ocelot.cpp
index 374161bde..02d5ccc37 100644
--- a/source/Mobs/Ocelot.cpp
+++ b/source/Mobs/Ocelot.cpp
@@ -16,13 +16,3 @@ cOcelot::cOcelot()
-
-bool cOcelot::IsA(const char * a_EntityType)
-{
- return ((strcmp(a_EntityType, "cOcelot") == 0) || super::IsA(a_EntityType));
-}
-
-
-
-
-
diff --git a/source/Mobs/Ocelot.h b/source/Mobs/Ocelot.h
index 07095c660..acda6a1e6 100644
--- a/source/Mobs/Ocelot.h
+++ b/source/Mobs/Ocelot.h
@@ -15,7 +15,7 @@ class cOcelot :
public:
cOcelot();
- virtual bool IsA(const char * a_EntityType) override;
+ CLASS_PROTODEF(cOcelot);
} ;
diff --git a/source/Mobs/Pig.cpp b/source/Mobs/Pig.cpp
index 8abd0a10e..0e0d4e875 100644
--- a/source/Mobs/Pig.cpp
+++ b/source/Mobs/Pig.cpp
@@ -17,15 +17,6 @@ cPig::cPig(void)
-bool cPig::IsA(const char * a_EntityType)
-{
- return ((strcmp(a_EntityType, "cPig") == 0) || super::IsA(a_EntityType));
-}
-
-
-
-
-
void cPig::GetDrops(cItems & a_Drops, cPawn * a_Killer)
{
AddRandomDropItem(a_Drops, 1, 3, (GetMetaData() == BURNING) ? E_ITEM_COOKED_PORKCHOP : E_ITEM_RAW_MEAT);
diff --git a/source/Mobs/Pig.h b/source/Mobs/Pig.h
index 018477778..995f2a593 100644
--- a/source/Mobs/Pig.h
+++ b/source/Mobs/Pig.h
@@ -15,7 +15,7 @@ class cPig :
public:
cPig(void);
- virtual bool IsA(const char * a_EntityType) override;
+ CLASS_PROTODEF(cPig);
virtual void GetDrops(cItems & a_Drops, cPawn * a_Killer = NULL) override;
} ;
diff --git a/source/Mobs/Sheep.cpp b/source/Mobs/Sheep.cpp
index 9c67aba29..997184dcf 100644
--- a/source/Mobs/Sheep.cpp
+++ b/source/Mobs/Sheep.cpp
@@ -20,15 +20,6 @@ cSheep::cSheep(void) :
-bool cSheep::IsA(const char * a_EntityType)
-{
- return ((strcmp(a_EntityType, "cSheep") == 0) || super::IsA(a_EntityType));
-}
-
-
-
-
-
void cSheep::GetDrops(cItems & a_Drops, cPawn * a_Killer)
{
if (!m_IsSheared)
diff --git a/source/Mobs/Sheep.h b/source/Mobs/Sheep.h
index ea43537cc..801cf97d7 100644
--- a/source/Mobs/Sheep.h
+++ b/source/Mobs/Sheep.h
@@ -18,7 +18,7 @@ public:
bool m_IsSheared;
NIBBLETYPE m_WoolColor; // Uses E_META_WOOL_ constants for colors
- virtual bool IsA(const char * a_EntityType) override;
+ CLASS_PROTODEF(cSheep);
virtual void GetDrops(cItems & a_Drops, cPawn * a_Killer = NULL) override;
} ;
diff --git a/source/Mobs/Silverfish.cpp b/source/Mobs/Silverfish.cpp
index 1525966c4..a8ced0b6b 100644
--- a/source/Mobs/Silverfish.cpp
+++ b/source/Mobs/Silverfish.cpp
@@ -7,19 +7,12 @@
-cSilverfish::cSilverfish()
+cSilverfish::cSilverfish(void)
{
m_MobType = 60;
GetMonsterConfig("Silverfish");
}
-cSilverfish::~cSilverfish()
-{
-}
-bool cSilverfish::IsA( const char* a_EntityType )
-{
- if( strcmp( a_EntityType, "cSilverfish" ) == 0 ) return true;
- return cMonster::IsA( a_EntityType );
-}
+
diff --git a/source/Mobs/Silverfish.h b/source/Mobs/Silverfish.h
index 453995ec6..4e4fbd11c 100644
--- a/source/Mobs/Silverfish.h
+++ b/source/Mobs/Silverfish.h
@@ -1,12 +1,23 @@
+
#pragma once
#include "AggressiveMonster.h"
-class cSilverfish : public cAggressiveMonster
+
+
+
+
+class cSilverfish :
+ public cAggressiveMonster
{
+ typedef cAggressiveMonster super;
+
public:
- cSilverfish();
- ~cSilverfish();
+ cSilverfish(void);
+
+ CLASS_PROTODEF(cSilverfish);
+} ;
+
+
+
- virtual bool IsA(const char * a_EntityType);
-};
diff --git a/source/Mobs/Skeleton.cpp b/source/Mobs/Skeleton.cpp
index f219713e0..684e1e13d 100644
--- a/source/Mobs/Skeleton.cpp
+++ b/source/Mobs/Skeleton.cpp
@@ -17,15 +17,6 @@ cSkeleton::cSkeleton(void)
-bool cSkeleton::IsA( const char* a_EntityType )
-{
- return ((strcmp(a_EntityType, "cSkeleton") == 0) || super::IsA(a_EntityType));
-}
-
-
-
-
-
void cSkeleton::Tick(float a_Dt)
{
cMonster::Tick(a_Dt);
diff --git a/source/Mobs/Skeleton.h b/source/Mobs/Skeleton.h
index 101358f18..476b438e5 100644
--- a/source/Mobs/Skeleton.h
+++ b/source/Mobs/Skeleton.h
@@ -15,7 +15,7 @@ class cSkeleton :
public:
cSkeleton();
- virtual bool IsA(const char * a_EntityType) override;
+ CLASS_PROTODEF(cSkeleton);
virtual void Tick(float a_Dt) override;
virtual void GetDrops(cItems & a_Drops, cPawn * a_Killer = NULL) override;
diff --git a/source/Mobs/Slime.cpp b/source/Mobs/Slime.cpp
index d85b97c97..5df887934 100644
--- a/source/Mobs/Slime.cpp
+++ b/source/Mobs/Slime.cpp
@@ -19,15 +19,6 @@ cSlime::cSlime(void)
-bool cSlime::IsA(const char * a_EntityType)
-{
- return ((strcmp(a_EntityType, "cSlime") == 0) || super::IsA(a_EntityType));
-}
-
-
-
-
-
void cSlime::GetDrops(cItems & a_Drops, cPawn * a_Killer)
{
// TODO: only when tiny
diff --git a/source/Mobs/Slime.h b/source/Mobs/Slime.h
index 1f155e6f8..17bf0807a 100644
--- a/source/Mobs/Slime.h
+++ b/source/Mobs/Slime.h
@@ -3,15 +3,19 @@
#include "AggressiveMonster.h"
+
+
+
+
class cSlime :
public cAggressiveMonster
{
typedef cAggressiveMonster super;
public:
- cSlime();
+ cSlime(void);
- virtual bool IsA(const char * a_EntityType) override;
+ CLASS_PROTODEF(cSlime);
virtual void GetDrops(cItems & a_Drops, cPawn * a_Killer = NULL) override;
} ;
diff --git a/source/Mobs/Spider.cpp b/source/Mobs/Spider.cpp
index 82a24f9b3..1e1338b58 100644
--- a/source/Mobs/Spider.cpp
+++ b/source/Mobs/Spider.cpp
@@ -17,15 +17,6 @@ cSpider::cSpider()
-bool cSpider::IsA(const char * a_EntityType)
-{
- return ((strcmp(a_EntityType, "cSpider") == 0) || super::IsA(a_EntityType));
-}
-
-
-
-
-
void cSpider::GetDrops(cItems & a_Drops, cPawn * a_Killer)
{
AddRandomDropItem(a_Drops, 0, 2, E_ITEM_STRING);
diff --git a/source/Mobs/Spider.h b/source/Mobs/Spider.h
index c375df593..17a954a02 100644
--- a/source/Mobs/Spider.h
+++ b/source/Mobs/Spider.h
@@ -13,9 +13,9 @@ class cSpider :
typedef cAggressiveMonster super;
public:
- cSpider();
+ cSpider(void);
- virtual bool IsA(const char * a_EntityType) override;
+ CLASS_PROTODEF(cSpider);
virtual void GetDrops(cItems & a_Drops, cPawn * a_Killer = NULL) override;
} ;
diff --git a/source/Mobs/Squid.cpp b/source/Mobs/Squid.cpp
index 720eb05e5..b3df8711a 100644
--- a/source/Mobs/Squid.cpp
+++ b/source/Mobs/Squid.cpp
@@ -18,15 +18,6 @@ cSquid::cSquid()
-bool cSquid::IsA(const char * a_EntityType)
-{
- return ((strcmp(a_EntityType, "cSquid") == 0) || super::IsA(a_EntityType));
-}
-
-
-
-
-
void cSquid::GetDrops(cItems & a_Drops, cPawn * a_Killer)
{
// Drops 0-3 Ink Sacs
diff --git a/source/Mobs/Squid.h b/source/Mobs/Squid.h
index 6500a3fea..4a8de4d28 100644
--- a/source/Mobs/Squid.h
+++ b/source/Mobs/Squid.h
@@ -17,7 +17,8 @@ public:
virtual void Tick(float a_Dt) override;
- virtual bool IsA(const char * a_EntityType) override;
+ CLASS_PROTODEF(cSquid);
+
virtual void GetDrops(cItems & a_Drops, cPawn * a_Killer = NULL) override;
} ;
diff --git a/source/Mobs/Villager.cpp b/source/Mobs/Villager.cpp
index 0e6d364d7..c97bb714f 100644
--- a/source/Mobs/Villager.cpp
+++ b/source/Mobs/Villager.cpp
@@ -16,12 +16,3 @@ cVillager::cVillager()
-
-bool cVillager::IsA(const char * a_EntityType)
-{
- return ((strcmp(a_EntityType, "cVillager") == 0) || super::IsA(a_EntityType));
-}
-
-
-
-
diff --git a/source/Mobs/Villager.h b/source/Mobs/Villager.h
index 74a6af868..4b50ed35e 100644
--- a/source/Mobs/Villager.h
+++ b/source/Mobs/Villager.h
@@ -15,7 +15,7 @@ class cVillager :
public:
cVillager();
- virtual bool IsA(const char * a_EntityType) override;
+ CLASS_PROTODEF(cVillager);
} ;
diff --git a/source/Mobs/Witch.cpp b/source/Mobs/Witch.cpp
index 5077f0cdd..2bbe5b94b 100644
--- a/source/Mobs/Witch.cpp
+++ b/source/Mobs/Witch.cpp
@@ -17,15 +17,6 @@ cWitch::cWitch()
-bool cWitch::IsA(const char * a_EntityType)
-{
- return ((strcmp(a_EntityType, "cWitch") == 0) || super::IsA(a_EntityType));
-}
-
-
-
-
-
void cWitch::GetDrops(cItems & a_Drops, cPawn * a_Killer)
{
AddRandomDropItem(a_Drops, 0, 6, E_ITEM_GLASS_BOTTLE);
diff --git a/source/Mobs/Witch.h b/source/Mobs/Witch.h
index 2d21037bb..5b8c7ba4f 100644
--- a/source/Mobs/Witch.h
+++ b/source/Mobs/Witch.h
@@ -15,7 +15,7 @@ class cWitch :
public:
cWitch();
- virtual bool IsA(const char* a_EntityType) override;
+ CLASS_PROTODEF(cWitch);
virtual void GetDrops(cItems & a_Drops, cPawn * a_Killer = NULL) override;
} ;
diff --git a/source/Mobs/Wolf.cpp b/source/Mobs/Wolf.cpp
index bd7fa213b..5a8ceabbc 100644
--- a/source/Mobs/Wolf.cpp
+++ b/source/Mobs/Wolf.cpp
@@ -3,18 +3,16 @@
#include "Wolf.h"
-cWolf::cWolf()
+
+
+
+
+cWolf::cWolf(void)
{
m_MobType = 95;
GetMonsterConfig("Wolf");
}
-cWolf::~cWolf()
-{
-}
-bool cWolf::IsA( const char* a_EntityType )
-{
- if( strcmp( a_EntityType, "cWolf" ) == 0 ) return true;
- return cMonster::IsA( a_EntityType );
-}
+
+
diff --git a/source/Mobs/Wolf.h b/source/Mobs/Wolf.h
index bde5b9d32..5dd7065a7 100644
--- a/source/Mobs/Wolf.h
+++ b/source/Mobs/Wolf.h
@@ -1,12 +1,23 @@
+
#pragma once
#include "PassiveAggressiveMonster.h"
-class cWolf : public cPassiveAggressiveMonster
+
+
+
+
+class cWolf :
+ public cPassiveAggressiveMonster
{
+ typedef cPassiveAggressiveMonster super;
+
public:
- cWolf();
- ~cWolf();
+ cWolf(void);
+
+ CLASS_PROTODEF(cWolf);
+} ;
+
+
+
- virtual bool IsA( const char* a_EntityType );
-};
diff --git a/source/Mobs/Zombie.cpp b/source/Mobs/Zombie.cpp
index 5d753c4f8..15e99734b 100644
--- a/source/Mobs/Zombie.cpp
+++ b/source/Mobs/Zombie.cpp
@@ -17,15 +17,6 @@ cZombie::cZombie()
-bool cZombie::IsA(const char * a_EntityType)
-{
- return ((strcmp(a_EntityType, "cZombie") == 0) || super::IsA(a_EntityType));
-}
-
-
-
-
-
void cZombie::Tick(float a_Dt)
{
super::Tick(a_Dt);
diff --git a/source/Mobs/Zombie.h b/source/Mobs/Zombie.h
index 8256c040a..06bd9244a 100644
--- a/source/Mobs/Zombie.h
+++ b/source/Mobs/Zombie.h
@@ -14,8 +14,8 @@ class cZombie :
public:
cZombie();
- virtual bool IsA(const char * a_EntityType) override;
-
+ CLASS_PROTODEF(cZombie);
+
virtual void Tick(float a_Dt) override;
virtual void GetDrops(cItems & a_Drops, cPawn * a_Killer = NULL) override;
} ;
diff --git a/source/Mobs/Zombiepigman.cpp b/source/Mobs/Zombiepigman.cpp
index 9d3106829..e917da979 100644
--- a/source/Mobs/Zombiepigman.cpp
+++ b/source/Mobs/Zombiepigman.cpp
@@ -17,15 +17,6 @@ cZombiepigman::cZombiepigman()
-bool cZombiepigman::IsA(const char * a_EntityType)
-{
- return ((strcmp(a_EntityType, "cZombiepigman") == 0) || super::IsA(a_EntityType));
-}
-
-
-
-
-
void cZombiepigman::Tick(float a_Dt)
{
super::Tick(a_Dt);
diff --git a/source/Mobs/Zombiepigman.h b/source/Mobs/Zombiepigman.h
index 02ad21562..929d03241 100644
--- a/source/Mobs/Zombiepigman.h
+++ b/source/Mobs/Zombiepigman.h
@@ -13,9 +13,9 @@ class cZombiepigman :
typedef cPassiveAggressiveMonster super;
public:
- cZombiepigman();
+ cZombiepigman(void);
- virtual bool IsA(const char * a_EntityType) override;
+ CLASS_PROTODEF(cZombiepigman);
virtual void Tick(float a_Dt) override;
virtual void GetDrops(cItems & a_Drops, cPawn * a_Killer = NULL) override;
diff --git a/source/Pawn.cpp b/source/Pawn.cpp
index 8d530abb4..7f6bc2660 100644
--- a/source/Pawn.cpp
+++ b/source/Pawn.cpp
@@ -15,12 +15,6 @@
-CLASS_DEFINITION( cPawn, cEntity )
-
-
-
-
-
cPawn::cPawn(void)
: cEntity( 0, 0, 0 )
, m_Health(1)
@@ -38,15 +32,6 @@ cPawn::cPawn(void)
-cPawn::~cPawn()
-{
- // Nothing needed yet
-}
-
-
-
-
-
void cPawn::Heal(int a_HitPoints)
{
m_Health += a_HitPoints;
diff --git a/source/Pawn.h b/source/Pawn.h
index 8c20ee1e6..5a7ace636 100644
--- a/source/Pawn.h
+++ b/source/Pawn.h
@@ -74,13 +74,14 @@ struct TakeDamageInfo
// tolua_begin
class cPawn :
public cEntity
-{
+{
// tolua_end
+ typedef cEntity super;
+
public:
- CLASS_PROTOTYPE()
+ CLASS_PROTODEF(cPawn);
cPawn(void);
- virtual ~cPawn();
virtual void Tick(float a_Dt) override;
diff --git a/source/Pickup.cpp b/source/Pickup.cpp
index 7ea730708..9dd54c648 100644
--- a/source/Pickup.cpp
+++ b/source/Pickup.cpp
@@ -24,12 +24,6 @@
-CLASS_DEFINITION( cPickup, cEntity )
-
-
-
-
-
cPickup::cPickup(int a_X, int a_Y, int a_Z, const cItem & a_Item, float a_SpeedX /* = 0.f */, float a_SpeedY /* = 0.f */, float a_SpeedZ /* = 0.f */)
: cEntity( ((double)(a_X))/32, ((double)(a_Y))/32, ((double)(a_Z))/32 )
, m_Speed( a_SpeedX, a_SpeedY, a_SpeedZ )
diff --git a/source/Pickup.h b/source/Pickup.h
index 56a34c6a6..88b1fc167 100644
--- a/source/Pickup.h
+++ b/source/Pickup.h
@@ -19,11 +19,9 @@ class cPickup :
{
// tolua_end
typedef cEntity super;
- // tolua_begin
public:
- // tolua_end
- CLASS_PROTOTYPE();
+ CLASS_PROTODEF(cPickup);
cPickup(int a_X, int a_Y, int a_Z, const cItem & a_Item, float a_SpeedX = 0.f, float a_SpeedY = 0.f, float a_SpeedZ = 0.f); //tolua_export
~cPickup(); //tolua_export
diff --git a/source/Player.cpp b/source/Player.cpp
index 9460bfd97..c5779ef5a 100644
--- a/source/Player.cpp
+++ b/source/Player.cpp
@@ -32,12 +32,6 @@
-CLASS_DEFINITION( cPlayer, cPawn );
-
-
-
-
-
cPlayer::cPlayer(cClientHandle* a_Client, const AString & a_PlayerName)
: m_GameMode(eGameMode_NotSet)
, m_IP("")
diff --git a/source/Player.h b/source/Player.h
index a220e8fee..1bc166652 100644
--- a/source/Player.h
+++ b/source/Player.h
@@ -21,6 +21,8 @@ class cClientHandle;
class cPlayer :
public cPawn
{
+ typedef cPawn super;
+
public:
enum
{
@@ -30,7 +32,7 @@ public:
typedef cPawn super;
- CLASS_PROTOTYPE()
+ CLASS_PROTODEF(cPlayer)
cPlayer(cClientHandle * a_Client, const AString & a_PlayerName);
virtual ~cPlayer();