Full Metal
C(++) Developer.
- 810
- Posts
- 17
- Years
- In my mind.
- Seen Aug 19, 2018
About.

Most tools available today are available to one OS specifically ( Windows ). My goal is to create portable applications that are open source, intuitive, and user-friendly. All of my tools are written in C or C++, and will typically use the GTK+ toolkit. If you want to use my tools, or any other GTK+ reliant programs, I reccomend using the installer in the links section below. Additionally, all programs are hosted on Google Code, and I welcome anybody wishing to be part of a development team with open arms ( Just shoot me an email ).
If you feel that you have a ( reasonable ) feature to add to a program, VM me, but please don't spam the thread with these 'suggestions', because in all honesty, I expect the requests to eventually turn into spam from people not thinking their request through all the way.
Index:[a id]index[/a id]
- Phoenix.
Download: Here! - Free Space.
Geared Sun.
GTK+ Installer for windows: Basic Files | Theme Engine.
Full Metal Phoenix.

Full Metal Phoenix is a palette editor with
Current Version: 0.6
Updates:
○Better GUI layout
○Better use of the cairo library and GtkDrawingArea widget.
○No labels -- the color's HTML code is drawn right on the color.
○Filesupport - Dropped support for APE and writing to GBA directly. Don't worry, that will come back later. Added support for Adobe Color tables! (:[ advance map palettes are still there, don't worry. ] And importing bitmaps now works for any bitmap. even if it's not indexed.
To Come:
○Bug-Fixes
○Palette Averaging - Apply Hue/Saturation/Lightness effects to an entire palette
○Color Drag&Drop ( hopefully )
Bugs:
Saving with a bitmap format causes a crash. Sorry.
Importing bitmaps works just fine though! [ no matter what the BPP is! :D ]
Repository: Here
Screen:
![[PokeCommunity.com] Full Metal Toolbox [PokeCommunity.com] Full Metal Toolbox](https://fc08.deviantart.net/fs71/f/2011/208/c/6/phoenix_by_aliensrpeople-d41vpkd.png)
Full Metal Free Space.

Full Metal Free Space is a simple free-space searcher. It doesn't hog file permissions, and is intuitive. Infact, there are only 2 textboxes, and 2 buttons. To change the starting point of the search, input the offset in the 'found' box. It doesn't matter if you use decimal, or hexadecimal, or if you include the '08' -- just as long as you prepend '0x','$',or '&h' before the hex number.
Recent Updates:
○Speed Boost.
○Smarter GUI.
Bugs:
○None that I'm aware of.
To Come:
○Open to suggestions.
Repository: Here.
Full Metal Geared Sun.
Full Metal Geared Sun is, yet another, revolutionary script editor. What sets it apart from our other favorite script editors like PKSV, and XSE, are two main features: The Language structure itself, and it's database. FMGS will use a sqLite3 database library which will hold all of the commands, items, Pokemon, TM's, HM's, Flag Information, Special information, and ( hopefully ) an assembler, although the later might come in a later release. For a proof of concept please download a ( very ) early development release here. Please, if you have information relevant as far as flag information, special information, send it to me in a VM in a regulated format so that I can put it in the database. Information I'm looking for includes: Flag Names / Descriptions ( make sure to tell me which game they apply to ), Special Names / Descriptions, Command Names / Descriptions / Arguments, Item Information, pretty much anything that you might want to use a constant rather than a hex value for in a script.
Now, the language structure is something amazing in my opinion. Here's the concept:
A 'solution' has several 'items'. An 'item' can be any of the following: 'sub' , 'func', 'str', 'mov' -- and these are compiled into the ROM. An item is accessed by the name of it's type, followed by brackets, and a name or offset. For example:
str['messageToLoad'] @This will register as needing to be compiled, and use dynamics
str[0xOFFSET] @This will not use dynamics
Speaking of dynamics, I also hope to check and see if certain data has already been compiled in the ROM so as to not waste space when developing / testing a script.
Another nice thing about the language is that it allows for multiple commands on one line by using semicolons to notate the end of a statement.
lock
faceplayer
Becomes:
lock; facePlayer;
The program also implements default values for some arguments in the scripting language, like addPokemon will use 0 0 0 for the last three arguments. This is done by using parentheses to ensure the program knows the end of a command. so
addPokemon(Bulbasaur,5,1,0,0,0);
can also be:
addPokemon(Bulbasaur,5,1);
and the program won't complain a tiny bit.
The program also knows the difference between a POKEMON and an ITEM.
so you can not say
addPokemon(OranBerry,5,1); // This will cause a complaint.
but you can say:
addPokemon(1,5,1); // Program doesn't complain about numeric constants so long as they're the right size...
or
addPokemon(Bulbasaur,5,1); // Bulbasaur IS_A pokemon.
As a side note, the program will not be case-sensitive, however formatting will be done to your code to ensure it is nice and pretty. I might add an auto-complete and syntax-highlighting unless the memory burden is too large ( the entire database loaded into memory which as of now is looking like about 26kb...).
This is a rather complex project, and as such I do not have a planned release date so please don't ask. In the mean time however, feel free to contribute to the database ( so I can support GenII and GenIV, GenV scripting as well ( ? ) )
Last edited: