Giter Site home page Giter Site logo

popstudio_old's Introduction

PopStudio

In English:

A project to convert many kinds of files used in PopCap Games.
By using C# and .Net 6/.Net 7, this project can easily be used in Linux, MacOS, Windows and Android.
Both English and Chinese are supported.
Compile PopStudio.ConsoleProject to use PopStudio in Windows, Linux and MacOS with console.
Compile PopStudio.MAUI to use PopStudio in Android with GUI.
Compile PopStudio.WPF to use PopStudio in Windows with GUI.
Compile PopStudio.Avalonia to use PopStudio in Linux and MacOS with GUI.

Now this project supports these function:
unpack and pack dz(including Android and BlackBerry)
unpack and pack rsb(including Android, iOS, PS3, PS4 and Xbox360)
unpack and pack pak(including Windows, MacOS, PS3, PSV and Xbox360)
unpack and pack arcv(including Nds)
cut and create atlas
decode and encode ptx(including Android, iOS, PS3, PS4, PSV and Xbox360)
decode and encode cdat(including Android and iOS)
decode and encode tex(including Android and iOS)
decode and encode txz(including Android and iOS)
decode and encode xnb(including WindowsPhone)
decode and encode reanim.compiled(including Windows, MacOS, Android, iOS, WindowsPhone, PS3, PSV and Xbox360)
decode and encode xml.compiled(including Windows, MacOS, Android, iOS, WindowsPhone, PS3, PSV and Xbox360)
decode and encode trail.compiled(including Windows, MacOS, Android, iOS, WindowsPhone, PS3, PSV and Xbox360)
decode and encode pam(including version 1-6)
decode and encode RTON(including simple RTON and encrypted RTON but need your key)
decompress and compress files
use lua to run program


If you know other file sturctures such as luc and pax, you can communicate with the author.


If you want to communicate with the author, you can download QQ(a chatting software) in Google Play, App Store or Microsoft Store, and then register a QQ account number and enter our QQ group numbered 1017246977(The answer is "Github").


This project has used:
DotNetZip to decompress and compress BZip2 files.
MaxRectsBinPack to create atlas.

reference: Real-Time DXT Compression to encode DXT texture.
EveryFileExplorer to encode ETC1 texture.
pvrtccompressor to encode PVRTCI texture.
PVR Native SDK to decode PVRTCI texture.


In Chinese:

一个用于转换很多宝开游戏使用的文件的项目。
通过使用C#和.Net 6/.Net 7,这个项目可以很轻松地在Linux,MacOS,Windows和Android系统上使用。
英文和中文都支持。
编译PopStudio.ConsoleProject以在Windows,Linux和MacOS使用控制台版本。
编译PopStudio.MAUI以在Android使用GUI版本。
编译PopStudio.WPF以在Windows使用GUI版本。
编译PopStudio.Avalonia以在Linux和MacOS使用GUI版本。

现在这个项目支持如下功能: 解包打包dz(包括Android和BlackBerry)
解包打包rsb(包括Android,iOS,PS3,PS4和Xbox360)
解包打包pak(包括Windows,MacOS,PS3,PSV和Xbox360)
解包打包arcv(包括Nds)
图集裁剪与拼接
解码编码ptx(包括Android,iOS,PS3,PS4,PSV和Xbox360)
解码编码cdat(包括Android,iOS)
解码编码tex(包括Android,iOS)
解码编码txz(包括Android,iOS)
解码编码xnb(包括WindowsPhone)
解码编码reanim.compiled(包括Windows,MacOS,Android,iOS,WindowsPhone,PS3,PSV和Xbox360)
解码编码xml.compiled(包括Windows,MacOS,Android,iOS,WindowsPhone,PS3,PSV和Xbox360)
解码编码trail.compiled(包括Windows,MacOS,Android,iOS,WindowsPhone,PS3,PSV和Xbox360)
解码编码pam(包括版本号1-6的)
解码编码RTON(包括普通RTON和加密RTON,需自行提供密钥)
压缩解压文件
使用lua脚本调用程序


如果你知道其他文件结构,例如luc和pax,你可以和作者交流。


如果你想和作者交流,你可以使用QQ,加入群聊1017246977(备注“GitHub”)。


这个项目使用了:
DotNetZip用于解压和压缩BZip2文件。
MaxRectsBinPack用于构建图集。

参考: Real-Time DXT Compression用于编码DXT纹理。
EveryFileExplorer用于编码ETC1纹理。
pvrtccompressor用于编码PVRTCI纹理。
PVR Native SDK用于解码PVRTCI纹理。

popstudio_old's People

Contributors

yingfengtingyu 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  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

popstudio_old's Issues

在Mac上不知如何使用此軟體

我用的是Mac版的PopStudio, 暫時也無法在QQ群中與你進行聯絡。這邊打開setup.command這個以後應該怎樣?還是本軟體根本就不支援Mac。感謝!
截圖 2023-02-05 16 46 21

Decode PvZ All Stars

Can I decode PvZ All Stars with PopStudio? If yes, can you provide me the functions number to do that? Thanks

RTON Decode Problem!!!

