Introduce basic v1.4.9999 support, will revert to 1763 state in the next commit.

pull/30/head
Die Katze 5 years ago
parent e363b4b6b5
commit c1787fde26

@ -4326,6 +4326,11 @@
<script>scripts\mus_boss_fadein.gml</script>
<script>scripts\set_widescreen.gml</script>
</scripts>
<scripts name="Studio 9999 stubs">
<script>scripts\vib_play_effect.gml</script>
<script>scripts\vib_stop.gml</script>
<script>scripts\scr_font_replace.gml</script>
</scripts>
</scripts>
<shaders name="shaders">
<shader type="GLSLES">shaders\shGameBoy.shader</shader>
@ -5793,7 +5798,7 @@
<room>rooms\rm_gameplay</room>
</rooms>
</rooms>
<constants number="10">
<constants number="11">
<constant name="os_is_native">(os_browser == browser_not_a_browser)</constant>
<constant name="os_is_browser">(os_browser != browser_not_a_browser)</constant>
<constant name="leftUp">19000</constant>
@ -5804,6 +5809,7 @@
<constant name="rightDown">19005</constant>
<constant name="rightLeft">19006</constant>
<constant name="rightRight">19007</constant>
<constant name="IS_9999">true</constant>
</constants>
<help>
<rtf>help.rtf</rtf>

@ -301,6 +301,24 @@
<option_ios_icon_57>Configs\Default\ios\icons\icon57.png</option_ios_icon_57>
<option_ios_icon_72>Configs\Default\ios\icons\icon72.png</option_ios_icon_72>
<option_ios_icon_76>Configs\Default\ios\icons\icon76.png</option_ios_icon_76>
<option_ios_icon_ipad_app_152>Configs\Default\ios\icons\app\ipad_152.png</option_ios_icon_ipad_app_152>
<option_ios_icon_ipad_app_76>Configs\Default\ios\icons\app\ipad_76.png</option_ios_icon_ipad_app_76>
<option_ios_icon_ipad_notification_20>Configs\Default\ios\icons\notification\ipad_20.png</option_ios_icon_ipad_notification_20>
<option_ios_icon_ipad_notification_40>Configs\Default\ios\icons\notification\ipad_40.png</option_ios_icon_ipad_notification_40>
<option_ios_icon_ipad_pro_app_167>Configs\Default\ios\icons\app\ipad_pro_167.png</option_ios_icon_ipad_pro_app_167>
<option_ios_icon_ipad_settings_29>Configs\Default\ios\icons\settings\ipad_29.png</option_ios_icon_ipad_settings_29>
<option_ios_icon_ipad_settings_58>Configs\Default\ios\icons\settings\ipad_58.png</option_ios_icon_ipad_settings_58>
<option_ios_icon_ipad_spotlight_40>Configs\Default\ios\icons\spotlight\ipad_40.png</option_ios_icon_ipad_spotlight_40>
<option_ios_icon_ipad_spotlight_80>Configs\Default\ios\icons\spotlight\ipad_80.png</option_ios_icon_ipad_spotlight_80>
<option_ios_icon_iphone_app_120>Configs\Default\ios\icons\app\iphone_120.png</option_ios_icon_iphone_app_120>
<option_ios_icon_iphone_app_180>Configs\Default\ios\icons\app\iphone_180.png</option_ios_icon_iphone_app_180>
<option_ios_icon_iphone_notification_40>Configs\Default\ios\icons\notification\iphone_40.png</option_ios_icon_iphone_notification_40>
<option_ios_icon_iphone_notification_60>Configs\Default\ios\icons\notification\iphone_60.png</option_ios_icon_iphone_notification_60>
<option_ios_icon_iphone_settings_58>Configs\Default\ios\icons\settings\iphone_58.png</option_ios_icon_iphone_settings_58>
<option_ios_icon_iphone_settings_87>Configs\Default\ios\icons\settings\iphone_87.png</option_ios_icon_iphone_settings_87>
<option_ios_icon_iphone_spotlight_120>Configs\Default\ios\icons\spotlight\iphone_120.png</option_ios_icon_iphone_spotlight_120>
<option_ios_icon_iphone_spotlight_80>Configs\Default\ios\icons\spotlight\iphone_80.png</option_ios_icon_iphone_spotlight_80>
<option_ios_icon_itunes_artwork_1024>Configs\Default\ios\icons\itunes\itunes_1024.png</option_ios_icon_itunes_artwork_1024>
<option_ios_interpolate>-1</option_ios_interpolate>
<option_ios_ipad_retina_splash_png>Configs\Default\ios\iPadRetinasplash.png</option_ios_ipad_retina_splash_png>
<option_ios_ipad_retina_splash_portrait_png>Configs\Default\ios\iPadRetinasplashPortrait.png</option_ios_ipad_retina_splash_portrait_png>
@ -312,10 +330,22 @@
<option_ios_iphone6_splash_portrait_png>Configs\Default\ios\iPhone6splashPortrait.png</option_ios_iphone6_splash_portrait_png>
<option_ios_iphone6plus_splash_png>Configs\Default\ios\iPhone6Plussplash.png</option_ios_iphone6plus_splash_png>
<option_ios_iphone6plus_splash_portrait_png>Configs\Default\ios\iPhone6PlussplashPortrait.png</option_ios_iphone6plus_splash_portrait_png>
<option_ios_iphone7_splash_png>Configs\Default\ios\iPhone7splash.png</option_ios_iphone7_splash_png>
<option_ios_iphone7_splash_portrait_png>Configs\Default\ios\iPhone7splashPortrait.png</option_ios_iphone7_splash_portrait_png>
<option_ios_iphone7plus_splash_png>Configs\Default\ios\iPhone7Plussplash.png</option_ios_iphone7plus_splash_png>
<option_ios_iphone7plus_splash_portrait_png>Configs\Default\ios\iPhone7PlussplashPortrait.png</option_ios_iphone7plus_splash_portrait_png>
<option_ios_iphone8_splash_png>Configs\Default\ios\iPhone8splash.png</option_ios_iphone8_splash_png>
<option_ios_iphone8_splash_portrait_png>Configs\Default\ios\iPhone8splashPortrait.png</option_ios_iphone8_splash_portrait_png>
<option_ios_iphone8plus_splash_png>Configs\Default\ios\iPhone8Plussplash.png</option_ios_iphone8plus_splash_png>
<option_ios_iphone8plus_splash_portrait_png>Configs\Default\ios\iPhone8PlussplashPortrait.png</option_ios_iphone8plus_splash_portrait_png>
<option_ios_iphone_retina_splash_png>Configs\Default\ios\IphoneRetinasplash.png</option_ios_iphone_retina_splash_png>
<option_ios_iphone_retina_splash_portrait_png>Configs\Default\ios\IphoneRetinasplashPortrait.png</option_ios_iphone_retina_splash_portrait_png>
<option_ios_iphone_splash_png>Configs\Default\ios\iPhonesplash.png</option_ios_iphone_splash_png>
<option_ios_iphone_splash_portrait_png>Configs\Default\ios\iPhonesplashPortrait.png</option_ios_iphone_splash_portrait_png>
<option_ios_iphonese_splash_png>Configs\Default\ios\iPhonesesplash.png</option_ios_iphonese_splash_png>
<option_ios_iphonese_splash_portrait_png>Configs\Default\ios\iPhonesesplashPortrait.png</option_ios_iphonese_splash_portrait_png>
<option_ios_iphonex_splash_png>Configs\Default\ios\iPhonexsplash.png</option_ios_iphonex_splash_png>
<option_ios_iphonex_splash_portrait_png>Configs\Default\ios\iPhonexsplashPortrait.png</option_ios_iphonex_splash_portrait_png>
<option_ios_major_version>1</option_ios_major_version>
<option_ios_minor_version>0</option_ios_minor_version>
<option_ios_orient_landscape>-1</option_ios_orient_landscape>

