RCOXML ofw animations

From PS3 Developer wiki
Revision as of 05:16, 30 August 2021 by Sandungas (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

PS3

custom_render_plugin.rco

See the available native events in: custom_render_plugin page

anim_otherboot

Firmware 1.00 up to 2.80

			<Animation name="anim_otherboot">
				<Lock unknownInt0="0xffffffff" />
				<Fade object="object:ps3logo" duration="0" accelMode="0x0" transparency="0" />
				<FireEvent event="event:native:/anim_otherboot_BG3" />
				<Delay time="1000" />
				<FireEvent event="event:native:/anim_otherboot_Finished" />
			</Animation>
anim_otherboot timeline (1.00~2.80)
Total time 0.00" D-Pad right button 1.00" D-Pad right button 1.00" D-Pad right button
Parallel
execution
threads
Lock
0xffffffff
Fade
object:ps3logo
FireEvent
anim_otherboot_BG3
Delay
1000
FireEvent
anim_otherboot_Finished
Time frames D-Pad left button 0.00" D-Pad right button D-Pad left button 1.00" D-Pad right button D-Pad left button 0.00" D-Pad right button

This animation is a basic "fade-in" of 1 second length, at the first instant of the animation (time=0) the 4 threads are executed in parallel, from top to botton it locks the XMB, then initializes the transparency of the image, and triggers the event anim_otherboot_BG3 from custom_render_plugin.sprx (at this point the animation is performed by the code inside the .sprx). Also at the same time (time=0) it starts the timer for the delay of 1 second

When the delay of 1 second ends, it sends the event anim_otherboot_Finished to custom_render_plugin.sprx (is a terminator controll signal to stop the previous event anim_otherboot_BG3 running in the .sprx)

The event anim_otherboot_BG3 is the responsible of the "flying sparks" behind the "playstation" logo but the details of how it works are unknown (hardcoded inside the .sprx)

Firmware 3.00 up to 4.81

			<Animation name="anim_otherboot">
				<Lock unknownInt0="0xffffffff" />
				<Fade object="object:ps3logo" duration="0" accelMode="0x0" transparency="0" />
				<FireEvent event="event:native:/anim_otherboot_BG3" />
				<Delay time="200" />
				<FireEvent event="event:native:/anim_otherboot_BG4" />
				<Delay time="300" />
				<FireEvent event="event:native:/anim_otherboot_Finished" />
			</Animation>
anim_otherboot timeline (3.00~4.81)
Total time 0.00" D-Pad right button 0.20" D-Pad right button 0.30" D-Pad right button 0.30" D-Pad right button
Parallel
execution
threads
Lock
0xffffffff
Fade
object:ps3logo
FireEvent
anim_otherboot_BG3
Delay
200
FireEvent
anim_otherboot_BG4
Delay
300
FireEvent
anim_otherboot_Finished
Time frames D-Pad left button 0.00" D-Pad right button D-Pad left button 0.20" D-Pad right button D-Pad left button 0.10" D-Pad right button D-Pad left button 0.00" D-Pad right button

The purpose of this modification was to short the whole duration of the animation but instead of simply reducing the delay from the previous version they added another event with its own delay

The purpose of anim_otherboot_BG4 is unknown, but it starts only 200 miliseconds after the anim_otherboot_BG3 (the sparks animation) so it seems is hiding it at least partially because the sparks are still visibles in lates firmwares, is working as an small fade-out because the animation was not supposed to stop at 200 miliseconds so they refused to "chop" it rudelly, instead they added this event that can be considered a "visual patch" to soft the transition to the terminator event that comes next

The delay of only 300 miliseconds before the event anim_otherboot_Finished is what is really shorting the whole animation length, after the 300 miliseconds the event anim_otherboot_Finished is sent and the animation ends

In short... the animation length has been reduced from the 1 second originally to 300 miliseconds (less than a third of a second) and an effect has been added to stop it smoothlly

anim_gameboot

			<Animation name="anim_gameboot">
				<Lock unknownInt0="0xffffffff" />
				<Fade object="object:ps3logo" duration="0" accelMode="0x0" transparency="0" />
				<Resize object="object:ps3logo" duration="0" accelMode="0x0" width="0.938" height="0.938" depth="1" />
				<FireEvent event="event:native:/anim_gameboot_BG2" />
				<Delay time="500" />
				<Fade object="object:ps3logo" duration="863" accelMode="0x3" transparency="1" />
				<Resize object="object:ps3logo" duration="863" accelMode="0x4" width="1" height="1" depth="1" />
				<FireEvent event="event:native:/anim_gameboot_BG3" />
				<Delay time="1100" />
				<Fade object="object:ps3logo" duration="174" accelMode="0x1" transparency="0" />
				<Resize object="object:ps3logo" duration="174" accelMode="0x1" width="1.284" height="1.284" depth="1" />
				<Delay time="1000" />
				<Delay time="200" />
				<FireEvent event="event:native:/anim_gameboot_Finished" />
			</Animation>

anim_coldboot

			<Animation name="anim_coldboot">
				<Lock unknownInt0="0xffffffff" />
				<Fade object="object:scelogo" duration="0" accelMode="0x0" transparency="0" />
				<FireEvent event="event:native:/anim_coldboot_BootBG1" />
				<Delay time="0" />
				<FireEvent event="event:native:/anim_coldboot_NormalBG" />
				<Delay time="1500" />
				<Fade object="object:scelogo" duration="1000" accelMode="0x3" transparency="0.8" />
				<Delay time="2500" />
				<Fade object="object:scelogo" duration="1000" accelMode="0x3" transparency="0" />
				<Delay time="1000" />
				<Delay time="500" />
				<FireEvent event="event:native:/anim_coldboot_ShowGUI" />
				<Unlock unknownInt0="0xffffffff" />
				<Delay time="4500" />
				<FireEvent event="event:native:/anim_coldboot_Finished" />
			</Animation>

anim_coldboot2

Firmware 2.70 up to 2.80

			<Animation name="anim_coldboot2">
				<Lock unknownInt0="0xffffffff" />
				<Fade object="object:scelogo" duration="0" accelMode="0x0" transparency="0" />
				<FireEvent event="event:native:/anim_coldboot_BootBG2" />
				<Delay time="5500" />
				<FireEvent event="event:native:/anim_coldboot_NormalBG2" />
				<FireEvent event="event:native:/anim_coldboot_ShowGUI" />
				<Unlock unknownInt0="0xffffffff" />
				<Delay time="4500" />
				<FireEvent event="event:native:/anim_coldboot_Finished" />
			</Animation>

Firmware 3.00 up to 4.81

			<Animation name="anim_coldboot2">
				<Lock unknownInt0="0xffffffff" />
				<Fade object="object:scelogo" duration="0" accelMode="0x0" transparency="0" />
				<FireEvent event="event:native:/anim_coldboot_BootBG2" />
				<Delay time="4000" />
				<FireEvent event="event:native:/anim_coldboot_NormalBG2" />
				<Delay time="1500" />
				<FireEvent event="event:native:/anim_coldboot_ShowGUI" />
				<Unlock unknownInt0="0xffffffff" />
				<Delay time="4500" />
				<FireEvent event="event:native:/anim_coldboot_Finished" />
			</Animation>

gamelib_plugin.rco

See gamelib_plugin

			<Animation name="anim_gameboot">
				<Lock unknownInt0="0xffffffff" />
				<Fade object="object:ps3logo" duration="0" accelMode="0x0" transparency="0" />
				<Resize object="object:ps3logo" duration="0" accelMode="0x0" width="0.938" height="0.938" depth="1" />
				<Delay time="500" />
				<Fade object="object:ps3logo" duration="863" accelMode="0x3" transparency="1" />
				<Resize object="object:ps3logo" duration="863" accelMode="0x4" width="1" height="1" depth="1" />
				<Delay time="1100" />
				<Fade object="object:ps3logo" duration="174" accelMode="0x1" transparency="0" />
				<Resize object="object:ps3logo" duration="174" accelMode="0x1" width="1.284" height="1.284" depth="1" />
				<Delay time="1000" />
				<Delay time="200" />
				<FireEvent event="event:native:/GameLibApp_OnBootAnimationFinished" />
			</Animation>

bdp_plugin.rco

		<AnimTree>
			<Animation name="bdp_anim_cp_focus_in">
				<Resize object="nothing" duration="200" accelMode="0x0" width="1.2" height="1.2" depth="1" />
			</Animation>
			<Animation name="bdp_anim_cp_focus_out">
				<Resize object="nothing" duration="200" accelMode="0x0" width="1" height="1" depth="1" />
			</Animation>
		</AnimTree>

friendim_plugin.rco

		<AnimTree>
			<Animation name="friendim_pause">
				<FireEvent event="event:native:/OnPause" />
			</Animation>
			<Animation name="friendim_exit">
				<Lock unknownInt0="0xffffffff" />
				<Delay time="300" />
				<FireEvent event="event:native:/OnExit" />
				<Unlock unknownInt0="0xffffffff" />
			</Animation>
			<Animation name="friendim_quick_exit">
				<Lock unknownInt0="0xffffffff" />
				<FireEvent event="event:native:/OnExit" />
				<Unlock unknownInt0="0xffffffff" />
			</Animation>
		</AnimTree>

friendim_plugin_game.rco

		<AnimTree>
			<Animation name="friendim_pause">
				<FireEvent event="event:native:/OnPause" />
			</Animation>
			<Animation name="friendim_exit">
				<Lock unknownInt0="0xffffffff" />
				<Delay time="300" />
				<FireEvent event="event:native:/OnExit" />
				<Unlock unknownInt0="0xffffffff" />
			</Animation>
			<Animation name="friendim_quick_exit">
				<Lock unknownInt0="0xffffffff" />
				<FireEvent event="event:native:/OnExit" />
				<Unlock unknownInt0="0xffffffff" />
			</Animation>
		</AnimTree>

impose_plugin.rco

		<AnimTree>
			<Animation name="anim_btnbar_show">
				<Recolour object="object:btnbar" duration="0" accelMode="0x0" red="0" green="0" blue="0" alpha="0" />
				<Recolour object="object:btnbar" duration="100" accelMode="0x0" red="0" green="0" blue="0" alpha="0.5" />
				<Delay time="100" />
			</Animation>
			<Animation name="anim_btnbar_hide">
				<Recolour object="object:btnbar" duration="100" accelMode="0x0" red="0" green="0" blue="0" alpha="0" />
				<Delay time="100" />
			</Animation>
			<Animation name="anim_circle_hide">
				<Fade object="object:circle_shadow" duration="100" accelMode="0x0" transparency="0" />
			</Animation>
			<Animation name="anim_circle_show">
				<Fade object="object:circle_shadow" duration="100" accelMode="0x0" transparency="1" />
			</Animation>
			<Animation name="anim_cross_hide">
				<Fade object="object:cross_shadow" duration="100" accelMode="0x0" transparency="0" />
			</Animation>
			<Animation name="anim_cross_show">
				<Fade object="object:cross_shadow" duration="100" accelMode="0x0" transparency="1" />
			</Animation>
		</AnimTree>

npsignin_plugin.rco

			<Animation name="npsignin_hide">
				<FireEvent event="event:native:/OnLoginPageCancel" />
			</Animation>

premo_plugin.rco

		<AnimTree>
			<Animation name="anim_btnbar_show">
				<Recolour object="object:btnbar" duration="0" accelMode="0x0" red="0" green="0" blue="0" alpha="0" />
				<Recolour object="object:btnbar" duration="100" accelMode="0x0" red="0" green="0" blue="0" alpha="0.5" />
				<Delay time="100" />
			</Animation>
			<Animation name="anim_btnbar_hide">
				<Recolour object="object:btnbar" duration="100" accelMode="0x0" red="0" green="0" blue="0" alpha="0" />
			</Animation>
			<Animation name="anim_btnbar_show_fake16_9">
				<Recolour object="object:btnbar_fake16_9" duration="0" accelMode="0x0" red="0" green="0" blue="0" alpha="0" />
				<Recolour object="object:btnbar_fake16_9" duration="100" accelMode="0x0" red="0" green="0" blue="0" alpha="0.5" />
				<Delay time="100" />
			</Animation>
			<Animation name="anim_btnbar_hide_fake16_9">
				<Recolour object="object:btnbar_fake16_9" duration="100" accelMode="0x0" red="0" green="0" blue="0" alpha="0" />
				<Delay time="100" />
			</Animation>
			<Animation name="anim_circle_hide">
				<Fade object="object:circle_shadow" duration="100" accelMode="0x0" transparency="0" />
			</Animation>
			<Animation name="anim_circle_show">
				<Fade object="object:circle_shadow" duration="100" accelMode="0x0" transparency="1" />
			</Animation>
			<Animation name="anim_cross_hide">
				<Fade object="object:cross_shadow" duration="100" accelMode="0x0" transparency="0" />
			</Animation>
			<Animation name="anim_cross_show">
				<Fade object="object:cross_shadow" duration="100" accelMode="0x0" transparency="1" />
			</Animation>
			<Animation name="anim_circle_hide_fake16_9">
				<Fade object="object:circle_shadow_fake16_9" duration="100" accelMode="0x0" transparency="0" />
			</Animation>
			<Animation name="anim_circle_show_fake16_9">
				<Fade object="object:circle_shadow_fake16_9" duration="100" accelMode="0x0" transparency="1" />
			</Animation>
			<Animation name="anim_cross_hide_fake16_9">
				<Fade object="object:cross_shadow_fake16_9" duration="100" accelMode="0x0" transparency="0" />
			</Animation>
			<Animation name="anim_cross_show_fake16_9">
				<Fade object="object:cross_shadow_fake16_9" duration="100" accelMode="0x0" transparency="1" />
			</Animation>
		</AnimTree>

sacd_plugin.rco

		<AnimTree>
			<Animation name="sacd_anim_cp_focus_in">
				<Resize object="nothing" duration="200" accelMode="0x0" width="1.2" height="1.2" depth="1" />
			</Animation>
			<Animation name="sacd_anim_cp_focus_out">
				<Resize object="nothing" duration="200" accelMode="0x0" width="1" height="1" depth="1" />
			</Animation>
		</AnimTree>

system_plugin.rco

		<AnimTree>
			<Animation name="anim_circle_hide">
				<Fade object="object:circle_shadow" duration="100" accelMode="0x0" transparency="0" />
			</Animation>
			<Animation name="anim_circle_show">
				<Fade object="object:circle_shadow" duration="100" accelMode="0x0" transparency="1" />
			</Animation>
			<Animation name="anim_cross_hide">
				<Fade object="object:cross_shadow" duration="100" accelMode="0x0" transparency="0" />
			</Animation>
			<Animation name="anim_cross_show">
				<Fade object="object:cross_shadow" duration="100" accelMode="0x0" transparency="1" />
			</Animation>
			<Animation name="anim_triangle_hide">
				<Fade object="object:triangle_shadow" duration="100" accelMode="0x0" transparency="0" />
			</Animation>
			<Animation name="anim_triangle_show">
				<Fade object="object:triangle_shadow" duration="100" accelMode="0x0" transparency="1" />
			</Animation>
			<Animation name="anim_rectangle_hide">
				<Fade object="object:rectangle_shadow" duration="100" accelMode="0x0" transparency="0" />
			</Animation>
			<Animation name="anim_rectangle_show">
				<Fade object="object:rectangle_shadow" duration="100" accelMode="0x0" transparency="1" />
			</Animation>
		</AnimTree>

PSP

system_plugin_fg.rco firmware 1.00

Example of an animation infinite loop

			<Animation name="anim_battery_charging">
				<Fade object="object:battery" duration="0" accelMode="0x0" transparency="1" />
				<Fade object="object:battery_shadow" duration="0" accelMode="0x0" transparency="1" />
				<Delay time="600" />
				<Fade object="object:battery" duration="0" accelMode="0x0" transparency="0" />
				<Fade object="object:battery_shadow" duration="0" accelMode="0x0" transparency="0" />
				<Delay time="400" />
				<FireEvent event="anim:anim_battery_charging" />
			</Animation>