[SSC-001] dubaiOne for StepMania 4 CVS
by the spinal shark collective
http://ssc.ajworld.net
-------------------------------------------------

Table of Contents
1. Introduction
2. Changelog
3. Notes and Hints
4. Features, Enhancements, and Abortions
5. Theme License
6. Credits
7. Thanks

=================================================
1. INTRODUCTION
=================================================

/ the spinal shark collective /
the spinal shark collective is a collective of StepMania themers who are
embracing the future of StepMania theming (read: we theme for 4.0).

We are:
* AJ 187
* Midiman
* shakesoda

If you're looking to take the plunge and can meet up to our high standards,
then give us an e-mail at general@ssc.ajworld.net with a list of credentials
as well as any completed themes/noteskins/etc.

/ dubaiOne /
dubaiOne is a StepMania 4.0 CVS theme created by AJ 187, who's been known
for a number of other StepMania themes in the past.

:: Concept of dubaiOne ::
dubaiOne was made to be a very clean theme, kind of in the vein of minimalia,
but even cleaner than that.

The name was chosen pretty much at random. dubaiTwo (name and concept) pretty
much came first, and dubaiOne was made to be a complement to it.
A yin and yang thing, if you will.

Dubai (as in the city/emirate) was only meant to be incidentally related to
the theme. It appears in the backgrounds of various items, including the
shared background.

Using analogies...
dubaiOne is to System Zero...
as
StepMania 4 is to StepMania 3.9
as
the spinal shark collective is to KKI circa 2004.

That being said, dubaiOne is the flagship theme of the spinal shark collective,
at least for what I make.

Midiman and shakesoda may have their different takes on it, and I highly
recommend you check out what they make as well. :)

/ AJ 187 /
Some old guy who makes StepMania themes, like the ones below:

[3.9] StepMania System Zero, minimalia, Selling Out Made Simple
[4.0] Dance With Intensity, many contributions to other theme projects.

He also runs KKI labs (http://kki.ajworld.net/), which is dedicated to
StepMania research and themer tool development.

=================================================
2. CHANGELOG
=================================================

dubaiOne v1.4 [December 26, 2008]
Save for any major bugs that pop up, this will likely be the final release
of dubaiOne on StepMania 4 CVS.

Work will officially start on porting dubaiOne to SM4 SVN in 2009.

 * Update CustomSpeedMods to work better (and at all in some cases)
 * Fix a number of course-related things:
	* Fix a bug wherein selecting Nonstop would actually load ScreenSelectMusic,
	  allowing users to mess with the sorts to play songs (and also NOT go back
	  into Nonstop mode)
	* Added Endless sort to the course selection. Use [Up Down Up Down] to
	  access the mode menu where you will find endless mode.
	* Fixed issue where difficulty block would appear white in course mode.
 * Small changes here and there.
   Try to see if you can notice the change I made to the judgments... :)
 * Fixed a bug where SMO would force you on Versus mode after connecting
   by sidestepping a branch. If you successfully connect, you will be
   thrown to the title screen, which has a new feature that will tell you
   if you are connected.

dubaiOne v1.3 [November 23, 2008]
I dunno if 1.2 was ever released but if it wasn't, I'm skipping it because I
can't keep track of things.

 * Sort display added. Don't know how I missed that one.
 * Quad added to _shared footer, hopefully names will read better now.
 * In the same vein, BG brightness was decreased on options page, and the
 text was brightened up to match. No more red text on options! :o
 * Fixed a bug that would cause Snorlax to use normal Toasty movement.
 * Percentage on Eval will now glow upon reaching an AAA or AAAA. While not
 exactly a grade on Eval, this is what I was willing to do.

dubaiOne v1.2 [?, 2008]
Not counting dubai11DX as an official release, here's the changelog for v1.2.

 * Modified Custom Speed Mods code to write out a file if one doesn't exist
 and give the user a nice selection of speed mods as opposed to only 1x.
 * Japanese language stub added.
 I don't know if I'm going to finish it because I... don't really know
 Japanese all too well. It's mainly limited to editing the RadarBars and
 PaneDisplay labels anyways.

dubaiOne v1.1 [July 2, 2008]
 * Removed .one from title, replaced with typical version number.
 * Added in notification if using theme in SVN.
 (Does not catch all versions, try at your own risk.)
 * Fixed up dumb bugs relating to switching over to EnvUtils2.
 * Fixed April Fool's mode code, hopefully.

dubaiOne.one (v1.0) - [June 29, 2008]
 * Switched from EnvUtils to EnvUtils2, allowing for better flexibility.
 * Text color changed in various places, such as Eval.
 * Widescreen fixes. I tested them on 720x480 16:10 mode; ymmv.
 * Custom Speed Mods (shared with other themes).
   File goes in "[StepMania root]/Data/SpeedMods.txt".
 * StepMania Online support, for whatever reason.

dubaiOne "80%" release
 * Initial release.
 
=================================================
3. NOTES AND HINTS
=================================================

If you've customized your options in ScreenOptionsMaster//
Then you're probably either going to want to remove those or remove the
lines that say SelectMultiple.

Defining your Custom Speed Mods//
The custom speed mods are defined in a file called SpeedMods.txt in the
Data folder of the StepMania root.

So say you have SM4 installed in D:\StepMania CVS\.
You'd go to D:\StepMania CVS\Data\ and edit SpeedMods.txt (run the theme once
to create this file with some defaults if you don't want to make it yourself).

The format of the file is:
1x,1.5x,2x,2.5x,3x,4x,8x,C200,C400
and so on.

StepMania Online//
You won't be able to see the other player's scores on Eval. This is because
I have to re-convert Eval to the old format in order for it to work.

If you care about this, then your only realistic option is to use another theme.

=================================================
4. FEATURES, ENHANCEMENTS, AND ABORTIONS
=================================================

dubaiOne represents a significant shift compared to the last SM4 theme I
made on my own, Dance With Intensity for SM4.

While the point of dubaiOne wasn't really to create new features that have
never been seen in a StepMania theme before, personal tradition stated that
I had to do it, so I did. :x

New Features
-==========-
dubaiOne has a few new features never seen in any theme before.

* Extended Customization Options
Before dubaiOne, the main customization option you'd see in a theme would be
the Toasty. While that's all fine and good, dubaiOne takes it a step further
and allows you to customize elements on Select Music as well as Gameplay.

* RadarBars
One of these customization options is RadarBars, a replacement for the Groove
Radar. This was born out of the fact that the Groove Radar, as of the SVN
version of SM4, STILL has its animations hardcoded, making it pretty annoying
to theme for.

RadarBars takes the values that would be displayed and uses them to generate
bars to show the values. They also stack for two players, getting rid of
the overlapping that the five pointed radar had and making things easier to
see. Arguably.

* DifficultyDisplay in the WheelItem
Usually, there'd be one DifficultyDisplay on the screen, traditionally next to
the banner frame. I didn't think that was gonna do for dubaiOne, so I went
ahead and found a way to put it in the WheelItem instead, giving each song a
DifficultyDisplay.

* Lots of small details
Things you may not have picked up on otherwise, such as:
	* Tabbed WheelSectionItems including descriptions of the main text
	(For example when using Artist sort, it shows "Artists by Alphabet".)

	* Dance Points meter
	First seen in the old evoke screenshots, it makes its first public
	appearance in dubaiOne. It's the meter that's inset into the life meter.

	* Custom life meter
	The idea of a custom life meter isn't new, but having the hot animation
	scroll the wavy line to the BPM is. Sadly, I couldn't get it to stop on
	pauses.

	* Clock on the title menu
	The title menu features a clock that updates in real time.

There's probably a few other things I'm forgetting.

Enhancements
-==========-
A good themer knows when to reuse and revamp their code. I am no exception,
so in dubaiOne, you'll find that a number of elements are pretty similar
to previous work.

* Time-based backgrounds
First seen in System Zero, then in minimalia, time-based backgrounds return
to dubaiOne. At different times of day (day, dusk, night), there are four
backgrounds to be chosen from.
During a play session, you may very well see all four!

* Toasty Selection
Originally made for NAKET Coder Revolution: Bleeding Heart Liberal,
revamped to be more user-friendly in NAKET Coder Evolution.

dubaiOne removes one of the last barriers and makes switching Toasties
really simple, with the only thing required from the user being to select
the toasty.

Switching happens easily without the need to reload textures/metrics.

* Custom Option Icons
The code for this was based off of a part of the code used to set custom
modifiers in gameplay via BGAnimations.
(http://kki.ajworld.net/?p=research&s=insongmods)

The difference here is that a function goes through the options list and
spits out graphics, similar to the OptionIconRow, but without the limitations.

There was a major caveat with them, however: they don't update when you change
options using pad codes for whatever reason. I could never figure this out,
and therefore the implementation of the custom options icons isn't 100%
complete.

Still, I figured it would be a neat thing to include, especially on screens
where you don't NEED to have the options update (like Evaluation).

Abortions (or alternatively, the Cutting Room Floor)
-==================================================-
Not everything is a success. During the development of dubaiOne, a number of
features were planned but couldn't be executed.

* Custom Battery Meter
Much like the custom life meter, except for Oni mode. The problem that came up
with this is that it's damn near impossible to get the current amount of lives
that you have. It sounds dumb, but that's really what happened. The
BatteryMeter isn't named, so I can't grab anything for it, thereby making it
really hard to make a custom meter for it.

Coincidentally, this is why Oni Mode isn't in dubaiOne.

* dubaiOne Evaluation Bar
This would've pretty much been the evaluation bar you see in the first few
DDR games, where there's a stack of what step judgments you got.
For whatever reason, the bar wasn't sizing up correctly, so I never was able
to get it working.

=================================================
5. THEME LICENSE
=================================================

dubaiOne is released under AJ's StepMania Theme License.

Copyright © 2008 AJ 187 and the spinal shark collective.

1) Redistributions of this theme must include this license.

