Skip to content

Commit

Permalink
Merge branch 'master' into map-hedgeds
Browse files Browse the repository at this point in the history
Conflicts:
doomsday/engine/engine.pro
  • Loading branch information
danij-deng committed Mar 10, 2012
2 parents 490d617 + 58d8670 commit e9325cd
Show file tree
Hide file tree
Showing 65 changed files with 2,075 additions and 1,051 deletions.
4 changes: 1 addition & 3 deletions README.md
Expand Up @@ -8,17 +8,15 @@ For compilation instructions and other details, see the documentation wiki: http

The following branches are currently active in the repository.

- **master**: Main code base. This is where releases are made from on a bi-weekly basis. Bug fixing is done in this branch, while larger development efforts occur in separate work branches.
- **master**: Main code base. This is where releases are made from on a biweekly basis. Bug fixing is done in this branch, while larger development efforts occur in separate work branches.
- **stable**: Latest stable release. Patch releases can be made from this branch when necessary.
- **legacy**: Old stable code base. Currently at the 1.8.6 release.

Other branches (not very active):

- **dsfmod**: Development branch for the FMOD Ex audio plugin.
- **remove-sdlnet**: On-going work to remove SDL_net and the rest of SDL in favor of Qt. However, currently waiting for the stable 1.9.7 release, after which this work will be the basis for a new branch for full removal of SDL. This branch also introduces a revised and trimmed version of libdeng2 (based on the hawthorn branch).
- **replacing-innosetup-with-wixtoolset**: Reimplementing the Windows installer with WiX Toolset.

Other notable branches:

- **ringzero+master**: Merge of the master branch and DaniJ's ringzero branch. This was merged with master before the stable 1.9.7.
- **hawthorn**: Old branch where skyjake was attempting to revise the Doomsday architecture for version 2.0. Some of the code in this branch is being used in newer branches (remove-sdlnet).
4 changes: 2 additions & 2 deletions distrib/linux/doomsday-engine.desktop
Expand Up @@ -3,8 +3,8 @@ Encoding=UTF-8
Name=Doomsday Engine
Comment=Doom/Heretic/Hexen with enhanced graphics
Categories=Game;ActionGame;
Exec=/usr/bin/launch-doomsday
Exec=BIN_DIR/launch-doomsday
Terminal=false
Type=Application
Icon=/usr/share/doomsday/snowberry/graphics/snowberry.png
Icon=SB_DIR/graphics/snowberry.png

6 changes: 6 additions & 0 deletions distrib/linux/launch-doomsday
@@ -0,0 +1,6 @@
#!PYTHON
import os, sys
os.chdir('SB_DIR')
sys.path += '.'

import snowberry
10 changes: 0 additions & 10 deletions distrib/platform_release.py
Expand Up @@ -248,16 +248,6 @@ def linux_release():

os.chdir(LAUNCH_DIR)

# Generate a launcher script.
f = file('linux/launch-doomsday', 'wt')
print >> f, """#!/usr/bin/python
import os, sys
os.chdir('/usr/share/doomsday/snowberry')
sys.path += '.'
import snowberry"""
f.close()

