gbadev.org forum archive

This is a read-only mirror of the content originally found on forum.gbadev.org (now offline), salvaged from Wayback machine copies. A new forum can be found here.

DS homebrew announcements > QuakeDS WIFI build - now with on-screen keyboard!

#129103 - simonjhall - Fri May 18, 2007 9:57 pm

Just a quick release, so nothing majorly new.

I've *finally* gotten around to releasing the wifi build of Quake for you all to play. This supports only infrastructure-mode networking, so you're gonna need an access point to play. There is no support for ad-hoc.
Wifi performance is pretty sluggish, and you may find it not too your liking - I've done the best I can with the wifi library, but I just can't get low-latency performance out of it. Still massive kudos to sgstair though :-D
You'll obviously get better results if a computer with plenty of processing power is hosting though. But you can still host on the DS if you want to (with a max of two players).

An on-screen keyboard has also been added so you can properly play Team Fortress now :-)
You can also type in the IP you want to connect to etc, change your player name, bind buttons, use the console etc...
Today's keyboard has been brought to you by...ScummVM DS!

There are also a few bug fixes for the people who got the 'freeing precaches' crash bug in pre2. There is no fixed game saving for the people who got corrupt saves in pre2 (well I've added code to handle drivers which don't support unaligned saving, but I couldn't fix all corrupt saves - YMMV).

Mod support has also been improved a bit - dodgy QuakeC code no longer crashes (as much), some deathmatch bots are known work (I've been told Reaper and Omicron work), I've had a go with Quake Rally, Quake-done-Quake (with a vengeance), Team Fortress (not single player)... These are only the things that I have personally tested, and I'd just expect most mods to work out of the box, assuming the models are in pak files.

If you're only interested in playing single player I recommend avoiding this build as the addition of the wifi code has greatly reduced the RAM that I fought long and hard for, so some levels may not be playable or may thrash.

The usual shimmy, including instructions etc lives at:
http://quake.drunkencoders.com/

Peace.
_________________
Big thanks to everyone who donated for Quake2

#129105 - Devil_Spawn - Fri May 18, 2007 10:00 pm

sweet, gonna check it out now

can you reccomend any good levels for online play?

#129108 - MasterMan - Fri May 18, 2007 10:34 pm

Nice one, Simon.
So i just need a PC running Quake to host and in DS i loginto the PC's IP?

Any predictioin for the EXRAM build?

Keep up the nice work.

#129109 - simonjhall - Fri May 18, 2007 10:40 pm

MasterMan wrote:
So i just need a PC running Quake to host and in DS i loginto the PC's IP?
Or a second DS. Or a PSP :-)
But I'd just recommend hosting on the machine with the most processing power. Hosting on the DS can be a bit jumpy!
_________________
Big thanks to everyone who donated for Quake2

#129112 - Devil_Spawn - Fri May 18, 2007 11:05 pm

me and my friend have tried to conenct to eachotehr from seperate networks (online play) and found it impossible, is there another port other than 26000 i need to forward?

#129113 - simonjhall - Fri May 18, 2007 11:16 pm

I haven't tried across the Internet (only on local subnets) but I seem to remember that you needed a tunneling program. I myself would just open UDP port 26000 and point it at the serving machine!

Can you get this to work with a PC playing a PC across the Internet? The code on the DS is pretty much the same...

Remember that it's UDP you want, not TCP.
_________________
Big thanks to everyone who donated for Quake2

#129116 - Devil_Spawn - Fri May 18, 2007 11:41 pm

simonjhall wrote:
I haven't tried across the Internet (only on local subnets) but I seem to remember that you needed a tunneling program. I myself would just open UDP port 26000 and point it at the serving machine!

Can you get this to work with a PC playing a PC across the Internet? The code on the DS is pretty much the same...

Remember that it's UDP you want, not TCP.


my ds can connect to a pc server locally, but not globally, i am sure i have port forwarded correctly =/

#129117 - simonjhall - Fri May 18, 2007 11:50 pm

Thinking about it, I think you'd need to open ports on both routers - the one connected to the server and the one connected to the client.
But I have a feeling that the local IP address may be embedded in the data packets which are sent, and the receiving machine will then use that instead of the actual NAT address.
Just a hunch though.

But I do remember there being tunneling tools to Quake, as it doesn't play well with NATs. Thinking about it, my old router used to have a Quake option on it! Maybe the IP is embedded in the packets after all.
Anyway, the other Quake guy has a standalone tunnel program on his site - try using that! ;-) (thanks John!)
_________________
Big thanks to everyone who donated for Quake2

#129119 - Mr. Picklesworth - Sat May 19, 2007 12:45 am

Works fantastically, running WinQuake on the PC host (or client). It doesn't like it if I use DarkPlaces (a really nice looking Quake engine), though. Is that avoidable, or DarkPlaces' own fault?

Can't wait for some DS -> DS gameplay!

Fantastic work again, Simon :)
_________________
Thanks!
MKDS Friend Code: 511165-679586
MP:H Friend Code: 2105 2377 6896


Last edited by Mr. Picklesworth on Sat May 19, 2007 1:08 am; edited 1 time in total

#129120 - MasterMan - Sat May 19, 2007 12:54 am

YAY! Played DarkPlaces vs QuakeDS.
But i can't host in PC, don't know how to connect QuakeDS.
Hosted in DS side and loged DarkPlaces as client, massive lag in PC, while DS keeps fine.

DS "join game" screen shows 192.168.254.2 as IP to join, but it is the DS IP. PC is 192.168.254.1, how to make DS connect?
Search games don't find anything, UDP 26000 is forwarded to 192.168.254.1.

In console, i type "connect 192.168.254.1" and it don't gets anywhere.

But it's great to have PC vs DS matches :P

EDIT
Never mind, works perfectly using winQuake XD

#129142 - tepples - Sat May 19, 2007 4:34 pm

simonjhall wrote:
MasterMan wrote:
So i just need a PC running Quake to host and in DS i loginto the PC's IP?

Or a second DS.

And a battery-powered access point, right?
_________________
-- Where is he?
-- Who?
-- You know, the human.
-- I think he moved to Tilwick.

#129169 - Dood77 - Sun May 20, 2007 1:05 am

So I guess you went ahead with the release eh? Sorry I haven't had time to test yet, one issue is that my PC is behind a vonage router which is a real pain to work with...
tepples wrote:
simonjhall wrote:
MasterMan wrote:
So i just need a PC running Quake to host and in DS i loginto the PC's IP?

Or a second DS.

And a battery-powered access point, right?

Well yeah, but it doesn't need to be battery powered. Just if people don't know how toset up a NetQuake server on their PC, or are unable to for some reason, then they can use another DS for the server.

Mr. Picklesworth wrote:
Works fantastically, running WinQuake on the PC host (or client). It doesn't like it if I use DarkPlaces (a really nice looking Quake engine), though. Is that avoidable, or DarkPlaces' own fault?

MasterMAn wrote:
YAY! Played DarkPlaces vs QuakeDS.
But i can't host in PC, don't know how to connect QuakeDS.

I believe this is because DarkPlaces is a hybrid NetQuake*/QuakeWorld** client, meaning by default it runs a QuakeWorld server, but can also connect to a NetQuake server if it's asked to. Since the DS port is of NetQuake, it needs to connect to a NetQuake server. If you look up documentation somewhere, or a forum, I'm sure you could find out how to make Darkplaces run a NetQuake server. (I know FTEQW used a separate
command instead of connect for connecting to NetQuake games...)

*NetQuake refers to the multiplayer in the original Quake
**QuakeWorld is a free multiplayer-only version of the Quake client developed by Id after the initial Quake release, it uses advanced (at the time) network code to reduce the noticability of lag.

#129179 - JLsoft - Sun May 20, 2007 2:32 am

Just a quick note...if anyone wants the view to stop centering when you're not touching the touchscreen and you move forward, add the following to your config.cfg, or else enter it in the console:

v_centerspeed 0

(I'm guessing this port is using keyboard-look commands (and not faking a mouse), since this view snap-while-in-motion is how Q1 acts when you use +lookup/+lookdown :))

#129180 - Dood77 - Sun May 20, 2007 2:54 am

Oh nice, yeah me and Simon were stumped over that one I think...
(BTW Simon if what he said is why it doesn't work then you need to make the mouse speed bar change a different variable to get it to work correctly)
_________________
If I use a term wrong or something then feel free to correct, I?m not much of a programmer.

Original DS Phat obtained on day of release + flashme v7
Supercard: miniSD, Kingston 1GB, Kingston 2GB
Ralink chipset PCI NIC

#129191 - Lino - Sun May 20, 2007 8:41 am

I have tested prerelease2 on my emulator, iDeaS, it crashes.
I have read the source code and I have found that you call the function ds_teximage2d with the third parameter = NULL. Is it correct? Why?
It writes in the ITCM where there are routines fo IRQ.

Code:

bool load_texture(int id){
.
.
.
if (into_cache == id)
{
unsigned short vcount = *(volatile unsigned short *)0x4000006;
if ((vcount < HBLANK_START_LOAD) || (vcount >= HBLANK_END_LOAD))
{
//printf("falling out, vcount %d\n", vcount);
return true;
}

ds_bindtexture(t->handle);
unsigned int addr = ds_teximage2d(t->sizeX, t->sizeY, NULL,
      (t->mask_data & TEXTURE_IS_TRANSPARENT)==  TEXTURE_IS_TRANSPARENT,t->transparent_colour);

#129200 - simonjhall - Sun May 20, 2007 5:15 pm

Sorry, I've been away for the weekend, living it up in Wales hence the lack of replies :-D

Anyway, I'm glad there seem to be no killer issues. Although I'm not surprised that the game doesn't work if you're behind a NAT as Quake doesn't play well with them as far as I can see. I'm pretty sure your local IP is embedded within the data packets sent by Quake, and this is the IP used by the remote machine to connect to its peers.

So to answer questions:
Quote:
I have tested prerelease2 on my emulator, iDeaS, it crashes.
It's never been run in an emulator, so I'm not surprised. I did all the development on the actual machine, mainly due to the nature of the stuff I was doing and the lack of DLDI etc.
Quote:
I have read the source code and I have found that you call the function ds_teximage2d with the third parameter = NULL. Is it correct? Why?
That's correct. Just wondering - but why have you picked up on this function? QDS doesn't use the libnds texture system. Or if it does, it only uses a tiny part of it.

Quote:
(I'm guessing this port is using keyboard-look commands (and not faking a mouse), since this view snap-while-in-motion is how Q1 acts when you use +lookup/+lookdown :))
I dunno why there's this 'snapping' behaviour. Althought I'm not surprised that I got it wrong as Quake's mouse and joystick support isn't half as good as its keyboard support.
Anyway, no, the pen code uses pretty similar code to the WinQuake mouse code. The pen doesn't use keyboard commands...

Oh and someone pointed out that the sensitivity doesn't work...I just looked at the code and for some reason it's been commented out - whoops!
_________________
Big thanks to everyone who donated for Quake2

#129202 - Lino - Sun May 20, 2007 5:47 pm

simonjhall wrote:
That's correct. Just wondering - but why have you picked up on this function? QDS doesn't use the libnds texture system. Or if it does, it only uses a tiny part of it.


because in this function ds_teximage2d(int sizeX, int sizeY, unsigned char* texture, bool transparency, int transparent_colour) you write in texture and it is null and goes to write in the ITCM where the functions of the IRQ are found.

Code:

if (transparency)
    for (int count = 0; count < sizeX * sizeY; count++)
        if (texture[count] == transparent_colour)
            texture[count] = 0;

#129203 - simonjhall - Sun May 20, 2007 5:49 pm

Well spotted!
Anyway, I fixed that bug in the wifi build :-)
Although as there are such few changes between pre2 and pre2a I didn't bother upload the new source.
If you're interested, this is the "freeing precaches" problem that a few people have been having...
_________________
Big thanks to everyone who donated for Quake2

#129343 - Tockit - Mon May 21, 2007 11:57 pm

simonjhall wrote:
Oh and someone pointed out that the sensitivity doesn't work...I just looked at the code and for some reason it's been commented out - whoops!


I've been noticing this, actually. the touch screen's sensitivity isn't any different if I raise or lower it all the way.

oh, and I still want to take this opportunity to point out how ever so useful it would be to have a couple buttons on the touch screen...!
also, the HUD would be better looking on the bottom screen, although I'm quite unsure if it's possible or not. but if it is, then it'd be nice to touch which weapon you'd like to switch to + maybe 4 or so buttons, larger ones, probably somewhere near the bottom or in the corners out of the way.

eh'?
anyhow -
you've done amazing work, Mr. simon hall, and I commend you.
I remember the first day I ever got a DS - I thought to myself "wow... quake would be a dream come true on this..!"
_________________
-01011101001010101010 (frank)

#129345 - simonjhall - Tue May 22, 2007 12:12 am

Yeah, I meant to put touch buttons in this build (I was gonna derive it from the keyboard code) but I kinda forgot plus I actually wanted to get the wifi bit out - something I said I would do week ago!

Having the hud on the subscreen was in the original plan but it was easier to put on the main screen. Now it's almost essential as the game is mega-low on VRAM, what with the extra textures and the keyboard and other stuff!
Every time I add something I'm thinking "there's no way I can find the space to add it!" yet always somehow manage to claw back enough memory to add it in. Really goes to show how wasteful the original game must have been if I can cram it all into ~4.6 megs!
_________________
Big thanks to everyone who donated for Quake2

#129457 - MasterMan - Wed May 23, 2007 12:10 am

Hey Simon. You think we could have qdsopts.txt transformed in a quakeds.cfg?
Like have a mod and command line menu thing:
Code:

;QuakeDS configuration file
;
game0=Team Fortress
game0folder=fortress
game0cmd=-nosound -name MasterMan
game1=Aliens Quake
game1folder=aliens
game1cmd=-name MasterMan
game2=Target Quake
game2folder=tq1
game2cmd=-nosound -name MasterMan
gameN=<some foder>
gameNcmd= //starts with default settings
;

(tryed only Target Quake, doesn't works)

So we could have various mods and a mod list and custom settings for each one.

#129486 - Dood77 - Wed May 23, 2007 6:17 am

I haven't dealt to much with mods in Quake... but is there a way to change mods in-game? With a command maybe? Because theres an exec command that lets you execute any external .cfg file. (On PC I type in 'exec mp.cfg' whenever I wanna play multiplayer with my special binds and stuff :) )

So I've tried multiple times to get my PC and DS talking... but no success. It's most definitely my problem, because I'm behind a crazy router and my windows file/printer sharing mysteriously disappeared ages ago. (If anyone is a windows networking genius, please PM me ;) ) Maybe I should try Linux...

And Simon... I know it was ages ago we talked of this, but did you ever look into using Lynx's rebootlib? That could be easily implemented for Quit ;) I'm thinking the only issue is memory... does it require any extra RAM?
_________________
If I use a term wrong or something then feel free to correct, I?m not much of a programmer.

Original DS Phat obtained on day of release + flashme v7
Supercard: miniSD, Kingston 1GB, Kingston 2GB
Ralink chipset PCI NIC

#129502 - simonjhall - Wed May 23, 2007 9:27 am

@MM
Yeah, that's a pretty good idea and wouldn't be too hard to do. However I'm worried that as people are having enough trouble using a command line (with extra \n) are they gonna be able to figure this file out? Maybe I'll need to write a GUI on the PC or something.
However the command line in its current state is a bit un-intuitive, so yeah something needs to be done.

With Target Quake do you get an error about the number of sound precaches exceeded? I had a quick go at increasing this limit (at the expense of a bit of memory) and it runs great! Using the pen it plays a bit like Abuse and looks really cool and old-skool due to the side-scrolling nature. Makes a real change from seeing that Necropolis demo on startup :-D
I'm unsure of how to let people play these games. All I had to do was change one number to get the game to load, so maybe I should expose these key variables to people when they configure their mods...

@D77
Can you get your DS to connect to your AP? And if you can, does your DS have a valid IP address? (have a look in the multiplayer menu)
If so, you ought to be able to ping your DS from your PC, using that IP address.
Are your PC and DS separated by NAT, or are they on the same network?

AFAIK you can't change mod once it's loaded. Obviously you technically can *somehow* but I don't think Quake supports this. You'll have to quit and restart it. Exec (as you say) just allows you to run a config file.

I did look at getting the quit function to work and adding support for that wouldn't take too much memory. However I actually designed the code to be never run again, so if it was to reboot the game wouldn't start! As the game is obviously low on memory I overwrite parts of the program which are never run a second time, just to reclaim a few kb! I could reload those parts from disk on quit, but as there's no argv/argc I don't know which nds needs to be reloaded...
_________________
Big thanks to everyone who donated for Quake2

#129532 - Tommy_T - Wed May 23, 2007 4:09 pm

Hi, I think the work your putting into this is amazing. Cant wait to get it working with my m3 simply alongside the extra RAM of my supercard lite! I managed to get TargetQuake working (kinda) by using this in the command line

-game
"folder name"
+map
Start

"folder name" being whatever the folder name is that contains the TargetQuake files.

Once again amazing work... Keep it up...

#129552 - Dood77 - Wed May 23, 2007 6:32 pm

simonjhall wrote:
@D77
Can you get your DS to connect to your AP? And if you can, does your DS have a valid IP address? (have a look in the multiplayer menu)
If so, you ought to be able to ping your DS from your PC, using that IP address.
Are your PC and DS separated by NAT, or are they on the same network?

AFAIK you can't change mod once it's loaded. Obviously you technically can *somehow* but I don't think Quake supports this. You'll have to quit and restart it. Exec (as you say) just allows you to run a config file.

Yeah it connects, yeah it *used* to give me the correct address I think... But screwed around with a few settings in my router and now I believe it says "inaddr_any" But I could be seeing this somewhere else... like the PC side server's address? Anyhow, I don't know much about NAT, but my cable modem is routed into my wireless router and my vonage router is wired into that, and my PC is wired into the vonage router. I'll do some more fooling with pinging and such later today...
_________________
If I use a term wrong or something then feel free to correct, I?m not much of a programmer.

Original DS Phat obtained on day of release + flashme v7
Supercard: miniSD, Kingston 1GB, Kingston 2GB
Ralink chipset PCI NIC

#129556 - MasterMan - Wed May 23, 2007 7:00 pm

simonjhall wrote:
I'm unsure of how to let people play these games. All I had to do was change one number to get the game to load, so maybe I should expose these key variables to people when they configure their mods...

One more reason to have custom command lines for each game in a cfg file?
Err... it was a CVAR you changed eh? It could be (in my example):
Code:
game0=Target Quake
game0cmd=-game tq1 -<any needed variable here>

There's no need for any GUI to do this :P

BTW, if i start Target Quake with "+map start" i get a nasty black screen with a little square.

PS: could you tell what you changed to make it work?

#129568 - Tommy_T - Wed May 23, 2007 8:36 pm

Thats exactly what I get but if you press start and then start a single player game it runs, I'm pressuming it dosn't work because of the demo it runs in the background. The only reason I found this out is because I accidently left the file the same from another mod, I forget which.

#129588 - simonjhall - Wed May 23, 2007 11:53 pm

Ok, let's try and answer each of these.

@Tommy_T, thanks man :-) The extra memory build is en route, but I'm trying to do it proper-like so that there aren't ten different builds each with different configurations!
Anyway, that +map stuff, I didn't know that actually worked! Haha, shows how well I know the code!
You can circumvent the demo the way you've done, but when you actually go to play that level it'll fail in the same way.

@Dood77: that inaddr_any thing is what you get on the PC. I'll be interested if you can get this on the DS... So what exactly is your network setup? If you can be arsed, dig out a packet sniffer like ethereal and check to see if the DS is actually sending packets to the segment with your PC on. Tbh I was expecting the network build to be the most flakey (I've found yet more bugs in it) due to the whole networking nature of the thing & me changing text rendering at the last minute...

@MasterMan, yeah that structure would be good for putting in extra options etc. However, if people can't figure out how to use a command line which has extra newlines in it, how will they figure this out without a GUI?
I don't think there's a sure-fire fix to make it playable short of me giving you a different build. PM and I'll mail you one which I think should play it.
The reason you're getting the square and the black screens is that the screens are cleared once the whole loading thing is finished (regardless of the success of it). If you need to see the messages, in your config set ds_screen_clears to zero.
_________________
Big thanks to everyone who donated for Quake2

#129655 - Jesster - Thu May 24, 2007 7:41 pm

Just tried out QuakeDS for the first time and its running really nicely, however save games do not seem to be working on my SuperCard Lite (Sandisk 1GB MicroSD).

I tried patching with sclt.dldi and the game appears to save, but when I try to load the saved game it crashes and locks up (usually with an error message of "'xxx' is not a field")

I also tried patching with scsd_moon.dldi and the game locks up while attempting to save.
_________________
-=The Jesster: Gatchaba Goose=-

#129656 - simonjhall - Thu May 24, 2007 7:53 pm

Yeah, that seems to be a common problem. I think it's got something to do with the driver not supporting unaligned writes, but I added some hacks in to make sure that game saving is aligned...but people still get these problems on those cards!
Err...reformat? Change block sizes etc?
_________________
Big thanks to everyone who donated for Quake2

#129694 - Jesster - Fri May 25, 2007 6:21 am

Tried reformatting with 16K, 32K, and 64K blocks. No luck. Tried my other, faster MicroSD card (Sandisk Ultra II 1GB). Still no luck. Tried patching with one other dldi file (scsd.dldi). Worked the same as the sclt.dldi patch for QuakeDS (although it seemed to work slightly better for DScent).
_________________
-=The Jesster: Gatchaba Goose=-

#131463 - wildex999 - Fri Jun 15, 2007 10:57 pm

nice, but I can't test it =/ I have no "filesystem" on my GBA cart, I have a EZFlash 3. Can't you compile a version with the required files, built in? Like ScummVM allows you to do?
_________________
EZ Flash III - Flashme V7 - NDS V1 xD - NDS Tunneling, anyone?

#131480 - tepples - Sat Jun 16, 2007 2:03 am

wildex999 wrote:
nice, but I can't test it =/ I have no "filesystem" on my GBA cart, I have a EZFlash 3. Can't you compile a version with the required files, built in? Like ScummVM allows you to do?

For a traditional NOR cart sold during the GBA era, you would use FCSR.
_________________
-- Where is he?
-- Who?
-- You know, the human.
-- I think he moved to Tilwick.

#131499 - wildex999 - Sat Jun 16, 2007 10:05 am

Bah, I just get gfx.wad not found =(
_________________
EZ Flash III - Flashme V7 - NDS V1 xD - NDS Tunneling, anyone?

#131550 - dantheman - Sun Jun 17, 2007 4:55 am

Which process did you use for the FCSR image creation? Perhaps there's a small error we can spot that would be the issue.

#131559 - wildex999 - Sun Jun 17, 2007 11:55 am

I used the latest Right click DLDI program. I had the folder QuakeDS_wifi and inside that folder named id1 with the files needed "pak0.pak"

Anything I'm missing?
_________________
EZ Flash III - Flashme V7 - NDS V1 xD - NDS Tunneling, anyone?

#131625 - Tockit - Mon Jun 18, 2007 4:20 am

the id1 directory needs to be in the root of your card.
the .nds file can be anywhere, but when you run it, it's going to look for
/id1/pak*.pak
so if you have it in any other folder, it dosn't know to look there.

it'd be nice to have a fully compiled version of the game, but obviously simon wouldn't be able to distribute it past the shareware version. really, to be honest, it leaves more open possibilities for mods conversions, and (hopefully!) music support.
_________________
-01011101001010101010 (frank)

#131640 - bigfoot - Mon Jun 18, 2007 3:44 pm

i've got a problem with your quake ds. When i boot it (containing pak0.pak, pak1.pak and the cfg file from drunkencoders)in id1 directory on root, and try to start a new game it says:

Code:
leaked 0 bytes of VRAM
findfile: can't find progs.dat
pr_loadprogs: couldn't load progs.dat


does anyone know what i am doing wrong, or someone who can help me?

Thnx in advance!

#131648 - simonjhall - Mon Jun 18, 2007 5:46 pm

Jinkies! People talking about Quake? ;-)

Regarding appending the files to the end of the binary, I've never done that before as I don't know how to do it. If someone could show me how to do it (can you use libfat to access those file?) I'll see if I could add support for it. You won't be able to play the full game though, cos I'm sure you can only have a max of 32 megs attached to the end - the Quake data files are ~50 megs in size. The shareware ver would be ok though.

Although,
Quote:
Can't you compile a version with the required files, built in? Like ScummVM allows you to do?
I know the ScummVM DS guy pretty well, so I guess I should ask him how to do it ;-)
But using libfat and filesystems on flash cards etc would be well easier if you can do it.

Bigfoot, what hardware do you have? I'm assuming you've DLDI patched the NDS file, otherwise you wouldn't have made it that far (you did patch it, right?)

Peace.
_________________
Big thanks to everyone who donated for Quake2

#131743 - bigfoot - Tue Jun 19, 2007 5:45 pm

I own an R4 with kernel 1.09. And yes i've patched it :). Tried also without pak1.pak, but it still gives the same error (both QuakeDS and QuakeDS wifi version). Do you know what the problem is?

#131750 - simonjhall - Tue Jun 19, 2007 6:59 pm

I have an M3 Simply which I believe is almost the same card, so no I don't know what the problem is :-)
Does the console font change by that point? Actually, (checks code) progs are only loaded once you start a map. Have the demos played so far? Have you seen the menus?

If you can see the demos play but can't seem to load the progs then it sounds like either a) your pak file is corrupt or b) there's something up with libfat reading your card.
_________________
Big thanks to everyone who donated for Quake2

#131755 - Jesster - Tue Jun 19, 2007 7:50 pm

I may have found a solution to the problem with corrupted save games on Supercard Lite carts.

I was having pretty much the exact same problem with save games in DScent, so after poking around in the DScent source code a bit, I found a solution. Here's the details:

http://forum.gbadev.org/viewtopic.php?t=12866&start=180

I'm guessing the exact same fix will probably work for QuakeDS as well. I'd try fixing it myself, but the source appears to be set up to compile on linux. I'm somewhat new to the whole homebrew thing and I'm not sure how to set up a makefile for Windows DevkitPro.
_________________
-=The Jesster: Gatchaba Goose=-

#131768 - simonjhall - Wed Jun 20, 2007 12:25 am

So...how did you find this solution? Also, how did you decide on the block sizes to write?
Also, I bet fwrite already works a bit like that so it may just be that you're not getting the error that time - what's to stop it happening again?

I don't wanna sound too negative here, but it'd probably be better to find out why it doesn't work, then fix it. This should be fixed in the driver rather than forcing every developer who uses fwrite to do this. Btw, you get the same bugs when you use fprintf :-)

Oh and QDS was developed on Windows, under Cygwin. I just modified/hacked the original Linux makefile :-D
_________________
Big thanks to everyone who donated for Quake2

#131817 - bigfoot - Wed Jun 20, 2007 1:53 pm

simonjhall wrote:
I have an M3 Simply which I believe is almost the same card, so no I don't know what the problem is :-)
Does the console font change by that point? Actually, (checks code) progs are only loaded once you start a map. Have the demos played so far? Have you seen the menus?

If you can see the demos play but can't seem to load the progs then it sounds like either a) your pak file is corrupt or b) there's something up with libfat reading your card.


m3 is same card as excactly the same card, just another name ;). And the error appears as soon as i try to start new game. I'll try to get another pak0.pak, thanks :).

I'll post again if it still doesn't work...

#131858 - Jesster - Wed Jun 20, 2007 7:55 pm

simonjhall wrote:
So...how did you find this solution? Also, how did you decide on the block sizes to write?


Just a guess, really. I figured block sizes in powers of 2 would make the most sense. I had some other ideas on how to break it up, but this was the first thing I tried and it worked.

Quote:
Also, I bet fwrite already works a bit like that so it may just be that you're not getting the error that time - what's to stop it happening again?


A "bit" like that maybe, but obviously not exactly like that. All I know is that saveing never worked for me before in DScent and after I added the fix, it has yet to fail me once.

Quote:
I don't wanna sound too negative here, but it'd probably be better to find out why it doesn't work, then fix it. This should be fixed in the driver rather than forcing every developer who uses fwrite to do this.


I agree, however I don't know the first thing about how the Supercard accesses the file system of the SD card, or what goes into making a dldi patch. I don't even know if this is a bug with the driver or the actual firmware of the card. I just tackled the problem from the only end I was at least somewhat familiar with. Hopefully what I found will help lead others to a better solution. However, in the mean time, I figured my stopgap solution might allow people to enjoy the homebrew on their Supercard hardware until a better solution is found.

Incidentally, I did experiment with writing various sized blocks of data in a separate application to see if I could find where the corruption was occurring, however I didn't have much luck. I actually seemed to have found a bug in the strcat function that was corrupting my data before I even wrote it to the SD card, but once I fixed that, I couldn't reproduce the problem. I suppose I could work on it some more if I get the time, as I'm sure having more detailed information would lead to a better solution being developed.

Quote:
Btw, you get the same bugs when you use fprintf :-)


Doesn't surprise me. Although any fprintf statement could also be implemented as an sprintf followed by an fwrite, so my stopgap fix could be applied in that way.

Quote:
Oh and QDS was developed on Windows, under Cygwin. I just modified/hacked the original Linux makefile :-D


Well whatever it is, it doesn't appear to work the same as a DevkitPro makefile. I could probably figure out how to adapt it, but it would take me a while.
_________________
-=The Jesster: Gatchaba Goose=-

#131860 - simonjhall - Wed Jun 20, 2007 8:13 pm

Jesster wrote:
Well whatever it is, it doesn't appear to work the same as a DevkitPro makefile. I could probably figure out how to adapt it, but it would take me a while.
If you use cygwin type 'make build_debug' at the prompt. You'll probably have to adjust your paths etc as they're hard-coded to point where my files are. Tbh I only released the code because I had to, not because I wanted people building it!

I don't really understand the supercard problem - it seems repeatable when people get the problem, but other people with the same hardware can never get the bug! So short of popping their kit in the post it's a bit of a pain to fix the bug!
Also I have gone out of my way not to fix the problem - yeah this may sound a bit <adjective I can't think of> but I'd rather draw attention to the person who wrote the code below fwrite, rather than my code! By doing this hopefully that person can fix the (probably trivial) problem so that everybody can benefit from it...
_________________
Big thanks to everyone who donated for Quake2

