Giter VIP home page Giter VIP logo

cane's Introduction

cane

screenshot of cane

Project Description

This project is a work in progress level editor for the Sly Cooper games.

Cane supports building on Windows and Linux.

Prerequisites:

  • cmake
  • git

Getting Started - Windows

Install Packages and Init Repository

Install Git for Windows from here (git-scm.com)
Install CMake for Windows from here (cmake.org)

  1. Open Powershell or cmd in the directory you want your cane folder to be.
  2. Run the following commands:
git clone --recurse-submodules https://github.com/detolly/cane.git
cd cane

Compile

mkdir build && cd build && cmake .. && cmake --build . --config Release

Run

Run cane.exe

Getting Started - Linux (Ubuntu/Debian)

Install Packages and Init Repository

sudo apt-get install cmake git build-essential
git clone --recurse-submodules https://github.com/detolly/cane.git
cd cane

Compile

mkdir build && cd build && cmake .. && cmake --build --config Release

Run

./cane

Getting Started - Linux (Arch)

Install Packages and Init Repository

pacman -S cmake git base-devel
git clone --recurse-submodules https://github.com/detolly/cane.git
cd cane

Compile

mkdir build && cd build && cmake .. && cmake --build . --config Release

Run

./cane

cane's People

Contributors

chaoticgd avatar doctashay avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

cane's Issues

Crashes when clicking on the render window

Hi, I'm trying to use cane, and everything seems to work up until I click on the renderer window to try and move the camera. Then, the program just completely crashes.

Error building

I am building for windows:

Is there something I am missing?

Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
d----           9/11/2022 12:27 PM                build
-- Building for: Visual Studio 15 2017
-- Selecting Windows SDK version 10.0.17763.0 to target Windows 10.0.22000.
-- The C compiler identification is MSVC 19.16.27048.0
-- The CXX compiler identification is MSVC 19.16.27048.0
-- Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio/2017/Community/VC/Tools/MSVC/14.16.27023/bin/Hostx86/x86/cl.exe
-- Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio/2017/Community/VC/Tools/MSVC/14.16.27023/bin/Hostx86/x86/cl.exe -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: C:/Program Files (x86)/Microsoft Visual Studio/2017/Community/VC/Tools/MSVC/14.16.27023/bin/Hostx86/x86/cl.exe
-- Check for working CXX compiler: C:/Program Files (x86)/Microsoft Visual Studio/2017/Community/VC/Tools/MSVC/14.16.27023/bin/Hostx86/x86/cl.exe -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Looking for pthread.h
-- Looking for pthread.h - not found
-- Found Threads: TRUE
-- Could NOT find Doxygen (missing: DOXYGEN_EXECUTABLE)
-- Using Win32 for window creation
-- GLM: Version 0.9.9.9
-- Configuring done
-- Generating done
-- Build files have been written to: C:/Users/fridi/Documents/gitstuff/cane/build
Unknown argument .
Usage: cmake --build <dir> [options] [-- [native-options]]
Options:
  <dir>          = Project binary directory to be built.
  --parallel [<jobs>], -j [<jobs>]
                 = Build in parallel using the given number of jobs.
                   If <jobs> is omitted the native build tool's
                   default number is used.
                   The CMAKE_BUILD_PARALLEL_LEVEL environment variable
                   specifies a default parallel level when this option
                   is not given.
  --target <tgt>..., -t <tgt>...
                 = Build <tgt> instead of default targets.
  --config <cfg> = For multi-configuration tools, choose <cfg>.
  --clean-first  = Build target 'clean' first, then build.
                   (To clean only, use --target 'clean'.)
  --verbose, -v  = Enable verbose output - if supported - including
                   the build commands to be executed.
  --             = Pass remaining options to the native tool.

PS C:\Users\fridi\Documents\gitstuff\cane\build> cmake --build --config Release .
Unknown argument .
Usage: cmake --build <dir> [options] [-- [native-options]]
Options:
  <dir>          = Project binary directory to be built.
  --parallel [<jobs>], -j [<jobs>]
                 = Build in parallel using the given number of jobs.
                   If <jobs> is omitted the native build tool's
                   default number is used.
                   The CMAKE_BUILD_PARALLEL_LEVEL environment variable
                   specifies a default parallel level when this option
                   is not given.
  --target <tgt>..., -t <tgt>...
                 = Build <tgt> instead of default targets.
  --config <cfg> = For multi-configuration tools, choose <cfg>.
  --clean-first  = Build target 'clean' first, then build.
                   (To clean only, use --target 'clean'.)
  --verbose, -v  = Enable verbose output - if supported - including
                   the build commands to be executed.
  --             = Pass remaining options to the native tool.
