Beispiel #1
0
        private static ResultData GetData(_Scene scene, RomFile file, InCutsceneData inData)
        {
            ResultData outdata = new(scene, inData);

            if (!scene.TryConvertToRom(inData.RamStart, out int romAddr))
            {
                outdata.result = ResultData.ResultType.Limit_UnallocatedSpace;
                return(outdata);
            }
            outdata.cutsceneRomAddress = romAddr;
            //else in range
            file.Stream.Position = file.Record.GetRelativeAddress(romAddr);

            try
            {
                Cutscene cs = new(file);

                if (cs.CommandCount < 0 || cs.Frames < 0)
                {
                    outdata.result = ResultData.ResultType.Success_InvalidCutscene;
                }

                else if (cs.CommandCapReached)
                {
                    outdata.result = ResultData.ResultType.Error_CutsceneParserLimitReached;
                }

                else
                {
                    outdata.result = ResultData.ResultType.Success_ValidCutscene;
                }
            }
            catch
            {
                outdata.result = ResultData.ResultType.Exception;
            }
            return(outdata);
        }
Beispiel #2
0
 public ResultData(_Scene s, InCutsceneData inData)
 {
     this.scene  = s;
     this.inData = inData;
 }