Comments (3)
This will probably be a necessary addition for distributing Ages easily. Similar to #34, I'm unsure of the best way to reference the text. Do we want to use the internal editor for storing Python scripts? Or externally in a user-specified location?
Creating the packages themselves is fairly trivial.
I like the idea of parsing a data dir for the marker points. If we want to parse locs too, then that solves the question in #34 as well. We'll probably want a Rescan
button in the helpers so external changes can be incorporated. I have a partially-complete branch with a feature that scans the .age
files for the purposes of exporting new Pages for an existing Age. Perhaps these should all be consolidated?
from korman.
Update... As part of debugging a crash in Doobes' Pub in Path of the Shell, I have determined that PotS will crash when PtGetAgeSDL is called if the AgeSDL blob is missing from the sav file. The creation availability of this blob has two basic requirements:
- The presence of
<agename>.sdl
in the SDL directory. - The existence of the
<agename>
class in the<agename>.py[c]
Python file.
(Recall of course that these SDL files use the age name by complete convention of course. These notes are not intended to be a complete treatise on the functionality of plPythonSDLModifier
s)
Therefore, this issue needs to be addressed. I see this playing out thusly:
- Update the Python File node to take links to Blender text note blocks.
- In my testing, Blender will track the local file as well as keep a copy in memory. It notifies the user when it notices the files are out of sync.
- Text files can be packed. Blender refers to this as making the files "internal".
- Write a new module in pykorlib that uses
ctypes
to load the game's python DLL (cypython22.dll
orpython27.dll
) for compiling python source code.- Unfortunately, MOULa does not ship with a Python 2.3 DLL, AFAICT (but why are you targeting that anyway?)
- A Python library selector can be added to the games panel for non-Windows systems.
- Write a new stage in the exporter for generating the
<agename>.pak
- ABM/PotS will go ahead and xTEA/wdys encrypt the pak and copy it over to the game directory.
- For MOUL, we'll just want to copy the python files over to the game directory, I expect. This is because that client will only load
python.pak
and no other file. - Note to Self: don't forget the glue!
- TBD: which files need to be packed? A simple solution would be to just skip packing if the filename begins with "x", but that seems like a hack. We could load the main
python.pak
and check for membership.
- If the age is exported with "Age SDL" as an option, Korman will automatically generate the python and SDL files.
- SDL Version == 0
- If an
<agename>.py
file is already present in the blendfile, we use it instead. - Remember that age names can contain characters that are illegal python identifiers. Will need to investigate if PotS can use runtime generated classes.
- Rework the exporter a bit to support having export warnings so stupid issues like a failure to compile the age python won't completely hose the export.
- Would be nice to have an operator for packing the python separate of the age export process.
- Profit!
from korman.
Closed by #128
from korman.
Related Issues (20)
- Textures PRP generates when no textures are on it
- Some random sound location issues after 0.14 HOT 1
- Stereo sound and sound message nodes crashing things
- Appending objects between blends causes error
- hsRAMStream error when packaging Age
- Add->Plasma->Linking Book broken
- "Facing Target" node -> 90° tolerance HOT 4
- Reset a kickable's location and rotation HOT 2
- Animating a Panic Region in a Subworld. HOT 12
- GUI Dialog Mod missing parts HOT 2
- Responder Regions not working HOT 3
- Odd client crash if anything is changed in the blend HOT 3
- Remove `OrderedDict` HOT 2
- Need some camera settings for GUI cameras
- Option to combine lightmaps and VCol layer
- Multiple clickables to one GUI PRP HOT 2
- DynamicCamMap disabled texture incorrect.
- Water Geometries Rendering Height based on Wind Object Height. HOT 4
- "Pack All Into .blend" and then "Unpack All Into Files" sounds issue HOT 1
- Sitting Behavior issue HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from korman.