English Amiga Board

English Amiga Board (https://eab.abime.net/index.php)
-   project.Amiga Game Factory (https://eab.abime.net/forumdisplay.php?f=69)
-   -   [ongoing] Descent DXX-Rebirth AGA (v0.57.3) (https://eab.abime.net/showthread.php?t=66984)

NovaCoder 12 December 2012 11:00

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 -> Descent DXX-Rebirth

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

adrianh78 13 December 2012 21:00

NetSurf and Descent - two wonderful projects, thanks for taking the time to do them! :)

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

Adrian

attila06 13 December 2012 21:44

NovaCoder our savior :bowdown.
Thanks a lot for your job.

NovaCoder 09 April 2013 08:38

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.

tolkien 09 April 2013 21:04

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.

NovaCoder 10 April 2013 04:30

Quote:

Originally Posted by tolkien (Post 880578)
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 :shocked

tolkien 10 April 2013 20:18

I trust in you Nova! :) Nobody wants to use SDL for AGA cos its speed but if you can address it would be great!

apex 10 April 2013 22:38

You can do this, you will do it! :)

NovaCoder 11 April 2013 05:21

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


tolkien 11 April 2013 21:10

Some bits of magic from our wizard NovaCoder.

Galahad/FLT 11 April 2013 23:00

I've never commented on your work before, but kudos to you, doing some great things with Amiga, top stuff

vroom6sri 12 April 2013 08:28

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!

fryguy 12 April 2013 09:00

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 ?

NovaCoder 13 April 2013 07:21

Quote:

Originally Posted by vroom6sri (Post 881131)
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 (Post 881133)
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.

matthey 14 April 2013 11:15

Quote:

Originally Posted by NovaCoder (Post 881319)
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.

NovaCoder 17 April 2013 05:27

Ok made a little more progress with this project.

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

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

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 :guru

tolkien 17 April 2013 13:42

Great effort as always. Does it mean that your SDL version has video enabled? You're an Amiga hero!

NovaCoder 17 April 2013 13:50

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.

tolkien 17 April 2013 17:28

Has these changes increase the performance? Seems good news

NovaCoder 17 April 2013 22:21

Quote:

Originally Posted by tolkien (Post 882220)
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?


All times are GMT +2. The time now is 05:54.

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.

Page generated in 0.05085 seconds with 11 queries