The collected works of vegac - Page 1

I suppose I'll join the fray, first of all my normal name is Bryan (which I post under in the news posts here on Nekochan...)...

For a living, I write video games. Specifically, for the past 2 years now, I've been doing games for the Gameboy Advance...if you actually care to hear what games I've worked on you can ask later, but I figure I won't bother you all if you're not interested...

Personal wise I'm engaged and getting married at the end of September (I can see it now, very little money for toys...it will be sad...but blessed all at the same time). Sad thing is, my hobbies are pretty much the same as my job, networking systems, and coding...which means I don't leave my office much. Basically in my spare time I explore the latest 3d technology, and for work I work on old-school 2d games, yay...

My R10k 175mhz O2 is my first (and currently only) SGI I have right now...I've dreamed of owning one since I first read about it being released so many years ago. I have a number of other machines all running in my office as well...to give you an idea, I have 5 machines here, all running different OSs (Irix, WinXP, Linux, FreeBSD, and OpenBSD).

That's about the end of my boring story...
Something else which complicates things (which Neko told me about) -

It seems one of the SGI packages installs gcc in /usr/sbin (Ada4 I believe it is puts it there)

And, it's an old version 2.8.1, which conflicts with everything else. This is made even worse if you're using c++ because g++, which will be in /usr/freeware/bin will be the correct version, but it'll go to the copy of gcc in /usr/sbin, and with conflicting versions (and types, 1 puts out o32, one n32 binaries) you'll get all kinds of strange errors, so after installing gcc from freeware (or compiling it yourself or whatever I guess) I HIGHLY recommend getting rid of /usr/sbin/gcc (or atleast renaming it)
I guess I'll toss my opinion in here...

I've used just about every OS there is. OS/2 being the exception, but figure most BSD's, various distros of linux, Windows from 3.0 thru XP, BeOS, QNX... Mac OSX is one other exception which I'm unhappy about, but I haven't yet gotten the cash to pick up a PPC to try it out on, because form what I've seen it may replace some of my other machines.

Unfortunately, every one of those (with perhaps the exception of BeOS) left me feeling like it wasn't quite right. I dislike window's design, which leands me towards wanting a more unix-type (best way I can differentiate) OS. Linux is a pain in configuring often, between different distros, packages being setup to work properly with 1 but not others, and other general faults. To be honest, my unhappiness with Linux started back when there was the whole libc5 vs. glibc (aka libc6) problem happened between distros. The BSD's are somewhat better in my opinion, but still felt lacking, none of them could keep me using them. BeOS I love the most, and it is in my opinion the closest thing to a "perfect" OS I've ever used...except for its lack of hardware 3d support, which is essential with my work.

Then I got my O2... To be honest I've dreamed of owning one of these since I first read of them some many years ago (what, 6 or so?). Finally picked one up 3 months ago... Is it more powerful than my dual celeron Linux machine, or my 1.13ghz Laptop running XP? No way. Yet I still use it more than any of my other 4 machines here combined. I just, feels good. The hardware is stable, the OS is fairly stable, and I have things just working. Maybe part of my problem with other 'nix-type OS's (linux, *bsd) is that there's no standard interface, so I found myself constantly fighting and reconfiguring trying to find one I like. With Irix, I just use what I have been given, and it works well enough for me to not want to change it, and lets me focus on just getting things done.

To sum it up, no it's not faster than a PC you could build for the same amount of money, but the general design is just so much better, in my opinion, that it makes up for it. And, it allows me to do whatever I need to do with it. I can get 99% of my work done on it and that's good enough for me.
Now, I definately wouldn't say that I'm a linux hater...
Just like I wouldn't say that any Linux distribution is by default more secure than my Irix install. Most Linux distros ALSO ship with a LOT of unneccessary daemons running. It's up to the person that admin's the machine to make sure it's secure.

