kkflving Posted June 4 If i having a issues with unknown class name or parent type not found.How can I quickly find which file the missing object is in?Or do I have to open many files and search them one by one? Sorry for my bad engilsh 0 Quote Share this post Link to post
Kappes Buur Posted June 4 Which IWAD are you using? Which PWAD/s are you trying to load? What source port are you using? 0 Quote Share this post Link to post
kkflving Posted June 4 41 minutes ago, Kappes Buur said: Which IWAD are you using? Which PWAD/s are you trying to load? What source port are you using? I'm making my own mod but I'm having some issues like the title suggests. Just want to quickly find out which DECORATE document have missing object. I'm using slade 3.2.6 gzdoom 4.12.2 and gzdoom builder 2.3... 0 Quote Share this post Link to post
Kappes Buur Posted June 4 (edited) I do not quite understand this bit about missing actors. Have you included actors in your mod which do not show up in game (GZDoom) or do not show up in the editor (UDB) or are generally mia in the mod (no DECORATE). At some point you must have decided as to which actors you want to include in your mod. You can use multiple DECORATE files, but after about 10 actors this becomes unwieldy, so that one DECORATE file with #including the actors is easier to deal with. Each actor must have a DoomED number. This can be done either in the actor definition or in the MAPINFO file with a DoomEDnums block . "Housekeeping" can becomes a big issue, then using the PK3 file format comes in handy. You can create a folder for each actor, As an example on how to do this properly I suggest checking out Enjay's Gene-Tech: Before the Storm Addendum: You might want to consider ZSCRIPT instead of DECORATE for actors, in which case you have to use the DoomEDnums block Edited June 4 by Kappes Buur 0 Quote Share this post Link to post
kkflving Posted June 5 11 hours ago, Kappes Buur said: I do not quite understand this bit about missing actors. Have you included actors in your mod which do not show up in game (GZDoom) or do not show up in the editor (UDB) or are generally mia in the mod (no DECORATE). At some point you must have decided as to which actors you want to include in your mod. You can use multiple DECORATE files, but after about 10 actors this becomes unwieldy, so that one DECORATE file with #including the actors is easier to deal with. Each actor must have a DoomED number. This can be done either in the actor definition or in the MAPINFO file with a DoomEDnums block . "Housekeeping" can becomes a big issue, then using the PK3 file format comes in handy. You can create a folder for each actor, As an example on how to do this properly I suggest checking out Enjay's Gene-Tech: Before the Storm Addendum: You might want to consider ZSCRIPT instead of DECORATE for actors, in which case you have to use the DoomEDnums block Thanks for the answer, I still have more to learn 0 Quote Share this post Link to post
kalensar Posted June 5 (edited) The easiest way to find the error is the error message it is spitting out or opening the console and reading the errors listed there. If it says that "actor not found" Then the actor the the script is trying to call does not exist, or is not implemented properly. If the game crashes during the load GZD will usually supply the error that caused the crash. Many times GZD can run when errors are present, but they do affect game performance. Edited June 5 by kalensar 0 Quote Share this post Link to post
kkflving Posted June 5 48 minutes ago, kalensar said: The easiest way to find the error is the error message it is spitting out or opening the console and reading the errors listed there. If it says that "actor not found" Then the actor the the script is trying to call does not exist, or is not implemented properly. If the game crashes during the load GZD will usually supply the error that caused the crash. Many times GZD can run when errors are present, but they do affect game performance. Thank you for your answer. Actually, what I want to ask is that I have many DECORATE files that contain missing actor objects, but I don't know which file contains the missing actor objects. I need to open many files one by one to find the correct DECORATE file one by one, so I want to ask if there is a more convenient way 0 Quote Share this post Link to post
kalensar Posted June 5 (edited) 40 minutes ago, kkflving said: Thank you for your answer. Actually, what I want to ask is that I have many DECORATE files that contain missing actor objects, but I don't know which file contains the missing actor objects. I need to open many files one by one to find the correct DECORATE file one by one, so I want to ask if there is a more convenient way If all the names of the Decorate files is just simply Decorate then GZD cannot supply the file address. In SLADE in a PK3 you can name the Decorate file as something like "Decorate.RIfles".and it will read as a referenced Decorate file GZDoom without needing to do a #Include <Insert address path>. In a WAD format every Decorate will need to be named Decorate and there is no way to have an expanded address/File name due to WAD title space limitations. In order to find the right Error location in a WAD type setup you need 2 key pieces of information to locate the error: Line number mendtioned, and hopefully the Actor name being referenced. Cntrol+F can be used to start the FInd- Text tool common in practically every word processor like Notepad and also in SLADE. If GZDoom prints the Error Then usually the Line number is referenced for where the error caused a crash. Sometimes GZD can throw an error such as " 1 Error found in DECORATE during Post Processing" or something very similar to that. This by far the most aggravating error type because it does not list the error location, with the result being that basically have to find the error manually and start fixing every error you see by sheer knowledge of the DECORATE syntax format, or ZSCRIPT if it that applies. I've had many project crashes due to errors like that and being unable to find the error location, and sometimes devolves into rebuilding the entire mod. Edited June 5 by kalensar 0 Quote Share this post Link to post
Kappes Buur Posted June 5 (edited) 2 hours ago, kkflving said: Actually, what I want to ask is that I have many DECORATE files that contain missing actor objects, but I don't know which file contains the missing actor objects. I need to open many files one by one to find the correct DECORATE file one by one, so I want to ask if there is a more convenient way OK, you have missing actors. How do you know that they are missing? Which maps did you play? Did you get error messages of some sort? You must have done something in order to tell that DECORATE lumps are involved, which leads me back to my earlier post. Edited June 5 by Kappes Buur 0 Quote Share this post Link to post
Zerofuchs Posted June 5 (edited) As far as I remember, a DECORATE lump is plaintext, there are a couple of ways you can look for particular values in a set of such text files. Export them from the WAD and options open up. Visual Studio Code has a fairly handy function to search (inside of) files within a directory, with regex support. Most full featured IDEs will these days as well. Alternatively if you're comfortable with gnu utils and have WSL installed (or are running Linux), you could use grep, e.g. grep "classname" *.lmp Powershell does also support string searches within file objects but syntax is a bit weirder. Edited June 5 by Zerofuchs Minor clarity tweak 0 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.