Coder Social home page Coder Social logo

xlengine's People

Contributors

afritz1 avatar angguss avatar anotherfoxguy avatar drummyfish avatar kcat avatar psi29a avatar winterheart avatar

Stargazers

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

Watchers

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

xlengine's Issues

DarkXL: can't progress past agent menu in Linux

I've compiled the latest (master) in Arch Linux, and can launch DarkXL. (I had to rename a few files due to the case-sensitivity issue there's currently a pending PR for). However at the Agent Menu, I see no agents in the list and no missions available, and none of the buttons work except for the "DOS" button to quit.

In case it's useful, stdout gives the following output while I'm launching and in the menu:

cut=26, 4cut=26, 3cut=27, 4cut=26, 3cut=3, 3cut=3, 3

On a more general note, looking through the code and scripts in the git depot, I don't see any code or scripts that seem like it would handle the bulk of what I'd expect to see in a fully working DarkXL, eg code/script for weapons, enemies, etc. As I understand the Jedi Engine is Doom-like in that the game logic is still in the EXE; ie the only things in the game's resource files are graphics, sounds, level data, etc. Do the current depot contents contain a fully working DarkXL (ie analogous to the DarkXL Alpha version 9.08 build from long ago) or will that need to be totally reimplemented?

DarkXL crashes on shutdown with software renderers

Happens with soft8, but will likely happen with soft32 when #18 is fixed.

*** Error in `/home/bcurtis/Workspace/Private/XLEngine/build/XLEngine': free(): invalid pointer: 0x000055555a2b2ce0 ***

Thread 1 "XLEngine" received signal SIGABRT, Aborted.
__GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:51
51	../sysdeps/unix/sysv/linux/raise.c: No such file or directory.
(gdb) bt
#0  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:51
#1  0x00007ffff5fdef5d in __GI_abort () at abort.c:90
#2  0x00007ffff602728d in __libc_message (action=action@entry=do_abort, 
    fmt=fmt@entry=0x7ffff614e528 "*** Error in `%s': %s: 0x%s ***\n") at ../sysdeps/posix/libc_fatal.c:181
#3  0x00007ffff602e64a in malloc_printerr (action=<optimized out>, str=0x7ffff614aeae "free(): invalid pointer", 
    ptr=<optimized out>, ar_ptr=<optimized out>) at malloc.c:5426
#4  0x00007ffff603073e in _int_free (av=0x7ffff6380c20 <main_arena>, p=<optimized out>, have_lock=0) at malloc.c:4175
#5  0x00007ffff603544e in __GI___libc_free (mem=<optimized out>) at malloc.c:3145
#6  0x00005555556cc1d1 in aligned_free (ptr=0x55555a2b2ce0)
    at /home/bcurtis/Workspace/Private/XLEngine/xlengine/render/Driver3D_Soft.cpp:84
#7  0x00005555556cc4b6 in Driver3D_Soft::~Driver3D_Soft (this=0x555557f9ad40, __in_chrg=<optimized out>)
    at /home/bcurtis/Workspace/Private/XLEngine/xlengine/render/Driver3D_Soft.cpp:129
#8  0x00005555556cc584 in Driver3D_Soft::~Driver3D_Soft (this=0x555557f9ad40, __in_chrg=<optimized out>)
    at /home/bcurtis/Workspace/Private/XLEngine/xlengine/render/Driver3D_Soft.cpp:134
#9  0x00005555557366e0 in Engine::Destroy (this=0x555557fffa20) at /home/bcurtis/Workspace/Private/XLEngine/xlengine/Engine.cpp:369
#10 0x00005555557356fe in Engine::~Engine (this=0x555557fffa20, __in_chrg=<optimized out>)
    at /home/bcurtis/Workspace/Private/XLEngine/xlengine/Engine.cpp:96
#11 0x000055555573571a in Engine::~Engine (this=0x555557fffa20, __in_chrg=<optimized out>)
    at /home/bcurtis/Workspace/Private/XLEngine/xlengine/Engine.cpp:97
#12 0x0000555555799b36 in main (argc=3, argv=0x7fffffffdf18)
    at /home/bcurtis/Workspace/Private/XLEngine/xlengine/linux/main.cpp:236

2020 Oct - vcpkg glew OpenGL rollback?

Was just playing around trying to see how far I could get. I am assuming these 24 errors are because vcpkg is downloading the latest versions of the libs and not what was last used? I also had a enet errors but I disabled networking via the flag (thanks for that!) now down to these seem to be OpenGL and ImageLoader only.
image
Any help appreciated. My first instinct is to roll back the vcpkg to 2018 when I think most of the work was done and try again?

Setup Appveyor

Win32 and Win64 builds
MSVC 2013/2015/2017

