I haven't tried this port yet.  What benefits does it have over other ports,  any port unique features? 

1 person likes this

Share this post


Link to post
On 26/12/2016 at 10:48 AM, jval said:

Pascal code maps to C (and C code maps to Pascal) very well, almost as an Injective function.
On the other hand, Java is a fully OOP language, so Maes had to deal with a total OOP rewrite of the code.

 

Actually, mapping everything to OOP was the easy part: due to its Objective-C roots, Doom has actually a very OOP-friendly structure which became more evident the more I worked on it, and in many cases I didn't even have to change the code of some functions for them to work. Globals also mapped cleanly to singletons, no problem there.

 

What WAS a PITA however was the lack of unsigned types, lightweight objects and typedefs in Java, which made some mappings unintuitive  and clunky to use (e.g.fixed_t -> int, angle_t -> long, unsigned short -> char), the heavy use of function pointers and union types (thinker functions) etc. which required some non-trivial reengineering.

Edited by Maes

Share this post


Link to post
On 2/9/2017 at 0:34 AM, Death Egg said:

I haven't tried this port yet.  What benefits does it have over other ports,  any port unique features? 

 

The most characteristic features of DelphiDoom are:

  • Fast multithreading software renderer with true color output, external textures, transparency, voxels, and post processing effect to eliminate perspective distortion
  • Custom actor definition (ACTORDEF lumps)
  • Advanced script engine (PascalScript) to customize levels and actors (procedures, functions, recursion, loops, user defined types, dll function calls etc)
  • Support for all official releases of Doom, Heretic, Hexen, Strife & Chex Quest (including the very first Doom Shareware 0.99, Heretic Wide Area Beta and Strife Teasers)
  • Developed in Pascal language
2 people like this

Share this post


Link to post

Amazing work! Is there any DNA from the quake engine ? Also, i think it's too soon to worry about zdoom compatibility, but does it have any ?

 

Looking forward to future updates!

Edited by GhoulDesecrator
grammar

Share this post


Link to post
On 5/9/2017 at 7:33 PM, GhoulDesecrator said:

Amazing work! Is there any DNA from the quake engine ? Also, i think it's too soon to worry about zdoom compatibility, but does it have any ?

 

Looking forward to future updates!

 

The only thing that DelphiDoom shares with the quake engine are the MD2 model typedefs.

 

There is no zdoom compatibility.

 

Edited by jval

Share this post


Link to post

A new meintainance release (ver 2.0.2.703) is available.

 

This release includes new features such as:

  • Support for PCX images as external textures.
  • New mobj functions to control flow depending on map & world variables.
  • Support for 'TEXTURE3' texture lump.
  • Builds map nodes if missing from wad file.

 

Download link at sourceforge: https://sourceforge.net/projects/delphidoom/files/DelphiDoom%202.0.3/

Share this post


Link to post

TEXTURE3? Well, why not.

1 person likes this

Share this post


Link to post

And why not all digits from 0 to 9 outright? I can see a point in saving letters for potential new formats akin to TEXTURES, but digits...

3 people like this

Share this post


Link to post
4 minutes ago, scifista42 said:

And why not all digits from 0 to 9 outright? I can see a point in saving letters for potential new formats akin to TEXTURES, but digits...

 

I consider multiple TEXTURE3 lumps inside the WAD structure as more appropriate behaviour, since using TEXTURE4, TEXTURE5 etc will cause uncertainty among loading at once multiple mods.

But ... for now, only one single TEXTURE3 lump is supported (the one at the last WAD loaded).

I stick to that since the purpose of TEXTURE3 lump is to:

  • provide textures that are using existing patches (PNAMES)
  • easy declaration of texture names (set numpatches to zero and use a hi resolution replacement between HI_START & HI_END lump markers).

Future plans include the creation of an extended (probably with scipt/text-based syntax) declaration of user defined textures. Before that I want first to find out how other ports deal with custom texture definition (ZDoom, Vavoom, others?) and make a compatible implementation.

 

Share this post


Link to post
On 9/5/2017 at 3:10 PM, jval said:

post processing effect to eliminate perspective distortion

How does that effect work?

Share this post


Link to post
13 minutes ago, dpJudas said:

How does that effect work?

 

You can look at that thread: https://www.doomworld.com/forum/topic/64148-delphidoom-progress-in-3d-perspective-in-software-mode-now-with-voxel-support/#comment-1165911

 

It's a compination of

  • zaxisshift
  • aspect ratio changing depending on the look up/look down angle
  • panning and stretching of horizontal lines depending on the line Y position
  • a trapezoid to rectangle transformation
Edited by jval
syntax

Share this post


Link to post

Hey, that looks pretty cool actually. :)

1 person likes this

Share this post


Link to post

A new meintainance release (ver 2.0.3.704) is available.

 

New features:

  • PascalScript can now access DLLs from inside pk3 files. (or WAD files if using the PK3ENTRY lump). (download DLL inside WAD Example)
  • Smooth freelooking. Now the engine does not ignore the slight variations in mouse movement as noticed by RTC_MArine:
On 26/12/2016 at 6:07 PM, RTC_Marine said:

* When freelooking, I have to give the mouse a good push to make it work, slight variations in mouse movement do not register

  • Internal save/load version updated to version 2.03 for all branches.
  • Added gl_no_glfinish_hack console variable to avoid with OpenGL slowdown on systems with Intel HD4000 and Windows 10 (default is True).  Further information can be found at intel communities forum
  • Will load configuration file (*.ini) of previous versions.

 

Download link at sourceforge: https://sourceforge.net/projects/delphidoom/files/DelphiDoom 2.0.3/

3 people like this

Share this post


Link to post

A new meintainance release (ver 2.0.3.705) is available.

 

New features/fixes:

  • Hud drawing speed optimizations in 2560 x 1440 & 3840 x 2160 resolutions.
  • Fixed music pitch problem as mentioned by RTC_Marine:

 

On 26/12/2016 at 6:07 PM, RTC_Marine said:

* Music playback is fine for a couple of seconds after starting a level, then the pitch drops for the whole song

 

Download link at sourceforge: https://sourceforge.net/projects/delphidoom/files/DelphiDoom%202.0.3/

1 person likes this

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now