#131866 - Jesster - Wed Jun 20, 2007 8:54 pm

simonjhall wrote:
I don't really understand the supercard problem - it seems repeatable when people get the problem, but other people with the same hardware can never get the bug! So short of popping their kit in the post it's a bit of a pain to fix the bug!


I think the problem is that there are actually a couple different versions of the Supercard Lite hardware, however to the best of my knowlege the Supercard guys have never actually acknowleged this. Also, there doesn't seem to be any easy way of telling which version you have until you run into problems. In the pre-dldi days, there were several homebrew apps that I could run on my Supercard Lite (after applying the old Moonshell patch) that other SCL owners could not run at all. Now we seem to be seeing the opposite where people with the same hardware version I have are running into problems with certain homebrew apps that work perfectly fine on other SCL cards.

Quote:
Also I have gone out of my way not to fix the problem - yeah this may sound a bit <adjective I can't think of> but I'd rather draw attention to the person who wrote the code below fwrite, rather than my code! By doing this hopefully that person can fix the (probably trivial) problem so that everybody can benefit from it...


It would certainly be nice if someone would get to the bottom of the problem and fix it at the source, but from what I've seen on this and other boards it just doesn't seem to be getting much attention, which is why I took it on myself to try and do something about it, even if it doesn't address the real root of the problem.
_________________
-=The Jesster: Gatchaba Goose=-

#131890 - Dood77 - Thu Jun 21, 2007 1:38 am