I'll settle for just one build, but a build matrix would be great.

Ideas for refactoring/pull requests

Maybe this could be formalized into a secondary to-do list or task list somewhere (and the to-do list in the Readme could be moved into an actual TODO.txt file). Some of these are things that new contributors could handle.

CMake is already set up for C++14. As @psi29a said, there are many C-ish things that could be replaced with their C++ equivalents (this also includes things like replacing for loops with range-based for, std::find, std::count, etc.).

Each change might require some considerations for the surrounding code, so when in doubt, just leave it alone. We do not want to introduce bugs because of "upgrades". You're free to ignore my suggestions -- these were just things I had in mind for getting rid of C/C++03 stuff.

  • Change NULL to nullptr
  • Change strcpy() to std::string() or std::copy()
  • Change C arrays to std::array (or std::string in the case of char[])
  • Change new/delete ptr to std::make_unique
  • Change inconvenient type names to auto
  • Add = default; to virtual constructors/destructors with { } body
  • Replace trivial return true/return false if branches with single bool expression
  • Change enum to enum class if not too invasive (i.e., no added static_casts)
  • Derived classes might need virtual destructors (CellLoader, TextureConverter, ...)
  • Remove (void) from C++ parameter lists (only relevant in C, not C++)
  • Change Vector{2,3,4}& to const Vector{2,3,4}& where applicable
  • Add more unit vectors to Vector{2,3,4} classes (UnitX, UnitY, UnitZ, etc.)
  • Alphabetize forward declarations
  • Move reusable/copy-pasted code into lambdas
  • Change sprintf() to std::snprintf(), std::to_string(), or std::stringstream
  • Add override to derived virtual methods
  • Change typedef struct to struct
  • Change iterator loops to range-based for loops
  • Break lines around ~100 columns
  • Replace atoi() with std::stoi()

Console crash (pressing tilda ~) with soft8 and soft32 renderer

