November 2012
-
General
Fix CPLUSPLUS=1 CLANG=1 building, and fix the "gotpic used attribute ignored" warning produced by clang.
-
General
MinGW C build fix
-
General
Add a couple of #ifdef __cplusplus I missed
-
General
Fix the warnings when building with C++, add MSVC C++ build support. This also changes the internal type of lotags, hitags and cstat type fields to uint16_t instead of int16_t to clean up some dubious behavior wherein the code was using a value of 32768 as a flag in these fields for certain types of things, like invisible sprites (using the value as if it was uint16_t) where it was elsewhere checking if the value was < 0 (using the value as if it was int16_t). This change may break a few specific effects if any part of the relevant code was missed when looking for areas that needed to be addressed.
Show details
I think there's also a fix for the CON precache system breakage in here (lost it in my local tree when I started getting the C++ build working in MSVC, sorry!)
-
General
Fix r3155 fuckup :)
-
set first walls more conveniently on split in one special case.
Show details
Specifically, if the first wall of the sector-to-split is to the left or right of the *start* of the splitting line AND the sector has no TROR extensions, make these two the new nextwalls of the respective split sectors.
-
General
Rewrite old-version-savegame signaling in a cleaner fashion.
-
General
Update Net_SendVersion() and Net_ReceiveVersion() to use a 16-bit representation of BYTEVERSION
-
General
Fix useractor enemystayput breakage
-
General
Make it possible to build a standalone libcache1d.so.
Show details
Exporting only (de)compression functions. Also, different reader/writer functions can be set.
-
General
Couple of tweaks in player.c to match all ProjectileData[...].xxx with a regexp.
Show details
It would be something like "ProjectileData\[([^]]+)]\.([a-z_]+)".
-
General
Fix demo playback with diff application enabled.
Show details
This requires ripping out the .proj member of tiledata_t back into ProjectileData[] again because it was the only one in g_tile[] that changed during the course of a game. The g_tile[] array is now also correctly flagged as "constant throughout a game" (DS_NOCHK). Savegame version bumped.
-
General
Trivial G_Util_PtrToIdx*() tweaks.
-
General
Fix viewing through moving cameras.
Show details
It's still not pretty though since there's no interpolation from G_DrawRooms().
-
General
Lunatic reorganization part 2: split into engine and editor/game parts.
Show details
On the engine side (functions starting with L_), there are now the basic parts like state creation and running code from strings and files. The game and editor can add to that by e.g. loading whatever they please into the state. Their functions start with El_ and Em_, respectively. The Lua scripts still reside in source/lunatic, even for the common ones. This is because they will be embedded into the binaries as bytecode or compressed source eventually, so their location on disk will be irrelevant.
-
General
Lunatic reorganization part 1: two renames and one deletion.
Show details
See the next commit for details.
-
General
Clean up texture loading code etc. in polymost.c, no functional changes.
-
General
Introduce a per-tile bit preventing fullbrights in GL modes, use for LOADSCREEN.
-
fix rotatesprite with no screen scaling and non-widescreen aspects.
Show details
Also, enable showing sprites in Mapster32's overhead view again, since that was one (the only?) use of that code path. The uninitialized read was introduced in r2927.
-
General
When looking through a camera, don't do third person view.
Show details
Also, reorganize some G_DrawRooms() code a little without changing anything.
-
General
When found a camera sprite for viewscreen, set position etc. immediately.
Show details
Instead of later in P_ProcessInput(). This fixes one drawrooms() call in between where the sectnum is the camera's, but the position the player's, which can lead to a slow "outer view" render in Polymer.
-
General
Make glbuild C++-safe.
-
General
Fix warning in jaudiolib due to void ptr arith.
-
General
Fix warnings from pointer math with the trackers.
-
General
Add automatic tracking to the sector[], wall[], sprite[] and tsprite[]
Show details
arrays; any write access to them will run the corresponding hook and write to the [sector/wall/sprite/tsprite]clean array. Note: tsprite and sprite use the same hook and require running a few more instructions per access in order to disambiguiate; this could be made more optimal (like the other arrays) by clearly separating the types in the game code. Note #2: taking a member's address currently marks it dirty because of tons of helper functions across the editor code. I don't know how many read-only accesses we have after taking a member address, but it could also be fixed with some finessing of the code.
-
General
Fix the C++ build on Linux with LTO.
-
General
Fix the Linux mapster32 build with LTO enabled.
-
General
Fix synthesis fallout after ivfrate addition.
-
General
Fix C90 compliance warning in sdlmusic
-
General
Fix warning from r3128
-
General
Make ivfrate build standalone, Makefile tweaks.
-
General
New utility ivfrate(.exe) and a couple of small VP8 changes.
Show details
The command-line utility can query and set the frame rate of IVF files, since apparently encoders don't care too much about setting proper values in the IVF header. Also, add the utility to the synthesis build. On the playback side in EDuke32, get rid of the 1/(2*fps) "correction" if the FPS numerator is <1000 (presumably used in older encoders) and properly print the frame rate's fractional part.
-
"fix" building.
-
General
Fix USE_OPENGL=0 build.
-
General
Fix console key changing breakage
-
General
Prettify some code where I felt was necessary.
-
General
When binding a key, take care of processing one-to-many binds properly in menu.
Show details
This means that the "Keyboard Setup" should now properly reflect the bindings, except in the theoretical case of one gamefunc being bound more than two keys. (What was fixed is the one key to many gamefuncs case.)
-
General
Get rid of the code reading in [KeyDefinitions] section of eduke32.cfg.
Show details
That section was only ever read in for little profit and never written out! Keyboard input is actually dispatched as OSD commands for a good while, so that old cruft has to go!
-
General
Clean up control.c.
Show details
- Remove everything using CONTROL_KeyMapping, which was only written to. - Remove unused functions, make local ones static. - Remove private function declarations in _control.h.
-
General
Fix one key <--> multiple gamefuncs dispatching.
-
General
Fix linking with CLANG=1 by separating $(INVOCATION) into $(COMPILER) and $(LINKER) and removing "-x" from clang as a linker in Makefile.common. Additionally, the Build tools are now affected by CPLUSPLUS=1, for which small corrections have been made.
-
General
Fix build error after C++ conversion.
-
General
Fix building with SDL 1.2.
-
General
Add horrible tracking template; for each structure you'll want to create a
Show details
separate tracker type by #defining __TRACKER_NAME and __TRACKER_GLOBAL_OFFSET. eg.: Then if you have a tracked value and a value of the same type at the given offset: Tracker_1<int32_t> trackedInt; int32_t trackedIntDirty = 0; // 4 bytes after trackedIntDirty will become 1 everytime trackedInt changes.
-
General
Tweak r3116.
-
General
Fix mixed declarations and code in backtrace.c.
-
General
Work-in-progress adjustment to the C code to compile under C++. It builds for me without errors using Win32 MinGW-GCC, but it still generates warning soup. No guarantees about MSVC or anything using SDL. Enable C++ by building with CPLUSPLUS=1. C remains the default and should compile with no change in setup.
Show details
Credit to Plagman for the idea and doing the work on the game side, which is included in this commit. (Building as C++ will give us features with which we can make improvements and optimizations on the multiplayer code and Polymer.)
-
General
Add some compile time defined names for p->inven_icon values. Too bad these values aren't in the same order as the inventory items themselves... (dukeinv_t and dukeinvicon_t values do not match).
-
General
engine.c: add bound-check assert failing for sprites in m32's textured 2D mode.
Show details
Also, disable drawing sprites in that mode for now.
-
functionality to rotate or scale RShift-highlighted stuff smoothly.
Show details
This is done by pressing LShift and - holding down the left mouse button for scaling, or - the right mouse button for rotating the highlighted walls/sprites with respect to a pivot point determined as the center of the bounding box of all highlighted points. Note that scaling sectors isn't that easy and the current functionality is very rudimentary: there's no z scaling, no xrepeat correction, and sprites aren't touched expect for their position. The user is responsible to maintain map consistency, for example to prevent wall-lines of the same sector crossing each other.