EKS-D ParaMania
- CB "Riakodoadm" Cash, supported by EKS-D ParaPara
Alpha release 3.5 (18 July 2021)
Made in StepMania 5.3 alpha versions
(assume whatever the newest version at https://projectmoon.dance/ is)
	
Remember to fully remove the previous version of this theme whenever you download and install a new version.
Things change often, and file conflicts may occur if files from an older version aren't removed.
	
This readme file only covers the EKS-D ParaMania theme, not the simfiles/noteskins made alongside it.
For more info on the project, please visit the following URL, hosted on EKS-D ParaPara's website:
	paramania.kirakira.org
	
For more info on *me*... or at least some random things vaguely related to me,
take a peek at my website, "Riako's apartment complex" (with occasional strong language):
	riako.neocities.org

Contents:
	1. INFO
	2. WHAT WORKS
	3. VERSION HISTORY
	4. CREDITS
	5. TO-DO
	6. NOTES
	
-------
1. INFO
-------
First thing's first; thanks for checking out this theme.
Although ParaParaParadise controllers are uncommon nowadays (and PPP arcade cabinets even more so),
I hope that this project will still spark some interest in the "PARA" game mode, and make playing
it niftier than ever!

Be aware that the theme is still a work in progress:
Generally, everything within the scope of Event Mode works well enough right now (anything within arcade style play is untested).
Some things may still be rough around the edges (figuratively and literally!).
It was designed mainly in 16:9 1024x576; non-widescreen aspect ratios look VERY bad,
	and some text may be difficult to read on smaller resolutions.
It hasn't been tested on any non-Windows operating systems, so if you use Linux or something, keep that in mind.

One more thing; Although I tried to make this theme a little bit flexible to avoid
exploding violently outside of the "PARA" game mode, this theme still does not provide many of
the advanced stat-tracking (etc) features that even the default theme nowadays provides;
it's unlikely that I'll ever add those features to ParaMania.

-------
2. WHAT WORKS
-------
SM VERSIONS
	Full support
		StepMania 5.3 "OutFox"
		
	Not supported
		StepMania 5.1.0
		StepMania 5.2
		StepMania 5.0.12
		SM-SSC
		Any version of StepMania 4
		Any version of OpenITG, including NotITG
		Any version of StepMania 3, including 3.9
		StepMania 1.64
		StepMania 0.95
		Dance With Intensity
		
(what do you mean, that list was unnecessary!?)

GAME MODES
	Full support
		para
		
	Not tested
		EVERYTHING ELSE

LANGUAGES
	Full support
		English (United States)
		
	Preliminary support
		Japanese
			Just a few haphazard katakana transliterations for now.
			
-------
3. VERSION HISTORY
-------
[release name] ([start date] - [release date])

Alpha release 3.5 (19 February 2021 - 18 July 2021)
	- BUG FIXES
	- WIP, but "paramania.txt" obsoleted with "paramania.ini" (.txt still works though)
	- Test Input screen got some work put into it
	- Scoring/grading tweaked... again
	- "Recommended" sort on music select has a proper use now! It's still kind of a work in progress, though
	- Label placement and progress marker on progress meter are now based on *seconds* rather than *beats*
	- Progress meter *might* be able to better color segment labels that don't have traditional para segment names
	- Options menu on music select now shows noteskin names
	- Minor graphical improvements
	- Nonstop Mode will be enabled (and have content to go with it) next update, promise

Alpha release 3 (29 September 2020 - 14 February 2021)
	! Access to ScreenPlayerOptions/SongOptions disabled, BUT...
	- ParaParaParadise style life bar settings FINALLY added (and always applied by default)
		^ Alternate (harder) life settings added and selectable through the options menu on music select
		^ Life bar in gameplay updated with handling for all this
	- "paramania.txt" format appended to; credits for Freestyle BGvids can be displayed
		^ If a song has an alternate BGvid for ParaPara+, credits for that can be displayed too
	- Speaking of ParaMania format, haphazard way of marking files as having suggestive/explicit lyrics added
	- Options menu on music select now has explanations for each submenu; and per-option explanations for some submenus too
	- OG PPP-style BG vid selection in options menu added; works with the ParaMania files (Static works on any file though lol)
	- Aaaand... Life bar and video mode option selections are saved to profile!
	- Speaking of the life bar, it should be less harsh in PARA mode
	- Scoring/grading tweaked too; again, should be less harsh (and score should display more PPP-ish too)
	- Profile select given an overdue brushup
	- Profile *edit* given an overdue brushup; and you can change avatar through it too
	- ScreenGameInformation added; used for a condensed how-to-play that shows up before music select
	- Progress meter squeezed into two-player gameplay (and given a few tweaks)
	- Hold judgments in PARA mode (visually) merged with normal tap judgments like in ParaParaParadise
	- Somewhat more consideration for arcade-style menu navigation added
	- Results screen brushed up again
	- New font maps made w/ remade Texture Font Generator added
		^ Stroke might be a bit thinner than it used to be
	- Most SFX made higher in volume
	- Reworded some explanations in the service menu/system options
	- Tackled some misc. errors
	- Minor graphical improvements

Alpha release 2.1 (27 September 2020 - 29 September 2020)
	- Massive overflowing judgment percentages fixed
	- Small tweaks to several screens; mostly foolproofing for non-PARA game types

Alpha release 2 (already forgot - 26 September 2020)
	- Tried some theme-side timing window stuff... expect jank
		^ Mines in PARA mode (used as markers in the ParaMania "ParaPara+" charts) should no longer explode
	- Finally played with the idea of pretty animated backgrounds
	- Service option menus (and edit mode) brushed up again
	- Some stuff added to results screen
	- BPM count-in on gameplay progress bar is more clear on whether the BPM is going up or down
	- Single player on Player 2's side should look less wonky now
	- Slightly better handling for when the "Allow 'Cool' Judgment" option isn't set to "Always"
	- Title menu doth horizontal
	- Minor graphical improvements

Alpha release 1.5 (7 September 2020 - 10 September 2020)
	- Music wheel items can now display Long and Marathon length indicators (not with WheelNotifyIcon though)
	- Fail grade is now displayed as F; E is now a grade lower than D
	- "Edit" on main menu goes straight to ScreenEditMenu
	- A couple of things important to accurate para mode play have been added to Quick Options
	- "N.G." no longer shows after missed holds
	- Unused metrics and code removed

Alpha release 1 (25 July 2020 - 2 September 2020)
	-	. . X .
		X X X X
		. . X .
		. . X .
	! ScreenSelectPlayMode (ParaPara/Freestyle mode selection) is disabled until I can figure out the DifficultiesToShow metric
	- Actual info added to ScreenCaution
	- Options menu on music select completely remade w/ theme-side lua
	- Added a slightly more clear Autogen indicator to the chart info display on music select
	- Carved out some room on the chart info display for a "personal best" display
	- Dancer/choreographer info on music select moved to a slightly different spot
	- Music select won't display blank dancer/choreo info for songs without Beginner (ParaPara) or Easy/Basic (ParaPara+) charts
	- Player mods are kinda important, aren't they? They're displayed on both music select and results now
	- Not fleshed out, but gameplay progress bar can now count in to BPM changes
	- Demonstration/Jukebox UI tweaked, jacket is shown and song title display is more prominent
	- Service option menus (and edit mode) brushed up a little
	- "Allow Cool Judgment" added to Quick Options/System Direction
	- Neko pestered me to make "ParaPara"'s capitalization more consistent
	- Bridge and Leadin/Leadout colors swapped
	- Started futzing with scoring garbage
	- Minor graphical improvements

Pre-Alpha part 6 (6 June 2020 - 25 July 2020)
	- impatiently pushed update for Neko to look at while I wait for them to fix Center1Player
	- ScreenTitleMenu spruced up
	- ScreenCaution started
	- Edit mode is less bad to look at
	- Results screen is better?
	- Course mode still isn't presentable, but I added some stuff for it anyway
	- Main menu music loop tweaked yet again, please let this be the last time I tweak it
	- I tried to make a fancier screen transition
	- New graphics for BPM and Length sorts, along with the Sort menu itself (thanks Neko^2)
	- #CREDIT field in simfile header now displays alongside #ORIGIN field on music select (thanks, Outfox devs)
	- "Random" (actually Portal) enabled on the music wheel
	- Attempted to make music wheel navigation slightly more clear, visually
	- "MusicWheelItem Grades" added, AKA clear lamps I guess?
	- "UI MIN" mode added, which removes the frames on the top/bottom of gameplay
	- Progress bar altered quite a bit, for symmetry reasons
	- Players' notefields are further apart in gameplay, at the cost of worse appearance on 4:3
	- Text for "Freestyle" segments on the progress bar in gameplay now flash and show up uniquely
	- Life bar improved a little
	- Little blob showing chart rating and difficulty color added to PlayerPanel in gameplay
	- AllowLateJoin() has been here all along... Let's actually use it this time, yeah?
	- Menu timer no longer displays if it's disabled in UI Options
	- Minor graphical improvements

Pre-Alpha part 5 (15 May 2020 - 2 June 2020)
	- ScreenInit spiced up
	- ScreenLogo is *kind of* a thing
	- New menu SFX
	- Main menu music loop tweaked *AGAIN*
	- Graphical improvements
	- I hate it, but the partial music select options menu is accessible again
	- Better Song/Playback Rate support on music select
	- Added basic chart data display to music select
	- "paramania.txt" metadata shows up on music select too, but it's very ｓｍｏｌ
	- Judgment names/colors display correctly on results screen now
	- On-screen lyrics with 2 lines shouldn't clip off the bottom of the screen anymore FOR REAL THIS TIME, PROMISE
	- Neko^2 pestered me to change the wording of some things so I did
	- Script cleanup
	- A few katakana strings for ja.ini added, I guess...?

Pre-Alpha part 4 (08 May 2020 - 14 May 2020)
	! The music select options menu might need to be made from scratch, so I've removed the partial one for now
	- Fixed AutoSetStyle logic; ScreenSelectStyle should now never appear in para mode
	- Text on songs in music wheel should be easier to read now
	- Gameplay progress meter improved slightly?
	- Graphical improvements, particularly in music select
	- Main menu music loop extended
	- Other music tweaked *AGAIN*
	- Splash screen (during game load) updated, but it probably won't display correctly
	- On-screen lyrics with 2 lines shouldn't clip off the bottom of the screen anymore
	- Prototype hackjob lyric timing script carried over from MDS is slightly better; see Scripts/02 Lyrics.lua
	- "System Direction" is "Quick Options" now because it makes more sense at a glance
	- Options menus and edit mode should be tolerable to look at now

Pre-Alpha part 3 (30 April 2020 - 07 May 2020)
	- Progress meter (or um... segment text in 2 player?) during gameplay added, with some extra handling for para routine segment labels
	- Judgments during gameplay now display per-column
	- Results screen has music now
	- Other music tweaked *again*; will probably be mixed less loudly next update...
	- Partial options menu added on music select - can be accessed with the Select button
	- Slight polish to otherwise overlooked areas
	- Minor graphical improvements
	- Difficulty colors changed from default

Pre-Alpha part 2 (29 January 2020 - 29 April 2020)
	- ScreenSelectPlayMode started
	- Partial handling for Parapara/Freestyle ("easy" and "hard") game modes added
	- Para routine dancer/choreographer info can now be displayed from an extra .txt file in a song's directory
	- Custom life bar replaces engine default life bar; will be made fancier later
	- ScreenSelectMusic tweaked
	- Backgrounds tweaked, including title menu background
	- How To Play screen music added; screen itself is still unfinished, though
	- Other music tweaked
	- Window icon added

Pre-Alpha (8th October 2019 - 28 January 2020)
	- On-and-off initial development
	- Shillito got me into this
	
-------
4. CREDITS
-------
Most graphics, most coding, most sound effects
	CB "Riakodoadm" Cash

Director, graphics contribution
	Ryan "Neko^2" DeNamur
	
Background music
	CB "Riakodoadm" Cash
	
Attract loop title screen music: Dance Boom Boom / Tipsy & Tipsy
( May be removed in a later update because I'm paranoid ;w; )

Special Thanks
	Bill "DM Ashura" Shillito; for getting me into this
	The rest of EKS-D ParaPara's members
	The SM 5.3 devs; for helping to make "PARA" mode a bit more reasonable to play seriously
	
All outside games, music, companies/brands, and other properties referenced within the theme belong to their respective owners;
the creator(s) of this theme do not claim to have any association with, or endorsement from, any of them.
			
-------
5. TO-DO
-------
	ON HOLD:
- Full handling for ParaPara/Freestyle modes w/ UI differences; DifficultiesToShow metric isn't working as I hoped
- Some kind of streamlined, convention-friendly mode... What convention?
- An attempt at a "Training" mode ala ParaParaParadise 2nd Mix. SM is currently incapable of
	doing many things that would be required for Training to be fully emulated, though.
- Something about automatically disabling/hiding songs whose folders are marked with "[!!!]" during daytime hours?
	Would mostly be useful for convention use, which... see above

	NOT TESTED:
- Anything involving USB profiles (Machine profiles work fine)
- Arcade style play things:
	^ Name entry screen
	^ Ending screens, including credits

	NOT STARTED:
- Discord statusfication - strings are in place, code is not
- Redo ScreenLogo, including a new song to play over it
- Other attract loop stuff (that mostly led to crashes) aside from demonstration
- I wanna add "all difficulties clear" indicators to the music wheel like I did in MDS

	UNFINISHED (high to low prio):
- Probably the rest of the menu SFX
- Nonstop mode
- ScreenCaution
- Work on 3-button compatibility stuff
	^ Might wanna consider Xbox controller navigation too
- Title screen
- Deal with ScreenStageInformation properly
- Other options screens, service menu or otherwise

	MOSTLY FINISHED (high to low certainty):
- Gameplay
- Music select
- Profile select
- Evaluation
- Options menu on music select
- Background music

	BUGS:
- Sometimes on music select, the preview video doesn't play (and the static overlay won't go away).
	Caused by the same memory leak(?) that causes charts during gameplay to go off-sync or glitch entirely
- If a tap note is on the same beat as any number of fake notes/mines, Judgment for the tap note triggers on the columns with fakes/mines too
- Extremely fast BPMs (700+?) break gameplay UI with "infinitely recursing ActorCommand?", but why?
- Judgment percentages on result screen don't factor in hold judgments (when they're displayed as being merged with normal judgments in PARA mode)
- AutoPlayCPU still somehow manages to get TapNoteScore_W5 in PARA mode, despite its timing window being nonexistent (probably engine-side)
	^ ditto for hitting mines in PARA mode
