From f0ae08ade3c0e386e137b113e7c611e0750be1c8 Mon Sep 17 00:00:00 2001 From: LJ Sonic <lamr@free.fr> Date: Mon, 25 Mar 2024 19:08:26 +0100 Subject: [PATCH] Fix mobjs.iterate() and sector_t.ffloors() --- ExtractUserdata.lua | 6 +++++- extractFunction.lua | 1 + 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/ExtractUserdata.lua b/ExtractUserdata.lua index d460a79..0074aaa 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 d4788a9..1fd1cb9 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{ -- GitLab