[APP] AVP Classic - Windows RT Development and Hacking

I've attached the Windows RT binaries for Aliens vs Predator 'Classic'.
http://en.wikipedia.org/wiki/Aliens_versus_Predator_(video_game)
This port was based on the source modification that stumbled across here:
http://homepage.eircom.net/~duncandsl/avp/
I also had to port OGG/Vorbis and some other libs to get this working.
The game plays at a very nice and smooth ~50 fps.. entirely in the Direct3D9 pipeline. Xbox controllers and raw input are supported, though I haven't tried either of them.
So, how do you play it?
Well, the demo won't work.. I tried that and the demo game files are not compatible with this version of the code.
So what you need is
1) the "Gold Edition" or the 'Classic' edition that you can buy on Steam for a few dollars.
2) Copy the entire game folder over to your WindowsRT tablet
3) Unzip the attached binaries
4) Start 'MyAvp.exe'.
Hopefully you guys enjoy this! The atmosphere of this game is pretty intense. Certainly bringing back great memories for me... its been 10 years since I've played it.
I've also put these binaries up on the SVN repo.
Cheers!
EDIT: adding a new "MyAvp.exe" binary to attempt to address resolution bug. Please try and report back! Thanks!

thanks.
can you help to complie Lugaru?I am not able to compile it because I dont have opengl environment.
game info:http://en.wikipedia.org/wiki/List_of_commercial_video_games_with_later_released_source_code

Excellent! Did you need to do anything tricky for the Ogg or Theora codecs? Remember that widely-used libraries are often as valuable as the apps... can I safely say that those libs have been ported now (and are expected to work with other apps)?

GoodDayToDie said:
Excellent! Did you need to do anything tricky for the Ogg or Theora codecs? Remember that widely-used libraries are often as valuable as the apps... can I safely say that those libs have been ported now (and are expected to work with other apps)?
Click to expand...
Click to collapse
It was a clean build. VS is supported by those libs natively.. so i don't expect any issues using them elsewhere.
Cheers!

windowsrtc said:
thanks.
can you help to complie Lugaru?I am not able to compile it because I dont have opengl environment.
game info:http://en.wikipedia.org/wiki/List_of_commercial_video_games_with_later_released_source_code
Click to expand...
Click to collapse
Not really a game I'm interested in, but I took a quick look at the Lugaru source anyway.
Most of the required changes are grunt work to fix the solution file. All the libs you need should already be ported, see here: https://github.com/bfosterjr/windowsrtdev/tree/master/libs
The only hurdle you might encounter is the use of GLUT. I've been getting around those issues by replacing the required GLUT functions to just use native opengl. You can leverage the MESA source or google for inspiration. Again, not difficult, just grunt work.
Good luck!

Could you provide some further instructions? The game does not run. I'm pretty sure that's because the location of the "Gold" files are incorrect.

lambstone said:
Could you provide some further instructions? The game does not run. I'm pretty sure that's because the location of the "Gold" files are incorrect.
Click to expand...
Click to collapse
did you unzip the avp folder inside the folder with the game files or just dump the 2 wherever?
Copy original AVP to RT.
Find the folder with the original AVP.exe (or whatever its called, I dont have AVP)
Unzip the ARM port into that folder. Done.

Incredible!
I played this game so many time ago, and i still love it.
Incredible work
If you could port Sing (an Half Life Compatible Engine) to Windows RT you'll be a god , since we could play Half Life on the Surface RT
There is the link:
*****://code.google.com/p/sing-engine/
EDIT:
I copied the ARM binaries to the 'Classic' Alien vs Predater bought from Steam and it's says 'Couldn't create a Direct3D device. See dx_log.txt for details'
EDIT 2:
I saw the problem. Game is unable to start in Fullscreen so you have to force it to run on Windowed Mode, i passed the -w parameter to the MyAvp.exe binary and my game it's working now

comandospi said:
I played this game so many time ago, and i still love it.
Incredible work
If you could port Sing (an Half Life Compatible Engine) to Windows RT you'll be a god , since we could play Half Life on the Surface RT
There is the link:
*****://code.google.com/p/sing-engine/
EDIT:
I copied the ARM binaries to the 'Classic' Alien vs Predater bought from Steam and it's says 'Couldn't create a Direct3D device. See dx_log.txt for details'
EDIT 2:
I saw the problem. Game is unable to start in Fullscreen so you have to force it to run on Windowed Mode, i passed the -w parameter to the MyAvp.exe binary and my game it's working now
Click to expand...
Click to collapse
I havent tried but there was a load of info online about forcing an altered copy of half life to run under the quake engine (half life actually used a modified quake engine). The quake engine is available on RT already (1, 2 and 3) so that might be worth looking into.

SixSixSevenSeven said:
I havent tried but there was a load of info online about forcing an altered copy of half life to run under the quake engine (half life actually used a modified quake engine). The quake engine is available on RT already (1, 2 and 3) so that might be worth looking into.
Click to expand...
Click to collapse
I knew that GoldSrc is a modified quake engine but i didn't know that half life could run on Quake Engine directly... i will take a look. Thanks!

comandospi said:
I knew that GoldSrc is a modified quake engine but i didn't know that half life could run on Quake Engine directly... i will take a look. Thanks!
Click to expand...
Click to collapse
I havent tried it and I think the files need modifying (GoldSrc was forked from Quake 1 but has some features that werent introduced by IdTech until Quake 2). But it should be plausible to try on RT, saw something about someone doing it on QI4A (quake 1 for android).

comandospi said:
I saw the problem. Game is unable to start in Fullscreen so you have to force it to run on Windowed Mode, i passed the -w parameter to the MyAvp.exe binary and my game it's working now
Click to expand...
Click to collapse
Strange, I didn't have this problem. I can play fullscreen, however I actually own the gold edition cd of the game... so my game files didn't come from Steam. I only used the -w option (which I fixed BTW.. it was broken in the build) to take a screenshot.
If anyone wants to gift a copy of AVP Classic to me on Steam.. I'd be happy to work on fixing any issues like this.
Cheers!

comandospi said:
If you could port Sing (an Half Life Compatible Engine) to Windows RT you'll be a god , since we could play Half Life on the Surface RT
There is the link:
*****://code.google.com/p/sing-engine/
Click to expand...
Click to collapse
This is a fork of xash3d, which I've already looked at.
The build relies on old X86 libs from the HL SDK. There is no source code for these. Now there has been an attempted port to Linux, and even android, but the effort in converting to windows rt is not something I'm up for
Cheers!

