A708-A760	Handicap menu
0x0	2	txtID#
0x2	2	float multiplier	(upper short)

invert table, so + is left, minus right
	strictly convenience.  handicap still defaults to 5
9C47	3DCD	 0.1	+10
9C46	3EB4	 0.35	+4
9C45	3EE9	 0.45	+3
9C44	3F1A	 0.6	+2
9C43	3F45	 0.77	+1
9C42	3F80	 1.0	+0 normal
9C41	3FA7	 1.3	-1
9C40	3FD8	 1.69	-2
9C3F	400D	 2.2	-3
9C3E	4036	 2.84	-4
9C3D	4120	 10.0	-10
9C39	4348	200.0	LtK

Ideally just use sliding bar, but this works fine as it is.

+_+

800697A8	player1 handicap 0-A (5 default)
800697AC	player2 handicap
800697B0	player3 handicap
800697B4	player4 handicap
800697B8	player1 control style (0-7: Honey <->Goodhead)
800697BC	player2 control style
800697C0	player3 control style
800697C4	player4 control style

  This is getting replaced with a single word for all values.
Now:
800697A8	player1 handicap 0-A (5 default)
800697A9	player2 handicap
800697AA	player3 handicap
800697AB	player4 handicap
800697AC	player1 control style (0-7: Honey <->Goodhead)
800697AD	player2 control style
800697AE	player3 control style
800697AF	player4 control style



@_@

7F012EC4	479F4	menu 10 interface: handicap select
//7F012FF4:	47B24	decrement if not at end
02D31021	*ADDU	V0,S6,S3	;V0=S6+S3: p->sel.handicaps + player#
80430000	*LB	V1,0000 (V0)	;V1=cur.handicap
........	BLEZ	V1,7F01308C	;branch if already at 0
........	ADDIU	T4,V1,FFFF	;T4=cur.handicap--
........	BEQ	R0,R0,7F01308C
A04C0000	*SB	T4,0000 (V0)	;T4->cur.handicap: save new setting

//7F01300C:	47B54	press right - increment list
00046E03	SRA	T5,A0,0x18
01A02025	OR	A0,T5,R0
0C0030EB	JAL	7000C3AC	;ret V0=button mask A1 on player A0's controller
24050101	ADDIU	A1,R0,0101	;A1=0101: dpad or c-right
1440000A	BNEZ	V0,7F013048
00102600	SLL	A0,S0,0x18
00047603	SRA	T6,A0,0x18
01C02025	OR	A0,T6,R0
2405FFFE	ADDIU	A1,R0,FFFE
//7F013030:	47B60
0C00312D	JAL	7000C4B4
02E03025	OR	A2,S7,R0
1840000C	*BLEZ	V0,7F01306C
00102025	*OR	A0,S0,R0
8E4F0000	LW	T7,0000 (S2)
11E00009	*BEQ	T7,R0,7F01306C
//7F013048:	47B78	increment if not at end
02D31021	*ADDU	V0,S6,S3	;V0=S6+S3: p->sel.handicaps + player#
90430000	*LBU	V1,0000 (V0)	;V1=cur.handicap
3C018003	*LUI	AT,8003
9021B498	*LBU	AT,B498 (AT)	;AT=8002B498: #entries
0061082A	*SLT	AT,V1,AT	;TRUE if < max # entries
1020000B	*BEQ	AT,R0,7F01308C	;branch if over limit
24780001	*ADDIU	T8,V1,0001	;T8=cur.handicap++
10000009	*BEQ	R0,R0,7F01308C
A0580000	*SB	T8,0000 (V0)	;T8->cur.handicap: save new handicap
//7F01306C:	47B9C	press A - select entry


%_%

7F01317C	47CAC	menu 10 constructor: handicap select
//7F013450:	47F80	load current handicap settings
91CF0000	*LBU	T7,0000 (T6)	;T7=800697A8+offset: player's handicap
........	ADDU	S0,T1,S3
........	ADDIU	S4,S2,0046
000FC080	*SLL	T8,T7,0x2	;T8=handicap->offset: offset to option in list
........	ADDU	A0,A0,T8	;A0=8002B498+offset: handicap menu options
........	JAL	7F0C1DD8	;ret V0=p->text ID A0
9484B49A	*LHU	A0,B49A (A0)	;A0=text ID
...
//7F013524:	48054	increment sloty-thing
25CF0001	*ADDIU	T7,T6,0001	;T7=T6+1: next player's slot

=_=

//7F010398:	44EC8
	SLL	T8,T8,0x2
	ADDU	V0,V0,T8
03E00008	*JR	RA
9442B19C	*LHU	V0,B19C (V0)

7F0103AC	44EDC	0FC040EB	F0= player handicap; A0=player# 0-3, fry AT,A0,F0
7F0103A8	44ED8	0FC040EA
	used upon starting an MP game
	used at:	F2818	7F0BDCE8
3C018007	*LUI	AT,8007
00810821	*ADDU	AT,AT,A0	;T7=800697A8+offset: p->handicap setting
902497A8	*LBU	A0,97A8 (AT)	;T7=handicap#
//7F0103B4	44EE4	0FC040ED	accepts A0=handicap setting
3C018003	LUI	AT,8003
00042080	*SLL	A0,A0,0x2	;A0=handicap->offset
00810821	*ADDU	AT,AT,A0	;AT=8002B49E+offset
9424B49C	*LHU	A0,B49C (AT)	;A0=upper half of float
00042400	*SLL	A0,A0,0x10	;A0 converted to 32bit float format
03E00008	JR	RA
44840000	*MTC1	A0,F0		;F0=handicap value, A0 as well

7F0100BC	44BEC	V0= player's control style; A0=player# 0-3, fry T6
	used upon starting an MP game
	
~_~

7F010608	45138	set defaults for multiplayer menu
	NOTE: this routine has not been optimized
//7F010630:	45160
........	OR	V1,R0,R0	//V1=0=counter
........	BLEZ	S0,7F0106A8
........	OR	A2,S0,R0	//A2=S0=player#
3C098003	*LUI	A1,8003
........	LUI	T2,8007
........	LUI	T0,8007
250897A7	*ADDIU	T0,T0,97A7	//T0=800697A8=handicap
........	ADDIU	T2,T2,97B8	//T2=800697B8=control style
2525B524	*ADDIU	A1,T1,B524	//A1=8002B524=MP character
........	OR	A0,R0,R0	//A0=offset to player's data 
9129B499	*LBU	T1,B499 (T1)	//T1=5
........	ADDIU	A3,R0,FFFF	//A3=-1
//7F010660:	45190	set character and handicap if still default
........	LW	T6,0000 (A1)	//T6=char
25080001	*ADDIU	T0,T0,0001	//T7=addy of player's handicap
........	SLTI	AT,S0,0003	//TRUE if 4-players
........	BNE	A3,T6,7F01067C	//skip if a character has been selected
........	ADDU	V0,T2,A0	//V0=addy of player's control style
........	SW	V1,0000 (A1)	//V1->character slot (incrementally bond, nat, etc.)
A1090000	*SB	T1,0000 (T0)	//5->handicap (default normal damage)
//7F01067C:	451AC	set control setting to default
BNE	AT,7F010698
ADDIU	V1,V1,0001	//inc next char
LW	T8,0000 (V0)	//T8=control style
SLTI	AT,T8,0004	//TRUE if setting is valid
BNEL	AT,R0,7F01069C
SLT	AT,V1,A2
SW	R0,0000 (V0)
SLT	AT,V1,A2
//7F01069C:	loopus
ADDIU	A0,A0,0004	//next player data increment
BNEZ	AT,7F010660	//more players!
ADDIU	A1,A1,0004
...

&_&

-and the intro movies copier doohick...
//7F0C046C:	F4F9C	copy your current settings
90B90000	*LBU	T9,0000 (A1)
AE1900B0	SW	T9,00B0 (S0)
90A80001	*LBU	T0,0001 (A1)
AE0800B4	SW	T0,00B4 (S0)
90A90002	*LBU	T1,0002 (A1)
AE0900B8	SW	T1,00B8 (S0)
90AA0003	*LBU	T2,0003 (A1)
AE0A00BC	SW	T2,00BC (S0)

//7F0C05AC:	F50DC	handicap and control settings
3C018003	LUI	AT,8003
00002025	OR	A0,R0,R0
AC58000C	SW	T8,000C (V0)
8E1900B0	LW	T9,00B0 (S0)	;T9=pl1 handicap
A0790000	*SB	T9,0000 (V1)
8E0800B4	LW	T0,00B4 (S0)	;T0=pl12 handicap
A0680001	*SB	T0,0001 (V1)
8E0900B8	LW	T1,00B8 (S0)	;T1=pl3 handicap
A0690002	*SB	T1,0002 (V1)
8E0A00BC	LW	T2,00BC (S0)	;T2=pl4 handicap
A06A0003	*SB	T2,0003 (V1)
8E0B00C0	LW	T3,00C0 (S0)	;T3=pl1 control
ACCB0000	SW	T3,0000 (A2)
8E0C00C4	LW	T4,00C4 (S0)	;T3=pl2 control
ACCC0004	SW	T4,0004 (A2)
8E0D00C8	LW	T5,00C8 (S0)	;T3=pl3 control
ACCD0008	SW	T5,0008 (A2)
8E0E00CC	LW	T6,00CC (S0)	;T3=pl4 control
ACCE000C	SW	T6,000C (A2)

(_)

Well, can rework the LtK scenario now.
How about I be lazy and not touch it until the whole scenario thing is taken care of...

!note! MwtGX altered this!
//7F0BDC80	F27B0
	*NOP
	ADDIU	S2,T2,9EF0
	*NOP
	ADDIU	S3,R0,0004
...
//7F0BDCC8	F27F8	set player's handicap
3C118008	LUI	S1,8008
0FC00A50	-JAL	7F002940	;Casino Royale
26319EF0	-ADDIU	S1,S1,9EF0
//7F0BDCD4	F2804	loop for each player
0FC051D6	JAL	7F014758	;ret V0=scenario
00002025	*OR	A0,R0,R0	;A0=handicap 0: LtK
0FC040ED	*JAL	7F0103B4	;ret F0=LtK handicap; fries AT,A0
00000000	NOP	;reserved for ANDI test for scenario	ANDI	V0,V0,0008
10530003	BEQ	V0,S3,7F0BDCF0	;branch if LtK		BNEL	V0,R0,+3
00000000	*NOP
0FC040EA	JAL	7F0103A8
02002025	OR	A0,S0,R0
E620005C	SWC1	F0,005C (S1)
//7F0BDCF4
02002025	OR	A0,S0,R0
26100001	ADDIU	S0,S0,0001	;S0++: player#++
26310070	ADDIU	S1,S1,0070	;S1=p->next player's stats
1613FFF3	*BNE	S0,S3,7F0BDCD4	;branch if all 4 players dealt with
00000000	NOP


