[REL] MASCompiler 1.1 - The Mod/Skinpack Packaging Tool

Discussion in 'Other' started by Lukas Lichten, Feb 19, 2018.

  1. Lukas Lichten

    Lukas Lichten Registered

    Joined:
    Oct 14, 2017
    Messages:
    96
    Likes Received:
    242
    Packaging a Mod into a rfcmp file is quiet a tedious process: First you need to put the correct files into the correct mas file, then use MAS2.exe to package them.

    There have been attempts in the past to automate this process (Noel Hibbard's Guide for ModMgr and his Component Builder), and while they still work, mostly.

    But this is a attempt to package everything neatly into one program.
    I present to you: The MASCompiler:
    [​IMG]
    Download: MASCompiler 1.1.0
    Tutorial/Wiki: Wiki
    Source Code: Gitlab

    Key features:
    • One rfbuild file for everyone, with relative pathing for everything!
    • Command line building, but also a GUI if you want.
    • Only updates files that have changed, reducing run time.
    • Builds MAS out of files using rules, without you defining paths for every file
    • Auto-Incrementation of version numbers
    • Building Skinpacks
    For a detailed explanation of everything you should look at the wiki, but here some basics:
    When you normally start the program you get the GUI, which is the easiest way to create the .rfbuild file, which are used in this program for saving the configurations. The Working Directory is the location where the rfbuild file will be stored, and I recommend the ModDev folder.
    You can then build with this config using this format:
    Code:
    The format is: MASCompiler.exe [rfbuild file] <options...>
    Options avaible:
    -r               Recompiling everything. Takes longer
    -mas             Only updates the mas files, but not the rfcmp
    -cmp             Only updates the rfcmp out of the preexisting mas files
    -v=[number]      Compiles the specific version number
    -vno             Compiles without an auto increase of the version number (usally 1.53 to 1.54,
                     if you build 1.53 prior. NOT needed when using -v=[number])
    -open            Opens the file in the graphical client
    -rf2=[rf2Loc]    Sets the default Rfactor 2 path (Usually this should be found automatically)
    
    Currently the tool still uses the cmppack.exe, because of a strange issue with the UIAutomation (which I could talk about for ages), but I packaging from the command line works here but with cmppack it did not want to work. And you do not need to download cmppack.exe or even set it up, it comes packed into the MASCompiler.


    Now I hope this is a helpful tool. If you have any ideas, then share them here (or directly contact me).
     
    Last edited: Jun 3, 2021
    DA, DJCruicky, datasting and 14 others like this.
  2. Navigator

    Navigator Registered

    Joined:
    Jan 15, 2012
    Messages:
    2,275
    Likes Received:
    389
    Hehe, I'm not saying this is a virus (because I'm pretty sure it isn't) and AVG said "its okay" but when I opened the .exe; AVG had a field trip on it! "Let me check this file, there might be something wrong" and then it closed; it had to send it to AVG headquarters and they will let me know (without having my e-mail address?) in 211 minutes.......?
    I'll be waiting, with bells on :)

    So, thats just a heads up on that.
    Point of the matter is; I can't give you some decent feedback mate, but thank you for your time and effort to make this; it seems like a very nice and handy tool.
    If I knew how to make an exception in AVG; I would have opened it anyway, but "they get back to me" when I will be asleep. ;)

    Thanks mate!
     
  3. Louis

    Louis Registered

    Joined:
    Dec 27, 2016
    Messages:
    1,379
    Likes Received:
    840
    \o/
     
  4. Lukas Lichten

    Lukas Lichten Registered

    Joined:
    Oct 14, 2017
    Messages:
    96
    Likes Received:
    242
    I found some bugs, so I fixed them:
    Here is Version 1.0.1

    Changelog
    Code:
    -Added default value for the UI for the field Buildpath (/bin/) 
    -Fixed Open in the UI stopping the program 
    -Fixed saving multiline descriptions in the UI  
     
  5. Lukas Lichten

    Lukas Lichten Registered

    Joined:
    Oct 14, 2017
    Messages:
    96
    Likes Received:
    242
    And another bug that I found when I wanted to try my compiled mod: running multiple compression's through the ModMgr parallel will lead to the files to be damaged. They will show up in the list (for example MAS.exe) still, but they are not working. So I fixed that.
    Here is Version 1.0.2

    Changelog
    Code:
    -Added checking if mas file has changed before adding files (and in case rebuild the mas)
    -Fixed glitched mas files (but it is now significantly slower)
    
     
  6. knackko

    knackko Registered

    Joined:
    Oct 6, 2010
    Messages:
    142
    Likes Received:
    65
    Hi,
    Thank you for this tool, it is very useful to build mas and rfcmp easily event after some time without building it.
    With current version and tools, is it possible to add the "update from" info as an argument of cli when building a rfcmp? (as with "create component tool" gui)
     
  7. Lukas Lichten

    Lukas Lichten Registered

    Joined:
    Oct 14, 2017
    Messages:
    96
    Likes Received:
    242
    I have last touched this project 3 years ago, back then skinpacks where not really a thing, and till you mentioned it I forgot that it is probably super useful for that use case (although APX project for league running might be of interest, I heard it offers skinpacks and server management, though I have not looked to deeply into it).
    In any case, I was not particularly proud of this software, but I can look into adding the "update from" feature
     
  8. Leonardo1962

    Leonardo1962 Registered

    Joined:
    Feb 12, 2012
    Messages:
    246
    Likes Received:
    69
    thanks a lot,
    for this nice great tool and the "update from" option, that would be a nice completion.
     
  9. Lukas Lichten

    Lukas Lichten Registered

    Joined:
    Oct 14, 2017
    Messages:
    96
    Likes Received:
    242
    Done, I added support for Baseversion, aka Skinpacks, for both command line and gui. The GUI has also simple drop downs to select the correct name and base version.
    Download it here: 1.1.0

    Changelog
    Code:
    -Added Base Version support for building Skinpacks
    -Added GUI implementation when making a skinpack to find the mod and Version
    -Updated About Page
    -Replaced Help Window with Link to Wiki
    -Refactored locating function for the rf2 folder, now supports new version of CarStat too (that was never released lol)
     
    DA, atomed, haunetal1990 and 2 others like this.
  10. dosequis56

    dosequis56 Registered

    Joined:
    Dec 24, 2021
    Messages:
    133
    Likes Received:
    48
    Thanks for doing this and making the source code available via gitlabs. Very useful for my work in modifying cars and tracks for a better offline racing experience to run a family series.
     
  11. gagipro

    gagipro Registered

    Joined:
    Feb 26, 2013
    Messages:
    473
    Likes Received:
    7

    Attached Files:

Share This Page