I have the same problem but i don't understand how you do to playing
'Couldn't create a Direct3D device. See dx_log.txt for details'
What's "-w option" ? Explain me how you do
I have a version CD of AVP Classic.
My log is :
Line 165 of avp\win95\win_proj.cpp:
WM_ACTIVATEAPP msg: bActive = 1
Line 170 of avp\win95\win_proj.cpp:
?&@#! no lpDDSPrimary surface
Line 171 of avp\win95\win_proj.cpp:
?&@#! no lpDDSBack surface
Line 172 of avp\win95\win_proj.cpp:
?&@#! no lpZBuffer surface
Line 174 of avp\win95\win_proj.cpp:
?&@#! no lpDDBackdrop surface

Matth37 said:
I have the same problem but i don't understand how you do to playing
'Couldn't create a Direct3D device. See dx_log.txt for details'
What's "-w option" ? Explain me how you do
I have a version CD of AVP Classic.
My log is :
Line 165 of avp\win95\win_proj.cpp:
WM_ACTIVATEAPP msg: bActive = 1
Line 170 of avp\win95\win_proj.cpp:
?&@#! no lpDDSPrimary surface
Line 171 of avp\win95\win_proj.cpp:
?&@#! no lpDDSBack surface
Line 172 of avp\win95\win_proj.cpp:
?&@#! no lpZBuffer surface
Line 174 of avp\win95\win_proj.cpp:
?&@#! no lpDDBackdrop surface
Click to expand...
Click to collapse
-w, its a command line argument. Normally you would add " -w" minus the quotes to the end of the command when launching the program from the command line, but guessing you dont want to do that. Simple alternative, happens to be that windows shortcuts are essentially valid commands. Right click MyAVP.exe > Create Shortcut. Right click the shortcut > Properties. Near the top will be a text box called target with something like:
C:\Users\SixSixSevenSeven\Programs\FTB_Launcher.exe
Click to expand...
Click to collapse
I just randomly chose FTB_Launcher.exe here which is in a programs folder in my user space. Also my computer login is not SixSixSevenSeven, you just don't need to know my real one.
I would change target to:
C:\Users\SixSixSevenSeven\Programs\FTB_Launcher.exe -w
Click to expand...
Click to collapse
alternately, if you open the windows cmd, you can just type C:\Users\SixSixSevenSeven\Programs\FTB_Launcher.exe then it will also launch it . Steam on x86 systems if you go into your library, right click a game, properties, launch options. The text box there would be the last section for extra arguments to pass into the program, so in this case you would stick -w on the end. Or I have to use them with Red Alert 3 Uprising where I have "-xres 1366 -yres 768" because for some reason switching resolutions crashes it on windows 8 and bizarrely it doesnt support my laptops native res, throwing those extra arguments at it forces the game to run at 1366*768 which it does without issue.
Useful things. Fixes AVP on windows RT. Fixes red alert 3 on windows 8 or unsupported screens.

Matth37 said:
I have the same problem but i don't understand how you do to playing
'Couldn't create a Direct3D device. See dx_log.txt for details'
What's "-w option" ? Explain me how you do
I have a version CD of AVP Classic.
Click to expand...
Click to collapse
Interesting. You have the "Gold" edition?

Thanks, i can play :good:
I have the standard version (no gold) on CD.
I would like know how play the game in french ? I use the solution english.txt because it doesn't work but my game in french become a version in english :crying: What can i do ?
And is there a way to have the game with fullscreen ?

"Couldn't create a Direct3D device"
the game menu is 640*480 and the newer video driver doesnt suppout this mode so you will get error when you go into fullscreen mode.
you can rollback to driver 9.17.13.653(9/12/2012) for more screen mode

and where i can find these old driver ? And can i use these drivers only for this game ?

Updated Binary
windowsrtc said:
"Couldn't create a Direct3D device"
the game menu is 640*480 and the newer video driver doesnt suppout this mode so you will get error when you go into fullscreen mode.
you can rollback to driver 9.17.13.653(9/12/2012) for more screen mode
Click to expand...
Click to collapse
All,
See the original post. I've updated the binary to support a 1024x768 default resolution (also the minimum supported now). I've also adjusted the game scaling so that the HUD overlay graphics should be much more crisp. Once in the game, you can increase the resolution if you so choose.
Please try the new binary and let me know if it fixes your issues.
Cheers!

Related

[AIR]Making/Testing AIR on Eclair

