-
Notifications
You must be signed in to change notification settings - Fork 751
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Links Awakening: Implement New Game #1334
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Tnx for the cleanup
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Only examined the two user-facing docs files (setup guide and info page). Very thorough and clear writing!
host.yaml
Outdated
@@ -82,7 +82,7 @@ generator: | |||
race: 0 | |||
# List of options that can be plando'd. Can be combined, for example "bosses, items" | |||
# Available options: bosses, items, texts, connections | |||
plando_options: "bosses" | |||
plando_options: "items" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
why is this change here?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Had to change it during a beta test, accidentally committed. Will do another pass tonight for small things like this I've missed.
worlds/ladx/docs/setup_en.md
Outdated
Network Command Port at 55355. | ||
|
||
![Screenshot of Network Commands setting](/static/generated/docs/A%20Link%20to%20the%20Past/retroarch-network-commands-en.png) | ||
4. Go to Main Menu --> Online Updater --> Core Downloader. Scroll down and select "Nintendo - SNES / SFC (bsnes-mercury |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This seems like the wrong core
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fixed
…s causing one item description to always be overwritten. Eventually most of shop.py can be removed.
…python GC race. Track a few more tasks.
|
||
This randomizer is based on (forked from) the wonderful work daid did on LADXR - https://github.com/daid/LADXR | ||
|
||
The autotracker code for communication with magpie tracker is directly copied from kbranch's repo - https://github.com/kbranch/Magpie/tree/master/autotracking |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
So you copied from a repository that does not come with a license, but which says it has been ported from yet another repository that also does not grant us any license whatsoever? And you are now passing that off as MIT.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'll get kbranch to supply a license. He gave permission, I promise. :) Good catch.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
fwiw - LADXR is MIT licensed. https://github.com/daid/LADXR/blob/master/LICENSE
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Resolved.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Zig definitely asked for permission before touching anything, for what it's worth. I thought I had added an MIT LICENSE file, but apparently I forgot it - I just added it.
Magpie also doesn't use any actual code from the old Emotracker pack, so anything he uses is safe. If there are still concerns, I'm sure MuffinJets would happily make it official in his repo as well.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for releasing it as MIT.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I can't speak for how EmoTracker as a core applies here, but if Magpie has any leftover code from my work, I give full permission and will apply MIT if needed
LinksAwakeningClient.py
Outdated
|
||
class LinksAwakeningContext(CommonContext): | ||
tags = {"AP"} | ||
game = "Links Awakening DX" # empty matches any game since 0.3.2 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
these comments are copied from text clients and all 3 don't apply to this client
worlds/ladx/Options.py
Outdated
ladxr_name = "tradequest" | ||
|
||
|
||
# Setting('forwardfactor', 'Main', 'F', 'Forward Factor', default=0.0, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
looks like leftover stuff that could be removed? I found a bunch of single line old code comments as well, but this one is a bit big
# TODO: translate to lttp parlance | ||
class EntranceShuffle(Choice, LADXROption): | ||
""" | ||
[WARNING] Experimental, may break generation |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What does "break generation" mean in AP context?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
From conversations, I believe that it will sometimes generate entrance layouts that isolate groups of checks, which is not accounted for, and it will fail accessibility checks.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Confirmed with zig this is the case.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I believe SM can do that too, in which case it forces accessibility minimal
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'll verify this tonight, but when I checked with zig about this, they mentioned that EntranceShuffle is disabled for this first version anyway.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You could search for unreachable locations under an "all state" and delete them, maybe? Or if they have events / prefilled advancement items, set those items to filler classification. Then it should be able to succeed under either items or minimal accessibility?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I believe a proper solution to prevent isolated locations from occurring in the first place is in the works for a future update.
worlds/ladx/__init__.py
Outdated
def create_item(self, item: str) -> LinksAwakeningItem: | ||
assert(False) | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
def create_item(self, item: str) -> LinksAwakeningItem: | |
assert(False) | |
This is defined again further down, so this can go away.
|
||
def modify_multidata(self, multidata: dict): | ||
multi_key = binascii.hexlify(self.generate_multi_key()).decode() | ||
multidata["connect_names"][multi_key] = multidata["connect_names"][self.multiworld.player_name[self.player]] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I see you encode a connect name, but also allow the client user entry of the player name?
I think that makes this the first game to do that, normally if a connect hash is encoded, that's the only way to connect with that game's client.
[Hell] Obscure knowledge and hard techniques may be required. Examples include featherless jumping with boots and/or hookshot, sequential pit buffers and unclipped superjumps. Things in here can be extremely hard to do or very time consuming.""" | ||
display_name = "Logic" | ||
ladxr_name = "logic" | ||
# option_casual = 0 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Option is described in description but is disabled
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Resolved
Adds Link's Awakening: DX. Fully imports and forks LADXR, with permission - https://github.com/daid/LADXR
Adds Link's Awakening: DX. Fully imports and forks LADXR, with permission - https://github.com/daid/LADXR
What is this fixing or adding?
Adds Link's Awakening: DX. Fully imports and forks LADXR, with permission - https://github.com/daid/LADXR
How was this tested?
Multiple beta tests. No major issues have been revealed over the past few ones.
Known bugs: