MapInMenu

Display the map-screen in the background of engine's default menu-screens (except the file-menu) and remove most system-screen-transitions between them.

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

Offsets

RPG2000
2000-12-27
1.07
2017-09-14
1.62
00436740h
00035B40h
00436D74h
00036174h
RPG2003
1.0.8.0
1.0.8.0
1.0.9.1
1.0.9.1
1.101.111.12mp210414
00448AE4h
00047EE4h
00448AE4h
00047EE4h

Sourcecode

			INT3
__00436741h:
			PUSH EAX
			MOV EAX, [0049ABA4h]		; TLcfgSystem
			MOV EAX, [EAX]
			MOV AL, BYTE PTR [EAX+04h]
			CMP AL, 2
			JE __SkipMap			; +15h
			CMP AL, 3
			JE __SkipMap			; +11h
			CMP AL, 5
			JE __SkipMap			; +0Dh
			CMP AL, 6
			JE __SkipMap			; +09h
			CMP AL, 7
			JGE __Other			; +41h
__BackToDrawMap:
			CALL PROC__InjectMapDraw
__SkipMap:
			POP EAX
			POP EBP
			POP EDI
			POP ESI
			POP EBX
			RET
			NOP
PROC__InjectMapDraw:
			PUSH EAX
			PUSH EDX
			PUSH EBX
			PUSH EBP
			PUSH ESI
			MOV EAX, [0049AB50h]
			MOV EAX, [EAX]
			MOV EDX, [EAX]
			CALL [EDX+08h]
			POP ESI
			POP EBP
			POP EBX
			POP EDX
			POP EAX
			RET
__00436783h:
			PUSHA
			MOV EAX, [0049ABA4h]		; TLcfgSystem
			MOV EAX, [EAX]
			CMP BYTE PTR [EAX+04h], 1
			POPA
			JE __0046B5ACh
			PUSH EBP
			MOV EBP, ESP
			ADD ESP, -8
			JMP __0046B53Eh
__Other:
			MOV EAX, [0049AB50h]
			MOV EAX, [EAX]
			CMP BYTE PTR [EAX+0Ch], 1
			JE __BackToDrawMap
			MOV EAX, [0049AC5Ch]
			MOV EAX, [EAX]
			CALL PROC__0047413Ch		; TLcfBattleScene.Assign
			JMP __SkipMap
			INT3
__00436D75h:
			PUSH EAX
			MOV EAX, [004A0B8Ch]		; TLcfgSystem
			MOV EAX, [EAX]
			MOV AL, BYTE PTR [EAX+04h]
			CMP AL, 2
			JE __SkipMap			; +15h
			CMP AL, 3
			JE __SkipMap			; +11h
			CMP AL, 5
			JE __SkipMap			; +0Dh
			CMP AL, 6
			JE __SkipMap			; +09h
			CMP AL, 7
			JGE __Other			; +41h
__BackToDrawMap:
			CALL PROC__InjectMapDraw
__SkipMap:
			POP EAX
			POP EBP
			POP EDI
			POP ESI
			POP EBX
			RET
			NOP
PROC__InjectMapDraw:
			PUSH EAX
			PUSH EDX
			PUSH EBX
			PUSH EBP
			PUSH ESI
			MOV EAX, [0049AB50h]
			MOV EAX, [EAX]
			MOV EDX, [EAX]
			CALL [EDX+08h]
			POP ESI
			POP EBP
			POP EBX
			POP EDX
			POP EAX
			RET
__00436DB7h:
			PUSHA
			MOV EAX, [004A0B8Ch]		; TLcfgSystem
			MOV EAX, [EAX]
			CMP BYTE PTR [EAX+04h], 1
			POPA
			JE __00470E48h
			PUSH EBP
			MOV EBP, ESP
			SUB ESP, 8
			JMP __00470DDAh
