Updated internal Python builds to 3.8.7

This commit is contained in:
Eric Froemling 2021-01-08 16:31:38 -08:00
parent f5c12ef669
commit efe7050445
16 changed files with 608 additions and 596 deletions

File diff suppressed because it is too large Load Diff

View File

@ -1,5 +1,5 @@
<!-- THIS FILE IS AUTO GENERATED; DO NOT EDIT BY HAND -->
<h4><em>last updated on 2021-01-04 for Ballistica version 1.5.30 build 20265</em></h4>
<h4><em>last updated on 2021-01-08 for Ballistica version 1.5.30 build 20266</em></h4>
<p>This page documents the Python classes and functions in the 'ba' module,
which are the ones most relevant to modding in Ballistica. If you come across something you feel should be included here or could be better explained, please <a href="mailto:support@froemling.net">let me know</a>. Happy modding!</p>
<hr>

View File

@ -21,7 +21,7 @@
namespace ballistica {
// These are set automatically via script; don't change here.
const int kAppBuildNumber = 20265;
const int kAppBuildNumber = 20267;
const char* kAppVersion = "1.5.30";
// Our standalone globals.

View File

@ -100,7 +100,7 @@ float Utils::precalc_rands_3[kPrecalcRandsCount] = {
0.376926f, 0.508574f, 0.809908f, 0.862359f, 0.863431f, 0.884588f,
0.895885f, 0.391311f, 0.976098f, 0.473118f, 0.286659f, 0.0946781f,
0.402437f, 0.347471f};
#else // USE_BAKED_RANDS
#else // USE_BAKED_RANDS
float Utils::precalc_rands_1[kPrecalcRandsCount];
float Utils::precalc_rands_2[kPrecalcRandsCount];
float Utils::precalc_rands_3[kPrecalcRandsCount];

View File

@ -327,7 +327,7 @@ GLContext::~GLContext() {
if (!IsVRMode()) {
BA_PRECONDITION_LOG(sdl_window_);
}
#else // BA_RIFT_MODE
#else // BA_RIFT_MODE
BA_PRECONDITION_LOG(sdl_window_);
#endif // BA_RIFT_BUILD

View File

@ -178,7 +178,7 @@ class GLContext {
assert(surface_);
return surface_;
}
#endif // BA_SDL2_BUILD
#endif // BA_SDL2_BUILD
private:
#if BA_SDL2_BUILD

View File

@ -408,7 +408,7 @@ void RendererGL::CheckGLExtensions() {
supports_depth_textures_ = true;
#if BA_CARDBOARD_BUILD
g_graphics->SetSupportsHighQualityGraphics(false);
#else // BA_CARDBOARD_BUILD
#else // BA_CARDBOARD_BUILD
g_graphics->SetSupportsHighQualityGraphics(true);
#endif // BA_CARDBOARD_BUILD
} else {
@ -2476,7 +2476,7 @@ class RendererGL::PostProcessProgramGL : public RendererGL::ProgramGL {
return s;
}
#else // msaa bug test
#else // msaa bug test
auto GetVertexCode(int flags) -> std::string {
std::string s;
@ -5879,7 +5879,7 @@ auto RendererGL::GetAutoTextureQuality() -> TextureQuality {
// high
#if BA_OUYA_BUILD
qual = TextureQuality::kHigh;
#else // BA_OUYA_BUILD
#else // BA_OUYA_BUILD
// on android we default to high quality mode if we support ETC2;
// otherwise go with medium
if (g_graphics_server->SupportsTextureCompressionType(
@ -5900,7 +5900,7 @@ auto RendererGL::GetAutoTextureQuality() -> TextureQuality {
qual = TextureQuality::kHigh;
}
}
#else // BA_OSTYPE_ANDROID
#else // BA_OSTYPE_ANDROID
{
// On other platforms (mac,pc,etc) just default to high.
qual = TextureQuality::kHigh;

View File

@ -1283,7 +1283,7 @@ void Graphics::DrawFades(FrameDef* frame_def, millisecs_t real_time) {
c.DrawModel(g_media->GetModel(SystemModelID::kVRFade));
c.PopTransform();
c.Submit();
#else // BA_VR_BUILD
#else // BA_VR_BUILD
throw Exception();
#endif // BA_VR_BUILD
} else {

View File

@ -539,7 +539,7 @@ void GraphicsServer::HandleFullscreenToggling(bool do_set_existing_fs,
#if BA_OSTYPE_IOS_TVOS
set_fullscreen_enabled(true);
#else // BA_OSTYPE_IOS_TVOS
#else // BA_OSTYPE_IOS_TVOS
uint32_t fullscreen_flag = SDL_WINDOW_FULLSCREEN_DESKTOP;
SDL_SetWindowFullscreen(gl_context_->sdl_window(),
fullscreen ? fullscreen_flag : 0);

View File

@ -93,7 +93,7 @@ Joystick::Joystick(int sdl_joystick_id, const std::string& custom_device_name,
is_mac_ps3_controller_ = true;
}
#else // BA_ENABLE_SDL_JOYSTICKS
#else // BA_ENABLE_SDL_JOYSTICKS
throw Exception(); // Shouldn't happen.
#endif // BA_ENABLE_SDL_JOYSTICKS

View File

@ -1073,7 +1073,7 @@ auto Media::FindMediaFile(FileType type, const std::string& name)
case FileType::kSound:
#if BA_HEADLESS_BUILD
return "headless_dummy_path.sound";
#else // BA_HEADLESS_BUILD
#else // BA_HEADLESS_BUILD
prefix = "audio/";
ext = ".ogg";
break;
@ -1082,7 +1082,7 @@ auto Media::FindMediaFile(FileType type, const std::string& name)
case FileType::kModel:
#if BA_HEADLESS_BUILD
return "headless_dummy_path.model";
#else // BA_HEADLESS_BUILD
#else // BA_HEADLESS_BUILD
prefix = "models/";
ext = ".bob";
break;

View File

@ -200,7 +200,7 @@ void SDLApp::HandleSDLEvent(const SDL_Event& event) {
case SDL_WINDOWEVENT_SIZE_CHANGED: {
#if BA_OSTYPE_IOS_TVOS
// Do nothing here currently.
#else // Generic SDL:
#else // Generic SDL:
int pixels_x, pixels_y;
SDL_GL_GetDrawableSize(g_graphics_server->gl_context()->sdl_window(),
&pixels_x, &pixels_y);
@ -220,7 +220,7 @@ void SDLApp::HandleSDLEvent(const SDL_Event& event) {
default:
break;
}
#else // BA_SDL2_BUILD
#else // BA_SDL2_BUILD
case SDL_VIDEORESIZE: {
screen_dimensions_ = Vector2f(event.resize.w, event.resize.h);
SetScreenResolution(event.resize.w, event.resize.h);

View File

@ -688,7 +688,7 @@ auto PyAndroidGetExternalStoragePath(PyObject* self, PyObject* args,
assert(Utils::IsValidUTF8(path));
return PyUnicode_FromString(path.c_str());
}
#else // BA_OSTYPE_ANDROID
#else // BA_OSTYPE_ANDROID
throw Exception("Only valid on android.");
#endif // BA_OSTYPE_ANDROID
Py_RETURN_NONE;

View File

@ -127,7 +127,7 @@ auto Console::HandleKeyPress(const SDL_Keysym* keysym) -> bool {
#if BA_SDL2_BUILD || BA_MINSDL_BUILD
// (in SDL2/Non-SDL we dont' get chars from keypress events;
// they come through as text edit events)
#else // BA_SDL2_BUILD
#else // BA_SDL2_BUILD
if (keysym->unicode < 0x80 && keysym->unicode > 0) {
std::vector<uint32_t> unichars =
Utils::UnicodeFromUTF8(input_string_, "cjofrh0");

View File

@ -185,7 +185,7 @@ class ClrBase:
SBWHT: ClassVar[str]
class Clr1(ClrBase):
class ClrAlways(ClrBase):
"""Convenience class for color terminal output.
This version has colors always enabled. Generally you should use Clr which
@ -240,7 +240,7 @@ class Clr1(ClrBase):
SBWHT = TerminalColor.STRONG_BG_WHITE.value
class Clr0(ClrBase):
class ClrNever(ClrBase):
"""Convenience class for color terminal output.
This version has colors disabled. Generally you should use Clr which
@ -300,6 +300,6 @@ _color_enabled: bool = (True if _envval == '1' else
False if _envval == '0' else _default_color_enabled())
Clr: Type[ClrBase]
if _color_enabled:
Clr = Clr1
Clr = ClrAlways
else:
Clr = Clr0
Clr = ClrNever

View File

@ -220,6 +220,7 @@ def build_android(rootdir: str, arch: str, debug: bool = False) -> None:
(can be arm, arm64, x86, or x86_64)
"""
# pylint: disable=too-many-statements
import subprocess
import platform
builddir = 'build/python_android_' + arch + ('_debug' if debug else '')
@ -246,7 +247,8 @@ def build_android(rootdir: str, arch: str, debug: bool = False) -> None:
# Commit from Jan 8, 2020. Right after this, the build system was switched
# a a completely new minimal one which will take some work to update here.
# Punting on that for now...
# Punting on that for now... (tentative plan is to try and adopt the new
# one when we update for Python 3.10 in a year or two).
if True: # pylint: disable=using-constant-test
run('git checkout 9adbcfaca37f40b7a86381f83f0f6af4187233ae')
ftxt = readfile('pybuild/env.py')
@ -302,27 +304,37 @@ def build_android(rootdir: str, arch: str, debug: bool = False) -> None:
writefile('pybuild/packages/python.py', ftxt)
# Set this to a particular cpython commit to target exact releases from git
# commit = 'd7c567b08f9d7d6aef21b881340a2b72731129db' # 3.7.7 release
# commit = '4b47a5b6ba66b02df9392feb97b8ead916f8c1fa' # 3.7.8 release
commit = '580fbb018fd0844806119614d752b41fc69660f9' # 3.8.5
# Set these to particular releases to use those.
# py_commit = '580fbb018fd0844806119614d752b41fc69660f9' # 3.8.5
py_commit = '6503f05dd59e26a9986bdea097b3da9b3546f45b' # 3.8.7
if commit is not None:
ftxt = readfile('pybuild/source.py')
# cpython-source-deps stuff started failing for OpenSSL on Jan 8 2021.
# Pinning it to an older one for now.
py_ssl_commit = '7f34c3085feb4692bbbb6c8b19d053ebc5049dad' # From 6/12/20
# Check out a particular commit right after the clone.
ftxt = replace_one(
ftxt, "'git', 'clone', '--single-branch', '-b',"
' self.branch, self.source_url, self.dest])',
"'git', 'clone', '-b',"
' self.branch, self.source_url, self.dest])\n'
' # efro: hack to get the python we want.\n'
" print('DOING URL', self.source_url)\n"
' if self.source_url == '
"'https://github.com/python/cpython/':\n"
" run_in_dir(['git', 'checkout', '" + commit +
"'], self.source_dir)")
writefile('pybuild/source.py', ftxt)
commit_lines = ''
if py_commit is not None:
commit_lines += (' if self.source_url == '
"'https://github.com/python/cpython/':\n"
" run_in_dir(['git', 'checkout', '" +
py_commit + "'], self.source_dir)\n")
if py_ssl_commit is not None:
commit_lines += (' if self.source_url == '
"'https://github.com/python/cpython-source-deps'"
" and self.branch == 'openssl-1.1.1':\n"
" run_in_dir(['git', 'checkout', '" +
py_ssl_commit + "'], self.source_dir)\n")
ftxt = readfile('pybuild/source.py')
# Check out a particular commit right after the clone.
ftxt = replace_one(
ftxt, "'git', 'clone', '--single-branch', '-b',"
' self.branch, self.source_url, self.dest])', "'git', 'clone', '-b',"
' self.branch, self.source_url, self.dest])\n'
' # efro: hack to get exact commits we want.\n'
" print('DOING URL', self.source_url)\n" + commit_lines)
writefile('pybuild/source.py', ftxt)
ftxt = readfile('pybuild/util.py')
# Still don't wanna bother with gpg signing stuff.