• Our software update is now concluded. You will need to reset your password to log in. In order to do this, you will have to click "Log in" in the top right corner and then "Forgot your password?".
  • Welcome to PokéCommunity! Register now and join one of the best fan communities on the 'net to talk Pokémon and more! We are not affiliated with The Pokémon Company or Nintendo.

Tool: Full Metal Toolbox

Full Metal

C(++) Developer.
810
Posts
16
Years


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]Links:
GTK+ Installer for windows: Basic Files | Theme Engine.
[a id]FMP[/a id]


Full Metal Phoenix.
Full Metal Phoenix is a palette editor with 256 color support for as many colors as you want!
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:
phoenix_by_aliensrpeople-d41vpkd.png

[a id]FMFS[/a id]


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:

NarutoActor

The rocks cry out to me
1,974
Posts
15
Years
Okay on topic, Good Job Full Metal.(blub of blubs XD) I will try out these tools. The functions have already been done, but if it puts a new spin to things, or has more features; I will definitely be using this. :)
 
3
Posts
15
Years
  • Seen Sep 28, 2019
Hey, I download these programs and for some reason they wouldn't run for me. First they kept demanding dll files, then it suggested I reload the programs, and it still didn't work for me, for some reason. I'm sure it's me, though. Any idea what I'm doing wrong?
 
84
Posts
14
Years
  • Seen Jun 6, 2014
EXCELLENCE
omg thanks alot :D

and for the dll files that its asking for couldnt you just dl those off the internet?
 

iTeruri

iAm
277
Posts
17
Years
Great, tools that may work on a mac. We need more of those!

Luckily I have xcode, so I may be able to compile these programs for mac using the source. However, I never tried it before, so I'm not sure if I'll be able to pull it off.
 

Full Metal

C(++) Developer.
810
Posts
16
Years
For a proof-of-concept demo, here's a download link of my next project: Geared Sun. This doesn't require any dll's to be installed on your system, and it's a windows binary. Uses sqlite3, and basic io/stream. Open the program, enter a pokemon's name, and be amazed. Look at the source code, be more amazed. :) ( feel free to use any of the source provided if you want as well )*edit* if you've already downloaded and get the error about 'libgcc_s_dw2-1.dll' then re-download and it will be solved. I guess G++/GCC adds dependencies for dll's that I just didn't know about. But I statically linked them, so it's all good. :) { Click on the link in this post or first post for newer 'beta' ... }
 
Last edited:

Full Metal

C(++) Developer.
810
Posts
16
Years
try to download it again thats what i always do
Who exactly are you talking to?
I know that PPRE has some commands in it, like movements, and whatnot, and are a bit more simple. Example:

moveleft 23

Moves the set target left 23 spaces.

There are also the lock and faceplayer commands. Maybe if there is a source for PPRE, you might be able to create a scripting engine for GenIV.
Hm...wasn't PPRE closed-source? Anyways, the problem is I wouldn't know how to export it into a format a NDS hacker could use in their games. Mainly because I don't hack/mod/whatevs NDS...
thx for sharing. are good tools
Of course, I'm glad you like them.

FMGS - Update to the 'beta':
Edit "Script.gss" to contain ANY pokemon's name ( Correct spelling, no 'special' characters ) and separate the list of names by ;
EG:
bulbasaur;charmander;squirtle
Caps do not matter, and neither do spaces. It could also be
bulbasaur; charmander; squirtle ;
or even
bulbasaur; charmander; squirtle
^ absence of a semicolon on last line.
Also - I'm working on a way to drag and drop files, but atm, if argc is > 1, then sqLite does some funky things, and claims that the table "PKMN" doesn't exist...but it does. So idk why that is, but I'm working on it...
*link* http://www.mediafire.com/?bcbnp2adbi0lj2b
:)
 
Last edited:

Full Metal

C(++) Developer.
810
Posts
16
Years
*BUMP*
I made a [ simple ] package of the GTK+ and GtkMM dll's for download. Just extract, then drag them into your system folder (%SYSTEMROOT%:\Windows\system32) or somewhere in your system path. I promise, no viruses are included that I'm aware of. You can scan them yourself before you merge with your system, or if you really don't trust me, download them manually from gtk.org and gtkmm.org
Anyways. The reason for all of this?
I decided to release Phoenix as it is right now.
Only two and a half things left to do.
1) Average palette modification ( Adjust h/s/v for all colors using a quadratic equation that 'slows down' once a color reaches a max or minimum value, and 'speeds up' when it's at the middle. By 'speed' I mean the amount of impact on one color by an adjustment )
2) Palette preview - load an [ indexed ] image, and view the image loaded with the palette.
2.5) Bugfix - Bitmap exporting isn't working properly and causes a crash. So don't use it.
Anyways, dl link for GTK&GTKMM dll's : http://www.mediafire.com/?0kcr6054kg2azgq // 10.8 megabytes. :\
Dl Link for the Phoenix ( And it's DLL ) : http://www.mediafire.com/?fe11rj74xspksfk // Less than a megabyte! :O
 

Full Metal

C(++) Developer.
810
Posts
16
Years
Geared Sun update!
Text and movement compiling works perfectly!
Want a demo?
SURE!
link
This file includes everything you need to run.
GS.sql
sqlite3.dll
geared sun.exe
As of now, this is just a demo. It's console based as well. There are no GTK/GTKMM dependencies, so don't be afraid to just give it a try. (:
Also -- I tried ( and failed ) to make sure you input a number at the 'menu'. So please, don't put something besides a number. :P
Here's what the demo does:
You enter 1,2, or 3.
1 - Create a new text item. You enter the name of the item, and the text.
2 - Create a new movement string. You don't have to include "END" ( end of movements ), but no harm done if you do. Separate different moves with a semicolon ( because you can't input new lines with the console. )
3 - Create a new command. So far this is just parsing. No data is generated yet. Basically it will extract the name of the command. Commands will need () and ; characters. In the format of : command(); command(argument); command(argument,argument); and so forth. ( like a normal programming language. :P ) As of now this is a test of my custom string class I made to help me out with parsing ya'lls stuff. :P
finally, when you're done toying around, enter a '0'. All the items you made will display their binary data. You can take this data and put it into a hex editor then check it with another script editor ( per se XSE or PKSV ). Here's a list of movements ( credits to Spherical Ice for the list -- thanks. (: ) more references here.
Spoiler:


Enjoy. (: ( also -- so far the movements are for FR only. haha. )
 

sky_queen3

Mimikyu is cute :3
271
Posts
15
Years
:( I can't get Full Metal Phoenix to work, I keep getting an application error, something about 0xc000007b click ok to close application. What have I done wrong?
 

Full Metal

C(++) Developer.
810
Posts
16
Years
I see. Some things I need to know:
What OS are you running?
What version of Phoenix do you have( Is there still a picture in the middle? Are the HTML codes printed on a label just below the color button? Or does it look like the screenshot on the first post? )
What was the last thing you did before you got that error, or did you get that error when the program started?
How many palettes did you have open?
Sorry for the bug, I promise I will have it fixed ASAP, once I figure out what it is. :)
*edit* also, are you sure you have all the required DLL files?
 
Last edited:

sky_queen3

Mimikyu is cute :3
271
Posts
15
Years
I can't even start it. I'm running Windows 7 and I downloaded a 64 bit version of GTK+ Installer from the microsoft site.

Sucess, I did something wrong woth the files but I moved them into SysWOW64 and the program works now, thank you. :D
 
Last edited:
Back
Top