From cc81f1f7972cc0e072489646370a834a21ed67ab Mon Sep 17 00:00:00 2001 From: MsrSgtShooterPerson Date: Mon, 28 Oct 2024 14:55:16 +0800 Subject: [PATCH 1/7] Updated OTEX module tooltip that WAD version must be used, not pk3. --- modules/zdoom_otex.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/zdoom_otex.lua b/modules/zdoom_otex.lua index b7d6abb03..cfb7124f9 100644 --- a/modules/zdoom_otex.lua +++ b/modules/zdoom_otex.lua @@ -887,7 +887,7 @@ OB_MODULES["otex_proc_module"] = }, tooltip = _("If enabled, generates room themes using OTEX based on a resource table. ".. - "OTEX must be manually loaded in the sourceport. " .. + "OTEX WAD (not pk3 version) must be manually loaded in the sourceport. " .. "Includes textures and flats only, no patches.\n\n" .. "Currently does not make any kind of sensibly curated room themes."), From 4b22a2eddddf28ab379c82b401740573f7b08947 Mon Sep 17 00:00:00 2001 From: MsrSgtShooterPerson Date: Mon, 28 Oct 2024 15:04:19 +0800 Subject: [PATCH 2/7] - Fixed issue with OTEX GLDEFS insert not previously parsing properly. --- modules/zdoom_otex.lua | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/modules/zdoom_otex.lua b/modules/zdoom_otex.lua index cfb7124f9..407705aa8 100644 --- a/modules/zdoom_otex.lua +++ b/modules/zdoom_otex.lua @@ -520,7 +520,7 @@ OTEX_SPECIAL_RESOURCES = OTEX_GLOWING_FLATS = [[ - OBLODA01 +OBLODA01 OGOOPY01 OICYWA01 OLAVAA01 @@ -546,7 +546,6 @@ end function OTEX_PROC_MODULE.synthesize_procedural_themes() local resource_tab = {} - local r local function pick_unique_texture(table, tex_group, total_tries) local tex @@ -856,7 +855,7 @@ end function OTEX_PROC_MODULE.all_done() - string.gsub( + GAME.RESOURCES.GLOWING_FLATS_GLDEFS = string.gsub( GAME.RESOURCES.GLOWING_FLATS_GLDEFS, "GLOWFLTS", OTEX_GLOWING_FLATS From 77f894142aa444e2c24fc50182cb5e6b3076b215 Mon Sep 17 00:00:00 2001 From: MsrSgtShooterPerson Date: Mon, 28 Oct 2024 15:08:37 +0800 Subject: [PATCH 3/7] MRBL dyslexia --- modules/zdoom_otex.lua | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/modules/zdoom_otex.lua b/modules/zdoom_otex.lua index 407705aa8..56eec5a1e 100644 --- a/modules/zdoom_otex.lua +++ b/modules/zdoom_otex.lua @@ -96,17 +96,17 @@ OTEX_DIRECT_REMOVALS = { "OMRBLA90", "OMRBLA91", - "OMBRLA92", - "OMBRLA93", - "OMBRLA94", + "OMRBLA92", + "OMRBLA93", + "OMRBLA94", - "OMBRLC90", + "OMRBLC90", - "OMBRLF29", - "OMBRLF38", - "OMBRLF90", + "OMRBLF29", + "OMRBLF38", + "OMRBLF90", - "OMBRLG90", + "OMRBLG90", "OMRBLI92", "OMRBLI93", @@ -119,11 +119,11 @@ OTEX_DIRECT_REMOVALS = "OMRBLO28", "OMRBLO29", - "OMBRLP90", - "OMBRLP91", + "OMRBLP90", + "OMRBLP91", - "OMBRLR90", - "OMBRLR94" + "OMRBLR90", + "OMRBLR94" } }, From 5cd430e0ea30d63e699d8bab870a96e1dd7ddd0f Mon Sep 17 00:00:00 2001 From: MsrSgtShooterPerson Date: Sat, 2 Nov 2024 03:00:48 +0800 Subject: [PATCH 4/7] Made emergency teleporter breaks much more aggressive, but small single-room destinations will be culled by the end of generation. --- scripts/grower.lua | 82 +++++++++++++++++++++++++++------------------- scripts/room.lua | 2 ++ 2 files changed, 50 insertions(+), 34 deletions(-) diff --git a/scripts/grower.lua b/scripts/grower.lua index 2125de4c7..90d5390db 100644 --- a/scripts/grower.lua +++ b/scripts/grower.lua @@ -1184,14 +1184,10 @@ function Grower_decide_extents(LEVEL) end -- linear start code - if PARAM.linear_start then - if PARAM.linear_start ~= "default" then - if PARAM.linear_start == "all" then - LEVEL.has_linear_start = true - elseif rand.odds(math.floor(PARAM.linear_start)) then - LEVEL.has_linear_start = true - end - end + if PARAM.linear_start + and PARAM.linear_start ~= "default" + and PARAM.linear_start == "all" then + LEVEL.has_linear_start = true end if LEVEL.has_linear_start then @@ -1523,9 +1519,6 @@ end function Grower_kill_room(SEEDS, LEVEL, R) - - local hallway_neighbor - gui.debugf("Killing " .. R.id .. "\n") local function turn_joiner_into_closet(R2, chunk) @@ -3626,7 +3619,7 @@ end -- SUCCESS -- - gui.debugf("APPLIED rule: " .. cur_rule.name .. " in ROOM_" .. R.id.. "\n") + gui.debugf("ROOM_" .. R.id .. " APPLIED rule: " .. cur_rule.name .. "\n") if pass == "grow" then if R.shapes_applied then @@ -3989,14 +3982,17 @@ function Grower_grow_room(SEEDS, LEVEL, R) Grower_grammatical_room(SEEDS, LEVEL, R, "grow") if is_too_small(R) then + if R.grow_parent and R.grow_parent.is_start and R.small_room then return end + if R.prelim_conn_num == 1 then Grower_kill_room(SEEDS, LEVEL, R) return end + end end @@ -4418,17 +4414,17 @@ gui.debugf("=== Coverage seeds: %d/%d rooms: %d/%d\n", end end - --[[if R.prelim_conn_num(R, LEVEL) == 1 and R.areas[1].svolume <= 8 - and #R.areas == 1 and not R.is_start then - gui.printf("Prelim conn num: " .. R.prelim_conn_num(R, LEVEL) .. "\n") - gui.printf(table.tostr(R, 2)) - local hallway_parent - if R.parent_R and R.parent_R.is_hallway then - hallway_parent = R.parent_R - end - Grower_kill_room(SEEDS, LEVEL, R) - if hallway_parent then Grower_kill_room(SEEDS, LEVEL, hallway_parent) end - end]] + --[[if R.prelim_conn_num(R, LEVEL) == 1 and R.areas[1].svolume <= 8 + and #R.areas == 1 and not R.is_start then + gui.printf("Prelim conn num: " .. R.prelim_conn_num(R, LEVEL) .. "\n") + gui.printf(table.tostr(R, 2)) + local hallway_parent + if R.parent_R and R.parent_R.is_hallway then + hallway_parent = R.parent_R + end + Grower_kill_room(SEEDS, LEVEL, R) + if hallway_parent then Grower_kill_room(SEEDS, LEVEL, hallway_parent) end + end]] end end @@ -4498,9 +4494,8 @@ gui.debugf("=== Coverage seeds: %d/%d rooms: %d/%d\n", Grower_grammatical_room(SEEDS, LEVEL, R, "sprout", "is_emergency") end - if not R.emergency_sprout_attempts then - return "oof" - elseif R.emergency_sprout_attempts > 1 then + if not R.emergency_sprout_attempts + or (R.emergency_sprout_attempts and R.emergency_sprout_attempts > 1) then return "oof" end return "yas queen" @@ -4552,16 +4547,23 @@ gui.debugf("=== Coverage seeds: %d/%d rooms: %d/%d\n", expand_limits() emergency_sprouts() - if not LEVEL.is_procedural_gotcha - and (#LEVEL.rooms < ((LEVEL.min_rooms + LEVEL.max_rooms) / 2)) then - if emergency_linear_sprouts() == "oof" then - emergency_teleport_break(LEVEL) + if not LEVEL.is_procedural_gotcha then + + -- levels that don't reach at least + -- half the amount of expected maximum rooms + if (#LEVEL.rooms < ((LEVEL.min_rooms + LEVEL.max_rooms) / 2)) then + if emergency_linear_sprouts() == "oof" then + emergency_teleport_break(LEVEL) + end end - elseif #LEVEL.rooms <= 3 and not LEVEL.is_procedural_gotcha - and LEVEL.cur_coverage <= LEVEL.min_coverage then - if emergency_linear_sprouts() == "oof" then - emergency_teleport_break(LEVEL) + + -- levels that don't reach the prefered coverage + if (LEVEL.cur_coverage <= LEVEL.min_coverage ) then + if emergency_linear_sprouts() == "oof" then + emergency_teleport_break(LEVEL) + end end + end --[[if LEVEL.cur_coverage <= LEVEL.min_coverage / 4 @@ -4607,6 +4609,18 @@ gui.debugf("=== Coverage seeds: %d/%d rooms: %d/%d\n", end end + -- remove ungrown teleporter trunks + for _,R in pairs(LEVEL.rooms) do + if R.is_root and R.is_grown and #R.trunk.rooms == 1 + and R:calc_walk_vol() <= 24 and not R.is_start then + gui.printf("Killed teleporter ROOM_" .. R.id .. "\n") + gui.printf(table.tostr(R.trunk.rooms,1) .. "\n") + gui.printf(table.tostr(R,2) .. "\n") + Grower_kill_room(SEEDS, LEVEL, R) + --Grower_kill_a_trunk(LEVEL, R.trunk) + end + end + end diff --git a/scripts/room.lua b/scripts/room.lua index 6c98c6ffe..01d8601a3 100644 --- a/scripts/room.lua +++ b/scripts/room.lua @@ -384,6 +384,8 @@ function ROOM_CLASS.calc_walk_vol(R) -- this should not happen if vol < 1 then vol = 1 end + R.walk_vol = vol + return vol end From 55b673c807e23472b3327e027354a354a4d825c0 Mon Sep 17 00:00:00 2001 From: MsrSgtShooterPerson Date: Sun, 3 Nov 2024 00:38:43 +0800 Subject: [PATCH 5/7] Added extra growth pass to emergency sprout rooms. --- modules/zdoom_otex.lua | 16 ++++++++-------- scripts/grower.lua | 2 ++ 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/modules/zdoom_otex.lua b/modules/zdoom_otex.lua index 56eec5a1e..7272a4af4 100644 --- a/modules/zdoom_otex.lua +++ b/modules/zdoom_otex.lua @@ -438,15 +438,15 @@ OTEX_SPECIAL_RESOURCES = otex_goop = { mat="OGOOPY01", special=0}, otex_ice = { mat="OICYWA01", special=0}, - otex_lavaA1 = { mat="OLAVAA01", light_add=24, special=5, damage=10}, - otex_lavaA2 = { mat="OLAVAA02", light_add=24, special=5, damage=10}, - otex_lavaB1 = { mat="OLAVAB01", light_add=24, special=5, damage=10}, - otex_lavaC1 = { mat="OLAVAC01", light_add=24, special=5, damage=10}, - otex_lavaD1 = { mat="OLAVAD01", light_add=24, special=5, damage=10}, - otex_lavaE1 = { mat="OLAVAE01", light_add=24, special=5, damage=10}, - otex_lavaF1 = { mat="OLAVAF01", light_add=24, special=5, damage=10}, + otex_lavaA1 = { mat="OLAVAA01", light_add=56, special=5, damage=10}, + otex_lavaA2 = { mat="OLAVAA02", light_add=56, special=5, damage=10}, + otex_lavaB1 = { mat="OLAVAB01", light_add=56, special=5, damage=10}, + otex_lavaC1 = { mat="OLAVAC01", light_add=56, special=5, damage=10}, + otex_lavaD1 = { mat="OLAVAD01", light_add=56, special=5, damage=10}, + otex_lavaE1 = { mat="OLAVAE01", light_add=56, special=5, damage=10}, + otex_lavaF1 = { mat="OLAVAF01", light_add=56, special=5, damage=10}, - otex_nukage = { mat="ONUKEA01", light_add=16, special=7, damage=5}, + otex_nukage = { mat="ONUKEA01", light_add=24, special=7, damage=5}, otex_sludge = { mat="OSLUDG01", special=0}, otex_poop = { mat="OPOOPY01", special=0}, diff --git a/scripts/grower.lua b/scripts/grower.lua index 90d5390db..2c387e15f 100644 --- a/scripts/grower.lua +++ b/scripts/grower.lua @@ -4492,6 +4492,7 @@ gui.debugf("=== Coverage seeds: %d/%d rooms: %d/%d\n", gui.printf("Oh noes! Attempting emergency sprout in ROOM_" .. R.id .. "!!!\n") Grower_grammatical_room(SEEDS, LEVEL, R, "sprout", "is_emergency") + Grower_grow_room(SEEDS, LEVEL, R) end if not R.emergency_sprout_attempts @@ -4577,6 +4578,7 @@ gui.debugf("=== Coverage seeds: %d/%d rooms: %d/%d\n", end]] end + -- force grow child rooms from start rooms if #LEVEL.rooms == 2 then gui.printf("BALLS! " .. MAX_LOOP .. "\n") for _,R in pairs(LEVEL.rooms) do From 644f42ce85e502a21741602fd337ba49cf2f1f70 Mon Sep 17 00:00:00 2001 From: MsrSgtShooterPerson Date: Sat, 9 Nov 2024 00:13:41 +0800 Subject: [PATCH 6/7] Fixed issue with OTEX liquid flats "flashing" with GLDEFS glow due to only one texture in animated sets being marked as glowing. --- modules/zdoom_otex.lua | 102 ++++++++++++++++++++++++++++++++++++++++- scripts/shapes.lua | 2 +- 2 files changed, 101 insertions(+), 3 deletions(-) diff --git a/modules/zdoom_otex.lua b/modules/zdoom_otex.lua index 7272a4af4..66f6a2676 100644 --- a/modules/zdoom_otex.lua +++ b/modules/zdoom_otex.lua @@ -435,8 +435,8 @@ OTEX_SPECIAL_RESOURCES = liquid_defs = { otex_blood = { mat="OBLODA01", special=0}, - otex_goop = { mat="OGOOPY01", special=0}, - otex_ice = { mat="OICYWA01", special=0}, + otex_goop = { mat="OGOOPY01", light_add=16, special=0}, + otex_ice = { mat="OICYWA01", light_add=8, special=0}, otex_lavaA1 = { mat="OLAVAA01", light_add=56, special=5, damage=10}, otex_lavaA2 = { mat="OLAVAA02", light_add=56, special=5, damage=10}, @@ -521,20 +521,118 @@ OTEX_SPECIAL_RESOURCES = OTEX_GLOWING_FLATS = [[ OBLODA01 + OBLODA02 + OBLODA03 + OBLODA04 + OBLODA05 + OBLODA06 + OBLODA07 + OBLODA08 + OGOOPY01 + OGOOPY02 + OGOOPY03 + OGOOPY04 + OGOOPY05 + OGOOPY06 + OGOOPY07 + OGOOPY08 + OICYWA01 + OICYWA02 + OICYWA03 + OICYWA04 + OICYWA05 + OICYWA06 + OICYWA07 + OICYWA08 + OLAVAA01 OLAVAA02 OLAVAB01 + OLAVAC01 + OLAVAC02 + OLAVAC03 + OLAVAC04 + OLAVAC05 + OLAVAC06 + OLAVAC07 + OLAVAC08 + OLAVAD01 + OLAVAD02 + OLAVAD03 + OLAVAD04 + OLAVAD05 + OLAVAD06 + OLAVAD07 + OLAVAD08 + OLAVAE01 + OLAVAE02 + OLAVAE03 + OLAVAE04 + OLAVAE05 + OLAVAE06 + OLAVAE07 + OLAVAE08 + OLAVAF01 + OLAVAF02 + OLAVAF03 + OLAVAF04 + OLAVAF05 + OLAVAF06 + OLAVAF07 + OLAVAF08 + OLAVAF09 + OLAVAF10 + ONUKEA01 + ONUKEA02 + ONUKEA03 + ONUKEA04 + ONUKEA05 + ONUKEA06 + ONUKEA07 + ONUKEA08 + OSLUDG01 + OSLUDG02 + OSLUDG03 + OSLUDG04 + OSLUDG05 + OSLUDG06 + OSLUDG07 + OSLUDG08 + OPOOPY01 + OPOOPY02 + OPOOPY03 + OPOOPY04 + OPOOPY05 + OPOOPY06 + OPOOPY07 + OPOOPY08 + OTAR__01 + OTAR__02 + OTAR__03 + OTAR__04 + OTAR__05 + OTAR__06 + OTAR__07 + OTAR__08 + OWATER01 + OWATER02 + OWATER03 + OWATER04 + OWATER05 + OWATER06 + OWATER07 + OWATER08 ]] function OTEX_PROC_MODULE.setup(self) diff --git a/scripts/shapes.lua b/scripts/shapes.lua index 7b9b11bd2..98c10530d 100644 --- a/scripts/shapes.lua +++ b/scripts/shapes.lua @@ -6599,7 +6599,7 @@ GROW_CAUSEWAY_WATERLOCKED_CROSSED_OUT = GROW_CAUSEWAY_WATERLOCKED_CENTER_PILLAR = { - prob = 35, + prob = 45, skip_prob = 80, structure = From 2ece5297e0c6aa3f03d69d0f7e9c46533358db94 Mon Sep 17 00:00:00 2001 From: MsrSgtShooterPerson Date: Sat, 16 Nov 2024 13:18:43 +0800 Subject: [PATCH 7/7] Attempt to fix stairs_glow fab's uneven liquid sector heights. --- games/doom/fabs/stairs/gtd_stairs_glow_64.wad | Bin 37998 -> 37790 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/games/doom/fabs/stairs/gtd_stairs_glow_64.wad b/games/doom/fabs/stairs/gtd_stairs_glow_64.wad index fa45adf031dd59f7d4b3b1f41f95cec5cfe2a0a8..68e9fa56db07e12737e59b24baef03332af5d4cd 100644 GIT binary patch delta 1430 zcma)6-Ahwp7=O+-r$3E*YA0s-}`$Xw*S@g@r%W& z_O=A80AT+8s&mVR<z6fidvtl8%g96>*TyUGSYD*e9b6wT$GoaI;jtpn+9$;$ zO9!~dp5jI&!?wyY%*@+xc%cka3vT+_@R)K-m2R9-OSNiGwHChMTKbAmH} zx-FOagu3zyjTEn;U95X);hmCkgm^{X5b!aY#3cw5vn^LRov0NjkqQPIZr(QV=!5}p z!+jUaYd7#DDHS~U+t7#X+ko`V=Yd6zVR!U`QLS0{pnLhh zCp%Z08rAdKa_XjKmPr7yP-{He6N8OP`XiuEPpFGBAYu#E?}ekS-S=D6A0AN#a=kus zb8)<*GtwT@<8>QAxHA$8hT3AuD*$`v>HN;1h$ou>cImtap`LiCFBBVShFPd7<^*^< zz+4-^A=#M0Xu2KXn;jq$4TdPmUp*E*+^uw4vH3 z$e!_1Ws3A2o9vExx^Xz|$!HsKOJjKBD@VY`FzEB3HE|NFQJ3-2SLHO`$<@-)1Ez~> zq*8nyY~bh6v9RcGtoI+tGqoz#`x&P0AV-qP9~R99Tso58IvRHvZP}3Y`qye z;8Za;YNd(YiS*0)Wms`~d5Ry4=T2cauL3_t70mN77lu^mV+_HuM)4cLF_(m<;tHO~ z%>5l9jq&40y_jq2z#>}R&)Ml#{a_>(@5u^QdDlu4bMKDvll zw;R3jIV&#r1TTTU#9hm0q!Sk%6Za*enAXx0?T%5IpFb@Ab!#2mL#FNE_g5m(maEsA zJ6+=8@sF#)S}tw7r#-B<#VmU(k0=t>wUE{t`%p=AaDvwlhfI5`p6DyDcU|l5(R#Jm zasy3Jphy6SbfWjIL_fKVWr$L3L@Q1rJsQ$Pz$2X~-;o7=+9|TKz`~B?0H?aFdjWib ztF~