Skip to content

Commit

Permalink
Extra experimental c++ module support
Browse files Browse the repository at this point in the history
  • Loading branch information
vallode committed Apr 27, 2024
1 parent b24ace6 commit 5881c9b
Show file tree
Hide file tree
Showing 18 changed files with 496 additions and 245 deletions.
36 changes: 27 additions & 9 deletions dist/library/modules/buildings.lua
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,30 @@

---@class buildings_module
---@field containsTile function
---@field findAtTile function
---@field findCivzonesAt function
---@field getCorrectSize function
---@field findPenPitAt function
dfhack.buildings = {}

---@param pos df.coord
---@return df.building
function dfhack.buildings.findAtTile(pos) end

---@param pvec df.DFVector<building_civzonest>
---@param pos df.coord
---@return boolean
function dfhack.buildings.findCivzonesAt(pvec, pos) end

---@param size df.coord2d
---@param center df.coord2d
---@param type df.building_type
---@param subtype integer
---@param custom integer
---@param direction integer
---@return boolean
function dfhack.buildings.getCorrectSize(size, center, type, subtype, custom, direction) end

---@param coord df.coord
---@return df.building
function dfhack.buildings.findPenPitAt(coord) end

---@param building df.building
---@param type df.general_ref_type
---@return df.general_ref
Expand All @@ -34,12 +52,12 @@ function dfhack.buildings.allocInstance(pos, type, subtype, custom) end
---@param pos df.coord
---@param size df.coord2d
---@param ext df.building_extents
---@param createext boolean|nil
---@param allowoccupied boolean|nil
---@param allowwall boolean|nil
---@param allowflow boolean|nil
---@param create_ext boolean|nil
---@param allow_occupied boolean|nil
---@param allow_wall boolean|nil
---@param allow_flow boolean|nil
---@return boolean
function dfhack.buildings.checkFreeTiles(pos, size, ext, createext, allowoccupied, allowwall, allowflow) end
function dfhack.buildings.checkFreeTiles(pos, size, ext, create_ext, allow_occupied, allow_wall, allow_flow) end

---@param ext df.building_extents
---@param defval integer
Expand Down
16 changes: 7 additions & 9 deletions dist/library/modules/burrows.lua
Original file line number Diff line number Diff line change
Expand Up @@ -4,13 +4,17 @@
---@class burrows_module
---@field isAssignedBlockTile function
---@field setAssignedBlockTile function
---@field listBlocks function
dfhack.burrows = {}

---@param pvec df.DFVector<map_block>
---@param burrow df.burrow
---@return nil
function dfhack.burrows.listBlocks(pvec, burrow) end

---@param name string
---@param ignorefinalplus boolean|nil
---@param ignore_final_plus boolean|nil
---@return df.burrow
function dfhack.burrows.findByName(name, ignorefinalplus) end
function dfhack.burrows.findByName(name, ignore_final_plus) end

---@param burrow df.burrow
---@return nil
Expand All @@ -31,9 +35,3 @@ function dfhack.burrows.setAssignedUnit(burrow, unit, enable) end
---@return nil
function dfhack.burrows.clearTiles(burrow) end

---@return unknown
function dfhack.burrows.isAssignedTile(...) end

---@return unknown
function dfhack.burrows.setAssignedTile(...) end

15 changes: 11 additions & 4 deletions dist/library/modules/constructions.lua
Original file line number Diff line number Diff line change
Expand Up @@ -2,16 +2,23 @@
---@meta

---@class constructions_module
---@field designateRemove function
---@field findAtTile function
dfhack.constructions = {}

---@param pos df.coord
---@param immediate boolean|nil
---@return boolean
function dfhack.constructions.designateRemove(pos, immediate) end

---@param pos df.coord
---@return df.ruction
function dfhack.constructions.findAtTile(pos) end

---@param pos df.coord
---@param type df.construction_type
---@param item df.item_type
---@param matindex integer
---@param mat_index integer
---@return boolean
function dfhack.constructions.designateNew(pos, type, item, matindex) end
function dfhack.constructions.designateNew(pos, type, item, mat_index) end

---@param constr df.construction
---@return boolean
Expand Down
5 changes: 4 additions & 1 deletion dist/library/modules/designations.lua
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,12 @@
---@meta

