Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Topics - Oomek

Pages: [1] 2 3
General / SFML-PI updated to 2.5.1
« on: August 23, 2020, 05:05:30 AM »
Hi, I've finally synchronized my SFML-PI 2.5.1 X11 branch with Mickelson's 2.4.0 X11/KMS
Before I create a pull request would you please try it under X11 and KMS on PI3 and PI4 and report any problems here, or on Github?

It has been merged by Andrew on 25/09/2020. Thanks for your tests.

General / Video flags fix - test build
« on: November 23, 2019, 04:19:20 PM »
I need your advice regarding the video_flags fix I'm preparing.
Currently when you exit an emulator videos always restart regardless of the video_flags  (Vid.NoAutoStart is ignored), or video_playing property
I fixed that, but I'm unsure what to do with the videos that had set video_playing = true/false before launching an emulator

I've also fixed a stalled frame showing for 5 frames after you exit the emulator and before the video restarts.

There are 2 undecided video states (playing/stopped) when you exit an emulator with the following properties set before launching a game:
Code: [Select]
Vid.Default & video_playing = false -> ?
Vid.NoAutoStart & video_playing = true -> ?

With my fix video_playing is ignored and video playing state relies solely on video_flags when you exit a game.
Should I check video_playing property and use video_flags only when you load another video snap, or leave it as it is?!Ag7uFeM0f_fzh9IpRmCwD9qGJzrwfw?e=C1qS8y

The archive from the link contains Attract Mode executable and a layout for testing.

You may want to misspell the emulator exe in settings so the game does not launch, preventing the resolution switching from masking stalled frames.

General / Attract Mode test build with improved video rendering
« on: March 12, 2019, 12:55:58 PM »!Ag7uFeM0f_fzhYhwBiJOVxlXgWbZUg

Please report any issues so I can fix it before making a pull request on Github.

General / POLL: What system are you running Attract Mode on?
« on: December 07, 2018, 05:41:24 AM »
This information can help in debugging Attract Mode.
If there is a system that you would like to add ie. a speciffic macOS/OSX version please leave a note.

General / If you run Multi Monitor setup on Windows 10 read this
« on: December 02, 2018, 04:53:08 PM »
I'm currently investigating the cause of stuttering on Windows 10 on multi monitor setup ( at least on nVidia cards ) As a workaround you can set the compatibility mode for attract.exe to Windows 7

General / Attract Mode 2.5.1 experimental build available for Windows
« on: November 12, 2018, 09:53:29 AM »
Hi, would some of you be brave enough and spare some time to test my latest Attract Mode build and report any unusual behaviour (good or bad) comparing to the official 2.5.0 ? I would like to know about any bugs before my pull requests got merged, so I can fix it beforehand.!Ag7uFeM0f_fzhYBVksVr1ZgoMjhkvA

If you have an nVidia card make sure you disabled the Threaded Optimization in your nvidia control panel. It will be disabled automaticaly in my next commit.

Changelog in the descriptions of the last five pull requests is available here:

Scripting / Phosphor retention effect
« on: October 07, 2018, 05:24:26 AM »
I've just come up with an idea of how to make a phosphor retention effect in Attract Mode by accident during my experiments.
It's possible by exploiting the one frame delay of surfaces and making a feedback loop between 2 surfaces.
Maybe someone will find a use for it.

Code: [Select]
local flw = fe.layout.width
local flh = fe.layout.height

local su = []
local sh = []
local width = flw /2.0
local height = flh /1.0
local retention = 0.95

su.push( fe.add_surface( width, height ))
su.push( fe.add_surface( width, height ))

local snap = su[0].add_artwork("snap", 0, 0, width, height )

sh.push( fe.add_shader( Shader.Fragment, "shader.frag" ))
sh.push( fe.add_shader( Shader.Fragment, "shader.frag" ))

snap = su[1].add_clone( snap )
sh[0].set_texture_param( "texold", su[0] )
sh[0].set_param( "retention", retention )
snap.shader = sh[0]

snap = su[0].add_clone( snap )
sh[1].set_texture_param( "texold", su[1] )
sh[1].set_param( "retention", retention )
snap.shader = sh[1]

su[0].set_pos( flw / 2.0, flh / 2.0 )
su[0].origin_x = su[0].width / 2.0
su[0].origin_y = su[0].height / 2.0
su[1].visible = false

Code: [Select]
uniform sampler2D texture;
uniform sampler2D texold;
uniform float retention;

void main()
    vec4 pixel;
    vec4 pixelold;
vec2 uv = gl_TexCoord[0];
vec2 uvo = gl_TexCoord[0];
uvo.y = 1.0 - uvo.y;
pixel = texture2D( texture, uv );
pixelold = texture2D( texold, uvo );
pixel = max( pixel, pixelold * retention );
    gl_FragColor = gl_Color * pixel;

Check your file if it’s not containing the negative offset

Code: [Select]
position -1,-1
size 1922,1082

If it looks like this you may be crippling the performance by skipping Windows’ borderless optimizations.
You can manually set it to the correct size

Code: [Select]
position 0,0
size 1920,1080

Or change your window mode to Full Screen and then back to Window (No Border)
The true window mode “Borderless Window” will be implemented in the future that won’t require this workaround.

This happens if you set Window (No Border) after Fill Screen.

