PDA

View Full Version : Gravemind Source



supersniper
May 28th, 2010, 12:08 AM
So yeah... does anyone have it? it was on halomods before it died but yeah... I never downloaded it cuz i didn't need it then but now i do.

here was the topic.

http://www.halomods.com/forums/viewtopic.php?p=859786&sid=d9d5a3e82697f86839ab6342a1961637
http://www.halomods.com/forums/viewtopic.php?p=859786&sid=d9d5a3e82697f86839ab6342a1961637

jcap
May 28th, 2010, 01:16 AM
Source? I'm not sure what you mean by that... Like the ripped tags?

Anton
May 28th, 2010, 01:51 AM
I know that the database for halomods was copied to rework3d a month or so before it finally went down. It may be there.

http://rework3d.com/forums/viewforum.php?f=103

It may be on remnantmods.com too.. I haven't been there in awhile, so I don't know.

Also, Jcap: He wants the source code for an application for Halo 2 Vista.

supersniper
May 28th, 2010, 02:13 AM
well i've been to remnant mods but grimdoomer is like blah it's out there i don't have my source anymore blah blah blah.
and it was hosted on modnexus (halomods) after the database copy so rewor3d doesn't have it. so that's why I'm posting here in case anyone did download it.

Shock120
May 28th, 2010, 04:59 AM
You may try to contact sourceguy on hm.sourceguy@gmail.com, hope he wasn't dumb enough to delete halomods/modnexus domain.
Also hope he still has the posts that link to Gravemind's source, as grimdoomer went on a edit spree during the death of the site.

Good luck.

CodeBrain
May 28th, 2010, 07:00 PM
give me a moment ill give you them (ill link it here)

Edit: http://www.mediafire.com/?nzdrkzewmdt

There you go.

Resinball
May 28th, 2010, 07:39 PM
Right on Code, you going to improve it or try and make your own version sniper? Either way I'm glad someone is looking into it.

Shock120
May 29th, 2010, 05:02 AM
apparently, one tag was removed from the mainmenu.map
This tag was the container for the rank emblems on the player's profile

If they are able to inject this with a modified gravemind, who knows what could happen. xD
Then servers can be set up with artificial ranking, based on the saved matches results.

just a theory...

Resinball
May 29th, 2010, 08:18 AM
That would be sick.

I'm curious about editing the vehicle tag through Gravemind. I'm missing the plug-in, so does a vehicle plug-in even exist..?..Looking through the plugin folder I see three vehi entries, ok. But I get an error when I try to open that tag, is it possible for anyone else to view a vehicle?


Lately, I've been trying to make single use items, and deployable turret vehicles. I know of at least one method that will work, but its sloppy because you still have an item in your hands. When I tried to recreate the deployable turret from the marines in SP I get some interesting results. First of all, I cannot pick the item up off the ground, and if I spawn with it...well, I spawn empty handed. Now the weird part. If I take the same tag and rename it then the map will refuse to show itself in the custom map menu. One would assume that the original had the CANNOT BE USED BY PLAYER flag. But if I set such a flag myself, then load that as an aged weapon (like the sword when its used up) the map will not show itself in the list.

Shock120
May 29th, 2010, 09:02 AM
you don't use gravemind for MP maps, only for SP/internalized maps.
I am curious as to what could've been done if we were allowed to edit shared.map

Resinball
May 29th, 2010, 10:27 AM
I use Gravemind for a few MP related things, why not? At a minimum, its good for studying existing maps.

Kantanomo
May 29th, 2010, 03:30 PM
Kills alone (AkA) resinball is right gravmind can be used to modify custom mp maps like his and once i figure out the mp vehc tag ill try to make a plugin plus the vehc tags are really in the shared.map

I have also determend why we cant open shared.map or the most logical answer

Kantanomo
May 29th, 2010, 03:35 PM
Double post??

it seems that there is a piece of the gravmind missing called xceed compression formats

supersniper
May 29th, 2010, 04:01 PM
Thanks code. I appreciate this. And yeah I'm going to try and get this to work with the mainmenu.map
+rep

Resinball
May 29th, 2010, 05:48 PM
Good luck Sniper, you keep progressing in the same direction and I'll recommend a place at MM if you want it, and if it wants you, lol.

supersniper
May 30th, 2010, 12:37 AM
Good luck Sniper, you keep progressing in the same direction and I'll recommend a place at MM if you want it, and if it wants you, lol.lol yeah we'll see how that goes.

