BattleMessenger

Resize and reposition the message-text-window in the default battle-system based on a batch of four variables beginning with #3322 (values order: width, height, X, Y). The ID-base can be changed in the sourcecode.

Originally made and first released by bugmenot.

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/2

Offsets

RPG2003
1.001.0.3.0
1.0.4.0
1.0.5.0
1.0.5.0
1.0.8.0
1.0.8.0
1.0.9.1
1.0.9.1
1.101.111.12mp210414
00447590h
00046990h
00447570h
00046970h
00447674h
00046A74h
00447674h
00046A74h
00447674h
00046A74h

Sourcecode

PROC__GetBaseVarID:
			MOV EDX, 3322				; Variables Base
			RET
PROC__GetVariableValue:
			MOV EAX, [004C2DACh]			; TLcfgSystem
			MOV EAX, [EAX]
			CALL PROC__00486058h			; TLcfgSystem.GetVariable
			RET
__GetMessageDimensions:
			CALL PROC__GetBaseVarID
			INC EDX
			CALL PROC__GetVariableValue		; V[3323]
			PUSH EAX				; Height
			CALL PROC__GetBaseVarID
			INC EDX
			INC EDX
			CALL PROC__GetVariableValue		; V[3324]
			PUSH EAX				; Backup X
			CALL PROC__GetBaseVarID
			INC EDX
			INC EDX
			INC EDX
			CALL PROC__GetVariableValue		; V[3325]
			XCHG EAX, ECX				; Y
			POP EDX					; Restore X
			JMP __ContinueNormal			; 004BAFFDh
PROC__GetBaseVarID:
			MOV EDX, 3322				; Variables Base
			RET
PROC__GetVariableValue:
			MOV EAX, [004C5A94h]			; TLcfgSystem
			MOV EAX, [EAX]
			CALL PROC__00486364h			; TLcfgSystem.GetVariable
			RET
__GetMessageDimensions:
			CALL PROC__GetBaseVarID
			INC EDX
			CALL PROC__GetVariableValue		; V[3323]
			PUSH EAX				; Height
			CALL PROC__GetBaseVarID
			INC EDX
			INC EDX
			CALL PROC__GetVariableValue		; V[3324]
			PUSH EAX				; Backup X
			CALL PROC__GetBaseVarID
			INC EDX
			INC EDX
			INC EDX
			CALL PROC__GetVariableValue		; V[3325]
			XCHG EAX, ECX				; Y
			POP EDX					; Restore X
			JMP __ContinueNormal			; 004BEEADh
PROC__GetBaseVarID:
			MOV EDX, 3322				; Variables Base
			RET
PROC__GetVariableValue:
			MOV EAX, [004CCC7Ch]			; TLcfgSystem
			MOV EAX, [EAX]
			CALL PROC__0048B1C8h			; TLcfgSystem.GetVariable
			RET
__GetMessageDimensions:
			CALL PROC__GetBaseVarID
			INC EDX
			CALL PROC__GetVariableValue		; V[3323]
			PUSH EAX				; Height
			CALL PROC__GetBaseVarID
			INC EDX
			INC EDX
			CALL PROC__GetVariableValue		; V[3324]
			PUSH EAX				; Backup X
			CALL PROC__GetBaseVarID
			INC EDX
			INC EDX
			INC EDX
			CALL PROC__GetVariableValue		; V[3325]
			XCHG EAX, ECX				; Y
			POP EDX					; Restore X
			JMP __ContinueNormal			; 004C4A95h
PROC__GetBaseVarID:
			MOV EDX, 3322				; Variables Base
			RET
PROC__GetVariableValue:
			MOV EAX, [004CDC7Ch]			; TLcfgSystem
			MOV EAX, [EAX]
			CALL PROC__0048B398h			; TLcfgSystem.GetVariable
			RET
__GetMessageDimensions:
			CALL PROC__GetBaseVarID
			INC EDX
			CALL PROC__GetVariableValue		; V[3323]
			PUSH EAX				; Height
			CALL PROC__GetBaseVarID
			INC EDX
			INC EDX
			CALL PROC__GetVariableValue		; V[3324]
			PUSH EAX				; Backup X
			CALL PROC__GetBaseVarID
			INC EDX
			INC EDX
			INC EDX
			CALL PROC__GetVariableValue		; V[3325]
			XCHG EAX, ECX				; Y
			POP EDX					; Restore X
			JMP __ContinueNormal			; 004C72B1h
PROC__GetBaseVarID:
			MOV EDX, 3322				; Variables Base
			RET
