molecicco Posted May 14, 2022 4 hours ago, Omega Tyrant said: I tried this and unfortunately the Revenant will still only fire homing missiles. This is the line that makes it only fire seeker missiles: if (level.maptime & 4) return; By commenting out that whole method, it will use the original A_Tracer in gzdoom.pk3, which has the PC check that will make it alternate between seeker and non-seeker behavior: if (level.maptime & 3) return; Commenting out the method works on my side. It doesn't make sense that it would only fire homing missiles. Perhaps you have incorrectly changed other things. Use what is inside gzdoom.pk3 as a reference for other changes. 0 Quote Share this post Link to post
Omega Tyrant Posted May 14, 2022 4 hours ago, molecicco said: This is the line that makes it only fire seeker missiles: if (level.maptime & 4) return; By commenting out that whole method, it will use the original A_Tracer in gzdoom.pk3, which has the PC check that will make it alternate between seeker and non-seeker behavior: if (level.maptime & 3) return; Commenting out the method works on my side. It doesn't make sense that it would only fire homing missiles. Perhaps you have incorrectly changed other things. Use what is inside gzdoom.pk3 as a reference for other changes. I copied over the default Revenant PSXCE data and then tried this to make sure nothing else was changed, and after thorough testing I noticed a strange result, where it would either just shoot homing missiles, or it would alternate between fast missiles and slow missiles, with neither homing, and which "mode" it spawned in seems random, while making the Revenant enter its pain state can make it switch between the two behaviors. I haven't touched anything else in the PSXCE pk3 nor have I touched the GZDoom pk3, so I'm not sure what the problem is on my end. Thanks for the help though. 0 Quote Share this post Link to post
molecicco Posted May 15, 2022 (edited) It’s because the seeker spawn login relies on the game timer. If you want it to be truly random you could change the “time & 3” validation to use a random function, but that’s not how the original worked. If you leave it commented out, you will also need to copy the frame timings from gzdoom.pk3. Here is a better explanation: https://zdoom.org/wiki/A_Tracer Edited May 15, 2022 by molecicco 0 Quote Share this post Link to post
ConvexCornet Posted May 17, 2022 (edited) I got PSXDOOM.CE-3.1.2 today, and I haven't found a way to make the in game textures show any of the texture encancements, except for linear, bilinear and trilinear. I'm trying to get 6xBRZ to work in text and ingame textures and sprites, but only the text changes to 6xBRZ. Edited May 17, 2022 by ConvexCornet 0 Quote Share this post Link to post
molecicco Posted May 17, 2022 (edited) 2 hours ago, ConvexCornet said: I got PSXDOOM.CE-3.1.2 today, and I haven't found a way to make the in game textures show any of the texture encancements, except for linear, bilinear and trilinear. I'm trying to get 6xBRZ to work in text and ingame textures and sprites, but only the text changes to 6xBRZ. You're loading the upscaled textures addon, and as far as I know gzdoom doesn't apply those filters to high res texture replacements. If you really want to use xBRZ filtering, you will need to remove the upscales. It would use too much memory anyway. Ref: https://forum.zdoom.org/viewtopic.php?f=50&t=63754 Edited May 17, 2022 by molecicco 0 Quote Share this post Link to post
ConvexCornet Posted May 18, 2022 23 hours ago, molecicco said: You're loading the upscaled textures addon, and as far as I know gzdoom doesn't apply those filters to high res texture replacements. If you really want to use xBRZ filtering, you will need to remove the upscales. It would use too much memory anyway. Ref: https://forum.zdoom.org/viewtopic.php?f=50&t=63754 Thanks. I removed the PSXDOOM.CE.Addon.GFX.Upscale file, and it's ok now.I hope in the near future 6xBRZ will be doable on the high res textures. 1 Quote Share this post Link to post
Omega Tyrant Posted May 23, 2022 (edited) So I completed the Ultimate Doom episode and everything was running fine for me, but upon starting SIGIL, the FPS suddenly tanked to sub-20. I was confused on why the FPS was suddenly so bad and tinkering around with the graphic and display settings didn't seem to change much, but then I found just turning off world ambient sounds brought the FPS back up to 60. Guess SIGIL maps have too much lava for weak CPUs to handle world ambient sounds? Anyway just posting about this so if anyone else also encounters an FPS drop in SIGIL, they'll know how to fix it. Edited May 23, 2022 by Omega Tyrant 2 Quote Share this post Link to post
Immorpher Posted May 24, 2022 5 hours ago, Omega Tyrant said: So I completed the Ultimate Doom episode and everything was running fine for me, but upon starting SIGIL, the FPS suddenly tanked to sub-20. I was confused on why the FPS was suddenly so bad and tinkering around with the graphic and display settings didn't seem to change much, but then I found just turning off world ambient sounds brought the FPS back up to 60. Guess SIGIL maps have too much lava for weak CPUs to handle world ambient sounds? Anyway just posting about this so if anyone else also encounters an FPS drop in SIGIL, they'll know how to fix it. I haven't played Sigil in CE but I did notice it in Beta 64 with large water maps. Apparently there are "thinkers" which get added to liquid surfaces to add liquid sounds. The larger the surface the more "thinkers" that get added and the bigger the chance for a frame drop. So ya your solution is the way to go for this issue I think! 2 Quote Share this post Link to post
molecicco Posted May 28, 2022 I've released version 3.1.3 in ModDB. It addresses the last remaining bugs I had in my backlog, so there likely won't be another update until GZDoom 4.8.0 comes out (unless people report something critical). I might publish some additional level pack addons in between, though. 3 Quote Share this post Link to post
ludicrous_peridot Posted May 28, 2022 2 hours ago, molecicco said: I've released version 3.1.3 in ModDB. It addresses the last remaining bugs I had in my backlog Great news. Would you mind explaining which pk3 need to be re-downloaded? 0 Quote Share this post Link to post
molecicco Posted May 28, 2022 (edited) 1 hour ago, ludicrous_peridot said: Great news. Would you mind explaining which pk3 need to be re-downloaded? If you’re upgrading from a previous 3.x release, just grab the Lite version and copy the ipk3s, those are the only files that have changed. If you’re upgrading from something earlier than that it’s better if you just overwrite everything with the latest. The level pack addons are harder to track, but you can check the update date on ModDB and redownload it if it’s newer than what you have. (EDIT: Specifically for 3.1.3, the only updated mapset is the Rumble Pak). Edited May 28, 2022 by molecicco 2 Quote Share this post Link to post
brick Posted May 29, 2022 I've been using this more and more recently, it's a pretty cool way to play some of the PS or N64 themed wads like Beta64 or Fall of Triton. I've been wondering about the extended edition soundtracks and how they work, do they interact at all with those add-ons, or are the extra tracks only ever used if playing the base games in the full version? 0 Quote Share this post Link to post
molecicco Posted May 29, 2022 2 hours ago, brick said: I've been using this more and more recently, it's a pretty cool way to play some of the PS or N64 themed wads like Beta64 or Fall of Triton. I've been wondering about the extended edition soundtracks and how they work, do they interact at all with those add-ons, or are the extra tracks only ever used if playing the base games in the full version? You will hear the extended version of the track that is assigned to the map, but the bonus tracks won't be used. I didn't want to take liberties that could go against the vision of the original authors of those mapsets. 2 Quote Share this post Link to post
brick Posted May 29, 2022 8 minutes ago, molecicco said: You will hear the extended version of the track that is assigned to the map, but the bonus tracks won't be used. I didn't want to take liberties that could go against the vision of the original authors of those mapsets. Thank you for clarifying! That makes a lot of sense. And thank you for all the work you've put into CE, and into making it so customizable. 2 Quote Share this post Link to post
Antnee Posted May 30, 2022 Excellent work as usual. I've been away a while, so I was wondering what happened to some of the "missing d64 monsters" threads around here? Has anyone attempted to make a proper d64 revenant or archvile? Would be a super cool addition to this mod. 2 Quote Share this post Link to post
Immorpher Posted May 30, 2022 42 minutes ago, Antnee said: Excellent work as usual. I've been away a while, so I was wondering what happened to some of the "missing d64 monsters" threads around here? Has anyone attempted to make a proper d64 revenant or archvile? Would be a super cool addition to this mod. DrPyspy finished the Revenant and Archvile! (https://forum.zdoom.org/viewtopic.php?f=37&t=68009) And they are in CE now :D 2 Quote Share this post Link to post
Antnee Posted May 30, 2022 whoaaaa super cool!! Chaingunner too? I suppose that would be easy enough to mod in if it's not already in. I've been getting the hankering to start mapping again- I think I want to go full tilt using CE to make another beta64 style megawad, but this time taking advantage of the look and feel of the enhanced graphics. Probably gonna need to pick your brain if that's alright! 1 Quote Share this post Link to post
Antnee Posted May 30, 2022 First issue I ran into was just trying to load the resources into Ultimate Doom builder. This is my configurations page. It spits hundreds of errors right off the bat, so I must be doing something wrong! 0 Quote Share this post Link to post
molecicco Posted May 30, 2022 (edited) 1 hour ago, Immorpher said: DrPyspy finished the Revenant and Archvile! (https://forum.zdoom.org/viewtopic.php?f=37&t=68009) And they are in CE now :D Whoa, the Arch-vile is out? I don't have that one in the mod yet. EDIT: Seems like it's not finished yet, all I could find was the teaser 16 minutes ago, Antnee said: First issue I ran into was just trying to load the resources into Ultimate Doom builder. This is my configurations page. It spits hundreds of errors right off the bat, so I must be doing something wrong! Are you using version 3.1.3 of the mod? The pk3 named "DOOM64.CE.Base" was removed a while ago. If you've upgraded from a really old version, just delete that file and make sure to generate the doom64.iwad again because I made some changes to it (or just start over in a clean installation to save the trouble). This is how I have my UDB set up: There's 8 warnings, but those can be safely ignored. Edited May 30, 2022 by molecicco 0 Quote Share this post Link to post
Antnee Posted May 30, 2022 I bet this is something really silly on my part. I re-downloaded, reinstalled, and these are my resources It still shoots almost two hundred errors. For example: 0 Quote Share this post Link to post
molecicco Posted May 30, 2022 1 minute ago, Antnee said: It still shoots almost two hundred errors. For example: Try moving gzdoom.pk3 to the top of the load order (like in my screenshot). 0 Quote Share this post Link to post
Antnee Posted May 30, 2022 ah HA! THAT did the trick! 8 minor errors, just like you said. So how hard would it be to whip up a "blank" map project for D64CE? There's lots of Pk3s in your map pack, and I'm unfamiliar with how that all fits together. What should I do? Thanks for the lightning fast replies BTW 2 Quote Share this post Link to post
molecicco Posted May 30, 2022 (edited) 1 hour ago, Antnee said: So how hard would it be to whip up a "blank" map project for D64CE? There's lots of Pk3s in your map pack, and I'm unfamiliar with how that all fits together. What should I do? The other pk3s are addons that contain optional stuff like the hi-res versions of the textures, PBR materials and brightmaps. You don't need to load them in Doom Builder. I usually create them at the end, when I've finished with the maps (I can help you with that later). They are only needed if you add new textures or if you use composite textures so that they don't clash with other textures that already have them. For a mapping reference I suggest you look at maps 01 to 34 which are based on Doom 64: Retribution and are UDMF-native. The other map packs use a very esoteric "framework" that I created to automate the conversion of maps in Doom 64 format to UDMF, and there's a lot of undocumented stuff in them that may confuse you. If you #import ungec.acs, there are some ACS functions that could be useful if you are used to some of the unique Doom 64 actions: //====helper scripts (invoke using ACS_NamedExecuteAlways("Script Name", arg0, arg1, ...);) //copies the gradient lights from a sector with tag <TagSrc> to sectors with tag <TagDest> script "Sector_CopyLights" (int TagDest, int TagSrc) //copies the textures from a sector with tag <TagSrc> to sectors with tag <TagDest> script "Sector_CopyTextures" (int TagDest, int TagSrc) //copies the gradient lights from a sector with tag <TagSrc> to sectors with tag <TagDest>, interpolating the colors over time script "Sector_CopyLightsAndInterpolate" (int TagDest, int TagSrc) //copies the flags from a line with tag <TagSrc> to lines with tag <TagDest> script "Sector_CopyFlags" (int TagDest, int TagSrc) //copies the actions from a sector with tag <TagSrc> to sectors with tag <TagDest> script "Sector_CopySpecials" (int TagDest, int TagSrc) //execute the line action of a random line tagged <Tag> script "LineRandom" (int tag) //copies the action from a line with tag <TagSrc> to lines with tag <TagDest> script "Line_CopySpecials" (int TagDest, int TagSrc) //copies flags from a line with tag <TagSrc> to lines with tag <TagDest> script "Line_CopyFlags" (int TagDest, int TagSrc) //copies textures from a line with tag <TagSrc> to lines with tag <TagDest> script "Line_CopyTextures" (int TagDest, int TagSrc) //when all monsters with tag <Tag> are dead, executes the line with the same tag. <Flag> must always be the number 16384. Useful when assigned as a Thing Action. script "A_OnDeathTrigger" (int tag, int flag) //executes a line with tag <Tag>. Useful when assigned as Thing Action. script "TouchTrigger" (int tag) //====helper functions (directly invoked) //spawns a thing with spawn num <SpawnID> at map spot with <SpotTID>, and assigns tid <NewTID> to it (uses an unique tid if 0). function void Thing_FadeSpawn (int spotTID, int spawnID, int newTID) //dissolves a thing with tid <ThingID>. If <KeepThing> is 1, it can be spawned again using Thing_FadeIn. If 0, it will be completely removed. function void Thing_FadeOut (int thingID, int keepThing) //materializes a thing with tid <Tid>, usually one previously dissolved by Thing_FadeOut function void Thing_FadeIn (int tid) I've quickly cobbled up a "starter" pk3 that should have the bare minimum you need to start: https://drive.google.com/file/d/1L1MSbhzlpI_SKQdue5jAko_i0MrNVRq3/view?usp=sharing Edited May 30, 2022 by molecicco 2 Quote Share this post Link to post
Antnee Posted May 30, 2022 Ah thanks, that PK3 you uploaded is a great start. Been tinkering with it some this morning. Managed to load a map in there, edit the mapinfo, etc. Now, I remember when GEC first hit the scene, I started making some modifications, and clearly the structure of the mod has changed. For example, one of the main things I wanted to do was to create an alternate Unmaker which uses it's own pool of ammo (instead of using plasma cells). Ooh, ahh, custom unmaker ammo with fancy evil heartbeat Looking through my old project files, I made an "unmakerammo.wad" that had a decorate file in it, which basically had the entire list of custom actors. This is my entry: Quote ACTOR 64Unmaker2 : DoomWeapon 9903 { //$Color 14 //$NotAngled //$Sprite LGUNA0 //$Category Doom64Things Game Doom SpawnID 189 Radius 20 Height 20 Weapon.SelectionOrder 2900 Weapon.SlotNumber 8 Weapon.AmmoUse 1 Weapon.AmmoGive 40 Weapon.AmmoType "UnmakerAmmo" Inventory.PickupMessage "$GOTLASER" Inventory.PickupSound "misc/w_pkup" AttackSound "Null" Inventory.Icon "LGUNA0" Tag "$TAG_LASER" -WEAPON.NOAUTOFIRE +DONTGIB And the Ammo Quote /* --- UNMAKERAMMO */ ACTOR UnmakerAmmo : Ammo 9091 { //$NotAngled //$Sprite UNANA0 //$Category Doom64Things Inventory.PickupMessage "Picked up Unmaker charges" Inventory.Amount 10 Inventory.MaxAmount 150 Ammo.BackpackAmount 10 Ammo.BackpackMaxAmount 300 States { Spawn: UNAN A 3 UNAN B 5 UNAN C 10 UNAN B 5 Loop } } ACTOR BigUnmakerAmmo : UnmakerAmmo 9090 { //$NotAngled //$Sprite UNAMA0 //$Category Doom64Things Inventory.PickupMessage "Picked up Unmaker charges" Inventory.Amount 30 Inventory.MaxAmount 150 Ammo.BackpackAmount 30 Ammo.BackpackMaxAmount 300 States { Spawn: UNAM A 3 UNAM B 5 UNAM C 10 UNAM B 5 Loop } } I also wanted to add a SuperShotgunGuy and a few other misc things. So I guess what I'm getting at is: What would be the best way to do custom actors so that I'm not causing any conflicts, and that my custom pk3 megawad is future-proof (meaning, any changes I make will seamlessly integrate into your future updates)? 0 Quote Share this post Link to post
Gez Posted May 30, 2022 On dimanche 15 mai 2022 at 11:31 PM, molecicco said: It’s because the seeker spawn login relies on the game timer. If you want it to be truly random you could change the “time & 3” validation to use a random function, but that’s not how the original worked. If you leave it commented out, you will also need to copy the frame timings from gzdoom.pk3. Here is a better explanation: https://zdoom.org/wiki/A_Tracer To explain things in detail: & is the bitwise operator. When you do time & 3 what it does is that it takes the value from time, and the value 3 (which in binary is written 11) and the result is a value where every bit is 1 if it is 1 in both 3 and time, and 0 otherwise. Meaning there are only four possible values, namely: 00, 01, 10, 11; or 0, 1, 2, and 3 in decimal notation. Then there's an "if" evaluation on this result, and so any value except 0 will be true. With time & 4 it's the same principle, except the binary notation of 4 is 100. So there are only two possible values, 100 and 000. By definition, the two lower bits that are 0 in 4 cannot become 1 in the & operation, since they're 0 on at least one side of the operation. 1 Quote Share this post Link to post
Antnee Posted May 31, 2022 Alright, after a day of tinkering I've figured out a bunch of stuff. Got a custom SuperShotgun Guy and Unmaker with custom Unmaker Ammo, all with proper zscript files instead of DECORATE. SuperShotgunGuy doesn't seem to use the updated D64shotgunguy sprites despite me pointing each frame to the SPOS/SSGY/SPO2 frames, which is odd. Got the unGEC.ACS library imported so I can live in my comfortable D64ex-style scripting. Good stuff. One thing I have not been able to figure out: How are you telling the engine which skies to use for each level? I looked through my Beta64.pk3, and it seems when it was converted it migrated all the skies to F_SKY1. But I can't for the life of me figure out where the definitions are? 0 Quote Share this post Link to post
UnknDoomer Posted May 31, 2022 (edited) Short question, just trying to figure out a little. I've seen there are Corruption Cards and Complex Doom mods supported. Things with first one is more/less clear, but what about Complex Doom? How it's affect on overall gameplay in case, well, monsters there is a quite different in compare? Or it's reather partly supported? Edited May 31, 2022 by UnknDoomer 0 Quote Share this post Link to post
molecicco Posted June 1, 2022 (edited) 11 hours ago, Antnee said: Alright, after a day of tinkering I've figured out a bunch of stuff. Got a custom SuperShotgun Guy and Unmaker with custom Unmaker Ammo, all with proper zscript files instead of DECORATE. SuperShotgunGuy doesn't seem to use the updated D64shotgunguy sprites despite me pointing each frame to the SPOS/SSGY/SPO2 frames, which is odd. You can use the actor definitions inside the ipk3 as reference. To make the Unmaker use different ammo, I'd inherit from D64LaserRifle and change its AmmoType actor property. For the SuperShotgunguy, you could inherit from D64Actor and use one of the zombies in possessed.zsc as a template (my shotgunguy is a little messy because it uses three sets of sprites though). 11 hours ago, Antnee said: One thing I have not been able to figure out: How are you telling the engine which skies to use for each level? I looked through my Beta64.pk3, and it seems when it was converted it migrated all the skies to F_SKY1. But I can't for the life of me figure out where the definitions are? The skies are using a SkyViewPoint thing placed inside a skybox sector (look for a large square sector outside the map bounds). For clouds, the ipk3 includes cloud textures that are stretched and colored the same way as the ones in the iwad. They follow a similar naming scheme to the skies defined in SKYDEFS (for example, using texture CLOUD_SA is analogous to the clouds in F_SKYA, CLOUD_SB is to F_SKYB, etc). Check something like map10 to see how they're set up inside the skybox. You can also create custom colored clouds in a clunkier but similar way to SKYDEFS. In GLDEFS, you can create a material texture definition like this: This is what I have in the ipk3 for CLOUD_SA, but you could do something similar for new clouds, like CLOUD_SZ. material texture "CLOUD_SA" //texture name { shader "shaders/64.fp" //always required define CLOUD //always required define BASE_COLOR = "0xB0, 0x80, 0xFF" //same as skydefs, base cloud color define HIGH_COLOR = "0x00, 0x00, 0x00" //same as skydefs, top color define LOW_COLOR = "0x00, 0x00, 0x15" //same as skydefs, bottom color define SKIP_GRADIENT_LIGHT //always required } Defining it in GLDEFS is not enough. CLOUD_SA also has to be a real texture, whether it's included as an image or defined in the TEXTURES lump. For CLOUD_SA, I use the original 64x64 CLOUD texture of the iwad and stretch it horizontally to faithful proportions it using a composite texture: Texture "CLOUD_SA", 64, 64 { XScale 0.250 YScale 0.500 Patch "CLOUD", 0, 0 { FlipX } } Then, when you place the CLOUD_SA texture in the map skybox it will be displayed ingame stretched and using the colors that were defined in GLDEFS. This is CLOUD_SC: One more thing. CE has a toggle to enable higher quality skies through the Features menu. When it is enabled, it will replace all the underscores in the cloud texture names with an N. This means that CLOUDNSA would get loaded instead of CLOUD_SA. For that to work I actually provide two sets of definitions for each cloud texture (CLOUD_SA, CLOUDNSA, CLOUD_SB, CLOUDNSB, etc). material texture "CLOUDNSA" //same as CLOUD_SA, because it should use the same colors { shader "shaders/64.fp" define CLOUD define BASE_COLOR = "0xB0, 0x80, 0xFF" define HIGH_COLOR = "0x00, 0x00, 0x00" define LOW_COLOR = "0x00, 0x00, 0x15" define SKIP_GRADIENT_LIGHT } Graphic "CLOUDNSA", 512, 512 //I use a higher quality patch here instead of the 64x64 CLOUD.png { Patch "NEWCLOUD", 0, 0 } Then, if you have placed CLOUD_SA inside the skybox, it will automatically use CLOUDNSA if the option is enabled. This is CLOUDNSC: That was a lot! There are a lot of other undocumented areas I've not explained yet. I realize some things are not very user friendly. 11 hours ago, UnknDoomer said: Short question, just trying to figure out a little. I've seen there are Corruption Cards and Complex Doom mods supported. Things with first one is more/less clear, but what about Complex Doom? How it's affect on overall gameplay in case, well, monsters there is a quite different in compare? Or it's reather partly supported? Mods that add new monsters don't mesh well with Doom 64 because actors (including the player) are much taller and the sprites are styled differently. Worst case scenario, you will be playing Doom 64 levels with tiny Doom 2-styled monsters and weapons, and the player height will be shrunken down too. The mod's gameplay will be there, though. Those kind of mods work better with PS Doom. Corruption Cards is a special case because of how it is implemented. That one will only alter the behavior of what is already there, so it works pretty much seamlessly. Edited June 1, 2022 by molecicco Added images 2 Quote Share this post Link to post
UnknDoomer Posted June 1, 2022 (edited) Okey. So at the end point better not try to use it. I.e. it might work with PSX, but, it seems, as well it still might cause enough glitches, including in compare to Corruption Cards. Edited June 1, 2022 by UnknDoomer 0 Quote Share this post Link to post
Antnee Posted June 1, 2022 Excellent, I was able to get skies working properly. And 3d floors, too! One thing I'm noticing is that Peg Upper/Lower wall color isn't a flag in Ultimate Doom builder. I recall some chatter on the GZdoom dev threads to allow this to be a thing... is it a thing? Am I missing it somehow? 1 Quote Share this post Link to post
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.