q3vm
q3vm copied to clipboard
Q3VM - Single file (vm.c) bytecode virtual machine/interpreter for C-language input
is the vm.c code based on q3 sources? if not it should be possible to release it under a less restrictive license like MIT which would make this project a...
Based on the ioquake3 pull request by WolfWings: https://github.com/ioquake/ioq3/pull/255 The mixed indentation and 'break after expression' formatting in this code makes it a bit of a landmine, and is causing...
The C in RFC I mean literally. I want to improve the C compiler since for me writing C89 Code can be confusing at times. And we have to remember...
The double (64-bit) data type is silently converted to 32-bit floats in the Quake 3 VM. This is the default behaviour and probably won't be changed.
It would be great to add the Quake 3 JIT compiler (e.g. for x86 or ARM).
If compiled with the DEBUG_VM define, the COM_Parse() function is using some global variables to parse strings in `vm.c`: - `com_token` - `com_lines` - `com_tokenline` This is probably not thread...
# Summary This pull request introduces a CodeQL workflow to enhance the security analysis of this repository. # What is CodeQL CodeQL is a static analysis tool that helps identify...
When testing `bin/linux/q3cpp`: ``` valgrind bin/linux/q3cpp bg_lib.c > /dev/null ==32739== Memcheck, a memory error detector ==32739== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al. ==32739== Using Valgrind-3.17.0...
Hello, during my research on this project, I noticed that `OP_CALL` handler does not check the bounds when saving `programCounter` into `image[programStack + 4]` (https://github.com/jnz/q3vm/blob/master/src/vm/vm.c#L1098). Combining this with `OP_ENTER` (to...
Hello, during my research on this project, I noticed that `opStack` variable is not zero-initialized (https://github.com/jnz/q3vm/blob/master/src/vm/vm.c#L873). This can lead to the memory disclosure issue. Ideally, `opStack` should be zeroed on...