Skip to content

Commit

Permalink
split plugin lua macros to separate header
Browse files Browse the repository at this point in the history
this will reduce the number of translation units that require the includes from the lua dependency
  • Loading branch information
ab9rf committed Dec 31, 2024
1 parent 9cdfb43 commit e558da1
Show file tree
Hide file tree
Showing 41 changed files with 63 additions and 18 deletions.
1 change: 1 addition & 0 deletions library/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -71,6 +71,7 @@ set(MAIN_HEADERS
include/Module.h
include/MemAccess.h
include/ModuleFactory.h
include/PluginLua.h
include/PluginManager.h
include/PluginStatics.h
include/RemoteClient.h
Expand Down
3 changes: 2 additions & 1 deletion library/VTableInterpose.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -29,8 +29,9 @@ distribution.
#include <vector>
#include <map>

#include "MemAccess.h"
#include "Core.h"
#include "DataFuncs.h"
#include "MemAccess.h"
#include "VersionInfo.h"
#include "VTableInterpose.h"

Expand Down
19 changes: 19 additions & 0 deletions library/include/PluginLua.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
/*
* Additional macros for calling Lua from a plugin
*/

#pragma once

#include "DataFuncs.h"

#define DFHACK_PLUGIN_LUA_COMMANDS \
DFhackCExport const DFHack::CommandReg plugin_lua_commands[] =
#define DFHACK_PLUGIN_LUA_FUNCTIONS \
DFhackCExport const DFHack::FunctionReg plugin_lua_functions[] =
#define DFHACK_PLUGIN_LUA_EVENTS \
DFhackCExport const DFHack::EventReg plugin_lua_events[] =

#define DFHACK_LUA_COMMAND(name) { #name, name }
#define DFHACK_LUA_FUNCTION(name) { #name, df::wrap_function(name,true) }
#define DFHACK_LUA_EVENT(name) { #name, &name##_event }
#define DFHACK_LUA_END { NULL, NULL }
14 changes: 0 additions & 14 deletions library/include/PluginManager.h
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,6 @@ distribution.
#include <vector>

#include "Core.h"
#include "DataFuncs.h"

typedef struct lua_State lua_State;

Expand Down Expand Up @@ -324,19 +323,6 @@ extern "C" { \
DFhackDataExport bool plugin_is_enabled = false; \
bool &varname = plugin_is_enabled;

#define DFHACK_PLUGIN_LUA_COMMANDS \
DFhackCExport const DFHack::CommandReg plugin_lua_commands[] =
#define DFHACK_PLUGIN_LUA_FUNCTIONS \
DFhackCExport const DFHack::FunctionReg plugin_lua_functions[] =
#define DFHACK_PLUGIN_LUA_EVENTS \
DFhackCExport const DFHack::EventReg plugin_lua_events[] =

#define DFHACK_LUA_COMMAND(name) { #name, name }
#define DFHACK_LUA_FUNCTION(name) { #name, df::wrap_function(name,true) }
#define DFHACK_LUA_EVENT(name) { #name, &name##_event }
#define DFHACK_LUA_END { NULL, NULL }


#define REQUIRE_GLOBAL_NO_USE(global_name) \
static int VARIABLE_IS_NOT_USED CONCAT_TOKENS(required_globals_, __LINE__) = \
(plugin_globals->push_back(#global_name), 0);
Expand Down
1 change: 1 addition & 0 deletions plugins/aquifer.cpp
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
#include "Debug.h"
#include "LuaTools.h"
#include "PluginManager.h"
#include "PluginLua.h"
#include "TileTypes.h"

#include "modules/Maps.h"
Expand Down
1 change: 1 addition & 0 deletions plugins/autobutcher.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
#include "Debug.h"
#include "LuaTools.h"
#include "PluginManager.h"
#include "PluginLua.h"

#include "modules/Persistence.h"
#include "modules/Units.h"
Expand Down
1 change: 1 addition & 0 deletions plugins/autochop.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
#include "Debug.h"
#include "LuaTools.h"
#include "PluginManager.h"
#include "PluginLua.h"
#include "TileTypes.h"

#include "modules/Burrows.h"
Expand Down
1 change: 1 addition & 0 deletions plugins/autoclothing.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

#include "Debug.h"
#include "PluginManager.h"
#include "PluginLua.h"

#include "modules/Items.h"
#include "modules/Materials.h"
Expand Down
1 change: 1 addition & 0 deletions plugins/autonestbox.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
#include "Debug.h"
#include "LuaTools.h"
#include "PluginManager.h"
#include "PluginLua.h"

#include "modules/Buildings.h"
#include "modules/Gui.h"
Expand Down
1 change: 1 addition & 0 deletions plugins/blueprint.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@
#include "Debug.h"
#include "LuaTools.h"
#include "PluginManager.h"
#include "PluginLua.h"
#include "TileTypes.h"

#include "modules/Buildings.h"
Expand Down
1 change: 1 addition & 0 deletions plugins/buildingplan/buildingplan.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
#include "Debug.h"
#include "LuaTools.h"
#include "PluginManager.h"
#include "PluginLua.h"

#include "modules/Burrows.h"
#include "modules/World.h"
Expand Down
1 change: 1 addition & 0 deletions plugins/burrow.cpp
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
#include "Debug.h"
#include "LuaTools.h"
#include "PluginManager.h"
#include "PluginLua.h"
#include "TileTypes.h"

#include "modules/Burrows.h"
Expand Down
7 changes: 4 additions & 3 deletions plugins/cxxrandom.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -25,11 +25,12 @@ Updated: Dec. 21 2017
#include <stdio.h>
#include <stdlib.h>

#include "Console.h"
#include "Error.h"
#include "Export.h"
#include "DataFuncs.h"
#include <Console.h>
#include <Export.h>
#include <PluginManager.h>
#include "PluginManager.h"
#include "PluginLua.h"

using namespace DFHack;
DFHACK_PLUGIN("cxxrandom");
Expand Down
2 changes: 2 additions & 0 deletions plugins/design.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,8 @@
#include "Debug.h"
#include "LuaTools.h"
#include "PluginManager.h"
#include "PluginLua.h"

#include "df/graphic_viewportst.h"
#include "df/world.h"
#include "modules/Gui.h"
Expand Down
1 change: 1 addition & 0 deletions plugins/dig-now.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
#include "Debug.h"
#include "LuaTools.h"
#include "PluginManager.h"
#include "PluginLua.h"
#include "TileTypes.h"

#include "modules/Buildings.h"
Expand Down
1 change: 1 addition & 0 deletions plugins/dig.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
#include "LuaTools.h"
#include "MemAccess.h"
#include "PluginManager.h"
#include "PluginLua.h"

#include "modules/EventManager.h"
#include "modules/Gui.h"
Expand Down
1 change: 1 addition & 0 deletions plugins/dwarfvet.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@
#include "Debug.h"
#include "LuaTools.h"
#include "PluginManager.h"
#include "PluginLua.h"

#include "modules/Persistence.h"
#include "modules/Units.h"
Expand Down
1 change: 1 addition & 0 deletions plugins/eventful.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
#include "LuaTools.h"
#include "MiscUtils.h"
#include "PluginManager.h"
#include "PluginLua.h"
#include "VTableInterpose.h"

#include "df/building.h"
Expand Down
1 change: 1 addition & 0 deletions plugins/fix-occupancy.cpp
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
#include "Debug.h"
#include "LuaTools.h"
#include "PluginManager.h"
#include "PluginLua.h"

#include "modules/Buildings.h"
#include "modules/Maps.h"
Expand Down
1 change: 1 addition & 0 deletions plugins/hotkeys.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
#include "Debug.h"
#include "LuaTools.h"
#include "PluginManager.h"
#include "PluginLua.h"

DFHACK_PLUGIN("hotkeys");

Expand Down
1 change: 1 addition & 0 deletions plugins/infinite-sky.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
#include "Debug.h"
#include "LuaTools.h"
#include "PluginManager.h"
#include "PluginLua.h"

#include "modules/EventManager.h"
#include "modules/Maps.h"
Expand Down
1 change: 1 addition & 0 deletions plugins/liquids.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@
#include "Export.h"
#include "LuaTools.h"
#include "PluginManager.h"
#include "PluginLua.h"
#include "TileTypes.h"

#include "modules/Gui.h"
Expand Down
1 change: 1 addition & 0 deletions plugins/logistics.cpp
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
#include "Debug.h"
#include "LuaTools.h"
#include "PluginManager.h"
#include "PluginLua.h"

#include "modules/Buildings.h"
#include "modules/Job.h"
Expand Down
1 change: 1 addition & 0 deletions plugins/luasocket.cpp
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
#include "Console.h"
#include "Export.h"
#include "PluginManager.h"
#include "PluginLua.h"
#include "DataDefs.h"

#include <vector>
Expand Down
1 change: 1 addition & 0 deletions plugins/misery.cpp
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
#include "Debug.h"
#include "LuaTools.h"
#include "PluginManager.h"
#include "PluginLua.h"

#include "modules/Persistence.h"
#include "modules/Units.h"
Expand Down
1 change: 1 addition & 0 deletions plugins/overlay.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@
#include "LuaTools.h"
#include "MemAccess.h"
#include "PluginManager.h"
#include "PluginLua.h"
#include "VTableInterpose.h"

#include "modules/Gui.h"
Expand Down
1 change: 1 addition & 0 deletions plugins/pathable.cpp
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
#include "Debug.h"
#include "Error.h"
#include "PluginManager.h"
#include "PluginLua.h"
#include "TileTypes.h"

#include "df/building_type.h"
Expand Down
1 change: 1 addition & 0 deletions plugins/plant.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
#include "Error.h"
#include "LuaTools.h"
#include "PluginManager.h"
#include "PluginLua.h"
#include "TileTypes.h"

#include "modules/Gui.h"
Expand Down
1 change: 1 addition & 0 deletions plugins/preserve-rooms.cpp
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
#include "Debug.h"
#include "LuaTools.h"
#include "PluginManager.h"
#include "PluginLua.h"

#include "modules/Buildings.h"
#include "modules/EventManager.h"
Expand Down
1 change: 1 addition & 0 deletions plugins/prospector.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
#include "Export.h"
#include "LuaTools.h"
#include "PluginManager.h"
#include "PluginLua.h"
#include "MiscUtils.h"
#include "DataDefs.h"

Expand Down
1 change: 1 addition & 0 deletions plugins/regrass.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
#include "Error.h"
#include "LuaTools.h"
#include "PluginManager.h"
#include "PluginLua.h"
#include "TileTypes.h"

#include "modules/Gui.h"
Expand Down
1 change: 1 addition & 0 deletions plugins/reveal.cpp
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
#include "PluginManager.h"
#include "PluginLua.h"
#include "TileTypes.h"

#include "modules/EventManager.h"
Expand Down
1 change: 1 addition & 0 deletions plugins/seedwatch.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
#include "Debug.h"
#include "LuaTools.h"
#include "PluginManager.h"
#include "PluginLua.h"
#include "TileTypes.h"

#include "modules/Items.h"
Expand Down
1 change: 1 addition & 0 deletions plugins/sort.cpp
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
#include "Debug.h"
#include "LuaTools.h"
#include "PluginManager.h"
#include "PluginLua.h"

#include "modules/Gui.h"
#include "modules/Units.h"
Expand Down
1 change: 1 addition & 0 deletions plugins/stockpiles/stockpiles.cpp
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
#include "Debug.h"
#include "LuaTools.h"
#include "PluginManager.h"
#include "PluginLua.h"
#include "StockpileUtils.h"
#include "StockpileSerializer.h"

Expand Down
1 change: 1 addition & 0 deletions plugins/suspendmanager.cpp
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
#include "Debug.h"
#include "LuaTools.h"
#include "PluginManager.h"
#include "PluginLua.h"
#include "TileTypes.h"

#include "modules/Buildings.h"
Expand Down
1 change: 1 addition & 0 deletions plugins/tailor.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
#include "Debug.h"
#include "LuaTools.h"
#include "PluginManager.h"
#include "PluginLua.h"

#include "modules/Materials.h"
#include "modules/Persistence.h"
Expand Down
1 change: 1 addition & 0 deletions plugins/tiletypes.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,7 @@ using std::set;
#include "Export.h"
#include "LuaTools.h"
#include "PluginManager.h"
#include "PluginLua.h"
#include "TileTypes.h"

#include "modules/Gui.h"
Expand Down
1 change: 1 addition & 0 deletions plugins/timestream.cpp
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
#include "Debug.h"
#include "LuaTools.h"
#include "PluginManager.h"
#include "PluginLua.h"

#include "modules/EventManager.h"
#include "modules/Items.h"
Expand Down
1 change: 1 addition & 0 deletions plugins/tweak/tweak.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@

#include "LuaTools.h"
#include "PluginManager.h"
#include "PluginLua.h"
#include "VTableInterpose.h"

DFHACK_PLUGIN("tweak");
Expand Down
1 change: 1 addition & 0 deletions plugins/xlsxreader.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
#include "Error.h"
#include "LuaTools.h"
#include "PluginManager.h"
#include "PluginLua.h"
#include "PluginStatics.h"

using namespace DFHack;
Expand Down

0 comments on commit e558da1

Please sign in to comment.