This save corruption problem seems like it's gotta be DLDI, maybe with the root at the SD card itself. I know that I recently bought a 2GB card of the same brand as my previous, except nothing would work with scsd.dldi that I was using before, it only worked with scsd_moon.dldi. Also that I've done tons of testing QuakeDS on my Supercard: MiniSD and never had any corruption problems. (I can't test on my 2GB card because it went missing :S)
_________________
If I use a term wrong or something then feel free to correct, I?m not much of a programmer.

Original DS Phat obtained on day of release + flashme v7
Supercard: miniSD, Kingston 1GB, Kingston 2GB
Ralink chipset PCI NIC

#131964 - Jesster - Thu Jun 21, 2007 7:23 pm

Dood77 wrote:
This save corruption problem seems like it's gotta be DLDI, maybe with the root at the SD card itself. I know that I recently bought a 2GB card of the same brand as my previous, except nothing would work with scsd.dldi that I was using before, it only worked with scsd_moon.dldi. Also that I've done tons of testing QuakeDS on my Supercard: MiniSD and never had any corruption problems. (I can't test on my 2GB card because it went missing :S)


I believe what you saw is a different issue. I've heard that there may be some issues getting different SD cards to work and that scsd_moon.dldi may be able to fix those issues. However, I'm fairly certain that there ARE differnt versions of the SC Lite hardware, and on certain versions, none of the current dldi patches work 100% (scsd_moon.dldi doesn't work at all for me. Locks up whenever I try to write to the MicroSD card).
_________________
-=The Jesster: Gatchaba Goose=-

#132912 - x999x - Sun Jul 01, 2007 4:45 pm

Quake loads and plays great, but for some reason I can't find this Onscreen Keyboard you refer to. I"m using an R4, and all I get on the bottom screen is the console text, weapon text and some strange flickering Xs and +s in the corners.

I've dldi patched with the latest patch and still no dice.

I've got some custom maps I've made specifically with low poly counts (for PocketQuake) and paired them with some Obots for Rocket/Rail Arena fun. Im very certain that Quake DS would run at an impressive full-speed. As-is, Quake DS already runs faster than PocketQuake for the much more powerful PocketPC devices.

Once I can get into the console and start typing I can get my custom paks to start workin. So close, yet so far away :P

#132917 - simonjhall - Sun Jul 01, 2007 6:21 pm

Which build are you using? The keyboard is only enabled in the wifi build, so first make sure you're using that...
_________________
Big thanks to everyone who donated for Quake2

#132920 - x999x - Sun Jul 01, 2007 6:46 pm

You bet I'm usin the wifi build.

To quote Will Smith: "My green light gets all actorly and blinks"

#132925 - simonjhall - Sun Jul 01, 2007 8:18 pm

x999x wrote:
To quote Will Smith: "My green light gets all actorly and blinks"
Heh, deep ;-)

Ok then, open the menu (press start) then go down to options, then into 'customise controls'. Four entries from the bottom there's one named 'on-screen keyb'. Select it and bind it to something (I use 'A').

Once you've bound the button return to the game (or demo, or whatever) and press that key. If you're not in the console when you do that, whatever key that you touch on the screen will go through (unbuffered) directly to the game. If you are in the console at the time you'll be able to see the text you're typing on the very top line of text.
_________________
Big thanks to everyone who donated for Quake2

#132954 - x999x - Mon Jul 02, 2007 1:21 am

Thanks Simon!

Great Success! ! !

Well, I've put about 2 hours into this and I've finally got my old custom maps working with omicron bots under QuakeDS.

It was a real hair pulling process, the keyboard bit was just the start. After that I had to figure out that the PAK0.PAK file is limited to 350 files, anything above that and the game halts.

This made things difficult, because I have to launch omicron from a commandline at launch, and since I can't do that on the DS I had to merge my bots/maps/progs/sounds/dat with the existing PAK0.PAK. No fun figuring that file limitation out. Long story short, ya just gotta dump the resource files that aren't needed, i.e. dog models and other single player files.

Oh yeah, did I mention that everything needs to be named with lowercase letters? >.< yeah, this was another fun moment in time.

I've now gotten things streamlined to run without requiring a keyboard, so this actually works in normal Quake DS. My battery started to go red with the Wifi always on, so I gave it a spin in the non wifi version and my light went back to green :)

I'm going to get my config files sorted out now so that it's possible to select a traditional Deathmatch 1v1 or a RocketArena matchup. Right now it's not as straight forward although it's currently possible.

Thanks again Simon, I fragged for about 30 minutes before posting this. Not too shabby, a pretty smooth framerate, I'd say in the high teens to mid 20's. Definitely faster than what you get from the single player maps, and a lot more fun.

I've got a Rail Arena mod also, but it's not as forgiving with not being executed from a command line, but I'll try to get it going on the DS also. For now, I'm trying to get this RocketArena done so I can share my maps and config files.

edit- Added video

http://www.youtube.com/watch?v=jB2j4g1zduY

#132971 - simonjhall - Mon Jul 02, 2007 9:12 am

Great, I'm glad someone's doing something with the game :-)
I've not checked out your files yet (as I just got into work) but I'll have a quick test when I get home later...

Sorry about the pak file limit - that's one of the ways that I've kept the memory usage down! Every byte helps...
Also, lower case? For the pak files, or for the files inside the paks?

Ok, some dumb questions:
- why didn't you just launch Omicrom from the QDS command line? It works for me! (and it's really really good at beating me, every time)
- why didn't you just put your files in a brand new pak file, rather than sticking them into an existing one? That way you could have put it in its own directory and started it with the -game command line argument
- if these are custom maps, how well have they been drawn by the DS? Any corruption, checkerboarding, etc?

Well done on getting stuff going though - you're the first person who's told me they've made maps for it!
_________________
Big thanks to everyone who donated for Quake2

#132984 - Doom5 - Mon Jul 02, 2007 11:47 am

Simon: Do you still have plans to release the RAM build, or has interest in this project tapered off? Also, just out of curiosity, any news on your internal Quake 2 port? I don't expect it to ever be released, but I like reading about the work you do on it.

Thanks for everything.

#132988 - simonjhall - Mon Jul 02, 2007 1:29 pm

Yeah I got bored of the RAM build as there wasn't too much demand for it - many people don't like the idea of it as it's not homebrew if it requires extra memory... (etc)

Quake2...I don't want to get your hopes up, but I picked it up again quite recently and it's coming along well! I still haven't decided whether I'm gonna completely go for it or not, hence me not posting anything about it :-)
I've been trying to improve the load times, as Q2 used to take 3-4 minutes to load. This isn't very interactive when you have to reset your DS dozens of times in an hour! I've got it down to ~60 seconds, and I reckon I can shave off another 10-20...
I've also figure out how to hook in much the 3D code I wrote for Quake 1, so hopefully it won't be so painful this time reverse-engineering the software renderer.
_________________
Big thanks to everyone who donated for Quake2

#132999 - mortys - Mon Jul 02, 2007 2:45 pm

Hi Simon
I understand that the Extra-work for the ram pack should be a real pain, but won't you gain some FPS with the extra memory and a great help if you want to convert Q2 ? For my part, I hope you'll do it (after finishing the "classic" version). And a lamer question : When can we expect a new release of the single player build ?

#133000 - x999x - Mon Jul 02, 2007 3:12 pm

simonjhall wrote:
?
- why didn't you just launch Omicrom from the QDS command line? It works for me! (and it's really really good at beating me, every time)
- why didn't you just put your files in a brand new pak file, rather than sticking them into an existing one? That way you could have put it in its own directory and started it with the -game command line argument
- if these are custom maps, how well have they been drawn by the DS? Any corruption, checkerboarding, etc?

Well done on getting stuff going though - you're the first person who's told me they've made maps for it!


Hey Simon,

I don't know where to start, let me see.

1- Because then I have to use the Wifi Build for the keyboard, and lose all that extra memory to net-code that I won't be using.

2- You got the internal "holy-crap-i-just-got-this-working" build. Since then, I've gotten my id1 folder to just one PAK0.PAK file that clocks in at 8 megs. Now, why not include a separate PAK? I need to overwrite quake.rc and progs.dat to evoke the Omicron bots without a command line at launch.

3- The maps are very simplistic, and could be whiddled down even more now that I look at it. I made these maps for the pocketPC back in 2002, for PocketQuake. It was only natural I gave it a go on the DS. No, there is no checkerboarding, however I did have that problem before I made the files local to the PAK0.PAK. That is to say, when the maps reside outside PAK0.PAK, they appear checkerboarded for some strange reason.

------

Capital letters:

I had to rename all of the resource files for this mod to lowercase, as they are reported missing if they are not. I noticed you can place two files named exactly the same inside of a PAK file if one is uppercase and one is lowercase, so I guess that's just how Id likes it. This applies to files both inside and outside the PAK.

I'm going to be giving a Rail Arena a go now and see how that turns out.

Oh yeah, myself and Mortys have been waiting for the EX RAM build, is that enough "demand" for it? heh

#133002 - simonjhall - Mon Jul 02, 2007 3:34 pm

Y'know there's been a command line available since pre2? Have a butchers at the web page and it tells you how to set up 'qdsopts.txt', the place where the Quake command line is read from. Have a play!

