Closed GoogleCodeExporter closed 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
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
7. Add documentation for setting these values.
Original comment by raynebc
on 27 Jan 2011 at 9:32
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
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
Original comment by raynebc
on 29 Jan 2011 at 7:54
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
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
Original comment by raynebc
on 22 Mar 2011 at 12:26
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
[deleted comment]
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
Original issue reported on code.google.com by
raynebc
on 23 Oct 2010 at 9:07