Double post??

it seems that there is a piece of the gravmind missing called xceed compression formatsUh... that was a very simple fix. but now making it compile in x86 is going to be tricky... apparently grimdoomer doesn't code for 64bit operations. I can debug it fine but when I try to open a map file i get this error

BadImageFormatException was unhandled
is not a valid Win32 application. (Exception from HRESULT: 0x800700C1)
I know how to compile it in x86 format but then i get a huge mess of errors after that...

Shock120
May 30th, 2010, 05:08 AM
ah, ok.
all [vehi] are external.
but...[vehc] (vehicle collection) is not, problem is, there is no plugin made for it. ='(

Resinball
May 30th, 2010, 07:14 AM
Ahh yes it was vehc as you said not, vehi. Well that gets us nowhere.

If only there was a way to make a secondary shared.map file and point requests for new content there.

Kantanomo
May 31st, 2010, 07:33 PM
i think the way gravemind reads maps is it looks for particular tags like say.



*cen (scen resource)
*ehi (vehical resource
*ligh (light resource)
*ipd (biped resource)
*sce (??? resource)
/**/ (???????)
dc*s (????)
dec*s (decorators resource?)
dgr*s (no idea)
sstl (resource)

Those are tags that are located in the MP maps but not in the shared.map i think these may be the reason for why we can not open it in ggravmind hopefully we can get around this.

Shock120
June 1st, 2010, 03:28 AM
grimdoomer did it on purpose, he doesn't want anyone to mod h2v.
also those tags are resources connected to [scnr] tag like sub tags (you will find them in SP and MP maps), probably some memory efficient technique involved them being like that.

supersniper
June 1st, 2010, 10:39 AM
I'm still trying to get it to debug in 64bit operating systems...
he coded it in 32bit and well when I try to debug it to test out my stuff I get an unhandled exception...

Kantanomo
June 1st, 2010, 05:09 PM
my thought is that he took the maps and read the tags and stuff and used those beginning tags to determine were to start reading the hex of the maps.


p.s.

SuperSniper you can TV my lappy and mess with it?

Grimdoomer
June 5th, 2010, 12:32 AM
Man I don't even know what to say about this. Lets see.. First off I did not do anything because I didn't want people to mod h2v. I didn't initially add multiplayer map support because I didn't know how secure the maps where. I later learned they used a bit of crypto so I added it. The reason when you open mp maps there are only a few tags to edit is because those are the only tags in the map. The rest are externally referenced in shared. The shit faces who ported the game didn't realize you can externally reference data by setting the upper most 3 bits depending on what map it's in. If they did, then they could have just set those bits for the offset and it would have been easy. Instead they chose to use the same tag id as the external tag and force it to be in shared. The only problem is if you edit shared the game does wierd things, ex no changes in game or it crashes. So I don't know wtf it's doing nor do I care.

If you wan't to get any where with this app you are going to have to learn the structure of the map file and how it works. Without knowing jack about the maps you are going to be forever lost. If you really wan't I can make a new version of Gravemind with the tag handling system I used in Mutation. I'll keep it simple with a meta editor, possibly tag builder and a working real time halo editor. I really wanted to use some d3d hooks with h2v and draw the RTH editor in game so you wouldn't have to constantly tab back and forth to edit things. But that is gunna require some fancy tickling to get me to do.

supersniper
June 5th, 2010, 01:25 AM
I've been reading up on your article (if i'm correct) over at rewor3kd about the h2v map structure. So I am getting somewhere it's just i'm having trouble with the whole 64bit 32bit debugging... it's mainly with the halomaps.dll

Kantanomo
June 5th, 2010, 01:49 AM
Hey there Grim, I would absolutly love it if you could do that i have been working on a realtime Tag editor but its going slow cause i only know basic's about the map structure.



EDIT:

found somthing in google:


https://www.wmclan.net/haloforge/tags/?page=h2v

Shock120
June 5th, 2010, 05:13 AM
Their MP format is so full of failsauce, it is better to use Campaign format (I can add the maps to the mainmenu myself.) =D
I do believe campaign is an easier format, as it is similar to H2X. But in truth, everyone could've benefited if only HiredGun were not retarded.

I can't believe E3P0 had more H2V stuff, I did know he ported Prophet for H2V (didn't work). :O
Is any of his tag mapping of any benefit?


