Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
33 commits
Select commit Hold shift + click to select a range
3d327f2
refactor: re-write console, glitchtext, and python rpy files to `_ren…
Bronya-Rand Jul 17, 2025
2261da8
readme: format update
Bronya-Rand Jul 17, 2025
304c1fc
chore: add types to console
Bronya-Rand Jul 18, 2025
eb7e87e
chore: add types and doc info to glitchtext
Bronya-Rand Jul 18, 2025
8b2a561
chore: add types to template checks
Bronya-Rand Jul 18, 2025
5e80fb7
refactor: move poemgame python code to `_ren.py`
Bronya-Rand Jul 18, 2025
d1fde2b
tests: setup package tests and remove old `poemwords.txt`
Bronya-Rand Jul 18, 2025
6d26878
chore: allow return for no length glitchtext
Bronya-Rand Jul 18, 2025
77671c4
chore: adjust new appeal code (not implemented ddlc script-wide)
Bronya-Rand Jul 18, 2025
9cce98a
chore: cleanup chibi code
Bronya-Rand Jul 18, 2025
67c1c64
chore/tests: adjust logic
Bronya-Rand Jul 18, 2025
a68b981
feat: create mocks for testing
Bronya-Rand Jul 18, 2025
7a4b5db
tests: add more tests for poemgame/poemwords
Bronya-Rand Jul 18, 2025
333fa58
refactor: poems and tests
Bronya-Rand Jul 20, 2025
f06ce48
readme: readme updates for gen2 code changes as of late + open graph
Bronya-Rand Jul 27, 2025
2839179
chore: current WIP definition changes and fix for vpgrid
Bronya-Rand Sep 26, 2025
dd8f080
fix: poem declarations
Bronya-Rand Sep 26, 2025
cfb6ac0
fix: poem game and poem responses from chapter 1
Bronya-Rand Sep 26, 2025
d07c165
patch: chapter 1 - act 1
Bronya-Rand Oct 2, 2025
0d6dc6f
patch: chapter 2 and 3 - act 1
Bronya-Rand Oct 3, 2025
305823a
patch: chapter 4 - act 1
Bronya-Rand Oct 3, 2025
8075d85
patch: chapter 5 - act 1
Bronya-Rand Oct 3, 2025
3714763
patch: rest of DDLC with new code (act III to be tested)
Bronya-Rand Oct 3, 2025
4074bb9
feat: add unlisted sfx to definitions
Bronya-Rand Oct 3, 2025
2f54416
chore: autodetect streaming/recording on user account name fetch
Bronya-Rand Oct 3, 2025
d8fe158
chore: remove toggle for lets play (moved to user account)
Bronya-Rand Oct 3, 2025
a05e6fe
chore: migrate save code delete to func
Bronya-Rand Oct 3, 2025
19d12dc
feat: add macos sierra -> catalina, big sur bsod
Bronya-Rand Oct 3, 2025
d66ca2a
chore: update qr code for windows bsod
Bronya-Rand Oct 3, 2025
f8aec54
chore: update readme and cleanup old extras
Bronya-Rand Oct 3, 2025
84a82c6
fix: warning
Bronya-Rand Oct 3, 2025
06fcb36
readme: toc
Bronya-Rand Oct 3, 2025
78bcd07
chore: move discord as `_ren.py`
Bronya-Rand Oct 3, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/FUNDING.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
github: # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2]
patreon: # Replace with a single Patreon username
open_collective: # Replace with a single Open Collective username
ko_fi: ganstakingofsa
ko_fi: bronya_rand
tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel
community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry
liberapay: # Replace with a single Liberapay username
Expand Down
Binary file added .github/IMAGES/ddlcmt-open-graph.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
4 changes: 3 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -12,4 +12,6 @@ game/saves
errors.txt
*.pyc
__pycache__
ZIPs
ZIPs
.venv
.vscode
12 changes: 10 additions & 2 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
@@ -1,9 +1,17 @@
{
"python.formatting.provider": "black",
"files.exclude": {
"**/*.rpyc": true,
"**/*.rpa": true,
"**/*.rpymc": true,
"**/cache/": true
}
},
"python.testing.unittestArgs": [
"-v",
"-s",
"./tests",
"-p",
"test_*.py"
],
"python.testing.pytestEnabled": false,
"python.testing.unittestEnabled": true
}
143 changes: 91 additions & 52 deletions Additional Mod Features/Better BSODs/bsod.rpy
Original file line number Diff line number Diff line change
@@ -1,10 +1,12 @@
## Copyright 2019-2024 Azariel Del Carmen (bronya_rand). All rights reserved.

# Copyright 2019-2025 Azariel Del Carmen (bronya_rand). All rights reserved.
# bsod.rpy
# This file contains the screen code to display a fake Blue Screen of death.

init python:
import secrets

cursor = 0
purple = False

def fakePercent(st, at, winver):

Expand Down Expand Up @@ -32,11 +34,18 @@ init python:
cursor = 0
return Text(" ", style="bsod_linux_text"), 0.3

if renpy.windows:
try: osVer = tuple(map(int, subprocess.run("powershell (Get-WmiObject -class Win32_OperatingSystem).Version", check=True, shell=True, stdout=subprocess.PIPE).stdout.split(b"."))) # Vista+
except: osVer = tuple(map(int, platform.version().split("."))) or (5, 1, 2600) # XP returns JIC (but Ren'Py 8 doesn't even support XP...)
def fake_macos_bigsur_panic(st, at):
global purple

if purple:
purple = False
return Solid("#ff41ff"), 0.15
else:
purple = True
return Solid("#000"), 2

## BSOD screen ##################################################################\

## BSOD screen ##################################################################
##
## This screen is used to fake a BSOD/kernel panic on the players' computer
## on all platforms (Mobile devices defaults to the Linux BSOD).
Expand All @@ -57,12 +66,13 @@ screen bsod(bsodCode="DDLC_ESCAPE_PLAN_FAILED", bsodFile="libGLESv2.dll", rsod=F

if renpy.windows:

if osVer < (6, 2, 9200): # Windows 7

python:
os = get_windows_version()

if os <= (6, 1): # Windows 7 and below
add Solid("#000082")

vbox:

style_prefix "bsod_win7"

text "A problem has been detected and Windows has been shut down to prevent damage to your computer."
Expand All @@ -75,14 +85,11 @@ screen bsod(bsodCode="DDLC_ESCAPE_PLAN_FAILED", bsodFile="libGLESv2.dll", rsod=F
text "*** STOP: 0x00000051 (OXFD69420, 0x00000005, OXFBF92317" + ", 0x00000000)\n"
text "*** " + bsodFile.upper() + " - Address FBF92317 base at FBF102721, Datestamp 3d6dd67c"

elif osVer < (10, 0, 10240): # Windows 8/8.1

elif os == (6, 2) or os == (6, 3): # Windows 8 and 8.1
add Solid("#1273aa")

style_prefix "bsod_win8"

vbox:

style_prefix "bsod_win8"
xalign 0.5
yalign 0.4

Expand All @@ -92,33 +99,25 @@ screen bsod(bsodCode="DDLC_ESCAPE_PLAN_FAILED", bsodFile="libGLESv2.dll", rsod=F
add DynamicDisplayable(fakePercent, 8)
text "If you'd like to know more, you can search online later for this error: " + bsodCode.upper() style "bsod_win8_sub_text"

else: # Windows 10, 11 and RSOD

# After a silent update, Windows 11 now returns to a
# Windows 10 BSOD color. We will remove the black for
# blue now.
else: # Windows 10, 11 and RSOD / Unknown
if rsod:

add Solid("#d40e0eff")
python:
blackCol = "#f00"

else:

add Solid("#0078d7")
python:
blackCol = "#0078d7"

style_prefix "bsod_win10"

vbox:

style_prefix "bsod_win10"
xalign 0.2
yalign 0.4

text ":(" style "bsod_win10_sad_text"

if osVer < (10, 0, 22000):
if os == "10":
python:
bsodQRSize = 100

Expand Down Expand Up @@ -155,29 +154,56 @@ screen bsod(bsodCode="DDLC_ESCAPE_PLAN_FAILED", bsodFile="libGLESv2.dll", rsod=F

elif renpy.macintosh:

add Solid("#222")
python:
release = get_macos_version()

add im.MatrixColor("mod_assets/DDLCModTemplateLogo.png", im.matrix.desaturate() * im.matrix.brightness(-0.36)) at bsod_qrcode(440) xalign 0.5 yalign 0.54
vbox:
if release <= (10, 10): # OS X Yosemite and below
add Solid("#222")

style_prefix "bsod_mac"
xalign 0.53
yalign 0.51

text "You need to restart your computer. Hold down the Power\n"
text "button until it turns off, then press the Power button again." line_spacing 25
text "Redémarrez l'ordinateur. Enfoncez le bouton de démarrage\n"
text "jusqu'à l'extinction, puis appuyez dessus une nouvelle fois." line_spacing 25
text "Debe reiniciar el o rdenador. Mantenga pulsado el botón de\n"
text "arranque hasta que se apague y luego vuelva a pulsarlo." line_spacing 25
text "Sie müssen den Computer neu starten. Halten Sie den\n"
text "Ein-/Ausschalter gedrückt bis das Gerät ausgeschaltet ist\n"
text "und drücken Sie ihn dann erneut." line_spacing 25
text "Devi riavviare il computer. Tieni premuto il pulsante di\n"
text "accensione finché non si spegne, quindi premi di nuovo il\n"
text "pulsante di accensione."
add im.MatrixColor("mod_assets/DDLCModTemplateLogo.png", im.matrix.desaturate() * im.matrix.brightness(-0.36)) at bsod_qrcode(440) xalign 0.5 yalign 0.54
vbox:

else:
style_prefix "bsod_osx"
xalign 0.53
yalign 0.51

text "Your computer restarted because of a problem. Press a key or wait a few\n"
text "seconds to continue starting up" line_spacing 25
text "Votre ordinateur a redémarré en raison d'un problème. Pour poursuivre\n"
text "le démarrage, appuyez sur une touche ou patientez quelques secondes." line_spacing 25
text "El ordenador se ha reiniciado debido a un problema. Para continuar con\n"
text "el arranque, pulse cualquier tecla o espere unos segundos." line_spacing 25
text "Ihr Computer wurde aufgrund eines Problems neu gestartet. Drücken\n"
text "Sie zum Fortfahren eine Taste oder warten Sie einige Sekunden." line_spacing 25

# Due to font limitations, JP and CN are not supported. If using a font
# that supports these languages, uncomment the lines below.
# Alternative languages will be used (IT/NL).

#text "問題が起きたためコンピュータを再起動しました。このまま起動する場合は、\n"
#text "いずれかのキーを押すか、数秒間そのままお待ちください。" line_spacing 25
#text "电脑因出现问题而重新启动。请按一下按键,或等几秒钟以继续启动。"

text "Il computer è stato riavviato a causa di un problema. Per continuare l'avvio,\n"
text "premere un tasto o attendere qualche secondo." line_spacing 25
text "De computer is opnieuw opgestart vanwege een probleem. Druk op een toets\n"
text "om door te gaan met opstarten, of wacht een paar seconden." line_spacing 25
elif release <= (10, 15): # OS X El Capitan, macOS Sierra -> macOS Catalina
add Solid("#000")

vbox:
style_prefix "bsod_macos"
xalign 0.0
yalign 0.0

text "**************************************************\n"
text "This system was automatically rebooted after panic" line_spacing 5
text "**************************************************" line_spacing 5

else: # macOS Big Sur and above
add DynamicDisplayable(fake_macos_bigsur_panic)

else: # Linux and other platforms

add Solid("#000")

Expand Down Expand Up @@ -213,7 +239,10 @@ screen bsod(bsodCode="DDLC_ESCAPE_PLAN_FAILED", bsodFile="libGLESv2.dll", rsod=F
text "Kernel panic - not syncing: Attempted to kill init!"
add DynamicDisplayable(constantCursor)

add Solid("#000000") at bsod_transition
if renpy.windows:
add Solid("#000") at win_bsod_transition
else:
add Solid("#000") at general_bsod_transition

style bsod_win7_text is gui_text
style bsod_win7_text:
Expand Down Expand Up @@ -264,27 +293,37 @@ style bsod_win10_sub_text is bsod_win10_text
style bsod_win10_sub_text:
size 11

style bsod_mac_text is gui_text
style bsod_mac_text:
style bsod_osx_text is gui_text
style bsod_osx_text:
font gui.default_font
size 28
outlines []
line_spacing -30

style bsod_macos_text is bsod_osx_text
style bsod_macos_text:
size 21
line_spacing -25

style bsod_linux_text is gui_text
style bsod_linux_text:
font "gui/font/F25_Bank_Printer.ttf"
size 15
outlines []
line_leading 5

transform bsod_transition:
transform win_bsod_transition:
"black"
0.1
0.05
yoffset 250
0.1
0.05
yoffset 500
0.1
0.05
yoffset 750

transform general_bsod_transition:
"black"
pause 2.5
yoffset 750

transform bsod_qrcode(x):
Expand Down
Loading