2k3DirectItemEquipSkillMenu

When opening the default menu, the inventory gets opened if variable #3386 and #3387 are both 0. When #3386 is above, the equipment-screen will open instead and the variable will point to the database-ID of the actor to use as target. Same happens with the skill-screen when #3386 is 0, but #3387 is above.

This is built in a very odd way, does confusing changes, stuffs out-of-section code and should not be used, proceed with Direct Menu Patch instead.

Originally made and first released by elvissteinjr.

RPG2003
1.00UNKNOWN1UNKNOWN21.0.2.1
1.0.2.1
1.0.3.0
1.0.4.0
1.0.5.0
1.0.5.0
1.0.6.0
1.0.6.0
1.0.7.0
1.0.7.0
1.0.8.0
1.0.8.0
1.0.9.1
1.0.9.1
1.101.111.12mp210414

Segment 1/6

Offsets

RPG2003
1.0.8.0
1.0.8.0
004A0FFEh
000A03FEh

Sourcecode

			JMP __004C9D10h
__004A1003h:
			MOV EAX, [004CDC7Ch]
			MOV EAX, [EAX]
			MOV EBX, [EAX+24h]
			CMP EBX, 3387
			JB __004A1045h
			MOV EAX, [EAX+28h]
			MOV ESI, [EAX+34E8h]
			CMP ESI, 0
			JE __004A1045h
			NOP
			NOP
			NOP
			NOP
			POP EBX
			POP EAX
			PUSH ESI
			MOV ESI, [ESP+EIZ*8+04h]
			MOV EAX, EBX
			CALL PROC__004A0CECh
			MOV EAX, [004CDFCCh]
			MOV EAX, [EAX]
			CMP BYTE PTR [EAX+51h], 0
			JMP __004A1869h
__004A1045h:
			JMP __004C9D55h
			NOP
			NOP
			NOP
			NOP
			NOP
			NOP
			NOP
			NOP
			NOP
			NOP

Bytes

E90D8D0200
A17CDC4C00 8B00 8B5824 81FB3B0D0000 7230
8B4028 8BB0E8340000 83FE00 7422
90 90 90 90 5B 58 56 8B74E404 89D8 E8B7FCFFFF
A1CCDF4C00 8B00 80785100 E924080000
E90B8D0200
90 90 90 90 90 90 90 90 90 90

Segment 2/6

Offsets

RPG2003
1.0.8.0
1.0.8.0
004A10E5h
000A04E5h

Sourcecode

			MOV EAX, EBX
			CALL PROC__004A1054h
			NOP
			NOP
			NOP
			NOP
			NOP
			NOP
			NOP
			NOP
			NOP
			NOP
			NOP
			NOP
			NOP
			NOP
			NOP
			NOP
			NOP
			NOP
			NOP
			NOP
			NOP
			NOP
			NOP
			NOP
			NOP
			NOP
			NOP

Bytes

89D8 E868FFFFFF
90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90
90 90 90 90 90 90 90 90 90 90 90

Segment 3/6

Offsets

RPG2003
1.0.8.0
1.0.8.0
004A1881h
000A0C81h

Sourcecode

			POP EDX
			MOV EAX, [EBX+24h]
			CALL PROC__004C8C34h
			ADD ESP, 4
			NOP
			NOP
			NOP
			NOP
			PUSH 40340000h
			PUSH 0
			MOV EAX, EBX
			CALL PROC__0048CD8Ch
			POP EBX
			RET
			NOP
			NOP
			NOP

Bytes

5A 8B4324 E8AA730200
83C404 90 90 90 90 6800003440 6A00 8BC3 E8EDB4FEFF
5B C3 90 90 90

Segment 4/6

Offsets

RPG2003
1.0.8.0
1.0.8.0
004A2305h
000A1705h

Sourcecode

			POP EDX
			MOV EAX, [EBX+2Ch]
			CALL PROC__004A01CCh
			ADD ESP, 4
			NOP
			NOP
			NOP
			NOP

Bytes

5A 8B432C E8BEDEFFFF
83C404 90 90 90 90

Segment 5/6

Offsets

RPG2003
1.0.8.0
1.0.8.0
004A2B3Dh
000A1F3Dh

Sourcecode

			CALL PROC__004A1054h

Bytes

E812E5FFFF

Segment 6/6

Offsets

RPG2003
1.0.8.0
1.0.8.0
004C9D10h
000C9110h

Sourcecode

__004C9D10h:
			PUSH ESI
			PUSH EAX
			PUSH EBX
			MOV EAX, [004CDC7Ch]
			MOV EAX, [EAX]
			MOV EBX, [EAX+24h]
			CMP EBX, 3386
			JB __004C9D55h
			MOV EAX, [EAX+28h]
			MOV ESI, [EAX+34E4h]
			CMP ESI, 0
			JE __004A1003h
			POP EBX
			POP EAX
			PUSH ESI
			MOV ESI, [ESP+EIZ*8+04h]
			MOV EAX, EBX
			CALL PROC__004A0CECh
			MOV EAX, [004CDFCCh]
			MOV EAX, [EAX]
			CMP BYTE PTR [EAX+51h], 0
			JMP __004A22EDh
__004C9D55h:
			POP EBX
			POP EAX
			POP ESI
			MOV EAX, EBX
			CALL PROC__004A0CECh
			MOV EAX, [004CDFCCh]
			MOV EAX, [EAX]
			CMP BYTE PTR [EAX+51h], 0
			JMP __004A111Dh
			NOP
			NOP
			NOP
			NOP
			NOP
			NOP
			NOP
			NOP
			NOP
			NOP
			NOP
			NOP
			NOP
			NOP
			NOP
			NOP
			NOP
			NOP
			NOP
			NOP
			NOP
			NOP
			NOP
			NOP
			NOP
			NOP
			NOP
			NOP
			NOP
			NOP
			NOP
			NOP
			NOP

Bytes

56 50 53 A17CDC4C00 8B00 8B5824 81FB3A0D0000 7230
8B4028 8BB0E4340000 83FE00 0F84CC72FDFF
5B 58 56 8B74E404 89D8 E8A76FFDFF
A1CCDF4C00 8B00 80785100 E99885FDFF
5B 58 5E 89D8 E88D6FFDFF
A1CCDF4C00 8B00 80785100 E9AE73FDFF
90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90
90 90 90 90 90 90 90 90 90 90 90
90 90 90 90 90 90