@ -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.

@ -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 &amp;&amp; ((room == rm_options) || (room == rm_controller))) {
if (surface_exists(gui_surface)) {
if (global.ingame &amp;&amp; displaygui &amp;&amp; room != rm_transition &amp;&amp; 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);
//}
}

@ -175,7 +175,7 @@ statetime += 1;
<arguments>
<argument>
<kind>1</kind>
<string>display_set_gui_size(-1,-1);
<string>///Return from the credits.
if (global.creditsmenuopt == 0) {
room_goto(rm_score);
@ -189,7 +189,7 @@ if (global.creditsmenuopt == 0) {
</arguments>
</action>
</event>
<event eventtype="8" enumb="64">
<event eventtype="8" enumb="0">
<action>
<libid>1</libid>
<id>603</id>
@ -206,7 +206,7 @@ if (global.creditsmenuopt == 0) {
<arguments>
<argument>
<kind>1</kind>
<string>display_set_gui_size(320,240);
<string>///Draw the credits text.
draw_set_alpha(image_alpha);
draw_set_font(fontGUI2);
draw_set_color(c_black);

@ -69,7 +69,7 @@ with (oCharacter) {
morphing = 0;
turning = 0;
}
immersion_stop();
vib_stop();
instance_destroy();
</string>
</argument>

@ -69,7 +69,7 @@ with (oCharacter) {
morphing = 0;
turning = 0;
}
immersion_stop();
vib_stop();
instance_destroy();
</string>
</argument>

@ -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);
}
}
}

@ -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);
}

@ -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)) {

@ -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.
}

@ -0,0 +1,7 @@
///vib_stop()
if (IS_9999) {
return false;
}
else {
//return immersion_stop(); // comment this line if on 9999.
}
Loading…
Cancel
Save