From e6149027e52e1c4f2465ce9aba7127aa6b63b286 Mon Sep 17 00:00:00 2001 From: Marcelo Lv Cabral Date: Sat, 16 Nov 2019 16:34:19 -0700 Subject: [PATCH] Fixed #54 Changed screen size to avoid cut screen on SD mode --- CHANGELOG.md | 9 +++++++++ README.md | 38 ++++++++++++++++++++++++++++++++------ manifest | 4 ++-- source/gameMain.brs | 17 +++++------------ source/gameUtil.brs | 7 +------ 5 files changed, 49 insertions(+), 26 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 3fffc9b..3e33f53 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,14 @@ ## Lode Runner Changelog +### v0.18 - 11-Nov-2019 - Fixe for SD Mode + +- Fix: SD Mode was cutting the screens in small TVs #54 + +### v0.17 - 02-Sep-2019 - Emulator Release + +- Add: Performance improvements of the game play and custom level editor +- Add: Small changes to support the emulator that allows to run the game on Chrome browser + ### v0.16 18-Jul-2019 - Added new versions and support for 15 custom levels * Add: Version "Revenge of Lode Runner" (1986) - 17 levels #50 diff --git a/README.md b/README.md index 92e7f55..92cbc62 100644 --- a/README.md +++ b/README.md @@ -1,24 +1,50 @@ # Lode Runner for Roku Remake of the classsic game Lode Runner (1983) for Roku streaming devices and TVs -![Lode Runner for Roku](http://lvcabral.com.br/LodeRunner/images/splash_sd.jpg) +![Lode Runner for Roku](http://lvcabral.com/LodeRunner/images/splash_sd.jpg) + +## About the Project I developed this project during the nights and weekends of September/2016, after finishing the port of [Prince of Persia for Roku](https://github.com/lvcabral/Prince-of-Persia-Roku) as part of my studies about BrightScript 2D gamming API. -If you have a Roku or Roku TV you can install the preview channel using this link: https://my.roku.com/add/LodeRunnerPreview +There are six selectable sprite modes from the classic computer ports: +* Apple II (original version) +* Commodore 64, +* IBM-DOS CGA, +* Atari 8 bits +* Sinclair ZX Spectrum +* NES + +**Note:** The sound effects are from the Commodore 64 port. + +The player can also select from five different versions of the game (level sets): +* Classic (150 levels) +* Championship (50 levels) +* Professional (150 levels) +* Revenge (17 levels) +* LR Fan Book (66 levels). +The level sets, guards AI and some assets were converted from the [Javascript Lode Runner](https://github.com/SimonHung/LodeRunner_TotalRecall) project by Simon Hung. -There are six selectable sprite modes, the original Apple II, the Commodore 64, IBM-DOS CGA, Atari 8 bits, Sinclair ZX Spectrum and NES. The sound effects are from the Commodore 64 port. +The also has a **Custom Level Editor** where you can create up to 15 personalized maps. -The player can also select from five different versions of the game (level sets): the Classic (150 levels), Championship (50 levels), Professional (150 levels), Revenge (17 levels) and LR Fan Book (66 levels). -The level sets, guards AI and some assets were converted from the [Javascript Lode Runner](https://github.com/SimonHung/LodeRunner_TotalRecall) project by Simon Hung. +## How to Play -Using the Custom Level Editor is now possible to create up to 15 personalized maps. +* You can play the game (on a Chrome based browser) with the **Roku emulator** I also developed, check it at: https://lvcabral.com/brs +* If you have a Roku or Roku TV you can install the game using this link: https://my.roku.com/add/LodeRunnerPreview +* You can also _side load_ the game on you Roku, downloading the [latest release zip](https://github.com/lvcabral/Lode-Runner-Roku/releases) using the developer mode ([click here to see how](https://developer.roku.com/docs/developer-program/getting-started/developer-setup.md)). +## Demo Video Click the image below to watch a video with the functionality up to version 0.11: [![Lode Runner for Remake for Roku (v0.11)](http://lvcabral.com/LodeRunner/images/LodeRunnerYoutubeVideo011.png)](https://www.youtube.com/watch?v=PizGMcdjIqQ) +## Other Projects + +You should also take a look at my other retro-game remake projects [Prince of Persia for Roku](https://github.com/lvcabral/Prince-of-Persia-Roku), [Donkey Kong for Roku](https://www.youtube.com/watch?v=NA59qZk7fQU) and [Moon Patrol for Roku](https://github.com/lvcabral/Moon-Patrol-Roku). + +## Legal Notes + Disclaimer: This source code shall not be used commercially or sold in any form, the objective of this project is educational. Any usage and/or publication of this source code, or any derivative work, should be explicitly authorized by the author. diff --git a/manifest b/manifest index dffc517..5a07b90 100644 --- a/manifest +++ b/manifest @@ -1,7 +1,7 @@ title=Lode Runner major_version=0 -minor_version=17 -build_version=700 +minor_version=18 +build_version=707 mm_icon_focus_fhd=pkg:/images/icon_focus_hd.png mm_icon_focus_hd=pkg:/images/icon_focus_hd.png mm_icon_focus_sd=pkg:/images/icon_focus_hd.png diff --git a/source/gameMain.brs b/source/gameMain.brs index cd718e6..bc20508 100644 --- a/source/gameMain.brs +++ b/source/gameMain.brs @@ -201,29 +201,22 @@ Function RandomizeLevelSprites(max as integer) as object End Function Sub SetupMenuScreen() - if IsWideScreen() - print "Starting in 16x9 mode" - m.mainWidth = 1280 - m.mainHeight = 720 - else - print "Starting in 4x3 mode" - m.mainWidth = 854 - m.mainHeight = 626 - end if + m.mainWidth = 1280 + m.mainHeight = 720 m.gameWidth = 560 m.gameHeight = 384 ResetScreen(m.mainWidth, m.mainHeight, m.gameWidth, m.gameHeight) End Sub Sub SetupGameScreen() - if IsWideScreen() + if IsHD() print "Starting in 16x9 mode" m.mainWidth = 854 m.mainHeight = 480 else print "Starting in 4x3 mode" - m.mainWidth = 640 - m.mainHeight = 480 + m.mainWidth = 720 + m.mainHeight = 540 end if m.gameWidth = 560 m.gameHeight = 384 diff --git a/source/gameUtil.brs b/source/gameUtil.brs index 6ea3e40..e3792c7 100644 --- a/source/gameUtil.brs +++ b/source/gameUtil.brs @@ -215,14 +215,9 @@ End Function '------- Device Check Functions ------- -Function IsWideScreen() - di = CreateObject("roDeviceInfo") - return (di.GetDisplayAspectRatio() <> "4x3") -End Function - Function IsHD() di = CreateObject("roDeviceInfo") - return (di.GetUIResolution().name <> "sd") + return (di.GetUIResolution().height >= 720) End Function Function IsOpenGL() as Boolean