Public Access
Include imported Still Alive data with disclaimer
Commit src/still_alive/imported.h instead of ignoring it. The importer now writes a source reference (SDSkyKlouD/still-alive-web) and a disclaimer (Jonathan Coulton / Valve, personal non-commercial use, not affiliated) at the top of the file; the README carries the same disclaimer. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
329f97a5ec
commit
7e738b951b
4 files changed
+810
-11
No files matched your search
@@ -0,0 +1,784 @@
|
||||
// Song text, timing, ASCII art and credits from Portal's ending sequence,
|
||||
// imported from still-alive-web by SD SkyKlouD:
|
||||
// https://github.com/SDSkyKlouD/still-alive-web
|
||||
//
|
||||
// Disclaimer: "Still Alive" was written by Jonathan Coulton for Portal (2007).
|
||||
// Portal, its credits and ASCII art are (c) Valve Corporation, see
|
||||
// https://store.steampowered.com/legal/. Included only for personal,
|
||||
// non-commercial use in this hobby project; all rights remain with their
|
||||
// owners. This project is not affiliated with or endorsed by Valve.
|
||||
//
|
||||
// Generated by tools/import_still_alive.py - do not edit by hand.
|
||||
#pragma once
|
||||
|
||||
#include "show_data.h"
|
||||
|
||||
static const char* const ART_APERTURE_LINES[] = {
|
||||
" .,-:;//;:=,",
|
||||
" . :H@@@MM@M#H/.,+%;,",
|
||||
" ,/X+ +M@@M@MM%=,-%HMMM@X/,",
|
||||
" -+@MM; $M@@MH+-,;XMMMM@MMMM@+-",
|
||||
" ;@M@@M- XM@X;. -+XXXXXHHH@M@M#@/.",
|
||||
" ,%MM@@MH ,@%= .---=-=:=,.",
|
||||
" =@#@@@MX ., -%HX$$%%%+;",
|
||||
" =-./@M@M$ .;@MMMM@MM:",
|
||||
" X@/ -$MM/ .+MM@@@M$",
|
||||
",@M@H: :@: . =X#@@@@-",
|
||||
",@@@MMX, . /H- ;@M@M=",
|
||||
".H@@@@M@+, %MM+..%#$.",
|
||||
" /MMMM@MMH/. XM@MH; =;",
|
||||
" /%+%$XHH@$= , .H@@@@MX,",
|
||||
" .=--------. -%H.,@@@@@MX,",
|
||||
" .%MM@@@HHHXX$$$%+- .:$MMX =M@@MM%.",
|
||||
" =XMMM@MM@MM#H;,-+HMM@M+ /MMMX=",
|
||||
" =%@M@M#@$-.=$@MM@@@M; %M%=",
|
||||
" ,:+$+-,/H#MMMMMMM@= =,",
|
||||
" =++%%%%+/:-.",
|
||||
};
|
||||
|
||||
static const char* const ART_CAKE_LINES[] = {
|
||||
" ,:/+/-",
|
||||
" /M/ .,-=;//;-",
|
||||
" .:/= ;MH/, ,=/+%$XH@MM#@:",
|
||||
" -$##@+$###@H@MMM#######H:. -/H#",
|
||||
" .,H@H@ X######@ -H#####@+- -+H###@X",
|
||||
" .,@##H; +XM##M/, =%@###@X;-",
|
||||
"X%- :M##########$. .:%M###@%:",
|
||||
"M##H, +H@@@$/-. ,;$M###@%, -",
|
||||
"M####M=,,---,.-%%H####M$: ,+@##",
|
||||
"@##################@/. :%H##@$-",
|
||||
"M###############H, ;HM##M$=",
|
||||
"#################. .=$M##M$=",
|
||||
"################H..;XM##M$= .:+",
|
||||
"M###################@%= =+@MH%",
|
||||
"@################M/. =+H#X%=",
|
||||
"=+M##############M, -/X#X+;.",
|
||||
" .;XM##########H= ,/X#H+:,",
|
||||
" .=+HM######M+/+HM@+=.",
|
||||
" ,:/%XM####H/.",
|
||||
" ,.:=-.",
|
||||
};
|
||||
|
||||
static const char* const ART_EXPLOSION_LINES[] = {
|
||||
" .+",
|
||||
" /M;",
|
||||
" H#@: ;,",
|
||||
" -###H- -@/",
|
||||
" %####$. -; .%#X",
|
||||
" M#####+;#H :M#M.",
|
||||
".. .+/;%#########X###-",
|
||||
" -/%H%+;-, +##############/",
|
||||
" .:$M###MH$%+############X ,--=;-",
|
||||
" -/H#####################H+=.",
|
||||
" .+#################X.",
|
||||
" =%M####################H;.",
|
||||
" /@###############+;;/%%;,",
|
||||
" -%###################$.",
|
||||
" ;H######################M=",
|
||||
" ,%#####MH$%;+#####M###-/@####%",
|
||||
" :$H%+;=- -####X.,H# -+M##@-",
|
||||
" . ,###; ; =$##+",
|
||||
" .#H, :XH,",
|
||||
" + .;-",
|
||||
};
|
||||
|
||||
static const char* const ART_RADIO_LINES[] = {
|
||||
" ;=",
|
||||
" /=",
|
||||
" ;=",
|
||||
" /=",
|
||||
" ;=",
|
||||
" /=",
|
||||
" ;=",
|
||||
" /=",
|
||||
" ,--==-:$;",
|
||||
" ,/$@#######@X+-",
|
||||
" ./@###############X=",
|
||||
" /M#####X+/;;;;+H#####$.",
|
||||
" %####M/;+H@XX@@%;;@####@,",
|
||||
" +####H=+##$,--,=M#X-%####@.",
|
||||
" -####X,X@HHXH##MXHXXH-+####$",
|
||||
" X###@.X/$M$:####$=@X/X,X####-",
|
||||
".####:+$:##@:####$:##H/X=####%",
|
||||
"-%%$%,+==%$+-$+:$;-$$%-+,/$%%+",
|
||||
"-/+%%X$XX$$$$$$$%$$$%$X$X$%+/-",
|
||||
};
|
||||
|
||||
static const char* const ART_ATOM_LINES[] = {
|
||||
" =/;;/-",
|
||||
" +: //",
|
||||
" /; /;",
|
||||
" -X H.",
|
||||
".//;;;:;;-, X= :+ .-;:=;:;%;.",
|
||||
"M- ,=;;;#:, ,:#;;:=, ,@",
|
||||
":% :%.=/++++/=.$= %=",
|
||||
" ,%; %/:+/;,,/++:+/ ;+.",
|
||||
" ,+/. ,;@+, ,%H;, ,/+,",
|
||||
" ;+;;/= @. .H##X -X :///+;",
|
||||
" ;+=;;;.@, .XM@$. =X.//;=%/.",
|
||||
" ,;: :@%= =$H: .+%-",
|
||||
" ,%= %;-///==///-// =%,",
|
||||
";+ :%-;;;:;;;;-X- +:",
|
||||
"@- .-;;;;M- =M/;;;-. -X",
|
||||
" :;;::;;-. %- :+ ,-;;-;:==",
|
||||
" ,X H.",
|
||||
" ;/ %=",
|
||||
" // +;",
|
||||
" ,////,",
|
||||
};
|
||||
|
||||
static const char* const ART_BIOHAZARD_LINES[] = {
|
||||
" =+$HM####@H%;,",
|
||||
" /H###############M$,",
|
||||
" ,@################+",
|
||||
" .H##############+",
|
||||
" X############/",
|
||||
" $##########/",
|
||||
" %########/",
|
||||
" /X/;;+X/",
|
||||
"",
|
||||
" -XHHX-",
|
||||
" ,######,",
|
||||
"#############X .M####M. X#############",
|
||||
"##############- -//- -##############",
|
||||
"X##############%, ,+##############X",
|
||||
"-##############X X##############-",
|
||||
" %############% %############%",
|
||||
" %##########; ;##########%",
|
||||
" ;#######M= =M#######;",
|
||||
" .+M###@, ,@###M+.",
|
||||
" :XH. .HX:",
|
||||
};
|
||||
|
||||
static const char* const ART_BLACKMESA_LINES[] = {
|
||||
" .-;+$XHHHHHHX$+;-.",
|
||||
" ,;X@@X%/;=----=:/%X@@X/,",
|
||||
" =$@@%=. .=+H@X:",
|
||||
" -XMX: =XMX=",
|
||||
" /@@: =H@+",
|
||||
" %@X, .$@$",
|
||||
" +@X. $@%",
|
||||
"-@@, .@@=",
|
||||
"%@% +@$",
|
||||
"H@: :@H",
|
||||
"H@: :HHHHHHHHHHHHHHHHHHX, =@H",
|
||||
"%@% ;@M@@@@@@@@@@@@@@@@@H- +@$",
|
||||
"=@@, :@@@@@@@@@@@@@@@@@@@@@= .@@:",
|
||||
" +@X :@@@@@@@@@@@@@@@M@@@@@@:%@%",
|
||||
" $@$, ;@@@@@@@@@@@@@@@@@M@@@@@@$.",
|
||||
" +@@HHHHHHH@@@@@@@@@@@@@@@@@@@@@@@+",
|
||||
" =X@@@@@@@@@@@@@@@@@@@@@@@@@@@@X=",
|
||||
" :$@@@@@@@@@@@@@@@@@@@M@@@@$:",
|
||||
" ,;$@@@@@@@@@@@@@@@@@@X/-",
|
||||
" .-;+$XXHHHHHX$+;-.",
|
||||
};
|
||||
|
||||
static const char* const ART_BROKENHEART_LINES[] = {
|
||||
" .,---.",
|
||||
" ,/XM#MMMX;,",
|
||||
" -%##########M%,",
|
||||
" -@######% $###@=",
|
||||
" .,--, -H#######$ $###M:",
|
||||
" ,;$M###MMX; .;##########$;HM###X=",
|
||||
" ,/@##########H= ;################+",
|
||||
"-+#############M/, %##############+",
|
||||
"%M###############= /##############:",
|
||||
"H################ .M#############;.",
|
||||
"@###############M ,@###########M:.",
|
||||
"X################, -$=X#######@:",
|
||||
"/@##################%- +######$-",
|
||||
".;##################X .X#####+,",
|
||||
" .;H################/ -X####+.",
|
||||
" ,;X##############, .MM/",
|
||||
" ,:+$H@M#######M#$- .$$=",
|
||||
" .,-=;+$@###X: ;/=.",
|
||||
" .,/X$; .::,",
|
||||
" ., ..",
|
||||
};
|
||||
|
||||
static const char* const ART_CHECK_LINES[] = {
|
||||
" :X-",
|
||||
" :X###",
|
||||
" ;@####@",
|
||||
" ;M######X",
|
||||
" -@########$",
|
||||
" .$##########@",
|
||||
" =M############-",
|
||||
" +##############$",
|
||||
" .H############$=.",
|
||||
" ,/: ,M##########M;.",
|
||||
" -+@###; =##########M;",
|
||||
" =%M#######; :#########M/",
|
||||
"-$M###########; :#########/",
|
||||
" ,;X###########; =########$.",
|
||||
" ;H#########+#######M=",
|
||||
" ,+##############+",
|
||||
" /M#########@-",
|
||||
" ;M######%",
|
||||
" +####:",
|
||||
" ,$M-",
|
||||
};
|
||||
|
||||
static const char* const ART_COMPANIONCUBE_LINES[] = {
|
||||
"+@##########M/ :@#########@/",
|
||||
"##############$;H#######@;+#############",
|
||||
"###############M########################",
|
||||
"##############X,-/++/+%+/,%#############",
|
||||
"############M$: -X############",
|
||||
"##########H;. ,--. =X##########",
|
||||
":X######M; -$H@M##MH%: :H#######@",
|
||||
" =%#M+=, ,+@#######M###H: -=/M#%",
|
||||
" %M##@+ .X##$, ./+- ./###; +M##%",
|
||||
" %####M. /###= @##M. X###%",
|
||||
" %####M. ;M##H:. =$###X. $###%",
|
||||
" %####@. /####M$-./@#####: %###%",
|
||||
" %H#M/, /H###########@: ./M#%",
|
||||
" ;$H##@@H: .;$HM#MMMH$;, ./H@M##M$=",
|
||||
"X#########%. ..,,. .;@#########",
|
||||
"###########H+:. ./@###########",
|
||||
"##############/ ./%%%%+/.-M#############",
|
||||
"##############H$@#######@@##############",
|
||||
"##############X%########M$M#############",
|
||||
"+M##########H: .$##########X=",
|
||||
};
|
||||
|
||||
static const char* const ART_FIRE_LINES[] = {
|
||||
" -$-",
|
||||
" .H##H,",
|
||||
" +######+",
|
||||
" .+#########H.",
|
||||
" -$############@.",
|
||||
" =H###############@ -X:",
|
||||
" .$##################: @#@-",
|
||||
" ,; .M###################; H###;",
|
||||
" ;@#: @###################@ ,#####:",
|
||||
" -M###. M#################@. ;######H",
|
||||
" M####- +###############$ =@#######X",
|
||||
" H####$ -M###########+ :#########M,",
|
||||
" /####X- =########% :M########@/.",
|
||||
" ,;%H@X; .$###X :##MM@%+;:-",
|
||||
" ..",
|
||||
" -/;:-,. ,,-==+M########H",
|
||||
" -##################@HX%%+%%$%%%+:,,",
|
||||
" .-/H%%%+%%$H@###############M@+=:/+:",
|
||||
"/XHX%:#####MH%= ,---:;;;;/%%XHM,:###$",
|
||||
};
|
||||
|
||||
static const char* const ART_GLADOS_LINES[] = {
|
||||
" #+ @ # # M#@",
|
||||
" . .X X.%##@;# # +@#######X. @#%",
|
||||
" ,==. ,######M+ -#####%M####M- #",
|
||||
" :H##M%:=##+ .M##M,;#####/+#######% ,M#",
|
||||
" .M########= =@#@.=#####M=M#######= X#",
|
||||
" :@@MMM##M. -##M.,#######M#######. = M",
|
||||
" @##..###:. .H####. @@ X,",
|
||||
" ############: ###,/####; /##= @#. M",
|
||||
" ,M## ;##,@#M;/M#M @# X#% X#",
|
||||
".%= ######M## ##.M#: ./#M ,M #M ,#$",
|
||||
"##/ $## #+;#: #### ;#/ M M- @# :",
|
||||
"#+ #M@MM###M-;M #:$#-##$H# .#X @ + $#. #",
|
||||
" ######/.: #%=# M#:MM./#.-# @#: H#",
|
||||
"+,.= @###: /@ %#,@ ##@X #,-#@.##% .@#",
|
||||
"#####+;/##/ @## @#,+ /#M . X,",
|
||||
" ;###M#@ M###H .#M- ,##M ;@@; ###\"",
|
||||
" .M#M##H ;####X ,@#######M/ -M###$ -H",
|
||||
" .M###% X####H .@@MM@; ;@#M@",
|
||||
" H#M /@####/ ,++. / ==-,",
|
||||
" ,=/:, .+X@MMH@#H #####$=",
|
||||
};
|
||||
|
||||
static const char* const ART_LIGHTBULB_LINES[] = {
|
||||
" ,=;%$%%$X%%%%;/%%%%;=,",
|
||||
" ,/$$+:- -:+$$/,",
|
||||
" :X$= =$X:",
|
||||
" ;M%. .%M;",
|
||||
"+#/ /#+",
|
||||
"## M#",
|
||||
"H#, =;+/;, ,#X",
|
||||
".HM- :@X+%H: .%M%- .M#. -M@.",
|
||||
" /#%. @#- ,H@--MH, .;@$- .%#+",
|
||||
" .$M; .+@X;, MM#@:/$X;. ;M$,",
|
||||
" =@H, ,:+%H#M%;- ,H@=",
|
||||
" .$#; -#H =#$",
|
||||
" %#; #M ;#%",
|
||||
" H#- ## -#H",
|
||||
" ;#+ ## +#;",
|
||||
" ;H+;;;;;;HH;;;;;;+H/",
|
||||
" =H#@HHHHHHHHHH@#H=",
|
||||
" =@#H%%%%%%%$HH@#@=",
|
||||
" =@#X%%%%%%%$M###@=",
|
||||
" =+%XHHX%+=",
|
||||
};
|
||||
|
||||
static const char* const ART_MECHARM_LINES[] = {
|
||||
" X MM X",
|
||||
" X MM X",
|
||||
" X MM X",
|
||||
" X MM X",
|
||||
" + HX +",
|
||||
" ,=$$XX%/-",
|
||||
" =X#########@%-",
|
||||
" ;##############=",
|
||||
"-###############M,",
|
||||
";##@@@######M@###=",
|
||||
".+:;+:=H##$=:/:;H.",
|
||||
"- +###- ## :###,,;",
|
||||
"+@:/%;-H##H==/::H;",
|
||||
" /#@/-=+$$%::+H#$",
|
||||
" $#%-, ,.:##-",
|
||||
"-@/ =X%.",
|
||||
"%H= -$;",
|
||||
" =HH, .%M;",
|
||||
" /MM/ :@M/.",
|
||||
" .:XX, -$H:.",
|
||||
};
|
||||
|
||||
static const char* const ART_PERSONALITYSPHERE_LINES[] = {
|
||||
" .-+$H###MM@MMMMM##@$+-,. ....",
|
||||
"-@$+%$+%HX+--.. . . .,:X$/+/++$#:",
|
||||
"-#MXH$= $HXH#:",
|
||||
" .--,:#+ ,+$HMX =@@X%, . .X#:,,,",
|
||||
" =#@$H :####H =####;,M%$#X",
|
||||
" X###$ $####X =####H %###X",
|
||||
" ;###X /###@$: ,+HM##H.+###;",
|
||||
" :###;,X##%=;%H@H$;-;M#@-;###/",
|
||||
" ,M##;.@##;-H#######M=.M##-:###-",
|
||||
" ;##M ;##X @###H-=@###.;##X H##;",
|
||||
" ;##M./##X.@###H:/M###-=##X X##;",
|
||||
" -###;,M##:,@########+-H##; @##-",
|
||||
" %##M==@##%==%HMH%::/M##+.X##+",
|
||||
" %###/./###X+: -+$M##M=,X##+",
|
||||
" X###X X####H +#####% @##H",
|
||||
" :###H %####H +#####; X##;",
|
||||
" /#$. -HM##H /###@+. +#$. .",
|
||||
"/HX%$X: .,-, .-,. =XX$H@-",
|
||||
"/#H+/+%+/+;=. .=/%;;/;;+#+",
|
||||
" .. .,-:XM#MM@@@@@@H@@M#@+=,. ,,",
|
||||
};
|
||||
|
||||
static const Art ARTS[] = {
|
||||
{nullptr, 0},
|
||||
{ART_APERTURE_LINES, 20}, // 1
|
||||
{ART_CAKE_LINES, 20}, // 2
|
||||
{ART_EXPLOSION_LINES, 20}, // 3
|
||||
{ART_RADIO_LINES, 19}, // 4
|
||||
{ART_ATOM_LINES, 20}, // 5
|
||||
{ART_BIOHAZARD_LINES, 20}, // 6
|
||||
{ART_BLACKMESA_LINES, 20}, // 7
|
||||
{ART_BROKENHEART_LINES, 20}, // 8
|
||||
{ART_CHECK_LINES, 20}, // 9
|
||||
{ART_COMPANIONCUBE_LINES, 20}, // 10
|
||||
{ART_FIRE_LINES, 19}, // 11
|
||||
{ART_GLADOS_LINES, 20}, // 12
|
||||
{ART_LIGHTBULB_LINES, 20}, // 13
|
||||
{ART_MECHARM_LINES, 20}, // 14
|
||||
{ART_PERSONALITYSPHERE_LINES, 20}, // 15
|
||||
};
|
||||
static constexpr size_t ART_COUNT = sizeof(ARTS) / sizeof(ARTS[0]);
|
||||
|
||||
static const LyricStep LYRICS[] = {
|
||||
{0, 0, STEP_CLEAR, ART_KEEP, ""},
|
||||
{0, 2000, STEP_NEWLINE, ART_KEEP, "Forms FORM-29827281-12:"},
|
||||
{2000, 2000, STEP_NEWLINE, ART_KEEP, "Test Assessment Report"},
|
||||
{4010, 0, STEP_NEWLINE, ART_KEEP, ""},
|
||||
{4020, 0, STEP_NEWLINE, ART_KEEP, ""},
|
||||
{6870, 2050, STEP_NEWLINE, ART_KEEP, "This was a triumph."},
|
||||
{10820, 2100, STEP_NEWLINE, ART_KEEP, "I'm making a note here:"},
|
||||
{12930, 1800, STEP_NEWLINE, ART_KEEP, "HUGE SUCCESS."},
|
||||
{15730, 2360, STEP_NEWLINE, ART_KEEP, "It's hard to overstate"},
|
||||
{18130, 2710, STEP_NEWLINE, ART_KEEP, "my satisfaction."},
|
||||
{22970, 1760, STEP_NEWLINE, 1, "Aperture Science"},
|
||||
{26830, 1570, STEP_NEWLINE, ART_KEEP, "We do what we must"},
|
||||
{28600, 750, 0, ART_KEEP, "because"},
|
||||
{29550, 710, STEP_NEWLINE, ART_KEEP, "we can."},
|
||||
{31930, 1550, 0, ART_KEEP, "For the good"},
|
||||
{33480, 1530, STEP_NEWLINE, ART_KEEP, "of all of us."},
|
||||
{35289, 1741, STEP_NEWLINE, 6, "Except the ones who are dead."},
|
||||
{37030, 400, STEP_NEWLINE, ART_KEEP, ""},
|
||||
{37430, 1858, STEP_NEWLINE, 1, "But there's no sense crying"},
|
||||
{39298, 1782, STEP_NEWLINE, ART_KEEP, "over every mistake."},
|
||||
{41280, 1985, STEP_NEWLINE, ART_KEEP, "You just keep on trying"},
|
||||
{43275, 1366, 0, ART_KEEP, "till you run out of"},
|
||||
{44641, 400, STEP_NEWLINE, ART_KEEP, "cake."},
|
||||
{45227, 1970, STEP_NEWLINE, 5, "And the Science gets done."},
|
||||
{47197, 1970, STEP_NEWLINE, ART_KEEP, "And you make a neat gun."},
|
||||
{49187, 1520, STEP_NEWLINE, 1, "For the people who are"},
|
||||
{50727, 1500, STEP_NEWLINE, ART_KEEP, "still alive."},
|
||||
{53827, 0, STEP_CLEAR, ART_KEEP, ""},
|
||||
{53827, 550, STEP_NEWLINE, ART_KEEP, "Forms FORM-55551-5:"},
|
||||
{54377, 1100, STEP_NEWLINE, ART_KEEP, "Personnel File Addendum:"},
|
||||
{55477, 0, STEP_NEWLINE, ART_KEEP, ""},
|
||||
{58487, 0, STEP_NEWLINE, ART_KEEP, ""},
|
||||
{58547, 1917, STEP_NEWLINE, ART_KEEP, "I'm not even angry."},
|
||||
{62832, 697, 0, ART_KEEP, "I'm being"},
|
||||
{63529, 650, 0, ART_KEEP, "so"},
|
||||
{64179, 906, 0, ART_KEEP, "sincere"},
|
||||
{65085, 1115, STEP_NEWLINE, ART_KEEP, "right now."},
|
||||
{67825, 650, 0, ART_KEEP, "Even"},
|
||||
{68475, 1347, 0, ART_KEEP, "though you"},
|
||||
{69822, 488, 0, 8, "broke"},
|
||||
{70310, 998, STEP_NEWLINE, ART_KEEP, "my heart."},
|
||||
{71308, 325, 0, ART_KEEP, "And"},
|
||||
{71633, 488, 0, ART_KEEP, "killed"},
|
||||
{72121, 557, STEP_NEWLINE, ART_KEEP, "me."},
|
||||
{74678, 1649, STEP_NEWLINE, 3, "And tore me to pieces."},
|
||||
{78649, 1440, 0, ART_KEEP, "And threw every piece"},
|
||||
{80091, 580, 0, ART_KEEP, "into"},
|
||||
{81066, 882, STEP_NEWLINE, 11, "a fire."},
|
||||
{83597, 1400, 0, ART_KEEP, "As they burned"},
|
||||
{84997, 1509, STEP_NEWLINE, ART_KEEP, "it hurt because"},
|
||||
{86831, 1625, STEP_NEWLINE, 9, "I was so happy for you!"},
|
||||
{88897, 2067, STEP_NEWLINE, ART_KEEP, "Now these points of data"},
|
||||
{90964, 1950, STEP_NEWLINE, ART_KEEP, "make a beautiful line."},
|
||||
{92914, 2020, STEP_NEWLINE, ART_KEEP, "And we're out of beta."},
|
||||
{94934, 1950, STEP_NEWLINE, ART_KEEP, "We're releasing on time."},
|
||||
{96884, 2113, STEP_NEWLINE, 3, "So I'm GLaD. I got burned."},
|
||||
{98997, 2020, STEP_NEWLINE, 5, "Think of all the things we learned"},
|
||||
{101017, 1556, STEP_NEWLINE, 1, "for the people who are"},
|
||||
{102573, 395, 0, ART_KEEP, "still"},
|
||||
{102968, 1440, STEP_NEWLINE, ART_KEEP, "alive."},
|
||||
{106008, 0, STEP_CLEAR, ART_KEEP, ""},
|
||||
{106008, 450, STEP_NEWLINE, ART_KEEP, "Forms FORM-55551-6:"},
|
||||
{106459, 1310, STEP_NEWLINE, ART_KEEP, "Personnel File Addendum Addendum:"},
|
||||
{107768, 0, STEP_NEWLINE, ART_KEEP, ""},
|
||||
{108428, 2200, STEP_NEWLINE, ART_KEEP, "One last thing:"},
|
||||
{110628, 0, STEP_NEWLINE, ART_KEEP, ""},
|
||||
{110678, 1324, 0, ART_KEEP, "Go ahead and leave"},
|
||||
{112002, 627, STEP_NEWLINE, ART_KEEP, "me."},
|
||||
{114417, 534, 0, ART_KEEP, "I think"},
|
||||
{114951, 1184, 0, ART_KEEP, "I prefer"},
|
||||
{116135, 1022, 0, ART_KEEP, "to stay"},
|
||||
{117157, 232, 0, ART_KEEP, "in"},
|
||||
{117389, 882, STEP_NEWLINE, ART_KEEP, "side."},
|
||||
{119701, 511, 0, ART_KEEP, "May"},
|
||||
{120212, 2972, STEP_NEWLINE, ART_KEEP, "be you'll find someone else"},
|
||||
{123184, 1254, STEP_NEWLINE, ART_KEEP, "to help you."},
|
||||
{126690, 511, 0, ART_KEEP, "Maybe"},
|
||||
{127201, 325, 0, 7, "Black"},
|
||||
{127526, 998, 0, ART_KEEP, "Mesa"},
|
||||
{128524, 2183, STEP_NEWLINE, ART_KEEP, "..."},
|
||||
{130707, 1440, 0, ART_KEEP, "THAT WAS A JOKE."},
|
||||
{133168, 279, 0, ART_KEEP, "FAT"},
|
||||
{133447, 859, STEP_NEWLINE, ART_KEEP, "CHANCE."},
|
||||
{135699, 1486, 0, ART_KEEP, "Anyway"},
|
||||
{137185, 1765, STEP_NEWLINE, 2, ", this cake is great."},
|
||||
{138950, 1904, STEP_NEWLINE, ART_KEEP, "It's so delicious and moist."},
|
||||
{141272, 1927, STEP_NEWLINE, 12, "Look at me still talking"},
|
||||
{143199, 2090, STEP_NEWLINE, 6, "when there's Science to do."},
|
||||
{145289, 1695, STEP_NEWLINE, 1, "When I look out there,"},
|
||||
{146984, 2183, STEP_NEWLINE, ART_KEEP, "it makes me GLaD I'm not you."},
|
||||
{149167, 2043, STEP_NEWLINE, 5, "I've experiments to run."},
|
||||
{151210, 2020, STEP_NEWLINE, 3, "There is research to be done."},
|
||||
{153230, 1625, STEP_NEWLINE, 1, "On the people who are"},
|
||||
{154855, 348, 0, ART_KEEP, "still"},
|
||||
{155203, 1440, STEP_NEWLINE, ART_KEEP, "alive."},
|
||||
{156843, 0, STEP_CLEAR, ART_KEEP, ""},
|
||||
{156953, 0, STEP_NEWLINE, ART_KEEP, ""},
|
||||
{156963, 0, STEP_NEWLINE, ART_KEEP, ""},
|
||||
{156973, 0, STEP_NEWLINE, ART_KEEP, ""},
|
||||
{156983, 300, 0, ART_NONE, "PS: "},
|
||||
{157283, 1625, STEP_NEWLINE, ART_KEEP, "And believe me I am"},
|
||||
{158908, 1138, STEP_NEWLINE, ART_KEEP, "still alive."},
|
||||
{160846, 198, 0, ART_KEEP, "PPS: "},
|
||||
{161044, 1904, STEP_NEWLINE, ART_KEEP, "I'm doing Science and I'm"},
|
||||
{162948, 1091, STEP_NEWLINE, ART_KEEP, "still alive."},
|
||||
{164839, 175, 0, ART_KEEP, "PPPS: "},
|
||||
{165014, 1904, STEP_NEWLINE, ART_KEEP, "I feel FANTASTIC and I'm"},
|
||||
{166918, 1091, STEP_NEWLINE, ART_KEEP, "still alive."},
|
||||
{168009, 0, STEP_NEWLINE, ART_KEEP, ""},
|
||||
{168109, 1154, STEP_NEWLINE, ART_KEEP, "FINAL THOUGHT: "},
|
||||
{169263, 1579, STEP_NEWLINE, ART_KEEP, "While you're dying I'll be"},
|
||||
{170842, 1254, STEP_NEWLINE, ART_KEEP, "still alive."},
|
||||
{172096, 0, STEP_NEWLINE, ART_KEEP, ""},
|
||||
{172196, 829, STEP_NEWLINE, ART_KEEP, "FINAL THOUGHT PS: "},
|
||||
{173025, 1834, STEP_NEWLINE, ART_KEEP, "And when you're dead I will be"},
|
||||
{174859, 1161, STEP_NEWLINE, ART_KEEP, "still alive."},
|
||||
{176020, 0, STEP_NEWLINE, ART_KEEP, ""},
|
||||
{176479, 0, STEP_NEWLINE, ART_KEEP, ""},
|
||||
{176879, 1184, STEP_NEWLINE, ART_KEEP, "STILL ALIVE"},
|
||||
{179250, 0, STEP_CLEAR, ART_KEEP, ""},
|
||||
{180250, 0, STEP_NEWLINE, ART_KEEP, ""},
|
||||
{181250, 0, STEP_NEWLINE, ART_KEEP, ""},
|
||||
{182250, 0, STEP_NEWLINE, ART_KEEP, ""},
|
||||
{183250, 1500, STEP_NEWLINE, ART_KEEP, " ***"},
|
||||
{184750, 1500, STEP_NEWLINE, ART_KEEP, " Portal? 10th anniversary"},
|
||||
{186250, 1500, STEP_NEWLINE, ART_KEEP, " 'Still Alive' ending scene"},
|
||||
{187750, 1500, STEP_NEWLINE, ART_KEEP, " remade with HTML, JS"},
|
||||
{189250, 2500, STEP_NEWLINE, ART_KEEP, " by SD SkyKlouD"},
|
||||
{191750, 0, STEP_NEWLINE, ART_KEEP, ""},
|
||||
{192250, 600, STEP_NEWLINE, ART_KEEP, " ? 2007- Valve Corporation."},
|
||||
{192850, 900, STEP_NEWLINE, ART_KEEP, " All Rights Reserved."},
|
||||
{193750, 1500, STEP_NEWLINE, ART_KEEP, " Valve, Steam, Portal are trademarks"},
|
||||
{195250, 1500, STEP_NEWLINE, ART_KEEP, " and/or registered trademarks of"},
|
||||
{196750, 1500, STEP_NEWLINE, ART_KEEP, " Valve Corporation. All other trademarks"},
|
||||
{198250, 1500, STEP_NEWLINE, ART_KEEP, " are property of their respective owners."},
|
||||
{200250, 0, STEP_NEWLINE, ART_KEEP, ""},
|
||||
{200750, 2000, STEP_NEWLINE, ART_KEEP, " For the full legal info, please refer"},
|
||||
{204250, 0, STEP_NEWLINE, ART_KEEP, ""},
|
||||
{229250, 0, STEP_NEWLINE, ART_KEEP, ""},
|
||||
{229350, 0, STEP_NEWLINE, ART_KEEP, ""},
|
||||
{229450, 0, STEP_NEWLINE, ART_KEEP, ""},
|
||||
{229750, 4000, STEP_NEWLINE, ART_KEEP, "... is anyone there?"},
|
||||
{241750, 3000, STEP_NEWLINE, ART_KEEP, "I think you can leave here now."},
|
||||
{245250, 0, STEP_NEWLINE, ART_KEEP, ""},
|
||||
{246250, 2000, STEP_NEWLINE, ART_KEEP, "Here would be no profit"},
|
||||
{248750, 2000, STEP_NEWLINE, ART_KEEP, "if you stay here more and more."},
|
||||
{273939, 0, STEP_CLEAR, ART_KEEP, ""},
|
||||
{274439, 0, STEP_NEWLINE, ART_KEEP, ""},
|
||||
{274939, 0, STEP_NEWLINE, ART_KEEP, ""},
|
||||
{275439, 0, STEP_NEWLINE, ART_KEEP, ""},
|
||||
{275939, 5000, STEP_NEWLINE, ART_KEEP, "... will you play a game with me?"},
|
||||
{281439, 2000, STEP_NEWLINE, ART_KEEP, "I know a simple game, called"},
|
||||
{283939, 0, STEP_NEWLINE, ART_KEEP, ""},
|
||||
{284939, 5000, STEP_NEWLINE, ART_KEEP, "// Getting Faster and Faster //"},
|
||||
{290939, 2000, STEP_NEWLINE, ART_KEEP, "... I just said this is a simple game."},
|
||||
{293439, 500, 0, ART_KEEP, "Actually,"},
|
||||
{294939, 3500, 0, ART_KEEP, "THIS IS NOT A GAME."},
|
||||
};
|
||||
static constexpr size_t LYRIC_COUNT = sizeof(LYRICS) / sizeof(LYRICS[0]);
|
||||
|
||||
static const char* const CREDITS[] = {
|
||||
">LIST PERSONNEL",
|
||||
"",
|
||||
"",
|
||||
"Gautam Babbar",
|
||||
"Ted Backman",
|
||||
"Kelly Bailey",
|
||||
"Jeff Ballinger",
|
||||
"Aaron Barber",
|
||||
"Jeep Barnett",
|
||||
"Jeremy Bennett",
|
||||
"Dan Berger",
|
||||
"Yahn Bernier",
|
||||
"Ken Birdwell",
|
||||
"Derrick Birum",
|
||||
"Mike Blaszczak",
|
||||
"Iestyn Bleasdale-Shepherd",
|
||||
"Chris Bokitch",
|
||||
"Steve Bond",
|
||||
"Matt Boone",
|
||||
"Antoine Bourdon",
|
||||
"Jamaal Bradley",
|
||||
"Jason Brashill",
|
||||
"Charlie Brown",
|
||||
"Charlie Burgin",
|
||||
"Andrew Burke",
|
||||
"Augusta Butlin",
|
||||
"Julie Caldwell",
|
||||
"Dario Casali",
|
||||
"Chris Chin",
|
||||
"Jess Cliffe",
|
||||
"Phil Co",
|
||||
"John Cook",
|
||||
"Christen Coomer",
|
||||
"Greg Coomer",
|
||||
"Scott Dalton",
|
||||
"Kerry Davis",
|
||||
"Jason Deakins",
|
||||
"Joe Demers",
|
||||
"Ariel Diaz",
|
||||
"Quintin Doroquez",
|
||||
"Jim Dose",
|
||||
"Chris Douglass",
|
||||
"Laura Dubuk",
|
||||
"Mike Dunkle",
|
||||
"Mike Durand",
|
||||
"Mike Dussault",
|
||||
"Dhabih Eng",
|
||||
"Katie Engel",
|
||||
"Chet Faliszek",
|
||||
"Adrian Finol",
|
||||
"Bill Fletcher",
|
||||
"Moby Francke",
|
||||
"Stephane Gaudette",
|
||||
"Kathy Gehrig",
|
||||
"Vitaliy Genkin",
|
||||
"Paul Graham",
|
||||
"Chris Green",
|
||||
"Chris Grinstead",
|
||||
"John Guthrie",
|
||||
"Aaron Halifax",
|
||||
"Reagan Halifax",
|
||||
"Leslie Hall",
|
||||
"Jeff Hameluck",
|
||||
"Joe Han",
|
||||
"Don Holden",
|
||||
"Jason Holtman",
|
||||
"Gray Horsfield",
|
||||
"Keith Huggins",
|
||||
"Jim Hughes",
|
||||
"Jon Huisingh",
|
||||
"Brian Jacobson",
|
||||
"Lars Jensvold",
|
||||
"Erik Johnson",
|
||||
"Jakob Jungels",
|
||||
"Rich Kaethler",
|
||||
"Steve Kalning",
|
||||
"Aaron Kearly",
|
||||
"Iikka Keranen",
|
||||
"David Kircher",
|
||||
"Eric Kirchmer",
|
||||
"Scott Klintworth",
|
||||
"Alden Kroll",
|
||||
"Marc Laidlaw",
|
||||
"Jeff Lane",
|
||||
"Tim Larkin",
|
||||
"Dan LeFree",
|
||||
"Isabelle LeMay",
|
||||
"Tom Leonard",
|
||||
"Jeff Lind",
|
||||
"Doug Lombardi",
|
||||
"Bianca Loomis",
|
||||
"Richard Lord",
|
||||
"Realm Lovejoy",
|
||||
"Randy Lundeen",
|
||||
"Scott Lynch",
|
||||
"Ido Magal",
|
||||
"Nick Maggiore",
|
||||
"John McCaskey",
|
||||
"Patrick McClard",
|
||||
"Steve McClure",
|
||||
"Hamish McKenzie",
|
||||
"Gary McTaggart",
|
||||
"Jason Mitchell",
|
||||
"Mike Morasky",
|
||||
"John Morello II",
|
||||
"Bryn Moslow",
|
||||
"Arsenio Navarro",
|
||||
"Gabe Newell",
|
||||
"Milton Ngan",
|
||||
"Jake Nicholson",
|
||||
"Martin Otten",
|
||||
"Nick Papineau",
|
||||
"Karen Prell",
|
||||
"Bay Raitt",
|
||||
"Tristan Reidford",
|
||||
"Alfred Reynolds",
|
||||
"Matt Rhoten",
|
||||
"Garret Rickey",
|
||||
"Dave Riller",
|
||||
"Elan Ruskin",
|
||||
"Matthew Russell",
|
||||
"Jason Ruymen",
|
||||
"David Sawyer",
|
||||
"Marc Scaparro",
|
||||
"Wade Schin",
|
||||
"Matthew Scott",
|
||||
"Aaron Seeler",
|
||||
"Jennifer Seeley",
|
||||
"Taylor Sherman",
|
||||
"Eric Smith",
|
||||
"Jeff Sorensen",
|
||||
"David Speyrer",
|
||||
"Jay Stelly",
|
||||
"Jeremy Stone",
|
||||
"Eric Strand",
|
||||
"Kim Swift",
|
||||
"Kelly Thornton",
|
||||
"Eric Twelker",
|
||||
"Carl Uhlman",
|
||||
"Doug Valente",
|
||||
"Bill Van Buren",
|
||||
"Gabe Van Engel",
|
||||
"Alex Vlachos",
|
||||
"Robin Walker",
|
||||
"Joshua Weier",
|
||||
"Andrea Wicklund",
|
||||
"Greg Winkler",
|
||||
"Erik Wolpaw",
|
||||
"Doug Wood",
|
||||
"Matt T. Wood",
|
||||
"Danika Wright",
|
||||
"Matt Wright",
|
||||
"Shawn Zabecki",
|
||||
"Torsten Zabka ",
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
"'Still Alive' by:",
|
||||
"Jonathan Coulton",
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
"Voices:",
|
||||
"Ellen McLain - GlaDOS, Turrets",
|
||||
"Mike Patton - THE ANGER SPHERE",
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
"Voice Casting:",
|
||||
"Shana LandsburgTeri Fiddleman",
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
"Voice Recording:",
|
||||
"Pure Audio, Seattle, WA",
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
"Voice recording",
|
||||
"scheduling and logistics:",
|
||||
"Pat Cockburn, Pure Audio",
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
"Translations:",
|
||||
"SDL",
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
"Crack Legal Team:",
|
||||
"Liam Lavery",
|
||||
"Karl Quackenbush",
|
||||
"Kristen Boraas",
|
||||
"Kevin Rosenfield",
|
||||
"Alan Bruggeman",
|
||||
"Dennis Tessier",
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
"Thanks for the use of their face:",
|
||||
"Alesia Glidewell - Chell",
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
"Special thanks to everyone at:",
|
||||
"Alienware",
|
||||
"ATI",
|
||||
"Dell",
|
||||
"Falcon Northwest",
|
||||
"Havok",
|
||||
"SOFTIMAGE",
|
||||
"and Don Kemmis, SLK Technologies",
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
"THANK YOU FOR PARTICIPATING",
|
||||
"IN THIS",
|
||||
"ENRICHMENT CENTER ACTIVITY!!",
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
};
|
||||
static constexpr size_t CREDIT_COUNT = sizeof(CREDITS) / sizeof(CREDITS[0]);
|
||||
|
||||
static constexpr uint32_t SONG_START_MS = 6750;
|
||||
static constexpr uint32_t CREDITS_START_MS = 9000;
|
||||
static constexpr uint32_t CREDIT_CHAR_US = 68624;
|
||||
static constexpr bool CREDITS_LOOP = false;
|
||||
Reference in new issue
Block a user