|
|
Code3Arena Old News
Back to main page
1.27 porting tools, and new Borland IDE
23-Dec-00
HypoThermia
The porting tools for the 1.27 source code are now ready. You can get them
here, and
I hope they help you port to the new Q3 code base. You'll also need the Visual Diff and Merge tool,
links to that are further down this news page, as well as in the docs.
There are four IMPORTANT things:
- READ THE DOCUMENTATION CAREFULLY! No ifs or buts. Diff Merge is a non-trivial thing,
and merge software isn't for novices. I've tried to flatten the learning curve, but you still
have to *think*.
- There's a known bug in the VM compiled code (this came out during NDA testing, but too
late to fix). This is documented in the overview.txt file, so read it!
- I can provide support for any problems within the batch files, but really don't want to
get a full mailbox about every little nuisance or tiny problem you're experiencing while porting.
You'll have to do some *thinking* for yourself.
- Make backups! Use these tools at your own risk!
On a separate note, I've release an updated IDE for Borland tools for use with 1.27.
You can compile either standard Q3 or Team Arena (but not both at the same time). You can get it
here
|
|
1.27 source code: now out!
22-Dec-00
HypoThermia
The source code for version 1.27 has just been released and you can
download it from FilePlanet
here. It's
unlikely to be as crowded as the 1.27 patch release, but you might want
to grab it from a more local mirror all the same. You can also get
the source code for the Q3 tools from this
download, no
prebuilt executables though.
The porting tools that I said I'd work on have been ready for quite a
while now. I took the opportunity to give them a thorough test on the
NDA code, and have used them to port my own mod as well as MaxCarnage. I
just need to verify they work with this source code release, and I'll
upload 'em here.
If everything runs smoothly, that should be tomorrow, or later this evening.
Just in time for Xmas :)
|
|
Small bug fix for homing rocket tutorial (#35)
17-Dec-00
HypoThermia
Another small update, this time for Homing Rockets. The tutorial uses a variable,
maxclients, that I forgot to set up. I've updated the tute with one that does
the same job, level.maxclients. Thanks to Cobra for bringing this to
my attention.
Here's the updated code.
|
|
Bug fix for grappling hook tutorial (#12)
16-Dec-00
HypoThermia
Although the code to enable the grappling hook works fine, the changes made to
the user interface produce some errors. Part of the g_bindings[] array is incorrectly
accessed, and unexpected errors or crashes are the result.
This little "feature" is easily missed in the ui_controls2.c code, and any
modification here can easily fall afoul of it. Its the use of ID_WEAPON10 as the
generic.id for input control that kicks the whole problem off. The value of generic.id
then becomes the index into g_bindings[], and an out of sequence value becomes the problem.
I've updated the code, so take a look at the changes and re-apply them if
you've had problems.
|
|
1.27g binaries released
15-Dec-00
HypoThermia
The next release is out and available for download for Win32. Expect the servers to be busy,
so try and find a more local one if you can. Download links for major sites
here. As usual, mac and linux versions
to be released shortly.
The source code should also be out in a few days, I'll post my tools and docs to assist in
the porting process after I've done a quick once through on a test mod.
|
|
New tutorial#35: Homing Rockets
13-Dec-00
HypoThermia
As promised, the homing rockets
tutorial from Chris Hilton's MaxCarnage mini-mod in the ModSource section. Watch your enemies
*squirm* as they try and evade these rockets!
|
|
ModSource: a new section at Code3Arena
12-Dec-00
HypoThermia
Something new for aspiring mod coders to look at and learn from! A
complete mini-mod with source code for you to study. And the compiled
form for you to enjoy playing at LAN parties too.
Chris Hilton has stepped
forward and provided the source code for
MaxCarnage, all the Quake 3 weapons turned up to 11. He wrote the
mod to learn his way around the Q3 source, and in doing so has given
many examples of how to modify weapons to your own (excessive!) needs.
I've also taken some of the code and written a tutorial around it,
implementing the cluster
grenades. This should make it all too easy for you to pull this code
out and develop it on your own. I'll be following this up with a
tutorial on the homing rockets, expected tomorrow.
Enjoy the work that Chris has done here. And if you'd like to
showcase your mod in the same way then please get in touch.
|
|
Q3 1.27: source available under NDA
9-Dec-00
HypoThermia
Robert Duffy over at Id Software has now made the source code available for mod developers
under Non-Disclosure Agreement (NDA). Such an agreement means the source is *not*
publicly available, but the source code has been finalized and will soon be.
The NDA allows developers the oppourtunity to port their mods over, and help smooth the
transition when the new version is released. I've applied for an NDA, and plan to
take part in this process.
If you're interested in working with the source code under the NDA (or just reading info
about what's going on), then
join up here
at the Id maintained forum, and read Robert Duffy's post in the mod newbie section. It looks like
access to the code will only be granted for existing mods with a solid homepage. No casual use,
or interest only.
Being allowed to work under an NDA is a tremendous privilege (and benefit) to the mod community.
Id have taken a strong lead in making their tools available for us to use, without commercial
(fee based) licensing just to gain access. They deserve our support and continued patience
in this.
If they're burned then its unlikely they'll help us in this way ever again.
|
|
Errata: Article#2, Vectors
9-Dec-00
HypoThermia
A small update to Article#2: Vectors, correcting
the definition of VectorMa(). The rest of you probably spotted it, but thanks Chump for
telling *me*.
|
|
Popup Menus: a double whammy tutorial
7-Dec-00
HypoThermia
Ever wanted to add a dynamic popup menu to your mod? Help the player buy
some items, issue in-game commands to other players or bots, or quickly change in
game options without having to resort to key binds?
Taken from my own mod UI Enhanced,
and in two parts, this tutorial provides the needed code. The
first part is the
essential framework used to create the menu, you can't work without this. The
second part is a full working example
of all the bot commands for Team DM and CTF. There are also a few
useful helper functions that access data usually controlled by the server.
This may well be superceded by the goodies promised for us in the 1.25 code, so I
don't know whether this code will have the lifetime of a mayfly or not. It should
co-exist with 1.25 code, but I can't promise this without having seen that source!
Still, I thought I'd get this in *first*. Enjoy, and make full use of it.
There are a few more projects in the pipeline, including a rather nice mod gift
from a C3A reader. More when I've written a tutorial around part of it: should
be here soon.
|
|
Mods you don't want to see
7-Dec-00
HypoThermia
I recently found a top 10 for the kinds of
mods that quakers don't want to see, by Pappy-R and Ash, here at PQ.
Code3Arena gets a mention at number 10 for Cut'n'Paste mods, and quite right too!
Actually I had to go back and read the article a second time. I'd mis-read it, and
my blood started boiling as I thought it was extracting
the urine. It is... but not of C3A :)
Still, they've got a good point. There's a lot of great material here at C3A,
but it doesn't all hang together in the way that a well designed mod does.
The tutorials *do* showcase useful parts of the code,
help understand obscure things, give ideas, and show
off the coding skills of contributors (ahem!).
If you recognise one of the projects in the top 10 as something you're
working on... try and do something positive about it, ok?
|
|
Thumb twiddling
20-Nov-00
HypoThermia
Well the wait for 1.25 is going on for longer than expected. Personally I'd much
rather they get it right, than have to go to another new codebase after this one.
It looks like this has (indirectly) caused a severe shortage of submissions
for Code3Arena too. I guess people really would much rather wait for the new
source code, than produce something that might end up broken in the near future.
Just to fill in the gaps a little,
my own pet Q3 project
is nearly ready for its next beta release. There's some material in there that's suitable
for a tutorial, so as soon as the beta goes out I'll be writing it up.
Thanks for your patience!
|
|
More updates
26-Oct-00
HypoThermia
A few more updates to the site. Several people have pointed out (cheers!) that the
delay problems described in my Alt-Weapon
Fire tutorial are caused by the flood server protection code. Using
sv_FloodProtect 0 makes the problem go away, but re-introduces
difficulties with abusive players.
Well the wait for 1.25 is still ongoing... one of the reasons for a quiet spell
here at C3A. A
recent interview of Paul Jaquays
over at Digital Addiction has
promised some (unspecified) goodies for mod makers. I
did send my original article to Id as a bug report... so I hope I'm not
to blame in any way for the delay! Link to the article spotted at
ShugaShack.
Finally, a small (but useful) addition to the compiler page:
a batch file that allows you to compile all three VM's in one go.
|
|
Article update: UI Menu Primer III
17-Oct-00
HypoThermia
A small addition that covers how to use uis.firstdraw to detect when
a dormant pushed menu is reactivated. Useful for checking when a child menu
has changed something that the parent needs to know about. You can read the article
here.
|
|
Tutorial updates: One critical... and one not.
9-Oct-00
HypoThermia
Two minor changes to tutorials: firstly to Calrathan's
Locational Damage tutorial (#14). This fixes
a bug that causes problems when corpses are shot. An essential update for anyone who's
used this tutorial in their mod.
The second is to my own Alt weapon fire
tutorial (#31). KnetterGek has sent in a good
explanation of the BUTTON_ANY flag, and how its most like used to keep a
client-server connection alive.
|
|
Porting your mod to 1.2x source code
30-Sep-00
HypoThermia
Although the 1.25 (or later) source code isn't out yet, I'm
preparing some tools that will help coders port their mod
to the new code base.
To help make this as smooth as possible there's some preparation
that you can do in advance, here's what I'd suggest people do:
- Make sure you have the original virgin source code your mod is based on
(1.15, 1.16, or 1.17).
- I've found a shareware program that does the three-way merge needed to update
your mod. Its called "Visual Diff Merge", and I'm planning on building my
tools around this. By getting it now you'll be able to learn about how to
use it, and feel more comfortable using it as a tool when it comes doing the porting.
You can get Visual Diff Merge from most shareware archives, its filename is VDIFMRG2.ZIP. You can search for a more local archive at
FTP search at Lycos.
There's one small bug that I've found: clicking on the window area before any files
are loaded crashes the program (on Win98ME at least), but this isn't present when there
are files loaded. Feedback on this tool, and any others you've found, are appreciated.
- When it comes to porting the code, the best thing you can do is start with a
stable mod. This means either a point release, or a stable internal alpha. Be aware that
any half finished features will be more difficult to test immediately after
the porting process.
I'll be producing documentation around the tools that I write, and some early beta
testers would also be appreciated. If you want to participate, and can give a
rapid turnaround on the material I send you, then please drop me an
e-mail with
a rough estimate on the size and complexity of your mod changes.
All we can do now is wait for the source code release...
|
|
AssKicka departs Code3Arena...
29-Sep-00
HypoThermia
AssKicka joined Code3Arena just as it was starting up, swelling the number
of people contributing to the site and making it take-off.
He wrote four great tutorials for us from his
SolidGround mod:
Bouncing Rockets, Cloaking, Flame Thrower, and Vortex Grenades. They've helped many
a coder get up and running.
For the past eight months he's been busy helping coders with problems, and
passing on his understanding of the intricacies in the source code.
AssKicka has been keeping the site going as people have come to us for help, ideas,
and sometimes even inspiration.
But all things come to an end. AssKicka has started up his own business in South
Africa, and needs to give all his time to make that project the success it deserves.
We at Code3Arena thank AssKicka for his time, effort, and outstanding contribution to
the site, and wish him every success for the future.
|
|
New Tutorial: #31 Alt weapon fire
28-Sep-00
HypoThermia
This tutorial is a skeletal framework for
adding an alternative fire mode
for weapons. It gives you the same advantages that existing weapons have: instant
starting up of animation in the client, server side damage and effects, and
access to the prediction code.
I wrote the tutorial after helping fix a problem that CAIRATH was having
with his mod. The fix turned out to be simple (but not well documented or obvious!),
and used the predictive code in bg_pmove.c rather than making everything
server side. This code is very difficult to gain access to, and needs to be well
understood before modification.
There's also some info on how to test your mod on a server if you don't have a
network, or access to an Internet server. Finally, there's a simple test
to show you what the problem was in the first place (I've reported this bug to Id).
Enjoy!
|
|
Quake III release point version 1.25
24-Sep-00
HypoThermia
Id have just released a new point version 1.25 for Quake 3. Judging by
the readme file its a major update to the game engine to bring it in line with
the up and coming Team Arena add-in pack.
Here are some download links from the
primary Id site,
and here at FilePlanet. You might
want to find a more local mirror... its a 17Mb download. You'll need 1.17 already
installed, and this update is for Win32 only.
I haven't yet had a chance to assess the new release yet (I'm downloading it on 56k
as I'm writing this), and I can't see the source code release yet on my local mirror. When I do
grab it we'll do our level best here at C3A to help ease the transition. Unfortunately this
looks like some hard graft.
If you do need to port your code, two strategies spring to mind:
for small changes run a diff utility between your mod and virgin 1.17 source install. Patch
the differences into the 1.25 source code. For a very large mod run a diff utility
between a virgin 1.17 and virgin 1.25 source, and apply those patches to your mod
code. In each case assess the impact of the changes before applying them.
If anyone knows of any tools that will help with the diff analysis
or code patching then please e-mail me.
For the moment: stay calm, get the 1.25 release, and keep your eyes peeled for info on
how the dust settles. Consider running two installs of Q3: one at 1.17 for code development,
and another at 1.25 as game servers are updated.
|
|
Tutorial#30: Beheading (headshot!)
17-Sep-00
HypoThermia
Busy, busy, busy! Another tutorial from
Kilderean,
this time covering the nasty business of removing the head part of the player model.
Continuing on the Unreal Tournament theme, the tutorial wraps this up into an
implementation of the "headshot!" kill, using the railgun.
The blood thirsty amongst you are going to love this!
|
|
Borland compiler users: Essential download
16-Sep-00
HypoThermia
I've just updated the Borland compiler archive: putting borland_hack.c back
in because I found the math error dialog box again under exceptional
circumstances.
The problem only affects Borland compiled DLLs, not the QVM generated with these
tools. The only files changed in the archive are the IDE project (to
include borland_hack.c in cgame - you can do this manually if you want), the
borland_hack.c file itself, and an updated readme.txt. All other
files are unchanged.
There's also a minor change in the IDE, documented in the readme.txt, and
a makefile for use with the free Borland 5.5 command line tools.
An essential download/update
for Borland C++ compiler users.
|
|
Tutorial#29: Rotating doors
14-Sep-00
HypoThermia
Valkyrie has come up trumps with a
tutorial that should make its way into
a large number of mods. The only kind of doors you've been able to use
in Q3 so far were sliding Star Trek ones - until now!
Realism mods and original projects can make good use of rotating doors,
just take a look at Half Life. All mod coders should implement this
rotating door code: independent map makers can then use this
kind of door if they want. Although the modifications to the source code are extensive,
they're all localized into a few files and large chunks of code, rather than
lots of fiddly changes all over the place.
Included in the tutorial is a link to a test map and map source, so you don't have
to fiddle around with Q3Radiant to test the code. Our thanks go to
Ro4dDogG for providing this
sample map and source.
Get a codin' and a mappin' people!
|
|
Tutorial#28: Progressive zooming (a la UT)
11-Sep-00
HypoThermia
Kilderean has just dropped in a short
but very sweet tutorial
that gives you much more control over zooming.
This could form the first step of a sniper rifle weapon modification, or just
be included as an enhancement over the original zoom mode. It's entirely client
side, and very easy to follow.
Cheers!
|
|
Article#9 updated: Cvars, commands, and VM communication
11-Sep-00
HypoThermia
I've updated the article
with a table of contents and internal links for
easier navigation. That should make it a more useful reference
for this (potentially confusing) subject. I've also applied
a minor addition: when to use CVAR_USERINFO in client Cvars.
I tried to upload this yesterday, but a hiccup in the PQ network left an incomplete
copy. Apologies if this caused any problems.
|
|
IRC channel for Q3 coding questions
6-Sep-00
HypoThermia
An IRC channel has just started up thats dedicated to talking about Q3 coding.
Its run by kid_loco on the irc
server irc.enterthegame.com, port 6667, channel #quake3code.
He's currently looking to expand the number of people there chatting, as well as adding
a few moderators.
Personally I don't get much chance to trawl the boards or IRC channels because of the
metered Internet access here in the UK. That's changing shortly for me, so I'll have
a chance to change my habits. The last time I did some serious chatting on the Internet
was with the free Uni access and the MUDding I was doing :)
|
|
Tutorial #27: Weapon reloading
5-Sep-00
HypoThermia
Martin Dominguez (aka Drive C:) has now added his
second tutorial to Code3Arena: this time on the subject of
weapon reloading!
Those of you that want a touch of realism, the need to prepare for combat,
or the terror of finding you're unable to fire for a few moments, will want
to add this to your mods.
Thanks go to Martin. Enjoy!
|
|
Update to tutorial#25
1-Sep-00
HypoThermia
Drive C: has updated his tutorial on the Flashlight and Laser to fix a bug
that occurs when you die. The only code change is in the Laser_Think() function. Cheers!
|
|
Article#10 added: Compiling with Metrowerks CodeWarrior,
and: An easy way to compile QVMs
29-Aug-00
HypoThermia
Those of you looking for an integrated development environment and compiler for working
on the Q3 source should take a look at Metrowerks CodeWarrior.
Tony Kostanjsek has sent in all you need to
know to get things up and running, including header files, a project, and a plugin to
help with the QVM compilation! The article is here.
Metrowerks CodeWarrior is an extremely flexible compiler that allows
you to build "cross platform" - I've heard good things about it for Palm
software development on the PC. Even though it's not a free compiler,
we're giving you the ability to develop Q3 projects if you already have it,
or are thinking of buying it. So follow the links in the article and take a look.
Not to be out done, Tony has also sent in details on how to get the QVM to compile
using just LCC headers and the executables distributed with the Q3 source! The details
are here on the compiler page.
Thanks Tony, and everyone else enjoy!
|
|
Tutorial #5: bugfix for Armour Piercing Rails
22-Aug-00
HypoThermia
There's a bug in this tutorial that was pointed out to me by mrk0r3 (Thanks!). It can
lock up the game when the railgun is fired, but the slug never hits the sky. As this only
happens on non-space maps, this wasn't picked up on in the rush to nail Xaero!
The fix is quite straight forward: when the railgun is traced through the world, it only
traverses the length of the vector supplied to it. Unfortunately the tutorial didn't
check that this had happened, and looped continuously when no hit occured in the length of the
vector. Space maps never had this problem because they are always enclosed by a sky textured box.
The lesson for the day: If you loop forever, make sure your break out condition is always
met!
The only code that's been changed is the last part of section 2. In addition
to breaking out when the sky is hit, it now breaks out when the full length of
the vector has been traversed (and no hit has been made). Purists will note that
the sky check is now optional, but it does allow you to break out earlier, so I've
left it in.
|
|
Article #9: Cvars, commands, and VM communication
3-Aug-00
HypoThermia
I've just finished writing an article about how the three VMs talk to
each other, and you can read it here. It
covers the diverse (but related) issues of Cvars, configuration strings,
console commands for the server or client, and scripting for the server.
I know things have been quiet on Code3Arena for the past few weeks,
so I started writing this article to fill that gap. It became much
more involved that I'd originally imagined as I learned more about the
subtleties of how the VM's can influence and control each other. I hope
I've been able to explain and document all of this in a way that people
find clear and useful.
If you find any errors or serious omissions then please let me know. Some of it
was made more difficult by not being able to look at what's going on in the executable
source code. I'd also planned to cover the manipulation of entities, but the whole
article became too large. I'll do that another time.
Enjoy!
|
|
Re-born mod looking for coders
9-Jul-00
HypoThermia
This just in from BlazeQ: the Re-Born mod is looking for experienced
coders to help bring back the single player Doom experience to Q3. They've
already started on the map conversions, and things look promising.
Check out their website at www.rebornmod.cjb.net.
|
|
Eating humble pie on Tutorial #26
2-Jul-00
HypoThermia
Lets finally put this one to bed. I did what I should have done
in the first place: implemented the tutorial, rather than just code-reading.
The problems that people were having have now been found and fixed.
Sorry for the mix up. I've learnt from this experience and am going to
take even more care when I review submissions to Code3Arena in the future.
|
|
Essential tutorial 26 update
1-Jul-00
HypoThermia
I inadvertently deleted a part of the tutorial required for it to
work properly. The missing part is now back in and it should run
as advertised.
Apologies for the confusion, and for any hassle given to Carnage because
of this.
|
|
Tutorial 26 added: Weapon Positioning
29-Jun-00
HypoThermia
Carnage has just sent in a
sweet tutorial for left, right, or central
weapon positioning. While the old Q2 weapon
positioning affected aiming, this effect has gone with Q3A's accurate reticule.
You can now put visual weapon positioning back in and go on a nostalgia trip!
If you want to find out more about the project Carnage is working on then take a look
at Generations Arena.
|
|
Q3 TC project "The Dark Conjunction" needs coders
25-Jun-00
HypoThermia
Andres Bordeu has sent in a request for
one or more capable coders to work on an up-coming TC called "The Dark Conjunction".
Set as a single player story-line, they're keeping the plot twists and turns very
close to their chest! Some of the coding requirements they're looking at appear pretty
challenging too, and give a peek at what is to come.
Drop in on their
preview website
and have a look at the startup work they've already done... as well as what they plan
for the future. If you think you're up to the job then send in your gaming CV and be
prepared to get deeply involved.
It's early days yet, and the work looks long and hard, but the direction Andres
has described looks very clear and focused. We at Code3Arena wish them
every success.
|
|
Tutorial 25 added: Flashlight and laser
20-Jun-00
HypoThermia
A new tutorial by Drive C: that
shows how to add a flashlight and laser aiming dot into Quake 3.
Conceptually each item has behaviour that differs only in the way it's drawn
on screen, and this tutorial shows how strongly related ideas can
(and should!) use the same code.
|
|
Tutorial submission stubs updated
20-Jun-00
HypoThermia
The submission stubs
have been updated with a readme file
that should make it easier for tutorial writers to fit in better with the Code3Arena site style.
The GrammarSpy article is also included for reference... but remember that submitted
work is accepted for its content, not grammar.
|
|
Fix for VM's for 1.16 and 1.17 that don't compile
13-Jun-00
HypoThermia
Kukaracha has e-mailed me to say that the batch files used
compile the VM code (distributed with the Q3 source) are broken when used under
Windows, or in a DOS box. His simple fix returns them to perfect working order,
and you can find it on the compiling page.
I wouldn't have picked up on this because I use batch files modified for
a Borland compiler. Cheers, Kukaracha!
|
|
Tutorial 21 updated
12-Jun-00
HypoThermia
Iain McGinniss has sent in an updated version of his
Scrolling Credits tutorial
that fixes an issue with the latest code building tools for the QVM. PlanetQuake
ftp is a little screwy at the moment, so I'll update the source code that goes with it
when that problem has been fixed.
|
|
Hud scoreboard tutorial added
2-Jun-00
HypoThermia
A sweet little tutorial from HeffX that puts a useful scoreboard in
the HUD display... you don't have to stop fragging to see how you're doing!
You can use this as a basis for any scoreboard related information that you want
to display on the HUD. The size of the HUD scoreboard flips to a smaller font when
there are a large number of players.
As a challenge to your coding savvy you can try implementing a frag-rate scoreboard
instead (take a look at tutorial 17).
|
|
Bookmark this page!
25-May-00
HypoThermia
Our news page is finally up and running! New tutorials, articles, and
other major site updates will be announced here.
We've just passed the big three-oh at Code3Arena - more than 30 articles
and tutorials in just three and a half months. We're adding content all the
time; so you can be inspired to write better mods for the whole Quake3
community to enjoy.
Our thanks go out to everyone who's contributed to C3A. This mod
coders resource could not have come so far - and so quickly - without your time
and effort!
More stuff coming soon. Add this page to your bookmark file...
and check back regularly!
|
|
Back to main page
|
|