TrickySoundPool

Replaces a few calls that refer to the confirm-sound-effect with other sounds available and some additional similar changes are made, too. To make good use of all that stuff, it may be necessary to re-assign some system-sounds mid-game again, again and again to make them always fit the current scene/screen or situation.

To get battle-start-sound back, a sound-command can be put before a battle in an event is starting. Also, random-encounters can be catched and redirected to manual battles with Encounter Randomness Alert / ERA MEPR.

Originally made and first released by KotatsuAkira.

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

Offsets

RPG2000
2017-09-14
1.62
0047414Fh
0007354Fh

Sourcecode

			JMP __00474169h			; Skip Sound for BattleStart
			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

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

Offsets

RPG2000
2017-09-14
1.62
004753CCh
000747CCh

Sourcecode

			CALL PROC__00470058h		; TLcfgSystem.GetSoundEscape (FakeSave)

Bytes

E887ACFFFF

Segment 3/10

Offsets

RPG2000
2017-09-14
1.62
00475458h
00074858h

Sourcecode

			CALL PROC__004700B8h		; TLcfgSystem.GetSoundEnemyAttack (FakeLoad)

Bytes

E85BACFFFF

Segment 4/10

Offsets

RPG2000
2017-09-14
1.62
00478630h
00077A30h

Sourcecode

			CALL PROC__00470118h		; TLcfgSystem.GetSoundEnemyDamage (FakeBuy)

Bytes

E8E37AFFFF

Segment 5/10

Offsets

RPG2000
2017-09-14
1.62
004787ABh
00077BABh

Sourcecode

			CALL PROC__00470178h		; TLcfgSystem.GetSoundActorDamage (FakeSell)

Bytes

E8C879FFFF

Segment 6/10

Offsets

RPG2000
2017-09-14
1.62
0047FDA6h
0007F1A6h

Sourcecode

			CALL PROC__004701D8h		; TLcfgSystem.GetSoundEvasion (FakeEquip)

Bytes

E82D04FFFF

Segment 7/10

Offsets

RPG2000
2017-09-14
1.62
00480F83h
00080383h

Sourcecode

			MOV EAX, [004A0B8Ch]		; TLcfgSystem
			MOV EAX, [EAX]
			PUSH EAX
			CALL PROC__00470238h		; TLcfgSystem.GetSoundEnemyCollapse (FakeSkillUse)
			MOV EDX, EAX
			POP EAX
			CALL PROC__0046F96Ch		; TLcfgSystem.SoundPlay
			JMP __00481068h
			NOP
			NOP
			NOP
PROC__00480FA0h:
			CMP EDI, 1			; Is StateID equal to Knockout?
			JNE __00480FBFh
PROC__00480FA8h:
			PUSH EAX
			MOV EAX, [004A0B8Ch]		; TLcfgSystem
			MOV EAX, [EAX]
			PUSH EAX
			CALL PROC__0046FFF8h		; TLcfgSystem.GetSoundBattleStart (FakeActorCollapse)
			MOV EDX, EAX
			POP EAX
			CALL PROC__0046F96Ch		; TLcfgSystem.SoundPlay
			POP EAX
__00480FBFh:
			MOV ECX, __0047DFECh		; Placeholder String "???"
			RET
			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
			NOP
			NOP
			NOP
			NOP
			NOP
			NOP
			NOP
			NOP
			NOP
			NOP
			NOP
			NOP
			NOP
			NOP
			NOP
			NOP
			NOP
			NOP
			NOP
			NOP
__00481068h:
			(...)

Bytes

A18C0B4A00 8B00 50 E8A8F2FEFF
8BD0 58 E8D4E9FEFF
E95D000000
8D4000

81FF01000000 7517

50 A18C0B4A00 8B00 50 E842F0FEFF
8BD0 58 E8AEE9FEFF
58 B9ECDF4700 C3 8D4000

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 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90
90 90

Segment 8/10

Offsets

RPG2000
2017-09-14
1.62
00482A9Ch
00081E9Ch

Sourcecode

			JMP __00482AACh			; Skip Sound for BattleStart
			NOP
			NOP
			NOP
			NOP
			NOP
			NOP
			NOP
			NOP
			NOP
			NOP
			NOP
			NOP
			NOP
			NOP
			NOP

Bytes

EB0E
90 90 90 90 90 90 90 90 90 90 90 90 90 90 90

Segment 9/10

Offsets

RPG2000
2017-09-14
1.62
0047CFEFh
0007C3EFh

Sourcecode

			CALL PROC__00480FA8h		; Insert Sound before displaying ActorCollapse String

Bytes

E8B43F0000

Segment 10/10

Offsets

RPG2000
2017-09-14
1.62
0047DF88h
0007D388h

Sourcecode

			CALL PROC__00480FA0h		; Insert Sound before ActorAffected String if it is Knockout

Bytes

E813300000