Duke4.net Forums: Creating an absolute minimum bare CON - Duke4.net Forums

Jump to content

Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

Creating an absolute minimum bare CON  "Well, mostly USER and DEFS"

User is online   Reaper_Man 

  • Once and Future King

#1

Hello everyone!

It's been a hot minute since I've been working in EDuke32. I am working on a small project, and I'm wanting it to be a completely standalone release - Specifically I mean that players would not be required to own DUKE3D.GRP in order to run it.

I plan to start from a completely blank CON script and only import definitions from the original DEFS and USER files when at all necessary, so things like SECTOREFFECTOR would come over, but things like the space skies MOONSKY1 and friends would not.

The last time I worked in EDuke32 there was still a fair amount of hardcoded behavior for certain defined tiles (things like space skies killing the player for example, or Protozoid Slimers). So my question is: What behavior and/or tiles are still hardcoded that I need to avoid? Is there a list of tiles that will exhibit behavior even if their definitions are removed?

I wasn't planning on editing the executable itself, and would very very much prefer not to do that.
1

User is offline   ck3D 

#2

Not exactly what you're looking for but as far as a basic direction goes, the Special Textures section of the Infosuite lists the behavior of every tile that's not just decorative, and I (maybe naively) assume that everything not obviously dictated by .con code in there is hard-coded: https://infosuite.du...pecial_textures

It doesn't always go in depth, but it may be one start. Then the Eduke32 wiki probably covers more of the technicalities (again, maybe I'm saying this naively; I know I've looked up a lot of general info on the functioning of the game there before, but I'm not really a coder).

This post has been edited by ck3D: 18 September 2020 - 06:54 AM

1

User is online   Reaper_Man 

  • Once and Future King

#3

Thanks, I'll check that out. I think that is sorta what I am looking for.

I did find this list as well:

https://wiki.eduke32...rd_Coded_Actors

But it seems much shorter than I would have expected, and I wonder if there are other hardcoded effects based on tilenums missing.
1

User is offline   Hendricks266 

  • Weaponized Autism

  #4

I made these empty CONs for Fury at the beginning of development back in 2015. They should be useful for you. http://hendricks266....ONs_20200918.7z
4

User is online   Reaper_Man 

  • Once and Future King

#5

Awesome, thanks so much Hendricks!

As I've been tinkering with things, I've discovered fun stuff like EDuke will crash if it doesn't have things like font tiles (even if defined) in the art.

Basically making sure I can distribute a self contained game that contains A.) zero copyrighted assets and B.) as close to zero "Duke Nukem 3D" code as I can.
1

User is offline   Jimmy 

  • Let's go Brandon!

#6

I've always thought an EDuke32 "SDK" would be interesting.
1

User is offline   Hendricks266 

  • Weaponized Autism

  #7

View PostJimmy, on 18 September 2020 - 10:35 AM, said:

I've always thought an EDuke32 "SDK" would be interesting.

Something like that would be better off as a blank slate game code like KenBuild with a scripting system like QuakeC attached.

This post has been edited by Hendricks266: 15 February 2022 - 08:54 AM

2

User is online   Reaper_Man 

  • Once and Future King

#8

View PostHendricks266, on 18 September 2020 - 09:34 AM, said:

I made these empty CONs for Fury at the beginning of development back in 2015. They should be useful for you. http://hendricks266....ONs_20200918.7z


These work great, but I am having trouble replacing the fonts and other HUD and menu items. Specifically changing their tilenumber.

I pulled what I believe to be all of the necessary defines from the stock DEFS.CON and updated them in the names.con file, for example an excerpt:

define BIGFNTCURSOR 294
define SMALLFNTCURSOR 194
define BLANK 195

define STARTALPHANUM 100
define ENDALPHANUM 193

define BIGALPHANUM 300
define BIGPERIOD 336
define BIGCOMMA 337
define BIGX 338
define BIGQ 339
define BIGSEMI 340
define BIGCOLIN 341
define BIGAPPOS 344


However when I launch eduke32, I am greeted with the stock red font and spinning nuke sign.

Is the tile position of fonts hardcoded, or is there a more appropriate way to relocate the fonts? I see tilefont on the wiki, but the article makes it unclear if this is it's purpose.

There isn't anything in the console or eduke32.log, is there a more verbose error logging I can enable via flag?

On that subject, is there a list of all fonts used by the engine that must be defined?

This post has been edited by Reaper_Man: 18 September 2020 - 03:15 PM

1

User is offline   Hendricks266 

  • Weaponized Autism

  #9

You will need to place the dynamicremap token once at the beginning of your defs to redefine tile positions as far as their uses in the source code go.

There is also the ability to define entirely custom font tile maps for any UTF-8 character. There are examples of this in the Ion Fury def files starting with 1.1.
1

User is online   Reaper_Man 

  • Once and Future King

#10

Thanks a lot. I'll admit I haven't really dug into the Ion Fury stuff as much as I probably should, but that's my next stop. Appreciate it!
1

User is online   Reaper_Man 

  • Once and Future King

#11

It looks like I'll be abandoning this little detour, but in case it's helpful to anyone in the future:

These are the absolute minimum font / menu / etc. tiles that you need to get the game to run using completely custom art without crashing.

dynamicremap 

// Sector Effectors
define SECTOREFFECTOR 1
define ACTIVATOR 2
define TOUCHPLATE 3
define ACTIVATORLOCKED 4
define MUSICANDSFX 5
define LOCATORS 6
define CYCLER 7
define MASTERSWITCH 8
define RESPAWN 9
define GPSPEED 10

// Fonts
define SPINNINGNUKEICON 280
define BIGFNTCURSOR 287 // Last frame of SPINNINGNUKEICON
define SMALLFNTCURSOR 194
define BLANK 195
define STARTALPHANUM 100
define ENDALPHANUM 193

define BIGALPHANUM 211 // Start at the character A, not at the 1st character in the set!
define BIGPERIOD 336
define BIGCOMMA 337
define BIGX 338
define BIGQ 339
define BIGSEMI 340
define BIGCOLIN 341
define BIGAPPOS 344
define THREEBYFIVE 350 // Can be combined with MINIFONT?
define MINIFONT 400

// Menu and title screens
define DREALMS 500
define BETASCREEN 501
define MENUSCREEN 502
define BONUSSCREEN 503
define LOADSCREEN 504
define MENUBAR 505
define BOTTOMSTATUSBAR 506
define TENSCREEN 507
define ORDERING 508
define TEXTSTORY 512

define BETAVERSION 600 // +1, shareware logos
define SELECTDIR 602
define F1HELP 603
define NOTCHON 604
define NOTCHOFF 605
define SLIDEBAR 606 // +1, slider icon

define DIGITALNUM 610

define WINDOWBORDER1 620
define TEXTBOX 621
define WINDOWBORDER2 622
define DUKENUKEM 623
define THREEDEE 624
define INGAMEDUKETHREEDEE 625
define PLUTOPAKSPRITE 626 // +2, Atomic Edition icons
define CROSSHAIR 629
define VIEWBORDER 630

3

Share this topic:


Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic


All copyrights and trademarks not owned by Voidpoint, LLC are the sole property of their respective owners. Play Ion Fury! ;) © Voidpoint, LLC

Enter your sign in name and password


Sign in options