Skip to content

Commit

Permalink
Merge branch 'main' into feature/unity-gltf-export
Browse files Browse the repository at this point in the history
  • Loading branch information
andybak committed Mar 27, 2024
2 parents 981569c + 410ed33 commit c6b9217
Show file tree
Hide file tree
Showing 13 changed files with 109 additions and 27 deletions.
72 changes: 58 additions & 14 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -83,7 +83,7 @@ jobs:
STAMP=""
echo "prerelease=false" >> $GITHUB_OUTPUT
echo "itchchannelname=release" >> $GITHUB_OUTPUT
echo "fastlanelane=release" >> $GITHUB_OUTPUT
echo "fastlanelane=beta" >> $GITHUB_OUTPUT
else
# This is the first 7 characters of the commit; we do it this way rather than via rev-parse to avoid an 'if' conditional depending on whether it's a PR or push. (unlike git describe, git rev-parse doesn't default to the current HEAD)
Expand Down Expand Up @@ -571,15 +571,14 @@ jobs:
# Some platforms share a cache; it's not a 1:1 mapping of either targetPlatform or vrsdk, so we have a distinct variable for which cache to use
key: Library_${{ matrix.cache }}_${{ env.UNITY_VERSION }}

createdmg:
name: Create and Notarize DMG
needs: [configuration, build]
signmacos:
name: Sign the MacOS .app
needs: [build]
if: |
github.event_name == 'push' &&
github.repository == 'icosa-foundation/open-brush' &&
(github.ref == 'refs/heads/main' || contains(github.ref, 'refs/tags/v'))
runs-on: macos-latest # the ovr-platform-util tool is only available for Mac and Windows
runs-on: macos-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
Expand Down Expand Up @@ -639,11 +638,46 @@ jobs:
codesign --deep --force --verify --verbose --timestamp --options runtime --entitlements ../Support/macos/OpenBrush.entitlements --sign "Developer ID Application: Icosa Gallery Ltd (${{ vars.APPLE_TEAM_ID }})" $FILENAME/Contents/Plugins/UsdCs.bundle
codesign --deep --force --verify --verbose --timestamp --options runtime --entitlements ../Support/macos/OpenBrush.entitlements --sign "Developer ID Application: Icosa Gallery Ltd (${{ vars.APPLE_TEAM_ID }})" $FILENAME/Contents/Plugins/lib_burst_generated.bundle
codesign --deep --force --verify --verbose --timestamp --options runtime --entitlements ../Support/macos/OpenBrush.entitlements --sign "Developer ID Application: Icosa Gallery Ltd (${{ vars.APPLE_TEAM_ID }})" $FILENAME
cd -
tar -c -v -z -f OpenBrush.tgz StandaloneOSX
- name: Upload signed app
uses: actions/upload-artifact@v4
with:
name: MacOS Monoscopic (signed)
path: |
OpenBrush.tgz
createdmg:
name: Create and Notarize DMG
needs: [signmacos]
if: |
github.event_name == 'push' &&
github.repository == 'icosa-foundation/open-brush' &&
(github.ref == 'refs/heads/main' || contains(github.ref, 'refs/tags/v'))
runs-on: macos-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
fetch-depth: 0
lfs: true # We don't use LFS, but it adds no time, and leave it here in case we do at some point later
sparse-checkout: |
Support/macos
- name: Download Build Artifacts
uses: actions/download-artifact@v4
with:
name: MacOS Monoscopic (signed)
path: build_macos_monoscopic

