qbism / cleancodequake2 Goto Github PK
View Code? Open in Web Editor NEWAutomatically exported from code.google.com/p/cleancodequake2
Automatically exported from code.google.com/p/cleancodequake2
zlib 1.2.5 was released in April 2010. CCQ2 is still using zlib 1.2.3 which is
five years old. It should be updated.
I see that they provide their own CMake script in the 1.2.5 source archive.
Perhaps this can be incorporated with minimal changes into our existing setup.
This really only affects Windows since Linux distros tend to provide their own
copy of zlib.
Original issue reported on code.google.com by Jayschwa
on 14 Jun 2010 at 4:20
What steps will reproduce the problem?
1. Compile on linux x86_64
2. Start a server with the dll
3. Killserver, quit, Control+C
What is the expected output? What do you see instead?
No segfault, I find actually a segfault caused by the destructor
SIntermissionState::~ChangeMap()
r462, on Gentoo Linux x86_64 (gcc version 4.3.4)
Additional information:
I managed to fix it by changing some stuff.
SImtermissionState::ChangeMap to char*
in cc_target_entities,
if (Level.Intermission.ChangeMap.find_first_of("*") != std::string::npos) //...
to
if (strstr(Level.Intermission.ChangeMap, "*")) //...
and adding the function at the top of cc_target_entities.cpp
char* mydup(const char* const str)
{
char* retval = QNew (TAG_GAME) char[strlen(str)];
strcpy(retval, str);
return retval;
}
and changing
Level.Intermission.ChangeMap = targ->Map;
to
Level.Intermission.ChangeMap = mydup(targ->Map.c_str());
I also think that ChangeMap.clear() at ExitLevel() might be causing the
problem, but I don't know why, so I did those changes.
Original issue reported on code.google.com by [email protected]
on 17 Jul 2010 at 7:48
Using aprq2 on linux, loading a map with 'map mapname' will load a map as
expected. If 'map mapname' is issued again, the client crashes.
This happens *every single time*, when instead the map should be loaded as
a new game.
This is the information given after the crash:
aq2: source/cc_utils.cpp:314: bool AssertExpression(bool, const char*):
Assertion `0' failed.
Original issue reported on code.google.com by [email protected]
on 2 Jun 2010 at 10:57
deathmatch 0 ; map base1
As of r458, the game fails to start. The error message says the assert on line
84 of cc_memory.cpp fails. This occurs only on Linux. Windows appears to be
fine.
http://code.google.com/p/cleancodequake2/source/browse/trunk/source/cc_memory.cp
p#84
Original issue reported on code.google.com by Jayschwa
on 14 Jun 2010 at 3:28
What steps will reproduce the problem?
1. Start game
2. Set coop
3. FIGHT TO DEATH WITH YOUR MATE :D
What is the expected output? What do you see instead?
USER killed PLAYER (or something like that?)
What version of the product are you using? On what operating system?
Latest (I just compiled to check, duh), Windows.
Please provide any additional information below.
Original issue reported on code.google.com by [email protected]
on 30 May 2010 at 2:45
What steps will reproduce the problem?
1. <q2.exe> +set ctf 1 +map q2ctf1
2. Join a team and spawn.
What is the expected output? What do you see instead?
The player appears to be stuck in the ground on first spawn. The following
error message is printed:
PF_configstring: index 1312 overflowed: 105 > 63
The error message is colored so I suspect it's originating from Q2PRO
rather than the game lib. This needs to be tested with another engine to
determine if it's a problem with CCQ2 or not.
Original issue reported on code.google.com by Jayschwa
on 31 May 2010 at 6:59
What steps will reproduce the problem?
1. Get behind the Gunner that's looking at lasers one base3
2. Shot it with SuperShotgun to the other side.
3. Make him hit lasers
What is the expected output? What do you see instead?
The expected outputs is that the lasers are disabled because the monster
gets killed, but, instead, the laser closest to the ground stays activated,
but invisible. It was sopoused, as we can't see it, it can't hurt us, but
this is not the case. Anyway, this issue has low-priority because it's only
caused when using cheats or when you do the game again after finishing it ones.
Please use labels and text to provide additional information.
Original issue reported on code.google.com by [email protected]
on 27 May 2009 at 8:46
Fix segfault on Linux that was worked around by STDCPP_LINUX_HACK.
Mem_Zero on a (struct containing a) std::string (or custom String object) is
not a good idea and will probably leak memory, even if it works.
(BTW: Using your own string and list classes is usually a bad idea,
std::string, std::vector etc are proven to work..)
Original issue reported on code.google.com by [email protected]
on 24 Sep 2011 at 8:08
Attachments:
Once we have things setup with CMake, we should be able to focus more on the
actual source and less on the project/make files.
Original issue reported on code.google.com by Jayschwa
on 3 Jun 2010 at 4:04
I commented out some code in cc_exception_handler.cpp in r456. MSVC projects
generated by CMake bitched about line 297 in some gobble-de-gook I didn't care
to understand at the time. The issue doesn't occur in Paril's MSVC project, so
the CMake script probably needs an additional option when dealing with Windows
or something.
Original issue reported on code.google.com by Jayschwa
on 14 Jun 2010 at 2:58
The project currently takes its precious time when building. It would be
nice if it went faster. There may be a few things that can be done to help:
1) Don't include headers that aren't used. Currently, most sources files
include most headers via the cc_local.h meta-header.
2) Move as much code as possible out of headers and into source files.
Things aren't too bad on this respect, but there's always room for
improvement.
Original issue reported on code.google.com by Jayschwa
on 3 Jun 2010 at 4:09
Unreproducible; happens at random.
A grenade that was thrown (only seems to apply to handgrenades) will, at
times, have no owner by the time it reaches Explode, causing a crash when
the grenade deals damage to an entity that uses the Attacker.
We need to make sure that the owner of a grenade is always set and
maintained properly (this is the only entity where the owner has disappeared).
Original issue reported on code.google.com by Jonno.5000
on 1 Jun 2010 at 7:54
All the files currently live in the source directory. It may be more
manageable to break them up into logical sub-directories.
Post proposed structures here.
This may potentially tie in with issue #11 (as far as cutting down on bulk
header includes).
Original issue reported on code.google.com by Jayschwa
on 3 Jun 2010 at 4:16
What steps will reproduce the problem?
1. Start the level base2
2. Go to the first elevator, letting some monsters...
3. Some monsters will go over/under the elevator...
What is the expected output? What do you see instead?
Well.. they shouldn't go under/over the elevator because it can cause
troubles with the progress of a campaign, but no further problems.
Please use labels and text to provide additional information.
Nothing.
Original issue reported on code.google.com by [email protected]
on 27 May 2009 at 6:52
Wouldn't it be cool to have a clancode q2 game library for xatrix and rogue
mission packs? Also built in bot support would be good (other mods could use
it). You could take the gladiator bot source code from the Quake 3 Arena source
code.
Original issue reported on code.google.com by [email protected]
on 6 Jan 2011 at 12:25
Because masochism is fun.
Original issue reported on code.google.com by Jayschwa
on 3 Jun 2010 at 4:28
The method of storing pointers to the new entities causes problems at times
when a pointer to a deleted entity is not detected.
To explain; Quake 2 stores the server entity list in a dynamic array of
size 8192. This meant that in original Quake 2, entity pointers were never
invalid - they were always present.
CleanCode wraps this system around our IBaseEntity system; the entity
classes are maintained by CleanCode and simply store a pointer to and from
the different entity types. The server entity always has an IBaseEntity,
but IBaseEntity's (and derived types) memory is deleted once it is freed.
If the entities that are pointing to the freed entity is not informed and
does not NULL the pointer properly problems arise.
Several things can be done to rectify this, however no "fix" is a "good
fix" in that a lot will need to be re-designed. Ideas are open to discussion.
The first fix was to give entities about 3 frames for other entities to
realize that the entity has been freed - this has worked for several
entities, but the problem still remains.
Original issue reported on code.google.com by Jonno.5000
on 1 Jun 2010 at 8:05
We should probably make CPlayerEntity/CMonsterEntity versions of TakeDamage in
their respective classes to make this a bit simpler & remove a ton of if's.
Original issue reported on code.google.com by Jonno.5000
on 13 Jun 2010 at 11:22
What steps will reproduce the problem?
1. <q2.exe> +set ctf 1 +set cheats 1 +map q2ctf1
2. Join a team and spawn.
3. Enter "give item_tech4" into the console.
What is the expected output? What do you see instead?
The game crashes.
It seems to happen with any item_tech#. It also happens with the tech name:
"give autodoc".
Original issue reported on code.google.com by Jayschwa
on 31 May 2010 at 6:52
Unreproducible; happens at random. A bug has been discovered a few months
ago where a specific grenade caused a player to gain ~80 health. From my
recollection there was nothing special; the grenade was tossed somewhat
underneath the player.
I suspect a floating point issue in SplashDamage, but I have not seen the
bug again.
Original issue reported on code.google.com by Jonno.5000
on 1 Jun 2010 at 7:55
Hi! it seems that this project is being developed in MSVS. I think it would be
too much linux friendly (not only) if there would be a Makefile so that people
can checkout, make and run without even opening anything. I may be a little
linux fag but i haven't found README file as well. I can maybe help with this
issue but unfortunately i know too little about ccq2.
Original issue reported on code.google.com by [email protected]
on 30 Jan 2012 at 7:34
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.