I've been writing a program and it's going great but production has been slowing down due to the fact that it's an exclusively old-style console program. It currently takes about 7 command-line arguments but if I keep producing, it'll need wayyy more. I know that it's too much to ask a user to type more than 7 arguments per run and I want this program to be big. It seems a few dropdown menus and stuff should help out, so a GUI seems reasonable, but I'd like it to be cross platform and I'm only doing simple stuff. I don't want my program to be bloated with GUI stuff and barely have any actual functions behind it. It seems ncurses is an option but it's quite old. Any recommendations?
> It seems ncurses is an option but it's quite old. Any recommendations?
Use ncurses.
It is still in wide use, and actively maintained. (ncurses 6.0 was released in August this year.)
It is cross-platform (Cygwin/MinGW on windows).
Honestly, I'm writing a cross platform ROM corrupter. I'm hoping that it'll someday compete with other corrupters (There aren't any on Linux, except for mine and there are very few modern ones on Windows but they're getting popular again.) and with this competition comes the vast need to improve an reinvent the wheel.
Unfortunately, an ini file wouldn't work because then the user would have to modify the file every time they want to run a new corruption.
I'll try out ncurses, it seems to be the best option I have. By the way, any suggestions for features?
Syntax error. Syntax is:
corrupt <ifile> <ofile> <strt> <stop> <every> <operation> <additional>
ifile is the path to the input file.
ofile is the path to the output file.
strt or "start" is the position in the file to start corrupting.
stop is the position in the file to stop corrupting.
every is the frequency of memory to ignore.
Operations:
add Adds current byte to addative
sub Subtracts current byte from addative
mul Multiplies current byte by addative
div Divides current byte by addative
mod Modular current byte by addative
xor Xor's current byte by addative
and And's current byte by addative
or Or's current byte by addative
ran Randomizes current byte
not Not's current byte
Default values seem like a great idea. Separating the program is unfortunately not an option.