Skip to content

Commit

Permalink
Merge pull request #37 from thecodeflayer/retro
Browse files Browse the repository at this point in the history
Retro
  • Loading branch information
thecodeflayer authored Jul 26, 2020
2 parents 7e5f191 + 5e96b5a commit 3302e27
Show file tree
Hide file tree
Showing 147 changed files with 2,565 additions and 1,733 deletions.
15 changes: 13 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,22 @@ node_modules/
platforms/

# NativeScript Template
*.js.map
app/components/*.vue.js
!webpack.config.js
*.css

# Build Artifacts
*.js.map
app/components/*.vue.js
app/dist
#app/default-objects/*.js
#app/interfaces/*.js
#app/inverted/*.js
#app/retro/*.js
#app/standard/*.js
#app/utils/*.js
#app/main.js
#app/vue-extend.js

# Logs
logs
*.log
Expand Down
27 changes: 26 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,29 @@
# What's New in Version 1.0.0
# What's New in Version 1.1.0

### Retro Game Mode
Retro mode harkens back to the original Legend of Zelda.
For information on this game mode please read Gameplay > World State > Retro section of [alttpr.com/en/options](https://alttpr.com/en/options).

For the tracker the following features have been added:

- Retro option in Game Mode section of Game Creation screen.
- New _Quiver_ item on Items screen.
- Small keys are not tracked in this mode.
- Dungeon chest counts reflect that small keys can be found anywhere.
- Shop/Take Any tracking on the Map and List screens. (Just called Shops in the app)
- Location logic updates taking into account quiver requirement for bow logic.

### Enhancements and Bug Fixes
- OpenGT and Ganon Crystal requirements now editable from Items screen.
- Triforce goal now editable from Items screen (when goal is Triforce Pieces).
- Long press map location for modal showing name of the location.
- Moved around items on the Items screen to better align with in game menu.
- App now stays in Portrait mode (Landscape mode never worked correctly)
- Fixed a bug with maps where position, scale and view mode were not getting saved.

---

## What's New in Version 1.0.0

### Logic Fixes and Testing
I've added over 1000 tests to the project to validate logic for Standard and Inverted modes.
Expand Down
57 changes: 47 additions & 10 deletions FAQ.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,10 @@ A compendium of Frequently Asked Questions and documentation about the tracker.
- [There should be 216 items. Where are the missing items?](#there-should-be-216-items-where-are-the-missing-items)
- [Why are you not on the Play Store?](#why-are-you-not-on-the-play-store)
- [New Game Settings](#new-game-settings)
- [Item Shuffle Settings](#item-shuffle-settings)
- [Game Mode Settings](#game-mode-settings)
- [Item Shuffle Settings](#item-shuffle-settings)
- [Goal Settings](#goal-settings)
- [Crystals for Ganon and Ganon's Tower](#crystals-for-ganon-and-ganons-tower)
- [Troubleshooting](#troubleshooting)
- [Help! I Upgraded and I can't click on Anything?!?](#help-i-upgraded-and-i-cant-click-on-anything)

Expand Down Expand Up @@ -53,10 +55,29 @@ The Play Store has very strict policies regarding popular IPs. Navigating this h

## New Game Settings

### Game Mode Settings

**Standard**

The Standard mode covers Standard and Open modes in the randomizer. These modes are generally what new players will start out with.

**Inverted**

In this mode Link starts in the Dark World and must navigate to the Light World.
The map in this mode is slightly different and logic to access locations has changed.

**Retro**

This mode harkens back to the original Zelda. Shops and Take Any locations are tracked in this mode,
and there is a new Rupee Quiver item needed to use the Bow.

To learn more about the randomizer options for these modes please read the 'World State' section of
[alttpr.com/en/options](https://alttpr.com/en/options).

### Item Shuffle Settings
Item Shuffle Settings are selectable when creating a new game.
The primary effect this has on the tracker is the number of available chests and whether small keys increment or decrement when clicked.
Additionally, the total number of items on the Items page will change depending on the Item Shuffle option chosen.
Additionally, the total number of items on the Items screen will change depending on the Item Shuffle option chosen.

To learn more about the randomizer options for item shuffle please read Item Settings > Dungeon Item Shuffle section of
[alttpr.com/en/options](https://alttpr.com/en/options).
Expand Down Expand Up @@ -96,19 +117,35 @@ In this mode small keys will increment from zero. Note that, like the Maps, Comp
The small key counter reflects all the small keys in the dungeon whether they are in a chest, a drop or from pots.
To increment item count when you find a small key in a chest you should click the chest icon to decrement the chest count.

### Game Mode Settings
### Goal Settings

**Standard**
Learn about the randomizer's game goals under the Goal section of [alttpr.com/en/options](https://alttpr.com/en/options)

The Standard mode covers Standard and Open modes in the randomizer. These modes are generally what new players will start out with.
**Defeat Ganon**

**Inverted**
Crystal count needed to access Ganon are shown on the Items screen. The count will either show the Open Ganon's Tower count or the Access Ganon
count. Whichever is higher.

In this mode Link starts in the Dark World and must navigate to the Light World.
The map in this mode is slightly different and logic to access locations has changed.
**Fast Ganon**

To learn more about the randomizer options for these modes please read the 'World State' section of
[alttpr.com/en/options](https://alttpr.com/en/options).
Crystal count needed to access Ganon is displayed on the items screen.


**All Dungeons**

Bosses are shown on the Items screen.

**Master Sword Pedestal**

Pendants are displayed on the Items screen.

**Triforce Pieces**

Triforce count is displayed and can be incremented on the Items screen.

### Crystals for Ganon and Ganon's Tower

Sliders to set the Crystal requirement for Ganon's Tower and to access Ganon. The counts are displayed, and also editable on the Items screen.

## Troubleshooting
Sometimes you run into problems. If the solution isn't here or doesn't work please file an [issue](https://github.com/thecodeflayer/alttp-tracker/issues).
Expand Down
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
# alttp-tracker
A mobile app for tracking ALTTP randomizer runs. You can track items collected, dungeon items and bosses and view available locations on the Light World and Dark World maps.

The tracker currently supports both standard and inverted modes and is geared towards new players who are learning.
The tracker currently supports Standard, Inverted and Retro modes and is geared towards new players who are learning.
A number of game goals are also supported such as Defeat Ganon, Triforce Hunt and Pedestal Goal to name a few.

## Supported Platforms
Expand All @@ -17,7 +17,7 @@ First take a look at existing issues and make sure that it hasn't been filed bef
## Installation
In order to install on Android you will have to "side-load" the APK from Github. On most modern Android platforms you can follow these steps:
1. Navigate to the latest release page on the Android device you want to install the app on.
Current release is [1.0.0](https://github.com/thecodeflayer/alttp-tracker/releases/tag/1.0.0)
Current release is [1.1.0](https://github.com/thecodeflayer/alttp-tracker/releases/tag/1.1.0)
2. Under the Assets section, click on the APK file listed on the release page.
3. You will typically receive a warning about APK files harming your device. You will need to confirm download.
4. Once downloaded, click on the downloaded APK file.
Expand Down
5 changes: 3 additions & 2 deletions app/App_Resources/Android/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="__PACKAGE__"
android:versionCode="10020"
android:versionName="1.0.0">
android:versionCode="10021"
android:versionName="1.1.0">

<supports-screens
android:smallScreens="true"
Expand All @@ -26,6 +26,7 @@
android:name="com.tns.NativeScriptActivity"
android:label="@string/title_activity_kimera"
android:configChanges="keyboard|keyboardHidden|orientation|screenSize|smallestScreenSize|screenLayout|locale|uiMode"
android:screenOrientation="portrait"
android:theme="@style/LaunchScreenTheme">

<meta-data android:name="SET_THEME_ON_LAUNCH" android:resource="@style/AppTheme" />
Expand Down
20 changes: 20 additions & 0 deletions app/_global_vars.scss
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
$standard-bg: darkgreen;
$standard-border: #045004;
$standard-btn-border: #003900;

$danger-bg: darkred;
$danger-border: #740000;
$danger-btn-border: #5e0000;

$empty-bg: #868585;
$empty-border: #616161;
$empty-btn-border: #4c4c4c;

$highlight-bg:forestgreen;
$highlight-border: #175c17;
$highlight-btn-border: #124912;

$standard-font-color:#ffffff;
$clicked-font-color: #e3e3e3;

$font-ganon: "Return of Ganon", "ReturnofGanon", serif;
146 changes: 145 additions & 1 deletion app/app.scss
Original file line number Diff line number Diff line change
@@ -1,8 +1,152 @@
@import "~@nativescript/theme/core";
@import "~@nativescript/theme/blue";
@import "~@nativescript/theme/forest";
@import "global_vars";

// Place any CSS rules you want to apply on both iOS and Android here.
// This is where the vast majority of your CSS code goes.
Button:active{
color:$clicked-font-color;
border-width:4;
}
.btn {
font-size: 20;
padding: 10;
color: $standard-font-color;
horizontal-align: center;
vertical-align: center;
font-family: $font-ganon;
width: 100%;
border-width: 2;
background-color: $standard-border;
border-color: $standard-btn-border;
&.standard {
background-color: $standard-border;
border-color: $standard-btn-border;
color: $standard-font-color;
}
&.danger {
background-color: $danger-border;
border-color: $danger-btn-border;
color: $standard-font-color;
}
&.empty {
background-color: $empty-border;
border-color: $empty-btn-border;
color: $standard-font-color;
}
&.highlight {
background-color: $highlight-border;
border-color: $highlight-btn-border;
color: $standard-font-color;
}
&.padded {
width:90%;
magin-top:5;
}
}

.lbl {
font-size: 20;
font-family: $font-ganon;
color: $standard-font-color;
}


.modal-dialog {
background-color: $standard-bg;
border-width: 2px;
border-color: $standard-border;
padding: 10;
color: $standard-font-color;
font-family: $font-ganon;
font-size: 20;
&.danger {
background-color: $danger-bg;
border-color: $danger-border;
}
}

.save-wrapper {
font-size: 20;
margin: 4;
padding: 10;
color: white;
border-width: 2;
border-color: $standard-border;
vertical-align: top;
font-family: $font-ganon;
background-color: $standard-bg;
&.danger {
background-color: $danger-bg;
border-color: $danger-border;
}
&.empty {
background-color: $empty-bg;
border-color: $empty-border;
}
&.highlight {
background-color: $highlight-bg;
border-color: $highlight-border;
}
}
// Map
.locale-green {
border-width: 3;
border-color: black;
background-color: aqua;
}
.locale-gray {
border-width: 3;
border-color: black;
background-color: gray;
}
.locale-red {
border-width: 3;
border-color: black;
background-color: red;
}
.center-key {
border-width: 3;
border-color: black;
background-color: yellow;
}
// Map Lists
.list-top-header {
background-color: black;
font-family: $font-ganon;
font-size: 18;
color: $standard-font-color;
padding-top: 6;
}

.list-title {
font-family: $font-ganon;
font-size: 20;
padding:5;
}

.locale-wrapper {
background-color: $standard-bg;
margin:4;
border-width: 2;
border-color: $standard-border;
color: white;
padding: 4;
font-family: $font-ganon;
font-size: 20;
&.darkred {
background-color:$danger-bg;
border-color: $danger-border;
}
&.darkgreen {
background-color: $standard-bg;
border-color: $standard-border;
}
&.gray {
background-color: $empty-bg;
border-color: $empty-border;
}
}

// Font icon class
.fab {
Expand Down
Loading

0 comments on commit 3302e27

Please sign in to comment.