//[Category("Data Note Event")] //public List<RWSD_NoteEvent> Part2 { get { return _part2; } } //[Category("Data Note Info")] //public List<RWSD_NoteInfo> Part3 { get { return _part3; } } public override bool OnInitialize() { RuintList *list; _part1 = *Header->GetWsdInfo(_offset); list = Header->GetTrackTable(_offset); //Count is always 1 ruint * r = (ruint *)list->Get(_offset, 0); RuintList *l = (RuintList *)r->Offset(_offset); _part2 = *(RWSD_NoteEvent *)l->Get(_offset, 0); list = Header->GetNoteTable(_offset); //Count is always 1 _part3 = *(RWSD_NoteInfo *)list->Get(_offset, 0); if (_name == null) { _name = String.Format("Sound[{0}]", Index); } if (Parent.Parent.Children.Count > 1 && _part3._waveIndex < Parent.Parent.Children[1].Children.Count) { _soundNode = Parent.Parent.Children[1].Children[_part3._waveIndex] as RSARFileAudioNode; } SetSizeInternal((RWSD_DATAEntry.Size + RWSD_WSDEntry.Size + 0x20 + RWSD_NoteEvent.Size + 12 + RWSD_NoteInfo.Size)); return(false); }
//[Category("Data Note Event")] //public List<RWSD_NoteEvent> Part2 { get { return _part2; } } //[Category("Data Note Info")] //public List<RWSD_NoteInfo> Part3 { get { return _part3; } } public override bool OnInitialize() { RuintList* list; _part1 = *Header->GetWsdInfo(_offset); list = Header->GetTrackTable(_offset); //Count is always 1 ruint* r = (ruint*)list->Get(_offset, 0); RuintList* l = (RuintList*)r->Offset(_offset); _part2 = *(RWSD_NoteEvent*)l->Get(_offset, 0); list = Header->GetNoteTable(_offset); //Count is always 1 _part3 = *(RWSD_NoteInfo*)list->Get(_offset, 0); if (_name == null) _name = String.Format("Sound[{0}]", Index); if (Parent.Parent.Children.Count > 1 && _part3._waveIndex < Parent.Parent.Children[1].Children.Count) _soundNode = Parent.Parent.Children[1].Children[_part3._waveIndex] as RSARFileAudioNode; SetSizeInternal((RWSD_DATAEntry.Size + RWSD_WSDEntry.Size + 0x20 + RWSD_NoteEvent.Size + 12 + RWSD_NoteInfo.Size)); return false; }