hedgewars/uScript.pas
branchgettext
changeset 11168 e104e060911b
parent 11066 f10a4bdfa0f4
child 11268 b14de8b74183
equal deleted inserted replaced
11167:13d332e62860 11168:e104e060911b
    88     uVisualGearsList,
    88     uVisualGearsList,
    89     uGearsHandlersMess,
    89     uGearsHandlersMess,
    90     uPhysFSLayer,
    90     uPhysFSLayer,
    91     SDLh
    91     SDLh
    92 {$IFNDEF PAS2C}
    92 {$IFNDEF PAS2C}
       
    93     , uLocale
    93     , typinfo
    94     , typinfo
    94 {$ENDIF}
    95 {$ENDIF}
    95     ;
    96     ;
    96 
    97 
    97 var luaState : Plua_State;
    98 var luaState : Plua_State;
  2602 
  2603 
  2603         end;
  2604         end;
  2604 
  2605 
  2605     lc_endluatest:= 0;
  2606     lc_endluatest:= 0;
  2606 end;
  2607 end;
       
  2608 
       
  2609 // localization
       
  2610 function lc_loc(L: Plua_State) : LongInt; Cdecl;
       
  2611 var si, so: shortstring;
       
  2612 const
       
  2613     call = 'loc';
       
  2614     params = 'text';
       
  2615 begin
       
  2616     if CheckLuaParamCount(L, 1, call, params) then
       
  2617         begin
       
  2618         si:= lua_tostring(L, 1);
       
  2619         {$IFNDEF PAS2C}
       
  2620         so:= locMOFile.Translate(si);
       
  2621         if Length(so) < 1 then
       
  2622         {$ENDIF}
       
  2623         so:= si;//'gettext("' + si + '")';
       
  2624         lua_pushstring(L, Str2PChar(so));
       
  2625         end;
       
  2626     lc_loc:= 1;
       
  2627 end;
       
  2628 
  2607 ///////////////////
  2629 ///////////////////
  2608 
  2630 
  2609 procedure ScriptPrintStack;
  2631 procedure ScriptPrintStack;
  2610 var n, i : LongInt;
  2632 var n, i : LongInt;
  2611 begin
  2633 begin
  3332 
  3354 
  3333 lua_register(luaState, _P'SetGearAIHints', @lc_setgearaihints);
  3355 lua_register(luaState, _P'SetGearAIHints', @lc_setgearaihints);
  3334 lua_register(luaState, _P'HedgewarsScriptLoad', @lc_hedgewarsscriptload);
  3356 lua_register(luaState, _P'HedgewarsScriptLoad', @lc_hedgewarsscriptload);
  3335 lua_register(luaState, _P'DeclareAchievement', @lc_declareachievement);
  3357 lua_register(luaState, _P'DeclareAchievement', @lc_declareachievement);
  3336 
  3358 
       
  3359 lua_register(luaState, _P'loc', @lc_loc);
       
  3360 
  3337 ScriptSetInteger('TEST_SUCCESSFUL'   , HaltTestSuccess);
  3361 ScriptSetInteger('TEST_SUCCESSFUL'   , HaltTestSuccess);
  3338 ScriptSetInteger('TEST_FAILED'       , HaltTestFailed);
  3362 ScriptSetInteger('TEST_FAILED'       , HaltTestFailed);
  3339 lua_register(luaState, _P'EndLuaTest', @lc_endluatest);
  3363 lua_register(luaState, _P'EndLuaTest', @lc_endluatest);
  3340 
  3364 
  3341 ScriptClearStack; // just to be sure stack is empty
  3365 ScriptClearStack; // just to be sure stack is empty