Jump to content
Maynard_G_Krebs

Out Of Bounds Zones

Recommended Posts

Anybody know anything about how fumbled balls / players going out of bounds works? It seems to me like the horizontal line indicating out of bounds isn't aligned properly. Anyone else curious about this?

The game has code that checks positioning for the players and the ball.

From my field notes:

Top of Field (Movement): x3DB0E

Bottom of Field (Movement): x3DB05

Top Sideline (Out of Bounds): x25118

Bottom Sideline (Out of Bounds): x2511C

Back of the Endzone (Movement):

Player 1: x3DB33/x3DB37

Player 2: x3DB48/x3DB4C

Back of the Endzone (Pass):

Player 1: x2A88F/x2A88C and x2A89E/x2A898

Player 2: x2A8CB/x2A8C8 and x2A8DA/x2A8D4

Back of Endzone (Fumble):

Player 1: x2DC6E/x2DC6A

Player 2: x2DC78/x2DC74

*#/# is Hi Byte/Lo Byte

Share this post


Link to post
Share on other sites

how does this end zone stuff work?  the "hi/low" byte?  I am helping a guy with that Canadian Football rom, where the field is 110 yards, and players can't even run deeper than 5 yards into the end zone.  also, if you take a pitch or snap deeper than this 5 yards = automatic safety.

 

So, I have been trying all kinds of movement* values and I don't see anything change.  I always get stopped 5 yards deep - no matter what values I put in here*.  could it be a scroll thing?  I want to increase the amount that a player can go the direction "into the end zone", by five more yards.

 

It's funny, because I was able to figure out the sidelines out of bounds stuff and all that with my "street" roms, but this particular endzone thing is baffling.

 

Back of the Endzone (Movement):

Player 1: x3DB33/x3DB37

Player 2: x3DB48/x3DB4C

Back of the Endzone (Pass):

Player 1: x2A88F/x2A88C and x2A89E/x2A898

Player 2: x2A8CB/x2A8C8 and x2A8DA/x2A8D4

Back of Endzone (Fumble):

Player 1: x2DC6E/x2DC6A

Player 2: x2DC78/x2DC74

*#/# is Hi Byte/Lo Byte

Edited by buck

Share this post


Link to post
Share on other sites

@buck
 

Here are the values for the endzone locations in the OG rom:


Left endzone Front : high =0x06, low = 0x70 

Left endzone Back  : high =0x06, low = 0x20 

Right endzone Front : high =0x09, low = 0x90

Right endzone Back :  high =0x09, low = 0xE0

 

Each high byte = 32 yards.  Each 0x08 of the low byte = 1 yard and thus every 0x10 of the low byte = 2 yards.Everything is referenced from the left back endzone. Why they chose 0x0620 to be the back of the endzone I have no clue. The TOTAL field map is actually big enough for a field double the size. So maybe they had a bigger field at first and scrapped that idea. Who knows. 

 

0x990(right endzone) -0x670(left endzone)= 0x320 = [3 * 32 yards = 96 yards]  + [(0x20/0x08) = 4 yards] = 100 yards

 

Yay for math. 

 

 The locations you need aren't even listed in your post hence why you are having a problem... 

 

Check for TD or past front of right endzone ()

low byte: 0x25046, default value=0x90

high byte: 0x2504B, default value=0x09

 

Check for TD or behind front of left endzone ()

low byte: 0x25059, default value=0x71

high byte: 0x2505e, default  value=0x06

 

Check for touchback in left endzone () 

low byte: 0x2506A, default value=0x71

high byte: 0x2506E, default value=0x06

 

Check for touchback in right endzone () 

low byte: 0x25083, default value=0x90

high byte: 0x25087, default value=0x09

 

Check for safety in left endzone () 

low byte: 0x250DF, default value=0x71

high byte: 0x250E3, default value=0x06

 

Check for safety in right endzone () 

low byte: 0x250EF, default value=0x90

high byte: 0x250F3, default value=0x09

 

There is also a couple of checks so that the first down markers aren't drawn in the endzone. You can see if those are broken or not. So it looks like at least the left endzone safety location needs to be moved back 5 yards = 0x08 x 5= 0x28 

Check for safety in left endzone () 

low byte: 0x250DF, new = (0x71 -0x28) =0x49

 

 

Share this post


Link to post
Share on other sites

actually, I was wrong.  by default, in this CFL ROM, the endzones are only 7 yards big.... so, the player movement only goes about 3 yards deep into endzone.  here's an example, when the line of scrimmage is at the one yard line, your QB lines up out of the back of the endzone when in Shotgun.  so, to make this good, the endzone needs to be drawn bigger along with allowing more movement like I am looking to do.

 

