Skip to content

Commit 5881c9b

Browse files
committed
Extra experimental c++ module support
1 parent b24ace6 commit 5881c9b

File tree

18 files changed

+496
-245
lines changed

18 files changed

+496
-245
lines changed

dist/library/modules/buildings.lua

Lines changed: 27 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,30 @@
33

44
---@class buildings_module
55
---@field containsTile function
6-
---@field findAtTile function
7-
---@field findCivzonesAt function
8-
---@field getCorrectSize function
9-
---@field findPenPitAt function
106
dfhack.buildings = {}
117

8+
---@param pos df.coord
9+
---@return df.building
10+
function dfhack.buildings.findAtTile(pos) end
11+
12+
---@param pvec df.DFVector<building_civzonest>
13+
---@param pos df.coord
14+
---@return boolean
15+
function dfhack.buildings.findCivzonesAt(pvec, pos) end
16+
17+
---@param size df.coord2d
18+
---@param center df.coord2d
19+
---@param type df.building_type
20+
---@param subtype integer
21+
---@param custom integer
22+
---@param direction integer
23+
---@return boolean
24+
function dfhack.buildings.getCorrectSize(size, center, type, subtype, custom, direction) end
25+
26+
---@param coord df.coord
27+
---@return df.building
28+
function dfhack.buildings.findPenPitAt(coord) end
29+
1230
---@param building df.building
1331
---@param type df.general_ref_type
1432
---@return df.general_ref
@@ -34,12 +52,12 @@ function dfhack.buildings.allocInstance(pos, type, subtype, custom) end
3452
---@param pos df.coord
3553
---@param size df.coord2d
3654
---@param ext df.building_extents
37-
---@param createext boolean|nil
38-
---@param allowoccupied boolean|nil
39-
---@param allowwall boolean|nil
40-
---@param allowflow boolean|nil
55+
---@param create_ext boolean|nil
56+
---@param allow_occupied boolean|nil
57+
---@param allow_wall boolean|nil
58+
---@param allow_flow boolean|nil
4159
---@return boolean
42-
function dfhack.buildings.checkFreeTiles(pos, size, ext, createext, allowoccupied, allowwall, allowflow) end
60+
function dfhack.buildings.checkFreeTiles(pos, size, ext, create_ext, allow_occupied, allow_wall, allow_flow) end
4361

4462
---@param ext df.building_extents
4563
---@param defval integer

dist/library/modules/burrows.lua

Lines changed: 7 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -4,13 +4,17 @@
44
---@class burrows_module
55
---@field isAssignedBlockTile function
66
---@field setAssignedBlockTile function
7-
---@field listBlocks function
87
dfhack.burrows = {}
98

9+
---@param pvec df.DFVector<map_block>
10+
---@param burrow df.burrow
11+
---@return nil
12+
function dfhack.burrows.listBlocks(pvec, burrow) end
13+
1014
---@param name string
11-
---@param ignorefinalplus boolean|nil
15+
---@param ignore_final_plus boolean|nil
1216
---@return df.burrow
13-
function dfhack.burrows.findByName(name, ignorefinalplus) end
17+
function dfhack.burrows.findByName(name, ignore_final_plus) end
1418

1519
---@param burrow df.burrow
1620
---@return nil
@@ -31,9 +35,3 @@ function dfhack.burrows.setAssignedUnit(burrow, unit, enable) end
3135
---@return nil
3236
function dfhack.burrows.clearTiles(burrow) end
3337

34-
---@return unknown
35-
function dfhack.burrows.isAssignedTile(...) end
36-
37-
---@return unknown
38-
function dfhack.burrows.setAssignedTile(...) end
39-

dist/library/modules/constructions.lua

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,16 +2,23 @@
22
---@meta
33

44
---@class constructions_module
5-
---@field designateRemove function
6-
---@field findAtTile function
75
dfhack.constructions = {}
86

7+
---@param pos df.coord
8+
---@param immediate boolean|nil
9+
---@return boolean
10+
function dfhack.constructions.designateRemove(pos, immediate) end
11+
12+
---@param pos df.coord
13+
---@return df.ruction
14+
function dfhack.constructions.findAtTile(pos) end
15+
916
---@param pos df.coord
1017
---@param type df.construction_type
1118
---@param item df.item_type
12-
---@param matindex integer
19+
---@param mat_index integer
1320
---@return boolean
14-
function dfhack.constructions.designateNew(pos, type, item, matindex) end
21+
function dfhack.constructions.designateNew(pos, type, item, mat_index) end
1522

1623
---@param constr df.construction
1724
---@return boolean

dist/library/modules/designations.lua

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,12 @@
22
---@meta
33

44
---@class designations_module
5-
---@field getPlantDesignationTile function
65
dfhack.designations = {}
76

