Injecting a crosshair replacement in Halo 2 Vista?

May 30, 2016
8
0
1
Uplift Nature Reserve
Gamertag
Sukazaki
#1
I'm trying to inject a custom remade version of the Sniper crosshair based on the OG Xbox sniper crosshair into Halo 2 Vista's singleplayer. You see, the original Halo 2 had a diamond shaped crosshair, unlike Halo 2 Vista, which made it a circle.

As such, I've injected a new dds into bitmap chunk 22 (The Sniper's crosshair in hud_reticle) using Gravemind 1.6B. However, upon completing the process, the bitmap seems to show up in bitmap chunk 0 (the SMG), with some offset and size changes for it, instead of chunk 22, which I clearly selected in blue. It seems Gravemind can't inject it into any other chunk other than chunk 0. Would anyone know a fix for this?

Here's how that problem looks like in game:
 

supersniper

The lost soul
Project Cartographer Staff
Feb 14, 2013
379
8
18
www.youtube.com
Gamertag
supersniper
#2
Do you have the bitmap? Also how did you comepile the bitmap?

Also if you want OG reticles. Then the beam rifle and battle rifle need to be remade as well. If you open up entity and look at the HUD bitmaps of Xbox maps you can clearly see differences between many weapons
 
May 30, 2016
8
0
1
Uplift Nature Reserve
Gamertag
Sukazaki
#3
Do you have the bitmap? Also how did you comepile the bitmap?

Also if you want OG reticles. Then the beam rifle and battle rifle need to be remade as well. If you open up entity and look at the HUD bitmaps of Xbox maps you can clearly see differences between many weapons
I am aware of the Beam Rifle issue. The OG Xbox version was supposed to only display the dot when aiming for the head, but in H2V, the dot is always displayed. I consider it a smaller issue, though, so I'm focusing on the Sniper Rifle first, which I can't even get working right now, due to Gravemind 1.6B failing to inject into the correct bitmap chunk. As for the Battle Rifle, I don't see the difference, and I haven't noticed anything about the other weapon crosshairs, granted, I haven't actually compared the bitmaps yet.

I really need help with injecting it into the right bitmap chunk. I'm not using the OG reticles, since they're in a lower resolution. Instead, I took the Sniper crosshair from Halo CE Refined then edited it with Photoshop to remove the dot and resized it to conform with the 20x20 dimensions of the H2V sniper crosshair. The version with the dot, to indicate headshots, is something I plan to do after resolving the current issue.

Here's the dds file I'm trying to inject: https://drive.google.com/open?id=1drec-X1iFZLXkisUk-kCkt0toi6yzbx4
While Gravemind can inject it into the game, it just doesn't inject it into the right bitmap chunk, so it doesn't get to display with the Sniper Rifle, instead it only displays when I have the SMG equipped, which is bitmap chunk 0. It seems to me that Gravemind can't identify which bitmap chunk I want to inject to.

This entire thing is for a little H2X Campaign mod I'm doing, which, yes, does include fire rate fixes, which I've already applied to all the maps. I've also gotten a similar effect to the OG Xbox's Pelican thrusters into Halo 2 Vista, as well as a fix for Delta Halo's leaves (Begone dead tree look), which fail to render on newer GPUs (Mine being an Nvidia GTX 1060).
 
Last edited:

supersniper

The lost soul
Project Cartographer Staff
Feb 14, 2013
379
8
18
www.youtube.com
Gamertag
supersniper
#4
Well I'll take a look about the injection,

But you seem to not fully understand how this "dot" works.

There are 2 aspects to hud_reticle. There is a normal and a weak spot one.

weak spot hud reticles are overlayed over normal ones when a certain trigger point is aimed at. For example a dot appears on precision weapons when there is a head shot. Also the carbine and battle rifle, as well as the sniper rifles have weak spot reticles that make the reticle thicker when aiming at an enemy in general. Or a non head shot weak spot such as the pink belly of the hunter.

These are different compared to the OG xbox version. Your best bet is to go through each bitmap and compare between.

Next it's best to document the .dds format you used to compile this for future usages.

Lastly the original dimensions of the sniper reticle were 9x9. Which means a proper reticle upscaled for halo 2 vista would be 18x18 not 20x20.

Just some points and insights on your h2x mod. If you are talking about corrected fire rates, you can get those from our projects source. they are near 100% perfect however in order to get a perfect sync you need to limit the engine's refresh rate to 30 iterations a second.
 
May 30, 2016
8
0
1
Uplift Nature Reserve
Gamertag
Sukazaki
#5
Well I'll take a look about the injection,

But you seem to not fully understand how this "dot" works.

There are 2 aspects to hud_reticle. There is a normal and a weak spot one.

weak spot hud reticles are overlayed over normal ones when a certain trigger point is aimed at. For example a dot appears on precision weapons when there is a head shot. Also the carbine and battle rifle, as well as the sniper rifles have weak spot reticles that make the reticle thicker when aiming at an enemy in general. Or a non head shot weak spot such as the pink belly of the hunter.

These are different compared to the OG xbox version. Your best bet is to go through each bitmap and compare between.

Next it's best to document the .dds format you used to compile this for future usages.

Lastly the original dimensions of the sniper reticle were 9x9. Which means a proper reticle upscaled for halo 2 vista would be 18x18 not 20x20.

Just some points and insights on your h2x mod. If you are talking about corrected fire rates, you can get those from our projects source. they are near 100% perfect however in order to get a perfect sync you need to limit the engine's refresh rate to 30 iterations a second.
I'm not going to get ahead of myself. I'm just trying to do one thing at a time. I'm still having problems with injecting crosshairs in the first place, so I'm not bothering with the dot yet. I am aware that there are two bitmaps for the reticles: hud_reticle and hud_weak_spot_reticles, where the latter is for the headshot dot. I have one for each and I based the dimensions on extracted bitmaps from Halo 2 Vista, not the original Xbox. When I extracted the reticle for the Sniper from H2V, my photo editing programs stated that it was 20x20, meanwhile hud_weak_spot_reticles bitmap chunk was 18x18, which I followed for the version with the dot. I do think the sniper crosshairs in 20x20 may be a tad too big, though, so maybe 18x18 is better size, yeah, and probably matches its OG Xbox behavior more, when used together with the weak spot reticle. But that's a problem for later. Must be able to properly inject first.

While the the bitmaps were originally A8R8B8G8, it resulted in an error "value cannot be null" in Gravemind, though the crosshair appeared in the game just fine. When I used DXT5, however, the issue no longer appeared, but I still can't get Gravemind to inject into the correct bitmap chunk. I was also told that DXT5 actually worked better for H2V.

As for the firing rates, I already have them implemented in the H2X Campaign based on the Project Cartographer source code on the GitHub. I also already implemented fixes for the tree leaves and the Pelican thrusters. They were all already in there before I even posted here. The crosshairs are my current problem. I'm focusing on the Sniper Rifle and Beam Rifle for now. I don't know any other differences between the H2V and H2X crosshairs, but I'll take a look at that issue of the weak spot indicator behaving differently from H2X once I can actually inject the crosshairs properly. Right now, I just want the Sniper crosshairs to be a diamond, and I want to get them injected onto the Sniper Rifle hud_reticle bitmap chunk.
 
Last edited: