Zitat Zitat von bugmenot Beitrag anzeigen
bzw. nach 22 8B 45 EC 8B 10 FF 52 2C 3D 80 02 suchen.
So ähnlich macht das der RPG Maker 2009 Ultimate, on-the-fly (und Versionsunabhängig):

Code:
	' install oversize import patch
	If DllData->Config.Resources_ImportCheckDimensions = FALSE Then
		DebugOutput("Installing patch: Oversize import", IDI_DBGWAIT, TRUE)
		' RM2k3
		address = DllData->Code.FindEx("8B 45 ?? E8 ?? ?? ?? ?? 3C 03 74 ?? 8D 55 ?? B8 ?? ?? ?? ?? E8 ?? ?? ?? ?? 8B 4D ??" + _
			"B2 01 A1 ?? ?? ?? ?? E8 ?? ?? ?? ?? E8 ?? ?? ?? ?? 8B 45 ?? 8B 80 ?? ?? ?? ?? 8B 10 FF 92 ?? ?? ?? ?? 83 F8 ??" + _
			"0F 87 ?? ?? ?? ?? FF 24 85 ?? ?? ?? ??")
		Var offs = 65
		' RM2k Value!
		If address = NOT_FOUND Then
			address = DllData->Code.FindEx("8B 45 ?? E8 ?? ?? ?? ?? 3C 03 74 ?? 8D 55 ?? B8 ?? ?? ?? ?? E8 ?? ?? ?? ?? 8B 4D ??" + _
			"B2 01 A1 ?? ?? ?? ?? E8 ?? ?? ?? ?? E8 ?? ?? ?? ?? 8B 45 ?? 8B 80 ?? ?? ?? ?? E8 ?? ?? ?? ?? 83 F8 ??" + _
			"0F 87 ?? ?? ?? ?? FF 24 85 ?? ?? ?? ??")
			offs = 62
		EndIf
		' RM2k
		If address = NOT_FOUND Then
			address = DllData->Code.FindEx("8B C3 E8 ?? ?? ?? ?? 8B 55 ?? 8B 45 ?? E8 ?? ?? ?? ?? B2 03" + _
				"8B 45 ?? E8 ?? ?? ?? ?? 8B 45 ?? 8B 80 ?? ?? ?? ?? E8 ?? ?? ?? ?? 83 F8 ?? 0F 87 ?? ?? ?? ?? FF 24 85 ?? ?? ?? ??")
			offs = 45
		EndIf
		If address = NOT_FOUND Then
			DebugOutput(FormatMessageEx(IDS_CODENOTFOUND, "Oversize import"), IDI_DBGWARNING)
		Else
			Var newval = CUShort(&hE990)
			WriteProcessMemory(GetCurrentProcess(), address + offs, @newval, SizeOf(newval), NULL)
		EndIf
	EndIf
Wer weiß, vielleicht interessierts ja wen.

Zitat Zitat von bugmenot Beitrag anzeigen
P.S.
Mich würde jetzt interessieren, wie/wo der Maker/die RPG_RT sich die Transparenz vermerkt. Wird die ID 0 (Palette) des Bildes beim Import überschrieben?
Ja.