Compare commits

...

14 Commits

Author SHA1 Message Date
Tom Rothamel 3ba9569ace Allow character to call a function to supply its name.
Fixes #2007.
2019-09-30 22:46:25 -04:00
Tom Rothamel 166807fc76 Update credits. 2019-09-30 19:56:55 -04:00
Tom Rothamel 628a09d187 Merge pull request #2010 from lunalucid/correct-linespacing
Correct preference 'font vertical spacing' to 'font line spacing'
2019-09-30 01:58:16 -04:00
lunalucid e4348c52d6 correct preference 'font vertical spacing' to 'font line spacing' 2019-09-29 22:38:41 -06:00
Tom Rothamel 8f62aac732 Update credits. 2019-09-29 19:39:55 -04:00
Tom Rothamel 9f0a05fc6b Remove manual notarization.
It's now integrated into the app/dmg signing scripts, making it
a walk-away process.
2019-09-29 10:36:38 -04:00
Tom Rothamel d492249835 Merge pull request #2005 from Herpior/viewport-edgescroll-fix
Clear edgescroll timer when mouse moved out of bounds
2019-09-28 21:40:05 -04:00
Tom Rothamel dcfc23d2f3 Fix matrix.is_unit_aligned.
The implementation was wrong, and so it would never return true.
2019-09-28 18:43:37 -04:00
Beuc ad5e11c710 Typos 2019-09-28 10:06:54 +02:00
Tom Rothamel 5354bb0762 Fix a problem that prevents installing the android sdk. 2019-09-28 00:45:36 -04:00
Tom Rothamel f721662ef9 Merge pull request #2006 from renpy/Beuc-patch-1
config.cache_surfaces is False by default
2019-09-27 16:23:24 -04:00
Beuc c6641e53fe config.cache_surfaces is False by default 2019-09-27 22:20:04 +02:00
Roope Herpiö b97b29d894 Clear edgescroll timer when mouse moved out of bounds 2019-09-27 15:08:02 +03:00
Tom Rothamel 32eb7be5a1 Fix name. 2019-09-27 01:24:50 -04:00
13 changed files with 31 additions and 113 deletions
+4 -17
View File
@@ -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__":
+3 -3
View File
@@ -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
View File
@@ -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
+2 -2
View File
@@ -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
+2 -2
View File
@@ -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)
+1
View File
@@ -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
-27
View File
@@ -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
-26
View File
@@ -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."
-16
View File
@@ -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"
-12
View File
@@ -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"
+4 -2
View File
@@ -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
------------
+1 -1
View File
@@ -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
+3 -1
View File
@@ -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