Item & Event Pointer Patch

Allows use of variable #3351 as pointer for item-IDs aswell as #3352 as pointer for event-IDs in some event-commands (change variable, move event, set event location, flash event, conditional branch) if they're set to a value above 0.

Was distributed as a patcher-program that only accepts one specific english translation of RPG_RT as target because of filesize-check.

Originally made and first released by Cherry.

RPG2000
1.00UNKNOWN2000-05-072000-06-192000-07-112000-11-132000-11-152000-12-27
1.07
2001-05-05
1.10
2003-03-27
1.50
2003-06-25
1.51/1.52
2015-07-05
1.60
2015-09-15
1.61
2017-09-14
1.62

Segment 1/11

Offsets

RPG2000
2000-12-27
1.07
0043B934h
0003AD34h

Sourcecode

PROC__0043B934h:
			RET
			db 0
			db 0
			db 0
__0043B938h:
			dd 3351					; ItemVariable
__0043B93Ch:
			dd 3352					; EventVariable
			dd 0
			dd 0
			dd 0
			dd 0
PROC__0043B950h:
			MOV EAX, [0049ABA4h]			; TLcfgSystem
			MOV EAX, [EAX]
			CMP EDX, [EAX+24h]			; Size of Variables Array
			NOP
			NOP
			SETBE AL
			RET
PROC__0043B960h:
			CALL PROC__0045E524h
			CMP EAX, 1
			JE __0043B96Bh
			RET
__0043B96Bh:
			PUSH EBX
			PUSH EDX
			MOV EDX, [__0043B938h]			; Get ID of ItemVariable
			CALL PROC__0043B950h			; Check Number of Variables in Memory
			TEST AL, AL
			JZ __0043B997h
			LEA EBX, [EDX*4-04h]			; VariableOffset
			MOV EAX, [0049ABA4h]			; TLcfgSystem
			MOV EAX, [EAX]
			MOV EAX, [EAX+28h]			; Variables Array
			MOV EAX, [EAX+EBX]			; Get Variable
			TEST EAX, EAX
			JZ __0043B997h
			POP EDX
			POP EBX
			RET
__0043B997h:
			MOV EAX, 1
			POP EDX
			POP EBX
			RET
			NOP
PROC__0043B9A0h:
			CALL PROC__0045E524h
			CMP EAX, 1
PROC__0043B9A8h:
			NOP
			NOP
			JE __0043B9ADh
			RET
__0043B9ADh:
			PUSH EBX
			PUSH EDX
			MOV EDX, [__0043B93Ch]			; Get ID of EventVariable
			CALL PROC__0043B950h			; Check Number of Variables in Memory
			TEST AL, AL
			JZ __0043B9D9h
			LEA EBX, [EDX*4-04h]			; VariableOffset
			MOV EAX, [0049ABA4h]			; TLcfgSystem
			MOV EAX, [EAX]
			MOV EAX, [EAX+28h]			; Variables Array
			MOV EAX, [EAX+EBX]			; Get Variable
			TEST EAX, EAX
			JZ __0043B9D9h
			POP EDX
			POP EBX
			RET
__0043B9D9h:
			MOV EAX, 1
			POP EDX
			POP EBX
			RET

Bytes

C3 00 00 00
170D0000 180D0000
00000000 00000000 00000000 00000000

A1A4AB4900 8B00 3B5024 90 90 0F96C0 C3

E8BF2B0200 83F801 7401 C3

53 52 8B1538B94300 E8D8FFFFFF
84C0 741B
8D1C95FCFFFFFF A1A4AB4900 8B00 8B4028 8B0418 85C0 7403
5A 5B C3

B801000000 5A 5B C3 90

E87F2B0200
83F801 90 90 7401
C3

53 52 8B153CB94300 E896FFFFFF
84C0 741B
8D1C95FCFFFFFF A1A4AB4900 8B00 8B4028 8B0418 85C0 7403
5A 5B C3

B801000000 5A 5B C3

Segment 2/11

Offsets

RPG2000
2000-12-27
1.07
004862C7h
000856C7h

Sourcecode

			CALL PROC__0043B960h

Bytes

E89456FBFF

Segment 3/11

Offsets

RPG2000
2000-12-27
1.07
004862E8h
000856E8h

Sourcecode

			CALL PROC__0043B960h

Bytes

E87356FBFF

Segment 4/11

Offsets

RPG2000
2000-12-27
1.07
004865A9h
000859A9h

Sourcecode

			CALL PROC__0043B9A0h

Bytes

E8F253FBFF

Segment 5/11

Offsets

RPG2000
2000-12-27
1.07
004881ABh
000875ABh

Sourcecode

			CALL PROC__0043B9A0h

Bytes

E8F037FBFF

Segment 6/11

Offsets

RPG2000
2000-12-27
1.07
004881C0h
000875C0h

Sourcecode

			CALL PROC__0043B9A0h

Bytes

E8DB37FBFF

Segment 7/11

Offsets

RPG2000
2000-12-27
1.07
00488BCDh
00087FCDh

Sourcecode

			CALL PROC__0043B9A0h

Bytes

E8CE2DFBFF

Segment 8/11

Offsets

RPG2000
2000-12-27
1.07
00488C77h
00088077h

Sourcecode

			CALL PROC__0043B9A0h

Bytes

E8242DFBFF

Segment 9/11

Offsets

RPG2000
2000-12-27
1.07
00489727h
00088B27h

Sourcecode

			CALL PROC__0043B960h

Bytes

E83422FBFF

Segment 10/11

Offsets

RPG2000
2000-12-27
1.07
00489748h
00088B48h

Sourcecode

			CALL PROC__0043B960h

Bytes

E81322FBFF

Segment 11/11

Offsets

RPG2000
2000-12-27
1.07
0048989Ah
00088C9Ah

Sourcecode

			CALL PROC__0043B960h

Bytes

E80121FBFF