Actually, I beg to differ. (Edit: I think you might have edited your post before I got finished with mine, or I didnât read through yours all the way.) The way the Lua bindings work, you can bind a C function to a Lua global âname,â so that Lua can call a C function.
Iâd imagine that the â-campaignâ flag in the command line basically creates that CampaignButton function in the C side of the program. (I just confirmed that the HW2 Ascension campaign is only accessible via (Update)HW2Campaign.big, and that the only way to load that big file is through the â-campaign ascensionâ flag.)
Since in normal operation, that function is never bound on the C side of the program into the Lua global namespace, that call in âexbuttons.luaâ returns a nil value (as expected), which then binds a function called âCampainButtonâ into the Lua global namespace from the Lua side.
This is mostly just speculation, but I feel pretty confident in my assumptions. Iâm sure @BitVenom (or another dev) could confirm.
Edit: Iâm doing quite a bit of C-Lua binding research in my work of creating an updated FXTool; hence my confidence.




