Beta ptitSeb's Beta Lair


Stunt Car Remake plays great on my CC pandora. Found no issues. Did 2 tracks. Steering is good. Just practice makes perfect :) IMO this should be on the repo :)
Agreed, if his work of adding the cockpit and wheels graphics turns out to be too problematic, either in execution, or getting it to work on all units. But if not I'm holding out for that still.
 
Ok, so I removed StuntCarRemake and pushed it to the repo. It now have its own thread in the Software section.

To compensate, I added a beta of BloodCM, the TC of Blood for eduke32. I don't think it's super smooth (well, it is, but there are freeze that make it not super playable in may taste). Some better default settings needs to found maybe. Link in the 1st post as always.
 
To compensate, I added a beta of BloodCM, the TC of Blood for eduke32. I don't think it's super smooth (well, it is, but there are freeze that make it not super playable in may taste). Some better default settings needs to found maybe. Link in the 1st post as always.

It's prob based on newer sources than the current eduke32 Blood in the repo, but I found that a tad sluggish as well, on a 1GHz unit I found the real Blood game with your latest DOSBOX was fully playable. Plus this TC isn't quite complete there are some noticeable differences in the physics and a few other things if I recall.
 
It's prob based on newer sources than the current eduke32 Blood in the repo, but I found that a tad sluggish as well, on a 1GHz unit I found the real Blood game with your latest DOSBOX was fully playable. Plus this TC isn't quite complete there are some noticeable differences in the physics and a few other things if I recall.
Yes, I agree, it's better to use the original on DosBOX for now.
Furthermore, the author of the TC has switched projet. BloodCM as it is will not evolve anymore, as he is now focussing on doing an entire new engine using gdx.
That one was a request, so I have done it (and spent quite some time trying to make it smooth enough).

Also, choosing the "Classic" renderer instead of Polymost can improve things a bit (but it not 3D accelerated anymore).
 
Last edited:
I have just added a beta PND for Barony: Cursed Edition.


Go to 1st post for link and some instructions.
Please report if it's working so I can push or not to the repo.
 
Just tested on my CC.
GOG data extraction works good, at first i wasn't using a swap file so the game exited (with the gamma light not restored...), later with a swapfile loading and running was good.
But i have a problem with the "use" button i seems to not be able to use any object, i have also changed the button assigned (my left nub is partially working...) and tryed to assign to A button...but nothing.
nevermind after changing resolution (as stated in first post) to 800*480 i could use the button...but the settings menu is messed up and is not entirely visible at 800*480.
Also i have noted that the menu options is overlapping a bit to the left of the screen...on 900*600 mode.


Anyway thanks a lot for releasing a first pnd of it.
 
