Is Q4 Modding simular to Q3?

HisHighness
Posts: 24
Joined: Fri Jan 24, 2003 8:00 am

Is Q4 Modding simular to Q3?

Post by HisHighness »

I was just wondering if Modding in Q4 uses the same Quake-C sytem that Q3 used?
torhu
Posts: 76
Joined: Thu Jun 16, 2005 7:57 pm

Post by torhu »

There's no quake-C in q3. It's C89 (plus '//' comments). Q4 is C++, plus a custom-made scripting language.
[url=http://www.smokin-guns.org]Smokin' Guns[/url]
[url=https://sites.google.com/site/monsterbrowser//]Monster Browser[/url]
HisHighness
Posts: 24
Joined: Fri Jan 24, 2003 8:00 am

Post by HisHighness »

Oh my bad, I always was told it was called Quake-C

So, the underlying question is is it simular?
TTK-Bandit
Posts: 190
Joined: Sat Sep 07, 2002 7:00 am

Post by TTK-Bandit »

from quake-1 to quake-3 all mod code was called quake-c,
although only the quake1 code was really quakec.
Quake4 modding will be simmilar to doom3, except from the point,
that doom3 had a lot of the game code in scripts and q4 doesn't.
it isn't even closely similar to quake3 coding.
HisHighness
Posts: 24
Joined: Fri Jan 24, 2003 8:00 am

Post by HisHighness »

Hey Bandit, nice to see you again, are you going to/have you done an editor for Quake4? Q3DEvel was the best!

I'll have to look in to it. Can anyone reccommend a good tutorial?
AnthonyJa
Posts: 47
Joined: Sun Nov 26, 2000 8:00 am

Post by AnthonyJa »

1. Wait until the SDK is actually out before you start asking for tuts.
2. Use a real IDE + debugger, its the only way to go.
Timbo
Posts: 171
Joined: Sat Jun 10, 2000 7:00 am

Post by Timbo »

TTK-Bandit wrote:from quake-1 to quake-3 all mod code was called quake-c,
Only by n00bs and idiots :icon27:.
TTK-Bandit
Posts: 190
Joined: Sat Sep 07, 2002 7:00 am

Post by TTK-Bandit »

well, then I was a noob and an Idiot :D

@HisHighness:
1. thank you, nice to see you too :)
2. Yes, but its going to be an IDE for a lot more games..
3. a look into what ? my editor, or doom3 source ? I'm a bit confused now.
4. the tutorial.. hmm anwer 2. first :D
HisHighness
Posts: 24
Joined: Fri Jan 24, 2003 8:00 am

Post by HisHighness »

AnthonyJa wrote:1. Wait until the SDK is actually out before you start asking for tuts.
2. Use a real IDE + debugger, its the only way to go.
Timbo wrote:Only by n00bs and idiots .
Hmmmm, I'd like to start a poll in this thread:

Do you think "AnthonyJa" and "Timbo" could have sounded any more like assholes there?

1. Yes, they could have done a bit better.
2. No, they sounded like complete assholes.

Vote Early, and Vote Often!
HisHighness
Posts: 24
Joined: Fri Jan 24, 2003 8:00 am

Post by HisHighness »

TTK-Bandit wrote:well, then I was a noob and an Idiot :D

@HisHighness:
1. thank you, nice to see you too :)
2. Yes, but its going to be an IDE for a lot more games..
3. a look into what ? my editor, or doom3 source ? I'm a bit confused now.
4. the tutorial.. hmm anwer 2. first :D
I meant look in to modding for Q4. But could you let me know when you get your IDE done? I mean I know I should use a "real" IDE instead of using one that is easier to use and has features that are specifically designed for the game I'm working on and all (sarcasm) but still I'd like to hear about it when you make it. :D
AnthonyJa
Posts: 47
Joined: Sun Nov 26, 2000 8:00 am

Post by AnthonyJa »

HisHighness wrote:Hmmmm, I'd like to start a poll in this thread:
Yey, it seems we've managed to get the feel of the "old" Q3W back again!

When you get intelisense type technology working, goto-definition working (with polymorphic functions), and call / caller graphs, then I'd consider your editor useful for Q4. Until then, I stick by my advice to use a real IDE as those three tools alone will save a lot of effort.

(btw, I had a look on code3arena which itself is pretty n00bish, and even they know not to call it quake-c :) )
HisHighness
Posts: 24
Joined: Fri Jan 24, 2003 8:00 am

Post by HisHighness »

One thing I'll never get about the whole Quake world thing is this massive hate on people have for new people or "n00bs" Weren't all of us new at one point?
AnthonyJa
Posts: 47
Joined: Sun Nov 26, 2000 8:00 am

Post by AnthonyJa »

One thing I'll never get about the whole Quake world thing is this massive hate on people have for new people or "n00bs" Weren't all of us new at one point?
I dont have a problem with people who're new - I spend quite a lot of time helping them. However I would like to think that when someone who is more experienced gave me advice I took it, or when someone answered my question, I took notice.

The difference between Q3 and Q4 was stated when told that Q4 uses C++ and Q3 uses C. There are litterally thousands of hits on a google of "differences between C and C++". Having that fact, you could have turned to google and found information on how to learn C++ if there are features (eg OOP) that you are not familiar with. THAT would be far more productive than wanting to follow some crappy copy+paste tutorial.

The advice not to use a glorified text editor (no offense TTK-B, its quite impressive) but to use a tool has had many thousands of man-hours of effort is good advice. Its a false economy to believe that going with a slightly simpler tool is going to save you time.
HisHighness
Posts: 24
Joined: Fri Jan 24, 2003 8:00 am

Post by HisHighness »

Ok, which program would you recommend?
TTK-Bandit
Posts: 190
Joined: Sat Sep 07, 2002 7:00 am

Post by TTK-Bandit »

my IDE will have a few new features that are quite useful:
1. a debugger
2. auto completion (not as good as microsoft intellisense, but it is a help)
3. multiple compiler support.
4.Calltips (open a function and get all the variations of the functions in a tooltip)

what are:
*goto-definition working (with polymorphic functions)
*call / caller graphs
?

@HisHighness: uh, I'll tell you when its ready.. atm I'm pretty much out of time :icon27:

I guess AnthonyJa would recommend any bigger IDE, that is overloaded with useless features,
like MSVC, Borland, DevC++, AnyEdit,...
I'm pretty familiar with these and they're buggy as hell (at least the free ones)
and the paid ones have more functions than I could ever use.
^misantropia^
Posts: 4022
Joined: Sat Mar 12, 2005 6:24 pm

Post by ^misantropia^ »

AnthonyJa wrote:2. Use a real IDE + debugger, its the only way to go.
Real Men use vi an have no need for a debugger since their code is flawless from the start. I have spoken.
AnthonyJa
Posts: 47
Joined: Sun Nov 26, 2000 8:00 am

Post by AnthonyJa »

TTK-Bandit wrote:my IDE will have a few new features that are quite useful:
Nice improvements upon your Q3 editor. Is there a reason why you're taking the "start from scratch" approach rather than just fixing the bugs you're aware of in the existing open-source solutions?

A call graph shows you (in a hierarchical nature - eg a tree ctrl) all the function calls within a given function (and then within that child function etc), so that you can quickly get an idea of what it does (usually also including the ability to jump to the source of any of those functions). Obviously implementing this you need to be careful with recursion.

A caller graph shows you (in a similar hierarchical form) any functions that call the selected function, and anything that calls them. This makes it very easy to understand where any given function fits into the project as a whole, and therefore if you change the function, what code is implicitly changed.

Goto-definition (and goto declaration) simply let you jump straight to the definition / declaration of any given symbol. Far quicker than doing a "find in files", and then searching the results for the declaration rather than callers.

All three of these are quite crippled in C++ if they cannot cope with the same symbols being used within different classes / namespaces, or with different overloaded parameters.
I guess AnthonyJa would recommend any bigger IDE, that is overloaded with useless features,
like MSVC, Borland, DevC++, AnyEdit,...
Yep. If I were starting now I'd definately take advantage of the fact that VS.NET 2k5 beta2 is currently free (and will probably disappear from download.ms very soon, so get it now).
and the paid ones have more functions than I could ever use.
.... but maybe you should use. Or maybe you should simply learn the tools -> customise menu option to hide the options you feel are so bad?
HisHighness
Posts: 24
Joined: Fri Jan 24, 2003 8:00 am

Post by HisHighness »

anthony, would you take a quick look at this tutorial and tell me if you feel it's a good one. Please keep in mind I'm a complete beginner.

http://newdata.box.sk/bx/c/

Also this VS.NET 2k5 beta2 you mentioned, I obviously have no idea what it is, but if it's important and it's free now and it's likely not to be free in the future I'd like to get it now.

Do you know a link to DL it?

And, sorry about the asshole comment, but Bandit really helped me out when I made my Q3 mod and I was just coming to his defence.
AnthonyJa
Posts: 47
Joined: Sun Nov 26, 2000 8:00 am

Post by AnthonyJa »

Seems to be okay. I'd say its an unofficial reproduction of the book by the same name - if so, then its very likely to be of use.

If you already know C then you may find theres bits you can skip, although if you didnt really do much coding in Q3 then its at the very least skimming through the C-ish bits.

As for download links, this thread at D3W has everything you need to compile D3, and so is likely to cover Q4 when the SDK is released. With a bit of luck you wouldnt need to modify the code at all, unlike D3, but we'll see when its released:

http://www.doom3world.org/phpbb2/viewtopic.php?p=57046
TTK-Bandit
Posts: 190
Joined: Sat Sep 07, 2002 7:00 am

Post by TTK-Bandit »

>Is there a reason why you're taking the "start from scratch" approach rather than just fixing the bugs you're aware of in the existing open-source solutions?

1. I would have to learn how their source is build up, where everything is, and how it works.
this would take a lot of time, and even then, I doubt that I could fix all the bugs easily.
2. learning by doing.. I thought this would be a great project to get some experience.


call/caller graph, goto def:
hmm, thats a bit difficult to get this working, because I would need to analyze the code in realtime.
but yes, that would be a cool feature.


@VS.NET 2k5 beta2:
1. the output is buggy as hell.
2. I don't like this new skinned theme.. :icon32:

>.... but maybe you should use. Or maybe you should simply learn the tools -> customise menu option to hide the options you feel are so bad?

yeah, maybe.. but I'm kind of lazy at the moment :D
Not to mention the lack of time.

@HisHighness:
the tutorial is crap!
Do never read any tutorial that ends with "in 21 days"

visual studio:
http://msdn.microsoft.com/getthebetas/
HisHighness
Posts: 24
Joined: Fri Jan 24, 2003 8:00 am

Post by HisHighness »

What about this one? I'm using Microsoft Visual C++ 6, this is a tutorial for 5, but it seems to have everything pretty much the same.

http://cma.zdnet.com/book/visualc/ch01/ch01.htm
Timbo
Posts: 171
Joined: Sat Jun 10, 2000 7:00 am

Post by Timbo »

HisHighness wrote:1. Yes, they could have done a bit better.
2. No, they sounded like complete assholes.
I vote 1. For example, in a quest for complete assholeness, I could have locked the topic.
TTK-Bandit
Posts: 190
Joined: Sat Sep 07, 2002 7:00 am

Post by TTK-Bandit »

lol
HisHighness:
I wouldn't recommend any microsoft specific tutorial.
You should learn ansi C++, not Microsoft C++.
You can use Ansi c++ in msvc, but not vise versa.
I'd say, you should buy the book "The C++ programming language" by Bjarne stroustrup.
That's a good reference.
torhu
Posts: 76
Joined: Thu Jun 16, 2005 7:57 pm

Post by torhu »

TC++PL is a good reference, but not a great tutorial. You'll probably learn C++ faster by getting a book more aimed at C++ beginners. There are some good reviews at this site:
http://accu.org/bookreviews/public/revi ... _s_c__.htm
[url=http://www.smokin-guns.org]Smokin' Guns[/url]
[url=https://sites.google.com/site/monsterbrowser//]Monster Browser[/url]
Timbo
Posts: 171
Joined: Sat Jun 10, 2000 7:00 am

Post by Timbo »

If you already know a programming language, "Thinking in C++" is excellent. Best thing is, there is an online copy available for free.
Locked