Project

General

Profile

Activity

From 2015-10-21 to 2015-11-03

2015-11-03

19:00 Revision a4975a30 (github): libcore|Record: Use hash-based member tables for efficient lookups
Previously these used QMap, but since there is no promise of the
members being ordered, it is better to use the more ...
skyjake
18:55 Revision b722f607 (github): Fixed|Clang: Minor compiler warnings
skyjake
18:40 Revision 61c595dd (github): Model Renderer|libgui: Don't try to bind uniforms that don't exist
The variables defined in the render block, outside any passes, apply
to all passes. However, if a pass uses a differe...
skyjake
09:19 Feature #1991: Qt 5.5 as minimum requirement for GUI, Qt 5.x for non-GUI build
The only thing missing here is to add checks that say that Qt 4 builds are not supported; CMake should show an error ... skyjake
09:17 Feature #1994: Model asset for player weapons (model.weapon.*)
The missing feature here is the positioning: vanilla bobbing is missing, and the model should be able to provide its ... skyjake
09:16 Feature #1995 (In Progress): Improved 3D model shaders
There can now be a different shader for each rendering pass of a model. skyjake
09:14 Feature #2057: Multiple client instances
This may be relatively unimportant from an end user's point of view, but it would be nice for basic MP development, f... skyjake
09:13 Feature #2112 (Closed): Bindings for the Playstation 3 controller
skyjake
03:21 Revision c14c0f88 (github): Audio|Client|Refactor: Moved more playback properties upwards into audio::Channel; cleanup
danij
00:35 Revision 74f52836 (github): Audio|Client|Refactor: Moved more sound playback state to audio::Sound
Logical Sounds now take on greater responsibility and help to guide
playback behavior rather than leaving it all up t...
danij

2015-11-02

21:11 Revision 65471611 (github): Cleanup|Scripting: Macro for specializing script argument conversion
skyjake
19:22 Revision b9d4eaf4 (github): Refactor|Cleanup: Added IObject interface, used it in various classes
IObject represents an object that can be manipulated in Doomsday Script
as a record.
skyjake
16:51 Revision 0dc5196a (github): Refactor|Audio|Client: Replaced SFXCF_NO_UPDATE with a Channel-internal flag
In the future, Channels should remember the PlayingMode and use this
to implement the OnceDontDelete behavior.
danij
16:15 Revision 49104665 (github): Audio|Client: Converted audio::Sound into an object
Presently copyable as per it's usage in audio::Stage. danij
14:58 Revision 20c06627 (github): Audio|Client: Added an origin property to audio::Sound
Knowing the Stage origin coordinates of currently playing sounds at a
logical level will allow the Listener to calcul...
danij
14:02 Revision 477130b5 (github): Audio|Client: Use an audio::Stage with the "locale" soundstage
Allows tracking playing sounds in this context (e.g., InFine). danij
13:24 Revision 8c8a5af4 (github): Audio|Refactor|Client: Moved sound priority rating to audio::Listener
The Listener is much better placed to calculate this rating. danij
12:55 Revision c5e8e0fa (github): Merge branch 'master' into audio-cleanup
Conflicts:
doomsday/apps/client/src/world/worldsystem.cpp
doomsday/apps/libdoomsday/src/defs/ded.cpp
danij
08:35 Revision 4c8bc006 (github): Scripting|Process: Allow passing Record references in scriptCall()
Pointers and references to Record are handled by creating a variable
in the global namespace and using that to refer ...
skyjake
08:35 Revision 318c1a6e (github): Model Renderer: Pass damage inflictor mobj to the model asset's onDamage()
Process::scriptCall() automatically sets up a RecordValue to refer to
the object's namespace Record.
skyjake
08:35 Revision f44c8758 (github): Model Renderer: Renamed the generic model shader; added another shader
skyjake

2015-11-01

