Mod Manager
Mod Manager is a simple tool for modifying your system!
Installation
Simply install the cart to your system and run it! The first time you run, you will be prompted
to select a mod path. This is where Mod Manager will look for ".mod" files to load.
Next time you run, if there are any ".mod" files in that directory, they will load it!
Command Line Usage
modman
- Starts Mod Manager and loads mods
modman --config
- Opens Mod Manager Configurator
modman --force
- Reloads Mod Manager even after running for the first time in the session
modman --compile [path/to/uncompiledmod.txt]
- Compiles mod and stores it in "compiled.mod"
.mod File
The specifics of the compiled .mod file are unimportant, as they are just Picotron POD objects as Lua Objects.
UnCompiled Mod File
UnCompiled Mod Files are very simple. It's basically one big list that has multiple entries for mods.
Take for example this UCM:
> line:0 replace:false modfile:false target:/path/to/file/to/modify.lua data:function hello() data: print("hi!") data:end > line:0 replace:false modfile:false target:/path/to/file/to/modifyagain.lua data:function hello2() data: print("hi again!") data:end |
Each "mod entry" is separated by a ">" character. Very simple.
Each entry has fields that are in the format of key:value
This is case sensitive and spaces aren't allowed (sorry!)
The only required fields are target
and data
.
Fields
target:[text]
- Sets the file to modify to file at path [text].
data:[text]
- Sets the data [text] to write/modify to the target.
modfile:[bool]
- Whether or not data is another file, or just text.
line:[number]
- Line to insert/replace. If 0, data will overwrite the whole target file.
replace:[bool]
- Whether or not to insert the data, or write over by line.
Example
This is an example of Mod Manager and it's compiler with my Open in Terminal Mod!
Uncompiled Mod: Create a txt file in Picotron and write this:
> replace:false line:69 modfile:false targetpath:/system/apps/filenav.p64/main.lua data: menuitem{ data: id="open_in_terminal", data: label = "\^:7f7d7b7d7f083e00 Open in Terminal", data: action = function() data: create_process("/system/apps/terminal.lua", {path = pwd()}) data: end data: } > replace:false line:26 modfile:false targetpath:/system/apps/terminal.lua data:cd(env().path) data:local path0 = env().argv[1] or "." data:path = fullpath(path0) data:cd(path) data:if (pwd() == "/system/apps") cd("/") |
Then, in your terminal:
modman --compile /path/to/mod.txt
This will compile it and store "compiled.mod" in your current directory!
Now move this to your mod folder, and when you run modman
, this mod will load!
NOTE
Sorry that these docs are kinda trash... i'm really tired and can't think straight..
Hey, i noticed that you have a custom special char in your label. Is there a way to generate these with a toll?
[Please log in to post a comment]