XLEngine: /home/bcurtis/Workspace/Private/XLEngine/xlengine/render/triangleRasterizer/TriangleRasterizer.cpp:770: void TriangleRasterizer::DrawClippedNGon_Indexed(Driver3D_Soft*, VBO*, int, const uint16_t*, bool, int, PolygonData*): Assertion `A.x>>4 >= 0 && A.x>>4 <= DrawScanline::_nFrameWidth && A.y>>4 >= 0 && A.y>>4 <= DrawScanline::_nFrameHeight' failed.
Aborted (core dumped)

DarkXL crashes on startup with soft32 renderer

Starting DarkXL version 9.500
Start UI Script: DarkXL/CoreUI.as
SECTION_CORE (14, 1) : INFO : Compiling void UI_Title_OnEnter()
ScriptError: SECTION_CORE (14, 1) : INFO : Compiling void UI_Title_OnEnter()

SECTION_CORE (50, 74) : WARN : Float value truncated in implicit conversion to integer
ScriptError: SECTION_CORE (50, 74) : WARN : Float value truncated in implicit conversion to integer

SECTION_CORE (50, 58) : WARN : Float value truncated in implicit conversion to integer
ScriptError: SECTION_CORE (50, 58) : WARN : Float value truncated in implicit conversion to integer

SECTION_CORE (51, 72) : WARN : Float value truncated in implicit conversion to integer
ScriptError: SECTION_CORE (51, 72) : WARN : Float value truncated in implicit conversion to integer

SECTION_CORE (51, 56) : WARN : Float value truncated in implicit conversion to integer
ScriptError: SECTION_CORE (51, 56) : WARN : Float value truncated in implicit conversion to integer

SECTION_CORE (52, 68) : WARN : Float value truncated in implicit conversion to integer
ScriptError: SECTION_CORE (52, 68) : WARN : Float value truncated in implicit conversion to integer

SECTION_CORE (52, 52) : WARN : Float value truncated in implicit conversion to integer
ScriptError: SECTION_CORE (52, 52) : WARN : Float value truncated in implicit conversion to integer

SECTION_CORE (72, 1) : INFO : Compiling void UI_Title_OnRender(int)
ScriptError: SECTION_CORE (72, 1) : INFO : Compiling void UI_Title_OnRender(int)

SECTION_CORE (75, 64) : WARN : Float value truncated in implicit conversion to integer
ScriptError: SECTION_CORE (75, 64) : WARN : Float value truncated in implicit conversion to integer

SECTION_CORE (75, 50) : WARN : Float value truncated in implicit conversion to integer
ScriptError: SECTION_CORE (75, 50) : WARN : Float value truncated in implicit conversion to integer

SECTION_CORE (76, 72) : WARN : Float value truncated in implicit conversion to integer
ScriptError: SECTION_CORE (76, 72) : WARN : Float value truncated in implicit conversion to integer

SECTION_CORE (76, 56) : WARN : Float value truncated in implicit conversion to integer
ScriptError: SECTION_CORE (76, 56) : WARN : Float value truncated in implicit conversion to integer

SECTION_CORE (79, 50) : WARN : Float value truncated in implicit conversion to integer
ScriptError: SECTION_CORE (79, 50) : WARN : Float value truncated in implicit conversion to integer

SECTION_CORE (93, 1) : INFO : Compiling void UIT_StartBtn_OnRender(int)
ScriptError: SECTION_CORE (93, 1) : INFO : Compiling void UIT_StartBtn_OnRender(int)

SECTION_CORE (98, 65) : WARN : Float value truncated in implicit conversion to integer
ScriptError: SECTION_CORE (98, 65) : WARN : Float value truncated in implicit conversion to integer

SECTION_CORE (98, 49) : WARN : Float value truncated in implicit conversion to integer
ScriptError: SECTION_CORE (98, 49) : WARN : Float value truncated in implicit conversion to integer

SECTION_CORE (102, 65) : WARN : Float value truncated in implicit conversion to integer
ScriptError: SECTION_CORE (102, 65) : WARN : Float value truncated in implicit conversion to integer

SECTION_CORE (102, 49) : WARN : Float value truncated in implicit conversion to integer
ScriptError: SECTION_CORE (102, 49) : WARN : Float value truncated in implicit conversion to integer

SECTION_CORE (113, 1) : INFO : Compiling void UIT_SettingsBtn_OnRender(int)
ScriptError: SECTION_CORE (113, 1) : INFO : Compiling void UIT_SettingsBtn_OnRender(int)

SECTION_CORE (118, 68) : WARN : Float value truncated in implicit conversion to integer
ScriptError: SECTION_CORE (118, 68) : WARN : Float value truncated in implicit conversion to integer

SECTION_CORE (118, 52) : WARN : Float value truncated in implicit conversion to integer
ScriptError: SECTION_CORE (118, 52) : WARN : Float value truncated in implicit conversion to integer

SECTION_CORE (122, 68) : WARN : Float value truncated in implicit conversion to integer
ScriptError: SECTION_CORE (122, 68) : WARN : Float value truncated in implicit conversion to integer

SECTION_CORE (122, 52) : WARN : Float value truncated in implicit conversion to integer
ScriptError: SECTION_CORE (122, 52) : WARN : Float value truncated in implicit conversion to integer

SECTION_CORE (133, 1) : INFO : Compiling void UIT_ExitBtn_OnRender(int)
ScriptError: SECTION_CORE (133, 1) : INFO : Compiling void UIT_ExitBtn_OnRender(int)

SECTION_CORE (138, 64) : WARN : Float value truncated in implicit conversion to integer
ScriptError: SECTION_CORE (138, 64) : WARN : Float value truncated in implicit conversion to integer

SECTION_CORE (138, 48) : WARN : Float value truncated in implicit conversion to integer
ScriptError: SECTION_CORE (138, 48) : WARN : Float value truncated in implicit conversion to integer

SECTION_CORE (142, 64) : WARN : Float value truncated in implicit conversion to integer
ScriptError: SECTION_CORE (142, 64) : WARN : Float value truncated in implicit conversion to integer

SECTION_CORE (142, 48) : WARN : Float value truncated in implicit conversion to integer
ScriptError: SECTION_CORE (142, 48) : WARN : Float value truncated in implicit conversion to integer

Result of gdb:

Thread 1 "XLEngine" received signal SIGSEGV, Segmentation fault.
0x00005555556cffbd in Driver3D_Soft::RenderScreenQuad (this=0x5555580e4d90, posScale=..., uvTop=..., uvBot=..., colorTop=..., 
    colorBot=...) at /home/bcurtis/Workspace/Private/XLEngine/xlengine/render/Driver3D_Soft.cpp:1289
1289	                    *pLine++ = pImageV[ U ];
(gdb) bt
#0  0x00005555556cffbd in Driver3D_Soft::RenderScreenQuad (this=0x5555580e4d90, posScale=..., uvTop=..., uvBot=..., colorTop=..., 
    colorBot=...) at /home/bcurtis/Workspace/Private/XLEngine/xlengine/render/Driver3D_Soft.cpp:1289
#1  0x000055555575c0dd in UI_System::UI_RenderImageRect (hImage=1, x=-64, y=0, w=768, h=820, intensity=1, alignHoriz=0, 
    alignVert=0) at /home/bcurtis/Workspace/Private/XLEngine/xlengine/ui/UI_System.cpp:1178
#2  0x000055555580f302 in X64_CallFunction (args=0x7fffffffd5a0, cnt=1, 
    func=0x55555575bce8 <UI_System::UI_RenderImageRect(int, int, int, int, int, float, int, int)>, retQW2=@0x7fffffffd7c8: 0, 
    returnFloat=false)
    at /home/bcurtis/Workspace/Private/XLEngine/xlengine/thirdparty/AngelCode/sdk/angelscript/source/as_callfunc_x64_gcc.cpp:162
#3  0x000055555580fefd in CallSystemFunctionNative (context=0x555558034fa0, descr=0x55555802d450, obj=0x0, args=0x555558036180, 
    retPointer=0x0, retQW2=@0x7fffffffd7c8: 0, secondObject=0x0)
    at /home/bcurtis/Workspace/Private/XLEngine/xlengine/thirdparty/AngelCode/sdk/angelscript/source/as_callfunc_x64_gcc.cpp:468
#4  0x000055555580ec62 in CallSystemFunction (id=132, context=0x555558034fa0)
    at /home/bcurtis/Workspace/Private/XLEngine/xlengine/thirdparty/AngelCode/sdk/angelscript/source/as_callfunc.cpp:718
#5  0x000055555579fdf4 in asCContext::ExecuteNext (this=0x555558034fa0)
    at /home/bcurtis/Workspace/Private/XLEngine/xlengine/thirdparty/AngelCode/sdk/angelscript/source/as_context.cpp:2525
#6  0x000055555579d01b in asCContext::Execute (this=0x555558034fa0)
    at /home/bcurtis/Workspace/Private/XLEngine/xlengine/thirdparty/AngelCode/sdk/angelscript/source/as_context.cpp:1318
#7  0x000055555575148e in ScriptSystem::ExecuteFunc (hFunc=0x555557fbc5b0, nArgCnt=1, pArgs=0x7fffffffdcb0, 
    bRetValueExpected=false) at /home/bcurtis/Workspace/Private/XLEngine/xlengine/scriptsystem/ScriptSystem.cpp:279
#8  0x0000555555759596 in UI_System::Render () at /home/bcurtis/Workspace/Private/XLEngine/xlengine/ui/UI_System.cpp:333
#9  0x00005555557385a4 in Engine::Loop (this=0x555557fb5940, fDeltaTime=0.00229199999, bFullspeed=true)
    at /home/bcurtis/Workspace/Private/XLEngine/xlengine/Engine.cpp:858
#10 0x0000555555799acb in main (argc=3, argv=0x7fffffffdf18)
    at /home/bcurtis/Workspace/Private/XLEngine/xlengine/linux/main.cpp:228

opengl renders only black and white

daggerxl renders the world with the software renderer just fine, but the load screen is garbled. This has to do with the fact that pallet isn't correctly set.

Linux Mint Debian Edition New Agent

Hello.

Compile the engine, and can run Dark Forces.

Settings button displays only XL Engine Configuration and the Exit button.
The game launch, but there is no way to create a New Agent or Begin Mission.

Thank you

License confirmation

I got curious about the project origins and am basically checking if there's any more information available about the history of the License.txt file (modified 2018-04-01) in AprilFirst.zip sha256sum as uploaded by Klasodeth, since DarkXL was GPL2. Many reimplementations eventually end up in Debian's repository, who are very thorough about overall licenses, best done before significant external contributions are accepted - obviously @luciusDXL is entitled to relicense their original work from GPL2 to MIT, I'm just checking that's the authors' intention.

$ licensecheck -r . | grep -vF '*No copyright*' | grep -vF '.png: '
./LICENSE: MIT/X11 (BSD like)
./fonts/Verdana16.fnt: UNKNOWN        # ?msttcorefonts?
./fonts/Verdana24.fnt: UNKNOWN
./fonts/Verdana32.fnt: UNKNOWN
./scriptsystem/angelscript.h: zlib/libpng
./win/XL Engine.ico: UNKNOWN
./win/small.ico: UNKNOWN
./render/win/wglext.h: UNKNOWN        # MIT
./threading/Posix/Mutex.h: UNKNOWN        # Unlicensed: https://www.codeproject.com/Articles/5417/A-C-Cross-Platform-Thread-Class
./threading/Posix/Semaphore.h: UNKNOWN
./threading/Posix/Thread.h: UNKNOWN
./threading/Win32/Mutex.h: UNKNOWN
./threading/Win32/Semaphore.h: UNKNOWN
./threading/Win32/Thread.h: UNKNOWN
./threading/Win32/Win32.h: UNKNOWN

Code Formatting

Before further development I think code conventions should be set and the current code accordingly reformatted. Personally I think tab indents are bad and would suggest OpenMW conventions instead, because we can suppose a lot of OpenMW devs to start contributing here and this would help to keep things going smoothly (no double editor settings, no mental switches between the projects etc.). Any other opinions on this?

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.