Aleph One 1.3b1

Have a question, suggestion, or comment about Aleph One's features and functionality (Lua, MML, the engine itself, etc)? Post such topics here.
User avatar
Hopper
Mjolnir Mark IV
Posts: 585
Joined: May 10th '09, 17:02
Contact:

What's three years between friends?

Download from GitHub

UPDATE: 1.3b2 is now the latest.
Last edited by Hopper on Oct 6th '18, 07:44, edited 2 times in total.
User avatar
Wrkncacnter
Vidmaster
Posts: 1953
Joined: Jan 29th '06, 03:51
Contact:

Cool, good to see you back working on this stuff.

Some issues after testing very quickly in windows:
1) Scroll wheel in level selection is backwards.
2) The first time you click secondary fire, it doesn't do anything.
3) Sound doesn't work?

I'll try to do a fresh install of stuff at some point in case I need to start with a new preferences file or something. But I noticed the first 2 issues a while back when I tried building master on linux as well. At one point sprites weren't rendering because of the DPI stuff, but it looks like that may be fixed?

Anyway, glad to see some progress on AlephOne.
User avatar
ravenshining
Vidmaster
Posts: 892
Joined: Jun 17th '17, 22:50
Location: Hawai'i

Huzzah! I'm stoked to see 1.3 moving closer to stable, it's great news for scenarios like Redux and Eternal that use music.
User avatar
The Man
Vidmaster
Posts: 1203
Joined: Aug 6th '08, 05:23
Location: Sarasota, FL
Contact:

I am also quite pleased to see progress here. Is there a changelog, by any chance?
“People should not be afraid of their governments. Governments should be afraid of their people.” —V, V for Vendetta (Alan Moore)

“The trouble is that we have a bad habit, encouraged by pedants and sophisticates, of considering happiness as something rather stupid. Only pain is intellectual, only evil interesting. This is the treason of the artist: a refusal to admit the banality of evil and the terrible boredom of pain. If you can’t lick ’em, join ’em. If it hurts, repeat it. But to praise despair is to condemn delight, to embrace violence is to lose hold of everything else. We have almost lost hold; we can no longer describe happy man, nor make any celebration of joy.” —Ursula K. Le Guin, “The Ones Who Walk Away from Omelas”

“If others had not been foolish, we should be so.” —William Blake, The Marriage of Heaven and Hell

“The law cannot protect anyone unless it binds everyone; and it cannot bind anyone unless it protects everyone.” —Frank Wilhoit

Last.fm · Marathon Chronicles · Marathon Eternal 1.2 · Where Monsters Are in Dreams · YouTube Vidmaster’s Challenge
User avatar
TrajansRow
Born on Board
Posts: 70
Joined: Sep 29th '16, 15:53

Thanks Hopper, this is awesome!

If I’m reading the changes right, the classic OGL renderer is now 100% disabled?
User avatar
Madd The Sane
Spazeroid
Posts: 4
Joined: Jun 25th '15, 00:00

One thing I noticed on the OS X release: The version displayed in the get info dialog is just "A1_DISPLAY_VERSION".
Get out of my mind, idea! I already have an idea in there!
obsidianCarnageX12
Spazeroid
Posts: 4
Joined: Mar 13th '17, 21:46

I did a fresh boot of the new build , and no sound at all.
Nothing in the log file at all.

Either way , great to see a new build underway.
User avatar
Pfhorrest
Vidmaster
Posts: 1847
Joined: Oct 12th '07, 22:08
Location: California
Contact:

Tried to give this a shot tonight and OSX is telling me it is "damaged and can’t be opened" and then prompts me to delete it.
User avatar
ravenshining
Vidmaster
Posts: 892
Joined: Jun 17th '17, 22:50
Location: Hawai'i

I just downloaded and built the release, so far so good on Debian 8... until I start a game, and immediately I am sent spinning crazily in all directions. Went into the controls, and there's no longer separate horizontal and vertical mouse sensitivity!? Alas! I'll have to seek out the last build that did, this simply won't do!

