@ -25,13 +25,98 @@
<arguments>
<argument>
<kind>1</kind>
<string>if(global.saxmode) room_goto(rm_score);
text = "Another " + global.monsterStr + " 2 Remake# # # # # # # # # # # #Producer#Milton 'DoctorM64' Guasti# #Graphic Design#Ramiro Negri#Steve 'Sabre230' Rothlisberger#Jack Witty#Kirill '1Eni1' Fevralev#Jasper#MichaelGabrielR# #Promo Art#Azima 'Zim' Khan# #Writing#James 'Ridley' Hobbs#Paulo 'Latinlingo' Villalobos# #Platform Engine Code#Martin Piecyk# #Music Composition#Milton 'DoctorM64' Guasti#Darren Kerwin#Torbjørn 'Falcool' Brandrud# #Debug#Hemse#Dragondarch#Esteban 'DruidVorse' Criado#Verneri 'Naatiska' Viljanen# #Playtest#Jennifer Potter#Mario Crestanello#Live4Truths#Torbjørn 'Falcool' Brandrud#Lise Trehjørningen#Nommiin#Gabriel Kaplan#Nicolas 'Skol' Del Negro#Darren Kerwin#Robert Sephazon# #Community Management#Dragonheart91#Ammypendent#Karrde# #Special Thanks#Nommiin#Nathan 'wickedclown' Hess#Tyler Rogers#Kousoru#Infinity's End#CapCom#Isabelle Amponin#The " + global.monsterStr + " Community# # # # # #Source Code Reconstruction#YellowAfterlife# # #Continued Revisions# #Lead - Former#Gatordile#Alex 'Wanderer' Mack# #Lead#Lojemiru# #Development#Craig Kostelecky#" + global.monsterStr + "3D# #Art Lead#Dannon 'Shmegleskimo' Yates# #Art#ShirtyScarab#Cooper Garvin#Chris 'Messianic' Oliveira#ChloePlz# #Special Thanks#Banjo, Grom PE,#King Bore, Jean-Samuel Pelletier,#Reaku The Crate, Scooterboot, #Sylandro, TheKhaosDemon, #Unknown, Iwantdevil, #PixHammer, CaptGlitch,#Nokbient, EODTex,#Electrix, gponys,#Japanese Community# # # # # #Original " + global.monsterStr + " II Staff# #Producer#Gunpei Yokoi# #Director#Hiroji Kiyotake, Hiroyuki Kimura# #Main Programmer#Takahiro Harada# #Programmer#Masaru Yamanaka, Masao Yamamoto,#Isao Hirano# #Graphic Designer#Hiroji Kiyotake, Hiroyuki Kimura# #Program Assistant#Yuzuru Ogawa, Nobuhiro Ozaki# #Sound Programmer#Ryohji Yoshitomi# #Designer#Makoto Kanoh, Masafumi Sakashita,#Tomoyoshi Yamane, Takehiko Hosokawa,#Yasuo Inoue# #Debug#Masaru Okadaga, Kenji Nishizawa,#Hirofumi Matsuoka, Tohru Ohsawa,#Kohta Fukui, Keisuke Terasaki,#Kenichi Sugino, Hitoshi Yamagami,#Katsuya Yamaoe, Yuji Hori# #Co-op Mod#milesthenerd#xzackly7# # # # # # # # #In Memory of Satoru Iwata";
<string>/*
FORMATTING KEY:
; = linebreak marker (NOT # because we want to handle it manually and insert them later)
= = split into left/right strings here
/ = centered name
* = centered header (gets custom display color)
*/
// Refer to key above
text = "*Another " + global.monsterStr + " 2 Remake;;;;;;;;;;;;*Producer;/Milton 'DoctorM64' Guasti;;*Graphic Design;Ramiro Negri=MichaelGabrielR;Jasper=Jack Witty;/Steve 'Sabre230' Rothlisberger;/Kirill '1Eni1' Fevralev;;*Promo Art;/Azima 'Zim' Khan;;*Writing;/James 'Ridley' Hobbs;/Paulo 'Latinlingo' Villalobos;;*Platform Engine Code;/Martin Piecyk;;*Music Composition;/Milton 'DoctorM64' Guasti;/Darren Kerwin;/Torbjørn 'Falcool' Brandrud;;*Debug;Dragondarch=Hemse;/Esteban 'DruidVorse' Criado;/Verneri 'Naatiska' Viljanen;;*Playtesting;Jennifer Potter=Mario Crestanello;Live4Truths=Nommiin;/Torbjørn 'Falcool' Brandrud;/Nicolas 'Skol' Del Negro;Lise Trehjørningen=Gabriel Kaplan;Darren Kerwin=Robert Sephazon;;*Community Management;Dragonheart91=Ammypendent;/Karrde;;*Special Thanks;Nommiin=Tyler Rogers;Kousoru=Infinity's End;Isabelle Amponin=CapCom;/Nathan 'wickedclown' Hess;/The " + global.monsterStr + " Community;;;;*Source Code Reconstruction;/YellowAfterlife;;;;*Continued Revisions;;*Development;Gatordile=Lojemiru;/Alex 'Wanderer' Mack;;*Programming;" + global.monsterStr + "3D=Scooterboot;/Craig Kostelecky;;*Art Lead;/Dannon 'Shmegleskimo' Yates;;*Art;ShirtyScarab=Cooper Garvin;/Chris 'Messianic' Oliveira;/ChloePlz;;*Debug;Miepee=EODTex;/Esteban 'DruidVorse' Criado;/Verneri 'Naatiska' Viljanen;/Electrix;;*Localization;Imsu=Diegomg;m3Zz=LPCaiser;Miepee=unknown;fedprod=ReNext;LetsPlayNintendoITA=SadNES cITy e Vecna;Atver=Gponys;DarkEspeon=Vectrex28;R3VOWOOD=Ritinha;LiveLM=pMega0n;peachflavored=Katherine_S2003;PanHooHa=realgard;Mister Bond=joe_urahara;RippeR1692=LudvigNG;/Andréas;;*Special Thanks;Banjo=King Bore;Reaku the Crate=Grom PE;Sylandro=TheKhaosDemon;Iwantdevil=PixHammer;GaptGlitch=Nokbient;Nanassshy=kitronmacaron;/Jean-Samuel Pelletier;/Japanese Community;;;;*Original " + global.monsterStr + " II Staff;;*Producer;/Gunpei Yokoi;;*Director;Hiroji Kiyotake=Hiroyuki Kimura;;*Main Programmer;/Takahiro Harada;;*Programmer;Masaru Yamanaka=Masao Yamamoto;/Isao Hirano;;*Graphic Designer;Hiroji Kiyotake=Hiroyuki Kimura;;*Program Assistant;Yuzuru Ogawa=Nobuhiro Ozaki;;*Sound Programmer;/Ryohji Yoshitomi;;*Designer;Makoto Kanoh=Masafumi Sakashita;Tomoyoshi Yamane=Takehiko Hosokawa;/Yasuo Inoue;;*Debug;Masaru Okadaga=Kenji Nishizawa;Hirofumi Matsuoka=Tohru Ohsawa;Kohta Fukui=Keisuke Terasaki;Kenichi Sugino=Hitoshi Yamagami;Katsuya Yamaoe=Yuji Hori;;;;;;;;;;/In Memory of Satoru Iwata;";
// Constants
TEXT_ROWS = string_count(";", text);
X_POS = room_width / 2;
WIDE_SPACE = oControl.widescreen_space / 2;
// Calculate scroll speed based on line count.
SCROLL_SPEED = (TEXT_ROWS * -0.27) / 120;
// Vars
var arrayIndex = 0;
var subStr = "";
var line = 0;
// Generate blank space in 2D array...
for (var i = 0; i < TEXT_ROWS; i++) {
for (var j = 0; j < 4; j++) {
textArray[i, j] = "";
}
}
var strLength = string_length(text)
// Parse text
for (var i = 1; i <= strLength; i++) {
// Get next char
var nextChar = string_char_at(text, i);
// Parsing - refer to key above
if (nextChar == "=") { // Split
// Store subStr as left (technically anything but left is what it /should/ be)
textArray[line, arrayIndex] = subStr;
// Reset subStr
subStr = "";
// Set next index to right
arrayIndex = 1;
}
else if (nextChar == ";") { // Linebreak
// Store subStr to index
textArray[line, arrayIndex] = subStr;
// Reset subStr/index
subStr = "";
arrayIndex = 0;
// Drop to next line
line++;
}
else if (nextChar == "/") { // Centered
// Set index to center
arrayIndex = 2;
}
else if (nextChar == "*") { // Centered header
// Set index to header
arrayIndex = 3;
}
else {
// Add current char to subStr
subStr += nextChar;
}
}
// Create text strings
textLeft = "";
textRight = "";
textCenter = "";
textHeader = "";
// Compile arrays into their respective strings; add newlines
for (var i = 0; i < TEXT_ROWS; i++) {
textLeft += textArray[i, 0] + "#";
textRight += textArray[i, 1] + "#";
textCenter += textArray[i, 2] + "#";
textHeader += textArray[i, 3] + "#";
}
yoffset = 0;
fadeout = 0;
canfadeout = 0;
//canfadeout = 1; //remove this!
alarm[0] = 1;
image_alpha = 0;
if (global.creditsmenuopt == 1) {
@ -44,10 +129,6 @@ if (global.creditsmenuopt == 1) {
}
if (os_type == os_android) os_powersave_enable(false);
widespace = oControl.widescreen*53;
if(audio_is_playing(oMusicV2.currentbgm)) audio_stop_sound(oMusicV2.currentbgm);
</string>
</argument>
</arguments>
@ -142,22 +223,31 @@ if(audio_is_playing(oMusicV2.currentbgm)) audio_stop_sound(oMusicV2.currentbgm);
<arguments>
<argument>
<kind>1</kind>
<string>if (canfadeout && (oControl.kMenu1 || oControl.kMenu2 || oControl.kStart)) fadeout = 1;
<string>// User fadeout input
if (canfadeout && (oControl.kMenu1 || oControl.kMenu2 || oControl.kStart)) fadeout = 1;
// Fadeout routine
if (fadeout) {
if (yoffset > 0) {
yoffset -= 1;
} else event_user(0);
}
// Credits cutscene animation
if (statetime == 360) instance_create(192, 88, oCreditsShip);
// Fade in
if (statetime > 520) {
if (image_alpha < 1) image_alpha += 0.05;
}
//This dictates the credit scrolling speed
if (statetime == 700) vspeed = -0.34;
statetime += 1;
// This dictates the credit scrolling speed
if (statetime == 700) vspeed = SCROLL_SPEED; // -0.34;
if(audio_is_playing(oMusicV2.currentbgm)) audio_stop_sound(oMusicV2.currentbgm);
// This stops the credits on the final line
if (y <= ystart + 8 - (TEXT_ROWS * 12)) vspeed = 0;
statetime++;
</string>
</argument>
</arguments>
@ -180,7 +270,9 @@ if(audio_is_playing(oMusicV2.currentbgm)) audio_stop_sound(oMusicV2.currentbgm);
<arguments>
<argument>
<kind>1</kind>
<string>display_set_gui_size(-1,-1);
<string>/// Reset GUI, determine exit condition
display_set_gui_size(-1,-1);
if (global.creditsmenuopt == 0) {
room_goto(rm_score);
@ -211,31 +303,31 @@ if (global.creditsmenuopt == 0) {
<arguments>
<argument>
<kind>1</kind>
<string>display_set_gui_size(320,240);
<string>// Setup
display_set_gui_size(320, 240);
draw_set_alpha(image_alpha);
draw_set_font(fontGUI2);
draw_set_color(c_black);
draw_text(x + 1 - widespace, y + 17, text);
draw_set_color(c_white);
draw_text(x - widespace, y + 16, text);
draw_set_alpha(1);
draw_set_color(c_black);
draw_rectangle(0 - widespace, 0, 330 + widespace, 120 - yoffset, false);
draw_rectangle(0 - widespace, 120 + yoffset, 330 + widespace, 250, false);
// Left
draw_set_halign(fa_right);
draw_cool_text(X_POS - 12, y + 17, textLeft, c_black, c_white, c_white, 1);
/* //Old code in draw event
// Right
draw_set_halign(fa_left);
draw_cool_text(X_POS + 12, y + 17, textRight, c_black, c_white, c_white, 1);
draw_set_alpha(image_alpha);
draw_set_font(fontGUI2);
draw_set_color(c_black);
draw_text(round(x + 1), round(y + 17), text);
draw_set_color(c_white);
draw_text(round(x), round(y + 16), text);
// Center
draw_set_halign(fa_center);
draw_cool_text(X_POS, y + 17, textCenter, c_black, c_white, c_white, 1);
// Header
draw_cool_text(X_POS, y + 17, textHeader, c_black, c_dkgray, c_gray, 1);
// Draw black bars
draw_set_alpha(1);
draw_set_color(c_black);
draw_rectangle(0, 0, 330, 120 - yoffset, false);
draw_rectangle(0, 120 + yoffset, 330, 250, false);
draw_rectangle(0 - WIDE_SPACE , 0, 330 + WIDE_SPACE , 120 - yoffset, false);
draw_rectangle(0 - WIDE_SPACE , 120 + yoffset, 330 + WIDE_SPACE , 250, false);
</string>
</argument>
</arguments>