I didn't want people to mod h2v. I didn't initially add multiplayer map support because I didn't know how secure the maps where.If you didn't want people to mod, they would hack (I talk from my own experience too. :/ )

please think about the SP format, screw the mp format, remember how H2V can be like H2X without the added complications of the MP format.

supersniper
June 5th, 2010, 11:13 AM
yeah prophet didn't work . E3pO ported that a while back. I don't even think he's working on h2v tag structures anymore.

Kantanomo
June 5th, 2010, 12:43 PM
I was wrong

Kornman00
June 5th, 2010, 05:54 PM
The shit faces who ported the game didn't realize you can externally reference data by setting the upper most 3 bits depending on what map it's in. If they did, then they could have just set those bits for the offset and it would have been easy. Instead they chose to use the same tag id as the external tag and force it to be in shared. The only problem is if you edit shared the game does wierd things, ex no changes in game or it crashes. So I don't know wtf it's doing nor do I care.
*Ahem*, Hired Gun used the external tags as a security measure to make sure everyone playing the game was using the same basic tags. Also, you're talking about cache resource handles, which dedicate the uppermost bits to the shared cache type in which they reside in. These are not used in any way when it comes to tag instances so they couldn't have "just used" them. They had complete source access so I'm sure they had a pretty good idea of what the hell they were working with when it came to porting. Some of the stuff they did exemplifies this. Some of the stuff they couldn't release would have too.

The values in the tag instances in the tag index are actual addresses, not offsets. To top it off, MP maps use virtual-addresses as they get relocated in memory and not at a fixed address (another security measure to halt cheaters or at least script kiddies), much like how G4WL allows the EXE to be relocated (even though it isn't a DLL). "Shared" tag instances are stored in the upper 0x1000 instances IIRC. Anything below that is where the tools store non-shared tag data (and thus tag data specific to the cache file).

Grimdoomer
June 5th, 2010, 06:47 PM
Hey there Grim, I would absolutly love it if you could do that i have been working on a realtime Tag editor but its going slow cause i only know basic's about the map structure.



EDIT:

found somthing in google:


https://www.wmclan.net/haloforge/tags/?page=h2v
Those would be the tag defs I ripped from h2 tool.


*Ahem*, Hired Gun used the external tags as a security measure to make sure everyone playing the game was using the same basic tags. Also, you're talking about cache resource handles, which dedicate the uppermost bits to the shared cache type in which they reside in. These are not used in any way when it comes to tag instances so they couldn't have "just used" them. They had complete source access so I'm sure they had a pretty good idea of what the hell they were working with when it came to porting. Some of the stuff they did exemplifies this. Some of the stuff they couldn't release would have too.

The values in the tag instances in the tag index are actual addresses, not offsets. To top it off, MP maps use virtual-addresses as they get relocated in memory and not at a fixed address (another security measure to halt cheaters or at least script kiddies), much like how G4WL allows the EXE to be relocated (even though it isn't a DLL). "Shared" tag instances are stored in the upper 0x1000 instances IIRC. Anything below that is where the tools store non-shared tag data (and thus tag data specific to the cache file).
Yep, was wrong on the resource handles. But iirc you can reference the bsp using a handle like such, probally where I got the idea you could use it for other tags too. Yes all the tags use addresses, but no one actually uses them as "addresses", they translate them to local offsets. One of the things the community does that you hate.

Kantanomo
June 5th, 2010, 07:46 PM
with gravmind tho it is still very easy and possible to mod MP u just gotta use CE :) but no custom bitm's or stuff like that "yet?"

Kornman00
June 6th, 2010, 12:13 AM
Yep, was wrong on the resource handles. But iirc you can reference the bsp using a handle like such, probally where I got the idea you could use it for other tags too.
The 32-bit resource offset handles are specific to the resource cache (geometry, sound, etc). While some non-tag fields in the scenario's structure_bsp_reference block may hold the offset for the bsp and lightmap header, I'm pretty sure I remember tool just setting the offsets without any extra markup (ie, by using the upper 3 bits a shared cache type enum value). Even if that too piggy backed off the geometry cache system when building a cache file, I would have to wonder its ability in being able to actually work in halo2 (xbox/vista) with that functionality of storing the structure bsp data in a shared cache.

The structure bsps are stored in their own sections in the cache file since only one can be and is loaded at one time (at least on Xbox1, this setup was tweaked for the better on the 360). It's still treated as tag data just when a bsp switch comes around, the loaded bsp memory is replaced with the newly loaded one's.