PS C:\Users\fridi\Documents\gitstuff\cane\build> cmake --build . --config Release
Microsoft (R) Build Engine version 15.9.21+g9802d43bc3 for .NET Framework
Copyright (C) Microsoft Corporation. All rights reserved.

  Checking Build System
  Building Custom Rule C:/Users/fridi/Documents/gitstuff/cane/CMakeLists.txt
  dirent.cpp
  dirent.vcxproj -> C:\Users\fridi\Documents\gitstuff\cane\build\Release\dirent.lib
  Building Custom Rule C:/Users/fridi/Documents/gitstuff/cane/CMakeLists.txt
  glad.c
  glad.vcxproj -> C:\Users\fridi\Documents\gitstuff\cane\build\Release\glad.lib
  Building Custom Rule C:/Users/fridi/Documents/gitstuff/cane/lib/glfw/src/CMakeLists.txt
  context.c
  init.c
  input.c
  monitor.c
  vulkan.c
  window.c
  win32_init.c
  win32_joystick.c
  win32_monitor.c
  win32_time.c
  win32_thread.c
  win32_window.c
  wgl_context.c
  egl_context.c
  osmesa_context.c
  Generating Code...
  glfw.vcxproj -> C:\Users\fridi\Documents\gitstuff\cane\build\lib\glfw\src\Release\glfw3.lib
  Building Custom Rule C:/Users/fridi/Documents/gitstuff/cane/CMakeLists.txt
  imgui.cpp
  imgui_demo.cpp
  imgui_draw.cpp
  imgui_tables.cpp
  imgui_widgets.cpp
  imgui_impl_opengl3.cpp
  imgui_impl_glfw.cpp
  Generating Code...
  imgui.vcxproj -> C:\Users\fridi\Documents\gitstuff\cane\build\Release\imgui.lib
  Building Custom Rule C:/Users/fridi/Documents/gitstuff/cane/CMakeLists.txt
  ImGuiFileDialog.cpp
C:\Users\fridi\Documents\gitstuff\cane\include\ImGuiFileDialog\ImGuiFileDialog.cpp(382): warning C4996: 'strncpy': This
 function or variable may be unsafe. Consider using strncpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNI
NGS. See online help for details. [C:\Users\fridi\Documents\gitstuff\cane\build\imguifilepicker.vcxproj]
  C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\ucrt\string.h(338): note: see declaration of 'strncpy'
C:\Users\fridi\Documents\gitstuff\cane\include\ImGuiFileDialog\ImGuiFileDialog.cpp(1637): warning C4996: 'localtime': T
his function or variable may be unsafe. Consider using localtime_s instead. To disable deprecation, use _CRT_SECURE_NO_
WARNINGS. See online help for details. [C:\Users\fridi\Documents\gitstuff\cane\build\imguifilepicker.vcxproj]
  C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\ucrt\time.h(506): note: see declaration of 'localtime'
  imguifilepicker.vcxproj -> C:\Users\fridi\Documents\gitstuff\cane\build\Release\imguifilepicker.lib
  Building Custom Rule C:/Users/fridi/Documents/gitstuff/cane/CMakeLists.txt
  main.cpp
  Editor.cpp
  math.cpp
  config.cpp
  RenderBuffer.cpp
  DebugInformation.cpp
  Renderer.cpp
C:\Users\fridi\Documents\gitstuff\cane\src\Gui\Renderer.cpp(138): warning C4018: '<': signed/unsigned mismatch [C:\User
s\fridi\Documents\gitstuff\cane\build\cane.vcxproj]
  ModelBrowser.cpp
  ModelViewer.cpp
  sly_level_structs.cpp
C:\Users\fridi\Documents\gitstuff\cane\src\Structs\sly_level_structs.cpp(72): warning C4018: '<': signed/unsigned misma
tch [C:\Users\fridi\Documents\gitstuff\cane\build\cane.vcxproj]
C:\Users\fridi\Documents\gitstuff\cane\src\Structs\sly_level_structs.cpp(98): warning C4146: unary minus operator appli
ed to unsigned type, result still unsigned [C:\Users\fridi\Documents\gitstuff\cane\build\cane.vcxproj]
C:\Users\fridi\Documents\gitstuff\cane\src\Structs\sly_level_structs.cpp(136): warning C4018: '<': signed/unsigned mism
atch [C:\Users\fridi\Documents\gitstuff\cane\build\cane.vcxproj]
C:\Users\fridi\Documents\gitstuff\cane\src\Structs\sly_level_structs.cpp(309): warning C4018: '<': signed/unsigned mism
atch [C:\Users\fridi\Documents\gitstuff\cane\build\cane.vcxproj]
C:\Users\fridi\Documents\gitstuff\cane\src\Structs\sly_level_structs.cpp(388): warning C4018: '<': signed/unsigned mism
atch [C:\Users\fridi\Documents\gitstuff\cane\build\cane.vcxproj]
  SlyLevelFile.cpp