11:35 Revision b4982a75 (github): Merge branch 'gl2-models'
skyjake
11:31 Revision 28d77ca6 (github): Renderer|Refactor: Added tangentspace.glsl; moved lighting functions
Doomsday will now define the symbols DENG_VERTEX_SHADER or
DENG_FRAGMENT_SHADER when it compiles vertex and fragment ...
skyjake
11:21 Revision de20d8f6 (github): Fixed|Audio|Client: Channel destruction; initial Environment update
Ensure that playback is stopped and any attached buffer is released
before destroying the Channel.
Plus cleanup.
danij
07:36 Revision 5ac32bcb (github): Refactor|Audio|Client: Updated audio::System playback (de)initialization
The plan is to dynamically allocate Channels according to the Mixer
configuration when needed, so most of the "playba...
danij
05:43 Revision 1407cc2a (github): Refactor|Audio|Client: Removed PluginDriver's internal IPlayer
danij
05:08 Revision ca37fc64 (github): Refactor|Audio|Client: Added IChannelFactory
Working toward making audio::Channel construction independent from
the low-level driver interfaces.
danij
04:19 Revision faad5465 (github): Audio|Client: Updated copyright; switched whole module to LGPL
danij
03:42 Revision d14c5ccf (github): Audio|Documentation|Client: Minor apidoc improvements; cleanup
danij
02:22 Revision 6eb4f07e (github): Refactor|Audio|Client: Minor audio::System internal reorganization
danij
01:36 Revision 55366bd2 (github): Audio|Client: Cleanup
danij
01:16 Revision 991b4daf (github): Refactor|Audio|Client: Renamed playback interface Channel::Type property
danij
00:53 Revision f99502db (github): Refactor|Audio|Client: Enumerate logical audio::Channel types
danij
00:12 Revision 6b510ec1 (github): Refactor|Audio|Client: Moved IDriver out of audio::System
There is no longer a need/reason to implement this as a subcomponent
of the audio::System itself.
danij

2015-10-31

23:36 Revision 0014a119 (github): Audio|Client: Cleanup; typos
danij
23:21 Revision f9ef0d7d (github): Refactor|Audio|Client: Removed/relocated remnants of audio::IPlayer
de::Record is now used as the public representation of a playback
interface and there is no longer any direct interac...
danij

2015-10-30

20:45 Bug #2119 (Closed): Failed conversion of .dsg savegame with ambiguous game mode
skyjake
20:44 Bug #2115 (Closed): [HeXen] No sound from breaking a suit of armor
skyjake
20:30 Bug #2115: [HeXen] No sound from breaking a suit of armor
I'm applying a patch for 1.15.5 where the suit of armor and pottery explode sounds are use one of the chunks/bits as ... skyjake
20:38 Revision ab888726 (github): Hexen|Fixed: Breaking a suit of armor makes no sound
Now using one of the chunks as the sound origin, so it won't stop
when original object is removed.
IssueID #2115
skyjake
20:34 Revision b9c71c05 (github): Hexen|Fixed: Breaking a suit of armor makes no sound
Now using one of the chunks as the sound origin, so it won't stop
when original object is removed.
IssueID #2115
skyjake
20:12 Revision da043bb0 (github): Cleanup
skyjake
20:11 Revision da2c7c0b (github): Scripting|Model Renderer: Added bindings for StateAnimator
Currently only has a method for listing currently playing sequences. skyjake
20:10 Revision 1885e89d (github): Cleanup|libcore: Accessing built-in script classes; setting super record
skyjake
18:10 Revision 40de768c (github): Scripting|Scheduler: Added a method for checking if a scheduler has finished
skyjake
18:06 Revision cd9e8f11 (github): Cleanup|Refactor: Use "names" as method name for accessing a namespace record
skyjake
13:56 Revision 28cbafca (github): Refactor|World|Client: Reacting to mobj damage
The client is now notified of damage to mobjs via MobjThinkerData.
It can then spawn particle generators and check if...
skyjake
13:18 Revision 5ed9b064 (github): Common|libdoomsday: Damage to mobjs applied via libcommon
`Mobj_InflictDamage()` applies damage to a mobj and notifies the
engine via MobjThinkerData.
Particle generator spaw...
skyjake
13:14 Revision 5f2ea4fd (github): Scripting: Added a utility for calling script functions from native code
Makes it easier to call script functions from native code, with
arbitrary parameters passed in the function call. Use...
skyjake
13:11 Revision a851200b (github): Fixed|libcore: PackageLoader reports Doomsday Script parsing errors
The exception from the Parser was hitherto uncaught. skyjake
13:09 Revision a7f067d5 (github): Cleanup
skyjake
13:09 Revision 5cb3495d (github): libcore|Scripting: RecordValue is now derived from RecordAccessor
Easier to access contents of the record. skyjake
08:33 Revision 3f11e13f (github): API|Map: Use const mobj arguments in SpawnDamageParticleGen()
skyjake
08:31 Revision c1581910 (github): libdoomsday: Allow game plugins to include libdoomsday's world/mobj.h
Workaround until the mobj situation is resolved with a cleaner
architecture.
skyjake
03:44 Revision 7ff286b1 (github): Audio|Client: Moved more logic into audio::Listener; cleanup
danij

