is unable to synthesize one.
- Converted xlatcc to use lemon during its build process. Now you don't need
bison to rebuild everything anymore.
SVN r470 (trunk)
* "Symbol name missing after %destructor keyword" error message displayed incorrectly.
* Line numbers in the generated file for lines that came from the template were off.
* The parser did not immediately reduce after a shift. There always needed to be
another token input first before a reduce would occur, and then the token would
sometimes be lost.
SVN r469 (trunk)
be surprised if it doesn't work.
- Reorganized the network startup loops so now they are event driven. There is
a single function that gets called to drive it, and it uses callbacks to
perform the different stages of the synchronization. This lets me have a nice,
responsive abort button instead of the previous unannounced hit-escape-to-
abort behavior, and I think the rearranged code is slightly easier to
understand too.
- Increased the number of bytes for version info during D_ArbitrateNetStart(),
in preparation for the day when NETGAMEVERSION requires more than one byte.
- I noticed an issue with Vista RC1 and the new fatal error setup. Even after
releasing a DirectDraw or Direct3D interface, the DWM can still use the
last image drawn using them when it composites the window. It doesn't always
do it but it does often enough that it is a real problem. At this point, I
don't know if it's a problem with the release version of Vista or not.
After messing around, I discovered the problem was caused by ~Win32Video()
hiding the window and then having it immediately shown soon after. The DWM
kept an image of the window to do the transition effect with, and then when
it didn't get a chance to do the transition, it didn't properly forget about
its saved image and kept plastering it on top of everything else
underneath.
- Added a network synchronization panel to the window during netgame startup.
- Fixed: PClass::CreateDerivedClass() must initialize StateList to NULL.
Otherwise, classic DECORATE definitions generate a big, fat crash.
- Resurrected the R_Init progress bar, now as a standard Windows control.
- Removed the sound failure dialog. The FMOD setup already defaulted to no
sound if initialization failed, so this only applies when snd_output is set
to "alternate" which now also falls back to no sound. In addition, it wasn't
working right, and I didn't feel like fixing it for the probably 0% of users
it affected.
- Fixed: The edit control used for logging output added text in reverse order
on Win9x.
- Went back to the roots and made graphics initialization one of the last
things to happen during setup. Now the startup text is visible again. More
importantly, the main window is no longer created invisible, which seems
to cause trouble with it not always appearing in the taskbar. The fatal
error dialog is now also embedded in the main window instead of being a
separate modal dialog, so you can play with the log window to see any
problems that might be reported there.
Rather than completely restoring the original startup order, I tried to
keep things as close to the way they were with early graphics startup. In
particular, V_Init() now creates a dummy screen so that things that need
screen dimensions can get them. It gets replaced by the real screen later
in I_InitGraphics(). Will need to check this under Linux to make sure it
didn't cause any problems there.
- Removed the following stubs that just called functions in Video:
- I_StartModeIterator()
- I_NextMode()
- I_DisplayType()
I_FullscreenChanged() was also removed, and a new fullscreen parameter
was added to IVideo::StartModeIterator(), since that's all it controlled.
- Renamed I_InitHardware() back to I_InitGraphics(), since that's all it's
initialized post-1.22.
SVN r416 (trunk)
monsters
- Added velocity multiplicators to A_SpawnDebris.
- Changed: A_JumpIfNoAmmo should have no effect for CustomInventory items.
- Fixed: DECORATE jump commands must set the call state's result to 0
even when they have to return prematurely.
- Added obituaries for Strife's and Hexen's monsters.
- Converted Strife's Bishop to DECORATE.
- Added momx, momy and momz variables to the DECORATE expression evaluator.
SVN r404 (trunk)
- Added integer constant declarations to objects.
- Added some new token-based functions to sc_man.cpp that know about keywords
and record proper type information, so parsers don't need to treat
everything as strings.
- Added a simple symbol table to PClass.
SVN r394 (trunk)
- Made the Ettin's and Centaur's howling sound an actor property.
- Added A_CustomComboAttack function to finally have something that can
replace the old A_ComboAttack function.
- Added A_SpawnItemEx function that removes the problems with A_SpawnItem
and which also should make most of the A_CustomMissile abuse unnecessary.
- Added A_QueueCorpse to the list of DECORATE code pointers.
- Made the size of Hexen's corpse queue configurable by CVAR
(sv_corpsequeuesize.) Setting this CVAR to -1 will disable corpse
queuing completely so that even in Hexen all corpses will stay forever.
SVN r392 (trunk)
explaining the need to use mt.exe 6.0 or newer. Here is the note:
VERY IMPORTANT: You must copy the mt.exe from %VSINSTALLDIR%\Common7\Tools\bin
on top of the version in %VSINSTALLDIR%\VC\bin or your computer may restart
while building.
- Changed the ASecretTrigger::Activate() fix: There's no reason open scripts
shouldn't be able to activate secret triggers; players just won't get
credit for it in coop.
- Added a NULL actor check to R_SetupFrame().
- Fixed: The player sounds in DEHSUPP were defined incorrectly.
SVN r390 (trunk)
the build process can run uninterrupted under Vista.
- Fixed: DIRECT3DCREATE9FUNC needs WINAPI added to its prototype so that it
works properly in release build, which defaults to __fastcall.
SVN r385 (trunk)
while and killing centaurs with the flechette.
- Fixed: Moving to an old level in a hub caused the old player's inventory to
spawn owned by the current player (but still hanging off the old player), so
the game would hang when trying to delete it.
- Modified re2c so that it doesn't add a date to the file it generates. Thus,
if it regenerates a file during a full rebuild, SVN won't see it as a change.
Also updated it to 0.10.5.
- Fixed: SC_GetString() did not properly terminate sc_String when the last
token in the file had no white space after it. Since I could not actually
find the problem (it works fine in debug mode and I saw no logic errors),
I decided to take this opportunity to reimplement it using an re2c-generated
scanner. Now it's 1.6x faster than before and correctness is easier to
verify.
- Fixed: FMODSoundRenderer::Shutdown() also needs to reset NumChannels.
- Added back the Manifest to zdoom.rc for non-VC8 Windows compilers.
- Fixed MinGW compilation again. Now it uses the same method as Makefile.linux
to find all the source files so that it doesn't need to be manually updated
each time source files are added or removed.
- Added the SVN revision number to the version string. A new tool is used to
obtain this information from the svnversion command and write it into a
header file. If you don't have the svn command line tools installed or didn't
check it out from the repository, you can still build. I added some rules for
this to Makefile.linux, and I assume they work because they do for
Makefile.mingw.
- Fixed: MIDISong2 did not delete MusHeader in its destructor.
SVN r200 (trunk)
respawning in coop. Now the new inventory code should finally be complete. :-)
- Fixed: PROP_Inventory_PickupMessage was improperly defined for non-VC++
compilation.
SVN r197 (trunk)
of its segs thrown away, so the map could not start. This was because the
nodebuilder assumed all subsectors would be 2D and could not handle the
case where a degenerate 1D subsector is created. In this case, that happens
because that map has three polyobjects in the middle of the void, so the only
way to assign them to a subsector is to use a 1D subsector.
SVN r153 (trunk)
data enough (2 bits instead of 8), so it was super loud and aliased.
- Fixes for GCC 4.1: Several type-punned pointer warnings, but more
importantly, declaring a friend function inside a class body is no longer
enough to declare that function globally; you must declare it again outside
the class.
- Upgraded FArchive::SerializePointer so that it can store 32-bit indices.
- ACS printing pcodes now build their string in an FSttring instead of a fixed
sized buffer on the stack.
SVN r145 (trunk)
re2c instead of "Linking X".
- Updated lemon and re2c to the latest versions and ported dehsupp to use them
for code generation. (Xlatcc is next.)
- Added function level linking for Makefile.mingw.
SVN r144 (trunk)
- Did some very preliminary support for x64 compiling.
- Now I see why makewad is using the __fastcall calling convention by default:
Because the release zlib is built with it as well.
- Fixed: Conversion from 'const char *' to 'char *' in DEM_SAVEGAME case in
Net_DoCommand().
- Updated the project files for Visual C++ 2005.
SVN r138 (trunk)
- Changed f_finale.cpp/atkstates[] into a static variable, since its
anonymous type prevents it from being accessed from other files anyway.
- Fixed: The behavior of the eventtail advancement in d_net.cpp/CheckAbort()
was compiler-dependant.
- Fixed warnings GCC 4 threw up while compiling re2c and lemon.
- Removed __cdecl from makewad.c again. This is already defined as a builtin
for MinGW, and redefining it produces a warning. (Why is main explicitly
declared __cdecl anyway?)
- Fixed building ccdv-win32 with GCC 4. GCC 4 creates a memcpy call, which
won't work because it doesn't get linked with the standard C library.
SVN r135 (trunk)
- Changed type PClass::FreeIndices to TArray<unsigned int> because that's
the type of the indices.
- Fixed: makewad.c needs __cdecl for non-Windows builds.
- Fixed: FinishThingdef didn't check whether the WeaponClass pointer in
AWeaponPiece was a valid name.
SVN r133 (trunk)
memcpy to copy the player structures.
- Fixed compilation with MinGW again and removed most of the new warnings.
And following is the log that I forgot to paste in for the previous commit:
- Changed the memory management for FString. Instead of using a garbage
collected heap, it now uses normal heap calls and reference counting to
implement lazy copying. You may now use bitwise operators to move
(but not copy!) FStrings around in memory. This means that the
CopyForTArray template function is gone, since TArrays can now freely
move their contents around without bothering with their specifics.
There is one important caveat, however. It is not acceptable to blindly 0
an FString's contents. This necessitated the creation of a proper
constructor for player_s so that it can be reset without using memset. I
did a quick scan of all memsets in the source and didn't see anything else
with a similar problem, but it's possible I missed something.
- Fixed: Build tiles were never deallocated.
- Fixed: Using Build's palette.dat only got half the palette right.
SVN r117 (trunk)
- Added support for wrapping midtextures vertically.
- Since zdoom.wad is now zdoom.pk3, the default mapinfos can use full pathnames.
So now they do.
- Fixed: The DSimpleCanvas constructor used a pitch too narrow on screens wider
than 640 pixels when using a non-AMD processor and the processor's L1 cache
line size could not be determined. I think this should fix the issue of
weirdly rendered 8 pixel wide borders on the left and right of the screen that
some people experienced.
- Fixed: The secnodes were never freed.
SVN r93 (trunk)
- Fixed: Although TypeInfos are now deleted at exit, their FlatPointers or ActorInfo
data was not freed. I chose not to use a destructor to handle this, because then it
would no longer be a POD type that can be statically initialized.
- Fixed: Aliases were not deleted at exit.
- Fixed: FWadCollection did not free its hash tables, lump info, full names, or the
list of open files when destroyed.
SVN r85 (trunk)
- default.cbd was missing thingdef_exp.cpp
- tools/makewad/Makefile.mgw was outdated thanks to recently added zip support
- wadsrc/wadmake should not be in the repository, as it needs to use host machine path separator conventions
SVN r69 (trunk)