Code Monkey home page Code Monkey logo

trackrender's People

Contributors

janisozaur avatar x123m3-256 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

trackrender's Issues

CMake configuration is too platform-dependent and potentially broken

This differentiates MSVC and non-MSVC, when, for the most part, it probably shouldn't have to be this way:

if(MSVC) # assumes vcpkg
find_package(jansson CONFIG REQUIRED)
find_package(PNG REQUIRED)
find_package(embree 3 REQUIRED)
find_package(assimp CONFIG REQUIRED)
link_directories(${EMBREE_ROOT_DIR}/lib)
set(JANSSON jansson::jansson)
add_definitions(/D_USE_MATH_DEFINES /DNOMINMAX /wd4305 /wd4244 /wd4996)
else()
set(JANSSON jansson)
endif()

Most (all?) packages are probably also required on non-MSVC.
This will hinder portability.


In addition, none of those packges are actually used / linked within this projects CMakeLists.txt.

I assume that the dependencies will take care of linking them, but in that case, this project shouldn't even have to be aware of these libraries (instead, the dependency should pull them in).

Provide documentation and example projects

This project desperately needs a README.
I found this after only 2 days of working on my own solution; even then it takes a lot of reading of the code to figure out what it does.

I'd like to see (in the README, wiki, or repository website):

  • Short introduction about what this does (curve-generation, curve-fitting, sprite-rendering).
  • Example input files (ideally a wiki article with a list of all publicly available inputs).
  • Example screenshot of the output.
  • Documentation on how to build the tool.
  • Documentation on how to run this tool.
  • Plans for the future of this tool (integration with OpenRCT2? use within https://github.com/OpenRCT2/OpenGraphics?).

Hardcoded information in source-code

There is some problematic code in:

FILE* file=fopen("/home/edward/.config/OpenRCT2/object/INTDSPN.DAT","w");

and

scenery.name.strings[LANGUAGE_ENGLISH_US]=malloc(strlen("Intamin double spine track")+1);
strcpy(scenery.name.strings[LANGUAGE_ENGLISH_US],"Intamin double spine track");

and

include_directories(libIsoRender/src libIsoRender/libImage/src /usr/local/Cellar/jansson/2.12/include)
link_directories(/usr/local/Cellar/jansson/2.12/lib/)

(Possibly other instances, too)

Support mesh and curve export

I've done something similar as what this tool does, but instead, I used the subposition-data from OpenRCT2 to generate the position, normal and binormal of each piece.

I ran into 3 issues with my approach:

  • It's heavily quantized.
  • blender array-modifiers can't stretch models to fit a curve length.
  • blender curves have limited control over twisting.

So I'd be interested in 2 things:

  • Analytical subpositions (what this tool does, but does not export); would solve quantization issues and also allow generating new subposition data for the game.
  • Properly fitted meshes (which this tool does, but does not export); would work around blender problems.

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.