4
4
mirror of https://github.com/H-uru/korman.git synced 2025-07-14 10:27:36 -04:00
Commit Graph

750 Commits

Author SHA1 Message Date
465611650d Merge pull request #156 from Hoikas/nodes
Make node trees reusable.
2019-10-24 19:09:26 -04:00
9f450d0bdb Make node trees reusable.
Previously, reusing node trees required careful thought and
specification of specific nodes in the advanced logic modifier. This
tedious requirement has been removed in favor of ensuring that the nodes
themselves take into account whether or not they should generate and
attach plasma objects.
2019-10-24 14:56:45 -04:00
aabc87f1c5 Implement MOULa GatherBuild JSON file.
The JSON file now exported with MOUL zip packages is compliant with the
format required for prebuilt asset submissions to the Cyan MOULa Shard.
2019-10-24 14:55:19 -04:00
9dbd66204d Fix spurious responder wait generation.
This fixes an issue in which responders would get "stuck" at the end if
the last message had callbacks AND the responder was not attached to a
Python node.
2019-10-23 21:58:50 -04:00
667bf0fb29 Merge pull request #152 from Hoikas/nodes
Node Improvements
2019-10-23 18:13:27 -04:00
a10abbabbc Allow creation of Python File nodes.
Known limitation: python files must be loaded into blender's memory to
be suggested.
2019-10-22 22:55:08 -04:00
a65ed152fd Add node create+link operator.
Inspired by Unreal Blueprint's drag link+create list functionality. I
realize Blender has a few operators that do different parts of this job,
but they don't provide this well-polished functionality.
2019-10-22 19:38:20 -04:00
bb40890a67 Improve logic node actor harvesting.
"Improve" is not quite the correct verbiage here because there were bugs
in the old code. The main issue is that any SceneObject with a
plPythonFileMod attached MUST have a CoordinateInterface attached,
otherwise the object would be invisible in game. Further, there were
some unreported oversights with regard to auto-generated modifiers that
have been fixed.
2019-10-21 17:34:23 -04:00
3e61d64843 Fix broken AgeSDL Hooks. 2019-10-20 22:01:26 -04:00
580228b0da Close #148.
This isn't the best fix in the world. We don't really know what the user
did to cause the failure because of how abstract this code is. A proper
fix would be to ensure region modifiers can't get attached to non-mesh
objects. That won't fix already "broken" stuff in blend files without
being naughty/destructive, however.
2019-10-20 18:09:31 -04:00
836655ca66 Fix potential GOTCHAs with Circle Camera Centers. 2019-10-20 18:02:05 -04:00
5f05052c3f Fix #149. 2019-10-20 17:44:31 -04:00
db00f298ee Fix texture page location resolver. 2019-10-20 17:00:55 -04:00
173805a7ba Fix #151. 2019-10-20 16:56:41 -04:00
4b4e531f61 Fix #150. 2019-10-20 16:27:32 -04:00
3ac3ee2186 Work around lack of f-strings in Python 3.5.
This forwards the arguments and keywords to `str.format`. It's a good
poor man's f-string, anyway...
2019-10-20 16:26:00 -04:00
ba1d55b7b6 Fix #147 2019-10-20 00:20:11 -04:00
5fd9564e93 Fix the previous fix.
`pClass` is a class, not an object instance...
2019-10-02 20:10:54 -04:00
04d1b84849 Fix MultiModifiers not being added to new SceneObjects. 2019-10-02 18:36:50 -04:00
cc55c422d0 Fix exporting internal SDL files.
Previously, we would use the current working directory as the SDL file
path. This would crash when we attempted to see if that file is
encrypted.
2019-10-02 17:05:25 -04:00
01b6d0a907 Fix #141 2019-04-01 16:20:35 -04:00
bb8554091c Improve handling of cp-1252 encoded journals
We now export the journal anyway, replacing any illegal characters with
the replacement character.
2019-04-01 16:16:34 -04:00
80a7a06de9 Don't close the global stdout handle
Despite how the rest of the Win32 API expects for you to close handles,
this will apparently trash the global state. See https://devblogs.microsoft.com/oldnewthing/20130307-00/?p=5033
2019-04-01 15:52:20 -04:00
1df5b10671 Fix #142 2019-04-01 15:50:24 -04:00
715079f930 Fix #139 2019-03-07 00:11:41 -05:00
b5d3f87c66 Fix #137
Unfortunately, this does not prevent "DAG zero..." from appearing
period. Rather, it just overwrites any junk printed to the console
during the export. The ANSI version is rather limited compared to the
Windows version and completely untested...
2019-02-28 20:11:35 -05:00
e9ee49c8a6 Fix #138
Due to memory management issues, it is likely impossible to remove a
node in its own init() callback without crashing Blender. Now, we will
deactivate any output node operators if an output node is already
present in the tree.
2019-02-27 22:53:22 -05:00
377d771b84 Ignore more IDE specific junk 2019-02-27 21:32:27 -05:00
12c2f8a33d Fix issue causing PFMs to crash in PotS
Recall that PFMs are added as modules to the global modules dict.
Therefore, module names must be valid Python 2.x identifiers. This is
handled well for age names, but we've been neglecting to handle it for
PFM names. So, when Blender adds ".001" as a suffix to a duplicated
object, any attached PFMs will go down in a firey dust explosion.
Generally, with the unhelpful error message: "NULL result without
error in PyObject_Call".
2019-02-12 19:34:53 -05:00
95dd0341f0 Merge pull request #130 from Hoikas/journal-loc
Fix #129
v0.08
2019-01-30 20:47:35 -05:00
5d1bf5d1b1 Cleanup export button layout 2019-01-28 20:07:28 -05:00
ad2b463d71 Implement localization export operator
This is like the Package Python operator in that the artist can now
export the loc data independent of the rest of the age. The difference
is that due to the extremely different loc formats from PotS+UAM to
MOUL, we can't easily allow the user to specify where the data will be
exported to. So, we only allow this operation in the context of a game.
2019-01-28 19:47:02 -05:00
4f7f8a05fe Fix #129 2019-01-28 19:47:02 -05:00
1234d548a1 Fix typo 2019-01-27 19:52:32 -05:00
a37dcf5180 Merge pull request #133 from Hoikas/lm-mats
Fix #132
2019-01-27 19:50:35 -05:00
f5d5be256b Don't use add_object in material converter 2019-01-26 21:42:07 -05:00
83afcf57d8 Better single user name generation 2019-01-26 21:42:07 -05:00
df73d26896 Fix if-in-dict antipattern in material code 2019-01-26 20:59:14 -05:00
cb45d5979d Enforce lightmap material uniqueness and fix other issues
Two problems were fixed here:
- Materials were always exported unconditionally, meaning that we were
wasting time processing the same data over and over. This could have
generated "interesting" data (eg multiple hsGMaterials and friends with
the same name) that Plasma would have barfed on.
- Lightmaps were being applied to the incorrect materials
2019-01-26 20:56:47 -05:00
2c0a6f9d33 Improve PyFile node file picker 2019-01-21 16:00:59 -05:00
18d515887b Fix bug with PyFile node open button
The file was opened but would not be set in the node if the file had not
been loaded into Blender previously.
2019-01-21 15:43:46 -05:00
934accc304 Allow usage of dependency files from the client 2019-01-21 15:43:16 -05:00
51b5a44bf5 Improve whitespace generation in progress monitor 2019-01-14 21:38:43 -05:00
ce6cd0811e C Korlib code de-duplication
Moves all PyHSPlasma struct definitions into a private header file.
Also adds move constructor and assignment support to PyObjectRef.
2019-01-14 20:50:24 -05:00
a3ed2f0178 Fix potential Python File Node upgrade crash 2019-01-14 20:48:24 -05:00
e329e5619b Don't NTD encrypt age/fni files 2019-01-14 16:50:22 -05:00
520520796e Welcome to HAXLand. Population: Hoikas.
See the comment for details. I've been seeing this crash since we
started doing fancy idprop stuff. Of course, my test blend has always
had bleeding edge junk and has crashed left, right, and center. For more
fun, follow the progress on D4196.
2019-01-12 15:37:29 -05:00
8dff482789 LOGICWIZ: don't leave junk node trees behind 2019-01-11 15:06:48 -05:00
f2c87c9d4e Merge pull request #128 from Hoikas/python-pak
Python Packing
2019-01-11 14:17:27 -05:00
e650b4eef4 Fix improper usage of files on disk in export
If a file's data is already available in Blender, it might be changed.
For example, an internal text datablock or a changed text file. We need
to use those overrides.
2019-01-11 00:43:26 -05:00