Login
Username:

Password:

Remember me



Lost Password?

Register now!

Sections

Who's Online
94 user(s) are online (78 user(s) are browsing Forums)

Members: 2
Guests: 92

TheMagicSN, Mason, more...

Support us!

Headlines

 
  Register To Post  

Next Project: Serious Engine/Serious Sam
Not too shy to talk
Not too shy to talk


See User information
Hi!

I got the sources of the Big Endian Fix from BeWorld, and have today started on a port of Serious Engine (Serious Sam First/Second Encounter) to AmigaOS 4

We will see how it goes.

Best regards,
Steffen

Go to top
Re: Next Project: Serious Engine/Serious Sam
Just popping in
Just popping in


See User information
Good luck!

One of many...
Go to top
Re: Next Project: Serious Engine/Serious Sam
Just popping in
Just popping in


See User information
@TheMagicSN

Oh boy, serious sam! Remember playing those games over 20years ago - great times :)

X5000, Peg2, mA1
Go to top
Re: Next Project: Serious Engine/Serious Sam
Quite a regular
Quite a regular


See User information
The big endian fixes were hidden in plain sight.

This is just like television, only you can see much further.
Go to top
Re: Next Project: Serious Engine/Serious Sam
Not too shy to talk
Not too shy to talk


See User information
Thanks a lot to the work of BeWorld and you (and Yes I only saw „last checked in 9 years ago“ everywhere and totally overlooked he one directory where it said „5 days ago“.

Thanks for your fantastic work!

What still would help me work of be the „Special“ makefile you used (though in meantime I got it compiling with cmake, but checking if this might cause any
issues with comparing with how you did it would be great).

Even more interesting would be how you integrated TinyGL (for me with
MiniGL obviously the task will be similar - the original Code loads
Gl function pointers as dynamic - i assume TinyGL is static lib like
on AmigaOS MiniGL? - of course I should be able to do this change
myselves but looking at how you handled it would definitely simplify
things for me. Thanks in advance!

I am reachable on discord as MagicSN or by email
as tirionareonwe@gmail.com

Thanks in advance.

Best regards,
Steffen

Go to top
Re: Next Project: Serious Engine/Serious Sam
Just popping in
Just popping in


See User information
@TheMagicSN

Thank you all for the collaboration you've been demonstrating recently between the MOS and AmigaOS4 communities to bring new titles to our systems.
We all win with these cross-community collaborations; in the end, we're all Amiga fans.

Recently I test SeriusSam in MOS a really works good and take advanced advantages of recent versions of TinyGL.

I'm looking forward to seeing SeriousSam working on my AmigaOS4.

X5040 - 4 Gb ram - Radeon RX 550 POLARIS 12.
Go to top
Re: Next Project: Serious Engine/Serious Sam
Quite a regular
Quite a regular


See User information
@kikems
It should work very quickly.
Over the weekend, when @BSzili published the ‘Big-endian-fixes.patch’ patch, I built a simple test version.
If it works on QEMU peg2 sm501 with warpz (about 1 frame per second), it should fly on Radeon.
Unfortunately, I haven't had time to check it yet.
I've been very busy lately

Resized Image

Resized Image

Go to top
Re: Next Project: Serious Engine/Serious Sam
Not too shy to talk
Not too shy to talk


See User information
@smarkusg

How did you handle the GL Stuff ? Myselves I did a (because the version from the github loads the gl functions dynamically and on OS4 we have it statically), did you do this similar, or different ?

static void OGL_SetFunctionPointers_t(HINSTANCE /*hiOGL*/)
{
const char *strName;

#if defined(__amigaos4__) && defined(AMIGA_STATIC_GL)
/*
On AmigaOS we link GL, so:
- for REQUIRED entries, bind to the (possibly remapped) linked symbol;
- for OPTIONAL entries, leave the pointer NULL (don’t take &name).
*/
#define DLLFUNCTION(dll, output, name, inputs, params, required) \
do { \
if (required) { \
p##name = (output (*) inputs) &name; \
if (p##name == NULL) FailFunction_t(#name); \
} else { \
p##name = NULL; \
} \
} while (0)
#else
/* Default (ELF) path: resolve through SDL. */
#define DLLFUNCTION(dll, output, name, inputs, params, required) \
do { \
strName = #name; \
p##name = (output (*) inputs) SDL_GL_GetProcAddress(strName); \
if ((required) && (p##name == NULL)) FailFunction_t(strName); \
} while (0)
#endif

/* If building for MiniGL, you can optionally ask gl_functions.h to skip 3D texture entries.
(Only needed if those entries were ever marked REQUIRED there.) */
#if defined(__amigaos4__) && defined(USEMINIGL)
#ifndef GL_FUNCTIONS_SKIP_TEX3D
#define GL_FUNCTIONS_SKIP_TEX3D 1
#endif
#endif

#include "Engine/Graphics/gl_functions.h"
#undef DLLFUNCTION
}

for the GL function pointers, I hope this works (I am now basically at the point where I need to install the game and test, everything compiles and links).

Also how do we continue from here ? Not that we in the end do two OS4 ports ^^

My own idea would be to do this like I did for OpenMohaa (while this was not ported by me), complete with installer which installs directly from the PC version, nice icons and everything.

My question is if you plan to continue or if this was just a quick try.

I will probably do a test today, if it works.

Did you do with GL4ES or MiniGL BTW ? I used GL4ES (didn't get MiniGL working yet, but the plan was to look into a alternate MiniGL version later - MiniGL having some problems with variable type clashes, while on GL4ES it compiles directly).

Best regards,
Steffen


Edited by TheMagicSN on 2025/9/11 15:23:30
Go to top
Re: Next Project: Serious Engine/Serious Sam
Quite a regular
Quite a regular


See User information
@TheMagicSN
The makefile is anything but special, a list of source files CXXFLAG, LDFLAGS - standard fare. If you've got it building with CMake then you are already there. TinyGL didn't need any integration either, everything is handled via SDL2. I think the OS4 version of SDL2 can handle MiniGL too along with the rest of GL implementations.

This is just like television, only you can see much further.
Go to top
Re: Next Project: Serious Engine/Serious Sam
Just can't stay away
Just can't stay away


See User information
@BeWorld @BSzili

I would also like to thank you for this fantastic work. Thank you for the BigEndian patch that makes this possible for PPC in the first place.

I have already seen Serious Engine/Serious Sam on a video under MorphOS, and it ran pretty smoothly. Of course, I am also curious to see how it works under AmigaOS 4.1 with GL4es support.

@TheMagicSN

To me, it looks like MiniGL support on the screenshot from @Smarkusg. Wazp3d does not include support for GL4es, only MiniGL.

MacStudio ARM M1 Max Qemu//Pegasos2 AmigaOs4.1 FE / AmigaOne x5000/40 AmigaOs4.1 FE
Go to top
Re: Next Project: Serious Engine/Serious Sam
Not too shy to talk
Not too shy to talk


See User information
@BSzili

Possibly I was overthinking it, and SDL2 would have been able to produce the symbols which I extracted from the static library with my changed code then.

Right now I got the problem that

_pFileSystem->GetExecutablePath(strExePath, sizeof (strExePath)-1); (EDIT: This problem fixed, a remainder from Linux version - now it fails at " LoadStringVar(CTString("DefaultMod.txt"), _fnmMod);" - I do not see a DefaultMod.txt file also, maybe an issue of my game installation ? )

returns null (maybe using PLATFORM_LINUX was not the best idea, and I should have set up a real PLATFORM_AMIGA there). And I think I have still similar issues in other locations. Right now debugging what goes on there.

Best regards,
Steffen


Edited by TheMagicSN on 2025/9/11 17:59:29
Go to top
Re: Next Project: Serious Engine/Serious Sam
Just can't stay away
Just can't stay away


See User information
Thanks a lot!

Go to top
Re: Next Project: Serious Engine/Serious Sam
Quite a regular
Quite a regular


See User information
@TheMagicSN
Quote:
My question is if you plan to continue or if this was just a quick try.

Yes, it was just a quick test. I wanted to see how it would work on QEMU. Sometimes I compile things just out of curiosity.
I'm not a fan of the Serious Sam game itself. Maybe I'm in the minority, but I'd never even heard of it before.
I enjoy spending time on the things I do with AOS4. With Serious Sam, I would definitely just get bored.
I am currently unable to dedicate much time to AOS4.
I read on os4welt that you are working on an AOS4 version, which is great.

Try building a static version instead of a dynamic one.

You can find some useful links here:
https://github.com/martinmullins/Serious-Engine
It may be useful with gl4es, where it is used for the “in browser” version


“demo” under the modern browser Serious-Engine and gl4se- >
https://martinmullins.github.io/ssam/

Go to top
Re: Next Project: Serious Engine/Serious Sam
Quite a regular
Quite a regular


See User information
@Maijestro
Quote:
To me, it looks like MiniGL support on the screenshot from @Smarkusg. Wazp3d does not include support for GL4es, only MiniGL.


If you push minigl through the wrapper, you can still achieve good quality on radeon.
*) Tested on my QEMU GPU vfio-pci pass through RadeonHD Peg2 x86_64

Resized Image

Resized Image

Go to top

  Register To Post

 




Currently Active Users Viewing This Thread: 2 ( 1 members and 1 Anonymous Users )
TheMagicSN  




Powered by XOOPS 2.0 © 2001-2024 The XOOPS Project