Compare commits

...

1346 Commits

Author SHA1 Message Date
Tom Rothamel 3f34041ae7 Bump version. 2018-04-06 22:39:50 -04:00
Tom Rothamel 7bbe41d5a8 Rename LiveDisplayable to just Displayable. 2018-04-03 22:56:27 -04:00
Tom Rothamel 06b09b071f Improve AlphaMask.
AlphaMask now renders the mask displayable in an area the same
size as its child, allowing the mask displayable to move in
normal ways using ATL.
2018-04-03 22:47:20 -04:00
Tom Rothamel 75b8959b5d Document fewer image manipulators, and explain why they're obsolete.
Per the discussion in #1425.
2018-04-03 21:04:53 -04:00
Tom Rothamel bf24051c6e Merge pull request #1423 from el-unicorn/translate_template_pt_options
Translate comments from templates/portuguese/options.rpy from spanish/english to portuguese
2018-04-03 01:19:46 -04:00
Tom Rothamel 6c83a1fae0 Only look at ev.unicode during KEYDOWN.
Fixes #1424.
2018-04-02 21:17:15 -04:00
el-unicorn d9818f533b translate comments from options.rpy from spanish/english to portuguese 2018-04-01 21:03:45 -03:00
Tom Rothamel e1e2337538 Add Changelog. 2018-03-30 17:41:44 -04:00
Tom Rothamel 93be27613b Make selected save slot buttons work propertly.
That is, we should highlight the latest save slot while it is
idle.
2018-03-30 09:19:28 -04:00
Tom Rothamel ee381010a5 Use the right serial number for a for statement cache. 2018-03-29 23:19:58 -04:00
Tom Rothamel 8eb3c854a2 Improve behavior WRT retain-after-load. 2018-03-29 14:27:51 -04:00
Tom Rothamel 458de8bedd Roll back ever been changed.
This fixes a problem caused by default getting confused due to
ever_been_changed being set once, but then defaults not getting
set since it doesn't change after a rollback.
2018-03-29 02:48:41 -04:00
Tom Rothamel 924dd5865e Begin the stores after a rollback.
This should prevent problems with rolling back to the prior state
of the current game, rather than the prior state of the old game.
2018-03-29 01:55:36 -04:00
Tom Rothamel c5820c424f Fix auto window showing the interaction after rollback.
Not the bug I was shooting for.
2018-03-29 01:14:45 -04:00
Tom Rothamel c7195c8a0e Bump version. 2018-03-28 20:11:21 -04:00
Tom Rothamel 3d62b916b3 Update credits and sponsors. 2018-03-27 20:39:12 -04:00
Tom Rothamel be60218612 Add gui.button_image_extension. 2018-03-27 18:04:18 -04:00
Tom Rothamel 4faf0213a5 Merge pull request #1416 from Andykl/master
Fix wrong predict in DynamicDisplayable
2018-03-27 15:25:23 -04:00
Andy_kl ea3560e685 Fix wrong predict in DynamicDisplayable 2018-03-27 23:25:34 +05:00
Tom Rothamel e657dfac90 Default only updates a variable if it hasn't been loaded from a save. 2018-03-27 14:06:26 -04:00
Tom Rothamel 8c3cbe1f15 Fix miss_cache load/save problems. 2018-03-26 21:43:14 -04:00
Tom Rothamel 6c02eaeda5 Let enter dismiss the gui color select screen. 2018-03-25 20:23:05 -04:00
Tom Rothamel f49f183151 Wait for images to finish generating.
This is a reasonable way to fix the problem in #1415, which
I'm theorizing is happening because the game was launched
before the images are finished generating.
2018-03-25 20:06:25 -04:00
Tom Rothamel 6ad3465c2e Encode system font to utf-8. 2018-03-25 20:03:36 -04:00
Tom Rothamel 5a57136e64 Merge pull request #1415 from Ria-kon/master
Russian TTS Update
2018-03-25 17:42:57 -04:00
Tom Rothamel 5f8d202a42 Fix crash with Preferences("Joystick...").
Per #1415.
2018-03-25 17:40:22 -04:00
Tom Rothamel 31a554404b Prevent warp from causing infinite loops. 2018-03-25 14:49:14 -04:00
Tom Rothamel 8fa8ce5f8a Stop playing musing when music is queued during fast-skip.
This prevents queued music from being built up before it's
presented to the player.
2018-03-25 14:43:32 -04:00
Tom Rothamel c86debcf09 More warp fixes. 2018-03-25 14:37:52 -04:00
Tom Rothamel 5d7883b899 Improve warp.
* It will now process music and show screen / hide screen statements.
* It tries to intelligently pick parent statements.
2018-03-25 14:20:11 -04:00
Tom Rothamel 6ba8ec4f3d Disable angle when not on windows. 2018-03-25 12:29:48 -04:00
Tom Rothamel 8eda1e345b Warp after start.
This lets Ren'Py set up defaults before the warp happens.

Fixes #1413.
2018-03-25 10:56:40 -04:00
Ria-kon 3bb8ae2f5e Russian Tutorial Update 2018-03-25 11:03:34 +03:00
Ria-kon dafb7daba5 Russian The Question update 2018-03-25 11:01:19 +03:00
Ria-kon fc23814e1d First try. Tutorial 2018-03-25 10:36:30 +03:00
Ria-kon 56bbe5df9d First try. The Question 2018-03-25 10:35:12 +03:00
Ria-kon 578873a17a First try 2018-03-25 10:07:43 +03:00
Tom Rothamel b18b390496 Fix double-documentation. 2018-03-24 22:24:59 -04:00
Tom Rothamel bbd977ad69 Changelog the self-voicing changes.
Per #1356.
2018-03-22 21:42:41 -04:00
Tom Rothamel 9057d67dc5 Improve tts for launcher. 2018-03-22 01:48:43 -04:00
Tom Rothamel 698dd9e060 Improve tts functionality and translatability. 2018-03-21 22:40:40 -04:00
Tom Rothamel 00390f3f10 Update pig latin translation. 2018-03-21 22:33:11 -04:00
Tom Rothamel b71d7a8c38 More self-voicing translation support. 2018-03-21 22:17:48 -04:00
Tom Rothamel 2b2e247d19 Improve auto-voice translation. 2018-03-21 21:44:51 -04:00
Tom Rothamel 44b842d491 Update changelog. 2018-03-20 20:15:33 -04:00
Tom Rothamel 7044b9d448 Allow more names to be redefined without lint warnings.
Fixes #1411.
2018-03-19 23:40:13 -04:00
Tom Rothamel d5d4f11a6a Lower zip compression to 5.
This should reduce build times in exchange for a small size
increase, which is usually worth it.
2018-03-18 14:15:57 -04:00
Tom Rothamel 521e5d612d Remove spurious print. 2018-03-18 12:18:17 -04:00
Tom Rothamel 4c09beca76 :x 2018-03-18 11:37:51 -04:00
Tom Rothamel 44d0b20ddd Update changelog. 2018-03-17 23:15:47 -04:00
Tom Rothamel 95861477ea Initialize the number of seen translates before init time.
Why not? It's well-defined.
2018-03-17 11:21:38 -04:00
Tom Rothamel 8e584ed658 Update the piglatin translation. 2018-03-16 22:41:37 -04:00
Tom Rothamel 81b71049f8 Do not specially handle a shift-alt key that types something.
Fixes Norwegian text input.
2018-03-16 22:39:43 -04:00
Tom Rothamel ada808a881 Fix doc example. 2018-03-16 09:44:32 -04:00
Tom Rothamel 60756f97b0 Bound surface access. 2018-03-15 21:28:10 -04:00
Tom Rothamel 23a9d5be6f Call _choose_attributes when attributes have been determined.
This is intended to support AttributeImage when used as a side
image, as it lets Ren'Py search for the right side image and
then get its attributes.
2018-03-15 01:26:59 -04:00
Tom Rothamel b054d6e449 Use the alternate tlid for autovoice. 2018-03-15 00:23:32 -04:00
Tom Rothamel 65a36a4190 Make the from statement introduce an alternate TL identifier.
The from clause, since it's added automatically, shouldn't change
the game semantics. Unfortunately, this wasn't the case - adding
a from clause would change the translation identifier.

Since games could rely on this behavior without knowing it, we had
to split the difference. Now, when a label begins with an _, it
introduces an alternate tlid. If the main tlid exists, it's used.
Otherwise, the alternate tlid is tried.

Generation uses the main tlid.
2018-03-14 22:54:30 -04:00
Tom Rothamel 4d2f7988d9 Revert "Local label fixes."
This reverts commit 00997f8db1.
2018-03-14 20:49:54 -04:00
Tom Rothamel bc9be0c280 Revert "Make global labels scopeless."
This reverts commit 41ad34cb95.
2018-03-14 20:49:51 -04:00
Tom Rothamel a7b895a63f Revert "Update labels doc."
This reverts commit 3919ad0176.
2018-03-14 20:49:47 -04:00
Tom Rothamel 8cc4cddc73 Fix compatibility with older games. 2018-03-14 11:47:16 -04:00
Tom Rothamel 09ba6c6f50 Only repeat show, replace, and update.
Hide and replaced are triggered multiple times, but should only
be delivered once each.
2018-03-14 11:47:16 -04:00
Tom Rothamel 9d6f1f667c Merge pull request #1406 from eevee/relax-atl-interpolation
Allow interpolating to any prop-only ATL transform
2018-03-13 18:36:42 -04:00
Tom Rothamel bcd8e4831c Merge pull request #1407 from kevinturner/master
Fix typo in "renpy.get_attributes" doc
2018-03-13 18:35:37 -04:00
Tom Rothamel 1868e7b6ae Can't rollback when config.rollback_enabled = False.
Fixes #1405.
2018-03-13 03:04:55 -04:00
Tom Rothamel 1b2e4c21b4 Make the list of events to deliver configurable. 2018-03-13 02:32:17 -04:00
Kevin Turner 4e08656c4e Fix typo in "renpy.get_attributes" doc
Saying that this returns "None" when an image is showing instead of when it isn't makes this function incredibly confusing at first sight.
2018-03-12 14:18:56 -04:00
Tom Rothamel a8a84451ca Deliver certain transform events each time one happens. 2018-03-12 10:38:38 -04:00
Eevee (Lexy Munroe) 2e81fb434a Relax ATL interpolation restrictions slightly
A transform can only be interpolated if it contains plain property
assignments.  Previously, this required putting them all on one line;
but semantically this is the same as putting each one on its own line,
so there's no reason not to allow that too.
2018-03-12 04:03:27 -07:00
Tom Rothamel 720515d210 Use a predicted screen when changing screens in a tag.
This should be a slight performance improvement.
2018-03-12 02:05:44 -04:00
Tom Rothamel f69c46c7e6 Separate the screen cache into generations.
This fixes a problem where the cache of a screen could contain
a transform in the old state. What's more, since the cache was
persisting between screens, showing two screens with the same
tag would use the (long obsolete) cached data, and hide the
old screen.

By breaking things up into old and new generations, a transform
not used in the new generation will "go away", and be reset when
shown again.
2018-03-11 16:47:10 -04:00
Tom Rothamel 927b53f4d8 Update and edit changelog. 2018-03-10 16:03:11 -05:00
Tom Rothamel 8d791b7cda Check for editra.exe. 2018-03-10 04:16:27 -05:00
Tom Rothamel a47ba45137 Update the changelog. 2018-03-09 17:47:24 -05:00
Tom Rothamel 3919ad0176 Update labels doc. 2018-03-09 02:00:11 -05:00
Tom Rothamel 33e894d70f Fix a problem with side images persisting when interact=False.
This was a weird one, resolved by resetting the side image during
the next interaction or with None.

Fixes #1380. Thank you, Glitchy.
2018-03-08 23:21:12 -05:00
Tom Rothamel 41ad34cb95 Make global labels scopeless.
This simplifies the current confusing behavior, and brings it
back to what had been documented.
2018-03-08 01:52:23 -05:00
Tom Rothamel 80f8ebf3ae Write files.txt into the base directory.
This ensures it goes into someplace writable.
2018-03-07 21:31:51 -05:00
Tom Rothamel 00997f8db1 Local label fixes.
* Ignore global labels beginning with _.
* Change the documentation to match global label scope.

Fixes #1398.
2018-03-07 00:57:48 -05:00
Tom Rothamel 309da53b84 Add renpy.get_say_image_tag()
As discussed on discord, this gets the image tag of the currently
speaking character.
2018-03-06 21:24:09 -05:00
Tom Rothamel 858701d4d9 Fix docs.
Fixes #1401.
2018-03-05 23:37:05 -05:00
Tom Rothamel 79bba2695e Fix the movie documentation.
The channel isn't needed, so don't include it in examples.

Per #1402.
2018-03-05 22:59:21 -05:00
Tom Rothamel 2539d9218f Document that Dynamic displayables don't particpate in changes.
And also what they're meant for, design-wise.

Per #1394.
2018-03-04 19:02:41 -05:00
Tom Rothamel 1957680283 Merge pull request #1388 from mbrickn/patch-2
Updated URLs to use https when possible. (Readme file only)
2018-03-04 15:47:19 -05:00
Tom Rothamel 1681c2a8ee Merge pull request #1393 from Ria-kon/master
Russian Update 6.99.14.2
2018-03-04 15:46:44 -05:00
Tom Rothamel 9243ed8622 Merge pull request #1396 from eevee/call-screen-with
call_screen() shouldn't pass along _with_none
2018-03-04 15:46:06 -05:00
Tom Rothamel 603de90bad Merge pull request #1395 from eevee/sfont-baseline
Allow specifying the baseline for an SFont
2018-03-04 15:37:23 -05:00
Tom Rothamel f25d1919df Prevent the predict coroutine from being run twice. 2018-03-04 14:25:46 -05:00
Tom Rothamel 3306f9184d Run Python hide statements inside a function context.
This works around an issue with the python compiler, where it seems
to emit incorrect code when compiling for the outermost context,
code that has an assumption that the locas and globals are the
same thing, when in a hide block, they're not.

Fixes #1397.
2018-03-04 14:18:03 -05:00
Tom Rothamel 805bb33363 Infrastructure for compiling python hide differently. 2018-03-04 01:02:51 -05:00
Tom Rothamel efa6bf1aff Add pagekeys to viewports in the new GUI.
This is for accessibility, it makes the interface more useable
with just a keyboard.
2018-03-03 20:58:06 -05:00
Eevee (Lexy Munroe) 5a207310b3 call_screen() shouldn't pass along _with_none 2018-03-03 17:18:11 -08:00
Eevee (Lexy Munroe) 30b8f03cbb Allow specifying the baseline for an SFont 2018-03-03 16:39:19 -08:00
Tom Rothamel fa669d8bf1 Read multipersistent data in binary mode. 2018-03-03 12:21:23 -05:00
Tom Rothamel bf1b6ca143 Ignore the ctrl modifier on ctrl, etc.
This fixes a problem with newer SDL (or maybe X, etc - an upgraded
Ubuntu seems related) where pressing CTRL causes the modifier to
be added as part of the KEYDOWN event.
2018-03-02 22:49:29 -05:00
Tom Rothamel 83f59262f8 Add the play_callback argument to Movie.
This will let creators do things like queue up a transition movie
followed by a looping new stable state.
2018-03-02 22:04:56 -05:00
Ria-kon 0e3d6944c1 Russian Update 6.99.14.2 2018-03-03 02:59:18 +02:00
Tom Rothamel 0572210e2e Only cycle the storedicts on log.begin.
Previously, the storedicts were being cycled on log.complete(),
which is called during a save as well as normal statement begin.
When cycled, the storedicts would record the information while
in the save context, and restore it.

This was causing problems with suppress_overlay, and less likely
other problems.

Fixes #1383.
2018-03-02 02:21:22 -05:00
Tom Rothamel 8b5a01ac2d Begin a rollback whenever a context runs.
Attempts to fix #1383. The idea is that all the symptoms there
seem to be caused by suppress_overlay being set wrong, and
it might be set wrong because a rollback is happening.
2018-03-01 19:31:51 -05:00
Tom Rothamel 7df540679e Update sponsor list. 2018-02-26 23:23:56 -05:00
Tom Rothamel 0b8d92b5a8 Properly offset the mouse.
This undoes the effect of the optimization where we only draw
the bounding box of non-transparent pixels.

Fixes #1384.
2018-02-26 01:44:35 -05:00
Tom Rothamel 6ebf2597c4 Do not include the version in the channel name.
Fixes #1379.
2018-02-25 13:34:00 -05:00
Tom Rothamel 4abe1e987e Include tmp directory in atom.
Atom uses tmp as the name of a library it depends on. Fixes #1391.
2018-02-24 23:52:08 -05:00
Tom Rothamel 37e9b31448 Write navigation.json atomically.
If it exists, it'll be valid and contain complete information.
2018-02-24 14:35:58 -05:00
Tom Rothamel 769aa0aa45 Write navigation.json into game/saves.
This will make it more available to editors, as it becomes
possible to find it automatically. Since game/saves has been
excluded from being shipped, it should also not be a problem
for distro or vcs.
2018-02-24 14:27:46 -05:00
Tom Rothamel 71bbe96381 Update credits. 2018-02-23 23:43:52 -05:00
Tom Rothamel afbe3a36cf Add an Open project button.
This opens the project as a whole in the text editor, if
the editor itself supports that.
2018-02-23 00:49:06 -05:00
Tom Rothamel 5c1893ca6e Allow the updater to deal with files longer than PATH_MAX on windows.
(This is done by prefixing them with \\?\ )
2018-02-22 01:20:03 -05:00
Tom Rothamel a2c6c3b8a1 Fix Atom classification. 2018-02-21 20:53:09 -05:00
Tom Rothamel 899be4fb74 Adjust atom packaging. 2018-02-21 03:00:14 -05:00
Maxwell Paul Brickner 6364cf535c Updated URLs to use https when possible.
I updated urls to use https when possible to avoid redirects.
2018-02-19 11:18:29 -05:00
Tom Rothamel acaf075bd8 Add new keywords. 2018-02-18 18:19:35 -05:00
Tom Rothamel 7ebe89289e Document NVL-mode functions.
Fixes #1381.
2018-02-16 20:45:31 -05:00
Tom Rothamel d2190ba2e8 Fix some incorrect multiple_say documentation.
Fixes #1385.
2018-02-15 23:09:01 -05:00
Tom Rothamel 54e83e5aa3 Fix spurious code in the question. 2018-02-13 18:40:57 -05:00
Tom Rothamel 0d25fd45ab Escape keywords. 2018-02-13 12:46:56 -05:00
Tom Rothamel 86f5321f9d Fix keyword generation. 2018-02-12 22:14:28 -05:00
Tom Rothamel 8223af20d6 Read more keywords from Ren'Py. 2018-02-11 12:38:11 -05:00
Tom Rothamel d1f0c0fa57 Autocompute a property regex. 2018-02-11 01:40:48 -05:00
Tom Rothamel a5affb2b80 Change how we represent screen language keywords.
This new representation takes up alot less space in memory,
and will also facilitate creating more compact regular
expressions.
2018-02-10 20:46:24 -05:00
Tom Rothamel 1f575ba4ec Distribute Atom with Ren'Py.
(But not the final version, so don't expect this to work, nightly
build fans.)
2018-02-10 20:09:42 -05:00
Tom Rothamel 59241f0e06 Add Atom support to the launcher. 2018-02-09 19:49:46 -05:00
Tom Rothamel 44b1be900e Minor editor changes to get ready to support atom. 2018-02-08 18:59:02 -05:00
Tom Rothamel 3846bcdeb9 Remove extraneous debug raise.
Fixes #1357.
2018-02-08 17:23:56 -05:00
Tom Rothamel 1fd121025b Add docs when adding Ren'Py. 2018-02-06 11:59:59 -05:00
Tom Rothamel 8b9bc52af2 Bump the version to 6.99.14.2. 2018-02-05 19:09:23 -05:00
Tom Rothamel b61b929451 Fix typo. 2018-02-05 01:17:12 -05:00
Tom Rothamel 96635b6a71 Add missing version number. 2018-02-05 01:14:57 -05:00
Tom Rothamel 06f0b2939b Update keywords for 6.99.14.1. 2018-02-04 19:19:00 -05:00
Tom Rothamel 4cc03dec87 Add a warning to myself. 2018-02-04 12:51:59 -05:00
Tom Rothamel 45882282ee Update the changelog and credits. 2018-02-04 05:47:35 -05:00
Tom Rothamel 88723fc975 Merge pull request #1371 from xavi-mat/master
Update Spanish translation
2018-02-03 14:38:27 -05:00
xavi-mat 434af61a4b Update "Shoulder" Button.
Translating "Shoulder" button as "Botón sup. frontal. der./izq."
2018-02-03 16:26:53 +01:00
Tom Rothamel a6adfa3d3a Merge pull request #1373 from Enerccio/master
Add mouse_drop property, to indicate that the drop shold follow the mouse pointer, and not maximum overlap.
2018-02-02 17:54:16 -05:00
Enerccio 35f015a0df mouse_drop keyword in sl2 2018-02-01 22:14:10 +01:00
Enerccio f9bf56ff43 Mouse drop keyword change in screenlang 2018-02-01 22:13:23 +01:00
Enerccio e4a4d3f686 fixed <= and updated the name 2018-02-01 22:09:15 +01:00
Peter Vanusanik cdcb23e4a6 drag & drop change 2018-02-01 21:53:54 +01:00
Tom Rothamel e850ec89e0 Fix documentation warnings.
All fixed, except :orphan: (which is wrong) and some duplications.
2018-02-01 01:26:10 -05:00
Tom Rothamel 5fce2cb1d6 Fix various minor documentation problems. 2018-02-01 00:34:58 -05:00
Tom Rothamel 14162cc1e8 Fix typo.
Fixes #1372.
2018-01-31 22:12:05 -05:00
xavi-mat e68b5829ff Two new strings in the las nightly
Addindg "System Editor" and "None", from the last nightly.
2018-01-31 18:04:43 +01:00
xavi-mat 65831c85ae Better 'labels' than 'Etiquetas'
Spanish translation "Eqtiquetas" could be confused with 'tags'. It's better to leave this untranslated (in the script, the developer must write the word "label" anyway)
2018-01-31 17:54:11 +01:00
xavi-mat fb0f30821e small error 2018-01-31 17:37:47 +01:00
xavi-mat 20bccb3c0c Update Spanish translation 2018-01-31 17:23:07 +01:00
Tom Rothamel 2ebe05011c doc: Add missing clause.
Fixes #1367
2018-01-30 22:26:45 -05:00
Tom Rothamel f814e767f6 Merge pull request #1370 from Ria-kon/master
Russian update 6.99.14.1 (2
2018-01-30 18:52:24 -05:00
Ria-kon bb6f8ada97 Update for 6.99.14.1 2018-01-30 06:04:55 +02:00
Ria-kon 22808f0b0b Make "System Editor" and "None" translatable 2018-01-30 06:01:07 +02:00
Tom Rothamel bda9ed1e68 Merge pull request #1369 from Ria-kon/master
Russian 6.99.14.1
2018-01-29 19:59:46 -05:00
Tom Rothamel 6f900ad68f Update Pig Latin translation. 2018-01-29 18:39:59 -05:00
Tom Rothamel eb771529cf Redo the front page of the launcher.
Add an actions section, with Navigate Script as the first button
inside it. The idea behind this is that many people didn't
realize it was a button they could click.
2018-01-29 18:27:19 -05:00
Ria-kon 4bdce24c9d Russian 6.99.14.1 2018-01-29 07:16:17 +02:00
Tom Rothamel 82a7087921 Disable imagemap caching. 2018-01-28 19:20:24 -05:00
Tom Rothamel ec952189a0 Only predict ConditionSwitch when predicting.
This prevents the ConditionSwitch code from slowing things down
when a prediction fails.
2018-01-28 17:50:16 -05:00
Tom Rothamel 740b5e95ed Fix DynamicDisplayable list prediction.
DD could return a list for prediction, but it would always
be taken as a displayable and fail. This fixes that, and makes
the new predict_all behavior do something.
2018-01-28 11:47:41 -05:00
Tom Rothamel 6931ddd519 FPS meter displays and toggles gl powersave. 2018-01-26 17:46:13 -05:00
Tom Rothamel 6671add453 Remove the auto option for gl powersave, default to enable.
Not having it tends to spin the fans on people's laptops,
while enabling it doesn't really seem to have much effect,
as it just increases the framerate on otherwise-static
screens.
2018-01-26 17:36:49 -05:00
Tom Rothamel 36ef77c7c8 Remove debug print. 2018-01-26 17:33:08 -05:00
Tom Rothamel b0da5817c1 Round the fps to one decimal. 2018-01-25 21:07:15 -05:00
Tom Rothamel 6a4449b91b Invalidate the cache rather than redrawing on per_frame screens.
This fixes a problem where we'd update a screen, and something in
it would cause a redraw, that caused us to redraw the screen...
which means we'd never go into low frameratem mode.
2018-01-25 21:00:14 -05:00
Tom Rothamel eedd113144 Prevent Ren'Py from getting stuck in high performance mode.
We had this loop where (not can_block) set needs_redraw, and
needs_redraw indirectly set (not can_block).
2018-01-25 19:55:07 -05:00
Tom Rothamel 324ddd5eb8 Do not flip the screen if a fullscreen video has no surface.
See #1364.
2018-01-25 01:55:54 -05:00
Tom Rothamel 3865ec78d1 Show the size of the last 2 generations of the cache. 2018-01-24 23:46:51 -05:00
Tom Rothamel 5676868a7d Update the generation of a cache entry on a fast hit. 2018-01-24 23:46:16 -05:00
Tom Rothamel 7ecb5de1c8 Display the size of the current and last generation in the cache. 2018-01-24 23:17:17 -05:00
Tom Rothamel c9200efeab Update keywords for release. 2018-01-24 02:30:01 -05:00
Tom Rothamel a5ac108cb2 Fix the display of the cache size. 2018-01-24 02:24:02 -05:00
Tom Rothamel 807cc096ba Make sure we leave idle_frame even if we can block. 2018-01-24 01:43:14 -05:00
Tom Rothamel 6e3e866e8f Do not do expensive prediction in high-redraw scenarios.
This prevents the framerate from glitching out due to prediction
when the screen should be redrawn. (We'll still get a small
glitch when the screen is static, but that shouldn't
be visible.)
2018-01-24 01:34:47 -05:00
Tom Rothamel 1533aa06ee Global experimental flag.
Used to enable features that aren't ready for prime time, but
should be on for testing.
2018-01-23 23:45:48 -05:00
Tom Rothamel 0e8eb0be71 Better repr for Frame. 2018-01-23 23:34:19 -05:00
Tom Rothamel e2f617406d Pre-fill the loadable cache.
Should prevent blocking disk access, at least in some places.
2018-01-23 22:24:06 -05:00
Tom Rothamel cdbbc8255f Predict the overlay screen and _transparent_tile.png. 2018-01-23 21:59:07 -05:00
Tom Rothamel 9359e7bea7 F4 shows the image load log. 2018-01-23 21:00:11 -05:00
Tom Rothamel 8b88d8eed8 Move the image load log to a per-frame screen.
And include the texture info.
2018-01-23 20:45:51 -05:00
Tom Rothamel 08a2b348bf Run the launcher in powersave mode. 2018-01-23 20:39:44 -05:00
Tom Rothamel 5cf5b22b86 Hide the memory profile function behind RENPY_EXPERIMENTAL. 2018-01-23 19:54:10 -05:00
Tom Rothamel a2ecbc1cf8 Allow renpy.start_predict and renpy.stop_predict to take wildcards. 2018-01-23 19:51:51 -05:00
Tom Rothamel 4e4cdb4988 Add the renpy.list_images function.
This returns a list of the images Ren'Py knows about.
2018-01-23 19:17:13 -05:00
Tom Rothamel 9a48079332 Remove debug prints. 2018-01-23 02:32:24 -05:00
Tom Rothamel 47139d57c7 Add a predict_all parameter to ConditionSwitch and ShowingSwitch.
This cases Ren'Py to predict all displayables, not just the
currently selected one. It could be used, for example, to make
a ConditionSwitch that predicts all possible emotions of a
character.
2018-01-23 02:24:37 -05:00
Tom Rothamel 4d4e9a07cd Release the GIL when calling glGlear.
Since we could plausibly block in this function.
2018-01-23 01:51:55 -05:00
Tom Rothamel a1745cd7f2 Always optimize image bounds. 2018-01-23 00:39:33 -05:00
Tom Rothamel 8ae732dda0 Document image caching changes. 2018-01-23 00:21:25 -05:00
Tom Rothamel b44c9ed8cb Change and compat cache defaults. 2018-01-23 00:20:53 -05:00
Tom Rothamel bd53625a27 Load textures into the GPU during idle frames.
This actually helps to reduce some memory consumption, as we can
toss the premultiplied texture early and rely on OpenGL to keep a
copy of the texture for us in video RAM or wherever OpenGL keeps
things.
2018-01-22 20:20:32 -05:00
Tom Rothamel 8ca2410b21 Move the idle frame events into their own method. 2018-01-22 20:16:15 -05:00
Tom Rothamel 56d26cfaec Set the cache size in megabytes. 2018-01-22 20:11:55 -05:00
Tom Rothamel 9ead3c6e84 Deincrementalize the size of the image cache.
With the new texture stuff, it's hard to maintain the cache size
incrementally, but it's really fast to compute it each time the
size is needed.
2018-01-22 13:41:09 -05:00
Tom Rothamel 3a843ecaf7 Kill a cache entry that has not a surface or texture. 2018-01-22 01:03:09 -05:00
Tom Rothamel aad8489565 Convert surface-only textures to real textures in a background thread. 2018-01-22 00:49:02 -05:00
Tom Rothamel 9f95a34fb4 Allow Ren'Py to report a traceback on an open from main thread. 2018-01-22 00:06:14 -05:00
Tom Rothamel f3b78279d5 Only error out from predicting if on the main thread.
This means that loading a sound or movie from the predictor thread
goes through fine.
2018-01-22 00:05:11 -05:00
Tom Rothamel d1fdd39a9d Document the maxsize transform property. 2018-01-22 00:02:07 -05:00
Tom Rothamel 0bc24ac5cd Add a maxsize transform property.
This transforms an image to be smaller than a certian maximum size
while maintaining the image's aspect ratio.
2018-01-21 14:57:22 -05:00
Tom Rothamel 6e4ad90083 Refuse to open files while predicting.
Predicting takes place in the main thread, and can be expensive. We
don't want to hit the disk while predicting, so we check for that
case and abort the prediction, rather than taking the slowdown.
2018-01-21 14:18:43 -05:00
Tom Rothamel 7fc24e51ef Fix loading older nvl mode saves. 2018-01-20 22:47:03 -05:00
Tom Rothamel 9812c00db4 Fix an issue with default_bounds not being set.
See #1359.
2018-01-20 15:23:29 -05:00
Tom Rothamel 1cf362e84b Allow the cache to return a texture or a render.
This is used by the gl mouse code, which requires a texture to
work properly.
2018-01-20 13:54:55 -05:00
Tom Rothamel 0cf66407e9 Changelog optimize_image_bounds. 2018-01-19 20:13:58 -05:00
Tom Rothamel ec9dd801ce Optimize texture boundaries.
When loading an image, we scan for the bounding box of the
non-transparent sections, and only load that box into the
texture. This is a big win for common patterns, like photoshop
layers converted into pngs.
2018-01-19 02:10:08 -05:00
Tom Rothamel 81843a7ea1 Start 6.99.14 changelog. 2018-01-18 22:37:28 -05:00
Tom Rothamel e22b0b5e0c Copy context.music.
Per https://lemmasoft.renai.us/forums/viewtopic.php?f=8&t=47659
2018-01-17 21:21:02 -05:00
Tom Rothamel 49f44735f1 Include the time traceback.txt and errors.txt were created.
To make it easier to deal with stale files.
2018-01-17 20:23:38 -05:00
Tom Rothamel 452e879199 Add _drag.
Which fixes some problems with the layout of the image load log if
default is redefined.
2018-01-16 22:51:44 -05:00
Tom Rothamel e07e396d77 Use a Frame rather than an im.Tile for the developer background.
It's better, and reduces cache pressure.
2018-01-16 21:24:05 -05:00
Tom Rothamel eaf12a4089 Recycle the Python cache. 2018-01-16 01:45:25 -05:00
Tom Rothamel 31be06e1c5 Bump version to 6.14.1. 2018-01-15 23:32:13 -05:00
Tom Rothamel 9651db244c Merge pull request #1354 from Ria-kon/master
Fixes for changelog (doc)
2018-01-15 16:51:12 -05:00
Ria-kon 34c27ece40 Fixes for changelog (doc)
`config.loadable` callback => `config.loadable_callback`
targer => target
2018-01-15 20:51:06 +02:00
Tom Rothamel 3f5082d231 Ensure ATL functions process hide events.
Fixes #1351.
2018-01-14 22:12:30 -05:00
Tom Rothamel 4edced0a43 Update changelog and doc gc variables. 2018-01-14 12:43:05 -05:00
Tom Rothamel db38debae4 Improve how we print the the garbage. 2018-01-13 12:42:23 -05:00
Tom Rothamel 0730ee873d Fix unparameterized ATL. 2018-01-13 12:31:22 -05:00
Tom Rothamel 7f73e7f97b Predict save slot screenshots when a file page action is visible. 2018-01-13 10:25:51 -05:00
Tom Rothamel a2d61c3fa6 Scan the load/save file metadata. 2018-01-13 00:38:38 -05:00
Tom Rothamel c3b9db09ed Add a way of printing objects that the GC collects. 2018-01-12 23:36:00 -05:00
Tom Rothamel 397b950c79 Remove a reference cycle in ATLTransform.
This gets rid of quite a bit of memory leaking, making it much less
likely we'll need to trigger the garbage collectors.
2018-01-12 23:11:38 -05:00
Tom Rothamel e78543345f Do not always collect all generations.
Due to a mistake in understanding the GC semantics, a managed GC
would collect all generations. Now it only collects the first and
second generations.
2018-01-12 22:25:03 -05:00
Tom Rothamel 9b8e99f0f6 Remove incorrect screen duplication.
Fixes #1346.
2018-01-11 00:48:13 -05:00
Tom Rothamel a4966719a9 Update credits. 2018-01-10 21:42:15 -05:00
Tom Rothamel 7bbd577de0 Allow 0 and N to be generated in build.name.
Fixes #1343.
2018-01-09 23:40:49 -05:00
Tom Rothamel 5a8a553033 Fix translations. 2018-01-09 20:48:19 -05:00
Tom Rothamel 1924806be3 Update Arabic translation. (from Maissara Moustafa) 2018-01-09 20:41:31 -05:00
Tom Rothamel 6577f2c5f5 Check in keywords.py. 2018-01-08 22:27:23 -05:00
Tom Rothamel 8b3c353ffe Update sponsors. 2018-01-08 21:50:26 -05:00
Tom Rothamel 8b162210ce Update piglatin translation. 2018-01-08 21:20:06 -05:00
Tom Rothamel 7afa69ffc4 Document pagekeys and arrowkeys on viewport. 2018-01-08 01:58:53 -05:00
Tom Rothamel 9766746081 Add viewport pagekeys.
These make it possible to hit pageup and pagedown to scroll a
viewport.
2018-01-08 01:43:00 -05:00
Tom Rothamel 3eb0bcbc3e Update copyright to 2018. 2018-01-07 18:47:32 -05:00
Tom Rothamel 28afc8c53f Point out that decreasing config.rollback_length might hurt things.
Fixes #1334.
2018-01-07 18:40:11 -05:00
Tom Rothamel 1cbe298507 Changelog previous change. 2018-01-07 18:22:35 -05:00
Tom Rothamel 007e370698 Use the current time to seed screen language serial numbers.
This fixes a problem where, if screens are present in two or more
files, two nodes can be created with the same serial number. These
could then cause caching problems, or one displyable being replaced
with another, when switching from one screen to the other.

Fixes #1340.
2018-01-07 18:05:06 -05:00
Tom Rothamel 16dcc85c6a Deal with .rpt files not having a translation_loc.
Fixes #1339.
2018-01-06 13:13:07 -05:00
Tom Rothamel 4109c03983 Update credits. 2018-01-06 12:10:16 -05:00
Tom Rothamel f332b2dcec Start the prediction thread each time an interaction begins.
This ensures the cache gets cleared out at least once per interaction,
preventing Ren'Py from leaking memory.
2018-01-05 22:23:47 -05:00
Tom Rothamel e531f0d4f8 Munge fields in strings. 2018-01-05 01:14:04 -05:00
Tom Rothamel 7923ffed13 Merge pull request #1338 from vollschauer/master
Update config.rst
2018-01-04 16:22:32 -05:00
vollschauer ddc4915a84 Update config.rst
Fix typo...
2018-01-04 15:40:07 +01:00
Tom Rothamel cd667b20e7 Typecheck all sl2 caches.
Prr the comment on aa0708b331.
2018-01-04 02:56:22 -05:00
Tom Rothamel e8e42ca24b Use config.game_main_transition with MainMenu action.
Takes the first half of #1336.
2018-01-03 22:06:51 -05:00
Tom Rothamel 85cbb14988 Ensure GC runs once per interaction.
This ensures that repeated skipping won't starve Ren'Py of garbage
collection entirely, which is probably bug #1324.
2017-12-31 13:46:58 -05:00
Tom Rothamel 503553aa14 Make _return dynamic when _after_load is called.
This prevents the call to the _after_load label from affecting
the value of _return in the game proper, which should be
preserved over a save and load.

Fixes #1330.
2017-12-31 13:23:38 -05:00
Tom Rothamel c4ce604cbd Ensure that all GC generations trigger. 2017-12-30 22:27:57 -05:00
Tom Rothamel 1195b6c0a8 Move string munging into list_logical_lines, so it works everywhere.
Fixes #883.
2017-12-30 03:02:12 -05:00
Tom Rothamel 2b68bf032b Munge interpolated variable names. 2017-12-29 23:07:01 -05:00
Tom Rothamel 7f504c0c1b Rename config.zap_transient to config.fast_unhandled_event.
Which better diagnoses its purpose.
2017-12-28 20:56:11 -05:00
Tom Rothamel 7dfe21a39c Update credits for 6.99.14. 2017-12-27 19:54:04 -05:00
Tom Rothamel 8b1689edf1 Build docs as part of the release process. 2017-12-26 20:03:38 -05:00
Tom Rothamel 037c3fe0c4 Rework zap_transient.
It now causes Ren'Py to check to see if anything handles the hide
or replace event, and only dispatches the event if something does,
which is much safer than ignoring it every time.

Fixes #1325.
2017-12-26 19:42:14 -05:00
Tom Rothamel e34e8982e9 Add _handles_event to displayables. 2017-12-25 23:11:23 -05:00
Tom Rothamel 12247a6f24 ATL: Add _handles_event. 2017-12-25 23:11:23 -05:00
Tom Rothamel 771a160961 Merge pull request #1322 from morganwillcock/transclude
Fix typo in transclude docs
2017-12-25 12:37:49 -05:00
Tom Rothamel d2cce402b8 Merge pull request #1323 from Ria-kon/master
Translation for Image Location Picker filter
2017-12-25 12:36:14 -05:00
Morgan Willcock 05d38841dc Fix typo 2017-12-24 21:14:49 +00:00
Tom Rothamel c7b4474152 Normalize script filenames to use / instead of \.
/\
  /  \
  /  \
 /_  _\
   ||
2017-12-24 14:31:09 -05:00
Tom Rothamel 7157b157ab Normalize filenames before placing them into the loader. 2017-12-24 13:04:01 -05:00
Tom Rothamel 163ff6d052 Encode stdout/stderr to utf-8.
This prevents problems on Windows with unknown encodings when running
from the console.
2017-12-24 13:03:10 -05:00
Ria-kon ff8a08dee7 Translation for Image Location Picker filter 2017-12-24 17:46:29 +02:00
Tom Rothamel fbb97de6b4 Add the ability to filter the image location picker by typing. 2017-12-23 14:04:56 -05:00
Tom Rothamel 6fbb0160d4 Reduce the viewport size to something more reasonable. 2017-12-23 10:22:02 -05:00
Tom Rothamel f021135492 Redo how we fill the image location picker.
Also adds support for .jpg files.
2017-12-23 00:35:20 -05:00
Tom Rothamel 8f5a38eec6 Limit text to representable sizes. 2017-12-23 00:31:59 -05:00
Tom Rothamel c8a16adcd5 Merge pull request #1321 from Ria-kon/master
Image Location Picker must support .webp
2017-12-22 16:21:00 -05:00
Ria-kon 98164f3bf9 Image Location Picker must support .webp 2017-12-22 13:49:43 +02:00
Tom Rothamel 5dc5d941b2 Don't log to stdout when purging unreachable.
Fixes #1320.
2017-12-21 22:25:26 -05:00
Tom Rothamel dbc0e80dda Arabic/RTL gui. 2017-12-21 00:56:57 -05:00
Tom Rothamel 1c175cdf02 Remove gui.scale when copying over script.rpym (or script.rpy). 2017-12-21 00:52:03 -05:00
Tom Rothamel d64ed91127 Merge branch 'master' of github.com:renpy/renpy 2017-12-20 20:44:39 -05:00
Tom Rothamel d7b0e9e750 Merge pull request #1319 from Ria-kon/master
Russian translation update
2017-12-20 20:44:35 -05:00
Tom Rothamel 0d433e6f6c Document config.cache_surfaces. 2017-12-20 01:37:07 -05:00
Tom Rothamel 37b6f6638c Remove debug print. 2017-12-20 01:24:53 -05:00
Tom Rothamel e47de64789 Fix caching of compiled pyexprs.
The previous approach was failing to work for quite a few reasons,
so this is basically a rewrite that actually caches something.
2017-12-19 23:27:46 -05:00
Ria-kon c725f8ce2f Moving strings from common to developer
...and deleting obsolete strings
2017-12-19 17:09:16 +02:00
Ria-kon c5c97dbd1c Small fixes for tutorial 2017-12-19 17:06:23 +02:00
Tom Rothamel 26c7a2b2d3 doc: Clarify images in directories. 2017-12-19 00:34:46 -05:00
Tom Rothamel bf530a2c37 Fix a problem with DictItems.as_dict()
This would cause the old dict to drop one item, which would fail
to be restored when the StoreBackup come into play before a load,
causing pickling problems.
2017-12-18 22:48:33 -05:00
Tom Rothamel 34b873e137 Add the layer property to screens documentation. 2017-12-18 19:30:22 -05:00
Tom Rothamel 7ee0bec11d Allow ParameterizeText to take translatables strings.
Fixes #1297.
2017-12-17 23:58:35 -05:00
Tom Rothamel b0309f80bf Do not require the interface object to size text.
This means that text sizing can occur before Ren'Py starts
the interface on iOS and Android.

Fixes #1316.
2017-12-17 19:21:11 -05:00
Tom Rothamel 0c0a57f257 Allow RENPY_PERFORMANCE_TEST to disable the performance test. 2017-12-17 18:54:29 -05:00
Tom Rothamel 219963df89 multiple: Adjust style names in NVL-mode. 2017-12-17 00:40:29 -05:00
Tom Rothamel 06298aad77 multiple: fixes. 2017-12-17 00:34:21 -05:00
Tom Rothamel 9ac14d3bcd Update changelog for Ren'Py 6.99.14. 2017-12-16 22:04:32 -05:00
Tom Rothamel ff57fcfe46 Bump version to 6.99.14.
Since yeah, this is worth it.
2017-12-16 11:34:43 -05:00
Tom Rothamel 697cc17900 Avoid double printing of errors to the log and stdout. 2017-12-16 11:29:29 -05:00
Tom Rothamel e844957de8 Try to diagnose pickling problems. 2017-12-15 23:29:10 -05:00
Tom Rothamel 89a0d76b5d Prevent opening the log from causing infinite recursion on Android. 2017-12-15 22:21:34 -05:00
Tom Rothamel 6ed0a7202f Document multiple dialogue. 2017-12-14 23:24:40 -05:00
Tom Rothamel 07189ebac1 Document gui preferences. 2017-12-14 01:57:17 -05:00
Tom Rothamel b252a7b576 Add gui.TogglePreference. 2017-12-14 01:54:47 -05:00
Tom Rothamel 3429ca7ee6 Add advanced GUI documentation. 2017-12-13 22:43:06 -05:00
Tom Rothamel b781b8ccc3 Add a new gui preference system.
This integrates with gui.rebuild, and make it possible to do things
like:

   define gui.accent_color = gui.preference("accent_color", "#f00")

or

   style say_dialogue:
       italic gui.preference("italic", False)

Gui preferences are set with:

   textbutton "Blue" action gui.SetPreference("accent_color", "#00f")
2017-12-13 00:52:02 -05:00
Tom Rothamel dff2b5e90d Re-run gui defines when gui.rebuild is called. 2017-12-12 23:45:07 -05:00
Tom Rothamel 6fd218b452 Change how default in the gui namespace works.
It does the same thing as define, except only once at init time.
This means that after re-running the GUI defines, they'll get
the updated value of a default gui variable.
2017-12-12 23:02:13 -05:00
Tom Rothamel 8032bad2bd Add gui.rebuild. 2017-12-12 22:42:30 -05:00
Tom Rothamel da7e1cbed3 Improve module pickling.
Ren'Py now reports a more useful error if config.developer is true,
and suppresses the error if it's false.
2017-12-11 23:24:36 -05:00
Tom Rothamel 3b6cf82b8a Always call choose_attributes if present.
This fixes an issue with AttributeImage where if we did:

show foo bar
show foo at right

The attributes would all go away.

Fixes #1293.
2017-12-11 22:01:00 -05:00
Tom Rothamel e31bfa7c0c Use scrollbars to set child_size.
Based on #1311.
2017-12-10 21:26:49 -05:00
Tom Rothamel 826d6a1b97 Compat out GC changes. 2017-12-10 14:01:54 -05:00
Tom Rothamel 90402e3ee1 Same change, but on the style inspector side. 2017-12-09 23:26:33 -05:00
Tom Rothamel 6c750637e7 Add style property priority.
The resolves obvious ambiguities in styles, like making xpos take
priority over xalign. (This is to fix an issue with gui.rpy where
we can supply both xalign and xpos.)
2017-12-09 22:45:56 -05:00
Tom Rothamel d59eb4e55c Custom statements can now define a label. 2017-12-09 01:11:19 -05:00
Tom Rothamel 0995a94959 Apply translations before removing !t.
Fixes #1294.
2017-12-08 22:37:03 -05:00
Tom Rothamel 8e2e857a85 multiple: Add multiple support to NVL. 2017-12-08 01:35:53 -05:00
Tom Rothamel 33f896c06e Do an expensive prediction step once per frame, even if we need to redraw.
By limiting how long we spend in expensive prediction, we can do it
even when we're drawing text.
2017-12-07 22:20:50 -05:00
Tom Rothamel 2f573d1d12 Fix the style.inspect order.
This will better match build_style(), in the case of an ambiguous
style.
2017-12-07 20:40:58 -05:00
Tom Rothamel cba1e797a3 Use the tag of the screen when finding a screen to replace.
This allows us to have multiple instances of the same screen
with different tags up at once, as is done in multiple text
mode.
2017-12-07 01:59:10 -05:00
Tom Rothamel 939af5b140 multiple: Use the screen tag when looking up the what displayable. 2017-12-07 01:58:25 -05:00
Tom Rothamel e49be306f5 multiple: Use styles to distinguish multiple dialogue.
This should often let us use multiple dialogue without having to
come up with all new screens and characters.
2017-12-07 00:53:21 -05:00
Tom Rothamel 737d1e69ed multiple: Pass things down through display_say and show_display_say. 2017-12-06 23:58:22 -05:00
Tom Rothamel 0db019cfd4 multiple: Support for generating multiple from a character argument. 2017-12-06 20:45:48 -05:00
Tom Rothamel 701dd434fc Abort all slow text on the screen at once. 2017-12-06 01:14:40 -05:00
Tom Rothamel aa0708b331 Ensure that SL2 caches are of the correct type.
Fixes #1313 and then some.
2017-12-05 21:33:40 -05:00
Tom Rothamel cd1f80f4be Avoid taking states from the target of an ImageReference.
This fixes a problem that occurred when we had:

image a a:
   zoom .5

image a b:
   zoom .5

show a a
pause
show a b:
   xoffset 10

The first zoom would be taken from a a, and put into the new
transform created by the show statement, and then we'd have
a b also contribute it's zoom, and so we'd have a .25 zoom
total.
2017-12-04 22:22:08 -05:00
Tom Rothamel 51556030d0 Document slow_abortable. 2017-12-04 17:54:52 -05:00
Tom Rothamel 741a7786da Compat config.zap_transient. 2017-12-04 00:01:37 -05:00
Tom Rothamel cf290d3447 Include sphinx source in the source distribution. 2017-12-03 22:51:20 -05:00
Tom Rothamel 0e6da9b140 Various VC updates & set version to 6.99.13.1. 2017-12-03 17:06:19 -05:00
Tom Rothamel d19abf3af1 Remove generated docs from version control. 2017-12-03 16:47:55 -05:00
Tom Rothamel ed3573068c Avoid writing .android.json if it hasn't changed. 2017-12-03 12:38:05 -05:00
Tom Rothamel 738c8672c4 Merge pull request #1312 from elizagamedev/bugfix/text-layout
Fix major text segment layout regression.
2017-12-03 01:27:12 -05:00
Eliza Velasquez bf8aaa3bd0 Fix major text segment layout regression.
0777826d introduces some major regressions, including breaking the
behavior of `{w}` and `{p}` tags, hyperlinks, and ruby text. This commit
correctly copies over the necessary information from `splits_from` in
the `Layout` constructor (as far as I can tell), and preserves the value
of `start_segment` in `Layout` objects so that it can be copied
properly.
2017-12-03 01:21:26 -05:00
Tom Rothamel b644aa274e Update docs. 2017-12-03 00:38:47 -05:00
Tom Rothamel af333b071f Fix get_focus. 2017-12-02 23:08:07 -05:00
Tom Rothamel 31d55cb65e New tooltip system.
Fixes #1309.
2017-12-02 22:36:57 -05:00
Tom Rothamel 4285cf6dcb Add a tooltip attribute to all displayables. 2017-12-01 22:33:01 -05:00
Tom Rothamel 22a1a4b5dc Delay expensive work (gc and prediction) until the fourth frame
from an interaction.

The second frame might start late, so this lets us make up time
before it begins in earnest.
2017-12-01 21:53:21 -05:00
Tom Rothamel 54b962454f Prevent the audio periodic thread from blocking the main thread.
It seems like when an android phone goes to sleep, it's possible
for something in the audio thread to block. That was causing the
audio periodic thread to block, and since the recent changes, the
main thread as well.

Now, we use a separate condition to tell the periodic thread to
run, so if the periodic thread is blocked, the main thread will
always make progress.

This probably also can improve performance of the main thread
in some rare cases.

Fixes #1301.
2017-11-30 23:02:43 -05:00
Tom Rothamel b6cb2d8bdc Import _ssl.
This ensures it's distributed on Windows.
2017-11-29 20:23:07 -05:00
Tom Rothamel efdf1c8976 GC: Gc during idle time in a frame. 2017-11-28 22:54:07 -05:00
Tom Rothamel 7ff29461ef Disable gc debugging on quit.
Stops pointless reporting from moving away interesting messages.
2017-11-28 22:54:07 -05:00
Tom Rothamel 15a3b308d4 Merge pull request #1307 from Ria-kon/master
Russian translation (_choose_renderer)
2017-11-28 16:47:23 -05:00
Ria-kon 55ac0b9b7e Add files via upload 2017-11-28 22:39:31 +02:00
Ria-kon 2e4dd7a3e3 Small fix in The Question
Russians do this stuff only if this was in a quotation.
Like:
-Hello?
-What do you need?
-Oh, nothing.
-But you say "Hello?"!
-Just kidding.
2017-11-28 22:38:26 +02:00
Tom Rothamel a88eb1346b Fix issue with keywords and slcontext. 2017-11-27 23:38:23 -05:00
Tom Rothamel df56d4bb55 Eliminate reference cycles through Displayable._main. 2017-11-27 06:41:32 -05:00
Tom Rothamel 59aebd730f Eliminate reference cycles through SL scope. 2017-11-27 06:40:00 -05:00
Tom Rothamel 12b7ba39bb Add a way of finding memory cycles. 2017-11-27 06:14:50 -05:00
Tom Rothamel dc9575c833 Use an environment variable to disable stdio redirection.
(So we can use debuy prints to help profile.)
2017-11-27 06:05:07 -05:00
Tom Rothamel 0de81e177b If the refresh rate is zero, use 60.
Fixes #1306.
2017-11-27 05:58:55 -05:00
Tom Rothamel acbcc9f944 Remove reference loop in screen scopes. 2017-11-26 21:39:15 -05:00
Tom Rothamel 46be6434f6 Prevent reference cycle involving SLContext.
This makes the garbage collector run even less often.
2017-11-26 21:30:48 -05:00
Tom Rothamel 6bf5562817 Tune GC.
The garbage collector was tuned to run too frequently, to the point
where it would run during every .subsurface() call. This bumps up
the threshold significantly, preventing most GC.
2017-11-26 21:25:45 -05:00
Tom Rothamel c5d28f1c57 When a color value is in error, report the value to ease debugging. 2017-11-26 13:15:49 -05:00
Tom Rothamel 33f696ee50 Make the_question version translatable. 2017-11-26 13:15:49 -05:00
Tom Rothamel 8685b8f5ea Merge pull request #1302 from Ria-kon/master
Russian The Question (Ren'Py 7 edition)
2017-11-25 20:37:31 -05:00
Tom Rothamel 4d6e5ca9d9 Merge pull request #1295 from elizagamedev/line-ending
id: Use appropriate line endings.
2017-11-25 00:10:25 -05:00
Tom Rothamel 58ec3e4344 GL Performance options. 2017-11-24 09:51:52 -05:00
Tom Rothamel 3033443e8e Remove debug print_stack. 2017-11-24 00:45:41 -05:00
Tom Rothamel 75ce37362d Adjust render cache times.
This prevents the previous commit from causing render cache misses.
2017-11-24 00:45:10 -05:00
Tom Rothamel 7f2b53ec9a Use the first frame of an interacton to base st/at.
This only matters when a frame is very slow - like if a ton of
rendering has to be done, on an unpredicted image load. If
rendering the first frame took .1 seconds, the second frame of
a transform and move would be .1 later than the first.

Now, it's 1 frame later - the .1s becomes time spent before
the first frame, rather than time spend between frames.
2017-11-24 00:23:20 -05:00
Tom Rothamel e97b832367 Redirect newline printing. 2017-11-23 10:49:19 -05:00
Tom Rothamel e707273f3f Prevent prediction from starving framerate.
This limits prediction time to 1ms when can_block  is false,
and ends predictions when an event is pending.
2017-11-23 00:38:21 -05:00
Tom Rothamel e60aa3e532 Change how we do the broken vsync sleep.
Intel chips seem to block on glClear, not the flip, so measuring
the flip speed could add pauses when none are appropriate. We now
only sleep once we accumulate enough fast frames.
x
2017-11-22 23:27:16 -05:00
Tom Rothamel f750bf1409 Do not fill the shift+O console with performance data. 2017-11-22 22:49:49 -05:00
Tom Rothamel cf0b5a0c88 Add config.say_attribute_transition_layer.
This allows the say attribute transition to take place in the background
on the master layer, rather than blocking execution.
2017-11-22 17:19:41 -05:00
Tom Rothamel 6de1a3ceb0 Document the new preferences. 2017-11-21 17:47:46 -05:00
Tom Rothamel 73055a5df3 Expose gl preferences. 2017-11-21 17:37:51 -05:00
Tom Rothamel 2751a774f4 Add gl performance preferences.
* gl_powersave controls the framerate dropping behavior.
* gl_framerate locks the gl framerate.
* gl_tearing determines if tearing is allowed to keep framerate.
2017-11-21 17:34:51 -05:00
Tom Rothamel aded40197e Implement max framerate in terms of can_block. 2017-11-21 13:51:34 -05:00
Tom Rothamel 5f830795b1 Add the gl_performance preference.
This determines if Ren'Py slows down to 5fps if there's no good
reason to keep drawing the screen.
2017-11-21 13:49:04 -05:00
Tom Rothamel 69f6a7bd35 Save fixed preferences. 2017-11-21 13:43:05 -05:00
Tom Rothamel 5f2dfc242b Reuse the DictItems rather than always making new ones. 2017-11-21 02:11:34 -05:00
Tom Rothamel bcd370d497 Avoid beginning and completing rollbacks.
This commit makes Ren'Py smarter about where it starts and ends a
rollback object. Rather then for (essentially) every statement,
it only starts a new rollback after a checkpoint or an interaction
occurs. This makes Ren'Py much faster, to the tune of 1ms or so per
click.

This also avoids beginning or completing a rollback on trivial
statements - right now, BeginTranslate and EndTranslate are the
trival statements that are ignored.
2017-11-20 23:31:31 -05:00
Tom Rothamel 5ad18b72d4 Remove plog. 2017-11-20 23:29:55 -05:00
Ria-kon f26d1b301e Clean useless code 2017-11-21 02:21:36 +02:00
Ria-kon 4d4e61a33e Translation for The Question 2017-11-21 02:20:30 +02:00
Ria-kon 1a7302b480 Changes of UI and translatable text
No examples, but languages
2017-11-21 02:16:50 +02:00
Tom Rothamel d1f065c4b9 Access config in the proper manner. 2017-11-19 19:23:49 -05:00
Tom Rothamel 895ae72c8e Add the outlinecolor text tag. 2017-11-19 18:49:40 -05:00
Tom Rothamel bbd858d79a Add a fast path for showing the empty window.
A character does a lot of text processing on its usual path, none
of which is relevant when the text is empty. So we can skip it.
2017-11-19 15:49:05 -05:00
Tom Rothamel 4d3fcd5ae3 Speed up eval_who.
Saves 10+ms! on the first line of dialogue with a character's
name in it.
2017-11-19 14:46:06 -05:00
Tom Rothamel 5607b3be92 Speed up creation of Glyph objects. 2017-11-19 12:27:25 -05:00
Tom Rothamel 0777826d8c Share segmentation info between renders of the same text. 2017-11-19 11:52:54 -05:00
Tom Rothamel 58508655c7 Avoid repeated gil lock/unlock when making glyphs. 2017-11-19 11:42:51 -05:00
Tom Rothamel dab3c9aac7 Use correct types for tweak_glyph_spacing.
This makes it much faster, as we don't have to create and destroy
Python objects.
2017-11-19 03:44:04 -05:00
Tom Rothamel 515cd28c69 performance: Improve performance logging.
* Better locations for statement start/end.
* PPP can take an optional number.
* Defer formatting.
2017-11-19 00:35:52 -05:00
Tom Rothamel 43bd86cc20 Add a plog for the start of execution of the actual statement. 2017-11-18 22:46:22 -05:00
Tom Rothamel 23cd75fc7b Prevent list compression from blocking complete.
List compression would slice a list, creating a RevertableList,
which would cause complete to restart. This fixes that issue,
saving 70us or so.
2017-11-18 22:28:50 -05:00
Tom Rothamel 28aa83e68a Use a non-RevertableList for log messages.
It won't get revered, and the updates can interfere if something prints
while the list is being processed.
2017-11-18 22:01:13 -05:00
Tom Rothamel 5cc2dd4d83 pydict: Remove commented-out lines. 2017-11-18 15:37:23 -05:00
Tom Rothamel 910d8f1dc0 pydict: Use custom quicksort for dictionary keys.
This speeds things up because we don't need to call functions for
each comparison.

And you get a bonus selection sort, too.
2017-11-18 15:31:05 -05:00
Tom Rothamel d8531fc5b3 Add a cython implementation of the code to find dict changes. 2017-11-18 12:31:48 -05:00
Tom Rothamel dc747cb9ee pydict: Add DictItems
This is a class that keeps the contents of a dictionary around
in sorted order.
2017-11-18 03:26:29 -05:00
Tom Rothamel 022c07c41d Prevent very early log exceptions. 2017-11-18 02:23:25 -05:00
Tom Rothamel 682446794a Add performance logging before peek/wait. 2017-11-18 00:32:25 -05:00
Tom Rothamel c48306290a Share a style that references default.
This is used when we create a displayable with style="default" and
no properties, and saves about 10us each time we do that, which is
multiple times per frame.

This also changes Transform and certain Fixeds to use the default
style, to benefit from this.
2017-11-18 00:19:53 -05:00
Tom Rothamel 0652ae22ba Fix issue with previous commit. 2017-11-18 00:16:19 -05:00
Tom Rothamel 4f6fd81576 Avoid updating an empty say screen on with_none. 2017-11-18 00:11:44 -05:00
Tom Rothamel 010bef8358 Add the PPP function.
This is a global function that can be used to temporarily add
something to the performance log.
2017-11-17 23:59:57 -05:00
Tom Rothamel c048b85d58 Zap transients.
Previously, Ren'Py would check to see if a transient displayable
(often a screen) had a _hide method. They never did, but this
could be very expensive.

Now, Ren'Py will just remove transient screens, avoiding
rendering things for no reason.
2017-11-17 22:09:03 -05:00
Tom Rothamel b5eeffe505 Remove a renpy.plog. 2017-11-17 21:24:37 -05:00
Tom Rothamel d88a3cb492 Cache py_compile.
Compiling python take ~100 us, and it's something we'd have to do
multiple times per frame. This stores the compiled bytecode in
a cache, and tries to compile every PyExpr at parse/load to
seed that cache.
2017-11-17 21:18:20 -05:00
Tom Rothamel 449f9ff05d renpy.performance.log -> renpy.plog. 2017-11-17 19:35:06 -05:00
Tom Rothamel 921f25b39d Tweak profiling. 2017-11-17 01:41:59 -05:00
Tom Rothamel cac10a8781 Make profiling more end-usable. 2017-11-17 01:09:13 -05:00
Tom Rothamel 3b15a8de49 Use _p for about in options. 2017-11-16 22:43:50 -05:00
Tom Rothamel f6ca2bbc2d Perform a full GC on interface start. 2017-11-16 10:29:22 -05:00
Tom Rothamel 520a9c9baf Improve UserStatement repr. 2017-11-16 10:26:17 -05:00
Tom Rothamel 18a8b47f20 Only create REDRAW events if we can block. 2017-11-16 10:11:12 -05:00
Tom Rothamel 2b27055d64 Process frame before events. 2017-11-15 23:59:22 -05:00
Eliza Velasquez 8d6edb5537 id: Use appropriate line endings. 2017-11-15 02:23:34 -05:00
Tom Rothamel c926fb17c2 Use performance log infrastructure. 2017-11-14 17:11:25 -05:00
Tom Rothamel 8218a10968 Add a new performance log infrastructure. 2017-11-14 17:11:11 -05:00
Tom Rothamel 9d296b3a77 Tweak the profiling threshold. 2017-11-14 02:42:31 -05:00
Tom Rothamel 1a9c03897b FPS screen work. 2017-11-14 02:37:48 -05:00
Tom Rothamel 8ad65ddde0 Add a TimeLog class.
This is a log that stores info based on time.
2017-11-13 23:18:13 -05:00
Tom Rothamel 04dce83592 Display fps. 2017-11-13 02:55:43 -05:00
Tom Rothamel 156c4e8af7 Add the performance screen and access to it. 2017-11-12 23:21:47 -05:00
Tom Rothamel f14f2e2194 Add the ToggleScreen action.
This shows a screen if it is not already shown, and hides it if
it's already showing.
2017-11-12 22:54:31 -05:00
Tom Rothamel a71947c9bd Add config.per_frame_screens.
This is really for the FPS-meter, but we can make it available
to creators, too.
2017-11-12 17:52:32 -05:00
Tom Rothamel 59434177cd Add config.gl_clear_color.
This is a variable that lets you set the color of the letterboxes
and pillarboxes used by a GL window that doesn't match the game.
2017-11-12 01:41:59 -05:00
Tom Rothamel 9a89806569 id: Search for the next line when re-adding a line.
When we change a line, remove it, and re-add it, there's no
guarantee the next line is at the line number. (There could be a space
intervening.) So we have to search forward for the next line.
2017-11-11 22:17:03 -05:00
Tom Rothamel 81bfb899b2 Ask the draw object if it's okay to block on input. 2017-11-11 19:20:38 -05:00
Tom Rothamel 76e6eef09c Add renpy.exports.get_on_battery().
It'll be used to control adaptive framerate, but why not expose
it as an API?
2017-11-11 18:45:17 -05:00
Tom Rothamel 505805eb4a Redraw for 4 frames after a screen update.
The idea is that if there's any frame by frame buffering in
the GPU pipeline, this will force what the player wants to
see out onto their screen.
2017-11-11 17:14:03 -05:00
Tom Rothamel 3d4fbb7664 Merge pull request #1292 from nyaatrap/master
Update Japanese translation
2017-11-10 22:44:04 -05:00
nyaatraps 4e8c424d15 Update Japanese translation 2017-11-10 17:45:21 +09:00
Tom Rothamel e99c459374 id: Ignore unimportant nodes.
This mostly includes the label and pass nodes on a call line,
which, when shown, make it look like a return is executing
the call again.
2017-11-10 01:53:08 -05:00
Tom Rothamel 7b95263e88 Better tracking of abnormal execution flow. 2017-11-10 01:41:35 -05:00
Tom Rothamel a2aa839b3a id: Only use old image attributes when changing an image. 2017-11-10 00:22:19 -05:00
Tom Rothamel 97da318e02 Fix issues with elide/unelide_filename.
* Do not add a / when eliding relative pathnames.
  (This is the root cause of #1267 on the mac)
* Search renpy_base when looking to unelide a pathname.
2017-11-09 22:55:15 -05:00
Tom Rothamel 58a594f7cb Update changelog. 2017-11-08 22:16:43 -05:00
Tom Rothamel 58d442e3b2 Allow a DynamicImage with a list for a name will be hashed.
Fixes #1290.
2017-11-07 18:24:35 -05:00
Tom Rothamel ddcd1e5a96 DynamicImage checks renpy.config.missing_image_callback for images. 2017-11-07 01:17:12 -05:00
Tom Rothamel e50d074293 Add im.Data.
This is a new image manipulator that loads raw binary image
data, as might be returned from the requests library.
2017-11-06 22:44:41 -05:00
Tom Rothamel 6a93bdafd4 Add config.loadable_callback. 2017-11-06 21:47:19 -05:00
Tom Rothamel 7be6781557 Remove unnecessary line that caused a crash.
Fixes #1288.
2017-11-05 16:18:47 -05:00
Tom Rothamel b48ab25a2e Import sys. 2017-11-04 11:05:34 -04:00
Tom Rothamel 97daa37db0 Only distribute TLS/SSL if it's used.
We check to see if the module is imported, and do not include
it if it's not going to be used.
2017-11-03 19:22:38 -04:00
Tom Rothamel 34b413a665 Defer importing urllib until it's needed.
This prevents ssl from being pulled in by the Ren'Py standard
library.
2017-11-03 19:21:50 -04:00
Tom Rothamel 7432ca4d5e Document the plain tag and reorganize text tags. 2017-11-01 21:33:11 -04:00
Tom Rothamel 30595959fa Support lowering a drag. 2017-11-01 20:44:23 -04:00
Tom Rothamel 3333790944 Recognize and ignore AltGr on Windows.
On Windows, AltGr generates a pair of events, LCTRL and RALT.
This notices that sequence and prevents skipping from occurring
when it is encountered.
2017-10-31 22:52:37 -04:00
Tom Rothamel f03b8ef631 Input only ignores on LALT, as RALT can be AltGr. 2017-10-31 21:52:34 -04:00
Tom Rothamel fb3eef8a90 Improve locking WRT get_playing.
Fixes a problem with movie playback.
2017-10-30 10:27:03 -04:00
Tom Rothamel 5a9693b3f1 Update changelog. 2017-10-29 13:48:14 -04:00
Tom Rothamel c4be3b1adf Compat ATL multiple events. 2017-10-29 11:38:11 -04:00
Tom Rothamel 4f1a38d4dd Allow ATL to respond to multiple events delivered at once.
This works when a displayable is given the show event and its
button child generates the idle event - both are delivered to
the transform, with the one it supports being what it responds
to.
2017-10-28 18:46:28 -04:00
Tom Rothamel 6b54016265 Merge pull request #1281 from Ria-kon/master
Let's translate gui.nvl_list_length to Russian
2017-10-28 16:25:44 -04:00
Ria-kon f91d2e7d49 Let's translate gui.nvl_list_length 2017-10-28 09:13:59 +03:00
Tom Rothamel 786dbfd717 Use gui.nvl_list_length to set config.nvl_list_lengthj.
This makes this important variable settable in gui.rpy.
2017-10-28 01:19:20 -04:00
Tom Rothamel 6631f2f631 Update the changelog. 2017-10-26 10:23:20 -04:00
Tom Rothamel 3b9fbaf4f4 Fix typo. 2017-10-26 10:14:08 -04:00
Tom Rothamel b51e0326d3 Update credits. 2017-10-25 21:07:08 -04:00
Tom Rothamel 5a82f0ea64 Merge pull request #1279 from Ria-kon/master
Minor russian stylistic update
2017-10-24 19:15:12 -04:00
Tom Rothamel e4e0973a40 Merge pull request #1280 from gregorypease280/patch-1
fix typo
2017-10-24 18:41:02 -04:00
Tom Rothamel 1336cf7727 Add config.preload_fonts. 2017-10-23 21:58:47 -04:00
Tom Rothamel 5240512ec8 Avoid clearing the face cache.
We're going to want to keep it for performance, as it's one of the
few things that loads files from the main thread.
2017-10-23 20:49:30 -04:00
Tom Rothamel 8db07187cd Fix a problem caused when file isn't a class. 2017-10-23 00:24:35 -04:00
Gregory Pease 7144167246 fix typo 2017-10-22 13:58:09 -07:00
Tom Rothamel 9e7349f3df Also monkeypatch the file function. 2017-10-22 15:03:02 -04:00
Tom Rothamel 9a94417b31 Optionally monkeypatch open to catch files opened in the main thread. 2017-10-22 14:59:52 -04:00
Ria-kon 8010c4082a Minor russian stylistic update 2017-10-22 21:59:10 +03:00
Tom Rothamel 1312d5b343 Create music contexts out of the periodic function.
This prevents a problem where creating them in the context can
interfere with rollback.

Fixes #1278.
2017-10-21 15:11:36 -04:00
Tom Rothamel ee1503e54f More locking. 2017-10-21 01:33:23 -04:00
Tom Rothamel f55bd9ed10 Make the audio periodic thread optional. 2017-10-21 01:26:22 -04:00
Tom Rothamel 3d2ae9cb18 Move renpy.audio.periodic into its own thread.
Per #1174.

This is one of the few places where Ren'Py reads from a file,
completely unpredictably. Hence, it's one of the few places
where disk access outside Ren'Py can block the main thread.

Now, audio files are opened in a special thread, leaving the
GUI thread to do its thing.
2017-10-20 22:35:13 -04:00
Tom Rothamel baba291609 Bump version to 7.1. 2017-10-19 17:26:17 -04:00
Tom Rothamel e545031e81 Add protection if .new has already been moved. 2017-10-18 23:19:37 -04:00
Tom Rothamel cddda0f775 Remove debug print. 2017-10-18 14:55:54 -04:00
Tom Rothamel 1d8ad80f59 Sort the result of renpy.list_files. 2017-10-18 01:00:07 -04:00
Tom Rothamel d21b727260 Revert "renpy.dynamic can work with other namespaces."
This reverts commit 5539f384b6.

Backing it out for now, since it's too intrusive for this close
to a release.
2017-10-17 00:16:19 -04:00
Tom Rothamel b6eaf6970f Hide the director when the confirm screen is up. 2017-10-17 00:11:29 -04:00
Tom Rothamel 5539f384b6 renpy.dynamic can work with other namespaces. 2017-10-16 23:15:45 -04:00
Tom Rothamel 97809a5046 Rewrite last commit. 2017-10-16 00:02:37 -04:00
Tom Rothamel 6b14598ed1 Merge pull request #1277 from kevinturner/master
Add OS Functions to Other Functions docs
2017-10-15 23:11:15 -04:00
Kevin Turner e5932425d2 Update "Other Functions" with OS functions
*Now with decent grammar
Some of the more recent 4th-wall breaking visual novels have used these functions to great effect, but they aren't documented anywhere. This will hopefully open them up to more developers.
2017-10-15 21:08:19 -04:00
kevinturner e521da9468 Revert "Update "Other Functions" with OS functions"
This reverts commit 2b0487d7d2.
2017-10-15 21:05:22 -04:00
Kevin Turner 2b0487d7d2 Update "Other Functions" with OS functions
A lot of the more innovative 4th wall breaking VNs to come out recently have started taking advantage of these functions, but they aren't documented anywhere. This will hopefully introduce them to newer Ren'Py users.
2017-10-15 21:02:41 -04:00
Tom Rothamel 5f04f560af Limit the amount of stdout/stderr content kept for the console. 2017-10-15 13:57:40 -04:00
Tom Rothamel e782cc6c3a Limit the size of the console output history.
Performance and memory use reasons.
2017-10-15 13:30:09 -04:00
Tom Rothamel 83c1333486 Fix function inits in load_script and load_module.
Fixes #1274.
2017-10-14 22:01:32 -04:00
Tom Rothamel f18c616326 Fix an issue with single parenthesised tuple patterns.
eg.

        for (name, extra_info, screenshot, time) in renpy.list_saved_games():
             ...
2017-10-14 14:39:58 -04:00
Tom Rothamel 7b89e6e99f Update the changelog. 2017-10-13 22:36:15 -04:00
Tom Rothamel 5c1d6f615f Add renpy.get_attributes. 2017-10-13 20:52:51 -04:00
Tom Rothamel 5228a72d6b Prevent malformed text tags from breaking lint. 2017-10-12 22:42:33 -04:00
Tom Rothamel d632889a84 Move the version of the tutorial main menu. 2017-10-12 20:58:38 -04:00
Tom Rothamel 2504077bf3 Move the title of The Question over on Android. 2017-10-12 20:45:14 -04:00
Tom Rothamel d55f6fff1f Fix error message.
See https://lemmasoft.renai.us/forums/viewtopic.php?p=466791#p466791
2017-10-12 01:15:51 -04:00
Tom Rothamel cf28ad0090 Update the sponsor list. 2017-10-11 21:11:02 -04:00
Tom Rothamel 0b6a7b3b07 Update credits. 2017-10-11 02:10:48 -04:00
Tom Rothamel 07b8ba1dfc Bump context version.
Fixes loading old savegames.
2017-10-10 00:53:35 -04:00
Tom Rothamel 793d16fd9d Document projects.txt in the changelog. 2017-10-09 22:45:14 -04:00
Tom Rothamel 77ee0211f4 Ensure the log initalizes correctly on Android. 2017-10-09 22:44:24 -04:00
Tom Rothamel 99447d5dd6 Include the raspi renpy executable when distributing Ren'Py.
Fixes #1272.
2017-10-09 22:42:35 -04:00
Tom Rothamel ee3088ab87 Track the currently playing movie as part of the context.
Fixes #1268.
2017-10-09 00:38:43 -04:00
Tom Rothamel 447cebeaca Only attempt to load a persistent file that exists.
This prevents a can't load traceback on initial start.
2017-10-08 12:55:44 -04:00
Tom Rothamel 332cc9fb7b Log errors loading the persistent file to log.txt. 2017-10-08 12:44:15 -04:00
Tom Rothamel bf54c9dffe Save RevertableSet in a compatible fashion.
Specifically, compatible with the way it was saved in 6.99.12.4 and
earlier. Since sets are one of the types that's allowed in the
persistent file, this ensures that a persistent file from a new
version of Ren'Py is loadable in an old version.
2017-10-08 12:39:46 -04:00
Tom Rothamel 2413b53f9a Projects.txt changes.
* Look in more places for the projects.txt files. (Like the Ren'Py base.)
* Do not open projects.txt if it does not exist.

See #1271 for discussion of this feature.
2017-10-08 12:37:58 -04:00
Tom Rothamel eaa5c8e167 Merge pull request #1271 from ianLeslie2/featureSpecifyProjectDir
Added feature to renpy launcher allowing you to specify additional di…
2017-10-08 11:40:43 -04:00
theCodeCat 05687df3e0 Reworked extra-directories feature:
- the .txt now needs to be called "projects.txt" instead of "projectPaths.txt"
- the file reading process uses a 'with' statement instead of manually closing
- the naming of variables has been changed to be more in line with the rest of the renpy code
- the behaviour has been changed so that project folders have to be specified directly, instead of specifying the folder one level above it

Since the folder is now specified directly, the "scan_directory" function is no longer sufficient.
To avoid duplicate code, I've created a new function called 'scan_directory_direct' that only checks for a project in the directly specified directory,
and refactored the 'scan_directory' function to call 'scan_directory_direct'.
The code for 'scan_directory_direct' was pretty much just copy-pasted from 'scan_directory', so the behaviour hasn't changed.
2017-10-08 00:49:18 -07:00
Tom Rothamel f3f4d4a139 Merge pull request #1270 from ianLeslie2/directoryBuildFix
Fixed issue with Directory build option.
2017-10-07 23:43:16 -04:00
Tom Rothamel 67096bc1b7 id: Preserve the show statement if Ren'Py cant find the attributes.
Fixes #1267.
2017-10-07 23:41:37 -04:00
Tom Rothamel bc2b2ad154 Minor text changes. 2017-10-07 22:35:35 -04:00
theCodeCat 1762bbddce Added feature to renpy launcher allowing you to specify additional directories that Renpy should scan for projects.
These directories are specified in a file called "projectsPaths.txt" that is placed in the main projects directory.
2017-10-07 18:38:13 -07:00
Tom Rothamel a817a3d78e check_image_attributes accepts the attributes of a defined image. 2017-10-07 15:47:29 -04:00
Tom Rothamel 74d596bf76 scriptedit: Compile is no longer required. 2017-10-07 15:44:33 -04:00
Tom Rothamel 37e8272a02 Increase the director zorder.
So it's above user screens.
2017-10-07 00:39:57 -04:00
Tom Rothamel 4faee5feba Defer parsing the contents of files until needed.
This makes reloading the game while the director is enabled
much much faster.
2017-10-07 00:35:24 -04:00
Tom Rothamel eb24220a88 Fix the ShowTransient documentation. 2017-10-06 22:50:13 -04:00
Tom Rothamel c52de0a72e Remove debug print. 2017-10-06 00:57:24 -04:00
Tom Rothamel 8f836d996d Allow the Call action to take arguments. 2017-10-06 00:50:49 -04:00
Tom Rothamel 286705a21f Treat from_current as a positional-only argment to renpy.call.
This fixes a problem that occured when renpy.call was used to
pass arguments to a label.
2017-10-06 00:42:52 -04:00
Tom Rothamel 3c03950092 Add config.profile_reload.
Mostly for my own use, this gives me information about how long
reloading the game takes.
2017-10-05 17:43:40 -04:00
Tom Rothamel aae9522e9f Merge pull request #1266 from zedraxlo/patch-2
Schinese update.
2017-10-05 12:48:33 -04:00
zedraxlo d54c34ced1 Update launcher.rpy 2017-10-05 14:52:44 +08:00
zedraxlo 0450df707a Update launcher.rpy 2017-10-05 14:35:08 +08:00
zedraxlo 1740f791b1 Update developer.rpy 2017-10-05 14:29:52 +08:00
zedraxlo 5bf8d45516 Update error.rpy 2017-10-05 14:25:42 +08:00
Tom Rothamel 16b5c61639 Update and fix changelog. 2017-10-05 00:48:23 -04:00
Tom Rothamel c8dab118f7 Prevent long-running processes from causing an infinite loop warning. 2017-10-05 00:05:57 -04:00
Tom Rothamel e134f93588 Update the spanish translation.
Per the comment in #1255.
2017-10-04 17:06:32 -04:00
Tom Rothamel 7b9ed3613d Merge pull request #1264 from Ria-kon/master
Update russian launcher
2017-10-04 17:03:10 -04:00
Tom Rothamel f1c821de21 Merge pull request #1263 from zedraxlo/patch-1
Schinese update for launcher.
2017-10-04 17:01:42 -04:00
Ria-kon 46fe80c4c7 Update russian launcher 2017-10-04 17:51:21 +03:00
zedraxlo a8f419e910 Update options.rpy 2017-10-04 16:16:53 +08:00
zedraxlo 96300c844e Update script.rpym 2017-10-04 15:27:52 +08:00
zedraxlo 3da04864ac Update script.rpym
public translation files should not contain the command which translator using when they developing a game.
2017-10-04 15:25:54 +08:00
zedraxlo 0bffd3ba5e Update launcher.rpy 2017-10-04 15:13:20 +08:00
zedraxlo 1eff0b3fca Update error.rpy 2017-10-04 14:59:15 +08:00
zedraxlo 9359e97516 Update common.rpy 2017-10-04 14:55:57 +08:00
zedraxlo 70710f2dd1 Update obsolete.rpy 2017-10-04 14:43:16 +08:00
zedraxlo 83d52c3e86 Update launcher.rpy 2017-10-04 14:42:36 +08:00
zedraxlo 0faac90498 Update common.rpy 2017-10-04 14:31:30 +08:00
zedraxlo 15b8067cf8 Update error.rpy 2017-10-04 14:29:28 +08:00
zedraxlo 859790edcf Update launcher.rpy 2017-10-04 14:16:44 +08:00
zedraxlo dcf56027a7 Update common.rpy 2017-10-04 13:04:37 +08:00
zedraxlo 8f22e5205a Update developer.rpy 2017-10-04 13:00:44 +08:00
zedraxlo 2ce614c44a Update developer.rpy 2017-10-04 12:23:47 +08:00
zedraxlo aab2a5203f Update developer.rpy 2017-10-04 12:23:07 +08:00
zedraxlo 6c5d0e9861 Update common.rpy 2017-10-04 11:59:17 +08:00
zedraxlo 52091f50d3 Update common.rpy 2017-10-04 11:50:24 +08:00
zedraxlo 1e9627e96a Update common.rpy 2017-10-04 11:40:02 +08:00
Tom Rothamel 7319edc96f id: Check that we can add before a line before offering an add.
Fixes #1261.
2017-10-03 22:41:03 -04:00
Tom Rothamel 768c82a5e7 Check to see if we're running from a read only mac dmg. 2017-10-01 22:54:53 -04:00
Tom Rothamel d241c723ae Remove use of genderize.io.
It's down at the moment, when it's up it seems to use https, and when
it's up it's still trying to guess gender from name, which is fraught
with peril.
2017-10-01 10:50:40 -04:00
Tom Rothamel 98b30ba76f Report the error when saving a screenshot fails. 2017-09-30 16:08:21 -04:00
Tom Rothamel 4941d7dcd9 Allow pygame_sdl2 to encode the image save filenames. 2017-09-30 12:58:57 -04:00
Tom Rothamel be9f345529 Expand the clip rectangle by a small amount.
This prevents a numerical stability issue. The clipping rectangle
and the draw rectangle can be the same, but computed in different
ways. This means the clip test can reject a pixel that should be
drawn. Very small offsets prevent this case.

This fixes the symptom of 1px lines appearing in tiled frames.
2017-09-30 01:07:54 -04:00
Tom Rothamel fc0c6556df Update piglatin translation. 2017-09-29 18:50:16 -04:00
Tom Rothamel dc62e7107d Merge pull request #1258 from Ria-kon/master
Update russian to prerelease
2017-09-29 18:41:12 -04:00
Ria-kon e299ca4885 Updating tutorial 2017-09-29 16:47:49 +03:00
Ria-kon 63241161ad Updating launcher 2017-09-29 16:46:52 +03:00
Tom Rothamel 439d760a30 Avoid showing an empty window over the choose renderer screen. 2017-09-28 22:49:04 -04:00
Tom Rothamel b685638090 Create RTT surfaces in a mode that supports NPOT.
Fixes #1252.
2017-09-28 22:36:39 -04:00
Tom Rothamel 42651ecb73 Check in updated 7z.sfx. 2017-09-28 01:17:26 -04:00
Tom Rothamel 67f5b0b53d Deal with the x/ymaximum of a window being a float. 2017-09-28 00:48:34 -04:00
Tom Rothamel 235fe487fd testcases: Tutorial testcases and minor fixes. 2017-09-27 23:46:24 -04:00
Tom Rothamel 5b22577c5d Include the location in an if clause. 2017-09-27 22:49:56 -04:00
Tom Rothamel 60fc2fd611 More testcases and test fixes. 2017-09-27 02:52:24 -04:00
Tom Rothamel 3be2c0302a Scroll the entire length of a viewport. 2017-09-27 02:51:30 -04:00
Tom Rothamel 9ee6ea07bf t7: Replace the eileen flip image with atl.
Fix a ghost.
2017-09-27 01:38:48 -04:00
Tom Rothamel f9632c2bb0 test: More testcases. 2017-09-27 01:28:28 -04:00
Tom Rothamel 6bffc516ea test: Click through decorative transitions.
A quality of life improvement that allows the testing to proceed
faster.
2017-09-27 01:18:56 -04:00
Tom Rothamel eff3facac4 test: Support a scroll command.
This scrolls a bar, until something of interest comes into
view.
2017-09-27 01:14:55 -04:00
Tom Rothamel e2ba0bc391 Add location information to testcase AST nodes. 2017-09-27 00:01:23 -04:00
Tom Rothamel 28d022ab2c Start adding testcases. 2017-09-26 22:59:55 -04:00
Tom Rothamel 404ee250cf Print out test language calls. 2017-09-26 22:58:19 -04:00
Tom Rothamel f82ce3d23a Fix case of tutorial menu option. 2017-09-26 22:57:25 -04:00
Tom Rothamel 56b0cd72eb Fix the mix of outline, underline, and strikethrough. 2017-09-25 22:11:07 -04:00
Tom Rothamel 8b766aa1c4 t7 minigame: Avoid beeping before the ball is released. 2017-09-24 13:50:56 -04:00
Tom Rothamel 38f4f83e05 t7 minigame: Remove obsolete displayables. 2017-09-24 13:47:01 -04:00
Tom Rothamel 5af2e36c58 t7 minigame: Swap names. 2017-09-24 13:40:06 -04:00
Tom Rothamel b4b46a82f1 Remove credits.rst generation. 2017-09-23 11:08:11 -04:00
Tom Rothamel ecf8023085 Restore sphinx Makefile. 2017-09-23 11:04:49 -04:00
theCodeCat 8627103f21 Fixed issue with Directory build option.
Previously, as the files got added to the 'archive', if adding a file required more than one parent folder to be created then the build would fail.
2017-09-23 01:23:15 -07:00
Tom Rothamel 2077f68d14 ATL: Fix single-frame glitch.
We now only show single frames if the we're either at time 0, or
have updated the transform once. (So we don't do it if there's
not a state and the time is not 0.)

Fixes #1254.
2017-09-22 01:24:12 -04:00
Tom Rothamel 33e19de827 atl: Insure interpolators are always given an in-range argument.
Fixes #1253.
2017-09-21 22:44:45 -04:00
Tom Rothamel 2efd257a03 Update documentation. 2017-09-20 23:57:50 -04:00
Tom Rothamel 1c72e79fd9 Add renpy.add_python_directory function.
This provides a way of adding a subdirectory of the game directory
to the python path.
2017-09-20 22:46:46 -04:00
Tom Rothamel 5511d84451 More logging improvements.
* Print errors in opening the log file to stdout.
* Avoid duplicate stdout lines on ios.
* Set stderr/stdout redirect back up if sys is reloaded.
2017-09-20 00:24:29 -04:00
Tom Rothamel 062cccfee2 Fix logging on Android.
The platform.platform issue again.
2017-09-19 23:39:26 -04:00
Tom Rothamel afcf12147d Resolve how voice sustain should work with history.
Discussion on #1228, but relevant to #1251, #1248, and #1245.
2017-09-19 21:49:12 -04:00
Tom Rothamel 65dfcad511 Fix testcase. 2017-09-18 22:51:12 -04:00
Tom Rothamel d6c0102dfe Do not error out when a drag hasn't been placed yet.
Improves #1250.
2017-09-17 23:41:24 -04:00
Tom Rothamel e3129a81f0 Run the voice callback when fast skipping.
Fixes #1251.
2017-09-17 11:13:12 -04:00
Tom Rothamel 16c4fcfdf3 Do not include the filename in sustained dialogue.
Fixes #1228.
2017-09-17 01:07:44 -04:00
Tom Rothamel 39077c5935 Use the emulator to emulate the lack of focus_mask on android/ios. 2017-09-16 19:17:05 -04:00
Tom Rothamel b6e2ac6f58 Add a from_current parameter to renpy.call and Call.
This causes the call to return to the current statement, rather
than to the next statement, making it possible to (carefully)
create asides that can be called from arbitrary points in
the game.
2017-09-16 17:03:42 -04:00
Tom Rothamel 2469557269 Add a Call action. 2017-09-16 15:45:15 -04:00
Tom Rothamel e4a6532c83 Improve the DynamicDisplayable example.
The last one wasn't very good, since it replaces the far better
Tooltip class.
2017-09-16 14:15:22 -04:00
Tom Rothamel 32abb85d93 Deal with init: return.
Previously,

    init:
        return

would lead to return stack corruption that would often be reported
far away from where the problem occured.
2017-09-15 22:40:58 -04:00
Tom Rothamel e5da2bdcb2 Reset a layer transform when first shown.
Made optional by a parameter to the show_layer_at function.

Per the comments on #1225.
2017-09-15 19:53:47 -04:00
Tom Rothamel 39c3b711df textwrap: Properly handle first and rest indent.
This fixes a problem where indents could cause text to be
rendered too wide.
2017-09-15 00:41:39 -04:00
Tom Rothamel edc0673991 Replace a poorly-attested Gagarin quote.
With a much better attested one, and a well attested one from
Teddy Roosevelt.
2017-09-14 18:46:57 -04:00
Tom Rothamel 4b6fff619d Update the credits and sponsors lists. 2017-09-14 00:32:23 -04:00
Tom Rothamel 5d63bce9c9 Remove the credit_items system.
Now that we're taking credits directly.
2017-09-14 00:29:14 -04:00
Tom Rothamel 24d529f440 Transform the render width and height when checking subsurface clipping.
Fixes #1247.
2017-09-13 18:14:48 -04:00
Tom Rothamel 51f70fb6e9 NPOT fix and improvements.
NPOT was rewritten to accept the maximum size texture to use
from the rest of Ren'Py. This ensures that we do not go past
the edge of the screen when doing a copy RTT, something that
causes the texture to be cut off.

As part of this allowed Ren'Py to do a screen-sized RTT
(as is done for Dissolve) in a single operation, by
removing the 1px border that had been present
around textures. This required us to enable GL_CLAMP_TO_EDGE
to effectively provide these borders.

Fixes #1249.
2017-09-12 22:51:47 -04:00
Tom Rothamel 458013cf4d Alphabetize and changelog preference variables. 2017-09-12 01:01:37 -04:00
Tom Rothamel 6926ddb7a9 Add a preference variable page to the documentation. 2017-09-12 00:55:35 -04:00
Tom Rothamel 5d2d4048b2 Fix the voice sustain preference.
Fixes #1248.
2017-09-11 22:40:02 -04:00
Tom Rothamel 26f7b9b584 Remove renpy.layer_at_list from the documentation.
It's a deprecated alternate name for renpy.show_layer_at.
2017-09-11 18:12:14 -04:00
Tom Rothamel 7192b8c9a7 Document show layer at changes. 2017-09-11 18:11:27 -04:00
Tom Rothamel 193a3575bc Compat show layer and atl one frame changes. 2017-09-11 17:56:11 -04:00
Tom Rothamel c068c31049 Set config.script_version for 6.99.12.4 games missing script_version.txt. 2017-09-11 17:55:42 -04:00
Tom Rothamel b54b8c3581 Copy over the layer transforms when creating a new SceneList. 2017-09-11 17:29:16 -04:00
Tom Rothamel 9e98fdbf8b Persist the state of the show layer transform through interactions.
This fixes the issue with show layer at resetting described in #1225.
2017-09-11 17:08:30 -04:00
Tom Rothamel 41d44c7190 Actually use NPOT.
The test to actually engage NPOT was faulty.
2017-09-10 11:22:21 -04:00
Tom Rothamel eafbd2b06f Keep track of the texture generation by texture number.
It seems like resizing the screen can reset glGenTexures, leading
to the scenario where a texture number is allocated twice. By
keeping a map from texture number to texture, we can check
to make sure the generation associated with the texture
matches that associated with the texture number, and prevent
double-deallocation problems.

Fixes #1246.
2017-09-10 11:04:26 -04:00
Tom Rothamel b91edc455b Add Ren'Py contributors to the credits. 2017-09-10 01:26:55 -04:00
Tom Rothamel c929b0ea2e Check in documentation. 2017-09-09 23:17:06 -04:00
Tom Rothamel 21d0fb1f03 Add sponsor list to documentation. 2017-09-09 23:16:47 -04:00
Tom Rothamel 896d6aa277 Do not re-play a sustained voice.
Fixes #1245.
2017-09-09 17:21:05 -04:00
Tom Rothamel 1db71d026c t7: Remove the __ translation marker. 2017-09-08 22:26:13 -04:00
Tom Rothamel a18c027bf5 Remove unnecessary translation. 2017-09-08 22:15:28 -04:00
Tom Rothamel 379ac420c3 Prevent crashing when interpolating non-string variables. 2017-09-08 22:14:54 -04:00
Tom Rothamel 51af0b5774 Only reset atl_st_offset when starting a hide.
Fixes #1243.
2017-09-07 22:20:53 -04:00
Tom Rothamel 1435da0701 Merge pull request #1244 from Ria-kon/master
Translation update for custom resolution and russian
2017-09-07 16:56:01 -04:00
Ria-kon d4938b580a And some more update 2017-09-07 11:20:57 +03:00
Ria-kon 41d616e5a0 Make custom aspect ratio translatable 2017-09-07 11:20:08 +03:00
Tom Rothamel fa18a14952 Update python docs and examples. 2017-09-06 23:08:21 -04:00
Tom Rothamel 9ee3b1883b Merge pull request #1239 from pratomoastan/patch-6
Updated Indonesian Translation screens.rpy#13.2717
2017-09-06 22:41:42 -04:00
Tom Rothamel 7fe1cbcb60 Merge pull request #1238 from pratomoastan/patch-5
Updated Indonesian Translationsoptions.rpy#13.2717
2017-09-06 22:37:26 -04:00
Tom Rothamel 4d03741bcb Merge pull request #1237 from pratomoastan/patch-4
Updated Indonesian Translationlauncher.rpy#13.2717
2017-09-06 22:36:44 -04:00
Tom Rothamel c9cd485398 Merge pull request #1236 from pratomoastan/patch-3
Updated Indonesian Translation gui.rpy #13.2717
2017-09-06 22:36:08 -04:00
Tom Rothamel 34e4253acc Merge pull request #1235 from pratomoastan/patch-2
Updated Indonesian Translation error.rpy #13.2717
2017-09-06 22:35:58 -04:00
Tom Rothamel 0b387485a6 Merge pull request #1234 from pratomoastan/patch-1
Updated Indonesian Translation common.rpy #13.2717
2017-09-06 22:35:50 -04:00
Tom Rothamel 3f5eb24287 Quote special characters as necessary to produced TDF.
Fixes #1240.
2017-09-06 19:23:05 -04:00
Pratomo Asta N 07c4f53f67 Update screens.rpy 2017-09-06 23:00:07 +07:00
Pratomo Asta N 78acbf68ac Update screens.rpy 2017-09-06 22:48:19 +07:00
Pratomo Asta N 4a909fb1f2 Updated Indonesian Translation screens.rpy#13.2717
Translation Now In Sync With The Latest Nightly Version
6.99.13.2717 , #TODO Tag removed , Translated All New Strings
2017-09-06 22:44:54 +07:00
Pratomo Asta N 34faf390d5 Updated Indonesian Translationsoptions.rpy#13.2717
Translation Now In Sync With The Latest Nightly Version
6.99.13.2717 , #TODO Tag removed , Translated All New Strings
2017-09-06 22:42:18 +07:00
Pratomo Asta N 22ec89f208 Updated Indonesian Translationlauncher.rpy#13.2717
Translation Now In Sync With The Latest Nightly Version
6.99.13.2717 , #TODO Tag removed , Translated All New Strings
2017-09-06 22:40:56 +07:00
Pratomo Asta N 53fedcbfa6 Updated Indonesian Translation gui.rpy #13.2717
Translation Now In Sync With The Latest Nightly Version
6.99.13.2717 , #TODO Tag removed , Translated All New Strings
2017-09-06 22:38:50 +07:00
Pratomo Asta N 6f37585549 Updated Indonesian Translation error.rpy #13.2717
Translation Now In Sync With The Latest Nightly Version
6.99.13.2717 , #TODO Tag removed , Translated All New Strings
2017-09-06 22:37:27 +07:00
Pratomo Asta N 342afec44e Updated Indonesian Translation common.rpy #13.2717
Translation Now In Sync With The Latest Nightly Version
6.99.13.2717 , #TODO Tag removed , Translated All New Strings
2017-09-06 22:34:48 +07:00
Tom Rothamel 58ce759f1e Handle a say statement triggering a jump or call.
Also fixes roll forward.
2017-09-06 00:48:24 -04:00
Tom Rothamel e507cf4df2 Prevent pop_nvl_list from being called on rollback/jump. 2017-09-05 22:55:19 -04:00
Tom Rothamel 7eb18c189b Document say-with-arguments? 2017-09-05 22:34:02 -04:00
Tom Rothamel cfda38f7d5 Remove test error. 2017-09-04 21:57:15 -04:00
Tom Rothamel f808de82d5 Document the build packages and itch support. 2017-09-04 20:54:34 -04:00
Tom Rothamel d3980ce7e0 Classify arm linux files as linux. 2017-09-04 20:21:37 -04:00
Tom Rothamel 036aea490b Update the list of platforms to send to itch.
Itch and butler now support tar.bz2 and apk, and also support
automatically flagging platform support. So we now work to get
this right.
2017-09-04 20:15:47 -04:00
Tom Rothamel 75e4d03b6b Rename the steam build to the market build.
It should work just as well on itch.
2017-09-04 18:01:48 -04:00
Tom Rothamel b5249bd9e2 Improve how clipping and subsurface work.
There are two improvements here. The first is that it's now
possible for a render to specify clipping in the x axis, y axis,
or both.

The second is that when taking a subsurface, Ren'Py will not clip
surfaces that fit entirely inside the clipping rectange.

This should completely fix the cut-off text issue from #1113.
2017-09-04 12:26:40 -04:00
Tom Rothamel 4182a11853 Remove the word "code" from a few more places. 2017-09-03 19:53:51 -04:00
Tom Rothamel 13b1ff8fa4 Apply the correct scaling to the error handling screen. 2017-09-03 12:05:06 -04:00
Tom Rothamel b56772e148 Clear atl_st_offset when hiding a transform.
This is a better fix for #1181, since it's only hides that would
change the shown time base.
2017-09-02 22:45:26 -04:00
Tom Rothamel c333ab03e3 Fix documentation error. 2017-09-02 19:55:54 -04:00
Tom Rothamel 73156eaf38 Revert "Do not take atl_st_offset as part of transform state."
This reverts commit 910f00211f.
2017-09-02 19:37:04 -04:00
Tom Rothamel e0b946d9af gui: Ignore gui.text_xalign.
This will set the xalign property on default, which will almost
cerainly cause a ton of problems.

Fixes #1171. Probably.
2017-09-01 21:26:45 -04:00
Tom Rothamel 910f00211f Do not take atl_st_offset as part of transform state.
This causes a problem that atl_st_state could be too high, causing
errors. It also should not be necessary, as st should be set or
reset when the transform is first shown.

Fixes #1181.
2017-09-01 20:53:17 -04:00
Tom Rothamel 08e3c238bd Remove unnecessary change that was breaking transforms. 2017-09-01 01:46:00 -04:00
Tom Rothamel 2eb471c447 Fix translations, boms, and line endings. 2017-09-01 01:44:08 -04:00
Tom Rothamel 1ceeff4d7a Update the fix_translations script. 2017-09-01 01:43:16 -04:00
Tom Rothamel 8bcbaafd8f gui7: Normalize the generated script.rpy.
Specifically, it gets the BOM and \r\n line endings added to it
automatically.

Fixes #1214.
2017-09-01 01:36:12 -04:00
Tom Rothamel f486d5b0e4 Fix issue with nested ATL transform event propagation.
ATL Transforms clear the transform event after it's been
processed. The way Ren'Py handling this, clearing the event
in the child transform would cause a None event to propagate
to the parent.

This fixes the issue, which was reported to me privately in:
https://lemmasoft.renai.us/forums/ucp.php?i=pm&mode=view&f=0&p=260161
2017-08-31 23:04:42 -04:00
Tom Rothamel c94d223b05 Store sustained voice.
Fixes #1228.
2017-08-31 01:23:36 -04:00
Tom Rothamel c13985e6a4 Auto-define images ending in .jpeg.
And make it clear we support .jpg and .jpeg. Fixes #1232.
2017-08-30 18:24:09 -04:00
Tom Rothamel cad60f522b say-with-attributes: Doc. 2017-08-30 01:55:08 -04:00
Tom Rothamel 467d53bb88 say-with-arguments: renpy.config.say_arguments_callback
This is a callback that processes the say arguments before
they are dispatched to characters an other functions.
2017-08-29 22:59:05 -04:00
Tom Rothamel f0c0b55b6b say-with-arguments: Pass arguments through the say function. 2017-08-29 03:01:07 -04:00
Tom Rothamel 548028f5b5 Character changes.
* When a character has the advance=False argument, it will not add
  the saybehavior. This will cause it to wait until a hyperlink
  is clicked.

* When control leaves a character, cleanup code is called. This is
  true for all kinds of cleanup, even on abornormal exits (like
  a hyper-link jump.)
2017-08-29 02:50:54 -04:00
Tom Rothamel 2caf75b366 say-with-arguments: Extend should re-supply arguments. 2017-08-29 02:23:02 -04:00
Tom Rothamel 1f714f5816 say-with-arguments: Pass through to Character.
After this commit, the statment.

  e "Hello World" (what_color="#0f0")

is equivalent to:

  e("Hello World, interact=True, what_color="#0f0")

and with the default implementation of Character/ADVCharacter,

  Character(kind=e, what_color="#0f0")("Hello, World.", interact=True)
2017-08-29 02:04:11 -04:00
Tom Rothamel bdfc9b8f01 say-with-arguments: Parse. 2017-08-29 01:55:24 -04:00
Tom Rothamel a0e218c07d Fix the type of the self-voicing preference. 2017-08-28 21:40:21 -04:00
Tom Rothamel 8e7ffd15a4 Let the game_menu screen take a yinitial parameter.
This lets us pick on a screen by screen basis where the scrolling
starts.
2017-08-28 21:32:38 -04:00
Tom Rothamel b9830f9f63 Shrink the error handling scaling if the width is narrow. 2017-08-27 20:37:34 -04:00
Tom Rothamel c6f8a5d07a Edit language description.
Nice try, comrades.
2017-08-27 20:02:47 -04:00
Tom Rothamel 3fe47e8a4a Allow custom game resolutions. 2017-08-27 19:53:51 -04:00
Tom Rothamel ef2a1ddfcc Merge pull request #1230 from Ria-kon/master
Updating russian translation
2017-08-27 19:19:10 -04:00
Ria-kon d3a3eff724 Russian launcher 2017-08-27 12:05:16 +03:00
Ria-kon da12306077 Updating russian tutorial translation 2017-08-27 12:04:09 +03:00
Ria-kon 43cca19789 Updating russian launcher translationg 2017-08-27 11:59:04 +03:00
Ria-kon 43ba26d7ab Updating russian tutorial 2017-08-27 11:54:05 +03:00
Ria-kon 3c1bb2eea2 Solving ambiguity
So, you can't break line with \" and \'
2017-08-27 11:52:35 +03:00
Ria-kon c1628f1fee Russian credits 2017-08-27 11:49:34 +03:00
Tom Rothamel fa05614341 Add config.hyperlink_sensitive.
This makes it possible to define functions that determine if
hyperlinks are sensitive or not.
2017-08-26 16:16:23 -04:00
Tom Rothamel 656a1444b4 Consume do-nothing hyperlink clicks. 2017-08-25 23:35:08 -04:00
Tom Rothamel 139b88329b Document and changelog the new hyperlink functionality. 2017-08-25 23:02:02 -04:00
Tom Rothamel 6a3aad948f ATL pause 0 now displays for a single frame. 2017-08-24 23:21:13 -04:00
Tom Rothamel 251deaf7ea Fix various documentation problems. 2017-08-24 23:11:35 -04:00
Tom Rothamel 8b429d63ca Document _p. 2017-08-24 19:20:56 -04:00
Tom Rothamel 6f6a4e0b03 Improve the _p function.
* Analyze _p properly.
* Do not add a space after {p}.
2017-08-23 22:41:38 -04:00
Tom Rothamel d3bc966b91 Add the _p function. 2017-08-23 02:28:43 -04:00
Tom Rothamel b6c6de1509 Allow translate string to take functions. 2017-08-23 02:28:17 -04:00
Tom Rothamel ac5b740c90 Avoid double-translating files in the tl/ directory. 2017-08-22 23:22:04 -04:00
Tom Rothamel c03bdcf273 Add a registry of new hyperlink protocols.
This let us add two new protocols, show and showmenu, and allows
creators to add more.
2017-08-22 23:12:34 -04:00
Tom Rothamel 787a7a1f2b Fix problems deallocating textures.
It looks like in the NPOT case, we could have gotten the following
sequence of events:

- Deallocate all textures, but still have old texture objects.
- Create a new texture (with the same number).
- The old texture object is GCed.
- The new texture is deleted, causing rendering errors.

This avoids the deallocation, and hence lets opengl ensure that
texture numbers are unique.
2017-08-22 21:22:50 -04:00
Tom Rothamel 95677e45ac Merge pull request #1063 from gtsalles/master
translate help page from spanish to portuguese
2017-08-22 02:15:42 -04:00
Tom Rothamel ad7172f071 Do not allow operators in say name expressions.
This is because we need to parse:

    e -attribute "Hello, world."

And can't do that if we parse (e-attribute) as one thing.
2017-08-21 21:57:07 -04:00
Tom Rothamel 5f250abd42 launcher: Finish generating a gui7 game.
We had been returning to the front page after generating
translations.
2017-08-20 20:57:21 -04:00
Tom Rothamel 1f498a17b6 Fix bad method name. (Thanks, Arowana.) 2017-08-20 00:34:06 -04:00
Tom Rothamel 442235cfb4 Set renpy.platform on android, iOS, and error conditions. 2017-08-19 20:37:03 -04:00
Tom Rothamel 596183f4a1 Do not reimport pygame.
Fixes a crash, though I'm not sure why this crash is happening. Also
a warning.
2017-08-19 20:37:03 -04:00
Tom Rothamel 78482e4a03 Preserve redirections when reloading sys. 2017-08-19 20:37:03 -04:00
Tom Rothamel b9460b7564 Merge pull request #1211 from vollschauer/master
Add config.intra_transition to options.rpy and update docs
2017-08-19 01:20:12 -04:00
Tom Rothamel 05fb5e31a8 memred: Free NPOT textures.
Yeah. Since we weren't doing that before.
2017-08-18 21:19:32 -04:00
Tom Rothamel 182caf80d9 memred: Texture size toggle buttons. 2017-08-18 02:06:15 -04:00
Tom Rothamel 9bad9c41ac memred: Display the number of textures. 2017-08-17 22:59:10 -04:00
Tom Rothamel a8b9373aa5 Reset the caches on resolution change.
This gets rid of all of the textures that are invalid, preventing
display errors caused by said invalid textures.
2017-08-16 22:56:37 -04:00
Tom Rothamel 6f80a0803e Changelog parsing performance improvements. 2017-08-16 01:25:45 -04:00
Tom Rothamel 29780373e3 Document and compat config.nw_voice. 2017-08-15 22:41:19 -04:00
Tom Rothamel 03e332bf82 Make the nw text tag delay until voice has finished. 2017-08-14 23:49:31 -04:00
Tom Rothamel f1ac19d884 director: Remove test code. 2017-08-14 00:58:59 -04:00
Tom Rothamel 1b550602b8 director: Move to absolute sizing.
The window might get bigger or smaller, but that doesn't mean the text has to.
2017-08-14 00:58:12 -04:00
Tom Rothamel 8b05828654 id: Fix layout. 2017-08-14 00:54:47 -04:00
Tom Rothamel a30e472fad t7: Use a hyperlink to remove some ambiguity. 2017-08-13 20:43:59 -04:00
Tom Rothamel 9568b37001 Add config.hyperlink_protocol. 2017-08-13 20:39:06 -04:00
Tom Rothamel cf51fbf9ce Add jumps and calls to hyperlinks. 2017-08-13 02:14:31 -04:00
Tom Rothamel e7b7230f4f Add a TRANSLATORS file.
Finally keeping in contact with people responsible for each
translation.
2017-08-12 22:40:07 -04:00
Tom Rothamel a32a9daaf7 t7: More translation-related fixes. 2017-08-12 22:36:48 -04:00
Tom Rothamel 94c03a77e1 t7: Properly translate strings containing text tags.
Fixes most of the problems in #1222.
2017-08-12 22:35:35 -04:00
Tom Rothamel f2a6109343 Merge pull request #1222 from Ria-kon/master
Updating russian translation and some more notes.
2017-08-12 21:30:27 -04:00
Tom Rothamel ebeef15ba8 Merge pull request #1223 from nyaatrap/master
update Japanese translation
2017-08-12 20:57:14 -04:00
Tom Rothamel 6d51fbdd61 Fix typo. 2017-08-12 02:18:24 -04:00
Tom Rothamel c28c422c7c memred: Implement npot preference. 2017-08-12 02:15:26 -04:00
Tom Rothamel a206b5315b memred: Add a preference that controls GL NPOT. 2017-08-11 19:33:09 -04:00
Tom Rothamel 9b82969645 memred: NPOT textures.
The idea is that by allowing textures of any size, we can reduce memory
usage by not having to allocate many small textures. (This should also
improve performance and reduce overhead everywhere.)
2017-08-10 23:59:43 -04:00
Tom Rothamel 0dc56f1e92 memred: Increase the max GL texture size to 2048.
This will allow us to create single large NPOT textures.
2017-08-10 23:53:57 -04:00
Tom Rothamel d40d921e02 memred: Add an environment variable to enable modern GL mode. 2017-08-09 23:04:57 -04:00
Tom Rothamel 0fbb71431e memred: Start work on implementing gl_npot. 2017-08-09 22:58:24 -04:00
Tom Rothamel fa20e99ede memred: Add config.cache_surfaces.
Setting this to False tosses surfaces as soon as a texture is
created. This slows down image manipulators (which are getting
fairly obsolete), but should reduce memory usage.
2017-08-09 01:29:15 -04:00
Tom Rothamel 766cf704b8 memred: Move texture conversion into cache.get. 2017-08-08 21:44:02 -04:00
Tom Rothamel 8676273698 Document gui.textbox_height. 2017-08-07 23:08:47 -04:00
Tom Rothamel b823ac8a03 More doc changes. 2017-08-07 22:34:57 -04:00
Tom Rothamel 04b4c57d78 Update docs. 2017-08-07 22:31:39 -04:00
Tom Rothamel 00978380d5 Document xspacing and yspacing.
Fixes #1220.
2017-08-06 23:15:24 -04:00
Tom Rothamel 0a94e2c09c Vpgrid respects xspacing and yspacing. 2017-08-06 20:53:45 -04:00
Tom Rothamel ae12b0d09e Add the xspacing and yspacing style properties to grid.
This lets the creator change the spacing on each access independently.
2017-08-06 20:43:17 -04:00
Tom Rothamel c2e08b49f9 launcher: Fix tmp directory writability test. 2017-08-05 20:44:23 -04:00
Tom Rothamel 7d5e74b55e Do not include path to source file in hashes.
The path doesn't matter, as long as the name and contents are the
same. By not  including the path, w ensure the hash doesn't change,
speeding up builds.
2017-08-05 20:34:48 -04:00
Tom Rothamel 4985aaac26 Use zip command to zip SDK.
The python zlib module has a global lock, which means it can only
compress a single zipfile at once. When building the SDK, we now
use the zip program, which can be run multiple times in parallel.
2017-08-05 20:06:42 -04:00
Tom Rothamel b9939baec8 Build Ren'Py in parallel. 2017-08-05 19:37:55 -04:00
Tom Rothamel 492b3c09b6 Include a profiler with Ren'Py. 2017-08-05 19:37:20 -04:00
nyaatraps f6322881f8 update Japanese translation 2017-08-05 19:49:35 +09:00
Tom Rothamel 7c9b69ae75 Change packaging and document raspi. 2017-08-04 21:52:13 -04:00
Ria-kon 5b5c4d94b6 Update to russian tutorial 2017-08-04 19:44:13 +03:00
Ria-kon 158c17f653 Updating launcher to russian 2017-08-04 19:41:06 +03:00
Tom Rothamel 10d8403f14 Distribute Raspberry Pi files. 2017-08-03 23:17:35 -04:00
Tom Rothamel 86ddf62132 Do not copy screens.rpy from the new tutorial to the English template.
This is obsolete.
2017-08-03 23:03:35 -04:00
Tom Rothamel 5088aa9e41 More of the changelog. 2017-08-02 22:43:34 -04:00
Tom Rothamel becee77162 Start updating changelog. 2017-08-02 00:47:06 -04:00
Tom Rothamel f13469d07a Sort Pig Latin after natural languages.
Since it's kind if weird to be scrolling through the list of languages,
and seeing the weird test language above what you speak.
2017-08-01 19:50:09 -04:00
Tom Rothamel 25f597f985 launcher: Use the right language name.
When creating a new project where everything but that language
has been translated.
2017-08-01 19:47:43 -04:00
Tom Rothamel 6309925924 Fix a problem with bad translated comments. 2017-07-31 23:46:19 -04:00
Tom Rothamel a46422130c launcher: Find the tutorial even if it's not in the projects directory. 2017-07-31 22:00:39 -04:00
Tom Rothamel 47113252a2 launcher: Remind the creator they can change language.
When creating a new project.
2017-07-31 21:54:29 -04:00
Tom Rothamel b192a9faf0 Fix console launch on Windows. 2017-07-31 00:15:24 -04:00
Tom Rothamel 17e2ed9272 t7: Expose Russian translation. 2017-07-30 21:10:30 -04:00
Tom Rothamel 303c4fa813 Address the fourth batch of issues.
https://github.com/renpy/renpy/pull/1183#issuecomment-317060849
2017-07-30 21:00:28 -04:00
Tom Rothamel 9e45dc5993 Address translations notes part 3.
Found at https://github.com/renpy/renpy/pull/1183#issuecomment-316947068
2017-07-30 20:23:46 -04:00
Tom Rothamel 3725de475e Merge branch 'master' into russian-new-tutorial 2017-07-30 17:58:38 -04:00
Tom Rothamel 061b69167a Fix invalidate.
It wouldn't kill parents, making it kinda useless.
2017-07-30 17:57:00 -04:00
Tom Rothamel f1f199f6e2 Tweak size of AlphaDissolve example. 2017-07-29 16:45:05 -04:00
Tom Rothamel 910bcc2c19 Merge pull request #1210 from morganwillcock/vpgrid-doc
vpgrid docs: some typo and formatting fixes, plus some rephrasing of grid terminology
2017-07-29 16:39:06 -04:00
Tom Rothamel 79cf6c2711 return -> jump front_page on various translation routines.
This fixes a problem where Ren'Py would restart, causing the path
to strings.json to change when Ren'Py itself is read-only.
2017-07-29 01:42:38 -04:00
Tom Rothamel 8adab64522 Update testcases for new gui. 2017-07-28 23:57:07 -04:00
Tom Rothamel da8029e687 Test Ren'Py in read-only mode. 2017-07-28 23:39:51 -04:00
Tom Rothamel 0c536eb98d t7: Take advantage of the previous translation. 2017-07-28 17:48:58 -04:00
Tom Rothamel 235368b3d1 Hide the !t from [variable!t].
This lets us translate the tutorial, and present code examples as
if we're not.
2017-07-28 17:47:22 -04:00
Tom Rothamel 4edc5fafb5 Save arguments when saving a screen, apply arguments when reloading.
Fixes #1157.
2017-07-27 22:37:18 -04:00
Tom Rothamel 5567cf5a33 Error handling improvements.
* Make the buttons visible in error handling configurable.
* Use the error handling screen in the launcher.
2017-07-27 01:19:54 -04:00
Tom Rothamel 7d84b85ce0 Add _ignore_action.
This is an action that's run when the player clicks Ignore on the
error handling screen.
2017-07-27 01:07:21 -04:00
Tom Rothamel 1258b9ef64 Flush stdout/stderr when printing to them. 2017-07-26 18:13:35 -04:00
Tom Rothamel f91dde9658 t7: Remove spurious formatting. 2017-07-26 01:08:38 -04:00
Tom Rothamel 7380ee7342 t7: Fix translation issues in the renpy.input section. 2017-07-26 01:00:47 -04:00
Tom Rothamel d293fc4946 Merge branch 'master' of https://github.com/Ria-kon/renpy into russian-new-tutorial 2017-07-26 00:04:57 -04:00
Tom Rothamel 201d8d9fcc Quote notify text.
This prevents a crash where a screenshot directory with a variable
substitution could cause Ren'Py to crash.
2017-07-25 21:35:19 -04:00
Tom Rothamel 960b4d7615 Clear nvl_list if the language changes.
A language change can mess with styles, fonts, and other settings,
so it probably makes sense to clear the NVL-list when it happens.
2017-07-24 23:09:53 -04:00
Tom Rothamel 0bcf690db1 Only record an NVL-mode line if it completes without an exception.
Fixes #1203, since an exception will occur when changing language.
2017-07-24 23:00:24 -04:00
Tom Rothamel d627abe34b Apply character_id_properties to NVL-mode. 2017-07-24 22:58:02 -04:00
Tom Rothamel 0d4f16d45a Update piglatin translations. 2017-07-23 19:46:44 -04:00
Tom Rothamel f30bcbfc1c director: Make translatable. 2017-07-23 19:45:12 -04:00
Tom Rothamel ad6ef591de Use a script to regenerate the piglatin translations. 2017-07-23 19:33:03 -04:00
Tom Rothamel 122ead1f16 Improve and document config.character_id_prefixes. 2017-07-23 03:03:00 -04:00
Tom Rothamel 9e87ebf186 Allow the character to take creator-defined property prefixes.
For example, we can set config.character_id_prefixes to include
"thingy", and then the Character property thingy_color would set
the color property on the widget with id thingy.
2017-07-22 23:43:00 -04:00
Tom Rothamel 25a8e805a3 Gallery fixes.
* Only unlocked_advance an image if we're on the right button.
* Check button and image are in range, give up if not.

Fixes #1179.
2017-07-22 15:17:05 -04:00
Ria-kon 0627fe579d And another update 2017-07-22 19:45:03 +03:00
Ria-kon a2789b85da double with "text text" 2017-07-22 19:35:03 +03:00
Ria-kon c9213c7644 and update for translation 2017-07-22 19:24:49 +03:00
Ria-kon 03cda1481f Fix for some basic notes
Right now fixed notes go alone with +++
2017-07-22 19:22:47 +03:00
Tom Rothamel 6124572dc3 Fix bad method call. 2017-07-21 23:35:44 -04:00
Ria-kon e7f18bb773 http to https and that's all for now 2017-07-21 22:12:09 +03:00
Ria-kon 3b241bcbf4 small fix
with this ".."
2017-07-21 22:06:38 +03:00
Ria-kon d910db55bc Latest launcher translation 2017-07-21 22:04:33 +03:00
Ria-kon 4f9d12377d Proofread done, start noting and check grammar
Notes in comments
2017-07-21 20:14:11 +03:00
Ria-kon e3a9d75669 3 files to proof and more notes 2017-07-21 11:58:29 +03:00
Tom Rothamel f4ed3251e9 Give more infinite loop time when not in developer mode.
Since the player can't do anything about the problem, save reporting
it. Per #1216.
2017-07-21 00:31:58 -04:00
Tom Rothamel 17a24bde55 Fix very old compat code, per #1216. 2017-07-21 00:24:46 -04:00
Andrew Savchenko e602b9a839 Fix compatibility problem with Katawa Shoujo 1.3.1
The game fails to start with renpy-6.99.12.4:

I'm sorry, but an uncaught exception occurred.

While running game code:
  File "game/ui_settings.rpy", line 21, in <module>
  File "renpy/common/00compat.rpy", line 134, in _set_script_version
    config.window_auto_hide.remove("call screen")
ValueError: list.remove(x): x not in list

-- Full Traceback ------------------------------------------------------------

Full traceback:
  File "/home/rondo/ui_settings.rpyc", line 2, in script
  File "/usr/lib64/python2.7/site-packages/renpy699/renpy/ast.py", line 814, in execute
    renpy.python.py_exec_bytecode(self.code.bytecode, self.hide, store=self.store)
  File "/usr/lib64/python2.7/site-packages/renpy699/renpy/python.py", line 1695, in py_exec_bytecode
    exec bytecode in globals, locals
  File "game/ui_settings.rpy", line 21, in <module>
  File "/usr/lib64/python2.7/site-packages/renpy699/renpy/defaultstore.py", line 92, in __setattr__
    renpy.store._set_script_version(value)  # E1101 @UndefinedVariable
  File "renpy/common/00compat.rpy", line 134, in _set_script_version
    config.window_auto_hide.remove("call screen")
  File "/usr/lib64/python2.7/site-packages/renpy699/renpy/python.py", line 610, in do_mutation
    return method(self, *args, **kwargs)
ValueError: list.remove(x): x not in list

This happens because "call screen" element is being unconditionally
removed from config.window_auto_hide list, though it is not always
present there. A simple if check fixes this.
2017-07-21 00:09:24 -04:00
Tom Rothamel d6abf5a78a Remove sets.Set in warp.py.
Per #1037.
2017-07-20 23:14:09 -04:00
Tom Rothamel df88bdfd26 Make RevertableSet inherit from set, rather than sets.Set.
Based on #1037, with an implementation of RevertableSet that can
load older saves.
2017-07-20 23:09:13 -04:00
Tom Rothamel 5cf84727bb Create a RevertableSet when a set literal is encountered. 2017-07-20 22:32:30 -04:00
Tom Rothamel 3bf4e96684 Link to the sponsor information from the launcher.
With a preference to turn it off, since I know people are going
to want to.
2017-07-20 21:38:57 -04:00
Tom Rothamel 0951ae3267 Fix language selection. 2017-07-20 20:40:20 -04:00
Ria-kon 9369352903 Only 4 files needs proofread…
Many notes, i just comment them in pull req
2017-07-21 03:32:06 +03:00
Ria-kon 31e286356e 01example translation
just forgot about it…
2017-07-20 21:35:49 +03:00
Ria-kon b52cf7d771 Quickstart section, interface and some notes
Notes

# e "Of course, there's a lot more to transforms than this. If you want to learn more, you can read the sections on Position Properties, Transforms, and Transform Properties." ### "Transforms and Animation", not "Transforms"
# e "Some games might prompt the player for input." ### "What's your name?" must be translated!!!
# interactive director needs translation!!!
2017-07-20 21:24:16 +03:00
Ria-kon e929f2dcbc Stop with this errors 2017-07-20 12:06:09 +03:00
Ria-kon aead5ae0aa Merge branch 'master' into master 2017-07-20 12:04:27 +03:00
Ria-kon 0665cbafff Resolving… 2017-07-20 12:02:37 +03:00
Ria-kon c25c38654a Https and fix 2 dots in main renpy 2017-07-20 11:53:07 +03:00
Ria-kon 7c7337e8e3 little fix 2017-07-20 11:51:55 +03:00
Ria-kon 60f4cf1964 Russian Translation Ongoing
Nightly version of translation

Notes:
>There is some http changes to https
>"Change the size and spacing of various things.." with 2 dots
>Quick buttons on original was deleted. Is this ok?
>Theme test was deleted cause of commented line with #
2017-07-20 11:33:47 +03:00
Tom Rothamel e4b10e6b6f Display the version of Ren'Py on the error handling screen. 2017-07-19 23:28:19 -04:00
Tom Rothamel c3701f3e01 Fix a bug when the current project is None. 2017-07-19 22:56:32 -04:00
Tom Rothamel ab8c2ab719 doc: Director. 2017-07-19 00:53:31 -04:00
Tom Rothamel 07551daca2 Fix Render.invalidate() (and hence Transform.update() ). 2017-07-18 21:54:29 -04:00
Tom Rothamel 33009207e4 Use documented API to add indexes to Sphinx. 2017-07-17 23:01:35 -04:00
Tom Rothamel 6248c8c431 Make the range of certain preference bars configurable.
This is done by doing things like Preference("text speed", range=100.0)

Fixes #1215.
2017-07-17 22:46:39 -04:00
Tom Rothamel 695e7d4ab5 Choose the new tutorial if there's no translation in the old tutorial. 2017-07-17 02:04:16 -04:00
Tom Rothamel 17d766ecb8 Automatically switch between old and new tutorials.
Based on a new preference, and the presence of translations.
2017-07-17 02:02:40 -04:00
Tom Rothamel 00efd7f536 Replace the old tutorial with t7.
Audentes Fortuna Iuvat.
2017-07-17 01:33:13 -04:00
Tom Rothamel 4f32da4717 launcher: Allow projects.json to give an alternative name for the project.
This lets us call both tutorials "Tutorial".
2017-07-16 23:39:21 -04:00
Tom Rothamel 8c1b6f728b Start distributing tutorial_7. 2017-07-16 18:31:06 -04:00
Tom Rothamel 18c4f3dfa1 t7: Tweak the save directory. 2017-07-16 18:29:25 -04:00
Tom Rothamel 857cd74786 Read in .edit.py source and exec it.
The goal is to make sure the file descriptor doesn't hang around
open, since that seems to be a problem.
2017-07-16 18:17:47 -04:00
Tom Rothamel 4cfdffe837 Properly list line with a triple-quoted string with a single delimiter.
That is, a line like:

    $ test = """ " """
2017-07-15 22:58:05 -04:00
Tom Rothamel cea98df57a Fix extra 'c' at the end of the internal name of a standalone .rpyc file. 2017-07-15 00:58:24 -04:00
Tom Rothamel 5442848274 Fix regression in deleting obsolete .rpyc files. 2017-07-15 00:10:03 -04:00
Tom Rothamel d188aef479 t7: Remove obsolete files. 2017-07-14 22:52:29 -04:00
Tom Rothamel 59a0f2661a Remove spurious code. 2017-07-13 23:28:18 -04:00
Tom Rothamel 1e6f8f5703 gui: Tweak positions of history text. 2017-07-13 23:26:16 -04:00
Tom Rothamel d4f961e15b gui: Strip text tags fron dialogue before showing it on the history screen.
Fixes #1207.
2017-07-13 23:20:38 -04:00
Tom Rothamel 970c4ba129 Add renpy.filter_text_tags.
This is a function that filters the text tags in a string. It
can either keep a whitelist of text tags, or remove a blacklist
of text tags.
2017-07-13 22:19:39 -04:00
Tom Rothamel eef63915a8 Check the types of preferences.
This prevents Ren'Py from getting stuck if a creator assigns the
wrong type to something that gets put into persistent as part of
the preferences.

Fixes #1208.
2017-07-12 23:22:33 -04:00
Tom Rothamel 9f979a9b8c Support picking of NoneType.
That is, types.NoneType itself. We've always been able to pickle
None.
2017-07-12 23:16:20 -04:00
Tom Rothamel b195a993fa t7: Rename imagedissolve images. 2017-07-11 18:39:31 -04:00
Tom Rothamel a256c97619 t7: Tweak various filenames in the tutorial. 2017-07-11 18:25:21 -04:00
vollschauer f665abcaa9 Update options.rpy
Add config.intra_transition = dissolve
2017-07-11 09:46:46 +02:00
Tom Rothamel 53cc29b0d9 t7: Update images and replace main menu. 2017-07-11 01:28:31 -04:00
Tom Rothamel 7f61fe5a85 t7: Distribute. 2017-07-11 00:31:44 -04:00
Tom Rothamel 4cc9d3262d Add build.mac_identity to the default game.
This makes it obvious where to put it if it's needed.
2017-07-10 23:28:23 -04:00
Tom Rothamel ce55be099b t7: Translations. 2017-07-09 23:47:20 -04:00
Morgan Willcock 0c8047f982 Some typo and formatting fixes, plus some rephrasing of grid terminology 2017-07-09 21:18:24 +01:00
Tom Rothamel 7584783dae t7 example: Include the ability to force translation marker display. 2017-07-09 13:16:02 -04:00
Tom Rothamel 02ce795ac0 t7: Update minigame tutorial. 2017-07-08 21:24:51 -04:00
Tom Rothamel 5c420d3593 t7: Proofread. 2017-07-08 12:42:42 -04:00
Tom Rothamel 118cd44ebd t7 example: Quote \n in examples. 2017-07-07 22:15:07 -04:00
Tom Rothamel f21952a79f t7: Proofreading. 2017-07-07 21:28:11 -04:00
Tom Rothamel 361b88e43c t7: Proofreading. 2017-07-07 01:11:47 -04:00
Tom Rothamel 2ab0dd00bf Optionally let self-voicing and AFM co-exist.
Optionally, since using the two when vision-impaired probably
won't work. So it's fine as a dev tool, but it needs to be
hard to invoke in shipping games.
2017-07-07 01:05:38 -04:00
Tom Rothamel eed306be56 code -> script. 2017-07-07 00:08:04 -04:00
Tom Rothamel a2daccbd23 t7 example: Fix string parsing. 2017-07-07 00:07:39 -04:00
Tom Rothamel 5993bf0729 t7: Fix typos. 2017-07-06 19:58:35 -04:00
Tom Rothamel 6475ae558b Add RENPY_TTS_COMMAND.
This makes it possible to have nicer sounding auto-voicing if
you're willing to work hard for it. (It's mostly for me as I
proofread the new tutorial.)
2017-07-06 19:51:48 -04:00
Tom Rothamel 867dc58396 Menu is meant to be redefined. 2017-07-06 01:21:25 -04:00
Tom Rothamel 682ea9a24b t7: Fix mistake. 2017-07-06 01:07:55 -04:00
Tom Rothamel b2aea518f0 t7: Mention the displayable inspector. 2017-07-05 21:54:11 -04:00
Tom Rothamel c5b6a81054 t7: Director example. 2017-07-04 12:50:22 -04:00
Tom Rothamel 518981f35b Fix replace_next for UserStatement with block. 2017-07-04 12:45:49 -04:00
Tom Rothamel d6b37030cb Improve the variable viewer.
- Ignore store._console and other internal namespaces.
- Sort the variables in name order.
2017-07-04 12:41:22 -04:00
vollschauer e1596be19c Update config.rst
doc: add missing config.intra_transition
2017-07-04 17:12:18 +02:00
Tom Rothamel 23b5ac9fd8 id: Bind the 'd' key to launch the interactive director. 2017-07-03 11:38:21 -04:00
Tom Rothamel 285c40ef4f Integrate the director into the developer mode screen.
Also tweak various aspects of the director GUI so it scales a bit
better.
2017-07-03 11:14:30 -04:00
Tom Rothamel e58c5ca7d1 id: Start landing the Interactive Director.
Originally developed at https://github.com/renpy/id .
2017-07-02 19:05:41 -04:00
Tom Rothamel 3bf039f0b7 gui: Use separate images for phone buttons and bars.
This follows out of the last change. Now that the size of buttons
and bars are different on mobile and desktop, it's necessary to
use a second set of images for them.
2017-07-02 18:28:04 -04:00
Tom Rothamel 3391b09f14 gui: Reduce the size of certain interface elements.
This leaves more space for translations and to add interface elements
like new preferences to the default GUI.
2017-07-01 22:17:06 -04:00
Tom Rothamel ec8e7bec81 Brighten up the idle color for the default gui.
This is based on experience with the new GUI.
2017-07-01 11:01:35 -04:00
Tom Rothamel dc79adbb97 t7: Character section. 2017-07-01 01:41:39 -04:00
Tom Rothamel 431b4cffe4 More work on character stuff. 2017-06-30 19:40:55 -04:00
Tom Rothamel 9738e09239 t7: Start work on character demo. 2017-06-29 23:43:37 -04:00
Tom Rothamel 6db84ccfff Fix reused parameter in egl_angle.c 2017-06-29 09:15:22 -04:00
Tom Rothamel c145238cae Merge pull request #1186 from renoa/master
translated error.rpy options.rpy script.rpym
2017-06-29 01:08:50 -04:00
Tom Rothamel bc21c04ea0 Force a checkpoint at start when rolling back from the menu context.
We had been forcing the checkpoint in the menus context, rather than
the main one, which means on a second rollback, we'd keep going and
roll all the way back to before the game start, with disasterous
results.

Fixes #1177.
2017-06-29 00:28:10 -04:00
Tom Rothamel a45c5d35e5 Only report missing screens before use if config.developer is true.
This fixes an issue that shows up in Fault: Silence the Pedant (demo)
where a non-existing screen is analyzed.
2017-06-28 01:23:40 -04:00
Tom Rothamel f212504dbd Fix custom statement. 2017-06-28 01:05:45 -04:00
Tom Rothamel 9538d903bf Tweak the size of the list of tutorials.
The idea is to help the user learn there's more choices if the
scroll bar isn't enough for them.
2017-06-27 23:25:24 -04:00
Tom Rothamel d15067abe2 t7: Remove ui demo.
It's all been moved to other files.
2017-06-27 22:58:46 -04:00
Tom Rothamel 678b60128f t7: Use and Transclude. 2017-06-27 00:46:11 -04:00
Tom Rothamel d598b3aaba t7: Special screen language statements. 2017-06-26 23:35:56 -04:00
Tom Rothamel be5efbf3bd Use a generated tempdir for strings.json if necessary.
That is, if we can't write the Ren'Py temp directory.

Fixes #1195.
2017-06-26 00:57:54 -04:00
Tom Rothamel 99968f3696 Check that the tmpdir is writable. 2017-06-25 23:05:33 -04:00
Tom Rothamel 68154ee730 Revert "Factor out tmpdir."
This reverts commit 174a33cb1d.
2017-06-25 22:50:39 -04:00
Tom Rothamel 174a33cb1d Factor out tmpdir. 2017-06-25 02:01:34 -04:00
Tom Rothamel 5638d35cce Allow the use statement to take a has block. 2017-06-24 23:09:46 -04:00
Tom Rothamel a9feb5c281 Generate the proper filename when run from outside of renpy_base.
Running a command like:

    python renpy/renpy.py renpy/tutorial

would cause Ren'Py to replace all the .rpys wuth .rpycs, which
then confused t7.
2017-06-23 23:57:41 -04:00
Tom Rothamel 2046ac5ce1 When set to auto, change config.developer duting the init phase.
The idea here is that it's always True or False, so code doesn't
have to special-case auto.
2017-06-23 22:34:12 -04:00
Tom Rothamel 247f54f417 Error out if an argument is given to the object constructor. 2017-06-22 20:11:30 -04:00
Tom Rothamel a85cc4f3e3 Support for running novel platforms (like Raspi). 2017-06-22 10:04:40 -04:00
Tom Rothamel 51dfaf034f Add support for an accelerated build on the Raspberry Pi. 2017-06-21 23:20:42 -04:00
Tom Rothamel 78dfaac0da gl: Clear clipping before checking pixel opacity.
Fixes #1205.
2017-06-19 23:38:17 -04:00
Tom Rothamel db3a7e988f Transform.take_state() includes the child displayable.
This deals with a transform that finishes running after setting a
child.
2017-06-19 21:47:33 -04:00
Tom Rothamel 7868f401b2 Translate strings in the examples. 2017-06-19 02:07:05 -04:00
Tom Rothamel 30f07df461 Support loading non-translated files instead of a translation rpy.
For internal tutorial use.
2017-06-19 02:06:33 -04:00
Tom Rothamel 22d11a1a0e Support grabbing dialogue string translations.
Only the simplest cases. This is intended to support example
translations in the tutorial, rather than for use in the
launcher.
2017-06-18 14:48:12 -04:00
Tom Rothamel 859bf91b02 t7: Strip out the translation marker. 2017-06-18 00:41:55 -04:00
Tom Rothamel b4ecbaaf5a t7: Add a preference to show and hide translation markers. 2017-06-17 23:19:05 -04:00
Tom Rothamel 7cc4175160 Tie hiding the mouse directly to movie playback.
This ensures that the mouse is shown if the movie stops playing,
like if the player clicks the "quit" button.
2017-06-16 19:00:10 -04:00
Tom Rothamel 727e173a4a Document when the ctc screen is supplied an argument.
Per #1167.
2017-06-15 19:58:45 -04:00
Tom Rothamel 7a13e96dd0 Do not draw the screeen when a restart_interaction is requested.
This lets on "show" handlers of screens, and other similar things,
have side effects without having a frame in which the old data
is visible.

A fix to the main part of #1199.
2017-06-15 19:43:01 -04:00
Tom Rothamel 7cee7b62e6 Mark defaulted variables as having been changed.
Fixes #1198.
2017-06-14 23:14:23 -04:00
Tom Rothamel 986d120e59 t7: Viewports and vpgrid. 2017-06-13 02:07:37 -04:00
Tom Rothamel e9c279d066 Vpgrid fixes. 2017-06-13 02:07:21 -04:00
Tom Rothamel 5eea714176 Position properties go to the side of a viewport.
In general, it's useless to give the positon properties to a
viewport in a side. So instead, we give those properties to
the side, and let it handle them.
2017-06-12 22:21:37 -04:00
Tom Rothamel 04126b5c50 Fix viewport arrowkeys when the viewport is not fullscreen. 2017-06-12 22:19:57 -04:00
Tom Rothamel a8dafde044 Improve error handling for missing imagebutton images. 2017-06-11 22:27:29 -04:00
Tom Rothamel cb7591ac41 t7: Tweak the look of examples. 2017-06-11 20:42:18 -04:00
Tom Rothamel 42161d8409 Imagmaps no longer require a ground image.
If a ground image is not provided, the idle image is used instead.
2017-06-11 19:59:18 -04:00
Tom Rothamel ed916d8dd7 t7: Error out if an example is left open. 2017-06-11 19:49:05 -04:00
Tom Rothamel 069a449d02 t7: Imagemap demonstration. 2017-06-11 19:32:41 -04:00
Tom Rothamel 48d8312957 Support using lint to report the number of examples. 2017-06-11 11:44:59 -04:00
Tom Rothamel 7c6522668b t7: Bars. 2017-06-10 23:59:11 -04:00
Tom Rothamel bc6227a682 Set the default adjustment page size as described in the docs.
Since it was wrong.
2017-06-10 22:17:48 -04:00
Tom Rothamel 694bba9858 t7: Buttons. 2017-06-10 02:13:43 -04:00
Tom Rothamel 7dd8eb45d5 Mark dict.update as mutating.
How was it not? Fixes #1197.
2017-06-09 22:01:44 -04:00
Tom Rothamel b36c12c8ad Fix variable change. 2017-06-09 01:01:28 -04:00
Tom Rothamel 0d0f7db9d1 gui: Do not fix textbutton height. 2017-06-09 00:54:45 -04:00
Tom Rothamel 8a497ac8be t7: Demonstrate frames and windows. 2017-06-08 01:10:15 -04:00
Tom Rothamel b268d0e768 doc: Better describe why SL is better than UI functions.
Fixes #1196.
2017-06-07 23:12:04 -04:00
Tom Rothamel 06da5ec181 t7: Boxen 2017-06-07 02:18:49 -04:00
Tom Rothamel dbb282530f t7: Don't make regexps out of the keywords and properties.
It wasn't used.
2017-06-07 00:11:20 -04:00
Tom Rothamel cd72b3106f t7: Talk about text in screens. 2017-06-06 18:18:57 -04:00
Tom Rothamel 6881048694 t7: Rely on auto-show of screen examples. 2017-06-06 18:05:12 -04:00
Tom Rothamel 0fac2fb9b7 t7: Automatic transitions when showing an example. 2017-06-06 10:09:44 -04:00
Tom Rothamel f647422eb8 Remove spurious line. 2017-06-06 01:03:07 -04:00
Tom Rothamel 38fbf8a70c gui: Remove unused code from the preferences screen. 2017-06-05 18:35:55 -04:00
Tom Rothamel 973fa232f7 Automatically show and hide screen examples. 2017-06-05 10:10:26 -04:00
Tom Rothamel c35f34e7b7 Tweak wording of the transform examples. 2017-06-05 09:17:06 -04:00
Tom Rothamel 313a33f02b t7: Add statement. 2017-06-05 03:03:18 -04:00
Tom Rothamel ef3dfe818e Fix unlocked_advance for good.
Stupid terrible variable name. Fixes #1179 for good this time.
2017-06-04 22:17:27 -04:00
Tom Rothamel 219e6788ea t7: Properties all displayables share. 2017-06-03 23:13:05 -04:00
Tom Rothamel 04fcc8b5ca t7: Automatically outdent code examples when appropriate. 2017-06-03 11:30:21 -04:00
Tom Rothamel 5f4f2b36f9 t7: Trivial amounts of work on screen displayables. 2017-06-03 00:02:10 -04:00
Tom Rothamel 65fbb1c7f7 t7: Screen properties. 2017-06-02 23:13:32 -04:00
Tom Rothamel 4538d5d427 t7: Passing parameters to screens. 2017-06-02 01:55:10 -04:00
Tom Rothamel 02ef9800f8 t7: More work on screens. 2017-06-02 01:29:50 -04:00
Tom Rothamel 0d628f11a6 t7: What can screens do? 2017-06-02 00:11:25 -04:00
Tom Rothamel 4f8d28ab44 Add an index line to examples. 2017-06-01 22:58:29 -04:00
Tom Rothamel 14e8bda631 t7: Tweak menus. 2017-06-01 01:32:54 -04:00
Tom Rothamel a4f4467a6b Input and Interpolation section. 2017-06-01 01:20:04 -04:00
Tom Rothamel 93971d61d3 Add Brazilian Portugese translation. Courtesy mrstalker@lsf.
Fixes #1190.
2017-05-31 22:24:38 -04:00
Tom Rothamel 3a6b568ca4 t7: Add scrollbar to examples. 2017-05-31 02:11:05 -04:00
Tom Rothamel c908491b70 Viewports and vpgrids take scrollbar_ and vscrollbar_ properties. 2017-05-31 02:08:53 -04:00
Tom Rothamel e089b4ba02 t7: Integrate dialogue into a menu. 2017-05-30 22:48:04 -04:00
Tom Rothamel 3a12cac67f Do not play voice in mode transitions.
Since we don't know what mode we're in during a mode transition,
we can be (and usually are) in a with mode. Since voice doesn't
play in with modes, we don't want to play it during a mode
transition.
2017-05-29 18:33:07 -04:00
Tom Rothamel f6605ec5d7 Hyperlinks support hover_sound and activate_sound. 2017-05-29 16:58:39 -04:00
Tom Rothamel 04aa3100cd t7: Introduce text_ and Character styles. 2017-05-28 17:15:19 -04:00
Tom Rothamel dc27e66d83 t7: A simple guide to positions. 2017-05-28 11:37:21 -04:00
Tom Rothamel 6dc6213885 doc: Fixes to style properties.
* Move order_reverse into Fixed.
* Fix types.
* Fix reStructuredText errors.
2017-05-28 10:16:02 -04:00
Tom Rothamel 30b566750e Report the files DynamicImage searches.
Fixes #1175.
2017-05-27 14:40:09 -04:00
Tom Rothamel 9aecbc4655 sl2: Do not add style properties to screen.
This was a spurious add that caused screen to be over-generous
in the properties it would take.

Fixes #1188.
2017-05-27 09:33:56 -04:00
Tom Rothamel 7f13d20ce5 Initialize renpy.config before renpy.log.
This lets us use renpy.config to configure logging, and still be able
to print wherever we want to.
2017-05-27 09:23:45 -04:00
Tom Rothamel 1379e5793b text: Ensure that zero-width spaces are zero-width.
Even if the font doesn't have the character.
2017-05-26 23:07:42 -04:00
Tom Rothamel cccbd37771 text: Put a zero-width space on empty lines.
Instead of a regular space. Fixes #1187.
2017-05-26 22:59:48 -04:00
Tom Rothamel 39534ae856 t7: Fixed styles. 2017-05-26 02:19:53 -04:00
Tom Rothamel 5e90c359a2 t7: Box style properties. 2017-05-25 22:30:54 -04:00
Tom Rothamel 6b29ddf442 t7: Move xfill into the section on windows and buttons. 2017-05-25 01:06:28 -04:00
Tom Rothamel d55b3b2a79 t7: Finish bar style properties. 2017-05-24 23:43:46 -04:00
Tom Rothamel a7674f37ae t7: Start work on bar style properties. 2017-05-24 19:04:34 -04:00
Tom Rothamel 14ef43b904 t7: Put a visible frame behind the buttons. 2017-05-24 00:20:47 -04:00
Tom Rothamel e443cfbb93 Update the frame image. 2017-05-23 22:51:03 -04:00
Tom Rothamel 9b22604bb3 t7: Check images for the button style demo. 2017-05-23 22:47:35 -04:00
Tom Rothamel c3beadb87c Finish style properties. 2017-05-23 22:21:49 -04:00
Tom Rothamel 013850cb44 t7: Start work on windows and buttons. 2017-05-22 23:45:08 -04:00
Tom Rothamel cf7fc2ea62 t7: Update the video tutorial to use the new example system. 2017-05-22 01:43:20 -04:00
Tom Rothamel 74c23b68c2 t7: Make example size and placement persistent. 2017-05-22 01:10:38 -04:00
Tom Rothamel 2d7ffc69c4 t7: Use classes to represent sections of the script. 2017-05-22 01:10:04 -04:00
Tom Rothamel 5e5c33b310 Doc changes.
The main change is to get things working with intersphinx. We also
further remove some of the sphinx caching.
2017-05-21 23:29:25 -04:00
Tom Rothamel 692fccfbf7 t7: Add a demo of the Frame displayable. 2017-05-21 16:03:08 -04:00
Tom Rothamel 9ec57c2d71 t7: Text style properties. 2017-05-21 10:22:52 -04:00
Tom Rothamel 8f8ffcd704 t7: WIP of text styles. 2017-05-21 02:02:19 -04:00
Tom Rothamel ee1024a657 t7: Text style properties. 2017-05-20 21:58:17 -04:00
Tom Rothamel 71c47169e1 Remove mark_seen in ui.interact().
It's redundant to the call in interact_core.
2017-05-20 12:03:45 -04:00
Tom Rothamel db5d595e77 Mark statements as seen at the end of an interaction.
This fixes #1185, an issue where the skip buttons is insensitive
during the transition.
2017-05-20 11:54:37 -04:00
Tom Rothamel 857fcbb658 t7: New GUI. 2017-05-19 23:20:33 -04:00
Tom Rothamel 5cf9aa977d t7: Style basics. 2017-05-19 22:56:57 -04:00
Tom Rothamel c414046301 Update the character demo. 2017-05-18 23:33:23 -04:00
Tom Rothamel f9a9ee7389 Properly handle multiple escape sequences, like \\n.
Previously, we handled these with replacements, so that the \n
would be replaced before the \\. Now it's first-come, first-served,
just like other languages have it.

Fixes #1184.
2017-05-18 20:57:23 -04:00
Tom Rothamel a595c0926c t7: Text Tags, Escapes, and Interpolation 2017-05-18 01:24:37 -04:00
Tom Rothamel 263424a203 t7: Quote text in examples, move copy button. 2017-05-18 01:12:45 -04:00
Tom Rothamel ec92e51ab0 Fix error reporting regression. 2017-05-18 01:12:25 -04:00
Ria-kon d35092fcb9 typo in screen.rst 2017-05-18 02:53:33 +03:00
Tom Rothamel e57639c65a When unlocked_advance is true, proceed to the first unlocked number.
Fixes #1179.
2017-05-17 17:34:44 -04:00
Tom Rothamel 59b31d33da t7: Add Displayables section. 2017-05-17 01:23:21 -04:00
Tom Rothamel 8b37246ad3 tq: Move the questions in the_question into the menus. 2017-05-16 20:45:50 -04:00
Tom Rothamel cf89b2c143 Document the with clause to the call screen statement. 2017-05-16 20:36:00 -04:00
Tom Rothamel 186c644393 Add with clause to call screen statement. 2017-05-16 02:03:00 -04:00
Tom Rothamel 27666aa54c t7: Minor changes. 2017-05-15 23:20:12 -04:00
Tom Rothamel 3bc064c8ab t7: Add a section walking people how to create a new game. 2017-05-15 22:46:08 -04:00
Tom Rothamel 7e87589097 t7: Main menu work. 2017-05-14 14:10:06 -04:00
Tom Rothamel f218680a36 Update the player section of the quickstart. 2017-05-14 12:56:39 -04:00
Tom Rothamel 4932357ded t7: ATL tutorial. 2017-05-13 13:30:38 -04:00
Tom Rothamel 15f9da870c ATL: More directly implement polar motion.
The previous version did not work well when things moved back and forth.
2017-05-13 12:22:43 -04:00
Tom Rothamel 83bc8bc06b Remove duplicate example load. 2017-05-13 11:53:30 -04:00
Tom Rothamel 2a150ea069 ATL: Automatically enable polar motion when angle changes.
This is what creators (probably) expect, so it makes sense to
do it.
2017-05-13 11:51:30 -04:00
Tom Rothamel 0b352525d7 t7: Examples for transitions. 2017-05-13 01:57:28 -04:00
Tom Rothamel 6595e70d7f t7: Parse examples at init time.
This ensure each example only gets parsed once.
2017-05-13 01:34:15 -04:00
Tom Rothamel 89191baf6a Allow creator-defined statements to run a function at init time.
This is different from the statement itself being run at init
time, as before. This lets the statement run code at init time,
and then also run again later.
2017-05-13 01:19:26 -04:00
Tom Rothamel 16063049a9 t7: More transition examples. 2017-05-12 22:11:05 -04:00
Tom Rothamel bf3a454f88 t7: Add examples. 2017-05-12 10:05:42 -04:00
Tom Rothamel cb479c6316 Allow multi-part examples.
All examples with the same name are grouped together. This makes
it possible to split an example in two and not have to have an
explicit show example statement.
2017-05-12 09:56:09 -04:00
Tom Rothamel e974314094 t7: Update screens to use the new example system. 2017-05-12 01:55:02 -04:00
Tom Rothamel 4c3bb9d58c t7: Finish converting quickstart to use examples. 2017-05-11 18:47:01 -04:00
Tom Rothamel 93e89a1ade t7: Update dialogue section to use examples. 2017-05-10 09:59:44 -04:00
Tom Rothamel 6b17b9ed98 t7: Convert nvlmode to use the example system. 2017-05-10 09:50:46 -04:00
Tom Rothamel 0cf20f5c82 t7: Fix compat with show screen example, for now. 2017-05-10 01:23:16 -04:00
Tom Rothamel 2805a30614 t7: Move ATL to new examples. 2017-05-10 01:22:17 -04:00
Tom Rothamel fd6f66f3e1 t7: Add show example and hide example statements.
This also adds a number of new features, like being able to
show a smaller example, and easily show it at the bottom of
the screen.
2017-05-09 22:32:24 -04:00
Tom Rothamel 149197b169 Fix documentation typo. 2017-05-09 22:24:55 -04:00
Tom Rothamel 814a54167b Parse UserStatements on startup.
This lets the parse function serve to initialize data structures,
which can then run code at init-time.
2017-05-09 22:19:53 -04:00
Tom Rothamel 6fac36ac9b t7: Normalize examples before showing.
Removes excess space at the start and end of a block.
2017-05-09 01:07:27 -04:00
Tom Rothamel d9ff6f6651 t7: Implement the example statement. 2017-05-09 00:57:50 -04:00
Tom Rothamel 2390198773 Code to read an example out of an example statement. 2017-05-08 22:19:28 -04:00
Tom Rothamel fe86b1d711 Fix iterating through children of a UserStatement. 2017-05-08 22:04:26 -04:00
Tom Rothamel da48875876 Allow creator-defined statements to take a block of script. 2017-05-07 23:51:11 -04:00
Tom Rothamel 007754b5d2 t7: Discuss combined position properties. 2017-05-07 18:21:39 -04:00
Tom Rothamel 9d71d7e3ab t7: Split ATL from transform properties, part 1. 2017-05-07 15:08:42 -04:00
Tom Rothamel 53b191c5c9 t7: Mention different kind of screen statements. 2017-05-06 21:49:51 -04:00
Tom Rothamel 45a75b3e5b t7: Add offsets. 2017-05-06 21:42:29 -04:00
Tom Rothamel 1ed47c5b71 t7: Decide if Eileen is moved to the center. 2017-05-05 23:30:27 -04:00
Tom Rothamel 070278d27b t7: Allow copying example code to the clipboard. 2017-05-05 23:17:07 -04:00
Tom Rothamel 958c65b8c6 t7: NVL-mode tutorial. 2017-05-05 22:48:12 -04:00
Tom Rothamel f35032b393 t7: Let examples be placed at the bottom of the NVL-mode screen. 2017-05-05 22:43:35 -04:00
Tom Rothamel 676ca25b90 t7: Move the menu example into the general menus section. 2017-05-05 19:51:34 -04:00
Tom Rothamel 8eea55962c t7: Add the screens tutorial. 2017-05-04 22:53:47 -04:00
Tom Rothamel fc0f091c75 t7: Move tutorial screens between files, comment. 2017-05-04 22:25:18 -04:00
Tom Rothamel fe6c74aa33 t7: More words in screens tutorial. 2017-05-04 00:32:07 -04:00
Tom Rothamel 56ba867caa t7: Add imagemaps to the screens tutorial. 2017-05-03 22:39:39 -04:00
Tom Rothamel 105c56b46d t7: Start work on a screens tutorial. 2017-05-03 00:29:45 -04:00
Tom Rothamel 11d2e94f3e t7: Redo the stats page. 2017-05-02 22:01:41 -04:00
Tom Rothamel 2038625c78 t7: Minor UI improvements. 2017-05-02 21:39:00 -04:00
Tom Rothamel c4aa92e815 t7: Revise ui viewports. 2017-05-01 22:54:23 -04:00
Tom Rothamel f49e69b3d5 t7: Update ui imagemaps. 2017-05-01 22:13:48 -04:00
Tom Rothamel 1d13ab8f84 Merge pull request #1176 from vollschauer/master
Update movie.rst
2017-05-01 18:10:25 -04:00
Tom Rothamel 31a9c2d86d Fix doc mistake. 2017-05-01 17:53:45 -04:00
vollschauer d2d9f1e64e Update movie.rst
fix typo
2017-05-01 12:42:25 +02:00
Tom Rothamel 5f3e8d37c4 t7: Layers. 2017-05-01 01:01:26 -04:00
Tom Rothamel 8606a59b0b Allow MultiBox to clip.
Fixes a problem with the "Layers and Advanced Show" section of the tutorial.
2017-05-01 01:00:47 -04:00
Tom Rothamel 3776f8a5a7 Remove duplication of gui.show_name. 2017-04-30 22:03:43 -04:00
Tom Rothamel 8f5d8fa102 t7: Finish updating the minigame section of the tutorial. 2017-04-29 13:17:08 -04:00
Tom Rothamel b23de4e843 t7: Move to using a screen to show the minigame. 2017-04-29 13:02:42 -04:00
Tom Rothamel 1e2e82492e t7: Resize and rewrite the pong minigame. 2017-04-29 12:50:18 -04:00
Tom Rothamel cba59de5e8 Update indonesian translation, thanks to Pratomo Asta Nugraha. 2017-04-29 00:21:33 -04:00
Tom Rothamel d1e2241562 t7: Include image used by text. 2017-04-28 23:59:48 -04:00
Tom Rothamel 8236eef4e8 t7: Update imageops. 2017-04-28 22:45:00 -04:00
Tom Rothamel 88b75a71f7 t7: Tweak kerning. 2017-04-27 22:50:22 -04:00
Tom Rothamel 064566a827 t7: Main and game menus. 2017-04-27 22:41:52 -04:00
Tom Rothamel 607ecc7d27 t7: Language fixes. 2017-04-27 22:07:58 -04:00
Tom Rothamel e089e1b599 t7: Transitions. 2017-04-27 22:02:33 -04:00
Tom Rothamel 4203210617 t7: Update the tutorial video script. 2017-04-27 18:08:36 -04:00
Tom Rothamel 9028f8100b t7: New video. 2017-04-27 02:23:25 -04:00
Tom Rothamel 9bbfefa633 t7: ATL. 2017-04-26 22:35:37 -04:00
Tom Rothamel f46460bdd2 t7: Add magic circle. 2017-04-26 01:34:25 -04:00
Tom Rothamel f6d22979fe Merge pull request #1168 from Alexandre-T/master
French translation
2017-04-25 22:46:20 -04:00
Tom Rothamel 718bfadc9b Merge pull request #1169 from mbrickn/patch-2
Updated links to use https
2017-04-25 22:45:25 -04:00
Tom Rothamel f770b0f549 parser: Massive speedup in list_logical_lines. 2017-04-25 16:48:19 -04:00
Tom Rothamel c303a9d5a4 parser: Use .join to avoid constantly creating new strings. 2017-04-25 01:19:23 -04:00
Tom Rothamel d6e441d12e parser: Replace the word regexp with a function. 2017-04-25 00:36:12 -04:00
Tom Rothamel da7d80ecd8 Reset the infinite loop timer on each init/python early block.
This should prevent the infinite loop warning unless the init phase
is not making any progress at all.
2017-04-24 18:22:10 -04:00
Tom Rothamel c500dea338 t7: Update the ATL concert scene. 2017-04-23 20:29:27 -04:00
Tom Rothamel 7f3fa272a1 Check in various missing files. 2017-04-23 20:28:57 -04:00
Maxwell Paul Brickner 31a7cfd22f Updated links to use https
Hi! I just changed a link to use https to avoid an automatic redirect. ^ _ ^
2017-04-23 16:32:25 -04:00
Tom Rothamel 823c69d276 t7: Update screen positions. 2017-04-22 21:31:44 -04:00
Tom Rothamel 9920512a81 t7: Update the playing section of the tutorial. 2017-04-22 20:38:30 -04:00
Alexandre Tranchant 4e3803e7f2 French translation 2017-04-22 15:06:07 +02:00
Tom Rothamel bb2136dec2 t7: Examples improvements.
* Put a blank line after each example.
* Strip blank lines at the end of the examples.
2017-04-21 16:58:31 -04:00
Tom Rothamel d620ef0c1e t7: Finalize Writing Dialogue and Adding Images. 2017-04-21 16:57:17 -04:00
Tom Rothamel cc40b62f2a Add logo images. 2017-04-21 16:23:52 -04:00
Tom Rothamel 7cbc8bcbaf t7: Start rewriting images section. 2017-04-21 00:24:51 -04:00
Tom Rothamel 10ac1367a8 t7: Fix multiple examples. 2017-04-21 00:15:10 -04:00
Tom Rothamel 97e718f610 t7: Upscale images used by the quickstart. 2017-04-20 22:39:53 -04:00
Tom Rothamel 6fd158b40e t7: Screen-based examples. 2017-04-20 00:48:08 -04:00
Tom Rothamel fe6c884c42 t7: Use screens for examples. 2017-04-19 23:24:04 -04:00
Tom Rothamel 3992f29583 t7: Initial rework of the example display code. 2017-04-18 22:27:11 -04:00
Tom Rothamel 5ec6b9a67f t7: Redo the example choice screen. 2017-04-18 22:21:29 -04:00
Tom Rothamel bd20345c95 t7: Customize the frame image so it can be used in-game. 2017-04-18 20:54:44 -04:00
Tom Rothamel 209fcb4555 t7: Scale backgrounds to 720p. 2017-04-17 22:43:52 -04:00
Tom Rothamel e7796d4143 Fix printing of strings with % in them. 2017-04-17 22:15:19 -04:00
Tom Rothamel f6bd8398e6 Copy tutorial .rpy files into place. 2017-04-17 22:09:29 -04:00
Tom Rothamel fb890b8c19 Background images. 2017-04-16 23:52:15 -04:00
Tom Rothamel 28f6374e56 Ren'Py 7 version of the tutorial game. 2017-04-16 21:33:29 -04:00
Tom Rothamel a280350bc3 Retranslate static text when the language changes.
Fixes #1159.
2017-04-16 00:15:36 -04:00
Tom Rothamel 40b38e4fc0 Pop dynamic data from non-root contexts while saving.
Fixes #1160.

The problem here is that renpy.retain_after_load will prevent the
rollback that usually occurs on loading - and that rollback was
responsible for getting rid of all of the dynamic data that
is used in the menu context. This code pops the dynamic data
in a more explicit way.
2017-04-15 22:50:39 -04:00
Tom Rothamel d1b82e9944 Add a caution about moving renpy.app. 2017-04-13 23:55:27 -04:00
Tom Rothamel b466e05e04 Default build.script_version to true.
Fixes #1164.
2017-04-13 21:47:42 -04:00
Tom Rothamel 78257229f1 doc: Remove uses of the word "Code" from functions. 2017-04-12 10:17:48 -04:00
Tom Rothamel 049c683002 doc: Remove "Code" from .rst files. 2017-04-12 08:38:59 -04:00
Tom Rothamel 76e729313d doc: Remove use of the word code. 2017-04-12 08:26:44 -04:00
Tom Rothamel 2945227dfe doc typo: creat->create
Clearly mixed up the English word and the UNIX syscall.

Fixes #1163.
2017-04-11 08:13:23 -04:00
Tom Rothamel 552fff58ab doc: Remove code up to store_variables.rst. 2017-04-10 19:57:26 -04:00
Tom Rothamel 29aaf9b367 doc: Remove the word code up to displaying_images.rst. 2017-04-10 07:41:01 -04:00
Tom Rothamel be4a609080 Move the projects.json file over to the new The Question. 2017-04-09 16:47:40 -04:00
Tom Rothamel cdf0451660 Rename the_question. 2017-04-09 15:47:03 -04:00
Tom Rothamel 357ca8bfe0 doc: Generate the script of The Question. 2017-04-09 15:44:21 -04:00
Tom Rothamel 31a356c6a1 doc quickstart: Releasing, Conclusion section.
Done! At least with the first draft.
2017-04-09 12:32:14 -04:00
Tom Rothamel 7d818ef673 Merge pull request #1162 from mbrickn/patch-1
Updated urls linking to renpy.org to use https
2017-04-09 12:05:44 -04:00
Tom Rothamel 398c0aa818 doc quickstart: Supporting Flags using the Default, Python and If Statements 2017-04-09 01:34:16 -04:00
Maxwell Paul Brickner f0fbd5e663 Updated urls linking to renpy.org to use https
Minor change. I just changed URLs to the Renpy website to use https instead of http.

This will make users go directly to the webpages linked, instead of automatically being redirected to the https version by the website. Should be (very slightly) better for user experience! 😊
2017-04-08 17:32:54 -04:00
Tom Rothamel 9239371f7c doc quickstart: Menus, Labels, and Jumps. 2017-04-08 12:15:43 -04:00
Tom Rothamel 8486dc98b9 Ensure _menu and main_menu are always initialized. 2017-04-08 10:46:25 -04:00
Tom Rothamel 2584c8719d Protect access to _menu. 2017-04-08 10:45:14 -04:00
Tom Rothamel b36bfebadf console: Group together consecutive lines of stdout/stderr output. 2017-04-07 22:13:28 -04:00
Tom Rothamel 363175a3b9 console: Initial support for printing stdout/stderr. 2017-04-07 22:02:40 -04:00
Tom Rothamel 3b8b46ea38 console: Support redirection of stdout and stderr. 2017-04-07 21:13:12 -04:00
Tom Rothamel 4e1ec11c20 tq: Add icons. 2017-04-07 20:30:54 -04:00
Tom Rothamel 6b0be391f8 Audit the use of identity and equality in data actions.
All the values are now compared using equality, for efficency
reasons.
2017-04-06 22:17:46 -04:00
Tom Rothamel e33ca662b6 Fix problem with SetField.
The problems was that the field name was not considered when
looking at action equality - so the object could be reused if
only the field changes. (This broke the DSE.)
2017-04-06 22:12:00 -04:00
Tom Rothamel f0f1a0a65f doc: Quickstart, Pause. 2017-04-05 23:45:47 -04:00
Tom Rothamel f89f4ad580 doc: Quickstart, Music and Sound. 2017-04-05 23:42:46 -04:00
Tom Rothamel ced23560d7 Eventually give up if we can't rename persistent into place.
This prevents the game from crashing, at least - in this case,
silent data loss is slightly preferable to a total crash.
2017-04-05 22:27:38 -04:00
Tom Rothamel c9e4c2fcfd doc: Quickstart, transitions and positions sections. 2017-04-04 21:39:31 -04:00
Tom Rothamel d2e49a37d4 doc: Update the images section of the quickstart. 2017-04-04 21:20:10 -04:00
Tom Rothamel a4730bb32e savelocation: Disambiguate tmp files.
This is meant to ensure two processes can write to a single
persistent file without interfering with each other.
2017-04-04 09:32:53 -04:00
Tom Rothamel e337c9c6a6 Ignore missing screens when topologically sorting screens.
When this isn't done, screens that depend on a missing screen are
not included in the topological sort, which makes diagnosing
the missing screen problem much harder.
2017-04-03 23:13:09 -04:00
Tom Rothamel cffb7d990b Fix typo. 2017-04-03 22:42:49 -04:00
Tom Rothamel 611cc04271 Add renpy.get_skipping().
A function that determines if Ren'Py is currently skipping. Since
config.skipping is way too ugly for documentation.

Per discussion in #1158.
2017-04-03 21:57:33 -04:00
Tom Rothamel 81353d52c5 doc: More quickstart images writing. 2017-04-03 00:46:50 -04:00
Tom Rothamel 2328d8f932 doc: Quickstart images section, first half. 2017-04-02 09:19:47 -04:00
Tom Rothamel f1ef42a39e doc: Quickstart character section. 2017-04-01 14:54:28 -04:00
Tom Rothamel 86b501e722 doc: Fix spelling. 2017-04-01 14:35:36 -04:00
Tom Rothamel 647911a2d2 doc: Continue updating quickstart. 2017-04-01 11:11:19 -04:00
Tom Rothamel 7d3b46a361 Update launcher section of quickstart, add some images. 2017-03-31 21:31:23 -04:00
Tom Rothamel 3a9d915355 Add alt_ keybindings to a number of keymap items.
In conjunction with the last commit, this makes it possible to do things
like take screenshots, access the console, and access the developer menu
from screens where an input is present.
2017-03-30 09:32:02 -04:00
Tom Rothamel 396e0dc217 input: Ignore events when alt is held down.
This makes it possible for alt_prefixed events to be passed to
other key handlers.
2017-03-30 09:25:09 -04:00
Tom Rothamel 69f454b118 Select the tutorial language based on the launcher language. 2017-03-30 02:03:59 -04:00
Tom Rothamel e292beef29 Fix filter. 2017-03-29 23:03:42 -04:00
Tom Rothamel 291f1d937b Add a way of filtering the projects.
This will help with documentation.
2017-03-29 22:32:08 -04:00
Tom Rothamel 341dd9c181 doc: Update the launcher section. 2017-03-28 23:42:07 -04:00
Tom Rothamel 955b82da4f Merge pull request #1156 from Ria-kon/master
Updating russian tl for new version
2017-03-28 08:36:03 -04:00
Ria-kon 3298d6cdbd Updating russian tl for new version
Adding legacy options…
2017-03-27 17:34:21 +03:00
Tom Rothamel 32695af4bb launcher: Hide old vs new gui behind persistent.legacy. 2017-03-27 09:38:54 -04:00
Tom Rothamel 83a0c6aeff Launcher: Add a legacy options checkbox.
This will be used to hide the old themes stuff, and could be
used for other things in the future.
2017-03-27 09:31:22 -04:00
Tom Rothamel 945e42be56 tq: Fix spacing. 2017-03-27 09:12:01 -04:00
Tom Rothamel 1c71428027 tq: Use default. 2017-03-26 23:10:15 -04:00
Tom Rothamel 5029d0d2aa tq: Updated art from Mugenjohncel. 2017-03-26 20:31:48 -04:00
Tom Rothamel 0f3f2503af Add config.hyperlink_inherit_size.
Previously, hyperlinks would inherit their size from the style,
which means that we needed different hyperlink styling functions
for each style. Now they inherit size from the enclosing text,
which should make the size correct in more circumstances.
2017-03-25 22:56:58 -04:00
Tom Rothamel af2bc79d04 tq: About screen. 2017-03-25 22:43:16 -04:00
Tom Rothamel c778238d46 Adjust screen colors. 2017-03-24 23:20:39 -04:00
Tom Rothamel 309d7c1efc tq: Main menu images. 2017-03-24 22:38:05 -04:00
Tom Rothamel 87249fce62 Execute the default statement before setting up replay scope. 2017-03-24 00:58:46 -04:00
Tom Rothamel c0081415c7 tq: Respace. 2017-03-23 22:49:45 -04:00
Tom Rothamel fa38d0df16 Ogg to opus. 2017-03-23 22:41:24 -04:00
Tom Rothamel 99d51b7d01 tq: Update image file names. 2017-03-23 08:52:13 -04:00
Tom Rothamel 6f19a8ae15 tq: Quick fixes to make playable. 2017-03-22 18:53:47 -04:00
Tom Rothamel 1c75bb1719 tq: Clean copy of the new script. 2017-03-22 18:37:28 -04:00
Tom Rothamel 21b1186212 More GUI tests. 2017-03-21 22:36:54 -04:00
Tom Rothamel 1dec0e8151 Include slot name in FileLoad()/FileSave() action alts. 2017-03-21 00:00:47 -04:00
Tom Rothamel af71b5cdbb tq: Change version. 2017-03-19 22:13:41 -04:00
Tom Rothamel 88c5159b45 Add the opus file. 2017-03-19 21:22:13 -04:00
Tom Rothamel e86dddf384 Merge pull request #1153 from xavi-mat/master
Minor update Italian translation
2017-03-18 16:37:44 -04:00
xavi-mat 9a232a54ee Minor update Italian translation
Some accents missing.
2017-03-18 11:31:05 +01:00
Tom Rothamel b1bcc92fe3 tq: Credits. 2017-03-18 00:38:30 -04:00
Tom Rothamel 218426be47 Add mugenjohncel's backgrounds. 2017-03-17 23:35:43 -04:00
Tom Rothamel 267dd68323 Produce the proper error message for list * (non-int).
Not sure why this is necessary, but it seems to be.
🤷
2017-03-17 00:27:45 -04:00
Tom Rothamel 16fe766a36 Slightly less complex version of previous merge. 2017-03-17 00:11:28 -04:00
Tom Rothamel ecafc29a99 Merge pull request #1151 from vollschauer/master
Add selected option to PlayCharacterVoice()
2017-03-16 22:31:15 -04:00
Tom Rothamel a6568caaa4 Add sylvie images. 2017-03-15 23:53:40 -04:00
Tom Rothamel 5987e7795d Merge pull request #1152 from Ria-kon/master
Readme.html to russian translation
2017-03-15 18:19:29 -04:00
Tom Rothamel 9779e51c92 Bump version. 2017-03-14 22:22:35 -04:00
Tom Rothamel 1c8d4f0906 Allow Ren'Py to load into the middle of a non-timed pause. 2017-03-14 22:17:07 -04:00
Ria-kon 73b3112ce6 Add README.HTML
I don't know… why am i done this…
2017-03-14 20:59:33 +02:00
Tom Rothamel 8864d3c612 Tweak options. 2017-03-14 00:18:54 -04:00
Tom Rothamel 4b221b0134 Start work on The Question update. 2017-03-13 23:42:17 -04:00
vollschauer 773e00bd75 Add selected option to PlayCharacterVoice() 2017-03-11 19:10:40 +01:00
Tom Rothamel e60f170f7f More gui testcases. 2017-02-28 16:59:47 -05:00
Tom Rothamel 658527c70e Fix crash if target is None. 2017-02-28 10:47:53 -05:00
Renoa 53dcedf4e3 Update options.rpy 2017-02-27 17:23:12 +03:00
Renoa 5093e10843 Update script.rpym 2017-02-27 17:03:27 +03:00
Renoa 9eac3e6df3 Update error.rpy 2017-02-27 17:01:28 +03:00
Renoa 51813c9839 Update error.rpy 2017-02-27 16:52:28 +03:00
Renoa 315ab0552b Update error.rpy 2017-02-27 16:51:18 +03:00
Tom Rothamel c3916309d1 Update changelog. 2017-02-27 02:03:49 -05:00
Tom Rothamel 0169cda030 Normalize all translations. 2017-02-27 00:39:37 -05:00
Tom Rothamel 85cc07cd59 Update the Indonesian translation. 2017-02-27 00:39:05 -05:00
Tom Rothamel ae3f2f1e28 Remove subsurface optimization code.
It was fundamentally broken, since subsurface optimization needs
to be done in screen space and not in subsurface.

Fixes #1146.
2017-02-27 00:13:49 -05:00
Tom Rothamel 784c0ea64e Actually peform non-axis-aligned clipping. 2017-02-26 12:47:38 -05:00
Tom Rothamel 6e33f31c2e Merge pull request #1145 from Ria-kon/master
Polishing russian for 6.99.12.4
2017-02-26 10:53:22 -05:00
Renoa 161e70571a Merge pull request #1 from renpy/master
update to recent version 2017 (6.99)
2017-02-26 16:00:06 +03:00
Ria-kon 670c8fd90d Polishing russian for 6.99.12.4
Script.rpym updated. 
1 sting updated.
2017-02-26 12:33:53 +02:00
Tom Rothamel 6713149432 Complete changelog entry.
Fixes #1144.
2017-02-25 19:21:30 -05:00
Tom Rothamel 3074fe348c Check in updated changelog. 2017-02-25 15:05:09 -05:00
Tom Rothamel 7de3afb6f9 Merge pull request #1143 from renoa/patch-22
Arabic translation for 6.99 launcher.rpy
2017-02-25 14:58:41 -05:00
Tom Rothamel da0996073a Merge pull request #1142 from renoa/patch-18
Arabic translation for 6.99 common.rpy
2017-02-25 14:58:15 -05:00
Tom Rothamel 1c65ddf5fb Merge pull request #1141 from renoa/patch-19
Arabic Translation for 6.99 developer.rpy
2017-02-25 14:58:08 -05:00
Tom Rothamel c3d9f1be66 Merge pull request #1140 from renoa/patch-24
Arabic translation for 6.99 gui.rpy
2017-02-25 14:58:00 -05:00
Renoa a24f5a1669 Update gui.rpy 2017-02-25 12:58:51 +03:00
Renoa 4ef172e640 6.99 update 2017-02-25 11:12:02 +03:00
Renoa 6989a3f311 6.88 2017-02-25 10:19:15 +03:00
Renoa 5f108daab9 6.99 update 2017-02-25 10:16:38 +03:00
Tom Rothamel 0779d7df0e Update changelog. 2017-02-24 22:36:31 -05:00
Tom Rothamel bcf623772e Unconditionally remove hide and replace on rollback or load.
Fixes #1139.
2017-02-24 02:25:44 -05:00
Tom Rothamel aaf47536f9 Merge pull request #1130 from vollschauer/master
Update keymap documentation...
2017-02-23 21:31:15 -05:00
Tom Rothamel 42a8f0dd36 Merge pull request #1134 from Ria-kon/master
Optimization of russian translation
2017-02-23 21:30:37 -05:00
Tom Rothamel 2606ebd93c Add config.self_voicing_stops_afm. 2017-02-22 22:30:20 -05:00
Tom Rothamel 64ed92931f Disable AFM when self-voicing is enabled.
AFM can cause self-voicing to end before it's finished, so it's
best to just shut it down.
2017-02-22 22:26:55 -05:00
Tom Rothamel c20231694b console: rstrip exceptions. 2017-02-22 00:18:35 -05:00
Tom Rothamel 54eb856c8e console: Persist the list of watched expressions. 2017-02-22 00:15:59 -05:00
Tom Rothamel 8e22f31047 console: Store and restore the history.
Per #1126.
2017-02-21 23:34:42 -05:00
Tom Rothamel acfcc27376 Fix the input screen. 2017-02-21 21:00:27 -05:00
Tom Rothamel 3c6d6bc7ad Allow the steam overlay to tell us when to draw the screen. 2017-02-20 21:48:36 -05:00
Tom Rothamel 8ae819aa6b Expose BOverlayNeedsPresent and GetSteamUILanguage. 2017-02-20 21:38:31 -05:00
Ria-kon 3ce21232c4 at last 2017-02-20 13:47:15 +02:00
Ria-kon f640468314 Optimized screens returns 2017-02-20 13:43:00 +02:00
Ria-kon c71c1d0e52 New console updated
-1 line of old translation deleted
+2 new lines translated
+2 lines updated
2017-02-20 13:41:05 +02:00
Tom Rothamel 0c1ee425db Fix version. 2017-02-20 01:28:53 -05:00
Tom Rothamel 9e6802c6e3 Merge branch 'maintenance/6.99.12' 2017-02-20 01:25:35 -05:00
Tom Rothamel fa32e18ddc Apply style_prefix to a viewport's scrollbars. 2017-02-20 01:15:47 -05:00
Tom Rothamel ee2d283c45 Support style inheritance when the style begins with _.
(So that _console_side inherits from _side, for example.)
2017-02-20 00:59:40 -05:00
Tom Rothamel bdfaf53798 console: Display a solid backdrop when can_renpy is false. 2017-02-19 23:58:48 -05:00
Tom Rothamel 909b0cf8e8 console: Redesign. 2017-02-19 23:54:29 -05:00
Tom Rothamel 22108c0072 Support entering the console from the exception handling screen.
Per #1126.
2017-02-19 23:22:21 -05:00
Tom Rothamel 79d251a081 Bump version. 2017-02-19 22:58:53 -05:00
Tom Rothamel 69c241b2e4 Shrink the names of some error screen buttons.
"Open Traceback" -> "Open"
"Copy to Clipboard" -> "Copy"

This adds room for a console button.
2017-02-19 21:52:28 -05:00
Ria-kon 0f1624378c Screens.rpy systemized
Well, -5 bytes =D
2017-02-20 01:51:08 +02:00
Tom Rothamel 5edce5b960 Merge branch 'maintenance/6.99.12' 2017-02-19 12:24:28 -05:00
Tom Rothamel d23d6564a1 Update docs and changelog. 2017-02-19 12:23:56 -05:00
Tom Rothamel 61d2f70d07 audio: Fadeouts now span looping audio by default.
Previously, a fadeout would come to a stop at the end of an audio
track.
2017-02-19 12:03:55 -05:00
Tom Rothamel 0a4eba1810 doc: Fix typo. 2017-02-18 21:33:37 -05:00
Tom Rothamel a50c09610c Document how config.default_afm_enable affects AFM in old games.
Also, update The Question to make use of this.
2017-02-18 21:31:24 -05:00
Tom Rothamel 8e309204f3 Require the presence of _renpybidi for Ren'Py to start.
We've been able to compile it everywhere, so there's no need for
RTL language users to be second-class.
2017-02-18 12:20:25 -05:00
Tom Rothamel f591f137e8 Mention that OpenType is supported. 2017-02-18 12:17:18 -05:00
Tom Rothamel fba7d0549e Only enable the fix on android/arm.
Well, more or less. The fix is only relevant on ARM and android,
and the functions aren't available on mac or windows, so we turn
them off there.
2017-02-18 12:17:09 -05:00
Tom Rothamel 426b68c2eb Align video to 16 byte boundaries.
This fixes #1131, which was a crash on video playback on Android/ARM,
where NEON code can SIGBUS if it it isn't run on an image aligned to
a 16 byte boundary.

(This isn't a problem on iOS, where everything is 16-byte aligned
anyway.)
2017-02-18 12:17:01 -05:00
Ria-kon 9d049b6a21 Commentaries update
1 line translation updated (that was hard)
Now only screens.rpy needed to update with new #, but i do not really want to do this.
2017-02-14 22:09:27 +02:00
Ria-kon 445141dc9b Renovating translation
Especially:
1 more unusing translation deleted
1 more missing translation added to gamepad faq
2017-02-14 20:53:41 +02:00
Ria-kon 55632a1dd1 Delete obsolete.rpy
Systematization of russian translation
2017-02-14 20:50:21 +02:00
Tom Rothamel 47d353c275 Mention that OpenType is supported. 2017-02-13 21:59:09 -05:00
Tom Rothamel bf7c75a739 Only enable the fix on android/arm.
Well, more or less. The fix is only relevant on ARM and android,
and the functions aren't available on mac or windows, so we turn
them off there.
2017-02-13 21:52:21 -05:00
Tom Rothamel 3125526471 Align video to 16 byte boundaries.
This fixes #1131, which was a crash on video playback on Android/ARM,
where NEON code can SIGBUS if it it isn't run on an image aligned to
a 16 byte boundary.

(This isn't a problem on iOS, where everything is 16-byte aligned
anyway.)
2017-02-13 21:36:50 -05:00
vollschauer bf7f88a399 Update 00barvalues.rpy 2017-02-13 09:42:29 +01:00
vollschauer 05505bb524 Update keymap.rst 2017-02-13 09:12:39 +01:00
vollschauer fa26e9dadb Update keymap.rst 2017-02-13 09:09:53 +01:00
Tom Rothamel ab8ce7cb21 Merge branch 'maintenance/6.99.12' 2017-02-12 20:50:25 -05:00
Tom Rothamel d87ffaf88b Document changes to where we search for fonts. 2017-02-12 20:08:32 -05:00
Tom Rothamel 148787f154 Do not search for system fonts while in developer mode.
The idea here is that it's better to error out on the developer's
machine, rather than the player's.
2017-02-12 13:11:45 -05:00
Tom Rothamel 2725d77577 Re-bump version. 2017-02-10 23:06:58 -05:00
Tom Rothamel 71f2d9b3bd Do not update voice information when in the menu context.
This should fix a number of issues that could happen when mixing
voice and menus. Fixes #1127.
2017-02-10 22:53:50 -05:00
Tom Rothamel 1f15a43bd2 Revert "Bump version."
This reverts commit 240b0071b9.
2017-02-09 18:10:09 -05:00
Tom Rothamel 0e289fa3a8 Merge branch 'master' of https://github.com/nyaatrap/renpy into maintenance/6.99.12 2017-02-09 17:44:19 -05:00
Tom Rothamel 95b5b2ac38 Merge branch 'master' of https://github.com/Ria-kon/renpy into maintenance/6.99.12 2017-02-09 17:43:53 -05:00
Ria-kon 7a35d8e1e6 Little improvements to russian translation 2017-02-09 20:47:33 +02:00
nyaatraps 8e2756abcc Update Japanese for 6.99.12.3 2017-02-09 19:01:08 +09:00
Tom Rothamel 8ddc85c9ee Update and fix docs. 2017-02-09 01:53:07 -05:00
Tom Rothamel 7720ceb420 Update docs. 2017-02-08 23:57:26 -05:00
Tom Rothamel b33e9d95b7 gui: Expose all text properties via gui variables. 2017-02-08 23:17:25 -05:00
Tom Rothamel 14f2632c19 Fix documentation. 2017-02-08 22:55:00 -05:00
Tom Rothamel 604c112ba5 Remove u prefix from font name strings when generating a new game. 2017-02-08 22:48:57 -05:00
Tom Rothamel 4e5ec5d529 Change font define names to their new names. 2017-02-08 22:44:57 -05:00
Tom Rothamel 240b0071b9 Bump version. 2017-02-07 23:04:56 -05:00
Tom Rothamel a1c58fa601 Fix the dmg-building command. 2017-02-06 19:45:55 -05:00
Tom Rothamel 89ec650907 Refresh adjustement dependencies when viewport height or width changes.
Fixes #1116, the last part.
2017-02-06 01:45:04 -05:00
Tom Rothamel 834fe89a88 New functions to access image attributes.
These functions check to see if a special method is defined on
a tag image. If that's the case, we use the special methods
rather than the standard way of listing attributes.
2017-02-05 01:57:32 -05:00
Tom Rothamel 862e6c3b4d Document where Function and Return action values go.
Fixes #1123.
2017-02-04 21:31:27 -05:00
Tom Rothamel de5035bd01 Condition last change on renpy.config.developer. 2017-02-03 18:04:45 -05:00
Tom Rothamel bd95c0991d Error out if someone tries to render a displayable early.
Early being before Ren'Py has finished starting.
2017-02-03 18:03:42 -05:00
Tom Rothamel 8dfb6b36df Update changelog. 2017-02-02 01:05:06 -05:00
Tom Rothamel 8855950203 Round the physical size when creating a window.
This helps deal with imprecise DPI calculations.
2017-02-01 21:15:40 -05:00
Tom Rothamel 858b966a91 doc: GUI Changes. 2017-02-01 02:20:30 -05:00
Tom Rothamel 0efe4e731d Change the default encoding of python to the fsencoding.
This is - loosely - to improve compatibility with Python 3 and
the changes introduced in 6.99.12. In Python 3, all strings
entering from the OS will be unicode - and hence, unicode can
be the filesystem encoding.

Before this change, strings from the OS were considered ASCII,
and hence would fail when concatenated to the unicode. Now they're
considered to be in the filesystem encoding, which Ren'Py already
handles properly.

This should work since all the strings in Ren'Py should be in either
unicode, utf-8 (converted explicity to or from unicode), the
filesystem encoding, ASCII (in all relevant codecs, compatible with
the filesystem encoding), or some binary format that's not converted
to unicode.
2017-01-31 22:33:54 -05:00
Tom Rothamel a6b53850c6 Decode the path to sys.executable in the launcher.
This is intended as a fix to #1120.
2017-01-30 22:47:11 -05:00
Tom Rothamel 36bd1e57d2 Fix encoding of the backup directory. 2017-01-30 22:36:32 -05:00
Tom Rothamel 141b8fcfc4 Merge pull request #1121 from xavi-mat/master
Update Italian translation (complete!)
2017-01-29 18:08:28 -05:00
xavi-mat cfc0f32693 Update Italian translation
Complete Italian translation of launcher and GUI
All credits to Lemmasoft Forum member gas
2017-01-28 19:59:58 +01:00
Tom Rothamel d6de72960e UTF-8 encode the game name and version in an error. 2017-01-26 01:27:44 -05:00
Tom Rothamel 0b79af4c23 unique: Finish marking displayables created by _duplicate as unique. 2017-01-25 18:13:27 -05:00
Tom Rothamel 461344d761 unique: Add _unique in files up to layout.py 2017-01-25 01:22:13 -05:00
Tom Rothamel ed8916cd59 unique: Document _unique and _duplicate. 2017-01-25 01:21:49 -05:00
Tom Rothamel 7c86dd5725 Mark newly-created displayables as unique. 2017-01-24 23:38:31 -05:00
Tom Rothamel 9fe019d10e Mark transforms as unique when used in screens.
This prevents unnecessary duplicaion, increasing performance.
2017-01-24 01:49:22 -05:00
Tom Rothamel 30fdd4001f Avoid excess duplication.
It's less needed in ATL (already duplicated) and SL (new displayables).
2017-01-24 01:22:57 -05:00
Tom Rothamel 1850aa6fed Deal with duplicated children in SL transforms.
The problem here is that we could cache the transform but duplicate
the child, and then updat the non-duplicated child. This fixes that.

Fixes #1116.
2017-01-23 00:01:14 -05:00
Tom Rothamel 4cafe19995 Add config.profile_screens with a list of screens to profile. 2017-01-22 23:28:39 -05:00
Tom Rothamel b8d238d9e9 gui docs: Document all of the new text related gui variables. 2017-01-22 01:24:33 -05:00
Tom Rothamel d0446bfcde Minor changes to image location picker. 2017-01-21 12:15:53 -05:00
Tom Rothamel 088411b7d5 Rename various new gui variables. 2017-01-21 02:09:52 -05:00
Tom Rothamel 829eb28c9d Rename some variabls so they don't conflict with text properties. 2017-01-20 23:02:36 -05:00
Tom Rothamel c9963bca41 Fix translation documentation. 2017-01-20 01:00:58 -05:00
Tom Rothamel e7480a53ca Document variable renamings. 2017-01-20 00:59:32 -05:00
Tom Rothamel 3356b20083 Always run config.replace_text when set.
Fixes #1114. Thanks to Doctus for a perfect diagnosis.
2017-01-19 21:55:58 -05:00
Tom Rothamel 967d4e7dee Remove gui aliases.
They shouldn't be necessary, since gui.rpy and screens.rpy should
be updated in lockstep.
2017-01-18 17:59:38 -05:00
Tom Rothamel 954d5a4c9e Improve gui.text_properties.
It's grown a number of features so that more text can be defined
using it.

* It looks at name_text_color, and uses that to set color.
* If accent is true, and color is not set, the color is set to the
  accent color.
* An alias system is in place to deal with variables that changed name.
2017-01-18 17:53:05 -05:00
Tom Rothamel 105c890ec3 gui: Update to use gui.text_properties. 2017-01-18 17:52:20 -05:00
Tom Rothamel f7a64793c3 Start moving over to text_properties. 2017-01-18 00:41:35 -05:00
Tom Rothamel ef5ee16036 Support gui.button_text_outlines and similar variables.
These set the outlines property on button text, which is something
I can see certain games wanting.
2017-01-17 19:06:12 -05:00
Tom Rothamel 9247176f1d Merge pull request #1108 from vollschauer/master
toggle_afm
2017-01-17 00:48:09 -05:00
Tom Rothamel 58e6c0a92c Bump version to 6.99.12.3. 2017-01-16 21:07:06 -05:00
Tom Rothamel 92ee50fa12 Merge pull request #1111 from Ria-kon/master
Russian translation by Project Gardares
2017-01-15 22:27:02 -05:00
Tom Rothamel db7fbbd13d Deal better with subsurfacing axis-aligned non-1:1 renders.
This is a case that actually comes up a lot, basically whenever
text was scaled. Previously, we would blit to a smaller render.
Now we transform the clipping, and subsurface using that. This
is both faster, and also fixes clipping of text when it's not
actually needed.

Fixes #1113.
2017-01-15 22:02:30 -05:00
Ria-kon 549966c69c Update 4. Ready to merge. 2017-01-16 04:46:33 +02:00
Ria-kon 8c395e97c6 Old templates grammar update 2017-01-16 04:15:34 +02:00
Ria-kon a9ca026a51 Tutorial grammar update. 2017-01-16 04:15:17 +02:00
Ria-kon 1ec342a842 Solving out-of-frame at Traceback error 2017-01-15 08:17:22 +02:00
Ria-kon 6824c09055 Grammatical recheck for update 3.
Now can only be some out-of-frames...
2017-01-15 04:46:48 +02:00
Tom Rothamel 6ff9ef375d Add build.script_version.
This is used interally (mostly by the id) to prevent the game from
going into developer mode when distributed.
2017-01-14 17:04:49 -05:00
Ria-kon 9a9cead5a2 Update 3. You can merge or you can test.
Translation of project files polished, now can only test launcher.rpy, but, well, you can merge if 6.99.12.3 tommorow =D
2017-01-14 21:18:19 +02:00
Ria-kon 4223bcde61 No degress for autosaves 2017-01-14 21:08:11 +02:00
Ria-kon 8093ada914 BLACK RIGHT-POINTING SMALL TRIANGLE
String commented (for translation)
2017-01-14 21:00:12 +02:00
Ria-kon 84e238beeb Tutorial update 2017-01-14 09:17:11 +02:00
Ria-kon 803cecc0d7 Update 2. Rusificate the New
New strings added, update tutorial (full translate and bugfixes)
In tutorial now using hack (Cyrillic transliterated to latin), cause of SFonts.
2017-01-14 09:16:20 +02:00
Ria-kon e62bb98611 Deep yofication in tutorial 2017-01-12 14:27:30 +02:00
Ria-kon 31e752489f deep yofication in launcher 2017-01-12 14:20:43 +02:00
Ria-kon 89adf77e93 Yofication and capital letter 2017-01-12 14:15:59 +02:00
Ria-kon fbb6ff7ba0 An error is being simulated
Всё же симулируется, однако
2017-01-12 13:56:10 +02:00
Ria-kon 219bb5f112 wee, 2017-01-12 13:33:45 +02:00
Ria-kon bf6d637dc7 caryoscelus patrol fix
1. Short weekdays improved
2. Renpy now contains free and open-source software, not freeware =D
3. Plurals with coordinats
4. other...
2017-01-12 13:26:05 +02:00
Ria-kon ef39d695dd Update 1. Appearance and fixes 2017-01-12 11:20:20 +02:00
Ria-kon 15c5bfab46 Grammatical update 2017-01-12 11:18:54 +02:00
Ria-kon b48e0f7c68 Grammatical update 2017-01-12 11:17:15 +02:00
Tom Rothamel 67c893fb41 Deal with the start label checkpoint.
We want to roll all the way back to the start label, and after we do
so we want to re-add the checkpoint associated with it.
2017-01-11 23:13:56 -05:00
Ria-kon 4bb2a6ed30 Перевод, обновление 2017-01-10 23:57:16 +02:00
Ria-kon a764827979 Редактирование 2017-01-10 23:56:42 +02:00
Ria-kon 51f35fb994 Ёfication 2017-01-10 23:55:24 +02:00
Tom Rothamel a8801b3099 Make all classes in Ren'Py script inherit from object.
This makes us more compatible with Python 3 semantics, and
prevents things from breaking if someone writes "class Foo:",
rather than "class Foo(object):".
2017-01-10 02:08:13 -05:00
Tom Rothamel 0c32504221 Merge pull request #1110 from SpikyCaterpillar/spiky-widget-stack-in-tb
Include widget stack in traceback when relevant
2017-01-10 00:06:30 -05:00
Spiky Caterpillar 73045e3f3c Include widget stack in traceback when relevant
When a game crashes because of an unclosed layer/widget stack, include the widget stack in the traceback.
2017-01-10 01:50:13 +00:00
Tom Rothamel 9b76083a78 Update copyright for 2017. 2017-01-05 00:39:48 -05:00
Tom Rothamel 4192546ca4 Update copyright script for 2017. 2017-01-05 00:37:42 -05:00
Tom Rothamel bbf12935ec Remove access to quick/auto saves if has_{quick,auto} save is false.
Fixes #1107, at least for newly-generated games.
2017-01-04 20:31:24 -05:00
vollschauer 7dc62e9176 Update 00keymap.rpy 2017-01-04 22:24:06 +01:00
vollschauer dbe4832f99 toggle_afm #2 2017-01-04 20:03:43 +01:00
vollschauer a611786c92 toggle_afm 2017-01-04 17:52:41 +01:00
Tom Rothamel 7df3b52a7d Expicitly add a focus to a Viewport if draggable.
This is helpful if a draggable Viewport is show on a screen with
full-screen focus, like one with dialogue on it.
2017-01-03 23:31:12 -05:00
Tom Rothamel 29b479bab0 Maintain full lines (with comments and whitespace) in lines.
And create an accessor function to get at them.
2017-01-02 01:38:30 -05:00
Tom Rothamel b6849f4373 scriptedit: Support for getting a physical line. 2017-01-01 02:34:56 -05:00
Tom Rothamel 07089c9e4a scriptedit: Do not indent blank lines. 2017-01-01 02:34:33 -05:00
Tom Rothamel 00dd47290f Properly represent blank lines in the lines list.
We were failing to include the full length of blank lines,
which meant that we couldn't remove them.
2017-01-01 02:33:25 -05:00
Tom Rothamel c1805afbb6 Add loop_only to android or ios, fixing them.
Per https://lemmasoft.renai.us/forums/viewtopic.php?f=8&t=41846
2016-12-31 17:46:16 -05:00
Tom Rothamel 96beb70d14 Raise NameError if a variable is not defined during substition.
It's a little more readable.
2016-12-31 17:15:36 -05:00
Tom Rothamel 20f4b482f6 Make the DLC URL support a 4-component version. 2016-12-30 23:33:09 -05:00
Tom Rothamel 2ab455bc06 test: Test Android support in the launcher.
This includes:

* Downloading and installing RAPT, if necessary.
* Installing the SDK and creating a key, if necessary.
* Configuring a game.
* Building an apk.
2016-12-30 02:05:49 -05:00
Tom Rothamel 65b03c3d16 test: Increase typing speed. 2016-12-30 01:57:55 -05:00
Tom Rothamel 441f31742f Support conditional execution of tests. 2016-12-29 22:49:49 -05:00
Tom Rothamel afd5fd994f Update docs. 2016-12-29 22:09:37 -05:00
Tom Rothamel c6c6ed4099 test.sh: Link in testing. 2016-12-29 22:07:18 -05:00
Tom Rothamel e20c30bea5 Trap errors when getting lines to report a traceback. 2016-12-29 22:02:44 -05:00
Tom Rothamel 1789caf4d7 Merge pull request #1103 from morganwillcock/guidocs
Fix typos in new GUI docs
2016-12-28 21:37:37 -05:00
Tom Rothamel 183327eec5 Bump version. 2016-12-28 20:52:54 -05:00
Morgan Willcock 1fb97f90cc Fix more typos...
...including the one I just added.
2016-12-28 12:14:25 +00:00
Morgan Willcock 2fcfede988 HTML color codes can have an alpha component 2016-12-28 11:51:15 +00:00
Tom Rothamel 400175ecb3 Add a list of line log callbacks.
These let code (the id) annotate the line log with arbitrary
information, without requiring the core of Ren'Py to be
changed.
2016-12-28 00:37:09 -05:00
Morgan Willcock 9e47dac5b0 Fix typos in new GUI docs 2016-12-27 17:32:55 +00:00
Tom Rothamel 6fecd67ffd Do not set clipping True for viewports.
It's not needed, since subsurface should handle any case where it is.
2016-12-26 20:46:06 -05:00
Tom Rothamel 321f949c94 Pass focuses from a render with clipping=True. 2016-12-26 20:44:41 -05:00
Tom Rothamel b3ae56970e Support 4+ element versions when making symlinks. 2016-12-23 10:16:11 -05:00
Tom Rothamel 2aaabb3909 Use gpg2 to sign the checksum file. 2016-12-23 09:47:15 -05:00
Tom Rothamel 778cb29761 Update Indonesian translation. 2016-12-23 00:51:31 -05:00
Tom Rothamel aabf85fc59 Update indonesian translation. 2016-12-23 00:15:32 -05:00
Tom Rothamel 19b71be3e0 distribute: Only delete an update file if it exists.
Fixes #1096. Since we can't update the mac app version, we don't
produce the update file, and hence can't delete it later on.
2016-12-22 17:29:08 -05:00
Tom Rothamel b9fb3bd619 Properly pass ui.gamemenus first argument to _game_menu.
Fixes #1097.
2016-12-22 17:04:14 -05:00
Tom Rothamel 1e0de5854d Encode the name parameter to MultiPersistent.
This fixes a problem where we mix unicode and non-unicode, and
Ren'Py crashes. (As described in #1095.)
2016-12-22 00:09:10 -05:00
Tom Rothamel db782d6e16 Support testing multipersistent via test.sh. 2016-12-22 00:04:20 -05:00
Tom Rothamel 3dbff5649d Test script that runs Ren'Py from a non-ascii directory. 2016-12-21 23:54:42 -05:00
Tom Rothamel 44cecf3866 Fix checksum creation. 2016-12-21 02:02:09 -05:00
Tom Rothamel 808ac1fd4f Bump the version to 6.99.13. 2016-12-20 22:29:48 -05:00
Tom Rothamel db593d0614 tl: Updatei indonesian translation. 2016-12-19 21:46:31 -05:00
Gustavo Carvalho 28caf36653 fix typo 2016-10-28 12:01:23 -03:00
Gustavo Carvalho 968953b294 translate help page from spanish to portuguese 2016-10-28 12:00:32 -03:00
1000 changed files with 61938 additions and 19821 deletions
+10 -1
View File
@@ -49,6 +49,7 @@ styles.txt
/module/build
/module/gen*
/editra
/atom
/launcher/game/theme
/launcher/game/script_version.rpy
@@ -63,10 +64,12 @@ renpy/vc_version.py
/steam_appid.txt
/.coverage
/id
/ai
/interface_7
/htmlcov
/the_question/.android.json
/the_question*/.android.json
/WINDOWS.rst
/old
/*-all/
/*-win/
@@ -74,3 +77,9 @@ renpy/vc_version.py
/*-linux*/
/*-dists/
doc-web
sphinx/source/inc
sphinx/source/keywords.py
sphinx/source/thequestion.rst
tutorial/game/tutorial_director.rpy
launcher/theme
BIN
View File
Binary file not shown.
+3 -3
View File
@@ -2,7 +2,7 @@
The Ren'Py Visual Novel Engine
==============================
http://www.renpy.org
https://www.renpy.org
Ren'Py development takes place on the ``master`` branch, and occasionally
on feature branches.
@@ -25,7 +25,7 @@ Nightly Build
Nightly builds can be downloaded from:
http://nightly.renpy.org
https://nightly.renpy.org
Note that the latest nightly build is at the bottom of the list. Once you've
unpacked the nightly, change into this repository, and run::
@@ -154,7 +154,7 @@ Translating
For best practices when it comes to translating the launcher and template
game, please read:
http://lemmasoft.renai.us/forums/viewtopic.php?p=321603#p321603
https://lemmasoft.renai.us/forums/viewtopic.php?p=321603#p321603
Contributing
+21
View File
@@ -0,0 +1,21 @@
This file contains the names, contact information, and notes about each
language Ren'Py is translated in. When you're adding a translation or
taking responsibility for a translation, please send a pull request updating
this file.
Pig Latin
---------
This is an automatically-generated translation that lets me test various
translation mechanisms.
* Tom Rothamel <pytom@bishoujo.us>
Russian
---------
Translation to the Russian language. Most of translation provided by Project
Gardares, especially Ria-kon.
* Project Gardares <guardares@gmail.com>
+8 -1
View File
@@ -18,7 +18,7 @@ SOURCE = [
]
version = ".".join(str(i) for i in version_tuple)
short_version = ".".join(str(i) for i in version_tuple[:3])
short_version = ".".join(str(i) for i in version_tuple[:-1])
print("Version", version)
ap = argparse.ArgumentParser()
@@ -106,4 +106,11 @@ for i in links:
os.chdir("/home/tom/ab/website")
subprocess.check_call("./upload.sh")
os.chdir("/home/tom/ab/renpy/sphinx")
if args.release:
subprocess.check_call("./upload.sh")
elif args.prerelease:
subprocess.check_call("./upload_dev.sh")
print("Version", version)
-3
View File
@@ -110,9 +110,6 @@ def main():
print("Autobuild...")
subprocess.check_call(["scripts/autobuild.sh"])
# Copy over the screens, to keep them up to date.
copy_tutorial_file("tutorial/game/screens.rpy", "templates/english/game/screens.rpy")
# Compile all the python files.
compileall.compile_dir("renpy/", ddir="renpy/", force=1, quiet=1)
+42 -35
View File
@@ -1,9 +1,9 @@
################################################################################
################################################################################
## Initialization
################################################################################
## The init offset statement causes the init code in this file to run before
## init code in any other file.
## The init offset statement causes the initialization statements in this file
## to run before init statements in any other file.
init offset = -2
## Calling gui.init resets the styles to sensible default values, and sets the
@@ -27,7 +27,7 @@ init python:
define gui.accent_color = "#00b8c3"
## The color used for a text button when it is neither selected nor hovered.
define gui.idle_color = "#555555"
define gui.idle_color = "#888888"
## The small color is used for small text, which needs to be
## brighter/darker to achieve the same effect.
@@ -56,13 +56,13 @@ define gui.interface_text_color = "#ffffff"
## Fonts and Font Sizes ########################################################
## The font used for in-game text.
define gui.default_font = "DejaVuSans.ttf"
define gui.text_font = "DejaVuSans.ttf"
## The font used for character names.
define gui.name_font = "DejaVuSans.ttf"
define gui.name_text_font = "DejaVuSans.ttf"
## The font used for out-of-game text.
define gui.interface_font = "DejaVuSans.ttf"
define gui.interface_text_font = "DejaVuSans.ttf"
## The size of normal dialogue text.
define gui.text_size = gui.scale(22)
@@ -71,10 +71,10 @@ define gui.text_size = gui.scale(22)
define gui.name_text_size = gui.scale(30)
## The size of text in the game's user interface.
define gui.interface_text_size = gui.scale(24)
define gui.interface_text_size = gui.scale(22)
## The size of labels in the game's user interface.
define gui.label_text_size = gui.scale(28)
define gui.label_text_size = gui.scale(24)
## The size of text on the notify screen.
define gui.notify_text_size = gui.scale(16)
@@ -89,9 +89,6 @@ define gui.title_text_size = gui.scale(50)
define gui.main_menu_background = "gui/main_menu.png"
define gui.game_menu_background = "gui/game_menu.png"
## Should we show the name and version of the game?
define gui.show_name = True
## Dialogue ####################################################################
##
@@ -132,15 +129,15 @@ define gui.namebox_tile = False
## The placement of dialogue relative to the textbox. These can be a whole
## number of pixels relative to the left or top side of the textbox, or 0.5
## to center.
define gui.text_xpos = gui.scale(268)
define gui.text_ypos = gui.scale(50)
define gui.dialogue_xpos = gui.scale(268)
define gui.dialogue_ypos = gui.scale(50)
## The maximum width of dialogue text, in pixels.
define gui.text_width = gui.scale(744)
define gui.dialogue_width = gui.scale(744)
## The horizontal alignment of the dialogue text. This can be 0.0 for
## left-aligned, 0.5 for centered, and 1.0 for right-aligned.
define gui.text_xalign = 0.0
define gui.dialogue_text_xalign = 0.0
## Buttons #####################################################################
@@ -150,7 +147,7 @@ define gui.text_xalign = 0.0
## The width and height of a button, in pixels. If None, Ren'Py computes a size.
define gui.button_width = None
define gui.button_height = gui.scale(36)
define gui.button_height = None
## The borders on each side of the button, in left, top, right, bottom order.
define gui.button_borders = Borders(gui.scale(4), gui.scale(4), gui.scale(4), gui.scale(4))
@@ -160,7 +157,7 @@ define gui.button_borders = Borders(gui.scale(4), gui.scale(4), gui.scale(4), gu
define gui.button_tile = False
## The font used by the button.
define gui.button_text_font = gui.interface_font
define gui.button_text_font = gui.interface_text_font
## The size of the text used by the button.
define gui.button_text_size = gui.interface_text_size
@@ -182,9 +179,9 @@ define gui.button_text_xalign = 0.0
##
## These customizations are used by the default interface:
define gui.radio_button_borders = Borders(gui.scale(25), gui.scale(4), gui.scale(4), gui.scale(4))
define gui.radio_button_borders = Borders(gui.scale(18), gui.scale(4), gui.scale(4), gui.scale(4))
define gui.check_button_borders = Borders(gui.scale(25), gui.scale(4), gui.scale(4), gui.scale(4))
define gui.check_button_borders = Borders(gui.scale(18), gui.scale(4), gui.scale(4), gui.scale(4))
define gui.confirm_button_text_xalign = 0.5
@@ -210,7 +207,7 @@ define gui.choice_button_width = gui.scale(790)
define gui.choice_button_height = None
define gui.choice_button_tile = False
define gui.choice_button_borders = Borders(gui.scale(100), gui.scale(5), gui.scale(100), gui.scale(5))
define gui.choice_button_text_font = gui.default_font
define gui.choice_button_text_font = gui.text_font
define gui.choice_button_text_size = gui.text_size
define gui.choice_button_text_xalign = 0.5
define gui.choice_button_text_idle_color = "#cccccc"
@@ -230,6 +227,8 @@ define gui.slot_button_borders = Borders(gui.scale(10), gui.scale(10), gui.scale
define gui.slot_button_text_size = gui.scale(14)
define gui.slot_button_text_xalign = 0.5
define gui.slot_button_text_idle_color = gui.idle_small_color
define gui.slot_button_text_selected_idle_color = gui.selected_color
define gui.slot_button_text_selected_hover_color = gui.hover_color
## The width and height of thumbnails used by the save slots.
define config.thumbnail_width = gui.scale(256)
@@ -273,13 +272,16 @@ define gui.page_spacing = gui.scale(0)
## The spacing between file slots.
define gui.slot_spacing = gui.scale(10)
## The position of the main menu text.
define gui.main_menu_text_xalign = 1.0
## Frames ######################################################################
##
## These variables control the look of frames that can contain user interface
## components when an overlay or window is not present.
## Generic frames that are introduced by player code.
## Generic frames.
define gui.frame_borders = Borders(gui.scale(4), gui.scale(4), gui.scale(4), gui.scale(4))
## The frame that is used as part of the confirm screen.
@@ -300,13 +302,13 @@ define gui.frame_tile = False
## These control the look and size of bars, scrollbars, and sliders.
##
## The default GUI only uses sliders and vertical scrollbars.
## All of the other bars are only used in creator-written code.
## All of the other bars are only used in creator-written screens.
## The height of horizontal bars, scrollbars, and sliders. The width of
## vertical bars, scrollbars, and sliders.
define gui.bar_size = gui.scale(36)
define gui.bar_size = gui.scale(25)
define gui.scrollbar_size = gui.scale(12)
define gui.slider_size = gui.scale(30)
define gui.slider_size = gui.scale(25)
## True if bar images should be tiled. False if they should be linearly scaled.
define gui.bar_tile = False
@@ -341,14 +343,14 @@ define gui.history_height = gui.scale(140)
## The position, width, and alignment of the label giving the name of the
## speaking character.
define gui.history_name_xpos = 150
define gui.history_name_xpos = gui.scale(155)
define gui.history_name_ypos = 0
define gui.history_name_width = gui.scale(150)
define gui.history_name_width = gui.scale(155)
define gui.history_name_xalign = 1.0
## The position, width, and alignment of the dialogue text.
define gui.history_text_xpos = gui.scale(170)
define gui.history_text_ypos = gui.scale(5)
define gui.history_text_ypos = gui.scale(2)
define gui.history_text_width = gui.scale(740)
define gui.history_text_xalign = 0.0
@@ -360,6 +362,10 @@ define gui.history_text_xalign = 0.0
## The borders of the background of the NVL-mode background window.
define gui.nvl_borders = Borders(0, gui.scale(10), 0, gui.scale(20))
## The maximum number of NVL-mode entries Ren'Py will display. When more
## entries than this are to be show, the oldest entry will be removed.
define gui.nvl_list_length = 6
## The height of an NVL-mode entry. Set this to None to have the entries
## dynamically adjust height.
define gui.nvl_height = gui.scale(115)
@@ -421,9 +427,9 @@ init python:
gui.text_size = gui.scale(30)
gui.name_text_size = gui.scale(36)
gui.notify_text_size = gui.scale(25)
gui.interface_text_size = gui.scale(36)
gui.button_text_size = gui.scale(34)
gui.label_text_size = gui.scale(36)
gui.interface_text_size = gui.scale(30)
gui.button_text_size = gui.scale(30)
gui.label_text_size = gui.scale(34)
## Adjust the location of the textbox.
gui.textbox_height = gui.scale(240)
@@ -431,7 +437,9 @@ init python:
gui.text_xpos = gui.scale(90)
gui.text_width = gui.scale(1100)
## Change the size and spacing of items in the game menu.
## Change the size and spacing of various things.
gui.slider_size = gui.scale(36)
gui.choice_button_width = gui.scale(1240)
gui.navigation_spacing = gui.scale(20)
@@ -440,6 +448,8 @@ init python:
gui.history_height = gui.scale(190)
gui.history_text_width = gui.scale(690)
gui.quick_button_text_size = gui.scale(20)
## File button layout.
gui.file_slot_cols = 2
gui.file_slot_rows = 2
@@ -460,8 +470,5 @@ init python:
gui.nvl_button_width = gui.scale(1240)
gui.nvl_button_xpos = gui.scale(20)
## Quick buttons.
gui.quick_button_text_size = gui.scale(20)
+1 -1
View File
@@ -1,4 +1,4 @@
init -100 python in gui:
init -100 python in gui:
def scale(n):
return int(n)
+16 -3
View File
@@ -28,10 +28,11 @@ define gui.show_name = True
define config.version = "1.0"
## Text that is placed on the game's about screen. To insert a blank line
## between paragraphs, write \n\n.
## Text that is placed on the game's about screen. Place the text between
## the triple-quotes, and leave a blank line between paragraphs.
define gui.about = _("")
define gui.about = _p("""
""")
## A short name for the game used for executables and directories in the
@@ -78,6 +79,11 @@ define config.enter_transition = dissolve
define config.exit_transition = dissolve
## Between screens of the game menu.
define config.intra_transition = dissolve
## A transition that is used after a game has been loaded.
define config.after_load_transition = None
@@ -193,6 +199,13 @@ init python:
build.documentation('*.html')
build.documentation('*.txt')
## Set this to a string containing your Apple Developer ID Application
## to enable codesigning on the Mac. Be sure to change it to your own
## Apple-issued ID.
# define build.mac_identity = "Developer ID Application: Guy Shy (XHTE5H7Z42)"
## A Google Play license key is required to download expansion files and
## perform in-app purchases. It can be found on the "Services & APIs" page
## of the Google Play developer console.
+107 -62
View File
@@ -1,4 +1,4 @@
################################################################################
################################################################################
## Initialization
################################################################################
@@ -10,41 +10,34 @@ init offset = -1
################################################################################
style default:
font gui.default_font
size gui.text_size
color gui.text_color
properties gui.text_properties()
language gui.language
style input:
color gui.accent_color
properties gui.text_properties("input", accent=True)
adjust_spacing False
style hyperlink_text:
color gui.accent_color
hover_color gui.hover_color
properties gui.text_properties("hyperlink", accent=True)
hover_underline True
style gui_text:
font gui.interface_font
color gui.interface_text_color
size gui.interface_text_size
properties gui.text_properties("interface")
style button:
properties gui.button_properties("button")
style button_text is gui_text:
properties gui.button_text_properties("button")
properties gui.text_properties("button")
yalign 0.5
style label_text is gui_text:
color gui.accent_color
size gui.label_text_size
properties gui.text_properties("label", accent=True)
style prompt_text is gui_text:
color gui.text_color
size gui.interface_text_size
properties gui.text_properties("prompt")
style bar:
@@ -111,6 +104,7 @@ screen say(who, what):
if who is not None:
window:
id "namebox"
style "namebox"
text who id "who"
@@ -123,6 +117,10 @@ screen say(who, what):
add SideImage() xalign 0.0 yalign 1.0
## Make the namebox available for styling through the Character object.
init python:
config.character_id_prefixes.append('namebox')
style window is default
style say_label is default
style say_dialogue is default
@@ -151,20 +149,16 @@ style namebox:
padding gui.namebox_borders.padding
style say_label:
color gui.accent_color
font gui.name_font
size gui.name_text_size
properties gui.text_properties("name", accent=True)
xalign gui.name_xalign
yalign 0.5
style say_dialogue:
xpos gui.text_xpos
xanchor gui.text_xalign
xsize gui.text_width
ypos gui.text_ypos
properties gui.text_properties("dialogue")
text_align gui.text_xalign
layout ("subtitle" if gui.text_xalign else "tex")
xpos gui.dialogue_xpos
xsize gui.dialogue_width
ypos gui.dialogue_ypos
## Input screen ################################################################
@@ -175,7 +169,7 @@ style say_dialogue:
## This screen must create an input displayable with id "input" to accept
## the various input parameters.
##
## http://www.renpy.org/doc/html/screen_special.html#input
## https://www.renpy.org/doc/html/screen_special.html#input
screen input(prompt):
style_prefix "input"
@@ -183,25 +177,24 @@ screen input(prompt):
window:
vbox:
xpos gui.text_xpos
xanchor gui.text_xalign
ypos gui.text_ypos
xalign gui.dialogue_text_xalign
xpos gui.dialogue_xpos
xsize gui.dialogue_width
ypos gui.dialogue_ypos
text prompt style "input_prompt"
input id "input"
style input_prompt is default
style input_prompt:
xmaximum gui.text_width
xalign gui.text_xalign
text_align gui.text_xalign
xalign gui.dialogue_text_xalign
properties gui.text_properties("input_prompt")
style input:
xmaximum gui.text_width
xalign gui.text_xalign
text_align gui.text_xalign
xalign gui.dialogue_text_xalign
xmaximum gui.dialogue_width
## Choice screen ###############################################################
##
@@ -209,7 +202,7 @@ style input:
## menu statement. The one parameter, items, is a list of objects, each
## with caption and action fields.
##
## http://www.renpy.org/doc/html/screen_special.html#choice
## https://www.renpy.org/doc/html/screen_special.html#choice
screen choice(items):
style_prefix "choice"
@@ -354,7 +347,7 @@ style navigation_button_text:
##
## Used to display the main menu when Ren'Py starts.
##
## http://www.renpy.org/doc/html/screen_special.html#main-menu
## https://www.renpy.org/doc/html/screen_special.html#main-menu
screen main_menu():
@@ -403,14 +396,13 @@ style main_menu_vbox:
yoffset gui.scale(-20)
style main_menu_text:
xalign 1.0
layout "subtitle"
text_align 1.0
color gui.accent_color
properties gui.text_properties("main_menu", accent=True)
style main_menu_title:
size gui.title_text_size
properties gui.text_properties("title")
style main_menu_version:
properties gui.text_properties("version")
## Game Menu screen ############################################################
@@ -422,7 +414,7 @@ style main_menu_title:
## this screen is intended to be used with one or more children, which are
## transcluded (placed) inside it.
screen game_menu(title, scroll=None):
screen game_menu(title, scroll=None, yinitial=0.0):
style_prefix "game_menu"
@@ -446,9 +438,11 @@ screen game_menu(title, scroll=None):
if scroll == "viewport":
viewport:
yinitial yinitial
scrollbars "vertical"
mousewheel True
draggable True
pagekeys True
side_yfill True
@@ -459,11 +453,12 @@ screen game_menu(title, scroll=None):
vpgrid:
cols 1
yinitial 1.0
yinitial yinitial
scrollbars "vertical"
mousewheel True
draggable True
pagekeys True
side_yfill True
@@ -667,9 +662,11 @@ screen file_slots(title):
textbutton _("<") action FilePagePrevious()
textbutton _("{#auto_page}A") action FilePage("auto")
if config.has_autosave:
textbutton _("{#auto_page}A") action FilePage("auto")
textbutton _("{#quick_page}Q") action FilePage("quick")
if config.has_quicksave:
textbutton _("{#quick_page}Q") action FilePage("quick")
## range(1, 10) gives the numbers from 1 to 9.
for page in range(1, 10):
@@ -721,11 +718,6 @@ screen preferences():
tag menu
if renpy.mobile:
$ cols = 2
else:
$ cols = 4
use game_menu(_("Preferences"), scroll="viewport"):
vbox:
@@ -896,7 +888,7 @@ screen history():
## Avoid predicting this screen, as it can be very large.
predict False
use game_menu(_("History"), scroll=("vpgrid" if gui.history_height else "viewport")):
use game_menu(_("History"), scroll=("vpgrid" if gui.history_height else "viewport"), yinitial=1.0):
style_prefix "history"
@@ -917,12 +909,19 @@ screen history():
if "color" in h.who_args:
text_color h.who_args["color"]
text h.what
$ what = renpy.filter_text_tags(h.what, allow=gui.history_allow_tags)
text what
if not _history_list:
label _("The dialogue history is empty.")
## This determines what tags are allowed to be displayed on the history
## screen.
define gui.history_allow_tags = set()
style history_window is empty
style history_name is gui_label
@@ -1083,6 +1082,7 @@ screen gamepad_help():
label _("Right Shoulder")
text _("Rolls forward to later dialogue.")
hbox:
label _("D-Pad, Sticks")
text _("Navigate the interface.")
@@ -1132,7 +1132,7 @@ style help_label_text:
## The confirm screen is called when Ren'Py wants to ask the player a yes or
## no question.
##
## http://www.renpy.org/doc/html/screen_special.html#confirm
## https://www.renpy.org/doc/html/screen_special.html#confirm
screen confirm(message, yes_action, no_action):
@@ -1241,8 +1241,8 @@ style skip_text:
size gui.notify_text_size
style skip_triangle:
# We have to use a font that has the BLACK RIGHT-POINTING SMALL TRIANGLE
# glyph in it.
## We have to use a font that has the BLACK RIGHT-POINTING SMALL TRIANGLE
## glyph in it.
font "DejaVuSans.ttf"
@@ -1259,7 +1259,7 @@ screen notify(message):
style_prefix "notify"
frame at notify_appear:
text message
text "[message!tq]"
timer 3.25 action Hide('notify')
@@ -1282,14 +1282,14 @@ style notify_frame:
padding gui.notify_frame_borders.padding
style notify_text:
size gui.notify_text_size
properties gui.text_properties("notify")
## NVL screen ##################################################################
##
## This screen is used for NVL-mode dialogue and menus.
##
## http://www.renpy.org/doc/html/screen_special.html#nvl
## https://www.renpy.org/doc/html/screen_special.html#nvl
screen nvl(dialogue, items=None):
@@ -1345,7 +1345,7 @@ screen nvl_dialogue(dialogue):
## This controls the maximum number of NVL-mode entries that can be displayed
## at once.
define config.nvl_list_length = 6
define config.nvl_list_length = gui.nvl_list_length
style nvl_window is default
style nvl_entry is default
@@ -1435,6 +1435,14 @@ style window:
variant "small"
background "gui/phone/textbox.png"
style radio_button:
variant "small"
foreground "gui/phone/button/check_[prefix_]foreground.png"
style check_button:
variant "small"
foreground "gui/phone/button/check_[prefix_]foreground.png"
style nvl_window:
variant "small"
background "gui/phone/nvl.png"
@@ -1459,6 +1467,42 @@ style pref_vbox:
variant "small"
xsize gui.scale(400)
style bar:
variant "small"
ysize gui.bar_size
left_bar Frame("gui/phone/bar/left.png", gui.bar_borders, tile=gui.bar_tile)
right_bar Frame("gui/phone/bar/right.png", gui.bar_borders, tile=gui.bar_tile)
style vbar:
variant "small"
xsize gui.bar_size
top_bar Frame("gui/phone/bar/top.png", gui.vbar_borders, tile=gui.bar_tile)
bottom_bar Frame("gui/phone/bar/bottom.png", gui.vbar_borders, tile=gui.bar_tile)
style scrollbar:
variant "small"
ysize gui.scrollbar_size
base_bar Frame("gui/phone/scrollbar/horizontal_[prefix_]bar.png", gui.scrollbar_borders, tile=gui.scrollbar_tile)
thumb Frame("gui/phone/scrollbar/horizontal_[prefix_]thumb.png", gui.scrollbar_borders, tile=gui.scrollbar_tile)
style vscrollbar:
variant "small"
xsize gui.scrollbar_size
base_bar Frame("gui/phone/scrollbar/vertical_[prefix_]bar.png", gui.vscrollbar_borders, tile=gui.scrollbar_tile)
thumb Frame("gui/phone/scrollbar/vertical_[prefix_]thumb.png", gui.vscrollbar_borders, tile=gui.scrollbar_tile)
style slider:
variant "small"
ysize gui.slider_size
base_bar Frame("gui/phone/slider/horizontal_[prefix_]bar.png", gui.slider_borders, tile=gui.slider_tile)
thumb "gui/phone/slider/horizontal_[prefix_]thumb.png"
style vslider:
variant "small"
xsize gui.slider_size
base_bar Frame("gui/phone/slider/vertical_[prefix_]bar.png", gui.vslider_borders, tile=gui.slider_tile)
thumb "gui/phone/slider/vertical_[prefix_]thumb.png"
style slider_pref_vbox:
variant "small"
xsize None
@@ -1470,3 +1514,4 @@ style slider_pref_slider:
+1 -3
View File
@@ -1,4 +1,4 @@
# The script of the game goes in this file.
# The script of the game goes in this file.
# Declare characters used by this game. The color argument colorizes the
# name of the character.
@@ -24,8 +24,6 @@ label start:
# These display lines of dialogue.
"Hello, world."
e "You've created a new Ren'Py game."
e "Once you add a story, pictures, and music, you can release it to the world!"
+147 -1
View File
@@ -1,4 +1,4 @@
testcase default:
testcase default:
"Start"
pause .6
@@ -11,4 +11,150 @@ testcase default:
click
click
"History"
pause .6
# Test Help.
"Help"
"Keyboard"
# Test About
"About"
# Test Preferences
"Preferences"
"Left"
"Right"
"Disable"
"Unseen Text"
"Unseen Text"
"After Choices"
"After Choices"
"Transitions"
"Transitions"
"Mute All"
"Mute All"
"Save"
"Load"
"Return"
pause .6
run Jump("test")
"In testcase code."
# menu_1
click until "Choice A"
# input
type "Test User\n"
"Name: Test User"
# Nvl
click
click
click
click
click
click until "NVL 6"
# NVL Menu.
"Choice B"
$ renpy.unlink_save("1-1")
"Save"
pause .6
"Save slot 1"
pause .6
"Save slot 1"
"Yes"
"Main Menu"
"Yes"
"Load"
"Load slot 1"
pause .5
"Save"
pause .5
"Load"
"Load slot 1"
"No"
"Return"
# Done.
pause .5
"Done."
"Quit"
define nvle = Character("Eileen", kind=nvl)
label test:
"In testcase code."
menu menu_1:
"This is a menu."
"Choice A":
pass
"Choice B":
pass
label after_menu_1:
$ name = renpy.input("What is your name?")
"Name: [name]"
nvle "NVL 1"
nvle "NVL 2"
nvle "NVL 3"
nvl clear
nvle "NVL 4"
nvle "NVL 5"
nvle "NVL 6"
$ menu = nvl_menu
menu menu_2:
"This is a menu."
"Choice A":
pass
"Choice B":
pass
label after_menu_2:
"Done."
return
+2 -2
View File
@@ -124,7 +124,7 @@ H3 {
<dt>v</dt>
<dd>
Toggles self-voicing mode, which reads text to the user using an os-supplied speech synthesizer. For more
information, please read the <a href="http://www.renpy.org/doc/html/self_voicing.html">self-voicing</a>
information, please read the <a href="https://www.renpy.org/doc/html/self_voicing.html">self-voicing</a>
documentation.
</dd>
<dt>Shift+C</dt>
@@ -171,7 +171,7 @@ H3 {
<h2>Legal Notice</h2>
<p>
This program contains free software licensed under a number of licenses, including the GNU Lesser Public License. A
complete list of software is available at <a href="http://www.renpy.org/doc/html/license.html">http://www.renpy.org/doc/html/license.html</a>.
complete list of software is available at <a href="https://www.renpy.org/doc/html/license.html">https://www.renpy.org/doc/html/license.html</a>.
</p>
</body>
+1 -1
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2016 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2018 Tom Rothamel <pytom@bishoujo.us>
#
# Permission is hereby granted, free of charge, to any person
# obtaining a copy of this software and associated documentation files
+1 -1
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2016 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2018 Tom Rothamel <pytom@bishoujo.us>
#
# Permission is hereby granted, free of charge, to any person
# obtaining a copy of this software and associated documentation files
+1 -1
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2016 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2018 Tom Rothamel <pytom@bishoujo.us>
#
# Permission is hereby granted, free of charge, to any person
# obtaining a copy of this software and associated documentation files
+8 -4
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2016 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2018 Tom Rothamel <pytom@bishoujo.us>
#
# Permission is hereby granted, free of charge, to any person
# obtaining a copy of this software and associated documentation files
@@ -164,6 +164,8 @@ init python:
with open(filename, "r") as f:
android_json = json.load(f)
old_android_json = dict(android_json)
if "google_play_key" in build:
android_json["google_play_key"] = build["google_play_key"]
else:
@@ -178,9 +180,11 @@ init python:
else:
android_json.pop("google_play_salt", None)
if android_json != old_android_json:
with open(filename, "w") as f:
json.dump(android_json, f)
with open(filename, "w") as f:
json.dump(android_json, f)
def android_build(command, p=None, gui=True, launch=False, destination=None, opendir=False):
"""
@@ -301,7 +305,7 @@ screen android:
has vbox
label _("Android: [project.current.name!q]")
label _("Android: [project.current.display_name!q]")
add HALF_SPACER
+1 -1
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2016 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2018 Tom Rothamel <pytom@bishoujo.us>
#
# Permission is hereby granted, free of charge, to any person
# obtaining a copy of this software and associated documentation files
+1 -1
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2016 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2018 Tom Rothamel <pytom@bishoujo.us>
#
# Permission is hereby granted, free of charge, to any person
# obtaining a copy of this software and associated documentation files
+1 -1
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2016 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2018 Tom Rothamel <pytom@bishoujo.us>
#
# Permission is hereby granted, free of charge, to any person
# obtaining a copy of this software and associated documentation files
+1 -1
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2016 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2018 Tom Rothamel <pytom@bishoujo.us>
#
# Permission is hereby granted, free of charge, to any person
# obtaining a copy of this software and associated documentation files
+2 -2
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2016 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2018 Tom Rothamel <pytom@bishoujo.us>
#
# Permission is hereby granted, free of charge, to any person
# obtaining a copy of this software and associated documentation files
@@ -75,7 +75,7 @@ init python:
os.chmod(self.fn, 0o755)
if renpy.windows:
subprocess.Popen([ renpy.fsencode(self.fn) ], console=True)
subprocess.Popen([ renpy.fsencode(self.fn) ], shell=True)
elif renpy.macintosh:
subprocess.Popen([ "open", "-a", "Terminal", renpy.fsencode(self.fn) ])
else:
+83 -61
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2016 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2018 Tom Rothamel <pytom@bishoujo.us>
#
# Permission is hereby granted, free of charge, to any person
# obtaining a copy of this software and associated documentation files
@@ -174,7 +174,7 @@ init python in distribute:
Update hash with information about this entry.
"""
key = (self.name, self.path, self.directory, self.executable)
key = (self.name, self.directory, self.executable)
hash.update(repr(key))
@@ -557,6 +557,8 @@ init python in distribute:
p["file_lists"],
dlc=p["dlc"])
wait_parallel_threads()
if self.build_update:
self.finish_updates(build_packages)
@@ -771,15 +773,17 @@ init python in distribute:
if os.path.exists(LICENSE_TXT):
self.add_file("renpy", "renpy/LICENSE.txt", LICENSE_TXT)
if (not os.path.exists(os.path.join(self.project.path, "game", "script_version.rpy"))) and \
(not os.path.exists(os.path.join(self.project.path, "game", "script_version.rpyc"))):
if self.build["script_version"]:
script_version_txt = self.temp_filename("script_version.txt")
if (not os.path.exists(os.path.join(self.project.path, "game", "script_version.rpy"))) and \
(not os.path.exists(os.path.join(self.project.path, "game", "script_version.rpyc"))):
with open(script_version_txt, "w") as f:
f.write(repr(renpy.renpy.version_tuple[:-1]))
script_version_txt = self.temp_filename("script_version.txt")
self.add_file("all", "game/script_version.txt", script_version_txt)
with open(script_version_txt, "w") as f:
f.write(repr(renpy.renpy.version_tuple[:-1]))
self.add_file("all", "game/script_version.txt", script_version_txt)
def add_file_list_hash(self, list_name):
"""
@@ -860,10 +864,12 @@ init python in distribute:
windows = 'binary'
linux = 'binary'
mac = 'binary'
raspi = 'raspi'
else:
windows = 'windows'
linux = 'linux'
mac = 'mac'
raspi = 'linux'
self.add_file(
linux,
@@ -877,6 +883,17 @@ init python in distribute:
os.path.join(config.renpy_base, "lib/linux-x86_64/pythonw"),
True)
armfn = os.path.join(config.renpy_base, "lib/linux-armv7l/pythonw")
if os.path.exists(armfn):
self.add_file(
raspi,
"lib/linux-armv7l/" + self.executable_name,
armfn,
True)
self.add_file(
mac,
"lib/darwin-x86_64/" + self.executable_name,
@@ -1234,71 +1251,76 @@ init python in distribute:
file_hash, old_fl_hash = self.build_cache.get(full_filename, ("", ""))
if directory or old_fl_hash != fl_hash:
if (not directory) and old_fl_hash == fl_hash:
if format == "tar.bz2":
pkg = TarPackage(path, "w:bz2")
elif format == "update":
pkg = TarPackage(path, "w", notime=True)
elif format == "zip" or format == "app-zip":
pkg = ZipPackage(path)
elif directory:
pkg = DirectoryPackage(path)
if file_hash:
self.build_cache[full_filename] = (file_hash, fl_hash)
for i, f in enumerate(fl):
self.reporter.progress(_("Writing the [variant] [format] package."), i, len(fl), variant=variant, format=format)
return
if f.directory:
pkg.add_directory(f.name, f.path)
else:
pkg.add_file(f.name, f.path, f.executable)
self.reporter.progress_done()
pkg.close()
if format == "update":
# Build the zsync file.
self.reporter.info(_("Making the [variant] update zsync file."), variant=variant)
cmd = [
updater.zsync_path("zsyncmake"),
"-z",
# -u url to gzipped data - not a local filename!
"-u", filename + ".update.gz",
"-o", os.path.join(self.destination, filename + ".zsync"),
os.path.abspath(path),
]
subprocess.check_call([ renpy.fsencode(i) for i in cmd ])
# Build the sums file. This is a file with an adler32 hash of each 64k block
# of the zsync file. It's used to help us determine how much of the file is
# downloaded.
with open(path, "rb") as src:
with open(renpy.fsencode(os.path.join(self.destination, filename + ".sums")), "wb") as sums:
while True:
data = src.read(65536)
if not data:
break
sums.write(struct.pack("<I", zlib.adler32(data) & 0xffffffff))
def done():
"""
This is called when the build of the package is done, either
in this thread or a background thread.
"""
if self.include_update and not self.build_update and not dlc:
os.unlink(update_fn)
if os.path.exists(update_fn):
os.unlink(update_fn)
if not directory:
file_hash = hash_file(path)
else:
file_hash = ""
if dmg:
self.make_dmg(filename, path, dmg_path)
shutil.rmtree(path)
if file_hash:
self.build_cache[full_filename] = (file_hash, fl_hash)
if format == "tar.bz2":
pkg = TarPackage(path, "w:bz2")
elif format == "update":
pkg = UpdatePackage(path, filename, self.destination)
elif format == "zip" or format == "app-zip":
if self.build['renpy']:
pkg = ExternalZipPackage(path)
else:
pkg = ZipPackage(path)
elif dmg:
def make_dmg():
self.make_dmg(filename, path, dmg_path)
shutil.rmtree(path)
pkg = DMGPackage(path, make_dmg)
elif directory:
pkg = DirectoryPackage(path)
# If we want to build in parallel.
if self.build['renpy']:
pkg = ParallelPackage(pkg, done, variant + "." + format)
done = None
for i, f in enumerate(fl):
self.reporter.progress(_("Writing the [variant] [format] package."), i, len(fl), variant=variant, format=format)
if f.directory:
pkg.add_directory(f.name, f.path)
else:
pkg.add_file(f.name, f.path, f.executable)
self.reporter.progress_done()
if format == "update":
# Build the zsync file.
self.reporter.info(_("Making the [variant] update zsync file."), variant=variant)
pkg.close()
if done is not None:
done()
if file_hash:
self.build_cache[full_filename] = (file_hash, fl_hash)
def finish_updates(self, packages):
"""
+2 -2
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2016 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2018 Tom Rothamel <pytom@bishoujo.us>
#
# Permission is hereby granted, free of charge, to any person
# obtaining a copy of this software and associated documentation files
@@ -154,7 +154,7 @@ screen build_distributions:
has vbox
label _("Build Distributions: [project.current.name!q]")
label _("Build Distributions: [project.current.display_name!q]")
add HALF_SPACER
+53
View File
@@ -0,0 +1,53 @@
# Copyright 2004-2018 Tom Rothamel <pytom@bishoujo.us>
#
# Permission is hereby granted, free of charge, to any person
# obtaining a copy of this software and associated documentation files
# (the "Software"), to deal in the Software without restriction,
# including without limitation the rights to use, copy, modify, merge,
# publish, distribute, sublicense, and/or sell copies of the Software,
# and to permit persons to whom the Software is furnished to do so,
# subject to the following conditions:
#
# The above copyright notice and this permission notice shall be
# included in all copies or substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
# LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
# OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
# This file checks to see if we're inside a dmg, and displays an error
# message to the player if we are.
init python:
def dmgcheck():
if not renpy.macintosh:
return
fn = os.path.join(config.renpy_base, "dmgcheck.txt")
try:
if os.path.exists(fn):
os.unlink(fn)
with open(fn, "wb") as f:
f.write("Testing to see if we're in a DMG.\r\n")
os.unlink(fn)
return
except:
# If we're here, we didn't make it through the checks safely. So
# put up a warning message.
interface.info(
message=_("Ren'Py is running from a read only folder. Some functionality will not work."),
submessage=_("This is probably because Ren'Py is running directly from a Macintosh drive image. To fix this, quit this launcher, copy the entire %s folder somewhere else on your computer, and run Ren'Py again.") % (os.path.basename(config.renpy_base)),
)
+1 -1
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2016 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2018 Tom Rothamel <pytom@bishoujo.us>
#
# Permission is hereby granted, free of charge, to any person
# obtaining a copy of this software and associated documentation files
+73 -11
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2016 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2018 Tom Rothamel <pytom@bishoujo.us>
#
# Permission is hereby granted, free of charge, to any person
# obtaining a copy of this software and associated documentation files
@@ -140,19 +140,47 @@ init 1 python in editor:
Creates the list of FancyEditorInfo objects.
"""
import platform
global fancy_editors
scan_all()
fei = fancy_editors = [ ]
# Atom.
AD = _("(Recommended) A modern and approachable text editor.")
if renpy.windows:
dlc = "atom-windows"
installed = os.path.exists(os.path.join(config.basedir, "atom/atom-windows"))
elif renpy.macintosh:
dlc = "atom-mac"
installed = os.path.exists(os.path.join(config.basedir, "atom/Atom.app"))
else:
dlc = "atom-linux"
installed = os.path.exists(os.path.join(config.basedir, "atom/atom-linux-" + platform.machine()))
e = FancyEditorInfo(
0,
"Atom",
AD,
dlc,
_("Up to 150 MB download required."),
None)
e.installed = e.installed and installed
fei.append(e)
# Editra.
ED = _("{b}Recommended.{/b} A beta editor with an easy to use interface and features that aid in development, such as spell-checking. Editra currently lacks the IME support required for Chinese, Japanese, and Korean text input.")
EDL = _("{b}Recommended.{/b} A beta editor with an easy to use interface and features that aid in development, such as spell-checking. Editra currently lacks the IME support required for Chinese, Japanese, and Korean text input. On Linux, Editra requires wxPython.")
ED = _("A mature editor. Editra lacks the IME support required for Chinese, Japanese, and Korean text input.")
EDL = _("A mature editor. Editra lacks the IME support required for Chinese, Japanese, and Korean text input. On Linux, Editra requires wxPython.")
if renpy.windows:
dlc = "editra-windows"
installed = os.path.exists(os.path.join(config.basedir, "editra/Editra-win32"))
installed = os.path.exists(os.path.join(config.basedir, "editra/editra.exe"))
description = ED
error_message = None
elif renpy.macintosh:
@@ -174,7 +202,7 @@ init 1 python in editor:
_("Up to 22 MB download required."),
error_message)
e.installed = e.installed or installed
e.installed = e.installed and installed
fei.append(e)
@@ -190,12 +218,12 @@ init 1 python in editor:
fei.append(FancyEditorInfo(
3,
"System Editor",
_("System Editor"),
_("Invokes the editor your operating system has associated with .rpy files."),
None))
for k in editors:
if k in [ "Editra", "jEdit", "System Editor", "None" ]:
if k in [ "Atom", "Editra", "jEdit", "System Editor", "None" ]:
continue
fei.append(FancyEditorInfo(
@@ -206,7 +234,7 @@ init 1 python in editor:
fei.append(FancyEditorInfo(
5,
"None",
_("None"),
_("Prevents Ren'Py from opening a text editor."),
None))
@@ -307,7 +335,7 @@ init 1 python in editor:
class Edit(Action):
alt = "Edit [text]."
alt = _("Edit [text].")
def __init__(self, filename, line=None, check=False):
"""
@@ -410,8 +438,6 @@ init 1 python in editor:
Opens all scripts that are part of the current project in a web browser.
"""
alt = "Edit [text]."
def __init__(self):
return
@@ -444,6 +470,42 @@ init 1 python in editor:
exception = traceback.format_exception_only(type(e), e)[-1][:-1]
renpy.invoke_in_new_context(interface.error, _("An exception occured while launching the text editor:\n[exception!q]"), error_message, exception=exception)
class EditProject(Action):
"""
Opens the project's base directory in an editor.
"""
def __call__(self):
if not check_editor():
return
try:
e = renpy.editor.editor
e.begin()
e.open_project(project.current.path)
e.end()
except Exception, e:
exception = traceback.format_exception_only(type(e), e)[-1][:-1]
renpy.invoke_in_new_context(interface.error, _("An exception occured while launching the text editor:\n[exception!q]"), error_message, exception=exception)
def CanEditProject():
"""
Returns True if EditProject can be used.
"""
try:
e = renpy.editor.editor
return e.has_projects
except:
return False
screen editor:
frame:
+10 -12
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2016 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2018 Tom Rothamel <pytom@bishoujo.us>
#
# Permission is hereby granted, free of charge, to any person
# obtaining a copy of this software and associated documentation files
@@ -162,7 +162,7 @@ screen front_page_project_list:
null height 12
textbutton _("Tutorial") action project.Select("tutorial") style "l_list" alt _("Select project [text].")
textbutton _("Tutorial") action project.SelectTutorial() style "l_list" alt _("Select project [text].")
textbutton _("The Question") action project.Select("the_question") style "l_list" alt _("Select project [text].")
@@ -178,7 +178,7 @@ screen front_page_project:
frame style "l_label":
has hbox xfill True
text "[p.name!q]" style "l_label_text"
text "[p.display_name!q]" style "l_label_text"
label _("Active Project") style "l_alternate"
grid 2 1:
@@ -211,18 +211,14 @@ screen front_page_project:
textbutton "gui.rpy" action editor.Edit("game/gui.rpy", check=True)
textbutton "screens.rpy" action editor.Edit("game/screens.rpy", check=True)
textbutton _("All script files") action editor.EditAll()
if editor.CanEditProject():
textbutton _("Open project") action editor.EditProject()
else:
textbutton _("All script files") action editor.EditAll()
add SPACER
add SEPARATOR
add SPACER
frame style "l_indent":
has vbox
textbutton _("Navigate Script") text_size 30 action Jump("navigation")
add SPACER
label _("Actions") style "l_label_small"
grid 2 1:
xfill True
@@ -231,6 +227,7 @@ screen front_page_project:
frame style "l_indent":
has vbox
textbutton _("Navigate Script") action Jump("navigation")
textbutton _("Check Script (Lint)") action Jump("lint")
if project.current.exists("game/gui.rpy"):
@@ -260,6 +257,7 @@ label main_menu:
label start:
show screen bottom_info
$ dmgcheck()
label front_page:
call screen front_page
+34 -7
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2016 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2018 Tom Rothamel <pytom@bishoujo.us>
#
# Permission is hereby granted, free of charge, to any person
# obtaining a copy of this software and associated documentation files
@@ -63,10 +63,13 @@ init -1 python:
config.language_callbacks[language].append(callback)
def s(s):
return '"' + s + '"'
gui7.translate_copy(language, fullfont, font)
gui7.translate_define(language, "gui.default_font", repr(font))
gui7.translate_define(language, "gui.name_font", repr(font))
gui7.translate_define(language, "gui.interface_font", repr(font))
gui7.translate_define(language, "gui.text_font", s(font))
gui7.translate_define(language, "gui.name_text_font", s(font))
gui7.translate_define(language, "gui.interface_text_font", s(font))
for fn in [ "gui.rpy", "options.rpy", "screens.rpy" ]:
@@ -287,6 +290,7 @@ screen choose_gui_color():
if gui_color:
textbutton _("Continue") action Return(True) style "l_right_button"
key "input_enter" action Return(True)
label change_gui:
@@ -357,11 +361,32 @@ label gui_project_size:
((1066, 600), "1066x600"),
((1280, 720), "1280x720"),
((1920, 1080), "1920x1080"),
("custom", _("Custom. The GUI is optimized for a 16:9 aspect ratio.")),
],
(1280, 720),
cancel=Jump("front_page"),
)
if gui_size == "custom":
gui_width = interface.input(_("WIDTH"), _("Please enter the width of your game, in pixels."), cancel=Jump("front_page"))
try:
gui_width = int(gui_width)
except:
interface.error(_("The width must be a number."))
gui_height = interface.input(_("HEIGHT"), _("Please enter the height of your game, in pixels."), cancel=Jump("front_page"))
try:
gui_height = int(gui_height)
except:
interface.error(_("The height must be a number."))
gui_size = (gui_width, gui_height)
label gui_project_common:
$ gui_color = (DARK_COLORS[0], "#000000", False)
@@ -412,12 +437,13 @@ label gui_project_common:
project.Select(project.manager.get(project_name))()
if gui_new:
call update_renpy_strings
call update_renpy_strings_common
python hide:
if gui.project_system_font:
with open(os.path.join(project.current.gamedir, "tl/None/common.rpym"), "ab") as f:
f.write("define gui.system_font = {!r}\r\n".format(gui.project_system_font))
f.write("define gui.system_font = {!r}\r\n".format(gui.project_system_font).encode("utf-8"))
label gui_generate_images:
@@ -425,6 +451,7 @@ label gui_generate_images:
python:
interface.processing(_("Updating the project..."))
project.current.launch([ 'gui_images' ])
project.current.launch([ 'gui_images' ], env={ "RENPY_VARIANT" : "small phone" }, wait=True)
project.current.launch([ 'gui_images' ], wait=True)
jump front_page
+1 -1
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2016 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2018 Tom Rothamel <pytom@bishoujo.us>
#
# Permission is hereby granted, free of charge, to any person
# obtaining a copy of this software and associated documentation files
+8 -4
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2016 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2018 Tom Rothamel <pytom@bishoujo.us>
#
# Permission is hereby granted, free of charge, to any person
# obtaining a copy of this software and associated documentation files
@@ -39,6 +39,7 @@ class Define(object):
self.value = value
self.comment = comment
# A map from language name to a list of defines.
language_defines = collections.defaultdict(list)
@@ -319,7 +320,8 @@ class CodeGenerator(object):
hashpad = False
s = renpy.translation.translate_string(s, language=self.p.language)
m = re.match(r'## ([ *]*)(.*)', s)
m = re.match(r'## ?([ *]*)(.*)', s)
prefix = m.group(1)
empty = ' ' * len(prefix)
@@ -338,7 +340,7 @@ class CodeGenerator(object):
s = indent + empty + s
if hashpad and len(s) < 79:
s = s + " " + "#" * (79 - len(s))
s = s + ' ' + "#" * (79 - len(s))
lines.append(s)
@@ -380,7 +382,9 @@ class CodeGenerator(object):
if not os.path.exists(src):
src = os.path.join(self.p.template, name)
shutil.copy(src, dst)
self.load_template(src)
self.remove_scale()
self.write_target(dst)
def add_code(self, fn):
+1 -1
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2016 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2018 Tom Rothamel <pytom@bishoujo.us>
#
# Permission is hereby granted, free of charge, to any person
# obtaining a copy of this software and associated documentation files
+5 -6
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2016 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2018 Tom Rothamel <pytom@bishoujo.us>
#
# Permission is hereby granted, free of charge, to any person
# obtaining a copy of this software and associated documentation files
@@ -26,6 +26,7 @@ import time
WIDTH = 1280
HEIGHT = 720
class GuiParameters(object):
"""
This represents the parameters to the gui. This is used to initialize
@@ -52,7 +53,7 @@ class GuiParameters(object):
self.light = light
if light:
self.hover_color = self.accent_color # .tint(.95)
self.hover_color = self.accent_color # .tint(.95)
self.muted_color = self.accent_color.tint(.6)
self.hover_muted_color = self.accent_color.tint(.4)
else:
@@ -74,12 +75,11 @@ class GuiParameters(object):
else:
self.selected_color = Color("#ffffff")
self.idle_color = Color("#555555")
self.idle_color = Color("#888888")
self.idle_small_color = Color("#aaaaaa")
self.text_color = Color("#ffffff")
self.choice_color = Color("#cccccc")
self.insensitive_color = self.idle_color.replace_opacity(.5)
self.language = language
@@ -97,7 +97,7 @@ class GuiParameters(object):
self.name = name
GOOD_CHARACTERS = "123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMMOPQRSTUVWXYZ-_"
GOOD_CHARACTERS = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ-_"
simple_name = "".join(i for i in name if i in GOOD_CHARACTERS).encode("ascii")
@@ -107,4 +107,3 @@ class GuiParameters(object):
self.simple_name = simple_name
self.savedir = self.simple_name + "-" + str(int(time.time()))
+39 -14
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2016 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2018 Tom Rothamel <pytom@bishoujo.us>
#
# Permission is hereby granted, free of charge, to any person
# obtaining a copy of this software and associated documentation files
@@ -22,7 +22,7 @@
################################################################################
# Interface actions.
init python in interface:
from store import OpenURL, config, Return
from store import OpenURL, config, Return, _preferences
import store
import os.path
@@ -66,6 +66,15 @@ init python in interface:
else:
return OpenURL(LICENSE_URL)
def get_sponsor_url():
"""
Returns the URL to the sponsors page.
"""
return "https://www.renpy.org/sponsors.html?version={}&language={}".format(
renpy.version_only,
_preferences.language or "english"
)
# Should we display the bottom links?
links = True
@@ -99,6 +108,9 @@ screen bottom_info:
ypos 536
yanchor 0.0
has vbox:
spacing 20
hbox:
xfill True
@@ -119,6 +131,20 @@ screen bottom_info:
textbutton _("preferences") style "l_link" action Jump("preferences")
textbutton _("quit") style "l_link" action Quit(confirm=False)
if persistent.sponsor_message:
textbutton _("Ren'Py Sponsor Information"):
style "l_link"
text_color "#F96854"
text_hover_color Color("#F96854").tint(.8)
xalign 0.0
yalign 1.0
yoffset -10
action OpenURL(interface.get_sponsor_url())
screen common:
@@ -243,6 +269,7 @@ init python in interface:
import traceback
from store import Jump
import store._errorhandling as _errorhandling
def common(title, title_color, message, submessage=None, back=None, continue_=None, pause0=False, show_screen=False, **kwargs):
"""
@@ -327,6 +354,13 @@ init python in interface:
common(_("ERROR"), store.ERROR_COLOR, message=message, submessage=submessage, back=action, **kwargs)
store._ignore_action = Jump("front_page")
_errorhandling.rollback = False
_errorhandling.ignore = True
_errorhandling.reload = False
_errorhandling.console = False
@contextlib.contextmanager
def error_handling(what, label="front_page"):
"""
@@ -346,18 +380,9 @@ init python in interface:
f = open("log.txt", "w")
"""
try:
yield
except Exception, e:
import traceback
traceback.print_exc()
error(_("While [what!q], an error occured:"),
_("[exception!q]"),
what=what,
label=label,
exception=traceback.format_exception_only(type(e), e)[-1][:-1])
store._ignore_action = Jump(label)
yield
store._ignore_action = Jump("front_page")
def input(title, message, filename=False, sanitize=True, cancel=None, default=""):
"""
+2 -2
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2016 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2018 Tom Rothamel <pytom@bishoujo.us>
#
# Permission is hereby granted, free of charge, to any person
# obtaining a copy of this software and associated documentation files
@@ -208,7 +208,7 @@ screen ios:
has vbox
label _("iOS: [project.current.name!q]")
label _("iOS: [project.current.display_name!q]")
add HALF_SPACER
+16 -7
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2016 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2018 Tom Rothamel <pytom@bishoujo.us>
#
# Permission is hereby granted, free of charge, to any person
# obtaining a copy of this software and associated documentation files
@@ -69,18 +69,25 @@ label itch:
fn = os.path.join(destination, fn)
if fn.endswith("-all.zip"):
channel = "all"
channel = "win-osx-linux"
elif fn.endswith("-market.zip"):
channel = "win-osx-linux"
elif fn.endswith("-pc.zip"):
channel = "win-linux"
elif fn.endswith("-win.zip"):
channel = "win"
elif fn.endswith("-mac.zip"):
channel = "mac"
channel = "osx"
# Butler doesn't seem to support .bz2s yet.
elif fn.endswith("-linux.tar.bz2"):
channel = "linux"
# elif fn.endswith("-linux.tar.bz2"):
# channel = "linux"
elif fn.endswith("-release.apk"):
channel = "android"
else:
continue
@@ -119,7 +126,9 @@ label itch:
butler,
"push",
filename,
itch_project + ":" + build["version"] + "-" + channel,
itch_project + ":" + channel,
"--userversion",
build["version"],
)
cc.run()
+5 -1
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2016 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2018 Tom Rothamel <pytom@bishoujo.us>
#
# Permission is hereby granted, free of charge, to any person
# obtaining a copy of this software and associated documentation files
@@ -163,6 +163,8 @@ init -1 python:
def call(self, cmd, cancel=False, use_path=False, yes=False):
renpy.not_infinite_loop(30)
cmd = [ renpy.fsencode(i) for i in cmd ]
self.cmd = cmd
@@ -220,6 +222,8 @@ init -1 python:
rv = self.process.poll()
if rv is not None:
renpy.not_infinite_loop(30)
if rv:
raise subprocess.CalledProcessError(rv, self.cmd)
else:
+4 -2
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2016 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2018 Tom Rothamel <pytom@bishoujo.us>
#
# Permission is hereby granted, free of charge, to any person
# obtaining a copy of this software and associated documentation files
@@ -165,7 +165,8 @@ screen navigation:
frame style "l_label":
has hbox xfill True
text _("Navigate: [project.current.name]") style "l_label_text"
text _("Navigate: [project.current.display_name!q]") style "l_label_text"
alt _("Navigate Script")
frame:
style "l_alternate"
@@ -192,6 +193,7 @@ screen navigation:
hbox:
spacing HALF_INDENT
text _("Category:")
alt ""
textbutton _("files") action navigation.ChangeKind("file")
textbutton _("labels") action navigation.ChangeKind("label")
+11 -1
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2016 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2018 Tom Rothamel <pytom@bishoujo.us>
#
# Permission is hereby granted, free of charge, to any person
# obtaining a copy of this software and associated documentation files
@@ -62,6 +62,16 @@ label new_project:
if persistent.projects_directory is None:
$ interface.error(_("The projects directory could not be set. Giving up."))
if not persistent.legacy:
python:
new_project_language = (_preferences.language or "english").title()
# When translating this, feel free to replace [new_project_language] with the translation of your language.
$ interface.info(_("You will be creating an [new_project_language] language project. Change the launcher language in preferences to create a project in another language."))
jump new_gui_project
python:
check_language_support()
+40 -4
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2016 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2018 Tom Rothamel <pytom@bishoujo.us>
#
# Permission is hereby granted, free of charge, to any person
# obtaining a copy of this software and associated documentation files
@@ -269,6 +269,22 @@ init python:
build.classify_renpy("**/thumbs.db", None)
build.classify_renpy("**/.*", None)
# Atom rules. These have to be very early, since Atom uses names like
# tmp for packages.
build.classify_renpy("atom/", "atom-all source_only")
build.classify_renpy("atom/Atom.edit.py", "atom-all source_only")
build.classify_renpy("atom/default-dot-atom/**", "atom-all")
build.classify_renpy("atom/atom-windows/**", "atom-windows")
build.classify_renpy("atom/Atom.app/**", "atom-mac")
build.classify_renpy("atom/atom-linux**", "atom-linux")
try:
with open(os.path.join(config.renpy_base, "atom", "executable.txt")) as f:
for l in f:
build.executable(l.strip())
except:
pass
build.classify_renpy("rapt/**", "rapt")
build.classify_renpy("renios/prototype/base/", None)
@@ -292,6 +308,7 @@ init python:
build.classify_renpy("**/tmp/", None)
build.classify_renpy("**/.Editra", None)
# main source.
def source_and_binary(pattern, source="source", binary="binary"):
@@ -321,6 +338,7 @@ init python:
source_and_binary("the_question")
source_and_binary("tutorial")
source_and_binary("oldtutorial")
# docs.
build.classify_renpy("doc/", "source")
@@ -329,6 +347,14 @@ init python:
build.classify_renpy("doc/**", "source")
build.classify_renpy("LICENSE.txt", "source")
build.classify_renpy("sphinx/", "source_only")
build.classify_renpy("sphinx/build.sh", "source_only")
build.classify_renpy("sphinx/checks.py", "source_only")
build.classify_renpy("sphinx/game/**", "source_only")
build.classify_renpy("sphinx/source/inc/", None)
build.classify_renpy("sphinx/source/**", "source_only")
# module.
build.classify_renpy("module/", "source")
build.classify_renpy("module/*.c", "source")
@@ -348,6 +374,8 @@ init python:
build.classify_renpy("lib/**/*steam_api*", None)
build.classify_renpy("lib/*/renpy", None)
build.classify_renpy("lib/*/renpy.exe", None)
build.classify_renpy("lib/linux-armv7l/", "raspi")
build.classify_renpy("lib/linux-armv7l/**", "raspi")
build.classify_renpy("lib/**", "binary")
build.classify_renpy("renpy.sh", "binary")
# renpy.app is now built from scratch from distribute.rpy.
@@ -362,24 +390,32 @@ init python:
build.classify_renpy("editra/Editra-mac.app/**", "editra-mac")
build.classify_renpy("editra/lib/**", "editra-windows")
build.classify_renpy("editra/editra.exe", "editra-windows")
# Executable rules.
build.executable("editra/Editra/Editra")
# Packages.
build.packages = [ ]
build.package("sdk", "zip tar.bz2 dmg", "source binary")
build.package("source", "tar.bz2", "source source_only", update=False)
build.package("raspi", "tar.bz2", "raspi", dlc=True, update=False)
build.package("jedit", "zip", "jedit", dlc=True)
build.package("editra-linux", "tar.bz2", "editra-all editra-linux", dlc=True)
build.package("editra-mac", "zip", "editra-all editra-mac", dlc=True)
build.package("editra-windows", "zip", "editra-all editra-windows", dlc=True)
build.package("atom-linux", "tar.bz2", "atom-all atom-linux", dlc=True)
build.package("atom-mac", "zip", "atom-all atom-mac", dlc=True)
build.package("atom-windows", "zip", "atom-all atom-windows", dlc=True)
build.package("rapt", "zip", "rapt", dlc=True)
build.package("renios", "zip", "renios", dlc=True)
# Enable the special launcher translation mode.
define config.translate_launcher = True
# Reduce the rate of screen updates.
default preferences.gl_powersave = True
+151 -2
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2016 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2018 Tom Rothamel <pytom@bishoujo.us>
#
# Permission is hereby granted, free of charge, to any person
# obtaining a copy of this software and associated documentation files
@@ -28,10 +28,11 @@ init python in distribute:
import struct
import stat
import shutil
import threading
from zipfile import crc32
zlib.Z_DEFAULT_COMPRESSION = 9
zlib.Z_DEFAULT_COMPRESSION = 5
class ZipFile(zipfile.ZipFile):
@@ -210,6 +211,44 @@ init python in distribute:
def close(self):
self.tarfile.close()
class UpdatePackage(TarPackage):
def __init__(self, filename, basename, destination):
self.path = filename
self.basename = basename
self.destination = destination
TarPackage.__init__(self, filename, "w", notime=True)
def close(self):
TarPackage.close(self)
cmd = [
updater.zsync_path("zsyncmake"),
"-z",
# -u url to gzipped data - not a local filename!
"-u", self.basename + ".update.gz",
"-o", os.path.join(self.destination, self.basename + ".zsync"),
os.path.abspath(self.path),
]
subprocess.check_call([ renpy.fsencode(i) for i in cmd ])
# Build the sums file. This is a file with an adler32 hash of each 64k block
# of the zsync file. It's used to help us determine how much of the file is
# downloaded.
with open(self.path, "rb") as src:
with open(renpy.fsencode(os.path.join(self.destination, self.basename + ".sums")), "wb") as sums:
while True:
data = src.read(65536)
if not data:
break
sums.write(struct.pack("<I", zlib.adler32(data) & 0xffffffff))
class DirectoryPackage(object):
def mkdir(self, path):
@@ -223,6 +262,10 @@ init python in distribute:
def add_file(self, name, path, xbit):
fn = os.path.join(self.path, name)
# If this is not a directory, ensure all parent directories
# have been created
if not os.path.isdir(os.path.dirname(fn)):
os.makedirs(os.path.dirname(fn), 0755)
shutil.copy2(path, fn)
if xbit:
@@ -237,4 +280,110 @@ init python in distribute:
def close(self):
return
class ExternalZipPackage(object):
def __init__(self, path):
self.path = path
self.directory = path + ".zd"
self.dp = DirectoryPackage(self.directory)
def add_file(self, name, path, xbit):
self.dp.add_file(name, path, xbit)
def add_directory(self, name, path):
self.dp.add_directory(name, path)
def close(self):
self.dp.close()
if os.path.exists(self.path):
os.unlink(self.path)
p = subprocess.Popen([
"zip",
"-9rq",
os.path.abspath(self.path),
] + os.listdir(self.directory),
cwd=os.path.abspath(self.directory)
)
p.wait()
shutil.rmtree(self.directory)
class DMGPackage(DirectoryPackage):
def __init__(self, path, make_dmg):
self.make_dmg = make_dmg
DirectoryPackage.__init__(self, path)
def close(self):
DirectoryPackage.close(self)
self.make_dmg()
parallel_threads = [ ]
class ParallelPackage(object):
def __init__(self, package, done, what):
self.package = package
self.done = done
self.what = what
self.worklist = [ ]
def add_file(self, name, path, xbit):
self.worklist.append((False, name, path, xbit))
def add_directory(self, name, path):
self.worklist.append((True, name, path, True))
def close(self):
t = threading.Thread(target=self.run)
t.start()
self.thread = t
parallel_threads.append(self)
def run(self):
for i in self.worklist:
directory, name, path, xbit = i
if directory:
self.package.add_directory(name, path)
else:
self.package.add_file(name, path, xbit)
self.package.close()
def wait_parallel_threads():
t = 0
while parallel_threads:
alive = [ ]
for i in parallel_threads:
i.thread.join(0)
if i.thread.is_alive():
alive.append(i)
if not alive:
break
t += 1
print(t, " ".join(sorted([ i.what for i in alive ])))
time.sleep(1)
for i in parallel_threads:
if i.done:
i.done()
+18 -3
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2016 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2018 Tom Rothamel <pytom@bishoujo.us>
#
# Permission is hereby granted, free of charge, to any person
# obtaining a copy of this software and associated documentation files
@@ -45,9 +45,17 @@ init python:
rv.sort()
if ("Piglatin", "piglatin") in rv:
rv.remove(("Piglatin", "piglatin"))
rv.append(("Pig Latin", "piglatin"))
return rv
default persistent.legacy = False
default persistent.force_new_tutorial = False
default persistent.sponsor_message = True
screen preferences:
$ translations = scan_translations()
@@ -170,13 +178,20 @@ screen preferences:
add HALF_SPACER
textbutton _("Hardware rendering") style "l_checkbox" action ToggleField(persistent, "gl_enable")
textbutton _("Show templates") style "l_checkbox" action ToggleField(persistent, "show_templates")
textbutton _("Show edit file section") style "l_checkbox" action ToggleField(persistent, "show_edit_funcs")
textbutton _("Large fonts") style "l_checkbox" action [ ToggleField(persistent, "large_print"), renpy.utter_restart ]
if renpy.windows:
textbutton _("Console output") style "l_checkbox" action ToggleField(persistent, "windows_console")
textbutton _("Force new tutorial") style "l_checkbox" action [ ToggleField(persistent, "force_new_tutorial"), project.SelectTutorial(True) ]
textbutton _("Legacy options") style "l_checkbox" action ToggleField(persistent, "legacy")
if persistent.legacy:
textbutton _("Show templates") style "l_checkbox" action ToggleField(persistent, "show_templates")
textbutton _("Sponsor message") style "l_checkbox" action ToggleField(persistent, "sponsor_message")
frame:
style "l_indent"
@@ -223,7 +238,7 @@ screen preferences:
# frame style "l_indent":
for tlname, tlvalue in translations:
textbutton tlname action Language(tlvalue) style "l_list"
textbutton tlname action [ Language(tlvalue), project.SelectTutorial(True) ] style "l_list"
textbutton _("Return") action Jump("front_page") style "l_left_button"
+185 -42
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2016 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2018 Tom Rothamel <pytom@bishoujo.us>
#
# Permission is hereby granted, free of charge, to any person
# obtaining a copy of this software and associated documentation files
@@ -30,7 +30,7 @@ init python:
import os
init python in project:
from store import persistent, config, Action, renpy
from store import persistent, config, Action, renpy, _preferences
import store.util as util
import store.interface as interface
@@ -44,6 +44,8 @@ init python in project:
if persistent.blurb is None:
persistent.blurb = 0
project_filter = [ i.strip() for i in os.environ.get("RENPY_PROJECT_FILTER", "").split(":") if i.strip() ]
LAUNCH_BLURBS = [
_("After making changes to the script, press shift+R to reload your game."),
_("Press shift+O (the letter) to access the console."),
@@ -79,6 +81,9 @@ init python in project:
# Load the data.
self.load_data()
# A name to display the project.
self.display_name = self.data.get("display_name", self.name)
# The project's temporary directory.
self.tmp = None
@@ -90,6 +95,10 @@ init python in project:
self.dump_mtime = 0
def get_dump_filename(self):
if os.path.exists(os.path.join(self.gamedir, "saves")):
return os.path.join(self.gamedir, "saves", "navigation.json")
self.make_tmp()
return os.path.join(self.tmp, "navigation.json")
@@ -137,6 +146,18 @@ init python in project:
data["renamed_all"] = True
if "renamed_steam" not in data:
dp = data["packages"]
if "steam" in dp:
dp.remove("steam")
if "market" not in dp:
dp.append("market")
data["renamed_steam"] = True
def make_tmp(self):
"""
Makes the project's temporary directory, if it doesn't exist
@@ -154,8 +175,23 @@ init python in project:
pass
if os.path.isdir(tmp):
self.tmp = tmp
return
try:
fn = os.path.join(tmp, "write_test.txt")
if os.path.exists(fn):
os.unlink(fn)
with open(fn, "w") as f:
f.write("Test")
os.unlink(fn)
self.tmp = tmp
return
except:
pass
self.tmp = tempfile.mkdtemp()
@@ -185,7 +221,7 @@ init python in project:
self.make_tmp()
# Find the python executable to run.
executable_path = os.path.dirname(sys.executable)
executable_path = os.path.dirname(renpy.fsdecode(sys.executable))
if renpy.renpy.windows:
extension = ".exe"
@@ -223,6 +259,7 @@ init python in project:
cmd.append("--json-dump-common")
environ = dict(os.environ)
environ["RENPY_LAUNCHER_LANGUAGE"] = _preferences.language or "english"
environ.update(env)
encoded_environ = { }
@@ -242,6 +279,9 @@ init python in project:
if p.wait():
interface.error(_("Launching the project failed."), _("Please ensure that your project launches normally before running this command."))
renpy.not_infinite_loop(30)
def update_dump(self, force=False, gui=True, compile=False):
"""
If the dumpfile does not exist, runs Ren'Py to create it. Otherwise,
@@ -377,6 +417,10 @@ init python in project:
# Directories that have been scanned.
self.scanned = set()
# The tutorial game, and the language it's for.
self.tutoral = None
self.tutorial_language = "the meowing of a cat"
self.scan()
def scan(self):
@@ -384,6 +428,8 @@ init python in project:
Scans for projects.
"""
global current
if (persistent.projects_directory is not None) and not os.path.isdir(persistent.projects_directory):
persistent.projects_directory = None
@@ -397,6 +443,7 @@ init python in project:
if self.projects_directory is not None:
self.scan_directory(self.projects_directory)
self.scan_directory(config.renpy_base)
self.scan_directory(os.path.join(config.renpy_base, "templates"))
@@ -404,6 +451,17 @@ init python in project:
self.templates.sort(key=lambda p : p.name.lower())
# Select the default project.
if persistent.active_project is not None:
p = self.get(persistent.active_project)
if (p is not None) and (p.name not in [ "tutorial", "tutorial_7" ]):
current = p
return
current = self.get_tutorial()
def find_basedir(self, d):
"""
Try to find a project basedir in d.
@@ -445,52 +503,60 @@ init python in project:
for pdir in util.listdir(d):
ppath = os.path.join(d, pdir)
self.scan_directory_direct(ppath, pdir)
# A project must be a directory.
if not os.path.isdir(ppath):
continue
# If a file called "projects.txt" exists, include any projects listed in it.
extra_projects_fn = os.path.join(d, "projects.txt")
try:
ppath = self.find_basedir(ppath)
except:
continue
if os.path.exists(extra_projects_fn):
if ppath is None:
continue
with open(extra_projects_fn, "r") as f:
if ppath in self.scanned:
continue
for path in f:
path = path.strip()
if len(path) > 0:
self.scan_directory_direct(path)
self.scanned.add(ppath)
# We have a project directory, so create a Project.
p = Project(ppath, pdir)
def scan_directory_direct(self, ppath, name=None):
"""
Checks if there is a project in `ppath` and creates a project
object with the name `name` if so.
"""
project_type = p.data.get("type", "normal")
if project_type == "hidden":
pass
elif project_type == "template":
self.templates.append(p)
else:
self.projects.append(p)
self.all_projects.append(p)
# Select the default project.
if persistent.active_project is not None:
p = self.get(persistent.active_project)
if p is not None:
current = p
return
p = self.get("tutorial")
if p is not None:
current = p
# A project must be a directory.
if not os.path.isdir(ppath):
return
current = None
try:
ppath = self.find_basedir(ppath)
except:
return
if ppath is None:
return
if ppath in self.scanned:
return
self.scanned.add(ppath)
# We have a project directory, so create a Project.
p = Project(ppath, name)
if project_filter and (p.name not in project_filter):
return
project_type = p.data.get("type", "normal")
if project_type == "hidden":
pass
elif project_type == "template":
self.templates.append(p)
else:
self.projects.append(p)
self.all_projects.append(p)
def get(self, name):
@@ -506,6 +572,34 @@ init python in project:
return None
def get_tutorial(self):
language = _preferences.language
if persistent.force_new_tutorial:
language = None
if language == self.tutorial_language:
return self.tutorial
rv = self.get("oldtutorial")
p = self.get("tutorial")
if p is not None:
if language is None:
rv = p
elif os.path.exists(os.path.join(p.path, "game", "tl", _preferences.language)):
rv = p
elif not os.path.exists(os.path.join(rv.path, "game", "tl", _preferences.language)):
rv = p
self.tutorial_language = language
self.tutorial = rv
return rv
manager = ProjectManager()
# The current project.
@@ -557,6 +651,55 @@ init python in project:
if self.label is not None:
renpy.jump(self.label)
class SelectTutorial(Action):
"""
Selects the tutorial.
"""
def __init__(self, if_tutorial=False):
"""
Only selects if we're already in a tutorial.
"""
self.if_tutorial = if_tutorial
def __call__(self):
p = manager.get_tutorial()
if p is None:
return
global current
if self.if_tutorial:
if (current is not None) and current.name not in [ "tutorial", "oldtutorial" ]:
return None
current = p
persistent.active_project = p.name
renpy.restart_interaction()
def get_sensitive(self):
if self.if_tutorial:
return True
return (manager.get_tutorial() is not None)
def get_selected(self):
if self.if_tutorial:
return False
p = manager.get_tutorial()
if p is None:
return False
if current is None:
return False
return current.path == p.path
class Launch(Action):
"""
+1 -1
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2016 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2018 Tom Rothamel <pytom@bishoujo.us>
#
# Permission is hereby granted, free of charge, to any person
# obtaining a copy of this software and associated documentation files
+1 -1
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2016 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2018 Tom Rothamel <pytom@bishoujo.us>
#
# Permission is hereby granted, free of charge, to any person
# obtaining a copy of this software and associated documentation files
+99 -20
View File
@@ -1,8 +1,10 @@
init python:
init python:
TEST_PROJECTS = u"/tmp/renpy-moé"
import shutil
testcase default:
call new_project
call translate_project
call extract_dialogue
@@ -14,6 +16,7 @@ testcase default:
"quit"
testcase new_project:
python:
if os.path.exists(TEST_PROJECTS):
@@ -26,8 +29,6 @@ testcase new_project:
"refresh"
"Create New Project"
# Kind of interface
"New GUI Interface"
"Continue"
# Name
@@ -41,6 +42,7 @@ testcase new_project:
# Color Selection
"Continue"
testcase choose_colors:
"Change/Update GUI"
"Choose new colors"
@@ -52,26 +54,29 @@ testcase choose_colors:
"Continue"
testcase delete10:
type BACKSPACE
type BACKSPACE
type BACKSPACE
type BACKSPACE
type BACKSPACE
type BACKSPACE
type BACKSPACE
type BACKSPACE
type BACKSPACE
type BACKSPACE
testcase delete30:
call delete10
call delete10
call delete10
testcase translate_project:
"Generate Translations"
type BACKSPACE
type BACKSPACE
type BACKSPACE
type BACKSPACE
type BACKSPACE
type BACKSPACE
type BACKSPACE
type BACKSPACE
type BACKSPACE
type BACKSPACE
type BACKSPACE
type BACKSPACE
type BACKSPACE
type BACKSPACE
type BACKSPACE
type BACKSPACE
call delete30
type "piglatin"
@@ -89,10 +94,12 @@ testcase translate_project:
"Generate Translations"
"Update Default"
testcase build_project:
"Build Distributions"
"Build"
testcase extract_dialogue_common:
"Extract Dialogue"
"Strip text tags"
@@ -105,8 +112,80 @@ testcase extract_dialogue:
"Continue"
"Continue"
call extract_dialogue_common
"Text Only"
"Continue"
"Continue"
testcase android:
$ _test.timeout = 60.0
$ _test.maximum_framerate = False
"Tutorial"
"Android"
# Download and install RAPT.
if "Yes":
"Yes"
"Proceed"
"Install SDK"
"Yes" until "Continue"
# We have to create the key.
if "Cancel":
type "Test Key"
"Continue"
"Continue"
# Configure the application.
"Configure"
$ _test.maximum_framerate = True
call delete30
type "Ren'Py Tutorial"
"Continue"
call delete30
type "Ren'Py Tutorial"
"Continue"
call delete30
type "org.renpy.tutorial"
"Continue"
call delete30
type "1.2.3"
"Continue"
call delete30
type "10203"
"Continue"
$ _test.maximum_framerate = False
"In landscape"
"Continue"
"Neither"
"Continue"
"No."
"Continue"
"Android 4.0"
"Continue"
# Access the internet.
"No"
"Continue"
# Build the package.
"Build Package"
"Continue"
"quit"
+1 -1
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2016 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2018 Tom Rothamel <pytom@bishoujo.us>
#
# Permission is hereby granted, free of charge, to any person
# obtaining a copy of this software and associated documentation files
+1 -1
View File
@@ -1,6 +1,6 @@
#!/usr/bin/env python
# Copyright 2004-2016 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2018 Tom Rothamel <pytom@bishoujo.us>
#
# Permission is hereby granted, free of charge, to any person
# obtaining a copy of this software and associated documentation files
+44 -44
View File
@@ -3,155 +3,155 @@ translate arabic strings:
# 00action_file.rpy:26
old "{#weekday}Monday"
new "{#weekday}Monday"
new "{#weekday}الأثنين"
# 00action_file.rpy:26
old "{#weekday}Tuesday"
new "{#weekday}Tuesday"
new "{#weekday}الثلاثاء"
# 00action_file.rpy:26
old "{#weekday}Wednesday"
new "{#weekday}Wednesday"
new "{#weekday}الأربعاء"
# 00action_file.rpy:26
old "{#weekday}Thursday"
new "{#weekday}Thursday"
new "{#weekday}الخميس"
# 00action_file.rpy:26
old "{#weekday}Friday"
new "{#weekday}Friday"
new "{#weekday}الجمعة"
# 00action_file.rpy:26
old "{#weekday}Saturday"
new "{#weekday}Saturday"
new "{#weekday}السبت"
# 00action_file.rpy:26
old "{#weekday}Sunday"
new "{#weekday}Sunday"
new "{#weekday}الأحد"
# 00action_file.rpy:37
old "{#weekday_short}Mon"
new "{#weekday_short}Mon"
new "{#weekday_short}اثن"
# 00action_file.rpy:37
old "{#weekday_short}Tue"
new "{#weekday_short}Tue"
new "{#weekday_short}ثلا"
# 00action_file.rpy:37
old "{#weekday_short}Wed"
new "{#weekday_short}Wed"
new "{#weekday_short}أرب"
# 00action_file.rpy:37
old "{#weekday_short}Thu"
new "{#weekday_short}Thu"
new "{#weekday_short}خمي"
# 00action_file.rpy:37
old "{#weekday_short}Fri"
new "{#weekday_short}Fri"
new "{#weekday_short}جمع"
# 00action_file.rpy:37
old "{#weekday_short}Sat"
new "{#weekday_short}Sat"
new "{#weekday_short}سبت"
# 00action_file.rpy:37
old "{#weekday_short}Sun"
new "{#weekday_short}Sun"
new "{#weekday_short}أحد"
# 00action_file.rpy:47
old "{#month}January"
new "{#month}January"
new "{#month}يناير"
# 00action_file.rpy:47
old "{#month}February"
new "{#month}February"
new "{#month}فبراير"
# 00action_file.rpy:47
old "{#month}March"
new "{#month}March"
new "{#month}مارس"
# 00action_file.rpy:47
old "{#month}April"
new "{#month}April"
new "{#month}أبريل"
# 00action_file.rpy:47
old "{#month}May"
new "{#month}May"
new "{#month}مايو"
# 00action_file.rpy:47
old "{#month}June"
new "{#month}June"
new "{#month}يونيو"
# 00action_file.rpy:47
old "{#month}July"
new "{#month}July"
new "{#month}يوليو"
# 00action_file.rpy:47
old "{#month}August"
new "{#month}August"
new "{#month}أغسطس"
# 00action_file.rpy:47
old "{#month}September"
new "{#month}September"
new "{#month}سبتمبر"
# 00action_file.rpy:47
old "{#month}October"
new "{#month}October"
new "{#month}أكتوبر"
# 00action_file.rpy:47
old "{#month}November"
new "{#month}November"
new "{#month}نوفمبر"
# 00action_file.rpy:47
old "{#month}December"
new "{#month}December"
new "{#month}ديسمبر"
# 00action_file.rpy:63
old "{#month_short}Jan"
new "{#month_short}Jan"
new "{#month_short}ينا"
# 00action_file.rpy:63
old "{#month_short}Feb"
new "{#month_short}Feb"
new "{#month_short}فبر"
# 00action_file.rpy:63
old "{#month_short}Mar"
new "{#month_short}Mar"
new "{#month_short}مار"
# 00action_file.rpy:63
old "{#month_short}Apr"
new "{#month_short}Apr"
new "{#month_short}ابر"
# 00action_file.rpy:63
old "{#month_short}May"
new "{#month_short}May"
new "{#month_short}ماي"
# 00action_file.rpy:63
old "{#month_short}Jun"
new "{#month_short}Jun"
new "{#month_short}يون"
# 00action_file.rpy:63
old "{#month_short}Jul"
new "{#month_short}Jul"
new "{#month_short}يول"
# 00action_file.rpy:63
old "{#month_short}Aug"
new "{#month_short}Aug"
new "{#month_short}أغس"
# 00action_file.rpy:63
old "{#month_short}Sep"
new "{#month_short}Sep"
new "{#month_short}سبتم"
# 00action_file.rpy:63
old "{#month_short}Oct"
new "{#month_short}Oct"
new "{#month_short}أكت"
# 00action_file.rpy:63
old "{#month_short}Nov"
new "{#month_short}Nov"
new "{#month_short}نوف"
# 00action_file.rpy:63
old "{#month_short}Dec"
new "{#month_short}Dec"
new "{#month_short}ديس"
# 00action_file.rpy:235
old "%b %d, %H:%M"
@@ -187,7 +187,7 @@ translate arabic strings:
# 00gui.rpy:233
old "Are you sure you want to end the replay?"
new "Are you sure you want to end the replay?"
new "هل أنت متأكد من رغبتك في الخروج من الإعادة؟"
# 00gui.rpy:234
old "Are you sure you want to begin skipping?"
@@ -199,7 +199,7 @@ translate arabic strings:
# 00gui.rpy:236
old "Are you sure you want to skip unseen dialogue to the next choice?"
new "Are you sure you want to skip unseen dialogue to the next choice?"
new "هل أنت متأكد من رغبتك في تسريع كل الحوارات حتى التي لم تسبق رؤيتها؟"
# 00keymap.rpy:250
old "Saved screenshot as %s."
@@ -207,15 +207,15 @@ translate arabic strings:
# 00library.rpy:142
old "Self-voicing disabled."
new "Self-voicing disabled."
new "تم الغاء تفعيل النطق التلقائي."
# 00library.rpy:143
old "Clipboard voicing enabled. "
new "Clipboard voicing enabled. "
new "تم تفعيل النطق التلقائي من لوح الحفظ. "
# 00library.rpy:144
old "Self-voicing enabled. "
new "Self-voicing enabled. "
new "تم تفعيل النطق التلقائي."
# 00library.rpy:179
old "Skip Mode"
@@ -235,7 +235,7 @@ translate arabic strings:
# 00preferences.rpy:426
old "Self-voicing enabled. Press 'v' to disable."
new "التكلّم التلقائي مفعَل. لإيقافه إضغط زر V"
new "النطق التلقائي مفعَل. لإيقافه إضغط زر V"
# 00iap.rpy:217
old "Contacting App Store\nPlease Wait..."
+1 -1
View File
@@ -163,7 +163,7 @@ translate arabic strings:
# 00console.rpy:467
old "watch <expression>: watch a python expression"
new "مشاهده <expression>: يقوم بعرض تبيرات بايثون"
new "مشاهده <expression>: يقوم بعرض تعبيرات بايثون"
# 00console.rpy:493
old "unwatch <expression>: stop watching an expression"
+9 -9
View File
@@ -23,7 +23,7 @@ translate arabic strings:
# 00gltest.rpy:93
old "Enable"
new "Enable"
new "تفعيل"
# 00gltest.rpy:109
old "Changes will take effect the next time this program is run."
@@ -91,27 +91,27 @@ translate arabic strings:
# 00gamepad.rpy:32
old "Select Gamepad to Calibrate"
new "Select Gamepad to Calibrate"
new "الرجاء اختيار يد التحكم التي ترغب في تهيئتها"
# 00gamepad.rpy:35
old "No Gamepads Available"
new "No Gamepads Available"
new "لا توجد يد تحكم"
# 00gamepad.rpy:54
old "Calibrating [name] ([i]/[total])"
new "Calibrating [name] ([i]/[total])"
new "يتم تهيئة [name] ([i]/[total])"
# 00gamepad.rpy:58
old "Press or move the [control!r] [kind]."
new "Press or move the [control!r] [kind]."
new "الرجاء ضغط الزر او تحريك [control!r] [kind]."
# 00gamepad.rpy:66
old "Skip (A)"
new "Skip (A)"
new "تخطي (A)"
# 00gamepad.rpy:69
old "Back (B)"
new "Back (B)"
new "عودة (B)"
# _errorhandling.rpym:495
old "Open Traceback"
@@ -123,11 +123,11 @@ translate arabic strings:
# _errorhandling.rpym:499
old "Copy to Clipboard"
new "Copy to Clipboard"
new "نسخ إلى الحافظة"
# _errorhandling.rpym:501
old "Copies the traceback.txt file to the clipboard."
new "Copies the traceback.txt file to the clipboard."
new "ينسخ ملف trackback.txt إلى الحافظة."
# _errorhandling.rpym:519
old "An exception has occurred."
+100 -100
View File
@@ -3,7 +3,7 @@ translate arabic strings:
# gui.rpy:2
old "## Initialization"
new "## Initialization"
new "## تتم التهيئة الآن"
# gui.rpy:5
old "## The init offset statement causes the init code in this file to run before init code in any other file."
@@ -15,397 +15,397 @@ translate arabic strings:
# gui.rpy:21
old "## Colors"
new "## Colors"
new "## الألوان"
# gui.rpy:23
old "## The colors of text in the interface."
new "## The colors of text in the interface."
new "## ألوان الخطوط الظاهرة في الواجهة."
# gui.rpy:25
old "## An accent color used throughout the interface to label and highlight text."
new "## An accent color used throughout the interface to label and highlight text."
new "## لون إضافي ينطبق على الوسوم و العناوين الرئيسية في اماكن مختلفة من الواجهة."
# gui.rpy:29
old "## The color used for a text button when it is neither selected nor hovered."
new "## The color used for a text button when it is neither selected nor hovered."
new "## اللون المطلوب للأزرار حين لا تكون قيد الاستعمال ولا مظللة."
# gui.rpy:32
old "## The small color is used for small text, which needs to be brighter/darker to achieve the same effect."
new "## The small color is used for small text, which needs to be brighter/darker to achieve the same effect."
new "## اللون الصغير هو اللون الذي ينطبق على الخطوط الصغيرة, والتي تحتاج ان تكون ذات لون فاتح او داكن اكثر مما حولها لتظهر بشكل واضح."
# gui.rpy:36
old "## The color that is used for buttons and bars that are hovered."
new "## The color that is used for buttons and bars that are hovered."
new "## اللون الذي ينطبق على الازرار و اشرطة التمرير عند تظليلها بالمؤشر."
# gui.rpy:39
old "## The color used for a text button when it is selected but not focused. A button is selected if it is the current screen or preference value."
new "## The color used for a text button when it is selected but not focused. A button is selected if it is the current screen or preference value."
new "## اللون الذي ينطبق على الزر المفعّل الآن لكن ليس حين يكون مظللا. تفعيل الزر هو ما يظهر عندما تكون في الصفحه الخاصة به او الصفحة التي يؤدي إليها."
# gui.rpy:43
old "## The color used for a text button when it cannot be selected."
new "## The color used for a text button when it cannot be selected."
new "## اللون الخاص بالزر حين يكون غير قابل للضغط."
# gui.rpy:46
old "## Colors used for the portions of bars that are not filled in. These are not used directly, but are used when re-generating bar image files."
new "## Colors used for the portions of bars that are not filled in. These are not used directly, but are used when re-generating bar image files."
new "## اللون الذي يتم استعماله لملء الفراغات في اشرطة التمرير. هذا اللون لا يظهر فعليا, لكن يتم استعماله عند اعادة تكوين الصور الخاصة باشرطة التمرير."
# gui.rpy:51
old "## The colors used for dialogue and menu choice text."
new "## The colors used for dialogue and menu choice text."
new "## اللون الخاص بالنص عند الحوار و في ازرار القائمة الرئيسية."
# gui.rpy:56
old "## Fonts and Font Sizes"
new "## Fonts and Font Sizes"
new "##نوع الخط و حجمه."
# gui.rpy:58
old "## The font used for in-game text."
new "## The font used for in-game text."
new "##نوع الخط المستخدم داخل نص اللعبة."
# gui.rpy:61
old "## The font used for character names."
new "## The font used for character names."
new "##نوع الخط المستخدم في أسماء الشخصيات."
# gui.rpy:64
old "## The font used for out-of-game text."
new "## The font used for out-of-game text."
new "##نوع الخط المستخدم في النصوص خارج الحوار في اللعبة."
# gui.rpy:67
old "## The size of normal dialogue text."
new "## The size of normal dialogue text."
new "##حجم الخط المستخدم في الحوار."
# gui.rpy:70
old "## The size of character names."
new "## The size of character names."
new "##حجم الخط المستخدم لأسماء الشخصيات."
# gui.rpy:73
old "## The size of text in the game's user interface."
new "## The size of text in the game's user interface."
new "##حجم الخط المستخدم في واجهة اللعبة التشغيلية."
# gui.rpy:76
old "## The size of labels in the game's user interface."
new "## The size of labels in the game's user interface."
new "## حجم العناوين الرئيسية في واجهة اللعبة التشغيلية."
# gui.rpy:79
old "## The size of text on the notify screen."
new "## The size of text on the notify screen."
new "##حجم الخط المستخدم في صفحة الملاحظات."
# gui.rpy:82
old "## The size of the game's title."
new "## The size of the game's title."
new "## حجم الخط المستخدم لعنوان اللعبة الرئيسي."
# gui.rpy:86
old "## Main and Game Menus"
new "## Main and Game Menus"
new "## القائمة الرئيسية و قائمة اللعبة."
# gui.rpy:88
old "## The images used for the main and game menus."
new "## The images used for the main and game menus."
new "## الصور المستخدمة في القائمة الرئيسية و قوائم اللعبة."
# gui.rpy:92
old "## Should we show the name and version of the game?"
new "## Should we show the name and version of the game?"
new "## هل سنقوم بعرض اسم و نسخه اللعبة الحالية؟"
# gui.rpy:96
old "## Dialogue"
new "## Dialogue"
new "## الحوار"
# gui.rpy:98
old "## These variables control how dialogue is displayed on the screen one line at a time."
new "## These variables control how dialogue is displayed on the screen one line at a time."
new "## هذه المتغيرات تقوم بتحديد طريقة عرض الحوار الظاهر على الشاشة سطراً سطراً."
# gui.rpy:101
old "## The height of the textbox containing dialogue."
new "## The height of the textbox containing dialogue."
new "## ارتفاع الصندوق الذي يحتوي على النصوص."
# gui.rpy:104
old "## The placement of the textbox vertically on the screen. 0.0 is the top, 0.5 is center, and 1.0 is the bottom."
new "## The placement of the textbox vertically on the screen. 0.0 is the top, 0.5 is center, and 1.0 is the bottom."
new "## مكان صندوق الحوار عموديا على الشاشة. 0.0 يضعه في الأعلى, 0.5 في المنتصف, و 1.0 يضع الصندوق في أسفل الشاشة."
# gui.rpy:109
old "## The placement of the speaking character's name, relative to the textbox. These can be a whole number of pixels from the left or top, or 0.5 to center."
new "## The placement of the speaking character's name, relative to the textbox. These can be a whole number of pixels from the left or top, or 0.5 to center."
new "##مكان الخانة الخاصة بعرض اسم الشخصية و تناسبها مع صندوق الحوار الرئيسي. يمكن وضع ارقام تعبر عن عدد البكسلات بينها و بين الجزء العلوي الأيسر من الشاشة, او استعمال نسبة مثل 0.5 لوضعها في المنتصف."
# gui.rpy:114
old "## The horizontal alignment of the character's name. This can be 0.0 for left-aligned, 0.5 for centered, and 1.0 for right-aligned."
new "## The horizontal alignment of the character's name. This can be 0.0 for left-aligned, 0.5 for centered, and 1.0 for right-aligned."
new "##هذا يحدد مكان ظهور اسم الشخصية, يمكن ان يكون 0.0 ليقارب اليسار, 0.5 ليكون في المنتصف, و 1.0 ليقارب اليمين."
# gui.rpy:118
old "## The width, height, and borders of the box containing the character's name, or None to automatically size it."
new "## The width, height, and borders of the box containing the character's name, or None to automatically size it."
new "## طول و عرض و ارتفاع الصندوق الذي يحتوي على اسم الشخصية, او None ليتم استعمال حجم قياسي."
# gui.rpy:123
old "## The borders of the box containing the character's name, in left, top, right, bottom order."
new "## The borders of the box containing the character's name, in left, top, right, bottom order."
new "## حجم الخط الذي يحيط بصندوق اسم الشخصية, الاحجام بالترتيب هي اليسار, الأعلى, اليمين, و الأسفل."
# gui.rpy:127
old "## If True, the background of the namebox will be tiled, if False, the background if the namebox will be scaled."
new "## If True, the background of the namebox will be tiled, if False, the background if the namebox will be scaled."
new "## عندما يتم اختيار True سيتم تكرار الخلفية حتى تغطي الصندوق, عند اختيار False سيتم تمديد الصورة لتغطي الصندوق."
# gui.rpy:132
old "## The placement of dialogue relative to the textbox. These can be a whole number of pixels relative to the left or top side of the textbox, or 0.5 to center."
new "## The placement of dialogue relative to the textbox. These can be a whole number of pixels relative to the left or top side of the textbox, or 0.5 to center."
new "## مكان نص الحوار و تناسبه مع صندوق الحوار الرئيسي. يمكن وضع ارقام تعبر عن عدد البكسلات بينها و بين الجزء العلوي الأيسر من الشاشة, او استعمال نسبة مثل 0.5 لوضعه في المنتصف."
# gui.rpy:138
old "## The maximum width of dialogue text, in pixels."
new "## The maximum width of dialogue text, in pixels."
new "## عدد البكسلات القصوى التي يمكن ان يتمدد إليها صندوق الحوار بالعرض."
# gui.rpy:141
old "## The horizontal alignment of the dialogue text. This can be 0.0 for left-aligned, 0.5 for centered, and 1.0 for right-aligned."
new "## The horizontal alignment of the dialogue text. This can be 0.0 for left-aligned, 0.5 for centered, and 1.0 for right-aligned."
new "## اتجاه النص عرضياً: يمكن استعمال 0.0 ليقارب اليسار, 0.5 ليكون في المنتصف, و 1.0 ليقارب اليمين."
# gui.rpy:146
old "## Buttons"
new "## Buttons"
new "## أزرار"
# gui.rpy:148
old "## These variables, along with the image files in gui/button, control aspects of how buttons are displayed."
new "## These variables, along with the image files in gui/button, control aspects of how buttons are displayed."
new "## هذه المتغيرات تتشارك مع ملفات الصور في gui/button في تحديد مظهر الأزرار."
# gui.rpy:151
old "## The width and height of a button, in pixels. If None, Ren'Py computes a size."
new "## The width and height of a button, in pixels. If None, Ren'Py computes a size."
new "## طول و عرض الزر بالبكسل. لو تم استعمال None سيقوم رينباي باختيار حجم مناسب."
# gui.rpy:155
old "## The borders on each side of the button, in left, top, right, bottom order."
new "## The borders on each side of the button, in left, top, right, bottom order."
new "## حجم الخط الذي يحيط بصندوق الزر, الاحجام بالترتيب هي اليسار, الأعلى, اليمين, و الأسفل."
# gui.rpy:158
old "## If True, the background image will be tiled. If False, the background image will be linearly scaled."
new "## If True, the background image will be tiled. If False, the background image will be linearly scaled."
new "## عندما يتم اختيار True سيتم تكرار الخلفية حتى تغطي المساحه بأكملها, عند اختيار False سيتم تمديد الصورة."
# gui.rpy:162
old "## The font used by the button."
new "## The font used by the button."
new "## الخط المستخدم في الزر."
# gui.rpy:165
old "## The size of the text used by the button."
new "## The size of the text used by the button."
new "## حجم الخط المستخدم في الزر."
# gui.rpy:179
old "## These variables override settings for different kinds of buttons. Please see the gui documentation for the kinds of buttons available, and what each is used for."
new "## These variables override settings for different kinds of buttons. Please see the gui documentation for the kinds of buttons available, and what each is used for."
new "## هذه المتغيرات تقوم بتجاهل الخيارات التي تنطبق على انواع الازرار الأخرى. الرجاء قراءة دليل المستخدم الخاص بالواجهة للتعرف على انواع الازرار المتاحه و كيفية استعمالها."
# gui.rpy:183
old "## These customizations are used by the default interface:"
new "## These customizations are used by the default interface:"
new "## هذه الخيارات تنطبق على الواجهة القياسية:"
# gui.rpy:198
old "## You can also add your own customizations, by adding properly-named variables. For example, you can uncomment the following line to set the width of a navigation button."
new "## You can also add your own customizations, by adding properly-named variables. For example, you can uncomment the following line to set the width of a navigation button."
new "## يمكنك اضافة تغييرات يدويا عن طريق اضافة متغيرات بأسماء مميزة. مثلا, يمكنك ازالة اقتباسات الحماية ## عن السطر التالي لتغيير طول و عرض الازرار الخاصة بالقائمة."
# gui.rpy:205
old "## Choice Buttons"
new "## Choice Buttons"
new "## أزرار الخيارات"
# gui.rpy:207
old "## Choice buttons are used in the in-game menus."
new "## Choice buttons are used in the in-game menus."
new "## أزرار الخيارات يتم استعمالها داخل قوائم اللعبة."
# gui.rpy:220
old "## File Slot Buttons"
new "## File Slot Buttons"
new "## أزرار قائمة الحفظ."
# gui.rpy:222
old "## A file slot button is a special kind of button. It contains a thumbnail image, and text describing the contents of the save slot. A save slot uses image files in gui/button, like the other kinds of buttons."
new "## A file slot button is a special kind of button. It contains a thumbnail image, and text describing the contents of the save slot. A save slot uses image files in gui/button, like the other kinds of buttons."
new "## زر خانة الحفظ هو زر مميز عن غيره لانه يعرض صورة رمزية و نص يشرح محتويات الخانة. زر الحفظ يستعمل صور من مجلد الواجهة مثل باقي الأزرار في gui/button."
# gui.rpy:226
old "## The save slot button."
new "## The save slot button."
new "## زر خانة الحفظ."
# gui.rpy:234
old "## The width and height of thumbnails used by the save slots."
new "## The width and height of thumbnails used by the save slots."
new "## طول و عرض الصورة الرمزية لخانة الحفظ."
# gui.rpy:238
old "## The number of columns and rows in the grid of save slots."
new "## The number of columns and rows in the grid of save slots."
new "## عدد الخانات الطولية و العرضية التي يمكن الحفظ فيها."
# gui.rpy:243
old "## Positioning and Spacing"
new "## Positioning and Spacing"
new "## مكان الخانات و المساحه بينها."
# gui.rpy:245
old "## These variables control the positioning and spacing of various user interface elements."
new "## These variables control the positioning and spacing of various user interface elements."
new "## هذه المتغيرات تحدد المساحة و مكان عرض عدة عناصر خاصة بالواجهة."
# gui.rpy:248
old "## The position of the left side of the navigation buttons, relative to the left side of the screen."
new "## The position of the left side of the navigation buttons, relative to the left side of the screen."
new "## مكان الجزء الأيسر من ازرار القوائم وتناسبه مع الحد الأيسر من الشاشة."
# gui.rpy:252
old "## The vertical position of the skip indicator."
new "## The vertical position of the skip indicator."
new "## موقع مؤشر استمرار الحوار رأسياً."
# gui.rpy:255
old "## The vertical position of the notify screen."
new "## The vertical position of the notify screen."
new "## موقع شاشة التنبيهات رأسياً."
# gui.rpy:258
old "## The spacing between menu choices."
new "## The spacing between menu choices."
new "## الفراغات بين خيارات القوائم."
# gui.rpy:261
old "## Buttons in the navigation section of the main and game menus."
new "## Buttons in the navigation section of the main and game menus."
new "## الأزرار في صفحات الخيارات و القائمة الرئيسية."
# gui.rpy:264
old "## Controls the amount of spacing between preferences."
new "## Controls the amount of spacing between preferences."
new "## يتحكم في المساحه بين الخيارات."
# gui.rpy:267
old "## Controls the amount of spacing between preference buttons."
new "## Controls the amount of spacing between preference buttons."
new "## يتحكم في المساحه بين ازرار الخيارات."
# gui.rpy:270
old "## The spacing between file page buttons."
new "## The spacing between file page buttons."
new "## المساحه بين ازرار صفحات الحفظ."
# gui.rpy:273
old "## The spacing between file slots."
new "## The spacing between file slots."
new "## المساحه بين خانات الحفظ."
# gui.rpy:277
old "## Frames"
new "## Frames"
new "## الإطارات"
# gui.rpy:279
old "## These variables control the look of frames that can contain user interface components when an overlay or window is not present."
new "## These variables control the look of frames that can contain user interface components when an overlay or window is not present."
new "## هذه المتغيرات تحدد شكل الإطارات الخاصة بعناصر الواجهة عند انعدام نافذة تتحكم بظهورها."
# gui.rpy:282
old "## Generic frames that are introduced by player code."
new "## Generic frames that are introduced by player code."
new "## إطارات قياسية يتم تقديمها حسب برمجة اللاعب."
# gui.rpy:285
old "## The frame that is used as part of the confirm screen."
new "## The frame that is used as part of the confirm screen."
new "## الإطار الخاص بصفحة التأكيد."
# gui.rpy:288
old "## The frame that is used as part of the skip screen."
new "## The frame that is used as part of the skip screen."
new "## الإطار المستخدم في صفحة التسريع."
# gui.rpy:291
old "## The frame that is used as part of the notify screen."
new "## The frame that is used as part of the notify screen."
new "## الإطار المستخدم في صفحة التنبيهات."
# gui.rpy:294
old "## Should frame backgrounds be tiled?"
new "## Should frame backgrounds be tiled?"
new "## هل تريد ان تكون خلفية الإطار متكررة؟"
# gui.rpy:298
old "## Bars, Scrollbars, and Sliders"
new "## Bars, Scrollbars, and Sliders"
new "## أشرطة التمرير, الأشرطة, و العناصر المنزلقة."
# gui.rpy:300
old "## These control the look and size of bars, scrollbars, and sliders."
new "## These control the look and size of bars, scrollbars, and sliders."
new "## هذه تتحكم بشكل و حجم الأشرطة والعناصر المنزلقة."
# gui.rpy:302
old "## The default GUI only uses sliders and vertical scrollbars. All of the other bars are only used in creator-written code."
new "## The default GUI only uses sliders and vertical scrollbars. All of the other bars are only used in creator-written code."
new "## الواجهة القياسية لا تستخدم سوى العناصر المنزلقة و الأشرطة رأسياً, الأشرطة الباقية لا يتم استعمالها إلا عندما يقرر ذلك صانع اللعبة."
# gui.rpy:305
old "## The height of horizontal bars, scrollbars, and sliders. The width of vertical bars, scrollbars, and sliders."
new "## The height of horizontal bars, scrollbars, and sliders. The width of vertical bars, scrollbars, and sliders."
new "## ارتفاع الأشرطة و العناصر المنزلقة الأفقية. سماكة الأشرطة و العناصر المنزلقة الرأسية."
# gui.rpy:311
old "## True if bar images should be tiled. False if they should be linearly scaled."
new "## True if bar images should be tiled. False if they should be linearly scaled."
new "## استعمل True لتكون الصورة المستخدمة في الأشرطة المنزلقة متكررة, False ليتم تمديدها على حجم الشريط."
# gui.rpy:316
old "## Horizontal borders."
new "## Horizontal borders."
new "## الحاشية بالعرض."
# gui.rpy:321
old "## Vertical borders."
new "## Vertical borders."
new "## الحاضية بالطول."
# gui.rpy:326
old "## What to do with unscrollable scrollbars in the gui. \"hide\" hides them, while None shows them."
new "## What to do with unscrollable scrollbars in the gui. \"hide\" hides them, while None shows them."
new "## ماذا سنفعل بالأشرطة التي لا يمكن سحبها؟ يمكن استعمال hide لإخفائها, او None لتكون ظاهره في كل الاوقات."
# gui.rpy:331
old "## History"
new "## History"
new "## الحوار السابق"
# gui.rpy:333
old "## The history screen displays dialogue that the player has already dismissed."
new "## The history screen displays dialogue that the player has already dismissed."
new "## صفحة الحوار السابق تعرض الحوارات التي سبق للاعب قرائتها."
# gui.rpy:335
old "## The number of blocks of dialogue history Ren'Py will keep."
new "## The number of blocks of dialogue history Ren'Py will keep."
new "## عدد فقاعات الحوار التي سيحتفظ بها رينباي في صفحة الحوار السابق."
# gui.rpy:338
old "## The height of a history screen entry, or None to make the height variable at the cost of performance."
new "## The height of a history screen entry, or None to make the height variable at the cost of performance."
new "## ارتفاع صفحة عرض الحوار السابق, او None ليكون الإرتفاع متغير مع ملاحظة انه يؤثر في الأداء العام."
# gui.rpy:342
old "## The position, width, and alignment of the label giving the name of the speaking character."
new "## The position, width, and alignment of the label giving the name of the speaking character."
new "## الموقع, العرض, و اتجاه النص الخاص باسم الشخصية المعروض."
# gui.rpy:349
old "## The position, width, and alignment of the dialogue text."
new "## The position, width, and alignment of the dialogue text."
new "## الموقع, العرض و اتجاه النص الخاص بالحوار المعروض."
# gui.rpy:356
old "## NVL-Mode"
new "## NVL-Mode"
new "## NVL-Mode أسلوب عرض الحوار الروائي."
# gui.rpy:358
old "## The NVL-mode screen displays the dialogue spoken by NVL-mode characters."
new "## The NVL-mode screen displays the dialogue spoken by NVL-mode characters."
new "## شاشة عرض الأسلوب الروائي تعرض ما قالته شخصيات تم تخصيصها للحوار الروائي."
# gui.rpy:360
old "## The borders of the background of the NVL-mode background window."
new "## The borders of the background of the NVL-mode background window."
new "## حاشية الخلفية المستخدمة في نافذة الحوار الخاصة بالحوار الروائي."
# gui.rpy:363
old "## The height of an NVL-mode entry. Set this to None to have the entries dynamically adjust height."
new "## The height of an NVL-mode entry. Set this to None to have the entries dynamically adjust height."
new "## إرتفاع النافذة الخاصة بعرض الحوار الروائي. استعمل None لتناسب النافذة الحوار المعروض لكل فقاعه حوار."
# gui.rpy:367
old "## The spacing between NVL-mode entries when gui.nvl_height is None, and between NVL-mode entries and an NVL-mode menu."
new "## The spacing between NVL-mode entries when gui.nvl_height is None, and between NVL-mode entries and an NVL-mode menu."
new "## المساحه بين العناصر عندما يكون النظام الروائي يستعمل متغير None في سطر gui.nvl_height و المساحه بين اجزاء الحوار والقائمة في الحوار الروائي."
# gui.rpy:384
old "## The position, width, and alignment of nvl_thought text (the text said by the nvl_narrator character.)"
new "## The position, width, and alignment of nvl_thought text (the text said by the nvl_narrator character.)"
new "## موقع, عرض و اتجاه النص الخاص بشخصية التفكير nvl_thought, الحوار المنطوق من قبل شخصية nvl_narrator تم تحديدها في ملف حوار اللعبة."
# gui.rpy:391
old "## The position of nvl menu_buttons."
new "## The position of nvl menu_buttons."
new "## موقع ازرار القائمة في nvl menu_buttons."
# gui.rpy:403
old "## This increases the size of the quick buttons to make them easier to touch on tablets and phones."
new "## This increases the size of the quick buttons to make them easier to touch on tablets and phones."
new "## يقوم بتكبير المساحه الخاصة بازرار الاختصارات ليكون استعمالها اسهل على شاشات الاجهزة المحمولة و التابلت."
# gui.rpy:409
old "## This changes the size and spacing of various GUI elements to ensure they are easily visible on phones."
new "## This changes the size and spacing of various GUI elements to ensure they are easily visible on phones."
new "## يقوم بتغيير المساحات بين العناصر في اماكن مختلفة من الواجهة لتكون اسهل في الرؤية و الاستعمال على شاشات المحمول و التابلت."
# gui.rpy:413
old "## Font sizes."
new "## Font sizes."
new "## حجم النص."
# gui.rpy:421
old "## Adjust the location of the textbox."
new "## Adjust the location of the textbox."
new "## تحديد مكان مربع الحوار."
# gui.rpy:427
old "## Change the size and spacing of items in the game menu."
new "## Change the size and spacing of items in the game menu."
new "## تغيير الحجم و المساحه بين العناصر في قائمة اللعبة."
# gui.rpy:436
old "## File button layout."
new "## File button layout."
new "## ترتيب ازرار الملفات."
# gui.rpy:440
old "## NVL-mode."
new "## NVL-mode."
new "## NVL-mode نظام الحوار الروائي."
# gui.rpy:456
old "## Quick buttons."
new "## Quick buttons."
new "## إختصارات."
+36 -36
View File
@@ -315,11 +315,11 @@ translate arabic strings:
# distribute_gui.rpy:199
old "Upload to itch.io"
new "Upload to itch.io"
new "تحميل المشروع إلى itch.io"
# distribute_gui.rpy:215
old "Build Packages:"
new "بناء الرزمة البيانية:"
new "بناء الحزمة البيانية:"
# distribute_gui.rpy:234
old "Options:"
@@ -459,7 +459,7 @@ translate arabic strings:
# front_page.rpy:198
old "gui"
new "gui"
new "الواجهة"
# front_page.rpy:204
old "Edit File"
@@ -479,7 +479,7 @@ translate arabic strings:
# front_page.rpy:237
old "Change/Update GUI"
new "Change/Update GUI"
new "نغيير او تحديث الواجهة"
# front_page.rpy:239
old "Change Theme"
@@ -523,11 +523,11 @@ translate arabic strings:
# gui7.rpy:236
old "Select Accent and Background Colors"
new "Select Accent and Background Colors"
new "اختر لون الخلفية و المجموعة اللونية"
# gui7.rpy:250
old "Please click on the color scheme you wish to use, then click Continue. These colors can be changed and customized later."
new "Please click on the color scheme you wish to use, then click Continue. These colors can be changed and customized later."
new "الرجاء اختيار الألوان التي ترغب بها ثم اضغط زر الاستمرار, ستتمكن من تغيير هذه الالوان لاحقا."
# gui7.rpy:294
old "{b}Warning{/b}\nContinuing will overwrite customized bar, button, save slot, scrollbar, and slider images.\n\nWhat would you like to do?"
@@ -535,11 +535,11 @@ translate arabic strings:
# gui7.rpy:294
old "Choose new colors, then regenerate image files."
new "Choose new colors, then regenerate image files."
new "اختر الوان جديدة ثم أعد تكوين ملفات الصور لتطابق اللون الذي اخترته."
# gui7.rpy:294
old "Regenerate the image files using the colors in gui.rpy."
new "Regenerate the image files using the colors in gui.rpy."
new "يقوم بإعادة تكوين الصور حسب الألوان التي تم وضعها في ملف gui.rpy."
# gui7.rpy:314
old "PROJECT NAME"
@@ -563,15 +563,15 @@ translate arabic strings:
# gui7.rpy:341
old "What resolution should the project use? Although Ren'Py can scale the window up and down, this is the initial size of the window, the size at which assets should be drawn, and the size at which the assets will be at their sharpest.\n\nThe default of 1280x720 is a reasonable compromise."
new "What resolution should the project use? Although Ren'Py can scale the window up and down, this is the initial size of the window, the size at which assets should be drawn, and the size at which the assets will be at their sharpest.\n\nThe default of 1280x720 is a reasonable compromise."
new "ما هو الحجم المطلوب للمشروع؟ رينباي يستطيع تكبير و تصغير حجم النافذة لتناسب الشاشة, لكن الحجم الذي ستختاره هنا هو الحجم القياسي, و الذي ستظهر فيه الصور و الشخصيات في أوضح شكل لها. \n\n الحجم الذي يناسب اغلب الشاشات هو 1280×730 بكسل."
# gui7.rpy:389
old "Creating the new project..."
new "Creating the new project..."
new "يتم الآن تكوين المشروع الجديد..."
# gui7.rpy:391
old "Updating the project..."
new "Updating the project..."
new "يتم الآن تحديث معلومات المشروع..."
# interface.rpy:107
old "Documentation"
@@ -735,11 +735,11 @@ translate arabic strings:
# itch.rpy:60
old "The built distributions could not be found. Please choose 'Build' and try again."
new "The built distributions could not be found. Please choose 'Build' and try again."
new "لم يتمكن رينباي من ايجاد حزمة المشروع الجاهزة للرفع, الرجاء ضغط زر البناء و المحاولة مجدداَ."
# itch.rpy:91
old "No uploadable files were found. Please choose 'Build' and try again."
new "No uploadable files were found. Please choose 'Build' and try again."
new "لم يتمكن رينباي من ايجاد ملفات جاهزة للرفع. الرجاء ضغط زر البناء و المحاولة مجدداَ."
# itch.rpy:99
old "The butler program was not found."
@@ -751,7 +751,7 @@ translate arabic strings:
# itch.rpy:108
old "The name of the itch project has not been set."
new "The name of the itch project has not been set."
new "لم تقم باختيار اسم للمشروع للرفع على itch."
# itch.rpy:108
old "Please {a=https://itch.io/game/new}create your project{/a}, then add a line like \n{vspace=5}define build.itch_project = \"user-name/game-name\"\n{vspace=5} to options.rpy."
@@ -827,23 +827,23 @@ translate arabic strings:
# new_project.rpy:38
old "New GUI Interface"
new "New GUI Interface"
new "واجهة المستخدم الجديدة"
# new_project.rpy:48
old "Both interfaces have been translated to your language."
new "Both interfaces have been translated to your language."
new "تمت ترجمة كلا الواجهتين إلى اللغة التي قمت باختيارها."
# new_project.rpy:50
old "Only the new GUI has been translated to your language."
new "Only the new GUI has been translated to your language."
new "تمت ترجمة الواجهة الجديدة فقط إلى اللغه التي قمت باختيارها."
# new_project.rpy:52
old "Only the legacy theme interface has been translated to your language."
new "Only the legacy theme interface has been translated to your language."
new "تمت ترجمة الواجهة القديمة فقط إلى اللغه التي قمت باختيارها."
# new_project.rpy:54
old "Neither interface has been translated to your language."
new "Neither interface has been translated to your language."
new "لم تتم ترجمة اي من الواجهتين إلى اللغه المطلوبة."
# new_project.rpy:63
old "The projects directory could not be set. Giving up."
@@ -851,11 +851,11 @@ translate arabic strings:
# new_project.rpy:69
old "Which interface would you like to use? The new GUI has a modern look, supports wide screens and mobile devices, and is easier to customize. Legacy themes might be necessary to work with older example code.\n\n[language_support!t]\n\nIf in doubt, choose the new GUI, then click Continue on the bottom-right."
new "Which interface would you like to use? The new GUI has a modern look, supports wide screens and mobile devices, and is easier to customize. Legacy themes might be necessary to work with older example code.\n\n[language_support!t]\n\nIf in doubt, choose the new GUI, then click Continue on the bottom-right."
new "أي من الواجهتين ترغب في استخدامه؟ واجهة المستخدم الجديدة تناسب الاجهزة المحمولة وجميع احجام الشاشات, و أسهل في اضافة التفاصيل و التخصيص. الواجهة القديمة قد تكون مهمة للمشاريع التي تم انجازها سابقا.\n\n ان لم تكن متأكدا قم باختيار الواجهة الجديدة ثم اضغط استمرار في الجهة اليمنى السفلى."
# new_project.rpy:69
old "Legacy Theme Interface"
new "Legacy Theme Interface"
new "واجهة المستخدم القديمة"
# new_project.rpy:90
old "Choose Project Template"
@@ -995,7 +995,7 @@ translate arabic strings:
# translations.rpy:104
old "The language to work with. This should only contain lower-case ASCII characters and underscores."
new "The language to work with. This should only contain lower-case ASCII characters and underscores."
new "اختر اللغه التي ستعمل بها. يجب ان يكون اسم اللغه مكتوبا باحرف انجليزية فقط: lower-case ASCII and underscores"
# translations.rpy:130
old "Generate empty strings for translations"
@@ -1003,31 +1003,31 @@ translate arabic strings:
# translations.rpy:148
old "Generates or updates translation files. The files will be placed in game/tl/[persistent.translate_language!q]."
new "Generates or updates translation files. The files will be placed in game/tl/[persistent.translate_language!q]."
new "يقوم بتكوين او تحديث ملفات الترجمة. سيتم وضع الملفات في game/tl/[persistent.translate_language!q]."
# translations.rpy:168
old "Extract String Translations"
new "Extract String Translations"
new "استخراج نصوص الترجمة"
# translations.rpy:170
old "Merge String Translations"
new "Merge String Translations"
new "دمج نصوص الترجمة"
# translations.rpy:175
old "Replace existing translations"
new "Replace existing translations"
new "استبدال نصوص الترجمة الحالية"
# translations.rpy:176
old "Reverse languages"
new "Reverse languages"
new "استبدال لغه بالأخرى"
# translations.rpy:180
old "Update Default Interface Translations"
new "Update Default Interface Translations"
new "تحديث لغة واجهة رينباي التشغيلية"
# translations.rpy:200
old "The extract command allows you to extract string translations from an existing project into a temporary file.\n\nThe merge command merges extracted translations into another project."
new "The extract command allows you to extract string translations from an existing project into a temporary file.\n\nThe merge command merges extracted translations into another project."
new "أمر استخراج نصوص الترجمة يقوم بنسخ الأسطر إلى ملف مؤقت. \n\n أمر دمج نصوص الترجمة يقوم باستخراج النصوص إلى مشروع آخر."
# translations.rpy:224
old "Ren'Py is generating translations...."
@@ -1039,23 +1039,23 @@ translate arabic strings:
# translations.rpy:248
old "Ren'Py is extracting string translations..."
new "Ren'Py is extracting string translations..."
new "يقوم رينباي باستخراج ملفات الترجمة..."
# translations.rpy:251
old "Ren'Py has finished extracting [language] string translations."
new "Ren'Py has finished extracting [language] string translations."
new "انتهى رينباي من استخراج أسطر الترجمة الخاصة باللغه [language]."
# translations.rpy:271
old "Ren'Py is merging string translations..."
new "Ren'Py is merging string translations..."
new "يقوم رينباي بدمج اسطر الترجمة..."
# translations.rpy:274
old "Ren'Py has finished merging [language] string translations."
new "Ren'Py has finished merging [language] string translations."
new "انتهى رينباي من دمج أسطر الترجمة الخاصة باللغه [language]."
# translations.rpy:282
old "Updating default interface translations..."
new "Updating default interface translations..."
new "يقوم رينباي بتحديث اسطر الترجمة الخاصة بالواجهة التشغيلية..."
# translations.rpy:306
old "Extract Dialogue: [project.current.name!q]"
@@ -1063,7 +1063,7 @@ translate arabic strings:
# translations.rpy:322
old "Format:"
new "Format:"
new "الصيغة:"
# translations.rpy:330
old "Tab-delimited Spreadsheet (dialogue.tab)"
@@ -1091,7 +1091,7 @@ translate arabic strings:
# translations.rpy:378
old "Ren'Py has finished extracting dialogue. The extracted dialogue can be found in dialogue.[persistent.dialogue_format] in the base directory."
new "Ren'Py has finished extracting dialogue. The extracted dialogue can be found in dialogue.[persistent.dialogue_format] in the base directory."
new "انتهى رينباي من استخراج اسطر النص. الحوار الذي تم استخراجه موجود في المجلد الرئيسي للمشروع dialogue.[persistent.dialogue_format]."
# updater.rpy:75
old "Select Update Channel"
+25 -25
View File
@@ -3,55 +3,55 @@ translate arabic strings:
# options.rpy:1
old "## This file contains options that can be changed to customize your game."
new "## This file contains options that can be changed to customize your game."
new "## هذا الملف يحتوي على الخيارات التي تستطيع تعديلها لتغيير محتويات لعبتك."
# options.rpy:4
old "## Lines beginning with two '#' marks are comments, and you shouldn't uncomment them. Lines beginning with a single '#' mark are commented-out code, and you may want to uncomment them when appropriate."
new "## Lines beginning with two '#' marks are comments, and you shouldn't uncomment them. Lines beginning with a single '#' mark are commented-out code, and you may want to uncomment them when appropriate."
new "## الأسطر التي تبدأ بهذا الشعار مرتين'#' هي أسطر مقتبسه و لا يفترض عليك تغييرها. الأسطر التي تحتوي على '#' واحده هي أسطر برمجة يمكنك الغاء الاقتباس عندها لتفعيلها."
# options.rpy:10
old "## Basics"
new "## Basics"
new "## الأساسيات"
# options.rpy:12
old "## A human-readable name of the game. This is used to set the default window title, and shows up in the interface and error reports."
new "## A human-readable name of the game. This is used to set the default window title, and shows up in the interface and error reports."
new "## الإسم الرسمي للعبه. يتم استعمال هذا السطر كإسم النافذة و يظهرفي واجهة النظام التشغيلية و ملفات حصر الأخطاء."
# options.rpy:15
old "## The _() surrounding the string marks it as eligible for translation."
new "## The _() surrounding the string marks it as eligible for translation."
new "## رمز _() حول النصوص يجعلها قابلة للترجمة."
# options.rpy:17
old "Ren'Py 7 Default GUI"
new "Ren'Py 7 Default GUI"
new "الواجهة التشغيلية القياسية لـ رينباي7"
# options.rpy:20
old "## Determines if the title given above is shown on the main menu screen. Set this to False to hide the title."
new "## Determines if the title given above is shown on the main menu screen. Set this to False to hide the title."
new "## يحدد إذا ما تم إظهار العنوان في القائمة الرئيسية. لإخفاء العنوان اجعله False."
# options.rpy:26
old "## The version of the game."
new "## The version of the game."
new "## نسخه اللعبة."
# options.rpy:31
old "## Text that is placed on the game's about screen. To insert a blank line between paragraphs, write \\n\\n."
new "## Text that is placed on the game's about screen. To insert a blank line between paragraphs, write \\n\\n."
new "## النص الظاهر على شاشة اللعبه. لإظهار سطر فارغ بين اجزاء النص اكتب \\n\\n."
# options.rpy:37
old "## A short name for the game used for executables and directories in the built distribution. This must be ASCII-only, and must not contain spaces, colons, or semicolons."
new "## A short name for the game used for executables and directories in the built distribution. This must be ASCII-only, and must not contain spaces, colons, or semicolons."
new "## اسم مختصر للعبه يتم استعماله في ملفات التشغيل و نسخ النشر. يجب ان يحتوي على احرف انجليزية فقط, دون فراغات ولا فواصل ولا فواصل منقوطة."
# options.rpy:44
old "## Sounds and music"
new "## Sounds and music"
new "## الصوت و الموسيقى"
# options.rpy:46
old "## These three variables control which mixers are shown to the player by default. Setting one of these to False will hide the appropriate mixer."
new "## These three variables control which mixers are shown to the player by default. Setting one of these to False will hide the appropriate mixer."
new "## هذه المتغيرات الثلاثة تحدد معالجات الأصوات الظاهره بشكل قياسي للاعب. إلغاء أحدها يجعله يختفي من الواجهة عن طريق اختيار False."
# options.rpy:55
old "## To allow the user to play a test sound on the sound or voice channel, uncomment a line below and use it to set a sample sound to play."
new "## To allow the user to play a test sound on the sound or voice channel, uncomment a line below and use it to set a sample sound to play."
new "## يسمح للاعب ان يسمع صوتا لاختبار ارتفاع الصوت او النطق, إمسح الاقتباس عن السطر التالي ليتم تفعيل زر العينة الصوتية."
# options.rpy:62
old "## Uncomment the following line to set an audio file that will be played while the player is at the main menu. This file will continue playing into the game, until it is stopped or another file is played."
@@ -59,7 +59,7 @@ translate arabic strings:
# options.rpy:69
old "## Transitions"
new "## Transitions"
new "## الإنتقال"
# options.rpy:71
old "## These variables set transitions that are used when certain events occur. Each variable should be set to a transition, or None to indicate that no transition should be used."
@@ -67,15 +67,15 @@ translate arabic strings:
# options.rpy:75
old "## Entering or exiting the game menu."
new "## Entering or exiting the game menu."
new "## الدخول او الخروج من قائمة اللعبة."
# options.rpy:81
old "## A transition that is used after a game has been loaded."
new "## A transition that is used after a game has been loaded."
new "## الإنتقال الذي يحصل بعد ان تنتهي اللعبة من الإقلاع."
# options.rpy:86
old "## Used when entering the main menu after the game has ended."
new "## Used when entering the main menu after the game has ended."
new "## يظهر عند الدخول إلى القائمة الرئيسية بعد انتهاء اللعبة."
# options.rpy:91
old "## A variable to set the transition used when the game starts does not exist. Instead, use a with statement after showing the initial scene."
@@ -83,7 +83,7 @@ translate arabic strings:
# options.rpy:96
old "## Window management"
new "## Window management"
new "## خيارات النافذة"
# options.rpy:98
old "## This controls when the dialogue window is displayed. If \"show\", it is always displayed. If \"hide\", it is only displayed when dialogue is present. If \"auto\", the window is hidden before scene statements and shown again once dialogue is displayed."
@@ -95,11 +95,11 @@ translate arabic strings:
# options.rpy:109
old "## Transitions used to show and hide the dialogue window"
new "## Transitions used to show and hide the dialogue window"
new "## الإنتقالات البصرية المستخدمه عند إظهار و إخفاء مربع الحوار"
# options.rpy:115
old "## Preference defaults"
new "## Preference defaults"
new "## الخيارات القياسية"
# options.rpy:117
old "## Controls the default text speed. The default, 0, is infinite, while any other number is the number of characters per second to type out."
@@ -111,7 +111,7 @@ translate arabic strings:
# options.rpy:129
old "## Save directory"
new "## Save directory"
new "## مجلد الحفظ"
# options.rpy:131
old "## Controls the platform-specific place Ren'Py will place the save files for this game. The save files will be placed in:"
@@ -135,19 +135,19 @@ translate arabic strings:
# options.rpy:146
old "## Icon ########################################################################'"
new "## Icon ########################################################################'"
new "## أيقونة ########################################################################'"
# options.rpy:148
old "## The icon displayed on the taskbar or dock."
new "## The icon displayed on the taskbar or dock."
new "## الأيقونة الظاهرة في شريط البرامج."
# options.rpy:153
old "## Build configuration"
new "## Build configuration"
new "## معلومات ملف النشر"
# options.rpy:155
old "## This section controls how Ren'Py turns your project into distribution files."
new "## This section controls how Ren'Py turns your project into distribution files."
new "## هذا الجزء يتحكم بالمعلومات التي يستعملها رينباي لتحويل مشروعك إلى ملفات يمكن نشرها."
# options.rpy:160
old "## The following functions take file patterns. File patterns are case- insensitive, and matched against the path relative to the base directory, with and without a leading /. If multiple patterns match, the first is used."
+38 -38
View File
@@ -71,7 +71,7 @@ translate arabic strings:
# screens.rpy:262
old "History"
new "History"
new "سجل الحوار"
# screens.rpy:263
old "Skip"
@@ -111,11 +111,11 @@ translate arabic strings:
# screens.rpy:308
old "Start"
new "Start"
new "إبدأ"
# screens.rpy:316
old "Load"
new "Load"
new "استرجاع"
# screens.rpy:318
old "Preferences"
@@ -227,15 +227,15 @@ translate arabic strings:
# screens.rpy:607
old "Page {}"
new "Page {}"
new "صفحة {}"
# screens.rpy:607
old "Automatic saves"
new "Automatic saves"
new "الحفظ التلقائي"
# screens.rpy:607
old "Quick saves"
new "Quick saves"
new "الحفظ السريع"
# screens.rpy:613
old "## This ensures the input will get the enter event before any of the buttons do."
@@ -251,7 +251,7 @@ translate arabic strings:
# screens.rpy:649
old "empty slot"
new "empty slot"
new "خانة فارغة"
# screens.rpy:657
old "## Buttons to access other pages."
@@ -263,11 +263,11 @@ translate arabic strings:
# screens.rpy:668
old "{#auto_page}A"
new "{#auto_page}A"
new "{#auto_page}ت"
# screens.rpy:670
old "{#quick_page}Q"
new "{#quick_page}Q"
new "{#quick_page}س"
# screens.rpy:676
old ">"
@@ -303,19 +303,19 @@ translate arabic strings:
# screens.rpy:745
old "Disable"
new "Disable"
new "غير مفعّل"
# screens.rpy:746
old "Left"
new "Left"
new "يسار"
# screens.rpy:747
old "Right"
new "Right"
new "يمين"
# screens.rpy:752
old "Unseen Text"
new "Unseen Text"
new "النصوص التي لم تُشاهَد بعد"
# screens.rpy:753
old "After Choices"
@@ -355,7 +355,7 @@ translate arabic strings:
# screens.rpy:806
old "Mute All"
new "Mute All"
new "كتم الكل"
# screens.rpy:882
old "## History screen"
@@ -395,15 +395,15 @@ translate arabic strings:
# screens.rpy:986
old "Keyboard"
new "Keyboard"
new "لوحة المفاتيح"
# screens.rpy:987
old "Mouse"
new "Mouse"
new "الفأرة"
# screens.rpy:990
old "Gamepad"
new "Gamepad"
new "عصا اللعب"
# screens.rpy:1003
old "Enter"
@@ -411,7 +411,7 @@ translate arabic strings:
# screens.rpy:1004
old "Advances dialogue and activates the interface."
new "Advances dialogue and activates the interface."
new "التقدم في الحوار والتفاعل مع الواجهة."
# screens.rpy:1007
old "Space"
@@ -419,15 +419,15 @@ translate arabic strings:
# screens.rpy:1008
old "Advances dialogue without selecting choices."
new "Advances dialogue without selecting choices."
new "التقدم في الحوار دون تحديد الخيارات."
# screens.rpy:1011
old "Arrow Keys"
new "Arrow Keys"
new "مفاتيح الأسهم"
# screens.rpy:1012
old "Navigate the interface."
new "Navigate the interface."
new "لتصفح الواجهة."
# screens.rpy:1015
old "Escape"
@@ -435,7 +435,7 @@ translate arabic strings:
# screens.rpy:1016
old "Accesses the game menu."
new "Accesses the game menu."
new "للوصول لقائمة اللعبة."
# screens.rpy:1019
old "Ctrl"
@@ -443,7 +443,7 @@ translate arabic strings:
# screens.rpy:1020
old "Skips dialogue while held down."
new "Skips dialogue while held down."
new "لتخطي الحوار عند الإستمرار بالضغط."
# screens.rpy:1023
old "Tab"
@@ -451,7 +451,7 @@ translate arabic strings:
# screens.rpy:1024
old "Toggles dialogue skipping."
new "Toggles dialogue skipping."
new "للتبديل بين أنظمة تخطي الحوار."
# screens.rpy:1027
old "Page Up"
@@ -459,7 +459,7 @@ translate arabic strings:
# screens.rpy:1028
old "Rolls back to earlier dialogue."
new "Rolls back to earlier dialogue."
new "للعودة للنص السابق."
# screens.rpy:1031
old "Page Down"
@@ -467,39 +467,39 @@ translate arabic strings:
# screens.rpy:1032
old "Rolls forward to later dialogue."
new "Rolls forward to later dialogue."
new "للإستمرار للنص اللاحق."
# screens.rpy:1036
old "Hides the user interface."
new "Hides the user interface."
new "لإخفاء الواجهة."
# screens.rpy:1040
old "Takes a screenshot."
new "Takes a screenshot."
new "إلتقاط صورة من الشاشة."
# screens.rpy:1044
old "Toggles assistive {a=https://www.renpy.org/l/voicing}self-voicing{/a}."
new "Toggles assistive {a=https://www.renpy.org/l/voicing}self-voicing{/a}."
new "تفعيل مساعدة {a=https://www.renpy.org/l/voicing}الصوت التلقائي{/a}."
# screens.rpy:1050
old "Left Click"
new "Left Click"
new "النقر بالزر الأيسر"
# screens.rpy:1054
old "Middle Click"
new "Middle Click"
new "النقر بالزر الأوسط"
# screens.rpy:1058
old "Right Click"
new "Right Click"
new "النقر بالزر الأيمن"
# screens.rpy:1062
old "Mouse Wheel Up\nClick Rollback Side"
new "Mouse Wheel Up\nClick Rollback Side"
new "تحريك عجلة الفأرة لأعلى\nClick Rollback Side"
# screens.rpy:1066
old "Mouse Wheel Down"
new "Mouse Wheel Down"
new "تحريك عجلة الفأرة لأسفل"
# screens.rpy:1073
old "Right Trigger\nA/Bottom Button"
@@ -507,11 +507,11 @@ translate arabic strings:
# screens.rpy:1074
old "Advance dialogue and activates the interface."
new "Advance dialogue and activates the interface."
new "التقدم في الحوار والتفاعل مع الواجهة."
# screens.rpy:1078
old "Roll back to earlier dialogue."
new "Roll back to earlier dialogue."
new "للعودة للنص السابق."
# screens.rpy:1081
old "Right Shoulder"
@@ -519,7 +519,7 @@ translate arabic strings:
# screens.rpy:1082
old "Roll forward to later dialogue."
new "Roll forward to later dialogue."
new "للإستمرار للنص اللاحق."
# screens.rpy:1085
old "D-Pad, Sticks"
@@ -587,7 +587,7 @@ translate arabic strings:
# screens.rpy:1208
old "Skipping"
new "Skipping"
new "جاري التخطي"
# screens.rpy:1215
old "## This transform is used to blink the arrows one after another."
+74 -10
View File
@@ -1,17 +1,12 @@
# You can place the script of your game in this file.
# هذا الملف يحتوي على كل نصوص اللعبه
# Declare images below this line, using the image statement.
# eg. image eileen happy = "eileen_happy.png"
# استعمل السطر التالي لإظهار الصور في شاشة اللعب
# image eileen happy = "eileen_happy.png"
# Declare characters used by this game.
# من هي شخصيات هذه اللعبه؟
define e = Character('إيلين', color="#c8ffc8")
init python:
if not persistent.default_language_set:
persistent.default_language_set = True
_preferences.language = "arabic"
# The game starts here.
# اللعبه تبدأ هنا
label start:
e "لقد بدأت حكاية رينباي جديدة."
@@ -19,3 +14,72 @@ label start:
e "كل ما عليك فعله هو إضافة نصوص و صور و إرسالها للعالم!"
return
########################################################### من اليمين الى اليسار
define config.rtl = True
define gui.text_align = 1.0
define gui.button_text_xalign = 1.0
define gui.prompt_text_xalign = 1.0
define gui.navigation_xpos = 240
define gui.name_xalign = 1.0
define gui.dialogue_text_xalign = 1.0
define gui.button_text_xalign = 1.0
define gui.main_menu_text_xalign = 1.0
define gui.history_name_xalign = 0.0
define gui.history_text_xalign = 1.0
define gui.nvl_name_xalign = 0.0
define gui.nvl_text_xalign = 1.0
define gui.nvl_thought_xalign = 1.0
define gui.nvl_button_xalign = 1.0
define gui.help_label_text_xalign = 0.0
define gui.name_xpos = gui.scale(1040)
define gui.dialogue_xpos = gui.scale(1012)
define gui.history_name_xpos = gui.scale(763)
define gui.history_text_xpos = gui.scale(748)
define gui.nvl_name_xpos = gui.scale(850)
define gui.nvl_text_xpos = gui.scale(830)
define gui.nvl_thought_xpos = gui.scale(1040)
define gui.nvl_button_xpos = gui.scale(830)
style game_menu_label:
xalign 1.0
xoffset gui.scale(-50)
style navigation_vbox:
xanchor 1.0
style return_button:
xanchor 1.0
style radio_button:
xalign 1.0
style radio_label:
xalign 1.0
style check_button:
xalign 1.0
style check_label:
xalign 1.0
style slider_label:
xpos gui.scale(350)
xalign 1.0
style help_hbox:
box_reverse True
xalign 1.0
spacing gui.scale(20)
style help_label_text:
xalign 0.0
style mute_all_button:
xalign 0.0
-3
View File
@@ -5,6 +5,3 @@
gui.REGULAR_BOLD = True
config.rtl = True
init python:
translate_define("arabic", "config.rtl", "True")
+68 -68
View File
@@ -3,107 +3,107 @@ translate french strings:
# 00action_file.rpy:26
old "{#weekday}Monday"
new "{#weekday}Monday"
new "{#weekday}Lundi"
# 00action_file.rpy:26
old "{#weekday}Tuesday"
new "{#weekday}Tuesday"
new "{#weekday}Mardi"
# 00action_file.rpy:26
old "{#weekday}Wednesday"
new "{#weekday}Wednesday"
new "{#weekday}Mercredi"
# 00action_file.rpy:26
old "{#weekday}Thursday"
new "{#weekday}Thursday"
new "{#weekday}Jeudi"
# 00action_file.rpy:26
old "{#weekday}Friday"
new "{#weekday}Friday"
new "{#weekday}Vendredi"
# 00action_file.rpy:26
old "{#weekday}Saturday"
new "{#weekday}Saturday"
new "{#weekday}Samedi"
# 00action_file.rpy:26
old "{#weekday}Sunday"
new "{#weekday}Sunday"
new "{#weekday}Dimanche"
# 00action_file.rpy:37
old "{#weekday_short}Mon"
new "{#weekday_short}Mon"
new "{#weekday_short}Lun"
# 00action_file.rpy:37
old "{#weekday_short}Tue"
new "{#weekday_short}Tue"
new "{#weekday_short}Mar"
# 00action_file.rpy:37
old "{#weekday_short}Wed"
new "{#weekday_short}Wed"
new "{#weekday_short}Mer"
# 00action_file.rpy:37
old "{#weekday_short}Thu"
new "{#weekday_short}Thu"
new "{#weekday_short}Jeu"
# 00action_file.rpy:37
old "{#weekday_short}Fri"
new "{#weekday_short}Fri"
new "{#weekday_short}Ven"
# 00action_file.rpy:37
old "{#weekday_short}Sat"
new "{#weekday_short}Sat"
new "{#weekday_short}Sam"
# 00action_file.rpy:37
old "{#weekday_short}Sun"
new "{#weekday_short}Sun"
new "{#weekday_short}Dim"
# 00action_file.rpy:47
old "{#month}January"
new "{#month}January"
new "{#month}Janvier"
# 00action_file.rpy:47
old "{#month}February"
new "{#month}February"
new "{#month}Février"
# 00action_file.rpy:47
old "{#month}March"
new "{#month}March"
new "{#month}Mars"
# 00action_file.rpy:47
old "{#month}April"
new "{#month}April"
new "{#month}Avril"
# 00action_file.rpy:47
old "{#month}May"
new "{#month}May"
new "{#month}Mai"
# 00action_file.rpy:47
old "{#month}June"
new "{#month}June"
new "{#month}Juin"
# 00action_file.rpy:47
old "{#month}July"
new "{#month}July"
new "{#month}Juillet"
# 00action_file.rpy:47
old "{#month}August"
new "{#month}August"
new "{#month}At"
# 00action_file.rpy:47
old "{#month}September"
new "{#month}September"
new "{#month}Septembre"
# 00action_file.rpy:47
old "{#month}October"
new "{#month}October"
new "{#month}Octobre"
# 00action_file.rpy:47
old "{#month}November"
new "{#month}November"
new "{#month}Novembre"
# 00action_file.rpy:47
old "{#month}December"
new "{#month}December"
new "{#month}Décembre"
# 00action_file.rpy:63
old "{#month_short}Jan"
@@ -111,7 +111,7 @@ translate french strings:
# 00action_file.rpy:63
old "{#month_short}Feb"
new "{#month_short}Feb"
new "{#month_short}Fév"
# 00action_file.rpy:63
old "{#month_short}Mar"
@@ -119,23 +119,23 @@ translate french strings:
# 00action_file.rpy:63
old "{#month_short}Apr"
new "{#month_short}Apr"
new "{#month_short}Avr"
# 00action_file.rpy:63
old "{#month_short}May"
new "{#month_short}May"
new "{#month_short}Mai"
# 00action_file.rpy:63
old "{#month_short}Jun"
new "{#month_short}Jun"
new "{#month_short}Juin"
# 00action_file.rpy:63
old "{#month_short}Jul"
new "{#month_short}Jul"
new "{#month_short}Juil"
# 00action_file.rpy:63
old "{#month_short}Aug"
new "{#month_short}Aug"
new "{#month_short}A"
# 00action_file.rpy:63
old "{#month_short}Sep"
@@ -151,11 +151,11 @@ translate french strings:
# 00action_file.rpy:63
old "{#month_short}Dec"
new "{#month_short}Dec"
new "{#month_short}Déc"
# 00action_file.rpy:235
old "%b %d, %H:%M"
new "%b %d, %H:%M"
new "%d %b, %H:%M"
# 00action_file.rpy:820
old "Quick save complete."
@@ -163,119 +163,119 @@ translate french strings:
# 00gui.rpy:227
old "Are you sure?"
new "Êtes-vous sûr ?"
new "Êtes-vous sûr ?"
# 00gui.rpy:228
old "Are you sure you want to delete this save?"
new "Êtes-vous sûr de vouloir supprimer cette sauvegarde ?"
new "Êtes-vous sûr de vouloir supprimer cette sauvegarde ?"
# 00gui.rpy:229
old "Are you sure you want to overwrite your save?"
new "Êtes-vous sûr de vouloir écraser cette sauvegarde ?"
new "Êtes-vous sûr de vouloir écraser cette sauvegarde ?"
# 00gui.rpy:230
old "Loading will lose unsaved progress.\nAre you sure you want to do this?"
new "Le chargement entraînera la perte des données non sauvegardées.\nÊtes-vous sûr de vouloir faire cela ?"
new "Le chargement entraînera la perte de votre progression depuis la dernière sauvegarde.\nÊtes-vous sûr de vouloir faire cela ?"
# 00gui.rpy:231
old "Are you sure you want to quit?"
new "Êtes-vous sûr de vouloir quitter ?"
new "Êtes-vous sûr de vouloir quitter ?"
# 00gui.rpy:232
old "Are you sure you want to return to the main menu?\nThis will lose unsaved progress."
new "Êtes-vous sûr de vouloir retourner au menu principal ?\nVous perdrez les données non sauvegardées."
new "Êtes-vous sûr de vouloir retourner au menu principal ?\nVotre progression depuis la dernière sauvegarde sera perdue."
# 00gui.rpy:233
old "Are you sure you want to end the replay?"
new "Are you sure you want to end the replay?"
new "Êtes-vous sûr de vouloir mettre arrêter la rediffusion ?"
# 00gui.rpy:234
old "Are you sure you want to begin skipping?"
new "Êtes-vous sûr de vouloir commencer à sauter ?"
new "Êtes-vous sûr de vouloir sauter les dialogues ?"
# 00gui.rpy:235
old "Are you sure you want to skip to the next choice?"
new "Êtes-vous sûr de vouloir sauter jusqu'au prochain choix ?"
new "Êtes-vous sûr de vouloir sauter les dialogues jusquau prochain choix ?"
# 00gui.rpy:236
old "Are you sure you want to skip unseen dialogue to the next choice?"
new "Are you sure you want to skip unseen dialogue to the next choice?"
new "Êtes-vous sûr de vouloir sauter les dialogues non vus jusquau prochain choix ?"
# 00keymap.rpy:250
old "Saved screenshot as %s."
new "Sauvez cette capture d'écran sous le nom %s."
new "Capture décran sauvegardée sous le nom %s."
# 00library.rpy:142
old "Self-voicing disabled."
new "Self-voicing disabled."
new "Vocalisation automatique désactivée."
# 00library.rpy:143
old "Clipboard voicing enabled. "
new "Clipboard voicing enabled. "
new "Vocalisation du contenu du presse-papier activée. "
# 00library.rpy:144
old "Self-voicing enabled. "
new "Self-voicing enabled. "
new "Vocalisation automatique activée. "
# 00library.rpy:179
old "Skip Mode"
new "Mode saut"
new "Mode avance rapide"
# 00library.rpy:262
old "This program contains free software under a number of licenses, including the MIT License and GNU Lesser General Public License. A complete list of software, including links to full source code, can be found {a=https://www.renpy.org/l/license}here{/a}."
new "This program contains free software under a number of licenses, including the MIT License and GNU Lesser General Public License. A complete list of software, including links to full source code, can be found {a=https://www.renpy.org/l/license}here{/a}."
new "Ce programme contient un logiciel libre soumis à de nombreuses licences incluant la licence « MIT » et la licence « GNU Lesser General Public License ». La liste complète des logiciels, incluant les liens vers le code source complet, peut-être trouvée {a=https://www.renpy.org/l/license}ici{/a}."
# 00preferences.rpy:422
old "Clipboard voicing enabled. Press 'shift+C' to disable."
new "Clipboard voicing enabled. Press 'shift+C' to disable."
new "Vocalisation du contenu du presse-papier activée. Pressez « Maj+C » pour la désactiver."
# 00preferences.rpy:424
old "Self-voicing would say \"[renpy.display.tts.last]\". Press 'alt+shift+V' to disable."
new "Self-voicing would say \"[renpy.display.tts.last]\". Press 'alt+shift+V' to disable."
new "La vocalisation automatique veut dire « [renpy.display.tts.last] ». Pressez « Alt+Maj+V » pour la désactiver."
# 00preferences.rpy:426
old "Self-voicing enabled. Press 'v' to disable."
new "Self-voicing enabled. Press 'v' to disable."
new "Vocalisation automatique activée. Pressez « v » pour la désactiver."
# 00iap.rpy:217
old "Contacting App Store\nPlease Wait..."
new "Contacting App Store\nPlease Wait..."
new "Connexion à lApple Store.\nVeuillez patienter…"
# 00updater.rpy:367
old "The Ren'Py Updater is not supported on mobile devices."
new "The Ren'Py Updater is not supported on mobile devices."
new "La mise à jour automatique de RenPy nest pas supportée sur les appareils mobiles."
# 00updater.rpy:486
old "An error is being simulated."
new "An error is being simulated."
new "Une erreur est en train d’être simulée."
# 00updater.rpy:662
old "Either this project does not support updating, or the update status file was deleted."
new "Either this project does not support updating, or the update status file was deleted."
new "Soit ce projet ne supporte pas la mise à jour, soit le fichier d’état des mises à jour a été supprimé."
# 00updater.rpy:676
old "This account does not have permission to perform an update."
new "This account does not have permission to perform an update."
new "Ce compte na pas la permission de réaliser une mise à jour."
# 00updater.rpy:679
old "This account does not have permission to write the update log."
new "This account does not have permission to write the update log."
new "Ce compte na pas la permission d’écrire dans le journal de mise à jour."
# 00updater.rpy:704
old "Could not verify update signature."
new "Could not verify update signature."
new "Impossible de vérifier la signature de la mise à jour."
# 00updater.rpy:975
old "The update file was not downloaded."
new "The update file was not downloaded."
new "Le fichier de mise à jour na pas été téléchargé."
# 00updater.rpy:993
old "The update file does not have the correct digest - it may have been corrupted."
new "The update file does not have the correct digest - it may have been corrupted."
new "Le fichier de mise à jour présente une signature incorrecte, le fichier peut avoir été corrompu."
# 00updater.rpy:1049
old "While unpacking {}, unknown type {}."
new "While unpacking {}, unknown type {}."
new "En décompressant {}, type {} inconnu."
# 00updater.rpy:1393
old "Updater"
@@ -287,11 +287,11 @@ translate french strings:
# 00updater.rpy:1406
old "[u.version] is available. Do you want to install it?"
new "[u.version] est disponible. Voulez-vous l'installer ?"
new "[u.version] est disponible. Voulez-vous linstaller ?"
# 00updater.rpy:1408
old "Preparing to download the updates."
new "Préparation au téléchargement de la mise à jour."
new "Préparation du téléchargement de la mise à jour."
# 00updater.rpy:1410
old "Downloading the updates."
@@ -299,7 +299,7 @@ translate french strings:
# 00updater.rpy:1412
old "Unpacking the updates."
new "Dépaquetage de la mise à jour."
new "Décompression de la mise à jour."
# 00updater.rpy:1416
old "The updates have been installed. The program will restart."
@@ -315,11 +315,11 @@ translate french strings:
# 00gallery.rpy:563
old "Image [index] of [count] locked."
new "Image [index] sur [count] bloquée."
new "Image [index] sur [count] verrouillée."
# 00gallery.rpy:583
old "prev"
new "prec."
new "préc."
# 00gallery.rpy:584
old "next"
+39 -39
View File
@@ -3,47 +3,47 @@ translate french strings:
# _developer/developer.rpym:38
old "Developer Menu"
new "Developer Menu"
new "Menu du développeur"
# _developer/developer.rpym:43
old "Reload Game (Shift+R)"
new "Reload Game (Shift+R)"
new "Recharger la partie (Maj+R)"
# _developer/developer.rpym:45
old "Console (Shift+O)"
new "Console (Shift+O)"
new "Console (Maj+O)"
# _developer/developer.rpym:47
old "Variable Viewer"
new "Variable Viewer"
new "Visualisateur de variable"
# _developer/developer.rpym:49
old "Theme Test"
new "Theme Test"
new "Test du thème"
# _developer/developer.rpym:51
old "Image Location Picker"
new "Image Location Picker"
new "Sélecteur demplacement dimages"
# _developer/developer.rpym:53
old "Filename List"
new "Filename List"
new "Liste des noms de fichiers"
# _developer/developer.rpym:57
old "Show Image Load Log"
new "Show Image Load Log"
new "Afficher le journal de chargement dimage"
# _developer/developer.rpym:60
old "Hide Image Load Log"
new "Hide Image Load Log"
new "Fermer le journal de chargement dimage"
# _developer/developer.rpym:95
old "Nothing to inspect."
new "Nothing to inspect."
new "Rien à inspecter."
# _developer/developer.rpym:217
old "Return to the developer menu"
new "Return to the developer menu"
new "Retourner au menu du développeur"
# _developer/developer.rpym:373
old "Rectangle: %r"
@@ -55,15 +55,15 @@ translate french strings:
# _developer/developer.rpym:383
old "Right-click or escape to quit."
new "Right-click or escape to quit."
new "Clic droit ou « Echap » pour quitter."
# _developer/developer.rpym:412
old "Rectangle copied to clipboard."
new "Rectangle copied to clipboard."
new "Rectangle copié dans le presse-papier."
# _developer/developer.rpym:415
old "Position copied to clipboard."
new "Position copied to clipboard."
new "Position copiée dans le presse-papier."
# _developer/developer.rpym:524
old "✔ "
@@ -75,15 +75,15 @@ translate french strings:
# _developer/developer.rpym:532
old "\n{color=#cfc}✔ predicted image (good){/color}\n{color=#fcc}✘ unpredicted image (bad){/color}\n{color=#fff}Drag to move.{/color}"
new "\n{color=#cfc}✔ predicted image (good){/color}\n{color=#fcc}✘ unpredicted image (bad){/color}\n{color=#fff}Drag to move.{/color}"
new "\n{color=#cfc}✔ image prédite (bon){/color}\n{color=#fcc}✘ image prédite (mauvais){/color}\n{color=#fff}Glissez pour bouger.{/color}"
# _developer/inspector.rpym:38
old "Displayable Inspector"
new "Displayable Inspector"
new "Inspecteur affichable"
# _developer/inspector.rpym:61
old "Size"
new "Size"
new "Taille"
# _developer/inspector.rpym:65
old "Style"
@@ -91,89 +91,89 @@ translate french strings:
# _developer/inspector.rpym:71
old "Location"
new "Location"
new "Localisation"
# _developer/inspector.rpym:122
old "Inspecting Styles of [displayable_name!q]"
new "Inspecting Styles of [displayable_name!q]"
new "Inspection des styles de [displayable_name!q]"
# _developer/inspector.rpym:139
old "displayable:"
new "displayable:"
new "affichable:"
# _developer/inspector.rpym:145
old " (no properties affect the displayable)"
new " (no properties affect the displayable)"
new " (Aucune propriété naffecte laffichage)"
# _developer/inspector.rpym:147
old " (default properties omitted)"
new " (default properties omitted)"
new " (Propriétés par défaut omises)"
# _developer/inspector.rpym:185
old "<repr() failed>"
new "<repr() failed>"
new "<repr() échoué>"
# 00console.rpy:182
old "Press <esc> to exit console. Type help for help.\n"
new "Press <esc> to exit console. Type help for help.\n"
new "Pressez « Echap » pour quitter la console. Pressez « Aide » pour afficher laide.\n"
# 00console.rpy:186
old "Ren'Py script enabled."
new "Ren'Py script enabled."
new "Script RenPy activé."
# 00console.rpy:188
old "Ren'Py script disabled."
new "Ren'Py script disabled."
new "Script Ren'Py désactivé."
# 00console.rpy:398
old "help: show this help"
new "help: show this help"
new "aide: Afficher cette aide"
# 00console.rpy:403
old "commands:\n"
new "commands:\n"
new "commandes:\n"
# 00console.rpy:413
old " <renpy script statement>: run the statement\n"
new " <renpy script statement>: run the statement\n"
new " <renpy script statement>: Exécuter cette déclaration\n"
# 00console.rpy:415
old " <python expression or statement>: run the expression or statement"
new " <python expression or statement>: run the expression or statement"
new " <python expression or statement>: Exécuter cette expression ou cette déclaration"
# 00console.rpy:423
old "clear: clear the console history"
new "clear: clear the console history"
new "clear: Purger lhistorique de la console"
# 00console.rpy:427
old "exit: exit the console"
new "exit: exit the console"
new "exit: quitter la console"
# 00console.rpy:435
old "load <slot>: loads the game from slot"
new "load <slot>: loads the game from slot"
new "load <slot>: charger la partie de cet emplacement"
# 00console.rpy:448
old "save <slot>: saves the game in slot"
new "save <slot>: saves the game in slot"
new "save <slot>: sauvegarder la partie dans cet emplacement "
# 00console.rpy:459
old "reload: reloads the game, refreshing the scripts"
new "reload: reloads the game, refreshing the scripts"
new "reload: Recharge le jeu, rafraîchit les scripts"
# 00console.rpy:467
old "watch <expression>: watch a python expression"
new "watch <expression>: watch a python expression"
new "watch <expression>: surveiller une expression Python"
# 00console.rpy:493
old "unwatch <expression>: stop watching an expression"
new "unwatch <expression>: stop watching an expression"
new "unwatch <expression>: Arrêter la surveillance dune expression Python"
# 00console.rpy:519
old "unwatchall: stop watching all expressions"
new "unwatchall: stop watching all expressions"
new "unwatchall: Arrêter de surveiller toutes les expressions"
# 00console.rpy:536
old "jump <label>: jumps to label"
new "jump <label>: jumps to label"
new "jump <label>: Saute jusquau label"
+31 -31
View File
@@ -11,11 +11,11 @@ translate french strings:
# 00gltest.rpy:75
old "Force Angle/DirectX Renderer"
new "Forcer le rendu 'Angle/DirectX'"
new "Forcer le rendu « Angle/DirectX »"
# 00gltest.rpy:79
old "Force OpenGL Renderer"
new "Forcer le rendu 'OpenGL'"
new "Forcer le rendu « OpenGL »"
# 00gltest.rpy:83
old "Force Software Renderer"
@@ -23,7 +23,7 @@ translate french strings:
# 00gltest.rpy:93
old "Enable"
new "Enable"
new "Active"
# 00gltest.rpy:109
old "Changes will take effect the next time this program is run."
@@ -31,7 +31,7 @@ translate french strings:
# 00gltest.rpy:141
old "Performance Warning"
new "Avertissement concernant les performances."
new "Alerte de performance."
# 00gltest.rpy:146
old "This computer is using software rendering."
@@ -39,23 +39,23 @@ translate french strings:
# 00gltest.rpy:148
old "This computer is not using shaders."
new "Cet ordinateur n'utilise pas les 'shaders'."
new "Cet ordinateur nutilise pas les « shaders »."
# 00gltest.rpy:150
old "This computer is displaying graphics slowly."
new "Cet ordinateur affiche lentement les graphismes."
new "Cet ordinateur affiche les graphismes lentement."
# 00gltest.rpy:152
old "This computer has a problem displaying graphics: [problem]."
new "Cet ordinateur a un problème pour afficher les graphismes: [problem]."
new "Cet ordinateur rencontre un problème pour afficher les graphismes: [problem]."
# 00gltest.rpy:157
old "Its graphics drivers may be out of date or not operating correctly. This can lead to slow or incorrect graphics display. Updating DirectX could fix this problem."
new "Les pilotes graphiques sont peut être pas à jour ou n'oppèrent pas correctement. Cela peut entraîner des lenteurs ou des erreurs d'affichage. Mettre à jour DirectX pourrait résoudre ce problème."
new "Les pilotes graphiques ne sont peut-être pas à jour ou noppèrent pas correctement. Cela peut conduire à des lenteurs ou des erreurs d'affichage. La mise à jour de DirectX pourrait résoudre ce problème."
# 00gltest.rpy:159
old "Its graphics drivers may be out of date or not operating correctly. This can lead to slow or incorrect graphics display."
new "Les pilotes graphiques sont peut être pas à jour ou n'opèrent pas correctement. Cela peut entraîner des lenteurs ou des erreurs d'affichage."
new "Les pilotes graphiques ne sont peut-être pas à jour ou nopèrent pas correctement. Cela peut conduire à des lenteurs ou des erreurs d'affichage."
# 00gltest.rpy:164
old "Update DirectX"
@@ -63,11 +63,11 @@ translate french strings:
# 00gltest.rpy:170
old "Continue, Show this warning again"
new "Continuer. Montrer cet avertissement à chaque fois."
new "Continuer et afficher cet avertissement à chaque fois."
# 00gltest.rpy:174
old "Continue, Don't show warning again"
new "Continuer. Ne plus montrer cet avertissement."
new "Continuer et ne plus afficher cet avertissement."
# 00gltest.rpy:192
old "Updating DirectX."
@@ -75,15 +75,15 @@ translate french strings:
# 00gltest.rpy:196
old "DirectX web setup has been started. It may start minimized in the taskbar. Please follow the prompts to install DirectX."
new "La page Web d'installation de DirectX a été lancé. Il se peut que la page soit minimisée. Suivez les instructions pour installer DirectX."
new "Linstallation de DirectX via le web a été lancée. Il se peut que lapplication soit minimisée et uniquement présente dans la barre des tâches. Suivez les instructions pour installer DirectX."
# 00gltest.rpy:200
old "{b}Note:{/b} Microsoft's DirectX web setup program will, by default, install the Bing toolbar. If you do not want this toolbar, uncheck the appropriate box."
new "{b}Note:{/b} la page web d'installation de Microsoft DirectX va, par défaut, installer le barre d'outils Bing. Décochez la case appropriée si vous ne voulez pas de cette barre d'outils."
new "{b}Note :{/b} Par défaut, linstallation de Microsoft DirectX via le web va installer la barre d'outils « Bing ». Pensez à décocher la case appropriée si vous ne voulez pas de cette barre d'outils."
# 00gltest.rpy:204
old "When setup finishes, please click below to restart this program."
new "Quand l'installation est terminée, cliquez ci-dessous pour redémarrer ce programme."
new "Quand linstallation sera terminée, cliquez ci-dessous pour redémarrer ce programme."
# 00gltest.rpy:206
old "Restart"
@@ -91,27 +91,27 @@ translate french strings:
# 00gamepad.rpy:32
old "Select Gamepad to Calibrate"
new "Select Gamepad to Calibrate"
new "Sélectionnez la manette à calibrer"
# 00gamepad.rpy:35
old "No Gamepads Available"
new "No Gamepads Available"
new "Aucune manette disponible"
# 00gamepad.rpy:54
old "Calibrating [name] ([i]/[total])"
new "Calibrating [name] ([i]/[total])"
new "Calibrage de [name] ([i]/[total])"
# 00gamepad.rpy:58
old "Press or move the [control!r] [kind]."
new "Press or move the [control!r] [kind]."
new "Pressez ou déplacez le [kind] [control!r]."
# 00gamepad.rpy:66
old "Skip (A)"
new "Skip (A)"
new "Passer (A)"
# 00gamepad.rpy:69
old "Back (B)"
new "Back (B)"
new "Retour (B)"
# _errorhandling.rpym:495
old "Open Traceback"
@@ -119,27 +119,27 @@ translate french strings:
# _errorhandling.rpym:497
old "Opens the traceback.txt file in a text editor."
new "Ouvrir le fichier 'traceback.txt' dans un éditeur de texte."
new "Ouvrir le fichier « traceback.txt » dans un éditeur de texte."
# _errorhandling.rpym:499
old "Copy to Clipboard"
new "Copy to Clipboard"
new "Copier dans le presse-papier"
# _errorhandling.rpym:501
old "Copies the traceback.txt file to the clipboard."
new "Copies the traceback.txt file to the clipboard."
new "Copie le fichier traceback.txt dans le presse-papier."
# _errorhandling.rpym:519
old "An exception has occurred."
new "Une exception est apparue."
new "Une exception est survenue."
# _errorhandling.rpym:538
old "Rollback"
new "Retour arrière"
new "Annuler"
# _errorhandling.rpym:540
old "Attempts a roll back to a prior time, allowing you to save or choose a different choice."
new "Essai de retour arrière, permettant de sauvegarder ou de faire un choix différent."
new "Tente une annulation jusqu’à l’état précédent, cela vous permettra de sauvegarder ou deffectuer un choix différent."
# _errorhandling.rpym:543
old "Ignore"
@@ -147,7 +147,7 @@ translate french strings:
# _errorhandling.rpym:545
old "Ignores the exception, allowing you to continue. This often leads to additional errors."
new "Ignorer l'exception, et continuer. Cela amène souvent à de nouvelles erreurs."
new "Ignorer lexception, et continuer. Cela conduit souvent à de nouvelles erreurs."
# _errorhandling.rpym:548
old "Reload"
@@ -163,17 +163,17 @@ translate french strings:
# _errorhandling.rpym:582
old "Parsing the script failed."
new "Échec dans l'interprétation du jeu."
new "Lanalyse du script a échoué."
# _errorhandling.rpym:606
old "Open Parse Errors"
new "Ouvrir les erreurs d'interprétation"
new "Afficher les erreurs dinterprétation"
# _errorhandling.rpym:608
old "Opens the errors.txt file in a text editor."
new "Ouvrir le fihchier 'errors.txt' dans un éditeur de texte."
new "Ouvrir le fihchier « errors.txt » dans un éditeur de texte."
# _errorhandling.rpym:612
old "Copies the errors.txt file to the clipboard."
new "Copies the errors.txt file to the clipboard."
new "Copie le contenu du fichier « errors.txt » dans le presse-papier."
+101 -101
View File
@@ -3,107 +3,107 @@ translate french strings:
# gui.rpy:2
old "## Initialization"
new "## Initialization"
new "## Initialisation"
# gui.rpy:5
old "## The init offset statement causes the init code in this file to run before init code in any other file."
new "## The init offset statement causes the init code in this file to run before init code in any other file."
new "## Linstruction init déclenche lexécution du code dinitialisation de ce fichier avant le code dinitialisation de nimporte quel autre fichier."
# gui.rpy:9
old "## Calling gui.init resets the styles to sensible default values, and sets the width and height of the game."
new "## Calling gui.init resets the styles to sensible default values, and sets the width and height of the game."
new "## Appelé gui.init réinitialise les styles à leurs valeurs par défaut et initialise la largeur et la hauteur du jeu."
# gui.rpy:21
old "## Colors"
new "## Colors"
new "## Couleurs"
# gui.rpy:23
old "## The colors of text in the interface."
new "## The colors of text in the interface."
new "## Les couleurs du texte dans linterface."
# gui.rpy:25
old "## An accent color used throughout the interface to label and highlight text."
new "## An accent color used throughout the interface to label and highlight text."
new "## Une couleur utilisée dans linterface pour mettre laccent sur un texte (surbrillance)."
# gui.rpy:29
old "## The color used for a text button when it is neither selected nor hovered."
new "## The color used for a text button when it is neither selected nor hovered."
new "## La couleur utilisée pour le texte dun bouton quand il na jamais été sélectionné ou survolé."
# gui.rpy:32
old "## The small color is used for small text, which needs to be brighter/darker to achieve the same effect."
new "## The small color is used for small text, which needs to be brighter/darker to achieve the same effect."
new "## La petite couleur est utilisé pour les textes courts qui nécessitent d’être assombris ou éclairés pour obtenir le même effet."
# gui.rpy:36
old "## The color that is used for buttons and bars that are hovered."
new "## The color that is used for buttons and bars that are hovered."
new "## Cette couleur est utilisée pour les boutons et les barres qui sont survolées."
# gui.rpy:39
old "## The color used for a text button when it is selected but not focused. A button is selected if it is the current screen or preference value."
new "## The color used for a text button when it is selected but not focused. A button is selected if it is the current screen or preference value."
new "## Cette couleur est utilisé pour le texte dun bouton sélectionné, mais qui na pas le focus. Un bouton est sélectionné sil est sur l’écran actuel ou si cest la valeur de préférence."
# gui.rpy:43
old "## The color used for a text button when it cannot be selected."
new "## The color used for a text button when it cannot be selected."
new "## La couleur utilisée pour le texte dun bouton qui ne peut pas être sélectionné."
# gui.rpy:46
old "## Colors used for the portions of bars that are not filled in. These are not used directly, but are used when re-generating bar image files."
new "## Colors used for the portions of bars that are not filled in. These are not used directly, but are used when re-generating bar image files."
new "## Couleurs utilisées pour les portions de barres qui ne sont pas remplies. Elles ne sont pas utilisées directement, mais quand les fichiers dimages sont régénérés."
# gui.rpy:51
old "## The colors used for dialogue and menu choice text."
new "## The colors used for dialogue and menu choice text."
new "## Les couleurs utilisées pour les dialogues et les menus de choix."
# gui.rpy:56
old "## Fonts and Font Sizes"
new "## Fonts and Font Sizes"
new "## Polices et tailles de police"
# gui.rpy:58
old "## The font used for in-game text."
new "## The font used for in-game text."
new "## Les polices utilisées pour le texte du jeu."
# gui.rpy:61
old "## The font used for character names."
new "## The font used for character names."
new "## Les polices utilisées pour le nom des personnages."
# gui.rpy:64
old "## The font used for out-of-game text."
new "## The font used for out-of-game text."
new "## Les polices utilisées pour les textes « hors du jeu »."
# gui.rpy:67
old "## The size of normal dialogue text."
new "## The size of normal dialogue text."
new "## La taille normale pour les dialogues."
# gui.rpy:70
old "## The size of character names."
new "## The size of character names."
new "## La taille pour le nom des personnages."
# gui.rpy:73
old "## The size of text in the game's user interface."
new "## The size of text in the game's user interface."
new "## La taille du texte dans linterface de jeu."
# gui.rpy:76
old "## The size of labels in the game's user interface."
new "## The size of labels in the game's user interface."
new "## La taille des libellés dans linterface de jeu."
# gui.rpy:79
old "## The size of text on the notify screen."
new "## The size of text on the notify screen."
new "## La taille du texte dans la zone de notification."
# gui.rpy:82
old "## The size of the game's title."
new "## The size of the game's title."
new "## La taille du titre du jeu."
# gui.rpy:86
old "## Main and Game Menus"
new "## Main and Game Menus"
new "## Menu du jeu et menu principal"
# gui.rpy:88
old "## The images used for the main and game menus."
new "## The images used for the main and game menus."
new "## Les images utilisées pour le menu principal et le menu du jeu."
# gui.rpy:92
old "## Should we show the name and version of the game?"
new "## Should we show the name and version of the game?"
new "## Doit-on afficher le nom et la version du jeu ?"
# gui.rpy:96
old "## Dialogue"
@@ -111,301 +111,301 @@ translate french strings:
# gui.rpy:98
old "## These variables control how dialogue is displayed on the screen one line at a time."
new "## These variables control how dialogue is displayed on the screen one line at a time."
new "## Ces variables contrôlent comment les dialogues sont affichés une ligne à la fois."
# gui.rpy:101
old "## The height of the textbox containing dialogue."
new "## The height of the textbox containing dialogue."
new "## La hauteur de la fenêtre contenant les dialogues."
# gui.rpy:104
old "## The placement of the textbox vertically on the screen. 0.0 is the top, 0.5 is center, and 1.0 is the bottom."
new "## The placement of the textbox vertically on the screen. 0.0 is the top, 0.5 is center, and 1.0 is the bottom."
new "## Lemplacement vertical de la zone de texte à l’écran. 0.0 pour le haut, 0.5 pour le centre et 1.0 pour le bas."
# gui.rpy:109
old "## The placement of the speaking character's name, relative to the textbox. These can be a whole number of pixels from the left or top, or 0.5 to center."
new "## The placement of the speaking character's name, relative to the textbox. These can be a whole number of pixels from the left or top, or 0.5 to center."
new "## Lemplacement relatif à la zone de texte du nom du personnage en train de parler. La valeur peut être un nombre entier de pixels depuis la gauche ou le haut ou 0.5 pour le centre."
# gui.rpy:114
old "## The horizontal alignment of the character's name. This can be 0.0 for left-aligned, 0.5 for centered, and 1.0 for right-aligned."
new "## The horizontal alignment of the character's name. This can be 0.0 for left-aligned, 0.5 for centered, and 1.0 for right-aligned."
new "## Lalignement horizontal du nom du personnage. La valeur peut être 0.0 pour un alignement à gauche, 0.5 pour le centrer et 1.0 pour un alignement à droite."
# gui.rpy:118
old "## The width, height, and borders of the box containing the character's name, or None to automatically size it."
new "## The width, height, and borders of the box containing the character's name, or None to automatically size it."
new "## La largeur, profondeur et les bords de la zone contenant le nom du personnage ou « None » pour le dimensionner automatiquement."
# gui.rpy:123
old "## The borders of the box containing the character's name, in left, top, right, bottom order."
new "## The borders of the box containing the character's name, in left, top, right, bottom order."
new "## Les bordures de la zone contenant le nom du personnage dans lordre suivant gauche, haut, droite, bas."
# gui.rpy:127
old "## If True, the background of the namebox will be tiled, if False, the background if the namebox will be scaled."
new "## If True, the background of the namebox will be tiled, if False, the background if the namebox will be scaled."
new "## Si « True » (vrai), larrière plan de zone du nom sera en mosaïque, si « False »(faux), larrière plan de la zone du nom sera mis à l’échelle."
# gui.rpy:132
old "## The placement of dialogue relative to the textbox. These can be a whole number of pixels relative to the left or top side of the textbox, or 0.5 to center."
new "## The placement of dialogue relative to the textbox. These can be a whole number of pixels relative to the left or top side of the textbox, or 0.5 to center."
new "## Lemplacement du dialogue relatif à la zone de texte. La valeur peut être un nombre entier de pixels depuis la gauche ou le haut ou 0.5 pour le centre."
# gui.rpy:138
old "## The maximum width of dialogue text, in pixels."
new "## The maximum width of dialogue text, in pixels."
new "## La largeur maximale en pixels de la zone de dialogue."
# gui.rpy:141
old "## The horizontal alignment of the dialogue text. This can be 0.0 for left-aligned, 0.5 for centered, and 1.0 for right-aligned."
new "## The horizontal alignment of the dialogue text. This can be 0.0 for left-aligned, 0.5 for centered, and 1.0 for right-aligned."
new "## Lalignement horizontal de la zone de dialogue. La valeur peut être 0.0 pour un alignement à gauche, 0.5 pour le centrer et 1.0 pour un alignement à droite."
# gui.rpy:146
old "## Buttons"
new "## Buttons"
new "## Boutons"
# gui.rpy:148
old "## These variables, along with the image files in gui/button, control aspects of how buttons are displayed."
new "## These variables, along with the image files in gui/button, control aspects of how buttons are displayed."
new "##Ces variables, ainsi que les fichiers dimage dans gui/button, contrôlent la façon dafficher les boutons et leur aspect."
# gui.rpy:151
old "## The width and height of a button, in pixels. If None, Ren'Py computes a size."
new "## The width and height of a button, in pixels. If None, Ren'Py computes a size."
new "## La largeur et la hauteur dun bouton en pixels. Si aucune valeur nest renseignée (None), RenPy calcule la taille."
# gui.rpy:155
old "## The borders on each side of the button, in left, top, right, bottom order."
new "## The borders on each side of the button, in left, top, right, bottom order."
new "## Les bordures de chaque côté du bouton dans lordre suivant gauche, haut, droit, bas."
# gui.rpy:158
old "## If True, the background image will be tiled. If False, the background image will be linearly scaled."
new "## If True, the background image will be tiled. If False, the background image will be linearly scaled."
new "## Si « True » (vrai), limage darrière plan sera en mosaïque, si « False »(faux), elle sera mise à l’échelle."
# gui.rpy:162
old "## The font used by the button."
new "## The font used by the button."
new "## La police utilisée par le bouton."
# gui.rpy:165
old "## The size of the text used by the button."
new "## The size of the text used by the button."
new "## La taille du texte utilisée pour le bouton."
# gui.rpy:179
old "## These variables override settings for different kinds of buttons. Please see the gui documentation for the kinds of buttons available, and what each is used for."
new "## These variables override settings for different kinds of buttons. Please see the gui documentation for the kinds of buttons available, and what each is used for."
new "## Ces variables surchargent les paramètres par défaut pour différents types de boutons. Veuillez consulter la documentation de linterface de jeu (GUI) pour les types de boutons disponibles et leurs usages."
# gui.rpy:183
old "## These customizations are used by the default interface:"
new "## These customizations are used by the default interface:"
new "## Ces personnalisations sont utilisées par linterface par défaut :"
# gui.rpy:198
old "## You can also add your own customizations, by adding properly-named variables. For example, you can uncomment the following line to set the width of a navigation button."
new "## You can also add your own customizations, by adding properly-named variables. For example, you can uncomment the following line to set the width of a navigation button."
new "## Vous pouvez également ajouter vos propres personnalisations en ajoutant des variables correctement nommées. Par exemple, vous pouvez décommanter la ligne suivante pour personnaliser la largeur du bouton de navigation."
# gui.rpy:205
old "## Choice Buttons"
new "## Choice Buttons"
new "## Boutons pour les choix"
# gui.rpy:207
old "## Choice buttons are used in the in-game menus."
new "## Choice buttons are used in the in-game menus."
new "## Les boutons pour les choix (Choice buttons) sont utilisés dans le jeu pour permettre au joueur de choisir telle ou telle action, tel ou tel dialogue."
# gui.rpy:220
old "## File Slot Buttons"
new "## File Slot Buttons"
new "## Boutons des emplacements de fichiers."
# gui.rpy:222
old "## A file slot button is a special kind of button. It contains a thumbnail image, and text describing the contents of the save slot. A save slot uses image files in gui/button, like the other kinds of buttons."
new "## A file slot button is a special kind of button. It contains a thumbnail image, and text describing the contents of the save slot. A save slot uses image files in gui/button, like the other kinds of buttons."
new "## Un bouton demplacement de fichier est un type spécial de bouton. Il contient une vignette et un texte décrivant le contenu de la sauvegarde présente dans lemplacement. Un emplacement de sauvegarde utilise une image dans gui/button, comme les autres types de bouton."
# gui.rpy:226
old "## The save slot button."
new "## The save slot button."
new "## Le bouton demplacement de sauvegarde."
# gui.rpy:234
old "## The width and height of thumbnails used by the save slots."
new "## The width and height of thumbnails used by the save slots."
new "## La largeur et la hauteur des vignettes de sauvegarde utilisée pour les emplacements de sauvegarde."
# gui.rpy:238
old "## The number of columns and rows in the grid of save slots."
new "## The number of columns and rows in the grid of save slots."
new "## Le nombre de colonnes et de lignes pour la grille des emplacements de sauvegarde."
# gui.rpy:243
old "## Positioning and Spacing"
new "## Positioning and Spacing"
new "## Positionnement et espacement"
# gui.rpy:245
old "## These variables control the positioning and spacing of various user interface elements."
new "## These variables control the positioning and spacing of various user interface elements."
new "## Ces variables contrôlent lespacement et le positionnement des différents éléments de linterface utilisateur."
# gui.rpy:248
old "## The position of the left side of the navigation buttons, relative to the left side of the screen."
new "## The position of the left side of the navigation buttons, relative to the left side of the screen."
new "## La position sur le côté gauche des boutons de navigation, relatif au côté gauche de l'écran."
# gui.rpy:252
old "## The vertical position of the skip indicator."
new "## The vertical position of the skip indicator."
new "## La position vertical du lindicateur de saut des dialogues."
# gui.rpy:255
old "## The vertical position of the notify screen."
new "## The vertical position of the notify screen."
new "## La position verticale de la zone de notification."
# gui.rpy:258
old "## The spacing between menu choices."
new "## The spacing between menu choices."
new "## Lespacement entre les différents choix du menu."
# gui.rpy:261
old "## Buttons in the navigation section of the main and game menus."
new "## Buttons in the navigation section of the main and game menus."
new "## Boutons dans la section de navigation du menu principal et du menu de jeu."
# gui.rpy:264
old "## Controls the amount of spacing between preferences."
new "## Controls the amount of spacing between preferences."
new "## Contrôle lespacement entre les préférences."
# gui.rpy:267
old "## Controls the amount of spacing between preference buttons."
new "## Controls the amount of spacing between preference buttons."
new "## Contrôle lespacements entre les boutons de préférences."
# gui.rpy:270
old "## The spacing between file page buttons."
new "## The spacing between file page buttons."
new "## Lespacement entre les boutons de page."
# gui.rpy:273
old "## The spacing between file slots."
new "## The spacing between file slots."
new "## Lespacement entre les emplacements de sauvegarde."
# gui.rpy:277
old "## Frames"
new "## Frames"
new "## Cadres"
# gui.rpy:279
old "## These variables control the look of frames that can contain user interface components when an overlay or window is not present."
new "## These variables control the look of frames that can contain user interface components when an overlay or window is not present."
new "## Ces variables contrôlent le look des cadres qui peuvent contenir les composants de linterface utilisateur quand un overlay ou une fenêtre ne sont pas présents."
# gui.rpy:282
old "## Generic frames that are introduced by player code."
new "## Generic frames that are introduced by player code."
new "## Les cadres génériques qui sont introduits par le code du joueur."
# gui.rpy:285
old "## The frame that is used as part of the confirm screen."
new "## The frame that is used as part of the confirm screen."
new "## Le cadre qui est utilisé par les écrans de confirmation."
# gui.rpy:288
old "## The frame that is used as part of the skip screen."
new "## The frame that is used as part of the skip screen."
new "## Le cadre qui est utilisé par l’écran de saut des dialogues."
# gui.rpy:291
old "## The frame that is used as part of the notify screen."
new "## The frame that is used as part of the notify screen."
new "## Le cadre qui est utilisé par la zone de notification."
# gui.rpy:294
old "## Should frame backgrounds be tiled?"
new "## Should frame backgrounds be tiled?"
new "## Est-ce que les arrière-plans des cadres doivent être en mosaïque ?"
# gui.rpy:298
old "## Bars, Scrollbars, and Sliders"
new "## Bars, Scrollbars, and Sliders"
new "## Barres, ascenseurs et curseurs"
# gui.rpy:300
old "## These control the look and size of bars, scrollbars, and sliders."
new "## These control the look and size of bars, scrollbars, and sliders."
new "## Ceux-ci contrôlent le look et la taille des barres, des ascenseurs et des curseurs."
# gui.rpy:302
old "## The default GUI only uses sliders and vertical scrollbars. All of the other bars are only used in creator-written code."
new "## The default GUI only uses sliders and vertical scrollbars. All of the other bars are only used in creator-written code."
new "## Linterface GUI par défaut utilise seulement des curseurs et des ascenseurs verticaux. Toutes les autres barres sont seulement utilisées dans les codes du créateur."
# gui.rpy:305
old "## The height of horizontal bars, scrollbars, and sliders. The width of vertical bars, scrollbars, and sliders."
new "## The height of horizontal bars, scrollbars, and sliders. The width of vertical bars, scrollbars, and sliders."
new "## La hauteur des barres, des ascenseurs et des curseurs horizontaux. La largeur des barres, des ascenseurs et des curseurs verticaux."
# gui.rpy:311
old "## True if bar images should be tiled. False if they should be linearly scaled."
new "## True if bar images should be tiled. False if they should be linearly scaled."
new "## « True » (Vrai) si les images de barres doivent être en mosaïques. « False »(Faux) si elles doivent être mise à l'échelle (étirement)."
# gui.rpy:316
old "## Horizontal borders."
new "## Horizontal borders."
new "## Bordures horizontales."
# gui.rpy:321
old "## Vertical borders."
new "## Vertical borders."
new "## Bordures verticales."
# gui.rpy:326
old "## What to do with unscrollable scrollbars in the gui. \"hide\" hides them, while None shows them."
new "## What to do with unscrollable scrollbars in the gui. \"hide\" hides them, while None shows them."
new "## Que faire avec les ascenseurs non utilisables dans le GUI ? « hide » les cache tandis que « None » les affiche."
# gui.rpy:331
old "## History"
new "## History"
new "## Historique"
# gui.rpy:333
old "## The history screen displays dialogue that the player has already dismissed."
new "## The history screen displays dialogue that the player has already dismissed."
new "## L’écran de lhistorique affiche les dialogues que le joueur vient de lire."
# gui.rpy:335
old "## The number of blocks of dialogue history Ren'Py will keep."
new "## The number of blocks of dialogue history Ren'Py will keep."
new "## Le nombre de blocs que lhistorique de dialogue RenPy va conserver."
# gui.rpy:338
old "## The height of a history screen entry, or None to make the height variable at the cost of performance."
new "## The height of a history screen entry, or None to make the height variable at the cost of performance."
new "## La hauteur de l’écran historique ou « None » pour calculer la hauteur au prix dune légère perte de performance."
# gui.rpy:342
old "## The position, width, and alignment of the label giving the name of the speaking character."
new "## The position, width, and alignment of the label giving the name of the speaking character."
new "## La position, largeur et alignement du label donnant le nom du personnage en train de parler."
# gui.rpy:349
old "## The position, width, and alignment of the dialogue text."
new "## The position, width, and alignment of the dialogue text."
new "## La position, largeur et alignement de la zone de dialogue."
# gui.rpy:356
old "## NVL-Mode"
new "## NVL-Mode"
new "## Mode NVL"
# gui.rpy:358
old "## The NVL-mode screen displays the dialogue spoken by NVL-mode characters."
new "## The NVL-mode screen displays the dialogue spoken by NVL-mode characters."
new "## L’écran du mode NVL affiche les dialogues prononcés par les personnages eux-mêmes en mode NVL."
# gui.rpy:360
old "## The borders of the background of the NVL-mode background window."
new "## The borders of the background of the NVL-mode background window."
new "## Les bordures de larrière-plan de la fenêtre en mode NVL."
# gui.rpy:363
old "## The height of an NVL-mode entry. Set this to None to have the entries dynamically adjust height."
new "## The height of an NVL-mode entry. Set this to None to have the entries dynamically adjust height."
new "## La hauteur dune entrée en mode NVL. Initialisez-la à « None » pour que la hauteur des entrées sajuste automatiquement."
# gui.rpy:367
old "## The spacing between NVL-mode entries when gui.nvl_height is None, and between NVL-mode entries and an NVL-mode menu."
new "## The spacing between NVL-mode entries when gui.nvl_height is None, and between NVL-mode entries and an NVL-mode menu."
new "## Lespacement entre les entrées en mode NVL quand gui.nvl_height est à « None » et entre les entrées en mode NVL et le menu en mode NVL."
# gui.rpy:384
old "## The position, width, and alignment of nvl_thought text (the text said by the nvl_narrator character.)"
new "## The position, width, and alignment of nvl_thought text (the text said by the nvl_narrator character.)"
new "## La position, profondeur et lalignement du text nvl_tought (Le texte prononcé par le personnage nvl_narrator)."
# gui.rpy:391
old "## The position of nvl menu_buttons."
new "## The position of nvl menu_buttons."
new "## La position de nvl menu_buttons."
# gui.rpy:403
old "## This increases the size of the quick buttons to make them easier to touch on tablets and phones."
new "## This increases the size of the quick buttons to make them easier to touch on tablets and phones."
new "## Ceci augmente la taille des boutons daccès rapide pour les rendre plus accessibles sur les tablettes et les téléphones."
# gui.rpy:409
old "## This changes the size and spacing of various GUI elements to ensure they are easily visible on phones."
new "## This changes the size and spacing of various GUI elements to ensure they are easily visible on phones."
new "## Ceci change la taille et lespacement de différents élements de la GUI pour sassurer quils soient visibles sur les téléphones."
# gui.rpy:413
old "## Font sizes."
new "## Font sizes."
new "## Tailles des polices."
# gui.rpy:421
old "## Adjust the location of the textbox."
new "## Adjust the location of the textbox."
new "## Ajuste la position de la zone de texte."
# gui.rpy:427
old "## Change the size and spacing of items in the game menu."
new "## Change the size and spacing of items in the game menu."
new "## Change la taille et lespacement des items dans le menu du jeu."
# gui.rpy:436
old "## File button layout."
new "## File button layout."
new "## Remplit le canvas du bouton."
# gui.rpy:440
old "## NVL-mode."
new "## NVL-mode."
new "## Mode NVL."
# gui.rpy:456
old "## Quick buttons."
new "## Quick buttons."
new "## Bouton daccès rapide."
File diff suppressed because it is too large Load Diff
+47 -47
View File
@@ -3,59 +3,59 @@ translate french strings:
# options.rpy:1
old "## This file contains options that can be changed to customize your game."
new "## This file contains options that can be changed to customize your game."
new "## Ce fichier contient les options qui peuvent être modifiées pour personnaliser votre jeu."
# options.rpy:4
old "## Lines beginning with two '#' marks are comments, and you shouldn't uncomment them. Lines beginning with a single '#' mark are commented-out code, and you may want to uncomment them when appropriate."
new "## Lines beginning with two '#' marks are comments, and you shouldn't uncomment them. Lines beginning with a single '#' mark are commented-out code, and you may want to uncomment them when appropriate."
new "## Les lignes qui commencent avec deux dièses '#' sont des commentaires et vous ne devriez pas les décommenter. Les lignes qui commencent avec un seul dièse sont du code commenté et vous pouvez les décommentez quand cest approprié (pour votre projet)."
# options.rpy:10
old "## Basics"
new "## Basics"
new "## Bases"
# options.rpy:12
old "## A human-readable name of the game. This is used to set the default window title, and shows up in the interface and error reports."
new "## A human-readable name of the game. This is used to set the default window title, and shows up in the interface and error reports."
new "## Un nom de jeu intelligible. Il est utilisé pour personnaliser le titre de la fenêtre par défaut et saffiche dans linterface ainsi que dans les rapports derreur."
# options.rpy:15
old "## The _() surrounding the string marks it as eligible for translation."
new "## The _() surrounding the string marks it as eligible for translation."
new "## La chaîne de caractère contenu dans _() est éligible à la traduction."
# options.rpy:17
old "Ren'Py 7 Default GUI"
new "Ren'Py 7 Default GUI"
new "GUI RenPy 7 par défaut"
# options.rpy:20
old "## Determines if the title given above is shown on the main menu screen. Set this to False to hide the title."
new "## Determines if the title given above is shown on the main menu screen. Set this to False to hide the title."
new "## Détermine si le titre renseigné plus haut est affiché sur l'écran du menu principal Configurez-le à False (Faux) pour cacher le titre."
# options.rpy:26
old "## The version of the game."
new "## The version of the game."
new "## La version du jeu."
# options.rpy:31
old "## Text that is placed on the game's about screen. To insert a blank line between paragraphs, write \\n\\n."
new "## Text that is placed on the game's about screen. To insert a blank line between paragraphs, write \\n\\n."
new "## Text qui est placé dans l’écran « À propos ». Pour insérer une ligne vide entre deux paragraphes écrivez \\n\\n."
# options.rpy:37
old "## A short name for the game used for executables and directories in the built distribution. This must be ASCII-only, and must not contain spaces, colons, or semicolons."
new "## A short name for the game used for executables and directories in the built distribution. This must be ASCII-only, and must not contain spaces, colons, or semicolons."
new "## Un nom court pour le jeu qui sera utilisé pour les répertoires et le nom de lexécutable. Il ne doit contenir que des caractères ASCII et ne doit pas contenir despace, de virgules ou de points-virgule."
# options.rpy:44
old "## Sounds and music"
new "## Sounds and music"
new "## Sons et musiques"
# options.rpy:46
old "## These three variables control which mixers are shown to the player by default. Setting one of these to False will hide the appropriate mixer."
new "## These three variables control which mixers are shown to the player by default. Setting one of these to False will hide the appropriate mixer."
new "## Ces trois variables contrôlent quels mixeurs sont affichés au joueur par défaut. Configurer lun de ceux-ci à False (Faux) cachera le mixeur concerné."
# options.rpy:55
old "## To allow the user to play a test sound on the sound or voice channel, uncomment a line below and use it to set a sample sound to play."
new "## To allow the user to play a test sound on the sound or voice channel, uncomment a line below and use it to set a sample sound to play."
new "## Pour autoriser le joueur à réaliser un test de volume, décommenter la ligne ci-dessous et utilisez-la pour configurer un son dexemple."
# options.rpy:62
old "## Uncomment the following line to set an audio file that will be played while the player is at the main menu. This file will continue playing into the game, until it is stopped or another file is played."
new "## Uncomment the following line to set an audio file that will be played while the player is at the main menu. This file will continue playing into the game, until it is stopped or another file is played."
new "## commentez la ligne suivante pour configurer un fichier audio qui sera diffusé quand le joueur sera sur le menu principal. Ce son se poursuivra dans le jeu, jusqu’à ce qu'il soit stoppé ou quun autre fichier soit joué."
# options.rpy:69
old "## Transitions"
@@ -63,133 +63,133 @@ translate french strings:
# options.rpy:71
old "## These variables set transitions that are used when certain events occur. Each variable should be set to a transition, or None to indicate that no transition should be used."
new "## These variables set transitions that are used when certain events occur. Each variable should be set to a transition, or None to indicate that no transition should be used."
new "## Ces varaibles configurent les transitions qui sont utilisées quand certains événements surviennent. Chaque variable peuvent être configurée pour une transition. La valeur None indique quaucune transition ne doit être utilisée."
# options.rpy:75
old "## Entering or exiting the game menu."
new "## Entering or exiting the game menu."
new "## À lentrée ou à la sortie du menu du jeu."
# options.rpy:81
old "## A transition that is used after a game has been loaded."
new "## A transition that is used after a game has been loaded."
new "## La transition qui sera utilisée après le chargement dune partie."
# options.rpy:86
old "## Used when entering the main menu after the game has ended."
new "## Used when entering the main menu after the game has ended."
new "## La transition qui sera utilisé après la fin du jeu."
# options.rpy:91
old "## A variable to set the transition used when the game starts does not exist. Instead, use a with statement after showing the initial scene."
new "## A variable to set the transition used when the game starts does not exist. Instead, use a with statement after showing the initial scene."
new "## Il ny a pas de variable pour configurer la transition en début de partie. À la place, utilisez un état de transition juste après laffichage de la toute première scène."
# options.rpy:96
old "## Window management"
new "## Window management"
new "## Gestion des fenêtres"
# options.rpy:98
old "## This controls when the dialogue window is displayed. If \"show\", it is always displayed. If \"hide\", it is only displayed when dialogue is present. If \"auto\", the window is hidden before scene statements and shown again once dialogue is displayed."
new "## This controls when the dialogue window is displayed. If \"show\", it is always displayed. If \"hide\", it is only displayed when dialogue is present. If \"auto\", the window is hidden before scene statements and shown again once dialogue is displayed."
new "## Cela contrôle laffichage de la fenêtre de dialogue. Si « show », elle est toujours affichée. Si « hide », elle ne saffiche que lorsque du dialogue est présent. Si « auto », La fenêtre est cachée avant chaque changement de scène et réapparait une fois le dialogue affiché."
# options.rpy:103
old "## After the game has started, this can be changed with the \"window show\", \"window hide\", and \"window auto\" statements."
new "## After the game has started, this can be changed with the \"window show\", \"window hide\", and \"window auto\" statements."
new "## Après le début de la partie, cela peut-être changé avec les instructions « window show », « window hide » et « window auto »."
# options.rpy:109
old "## Transitions used to show and hide the dialogue window"
new "## Transitions used to show and hide the dialogue window"
new "## Transitions utilisées pour afficher ou cacher la fenêtre de dialogue"
# options.rpy:115
old "## Preference defaults"
new "## Preference defaults"
new "## Préférences par défaut"
# options.rpy:117
old "## Controls the default text speed. The default, 0, is infinite, while any other number is the number of characters per second to type out."
new "## Controls the default text speed. The default, 0, is infinite, while any other number is the number of characters per second to type out."
new "## Contrôle la vitesse du texte. La valeur par défaut, 0, est infinie. Toute autre valeur est le nombre de caractères tapés par seconde."
# options.rpy:123
old "## The default auto-forward delay. Larger numbers lead to longer waits, with 0 to 30 being the valid range."
new "## The default auto-forward delay. Larger numbers lead to longer waits, with 0 to 30 being the valid range."
new "## Le délai davancée automatique. Des nombres importants entraîne une longue attente. Des valeurs réputées correctes sont comprises dans une plage allant de 0 à 30."
# options.rpy:129
old "## Save directory"
new "## Save directory"
new "## Répertoire de sauvegarde"
# options.rpy:131
old "## Controls the platform-specific place Ren'Py will place the save files for this game. The save files will be placed in:"
new "## Controls the platform-specific place Ren'Py will place the save files for this game. The save files will be placed in:"
new "## Ces valeurs, dépendant de la plateforme, détermine lemplacement où RenPy stockera les fichiers de sauvegarde. Les fichiers de sauvegardes seront stockés dans :"
# options.rpy:134
old "## Windows: %APPDATA\\RenPy\\<config.save_directory>"
new "## Windows: %APPDATA\\RenPy\\<config.save_directory>"
new "## Windows : %APPDATA\\RenPy\\<config.save_directory>"
# options.rpy:136
old "## Macintosh: $HOME/Library/RenPy/<config.save_directory>"
new "## Macintosh: $HOME/Library/RenPy/<config.save_directory>"
new "## Macintosh : $HOME/Library/RenPy/<config.save_directory>"
# options.rpy:138
old "## Linux: $HOME/.renpy/<config.save_directory>"
new "## Linux: $HOME/.renpy/<config.save_directory>"
new "## Linux : $HOME/.renpy/<config.save_directory>"
# options.rpy:140
old "## This generally should not be changed, and if it is, should always be a literal string, not an expression."
new "## This generally should not be changed, and if it is, should always be a literal string, not an expression."
new "## Cela ne devrait généralement pas changer. Si vous le faîtes, choisissez toujours une chaîne de caractères littéraux, pas une expression."
# options.rpy:146
old "## Icon ########################################################################'"
new "## Icon ########################################################################'"
new "## Icone #######################################################################'"
# options.rpy:148
old "## The icon displayed on the taskbar or dock."
new "## The icon displayed on the taskbar or dock."
new "## L'icone affichée dans la barre des tâches ou sur le dock."
# options.rpy:153
old "## Build configuration"
new "## Build configuration"
new "## Configuration de la compilation"
# options.rpy:155
old "## This section controls how Ren'Py turns your project into distribution files."
new "## This section controls how Ren'Py turns your project into distribution files."
new "## Cette section paramètre la façon dont RenPy transforme votre projet en fichier à distribuer."
# options.rpy:160
old "## The following functions take file patterns. File patterns are case- insensitive, and matched against the path relative to the base directory, with and without a leading /. If multiple patterns match, the first is used."
new "## The following functions take file patterns. File patterns are case- insensitive, and matched against the path relative to the base directory, with and without a leading /. If multiple patterns match, the first is used."
new "## Les fonctions suivantes prennent en paramètres un format de fichier. Les formats de fichiers ne sont pas sensibles à la casse et correspondent au répertoire relatif au répertoire de base. Il ny a pas de / à la fin. Si plusieurs formats correspondent, le premier est utilisé."
# options.rpy:165
old "## In a pattern:"
new "## In a pattern:"
new "## Dans le format:"
# options.rpy:167
old "## / is the directory separator."
new "## / is the directory separator."
new "## / est le séparateur de répertoire."
# options.rpy:169
old "## * matches all characters, except the directory separator."
new "## * matches all characters, except the directory separator."
new "## * correspond à tous les caractères à lexception du séparateur de répertoire."
# options.rpy:171
old "## ** matches all characters, including the directory separator."
new "## ** matches all characters, including the directory separator."
new "## ** correspond à tous les caractères, y compris le séparateur de répertoire."
# options.rpy:173
old "## For example, \"*.txt\" matches txt files in the base directory, \"game/**.ogg\" matches ogg files in the game directory or any of its subdirectories, and \"**.psd\" matches psd files anywhere in the project."
new "## For example, \"*.txt\" matches txt files in the base directory, \"game/**.ogg\" matches ogg files in the game directory or any of its subdirectories, and \"**.psd\" matches psd files anywhere in the project."
new "## Par exemple, \"*.txt\" correspond à tous les fichiers txt dans le répertoire de base, \"game/**.ogg\" correspond à tous les fichiers ogg dans le répertoire game, mais aussi à tous ses répertoires. \"**.psd\" correspond à tous les fichiers psd quelque soit leur emplacement dans larborescence du fichier."
# options.rpy:177
old "## Classify files as None to exclude them from the built distributions."
new "## Classify files as None to exclude them from the built distributions."
new "## Choisissez la valeur « None » pour les exclure de la distribution."
# options.rpy:185
old "## To archive files, classify them as 'archive'."
new "## To archive files, classify them as 'archive'."
new "## Pour archiver les fichiers, choisissez la valeur « archive »."
# options.rpy:190
old "## Files matching documentation patterns are duplicated in a mac app build, so they appear in both the app and the zip file."
new "## Files matching documentation patterns are duplicated in a mac app build, so they appear in both the app and the zip file."
new "## Les fichiers correspondant au format de documentation sont dupliqués pour les compilation sur Mac, c'est pourquoi ils apparaissent deux fois dans larchive zip."
# options.rpy:196
old "## A Google Play license key is required to download expansion files and perform in-app purchases. It can be found on the \"Services & APIs\" page of the Google Play developer console."
new "## A Google Play license key is required to download expansion files and perform in-app purchases. It can be found on the \"Services & APIs\" page of the Google Play developer console."
new "## Une clé de licence A Google Play est requise pour télécharger les fichiers et permettre les achats dans l'application. Vous pourrez la trouver sur la page « Services & APIs » de la console de développement Google Play."
# options.rpy:203
old "## The username and project name associated with an itch.io project, separated by a slash."
new "## The username and project name associated with an itch.io project, separated by a slash."
new "## Le nom dutilisateur et du projet associé au projet itch.io, séparé par un slash."
+111 -111
View File
@@ -7,19 +7,19 @@ translate french strings:
# screens.rpy:87
old "## In-game screens"
new "## In-game screens"
new "## Écrans de jeu"
# screens.rpy:91
old "## Say screen"
new "## Say screen"
new "## Écran des dialogues"
# screens.rpy:93
old "## The say screen is used to display dialogue to the player. It takes two parameters, who and what, which are the name of the speaking character and the text to be displayed, respectively. (The who parameter can be None if no name is given.)"
new "## The say screen is used to display dialogue to the player. It takes two parameters, who and what, which are the name of the speaking character and the text to be displayed, respectively. (The who parameter can be None if no name is given.)"
new "## L’écran des dialogues est utilisé pour afficher les dialogues du joueur. Il prend deux paramètres, who(qui) et what(quoi) qui sont respectivement le nom du personnage en train de parler et le texte à afficher. (Le paramètre who(qui) peut être None si aucun nom nest donné.)"
# screens.rpy:98
old "## This screen must create a text displayable with id \"what\", as Ren'Py uses this to manage text display. It can also create displayables with id \"who\" and id \"window\" to apply style properties."
new "## This screen must create a text displayable with id \"what\", as Ren'Py uses this to manage text display. It can also create displayables with id \"who\" and id \"window\" to apply style properties."
new "## Cet écran affiche le texte correspondant à what. Il peut également créer un texte avec le paramètre who et lidentifiant « window » est utilisé pour déterminer les styles à appliquer."
# screens.rpy:102
old "## https://www.renpy.org/doc/html/screen_special.html#say"
@@ -27,11 +27,11 @@ translate french strings:
# screens.rpy:169
old "## Input screen"
new "## Input screen"
new "## Écran de saisie"
# screens.rpy:171
old "## This screen is used to display renpy.input. The prompt parameter is used to pass a text prompt in."
new "## This screen is used to display renpy.input. The prompt parameter is used to pass a text prompt in."
new "## Cet écran est utilisé pour afficher renpy.input. Le paramètre prompt est utilisé pour passer le texte par défaut."
# screens.rpy:174
old "## This screen must create an input displayable with id \"input\" to accept the various input parameters."
@@ -43,11 +43,11 @@ translate french strings:
# screens.rpy:205
old "## Choice screen"
new "## Choice screen"
new "## Écran des choix"
# screens.rpy:207
old "## This screen is used to display the in-game choices presented by the menu statement. The one parameter, items, is a list of objects, each with caption and action fields."
new "## This screen is used to display the in-game choices presented by the menu statement. The one parameter, items, is a list of objects, each with caption and action fields."
new "## Cet écran est utilisé pour afficher les choix qui seront fait par le joueur dans le jeu. Le premier paramètre, items, est une liste d'objets contenant chacun des champs de texte et d'action."
# screens.rpy:211
old "## http://www.renpy.org/doc/html/screen_special.html#choice"
@@ -59,11 +59,11 @@ translate french strings:
# screens.rpy:244
old "## Quick Menu screen"
new "## Quick Menu screen"
new "## Écran des menus rapides"
# screens.rpy:246
old "## The quick menu is displayed in-game to provide easy access to the out-of-game menus."
new "## The quick menu is displayed in-game to provide easy access to the out-of-game menus."
new "## Les menus rapides sont affiché dans le jeu pour permettre un accès rapide à certaines fonctions."
# screens.rpy:261
old "Back"
@@ -71,11 +71,11 @@ translate french strings:
# screens.rpy:262
old "History"
new "History"
new "Historique"
# screens.rpy:263
old "Skip"
new "Saut"
new "Avance rapide"
# screens.rpy:264
old "Auto"
@@ -83,7 +83,7 @@ translate french strings:
# screens.rpy:265
old "Save"
new "Sauvegarder"
new "Sauvegarde"
# screens.rpy:266
old "Q.Save"
@@ -95,27 +95,27 @@ translate french strings:
# screens.rpy:268
old "Prefs"
new "Prefs."
new "Préf."
# screens.rpy:271
old "## This code ensures that the quick_menu screen is displayed in-game, whenever the player has not explicitly hidden the interface."
new "## This code ensures that the quick_menu screen is displayed in-game, whenever the player has not explicitly hidden the interface."
new "## Ce code garantit que le menu daccès rapide sera affiché dans le jeu, tant que le joueur naura pas explicitement demandé à cacher linterface."
# screens.rpy:291
old "## Navigation screen"
new "## Navigation screen"
new "## Écran de navigation"
# screens.rpy:293
old "## This screen is included in the main and game menus, and provides navigation to other menus, and to start the game."
new "## This screen is included in the main and game menus, and provides navigation to other menus, and to start the game."
new "## Cet écran est disponible dans le menu principal et dans le menu de jeu. Il fournit laccès aux autres menus et permet le démarrage du jeu."
# screens.rpy:308
old "Start"
new "Start"
new "Nouvelle partie"
# screens.rpy:316
old "Load"
new "Load"
new "Charger"
# screens.rpy:318
old "Preferences"
@@ -123,7 +123,7 @@ translate french strings:
# screens.rpy:322
old "End Replay"
new "End Replay"
new "Fin de la rediffusion"
# screens.rpy:326
old "Main Menu"
@@ -135,7 +135,7 @@ translate french strings:
# screens.rpy:332
old "## Help isn't necessary or relevant to mobile devices."
new "## Help isn't necessary or relevant to mobile devices."
new "## L'aide nest ni nécessaire ni pertinante sur les appareils mobiles."
# screens.rpy:333
old "Help"
@@ -143,7 +143,7 @@ translate french strings:
# screens.rpy:335
old "## The quit button is banned on iOS and unnecessary on Android."
new "## The quit button is banned on iOS and unnecessary on Android."
new "## Le bouton pour quitter est banni sur iOs et n'est pas nécessaire sur Android."
# screens.rpy:336
old "Quit"
@@ -151,11 +151,11 @@ translate french strings:
# screens.rpy:350
old "## Main Menu screen"
new "## Main Menu screen"
new "## Écran du menu principal"
# screens.rpy:352
old "## Used to display the main menu when Ren'Py starts."
new "## Used to display the main menu when Ren'Py starts."
new "## Utilisé pour afficher le menu principal quand Ren'Py démarre."
# screens.rpy:354
old "## http://www.renpy.org/doc/html/screen_special.html#main-menu"
@@ -167,7 +167,7 @@ translate french strings:
# screens.rpy:413
old "## Game Menu screen"
new "## Game Menu screen"
new "## Écran du menu de jeu"
# screens.rpy:415
old "## This lays out the basic common structure of a game menu screen. It's called with the screen title, and displays the background, title, and navigation."
@@ -183,19 +183,19 @@ translate french strings:
# screens.rpy:539
old "## About screen"
new "## About screen"
new "## Écran « À propos... »"
# screens.rpy:541
old "## This screen gives credit and copyright information about the game and Ren'Py."
new "## This screen gives credit and copyright information about the game and Ren'Py."
new "## Cet écran présente le générique, les crédits et les informations de copyright relatives au jeu et à RenPy."
# screens.rpy:544
old "## There's nothing special about this screen, and hence it also serves as an example of how to make a custom screen."
new "## There's nothing special about this screen, and hence it also serves as an example of how to make a custom screen."
new "## Il ny a rien de spécial sur cet écran. Par conséquent, il sert aussi dexemple pour créer un écran personnalisé."
# screens.rpy:551
old "## This use statement includes the game_menu screen inside this one. The vbox child is then included inside the viewport inside the game_menu screen."
new "## This use statement includes the game_menu screen inside this one. The vbox child is then included inside the viewport inside the game_menu screen."
new "## Cette déclaration concerne l’écran game_menu. L’élément vbox est ensuite inclus dans la fenêtre de l'écran game_menu."
# screens.rpy:561
old "Version [config.version!t]\n"
@@ -203,23 +203,23 @@ translate french strings:
# screens.rpy:563
old "## gui.about is usually set in options.rpy."
new "## gui.about is usually set in options.rpy."
new "## gui.about est généralement initialisé dans le fichier options.rpy."
# screens.rpy:567
old "Made with {a=https://www.renpy.org/}Ren'Py{/a} [renpy.version_only].\n\n[renpy.license!t]"
new "Made with {a=https://www.renpy.org/}Ren'Py{/a} [renpy.version_only].\n\n[renpy.license!t]"
new "Conçu avec {a=https://www.renpy.org/}Ren'Py{/a} [renpy.version_only].\n\n[renpy.license!t]"
# screens.rpy:570
old "## This is redefined in options.rpy to add text to the about screen."
new "## This is redefined in options.rpy to add text to the about screen."
new "## Ceci est généralement redéfini dans le fichier options.rpy pour ajouter le texte dans l’écran « À propos »."
# screens.rpy:582
old "## Load and Save screens"
new "## Load and Save screens"
new "## Écran de chargement et de sauvegarde"
# screens.rpy:584
old "## These screens are responsible for letting the player save the game and load it again. Since they share nearly everything in common, both are implemented in terms of a third screen, file_slots."
new "## These screens are responsible for letting the player save the game and load it again. Since they share nearly everything in common, both are implemented in terms of a third screen, file_slots."
new "## Ces écrans permettent au joueur denregistrer le jeu et de le charger à nouveau. Comme ils partagent beaucoup d’éléments communs, ils sont tous les deux implémentés dans un troisième écran, appelé fichiers_slots (emplacement_de_fichier)."
# screens.rpy:588
old "## https://www.renpy.org/doc/html/screen_special.html#save https://www.renpy.org/doc/html/screen_special.html#load"
@@ -231,31 +231,31 @@ translate french strings:
# screens.rpy:607
old "Automatic saves"
new "Automatic saves"
new "Sauvegardes automatiques"
# screens.rpy:607
old "Quick saves"
new "Quick saves"
new "Sauvegardes rapides"
# screens.rpy:613
old "## This ensures the input will get the enter event before any of the buttons do."
new "## This ensures the input will get the enter event before any of the buttons do."
new "## Cette instruction sassure que l’évenement enter aura lieu avant que lun des boutons ne fonctionne."
# screens.rpy:629
old "## The grid of file slots."
new "## The grid of file slots."
new "## La grille des emplacements de fichiers."
# screens.rpy:649
old "{#file_time}%A, %B %d %Y, %H:%M"
new "{#file_time}%A, %B %d %Y, %H:%M"
new "{#file_time}%A %d %B %Y, %H:%M"
# screens.rpy:649
old "empty slot"
new "empty slot"
new "emplacement vide"
# screens.rpy:657
old "## Buttons to access other pages."
new "## Buttons to access other pages."
new "## Boutons pour accéder aux autres pages."
# screens.rpy:666
old "<"
@@ -275,11 +275,11 @@ translate french strings:
# screens.rpy:711
old "## Preferences screen"
new "## Preferences screen"
new "## Écran des préférences"
# screens.rpy:713
old "## The preferences screen allows the player to configure the game to better suit themselves."
new "## The preferences screen allows the player to configure the game to better suit themselves."
new "## L’écran de préférence permet au joueur de configurer le jeu pour mieux correspondre à ses attentes."
# screens.rpy:716
old "## https://www.renpy.org/doc/html/screen_special.html#preferences"
@@ -299,23 +299,23 @@ translate french strings:
# screens.rpy:744
old "Rollback Side"
new "Rollback Side"
new "Sens dannulation"
# screens.rpy:745
old "Disable"
new "Disable"
new "Désactivé"
# screens.rpy:746
old "Left"
new "Left"
new "Gauche"
# screens.rpy:747
old "Right"
new "Right"
new "Droite"
# screens.rpy:752
old "Unseen Text"
new "Unseen Text"
new "Texte non lu"
# screens.rpy:753
old "After Choices"
@@ -327,7 +327,7 @@ translate french strings:
# screens.rpy:756
old "## Additional vboxes of type \"radio_pref\" or \"check_pref\" can be added here, to add additional creator-defined preferences."
new "## Additional vboxes of type \"radio_pref\" or \"check_pref\" can be added here, to add additional creator-defined preferences."
new "## Des boites vbox additionnelles de type \"radio_pref\" ou \"check_pref\" peuvent être ajoutées ici pour ajouter des préférences définies par le créateur du jeu."
# screens.rpy:767
old "Text Speed"
@@ -335,7 +335,7 @@ translate french strings:
# screens.rpy:771
old "Auto-Forward Time"
new "Avancement automatique"
new "Avance automatique"
# screens.rpy:778
old "Music Volume"
@@ -355,15 +355,15 @@ translate french strings:
# screens.rpy:806
old "Mute All"
new "Mute All"
new "Couper tous les sons"
# screens.rpy:882
old "## History screen"
new "## History screen"
new "## Écran de l'historique"
# screens.rpy:884
old "## This is a screen that displays the dialogue history to the player. While there isn't anything special about this screen, it does have to access the dialogue history stored in _history_list."
new "## This is a screen that displays the dialogue history to the player. While there isn't anything special about this screen, it does have to access the dialogue history stored in _history_list."
new "## Il sagit dun écran qui affiche lhistorique des dialogues au joueur. Bien quil n'y ait rien de spécial sur cet écran, il doit accéder à lhistorique de dialogue stocké dans _history_list."
# screens.rpy:888
old "## https://www.renpy.org/doc/html/history.html"
@@ -371,71 +371,71 @@ translate french strings:
# screens.rpy:894
old "## Avoid predicting this screen, as it can be very large."
new "## Avoid predicting this screen, as it can be very large."
new "## Cette instruction permet d’éviter de prédire cet écran, car il peut être très large"
# screens.rpy:905
old "## This lays things out properly if history_height is None."
new "## This lays things out properly if history_height is None."
new "## Cela positionne correctement l'écran si history_height est initialisé à None."
# screens.rpy:914
old "## Take the color of the who text from the Character, if set."
new "## Take the color of the who text from the Character, if set."
new "## Utilise pour la couleur du texte, la couleur par défaut des dialogues du personnage si elle a été initialisée."
# screens.rpy:921
old "The dialogue history is empty."
new "The dialogue history is empty."
new "L'historique des dialogues est vide."
# screens.rpy:965
old "## Help screen"
new "## Help screen"
new "## Écran d'aide"
# screens.rpy:967
old "## A screen that gives information about key and mouse bindings. It uses other screens (keyboard_help, mouse_help, and gamepad_help) to display the actual help."
new "## A screen that gives information about key and mouse bindings. It uses other screens (keyboard_help, mouse_help, and gamepad_help) to display the actual help."
new "## Cet écran fournit des informations sur les touches et les boutons de souris. En interne, il utilise dautres écrans (keyboard_help, mouse_help et gamepad_help) pour afficher une aide dédiée."
# screens.rpy:986
old "Keyboard"
new "Keyboard"
new "Clavier"
# screens.rpy:987
old "Mouse"
new "Mouse"
new "Souris"
# screens.rpy:990
old "Gamepad"
new "Gamepad"
new "Manette"
# screens.rpy:1003
old "Enter"
new "Enter"
new "Entrée"
# screens.rpy:1004
old "Advances dialogue and activates the interface."
new "Advances dialogue and activates the interface."
new "Avance dans les dialogues et active linterface (effectue un choix)."
# screens.rpy:1007
old "Space"
new "Space"
new "Espace"
# screens.rpy:1008
old "Advances dialogue without selecting choices."
new "Advances dialogue without selecting choices."
new "Avance dans les dialogues sans effectuer de choix."
# screens.rpy:1011
old "Arrow Keys"
new "Arrow Keys"
new "Flèches directionnelles"
# screens.rpy:1012
old "Navigate the interface."
new "Navigate the interface."
new "Permet de se déplacer dans linterface."
# screens.rpy:1015
old "Escape"
new "Escape"
new "Echap."
# screens.rpy:1016
old "Accesses the game menu."
new "Accesses the game menu."
new "Ouvre le menu du jeu."
# screens.rpy:1019
old "Ctrl"
@@ -443,7 +443,7 @@ translate french strings:
# screens.rpy:1020
old "Skips dialogue while held down."
new "Skips dialogue while held down."
new "Fait défiler les dialogues tant que la touche est pressée."
# screens.rpy:1023
old "Tab"
@@ -451,79 +451,79 @@ translate french strings:
# screens.rpy:1024
old "Toggles dialogue skipping."
new "Toggles dialogue skipping."
new "Active ou désactives les «sauts des dialogues»."
# screens.rpy:1027
old "Page Up"
new "Page Up"
new "Page Haut"
# screens.rpy:1028
old "Rolls back to earlier dialogue."
new "Rolls back to earlier dialogue."
new "Retourne au précédent dialogue."
# screens.rpy:1031
old "Page Down"
new "Page Down"
new "Page Bas"
# screens.rpy:1032
old "Rolls forward to later dialogue."
new "Rolls forward to later dialogue."
new "Avance jusqu'au prochain dialogue."
# screens.rpy:1036
old "Hides the user interface."
new "Hides the user interface."
new "Cache linterface utilisateur."
# screens.rpy:1040
old "Takes a screenshot."
new "Takes a screenshot."
new "Prend une capture d’écran."
# screens.rpy:1044
old "Toggles assistive {a=https://www.renpy.org/l/voicing}self-voicing{/a}."
new "Toggles assistive {a=https://www.renpy.org/l/voicing}self-voicing{/a}."
new "Active la {a=https://www.renpy.org/l/voicing}{size=24}vocalisation automatique{/size}{/a}."
# screens.rpy:1050
old "Left Click"
new "Left Click"
new "Bouton gauche"
# screens.rpy:1054
old "Middle Click"
new "Middle Click"
new "Bouton central"
# screens.rpy:1058
old "Right Click"
new "Right Click"
new "Bouton droit"
# screens.rpy:1062
old "Mouse Wheel Up\nClick Rollback Side"
old "Molette vers le haut\nBouton de retour en arrière"
new "Mouse Wheel Up\nClick Rollback Side"
# screens.rpy:1066
old "Mouse Wheel Down"
new "Mouse Wheel Down"
new "Molette vers le bas"
# screens.rpy:1073
old "Right Trigger\nA/Bottom Button"
new "Right Trigger\nA/Bottom Button"
new "Bouton R1\nA/Bouton du bas"
# screens.rpy:1074
old "Advance dialogue and activates the interface."
new "Advance dialogue and activates the interface."
new "Avance dans les dialogues et active les choix dans l'interface."
# screens.rpy:1078
old "Roll back to earlier dialogue."
new "Roll back to earlier dialogue."
new "Retourne au précédent dialogue."
# screens.rpy:1081
old "Right Shoulder"
new "Right Shoulder"
new "Bouton R1"
# screens.rpy:1082
old "Roll forward to later dialogue."
new "Roll forward to later dialogue."
new "Avance jusqu'au prochain dialogue."
# screens.rpy:1085
old "D-Pad, Sticks"
new "D-Pad, Sticks"
new "Boutons directionnels, stick gauche"
# screens.rpy:1089
old "Start, Guide"
@@ -531,27 +531,27 @@ translate french strings:
# screens.rpy:1090
old "Access the game menu."
new "Access the game menu."
new "Ouvre le menu du jeu."
# screens.rpy:1093
old "Y/Top Button"
new "Y/Top Button"
new "Y/Bouton du haut"
# screens.rpy:1096
old "Calibrate"
new "Calibrate"
new "Calibrage"
# screens.rpy:1124
old "## Additional screens"
new "## Additional screens"
new "## Écrans additionnels"
# screens.rpy:1128
old "## Confirm screen"
new "## Confirm screen"
new "## Écran de confirmation"
# screens.rpy:1130
old "## The confirm screen is called when Ren'Py wants to ask the player a yes or no question."
new "## The confirm screen is called when Ren'Py wants to ask the player a yes or no question."
new "## Cet écran est appelé quand Ren'Py souhaite poser une question au joueur dont la réponse est oui ou non."
# screens.rpy:1133
old "## http://www.renpy.org/doc/html/screen_special.html#confirm"
@@ -559,7 +559,7 @@ translate french strings:
# screens.rpy:1137
old "## Ensure other screens do not get input while this screen is displayed."
new "## Ensure other screens do not get input while this screen is displayed."
new "## Cette instruction sassure que les autres écrans resteront en arrière plan tant que cet écran sera affiché."
# screens.rpy:1161
old "Yes"
@@ -571,15 +571,15 @@ translate french strings:
# screens.rpy:1164
old "## Right-click and escape answer \"no\"."
new "## Right-click and escape answer \"no\"."
new "## Le clic bouton droit et la touche Echap. correspondent à la réponse \"non\"."
# screens.rpy:1191
old "## Skip indicator screen"
new "## Skip indicator screen"
new "## Écran de lindicateur d'avance rapide"
# screens.rpy:1193
old "## The skip_indicator screen is displayed to indicate that skipping is in progress."
new "## The skip_indicator screen is displayed to indicate that skipping is in progress."
new "## L’écran skip_indicator est affiché pour indiquer quune avance rapide est en cours."
# screens.rpy:1196
old "## https://www.renpy.org/doc/html/screen_special.html#skip-indicator"
@@ -587,19 +587,19 @@ translate french strings:
# screens.rpy:1208
old "Skipping"
new "Skipping"
new "Avance rapide"
# screens.rpy:1215
old "## This transform is used to blink the arrows one after another."
new "## This transform is used to blink the arrows one after another."
new "## Cette transformation est utilisé pour faire clignoter les flèches lune après lautre."
# screens.rpy:1247
old "## Notify screen"
new "## Notify screen"
new "## Écran de notification"
# screens.rpy:1249
old "## The notify screen is used to show the player a message. (For example, when the game is quicksaved or a screenshot has been taken.)"
new "## The notify screen is used to show the player a message. (For example, when the game is quicksaved or a screenshot has been taken.)"
new "## Cet écran est utilisé pour affiché un message au joueur. (Par exemple, quand une sauvegarde rapide a eu lieu ou quand une capture d’écran vient d’être réalisée.)"
# screens.rpy:1252
old "## https://www.renpy.org/doc/html/screen_special.html#notify-screen"
@@ -607,11 +607,11 @@ translate french strings:
# screens.rpy:1286
old "## NVL screen"
new "## NVL screen"
new "## Écran NVL"
# screens.rpy:1288
old "## This screen is used for NVL-mode dialogue and menus."
new "## This screen is used for NVL-mode dialogue and menus."
new "## Cet écran est utilisé pour les dialogues et les menus en mode NVL."
# screens.rpy:1290
old "## http://www.renpy.org/doc/html/screen_special.html#nvl"
@@ -619,23 +619,23 @@ translate french strings:
# screens.rpy:1301
old "## Displays dialogue in either a vpgrid or the vbox."
new "## Displays dialogue in either a vpgrid or the vbox."
new "## Les dialogues sont affichés soit dans une vpgrid soit dans une vbox."
# screens.rpy:1314
old "## Displays the menu, if given. The menu may be displayed incorrectly if config.narrator_menu is set to True, as it is above."
new "## Displays the menu, if given. The menu may be displayed incorrectly if config.narrator_menu is set to True, as it is above."
new "## Si fourni, affiche le menu. Le menu peut safficher de manière incorrecte si config.narrator_menu est initialisé à True, comme cest le cas au-dessus."
# screens.rpy:1344
old "## This controls the maximum number of NVL-mode entries that can be displayed at once."
new "## This controls the maximum number of NVL-mode entries that can be displayed at once."
new "## Ce paramètre controle le maximum dentrée dans le mode NVL qui peuvent être affichée simultanément."
# screens.rpy:1406
old "## Mobile Variants"
new "## Mobile Variants"
new "## Variantes pour les mobiles"
# screens.rpy:1413
old "## Since a mouse may not be present, we replace the quick menu with a version that uses fewer and bigger buttons that are easier to touch."
new "## Since a mouse may not be present, we replace the quick menu with a version that uses fewer and bigger buttons that are easier to touch."
new "## Comme la souris peut ne pas être présente, nous remplaçons le menu rapide avec une version qui utilise des boutons plus gros et qui sont plus faciles à toucher du doigt."
# screens.rpy:1429
old "Menu"
+102 -4
View File
@@ -1,5 +1,4 @@
translate indonesian strings:
translate indonesian strings:
# 00action_file.rpy:26
old "{#weekday}Monday"
@@ -263,7 +262,7 @@ translate indonesian strings:
# 00updater.rpy:704
old "Could not verify update signature."
new "Tidak dapat memverifikasi signature update."
new "Tidak dapat memverifikasi tandatangan update."
# 00updater.rpy:975
old "The update file was not downloaded."
@@ -303,7 +302,7 @@ translate indonesian strings:
# 00updater.rpy:1416
old "The updates have been installed. The program will restart."
new "Update sudah terpasang. Program akan me restart."
new "Update sudah terpasang. Program akan melakukan restart."
# 00updater.rpy:1418
old "The updates have been installed."
@@ -333,3 +332,102 @@ translate indonesian strings:
old "return"
new "Kembali"
translate indonesian strings:
# 00director.rpy:689
old "The interactive director is not enabled here."
new "Direktor interaktif tidak di aktifkan di sini."
# 00director.rpy:1461
old "Done"
new "Selesai"
# 00director.rpy:1469
old "(statement)"
new "(statement)"
# 00director.rpy:1470
old "(tag)"
new "(tag)"
# 00director.rpy:1471
old "(attributes)"
new "(attributes)"
# 00director.rpy:1472
old "(transform)"
new "(tramsform)"
# 00director.rpy:1497
old "(transition)"
new "(transition)"
# 00director.rpy:1509
old "(channel)"
new "(channel)"
# 00director.rpy:1510
old "(filename)"
new "(filename)"
# 00director.rpy:1535
old "Change"
new "Rubah"
# 00director.rpy:1537
old "Add"
new "Tambah"
# 00director.rpy:1543
old "Remove"
new "Hapus"
# 00director.rpy:1576
old "Statement:"
new "Pernyataan:"
# 00director.rpy:1597
old "Tag:"
new "Tag:"
# 00director.rpy:1613
old "Attributes:"
new "Atribut:"
# 00director.rpy:1631
old "Transforms:"
new "Transforms:"
# 00director.rpy:1650
old "Behind:"
new "Di Belakang:"
# 00director.rpy:1669
old "Transition:"
new "Transisi:"
# 00director.rpy:1687
old "Channel:"
new "Channel:"
# 00director.rpy:1705
old "Audio Filename:"
new "Nama File Audio:"
# _developer\developer.rpym:43
old "Interactive Director (D)"
new "Direktor Interaktif (D)"
# _developer\developer.rpym:67
old "Show Texture Size"
new "Tampilkan Ukuran Textur"
# _developer\developer.rpym:70
old "Hide Texture size"
new "Sembunyikan Ukuran Textur"
# _developer\developer.rpym:569
old "{size_mb:,.1f} MB in {count} textures."
new "{size_mb:,.1f} MB pada {count} textur."
+2 -2
View File
@@ -27,7 +27,7 @@ translate indonesian strings:
# _developer/developer.rpym:53
old "Filename List"
new "List Namafile"
new "List Nama File"
# _developer/developer.rpym:57
old "Show Image Load Log"
@@ -75,7 +75,7 @@ translate indonesian strings:
# _developer/developer.rpym:532
old "\n{color=#cfc}✔ predicted image (good){/color}\n{color=#fcc}✘ unpredicted image (bad){/color}\n{color=#fff}Drag to move.{/color}"
new "\n{color=#cfc}✔ predicted image (good){/color}\n{color=#fcc}✘ unpredicted image (bad){/color}\n{color=#fff}Drag to move.{/color}"
new "\n{color=#cfc}✔ gambar di prediksikan (baik){/color}\n{color=#fcc}✘ gambar tidak diprediksi (buruk){/color}\n{color=#fff}Drag untuk pindah.{/color}"
# _developer/inspector.rpym:38
old "Displayable Inspector"
+29 -2
View File
@@ -1,5 +1,4 @@
translate indonesian strings:
translate indonesian strings:
# 00gltest.rpy:64
old "Graphics Acceleration"
@@ -177,3 +176,31 @@ translate indonesian strings:
old "Copies the errors.txt file to the clipboard."
new "Salin file errors.txt ke Papan Klip."
translate indonesian strings:
# _errorhandling.rpym:519
old "Open"
new "Buka"
# _errorhandling.rpym:523
old "Copy"
new "Salin"
# _errorhandling.rpym:576
old "Console"
new "Konsol"
# _errorhandling.rpym:578
old "Opens a console to allow debugging the problem."
new "Buka konsol untuk mendebug masalah"
translate indonesian strings:
# 00gltest.rpy:89
old "NPOT"
new "NPOT"
# _errorhandling.rpym:585
old "Ignores the exception, allowing you to continue."
new "Hiraukan Kesalahan, memperbolehkan kamu untuk melanjutkan."
+49
View File
@@ -409,3 +409,52 @@ translate indonesian strings:
old "## Quick buttons."
new "## Quick buttons."
translate indonesian strings:
# gui.rpy:17
old "## GUI Configuration Variables"
new "## Variabel konfigurasi GUI"
# gui.rpy:168
old "## The color of button text in various states."
new "## Warna tombol text di berbagai kondisi."
# gui.rpy:174
old "## The horizontal alignment of the button text. (0.0 is left, 0.5 is center, 1.0 is right)."
new "## Alignment horisontal tombol text. (0.0 itu kiri, 0.5 tengah, 1.0 kanan)."
# gui.rpy:276
old "## The position of the main menu text."
new "## posisi text menu utama."
# gui.rpy:398
old "## Localization"
new "## Lokalisasi"
# gui.rpy:400
old "## This controls where a line break is permitted. The default is suitable for most languages. A list of available values can be found at https://www.renpy.org/doc/html/style_properties.html#style-property-language"
new "## Ini mengendalikan dimana line break di ijinkan. Pengaturan bawaan sudah cocok untuk kebanyakan bahasa. Daftar value yang tersedia dapat di lihat di https://www.renpy.org/doc/html/style_properties.html#style-property-language"
# gui.rpy:408
old "## Mobile devices"
new "## Perangkat mobile"
translate indonesian strings:
# gui.rpy:5
old "## The init offset statement causes the initialization statements in this file to run before init statements in any other file."
new "## pernyataan offset init menyebabkan pernyataan inisialisasi di file ini untuk berjalan lebih dahulu daripada pernyataan init di file lain nya."
# gui.rpy:282
old "## Generic frames."
new "## Frame generic"
# gui.rpy:302
old "## The default GUI only uses sliders and vertical scrollbars. All of the other bars are only used in creator-written screens."
new "## GUI Bawaan hanya menggunakan slider dan scrollbars vertikal. Bar lainnya hanya di gunakan pada layar GUI yang di tulis sendiri oleh pembuat/creator."
# gui.rpy:434
old "## Change the size and spacing of various things."
new "## Ubah ukuran dan jarak dari berbagai hal."
+96 -9
View File
@@ -259,19 +259,19 @@ translate indonesian strings:
# distribute.rpy:1050
old "Unpacking the Macintosh application for signing..."
new "Unpacking the Macintosh application for signing..."
new "Mengunpack aplikasi Macintosh untuk tandatangan..."
# distribute.rpy:1060
old "Signing the Macintosh application..."
new "Signing the Macintosh application..."
new "Menandatangani aplikasi Macintosh..."
# distribute.rpy:1082
old "Creating the Macintosh DMG..."
new "Creating the Macintosh DMG..."
new "Membuat Macintosh DMG..."
# distribute.rpy:1091
old "Signing the Macintosh DMG..."
new "Signing the Macintosh DMG..."
new "Menandatangani Macintosh DMG..."
# distribute.rpy:1248
old "Writing the [variant] [format] package."
@@ -279,7 +279,7 @@ translate indonesian strings:
# distribute.rpy:1261
old "Making the [variant] update zsync file."
new "Membuat [variant] zsync update file."
new "Membuat file update zsync : [variant] ."
# distribute.rpy:1404
old "Processed {b}[complete]{/b} of {b}[total]{/b} files."
@@ -399,7 +399,7 @@ translate indonesian strings:
# editor.rpy:472
old "A text editor is the program you'll use to edit Ren'Py script files. Here, you can select the editor Ren'Py will use. If not already present, the editor will be automatically downloaded and installed."
new "Text editor adalah program yang akan kamu gunakan untuk mengedit file script Ren'Pu, Kamu dapat memilih editor Ren'Py yang akan kamu pakai. Jika belum ada, editor akan otomatis di download dan di pasang."
new "Text editor adalah program yang akan kamu gunakan untuk mengedit file script Ren'Py, Kamu dapat memilih editor Ren'Py yang akan kamu pakai. Jika belum ada, editor akan otomatis di download dan di pasang."
# editor.rpy:494
old "Cancel"
@@ -483,7 +483,7 @@ translate indonesian strings:
# front_page.rpy:239
old "Change Theme"
new "Gant Tema"
new "Ganti Tema"
# front_page.rpy:242
old "Delete Persistent"
@@ -607,7 +607,7 @@ translate indonesian strings:
# interface.rpy:356
old "While [what!q], an error occured:"
new "Ketika [what!q], Kesalahakn Terjadi:"
new "Kesalahan terjadi ketika : [what!q] adalah :"
# interface.rpy:356
old "[exception!q]"
@@ -1131,7 +1131,7 @@ translate indonesian strings:
# updater.rpy:132
old "The bleeding edge of Ren'Py development. This may have the latest features, or might not run at all."
new "Update berdarah dari pengembangan Ren'Py. Ini mungikin mempunyai fitur terbaru. Bahkan tidak jalan sama sekali."
new "Update terbaru dari pengembangan Ren'Py. Ini mungikin mempunyai fitur terbaru. Bahkan tidak jalan sama sekali."
# updater.rpy:152
old "An error has occured:"
@@ -1185,3 +1185,90 @@ translate indonesian strings:
old "Proceed"
new "Lanjut."
translate indonesian strings:
# choose_directory.rpy:104
old "The selected projects directory is not writable."
new "Direktori proyek terpilih tidak dapat di tulis (not writable)"
# distribute.rpy:1061
old "Signing the Macintosh application...\n(This may take a long time.)"
new "Menandatangani aplikasi Macintosh...\n(Ini mungkin memakan waktu lama.)"
# front_page.rpy:91
old "PROJECTS:"
new "PROYEK:"
translate indonesian strings:
# preferences.rpy:181
old "Legacy options"
new "Opsi Legasi"
translate indonesian strings:
# android.rpy:304
old "Android: [project.current.display_name!q]"
new "Android: [project.current.display_name!q]"
# distribute_gui.rpy:157
old "Build Distributions: [project.current.display_name!q]"
new "Distribusi Build: [project.current.display_name!q]"
# gui7.rpy:372
old "WIDTH"
new "LEBAR"
# gui7.rpy:372
old "Please enter the width of your game, in pixels."
new "Tolong masukkan lebar dari game mu, dalam pixel."
# gui7.rpy:377
old "The width must be a number."
new "Ukuran lebar harus dalam angka."
# gui7.rpy:379
old "HEIGHT"
new "TINGGI"
# gui7.rpy:379
old "Please enter the height of your game, in pixels."
new "Tolong masukkan tinggi dari game mu, dalam pixel."
# gui7.rpy:384
old "The height must be a number."
new "Ukuran tinggi harus dalam angka."
# interface.rpy:136
old "Ren'Py Sponsor Information"
new "Informasi Sponsor Ren'Py"
# ios.rpy:211
old "iOS: [project.current.display_name!q]"
new "iOS: [project.current.display_name!q]"
# navigation.rpy:168
old "Navigate: [project.current.display_name!q]"
new "Navigasi: [project.current.display_name!q]"
# new_project.rpy:71
old "You will be creating an [new_project_language] language project. Change the launcher language in preferences to create a project in another language."
new "Kamu akan membuat bahasa proyek : [new_project_language]. Ganti bahasa launcher di pengaturan untuk membuat proyek dalam bahasa lain."
# preferences.rpy:187
old "Force new tutorial"
new "Paksa tutorial baru"
# preferences.rpy:194
old "Sponsor message"
new "Pesan sponsor"
# translations.rpy:92
old "Translations: [project.current.display_name!q]"
new "Penerjemah : [project.current.display_name!q]"
# translations.rpy:343
old "Extract Dialogue: [project.current.display_name!q]"
new "Extrak Dialog: [project.current.display_name!q]"
+17
View File
@@ -193,3 +193,20 @@ translate indonesian strings:
old "## The username and project name associated with an itch.io project, separated by a slash."
new "## Nama pengguna dan nama proyek yang di asosiasikan dengan proyek itch.io, di pisahkan dengan garis miring."
translate indonesian strings:
# options.rpy:146
old "## Icon"
new "## Ikon"
translate indonesian strings:
# options.rpy:81
old "## Between screens of the game menu."
new "## Antara layar dari menu permainan"
# options.rpy:201
old "## Set this to a string containing your Apple Developer ID Application to enable codesigning on the Mac. Be sure to change it to your own Apple-issued ID."
new "## Atur ini ke string yang berisi ID Developer Aplikasi Apple mu untuk mengaktifkan codesigning di Mac. Pastikan untuk mengganti nya ke ID mu sendiri yang sudah di berikan oleh Apple."
+137 -63
View File
@@ -3,23 +3,23 @@ translate indonesian strings:
# screens.rpy:9
old "## Styles"
new "## Styles"
new "## Gaya"
# screens.rpy:87
old "## In-game screens"
new "## In-game screens"
new "## Layar In-game"
# screens.rpy:91
old "## Say screen"
new "## Say screen"
new "## Layar Say"
# screens.rpy:93
old "## The say screen is used to display dialogue to the player. It takes two parameters, who and what, which are the name of the speaking character and the text to be displayed, respectively. (The who parameter can be None if no name is given.)"
new "## The say screen is used to display dialogue to the player. It takes two parameters, who and what, which are the name of the speaking character and the text to be displayed, respectively. (The who parameter can be None if no name is given.)"
new "## Layar say di gunakan untuk menampilkan dialog kepada pemain. Ini menggunakan dua parameter, who dan what, yang merupakan nama karakter yang berbicara dan text yang akan di tampilkan, masing-masing. (Kedua parameter dapat berisi None jika tidak ada nama yang di berikan."
# screens.rpy:98
old "## This screen must create a text displayable with id \"what\", as Ren'Py uses this to manage text display. It can also create displayables with id \"who\" and id \"window\" to apply style properties."
new "## This screen must create a text displayable with id \"what\", as Ren'Py uses this to manage text display. It can also create displayables with id \"who\" and id \"window\" to apply style properties."
new "## Layar ini harus membuat text yang dapat di tampilkan dengan id \"what\", yang di mana Ren'Py menggunakan ini untuk mengatur tampilan text. Ini juga dapat membuat sesuatu yang dapat di tampilkan dengan id \"who\" dan id \"window\" untuk mengaplikasikan properti gaya."
# screens.rpy:102
old "## https://www.renpy.org/doc/html/screen_special.html#say"
@@ -27,15 +27,15 @@ translate indonesian strings:
# screens.rpy:169
old "## Input screen"
new "## Input screen"
new "## Layar masukkan/input"
# screens.rpy:171
old "## This screen is used to display renpy.input. The prompt parameter is used to pass a text prompt in."
new "## This screen is used to display renpy.input. The prompt parameter is used to pass a text prompt in."
new "## Layar ini di gunakan untuk menampilkan renpy.input. Parameter prompt digunakan untuk meneruskan text yang di prompt/minta."
# screens.rpy:174
old "## This screen must create an input displayable with id \"input\" to accept the various input parameters."
new "## This screen must create an input displayable with id \"input\" to accept the various input parameters."
new "## Layar ini harus membuat input yang dapat di tampilkan dengan id \"input\" untuk menerima berbagai parameter masukan."
# screens.rpy:177
old "## http://www.renpy.org/doc/html/screen_special.html#input"
@@ -43,11 +43,11 @@ translate indonesian strings:
# screens.rpy:205
old "## Choice screen"
new "## Choice screen"
new "## Layar Pilihan"
# screens.rpy:207
old "## This screen is used to display the in-game choices presented by the menu statement. The one parameter, items, is a list of objects, each with caption and action fields."
new "## This screen is used to display the in-game choices presented by the menu statement. The one parameter, items, is a list of objects, each with caption and action fields."
new "## Layar ini digunakan untuk menampilkan pilihan dalam game yang disajikan oleh menu statement. Satu parameter, item, adalah daftar objek, masing-masing dengan bidang keterangan dan tindakan."
# screens.rpy:211
old "## http://www.renpy.org/doc/html/screen_special.html#choice"
@@ -55,15 +55,15 @@ translate indonesian strings:
# screens.rpy:221
old "## When this is true, menu captions will be spoken by the narrator. When false, menu captions will be displayed as empty buttons."
new "## When this is true, menu captions will be spoken by the narrator. When false, menu captions will be displayed as empty buttons."
new "## Bila ini benar, caption menu akan diucapkan oleh narator. Bila salah, caption menu akan ditampilkan sebagai tombol kosong."
# screens.rpy:244
old "## Quick Menu screen"
new "## Quick Menu screen"
new "## Layar Menu Cepat/Quick Menu"
# screens.rpy:246
old "## The quick menu is displayed in-game to provide easy access to the out-of-game menus."
new "## The quick menu is displayed in-game to provide easy access to the out-of-game menus."
new "## Menu cepat ditampilkan dalam game untuk memudahkan akses ke menu di luar game."
# screens.rpy:261
old "Back"
@@ -99,15 +99,15 @@ translate indonesian strings:
# screens.rpy:271
old "## This code ensures that the quick_menu screen is displayed in-game, whenever the player has not explicitly hidden the interface."
new "## This code ensures that the quick_menu screen is displayed in-game, whenever the player has not explicitly hidden the interface."
new "## Kode ini memastikan layar quick_menu di tampilkan di dalam permainan, kapanpun player tidak secaralangsung menyembunyikan antarmuka."
# screens.rpy:291
old "## Navigation screen"
new "## Navigation screen"
new "## Layar navigasi"
# screens.rpy:293
old "## This screen is included in the main and game menus, and provides navigation to other menus, and to start the game."
new "## This screen is included in the main and game menus, and provides navigation to other menus, and to start the game."
new "## Layar ini di ikutsertakan di menu utama dan permainan, dan menyediakan navigasi ke menu lainnya, dan untuk memulai permainan."
# screens.rpy:308
old "Start"
@@ -135,7 +135,7 @@ translate indonesian strings:
# screens.rpy:332
old "## Help isn't necessary or relevant to mobile devices."
new "## Help isn't necessary or relevant to mobile devices."
new "## Bantuan tidak perlu atau relevan dengan perangkat mobile."
# screens.rpy:333
old "Help"
@@ -143,7 +143,7 @@ translate indonesian strings:
# screens.rpy:335
old "## The quit button is banned on iOS and unnecessary on Android."
new "## The quit button is banned on iOS and unnecessary on Android."
new "## Tombol keluar di banned di iOS dan tidak diperlukan di Android."
# screens.rpy:336
old "Quit"
@@ -151,11 +151,11 @@ translate indonesian strings:
# screens.rpy:350
old "## Main Menu screen"
new "## Main Menu screen"
new "## Layar Menu utama"
# screens.rpy:352
old "## Used to display the main menu when Ren'Py starts."
new "## Used to display the main menu when Ren'Py starts."
new "## Digunakan untuk menampilkan menu utama ketika Ren'Py dimulai."
# screens.rpy:354
old "## http://www.renpy.org/doc/html/screen_special.html#main-menu"
@@ -163,19 +163,19 @@ translate indonesian strings:
# screens.rpy:369
old "## The use statement includes another screen inside this one. The actual contents of the main menu are in the navigation screen."
new "## The use statement includes another screen inside this one. The actual contents of the main menu are in the navigation screen."
new "## Pernyataan 'use' mengikutsertakan layar lain ke layar ini. Isi sebenarnya dari menu utama adalah layar navigasi."
# screens.rpy:413
old "## Game Menu screen"
new "## Game Menu screen"
new "## layar Menu Permainan"
# screens.rpy:415
old "## This lays out the basic common structure of a game menu screen. It's called with the screen title, and displays the background, title, and navigation."
new "## This lays out the basic common structure of a game menu screen. It's called with the screen title, and displays the background, title, and navigation."
new "## Ini menjalaskan struktur dasar yang paling sering di gunakan di layar menu permainan, ini ditampilkan beserta layar judul, dan menampilkan latar belakang,judul,dan navigasi."
# screens.rpy:418
old "## The scroll parameter can be None, or one of \"viewport\" or \"vpgrid\". When this screen is intended to be used with one or more children, which are transcluded (placed) inside it."
new "## The scroll parameter can be None, or one of \"viewport\" or \"vpgrid\". When this screen is intended to be used with one or more children, which are transcluded (placed) inside it."
new "## Parameter scroll dapat berisi 'None', atau \"viewport\" dan \"vpgrid\". Ketika layar ini di maksudkan untuk di gunakan dengan cabang satu atau lebih, yang di tempatkan di dalamnya."
# screens.rpy:476
old "Return"
@@ -183,19 +183,19 @@ translate indonesian strings:
# screens.rpy:539
old "## About screen"
new "## About screen"
new "## Layar About"
# screens.rpy:541
old "## This screen gives credit and copyright information about the game and Ren'Py."
new "## This screen gives credit and copyright information about the game and Ren'Py."
new "## Layar ini menampilkan credit dan informasi copyright tentang game dan Ren.Py."
# screens.rpy:544
old "## There's nothing special about this screen, and hence it also serves as an example of how to make a custom screen."
new "## There's nothing special about this screen, and hence it also serves as an example of how to make a custom screen."
new "## Tidak ada yang spesial dengan layar ini, semenjak ini juga berperan sebagai contoh bagaimana membuat layar custom."
# screens.rpy:551
old "## This use statement includes the game_menu screen inside this one. The vbox child is then included inside the viewport inside the game_menu screen."
new "## This use statement includes the game_menu screen inside this one. The vbox child is then included inside the viewport inside the game_menu screen."
new "## Pernyataan 'use' ini mengikutsertakan layar game_menu ke dalam layar ini. Percabangan vbox lalu di ikutsertakan kedalam viewport di dalam layar game_menu."
# screens.rpy:561
old "Version [config.version!t]\n"
@@ -203,7 +203,7 @@ translate indonesian strings:
# screens.rpy:563
old "## gui.about is usually set in options.rpy."
new "## gui.about is usually set in options.rpy."
new "## gui.about biasanya di set di options.rpy."
# screens.rpy:567
old "Made with {a=https://www.renpy.org/}Ren'Py{/a} [renpy.version_only].\n\n[renpy.license!t]"
@@ -211,15 +211,15 @@ translate indonesian strings:
# screens.rpy:570
old "## This is redefined in options.rpy to add text to the about screen."
new "## This is redefined in options.rpy to add text to the about screen."
new "## Ini di definisikan kembali di options.rpy untuk menambahkan text ke layar About."
# screens.rpy:582
old "## Load and Save screens"
new "## Load and Save screens"
new "## Layar Load and Save"
# screens.rpy:584
old "## These screens are responsible for letting the player save the game and load it again. Since they share nearly everything in common, both are implemented in terms of a third screen, file_slots."
new "## These screens are responsible for letting the player save the game and load it again. Since they share nearly everything in common, both are implemented in terms of a third screen, file_slots."
new "## Layar ini bertanggungjawab untuk mengijinkan pemain menyimpan dan meload lagi. Semenjak mereke hampir memiliki hal yang sama, keduanya di implementasinan di percabangan layar ketiga, file_slots."
# screens.rpy:588
old "## https://www.renpy.org/doc/html/screen_special.html#save https://www.renpy.org/doc/html/screen_special.html#load"
@@ -239,11 +239,11 @@ translate indonesian strings:
# screens.rpy:613
old "## This ensures the input will get the enter event before any of the buttons do."
new "## This ensures the input will get the enter event before any of the buttons do."
new "## Ini memastikan input akan mendapat event masuk sebelum tombol lainnya."
# screens.rpy:629
old "## The grid of file slots."
new "## The grid of file slots."
new "## Kolom slot file."
# screens.rpy:649
old "{#file_time}%A, %B %d %Y, %H:%M"
@@ -255,7 +255,7 @@ translate indonesian strings:
# screens.rpy:657
old "## Buttons to access other pages."
new "## Buttons to access other pages."
new "## Tombol untuk mengakses halaman lain."
# screens.rpy:666
old "<"
@@ -275,11 +275,11 @@ translate indonesian strings:
# screens.rpy:711
old "## Preferences screen"
new "## Preferences screen"
new "## Layar preferensi/opsi"
# screens.rpy:713
old "## The preferences screen allows the player to configure the game to better suit themselves."
new "## The preferences screen allows the player to configure the game to better suit themselves."
new "## Layar preferensi mengijinkan pemain untuk mengkonfigurasi permainan untuk menyesuaikan gaya bermain masing masing individu."
# screens.rpy:716
old "## https://www.renpy.org/doc/html/screen_special.html#preferences"
@@ -327,7 +327,7 @@ translate indonesian strings:
# screens.rpy:756
old "## Additional vboxes of type \"radio_pref\" or \"check_pref\" can be added here, to add additional creator-defined preferences."
new "## Additional vboxes of type \"radio_pref\" or \"check_pref\" can be added here, to add additional creator-defined preferences."
new "## Tipe tambahan vboxes \"radio_pref\" atau \"check_pref\" dapat di tambahkan disini, untuk menambahkan tambahan preferensi yang dibuat creator."
# screens.rpy:767
old "Text Speed"
@@ -359,27 +359,26 @@ translate indonesian strings:
# screens.rpy:882
old "## History screen"
new "## History screen"
new "## Layar History"
# screens.rpy:884
old "## This is a screen that displays the dialogue history to the player. While there isn't anything special about this screen, it does have to access the dialogue history stored in _history_list."
new "## This is a screen that displays the dialogue history to the player. While there isn't anything special about this screen, it does have to access the dialogue history stored in _history_list."
new "## Layar yang menampilkan History dialog kepada pemain. Semenjak tidak ada yang spesial tentang layar ini, ini memiliki akses ke history dialog yang di simpan di _history_list."
# screens.rpy:888
old "## https://www.renpy.org/doc/html/history.html"
new "## https://www.renpy.org/doc/html/history.html"
# screens.rpy:894
old "## Avoid predicting this screen, as it can be very large."
new "## Avoid predicting this screen, as it can be very large."
new "## Hindari mempredisi layar ini, ini dapat berukuran sangat besar."
# screens.rpy:905
old "## This lays things out properly if history_height is None."
new "## This lays things out properly if history_height is None."
new "## Ini menampilkan layar secara semestinya jika history_height memiliki value None."
# screens.rpy:914
old "## Take the color of the who text from the Character, if set."
new "## Take the color of the who text from the Character, if set."
new "## Mengambil warna dari text 'who' dari karakter, jika di set."
# screens.rpy:921
old "The dialogue history is empty."
@@ -387,11 +386,11 @@ translate indonesian strings:
# screens.rpy:965
old "## Help screen"
new "## Help screen"
new "## Layar Bantuan"
# screens.rpy:967
old "## A screen that gives information about key and mouse bindings. It uses other screens (keyboard_help, mouse_help, and gamepad_help) to display the actual help."
new "## A screen that gives information about key and mouse bindings. It uses other screens (keyboard_help, mouse_help, and gamepad_help) to display the actual help."
new "## Layar yang memberikan informasi tentang keyboard dan mouse binding. Ini menggunakan layar lain (keyboard_help, mouse_help, and gamepad_help) untuk menampilkan bantuan yang sebenarnya."
# screens.rpy:986
old "Keyboard"
@@ -543,15 +542,15 @@ translate indonesian strings:
# screens.rpy:1124
old "## Additional screens"
new "## Additional screens"
new "## Layar Tambahan"
# screens.rpy:1128
old "## Confirm screen"
new "## Confirm screen"
new "## Layar konfirmasi"
# screens.rpy:1130
old "## The confirm screen is called when Ren'Py wants to ask the player a yes or no question."
new "## The confirm screen is called when Ren'Py wants to ask the player a yes or no question."
new "## Layar konfirmasi di panggil ketika Ren'Py mau menanyakan ke pemain pertanyaan ya atau tidak."
# screens.rpy:1133
old "## http://www.renpy.org/doc/html/screen_special.html#confirm"
@@ -559,7 +558,7 @@ translate indonesian strings:
# screens.rpy:1137
old "## Ensure other screens do not get input while this screen is displayed."
new "## Ensure other screens do not get input while this screen is displayed."
new "## Memastikan layar lain tidak mendapatkan input ketika layar ini di panggil."
# screens.rpy:1161
old "Yes"
@@ -571,15 +570,15 @@ translate indonesian strings:
# screens.rpy:1164
old "## Right-click and escape answer \"no\"."
new "## Right-click and escape answer \"no\"."
new "## Klik kanan dan jawaban escape \"Tidak\"."
# screens.rpy:1191
old "## Skip indicator screen"
new "## Skip indicator screen"
new "## Lompati indikator layar"
# screens.rpy:1193
old "## The skip_indicator screen is displayed to indicate that skipping is in progress."
new "## The skip_indicator screen is displayed to indicate that skipping is in progress."
new "## layar skip_indicator di tampilkan untuk mengindikasian proses skipping sedang dalam proses."
# screens.rpy:1196
old "## https://www.renpy.org/doc/html/screen_special.html#skip-indicator"
@@ -591,15 +590,15 @@ translate indonesian strings:
# screens.rpy:1215
old "## This transform is used to blink the arrows one after another."
new "## This transform is used to blink the arrows one after another."
new "## transform digunakan untuk mengkedipkan panah setelah yang lain."
# screens.rpy:1247
old "## Notify screen"
new "## Notify screen"
new "## Layar pemberitahuan"
# screens.rpy:1249
old "## The notify screen is used to show the player a message. (For example, when the game is quicksaved or a screenshot has been taken.)"
new "## The notify screen is used to show the player a message. (For example, when the game is quicksaved or a screenshot has been taken.)"
new "## layar notify digunakan untuk menampilkan pesan kepada pemain. (Seperti, ketika game di simpan cepat atau screenshot di ambil.)"
# screens.rpy:1252
old "## https://www.renpy.org/doc/html/screen_special.html#notify-screen"
@@ -607,11 +606,11 @@ translate indonesian strings:
# screens.rpy:1286
old "## NVL screen"
new "## NVL screen"
new "## Layar NVL"
# screens.rpy:1288
old "## This screen is used for NVL-mode dialogue and menus."
new "## This screen is used for NVL-mode dialogue and menus."
new "## Layar ini digunakan untuk dialog dan menu mode-NVL."
# screens.rpy:1290
old "## http://www.renpy.org/doc/html/screen_special.html#nvl"
@@ -619,25 +618,100 @@ translate indonesian strings:
# screens.rpy:1301
old "## Displays dialogue in either a vpgrid or the vbox."
new "## Displays dialogue in either a vpgrid or the vbox."
new "## Menampilkan dialog pada vpgrid atau vbox."
# screens.rpy:1314
old "## Displays the menu, if given. The menu may be displayed incorrectly if config.narrator_menu is set to True, as it is above."
new "## Displays the menu, if given. The menu may be displayed incorrectly if config.narrator_menu is set to True, as it is above."
new "## Menampilkan menu, jika di berikan. Menu mungkin akan di tampilkan secara tidak benar jika config.narrator_menu di set ke True, seperti di atas."
# screens.rpy:1344
old "## This controls the maximum number of NVL-mode entries that can be displayed at once."
new "## This controls the maximum number of NVL-mode entries that can be displayed at once."
new "## Ini mengendalikan angka maksimum entri mode-NVL yang dapat di tampilkan sekaligus."
# screens.rpy:1406
old "## Mobile Variants"
new "## Mobile Variants"
new "## Versi Mobile(HP/Handphone/Android)"
# screens.rpy:1413
old "## Since a mouse may not be present, we replace the quick menu with a version that uses fewer and bigger buttons that are easier to touch."
new "## Since a mouse may not be present, we replace the quick menu with a version that uses fewer and bigger buttons that are easier to touch."
new "## Semenjak mouse tidak ada, kami mengganti menu cepat dengan yang menggunakan tombol yang lebih besar dan sedikit, yang memudahkan untuk di sentuh."
# screens.rpy:1429
old "Menu"
new "Menu"
translate indonesian strings:
# screens.rpy:120
old "## If there's a side image, display it above the text. Do not display on the phone variant - there's no room."
new "## Jika ada gambar di sisi, tampilkan di atas text. Jangan tampilkan di versi HP[Handphone)(Android) - Karena tidak ada ruang."
# screens.rpy:252
old "## Ensure this appears on top of other screens."
new "## Memastikan ini muncul di atas layar yang lain."
# screens.rpy:291
old "## Main and Game Menu Screens"
new "## Layar Menu Utama dan Menu Permainan"
# screens.rpy:361
old "## This ensures that any other menu screen is replaced."
new "## Ini Memastikan Layar Menu Yang Lain Telah Di Timpa"
# screens.rpy:368
old "## This empty frame darkens the main menu."
new "## Frame kosong ini menggelap di menu utama."
# screens.rpy:439
old "## Reserve space for the navigation section."
new "## Memesan tempat untuk bagian navigasi."
# screens.rpy:619
old "## The page name, which can be edited by clicking on a button."
new "## Nama halaman, yang dapat di edit dengan mengklik tombol."
# screens.rpy:674
old "## range(1, 10) gives the numbers from 1 to 9."
new "## antara(1,10) beri nomor antara 1 sampai 9."
# screens.rpy:1079
old "Left Trigger\nLeft Shoulder"
new "Trigger Kiri\nBahu Kiri"
translate indonesian strings:
# screens.rpy:1233
old "## We have to use a font that has the BLACK RIGHT-POINTING SMALL TRIANGLE glyph in it."
new "## Kami harus menggunakan font yang mempunyai glyph BLACK RIGHT-POINTING SMALL TRIANGLE di dalam nya."
translate indonesian strings:
# screens.rpy:120
old "## Make the namebox available for styling through the Character object."
new "## Buat namebox tersedia untuk mengatur gaya melalui objek karakter."
# screens.rpy:172
old "## https://www.renpy.org/doc/html/screen_special.html#input"
new "## https://www.renpy.org/doc/html/screen_special.html#input"
# screens.rpy:205
old "## https://www.renpy.org/doc/html/screen_special.html#choice"
new "## https://www.renpy.org/doc/html/screen_special.html#choice"
# screens.rpy:350
old "## https://www.renpy.org/doc/html/screen_special.html#main-menu"
new "## https://www.renpy.org/doc/html/screen_special.html#main-menu"
# screens.rpy:917
old "## This determines what tags are allowed to be displayed on the history screen."
new "## Ini menentukan tag apa yang diizinkan ditampilkan di layar sejarah/catatan."
# screens.rpy:1133
old "## https://www.renpy.org/doc/html/screen_special.html#confirm"
new "## https://www.renpy.org/doc/html/screen_special.html#confirm"
# screens.rpy:1290
old "## https://www.renpy.org/doc/html/screen_special.html#nvl"
new "## https://www.renpy.org/doc/html/screen_special.html#nvl"
+53 -53
View File
@@ -3,111 +3,111 @@ translate italian strings:
# 00action_file.rpy:26
old "{#weekday}Monday"
new "{#weekday}Monday"
new "{#weekday}Lunedì"
# 00action_file.rpy:26
old "{#weekday}Tuesday"
new "{#weekday}Tuesday"
new "{#weekday}Martedì"
# 00action_file.rpy:26
old "{#weekday}Wednesday"
new "{#weekday}Wednesday"
new "{#weekday}Mercoledì"
# 00action_file.rpy:26
old "{#weekday}Thursday"
new "{#weekday}Thursday"
new "{#weekday}Giovedì"
# 00action_file.rpy:26
old "{#weekday}Friday"
new "{#weekday}Friday"
new "{#weekday}Venerdì"
# 00action_file.rpy:26
old "{#weekday}Saturday"
new "{#weekday}Saturday"
new "{#weekday}Sabato"
# 00action_file.rpy:26
old "{#weekday}Sunday"
new "{#weekday}Sunday"
new "{#weekday}Domenica"
# 00action_file.rpy:37
old "{#weekday_short}Mon"
new "{#weekday_short}Mon"
new "{#weekday_short}Lun"
# 00action_file.rpy:37
old "{#weekday_short}Tue"
new "{#weekday_short}Tue"
new "{#weekday_short}Mar"
# 00action_file.rpy:37
old "{#weekday_short}Wed"
new "{#weekday_short}Wed"
new "{#weekday_short}Mer"
# 00action_file.rpy:37
old "{#weekday_short}Thu"
new "{#weekday_short}Thu"
new "{#weekday_short}Gio"
# 00action_file.rpy:37
old "{#weekday_short}Fri"
new "{#weekday_short}Fri"
new "{#weekday_short}Ven"
# 00action_file.rpy:37
old "{#weekday_short}Sat"
new "{#weekday_short}Sat"
new "{#weekday_short}Sab"
# 00action_file.rpy:37
old "{#weekday_short}Sun"
new "{#weekday_short}Sun"
new "{#weekday_short}Dom"
# 00action_file.rpy:47
old "{#month}January"
new "{#month}January"
new "{#month}Gennaio"
# 00action_file.rpy:47
old "{#month}February"
new "{#month}February"
new "{#month}Febbraio"
# 00action_file.rpy:47
old "{#month}March"
new "{#month}March"
new "{#month}Marzo"
# 00action_file.rpy:47
old "{#month}April"
new "{#month}April"
new "{#month}Aprile"
# 00action_file.rpy:47
old "{#month}May"
new "{#month}May"
new "{#month}Maggio"
# 00action_file.rpy:47
old "{#month}June"
new "{#month}June"
new "{#month}Giugno"
# 00action_file.rpy:47
old "{#month}July"
new "{#month}July"
new "{#month}Luglio"
# 00action_file.rpy:47
old "{#month}August"
new "{#month}August"
new "{#month}Agosto"
# 00action_file.rpy:47
old "{#month}September"
new "{#month}September"
new "{#month}Settembre"
# 00action_file.rpy:47
old "{#month}October"
new "{#month}October"
new "{#month}Ottobre"
# 00action_file.rpy:47
old "{#month}November"
new "{#month}November"
new "{#month}Novembre"
# 00action_file.rpy:47
old "{#month}December"
new "{#month}December"
new "{#month}Dicembre"
# 00action_file.rpy:63
old "{#month_short}Jan"
new "{#month_short}Jan"
new "{#month_short}Gen"
# 00action_file.rpy:63
old "{#month_short}Feb"
@@ -123,27 +123,27 @@ translate italian strings:
# 00action_file.rpy:63
old "{#month_short}May"
new "{#month_short}May"
new "{#month_short}Mag"
# 00action_file.rpy:63
old "{#month_short}Jun"
new "{#month_short}Jun"
new "{#month_short}Giu"
# 00action_file.rpy:63
old "{#month_short}Jul"
new "{#month_short}Jul"
new "{#month_short}Lug"
# 00action_file.rpy:63
old "{#month_short}Aug"
new "{#month_short}Aug"
new "{#month_short}Ago"
# 00action_file.rpy:63
old "{#month_short}Sep"
new "{#month_short}Sep"
new "{#month_short}Set"
# 00action_file.rpy:63
old "{#month_short}Oct"
new "{#month_short}Oct"
new "{#month_short}Ott"
# 00action_file.rpy:63
old "{#month_short}Nov"
@@ -151,7 +151,7 @@ translate italian strings:
# 00action_file.rpy:63
old "{#month_short}Dec"
new "{#month_short}Dec"
new "{#month_short}Dic"
# 00action_file.rpy:235
old "%b %d, %H:%M"
@@ -175,7 +175,7 @@ translate italian strings:
# 00gui.rpy:230
old "Loading will lose unsaved progress.\nAre you sure you want to do this?"
new "Caricare causerà la perdita di progressi non salvati.\n Confermi?"
new "Caricare causerà la perdita di progressi non salvati.\nConfermi?"
# 00gui.rpy:231
old "Are you sure you want to quit?"
@@ -187,7 +187,7 @@ translate italian strings:
# 00gui.rpy:233
old "Are you sure you want to end the replay?"
new "Are you sure you want to end the replay?"
new "Confermi di voler terminare il replay?"
# 00gui.rpy:234
old "Are you sure you want to begin skipping?"
@@ -199,7 +199,7 @@ translate italian strings:
# 00gui.rpy:236
old "Are you sure you want to skip unseen dialogue to the next choice?"
new "Are you sure you want to skip unseen dialogue to the next choice?"
new "Confermi di voler saltare il testo non letto fino alla prossima scelta?"
# 00keymap.rpy:250
old "Saved screenshot as %s."
@@ -207,39 +207,39 @@ translate italian strings:
# 00library.rpy:142
old "Self-voicing disabled."
new "Self-voicing disabled."
new "Assistente Vocale disabilitato."
# 00library.rpy:143
old "Clipboard voicing enabled. "
new "Clipboard voicing enabled. "
new "Vocalizza Appunti abilitato. "
# 00library.rpy:144
old "Self-voicing enabled. "
new "Self-voicing enabled. "
new "Assistente Vocale abilitato. "
# 00library.rpy:179
old "Skip Mode"
new "Modalità salto"
new "Modalità Salto"
# 00library.rpy:262
old "This program contains free software under a number of licenses, including the MIT License and GNU Lesser General Public License. A complete list of software, including links to full source code, can be found {a=https://www.renpy.org/l/license}here{/a}."
new "This program contains free software under a number of licenses, including the MIT License and GNU Lesser General Public License. A complete list of software, including links to full source code, can be found {a=https://www.renpy.org/l/license}here{/a}."
new "Questo programma contiene software libero rilasciato sotto una quantità di licenze, che includono la MIT License e la GNU Lesser General Public License. Una lista completa dei software, inclusi link al codice sorgente completo, si può trovare {a=https://www.renpy.org/l/license}qui{/a}."
# 00preferences.rpy:422
old "Clipboard voicing enabled. Press 'shift+C' to disable."
new "Clipboard voicing abilitato. Premi 'shift+C' per disabilitarlo."
new "Vocalizza Appunti abilitato. Premi 'shift+C' per disabilitarlo."
# 00preferences.rpy:424
old "Self-voicing would say \"[renpy.display.tts.last]\". Press 'alt+shift+V' to disable."
new "Self-voicing would say \"[renpy.display.tts.last]\". Press 'alt+shift+V' to disable."
new "L'Assistente Vocale tenta di dire \"[renpy.display.tts.last]\". Premi 'alt+shift+V' per disabilitare."
# 00preferences.rpy:426
old "Self-voicing enabled. Press 'v' to disable."
new "Self-voicing abilitato. Premi 'v' per disabilitarlo."
new "Assistente Vocale abilitato. Premi 'v' per disabilitarlo."
# 00iap.rpy:217
old "Contacting App Store\nPlease Wait..."
new "Contacting App Store\nPlease Wait..."
new "Contatto App Store\nAttendere prego..."
# 00updater.rpy:367
old "The Ren'Py Updater is not supported on mobile devices."
@@ -247,7 +247,7 @@ translate italian strings:
# 00updater.rpy:486
old "An error is being simulated."
new "Un errore viene simulato."
new "Viene simulato un errore."
# 00updater.rpy:662
old "Either this project does not support updating, or the update status file was deleted."
@@ -275,11 +275,11 @@ translate italian strings:
# 00updater.rpy:1049
old "While unpacking {}, unknown type {}."
new "Durante lo spacchettamento {}, tipo sconosciuto {}."
new "Durante lo spacchettamento di {}, tipo sconosciuto {}."
# 00updater.rpy:1393
old "Updater"
new "Updater"
new "Aggiornamenti"
# 00updater.rpy:1404
old "This program is up to date."
@@ -291,15 +291,15 @@ translate italian strings:
# 00updater.rpy:1408
old "Preparing to download the updates."
new "Preparando lo scaricamento dell'aggiornamento."
new "Preparazione allo scaricamento degli aggiornamenti."
# 00updater.rpy:1410
old "Downloading the updates."
new "Scaricando l'aggiornamento."
new "Scaricamento degli aggiornamenti."
# 00updater.rpy:1412
old "Unpacking the updates."
new "Estraendo l'aggiornamento."
new "Estrazione degli aggiornamenti."
# 00updater.rpy:1416
old "The updates have been installed. The program will restart."
@@ -331,5 +331,5 @@ translate italian strings:
# 00gallery.rpy:586
old "return"
new "ritorna"
new "chiudi"
+14 -14
View File
@@ -3,7 +3,7 @@ translate italian strings:
# _developer/developer.rpym:38
old "Developer Menu"
new "Menù dello sviluppatore"
new "Menu Sviluppatore"
# _developer/developer.rpym:43
old "Reload Game (Shift+R)"
@@ -15,27 +15,27 @@ translate italian strings:
# _developer/developer.rpym:47
old "Variable Viewer"
new "Visualizzatore di variabili"
new "Visualizzatore Variabili"
# _developer/developer.rpym:49
old "Theme Test"
new "Prova tema"
new "Prova Tema"
# _developer/developer.rpym:51
old "Image Location Picker"
new "Selettore dell'ubicazione delle immagini"
new "Selettore Locazione Immagini"
# _developer/developer.rpym:53
old "Filename List"
new "Lista dei file"
new "Lista File"
# _developer/developer.rpym:57
old "Show Image Load Log"
new "Mostra log di caricamento delle immagini"
new "Mostra Log di Caricamento Immagini"
# _developer/developer.rpym:60
old "Hide Image Load Log"
new "Nascondi log di caricamento delle immagini"
new "Nascondi Log di Caricamento Immagini"
# _developer/developer.rpym:95
old "Nothing to inspect."
@@ -43,7 +43,7 @@ translate italian strings:
# _developer/developer.rpym:217
old "Return to the developer menu"
new "Ritorna al menù dello sviluppatore"
new "Ritorna al menu sviluppatore"
# _developer/developer.rpym:373
old "Rectangle: %r"
@@ -59,11 +59,11 @@ translate italian strings:
# _developer/developer.rpym:412
old "Rectangle copied to clipboard."
new "Rettangolo copiato nella clipboard."
new "Rettangolo copiato negli appunti."
# _developer/developer.rpym:415
old "Position copied to clipboard."
new "Posizione copiata nella clipboard."
new "Posizione copiata negli appunti."
# _developer/developer.rpym:524
old "✔ "
@@ -75,11 +75,11 @@ translate italian strings:
# _developer/developer.rpym:532
old "\n{color=#cfc}✔ predicted image (good){/color}\n{color=#fcc}✘ unpredicted image (bad){/color}\n{color=#fff}Drag to move.{/color}"
new "\n{color=#cfc}✔ predicted image (good){/color}\n{color=#fcc}✘ unpredicted image (bad){/color}\n{color=#fff}Drag to move.{/color}"
new "\n{color=#cfc}✔ immagine predetta (bene){/color}\n{color=#fcc}✘ immagine non predetta (male){/color}\n{color=#fff}Trascina per muovere.{/color}"
# _developer/inspector.rpym:38
old "Displayable Inspector"
new "Ispettore di displayable"
new "Ispettore dei Displayable"
# _developer/inspector.rpym:61
old "Size"
@@ -95,11 +95,11 @@ translate italian strings:
# _developer/inspector.rpym:122
old "Inspecting Styles of [displayable_name!q]"
new "Ispezionando stili di [displayable_name!q]"
new "Ispezione Stili di [displayable_name!q]"
# _developer/inspector.rpym:139
old "displayable:"
new "visualizzabile:"
new "displayable:"
# _developer/inspector.rpym:145
old " (no properties affect the displayable)"
+25 -25
View File
@@ -3,35 +3,35 @@ translate italian strings:
# 00gltest.rpy:64
old "Graphics Acceleration"
new "Accelerazione grafica"
new "Accelerazione Grafica"
# 00gltest.rpy:70
old "Automatically Choose"
new "Scegli automaticamente"
new "Scegli Automaticamente"
# 00gltest.rpy:75
old "Force Angle/DirectX Renderer"
new "Forza renderer via Angle/DirectX"
new "Forza Renderer Angle/DirectX"
# 00gltest.rpy:79
old "Force OpenGL Renderer"
new "Forza renderer via OpenGL"
new "Forza Renderer OpenGL"
# 00gltest.rpy:83
old "Force Software Renderer"
new "Forza renderer via software"
new "Forza Renderer Software"
# 00gltest.rpy:93
old "Enable"
new "Enable"
new "Abilita"
# 00gltest.rpy:109
old "Changes will take effect the next time this program is run."
new "Le modifiche prenderanno effetto al prossimo avvio di questo programma."
new "Le modifiche avranno effetto al prossimo avvio di questo programma."
# 00gltest.rpy:141
old "Performance Warning"
new "Avviso di prestazioni"
new "Avviso Prestazioni"
# 00gltest.rpy:146
old "This computer is using software rendering."
@@ -39,7 +39,7 @@ translate italian strings:
# 00gltest.rpy:148
old "This computer is not using shaders."
new "Questo computer non fa uso degli shaders."
new "Questo computer non fa uso degli shader."
# 00gltest.rpy:150
old "This computer is displaying graphics slowly."
@@ -51,11 +51,11 @@ translate italian strings:
# 00gltest.rpy:157
old "Its graphics drivers may be out of date or not operating correctly. This can lead to slow or incorrect graphics display. Updating DirectX could fix this problem."
new "I suoi driver video potrebbero essere vecchi o non funzionanti correttamente. Questo potrebbe portare a visualizzare la grafica lentamente o impropriamente. Aggiornare DirectX potrebbe risolvere questo problema."
new "I suoi driver video potrebbero essere vecchi o non funzionare correttamente. Questo potrebbe portare a visualizzare la grafica lentamente o impropriamente. Aggiornare DirectX potrebbe risolvere questo problema."
# 00gltest.rpy:159
old "Its graphics drivers may be out of date or not operating correctly. This can lead to slow or incorrect graphics display."
new "I suoi driver video potrebbero essere vecchi o non funzionanti correttamente. Questo potrebbe portare a visualizzare la grafica lentamente o impropriamente."
new "I suoi driver video potrebbero essere vecchi o non funzionare correttamente. Questo potrebbe portare a visualizzare la grafica lentamente o impropriamente."
# 00gltest.rpy:164
old "Update DirectX"
@@ -71,7 +71,7 @@ translate italian strings:
# 00gltest.rpy:192
old "Updating DirectX."
new "Aggiornando DirectX."
new "Aggiornamento DirectX."
# 00gltest.rpy:196
old "DirectX web setup has been started. It may start minimized in the taskbar. Please follow the prompts to install DirectX."
@@ -79,7 +79,7 @@ translate italian strings:
# 00gltest.rpy:200
old "{b}Note:{/b} Microsoft's DirectX web setup program will, by default, install the Bing toolbar. If you do not want this toolbar, uncheck the appropriate box."
new "{b}Nota:{/b} Il programma di installazione web di DirectX di Microsoft proverà ad installare la barra di Bing. Per evitare che ciò accada, spunta l'opzione appropriata"
new "{b}Nota:{/b} Il programma di installazione web di DirectX di Microsoft proverà ad installare la barra di Bing. Per evitare che ciò accada, spunta l'opzione appropriata."
# 00gltest.rpy:204
old "When setup finishes, please click below to restart this program."
@@ -91,27 +91,27 @@ translate italian strings:
# 00gamepad.rpy:32
old "Select Gamepad to Calibrate"
new "Select Gamepad to Calibrate"
new "Seleziona il Gamepad da Calibrare"
# 00gamepad.rpy:35
old "No Gamepads Available"
new "No Gamepads Available"
new "Nessun Gamepad Disponibile"
# 00gamepad.rpy:54
old "Calibrating [name] ([i]/[total])"
new "Calibrating [name] ([i]/[total])"
new "Calibrazione [name] ([i]/[total])"
# 00gamepad.rpy:58
old "Press or move the [control!r] [kind]."
new "Press or move the [control!r] [kind]."
new "Premi o muovi [control!r] [kind]."
# 00gamepad.rpy:66
old "Skip (A)"
new "Skip (A)"
new "Salta (A)"
# 00gamepad.rpy:69
old "Back (B)"
new "Back (B)"
new "Indietro (B)"
# _errorhandling.rpym:495
old "Open Traceback"
@@ -123,11 +123,11 @@ translate italian strings:
# _errorhandling.rpym:499
old "Copy to Clipboard"
new "Copy to Clipboard"
new "Copia negli Appunti"
# _errorhandling.rpym:501
old "Copies the traceback.txt file to the clipboard."
new "Copies the traceback.txt file to the clipboard."
new "Copia il file traceback.txt negli appunti."
# _errorhandling.rpym:519
old "An exception has occurred."
@@ -139,7 +139,7 @@ translate italian strings:
# _errorhandling.rpym:540
old "Attempts a roll back to a prior time, allowing you to save or choose a different choice."
new "Prova a regredire ad una data precedente, permettendoti di salvare o selezionare un'altra scelta."
new "Prova a regredire ad un momento precedente, permettendoti di salvare o selezionare un'altra scelta."
# _errorhandling.rpym:543
old "Ignore"
@@ -147,7 +147,7 @@ translate italian strings:
# _errorhandling.rpym:545
old "Ignores the exception, allowing you to continue. This often leads to additional errors."
new "Ignore l'eccezione, permettendoti di continuare. Spesso introduce nuovi errori."
new "Ignora l'eccezione, permettendoti di continuare. Spesso introduce nuovi errori."
# _errorhandling.rpym:548
old "Reload"
@@ -163,7 +163,7 @@ translate italian strings:
# _errorhandling.rpym:582
old "Parsing the script failed."
new "L'analisi dello script ha fallito."
new "L'analisi dello script è fallita."
# _errorhandling.rpym:606
old "Open Parse Errors"
@@ -175,5 +175,5 @@ translate italian strings:
# _errorhandling.rpym:612
old "Copies the errors.txt file to the clipboard."
new "Copies the errors.txt file to the clipboard."
new "Copia il file errors.txt negli appunti."
+125 -101
View File
@@ -3,327 +3,327 @@ translate italian strings:
# gui.rpy:2
old "## Initialization"
new "## Initialization"
new "## Inizializzazione"
# gui.rpy:5
old "## The init offset statement causes the init code in this file to run before init code in any other file."
new "## The init offset statement causes the init code in this file to run before init code in any other file."
new "## Il comando 'init offset' determina che il codice init in questo file sia eseguito prima del codice init di ogni altro file."
# gui.rpy:9
old "## Calling gui.init resets the styles to sensible default values, and sets the width and height of the game."
new "## Calling gui.init resets the styles to sensible default values, and sets the width and height of the game."
new "## Dichiarare gui.init resetta gli stili ai valori predefiniti, e imposta l'altezza e larghezza del gioco."
# gui.rpy:21
old "## Colors"
new "## Colors"
new "## Colori"
# gui.rpy:23
old "## The colors of text in the interface."
new "## The colors of text in the interface."
new "## I colori del testo nell'interfaccia."
# gui.rpy:25
old "## An accent color used throughout the interface to label and highlight text."
new "## An accent color used throughout the interface to label and highlight text."
new "## Un colore di risalto usato nell'interfaccia per le etichette e il testo in evidenza."
# gui.rpy:29
old "## The color used for a text button when it is neither selected nor hovered."
new "## The color used for a text button when it is neither selected nor hovered."
new "## Il colore usato per il testo di un pulsante quando non è nè selezionato nè sotto il puntatore."
# gui.rpy:32
old "## The small color is used for small text, which needs to be brighter/darker to achieve the same effect."
new "## The small color is used for small text, which needs to be brighter/darker to achieve the same effect."
new "## Il colore small è usato per testo piccolo, che richiede di essere più chiaro o più scuro per ottenere lo stesso effetto."
# gui.rpy:36
old "## The color that is used for buttons and bars that are hovered."
new "## The color that is used for buttons and bars that are hovered."
new "## Il colore usato per pulsanti e barre che si trovano sotto il puntatore."
# gui.rpy:39
old "## The color used for a text button when it is selected but not focused. A button is selected if it is the current screen or preference value."
new "## The color used for a text button when it is selected but not focused. A button is selected if it is the current screen or preference value."
new "## Il colore usato per il testo di un pulsante che è selezionato ma non evidenziato. Un pulsante è selezionato se indica l'attuale schermata o valore di preferenza."
# gui.rpy:43
old "## The color used for a text button when it cannot be selected."
new "## The color used for a text button when it cannot be selected."
new "## Il colore del testo per un pulsante che non può venire selezionato."
# gui.rpy:46
old "## Colors used for the portions of bars that are not filled in. These are not used directly, but are used when re-generating bar image files."
new "## Colors used for the portions of bars that are not filled in. These are not used directly, but are used when re-generating bar image files."
new "## Colori usati per le frazioni di barre che non sono riempite. Non vengono usati direttamente, ma lo sono quando si ri-generano i file immagine della barra."
# gui.rpy:51
old "## The colors used for dialogue and menu choice text."
new "## The colors used for dialogue and menu choice text."
new "## I colori usati per il dialogo e le scelte."
# gui.rpy:56
old "## Fonts and Font Sizes"
new "## Fonts and Font Sizes"
new "## Font e Dimensioni"
# gui.rpy:58
old "## The font used for in-game text."
new "## The font used for in-game text."
new "## Il font usato per il testo interno al gioco."
# gui.rpy:61
old "## The font used for character names."
new "## The font used for character names."
new "## Il font usato per i nomi dei personaggi."
# gui.rpy:64
old "## The font used for out-of-game text."
new "## The font used for out-of-game text."
new "## Il font usato per il testo esterno al gioco."
# gui.rpy:67
old "## The size of normal dialogue text."
new "## The size of normal dialogue text."
new "## La dimensione del normale testo di dialogo."
# gui.rpy:70
old "## The size of character names."
new "## The size of character names."
new "## La dimensione dei nomi dei personaggi."
# gui.rpy:73
old "## The size of text in the game's user interface."
new "## The size of text in the game's user interface."
new "## Le dimensioni del testo nell'interfaccia di gioco."
# gui.rpy:76
old "## The size of labels in the game's user interface."
new "## The size of labels in the game's user interface."
new "## Le dimensioni delle etichette nell'interfaccia di gioco."
# gui.rpy:79
old "## The size of text on the notify screen."
new "## The size of text on the notify screen."
new "## La dimensione del testo delle notifiche (notify screen)."
# gui.rpy:82
old "## The size of the game's title."
new "## The size of the game's title."
new "## Le dimensioni del titolo del gioco."
# gui.rpy:86
old "## Main and Game Menus"
new "## Main and Game Menus"
new "## Menu - Main e Game"
# gui.rpy:88
old "## The images used for the main and game menus."
new "## The images used for the main and game menus."
new "## Le immagini usate per i menu Main e Game."
# gui.rpy:92
old "## Should we show the name and version of the game?"
new "## Should we show the name and version of the game?"
new "## Si vuole mostrare il nome e la versione del gioco?"
# gui.rpy:96
old "## Dialogue"
new "## Dialogue"
new "## Dialogo"
# gui.rpy:98
old "## These variables control how dialogue is displayed on the screen one line at a time."
new "## These variables control how dialogue is displayed on the screen one line at a time."
new "## Queste variabili controllano come viene mostrato il dialogo a schermo una linea alla volta."
# gui.rpy:101
old "## The height of the textbox containing dialogue."
new "## The height of the textbox containing dialogue."
new "## L'altezza del textbox contenente il dialogo."
# gui.rpy:104
old "## The placement of the textbox vertically on the screen. 0.0 is the top, 0.5 is center, and 1.0 is the bottom."
new "## The placement of the textbox vertically on the screen. 0.0 is the top, 0.5 is center, and 1.0 is the bottom."
new "## La posizione verticale del textbox sullo schermo. 0.0 è in alto, 0.5 è al centro, e 1.0 è in basso."
# gui.rpy:109
old "## The placement of the speaking character's name, relative to the textbox. These can be a whole number of pixels from the left or top, or 0.5 to center."
new "## The placement of the speaking character's name, relative to the textbox. These can be a whole number of pixels from the left or top, or 0.5 to center."
new "## La posizione del nome del personaggio, relativa al textbox. Può essere un numero esatto di pixel da sinistra o da sopra, oppure 0.5 per centrare."
# gui.rpy:114
old "## The horizontal alignment of the character's name. This can be 0.0 for left-aligned, 0.5 for centered, and 1.0 for right-aligned."
new "## The horizontal alignment of the character's name. This can be 0.0 for left-aligned, 0.5 for centered, and 1.0 for right-aligned."
new "## L'allineamento orizzontale del nome del personaggio. Può essere 0.0 per allinearlo a sinistra, 0.5 al centro e 1.0 a destra."
# gui.rpy:118
old "## The width, height, and borders of the box containing the character's name, or None to automatically size it."
new "## The width, height, and borders of the box containing the character's name, or None to automatically size it."
new "## Larghezza, altezza e bordi del riquadro che contiene il nome del personaggio, oppure None per dimensionarlo automaticamente."
# gui.rpy:123
old "## The borders of the box containing the character's name, in left, top, right, bottom order."
new "## The borders of the box containing the character's name, in left, top, right, bottom order."
new "## I bordi del riquadro che contiene il nome del personaggio, in questo ordine: sinistro, superiore, destro, inferiore."
# gui.rpy:127
old "## If True, the background of the namebox will be tiled, if False, the background if the namebox will be scaled."
new "## If True, the background of the namebox will be tiled, if False, the background if the namebox will be scaled."
new "## Se 'True', lo sfondo di namebox sarà tassellato (ripetuto come una piastrella). Se 'False' sarà invece scalato."
# gui.rpy:132
old "## The placement of dialogue relative to the textbox. These can be a whole number of pixels relative to the left or top side of the textbox, or 0.5 to center."
new "## The placement of dialogue relative to the textbox. These can be a whole number of pixels relative to the left or top side of the textbox, or 0.5 to center."
new "## La posizione dei dialoghi, relativa al textbox. Può essere un numero esatto di pixel relativo ai bordi sinistro o superiore del textbox, oppure 0.5 per centrare."
# gui.rpy:138
old "## The maximum width of dialogue text, in pixels."
new "## The maximum width of dialogue text, in pixels."
new "## La larghezza massima del testo di dialogo, in pixel."
# gui.rpy:141
old "## The horizontal alignment of the dialogue text. This can be 0.0 for left-aligned, 0.5 for centered, and 1.0 for right-aligned."
new "## The horizontal alignment of the dialogue text. This can be 0.0 for left-aligned, 0.5 for centered, and 1.0 for right-aligned."
new "## L'allineamento orizzontale del testo di dialogo. Può essere 0.0 per allinearlo a sinistra, 0.5 al centro e 1.0 a destra."
# gui.rpy:146
old "## Buttons"
new "## Buttons"
new "## Pulsanti"
# gui.rpy:148
old "## These variables, along with the image files in gui/button, control aspects of how buttons are displayed."
new "## These variables, along with the image files in gui/button, control aspects of how buttons are displayed."
new "## Queste variabili, assieme alle immagini contenute in gui/button, definiscono l'aspetto dei pulsanti."
# gui.rpy:151
old "## The width and height of a button, in pixels. If None, Ren'Py computes a size."
new "## The width and height of a button, in pixels. If None, Ren'Py computes a size."
new "## Larghezza e altezza di un pulsante, in pixel. Se 'None', Ren'Py calcolerà una dimensione."
# gui.rpy:155
old "## The borders on each side of the button, in left, top, right, bottom order."
new "## The borders on each side of the button, in left, top, right, bottom order."
new "## I bordi su ogni lato del pulsante, nell'ordine: sinistro, superiore, destro, inferiore."
# gui.rpy:158
old "## If True, the background image will be tiled. If False, the background image will be linearly scaled."
new "## If True, the background image will be tiled. If False, the background image will be linearly scaled."
new "## Se 'True', l'immagine di sfondo sarà tassellata. Se 'False', l'immagine di sfondo verrà scalata."
# gui.rpy:162
old "## The font used by the button."
new "## The font used by the button."
new "## Il font usato dal pulsante."
# gui.rpy:165
old "## The size of the text used by the button."
new "## The size of the text used by the button."
new "## La dimensione del testo usato dal pulsante."
# gui.rpy:179
old "## These variables override settings for different kinds of buttons. Please see the gui documentation for the kinds of buttons available, and what each is used for."
new "## These variables override settings for different kinds of buttons. Please see the gui documentation for the kinds of buttons available, and what each is used for."
new "## Queste variabili sovrascrivono le impostazioni per differenti tipi di pulsante. Leggere nella documentazione i tipi di pulsante disponibili, e per cosa viene usato ciascuno."
# gui.rpy:183
old "## These customizations are used by the default interface:"
new "## These customizations are used by the default interface:"
new "## Queste personalizzazioni sono usate dall'interfaccia predefinita:"
# gui.rpy:198
old "## You can also add your own customizations, by adding properly-named variables. For example, you can uncomment the following line to set the width of a navigation button."
new "## You can also add your own customizations, by adding properly-named variables. For example, you can uncomment the following line to set the width of a navigation button."
new "## Puoi aggiungere le tue personalizzazioni, aggiungendo variabili con la giusta nomenclatura. Per esempio, puoi togliere il segno # dalla linea seguente per impostare una larghezza fissa dei pulsanti di navigazione."
# gui.rpy:205
old "## Choice Buttons"
new "## Choice Buttons"
new "## Pulsanti Scelta"
# gui.rpy:207
old "## Choice buttons are used in the in-game menus."
new "## Choice buttons are used in the in-game menus."
new "## I pulsanti di scelta sono usati per i menu interni al gioco."
# gui.rpy:220
old "## File Slot Buttons"
new "## File Slot Buttons"
new "## Pulsanti Slot"
# gui.rpy:222
old "## A file slot button is a special kind of button. It contains a thumbnail image, and text describing the contents of the save slot. A save slot uses image files in gui/button, like the other kinds of buttons."
new "## A file slot button is a special kind of button. It contains a thumbnail image, and text describing the contents of the save slot. A save slot uses image files in gui/button, like the other kinds of buttons."
new "## Un pulsante Slot è un tipo di pulsante speciale. Contiene un'immagine miniatura, e testo che riporta i contenuti dello slot. Uno Slot Save usa immagini presenti in gui/button, come tutti gli altri tipi di pulsante."
# gui.rpy:226
old "## The save slot button."
new "## The save slot button."
new "## Il pulsante slot."
# gui.rpy:234
old "## The width and height of thumbnails used by the save slots."
new "## The width and height of thumbnails used by the save slots."
new "## Larghezza e altezza delle miniature usate dallo slot."
# gui.rpy:238
old "## The number of columns and rows in the grid of save slots."
new "## The number of columns and rows in the grid of save slots."
new "## Numero di colonne e righe della griglia degli slot."
# gui.rpy:243
old "## Positioning and Spacing"
new "## Positioning and Spacing"
new "## Posizioni e Spaziature"
# gui.rpy:245
old "## These variables control the positioning and spacing of various user interface elements."
new "## These variables control the positioning and spacing of various user interface elements."
new "## Queste variabili controllano posizione e spaziatura di vari elementi dell'interfaccia."
# gui.rpy:248
old "## The position of the left side of the navigation buttons, relative to the left side of the screen."
new "## The position of the left side of the navigation buttons, relative to the left side of the screen."
new "## Posizione del lato sinistro dei pulsanti di navigazione, relativa al lato sinistro dello schermo."
# gui.rpy:252
old "## The vertical position of the skip indicator."
new "## The vertical position of the skip indicator."
new "## Posizione verticale dell'indicatore 'SALTO'."
# gui.rpy:255
old "## The vertical position of the notify screen."
new "## The vertical position of the notify screen."
new "## Posizione verticale delle notifiche."
# gui.rpy:258
old "## The spacing between menu choices."
new "## The spacing between menu choices."
new "## Spaziatura fra le scelte."
# gui.rpy:261
old "## Buttons in the navigation section of the main and game menus."
new "## Buttons in the navigation section of the main and game menus."
new "## Pulsanti nella sezione di navigazione dei menu Main e Game."
# gui.rpy:264
old "## Controls the amount of spacing between preferences."
new "## Controls the amount of spacing between preferences."
new "## Controlla l'ammontare di spazio fra le opzioni (preferences)."
# gui.rpy:267
old "## Controls the amount of spacing between preference buttons."
new "## Controls the amount of spacing between preference buttons."
new "## Controlla l'ammontare di spazio fra i pulsanti delle opzioni (preferences)."
# gui.rpy:270
old "## The spacing between file page buttons."
new "## The spacing between file page buttons."
new "## La spaziatura fra i pulsanti delle pagine file."
# gui.rpy:273
old "## The spacing between file slots."
new "## The spacing between file slots."
new "## Spaziatura fra gli slot."
# gui.rpy:277
old "## Frames"
new "## Frames"
new "## Frame"
# gui.rpy:279
old "## These variables control the look of frames that can contain user interface components when an overlay or window is not present."
new "## These variables control the look of frames that can contain user interface components when an overlay or window is not present."
new "## Queste variabili controllano l'aspetto dei frame che possono contenere elementi d'interfaccia quando un livello sostrato (overlay) o una finestra sono assenti."
# gui.rpy:282
old "## Generic frames that are introduced by player code."
new "## Generic frames that are introduced by player code."
new "## Frame generici introdotti dal codice dell'utente."
# gui.rpy:285
old "## The frame that is used as part of the confirm screen."
new "## The frame that is used as part of the confirm screen."
new "## Frame usato come parte del confirm screen."
# gui.rpy:288
old "## The frame that is used as part of the skip screen."
new "## The frame that is used as part of the skip screen."
new "## Frame usato come parte dello skip screen."
# gui.rpy:291
old "## The frame that is used as part of the notify screen."
new "## The frame that is used as part of the notify screen."
new "## Frame usato come parte delle notifiche."
# gui.rpy:294
old "## Should frame backgrounds be tiled?"
new "## Should frame backgrounds be tiled?"
new "## Gli sfondi del frame devono essere tassellati?"
# gui.rpy:298
old "## Bars, Scrollbars, and Sliders"
new "## Bars, Scrollbars, and Sliders"
new "## Barre, Barre Scorrimento e Selettori"
# gui.rpy:300
old "## These control the look and size of bars, scrollbars, and sliders."
new "## These control the look and size of bars, scrollbars, and sliders."
new "## Controllano aspetto e dimensioni di barre e selettori"
# gui.rpy:302
old "## The default GUI only uses sliders and vertical scrollbars. All of the other bars are only used in creator-written code."
new "## The default GUI only uses sliders and vertical scrollbars. All of the other bars are only used in creator-written code."
new "## La GUI predefinita impiega solo selettori, e barre di scorrimento verticali. Tutte le altre barre sono usate solo in codice personalizzato."
# gui.rpy:305
old "## The height of horizontal bars, scrollbars, and sliders. The width of vertical bars, scrollbars, and sliders."
new "## The height of horizontal bars, scrollbars, and sliders. The width of vertical bars, scrollbars, and sliders."
new "## Altezza delle barre orizzontali. Larghezza delle barre verticali."
# gui.rpy:311
old "## True if bar images should be tiled. False if they should be linearly scaled."
new "## True if bar images should be tiled. False if they should be linearly scaled."
new "## 'True' se le immagini devono venire tassellate. 'False' se devono venire scalate."
# gui.rpy:316
old "## Horizontal borders."
new "## Horizontal borders."
new "## Bordi orizzontali."
# gui.rpy:321
old "## Vertical borders."
new "## Vertical borders."
new "## Bordi verticali."
# gui.rpy:326
old "## What to do with unscrollable scrollbars in the gui. \"hide\" hides them, while None shows them."
new "## What to do with unscrollable scrollbars in the gui. \"hide\" hides them, while None shows them."
new "## Cosa fare con barre di scorrimento che non possono scorrere. \"hide\" le nasconde, mentre None le mostra comunque."
# gui.rpy:331
old "## History"
@@ -331,81 +331,105 @@ translate italian strings:
# gui.rpy:333
old "## The history screen displays dialogue that the player has already dismissed."
new "## The history screen displays dialogue that the player has already dismissed."
new "## Lo screen 'History' mostra una cronologia dei dialoghi già letti dal giocatore."
# gui.rpy:335
old "## The number of blocks of dialogue history Ren'Py will keep."
new "## The number of blocks of dialogue history Ren'Py will keep."
new "## Il numero di blocchi di dialogo conservati da Ren'Py nella cronologia."
# gui.rpy:338
old "## The height of a history screen entry, or None to make the height variable at the cost of performance."
new "## The height of a history screen entry, or None to make the height variable at the cost of performance."
new "## L'altezza di un elemento nella schermata di cronologia, oppure None per avere altezze variabili al costo delle prestazioni."
# gui.rpy:342
old "## The position, width, and alignment of the label giving the name of the speaking character."
new "## The position, width, and alignment of the label giving the name of the speaking character."
new "## Posizione, larghezza e allineamento dell'etichetta che equivale al nome del personaggio in causa."
# gui.rpy:349
old "## The position, width, and alignment of the dialogue text."
new "## The position, width, and alignment of the dialogue text."
new "## Posizione, larghezza e allineamento del testo di dialogo."
# gui.rpy:356
old "## NVL-Mode"
new "## NVL-Mode"
new "## Modalità NVL"
# gui.rpy:358
old "## The NVL-mode screen displays the dialogue spoken by NVL-mode characters."
new "## The NVL-mode screen displays the dialogue spoken by NVL-mode characters."
new "## Lo screen NVL mostra il dialogo dei personaggi NVL."
# gui.rpy:360
old "## The borders of the background of the NVL-mode background window."
new "## The borders of the background of the NVL-mode background window."
new "## I bordi della finestra in Modalità NVL."
# gui.rpy:363
old "## The height of an NVL-mode entry. Set this to None to have the entries dynamically adjust height."
new "## The height of an NVL-mode entry. Set this to None to have the entries dynamically adjust height."
new "## L'altezza di un elemento NVL. Impostalo a 'None' e gli elementi stabiliranno un'altezza automatica."
# gui.rpy:367
old "## The spacing between NVL-mode entries when gui.nvl_height is None, and between NVL-mode entries and an NVL-mode menu."
new "## The spacing between NVL-mode entries when gui.nvl_height is None, and between NVL-mode entries and an NVL-mode menu."
new "## La spaziatura fra gli elementi in Modalità NVL, quando gui.nvl_height è None, e fra questi e un menu NVL."
# gui.rpy:384
old "## The position, width, and alignment of nvl_thought text (the text said by the nvl_narrator character.)"
new "## The position, width, and alignment of nvl_thought text (the text said by the nvl_narrator character.)"
new "## La posizione, larghezza e allineamento del testo nvl_thought (il testo del personaggio nvl_narrator.)"
# gui.rpy:391
old "## The position of nvl menu_buttons."
new "## The position of nvl menu_buttons."
new "## La posizione dei menu_buttons in modalità NVL."
# gui.rpy:403
old "## This increases the size of the quick buttons to make them easier to touch on tablets and phones."
new "## This increases the size of the quick buttons to make them easier to touch on tablets and phones."
new "## Questo aumenta la dimensione dei Pulsanti Rapidi per renderli più facili da toccare su tablet e telefoni."
# gui.rpy:409
old "## This changes the size and spacing of various GUI elements to ensure they are easily visible on phones."
new "## This changes the size and spacing of various GUI elements to ensure they are easily visible on phones."
new "## Questo cambia la dimensione e spaziatura di vari elementi della GUI per assicurarsi che siano facilmente visibili su telefono."
# gui.rpy:413
old "## Font sizes."
new "## Font sizes."
new "## Dimensioni font."
# gui.rpy:421
old "## Adjust the location of the textbox."
new "## Adjust the location of the textbox."
new "## Cambia la posizione del textbox."
# gui.rpy:427
old "## Change the size and spacing of items in the game menu."
new "## Change the size and spacing of items in the game menu."
new "## Cambia la dimensione e la spaziatura degli elementi nel menu game."
# gui.rpy:436
old "## File button layout."
new "## File button layout."
new "## Schema pulsanti file."
# gui.rpy:440
old "## NVL-mode."
new "## NVL-mode."
new "## Modalità NVL."
# gui.rpy:456
old "## Quick buttons."
new "## Quick buttons."
new "## Pulsanti Rapidi."
# gui.rpy:17
old "## GUI Configuration Variables"
new "## Variabili di Configurazione GUI"
# gui.rpy:168
old "## The color of button text in various states."
new "## Colore testo nel pulsante, secondo i vari stati."
# gui.rpy:174
old "## The horizontal alignment of the button text. (0.0 is left, 0.5 is center, 1.0 is right)."
new "## L'allineamento orizzontale del testo nel pulsante. (0.1 a sinistra, 0.5 al centro, 1.0 a destra)."
# gui.rpy:395
old "## Localization"
new "## Localizzazione"
# gui.rpy:397
old "## This controls where a line break is permitted. The default is suitable for most languages. A list of available values can be found at https://www.renpy.org/doc/html/style_properties.html#style-property-language"
new "## Questo controlla dove avviene un'interruzione di riga. Il valore predefinito è valido per la maggior parte dei linguaggi. Una lista di valori disponibili si può trovare su:https://www.renpy.org/doc/html/style_properties.html#style-property-language"
# gui.rpy:405
old "## Mobile devices"
new "## Dispositivi mobili"
File diff suppressed because it is too large Load Diff
+48 -44
View File
@@ -3,23 +3,23 @@ translate italian strings:
# options.rpy:1
old "## This file contains options that can be changed to customize your game."
new "## This file contains options that can be changed to customize your game."
new "## Questo file contiene opzioni che possono venire cambiate per personalizzare il gioco."
# options.rpy:4
old "## Lines beginning with two '#' marks are comments, and you shouldn't uncomment them. Lines beginning with a single '#' mark are commented-out code, and you may want to uncomment them when appropriate."
new "## Lines beginning with two '#' marks are comments, and you shouldn't uncomment them. Lines beginning with a single '#' mark are commented-out code, and you may want to uncomment them when appropriate."
new "## Le linee che cominciano con due '#' sono commenti e non dovresti modificarle. Le linee con un solo '#' sono linee di codice opzionali, e potresti volerle modificare se appropriato."
# options.rpy:10
old "## Basics"
new "## Basics"
new "## Fondamentali"
# options.rpy:12
old "## A human-readable name of the game. This is used to set the default window title, and shows up in the interface and error reports."
new "## A human-readable name of the game. This is used to set the default window title, and shows up in the interface and error reports."
new "## Il nome del gioco in forma leggibile. E' usato per il titolo nella finestra e viene impiegato per i resoconti di errore e nell'interfaccia."
# options.rpy:15
old "## The _() surrounding the string marks it as eligible for translation."
new "## The _() surrounding the string marks it as eligible for translation."
new "## La notazione _() che racchiude la stringa la segna come testo traducibile."
# options.rpy:17
old "Ren'Py 7 Default GUI"
@@ -27,95 +27,95 @@ translate italian strings:
# options.rpy:20
old "## Determines if the title given above is shown on the main menu screen. Set this to False to hide the title."
new "## Determines if the title given above is shown on the main menu screen. Set this to False to hide the title."
new "## Determina se il titolo fornito più sopra è mostrato nel main menu. Imposta su 'False' per nascondere il titolo."
# options.rpy:26
old "## The version of the game."
new "## The version of the game."
new "## La versione del gioco."
# options.rpy:31
old "## Text that is placed on the game's about screen. To insert a blank line between paragraphs, write \\n\\n."
new "## Text that is placed on the game's about screen. To insert a blank line between paragraphs, write \\n\\n."
new "## Il testo che compare nello screen About. Per inserire linee vuote fra i paragrafi, scrivi \\n\\n."
# options.rpy:37
old "## A short name for the game used for executables and directories in the built distribution. This must be ASCII-only, and must not contain spaces, colons, or semicolons."
new "## A short name for the game used for executables and directories in the built distribution. This must be ASCII-only, and must not contain spaces, colons, or semicolons."
new "## Un nome abbreviato impiegato dagli eseguibili e dalle cartelle nelle distribuzioni compilate. Deve contenere solo caratteri ASCII e non può contenere spazi, due punti, o punti e virgole."
# options.rpy:44
old "## Sounds and music"
new "## Sounds and music"
new "## Suoni e musica"
# options.rpy:46
old "## These three variables control which mixers are shown to the player by default. Setting one of these to False will hide the appropriate mixer."
new "## These three variables control which mixers are shown to the player by default. Setting one of these to False will hide the appropriate mixer."
new "## Queste tre variabili controllano quali mixer audio sono mostrati al giocatore. Impostare una di esse su 'False' nasconderà il mixer audio relativo."
# options.rpy:55
old "## To allow the user to play a test sound on the sound or voice channel, uncomment a line below and use it to set a sample sound to play."
new "## To allow the user to play a test sound on the sound or voice channel, uncomment a line below and use it to set a sample sound to play."
new "## Per consentire al giocatore di eseguire un test sonoro sui canali Suono o Voce, togli # dalla linea e usala per impostare un suono di esempio."
# options.rpy:62
old "## Uncomment the following line to set an audio file that will be played while the player is at the main menu. This file will continue playing into the game, until it is stopped or another file is played."
new "## Uncomment the following line to set an audio file that will be played while the player is at the main menu. This file will continue playing into the game, until it is stopped or another file is played."
new "## Togli # dalla linea seguente per impostare un file audio che sarà riprodotto durante il main menu. Continuerà a suonare fino a che non verrà interrotto o un altro file audio verrà suonato."
# options.rpy:69
old "## Transitions"
new "## Transitions"
new "## Transizioni"
# options.rpy:71
old "## These variables set transitions that are used when certain events occur. Each variable should be set to a transition, or None to indicate that no transition should be used."
new "## These variables set transitions that are used when certain events occur. Each variable should be set to a transition, or None to indicate that no transition should be used."
new "## Queste variabili impostano le transizioni che sono usate quando avvengono certi eventi. Ogni variabile deve essere impostata su una transizione, o su None per indicare che nessuna transizione deve venire usata."
# options.rpy:75
old "## Entering or exiting the game menu."
new "## Entering or exiting the game menu."
new "## Entrare o uscire dal game menu."
# options.rpy:81
old "## A transition that is used after a game has been loaded."
new "## A transition that is used after a game has been loaded."
new "## Transizione usata dopo che una partita viene caricata."
# options.rpy:86
old "## Used when entering the main menu after the game has ended."
new "## Used when entering the main menu after the game has ended."
new "## Usata quando si torna al main menu dopo che è finita una partita."
# options.rpy:91
old "## A variable to set the transition used when the game starts does not exist. Instead, use a with statement after showing the initial scene."
new "## A variable to set the transition used when the game starts does not exist. Instead, use a with statement after showing the initial scene."
new "## Non esiste una variabile per impostare la transizione da usare quando inizia il gioco. Usa un comando 'with' subito dopo aver mostrato la prima 'scene'."
# options.rpy:96
old "## Window management"
new "## Window management"
new "## Gestione finestra"
# options.rpy:98
old "## This controls when the dialogue window is displayed. If \"show\", it is always displayed. If \"hide\", it is only displayed when dialogue is present. If \"auto\", the window is hidden before scene statements and shown again once dialogue is displayed."
new "## This controls when the dialogue window is displayed. If \"show\", it is always displayed. If \"hide\", it is only displayed when dialogue is present. If \"auto\", the window is hidden before scene statements and shown again once dialogue is displayed."
new "## Controlla come viene mostrata la finestra dei dialoghi. Con \"show\", viene mostrata sempre. Con \"hide\", è mostrata solo quando ci sono linee di dialogo. Con \"auto\", la finestra è nascosta prima di un comando 'scene' e mostrata di nuovo al successivo dialogo."
# options.rpy:103
old "## After the game has started, this can be changed with the \"window show\", \"window hide\", and \"window auto\" statements."
new "## After the game has started, this can be changed with the \"window show\", \"window hide\", and \"window auto\" statements."
new "## Dopo che il gioco ha avuto inizio, questo può essere cambiato coi comandi \"window show\", \"window hide\", and \"window auto\"."
# options.rpy:109
old "## Transitions used to show and hide the dialogue window"
new "## Transitions used to show and hide the dialogue window"
new "## Transizioni usate per mostrare e nascondere la finestra dei dialoghi"
# options.rpy:115
old "## Preference defaults"
new "## Preference defaults"
new "## Opzioni predefinite"
# options.rpy:117
old "## Controls the default text speed. The default, 0, is infinite, while any other number is the number of characters per second to type out."
new "## Controls the default text speed. The default, 0, is infinite, while any other number is the number of characters per second to type out."
new "## Controlla la velocità del testo predefinita. Lo standard, 0, è infinito, mentre qualunque altro numero indica il numero di caratteri al secondo da mostrare."
# options.rpy:123
old "## The default auto-forward delay. Larger numbers lead to longer waits, with 0 to 30 being the valid range."
new "## The default auto-forward delay. Larger numbers lead to longer waits, with 0 to 30 being the valid range."
new "## Il ritardo predefinito dell'avanzamento automatico. Numeri alti portano ad attese più lunghe, con un intervallo valido da 0 a 30."
# options.rpy:129
old "## Save directory"
new "## Save directory"
new "## Percorso Salvataggi"
# options.rpy:131
old "## Controls the platform-specific place Ren'Py will place the save files for this game. The save files will be placed in:"
new "## Controls the platform-specific place Ren'Py will place the save files for this game. The save files will be placed in:"
new "## Controlla dove ren'Py pone i file di salvataggio, secondo la piattaforma. I file possono essere posti in:"
# options.rpy:134
old "## Windows: %APPDATA\\RenPy\\<config.save_directory>"
@@ -131,65 +131,69 @@ translate italian strings:
# options.rpy:140
old "## This generally should not be changed, and if it is, should always be a literal string, not an expression."
new "## This generally should not be changed, and if it is, should always be a literal string, not an expression."
new "## Di solito questo non dovrebbe venire cambiato, ma se lo fosse deve sempre essere una stringa diretta e non un'espressione."
# options.rpy:146
old "## Icon ########################################################################'"
new "## Icon ########################################################################'"
new "## Icona #######################################################################'"
# options.rpy:148
old "## The icon displayed on the taskbar or dock."
new "## The icon displayed on the taskbar or dock."
new "## L'icona mostrata sulla dock o sulla barra applicazioni."
# options.rpy:153
old "## Build configuration"
new "## Build configuration"
new "## Configura Compilazione"
# options.rpy:155
old "## This section controls how Ren'Py turns your project into distribution files."
new "## This section controls how Ren'Py turns your project into distribution files."
new "## Questa sezione controlla come Ren'Py trasforma il tuo progetto in file di distribuzione."
# options.rpy:160
old "## The following functions take file patterns. File patterns are case- insensitive, and matched against the path relative to the base directory, with and without a leading /. If multiple patterns match, the first is used."
new "## The following functions take file patterns. File patterns are case- insensitive, and matched against the path relative to the base directory, with and without a leading /. If multiple patterns match, the first is used."
new "## Le funzioni seguenti richiedono schemi di nome. Questi schemi non differenziano maiuscole e minuscole, e corrispondono al percorso relativo alla cartella base, con e senza un segno / preposto. Se più schemi corrispondono, viene usato il primo."
# options.rpy:165
old "## In a pattern:"
new "## In a pattern:"
new "## In uno schema:"
# options.rpy:167
old "## / is the directory separator."
new "## / is the directory separator."
new "## / è il separatore fra cartelle."
# options.rpy:169
old "## * matches all characters, except the directory separator."
new "## * matches all characters, except the directory separator."
new "## * equivale a qualunque carattere tranne il separatore fra cartelle."
# options.rpy:171
old "## ** matches all characters, including the directory separator."
new "## ** matches all characters, including the directory separator."
new "## ** equivale a qualunque carattere inclusi i separatori fra cartelle."
# options.rpy:173
old "## For example, \"*.txt\" matches txt files in the base directory, \"game/**.ogg\" matches ogg files in the game directory or any of its subdirectories, and \"**.psd\" matches psd files anywhere in the project."
new "## For example, \"*.txt\" matches txt files in the base directory, \"game/**.ogg\" matches ogg files in the game directory or any of its subdirectories, and \"**.psd\" matches psd files anywhere in the project."
new "## Per esempio, \"*.txt\" indica file .txt nella cartella base, \"game/**.ogg\" indica file .ogg nella cartella base o qualunque sua sottocartella, e \"**.psd\" indica file .psd ovunque nel progetto."
# options.rpy:177
old "## Classify files as None to exclude them from the built distributions."
new "## Classify files as None to exclude them from the built distributions."
new "## Classifica file come 'None' per escluderli dalla compilazione."
# options.rpy:185
old "## To archive files, classify them as 'archive'."
new "## To archive files, classify them as 'archive'."
new "## Per archiviare i file, classificali come 'archive'."
# options.rpy:190
old "## Files matching documentation patterns are duplicated in a mac app build, so they appear in both the app and the zip file."
new "## Files matching documentation patterns are duplicated in a mac app build, so they appear in both the app and the zip file."
new "## I file che corrispondono a schemi di documentazione sono duplicati nella compilazione di app Macintosh, quindi appariranno sia nella app che nel file zip."
# options.rpy:196
old "## A Google Play license key is required to download expansion files and perform in-app purchases. It can be found on the \"Services & APIs\" page of the Google Play developer console."
new "## A Google Play license key is required to download expansion files and perform in-app purchases. It can be found on the \"Services & APIs\" page of the Google Play developer console."
new "## Una licenza Google Play è richiesta per scaricare file di espansione ed eseguire acquisti in-app. La Chiave Licenza può essere trovata alla pagina \"Services & APIs\" della console sviluppatori di Google Play."
# options.rpy:203
old "## The username and project name associated with an itch.io project, separated by a slash."
new "## The username and project name associated with an itch.io project, separated by a slash."
new "## L'username e project name associati a un progetto itch.io, separati da una slash."
# options.rpy:146
old "## Icon"
new "## Icona"
+139 -103
View File
@@ -3,11 +3,11 @@ translate italian strings:
# screens.rpy:9
old "## Styles"
new "## Styles"
new "## Stili"
# screens.rpy:87
old "## In-game screens"
new "## In-game screens"
new "## Schermi interni al gioco"
# screens.rpy:91
old "## Say screen"
@@ -15,11 +15,11 @@ translate italian strings:
# screens.rpy:93
old "## The say screen is used to display dialogue to the player. It takes two parameters, who and what, which are the name of the speaking character and the text to be displayed, respectively. (The who parameter can be None if no name is given.)"
new "## The say screen is used to display dialogue to the player. It takes two parameters, who and what, which are the name of the speaking character and the text to be displayed, respectively. (The who parameter can be None if no name is given.)"
new "## Il say screen è usato per mostrare dialoghi al giocatore. Richiede due parametri, who e what, che sono il nome del personaggio che parla e il testo da mostrare. (Il parametro who può essere None se non si intende fornire un nome)"
# screens.rpy:98
old "## This screen must create a text displayable with id \"what\", as Ren'Py uses this to manage text display. It can also create displayables with id \"who\" and id \"window\" to apply style properties."
new "## This screen must create a text displayable with id \"what\", as Ren'Py uses this to manage text display. It can also create displayables with id \"who\" and id \"window\" to apply style properties."
new "## Questo schermo crea un displayable di testo con id \"what\", che Ren'py usa per gestire la visualizzazione del testo. Può creare anche displayable con id \"who\" e id \"window\" per applicarvi proprietà di stile."
# screens.rpy:102
old "## https://www.renpy.org/doc/html/screen_special.html#say"
@@ -31,11 +31,11 @@ translate italian strings:
# screens.rpy:171
old "## This screen is used to display renpy.input. The prompt parameter is used to pass a text prompt in."
new "## This screen is used to display renpy.input. The prompt parameter is used to pass a text prompt in."
new "## Questo schermo si usa per mostrare renpy.input. Il parametro prompt è usato per fornire un prompt testuale."
# screens.rpy:174
old "## This screen must create an input displayable with id \"input\" to accept the various input parameters."
new "## This screen must create an input displayable with id \"input\" to accept the various input parameters."
new "## Questo schermo deve creare un input displayable con id \"input\" per accettare i vari parametri dell'input."
# screens.rpy:177
old "## http://www.renpy.org/doc/html/screen_special.html#input"
@@ -47,7 +47,7 @@ translate italian strings:
# screens.rpy:207
old "## This screen is used to display the in-game choices presented by the menu statement. The one parameter, items, is a list of objects, each with caption and action fields."
new "## This screen is used to display the in-game choices presented by the menu statement. The one parameter, items, is a list of objects, each with caption and action fields."
new "## Questo screen è usato per mostrare le scelte nel gioco, offerte dal comando 'menu'. Il solo parametro, 'items', è una lista di oggetti, ciascuna coi campi 'caption' e 'action'."
# screens.rpy:211
old "## http://www.renpy.org/doc/html/screen_special.html#choice"
@@ -55,7 +55,7 @@ translate italian strings:
# screens.rpy:221
old "## When this is true, menu captions will be spoken by the narrator. When false, menu captions will be displayed as empty buttons."
new "## When this is true, menu captions will be spoken by the narrator. When false, menu captions will be displayed as empty buttons."
new "## Quando impostato su 'True', le didascalie del menu saranno dette dal narratore. Quando falso, le didascalie saranno mostrate come pulsanti inattivi."
# screens.rpy:244
old "## Quick Menu screen"
@@ -63,7 +63,7 @@ translate italian strings:
# screens.rpy:246
old "## The quick menu is displayed in-game to provide easy access to the out-of-game menus."
new "## The quick menu is displayed in-game to provide easy access to the out-of-game menus."
new "## Il Quick Menu è mostrato durante il gioco per fornire accesso rapido ai menu esterni."
# screens.rpy:261
old "Back"
@@ -71,11 +71,11 @@ translate italian strings:
# screens.rpy:262
old "History"
new "History"
new "Cronologia"
# screens.rpy:263
old "Skip"
new "Salva"
new "Salta"
# screens.rpy:264
old "Auto"
@@ -95,11 +95,11 @@ translate italian strings:
# screens.rpy:268
old "Prefs"
new "Preferenze"
new "Opzioni"
# screens.rpy:271
old "## This code ensures that the quick_menu screen is displayed in-game, whenever the player has not explicitly hidden the interface."
new "## This code ensures that the quick_menu screen is displayed in-game, whenever the player has not explicitly hidden the interface."
new "## Questo codice assicura che il quick menu sia mostrato nel gioco, a meno che il giocatore non nasconda esplicitamente l'interfaccia."
# screens.rpy:291
old "## Navigation screen"
@@ -107,27 +107,27 @@ translate italian strings:
# screens.rpy:293
old "## This screen is included in the main and game menus, and provides navigation to other menus, and to start the game."
new "## This screen is included in the main and game menus, and provides navigation to other menus, and to start the game."
new "## Questo screen è incluso nel main menu e nel game menu, e consente di navigare verso altri menu o di iniziare il gioco."
# screens.rpy:308
old "Start"
new "Start"
new "Inizia"
# screens.rpy:316
old "Load"
new "Load"
new "Carica"
# screens.rpy:318
old "Preferences"
new "Preferenze"
new "Opzioni"
# screens.rpy:322
old "End Replay"
new "End Replay"
new "Fine Replay"
# screens.rpy:326
old "Main Menu"
new "Menù Principale"
new "Menu Principale"
# screens.rpy:328
old "About"
@@ -135,7 +135,7 @@ translate italian strings:
# screens.rpy:332
old "## Help isn't necessary or relevant to mobile devices."
new "## Help isn't necessary or relevant to mobile devices."
new "## L'Aiuto non è necessario nei dispositivi mobili."
# screens.rpy:333
old "Help"
@@ -143,7 +143,7 @@ translate italian strings:
# screens.rpy:335
old "## The quit button is banned on iOS and unnecessary on Android."
new "## The quit button is banned on iOS and unnecessary on Android."
new "## Il pulsante Esci è vietato in iOS e inutile su Android."
# screens.rpy:336
old "Quit"
@@ -155,7 +155,7 @@ translate italian strings:
# screens.rpy:352
old "## Used to display the main menu when Ren'Py starts."
new "## Used to display the main menu when Ren'Py starts."
new "## Usato per mostrare il main menu quando si avvia Ren'Py."
# screens.rpy:354
old "## http://www.renpy.org/doc/html/screen_special.html#main-menu"
@@ -163,7 +163,7 @@ translate italian strings:
# screens.rpy:369
old "## The use statement includes another screen inside this one. The actual contents of the main menu are in the navigation screen."
new "## The use statement includes another screen inside this one. The actual contents of the main menu are in the navigation screen."
new "## Il comando 'use' include un'altro schermo all'interno di questo. I reali contenuti del main menu sono nel navigation screen."
# screens.rpy:413
old "## Game Menu screen"
@@ -171,15 +171,15 @@ translate italian strings:
# screens.rpy:415
old "## This lays out the basic common structure of a game menu screen. It's called with the screen title, and displays the background, title, and navigation."
new "## This lays out the basic common structure of a game menu screen. It's called with the screen title, and displays the background, title, and navigation."
new "## Costruisce la struttura comune di tutti gli screen game menu. Viene avviato nella schermata del titolo, e mostra lo sfondo, il titolo e la navigazione."
# screens.rpy:418
old "## The scroll parameter can be None, or one of \"viewport\" or \"vpgrid\". When this screen is intended to be used with one or more children, which are transcluded (placed) inside it."
new "## The scroll parameter can be None, or one of \"viewport\" or \"vpgrid\". When this screen is intended to be used with one or more children, which are transcluded (placed) inside it."
new "## Il parametro 'scroll' può essere None, oppure uno fra \"viewport\" o \"vpgrid\". Questo screen è creato per essere usato con uno o più figli, che sono trasclusi (piazzati) dentro di esso."
# screens.rpy:476
old "Return"
new "Ritorna"
new "Indietro"
# screens.rpy:539
old "## About screen"
@@ -187,31 +187,31 @@ translate italian strings:
# screens.rpy:541
old "## This screen gives credit and copyright information about the game and Ren'Py."
new "## This screen gives credit and copyright information about the game and Ren'Py."
new "## Questo screen fornisce i crediti e le informazioni di copyright sul gioco e su Ren'Py."
# screens.rpy:544
old "## There's nothing special about this screen, and hence it also serves as an example of how to make a custom screen."
new "## There's nothing special about this screen, and hence it also serves as an example of how to make a custom screen."
new "## Non c'è niente di speciale in questo screen, pertanto può servire come esempio su come si crea uno screen personalizzato."
# screens.rpy:551
old "## This use statement includes the game_menu screen inside this one. The vbox child is then included inside the viewport inside the game_menu screen."
new "## This use statement includes the game_menu screen inside this one. The vbox child is then included inside the viewport inside the game_menu screen."
new "## Questo comando 'use' include lo screen game_menu dentro questo screen. Il figlio di vbox è quindi incluso nel viewport all'interno dello screen game_menu. \n## ===PER NEOFITI===: in pratica viene prima chiamato il game menu che stabilisce spaziature, sfondo, titoli e una viewport. Questo screen chiama e mostra il navigation screen a sinistra, che a sua volta determina quale screen (opzioni, slot, aiuto...) mostrare nella viewport a destra."
# screens.rpy:561
old "Version [config.version!t]\n"
new "Version [config.version!t]\n"
new "Versione [config.version!t]\n"
# screens.rpy:563
old "## gui.about is usually set in options.rpy."
new "## gui.about is usually set in options.rpy."
new "## gui.about viene di solito impostato in options.rpy."
# screens.rpy:567
old "Made with {a=https://www.renpy.org/}Ren'Py{/a} [renpy.version_only].\n\n[renpy.license!t]"
new "Made with {a=https://www.renpy.org/}Ren'Py{/a} [renpy.version_only].\n\n[renpy.license!t]"
new "Creato con {a=https://www.renpy.org/}Ren'Py{/a} [renpy.version_only].\n\n[renpy.license!t]"
# screens.rpy:570
old "## This is redefined in options.rpy to add text to the about screen."
new "## This is redefined in options.rpy to add text to the about screen."
new "## Viene ridefinito in options.rpy per aggiungere testo a questo screen."
# screens.rpy:582
old "## Load and Save screens"
@@ -219,7 +219,7 @@ translate italian strings:
# screens.rpy:584
old "## These screens are responsible for letting the player save the game and load it again. Since they share nearly everything in common, both are implemented in terms of a third screen, file_slots."
new "## These screens are responsible for letting the player save the game and load it again. Since they share nearly everything in common, both are implemented in terms of a third screen, file_slots."
new "## Questi screen sono responsabili per la possibilità di salvare il gioco e caricarlo di nuovo. Dato che condividono praticamente tutto, entrambi sono implementati in relazione a un terzo screen, file_slot."
# screens.rpy:588
old "## https://www.renpy.org/doc/html/screen_special.html#save https://www.renpy.org/doc/html/screen_special.html#load"
@@ -227,23 +227,23 @@ translate italian strings:
# screens.rpy:607
old "Page {}"
new "Page {}"
new "Pagina {}"
# screens.rpy:607
old "Automatic saves"
new "Automatic saves"
new "Salvataggi automatici"
# screens.rpy:607
old "Quick saves"
new "Quick saves"
new "Salvataggi rapidi"
# screens.rpy:613
old "## This ensures the input will get the enter event before any of the buttons do."
new "## This ensures the input will get the enter event before any of the buttons do."
new "## Questo garantisce che l'input riceva un'eventuale pressione di Invio prima che accada ad altri pulsanti."
# screens.rpy:629
old "## The grid of file slots."
new "## The grid of file slots."
new "## La griglia di slot."
# screens.rpy:649
old "{#file_time}%A, %B %d %Y, %H:%M"
@@ -251,11 +251,11 @@ translate italian strings:
# screens.rpy:649
old "empty slot"
new "empty slot"
new "Spazio Vuoto"
# screens.rpy:657
old "## Buttons to access other pages."
new "## Buttons to access other pages."
new "## Pulsanti per accedere ad altre pagine."
# screens.rpy:666
old "<"
@@ -267,7 +267,7 @@ translate italian strings:
# screens.rpy:670
old "{#quick_page}Q"
new "{#quick_page}Q"
new "{#quick_page}R"
# screens.rpy:676
old ">"
@@ -279,7 +279,7 @@ translate italian strings:
# screens.rpy:713
old "## The preferences screen allows the player to configure the game to better suit themselves."
new "## The preferences screen allows the player to configure the game to better suit themselves."
new "## Lo screen preferences (Opzioni) consente al giocatore di configurare il gioco per un'esperienza più affine ai suoi gusti."
# screens.rpy:716
old "## https://www.renpy.org/doc/html/screen_special.html#preferences"
@@ -299,23 +299,23 @@ translate italian strings:
# screens.rpy:744
old "Rollback Side"
new "Rollback Side"
new "Lato Riavvolgimento"
# screens.rpy:745
old "Disable"
new "Disable"
new "Disattiva"
# screens.rpy:746
old "Left"
new "Left"
new "Sinistra"
# screens.rpy:747
old "Right"
new "Right"
new "Destra"
# screens.rpy:752
old "Unseen Text"
new "Unseen Text"
new "Testo non letto"
# screens.rpy:753
old "After Choices"
@@ -327,15 +327,15 @@ translate italian strings:
# screens.rpy:756
old "## Additional vboxes of type \"radio_pref\" or \"check_pref\" can be added here, to add additional creator-defined preferences."
new "## Additional vboxes of type \"radio_pref\" or \"check_pref\" can be added here, to add additional creator-defined preferences."
new "## Vbox addizionali del tipo \"radio_pref\" o \"check_pref\" possono venire aggiunti qui, per offrire ulteriori opzioni al giocatore."
# screens.rpy:767
old "Text Speed"
new "Velocità del Testo"
new "Velocità Testo"
# screens.rpy:771
old "Auto-Forward Time"
new "Avanza automaticamente"
new "Avanzamento automatico"
# screens.rpy:778
old "Music Volume"
@@ -343,7 +343,7 @@ translate italian strings:
# screens.rpy:785
old "Sound Volume"
new "Volume Suono"
new "Volume Suoni"
# screens.rpy:791
old "Test"
@@ -355,7 +355,7 @@ translate italian strings:
# screens.rpy:806
old "Mute All"
new "Mute All"
new "Silenzio"
# screens.rpy:882
old "## History screen"
@@ -363,7 +363,7 @@ translate italian strings:
# screens.rpy:884
old "## This is a screen that displays the dialogue history to the player. While there isn't anything special about this screen, it does have to access the dialogue history stored in _history_list."
new "## This is a screen that displays the dialogue history to the player. While there isn't anything special about this screen, it does have to access the dialogue history stored in _history_list."
new "## Questo è uno screen che mostra una cronologia dei dialoghi al giocatore. Benché non vi sia niente di speciale in questo screen, deve accedere alla cronologia contenuta in _history_list."
# screens.rpy:888
old "## https://www.renpy.org/doc/html/history.html"
@@ -371,19 +371,19 @@ translate italian strings:
# screens.rpy:894
old "## Avoid predicting this screen, as it can be very large."
new "## Avoid predicting this screen, as it can be very large."
new "## Evita di predirre questo screen, perché può essere molto grande."
# screens.rpy:905
old "## This lays things out properly if history_height is None."
new "## This lays things out properly if history_height is None."
new "## Questo dispone le cose appropriatamente, se history_height è None."
# screens.rpy:914
old "## Take the color of the who text from the Character, if set."
new "## Take the color of the who text from the Character, if set."
new "## Prende il colore dal nome del personaggio, se impostato."
# screens.rpy:921
old "The dialogue history is empty."
new "The dialogue history is empty."
new "Nessun dialogo da mostrare."
# screens.rpy:965
old "## Help screen"
@@ -391,11 +391,11 @@ translate italian strings:
# screens.rpy:967
old "## A screen that gives information about key and mouse bindings. It uses other screens (keyboard_help, mouse_help, and gamepad_help) to display the actual help."
new "## A screen that gives information about key and mouse bindings. It uses other screens (keyboard_help, mouse_help, and gamepad_help) to display the actual help."
new "## Uno screen che offre informazioni sulle impostazioni di tastiera e mouse. Usa altri screen (keyboard_help, mouse_help, e gamepad_help) per mostrare l'effettivo contenuto."
# screens.rpy:986
old "Keyboard"
new "Keyboard"
new "Tastiera"
# screens.rpy:987
old "Mouse"
@@ -407,35 +407,35 @@ translate italian strings:
# screens.rpy:1003
old "Enter"
new "Enter"
new "Invio"
# screens.rpy:1004
old "Advances dialogue and activates the interface."
new "Advances dialogue and activates the interface."
new "Avanza nei dialoghi e conferma scelta."
# screens.rpy:1007
old "Space"
new "Space"
new "Spazio"
# screens.rpy:1008
old "Advances dialogue without selecting choices."
new "Advances dialogue without selecting choices."
new "Avanza nei dialoghi senza eseguire scelte."
# screens.rpy:1011
old "Arrow Keys"
new "Arrow Keys"
new "Tasti Freccia"
# screens.rpy:1012
old "Navigate the interface."
new "Navigate the interface."
new "Naviga nell'interfaccia."
# screens.rpy:1015
old "Escape"
new "Escape"
new "Esc"
# screens.rpy:1016
old "Accesses the game menu."
new "Accesses the game menu."
new "Accedi al menu di gioco."
# screens.rpy:1019
old "Ctrl"
@@ -443,7 +443,7 @@ translate italian strings:
# screens.rpy:1020
old "Skips dialogue while held down."
new "Skips dialogue while held down."
new "Tieni premuto per saltare i dialoghi."
# screens.rpy:1023
old "Tab"
@@ -451,7 +451,7 @@ translate italian strings:
# screens.rpy:1024
old "Toggles dialogue skipping."
new "Toggles dialogue skipping."
new "Attiva/Disattiva salto dei dialoghi."
# screens.rpy:1027
old "Page Up"
@@ -459,7 +459,7 @@ translate italian strings:
# screens.rpy:1028
old "Rolls back to earlier dialogue."
new "Rolls back to earlier dialogue."
new "Torna indietro al dialogo precedente."
# screens.rpy:1031
old "Page Down"
@@ -467,59 +467,59 @@ translate italian strings:
# screens.rpy:1032
old "Rolls forward to later dialogue."
new "Rolls forward to later dialogue."
new "Procedi fino all'ultimo dialogo letto."
# screens.rpy:1036
old "Hides the user interface."
new "Hides the user interface."
new "Nascondi l'interfaccia."
# screens.rpy:1040
old "Takes a screenshot."
new "Takes a screenshot."
new "Cattura la schermata."
# screens.rpy:1044
old "Toggles assistive {a=https://www.renpy.org/l/voicing}self-voicing{/a}."
new "Toggles assistive {a=https://www.renpy.org/l/voicing}self-voicing{/a}."
new "Attiva l'{a=https://www.renpy.org/l/voicing}Assistente Vocale{/a}."
# screens.rpy:1050
old "Left Click"
new "Left Click"
new "Click Sinistro"
# screens.rpy:1054
old "Middle Click"
new "Middle Click"
new "Click Centrale"
# screens.rpy:1058
old "Right Click"
new "Right Click"
new "Click Destro"
# screens.rpy:1062
old "Mouse Wheel Up\nClick Rollback Side"
new "Mouse Wheel Up\nClick Rollback Side"
new "Rotella Su\nClicca il Lato Riavvolgimento"
# screens.rpy:1066
old "Mouse Wheel Down"
new "Mouse Wheel Down"
new "Rotella Giu"
# screens.rpy:1073
old "Right Trigger\nA/Bottom Button"
new "Right Trigger\nA/Bottom Button"
new "Grilletto Destro\nPulsante A/Inferiore"
# screens.rpy:1074
old "Advance dialogue and activates the interface."
new "Advance dialogue and activates the interface."
new "Avanza nei dialoghi e conferma opzioni."
# screens.rpy:1078
old "Roll back to earlier dialogue."
new "Roll back to earlier dialogue."
new "Torna al dialogo precedente."
# screens.rpy:1081
old "Right Shoulder"
new "Right Shoulder"
new "Laterale Destro"
# screens.rpy:1082
old "Roll forward to later dialogue."
new "Roll forward to later dialogue."
new "Torna all'ultimo dialogo letto."
# screens.rpy:1085
old "D-Pad, Sticks"
@@ -531,19 +531,19 @@ translate italian strings:
# screens.rpy:1090
old "Access the game menu."
new "Access the game menu."
new "Accedi al menu di gioco."
# screens.rpy:1093
old "Y/Top Button"
new "Y/Top Button"
new "Y/Pulsante superiore"
# screens.rpy:1096
old "Calibrate"
new "Calibrate"
new "Calibra"
# screens.rpy:1124
old "## Additional screens"
new "## Additional screens"
new "## Screen addizionali"
# screens.rpy:1128
old "## Confirm screen"
@@ -551,7 +551,7 @@ translate italian strings:
# screens.rpy:1130
old "## The confirm screen is called when Ren'Py wants to ask the player a yes or no question."
new "## The confirm screen is called when Ren'Py wants to ask the player a yes or no question."
new "## Lo screen confirm è usato quando Ren'Py vuole porre una domanda 'sì o no?' al giocatore."
# screens.rpy:1133
old "## http://www.renpy.org/doc/html/screen_special.html#confirm"
@@ -559,11 +559,11 @@ translate italian strings:
# screens.rpy:1137
old "## Ensure other screens do not get input while this screen is displayed."
new "## Ensure other screens do not get input while this screen is displayed."
new "## Garantisce che gli altri screen non ricevano input fino a che questo screen è attivo."
# screens.rpy:1161
old "Yes"
new "Si"
new "Sì"
# screens.rpy:1162
old "No"
@@ -571,7 +571,7 @@ translate italian strings:
# screens.rpy:1164
old "## Right-click and escape answer \"no\"."
new "## Right-click and escape answer \"no\"."
new "## Click destro ed ESC rispondono \"no\"."
# screens.rpy:1191
old "## Skip indicator screen"
@@ -579,7 +579,7 @@ translate italian strings:
# screens.rpy:1193
old "## The skip_indicator screen is displayed to indicate that skipping is in progress."
new "## The skip_indicator screen is displayed to indicate that skipping is in progress."
new "## Lo screen skip_indicator è impiegato per indicare che è in corso la modalità salto."
# screens.rpy:1196
old "## https://www.renpy.org/doc/html/screen_special.html#skip-indicator"
@@ -587,11 +587,11 @@ translate italian strings:
# screens.rpy:1208
old "Skipping"
new "Skipping"
new "Salto"
# screens.rpy:1215
old "## This transform is used to blink the arrows one after another."
new "## This transform is used to blink the arrows one after another."
new "## Questa transform è usata per far lampeggiare le freccie una dopo l'altra."
# screens.rpy:1247
old "## Notify screen"
@@ -599,7 +599,7 @@ translate italian strings:
# screens.rpy:1249
old "## The notify screen is used to show the player a message. (For example, when the game is quicksaved or a screenshot has been taken.)"
new "## The notify screen is used to show the player a message. (For example, when the game is quicksaved or a screenshot has been taken.)"
new "## Lo screen notify è usato per mostrare una notifica al giocatore (per esempio, quando si salva rapidamente o si cattura una schermata)."
# screens.rpy:1252
old "## https://www.renpy.org/doc/html/screen_special.html#notify-screen"
@@ -611,7 +611,7 @@ translate italian strings:
# screens.rpy:1288
old "## This screen is used for NVL-mode dialogue and menus."
new "## This screen is used for NVL-mode dialogue and menus."
new "## Questo screen è usato per dialoghi e menu in modalità NVL."
# screens.rpy:1290
old "## http://www.renpy.org/doc/html/screen_special.html#nvl"
@@ -619,25 +619,61 @@ translate italian strings:
# screens.rpy:1301
old "## Displays dialogue in either a vpgrid or the vbox."
new "## Displays dialogue in either a vpgrid or the vbox."
new "## Mostra il dialogo in una vpgrid o in una vbox."
# screens.rpy:1314
old "## Displays the menu, if given. The menu may be displayed incorrectly if config.narrator_menu is set to True, as it is above."
new "## Displays the menu, if given. The menu may be displayed incorrectly if config.narrator_menu is set to True, as it is above."
new "## Mostra il menu, se fornito. Il menu può apparire distorto se config.narrator_menu è impostato a True, come lo è sopra."
# screens.rpy:1344
old "## This controls the maximum number of NVL-mode entries that can be displayed at once."
new "## This controls the maximum number of NVL-mode entries that can be displayed at once."
new "## Questo controlla il numero massimo di elementi NVL che possono venire mostrati all'unisono."
# screens.rpy:1406
old "## Mobile Variants"
new "## Mobile Variants"
new "## Varianti Mobilità"
# screens.rpy:1413
old "## Since a mouse may not be present, we replace the quick menu with a version that uses fewer and bigger buttons that are easier to touch."
new "## Since a mouse may not be present, we replace the quick menu with a version that uses fewer and bigger buttons that are easier to touch."
new "## Dato che un mouse non è presente, rimpiazziamo il quick menu con una versione che usa meno pulsanti e più grandi, più facili da toccare."
# screens.rpy:1429
old "Menu"
new "Menu"
# screens.rpy:120
old "## If there's a side image, display it above the text. Do not display on the phone variant - there's no room."
new "## Se c'è una side image, mostrala sopra al testo. Non mostrarla nella variante 'phone' - non c'è posto."
# screens.rpy:252
old "## Ensure this appears on top of other screens."
new "## Assicura che compaia in cima ad altri screen."
# screens.rpy:291
old "## Main and Game Menu Screens"
new "## Main Menu e Game Menu"
# screens.rpy:361
old "## This ensures that any other menu screen is replaced."
new "## Questo assicura che ogni altro menu sia rimpiazzato."
# screens.rpy:368
old "## This empty frame darkens the main menu."
new "## Questo frame vuoto oscura il main menu."
# screens.rpy:439
old "## Reserve space for the navigation section."
new "## Riserva spazio per la sezione di navigazione."
# screens.rpy:619
old "## The page name, which can be edited by clicking on a button."
new "## Il nome della pagina, che può essere cambiato cliccando su un pulsante."
# screens.rpy:674
old "## range(1, 10) gives the numbers from 1 to 9."
new "## range(1, 10) fornisce i numeri da 1 a 9."
# screens.rpy:1079
old "Left Trigger\nLeft Shoulder"
new "Grilletto Sinistro\nLaterale Sinistro"
+27 -9
View File
@@ -1,18 +1,36 @@
# Puoi inserire lo script (sceneggiatura) del tuo gioco in questo file.
# Lo script di gioco va in questo file.
# Declare images below this line, using the image statement.
# Dichiare le immagini sotto questa line usando il comando "image", esempio:
# image eileen happy = "eileen_happy.png"
# Dichiara i personaggi usati in questo gioco. L'argomento 'color' colora il nome del personaggio.
# Dichiara i personaggi usati in questo gioco
define e = Character('Eileen', color="#c8ffc8")
define e = Character("Eileen", color="#f44")
# Inizio del gioco
# Il gioco comincia qui.
label start:
e "Hai creato un nuovo gioco di Ren'Py."
# Mostra uno sfondo. Al momento mostra una sagoma generica, ma puoi
# aggiungere un file (chiamato "bg room.png" oppure "bg room.jpg")
# alla directory 'images' per cambiarla.
e "Ed appena avrai aggiunto storia, immagini e musica potrai mostrarlo a tutto il mondo!"
scene bg room
# Mostra lo sprite di un personaggio.
# Al momento mostra una sagoma generica, ma puoi aggiungere un file
# (chiamato "eileen_happy.png") alla directory 'images' per cambiarla.
show eileen happy
# Questo mostra linee di dialogo.
"Funziona davvero!"
e "Hai creato un nuovo gioco Ren'py."
e "Quando aggiungerai una storia, immagini e musica, potrai distribuirlo nel mondo!"
# Questo finisce il gioco.
return
+106
View File
@@ -333,3 +333,109 @@ translate japanese strings:
old "return"
new "戻る"
translate japanese strings:
# 00director.rpy:689
old "The interactive director is not enabled here."
new "ここではインタラクティブディレクターは使えません"
# 00director.rpy:1461
old "Done"
new "終了"
# 00director.rpy:1469
old "(statement)"
new "(statement)"
# 00director.rpy:1470
old "(tag)"
new "(tag)"
# 00director.rpy:1471
old "(attributes)"
new "(attributes)"
# 00director.rpy:1472
old "(transform)"
new "(transform)"
# 00director.rpy:1497
old "(transition)"
new "(transition)"
# 00director.rpy:1509
old "(channel)"
new "(channel)"
# 00director.rpy:1510
old "(filename)"
new "(filename)"
# 00director.rpy:1535
old "Change"
new "変更"
# 00director.rpy:1537
old "Add"
new "追加"
# 00director.rpy:1543
old "Remove"
new "削除"
# 00director.rpy:1576
old "Statement:"
new "Statement(命令):"
# 00director.rpy:1597
old "Tag:"
new "Tag(タグ):"
# 00director.rpy:1613
old "Attributes:"
new "Attributes(属性):"
# 00director.rpy:1631
old "Transforms:"
new "Transforms(画像変形):"
# 00director.rpy:1650
old "Behind:"
new "Behind(裏に表示):"
# 00director.rpy:1669
old "Transition:"
new "Transition(遷移演出):"
# 00director.rpy:1687
old "Channel:"
new "キャンセル"
# 00director.rpy:1705
old "Audio Filename:"
new "オーディオファイルネーム:"
# _developer\developer.rpym:43
old "Interactive Director (D)"
new "インタラクティブディレクター(D)"
translate japanese strings:
# 00keymap.rpy:254
old "Failed to save screenshot as %s."
new "ファイル名 %s のスクリーンショットの保存に失敗しました。"
# _developer\developer.rpym:67
old "Show Texture Size"
new "テクスチャーサイズの表示"
# _developer\developer.rpym:70
old "Hide Texture size"
new "テクスチャーサイズの非表示"
# _developer\developer.rpym:569
old "{size_mb:,.1f} MB in {count} textures."
new "{size_mb:,.1f} MB in {count} textures."
+30
View File
@@ -177,3 +177,33 @@ translate japanese strings:
old "Copies the errors.txt file to the clipboard."
new "errors.txt をクリップボードにコピーします。"
translate japanese strings:
# _errorhandling.rpym:519
old "Open"
new "開く"
# _errorhandling.rpym:523
old "Copy"
new "コピー"
# _errorhandling.rpym:581
old "Ignores the exception, allowing you to continue."
new "例外を無視し、プログラムの続行を許可します。"
# _errorhandling.rpym:592
old "Console"
new "コンソール"
# _errorhandling.rpym:594
old "Opens a console to allow debugging the problem."
new "コンソールを開き、問題をデバッグします。"
translate japanese strings:
# 00gltest.rpy:89
old "NPOT"
new "NPOT"
+36 -6
View File
@@ -16,7 +16,7 @@ translate japanese strings:
# gui.rpy:17
old "## GUI Configuration Variables"
new "## GUI 設定変数"
# gui.rpy:21
old "## Colors"
new "## カラー"
@@ -107,7 +107,7 @@ translate japanese strings:
# gui.rpy:92
old "## Should we show the name and version of the game?"
new "## メインメニューにゲームタイトルとそのバージョンを表示するかどうか。True なら表示します。(この変数は options.rpy で再定義されるため、options.rpy の同じコードを消去しないと反映されません)"
new "## メインメニューにゲームタイトルとそのバージョンを表示するかどうか。True なら表示します。(この変数は options.rpy で再定義されるため、options.rpy の同じを消去しないと反映されません)"
# gui.rpy:96
old "## Dialogue"
@@ -188,11 +188,11 @@ translate japanese strings:
# gui.rpy:168
old "## The color of button text in various states."
new "## 状態別のボタンのテキストのカラー。idle は選択可能、hover はフォーカス中、selected は選択中、insensitive は選択不可能な状態です。"
# gui.rpy:174
old "## The horizontal alignment of the button text. (0.0 is left, 0.5 is center, 1.0 is right)."
new "## ボタンのフレームに対する、テキストの文字揃え。 0.0 は左揃え、0.5 は中央揃え、 1.0 は右揃えになります。"
# gui.rpy:179
old "## These variables override settings for different kinds of buttons. Please see the gui documentation for the kinds of buttons available, and what each is used for."
new "## 以下の変数は、様々なボタンの種類ごとにボタンの基本設定を上書きします。詳細は gui ドキュメンテーションを参考にしてください。"
@@ -276,7 +276,7 @@ radio と check は環境設定の各項目のボタン(デフォルトでは
# gui.rpy:273
old "## The spacing between file slots."
new "## セーブ・ロード画面の file slot(ファイルスロット)ボタン間隔。."
new "## セーブ・ロード画面の file slot(ファイルスロット)ボタン間隔。"
# gui.rpy:277
old "## Frames"
@@ -381,7 +381,7 @@ radio と check は環境設定の各項目のボタン(デフォルトでは
# gui.rpy:367
old "## The spacing between NVL-mode entries when gui.nvl_height is None, and between NVL-mode entries and an NVL-mode menu."
new "## NVL モードにおいて、gui.nvl_height を None に設定した場合の各エントリーの間隔。また、台詞と選択肢との間隔にも使われます。"
# gui.rpy:384
old "## The position, width, and alignment of nvl_thought text (the text said by the nvl_narrator character.)"
new "## nvl_thought(モノローグ)の縦座標・横座標・横幅・文字揃え。"
@@ -434,3 +434,33 @@ radio と check は環境設定の各項目のボタン(デフォルトでは
old "## This controls where a line break is permitted. The default is suitable for most languages. A list of available values can be found at https://www.renpy.org/doc/html/style_properties.html#style-property-language"
new "## 次の変数は改行・禁則処理を制御します。デフォルトの値が推奨です。他の値は https://www.renpy.org/doc/html/style_properties.html#style-property-language を参照してください。"
# gui.rpy:276
old "## The position of the main menu text."
new "## メインメニューのテキストの文字揃え。"
translate japanese strings:
# gui.rpy:434
old "## Change the size and spacing of various things."
new "## 様々なサイズとスペーシングを変更。"
translate japanese strings:
# gui.rpy:5
old "## The init offset statement causes the initialization statements in this file to run before init statements in any other file."
new "## このファイルは GUI をカスタマイズする基本的なオプションを記載しています。次の init offset 文により、このファイルの init 文は他のファイルの init 文よりも先に実行されます。"
# gui.rpy:282
old "## Generic frames."
new "## 一般的なフレーム。デフォルトのインターフェースでは未使用です。画像は gui/frame.png。"
# gui.rpy:302
old "## The default GUI only uses sliders and vertical scrollbars. All of the other bars are only used in creator-written screens."
new "## デフォルトの GUI はスライダーと垂直スクロールバーだけを使用します。他のバーは開発者が追加したスクリーンでのみ使われます。"
# gui.rpy:363
old "## The maximum number of NVL-mode entries Ren'Py will display. When more entries than this are to be show, the oldest entry will be removed."
new "## NVL モードにおける、一度に表示されるエントリー(1台詞)の最大数。この値以上のエントリーを表示しようとすると、一番古いエントリーが取り除かれます。"
+90 -4
View File
@@ -471,7 +471,7 @@ translate japanese strings:
# front_page.rpy:223
old "Navigate Script"
new "スクリプトナビゲー"
new "スクリプトナビゲーション"
# front_page.rpy:234
old "Check Script (Lint)"
@@ -563,7 +563,7 @@ translate japanese strings:
# gui7.rpy:341
old "What resolution should the project use? Although Ren'Py can scale the window up and down, this is the initial size of the window, the size at which assets should be drawn, and the size at which the assets will be at their sharpest.\n\nThe default of 1280x720 is a reasonable compromise."
new "どの解像度をこのプロジェクトに使用しますか? Ren'py はウィンドウを拡大縮小することができますが、この設定は初のウィンドウサイズ、描画される各アセットのサイズ、アセットが最もシャープに見えるサイズを決定します。\n\nデフォルトの 1280x720 が合理的な妥協サイズです。"
new "どの解像度をこのプロジェクトに使用しますか? Ren'py はウィンドウを拡大縮小することができますが、この設定は初のウィンドウサイズ、描画される各アセットのサイズ、アセットが最もシャープに見えるサイズを決定します。\n\nデフォルトの 1280x720 が理にかなった推奨サイズです。"
# gui7.rpy:389
old "Creating the new project..."
@@ -899,7 +899,7 @@ translate japanese strings:
# preferences.rpy:153
old "Navigation Options:"
new "ナビゲートオプション:"
new "ナビゲーション設定:"
# preferences.rpy:157
old "Include private names"
@@ -907,7 +907,7 @@ translate japanese strings:
# preferences.rpy:158
old "Include library names"
new "本体の名前を含める"
new "ライブラリの名前を含める"
# preferences.rpy:168
old "Launcher Options:"
@@ -1197,3 +1197,89 @@ translate japanese strings:
old "PROJECTS:"
new "プロジェクト:"
translate japanese strings:
# android.rpy:304
old "Android: [project.current.display_name!q]"
new "Android: [project.current.display_name!q]"
# distribute_gui.rpy:157
old "Build Distributions: [project.current.display_name!q]"
new "配布物のビルド: [project.current.display_name!q]"
# interface.rpy:136
old "Ren'Py Sponsor Information"
new "Ren'Pyスポンサー情報"
# ios.rpy:211
old "iOS: [project.current.display_name!q]"
new "iOS: [project.current.display_name!q]"
# navigation.rpy:168
old "Navigate: [project.current.display_name!q]"
new "ナビゲーション: [project.current.display_name!q]"
# new_project.rpy:71
old "You will be creating an [new_project_language] language project. Change the launcher language in preferences to create a project in another language."
new "日本語のプロジェクトを作成します。別の言語のプロジェクトを作成するには、設定でランチャーの言語を変更してください。"
# preferences.rpy:187
old "Force new tutorial"
new "新チュートリアルを使用"
# preferences.rpy:189
old "Legacy options"
new "古いオプションを表示"
# preferences.rpy:194
old "Sponsor message"
new "スポンサーメッセージ表示"
# translations.rpy:92
old "Translations: [project.current.display_name!q]"
new "翻訳の生成: [project.current.display_name!q]"
# translations.rpy:337
old "Extract Dialogue: [project.current.display_name!q]"
new "台詞の抽出: [project.current.display_name!q]"
translate japanese strings:
# dmgcheck.rpy:50
old "Ren'Py is running from a read only folder. Some functionality will not work."
new "Ren'Py が読み取り専用フォルダーで起動しています。使えない機能があります。"
# dmgcheck.rpy:50
old "This is probably because Ren'Py is running directly from a Macintosh drive image. To fix this, quit this launcher, copy the entire %s folder somewhere else on your computer, and run Ren'Py again."
new "原因は Ren'Py が Macintosh drive image から直接起動しているためだと思われます.。この問題を解決するには、ランチャーを閉じて %s フォルダー全体をコンピューターのどこか別の場所へ移動してから、もう一度 Ren'Py を起動してみてください。"
# gui7.rpy:357
old "Custom. The GUI is optimized for a 16:9 aspect ratio."
new "カスタム。GUI は 16:9 のアスペクト比に最適化されています。"
# gui7.rpy:372
old "WIDTH"
new "画面の幅"
# gui7.rpy:372
old "Please enter the width of your game, in pixels."
new "ピクセルでゲーム画面の幅を入力してください。"
# gui7.rpy:377
old "The width must be a number."
new "画面の幅は数字でなければなりません。"
# gui7.rpy:379
old "HEIGHT"
new "画面の高さ"
# gui7.rpy:379
old "Please enter the height of your game, in pixels."
new "ピクセルでゲーム画面の高さを入力してください。"
# gui7.rpy:384
old "The height must be a number."
new "画面の高さは数字でなければなりません。"
+14
View File
@@ -194,3 +194,17 @@ translate japanese strings:
new "## itch.io project に関連付けられたユーザー名とプロジェクト名。二つの名前はスラッシュで分けてください。"
translate japanese strings:
# options.rpy:196
old "## Set this to a string containing your Apple Developer ID Application to enable codesigning on the Mac. Be sure to change it to your own Apple-issued ID."
new "## Mac のコード署名を有効にするため Apple Developer ID アプリケーション を含む文字列を設定します。必ず Apple が発行したあなたの ID に変更してください。"
translate japanese strings:
# options.rpy:81
old "## Between screens of the game menu."
new "## ゲームメニューのスクリーンを切り替える時のトランジション。"
+36 -1
View File
@@ -653,9 +653,44 @@ translate japanese strings:
# screens.rpy:1413
old "## Since a mouse may not be present, we replace the quick menu with a version that uses fewer and bigger buttons that are easier to touch."
new "## マウスがいので、ボタンが大きくて数が少ないクイックメニューに置き換えてタッチしやすいようにしています。"
new "## マウスが使用できないので、ボタンが大きくて数が少ないクイックメニューに置き換えてタッチしやすいようにしています。"
# screens.rpy:1429
old "Menu"
new "メニュー"
# screens.rpy:1233
old "## We have to use a font that has the BLACK RIGHT-POINTING SMALL TRIANGLE glyph in it."
new "## 小さな黒い矢印型のグリフが入ったフォントが必要になります。"
translate japanese strings:
# screens.rpy:120
old "## Make the namebox available for styling through the Character object."
new "## namebox を Character オブジェクトから使えるスタイルの接頭辞として追加します。(例:namebox_background)"
# screens.rpy:172
old "## https://www.renpy.org/doc/html/screen_special.html#input"
new "## https://www.renpy.org/doc/html/screen_special.html#input"
# screens.rpy:205
old "## https://www.renpy.org/doc/html/screen_special.html#choice"
new "## https://www.renpy.org/doc/html/screen_special.html#choice"
# screens.rpy:350
old "## https://www.renpy.org/doc/html/screen_special.html#main-menu"
new "## https://www.renpy.org/doc/html/screen_special.html#main-menu"
# screens.rpy:916
old "## This determines what tags are allowed to be displayed on the history screen."
new "## This determines what tags are allowed to be displayed on the history screen."
# screens.rpy:1132
old "## https://www.renpy.org/doc/html/screen_special.html#confirm"
new "## https://www.renpy.org/doc/html/screen_special.html#confirm"
# screens.rpy:1289
old "## https://www.renpy.org/doc/html/screen_special.html#nvl"
new "## https://www.renpy.org/doc/html/screen_special.html#nvl"
+8 -8
View File
@@ -27,7 +27,7 @@ label start:
# スプライト(立ち絵)を表示します。ここではプレースホルダーを使用していますが、
# images ディレクトリーに "eileen happy.png" と命名したファイルを追加すると
# 表示することができます。
# at ステートメントは画像の表示する位置を調整します。
# at center は中央に下揃えで表示します。これは省略しても同じ結果になります。
# その他に at right、at left などがデフォルトで定義されています。
@@ -36,18 +36,18 @@ label start:
# トランジション(画面遷移効果)を使って表示を画面に反映させます。
# 台詞を表示するか with None を使うと、トランジション無しで直ちに表示します。
with dissolve
# 音楽を再生します。ここではタグを利用して無音を再生していますが、
# game ディレクトリーに "music.ogg" と命名したファイルを追加すると
# play music "music.ogg" の形で再生することができます。
# 効果音を再生する時は play audio "filename" を使用します。
# play music とは違って複数の効果音を同時に再生することができます。
play music "<silence .5>"
play music "<silence .5>"
# 以下は台詞を表示します。
"Hello, world."
@@ -59,4 +59,4 @@ label start:
# return でゲームを終了します。
return
+358 -45
View File
@@ -1,4 +1,5 @@
translate piglatin strings:
translate piglatin strings:
# 00action_file.rpy:26
old "{#weekday}Monday"
@@ -152,87 +153,399 @@
old "{#month_short}Dec"
new "{#month_short}Ecday"
# 00action_file.rpy:235
# 00action_file.rpy:237
old "%b %d, %H:%M"
new "%bay %day, %Hay:%May"
# 00action_file.rpy:820
# 00action_file.rpy:344
old "Save slot %s: [text]"
new "Avesay otslay %say: [text]"
# 00action_file.rpy:417
old "Load slot %s: [text]"
new "Oadlay otslay %say: [text]"
# 00action_file.rpy:459
old "Delete slot [text]"
new "Eleteday otslay [text]"
# 00action_file.rpy:539
old "File page auto"
new "Ilefay agepay autoay"
# 00action_file.rpy:541
old "File page quick"
new "Ilefay agepay uickqay"
# 00action_file.rpy:543
old "File page [text]"
new "Ilefay agepay [text]"
# 00action_file.rpy:733
old "Next file page."
new "Extnay ilefay agepay."
# 00action_file.rpy:797
old "Previous file page."
new "Reviouspay ilefay agepay."
# 00action_file.rpy:858
old "Quick save complete."
new "Uickqay avesay ompletecay."
# 00gui.rpy:227
# 00action_file.rpy:876
old "Quick save."
new "Uickqay avesay."
# 00action_file.rpy:895
old "Quick load."
new "Uickqay oadlay."
# 00action_other.rpy:344
old "Language [text]"
new "Anguagelay [text]"
# 00director.rpy:703
old "The interactive director is not enabled here."
new "Hetay interactiveay irectorday isay otnay enableday erehay."
# 00director.rpy:1490
old "Done"
new "Oneday"
# 00director.rpy:1498
old "(statement)"
new "(atementstay)"
# 00director.rpy:1499
old "(tag)"
new "(agtay)"
# 00director.rpy:1500
old "(attributes)"
new "(attributesay)"
# 00director.rpy:1501
old "(transform)"
new "(ansformtray)"
# 00director.rpy:1526
old "(transition)"
new "(ansitiontray)"
# 00director.rpy:1538
old "(channel)"
new "(annelchay)"
# 00director.rpy:1539
old "(filename)"
new "(ilenamefay)"
# 00director.rpy:1564
old "Change"
new "Hangecay"
# 00director.rpy:1566
old "Add"
new "Ddaay"
# 00director.rpy:1569
old "Cancel"
new "Ancelcay"
# 00director.rpy:1572
old "Remove"
new "Emoveray"
# 00director.rpy:1605
old "Statement:"
new "Tatementsay:"
# 00director.rpy:1626
old "Tag:"
new "Agtay:"
# 00director.rpy:1642
old "Attributes:"
new "Ttributesaay:"
# 00director.rpy:1660
old "Transforms:"
new "Ransformstay:"
# 00director.rpy:1679
old "Behind:"
new "Ehindbay:"
# 00director.rpy:1698
old "Transition:"
new "Ransitiontay:"
# 00director.rpy:1716
old "Channel:"
new "Hannelcay:"
# 00director.rpy:1734
old "Audio Filename:"
new "Udioaay Ilenamefay:"
# 00gui.rpy:368
old "Are you sure?"
new "Reaay ouyay uresay?"
# 00gui.rpy:228
# 00gui.rpy:369
old "Are you sure you want to delete this save?"
new "Reaay ouyay uresay ouyay antway otay eleteday histay avesay?"
# 00gui.rpy:229
# 00gui.rpy:370
old "Are you sure you want to overwrite your save?"
new "Reaay ouyay uresay ouyay antway otay overwriteay ouryay avesay?"
# 00gui.rpy:230
# 00gui.rpy:371
old "Loading will lose unsaved progress.\nAre you sure you want to do this?"
new "Oadinglay illway oselay unsaveday rogresspay.\nReaay ouyay uresay ouyay antway otay oday histay?"
# 00gui.rpy:231
# 00gui.rpy:372
old "Are you sure you want to quit?"
new "Reaay ouyay uresay ouyay antway otay uitqay?"
# 00gui.rpy:232
# 00gui.rpy:373
old "Are you sure you want to return to the main menu?\nThis will lose unsaved progress."
new "Reaay ouyay uresay ouyay antway otay eturnray otay hetay ainmay enumay?\nHistay illway oselay unsaveday rogresspay."
# 00gui.rpy:233
# 00gui.rpy:374
old "Are you sure you want to end the replay?"
new "Reaay ouyay uresay ouyay antway otay enday hetay eplayray?"
# 00gui.rpy:234
# 00gui.rpy:375
old "Are you sure you want to begin skipping?"
new "Reaay ouyay uresay ouyay antway otay eginbay kippingsay?"
# 00gui.rpy:235
# 00gui.rpy:376
old "Are you sure you want to skip to the next choice?"
new "Reaay ouyay uresay ouyay antway otay kipsay otay hetay extnay oicechay?"
# 00gui.rpy:236
# 00gui.rpy:377
old "Are you sure you want to skip unseen dialogue to the next choice?"
new "Reaay ouyay uresay ouyay antway otay kipsay unseenay ialogueday otay hetay extnay oicechay?"
# 00keymap.rpy:250
# 00keymap.rpy:258
old "Failed to save screenshot as %s."
new "Ailedfay otay avesay creenshotsay asay %say."
# 00keymap.rpy:270
old "Saved screenshot as %s."
new "Avedsay creenshotsay asay %say."
# 00library.rpy:142
# 00library.rpy:146
old "Self-voicing disabled."
new "Elfsay-oicingvay isabledday."
# 00library.rpy:143
# 00library.rpy:147
old "Clipboard voicing enabled. "
new "Lipboardcay oicingvay enableday. "
# 00library.rpy:144
# 00library.rpy:148
old "Self-voicing enabled. "
new "Elfsay-oicingvay enableday. "
# 00library.rpy:178
# 00library.rpy:150
old "bar"
new "arbay"
# 00library.rpy:151
old "selected"
new "electedsay"
# 00library.rpy:152
old "viewport"
new "iewportvay"
# 00library.rpy:153
old "horizontal scroll"
new "orizontalhay crollsay"
# 00library.rpy:154
old "vertical scroll"
new "erticalvay crollsay"
# 00library.rpy:155
old "activate"
new "activateay"
# 00library.rpy:156
old "deactivate"
new "eactivateday"
# 00library.rpy:157
old "increase"
new "increaseay"
# 00library.rpy:158
old "decrease"
new "ecreaseday"
# 00library.rpy:193
old "Skip Mode"
new "Kipsay Odemay"
# 00library.rpy:261
# 00library.rpy:279
old "This program contains free software under a number of licenses, including the MIT License and GNU Lesser General Public License. A complete list of software, including links to full source code, can be found {a=https://www.renpy.org/l/license}here{/a}."
new "Histay rogrampay ontainscay eefray oftwaresay underay aay umbernay ofay icenseslay, includingay hetay Itmay Icenselay anday Nugay Esserlay Eneralgay Ublicpay Icenselay. Aay ompletecay istlay ofay oftwaresay, includingay inkslay otay ullfay ourcesay odecay, ancay ebay oundfay {a=https://www.renpy.org/l/license}erehay{/a}."
# 00preferences.rpy:422
# 00preferences.rpy:207
old "display"
new "isplayday"
# 00preferences.rpy:219
old "transitions"
new "ansitionstray"
# 00preferences.rpy:228
old "skip transitions"
new "kipsay ansitionstray"
# 00preferences.rpy:230
old "video sprites"
new "ideovay pritessay"
# 00preferences.rpy:239
old "show empty window"
new "owshay emptyay indowway"
# 00preferences.rpy:248
old "text speed"
new "exttay peedsay"
# 00preferences.rpy:256
old "joystick"
new "oystickjay"
# 00preferences.rpy:256
old "joystick..."
new "oystickjay..."
# 00preferences.rpy:263
old "skip"
new "kipsay"
# 00preferences.rpy:266
old "skip unseen [text]"
new "kipsay unseenay [text]"
# 00preferences.rpy:271
old "skip unseen text"
new "kipsay unseenay exttay"
# 00preferences.rpy:273
old "begin skipping"
new "eginbay kippingsay"
# 00preferences.rpy:277
old "after choices"
new "afteray oiceschay"
# 00preferences.rpy:284
old "skip after choices"
new "kipsay afteray oiceschay"
# 00preferences.rpy:286
old "auto-forward time"
new "autoay-orwardfay imetay"
# 00preferences.rpy:300
old "auto-forward"
new "autoay-orwardfay"
# 00preferences.rpy:307
old "Auto forward"
new "Utoaay orwardfay"
# 00preferences.rpy:310
old "auto-forward after click"
new "autoay-orwardfay afteray ickclay"
# 00preferences.rpy:319
old "automatic move"
new "automaticay ovemay"
# 00preferences.rpy:328
old "wait for voice"
new "aitway orfay oicevay"
# 00preferences.rpy:337
old "voice sustain"
new "oicevay ustainsay"
# 00preferences.rpy:346
old "self voicing"
new "elfsay oicingvay"
# 00preferences.rpy:355
old "clipboard voicing"
new "ipboardclay oicingvay"
# 00preferences.rpy:364
old "debug voicing"
new "ebugday oicingvay"
# 00preferences.rpy:373
old "emphasize audio"
new "emphasizeay audioay"
# 00preferences.rpy:382
old "rollback side"
new "ollbackray idesay"
# 00preferences.rpy:392
old "gl powersave"
new "glay owersavepay"
# 00preferences.rpy:398
old "gl framerate"
new "glay ameratefray"
# 00preferences.rpy:401
old "gl tearing"
new "glay earingtay"
# 00preferences.rpy:413
old "music volume"
new "usicmay olumevay"
# 00preferences.rpy:414
old "sound volume"
new "oundsay olumevay"
# 00preferences.rpy:415
old "voice volume"
new "oicevay olumevay"
# 00preferences.rpy:416
old "mute music"
new "utemay usicmay"
# 00preferences.rpy:417
old "mute sound"
new "utemay oundsay"
# 00preferences.rpy:418
old "mute voice"
new "utemay oicevay"
# 00preferences.rpy:419
old "mute all"
new "utemay allay"
# 00preferences.rpy:498
old "Clipboard voicing enabled. Press 'shift+C' to disable."
new "Lipboardcay oicingvay enableday. Resspay 'iftshay+Cay' otay isableday."
# 00preferences.rpy:424
# 00preferences.rpy:500
old "Self-voicing would say \"[renpy.display.tts.last]\". Press 'alt+shift+V' to disable."
new "Elfsay-oicingvay ouldway aysay \"[renpy.display.tts.last]\". Resspay 'altay+iftshay+Vay' otay isableday."
# 00preferences.rpy:426
# 00preferences.rpy:502
old "Self-voicing enabled. Press 'v' to disable."
new "Elfsay-oicingvay enableday. Resspay 'vay' otay isableday."
@@ -240,95 +553,95 @@
old "Contacting App Store\nPlease Wait..."
new "Ontactingcay Ppaay Toresay\nLeasepay Aitway..."
# 00updater.rpy:367
# 00updater.rpy:372
old "The Ren'Py Updater is not supported on mobile devices."
new "Hetay Enray'Ypay Pdateruay isay otnay upportedsay onay obilemay evicesday."
# 00updater.rpy:486
# 00updater.rpy:491
old "An error is being simulated."
new "Naay erroray isay eingbay imulatedsay."
# 00updater.rpy:662
# 00updater.rpy:672
old "Either this project does not support updating, or the update status file was deleted."
new "Ithereay histay rojectpay oesday otnay upportsay updatingay, oray hetay updateay atusstay ilefay asway eletedday."
# 00updater.rpy:676
# 00updater.rpy:686
old "This account does not have permission to perform an update."
new "Histay accountay oesday otnay avehay ermissionpay otay erformpay anay updateay."
# 00updater.rpy:679
# 00updater.rpy:689
old "This account does not have permission to write the update log."
new "Histay accountay oesday otnay avehay ermissionpay otay riteway hetay updateay oglay."
# 00updater.rpy:704
# 00updater.rpy:716
old "Could not verify update signature."
new "Ouldcay otnay erifyvay updateay ignaturesay."
# 00updater.rpy:975
# 00updater.rpy:991
old "The update file was not downloaded."
new "Hetay updateay ilefay asway otnay ownloadedday."
# 00updater.rpy:993
# 00updater.rpy:1009
old "The update file does not have the correct digest - it may have been corrupted."
new "Hetay updateay ilefay oesday otnay avehay hetay orrectcay igestday - itay aymay avehay eenbay orruptedcay."
# 00updater.rpy:1049
# 00updater.rpy:1065
old "While unpacking {}, unknown type {}."
new "Hileway unpackingay {}, unknownay ypetay {}."
# 00updater.rpy:1393
# 00updater.rpy:1412
old "Updater"
new "Pdateruay"
# 00updater.rpy:1404
# 00updater.rpy:1423
old "This program is up to date."
new "Histay rogrampay isay upay otay ateday."
# 00updater.rpy:1406
# 00updater.rpy:1425
old "[u.version] is available. Do you want to install it?"
new "[u.version] isay availableay. Oday ouyay antway otay installay itay?"
# 00updater.rpy:1408
# 00updater.rpy:1427
old "Preparing to download the updates."
new "Reparingpay otay ownloadday hetay updatesay."
# 00updater.rpy:1410
# 00updater.rpy:1429
old "Downloading the updates."
new "Ownloadingday hetay updatesay."
# 00updater.rpy:1412
# 00updater.rpy:1431
old "Unpacking the updates."
new "Npackinguay hetay updatesay."
# 00updater.rpy:1416
# 00updater.rpy:1435
old "The updates have been installed. The program will restart."
new "Hetay updatesay avehay eenbay installeday. Hetay rogrampay illway estartray."
# 00updater.rpy:1418
# 00updater.rpy:1437
old "The updates have been installed."
new "Hetay updatesay avehay eenbay installeday."
# 00updater.rpy:1420
# 00updater.rpy:1439
old "The updates were cancelled."
new "Hetay updatesay ereway ancelledcay."
# 00gallery.rpy:563
# 00gallery.rpy:573
old "Image [index] of [count] locked."
new "Mageiay [index] ofay [count] ockedlay."
# 00gallery.rpy:583
# 00gallery.rpy:593
old "prev"
new "revpay"
# 00gallery.rpy:584
# 00gallery.rpy:594
old "next"
new "extnay"
# 00gallery.rpy:585
# 00gallery.rpy:595
old "slideshow"
new "ideshowslay"
# 00gallery.rpy:586
# 00gallery.rpy:596
old "return"
new "eturnray"
+49 -36
View File
@@ -1,25 +1,26 @@
translate piglatin strings:
translate piglatin strings:
# _developer/developer.rpym:38
old "Developer Menu"
new "Eveloperday Enumay"
# _developer/developer.rpym:43
old "Interactive Director (D)"
new "Nteractiveiay Irectorday (Day)"
# _developer/developer.rpym:45
old "Reload Game (Shift+R)"
new "Eloadray Amegay (Hiftsay+Ray)"
# _developer/developer.rpym:45
# _developer/developer.rpym:47
old "Console (Shift+O)"
new "Onsolecay (Hiftsay+Oay)"
# _developer/developer.rpym:47
# _developer/developer.rpym:49
old "Variable Viewer"
new "Ariablevay Iewervay"
# _developer/developer.rpym:49
old "Theme Test"
new "Hemetay Esttay"
# _developer/developer.rpym:51
old "Image Location Picker"
new "Mageiay Ocationlay Ickerpay"
@@ -29,50 +30,62 @@
new "Ilenamefay Istlay"
# _developer/developer.rpym:57
old "Show Image Load Log"
new "Howsay Mageiay Oadlay Oglay"
old "Show Image Load Log (F4)"
new "Howsay Mageiay Oadlay Oglay (4fay)"
# _developer/developer.rpym:60
old "Hide Image Load Log"
new "Idehay Mageiay Oadlay Oglay"
old "Hide Image Load Log (F4)"
new "Idehay Mageiay Oadlay Oglay (4fay)"
# _developer/developer.rpym:95
old "Nothing to inspect."
new "Othingnay otay inspectay."
# _developer/developer.rpym:217
# _developer/developer.rpym:223
old "Return to the developer menu"
new "Eturnray otay hetay eveloperday enumay"
# _developer/developer.rpym:373
# _developer/developer.rpym:383
old "Rectangle: %r"
new "Ectangleray: %ray"
# _developer/developer.rpym:378
# _developer/developer.rpym:388
old "Mouse position: %r"
new "Ousemay ositionpay: %ray"
# _developer/developer.rpym:383
# _developer/developer.rpym:393
old "Right-click or escape to quit."
new "Ightray-ickclay oray escapeay otay uitqay."
# _developer/developer.rpym:412
# _developer/developer.rpym:425
old "Rectangle copied to clipboard."
new "Ectangleray opiedcay otay ipboardclay."
# _developer/developer.rpym:415
# _developer/developer.rpym:428
old "Position copied to clipboard."
new "Ositionpay opiedcay otay ipboardclay."
# _developer/developer.rpym:524
# _developer/developer.rpym:447
old "Type to filter: "
new "Ypetay otay ilterfay: "
# _developer/developer.rpym:575
old "Textures: [tex_count] ([tex_size_mb:.1f] MB)"
new "Exturestay: [tex_count] ([tex_size_mb:.1f] Bmay)"
# _developer/developer.rpym:579
old "Image cache: [cache_pct:.1f]% ([cache_size_mb:.1f] MB)"
new "Mageiay achecay: [cache_pct:.1f]% ([cache_size_mb:.1f] Bmay)"
# _developer/developer.rpym:589
old "✔ "
new "✔ "
# _developer/developer.rpym:527
# _developer/developer.rpym:592
old "✘ "
new "✘ "
# _developer/developer.rpym:532
# _developer/developer.rpym:597
old "\n{color=#cfc}✔ predicted image (good){/color}\n{color=#fcc}✘ unpredicted image (bad){/color}\n{color=#fff}Drag to move.{/color}"
new "\n{color=#cfc}✔ redictedpay imageay (oodgay){/color}\n{color=#fcc}✘ unpredicteday imageay (adbay){/color}\n{color=#fff}Ragday otay ovemay.{/color}"
@@ -112,67 +125,67 @@
old "<repr() failed>"
new "<eprray() ailedfay>"
# 00console.rpy:182
# 00console.rpy:255
old "Press <esc> to exit console. Type help for help.\n"
new "Resspay <escay> otay exitay onsolecay. Ypetay elphay orfay elphay.\n"
# 00console.rpy:186
# 00console.rpy:259
old "Ren'Py script enabled."
new "Enray'Ypay criptsay enableday."
# 00console.rpy:188
# 00console.rpy:261
old "Ren'Py script disabled."
new "Enray'Ypay criptsay isabledday."
# 00console.rpy:398
# 00console.rpy:496
old "help: show this help"
new "elphay: owshay histay elphay"
# 00console.rpy:403
# 00console.rpy:501
old "commands:\n"
new "ommandscay:\n"
# 00console.rpy:413
# 00console.rpy:511
old " <renpy script statement>: run the statement\n"
new " <enpyray criptsay atementstay>: unray hetay atementstay\n"
# 00console.rpy:415
# 00console.rpy:513
old " <python expression or statement>: run the expression or statement"
new " <ythonpay expressionay oray atementstay>: unray hetay expressionay oray atementstay"
# 00console.rpy:423
# 00console.rpy:521
old "clear: clear the console history"
new "earclay: earclay hetay onsolecay istoryhay"
# 00console.rpy:427
# 00console.rpy:525
old "exit: exit the console"
new "exitay: exitay hetay onsolecay"
# 00console.rpy:435
# 00console.rpy:533
old "load <slot>: loads the game from slot"
new "oadlay <otslay>: oadslay hetay amegay omfray otslay"
# 00console.rpy:448
# 00console.rpy:546
old "save <slot>: saves the game in slot"
new "avesay <otslay>: avessay hetay amegay inay otslay"
# 00console.rpy:459
# 00console.rpy:557
old "reload: reloads the game, refreshing the scripts"
new "eloadray: eloadsray hetay amegay, efreshingray hetay criptssay"
# 00console.rpy:467
# 00console.rpy:565
old "watch <expression>: watch a python expression"
new "atchway <expressionay>: atchway aay ythonpay expressionay"
# 00console.rpy:493
# 00console.rpy:591
old "unwatch <expression>: stop watching an expression"
new "unwatchay <expressionay>: opstay atchingway anay expressionay"
# 00console.rpy:519
# 00console.rpy:622
old "unwatchall: stop watching all expressions"
new "unwatchallay: opstay atchingway allay expressionsay"
# 00console.rpy:536
# 00console.rpy:639
old "jump <label>: jumps to label"
new "umpjay <abellay>: umpsjay otay abellay"
+84 -47
View File
@@ -1,90 +1,119 @@
translate piglatin strings:
# 00gltest.rpy:64
old "Graphics Acceleration"
new "Raphicsgay Ccelerationaay"
translate piglatin strings:
# 00gltest.rpy:70
old "Renderer"
new "Endererray"
# 00gltest.rpy:74
old "Automatically Choose"
new "Utomaticallyaay Hoosecay"
# 00gltest.rpy:75
# 00gltest.rpy:79
old "Force Angle/DirectX Renderer"
new "Orcefay Ngleaay/Irectxday Endererray"
# 00gltest.rpy:79
# 00gltest.rpy:83
old "Force OpenGL Renderer"
new "Orcefay Pengloay Endererray"
# 00gltest.rpy:83
# 00gltest.rpy:87
old "Force Software Renderer"
new "Orcefay Oftwaresay Endererray"
# 00gltest.rpy:93
old "NPOT"
new "Potnay"
# 00gltest.rpy:97
old "Enable"
new "Nableeay"
# 00gltest.rpy:109
# 00gltest.rpy:131
old "Powersave"
new "Owersavepay"
# 00gltest.rpy:145
old "Framerate"
new "Rameratefay"
# 00gltest.rpy:149
old "Screen"
new "Creensay"
# 00gltest.rpy:153
old "60"
new "06ay"
# 00gltest.rpy:157
old "30"
new "03ay"
# 00gltest.rpy:163
old "Tearing"
new "Earingtay"
# 00gltest.rpy:179
old "Changes will take effect the next time this program is run."
new "Hangescay illway aketay effectay hetay extnay imetay histay rogrampay isay unray."
# 00gltest.rpy:141
# 00gltest.rpy:213
old "Performance Warning"
new "Erformancepay Arningway"
# 00gltest.rpy:146
# 00gltest.rpy:218
old "This computer is using software rendering."
new "Histay omputercay isay usingay oftwaresay enderingray."
# 00gltest.rpy:148
# 00gltest.rpy:220
old "This computer is not using shaders."
new "Histay omputercay isay otnay usingay adersshay."
# 00gltest.rpy:150
# 00gltest.rpy:222
old "This computer is displaying graphics slowly."
new "Histay omputercay isay isplayingday aphicsgray owlyslay."
# 00gltest.rpy:152
# 00gltest.rpy:224
old "This computer has a problem displaying graphics: [problem]."
new "Histay omputercay ashay aay roblempay isplayingday aphicsgray: [problem]."
# 00gltest.rpy:157
# 00gltest.rpy:229
old "Its graphics drivers may be out of date or not operating correctly. This can lead to slow or incorrect graphics display. Updating DirectX could fix this problem."
new "Tsiay aphicsgray riversday aymay ebay outay ofay ateday oray otnay operatingay orrectlycay. Histay ancay eadlay otay owslay oray incorrectay aphicsgray isplayday. Pdatinguay Irectxday ouldcay ixfay histay roblempay."
# 00gltest.rpy:159
# 00gltest.rpy:231
old "Its graphics drivers may be out of date or not operating correctly. This can lead to slow or incorrect graphics display."
new "Tsiay aphicsgray riversday aymay ebay outay ofay ateday oray otnay operatingay orrectlycay. Histay ancay eadlay otay owslay oray incorrectay aphicsgray isplayday."
# 00gltest.rpy:164
# 00gltest.rpy:236
old "Update DirectX"
new "Pdateuay Irectxday"
# 00gltest.rpy:170
# 00gltest.rpy:242
old "Continue, Show this warning again"
new "Ontinuecay, Howsay histay arningway againay"
# 00gltest.rpy:174
# 00gltest.rpy:246
old "Continue, Don't show warning again"
new "Ontinuecay, Onday'tay owshay arningway againay"
# 00gltest.rpy:192
# 00gltest.rpy:264
old "Updating DirectX."
new "Pdatinguay Irectxday."
# 00gltest.rpy:196
# 00gltest.rpy:268
old "DirectX web setup has been started. It may start minimized in the taskbar. Please follow the prompts to install DirectX."
new "Irectxday ebway etupsay ashay eenbay artedstay. Tiay aymay artstay inimizedmay inay hetay askbartay. Leasepay ollowfay hetay romptspay otay installay Irectxday."
# 00gltest.rpy:200
# 00gltest.rpy:272
old "{b}Note:{/b} Microsoft's DirectX web setup program will, by default, install the Bing toolbar. If you do not want this toolbar, uncheck the appropriate box."
new "{b}Otenay:{/b} Icrosoftmay'say Irectxday ebway etupsay rogrampay illway, ybay efaultday, installay hetay Ingbay oolbartay. Fiay ouyay oday otnay antway histay oolbartay, uncheckay hetay appropriateay oxbay."
# 00gltest.rpy:204
# 00gltest.rpy:276
old "When setup finishes, please click below to restart this program."
new "Henway etupsay inishesfay, easeplay ickclay elowbay otay estartray histay rogrampay."
# 00gltest.rpy:206
# 00gltest.rpy:278
old "Restart"
new "Estartray"
@@ -112,67 +141,75 @@
old "Back (B)"
new "Ackbay (Bay)"
# _errorhandling.rpym:495
old "Open Traceback"
new "Penoay Racebacktay"
# _errorhandling.rpym:528
old "Open"
new "Penoay"
# _errorhandling.rpym:497
# _errorhandling.rpym:530
old "Opens the traceback.txt file in a text editor."
new "Pensoay hetay acebacktray.xttay ilefay inay aay exttay editoray."
# _errorhandling.rpym:499
old "Copy to Clipboard"
new "Opycay otay Lipboardcay"
# _errorhandling.rpym:532
old "Copy"
new "Opycay"
# _errorhandling.rpym:501
# _errorhandling.rpym:534
old "Copies the traceback.txt file to the clipboard."
new "Opiescay hetay acebacktray.xttay ilefay otay hetay ipboardclay."
# _errorhandling.rpym:519
# _errorhandling.rpym:561
old "An exception has occurred."
new "Naay exceptionay ashay occurreday."
# _errorhandling.rpym:538
# _errorhandling.rpym:581
old "Rollback"
new "Ollbackray"
# _errorhandling.rpym:540
# _errorhandling.rpym:583
old "Attempts a roll back to a prior time, allowing you to save or choose a different choice."
new "Ttemptsaay aay ollray ackbay otay aay riorpay imetay, allowingay ouyay otay avesay oray oosechay aay ifferentday oicechay."
# _errorhandling.rpym:543
# _errorhandling.rpym:586
old "Ignore"
new "Gnoreiay"
# _errorhandling.rpym:545
# _errorhandling.rpym:590
old "Ignores the exception, allowing you to continue."
new "Gnoresiay hetay exceptionay, allowingay ouyay otay ontinuecay."
# _errorhandling.rpym:592
old "Ignores the exception, allowing you to continue. This often leads to additional errors."
new "Gnoresiay hetay exceptionay, allowingay ouyay otay ontinuecay. Histay oftenay eadslay otay additionalay errorsay."
# _errorhandling.rpym:548
# _errorhandling.rpym:596
old "Reload"
new "Eloadray"
# _errorhandling.rpym:550
# _errorhandling.rpym:598
old "Reloads the game from disk, saving and restoring game state if possible."
new "Eloadsray hetay amegay omfray iskday, avingsay anday estoringray amegay atestay ifay ossiblepay."
# _errorhandling.rpym:560
# _errorhandling.rpym:601
old "Console"
new "Onsolecay"
# _errorhandling.rpym:603
old "Opens a console to allow debugging the problem."
new "Pensoay aay onsolecay otay alloway ebuggingday hetay roblempay."
# _errorhandling.rpym:613
old "Quits the game."
new "Uitsqay hetay amegay."
# _errorhandling.rpym:582
# _errorhandling.rpym:637
old "Parsing the script failed."
new "Arsingpay hetay criptsay ailedfay."
# _errorhandling.rpym:606
old "Open Parse Errors"
new "Penoay Arsepay Rrorseay"
# _errorhandling.rpym:608
# _errorhandling.rpym:663
old "Opens the errors.txt file in a text editor."
new "Pensoay hetay errorsay.xttay ilefay inay aay exttay editoray."
# _errorhandling.rpym:612
# _errorhandling.rpym:667
old "Copies the errors.txt file to the clipboard."
new "Opiescay hetay errorsay.xttay ilefay otay hetay ipboardclay."
+106 -100
View File
@@ -1,17 +1,22 @@
translate piglatin strings:
translate piglatin strings:
# gui.rpy:2
old "## Initialization"
new "## Nitializationiay"
# gui.rpy:5
old "## The init offset statement causes the init code in this file to run before init code in any other file."
new "## Hetay initay offsetay atementstay ausescay hetay initay odecay inay histay ilefay otay unray eforebay initay odecay inay anyay otheray ilefay."
old "## The init offset statement causes the initialization statements in this file to run before init statements in any other file."
new "## Hetay initay offsetay atementstay ausescay hetay initializationay atementsstay inay histay ilefay otay unray eforebay initay atementsstay inay anyay otheray ilefay."
# gui.rpy:9
old "## Calling gui.init resets the styles to sensible default values, and sets the width and height of the game."
new "## Allingcay uigay.initay esetsray hetay ylesstay otay ensiblesay efaultday aluesvay, anday etssay hetay idthway anday eighthay ofay hetay amegay."
# gui.rpy:17
old "## GUI Configuration Variables"
new "## Uigay Onfigurationcay Ariablesvay"
# gui.rpy:21
old "## Colors"
new "## Olorscay"
@@ -100,170 +105,178 @@
old "## The images used for the main and game menus."
new "## Hetay imagesay useday orfay hetay ainmay anday amegay enusmay."
# gui.rpy:92
old "## Should we show the name and version of the game?"
new "## Houldsay eway owshay hetay amenay anday ersionvay ofay hetay amegay?"
# gui.rpy:96
# gui.rpy:93
old "## Dialogue"
new "## Ialogueday"
# gui.rpy:98
# gui.rpy:95
old "## These variables control how dialogue is displayed on the screen one line at a time."
new "## Hesetay ariablesvay ontrolcay owhay ialogueday isay isplayedday onay hetay creensay oneay inelay atay aay imetay."
# gui.rpy:101
# gui.rpy:98
old "## The height of the textbox containing dialogue."
new "## Hetay eighthay ofay hetay extboxtay ontainingcay ialogueday."
# gui.rpy:104
# gui.rpy:101
old "## The placement of the textbox vertically on the screen. 0.0 is the top, 0.5 is center, and 1.0 is the bottom."
new "## Hetay acementplay ofay hetay extboxtay erticallyvay onay hetay creensay. 0ay.0ay isay hetay optay, 0ay.5ay isay entercay, anday 1ay.0ay isay hetay ottombay."
# gui.rpy:109
# gui.rpy:106
old "## The placement of the speaking character's name, relative to the textbox. These can be a whole number of pixels from the left or top, or 0.5 to center."
new "## Hetay acementplay ofay hetay peakingsay aracterchay'say amenay, elativeray otay hetay extboxtay. Hesetay ancay ebay aay holeway umbernay ofay ixelspay omfray hetay eftlay oray optay, oray 0ay.5ay otay entercay."
# gui.rpy:114
# gui.rpy:111
old "## The horizontal alignment of the character's name. This can be 0.0 for left-aligned, 0.5 for centered, and 1.0 for right-aligned."
new "## Hetay orizontalhay alignmentay ofay hetay aracterchay'say amenay. Histay ancay ebay 0ay.0ay orfay eftlay-aligneday, 0ay.5ay orfay enteredcay, anday 1ay.0ay orfay ightray-aligneday."
# gui.rpy:118
# gui.rpy:115
old "## The width, height, and borders of the box containing the character's name, or None to automatically size it."
new "## Hetay idthway, eighthay, anday ordersbay ofay hetay oxbay ontainingcay hetay aracterchay'say amenay, oray Onenay otay automaticallyay izesay itay."
# gui.rpy:123
# gui.rpy:120
old "## The borders of the box containing the character's name, in left, top, right, bottom order."
new "## Hetay ordersbay ofay hetay oxbay ontainingcay hetay aracterchay'say amenay, inay eftlay, optay, ightray, ottombay orderay."
# gui.rpy:127
# gui.rpy:124
old "## If True, the background of the namebox will be tiled, if False, the background if the namebox will be scaled."
new "## Fiay Ruetay, hetay ackgroundbay ofay hetay ameboxnay illway ebay iledtay, ifay Alsefay, hetay ackgroundbay ifay hetay ameboxnay illway ebay caledsay."
# gui.rpy:132
# gui.rpy:129
old "## The placement of dialogue relative to the textbox. These can be a whole number of pixels relative to the left or top side of the textbox, or 0.5 to center."
new "## Hetay acementplay ofay ialogueday elativeray otay hetay extboxtay. Hesetay ancay ebay aay holeway umbernay ofay ixelspay elativeray otay hetay eftlay oray optay idesay ofay hetay extboxtay, oray 0ay.5ay otay entercay."
# gui.rpy:138
# gui.rpy:135
old "## The maximum width of dialogue text, in pixels."
new "## Hetay aximummay idthway ofay ialogueday exttay, inay ixelspay."
# gui.rpy:141
# gui.rpy:138
old "## The horizontal alignment of the dialogue text. This can be 0.0 for left-aligned, 0.5 for centered, and 1.0 for right-aligned."
new "## Hetay orizontalhay alignmentay ofay hetay ialogueday exttay. Histay ancay ebay 0ay.0ay orfay eftlay-aligneday, 0ay.5ay orfay enteredcay, anday 1ay.0ay orfay ightray-aligneday."
# gui.rpy:146
# gui.rpy:143
old "## Buttons"
new "## Uttonsbay"
# gui.rpy:148
# gui.rpy:145
old "## These variables, along with the image files in gui/button, control aspects of how buttons are displayed."
new "## Hesetay ariablesvay, alongay ithway hetay imageay ilesfay inay uigay/uttonbay, ontrolcay aspectsay ofay owhay uttonsbay areay isplayedday."
# gui.rpy:151
# gui.rpy:148
old "## The width and height of a button, in pixels. If None, Ren'Py computes a size."
new "## Hetay idthway anday eighthay ofay aay uttonbay, inay ixelspay. Fiay Onenay, Enray'Ypay omputescay aay izesay."
# gui.rpy:155
# gui.rpy:152
old "## The borders on each side of the button, in left, top, right, bottom order."
new "## Hetay ordersbay onay eachay idesay ofay hetay uttonbay, inay eftlay, optay, ightray, ottombay orderay."
# gui.rpy:158
# gui.rpy:155
old "## If True, the background image will be tiled. If False, the background image will be linearly scaled."
new "## Fiay Ruetay, hetay ackgroundbay imageay illway ebay iledtay. Fiay Alsefay, hetay ackgroundbay imageay illway ebay inearlylay caledsay."
# gui.rpy:162
# gui.rpy:159
old "## The font used by the button."
new "## Hetay ontfay useday ybay hetay uttonbay."
# gui.rpy:165
# gui.rpy:162
old "## The size of the text used by the button."
new "## Hetay izesay ofay hetay exttay useday ybay hetay uttonbay."
# gui.rpy:179
# gui.rpy:165
old "## The color of button text in various states."
new "## Hetay olorcay ofay uttonbay exttay inay ariousvay atesstay."
# gui.rpy:171
old "## The horizontal alignment of the button text. (0.0 is left, 0.5 is center, 1.0 is right)."
new "## Hetay orizontalhay alignmentay ofay hetay uttonbay exttay. (0ay.0ay isay eftlay, 0ay.5ay isay entercay, 1ay.0ay isay ightray)."
# gui.rpy:176
old "## These variables override settings for different kinds of buttons. Please see the gui documentation for the kinds of buttons available, and what each is used for."
new "## Hesetay ariablesvay overrideay ettingssay orfay ifferentday indskay ofay uttonsbay. Leasepay eesay hetay uigay ocumentationday orfay hetay indskay ofay uttonsbay availableay, anday hatway eachay isay useday orfay."
# gui.rpy:183
# gui.rpy:180
old "## These customizations are used by the default interface:"
new "## Hesetay ustomizationscay areay useday ybay hetay efaultday interfaceay:"
# gui.rpy:198
# gui.rpy:195
old "## You can also add your own customizations, by adding properly-named variables. For example, you can uncomment the following line to set the width of a navigation button."
new "## Ouyay ancay alsoay adday ouryay ownay ustomizationscay, ybay addingay roperlypay-amednay ariablesvay. Orfay exampleay, ouyay ancay uncommentay hetay ollowingfay inelay otay etsay hetay idthway ofay aay avigationnay uttonbay."
# gui.rpy:205
# gui.rpy:202
old "## Choice Buttons"
new "## Hoicecay Uttonsbay"
# gui.rpy:207
# gui.rpy:204
old "## Choice buttons are used in the in-game menus."
new "## Hoicecay uttonsbay areay useday inay hetay inay-amegay enusmay."
# gui.rpy:220
# gui.rpy:217
old "## File Slot Buttons"
new "## Ilefay Lotsay Uttonsbay"
# gui.rpy:222
# gui.rpy:219
old "## A file slot button is a special kind of button. It contains a thumbnail image, and text describing the contents of the save slot. A save slot uses image files in gui/button, like the other kinds of buttons."
new "## Aay ilefay otslay uttonbay isay aay pecialsay indkay ofay uttonbay. Tiay ontainscay aay humbnailtay imageay, anday exttay escribingday hetay ontentscay ofay hetay avesay otslay. Aay avesay otslay usesay imageay ilesfay inay uigay/uttonbay, ikelay hetay otheray indskay ofay uttonsbay."
# gui.rpy:226
# gui.rpy:223
old "## The save slot button."
new "## Hetay avesay otslay uttonbay."
# gui.rpy:234
# gui.rpy:231
old "## The width and height of thumbnails used by the save slots."
new "## Hetay idthway anday eighthay ofay humbnailstay useday ybay hetay avesay otsslay."
# gui.rpy:238
# gui.rpy:235
old "## The number of columns and rows in the grid of save slots."
new "## Hetay umbernay ofay olumnscay anday owsray inay hetay idgray ofay avesay otsslay."
# gui.rpy:243
# gui.rpy:240
old "## Positioning and Spacing"
new "## Ositioningpay anday Pacingsay"
# gui.rpy:245
# gui.rpy:242
old "## These variables control the positioning and spacing of various user interface elements."
new "## Hesetay ariablesvay ontrolcay hetay ositioningpay anday pacingsay ofay ariousvay useray interfaceay elementsay."
# gui.rpy:248
# gui.rpy:245
old "## The position of the left side of the navigation buttons, relative to the left side of the screen."
new "## Hetay ositionpay ofay hetay eftlay idesay ofay hetay avigationnay uttonsbay, elativeray otay hetay eftlay idesay ofay hetay creensay."
# gui.rpy:252
# gui.rpy:249
old "## The vertical position of the skip indicator."
new "## Hetay erticalvay ositionpay ofay hetay kipsay indicatoray."
# gui.rpy:255
# gui.rpy:252
old "## The vertical position of the notify screen."
new "## Hetay erticalvay ositionpay ofay hetay otifynay creensay."
# gui.rpy:258
# gui.rpy:255
old "## The spacing between menu choices."
new "## Hetay pacingsay etweenbay enumay oiceschay."
# gui.rpy:261
# gui.rpy:258
old "## Buttons in the navigation section of the main and game menus."
new "## Uttonsbay inay hetay avigationnay ectionsay ofay hetay ainmay anday amegay enusmay."
# gui.rpy:264
# gui.rpy:261
old "## Controls the amount of spacing between preferences."
new "## Ontrolscay hetay amountay ofay pacingsay etweenbay referencespay."
# gui.rpy:267
# gui.rpy:264
old "## Controls the amount of spacing between preference buttons."
new "## Ontrolscay hetay amountay ofay pacingsay etweenbay referencepay uttonsbay."
# gui.rpy:270
# gui.rpy:267
old "## The spacing between file page buttons."
new "## Hetay pacingsay etweenbay ilefay agepay uttonsbay."
# gui.rpy:273
# gui.rpy:270
old "## The spacing between file slots."
new "## Hetay pacingsay etweenbay ilefay otsslay."
# gui.rpy:273
old "## The position of the main menu text."
new "## Hetay ositionpay ofay hetay ainmay enumay exttay."
# gui.rpy:277
old "## Frames"
new "## Ramesfay"
@@ -273,8 +286,8 @@
new "## Hesetay ariablesvay ontrolcay hetay ooklay ofay amesfray hattay ancay ontaincay useray interfaceay omponentscay henway anay overlayay oray indowway isay otnay resentpay."
# gui.rpy:282
old "## Generic frames that are introduced by player code."
new "## Enericgay amesfray hattay areay introduceday ybay ayerplay odecay."
old "## Generic frames."
new "## Enericgay amesfray."
# gui.rpy:285
old "## The frame that is used as part of the confirm screen."
@@ -301,8 +314,8 @@
new "## Hesetay ontrolcay hetay ooklay anday izesay ofay arsbay, crollbarssay, anday idersslay."
# gui.rpy:302
old "## The default GUI only uses sliders and vertical scrollbars. All of the other bars are only used in creator-written code."
new "## Hetay efaultday Uigay onlyay usesay idersslay anday erticalvay crollbarssay. Llaay ofay hetay otheray arsbay areay onlyay useday inay reatorcay-rittenway odecay."
old "## The default GUI only uses sliders and vertical scrollbars. All of the other bars are only used in creator-written screens."
new "## Hetay efaultday Uigay onlyay usesay idersslay anday erticalvay crollbarssay. Llaay ofay hetay otheray arsbay areay onlyay useday inay reatorcay-rittenway creenssay."
# gui.rpy:305
old "## The height of horizontal bars, scrollbars, and sliders. The width of vertical bars, scrollbars, and sliders."
@@ -361,69 +374,62 @@
new "## Hetay ordersbay ofay hetay ackgroundbay ofay hetay Vlnay-odemay ackgroundbay indowway."
# gui.rpy:363
old "## The maximum number of NVL-mode entries Ren'Py will display. When more entries than this are to be show, the oldest entry will be removed."
new "## Hetay aximummay umbernay ofay Vlnay-odemay entriesay Enray'Ypay illway isplayday. Henway oremay entriesay hantay histay areay otay ebay owshay, hetay oldestay entryay illway ebay emovedray."
# gui.rpy:367
old "## The height of an NVL-mode entry. Set this to None to have the entries dynamically adjust height."
new "## Hetay eighthay ofay anay Vlnay-odemay entryay. Etsay histay otay Onenay otay avehay hetay entriesay ynamicallyday adjustay eighthay."
# gui.rpy:367
# gui.rpy:371
old "## The spacing between NVL-mode entries when gui.nvl_height is None, and between NVL-mode entries and an NVL-mode menu."
new "## Hetay pacingsay etweenbay Vlnay-odemay entriesay henway uigay.vl_heightnay isay Onenay, anday etweenbay Vlnay-odemay entriesay anday anay Vlnay-odemay enumay."
# gui.rpy:384
# gui.rpy:388
old "## The position, width, and alignment of nvl_thought text (the text said by the nvl_narrator character.)"
new "## Hetay ositionpay, idthway, anday alignmentay ofay vl_thoughtnay exttay (hetay exttay aidsay ybay hetay vl_narratornay aracterchay.)"
# gui.rpy:391
# gui.rpy:395
old "## The position of nvl menu_buttons."
new "## Hetay ositionpay ofay vlnay enu_buttonsmay."
# gui.rpy:403
old "## This increases the size of the quick buttons to make them easier to touch on tablets and phones."
new "## Histay increasesay hetay izesay ofay hetay uickqay uttonsbay otay akemay hemtay easieray otay ouchtay onay abletstay anday onesphay."
# gui.rpy:399
old "## Localization"
new "## Ocalizationlay"
# gui.rpy:401
old "## This controls where a line break is permitted. The default is suitable for most languages. A list of available values can be found at https://www.renpy.org/doc/html/style_properties.html#style-property-language"
new "## Histay ontrolscay hereway aay inelay eakbray isay ermittedpay. Hetay efaultday isay uitablesay orfay ostmay anguageslay. Aay istlay ofay availableay aluesvay ancay ebay oundfay atay ttpshay://wwway.enpyray.orgay/ocday/tmlhay/yle_propertiesstay.tmlhay#ylestay-ropertypay-anguagelay"
# gui.rpy:409
old "## This changes the size and spacing of various GUI elements to ensure they are easily visible on phones."
new "## Histay angeschay hetay izesay anday pacingsay ofay ariousvay Uigay elementsay otay ensureay heytay areay easilyay isiblevay onay onesphay."
# gui.rpy:413
old "## Font sizes."
new "## Ontfay izessay."
# gui.rpy:421
old "## Adjust the location of the textbox."
new "## Djustaay hetay ocationlay ofay hetay extboxtay."
# gui.rpy:427
old "## Change the size and spacing of items in the game menu."
new "## Hangecay hetay izesay anday pacingsay ofay itemsay inay hetay amegay enumay."
# gui.rpy:436
old "## File button layout."
new "## Ilefay uttonbay ayoutlay."
# gui.rpy:440
old "## NVL-mode."
new "## Vlnay-odemay."
# gui.rpy:456
old "## Quick buttons."
new "## Uickqay uttonsbay."
translate piglatin strings:
# gui.rpy:17
old "## GUI Configuration Variables"
new "## Uigay Onfigurationcay Ariablesvay"
# gui.rpy:168
old "## The color of button text in various states."
new "## Hetay olorcay ofay uttonbay exttay inay ariousvay atesstay."
# gui.rpy:174
old "## The horizontal alignment of the button text. (0.0 is left, 0.5 is center, 1.0 is right)."
new "## Hetay orizontalhay alignmentay ofay hetay uttonbay exttay. (0ay.0ay isay eftlay, 0ay.5ay isay entercay, 1ay.0ay isay ightray)."
# gui.rpy:398
old "## Mobile devices"
new "## Obilemay evicesday"
# gui.rpy:414
old "## This increases the size of the quick buttons to make them easier to touch on tablets and phones."
new "## Histay increasesay hetay izesay ofay hetay uickqay uttonsbay otay akemay hemtay easieray otay ouchtay onay abletstay anday onesphay."
# gui.rpy:420
old "## This changes the size and spacing of various GUI elements to ensure they are easily visible on phones."
new "## Histay angeschay hetay izesay anday pacingsay ofay ariousvay Uigay elementsay otay ensureay heytay areay easilyay isiblevay onay onesphay."
# gui.rpy:424
old "## Font sizes."
new "## Ontfay izessay."
# gui.rpy:432
old "## Adjust the location of the textbox."
new "## Djustaay hetay ocationlay ofay hetay extboxtay."
# gui.rpy:438
old "## Change the size and spacing of various things."
new "## Hangecay hetay izesay anday pacingsay ofay ariousvay hingstay."
# gui.rpy:451
old "## File button layout."
new "## Ilefay uttonbay ayoutlay."
# gui.rpy:455
old "## NVL-mode."
new "## Vlnay-odemay."
File diff suppressed because it is too large Load Diff
+2 -1
View File
@@ -1,4 +1,5 @@
translate piglatin strings:
translate piglatin strings:
# _layout/classic_joystick_preferences.rpym:94
old "Joystick Mapping"
+53 -44
View File
@@ -1,4 +1,5 @@
translate piglatin strings:
translate piglatin strings:
# options.rpy:1
old "## This file contains options that can be changed to customize your game."
@@ -33,162 +34,170 @@
new "## Hetay ersionvay ofay hetay amegay."
# options.rpy:31
old "## Text that is placed on the game's about screen. To insert a blank line between paragraphs, write \\n\\n."
new "## Exttay hattay isay acedplay onay hetay amegay'say aboutay creensay. Otay insertay aay ankblay inelay etweenbay aragraphspay, riteway \\nay\\nay."
old "## Text that is placed on the game's about screen. Place the text between the triple-quotes, and leave a blank line between paragraphs."
new "## Exttay hattay isay acedplay onay hetay amegay'say aboutay creensay. Lacepay hetay exttay etweenbay hetay ipletray-uotesqay, anday eavelay aay ankblay inelay etweenbay aragraphspay."
# options.rpy:37
# options.rpy:38
old "## A short name for the game used for executables and directories in the built distribution. This must be ASCII-only, and must not contain spaces, colons, or semicolons."
new "## Aay ortshay amenay orfay hetay amegay useday orfay executablesay anday irectoriesday inay hetay uiltbay istributionday. Histay ustmay ebay Sciiaay-onlyay, anday ustmay otnay ontaincay pacessay, olonscay, oray emicolonssay."
# options.rpy:44
# options.rpy:45
old "## Sounds and music"
new "## Oundssay anday usicmay"
# options.rpy:46
# options.rpy:47
old "## These three variables control which mixers are shown to the player by default. Setting one of these to False will hide the appropriate mixer."
new "## Hesetay hreetay ariablesvay ontrolcay hichway ixersmay areay ownshay otay hetay ayerplay ybay efaultday. Ettingsay oneay ofay hesetay otay Alsefay illway idehay hetay appropriateay ixermay."
# options.rpy:55
# options.rpy:56
old "## To allow the user to play a test sound on the sound or voice channel, uncomment a line below and use it to set a sample sound to play."
new "## Otay alloway hetay useray otay ayplay aay esttay oundsay onay hetay oundsay oray oicevay annelchay, uncommentay aay inelay elowbay anday useay itay otay etsay aay amplesay oundsay otay ayplay."
# options.rpy:62
# options.rpy:63
old "## Uncomment the following line to set an audio file that will be played while the player is at the main menu. This file will continue playing into the game, until it is stopped or another file is played."
new "## Ncommentuay hetay ollowingfay inelay otay etsay anay audioay ilefay hattay illway ebay ayedplay hileway hetay ayerplay isay atay hetay ainmay enumay. Histay ilefay illway ontinuecay ayingplay intoay hetay amegay, untilay itay isay oppedstay oray anotheray ilefay isay ayedplay."
# options.rpy:69
# options.rpy:70
old "## Transitions"
new "## Ransitionstay"
# options.rpy:71
# options.rpy:72
old "## These variables set transitions that are used when certain events occur. Each variable should be set to a transition, or None to indicate that no transition should be used."
new "## Hesetay ariablesvay etsay ansitionstray hattay areay useday henway ertaincay eventsay occuray. Acheay ariablevay ouldshay ebay etsay otay aay ansitiontray, oray Onenay otay indicateay hattay onay ansitiontray ouldshay ebay useday."
# options.rpy:75
# options.rpy:76
old "## Entering or exiting the game menu."
new "## Nteringeay oray exitingay hetay amegay enumay."
# options.rpy:81
# options.rpy:82
old "## Between screens of the game menu."
new "## Etweenbay creenssay ofay hetay amegay enumay."
# options.rpy:87
old "## A transition that is used after a game has been loaded."
new "## Aay ansitiontray hattay isay useday afteray aay amegay ashay eenbay oadedlay."
# options.rpy:86
# options.rpy:92
old "## Used when entering the main menu after the game has ended."
new "## Seduay henway enteringay hetay ainmay enumay afteray hetay amegay ashay endeday."
# options.rpy:91
# options.rpy:97
old "## A variable to set the transition used when the game starts does not exist. Instead, use a with statement after showing the initial scene."
new "## Aay ariablevay otay etsay hetay ansitiontray useday henway hetay amegay artsstay oesday otnay existay. Nsteadiay, useay aay ithway atementstay afteray owingshay hetay initialay cenesay."
# options.rpy:96
# options.rpy:102
old "## Window management"
new "## Indowway anagementmay"
# options.rpy:98
# options.rpy:104
old "## This controls when the dialogue window is displayed. If \"show\", it is always displayed. If \"hide\", it is only displayed when dialogue is present. If \"auto\", the window is hidden before scene statements and shown again once dialogue is displayed."
new "## Histay ontrolscay henway hetay ialogueday indowway isay isplayedday. Fiay \"owshay\", itay isay alwaysay isplayedday. Fiay \"idehay\", itay isay onlyay isplayedday henway ialogueday isay resentpay. Fiay \"autoay\", hetay indowway isay iddenhay eforebay cenesay atementsstay anday ownshay againay onceay ialogueday isay isplayedday."
# options.rpy:103
# options.rpy:109
old "## After the game has started, this can be changed with the \"window show\", \"window hide\", and \"window auto\" statements."
new "## Fteraay hetay amegay ashay artedstay, histay ancay ebay angedchay ithway hetay \"indowway owshay\", \"indowway idehay\", anday \"indowway autoay\" atementsstay."
# options.rpy:109
# options.rpy:115
old "## Transitions used to show and hide the dialogue window"
new "## Ransitionstay useday otay owshay anday idehay hetay ialogueday indowway"
# options.rpy:115
# options.rpy:121
old "## Preference defaults"
new "## Referencepay efaultsday"
# options.rpy:117
# options.rpy:123
old "## Controls the default text speed. The default, 0, is infinite, while any other number is the number of characters per second to type out."
new "## Ontrolscay hetay efaultday exttay peedsay. Hetay efaultday, 0ay, isay infiniteay, hileway anyay otheray umbernay isay hetay umbernay ofay aracterschay erpay econdsay otay ypetay outay."
# options.rpy:123
# options.rpy:129
old "## The default auto-forward delay. Larger numbers lead to longer waits, with 0 to 30 being the valid range."
new "## Hetay efaultday autoay-orwardfay elayday. Argerlay umbersnay eadlay otay ongerlay aitsway, ithway 0ay otay 03ay eingbay hetay alidvay angeray."
# options.rpy:129
# options.rpy:135
old "## Save directory"
new "## Avesay irectoryday"
# options.rpy:131
# options.rpy:137
old "## Controls the platform-specific place Ren'Py will place the save files for this game. The save files will be placed in:"
new "## Ontrolscay hetay atformplay-pecificsay aceplay Enray'Ypay illway aceplay hetay avesay ilesfay orfay histay amegay. Hetay avesay ilesfay illway ebay acedplay inay:"
# options.rpy:134
# options.rpy:140
old "## Windows: %APPDATA\\RenPy\\<config.save_directory>"
new "## Indowsway: %Ppdataaay\\Enpyray\\<onfigcay.ave_directorysay>"
# options.rpy:136
# options.rpy:142
old "## Macintosh: $HOME/Library/RenPy/<config.save_directory>"
new "## Acintoshmay: $Omehay/Ibrarylay/Enpyray/<onfigcay.ave_directorysay>"
# options.rpy:138
# options.rpy:144
old "## Linux: $HOME/.renpy/<config.save_directory>"
new "## Inuxlay: $Omehay/.enpyray/<onfigcay.ave_directorysay>"
# options.rpy:140
# options.rpy:146
old "## This generally should not be changed, and if it is, should always be a literal string, not an expression."
new "## Histay enerallygay ouldshay otnay ebay angedchay, anday ifay itay isay, ouldshay alwaysay ebay aay iterallay ringstay, otnay anay expressionay."
# options.rpy:146
old "## Icon ########################################################################'"
new "## Coniay ########################################################################'"
# options.rpy:152
old "## Icon"
new "## Coniay"
# options.rpy:148
# options.rpy:154
old "## The icon displayed on the taskbar or dock."
new "## Hetay iconay isplayedday onay hetay askbartay oray ockday."
# options.rpy:153
# options.rpy:159
old "## Build configuration"
new "## Uildbay onfigurationcay"
# options.rpy:155
# options.rpy:161
old "## This section controls how Ren'Py turns your project into distribution files."
new "## Histay ectionsay ontrolscay owhay Enray'Ypay urnstay ouryay rojectpay intoay istributionday ilesfay."
# options.rpy:160
# options.rpy:166
old "## The following functions take file patterns. File patterns are case- insensitive, and matched against the path relative to the base directory, with and without a leading /. If multiple patterns match, the first is used."
new "## Hetay ollowingfay unctionsfay aketay ilefay atternspay. Ilefay atternspay areay asecay- insensitiveay, anday atchedmay againstay hetay athpay elativeray otay hetay asebay irectoryday, ithway anday ithoutway aay eadinglay /. Fiay ultiplemay atternspay atchmay, hetay irstfay isay useday."
# options.rpy:165
# options.rpy:171
old "## In a pattern:"
new "## Niay aay atternpay:"
# options.rpy:167
# options.rpy:173
old "## / is the directory separator."
new "## / isay hetay irectoryday eparatorsay."
# options.rpy:169
# options.rpy:175
old "## * matches all characters, except the directory separator."
new "## * atchesmay allay aracterschay, exceptay hetay irectoryday eparatorsay."
# options.rpy:171
# options.rpy:177
old "## ** matches all characters, including the directory separator."
new "## ** atchesmay allay aracterschay, includingay hetay irectoryday eparatorsay."
# options.rpy:173
# options.rpy:179
old "## For example, \"*.txt\" matches txt files in the base directory, \"game/**.ogg\" matches ogg files in the game directory or any of its subdirectories, and \"**.psd\" matches psd files anywhere in the project."
new "## Orfay exampleay, \"*.xttay\" atchesmay xttay ilesfay inay hetay asebay irectoryday, \"amegay/**.oggay\" atchesmay oggay ilesfay inay hetay amegay irectoryday oray anyay ofay itsay ubdirectoriessay, anday \"**.sdpay\" atchesmay sdpay ilesfay anywhereay inay hetay rojectpay."
# options.rpy:177
# options.rpy:183
old "## Classify files as None to exclude them from the built distributions."
new "## Lassifycay ilesfay asay Onenay otay excludeay hemtay omfray hetay uiltbay istributionsday."
# options.rpy:185
# options.rpy:191
old "## To archive files, classify them as 'archive'."
new "## Otay archiveay ilesfay, assifyclay hemtay asay 'archiveay'."
# options.rpy:190
# options.rpy:196
old "## Files matching documentation patterns are duplicated in a mac app build, so they appear in both the app and the zip file."
new "## Ilesfay atchingmay ocumentationday atternspay areay uplicatedday inay aay acmay appay uildbay, osay heytay appearay inay othbay hetay appay anday hetay ipzay ilefay."
# options.rpy:196
# options.rpy:202
old "## Set this to a string containing your Apple Developer ID Application to enable codesigning on the Mac. Be sure to change it to your own Apple-issued ID."
new "## Etsay histay otay aay ringstay ontainingcay ouryay Ppleaay Eveloperday Diay Pplicationaay otay enableay odesigningcay onay hetay Acmay. Ebay uresay otay angechay itay otay ouryay ownay Ppleaay-issueday Diay."
# options.rpy:209
old "## A Google Play license key is required to download expansion files and perform in-app purchases. It can be found on the \"Services & APIs\" page of the Google Play developer console."
new "## Aay Ooglegay Laypay icenselay eykay isay equiredray otay ownloadday expansionay ilesfay anday erformpay inay-appay urchasespay. Tiay ancay ebay oundfay onay hetay \"Ervicessay & Pisaay\" agepay ofay hetay Ooglegay Laypay eveloperday onsolecay."
# options.rpy:203
# options.rpy:216
old "## The username and project name associated with an itch.io project, separated by a slash."
new "## Hetay usernameay anday rojectpay amenay associateday ithway anay itchay.ioay rojectpay, eparatedsay ybay aay ashslay."
File diff suppressed because it is too large Load Diff
+18 -18
View File
@@ -1,33 +1,33 @@
# Eclareday aracterschay useday ybay histay amegay. Hetay olorcay argumentay olorizescay hetay
# amenay ofay hetay aracterchay.
# The script of the game goes in this file.
define e = Character("Ileeneay")
# Declare characters used by this game. The color argument colorizes the
# name of the character.
define e = Character("Eileen")
# Hetay amegay artsstay erehay.
# The game starts here.
label start:
# Howsay aay ackgroundbay. Histay usesay aay aceholderplay ybay efaultday, utbay ouyay ancay
# adday aay ilefay (amednay eitheray "bg oomray.png" oray "bg oomray.jpg") otay hetay
# imagesay irectoryday otay owshay itay.
# Show a background. This uses a placeholder by default, but you can
# add a file (named either "bg room.png" or "bg room.jpg") to the
# images directory to show it.
scene bg oomray
scene bg room
# Histay owsshay aay aracterchay pritesay. Aay aceholderplay isay useday, utbay ouyay ancay
# eplaceray itay ybay addingay aay ilefay amednay "eileenay appyhay.png" otay hetay imagesay
# irectoryday.
# This shows a character sprite. A placeholder is used, but you can
# replace it by adding a file named "eileen happy.png" to the images
# directory.
show eileenay appyhay
show eileen happy
# Hesetay isplayday ineslay ofay ialogueday.
# These display lines of dialogue.
"Ellohay, orldway."
e "You've created a new Ren'Py game."
e "Ouyay'evay reatedcay aay ewnay Enray'Ypay amegay."
e "Once you add a story, pictures, and music, you can release it to the world!"
e "Nceoay ouyay adday aay orystay, icturespay, anday usicmay, ouyay ancay eleaseray itay otay hetay orldway!"
# Histay endsay hetay amegay.
# This ends the game.
return
-5
View File
@@ -1,5 +0,0 @@
init python:
translate_font("piglatin", "DroidSansFallback.ttf")
translate piglatin python:
gui.FONT_SCALE = .9
+9
View File
@@ -0,0 +1,9 @@
translate portuguese strings:
# game/about.rpy:21
old "[version!q]"
new "[version!q]"
# game/about.rpy:25
old "View license"
new "Ver licenca"
+21
View File
@@ -0,0 +1,21 @@
translate portuguese strings:
# game/add_file.rpy:7
old "FILENAME"
new "Nome do arquivo"
# game/add_file.rpy:7
old "Enter the name of the script file to create."
new "Introduza o nome do arquivo para criá-lo."
# game/add_file.rpy:10
old "The filename must have the .rpy extension."
new "O nome do arquivo precisa ter a extensao .rpy."
# game/add_file.rpy:18
old "The file already exists."
new "O arquivo já existe"
# game/add_file.rpy:21
old "# Ren'Py automatically loads all script files ending with .rpy. To use this\n# file, define a label and jump to it from another file.\n"
new "# Ren'Py carrega automaticamente todos os arquivos que terminam com .rpy. Para usar esse\n# archivo, defina uma label e pule para ele de outro arquivo\n"
+174
View File
@@ -0,0 +1,174 @@
translate portuguese strings:
# game/android.rpy:12
old "To build Android packages, please download RAPT, unzip it, and place it into the Ren'Py directory. Then restart the Ren'Py launcher."
new "Para construir um pacote para Android, por favor baixe RAPT, extraia e o coloque dentro da pasta do Ren'Py. Depois reinicie o Ren'Py."
# game/android.rpy:13
old "A 32-bit Java Development Kit is required to build Android packages on Windows. The JDK is different from the JRE, so it's possible you have Java without having the JDK.\n\nPlease {a=http://www.oracle.com/technetwork/java/javase/downloads/index.html}download and install the JDK{/a}, then restart the Ren'Py launcher."
new "É necessário o Java Development Kit de 32-bit para construir pacotes para Android no Windows. O JDK é diferente do JRE, é possivel que você possua o Java sem possuir o JDK.\n\nPor favor {a=http://www.oracle.com/technetwork/java/javase/downloads/index.html}baixe e instale o JDK{/a}, depois, reinicie o Ren'Py."
# game/android.rpy:14
old "To build Android packages, please download RAPT (from {a=http://www.renpy.org/dl/android}here{/a}), unzip it, and place it into the Ren'Py directory. Then restart the Ren'Py launcher."
new "Para construir pacotes para Android, por favor baixe RAPT (desde {a=http://www.renpy.org/dl/android}aquí{/a}), extraia e o coloque dentro da pasta do Ren'Py. Depois reinicie o Ren'Py."
# game/android.rpy:15
old "RAPT has been installed, but you'll need to install the Android SDK before you can build Android packages. Choose Install SDK to do this."
new "RAPT está instalado, mas você precisa instalar o Android SDK para poder construir pacotes para Android. Selecione instalar SDK para instala-lo."
# game/android.rpy:16
old "RAPT has been installed, but a key hasn't been configured. Please create a new key, or restore android.keystore."
new "RAPT está instalado, mas a chave não foi configurada. Por favor crie uma nova chave, ou restaure a android.keystore."
# game/android.rpy:17
old "The current project has not been configured. Use \"Configure\" to configure it before building."
new "O projeto atual ainda não foi configurado. Use \"Configurar\" para configura-lo antes de construir o pacote."
# game/android.rpy:18
old "Choose \"Build\" to build the current project, or attach an Android device and choose \"Build & Install\" to build and install it on the device."
new "Selecione \"Construir\" para construir o projeto atual, ou conecte um dispositivo Android e selecione \"Construir & instalar\" para construí-lo e instala-lo em seu dispositivo."
# game/android.rpy:20
old "Attempts to emulate an Android phone.\n\nTouch input is emulated through the mouse, but only when the button is held down. Escape is mapped to the menu button, and PageUp is mapped to the back button."
new "Tentativas para emular um celular Android.\n\nO toque é emulado pelo mouse, mas apenas quando o botao é clicado. Escape é emulado como botao do menu, e PageUp é emulado como botao de voltar"
# game/android.rpy:21
old "Attempts to emulate an Android tablet.\n\nTouch input is emulated through the mouse, but only when the button is held down. Escape is mapped to the menu button, and PageUp is mapped to the back button."
new "Tentativas para emular um tablet Android. \n\nO toque é emulado pelo mouse, mas apenas quando o botao é clicado. Escape é emulado como botao do menu, e PageUp é emulado como botao de voltar"
# game/android.rpy:22
old "Attempts to emulate an OUYA console.\n\nController input is mapped to the arrow keys, Enter is mapped to the select button, Escape is mapped to the menu button, and PageUp is mapped to the back button."
new "Tentativas para emular um console OUYA. \n\nO toque é emulado pelo mouse, mas apenas quando o botao é clicado. Escape é emulado como botao do menu, e PageUp é emulado como botao de voltar."
# game/android.rpy:23
old "Downloads and installs the Android SDK and supporting packages. Optionally, generates the keys required to sign the package."
new "Baixe e instale o Android SDK e os pacotes de suporte. Opcionalmente, gere as chaves necessarias para autenticar o pacote."
# game/android.rpy:24
old "Configures the package name, version, and other information about this project."
new "Configure o nome do pacote, a versao, e outras informações sobre o projeto."
# game/android.rpy:25
old "Opens the file containing the Google Play keys in the editor.\n\nThis is only needed if the application is using an expansion APK. Read the documentation for more details."
new "Abre o arquivo que contém as chaves do Google Play no editor. \n\nIsso só é necessario se a aplicação usa expansão APK. Para mais informações, leia a documentação"
# game/android.rpy:26
old "Builds the Android package."
new "Construir um pacote para android"
# game/android.rpy:27
old "Builds the Android package, and installs it on an Android device connected to your computer."
new "Construir um pacote para Android, e instala-lo em um dispositivo Android conectado ao seu computador."
# game/android.rpy:148
old "{a=%s}%s{/a}"
new "{a=%s}%s{/a}"
# game/android.rpy:157
old "QUESTION"
new "PERGUNTA"
# game/android.rpy:367
old "Android: [project.current.name!q]"
new "Android: [project.current.name!q]"
# game/android.rpy:387
old "Emulation:"
new "Emulação:"
# game/android.rpy:395
old "Phone"
new "Telefone"
# game/android.rpy:399
old "Tablet"
new "Tablet"
# game/android.rpy:403
old "Television / OUYA"
new "Televisao / OUYA"
# game/android.rpy:415
old "Build:"
new "Construir:"
# game/android.rpy:423
old "Install SDK & Create Keys"
new "Instalar SDK & Criar chaves"
# game/android.rpy:427
old "Configure"
new "Configurar"
# game/android.rpy:431
old "Build Package"
new "Construir Pacote"
# game/android.rpy:435
old "Build & Install"
new "Construir & Instalar"
# game/android.rpy:486
old "Before packaging Android apps, you'll need to download RAPT, the Ren'Py Android Packaging Tool. Would you like to download RAPT now?"
new "Antes de construir apps para Android, você precisa baixar RAPT, Ren'Py Android Packaging Tool. Quer baixar o RAPT agora?"
# game/android.rpy:39
old "Attempts to emulate a televison-based Android console, like the OUYA or Fire TV.\n\nController input is mapped to the arrow keys, Enter is mapped to the select button, Escape is mapped to the menu button, and PageUp is mapped to the back button."
new "Tentativas de emular um console Android television-based, como OUYA ou Fire TV.\n\nPara o controle se usa as setas, Enter está mapeado como o botao select. Escape está mapeado como o botão menu y PageUp está mapeado como o botao back"
# game/android.rpy:47
old "Connects to an Android device running ADB in TCP/IP mode."
new "Conectar a um dispositivo Android executando ADB em modo TCP/IP."
# game/android.rpy:48
old "Disconnects from an Android device running ADB in TCP/IP mode."
new "Desconectar de um dispositivo Android que está usando ADB em modo TCP/IP."
# game/android.rpy:516
old "Other:"
new "Outros:"
# game/android.rpy:524
old "Remote ADB Connect"
new "Conectar ADB remotamente"
# game/android.rpy:528
old "Remote ADB Disconnect"
new "Desconectar ADB remotamente"
# game/android.rpy:608
old "Remote ADB Address"
new "Endereço remoto ADB"
# game/android.rpy:609
old "Please enter the IP address and port number to connect to, in the form \"192.168.1.143:5555\". Consult your device's documentation to determine if it supports remote ADB, and if so, the address and port to use."
new "Por favor introduza o endereço IP e o número da porta para se conectar, no formato \"192.168.1.143:5555\". Consulte a documentação de seu dispositivo para averiguar se ele é compativel com ADB remoto, e se sim, o endereço e a porta utilizados."
# game/android.rpy:619
old "Invalid remote ADB address"
new "Endereço remoto ADB não é válido"
# game/android.rpy:619
old "The address must contain one exactly one ':'."
new "O endereço deve conter exatamente um ':'."
# game/android.rpy:623
old "The host may not contain whitespace."
new "O host não pode conter espaços em branco."
# game/android.rpy:629
old "The port must be a number."
new "A porta deve ser um número."
# game/android.rpy:46
old "Builds the Android package, installs it on an Android device connected to your computer, then launches the app on your device."
new "Constroi um pacote para Android, instala ele em um dispositivo android conectado ao seu computador, e executa o app em seu dispositivo."
# game/android.rpy:290
old "Television"
new "Televisao"
# game/android.rpy:326
old "Build, Install & Launch"
new "Construir, instalar & Executar"
@@ -0,0 +1,6 @@
translate portuguese strings:
# game/choose_directory.rpy:73
old "Ren'Py was unable to run python with tkinter to choose the directory. Please install the python-tk or tkinter package."
new "Ren'Py foi incapaz de rodar python com tkinter para escolher um diretório. Por favor o pacote python-tk ou o pacote tkinter."

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