From ea46c7a037e855646cd19fca71d7ab9231670c28 Mon Sep 17 00:00:00 2001 From: Tony Bark Date: Sun, 28 Apr 2024 07:50:35 -0400 Subject: [PATCH] Added Motivation section to README - Fixed root CMAKE file --- CMakeLists.txt | 8 ++++---- README.md | 12 ++++++++++-- src/main.zig | 2 +- 3 files changed, 15 insertions(+), 7 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 17ea320..c40f1bb 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -140,9 +140,9 @@ else() set(ZLIB_LINK z) endif() -set(FILEHANDLER_INCLUDE ${CMAKE_SOURCE_DIR}/Libraries/FileHandler) -set(LIBGLDEMO_INCLUDE ${CMAKE_SOURCE_DIR}/Libraries/libgldemo) -set(LIBVITABOY_INCLUDE ${CMAKE_SOURCE_DIR}/Libraries/libvitaboy) +set(FILEHANDLER_INCLUDE ${CMAKE_SOURCE_DIR}/library/FileHandler) +set(LIBGLDEMO_INCLUDE ${CMAKE_SOURCE_DIR}/library/libgldemo) +set(LIBVITABOY_INCLUDE ${CMAKE_SOURCE_DIR}/library/libvitaboy) if(WIN32) set(GLDEMO_EXE WIN32) @@ -153,6 +153,6 @@ else() endif() add_subdirectory(Client) -add_subdirectory(Libraries) +add_subdirectory(library) add_subdirectory(Server) add_subdirectory(Tools) diff --git a/README.md b/README.md index ffcaa65..5ff3006 100644 --- a/README.md +++ b/README.md @@ -1,10 +1,18 @@ # zTSO -zTSO is a experimental implementation of The Sims Online written in Zig that is based on NioTSO's C-based libraries and tools. +zTSO is intended to be an experimental reimplementation of The Sims Online written in Zig that directly accesses NioTSO's C-based libraries. + +## Motivation + +Although an existing and established reimplementation project already exists, it has excess legacy baggage due to it originally being based on .NET Framework 3.5 and XNA, among other things. This has limited its accessibility. Although NioTSO has been abandoned for quite some time now, the foundation remains solid. The client perfectly simulates a loading screen, plus it can render Sims and objects flawlessly. + +The problem is C is, well, C. ¯\\\_(ツ)\_/¯ Accessing NioTSO's code in safer languages like Go or Rust has been historically been difficult. While Zig is still in its infancy, it has proven to be perfectly capable of doing this without jumping through hoops. Making it well worth giving it a try. ## Requirements +- The Sims Online - [Zig](https://ziglang.org/) 0.11 or newer +- OpenGL ## Getting Started @@ -28,6 +36,6 @@ zTSO is a experimental implementation of The Sims Online written in Zig that is 4. **Experiment and Learn**: Modify the code, try out different constructs, and see how Zig behaves. -## License +## License I license this project under the GPL-3.0 license - see [LICENSE](LICENSE) for details. \ No newline at end of file diff --git a/src/main.zig b/src/main.zig index def475a..6d9884e 100644 --- a/src/main.zig +++ b/src/main.zig @@ -1,6 +1,6 @@ const std = @import("std"); const iff = @cImport({ - @cInclude("./iff/iffparser.h"); + @cInclude("./iff/iff.h"); }); pub fn main() !void {