4
4
mirror of https://github.com/H-uru/korman.git synced 2025-07-13 18:17:38 -04:00
Commit Graph

1056 Commits

Author SHA1 Message Date
3d833153db Pass the blockRGB argument to xDynTextLoc in the Localized Text
Modifier.

Doing this greatly improves the result of the text rendered to the
dynamic text map when alpha blending is in use.
2023-06-11 18:02:09 -04:00
e91046888c Fix SourceForce related CI failures. 2023-04-09 19:48:22 -04:00
cb770cf638 Add type hints to the Korman ResMgr. 2023-04-08 22:16:30 -04:00
0d892fd387 Merge pull request #364 from Hoikas/stereize
Improve 3D stereo sound emitters.
2023-04-07 17:16:25 -04:00
96221308c5 Warn about controlling 3D Stereo sounds. 2023-04-07 17:01:37 -04:00
6afa39e94a Improve 3D stereo sound emitters.
In an attempt to address #359, I separated 3D stereo sounds into
separate emitter scene objects and allow the engine to position them
around the listener such that the left channel is actually on the left
of the listener (and the same for the right channel). Unfortunately,
this did not fix the bug in question. However, the code that interfaces
with sounds from the outside is now much simpler, and the improved
behavior is a win, IMO, so let's keep this.
2023-04-07 16:56:36 -04:00
47a6d8bcde Fix incorrect pretends-to-be-a semantics from #367.
This fixes review comments left on #367 that were caused by missing
pretends-to-be-a semantics. `BMeshObject` is intended to provide
pass-through access to `bpy.types.Object`'s attributes.
2023-04-05 23:28:17 -04:00
17c6b6dce8 Improve handling of ptAttribNamedResponder.
When a responder node is linked to a Python file node's
ptAttribNamedResponder socket, it will now export with the same name as
the node itself. In that way, the responder can be addressed in the
attribute's value mapping in the Python script itself.
2023-04-01 16:47:08 -04:00
ba6c89eb62 Merge pull request #366 from Hoikas/volume_facing
Allow facing detectors for region sensors.
2023-04-01 16:46:34 -04:00
e5eba455f3 Simplify log indentation management.
Previously, the indentation level was hardcoded everywhere. This was
tedious before in that changing the log structure would require changing
many manual indentation values. Now that objects can be trivially
generated at export time, the export code might be much more nested that
before. So, it's better to let indentation be more implicit. This,
therefore, adds a context manager to increase the indentation using
`with` blocks. Manual indentation specification remains for
compatibility with Python 2.2 where required.
2023-04-01 16:44:24 -04:00
d3ed163746 Add type hints to the exporter class.
The import statements had to be modified to avoid name collisions with
the modules and the type hints.
2023-04-01 16:44:07 -04:00
697b932198 Add page types.
This adds a page type distinction. It will primarily be geared toward
things like GUIs and avatar animations. However, for now, we can abuse
it to allow externally created pages, such as those created by PRPShop
hacking (for particles) or from 3dsMax (avatar animations, GUIs, etc.)
to coexist more easily with our Korman-generated .age files.
2023-04-01 16:43:44 -04:00
8c4a08c3e0 Simplify cube region generation code. (#367)
This consolidates a very common bit of LogicWiz modifier boilerplate
into one location for ease of use.
2023-04-01 16:42:04 -04:00
8ebb68a98b Fix Sound Message Nodes crashing the exporter. (#368)
If a sound message was being sent to a random sound modifier, the
responder tree might crash on export. This fixes that particular problem
and adds a mitigation to the responder code itself. Remember kids that,
in Python `None and True` is `None`...
2023-03-29 20:32:56 -04:00
6ccc51075d Fix #360.
This allows Region Sensor nodes to export
`plObjectInVolumeAndFacingDetector`, which only triggers the region
sensor when an avatar is in the region, facing a certain direction
(within a tolerance amount), and (optionally) moving forward.

BREAKING CHANGE: The Facing Target node can now only link to a single
condition node.
2023-03-18 22:06:53 -04:00
e5695178e0 Ensure that input sockets are available when calling
`find_input_socket()`.

It's possible that we may want to address input sockets before the
Node's `update()` method is called. In that case, we need to initialize
the socket ourselves. This is most likely to happen if you're doing
something gnawty in a Node's `init()` method.
2023-03-18 22:06:53 -04:00
f907d26bf7 Merge pull request #362 from Hazado/DrawLate
Add Late Render Pass
2023-03-07 19:03:45 -05:00
723f49d183 Merge pull request #354 from DoobesURU/TelescopeMod
Telescope Modifier
2023-03-06 21:02:07 -05:00
025bdf4b69 Finish up work on the telescope modifier.
- The object the modifier is on is now the clickable (matches the
  behavior of journals).
- Improved object selector icons.
- Automatically generate a clickable region.
- Alert if no camera is set.
2023-03-05 17:37:56 -05:00
433ce14f39 Some touch ups
* Removed auto_advance and auto_regress as they're not needed
* Nixed facing requirement (scopes don't seem to have/need(?) it
2023-03-05 16:38:10 -05:00
828ed6364c Working out more bugs
* Get MSB nodes closer to what they should be (still some issues)
2023-03-05 16:38:10 -05:00
bf40de581f More Fixes through trial and error
* Found a few mistakes that caused the export to stop
* Changed the region_object to tele_object as the former is already elsewhere in the code.
2023-03-05 16:38:10 -05:00
ce122a344c Fix a few items
* Commit suggestions and fixes from Hoikas
2023-03-05 16:38:10 -05:00
1d10987c43 Telescope Modifier First Commit
Adds properties and UI for a modifier to set up a clickable telescope
2023-03-05 16:38:10 -05:00
59f660a5f0 Fix TypeError in outfile warning message.
These attributes are strings, not paths. It is safe to format with a
path -- paths are implicitly convertible to strings by formatters. We
use a `PurePath` because we only care about getting the string name and
not actually performing any path manipulation.
2023-02-16 14:31:44 -05:00
9989ed2572 requested change
Co-authored-by: Adam Johnson <AdamJohnso@gmail.com>
2023-02-15 20:46:00 -08:00
6bf46e10b1 Update render.py 2023-02-15 18:31:21 -08:00
a3a81f8b32 Setup Late render pass 2023-02-15 14:54:31 -08:00
89ebdae201 Update Actions to silence deprecation warnings. v0.14 2023-01-21 13:09:46 -05:00
cab950421f Update dependency libraries. v0.14-rc1 2023-01-20 20:46:07 -05:00
421f8032c8 Re-fix the TPotS launching race condition.
This was fixed in H-uru/libhsplasma#242 originally, but Win32 APIs seem
to have terrible performance without user mode buffering, which
negatively impacted PRP loading in other tools, such as PRP Shop.
Therefore, the fix was reverted in H-uru/libhsplasma#246. This fixes the
race condition closer to the point of impact using the Win32 stream
introduced by H-uru/libhsplasma#264.
2023-01-18 18:12:01 -05:00
021cb77b1b Fix build.ps1 -Dev.
These tickmarks seem to have been from when this was spread over many
lines. Debunk those because they break the build.
2023-01-16 18:52:20 -05:00
807ab99ae9 Replace not-so-smart characters in journals. 2022-12-11 20:00:04 -05:00
430e29694d Bump to B4K 2022-11-13.
This revision of B4K re-enabled the Cycles Renderer, which was disabled
due to a bug in MSVC when B4K was previously rebuilt for a critical bug
fix.
2022-11-15 20:27:54 -05:00
fbafab6fe6 Merge pull request #340 from Hoikas/fix_338
Fix #338.
2022-11-13 18:36:01 -05:00
21a78d804f Merge pull request #343 from Hoikas/fix_wind_object
Fix potential wind object gotcha.
2022-11-13 18:35:12 -05:00
e49712c799 Merge pull request #347 from DoobesURU/xSitCamMod
Add xSitCam.py functionality to Sitting Modifier
2022-11-13 18:34:56 -05:00
c2a415ceb9 Ensure property name is completely drawn.
The word `(optional)` made the label too long to be drawn, so we remove
it.
2022-11-13 18:15:08 -05:00
6d2ebcafd4 Apply suggestions from Hoikas' code review
Co-authored-by: Adam Johnson <AdamJohnso@gmail.com>
2022-11-13 18:15:08 -05:00
c6a3ec79ff Commit Hoikas' suggestions 2022-11-13 18:15:08 -05:00
348ed7a658 Fix Scene Object (or "object")
* Capital O in "Sceneobject" becomes a small o to get things working!
2022-10-13 12:44:33 -04:00
972bfda37b Add xSitCam.py functionality to Sitting Modifier
Adds new scripting to use xSitCam.py if a camera is selected
2022-10-11 18:56:07 -04:00
50a9b1a025 Merge pull request #341 from Hoikas/fix_331
Fix #331.
2022-07-04 19:24:28 -04:00
bed083e37b Fix #331. 2022-07-04 19:04:56 -04:00
1df6677248 Fix potential wind object gotcha.
If a wind object is *not* animated but rather moved via logic nodes (eg
a Python script), then the previous logic wouldn't allow for the in-game
wind direction to change. It's important to check if the wind object has
a coordinate interface (can it move?) instead of if it's animated (did
the artist move it?).
2022-07-01 09:51:00 -04:00
81d8918657 Merge pull request #336 from Hoikas/collider_fixes
A batch of collider usability improvements.
2022-06-30 21:35:48 -04:00
9f34cba95c Merge pull request #337 from Hoikas/fix_334
Fix #334.
2022-06-30 20:48:47 -04:00
0fe0a0108d Merge pull request #339 from Hoikas/fix_332
Fix #332.
2022-06-30 20:29:16 -04:00
5a102b3e5f Fix #334.
This fixes #334 by sorting everything before writing it out to the
localization file. Note that we need to sort each step along the way
because the nested dicts are not sorted by a call to `sorted()` - it
appears to only sort the key.
2022-06-30 20:24:30 -04:00
927f6b7766 Fix #338. 2022-06-30 20:05:25 -04:00