C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\shared\minwindef.h(130): warning C4005: 'APIENTRY': macro r
edefinition [C:\Users\fridi\Documents\gitstuff\cane\build\cane.vcxproj]
  C:\Users\fridi\Documents\gitstuff\cane\lib\glad\include\glad/glad.h(879): note: see previous definition of 'APIENTRY'
C:\Users\fridi\Documents\gitstuff\cane\src\Structs\SlyLevelFile.cpp(282): warning C4834: discarding return value of fun
ction with 'nodiscard' attribute [C:\Users\fridi\Documents\gitstuff\cane\build\cane.vcxproj]
C:\Users\fridi\Documents\gitstuff\cane\src\Structs\SlyLevelFile.cpp(397): warning C4244: 'initializing': conversion fro
m 'uint64_t' to 'size_t', possible loss of data [C:\Users\fridi\Documents\gitstuff\cane\build\cane.vcxproj]
  Camera.cpp
  Cube.cpp
  Object.cpp
  OBJModel.cpp
C:\Users\fridi\Documents\gitstuff\cane\src\Renderer\OBJModel.cpp(25): error C2039: 'starts_with': is not a member of 's
td::basic_string<char,std::char_traits<char>,std::allocator<char>>' [C:\Users\fridi\Documents\gitstuff\cane\build\cane.
vcxproj]
  C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\include\xstring(4373): note:
  see declaration of 'std::basic_string<char,std::char_traits<char>,std::allocator<char>>'
C:\Users\fridi\Documents\gitstuff\cane\src\Renderer\OBJModel.cpp(35): error C2039: 'starts_with': is not a member of 's
td::basic_string<char,std::char_traits<char>,std::allocator<char>>' [C:\Users\fridi\Documents\gitstuff\cane\build\cane.
vcxproj]
  C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\include\xstring(4373): note:
  see declaration of 'std::basic_string<char,std::char_traits<char>,std::allocator<char>>'
C:\Users\fridi\Documents\gitstuff\cane\src\Renderer\OBJModel.cpp(46): error C2039: 'starts_with': is not a member of 's
td::basic_string<char,std::char_traits<char>,std::allocator<char>>' [C:\Users\fridi\Documents\gitstuff\cane\build\cane.
vcxproj]
  C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\include\xstring(4373): note:
  see declaration of 'std::basic_string<char,std::char_traits<char>,std::allocator<char>>'
C:\Users\fridi\Documents\gitstuff\cane\src\Renderer\OBJModel.cpp(47): error C2039: 'starts_with': is not a member of 's
td::basic_string<char,std::char_traits<char>,std::allocator<char>>' [C:\Users\fridi\Documents\gitstuff\cane\build\cane.
vcxproj]
  C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\include\xstring(4373): note:
  see declaration of 'std::basic_string<char,std::char_traits<char>,std::allocator<char>>'
  Shader.cpp
C:\Users\fridi\Documents\gitstuff\cane\src\Renderer\Shader.cpp(77): error C2039: 'contains': is not a member of 'std::u
nordered_map<const char *,unsigned int,std::hash<_Kty>,std::equal_to<_Kty>,std::allocator<std::pair<const _Kty,_Ty>>>'
[C:\Users\fridi\Documents\gitstuff\cane\build\cane.vcxproj]
          with
          [
              _Kty=const char *,
              _Ty=unsigned int
          ]
  c:\users\fridi\documents\gitstuff\cane\src\renderer\Shader.h(52): note: see declaration of 'std::unordered_map<const
  char *,unsigned int,std::hash<_Kty>,std::equal_to<_Kty>,std::allocator<std::pair<const _Kty,_Ty>>>'
          with
          [
              _Kty=const char *,
              _Ty=unsigned int
          ]
  RendererOptions.cpp
  Singleton.cpp
  Generating Code...
PS C:\Users\fridi\Documents\gitstuff\cane\build>

Add export as .fbx

There should be an option to export the maps as a model with included textures. So it can be used in other programs, like Blender.

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.