SSH was available for Irix for a while now, and just because it didn't SHIP with the OS doesn't mean it's not there. And, if you'll watch those Bugtraq posts, you'll notice most of the bugs they post are involving old versions of the OS. I've seen only 1 so far that affects my machine, and even then it doesn't because I'm not running sendmail. (And note, that sendmail flaw effects every OS, so you can't call that an Irix bug).

Why does the filesystem layout annoy you? I mean, ya it's different from OpenBSD/Linux, but that doesn't make it any worse...it's a matter of training, and you were simply "trained" to be used to the layout BSD uses.

Really the rest of your comments are just opinions (4dwm is ugly, etc) that some will agree with, and some will disagree with. One thing I'll say about 4dwm is, it works, and I haven't felt the need to spend hours upon hours tweaking it. And plus, if you don't like it, run KDE, or Blackbox(fluxbox?), or WindowMaker, or whatever, noone's forcing you to use 4dwm, it's just the default.
Well, the first thing you need, is to get a copy of a game's ROM images
(How, don't ask, if you don't own the arcade board and copy the roms yourself it's technically illegal)

Second, you need to tell XMame what game to play (as you can tell by the filenames there, if you don't give it one, it tries to load up pacman)...

you'll likely need to pass some arguments to xmame as well
telling it where to find the roms and what-not
Well let me see here...
my machines are...

disgruntled - my PC laptop I bring to work, just so they see it on the network
pentai - my weakling p75 server that's about to get replaced
kraze - my dual 466 celeron that acts as a fileserver

for the SGI's

wish - my O2
dream - my Octane
Ok, so, as some of you know, I recently picked up an Octane for rediculously cheap off of eBay ($75 to be exact)

As with all things in life - it seems as though it was too good to be true.

I had it set up, power cord, video adapter (13w3->vga) plugged in to my monitor, keyboard and mouse, and tried turning it on...

It has no harddrive, but I don't think that would be the problem.

It would look like it was "trying" to find the video, but failing...or something like that

The monitor would show it's "no signal" screen, which would then go black as if it had a signal, then back to the no signal screen again a few times, and the light bar would go red...

Is there a list of things that cause the bar to go red, or is it just ANY error on bootup - also any ideas about the video?

My first guess is the whole sync-on-green issue and the 13w3->vga adapter, but from what I've read the O2 requires sync-on-green also, and my monitor runs with that just fune.
Well...
I borrowed the HD from my O2, just to have a drive attached...
The light came up red, but then after the drive would spin up would turn back to the normal light color...

Video still isn't initializing, though it seems like it's trying to
I'm just unsure at this point if it's the SI card, or the 13w3->vga adapter, or my monitor not liking it...

If it was the SI card, I wouldn't think that it would atleast TRY initializing it (I can see the monitor try to init, go black, then fail and go back to the "no signal" screen)

If it was the 13w3->vga adapter, well, I don't know maybe that's what it is, but it specifically said it was for SGI's on the packaging...though that probably doesn't mean much.

For my monitor, it'll handle any res I've EVER thrown at it, upwards of 1920x1440 (at 72hz) - it's a KDS Avitron (basically a re-branded Sony Trinitron). So I don't *think* that's what it is...but again I'm not really sure.

At this point I'm just hoping for any bits of info because I don't want to be throwing money on things that aren't needed...and more importantly, I've had it for a while now - I just want to see it boot :)
Further investigations...

If I hit escape while the Octane is booting and then 5 (for the mini-shell whatever it's called) and type in commands, it seems to be doing something...

such as typing in init and hitting enter, seems to have it re-initialize the hardware (it tries to re-init the video apparently), but then maybe that's just something else, not really sure...it could just be a sort of placebo effect, I'm hoping it'll do something so I perceive it as doing something...

I guess in a few hours I'll go *all* the way across the street to Best Buy and grab a serial cable...

I'd really love to have this thing up and running today :)
And hey, turns out I DO have a sled, it was in the box under some more packaging, so I'm just going to keep the drive from the O2 for now I guess :)

---

As for the serial cable, I need a null modem cable like the old PC days of hooking up a PC to another, or a straight-thru? I'm guessing a null modem but I'd like to be sure if possible :)
Well, it seems I was mistaken and my monitor does NOT in fact support sync-on-green, and the O2 doesn't always use it by default which is why that worked but not the Octane...

Looking over some lists I found my monitor is listed as specifically NOT supporting sync-on-green, which would explain it.

I finally got in to the Octane with my iPaq (compaq handheld)
running linux instead of pocket PC...it's about time I found a use for that thing; serial connections to systems :)

Just want to thank you all for your help, and well, pray that my fiance doesn't kill me when I walk in with a new monitor one of these days :)
Note:

Sharity also comes with a handy dandy command line program you can use also. In fact, this is all I used before I knew there even WAS a GUI.

sharity cifsmount //servername/sharename /mount/location

Note it's "sharity" not "Sharity" for the command line version

There's still that 3 level deep thing that bugs the CRAP out of me...since I have my files sorted like

Media/Movies/Television/Simpsons/
Well, Simpsons is empty, because it's the 4th level, more than 3 levels deep, so I had to export numerous more shares and mount them seperately, but hey, there are work arounds.


To unmount something run
sharity cifsumount /mount/location
I know Neko has a 20" Philips that works with his Octane...
So I'd imagine the 17" Philips would as well? Atleast that's what I'm hoping when I pick one up this coming weekend...

Just make sure it supports sync-on-green and you should be ok.
Well, my CURRENT plan is to go down to Frys this Friday morning (I love direct deposit! don't have to wait to get my money) and hopefully pick up an LCD to replace my big 19" CRT...I figure I'm already used to 1280x1024, so going to an LCD will be alright...

though it's too bad I can't afford that 20" beast that'll do 1600x1200 :)
The reasoning for the refresh rate thing is the LCD response time
Most have a response time of 16ms, which comes out to be 60hz...
While they'll deal with 72 or 75 or higher rates, the pixels themselves cannot refresh faster than that, and that's when you get a lot of the ghosting and other issues...
I use vim for coding, and nedit for quick formatting (like if I copy a url in 2 lines, put it together into 1 line to paste into mozilla)

Of course, vim has issues for me when running remotely...it just sits there. Anyone else have this issue.
Ahh, good job :)

I had wanted to do the textureless changes you mentioned to me back when I prepared a tardist for this but I had just been overworked as of late and unable to do it to my tardist - glad to see someone step up and get it done :)
Well let me see here...

I have:
SGI O2 (Acting as webserver)
SGI Octane (Awaiting an OS install, not sure what it'll do)

P75 (FreeBSD, Acting as DNS server)
Celeron 667 (FreeBSD, Fileserver)
Dual Celeron 466 (FreeBSD, Currently down, not knowing why it randomly shut off)
Duron 1.3ghz (WinXP, Main work/desktop machine)
Dell 1.13ghz Laptop (WinXP, For when working up in the Bay Area)
P2 233 (Friend's Box, FreeBSD server for him, web email etc.)
Here's a small thing that seems unnecessary with most iconbars I've seen...dynamic resizing!

When you mouse over an icon it zooms up, that I like...what gets me is that the bar resizes, pushing all the other icons out a bit...

The reasons I'm against this are:
1) Seems like unnecessary work...all those pixmaps have to be moved, redrawn etc
2) If you then try to go to the next icon over, a lot of times you'll go TWO icons over, because you leave your icon, it shrinks the bar back down, and now you're further over than you would have been...it's an issue of trying to hit a moving target so to speak
3) Biggest reason, is it causes slowdown (not only in your iconbar, but in pretty much every icon bar I've tried, including on my 1+ ghz PC...)

Now, not trying to bash what you've done, really that's my only functionality complaint in an otherwise nice app :)

