Jedi Knight 2 And 3 Source Code Released
rockpapershotgun.com
Jedi Knight 2 And 3 Source Code Released
1–10 of 31 posts
Re: Jedi Knight 2 And 3 Source Code Released
#2cocks gun, blows brains out
(Yes I know the evil goto supposedly has its time and place, blah blah blah)
Re: Jedi Knight 2 And 3 Source Code Released
#3Searching 1897 files for "goto " ... 603 matches across 121 files cocks gun, blows brains out (Yes I know the evil goto supposedly has its time and place, blah blah blah)
Re: Jedi Knight 2 And 3 Source Code Released
#4Re: Jedi Knight 2 And 3 Source Code Released
#5Searching 1897 files for "goto " ... 603 matches across 121 files cocks gun, blows brains out (Yes I know the evil goto supposedly has its time and place, blah blah blah)
[1]: http://sourceforge.net/p/jediacademy/code/ci/4bebb8ec23200ee...
Re: Jedi Knight 2 And 3 Source Code Released
#6Searching 1897 files for "goto " ... 603 matches across 121 files cocks gun, blows brains out (Yes I know the evil goto supposedly has its time and place, blah blah blah)
What's the most popular "proper" use of goto in the code? The implementations of finite state machines?
Re: Jedi Knight 2 And 3 Source Code Released
#7Searching 1897 files for "goto " ... 603 matches across 121 files cocks gun, blows brains out (Yes I know the evil goto supposedly has its time and place, blah blah blah)
If you are going to write functions like this [1], gotos are not your worst problem. :) [1]: http://sourceforge.net/p/jediacademy/code/ci/4bebb8ec23200ee...
Re: Jedi Knight 2 And 3 Source Code Released
#8Searching 1897 files for "goto " ... 603 matches across 121 files cocks gun, blows brains out (Yes I know the evil goto supposedly has its time and place, blah blah blah)
For example, codemp/game/g_saga.c uses goto just fine. Three "goto failure" jump to the end of the function to handle the error case differently than a normal return. Not a very good example for proper goto use, but ok.
In contrast, codemp/cgame/cg_players.c should be refactored. It seems to be model loading code. If the loading fails, some gotos jump to the start of the function and using a flag variable a default model "kyle" is used instead of the arguments. If the default model is broken, this becomes an infinite loop. My style suggestion:
if (loadModel(foo)) return;
if (loadModel(default)) return;
assert (false && "fallback/default model broken");Re: Jedi Knight 2 And 3 Source Code Released
#9Searching 1897 files for "goto " ... 603 matches across 121 files cocks gun, blows brains out (Yes I know the evil goto supposedly has its time and place, blah blah blah)
If you are going to write functions like this [1], gotos are not your worst problem. :) [1]: http://sourceforge.net/p/jediacademy/code/ci/4bebb8ec23200ee...
The nesting is too deep imho, but apart from that it looks ok. This looks more like a design problem, because there are lots of special cases, but the code style is ok.
Re: Jedi Knight 2 And 3 Source Code Released
#10Searching 1897 files for "goto " ... 603 matches across 121 files cocks gun, blows brains out (Yes I know the evil goto supposedly has its time and place, blah blah blah)
Goto is just fine if it is used responsibly.