Commit 4e094b71 authored by auraes's avatar auraes 💬
Browse files

Préparation pour version 1.0

parent 61c0d80c
Adaptation et traduction de la bibliothèque PunyInform (version 1.9) en français.
Adaptation et traduction de la bibliothèque PunyInform (version 2.0) en français.
Version 0.9.5-bêta
Version 1.0
Lionel Ange, 2020-2021.
Licence Creative Commons BY-SA 4.0 (CC BY-SA 4.0)
https://creativecommons.org/licenses/by-sa/4.0/deed.fr
......
......@@ -13,7 +13,7 @@ Constant Headline "^Un exemple de jeu qui utilise PunyInform.^";
!Constant STATUSLINE_TIME; Statusline time;
Constant STATUSLINE_SCORE; Statusline score;
! Dé-commentez l'ajout de fonctionnalités optionnelles à PunyLib
!Dé-commentez pour ajouter de fonctionnalités optionnelles à la bibiothèque PunyInform
!Constant DEBUG;
!Constant CUSTOM_ABBREVIATIONS;
Constant OPTIONAL_NO_DARKNESS;
......@@ -36,8 +36,8 @@ Constant OPTIONAL_NO_DARKNESS;
!Constant AVEC_ACCENTS;
!Constant DE_A_JOUER;
! Définissez ici les constantes de bibliothèque dont vous avez besoin, comme MAX_SCORE, AMUSING_PROVIDED,
! MAX_CARRIED, SACK_OBJECT, etc.
!Définissez ici les constantes de bibliothèque dont vous avez besoin, comme MAX_SCORE, AMUSING_PROVIDED,
!MAX_CARRIED, SACK_OBJECT, etc.
Constant INITIAL_LOCATION_VALUE = Library;
......
......@@ -428,7 +428,7 @@ Global notify_mode = true; ! Score notification
Global sys_statusline_flag = 0; ! non-zero if status line displays time
#Endif;
Global turns; ! Number of turns of play so far
Global the_time = NULL; ! Current time (in minutes since midnight)
Global the_time = 0; ! Current time (in minutes since midnight)
Global time_rate = 1; ! How often time is updated
Global time_step; ! By how much
Global lookmode = 1;
......@@ -489,6 +489,7 @@ Global inventory_stage;
Global phase2_necessary;
Global receive_action;
!FRENCH
#IfV3;
Global dict_start;
Global dict_entry_size;
......@@ -618,6 +619,7 @@ Object Directions
#EndIf;
_parse = parse+4*wn-2;
_w = _parse-->0;
!FRENCH
if(_w == 'floor' or 'ground') { !TODO FIXME
#IfDef OPTIONAL_FULL_DIRECTIONS;
selected_direction_index = 10;
......
......@@ -643,6 +643,13 @@ System_file;
++num_noun_groups;
];
[ _IsSentenceDivider p_parse_pointer;
! check if current parse block, indicated by p_parse_pointer,
! is a period or other sentence divider
if (p_parse_pointer --> 0 == './/' or ',//' or AND_WORD or THEN1__WD) rtrue;
rfalse;
];
[ ParseToken p_token_type p_token_data;
! DM defines ParseToken as ParseToken(tokentype,tokendata)
! ParseToken is similar to a general parse routine,
......@@ -651,13 +658,6 @@ System_file;
return _ParseToken(p_token_type, p_token_data, -PHASE1);
];
[ _IsSentenceDivider p_parse_pointer;
! check if current parse block, indicated by p_parse_pointer,
! is a period or other sentence divider
if (p_parse_pointer --> 0 == './/' or ',//' or AND_WORD or THEN1__WD) rtrue;
rfalse;
];
[ _GrabIfNotHeld p_noun _ks;
! return true if p_noun isn't held by the player at the end of the call
! (so that you can use it like: if(_GrabIfNotHeld(...)) { }
......@@ -846,6 +846,7 @@ System_file;
parser_all_except_object = _noun;
! allow 'take all Xs but Y one'
p_parse_pointer = parse + 2 + 4 * (wn - 1);
!FRENCH
if(_PeekAtNextWord() == 'one') { !TODO
wn = wn + 1;
}
......@@ -1522,7 +1523,7 @@ Array guess_num_objects->5;
! (since all data is then already setup and there
! are no side effects to consider)
#IfDef DEBUG_PARSEANDPERFORM;
print "### After phase 1, _best_score = ", _best_score, ", phase2_necessary = ", phase2_necessary, "^";
print "### After phase 1, _best_score = ", _best_score, ", _best_phase2 = ", _best_phase2, "^";
#EndIf;
if(_best_score == 100 && _best_phase2 == PHASE2_SUCCESS) {
#IfDef DEBUG_PARSEANDPERFORM;
......@@ -1530,7 +1531,6 @@ Array guess_num_objects->5;
#EndIf;
jump parse_success;
}
if(_best_score < parse->1) {
if(_best_phase2 == PHASE2_ERROR) {
! call again to generate suitable error message
......
......@@ -1280,7 +1280,6 @@ Object thedark "L'obscurité"
@restore_undo _i;
if (_i == 0) {
PrintMsg(MSG_UNDO_FAILED);
"~Undo~ failed.";
return 0;
}
return 1;
......@@ -1495,7 +1494,6 @@ Object thedark "L'obscurité"
}
];
! provide entry point routines if the user hasn't already:
! Routines marked NO are not supported in Puny, usually
! because the implementations differ too much.
......@@ -1504,7 +1502,6 @@ Object thedark "L'obscurité"
#Stub AfterPrompt 0;
#Stub Amusing 0;
#Stub BeforeParsing 0;
#Stub DarkToDark 0;
#Stub DeathMessage 0;
#Stub GamePostRoutine 0;
#Stub GamePreRoutine 0;
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment