Age | Commit message (Collapse) | Author |
|
and update dropdown to match
|
|
|
|
|
|
|
|
The code to save the loaded module was using the wrong key.
|
|
|
|
Push throwing Lua errors down into LLRequireResolver::findModule() and
findModuleImpl() so their callers don't have to handle the error case. That
eliminates finishrequire().
require() itself now only retrieves (and pops) the passed module name and
calls LLRequireResolver::resolveRequire() to do the actual work.
resolveRequire() is now void. It only instantiates LLRequireResolver and calls
its findModule().
findModule() is now also void. It's guaranteed to either push the loaded Lua
module or throw a Lua error. In particular, when findPathImpl() cannot find
the specified module, findModule() throws an error. That replaces
ModuleStatus::NotFound.
Since std::filesystem::path::append() aka operator/() detects when its right
operand is absolute and, in that case, discards the left operand, we no longer
need resolveAndStoreDefaultPaths(): we can just invoke that operation inline.
When findModule() pushes _MODULES on the Lua stack, it uses LuaRemover (below)
to ensure that _MODULES is removed again no matter how findModules() exits.
findModuleImpl() now accepts the candidate pathname as its argument. That
eliminates mAbsolutePath.
findModuleImpl() now returns only bool: true means the module was found and
loaded and pushed on the Lua stack, false means not found and nothing was
pushed; no return means an error was reported.
Push running a newly found module's source file down into findModuleImpl().
That eliminates the distinction between Cached and FileRead, which obviates
ModuleStatus: a bool return means either "previously cached" or "we read it,
compiled it, loaded it and ran it." That also eliminates the need to store the
module's textual content in mSourceCode.
Similarly, once loading the module succeeds, findModuleImpl() caches it in
_MODULES right away. That eliminates ResolvedRequire since we need not pass
the full pathname of the found module (or its contents) back up through the
call chain.
Move require() code that runs the new module into private runModule() method,
called by findModuleImpl() in the not-cached case. runModule() is the only
remaining method that can push either a string error message or the desired
module, because of its funny stack manipulations. That means the check for a
string error message on the stack top can move down to findModuleImpl().
Add LuaRemover class to ensure that on exit from some particular C++ block,
the specified Lua stack entry will definitely be removed. This is different
from LuaPopper in that it engages lua_remove() rather than lua_pop().
Also ditch obsolete await_event() Lua entry point.
|
|
Disable copy assignment operator as well as copy constructor.
Use std::uncaught_exceptions() in destructor to report whether there's an
in-flight exception at block exit. Since that was the whole point of the
DEBUGIN / DEBUGEND macros, those become obsolete. Ditch them and their
existing invocations.
|
|
instead of the branch that got pulled.
|
|
|
|
all probes can benefit from the same blending functions.
|
|
|
|
|
|
|
|
#682 First mirrors optimization pass
|
|
geenz/mirrors-optimization-pass-1
|
|
Initial require implementation
|
|
|
|
Generate release notes from tag `release` to the built tag.
|
|
|
|
instead of on the current tag 7.1.2-release.
|
|
|
|
This should (!) allow us to generate full release notes relative to the
previous viewer release, instead of letting action-gh-release guess
incorrectly.
Also try again to add to the release page a back-link to the specific build.
|
|
probes going off the rails -- sanity clamp sky glow (#893)
|
|
|
|
|
|
|
|
Using github.ref as action-gh-release's target_commitish produces:
⚠️ GitHub release failed with status: 422
[{"resource":"Release","code":"invalid","field":"target_commitish"}]
|
|
Also try to cross-reference release page and build page.
|
|
|
|
the hero probe manager. If we're already in the list, this will return false.
|
|
|
|
#682 Improve the conservative update functionality for mirror faces. Make it attenuate depending on how much the camera is facing that specific cubemap face.
|
|
|
|
update the "low priority" faces at half of the the probe update rate. Useful for less planar reflection geometry.
|
|
geenz/mirrors-optimization-pass-1
|
|
|
|
|
|
Fixes for some shader compilation failures on mac.
|
|
* conditional compilation should use #ifdef
* layout keywords need to be lowercase
|
|
Note that crash happened when setting LLProgressView::setMessage
|
|
|
|
|
|
Lua listen_events(), await_event() => get_event_pumps(), get_event_next().
|
|
debug.h #defines a couple of macros intended to enclose the entire body of a
function to track its entry and (possibly exceptional) exit. The trouble is
that these macros used to be called BEGIN and END, which is far too generic --
especially considering that END is used as an enum value in some parts of the
viewer.
Rename them DEBUGIN and DEBUGEND, which is ugly but unlikely to collide with
anything else.
|
|
Since print() writes to cerr, we used to be able to use it only in test
programs. Making the cerr writes conditional on LL_TEST allows us to use it
for debugging the code under test as well, since in the normal viewer the
cerr statements vanish.
|
|
All Debug constructor args are concatenated using stringize().
|
|
|
|
|
|
|