2015-10-29

19:00 Revision 7698a97a (github): Renderer|Refactor: Moved general purpose shader functions to GLSL files
In the "net.dengine.client.renderer" pack, shaders/include/ contains
GLSL files with functions useful for many shader...
skyjake
15:21 Revision 3a5e399b (github): Refactor|Audio|Client: Reformatted PluginDriver::SoundChannel buffer attachment
danij
14:44 Revision 2ebd88c2 (github): Audio|Client: Cleanup
danij
10:51 Revision fbe5f621 (github): Fixed|Refactor|Thinker|Hexen: Mobj-on-mobj checks shouldn't duplicate the mobj
When performing a check of whether a mobj was resting on another mobj,
Hexen would duplicate the entire thinker (!), ...
skyjake
09:07 Revision d0ce736b (github): Fixed|Model Renderer: Animation triggering when state changes multiple times
Sometimes a mobj's state changes more than once before the mobj thinks.
ClientMobjThinkerData is now a bit smarter in...
skyjake

2015-10-28

20:54 Revision b5d43831 (github): Refactor|Record: Record member navigation; renamed addRecord()
The term "subrecord" is used to mean a record owned by another record.
However, the member (.) notation (for instanc...
skyjake
18:52 Revision 13eac2d6 (github): Cleanup
skyjake
17:51 Bug #2115: [HeXen] No sound from breaking a suit of armor
danij wrote:
> Looking at this again with fresh eyes it turns out that this has a much simpler cause: Doomsday is us...
skyjake
17:29 Revision f52aa56c (github): Scripting|World: Added the World.Thing class for mobj bindings
MobjThinkerData's info record is now an object derived from World.Thing.
It identifies the mobj using its ID number, ...
skyjake
17:25 Revision 726462fe (github): Cleanup
skyjake
14:12 Feature #2122 (Closed): Autodetect games installed from GOG.com
As Doom has been released on GOG, it might be cool if Dday could auto locate it as it does with Steam installs of Doo... vermil
11:42 Revision e776aef3 (github): Refactor|Audio|Client: audio::Channel is now de::Deletable
However one cannot freely delete them (yet) because the audio drivers
retain ownership in order to ensure that refres...
danij
07:50 Revision 1147eb4e (github): Audio|Client: Cleanup
danij
06:53 Revision fa3abeff (github): Audio|Client: Removed superfluous logic/state variables from DummyDriver
danij
04:22 Revision 3c5ddee7 (github): Audio|Client: Perform initial Environment updates when Channel playback begins
There is no longer a need for the driver to expose this API - if the
driver supports environmental audio we can defer...
danij
02:54 Revision 867b216f (github): Audio|Listener|Client: Use of Environments are enabled/disabled at Listener level
Any changes affecting Channels which are observing the Listener will
be applied at the usual times (when playback beg...
danij
01:47 Revision b7f229c7 (github): Refactor|Audio|Client: Defer SFXLP_PRIMARY_FORMAT setup
Only PluginDriver is concerned with primary buffer configuration (for
Direct Sound). We can defer this setup until th...
danij
00:48 Revision 3161d9a8 (github): Refactor|Audio|Client: Moved Channel construction upwards into IDriver
As the "playback interface" abstraction is a driver specific concern
the IDriver API should not assume that there are...
danij

2015-10-27

23:36 Revision 7511ea93 (github): Refactor|Audio|Client: Moved playback interface objects into their respective driver
As the driver and interface implementations share code it make sense
for the IDriver derived class to contain these s...
danij
17:22 Revision aa444f87 (github): libcore|Info: Report a syntax error if block attribute is missing a value
Avoids the pitfall of `name inherits other {`, which is actually
interpreted as block type "name", block name "inheri...
skyjake
08:33 Revision ee3d427b (github): Fixed|Model Renderer: Rendering passes were indexed incorrectly
When enabling and disabling rendering passes, the incorrect ones
were being accessed, due to the setup not processing...
skyjake

2015-10-26

21:14 Revision 462f7292 (github): Fixed|Qt: Workaround for older Qt 5 compatibility
QVector::removeAll() was added in Qt 5.4. skyjake
20:41 Revision 4736fc61 (github): Fixed|libgui: Unbinding shadowed uniforms from a GLProgram
skyjake
20:41 Revision 3304564b (github): libcore|PackageLoader: Log syntax errors in package metadata
skyjake
19:34 Revision f0ec6b89 (github): Merge branch 'gl2-models'
skyjake
19:34 Revision 92e05b26 (github): Fixed|Model Renderer: Use model's atlas when drawing; fixed shutdown crash
Also removed the default textures, since they would have to be allocated
separately for each model, in the model's al...
skyjake
17:57 Revision 7553e085 (github): Refactor|Model Renderer: Use MultiAtlas; got rid of AuxiliaryData
The client now derives its own version of ModelDrawable, so that there
is no need to maintain the separate AuxiliaryD...
skyjake
17:52 Revision 4da31507 (github): Refactor|ModelBank|libgui: Custom model objects in a ModelBank
ModelBank now can be configured to use any type of ModelDrawable
derived objects.
skyjake
17:51 Revision b06e7e68 (github): libgui|ModelDrawable: Commit textures are initialization complete
When using IAtlas, commit() is expected after all the images have been
allocated. MultiAtlas::AllocGroup will then de...
skyjake
17:49 Revision 6084dea4 (github): libgui|MultiAtlas: Added a clear() method to release all atlases
skyjake
07:32 Revision 18428230 (github): Refactor|Audio|Client: Unified API for playing of audio::Channels
One now "binds" a data buffer/stream/track via specialized subclass
methods before then simply play()'ing the channel...
danij

2015-10-25

22:11 Revision c037512f (github): Refactor|libgui: Added abstract IAtlas interface
More flexibility for TextureBank and ModelDrawable:
MultiAtlas::AllocGroup can be used instead of a regular atlas.
skyjake
22:04 Revision 7a952fd5 (github): Model Renderer: Added a "uAlpha" variable for the default model shader
skyjake
22:03 Revision b2b64247 (github): libgui|GLShaderBank: Default uniform values for shaders
The shader definition can now declare default uniforms to specify
particular initial values. When the programs are us...
skyjake
22:00 Revision 56cd3d9e (github): libgui: Binding multiple overriding uniforms to a GLProgram
GLProgram now keeps track of when uniforms override previously bound
uniforms.
skyjake
21:57 Revision 9e7303e2 (github): Refactor|Model Renderer: Cleanup
skyjake
18:21 Revision 71b9f8ef (github): libgui: Added MultiAtlas: expanding collection of atlases
One atlas cannot hold an infinite number of images, but a MultiAtlas
can.
Atlas was modified to allow making allocat...
skyjake
03:08 Revision 5cb3875f (github): Refactor|Audio|System: Continued to re-architect the audio subsystem
Taken into use the new audio components and began restructuring the
audio::System itself for separating concerns alon...
danij
02:44 Revision bab73378 (github): Audio|Client: SampleCache is Client only (removed unused Server functionality)
danij
02:43 Revision 7d1302e5 (github): Refactor|Definitions: Renamed AudioEnvironment as AudioEnvironmentDef
Avoids confusion with the similarly named audio::Environment
Todo for later: We should make these user-definable (at...
danij
01:32 Revision 658f4da0 (github): Audio|Client: Added audio::Mixer (stub)
audio::Mixer provides a specialized audio::Channel mapper and offers
grouping of channels into logical audio "tracks"...
danij
01:10 Revision e5a37cf9 (github): Audio|Client: Added audio::Listener and audio::Stage
audio::Listener provides a logical model of a soundstage entity which
perceives the audible "world" around it. Note t...
danij
00:54 Revision c2e62f6a (github): SectorCluster|World|Client: Provide notification when the effective audio::Environment changes
danij
00:50 Revision 26f54165 (github): Audio|Client: Added audio::Environment POD struct
For representing effective audio environment characteristics (such as
those provided by SectorCluster).
danij
00:42 Revision 8666b4f0 (github): Map|World: Provide notification when a mobj is (re)linked into the BSP
de::Map now provides notification whenever a map object is (re)linked
into the BSP.
Todo for later: Ideally this aud...
danij
00:13 Revision 0d5717fe (github): OpenAL: Offer EAX 2.0 for audio environment simulation on Windows
If the EAX package is available and enabled at runtime, make use of
EAX 2.0 for simulating environmental audio effect...
danij
00:06 Revision 20cc47a6 (github): CMake|DirectSound|Windows: Added DENG_ENABLE_EAX option; DirectSound cleanup
One can now disable the EAX 2.0 build time requirement and usage at
runtime. Enabled by default.
Presently only used...
danij

2015-10-24

23:51 Revision a0044d94 (github): Merge branch 'master' into audio-cleanup
Conflicts:
doomsday/apps/client/src/clientapp.cpp
doomsday/apps/client/src/dd_main.cpp
danij
21:35 Revision 33579daa (github): libcore: Added SourceLineTable, used it in Info and ScriptedInfo
All parsed ScriptedInfo records and their subrecords have __source__
variables indicating the source code location of...
skyjake
14:20 Bug #2111 (Closed): Build system patches for cross-compilation
skyjake
14:20 Bug #2106 (Closed): [OS X 10.11 El Capitan] Mouse cursor does not stay hidden
skyjake
14:13 Revision f9896168 (github): Bumped version number to 1.15.5
skyjake
11:40 Revision 38896973 (github): libgui|ModelDrawable: Don't try to load textures twice
A bank loads items when needed, so calling `load()` is redundant. skyjake
11:39 Revision e7796c17 (github): libcore|Bank: Improved log output from Bank
If loading fails, don't make a "loaded" log entry. skyjake
11:11 Revision bdb380eb (github): libgui|ModelDrawable: More detailed warning message about failed texture loads
Specify mesh and material indices and origin of the information. skyjake

2015-10-23

20:54 Revision 74fdc980 (github): Merge branch 'gl2-models'
skyjake
20:53 Revision 1b5b2c0d (github): Fixed|Client: Improper deinit after mobj model asset init failure
If a mobj's model asset initialization failed, the mobj was still
kept in the model's deletion audience. The model en...
skyjake
19:09 Revision 55bdd860 (github): Fixed|Model Renderer: Added missing "material" variable
If no `render.material` was specified in the model, StateAnimator would
not create a "material" variable at all for a...
skyjake
19:08 Revision 76a9540c (github): Fixed|Model Renderer: Added missing "material" variable
If no `render.material` was specified in the model, StateAnimator would
not create a "material" variable at all for a...
skyjake

2015-10-21

19:06 Revision 17d89e6d (github): Fixed|Model Renderer: Use default rendering passes if none defined
skyjake
10:39 Revision cf4b1677 (github): Refactor|Model Renderer|libgui: Correct mapping between meshes and materials
skyjake
 

Also available in: Atom