Hm, I think I found where you "simplified" mouse preferences on May 13, maybe I can hack myself a version that allows me to adjust things properly...
TrajansRow wrote:If I’m reading the changes right, the classic OGL renderer is now 100% disabled?
There is now is a "3D perspective" option under the renderer options. It looks like this is using the shader renderer to achieve the same perspective effect? Does this mean no using 3D models without the depth testing bug, or, I'll test that in a bit...
User avatar
treellama
Vidmaster
Posts: 6110
Joined: Jun 2nd '06, 02:05
Location: Pittsburgh
Contact:

obsidianCarnageX12 wrote:I did a fresh boot of the new build , and no sound at all.
Can you post some more details about your setup? What operating system, etc.
ravenshining wrote:mouse [:C]
Yeah mouse control is terrible/awesome. I haven't found time to look into fixing/ruining it yet.
User avatar
TrajansRow
Born on Board
Posts: 70
Joined: Sep 29th '16, 15:53

Pfhorrest wrote:Tried to give this a shot tonight and OSX is telling me it is "damaged and can’t be opened" and then prompts me to delete it.
That usually means the app no longer matches the cryptographic signature attached to it. The feature is intended to detect corruption or modification by malware. It’s more likely due to how the distribution was assembled; maybe Hopper has an expired signing cert, or changed linked framework paths post-build or something.

There are a few ways to get around this. If you have the dev tools installed, just remove the signature:
codesign --remove-signature Marathon\ Infinity.app
Launch the app and get the “unidentified developer” warning, then go to the Security prefs pane and click Allow on Marathon Infinity.

A worse method is to temporarily disable the check like this:
sudo spctl --master-disable
<launch the app>
sudo spctl --master-enable
User avatar
treellama
Vidmaster
Posts: 6110
Joined: Jun 2nd '06, 02:05
Location: Pittsburgh
Contact:

You can also right-click and select "Open"--that has allowed me to bypass the Gatekeeper before.

We have never signed releases before, but it's looking likely we'll need to do that. Unfortunately, it costs money.
User avatar
TrajansRow
Born on Board
Posts: 70
Joined: Sep 29th '16, 15:53

Does that “Open” trick work on Mojave? I’ve not had success doing that recently.

You can run unsigned or self-signed apps on macOS; it just takes a few extra clicks at first launch to confirm that you really want to do it. The issue with yesterday’s release seems to be that it is signed and that the signature is inconsistent.
obsidianCarnageX12
Spazeroid
Posts: 4
Joined: Mar 13th '17, 21:46

Sorry for lack of info in previous post .

OS : Windows 10 64-Bit
Video Card : GTX 1080 FE
RAM :16GB

I tried all 3 games just to verify that it wasn't just Marathon 1 , all games have no sound running this build of Aleph One on Windows.
On Linux sound is present.
User avatar
ravenshining
Vidmaster
Posts: 892
Joined: Jun 17th '17, 22:50
Location: Hawai'i

I've managed to get control, albiet very swimmy control. I had to dial mouse sensitivity all the way down to 0.05 for it to sort of work. I use a trackpad btw.

Confirmed that the depth-test bug still happens with "3D perspective" unticked.

More importantly, I seem to be segfaulting on entering a level way more often. It happens between every time(!) to 1/4 of the time, depending on what options I tick, but I haven't been able to find a pattern. Previously it did this between 1/2 to 1/6 of the time. If a level has a chapter screen, it happens after the chapter screen and before the progress bar. It especially loves segfaulting if you die and attempt to respawn to an earlier level.

If it's any help, here's a backtrace from Marathon:

Code: Select all