I'm looking forward to having a go with this later :-)

I'm glad it renders correctly. Yeah the game will refuse to load texture maps, menu items or GUI items if they don't live in pak files - this is by design. If this happens you'll get a checkerboard texture.

@mortys, sorry extra RAM will make it go slower. The game is CPU-bound and adding more memory which is even slower than the DS' normal RAM will make the game run slower! However, dropping in a FPU costing 1p would probably make the game run a whole lot faster!
The reason I didn't complete it was because it's not an easy bit of code to write. At first I assumed I'd just be able to relocate models to slot-2 RAM (this is how I made the Malice video). But then I found that many TCs have maps which are far larger than the available internal RAM - I could move the world map to slot-2 memory, but this would definately hurt performance. I don't want to have to make two EXRAM builds, one with models in S2 RAM and the other with the map in S2 RAM! I want ONE EXRAM build! That was the point of having extra memory! Ah...
_________________
Big thanks to everyone who donated for Quake2

#133004 - x999x - Mon Jul 02, 2007 3:48 pm

simonjhall wrote:
Y'know there's been a command line available since pre2? Have a butchers at the web page and it tells you how to set up 'qdsopts.txt', the place where the Quake command line is read from. Have a play!


Interesting...

This is only my 3rd day with Quake DS, I'm still a little green if you can tell ;) I went about as far as the Readme file in the Wifi build, oh wait there isn't one lol. Stumbled into this thread this after being lead here by the Colors! thread (the paint program). I saw the link for a wifi build with a keyboard and thought PocketQuake ---> Quake DS.

Ultimately, I'd like to use the non-wifi build of Quake DS to run these mods, so I'll have a go with that txt file command line option to hopefully remove those 3 clicks before gameplay.

#133010 - simonjhall - Mon Jul 02, 2007 4:25 pm

Haha, no problem :-)
Yeah I remember being in a real hurry when putting out the wifi build (as I was going away for the weekend) and couldn't be arsed to make a readme! There's plenty of instructions on the web page, I figured! It does look a bit unprofessional though ;-)
_________________
Big thanks to everyone who donated for Quake2

#133020 - x999x - Mon Jul 02, 2007 7:29 pm

I will send you an updated PAK tonight and see if this one meets your approval before I distribute it.

One thing that has got me wondering however, is that the mod seems to be issuing commands not found in Quake DS, i.e. "Play". As the game mode entails, there's a countdown before the fight, and it's cued with audibles at 3, 2, 1, FIGHT a la Mortal Kombat announcer.

This works everywhere else, but it's not working under Quake DS. It's not a problem, the game works and all, but it's just a little odd to have to look down at the bottom screen for the prompt to start fighting. I'll see if using the commandline txt file option resolves this. I'm hoping it's due to overwriting the progs.dat file, but I can't be certain until I can start dissecting my PAK file.

Argh, I thought I was done with doing all that yesterday >.<

edit- and by distribution I mean make my files available for others to add to their own pak file to enable this mod.

#133021 - simonjhall - Mon Jul 02, 2007 7:37 pm

Do you know exactly what command it is that doesn't work? I've not taken out any commands, as far as I know!
There are some minor restrictons with sounds
- ambient sounds are no longer played (they did play in pre1)
- an individual wav file cannot be over ~105k (I'm sure it has to be mono too, like original Quake)

I'd imagine sounds like that would be queued using the 'local sound' system though, like what the menus use...

If you can figure out what's broken I'll see if I can fix it...

And if you make your own pak file and put progs in it, then start the game with the -game <your directory here> (making sure your pak is in this directory), it'll override the default id1 progs.
_________________
Big thanks to everyone who donated for Quake2

#133027 - Devil_Spawn - Mon Jul 02, 2007 7:53 pm

do you have any news on when we might see the Exram build?

also, i seen ur malice vid, looks great!

#133028 - x999x - Mon Jul 02, 2007 7:58 pm

simonjhall wrote:
Do you know exactly what command it is that doesn't work? I've not taken out any commands, as far as I know!
There are some minor restrictons with sounds
- ambient sounds are no longer played (they did play in pre1)
- an individual wav file cannot be over ~105k (I'm sure it has to be mono too, like original Quake)

I'd imagine sounds like that would be queued using the 'local sound' system though, like what the menus use...

If you can figure out what's broken I'll see if I can fix it...

And if you make your own pak file and put progs in it, then start the game with the -game <your directory here> (making sure your pak is in this directory), it'll override the default id1 progs.


Thank you Simon.

I'll have a go at reformatting the wav files if by chance they fall outside of the restrictions, however I can say positively that the error has to do with the command "Play". I just gave the mod a quick go and starting at the countdown of 3 -> Play, you'll see text flicker in and out: "Unknown command "Play""

#133030 - simonjhall - Mon Jul 02, 2007 8:12 pm

Right, I've found the play command - it's an alias I never set up in my rewritten sound system. If you care about it, I can make you a build with the (one line) fix?

@devil spawn, I'm not currently working on it (due to lack of demand), so...yeah... :-)
_________________
Big thanks to everyone who donated for Quake2

#133045 - Dood77 - Mon Jul 02, 2007 10:11 pm

Lack of demand? Sure I've been busy recently, but I figured you were just taking a break...
Well I dunno, I'm certainly looking forward to it.
Actually now that you mention it, I would like to see ad-hoc more than exram... maybe if I can find a job I'll donate some $$ :P
_________________
If I use a term wrong or something then feel free to correct, I?m not much of a programmer.

Original DS Phat obtained on day of release + flashme v7
Supercard: miniSD, Kingston 1GB, Kingston 2GB
Ralink chipset PCI NIC

#133046 - x999x - Mon Jul 02, 2007 10:16 pm

simonjhall wrote:
Right, I've found the play command - it's an alias I never set up in my rewritten sound system. If you care about it, I can make you a build with the (one line) fix?

@devil spawn, I'm not currently working on it (due to lack of demand), so...yeah... :-)


Awesome! If it's not too much trouble, I'd love to have a build with this line enabled. The whole countdown voice really lends itself well to the game, and puts you in a deathmatch sort of mood.

Also, that's 3 more requests for the ex-ram version! How many more licks until you reach the center? In all honesty, would there even be a performance increase with extra Ram on the DS? I've tried giving Quake more ram before, I can allot how much ram I want to devote to PocketQuake on PocketPC, and it does nothing for performance other than caching. If this is the case, I can see why you've been put off on delving any deeper with ex-ram on the DS.

#133056 - simonjhall - Mon Jul 02, 2007 11:17 pm

@dood77, don't tell me that! I think between you and Epicenter you pretty much shaped the game by telling me what features you wanted coded and when! Don't tell me you want extra RAM too? ;-)
Come to think of it, I never got round to fixing the particles or adding the touch buttons... (no!)

@x999x, do you know what other sound functions or variables are missing which it's trying to call?
Here's a list of the things the stock Quake program binds:
Code:
Cmd_AddCommand("play", S_Play);
   Cmd_AddCommand("playvol", S_PlayVol);
   Cmd_AddCommand("stopsound", S_StopAllSoundsC);
   Cmd_AddCommand("soundlist", S_SoundList);
   Cmd_AddCommand("soundinfo", S_SoundInfo_f);

   Cvar_RegisterVariable(&nosound);
   Cvar_RegisterVariable(&volume);
   Cvar_RegisterVariable(&precache);
   Cvar_RegisterVariable(&loadas8bit);
   Cvar_RegisterVariable(&bgmvolume);
   Cvar_RegisterVariable(&bgmbuffer);
   Cvar_RegisterVariable(&ambient_level);
   Cvar_RegisterVariable(&ambient_fade);
   Cvar_RegisterVariable(&snd_noextraupdate);
   Cvar_RegisterVariable(&snd_show);
   Cvar_RegisterVariable(&_snd_mixahead);
Tell me which ones you need and I'll add them. Most of them make no sense in the context of the DS driver, but I could at least add in stubs to silence warnings!

And I just saw your posting on another site - yeah I'll help you make it so people don't have to faff around with pak programs. I don't wanna sound lazy here or anything, but I don't want people having problems making pak files for your game them emailing me for support!

And I'm still in doubt about finishing the extra memory build - I'm kinda looking forward to Q2 at the moment, and I don't wanna kill that enthusiasm off! Wanna make a poll to see how many people care about big mods? ;-)
EDIT: get enough people and I will code it for you.
_________________
Big thanks to everyone who donated for Quake2

#133062 - Spike - Tue Jul 03, 2007 12:23 am

The one thing I'm interested if a extra ram version was created would be the ability to play the two official expansion packs. Playing through the single player campaign on the DS really wetted my appetite for some more of the same. I like Dood77 thought you were on holiday or just taking a welcome break from coding. I'm always up for some more Quake DS goodness. So if you ever need any more testing just fire us a build. :)