- Course select stops displaying courses' descriptions after one reload (probably engine-side)
- Result screen incorrectly displays "Life at end" as far lower than the actual life bar % at the end of the song if a player has failed
- Bad handling for cases where a setup has songs, but no playable charts in the current game mode
	
	NEEDS WORK:
- Phatscreen (4:3 and such) looks hyperbad
- Some text is (probably) nigh unreadable on non-"HD" resolutions (>=480px height)
- Look into RegenComboAfterMiss
- Everything involving fonts lacking letters or entire languages:
	- The Orandakan Kana font lacks a lot of letters needed for European languages
	- Somehow patch up the glyphs that Comfortaa's missing
	- We REALLY need a solution for displaying Japanese text
- "Fancy" screen transition looks kinda bad because Quads don't anti-alias
- Make scrolling movement more sane on avatar picker screen
- Progress bar in Edit mode during playback needs to be rewritten somehow to consider song labels changing
- The progress bar can change "Sabi" to "サビ", but what about the other way around?
- BPM count-in on progress bar shows up on the smallest tempo change, and thus 
	appears WAY too often on songs with drifty BPM (i.e. Never Gonna Give You Up)
- I want a current BPM display somewhere on gameplay
- Song labels can be per-chart too. Not common, but... maybe consider this and
	be able to read labels from chart (instead of song) when available?