PROC__GetVariableValue:
			MOV EAX, [004CDC7Ch]			; TLcfgSystem
			MOV EAX, [EAX]
			CALL PROC__0048B354h			; TLcfgSystem.GetVariable
			RET
__GetMessageDimensions:
			CALL PROC__GetBaseVarID
			INC EDX
			CALL PROC__GetVariableValue		; V[3323]
			PUSH EAX				; Height
			CALL PROC__GetBaseVarID
			INC EDX
			INC EDX
			CALL PROC__GetVariableValue		; V[3324]
			PUSH EAX				; Backup X
			CALL PROC__GetBaseVarID
			INC EDX
			INC EDX
			INC EDX
			CALL PROC__GetVariableValue		; V[3325]
			XCHG EAX, ECX				; Y
			POP EDX					; Restore X
			JMP __ContinueNormal			; 004C65E5h

Bytes

BAFA0C0000 C3

A1AC2D4C00 8B00 E8B6EA0300
C3

E8E8FFFFFF
42 E8E8FFFFFF
50 E8DCFFFFFF
42 42 E8DBFFFFFF
50 E8CFFFFFFF
42 42 42 E8CDFFFFFF
91 5A E92D3A0700
BAFA0C0000 C3

A1945A4C00 8B00 E8E2ED0300
C3

E8E8FFFFFF
42 E8E8FFFFFF
50 E8DCFFFFFF
42 42 E8DBFFFFFF
50 E8CFFFFFFF
42 42 42 E8CDFFFFFF
91 5A E9FD780700
BAFA0C0000 C3

A17CCC4C00 8B00 E8423B0400
C3

E8E8FFFFFF
42 E8E8FFFFFF
50 E8DCFFFFFF
42 42 E8DBFFFFFF
50 E8CFFFFFFF
42 42 42 E8CDFFFFFF
91 5A E9E1D30700
BAFA0C0000 C3

A17CDC4C00 8B00 E8123D0400
C3

E8E8FFFFFF
42 E8E8FFFFFF
50 E8DCFFFFFF
42 42 E8DBFFFFFF
50 E8CFFFFFFF
42 42 42 E8CDFFFFFF
91 5A E9FDFB0700
BAFA0C0000 C3

A17CDC4C00 8B00 E8CE3C0400
C3

E8E8FFFFFF
42 E8E8FFFFFF
50 E8DCFFFFFF
42 42 E8DBFFFFFF
50 E8CFFFFFFF
42 42 42 E8CDFFFFFF
91 5A E931EF0700

Segment 2/2

Offsets

RPG2003
1.001.0.3.0
1.0.4.0
1.0.5.0
1.0.5.0
1.0.8.0
1.0.8.0
1.0.9.1
1.0.9.1
1.101.111.12mp210414
004BAFECh
000BA3ECh
004BEE9Ch
000BE29Ch
004C4A84h
000C3E84h
004C72A0h
000C66A0h
004C65D4h
000C59D4h

Sourcecode

			CALL PROC__GetBaseVarID
			CALL PROC__GetVariableValue		; V[3322]
			PUSH EAX				; Width
			NOP
			JMP __GetMessageDimensions		; 004475A3h
__ContinueNormal:
			PUSH 0
			CALL PROC__GetBaseVarID
			CALL PROC__GetVariableValue		; V[3322]
			PUSH EAX				; Width
			NOP
			JMP __GetMessageDimensions		; 00447583h
__ContinueNormal:
			PUSH 0
			CALL PROC__GetBaseVarID
			CALL PROC__GetVariableValue		; V[3322]
			PUSH EAX				; Width
			NOP
			JMP __GetMessageDimensions		; 00447687h
__ContinueNormal:
			PUSH 0
			CALL PROC__GetBaseVarID
			CALL PROC__GetVariableValue		; V[3322]
			PUSH EAX				; Width
			NOP
			JMP __GetMessageDimensions		; 00447687h
__ContinueNormal:
			PUSH 0
			CALL PROC__GetBaseVarID
			CALL PROC__GetVariableValue		; V[3322]
			PUSH EAX				; Width
			NOP
			JMP __GetMessageDimensions		; 00447687h
__ContinueNormal:
			PUSH 0

Bytes

E89FC5F8FF
E8A0C5F8FF
50 90 E9A6C5F8FF
6A00
E8CF86F8FF
E8D086F8FF
50 90 E9D686F8FF
6A00
E8EB2BF8FF
E8EC2BF8FF
50 90 E9F22BF8FF
6A00
E8CF03F8FF
E8D003F8FF
50 90 E9D603F8FF
6A00
E89B10F8FF
E89C10F8FF
50 90 E9A210F8FF
6A00