Tools, Tutorials & Resources Various tools to help you develop your hacks can be found here.

TrollandToad.com
Reply
 
Thread Tools
  #1    
Old March 26th, 2010 (5:14 PM). Edited July 28th, 2011 by Full Metal.
Full Metal's Avatar
Full Metal Full Metal is offline
C(++) Developer.
  • Silver Tier
 
Join Date: Jan 2008
Location: In my mind.
Age: 22
Gender: Male
Nature: Timid
Posts: 806


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:Links:
GTK+ Installer for windows: Basic Files | Theme Engine.



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:




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 ( ? ) )

__________________

★ full metal.

I like to push it,
and push it,
until my luck is over.
Reply With Quote

Relevant Advertising!

  #2    
Old March 27th, 2010 (5:23 AM).
Masterge77's Avatar
Masterge77 Masterge77 is offline
Jacen The Robot Floatzel
     
    Join Date: Dec 2007
    Location: Sinnoh Region
    Gender: Male
    Nature: Serious
    Posts: 1,078
    So since this is called the "Metal toolbox", does that mean it works on G/S/C?
    __________________
    My DA account
    Avatar made by MelNathea on DeviantART

    The Owner of Sea Weasels, the club for Buizel and Floatzel fans!
    Reply With Quote
      #3    
    Old March 27th, 2010 (6:18 AM).
    Pokepal17's Avatar
    Pokepal17 Pokepal17 is offline
    More cowbell~
    • Silver Tier
     
    Join Date: Oct 2008
    Location: Steeltown
    Age: 23
    Gender: Male
    Nature: Modest
    Posts: 1,517
    Quote:
    Originally Posted by Masterge77 View Post
    So since this is called the "Metal toolbox", does that mean it works on G/S/C?
    No, it's called that because the author's name is "Full Metal".
    __________________
    Pokémon Stardrop
    Reply With Quote
      #4    
    Old March 27th, 2010 (6:45 AM).
    NarutoActor's Avatar
    NarutoActor NarutoActor is offline
    The rocks cry out to me
    • Silver Tier
     
    Join Date: Jan 2009
    Location: Brooklyn/Marlboro
    Age: 23
    Gender: Female
    Nature: Bashful
    Posts: 1,979
    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.
    __________________
    ~There are those people who understand hex, F the rest
    Reply With Quote
      #5    
    Old July 4th, 2010 (7:43 PM).
    clarity clarity is offline
       
      Join Date: Aug 2008
      Gender:
      Posts: 1
      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?
      Reply With Quote
        #6    
      Old July 4th, 2010 (8:14 PM).
      ERROR ERROR is offline
         
        Join Date: Aug 2009
        Posts: 84
        EXCELLENCE
        omg thanks alot :D

        and for the dll files that its asking for couldnt you just dl those off the internet?
        __________________
        Gen IV FC: 4772 1434 3503
        Gen V FC: 2753 3643 9488
        Reply With Quote
          #7    
        Old July 7th, 2010 (7:43 AM).
        iTeruri's Avatar
        iTeruri iTeruri is offline
        iAm
           
          Join Date: May 2006
          Location: The Nederlands
          Nature: Relaxed
          Posts: 277
          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.
          Reply With Quote
            #8    
          Old May 22nd, 2011 (8:45 AM). Edited May 22nd, 2011 by Full Metal.
          Full Metal's Avatar
          Full Metal Full Metal is offline
          C(++) Developer.
          • Silver Tier
           
          Join Date: Jan 2008
          Location: In my mind.
          Age: 22
          Gender: Male
          Nature: Timid
          Posts: 806
          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' ... }
          __________________

          ★ full metal.

          I like to push it,
          and push it,
          until my luck is over.
          Reply With Quote
            #9    
          Old May 26th, 2011 (1:53 PM).
          Incineroar's Avatar
          Incineroar Incineroar is online now
          the spirit of the fighter
          • Moderator
          • Platinum Tier
          • Developer
           
          Join Date: May 2009
          Location: Iki Town
          Age: 22
          Gender: Male
          Nature: Brave
          Posts: 13,555
          Quote:
          Originally Posted by Geared Sun
          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 ( ? ) )
          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.
          __________________
          Reply With Quote
            #10    
          Old May 26th, 2011 (10:24 PM). Edited May 26th, 2011 by keisky.
          keisky keisky is offline
             
            Join Date: May 2011
            Posts: 1
            thx for sharing. are good tools
            Reply With Quote
              #11    
            Old May 27th, 2011 (3:49 AM). Edited May 27th, 2011 by Full Metal.
            Full Metal's Avatar
            Full Metal Full Metal is offline
            C(++) Developer.
            • Silver Tier
             
            Join Date: Jan 2008
            Location: In my mind.
            Age: 22
            Gender: Male
            Nature: Timid
            Posts: 806
            Quote:
            Originally Posted by zacharyknoblauch View Post
            try to download it again thats what i always do
            Who exactly are you talking to?
            Quote:
            Originally Posted by Team Fail View Post
            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...
            Quote:
            Originally Posted by keisky View Post
            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
            __________________

            ★ full metal.

            I like to push it,
            and push it,
            until my luck is over.
            Reply With Quote
              #12    
            Old July 28th, 2011 (8:31 AM).
            Full Metal's Avatar
            Full Metal Full Metal is offline
            C(++) Developer.
            • Silver Tier
             
            Join Date: Jan 2008
            Location: In my mind.
            Age: 22
            Gender: Male
            Nature: Timid
            Posts: 806
            *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.

            I like to push it,
            and push it,
            until my luck is over.
            Reply With Quote
              #13    
            Old August 11th, 2011 (3:04 PM).
            Full Metal's Avatar
            Full Metal Full Metal is offline
            C(++) Developer.
            • Silver Tier
             
            Join Date: Jan 2008
            Location: In my mind.
            Age: 22
            Gender: Male
            Nature: Timid
            Posts: 806
            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.
            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. ) As of now this is a test of my custom string class I made to help me out with parsing ya'lls stuff.
            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:

            #raw 0x0 = Face Down
            #raw 0x1 = Face Up
            #raw 0x2 = Face Left
            #raw 0x3 = Face Right
            #raw 0x4 = Face Down (Faster)
            #raw 0x5 = Face Up (Faster)
            #raw 0x6 = Face Left (Faster)
            #raw 0x7 = Face Right (Faster)
            #raw 0x8 = Step Down (Very Slow)
            #raw 0x9 = Step Up (Very Slow)
            #raw 0xA = Step Left (Very Slow)
            #raw 0xB = Step Right (Very Slow)
            #raw 0xC = Step Down (Slow)
            #raw 0xD = Step Up (Slow)
            #raw 0xE = Step Left (Slow)
            #raw 0xF = Step Right (Slow)
            #raw 0x10 = Step Down (Normal)
            #raw 0x11 = Step Up (Normal)
            #raw 0x12 = Step Left (Normal)
            #raw 0x13 = Step Right (Normal)
            #raw 0x14 = Jump2 Down
            #raw 0x15 = Jump2 Up
            #raw 0x16 = Jump2 Left
            #raw 0x17 = Jump2 Right
            #raw 0x18 = Delay1
            #raw 0x19 = Delay2
            #raw 0x1A = Delay3
            #raw 0x1B = Delay4
            #raw 0x1C = Delay5
            #raw 0x1D = Step Down (Fast)
            #raw 0x1E = Step Up (Fast)
            #raw 0x1F = Step Left (Fast)
            #raw 0x20 = Step Right (Fast)
            #raw 0x21 = Step on the Spot Down (Normal)
            #raw 0x22 = Step on the Spot Up (Normal)
            #raw 0x23 = Step on the Spot Left (Normal)
            #raw 0x24 = Step on the Spot Right (Normal)
            #raw 0x25 = Step on the Spot Down (Faster)
            #raw 0x26 = Step on the Spot Up (Faster)
            #raw 0x27 = Step on the Spot Left (Faster)
            #raw 0x28 = Step on the Spot Right (Faster)
            #raw 0x29 = Step on the Spot Down (Fastest)
            #raw 0x2A = Step on the Spot Up (Fastest)
            #raw 0x2B = Step on the Spot Left (Fastest)
            #raw 0x2C = Step on the Spot Right (Fastest)
            #raw 0x2D = Face Down (Delayed)
            #raw 0x2E = Face Up (Delayed)
            #raw 0x2F = Face Left (Delayed)
            #raw 0x30 = Face Right (Delayed)
            #raw 0x31 = Slide Down (Slow)
            #raw 0x32 = Slide Up (Slow)
            #raw 0x33 = Slide Left (Slow)
            #raw 0x34 = Slide Right (Slow)
            #raw 0x35 = Slide Down (Normal)
            #raw 0x36 = Slide Up (Normal)
            #raw 0x37 = Slide Left (Normal)
            #raw 0x38 = Slide Right (Normal)
            #raw 0x39 = Slide Down (Fast)
            #raw 0x3A = Slide Up (Fast)
            #raw 0x3B = Slide Left (Fast)
            #raw 0x3C = Slide Right (Fast)
            #raw 0x3D = Slide Running on Right Foot (Down)
            #raw 0x3E = Slide Running on Right Foot (Up)
            #raw 0x3F = Slide Running on Right Foot (Left)
            #raw 0x40 = Slide Running on Right Foot (Right)
            #raw 0x41 = Slide Running on Left Foot (Down)
            #raw 0x42 = Slide Running on Left Foot (Up)
            #raw 0x43 = Slide Running on Left Foot (Left)
            #raw 0x44 = Slide Running on Left Foot (Right)
            #raw 0x46 = Jump Facing Left (Down)
            #raw 0x47 = Jump Facing Down (Up)
            #raw 0x48 = Jump Facing Up (Left)
            #raw 0x49 = Jump Facing Left (Right)
            #raw 0x4A = Face Player
            #raw 0x4B = Face Against Player
            #raw 0x4E = Jump Down
            #raw 0x4F = Jump Up
            #raw 0x50 = Jump Left
            #raw 0x51 = Jump Right
            #raw 0x52 = Jump in Place (Facing Down)
            #raw 0x53 = Jump in Place (Facing Up)
            #raw 0x54 = Jump in Place (Facing Left)
            #raw 0x55 = Jump in Place (Facing Right)
            #raw 0x56 = Jump in Place (Facing Down/Up)
            #raw 0x57 = Jump in Place (Facing Up/Down)
            #raw 0x58 = Jump in Place (Facing Left/Right)
            #raw 0x59 = Jump in Place (Facing Right/Left)
            #raw 0x60 = Hide Sprite
            #raw 0x61 = Show Sprite
            #raw 0x62 = Exclamation Mark
            #raw 0x63 = Question Mark
            #raw 0x64 = VS Seeker (No)
            #raw 0x65 = VS Seeker (Yes)
            #raw 0x66 = Casino Happy Face
            #raw 0xFE = End Movements


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

            ★ full metal.

            I like to push it,
            and push it,
            until my luck is over.
            Reply With Quote
              #14    
            Old August 17th, 2011 (8:25 PM).
            sky_queen3's Avatar
            sky_queen3 sky_queen3 is offline
            Mimikyu is cute :3
               
              Join Date: Feb 2009
              Location: Australia
              Age: 27
              Gender: Female
              Nature: Naive
              Posts: 265
              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?
              __________________
              Mimic me, mimic you
              Reply With Quote
                #15    
              Old August 18th, 2011 (1:53 PM). Edited August 18th, 2011 by Full Metal.
              Full Metal's Avatar
              Full Metal Full Metal is offline
              C(++) Developer.
              • Silver Tier
               
              Join Date: Jan 2008
              Location: In my mind.
              Age: 22
              Gender: Male
              Nature: Timid
              Posts: 806
              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?
              __________________

              ★ full metal.

              I like to push it,
              and push it,
              until my luck is over.
              Reply With Quote
                #16    
              Old August 18th, 2011 (7:16 PM). Edited August 18th, 2011 by sky_queen3.
              sky_queen3's Avatar
              sky_queen3 sky_queen3 is offline
              Mimikyu is cute :3
                 
                Join Date: Feb 2009
                Location: Australia
                Age: 27
                Gender: Female
                Nature: Naive
                Posts: 265
                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
                __________________
                Mimic me, mimic you
                Reply With Quote
                  #17    
                Old August 19th, 2011 (4:34 AM).
                Full Metal's Avatar
                Full Metal Full Metal is offline
                C(++) Developer.
                • Silver Tier
                 
                Join Date: Jan 2008
                Location: In my mind.
                Age: 22
                Gender: Male
                Nature: Timid
                Posts: 806
                I'm glad to hear you got the issue resolved. Did you also install GTKMM?
                __________________

                ★ full metal.

                I like to push it,
                and push it,
                until my luck is over.
                Reply With Quote
                  #18    
                Old August 19th, 2011 (7:03 AM).
                sky_queen3's Avatar
                sky_queen3 sky_queen3 is offline
                Mimikyu is cute :3
                   
                  Join Date: Feb 2009
                  Location: Australia
                  Age: 27
                  Gender: Female
                  Nature: Naive
                  Posts: 265
                  I did at the time but I moved the files to the wrong place.
                  __________________
                  Mimic me, mimic you
                  Reply With Quote
                  Reply

                  Quick Reply

                  Join the conversation!

                  Create an account to post a reply in this thread, participate in other discussions, and more!

                  Create a PokéCommunity Account

                  Sponsored Links
                  Thread Tools

                  Posting Rules
                  You may not post new threads
                  You may not post replies
                  You may not post attachments
                  You may not edit your posts

                  BB code is On
                  Smilies are On
                  [IMG] code is On
                  HTML code is Off

                  Forum Jump


                  All times are GMT -8. The time now is 8:40 PM.