bruddog Posted February 12, 2004 Share Posted February 12, 2004 I reversed engineered your graphics hack to figure out where the small helmet and large helmet pointers are. However I'm confused about how the last byte for the small helmets works. It seems to control both the helmet pallete set used as well as what sprite overlay to use(i.e Chicago C, Falcons symbol, etc). Also is there any way to change which pallette set that the overlay uses? I can probably figure it out eventually but just figure its faster to ask sicne you must already know. Quote Link to comment Share on other sites More sharing options...
cuppettcj Posted February 13, 2004 Share Posted February 13, 2004 I know that your post is directed towards GRG, but I figured I'd reply with what I know, since I've been messing around with mini helmets a lot lately.You actually didn't have to reverse engineer anything, since GRG already posted information about mini helmet pointers here.You said you already figured out the first four bytes, but I'll go over everything for the benefit of others in the forum. The hex data for the helmets start at offset 23BC6 and end at 23C51. Each team is assigned 5 bytes, each byte made up of two hex digits. For those technically challenged, this means that each team is assigned 10 hex digits. Here are the default hex data from the original TSB ROM:BUF: 94 95 96 8B 00IND: 88 89 8A 8B 00MIA: C0 C1 AB 83 07NE: 90 99 9A 9B 00NYJ: BC BD 97 8B 3BCIN: A8 A9 AA 8B 01CLE: CC CD CE 00 09HOU: 98 99 9A 9B 00PIT: 8F 89 8A 8B 0DDEN: 9E 9F A2 8B 00KC: 9C 9D 97 8B 00RAI: B0 B1 B2 9B 01SD: BA BB 82 83 02SEA: 86 87 82 83 10WAS: 93 A1 A2 8B 16NYG: A0 A1 A2 8B 00PHI: BE BF 97 00 1BPHX: 8C 8D 8E 83 1CDAL: 80 81 82 83 00CHI: 8F 89 8A 8B 21DET: 84 85 82 83 00GB: A3 A7 B7 9B 27MIN: D2 D3 00 00 2ATB: AE AF B3 83 2DSF: A4 A5 A6 83 30RAM: B4 B5 B6 83 02NO: AC AD A2 8B 31ATL: 8F 89 8A 8B 35The first byte (two hex digits) corresponds to the pointer for the upper-left helmet tile (where most, if not all, of the logo is located), the second byte corresponds to the pointer for the upper-right helmet tile, the third byte corresponds to the pointer for the lower-left helmet tile, and the fourth byte corresponds to the pointer for the lower-right helmet tile, or facemask. Some teams share tiles since parts of their helmets are the same. For instance, both Buffalo and Indianapolis use identical facemasks, so both of their fourth byte values are 8B, the same facemask tile. Hex value 00 points to a blank tile, which may seem strange, until you understand how the fifth byte works. The fifth byte for each team corresponds to the palette used, the tile overlay or underlay (if any, more on this later), and other special enhancements such as overlayed stripes and/or facemasks. Here is a list of fifth byte values followed by explanations on what each does:00 - changes palette to transparent, red, blue/gray, and white01 - changes palette to transparent, gray, orange, and black02 - changes palette to transparent, white, dark blue, and yellow03 - changes palette to transparent, dark green, aqua blue, and white04 - same as 00, but overlays the Miami Dolpins' logo tile (1 tile)05 - same as 01, but overlays the Miami Dolpins' logo tile (1 tile)06 - same as 02, but overlays the Miami Dolpins' logo tile (1 tile)07 - same as 03, but overlays the Miami Dolpins' logo tile (1 tile)08 - same as 00, but gives the overall helmet a white stripe across the top and a white facemask (like what the CLE helmet uses)09 - same as 01, but gives the overall helmet a white stripe across the top and a white facemask (like what the CLE helmet uses)0A - same as 02, but gives the overall helmet a white stripe across the top and a white facemask (like what the CLE helmet uses)0B - same as 03, but gives the overall helmet a white stripe across the top and a white facemask (like what the CLE helmet uses)0C - same as 00, but overlays the Pittsburgh Steelers' logo tiles (2 tiles)0D - same as 01, but overlays the Pittsburgh Steelers' logo tiles (2 tiles)0E - same as 02, but overlays the Pittsburgh Steelers' logo tiles (2 tiles)0F - same as 03, but overlays the Pittsburgh Steelers' logo tiles (2 tiles)10 - same as 00, but overlays the Seattle Seahawks' logo tile (1 tile)11 - same as 01, but overlays the Seattle Seahawks' logo tile (1 tile)12 - same as 02, but overlays the Seattle Seahawks' logo tile (1 tile)13 - same as 03, but overlays the Seattle Seahawks' logo tile (1 tile)14 - same as 00, except creates a red helmet background, then underlays the Washington Redskins' logo tile (1 tile)*15 - same as 01, except creates a red helmet background, then underlays the Washington Redskins' logo tile (1 tile)*16 - same as 02, except creates a red helmet background, then underlays the Washington Redskins' logo tile (1 tile)*17 - same as 03, except creates a red helmet background, then underlays the Washington Redskins' logo tile (1 tile)*18 - same as 00, but overlays the Philadelphia Eagles' logo tiles (2 tiles) and gives the helmet a blue/gray facemask19 - same as 01, but overlays the Philadelphia Eagles' logo tiles (2 tiles) and gives the helmet a blue/gray facemask1A - same as 02, but overlays the Philadelphia Eagles' logo tiles (2 tiles) and gives the helmet a blue/gray facemask1B - same as 03, but overlays the Philadelphia Eagles' logo tiles (2 tiles) and gives the helmet a blue/gray facemask1C - same as 00, but overlays the Phoenix Cardinals' logo tile (1 tile)1D - same as 01, but overlays the Phoenix Cardinals' logo tile (1 tile)1E - same as 02, but overlays the Phoenix Cardinals' logo tile (1 tile)1F - same as 03, but overlays the Phoenix Cardinals' logo tile (1 tile)20 - same as 00, but overlays the Chicago Bears' logo tile (1 tile)21 - same as 01, but overlays the Chicago Bears' logo tile (1 tile)22 - same as 02, but overlays the Chicago Bears' logo tile (1 tile)23 - same as 03, but overlays the Chicago Bears' logo tile (1 tile)24 - same as 00, except creates a yellow helmet background25 - same as 01, except creates a yellow helmet background26 - same as 02, except creates a yellow helmet background27 - same as 03, except creates a yellow helmet background28 - same as 00, except creates a purple helmet background29 - same as 01, except creates a purple helmet background2A - same as 02, except creates a purple helmet background2B - same as 03, except creates a purple helmet background2C - same as 00, except creates a white helmet background2D - same as 01, except creates a white helmet background2E - same as 02, except creates a white helmet background2F - same as 03, except creates a white helmet background30 - appears to be the same as 2431 - appears to be the same as 2532 - appears to be the same as 2633 - appears to be the same as 2734 - same as 00, but overlays the Atlanta Falcons' logo tile (1 tile)35 - same as 01, but overlays the Atlanta Falcons' logo tile (1 tile)36 - same as 02, but overlays the Atlanta Falcons' logo tile (1 tile)37 - same as 03, but overlays the Atlanta Falcons' logo tile (1 tile)38 - same as 00, but gives the helmet a black facemask39 - same as 01, but gives the helmet a black facemask3A - same as 02, but gives the helmet a black facemask3B - same as 03, but gives the helmet a black facemask3C - same as 00, but causes distortion in many other tiles3D - same as 01, but causes distortion in many other tiles3E - same as 02, but causes distortion in many other tiles3F - same as 03, but causes distortion in many other tilesAfter 3F, it appears the hex values simply repeat themselves, with 40 being the same as 00 and so on. If someone wants to test this all the way to FF, be my guest.Now about the tile overlays. I don't know how to change the palettes for the logo tiles yet, but I have figured out what the palettes are for each team logo tile overlay:MIA: transparent, red, black, orangePIT: transparent, yellow, red, whiteSEA: transparent, blue/gray, green, purpleWAS: this is a wierd one, I'll talk about laterPHI: transparent, blue/gray, green, purplePHX: transparent, red, black, orangeCHI: transparent, red, black, orangeATL: transparent, white, gray, whiteOK, now about the Washington Redskins logo colors. Recall that I said fifth byte hex values 14 through 17 actually underlay the tiles instead of overlay them. This is admitedly very confusing. What happens is when a fifth byte hex value is 14 through 17, a red helmet background is first layed out, then the helmet tiles are overlayed on top of it, then the Washington Redskins' logo tile is inserted in a strange way. If a pixel in the logo tile is of the first color in the palette, then no overlay occurs, making its color transparent. If a pixel in the logo tile is of the second color in the palette, then overlay only occurs if the pixel it would overlay in the helmet tile is transparent, and its color would then be red. If a pixel in the logo tile is of the third color in the palette, then overlay occurs regardless and its color is black. If a pixel in the logo tile is of the fourth color in the palette, then overlay only occurs if the pixel it would overlay in the helmet tile is transparent, and its color would then be orange.I don't expect many to understand the above paragraph simply by reading it. My advice to those who don't understand is to experiment with the Washington Redskins helmet tiles and logo tile using Tile Layer Pro and a hex editor, then you'll see what I mean.One last note about the helmet tiles. It appears that any tile between pointer 80 and D3 can be referenced in the first four bytes. For instance, if you changed Buffalo's first four bytes to 94 94 94 94, then you would see a wierd pattern on the team data screen where all four corners of the helmet would resemble the upper-left corner. This is especially helpful when you are editing helmets and you need to create a tile for the upper-right part of the helmet but the only tile you have free is for an unused facemask tile. Simply change the facemask tile to resemble the upper-left part of the helmet you wish to create, then point to it using a hex editor.I hope this post was helpful, and that most people are able to wade all the way through it. Rick 8bit 1 Quote Link to comment Share on other sites More sharing options...
bruddog Posted February 13, 2004 Author Share Posted February 13, 2004 I think I had dug up that post before in a search but mus not have scrolled to the bottom or something. Dumb of me. Thanks man. You confirmed my thought that the last byte had to be a combination of pallete and overlay. And you got into my next question of where the logo palletes are located. Not that it matters all that much. More info to add to the hacking guidebook. Rick 8bit 1 Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.