- name: Create a notarized DMG
env:
VERSION: ${{ needs.configuration.outputs.version }}
run: |
tar xvfz build_macos_monoscopic/*tgz
export FILENAME=$(basename $(readlink -f StandaloneOSX/OpenBrush*.app))
mkdir dist
Expand Down Expand Up @@ -857,7 +891,7 @@ jobs:

publish_steam:
name: Publish Steam Release
needs: [configuration, build]
needs: [build, signmacos]
if: |
github.event_name == 'push' &&
github.repository == 'icosa-foundation/open-brush' &&
Expand All @@ -883,19 +917,29 @@ jobs:
with:
name: Windows OpenXR
path: build_windows_openxr
- name: Download Build Artifacts (MacOS Monoscopic Signed)
uses: actions/download-artifact@v4
with:
name: MacOS Monoscopic (signed)
path: build_macos_monoscopic
- name: Upload Build
run: |
cd build_macos_monoscopic
tar xvfz OpenBrush.tgz
cd -
pip install -U jinjanator
jinjanate Support/steam/app.vdf.j2 > build_windows_openxr/app.vdf
jinjanate Support/steam/main_depot.vdf.j2 > build_windows_openxr/main_depot.vdf
jinjanate Support/steam/app.vdf.j2 > app.vdf
jinjanate Support/steam/main_depot.win.vdf.j2 > build_windows_openxr/main_depot.vdf
jinjanate Support/steam/main_depot.mac.vdf.j2 > build_macos_monoscopic/main_depot.vdf
jinjanate Support/steam/installscript_win.vdf.j2 > build_windows_openxr/installscript_win.vdf
steamcmd +login $STEAM_USERNAME +run_app_build $(pwd)/build_windows_openxr/app.vdf +quit
steamcmd +login $STEAM_USERNAME +run_app_build $(pwd)/app.vdf +quit
env:
STEAM_USERNAME: ${{ vars.STEAM_USERNAME }}
STEAM_PASSWORD: ${{ secrets.STEAM_PASSWORD }}
VERSION: ${{ needs.configuration.outputs.version }}
OPEN_BRUSH_APP_ID: ${{ vars.STEAM_APP_ID }}
OPEN_BRUSH_WINDOWS_DEPOT_ID: ${{ vars.STEAM_WINDOWS_DEPOT_ID }}
OPEN_BRUSH_MAC_DEPOT_ID: ${{ vars.STEAM_MAC_DEPOT_ID }}
OPEN_BRUSH_EXECUTABLE: ${{ needs.configuration.outputs.basename}}.exe
CHANNEL: beta
- name: Update steam login secret
Expand Down Expand Up @@ -1051,10 +1095,10 @@ jobs:
if [ "$PRERELEASE" == "false" ]
then
./ovr-platform-util upload-quest-build --app-id ${OCULUS_QUEST_APP_ID} --app-secret ${OCULUS_QUEST_APP_SECRET} --apk OpenBrush_Quest_$VERSION.apk --channel LIVE:quest2+ --debug_symbols_dir ./arm64-v8a/ --debug-symbols-pattern '*.so'
./ovr-platform-util upload-quest-build --app-id ${OCULUS_QUEST_APP_ID} --app-secret ${OCULUS_QUEST_APP_SECRET} --apk OpenBrush_Quest_$VERSION.apk --channel LIVE:quest2+ --debug_symbols_dir ./arm64-v8a/ --debug-symbols-pattern '*.so' --age-group MIXED_AGES
else
CHANGELOG="${RAW_CHANGELOG}"
./ovr-platform-util upload-quest-build --app-id ${OCULUS_QUEST_APP_ID} --app-secret ${OCULUS_QUEST_APP_SECRET} --apk OpenBrush_Quest_$VERSION.apk --channel Beta:quest2+ --debug_symbols_dir ./arm64-v8a/ --debug-symbols-pattern '*.so' --notes "${CHANGELOG}"
./ovr-platform-util upload-quest-build --app-id ${OCULUS_QUEST_APP_ID} --app-secret ${OCULUS_QUEST_APP_SECRET} --apk OpenBrush_Quest_$VERSION.apk --channel Beta:quest2+ --debug_symbols_dir ./arm64-v8a/ --debug-symbols-pattern '*.so' --notes "${CHANGELOG}" --age-group MIXED_AGES
fi
publish_oculus_quest1:
Expand Down Expand Up @@ -1091,10 +1135,10 @@ jobs:
if [ "$PRERELEASE" == "false" ]
then
./ovr-platform-util upload-quest-build --app-id ${OCULUS_QUEST_APP_ID} --app-secret ${OCULUS_QUEST_APP_SECRET} --apk OpenBrush_Quest1_$VERSION.apk --channel LIVE:quest1only --debug_symbols_dir ./arm64-v8a/ --debug-symbols-pattern '*.so'
./ovr-platform-util upload-quest-build --app-id ${OCULUS_QUEST_APP_ID} --app-secret ${OCULUS_QUEST_APP_SECRET} --apk OpenBrush_Quest1_$VERSION.apk --channel LIVE:quest1only --debug_symbols_dir ./arm64-v8a/ --debug-symbols-pattern '*.so' --age-group MIXED_AGES
else
CHANGELOG="${RAW_CHANGELOG}"
./ovr-platform-util upload-quest-build --app-id ${OCULUS_QUEST_APP_ID} --app-secret ${OCULUS_QUEST_APP_SECRET} --apk OpenBrush_Quest1_$VERSION.apk --channel Beta:quest1only --debug_symbols_dir ./arm64-v8a/ --debug-symbols-pattern '*.so' --notes "${CHANGELOG}"
./ovr-platform-util upload-quest-build --app-id ${OCULUS_QUEST_APP_ID} --app-secret ${OCULUS_QUEST_APP_SECRET} --apk OpenBrush_Quest1_$VERSION.apk --channel Beta:quest1only --debug_symbols_dir ./arm64-v8a/ --debug-symbols-pattern '*.so' --notes "${CHANGELOG}" --age-group MIXED_AGES
fi
publish_oculus_rift:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/pre-commit.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5.0.0
- uses: actions/setup-python@v5.1.0
with:
python-version: '3.12'
- uses: actions/[email protected]
Expand Down
4 changes: 3 additions & 1 deletion Assets/Scenes/Main.unity
Original file line number Diff line number Diff line change
Expand Up @@ -10143,7 +10143,9 @@ MonoBehaviour:
m_EditorClassIdentifier:
m_GlobalNoiseTexture: {fileID: 2800000, guid: 13d389131c327b94f84fbac121bf6f8f,
type: 3}
m_DefaultBrush: {fileID: 11400000, guid: eb608f68fb3036b47be357a021ed7618, type: 2}
m_DefaultBrush: {fileID: 11400000, guid: b802f6ef146800b4bb78e9c705622cad, type: 2}
m_ZapboxDefaultBrush: {fileID: 11400000, guid: eb608f68fb3036b47be357a021ed7618,
type: 2}
m_BlocksMaterials:
- brushDescriptor: {fileID: 11400000, guid: 0e87b49c65463a343a448a556d7d6c3e, type: 2}
- brushDescriptor: {fileID: 11400000, guid: d6c87eafa4cdba042933c1b4f6da46f7, type: 2}
Expand Down
10 changes: 9 additions & 1 deletion Assets/Scripts/BrushCatalog.cs
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,7 @@ public static void UnitTestTearDown(GameObject container)
public Texture2D m_GlobalNoiseTexture;

[SerializeField] private Brush m_DefaultBrush;
[SerializeField] private Brush m_ZapboxDefaultBrush;
private bool m_IsLoading;
private Dictionary<Guid, Brush> m_GuidToBrush;
private HashSet<Brush> m_AllBrushes;
Expand All @@ -82,7 +83,14 @@ public Brush GetBrush(Guid guid)
}
public Brush DefaultBrush
{
get { return m_DefaultBrush; }
get
{
#if ZAPBOX_SUPPORTED
// TODO:Mikesky - Fix brush transparency!
return m_ZapboxDefaultBrush;
#endif
return m_DefaultBrush;
}
}
public IEnumerable<Brush> AllBrushes
{
Expand Down
Binary file modified Assets/Textures/Trademarked/logo.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified Assets/Textures/Trademarked/logowatermarkwhite.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
16 changes: 9 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,11 +1,12 @@
# Open Brush - Tilt Brush Evolved
# Open Brush - Art From All Angles

[![Support us on Open Collective!](https://img.shields.io/opencollective/all/icosa?logo=open-collective&label=Support%20us%20on%20Open%20Collective%21)](https://opencollective.com/icosa)
[![All GitHub releases](https://img.shields.io/github/downloads/icosa-foundation/open-brush/total?label=GitHub%20downloads)](https://github.com/icosa-foundation/open-brush/releases/latest)
[![Twitter](https://img.shields.io/badge/follow-%40openbrushapp-blue.svg?style=flat&logo=twitter)](https://twitter.com/openbrushapp)
[![Discord](https://discordapp.com/api/guilds/783806589991780412/embed.png?style=shield)](https://discord.gg/W7NCEYnEfy)
![Current Version](https://img.shields.io/github/v/release/icosa-foundation/open-brush)
![Prerelease Version](https://img.shields.io/github/v/release/icosa-foundation/open-brush?include_prereleases&label=prerelease)
[![Crowdin](https://badges.crowdin.net/openbrushapp/localized.svg)](https://crowdin.com/project/openbrushapp)
[![Support us on Open Collective!](https://img.shields.io/opencollective/all/icosa?logo=open-collective&label=Support%20us%20on%20Open%20Collective%21)](https://opencollective.com/icosa)
[![X](https://img.shields.io/badge/follow-%40openbrushapp-blue.svg?style=flat&logo=x)](https://x.com/openbrushapp)
[![Discord](https://discordapp.com/api/guilds/783806589991780412/embed.png?style=shield)](https://discord.gg/W7NCEYnEfy)


[![Open Brush Banner](open-brush.png)](https://openbrush.app)

Expand All @@ -20,15 +21,16 @@ As the original repo is archived we cannot submit PRs, so feel free to submit th
[Roadmap](https://github.com/orgs/icosa-foundation/projects/1)
[Please join the Icosa Discord and get involved!](https://discord.com/invite/W7NCEYnEfy)
[List of tutorials, write-ups and other things from the community](https://docs.google.com/document/d/1gjoYp4y-1qlE3a7fvXVxGR3ioj3nMfgprmTHQ-bpq0k/)
**[Support us on Open Collective!](https://opencollective.com/icosa)**
[Support us on Open Collective](https://opencollective.com/icosa)

## Downloads
### Stores (Did we mention it's free?)
### Stores
- [SideQuest](https://sidequestvr.com/app/2852/open-brush)
- [Oculus App Lab](https://www.oculus.com/experiences/quest/3600360710032222)
- [Steam](https://store.steampowered.com/app/1634870/Open_Brush)
- [Oculus Rift](https://www.oculus.com/experiences/rift/5227489953989768)
- [Viveport Desktop](https://www.viveport.com/f1f3d00b-cf8a-443f-825e-4fea2dd3b005)
- [Pico](https://store-global.picoxr.com/global/detail/1/7246792261630050310)
- [itch.io](https://openbrush.itch.io/openbrush)
### GitHub
- [Formal GitHub Releases](https://github.com/icosa-foundation/open-brush/releases/latest)
Expand Down
Binary file modified Support/macos/background.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified Support/macos/[email protected]
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
5 changes: 3 additions & 2 deletions Support/steam/app.vdf.j2
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,14 @@
{
"appid" "{{ OPEN_BRUSH_APP_ID }}"
"Desc" "{{ VERSION }}"
"buildoutput" "../build_output/{{ CHANNEL }}" // Path for steamcmd logs
"buildoutput" "build_output/{{ CHANNEL }}" // Path for steamcmd logs
"contentroot" "." // This file will be copied into the root of the release
"setlive" "{{ CHANNEL }}"
"preview" "0" // For local testing, set this to 1
"local" "" // Not relevant; this is for a custom CDN
"depots"
{
"{{ OPEN_BRUSH_WINDOWS_DEPOT_ID }}" main_depot.vdf
"{{ OPEN_BRUSH_WINDOWS_DEPOT_ID }}" build_windows_openxr/main_depot.vdf
"{{ OPEN_BRUSH_MAC_DEPOT_ID }}" build_macos_monoscopic/main_depot.vdf
}
}
25 changes: 25 additions & 0 deletions Support/steam/main_depot.mac.vdf.j2
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
"DepotBuildConfig"
{
// # Set your assigned depot ID here
"DepotID" "{{ OPEN_BRUSH_MAC_DEPOT_ID }}"

"ContentRoot" "build_macos_monoscopic/StandaloneOSX"

"FileMapping"
{
// Include all files in the build output directory (ContentRoot)
"LocalPath" "*"

// Destination is the main install directory
"DepotPath" "."

// If LocalPath contains wildcards, setting this means that all
// matching files within subdirectories of LocalPath will also
// be included.
"recursive" "1"
}

// but exclude all symbol files
"FileExclusion" "*.pdb"
"FileExclusion" "build_log.txt"
}
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
// # Set your assigned depot ID here
"DepotID" "{{ OPEN_BRUSH_WINDOWS_DEPOT_ID }}"

"ContentRoot" "StandaloneWindows64"
"ContentRoot" "build_windows_openxr/StandaloneWindows64"

"FileMapping"
{
Expand Down
Binary file modified open-brush.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit c6b9217

Please sign in to comment.