diff --git a/ExtractUserdata.lua b/ExtractUserdata.lua index d460a7922a1d28fdfe07f6e4be24392b7ddbc769..0074aaa84add3a90bf30b2cc9caf2a1cf98362e6 100644 --- a/ExtractUserdata.lua +++ b/ExtractUserdata.lua @@ -6,6 +6,10 @@ local lpeg = require 'lpeg' local err = util.printerr +local manualFieldTypes = { + ['sector_t.ffloors'] = 'fun(): fun(): ffloor_t', +} + local descriptions = { mobj_t = [[ This userdata type represents an Object. In the examples below, mobj is used as the name of the mobj_t variable. An access to a variable var of mobj_t is written as mobj.var. @@ -89,7 +93,7 @@ local function extractUserdataFields(t, userdataName) local name = extractFieldName(row.cells[1]) - local fieldType = extractFieldType(row.cells[2]) + local fieldType = manualFieldTypes[userdataName .. '.' .. name] or extractFieldType(row.cells[2]) if fieldType then local access = util.wikiToMarkdown(row.cells[3].content, 'Userdata_structures') access = 'Accessibility:' .. (access:find('\n') and '\n' or ' ') .. access diff --git a/extractFunction.lua b/extractFunction.lua index d4788a9d47b8bef1ba1e7d705994150f53384402..1fd1cb93b5c11636fa6f1ced2b19a692ffd9dfca 100644 --- a/extractFunction.lua +++ b/extractFunction.lua @@ -21,6 +21,7 @@ local manualReturnTypes = { freeslot = '---@return ... int', reserveLuabanks = '---@return UINT32[]', ['file_t:read'] = '---@return ... any', + ['mobjs.iterate'] = '---@return fun(): mobj_t', } local ignoredFunctions = util.arrayToSet{