- I want to rearrange all the service option menus in a more logical way
- Make the intended difficulty names a smidge clearer outside of the practices guide(s)?

	PERSONAL ANNOYANCES:
- I'm still not really that happy with the main menu loop (the one on SelectProfile and SelectPlayMode)

	QUESTIONS:
- Add an option to hide global noteskins from the music select options menu's Noteskin choices?
- With ScreenPlayerOptions and ScreenSongOptions out of the equation, what about all the options
	that were on those screens, but not on the mini options menu on music select?

	EXTRAS:
- Secrets.

-------
6. NOTES
-------
verbal instruction > 60% rate mod > 80% rate mod > normal speed
ammusing

Subject to fine-tuning/change: a vague guide to the 1-7(?) scale, for people used to larger scales (like me)

PARAPARA:
1:
	Lots of segment repetition or slow-moving/basic para moves.
	The easiest 1s might even have no more than one Sabi repeated through the entire song!
	Examples from PPP: Try Me
	Other examples: Onegai Muscle (Eurobeat Remix)
2:
	Basic, traditional para moves.
	A nice starting point for when 1s seem too slow.
	Examples from PPP: CRAZY FOR YOU, SEXY SEXY SEXY
	Other examples: Domo Domo Domo
3:
	One of the most common ratings for ParaPara routines, 3s generally have a decent variety of moves
	without being overly complex or too fast.
	Examples from PPP: Yesterday, Night Of Fire, Mickey Mouse March