Reading symbols from /usr/local/bin/alephone...done.
(gdb) core core
[New LWP 4958]
[New LWP 4962]
[New LWP 4963]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
Core was generated by `alephone -d ./Aleph One/Marathon/'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0  0x00000000004ba5b8 in L_Class<&Lua_Polygon_Lines_Name, short>::Instance (index=index@entry=-17962, L=0x3e9c5f70, L@entry=0xfff0b9d6)
    at lua_templates.h:232
232             return blockPtr ? *static_cast<L_Class **>(blockPtr) : nullptr;
[Current thread is 1 (Thread 0x7f632f95fb80 (LWP 4958))]
(gdb) bt
#0  0x00000000004ba5b8 in L_Class<&Lua_Polygon_Lines_Name, short>::Instance (index=index@entry=-17962, L=0x3e9c5f70, L@entry=0xfff0b9d6)
    at lua_templates.h:232
#1  L_Class<&Lua_Polygon_Lines_Name, short>::Index (L=L@entry=0x3e9c5f70, index=index@entry=-1001002) at lua_templates.h:281
#2  0x00000000004b1e16 in Lua_Polygon_Lines_Iterator (L=0x3e9c5f70) at lua_map.cpp:996
#3  0x0000000000582a2d in luaD_precall (L=L@entry=0x3e9c5f70, func=<optimized out>, nresults=1) at ldo.c:318
#4  0x0000000000582cd0 in luaD_call (L=L@entry=0x3e9c5f70, func=func@entry=0x7f62f9bc0e00, nResults=nResults@entry=1, 
    allowyield=allowyield@entry=1) at ldo.c:394
#5  0x00000000005914f3 in luaV_execute (L=L@entry=0x3e9c5f70) at lvm.c:798
#6  0x0000000000582ce8 in luaD_call (L=0x3e9c5f70, func=<optimized out>, nResults=<optimized out>, allowyield=<optimized out>) at ldo.c:395
#7  0x0000000000582399 in luaD_rawrunprotected (L=L@entry=0x3e9c5f70, f=f@entry=0x57b930 <f_call>, ud=ud@entry=0x7ffc10caee40) at ldo.c:131
#8  0x0000000000582f11 in luaD_pcall (L=L@entry=0x3e9c5f70, func=func@entry=0x57b930 <f_call>, u=u@entry=0x7ffc10caee40, old_top=16, 
    ef=<optimized out>) at ldo.c:595
#9  0x000000000057ce04 in lua_pcallk (L=0x3e9c5f70, nargs=<optimized out>, nresults=0, errfunc=<optimized out>, ctx=0, k=<optimized out>)
    at lapi.c:949
#10 0x00000000004a3d27 in LuaState::CallTrigger (this=0x3afc1b0, numArgs=<optimized out>) at lua_script.cpp:389
#11 0x00000000004aa0fe in boost::_mfi::mf0<void, LuaState>::operator() (p=<optimized out>, this=0x7ffc10caeeb0)
    at /usr/include/boost/bind/mem_fn_template.hpp:49
#12 boost::_bi::list1<boost::arg<1> >::operator()<boost::_mfi::mf0<void, LuaState>, boost::_bi::list1<LuaState* const&> > (
    this=0x7ffc10caeec0, a=<synthetic pointer>..., f=...) at /usr/include/boost/bind/bind.hpp:258
#13 boost::_bi::bind_t<void, boost::_mfi::mf0<void, LuaState>, boost::_bi::list1<boost::arg<1> > >::operator()<LuaState*> (
    a1=<optimized out>, this=0x7ffc10caeeb0) at /usr/include/boost/bind/bind_template.hpp:53
#14 L_Dispatch<boost::_bi::bind_t<void, boost::_mfi::mf0<void, LuaState>, boost::_bi::list1<boost::arg<1> > > > (f=...)
    at lua_script.cpp:1166
#15 0x00000000004a47ad in L_Call_Cleanup () at lua_script.cpp:1193
#16 0x0000000000472da9 in leaving_map () at marathon2.cpp:591
#17 0x0000000000446db5 in goto_level (entry=entry@entry=0x7ffc10caef50, new_game=new_game@entry=false, number_of_players=<optimized out>)
    at game_wad.cpp:757
#18 0x00000000005f6f97 in transfer_to_new_level (level_number=4) at interface.cpp:1909
#19 check_level_change () at interface.cpp:1019
#20 0x00000000004727f0 in update_world_elements_one_tick (call_postidle=<optimized out>) at marathon2.cpp:431
#21 update_world () at marathon2.cpp:504
#22 0x00000000005f64ed in idle_game_state (time=<optimized out>) at interface.cpp:1193
#23 0x0000000000412e58 in main_event_loop () at shell.cpp:803
#24 main (argc=<optimized out>, argv=<optimized out>) at shell.cpp:346
(gdb) frame 0
#0  0x00000000004ba5b8 in L_Class<&Lua_Polygon_Lines_Name, short>::Instance (index=index@entry=-17962, L=0x3e9c5f70, L@entry=0xfff0b9d6)
    at lua_templates.h:232
232             return blockPtr ? *static_cast<L_Class **>(blockPtr) : nullptr;
And one from M1R - is this the music loop bug?

Code: Select all

Reading symbols from /usr/local/bin/alephone...done.
(gdb) core core
[New LWP 4406]                                                                                                                                                                        
[New LWP 4409]                                                                                                                                                                        
[New LWP 4408]                                                                                                                                                                        
[Thread debugging using libthread_db enabled]                                                                                                                                         
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".                                                                                                            
Core was generated by `alephone -d ./Aleph One/M1R/'.                                                                                                                                 
Program terminated with signal SIGSEGV, Segmentation fault.                                                                                                                           
#0  convert_audio (in_samples=<optimized out>, in_channels=2, in_stride=1004117712, in_fmt=<optimized out>, in_buf=<optimized out>, out_samples=1152, out_channels=2, out_stride=0,   
    out_fmt=AV_SAMPLE_FMT_S16, out_buf=0x8201380 "") at Movie.cpp:272                                                                                                                 