Next question is, are you going to take this to a further level with integrated pager, clock,etc. or leave it strictly an icon bar and let other programs deal with that other stuff?
Minimizing Launch does in fact just show the generic icon, BUT when I ran launch the iconbar didn't seem to have any problems...

I'm guessing the problem with the screenshot thing is that it's trying to take a shot in a specific format and you have a different video format, or something to that nature?
I'll give it a go compiling the latest from source and see what results I get...

---edit---

I just compiled it mips4 optimized with MIPSPro

I get that same error as you loading the classic art-set, BUT I get menu screens and the arena walls even so. The error I'm guessing is either a bad .png, or a bug in the freeware libpng...

You can try changing the art set at the menus
(if you don't see ANY menus at all, not just the background pics, do this:
down and then enter (to select Video)
enter to select texture options
enter to change the texture set

Classis is the only one that gives me those errors, so maybe you'll have luck w/ another set?


As for performance:
On my 175mhz R10k O2 I get about 15fps with the window size set to 640x480, turning off mipmapping, turning off trail transparency, and switching shadows to stencil
There's 2 things in the configure script that break it heh
first, search through there for the text "-Wall" and remove it
second, search through there for -O$ (and there's text following) and remove that (including whatever text is after the $ sign, I can't remember what it was called

After configure's done, you'll get errors in lua/src/lib (and possibly other places) about -Wall, edit the makefiles in whatever dir that's in and remove the -Wall and try again

Then, you get to go through most of the .c and .h files, removing the comments with //, because // is NOT VALID C CODE!

Then, after all that, you should be ok :)
That bootable cd option in gCombust is, I'm sure, just enabling the El Torito (like the nachos!) extension, which means you can put a floppy disk image as a boot-up (loaded in to ram like off of a floppy and booted) - it's used mainly by PC's.

For installation CD's, I *THINK* they're just a standard EFS cd, with /dist, and /dist/miniroot, and it'll look in /dist/miniroot for the proper kernel and what not (and /stand might also have to be there)
It's time like these I have to say, net-booting is your friend.
It really makes things a lot easier if you have a seperate machine you can run bootp, tftp, and nfs on.
I'm very much so envious...

I think these boosts in cpu speed are really what we need to be more viable as a desktop platform, and especially the O2, while not a 3d beast, I think it works quite well for a small all-in-one machine for desktop Irix use, that is, if you have a decent speed cpu.

Unfortunately my O2 is a mere 175mhz r10k, so it's been delegated to Webserver duties for the time being :P
For my O2 (175mhz R10k) this would be a HUGE increase in speed, and also a huge asset, as upgrades for those machines are expensive, if you can find them.

Octanes on the other hand, a 300mhz R12k can be gotten for about 400-500 (and this from resellers) so I don't know if the price and work involved would really end up saving you much...just on a time-basis (though I may be wrong here, if it IS just a few resistors to de-solder/re-solder and swapping out a chip that's under $200...)
Some people have said if you sign up as a developer online, and have that account matching your supportfolio account (matching how I don't know) you gain access to the latest maintenance releses, but I've never had luck with this, so I'm unsure if it's truth or myth.
Ok, so after 4 days and 3 phone calls to SGI Developer Relations I got my M-Stream access back, yay. So I figured I'd write up the things I've noticed that are new about 6.5.22 (compared to 6.5.19m, what I ran before) for those of you who haven't yet gotten a chance to upgrade.

Note that these are all cosmetic things I'll be touching on:

1) You know you've heard about it, but anti-aliased icons in FM are here. This means your desktop, filemanager, and icon catalog. Good news is, they look NICE. Atleast, on my LCD they look shockingly cleaner and more modern. Even the same icons as before, but just not looking pixelized make them look more modern. The bad news is: it's nowhere else. Icons displayed in control panels or other programs are still pixelized.

2) New background control panel. Gone are the color boxes to edit the colors used in the background pixmaps (those 5 boxes until the preview). Now, below the preview are 4 selections: Center background, scale background, stretch background, and tile background. However, they're all disabled. I'm not sure if this is because I'm using all 1280x1024 background images or what, so can anyone else comment on this?

3) Icon scaling on the desktop. If you go to the window settings control panel you can now choose between small, medium, and large icons for when you minimize windows. System icons are scaled, "X" icons (meaning, programs that set their own window icon) don't scale down when minimized, and are instead cropped.

Honestly, that's about it that I've noticed so far. Of course there are other nice features, such as upgraded NFS that no longer has security holes, along with various other fixes.
That build of LAME he posted is a MIPS4 binary (r5k, r10k, r12k, etc.). your r4400 is only mips3, and therefore won't be able to run it.

Best option would be find out what he did to compile it and reproduce that work but with -mips3 set instead of -mips4
Which output plugin are you having it try to play with?
After setting up /temp/usr (and later, I removed that and just made links to the plugins in ~/.xmms/plugins...) it worked fine for me, using the digital audio plugin.
Having 1.2.7 installed still may be part of the problem?
I don't know, I imagine it would be fine, but who knows.

Before I installed it I removed the freeware version, and ~/.xmms completely to have a clean starting point...
Here's a bug I've noticed that I'm not sure about...

In Gaim it grabs the icons from the WM_HINT, but the icons come out corrupted looking. I'm THINKING that this is because the icons have transparency in them but I could be wrong here. Any ideas what this might be?

For now I just disabled grabbing icons from the hint and forcing it to use a file and that's working, but figured I'd ask...
Well, I know that the .png in /usr/local/share/pixmaps has transparency....
I'm using an Octane with SI+Tram, not VPro, so that cancels that issue out. What I've noticed is sometimes it would grab the icon properly (with a black background), and othertimes it would grab it with the background randomly colored (the main logo looking right, but instead of a black background, garbage).

Windows opened up would also have messed up icons, most likely from their buddy-icons (which are animated gifs) being messed up though.

I just switched the code on my machine to go file, then WM_HINT...always err on the side of letting the user override the machine. This way I can set my own icons for things such as XMMS (which uses a very small icon by default) :)
I took a screenshot of my iconbar for you so you can see...maybe it will give you some ideas...