__Other:
			MOV EAX, [004A0B38h]
			MOV EAX, [EAX]
			CMP BYTE PTR [EAX+0Ch], 1
			JE __BackToDrawMap
			MOV EAX, [004A0C44h]
			MOV EAX, [EAX]
			CALL PROC__0047A6FCh		; TLcfBattleScene.Assign
			JMP __SkipMap
			INT3
__00448AE5h:
			PUSH EAX
			MOV EAX, [004CDC7Ch]		; TLcfgSystem
			MOV EAX, [EAX]
			MOV AL, BYTE PTR [EAX+04h]
			CMP AL, 2
			JE __SkipMap			; +15h
			CMP AL, 3
			JE __SkipMap			; +11h
			CMP AL, 5
			JE __SkipMap			; +0Dh
			CMP AL, 6
			JE __SkipMap			; +09h
			CMP AL, 7
			JGE __Other			; +41h
__BackToDrawMap:
			CALL PROC__InjectMapDraw
__SkipMap:
			JMP __SkipMapEX
__Other:
			MOV EAX, [004CDC1Ch]
			MOV EAX, [EAX]
			CMP BYTE PTR [EAX+0Ch], 1
			JE __BackToDrawMap
			JMP __BattleStuff
__SkipMapEX:
			POP EAX
			POP EBP
			POP EDI
			POP ESI
			POP EBX
			RET
PROC__InjectMapDraw:
			PUSH EAX
			PUSH EDX
			PUSH EBX
			PUSH EBP
			PUSH ESI
			MOV EAX, [004CDC1Ch]
			MOV EAX, [EAX]
			MOV EDX, [EAX]
			CALL [EDX+08h]
			POP ESI
			POP EBP
			POP EBX
			POP EDX
			POP EAX
			RET
__00448B3Ah:
			PUSHA
			MOV EAX, [004CDC7Ch]		; TLcfgSystem
			MOV EAX, [EAX]
			CMP BYTE PTR [EAX+04h], 1
			POPA
			JE __0048CE78h
			PUSH EBP
			MOV EBP, ESP
			ADD ESP, -8
			JMP __0048CE0Ah
__BattleStuff:
			MOV EAX, [004CDD38h]
			MOV EAX, [EAX]
			CALL PROC__00498CA4h		; TLcfBattleScene.Assign
			JMP __SkipMapEX
			INT3
__00448AE5h:
			PUSH EAX
			MOV EAX, [004CDC7Ch]		; TLcfgSystem
			MOV EAX, [EAX]
			MOV AL, BYTE PTR [EAX+04h]
			CMP AL, 2
			JE __SkipMap			; +15h
			CMP AL, 3
			JE __SkipMap			; +11h
			CMP AL, 5
			JE __SkipMap			; +0Dh
			CMP AL, 6
			JE __SkipMap			; +09h
			CMP AL, 7
			JGE __Other			; +41h
__BackToDrawMap:
			CALL PROC__InjectMapDraw
__SkipMap:
			JMP __SkipMapEX
__Other:
			MOV EAX, [004CDC1Ch]
			MOV EAX, [EAX]
			CMP BYTE PTR [EAX+0Ch], 1
			JE __BackToDrawMap
			JMP __BattleStuff
__SkipMapEX:
			POP EAX
			POP EBP
			POP EDI
			POP ESI
			POP EBX
			RET
PROC__InjectMapDraw:
			PUSH EAX
			PUSH EDX
			PUSH EBX
			PUSH EBP
			PUSH ESI
			MOV EAX, [004CDC1Ch]
			MOV EAX, [EAX]
			MOV EDX, [EAX]
			CALL [EDX+08h]
			POP ESI
			POP EBP
			POP EBX
			POP EDX
			POP EAX
			RET
__00448B3Ah:
			PUSHA
			MOV EAX, [004CDC7Ch]		; TLcfgSystem
			MOV EAX, [EAX]
			CMP BYTE PTR [EAX+04h], 1
			POPA
			JE __0048CE34h
			PUSH EBP
			MOV EBP, ESP
			SUB ESP, 8
			JMP __0048CDC6h
