realmonster / Gens-Atlas

Gens Re-Recording modification for Atlas rendering.
7 stars 1 forks source link

Problems on atlas #2

Open JairoApaESP opened 3 months ago

JairoApaESP commented 3 months ago

Can't view atlas, only see the normal game

realmonster commented 2 months ago

You need to set path to sonic atlas dll in settings window. It works only with sonic 3 & knuckles.

realmonster commented 2 months ago

Also, if you interested in recording into video file, read this thread https://tasvideos.org/Forum/Topics/20802?CurrentPage=2&Highlight=485539#485539 I have also made hack-around changes to this Gens-Atlas to make possible capture, but didn't commit it here. You can find corresponding showcase video in the same thread.

JairoApaESP commented 2 months ago

Captura de pantalla 2024-09-12 205425

JairoApaESP commented 2 months ago

image image image

I have this errors

realmonster commented 2 months ago

I see only one obvious mistake: this line for (int i = links.size()-1; i>=0; --i) should be changed into for (int i = (int)links.size()-1; i>=0; --i) other than that, I don't know.

Try debug it yourself. On first screen click "retry" as mentioned in the message box. It'll show where exactly it crashed. Similarly, on second screen click "break" as explained in the message box. I don't want to tell instructions how to debug, because it's cumbersome to explain how to do it. Other than this, to debug dll it's better to set current project to project of the dll.

JairoApaESP commented 2 months ago

But the error says that it is a file called "vector" that is in the directory: C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\

It is indicating that the vector subscript is out of range.

realmonster commented 2 months ago

It can be "out of range" at any part of the code during the execution of the code. So you need to figure out where it goes out of range.

JairoApaESP commented 2 months ago

And how can I do that?

realmonster commented 2 months ago

I want to stress out atlas works only with Sonic 3 or Sonic 3 and Knuckles. I was testing with Sonic 3 & Knuckles SHA1 hash cfbf98c36c776677290a872547ac47c53d2761d6. And Sonic 3 SHA1 hash 75e9c4705259d84112b3e697a6c00a0813d47d71.

I was able to successfully build this stuff in Microsoft Visual Studio 2022 Community Edition.

  1. Clone or download & unpack source tree from this repository.
  2. Open solution file (.sln) in Visual Studio
  3. Click with Right Mouse Button on solution. Select "Retarget solution". Select update platform to v145 or something like that (your current platform)
  4. Solution->Build. You'll see errors. Solution->Build again. You'll still see errors.
  5. Find the error where it say something like "string is not from std". Click on error it will open source file. In the beginning of the file find #include <vector> and add new line #include <string> after it.
  6. Download glew. (Download win32 binaries). Extract into project folder.
  7. Right click on gens project. Select "preferences". Linker > Advanced property page. Image Has Safe Exception Handlers property -> set NO. (this should get rid of errors SAFESEH) (It should be /SAFESEH:NO)
  8. Right click on gens project. Select "preferences". In section with VC directories paths, add GL directory from glew, into include directories. Add libs directory to libraries directories.
  9. Do the same as in (8) with Sonic Atlas project.
  10. Build gens and sonic-atlas. This time it should compile fine.
  11. Copy glew32.dll into "Output" directory of project.
  12. Manually run gens.exe from output directory. Not from Visual Studio.
  13. In gens in Options->BIOS add path to renderer. (sonic atlas dll from output folder)
  14. Reopen gens.
  15. Now you should see additional blank window next to gens window -- it's sign that renderer works. Resize window to see atlas.

Steps 8 and 9 should get rid of errors with "can't open gl/glew.h" and glew32.lib not found.

JairoApaESP commented 2 months ago

image I have 7 errors on Sonic3-Atlas project

realmonster commented 2 months ago

In properties of Sonic Atlas project disable Unicode character set. I don't know in which section of your VS it is. For example Advanced->Character set.

JairoApaESP commented 2 months ago

image image image image I have this errors

JairoApaESP commented 2 months ago

But when enable the unicode character i have 11 errors image image

realmonster commented 2 months ago

Unicode should be disabled for Sonic Atlas project. Regarding linker errors with unresolved symbols, make sure you have in project settings in linker settings in list of libs to link: glew32.lib and opengl32.lib. Make sure in the beginning it doesn't tell you it can't find them.

Regarding to /RTCc, in project settings C/C++ > Code Generation change "Basic Runtime Checks" or "Smaller Type Check". I don't know how exactly change it. Try different options.

JairoApaESP commented 2 months ago

C1189 #error: /RTCc rejects conformant code, so it is not supported by the C++ Standard Library. Either remove this compiler option, or define _ALLOW_RTCc_IN_STL to suppress this error. gens C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.41.34120\include\yvals_core.h 1858
image

realmonster commented 2 months ago

In my previous reply I said you need to disable /RTCc

JairoApaESP commented 2 months ago

No, but is the gens project, the Sonic-Atlas project I have been able to build it Sonic3-Atlas.zip

realmonster commented 2 months ago

Anyway I answered what to do to get rid of error from previous screenshot.

JairoApaESP commented 2 months ago

Could you send me a build already done?

realmonster commented 2 months ago

gens-atlas.zip

JairoApaESP commented 2 months ago

Thanks, it works but can't turn fullscreen mode, it closes the gens atlas image image

realmonster commented 2 months ago

I don't plan fix it.

JairoApaESP commented 2 months ago

And how do I dump an avi with the atlas?

realmonster commented 2 months ago

this build can't do that

JairoApaESP commented 2 months ago

The thing is that in this video that you uploaded https://youtu.be/O37VNoOiFUU in the description I found this link: https://gist.github.com/realmonster/99ee2dbd2c1dc2bdc8136b3826e5b11a/

I downloaded the file and I don't know how to use it.

realmonster commented 2 months ago

Use git apply Then use AVI recording as usual. I recommend to install Lagarith Lossless Video Codec and encode using it. Output would be large but you can compress it later by ffmpeg for example. Don't forget to enable split AVI 1900 MB for example. I also recommend apply these changes as far as I remember it fixes single frame loss during avi splits.

JairoApaESP commented 2 months ago

Still not recording in atlas, just recording normally

realmonster commented 2 months ago

did you rebuild gens?

JairoApaESP commented 1 month ago

No, download the gens-atlas.zip file you sent me earlier

JairoApaESP commented 1 month ago

In fact in a publication: https://tasvideos.org/Forum/Topics/5904?Highlight=347266&CurrentPage=75&PageSize=25&Sort=CreateTimestamp I found these links could you confirm me if in those you can dump an avi in atlas,when I open the links I get "This content is no longer available"? image