Go Back   TehSkeen.com > Nintendo Wii > Homebrew Releases

Mini Skeen Menu
Main News Page Online Discussion Forums Downloads Database Console Modification Reviews IRC Chat Information Contests
Network Links
Network Links
Active Threads
195 *EXCLUSIVE* Interview with teh Wii Exploit Author
Last Post: antonioster
Posted On: Today
Replies: 29
Views: 26,860
0 I have a problem
Last Post: link11510
Posted On: Today
Replies: 15
Views: 323
102 Theater Room, Nintendo’s Video On Demand Service Launches Tomorrow
Last Post: SifJar
Posted On: Today
Replies: 3
Views: 82
102 More "Unlock Your Wii" Scam Sites
Last Post: monoufo
Posted On: Today
Replies: 14
Views: 517
102 WODE vs. NSMB
Last Post: djdynamite123
Posted On: Today
Replies: 0
Views: 50
106 Game Categories Revised v11 Released
Last Post: brakken
Posted On: Today
Replies: 0
Views: 61
203 Crap 2.4b Released
Last Post: djdynamite123
Posted On: Today
Replies: 0
Views: 70
214 New Mario Bros - Anti-Modchip Protection
Last Post: MENTALDOMINANCE
Posted On: Today
Replies: 53
Views: 4,434
0 SDL MAME Wii
Last Post: azrael11
Posted On: Today
Replies: 237
Views: 16,332
0 Boot 2 Thoughts
Last Post: SifJar
Posted On: Today
Replies: 6
Views: 232
0 NDS broke, need money to fix it :(
Last Post: SoraK05
Posted On: Today
Replies: 6
Views: 1,206
225 Pong2 v0.99 Released
Last Post: djdynamite123
Posted On: Today
Replies: 0
Views: 83
225 RedSquare 0.93 Released
Last Post: djdynamite123
Posted On: Today
Replies: 0
Views: 71
225 SpaceBubble 0.92 Released
Last Post: djdynamite123
Posted On: Today
Replies: 0
Views: 67
225 BibleQuiz 0.94 Released
Last Post: djdynamite123
Posted On: Today
Replies: 0
Views: 65
0 New Super Mario Bros. Question
Last Post: cobleman
Posted On: Today
Replies: 9
Views: 260
52 HELP!!! Backup Channel Trouble
Last Post: R3dfaction
Posted On: Today
Replies: 2
Views: 65
228 Wii64/Cube64 Beta 1 Released!
Last Post: spellcaster
Posted On: Today
Replies: 157
Views: 19,609
203 KeyStego 1.0 Released
Last Post: Savage_Nation
Posted On: Today
Replies: 8
Views: 560
189 Hu-Go GC Project
Last Post: gusmento01
Posted On: Yesterday
Replies: 171
Views: 34,060
More...

Quake Wii (Official Release Thread)
  #1  
Old 05-26-2008, 07:38 AM
PeterM's Avatar
PeterM PeterM is offline
member
 
Join Date: Apr 2007
Posts: 48
Quake Quake Wii (Official Release Thread)

Edit: Thank you very much to Eluan for doing such a great job taking over Quake on Wii.

Hello,

Due to some work related stuff I'm not able to continue development on Quake or Quake 2 for GameCube/Wii.

I'd really like it if I could find a person or two to continue the projects, instead of just letting them stagnate.

Quake 2 for Wii in particular would be a cool project to take up due to the Wii's controllers, networking and increased memory.

So please let me know if you (or anyone you know) would be interested in either of these projects!

Thanks for reading,
Peter
__________________
Development diary

Last edited by PeterM; 06-16-2008 at 09:14 AM.. Reason: Changed thread title.
Reply With Quote

  #2  
Old 05-26-2008, 03:22 PM
eluan eluan is offline
mad poster
 
Join Date: Feb 2008
Location: Florianópolis, Brazil
Posts: 101
Default

I'd love to continue your work on this.

I'm pretty familiar with the quake engines subsystems, especially quake1. I've hacked through it for many, many years and was JUST thinking in creating my own port when I read this post, talk about good timing!

On the bad side, I don't know much about Wii programming in general, but I know enough about computers to learn it quickly.

I'm going to take a look at your ports right now.

Later,
Eluan
Reply With Quote

  #3  
Old 05-27-2008, 05:07 AM
PeterM's Avatar
PeterM PeterM is offline
member
 
Join Date: Apr 2007
Posts: 48
Default

Great! Let me know how you get on, and please feel free to ask me any questions you may have.
__________________
Development diary
Reply With Quote

  #4  
Old 05-27-2008, 03:20 PM
eluan eluan is offline
mad poster
 
Join Date: Feb 2008
Location: Florianópolis, Brazil
Posts: 101
Default

I've played with it all night and added changed the sdgecko functions to the wiisd functions from latest libogc cvs (still using tffs, not libfat yet.)

One thing that intrigued me was the palette, converting to RGB565 it looked extremely low-color and greeny. I'm looking around for ways to do RGBA8 but I can't find it anywhere. Will continue to look around.
Reply With Quote

  #5  
Old 05-27-2008, 07:17 PM
PeterM's Avatar
PeterM PeterM is offline
member
 
Join Date: Apr 2007
Posts: 48
Default

Yeah the GameCube texture and palette formats were a bit of a mystery to me. I spent a while just trying to figure out how to upload the palette and what format to put it in.

By the way, if you can send me a PM with your Gmail address, I can add you as a project member so you can commit your changes to SVN.

I added a tag to indicate my last version so don't worry about making any changes you feel are suitable to the source code.
__________________
Development diary
Reply With Quote

  #6  
Old 05-27-2008, 07:27 PM
Dood77 Dood77 is offline
member+
 
Join Date: May 2008
Posts: 58
Default

Quote:
Originally Posted by eluan View Post
I've played with it all night and added changed the sdgecko functions to the wiisd functions from latest libogc cvs (still using tffs, not libfat yet.)

One thing that intrigued me was the palette, converting to RGB565 it looked extremely low-color and greeny. I'm looking around for ways to do RGBA8 but I can't find it anywhere. Will continue to look around.
Have you uploaded it anywhere?
Reply With Quote

  #7  
Old 05-27-2008, 09:09 PM
eluan eluan is offline
mad poster
 
Join Date: Feb 2008
Location: Florianópolis, Brazil
Posts: 101
Default

Quote:
Originally Posted by PeterM View Post
Yeah the GameCube texture and palette formats were a bit of a mystery to me. I spent a while just trying to figure out how to upload the palette and what format to put it in.

By the way, if you can send me a PM with your Gmail address, I can add you as a project member so you can commit your changes to SVN.

I added a tag to indicate my last version so don't worry about making any changes you feel are suitable to the source code.
Looking at the libogc includes, it seems that the hardware only supports 3 lookup formats: GX_TL_IA8, GX_TL_RGB565, GX_TL_RGB5A3.
The best thing would be creating a hardware-accelerated GX rendering driver, but it would be kinda *hard* for me without an proper debugging tool.
I've also tried some things with the libogc networking functions, but they crash a lot for now, so I left the port of the udp driver for later, when they are more stable. (Or maybe I did something wrong.)

I've sent my gmail via PM for you.

Quote:
Originally Posted by Dood77 View Post
Have you uploaded it anywhere?
I still have to diff it against the svn head to do everything the proper way (keeping the gamecube version, ifdef'ing the wiisd functions, etc...)
Reply With Quote

  #8  
Old 05-27-2008, 09:10 PM
vicious1988's Avatar
vicious1988 vicious1988 is online now
playa
 
Join Date: Jan 2007
Location: Indiana, USA
Posts: 294
Default

I'm gonna be following these revisions. Can't wait to see how it all turns out.
Reply With Quote

  #9  
Old 05-27-2008, 10:34 PM
ZeldaDD's Avatar
ZeldaDD ZeldaDD is offline
baller, shot caller
 
Join Date: Jun 2007
Posts: 362
Default

Me too...I like Quake quite a bit.
Reply With Quote

  #10  
Old 05-28-2008, 04:36 PM
eluan eluan is offline
mad poster
 
Join Date: Feb 2008
Location: Florianópolis, Brazil
Posts: 101
Default

Uploaded a work in progress version to show what I've been doing.

For now:
-It resets properly on the Wii (still not able to return to the loader, though.)
-Reads files from the front Wii SD slot (saving disabled, forgot to reenable it before uploading, but you can remove the return lines on SYS_FileOpenWrite and SYS_FileWrite to make it work.)
-Wiimote suport, tried to map the buttons on the wiimote and nunchuk more or less like the gamecube ones, wiimote IR aiming and nunchuk up-motion jumping.

Bugs:
-Wiimote disconnects too fast, need to read the libogc headers again and determine how to make the idle time longer.
-If the wiimote disconnects, screen turns grey (only the game screen, not the status bar or menu) and stays this way until you reload the game (starting a new game won't help)
-Maybe you'll have to disconnect and reconnect the nunchuk to your wiimote to make it work (again, this is a 1-day, no-prior-experience implementation, it will be fixed)
-Something else I can't remember.

Download it at the quake-gamecube official site: http://code.google.com/p/quake-gamecube/downloads/list

That's it, please don't complain about the wiimote implementation and SD card reading yet. The wiimote code is completely new to me (and I don't know about the real stability of the code on the libogc cvs) and the SD reading doesn't use libfat yet, but use the wiisd functions from the latest libogc CVS.
Reply With Quote

  #11  
Old 05-28-2008, 06:22 PM
Sir_Voe Sir_Voe is offline
mad poster
 
Join Date: Mar 2008
Posts: 142
Default

Great work so far, eluan. Just played through a few levels and can see this is going to be a lot of fun. Can't wait for networking so I can get some Wii-DS deathmatch/co-op going.
Reply With Quote

  #12  
Old 05-28-2008, 07:03 PM
vicious1988's Avatar
vicious1988 vicious1988 is online now
playa
 
Join Date: Jan 2007
Location: Indiana, USA
Posts: 294
Default

Great job. Looks and operates exactly as it did first time I played on my PC (way back in the day ). My only issue is with the aiming, it wants to point up when your cursor goes offscreen.

One question, does this load code externally or is the game code embedded in the elf? Just asking because Team Fortress would kick so much ass on here.
Reply With Quote

  #13  
Old 05-28-2008, 08:09 PM
eluan eluan is offline
mad poster
 
Join Date: Feb 2008
Location: Florianópolis, Brazil
Posts: 101
Default

Most of the quake engine is ansi C, including the VM. The only rewritten parts were the already well-isolated (by the enormous number of ports quake has) system-specific modules.

So Team Fortress and any mod is completely possible!

I'm gonna fiz the aiming issue right now, the problem was that I used the IR to aim whenever there were at least 2 dots visible for the camera, but it seems that past the edge of the virtual screen, two dots are still visible and the cursor goes to {0, 0}.
Reply With Quote

  #14  
Old 05-28-2008, 09:30 PM
ZeldaDD's Avatar
ZeldaDD ZeldaDD is offline
baller, shot caller
 
Join Date: Jun 2007
Posts: 362
Default

http://xf7.xanga.com/61bc77132103319...w147199049.png

Here's a quick icon for Quake if anyone wants it (for the HB channel).
Reply With Quote

  #15  
Old 05-28-2008, 09:47 PM
ZeldaDD's Avatar
ZeldaDD ZeldaDD is offline
baller, shot caller
 
Join Date: Jun 2007
Posts: 362
Default

Also, nice work. Sure, the aim may be slightly wonky, but it actually plays really really well. I was only going to play a little bit (to check it out) but I ended up playing through around 3 levels.
Reply With Quote

  #16  
Old 05-28-2008, 09:48 PM
RustyNathan RustyNathan is offline
new member
 
Join Date: Apr 2008
Posts: 2
Default

Actually I will help out, tell me what you need me to do, I am a little new to wii probraming, but I will try my best. I will send you a P.M with my Gmail.
Reply With Quote

  #17  
Old 05-28-2008, 10:41 PM
BLAHDE BLAHDE is offline
new member
 
Join Date: Aug 2006
Posts: 6
Default

Very enjoyable, glad someone has picked up the project and is already running with it.
Reply With Quote

  #18  
Old 05-29-2008, 09:11 AM
eke-eke eke-eke is offline
finish him
 
Join Date: Mar 2006
Location: Toulouse, France
Posts: 982
Default

about the timeout, I used this and this work well:

WPAD_SetSleepTime(60);

on reconnection, IR tracking is disabled so you have to manually enabled it again

current libogc implementation "seems" to be rather stable (I mean I didn't encounter any random crash during the few hour I tested my apps) but you never know

Last edited by eke-eke; 05-29-2008 at 09:14 AM..
Reply With Quote

  #19  
Old 05-29-2008, 05:35 PM
scognito scognito is offline
member
 
Join Date: Oct 2005
Posts: 35
Default

Quote:
Originally Posted by eke-eke View Post
about the timeout, I used this and this work well:

WPAD_SetSleepTime(60);

on reconnection, IR tracking is disabled so you have to manually enabled it again

current libogc implementation "seems" to be rather stable (I mean I didn't encounter any random crash during the few hour I tested my apps) but you never know
Is there a way to re-enable IR tracking? I'm having this issue in my game, thanks!
Reply With Quote

  #20  
Old 05-29-2008, 09:14 PM
edracon's Avatar
edracon edracon is offline
mad poster
 
Join Date: Mar 2008
Posts: 173
Default

Yeah... another icon for the homebrew channel thing... Just wanted people to have more than one option. Also, I'm going to play this today
Attached Images
File Type: png icon.png (11.0 KB, 1435 views)
__________________
the way I type is the way I talk.. and if there is a typo, then there was a typo in my brain/mouth.

peace & love & world domination
Reply With Quote

  #21  
Old 05-29-2008, 09:55 PM
eke-eke eke-eke is offline
finish him
 
Join Date: Mar 2006
Location: Toulouse, France
Posts: 982
Default

Quote:
Originally Posted by scognito View Post
Is there a way to re-enable IR tracking? I'm having this issue in my game, thanks!

see WPAD_SetDataFormat function in wpad.c, I am calling this at init and then each time I leave the menu (in case wiimote would have been reconnected)
Reply With Quote

  #22  
Old 05-29-2008, 10:28 PM
Sonicandtails Sonicandtails is offline
new member
 
Join Date: Oct 2007
Posts: 10
Default

I actually put this all together earlier if anyone wants it. Updated Readme and whatnot. Also, my own custom icon.
http://www.mediafire.com/?leixsddrxxx

As simple and weird as the icon looks, it actually looks nice in the Homebrew Channel.
Reply With Quote

  #23  
Old 05-30-2008, 03:42 AM
bgorman bgorman is offline
new member
 
Join Date: Apr 2008
Posts: 3
Default

i hate to ask im a noob and bad with computers is there any way someone could upload a version that has the saves fixed i tryed for 3 hours and what ever i did it tells me not a valid wii app Thankx
Reply With Quote

  #24  
Old 05-30-2008, 04:47 AM
eluan eluan is offline
mad poster
 
Join Date: Feb 2008
Location: Florianópolis, Brazil
Posts: 101
Default

Quote:
Originally Posted by RustyNathan View Post
Actually I will help out, tell me what you need me to do, I am a little new to wii probraming, but I will try my best. I will send you a P.M with my Gmail.
I would really need some help to port the OpenGL renderer to GX so we can make full use of the Wii. Your USBGecko filesystem for quake-gamecube would be nice too.

Quote:
Originally Posted by eke-eke View Post
about the timeout, I used this and this work well:

WPAD_SetSleepTime(60);

on reconnection, IR tracking is disabled so you have to manually enabled it again

current libogc implementation "seems" to be rather stable (I mean I didn't encounter any random crash during the few hour I tested my apps) but you never know
I had seen this function but forgot completely to try it with high values, thanks for the confirmation.

Quote:
Originally Posted by scognito View Post
Is there a way to re-enable IR tracking? I'm having this issue in my game, thanks!
Quote:
Originally Posted by eke-eke View Post
see WPAD_SetDataFormat function in wpad.c, I am calling this at init and then each time I leave the menu (in case wiimote would have been reconnected)
What I do is check if the wiimote is synced every frame (with WPAD_Probe) and if it is not, call WPAD_SetDataFormat the next time WPAD_Probe is successful.

Quote:
Originally Posted by bgorman View Post
i hate to ask im a noob and bad with computers is there any way someone could upload a version that has the saves fixed i tryed for 3 hours and what ever i did it tells me not a valid wii app Thankx
Have you tried the .elf or the .dol? Homebrew Channel Beta 7? Another loader?
Reply With Quote

  #25  
Old 05-30-2008, 04:58 AM
eluan eluan is offline
mad poster
 
Join Date: Feb 2008
Location: Florianópolis, Brazil
Posts: 101
Default

I've just uploaded a new version to http://code.google.com/p/quake-gamecube/

Changes from the last WIP:
-Fix the reset buton mistake.
-Fix off-screen-wiimote aiming issues.
-Exiting the game wii now return to the loader.
-Reenable game and config saving/loading.
-Fixed bug when a wiimote disconnects during the game, better wiimote connection handling overall.
-Metroid Prime 3-style aiming and shooting.

Known bugs: The nunchuk isn't detected/used when loading from the homebrew channel (possibly other loaders as well.) To fix this, just disconnect and reconnect the nunchuk (or resync the wiimote, but it takes longer.) The nunchuk is detected fine if you sync the wiimote in-game or quit to the homebrew channel and reload the game.
Reply With Quote

  #26  
Old 05-30-2008, 05:16 AM
eke-eke eke-eke is offline
finish him
 
Join Date: Mar 2006
Location: Toulouse, France
Posts: 982
Default

Quote:
Metroid Prime 3-style aiming and shooting.
this is awesome, thanks a lot
Quote:
Known bugs: The nunchuk isn't detected/used when loading from the homebrew channel (possibly other loaders as well.)
have you tried WPAD_Shutdown() before WPAD_Init (no sure about this, the old wiiuse port had this issue also) ?

Quote:
Originally Posted by PeterM
The author of this port has become a registered WiiWare developer and cannot continue with Quake


well, congratulations to you too
Reply With Quote

  #27  
Old 05-30-2008, 05:29 AM
eluan eluan is offline
mad poster
 
Join Date: Feb 2008
Location: Florianópolis, Brazil
Posts: 101
Default

Actually, I call WPAD_Disconnect() for all four wiimotes, will try calling WPAD_Shutdown()

I've also started to port quake's berkeley sockets network driver to libogc's implementation, some functions are still missing but it seems that it will be possible to connect and play a game, let's see if it is really possible to do it now.

And congratulations to Peter, I forgot to say that
Reply With Quote

  #28  
Old 05-30-2008, 05:48 AM
eluan eluan is offline
mad poster
 
Join Date: Feb 2008
Location: Florianópolis, Brazil
Posts: 101
Default

It didn't fix the issue
When I load it for the first time, the wiimote led goes off, then on again, without the nunchuk. And the nunchuk is detected fine if I exit to the loader and reload the game

New info: Cold-booted the Wii, loaded The Homebrew Channel and let the wiimote timeout, then sent the game via wireless. Worked fine.

It really seems to be a issue with the WPAD interface or The Homebrew Channel.

Last edited by eluan; 05-30-2008 at 05:50 AM..
Reply With Quote

  #29  
Old 05-30-2008, 06:21 AM
Sir_Voe Sir_Voe is offline
mad poster
 
Join Date: Mar 2008
Posts: 142
Default

Working great for me, loaded via the homebrew channel. The new aiming is amazing. I wouldn't change it at all. Thanks to all involved.
Reply With Quote

  #30  
Old 05-30-2008, 07:01 AM
eke-eke eke-eke is offline
finish him
 
Join Date: Mar 2006
Location: Toulouse, France
Posts: 982
Default

the nunchuk analog stick seems to act weird sometime, here's the functions I added for reading the Sticks values like the old PAD_ library, maybe you would find this useful:
Quote:
#define PI 3.14159265f

static s8 WPAD_StickX(WPADData *data,u8 which)
{
float mag = 0.0;
float ang = 0.0;

switch (data->exp.type)
{
case WPAD_EXP_NUNCHAKU:
case WPAD_EXP_GUITAR_HERO3:
if (which == 0)
{
mag = data->exp.nunchuk.js.mag;
ang = data->exp.nunchuk.js.ang;
}
break;

case WPAD_EXP_CLASSIC:
if (which == 0)
{
mag = data->exp.classic.ljs.mag;
ang = data->exp.classic.ljs.ang;
}
else
{
mag = data->exp.classic.rjs.mag;
ang = data->exp.classic.rjs.ang;
}
break;

default:
break;
}

/* calculate X value (angle need to be converted into radian) */
if (mag > 1.0) mag = 1.0;
else if (mag < -1.0) mag = -1.0;
double val = mag * sin(PI * ang/180.0f);

return (s8)(val * 128.0f);
}


static s8 WPAD_StickY(WPADData *data,u8 which)
{
float mag = 0.0;
float ang = 0.0;

switch (data->exp.type)
{
case WPAD_EXP_NUNCHAKU:
case WPAD_EXP_GUITAR_HERO3:
if (which == 0)
{
mag = data->exp.nunchuk.js.mag;
ang = data->exp.nunchuk.js.ang;
}
break;

case WPAD_EXP_CLASSIC:
if (which == 0)
{
mag = data->exp.classic.ljs.mag;
ang = data->exp.classic.ljs.ang;
}
else
{
mag = data->exp.classic.rjs.mag;
ang = data->exp.classic.rjs.ang;
}
break;

default:
break;
}

/* calculate X value (angle need to be converted into radian) */
if (mag > 1.0) mag = 1.0;
else if (mag < -1.0) mag = -1.0;
double val = mag * cos(PI * ang/180.0f);

return (s8)(val * 128.0f);
}
Reply With Quote
Reply


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump



All times are GMT -4. The time now is 06:12 PM.


vBulletin skins developed by: eXtremepixels
Powered by vBulletin® Version 3.8.3
Copyright ©2000 - 2009, Jelsoft Enterprises Ltd.
All Original Content (C) 2005-2008 brakken, All Rights Reseverd