Code Monkey home page Code Monkey logo

deretore's Introduction

DereTore

AppVeyor GitHub contributors Libraries.io for GitHub Github All Releases GitHub (pre-)release

The goal of DereTore is to improve gaming experience in THE iDOLM@STER Cinderella Girls: Starlight Stage (CGSS/DereSute/デレステ), and even to customize it a little bit.

Downloads:

A newer version of Starlight Director (the beatmap editor) can be found at hozuki/StarlightDirector. However, if you want to build ACB music, currently you are still advised to use Music Toolchain in this repository.

Wonder how this name comes from?

What can it do?

  • Extract audio files used by CGSS (and some other games using ACB/HCA).
  • Decode those audio files to wave audio.
  • Create songs, and their cover images.
  • Create beatmaps.
  • Preview beatmaps.

The greatest thing is that the things you create is fully playable. You just need to replace the original files, or use IdolProxy (which is easier).

Check out projects for detailed information.

Usage

Have a look at the Wiki Page. Please contact us if you want to help.

Basic requirements:

Windows:

macOS/Linux:

  • Wine (will install wine-mono when needed)
  • OpenAL (bundled OpenAL-Soft builds in newer releases)

In newer releases, HCA encoding is provided by VGAudio so hcaenc_lite.dll is no longer needed.

Optional requirements:

If you want to build custom CD jackets:

Checked Feb. 09, 2018: Although JacketCreator generates asset bundles for Unity version 5.1.2f1 (original version that CGSS uses), CGSS (using Unity 5.4.5p1) is still able to load and display them. Cygames also updated the Unity version they used, so maybe the jackets created by Jacket Creator become unrecognizable.

Building

  1. Clone from GitHub: git clone https://github.com/OpenCGSS/DereTore.git;
  2. Restore all NuGet packages;
  3. Open DereTore.sln in Visual Studio (Visual Studio 2017 or later is required for supporting C# 7 syntax);
  4. Build the solution.

Contributing

Beginning from version 3.0.3, CGSS is compiled by IL2CPP. This may cause some problems in the future. If you feel like to track the latest changes, feel free to make a pull request.

TODO List

License

This solution uses MIT License. See LICENSE.md.

Notes

See here.

deretore's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

deretore's Issues

how to convert wav to hca encrypted with a custon key

if a hca encrypted with a custon key,use vgmstream can decod,does it show that encode is feasible?
I know use hcaenc and hcacc could make that hca, but i don't konw convert command ,
the game is Winning Eleven 2018 (Android) and custom key is 14121473,i use hcaenc make a general hca file,how to convert to encrypted hca with custom key,
hcacc.exe general.hca final.hca -ot 56 -i1 14121473???does it need -im -om options?
please help me!
test data link:https://www.lanzous.com/i3kce3c

pes mobile music

i have a problem in changing music in pes 2020 mobile
can anyone help

bgm_system.acb entry reading

Commit: hozuki/DereTore@b3ac9f5 (hozuki/v0.7.7 branch)

Log:

mainbgm.hca
thinking.hca
theater_login_day.hca
live_result.hca
theater_main_day_a.hca
theater_main_sunset.hca
theater_main_night.hca
theater_main_day_sw_room1.hca
theater_main_day_sw_room2.hca
theater_main_day_sw_room3.hca
theater_main_day_sw_room4.hca
theater_main_day_sw_room5.hca
theater_main_day_b.hca
theater_main_day.hca
theater_main_day_c.hca
theater_main_sunset_a.hca
theater_main_sunset_b.hca
theater_main_sunset_c.hca
theater_main_sunset_sw_room1.hca
theater_main_sunset_sw_room2.hca
theater_main_sunset_sw_room3.hca
theater_main_sunset_sw_room4.hca
theater_main_sunset_sw_room5.hca
theater_main_night_a.hca
theater_main_night_b.hca
dat_000025.bin
theater_main_night_sw_room1.hca
dat_000027.bin
theater_main_night_sw_room3.hca
theater_main_night_sw_room4.hca
theater_main_night_sw_room5.hca
dat_000031.bin
gacha_lottery.hca
theater_main_day_sw_idol.hca
theater_main_day_sw_story.hca
theater_main_day_sw_navi.hca
theater_main_sunset_sw_idol.hca
theater_main_sunset_sw_story.hca
dat_000038.bin
dat_000039.bin
dat_000040.bin
File 'cue #41' is not identified.
dat_000041.bin
File 'cue #42' is not identified.
dat_000042.bin
File 'cue #43' is not identified.
dat_000043.bin
File 'cue #44' is not identified.
dat_000044.bin
awakening.hca
theater_main_day_sw_lounge.hca
theater_main_day_sw_colleague.hca
dat_000048.bin
dat_000049.bin
dat_000050.bin
File 'cue #51' is not identified.
dat_000051.bin
File 'cue #52' is not identified.
dat_000052.bin
File 'cue #53' is not identified.
dat_000053.bin
File 'cue #54' is not identified.
dat_000054.bin
File 'cue #55' is not identified.
dat_000055.bin
File 'cue #56' is not identified.
dat_000056.bin
theater_main_night_d.hca

Output WAV still seems to have problems if there's loop header section

  • Fix offset miscalculation bug

Should be within this function: https://github.com/segfault-bilibili/DereTore/blob/c364976c6e38fb128dccab3aed1d3caf888114a8/Exchange/DereTore.Exchange.Audio.HCA/HcaDecoder.cs#L23

I probably know what's going on. GetMinWaveHeaderBufferSize() added the size of WaveSampleSection to the total header size. Then such WAV header probably failed to be written, which should be the unexpectedly inserted dozens of zero bytes, which will then confuse WAV parser/player.

However I still don't understand why the size recorded in WAVRIFF header doesn't seem to include WaveSampleSection... Now I just hesitate to write WaveSampleSection - I don't know what this section is for, a simple solution would be just comment out that if (hcaInfo.LoopFlag) {...} lines in GetMinWaveHeaderBufferSize. Copied what https://github.com/segfault-bilibili/hca.js is doing, won't hurt at least...


- [ ] Re-decode the "seam" block maybe this is not needed at all. Related: Nyagamon/HCADecoder#4

框选 右键 拖动 快捷键 自动offset 紫条

  1. 框选
  2. 右键给利用上啊 删除或者改方向之类的 弹个菜单也比在上面调好吧
  3. 自动offset bpm 现在测timing无比蛋疼 最少我没找到试以外的方法 @statementreply
  4. 紫条实现有问题吧...可能是因为我懒得编译的原因不是最新代码 看到issue了
  5. 拖动
  6. 键盘快捷键
  7. 大概没了 最近有点忙 就不掺和了_(:3」∠)_

ACB+AWB encryption

Hello there, I've been using this tool to try and modify the audio of the game Shadowverse, another Cygames title which has the same 00003657 F27E3B22. While I can decode and encode most acb with the current version of deretore, when the files carry an external AWB, such as bgm, all that outputs is garbage. Do acb+awb have special encryptions, and if so, is there possibility of being able to crack them for the purposes of creating custom music/etc?
I appreciate any help, and apologize for my amateur understanding on the subject.

note序号提示

鼠标悬停时显示note序号,例如 该note序号/总note数量

Video encryptation

I understand that the videos have a very similar encryption.

Is there a way to encrypt the videos in the USM container again?

三拍子高亮支持

三拍子模式:
带三拍子属性的小节,其节拍线高亮以三拍子为准。

HcaAudioStream doesn't seem to be seekable

I'm not majored in IT-related subjects. I'm not sure whether I misunderstand something for now, however I think something is (potentially) wrong.

The HCA (2.0, CBR?) decoding process seems to be "stateful" to me. Each block is not decoded "independently", let alone "disorderly". Every block relies on the state (decided/affected by its prior block) to be correctly decoded.

Currently EnsureSoundDataDecoded/EnsureSoundDataDecodedWithLoops takes position (in the name of waveDataOffset) as an argument - so what would happen if the stream got seeked? I haven't thought about this thoroughly, but I doubt whether the current code could correctly handle this.

[Question] hca2wav loop support

Hi, are hca loops supported for this tool? I've been trying to find a way to convert a similarly extracted HCA from another game with the key, but the tool keeps giving me a NotImplementedException in DecodeData (HCADecoder.Internal.cs)

Sample file is attached, key is -
BGM_0001.zip

Unhandled exception error when typing out any cmd

Unhandled Exception: System.IO.FileNotFoundException: Could not load file or assembly 'DereTore.Exchange.Audio.HCA, Version=0.7.6.145, Culture=neutral, PublicKeyToken=null' or one of its dependencies. The system cannot find the file specified.

Occurs when running any command. This occurs even when I have DereTore.Exchange.Audio.HCA.dll present in the directory.

Wondering how to encrypt an HCA with header C8 C3 C1 00

Hi, I was wondering how I could use this toolset to generate an encrypted hca with header C8 C3 C1 00 (compared to the standard unencrypted header of 48 43 41 00)? I'm having trobule knowing what tools to use and how i'd generate the proper hca for modding in the game that requires certain encryption. I can generate an hca with normal encoding, but how do I encode it to match the game's encryption?
If it helps the hca key of the game is
// Jojo All Star Battle (PS3)
{19700307}, // 00000000012C9A53.
If you could give an explanation along with how this would be generated via command prompt it would be very helpful.
Thanks.

HCACC.exe

I want to encrypt .hca file with custom key 14121473. how to write command correctly?
hcacc.exe in.hca out.hca -ot 56 -i1 00d77a01 -i2 ??? -o1 ??? -o2 ??? Please help?

v0.7.3的若干问题

自从有预览的版本后。上面改offset后下面不动的image
image然后。。这样分段做不给连了
image还有。做不了直的- -
现在制谱原理是把flick连起来变slide...这样直着连是不行的
image这个问题还在
image话说因为有这种东西的存在。。。让hold也能转slide是不行的... 因为hold不能尾当首 ..


由MinamiKaze反馈

HCAEnc_lite

Can I just use the one from the CriWare SDK? I have that so I mean I don't really want to go through the effort just to obtain the one from link provided lol. If you want me to send you a copy of it I can to be sure its compatible. In fact I have 2 variants. hcaenc.dll and hcaenc_lite.dll if you want to look at both.

自动取消选择

某些功能,例如设置note的起始位置,执行后应该清除当前的note选择状态。

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.