Skip to content
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

Added a new menu for character control #16

Merged
merged 12 commits into from Jan 16, 2018
Merged

Added a new menu for character control #16

merged 12 commits into from Jan 16, 2018

Conversation

AlexAzumi
Copy link
Contributor

With this menu now is possible to take control of the persistent data. The player can "delete" the four characters and even restore them.

With this menu now is possible to take control of the persistent data. Now the player can "delete" the four characters and even restore them.
@saber-nyan saber-nyan self-assigned this Jan 14, 2018
Copy link
Owner

@saber-nyan saber-nyan left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Many thanks for this screen, constantly there was not enough time to do it.

But is not it better to do the same thing as on a PC: give user ability to manually delete .chr files by putting them on the first start in /sdcard/Android/data/ru.saber_nyan.ddlc/files?



#Added by AlexAzumi
textbutton _("Characters") action [ShowMenu("characters"), SensitiveIf(renpy.get_screen("characters") == None)]
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think we should not show this button immediately after the first start: it will be a small spoiler. It is better to hide it under some condition.

There's two changes:
* To avoid spoilers with this menu, this only can be visible after playthrough zero.
* Delete buttons can only be pressed when the character is not flagged as deleted.
Copy link
Owner

@saber-nyan saber-nyan left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hmm, after clicking on "Characters" from the main menu, I got

I'm sorry, but an uncaught exception occurred.

While running game code:
  File "game/screens.rpy", line 913, in execute
    init -501 screen characters() tag menu:
  File "game/screens.rpy", line 913, in execute
    init -501 screen characters() tag menu:
  File "game/screens.rpy", line 914, in execute
    use game_menu(_("Files"), scroll ="viewport"):
  File "game/screens.rpy", line 602, in execute
    init -501 screen game_menu(title, scroll=None):
  File "game/screens.rpy", line 602, in execute
    init -501 screen game_menu(title, scroll=None):
  File "game/screens.rpy", line 613, in execute
    frame:
  File "game/screens.rpy", line 616, in execute
    has hbox
  File "game/screens.rpy", line 622, in execute
    frame:
  File "game/screens.rpy", line 625, in execute
    if scroll == "viewport":
  File "game/screens.rpy", line 627, in execute
    viewport:
  File "game/screens.rpy", line 635, in execute
    has vbox
  File "game/screens.rpy", line 636, in execute
    transclude
  File "game/screens.rpy", line 914, in execute
    use game_menu(_("Files"), scroll ="viewport"):
  File "game/screens.rpy", line 915, in execute
    vbox:
  File "game/screens.rpy", line 918, in execute
    frame:
  File "game/screens.rpy", line 923, in execute
    vbox:
  File "game/screens.rpy", line 929, in execute
    python:
  File "game/screens.rpy", line 930, in <module>
    monika_flag = check_if_exist("monika")
NameError: name 'check_if_exist' is not defined

-- Full Traceback ------------------------------------------------------------

Full traceback:
  File "renpy/common/_layout/screen_main_menu.rpym", line 28, in script
    python hide:
  File "D:\DEVELOPMENT_IS_MY_LAIFU\RenPy\renpy\ast.py", line 827, in execute
    renpy.python.py_exec_bytecode(self.code.bytecode, self.hide, store=self.store)
  File "D:\DEVELOPMENT_IS_MY_LAIFU\RenPy\renpy\python.py", line 1764, in py_exec_bytecode
    exec bytecode in globals, locals
  File "renpy/common/_layout/screen_main_menu.rpym", line 35, in <module>
    ui.interact()
  File "D:\DEVELOPMENT_IS_MY_LAIFU\RenPy\renpy\ui.py", line 287, in interact
    rv = renpy.game.interface.interact(roll_forward=roll_forward, **kwargs)
  File "D:\DEVELOPMENT_IS_MY_LAIFU\RenPy\renpy\display\core.py", line 2565, in interact
    scene_lists.replace_transient()
  File "D:\DEVELOPMENT_IS_MY_LAIFU\RenPy\renpy\display\core.py", line 831, in replace_transient
    self.remove(layer, tag)
  File "D:\DEVELOPMENT_IS_MY_LAIFU\RenPy\renpy\display\core.py", line 1120, in remove
    self.hide_or_replace(layer, remove_index, "hide")
  File "D:\DEVELOPMENT_IS_MY_LAIFU\RenPy\renpy\display\core.py", line 1044, in hide_or_replace
    d = oldsle.displayable._hide(now - st, now - at, prefix)
  File "D:\DEVELOPMENT_IS_MY_LAIFU\RenPy\renpy\display\screen.py", line 445, in _hide
    self.update()
  File "D:\DEVELOPMENT_IS_MY_LAIFU\RenPy\renpy\display\screen.py", line 580, in update
    self.screen.function(**self.scope)
  File "game/screens.rpy", line 913, in execute
    init -501 screen characters() tag menu:
  File "game/screens.rpy", line 913, in execute
    init -501 screen characters() tag menu:
  File "game/screens.rpy", line 914, in execute
    use game_menu(_("Files"), scroll ="viewport"):
  File "game/screens.rpy", line 602, in execute
    init -501 screen game_menu(title, scroll=None):
  File "game/screens.rpy", line 602, in execute
    init -501 screen game_menu(title, scroll=None):
  File "game/screens.rpy", line 613, in execute
    frame:
  File "game/screens.rpy", line 616, in execute
    has hbox
  File "game/screens.rpy", line 622, in execute
    frame:
  File "game/screens.rpy", line 625, in execute
    if scroll == "viewport":
  File "game/screens.rpy", line 627, in execute
    viewport:
  File "game/screens.rpy", line 635, in execute
    has vbox
  File "game/screens.rpy", line 636, in execute
    transclude
  File "game/screens.rpy", line 914, in execute
    use game_menu(_("Files"), scroll ="viewport"):
  File "game/screens.rpy", line 915, in execute
    vbox:
  File "game/screens.rpy", line 918, in execute
    frame:
  File "game/screens.rpy", line 923, in execute
    vbox:
  File "game/screens.rpy", line 929, in execute
    python:
  File "game/screens.rpy", line 930, in <module>
    monika_flag = check_if_exist("monika")
NameError: name 'check_if_exist' is not defined

Windows-8-6.2.9200
Ren'Py 6.99.13.2919
Doki Doki Literature Club! 1.1.0

Where did you get this method from?
image

AlexAzumi and others added 6 commits January 14, 2018 14:31
There's two changes:
* To avoid spoilers with this menu, this only can be visible after playthrough zero.
* Delete buttons can only be pressed when the character is not flagged as deleted.
@AlexAzumi
Copy link
Contributor Author

Sorry, I accidentally forgot to push "definitions.rpy" file.

@saber-nyan
Copy link
Owner

Aww, I pushed old piece of code...

@saber-nyan
Copy link
Owner

m "I mean, there's a folder called 'characters' right in the game directory..."
m "It kind of freaked me out, how easy it was."
if persistent.steam:
m "Well, you're playing on Steam, so it was actually a bit more difficult..."
m "To get to the game directory, I had to go into the game's properties and find the 'Browse Local Files' button..."
elif renpy.macintosh:
m "Well, you're on a Mac, so it was actually a bit more difficult..."
m "To go into the game directory, you have to right-click the app and click 'Show Package Contents'."
m "Then, all the files were in the 'Resources' or 'autorun' folder, and I could just do whatever I wanted..."

Now we need to rewrite some of Monica's replicas. Search for the keyword "steam".

@saber-nyan
Copy link
Owner

By the way, while deleting .chr files, the user sees new files created copied by the game: for example, iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii.txt or hxppy thxughts.png. This is the idea of the developer.

I think it would be nice to do something like that.

@AlexAzumi
Copy link
Contributor Author

That's a good idea, but, if we want to give the best experience, we have to modify the character control, without using persistent data, and creating the .chr in the game's folder.

Changed for @saber-nya function.
@saber-nyan
Copy link
Owner

🤔

Sorry for my bad english!
If it's written incorrectly, then write me about it.
@saber-nyan
Copy link
Owner

So, i merge this PR.

@saber-nyan saber-nyan merged commit c939202 into saber-nyan:master Jan 16, 2018
@AlexAzumi AlexAzumi deleted the persistent-control branch January 20, 2018 03:38
@saber-nyan saber-nyan mentioned this pull request Jan 25, 2018
@xa0082249956
Copy link

It could be awesome if I could remove Monika.chr before the first start. You may know there's an easter egg (or not) there.

Sorry for incorrect English grammar.

@saber-nyan
Copy link
Owner

saber-nyan commented Jan 26, 2018

Hmm, I think we can implement this easter egg with, for example, a few specific gestures in the game's main menu.

@cimo95
Copy link

cimo95 commented Jun 22, 2018

btw where can i put the text file such as poemwords.txt, CAN YOU HEAR ME.txt ?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants