mirror of https://github.com/zeldaret/botw.git
ksys/snd: Add MusicInfo and subclasses
This commit is contained in:
parent
5367d0c85a
commit
b3d32fb766
|
|
@ -85554,7 +85554,7 @@ Address,Quality,Size,Name
|
|||
0x00000071010018b4,U,000412,dragonBgmDebugStuff
|
||||
0x0000007101001a50,U,000204,
|
||||
0x0000007101001b1c,U,000092,
|
||||
0x0000007101001b78,U,000428,
|
||||
0x0000007101001b78,O,000428,_ZN4ksys3snd13DragonBgmInfo10DragonEnum5text_Ei
|
||||
0x0000007101001d24,U,000428,
|
||||
0x0000007101001ed0,U,000224,
|
||||
0x0000007101001fb0,U,000428,
|
||||
|
|
@ -85688,7 +85688,7 @@ Address,Quality,Size,Name
|
|||
0x000000710100701c,U,000240,_ZN4sead15FixedSafeStringILi480EEaSERKNS_14SafeStringBaseIcEE
|
||||
0x000000710100710c,U,000004,j__ZdlPv_1045
|
||||
0x0000007101007110,U,000240,_ZN4sead19FixedSafeStringBaseIcLi480EEaSERKNS_14SafeStringBaseIcEE
|
||||
0x0000007101007200,U,000428,
|
||||
0x0000007101007200,O,000428,_ZN4ksys3snd10EnvBgmInfo11EnvTimeEnum5text_Ei
|
||||
0x00000071010073ac,U,000004,nullsub_4351
|
||||
0x00000071010073b0,U,000004,j__ZdlPv_1046
|
||||
0x00000071010073b4,U,000064,
|
||||
|
|
@ -86114,133 +86114,133 @@ Address,Quality,Size,Name
|
|||
0x0000007101015618,U,000008,
|
||||
0x0000007101015620,U,000008,
|
||||
0x0000007101015628,U,000920,
|
||||
0x00000071010159c0,U,000488,
|
||||
0x0000007101015ba8,U,001976,
|
||||
0x0000007101016360,U,000812,
|
||||
0x000000710101668c,U,000804,
|
||||
0x00000071010169b0,U,000804,
|
||||
0x0000007101016cd4,U,000328,
|
||||
0x0000007101016e1c,U,000880,
|
||||
0x000000710101718c,U,000120,
|
||||
0x0000007101017204,U,000340,
|
||||
0x0000007101017358,U,000400,
|
||||
0x00000071010174e8,U,001260,
|
||||
0x00000071010179d4,U,000120,
|
||||
0x0000007101017a4c,U,000632,
|
||||
0x0000007101017cc4,U,000120,
|
||||
0x0000007101017d3c,U,000748,
|
||||
0x0000007101018028,U,000120,
|
||||
0x00000071010180a0,U,000392,
|
||||
0x0000007101018228,U,000120,
|
||||
0x00000071010182a0,U,000384,
|
||||
0x0000007101018420,U,000120,
|
||||
0x0000007101018498,U,002108,
|
||||
0x0000007101018cd4,U,000120,
|
||||
0x0000007101018d4c,U,000532,
|
||||
0x0000007101018f60,U,000120,
|
||||
0x0000007101018fd8,U,000340,
|
||||
0x000000710101912c,U,000460,
|
||||
0x00000071010192f8,U,000120,
|
||||
0x0000007101019370,U,001064,
|
||||
0x0000007101019798,U,000120,
|
||||
0x0000007101019810,U,000460,
|
||||
0x00000071010199dc,U,000120,
|
||||
0x0000007101019a54,U,000500,
|
||||
0x0000007101019c48,U,000328,
|
||||
0x0000007101019d90,U,000380,
|
||||
0x0000007101019f0c,U,000120,
|
||||
0x0000007101019f84,U,000612,
|
||||
0x000000710101a1e8,U,000120,
|
||||
0x000000710101a260,U,000388,
|
||||
0x000000710101a3e4,U,000120,
|
||||
0x000000710101a45c,U,000524,
|
||||
0x000000710101a668,U,000576,
|
||||
0x000000710101a8a8,U,000376,
|
||||
0x000000710101aa20,U,000120,
|
||||
0x000000710101aa98,U,000392,
|
||||
0x000000710101ac20,U,000120,
|
||||
0x000000710101ac98,U,000452,
|
||||
0x000000710101ae5c,U,000120,
|
||||
0x000000710101aed4,U,000120,
|
||||
0x000000710101af4c,U,000528,
|
||||
0x000000710101b15c,U,000120,
|
||||
0x000000710101b1d4,U,000760,
|
||||
0x000000710101b4cc,U,000120,
|
||||
0x00000071010159c0,O,000488,_ZN4ksys3snd10EnvBgmInfo12ParamPerTypeC1Ev
|
||||
0x0000007101015ba8,O,001976,_ZN4ksys3snd10EnvBgmInfoC1Ev
|
||||
0x0000007101016360,O,000812,_ZN4ksys3snd9MusicInfo6MinMaxIfEC2EffRKN4sead14SafeStringBaseIcEES8_S8_PN3agl3utl14IParameterListE
|
||||
0x000000710101668c,O,000804,_ZN4ksys3snd9MusicInfo6MinMaxIiEC2EiiRKN4sead14SafeStringBaseIcEES8_S8_PN3agl3utl14IParameterListE
|
||||
0x00000071010169b0,O,000804,_ZN4ksys3snd9MusicInfo6MinMaxIjEC2EjjRKN4sead14SafeStringBaseIcEES8_S8_PN3agl3utl14IParameterListE
|
||||
0x0000007101016cd4,O,000328,_ZN4ksys3snd10EnvBgmInfo4initEPN4sead4HeapE
|
||||
0x0000007101016e1c,O,000880,_ZN4ksys3snd12HorseBgmInfoC1Ev
|
||||
0x000000710101718c,O,000120,_ZN4ksys3snd12HorseBgmInfo4initEPN4sead4HeapE
|
||||
0x0000007101017204,O,000340,_ZN4ksys3snd18TemperatureBgmInfo12ParamPerTypeC1Ev
|
||||
0x0000007101017358,O,000400,_ZN4ksys3snd18TemperatureBgmInfo4initEPN4sead4HeapE
|
||||
0x00000071010174e8,O,001260,_ZN4ksys3snd11SpotBgmInfoC1Ev
|
||||
0x00000071010179d4,O,000120,_ZN4ksys3snd11SpotBgmInfo4initEPN4sead4HeapE
|
||||
0x0000007101017a4c,O,000632,_ZN4ksys3snd17MazeForestBgmInfoC1Ev
|
||||
0x0000007101017cc4,O,000120,_ZN4ksys3snd17MazeForestBgmInfo4initEPN4sead4HeapE
|
||||
0x0000007101017d3c,O,000748,_ZN4ksys3snd13CastleBgmInfoC1Ev
|
||||
0x0000007101018028,O,000120,_ZN4ksys3snd13CastleBgmInfo4initEPN4sead4HeapE
|
||||
0x00000071010180a0,O,000392,_ZN4ksys3snd14BigMazeBgmInfoC1Ev
|
||||
0x0000007101018228,O,000120,_ZN4ksys3snd14BigMazeBgmInfo4initEPN4sead4HeapE
|
||||
0x00000071010182a0,O,000384,_ZN4ksys3snd19AnimalMasterBgmInfoC1Ev
|
||||
0x0000007101018420,O,000120,_ZN4ksys3snd19AnimalMasterBgmInfo4initEPN4sead4HeapE
|
||||
0x0000007101018498,O,002108,_ZN4ksys3snd18FieldBattleBgmInfoC1Ev
|
||||
0x0000007101018cd4,O,000120,_ZN4ksys3snd18FieldBattleBgmInfo4initEPN4sead4HeapE
|
||||
0x0000007101018d4c,O,000532,_ZN4ksys3snd11BossBgmInfoC1Ev
|
||||
0x0000007101018f60,O,000120,_ZN4ksys3snd11BossBgmInfo4initEPN4sead4HeapE
|
||||
0x0000007101018fd8,O,000340,_ZN4ksys3snd15SandwormBgmInfoC1Ev
|
||||
0x000000710101912c,O,000460,_ZN4ksys3snd21AssassinSeniorBgmInfoC1Ev
|
||||
0x00000071010192f8,O,000120,_ZN4ksys3snd21AssassinSeniorBgmInfo4initEPN4sead4HeapE
|
||||
0x0000007101019370,O,001064,_ZN4ksys3snd15GuardianBgmInfoC1Ev
|
||||
0x0000007101019798,O,000120,_ZN4ksys3snd15GuardianBgmInfo4initEPN4sead4HeapE
|
||||
0x0000007101019810,O,000460,_ZN4ksys3snd20GuardianFixedBgmInfoC1Ev
|
||||
0x00000071010199dc,O,000120,_ZN4ksys3snd20GuardianFixedBgmInfo4initEPN4sead4HeapE
|
||||
0x0000007101019a54,O,000500,_ZN4ksys3snd13DragonBgmInfo12ParamPerTypeC1Ev
|
||||
0x0000007101019c48,O,000328,_ZN4ksys3snd13DragonBgmInfo4initEPN4sead4HeapE
|
||||
0x0000007101019d90,O,000380,_ZN4ksys3snd24GanonGrudgeBattleBgmInfoC1Ev
|
||||
0x0000007101019f0c,O,000120,_ZN4ksys3snd24GanonGrudgeBattleBgmInfo4initEPN4sead4HeapE
|
||||
0x0000007101019f84,O,000612,_ZN4ksys3snd29EventBgmRemainsElecBattleInfoC1Ev
|
||||
0x000000710101a1e8,O,000120,_ZN4ksys3snd29EventBgmRemainsElecBattleInfo4initEPN4sead4HeapE
|
||||
0x000000710101a260,O,000388,_ZN4ksys3snd29EventBgmRemainsFireBattleInfoC1Ev
|
||||
0x000000710101a3e4,O,000120,_ZN4ksys3snd29EventBgmRemainsFireBattleInfo4initEPN4sead4HeapE
|
||||
0x000000710101a45c,O,000524,_ZN4ksys3snd20DungeonNormalBgmInfo14PartChangeOddsC1Ev
|
||||
0x000000710101a668,O,000576,_ZN4ksys3snd20DungeonNormalBgmInfoC1Ev
|
||||
0x000000710101a8a8,O,000376,_ZN4ksys3snd20DungeonNormalBgmInfo4initEPN4sead4HeapE
|
||||
0x000000710101aa20,O,000120,_ZN4ksys3snd20DungeonRewardBgmInfo4initEPN4sead4HeapE
|
||||
0x000000710101aa98,O,000392,_ZN4ksys3snd20DungeonBattleBgmInfoC1Ev
|
||||
0x000000710101ac20,O,000120,_ZN4ksys3snd20DungeonBattleBgmInfo4initEPN4sead4HeapE
|
||||
0x000000710101ac98,O,000452,_ZN4ksys3snd20RemainsNormalBgmInfoC1Ev
|
||||
0x000000710101ae5c,O,000120,_ZN4ksys3snd20RemainsNormalBgmInfo4initEPN4sead4HeapE
|
||||
0x000000710101aed4,O,000120,_ZN4ksys3snd28TutorialDungeonBattleBgmInfo4initEPN4sead4HeapE
|
||||
0x000000710101af4c,O,000528,_ZN4ksys3snd17GanonBeastBgmInfoC1Ev
|
||||
0x000000710101b15c,O,000120,_ZN4ksys3snd17GanonBeastBgmInfo4initEPN4sead4HeapE
|
||||
0x000000710101b1d4,O,000760,_ZN4ksys3snd27FinalTrialBossBattleBgmInfoC1Ev
|
||||
0x000000710101b4cc,O,000120,_ZN4ksys3snd27FinalTrialBossBattleBgmInfo4initEPN4sead4HeapE
|
||||
0x000000710101b544,U,000016,
|
||||
0x000000710101b554,U,000340,
|
||||
0x000000710101b6a8,U,000244,
|
||||
0x000000710101b554,O,000340,_ZN4ksys3snd25EnvPaletteReactiveBgmInfo12ParamPerTypeC1Ev
|
||||
0x000000710101b6a8,O,000244,_ZN4ksys3snd25EnvPaletteReactiveBgmInfo4initEPN4sead4HeapE
|
||||
0x000000710101b79c,U,000176,
|
||||
0x000000710101b84c,U,001372,
|
||||
0x000000710101bda8,U,000288,
|
||||
0x000000710101bec8,U,000004,j__ZdlPv_1060
|
||||
0x000000710101becc,U,000084,
|
||||
0x000000710101bf20,U,000004,j__ZdlPv_1061
|
||||
0x000000710101bf24,U,000024,
|
||||
0x000000710101bf3c,U,000004,j__ZdlPv_1062
|
||||
0x000000710101bf40,U,000104,
|
||||
0x000000710101bfa8,U,000004,j__ZdlPv_1063
|
||||
0x000000710101bfac,U,000072,
|
||||
0x000000710101bff4,U,000004,j__ZdlPv_1064
|
||||
0x000000710101bff8,U,000080,
|
||||
0x000000710101c048,U,000004,j__ZdlPv_1065
|
||||
0x000000710101c04c,U,000060,
|
||||
0x000000710101c088,U,000004,j__ZdlPv_1066
|
||||
0x000000710101c08c,U,000060,
|
||||
0x000000710101c0c8,U,000004,j__ZdlPv_1067
|
||||
0x000000710101c0cc,U,000148,
|
||||
0x000000710101c160,U,000004,j__ZdlPv_1068
|
||||
0x000000710101c164,U,000068,
|
||||
0x000000710101c1a8,U,000004,j__ZdlPv_1069
|
||||
0x000000710101c1ac,U,000064,
|
||||
0x000000710101c1ec,U,000004,j__ZdlPv_1070
|
||||
0x000000710101c1f0,U,000092,
|
||||
0x000000710101c24c,U,000004,j__ZdlPv_1071
|
||||
0x000000710101c250,U,000064,
|
||||
0x000000710101c290,U,000004,j__ZdlPv_1072
|
||||
0x000000710101c294,U,000024,
|
||||
0x000000710101c2ac,U,000004,j__ZdlPv_1073
|
||||
0x000000710101c2b0,U,000060,
|
||||
0x000000710101c2ec,U,000004,j__ZdlPv_1074
|
||||
0x000000710101c2f0,U,000072,
|
||||
0x000000710101c338,U,000004,j__ZdlPv_1075
|
||||
0x000000710101c33c,U,000060,
|
||||
0x000000710101c378,U,000004,j__ZdlPv_1076
|
||||
0x000000710101c37c,U,000072,
|
||||
0x000000710101c3c4,U,000004,j__ZdlPv_1077
|
||||
0x000000710101c3c8,U,000056,
|
||||
0x000000710101c400,U,000004,j__ZdlPv_1078
|
||||
0x000000710101c404,U,000060,
|
||||
0x000000710101c440,U,000004,j__ZdlPv_1079
|
||||
0x000000710101c444,U,000064,
|
||||
0x000000710101c484,U,000004,j__ZdlPv_1080
|
||||
0x000000710101c488,U,000056,
|
||||
0x000000710101c4c0,U,000004,j__ZdlPv_1081
|
||||
0x000000710101c4c4,U,000068,
|
||||
0x000000710101c508,U,000004,j__ZdlPv_1082
|
||||
0x000000710101c50c,U,000080,
|
||||
0x000000710101c55c,U,000004,j__ZdlPv_1083
|
||||
0x000000710101c560,U,000024,
|
||||
0x000000710101c578,U,000004,j__ZdlPv_1084
|
||||
0x000000710101c57c,U,000052,
|
||||
0x000000710101c5b0,U,000004,j__ZdlPv_1085
|
||||
0x000000710101c5b4,U,000044,
|
||||
0x000000710101c5e0,U,000004,j__ZdlPv_1086
|
||||
0x000000710101c5e4,U,000080,
|
||||
0x000000710101c634,U,000004,j__ZdlPv_1087
|
||||
0x000000710101c638,U,000052,
|
||||
0x000000710101c66c,U,000004,j__ZdlPv_1088
|
||||
0x000000710101c670,U,000056,
|
||||
0x000000710101c6a8,U,000004,j__ZdlPv_1089
|
||||
0x000000710101c6ac,U,000044,
|
||||
0x000000710101c6d8,U,000004,j__ZdlPv_1090
|
||||
0x000000710101c6dc,U,000040,
|
||||
0x000000710101c704,U,000004,j__ZdlPv_1091
|
||||
0x000000710101c708,U,000040,
|
||||
0x000000710101c730,U,000004,j__ZdlPv_1092
|
||||
0x000000710101c734,U,000040,
|
||||
0x000000710101c75c,U,000004,j__ZdlPv_1093
|
||||
0x000000710101c760,U,000428,
|
||||
0x000000710101c90c,U,000412,
|
||||
0x000000710101bda8,O,000288,_ZN4ksys3snd10EnvBgmInfoD2Ev
|
||||
0x000000710101bec8,O,000004,_ZN4ksys3snd10EnvBgmInfoD0Ev
|
||||
0x000000710101becc,O,000084,_ZN4ksys3snd12HorseBgmInfoD2Ev
|
||||
0x000000710101bf20,O,000004,_ZN4ksys3snd12HorseBgmInfoD0Ev
|
||||
0x000000710101bf24,O,000024,_ZN4ksys3snd18TemperatureBgmInfoD1Ev
|
||||
0x000000710101bf3c,O,000004,_ZN4ksys3snd18TemperatureBgmInfoD0Ev
|
||||
0x000000710101bf40,O,000104,_ZN4ksys3snd11SpotBgmInfoD2Ev
|
||||
0x000000710101bfa8,O,000004,_ZN4ksys3snd11SpotBgmInfoD0Ev
|
||||
0x000000710101bfac,O,000072,_ZN4ksys3snd17MazeForestBgmInfoD2Ev
|
||||
0x000000710101bff4,O,000004,_ZN4ksys3snd17MazeForestBgmInfoD0Ev
|
||||
0x000000710101bff8,O,000080,_ZN4ksys3snd13CastleBgmInfoD2Ev
|
||||
0x000000710101c048,O,000004,_ZN4ksys3snd13CastleBgmInfoD0Ev
|
||||
0x000000710101c04c,O,000060,_ZN4ksys3snd14BigMazeBgmInfoD2Ev
|
||||
0x000000710101c088,O,000004,_ZN4ksys3snd14BigMazeBgmInfoD0Ev
|
||||
0x000000710101c08c,O,000060,_ZN4ksys3snd19AnimalMasterBgmInfoD2Ev
|
||||
0x000000710101c0c8,O,000004,_ZN4ksys3snd19AnimalMasterBgmInfoD0Ev
|
||||
0x000000710101c0cc,O,000148,_ZN4ksys3snd18FieldBattleBgmInfoD2Ev
|
||||
0x000000710101c160,O,000004,_ZN4ksys3snd18FieldBattleBgmInfoD0Ev
|
||||
0x000000710101c164,O,000068,_ZN4ksys3snd11BossBgmInfoD2Ev
|
||||
0x000000710101c1a8,O,000004,_ZN4ksys3snd11BossBgmInfoD0Ev
|
||||
0x000000710101c1ac,O,000064,_ZN4ksys3snd21AssassinSeniorBgmInfoD2Ev
|
||||
0x000000710101c1ec,O,000004,_ZN4ksys3snd21AssassinSeniorBgmInfoD0Ev
|
||||
0x000000710101c1f0,O,000092,_ZN4ksys3snd15GuardianBgmInfoD2Ev
|
||||
0x000000710101c24c,O,000004,_ZN4ksys3snd15GuardianBgmInfoD0Ev
|
||||
0x000000710101c250,O,000064,_ZN4ksys3snd20GuardianFixedBgmInfoD2Ev
|
||||
0x000000710101c290,O,000004,_ZN4ksys3snd20GuardianFixedBgmInfoD0Ev
|
||||
0x000000710101c294,O,000024,_ZN4ksys3snd13DragonBgmInfoD2Ev
|
||||
0x000000710101c2ac,O,000004,_ZN4ksys3snd13DragonBgmInfoD0Ev
|
||||
0x000000710101c2b0,O,000060,_ZN4ksys3snd24GanonGrudgeBattleBgmInfoD2Ev
|
||||
0x000000710101c2ec,O,000004,_ZN4ksys3snd24GanonGrudgeBattleBgmInfoD0Ev
|
||||
0x000000710101c2f0,O,000072,_ZN4ksys3snd29EventBgmRemainsElecBattleInfoD2Ev
|
||||
0x000000710101c338,O,000004,_ZN4ksys3snd29EventBgmRemainsElecBattleInfoD0Ev
|
||||
0x000000710101c33c,O,000060,_ZN4ksys3snd29EventBgmRemainsFireBattleInfoD2Ev
|
||||
0x000000710101c378,O,000004,_ZN4ksys3snd29EventBgmRemainsFireBattleInfoD0Ev
|
||||
0x000000710101c37c,O,000072,_ZN4ksys3snd20DungeonNormalBgmInfoD2Ev
|
||||
0x000000710101c3c4,O,000004,_ZN4ksys3snd20DungeonNormalBgmInfoD0Ev
|
||||
0x000000710101c3c8,O,000056,_ZN4ksys3snd20DungeonRewardBgmInfoD2Ev
|
||||
0x000000710101c400,O,000004,_ZN4ksys3snd20DungeonRewardBgmInfoD0Ev
|
||||
0x000000710101c404,O,000060,_ZN4ksys3snd20DungeonBattleBgmInfoD2Ev
|
||||
0x000000710101c440,O,000004,_ZN4ksys3snd20DungeonBattleBgmInfoD0Ev
|
||||
0x000000710101c444,O,000064,_ZN4ksys3snd20RemainsNormalBgmInfoD2Ev
|
||||
0x000000710101c484,O,000004,_ZN4ksys3snd20RemainsNormalBgmInfoD0Ev
|
||||
0x000000710101c488,O,000056,_ZN4ksys3snd28TutorialDungeonBattleBgmInfoD2Ev
|
||||
0x000000710101c4c0,O,000004,_ZN4ksys3snd28TutorialDungeonBattleBgmInfoD0Ev
|
||||
0x000000710101c4c4,O,000068,_ZN4ksys3snd17GanonBeastBgmInfoD2Ev
|
||||
0x000000710101c508,O,000004,_ZN4ksys3snd17GanonBeastBgmInfoD0Ev
|
||||
0x000000710101c50c,O,000080,_ZN4ksys3snd27FinalTrialBossBattleBgmInfoD2Ev
|
||||
0x000000710101c55c,O,000004,_ZN4ksys3snd27FinalTrialBossBattleBgmInfoD0Ev
|
||||
0x000000710101c560,O,000024,_ZN4ksys3snd25EnvPaletteReactiveBgmInfoD2Ev
|
||||
0x000000710101c578,O,000004,_ZN4ksys3snd25EnvPaletteReactiveBgmInfoD0Ev
|
||||
0x000000710101c57c,O,000052,_ZN4ksys3snd10EnvBgmInfo12ParamPerTypeD2Ev
|
||||
0x000000710101c5b0,O,000004,_ZN4ksys3snd10EnvBgmInfo12ParamPerTypeD0Ev
|
||||
0x000000710101c5b4,O,000044,_ZN4ksys3snd18TemperatureBgmInfo12ParamPerTypeD2Ev
|
||||
0x000000710101c5e0,O,000004,_ZN4ksys3snd18TemperatureBgmInfo12ParamPerTypeD0Ev
|
||||
0x000000710101c5e4,O,000080,_ZN4ksys3snd15SandwormBgmInfoD2Ev
|
||||
0x000000710101c634,O,000004,_ZN4ksys3snd15SandwormBgmInfoD0Ev
|
||||
0x000000710101c638,O,000052,_ZN4ksys3snd13DragonBgmInfo12ParamPerTypeD2Ev
|
||||
0x000000710101c66c,O,000004,_ZN4ksys3snd13DragonBgmInfo12ParamPerTypeD0Ev
|
||||
0x000000710101c670,O,000056,_ZN4ksys3snd20DungeonNormalBgmInfo14PartChangeOddsD2Ev
|
||||
0x000000710101c6a8,O,000004,_ZN4ksys3snd20DungeonNormalBgmInfo14PartChangeOddsD0Ev
|
||||
0x000000710101c6ac,O,000044,_ZN4ksys3snd25EnvPaletteReactiveBgmInfo12ParamPerTypeD2Ev
|
||||
0x000000710101c6d8,O,000004,_ZN4ksys3snd25EnvPaletteReactiveBgmInfo12ParamPerTypeD0Ev
|
||||
0x000000710101c6dc,O,000040,_ZN4ksys3snd9MusicInfo6MinMaxIfED2Ev
|
||||
0x000000710101c704,O,000004,_ZN4ksys3snd9MusicInfo6MinMaxIfED0Ev
|
||||
0x000000710101c708,O,000040,_ZN4ksys3snd9MusicInfo6MinMaxIiED2Ev
|
||||
0x000000710101c730,O,000004,_ZN4ksys3snd9MusicInfo6MinMaxIiED0Ev
|
||||
0x000000710101c734,O,000040,_ZN4ksys3snd9MusicInfo6MinMaxIjED2Ev
|
||||
0x000000710101c75c,O,000004,_ZN4ksys3snd9MusicInfo6MinMaxIjED0Ev
|
||||
0x000000710101c760,O,000428,_ZN4ksys3snd18TemperatureBgmInfo15TemperatureEnum5text_Ei
|
||||
0x000000710101c90c,O,000412,_ZN4ksys3snd25EnvPaletteReactiveBgmInfo25EnvPaletteReactiveBgmEnum5text_Ei
|
||||
0x000000710101caa8,U,000428,
|
||||
0x000000710101cc54,U,000004,j__ZdlPv_1094
|
||||
0x000000710101cc58,U,000240,_ZN4sead19FixedSafeStringBaseIcLi113EEaSERKNS_14SafeStringBaseIcEE
|
||||
|
|
|
|||
|
Can't render this file because it is too large.
|
|
|
@ -3,6 +3,8 @@ target_sources(uking PRIVATE
|
|||
sndInfoData.h
|
||||
sndMusicDefinition.cpp
|
||||
sndMusicDefinition.h
|
||||
sndMusicInfo.cpp
|
||||
sndMusicInfo.h
|
||||
sndResource.cpp
|
||||
sndResource.h
|
||||
)
|
||||
|
|
|
|||
|
|
@ -0,0 +1,527 @@
|
|||
#include "KingSystem/Sound/sndMusicInfo.h"
|
||||
|
||||
namespace ksys::snd {
|
||||
|
||||
void MusicInfo::applySoundResource() {
|
||||
sead::DirectResource* sound = loadMusic();
|
||||
if (sound) {
|
||||
agl::utl::ResParameterArchive archive(sound->getRawData());
|
||||
applyResParameterArchive(archive);
|
||||
}
|
||||
}
|
||||
|
||||
EnvBgmInfo::ParamPerType::ParamPerType()
|
||||
: mBpm(110, "Bpm", "BPM", "Min=60,Max=180", this),
|
||||
mPart0FirstWaitCount(0, "Part0FirstWaitCount", "パート0 初回予約の待ち拍", "Min=0,Max=100",
|
||||
this),
|
||||
mPart1FirstWaitCount(1, "Part1FirstWaitCount", "パート1 初回予約の待ち拍", "Min=0,Max=100",
|
||||
this),
|
||||
mPart2FirstWaitCount(15, "Part2FirstWaitCount", "パート2 初回予約の待ち拍", "Min=0,Max=100",
|
||||
this),
|
||||
mPart3FirstWaitCount(30, "Part3FirstWaitCount", "パート3 初回予約の待ち拍", "Min=0,Max=100",
|
||||
this) {}
|
||||
|
||||
EnvBgmInfo::EnvBgmInfo()
|
||||
: mEnableWaitSec(20, "EnableWaitSec", "昼夜切り替えや条件外れた後の開始待ち秒",
|
||||
"Min=0.f, Max=40.f", &mData),
|
||||
mDistanceOfCheckingActiveEnemy(70, "DistanceOfCheckingActiveEnemy",
|
||||
"警戒以上の敵を調べる範囲", "Min=1, Max=50", &mData),
|
||||
mTimeDay(5, "TimeDay", "この時刻以降は昼扱い", "Min=0.f,Max=24.f", &mData),
|
||||
mTimeNight(20, "TimeNight", "この時刻以降は夜扱い", "Min=0.f,Max=24.f", &mData),
|
||||
mConstVolume(1, 1, "ConstVolume", "固定音量", "Min=0.f,Max=1.f", &mHeader),
|
||||
mConstPan(0, 0, "ConstPan", "固定パン", "Min=-1.f,Max=1.f", &mHeader),
|
||||
mMasterBeatBase(12, "MasterBeatBase", "基本の値", "Min=1,Max=24", &mData),
|
||||
mMasterBeatRate(1, 4, "MasterBeatRate", "倍率", "Min=1,Max=4", &mHeader),
|
||||
mPart0Volume(0.5, 1, "Part0Volume", "初回以外の音量ランダム幅", "Min=0.f,Max=1.f", &mHeader),
|
||||
mPart0Pan(-0.95, 0.95, "Part0Pan", "パンランダム幅", "Min=-1.f,Max=1.f", &mHeader),
|
||||
mPart1SegmentAWaitCountBase(25, "Part1SegmentAWaitCountBase", "基本の値", "Min=0,Max=100",
|
||||
&mData),
|
||||
mPart1SegmentAWaitCountRate(1, 4, "Part1SegmentAWaitCountRate", "倍率", "Min=1,Max=10",
|
||||
&mHeader),
|
||||
mPart1SegmentBWaitCountBase(15, "Part1SegmentBWaitCountBase", "基本の値", "Min=0,Max=100",
|
||||
&mData),
|
||||
mPart1SegmentBWaitCountRate(1, 5, "Part1SegmentBWaitCountRate", "倍率", "Min=1,Max=10",
|
||||
&mHeader),
|
||||
mPart1SegmentCWaitCountBase(20, "Part1SegmentCWaitCountBase", "基本の値", "Min=0,Max=100",
|
||||
&mData),
|
||||
mPart1SegmentCWaitCountRate(1, 5, "Part1SegmentCWaitCountRate", "倍率", "Min=1,Max=10",
|
||||
&mHeader),
|
||||
mPart1Volume(0.5, 1, "Part1Volume", "初回以外の音量ランダム幅", "Min=0.f,Max=1.f", &mHeader),
|
||||
mPart1Pan(-0.4, 0.4, "Part1Pan", "パンランダム幅", "Min=-1.f,Max=1.f", &mHeader),
|
||||
mPart2WaitCountBase(40, "Part2WaitCountBase", "基本の値", "Min=0,Max=100", &mData),
|
||||
mPart2WaitCountRate(1, 3, "Part2WaitCountRate", "倍率", "Min=1,Max=10", &mHeader),
|
||||
mPart2Volume(0.4, 1, "Part2Volume", "音量ランダム幅", "Min=0.f,Max=1.f", &mHeader),
|
||||
// mPart2Pan missing?
|
||||
mPart3WaitCountBase(50, "Part3WaitCountBase", "基本の値", "Min=0,Max=100", &mData),
|
||||
mPart3WaitCountRate(1, 4, "Part3WaitCountRate", "倍率", "Min=1,Max=10", &mHeader),
|
||||
mPart3Volume(0.4, 1, "Part3Volume", "音量ランダム幅", "Min=0.f,Max=1.f", &mHeader),
|
||||
mPart3Pan(-1, 1, "Part3Pan", "パンランダム幅", "Min=-1.f,Max=1.f", &mHeader) {}
|
||||
|
||||
void EnvBgmInfo::init(sead::Heap* heap) {
|
||||
// mData not linked in any way?
|
||||
addList(&mHeader, "MusicParam");
|
||||
mParamPerTypes.allocBufferAssert(EnvTimeEnum::size(), heap);
|
||||
for (int i = 0; i < EnvTimeEnum::size(); i++) {
|
||||
mHeader.addObj(&mParamPerTypes[i],
|
||||
sead::FormatFixedSafeString<32>("ParamPerType_%s", EnvTimeEnum(i).text()));
|
||||
}
|
||||
applySoundResource();
|
||||
}
|
||||
|
||||
HorseBgmInfo::HorseBgmInfo()
|
||||
: mTimeDay(5, "TimeDay", "この時刻以降は昼扱い", "Min=0.f, Max=24.f", &mData),
|
||||
mTimeNight(20, "TimeNight", "この時刻以降は夜扱い", "Min=0.f, Max=24.f", &mData),
|
||||
mPlayWaitSec(5, "PlayWaitSec", "快速ギアになってから再生開始までの待ち秒", "Min=0.f,Max=10.f",
|
||||
&mData),
|
||||
mFadeInSec(14, "FadeInSec", "フェードイン秒", "Min=0.f,Max=30.f", &mData),
|
||||
mMinVolume(0, "MinVolume", "フェードイン開始時点の音量", "Min=0.f,Max=1.f", &mData),
|
||||
mFadeOutWaitSec(3, "FadeOutWaitSec", "ギアが下がった時のフェードアウト開始待ち秒",
|
||||
"Min=0.f,Max=10.f", &mData),
|
||||
mFadeOutSec(8, "FadeOutSec", "フェードアウト秒", "Min=0.f,Max=30.f", &mData),
|
||||
mPlayingSecUseOutro(18, "PlayingSecUseOutro",
|
||||
"フェードアウト完了時に再生がこの秒数以上続いてたらアウトロあり",
|
||||
"Min=0.f,Max=60.f", &mData),
|
||||
mIgnoreRequestSec(50, "IgnoreRequestSec",
|
||||
"フェードアウト開始時に発動する開始リクエスト禁止秒", "Min=0.f,Max=100.f",
|
||||
&mData) {}
|
||||
|
||||
void HorseBgmInfo::init(sead::Heap* heap) {
|
||||
addObj(&mData, "MusicParam");
|
||||
applySoundResource();
|
||||
}
|
||||
|
||||
TemperatureBgmInfo::ParamPerType::ParamPerType()
|
||||
: mTemperatureThreshold(30, "TemperatureThreshold", "温度の閾値", "Min=-50.f,Max=50.f", this),
|
||||
mFadeOutSec(2, "FadeOutSec", "条件を外れた時のフェードアウト秒", "Min=0.f,Max=10.f", this),
|
||||
mCancelFadeSec(0.5, "CancelFadeSec", "再度条件に入った時の復帰フェード秒", "Min=0.f,Max=10.f",
|
||||
this) {}
|
||||
|
||||
void TemperatureBgmInfo::init(sead::Heap* heap) {
|
||||
addList(&mData, "MusicParam");
|
||||
mParamPerTypes.allocBufferAssert(TemperatureEnum::size(), heap);
|
||||
for (int i = 0; i < TemperatureEnum::size(); i++) {
|
||||
mData.addObj(&mParamPerTypes[i],
|
||||
sead::FormatFixedSafeString<32>("ParamPerType_%s", TemperatureEnum(i).text()));
|
||||
}
|
||||
applySoundResource();
|
||||
}
|
||||
|
||||
TemperatureBgmInfo::~TemperatureBgmInfo() = default;
|
||||
|
||||
SpotBgmInfo::SpotBgmInfo()
|
||||
: mTimeDay(3.5, "TimeDay", "この時刻以降は昼扱い", "Min=0.f, Max=24.f", &mData),
|
||||
mTimeNight(20, "TimeNight", "この時刻以降は夜扱い", "Min=0.f, Max=24.f", &mData),
|
||||
mFilterOnFadeSec(8, "FilterOnFadeSec", "フィルタOnの時のフェード秒", "Min=0.f,Max=30.f",
|
||||
&mData),
|
||||
mFilterOffFadeSec(5, "FilterOffFadeSec", "フィルタOffの時のフェード秒", "Min=0.f,Max=30.f",
|
||||
&mData),
|
||||
mFilterValueLo(0.65, "FilterValueLo", "フィルタの値(ローパス)", "Min=0.f,Max=1.f", &mData),
|
||||
mFilterValueHi(0.65, "FilterValueHi", "フィルタの値(ハイパス)", "Min=0.f,Max=1.f", &mData),
|
||||
mSubTrackNearDistance(10, "SubTrackNearDistance", "音量最大になる距離(m)",
|
||||
"Min=0.f,Max=50.f", &mData),
|
||||
mSubTrackFarDistance(30, "SubTrackFarDistance", "音量最小になる距離(m)", "Min=0.f,Max=50.f",
|
||||
&mData),
|
||||
mSubTrackVolumeMaxDelta(1, "SubTrackVolumeMaxDelta",
|
||||
"音量の変化度合の上限(大きくすると急な変化を抑えられる)",
|
||||
"Min=0.01f,Max=1.f", &mData),
|
||||
mAllowFadeInSec(1, "AllowFadeInSec", "フェードイン秒", "Min=0.f, Max=3.f", &mData),
|
||||
mAllowFadeOutSec(3, "AllowFadeOutSec", "フェードアウト秒", "Min=0.f, Max=3.f", &mData),
|
||||
mFadeOutSec(3, "FadeOutSec", "シグナル切断によるフェードアウト秒", "Min=0.f, Max=3.f",
|
||||
&mData),
|
||||
mCullingYFadeOutSec(3, "CullingYFadeOutSec", "エリア外によるフェードアウト秒",
|
||||
"Min=0.f, Max=5.f", &mData),
|
||||
mCullingYFadeInSec(1, "CullingYFadeInSec", "エリア内復帰によるフェードイン秒",
|
||||
"Min=0.f, Max=5.f", &mData) {}
|
||||
|
||||
void SpotBgmInfo::init(sead::Heap* heap) {
|
||||
addObj(&mData, "MusicParam");
|
||||
applySoundResource();
|
||||
}
|
||||
|
||||
MazeForestBgmInfo::MazeForestBgmInfo()
|
||||
: mPlayWaitSec(3, "PlayWaitSec", "エリアに入ってからの再生開始待ち秒", "Min=0.f, Max=10.f",
|
||||
&mData),
|
||||
mFadeInSec(5, "FadeInSec", "再生開始時のフェードイン秒", "Min=0.f,Max=10.f", &mData),
|
||||
mFadeOutSec(9, "FadeOutSec", "エリアから出た時のフェードアウト秒", "Min=0.f,Max=10.f",
|
||||
&mData),
|
||||
mVolumeNormal(0.34, "VolumeNormal", "エリア内通常状態の音量", "Min=0.f,Max=1.f", &mData),
|
||||
mLostBoostSec(1.5, "LostBoostSec", "迷い状態になった時の音量上げ秒", "Min=0.f,Max=10.f",
|
||||
&mData),
|
||||
mLostBoostCancelSec(2, "LostBoostCancelSec", "迷い状態を脱した時の音量戻し秒",
|
||||
"Min=0.f,Max=10.f", &mData) {}
|
||||
|
||||
void MazeForestBgmInfo::init(sead::Heap* heap) {
|
||||
addObj(&mData, "MusicParam");
|
||||
applySoundResource();
|
||||
}
|
||||
|
||||
CastleBgmInfo::CastleBgmInfo()
|
||||
: mFadeOutWaitSec(3, "FadeOutWaitSec", "フェードアウト待ち秒", "Min=0.f,Max=10.f", &mData),
|
||||
mFadeOutSec(8, "FadeOutSec", "フェードアウト秒", "Min=0.f,Max=10.f", &mData),
|
||||
mToIndoorWaitSec(3, "ToIndoorWaitSec", "外→内時のクロスフェード開始待ち秒",
|
||||
"Min=0.f,Max=10.f", &mData),
|
||||
mToIndoorFadeSec(5, "ToIndoorFadeSec", "外→内時のクロスフェード秒", "Min=0.f,Max=10.f",
|
||||
&mData),
|
||||
mToOutdoorFadeSec(5, "ToOutdoorFadeSec", "内→外時のクロスフェード秒", "Min=0.f,Max=10.f",
|
||||
&mData),
|
||||
mBattleWaitSec(1, "BattleWaitSec", "戦闘トラックフェードイン待ち秒", "Min=0.f,Max=10.f",
|
||||
&mData),
|
||||
mBattleFadeInSec(5, "BattleFadeInSec", "戦闘トラックフェードイン秒", "Min=0.f,Max=10.f",
|
||||
&mData),
|
||||
mBattleFadeOutSec(5, "BattleFadeOutSec", "戦闘トラックフェードアウト秒", "Min=0.f,Max=10.f",
|
||||
&mData) {}
|
||||
|
||||
void CastleBgmInfo::init(sead::Heap* heap) {
|
||||
addObj(&mData, "MusicParam");
|
||||
applySoundResource();
|
||||
}
|
||||
|
||||
BigMazeBgmInfo::BigMazeBgmInfo()
|
||||
: mPlayWaitSec(3, "PlayWaitSec", "エリアに入ってからの再生開始待ち秒", "Min=0.f, Max=10.f",
|
||||
&mData),
|
||||
mFadeInSec(5, "FadeInSec", "再生開始時のフェードイン秒", "Min=0.f, Max=10.f", &mData),
|
||||
mFadeOutSec(10, "FadeOutSec", "再生停止時のフェードアウト秒", "Min=0.f, Max=20.f", &mData) {}
|
||||
|
||||
void BigMazeBgmInfo::init(sead::Heap* heap) {
|
||||
addObj(&mData, "MusicParam");
|
||||
applySoundResource();
|
||||
}
|
||||
|
||||
AnimalMasterBgmInfo::AnimalMasterBgmInfo()
|
||||
: mPlayWaitSec(2, "PlayWaitSec", "エリアに入ってからの再生開始待ち秒", "Min=0.f, Max=10.f",
|
||||
&mData),
|
||||
mFadeInSec(5, "FadeInSec", "再生開始時のフェードイン秒", "Min=0.f, Max=10.f", &mData),
|
||||
mFadeOutSec(6, "FadeOutSec", "再生停止時のフェードアウト秒", "Min=0.f, Max=20.f", &mData) {}
|
||||
|
||||
void AnimalMasterBgmInfo::init(sead::Heap* heap) {
|
||||
addObj(&mData, "MusicParam");
|
||||
applySoundResource();
|
||||
}
|
||||
|
||||
FieldBattleBgmInfo::FieldBattleBgmInfo()
|
||||
: mBpm(130, "Bpm", "BPM", "Min=90,Max=180", &mData),
|
||||
mPlayWaitSec(1, "PlayWaitSec", "緊迫発生から再生開始までの待ち秒", "Min=0.f,Max=10.f",
|
||||
&mData),
|
||||
mFadeInSec(5, "FadeInSec", "再生開始時のフェードイン秒", "Min=0.f,Max=10.f", &mData),
|
||||
mFadeOutSec(5, "FadeOutSec", "緊迫解除時のフェードアウト秒", "Min=0.f,Max=10.f", &mData),
|
||||
mFeelPlayingSec(3, "FeelPlayingSec",
|
||||
"再生開始後、この秒数を越えたら他セクションに再生中と通知",
|
||||
"Min=0.f,Max=10.f", &mData),
|
||||
mEasy1_OddsByKey0(40, "Easy1_OddsByKey0", "Easy1の前で調0を選ぶ確率", "Min=0.f,Max=100.f",
|
||||
&mData),
|
||||
mEasy1_OddsByKey1(30, "Easy1_OddsByKey1", "Easy1の前で調1を選ぶ確率", "Min=0.f,Max=100.f",
|
||||
&mData),
|
||||
mEasy1R_OddsBySameKey(20, "Easy1R_OddsBySameKey", "Easy1に再度戻る時に同調を継続する確率",
|
||||
"Min=0.f,Max=100.f", &mData),
|
||||
mEasy5_OddsBySameKey(40, "Easy5_OddsBySameKey", "Easy5の前で同調を継続する確率",
|
||||
"Min=0.f,Max=100.f", &mData),
|
||||
mMiddle0_OddsBySameKey(40, "Middle0_OddsBySameKey", "Middle0の前で同調を継続する確率",
|
||||
"Min=0.f,Max=100.f", &mData),
|
||||
mHard0_OddsBySameKey(100, "Hard0_OddsBySameKey", "Hard0の前で同調を継続する確率",
|
||||
"Min=0.f,Max=100.f", &mData),
|
||||
mHard1_OddsBySameKey(40, "Hard1_OddsBySameKey", "Hard1の前で同調を継続する確率",
|
||||
"Min=0.f,Max=100.f", &mData),
|
||||
mHard1F_OddsBySameKey(20, "Hard1F_OddsBySameKey", "Hard1の後で同調を継続する確率",
|
||||
"Min=0.f,Max=100.f", &mData),
|
||||
mOddsByKeySubId0(50, "OddsByKeySubId0", "調内タイプのAorBの確率", "Min=0.f,Max=100.f",
|
||||
&mData),
|
||||
mTension_SkipEasy2(25, "Tension_SkipEasy2", "Easy2をスキップする緊迫度", "Min=0,Max=100",
|
||||
&mData),
|
||||
mTension_SkipEasy5(50, "Tension_SkipEasy5", "Easy5をスキップする緊迫度", "Min=0,Max=100",
|
||||
&mData),
|
||||
mTension_SkipMiddle1(70, "Tension_SkipMiddle1", "Middle1をスキップする緊迫度",
|
||||
"Min=0,Max=100", &mData),
|
||||
mTension_SkipHard(39, "Tension_SkipHard", "Hardに進む緊迫度", "Min=0,Max=100", &mData),
|
||||
mReserveHitWaitBeat(1, "ReserveHitWaitBeat", "何拍先に予約するか", "Min=0,Max=10", &mData),
|
||||
mHitChainGridThreshold(18, "HitChainGridThreshold",
|
||||
"このグリッド以上ヒット間隔が空いたらコンボをリセット", "Min=1,Max=20",
|
||||
&mData),
|
||||
mIgnoreReserveHitGrid_Chain0(3, "IgnoreReserveHitGrid_Chain0", "ヒット波形0", "Min=0,Max=10",
|
||||
&mData),
|
||||
mIgnoreReserveHitGrid_Chain1(2, "IgnoreReserveHitGrid_Chain1", "ヒット波形1", "Min=0,Max=10",
|
||||
&mData),
|
||||
mIgnoreReserveHitGrid_Chain2(5, "IgnoreReserveHitGrid_Chain2", "ヒット波形2", "Min=0,Max=10",
|
||||
&mData),
|
||||
mStopMainBgmWaitBeat(0, "StopMainBgmWaitBeat", "何拍先に通常波形を止めるか", "Min=0,Max=5",
|
||||
&mData),
|
||||
mReserveOutroWaitBeat(0, "ReserveOutroWaitBeat", "何拍先にアウトロ予約するか", "Min=0,Max=10",
|
||||
&mData) {}
|
||||
|
||||
void FieldBattleBgmInfo::init(sead::Heap* heap) {
|
||||
addObj(&mData, "MusicParam");
|
||||
applySoundResource();
|
||||
}
|
||||
|
||||
BossBgmInfo::BossBgmInfo()
|
||||
: mPlayWaitSec(2, "PlayWaitSec", "再生開始までの待ち秒", "Min=0.f,Max=10.f", &mData),
|
||||
mFadeOutSec(5, "FadeOutSec", "見失った時のフェードアウト秒", "Min=0.f,Max=10.f", &mData),
|
||||
mOutroWaitSec(0, "OutroWaitSec", "アウトロ開始待ち秒", "Min=0.f,Max=10.f", &mData),
|
||||
mChangeTypeFadeOutSec(4, "ChangeTypeFadeOutSec", "ゲージ表示敵切替時のフェードアウト秒",
|
||||
"Min=0.f,Max=10.f", &mData),
|
||||
mFeelPlayingSec(3, "FeelPlayingSec",
|
||||
"再生開始後、この秒数を越えたら他セクションに再生中と通知",
|
||||
"Min=0.f,Max=10.f", &mData) {}
|
||||
|
||||
void BossBgmInfo::init(sead::Heap* heap) {
|
||||
addObj(&mData, "MusicParam");
|
||||
applySoundResource();
|
||||
}
|
||||
|
||||
// GolemBgmInfo and GiantBgmInfo functions never defined in code, but are just references to
|
||||
// BossBgmInfo functions
|
||||
GolemBgmInfo::GolemBgmInfo() = default;
|
||||
|
||||
GiantBgmInfo::GiantBgmInfo() = default;
|
||||
|
||||
SandwormBgmInfo::SandwormBgmInfo()
|
||||
: mAngryStartFadeSec(1, "AngryStartFadeSec", "怒り開始時クロスフェード秒", "Min=0.f,Max=5.f",
|
||||
&mData),
|
||||
mAngryEndFadeSec(1, "AngryEndFadeSec", "怒り終了時クロスフェード秒", "Min=0.f,Max=5.f",
|
||||
&mData),
|
||||
mChanceStartWaitSec(0.5, "ChanceStartWaitSec", "チャンスタイム開始待ち秒", "Min=0.f,Max=5.f",
|
||||
&mData) {}
|
||||
|
||||
AssassinSeniorBgmInfo::AssassinSeniorBgmInfo()
|
||||
: mFadeOutSec(5, "FadeOutSec", "範囲外によるフェードアウト秒", "Min=0.f,Max=10.f", &mData),
|
||||
mToDemoFadeSec(0.5, "ToDemoFadeSec", "デモ開始時トラックフェードアウト秒", "Min=0.f,Max=10.f",
|
||||
&mData),
|
||||
mToBattleFadeSec(0.5, "ToBattleFadeSec", "デモ終了時トラックフェードイン秒",
|
||||
"Min=0.f,Max=10.f", &mData),
|
||||
mFeelPlayingSec(0.4, "FeelPlayingSec",
|
||||
"再生開始後、この秒数を越えたら他セクションに再生中と通知",
|
||||
"Min=0.f,Max=10.f", &mData) {}
|
||||
|
||||
void AssassinSeniorBgmInfo::init(sead::Heap* heap) {
|
||||
addObj(&mData, "MusicParam");
|
||||
applySoundResource();
|
||||
}
|
||||
|
||||
GuardianBgmInfo::GuardianBgmInfo()
|
||||
: mPlayWaitSec(0.35, "PlayWaitSec", "再生開始までの待ち秒", "Min=0.f,Max=10.f", &mData),
|
||||
mFadeOutWaitSec(3, "FadeOutWaitSec", "フェードアウト待ち秒", "Min=0.f,Max=10.f", &mData),
|
||||
mFadeOutSec(5, "FadeOutSec", "フェードアウト秒", "Min=0.f,Max=10.f", &mData),
|
||||
mFeelPlayingSec(0.4, "FeelPlayingSec",
|
||||
"再生開始後、この秒数を越えたら他セクションに再生中と通知",
|
||||
"Min=0.f,Max=10.f", &mData),
|
||||
mDamageThresholdHitReserve(100, "DamageThresholdHitReserve", "ヒット予約するダメージ量",
|
||||
"Min=10,Max=500", &mData),
|
||||
mCancelHitSec(1.8, "CancelHitSec", "ヒット予約後マーカーがすぐこない場合の予約破棄までの秒数",
|
||||
"Min=0.1f,Max=10.f", &mData),
|
||||
mIgnoreReserveCountDownSec(3.9, "IgnoreReserveCountDownSec",
|
||||
"ヒット波形再生開始後、再予約を許可するまでの秒数",
|
||||
"Min=0.f,Max=10.f", &mData),
|
||||
mMarkerIdHitSectionB(39, "MarkerIdHitSectionB", "次がこのID以上なら「B」", "Min=0,Max=100",
|
||||
&mData),
|
||||
mMarkerIdHitSectionC(54, "MarkerIdHitSectionC", "次がこのID以上なら「C」", "Min=0,Max=100",
|
||||
&mData),
|
||||
mMarkerIdHitSectionA(61, "MarkerIdHitSectionA", "次がこのID以上ならまわって「A」",
|
||||
"Min=0,Max=100", &mData),
|
||||
mMarkerCallbackOffsetSample(
|
||||
-2850, "MarkerCallbackOffsetSample",
|
||||
"マーカーコールバックのオフセットサンプル数(負にすると実際より手前で返る)",
|
||||
"Min=-32000,Max=32000", &mData) {}
|
||||
|
||||
void GuardianBgmInfo::init(sead::Heap* heap) {
|
||||
addObj(&mData, "MusicParam");
|
||||
applySoundResource();
|
||||
}
|
||||
|
||||
GuardianFixedBgmInfo::GuardianFixedBgmInfo()
|
||||
: mPlayWaitSec(0.35, "PlayWaitSec", "再生開始までの待ち秒", "Min=0.f,Max=10.f", &mData),
|
||||
mFadeOutSec(5, "FadeOutSec", "フェードアウト秒", "Min=0.f,Max=10.f", &mData),
|
||||
mFadeWaitSec(1, "FadeWaitSec", "フェードアウト開始までの待ち秒", "Min=0.f,Max=10.f", &mData),
|
||||
mFeelPlayingSec(0.4, "FeelPlayingSec",
|
||||
"再生開始後、この秒数を越えたら他セクションに再生中と通知",
|
||||
"Min=0.f,Max=10.f", &mData) {}
|
||||
|
||||
void GuardianFixedBgmInfo::init(sead::Heap* heap) {
|
||||
addObj(&mData, "MusicParam");
|
||||
applySoundResource();
|
||||
}
|
||||
|
||||
DragonBgmInfo::ParamPerType::ParamPerType()
|
||||
: mDistanceThreshold(200, "DistanceThreshold", "再生開始する距離", "Min = 50.f,Max=400.f",
|
||||
this),
|
||||
mPlayWaitSec(1, "PlayWaitSec", "再生待ち秒", "Min=0.f,Max=10.f", this),
|
||||
mFadeInSec(6, "FadeInSec", "フェードイン秒", "Min=0.f,Max=20.f", this),
|
||||
mFadeWaitSec(3, "FadeWaitSec", "再生終了待ち秒", "Min=0.f,Max=20.f", this),
|
||||
mFadeOutSec(8, "FadeOutSec", "フェードアウト秒", "Min=0.f,Max=20.f", this) {}
|
||||
|
||||
void DragonBgmInfo::init(sead::Heap* heap) {
|
||||
addList(&mData, "MusicParam");
|
||||
mParamPerTypes.allocBufferAssert(DragonEnum::size(), heap);
|
||||
for (int i = 0; i < DragonEnum::size(); i++) {
|
||||
mData.addObj(&mParamPerTypes[i],
|
||||
sead::FormatFixedSafeString<32>("ParamPerType_%s", DragonEnum(i).text()));
|
||||
}
|
||||
applySoundResource();
|
||||
}
|
||||
|
||||
GanonGrudgeBattleBgmInfo::GanonGrudgeBattleBgmInfo()
|
||||
: mFadeInSec(1, "FadeInSec", "フェードイン秒", "Min=0.f,Max=10.f", &mData),
|
||||
mFadeOutSec(2, "FadeOutSec", "フェードアウト秒", "Min=0.f,Max=10.f", &mData),
|
||||
mFeelPlayingSec(0.4, "FeelPlayingSec",
|
||||
"再生開始後、この秒数を越えたら他セクションに再生中と通知",
|
||||
"Min=0.f,Max=10.f", &mData) {}
|
||||
|
||||
void GanonGrudgeBattleBgmInfo::init(sead::Heap* heap) {
|
||||
addObj(&mData, "MusicParam");
|
||||
applySoundResource();
|
||||
}
|
||||
|
||||
EventBgmRemainsElecBattleInfo::EventBgmRemainsElecBattleInfo()
|
||||
: mMinVolumeOutStorm(0.2, "MinVolumeOutStorm", "条件外の時の音量", "Min=0.f, Max=1.f", &mData),
|
||||
mFadeInSecOutStorm(3, "FadeInSecOutStorm", "フェードイン秒", "Min=0.f,Max=5.f", &mData),
|
||||
mFadeOutSecOutStorm(3, "FadeOutSecOutStorm", "フェードアウト秒", "Min=0.f,Max=5.f", &mData),
|
||||
mMinVolumeWakeBoarding(0, "MinVolumeWakeBoarding", "条件外の時の音量", "Min=0.f,Max=1.f",
|
||||
&mData),
|
||||
mFadeInSecWakeBoarding(0.1, "FadeInSecWakeBoarding", "フェードイン秒", "Min=0.f,Max=5.f",
|
||||
&mData),
|
||||
mFadeOutSecWakeBoarding(0.1, "FadeOutSecWakeBoarding", "フェードアウト秒", "Min=0.f,Max=5.f",
|
||||
&mData) {}
|
||||
|
||||
void EventBgmRemainsElecBattleInfo::init(sead::Heap* heap) {
|
||||
addObj(&mData, "MusicParam");
|
||||
applySoundResource();
|
||||
}
|
||||
|
||||
EventBgmRemainsFireBattleInfo::EventBgmRemainsFireBattleInfo()
|
||||
: mFoundFadeOutSec(0.1, "FoundFadeOutSec", "警報時フェードアウト秒", "Min=0.f, Max=5.f",
|
||||
&mData),
|
||||
mFoundWaitSec(2, "FoundWaitSec", "警報時(初回)の次のkey再生待ち秒", "Min=0.f,Max=5.f",
|
||||
&mData),
|
||||
mFoundAgainWaitSec(1, "FoundAgainWaitSec", "警報時(二回目以降)の次のkey再生待ち秒",
|
||||
"Min=0.f,Max=5.f", &mData) {}
|
||||
|
||||
void EventBgmRemainsFireBattleInfo::init(sead::Heap* heap) {
|
||||
addObj(&mData, "MusicParam");
|
||||
applySoundResource();
|
||||
}
|
||||
|
||||
DungeonNormalBgmInfo::PartChangeOdds::PartChangeOdds()
|
||||
: mOdds_1To1(50, "Odds_1To1", "今回パート数1を選ぶ確率(%)", "Min=0.f,Max=100.f", this),
|
||||
mOdds_2To1(50, "Odds_2To1", "今回パート数1を選ぶ確率(%)", "Min=0.f,Max=100.f", this),
|
||||
mOdds_2To2(50, "Odds_2To2", "今回パート数2を選ぶ確率(%)", "Min=0.f,Max=100.f", this),
|
||||
mOdds_3To2(50, "Odds_3To2", "今回パート数2を選ぶ確率(%)", "Min=0.f,Max=100.f", this),
|
||||
mOdds_3To3(50, "Odds_3To3", "今回パート数3を選ぶ確率(%)", "Min=0.f,Max=100.f", this),
|
||||
mOdds_4To3(50, "Odds_4To3", "今回パート数3を選ぶ確率(%)", "Min=0.f,Max=100.f", this) {}
|
||||
|
||||
DungeonNormalBgmInfo::DungeonNormalBgmInfo()
|
||||
: mLoopNumForOddsId2(10, "LoopNumForOddsId2", "確率パターンが2になるループ回数", "Min=0,Max=50",
|
||||
&mData),
|
||||
mLoopNumForOddsId3(20, "LoopNumForOddsId3", "確率パターンが3になるループ回数", "Min=0,Max=50",
|
||||
&mData),
|
||||
mMaxPartChainThreshold(4, "MaxPartChainThreshold",
|
||||
"パート数最大が何回続いたらループ回数リセットするか", "Min=0,Max=10",
|
||||
&mData),
|
||||
mOdds_FirstArp(50, "Odds_FirstArp",
|
||||
"初回にアルペジオorストリングベースでアルペジオを選ぶ確率(%)",
|
||||
"Min=0.f,Max=100.f", &mData),
|
||||
mTitleDelaySec(0, "TitleDelaySec", "ダンジョンのタイトルが消えてから再生開始までの時間(秒)",
|
||||
"Min=0.f,Max=10.f", &mData) {}
|
||||
|
||||
void DungeonNormalBgmInfo::init(sead::Heap* heap) {
|
||||
addList(&mHeader, "MusicParam");
|
||||
static constexpr int NumPartChangeOdds = 3;
|
||||
mPartChangeOdds.allocBufferAssert(NumPartChangeOdds, heap);
|
||||
for (int i = 0; i < NumPartChangeOdds; i++)
|
||||
mHeader.addObj(&mPartChangeOdds[i], sead::FormatFixedSafeString<32>("PartChangeOdds%d", i));
|
||||
applySoundResource();
|
||||
}
|
||||
|
||||
DungeonRewardBgmInfo::DungeonRewardBgmInfo()
|
||||
: mOddsPlayableString(50, "OddsPlayableString", "ストリングスが選ばれる確率(%)",
|
||||
"Min=0.f, Max=100.f", &mData),
|
||||
mTitleDelaySec(0, "TitleDelaySec", "ダンジョンのタイトルが消えてから再生開始までの時間(秒)",
|
||||
"Min=0.f,Max=10.f", &mData) {}
|
||||
|
||||
void DungeonRewardBgmInfo::init(sead::Heap* heap) {
|
||||
addObj(&mData, "MusicParam");
|
||||
applySoundResource();
|
||||
}
|
||||
|
||||
DungeonBattleBgmInfo::DungeonBattleBgmInfo()
|
||||
: mPlayWaitSec(1, "PlayWaitSec", "緊迫発生から再生開始までの待ち秒", "Min=0.f, Max=10.f",
|
||||
&mData),
|
||||
mFadeOutSec(5, "FadeOutSec", "緊迫解除時のフェードアウト秒", "Min=0.f,Max=10.f", &mData),
|
||||
mVolumeNormal(3, "VolumeNormal", "再生開始後、この秒数を越えたら他セクションに再生中と通知",
|
||||
"Min=0.f,Max=10.f", &mData) {}
|
||||
|
||||
void DungeonBattleBgmInfo::init(sead::Heap* heap) {
|
||||
addObj(&mData, "MusicParam");
|
||||
applySoundResource();
|
||||
}
|
||||
|
||||
RemainsNormalBgmInfo::RemainsNormalBgmInfo()
|
||||
: mFadeOutSecA(2, "FadeOutSecA", "A→Bの時のAのフェードアウト秒", "Min=0.f, Max=10.f", &mData),
|
||||
mFadeOutSecB(0, "FadeOutSecB", "B→Zの時のBのフェードアウト秒", "Min=0.f, Max=10.f", &mData),
|
||||
mFadeOutSecZ(2, "FadeOutSecZ", "Z→ボスの時のZのフェードアウト秒", "Min=0.f, Max=10.f",
|
||||
&mData),
|
||||
mCrossFadeSec(1, "CrossFadeSec", "B内のクロスフェード秒", "Min=0.f, Max=10.f", &mData) {}
|
||||
|
||||
void RemainsNormalBgmInfo::init(sead::Heap* heap) {
|
||||
addObj(&mData, "MusicParam");
|
||||
applySoundResource();
|
||||
}
|
||||
|
||||
TutorialDungeonBattleBgmInfo::TutorialDungeonBattleBgmInfo()
|
||||
: mTransitionDelaySec(0.46, "TransitionDelaySec", "ステップ間の再生待ち秒", &mData),
|
||||
mOutroDelaySec(0, "OutroDelaySec", "アウトロ開始前の待ち秒", &mData) {}
|
||||
|
||||
void TutorialDungeonBattleBgmInfo::init(sead::Heap* heap) {
|
||||
addObj(&mData, "MusicParam");
|
||||
applySoundResource();
|
||||
}
|
||||
|
||||
GanonBeastBgmInfo::GanonBeastBgmInfo()
|
||||
: mStartDelaySec(0.5, "StartDelaySec", "開始時の再生待ち秒", &mData),
|
||||
mRetryDelaySec(0.5, "RetryDelaySec", "リトライ時の再生待ち秒", &mData),
|
||||
m1To2TransitionDelaySec(1, "1To2TransitionDelaySec", "レベル1→2の再生待ち秒", &mData),
|
||||
m2To3TransitionDelaySec(1, "2To3TransitionDelaySec", "レベル2→3の再生待ち秒", &mData),
|
||||
mFadeOutSec(0.25, "FadeOutSec", "切り替わり時のフェードアウト秒", &mData) {}
|
||||
|
||||
void GanonBeastBgmInfo::init(sead::Heap* heap) {
|
||||
addObj(&mData, "MusicParam");
|
||||
applySoundResource();
|
||||
}
|
||||
|
||||
FinalTrialBossBattleBgmInfo::FinalTrialBossBattleBgmInfo()
|
||||
: mTransformDemoWaitSec(1, "TransformDemoWaitSec", "変化デモトラックチェンジ待ち秒", &mData),
|
||||
mFadeSecToTransformDemo(1, "FadeSecToTransformDemo", "変化デモトラックへのクロスフェード秒",
|
||||
&mData),
|
||||
mCurveTypeToTransformDemo(
|
||||
1, "CurveTypeToTransformDemo",
|
||||
"変化デモトラックへのカーブタイプ(0=リニア,1=二乗,2=平方根,3=サイン)", &mData),
|
||||
mFadeSecFromTransformDemo(1, "FadeSecFromTransformDemo",
|
||||
"変化デモからインゲームへのクロスフェード秒", &mData),
|
||||
mCurveTypeFromTransformDemo(
|
||||
1, "CurveTypeFromTransformDemo",
|
||||
"変化デモからインゲームへのカーブタイプ(0=リニア,1=二乗,2=平方根,3=サイン)", &mData),
|
||||
mFadeSeLevel3To4(1, "FadeSecLevel3To4", "レベル3から4へのクロスフェード秒", &mData),
|
||||
mCurveTypeLevel3To4(1, "CurveTypeLevel3To4",
|
||||
"レベル3から4へのカーブタイプ(0=リニア,1=二乗,2=平方根,3=サイン)",
|
||||
&mData),
|
||||
mStopFadeSec(1, "StopFadeSec", "停止時のフェード秒", &mData) {}
|
||||
|
||||
void FinalTrialBossBattleBgmInfo::init(sead::Heap* heap) {
|
||||
addObj(&mData, "MusicParam");
|
||||
applySoundResource();
|
||||
}
|
||||
|
||||
EnvPaletteReactiveBgmInfo::ParamPerType::ParamPerType()
|
||||
: mPlayWaitSec(2, "PlayWaitSec", "再生待ち秒", "Min = 0.1f, Max = 10.f", this),
|
||||
mFadeInSec(5, "FadeInSec", "フェードイン秒", this),
|
||||
mFadeOutSec(3, "FadeOutSec", "フェードアウト秒", this) {}
|
||||
|
||||
void EnvPaletteReactiveBgmInfo::init(sead::Heap* heap) {
|
||||
addList(&mData, "MusicParam");
|
||||
mParamPerTypes.allocBufferAssert(EnvPaletteReactiveBgmEnum::size(), heap);
|
||||
for (int i = 0; i < EnvPaletteReactiveBgmEnum::size(); i++) {
|
||||
mData.addObj(&mParamPerTypes[i],
|
||||
sead::FormatFixedSafeString<32>("ParamPerType_%s",
|
||||
EnvPaletteReactiveBgmEnum(i).text()));
|
||||
}
|
||||
applySoundResource();
|
||||
}
|
||||
|
||||
} // namespace ksys::snd
|
||||
|
|
@ -0,0 +1,596 @@
|
|||
#pragma once
|
||||
|
||||
#include <agl/Utils/aglParameter.h>
|
||||
#include <agl/Utils/aglParameterIO.h>
|
||||
#include <agl/Utils/aglParameterList.h>
|
||||
#include <agl/Utils/aglParameterObj.h>
|
||||
#include <container/seadBuffer.h>
|
||||
#include <prim/seadEnum.h>
|
||||
#include <prim/seadSafeString.h>
|
||||
#include <resource/seadResource.h>
|
||||
|
||||
#include "KingSystem/Utils/Types.h"
|
||||
|
||||
namespace ksys::snd {
|
||||
|
||||
class MusicInfo : public agl::utl::IParameterIO {
|
||||
public:
|
||||
template <typename T>
|
||||
struct MinMax : public agl::utl::IParameterObj {
|
||||
MinMax(T min, T max, const sead::SafeString& name, const sead::SafeString& label,
|
||||
const sead::SafeString& meta, agl::utl::IParameterList* parent)
|
||||
: mLabel(label), mMeta(meta), mMin(min, "Min", "最小", mMeta, this),
|
||||
mMax(max, "Max", "最大", mMeta, this) {
|
||||
parent->addObj(this, name);
|
||||
}
|
||||
|
||||
sead::FixedSafeString<64> mLabel;
|
||||
sead::FixedSafeString<32> mMeta;
|
||||
agl::utl::Parameter<T> mMin;
|
||||
agl::utl::Parameter<T> mMax;
|
||||
};
|
||||
|
||||
MusicInfo() : IParameterIO("mscinfo", 0) {}
|
||||
virtual void init(sead::Heap* heap) {}
|
||||
|
||||
protected:
|
||||
void applySoundResource();
|
||||
|
||||
private:
|
||||
// TODO: 0x7101015628, requires `Sound` and `snd::ResourceMgr`
|
||||
sead::DirectResource* loadMusic();
|
||||
|
||||
protected:
|
||||
sead::SafeString mBgmTypeName;
|
||||
};
|
||||
|
||||
class EnvBgmInfo : public MusicInfo {
|
||||
public:
|
||||
SEAD_ENUM(EnvTimeEnum,EnvDayBgm,EnvNightBgm)
|
||||
|
||||
struct ParamPerType : public agl::utl::IParameterObj {
|
||||
ParamPerType();
|
||||
|
||||
agl::utl::Parameter<unsigned int> mBpm;
|
||||
agl::utl::Parameter<unsigned int> mPart0FirstWaitCount;
|
||||
agl::utl::Parameter<unsigned int> mPart1FirstWaitCount;
|
||||
agl::utl::Parameter<unsigned int> mPart2FirstWaitCount;
|
||||
agl::utl::Parameter<unsigned int> mPart3FirstWaitCount;
|
||||
};
|
||||
KSYS_CHECK_SIZE_NX150(ParamPerType, 0xD0);
|
||||
|
||||
EnvBgmInfo();
|
||||
void init(sead::Heap* heap) override;
|
||||
|
||||
private:
|
||||
agl::utl::IParameterList mHeader;
|
||||
agl::utl::IParameterObj mData;
|
||||
|
||||
public:
|
||||
sead::Buffer<EnvBgmInfo::ParamPerType> mParamPerTypes;
|
||||
agl::utl::Parameter<float> mEnableWaitSec;
|
||||
agl::utl::Parameter<int> mDistanceOfCheckingActiveEnemy;
|
||||
agl::utl::Parameter<float> mTimeDay;
|
||||
agl::utl::Parameter<float> mTimeNight;
|
||||
MinMax<float> mConstVolume;
|
||||
MinMax<float> mConstPan;
|
||||
agl::utl::Parameter<unsigned int> mMasterBeatBase;
|
||||
MinMax<int> mMasterBeatRate;
|
||||
MinMax<float> mPart0Volume;
|
||||
MinMax<float> mPart0Pan;
|
||||
agl::utl::Parameter<unsigned int> mPart1SegmentAWaitCountBase;
|
||||
MinMax<unsigned int> mPart1SegmentAWaitCountRate;
|
||||
agl::utl::Parameter<unsigned int> mPart1SegmentBWaitCountBase;
|
||||
MinMax<unsigned int> mPart1SegmentBWaitCountRate;
|
||||
agl::utl::Parameter<unsigned int> mPart1SegmentCWaitCountBase;
|
||||
MinMax<unsigned int> mPart1SegmentCWaitCountRate;
|
||||
MinMax<float> mPart1Volume;
|
||||
MinMax<float> mPart1Pan;
|
||||
agl::utl::Parameter<unsigned int> mPart2WaitCountBase;
|
||||
MinMax<unsigned int> mPart2WaitCountRate;
|
||||
MinMax<float> mPart2Volume;
|
||||
agl::utl::Parameter<unsigned int> mPart3WaitCountBase;
|
||||
MinMax<unsigned int> mPart3WaitCountRate;
|
||||
MinMax<float> mPart3Volume;
|
||||
MinMax<float> mPart3Pan;
|
||||
};
|
||||
KSYS_CHECK_SIZE_NX150(EnvBgmInfo, 0x12A8);
|
||||
|
||||
class HorseBgmInfo : public MusicInfo {
|
||||
public:
|
||||
HorseBgmInfo();
|
||||
void init(sead::Heap* heap) override;
|
||||
|
||||
private:
|
||||
agl::utl::IParameterObj mData;
|
||||
|
||||
public:
|
||||
agl::utl::Parameter<float> mTimeDay;
|
||||
agl::utl::Parameter<float> mTimeNight;
|
||||
agl::utl::Parameter<float> mPlayWaitSec;
|
||||
agl::utl::Parameter<float> mFadeInSec;
|
||||
agl::utl::Parameter<float> mMinVolume;
|
||||
agl::utl::Parameter<float> mFadeOutWaitSec;
|
||||
agl::utl::Parameter<float> mFadeOutSec;
|
||||
agl::utl::Parameter<float> mPlayingSecUseOutro;
|
||||
agl::utl::Parameter<float> mIgnoreRequestSec;
|
||||
};
|
||||
KSYS_CHECK_SIZE_NX150(HorseBgmInfo, 0x330);
|
||||
|
||||
class TemperatureBgmInfo : public MusicInfo {
|
||||
public:
|
||||
SEAD_ENUM(TemperatureEnum,ColdBgm,HotBgm,BurnBgm)
|
||||
|
||||
struct ParamPerType : public agl::utl::IParameterObj {
|
||||
ParamPerType();
|
||||
|
||||
agl::utl::Parameter<float> mTemperatureThreshold;
|
||||
agl::utl::Parameter<float> mFadeOutSec;
|
||||
agl::utl::Parameter<float> mCancelFadeSec;
|
||||
};
|
||||
KSYS_CHECK_SIZE_NX150(ParamPerType, 0x90);
|
||||
|
||||
TemperatureBgmInfo() = default;
|
||||
~TemperatureBgmInfo();
|
||||
void init(sead::Heap* heap) override;
|
||||
|
||||
private:
|
||||
agl::utl::IParameterList mData;
|
||||
|
||||
public:
|
||||
sead::Buffer<ParamPerType> mParamPerTypes;
|
||||
};
|
||||
KSYS_CHECK_SIZE_NX150(TemperatureBgmInfo, 0x238);
|
||||
|
||||
class SpotBgmInfo : public MusicInfo {
|
||||
public:
|
||||
SpotBgmInfo();
|
||||
void init(sead::Heap* heap) override;
|
||||
|
||||
private:
|
||||
agl::utl::IParameterObj mData;
|
||||
|
||||
public:
|
||||
agl::utl::Parameter<float> mTimeDay;
|
||||
agl::utl::Parameter<float> mTimeNight;
|
||||
agl::utl::Parameter<float> mFilterOnFadeSec;
|
||||
agl::utl::Parameter<float> mFilterOffFadeSec;
|
||||
agl::utl::Parameter<float> mFilterValueLo;
|
||||
agl::utl::Parameter<float> mFilterValueHi;
|
||||
agl::utl::Parameter<float> mSubTrackNearDistance;
|
||||
agl::utl::Parameter<float> mSubTrackFarDistance;
|
||||
agl::utl::Parameter<float> mSubTrackVolumeMaxDelta;
|
||||
agl::utl::Parameter<float> mAllowFadeInSec;
|
||||
agl::utl::Parameter<float> mAllowFadeOutSec;
|
||||
agl::utl::Parameter<float> mFadeOutSec;
|
||||
agl::utl::Parameter<float> mCullingYFadeOutSec;
|
||||
agl::utl::Parameter<float> mCullingYFadeInSec;
|
||||
};
|
||||
KSYS_CHECK_SIZE_NX150(SpotBgmInfo, 0x3D0);
|
||||
|
||||
class MazeForestBgmInfo : public MusicInfo {
|
||||
public:
|
||||
MazeForestBgmInfo();
|
||||
void init(sead::Heap* heap) override;
|
||||
|
||||
private:
|
||||
agl::utl::IParameterObj mData;
|
||||
|
||||
public:
|
||||
agl::utl::Parameter<float> mPlayWaitSec;
|
||||
agl::utl::Parameter<float> mFadeInSec;
|
||||
agl::utl::Parameter<float> mFadeOutSec;
|
||||
agl::utl::Parameter<float> mVolumeNormal;
|
||||
agl::utl::Parameter<float> mLostBoostSec;
|
||||
agl::utl::Parameter<float> mLostBoostCancelSec;
|
||||
};
|
||||
KSYS_CHECK_SIZE_NX150(MazeForestBgmInfo, 0x2D0);
|
||||
|
||||
class CastleBgmInfo : public MusicInfo {
|
||||
public:
|
||||
CastleBgmInfo();
|
||||
void init(sead::Heap* heap) override;
|
||||
|
||||
private:
|
||||
agl::utl::IParameterObj mData;
|
||||
|
||||
public:
|
||||
agl::utl::Parameter<float> mFadeOutWaitSec;
|
||||
agl::utl::Parameter<float> mFadeOutSec;
|
||||
agl::utl::Parameter<float> mToIndoorWaitSec;
|
||||
agl::utl::Parameter<float> mToIndoorFadeSec;
|
||||
agl::utl::Parameter<float> mToOutdoorFadeSec;
|
||||
agl::utl::Parameter<float> mBattleWaitSec;
|
||||
agl::utl::Parameter<float> mBattleFadeInSec;
|
||||
agl::utl::Parameter<float> mBattleFadeOutSec;
|
||||
};
|
||||
KSYS_CHECK_SIZE_NX150(CastleBgmInfo, 0x310);
|
||||
|
||||
class BigMazeBgmInfo : public MusicInfo {
|
||||
public:
|
||||
BigMazeBgmInfo();
|
||||
void init(sead::Heap* heap) override;
|
||||
|
||||
private:
|
||||
agl::utl::IParameterObj mData;
|
||||
|
||||
public:
|
||||
agl::utl::Parameter<float> mPlayWaitSec;
|
||||
agl::utl::Parameter<float> mFadeInSec;
|
||||
agl::utl::Parameter<float> mFadeOutSec;
|
||||
};
|
||||
KSYS_CHECK_SIZE_NX150(BigMazeBgmInfo, 0x270);
|
||||
|
||||
class AnimalMasterBgmInfo : public MusicInfo {
|
||||
public:
|
||||
AnimalMasterBgmInfo();
|
||||
void init(sead::Heap* heap) override;
|
||||
|
||||
private:
|
||||
agl::utl::IParameterObj mData;
|
||||
|
||||
public:
|
||||
agl::utl::Parameter<float> mPlayWaitSec;
|
||||
agl::utl::Parameter<float> mFadeInSec;
|
||||
agl::utl::Parameter<float> mFadeOutSec;
|
||||
};
|
||||
KSYS_CHECK_SIZE_NX150(BigMazeBgmInfo, 0x270);
|
||||
|
||||
class FieldBattleBgmInfo : public MusicInfo {
|
||||
public:
|
||||
FieldBattleBgmInfo();
|
||||
void init(sead::Heap* heap) override;
|
||||
|
||||
private:
|
||||
agl::utl::IParameterObj mData;
|
||||
|
||||
public:
|
||||
agl::utl::Parameter<unsigned int> mBpm;
|
||||
agl::utl::Parameter<float> mPlayWaitSec;
|
||||
agl::utl::Parameter<float> mFadeInSec;
|
||||
agl::utl::Parameter<float> mFadeOutSec;
|
||||
agl::utl::Parameter<float> mFeelPlayingSec;
|
||||
agl::utl::Parameter<float> mEasy1_OddsByKey0;
|
||||
agl::utl::Parameter<float> mEasy1_OddsByKey1;
|
||||
agl::utl::Parameter<float> mEasy1R_OddsBySameKey;
|
||||
agl::utl::Parameter<float> mEasy5_OddsBySameKey;
|
||||
agl::utl::Parameter<float> mMiddle0_OddsBySameKey;
|
||||
agl::utl::Parameter<float> mHard0_OddsBySameKey;
|
||||
agl::utl::Parameter<float> mHard1_OddsBySameKey;
|
||||
agl::utl::Parameter<float> mHard1F_OddsBySameKey;
|
||||
agl::utl::Parameter<float> mOddsByKeySubId0;
|
||||
agl::utl::Parameter<int> mTension_SkipEasy2;
|
||||
agl::utl::Parameter<int> mTension_SkipEasy5;
|
||||
agl::utl::Parameter<int> mTension_SkipMiddle1;
|
||||
agl::utl::Parameter<int> mTension_SkipHard;
|
||||
agl::utl::Parameter<unsigned int> mReserveHitWaitBeat;
|
||||
agl::utl::Parameter<unsigned int> mHitChainGridThreshold;
|
||||
agl::utl::Parameter<unsigned int> mIgnoreReserveHitGrid_Chain0;
|
||||
agl::utl::Parameter<unsigned int> mIgnoreReserveHitGrid_Chain1;
|
||||
agl::utl::Parameter<unsigned int> mIgnoreReserveHitGrid_Chain2;
|
||||
agl::utl::Parameter<int> mStopMainBgmWaitBeat;
|
||||
agl::utl::Parameter<unsigned int> mReserveOutroWaitBeat;
|
||||
};
|
||||
KSYS_CHECK_SIZE_NX150(FieldBattleBgmInfo, 0x530);
|
||||
|
||||
class BossBgmInfo : public MusicInfo {
|
||||
public:
|
||||
BossBgmInfo();
|
||||
void init(sead::Heap* heap) override;
|
||||
|
||||
protected:
|
||||
agl::utl::IParameterObj mData;
|
||||
|
||||
public:
|
||||
agl::utl::Parameter<float> mPlayWaitSec;
|
||||
agl::utl::Parameter<float> mFadeOutSec;
|
||||
agl::utl::Parameter<float> mOutroWaitSec;
|
||||
agl::utl::Parameter<float> mChangeTypeFadeOutSec;
|
||||
agl::utl::Parameter<float> mFeelPlayingSec;
|
||||
};
|
||||
KSYS_CHECK_SIZE_NX150(BossBgmInfo, 0x2B0);
|
||||
|
||||
class GolemBgmInfo : public BossBgmInfo {
|
||||
public:
|
||||
GolemBgmInfo();
|
||||
};
|
||||
KSYS_CHECK_SIZE_NX150(GolemBgmInfo, 0x2B0);
|
||||
|
||||
class GiantBgmInfo : public BossBgmInfo {
|
||||
public:
|
||||
GiantBgmInfo();
|
||||
};
|
||||
KSYS_CHECK_SIZE_NX150(GiantBgmInfo, 0x2B0);
|
||||
|
||||
class SandwormBgmInfo : public BossBgmInfo {
|
||||
public:
|
||||
SandwormBgmInfo();
|
||||
|
||||
private:
|
||||
agl::utl::Parameter<float> mAngryStartFadeSec;
|
||||
agl::utl::Parameter<float> mAngryEndFadeSec;
|
||||
agl::utl::Parameter<float> mChanceStartWaitSec;
|
||||
};
|
||||
KSYS_CHECK_SIZE_NX150(SandwormBgmInfo, 0x310);
|
||||
|
||||
class AssassinSeniorBgmInfo : public MusicInfo {
|
||||
public:
|
||||
AssassinSeniorBgmInfo();
|
||||
void init(sead::Heap* heap) override;
|
||||
|
||||
private:
|
||||
agl::utl::IParameterObj mData;
|
||||
|
||||
public:
|
||||
agl::utl::Parameter<float> mFadeOutSec;
|
||||
agl::utl::Parameter<float> mToDemoFadeSec;
|
||||
agl::utl::Parameter<float> mToBattleFadeSec;
|
||||
agl::utl::Parameter<float> mFeelPlayingSec;
|
||||
};
|
||||
KSYS_CHECK_SIZE_NX150(AssassinSeniorBgmInfo, 0x290);
|
||||
|
||||
class GuardianBgmInfo : public MusicInfo {
|
||||
public:
|
||||
GuardianBgmInfo();
|
||||
void init(sead::Heap* heap) override;
|
||||
|
||||
private:
|
||||
agl::utl::IParameterObj mData;
|
||||
|
||||
public:
|
||||
agl::utl::Parameter<float> mPlayWaitSec;
|
||||
agl::utl::Parameter<float> mFadeOutWaitSec;
|
||||
agl::utl::Parameter<float> mFadeOutSec;
|
||||
agl::utl::Parameter<float> mFeelPlayingSec;
|
||||
agl::utl::Parameter<int> mDamageThresholdHitReserve;
|
||||
agl::utl::Parameter<float> mCancelHitSec;
|
||||
agl::utl::Parameter<float> mIgnoreReserveCountDownSec;
|
||||
agl::utl::Parameter<unsigned int> mMarkerIdHitSectionB;
|
||||
agl::utl::Parameter<unsigned int> mMarkerIdHitSectionC;
|
||||
agl::utl::Parameter<unsigned int> mMarkerIdHitSectionA;
|
||||
agl::utl::Parameter<int> mMarkerCallbackOffsetSample;
|
||||
};
|
||||
KSYS_CHECK_SIZE_NX150(GuardianBgmInfo, 0x370);
|
||||
|
||||
class GuardianFixedBgmInfo : public MusicInfo {
|
||||
public:
|
||||
GuardianFixedBgmInfo();
|
||||
void init(sead::Heap* heap) override;
|
||||
|
||||
private:
|
||||
agl::utl::IParameterObj mData;
|
||||
|
||||
public:
|
||||
agl::utl::Parameter<float> mPlayWaitSec;
|
||||
agl::utl::Parameter<float> mFadeOutSec;
|
||||
agl::utl::Parameter<float> mFadeWaitSec;
|
||||
agl::utl::Parameter<float> mFeelPlayingSec;
|
||||
};
|
||||
KSYS_CHECK_SIZE_NX150(GuardianFixedBgmInfo, 0x290);
|
||||
|
||||
class DragonBgmInfo : public MusicInfo {
|
||||
public:
|
||||
SEAD_ENUM(DragonEnum,DragonBgm,GrudgeDragonBgm)
|
||||
|
||||
struct ParamPerType : public agl::utl::IParameterObj {
|
||||
agl::utl::Parameter<float> mDistanceThreshold;
|
||||
agl::utl::Parameter<float> mPlayWaitSec;
|
||||
agl::utl::Parameter<float> mFadeInSec;
|
||||
agl::utl::Parameter<float> mFadeWaitSec;
|
||||
agl::utl::Parameter<float> mFadeOutSec;
|
||||
|
||||
ParamPerType();
|
||||
};
|
||||
|
||||
DragonBgmInfo();
|
||||
void init(sead::Heap* heap) override;
|
||||
|
||||
private:
|
||||
agl::utl::IParameterList mData;
|
||||
|
||||
public:
|
||||
sead::Buffer<ParamPerType> mParamPerTypes;
|
||||
};
|
||||
KSYS_CHECK_SIZE_NX150(DragonBgmInfo, 0x238);
|
||||
|
||||
class GanonGrudgeBattleBgmInfo : public MusicInfo {
|
||||
public:
|
||||
GanonGrudgeBattleBgmInfo();
|
||||
void init(sead::Heap* heap) override;
|
||||
|
||||
private:
|
||||
agl::utl::IParameterObj mData;
|
||||
|
||||
public:
|
||||
agl::utl::Parameter<float> mFadeInSec;
|
||||
agl::utl::Parameter<float> mFadeOutSec;
|
||||
agl::utl::Parameter<float> mFeelPlayingSec;
|
||||
};
|
||||
KSYS_CHECK_SIZE_NX150(GanonGrudgeBattleBgmInfo, 0x270);
|
||||
|
||||
class EventBgmRemainsElecBattleInfo : public MusicInfo {
|
||||
public:
|
||||
EventBgmRemainsElecBattleInfo();
|
||||
void init(sead::Heap* heap) override;
|
||||
|
||||
private:
|
||||
agl::utl::IParameterObj mData;
|
||||
|
||||
public:
|
||||
agl::utl::Parameter<float> mMinVolumeOutStorm;
|
||||
agl::utl::Parameter<float> mFadeInSecOutStorm;
|
||||
agl::utl::Parameter<float> mFadeOutSecOutStorm;
|
||||
agl::utl::Parameter<float> mMinVolumeWakeBoarding;
|
||||
agl::utl::Parameter<float> mFadeInSecWakeBoarding;
|
||||
agl::utl::Parameter<float> mFadeOutSecWakeBoarding;
|
||||
};
|
||||
KSYS_CHECK_SIZE_NX150(EventBgmRemainsElecBattleInfo, 0x2d0);
|
||||
|
||||
class EventBgmRemainsFireBattleInfo : public MusicInfo {
|
||||
public:
|
||||
EventBgmRemainsFireBattleInfo();
|
||||
void init(sead::Heap* heap) override;
|
||||
|
||||
private:
|
||||
agl::utl::IParameterObj mData;
|
||||
|
||||
public:
|
||||
agl::utl::Parameter<float> mFoundFadeOutSec;
|
||||
agl::utl::Parameter<float> mFoundWaitSec;
|
||||
agl::utl::Parameter<float> mFoundAgainWaitSec;
|
||||
};
|
||||
KSYS_CHECK_SIZE_NX150(EventBgmRemainsFireBattleInfo, 0x270);
|
||||
|
||||
class DungeonNormalBgmInfo : public MusicInfo {
|
||||
public:
|
||||
struct PartChangeOdds : public agl::utl::IParameterObj {
|
||||
PartChangeOdds();
|
||||
agl::utl::Parameter<float> mOdds_1To1;
|
||||
agl::utl::Parameter<float> mOdds_2To1;
|
||||
agl::utl::Parameter<float> mOdds_2To2;
|
||||
agl::utl::Parameter<float> mOdds_3To2;
|
||||
agl::utl::Parameter<float> mOdds_3To3;
|
||||
agl::utl::Parameter<float> mOdds_4To3;
|
||||
};
|
||||
|
||||
DungeonNormalBgmInfo();
|
||||
void init(sead::Heap* heap) override;
|
||||
|
||||
private:
|
||||
agl::utl::IParameterList mHeader;
|
||||
|
||||
public:
|
||||
sead::Buffer<PartChangeOdds> mPartChangeOdds;
|
||||
|
||||
private:
|
||||
agl::utl::IParameterObj mData;
|
||||
|
||||
public:
|
||||
agl::utl::Parameter<unsigned int> mLoopNumForOddsId2;
|
||||
agl::utl::Parameter<unsigned int> mLoopNumForOddsId3;
|
||||
agl::utl::Parameter<unsigned int> mMaxPartChainThreshold;
|
||||
agl::utl::Parameter<float> mOdds_FirstArp;
|
||||
agl::utl::Parameter<float> mTitleDelaySec;
|
||||
};
|
||||
KSYS_CHECK_SIZE_NX150(DungeonNormalBgmInfo, 0x308);
|
||||
|
||||
class DungeonRewardBgmInfo : public MusicInfo {
|
||||
public:
|
||||
DungeonRewardBgmInfo();
|
||||
void init(sead::Heap* heap) override;
|
||||
|
||||
private:
|
||||
agl::utl::IParameterObj mData;
|
||||
|
||||
public:
|
||||
agl::utl::Parameter<float> mOddsPlayableString;
|
||||
agl::utl::Parameter<float> mTitleDelaySec;
|
||||
};
|
||||
KSYS_CHECK_SIZE_NX150(DungeonRewardBgmInfo, 0x250);
|
||||
|
||||
class DungeonBattleBgmInfo : public MusicInfo {
|
||||
public:
|
||||
DungeonBattleBgmInfo();
|
||||
void init(sead::Heap* heap) override;
|
||||
|
||||
private:
|
||||
agl::utl::IParameterObj mData;
|
||||
|
||||
public:
|
||||
agl::utl::Parameter<float> mPlayWaitSec;
|
||||
agl::utl::Parameter<float> mFadeOutSec;
|
||||
agl::utl::Parameter<float> mVolumeNormal;
|
||||
};
|
||||
KSYS_CHECK_SIZE_NX150(DungeonBattleBgmInfo, 0x270);
|
||||
|
||||
class RemainsNormalBgmInfo : public MusicInfo {
|
||||
public:
|
||||
RemainsNormalBgmInfo();
|
||||
void init(sead::Heap* heap) override;
|
||||
|
||||
private:
|
||||
agl::utl::IParameterObj mData;
|
||||
|
||||
public:
|
||||
agl::utl::Parameter<float> mFadeOutSecA;
|
||||
agl::utl::Parameter<float> mFadeOutSecB;
|
||||
agl::utl::Parameter<float> mFadeOutSecZ;
|
||||
agl::utl::Parameter<float> mCrossFadeSec;
|
||||
};
|
||||
KSYS_CHECK_SIZE_NX150(RemainsNormalBgmInfo, 0x290);
|
||||
|
||||
class TutorialDungeonBattleBgmInfo : public MusicInfo {
|
||||
public:
|
||||
TutorialDungeonBattleBgmInfo();
|
||||
void init(sead::Heap* heap) override;
|
||||
|
||||
private:
|
||||
agl::utl::IParameterObj mData;
|
||||
|
||||
public:
|
||||
agl::utl::Parameter<float> mTransitionDelaySec;
|
||||
agl::utl::Parameter<float> mOutroDelaySec;
|
||||
};
|
||||
KSYS_CHECK_SIZE_NX150(TutorialDungeonBattleBgmInfo, 0x250);
|
||||
|
||||
class GanonBeastBgmInfo : public MusicInfo {
|
||||
public:
|
||||
GanonBeastBgmInfo();
|
||||
void init(sead::Heap* heap) override;
|
||||
|
||||
private:
|
||||
agl::utl::IParameterObj mData;
|
||||
|
||||
public:
|
||||
agl::utl::Parameter<float> mStartDelaySec;
|
||||
agl::utl::Parameter<float> mRetryDelaySec;
|
||||
agl::utl::Parameter<float> m1To2TransitionDelaySec;
|
||||
agl::utl::Parameter<float> m2To3TransitionDelaySec;
|
||||
agl::utl::Parameter<float> mFadeOutSec;
|
||||
};
|
||||
KSYS_CHECK_SIZE_NX150(GanonBeastBgmInfo, 0x2b0);
|
||||
|
||||
class FinalTrialBossBattleBgmInfo : public MusicInfo {
|
||||
public:
|
||||
FinalTrialBossBattleBgmInfo();
|
||||
void init(sead::Heap* heap) override;
|
||||
|
||||
private:
|
||||
agl::utl::IParameterObj mData;
|
||||
|
||||
public:
|
||||
agl::utl::Parameter<float> mTransformDemoWaitSec;
|
||||
agl::utl::Parameter<float> mFadeSecToTransformDemo;
|
||||
agl::utl::Parameter<unsigned int> mCurveTypeToTransformDemo;
|
||||
agl::utl::Parameter<float> mFadeSecFromTransformDemo;
|
||||
agl::utl::Parameter<unsigned int> mCurveTypeFromTransformDemo;
|
||||
agl::utl::Parameter<float> mFadeSeLevel3To4;
|
||||
agl::utl::Parameter<unsigned int> mCurveTypeLevel3To4;
|
||||
agl::utl::Parameter<float> mStopFadeSec;
|
||||
};
|
||||
KSYS_CHECK_SIZE_NX150(FinalTrialBossBattleBgmInfo, 0x310);
|
||||
|
||||
class EnvPaletteReactiveBgmInfo : public MusicInfo {
|
||||
public:
|
||||
SEAD_ENUM(EnvPaletteReactiveBgmEnum,DLC2nd_OneHitKillTrial)
|
||||
|
||||
struct ParamPerType : public agl::utl::IParameterObj {
|
||||
agl::utl::Parameter<float> mPlayWaitSec;
|
||||
agl::utl::Parameter<float> mFadeInSec;
|
||||
agl::utl::Parameter<float> mFadeOutSec;
|
||||
|
||||
ParamPerType();
|
||||
};
|
||||
|
||||
EnvPaletteReactiveBgmInfo();
|
||||
void init(sead::Heap* heap) override;
|
||||
|
||||
private:
|
||||
agl::utl::IParameterList mData;
|
||||
|
||||
public:
|
||||
sead::Buffer<ParamPerType> mParamPerTypes;
|
||||
};
|
||||
KSYS_CHECK_SIZE_NX150(EnvPaletteReactiveBgmInfo, 0x238);
|
||||
|
||||
} // namespace ksys::snd
|
||||
Loading…
Reference in New Issue