Welcome!
About the Game:
Extract downloaded zip file to arbitrary directory and execute clumsy.exe . clumsy is alpha quality software and does have some gotchas. Be sure to read the manual page before using
Download.
Extract downloaded zip file to arbitrary directory and execute clumsy.exe . clumsy is alpha quality software and does have some gotchas. Be sure to read the manual page before using it. Build. 0.3 Zig Build. Download a copy of zig 0.9.1 here Open build.zig and check that Windows SDK path is correct on your machine. It’s hardcoded as C:/Program Files (x86)/Windows Kits/10/bin/10.0.19041.0 Then you can run the commands below to build: # build shipping binaries zig build -Dconf=Ship -Darch=x64 -Dsign=A zig build -Dconf=Ship -Darch=x64 -Dsign=B zig build -Dconf=Ship -Darch=x64 -Dsign=C zig build -Dconf=Ship -Darch=x86 -Dsign=A zig build -Dconf=Ship -Darch=x86 -Dsign=B zig build -Dconf=Ship -Darch=x86 -Dsign=C. 0.3 Build. git genie – for build generation Visual Studio 2019 – for debug builds and devlopment MSYS2 – for release builds. For development we’ll generate VS2019 solutions with genie and it should just work: git clone https://github.com/jagt/clumsy.git cd clumsy genie vs2019. Then open generated solution under build folder. For building binaries that ship to users we choose to use the MSYS2 toolchain. After installation you’ll need to install clang for 32/64 builds in the MSYS2 console. pacman -Syu pacman -S make mingw-w64-x86_64-clang mingw-w64-i686-clang. Say we have MSYS2 installed at C:\msys2 . We’ll need to setup correct path for 32/64bit builds seperately: git clone https://github.com/jagt/clumsy.git cd clumsy genie gmake set PATH=C:/msys64/mingw64/bin,C:/msys64/usr/bin/ make -C build config=release64 set PATH=C:/msys64/mingw32/bin,C:/msys64/usr/bin/ make -C build config=release32. It should produce builds that has minimal dependencies and works everywhere. 0.2 Build. If you have Visual Studio 2012 or TDM-GCC 4.8.1 installed then building is rather easy. Currently no other environment is supported. Clone the repository. Then you’ll need premake 4.4-beta5 to build the solution or makefiles. premake currently can only generate VS2010 solution file. Open it in VS2012 and choose upgrade works fine. All external dependencies are included in the repo, so it should build out of the box. git clone https://github.com/jagt/clumsy.git premake4 vs2010 premake4 gmake. If you choose to build using VS2012, remember the runtime MUST be dynamically linked. This is due to provided library binaries are using dynamic runtime. This means if you want to distribute your builds, the user needs to install VS2012 runtime. It is recommended to use the awesome TDM64-GCC 4.8.1 to build the project. It would generate binaries without other dependencies execpt those are included here. This is also how the provided clumsy binaries above are built. mingw32-make -C build CC=gcc config=debug32 mingw32-make -C build CC=gcc config=debug64 mingw32-make -C build CC=gcc config=release32 mingw32-make -C build CC=gcc config=release64. Acknowledgements. WinDivert used to handle the magical Windows packet capturing/reinjecting. It installs network drivers at runtime and removes it when closing, encapsuled the underdocumented Windows Filtering Platform, does a bunch of things that non Windows developers can hardly figure out how in years. WinDivert jam all these into a handful of functions for you to use for free, while similar commercial solution costs thousands. IUP Portable User Interface ANSI C library to build native cross platform GUI. It’s so wonderfully designed and you can pick it up in a single day, and it’s a full funcion GUI toolkit in C. Think about it. LICEcap free and open source gif capturing that just works. Similar softwares. Network Emulator for Windows Toolkit (Windows) – network emulator provided by Microsoft. ipfw or pfctl (FreeBSD/OSX) – low level packet filter. wipfw (Windows) – ipfw Windows port with only a subset of functions. netem (Linux) – Linux kernel supported network emulation. tc (Linux) – Configure traffic control in the Linux kernel. Throttle (Mac) – Simulate 3G network through shared wireless network. Network Link Conditioner (Mac) – XCode bundled network conditioner.