272                         ob[(s * in_channels) + c] = ib[(c * in_stride) + s];                                                                                                      
[Current thread is 1 (Thread 0x7f75ae466b80 (LWP 4406))]
(gdb) bt
#0  convert_audio (in_samples=<optimized out>, in_channels=2, in_stride=1004117712, in_fmt=<optimized out>, in_buf=<optimized out>, out_samples=1152, out_channels=2, out_stride=0, 
    out_fmt=AV_SAMPLE_FMT_S16, out_buf=0x8201380 "") at Movie.cpp:272
#1  0x000000000074c771 in FFmpegDecoder::GetAudio (this=this@entry=0x7f75934d58b0) at FFmpegDecoder.cpp:232
#2  0x000000000074c8db in FFmpegDecoder::Decode (this=0x7f75934d58b0, 
    buffer=0x1afd790 "T\035% )\035I \315\034u u\034\256 J\034\344 B\034\030!4\034N!\330\033l!\225\033w!\264\033\226!\233\033\262!Y\033\306!f\033\365!R\033\037\"\033\033@\"O\033z\"1\033\244\"t\032\254\"\365\031\305\"^\031\321\"\235\030\305\"Y\030\305\"\364\027\276\"\322\027\272\"i\030\327\"-\030\333\"\243\027\325\"\361\027\376\"}\027\035#\331\026D#\215\027\271#\230\027/$a\027\260$K\031\200%K\032\b&\270\030\030&\215\030J&*\031o&\301\027;&\036\027\"&\226\027\022&\230\026\271%0\026f%\261\026\023%\242\025\206$\247\024\n$\241\024\251#\360\023\060#\213\023\327\"\343\023\254\""..., max_length=1024) at FFmpegDecoder.cpp:132
