Insolence, Serenity V2 - Map Editing/Patching Tool

Utilities designed primarily for the xbox version of Halo 2.
akuma327





Posts: 3
Joined: Sat Jun 11, 2005 3:15 am

Post by akuma327 »

.....hi
User avatar
daggerx




Commentator

Posts: 246
Joined: Tue Jul 06, 2004 9:29 am
Location: Long Island, New York
Contact:

Post by daggerx »

thank you for your continued support
and the programs you guys create for the Halo community..

these programs are off the charts...amazing..
Image
Achilles1409





Posts: 8
Joined: Wed May 11, 2005 12:52 pm
Location: Behind you

Post by Achilles1409 »

Hey guys......How do you add a map to the mainmenu using serenity....I see it says mainmenu, map name and map description, but, is that all I have to do? Enter my map name and description, and then close serenity, and ftp it back over? Thanks.
I am indeed a N00000b! (but not for long ;)
The Swamp Fox




Socialist Construct Revivalist Golden Age
Translator Playscaper Enthraller Bloodhound
Illusionist Eureka Wave Scorched Earth
Wordewatician 250

Posts: 410
Joined: Tue Feb 24, 2004 11:22 am
Location: Cantaloupe!

Post by The Swamp Fox »

zulux wrote:
zulux wrote:Any chance you will release a spreadsheet or text file covering the structure of the serenity patch format? It would be very helpful, just as the release of the ppf structure in a text file was very helpful.
BUMP, this would be very useful for developers.
*Cough*...No, I don't think that would ever happen...
Everything in this signature is false.
zulux




Miner Articulatist 100

Posts: 137
Joined: Sun Feb 29, 2004 3:20 pm
Contact:

Post by zulux »

The Swamp Fox wrote:
zulux wrote:
zulux wrote:Any chance you will release a spreadsheet or text file covering the structure of the serenity patch format? It would be very helpful, just as the release of the ppf structure in a text file was very helpful.
BUMP, this would be very useful for developers.
*Cough*...No, I don't think that would ever happen...
I don't see why it would be a bad thing... Just like the ppf structure (not the source code) was released in text format and now we have a bunch of mod installers... why shouldn't we be able to do the same with serenity? Now I know its up to Iron_Forge, but I don't see why the structure should be withheld.
Screw the 3 lines of text limit.
The Swamp Fox




Socialist Construct Revivalist Golden Age
Translator Playscaper Enthraller Bloodhound
Illusionist Eureka Wave Scorched Earth
Wordewatician 250

Posts: 410
Joined: Tue Feb 24, 2004 11:22 am
Location: Cantaloupe!

Post by The Swamp Fox »

Maybe because it's extremely complex, and took him at least a day to make?
Everything in this signature is false.
zulux




Miner Articulatist 100

Posts: 137
Joined: Sun Feb 29, 2004 3:20 pm
Contact:

Post by zulux »

The Swamp Fox wrote:Maybe because it's extremely complex, and took him at least a day to make?
lol, a day... well he wouldn't be releasing the source code, he'd just be saying like

bytes 0 - 5 (string) = serenity patch version
byte 6 (bool) = main menu image exists
bytes 6 - 20 (string) = patch title
continued... to describe this wonderful patch format... (thanks Iron_Forge)

I just came up with that off of the top of my head, so it's nothing like the serenity structure, but it is essentially what would be interesting and helpful to have. Even if it is complex, is it harming anyone if it is released? It would help the community be able to develop batch patchers and map pack installers etc. I'm not asking for the source, because that would be like spoon feeding it to us (which I personally do not need), but just the layout would be good enough. I don't want to have to create a whole new patch format, because the serenity is wonderful and I wouldn't want to take credit away from Iron_Forge... It's up to him, but I personally would be extremely pleased to have something describing the serenity format. Iron_Forge or tjc haven't posted yet though, so I'll just wait for them to answer TSF :wink:
Screw the 3 lines of text limit.
User avatar
Iron_Forge




Illusionist Socialist Decryptor System Engineer
ONI Golden Age Magic Era Bloodhound
Coagulator Omega Mad Hatter Eureka
Critic Tsunami Firestorm Literarian 250

Posts: 532
Joined: Sat Sep 20, 2003 9:21 pm

Post by Iron_Forge »

I probably spent about a week on Serenity between design and coding of the core functionality...

It's needlessly complex, but extremely versatile, and expandable (should I ever feel the need, though I don't forsee that)...

I'm not really sure I see a point of map packs or batch patchers with Serenity, since users can now (or at least in theory in the future), add each new mod easily, allowing them to quickly customize which mods they want, and add them...Unlike the old method where you had to painstakingly edit the MM for each...

There could of course be a central Serenity server for getting mods much like the Insolence auto-update system, but, that sort of thing requires administration, moderation, and determining what is "worthy" so there aren't a billion mods...That sort of attention is probably one of the reasons the files.halomods forums were added, to lessen the load on the whole system...Most things that aren't worth your time, just fade from the new posts onto other pages, greatly reducing the amount of babysitting you need to do...

