English Amiga Board Amiga Lore


Go Back   English Amiga Board > Other Projects > project.Amiga Game Factory

 
 
Thread Tools
Old 12 December 2012, 11:00   #1
NovaCoder
Registered User
NovaCoder's Avatar
 
Join Date: Sep 2007
Location: Melbourne/Australia
Posts: 3,373
[ongoing] Descent DXX-Rebirth AGA (v0.57.3)

I couldn't get very far with Hyperion's Descent port so I decided to just do my own.

So after 3 attempts to port this (and 2 months work!), here's the first video -> [ Show youtube player ]

Blurb: DXX-Rebirth is a Source Port of the Descent and Descent 2 Engines for Windows, Mac OS, Linux (most *NIX systems), offering OpenGL graphics and effects, advanced Multiplayer, many improvements and new features.

http://www.dxx-rebirth.com/

As you guys know, I'm busy at the moment working on NetSurf AGA now so I won't be able to give this port much time (and Descent still needs lots of work before I'd release it).
NovaCoder is online now  
AdSense AdSense  
Old 13 December 2012, 21:00   #2
adrianh78
Registered User
 
Join Date: Nov 2012
Location: Northampton
Posts: 25
NetSurf and Descent - two wonderful projects, thanks for taking the time to do them!

Cannot wait to see your progress with these - absolutely superb!

Adrian
adrianh78 is offline  
Old 13 December 2012, 21:44   #3
attila06
Zone Friend
 
Join Date: Oct 2006
Location: Nice / France
Posts: 176
NovaCoder our savior .
Thanks a lot for your job.
attila06 is offline  
Old 09 April 2013, 08:38   #4
NovaCoder
Registered User
NovaCoder's Avatar
 
Join Date: Sep 2007
Location: Melbourne/Australia
Posts: 3,373
Now that my work on Quake 2 is winding down, I'm back on this one.

I'm hoping that it won't be *too* hard to port to AGA, I've basically got it working now 100% in RTG (using the SDL).

This is the basic project plan, which is the same as for my other 68k ports:

1) Rip out all of the nasty old SDL code
2) Replace the ripped out bits with new native Amiga code (AGA graphics, AHI sound)
3) Make it fast enough to be playable on my A1200
4) Release it

The big unknown at this stage is the color depth, if it doesn't support 8bit for the game graphics then that may be a problem but I think it should be ok as the original game was in 8 bit.

The other part of this project that's a bit scary is the joystick handling code as I've never worked with Amiga joystick handling routines before.

Another option would be to update the 68k SDL to add AGA support, not sure which is harder.

Last edited by NovaCoder; 17 April 2013 at 05:34.
NovaCoder is online now  
Old 09 April 2013, 21:04   #5
tolkien
AmigaMan

tolkien's Avatar
 
Join Date: Oct 2012
Location: Castro Urdiales/Spain
Posts: 408
I think that someone must do a serious update to SDL to make it "fast" with AGA. It would be good to do other ports.
tolkien is offline  
Old 10 April 2013, 04:30   #6
NovaCoder
Registered User
NovaCoder's Avatar
 
Join Date: Sep 2007
Location: Melbourne/Australia
Posts: 3,373
Quote:
Originally Posted by tolkien View Post
I think that someone must do a serious update to SDL to make it "fast" with AGA. It would be good to do other ports.
Ok Arti just sent me his new RTG SDL (v1.2.14c), I'm going to try and build a cut-down AGA version from it.

If I can get this to work, I should make it a lot easier to port things to 68k AGA. I have tried to do this before a couple of times with the old 68k SDL and failed miserably so don't hold your breath

Last edited by NovaCoder; 11 April 2013 at 03:04.
NovaCoder is online now  
Old 10 April 2013, 20:18   #7
tolkien
AmigaMan

tolkien's Avatar
 
Join Date: Oct 2012
Location: Castro Urdiales/Spain
Posts: 408
I trust in you Nova! Nobody wants to use SDL for AGA cos its speed but if you can address it would be great!
tolkien is offline  
Old 10 April 2013, 22:38   #8
apex
Registered User
 
Join Date: Apr 2010
Location: Amigaplanet
Posts: 279
You can do this, you will do it!
apex is offline  
Old 11 April 2013, 05:21   #9
NovaCoder
Registered User
NovaCoder's Avatar
 