Hi bro!
First thanks for your wonderfull tool. It help me alots. I want to contact with you but I can install QQ chat in my country. So I write here. Wish your help!
I found some Rton files when unpack Chinese PVZ2 version, but I cant decode to Json. (with international version Rton decode is good but with Chinese PVZ2 version, it failed)
Here is one of Rton files I unpacked in Chinese PVZ2 version. Please download link below
https://www.mediafire.com/file/9h6jva8qi4jmxxj/ZOMBIETYPES.RTON/file

I tried to use many tools like Popstudio, Taiji, TwinkleS Toolkit, but still failed to decode to from Rton to Json file.
You can see failed problem in my attach file.
Decrypt and decode failed by TwinkeS
Decrypt failed by Taiji
Encrypted RTON failed by Popstudio
Simple RTON decode failed by POPstudio
Decode failed by Taiji
Decode failed by TwinkleS

I think this failed is like Remove Header (UnityAsset Function) in Taiji Tool. But I cant understand because I just fisrt year of IT student.
Can you help me to decode this Rton file or explain me why cant decode.
Thank you very much!

Add support for accessing files on Android 11+

No Permission

Since Android 11, Google has introduced "Storage Access Framework". Which restricted access to data and obb folder. You need to make the app prompt for SAF permission when accessing them.

Unhandled exception

Last login: Sun Jun 26 21:47:07 on ttys000
/Users/wannes/Downloads/MacOS4/MacOS4/osx-x64/PopStudio ; exit;
wannes@Stefans-iMac ~ % /Users/wannes/Downloads/MacOS4/MacOS4/osx-x64/PopStudio ; exit;
Unhandled exception. System.TypeInitializationException: The type initializer for 'Gtk.Application' threw an exception.
---> System.DllNotFoundException: Gtk: libgtk-3-0.dll, libgtk-3.so.0, libgtk-3.0.dylib, gtk-3.dll
at GLibrary.Load(Library library)
at Gtk.Application..cctor()
--- End of inner exception stack trace ---
at Gtk.Application.Init()
at PopStudio.GTK.Program.Init()
at PopStudio.GTK.Program.RunAppGUI()
at PopStudio.GTK.Program.Main(String[] args)
zsh: abort /Users/wannes/Downloads/MacOS4/MacOS4/osx-x64/PopStudio

Saving session...
...copying shared history...
...saving history...truncating history files...
...completed.

[Process completed]

Pvz2 Unpacking

Hello!
I been getting an issue where the packing goes forever for PvZ2 I've waited for 2 hours.
I don't know if I need to wait for more time or it is stuck.

My PvZ2 version: 10.3.1
My device: Huawei P20 Pro
Model: CLT-L29
Android Versión: 10

Otherwise the tool is very good 👍

Xbox 360 textures are mostly not properly scaled

While the game data and textures do decode and extract correctly, a large number of the decoded textures don't look accurate when comparing the PS3 and other versions of the game. For example, this texture (images\648\credits\zuma.ptx) has dimensions 211x186 but doesn't look like the proper image with that width. There's no issues with swizzling from my testing. I encountered this problem for WMW's raw texture files and did a fix for them, it's basicly to round the output width to the nearest multiple of 64 while leaving the height the same, and I tested for this texture. Here's my fixes for reference. Any other texture with a width already having a multiple of 64 has no problem decoding. I'm not sure if this classifies as a bug but I'd rather say something than stay silent.

if (texWidth < 64): texWidth = 64
if (texWidth > 64 and texWidth < 128): texWidth = 128
if (texWidth > 128 and texWidth < 192): texWidth = 192
if (texWidth > 192 and texWidth < 256): texWidth = 256
and so on...

Broken
Fixed

Documentation for lua scripting

Haruma would like to get into Lua Scripting.
Could you please provide documentation of the functions you provide?
Starting with a list of all functions.

我的疑问

感谢您的制作
但是我在使用的时候出现了一个问题
00

.

The Android version has a verification file, if you change the dz file, the game will crash directly. If someone has the ability to remove file verification in the Android version, this package is very useful

关于 RTON unicode 字符串的处理逻辑

82/93/83 等类型中编码了 unicode 字符串,它们以两个varint与字符串内容组成,游戏以第一个 varint 的值作为该字符串的 unicode 字符数,以第二个 varint 作为该字符串的字节数。
在目前的几个解码工具中(Taiji/PvZ2Tool/PopStudio),它们均舍弃前者而直接使用后者作为字节数来截取 utf-8 字符串的内容,但对 libPvZ2.so 的逆向分析表明,游戏舍弃了后者,而以前者作为字符数来读取 n 个 utf-8 编码的 unicode 字符。
因此,本项目中的 RTON unicode 字符串处理存在错误,需要开发者进行修正。
23-02-20_19-39-28

Data Error

When I try to unpack 8.1.0 DZ file,I'm getting data Error,what I need to do?

Building PopStudio

How can I build the project PopStudio, you didn't indicate that in readme.md? It seems like the version in GitHub is 6.0.0 but release is 5.0.0

PAM Support

The tool can convert PAM from version 1 to 6 to .pam.json but apparently we can't work with it. Can you make the conversion from .pam.json to xfl and back like you did with PvZ1 reanim?

Setup RTONCipher

How can I setup RTONCipher for PopStudio.Console tool in Windows? it appears that PopStudio GUI support it but not console one, it doesn't has a input field for RTON Cipher.

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.