Permalink
Commits on Nov 9, 2017
  1. Removed LinAlg ctors from float*

    ducakar committed Nov 9, 2017
    - ozCore
      * removed ctors to construct LinAlg classes from float*
      * added Point(const Vec4&) ctor
  2. clang-tidy++, static const fields -> constexpr

    ducakar committed Nov 9, 2017
    - matrix, nirvana, client also checked with clang-tidy & mostly fixed
    - static const fields -> static constexpr where feasible
    - ozCore
      * Vec3, Vec4, Point, Quat, Plane, Mat3, Mat4 have constexpr ctors where
        possible
Commits on Nov 8, 2017
  1. clang-tidy, int16, Void--, ImageData++

    ducakar committed Nov 8, 2017
    - tidy.sh script, runs clang-tidy
    - ozCore, ozEngine, ozFactory, common, matrix mostly cleaned of reasonable
      issues reported by clang-tidy
    - (u)short -> (u)int16
    - non-const reference params replaced by pointers
    - ozCore
      * added int16, uint16 types, ushort removed
      * Void removed
      * String move made properly, no more memcpy on whole class
      * File::isFile() -> isRegular()
    - ozFactory
      * ImageData made properly, with getters and setters & co.
Commits on Nov 5, 2017
  1. Opt--, fixed Gettext move

    ducakar committed Nov 5, 2017
    - ozCore
      * removed Opt<>
      * Opt<Stream> File::read() -> bool File::read(Stream*)
      * File::isFile() -> isRegular()
      * fixed Gettext move ctor & operator
  2. Duration::Timespec --, explicit type on begin/end

    ducakar committed Nov 5, 2017
    - ozCore
      * Duration/Instant: Timespec and timespec() removed
      * explicit types on (c)begin()/(c)end() to ease type resolution for IDEs
Commits on Nov 4, 2017
  1. Box++, (S)List++, String compare++, fixed unittest

    ducakar committed Nov 4, 2017
    - fixed unittest
    - ozCore
      * Box: operator bool, comparisons removed (should work via operator Type*)
      * Box<[]>::reallocate()
      * List: optimised copy operators
      * SList: proper move & copy
      * added all inequality operators to String to fix a bug where pointers to
        strings were compared instead of string contents
      * (S)Bitset uses uint64 instead of size_t
      * fixed Semaphore::tryWait()
Commits on Nov 1, 2017
  1. Opt, Void, typedef -> using, Opt<> File::read()

    ducakar committed Nov 1, 2017
    - typedef -> using
    - ozCore
      * attributes use standard [[...]] syntax
      * new Void unit type
      * removed operator Elem* on iterators
      * System::verror()
      * new Opt<> class template, like std::optional
      * File::read() returns Opt<Stream> to replace empty stream hack to signal failure
Commits on Oct 20, 2017
  1. Duration::Timespec, Time::utc()

    ducakar committed Oct 20, 2017
    - ozCore
      * Duration/Instant::Timespec & timespec() to convert to struct timespec format
      * Time::utc() returns/converts to broken-down time in UTC timezone
Commits on Oct 19, 2017
  1. Mutex & CondVar -> Monitor

    ducakar committed Oct 19, 2017
    - ozCore
      * Mutex and CondVar merged to Monitor
  2. Range, more C++-like iterators, noexcept, rel_ops

    ducakar committed Oct 18, 2017
    - noexcept on move ops, begin()/end(), isEmpty(), size(), capacity() & co.
    - ozCore
      * removed Container::citerator(), iterator()
      * Container::cbegin(), cend()
      * Range, crange(), range()
      * removed Iterator::isValid(), begin(), end()
      * global relation operators: !=, <=, >, >=
Commits on Oct 17, 2017
  1. Quicksort tuning, OZ_GCC --, Result<> test

    ducakar committed Oct 16, 2017
    - fixed warnings reported by Clang & Clang indexer
    - ozCore
      * removed OZ_GCC/OZ_CLANG
      * quicksort takes middle element as pivot to avoid catastrophic performance
        on nearly-sorted lists; selection sort threshold adjusted
    - tests
      * scratch: Result<> proof-of-concept
Commits on Oct 16, 2017
  1. C++17

    ducakar committed Oct 16, 2017
    - nested namespaces
    - ozCore
      * end() iterator returns nullptr_t for (D)Chain and Hash*
  2. long64 -> int64

    ducakar committed Oct 15, 2017
    - ozCore
      * renamed (u)long64 to (u)int64
  3. PhysicsFS 3.0, long64 file size

    ducakar committed Oct 15, 2017
    - ozCore
      * updated to PhysicsFS 3.0
      * File size extended to long64 in Stat and read()/write()
  4. Box, new/delete Descriptor, Gettext Lists, Json ++

    ducakar committed Oct 15, 2017
    - ozCore
      * new Box class, for wrapping owning pointer and automatic delete when out of
        scope (similar to Box class in Rust)
      * Descriptors in threading classes are now (de)allocated with new/delete
        since long time not used in System any more
      * Gettext simplified by using List<> rather that manually managed pointers
      * Json
        + comment_ is now String rather than manually managed const char*, which
          also fixes some memory management errors
        + UNIX newline only, cannot be changed through Json::Format
