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

Additions to the proposed assets directory restructure of Funkin' #90

Conversation

doggogit
Copy link
Contributor

@doggogit doggogit commented Oct 26, 2024

As stated in #89, Funkin' will undergo a future restructure of its assets folder.

While I do agree and like the direction of these proposed changes, I've decided to take a step further and dip my toes into this and propose a few extra changes that might cleanse the assets folder even further.

Changes:

  • ...\exclude\:
    • exclude got a new addition - funnies, which moves all the silly goofy memes from week 1's stage folder, mainStage, to here! (Not to be a downer, as much as I think it's fuckin' funny, I don't think these need to be in public builds)

  • ...\gameplay\:
    • \gameplay\characters\:
      • Characters have now been sorted under week/weekend criteria, meaning that each specific week folder will have its own set of characters.
      • mom (standard) has been moved into unused, as she goes unused and only the car variation gets used within Week 4
    • \gameplay\dialogue\boxes:
      • The dialogue boxes have now been split into two categories: default (meaning the default skin/regular non-pixel Funkin' style) and pixel (for Moawling's pixel style), with the roses and thorns subdirectories receiving a bit of clean-up as well
    • \gameplay\notestyles\funkin\:
      • The countdown subdirectory has received two more subdirs: graphics for storing the ready, set, go graphics and sounds for storing all related countdown sounds
      • All separated hold-cover graphics have been stuffed into a subdir, aptly named hold-covers
      • popup has also received a makeover, storing all combo numbers within nums and ratings within `ratings
      • Fixed an oversight where the pixel countdown graphics were within \gameplay\notestyles\funkin\popup
    • \gamelay\notestyles\pixel\:
      • Just like funkin, countdown has received two additional subdirs, containing graphics and sounds for that style of countdown
      • popup has also received the same treatment, two subdirs: nums and ratings
    • \gameplay\playable-characters\:
      • bf's game-over folder has been split into two subdirs: music (which includes subdirs for game-over and game-over-end variations for default and pixel) and sounds (which also includes subdirs for sounds that play during the game over phase and sounds for the rare fakeout death)
      • pico has received a similar makeover as bf
    • \gameplay\songs\:
      • To summarize changes for all song folders, each song folder now contains two subdirectories: audio, for, well... audio, and charts for charts of all variations.
      • Within audio and charts, the BASE audio/charts for the song (for e.g. charts/audio for difficulties: EASY, NORMAL, HARD), will stay in the ROOT of the folder, while audio/chart VARIATIONS will be put into their own folders (for e.g. the ERECT/NIGHTMARE variations go into erect and the PICO MIX/BF MIX variations go into pico/bf, etc. etc)
      • Changes with organization of cutscene files, such as in-game cutscene graphics or video cutscene file
      • Removed instances where Pico Mix for Week 1 songs would have Voices-pico-pico instead of Voices-pico-playable-pico
      • Moved unused(?) separated vocal files for Mother Mearest and Daddy Dearest for Eggnog default variation in unused

Important

Regarding the abovementioned changes within the \songs\ directory, I believe that users should follow the format of having both audio and charts within one folder to avoid clutter, HOWEVER, I think we shouldn't force anyone to create separate directories for different variations of mod songs. I think that should stay exclusive within the source assets folder ONLY and let it be optional for mod folders. This change with variations having their own subdirectories is purely just so it looks clean for base Funkin' and easier to navigate around if people are only looking for a specific song variation!


  • \gameplay\stages\:
    • To summarize, each stage directory has received a makeover where default is the default stage variation and any other variation (for e.g. erect, schoolEvil, xmasEvil, phillyBlazin) will have a subdirectory within the MAIN stage directory. (for e.g. schoolEvil has been relocated within \school\evil\, whereas the non-evil version of school has been relocated to \school\default
    • Each stage variation will have its own .json and .hxc file separately, basically keeping same functionality as before, except it's a lot cleaner now

Important

Same with the songs directory changes, users aren't forced to organize their stage files in any way and this should, again, be exclusive to source files only. People can opt in and follow this format, but they aren't forced to. The game should recognize both formats and have no problems doing either.


  • ...\ui\:
    • \ui\ediors\:
      • Moved all files regarding the Animation Editor, Chart Editor, Input Offsets and Stage Editor within this directory.
    • \ui\misc:
      • Moved all files regarding the soundtray, shaders, fonts, the sticker transition, various cursors for the editors and credits to this directory.
    • \ui\states:
      • Moved all files regarding various states and substates within Funkin', like the character select screen, freeplay, main menu, options menu, etc. to this directory.

Note

This PR isn't final and things are subject to change as maintainers request changes, or heck, even other contributors/users themselves. This PR is open as means to spark discussion as how best to treat this problem. Please feel free to openly state your opinion within the comments (while being constructive, ty)

I was gonna first start a discussion within Psych Ward about this, but I'm sometimes better at doing than explaining my thinking process, so, here we are. :p

(More song organization, revert some folder naming stuff, fixins, etc.)
Rolls off the tongue better imho
@doggogit doggogit changed the title Additions to the proposed assets restructure of Funkin' Additions to the proposed assets directory restructure of Funkin' Oct 26, 2024
@Keoiki
Copy link

Keoiki commented Oct 26, 2024

In my opinion this just seems like way too many folders. I like file organisation as much as the next guy but holy shit man.

The folder layout as is in the original PR is fine enough for me.

@trayfellow
Copy link

In my opinion this just seems like way too many folders. I like file organisation as much as the next guy but holy shit man.

The folder layout as is in the original PR is fine enough for me.

Agreed, i think the current character folder reorganization is fine as it is as you can quickly find the character folder you want without having to navigate countless of weeks and their variations

also it sucks now that the easter egg images are excluded during compilation which destroys the whole purpose of it being something someone who downloaded the game can find when peeking into the files

@doggogit doggogit marked this pull request as draft October 26, 2024 09:19
@doggogit
Copy link
Contributor Author

doggogit commented Oct 26, 2024

In my opinion this just seems like way too many folders. I like file organisation as much as the next guy but holy shit man.

The folder layout as is in the original PR is fine enough for me.

Fair enough, would it help if I revert some of the changes that I made?

What else aren't you okay with?

@doggogit
Copy link
Contributor Author

In my opinion this just seems like way too many folders. I like file organisation as much as the next guy but holy shit man.
The folder layout as is in the original PR is fine enough for me.

Agreed, i think the current character folder reorganization is fine as it is as you can quickly find the character folder you want without having to navigate countless of weeks and their variations

also it sucks now that the easter egg images are excluded during compilation which destroys the whole purpose of it being something someone who downloaded the game can find when peeking into the files

So you'd like me to put back the images in funnies in the week 1 folder, got it

I'll also revert the character stuff too, is there anything else I can do besides that?

@doggogit
Copy link
Contributor Author

Closing due to inactivity.

Will reopen if more people are interested.

@doggogit doggogit closed this Oct 29, 2024
@EliteMasterEric
Copy link
Member

Got around to reviewing this.

  • In general, I don't like splitting up or nesting a folder just because it has more than five files in it. Feels redundant.
  • Sorting characters into weeks seems weird considering that many characters are used in multiple weeks.
  • Splitting dialogue boxes is also redundant since pixel is jut an attribute of the dialogue box.
  • I'm not a fan of merging erect stages into the original because, for all intents and purposes, the game treats them as separate stages.

I did end up splitting up the gameplay/notestyles/<id>/countdown into graphics and sound.

I also moved the Animation, Chart, and Stage editor data into an editors subdirectory, but I left the Input Offsets view out because it's part of the user preferences. I don't think the ui folder needs any more nesting than that.

@doggogit
Copy link
Contributor Author

Got around to reviewing this.

  • In general, I don't like splitting up or nesting a folder just because it has more than five files in it. Feels redundant.
  • Sorting characters into weeks seems weird considering that many characters are used in multiple weeks.
  • Splitting dialogue boxes is also redundant since pixel is jut an attribute of the dialogue box.
  • I'm not a fan of merging erect stages into the original because, for all intents and purposes, the game treats them as separate stages.

I did end up splitting up the gameplay/notestyles/<id>/countdown into graphics and sound.

I also moved the Animation, Chart, and Stage editor data into an editors subdirectory, but I left the Input Offsets view out because it's part of the user preferences. I don't think the ui folder needs any more nesting than that.

Awesome, good to know something came out of this 👍

@doggogit doggogit deleted the additions-to-the-great-sorting branch October 31, 2024 21:07
@AbnormalPoof AbnormalPoof added the status: rejected PR did not pass review or cannot be approved. label Jan 22, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
status: rejected PR did not pass review or cannot be approved.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants