GithubHelp home page GithubHelp logo

lwd-temp / blue-archive-spine Goto Github PK

View Code? Open in Web Editor NEW
51.0 1.0 47.0 519 KB

Blue Archive Spine Viewer for Global & Japan versions, Demo: https://github.com/lwd-temp/blue-archive-spine-production

JavaScript 98.06% Python 0.96% CSS 0.03% HTML 0.95%
blue-archive bluearchive spine spine-animation unity unitypack html javascript web pixi

blue-archive-spine's Introduction

blue-archive-spine

Based on respectZ/blue-archive-spine

Blue Archive is a registered trademark of NAT GAMES Co., Ltd. This repo is not affiliated with NEXON Korea Corp. & NEXON GAMES Co., Ltd. All game resources are copyrighted to the respective owners.

Quick Start

  • Use this template
  • Create jp and global branch from resourceless
  • Enable GitHub Actions, manually trigger Update-Global and Update-JP at any branch (they will find the right branch, no matter where you trigger them) to get the first update
  • Update-Global will run daily and fails when no update is available, Update-JP won't run automatically

Update-JP Needs to be triggered manually since there isn't a solution to get the latest update json link automatically (maybe there is, but I'm not going to write it now). ba_api in getModelsJapan.py needs to be updated manually (through reverse engineering or network capture) when there is a new update.

About Japan version

The update json link is hard coded into the game OBB resources.

We can get LatestClientVersion from https://prod-noticeindex.bluearchiveyostar.com/prod/index.json, but how the random hash path (likes r48_2q1alt6gvk5igdsj4hl2.json) under yostar-serverinfo.bluearchiveyostar.com is generated?

BA Japan (Yostar) does not have a certain resource path API. And their developers hard code the resource link for a version into the game OBB resources. The game only checks for LatestClientVersion to see if it's outdated and asks the user to update the game from Google Play to get the latest resource link.

Does this mean the user has to update the game from Google Play every month to get the latest monthly in-game activity? -- Yes, this is what's happening. (BA Japan releases an update at Google Play about every month, while BA Global updates about every three months)

You can extract GameMainConfig from game OBB and decrypt it. Check the key ServerInfoDataUrl in GameMainConfig to get the resource link.

About this repo

This repo is a fork of respectZ/blue-archive-spine. Some contributors and I modified the code to make it work better.

blue-archive-spine is a tool to download and view the character arts and animations (Memorial Lobby) of the game Blue Archive.

It's recommneded to use GitHub Actions to download the resources automatically. If you want to download the resources manually, please refer to the original README. Attention: Do not open index.html locally, all resource must be served with an HTTP server.

License

This repo is based on the work of @respectZ and @LXY1226 . The original repo doesn't have a license, so I'm not sure if it can be used for any purpose.

Disclaimer

Blue Archive is a registered trademark of NAT GAMES Co., Ltd. This repo is not affiliated with NEXON Korea Corp. & NEXON GAMES Co., Ltd. All game resources are copyrighted to the respective owners.

The following is the original README.

Please notice: some of the following information is outdated. Please refer to the Quick Start section above.

This repo uses UnityPy (instead of unitypack in upstream) to extract files.


Informations

For viewing Blue Archive Spines.

Have a look at this branch for resourceless.

Requirements

Setup

Building UnityPack

setup.py build

Installing UnityPack

setup.py install

or

setup.py install --user

Downloading Models

py/getModels.py

Downloaded Models located at ./downloaded_resource

Assets (Spine and Audio) located at ./assets

Generating JSON Data

data/audio.json

py/generateAudioJson.py

This will download VOC_JP audio instead of playing it directly (cors issue ?)

To play audio directly from BA's server, change py/generateModelsJson.py

_type = 1

to

_type = 0

data/models.json

py/generateModelsJson.py

And you're done!

Just launch index.html

Used Libraries

Big Kudos for awesome UnityPack

blue-archive-spine's People

Contributors

lwd-temp avatar respectz avatar

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

Watchers

 avatar

blue-archive-spine's Issues

Support for other games

I've just found this project while I'm messing with extracted Starlight Stage assets that I downloaded via mishiro and since this program can read spine files, I wonder if this could be expanded to read spines from other games, specifically Starlight Stage.

If it's not possible, could you at least make a separate repo for this game specifically?

New Update API hash

New update should be: r57_9gl0a9hwakll368rofhn
Tried and it seems updates the files fine.

How do you get a link from an obb file?

I have a question. Previously https://github.com/lwd-temp/blue-archive-spine said that to get the JsonURL, parse the obb file and find it in GameMainConfig. However, in my environment, converting from hexadecimal (HEX) to text is as follows.
How can I get the JsonURL?
thank you.
GameMainConfig��`` ��r�WT#I�ür´WW#k��rµWq#��ìröWI#k��rúWW#��îr�W^#l�Àr�WW#��Úr´Wh#a��røW9#P�ür�WJ#y�Ûr¤WX#��ìr¨W\#i�ÚrÿW&# ��ràWl#d��r�WL#[�ér´W##y�õr÷Wm#O�ÿr£Wb#M��r¸WY#y��rÿW9#���rºWi#��ûr�W|#���ràW7#

Unable to run index.html locally

Is it possible to run this locally on my pc, without needing to use GitHub action and looking through GitHub pages?
I've tried cloning and setup this, but when opening index.html all I see in just the left pane with empty "Select Model" list, not showing anything.

Thought I did something wrong on my Windows so I tried setup this on a Ubuntu VM but the result is the same.

Any help?

Missing Plana's spine

It's funny that I can find the arona_spr but not the plana_spr, since there're both arona_workpage_daytime and arona_workpage_nighttime in the repository.

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.