tkachov / alert Goto Github PK
View Code? Open in Web Editor NEWAmazing Luna Engine Research Tools (formerly dat1_extractor)
License: GNU General Public License v3.0
Amazing Luna Engine Research Tools (formerly dat1_extractor)
License: GNU General Public License v3.0
There's code already that handles it, but it's only used for the title. Update all the other labels to use text from localization table.
Asset Browser features. Describe the features in more detail, possibly with screenshots or even instructions.
Scripts? Describe the important scripts' behavior and provide usage tips.
Formats. Describe the current knowledge in text instead of only code. Include some kind of glossary of terms used in code. Add links to other repos, probably also mentioning how terms translate into terms used there.
Code insights? Describe some of the design decisions, so it's easier for others to figure out how it works and how to build upon that.
<Hi, I'm doing mods for the SM2 port, and I would like to be able to import some animations from the game to blender, so I can test custom models on blender befor importing to the game. Thanks>
While this could be convenient to have all scripts in the root to easily run them, looks like there are a lot of these. Some cleanup can be done, removing the scripts that are not really needed and/or moving them under 'scripts/'.
Similarly to how it's done in Overstrike repo, make a workflow that builds server.exe and puts it into Releases.
Things to consider:
Files such as hashes.txt, libdeflate.dll and texconv.exe need to be hosted somewhere so the workflow could download them and pack into archive. I don't think those should be under version control, but maybe these could be hosted as assets in some release?
Current procedure is a bash script and a Python script. Both could be run in actions on Windows machine (see SO on Python part). Maybe write a unified script that does everything instead of having multiple commands?
pyinstaller. It seems there is an action that provides it. Still, something needs to prepare the config for it, including version and app name that'd be written into resulting .exe. Those would have to be determined from the tag, similarly to Overstrike workflow?
Resolving dynamic imports. dat1lib
imports submodules dynamically, but due to packing with pyinstaller that can't work. This is what Python script is for. Maybe consider changing it so imports are not dynamic?
Dependencies. Due to pyinstaller, not all of the Python modules can be used easily. This means either those modules should not be used, or some features should be disabled/unavailable in the built .exe. Sometimes it also means some fixes must be applied to the dependencies' code in order to make an .exe if such dependency is required.
While these are not impossible to solve, and could be even considered solved, that's why there currently is no automatic releases. Since releases are not that frequent, it's quite fine to make each release manually for now, making this a very low priority issue.
There is sketch of one, but it's really unfinished and probably eats up a lot of RAM. Think of how to implement it better. Ideally, it should also support undo/redo.
Add comments like this to the beginning of all the code files:
// ALERT: Amazing Luna Engine Research Tools
// This program is free software, and can be redistributed and/or modified by you. It is provided 'as-is', without any warranty.
// For more details, terms and conditions, see GNU General Public License.
// A copy of the that license should come with this program (LICENSE.txt). If not, see <http://www.gnu.org/licenses/>.
Maybe also put a link to the repo there?
Maybe also have a notice printed when using editor.py / main.py, like GPLv3 suggests?
I was trying to save a .model
asset but got this error:
Traceback (most recent call last):
File "server\api_utils.py", line 30, in json_api
File "server\state\assets.py", line 35, in get_asset
AttributeError: 'State' object has no attribute '_get_asset_name_loc'
Taking a look at the code, it seems like it's trying to get the asset name to pass to the send_file
flask method. If this method opens a save dialog, you could wrap line 35 in a try block and pass a default name if it fails, since the user could rename the file anyway.
IIRC currently both reconstruction script and the viewer only work with primary graph, ignoring the subgraphs.
Additionally, maybe a better visualization could be used? Some lib for BP-like node/graphs, maybe even something like https://blueprintue.com/ ?
Maybe even make an editor?? So modified nodegraphs could be saved back into game's built format.
Make a new icon and update favicon.ico and built server.exe icon.
Thinking of a black spider with a MGS-like red exclaimation mark, transparent background.
Maybe also put it in header in the README.md, if possible.
And update the Github preview image?
Someone told me about the current self.uv_scale on string line code 109.
I changed the current value to self.uv_scale = 1/0.5
Doing this would fix the scaling issue for the UVs, and the broken ones as well for the 20th anniversary armor sets, but in some cases, you might have a mesh that it's UV's don't fit perfectly.
But, of course, you can fix it in Blender's UV editor by setting it like this with the 2D Cursor at the top left for scaling the UV to fit the texture:
So far, I've tested this with the 20th anniversary armor sets.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.