7+
---@param plant df.plant
8+
---@return df.coord
9+
function dfhack.designations.getPlantDesignationTile(plant) end
10+
811
---@param plant df.plant
912
---@return boolean
1013
function dfhack.designations.markPlant(plant) end

dist/library/modules/dfhack.lua

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -13,41 +13,41 @@
1313
---@field gitXmlMatch function
1414
---@field isRelease function
1515
---@field isPrerelease function
16-
---@field getCommandHistory function
1716
dfhack = {}
1817

18+
---@param state df.lua_State
19+
---@return integer
20+
function dfhack.getCommandHistory(state) end
21+
1922
---@return string
20-
function dfhack.getOSType(...) end
23+
function dfhack.getOSType() end
2124

2225
---@return integer
23-
function dfhack.getArchitecture(...) end
26+
function dfhack.getArchitecture() end
2427

2528
---@return string
26-
function dfhack.getArchitectureName(...) end
29+
function dfhack.getArchitectureName() end
2730

2831
---@return string
29-
function dfhack.getDFVersion(...) end
32+
function dfhack.getDFVersion() end
3033

3134
---@return string
32-
function dfhack.getDFPath(...) end
35+
function dfhack.getDFPath() end
3336

3437
---@return integer
35-
function dfhack.getTickCount(...) end
38+
function dfhack.getTickCount() end
3639

3740
---@return string
38-
function dfhack.getHackPath(...) end
41+
function dfhack.getHackPath() end
3942

4043
---@return boolean
41-
function dfhack.isWorldLoaded(...) end
44+
function dfhack.isWorldLoaded() end
4245

4346
---@return boolean
44-
function dfhack.isMapLoaded(...) end
47+
function dfhack.isMapLoaded() end
4548

4649
---@return boolean
47-
function dfhack.isSiteLoaded(...) end
48-
49-
---@return unknown
50-
function dfhack.TranslateName(...) end
50+
function dfhack.isSiteLoaded() end
5151

5252
---@param s string
5353
---@return string
@@ -78,8 +78,8 @@ function dfhack.toSearchNormalized(s) end
7878
function dfhack.capitalizeStringWords(s) end
7979

8080
---@param id string
81-
---@param srcfile string
81+
---@param src_file string
8282
---@param command string
8383
---@return nil
84-
function dfhack.addCommandToHistory(id, srcfile, command) end
84+
function dfhack.addCommandToHistory(id, src_file, command) end
8585

dist/library/modules/filesystem.lua

Lines changed: 16 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -2,18 +2,29 @@
22
---@meta
33

44
---@class filesystem_module
5-
---@field listdir function
6-
---@field listdir_recursive function
75
dfhack.filesystem = {}
86

7+
---@param dir string
8+
---@param files df.DFVector<std::string>
9+
---@return integer
10+
function dfhack.filesystem.listdir(dir, files) end
11+
12+
---@param dir string
13+
---@param std::map<std::string df.
14+
---@param files df.bool>
15+
---@param / df.int depth / = 10
16+
---@param / df.bool include_prefix / = true
17+
---@return integer
18+
function dfhack.filesystem.listdir_recursive(dir, std::map<std::string, files, /, /) end
19+
920
---@return string
10-
function dfhack.filesystem.getcwd(...) end
21+
function dfhack.filesystem.getcwd() end
1122

1223
---@return boolean
13-
function dfhack.filesystem.restore_cwd(...) end
24+
function dfhack.filesystem.restore_cwd() end
1425

1526
---@return string
16-
function dfhack.filesystem.get_initial_cwd(...) end
27+
function dfhack.filesystem.get_initial_cwd() end
1728

1829
---@param path string
1930
---@return boolean
@@ -43,12 +54,3 @@ function dfhack.filesystem.isfile(path) end
4354
---@return boolean
4455
function dfhack.filesystem.isdir(path) end
4556

46-
---@return unknown
47-
function dfhack.filesystem.atime(...) end
48-
49-
---@return unknown
50-
function dfhack.filesystem.ctime(...) end
51-
52-
---@return unknown
53-
function dfhack.filesystem.mtime(...) end
54-

dist/library/modules/gui.lua

Lines changed: 85 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -4,30 +4,91 @@
44
---@class gui_module
55
---@field addCombatReport function
66
---@field addCombatReportAuto function
7-
---@field makeAnnouncement function
8-
---@field showAnnouncement function
9-
---@field showZoomAnnouncement function
10-
---@field showPopupAnnouncement function
11-
---@field showAutoAnnouncement function
12-
---@field autoDFAnnouncement function
13-
---@field getDwarfmodeViewDims function
14-
---@field pauseRecenter function
15-
---@field revealInDwarfmodeMap function
16-
---@field getMousePos function
17-
---@field getFocusStrings function
18-
---@field getCurFocus function
19-
---@field getWidget function
20-
---@field getWidgetChildren function
217
dfhack.gui = {}
228