Join Date: Sep 2007
Location: Melbourne/Australia
Posts: 3,373
Thanks for the support guys

So far so good....

Code:
Compiler: m68k-Amiga-OS3
Building Makefile: "C:\CrossCompiler\AmiDevCpp\workspaces\Descent\Makefile.win"
Executing  make...
mingw32-make.exe -f "C:\CrossCompiler\AmiDevCpp\workspaces\Descent\Makefile.win" all 
m68k-amigaos-g++.exe objects/ai.o objects/fireball.o objects/game.o
 objects/tmerge.o objects/2dsline.o objects/bitblt.o objects/bitmap.o objects/box.o objects/canvas.o objects/circle.o 
 objects/disc.o objects/font.o objects/gpixel.o objects/line.o objects/palette.o objects/pcx.o objects/pixel.o objects/poly.o 
 objects/rect.o objects/rle.o objects/scalec.o objects/setup.o objects/clipper.o objects/draw.o objects/globvars.o 
 objects/instance.o objects/interp.o objects/matrix.o objects/points.o objects/rod.o objects/songs.o objects/state.o
 objects/switch.o objects/terrain.o objects/texmerge.o objects/text.o objects/titles.o objects/vclip.o objects/wall.o 
 objects/weapon.o objects/endlevel.o objects/gamecntl.o objects/gamefont.o objects/gamemine.o objects/gamerend.o 
 objects/gamesave.o objects/gameseg.o objects/gameseq.o objects/gauges.o objects/hash.o objects/hostage.o objects/hud.o 
 objects/inferno.o objects/kconfig.o objects/laser.o objects/lighting.o objects/menu.o objects/mglobal.o objects/mission.o
 objects/morph.o objects/object.o objects/paging.o objects/physics.o objects/piggy.o objects/player.o objects/playsave.o 
 objects/polyobj.o objects/powerup.o objects/render.o objects/robot.o objects/scores.o objects/slew.o objects/vecmat.o 
 objects/fixc.o objects/rand.o objects/tables.o objects/mem.o objects/digiobj.o objects/console.o objects/collide.o 
 objects/effects.o objects/fvi.o objects/aipath.o objects/bm.o objects/fuelcen.o objects/controls.o objects/bmread.o 
 objects/cntrlcen.o objects/config.o objects/gr.o objects/newdemo.o objects/newmenu.o objects/timer.o objects/window.o 
 objects/scanline.o objects/tmapflat.o objects/ntmap.o objects/dl_list.o objects/error.o objects/hmp.o objects/physfsx.o
 objects/strio.o objects/strutil.o objects/args.o objects/compare.o objects/event.o objects/automap.o objects/key.o 
 objects/mouse.o objects/rbaudio.o objects/digi.o objects/digi_audio.o objects/iff.o objects/joy.o objects/snddecom.o 
 objects/custom.o objects/credits.o objects/ignorecase.o objects/missing.o objects/init.o objects/physfs.o 
 objects/physfs_byteorder.o objects/physfs_amigaos3.o objects/dir.o objects/hog.o objects/physfs_unicode.o -o 
 "bin\D1X_Rebirth.exe" -L"C:/CrossCompiler/AmiDevCpp/usr/local/amiga/m68k-amigaos/lib" 
 -L"C:/CrossCompiler/AmiDevCpp/usr/local/amiga/m68k-amigaos/lib/libb/libnix" -s -noixemul 
 ../SDL_AGA/objects/SDL_yuv_sw.o ../SDL_AGA/objects/SDL.o ../SDL_AGA/objects/SDL_active.o 
 ../SDL_AGA/objects/SDL_ahiaudio.o ../SDL_AGA/objects/SDL_audio.o ../SDL_AGA/objects/SDL_audiocvt.o 
 ../SDL_AGA/objects/SDL_blit.o ../SDL_AGA/objects/SDL_blit_0.o ../SDL_AGA/objects/SDL_blit_1.o 
 ../SDL_AGA/objects/SDL_blit_A.o ../SDL_AGA/objects/SDL_blit_N.o ../SDL_AGA/objects/SDL_bmp.o 
 ../SDL_AGA/objects/SDL_cdrom.o ../SDL_AGA/objects/SDL_cpuinfo.o ../SDL_AGA/objects/SDL_cursor.o 
 ../SDL_AGA/objects/SDL_error.o ../SDL_AGA/objects/SDL_events.o ../SDL_AGA/objects/SDL_fatal.o 
 ../SDL_AGA/objects/SDL_joystick.o ../SDL_AGA/objects/SDL_keyboard.o ../SDL_AGA/objects/SDL_mixer.o 
 ../SDL_AGA/objects/SDL_mouse.o ../SDL_AGA/objects/SDL_nullevents.o ../SDL_AGA/objects/SDL_nullmouse.o 
 ../SDL_AGA/objects/SDL_nullvideo.o ../SDL_AGA/objects/SDL_pixels.o ../SDL_AGA/objects/SDL_quit.o 
 ../SDL_AGA/objects/SDL_resize.o ../SDL_AGA/objects/SDL_RLEaccel.o ../SDL_AGA/objects/SDL_rwops.o 
 ../SDL_AGA/objects/SDL_stretch.o ../SDL_AGA/objects/SDL_string.o ../SDL_AGA/objects/SDL_surface.o 
 ../SDL_AGA/objects/SDL_syscdrom.o ../SDL_AGA/objects/SDL_syscond.o ../SDL_AGA/objects/SDL_sysjoystick.o
 ../SDL_AGA/objects/SDL_sysmutex.o ../SDL_AGA/objects/SDL_syssem.o ../SDL_AGA/objects/SDL_systhread.o
 ../SDL_AGA/objects/SDL_systimer.o ../SDL_AGA/objects/SDL_thread.o ../SDL_AGA/objects/SDL_timer.o 
 ../SDL_AGA/objects/SDL_video.o ../SDL_AGA/objects/SDL_wave.o ../SDL_AGA/objects/SDL_yuv.o  