2) dubaiOne v1.4 is a StepMania theme for StepMania 4 CVS, suggested
version 1/3/2008. Under this license, you agree not to use it
on any version before or after the 1/3/2008 CVS release, unless
that release is 1:1 compatible with 1/3/2008 CVS.

This clause should pre-empt any bug reports that may pop up from using
outdated versions. By using this theme on any other version than the one
specified above, you waive your right to notify the creator of any bugs
until you upgrade to the suggested version of SM4CVS as shown above and
verify that they still exist.

3) Under this license, you agree to not claim the work as your own or
use parts of it without permission. All applicable code in the theme
is licensed under AJ's Generic Use of Code License.

An exception is made for the Debug Menu code (01.lua), which is compiled
in an attempt to hide it. In this case, the Debug Code is not critical to
theme function and only serves as an extra feature that most people will
not use.

=================================================
6. CREDITS
=================================================

/ Dubai pictures /
The pictures of Dubai were taken from sxc.hu. Detailed credits follow,
filenames taken from the theme.

\\ Day
_amazing - View from the Burj Al Arab by jstratton [ http://www.sxc.hu/photo/531902 ]
_ocean - Clear water by nicothein [ http://www.sxc.hu/photo/936391 ]
_skyline - dubai skyline (day edition) by zchizzerz [ http://www.sxc.hu/photo/201798 ]
_strip - Buildings by OmirOnia [ http://www.sxc.hu/photo/2139 ]

\\ Dusk
_brilliant - Dubai by Jabz [ http://www.sxc.hu/photo/777360 ]
_cloud - Dubai-cloud by nicothein [ http://www.sxc.hu/photo/930749 ]
_dusk - Evening by naseer132 [ http://www.sxc.hu/photo/777360 ]
_sun - Dubai desert by jejoen [ http://www.sxc.hu/photo/943082 ]

\\ Night
_brightlamp - nightlamp by zchizzerz [ http://www.sxc.hu/photo/240511 ]
_nightfront - Dubai 4 by Schlottie [ http://www.sxc.hu/photo/98799 ]
_nightlights - dubai skyline by zchizzerz [ http://www.sxc.hu/photo/160920 ]
_pool - Swimming Pool at night by Schlottie [ http://www.sxc.hu/photo/83567 ]

\\ Options Menu BG
Dubai - Palm trees by nicothein [ http://www.sxc.hu/photo/931103 ]

(The original three backgrounds from the early alphas: _cloud, _sun, and _ocean)

/ Typefaces /
* Blaster by dustBUST
* Frutiger by Adrian Frutiger
* Tahoma by Matthew Carter

=================================================
7. THANKS
=================================================

Midiman and shakesoda, the other two members of the spinal shark collective.
-==========================================================================-
They've provided me with much help and inspiration over the course of this
theme's creation. In addition, I kind of took some ideas and code from them.
Hope that's alright you guys :)

Plaguefox
-=======-
Thanks to you, I had the drive to actually finish and release this theme
even through all the times I doubted myself. You can't comprehend 
<strike>the true form of Gigyas' attack!</strike> how helpful your comments
were. Really. Thank you.

I look forward to working with you in the future, assuming things align
somehow to a point where it's possible.

WinDEU
-====-
FUCKING ORANGE CAR!!!!
In all seriousness, you're an awesome guy and I hope you keep working on
what you do best.
I'll try my damndest to get those mods you suggested working in SM, and if
not there, then...

Renard
-====-
I'M GRENADE MAN!!!
Thank you for curing something I thought would never be cured.
Thank you for putting up with my shit on the Mungyodance projects and elsewhere.
Thank you for every single thing you've done. I owe the world to you.

Chris Danford and the rest of the StepMania team
-==============================================-
Thanks for putting up with my crazy commits and the old default theme. :)

The StepMania Theming Community at large
-======================================-
The following names are in no particular order. Fellow ssc members omitted.

Those who still do: tweak, Katze, k//eternal, Takuya
Those who've moved on or MIA: zhek, Mig (SPiG), yanathin (BMR), Sestren NK

Archer
-====-
Thanks for letting me throw some junk into 3.9+. It brought back the feeling
that Ruby Project instilled in me. And congrats again on being accepted into
the official SM devteam.

Aldo_MX
-=====-
Thank you for publishing the source code for your changes to 3.9+.
If more people in the Pump community shared stuff like you did, the SM
community would be a much cooler place and perhaps a few people would stop
complaining that StepMania can't do Pump.

The following communities
-=======================-
Again, in no particular order.

Monakai, shakesoda, N3KFreak, BoXoRRoXoRs, sows, Bemanistyle,
Official SM Forums, StepMania Things, #noturkeyslams

I'm probably missing a lot of people here.

===============================================================================
dubaiOne is Copyright ©2008 AJ 187 and the spinal shark collective.
Don't even try to pass off any part of this theme/the entire theme as your own.

We will return.