GithubHelp home page GithubHelp logo

leonsbuddydave / sims4tools-1 Goto Github PK

View Code? Open in Web Editor NEW

This project forked from s4ptacle/sims4tools

0.0 0.0 0.0 3.22 MB

Sims 4 modding tools and library

C# 99.24% NSIS 0.56% HTML 0.05% Batchfile 0.14%

sims4tools-1's Introduction

s4pe, based on the s4pi interface library, is an editing tool for the .package format used with The Sims 4. This is an open source project based on s3pi and s3pe. Documentation on s3pi (Sims 3 Package Interface) can be found [here] (http://s3pi.sourceforge.net/); a lot of this is still relevant.

Current Version

[0.4.6-beta] is the most recent version. The latest code can be found in the [develop branch] (https://github.com/s4ptacle/Sims4Tools/tree/develop).

The repository we forked from is not being maintained any more.

Contributors

Roughly in chronological order -- [full details here] (https://github.com/s4ptacle/Sims4Tools/graphs/contributors)

Requirements

  • .NET 4.0

Project Setup

  • Visual Studio is currently required. sims4tools.sln is the solution currently in use.

Helper Projects

Simplified overview how to make a helper tool using s4pi

Overview

  • A helper is a standalone tool that can open resources as they are exported from a package - long cryptic names and all. At minimum it must be able to be opened by being called from another application (e.g. s4pe) with the filename of the resource as a parameter. But you can enhance your tool if you wish, so that it can be opened in other ways and used for other roles.
  • The interface between s4pe and your app is a .helper text file, which you edit to call your app in the appropriate way and provide with your tool. The user may have to edit that if they install somewhere you did not forsee.
  • The helper should include all library dlls it relies on. It should not rely on finding the dlls that are installed with the user's copy of s4pe. This is so that if the user has an older or newer version of s4pe than the one you had when you wrote your tool, they won't end up with compatibility problems trying to use your tool. Your tool needs to have access to the version of the dlls YOU compiled it with.
  • A helper app can be installed in two different ways. It can either be totally outside the s4pe folder like any external program, or it can live under the /Helpers folder in s4pe, inside its own subfolder along with its own dlls, with only its .helper textfile directly under /Helpers

The difference in concept between a helper and a wrapper

A wrapper should be as dumb as possible and not hide or rearrange any of the data in a resource, even if we do not know what it represents, or if it is stored in a strange order. A helper on the other hand can display the resource contents in a user-friendly way, prettied up, and bits hidden if they might confuse the user.

How to make

  • Download the latest s4pi library. Unpack into folder somewhere your Visual Studio can access.
  • Begin your C# solution
  • As you need to use any s3pi dll, add it to your solution references. This will cause it to be added to your solution's bin folder.
  • Any s4pi dlls in your bin/Release folder should be included with what you publish. You should not design your tool so it has to use the s4pi dlls in your user's s3pe folder.
  • Support for writing your .helper file can be found in your installed s4pe/Helpfiles folder, called Helpers.txt

(Peter Jones, updated Jan 15th 2012 by Inge)


  • There is a separate (old) repo for Helper projects, s4pe-helper. However, this looks just as abandoned as Kuree's main repo.

How to Contribute

  • Fork the project, modify it, and send us a pull request!

License

GNU General Public License v3

Other

Special thanks:

Without Peter's work on s3pe/s3pi, this project would not exist. His philosophy to share and distribute this as an open source project will be carried on.

sims4tools-1's People

Contributors

cmarnyc avatar kuree avatar pboxx avatar brutalbuzzler avatar chaosmagex avatar snaitf avatar granthes avatar bstenzel avatar gitter-badger avatar orangemittens avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.