Glenn Maynard
5dd27008cc
use TimingAssist
2003-03-27 00:51:57 +00:00
Glenn Maynard
d6b5aa10ef
add m_bTimingAssist
2003-03-27 00:49:48 +00:00
Glenn Maynard
c19a3d8e22
add TimingAssist.*
2003-03-27 00:49:22 +00:00
Glenn Maynard
1c817ca08d
Add TimingAssist; this roughly implements the timing helper in PNM.
...
This lets us add an announcer that's played after each non-perfect
step, eg. "gameplay assist late good".
It only works reasonably for sparse songs--songs that only have notes
far enough apart that the announcer makes sense. That's mostly
beginner songs, which is what this is targetted at anyway. It's meaningless
to use this assist mode in harder songs; even if the announcer was
rate limited, it'd be impossible to tell which step the announcer was for,
so I didn't bother trying. (It'd be amusing to turn this on in MaxU. :)
A different timing assist type (TimingTip) is probably coming soon,
targetted to higher level (light/med) songs.
The only major problem at the moment is that there's no way to tell
who the announcer is talking to if there's two players. If we implement
per-player announcers, that would help (and allow a number of other
neat things, like having the p1 announcer say "Ready" and the p2
announcer say "HWG").
2003-03-27 00:48:58 +00:00
Glenn Maynard
3f0fdda811
fix warning
2003-03-27 00:39:46 +00:00
Glenn Maynard
c8b9ad3002
add LastTapNoteScoreTrack
2003-03-27 00:39:17 +00:00
Glenn Maynard
b1fa4fc1c6
whoops, remove header
2003-03-26 22:23:10 +00:00
Glenn Maynard
6dffee38ce
don't touch an offset unless it's actually graded
2003-03-26 22:22:44 +00:00
Glenn Maynard
d97838ebaa
whoops; stored offsets were reversed
2003-03-26 22:22:10 +00:00
Glenn Maynard
c51f77902b
UpdateTapNotesMissedOlderThan's return value is never used; remove it
...
Make HandleTapRowScore figure out its values for itself, so we don't
duplicate logic
2003-03-26 21:35:15 +00:00
Glenn Maynard
816a25b5bb
fix a warning
2003-03-26 21:32:48 +00:00
Glenn Maynard
afb98a2e29
make sure it's mostly harmless to call Combo redundantly
2003-03-26 21:32:28 +00:00
Glenn Maynard
6ba559f763
add missing metric
2003-03-26 21:28:21 +00:00
Glenn Maynard
5604e312f6
Store tap offsets. This lets us derive the order notes were hit in;
...
hopefully ScoreKeeper can be made a little more generic.
2003-03-26 19:34:59 +00:00
Glenn Maynard
57aefba669
unused variable
2003-03-26 19:05:13 +00:00
Glenn Maynard
fdcad04705
pull autosync into a separate function
2003-03-26 18:48:19 +00:00
Glenn Maynard
14b4200f1b
use IsRowComplete
2003-03-26 18:42:44 +00:00
Glenn Maynard
95987e81b8
add minimum param to IsRowComplete
2003-03-26 18:31:08 +00:00
Glenn Maynard
1352067196
const fixes
2003-03-26 17:53:31 +00:00
Glenn Maynard
194bb88b1d
reverse conditional; all else is whitespace changes
2003-03-26 17:38:19 +00:00
Glenn Maynard
0d0de7d336
unused code
2003-03-26 17:36:35 +00:00
Glenn Maynard
67bd03da5d
add missing StopTweening()'s; fixes crash
2003-03-25 01:55:25 +00:00
Glenn Maynard
4e0ab2e7d4
fix warnings
2003-03-25 01:39:01 +00:00
Glenn Maynard
7a68deb7cc
fix a warning
2003-03-25 01:38:05 +00:00
Glenn Maynard
c8efe2e5c7
don't start tweening while we're still loading; it'll play transition sounds
...
prematurely
2003-03-25 01:37:33 +00:00
Glenn Maynard
51b9c3beec
sort input
...
clear input, so we don't accumulate if we load twice
2003-03-25 01:14:53 +00:00
Glenn Maynard
92c44716f8
Implement textures that only have an alpha channel.
...
The most immediate use of this is for the company screen shadow;
it's horribly banded in 16-bit, and this lets us load it as an 8-bit texture,
using half the memory and giving full precision.
This could be automatically used, if all non-transparent pixels in a texture
are #FFFFFF. (todo)
This can also allow us to have extremely large, memory-compact fonts.
A 1024x1024 layer in ALPHA4 is just 512k, and can store several thousand
16x16 glyphs. (The only trouble is actually constructing such a font;
doing it by hand in Photoshop isn't a nice option.)
2003-03-24 22:38:34 +00:00
Glenn Maynard
b27b2a1fb9
fix the demonstration screen when there is music
...
...
2003-03-24 21:29:06 +00:00
Glenn Maynard
685c3bcbbb
fix the demonstration screen when there is no music
2003-03-24 21:26:12 +00:00
Glenn Maynard
38cd4b0ee4
I'm not seeing gaps, but these hacks are causing me to see seams of
...
saturation for transparent backgrounds. Are they needed anywhere?
2003-03-24 21:05:23 +00:00
Glenn Maynard
a2af656d19
add log so it can be matched to skips
2003-03-24 20:57:19 +00:00
Glenn Maynard
84fad1fe1f
increase lock so all tweens have time to finish
2003-03-24 20:55:22 +00:00
Glenn Maynard
26d32eb00d
fix music list not tweening completely off screen when choosing fast
2003-03-24 20:46:40 +00:00
Glenn Maynard
bbf98e971c
updates
2003-03-24 18:29:07 +00:00
Glenn Maynard
69a253600e
update
2003-03-24 18:28:38 +00:00
Glenn Maynard
3df0158662
Handle OpenGL reset semantics in a way that might get upstreamed
2003-03-24 18:27:10 +00:00
Glenn Maynard
c3af67d497
these are in arch now
2003-03-24 04:33:13 +00:00
Glenn Maynard
6f3175c035
some abortive efforts to bring the crash handler up to date with
...
vdub; i'll get back to this some day
2003-03-24 04:20:19 +00:00
Glenn Maynard
8f74d7987b
revert unused change
2003-03-23 23:06:49 +00:00
Glenn Maynard
050e9bbaa3
Bend over backwards to avoid making an extra copy of each
...
frame; this brings my high-res test clip from 12 to 22 FPS.
2003-03-23 23:02:40 +00:00
Glenn Maynard
9822eff40b
pull songs out of the header that don't really need to be there
2003-03-23 18:52:18 +00:00
Glenn Maynard
d9eb60c98a
cosmetic
2003-03-23 18:50:58 +00:00
Glenn Maynard
591f2aaddd
unused headers
2003-03-23 18:50:42 +00:00
Glenn Maynard
ee27f2b676
Handle selections that we have no matches for, so we don't assert
...
out in ScreenJukebox
2003-03-23 18:49:29 +00:00
Glenn Maynard
b63cbeb75e
Split off some functions. Use static members, not free functions.
2003-03-23 18:47:13 +00:00
Glenn Maynard
b0d64ecb7f
TransitionStarWipe is no longer used; remove
2003-03-22 20:35:48 +00:00
Glenn Maynard
c731201a4b
TransitionBackWipe is no longer used; remove
2003-03-22 20:32:39 +00:00
Glenn Maynard
7f6465f9fa
TransitionFadeWipe is no longer used; remove
2003-03-22 20:30:30 +00:00
Glenn Maynard
5ffdec22e5
convert this screen to Menu, to get rid of old transitions
2003-03-22 20:28:03 +00:00
Glenn Maynard
6b6c077f44
unused header
2003-03-22 20:26:30 +00:00
Glenn Maynard
083dd50b57
remove TransitionRectWipe; unused
2003-03-22 20:01:16 +00:00
Glenn Maynard
e39dc66c34
remove TransitionInvisible
2003-03-22 19:58:44 +00:00
Glenn Maynard
7b35eeec84
TransitionKeepAlive is no longer used; remove it
2003-03-22 19:55:22 +00:00
Glenn Maynard
3c0a9b3688
TransitionKeepAlive is no longer used; remove it
2003-03-22 19:39:00 +00:00
Glenn Maynard
9469cf0e8f
remove LRCFile
2003-03-22 19:20:59 +00:00
Glenn Maynard
0b6daf73f6
LRC reading is so simple now that the LRCFile abstraction only
...
makes it much more complicated; merge it with LyricsLoader.
2003-03-22 19:19:37 +00:00
Glenn Maynard
cefbd50cb8
simplify
2003-03-22 18:57:29 +00:00
Glenn Maynard
71bc246153
remove old comment
2003-03-21 08:32:28 +00:00
Glenn Maynard
3f5e9ddc48
update
2003-03-21 08:20:43 +00:00
Glenn Maynard
9e338d3a5c
We're likely to want to make lyric data load elsewhere later, so don't
...
apply the preference here; simply don't add the lyric display instead.
(Also, lyric data isn't being unloaded, which may cause the preference
to not take effect on songs already played ...)
2003-03-20 18:51:14 +00:00
Glenn Maynard
232b220423
remove aliases that are no longer needed
2003-03-19 23:52:05 +00:00
Glenn Maynard
d7926b1ba0
add inline
2003-03-19 23:51:07 +00:00
Glenn Maynard
b539a6b105
implement scaling
2003-03-19 23:04:59 +00:00
Glenn Maynard
d41dfbc9e7
move lyrics in reverse
2003-03-19 22:48:43 +00:00
Glenn Maynard
cdbd4da0c3
fade in and out
...
spring in
2003-03-19 22:34:44 +00:00
Glenn Maynard
ffdc70973d
implement colors.
2003-03-19 21:42:45 +00:00
Glenn Maynard
84d29070e4
fixup
2003-03-19 21:41:53 +00:00
Glenn Maynard
c950a7327d
implement color loading
2003-03-19 21:30:12 +00:00
Glenn Maynard
7053ddf17e
add "diffusealpha", to change alpha without changing color
2003-03-19 21:02:50 +00:00
Glenn Maynard
567e1c533f
move USB handling into a separate file
2003-03-19 20:34:40 +00:00
Glenn Maynard
b4776d1ad0
add USB.*
2003-03-19 20:33:42 +00:00
Glenn Maynard
247d94395d
add metrics
2003-03-19 20:02:25 +00:00
Glenn Maynard
e00d3d0e9e
handle lyric paths like other paths
...
note that we don't want to load things in TidyUpData, since
that's only called when we're not loading from cache
2003-03-19 20:01:33 +00:00
Glenn Maynard
0e30cd409c
add (c)
2003-03-19 20:00:19 +00:00
Glenn Maynard
b8f5fe4182
add LyricDisplay
2003-03-19 19:59:13 +00:00
Glenn Maynard
aedbf224a9
Move lyric display into an actor
2003-03-19 19:58:22 +00:00
Glenn Maynard
9a23edcd1a
Move lyric display into an actor
...
Use Commands for tween in/out; queue a whole lyric line at
once (simpler)
2003-03-19 19:57:52 +00:00
Glenn Maynard
07fadbc8f5
add GetCommandLength
2003-03-19 19:56:27 +00:00
Glenn Maynard
bd51901eb8
cache lyric path
2003-03-19 19:35:32 +00:00
Glenn Maynard
a89f4edacc
move LRCFile into File Types
2003-03-19 17:48:39 +00:00
Glenn Maynard
d3d4e48071
use GAMESTATE->m_fMusicSeconds for the current music time
...
Tracking it yourself will break with courses, vary depending on how
the screen tweens in, and so on, which you probably don't want.
2003-03-19 17:46:07 +00:00
Glenn Maynard
46c7457ab5
move lyric updating into a separate function
...
(trying to debug a crash; 6+ levels of indentation makes that hard)
2003-03-19 17:43:11 +00:00
Glenn Maynard
1876494374
add missing metrics
2003-03-19 17:41:54 +00:00
Glenn Maynard
4930e68349
remove more unneeded includes
2003-03-19 17:25:27 +00:00
Glenn Maynard
dff657ab19
remove unneeded includes
2003-03-19 17:23:24 +00:00
Glenn Maynard
28e3565775
don't do :: and &foo; replacements for non-strings
2003-03-18 21:41:17 +00:00
Glenn Maynard
baef74db42
newline at eof
2003-03-17 23:24:00 +00:00
Glenn Maynard
0d087fb198
fix comparison; this happened to work because STYLE_DANCE_SINGLE and
...
NOTES_TYPE_DANCE_SINGLE both happen to be 0
2003-03-17 22:12:20 +00:00
Glenn Maynard
84cc54417f
fix crash (in code not being executed)
2003-03-17 21:29:17 +00:00
Glenn Maynard
448a1fac6e
hopefully fix some g++ problems
2003-03-17 21:13:14 +00:00
Glenn Maynard
c7fdf4ed9e
whitespace changes only: sm uses a hard tab width of 4, not 8
2003-03-17 20:12:00 +00:00
Glenn Maynard
d95c8885db
fix busy looping in the null sound driver
2003-03-17 20:05:49 +00:00
Glenn Maynard
e6e271f790
hopefully fix some skips in DSound (sleep calculation was giving
...
results higher than I intended)
2003-03-17 20:02:20 +00:00
Glenn Maynard
a561c10189
fix underrun notice
2003-03-17 20:01:05 +00:00
Glenn Maynard
ff3ae21bdd
fix croppedsprite oddity when scrolling from random/roulette to another
...
banner
2003-03-17 19:42:17 +00:00
Glenn Maynard
be78746167
move SDL event handling to a function, to make the main
...
loop simpler
2003-03-17 06:20:57 +00:00
Glenn Maynard
bbb416d615
re-sync messages, so the jukebox continues at end of song
...
fix assert failure
2003-03-17 04:56:47 +00:00
Glenn Maynard
f04507a017
don't trap users in the jukebox
...
also, the jukebox could be used as an alternate "attract sequence",
so let's handle the attract coin logic there, too
2003-03-17 04:17:30 +00:00
Glenn Maynard
331fdab2f8
Fix UseSongBG
...
Hmm. Need some way of using rendering masks in BGAs. Not full
access to the zbuffer, of course, just a way to implement things like
the masked-off stage scroll on top of an unmasked song background.
Being able to do this based on the alpha values of another image would
have a whole lot of bonuses for background animations, too; eg the
canonical trick of rendering things masked by a silhouette. This is tricky
to implement, though.
It'd be even better if we could do this with full alpha.
Most multipass algorithms I can think of would require an alpha
channel on the framebuffer, though, and we very often don't have
that. I'll keep thinking about it (and perhaps randomly brainstorming
into the nearest edit window, such as WinCVS ...)
2003-03-17 03:24:12 +00:00
Glenn Maynard
db47d0825b
Start loading the gameplay screen as soon as the stage graphic
...
is finished, which reduces unnecessary delay.
This also means that it's possible to have, say, an Extra stage screen with
a long, complicated graphic, without having to make every screen delay
that long before prepping.
(It's currently not possible to have different switch delays for each type; eg.
Stage 1 prepping in 1 second and switching in 3, and Extra prepping in 3
seconds and switching in 5; the switch time is constant, based on m_In.
This would be useful in the longer-complicated-extra-stage case.)
2003-03-17 01:48:40 +00:00