Clean Source version without MV ?

General discussion and help regarding JK2MV.
Post Reply
NanoVed
Posts: 28
Joined: 21 May 2016, 00:41

Clean Source version without MV ?

Post by NanoVed »

Hello,

Is there by any chance a clean port of jk2 made by the team behind MV ?

With clean i am referring to a source base without any possible additions except that what was needed to have it running on Linux. Namely : no MV API, no additions to the cvars, no additions to the Qcommon files to add the MV. Just a plain and clean functional port.

It is rather time consuming to track it down, remove it, and then have everything compiling again.
User avatar
fau
Staff
Posts: 433
Joined: 16 Aug 2015, 01:01
Location: Warsaw / Poland
Contact:

Re: Clean Source version without MV ?

Post by fau »

No. This would mean backporting half of the commits, there was no need or resources for this. There are some "clean" ports that run on linux (barely), eg. here: https://github.com/aufau/jedi-outcast but they are unmaintained and bug-ridden.
JK2MV is pretty "vanilla" port until you start playing with cvars. I don't recommend stripping it from features as backporting future bugfixes will be a huge pain in the ass and you'll probably just miss them.
NanoVed
Posts: 28
Joined: 21 May 2016, 00:41

Re: Clean Source version without MV ?

Post by NanoVed »

I have tried 4 different Linux ports and they all where the pure transfer without any eye for bugs. So in a sense fantastic that people did it, but horrendous to play with. I mainly look at sources to learn instead of doing major things with them, so i will stick to your conclusion. :)
User avatar
Daggolin
Administrator
Posts: 794
Joined: 23 Feb 2015, 13:05

Re: Clean Source version without MV ?

Post by Daggolin »

Ah, so you're not planning to do something with the code, but you rather want to see how someone ported the code to work on linux?
NanoVed
Posts: 28
Joined: 21 May 2016, 00:41

Re: Clean Source version without MV ?

Post by NanoVed »

I was hoping for one just to play using an as original as possible 1.04 version, while also reading bits an pieces to indeed figure out what replaced the assembler based caching and others. But also in hopes of modding it somewhere along the line.
User avatar
Daggolin
Administrator
Posts: 794
Joined: 23 Feb 2015, 13:05

Re: Clean Source version without MV ?

Post by Daggolin »

If you are planning to mod it along the line I would really recommend using the JK2MV source as base. Original jk2mp is full of bugs and security flaws. Even to the point that you could get virus infections through original jk2. And by working with the jk2mv code you would provide enhancements for all versions of jk2, not only 1.04. :/

Anyway, a pretty clean version of the 1.04 code working with VS 2013 is available at: https://github.com/ouned/JK2-1.04

That is actually the code jk2mv is based on, but it doesn't run on Linux or Mac.
User avatar
ouned
Administrator
Posts: 596
Joined: 23 Feb 2015, 13:03
Location: Gliese581c

Re: Clean Source version without MV ?

Post by ouned »

assembler based caching
wat
NanoVed
Posts: 28
Joined: 21 May 2016, 00:41

Re: Clean Source version without MV ?

Post by NanoVed »

That was a bad choice of words. I was referring to these memory routines :

jk2-1.04-src/CODE-mp/qcommon/common.cpp

Code: Select all

void _copyDWord (unsigned int* dest, const unsigned int constant, const unsigned int count)

// optimized memory copy routine that handles all alignment
// cases and block sizes efficiently
void Com_Memcpy (void* dest, const void* src, const size_t count)

void Com_Memset (void* dest, const int val, const size_t count)

void Com_Prefetch (const void *s, const unsigned int bytes, e_prefetch type)
{
	// write buffer prefetching is performed only if
	// the processor benefits from it. Read and read/write
	// prefetching is always performed.

User avatar
ouned
Administrator
Posts: 596
Joined: 23 Feb 2015, 13:03
Location: Gliese581c

Re: Clean Source version without MV ?

Post by ouned »

oooh, thats totally useless in 2016

but if you are interested in this kind of stuff have a look at gnu libc Implementations
User avatar
fau
Staff
Posts: 433
Joined: 16 Aug 2015, 01:01
Location: Warsaw / Poland
Contact:

Re: Clean Source version without MV ?

Post by fau »

Things like this target a single specific system with all it's hardware intricacies and limits. If I was learning to write assembly nowadays I'd start with programming microcontrollers. Current intel architecture is a mess due to years of creeping featurism.
NanoVed
Posts: 28
Joined: 21 May 2016, 00:41

Re: Clean Source version without MV ?

Post by NanoVed »

Useless in terms of being ancient and highly dependent on certain CPU's, but i could not figure out what was done to replace it.
User avatar
ouned
Administrator
Posts: 596
Joined: 23 Feb 2015, 13:03
Location: Gliese581c

Re: Clean Source version without MV ?

Post by ouned »

Code: Select all

void Com_Memset (void* dest, const int val, const size_t count) {
    memset(dest, val, count);
}
:P
Post Reply
Created by Matti from StylesFactory.pl and Warlords of Draenor (modified by jk2.info)
Powered by phpBB® Forum Software © phpBB Limited