Last edited:
Yeah (that's why I didn't put my PND on the repo) ! You should update your PND (I'll then remove my version from here, as there is no need for 2 versions). DxX-rebirth engine have been updated lately.

so seems easier to build native with scons now, how did you handle libphysfs. Doesnt look to be part of the codeblocks pnd
 
so seems easier to build native with scons now, how did you handle libphysfs. Doesnt look to be part of the codeblocks pnd
libphysfs is part of codeblocks pnd. It was 2.1.0 in last version. This is quite unstable so I fall back to 2.0.3.

Also, the Werror is a really bad idea so I disabled it in the Sconstruct.
here is my diff againt the github repo
Code:
diff --git a/SConstruct b/SConstruct
index 5b56a49..f457c13 100644
--- a/SConstruct
+++ b/SConstruct
@@ -19,7 +19,7 @@ def message(program,msg):
 def get_Werror_string(l):
    if l and '-Werror' in l:
        return '-W'
-    return '-Werror='
+    return '-W' #'-Werror='

 class StaticSubprocess:
    # This class contains utility functions for calling subprocesses
@@ -345,7 +345,7 @@ class ConfigureTests:
    custom_tests = _custom_test.tests
    comment_not_supported = '/* not supported */'
    __python_import_struct = None
-    __flags_Werror = {'CXXFLAGS' : ['-Werror']}
+    #__flags_Werror = {'CXXFLAGS' : ['-Werror']}
    _cxx_conformance_cxx11 = 11
    _cxx_conformance_cxx14 = 14
    __cxx_conformance = None
@@ -767,12 +767,13 @@ help:assume C++ compiler works
            if self.user_settings.record_sconf_results:
                self._sconf_results.append((calling_function, 'skipped'))
            return
-        env_flags = self.PreservedEnvironment(context.env, successflags.keys() + testflags.keys() + self.__flags_Werror.keys() + ['CPPDEFINES'])
+        env_flags = self.PreservedEnvironment(context.env, successflags.keys() + testflags.keys() + ['CPPDEFINES'])
+        #+ self.__flags_Werror.keys() + ['CPPDEFINES'])
        context.env.MergeFlags(successflags)
        forced, expected = self._check_sconf_forced(calling_function)
-        caller_modified_env_flags = self.PreservedEnvironment(context.env, self.__flags_Werror.keys() + testflags.keys())
+        caller_modified_env_flags = self.PreservedEnvironment(context.env, testflags.keys()) #self.__flags_Werror.keys() + testflags.keys())
        # Always pass -Werror
-        context.env.Append(**self.__flags_Werror)
+        #context.env.Append(**self.__flags_Werror)
        context.env.Append(**testflags)
        # If forced is None, run the test.  Otherwise, skip the test and
        # take an action determined by the value of forced.
diff --git a/common/include/maths.h b/common/include/maths.h
index a7521ac..4f6e960 100644
--- a/common/include/maths.h
+++ b/common/include/maths.h
@@ -62,7 +62,7 @@ static constexpr int f2i(const fix &f)
 //Convert fix to float and float to fix
 static constexpr float f2fl(const fix &f)
 {
-    return static_cast<float>(f) / static_cast<float>(65536.0);
+    return static_cast<float>(f) / 65536.0f;//static_cast<float>(65536.0);
 }

 static constexpr double f2db(const fix &f)
diff --git a/common/include/partial_range.h b/common/include/partial_range.h
old mode 100644
new mode 100755
diff --git a/similar/arch/ogl/gr.cpp b/similar/arch/ogl/gr.cpp
index 8070bfb..2fae373 100644
--- a/similar/arch/ogl/gr.cpp
+++ b/similar/arch/ogl/gr.cpp
@@ -637,8 +637,8 @@ int gr_set_mode(screen_mode mode)
    unsigned char *gr_bm_data;
    if (!gr_check_mode(mode))
    {
-        con_printf(CON_URGENT, "Cannot set %ix%i. Fallback to 640x480", mode.width, mode.height);
-        mode.width = 640;
+        con_printf(CON_URGENT, "Cannot set %ix%i. Fallback to 800x480", mode.width, mode.height);
+        mode.width = 800;
        mode.height = 480;
        Game_screen_mode = mode;
    }
diff --git a/similar/arch/sdl/gr.cpp b/similar/arch/sdl/gr.cpp
index d966cf9..976b82f 100644
--- a/similar/arch/sdl/gr.cpp
+++ b/similar/arch/sdl/gr.cpp
@@ -105,8 +105,8 @@ int gr_set_mode(screen_mode mode)
    }
    else
    {
-        con_printf(CON_URGENT,"Cannot set %hux%hu. Fallback to 640x480", SM_W(mode), SM_H(mode));
-        mode.width = 640;
+        con_printf(CON_URGENT,"Cannot set %hux%hu. Fallback to 800x480", SM_W(mode), SM_H(mode));
+        mode.width = 800; //640; //PANDORA
        mode.height = 480;
        Game_screen_mode = mode;
    }
diff --git a/similar/main/config.cpp b/similar/main/config.cpp
index 8ff99c6..c99db9b 100644
--- a/similar/main/config.cpp
+++ b/similar/main/config.cpp
@@ -123,10 +123,10 @@ int ReadConfigFile()
    GameCfg.GammaLevel = 0;
    GameCfg.LastPlayer = {};
    CGameCfg.LastMission = "";
-    GameCfg.ResolutionX = 640;
+    GameCfg.ResolutionX = 800;//640; //SEB Pandora
    GameCfg.ResolutionY = 480;
-    GameCfg.AspectX = 3;
-    GameCfg.AspectY = 4;
+    GameCfg.AspectX = 10;//3;
+    GameCfg.AspectY = 16; //4;
    CGameCfg.WindowMode = false;
    CGameCfg.TexFilt = 0;
    CGameCfg.TexAnisotropy = 0;
diff --git a/similar/main/game.cpp b/similar/main/game.cpp
index 4a948f9..02976f4 100644
--- a/similar/main/game.cpp
+++ b/similar/main/game.cpp
@@ -169,7 +169,7 @@ void reset_palette_add()
    PaletteBlueAdd        = 0;
 }

-screen_mode Game_screen_mode{640, 480};
+screen_mode Game_screen_mode{800/*640*/, 480};    //SEB Pandora

 }

@@ -193,7 +193,7 @@ void init_cockpit()
 #if defined(DXX_BUILD_DESCENT_II)
        int HiresGFXAvailable = !GameArg.GfxSkipHiresGFX;
 #endif
-        auto full_screen_mode = HiresGFXAvailable ? screen_mode{640, 480} : screen_mode{320, 200};
+        auto full_screen_mode = HiresGFXAvailable ? screen_mode{800/*640*/, 480} : screen_mode{320, 200}; //SEB Pandora
        if (Game_screen_mode != full_screen_mode) {
            PlayerCfg.CockpitMode[1] = CM_FULL_SCREEN;
        }
diff --git a/similar/main/multi.cpp b/similar/main/multi.cpp
old mode 100644
new mode 100755
index 0fc2965..09d2771
--- a/similar/main/multi.cpp
+++ b/similar/main/multi.cpp
@@ -1866,7 +1866,7 @@ static void multi_do_player_deres(const playernum_t pnum, const ubyte *buf)
            map_objnum_local_to_remote(static_cast<short>(i), s, pnum);
        count += 2;
    }
