Autor Tema: Lanzador de bezels ahk  (Leído 1178 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: 21737
  • 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: 21737
  • 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: 21737
  • 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?

 


* [N3DS] Red Viper - Emulando Virtual Boy como Dios manda  Autor: sirdrak Foro: Noticias de emuladores 13/05/2024 (00:53)
* El megapost del ZX Spectrum  Autor: Zael Foro: Offtopic 12/05/2024 (20:30)
* La inteligencia artificial ha llegado a la música  Autor: Zael Foro: Offtopic 12/05/2024 (20:24)
* Salón Recreativo #55 (27-04-2024 / 26-05-2024)  Autor: Zael Foro: Salón Recreativo FaseBonus 12/05/2024 (20:16)
* Info sobre MARP  Autor: empardopo Foro: Records y wolfmame 12/05/2024 (20:09)
* Stop the express  Autor: empardopo Foro: ZX Spectrum 12/05/2024 (20:05)
* Retro 320 - Wizard of wor  Autor: empardopo Foro: Competiciones y concursos 12/05/2024 (20:03)
* Retro Portable Maker ArcadeSpain (RPMA)  Autor: empardopo Foro: Otros programas 12/05/2024 (17:37)
* Recopilatorio Retos: Desde el 1 hasta .....  Autor: montypepa Foro: Competiciones y concursos 05/05/2024 (21:30)
* ¿A qué estáis jugando ahora mismo?  Autor: jmpuk Foro: Offtopic 05/05/2024 (01:05)
* iojukebox Theme, un JukeBox para Attract-Mode  Autor: gucaza Foro: Themes AM 04/05/2024 (02:47)
* 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)
* [Recomendación] Cine para los findes en casa (bueno, bonito y barato)  Autor: arquillos Foro: Offtopic 02/05/2024 (09:39)
* [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)
* 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)
* Patrocinador para el foro ArcadeSpain  Autor: empardopo Foro: Noticias 29/04/2024 (19:37)
* 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)
* 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)

Countdown
Buscaunchollo.click