Autor Tema: Lanzador de bezels ahk  (Leído 1174 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado machiminax

  • VIP
  • *
  • Mensajes: 1849
  • Gracias 112
  • Ciudad: indefinida
  • Pais: desconocido
Lanzador de bezels ahk
« en: Julio 23, 2018, 02:37:22 pm »
Advertisement
A ver si con la ayuda de Empardopo creamos algo mas completo que la beta que hice para el higan.
Dejo aqui el codigo del ahk para el higan - gameboy

Código: [Seleccionar]
; Display bezel program. Taken from gdi+ ahk tutorial 3 written by tic (Tariq Porter)
; Requires Gdip.ahk either in your Lib folder as standard library or using #Include
; ahkscript.org/boards/viewtopic.php?t=6517

#SingleInstance, Force
#NoEnv
SendMode Input  ; Recommended for new scripts due to its superior speed and reliability.
SetWorkingDir %A_ScriptDir%  ; Ensures a consistent starting directory.
SetBatchLines, -1
pname = higan v106
SetTimer, tick, 200
SplitPath, A_ScriptDir, outdir
StringLower, loutdir, outdir

fname := "GB.png" ; Change vectrex.png to whatever your file is named

#Include Gdip.ahk

If !pToken := Gdip_Startup()
{
MsgBox, 48, gdiplus error!, Gdiplus failed to start. Please ensure you have gdiplus on your system
ExitApp
}
OnExit, Exit

Gui, 1: -Caption +E0x80000 +LastFound +AlwaysOnTop +ToolWindow +OwnDialogs
Gui, 1: Show, NA
Gui, 1: Hide
hwnd1 := WinExist()
pBitmap := Gdip_CreateBitmapFromFile(fname)
If !pBitmap
{
MsgBox, 48, File loading error!, Could not load '%fname%'
ExitApp
}
Width := Gdip_GetImageWidth(pBitmap), Height := Gdip_GetImageHeight(pBitmap)
hbm := CreateDIBSection(A_ScreenWidth, A_ScreenHeight)
hdc := CreateCompatibleDC()
obm := SelectObject(hdc, hbm)
G := Gdip_GraphicsFromHDC(hdc)
Gdip_SetInterpolationMode(G, 7)
Gdip_DrawImage(G, pBitmap, 0, 0, A_ScreenWidth, A_ScreenHeight, 0, 0, Width, Height)
UpdateLayeredWindow(hwnd1, hdc, 0, 0, A_ScreenWidth, A_ScreenHeight)
SelectObject(hdc, obm)
DeleteObject(hbm)
DeleteDC(hdc)
Gdip_DeleteGraphics(G)
Gdip_DisposeImage(pBitmap)
Return

tick:
{
    IfWinActive, %pname%
    {
Gui, 1: -Caption +E0x80000 +LastFound +AlwaysOnTop +ToolWindow +OwnDialogs
        Gui, 1: Show, NA
    }
}
return

Exit:
Gdip_Shutdown(pToken)
SetTimer, tick, Off
ExitApp
Return

La idea seria adaptarlo para que nos buscase en una ubicaion determinada el ".png" diferenciando basado por ejemplo en el nombre del sistema que estemos lanzando.
Por ejemplo si lanzamos el Atari 2600 que busque en una carpeta "Atari 2600" un png llamando "bezel.png"

El codigo original que modifique esta aqui:

https://forums.launchbox-app.com/files/file/659-mame_vectrex_overlay_ahk7z/

Lo pego tambien por si sirve de algo , tuve que eliminar unas cuantas lineas:

Código: [Seleccionar]
; Display bezel program. Taken from gdi+ ahk tutorial 3 written by tic (Tariq Porter)
; Requires Gdip.ahk either in your Lib folder as standard library or using #Include
; ahkscript.org/boards/viewtopic.php?t=6517

#SingleInstance, Force
#NoEnv
SendMode Input  ; Recommended for new scripts due to its superior speed and reliability.
SetWorkingDir %A_ScriptDir%  ; Ensures a consistent starting directory.
SetBatchLines, -1
pname = MAME: Vectrex
sname = temp
SetTimer, tick, 200
SplitPath, A_ScriptDir, outdir
StringLower, loutdir, outdir

IfEqual, loutdir, %sname%
{
fname := "..\..\Overlays\Vectrex\vectrex.png" ; Change vectrex.png to whatever your file is named
}
else
{
fname := "..\Vectrex\vectrex.png" ; Change vectrex.png to whatever your file is named
}

#Include %A_ScriptDir%\..\..\Overlays\Code\Gdip.ahk

If !pToken := Gdip_Startup()
{
MsgBox, 48, gdiplus error!, Gdiplus failed to start. Please ensure you have gdiplus on your system
ExitApp
}
OnExit, Exit

Gui, 1: -Caption +E0x80000 +LastFound +AlwaysOnTop +ToolWindow +OwnDialogs
Gui, 1: Show, NA
Gui, 1: Hide
hwnd1 := WinExist()
pBitmap := Gdip_CreateBitmapFromFile(fname)
If !pBitmap
{
MsgBox, 48, File loading error!, Could not load '%fname%'
ExitApp
}
Width := Gdip_GetImageWidth(pBitmap), Height := Gdip_GetImageHeight(pBitmap)
hbm := CreateDIBSection(A_ScreenWidth, A_ScreenHeight)
hdc := CreateCompatibleDC()
obm := SelectObject(hdc, hbm)
G := Gdip_GraphicsFromHDC(hdc)
Gdip_SetInterpolationMode(G, 7)
Gdip_DrawImage(G, pBitmap, 0, 0, A_ScreenWidth, A_ScreenHeight, 0, 0, Width, Height)
UpdateLayeredWindow(hwnd1, hdc, 0, 0, A_ScreenWidth, A_ScreenHeight)
SelectObject(hdc, obm)
DeleteObject(hbm)
DeleteDC(hdc)
Gdip_DeleteGraphics(G)
Gdip_DisposeImage(pBitmap)
Return

tick:
{
    IfWinActive, %pname%
    {
Gui, 1: -Caption +E0x80000 +LastFound +AlwaysOnTop +ToolWindow +OwnDialogs
        Gui, 1: Show, NA
    }
else
{
Gui, 1: Hide
}
}
return

Exit:
Gdip_Shutdown(pToken)
SetTimer, tick, Off
ExitApp
Return




Desconectado empardopo

  • Admin
  • *
  • Mensajes: 21728
  • Gracias 761
  • Espero mejorar al KungFu Master!
    • Mi canal de Youtube
  • Ciudad: Norte de África
  • Pais: Escoña
  • Iniciales nick: EPP
Re:Lanzador de bezels ahk
« Respuesta #1 en: Julio 23, 2018, 04:09:13 pm »
Me voy a descargar el emulador higan que me has pasado con el jueguecillo; voy a probar que funciona.
Luego voy a integrarlo con AM tal y como pusiste en el otro post, ok? Y cuando más o menos me funcione empiezo con el código que has puesto y ya me vas explicando paso a paso más o menos lo que necesitamos para hacerlo funcionar con otros emuladores.

Muchas veces se ocurren ideas para solucionar un problema que pudieran ser más complicadas que otras, jeje.

El programa que queremos hacer, qué necesita exactamente para funcionar?

Desconectado empardopo

  • Admin
  • *
  • Mensajes: 21728
  • Gracias 761
  • Espero mejorar al KungFu Master!
    • Mi canal de Youtube
  • Ciudad: Norte de África
  • Pais: Escoña
  • Iniciales nick: EPP
Re:Lanzador de bezels ahk
« Respuesta #2 en: Julio 23, 2018, 05:17:27 pm »
Por cierto, otro emulador que necesitase de bezels? Please, si me pasas otro con una rom y el bezel correspondiente hago pruebas ...

Thanks

Desconectado machiminax

  • VIP
  • *
  • Mensajes: 1849
  • Gracias 112
  • Ciudad: indefinida
  • Pais: desconocido
Re:Lanzador de bezels ahk
« Respuesta #3 en: Julio 23, 2018, 07:58:14 pm »
Estuve probando el ssf pero se me queda por encima del bezel.

Desconectado empardopo

  • Admin
  • *
  • Mensajes: 21728
  • Gracias 761
  • Espero mejorar al KungFu Master!
    • Mi canal de Youtube
  • Ciudad: Norte de África
  • Pais: Escoña
  • Iniciales nick: EPP
Re:Lanzador de bezels ahk
« Respuesta #4 en: Julio 24, 2018, 05:48:18 pm »
Estuve probando el ssf pero se me queda por encima del bezel.


Uff, a mi igual. De momento no tengo narices de que funcione el SSF. El higan sí que he conseguido que me funcione ...

Con el RocketLauncher funciona entonces bien el tema del bezel?

 


* iojukebox Theme, un JukeBox para Attract-Mode  Autor: gucaza Foro: Themes AM 04/05/2024 (02:47)
* Salón Recreativo #55 (27-04-2024 / 26-05-2024)  Autor: jordani11 Foro: Salón Recreativo FaseBonus 03/05/2024 (23:29)
* Nuevo miniPc para mi vieja recre y juegos Windows compatibles formato 4:3  Autor: jmpuk Foro: Offtopic 02/05/2024 (23:31)
* Homenaje a Locomalito  Autor: beaches Foro: Otros programas 02/05/2024 (23:03)
* La inteligencia artificial ha llegado a la música  Autor: jmpuk Foro: Offtopic 02/05/2024 (21:45)
* [N3DS] Red Viper - Emulando Virtual Boy como Dios manda  Autor: Zael Foro: Noticias de emuladores 02/05/2024 (21:06)
* [Recomendación] Cine para los findes en casa (bueno, bonito y barato)  Autor: arquillos Foro: Offtopic 02/05/2024 (09:39)
* ¿A qué estáis jugando ahora mismo?  Autor: joselopez Foro: Offtopic 02/05/2024 (04:07)
* [Recomendacion] Series para ver  Autor: jmpuk Foro: Offtopic 01/05/2024 (21:54)
* Etpa8: El Reino Subterráneo  Autor: jmpuk Foro: ZX Spectrum 01/05/2024 (21:49)
* Stop the express  Autor: jmpuk Foro: ZX Spectrum 01/05/2024 (21:29)
* Amiga Games + 1.9.2  Autor: empardopo Foro: Emuladores 01/05/2024 (20:58)
* West Bank para ZX Spectrum  Autor: empardopo Foro: ZX Spectrum 01/05/2024 (20:07)
* Recopilatorio Retos: Desde el 1 hasta .....  Autor: Zael Foro: Competiciones y concursos 29/04/2024 (23:59)
* Info sobre MARP  Autor: Zael Foro: Records y wolfmame 29/04/2024 (23:45)
* Patrocinador para el foro ArcadeSpain  Autor: empardopo Foro: Noticias 29/04/2024 (19:37)
* Retro 320 - Wizard of wor  Autor: empardopo Foro: Competiciones y concursos 29/04/2024 (19:29)
* Aprende a hacerte un PORTABLE de tu juego arcade favorito  Autor: empardopo Foro: Records y wolfmame 29/04/2024 (19:27)
* Screenshot de empardopo  Autor: empardopo Foro: Otros programas 24/04/2024 (19:42)
* Concurso Bytemaniacos 2025  Autor: empardopo Foro: Creación de juegos 23/04/2024 (21:46)
* Retro Portable Maker ArcadeSpain (RPMA)  Autor: empardopo Foro: Otros programas 21/04/2024 (19:16)
* Van dos y se cae el del medio - Hilo de cachondeo general  Autor: empardopo Foro: Offtopic 21/04/2024 (18:47)
* Hacer fondos de pantalla con Excel para Spectrum  Autor: empardopo Foro: Creación de juegos 18/04/2024 (19:33)
* Salón Recreativo FaseBonus - Preparativos y Sugerencias  Autor: Zael Foro: Salón Recreativo FaseBonus 17/04/2024 (00:17)
* Retropixel 2024  Autor: Zael Foro: Eventos Arcades 14/04/2024 (12:24)
* Ofertas Amazon  Autor: empardopo Foro: Offtopic 11/04/2024 (20:29)
* Restauración Terminator 2 + LightGun Gun4IR  Autor: HeroTonma Foro: Diario de construccion de tu arcade 04/04/2024 (14:18)
* Ojo con telegram  Autor: Zael Foro: Noticias 29/03/2024 (19:30)
* Galería de fotos en ArcadeSpain - sube las fotos a nuestro servidor -  Autor: empardopo Foro: Noticias 24/03/2024 (16:49)
* Flipando con la desinformación en el caso del emulador Yuzu  Autor: Zael Foro: Offtopic 22/03/2024 (20:13)

Countdown
Buscaunchollo.click