Skip to content

RaphaelIT7/gmod-lua-shared

Repository files navigation

gmod-lua-shared

My goal is to recreate the lua_shared.dll from Gmod.
Current LUAJIT Version used for this: https://github.com/LuaJIT/LuaJIT/commit/a4f56a459a588ae768801074b46ba0adcfb49eb1

Note: This is still WIP

Maybe if I finish this I also try to get Lua 5.4 to work :D

ToDo

Current Issues

  • Engine Error: Error loading lua_shared (Sys_GetFactory)
  • Segmentation fault (core dumped) ../../../source/CLuaInterface.cpp:958
  • CLuaInterface::Global needs to be implemented. Or else we crash.
  • CLuaInterface::SetMember needs to be implemented.
  • CLuaInterface::GetMetaTableObject needs to be implemented.
  • CLuaInterface::FindAndRunScript needs to be implemented.
  • CLuaInterface::PushUserType needs to be implemented?
  • Random Crashes on Windows? (Seems to be solved???)
  • ILuaObjects are broken? (obj->isTable() = false, (obj->GetType() == Type::Table) = true?, obj->Push() = nothing???) Best example is Global(); NOTE: Added a workaround to fix it.
  • Fixed the Stack
  • (IMPORTANT) Find out why functions like Material crash. Are we missing something?
  • Implement continue
  • What makes this call? What is broken? CLuaInterface::CheckString 1068146288
    NOTE: I should actual give Msg the Value to ACTUALLY print the REAL value and not some memory.
  • What causes a stack leak? A bunch of nil values end up on the stack.
  • Fix SetMember functions causing [MENU ERROR] attempt to index a string value
  • Find another stack leak.
    NOTE: The leak was cased by CallFunctionProtected returning false instead of true.
  • Fix /* */ and // in LuaJIT and remove the Workarounds from CLuaInterface::RunMacros
    BUG: [MENU ERROR] [string "includes/util/color.lua"]:81: ')' expected near '~'
  • Fix some random error (the file "(null)"" couldn't be opened)
  • Fix the random crash when loading into a game
    • Fix CallFunctionProtected & GetReturn
  • Type Errors cause engine errors.
  • Fix a crash when closing the game.
  • Fix /* */. it ignores the full line.
    • Find out why the local build lib works but the one from the compiler fails
  • Fix print breaking with numbers.
  • Find out why you cannot press a VGUI Button.
  • Fix a crash on level shutdown (menusystem.dll crashes)
  • Implement Managed Convars properly -> Save and load their values.
  • Implement the cache properly
  • Why is the player NULL in concommand.Run?

Linux DS issues

  • Crashes while loading.
    • Implement Bootil to fill the compressed field to not cause a crash.
    • Fix a crash in CLuaShared::LoadFile
    • Get the proper CLuaError struct
    • Find out why GModDataPack::GetHashFromString eats up all our memory.

Collection of random Engine Errors and Warnings or other things

image image image image image image image image image image

About

WIP

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published