Hey all.
Sony Ericsson have stated quite clearly.. "No Flash on X10". Despite being quite categorical, there is much more to the story... so sit back with a coffee, and allow me to explain;
{disclaimer: i've only had an Android smartphone (Nexus One) since about June, so my experience had been exclusively using Froyo until now}
As far as i'm aware, Flash-Lite ran on certain HTC devices with Android Eclair (2.1) but this was done thru the device's default browser using webkit's plugin permission.
Flash 10.1 on the other hand is designed to run on Froyo (2.2) using a more direct Google plugin to the browser. (possibly an API not reliant on webkit as default, thus allowing other browsers to gain plugin access)
Anyway.. Sony Ericsson, for whatever reason, hasn't included either of these methods in this Eclair release. Conspiracy theorists may point to the coming PSP-phone as one reason to omit Flash.. ie. free multiplayer web-games.
So anyway, that's the bad news! No browser-based Flash unless it gets hacked into X10 by someone, or the bootloader get cracked, etc etc.
Ok, now the good news;
Hardware performance isn't a factor, as X10's Arm7 CPU IS supported by Adobe Flash + Air when running Froyo, as it clearly states X10's compatibility on their developer page.
Even better news for flash aficionados;
Lucky for us, Adobe made an early version of Air (ie. Flash outside the browser) for Android which runs just fine on Eclair. Although it's no longer under development (hasn't been since June) it's therefore unsupported by Adobe, and missing the odd feature such as GPU acceleration.
However, my early tests show it runs pretty well, comparing it to my Nexus One at least.
There are some limitations such as only running newer Actionscript3, (and no multi-touch, ha-ha ;O) ..but i can still see a great opportunity promoting and supporting Air on the X10. More so since every Air app or game i've seen so far only runs on Froyo.
As i see it, there's now a distinct niche supporting Air for Eclair userbase, so i hope some of you will consider helping me to exploit it. I'm here to help however i can, like porting as much stuff as possible to run on our Eclair devices, and ask anyone who's interested to offer support such as testing, designing, coding, or whatever. (PM or post here if interested to help out) I also propose a unique identifier; 'EPX'. The meaning will become obvious later.
To kick things off, i've attached a splash image, the Air Runtime for Eclair, and a sample game to test it. Here are the details about the game;
-------------------------------------
- Called "Code Bummer" made by Jesse Freeman, Dan Wolfe, Sean McCracken. (renamed "Hobo" with new icon, and recompiled to run on Eclair)
- Source code; http://github.com/jessefreeman/codebummer (a very clean example of a flash game for Android!)
- Description; http://www.appbrain.com/app/code-bummer/air.com.gamecook.CodeBummer (members will notice it says "Your device has Android 2.1. However this app is for Android version 2.2 and higher")
- Performance Tip: I find that after starting the game, the responsiveness is a bit slow, so i press back button (out of the game) then reload back into the game, and performance is much more playable.
-------------------------------------
Enjoy!
[UPDATE]
Anyone interested in developing Air for Eclair apps or games (that will also work on the latest Air for Froyo runtime) should stick to ONLY using the June 3rd SDK here...
(AIR25_win_sdk_20100603.zip)
http://www.mediafire.com/?m19cetvay9xqx38
Or the June 3rd CS5 Air Extension here...
(AIRforAndroid_FlashCS5_060310.zxp)
http://www.mediafire.com/?22hewf5kg98u3sd
Both of ^these are for Windows developers only.
We are also looking for the existing Linux and Mac SDK's dated the 3rd of June. If you have one of these, then please let us know, so that we may share it with everyone who needs it.
Cheers!
hi
that`s really good news(?) for us
unfortunately I have no knowledge in these areas but no doubt that I make available to serve as guinea pigs (?)
just hope this idea don`t die young and devs who had the knowlage will help you on this
Air for Android Developer Links
Thanks. It's a big catchup being couple of years behind the java devs, but strength in numbers helps.
Useful links for anyone getting started with Air development on Android;
"Using AIR for Mobile Development" (slideshow) *new*
"How to Add a Splash Screen to Your Air for Android App"
"How to Import MovieClips into a Flash Builder ActionScript Project"
"Optimization Techniques for Air for Android Apps"
"Sample Employee Directory Application using Flex and AIR for Android"
Using The Accelerometer Sensor in ActionScript 3
...
All my knowledge goes to AS3 and that is it. No Java or anything else. But testing wise, I am all here to help.
Is it not possible to port the Plugin from 2.2 to 2.1 or to install HTC Browser?
great it works quite laggy but a great start!
cuddles100 said:
great it works quite laggy but a great start!
Click to expand...
Click to collapse
Glad to hear it.
If you follow the performance tip (written above in red) then it runs as smooth as the original 80's coin arcade classic that it's based on.
http://en.wikipedia.org/wiki/Frogger
Nimche said:
All my knowledge goes to AS3 and that is it. No Java or anything else. But testing wise, I am all here to help.
Click to expand...
Click to collapse
Ahh.. that type of "flash junkie" haha. I thought you meant flashing roms.
Anyway, Air on Android is pure AS3 development, unlike the desktop version which could run Html or Javascript seamlessly...
http://en.wikipedia.org/wiki/Adobe_Integrated_Runtime#JavaScript_frameworks
In fact, coming from Actionscript background, i was impressed enough with it's implementation to switch almost entirely to Javascript coding in the early versions of Adobe Air which were codenamed "Apollo".
So although the desktop version of AIR includes the WebKit HTML rendering engine, this is not supported in Air for Android. (i'm guessing the overhead of running webkit alongside AS3 engine was too heavy for general smartphone use)
However something called "StageWebView" appears to be supported, so i'll look into how that works.
Wolfbreak said:
Is it not possible to port the Plugin from 2.2 to 2.1 or to install HTC Browser?
Click to expand...
Click to collapse
An attempt was made...
http://forum.xda-developers.com/showpost.php?p=6569529&postcount=16
^That whole thread makes excellent reading if you're deep into webkit hacking!
Air for Eclair Source Code
Keeping to the same theme as Code Bummer.. here's a bitmap side-scroller sample by 'theflashbum'...
https://github.com/theflashbum/BitmapScroller/downloads
The size is 9mb cos it includes 29 images. The images are truely funny for any hardcore flash coders, but the side scrolling to way too jumpy to be of any use as is. (...unless you want a migrane as an excuse not to go to work today! lol)
I7redd said:
Glad to hear it.
If you follow the performance tip (written above in red) then it runs as smooth as the original 80's coin arcade classic that it's based on.
Click to expand...
Click to collapse
Didnt read that bit. lol. Yeh the lag pretty much disapears when u do that awesome!
cuddles100 said:
Didnt read that bit. lol. Yeh the lag pretty much disapears when u do that awesome!
Click to expand...
Click to collapse
Thanks for the confirmation. (tip now highlighted)
It does the same on my Nexus running Froyo, so not sure yet what's causing that to happen. We need a few more sample games to see if it happens on Air generally, but for now it's quick fix that works.
I7redd said:
Ahh.. that type of "flash junkie" haha. I thought you meant flashing roms.
Click to expand...
Click to collapse
I did mean both of them. Flash phone and development for AS3. Hope to make something out of this.
Cheers,
Edit> That was nice. OT, how do you pack an apk off flash?
> how do you back an apk off flash?
Not quite sure i understand.
To "back out of flash" means pressing hardware back button. The game suspends, so when you go in again (pressing game icon) it continues where you were, but also plays smoother.
To back up an apk can use normal backup app like Titanium.
I7redd said:
> how do you back an apk off flash?
Not quite sure i understand.
To "back out of flash" means pressing hardware back button. The game suspends, so when you go in again (pressing game icon) it continues where you were, but also plays smoother.
To back up an apk can use normal backup app like Titanium.
Click to expand...
Click to collapse
I fixed it 4 minutes before your post anyways I meant pack an apk. How do you turn air application into android app?
Nimche said:
...development for AS3. Hope to make something out of this.
Click to expand...
Click to collapse
Cool.
These XDA forums have developer sections, thou to me at least, they seems slanted towards rom development, not apps, so I thought i'd start off a topic about testing Air, and see how the response is.
If there are people who are also keen to develop using Air for Eclair, then i'm happy to help get them started, or organize a group project. Will see how it goes.
For myself, i'm using Flash Builder 4, so switching between Froyo or Eclair involves overcopying the respective SDKs in Flash Builder folder..
C:\Program Files\Adobe\Adobe Flash Builder 4\sdks\4.0.A
For Froyo we use latest build [09/30/10] ...but for Eclair we have to use the older SDK dated the same as the Eclair Runtime [06/03/10] that i attached on the first post. I've uploaded (18mb zip) the older "Eclair SDK" for those who want to try compiling something...
http://www.mediafire.com/?m19cetvay9xqx38
Any issues, let me know.
Nimche said:
I fixed it 4 minutes before your post
Click to expand...
Click to collapse
Heh. I didn't reload the page before answering. (also a bit slow typing with a cat on my lap)
Nimche said:
How do you turn air application into android app?
Click to expand...
Click to collapse
After building your SWF file.. use (windows) dos command something like..
adt -package -target apk -storetype pkcs12 -keystore cert.p12 -storepass password my_app.apk my_app.xml my_app.swf
Quick way is to put ^that into a make.bat file.
Then put "adb install -r my_app.apk" into an install.bat file.
Then put "call make.bat & call install.bat" into a run.bat file.
Then double-click run.bat and it's all done in 1 step.
very good stuff! I will glady test stuff for you's
Sent from my X10i using XDA App
I7redd said:
After building your SWF file.. use (windows) dos command something like..
adt -package -target apk -storetype pkcs12 -keystore cert.p12 -storepass password my_app.apk my_app.xml my_app.swf
Quick way is to put ^that into a make.bat file.
Then put "adb install -r my_app.apk" into an install.bat file.
Then put "call make.bat & call install.bat" into a run.bat file.
Then double-click run.bat and it's all done in 1 step.
Click to expand...
Click to collapse
Cool sh*t. I will make some stuff for testing. Happy that AIR works here and I was going to be disappointed but now I have more purpose for using 2.1//

Quake 2 on Windows RT

Only created my account today, so I don't have enough posts to put this in the developer section. Maybe someone can help me out.
I managed to get the Quake2 source from Ids ftp server to build (with a lot of warnings) for ARM in Visual Studio 2012.
I've attached a screen shot and the binaries to this post.
All you need to do is drop the pak0.pak and players folder into baseq2.
Enjoy!
EDIT: should also mention that this is a native port (not .net or winrt) -- props to XDA guys for the hack!
EDIT2: for those with errors, keep in mind you need the pak files and players folder from the quake2 install for this to work (or you can grab them from the demo). Google is your friend! . If you encounter the famous "water crash" then run "sw_waterwarp 0" in the quake console.
EDIT3: For a joke. I've added the OpenGL Quake2 renderer and a software based OpenGL implementation (built from an older version of Mesa3D) as attachments. Given that Windows RT doesn't have support for OpenGL this is probably as good as its going to get without a port that has Direct3D support. While the OpenGL version looks much better, be warned.. it runs __very__ slow. If you want to give it a try, just go into video options and change the 'driver' option to "default opengl". Enjoy!
EDIT4: So.. in an effort to clean up some of the bugs, I stumbled upon KMQuakeII which has an 'unofficial' 3.23 patch for the Quake 2 source. I've managed to compile that version of the source for ARM. I was hoping this would fix the full screen issues, but it didn't. Regardless, there are probably worthwhile bug fixes anyway.. so I'm posting it here. There are also extra video modes in this version (very easy to add btw!) however the 1366x768 mode didn't work correctly on my Surface.
Well done! Link added to the list. Much appreciated...
bfosterjr said:
Only created my account today, so I don't have enough posts to put this in the developer section. Maybe someone can help me out.
I managed to get the Quake2 source from Ids ftp server to build (with a lot of warnings) for ARM in Visual Studio 2012.
I've attached a screen shot and the binaries to this post.
All you need to do is drop the pak0.pak and players folder into baseq2.
Enjoy!
EDIT: should also mention that this is a native port (not .net or winrt) -- props to XDA guys for the hack!
Click to expand...
Click to collapse
cool, seems to run nicely, -just using one core.
At first : Thanks for the work!
But i get an Error :"Couldn't load pics/colormap.pcx
(on Surface Jailbrocken)
I can't manage to open it. It says there is an error.
Another question... I want to do it for Bluestacks. Do you know anyone that could've done this? Thank you.
save_jeff said:
At first : Thanks for the work!
But i get an Error :"Couldn't load pics/colormap.pcx
(on Surface Jailbrocken)
Click to expand...
Click to collapse
Make sure you have the pak files and players folder from your quake2 install in the baseq2 folder. If you don't own quake2 then you can grab these files from the quake2 demo install (google for it). Good luck!
Awesome job!
I got mine working smoothly
There is some issues that often when I load saves the game crashed (quake2.exe has stopped working)
I have no idea. Save game works perfectly and start new game works as well.
Looks like this guy back in 2005 have the same problem (except he is using... Amiga?): ht tp://eab.abime.net/showthread.php?t=17808
Tanks i did not know that ;]
I Will get a Demo right now ans try ist.
Does it work with any Version of quake II ?
---------- Post added at 10:54 PM ---------- Previous post was at 10:29 PM ----------
Okay now it works like a charm! Realy impressiv
shog7n said:
Awesome job!
I got mine working smoothly
There is some issues that often when I load saves the game crashed (quake2.exe has stopped working)
I have no idea. Save game works perfectly and start new game works as well.
Looks like this guy back in 2005 have the same problem (except he is using... Amiga?): ht tp://eab.abime.net/showthread.php?t=17808
Click to expand...
Click to collapse
Yeah, there could be several bugs in it. This is built straight from iD's source. There are many other 'ports' of quake2 that have encountered and (in some cases) fixed various bugs. Still, its extremely playable even with a few annoying bugs!
I cant get mine to go to full screen.... is this usual behaviour?
advancedservers said:
I cant get mine to go to full screen.... is this usual behaviour?
Click to expand...
Click to collapse
Yep. The pure Quake2 source has known issues with full screen on "odd" resolutions. Given the time frame for when Quake2 was developed.. the 1366 x 786 resolution that is common today doesn't make any sense that's why its "not supported". There were some unofficial patches added to Quake2 many years ago to add wide screen support and more resolutions. A lot of people also fixed the problem by just using the OpenGL version (which I could also provide binaries for.. but its _dog_ slow). What I've ported here is the 'software render' which got very little attention once the '3d boom' hit. If I get bored, I may see if I can get full screen working in the software renderer.
Joystick or Xbox Controller?
App is cool and runs well with mouse or keyboard but I have tried joystick and Xbox controller (both recognised by WinRT) and app ignores both. I have turned on Joystick under options.
I didnt get any bugs yet.
But Fullscreen would be nice
Woww this game bring me so many good memories nice work!!!
advancedservers said:
I cant get mine to go to full screen.... is this usual behaviour?
Click to expand...
Click to collapse
Same here. 800x600 is the best resolution to me..
Btw can you load your saves after close the game and restart it?
For what its worth, I've updated the original post with 'newer' binaries and software based OpenGL support. The fullscreen thing is also bothering me so I'll put some effort into that over the next couple days -- hopefully its been fixed in a different Quake2 port and I just need to migrate the code over. Cheers!
If you don't mind me asking where did you get the source files from? I would have done this two days ago but I couldn't open the project files from id's github. I then tried quake 3 and doom 3 but getting those working is a different problem entirely. Those games have inline assembly in them that I don't have the skill to replace.
johnnyfives12 said:
If you don't mind me asking where did you get the source files from? I would have done this two days ago but I couldn't open the project files from id's github. I then tried quake 3 and doom 3 but getting those working is a different problem entirely. Those games have inline assembly in them that I don't have the skill to replace.
Click to expand...
Click to collapse
The source came straight from ftp.idsoftware.com. There is a lot of pain in getting a working vs2012 solution file and convincing the source that Win32 does not imply x86! Many issues with libs and older CRT functions too. Just takes time, patience and good experience with VS & C code.
You're absolutely right about Q3 or Doom3. They will require an overhaul and will need to be ported to Direct3D10+. Sadly I don't have the spare time to get _that_ involved -- though I'm happy to help if someone wants to lead the charge.
Cheers
Game crashes sometimes when I try to load a saved game. Also performance is far from what I expected. I remember playing it on my Nokia n95 with software renderer and it was fluid, on surface higher resolutions cause serious performance degradation. The more I use desktop apps ported to Windows RT(quake, dosbox) the more I think that tegra 3 suck.
bartekxyz said:
Game crashes sometimes when I try to load a saved game. Also performance is far from what I expected. I remember playing it on my Nokia n95 with software renderer and it was fluid, on surface higher resolutions cause serious performance degradation. The more I use desktop apps ported to Windows RT(quake, dosbox) the more I think that tegra 3 suck.
Click to expand...
Click to collapse
Same loading problem here...
But it runs pretty fluid on my Surface...

