Git Product home page Git Product logo

map-compiler's Introduction

id Tech 3 Map Compiler

This project is a modified version of Q3Map2, which is a map compiler for games based on id Tech 3 engine, forked from NetRadiant's q3map2 2.5.17n. All API changes, bug fixes and new features are listed in the changelog.

Wiki

The wiki page has detailed information about all switches map compiler currently supports.

Scripts

The scripts directory contains fully functional batch scripts to do compiling, decompiling and model conversion work.

Precompiled binaries

Windows binaries can be found under releases page.

Contributing

You are free to make feature requests/bug reports under issues, as well as pull requests of course. More information can be found here.

External dependencies

All required dependencies are shipped with the project.
assetsys loads binary assets into virtual file system.
The library used in a project contains custom changes. MIT License.
Catch2 test framework for unit-tests, TDD and BDD. Boost Software License.
filesystem a simple class for manipulating paths on Linux/Windows/Mac OS. BSD-3 License.
jpeg-compressor jpeg compression/decompression lib. Public domain.
lodepng PNG encoder and decoder. zlib License.
msdirent.h dirent API for MS Windows. MIT License.
tinyformat type safe printf replacement library. Boost Software License.

Compiling binaries

Compiling on linux

mkdir build && cd build
cmake -DCMAKE_BUILD_TYPE=RELEASE .. && make

Compiling on Windows

Several options are available.

Visual Studio 2017

In VS2017 you can natively open up the CMake project folder: File > Open > CMake, and compile the project using CMake menu.

Compile from command line

mkdir build
cd build
cmake ..
cmake --build . --target mapcompiler --config Release

Generate Visual Studio solution

mkdir build
cd build
cmake .. -G "Visual Studio 15 2017"

Open up sln in Visual Studio and build solution from there.

Original Q3Map2 License

Copyright (C) 1999-2007 id Software, Inc. and contributors.
For a list of contributors, see the accompanying CONTRIBUTORS file.

This file is part of GtkRadiant.

GtkRadiant is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.

GtkRadiant is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with GtkRadiant; if not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA

----------------------------------------------------------------------------------

This code has been altered significantly from its original form, to support
several games based on the Quake III Arena engine, in the form of "Q3Map2."

map-compiler's People

Contributors

aciz avatar isryven avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

map-compiler's Issues

Add -extradist alias

That flag decreases light contribution from a light sources by increasing the extra distance:

    /* clamp the distance to prevent super hot spots */
    dist = sqrt( dist * dist + light->extraDist * light->extraDist );
    if ( dist < 16.0f ) {
        dist = 16.0f;
    }
    add = light->photons / ( dist * dist ) * angle;

Fix -lowquality + add alias

-lowquality is supposed to enable low quality floodlighting, but currently it just disables floodlighting completely.

Also add a more meaningful alias: -lowqualityflood, -lqfloodlight?

Lightgrid directionality issue

The lightgrid directionality by default in some cases is really low, and easily drops down to 0 on a bigger light distances.

Merge multiple brushmodels into one

If different brush models have similar properties, for instance, they use the same texture(eg. trigger) and have similar size(up to 5 unit error?), they could be merged into s single model, to bypass the brush model in game limits.
-mergebrushmodels?

Add blocksize switch

-blocksize n, -blocksize n n n
_blocksize defined in worldspawn takes precedence

_bounceColor worldspawn key support

_bounceColor allows setting R G B value for radiosity light, if q3map_lightImage is missing from shader, instead of falling back to qer_editorImage or averaging color from texture map. If a shader has q3map_lightImage, this key is ignored for that shader.

Update switch tool tips

Current ones are just copied from q3map2 wiki and contain some false information/not enough information.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.