As for reasons not to release the Serenity format (assuming no one's decompiled the app to reverse engineer it yet, which someone will), is that it has the potential for security features, passworded mods, anti-content ripping measures, etc...While not everyone agree's with these "no sharing of how I did things" policy, it's not for anyone to impose such restrictions on the community that such things aren't possible...

Course, for such things, a secure way of handling it would have to be found...If the format was easy (which it's not), or well documented (which I'm sure someone who's not me will do), then patcher's could be written to easily bypass such features...

If you could come up with a way beyond simple obfuscation of the process to protect such security measures from not being processed, I'd be happy to hear them...
User avatar
daggerx




Commentator

Posts: 246
Joined: Tue Jul 06, 2004 9:29 am
Location: Long Island, New York
Contact:

Post by daggerx »

indeed...
well stated..

:D
Image
af_snowboarder01





Posts: 1
Joined: Sun Jun 20, 2004 6:00 pm

Post by af_snowboarder01 »

As for the not having to edit the MM, I'm kinda confused as to how that works (no explanation :? ). Does it add the entry into the map that you're patching, or do you have to load your mainmenu.map into serenity (and if so, how)?

TIA, as I would loving adding pics to the maps I already had (for some reason h2edit just doesn't cut it anymore :lol: ).
luap





Posts: 1
Joined: Fri Jun 10, 2005 9:14 pm

Post by luap »

Achilles1409 wrote:Hey guys......How do you add a map to the mainmenu using serenity....I see it says mainmenu, map name and map description, but, is that all I have to do? Enter my map name and description, and then close serenity, and ftp it back over? Thanks.
just use dot halo for that
zulux




Miner Articulatist 100

Posts: 137
Joined: Sun Feb 29, 2004 3:20 pm
Contact:

Post by zulux »

Thank you very much for that answer Iron_Forge. Although it would've been nice to incorporate your patching format into this project, it now seems like that will be out of the question without doing some harder work on the patches themselves. I understand your reasoning though... thank you.

For now, it appears as though the simple obfuscation of the process an patch itself will protect the mods from being decompiled :wink: Although the patches seem to be filled with chunks of modified tags, so maybe it won't protect the changes from being discovered.
Screw the 3 lines of text limit.
User avatar
Iron_Forge




Illusionist Socialist Decryptor System Engineer
ONI Golden Age Magic Era Bloodhound
Coagulator Omega Mad Hatter Eureka
Critic Tsunami Firestorm Literarian 250

Posts: 532
Joined: Sat Sep 20, 2003 9:21 pm

Post by Iron_Forge »

af_snowboarder01 wrote:As for the not having to edit the MM, I'm kinda confused as to how that works (no explanation :? ). Does it add the entry into the map that you're patching, or do you have to load your mainmenu.map into serenity (and if so, how)?

TIA, as I would loving adding pics to the maps I already had (for some reason h2edit just doesn't cut it anymore :lol: ).
OK...Here's the basic method of the MM stuff in Serenity...While creating a patch, if you jump to the MM tab, check the box, and fill out the info, it will add all the info to the patch for being applied...

When you load a patch, it will populate all that info onto the MM tab...If the box on the MM tab is checked, it will attempt to add this info to the MM.map (so you can uncheck it if you just want to patch the map, and don't want to add it to the MM, since I'm sure not all patches are really worth adding)...If the box is checked however, it will look for MM.map in the maps folder you've specified on the setup tab, and add the entry to that page...

For now, it simply looks for a blank entry in the multiplayer struct, and uses that for the new map...If no blank entry is found, it tells you so, and doesn't add the map (so you're limited to 50 maps still)...You could of course make this 100 entries or whatever by injecting some more blank entries, and setting the reflexive count higher...I figure it's something that may be done should it actually become an issue with more than 0.001% of the modding community...

If there was an image on the MM tab, it will also check if the blank selected multiplayer entry (reflexive/chunk) had a unique multiplayer bitmap offset...If it did, the image is replaced with a new one...If it did not, then a new image is injected, and the raw offset is updated...
EvilMidget





Posts: 313
Joined: Tue Nov 16, 2004 2:07 pm
Contact:

Post by EvilMidget »

Hey Iron_Forge, is there any way to protect your map from insolence ripping or any type of copying by other modders?
User avatar
Iron_Forge




Illusionist Socialist Decryptor System Engineer
ONI Golden Age Magic Era Bloodhound
Coagulator Omega Mad Hatter Eureka
Critic Tsunami Firestorm Literarian 250

Posts: 532
Joined: Sat Sep 20, 2003 9:21 pm

Post by Iron_Forge »

zulux wrote:For now, it appears as though the simple obfuscation of the process an patch itself will protect the mods from being decompiled :wink: Although the patches seem to be filled with chunks of modified tags, so maybe it won't protect the changes from being discovered.
The problem is really two fold...You have to protect the data once it's applied to a new map, aswell as the data in the patch itself...Both would be trivial if no one could decompile Serenity and see how it works, then modify it or create their own patching software leaving out any added security...I don't plan on recoding it in C++ or something that isn't so easily decompiled, but at the same time, I don't want to add all the security until I know it's secure... ;o)
EvilMidget





Posts: 313
Joined: Tue Nov 16, 2004 2:07 pm
Contact:

Post by EvilMidget »

Iron_Forge wrote:
zulux wrote:For now, it appears as though the simple obfuscation of the process an patch itself will protect the mods from being decompiled :wink: Although the patches seem to be filled with chunks of modified tags, so maybe it won't protect the changes from being discovered.
The problem is really two fold...You have to protect the data once it's applied to a new map, aswell as the data in the patch itself...Both would be trivial if no one could decompile Serenity and see how it works, then modify it or create their own patching software leaving out any added security...I don't plan on recoding it in C++ or something that isn't so easily decompiled, but at the same time, I don't want to add all the security until I know it's secure... ;o)
Thanks for the quick reply.
zulux




Miner Articulatist 100

Posts: 137
Joined: Sun Feb 29, 2004 3:20 pm
Contact:

Post by zulux »

Iron_Forge wrote: The problem is really two fold...You have to protect the data once it's applied to a new map, aswell as the data in the patch itself...Both would be trivial if no one could decompile Serenity and see how it works, then modify it or create their own patching software leaving out any added security...I don't plan on recoding it in C++ or something that isn't so easily decompiled, but at the same time, I don't want to add all the security until I know it's secure... ;o)
Ahh yes... the changes are very easily discovered once patched to the map using serenity. The data in the patch itself is slowly making more and more sense. I haven't tried decompiling the app, but I've got the header of the patch figured out (not that hard), and if you change something not in the tag index it writes out the length of the change, the position of the change, and the change itself. If you change a value in a tag, it will write out the tag name with the change. There is still a lot more data in the patch I have yet to figure out though, lots of values between positions, lengths, and changes. Also, I'm sure you spent a while on the code... just from looking at the patch it seems like you use the tag index to help with rebuilt maps (and tags with changed values) so even if I figure out everything in the patch it will still be hard to recreate a patcher. Well, I'll keep looking into it because it would be nice to include your format into an upcoming project if that's ok with you... otherwise I'll have to develop one like it, but I'm sure you'd rather use yours. Pretty interesting stuff here though, nice job.

About the security... do we really need to protect our mods? Isn't the point of this halo modding community supposed to be more like an open-source environment... I mean it would be cool to create a mod that no one can re create, but then either after patching you can find the changes or if you create a secure map file, it most likely will not be loaded in game because the format would be messed up. I personally like the open source idea because it advances everyone in the community which leads to better mods...
Screw the 3 lines of text limit.
User avatar
Iron_Forge




Illusionist Socialist Decryptor System Engineer
ONI Golden Age Magic Era Bloodhound
Coagulator Omega Mad Hatter Eureka
Critic Tsunami Firestorm Literarian 250

Posts: 532
Joined: Sat Sep 20, 2003 9:21 pm

Post by Iron_Forge »

zulux wrote:About the security... do we really need to protect our mods? Isn't the point of this halo modding community supposed to be more like an open-source environment... I mean it would be cool to create a mod that no one can re create, but then either after patching you can find the changes or if you create a secure map file, it most likely will not be loaded in game because the format would be messed up. I personally like the open source idea because it advances everyone in the community which leads to better mods...
This is a long standing debate, with good points from both camps...I have my opinions on it, just as you do...But there's little point discussing it here, it's not one that will ever find happy ground with anyone...

I don't see Serenity as "my little world"...It's really the first patch format for the Halo community...And it is for them...Because it's for everyone, I don't feel it should force people to secure their mods/maps, nor should it force people to share how everything was done...I don't want it to choose your side, I want it to be open to everyones opinion for their mods...

If there was just security, no one would share...If there was no security (as it stands now), everyone must share...I don't feel a community patch format should fall on one side of the issue...
zulux




Miner Articulatist 100

Posts: 137
Joined: Sun Feb 29, 2004 3:20 pm
Contact:

Post by zulux »

Iron_Forge wrote: This is a long standing debate, with good points from both camps...I have my opinions on it, just as you do...But there's little point discussing it here, it's not one that will ever find happy ground with anyone...

I don't see Serenity as "my little world"...It's really the first patch format for the Halo community...And it is for them...Because it's for everyone, I don't feel it should force people to secure their mods/maps, nor should it force people to share how everything was done...I don't want it to choose your side, I want it to be open to everyones opinion for their mods...

If there was just security, no one would share...If there was no security (as it stands now), everyone must share...I don't feel a community patch format should fall on one side of the issue...
Well stated... that just about sums everything up then... Once again, thank you for serenity, you did a great job on it. one.
Screw the 3 lines of text limit.
Achilles1409





Posts: 8
Joined: Wed May 11, 2005 12:52 pm
Location: Behind you

Post by Achilles1409 »

Is there any way to mod the map directly using insolence or ch2r, etc., and then Add it to the mainmenu with serenity? Or do I have to have a patch?
Thanks.
I am indeed a N00000b! (but not for long ;)
Post Reply