Jump to content
Search In
  • More options...
Find results that contain...
Find results in...

Erick194

Members
  • Content count

    432
  • Joined

  • Last visited

Everything posted by Erick194

  1. Ok what version of the game are you using? Yes, it should be possible, but all the texts must be repositioned.
  2. Sorry friend but it is not possible, since support for J2ME and BREW versions is not implemented.
  3. @tempun2 Thanks again for informing me of these bugs. The new version 0.2.2 is available on the OP.
  4. That's it, I remembered and yes the Infernis should not go through the door, in the test executable I sent you I had a line of code misspelled, I noticed shortly after I sent you the executable and I didn't update the one I sent you. Practically the Infernis is making noclip to the door. //-----------------------------------------------------------------// else if (entity->def->eSubType == 10) { i10 &= ~1025; // <- With the error on the line } //-----------------------------------------------------------------// else if (entity->def->eSubType == 10) { i10 &= ~1024; // <- Without the mistake on the line } //-----------------------------------------------------------------// And an example regarding the activation sound recorded on the physical device.
  5. I'm not really sure, but I'll try it later when I get home.
  6. This happens on real devices, I have a Casio G'zone Ravine 2 and I have the game installed, and the monster activation sound plays without you seeing it directly. You could also see this video of Doom Rpg running on real hardware on a zeebo. https://youtu.be/XMZJT68w4Sk?si=YO5n-hSqvtcV6kqs
  7. @tempun2 Ok yes I found a mistake, in these lines if (Entity_checkLineOfSight(entity, srcX, srcY, srcX + 64, srcY, i10)) { pathDist = Entity_calcPath(entity, sX + 1, sY, dX, dY, 0, i10); if (pathDist < closestPathDist) { closestPathDist = pathDist; entity->visitOrder[entity->visitOrderCount++] = 2; } else if (pathDist == closestPathDist) { entity->visitOrder[entity->visitOrderCount++] = 2; } } if (Entity_checkLineOfSight(entity, srcX, srcY, srcX - 64, srcY, i10)) { pathDist = Entity_calcPath(entity, sX - 1, sY, dX, dY, 1, i10); if (pathDist < closestPathDist) { closestPathDist = pathDist; entity->visitOrder[entity->visitOrderCount++] = 3; } else if (pathDist == closestPathDist) { entity->visitOrder[entity->visitOrderCount++] = 3; } } if (Entity_checkLineOfSight(entity, srcX, srcY, srcX, srcY + 64, i10)) { pathDist = Entity_calcPath(entity, sX, sY + 1, dX, dY, 2, i10); if (pathDist < closestPathDist) { closestPathDist = pathDist; entity->visitOrder[entity->visitOrderCount++] = 1; } else if (pathDist == closestPathDist) { entity->visitOrder[entity->visitOrderCount++] = 1; } } if (Entity_checkLineOfSight(entity, srcX, srcY, srcX, srcY - 64, i10)) { pathDist = Entity_calcPath(entity, sX, sY - 1, dX, dY, 3, i10); if (pathDist < closestPathDist) { entity->visitOrder[entity->visitOrderCount++] = 0; } else if (pathDist == closestPathDist) { entity->visitOrder[entity->visitOrderCount++] = 0; } } It should be that way if (Entity_checkLineOfSight(entity, srcX, srcY, srcX + 64, srcY, i10)) { pathDist = Entity_calcPath(entity, sX + 1, sY, dX, dY, 0, i10); if (pathDist < 9999) { closestPathDist = pathDist; entity->visitOrderCount = 1; entity->visitOrder[0] = 2; } else if (pathDist == 9999) { entity->visitOrder[entity->visitOrderCount++] = 2; } } if (Entity_checkLineOfSight(entity, srcX, srcY, srcX - 64, srcY, i10)) { pathDist = Entity_calcPath(entity, sX - 1, sY, dX, dY, 1, i10); if (pathDist < closestPathDist) { closestPathDist = pathDist; entity->visitOrderCount = 1; entity->visitOrder[0] = 3; } else if (pathDist == closestPathDist) { entity->visitOrder[entity->visitOrderCount++] = 3; } } if (Entity_checkLineOfSight(entity, srcX, srcY, srcX, srcY + 64, i10)) { pathDist = Entity_calcPath(entity, sX, sY + 1, dX, dY, 2, i10); if (pathDist < closestPathDist) { closestPathDist = pathDist; entity->visitOrderCount = 1; entity->visitOrder[0] = 1; } else if (pathDist == closestPathDist) { entity->visitOrder[entity->visitOrderCount++] = 1; } } if (Entity_checkLineOfSight(entity, srcX, srcY, srcX, srcY - 64, i10)) { pathDist = Entity_calcPath(entity, sX, sY - 1, dX, dY, 3, i10); if (pathDist < closestPathDist) { entity->visitOrderCount = 1; entity->visitOrder[0] = 0; } else if (pathDist == closestPathDist) { entity->visitOrder[entity->visitOrderCount++] = 0; } } I'll send you the executable via direct message and let me know if you see any difference, so I can make a new update to the executable on GitHub. Well, you were right here the first video with the code uncorrected And here is another video with the code corrected
  8. Oh excellent for showing me those fragments of the code, I will review it later in the BREW version decompile, it is possible that I missed something in the code.
  9. It is very possible that you are right, it may be the system that handles random numbers, thank you for your observation, I will be reviewing the behavior of the enemies to see if we can find a solution.
  10. I was checking and apparently it is the BarToZip program that generates the problem, since it depends on an external executable to convert qcp audio to wav. I would appreciate it if you tried this new version of BarToZip and let me know if there are any errors. BarToZip.zip
  11. Erick194

    Hexen N64 Tool Version 1.0

    A new tool arrived by GEC. In this time we focused on the extraction of Hexen 64 data. We hope you enjoy it. Here the link to Github: https://github.com/Erick194/HexenN64Tool
  12. Erick194

    Dissecting the console ports of Hexen

    @Mattfrie1 I've been reading this thread because I'm working on a data extraction tool for the N64 version of the game. However, I must first mention that the Hexen PSX version uses the same rendering method as the Doom PSX version, but it improves the code a bit to prevent stretching and deformation of wall textures. Now, regarding the N64 version, I have a curiosity about the Japanese version of the game. Does the game freeze on map 25? There's a graphic in this version that gets decompressed incorrectly, causing the game to crash.
  13. Hi guys again one more step of GEC, now with you the reverse engineering of Doom 64 for the real N64 hardware, again thanks to @Kaiser for his valuable information on his previous work with Doom64. Here is the link to my github. https://github.com/Erick194/DOOM64-RE Thanks also to the hardware testers, especially to @Immorpher since he helped me whenever I need tests on the hardware with almost 10 test roms. News: Tool for Doom 64 N64 by [GEC] I have decided to release my tool called "D64TOOL" for people who want to make Doom64 mods on the actual N64 console. It can convert maps, as well as compress and decompress DOOM64.WAD file without problems. I hope it will be useful. https://github.com/Erick194/D64TOOL
  14. Well, in this code, there are two versions, one that uses vectors and the other that doesn't. The one using vectors is slower at recompressing data, while the other is faster and compresses the data exactly as the original. Although there is one more function that is still unknown, it doesn't cause any issues when not included.
  15. Tool for Doom 64 N64 by [GEC] I have decided to release my tool called "D64TOOL" for people who want to make Doom64 mods on the actual N64 console. It can convert maps, as well as compress and decompress DOOM64.WAD file without problems. I hope it will be useful. https://github.com/Erick194/D64TOOL
  16. The truth is not too much mystery in that version of the ROM, it is a conversion of PSX Doom to the pre-Alpha 64Doom (Doom 64) I would say. It does not have the programmed sound, although the functions exist, they are emptied without code. The names of the frames of the sprites correspond to PSXDoom. That does have the functions of Cloud skies, but it does not have MACROS programmed.
  17. Hmm it's interesting, I really don't understand why there was no multilanguage for this version of Doom 2 rpg, low-end cell phone versions did, well it is possible to get multilanguage for the game since the Wolfenstein RPG IOS version has multi language. Once I have finished the version of Wolf for PC, I could restore the multilanguage code for this version and in the future add extra languages.
  18. You can find it in web archive, in the software section. Once you get it make sure the file is called "Doom 2 RPG.ipa"
  19. If you want to see the Doom RPG game for PC, you can see my other port, regarding Wolfenstein RPG you will have to wait a little more time.
  20. You can open the .ipa file as a zip file. Or with the Slade 3.
  21. Curious error, for some reason it failed to create the configuration file. Or maybe the folder to host the save files was not created. Porting RPG games are the priority, who knows if it will work with Doom Resurrection. The error you experienced is due to a configuration file write corruption, I need to see how to correct it.
×