http://www.kolrabi.com/iconbar.png

Notice the "garbage" behind the buddy list icon, the weirded out Nekochan icon, and the garbage behind the last icon there (buddy icon, name blurred for his protection heh) but the people on there are ok, it's just everything else that would be transparent isn't...
nekonoko wrote: OT - just curious - I noticed lots of people blur out their buddy icons and contacts (I don't, heh) - why is that? Has anyone actually been IM spammed from someone trying to manually type in buddies off posted screenshots? :cat:


I think of it more as a common courtesy and the fact that well, do I really want to admit talking to this guy? :)
Gaim is version 0.71 (compiled myself)
XMMS is 1.2.8

The nekochan icon I'm not sure what is up with it...but I did disable the default.icon usage when I put file-selection before WM_HINT selection for the icons, so that's probably what that is?

For the transparency, I'm not sure what it is...as Pixmaps (as far as I know) don't support transparency, except maybe through an XBitmap...but really no clue there. I'll see if I can throw in some test code to get more info about the gaim icon...atleast what bitdepth it reports as, etc.
Not a reply on a bug but instead a feature I've "added"...

I edited reximage.c (rewrote most of it).

The code is a lot smaller, simpler, and while at it, 24/32 bit icons are now "smoothly" scaled instead of "roughly"...

To get an idea:

Before: Image

After: Image

Also the checks for a valid XImage and such are done before allocating a spare drawable (which is, in fact, not even used anymore).

If you want my copy of reximage.c let me know, I'll gladly donate it if you like.

Also I'm working on adding checking for the alpha's of 32bit icons (should they come in) from WM_HINTs to see if that is the cause of the corrupted icons I'm seeing from some apps...

-Bryan
Another fun fix:

I fixed the transparency issue!

Basically, you check the WM_HINT for IconMask, get that as an image, check it's pixels if it's set to 0 it's transparent and therefore you fill in the pixel in the actual image with the background color (I'm using the default of 0x787878).

I'll sign up for a sourceforge login and send you a private message with the info in a few minutes...
Well, if you go for Maya, complete should do you better than unlimited, unless you need fur, water, and cloth effects.

As for the models, Maya will export to a format, which Irix has convertors for, so you could export them to a usable format. As for whether or not Maya is the right tool for the job, that depends on how much money you feel like spending for the job. It's a great modeller, but it may be overkill for some things.
Is it just me, or in that twister, are those polys supposed to be front-facing? I'm guessing this is what the crossVec takes care of (rotating based on camera view to display front-facing?) or are they actually supposed to be almost lines like that?
Well now, I'll be approaching this topic mostly as a game developer...

OpenGL and DirectX (well, Direct3d) aren't really that different these days...

GL has glEnable(GL_WHATEVER), direct3d has pD3D->SetRenderState(DRS_WHATEVER, TRUE)

Both are just ways to render polygons on screen. In fact in terms of game development it's even more moot than it used to be, because a lot of work is now done in shaders (vertex and pixel) which both translate pretty much 1:1 between the 2 apis.

Personally, I prefer OpenGL because I like it's syntax and I'm more accustomed to it, but Direct3d 8 and 9 are both very useable too. It largely depends on if you're working from a current codebase which you'd choose.

To correct some mistakes in this thread:
Direct3d emulates just as well missing features as OpenGL, only difference is in direct3d, 1 company making it means that emulation is the same everywhere...you don't see OpenGL emulating multitexturing on our sgis do you? Nope...

Direct3d generally has a more powerful feature-set than base OpenGL, but OpenGL has a nice extension mechanism that allows card manufacturers the ability to support new functionality immediately (which allows programmers to start using that functionality immediately instead of waiting for a new direct3d revision). This is good and bad as the standardization of these features often takes time and the api for the features will often change a bit...

Taking directX as a whole now, it's more than a 3d api, it offers directdraw (which I don't think ANYONE uses...), but also a central set of apis for sound, input, etc. which OpenGL doesn't have (and shouldn't, it's a fricken graphics api).

For the Carmack quote, that was referring to Direct3d 5 (I think) back when there was Immediate mode and retained mode, and neither was good for everything...since then direct3d's structure has become infinitely nicer.

And well, to finish this off simply: As a game developer, it doesn't matter what API I'm using, nor does it matter what language I'm programming in, they all work the same in the end, they all have benefits and drawbacks, and if people are wasting time worrying about language and api, who's worrying about the game?