Jump to content


  • Content Count

  • Joined

  • Last visited

Community Reputation

8 Neutral

About JKnife

  • Rank
    Advanced Member
  • Birthday 10/09/1987

Profile Information

  • Gender
    Not Telling

Recent Profile Visitors

1,313 profile views
  1. JKnife

    Taking Care of Business

    Does PayPal take care of the export restrictions?
  2. JKnife

    PCI-E ethernet card compatible with Ubuntu 12.04

    I think the Intel Gigabit CT(a sub 30 USD card) works As for the multiarch lib change, Ubuntu 12.04 actually had a lot of ground work done with a full migration on the user facing stuff with 12.10 and grater. https://help.ubuntu.com/community/MultiArch
  3. JKnife

    Monthly Script Challenge August 2017

    The problem with a loading screen is(in the past I have tried to do it with C++), the map load call back doesn't give you all the required info like the number of entities it needs to load, and I have found it skips some entities. The docs around this are sparse. I have not tried this in LUA. For peoples sake I will look at creating one in LUA and see how it goes. I'll poke at it tonight.
  4. JKnife

    Question regarding the new GUI function

    The GUI stuff isn't really for HUD items but more for menus(or at least it was that way when I was last messing with it)
  5. JKnife

    CMake file for both Linux and Windows

    So while playing with this some more it seems that VS2017 can only do debug builds due to a bug on how it defines CMAKE_BUILD_TYPE. EDIT: Found a work around. Under the "cmake->change cmake settings" menu click any option and replace the file with this: { // See https://go.microsoft.com//fwlink//?linkid=834763 for more information about this file. "configurations": [ { "name": "x86-Debug", "generator": "Visual Studio 15 2017", "configurationType" : "Debug", "buildRoot": "${env.LOCALAPPDATA}\\CMakeBuild\\${workspaceHash}\\build\\${name}", "cmakeCommandArgs": "-DCMAKE_BUILD_TYPE=Debug", "buildCommandArgs": "-m -v:minimal" }, { "name": "x86-Release", "generator": "Visual Studio 15 2017", "configurationType": "Release", "buildRoot": "${env.LOCALAPPDATA}\\CMakeBuild\\${workspaceHash}\\build\\${name}", "cmakeCommandArgs": "-DCMAKE_BUILD_TYPE=Release", "buildCommandArgs": "-m -v:minimal" }, { "name": "x64-Debug", "generator": "Visual Studio 15 2017 Win64", "configurationType": "Debug", "buildRoot": "${env.LOCALAPPDATA}\\CMakeBuild\\${workspaceHash}\\build\\${name}", "cmakeCommandArgs": "-DCMAKE_BUILD_TYPE=Debug", "buildCommandArgs": "-m -v:minimal" }, { "name": "x64-Release", "generator": "Visual Studio 15 2017 Win64", "configurationType": "Release", "buildRoot": "${env.LOCALAPPDATA}\\CMakeBuild\\${workspaceHash}\\build\\${name}", "cmakeCommandArgs": "-DCMAKE_BUILD_TYPE=Release", "buildCommandArgs": "-m -v:minimal" } ] } The only thing changed is the cmakeCommandArgs where we pass in the correct way to define the build type.
  6. With VS2017 supporting CMake files, and my none love for Code::Blocks I have written a CMake file that works on both Linux and Windows.(I have not tested the $ENV{HOME} yet, I had that hard coded). There is one issue I know of where VS2017 does not seem to obey the CMAKE_RUNTIME_OUTPUT_DIRECTORY line and puts the binaries in a folder called Debug or Release in side your project directoy. You can safely move them out to the top level. cmake_minimum_required (VERSION 2.8.11) project (Demo) if (CMAKE_SYSTEM_NAME STREQUAL "Linux") set(LEADWERKS_PATH "$ENV{HOME}/.steam/steam/steamapps/common/Leadwerks") else (CMAKE_SYSTEM_NAME STREQUAL "Linux") set(LEADWERKS_PATH "c:/Program Files (x86)/Steam/steamapps/common/Leadwerks") endif (CMAKE_SYSTEM_NAME STREQUAL "Linux") set(CMAKE_CONFIGURATION_TYPES "Release;Debug" CACHE STRING "" FORCE) set(SOURCE Source/App.cpp Source/main.cpp ) set(HEADERS Source/App.h ) FILE(GLOB_RECURSE LUAFiles "Scripts/*.lua") add_custom_target(Scripts SOURCES ${LUAFiles}) FILE(GLOB_RECURSE ShaderFiles "Shaders/*.shader") add_custom_target(Shaders SOURCES ${ShaderFiles}) set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${PROJECT_SOURCE_DIR}/) include_directories(after Source ${LEADWERKS_PATH}/Include/Libraries/VA ${LEADWERKS_PATH}/Include/Libraries/VHACD/src/VHACD_Lib/inc ${LEADWERKS_PATH}/Include/Libraries/NewtonDynamics/coreLibrary_300/source/core ${LEADWERKS_PATH}/Include/Libraries/NewtonDynamics/coreLibrary_300/source/meshUtil ${LEADWERKS_PATH}/Include/Libraries/NewtonDynamics/coreLibrary_300/source/newton ${LEADWERKS_PATH}/Include/Libraries/NewtonDynamics/coreLibrary_300/source/physics ${LEADWERKS_PATH}/Include/Libraries/NewtonDynamics/packages/dMath ${LEADWERKS_PATH}/Include/Libraries/NewtonDynamics/packages/dContainers ${LEADWERKS_PATH}/Include/Libraries/NewtonDynamics/packages/dCustomJoints ${LEADWERKS_PATH}/Include/Libraries/tolua++-1.0.93/include ${LEADWERKS_PATH}/Include/Libraries/lua-5.1.4 ${LEADWERKS_PATH}/Include/Libraries/freetype-2.4.7/include ${LEADWERKS_PATH}/Include/Libraries/enet-1.3.1/include ${LEADWERKS_PATH}/Include/Libraries/RecastNavigation/DebugUtils/Include ${LEADWERKS_PATH}/Include/Libraries/RecastNavigation/Detour/Include ${LEADWERKS_PATH}/Include/Libraries/RecastNavigation/DetourCrowd/Include ${LEADWERKS_PATH}/Include/Libraries/RecastNavigation/DetourTileCache/Include ${LEADWERKS_PATH}/Include/Libraries/RecastNavigation/Recast/Include ${LEADWERKS_PATH}/Include/ ${LEADWERKS_PATH}/Include/Libraries/zlib-1.2.5 ${LEADWERKS_PATH}/Include/Libraries/zlib-1.2.5/contrib/minizip ${LEADWERKS_PATH}/Include/Libraries/freetype-2.4.7/include/freetype ${LEADWERKS_PATH}/Include/Libraries/freetype-2.4.7/include/freetype/config ${LEADWERKS_PATH}/Include/Libraries/LuaJIT/dynasm ${LEADWERKS_PATH}/Include/Libraries/glew-1.6.0/include ) if (CMAKE_SYSTEM_NAME STREQUAL "Linux") set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -Wall -fexceptions -msse3 -DDG_DISABLE_ASSERT") set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DZLIB -DPLATFORM_LINUX -D_NEWTON_STATIC_LIB -DFT2_BUILD_LIBRARY") set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DOPENGL -Dunix -D__STEAM__ -D_POSIX_VER -D_POSIX_VER_64") set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DDG_THREAD_EMULATION -D_STATICLIB -DDG_USE_THREAD_EMULATION") set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DGL_GLEXT_PROTOTYPES -DLEADWERKS_3_1 -D_GLIBCXX_USE_CXX11_ABI=0") set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DLUA_USE_LINUX -D_CUSTOM_JOINTS_STATIC_LIB") set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-unknown-pragmas -Wno-unused-variable") if (CMAKE_BUILD_TYPE STREQUAL "Release") set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -s -O2") set (LEADWERKS_LIB ${LEADWERKS_PATH}/Library/Linux/Release/Leadwerks.a) set (BIN_NAME ${PROJECT_NAME}) else(CMAKE_BUILD_TYPE STREQUAL "Release") set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g -DDEBUG -D_DEBUG") set (LEADWERKS_LIB ${LEADWERKS_PATH}/Library/Linux/Debug/Leadwerks.a) set (BIN_NAME ${PROJECT_NAME}.debug) endif(CMAKE_BUILD_TYPE STREQUAL "Release") set (LIBS ${LEADWERKS_LIB} dl openal GL GLU ${LEADWERKS_PATH}/Library/Linux/libluajit.a ${CMAKE_CURRENT_SOURCE_DIR}/libsteam_api.so X11 Xext Xrender Xft pthread ) elseif(CMAKE_SYSTEM_NAME STREQUAL "Windows") set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /DPSAPI_VERSION=1 /D__STEAM__ /D_CUSTOM_JOINTS_STATIC_LIB") set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /DFT2_BUILD_LIBRARY /DLEADWERKS_3_1 /DDG_DISABLE_ASSERT") set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /DWINDOWS /DWIN32 /DOS_WINDOWS /DOPENGL /DPLATFORM_WINDOWS") set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /D_WIN_32_VER /D_NEWTON_USE_LIB /DPTW32_STATIC_LIB /DPTW32_BUILD") set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /D_NEWTON_STATIC_LIB /D_LIB /DDG_USE_NORMAL_PRIORITY_THREAD") set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /DGLEW_STATIC /D_STATICLIB /D \"SLB_LIBRARY\" /MP") set (CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} /MTd /DDEBUG /D_DEBUG") set (CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} /MT") set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /NODEFAULTLIB:MSVCRT.lib /NODEFAULTLIB:MSVCRTD.lib") include_directories(after ${LEADWERKS_PATH}/Include/Libraries/openssl/include ${LEADWERKS_PATH}/Include/Libraries/glslang ) link_directories(${LEADWERKS_PATH}/Library/Windows/x86) message("Build Type: ${CMAKE_BUILD_TYPE}") if (CMAKE_BUILD_TYPE STREQUAL "Release") message("Building Win32 Release build") link_directories(${LEADWERKS_PATH}/Library/Windows/x86/Release) set (BIN_NAME ${PROJECT_NAME}) else() message("Building Win32 Debug build") link_directories(${LEADWERKS_PATH}/Library/Windows/x86/Debug) set (BIN_NAME ${PROJECT_NAME}.debug) endif() set (LIBS libcryptoMT.lib libsslMT.lib Rpcrt4.lib crypt32.lib libcurl.lib msimg32.lib lua51.lib steam_api.lib ws2_32.lib Glu32.lib libovrd.lib OpenGL32.lib winmm.lib Psapi.lib OpenAL32.lib Leadwerks.lib ) endif(CMAKE_SYSTEM_NAME STREQUAL "Linux") add_executable (${BIN_NAME} ${SOURCE} ${HEADERS}) target_link_libraries(${BIN_NAME} ${LIBS}) EDIT: Minor changes to help clean it up some. Also tested the $ENV{HOME} and it does indeed work. EDIT2: Added a file glob for shaders and scripts so if you are using an ide like qt-creator they will show up in the project view.
  7. JKnife

    Leadwerks 3.3 Released

    I have a steam copy and a none steam copy. I like using the none steam version because of reasons.
  8. JKnife

    Leadwerks 3.3 Released

    Will 3.3 ever get a non-steam release?
  9. Hey, I have a 5.5TB partition(raid: /dev/md124p1 5.5T 168G 5.3T 3% /home) which when I try to start leadwerks from it, be it the updater or the actual engine it spits out an error about unable to create file or directory. I worked around this by creating /opt/Leadwerks/{Engine,Projects} and bind mounting them there I expect them to be(~/Applications/Leadwerks and ~/Documents/Leadwerks) and that works just fine.
  10. I was err on the side of caution. Since it is 2 different bugs on 2 different OSes.
  11. Bug threads created here: http://www.leadwerks.com/werkspace/topic/10605-windows-keymbutton-wrong-value/ http://www.leadwerks.com/werkspace/topic/10606-linux-leadwerkskeyrmbutton-wrong-values/
  12. In X11 the mouse buttons are 1 for left mouse button, 2 for middle mouse button, 3 for right mouse button. As it stand Leadwerks::Key has RButton defined as 2 and MButton defined as 4. See http://www.leadwerks.com/werkspace/topic/10589-leadwerkskeyrbutton-and-leadwerkskeymbutton-are-set-to-the-wrong-values/
  13. As per http://www.leadwerks.com/werkspace/topic/10589-leadwerkskeyrbutton-and-leadwerkskeymbutton-are-set-to-the-wrong-values/ Leadwerks::Key::MButton is defined as 4 when on Windows it should be 3.
  14. Well it is strange that you get 2 for right mouse button. Because here on Ubuntu 14.04 with a Steelseries Kana mouse I set up this enum for mouse buttons and it is displaying the proper mapping namespace MouseButtons { enum Buttons { Left = 1, Middle, Right }; } I am testing it with this { // Debugging if (window->MouseHit(MouseButtons::Left)) { std::cout << "LeftButton pressed." << std::endl; } if (window->MouseHit(MouseButtons::Middle)) { std::cout << "MiddleButton pressed." << std::endl; } if (window->MouseHit(MouseButtons::Right)) { std::cout << "RightButton pressed." << std::endl; } } EDIT: Ahh, in X11 The mouse buttons are Left =1, Middle = 2, and Right = 3 and in Leadwerks they are not accounting for it.