12 December 2012, 11:00 | #1 |
Registered User
Join Date: Sep 2007
Location: Melbourne/Australia
Posts: 4,400
|
Descent DXX-Rebirth AGA/RTG
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). Links: http://aminet.net/package/game/shoot/D1X_Rebirth_RTG http://aminet.net/package/game/shoot/D1X_Rebirth_AGA Last edited by NovaCoder; 14 April 2021 at 02:50. |
13 December 2012, 21:00 | #2 |
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 |
13 December 2012, 21:44 | #3 |
Zone Friend
Join Date: Oct 2006
Location: Nice / France
Posts: 206
|
NovaCoder our savior .
Thanks a lot for your job. |
09 April 2013, 08:38 | #4 |
Registered User
Join Date: Sep 2007
Location: Melbourne/Australia
Posts: 4,400
|
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. |
09 April 2013, 21:04 | #5 |
AmigaMan
Join Date: Oct 2012
Location: Castro Urdiales/Spain
Posts: 760
|
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.
|
10 April 2013, 04:30 | #6 | |
Registered User
Join Date: Sep 2007
Location: Melbourne/Australia
Posts: 4,400
|
Quote:
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. |
|
10 April 2013, 20:18 | #7 |
AmigaMan
Join Date: Oct 2012
Location: Castro Urdiales/Spain
Posts: 760
|
I trust in you Nova! Nobody wants to use SDL for AGA cos its speed but if you can address it would be great!
|
10 April 2013, 22:38 | #8 |
Registered User
Join Date: Apr 2010
Location: Amigaplanet
Posts: 645
|
You can do this, you will do it!
|
11 April 2013, 05:21 | #9 |
Registered User
Join Date: Sep 2007
Location: Melbourne/Australia
Posts: 4,400
|
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 |
11 April 2013, 21:10 | #10 |
AmigaMan
Join Date: Oct 2012
Location: Castro Urdiales/Spain
Posts: 760
|
Some bits of magic from our wizard NovaCoder.
|
11 April 2013, 23:00 | #11 |
Going nowhere
Join Date: Oct 2001
Location: United Kingdom
Age: 50
Posts: 8,986
|
I've never commented on your work before, but kudos to you, doing some great things with Amiga, top stuff
|
12 April 2013, 08:28 | #12 |
Registered User
Join Date: Sep 2005
Location: Peterborough
Age: 47
Posts: 841
|
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! |
12 April 2013, 09:00 | #13 |
Registered User
Join Date: Aug 2005
Location: Skarabörg, Sweden
Age: 44
Posts: 1,019
|
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 ? |
13 April 2013, 07:21 | #14 | |
Registered User
Join Date: Sep 2007
Location: Melbourne/Australia
Posts: 4,400
|
Quote:
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. 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. |
|
14 April 2013, 11:15 | #15 |
Banned
Join Date: Jan 2010
Location: Kansas
Posts: 1,284
|
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.
|
17 April 2013, 05:27 | #16 |
Registered User
Join Date: Sep 2007
Location: Melbourne/Australia
Posts: 4,400
|
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 Last edited by NovaCoder; 14 December 2021 at 00:15. |
17 April 2013, 13:42 | #17 |
AmigaMan
Join Date: Oct 2012
Location: Castro Urdiales/Spain
Posts: 760
|
Great effort as always. Does it mean that your SDL version has video enabled? You're an Amiga hero!
|
17 April 2013, 13:50 | #18 |
Registered User
Join Date: Sep 2007
Location: Melbourne/Australia
Posts: 4,400
|
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. |
17 April 2013, 17:28 | #19 |
AmigaMan
Join Date: Oct 2012
Location: Castro Urdiales/Spain
Posts: 760
|
Has these changes increase the performance? Seems good news
|
17 April 2013, 22:21 | #20 |
Registered User
Join Date: Sep 2007
Location: Melbourne/Australia
Posts: 4,400
|
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. |
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 | 182 | 14 January 2022 03:26 |
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 |
|
|