* Steins;Zapp D-Mailer #+HTML:
Steins;Zapp D-Mailer, Steins;Zapp, or just S;Z, are a /Steins;Gate/ inspired patches for WhatsApp made in [[https://t.me/soulamods][SoulaMods]] /WhatsApp Go/ (~com.soula2~). Join our [[https://matrix.to/#/#steins-zapp:matrix.thisisjoes.site][Matrix space]] to receive S;Z updates, suggestion polls and pré-releases! 😁 ** Screenshots #+HTML:
[[https://gitlab.com/secret-vault/steins-zapp/-/tree/master/visual_identity/screenshots][Click here for more S;Z screenshots]]
** Download
To download the entire Steins;Zapp APK pack, go to [[https://gitlab.com/secret-vault/steins-zapp/-/tree/master/steins-zapp/][ ~steins-zapp/~ ]] and download [[https://gitlab.com/secret-vault/steins-zapp/-/raw/master/steins-zapp/steins-zapp.zip][ ~steins-zapp.zip~ (or simply click here)]] or download individual APK's below at [[steins-zapp/ content]].
#+BEGIN_QUOTE
Important: do *NOT* download Steins;Zapp from *ANY* unofficial sources to prevent damages (the official ones are [[https://gitlab.com/secret-vault/steins-zapp][GitLab]], [[https://github.com/secret-vault/steins-zapp][GitHub]] and [[https://matrix.to/#/#steins-zapp:matrix.thisisjoes.site][Matrix space]]).
#+END_QUOTE
*** ~steins-zapp/~ content
- [[https://gitlab.com/secret-vault/steins-zapp/-/tree/master/steins-zapp][ ~steins-zapp/~ - Builds output]]
- [[https://gitlab.com/secret-vault/steins-zapp/-/raw/master/steins-zapp/CHECKSUM][ ~CHECKSUM~ - SHA256 checksum of all ~*.apk~ files]]
- [[https://gitlab.com/secret-vault/steins-zapp/-/raw/master/steins-zapp/com.steinszapp0.apk][ ~com.steinszapp0.apk~ - 0 Steins;Zapp (build #1)]]
- [[https://gitlab.com/secret-vault/steins-zapp/-/raw/master/steins-zapp/com.steinszapp1.apk][ ~com.steinszapp1.apk~ - β Steins;Zapp (build #2)]]
- [[https://gitlab.com/secret-vault/steins-zapp/-/raw/master/steins-zapp/com.steinszapp2.apk][ ~com.steinszapp2.apk~ - α Steins;Zapp (build #3)]]
- [[https://gitlab.com/secret-vault/steins-zapp/-/raw/master/steins-zapp/com.steinszapp3.apk][ ~com.steinszapp3.apk~ - γ Steins;Zapp (build #4)]]
- [[https://gitlab.com/secret-vault/steins-zapp/-/raw/master/steins-zapp/com.steinszapp4.apk][ ~com.steinszapp4.apk~ - δ Steins;Zapp (build #5)]]
- [[https://gitlab.com/secret-vault/steins-zapp/-/raw/master/steins-zapp/steins-zapp.zip][ ~steins-zapp.zip~ - All files above, but compressed/zipped]]
-----
* Technical info
** Repo content
- ~dependencies/~ - Steins;Zapp dependencies (softwares, scripts, images, etc.)
- ~dev_builds/~ - Development builds output
- ~patches/~ - ~com.soula2~ patched files
- ~steins-zapp/~ - Steins;Zapp builds output
- ~visual_identity/~ - The entire S;Z visual identity (icons, wallpapers, project files). Collect and enjoy them 😉
- ~builder.sh~ - Script to generate Steins;Zapp builds
- ~CHANGELOG~ - Changes made in the actual Steins;Zapp release
- ~dev_builder.sh~ - Script to help at development
- ~dev_patches.org~ - Guide to find the files to patch
- ~LICENSE~ - MIT License
- ~README.org~ - Readme file with all important information about this project
** Build guide
*** Software dependencies
- Any terminal emulator with any shell
- Java (developed with ~openjdk 17.0.3~)
- ~sed~ (should come by default with most *NIX os'es: BSD, Linux, Mac, etc.)
- ~zip~
*** Autobuild
1. Open a terminal instance and enter on it on repo root folder (this one, that contains ~builder.sh~)
2. Check if ~builder.sh~ has execution permission (run ~ls -l~). If hasn't, ~chmod +x builder.sh~
3. Run builder, with ~./builder.sh~
#+BEGIN_QUOTE
The entire process can take more than 5 minutes. Make sure repo is up to date, to prevent errors
#+END_QUOTE
4. If everything is OK, you're done!
*** Manual build
1. If exists, delete ~source/~ directory
2. Run APKTool (it should be located at ~dependencies/~) to decompile WhatsApp Go. Run
#+BEGIN_SRC sh
java -jar ./dependencies/apktool_2.6.1.jar -q d ./dependencies/com.soula2_v0.22.6L.apk -o ./source
#+END_SRC
3. Delete everything inside ~source/assets/~, after that, delete WhatsApp bloats. Run
#+BEGIN_SRC sh
rm -r ./source/assets/*
./dependencies/value_list.sh source
#+END_SRC
4. Copy and *replace* everything inside ~patches/~ into ~source/~. To automate this process, run
#+BEGIN_SRC sh
cp -rf ./patches/* ./source/
#+END_SRC
5. Copy all light and dark theme files, to their respective directories. Run
#+BEGIN_SRC sh
./dependencies/light_theme.sh source
./dependencies/dark_theme.sh source
#+END_SRC
6. Delete everything inside ~steins-zapp/~. To automate this process, run
#+BEGIN_SRC sh
rm -rf ./steins-zapp/*
#+END_SRC
7. Create a copy of ~source/~ directory called ~build/~. To automate this process, run
#+BEGIN_SRC sh
cp -r ./source ./build
#+END_SRC
8. Copy last modified files. To automate this process, run
#+BEGIN_SRC sh
declare -A symbols
symbols[0]="0"
symbols[1]="β"
symbols[2]="α"
symbols[3]="γ"
symbols[4]="δ"
divergence=VALUE
./dependencies/general.sh build ${divergence}
#+END_SRC
#+BEGIN_QUOTE
Change ~VALUE~ to any number greater or equal to 0 and less or equal to 4.
#+END_QUOTE
9. Change properly the package name to ~steinszapp${divergence}~. To automate this process, run
#+BEGIN_SRC sh
for apk_paths in $(grep -s -r -o "com\.soula2" ./build | cut -d ":" -f 1 | uniq); do sed -i "s/com\.soula2/com\.steinszapp${divergence}/g" ${apk_paths} > /dev/null; done
for smali_paths in $(grep -s -r -o "Lcom\/soula2" ./build | cut -d ":" -f 1 | uniq); do sed -i "s/Lcom\/soula2/Lcom\/steinszapp${divergence}/g" ${smali_paths} > /dev/null; done
#+END_SRC
10. Change ~wa_go_name~ and ~wa_go_version~ values in ~build/values-v1/strings.xml~. Run
#+BEGIN_SRC sh
release=NAME
sed -i "s/