sine.wav - various graphical
I forgot I made a moviepack for CTF last year. It's pretty bleak, but so was I at the time. This design was inspired by the Fortress moviepack and has a "functional" floor texture. It shows the position of the flag when not at the base (very helpful) and the shortest distance between the flags and bases (if you are in a hurry!).
- Attachments
-
- ctf_moviepack.zip
- The floor texture is a huge fps killer! It will slow you down for sure.
- (1.42 MiB) Downloaded 31039 times
I really thought I was done making these stupid moviepacks, but inspiration comes at strange times and you have to see it through, no matter how ridiculous it seems. This time it hit me while on lagtest.net. It's a "Wild West" theme with a train model and steam engine sounds. It's surprisingly relaxing to play this mod with the incam.
- Attachments
-
- train_wars.zip
- (1.75 MiB) Downloaded 27754 times
- Tank Program
- Forum & Project Admin, PhD
- Posts: 6712
- Joined: Thu Dec 18, 2003 7:03 pm
- Jonathan
- A Brave Victim
- Posts: 3391
- Joined: Thu Feb 03, 2005 12:50 am
- Location: Not really lurking anymore
A little hack:
armagetronad-0.2.8.2.1 2 is the original, AKA simply extracting the archive again after modifying the first.
Code: Select all
$ diff armagetronad-0.2.8.2.1\ 2/src/tron/gWall.cpp armagetronad-0.2.8.2.1/src/tron/gWall.cpp
966a967,973
>
> REAL true_ta = ta;
> REAL true_te = te;
> if(cycle_) {
> true_ta -= cycle_->GetDistance() / SEGLEN;
> true_te -= cycle_->GetDistance() / SEGLEN;
> }
978c985
< RenderNormal(p1,p2,ta,te,r,g,b,a);
---
> RenderNormal(p1,p2,true_ta,true_te,r,g,b,a);
983c990
< RenderBegin(p1,p2,ta,te,
---
> RenderBegin(p1,p2,true_ta,true_te,
992c999
< ta+(te-ta)*s,te,0,
---
> true_ta+(true_te-true_ta)*s,true_te,0,
995c1002
< RenderNormal(p1,pm,ta,ta+(te-ta)*s,r,g,b,a);
---
> RenderNormal(p1,pm,true_ta,true_ta+(true_te-true_ta)*s,r,g,b,a);
- Attachments
-
- armagetrain.mp4.gz
- Excuse me for recording this on the aging PowerBook which is like falling apart. I do have some better hardware now. :)
- (1.94 MiB) Downloaded 29140 times
ˌɑrməˈɡɛˌtrɑn
- wrtlprnft
- Reverse Outside Corner Grinder
- Posts: 1679
- Joined: Wed Jan 04, 2006 4:42 am
- Location: 0x08048000
- Contact:
I guess this would take a little more work with display lists in place, although you might get away with changing the texture transformation matrix before calling the list.
Here's a bigger movie with the spaces between cars made transparent: http://armagetron.at/~mathias/wildwest.avi (excuse my poor passing-magic-flags-to-mencoder-that-make-it-smaller-without-loss-of-quality skills) It makes it quite temting to try and go through the (nonexistent) holes, though.
Here's a bigger movie with the spaces between cars made transparent: http://armagetron.at/~mathias/wildwest.avi (excuse my poor passing-magic-flags-to-mencoder-that-make-it-smaller-without-loss-of-quality skills) It makes it quite temting to try and go through the (nonexistent) holes, though.
There's no place like ::1
- Jonathan
- A Brave Victim
- Posts: 3391
- Joined: Thu Feb 03, 2005 12:50 am
- Location: Not really lurking anymore
Yeah, I thought of that, but it Worked For Me (tm) even with display lists enabled. At least in 0.2.8.2.1 (I just picked a release to work on, the first one SourceForge gave me).wrtlprnft wrote:I guess this would take a little more work with display lists in place, although you might get away with changing the texture transformation matrix before calling the list.
Using the texture matrix would require rearranging or at least getting a grasp on much more code.
Beats trying to fit it in 2 MB.wrtlprnft wrote:Here's a bigger movie with the spaces between cars made transparent: http://armagetron.at/~mathias/wildwest.avi (excuse my poor passing-magic-flags-to-mencoder-that-make-it-smaller-without-loss-of-quality skills) It makes it quite temting to try and go through the (nonexistent) holes, though.

BTW, I think you did something else to your code. My cars still have that funky shape where the wall normally 'grows' out of the cycle. I figured that looked better than a full-height wall sticking out of the engine. But then with my code the cars compress in that section. Edit: duh, forgot to change a te to true_te:
Code: Select all
else{ // complicated
if (ta+gBEG_LEN>=time){
RenderBegin(p1,p2,true_ta,true_te,
1+(ta-time)/gBEG_LEN,
1+(te-time)/gBEG_LEN,
r,g,b,a);
}
else{
REAL s=((time-gBEG_LEN)-ta)/(te-ta);
eCoord pm=p1+(p2-p1)*s;
RenderBegin(pm,p2,
true_ta+(true_te-true_ta)*s,true_te,0, // <-- HERE
1+(te-time)/gBEG_LEN,
r,g,b,a);
RenderNormal(p1,pm,true_ta,true_ta+(true_te-true_ta)*s,r,g,b,a);
}
}
Last edited by Jonathan on Sun Mar 01, 2009 5:43 pm, edited 1 time in total.
ˌɑrməˈɡɛˌtrɑn
- wrtlprnft
- Reverse Outside Corner Grinder
- Posts: 1679
- Joined: Wed Jan 04, 2006 4:42 am
- Location: 0x08048000
- Contact:
What i did in my code was apply a texture to the line that's rendered on top of every wall so they don't look weird with those gaps in them 
I just tried adding train tracks to the floor: http://wrtlprnft.ath.cx/arma/?min=744
Maybe I should have made a bigger texture, though, this one looks a little too repetitive.

I just tried adding train tracks to the floor: http://wrtlprnft.ath.cx/arma/?min=744
Maybe I should have made a bigger texture, though, this one looks a little too repetitive.
0.2.8.2.1 doesn't have display lists (at least not for non-cycle stuff).Jonathan wrote:Yeah, I thought of that, but it Worked For Me (tm) even with display lists enabled. At least in 0.2.8.2.1 (I just picked a release to work on, the first one SourceForge gave me).
There's no place like ::1
- Jonathan
- A Brave Victim
- Posts: 3391
- Joined: Thu Feb 03, 2005 12:50 am
- Location: Not really lurking anymore
When someone designs a larger floor texture, make it so you can reach any part of track without reversing or jumping onto another track. Makes driving a la screenshot 750 more fun.
Also try limiting wall length to something relatively small. Makes it even more like a grid train, if grid trains have finite length.
Also try limiting wall length to something relatively small. Makes it even more like a grid train, if grid trains have finite length.
ˌɑrməˈɡɛˌtrɑn
- Jonathan
- A Brave Victim
- Posts: 3391
- Joined: Thu Feb 03, 2005 12:50 am
- Location: Not really lurking anymore
I got rid of the growing and put a small invisible section in its place. Near the end of gNetPlayerWall::RenderList you'll see some stuff centered around gBEG_LEN. Just remove the RenderBegin parts, leaving only RenderNormal, set gBEG_LEN to 0.5, and add gBEG_LEN to true_ta and true_te. Beware, it stays invisible when the train dies (edit: no, stupid presumption, shows how much I know about the wall code).
A disadvantage is that walls must be of length 5n+1.25 instead of the much more common 5n for textures to line up nicely.
A disadvantage is that walls must be of length 5n+1.25 instead of the much more common 5n for textures to line up nicely.
ˌɑrməˈɡɛˌtrɑn