summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--LICENSE18
-rw-r--r--Makefile5
-rw-r--r--unrpyc/LICENSE20
-rw-r--r--unrpyc/decompiler.py20
-rw-r--r--unrpyc/renpy/README1
-rw-r--r--unrpyc/renpy/__init__.py7
-rw-r--r--unrpyc/renpy/display/__init__.py8
-rw-r--r--unrpyc/renpy/log.py152
-rw-r--r--unrpyc/unrpyc.py62
9 files changed, 21 insertions, 272 deletions
diff --git a/LICENSE b/LICENSE
index 6331724..9d9f1d9 100644
--- a/LICENSE
+++ b/LICENSE
@@ -1,15 +1,19 @@
© 2013 Alex Xu (Hello71)
All Rights Reserved
-I haven't decided on an open-source license; contact me [0] to discuss.
-
-The unrpyc/ subdirectory is released under the license in unrpyc/LICENSE. This should be the MIT license, but the license in that file overrides whatever this says.
-
-The "Playtime With Hot Toddies" font is not licensed, but was found on Font Squirrel [1]:
+The "Playtime With Hot Toddies" font is not licensed, but was found on Font Squirrel [0], and is also in the KS source.
> This font was found on the internet and did not come with a license. While we try to make sure that all the fonts on fontsquirrel.com are properly licensed for commercial use, there are many fonts that have either been abandoned by their authors or the authors distribute their fonts without an explicit license.
>
> It is our opinion that if the unlicensed font is freely available for download from either the original source or from multiple free-font sites then we assume it to be safe to use the font commercially. This is no guarantee of such freedom, but there are so many unlicensed free fonts distributed by primary sources that the intentions must be read that the font is free to use how you like.
-[0] mailto:alex.hello71@gmail.com
-[1] http://www.fontsquirrel.com/license/Playtime-With-Hot-Toddies
+Ren'Py (unrpyc/renpy) is distributed under the MIT license, in unrpyc/renpy/LICENSE.txt.
+
+Git submodules are *not* included as part of the source, and are licensed separately. See their respective subdirectories for more information.
+
+All other source code (i.e. mine) is licensed under the GPL 3.0 license [1].
+
+unrpyc itself used to be under the MIT license, but I have relicensed it as GPL 3.0. Where this is not legal, the contents of that subdirectory are available under the MIT license; however, the rest of the source code remains under GPL 3.0.
+
+[0] http://www.fontsquirrel.com/license/Playtime-With-Hot-Toddies
+[1] https://www.gnu.org/copyleft/gpl.html
diff --git a/Makefile b/Makefile
index 5692b88..df09c28 100644
--- a/Makefile
+++ b/Makefile
@@ -26,11 +26,10 @@ DUMP ?= www/dump
all: .modules video audio images js
# === GIT SUBMODULES ===
-.modules: .gitmodules
+modules:
git submodule update --init
ln -fs ../../config-all.json Modernizr/lib/config-all.json
cd Modernizr && npm update && $(GRUNT) build
- touch .modules
# === VIDEO ===
@@ -166,4 +165,4 @@ watch:
.SUFFIXES:
.INTERMEDIATE: $(CTC_ANIM_TMP) $(CTC_ANIM_TMP_WEBP)
-.PHONY: video audio images js jshint clean space watch
+.PHONY: modules video audio images js jshint clean space watch
diff --git a/unrpyc/LICENSE b/unrpyc/LICENSE
deleted file mode 100644
index 0279e04..0000000
--- a/unrpyc/LICENSE
+++ /dev/null
@@ -1,20 +0,0 @@
-The renpy directory is also distributed under the MIT license located at
-renpy/LICENSE.txt.
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
diff --git a/unrpyc/decompiler.py b/unrpyc/decompiler.py
index ab91732..de80147 100644
--- a/unrpyc/decompiler.py
+++ b/unrpyc/decompiler.py
@@ -1,23 +1,3 @@
-# Copyright (c) 2012 Yuri K. Schlesner
-#
-# Permission is hereby granted, free of charge, to any person obtaining a copy
-# of this software and associated documentation files (the "Software"), to deal
-# in the Software without restriction, including without limitation the rights
-# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-# copies of the Software, and to permit persons to whom the Software is
-# furnished to do so, subject to the following conditions:
-#
-# The above copyright notice and this permission notice shall be included in
-# all copies or substantial portions of the Software.
-#
-# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-# SOFTWARE.
-
import ast as python_ast
import renpy.ast as ast
import renpy.atl as atl
diff --git a/unrpyc/renpy/README b/unrpyc/renpy/README
deleted file mode 100644
index 0e04cdc..0000000
--- a/unrpyc/renpy/README
+++ /dev/null
@@ -1 +0,0 @@
-This is Ren'Py 6.15.4 with significant deletions (to minimize size).
diff --git a/unrpyc/renpy/__init__.py b/unrpyc/renpy/__init__.py
index 443cb49..f2bd463 100644
--- a/unrpyc/renpy/__init__.py
+++ b/unrpyc/renpy/__init__.py
@@ -90,15 +90,9 @@ def import_cython():
def import_all():
- import renpy.log #@UnresolvedImport
import renpy.display #@UnresolvedImport
- # Should probably be early, as we will add it as a base to serialized things.
- import renpy.object #@UnresolvedImport
-
- import renpy.game #@UnresolvedImport
-
# Adds in the Ren'Py loader.
import renpy.loader #@UnresolvedImport
@@ -237,7 +231,6 @@ def reload_all():
renpy.display.im.cache.quit()
blacklist = [ "renpy",
- "renpy.log",
"renpy.bootstrap",
"renpy.display",
"renpy.display.pgrender",
diff --git a/unrpyc/renpy/display/__init__.py b/unrpyc/renpy/display/__init__.py
index 055dad6..3420500 100644
--- a/unrpyc/renpy/display/__init__.py
+++ b/unrpyc/renpy/display/__init__.py
@@ -19,8 +19,6 @@
# OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-import renpy.log
-
# The draw object through which all drawing is routed. This object
# contains all of the distinction between the software and GL
# renderers.
@@ -31,9 +29,3 @@ interface = None
# Should we disable imagedissolve-type transitions?
less_imagedissolve = False
-
-# Logs we use.
-log = renpy.log.open("log", developer=False, append=False)
-ic_log = renpy.log.open("image_cache", developer=True, append=False)
-to_log = renpy.log.open("text_overflow", developer=True, append=True)
-
diff --git a/unrpyc/renpy/log.py b/unrpyc/renpy/log.py
deleted file mode 100644
index 37fec9a..0000000
--- a/unrpyc/renpy/log.py
+++ /dev/null
@@ -1,152 +0,0 @@
-# Copyright 2004-2013 Tom Rothamel <pytom@bishoujo.us>
-#
-# Permission is hereby granted, free of charge, to any person
-# obtaining a copy of this software and associated documentation files
-# (the "Software"), to deal in the Software without restriction,
-# including without limitation the rights to use, copy, modify, merge,
-# publish, distribute, sublicense, and/or sell copies of the Software,
-# and to permit persons to whom the Software is furnished to do so,
-# subject to the following conditions:
-#
-# The above copyright notice and this permission notice shall be
-# included in all copies or substantial portions of the Software.
-#
-# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-# LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-# OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-# This module handles the logging of messages to a file.
-
-import os.path
-import codecs
-import traceback
-import platform
-import time
-import tempfile
-
-import renpy
-
-# The file events are logged to.
-log_file = None
-
-class LogFile(object):
- """
- This manages one of our logfiles.
- """
-
- def __init__(self, name, append=False, developer=False):
- """
- `name`
- The name of the logfile, without the .txt extension.
- `append`
- If true, we will append to the logfile. If false, we will truncate
- it to an empty file the first time we write to it.
- `developer`
- If true, nothing happens if config.developer is not set to True.
- """
-
- self.name = name
- self.append = append
- self.developer = developer
- self.file = None
-
- # File-like attributes.
- self.softspace = 0
- self.newlines = None
-
- # Should we emulate file's write method? We do so if this is True.
- self.raw_write = False
-
- def open(self): #@ReservedAssignment
-
- if self.file:
- return True
-
- if self.developer and not renpy.config.developer:
- return False
-
- if not renpy.config.log_enable:
- return False
-
- try:
- base = os.environ.get("RENPY_LOG_BASE", renpy.config.basedir)
- fn = os.path.join(base, self.name + ".txt")
-
- altfn = os.path.join(tempfile.gettempdir(), "renpy-" + self.name + ".txt")
-
-
- if renpy.android:
- print("Logging to", fn)
-
- if self.append:
- mode = "a"
- else:
- mode = "w"
-
- try:
- self.file = codecs.open(fn, mode, "utf-8")
- except:
- self.file = codecs.open(altfn, mode, "utf-8")
-
- if self.append:
- self.write('')
- self.write('=' * 78)
- self.write('')
-
- self.write("%s", time.ctime())
- self.write("%s", platform.platform())
- self.write("%s", renpy.version)
- self.write("%s %s", renpy.config.name, renpy.config.version)
- self.write("")
-
- return True
-
- except:
- return False
-
- def write(self, s, *args):
- """
- Formats `s` with args, and writes it to the logfile.
- """
-
- if self.open():
-
- if not self.raw_write:
- s = s % args
- s += "\n"
-
- if not isinstance(s, str):
- s = s.decode("latin-1")
-
- s = s.replace("\n", "\r\n")
-
- self.file.write(s)
- self.file.flush()
-
- def exception(self):
- """
- Writes the exception to the logfile.
- """
-
- self.raw_write = True
- traceback.print_exc(None, self)
- self.raw_write = False
-
-# A map from the log name to a log object.
-log_cache = { }
-
-def open(name, append=False, developer=False): #@ReservedAssignment
- rv = log_cache.get(name, None)
-
- if rv is None:
- rv = LogFile(name, append=append, developer=developer)
- log_cache[name] = rv
-
- return rv
-
-
-
diff --git a/unrpyc/unrpyc.py b/unrpyc/unrpyc.py
index 6bdde42..54ca818 100644
--- a/unrpyc/unrpyc.py
+++ b/unrpyc/unrpyc.py
@@ -1,25 +1,3 @@
-#!/usr/bin/env python2
-
-# Copyright (c) 2012 Yuri K. Schlesner
-#
-# Permission is hereby granted, free of charge, to any person obtaining a copy
-# of this software and associated documentation files (the "Software"), to deal
-# in the Software without restriction, including without limitation the rights
-# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-# copies of the Software, and to permit persons to whom the Software is
-# furnished to do so, subject to the following conditions:
-#
-# The above copyright notice and this permission notice shall be included in
-# all copies or substantial portions of the Software.
-#
-# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-# SOFTWARE.
-
import optparse
import os.path
import sys
@@ -40,7 +18,7 @@ def import_renpy(basedir=None):
sys.path.append(basedir)
global renpy
global decompiler
-
+
# Needed for pickle to read the AST
try:
import renpy
@@ -48,41 +26,17 @@ def import_renpy(basedir=None):
print("\nFailed at importing renpy. Are you sure that the renpy directory can be found in sys.path or the current working directory?\n")
raise
# try to import as much renpy modules as possible, but some modules might not exist
- # in older ren'py versions.
- try: import renpy.log
- except: pass
- try: import renpy.display
- except: pass
+ # in older ren'py versions.
try: import renpy.object
except: pass
- try:
+ try:
import renpy.game
renpy.game.script = Dummy()
except: pass
- try: import renpy.loader
- except: pass
try: import renpy.ast
except: pass
try: import renpy.atl
except: pass
- try: import renpy.curry
- except: pass
- try: import renpy.easy
- except: pass
- try: import renpy.execution
- except: pass
- try: import renpy.loadsave
- except: pass
- try: import renpy.parser
- except: pass
- try: import renpy.python
- except: pass
- try: import renpy.script
- except: pass
- try: import renpy.statements
- except: pass
- try: import renpy.style
- except: pass
import decompiler
if basedir:
@@ -99,7 +53,7 @@ def decompile_rpyc(input_filename, out_filename, overwrite=False, ignore_python=
path, ext = os.path.splitext(input_filename)
print(("Decompiling %s to %s..." % (input_filename, out_filename)))
-
+
if not overwrite and os.path.exists(out_filename):
print("Output file already exists. Pass --clobber to overwrite.")
return False # Don't stop decompiling if one file already exists
@@ -118,15 +72,15 @@ if __name__ == "__main__":
parser.add_option('-c', '--clobber', action='store_true', dest='clobber',
default=False, help="overwrites existing output files")
-
- parser.add_option('-b', '--basedir', action='store', dest='basedir',
- help="specify the game base directory in which the 'renpy' directory is located")
+
+ parser.add_option('-b', '--basedir', action='store', dest='basedir',
+ help="specify the game base directory in which the 'renpy' directory is located")
parser.add_option('-p', '--ignore-python', action='store_true', dest='ignore_python',
default=False, help="ignore python blocks")
options, args = parser.parse_args()
-
+
if options.basedir:
import_renpy(options.basedir)