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.
Page 1 of 1
Creating an absolute minimum bare CON "Well, mostly USER and DEFS"
#1 Posted 18 September 2020 - 06:21 AM
#2 Posted 18 September 2020 - 06:52 AM
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).
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
#3 Posted 18 September 2020 - 07:00 AM
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.
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.
#4 Posted 18 September 2020 - 09:34 AM
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
#5 Posted 18 September 2020 - 10:15 AM
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.
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.
#7 Posted 18 September 2020 - 10:39 AM
Jimmy, 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
#8 Posted 18 September 2020 - 02:48 PM
Hendricks266, 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
#9 Posted 18 September 2020 - 04:23 PM
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.
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.
#10 Posted 18 September 2020 - 04:58 PM
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!
#11 Posted 20 September 2020 - 05:20 PM
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.
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
Share this topic:
Page 1 of 1