---@class designations_module
---@field getPlantDesignationTile function
dfhack.designations = {}

---@param plant df.plant
---@return df.coord
function dfhack.designations.getPlantDesignationTile(plant) end

---@param plant df.plant
---@return boolean
function dfhack.designations.markPlant(plant) end
Expand Down
32 changes: 16 additions & 16 deletions dist/library/modules/dfhack.lua
Original file line number Diff line number Diff line change
Expand Up @@ -13,41 +13,41 @@
---@field gitXmlMatch function
---@field isRelease function
---@field isPrerelease function
---@field getCommandHistory function
dfhack = {}

---@param state df.lua_State
---@return integer
function dfhack.getCommandHistory(state) end

---@return string
function dfhack.getOSType(...) end
function dfhack.getOSType() end

---@return integer
function dfhack.getArchitecture(...) end
function dfhack.getArchitecture() end

---@return string
function dfhack.getArchitectureName(...) end
function dfhack.getArchitectureName() end

---@return string
function dfhack.getDFVersion(...) end
function dfhack.getDFVersion() end

---@return string
function dfhack.getDFPath(...) end
function dfhack.getDFPath() end

---@return integer
function dfhack.getTickCount(...) end
function dfhack.getTickCount() end

---@return string
function dfhack.getHackPath(...) end
function dfhack.getHackPath() end

---@return boolean
function dfhack.isWorldLoaded(...) end
function dfhack.isWorldLoaded() end

---@return boolean
function dfhack.isMapLoaded(...) end
function dfhack.isMapLoaded() end

---@return boolean
function dfhack.isSiteLoaded(...) end

---@return unknown
function dfhack.TranslateName(...) end
function dfhack.isSiteLoaded() end

---@param s string
---@return string
Expand Down Expand Up @@ -78,8 +78,8 @@ function dfhack.toSearchNormalized(s) end
function dfhack.capitalizeStringWords(s) end

---@param id string
---@param srcfile string
---@param src_file string
---@param command string
---@return nil
function dfhack.addCommandToHistory(id, srcfile, command) end
function dfhack.addCommandToHistory(id, src_file, command) end

30 changes: 16 additions & 14 deletions dist/library/modules/filesystem.lua
Original file line number Diff line number Diff line change
Expand Up @@ -2,18 +2,29 @@
---@meta

---@class filesystem_module
---@field listdir function
---@field listdir_recursive function
dfhack.filesystem = {}

---@param dir string
---@param files df.DFVector<std::string>
---@return integer
function dfhack.filesystem.listdir(dir, files) end

---@param dir string
---@param std::map<std::string df.
---@param files df.bool>
---@param / df.int depth / = 10
---@param / df.bool include_prefix / = true
---@return integer
function dfhack.filesystem.listdir_recursive(dir, std::map<std::string, files, /, /) end

---@return string
function dfhack.filesystem.getcwd(...) end
function dfhack.filesystem.getcwd() end

---@return boolean
function dfhack.filesystem.restore_cwd(...) end
function dfhack.filesystem.restore_cwd() end

---@return string
function dfhack.filesystem.get_initial_cwd(...) end
function dfhack.filesystem.get_initial_cwd() end

---@param path string
---@return boolean
Expand Down Expand Up @@ -43,12 +54,3 @@ function dfhack.filesystem.isfile(path) end
---@return boolean
function dfhack.filesystem.isdir(path) end

---@return unknown
function dfhack.filesystem.atime(...) end

---@return unknown
function dfhack.filesystem.ctime(...) end

---@return unknown
function dfhack.filesystem.mtime(...) end

108 changes: 85 additions & 23 deletions dist/library/modules/gui.lua
Original file line number Diff line number Diff line change
Expand Up @@ -4,30 +4,91 @@
---@class gui_module
---@field addCombatReport function
---@field addCombatReportAuto function
---@field makeAnnouncement function
---@field showAnnouncement function
---@field showZoomAnnouncement function
---@field showPopupAnnouncement function
---@field showAutoAnnouncement function
---@field autoDFAnnouncement function
---@field getDwarfmodeViewDims function
---@field pauseRecenter function
---@field revealInDwarfmodeMap function
---@field getMousePos function
---@field getFocusStrings function
---@field getCurFocus function
---@field getWidget function
---@field getWidgetChildren function
dfhack.gui = {}

