Sourcemod Info Help
So I had an idea for something to code over the Summer because I have a few ideas in my head, but no clue which one I actually wanna dedicate my new-found time to.
One of my ideas involves playing around with some SM language related stuff. Does anyone know where I could find documentation on the .smx file format and documentation on the Sourcemod VM instruction set? Or is my only option to go through the source code to figure it all out myself? |
Re: Sourcemod Info Help
There isn't really documentation. The upstream Pawn docs have some information about the instruction set in this document. However, SourcePawn forked off long ago and our VM will not handle instructions we know our compiler won't generate.
What are you looking to do? |
Re: Sourcemod Info Help
I read up on Bailopans blog. Found a couple of posts from 2007 involving the structure of .smx files, and I was able to get some info from looking at the source code, but I wasn't able to get a complete picture.
Additionally, I found a bunch of instructions from the Sourcemod header files, but not the corresponding opcodes and bit layouts for the VM instructions. Also some of the instructions weren't self-explanatory by name. I was thinking of writing a compiler for Sourcemod that rethinks how plugins are developed. I would give details, but I don't even know all of them myself. I have multiple ideas, but I haven't been investing myself into any of them to a huge extent because I'm figuring out which ideas to pursue. |
Re: Sourcemod Info Help
The file format is documented in smx-headers.h, smx-v1-opcodes.h, and smx-v1.h here: https://github.com/alliedmodders/sou...er/include/smx
There's a reference implementation of the VM in interpreter.cpp. We have another repo, "smxtools" (should probably be merged into the SP repo): https://github.com/alliedmodders/smxtools It's basically a C# implementation of everything but the VM, and it's a bit easier to read than the C++ code. |
Re: Sourcemod Info Help
Personally I wouldn't merge the two. If one is in C# and the other is C++ I'd keep them separate.
|
All times are GMT -4. The time now is 22:14. |
Powered by vBulletin®
Copyright ©2000 - 2024, vBulletin Solutions, Inc.