dat ass.

 

PartyBlam is a .NET library aimed to aid developers who don't have time to research the file formats of the Blam! engine, but have some really cool ideas and want to get them done without spending a week or so researching it all. And obviously, it's OpenSauce and Free. duh. (Although, if you want to use it in a closed-source/paid application, we can talk). Also, I now support both sides of the pond. Download the en-US version for spelling that isn't correct, and download the en-GB version for spelling that is correct and intelligent (ie; colour).

Currently I have no interest in adding; Halo 3, ODST, Reach and Anniversary Campaign Game-save support. I mean, we have a sister project for that ;). But if you want it, tweet me, and I may consider it.

Oh and if you encounter any bugs, just post them in the Issue Tracker. Next time I find a computer I'll be sure to maybe read them.

 


Current File-types supported; 


  • Halo 3
    • feature.film (Theatre Films)
    • sandbox.map (Usermaps)
    • screen.shot (Screenshots)
    • 4D5307E6.gpd (Profile GPD's)
  • Halo 3: ODST
    • feature.film (Theatre Films)
    • 4D530877.GPD (Profile GPD's)
    • screen.shot (Screenshots)
  • Halo: Reach
    • feature.film (Theatre Films)
    • screen.shot (Screenshots)
  • And obviously more coming soon!

 


I've put some documented examples below of usage of the dll;


 Modify a Halo3 film:

public void modifyHalo3Film()
{
    OpenFileDialog ofd = new OpenFileDialog();
    ofd.Title = "Open a Halo 3 film!";
    ofd.Filter = "Halo 3 film|feature.film";
    if (ofd.ShowDialog() == DialogResult.OK)
    {
        // Call the film class
        PartyBlam.Blam.Halo3.Film film = new PartyBlam.Blam.Halo3.Film(ofd.FileName);

        // Loop through every Player in the film
        foreach (Film.PlayerObject player in film.FilmPlayers)
        {
            // Check if it's the gamertag you want to replace
            if (player.Gamertag == "PartyBlam Test")
            {
                // Modify Gamertag and Service Tag
                player.Gamertag = "Modified Gamertag";
                player.ServiceTag = "I17";

                // Modify player armour
                player.SpartanProperties.Helmet = Film.SpartanHelmet.Recon;
                player.SpartanProperties.LeftShoulder = Film.SpartanShoulder.Recon;
                player.SpartanProperties.RightShoulder = Film.SpartanShoulder.Recon;
                player.SpartanProperties.Chest = Film.SpartanChest.Bungie;

                // Make player a sexy lady
                player.SpartanProperties.Gender = Film.SpartanGender.Female;
            }
        }

        // Save and Update the film
        film.Update();
                
        // Close the film
        film.Close();
    }
}

I'll be updating this with more examples, as much as I feel it needs it.


 


Last edited Dec 24, 2012 at 9:17 AM by Xerax, version 30