Commits on Oct 14, 2017
  1. Json fixes

    ducakar committed Oct 14, 2017
    - ozCore
      * Json implementation fixes
Commits on Oct 8, 2017
  1. Semaphore maxValue, Thread ctor for arbitrary func

    ducakar committed Oct 8, 2017
    - ozCore
      * String::vformat() (vsprintf)
      * Semaphore value is now clamped to a max value
      * Thread ctor for an arbitrary (lambda) function
Commits on Sep 27, 2017
  1. Dropped noexcept, clang 5.0 fixes

    ducakar committed Sep 27, 2017
    - fixed warinings reported by clang 5.0
    - ozCore
      * dropped noexcept, unnecessary complication since not using exceptions anyway
Commits on Sep 14, 2017
  1. Vararg min() & max(), const String& Thread::name()

    ducakar committed Sep 14, 2017
    - ozCore
      * variable argument min() & max()
      * String: public STATIC_SIZE <- BUFFER_SIZE
      * Thread::name(): const char* -> const String&
Commits on Sep 9, 2017
  1. Bell ALSA -> Pulse, bell sync++

    ducakar committed Sep 9, 2017
    - ozCore
      * memory orders: ATOMIC_XXX -> XXX
      * bell sync improved (double locking, whole bell thread main in mutex ...)
      * ALSA dropped, replaced by runtime-linked pulse-simple
Commits on Aug 30, 2017
  1. Threading++, reverted PCH++

    ducakar committed Aug 30, 2017
    - cmake
      * reverted removal of PCH trigger module, PCH rebuild was not triggered
        correctly
    - ozCore
      * added CondVar
      * added RWLock
      * added Barrier
      * bell synchronisation via cond var
Commits on Jul 19, 2017
  1. PCH++, Semaphore++, LockGuard

    ducakar committed Jul 19, 2017
    - cmake
      * PCH doesn't need trigger library any more
    - ozCore
      * LockGuard
      * Semaphore
        + Semaphore(int value), post(int increment), wait(int decrement)
        + waitAll() zeroes counter, for emulating binary semaphore
        + counter clamped to prevent overflow
      * Duration & Instant comments fixed
Commits on Jun 17, 2017
  1. Misc time/duration fixes

    ducakar committed Jun 17, 2017
    - ozCore
      Duration::sf() -> t()
    - common
      * more consistent Timer field names, added floating-point frame time
Commits on Jun 16, 2017
  1. Dropped Win32 threading and time API

    ducakar committed Jun 16, 2017
    - ozCore
      * Win32 API for threads and time removed, Unix/pthread implementation used
  2. Instant, Thread::sleepFor()/sleepUntil()

    ducakar committed Jun 16, 2017
    - ozCore
      * Instant class: represents a point in time from an unspecified epoch
      * Time::clock() -> Instant::now()
      * Time::sleep() -> Thread::sleepFor()
      * Thread::sleepUntil()
Commits on Jun 15, 2017
  1. Long double literal operators on Duration

    ducakar committed Jun 15, 2017
    - ozCore
      * added Duration operator""_s(long double) etc.
  2. noexcept move ctors & operators

    ducakar committed Jun 15, 2017
    - noexcept added to move ctors and operators
Commits on Jun 13, 2017
  1. Duration

    ducakar committed Jun 13, 2017
    - Duration used for time durations and instants where appropriate
    - ozCore
      * Duration class
Commits on Jun 1, 2017
  1. Fixed PCH, separate build config dirs

    ducakar committed Jun 1, 2017
    - cmake
      * separate directories for build configuration (Debug, Release)
      * fixed PCH macro to work with make again
Commits on May 18, 2017
  1. GCC 7 & misc fixes

    ducakar committed May 18, 2017
    - gcc-ar -> ar to fix building under gcc 7
    - ozCore
      * fixed String static buffer size
    - tests
      * fixed opus
Commits on Mar 9, 2017
  1. Atomic: removed operators, exchange

    ducakar committed Mar 9, 2017
    - ozCore
      * Atomic
        + operators removed
        + exchange()
    - client
      * Sound: atomic variable accesses done properly
Commits on Mar 5, 2017
  1. Atomic ++, optustest fixed

    ducakar committed Mar 5, 2017
    - volatile -> Atomic (finished)
    - ozCore
      * Atomic
        + memory order as a template arg, checked with static_assert
        + fetchAnd(), fetchOr(), fetchXor()
        + threadFence()
        + operators =, &=, ++ etc.
    - opustest fixed
Commits on Feb 28, 2017
  1. Opus enabled

    ducakar committed Feb 28, 2017
    - ozEngine
      * Opus decoder is enabled and opusfile library is required to build openzone
  2. Atomic, Semaphore.post(int)

    ducakar committed Feb 28, 2017
    - ozCore
      * Atomic class
      * Semaphore.post() accepts an arbitrary positive incremenet for the counter
      * System bell locking is now certainly correct
      * volatile dropped, replaced by atomic operations
Commits on Feb 21, 2017
  1. Formatting update: break line before ? and :

    ducakar committed Feb 21, 2017
    - line breaks moved before ? and : in ternary operators and before : in ctor
      initialisations