-
Notifications
You must be signed in to change notification settings - Fork 631
Reintroduce QVM support #1182
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
Daggolin
wants to merge
28
commits into
JACoders:master
Choose a base branch
from
Daggolin:qvm_support
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Reintroduce QVM support #1182
Changes from all commits
Commits
Show all changes
28 commits
Select commit
Hold shift + click to select a range
2d7593c
Add vm_arm.cpp, vm_interpreted.cpp, vm_local.h and vm_x86.c from mvde…
Daggolin 324b6fd
Fix compiling with the jk2mv vm_* files.
Daggolin f57ce90
Add QVM loading.
Daggolin 54b4990
Fix return values in nested system calls from QVMs
Daggolin 1d3d3c4
Add support for ui.qvm on 64 bit engine builds.
Daggolin ccdc67e
Add extra memory to QVMs on load to use when the module doesn't provi…
Daggolin 9002d28
Adjust the gameapi in a similar way to the uiapi for better QVM compa…
Daggolin 39000e2
Replace sharedEntity_t with sharedEntityMapper_t in most places.
Daggolin b92fc59
Adjust gvm calls to use QVM extra memory where required.
Daggolin f981711
Adjust the cgameapi in a similar way to the uiapi and gameapi for bet…
Daggolin c249103
Cleanup for QVM related code.
Daggolin 6fd6d78
Fix previously undefined behavior in SV_ClipMoveToEntities.
Daggolin 73e46f9
Compile vm_legacy cvar into non-debug builds.
Daggolin 9e3da12
Mark native libraries using the Legacy API in vminfo command output.
Daggolin db0a3d4
Fix developer and cl_shownet output accessing invalid memory when usi…
Daggolin bce0347
Use longjmp in Com_Error, because throwing an exception when the call…
Daggolin e02ac4a
Add com_dedicatedForceErrorsToFatal cvar.
Daggolin cf4fb13
Fix return value of GVM_ClientConnect when using QVM.
Daggolin cf10de6
Port file extension and character restrictions for vms from jk2mv.
Daggolin d3f43ad
Add win32/q3asm.asm from jk2mv for MSVC builds.
Daggolin 4ab1db0
vm_x86.cpp: push and pop ebx in EmitCallDoSyscall.
Daggolin afa3d13
vm_x86.cpp: backup and restore registers r12, r13, r14 and r15 in Emi…
Daggolin 2a74fa5
vm_x86.cpp: add workaround for x64 Windows in EmitCallDoSyscall.
Daggolin 2626c38
Fix behaviorSet in sharedEntityMapper when using QVMs.
Daggolin 9eb8502
Use new macros to fix double pointers in sharedEntityMapper reading 6…
Daggolin 57cf72f
Add SV_EntityMapperReadGhoul2 to handle special case for ghoul2 handl…
Daggolin 9292075
Fix VM_ExtraMemory_Claim using incorrect vm pointer.
Daggolin 1271456
Fix CGVM_GetOrigin and CGVM_GetAngles not setting the out vec3_t when…
Daggolin File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -102,6 +102,11 @@ list(INSERT CMAKE_MODULE_PATH 0 "${CMAKE_SOURCE_DIR}/cmake/Modules") | |
# ${Architecture} must match ARCH_STRING in q_platform.h, | ||
# and is used in DLL names (jagamex86.dll, jagamex86.dylib, jagamei386.so). | ||
if(WIN32) | ||
|
||
if(MSVC) | ||
enable_language(ASM_MASM) | ||
endif() | ||
|
||
set(X86 ON) | ||
if(CMAKE_SIZEOF_VOID_P MATCHES "8") | ||
set(Architecture "x86_64") | ||
|
@@ -116,6 +121,7 @@ else() | |
set(Architecture "arm64") | ||
add_definitions(-DPNG_ARM_NEON_OPT=0) | ||
elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "^arm") | ||
set(ARM32 ON) | ||
set(Architecture "arm") | ||
elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "^i.86$") | ||
set(X86 ON) | ||
|
@@ -215,6 +221,8 @@ if(MSVC) | |
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /arch:SSE2") | ||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /MP") | ||
|
||
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /safeseh:no") | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. A comment explaining why this is needed would be useful (I assume it's related to longjmp?). Also FYI this has no effect on x64. |
||
|
||
# We don't try to control symbol visibility under MSVC. | ||
set(OPENJK_VISIBILITY_FLAGS "") | ||
elseif (("${CMAKE_C_COMPILER_ID}" STREQUAL "GNU") OR ("${CMAKE_C_COMPILER_ID}" MATCHES "Clang")) | ||
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Large diffs are not rendered by default.
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Wouldn't it be more likely to be ARM64?