Clean up and prevent unnecessary qualifiers to self

By "unnecessary qualifiers to self", I mean something like using the
'game.' qualifier for a variable on the Game class when you're inside a
function on the Game class itself. This patch is to enforce consistency
as most of the code doesn't have these unnecessary qualifiers.

To prevent further unnecessary qualifiers to self, I made it so the
extern in each header file can be omitted by using a define. That way,
if someone writes something referring to 'game.' on a Game function,
there will be a compile error.

However, if you really need to have a reference to the global name, and
you're within the same .cpp file as the implementation of that object,
you can just do the extern at the function-level. A good example of this
is editorinput()/editorrender()/editorlogic() in editor.cpp. In my
opinion, they should probably be split off into their own separate file
because editor.cpp is getting way too big, but this will do for now.
This commit is contained in:
Misa
2020-09-27 19:15:06 -07:00
committed by Ethan Lee
parent 571ad1f7d8
commit cbceeccf78
18 changed files with 81 additions and 34 deletions

View File

@@ -10,8 +10,22 @@
#include "BlockV.h"
#include "Game.h"
#define removeentity_iter(index) { if (obj.removeentity(index)) index--; }
#define removeblock_iter(index) { obj.removeblock(index); index--; }
#define removeentity_iter(index) \
do \
{ \
extern entityclass obj; \
if (obj.removeentity(index)) \
{ \
index--; \
} \
} while (false)
#define removeblock_iter(index) \
do \
{ \
extern entityclass obj; \
obj.removeblock(index); \
index--; \
} while (false)
enum
{
@@ -193,6 +207,8 @@ public:
bool customcrewmoods[Game::numcrew];
};
#ifndef OBJ_DEFINITION
extern entityclass obj;
#endif
#endif /* ENTITY_H */