mirror of
https://github.com/FunkinCrew/Funkin.git
synced 2024-11-27 01:55:52 -05:00
Fixed an issue where dialogue scripts were not being reloaded
This commit is contained in:
parent
00cfeeff72
commit
ba53957191
5 changed files with 47 additions and 21 deletions
|
@ -14,6 +14,16 @@ import funkin.util.macro.MacroUtil;
|
||||||
import funkin.util.WindowUtil;
|
import funkin.util.WindowUtil;
|
||||||
import funkin.play.PlayStatePlaylist;
|
import funkin.play.PlayStatePlaylist;
|
||||||
import openfl.display.BitmapData;
|
import openfl.display.BitmapData;
|
||||||
|
import funkin.data.level.LevelRegistry;
|
||||||
|
import funkin.data.notestyle.NoteStyleRegistry;
|
||||||
|
import funkin.play.event.SongEventData.SongEventParser;
|
||||||
|
import funkin.play.cutscene.dialogue.ConversationDataParser;
|
||||||
|
import funkin.play.cutscene.dialogue.DialogueBoxDataParser;
|
||||||
|
import funkin.play.cutscene.dialogue.SpeakerDataParser;
|
||||||
|
import funkin.play.song.SongData.SongDataParser;
|
||||||
|
import funkin.play.stage.StageData.StageDataParser;
|
||||||
|
import funkin.play.character.CharacterData.CharacterDataParser;
|
||||||
|
import funkin.modding.module.ModuleHandler;
|
||||||
#if discord_rpc
|
#if discord_rpc
|
||||||
import Discord.DiscordClient;
|
import Discord.DiscordClient;
|
||||||
#end
|
#end
|
||||||
|
@ -180,18 +190,22 @@ class InitState extends FlxTransitionableState
|
||||||
//
|
//
|
||||||
// GAME DATA PARSING
|
// GAME DATA PARSING
|
||||||
//
|
//
|
||||||
funkin.data.level.LevelRegistry.instance.loadEntries();
|
|
||||||
funkin.play.event.SongEventData.SongEventParser.loadEventCache();
|
|
||||||
funkin.play.cutscene.dialogue.ConversationDataParser.loadConversationCache();
|
|
||||||
funkin.play.cutscene.dialogue.DialogueBoxDataParser.loadDialogueBoxCache();
|
|
||||||
funkin.play.cutscene.dialogue.SpeakerDataParser.loadSpeakerCache();
|
|
||||||
funkin.play.song.SongData.SongDataParser.loadSongCache();
|
|
||||||
funkin.play.stage.StageData.StageDataParser.loadStageCache();
|
|
||||||
funkin.play.character.CharacterData.CharacterDataParser.loadCharacterCache();
|
|
||||||
funkin.modding.module.ModuleHandler.buildModuleCallbacks();
|
|
||||||
funkin.modding.module.ModuleHandler.loadModuleCache();
|
|
||||||
|
|
||||||
funkin.modding.module.ModuleHandler.callOnCreate();
|
// NOTE: Registries and data parsers must be imported and not referenced with fully qualified names,
|
||||||
|
// to ensure build macros work properly.
|
||||||
|
LevelRegistry.instance.loadEntries();
|
||||||
|
NoteStyleRegistry.instance.loadEntries();
|
||||||
|
SongEventParser.loadEventCache();
|
||||||
|
ConversationDataParser.loadConversationCache();
|
||||||
|
DialogueBoxDataParser.loadDialogueBoxCache();
|
||||||
|
SpeakerDataParser.loadSpeakerCache();
|
||||||
|
SongDataParser.loadSongCache();
|
||||||
|
StageDataParser.loadStageCache();
|
||||||
|
CharacterDataParser.loadCharacterCache();
|
||||||
|
ModuleHandler.buildModuleCallbacks();
|
||||||
|
ModuleHandler.loadModuleCache();
|
||||||
|
|
||||||
|
ModuleHandler.callOnCreate();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -10,6 +10,11 @@ import polymod.backends.PolymodAssets.PolymodAssetType;
|
||||||
import polymod.format.ParseRules.TextFileFormat;
|
import polymod.format.ParseRules.TextFileFormat;
|
||||||
import funkin.play.event.SongEventData.SongEventParser;
|
import funkin.play.event.SongEventData.SongEventParser;
|
||||||
import funkin.util.FileUtil;
|
import funkin.util.FileUtil;
|
||||||
|
import funkin.data.level.LevelRegistry;
|
||||||
|
import funkin.data.notestyle.NoteStyleRegistry;
|
||||||
|
import funkin.play.cutscene.dialogue.ConversationDataParser;
|
||||||
|
import funkin.play.cutscene.dialogue.DialogueBoxDataParser;
|
||||||
|
import funkin.play.cutscene.dialogue.SpeakerDataParser;
|
||||||
|
|
||||||
class PolymodHandler
|
class PolymodHandler
|
||||||
{
|
{
|
||||||
|
@ -279,12 +284,14 @@ class PolymodHandler
|
||||||
|
|
||||||
// TODO: Reload event callbacks
|
// TODO: Reload event callbacks
|
||||||
|
|
||||||
funkin.data.level.LevelRegistry.instance.loadEntries();
|
// These MUST be imported at the top of the file and not referred to by fully qualified name,
|
||||||
|
// to ensure build macros work properly.
|
||||||
|
LevelRegistry.instance.loadEntries();
|
||||||
|
NoteStyleRegistry.instance.loadEntries();
|
||||||
SongEventParser.loadEventCache();
|
SongEventParser.loadEventCache();
|
||||||
// TODO: Uncomment this once conversation data is implemented.
|
ConversationDataParser.loadConversationCache();
|
||||||
// ConversationDataParser.loadConversationCache();
|
DialogueBoxDataParser.loadDialogueBoxCache();
|
||||||
// DialogueBoxDataParser.loadDialogueBoxCache();
|
SpeakerDataParser.loadSpeakerCache();
|
||||||
// SpeakerDataParser.loadSpeakerCache();
|
|
||||||
SongDataParser.loadSongCache();
|
SongDataParser.loadSongCache();
|
||||||
StageDataParser.loadStageCache();
|
StageDataParser.loadStageCache();
|
||||||
CharacterDataParser.loadCharacterCache();
|
CharacterDataParser.loadCharacterCache();
|
||||||
|
|
|
@ -21,7 +21,7 @@ class DialogueBoxDataParser
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Parses and preloads the game's dialogueBox data and scripts when the game starts.
|
* Parses and preloads the game's dialogueBox data and scripts when the game starts.
|
||||||
*
|
*
|
||||||
* If you want to force dialogue boxes to be reloaded, you can just call this function again.
|
* If you want to force dialogue boxes to be reloaded, you can just call this function again.
|
||||||
*/
|
*/
|
||||||
public static function loadDialogueBoxCache():Void
|
public static function loadDialogueBoxCache():Void
|
||||||
|
@ -123,7 +123,7 @@ class DialogueBoxDataParser
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Load a dialogueBox's JSON file, parse its data, and return it.
|
* Load a dialogueBox's JSON file, parse its data, and return it.
|
||||||
*
|
*
|
||||||
* @param dialogueBoxId The dialogueBox to load.
|
* @param dialogueBoxId The dialogueBox to load.
|
||||||
* @return The dialogueBox data, or null if validation failed.
|
* @return The dialogueBox data, or null if validation failed.
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -1,4 +1,9 @@
|
||||||
package funkin.play.cutscene.dialogue;
|
package funkin.play.cutscene.dialogue;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* A script that can be tied to a Speaker.
|
||||||
|
* Create a scripted class that extends Speaker to use this.
|
||||||
|
* This allows you to customize how a specific conversation speaker appears.
|
||||||
|
*/
|
||||||
@:hscriptClass
|
@:hscriptClass
|
||||||
class ScriptedSpeaker extends Speaker implements polymod.hscript.HScriptedClass {}
|
class ScriptedSpeaker extends funkin.play.cutscene.dialogue.Speaker implements polymod.hscript.HScriptedClass {}
|
||||||
|
|
|
@ -21,7 +21,7 @@ class SpeakerDataParser
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Parses and preloads the game's speaker data and scripts when the game starts.
|
* Parses and preloads the game's speaker data and scripts when the game starts.
|
||||||
*
|
*
|
||||||
* If you want to force speakers to be reloaded, you can just call this function again.
|
* If you want to force speakers to be reloaded, you can just call this function again.
|
||||||
*/
|
*/
|
||||||
public static function loadSpeakerCache():Void
|
public static function loadSpeakerCache():Void
|
||||||
|
@ -123,7 +123,7 @@ class SpeakerDataParser
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Load a speaker's JSON file, parse its data, and return it.
|
* Load a speaker's JSON file, parse its data, and return it.
|
||||||
*
|
*
|
||||||
* @param speakerId The speaker to load.
|
* @param speakerId The speaker to load.
|
||||||
* @return The speaker data, or null if validation failed.
|
* @return The speaker data, or null if validation failed.
|
||||||
*/
|
*/
|
||||||
|
|
Loading…
Reference in a new issue