---@param skipdismissed boolean|nil
---@param type df.announcement_type
---@param flags df.announcement_flags
---@param pos df.coord
---@param message string
---@param color integer
---@param bright boolean|nil
---@return integer
function dfhack.gui.makeAnnouncement(type, flags, pos, message, color, bright) end

---@param message string
---@param color integer
---@param bright boolean|nil
---@return nil
function dfhack.gui.showAnnouncement(message, color, bright) end

---@param type df.announcement_type
---@param pos df.coord
---@param message string
---@param color integer
---@param bright boolean|nil
---@return nil
function dfhack.gui.showZoomAnnouncement(type, pos, message, color, bright) end

---@param message string
---@param color integer
---@param bright boolean|nil
---@return nil
function dfhack.gui.showPopupAnnouncement(message, color, bright) end

---@param type df.announcement_type
---@param pos df.coord
---@param message string
---@param color integer
---@param bright boolean|nil
---@param unit_a df.unit
---@param unit_d df.unit
---@return nil
function dfhack.gui.showAutoAnnouncement(type, pos, message, color, bright, unit_a, unit_d) end

---@param info df.announcement_infost
---@param message string
---@return boolean
function dfhack.gui.autoDFAnnouncement(info, message) end

---@return df.Gui::DwarfmodeDims
function dfhack.gui.getDwarfmodeViewDims() end

---@param x number
---@param y number
---@param z number
---@param pause boolean|nil
---@return boolean
function dfhack.gui.pauseRecenter(x, y, z, pause) end

---@param x number
---@param y number
---@param z number
---@param center boolean|nil
---@param highlight boolean|nil
---@return boolean
function dfhack.gui.revealInDwarfmodeMap(x, y, z, center, highlight) end

---@param allow_out_of_bounds boolean|nil
---@return df.coord
function dfhack.gui.getMousePos(allow_out_of_bounds) end

---@param top df.viewscreen
---@return df.DFVector<std::string>
function dfhack.gui.getFocusStrings(top) end

---@param container df.widget_container
---@param name string
---@return df.widget
function dfhack.gui.getWidget(container, name) end

---@param skip_dismissed boolean|nil
---@return df.viewscreen
function dfhack.gui.getCurViewscreen(skipdismissed) end
function dfhack.gui.getCurViewscreen(skip_dismissed) end

---@param skipdismissed boolean|nil
---@param skip_dismissed boolean|nil
---@param screen df.viewscreen
---@return df.viewscreen
function dfhack.gui.getDFViewscreen(skipdismissed, screen) end
function dfhack.gui.getDFViewscreen(skip_dismissed, screen) end

---@param quiet boolean|nil
---@return df.job
Expand All @@ -53,9 +114,10 @@ function dfhack.gui.getSelectedBuilding(quiet) end
---@return df.building_civzonest
function dfhack.gui.getSelectedCivZone(quiet) end

---@param out df.color_ostream
---@param quiet boolean|nil
---@return df.building_stockpilest
function dfhack.gui.getSelectedStockpile(quiet) end
function dfhack.gui.getSelectedStockpile(out, quiet) end

---@param quiet boolean|nil
---@return df.plant
Expand Down Expand Up @@ -102,18 +164,18 @@ function dfhack.gui.writeToGamelog(message) end
function dfhack.gui.resetDwarfmodeView(pause) end

---@return boolean
function dfhack.gui.refreshSidebar(...) end
function dfhack.gui.refreshSidebar() end

---@return boolean
function dfhack.gui.inRenameBuilding(...) end
function dfhack.gui.inRenameBuilding() end

---@param x number
---@param y number
---@return integer
function dfhack.gui.getDepthAt(x, y) end

---@param focusstring string
---@param focus_string string
---@param top df.viewscreen
---@return boolean
function dfhack.gui.matchFocusString(focusstring, top) end
function dfhack.gui.matchFocusString(focus_string, top) end

Loading

0 comments on commit 5881c9b

Please sign in to comment.