QuakeSpasm 0.85.8
QuakeSpasm 0.85.8
Version 0.85.8 of QuakeSpasm is released:
Downloads
Project page
ChangeLog:
* Made Quake shareware 1.00 and 1.01 versions to be recognized properly.
* Fixed control-character handling in unicode mode. Keyboard input tweaks.
* Made the keypad keys to send separate key events in game mode.
* Text pasting support from OS clipboard to console. (Windows and Mac OS X.)
* Support for the Apple (Command) key on Mac OS X.
* Fixed increased (more than 32) dynamic lights.
* Music playback: Made sure that the file's channels count is supported.
* Support for Solaris.
* Switched to using libmad instead of libmpg123 for MP3 playback on Mac OS X.
* Better support for building the Mac OS X version using a makefile, support for cross-compiling on Linux.
* Fixed a minor intermissions glitch.
* Increased string buffer size from 256 to 384 for PF_VarString to work around broken mods such as UQC.
* Restored original behavior for Quake registered version detection.
* Minor demo recording/playback tweaks.
* Minor tweaks to the scale menu option.
* unbindall before loading stored bindings (configurable by new cvar cfg_unbindall, enabled by default.)
* New icon.
* Miscellaneous source code cleanups.
Downloads
Project page
ChangeLog:
* Made Quake shareware 1.00 and 1.01 versions to be recognized properly.
* Fixed control-character handling in unicode mode. Keyboard input tweaks.
* Made the keypad keys to send separate key events in game mode.
* Text pasting support from OS clipboard to console. (Windows and Mac OS X.)
* Support for the Apple (Command) key on Mac OS X.
* Fixed increased (more than 32) dynamic lights.
* Music playback: Made sure that the file's channels count is supported.
* Support for Solaris.
* Switched to using libmad instead of libmpg123 for MP3 playback on Mac OS X.
* Better support for building the Mac OS X version using a makefile, support for cross-compiling on Linux.
* Fixed a minor intermissions glitch.
* Increased string buffer size from 256 to 384 for PF_VarString to work around broken mods such as UQC.
* Restored original behavior for Quake registered version detection.
* Minor demo recording/playback tweaks.
* Minor tweaks to the scale menu option.
* unbindall before loading stored bindings (configurable by new cvar cfg_unbindall, enabled by default.)
* New icon.
* Miscellaneous source code cleanups.
Re: QuakeSpasm 0.85.8
I tried my iq with quakespasm and I noticed that the simple iq flashlight does not work in quakespasm, it is expected that an entity without a model but with EF_DIMLIGHT effect does not appear? Using a transparent mdl model would help?
EDIT: yes, it solves the problem.
In iq the flash turns off when the level ends, calling the function crashed quakespasm.
CODE HERE.
It is expected?
If a new monster is spawned the total number of monster is not updated, try Tur Torment level where few mines are spawned when you make appear the ``You are not supposed to be here'' message.
quakespasm has a strange behavior with the skill variable:
It might breaks map with extra difficulty levels like anwop.
EDIT: yes, it solves the problem.
In iq the flash turns off when the level ends, calling the function crashed quakespasm.
CODE HERE.
Code: Select all
the Installation
Using protocol 666
etb entered the game
ADDRESS 1000(?) 137(think).think 1000(?)
flash.qc : flash_off
flash.qc : flash_update
<NO FUNCTION>
assignment to world entity
Host_Error: Program error
Client etb removed
Shutting down SDL sound
If a new monster is spawned the total number of monster is not updated, try Tur Torment level where few mines are spawned when you make appear the ``You are not supposed to be here'' message.
quakespasm has a strange behavior with the skill variable:
Code: Select all
]skill 4
]restart
FITZQUAKE 0.85 SERVER (45995 CRC)
the Slipgate Complex
Using protocol 666
]skill
"skill" is "3"
Client etb removed
Shutting down SDL sound
Re: QuakeSpasm 0.85.8
assignment to world entity will crash on any client. It's a quakeC bug. You might be assigning a variable to self like self.blah = 123. where self in that instance is the world.
edit
ok i looked at ur code and self.flash.think ?
is .flash an entity? of so is flash.owner = player entity??
Either way pm me, i dont wanna further derail this thread on a QC bug, unrelated to his engine release.
edit
ok i looked at ur code and self.flash.think ?
is .flash an entity? of so is flash.owner = player entity??
Either way pm me, i dont wanna further derail this thread on a QC bug, unrelated to his engine release.
Re: QuakeSpasm 0.85.8
Crash happens because you are calling flash_off() from within flash_update()ezzetabi wrote:In iq the flash turns off when the level ends, calling the function crashed quakespasm.
CODE HERE.
and flash_update() has a shorter think time than flash_off(). Replace the flash_off()
call simply by a remove(self) in flash_update() and it will be fixed.
So, this is **not** a quakespasm issue, but an issue with your qc code.
Re: QuakeSpasm 0.85.8
EDIT: ^^ what szo said, was typing the message as he replied.
--------------------------------------------------------------------------
it's because ur calling sub_remove when self points to the player.
You should do this instead[/color]
--------------------------------------------------------------------------
it's because ur calling sub_remove when self points to the player.
You should do this instead
Code: Select all
void() flash_off =
{
entity tmp;
self.aflag = self.aflag - FL_FLASHLIGHT;
tmp = self;
self = tmp.flash;
self.think = SUB_Remove;
self.nextthink = time + 0.1;
self = tmp;
};
Last edited by r00k on Mon Oct 08, 2012 8:59 pm, edited 1 time in total.
Re: QuakeSpasm 0.85.8
It is *standart quake code*, which neither fitzquake nor we had ever touched:ezzetabi wrote:quakespasm has a strange behavior with the skill variable:It might breaks map with extra difficulty levels like anwop.Code: Select all
]skill 4 ]restart [...snip...] ]skill "skill" is "3" Client etb removed Shutting down SDL sound
see SV_SpawnServer() who limits skill to 3.
Re: QuakeSpasm 0.85.8
Well, I'm certainly not a qc expert and I only looked at his code _very_ briefly,r00k wrote:EDIT: ^^ what szo said, was typing the message as he replied.
--------------------------------------------------------------------------
so your analysis may be correct too.
Re: QuakeSpasm 0.85.8
Try this:
Run Quake; the ID1 game.
Load a save game from where you've already completed at least one episode.
Have a look at the runes on your sbar.
Issue a "kill" command at the console.
Have another look at those runes.
This affects nearly every NQ engine; the cause is that serverflags don't survive the kill command; the fix is:
Run Quake; the ID1 game.
Load a save game from where you've already completed at least one episode.
Have a look at the runes on your sbar.
Issue a "kill" command at the console.
Have another look at those runes.
This affects nearly every NQ engine; the cause is that serverflags don't survive the kill command; the fix is:
Code: Select all
void Host_Kill_f (void)
{
float fl;
if (cmd_source == src_command)
{
Cmd_ForwardToServer ();
return;
}
if (sv_player->v.health <= 0)
{
SV_ClientPrintf ("Can't suicide -- allready dead!\n");
return;
}
fl = pr_global_struct->serverflags;
pr_global_struct->time = sv.time;
pr_global_struct->self = EDICT_TO_PROG (sv_player);
PR_ExecuteProgram (pr_global_struct->ClientKill);
pr_global_struct->serverflags = fl;
svs.serverflags = fl;
}
We had the power, we had the space, we had a sense of time and place
We knew the words, we knew the score, we knew what we were fighting for
We knew the words, we knew the score, we knew what we were fighting for
Re: QuakeSpasm 0.85.8
Do any mods turn players into zombies? Unusual fix in this same function:
Code: Select all
// 2001-09-09 Kill command does not work for zombie players fix by Maddes start
// if (sv_player->v.health <= 0)
if ((sv_player->v.health <= 0) && (sv_player->v.deadflag != DEAD_NO))
// 2001-09-09 Kill command does not work for zombie players fix by Maddes end
Re: QuakeSpasm 0.85.8
That's not a proper fix; it doesn't work for the restart command, and it also introduces another bug: Get the rune, save the game before changing the level, reload it, and use the kill command - your fix will incorrectly add that rune to the player's inventory, because it wasn't there when the player first started the map.mh wrote:Run Quake; the ID1 game.
Load a save game from where you've already completed at least one episode.
Have a look at the runes on your sbar.
Issue a "kill" command at the console.
Have another look at those runes.
This affects nearly every NQ engine; the cause is that serverflags don't survive the kill command; the fix is:
The actual issue is that the serverflags value isn't properly stored in the saves. I have just added a proper fix on the first post of this thread. That does break savegame compatibility, but it's the proper solution. Changing the value of SAVEGAME_VERSION from 5 to 6 and adding a check for it solves that... hmm, I should do this now.
[edit] I've added a savegame_compatibility cvar and a menu option to switch the SAVEGAME_VERSION, so there's no compatibility problems anymore.