Scripting / New feature: vertical text alignment
« on: June 13, 2018, 03:30:53 PM »
I’ve added some additional flags to fe.text.align property

I would like you to test it with your fonts and report if it aligns nicely.
I’m attaching a compiled attract.exe x64 and an example layout for testing!Ag7uFeM0f_fzhOM9Eb2a5bKE6dKv1g

As some of you probably know drawing something on nested surfaces in AM introduces an unwanted artifact, a 1 or more frames of delay in updating the nested surface content.
Luckily I discovered a neat trick that circumvents that.

Here is a code example that draws a game title twice in white colour, and twice in black but on nested surfaces ( with a little offset to make you see the white text underneath )
Just scroll through your game list and observe that the left side is blinking in white, that's the delay I'm referring to as the black title on a nested surface is being drawn with 1 frame delay.
The text on the right is drawn without any delay.

Code: [Select]
// This is an example of how to draw nested surfaces and avoid 1 frame delay ( or more, depending on the nesting level )
// The text on the left is blinking as the white text drawn on fe is updated first,
// then the black text on a surface is drawn on top, but it's late by 1 frame
// On the right the white and black texts are drawn on the same frame

local flw = fe.layout.width
local flh = fe.layout.height

local background = fe.add_text( "", 0, 0, flw, flh )
background.set_bg_rgb( 50, 150, 150 )

// title drawn on fe. in white
local textOnFe1 = fe.add_text( "[Title]", 0, 0, flw/2, 50 )
textOnFe1.align = Align.Left

// title drawn on fe. in white
local textOnFe2 = fe.add_text( "[Title]", flw/2, 0, flw/2, 50 )
textOnFe2.align = Align.Left

// SURFACE WITHOUT DELAY ( on the right )
local nestedSurface2 = fe.add_surface( flw/2, 50 )

// title drawn on nested surface in black
local txtsu2 = nestedSurface2.add_text( "[Title]", 0, 0, flw/2, 50 )
txtsu2.align = Align.Left
txtsu2.set_rgb( 0, 0, 0 )

// main surface on which both nested surfaces are drawn
local mainSurface = fe.add_surface( flw, 50 )

// shift the main surface by 2 pixes so you can see the white text underneath
mainSurface.set_pos( 0, 1 )

nestedSurface2.visible = false
nestedSurface2 = mainSurface.add_clone( nestedSurface2 )
nestedSurface2.visible = true

// position nested surface to the right
nestedSurface2.set_pos( flw/2, 0 )

// SURFACE WITH DELAY ( on the left )
local nestedSurface1 = mainSurface.add_surface( flw/2, 50 )

// title drawn on nested surface in black
local txtsu1 = nestedSurface1.add_text( "[Title]", 0, 0, flw/2, 50 )
txtsu1.align = Align.Left
txtsu1.set_rgb( 0, 0, 0 )

// do something at tick() so the screen keeps updating
function tick(ttime) {
mainSurface.x = 0
fe.add_ticks_callback( "tick" )

General / [Solved] Windows 10 Spring Update 1803 broke Attract Mode
« on: April 10, 2018, 04:09:49 AM »
It's just great. I've recently updated Windows 10 to the latest 1803 version and it appears that it broke Attract Mode and Mame.
When I launch AM I get two 3 second delays where AM becomes frozen and unresponsive.
When I go back from Mame to AM I have to alt-tab because AM stays frozen.
In Mame I've lost HLSL scanlines.
When I exit Mame I get also a delay of around 5 seconds before the process terminates

Well done Microsoft.

Does anyone else stumbled across those issues?

General / Discord channel for theme builders and modders
« on: January 20, 2018, 01:25:34 PM »
Hi, I would like to share the link to our Discord channel when you can chat about Attract Mode theme developement and modding

See you there :)

General / DXVA2 missing after compiling with MXE
« on: January 12, 2018, 05:51:32 AM »
Do I need to specify other constants than WINDOWS_STATIC=1 in the make script to have DXVA2 showing in settings?

I've tried:

but still I have only software shown in the video decoders

Themes / Ambience HD theme v0.8 beta [Released]
« on: January 06, 2018, 05:23:33 AM »
Ambience HD theme v0.8 beta


- Attract Mode 2.6.0 or newer
- shaders support
- snaps and videos on the SSD for smooth scrolling
- preferably triple buffering enabled in driver's control panel and fulscreen mode in AM
- works best with selection_speed_ms  51 in attract.cfg
- for this moment Ambience requires setting Left (Next Game) and Right (Previous Game) actions in Controls settings

Known issues:

- fixed to 1920 x 1080 at the moment
- some shaders do not compile on older Macs
- snaps only option isn't working yet


- dynamicaly adapting to all resolutions
- systems selector
- auto update


- Updated to v0.8
- Fixed some genres being cut off
- Fixed logo not showing and wrong format of gradients
- Fixed handling of filters with no games
- Fixed handling of empty filters list
- Fixed shader errors on linux
- Improved formatting of long game titles

- Initial release v0.7


Check settings.ini if you want to adjust power commands or labels for your hardware buttons in your cabinet.

Please use Github to report any issues.

Scripting / [WIP] Blur Shader
« on: June 01, 2017, 06:09:56 AM »
Attract Mode Blur Shader WIP - Snaps

Attract Mode Blur Shader WIP - Videos

Pages: [1] 2 3