I think, for LVLX/WLDX and SMBX 1.3's LVL/WLD you can use PGE File Library:
https://github.com/WohlSoft/PGE-File-Library-STL38A's formats are experimentally supported for read/write and I don't recommend you use it for those formats now yet.
Using it is very simple, just include all CPP/C/H files into your project, enable C++11 support and you can use library's API (internally every file type, level, world map, game save, SMBX 1.3's game settings file, has special structure where you can access data.). But this case if you would create patcher in C++.
Short info about SMBX 1.3's and PGE-X files:
- in SMBX 1.3 all parameters are written with separating with line feed
- in PGE-X data entries are stored into sections, and inside every section every entry uses entire line:
Code: Select all
XXX
X:1;Y:2;
X:5;Y:6;
X:6;Y:8;
XXX_END
(unlike old format and unlike 38A's every field is marked, therefore if field is not presented, it will be automatically initialized with default value. That allows to don't store parameter if default value is set).