Difficult-Rocket/DR.py
shenjack d84b490b99
with more logger
Add | more formatter and some more

Fix | type mis match

sync pyglet

Enhance | logger with Template

add lib-not-dr as requirement

sync pyglet

sync pyglet

Add | add lto=yes to nuitka_build

just incase

sync pyglet

sync lib_not_dr

Remove | external requirement lib-not-dr

some logger

sync lib-not-dr

sync pyglet

sync lib-not-dr

sync lib-not-dr

sync pyglet

sync pyglet

Fix | console thread been block

Update DR rs and DR sdk

sync lib not dr

sync lib-not-dr

sync lib-not-dr

sync pyglet and lib-not-dr

sync pyglet 0.1.8

sync lib not dr

logger almost done?

almost!

sync pyglet (clicpboard support!)

sync lib not dr

sync lib not dr

color code and sync pyglet

do not show memory and progress building localy

sync pyglet

synclibs
2023-11-20 20:12:59 +08:00

74 lines
2.0 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# -------------------------------
# Difficult Rocket
# Copyright © 2020-2023 by shenjackyuanjie 3695888@qq.com
# All rights reserved
# -------------------------------
import os
import sys
import time
import traceback
import threading
from pathlib import Path
hi = """Difficult Rocket is writen by shenjackyuanjie
email: 3695888@qq.com or shyj3695888@163.com
QQ: 3695888"""
def print_path() -> None:
print(f'{__file__=}')
print(f'{sys.path=}')
print(f'{sys.path[0]=}')
print(f'{sys.argv[0]=}')
print(f'{Path.cwd()=}')
print(f'{Path(__file__).absolute()=}')
def modify_path() -> None:
os.chdir(Path(__file__).parent) # 将运行路径切换到文件位置 防止bug
sys.path.append('./Difficult_Rocket') # 添加local path
sys.path.append('./libs') # 添加 libs path
def start(start_time_ns: int) -> None:
from Difficult_Rocket import crash, DR_status
from Difficult_Rocket.runtime import DR_runtime
from Difficult_Rocket.exception import TestError
DR_runtime.start_time_ns = start_time_ns
try:
from Difficult_Rocket import main
main_game = main.Game()
main_game.start()
if DR_status.crash_report_test:
raise TestError('debug crash test')
except: # noqa: E722
trace = traceback.format_exc()
crash.create_crash_report(trace)
print(trace)
crash.write_info_to_cache(sys.stdout)
print(crash.all_thread)
print(crash.all_process)
for a_thread in threading.enumerate():
print(a_thread)
if a_thread.is_alive() and not a_thread.daemon:
if a_thread != threading.current_thread() and a_thread != threading.main_thread():
a_thread.join(2) # wait for 2 sec
import pyglet
pyglet.app.exit() # make sure that pyglet has stopped
def main() -> int:
print(hi, f"\n{time.ctime()}") # hi
# 记录启动信息
start_time_ns = time.time_ns()
print_path()
modify_path()
start(start_time_ns)
return 0
if __name__ == '__main__':
sys.exit(main())