Create a static scene #1

Closed
kornerr wants to merge 37 commits from mahjong/mahjong:scn into master
pull from: mahjong/mahjong:scn
15 changed files with 147 additions and 1 deletions
Showing only changes of commit 73fbba0d57 - Show all commits

No files matched your search

+10
View File
@@ -0,0 +1,10 @@
build
.build
.DS_Store
.gradle
gradle-daemon-jvm.properties
.idea
.kotlin
local.properties
Package.resolved
*.xcodeproj
+70
View File
@@ -0,0 +1,70 @@
import Foundation
/// Decode a base64 string back into a regular string
func otherBase64ToString(_ encoded: String) -> String {
guard
let data = Data(base64Encoded: encoded),
let str = String(data: data, encoding: .utf8)
else {
return ""
}
return str
}
/// Capitalize the first letter of a string
func otherCapitalize(_ s: String) -> String {
guard let first = s.first else {
return s
}
return String(first).uppercased() + String(s.dropFirst())
}
/// Launch to wait for asynchrnous actions
func otherLaunch() {
RunLoop.current.run()
}
/// Count leading spaces in a line
func otherLineIndent(_ line: String) -> Int {
var count = 0
for ch in line {
if ch == " " {
count += 1
} else {
break
}
}
return count
}
/// Print to stderr
func otherPrintStderr(_ txt: String) {
if let dat = "\(txt)\n".data(using: .utf8) {
FileHandle.standardError.write(dat)
}
}
/// Print each key/value processed by a controller into stderr
func otherSetupConsoleLogging(
_ ctrl: DialectController,
_ prefix: String
) {
ctrl.registerCallback { c -> Void in
let value = c.fieldAny(c.recentField)
let line = "ИГР \(prefix) k/v: '\(c.recentField)'/'\(value)'"
otherPrintStderr(line)
}
}
/// Write output text to a file
func otherWriteFile(
_ path: String,
_ content: String
) {
try? content.write(toFile: path, atomically: true, encoding: .utf8)
}
/// Terminate the main RunLoop
func otherShutdown() {
exit(0)
}
+1 -1
View File
@@ -1,7 +1,7 @@
version: 4
output:
ver-mac/src/dialect.swift:
game/ver-mac/src/dialect.swift:
type: swift
RootComponent:
+1
View File
@@ -0,0 +1 @@
../../../../components/other/other.swift
+1
View File
@@ -0,0 +1 @@
../../../../components/root/root.swift
+1
View File
@@ -0,0 +1 @@
../../../../components/root/rootVM.swift
+1
View File
@@ -0,0 +1 @@
../../../../../components/root/mac/view/RootView.swift
Executable
+10
View File
@@ -0,0 +1,10 @@
#!/bin/bash -e
SDIR=$(cd "$(dirname "$0")" ; pwd -P)
T=$SDIR/step
source $SDIR/paths
STEP=0
source $T/generateDialect
source $T/buildMac
source $T/packageMac
+1
View File
@@ -0,0 +1 @@
APP_MAC=$SDIR/../game/ver-mac/.build/ogs-mahjong.app
+9
View File
@@ -0,0 +1,9 @@
#!/bin/bash -e
killall cfprefsd 2>/dev/null || true
sleep 1
rm -f $HOME/Library/Preferences/OGS\ Mahjong.plist \
$HOME/Library/Preferences/org.opengamestudio.Mahjong.plist
echo "removed app preferences (window geometry)"
Executable
+8
View File
@@ -0,0 +1,8 @@
#!/bin/bash -e
SDIR=$(cd "$(dirname "$0")" ; pwd -P)
T=$SDIR/step
source $SDIR/paths
STEP=0
source $T/runMac
+7
View File
@@ -0,0 +1,7 @@
#!/bin/bash -e
STEP=$((STEP+1))
echo -e "\n> > > > Step №$STEP. Build for macOS"
cd $SDIR/../game/ver-mac
swift build
+6
View File
@@ -0,0 +1,6 @@
#!/bin/bash -e
STEP=$((STEP+1))
echo -e "\n> > > > Step №$STEP. Generate Dialect"
$SDIR/../../dialect/util/run-generator --file=$SDIR/../dialect.yml
+15
View File
@@ -0,0 +1,15 @@
#!/bin/bash -e
STEP=$((STEP+1))
echo -e "\n> > > > Step №$STEP. Make an app package for macOS"
rm -rf $APP_MAC
APP_DAT=$APP_MAC/Contents
mkdir -p $APP_DAT/MacOS
mkdir -p $APP_DAT/Resources
cp $SDIR/../game/ver-mac/.build/debug/ogs-mahjong $APP_DAT/MacOS/ogs-mahjong
cp $SDIR/../game/ver-mac/Info.plist $APP_DAT/Info.plist
cp $SDIR/../game/ver-mac/Resources/AppIcon.icns $APP_DAT/Resources/AppIcon.icns
+6
View File
@@ -0,0 +1,6 @@
#!/bin/bash -e
STEP=$((STEP+1))
echo -e "\n> > > > Step №$STEP. Run macOS app"
$SDIR/../game/ver-mac/.build/ogs-mahjong.app/Contents/MacOS/ogs-mahjong