• GMod - What are you working on? February 2019 (#89)
    16 replies, posted
GMod - What are you working on? February 2019 (#89) Highlights from the previous thread @the_mactavish 's LED panels https://youtu.be/dtiTrCXum6o @Tenrys ' lockpick https://tenrys.pw/ShareX/2019/Jan/yOZV.webm @Zeh Matt 's procedural rooms https://youtu.be/7MaNiHJ-Whs @Extra 's fallout gamemode https://youtu.be/_N2tfIuPnwU
Once i was working on a bigger update for my radio addon and realized that this project got big enough for manual testing. I did some research for to automate testing in Lua and found Lunatest. Unfortunately it doesn't run in GMod out of the box, because it pure Lua made for CLI. To make it actually work I desided to write a wrapper, so you can use it ingame via the console. The biggest challenge was to not change the original Lunatest file, so it can be updated easier later. The wrapper also runs the tests in isolated environments to prevent any polluting of the global table. It ensures that the tests are started with a clean and defined environment, aswell. I had to use a lot of get/setfenv and other advanced Lua functionalities, which makes the code quite hacky to be honest. It's still work in progress, but I see a great potential for that side project. I think it could be the first testing framework that was made for GMod. I'm planning to release it as "GLunatest" when is stable. https://files.facepunch.com/forum/upload/110792/a65f43bb-c86e-4a28-8596-5e80a2927072/test_verbose.png https://files.facepunch.com/forum/upload/110792/0704663c-00eb-4aef-aa62-a5628b90f5fb/test_normal.png The to run it you enter glunatest [all|<addonname>] [cli parameters ...] into the console. The wrapper uses wrapper helpers to extend the testing environment. You can add assertion functions that Lunatest doesn't have without changing the original file. The framework already has a single json config file so you could manually add your addon's test suites, but I'm sure that's far from optimum, so I'm open for suggestions on that. {     "emulatorhelper": [         "glunatest/emulatorhelper/gmod.lua"     ],     "addons": [         {             "test": [                 "glunatest/tests/test-glunatest.lua",                 "glunatest/tests/test-gmod.lua"             ],             "name": "glunatest",             "emulatorhelper": []         }     ] } A typical test looks like this: -- require() is changed in testing environments local lunatest = require "lunatest" -- These also work -- local lunatest = require "glunatest" -- local lunatest = GLUNATEST -- local lunatest = _G.GLUNATEST function test_gamelib()     lunatest.assert_table(game) end function test_version()     lunatest.assert_number(VERSION) end function test_assert_vector()     lunatest.assert_vector(Vector())     lunatest.assert_vector(Vector(1, 2, 3)) end function test_assert_not_vector()     lunatest.assert_not_vector(nil)     lunatest.assert_not_vector(23)     lunatest.assert_not_vector("lapdesk")     lunatest.assert_not_vector(false)     lunatest.assert_not_vector(function () return 3 end)     lunatest.assert_not_vector({"1", "2", "3"})     lunatest.assert_not_vector({ foo=true, bar=true, baz=true })     lunatest.assert_not_vector(Angle())     lunatest.assert_not_vector(Matrix())     lunatest.assert_not_vector(Entity(1))     lunatest.assert_not_vector(NULL) end -- some more tests ... lunatest.run()
Porting my Gear assembly to the new matrix OOP system and playing around with my E2 automation control systems library.
After making the new texture-system for SF that supports live changes, I noted that a lot of map-creators have used outdoor materials indoors. So I made a new tool to easily remove or add map materials to the settings. https://www.youtube.com/watch?v=vXBB-aDS33s
I know this has been too many times already, a friend asked me to do something like this so I did it: https://www.youtube.com/watch?v=KULSVo8uuuM
Looks really amazing and detailed. Good job
Working on a fresh RP gamemode... Character Menu https://steamuserimages-a.akamaihd.net/ugc/941718808788097652/0D2B1C5040A4441A382F0ED239B6C7C31722ED11/ Skills Menu https://steamuserimages-a.akamaihd.net/ugc/941718808788097774/833467A3E8F12B032A52D18CB05085AFE83B2CE3/ Crafting Table https://steamuserimages-a.akamaihd.net/ugc/941718808788097446/6D0B61D81BDBD8B39092A13A5CF11A006D6A3052/ Group/Organization Menu https://steamuserimages-a.akamaihd.net/ugc/941718808788097883/C0409585FE036A53B5C28B59C259E379BA5D33D3/ Immersive Contraband Production https://steamuserimages-a.akamaihd.net/ugc/941718494137963100/2DF43751559134F216F94FF91758114FED6B8851/ Growing Tent https://steamuserimages-a.akamaihd.net/ugc/941718808788097217/41B0B0790FF8D4058FB7695B0F57EE942E047EFE/
Testing SNPCs doing different formations and responding to the player's commands. (The player is seen as the commander to the SNPCs): (Sorry for the bad video quality) https://www.youtube.com/watch?v=Zcqj7hYODWY
I order them to dab.
Reminds me of republic commando 3D HUD, you might want to use 2 models, the first one being used when equiping the mask and the second one without the glass to prevent the reflection that can be a lil annoying
The reflection is one of the reasons why I made it use a model instead of an overlay, although I will need make it no as reflective as it is right now. Second reason was that overlays don't get affected by light, so in a pitch black room, you could still see the mask overlay, which was just dumb.
Another test of SNPCs doing different formations, the number of people in the group is dynamic, which always people to have as many people as they want. A new following system can also be seen in the video, they keep the formation while following. https://www.youtube.com/watch?v=1ItV3ZenGvI
After finishing SF's new texture system, I'm now able to add "special" snow-textures. (Among sand, rain and any other type). I then created a default snow texture-list from DoD, HL2EP2 and TF2. https://files.facepunch.com/forum/upload/107119/cb8ecab0-72e6-452e-ba5a-4d32431a322e/snow-tex.gif The system also got a new hook, allowing people to add their own "content packs", among env_groundtexture, env_snowtexture, env_raintexture, env_sandtexture for map-creators. It also supports add/remove textures in the settings and updates any changes live to the clients.
Re-coded my inventory from scratch up, old one wasn't up to par. You can enable/disable each rarity, sort by "unsorted" (where users can drag it around like they want), alphabetically, worst to best, or best to worst, plus you can search by name. https://lolihaven.org/VO8pj For the context menu it's just a mini version of the big inventory, all functionality besides filters are there + the ability to drag things to drop/equip (this can be done by pressing the items in the big and small one as well) https://streamable.com/jfz8o Still work in progress, some things like icons and indefinite article management is missing.
My Valentine's Day gift for the GMod community is here https://steamcommunity.com/sharedfiles/filedetails/?id=1655753632 Complete with brain melting launch trailer!!! https://www.youtube.com/watch?v=czbWxdybEjc
oh good god why also missed opportunity about posting it on aprils fools
Been working on a painting prototype today! https://www.youtube.com/watch?v=OV_APrW_LOs Video is using a Leap Motion Controller to track my hand thanks to this wrapper. You can change the post process applied using the numpad (I recommend dabbing the keys with your brush to really get into the artist roleplay) It might be hard to see in the video but I'm also dividing the screen and tracing to find contents in the hopes of the code having a rough understanding of what is being painted Source (also works with cursor input for the viewers at home): https://github.com/johnjoemcbob/GModMatthewPainting
Sorry, you need to Log In to post a reply to this thread.