Compare commits

...

104 Commits

Author SHA1 Message Date
994e9121bd Support interpolation in diary page titles 2024-03-29 23:04:54 +01:00
2111e5da5f Document the diary better 2024-03-29 22:44:52 +01:00
a67243c9c0 Cleanup following f573db7 (on the renpy repo) 2023-11-18 05:05:21 +01:00
8c1005003f Rework the diary system using call screen and actions 2023-11-18 02:00:48 +01:00
1a54d1741f Fix test label name 2023-11-18 01:50:49 +01:00
c44c1792e2 Revamp the diary system and make it work 2023-11-17 23:42:51 +01:00
a88706142f Don't use mutables in signatures 2023-11-17 04:37:45 +01:00
8d3eede436 Tweaks 2023-11-17 04:35:53 +01:00
d40af370a8 Upgrade brewing menu
the usual : make variables dynamic, use call screen instead of show screen...
2023-11-17 04:31:20 +01:00
9479859edd Simplify menu position 2023-11-17 04:07:53 +01:00
e84d5cbdf0 Sort inplace and skip unused variable 2023-11-17 04:05:49 +01:00
f6c0054be0 Fix variable name and move defaults 2023-11-17 04:04:15 +01:00
a29b7ec28b Merge labels into menus 2023-11-17 04:03:52 +01:00
15b15b9085 Remove mutable in signature and pop todo 2023-11-17 03:52:56 +01:00
3fef941366 Remove dependency 2023-11-17 03:52:39 +01:00
6b2766e668 Better pass kwargs
this is not py2 anymore
2023-11-17 03:46:34 +01:00
2f2a9b985b Don't use protected variable name 2023-11-17 03:46:18 +01:00
d132436843 Use scene statement instead of equivalent 2023-11-17 03:41:56 +01:00
110847e9e6 Simplify and quicken summon list iteration 2023-11-17 03:38:06 +01:00
1918def870 Make variables dynamic
or constant, in one case
2023-11-17 03:31:07 +01:00
d34a96284c Internal tweaks 2023-11-17 03:29:45 +01:00
acfb09516c Improve and fix last 2023-11-17 03:16:28 +01:00
1672b2381a Replace show screen with call screen 2023-11-17 03:13:17 +01:00
e242c0e43a Factorize pos 2023-11-17 03:08:51 +01:00
d7c8e39b08 Factorize pos 2023-11-17 03:07:16 +01:00
313849696c Avoid single-use function 2023-11-17 03:05:12 +01:00
9a7a1d4686 Fix 32cf1de
the call is useless anyway, always has been
2023-11-17 02:59:23 +01:00
2e80d3a8d8 nitpicks 2023-11-17 02:53:09 +01:00
38787bdc4c Add safe return
otherwise the implicit return is at the end of the file, which means if we add another label down the file, it will be executed after give_gift
2023-11-17 02:49:44 +01:00
aefa88e4d2 Add data privacy when computing house points
the dynamic variables are needed for the show screen call
2023-11-17 02:47:17 +01:00
ebcfa4b78d Use hide instead of single-use function 2023-11-17 02:39:35 +01:00
b2196d3ca5 Fix abe5d55 2023-11-17 02:34:05 +01:00
a7ad9fafc7 Simplify position and parameters 2023-11-17 02:31:46 +01:00
6216b62ef9 Turn two actions into functions
technically not as correct, but works all the same and is relatively faster (but it will be replaced with better actions in the future anyway)
the pickle lock, if any, for removing them in the future, becomes easier to solve
2023-11-17 02:15:31 +01:00
abe5d551fc Roll most local actions out 2023-11-17 02:12:26 +01:00
87a77163de Probable typo 2023-11-17 02:07:57 +01:00
38a94e774b Some big work on the inventory system
turn the show into a call screen
replace all return actions with specific local actions (WIP, more changes to come)
make the global variables at least dynamic
make the mode parameter a parameter of the label (so, a dynamic variable too, as a result)
replace the bigger actions with local labels
tweak text entries, comparisons, iterations... details
2023-11-17 01:48:07 +01:00
25f375c88b Better and faster iteration, using foreach 2023-11-17 01:48:05 +01:00
c1ab7f7b85 Use a grid for the inventory 2023-11-17 01:48:03 +01:00
837d6b378e Use the correct operator(s) for None 2023-11-17 01:48:01 +01:00
14607f2eb1 Better text interpolation in screens 2023-11-17 01:47:59 +01:00
def10a09ac Simplify crop_image_zoom calls 2023-11-17 01:47:57 +01:00
3278b1f4af Remove get_zoom and use builtin fit feature
using renpy.render, wtf
2023-11-17 01:47:55 +01:00
ed2a817c84 Fix 070d14a 2023-11-17 01:47:28 +01:00
87ce17df8b Use inplace sort and generator expressions 2023-11-16 02:17:25 +01:00
eae844ef0b Re-enable some menu yaligns and reimplement menu sets
these menu yaligns had been disabled for a long time (the menu_y variable was never read)
2023-11-16 02:12:22 +01:00
070d14a685 Remove unused xalign 2023-11-16 01:55:20 +01:00
a36c0ba222 Separate xalign and yalign 2023-11-16 01:54:22 +01:00
fbe8035c43 Refactor states.menu_pos and remove reset_menu_position 2023-11-16 01:51:18 +01:00
c3f753a460 Use statement instead of equivalent 2023-11-16 01:43:47 +01:00
db30cd66d3 Avoid circular reference 2023-11-16 01:38:39 +01:00
4b8371e292 Make the rotate animation subpixel 2023-11-16 01:36:36 +01:00
48c4c4ecad Fix and simplify the map
in addition to benigh simplification, this actually fixes a bug : setting pos and align in the same line is a bug, it's always been unspecified, you should have been setting *anchor* instead. xycenter does that now.
2023-11-16 01:34:38 +01:00
b222860bec Remove unnecessary screen variable 2023-11-16 01:11:38 +01:00
c64635aace Save calling update_character_map_locations several times 2023-11-16 00:49:14 +01:00
ef62f74eed replace equivalent with statement 2023-11-16 00:14:04 +01:00
9a3fe1df65 Reform random map locations
the locations of the different characters aren't independant, but they weren't in the first place
2023-11-16 00:13:42 +01:00
77e40301c9 Use statements instead of equivalents 2023-11-15 23:47:24 +01:00
42f690f966 Avoid circular reference
it clogs pickling and garbage-collecting
2023-11-15 23:46:46 +01:00
884c264f04 No it doesn't 2023-11-15 23:41:29 +01:00
23a264c8f4 Better text in screens 2023-11-15 23:24:55 +01:00
32cf1de3a0 Auto-cleanup public variables
I chose not to add them directly in the screen, to keep it readable
but even though they're still global variables, now they are dynamic and cleaned as soon as we exit the menu
2023-11-15 23:06:04 +01:00
c493a4b9aa Clean most stats variables from the global store 2023-11-15 22:51:38 +01:00
1618fc378f Fix genie reform 2023-11-15 22:51:10 +01:00
bbc1df1ea6 Use define for constants 2023-11-15 21:34:14 +01:00
ca64492beb Further clean junk variable 2023-11-15 21:26:57 +01:00
3d62c8b818 Add style, clean junk variables 2023-11-15 21:25:10 +01:00
bb2edc9a7b Simplify function 2023-11-15 21:24:47 +01:00
2ccece1a3d Use repr instead of manually added single quotes 2023-11-15 20:54:03 +01:00
8b6627f588 Improve ATL syntax
use the dedicated xycenter property
avoid setting the previous end-interpolation values before starting the new one, to avoid a jump if the player advances too quickly (also shortens the code)
add subpixel True, even though it doesn't seem very effective
prepare improvement in next renpy version
2023-11-15 20:44:48 +01:00
40ddb29185 Simplify generic CG code 2023-11-15 20:44:46 +01:00
aa95f701dc Better animation 2023-11-15 20:44:44 +01:00
641893217e Simplify some code 2023-11-15 20:44:42 +01:00
3a429070fc Reform genie layeredimage 2023-11-15 20:44:39 +01:00
15e3e240fc Repr instead of adding quotes 2023-11-15 20:44:36 +01:00
9c274bee6f Simplify hide/show expression 2023-11-15 20:44:35 +01:00
eeb68cb6c6 Fix test call
it raised an exception in my case, and I'm fairly sure this is how it's supposed to work
also adds a complimentary hidden reset at the end
2023-11-15 20:44:33 +01:00
5460ec2572 Remove now-unused reset_variables relying on implem details
It is used in a txt draft which I didn't change, it can be done if deemed necessary
I think this function should be kept off, as it is both more dangerous and slower than the workarounds
2023-11-15 20:44:30 +01:00
2e17dd2582 Avoid using reset_variables 2023-11-15 20:43:34 +01:00
78230893a8 Avoid using lists 2023-11-15 20:43:32 +01:00
3b6dd38e19 Use childful transforms as displayable
that's not *explicitly* documented, but it won't change any time soon
also deletes a placeholder image
2023-11-15 20:43:30 +01:00
a9dc195379 Upgrade other uses of image manipulators 2023-11-15 20:43:28 +01:00
985a0a79ed Modernize use of matrixcolor 2023-11-15 20:43:25 +01:00
9d52bd9c92 Hasten ConditionSwitch-es 2023-11-15 20:43:23 +01:00
542db72609 Use expression instead of image
the only documented lingua
this is AST-equivalent
2023-11-15 20:43:20 +01:00
6dc1a04810 Factorize jumps in the elif 2023-11-15 20:43:18 +01:00
9b419fcbc3 Hasten elif chain
avoid reevaluating the choice equality
2023-11-15 20:43:15 +01:00
976455bfc9 Use renpy statement instead of python equivalent 2023-11-15 20:43:13 +01:00
4c52d1638f Use dynamic variable and condense menu-label syntax
The label is jumped to and not called, but the variable will still clean itself up eventually
2023-11-15 20:43:11 +01:00
4ec94d28f5 Convert ball_hint to a screen variable
no leak
2023-11-15 20:43:10 +01:00
f51f3a30a1 Use the call screen statement in this case
this particular syntax is very precisely documented in the screens page
2023-11-15 20:43:08 +01:00
8d4216a476 Better None syntax 2023-11-15 20:43:05 +01:00
da636e93ab Simpler inline conditional 2023-11-15 20:43:04 +01:00
6a4b56a182 Avoid extraneous bool call 2023-11-15 20:43:01 +01:00
36d3a5d1a7 Sort in-place to save time 2023-11-15 20:42:59 +01:00
a606fc9ca2 Use python hide instead of a single-use function 2023-11-15 20:42:57 +01:00
925cf611c1 Fix indent 2023-11-15 20:42:55 +01:00
15c998cd5a Weird variable setting 2023-11-15 20:42:52 +01:00
3e86094b0b Fix misuse of variable
- don't use a reserved name (starting with an underscore)
- use a file-local mangled name (starting with two underscores
- use renpy.dynamx to cleanup the variable automatically
2023-11-15 20:42:50 +01:00
e80bd9e6e6 Repr instead of adding simple quotes manually
it's a tad slower but it's a better general practice and we're in an error handling branch anyway
2023-11-15 20:42:48 +01:00
21cb97b2e2 Sirt in-place to save time
not the first time, so that we can still pass it iterators
2023-11-15 20:42:45 +01:00
b21e179df0 Simplify that call 2023-11-15 20:42:43 +01:00
94a6f9302b skip unnecessary lambda 2023-11-15 20:42:41 +01:00
f93f50e9ac Update README 2023-11-15 20:42:40 +01:00
108 changed files with 1686 additions and 1741 deletions

120
README.md

File diff suppressed because it is too large Load Diff

Binary file not shown.

View File

@ -1,8 +1,6 @@
image object:
Null()
transform OBJbutterfly(hue=random.randint(0, 359)):
zoom random.uniform(0.4, 0.85)
matrixcolor HueMatrix(hue)
choice:
pause random.randint(1, 7)
@ -22,13 +20,13 @@ transform OBJbutterfly(hue=random.randint(0, 359)):
ease_circ 1.0 rotate 15
repeat
parallel:
im.MatrixColor("images/rooms/quidditch_pitch/butterfly/0.webp", im.matrix.hue(hue)) with d3
"images/rooms/quidditch_pitch/butterfly/0.webp" with d3
pause .3
im.MatrixColor("images/rooms/quidditch_pitch/butterfly/1.webp", im.matrix.hue(hue)) with d3
"images/rooms/quidditch_pitch/butterfly/1.webp" with d3
pause .3
im.MatrixColor("images/rooms/quidditch_pitch/butterfly/2.webp", im.matrix.hue(hue)) with d3
"images/rooms/quidditch_pitch/butterfly/2.webp" with d3
pause .3
im.MatrixColor("images/rooms/quidditch_pitch/butterfly/1.webp", im.matrix.hue(hue)) with d3
"images/rooms/quidditch_pitch/butterfly/1.webp" with d3
pause .3
repeat
choice:
@ -49,13 +47,13 @@ transform OBJbutterfly(hue=random.randint(0, 359)):
ease_circ 1.0 rotate -15
repeat
parallel:
im.MatrixColor("images/rooms/quidditch_pitch/butterfly/0.webp", im.matrix.hue(hue)) with d3
"images/rooms/quidditch_pitch/butterfly/0.webp" with d3
pause .3
im.MatrixColor("images/rooms/quidditch_pitch/butterfly/1.webp", im.matrix.hue(hue)) with d3
"images/rooms/quidditch_pitch/butterfly/1.webp" with d3
pause .3
im.MatrixColor("images/rooms/quidditch_pitch/butterfly/2.webp", im.matrix.hue(hue)) with d3
"images/rooms/quidditch_pitch/butterfly/2.webp" with d3
pause .3
im.MatrixColor("images/rooms/quidditch_pitch/butterfly/1.webp", im.matrix.hue(hue)) with d3
"images/rooms/quidditch_pitch/butterfly/1.webp" with d3
pause .3
repeat
repeat

View File

@ -1,4 +1,3 @@
init 5 python:
def her_cg_doll(st, at):
return hermione.image, None
@ -25,35 +24,21 @@ image CG cho_doll = DynamicDisplayable(cho_cg_doll)
image CG ast_doll = DynamicDisplayable(ast_cg_doll)
image CG sus_doll = DynamicDisplayable(sus_cg_doll)
image CG luna = Fixed(
"images/CG/common/bg.webp",
AlphaMask(Composite((2160, 1200), (880, -180), Transform("CG lun_doll", zoom=1.2)), "images/CG/common/mask.webp"),
)
transform CG_masker(child):
contains:
"images/CG/common/bg.webp"
contains:
AlphaMask(
Fixed(Transform(child, zoom=1.2, pos=(880, -180)), xfit=True, yfit=True),
"images/CG/common/mask.webp",
)
image CG hermione = Fixed(
"images/CG/common/bg.webp",
AlphaMask(Composite((2160, 1200), (880, -180), Transform("CG her_doll", zoom=1.2)), "images/CG/common/mask.webp"),
)
image CG tonks = Fixed(
"images/CG/common/bg.webp",
AlphaMask(Composite((2160, 1200), (880, -180), Transform("CG ton_doll", zoom=1.2)), "images/CG/common/mask.webp"),
)
image CG cho = Fixed(
"images/CG/common/bg.webp",
AlphaMask(Composite((2160, 1200), (880, -180), Transform("CG cho_doll", zoom=1.2)), "images/CG/common/mask.webp"),
)
image CG astoria = Fixed(
"images/CG/common/bg.webp",
AlphaMask(Composite((2160, 1200), (880, -180), Transform("CG ast_doll", zoom=1.2)), "images/CG/common/mask.webp"),
)
image CG susan = Fixed(
"images/CG/common/bg.webp",
AlphaMask(Composite((2160, 1200), (880, -180), Transform("CG sus_doll", zoom=1.2)), "images/CG/common/mask.webp"),
)
image CG luna = At("CG lun_doll", CG_masker)
image CG hermione = At("CG her_doll", CG_masker)
image CG tonks = At("CG ton_doll", CG_masker)
image CG cho = At("CG cho_doll", CG_masker)
image CG astoria = At("CG ast_doll", CG_masker)
image CG susan = At("CG sus_doll", CG_masker)
# Snape CG
screen snape_groping():

View File

@ -76,7 +76,7 @@ init python:
astoria.animation = animation
redraw = True
if flip != None:
if flip is not None:
astoria.xzoom = -1 if flip else 1
redraw = True

View File

@ -1709,8 +1709,7 @@ label ag_st_imperio_E5:
ton "I..." ("open", "base", "worried", "down")
gen "Say it!" ("angry", xpos="far_left", ypos="head")
$ menu_y = 0.7
menu:
menu (menu_yalign=0.7):
"\"You're a selfish slut!\"":
ton @ hair horny "Yes!" ("mad", "wide", "shocked", "stare")
ton @ hair horny "I'm a selfish slut!" ("open_wide_tongue", "closed", "worried", "mid")
@ -1720,7 +1719,6 @@ label ag_st_imperio_E5:
"\"You're nothing more than a whore!\"":
ton @ hair horny "Yes!" ("mad", "base", "worried", "mid")
ton @ hair horny "I'm nothing but a cheap,{w=0.6} {b}fucking{/b}{w=0.4} whore!" ("open_wide_tongue", "closed", "worried", "mid")
call reset_menu_position
ton "... {w}This is what I want!" ("mad", "wide", "annoyed", "down")
gen "Good, you're doing this for yourself, and nobody else..." ("base", xpos="far_left", ypos="head")

Some files were not shown because too many files have changed in this diff Show More