Even if you don't I think your achievement of bringing Quake to the DS is still the best homebrew on the system by a country mile.

#133065 - x999x - Tue Jul 03, 2007 1:25 am

Howdy SimonJHall, I just replied to ya on anothe forum, lol. I'll keep this one short ;)

1- I haven't noticed any other errors in the console yet, and if there are any that I'm unaware of, it's because the current "unknown command 'play'" is garbling any other messages that might follow.

2- One thing I did notice is that cloud.mdl or something related to that file or it's parent that is calling it is halting arm7 and freezing. This only happened when I tried to use omicron bots on a normal e1m1 type of map, which aren't optimized for DM. My guess is the model or sound for Cloud is just too demanding and forcing the game to crash. I think the safe thing to do here is just rename id's files and use them as substitutes, or limit the mod to maps that don't have a sky. Personally I don't care about this "issue" because I only intend on playing these little DM maps without skies. It had been my intention to point out this error in the ReadMe file, and is a BIG reason why I wanted to use your non-keyboard version of QDS, so people wouldn't figure out how to break this, LoL

#133066 - sonny_jim - Tue Jul 03, 2007 1:29 am

My two cents:

exram would be nice and would probably allow you to fit more in
Ad-Hoc would be brilliant but it looks like an uphill struggle as noone has got it licked yet.

I'd like to see touchscreen buttons to switch weapons/jump, as it's probably a lot easier to implement than the first two and would add a lot to the overall 'polish' of the game

I also had this crazy idea of porting the quake server to dslinux, along with putting in some clients for various platforms (PC, DS) via ftpd (this bit is working already) so you could connect to a network, download the clients to anyone who wants to play via ftp and get a quake game going!

#133069 - x999x - Tue Jul 03, 2007 2:24 am

Argh, I can't figure out this command line sytax for the life of me.

edit-

Okay, this is strange.

I got it working, but how it's setup in teh folder is odd. The PAK is named PAK2.PAK and it's in id1 not /id1/omicron

Wait, actually it just needs to be named pak2.pak and there's no need for an omicron folder actually, lol.

edit 2-

Bleh, long day but it's sorted out and done :) It's now just a simple 2 file drag and drop install, no special programs required, just a full version of quake (pak1.pak).

#133101 - simonjhall - Tue Jul 03, 2007 7:50 am

If it's in pak2.pak, how do you select whether to play you game or the original Quake? Again, this is what the -game command line option's for!

re: adhoc, I did spend some time reverse engineering mario kart..but then I went on a break from DS, and never picked it up again. I'd like to continue, but I do think it would be a pretty hard project.
_________________
Big thanks to everyone who donated for Quake2

#133109 - bear - Tue Jul 03, 2007 1:01 pm

Quote:
I got it working, but how it's setup in teh folder is odd. The PAK is named PAK2.PAK and it's in id1 not /id1/omicron


Alternate game folders should be at the same level as id1 not inside it. So normally on the pc it should be quake/omicron and I guess if you have quake ds in the root of your card that's where you should put any mod dir.

#133115 - x999x - Tue Jul 03, 2007 3:39 pm

simonjhall wrote:
If it's in pak2.pak, how do you select whether to play you game or the original Quake? Again, this is what the -game command line option's for!


So you're telling me my command line isn't working, and I'm just forcing Arena to start by using a pak2.pak?

I'll have you know I spent 3 hours trying to understand your instructions for the command line. I have your post telling me -game <mod name here>, then your website says to use <newline> and break -game <mod name> into two lines, not 1 line like your post mentions. I tried google searching exactly what an ms-dos new line is, which says it's /r, but then I don't see a /r in any of your examples.

In short, your command line instructions thus far have not been very straightforward, so much so that I THOUGHT it was working.

#133116 - simonjhall - Tue Jul 03, 2007 4:16 pm

x999x wrote:
So you're telling me my command line isn't working, and I'm just forcing Arena to start by using a pak2.pak?
No, the version I've tried didn't use a command line. I was just interested in how it chooses which progs.dat to use when you put pak2 in the same directory as pak0 and pak1!

And yeah, the whole newline thing is a bit vague. What I mean is that you need to physically press the enter or return key on your keyboard wherever you see <newline> - that's it! Sorry about that ;-)
I'm sure I've got an example of what the file should look like...
(For the interested, it supports both UNIX and MS-DOS style newlines)

So what I'd do (again, I'm not at home so I can't check) is
- in the root of the card make a directory named rocketquake
- put your pak file in that directory, and call it pak0.pak
- in the root of the card make the file named qdsopts.txt
- in that file put this
Code:
-game <press enter here>
rocketquake <press enter here>

- save and turn on DS.

That's the way the system was designed... I originally was gonna have some kind of launcher but whenever I spoke to people they told me they'd prefer a command line rather than some shit GUI.
_________________
Big thanks to everyone who donated for Quake2

#133120 - x999x - Tue Jul 03, 2007 4:47 pm

LoL!

I work with CSS and PHP, so when I see tags and tokens with "< >'s" I interpret that as something which opens or closes a statement, and not the literal translation as you were trying to convey.

So I think I've got this licked now, but I cant touch it until I get home :T

Interestingly, if you want to play this mod, and only this mod, it's a very easy install, just 1 file, heh.

As for a launcher, I was going to ask you about this, because I think it's a great idea. We had one developed for the PocketQuake community soon after we got bots working and started creating our own maps. With Malice, Rocket Arena, and soon Rail Arena working, I think it would be very cool to have a "Quake Battle Chest" sort of launcher where you can select which to play without having to physically unload files each time.

If you consider making a launcher and would like some graphics, I can try and dig up my old PocketQuake skins. I put together a launch screen and an interface for the touchscreen. We had put boxes on the edges of our touchscreen which could be bound to specific functions like jump, as well as having standard buttons for each weapon.

You can see what my interface skins look like here at the distro site:

http://quake.pocketmatrix.com/

Thanks again Simon, and sorry for sounding disgruntled there, I hope my explanation sheds some light on things. I'm not a programmer, I'm an art dude, so i get easily discouraged when it comes to scripting errors.

#133127 - JLsoft - Tue Jul 03, 2007 6:35 pm

I was glad when I tested QuakeDS' PAK loading and saw it worked just like the PC version...resources in later PAK#'s properly take priority over 'earlier' resources with the same name, so custom menu, font, hud, etc graphics are easily changed without having to actually edit the original PAKs. :)

Seeing that custom palettes worked in this port was also awesome to see, and convinced me I really really needed to get around to making a QuakeDS-targeted TC :)

#133146 - Devil_Spawn - Tue Jul 03, 2007 8:16 pm

simonjhall wrote:

@devil spawn, I'm not currently working on it (due to lack of demand), so...yeah... :-)

.....!!!!!

#133184 - Dood77 - Tue Jul 03, 2007 11:39 pm

Devil_Spawn wrote:
simonjhall wrote:

@devil spawn, I'm not currently working on it (due to lack of demand), so...yeah... :-)

.....!!!!!

(thats what I said!)
x999x wrote:
I think it would be very cool to have a "Quake Battle Chest" sort of launcher where you can select which to play without having to physically unload files each time.

This could easily be done with a simple quake mod; by altering the main menu for each specific mod, and having them execute user-defined aliases. Heck, you can make the menu items user configurable too! (AND it would be fully PC compatible)
_________________
If I use a term wrong or something then feel free to correct, I?m not much of a programmer.

Original DS Phat obtained on day of release + flashme v7
Supercard: miniSD, Kingston 1GB, Kingston 2GB
Ralink chipset PCI NIC

#133206 - x999x - Wed Jul 04, 2007 12:46 am

WoW, okay... I added a return carriage after "omicron" in the qdsopts.txt file and low and behold, it's looking for /omicron/pak0.pak ...