-    range_for (const auto i, partial_const_range(Net_create_objnums, remote_created, Net_create_loc))
+    range_for (const auto i, partial_const_range(Net_create_objnums, static_cast<unsigned>(remote_created), Net_create_loc))
    {
        vobjptr(i)->flags |= OF_SHOULD_BE_DEAD;
    }
diff --git a/similar/main/newdemo.cpp b/similar/main/newdemo.cpp
old mode 100644
new mode 100755
index 3aa2c98..01aa746
--- a/similar/main/newdemo.cpp
+++ b/similar/main/newdemo.cpp
@@ -994,7 +994,7 @@ static void nd_rdt(char (&buf)[7])

 static void nd_rbe()
 {
-    char buf[7]{ND_EVENT_PALETTE_EFFECT, 0x80};
+    char buf[7]{ND_EVENT_PALETTE_EFFECT, (char)0x80};
    newdemo_write(buf, 1, sizeof(buf));
    ++buf[2];
    nd_rdt(buf);
diff --git a/similar/main/render.cpp b/similar/main/render.cpp
old mode 100644
new mode 100755
index f1e9cc4..2d4067f
--- a/similar/main/render.cpp
+++ b/similar/main/render.cpp
@@ -317,7 +317,7 @@ static void render_face(const segment &segp, const unsigned sidenum, const unsig
        {
            dli.g = dli.b = fixmul(flash_scale, uvli.l);
            dli.r = (!seismic_tremor_magnitude && PlayerCfg.DynLightColor)
-                ? fixmul(std::max(static_cast<double>(flash_scale), f0_5 * 1.5), uvli.l) // let the mine glow red a little
+                ? fixmul(std::max(static_cast<float>(flash_scale), f0_5 * 1.5), uvli.l) // let the mine glow red a little
                : dli.g;
        }
[doublepost=1485153922,1485153643][/doublepost]
Just tested on my CC.
GOG data extraction works good, at first i wasn't using a swap file so the game exited (with the gamma light not restored...), later with a swapfile loading and running was good.
But i have a problem with the "use" button i seems to not be able to use any object, i have also changed the button assigned (my left nub is partially working...) and tryed to assign to A button...but nothing.
nevermind after changing resolution (as stated in first post) to 800*480 i could use the button...but the settings menu is messed up and is not entirely visible at 800*480.
Also i have noted that the menu options is overlapping a bit to the left of the screen...on 900*600 mode.


Anyway thanks a lot for releasing a first pnd of it.
I have noted this on the 1st post (except the overlapping of the option menu, I must I forgot to change back the width valu I adapted for the 800x480). The FBO I create for the 960x600 screen mode contains Depth+Stencil (as 24+8 renderbuffer). But I think a simplest 16bits depth renderbuffer is probably enough: I'll check if the CC prefer it like that (and hopefully fixing the depth issue that still are there).
[doublepost=1485162847][/doublepost]I have update the link in 1st port for Barony. Now the game will create simple 16bits depth buffer instead of 24+8 Depth+Stencil buffer for the FBO. Hopefully it will help CC user (I haven't tested yet).
 
I have update the link in 1st port for Barony. Now the game will create simple 16bits depth buffer instead of 24+8 Depth+Stencil buffer for the FBO. Hopefully it will help CC user (I haven't tested yet).
little test before going to work.

the options menu is the same as before...i attach an image to show:
IMG_20170123_114908.jpg
 
Mmm, thanks for the picture. Strange, you have the unlabeled menu between "Mouse" and "Misc", meaning you don't the updated lang/en.txt in the data (it should be automaticaly copied, and it worked on my CC when I tested).

(out of subject: you have some beggining of PTOD issue with the LCD ribbon?)
 
Just returned from work...so sorry for late reply.

(out of subject: you have some beggining of PTOD issue with the LCD ribbon?)
Yes it's more than a year now...(for the LCD cable and few months later my left nub) i was waiting for the Pyra before ship to ED for repairing...i wouldn't want to be without my :p&|a: :)

I have updated (again) the barony pnd.
Thanks i'll test now or tomorrow when i wake up...
 
Just returned from work...so sorry for late reply.
Wow, you work late!

Yes it's more than a year now...(for the LCD cable and few months later my left nub) i was waiting for the Pyra before ship to ED for repairing...i wouldn't want to be without my :p&|a: :)
Yeah, I understand :)

Thanks i'll test now or tomorrow when i wake up...
Thanks!
 
I have removed Barony for the Beta Thread and pushed it to the repo (and I haven't broken the repo doing so ;) ). The version I have pushed is slightly newer then the last one on the beta thread, so better grab the new version (2 bugs fixes, 1 with music, 1 with collicion detection).

Also, I have update the BloodCM package. The previous version was missing libGL.so... It's fixed now and should run even without codeblocks openned somewhere.
 
GLFrontier works well on my GHz Pandora. Took me a while to figure out the controls are A/Z/</>, with space on shoot, and speed controls on shift(left trigger) and enter.

Most importantly, how am I meant to quit this? I've been able to exit to the load screen, but hitting escape there just dumps you through to the first start point.
 
Back
Top