Skip to content

Commit

Permalink
Fixed #54 Changed screen size to avoid cut screen on SD mode
Browse files Browse the repository at this point in the history
  • Loading branch information
lvcabral committed Nov 16, 2019
1 parent 9b4c008 commit e614902
Show file tree
Hide file tree
Showing 5 changed files with 49 additions and 26 deletions.
9 changes: 9 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -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
Expand Down
38 changes: 32 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
@@ -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.

Expand Down
4 changes: 2 additions & 2 deletions manifest
Original file line number Diff line number Diff line change
@@ -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
Expand Down
17 changes: 5 additions & 12 deletions source/gameMain.brs
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
7 changes: 1 addition & 6 deletions source/gameUtil.brs
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down

0 comments on commit e614902

Please sign in to comment.