Execution terminated
Compilation successful
NovaCoder is online now  
Old 11 April 2013, 21:10   #10
tolkien
AmigaMan

tolkien's Avatar
 
Join Date: Oct 2012
Location: Castro Urdiales/Spain
Posts: 408
Some bits of magic from our wizard NovaCoder.
tolkien is offline  
Old 11 April 2013, 23:00   #11
Galahad/FLT
Going nowhere

Galahad/FLT's Avatar
 
Join Date: Oct 2001
Location: United Kingdom
Age: 43
Posts: 6,317
I've never commented on your work before, but kudos to you, doing some great things with Amiga, top stuff
Galahad/FLT is offline  
Old 12 April 2013, 08:28   #12
vroom6sri
Registered User
 
Join Date: Sep 2005
Location: Peterborough
Age: 40
Posts: 557
Am I going to be able to run this on my A1200 with ACA1231/42? I can't see any spec details on your links.

And thanks for your time and effort you are putting into your projects!
vroom6sri is offline  
Old 12 April 2013, 09:00   #13
fryguy
Registered User
 
Join Date: Aug 2005
Location: Hjo, Sweden
Age: 37
Posts: 704
Yep, i like this project too. One question though, won't AHI use more CPU than native audio? As it's made for AGA why not native audio?

Or perhaps the difference is very small CPU wise ?
fryguy is offline  
Old 13 April 2013, 07:21   #14
NovaCoder
Registered User
NovaCoder's Avatar
 
Join Date: Sep 2007
Location: Melbourne/Australia
Posts: 3,373
Quote:
Originally Posted by vroom6sri View Post
Am I going to be able to run this on my A1200 with ACA1231/42? I can't see any spec details on your links.

And thanks for your time and effort you are putting into your projects!
Thanks

These ports will be 060 only I'm afraid, I don't think an 030 or even 040 would be able to handle them, sorry.


Quote:
Originally Posted by fryguy View Post
Yep, i like this project too. One question though, won't AHI use more CPU than native audio? As it's made for AGA why not native audio?

Or perhaps the difference is very small CPU wise ?
Yep AHI is slightly slower but there's not much in it. The main reason for using AHI is that's it's easier to code for.
NovaCoder is online now  
Old 14 April 2013, 11:15   #15
matthey
Registered User
 
