jakubg1 / opensmce_converter Goto Github PK
View Code? Open in Web Editor NEWA Luxor to OpenSMCE converter for OpenSMCE
A Luxor to OpenSMCE converter for OpenSMCE
Currently, in both the shell and the Python script, we transform certain map names so that their case matches. This is required as file/directory names on Linux are case-sensitive, unlike on Windows. However, the solution is hacky and works only for the set of maps that both Luxor and Luxor: Amun Rising provides. The problem is there is a virtually infinite number of mods for these games that we want to support, and each provides their own map names with potentially their own case mismatches. This makes the current solution not feasible in the long run.
The solution would be to scan the maps folder (or the level files) for all of the map names, and whenever that map name appears in any path - regardless of case - it should be replaced with the exact name from that list.
The reason why we are not going to just bring all file names and paths in files to lowercase is because it looks ugly and hard to read, especially when considering that the map names almost always consist of several words.
In order for the converter to work, Python needs Pillow, which is an image toolset library, and that does not come preinstalled with Python. This means that the user has to download Pillow using a package manager. So, for convenience, it is installed automatically, without even prompring the user.
The Python Package Index is not fully safe though; it contained quite a lot of malicious packages. If the Pillow library were to be compromised, its automatic installation could pose serious threats to the end user.
That's why automated installation is going to be removed.
Possible solutions are:
In 0b0b0fb, sprites, levels, maps and fonts got the $schema
keys in order to meet the file recognition condition mentioned in jakubg1/OpenSMCE#103 (comment).
Add them to particles (we need to change the root tag from a list to an array) and sound events (see #2 for details).
The sound event mappings should be converted 1:1 instead of pointless name changes. All sound event references should be configurable in the engine itself, and in the appendix, provide names to the hardcoded sound event names used by Luxor.
Add support for commandline arguments so you don't have to edit the script itself in order to obtain certain behavior.
The shell script included in this repository has no Linux/OS X counterparts. Do make them at some point.
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.