Gibbon Posted November 15, 2021 (edited) 31 minutes ago, Redneckerz said: That's what i thought and why i joked aswell ;) How many ports are you going to muster, Gib? ;) No port is too much for my monkey business :) @Lobo - any news on an SDL2 update for it? M1 Macs don't Support SDL1.2 so Intel binaries is all that is possible, for Macs at least. Edited November 15, 2021 by Gibbon 2 Share this post Link to post
dasho Posted November 15, 2021 (edited) 35 minutes ago, Gibbon said: No port is too much for my monkey business :) @Lobo - any news on an SDL2 update for it? M1 Macs don't Support SDL1.2 so Intel binaries is all that is possible, for Macs at least. I've been able to run it with SDL2 using the sdl12-compat shim library, but it gets wonky on keyboard/mouse input. I feel the ideal solution would be seeing if it could be made to run with either true SDL 1.x or sdl12-compat's library + SDL2. 1 Share this post Link to post
Gibbon Posted November 15, 2021 Fair enough, it would be a ton of work to get a real SDL2 version done. The shim is good enough for most things. Could I add the Mac binary to the source port builds list? I've made sure to include the 'preview' in the filename so it is clear this isn't a stable release. 0 Share this post Link to post
dasho Posted November 15, 2021 2 hours ago, Gibbon said: Fair enough, it would be a ton of work to get a real SDL2 version done. The shim is good enough for most things. Could I add the Mac binary to the source port builds list? I've made sure to include the 'preview' in the filename so it is clear this isn't a stable release. Oh, by all means. I'm testing the commit I made for .mp3 sound effects handling before folding in your solution from the Issue tracker, but that will likely be the next commit. Thanks again! 1 Share this post Link to post
dasho Posted November 16, 2021 I've added USE_SDL12_COMPAT as a CMake option which will build the sdl12-compat library and place it in the same location as the EDGE-classic executable when it's done. Not sure if it will help with the M1 situation but it works with SDL2.dll on Windows (not ready for primetime yet, though; the mouse/keyboard input is erratic but the game loads, video/sound/music is fine, etc) 1 Share this post Link to post
Gibbon Posted November 16, 2021 44 minutes ago, dasho said: I've added USE_SDL12_COMPAT as a CMake option which will build the sdl12-compat library and place it in the same location as the EDGE-classic executable when it's done. Not sure if it will help with the M1 situation but it works with SDL2.dll on Windows (not ready for primetime yet, though; the mouse/keyboard input is erratic but the game loads, video/sound/music is fine, etc) I'll try it later on an M1, never even attempted to use the compat library, would be pretty sweet if it worked though. 0 Share this post Link to post
Lobo Posted November 19, 2021 BTW, if anyone is trying to register on the 3dge forum, the answer to the question it asks is any of these: Coraline Corbachu Cora 0 Share this post Link to post
Yamato Posted November 19, 2021 (edited) 1 hour ago, Lobo said: BTW, if anyone is trying to register on the 3dge forum, the answer to the question it asks is any of these: Coraline Corbachu Cora I sent you a PM about that, but these wont work. I also tried also all small letter without capitals. [EDIT 1] Also not related to the forum thing but: "+ Removed #VERSION check for both DDF and RTS." Then how the engine knows that a specific DDF/RTS is compatible with it? [EDIT 2] This looks like a nice project that I am absolutely interested in but just to know, is this going to be backwards compatible with the "normal" 1.35 version of EDGE? Since I am making something for that very specific version, backwards compatibility worries me a little bit. Edited November 19, 2021 by Yamato 0 Share this post Link to post
Lobo Posted November 19, 2021 (edited) The base is Edge 1.35: anything that works in that will work in Edge-Classic. As far as I've seen, removing the version checks has not affected anything that would be broken in 1.35 (perhaps some really ancient mods that would be problematic anyway). I'll check the forum issue and see what's happening. I've changed it to just "corbachu" without quotes: can you try again? Edited November 19, 2021 by Lobo 0 Share this post Link to post
Yamato Posted November 20, 2021 (edited) Yes, "corbachu" without quotation marks worked. Also I updated the DDF and COAL docs with the latest additions and changes from EDGE Classic: https://retroyamato.neocities.org/index.htm If you happen to find any error or missing thing in these docs, pls let me know. 0 Share this post Link to post
Coraline Posted November 20, 2021 @Yamato Keep in mind we also have The EDGE Wiki; and could easily add support and markers for EDGE-Classic. Just mentioning it if there is interest. 16 hours ago, Lobo said: The base is Edge 1.35: anything that works in that will work in Edge-Classic. As far as I've seen, removing the version checks has not affected anything that would be broken in 1.35 (perhaps some really ancient mods that would be problematic anyway). With the exception of specific Edge-Classic additions that we might miss or take longer to merge upstream, things running in EDGE should largely still be compatible with 1.35/1.36. Of course however, Edge-Classic will retain most compatibility still 😎 0 Share this post Link to post
CeeJay Posted November 20, 2021 6 hours ago, Yamato said: Yes, "corbachu" without quotation marks worked. Also I updated the DDF and COAL docs with the latest additions and changes from EDGE Classic: https://retroyamato.neocities.org/index.htm If you happen to find any error or missing thing in these docs, pls let me know. Excelent work. But I noticed that some EDGE-Classic specefic commands are indicated as such while others are not. And there may be one or two more that aren't listed at all. 0 Share this post Link to post
Yamato Posted November 20, 2021 (edited) 3 hours ago, CeeJay said: Excelent work. But I noticed that some EDGE-Classic specefic commands are indicated as such while others are not. And there may be one or two more that aren't listed at all. What commands are not indicated, that were not already in the docs? I only added the commands that Lobo said in the first message of this thread. I got the originals from here: http://tcfirstgen.000webhostapp.com/ddf_online/index.htm I know there were 2 or 3 commands that are announced by Lobo in EDGE Classic but somehow they were already in the docs from the link above. I think they were SECRET_SOUND and DJNE, maybe 1 or 2 more commands, cannot recall now. Ok, forget about it, I already found the missing commands in the changelog at github. Will fix things tomorrow. Edited November 20, 2021 by Yamato 0 Share this post Link to post
Martin Howe Posted November 20, 2021 As one of the original DosDoom developers back in the 1990s after Chi Hoang stopped work on it, it was great to see @Coraline essentially take the (renamed) EDGE over and resurrect it from the doldrums; so it's also great to see this new fork. All my modding, and occasional code contributing, is in/for ZDoom nowadays, but it is nice to see the older source ports continuing in some form. Keep up the good work, guys! 5 Share this post Link to post
CeeJay Posted November 22, 2021 I did a thing... DOOM 64-ified, loosely based on https://forum.zdoom.org/viewtopic.php?f=46&t=72781 But now also as an EDGE-Classic exclusive, brought to you by moi. Play me: https://www.mediafire.com/file/n7zpesavsz709za/d64ified_EDGE.zip/file D64IFIED_TEX.WAD and D64IFIED_PSXMUS.WAD are entirely optional. Vanilla texture swap and PSX DOOM soundtrack, respectively. Happy hunting! 5 Share this post Link to post
Lobo Posted November 23, 2021 @CeeJayYou should add a screenshot or two to your post 0 Share this post Link to post
Gibbon Posted November 23, 2021 I was doing a new .app bundle today and thought you might like these (older EDGE 135 icons). PNG and ICNS (mac app icon) edge_128x128_png_icns.zip Looks nice on a Mac :) Spoiler 1 Share this post Link to post
Lobo Posted November 23, 2021 (edited) @Gibbon That icon isn't edge 1.35 or older. I think it's the Scourge or Hypertension one from Chu's branch. But it's not Edge-Classic that's for sure. 1 Share this post Link to post
Gibbon Posted November 23, 2021 I only assumed so as the commit message was 3DGE 1.36f :) 0 Share this post Link to post
dasho Posted November 23, 2021 I've updated the repo with the newest version of sdl12-compat. Other than needing to bring down mouse sensitivity from the defaults, it appears to work fine with SDL2 now. That being said, I think M1 support might not be there yet because the program still needs to be able to link against SDL1 when compiling. I don't have a way to test this, unfortunately. 1 Share this post Link to post
Gibbon Posted November 23, 2021 (edited) 1 hour ago, dasho said: I've updated the repo with the newest version of sdl12-compat. Other than needing to bring down mouse sensitivity from the defaults, it appears to work fine with SDL2 now. That being said, I think M1 support might not be there yet because the program still needs to be able to link against SDL1 when compiling. I don't have a way to test this, unfortunately. Exactly right, it fails at the final linking step for a universal binary with SDL1 symbols not found for arm64. I have never tried compiling SDL1 on Apple silicon. I doubt it would work as all the M1 support was in SDL2.. could be interesting though. 0 Share this post Link to post
dasho Posted November 23, 2021 Another, and arguably better approach for this case, is to use the sdl12-compat headers instead, which allow for building the program against SDL2 only, and thus only requiring an external SDL2.dll at runtime, versus the 'fake' SDL.dll + SDL2.dll. I've tried it before, but I haven't quite figured out how to get the linker happy at the end. I'll keep trying, though. It would be neat to see it running on M1. On another note, my Pi 4 is arm64 and doesn't seem to have issues with SDL1; it's even in my Ubuntu/openSUSE repos for it...is this just a nuance of M1 in particular? 1 Share this post Link to post
Gibbon Posted November 23, 2021 Well I was wrong, it compiles fine (without X11 of course). I tried to create a fat binary (arm64 + x86_64), however it got to the final stage and gets confused witth the SDLMain linking, I'm guessing SDL1.2 doesn't like having 2 main functions (1 per slice). I will compile it later directly on my M1 machine. One thing though, libpng needs modifications to build on an M1 machine (I have done the changes myself) but basically all 'neon' stuff has to go. It isn't a huge thing though, unless you're using those functions. 0 Share this post Link to post
dasho Posted November 23, 2021 (edited) IIRC, I used the CMakeLists included with libpng as-is without looking too much into it. I'm not aware of any intentional usage of NEON instructions, so I'd gladly take your mods as a PR or attachment. 1 Share this post Link to post
Gibbon Posted November 24, 2021 (edited) One PR for you: https://github.com/dashodanger/EDGE-classic/pull/20/files So while the M1 does run SDL1.2, it is janky (to say it nicely). You cannot remap certain keybindings (Option/Command without first remapping to another key then trying again). Also, you cannot turn or move while shooting (using keyboard only). The sky graphics also distort, so SDL1.2 doesn't really support the 8-core GPU in the M1 (and I doubt it ever will). Intel Macs work flawlessly though. But enough talk, the pictures! Spoiler I do love this source port. Turning off the autoaim, mouselook etc.. gives it a really nice retro feeling but with nice effects. Good stuff! 1 Share this post Link to post
dasho Posted November 24, 2021 I appreciate the PR...it's cool to see that it worked to a minimal degree at least. Thinking out loud, it might be better for me to just take a crack at a separate branch that uses SDL2 and treat the main repo as 'upstream' for it in regards to new features/fixes. 1 Share this post Link to post
Gibbon Posted November 24, 2021 2 hours ago, dasho said: I appreciate the PR...it's cool to see that it worked to a minimal degree at least. Thinking out loud, it might be better for me to just take a crack at a separate branch that uses SDL2 and treat the main repo as 'upstream' for it in regards to new features/fixes. I was thinking something like that too. Since the main EDGE is already on it, there is at the very least a 'rough blueprint' of what to do. 0 Share this post Link to post
dasho Posted November 24, 2021 (edited) I just posted the initial commits for the SDL2 branch. It's not ready for play at all, there's plenty I need to learn about the migration, but it should be enough to test the compilation/execution process. 1 Share this post Link to post
Gibbon Posted November 24, 2021 (edited) Bloody hell that was quick! Even for a POC commit.. Edit: Well it compiles, it works. Now Intel and M1 are at the same level, functionally :) Not bad at all for a rough transition to SDL2. Edited November 24, 2021 by Gibbon 1 Share this post Link to post
Yamato Posted November 25, 2021 The docs have been updated. Changes are: + Added all the RTS documentation including EDGE Classic 1.35.1 features. + Fixed a few minor errors. - Modified Things.ddf: ・Added the new ammo types AMMO17 to AMMO24 - Modified DDF Usage page to reflect changes in EDGE Classic 1.35.1 Please note: RTS docs format is temporary and will probably change in the future for better readability. The same could be true for DDF and COAL. In the process: + Adding Styles.ddf Access Link: https://retroyamato.neocities.org/index.htm If you find any error or missing item, please let me know. 2 Share this post Link to post