diff --git a/AM2R.project.gmx b/AM2R.project.gmx
index 209c908..8a3938f 100644
--- a/AM2R.project.gmx
+++ b/AM2R.project.gmx
@@ -4326,6 +4326,11 @@
+
+
+
+
+
shaders\shGameBoy.shader
@@ -5793,7 +5798,7 @@
rooms\rm_gameplay
-
+
(os_browser == browser_not_a_browser)
(os_browser != browser_not_a_browser)
19000
@@ -5804,6 +5809,7 @@
19005
19006
19007
+ true
help.rtf
diff --git a/Configs/Default.config.gmx b/Configs/Default.config.gmx
index abfaf1e..dd2169c 100644
--- a/Configs/Default.config.gmx
+++ b/Configs/Default.config.gmx
@@ -301,6 +301,24 @@
Configs\Default\ios\icons\icon57.png
Configs\Default\ios\icons\icon72.png
Configs\Default\ios\icons\icon76.png
+ Configs\Default\ios\icons\app\ipad_152.png
+ Configs\Default\ios\icons\app\ipad_76.png
+ Configs\Default\ios\icons\notification\ipad_20.png
+ Configs\Default\ios\icons\notification\ipad_40.png
+ Configs\Default\ios\icons\app\ipad_pro_167.png
+ Configs\Default\ios\icons\settings\ipad_29.png
+ Configs\Default\ios\icons\settings\ipad_58.png
+ Configs\Default\ios\icons\spotlight\ipad_40.png
+ Configs\Default\ios\icons\spotlight\ipad_80.png
+ Configs\Default\ios\icons\app\iphone_120.png
+ Configs\Default\ios\icons\app\iphone_180.png
+ Configs\Default\ios\icons\notification\iphone_40.png
+ Configs\Default\ios\icons\notification\iphone_60.png
+ Configs\Default\ios\icons\settings\iphone_58.png
+ Configs\Default\ios\icons\settings\iphone_87.png
+ Configs\Default\ios\icons\spotlight\iphone_120.png
+ Configs\Default\ios\icons\spotlight\iphone_80.png
+ Configs\Default\ios\icons\itunes\itunes_1024.png
-1
Configs\Default\ios\iPadRetinasplash.png
Configs\Default\ios\iPadRetinasplashPortrait.png
@@ -312,10 +330,22 @@
Configs\Default\ios\iPhone6splashPortrait.png
Configs\Default\ios\iPhone6Plussplash.png
Configs\Default\ios\iPhone6PlussplashPortrait.png
+ Configs\Default\ios\iPhone7splash.png
+ Configs\Default\ios\iPhone7splashPortrait.png
+ Configs\Default\ios\iPhone7Plussplash.png
+ Configs\Default\ios\iPhone7PlussplashPortrait.png
+ Configs\Default\ios\iPhone8splash.png
+ Configs\Default\ios\iPhone8splashPortrait.png
+ Configs\Default\ios\iPhone8Plussplash.png
+ Configs\Default\ios\iPhone8PlussplashPortrait.png
Configs\Default\ios\IphoneRetinasplash.png
Configs\Default\ios\IphoneRetinasplashPortrait.png
Configs\Default\ios\iPhonesplash.png
Configs\Default\ios\iPhonesplashPortrait.png
+ Configs\Default\ios\iPhonesesplash.png
+ Configs\Default\ios\iPhonesesplashPortrait.png
+ Configs\Default\ios\iPhonexsplash.png
+ Configs\Default\ios\iPhonexsplashPortrait.png
1
0
-1
diff --git a/README.md b/README.md
index 3777fbe..163bb9b 100644
--- a/README.md
+++ b/README.md
@@ -39,7 +39,7 @@ Reordering assets created before the Community Updates began can have consequenc
Much of this code is messy, uses unusual solutions, and does not hold to our established formatting style - this is a result of AM2R's reconstruction and nature as a learning project passed down to multiple lead developers.
## Requirements
-[GameMaker: Studio 1.4.1763](https://store.yoyogames.com/downloads/gm-studio/GMStudio-Installer-1.4.1763.exe) - the IDE for editing and compiling this project.
+[GameMaker: Studio 1.4.1763](https://store.yoyogames.com/downloads/gm-studio/GMStudio-Installer-1.4.1763.exe) - the IDE for editing and compiling this project. (more on that below)
[GMXDataSync](https://raw.githubusercontent.com/YAL-GameMaker-Tools/GmxDataSync/master/Executable/GmxDataSync.exe) - a utility created by YellowAfterlife to populate project files with matching game assets.
@@ -51,3 +51,12 @@ This repository, being based on YellowAfterlife's source reconstruction, is inst
Afterwards, replace the two blank shader assets with default GM:S shader skeletons or your own copy of each shader, as well as the accompanying script files for the Retro Palette Swapper: `pal_swap_init_system` and `pal_swap_set`.
Finally, you will need to install `modifiers.ini` as well as the `lang` and `mods` folders as datafiles within the GM:S project. The default ones do not contain the actual assets and are merely references. These can be copied over from your AM2R_15_2 folder.
+
+
+## About GameMaker versions
+This source code was designed to run on GM:S 1.4.1763, however, if you feel a bit experimental (or if you don't want to downgrade), try to do the following:
+
+- Set `IS_9999` macro to `true`.
+- Comment all the lines where IDE is complaining about missing functions.
+- Try running the game.
+- Hope it runs.
diff --git a/objects/oControl.object.gmx b/objects/oControl.object.gmx
index 301d385..51f49e8 100644
--- a/objects/oControl.object.gmx
+++ b/objects/oControl.object.gmx
@@ -286,29 +286,29 @@ subScrItemOffset = 0;
// Replace the default fonts if replacement files exist.
ini_open("lang/fonts/sizes.ini");
-
+if (IS_9999) font_add_enable_aa(false);
if(file_exists("lang/fonts/04b09.ttf")) {
- font_replace(fontGUI, "lang/fonts/04b09.ttf", ini_read_real('Sizes', '04b09_(large)', 16), false, false, 32, 255);
- font_replace(fontSubScr, "lang/fonts/04b09.ttf", ini_read_real('Sizes', '04b09_(small)', 8), false, false, 32, 255);
+ scr_font_replace("fontGUI", "lang/fonts/04b09.ttf", ini_read_real('Sizes', '04b09_(large)', 16), false, false, 32, 255);
+ scr_font_replace("fontSubScr", "lang/fonts/04b09.ttf", ini_read_real('Sizes', '04b09_(small)', 8), false, false, 32, 255);
GUIOffset = ini_read_real('Offsets', '04b09_(large)_offset', 0);
subScrHeaderOffset = ini_read_real('Offsets', '04b09_(small)_offset', 0);
}
if(file_exists("lang/fonts/Acknowledge_TT_BRK.ttf")) {
- font_replace(fontGUI2, "lang/fonts/Acknowledge_TT_BRK.ttf", ini_read_real('Sizes', 'Acknowledge_TT_BRK', 13), false, false, 32, 255);
+ scr_font_replace("fontGUI2", "lang/fonts/Acknowledge_TT_BRK.ttf", ini_read_real('Sizes', 'Acknowledge_TT_BRK', 13), false, false, 32, 255);
}
if(file_exists("lang/fonts/uni_05_53.ttf")) {
- font_replace(fontMenuSmall, "lang/fonts/uni_05_53.ttf", ini_read_real('Sizes', 'uni_05_53', 8), false, false, 32, 255);
+ scr_font_replace("fontMenuSmall", "lang/fonts/uni_05_53.ttf", ini_read_real('Sizes', 'uni_05_53', 8), false, false, 32, 255);
}
if(file_exists("lang/fonts/04b24.ttf")) {
- font_replace(fontMenuTiny, "lang/fonts/04b24.ttf", ini_read_real('Sizes', '04b24', 16), false, false, 32, 255);
+ scr_font_replace("fontMenuTiny", "lang/fonts/04b24.ttf", ini_read_real('Sizes', '04b24', 16), false, false, 32, 255);
subScrItemOffset = ini_read_real('Offsets', '04b24_offset', -6);
}
if(file_exists("lang/fonts/Glasstown_NBP.ttf")) {
- font_replace(fontMenuSmall2, "lang/fonts/Glasstown_NBP.ttf", ini_read_real('Sizes', 'Glasstown_NBP', 16), false, false, 32, 255);
+ scr_font_replace("fontMenuSmall2", "lang/fonts/Glasstown_NBP.ttf", ini_read_real('Sizes', 'Glasstown_NBP', 16), false, false, 32, 255);
}
ini_close();
@@ -370,7 +370,10 @@ pal_swap_init_system(shPaletteSwap);
// I believe this now works for Linux. Perhaps.
global.gamepadIndex = 0;
-
+if (IS_9999) {
+ var pos = application_get_position();
+ display_set_gui_maximise(1, 1, pos[0], pos[1]);
+}
/*if ((os_type == os_android) || (os_type == os_linux)) {
// do nothing
}*/
@@ -1516,11 +1519,17 @@ if (widescreen && ((room == rm_options) || (room == rm_controller))) {
if (surface_exists(gui_surface)) {
if (global.ingame && displaygui && room != rm_transition && instance_exists(oCharacter)) {
var d = application_get_position();
+ var dx = 0;
+ var dy = 0;
+ if (!IS_9999) {
+ dx = d[0];
+ dy = d[1];
+ }
//draw_surface_ext(gui_surface, displayx - d[0], displayy - d[1], display_scale, display_scale, 0, -1, 1);
/*if (!global.opfullscreen) {
draw_surface_ext(gui_surface, ((displayx - d[0])*abs(widescreen-1)) - floor((widescreen_space/2)*display_scale), displayy - d[1], display_scale, display_scale, 0, -1, 1);
} else {*/
- draw_surface_ext(gui_surface, (displayx - d[0]), displayy - d[1], display_scale, display_scale, 0, -1, 1);
+ draw_surface_ext(gui_surface, (displayx - dx), displayy - dy, display_scale, display_scale, 0, -1, 1);
//}
}
diff --git a/objects/oCreditsText.object.gmx b/objects/oCreditsText.object.gmx
index fcb6863..1e87df0 100644
--- a/objects/oCreditsText.object.gmx
+++ b/objects/oCreditsText.object.gmx
@@ -175,7 +175,7 @@ statetime += 1;
1
- display_set_gui_size(-1,-1);
+ ///Return from the credits.
if (global.creditsmenuopt == 0) {
room_goto(rm_score);
@@ -189,7 +189,7 @@ if (global.creditsmenuopt == 0) {
-
+
1
603
@@ -206,7 +206,7 @@ if (global.creditsmenuopt == 0) {
1
- display_set_gui_size(320,240);
+ ///Draw the credits text.
draw_set_alpha(image_alpha);
draw_set_font(fontGUI2);
draw_set_color(c_black);
diff --git a/objects/oDrillSeq1.object.gmx b/objects/oDrillSeq1.object.gmx
index 5a3b5f2..767c6ea 100644
--- a/objects/oDrillSeq1.object.gmx
+++ b/objects/oDrillSeq1.object.gmx
@@ -69,7 +69,7 @@ with (oCharacter) {
morphing = 0;
turning = 0;
}
-immersion_stop();
+vib_stop();
instance_destroy();
diff --git a/objects/oDrillSeq2.object.gmx b/objects/oDrillSeq2.object.gmx
index 54104ac..0febe59 100644
--- a/objects/oDrillSeq2.object.gmx
+++ b/objects/oDrillSeq2.object.gmx
@@ -69,7 +69,7 @@ with (oCharacter) {
morphing = 0;
turning = 0;
}
-immersion_stop();
+vib_stop();
instance_destroy();
diff --git a/scripts/ctrl_vibrate.gml b/scripts/ctrl_vibrate.gml
index 7a1ea0d..610aa13 100644
--- a/scripts/ctrl_vibrate.gml
+++ b/scripts/ctrl_vibrate.gml
@@ -9,11 +9,11 @@ if (global.opxjoyvib && (!instance_exists(oBigQuake)) && (!instance_exists(oBigQ
}
else {
if(floor(argument2) == 10) {
- immersion_play_effect(6);
+ vib_play_effect(6);
} else if(floor(argument2) == 15) {
- immersion_play_effect(15);
+ vib_play_effect(15);
} else if(floor(argument2) == 20) {
- immersion_play_effect(82);
+ vib_play_effect(82);
}
}
}
diff --git a/scripts/scr_font_replace.gml b/scripts/scr_font_replace.gml
new file mode 100644
index 0000000..d148cec
--- /dev/null
+++ b/scripts/scr_font_replace.gml
@@ -0,0 +1,22 @@
+///scr_font_replace(variableName, name, size, bold, italic, first, last)
+if (IS_9999) {
+ var reducedsize = ceil(argument2 - ((25 / 100) * argument2));
+ // comment the line below if on 1763.
+ variable_global_set(argument0, font_add(argument1, reducedsize, argument3, argument4, argument5, argument6));
+}
+else {
+ // 1.4.1763 doesn't have variable_* functions afaik... I am sorry.
+ var fontindex = -1;
+ switch (argument0) {
+ case "fontGUI": fontindex = fontGUI; break;
+ case "fontGUI2": fontindex = fontGUI2; break;
+ case "fontMenuSmall": fontindex = fontMenuSmall; break;
+ case "fontMenuTiny": fontindex = fontMenuTiny; break;
+ case "fontMenuSmall2": fontindex = fontMenuSmall2; break;
+ case "fontSubScr": fontindex = fontSubScr; break;
+ default: show_error("Invalid variable name.", true);
+ }
+
+ // comment the line below if on 9999.
+ //font_replace(fontindex, argument1, argument2, argument3, argument4, argument5, argument6);
+}
diff --git a/scripts/touch_keys.gml b/scripts/touch_keys.gml
index 23a8b00..cc6de1c 100644
--- a/scripts/touch_keys.gml
+++ b/scripts/touch_keys.gml
@@ -19,33 +19,33 @@ walk_zone = 0;
// Haptic Effects
if(global.opxjoyvib && instance_exists(oBigQuake) && global.ingame) {
if(floor(oBigQuake.statetime) == 575) {
- immersion_play_effect(34);
+ vib_play_effect(34);
}
if ((oBigQuake.statetime > 640) && (oBigQuake.statetime < 1150)) {
- immersion_play_effect(28);
+ vib_play_effect(28);
}
else if(floor(oBigQuake.statetime) == 1150){
- immersion_stop();
- immersion_play_effect(41);
+ vib_stop();
+ vib_play_effect(41);
}
}
if(global.opxjoyvib && instance_exists(oBigQuakeQueen) && global.ingame) {
if(floor(oBigQuakeQueen.statetime) == 75) {
- immersion_play_effect(33);
+ vib_play_effect(33);
}
else if ((oBigQuakeQueen.statetime > 140) && (oBigQuakeQueen.statetime < 575)) {
- immersion_play_effect(27);
+ vib_play_effect(27);
}
else if(floor(oBigQuakeQueen.statetime) == 575){
- immersion_stop();
- immersion_play_effect(40);
+ vib_stop();
+ vib_play_effect(40);
}
}
if(global.opxjoyvib && sfx_isplaying(sndDrillLoop) && global.ingame) {
- immersion_play_effect(111);
+ vib_play_effect(111);
}
if(!global.ingame || room == rm_transition) {
- immersion_stop();
+ vib_stop();
}
// Touch
if(instance_exists(oTouchControls) && (global.joydetected == 0 || global.ingame == false)) {
diff --git a/scripts/vib_play_effect.gml b/scripts/vib_play_effect.gml
new file mode 100644
index 0000000..b01515a
--- /dev/null
+++ b/scripts/vib_play_effect.gml
@@ -0,0 +1,7 @@
+///vib_play_effect(effectId)
+if (IS_9999) {
+ return false;
+}
+else {
+ //return immersion_play_effect(argument0); // comment the line if on 9999.
+}
diff --git a/scripts/vib_stop.gml b/scripts/vib_stop.gml
new file mode 100644
index 0000000..ac5e6dd
--- /dev/null
+++ b/scripts/vib_stop.gml
@@ -0,0 +1,7 @@
+///vib_stop()
+if (IS_9999) {
+ return false;
+}
+else {
+ //return immersion_stop(); // comment this line if on 9999.
+}