Compare commits
14 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 3ba9569ace | |||
| 166807fc76 | |||
| 628a09d187 | |||
| e4348c52d6 | |||
| 8f62aac732 | |||
| 9f0a05fc6b | |||
| d492249835 | |||
| dcfc23d2f3 | |||
| ad5e11c710 | |||
| 5354bb0762 | |||
| f721662ef9 | |||
| c6641e53fe | |||
| b97b29d894 | |||
| 32eb7be5a1 |
+4
-17
@@ -9,6 +9,7 @@ import compileall
|
||||
import shutil
|
||||
import subprocess
|
||||
import argparse
|
||||
import time
|
||||
|
||||
if not sys.flags.optimize:
|
||||
raise Exception("Optimization disabled.")
|
||||
@@ -43,6 +44,8 @@ def copy_tutorial_file(src, dest):
|
||||
|
||||
def main():
|
||||
|
||||
start = time.time()
|
||||
|
||||
if not sys.flags.optimize:
|
||||
raise Exception("Not running with python optimization.")
|
||||
|
||||
@@ -257,23 +260,7 @@ def main():
|
||||
|
||||
print()
|
||||
|
||||
if args.sign and not args.notarized:
|
||||
shutil.copy(sdk + ".tar.bz2", ROOT + "/notarized/in/renpy.tar.bz2")
|
||||
|
||||
print("Next steps:")
|
||||
print()
|
||||
print(" mac: ./scripts/notarize_app_1.sh")
|
||||
print(" mac: ./scripts/notarize_app_2.sh")
|
||||
print(" linux: ./distribute.py --notarized")
|
||||
print()
|
||||
|
||||
elif args.sign and args.notarized:
|
||||
|
||||
print("Next steps:")
|
||||
print()
|
||||
print(" mac: ./scripts/notarize_dmg_1.sh", args.version)
|
||||
print(" mac: ./scripts/notarize_dmg_2.sh", args.version)
|
||||
print()
|
||||
print("Distribute took {:.0f} seconds.".format(time.time() - start))
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
|
||||
@@ -190,13 +190,12 @@ init -1 python:
|
||||
interface.processing(self.info_msg, show_screen=True, cancel=cancel_action)
|
||||
|
||||
kwargs = { }
|
||||
if yes:
|
||||
kwargs["stdin"] = subprocess.PIPE
|
||||
|
||||
try:
|
||||
self.process = subprocess.Popen(cmd, cwd=renpy.fsencode(RAPT_PATH), stdout=f, stderr=f, stdin=subprocess.PIPE, startupinfo=startupinfo, **kwargs)
|
||||
# avoid SIGTTIN caused by e.g. gradle doing empty read on terminal stdin
|
||||
self.process.stdin.close()
|
||||
if not yes:
|
||||
self.process.stdin.close()
|
||||
except:
|
||||
import traceback
|
||||
traceback.print_exc(file=f)
|
||||
@@ -217,6 +216,7 @@ init -1 python:
|
||||
if yes and self.yes_thread:
|
||||
self.run_yes = False
|
||||
self.yes_thread.join()
|
||||
self.process.stdin.close()
|
||||
|
||||
self.process = None
|
||||
self.yes_thread = None
|
||||
|
||||
+11
-4
@@ -1109,7 +1109,10 @@ class ADVCharacter(object):
|
||||
|
||||
# If dynamic is set, evaluate the name expression.
|
||||
if self.dynamic:
|
||||
who = renpy.python.py_eval(who)
|
||||
if callable(who):
|
||||
who = who()
|
||||
else:
|
||||
who = renpy.python.py_eval(who)
|
||||
|
||||
def sub(s, scope=None, force=False, translate=True):
|
||||
return renpy.substitutions.substitute(s, scope=scope, force=force, translate=translate)[0]
|
||||
@@ -1329,9 +1332,13 @@ def Character(name=NotSet, kind=None, **properties):
|
||||
These options help to control the display of the name.
|
||||
|
||||
`dynamic`
|
||||
If true, then `name` should be a string containing a Python
|
||||
expression. That string will be evaluated before each line
|
||||
of dialogue, and the result used as the name of the character.
|
||||
If true, then `name` should either be a string containing a Python
|
||||
expression, a function, or a callable object. If it's a string,
|
||||
That string will be evaluated before each line of dialogue, and
|
||||
the result used as the name of the character. Otherwise, the
|
||||
function or callable object will be called with no arguments
|
||||
before each line of dialogue, and the return value of the call will
|
||||
be used as the name of the character.
|
||||
|
||||
**Controlling Interactions.**
|
||||
These options control if the dialogue is displayed, if an
|
||||
|
||||
@@ -204,7 +204,7 @@ init -1500 python:
|
||||
* Preference("font transform", None) - Disables the accessibility font transform.
|
||||
|
||||
* Preference("font size", 1.0) - Sets the accessibility font size scaling factor.
|
||||
* Preference("font vertical spacing", 1.0) - Sets the accessibility font vertical spacing scaling factor.
|
||||
* Preference("font line spacing", 1.0) - Sets the accessibility font vertical spacing scaling factor.
|
||||
|
||||
Values that can be used with bars are:
|
||||
|
||||
@@ -215,7 +215,7 @@ init -1500 python:
|
||||
* Preference("voice volume")
|
||||
* Preference("mixer <mixer> volume")
|
||||
* Preference("font size")
|
||||
* Preference("font vertical spacing")
|
||||
* Preference("font line spacing")
|
||||
|
||||
The `range` parameter can be given to give the range of certain bars.
|
||||
For "text speed", it defaults to 200 cps. For "auto-forward time", it
|
||||
|
||||
@@ -169,8 +169,8 @@ cdef class Matrix:
|
||||
|
||||
for 0 < i < 16:
|
||||
v = abs(self.m[i])
|
||||
total_1 += abs(i - aligned_1[i])
|
||||
total_2 += abs(i - aligned_2[i])
|
||||
total_1 += abs(v - aligned_1[i])
|
||||
total_2 += abs(v - aligned_2[i])
|
||||
|
||||
return (total_1 < .0001) or (total_2 < .0001)
|
||||
|
||||
|
||||
@@ -346,6 +346,7 @@ class Viewport(renpy.display.layout.Container):
|
||||
if not ((0 <= x < self.width) and (0 <= y <= self.height)):
|
||||
self.edge_xspeed = 0
|
||||
self.edge_yspeed = 0
|
||||
self.edge_last_st = None
|
||||
|
||||
inside = False
|
||||
|
||||
|
||||
@@ -1,27 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
set -e
|
||||
|
||||
cd "$(dirname $0)/.."
|
||||
|
||||
pushd notarized/in
|
||||
rm -Rf /tmp/notarize
|
||||
mkdir -p /tmp/notarize
|
||||
tar xjf renpy.tar.bz2 -C /tmp/notarize
|
||||
popd
|
||||
|
||||
pushd /tmp/notarize
|
||||
mv renpy-*-sdk/renpy.app .
|
||||
rm -Rf renpy-*-sdk
|
||||
|
||||
codesign --verify --verbose renpy.app
|
||||
|
||||
zip -r renpy.app.zip renpy.app
|
||||
|
||||
xcrun altool --asc-provider XHTE5H7Z79 -u tom@rothamel.us -p "@keychain:altool" \
|
||||
--notarize-app \
|
||||
--primary-bundle-id org.renpy.renpy \
|
||||
-f renpy.app.zip
|
||||
|
||||
popd
|
||||
|
||||
@@ -1,26 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
set -e
|
||||
|
||||
cd "$(dirname $0)/.."
|
||||
|
||||
pushd /tmp/notarize
|
||||
|
||||
result="$(xcrun altool --notarization-history 0 --asc-provider XHTE5H7Z79 -u tom@rothamel.us -p '@keychain:altool' | head -6 | tail -1)"
|
||||
echo $result
|
||||
status="$(echo $result | cut -d ' ' -f 5)"
|
||||
|
||||
if [ $status = "success" ]; then
|
||||
echo "Success... now stapling."
|
||||
else
|
||||
exit
|
||||
fi
|
||||
|
||||
xcrun stapler staple -v renpy.app
|
||||
|
||||
popd
|
||||
|
||||
rm -Rf notarized/out/renpy.app || true
|
||||
cp -a /tmp/notarize/renpy.app notarized/out/
|
||||
|
||||
echo "Done."
|
||||
@@ -1,16 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
dmg="/Users/tom/magnetic/ab/website/renpy/dl/$1/renpy-$1-sdk.dmg"
|
||||
|
||||
if [ ! -e "$dmg" ]; then
|
||||
echo "$dmg" not found.
|
||||
exit 1
|
||||
else
|
||||
echo "$dmg" found.
|
||||
fi
|
||||
|
||||
xcrun altool --asc-provider XHTE5H7Z79 -u tom@rothamel.us -p "@keychain:altool" \
|
||||
--notarize-app \
|
||||
--primary-bundle-id org.renpy.renpy.dmg \
|
||||
-f "$dmg"
|
||||
|
||||
@@ -1,12 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
dmg="/Users/tom/magnetic/ab/website/renpy/dl/$1/renpy-$1-sdk.dmg"
|
||||
|
||||
if [ ! -e "$dmg" ]; then
|
||||
echo "$dmg" not found.
|
||||
exit 1
|
||||
else
|
||||
echo "$dmg" found.
|
||||
fi
|
||||
|
||||
xcrun stapler staple --verbose "$dmg"
|
||||
@@ -20,7 +20,7 @@ it using::
|
||||
The new :func:`AudioData` class allows you to provide compressed
|
||||
audio data to Ren'Py, either generated programatically or taken
|
||||
from a source other than a file. To support this, the Python wave
|
||||
and sunau modules are now package with Ren'Py.
|
||||
and sunau modules are now packaged with Ren'Py.
|
||||
|
||||
An issue with enabling the mixing of mono sound files has been fixed.
|
||||
This issue caused many WAV files not to play. (We still don't recommend
|
||||
@@ -46,7 +46,7 @@ The web port of Ren'Py has seen a number of changes:
|
||||
* 'game.zip' can now be renamed. 'DEFAULT_GAME_FILENAME' in index.html controls this.
|
||||
* Portable HTTP requests (native+renpyweb): see https://github.com/renpy/renpyweb/blob/master/utils/asyncrequest.rpy
|
||||
* Enable networking in Python web port for testing WebSockets, transparently available through the Python 'socket' module
|
||||
* HTTP Cache-Control allows for for smoother game updates.
|
||||
* HTTP Cache-Control allows for smoother game updates.
|
||||
* The pygame.draw module is now included, allowing Canvas support.
|
||||
* WebGL compatibility has been improved.
|
||||
|
||||
@@ -94,6 +94,8 @@ the bar to be rounded to the nearest step value.
|
||||
:func:`Frame` now allows the tile argument to be the string "integer",
|
||||
which tiles the contents of the frame an integer number of times.
|
||||
|
||||
:func:`Character` now allows the `name` argument to be a function or
|
||||
callable object when `dynamic` is true.
|
||||
|
||||
Translations
|
||||
------------
|
||||
|
||||
@@ -290,7 +290,7 @@ Occasionally Used
|
||||
|
||||
The number of slots used by autosaves.
|
||||
|
||||
.. var:: config.cache_surfaces = True
|
||||
.. var:: config.cache_surfaces = False
|
||||
|
||||
If True, the underlying data of an image is stored in RAM, allowing
|
||||
image manipulators to be applied to that image without reloading it
|
||||
|
||||
@@ -19,6 +19,7 @@ the omission in future versions.
|
||||
* Aleema
|
||||
* Alessio
|
||||
* Alexandre Tranchant
|
||||
* Alisha Taylor
|
||||
* Andy_kl
|
||||
* Apricotorange
|
||||
* Arda Güler
|
||||
@@ -70,6 +71,7 @@ the omission in future versions.
|
||||
* Gustavo Carvalho
|
||||
* Helloise
|
||||
* Hentai Senshi
|
||||
* Herpior
|
||||
* HikkeKun
|
||||
* Hixbooks
|
||||
* Huang Junjie
|
||||
@@ -83,6 +85,7 @@ the omission in future versions.
|
||||
* Jan Beich
|
||||
* Javimat
|
||||
* Joshua Fehler
|
||||
* Julian Uy
|
||||
* Kalawore
|
||||
* Kathryn
|
||||
* Kevin Turner
|
||||
@@ -151,7 +154,6 @@ the omission in future versions.
|
||||
* Thuong Nguyen Huu
|
||||
* Tlm-2501
|
||||
* Tmrwiz
|
||||
* Uyjulian
|
||||
* Viliam Búr
|
||||
* Vollschauer
|
||||
* William Tumeo
|
||||
|
||||
Reference in New Issue
Block a user