#3  0x0000000000740364 in Music::FillBuffer (this=0x1e03880) at Music.cpp:213
#4  0x0000000000740476 in Music::Play (this=0x4) at Music.cpp:201
#5  0x00000000007408f4 in Music::Idle (this=0x1e03880) at Music.cpp:125
#6  0x000000000042a537 in global_idle_proc () at shell_misc.cpp:301
#7  0x0000000000412bfa in main_event_loop () at shell.cpp:777
#8  main (argc=<optimized out>, argv=<optimized out>) at shell.cpp:346
(gdb) frame 0
#0  convert_audio (in_samples=<optimized out>, in_channels=2, in_stride=1004117712, in_fmt=<optimized out>, in_buf=<optimized out>, out_samples=1152, out_channels=2, out_stride=0, 
    out_fmt=AV_SAMPLE_FMT_S16, out_buf=0x8201380 "") at Movie.cpp:272
272                         ob[(s * in_channels) + c] = ib[(c * in_stride) + s];
User avatar
Hopper
Mjolnir Mark IV
Posts: 585
Joined: May 10th '09, 17:02
Contact:

The Mac releases have been repackaged to address the code-signing issue. This isn't the first signed release (1.2.1 was signed), but several factors (including a bug on Apple's end) broke the previous workflow.

I'm still experiencing a problem running the applications directly from the disk image. If this happens to you, copy it to your main drive. If it fails to launch after accepting the security warning, launch it again; it should work eventually. I realize this is annoying for everyone involved.
User avatar
Hopper
Mjolnir Mark IV
Posts: 585
Joined: May 10th '09, 17:02
Contact:

Classic renderer is indeed gone. Shader renderer handles both "3D perspective" options. SDL 2 brought features which required significant rewrites, plus all platforms are shifting from OpenGL to Metal or Vulkan, so maintaining two OpenGL-based renderers isn't feasible. Post-1.3, the focus will be on replacing the (remaining) OpenGL renderer with a similarly-featured one running on a newer graphics API.

No changelog, but you can read the gory details on GitHub. Some highlights: fullscreen doesn't change desktop resolution (no more screwing up your other windows and icons); full controller support; raw mouse input support (for anyone having trouble, switch to "OS input" and see if it acts like it used to); lots and lots of tweaks to support the latest OSes and toolchains.

The 1.3 release will remain network compatible with 1.2.1.
User avatar
TrajansRow
Born on Board
Posts: 70
Joined: Sep 29th '16, 15:53

Hopper wrote:Classic renderer is indeed gone.
That’s actually great! The OpenGL FFP has been deprecated for years, and only runs in compatibility mode these days (the same also goes for the current shader renderer). I spent several weeks porting the renderer to ES 3.0 this winter on the mobile fork. It was straightforward, but mostly a wasted effort since the real target needed to be Vulkan. I might be able to help when you decide to start on that.
User avatar
Pfhorrest
Vidmaster
Posts: 1847
Joined: Oct 12th '07, 22:08
Location: California
Contact:

Repackaged Mac builds load perfectly. :-)

I like how the splash screen, main menu, chapter screens, etc, all fill the screen now. (Or maybe "fill the screen" is just on by default now, and I could have had that this whole time?)

My loading screen in Eternal gets really weird though:
Screen Shot 2018-10-02 at 3.16.03 PM.jpg
Not sure exactly what's going on there. (Loading screens were semi-broken in 1.3a1 too, but it just didn't draw the progress bar; the background displayed just fine).

I'm not experiencing the no-sound problem other people mention, and music seems to loop properly still, and everything else in a quick runthrough of a level and a half looked fine.

I am a little disappointed that Classic renderer is gone because it ran a lot faster than Shader, even with things like bump mapping and the new "3D Perspective" option turned off. On my Early 2011 MBP things are pretty jerky now even with all those options turned off.

In any case glad to have you back at it again Hopper! Thanks!
User avatar
treellama
Vidmaster
Posts: 6110
Joined: Jun 2nd '06, 02:05
Location: Pittsburgh
Contact:

