1. 23 Apr, 2022 1 commit
  2. 07 Apr, 2022 1 commit
    • fluzz's avatar
      Update translations · 3d5ffe97
      fluzz authored
      po-src:
          fr: 578 translated messages.
          de: 578 translated messages.
          pt_BR: 578 translated messages.
          sv: 578 translated messages.
          cs: 578 translated messages.
          es: 493 translated messages, 85 untranslated messages.
          it: 578 translated messages.
          ru: 578 translated messages.
          hu: 540 translated messages, 38 untranslated messages.
      po-dialogs:
          fr: 6150 translated messages.
          de: 6150 translated messages.
          pt_BR: 6150 translated messages.
          sv: 5759 translated messages, 391 untranslated messages.
          cs: 6150 translated messages.
          es: 4932 translated messages, 1218 untranslated messages.
          it: 4980 translated messages, 1170 untranslated messages.
          ru: 6150 translated messages.
          hu: 4260 translated messages, 1890 untranslated messages.
      po-data:
          fr: 987 translated messages.
          de: 987 translated messages.
          pt_BR: 987 translated messages.
          sv: 987 translated messages.
          cs: 987 translated messages.
          es: 861 translated messages...
      3d5ffe97
  3. 04 Apr, 2022 1 commit
  4. 31 Mar, 2022 1 commit
    • fluzz's avatar
      Update translations · 5d0da492
      fluzz authored
        po-src:
          fr: 577 translated messages, 1 untranslated message.
          de: 577 translated messages, 1 untranslated message.
          pt_BR: 577 translated messages, 1 untranslated message.
          sv: 577 translated messages, 1 untranslated message.
          cs: 577 translated messages, 1 untranslated message.
          es: 493 translated messages, 85 untranslated messages.
          it: 577 translated messages, 1 untranslated message.
          ru: 577 translated messages, 1 untranslated message.
          hu: 540 translated messages, 38 untranslated messages.
        po-dialogs:
          fr: 6147 translated messages, 3 untranslated messages.
          de: 6147 translated messages, 3 untranslated messages.
          pt_BR: 6147 translated messages, 3 untranslated messages.
          sv: 5756 translated messages, 394 untranslated messages.
          cs: 6147 translated messages, 3 untranslated messages.
          es: 4932 translated messages, 1218 untranslated messages.
          it: 4974 translated messages, 1176 untranslated messages.
          ru: 6147 translated messages, 3 untranslated messages.
          hu: 4260 translated messages, 1890 untranslated messages.
        po-data:
          fr: 987 translated messages.
          de: 987 translated messages.
          pt_BR: 987 translated messages.
          sv: 987 translated messages.
          cs: 987 translated messages.
          es: 861 translated messages, 126 untranslated messages.
          it: 939 translated messages, 48 untranslated messages.
          ru: 987 translated messages.
          hu: 900 translated messages, 87 untranslated messages.
      5d0da492
  5. 24 Dec, 2021 1 commit
    • fluzz's avatar
      Use a dynarray to store the items of a level. · 9937c9ca
      fluzz authored
      Currently, level's items are stored in a static C array.
      If the array is full, then it is no more possible to drop an item
      to the floor.
      Moreover, when swapping items in the inventory, the item hold in hand
      is temporary stored in the level's items array. And if that array
      is full, the game crashes.
      
      This patch replaces the static C array by a dynarray, thus removing
      any limit on the number of items that a level can contain.
      
      This fixes issue966
      9937c9ca
  6. 14 Nov, 2021 2 commits
  7. 13 Nov, 2021 2 commits
    • fluzz's avatar
      Heap overflow in loading untrusted save game · 17711a42
      fluzz authored
      Fixed length buffers are used to decode the maps and the waypoints
      when loading a savegame. Corrupted savegames could then be used to
      create an heap overflow and execute malicious code.
      
      This path fixes 2 reported issues :
      
      1/ The length of the map's line currently extracted from the savegame
      is computed, and used to allocated a storage buffer. The same is done
      for decoding a waypoint.
      
      The length of the savegame's line currently read is also checked and if
      it is too long, the game is aborted.
      
      This fixes issue951.
      
      2/ When decoding a map, the expected line length is computed (based on
      the map xlen and the number of layers) and if the line read from the
      savegame does not have that expected length, the game is aborted.
      
      This fixes issue952.
      17711a42
    • fluzz's avatar
      No need to warn if a config parameter is missing in fdrpg.cfg · 918b264c
      fluzz authored
      If a parameter is missing, its default value is used, so it is useless
      to warn the user.
      
      This patch extends the gen_savestruct.py script, so that some structures
      can be read without warnings (see the 'no_warn_for_structs' new array).
      
      The 'configuration_for_freedroid' structure is one of those (the only
      one actually).
      
      Fixes issue976
      918b264c
  8. 05 Nov, 2021 2 commits
    • fluzz's avatar
      The 'enter' key on the keypad is not active. · 2b4feaf0
      fluzz authored
      This patch makes the 'enter' key on the keypad to act as the 'return'
      key on the main keyboard.
      
      Based on a Debian's patch proposed by Bart Martens.
      
      This closes issue963
      2b4feaf0
    • fluzz's avatar
      Fix display of accented characters on MacOSX · ee60be92
      fluzz authored
      Since MacOSX 10.14 (Mojave), the system locale can no more been retrieved
      with a call to setlocale(LC_MESSAGES, ""), when run by double-clicking on the
      App's icon.
      It however works as expected when run from the command line...
      
      If the setlocale() call does not succeed, the system language is now
      requested using the CoreFoundation API.
      
      This fixes issue954.
      ee60be92
  9. 02 Oct, 2021 2 commits
  10. 04 Sep, 2021 3 commits
  11. 13 May, 2020 2 commits
  12. 28 Feb, 2020 1 commit
    • fluzz's avatar
      Remove the need to specifically use gawk (instead of other flavors of · 48311506
      fluzz authored
      awk).
      
      An awk script in the po/update-potfiles script uses gawk specific features
      (two dimensional arrays, match() and asort() functions).
      
      In order to avoid the need of a specific version of awk, this patch replaces
      the awk script by a more conservative bash script.
      
      This closes issue868
      48311506
  13. 26 Feb, 2020 1 commit
    • fluzz's avatar
      Fix a bug on droid animations, in SDL mode, with precaching enabled. · 008d0bcf
      fluzz authored
      Currently the animation images are preloaded when a droid spec is parsed from
      droid_specs.lua.
      The droid specs are stored in a dynarray. So, when the dynarray is reallocated,
      the pointers associated to the images become invalid, and animations are
      broken.
      
      This patch moves the preload of enemy graphics at a later stage, once
      the entire set of droid specs is loaded.
      
      This closes issue964.
      008d0bcf
  14. 06 Nov, 2019 3 commits
  15. 08 Oct, 2019 1 commit
    • fluzz's avatar
      Rework commit dade2a74, which was reverted by 0aa3161c. · 692a9db5
      fluzz authored
      The reworked commit was about "preventing a crash, possibly, due to FP
      arithmetic accuracy problems..."
      
      Here is the comment added in view.c:resolve_virtual_position():
      
      We need to ensure that the computed position is inside the boundaries of
      the 'real' level. Due to a lack of precision during floating point computations
      (i.e. if x<<<y, then (y+x) => (y)), we could possibly get a wrong output.
      For instance, if vpos.x = -0.000002, we expect the computed position to be
      rpos.x = 89.999998 on the left level (given a level's width of 90).
      But, using floats, 90.0-0.000002 gives 90.0, which is not "inside" the level,
      and thus this function returns false.
      The same issue applies to small positive quantities.
      As a fix, a "too small" value is replaced by EPSILON_FIX, which is high enough
      to be representable in the range of float values that we use for the positions.
      Note that this limits the position's precision, around level's boundary, to 1/1000,
      which seems to be small enough.
      
      Closes issue917
      692a9db5
  16. 06 Oct, 2019 1 commit
  17. 05 Oct, 2019 5 commits
  18. 12 Jun, 2019 1 commit
  19. 11 Jun, 2019 3 commits
  20. 07 Jun, 2019 1 commit
  21. 06 Jun, 2019 1 commit
    • Arthur Huillet's avatar
      savegame: fix game loading on non-glibc platforms · 875d8fe3
      Arthur Huillet authored
      savegame loading uses %ms scanf format to match a string and allocate it, but this is only available on some platforms.
      The "m" modifier is apparently in POSIX, but it's not available in Haiku, and scanf there will not do anything for %ms.
      
      Fix the bug by manually allocating memory and reading into it.
      875d8fe3
  22. 12 May, 2019 2 commits
  23. 10 May, 2019 1 commit
  24. 08 May, 2019 1 commit