Here it's the link to all utilities I'm using and my current progress. https://cloud.mail.ru/public/J8dK/k4nrqT2oh
Source folder contains all edited source files (not original ones). This is my current progress.
CompileFS - makes an ISO file.
PACK folder contains all the resources for REZFILE and all utils. Check _Convert.bat file for details.
Start _Convert.bat to convert resources for REZFILE. Then go to "Converted" folder and start MakeREZ.exe to make a REZFILE.
If you need the sources for utilities I’ll upload them. FirstFileInREZ.exe makes a first file (r_TexData) that contains width and height of all textures in the game. TexCutter.exe converts cel files to cel shapes for directly using in REZFILE. WAD_converter.exe converts pc wad files to 10 lumps in 3DO format. Converter has some limitations, so if you are getting errors, it may be fixed in source. It may occurs when level WAD is too big. You need press F6 in GZDoom Builder and set NodeBuilder to BSP-W32 in all active configurations. You’ll need to attach 3DO doom.wad file (in zip file) in resources tab. This WAD file contains all the resources you may use in your levels. When I made a new object, I add corresponding resource in this WAD file. Now you can create any level in GZDoom Builder and test it in 3DO Doom.
_Convert.bat file and MakeRez.exe app in Converted folder do all the job for making the REZFILE. Please note that all txt files are necessary.
Ph-win32 – Phoenix 3DO emulator for testing the ISO.
To_ISO_Doom3DO – folder with all files. Use CompileFS app to create ISO file from these.
3DO doom.wad – attach this file in GZ Doom Builder.
As for the new objects and sprites… For SpiderM for example, I divided sprite for 6 files for walking, 1 for attacking, 1 for pain, 1 for dying, 1 for dead body. That’s because the enemy is huge! In most cases I’m making 1-3 files for the enemy. See my current progress in link. Why I’m using many files for SpiderM? Because pointers for sprite shapes inside each sprite file are bigger than 0xFFFF and I couldn’t use any of 0x8000 prefix, that saves size of the sprite and perhaps their location in memory. I assume that sprite with and without prefix is loaded only once in memory.
So, when enemy is simply standing, only 1 sprite file is loaded. When it starts to move, next sprite file is loaded by demand. If we have many different types of enemies and they are started attacking at once, we have this freezes. If there are less monsters, the game runs faster. No matter which type of monster is on level.
I’m converting all pc code very carefully. It can’t be the reason I think.
PS. My oneclick compile project is working with some strange bug. That is because the compiler(?). When level 20 is finished loading a fantom torch appears on the moment and then dissapears. May be there are some others bugs, I don't know...