alex9490 / editor-on-fire

Automatically exported from code.google.com/p/editor-on-fire
Other
0 stars 0 forks source link

Add more song.ini settings #186

Closed GoogleCodeExporter closed 8 years ago

GoogleCodeExporter commented 8 years ago
Song Properties is missing many items (defined at 
http://fretsonfire.wikidot.com/song-ini-values):

Album, Genre, cassettecolor, diff_band, diff_bass, diff_drums, diff_guitar, 
force_background, hopofreq, icon, tags (song is a cover version), tutorial, 
unlock_id, unlock_require, unlock_text, version

After the EOF project format has been updated to store these, they could be 
added to the Song Properties dialog.  It may also be a good idea to make a 
dedicated Song Properties page in the manual and to go into detail for each 
item, especially the tier/unlock mechanisms.

FoFiX doesn't supposedly support a vocal difficulty level, but it would be a 
good idea for it to be pro-actively added to EOF.

Original issue reported on code.google.com by raynebc on 23 Oct 2010 at 9:07

GoogleCodeExporter commented 8 years ago
Phase Shift is adding support for band/instrument INI settings:
http://www.fretsonfire.net/forums/viewtopic.php?f=28&t=46312&start=2370#p575171
diff_band - Normal Band Difficulty
diff_drums - Normal Drums Difficulty
diff_bass - Normal Bass Difficulty
diff_guitar - Normal Guitar Difficulty
diff_keys - Normal Keys Difficulty
diff_vocals - Normal Vocals Difficulty
diff_drums_real - Real Drums Difficulty
diff_bass_real - Real Bass Difficulty
diff_guitar_real - Real Guitar Difficulty
diff_keys_real - Real Keys Difficulty
diff_vocals_harm - Harmony Vocals Difficulty

Although the band difficulty rating could easily be added to the song 
properties dialog, it's likely that we'd need to add a menu function (perhaps 
Song>Track difficulty) to set the difficulty rating for the active track.  This 
rating could be displayed in the information panel.  The INI export logic could 
store an array of strings to represent the correct tag for each pre-defined 
track (ie. PART GUITAR), but since the harmonies will share the same track as 
PART VOCALS, there will need to be specialized logic to handle it in both 
Song>Track difficulty and INI export.

Original comment by raynebc on 26 Jan 2011 at 11:03

GoogleCodeExporter commented 8 years ago
PART DRUMS would also need special handling because it does not use a separate 
track for pro drums.  Therefore, a Song>Track difficulty dialog menu would need 
to include a field for pro drum difficulty if invoked when PART DRUMS was 
active.  This may be a good time to test the ability to use dynamic menus (ie. 
insert a menu array element in front of the NULL row).  Some tasks for this 
enhancement are as follows:

1. Add abstracted set_difficulty and get_difficulty track functions.  The 
EOF_TRACK_ENTRY structure's difficulty variable already allows for track 
difficulties to be stored.
2. Create an array that defines the appropriate difficulty INI tag string for 
each of the default tracks, where [0] is "diff_band", [1] is diff_guitar, etc.  
This will be used by the INI import/export logic.
3. Add a Song>Track difficulty menu function to get a single character (0 
through 6) of input via a text field.  This function will need to check if PART 
DRUMS is active, and if so, add a second field to the dialog menu for pro drum 
difficulty.  It will also need to check if PART VOCALS is active, and if so, 
add a second field to the dialog menu for harmony difficulty.  This should be 
easy by defining dialog menu members separately for each the pro drum, harmony 
and NULL entries, and just copying them into the presented dialog menu 
accordingly.
4. Add a field in song properties to specify the band difficulty.  This value 
should be stored in track 0's difficulty variable.  The EOF project spec has 
planned in advance for this to be stored as an INI number.  Update the project 
load/save to read/write this value accordingly.  Update the INI import and 
export to store/write this value accordingly.
5. Update the info panel rendering to display the active track's difficulty.  
Special handling for displaying a second difficulty for PART DRUMS or PART 
VOCALS will be necessary.
6. Add the remaining INI settings to the song properties dialog.

Original comment by raynebc on 27 Jan 2011 at 9:29

GoogleCodeExporter commented 8 years ago
7. Add documentation for setting these values.

Original comment by raynebc on 27 Jan 2011 at 9:32

GoogleCodeExporter commented 8 years ago
Difficulty tags for lead and rhythm guitar are not yet accounted for, I posted 
in the Phase Shift thread to ask if support for a couple more difficulty tags 
could be added.

Original comment by raynebc on 28 Jan 2011 at 7:33

GoogleCodeExporter commented 8 years ago
r699 completes tasks 2, 3 and 5.  Task 1 can be skipped because the track array 
itself is already abstracted.  The remaining tasks for this enhancement are:

4. Add a field in song properties to specify the band difficulty.  This value 
should be stored in track 0's difficulty variable.  The EOF project spec has 
planned in advance for this to be stored as an INI number.  Update the project 
load/save to read/write this value accordingly.  Update the INI import and 
export to store/write this value accordingly.
6. Add the remaining INI settings to the song properties dialog.
7. Add documentation for setting these values.
8. Add support for lead and rhythm guitar difficulties if Phase Shift adds 
plans to support these tags.

Original comment by raynebc on 29 Jan 2011 at 7:54

GoogleCodeExporter commented 8 years ago

Original comment by raynebc on 29 Jan 2011 at 7:54

GoogleCodeExporter commented 8 years ago
Regarding task 4, there's no need to store it as an INI number, since the EOF 
project spec allows it to be stored in track 0's difficulty variable.  The load 
logic already loads this, the save logic just needs to be altered to save the 
difficulty instead of a value of 0.

Original comment by raynebc on 29 Jan 2011 at 8:03

GoogleCodeExporter commented 8 years ago
r704 completes task 4.  It was necessary to save it to file as an INI number.

Original comment by raynebc on 13 Feb 2011 at 4:47

GoogleCodeExporter commented 8 years ago

Original comment by raynebc on 22 Mar 2011 at 12:26

GoogleCodeExporter commented 8 years ago
r876 completed task 8 by adding lead and rhythm (5 lane) difficulty INI tags.  
The remaining tasks for this enhancement are:

6. Add the remaining INI settings to the song properties dialog (album, 
cassettecolor, count, force_background, genre, hopofreq, icon, "tags = cover" 
implemented as a boolean checkbox, tutorial, unlock_id, unlock_require, 
unlock_text, version).
7. Add documentation for setting these values (or link to FoF's wiki page).

Original comment by raynebc on 27 Jun 2012 at 8:27

GoogleCodeExporter commented 8 years ago
[deleted comment]
GoogleCodeExporter commented 8 years ago
The importance of this enhancement are lessened by EOF's new logic to check for 
external edits to INI files during project load.  There are other programs that 
are dedicated to making the various INI changes, and it would be easier for 
interested authors to use those.  FoF isn't really being developed at present, 
and Phase Shift is going to create its own career system, so I don't see a 
point in pursuing this issue further at this time.

Original comment by raynebc on 30 Oct 2012 at 10:46