__BattleStuff:
			MOV EAX, [004CDD38h]
			MOV EAX, [EAX]
			CALL PROC__00497E98h		; TLcfBattleScene.Assign
			JMP __SkipMapEX

Bytes

CC 50 A1A4AB4900 8B00 8A4004 3C02 7415
3C03 7411
3C05 740D
3C06 7409
3C07 7D41
E807000000
58 5D 5F 5E 5B C3 90

50 52 53 55 56 A150AB4900 8B00 8B10 FF5208 5E 5D 5B 5A 58 C3

60 A1A4AB4900 8B00 80780401 61 0F84164E0300
55 8BEC 83C4F8 E99D4D0300

A150AB4900 8B00 80780C01 74B2
A15CAC4900 8B00 E882D90300
EBA9
CC 50 A18C0B4A00 8B00 8A4004 3C02 7415
3C03 7411
3C05 740D
3C06 7409
3C07 7D41
E807000000
58 5D 5F 5E 5B C3 90

50 52 53 55 56 A1380B4A00 8B00 8B10 FF5208 5E 5D 5B 5A 58 C3

60 A18C0B4A00 8B00 80780401 61 0F847EA00300
55 89E5 83EC08 E905A00300

A1380B4A00 8B00 80780C01 74B2
A1440C4A00 8B00 E80E390400
EBA9
CC 50 A17CDC4C00 8B00 8A4004 3C02 7415
3C03 7411
3C05 740D
3C06 7409
3C07 7D07
E81A000000
EB12
A11CDC4C00 8B00 80780C01 74EC
E93B000000
58 5D 5F 5E 5B C3

50 52 53 55 56 A11CDC4C00 8B00 8B10 FF5208 5E 5D 5B 5A 58 C3

60 A17CDC4C00 8B00 80780401 61 0F842B430400
55 8BEC 83C4F8 E9B2420400

A138DD4C00 8B00 E840010500
EBB7
CC 50 A17CDC4C00 8B00 8A4004 3C02 7415
3C03 7411
3C05 740D
3C06 7409
3C07 7D07
E817000000
EB0F
A11CDC4C00 8B00 80780C01 74EC
EB3B
58 5D 5F 5E 5B C3

50 52 53 55 56 A11CDC4C00 8B00 8B10 FF5208 5E 5D 5B 5A 58 C3

60 A17CDC4C00 8B00 80780401 61 0F84EA420400
55 89E5 83EC08 E971420400

A138DD4C00 8B00 E837F30400
EBB7

Segment 2/3

Offsets

RPG2000
2000-12-27
1.07
2017-09-14
1.62
00452621h
00051A21h
00452EEDh
000522EDh
RPG2003
1.0.8.0
1.0.8.0
1.0.9.1
1.0.9.1
1.101.111.12mp210414
004682A8h
000676A8h
004682A8h
000676A8h

Sourcecode

			JMP __00436741h
			JMP __00436D75h
			JMP __00448AE5h
			JMP __00448AE5h

Bytes

E91B41FEFF
E9833EFEFF
E93808FEFF
E93808FEFF

Segment 3/3

Offsets

RPG2000
2000-12-27
1.07
2017-09-14
1.62
0046B538h
0006A938h
00470DD4h
000701D4h
RPG2003
1.0.8.0
1.0.8.0
1.0.9.1
1.0.9.1
1.101.111.12mp210414
0048CE04h
0008C204h
0048CDC0h
0008C1C0h

Sourcecode

			NOP
			JMP __00436783h
			NOP
			JMP __00436DB7h
			JMP __00448B3Ah
			JMP __00448B3Ah

Bytes

90 E945B2FCFF
90 E9DD5FFCFF
E931BDFBFF
E975BDFBFF