From ce166c94921d88860c48b1d6b6c333a4ca4bee22 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=B3=96=E8=90=8C=E8=8A=A6?= Date: Sat, 30 Mar 2019 22:09:19 +0800 Subject: [PATCH 01/10] Update + Functions for customizable mercy menu. --- objects/battle/Create_0.gml | 5 ++ .../Battle_GetMenuChoiceMercyOverride.gml | 1 + .../Battle_GetMenuChoiceMercyOverride.yy | 8 +++ .../Battle_GetMenuChoiceMercyOverrideName.gml | 8 +++ .../Battle_GetMenuChoiceMercyOverrideName.yy | 8 +++ ...attle_GetMenuChoiceMercyOverrideNumber.gml | 1 + ...Battle_GetMenuChoiceMercyOverrideNumber.yy | 8 +++ .../Battle_SetMenuChoiceMercyOverride.gml | 6 ++ .../Battle_SetMenuChoiceMercyOverride.yy | 8 +++ .../Battle_SetMenuChoiceMercyOverrideName.gml | 11 ++++ .../Battle_SetMenuChoiceMercyOverrideName.yy | 8 +++ ...attle_SetMenuChoiceMercyOverrideNumber.gml | 9 +++ ...Battle_SetMenuChoiceMercyOverrideNumber.yy | 8 +++ undertale_engine.yyp | 58 ++++++++++++++++++- views/eeabcff6-c88b-41ce-9950-95f43cd8ae17.yy | 10 +++- 15 files changed, 153 insertions(+), 4 deletions(-) create mode 100644 scripts/Battle_GetMenuChoiceMercyOverride/Battle_GetMenuChoiceMercyOverride.gml create mode 100644 scripts/Battle_GetMenuChoiceMercyOverride/Battle_GetMenuChoiceMercyOverride.yy create mode 100644 scripts/Battle_GetMenuChoiceMercyOverrideName/Battle_GetMenuChoiceMercyOverrideName.gml create mode 100644 scripts/Battle_GetMenuChoiceMercyOverrideName/Battle_GetMenuChoiceMercyOverrideName.yy create mode 100644 scripts/Battle_GetMenuChoiceMercyOverrideNumber/Battle_GetMenuChoiceMercyOverrideNumber.gml create mode 100644 scripts/Battle_GetMenuChoiceMercyOverrideNumber/Battle_GetMenuChoiceMercyOverrideNumber.yy create mode 100644 scripts/Battle_SetMenuChoiceMercyOverride/Battle_SetMenuChoiceMercyOverride.gml create mode 100644 scripts/Battle_SetMenuChoiceMercyOverride/Battle_SetMenuChoiceMercyOverride.yy create mode 100644 scripts/Battle_SetMenuChoiceMercyOverrideName/Battle_SetMenuChoiceMercyOverrideName.gml create mode 100644 scripts/Battle_SetMenuChoiceMercyOverrideName/Battle_SetMenuChoiceMercyOverrideName.yy create mode 100644 scripts/Battle_SetMenuChoiceMercyOverrideNumber/Battle_SetMenuChoiceMercyOverrideNumber.gml create mode 100644 scripts/Battle_SetMenuChoiceMercyOverrideNumber/Battle_SetMenuChoiceMercyOverrideNumber.yy diff --git a/objects/battle/Create_0.gml b/objects/battle/Create_0.gml index 9b2ab94b..2fdfa1cc 100644 --- a/objects/battle/Create_0.gml +++ b/objects/battle/Create_0.gml @@ -60,6 +60,11 @@ _menu_choice_action=0; _menu_choice_item=0; _menu_choice_item_first=0; _menu_choice_mercy=0; +_menu_choice_mercy_override=false; +_menu_choice_mercy_override_number=1; +_menu_choice_mercy_override_name[0]=""; +_menu_choice_mercy_override_name[1]=""; +_menu_choice_mercy_override_name[2]=""; _menu_fleeable=false; _menu_flee_enabled=Encounter_IsMenuFleeEnabled(ENCOUNTER); _menu_dialog=Encounter_GetMenuDialog(ENCOUNTER); diff --git a/scripts/Battle_GetMenuChoiceMercyOverride/Battle_GetMenuChoiceMercyOverride.gml b/scripts/Battle_GetMenuChoiceMercyOverride/Battle_GetMenuChoiceMercyOverride.gml new file mode 100644 index 00000000..75663dac --- /dev/null +++ b/scripts/Battle_GetMenuChoiceMercyOverride/Battle_GetMenuChoiceMercyOverride.gml @@ -0,0 +1 @@ +return battle._menu_choice_mercy_override; \ No newline at end of file diff --git a/scripts/Battle_GetMenuChoiceMercyOverride/Battle_GetMenuChoiceMercyOverride.yy b/scripts/Battle_GetMenuChoiceMercyOverride/Battle_GetMenuChoiceMercyOverride.yy new file mode 100644 index 00000000..799b7873 --- /dev/null +++ b/scripts/Battle_GetMenuChoiceMercyOverride/Battle_GetMenuChoiceMercyOverride.yy @@ -0,0 +1,8 @@ +{ + "id": "3065732a-a1ae-4c2b-b562-13c97ceb40e3", + "modelName": "GMScript", + "mvc": "1.0", + "name": "Battle_GetMenuChoiceMercyOverride", + "IsCompatibility": false, + "IsDnD": false +} \ No newline at end of file diff --git a/scripts/Battle_GetMenuChoiceMercyOverrideName/Battle_GetMenuChoiceMercyOverrideName.gml b/scripts/Battle_GetMenuChoiceMercyOverrideName/Battle_GetMenuChoiceMercyOverrideName.gml new file mode 100644 index 00000000..05f1c02d --- /dev/null +++ b/scripts/Battle_GetMenuChoiceMercyOverrideName/Battle_GetMenuChoiceMercyOverrideName.gml @@ -0,0 +1,8 @@ +///@arg choice_mercy_slot +var SLOT=argument[0]; + +if(SLOT>=0&&SLOT<=2){ + return battle._menu_choice_mercy_override_name[SLOT]; +}else{ + return ""; +} \ No newline at end of file diff --git a/scripts/Battle_GetMenuChoiceMercyOverrideName/Battle_GetMenuChoiceMercyOverrideName.yy b/scripts/Battle_GetMenuChoiceMercyOverrideName/Battle_GetMenuChoiceMercyOverrideName.yy new file mode 100644 index 00000000..cdc1cdf6 --- /dev/null +++ b/scripts/Battle_GetMenuChoiceMercyOverrideName/Battle_GetMenuChoiceMercyOverrideName.yy @@ -0,0 +1,8 @@ +{ + "id": "2043a6a6-887d-49ae-9fcd-cdb524fa33c8", + "modelName": "GMScript", + "mvc": "1.0", + "name": "Battle_GetMenuChoiceMercyOverrideName", + "IsCompatibility": false, + "IsDnD": false +} \ No newline at end of file diff --git a/scripts/Battle_GetMenuChoiceMercyOverrideNumber/Battle_GetMenuChoiceMercyOverrideNumber.gml b/scripts/Battle_GetMenuChoiceMercyOverrideNumber/Battle_GetMenuChoiceMercyOverrideNumber.gml new file mode 100644 index 00000000..5cd7687a --- /dev/null +++ b/scripts/Battle_GetMenuChoiceMercyOverrideNumber/Battle_GetMenuChoiceMercyOverrideNumber.gml @@ -0,0 +1 @@ +return battle._menu_choice_mercy_override_number; \ No newline at end of file diff --git a/scripts/Battle_GetMenuChoiceMercyOverrideNumber/Battle_GetMenuChoiceMercyOverrideNumber.yy b/scripts/Battle_GetMenuChoiceMercyOverrideNumber/Battle_GetMenuChoiceMercyOverrideNumber.yy new file mode 100644 index 00000000..145809b4 --- /dev/null +++ b/scripts/Battle_GetMenuChoiceMercyOverrideNumber/Battle_GetMenuChoiceMercyOverrideNumber.yy @@ -0,0 +1,8 @@ +{ + "id": "d82c8aaa-e719-43af-876a-7c064c449b89", + "modelName": "GMScript", + "mvc": "1.0", + "name": "Battle_GetMenuChoiceMercyOverrideNumber", + "IsCompatibility": false, + "IsDnD": false +} \ No newline at end of file diff --git a/scripts/Battle_SetMenuChoiceMercyOverride/Battle_SetMenuChoiceMercyOverride.gml b/scripts/Battle_SetMenuChoiceMercyOverride/Battle_SetMenuChoiceMercyOverride.gml new file mode 100644 index 00000000..ccf00ee4 --- /dev/null +++ b/scripts/Battle_SetMenuChoiceMercyOverride/Battle_SetMenuChoiceMercyOverride.gml @@ -0,0 +1,6 @@ +///@arg override +var OVERRIDE=argument[0]; + +battle._menu_choice_mercy_override=OVERRIDE; + +return true; \ No newline at end of file diff --git a/scripts/Battle_SetMenuChoiceMercyOverride/Battle_SetMenuChoiceMercyOverride.yy b/scripts/Battle_SetMenuChoiceMercyOverride/Battle_SetMenuChoiceMercyOverride.yy new file mode 100644 index 00000000..f52a324a --- /dev/null +++ b/scripts/Battle_SetMenuChoiceMercyOverride/Battle_SetMenuChoiceMercyOverride.yy @@ -0,0 +1,8 @@ +{ + "id": "1fbd2387-a3e9-4045-b2d6-1f8fccbe24b5", + "modelName": "GMScript", + "mvc": "1.0", + "name": "Battle_SetMenuChoiceMercyOverride", + "IsCompatibility": false, + "IsDnD": false +} \ No newline at end of file diff --git a/scripts/Battle_SetMenuChoiceMercyOverrideName/Battle_SetMenuChoiceMercyOverrideName.gml b/scripts/Battle_SetMenuChoiceMercyOverrideName/Battle_SetMenuChoiceMercyOverrideName.gml new file mode 100644 index 00000000..dcb4036f --- /dev/null +++ b/scripts/Battle_SetMenuChoiceMercyOverrideName/Battle_SetMenuChoiceMercyOverrideName.gml @@ -0,0 +1,11 @@ +///@arg choice_mercy_slot +///@arg name +var SLOT=argument[0]; +var NAME=argument[1]; + +if(SLOT>=0&&SLOT<=2){ + battle._menu_choice_mercy_override_name[SLOT]=NAME; + return true; +}else{ + return false; +} \ No newline at end of file diff --git a/scripts/Battle_SetMenuChoiceMercyOverrideName/Battle_SetMenuChoiceMercyOverrideName.yy b/scripts/Battle_SetMenuChoiceMercyOverrideName/Battle_SetMenuChoiceMercyOverrideName.yy new file mode 100644 index 00000000..e8f205f7 --- /dev/null +++ b/scripts/Battle_SetMenuChoiceMercyOverrideName/Battle_SetMenuChoiceMercyOverrideName.yy @@ -0,0 +1,8 @@ +{ + "id": "8e8dfeff-73f5-4bca-8f45-10925abff500", + "modelName": "GMScript", + "mvc": "1.0", + "name": "Battle_SetMenuChoiceMercyOverrideName", + "IsCompatibility": false, + "IsDnD": false +} \ No newline at end of file diff --git a/scripts/Battle_SetMenuChoiceMercyOverrideNumber/Battle_SetMenuChoiceMercyOverrideNumber.gml b/scripts/Battle_SetMenuChoiceMercyOverrideNumber/Battle_SetMenuChoiceMercyOverrideNumber.gml new file mode 100644 index 00000000..c818c22d --- /dev/null +++ b/scripts/Battle_SetMenuChoiceMercyOverrideNumber/Battle_SetMenuChoiceMercyOverrideNumber.gml @@ -0,0 +1,9 @@ +///@arg number +var NUMBER=argument[0]; + +if(NUMBER>=1&&NUMBER<=3){ + battle._menu_choice_mercy_override_number=NUMBER; + return true; +}else{ + return false; +} \ No newline at end of file diff --git a/scripts/Battle_SetMenuChoiceMercyOverrideNumber/Battle_SetMenuChoiceMercyOverrideNumber.yy b/scripts/Battle_SetMenuChoiceMercyOverrideNumber/Battle_SetMenuChoiceMercyOverrideNumber.yy new file mode 100644 index 00000000..538d5e3a --- /dev/null +++ b/scripts/Battle_SetMenuChoiceMercyOverrideNumber/Battle_SetMenuChoiceMercyOverrideNumber.yy @@ -0,0 +1,8 @@ +{ + "id": "adb3c320-157f-4b8f-8e2f-6f280778ac2a", + "modelName": "GMScript", + "mvc": "1.0", + "name": "Battle_SetMenuChoiceMercyOverrideNumber", + "IsCompatibility": false, + "IsDnD": false +} \ No newline at end of file diff --git a/undertale_engine.yyp b/undertale_engine.yyp index 40a7a963..5061393d 100644 --- a/undertale_engine.yyp +++ b/undertale_engine.yyp @@ -678,6 +678,22 @@ "resourceType": "GMScript" } }, + { + "Key": "1fbd2387-a3e9-4045-b2d6-1f8fccbe24b5", + "Value": { + "id": "ddef8051-86cd-4af5-b5d3-4cd29d32add5", + "resourcePath": "scripts\\Battle_SetMenuChoiceMercyOverride\\Battle_SetMenuChoiceMercyOverride.yy", + "resourceType": "GMScript" + } + }, + { + "Key": "2043a6a6-887d-49ae-9fcd-cdb524fa33c8", + "Value": { + "id": "7b060323-b99b-4c2f-808d-c5a42ad9220b", + "resourcePath": "scripts\\Battle_GetMenuChoiceMercyOverrideName\\Battle_GetMenuChoiceMercyOverrideName.yy", + "resourceType": "GMScript" + } + }, { "Key": "2068e6f2-9c8d-44a0-a2a7-de86351c64db", "Value": { @@ -910,6 +926,14 @@ "resourceType": "GMScript" } }, + { + "Key": "3065732a-a1ae-4c2b-b562-13c97ceb40e3", + "Value": { + "id": "00621c13-ea6e-4db9-ab17-08550a01398f", + "resourcePath": "scripts\\Battle_GetMenuChoiceMercyOverride\\Battle_GetMenuChoiceMercyOverride.yy", + "resourceType": "GMScript" + } + }, { "Key": "3092699e-81c9-4654-b96c-1c2d0858eeac", "Value": { @@ -2622,6 +2646,14 @@ "resourceType": "GMSound" } }, + { + "Key": "8e8dfeff-73f5-4bca-8f45-10925abff500", + "Value": { + "id": "3e65daf1-060d-4b5c-8acb-66133bf66c8b", + "resourcePath": "scripts\\Battle_SetMenuChoiceMercyOverrideName\\Battle_SetMenuChoiceMercyOverrideName.yy", + "resourceType": "GMScript" + } + }, { "Key": "8eaab41c-10c8-4b23-a26c-7fafcbddc788", "Value": { @@ -3158,6 +3190,14 @@ "resourceType": "GMScript" } }, + { + "Key": "adb3c320-157f-4b8f-8e2f-6f280778ac2a", + "Value": { + "id": "0b226d01-55f7-4e85-b44b-a6071ca4424e", + "resourcePath": "scripts\\Battle_SetMenuChoiceMercyOverrideNumber\\Battle_SetMenuChoiceMercyOverrideNumber.yy", + "resourceType": "GMScript" + } + }, { "Key": "adccad85-f8d2-4b99-99ec-936649a46aa3", "Value": { @@ -3990,6 +4030,14 @@ "resourceType": "GMSprite" } }, + { + "Key": "d82c8aaa-e719-43af-876a-7c064c449b89", + "Value": { + "id": "b4a2eb66-88c6-441c-90b8-b4ed0100d3ef", + "resourcePath": "scripts\\Battle_GetMenuChoiceMercyOverrideNumber\\Battle_GetMenuChoiceMercyOverrideNumber.yy", + "resourceType": "GMScript" + } + }, { "Key": "d860e9dd-790d-4eb1-85b8-dbbe8c5eeb64", "Value": { @@ -4712,10 +4760,16 @@ "ca63c00b-dd82-47af-817e-9c9eac9aa29c", "0ea3358c-491d-403d-988f-789544b4f395", "6e96e4f1-3d4a-4130-8e12-053ee5a447d8", - "c8407506-3e0c-4945-83b1-007da3a01f22", - "1ca1bc87-f675-4e4d-83b1-18757e919210", "5550704f-568f-42e0-910d-a409bbecefd9", "8b2e7c3d-3a84-42be-80bb-fea18de60190", + "c8407506-3e0c-4945-83b1-007da3a01f22", + "1ca1bc87-f675-4e4d-83b1-18757e919210", + "1fbd2387-a3e9-4045-b2d6-1f8fccbe24b5", + "3065732a-a1ae-4c2b-b562-13c97ceb40e3", + "adb3c320-157f-4b8f-8e2f-6f280778ac2a", + "d82c8aaa-e719-43af-876a-7c064c449b89", + "2043a6a6-887d-49ae-9fcd-cdb524fa33c8", + "8e8dfeff-73f5-4bca-8f45-10925abff500", "e48fa714-3070-4c2c-9a39-4dfd42a40ffe", "0235428a-dad9-42f6-ab57-a1447cffcef5", "c58d8efb-c8d8-4076-ba6a-21df097d0240", diff --git a/views/eeabcff6-c88b-41ce-9950-95f43cd8ae17.yy b/views/eeabcff6-c88b-41ce-9950-95f43cd8ae17.yy index 26aa9131..11dab0db 100644 --- a/views/eeabcff6-c88b-41ce-9950-95f43cd8ae17.yy +++ b/views/eeabcff6-c88b-41ce-9950-95f43cd8ae17.yy @@ -10,10 +10,16 @@ "ca63c00b-dd82-47af-817e-9c9eac9aa29c", "0ea3358c-491d-403d-988f-789544b4f395", "6e96e4f1-3d4a-4130-8e12-053ee5a447d8", + "5550704f-568f-42e0-910d-a409bbecefd9", + "8b2e7c3d-3a84-42be-80bb-fea18de60190", "c8407506-3e0c-4945-83b1-007da3a01f22", "1ca1bc87-f675-4e4d-83b1-18757e919210", - "5550704f-568f-42e0-910d-a409bbecefd9", - "8b2e7c3d-3a84-42be-80bb-fea18de60190" + "1fbd2387-a3e9-4045-b2d6-1f8fccbe24b5", + "3065732a-a1ae-4c2b-b562-13c97ceb40e3", + "adb3c320-157f-4b8f-8e2f-6f280778ac2a", + "d82c8aaa-e719-43af-876a-7c064c449b89", + "2043a6a6-887d-49ae-9fcd-cdb524fa33c8", + "8e8dfeff-73f5-4bca-8f45-10925abff500" ], "filterType": "GMScript", "folderName": "Choice", From 27c2cd7dacdb52304de4f50da4fc4e46f847fd2b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=B3=96=E8=90=8C=E8=8A=A6?= Date: Sun, 31 Mar 2019 19:43:12 +0800 Subject: [PATCH 02/10] Removed music files - Music files. --- scripts/Encounter_Custom/Encounter_Custom.gml | 2 +- sounds/bgm_battle_pre/bgm_battle_pre.yy | 14 ----------- sounds/bgm_menu_0/bgm_menu_0.yy | 14 ----------- sounds/bgm_ruins/bgm_ruins.yy | 14 ----------- undertale_engine.yyp | 24 ------------------- views/f08d4b2c-3e67-4d12-a519-afcda1560696.yy | 4 +--- 6 files changed, 2 insertions(+), 70 deletions(-) delete mode 100644 sounds/bgm_battle_pre/bgm_battle_pre.yy delete mode 100644 sounds/bgm_menu_0/bgm_menu_0.yy delete mode 100644 sounds/bgm_ruins/bgm_ruins.yy diff --git a/scripts/Encounter_Custom/Encounter_Custom.gml b/scripts/Encounter_Custom/Encounter_Custom.gml index 90645a75..d0aca754 100644 --- a/scripts/Encounter_Custom/Encounter_Custom.gml +++ b/scripts/Encounter_Custom/Encounter_Custom.gml @@ -1 +1 @@ -Encounter_Set(0,-1,battle_enemy,-1,"* You encountered nothing!",bgm_battle_pre); \ No newline at end of file +Encounter_Set(0,-1,battle_enemy,-1,"* You encountered nothing!",-1); \ No newline at end of file diff --git a/sounds/bgm_battle_pre/bgm_battle_pre.yy b/sounds/bgm_battle_pre/bgm_battle_pre.yy deleted file mode 100644 index 3f0fab92..00000000 --- a/sounds/bgm_battle_pre/bgm_battle_pre.yy +++ /dev/null @@ -1,14 +0,0 @@ -{ - "id": "b2b308e1-9207-4cad-b3bb-39428496b8d5", - "modelName": "GMSound", - "mvc": "1.0", - "name": "bgm_battle_pre", - "audioGroupGuid": "7b2c4976-1e09-44e5-8256-c527145e03bb", - "bitDepth": 1, - "bitRate": 128, - "kind": 3, - "preload": false, - "sampleRate": 44100, - "type": 0, - "volume": 1 -} \ No newline at end of file diff --git a/sounds/bgm_menu_0/bgm_menu_0.yy b/sounds/bgm_menu_0/bgm_menu_0.yy deleted file mode 100644 index e9577b89..00000000 --- a/sounds/bgm_menu_0/bgm_menu_0.yy +++ /dev/null @@ -1,14 +0,0 @@ -{ - "id": "c1b4853f-92a4-47a5-9f55-c88f86f4f802", - "modelName": "GMSound", - "mvc": "1.0", - "name": "bgm_menu_0", - "audioGroupGuid": "7b2c4976-1e09-44e5-8256-c527145e03bb", - "bitDepth": 1, - "bitRate": 128, - "kind": 3, - "preload": false, - "sampleRate": 44100, - "type": 1, - "volume": 1 -} \ No newline at end of file diff --git a/sounds/bgm_ruins/bgm_ruins.yy b/sounds/bgm_ruins/bgm_ruins.yy deleted file mode 100644 index 2d82284a..00000000 --- a/sounds/bgm_ruins/bgm_ruins.yy +++ /dev/null @@ -1,14 +0,0 @@ -{ - "id": "4821a2e0-bd4f-4a08-8b16-8e1be2429d08", - "modelName": "GMSound", - "mvc": "1.0", - "name": "bgm_ruins", - "audioGroupGuid": "7b2c4976-1e09-44e5-8256-c527145e03bb", - "bitDepth": 1, - "bitRate": 128, - "kind": 3, - "preload": false, - "sampleRate": 44100, - "type": 1, - "volume": 1 -} \ No newline at end of file diff --git a/undertale_engine.yyp b/undertale_engine.yyp index 40a7a963..93687cc9 100644 --- a/undertale_engine.yyp +++ b/undertale_engine.yyp @@ -1318,14 +1318,6 @@ "resourceType": "GMObject" } }, - { - "Key": "4821a2e0-bd4f-4a08-8b16-8e1be2429d08", - "Value": { - "id": "ae332962-57f9-4517-a9dd-ac9bc2ff0350", - "resourcePath": "sounds\\bgm_ruins\\bgm_ruins.yy", - "resourceType": "GMSound" - } - }, { "Key": "488bb17f-c8ae-4073-bccf-4204739be154", "Value": { @@ -3246,14 +3238,6 @@ "resourceType": "GMObject" } }, - { - "Key": "b2b308e1-9207-4cad-b3bb-39428496b8d5", - "Value": { - "id": "b55d2f62-4714-4bc5-a042-3a12c2fe40ff", - "resourcePath": "sounds\\bgm_battle_pre\\bgm_battle_pre.yy", - "resourceType": "GMSound" - } - }, { "Key": "b2bd37ba-f270-4100-b184-39036cfa49f5", "Value": { @@ -3446,14 +3430,6 @@ "resourceType": "GMScript" } }, - { - "Key": "c1b4853f-92a4-47a5-9f55-c88f86f4f802", - "Value": { - "id": "a02b0794-d853-4585-a622-e0cf7c993e06", - "resourcePath": "sounds\\bgm_menu_0\\bgm_menu_0.yy", - "resourceType": "GMSound" - } - }, { "Key": "c250f66e-582f-48ac-9e6a-d406ba16e208", "Value": { diff --git a/views/f08d4b2c-3e67-4d12-a519-afcda1560696.yy b/views/f08d4b2c-3e67-4d12-a519-afcda1560696.yy index f8c4fe01..8558b464 100644 --- a/views/f08d4b2c-3e67-4d12-a519-afcda1560696.yy +++ b/views/f08d4b2c-3e67-4d12-a519-afcda1560696.yy @@ -4,9 +4,7 @@ "mvc": "1.1", "name": "f08d4b2c-3e67-4d12-a519-afcda1560696", "children": [ - "4821a2e0-bd4f-4a08-8b16-8e1be2429d08", - "b2b308e1-9207-4cad-b3bb-39428496b8d5", - "c1b4853f-92a4-47a5-9f55-c88f86f4f802" + ], "filterType": "GMSound", "folderName": "BGM", From 4d97f382ef4e81650e3dcf12edca30482e9cdaf8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=B3=96=E8=90=8C=E8=8A=A6?= Date: Sun, 31 Mar 2019 20:51:01 +0800 Subject: [PATCH 03/10] Customizable mercy menu + Battle menu choice mercy override. * Renamed some functions. --- objects/battle/Create_0.gml | 2 +- objects/battle/Step_0.gml | 4 +- scripts/Battle_EndMenu/Battle_EndMenu.gml | 8 ++- .../Battle_IsMenuChoiceMercyOverride.gml} | 0 .../Battle_IsMenuChoiceMercyOverride.yy} | 2 +- .../Battle_IsMenuFleeEnabled.gml | 1 - .../Battle_IsMenuMercyFleeEnabled.gml | 1 + .../Battle_IsMenuMercyFleeEnabled.yy} | 2 +- scripts/Battle_SetMenu/Battle_SetMenu.gml | 52 ++++++++++++------- .../Battle_SetMenuChoiceMercy.gml | 6 +-- .../Battle_SetMenuFleeEnabled.gml | 6 --- .../Battle_SetMenuMercyFleeEnabled.gml | 6 +++ .../Battle_SetMenuMercyFleeEnabled.yy} | 2 +- .../Encounter_IsMenuMercyFleeEnabled.gml} | 2 +- .../Encounter_IsMenuMercyFleeEnabled.yy} | 2 +- scripts/Encounter_Set/Encounter_Set.gml | 8 +-- undertale_engine.yyp | 8 +-- 17 files changed, 65 insertions(+), 47 deletions(-) rename scripts/{Battle_GetMenuChoiceMercyOverride/Battle_GetMenuChoiceMercyOverride.gml => Battle_IsMenuChoiceMercyOverride/Battle_IsMenuChoiceMercyOverride.gml} (100%) rename scripts/{Battle_GetMenuChoiceMercyOverride/Battle_GetMenuChoiceMercyOverride.yy => Battle_IsMenuChoiceMercyOverride/Battle_IsMenuChoiceMercyOverride.yy} (74%) delete mode 100644 scripts/Battle_IsMenuFleeEnabled/Battle_IsMenuFleeEnabled.gml create mode 100644 scripts/Battle_IsMenuMercyFleeEnabled/Battle_IsMenuMercyFleeEnabled.gml rename scripts/{Battle_IsMenuFleeEnabled/Battle_IsMenuFleeEnabled.yy => Battle_IsMenuMercyFleeEnabled/Battle_IsMenuMercyFleeEnabled.yy} (76%) delete mode 100644 scripts/Battle_SetMenuFleeEnabled/Battle_SetMenuFleeEnabled.gml create mode 100644 scripts/Battle_SetMenuMercyFleeEnabled/Battle_SetMenuMercyFleeEnabled.gml rename scripts/{Battle_SetMenuFleeEnabled/Battle_SetMenuFleeEnabled.yy => Battle_SetMenuMercyFleeEnabled/Battle_SetMenuMercyFleeEnabled.yy} (75%) rename scripts/{Encounter_IsMenuFleeEnabled/Encounter_IsMenuFleeEnabled.gml => Encounter_IsMenuMercyFleeEnabled/Encounter_IsMenuMercyFleeEnabled.gml} (75%) rename scripts/{Encounter_IsMenuFleeEnabled/Encounter_IsMenuFleeEnabled.yy => Encounter_IsMenuMercyFleeEnabled/Encounter_IsMenuMercyFleeEnabled.yy} (75%) diff --git a/objects/battle/Create_0.gml b/objects/battle/Create_0.gml index 2fdfa1cc..6faae997 100644 --- a/objects/battle/Create_0.gml +++ b/objects/battle/Create_0.gml @@ -66,7 +66,7 @@ _menu_choice_mercy_override_name[0]=""; _menu_choice_mercy_override_name[1]=""; _menu_choice_mercy_override_name[2]=""; _menu_fleeable=false; -_menu_flee_enabled=Encounter_IsMenuFleeEnabled(ENCOUNTER); +_menu_mercy_flee_enabled=Encounter_IsMenuMercyFleeEnabled(ENCOUNTER); _menu_dialog=Encounter_GetMenuDialog(ENCOUNTER); _menu_fight_damage=0; diff --git a/objects/battle/Step_0.gml b/objects/battle/Step_0.gml index 82b4b467..0ddb1f1c 100644 --- a/objects/battle/Step_0.gml +++ b/objects/battle/Step_0.gml @@ -212,7 +212,7 @@ if(_state==BATTLE_STATE.MENU){ } }else if(Input_CheckPressed(INPUT.DOWN)){ var mercy=Battle_GetMenuChoiceMercy()+1; - if(mercy<=_menu_flee_enabled){ + if((!Battle_IsMenuChoiceMercyOverride()&&mercy<=_menu_mercy_flee_enabled) || (Battle_IsMenuChoiceMercyOverride()&&mercyBattle_IsMenuFleeEnabled()){ - Battle_SetMenuChoiceMercy(0,false); - } - var text=""; - var proc=0; - //仁慈菜单文字 - repeat(3){ - if(Battle_IsEnemySpareable(proc)){ - text+="{color `yellow`}"; - break; + if(!Battle_IsMenuChoiceMercyOverride()){ + //越界归零 + if(Battle_GetMenuChoiceMercy()>Battle_IsMenuMercyFleeEnabled()){ + Battle_SetMenuChoiceMercy(0,false); + } + + var proc=0; + //仁慈菜单文字 + repeat(3){ + if(Battle_IsEnemySpareable(proc)){ + text+="{color `yellow`}"; + break; + } + proc+=1; + } + text+=Lang_GetString("battle.menu.mercy.spare"); + + //逃跑是否可用 + if(Battle_IsMenuMercyFleeEnabled()){ + text+="&{color `white`}"; + text+=Lang_GetString("battle.menu.mercy.flee"); + } + }else{ + if(Battle_GetMenuChoiceMercy()>=Battle_GetMenuChoiceMercyOverrideNumber()){ + Battle_SetMenuChoiceMercy(0,false); + } + + var proc=0; + repeat(Battle_GetMenuChoiceMercyOverrideNumber()){ + text+=Battle_GetMenuChoiceMercyOverrideName(proc); + text+="&"; + proc+=1; } - proc+=1; - } - text+=Lang_GetString("battle.menu.mercy.spare"); - - //逃跑是否可用 - if(Battle_IsMenuFleeEnabled()){ - text+="&{color `white`}"; - text+=Lang_GetString("battle.menu.mercy.flee"); } - Battle_SetDialog(text,true); } diff --git a/scripts/Battle_SetMenuChoiceMercy/Battle_SetMenuChoiceMercy.gml b/scripts/Battle_SetMenuChoiceMercy/Battle_SetMenuChoiceMercy.gml index d56e40ed..acfb4870 100644 --- a/scripts/Battle_SetMenuChoiceMercy/Battle_SetMenuChoiceMercy.gml +++ b/scripts/Battle_SetMenuChoiceMercy/Battle_SetMenuChoiceMercy.gml @@ -1,13 +1,13 @@ ///@arg mercy_choice ///@arg call_event* -var MECRY=argument[0]; +var MERCY=argument[0]; var CALL=true; if(argument_count>=2){ CALL=argument[1]; } -if(MECRY>=0 && MECRY<=1){ - battle._menu_choice_mercy=MECRY; +if((!Battle_IsMenuChoiceMercyOverride()&&MERCY>=0&&MERCY<=1)||(Battle_IsMenuChoiceMercyOverride()&&MERCY>=0&&MERCY=6){ BGM=argument[5]; } if(argument_count>=7){ - MENU_FLEE_ENABLED=argument[6]; + MENU_MERCY_FLEE_ENABLED=argument[6]; } if(argument_count>=8){ PAUSE_BGM=argument[7]; @@ -56,7 +56,7 @@ if(ID>=0){ ds_map_add(map_e,"menu_dialog",MENU_DIALOG); ds_map_add(map_e,"bgm",BGM); ds_map_add(map_e,"pause_bgm",PAUSE_BGM); - ds_map_add(map_e,"menu_flee_enabled",MENU_FLEE_ENABLED); + ds_map_add(map_e,"menu_mercy_flee_enabled",MENU_MERCY_FLEE_ENABLED); ds_map_add(map_e,"quick",QUICK); ds_map_add(map_e,"soul_x",SOUL_X); ds_map_add(map_e,"soul_y",SOUL_Y); diff --git a/undertale_engine.yyp b/undertale_engine.yyp index 2645e3ca..0662766a 100644 --- a/undertale_engine.yyp +++ b/undertale_engine.yyp @@ -66,7 +66,7 @@ "Key": "0235428a-dad9-42f6-ab57-a1447cffcef5", "Value": { "id": "5e428a04-4ade-4759-8224-5f18c80e0e09", - "resourcePath": "scripts\\Battle_SetMenuFleeEnabled\\Battle_SetMenuFleeEnabled.yy", + "resourcePath": "scripts\\Battle_SetMenuMercyFleeEnabled\\Battle_SetMenuMercyFleeEnabled.yy", "resourceType": "GMScript" } }, @@ -930,7 +930,7 @@ "Key": "3065732a-a1ae-4c2b-b562-13c97ceb40e3", "Value": { "id": "00621c13-ea6e-4db9-ab17-08550a01398f", - "resourcePath": "scripts\\Battle_GetMenuChoiceMercyOverride\\Battle_GetMenuChoiceMercyOverride.yy", + "resourcePath": "scripts\\Battle_IsMenuChoiceMercyOverride\\Battle_IsMenuChoiceMercyOverride.yy", "resourceType": "GMScript" } }, @@ -1802,7 +1802,7 @@ "Key": "624d55e0-4f52-41ae-8557-4e62429ff598", "Value": { "id": "b5c29798-821c-46fd-87ed-7890170e9cc0", - "resourcePath": "scripts\\Encounter_IsMenuFleeEnabled\\Encounter_IsMenuFleeEnabled.yy", + "resourcePath": "scripts\\Encounter_IsMenuMercyFleeEnabled\\Encounter_IsMenuMercyFleeEnabled.yy", "resourceType": "GMScript" } }, @@ -4162,7 +4162,7 @@ "Key": "e48fa714-3070-4c2c-9a39-4dfd42a40ffe", "Value": { "id": "fe231b6b-2773-4235-8a63-b036ed648e72", - "resourcePath": "scripts\\Battle_IsMenuFleeEnabled\\Battle_IsMenuFleeEnabled.yy", + "resourcePath": "scripts\\Battle_IsMenuMercyFleeEnabled\\Battle_IsMenuMercyFleeEnabled.yy", "resourceType": "GMScript" } }, From e8a0a981fdac45a1468669092bb99abd34396c2f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=B3=96=E8=90=8C=E8=8A=A6?= Date: Sat, 13 Apr 2019 17:18:41 +0800 Subject: [PATCH 04/10] Update * Add closed captions * Add text_typer alpha_override --- objects/closed_captions/Create_0.gml | 21 ++++ objects/closed_captions/Draw_64.gml | 21 ++++ objects/closed_captions/Other_3.gml | 6 + objects/closed_captions/Step_0.gml | 107 ++++++++++++++++++ objects/closed_captions/closed_captions.yy | 68 +++++++++++ objects/text_typer/Create_0.gml | 4 +- objects/text_typer/Step_2.gml | 15 +++ objects/world/Other_2.gml | 1 + scripts/CC_Add/CC_Add.gml | 14 +++ scripts/CC_Add/CC_Add.yy | 8 ++ .../f0b079b1-d277-4e47-bf06-ce8374900887.png | Bin 0 -> 135 bytes .../1a6da49d-fce8-44c7-a99a-106a6b5511bd.png | Bin 0 -> 135 bytes .../spr_closed_captions_corner.yy | 70 ++++++++++++ undertale_engine.yyp | 43 ++++++- views/286a909e-1725-4336-bcb9-49b0bf63ce4c.yy | 13 +++ views/a5cbb91f-b47b-46fd-912e-5f0af55779b1.yy | 1 + views/b64133fc-0e27-4111-af20-95adeb2ae5ea.yy | 13 +++ views/d229a841-5a9e-473b-8f11-9df3aa961748.yy | 3 +- views/f1219eeb-1723-4d00-8cd0-2f8d84e1bd01.yy | 3 +- 19 files changed, 407 insertions(+), 4 deletions(-) create mode 100644 objects/closed_captions/Create_0.gml create mode 100644 objects/closed_captions/Draw_64.gml create mode 100644 objects/closed_captions/Other_3.gml create mode 100644 objects/closed_captions/Step_0.gml create mode 100644 objects/closed_captions/closed_captions.yy create mode 100644 scripts/CC_Add/CC_Add.gml create mode 100644 scripts/CC_Add/CC_Add.yy create mode 100644 sprites/spr_closed_captions_corner/f0b079b1-d277-4e47-bf06-ce8374900887.png create mode 100644 sprites/spr_closed_captions_corner/layers/f0b079b1-d277-4e47-bf06-ce8374900887/1a6da49d-fce8-44c7-a99a-106a6b5511bd.png create mode 100644 sprites/spr_closed_captions_corner/spr_closed_captions_corner.yy create mode 100644 views/286a909e-1725-4336-bcb9-49b0bf63ce4c.yy create mode 100644 views/b64133fc-0e27-4111-af20-95adeb2ae5ea.yy diff --git a/objects/closed_captions/Create_0.gml b/objects/closed_captions/Create_0.gml new file mode 100644 index 00000000..67253b70 --- /dev/null +++ b/objects/closed_captions/Create_0.gml @@ -0,0 +1,21 @@ +depth=DEPTH_UI.PANEL; + +_x=320; +_y=400; +_up=20; +_down=0; +_left=250; +_right=250; +_color=c_black; +_alpha=0; +_alpha_base=0.6; + +_queue_text=ds_queue_create(); +_queue_duration=ds_queue_create(); +_list_inst=ds_list_create(); +_list_time=ds_list_create(); +_list_destroy_inst=ds_list_create(); +_list_destroy_time=ds_list_create(); + +_showed=false; +_up_previous=_up; \ No newline at end of file diff --git a/objects/closed_captions/Draw_64.gml b/objects/closed_captions/Draw_64.gml new file mode 100644 index 00000000..a53dd19b --- /dev/null +++ b/objects/closed_captions/Draw_64.gml @@ -0,0 +1,21 @@ +//四角 +//左上 +draw_sprite_ext(spr_closed_captions_corner,0,_x-_left-sprite_get_width(spr_closed_captions_corner),_y-_up-sprite_get_height(spr_closed_captions_corner),1,1,0,_color,_alpha_base*_alpha); +//左下 +draw_sprite_ext(spr_closed_captions_corner,0,_x-_left-sprite_get_width(spr_closed_captions_corner),_y+_down+sprite_get_height(spr_closed_captions_corner),1,-1,0,_color,_alpha_base*_alpha); +//右上 +draw_sprite_ext(spr_closed_captions_corner,0,_x+_right+sprite_get_width(spr_closed_captions_corner),_y-_up-sprite_get_height(spr_closed_captions_corner),-1,1,0,_color,_alpha_base*_alpha); +//右下 +draw_sprite_ext(spr_closed_captions_corner,0,_x+_right+sprite_get_width(spr_closed_captions_corner),_y+_down+sprite_get_height(spr_closed_captions_corner),-1,-1,0,_color,_alpha_base*_alpha); + +//填充 +//左 +draw_sprite_ext(spr_pixel,0,_x-_left-sprite_get_width(spr_closed_captions_corner),_y-_up,sprite_get_width(spr_closed_captions_corner),_up+_down,0,_color,_alpha_base*_alpha); +//右 +draw_sprite_ext(spr_pixel,0,_x+_right,_y-_up,sprite_get_width(spr_closed_captions_corner),_up+_down,0,_color,_alpha_base*_alpha); +//上 +draw_sprite_ext(spr_pixel,0,_x-_left,_y-_up-sprite_get_height(spr_closed_captions_corner),_left+_right,sprite_get_height(spr_closed_captions_corner),0,_color,_alpha_base*_alpha); +//下 +draw_sprite_ext(spr_pixel,0,_x-_left,_y+_down,_left+_right,sprite_get_height(spr_closed_captions_corner),0,_color,_alpha_base*_alpha); +//中间 +draw_sprite_ext(spr_pixel,0,_x-_left,_y-_up,_left+_right,_up+_down,0,_color,_alpha_base*_alpha); \ No newline at end of file diff --git a/objects/closed_captions/Other_3.gml b/objects/closed_captions/Other_3.gml new file mode 100644 index 00000000..aef2e106 --- /dev/null +++ b/objects/closed_captions/Other_3.gml @@ -0,0 +1,6 @@ +ds_queue_destroy(_queue_text); +ds_queue_destroy(_queue_duration); +ds_list_destroy(_list_inst); +ds_list_destroy(_list_time); +ds_list_destroy(_list_destroy_inst); +ds_list_destroy(_list_destroy_time); \ No newline at end of file diff --git a/objects/closed_captions/Step_0.gml b/objects/closed_captions/Step_0.gml new file mode 100644 index 00000000..2c62ac26 --- /dev/null +++ b/objects/closed_captions/Step_0.gml @@ -0,0 +1,107 @@ +//处理新增字幕队列 +while(!ds_queue_empty(_queue_text)){ + var text=ds_queue_dequeue(_queue_text); + var duration=ds_queue_dequeue(_queue_duration); + + var inst=instance_create_depth(0,0,0,text_typer); + inst.text="{instant true}{alpha 1}{gui true}{scale 2}{depth "+string(DEPTH_UI.TEXT)+"}"+text+"&"; + with(inst){ + event_user(15); + } + inst.alpha_override=0; + Anim_Stop(inst,"alpha_override"); + Anim_New(inst,"alpha_override",0,0,0,1,10,5); + ds_list_add(_list_inst,inst); + ds_list_add(_list_time,duration); +} + +//处理显示时间 +var proc=0; +repeat(ds_list_size(_list_inst)){ + if(_list_time[|proc]>0){ + _list_time[|proc]-=1; + } + proc+=1; +} + +//处理字幕显示完毕 +var proc=0; +repeat(ds_list_size(_list_inst)){ + if(_list_time[|proc]<=0){ + var inst=_list_inst[|proc]; + Anim_Stop(inst,"alpha_override"); + Anim_New(inst,"alpha_override",0,0,1,-1,10); + ds_list_add(_list_destroy_inst,inst); + ds_list_add(_list_destroy_time,10); + ds_list_delete(_list_inst,proc); + ds_list_delete(_list_time,proc); + //proc-=1; + }else{ + break; + } +} + +//处理字幕高度 +var proc=0; +var height=0; +repeat(ds_list_size(_list_inst)){ + var inst=_list_inst[|proc]; + height+=inst.height; + proc+=1; +} + +if(_up_previous!=height){ + var delay=0; + if(height<_up_previous){ + delay=10; + } + Anim_Stop(self,"_up"); + Anim_New(self,"_up",ANIM_TWEEN.CUBIC,ANIM_EASE.OUT,_up,height-_up,10,delay); + _up_previous=height; +} + +var up_show=0; +if(height>_up){ + up_show=_up; +}else{ + up_show=height; +} + +//处理字幕位置 +var proc=0; +var yy=_y-up_show; +repeat(ds_list_size(_list_inst)){ + var inst=_list_inst[|proc]; + inst.x=_x-_left; + if(proc==ds_list_size(_list_inst)-1){ + inst.y=_y-inst.height; + }else{ + inst.y=yy; + } + yy+=inst.height; + proc+=1; +} + +//处理销毁实例列表 +var proc=0; +repeat(ds_list_size(_list_destroy_inst)){ + if(_list_destroy_time[|proc]<=0){ + instance_destroy(_list_destroy_inst[|proc]); + ds_list_delete(_list_destroy_inst,proc); + ds_list_delete(_list_destroy_time,proc); + proc-=1; + }else{ + _list_destroy_time[|proc]-=1; + } + proc+=1; +} + +if(!_showed&&!ds_list_empty(_list_inst)){ + _showed=true; + Anim_Stop(self,"_alpha"); + Anim_New(self,"_alpha",0,0,0,1,10); +}else if(_showed&&ds_list_empty(_list_inst)){ + _showed=false; + Anim_Stop(self,"_alpha"); + Anim_New(self,"_alpha",0,0,1,-1,10,5); +} \ No newline at end of file diff --git a/objects/closed_captions/closed_captions.yy b/objects/closed_captions/closed_captions.yy new file mode 100644 index 00000000..6e34b3ca --- /dev/null +++ b/objects/closed_captions/closed_captions.yy @@ -0,0 +1,68 @@ +{ + "id": "2f520413-6342-4150-bb01-d6a8ff1afb28", + "modelName": "GMObject", + "mvc": "1.0", + "name": "closed_captions", + "eventList": [ + { + "id": "01cdd524-5c8d-48b6-8423-20e7cd5ade79", + "modelName": "GMEvent", + "mvc": "1.0", + "IsDnD": false, + "collisionObjectId": "00000000-0000-0000-0000-000000000000", + "enumb": 64, + "eventtype": 8, + "m_owner": "2f520413-6342-4150-bb01-d6a8ff1afb28" + }, + { + "id": "4e5b9c82-8dd8-44a9-9187-3dd5fd17fd89", + "modelName": "GMEvent", + "mvc": "1.0", + "IsDnD": false, + "collisionObjectId": "00000000-0000-0000-0000-000000000000", + "enumb": 0, + "eventtype": 0, + "m_owner": "2f520413-6342-4150-bb01-d6a8ff1afb28" + }, + { + "id": "5afae606-ce16-4ccb-8d87-6e8ac0490c15", + "modelName": "GMEvent", + "mvc": "1.0", + "IsDnD": false, + "collisionObjectId": "00000000-0000-0000-0000-000000000000", + "enumb": 0, + "eventtype": 3, + "m_owner": "2f520413-6342-4150-bb01-d6a8ff1afb28" + }, + { + "id": "4427b3a4-810b-4b4e-b97f-82f6f220b27b", + "modelName": "GMEvent", + "mvc": "1.0", + "IsDnD": false, + "collisionObjectId": "00000000-0000-0000-0000-000000000000", + "enumb": 3, + "eventtype": 7, + "m_owner": "2f520413-6342-4150-bb01-d6a8ff1afb28" + } + ], + "maskSpriteId": "00000000-0000-0000-0000-000000000000", + "overriddenProperties": null, + "parentObjectId": "00000000-0000-0000-0000-000000000000", + "persistent": true, + "physicsAngularDamping": 0.1, + "physicsDensity": 0.5, + "physicsFriction": 0.2, + "physicsGroup": 0, + "physicsKinematic": false, + "physicsLinearDamping": 0.1, + "physicsObject": false, + "physicsRestitution": 0.1, + "physicsSensor": false, + "physicsShape": 1, + "physicsShapePoints": null, + "physicsStartAwake": true, + "properties": null, + "solid": false, + "spriteId": "00000000-0000-0000-0000-000000000000", + "visible": true +} \ No newline at end of file diff --git a/objects/text_typer/Create_0.gml b/objects/text_typer/Create_0.gml index a27e9e4b..86d365af 100644 --- a/objects/text_typer/Create_0.gml +++ b/objects/text_typer/Create_0.gml @@ -64,4 +64,6 @@ _depth=0; event_user(5); width=0; -height=0; \ No newline at end of file +height=0; +alpha_override=undefined; +_alpha_override_previous=-1; \ No newline at end of file diff --git a/objects/text_typer/Step_2.gml b/objects/text_typer/Step_2.gml index 1970224c..1ad3ac04 100644 --- a/objects/text_typer/Step_2.gml +++ b/objects/text_typer/Step_2.gml @@ -136,4 +136,19 @@ if(_char_linked!=-1){ } } } +} + +if(is_real(alpha_override)){ + if(alpha_override!=_alpha_override_previous){ + _alpha_override_previous=alpha_override; + + var proc=0; + repeat(ds_list_size(_list_inst)){ + var INST=ds_list_find_value(_list_inst,proc); + if(instance_exists(INST)){ + INST.alpha=alpha_override; + } + proc+=1; + } + } } \ No newline at end of file diff --git a/objects/world/Other_2.gml b/objects/world/Other_2.gml index eaa74761..82f85f93 100644 --- a/objects/world/Other_2.gml +++ b/objects/world/Other_2.gml @@ -33,6 +33,7 @@ Dialog_Init(); instance_create_depth(0,0,0,camera); instance_create_depth(0,0,0,fader); instance_create_depth(0,0,0,border); +instance_create_depth(0,0,0,closed_captions); application_surface_draw_enable(false); diff --git a/scripts/CC_Add/CC_Add.gml b/scripts/CC_Add/CC_Add.gml new file mode 100644 index 00000000..fe944dd8 --- /dev/null +++ b/scripts/CC_Add/CC_Add.gml @@ -0,0 +1,14 @@ +///@arg text +///@arg time* +var TEXT=argument[0]; +var TIME=60; +if(argument_count>=2){ + TIME=argument[1]; +} + +with(closed_captions){ + ds_queue_enqueue(_queue_text,TEXT); + ds_queue_enqueue(_queue_duration,TIME); +} + +return true; \ No newline at end of file diff --git a/scripts/CC_Add/CC_Add.yy b/scripts/CC_Add/CC_Add.yy new file mode 100644 index 00000000..e058e9bb --- /dev/null +++ b/scripts/CC_Add/CC_Add.yy @@ -0,0 +1,8 @@ +{ + "id": "71a1ee7e-fba2-48ef-aebe-69423159c404", + "modelName": "GMScript", + "mvc": "1.0", + "name": "CC_Add", + "IsCompatibility": false, + "IsDnD": false +} \ No newline at end of file diff --git a/sprites/spr_closed_captions_corner/f0b079b1-d277-4e47-bf06-ce8374900887.png b/sprites/spr_closed_captions_corner/f0b079b1-d277-4e47-bf06-ce8374900887.png new file mode 100644 index 0000000000000000000000000000000000000000..6e042f1717959b817d86c43f380b684ba6f62e42 GIT binary patch literal 135 zcmeAS@N?(olHy`uVBq!ia0vp^AT}2V8<6ZZI=>f4`FXlHhE&W+PCUT)@Be>!{v|by zH&{BBMiyvfuq0Kc6pER+PHqU%Gn0l%2OIUkfyu!PC{xWt~$(698#kC6)jH literal 0 HcmV?d00001 diff --git a/sprites/spr_closed_captions_corner/layers/f0b079b1-d277-4e47-bf06-ce8374900887/1a6da49d-fce8-44c7-a99a-106a6b5511bd.png b/sprites/spr_closed_captions_corner/layers/f0b079b1-d277-4e47-bf06-ce8374900887/1a6da49d-fce8-44c7-a99a-106a6b5511bd.png new file mode 100644 index 0000000000000000000000000000000000000000..6e042f1717959b817d86c43f380b684ba6f62e42 GIT binary patch literal 135 zcmeAS@N?(olHy`uVBq!ia0vp^AT}2V8<6ZZI=>f4`FXlHhE&W+PCUT)@Be>!{v|by zH&{BBMiyvfuq0Kc6pER+PHqU%Gn0l%2OIUkfyu!PC{xWt~$(698#kC6)jH literal 0 HcmV?d00001 diff --git a/sprites/spr_closed_captions_corner/spr_closed_captions_corner.yy b/sprites/spr_closed_captions_corner/spr_closed_captions_corner.yy new file mode 100644 index 00000000..6cb0c29c --- /dev/null +++ b/sprites/spr_closed_captions_corner/spr_closed_captions_corner.yy @@ -0,0 +1,70 @@ +{ + "id": "22002860-4acf-45cb-9462-19b60514b465", + "modelName": "GMSprite", + "mvc": "1.12", + "name": "spr_closed_captions_corner", + "For3D": false, + "HTile": false, + "VTile": false, + "bbox_bottom": 9, + "bbox_left": 0, + "bbox_right": 9, + "bbox_top": 0, + "bboxmode": 0, + "colkind": 1, + "coltolerance": 0, + "edgeFiltering": false, + "frames": [ + { + "id": "f0b079b1-d277-4e47-bf06-ce8374900887", + "modelName": "GMSpriteFrame", + "mvc": "1.0", + "SpriteId": "22002860-4acf-45cb-9462-19b60514b465", + "compositeImage": { + "id": "8a7aef9b-0db7-4064-9c5d-12650677392a", + "modelName": "GMSpriteImage", + "mvc": "1.0", + "FrameId": "f0b079b1-d277-4e47-bf06-ce8374900887", + "LayerId": "00000000-0000-0000-0000-000000000000" + }, + "images": [ + { + "id": "5691249f-233e-4107-8e1a-21d526a5c16c", + "modelName": "GMSpriteImage", + "mvc": "1.0", + "FrameId": "f0b079b1-d277-4e47-bf06-ce8374900887", + "LayerId": "1a6da49d-fce8-44c7-a99a-106a6b5511bd" + } + ] + } + ], + "gridX": 0, + "gridY": 0, + "height": 10, + "layers": [ + { + "id": "1a6da49d-fce8-44c7-a99a-106a6b5511bd", + "modelName": "GMImageLayer", + "mvc": "1.0", + "SpriteId": "22002860-4acf-45cb-9462-19b60514b465", + "blendMode": 0, + "isLocked": false, + "name": "default", + "opacity": 100, + "visible": true + } + ], + "origin": 0, + "originLocked": false, + "playbackSpeed": 15, + "playbackSpeedType": 0, + "premultiplyAlpha": false, + "sepmasks": false, + "swatchColours": null, + "swfPrecision": 2.525, + "textureGroupId": "1225f6b0-ac20-43bd-a82e-be73fa0b6f4f", + "type": 0, + "width": 10, + "xorig": 0, + "yorig": 0 +} \ No newline at end of file diff --git a/undertale_engine.yyp b/undertale_engine.yyp index 0662766a..8263e4e0 100644 --- a/undertale_engine.yyp +++ b/undertale_engine.yyp @@ -710,6 +710,14 @@ "resourceType": "GMSprite" } }, + { + "Key": "22002860-4acf-45cb-9462-19b60514b465", + "Value": { + "id": "f2200bf3-e255-41fe-8b92-524b295895e3", + "resourcePath": "sprites\\spr_closed_captions_corner\\spr_closed_captions_corner.yy", + "resourceType": "GMSprite" + } + }, { "Key": "22c4762e-69fe-4ab3-a5af-a68459f4498a", "Value": { @@ -798,6 +806,14 @@ "resourceType": "GMScript" } }, + { + "Key": "286a909e-1725-4336-bcb9-49b0bf63ce4c", + "Value": { + "id": "887cfe5a-e6cd-4a21-9aed-939dbcfd5c29", + "resourcePath": "views\\286a909e-1725-4336-bcb9-49b0bf63ce4c.yy", + "resourceType": "GMFolder" + } + }, { "Key": "28d6d14b-c494-4111-b578-01c186cdd6ea", "Value": { @@ -902,6 +918,14 @@ "resourceType": "GMScript" } }, + { + "Key": "2f520413-6342-4150-bb01-d6a8ff1afb28", + "Value": { + "id": "c57143e6-9342-4adc-a1c1-76871152898d", + "resourcePath": "objects\\closed_captions\\closed_captions.yy", + "resourceType": "GMObject" + } + }, { "Key": "2f892e21-e8bc-4226-b296-9eea1b27fbd0", "Value": { @@ -2078,6 +2102,14 @@ "resourceType": "GMObject" } }, + { + "Key": "71a1ee7e-fba2-48ef-aebe-69423159c404", + "Value": { + "id": "ce465072-0a8a-473b-8f0a-063a1e659b6d", + "resourcePath": "scripts\\CC_Add\\CC_Add.yy", + "resourceType": "GMScript" + } + }, { "Key": "71b8b8dd-591d-46d2-bb82-feac2eb33c7e", "Value": { @@ -3310,6 +3342,14 @@ "resourceType": "GMScript" } }, + { + "Key": "b64133fc-0e27-4111-af20-95adeb2ae5ea", + "Value": { + "id": "b80628e7-05b1-4a2c-a51a-514f0d6043e6", + "resourcePath": "views\\b64133fc-0e27-4111-af20-95adeb2ae5ea.yy", + "resourceType": "GMFolder" + } + }, { "Key": "b739541a-12ca-4dc0-a951-289a28e9e387", "Value": { @@ -5000,7 +5040,8 @@ "0f02929d-7c23-4060-8e6a-d9dd4e54cdd7", "aca76236-2c67-44dd-ac16-aed1885167c8", "c0eb0dad-cbb0-46ee-a553-ee98b73a603f", - "c5e930c3-112f-4d63-a968-3f620963e6fc" + "c5e930c3-112f-4d63-a968-3f620963e6fc", + "71a1ee7e-fba2-48ef-aebe-69423159c404" ], "tutorial": "" } \ No newline at end of file diff --git a/views/286a909e-1725-4336-bcb9-49b0bf63ce4c.yy b/views/286a909e-1725-4336-bcb9-49b0bf63ce4c.yy new file mode 100644 index 00000000..140e0b1e --- /dev/null +++ b/views/286a909e-1725-4336-bcb9-49b0bf63ce4c.yy @@ -0,0 +1,13 @@ +{ + "id": "286a909e-1725-4336-bcb9-49b0bf63ce4c", + "modelName": "GMFolder", + "mvc": "1.1", + "name": "286a909e-1725-4336-bcb9-49b0bf63ce4c", + "children": [ + "71a1ee7e-fba2-48ef-aebe-69423159c404" + ], + "filterType": "GMScript", + "folderName": "CC", + "isDefaultView": false, + "localisedFolderName": "" +} \ No newline at end of file diff --git a/views/a5cbb91f-b47b-46fd-912e-5f0af55779b1.yy b/views/a5cbb91f-b47b-46fd-912e-5f0af55779b1.yy index 7498973f..e5cccb3d 100644 --- a/views/a5cbb91f-b47b-46fd-912e-5f0af55779b1.yy +++ b/views/a5cbb91f-b47b-46fd-912e-5f0af55779b1.yy @@ -9,6 +9,7 @@ "8ec5bab7-be6f-45ad-bdeb-6579d0cbbcff", "fcb70d31-aa2d-4e2a-ba27-dd55ffc397e5", "37242df5-5594-4210-bc04-bb5e57d53d76", + "2f520413-6342-4150-bb01-d6a8ff1afb28", "7a7a9d76-1a55-43e7-96e0-e3461aadd911", "b2a89c23-a716-4f1e-8a58-3649cd82560c", "c5c54acc-0e66-4b94-993d-f481079d41f7", diff --git a/views/b64133fc-0e27-4111-af20-95adeb2ae5ea.yy b/views/b64133fc-0e27-4111-af20-95adeb2ae5ea.yy new file mode 100644 index 00000000..3b31ad58 --- /dev/null +++ b/views/b64133fc-0e27-4111-af20-95adeb2ae5ea.yy @@ -0,0 +1,13 @@ +{ + "id": "b64133fc-0e27-4111-af20-95adeb2ae5ea", + "modelName": "GMFolder", + "mvc": "1.1", + "name": "b64133fc-0e27-4111-af20-95adeb2ae5ea", + "children": [ + "22002860-4acf-45cb-9462-19b60514b465" + ], + "filterType": "GMSprite", + "folderName": "CC", + "isDefaultView": false, + "localisedFolderName": "" +} \ No newline at end of file diff --git a/views/d229a841-5a9e-473b-8f11-9df3aa961748.yy b/views/d229a841-5a9e-473b-8f11-9df3aa961748.yy index fbfbb5fd..d1750b12 100644 --- a/views/d229a841-5a9e-473b-8f11-9df3aa961748.yy +++ b/views/d229a841-5a9e-473b-8f11-9df3aa961748.yy @@ -12,7 +12,8 @@ "cecf7283-61d6-4125-bf38-3e1f3761c7a6", "8935e612-1bb5-4b2e-b435-1517b19be283", "957b41a6-8140-4c2a-b0a5-7f32d0524260", - "33a3796b-8103-40dc-893f-21bb3b18a59a" + "33a3796b-8103-40dc-893f-21bb3b18a59a", + "b64133fc-0e27-4111-af20-95adeb2ae5ea" ], "filterType": "GMSprite", "folderName": "sprites", diff --git a/views/f1219eeb-1723-4d00-8cd0-2f8d84e1bd01.yy b/views/f1219eeb-1723-4d00-8cd0-2f8d84e1bd01.yy index 2e5fa067..996366cd 100644 --- a/views/f1219eeb-1723-4d00-8cd0-2f8d84e1bd01.yy +++ b/views/f1219eeb-1723-4d00-8cd0-2f8d84e1bd01.yy @@ -18,7 +18,8 @@ "45ce929b-35ff-4828-a5a8-5139924f5102", "1d2372ca-97fc-43cb-9b4c-3a67dfdd4e44", "7781ab07-be3a-4ca8-a209-c7cfbee05cb6", - "920c3e85-ddbe-47b7-90c4-3e0f41e28812" + "920c3e85-ddbe-47b7-90c4-3e0f41e28812", + "286a909e-1725-4336-bcb9-49b0bf63ce4c" ], "filterType": "GMScript", "folderName": "scripts", From e1cd96399e576b838930678a62f4e65f0c35f4cc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=B3=96=E8=90=8C=E8=8A=A6?= Date: Sun, 14 Apr 2019 13:57:30 +0800 Subject: [PATCH 05/10] Fix --- objects/closed_captions/Step_0.gml | 47 ++++++++++++++++++++---------- 1 file changed, 31 insertions(+), 16 deletions(-) diff --git a/objects/closed_captions/Step_0.gml b/objects/closed_captions/Step_0.gml index 2c62ac26..d35ce2f1 100644 --- a/objects/closed_captions/Step_0.gml +++ b/objects/closed_captions/Step_0.gml @@ -18,8 +18,12 @@ while(!ds_queue_empty(_queue_text)){ //处理显示时间 var proc=0; repeat(ds_list_size(_list_inst)){ - if(_list_time[|proc]>0){ - _list_time[|proc]-=1; + if(instance_exists(_list_inst[|proc])){ + if(_list_time[|proc]>0){ + _list_time[|proc]-=1; + } + }else{ + _list_time[|proc]=0; } proc+=1; } @@ -29,10 +33,12 @@ var proc=0; repeat(ds_list_size(_list_inst)){ if(_list_time[|proc]<=0){ var inst=_list_inst[|proc]; - Anim_Stop(inst,"alpha_override"); - Anim_New(inst,"alpha_override",0,0,1,-1,10); - ds_list_add(_list_destroy_inst,inst); - ds_list_add(_list_destroy_time,10); + if(instance_exists(inst)){ + Anim_Stop(inst,"alpha_override"); + Anim_New(inst,"alpha_override",0,0,1,-1,10); + ds_list_add(_list_destroy_inst,inst); + ds_list_add(_list_destroy_time,10); + } ds_list_delete(_list_inst,proc); ds_list_delete(_list_time,proc); //proc-=1; @@ -46,7 +52,9 @@ var proc=0; var height=0; repeat(ds_list_size(_list_inst)){ var inst=_list_inst[|proc]; - height+=inst.height; + if(instance_exists(inst)){ + height+=inst.height; + } proc+=1; } @@ -72,13 +80,15 @@ var proc=0; var yy=_y-up_show; repeat(ds_list_size(_list_inst)){ var inst=_list_inst[|proc]; - inst.x=_x-_left; - if(proc==ds_list_size(_list_inst)-1){ - inst.y=_y-inst.height; - }else{ - inst.y=yy; + if(instance_exists(inst)){ + inst.x=_x-_left; + if(proc==ds_list_size(_list_inst)-1){ + inst.y=_y-inst.height; + }else{ + inst.y=yy; + } + yy+=inst.height; } - yy+=inst.height; proc+=1; } @@ -86,12 +96,17 @@ repeat(ds_list_size(_list_inst)){ var proc=0; repeat(ds_list_size(_list_destroy_inst)){ if(_list_destroy_time[|proc]<=0){ - instance_destroy(_list_destroy_inst[|proc]); + var inst=_list_destroy_inst[|proc]; + if(instance_exists(inst)){ + instance_destroy(inst); + } + }else{ + _list_destroy_time[|proc]-=1; + } + if(!instance_exists(_list_destroy_inst[|proc])){ ds_list_delete(_list_destroy_inst,proc); ds_list_delete(_list_destroy_time,proc); proc-=1; - }else{ - _list_destroy_time[|proc]-=1; } proc+=1; } From 4f6b5a5eac09d1b929773621e75970c21a04ec4d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=B3=96=E8=90=8C=E8=8A=A6?= Date: Tue, 16 Apr 2019 21:08:02 +0800 Subject: [PATCH 06/10] Flag saving enhancement. --- scripts/Flag_GetSavePath/Flag_GetSavePath.gml | 15 +++++++++------ scripts/Macro_Game/Macro_Game.gml | 3 +++ scripts/Macro_Game/Macro_Game.yy | 8 ++++++++ undertale_engine.yyp | 9 +++++++++ views/95e88a7d-3f65-4bcc-baa0-d5071629656a.yy | 1 + 5 files changed, 30 insertions(+), 6 deletions(-) create mode 100644 scripts/Macro_Game/Macro_Game.gml create mode 100644 scripts/Macro_Game/Macro_Game.yy diff --git a/scripts/Flag_GetSavePath/Flag_GetSavePath.gml b/scripts/Flag_GetSavePath/Flag_GetSavePath.gml index 10613b21..89b30e0d 100644 --- a/scripts/Flag_GetSavePath/Flag_GetSavePath.gml +++ b/scripts/Flag_GetSavePath/Flag_GetSavePath.gml @@ -1,15 +1,18 @@ ///@arg type var TYPE=argument[0]; +var result="./"+GAME_NAME+"_"+game_id+"/"; switch(TYPE){ case FLAG_TYPE.STATIC: - return ("./"+string(Flag_GetSaveSlot())+"/static"); + result+=string(Flag_GetSaveSlot())+"/static"; case FLAG_TYPE.DYNAMIC: - return ("./"+string(Flag_GetSaveSlot())+"/dynamic"); + result+=string(Flag_GetSaveSlot())+"/dynamic"; case FLAG_TYPE.INFO: - return ("./"+string(Flag_GetSaveSlot())+"/info"); + result+=string(Flag_GetSaveSlot())+"/info"; case FLAG_TYPE.SETTINGS: - return ("./settings"); + result+="settings"; default: - return (""); -} \ No newline at end of file + result=""; +} + +return result; \ No newline at end of file diff --git a/scripts/Macro_Game/Macro_Game.gml b/scripts/Macro_Game/Macro_Game.gml new file mode 100644 index 00000000..72441ce8 --- /dev/null +++ b/scripts/Macro_Game/Macro_Game.gml @@ -0,0 +1,3 @@ +//Put your game name here. +//A~Z a~z 0~9 _ - only. +#macro GAME_NAME "game_name_here" \ No newline at end of file diff --git a/scripts/Macro_Game/Macro_Game.yy b/scripts/Macro_Game/Macro_Game.yy new file mode 100644 index 00000000..a8f8c2ce --- /dev/null +++ b/scripts/Macro_Game/Macro_Game.yy @@ -0,0 +1,8 @@ +{ + "id": "3539a799-1d0e-49b5-8c88-511215da7b19", + "modelName": "GMScript", + "mvc": "1.0", + "name": "Macro_Game", + "IsCompatibility": false, + "IsDnD": false +} \ No newline at end of file diff --git a/undertale_engine.yyp b/undertale_engine.yyp index 8263e4e0..2574060a 100644 --- a/undertale_engine.yyp +++ b/undertale_engine.yyp @@ -1062,6 +1062,14 @@ "resourceType": "GMScript" } }, + { + "Key": "3539a799-1d0e-49b5-8c88-511215da7b19", + "Value": { + "id": "fbbf282e-e143-4009-99e9-d6cf4edea89e", + "resourcePath": "scripts\\Macro_Game\\Macro_Game.yy", + "resourceType": "GMScript" + } + }, { "Key": "36554a22-d2a9-4db0-82dd-a42281994450", "Value": { @@ -4748,6 +4756,7 @@ "251bbc82-4032-4a58-a758-e0c4d23b93cf", "9c7a3da5-4d2a-4fdc-bd10-62ad73a72f5f", "b17a191f-75a1-406c-9984-2c616d345922", + "3539a799-1d0e-49b5-8c88-511215da7b19", "3ab51fa2-1d90-4d68-b265-c6438b3f2bb5", "63178f69-765e-4aa7-bf0c-ea3e69bc0d8d", "f9277ef1-fb66-45e2-958b-04ede8518c19", diff --git a/views/95e88a7d-3f65-4bcc-baa0-d5071629656a.yy b/views/95e88a7d-3f65-4bcc-baa0-d5071629656a.yy index c87402a9..c969574f 100644 --- a/views/95e88a7d-3f65-4bcc-baa0-d5071629656a.yy +++ b/views/95e88a7d-3f65-4bcc-baa0-d5071629656a.yy @@ -5,6 +5,7 @@ "name": "95e88a7d-3f65-4bcc-baa0-d5071629656a", "children": [ "b17a191f-75a1-406c-9984-2c616d345922", + "3539a799-1d0e-49b5-8c88-511215da7b19", "3ab51fa2-1d90-4d68-b265-c6438b3f2bb5", "63178f69-765e-4aa7-bf0c-ea3e69bc0d8d", "f9277ef1-fb66-45e2-958b-04ede8518c19", From 58a3f96f0877dbe53781f64f9ee1de6c2d3fcf62 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=B3=96=E8=90=8C=E8=8A=A6?= Date: Wed, 17 Apr 2019 17:59:56 +0800 Subject: [PATCH 07/10] Update * Added Game GUID. * Fixed Flag_Save crash. --- objects/world/Other_2.gml | 8 +++++++- scripts/Flag_GetSavePath/Flag_GetSavePath.gml | 9 ++++++++- scripts/Flag_Save/Flag_Save.gml | 2 +- scripts/Macro_Engine/Macro_Engine.gml | 2 +- scripts/Macro_Game/Macro_Game.gml | 20 ++++++++++++++++--- 5 files changed, 34 insertions(+), 7 deletions(-) diff --git a/objects/world/Other_2.gml b/objects/world/Other_2.gml index 82f85f93..d97cf3fd 100644 --- a/objects/world/Other_2.gml +++ b/objects/world/Other_2.gml @@ -39,7 +39,13 @@ application_surface_draw_enable(false); //Border_SetEnabled(true); -Console_OutputLine("UNDERTALE Engine "+ENGINE_VERSION); +Console_OutputLine("UNDERTALE by Toby Fox"); +Console_OutputLine("UNDERTALE Engine by TML"); +Console_OutputLine("Engine Version: "+ENGINE_VERSION); +Console_OutputLine("Game Name: "+GAME_NAME); +Console_OutputLine("Game Author: "+GAME_AUTHOR); +Console_OutputLine("Game Version: "+GAME_VERSION); +Console_OutputLine("Game GUID: "+GAME_GUID); //show_debug_overlay(true); diff --git a/scripts/Flag_GetSavePath/Flag_GetSavePath.gml b/scripts/Flag_GetSavePath/Flag_GetSavePath.gml index 89b30e0d..ce64948c 100644 --- a/scripts/Flag_GetSavePath/Flag_GetSavePath.gml +++ b/scripts/Flag_GetSavePath/Flag_GetSavePath.gml @@ -1,18 +1,25 @@ ///@arg type var TYPE=argument[0]; -var result="./"+GAME_NAME+"_"+game_id+"/"; +var result="./"+GAME_SAVE_NAME+"/"+GAME_GUID+"/"; switch(TYPE){ case FLAG_TYPE.STATIC: result+=string(Flag_GetSaveSlot())+"/static"; + break; + case FLAG_TYPE.DYNAMIC: result+=string(Flag_GetSaveSlot())+"/dynamic"; + break; case FLAG_TYPE.INFO: result+=string(Flag_GetSaveSlot())+"/info"; + break; case FLAG_TYPE.SETTINGS: result+="settings"; + break; + default: result=""; + break; } return result; \ No newline at end of file diff --git a/scripts/Flag_Save/Flag_Save.gml b/scripts/Flag_Save/Flag_Save.gml index 63c6a115..0e4085e1 100644 --- a/scripts/Flag_Save/Flag_Save.gml +++ b/scripts/Flag_Save/Flag_Save.gml @@ -6,7 +6,7 @@ var map_f=-1; if(ds_map_exists(map,TYPE)){ map_f=ds_map_find_value(map,TYPE); }else{ - Console_OutputLine("Attempted to save non-existing flag type "+string(TYPE)+" to \""+PATH+"\"!") + Console_OutputLine("Attempted to save non-existing flag type "+string(TYPE)+"!"); return false; } diff --git a/scripts/Macro_Engine/Macro_Engine.gml b/scripts/Macro_Engine/Macro_Engine.gml index a88ea61e..72cfbb2c 100644 --- a/scripts/Macro_Engine/Macro_Engine.gml +++ b/scripts/Macro_Engine/Macro_Engine.gml @@ -1 +1 @@ -#macro ENGINE_VERSION "v0.1.0" \ No newline at end of file +#macro ENGINE_VERSION "v0.2.0" \ No newline at end of file diff --git a/scripts/Macro_Game/Macro_Game.gml b/scripts/Macro_Game/Macro_Game.gml index 72441ce8..aeabff13 100644 --- a/scripts/Macro_Game/Macro_Game.gml +++ b/scripts/Macro_Game/Macro_Game.gml @@ -1,3 +1,17 @@ -//Put your game name here. -//A~Z a~z 0~9 _ - only. -#macro GAME_NAME "game_name_here" \ No newline at end of file +//Anything you want, must be a string. +#macro GAME_NAME "UNDERTALE Engine" + +//Anything you want, must be a string. +#macro GAME_AUTHOR "TML" + +//Anything you want, must be a string. +#macro GAME_VERSION "v0.0.0" + +//Anything you want, must be a string. +//Can only contain letters numbers and underscores(_). +#macro GAME_SAVE_NAME "undertale_engine" + +//A GUID, must be a string. +//IMPORTANT! Generate a new one instead of using the default "b07d1802-ec9e-4c54-a1e3-3627aea1c7d8"!! +//Generate GUID here: https://www.guidgen.com/ +#macro GAME_GUID "{"+string_upper("b07d1802-ec9e-4c54-a1e3-3627aea1c7d8")+"}" \ No newline at end of file From edf9965339206b9f1705b8ec99952f543d8e03b9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=B3=96=E8=90=8C=E8=8A=A6?= Date: Wed, 17 Apr 2019 20:14:00 +0800 Subject: [PATCH 08/10] Update * Add "Leave" event for triggers. --- objects/trigger/Create_0.gml | 1 - objects/trigger/Other_10.gml | 6 +---- objects/trigger/Other_11.gml | 1 + objects/trigger/Step_0.gml | 44 +++++++++++------------------------- objects/trigger/trigger.yy | 10 ++++++++ 5 files changed, 25 insertions(+), 37 deletions(-) create mode 100644 objects/trigger/Other_11.gml diff --git a/objects/trigger/Create_0.gml b/objects/trigger/Create_0.gml index 7960f5be..5b9e8dea 100644 --- a/objects/trigger/Create_0.gml +++ b/objects/trigger/Create_0.gml @@ -1,3 +1,2 @@ user_char=-1; -multiple=false; _triggered=false; \ No newline at end of file diff --git a/objects/trigger/Other_10.gml b/objects/trigger/Other_10.gml index 3921ad2f..9b37e205 100644 --- a/objects/trigger/Other_10.gml +++ b/objects/trigger/Other_10.gml @@ -1,6 +1,2 @@ ///@desc Trigger -if(_triggered){ - exit; -}else{ - _triggered=true; -} \ No newline at end of file +_triggered=true; \ No newline at end of file diff --git a/objects/trigger/Other_11.gml b/objects/trigger/Other_11.gml new file mode 100644 index 00000000..c35a1cb2 --- /dev/null +++ b/objects/trigger/Other_11.gml @@ -0,0 +1 @@ +///@desc Leave \ No newline at end of file diff --git a/objects/trigger/Step_0.gml b/objects/trigger/Step_0.gml index 32304b9b..c625c80b 100644 --- a/objects/trigger/Step_0.gml +++ b/objects/trigger/Step_0.gml @@ -1,37 +1,19 @@ -if(!_triggered){ - var user=user_char; - if(user>=-1){ - var result=false; - if(instance_exists(char)){ - with(char){ - if(char_id==user||user==-1){ - result=place_meeting(x,y,other); - if(result){ - break; - } +var user=user_char; +if(user!=-1){ + var result=false; + if(instance_exists(char)){ + with(char){ + if(char_id==user||user==-1){ + result=place_meeting(x,y,other); + if(result){ + break; } } } - if(result){ - event_user(0); - } } -}else if(multiple){ - var user=user_char; - if(user>=-1){ - var result=false; - if(instance_exists(char)){ - with(char){ - if(char_id==user||user==-1){ - result=place_meeting(x,y,other); - if(result){ - break; - } - } - } - } - if(!result){ - _triggered=false; - } + if(!_triggered&&result){ + event_user(0); + }else if(_triggered&&!result){ + event_user(1); } } \ No newline at end of file diff --git a/objects/trigger/trigger.yy b/objects/trigger/trigger.yy index 22a61255..f4c55433 100644 --- a/objects/trigger/trigger.yy +++ b/objects/trigger/trigger.yy @@ -33,6 +33,16 @@ "enumb": 0, "eventtype": 3, "m_owner": "fa40414b-ccdc-4c4e-824b-97acde61532b" + }, + { + "id": "940adb96-4f34-4afc-9a37-5404b0abc7cd", + "modelName": "GMEvent", + "mvc": "1.0", + "IsDnD": false, + "collisionObjectId": "00000000-0000-0000-0000-000000000000", + "enumb": 11, + "eventtype": 7, + "m_owner": "fa40414b-ccdc-4c4e-824b-97acde61532b" } ], "maskSpriteId": "00000000-0000-0000-0000-000000000000", From d7e17bec5b800a7482b9d2ad043cbc86a90d0165 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=B3=96=E8=90=8C=E8=8A=A6?= Date: Wed, 17 Apr 2019 20:48:49 +0800 Subject: [PATCH 09/10] Update * Fixed the step event code of the triggers. --- objects/trigger/Create_0.gml | 3 ++- objects/trigger/Step_0.gml | 28 ++++++++++++++-------------- 2 files changed, 16 insertions(+), 15 deletions(-) diff --git a/objects/trigger/Create_0.gml b/objects/trigger/Create_0.gml index 5b9e8dea..5fcb4d85 100644 --- a/objects/trigger/Create_0.gml +++ b/objects/trigger/Create_0.gml @@ -1,2 +1,3 @@ user_char=-1; -_triggered=false; \ No newline at end of file +_triggered=false; +_collided_previous=false; \ No newline at end of file diff --git a/objects/trigger/Step_0.gml b/objects/trigger/Step_0.gml index c625c80b..d0cb7d05 100644 --- a/objects/trigger/Step_0.gml +++ b/objects/trigger/Step_0.gml @@ -1,19 +1,19 @@ var user=user_char; -if(user!=-1){ - var result=false; - if(instance_exists(char)){ - with(char){ - if(char_id==user||user==-1){ - result=place_meeting(x,y,other); - if(result){ - break; - } +var result=false; +if(instance_exists(char)){ + with(char){ + if(char_id==user||user==-1){ + result=place_meeting(x,y,other); + if(result){ + break; } } } - if(!_triggered&&result){ - event_user(0); - }else if(_triggered&&!result){ - event_user(1); - } +} +if(!_triggered&&result){ + event_user(0); + _collided_previous=true; +}else if(_triggered&&_collided_previous&&!result){ + event_user(1); + _collided_previous=false; } \ No newline at end of file From 200ec64db989192adf2abd328c9e16971a91fa1d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=B3=96=E8=90=8C=E8=8A=A6?= Date: Wed, 17 Apr 2019 21:15:47 +0800 Subject: [PATCH 10/10] Fixed naming "papyru" error. --- objects/menu/Other_14.gml | 1 - 1 file changed, 1 deletion(-) diff --git a/objects/menu/Other_14.gml b/objects/menu/Other_14.gml index 0e00a540..da979110 100644 --- a/objects/menu/Other_14.gml +++ b/objects/menu/Other_14.gml @@ -37,7 +37,6 @@ switch(string_lower(_naming_name)){ break; case "papyru": text=Lang_GetString("menu.confirm.title.papyru"); - valid=false; break; case "undyne": text=Lang_GetString("menu.confirm.title.undyne");