Quake 1 (w/OpenGL) on Windows RT

Sorry for the 'general post' .. but again, I don't have enough posts to have access to the developer section.
Hopefully this will make someone happy.
After playing with Quake 2..
http://forum.xda-developers.com/showthread.php?t=2097092
I took a stab at Quake 1. Code was only slightly harder to port because of the old MGL lib. Anyway.. here it is.. Quake 1 (with optional software OpenGL support --- VERY SLOW)
Game runs very well (non-opengl) and full screen support works nicely.
Because its difficult to extract, I've included the PAK file from the _demo_. If anyone has any issues with that, please contact me and I'll replace it with a binary package. As is, you should be able to just extract it and run WinQuake.exe (or glquake.exe if you'd prefer a slower experience!)
Enjoy all!
I just had to register to say: I love you, man. :good:
Awesome! Really thank you for your work!:good: I just finished the first episode without bug.
Btw, what files do I need to replace if I have the full version of Quake 1? Just pak0.pak or the entire id1 folder (except the saves)?
Nice. Played Q1 opengl online a long time
Sent from my LG-P990 using xda app-developers app
shog7n said:
Awesome! Really thank you for your work!:good: I just finished the first episode without bug.
Btw, what files do I need to replace if I have the full version of Quake 1? Just pak0.pak or the entire id1 folder (except the saves)?
Click to expand...
Click to collapse
You should be able to just copy the entire ID1 folder from the Quake install. I'm not sure if the saves will work or not.. I haven't tried.
Enjoy!
That's AWESOME.
I remember playing Q1 so much on business trips on my crappy laptop so many years ago.
I'll have to try this out with my surface.
thanks!
Awesome! This is really great. I'm also trying to get enough posts to be able to participate in the discussion / porting of stuff to Windows RT. It's great to see such a thriving development / porting community arise so quickly!
Superb
This runs incredibly, I thought it would be fiddly, but it just works. I just need to enable mouselook and I am all set. I am also keen to get my ten posts up and engage on the dev thread. I have several things that I think will port over quite nicely.
I can't control the window that it opened in. Can't maximize (running in small window) and most importantly, can't close the game. All the buttons in the upper right of the window wont work.
Please help. Thanks.
(Post Deleted)
does it work with controller (xbox)
has anyone tried using the d3d wrapper as described in http://forum.xda-developers.com/showpost.php?p=42277354&postcount=29 ?
I don't have a surface, but i've been quite interested in getting one as the prices are < $200 now.
If the surface only had STEAM support I would have gotten it day 1.

Microsoft Surface RT - Mame Port

Dear all.
I have built the latest version of Mame for hacked Surface RTs.
First of all, I'm aware that this post should be on this http://forum.xda-developers.com/showthread.php?t=2092348 thread but I don't have enough posts. Perhaps someone could x-link...
There were some very basic changes to the source to enable it to build, most particularly around the lack of dinput on the Surface (keyboard and mouse still work fine nonetheless). Most of the work was building the compilation environment. Broadly:
(a) I followed the instructions at http://forum.xda-developers.com/showthread.php?t=2096820 to make a basic VS environment to cross-compile for the Surface target. Note that you will not need to go into the VS IDE for anything, the build is done entirely on the command line (but we are not ready for that just yet). Note also that I cannot remember whether had to change c:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\crtdefs.h so that the line:
#define _ARM_WINAPI_PARTITION_DESKTOP_SDK_AVAILABLE 0
read
#define _ARM_WINAPI_PARTITION_DESKTOP_SDK_AVAILABLE 1
but good to check nonetheless. It is, however, necessary to pull the dlls from a Surface and convert them to libs as described in that page. Also, I worked on a Windows 7 machine and that was OK (so Windows 8 for a build machine is not necessary).
(b) the most recent versions of Mame already come with options to build from Visual Studio, I followed the instructions at http://mamedev.org/tools/ - the easy way - to install mingw64-32 (this page describes building Mame using mingw - we are not doing this, we are just getting this part of the toolchain in place). I then followed the instructions at http://mamedev.org/devwiki/index.php?title=Building_MAME_using_Microsoft_Visual_Studio_compilers but the relevant configuration (for ARM cross-compilation) is: c:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\vcvarsall.bat x86_arm and not as stated on that page.
(c) Unfortunately, we can not just get the sources, patch them and make as Mame builds a number of tools in order to process various source files. These must run on the build machine (x86) and not the target machine (arm). The Mame makefile already has an option to do build these tools "make buildtools" so this must be run first to create the build tools natively. What results is not quite what is needed. Firstly, Mame builds the buildtools into a "obj/windows" folder whereas for a VS compile the tools need to be in a "obj/vwindows" folder. Secondly, it builds some tools that should be linked into the ARM executable rather than x86 compiled. This can be sorted by just copying all files in "obj/vwindows/build" to a new folder "obj/vwindows/build".
(d) As stated above, there are a couple of files that need minor patching. I have included these in the src folder in zip file linked below. These should be extracted in the same folder as the Mame source code 0.148 (which is available at http://www.mamedev.org/oldrel.html) such that it overwrites the relevant Mame sources (from Explorer you will probably have to change the default extract folder). The zip file includes the patched Mame sources so you don't need to download the sources or patch.
(e) To make the ARM executable the make recipe is as follows: "make MSVC_BUILD=1 CROSS_BUILD=1 NOWERROR=1 SUBTARGET=tiny". Note that the build does not like to operate from a folder that has a space in the path. Best to compile from "c:\surfacemame" or the like rather than "...My Documents".
To make this easier for everyone, I have prepared a batch file such that if you: (i) follow (a) and (b) above to create the build environment (mingw must be installed to "C:\mingw64-w32" and the relevant binaries should be in "C:\mingw64-w32\bin"); (ii) get and extract the Mame sources (from the zip or from mamedev.org); (iii) (if sources are downloaded from mamedev.org) patch the sources with the files in the zip "src" folder, you can then just double click go.bat (which must be in the same folder as the Mame makefile). Build takes about 20-30 mins on my machine.
The result will be a vmametiny.exe which can be copied to the surface to a folder with a "roms" folder in it with your roms. To get the mouse to work, vmametiny.exe will have to be run with the -mouse option. The easiest way to do this is (on the Surface) create a shortcut to the exe, then edit the properties of the shortcut to add " -mouse" (without quotes but with a space after vmametiny.exe).
To make this even easier, I have included the executable in the zip. To comply with the Mame licence, I have to include the patched sources as well (which is why the file is so large).
There is a catch. Try as I might I could not get the full Mame build to work - the Mame build process programatically creates a file driverlist.c which is then compiled and linked into the executable. For some reason this did not work for me (I tried a lot of different approaches). The tiny build of Mame does not fully use this process and so works. The catch is that the tiny build only supports a very limited subset of games, I have built on this substantially by editing the relevant files tiny.lst and tiny.mak to include loads of popular games but it is a slow process as the dependencies have to be worked on a game by game basis (note that some of the dependencies may not have been fully worked out so Mame could throw an error (somtimes with blank dialog boxes) so just click OK until the boxes disappear and the game runs). I will update the zip at some point so that it runs (say) the top 250 games. I would love it if someone would help with this tiny build problem...
Zip file is here ... EDIT: this version now outdated, see link later in thread
Finally, the speed of most of the games I tried was excellent (eg rtypeleo and smashruns at 100%). The big disappointment was Atari vector games that only run at 50% speed. I don't know why this is the case but perhaps someone could help with that too...
Have fun all.
BBUK
That looks great, do you have a list of compatable games and which version so i can test this?
Howdy
thereaperman said:
That looks great, do you have a list of compatable games and which version so i can test this?
Click to expand...
Click to collapse
The mame version is 0.148. The list of games is listed in src\mame\tiny.lst
Note that even though a game is listed there - and the rom is of the correct version, this version of Mame may complain that the rom is not correct. This is because there are multiple versions of the same game with different roms and I made an incorrect assumption as to how tiny.lst would work - as a result whether a correct rom will operate is a bit hit and miss.
I know, however, what's wrong and I will work on this.
BBUK said:
Howdy
The mame version is 0.148. The list of games is listed in src\mame\tiny.lst
Note that even though a game is listed there - and the rom is of the correct version, this version of Mame may complain that the rom is not correct. This is because there are multiple versions of the same game with different roms and I made an incorrect assumption as to how tiny.lst would work - as a result whether a correct rom will operate is a bit hit and miss.
I know, however, what's wrong and I will work on this.
Click to expand...
Click to collapse
Thanks I will get hold of some roms and give it a test
thanks
Thanks for your interest but I would hang fire on testing for a few hours until I have tested, packaged and uploaded a new version. I think I have solved the problem with the tiny build so I can now build the full version of Mame with the only problems I can see being:
(a) depressingly slow performance on Atari vector games (I will look at this next unless someone else volunteers); and
(b) the non-inclusion of 10 or so games from Electronic Devices and a few from Konami (the relevant CPU would not build as ARM).
(Background - the problem I was having had nothing to do with how Mame builds and everything to do with me stupidly putting a comment in the middle of a line).
A final note for someone contemplating a build, the executable will now be called vmame.exe (i.e. not vmametiny.exe as stated above), the make recipe should have SUBTARGET=mame rather than SUBTARGET=tiny and the build does not like running over multiple cores very much - just be aware of this if you are thinking of including a -jx on the make command line.
Rgds
Hi all.
Updated version now uploaded - this is now the full version of Mame. I have not tested it much but seems to be OK.
Link: http://www.mediafire.com/download.php?di5nm1zdhydld2c Edit: I had better performance from the version linked below but I have left this here in case anyone wold rather run Mame 0.148 rather than 0.145.
Enjoy - I would be grateful for any feedback on how well this works for you.
very good.all gamesI play get full fps.and its interesting to play 1944x by mouse.I tried the onscreen joystick written by netham45 but it doesnt work.
windowsrtc said:
very good.all gamesI play get full fps.and its interesting to play 1944x by mouse.I tried the onscreen joystick written by netham45 but it doesnt work.
Click to expand...
Click to collapse
why is it so difficult to port xinput on mame or FBA??? it would be awsome to play with xbox 360 pad
it is just a question.
thanks
pumaa said:
why is it so difficult to port xinput on mame or FBA??? it would be awsome to play with xbox 360 pad
it is just a question.
thanks
Click to expand...
Click to collapse
I think its easy for the game developers to port xinput.but I am not a programmer so its so difficult for me.
Hi all.
I have now got an acceptable level of performance from the Atari vector games through a combination of compiler optimisations, use of an earlier version of Mame and a Mame command line switch (-mt). The attached link is now based on Mame 0.145.
I have taken this as far as I am going to now I think. I have managed to get my joystick (a Nintendo Wavebird/Arduino Leonardo combo) working with the Surface and Mame and so I have achieved all I really need to...
Link:http://www.mediafire.com/download.php?xqc3co7p0xqqbzv
Have fun
BTW: If anyone is looking to get a non-Xbox controller working with the Surface, consider presenting the device as an absolute mouse - it worked for me (both in Mame and in the Desktop). In Mame, an absolute mouse appears as a lightgun.
pumaa said:
why is it so difficult to port xinput on mame or FBA??? it would be awsome to play with xbox 360 pad
it is just a question.
thanks
Click to expand...
Click to collapse
because XInput is for .NET and MAME isnt a .NET application maybe. Probably a way of doing it but seeming as xbox controllers also work on DirectInput fine it doesnt matter.
thanks for the answer!!!
but how do you make it work, the controller 360 on surface rt???
the program doesn't reconize it!!
thanks for the good job
Hi there
pumaa said:
thanks for the answer!!!
but how do you make it work, the controller 360 on surface rt???
the program doesn't reconize it!!
thanks for the good job
Click to expand...
Click to collapse
If the joystick is recognised by the RT, I see no reason why it should not work in MAME.
Have you configured MAME to recognise the joystick? If not, read the documentation but broadly you will need to put "-joystick" or (possibly) "-lightgun" on the command line and once in MAME in the settings "Configure General Inputs", select the joystick as the analog input device (select "Player 1 controls" scroll down to "AD Stick Analog X", press enter and move the joystick left and right, do the same for "AD Stick Analog Y" - but move the joystick up and down). If that works you can do the same with the joystick buttons.
As I don't have an XBOX controller to try this with, please post back if this works for you.
BBUK
Hi thanks for the answer.
Can you be more specific. I read the instructions but in wich files do i need to write the command line.
In the default.cfg files ??
can you explain me more please.
Thanks
See the first post about creating a shortcut. After "-mouse" add "-joystick -lightgun" (without quotes).
This is detailed in the Mame documentation which is included in my zipfiles.
ok i will try right now
thanks
edit:
so i try to add -mouse - joystick and the other but it doesn't do anything . my xbox 360 and also my logitech are mot recognize
Did you also go into MAME and "Configure General Inputs" as I asked?
PLEASE read the MAME documentation - all this is in there.
yes i did it but doesn't seems to work.
its a pity because its a really good program.
i also read the config. anyway i hope one day it will be more simple to add controller
thanks
I think xbox360 joystick works only in xinput mode.but the current mame rt only works in rawinput (any hid device)mode.so it may not work.
ok thanks for the answer
so i will not use this program. i really want to use my xbox cntroller.

[APP] Quake 3 Arena

All,
Please find the attached binaries for the Windows RT version of ioQuake3 - http://ioquake3.org/
The pak files are not included, so you will need to follow the instructions on the ioQuake3 pages/wiki to install those.
Many thanks to windowsrtc for finding the D3D9 runtime and building the opengl wrapper. All of the necessary runtime binaries are also included in the package. You can also use these runtime files for my ports of Quake and Quake2 to enable much speedier opengl support. Performance in Quake3 is decent at approximately 30 fps on my Surface RT.
Enjoy!
EDIT: so, i ran across this video on youtube -- http://www.youtube.com/watch?v=XXZc0eDydtA -- which pointed out that connecting to internet servers might not be working quite right. I think it should all be fixed now, as I was able to connect to servers on the internet and frag some bots. Please download the 'rel2' binaries if you'd like a fix for this issue. Cheers!
EDIT2: bit of fail on my part, I had improperly named the D3D9 runtime file in the 'rel2' release. Fixed now. Sorry all.
Thanks! Adding to the list.
Anyone struggling to obtain quake 3 pak files, you can buy quake 3 on steam still and use the pak files from there or use OpenArena pak files which are free and a great alternative to the originals.
very nice port.The Quake 3 engine is strong.
I never had doubts that the RT could run ioquake3. Frankly if the raspberry pi could run quake3 then so can the RT. The 5th companion core in the tegra 3 I think is about as powerful as the pi on its own and thats meant to be an underpowered core compared to the main 4. Was just OpenGL standing in the way
I guess the most optimal solution performance wise (not that its needed when you have a nice playable 30fps) would be a directX rewrite of the ioquake3 render code but that would be soooo complicated (was done for the first quake and I think quake 2 though, both DX9 not 11).
I got this error
Point Release files are missing. Please re-install the 1.32 point release.Also check that your Q3 executable is in the correct place and that every file in the baseq3 directory is present and readable. You need to install Quake III Arena in order to play
Any help ???
saarakura said:
I got this error
Point Release files are missing. Please re-install the 1.32 point release.Also check that your Q3 executable is in the correct place and that every file in the baseq3 directory is present and readable. You need to install Quake III Arena in order to play
Any help ???
Click to expand...
Click to collapse
Yea, I'm getting the same error.
saarakura said:
I got this error
Point Release files are missing. Please re-install the 1.32 point release.Also check that your Q3 executable is in the correct place and that every file in the baseq3 directory is present and readable. You need to install Quake III Arena in order to play
Any help ???
Click to expand...
Click to collapse
Did you actually bother putting the quake 3 PAK files in? Because thats what the error means. This is just the game engine, not the content. It is illegal for bjfoster to distribute the content too, you need to provide yourself by buying quake 3 on steam (its still there) or using the OpenArena files.
saarakura said:
I got this error
Point Release files are missing. Please re-install the 1.32 point release.Also check that your Q3 executable is in the correct place and that every file in the baseq3 directory is present and readable. You need to install Quake III Arena in order to play
Any help ???
Click to expand...
Click to collapse
•Copy pak0.pk3 of your Quake3 CD (or from the demo) to the quake3/baseq3 directory.
•Download the Quake3 1.32 point release and copy pak1-pak8.pk3 to quake3/baseq3
that should be all u need to do
bfosterjr said:
•Copy pak0.pk3 of your Quake3 CD (or from the demo) to the quake3/baseq3 directory.
•Download the Quake3 1.32 point release and copy pak1-pak8.pk3 to quake3/baseq3
that should be all u need to do
Click to expand...
Click to collapse
Thanks its working!!!! amazing!
Please attach the source code to comply with the GPL
Samuelgames said:
Please attach the source code to comply with the GPL
Click to expand...
Click to collapse
ioQuake3 Source code available here:
http://ioquake3.org/get-it/source-codes/
It can be built for Windows ARM from original sources without code modification. Very well organized codebase!
GLdirect Source code available here:
http://sourceforge.net/projects/gldirect/
It can also be built for Windows ARM from original sources without code modification.
Feel free to PM me if you need require more information.
Cheers!
bfosterjr said:
ioQuake3 Source code available here:
http://ioquake3.org/get-it/source-codes/
It can be built for Windows ARM from original sources without code modification. Very well organized codebase!
GLdirect Source code available here:
http://sourceforge.net/projects/gldirect/
It can also be built for Windows ARM from original sources without code modification.
Feel free to PM me if you need require more information.
Cheers!
Click to expand...
Click to collapse
Scratch all that..
While it is not necessary to make changes to the code.. it will help keep the code a bit cleaner.. and reduce the amount of pre-processor hacks you need to use. So please head here instead... it'll be much more helpful for you...
https://windowsrtdev.codeplex.com/
I've gone through the ioQuake3 code again and rebuilt/modified it without relying on disgusting pre-processor hacks. Instead I've simply introduced a "WIN32_ARM" pre-processor. Simply look for that to see what I've complied out and changed.
I hope this helps! happy hacking!
bfosterjr said:
Instead I've simply introduced a "WIN32_ARM" pre-processor.
Click to expand...
Click to collapse
Really no need to introduce extra preprocessor defines as there are enough builtin. For example I check for the ARM CPU and desktop family in my #ifdefs. If this is true - then we are on RT.
Can't tell the exact macro as I'm far away from Visual Studio now.
mamaich said:
Really no need to introduce extra preprocessor defines as there are enough builtin. For example I check for the ARM CPU and desktop family in my #ifdefs. If this is true - then we are on RT.
Can't tell the exact macro as I'm far away from Visual Studio now.
Click to expand...
Click to collapse
Yep - i know the preprocessor defines you're referring too.. and sometimes i use those instead. Just depends on what works best in the code for me.
Cheers!
bump.
new binaries to fix issues connecting to servers on the internet -- frag on my friends!
I'm really interested by this port, but i dont know where and how can i find the files for the game?
Is it possible with the demo files ? and where i can find a demo ? on french repository no thinks works ...
thank's
Alias84270 said:
I'm really interested by this port, but i dont know where and how can i find the files for the game?
Is it possible with the demo files ? and where i can find a demo ? on french repository no thinks works ...
thank's
Click to expand...
Click to collapse
You can buy the game on steam if you want the datafiles for the full version.
I googled "quake 3 demo" and got a few good hits. All in english but I don't think there was a french localised version, the game language doesnt matter so much though because the only real text are the menu buttons and settings screen. Your english seems reasonably good so I presume you should be able to tweak the settings to your liking (or with the aid of google translate or similar). The demo files will work though.
The final option is OpenArena: http://www.openarena.ws/smfnews.php
They have made an open source clone game of quake 3 arena, doesnt utilise any copyrighted content from the base game. Very fun and of course free. Download button is on the left side of the page somewhere. You should be able to copy the baseoa folder from the OpenArena download and stick it next to the baseq3 folder in this ioQuake3 port.
SixSixSevenSeven said:
You can buy the game on steam if you want the datafiles for the full version.
I googled "quake 3 demo" and got a few good hits. All in english but I don't think there was a french localised version, the game language doesnt matter so much though because the only real text are the menu buttons and settings screen. Your english seems reasonably good so I presume you should be able to tweak the settings to your liking (or with the aid of google translate or similar). The demo files will work though.
The final option is OpenArena: http://www.openarena.ws/smfnews.php
They have made an open source clone game of quake 3 arena, doesnt utilise any copyrighted content from the base game. Very fun and of course free. Download button is on the left side of the page somewhere. You should be able to copy the baseoa folder from the OpenArena download and stick it next to the baseq3 folder in this ioQuake3 port.
Click to expand...
Click to collapse
Well, i think the best idea is to buy it, becaus i dont think it's really expansive on steam ?
No i dont have any probleme with game in english, it's just that i wanted to find the game demo and i got only french answer on google.
Thank's i will see to buy it on steam ?
Is the game work online ? it will be fine during boring afternoon at school.
Alias84270 said:
Well, i think the best idea is to buy it, becaus i dont think it's really expansive on steam ?
No i dont have any probleme with game in english, it's just that i wanted to find the game demo and i got only french answer on google.
Thank's i will see to buy it on steam ?
Is the game work online ? it will be fine during boring afternoon at school.
Click to expand...
Click to collapse
its £13.99 on steam in the UK which is quite alot considering its an old game. But when I fired up steam to check the price it turns out that the demo is also available on steam.
Being an old game it doesnt have matchmaking or dedicated servers hosted by the developers. It does still have multiplayer though. One PC can act as a non dedicated host (or there is a dedicated server tool available), then other PC's on the same local network can see and join the game. Over the internet you will have to start dealing with port forwarding for the host and manually type in IP addresses for the client.
Its certainly a fun multiplayer game for a boring school afternoon. Used to play it in my school, 14 player LAN was chaos (I came 2nd )
EDIT:
The quake collection is 16.99 on steam. That includes quakes 1, 2 and 3 plus all the extra mission packs. I think the engines for either quake 1 or 2 were ported somewhere, not brilliant performance if I recall but might be worth considering.
EDIT2:
http://forum.xda-developers.com/showthread.php?t=2092348
Both quake 1 and 2 are in there

Categories

Resources