Compare commits

...

102 Commits

Author SHA1 Message Date
Gouvernathor f714e482f6 Allow several achievements to be displayed at the same time
like in steam
the change to popup_animation is not thoroughly tested
2023-11-18 05:00:01 +01:00
Gouvernathor 3b5f35a732 Rebase the achievements system on the builtin feature
a lot of work, but entirely backwards-compatible !
no visible change (no intended ones at least) except maybe performance
2023-11-18 03:54:37 +01:00
Gouvernathor 7d4aa5f8fd Use repr and add explanation
it's weird to define a variable then openly mutate it (mutate the list values, that is)
I wonder if it could have unforeseen consequences
There may be when sharing saves : achievements unlocked in the system the save is created may get silently unlocked on the system the save gets loaded...
2023-11-18 02:14:28 +01:00
Gouvernathor f8251f921b Avoid using an actual image reference instead of direct null 2023-11-18 02:01:37 +01:00
Gouvernathor a88706142f Don't use mutables in signatures 2023-11-17 04:37:45 +01:00
Gouvernathor 8d3eede436 Tweaks 2023-11-17 04:35:53 +01:00
Gouvernathor d40af370a8 Upgrade brewing menu
the usual : make variables dynamic, use call screen instead of show screen...
2023-11-17 04:31:20 +01:00
Gouvernathor 9479859edd Simplify menu position 2023-11-17 04:07:53 +01:00
Gouvernathor e84d5cbdf0 Sort inplace and skip unused variable 2023-11-17 04:05:49 +01:00
Gouvernathor f6c0054be0 Fix variable name and move defaults 2023-11-17 04:04:15 +01:00
Gouvernathor a29b7ec28b Merge labels into menus 2023-11-17 04:03:52 +01:00
Gouvernathor 15b15b9085 Remove mutable in signature and pop todo 2023-11-17 03:52:56 +01:00
Gouvernathor 3fef941366 Remove dependency 2023-11-17 03:52:39 +01:00
Gouvernathor 6b2766e668 Better pass kwargs
this is not py2 anymore
2023-11-17 03:46:34 +01:00
Gouvernathor 2f2a9b985b Don't use protected variable name 2023-11-17 03:46:18 +01:00
Gouvernathor d132436843 Use scene statement instead of equivalent 2023-11-17 03:41:56 +01:00
Gouvernathor 110847e9e6 Simplify and quicken summon list iteration 2023-11-17 03:38:06 +01:00
Gouvernathor 1918def870 Make variables dynamic
or constant, in one case
2023-11-17 03:31:07 +01:00
Gouvernathor d34a96284c Internal tweaks 2023-11-17 03:29:45 +01:00
Gouvernathor acfb09516c Improve and fix last 2023-11-17 03:16:28 +01:00
Gouvernathor 1672b2381a Replace show screen with call screen 2023-11-17 03:13:17 +01:00
Gouvernathor e242c0e43a Factorize pos 2023-11-17 03:08:51 +01:00
Gouvernathor d7c8e39b08 Factorize pos 2023-11-17 03:07:16 +01:00
Gouvernathor 313849696c Avoid single-use function 2023-11-17 03:05:12 +01:00
Gouvernathor 9a7a1d4686 Fix 32cf1de
the call is useless anyway, always has been
2023-11-17 02:59:23 +01:00
Gouvernathor 2e80d3a8d8 nitpicks 2023-11-17 02:53:09 +01:00
Gouvernathor 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
Gouvernathor 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
Gouvernathor ebcfa4b78d Use hide instead of single-use function 2023-11-17 02:39:35 +01:00
Gouvernathor b2196d3ca5 Fix abe5d55 2023-11-17 02:34:05 +01:00
Gouvernathor a7ad9fafc7 Simplify position and parameters 2023-11-17 02:31:46 +01:00
Gouvernathor 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
Gouvernathor abe5d551fc Roll most local actions out 2023-11-17 02:12:26 +01:00
Gouvernathor 87a77163de Probable typo 2023-11-17 02:07:57 +01:00
Gouvernathor 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
Gouvernathor 25f375c88b Better and faster iteration, using foreach 2023-11-17 01:48:05 +01:00
Gouvernathor c1ab7f7b85 Use a grid for the inventory 2023-11-17 01:48:03 +01:00
Gouvernathor 837d6b378e Use the correct operator(s) for None 2023-11-17 01:48:01 +01:00
Gouvernathor 14607f2eb1 Better text interpolation in screens 2023-11-17 01:47:59 +01:00
Gouvernathor def10a09ac Simplify crop_image_zoom calls 2023-11-17 01:47:57 +01:00
Gouvernathor 3278b1f4af Remove get_zoom and use builtin fit feature
using renpy.render, wtf
2023-11-17 01:47:55 +01:00
Gouvernathor ed2a817c84 Fix 070d14a 2023-11-17 01:47:28 +01:00
Gouvernathor 87ce17df8b Use inplace sort and generator expressions 2023-11-16 02:17:25 +01:00
Gouvernathor 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
Gouvernathor 070d14a685 Remove unused xalign 2023-11-16 01:55:20 +01:00
Gouvernathor a36c0ba222 Separate xalign and yalign 2023-11-16 01:54:22 +01:00
Gouvernathor fbe8035c43 Refactor states.menu_pos and remove reset_menu_position 2023-11-16 01:51:18 +01:00
Gouvernathor c3f753a460 Use statement instead of equivalent 2023-11-16 01:43:47 +01:00
Gouvernathor db30cd66d3 Avoid circular reference 2023-11-16 01:38:39 +01:00
Gouvernathor 4b8371e292 Make the rotate animation subpixel 2023-11-16 01:36:36 +01:00
Gouvernathor 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
Gouvernathor b222860bec Remove unnecessary screen variable 2023-11-16 01:11:38 +01:00
Gouvernathor c64635aace Save calling update_character_map_locations several times 2023-11-16 00:49:14 +01:00
Gouvernathor ef62f74eed replace equivalent with statement 2023-11-16 00:14:04 +01:00
Gouvernathor 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
Gouvernathor 77e40301c9 Use statements instead of equivalents 2023-11-15 23:47:24 +01:00
Gouvernathor 42f690f966 Avoid circular reference
it clogs pickling and garbage-collecting
2023-11-15 23:46:46 +01:00
Gouvernathor 884c264f04 No it doesn't 2023-11-15 23:41:29 +01:00
Gouvernathor 23a264c8f4 Better text in screens 2023-11-15 23:24:55 +01:00
Gouvernathor 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
Gouvernathor c493a4b9aa Clean most stats variables from the global store 2023-11-15 22:51:38 +01:00
Gouvernathor 1618fc378f Fix genie reform 2023-11-15 22:51:10 +01:00
Gouvernathor bbc1df1ea6 Use define for constants 2023-11-15 21:34:14 +01:00
Gouvernathor ca64492beb Further clean junk variable 2023-11-15 21:26:57 +01:00
Gouvernathor 3d62c8b818 Add style, clean junk variables 2023-11-15 21:25:10 +01:00
Gouvernathor bb2edc9a7b Simplify function 2023-11-15 21:24:47 +01:00
Gouvernathor 2ccece1a3d Use repr instead of manually added single quotes 2023-11-15 20:54:03 +01:00
Gouvernathor 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
Gouvernathor 40ddb29185 Simplify generic CG code 2023-11-15 20:44:46 +01:00
Gouvernathor aa95f701dc Better animation 2023-11-15 20:44:44 +01:00
Gouvernathor 641893217e Simplify some code 2023-11-15 20:44:42 +01:00
Gouvernathor 3a429070fc Reform genie layeredimage 2023-11-15 20:44:39 +01:00
Gouvernathor 15e3e240fc Repr instead of adding quotes 2023-11-15 20:44:36 +01:00
Gouvernathor 9c274bee6f Simplify hide/show expression 2023-11-15 20:44:35 +01:00
Gouvernathor 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
Gouvernathor 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
Gouvernathor 2e17dd2582 Avoid using reset_variables 2023-11-15 20:43:34 +01:00
Gouvernathor 78230893a8 Avoid using lists 2023-11-15 20:43:32 +01:00
Gouvernathor 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
Gouvernathor a9dc195379 Upgrade other uses of image manipulators 2023-11-15 20:43:28 +01:00
Gouvernathor 985a0a79ed Modernize use of matrixcolor 2023-11-15 20:43:25 +01:00
Gouvernathor 9d52bd9c92 Hasten ConditionSwitch-es 2023-11-15 20:43:23 +01:00
Gouvernathor 542db72609 Use expression instead of image
the only documented lingua
this is AST-equivalent
2023-11-15 20:43:20 +01:00
Gouvernathor 6dc1a04810 Factorize jumps in the elif 2023-11-15 20:43:18 +01:00
Gouvernathor 9b419fcbc3 Hasten elif chain
avoid reevaluating the choice equality
2023-11-15 20:43:15 +01:00
Gouvernathor 976455bfc9 Use renpy statement instead of python equivalent 2023-11-15 20:43:13 +01:00
Gouvernathor 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
Gouvernathor 4ec94d28f5 Convert ball_hint to a screen variable
no leak
2023-11-15 20:43:10 +01:00
Gouvernathor 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
Gouvernathor 8d4216a476 Better None syntax 2023-11-15 20:43:05 +01:00
Gouvernathor da636e93ab Simpler inline conditional 2023-11-15 20:43:04 +01:00
Gouvernathor 6a4b56a182 Avoid extraneous bool call 2023-11-15 20:43:01 +01:00
Gouvernathor 36d3a5d1a7 Sort in-place to save time 2023-11-15 20:42:59 +01:00
Gouvernathor a606fc9ca2 Use python hide instead of a single-use function 2023-11-15 20:42:57 +01:00
Gouvernathor 925cf611c1 Fix indent 2023-11-15 20:42:55 +01:00
Gouvernathor 15c998cd5a Weird variable setting 2023-11-15 20:42:52 +01:00
Gouvernathor 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
Gouvernathor 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
Gouvernathor 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
Gouvernathor b21e179df0 Simplify that call 2023-11-15 20:42:43 +01:00
Gouvernathor 94a6f9302b skip unnecessary lambda 2023-11-15 20:42:41 +01:00
LoafyLemon f93f50e9ac Update README 2023-11-15 20:42:40 +01:00
108 changed files with 1664 additions and 1749 deletions

120
README.md

File diff suppressed because it is too large Load Diff

Binary file not shown.

View File

@ -88,11 +88,11 @@ image ch_ast wand_imperio:
random_blink("characters/astoria/chibis/wand_imperio/ag_head_02.webp", "characters/astoria/chibis/wand_imperio/ag_head_01.webp")
contains:
"blank"
Null()
pause.12
"characters/astoria/chibis/wand_imperio/ag_head_03.webp"
pause 1
"blank"
Null()
contains:
xpos 78
@ -113,7 +113,7 @@ image ch_ast wand_imperio:
alpha 1.0
"characters/astoria/chibis/wand_imperio/smoke.webp"
linear 1.0 xzoom 1.0 xpos -34 ypos 37
"blank"
Null()
contains:
xpos -34

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

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