Разработчик 3141card выпустил порт PS3 LuaPlayer , который работает на 4.xx CFW собранный на psl1ght 2. Приложения ищет по пути "/dev_usb000/app.lua",
PS3 LUA Player psl1ght-v2 port by 3141card
Found time to read how LUA work, more exact, how library code like a SDL interface can be added. It is very simple.
I add e.g. TTF-font support, a sys-font in the example. But I am really not interested in LUA. Maybe someone here have time and pleasure to add things like sound (from psl1ght or SDL) and other things to the LUA Player.
- Compiled with psl1ght 2 and signed for 4.xx - The app search for "/dev_usb000/app.lua", - Change nothing on lib code, fix only the usual path/name probs for psl1ght vs psl1ght-v2
LuaPlayerPS3 beta 1.0 Written by jonlimle XMB icons created by yamagushi
Current Features -Texture loading (currently only supports BMP) -Onscreen text rendering -Controls (including sixaxis and joysticks) -Screenshots -All standard Lua functionality (with the exception of the OS functions) -PC emulator that can be used to test scripts before you run on the ps3 (Linux, Mac and Windows binaries included, if you are using the windows binary and get some missing dll messages, those dll's are in the "compat DLL's.zip" file in the emulator folder)
Future Features -Support for more image formats -Support for TTF fonts and font customization -Audio support -More advanced rendering functionality -Networking capabilities
How to use -copy everything that is in the "Copy to USB root" to the root of your USB drive -install the pkg as you would any other pkg -all files that you attempt to open from lua must be on your USB drive -any scripts that you make, must be on the root of the card, and named app.lua
-when testing the scripts in the emulator, it will load app.lua in the same folder as the binary, all files that you attempt to load should also be in that same folder
this release comes with an example app.lua which shows a few of the features of which you are currently able to do
when using the emulator, the keys are mapped in the folowing way
up = up arrow down = down arrow left = left arrow right = right arrow
triangle = w square = a cross = s circle = d
start = enter/return select = quote key (")
R1 = Right shift R2 = Right control R3 = question mark
L1 = Left shift L2 = Left control L3 = z
There is currently no emulation of the joysticks or sixaxis in the emulator
if you have any questions, comments, or requests you can post them wherever you downloaded this from, or you can also find me on irc in #luaplayerps3 on irc.freenode.net
Commands ========
--GRAPHICS-- - InitGFX(width, height) this must be called before you can call any other graphics related functions, for example, if your tv was 720p you would call InitGFX(720,480)
- beginGFX() this must be called before you can begin drawing to the screen
- DrawText(x, y, text, surface) this will print text to the screen, x is the x posistion on the screen, y, is the y posistion, text is the text you want to print and surface (see information on surface below) is the surface that you want to print the text on to, if you do not give it a surface, it will print to the main screen
- DrawCircle(x, y, size, r, g, b, alpha) this will draw a circle on the screen, x is the x posistion on the screen, y, is the y posistion, size is how many pixels wide you want the circle to be, r is the level of red for its color, g is the level of green for its color, b is the level of blue for its color, and alpha is for the alpha :P
- BlitToScreen(surface) you must call this on every surface that you want drawn onto the main screen (see definition of surface below)
- endGFX() this must be called after you have drawn everything wanted onto the current frame
- Screenshot(filename) Saves a screenshot (bmp format) to your usb device, filename = name of file to be saved
--SURFACE-- a surface currently only holds a texture (only bmp format supported currently) you must initialize surface by calling surface() for example ...
mySurface = surface()
you must initialize the suface before you can start using any of its methods, from here on, we will be using "mySurface" as the example for the method definitions
- mySurface:LoadIMG(bmpfile) this will load a bmp image file into "mySurface"
- mySurface:setRectPos(x, y) this will set the posistion on the screen where "mySurface" will be drawn, x is the x posistion, and y is the y posistion
- mySurface:getRes() this will return the width and height in pixels that the surface will take up, you need to call this in a way similar to... mySurfaceWidth, mySurfaceHeight = mySurface:getRes()
--CONTROLS-- - initPads(num) you must call this before you can begin reading any keys num = the number of pads you want, 7 is reccomended
- setsixaxis(padnum, enable) you must call this before you can use any of the sixaxis functionality padnum is the pad that you want to enable/disable sixaxis on if there is only one pad, you would use 0 for padnum, enable is weather you are wanting to enable or disable it, if enable, use 1, or 0 to disable
- up(padnum) returns true if the up button is pressed, and false if it isnt, padnum is the pad which you want to check, if only one controller is connected use 0
- down(padnum) returns true if the down button is pressed, and false if it isnt, padnum is the pad which you want to check, if only one controller is connected use 0
- left(padnum) returns true if the left button is pressed, and false if it isnt, padnum is the pad which you want to check, if only one controller is connected use 0
- right(padnum) returns true if the right button is pressed, and false if it isnt, padnum is the pad which you want to check, if only one controller is connected use 0
- triangle(padnum) returns true if the triangle button is pressed, and false if it isnt, padnum is the pad which you want to check, if only one controller is connected use 0
- square(padnum) returns true if the square button is pressed, and false if it isnt, padnum is the pad which you want to check, if only one controller is connected use 0
- circle(padnum) returns true if the circle button is pressed, and false if it isnt, padnum is the pad which you want to check, if only one controller is connected use 0
- cross(padnum) returns true if the right button is pressed, and false if it isnt, padnum is the pad which you want to check, if only one controller is connected use 0
- R1(padnum) returns true if the R1 button is pressed, and false if it isnt, padnum is the pad which you want to check, if only one controller is connected use 0
- R2(padnum) returns true if the R2 button is pressed, and false if it isnt, padnum is the pad which you want to check, if only one controller is connected use 0
- R3(padnum) returns true if the R3 button is pressed, and false if it isnt, padnum is the pad which you want to check, if only one controller is connected use 0
- L1(padnum) returns true if the L1 button is pressed, and false if it isnt, padnum is the pad which you want to check, if only one controller is connected use 0
- L2(padnum) returns true if the L2 button is pressed, and false if it isnt, padnum is the pad which you want to check, if only one controller is connected use 0
- L3(padnum) returns true if the L3 button is pressed, and false if it isnt, padnum is the pad which you want to check, if only one controller is connected use 0
- start(padnum) returns true if the start button is pressed, and false if it isnt, padnum is the pad which you want to check, if only one controller is connected use 0
- select(padnum) returns true if the select button is pressed, and false if it isnt, padnum is the pad which you want to check, if only one controller is connected use 0
- RanalogX(padnum) returns the x posistion of the right analog stick
- RanalogY(padnum) returns the Y posistion of the right analog stick
- LanalogX(padnum) returns the x posistion of the left analog stick
- LanalogY(padnum) returns the y posistion of the left analog stick
- Xaxis(padnum) returns the x axis value if sixaxis is enabled
- Yaxis(padnum) returns the y axis value if sixaxis is enabled
- Zaxis(padnum) returns the z axis value if sixaxis is enabled
- Gaxis(padnum) returns the gyro value if sixaxis is enabled
The first PS3 game developed on LuaPlayer! Please note that it is only BETA! The game has many bugs!
NOTE!
It supports only 1920x1080 Resolution! This game lags! Press L3 to exit the game otherwise the console freezes and restarts! Max score is 99! Press or hold L1 or R1 for jump! Press START for restart! app.lua must be in USB root
How to install?
1) Put these files in a USB device (app.lua must be in USB root) 2) Install an engine 3) Put the contents of LUAP0PS31 folder into the directory /dev_hdd0/game/LUAP0PS31/
Первая PS3 игра разработанная на LuaPlayer! Пожалуйста, обратите внимание, что это только БЕТА! В игре есть много ошибок!
ВНИМАНИЕ!
Игра поддерживает только разрешение 1920x1080! Эта игра имеет лаги! Нажмите L3 чтобы выйти из игры, в противном случае консоль зависнет и перезагрузится!
Максимальная оценка составляет 99! Нажмите или удерживайте L1 или R1 для прыжка! Нажмите кнопку START для перезагрузки! app.lua должен находиться в корне USB устройства!
Как установить?
1) Поместите файлы на устройство USB (app.lua должны быть в корне USB) 2) Установите движок 3) Положите содержимое папки LUAP0PS31 в каталог / dev_hdd0/game / LUAP0PS31 /
Fixed bug with endless counting Fixed bug of crashing game after 29th point A bit more fps One game in one pkg. (thanks aldostools and bitsbubba)
NOTE!
It supports only 1920x1080 Resolution! This game lags! Press L3 to exit the game otherwise the console freezes and restarts! Max score is 99! Press or hold L1 or R1 for jump! Press START for restart! app.lua must be in USB root
Что нового в бета-версии 0.2?
- Исправлена ошибка с бесконечным счетом - Исправлена ошибка приводящая сбой игры после 29-й точки - Немного больше кадров в секунду - Теперь игра в одном .pkg (Спасибо aldostools и bitsbubba)
- Added support for 720x480 resolution - Stable FPS - New graphics, physics and visual effects etc.
Note: this game was programmed for 720x480 resolution but it looks fine on Full HD TVs. You can stretch the screen in the settings of your TV.
- Добавлена поддержка разрешения 720x480 - Стабильный FPS - Новая графика, физика,визуальные эффекты и т.д.
Примечание: Эта игра была разработана под разрешение 720x480, должно прекрасно смотреться на Full HD-телевизорах. Можно растянуть экран в настройках вашего телевизора.
Swing Copters 1.0 (Lua) от Sandroron - теперь с поддержкой звука
Цитата
What's new in v1.0 (final)?
- This game is based on absolutely new PS3 LuaPlayer v5.2.3 (thanks 3141card (aka picard)), therefore: - Now the game has sound! - Also, you can safely exit the game using the PS button!
NOTE: As the game got sound, it has lost the status of beta and got version 1.0 [Final
Update: LuaPlayer is updated from Lua 5.1 to the last Lua version 5.2.3.
The used library for sound is Estwald's (aka Hermes) nice spu sound library.
The other great library from Hermes, tiny3d for 2D and 3D grafics is also added.
PS3 LUA Player psl1ght-v2 port by 3141card
Found time to read how LUA work, more exact, how library code like a SDL interface can be added. It is very simple.
I add e.g. TTF-font support, a sys-font in the example. But I am really not interested in LUA. Maybe someone here have time and pleasure to add things like sound (from psl1ght or SDL) and other things to the LUA Player.
- Compiled with psl1ght 2 and signed for 4.xx - The app search for "/dev_usb000/app.lua", - Change nothing on lib code, fix only the usual path/name probs for psl1ght vs psl1ght-v2
LuaPlayerPS3 beta 1.0 Written by jonlimle XMB icons created by yamagushi
Current Features -Texture loading (currently only supports BMP) -Onscreen text rendering -Controls (including sixaxis and joysticks) -Screenshots -All standard Lua functionality (with the exception of the OS functions) -PC emulator that can be used to test scripts before you run on the ps3 (Linux, Mac and Windows binaries included, if you are using the windows binary and get some missing dll messages, those dll's are in the "compat DLL's.zip" file in the emulator folder)
Future Features -Support for more image formats -Support for TTF fonts and font customization -Audio support -More advanced rendering functionality -Networking capabilities
How to use -copy everything that is in the "Copy to USB root" to the root of your USB drive -install the pkg as you would any other pkg -all files that you attempt to open from lua must be on your USB drive -any scripts that you make, must be on the root of the card, and named app.lua
-when testing the scripts in the emulator, it will load app.lua in the same folder as the binary, all files that you attempt to load should also be in that same folder
this release comes with an example app.lua which shows a few of the features of which you are currently able to do
when using the emulator, the keys are mapped in the folowing way
up = up arrow down = down arrow left = left arrow right = right arrow
triangle = w square = a cross = s circle = d
start = enter/return select = quote key (")
R1 = Right shift R2 = Right control R3 = question mark
L1 = Left shift L2 = Left control L3 = z
There is currently no emulation of the joysticks or sixaxis in the emulator
if you have any questions, comments, or requests you can post them wherever you downloaded this from, or you can also find me on irc in #luaplayerps3 on irc.freenode.net
Commands ========
--GRAPHICS-- - InitGFX(width, height) this must be called before you can call any other graphics related functions, for example, if your tv was 720p you would call InitGFX(720,480)
- beginGFX() this must be called before you can begin drawing to the screen
- DrawText(x, y, text, surface) this will print text to the screen, x is the x posistion on the screen, y, is the y posistion, text is the text you want to print and surface (see information on surface below) is the surface that you want to print the text on to, if you do not give it a surface, it will print to the main screen
- DrawCircle(x, y, size, r, g, b, alpha) this will draw a circle on the screen, x is the x posistion on the screen, y, is the y posistion, size is how many pixels wide you want the circle to be, r is the level of red for its color, g is the level of green for its color, b is the level of blue for its color, and alpha is for the alpha :P
- BlitToScreen(surface) you must call this on every surface that you want drawn onto the main screen (see definition of surface below)
- endGFX() this must be called after you have drawn everything wanted onto the current frame
- Screenshot(filename) Saves a screenshot (bmp format) to your usb device, filename = name of file to be saved
--SURFACE-- a surface currently only holds a texture (only bmp format supported currently) you must initialize surface by calling surface() for example ...
mySurface = surface()
you must initialize the suface before you can start using any of its methods, from here on, we will be using "mySurface" as the example for the method definitions
- mySurface:LoadIMG(bmpfile) this will load a bmp image file into "mySurface"
- mySurface:setRectPos(x, y) this will set the posistion on the screen where "mySurface" will be drawn, x is the x posistion, and y is the y posistion
- mySurface:getRes() this will return the width and height in pixels that the surface will take up, you need to call this in a way similar to... mySurfaceWidth, mySurfaceHeight = mySurface:getRes()
--CONTROLS-- - initPads(num) you must call this before you can begin reading any keys num = the number of pads you want, 7 is reccomended
- setsixaxis(padnum, enable) you must call this before you can use any of the sixaxis functionality padnum is the pad that you want to enable/disable sixaxis on if there is only one pad, you would use 0 for padnum, enable is weather you are wanting to enable or disable it, if enable, use 1, or 0 to disable
- up(padnum) returns true if the up button is pressed, and false if it isnt, padnum is the pad which you want to check, if only one controller is connected use 0
- down(padnum) returns true if the down button is pressed, and false if it isnt, padnum is the pad which you want to check, if only one controller is connected use 0
- left(padnum) returns true if the left button is pressed, and false if it isnt, padnum is the pad which you want to check, if only one controller is connected use 0
- right(padnum) returns true if the right button is pressed, and false if it isnt, padnum is the pad which you want to check, if only one controller is connected use 0
- triangle(padnum) returns true if the triangle button is pressed, and false if it isnt, padnum is the pad which you want to check, if only one controller is connected use 0
- square(padnum) returns true if the square button is pressed, and false if it isnt, padnum is the pad which you want to check, if only one controller is connected use 0
- circle(padnum) returns true if the circle button is pressed, and false if it isnt, padnum is the pad which you want to check, if only one controller is connected use 0
- cross(padnum) returns true if the right button is pressed, and false if it isnt, padnum is the pad which you want to check, if only one controller is connected use 0
- R1(padnum) returns true if the R1 button is pressed, and false if it isnt, padnum is the pad which you want to check, if only one controller is connected use 0
- R2(padnum) returns true if the R2 button is pressed, and false if it isnt, padnum is the pad which you want to check, if only one controller is connected use 0
- R3(padnum) returns true if the R3 button is pressed, and false if it isnt, padnum is the pad which you want to check, if only one controller is connected use 0
- L1(padnum) returns true if the L1 button is pressed, and false if it isnt, padnum is the pad which you want to check, if only one controller is connected use 0
- L2(padnum) returns true if the L2 button is pressed, and false if it isnt, padnum is the pad which you want to check, if only one controller is connected use 0
- L3(padnum) returns true if the L3 button is pressed, and false if it isnt, padnum is the pad which you want to check, if only one controller is connected use 0
- start(padnum) returns true if the start button is pressed, and false if it isnt, padnum is the pad which you want to check, if only one controller is connected use 0
- select(padnum) returns true if the select button is pressed, and false if it isnt, padnum is the pad which you want to check, if only one controller is connected use 0
- RanalogX(padnum) returns the x posistion of the right analog stick
- RanalogY(padnum) returns the Y posistion of the right analog stick
- LanalogX(padnum) returns the x posistion of the left analog stick
- LanalogY(padnum) returns the y posistion of the left analog stick
- Xaxis(padnum) returns the x axis value if sixaxis is enabled
- Yaxis(padnum) returns the y axis value if sixaxis is enabled
- Zaxis(padnum) returns the z axis value if sixaxis is enabled
- Gaxis(padnum) returns the gyro value if sixaxis is enabled