anyways, bruddog, the first part of your post you mention locations but I don't see any.  I just see "

Left endzone Front : high =0x06, low = 0x70 

Left endzone Back  : high =0x06, low = 0x20 

 

Right endzone Front : high =0x09, low = 0x90

 

Right endzone Back :  high =0x09, low = 0xE0

"

 

is that just info or are there supposed to be other 0x locations along with that?  sorry, I am just a bit confused right now.

Edited by buck

Share this post


Link to post
Share on other sites

ok, lol.  so where is the location to actually set the field size?  your info says:

 

"Left endzone Front : high =0x06, low = 0x70 

Left endzone Back  : high =0x06, low = 0x20 

Right endzone Front : high =0x09, low = 0x90

Right endzone Back :  high =0x09, low = 0xE0

"

 

but which particular locations are associated with these values?  it doesn't seem like any of the locations listed by you or jstout correspond with this info.  again, I am just straight up confused right now.  I hope to figure it out soon.

Share this post


Link to post
Share on other sites

There are NO locations that correspond to those values to set the field size. Those locations are for reference only. They are just determined/inferred by loooking at the compare values in the check for touchdowns, safeties, touchbacks, player at back of endzone...

 

There is a field drawing map with like 3 levels of "zoom" that determines what tiles are drawn where. This effectively sets how big your field is but there is no value/location that says the field is X yards long. 

 

The locations were determined based on where the tiles are drawn on the map. 

 

Is the drawn field correct in the 110 yard rom? Or do you need to edit all the field tiles still to make it 110 yards? 

Share this post


Link to post
Share on other sites

no, the field is not exactly drawn correct.  the field of play (green grass) is OK, at 110 yards.  but the endzones are only about 7 yards deep.  and player movement is restricted to the initial ~3 yards into these endzones.

 

in a perfect/realistic world, the endzones would be 20 yards!  but that just seems crazy.  I don't know a whole lot about CFL, I am just doing a couple of favors to help this guy with the rom.  I got to playing it and am totally annoyed by being stopped ~3 yards into the endzone.  so I was looking into it.

 

another weird thing about CFL is touchbacks - they are kinda like safeties except they give the defense +1 point (rogue).  lol

 

If we could at least get the End Zone to 10 yards (to stop side effect of QB/punter being out of bounds) and more importantly open up player movement to go further into the endzone, it would be cool.

 

but this is pretty crazy.  no matter what I change I cannot get the player to go deeper into the end zone.

Edited by buck

Share this post


Link to post
Share on other sites

If you PM me or post the rom I can probably fix the player movement, punter issue into the endzones. Is it broken for both sides or just P1? What about punts into the endzone? 

 

I will note the changes and explain what was done. 

 

I don't wan't to spend time fixing the graphics because that is more involved although it MIGHT be intertwined with the problem overall.

Share this post


Link to post
Share on other sites

PM'd it.  See what you think.  It is probably messed up for P2, but I never got that far to test P2.  I would assume it needs to be fixed.

Edited by buck

Share this post


Link to post
Share on other sites

Other locations. Where field scrolling should stop...

 

Stop scrolling field 

 

MAX RIGHT FIELD SCROLL LOCATION

0x3D65A low byte

0x3D65E high byte

or

0x7D65A,0x7D65E

 

MIN LEFT FIELD SCROLL LOCATION

0x3D67A low byte

0x3D67E high byte

or

0x7D67A,0x7D67E

Share this post


Link to post
Share on other sites
On 12/18/2016 at 3:08 PM, bruddog said:

Other locations. Where field scrolling should stop...

 

Stop scrolling field 

 

MAX RIGHT FIELD SCROLL LOCATION

0x3D65A low byte

0x3D65E high byte

or

0x7D65A,0x7D65E

 

MIN LEFT FIELD SCROLL LOCATION

0x3D67A low byte

0x3D67E high byte

or

0x7D67A,0x7D67E

 

Share this post


Link to post
Share on other sites
On 5/23/2017 at 9:25 PM, tiredtonsofclay said:

Are these entered into the TSB tool or by some other method?

 

check out this thread, it will help in how to use a hex editor, which will come.in handy to apply the code:

This code isn't something to just copy and paste. Some edits will require you to edit the game with a hex editor so you can set your custom values as per your desired result.

 

Just out of curiosity...would it be possible to "stretch" the field so the distance between each yard is larger? And if it is possible, would changes to stat tracking be required to calculate the stats correctly?

Edited by SBlueman

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now


  • Recently Browsing   0 members

    No registered users viewing this page.

×