SyntaxWarning: assertion is always true, perhaps remove parentheses?
assert is a keyword, not a function, and using it with parentheses
ends up being interpreted as a tuple argument (truthy) rather than a
boolean assertion and a message
If we're given a flat convex hull, we should *only* export the triangle
mesh. The convex hull setting is no longer relevant, and we should
discontinue that code path. Without this return statement, the convex
hull's vertices overwrite the triangle mesh's vertices, but the triangle
mesh indices remain. This can unlease an even worse variety of Satan
that will crash the gane.
The modifier was originally written with the assumption that exactly one
modifier controlled exactly one page. Of course, artists began using
multiple Note Popup modifiers to show the same GUI page in multiple
places. So, be sure that we only export the GUI objects once.
For some reason, this modifier is disabling facing in its own Burger
King type way. This apparently worked before, but, now that angles are
being exported correctly, this breaks things in game. So, don't export
any facing conditions at all.
Weird feature request by artists. Korman's lighting equation selection
looks like it should work fine with this, though. The key is to be sure
that we don't pick up a stale autocolor layer.
* Removed the `OrderedDict`s
* Changed some stuff from the code review
* Fixed a typo
* Added these imports: `from __future__ import annotations`
and `from typing import *`
* Moved `from __future__ import annotations` to the top.
* Changed type annotation `any`s to `Any`
This new python file modifier will disable all entry camera regions when
the local player links in. That will prevent spurious entry cameras
being used if there are multiple spawn points in the Age with entry
cameras.
This is a 1:1 implementation of how entry cameras are implemented in
Doobes' Ages. The problem with this is that it assumes there is a single
link-in point that we will always link into.
the `pre_export_optional_cube_region` function is a decent idea, but it
predates the ability to do things like `foo = yield bar()` in
`pre_export()` generator methods. So, we remove it in favor of yielding
and assigning in one line. This should clean up some noisy warnings from
Blender after the export is over.
Both the facing target conditional and object in volume and facing
detector store the cosine of the angle. We were only doing the cosine
for one case but not the other.
GUI Dialog Mods don't require any particular object type - they're just
hints about what's going on with the GUI. Limiting them to meshes
actually breaks the Note Popup modifier, which attaches a GUI Dialog
modifier to an empty.
The helpers added in #367 are great, but they don't quite match up with
what's being done here. Maybe that's why I neglected to convert this
over to the new thing. Anywho, just use the closest newflangled match.
The `_sound_name` field does not include the channel suffix (eg `:L` and
`:R`), so this would explode when attempting to control a stereo sound
that has been split into mono channels.
This means you can't add VisRegions to your GUI pages. You also can't
make an empty object be a panic link region. Those kinds of things just
don't make sense.
* Fix CubeMap Bug
* Adds a sanity check that raises an error if a CubeMap doesn't have an image.
* Refine coding
* Adjust a few things per Hoikas' suggestion
* Update korman/exporter/material.py
Fix line of code per Hoikas' suggestion
Co-authored-by: Adam Johnson <AdamJohnso@gmail.com>
* Update korman/exporter/material.py
---------
Co-authored-by: Adam Johnson <AdamJohnso@gmail.com>