Bloom Effects slow things down quite a bit, so if those are on, try turning those off.

The Shader renderer doesn't work well with Intel graphics in Linux, unfortunately, due to poor support of clip planes. So I'm back to software rendering myself :)
User avatar
TrajansRow
Born on Board
Posts: 70
Joined: Sep 29th '16, 15:53

treellama wrote:The Shader renderer doesn't work well with Intel graphics in Linux, unfortunately, due to poor support of clip planes. So I'm back to software rendering myself :)
Maybe we can fix your clipping plane issue in the next release?

This works [in the 2 minutes of testing I did] on OS X. I'm not sure how to update the makefile for Linux, but it's just adding one new class and also glm as a non-recursive header search path. If it does not solve the problem... your problems are probably too big.

git clone https://github.com/TrajansRow/alephone
cd alephone
git checkout newClipPlanes
User avatar
Pfhorrest
Vidmaster
Posts: 1847
Joined: Oct 12th '07, 22:08
Location: California
Contact:

Oh one other comment I forgot earlier: it appears that it no longer blacks out other displays on multi-display setups. It'd be nice if that were an option, as when playing for immersion I like when it blacks the other screens out, but sometimes I don't want that and I resort to windowed mode to avoid it but it'd be nice to be able to choose the now-current behavior or the old behavior.
User avatar
Pfhorrest
Vidmaster
Posts: 1847
Joined: Oct 12th '07, 22:08
Location: California
Contact:

And a probably-related behavior I just noticed too: I use control for my run/swim key and arrows for look, and if I'm running/swimming while turning left, it switches me out of game to the desktop, and then control-right will switch me back. I'm guessing AO is using Spaces on OSX, which I don't really use, but I'm guessing that control-left and control-right cycle through different Spaces and that's what's happening. Maybe that kind of keypress can be intercepted?
User avatar
ravenshining
Vidmaster
Posts: 892
Joined: Jun 17th '17, 22:50
Location: Hawai'i

This is weird, I've never had a problem with Varsara before, but I crashed with this just now:
Spoiler:

Code: Select all

[string "Solo Lua"]:2646: bad argument #-1001002 to 'for iterator' (adjacent_polygons expected, got userdata) (lua_script.cpp:1117)
vhalt: map.cpp:279: polygon index #21569 is out of range (csalerts_sdl.cpp:273)
FATAL: map.cpp:279: polygon index #21569 is out of range
Aborted
Don't know whether that's a map, lua, or new 1.3b1 problem.
Hopper wrote:all platforms are shifting from OpenGL to Metal or Vulkan, so maintaining two OpenGL-based renderers isn't feasible. Post-1.3, the focus will be on replacing the (remaining) OpenGL renderer with a similarly-featured one running on a newer graphics API.
Oh dear. I'll have to get a new mobile workstation if we're moving to Vulkan. Alas, poor 8710w, I knew it well. Poor thing is almost 12 years old...
Pfhorrest wrote:My loading screen in Eternal gets really weird though:
Pfhorrest, your loading screen has always looked like that to me, but I've only ever been able to run 1.3 alpha on this machine.
User avatar
Pfhorrest
Vidmaster
Posts: 1847
Joined: Oct 12th '07, 22:08
Location: California
Contact:

FWIW I get that same error in Vasara (or at least something very similar to it). I'm running around retexturing Flight of Icarus and assumed it was the map.

I have also gotten similar errors on other maps before, so I'm not sure that it's the new Aleph One behind it, but if we're both suddenly getting them more often on (I presume) different maps then maybe?

Also, weird about that loading screen! This is what it's supposed to look like, and what it's looked like in every build previous (though in 1.3a1 that center progress bar never fills in like it should):
Loading.jpg
Oh also thanks Treellama for the tip about the bloom settings, turning that off did speed everything up significantly.
Post Reply