Found how to increase the number of pages in a playbook! It was way easier than I thought. Basically just had to find the register that was being compared to to see if it needs to go back to page 1.
8032E540 ADDIU V0,R0,0x0008 <--- the last value sets the # of pages. As is with a value of 8, it will have 8 pages.
Here's an example where I just dumped some random play values:
The nice thing about this change is that it looks like we will be able to add the values for each play right after the previous ones that are loaded in. The play data is located at 802AF270, and has each play in-line. so the default playlist is just
00010203 04050607 etc..
This is the first step, next step if actually writing the values to this area. As I mentioned previously, I know the function that sets the playlist whether for a custom playbook, team plays, or just default. I think it would be just a matter of writing all the bits for the other plays in-line after the data there for the first 3 pages.
I did notice that for some reason the 4th page (which is actually trying to pull data from where the defensive and/or audible values are) was identical to the 3rd, however the 5th and on were all exactly how I would expect if I input some custom values. I think what will need to happen is once the register hits 3, have the function reading in the plays jump down to a new area that we can put our code. That way we aren't messing with where the defensive/audibles are.
The last thing is I didn't mess with this while using a custom playbook (or on defense), so I'm not sure how that will work. Nonetheless, this should be pretty awesome once we get it all worked out, along with the external playbook editor! I think it means we maybe able to increase the amount of pages of custom plays as well!
Edit: Found the address to change to allow more pages when using a custom playbook:
8032E580 SLTI V0,S3,0x0004 //sets the number of playbook pages when having custom plays;default 4