Join Date: Jan 2010
Location: Kansas
Posts: 1,006
Quote:
Originally Posted by NovaCoder View Post
These ports will be 060 only I'm afraid, I don't think an 030 or even 040 would be able to handle them, sorry.
Actually, if the Rebirth version of Descent is as efficient as the originals, there is a chance of it being playable on an 040. I recall playing the original on a Virge and 040@25MHz at slow but reasonable speeds with visuals turned down. I get like 60fps on my Voodoo 4 (Warp3D version) and 68060@75MHz with maximum visuals. The 3D engine is significantly simpler than the Quake engine but more demanding than Doom. An FPU would still be required.
matthey is offline  
Old 17 April 2013, 05:27   #16
NovaCoder
Registered User
NovaCoder's Avatar
 
Join Date: Sep 2007
Location: Melbourne/Australia
Posts: 3,373
Ok made a little more progress with this project.

Manage to get a basic (cut down) version of the SDL working under AGA

Here you can see it running Descent Rebirth in AGA mode for the first time

Still lots of work to do of course, I've got some issues with the SDL audio at the moment (it just hangs if I enable it).

I've also got to copy&paste the input handling over from the RTG version of the SDL that I'm using to create this version.


You'll also notice that the colors are off in Descent, this isn't a bug with my new AGA SDL library, it's because Descent itself expects the graphics to be in 16bit minimum. I don't think this is a show-stopper though because the game itself was originally written for 8 bit displays (and I have the source code), so I should be able to fix that up
Attached Thumbnails
Click image for larger version

Name:	SDL_AGA_1.JPG
Views:	362
Size:	51.0 KB
ID:	35101   Click image for larger version

Name:	SDL_AGA_2.JPG
Views:	324
Size:	72.5 KB
ID:	35102  

Last edited by NovaCoder; 17 April 2013 at 08:46.
NovaCoder is online now  
Old 17 April 2013, 13:42   #17
tolkien
AmigaMan

tolkien's Avatar
 
Join Date: Oct 2012
Location: Castro Urdiales/Spain
Posts: 408
Great effort as always. Does it mean that your SDL version has video enabled? You're an Amiga hero!
tolkien is offline  
Old 17 April 2013, 13:50   #18
NovaCoder
Registered User
NovaCoder's Avatar
 
Join Date: Sep 2007
Location: Melbourne/Australia
Posts: 3,373
Yep it has video, also timer and input should be no problem to copy across (mouse/keyboard/joystick).

The problem area is sound (which also needs threading), not sure about including that yet as it can be painful.
NovaCoder is online now  
Old 17 April 2013, 17:28   #19
tolkien
AmigaMan

tolkien's Avatar
 
Join Date: Oct 2012
Location: Castro Urdiales/Spain
Posts: 408
Has these changes increase the performance? Seems good news
tolkien is offline  
Old 17 April 2013, 22:21   #20
NovaCoder
Registered User
NovaCoder's Avatar
 
Join Date: Sep 2007
Location: Melbourne/Australia
Posts: 3,373
Quote:
Originally Posted by tolkien View Post
Has these changes increase the performance? Seems good news
If you're talking about compared to Hyperion's old Descent port then it's too early to say at this stage but we'll see (finger's crossed).

If you mean compared to the old 68k SDL libraries, I don't think any of them were released with AGA support?

Last edited by NovaCoder; 18 April 2013 at 02:33.
NovaCoder is online now  
AdSense AdSense  
 


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

Similar Threads
Thread Thread Starter Forum Replies Last Post
[ongoing] DosBox AGA (v0.74) NovaCoder project.Amiga Game Factory 95 04 July 2016 22:45
My A1200 rebirth! fatboy Retrogaming General Discussion 5 17 June 2013 20:18
Rebirth of the C64? Amiga next? Oscar Castillo Nostalgia & memories 11 02 September 2010 13:48
Pirates! Rebirth on AMIGA too Haystack Amiga scene 2 19 June 2003 01:13
Descent dido support.Games 19 23 July 2002 19:58

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

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

Forum Jump


All times are GMT +2. The time now is 02:27.


Powered by vBulletin® Version 3.8.8 Beta 1
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Page generated in 0.42192 seconds with 12 queries