23-
---@param skipdismissed boolean|nil
9+
---@param type df.announcement_type
10+
---@param flags df.announcement_flags
11+
---@param pos df.coord
12+
---@param message string
13+
---@param color integer
14+
---@param bright boolean|nil
15+
---@return integer
16+
function dfhack.gui.makeAnnouncement(type, flags, pos, message, color, bright) end
17+
18+
---@param message string
19+
---@param color integer
20+
---@param bright boolean|nil
21+
---@return nil
22+
function dfhack.gui.showAnnouncement(message, color, bright) end
23+
24+
---@param type df.announcement_type
25+
---@param pos df.coord
26+
---@param message string
27+
---@param color integer
28+
---@param bright boolean|nil
29+
---@return nil
30+
function dfhack.gui.showZoomAnnouncement(type, pos, message, color, bright) end
31+
32+
---@param message string
33+
---@param color integer
34+
---@param bright boolean|nil
35+
---@return nil
36+
function dfhack.gui.showPopupAnnouncement(message, color, bright) end
37+
38+
---@param type df.announcement_type
39+
---@param pos df.coord
40+
---@param message string
41+
---@param color integer
42+
---@param bright boolean|nil
43+
---@param unit_a df.unit
44+
---@param unit_d df.unit
45+
---@return nil
46+
function dfhack.gui.showAutoAnnouncement(type, pos, message, color, bright, unit_a, unit_d) end
47+
48+
---@param info df.announcement_infost
49+
---@param message string
50+
---@return boolean
51+
function dfhack.gui.autoDFAnnouncement(info, message) end
52+
53+
---@return df.Gui::DwarfmodeDims
54+
function dfhack.gui.getDwarfmodeViewDims() end
55+
56+
---@param x number
57+
---@param y number
58+
---@param z number
59+
---@param pause boolean|nil
60+
---@return boolean
61+
function dfhack.gui.pauseRecenter(x, y, z, pause) end
62+
63+
---@param x number
64+
---@param y number
65+
---@param z number
66+
---@param center boolean|nil
67+
---@param highlight boolean|nil
68+
---@return boolean
69+
function dfhack.gui.revealInDwarfmodeMap(x, y, z, center, highlight) end
70+
71+
---@param allow_out_of_bounds boolean|nil
72+
---@return df.coord
73+
function dfhack.gui.getMousePos(allow_out_of_bounds) end
74+
75+
---@param top df.viewscreen
76+
---@return df.DFVector<std::string>
77+
function dfhack.gui.getFocusStrings(top) end
78+
79+
---@param container df.widget_container
80+
---@param name string
81+
---@return df.widget
82+
function dfhack.gui.getWidget(container, name) end
83+
84+
---@param skip_dismissed boolean|nil
2485
---@return df.viewscreen
25-
function dfhack.gui.getCurViewscreen(skipdismissed) end
86+
function dfhack.gui.getCurViewscreen(skip_dismissed) end
2687

27-
---@param skipdismissed boolean|nil
88+
---@param skip_dismissed boolean|nil
2889
---@param screen df.viewscreen
2990
---@return df.viewscreen
30-
function dfhack.gui.getDFViewscreen(skipdismissed, screen) end
91+
function dfhack.gui.getDFViewscreen(skip_dismissed, screen) end
3192

3293
---@param quiet boolean|nil
3394
---@return df.job
@@ -53,9 +114,10 @@ function dfhack.gui.getSelectedBuilding(quiet) end
53114
---@return df.building_civzonest
54115
function dfhack.gui.getSelectedCivZone(quiet) end
55116

117+
---@param out df.color_ostream
56118
---@param quiet boolean|nil
57119
---@return df.building_stockpilest
58-
function dfhack.gui.getSelectedStockpile(quiet) end
120+
function dfhack.gui.getSelectedStockpile(out, quiet) end
59121

60122
---@param quiet boolean|nil
61123
---@return df.plant
@@ -102,18 +164,18 @@ function dfhack.gui.writeToGamelog(message) end
102164
function dfhack.gui.resetDwarfmodeView(pause) end
103165

104166
---@return boolean
105-
function dfhack.gui.refreshSidebar(...) end
167+
function dfhack.gui.refreshSidebar() end
106168

107169
---@return boolean
108-
function dfhack.gui.inRenameBuilding(...) end
170+
function dfhack.gui.inRenameBuilding() end
109171

110172
---@param x number
111173
---@param y number
112174
---@return integer
113175
function dfhack.gui.getDepthAt(x, y) end
114176

115-
---@param focusstring string
177+
---@param focus_string string
116178
---@param top df.viewscreen
117179
---@return boolean
118-
function dfhack.gui.matchFocusString(focusstring, top) end
180+
function dfhack.gui.matchFocusString(focus_string, top) end
119181

0 commit comments

Comments
 (0)