4:
	You're likely to find a few more trickier moves, or less repeating/symmetrical segments, in 4s.
	Examples from PPP: KINGDOM OF ROCK, DYNAMITE RAVE -super euro version-
5:
	Slightly more complex/fast movements than basic movements, and notably less repeating/symmetrical segments
	Examples from PPP: Burning Desire
6:
	Noticably more complex/fast movements than basic movements, asymmetry within one segment may be more common.
	Examples from PPP: Money Go!
7:
	Lots of complex/fast movements, little to no repetition within segments, hard to learn.
	ParaPara 7s didn't exist in PPP! In fact, most charts you'll see with this rating will probably be for TechPara routines.
	Examples: ???
8:
	Almost entirely fast and/or complex movements with little to no repetition within segments.
	ParaPara 8s also didn't exist in PPP.
	Examples: No Limit 2 dAnce

9:
	What

FREESTYLE:
A bit tricker to determine due to how they're charted/rated in OG PPP.
First, pick *two* numbers out of the list below;
one according to the *minimum* difficulty of the chart, and another for the *maximum* difficulty.
	1:
		More slow-paced notes than unbroken 4th "streams".
		Can also cover little to no movement across sensors.
	2:
		Even balance between slow-paced notes and unbroken 4th "streams".
	3:
		Frequent/unbroken 4th notes, 8th notes may begin showing up in some capacity.
		2-note combinations may show up more frequently.
	4:
		8th notes more common, 16th notes are still rare.
	5:
		8th notes quite frequent, 16th notes may begin showing up more frequently in some capacity.
	6:
		16th notes typically more common. Hard-to-read technical moves may show up more often as well (though usually not at the same time as the 16th chunks).
	7:
		Lots of 16th (or faster!) notes and/or hard-to-read technical moves.
	8:
		Frequent/unbroken 16th (or faster!) notes AND hard-to-read technical moves mixed in.
	9:
		Presumably this would practically border on 16th streams.
		You wouldn't dream of it, right?
	10:
		stahp
	
Then pick another, slightly more arbitrary number based on how long the hardest portion of the chart lasts:
	1.6:
		Half the length of one entire segment, or less.
		(example: the hardest portion only taking up the tail end of the Intro, or )
	1.5:
		The majority or entirety of one segment.
		(example: the Sabi being the hardest portion of the chart)
	1.4:
		The majority or entirety of two segments.
		(example: the Intro at both the beginning and the end of the chart being the hardest portions)
	1.25:
		More than a third or three quarters of the song.
		(example: the B Melo is the only part of the song not as hard as the rest)
		
Perform the math (calculators are OK), then round the result to the nearest whole number.
("/" = division)
	([min. difficulty] + [max. difficulty]) / [length of hardest segment]
Example:
	(3 + 7) / 1.4 = 7.142[etc...]
	this would be rounded down to 7.