def clean_products():
# Remove previously built deb packages.
os.system('rm -f ../doomsday*.deb ../doomsday*.changes ../doomsday*.tar.gz ../doomsday*.dsc')
Expand Down
2 changes: 1 addition & 1 deletion distrib/win32/dorel.bat
Expand Up @@ -21,7 +21,7 @@ SET BUILDFAILURE=0
rd/s/q work
md work
cd work
qmake ..\..\..\doomsday\doomsday.pro CONFIG+="release deng_packres" DENG_BUILD=%DOOMSDAY_BUILD%
qmake -spec win32-msvc2010 ..\..\..\doomsday\doomsday.pro CONFIG+="release deng_packres" DENG_BUILD=%DOOMSDAY_BUILD%
IF NOT %ERRORLEVEL% == 0 SET BUILDFAILURE=1
%JOM%
IF NOT %ERRORLEVEL% == 0 SET BUILDFAILURE=1
Expand Down
28 changes: 19 additions & 9 deletions doomsday/build/build.pro
Expand Up @@ -51,17 +51,27 @@ deng_snowberry {
$${SB_ROOT}/plugins/wizard.py
plugins.path = $$SB_DIR/plugins

# Include the launch script if it exists.
LAUNCHER = ../../distrib/linux/launch-doomsday
exists($$LAUNCHER) {
launch.files = $$LAUNCHER
launch.path = $$DENG_BIN_DIR
INSTALLS += launch
# Make may not have yet created the output directory at this point.
system(mkdir -p \"$$OUT_PWD\")

message(Installing the launch-doomsday script.)
}
# Generate a script for starting the laucher.
LAUNCH_FILE = launch-doomsday
!system(sed \"s:PYTHON:$$SCRIPT_PYTHON:; s:SB_DIR:$$SB_DIR:\" \
<\"../../distrib/linux/$$LAUNCH_FILE\" \
>\"$$OUT_PWD/$$LAUNCH_FILE\" && \
chmod 755 \"$$OUT_PWD/$$LAUNCH_FILE\"): error(Can\'t build $$LAUNCH_FILE)
launch.files = $$OUT_PWD/$$LAUNCH_FILE
launch.path = $$DENG_BIN_DIR

INSTALLS += sb conf plugins
# Generate a .desktop file for the applications menu.
DESKTOP_FILE = doomsday-engine.desktop
!system(sed \"s:BIN_DIR:$$DENG_BIN_DIR:; s:SB_DIR:$$SB_DIR:\" \
<\"../../distrib/linux/$$DESKTOP_FILE\" \
>\"$$OUT_PWD/$$DESKTOP_FILE\"): error(Can\'t build $$DESKTOP_FILE)
desktop.files = $$OUT_PWD/$$DESKTOP_FILE
desktop.path = $$PREFIX/share/applications

INSTALLS += conf plugins sb launch desktop
}

deng_aptunstable {
Expand Down
6 changes: 3 additions & 3 deletions doomsday/build/win32/envconfig-example.bat
Expand Up @@ -5,14 +5,14 @@
:: Directory Config -------------------------------------------------------

:: Modify these paths for your system.
set MSVC9_DIR=c:\Program Files\Microsoft Visual Studio 9.0
set MSVC_DIR=c:\Program Files\Microsoft Visual Studio 10.0
set QTCREATOR_DIR=c:\QtSDK\QtCreator
set QT_BIN_DIR=c:\QtSDK\Desktop\Qt\4.7.4\msvc2008\bin
set QT_BIN_DIR=c:\QtSDK\Desktop\Qt\4.8.0\msvc2010\bin

:: Build Tools Setup ------------------------------------------------------

:: Visual C++ environment.
call "%MSVC9_DIR%\vc\vcvarsall.bat"
call "%MSVC_DIR%\vc\vcvarsall.bat"

:: -- Qt environment.
set JOM=%QTCREATOR_DIR%\bin\jom.exe
Expand Down
26 changes: 24 additions & 2 deletions doomsday/config.pri
@@ -1,13 +1,18 @@
# The Doomsday Engine Project
# Copyright (c) 2011 Jaakko Keränen <jaakko.keranen@iki.fi>
# Copyright (c) 2011 Daniel Swanson <danij@dengine.net>
# Copyright (c) 2011-2012 Jaakko Keränen <jaakko.keranen@iki.fi>
# Copyright (c) 2011-2012 Daniel Swanson <danij@dengine.net>
#
# Do not modify this file. Custom CONFIG options can be specified on the
# qmake command line or in config_user.pri.
#
# NOTE: The PREFIX option should always be specified on the qmake command
# line, as it is checked before config_user.pri is read.
#
# User-definable variables:
# PREFIX Install prefix for Unix (specify on qmake command line)
# SCRIPT_PYTHON Path of the Python interpreter binary to be used in
# generated scripts (python on path used for building)
#
# CONFIG options for Doomsday:
# - deng_32bitonly Only do a 32-bit build (no 64-bit)
# - deng_aptstable Include the stable apt repository .list
Expand Down Expand Up @@ -166,6 +171,23 @@ exists(config_user.pri) {
include(config_user.pri)
}

# System Tools ---------------------------------------------------------------

unix:!macx {
# Python to be used in generated scripts.
isEmpty(SCRIPT_PYTHON) {
exists(/usr/bin/python): SCRIPT_PYTHON = /usr/bin/python
exists(/usr/local/bin/python): SCRIPT_PYTHON = /usr/local/bin/python
}
isEmpty(SCRIPT_PYTHON) {
# Check the system path.
SCRIPT_PYTHON = $$system(which python)
isEmpty(SCRIPT_PYTHON) {
error("Variable SCRIPT_PYTHON not set (path of Python interpreter to be used in generated scripts)")
}
}
}

# Apply deng_* Configuration -------------------------------------------------

deng_nofixedasm {
Expand Down
24 changes: 24 additions & 0 deletions doomsday/engine/api/dd_string.h
Expand Up @@ -140,10 +140,34 @@ void Str_Delete(ddstring_t* ds);
void Str_Clear(ddstring_t* ds);

void Str_Reserve(ddstring_t* ds, int length);

/**
* Reserves memory for the string. There will be at least @a length bytes
* allocated for the string after this. If the string needs to be resized, its
* contents are @em not preserved.
*/
void Str_ReserveNotPreserving(ddstring_t* str, int length);

ddstring_t* Str_Set(ddstring_t* ds, const char* text);
ddstring_t* Str_Append(ddstring_t* ds, const char* appendText);
ddstring_t* Str_AppendChar(ddstring_t* ds, char ch);

/**
* Appends the contents of another string. Enough memory must already be
* reserved before calling this. Use in situations where good performance is
* critical.
*/
ddstring_t* Str_AppendWithoutAllocs(ddstring_t* str, const ddstring_t* append);

/**
* Appends a single character. Enough memory must already be reserved before
* calling this. Use in situations where good performance is critical.
*
* @param str String.
* @param ch Character to append. Cannot be 0.
*/
ddstring_t* Str_AppendCharWithoutAllocs(ddstring_t* str, char ch);

/**
* Append formated text.
*/
Expand Down

0 comments on commit e9325cd

Please sign in to comment.