I'm not sure how else you can convey what you did to noobs like myself any better, because I understand your example now with the <new line>. I guess you can say that you need to have your cursor blinking on a blank line under your text for the file to load correctly?

Oy!

Here's the download link:

http://rapidshare.com/files/40881025/QDSA999.zip.html

Now, is there a way to play QDS without evoking the command line if I want to just play solo missions?

#133227 - x999x - Wed Jul 04, 2007 8:49 am

Dood77 wrote:

This could easily be done with a simple quake mod; by altering the main menu for each specific mod, and having them execute user-defined aliases. Heck, you can make the menu items user configurable too! (AND it would be fully PC compatible)


Yeah, I'm not sure how to do that. I tried and I'm basically stuck in one game mode. I don't think theres a way to change the game mode once you're already in.

I got Rail Arena working perfectly now, but I can only play one mod at a time without changing the qdsopts.txt

#133230 - simonjhall - Wed Jul 04, 2007 10:10 am

Cool man, well done. I was busy last night, so didn't get to try this. And I keep meaning to send you a build which does the speech...
Talking of which, do you know exactly where the talking comes from? Is it inside a script or something? Because I doubt it comes from the progs/QuakeC...

And I'm not too sure how to allow you to turn on and off mods without connecting it to your PC to adjust the qdsopts. Yeah, a gui or something, or I could just have it so the command line gets ignored if you hold down some key combo...

Also, don't worry too much about making the graphics DS friendly. The world (and brush models, eg ammo) renders very fast, so you could make quite graphically-complex levels. Also model rendering is definately slower, but it still way faster than it used to be. The slowest thing by far in a single-player Quake game is the AI and the excessive amount of collision detection it does...
_________________
Big thanks to everyone who donated for Quake2

#133233 - theli - Wed Jul 04, 2007 2:00 pm

is there any possibility to skip connection to AP in this build?
also.. does anyone still have "freeing precache" bug with this build?

#133238 - simonjhall - Wed Jul 04, 2007 3:24 pm

The wifi build will insist on connecting to the AP...as it's the wifi build! Don't use that build unless you want to do co-op multiplayer.

And (re: your PM) I'll get back to you later about the precaches thing, when I'm not at work!
_________________
Big thanks to everyone who donated for Quake2

#133240 - theli - Wed Jul 04, 2007 3:33 pm

simonjhall wrote:
The wifi build will insist on connecting to the AP...as it's the wifi build! Don't use that build unless you want to do co-op multiplayer.

And (re: your PM) I'll get back to you later about the precaches thing, when I'm not at work!

yeah.. but i just wanted to recheck that precaches thing with this build and i have no AP near me :D

#133252 - x999x - Wed Jul 04, 2007 7:06 pm

simonjhall wrote:
Cool man, well done. I was busy last night, so didn't get to try this. And I keep meaning to send you a build which does the speech...
Talking of which, do you know exactly where the talking comes from? Is it inside a script or something? Because I doubt it comes from the progs/QuakeC...

And I'm not too sure how to allow you to turn on and off mods without connecting it to your PC to adjust the qdsopts. Yeah, a gui or something, or I could just have it so the command line gets ignored if you hold down some key combo...

Also, don't worry too much about making the graphics DS friendly. The world (and brush models, eg ammo) renders very fast, so you could make quite graphically-complex levels. Also model rendering is definately slower, but it still way faster than it used to be. The slowest thing by far in a single-player Quake game is the AI and the excessive amount of collision detection it does...


You missed some drama yesterday!

I was making no progress because of the command-line debacle. So I decided to just rip my flashcard out at boot to lock the screen so I could read what was going on. As I typed the text into a post for you, I realized what was happening. Without a return carriage after the last argument, QDS will ignore it, and that's what kept happening to me, OVER AND OVER!

My post was edited about 10 times with gut wrenching trials and tribulations... Yeah, I edited all that out once she started firing up :)

SO, I will be sending you my "Final" QDS.A PAk, which features two very distinct modes of play, Rocket Arena and Death Match. Both modes are like night and day in their differences, so this should provide a much more solid gameplay experience.

Lastly, I checked around on the "Play" command, and by default it's a standard Quake console command, but is that what you're even referring to? Or are you actually referring to Bot-Talk? If that's the case, yes it's in the progs.dat file, and I'd assume the script to count down is as well. It's only enabled for RocketArena however, so it might help to look for that tag if you're interested in finding it.

Any chance I can score this new build with speech for my gameplay video? Some very smal requests:

1- use the wifi-build's hud
2- Require a button held down during QDS boot to enable reading qdsopts.txt

3- Allow each button A,B,X,Y to load qdsopts 1-4 .txt at boot

Just a wishlist, and if you haven't already noticed, I'm gonna make do with whatever I can get my hands on, I'm not picky :P

#133270 - x999x - Wed Jul 04, 2007 9:38 pm

Simon, your code is amazing... I've been playing a DM match with bots for the last hour PERFECTLY...

Now as I'm getting my final distribution package ready, I noticed this from the readme of the DM map I'm using:

Quote:
Make sure you have LOTS of free RAM in order to run the map at a decent framrate. It runs noticeably faster with 14 megs of RAM than 11 megs.


It's running awesome at < 3 megs!!!

/salute

#133279 - simonjhall - Wed Jul 04, 2007 10:35 pm

Why thank you. It really does mean a lot :-D
Please don't assume you can get any thing which takes 11-14 megs to run on the DS though! I've done lots of crafty things to hide data in the system, however only so much can be hidden. You will eventually run out of memory!

As a rough guide to DS level designing:
- texture maps take no memory on the DS, however the more you use the more disk thrashing you'll get
- sounds take no memory, however the more you use the more thrashing you'll get (max wav size is 105k)
- lighting takes no memory
- there is no framebuffer, nor surface cache
- memory usage during loading during level and model loading has been heavily optimised...as the original was a *huge* memory hog!

So this (very very roughly) allows you to load levels and models 2-3 larger than you can on the PC. Do remember that there's a polygon limit, so if you have lots of on-screen bad guys (eg when you play nightmare) stuff's gonna be popping in and out!

Could you PM me your email address (if you haven't already) and I'll give you a build which will have the correct GUI layout and play sounds. I've STILL not tested your new rocket quake build, so I haven't yet had the chance to check where that 'play' command comes from...

Oh and someone somewhere mentioned the official Quake expansion packs - they should play ok but there were lots of custom changes made to the engine...all of which I ripped out! If people would like them back in, then if someone could get me copies of these packs I'll be happy to make them work...
_________________
Big thanks to everyone who donated for Quake2

#133281 - Dood77 - Wed Jul 04, 2007 10:45 pm

x999x wrote:
Yeah, I'm not sure how to do that. I tried and I'm basically stuck in one game mode. I don't think theres a way to change the game mode once you're already in.

Whoops! Here I was thinking you could change the mod directory with a simple console command...

I've never dealt much in mods with Quake, would you care to provide the necessary steps in copying files etc? As well as the specific bot mod you're using? (are you running the bots on your computer running a server?
_________________
If I use a term wrong or something then feel free to correct, I?m not much of a programmer.

Original DS Phat obtained on day of release + flashme v7
Supercard: miniSD, Kingston 1GB, Kingston 2GB
Ralink chipset PCI NIC

#133286 - x999x - Wed Jul 04, 2007 11:53 pm

Dood77 wrote:
x999x wrote:
Yeah, I'm not sure how to do that. I tried and I'm basically stuck in one game mode. I don't think theres a way to change the game mode once you're already in.

Whoops! Here I was thinking you could change the mod directory with a simple console command...

I've never dealt much in mods with Quake, would you care to provide the necessary steps in copying files etc? As well as the specific bot mod you're using? (are you running the bots on your computer running a server?


You can find a link in this thread to the files I am using, however I will be releasing the final mod pak this evening.

I have done all tests under the QDS environment, call me crazy, please do, but I wanted to be sure everything worked. The bots are being run on the DS with a mod that's evoked from a commandline.

@Simon-

I've PM'd ya my email addy and a direct link (my server) to the final build of this mod. Have fun, and let me know what you think of the two distinct flavors now in the gametypes. I was looking for a "hook" with the DM mode, and I think Randall's map coins it perfectly.

#134773 - Kung Fu - Mon Jul 16, 2007 5:11 pm

Im running a GBAMP and the game seems to boot fine til it gets to freeing precaches. It hangs there, and sometimes I'll get an x after it.