BBQgiraffe Posted September 28, 2021 (edited) I finally got around to learning C and decided to try porting DOOM to CSFML(original not chocolate) as a learning experience, after about two days of scratching my head I got video and keyboard input and managed to get into the game(player refuses to move for now) https://github.com/BBQGiraffe/Neapolitan-Doom features: infinite monster height fix Fluidsynth uses SFML instead of the standard SDL2 Edited October 6, 2021 by BBQgiraffe 21 Quote Share this post Link to post
Dusty_Rhodes Posted September 28, 2021 @Gibbon this seems up your alley. 0 Quote Share this post Link to post
BBQgiraffe Posted September 28, 2021 fixed textures being fucked 4 Quote Share this post Link to post
Gibbon Posted September 28, 2021 (edited) Nice! I've toyed with the SFML Doom version (C++) as part of my source port build stuff, looks like you're doing pretty good work here. I'll assume this is Linux Doom on CSFML? You did a good thing by going with SFML and not SDL. It is a much simpler layer, always wondered why other source ports don't use it. Edited September 28, 2021 by Gibbon 0 Quote Share this post Link to post
BBQgiraffe Posted September 28, 2021 41 minutes ago, Gibbon said: Nice! I've toyed with the SFML Doom version (C++) as part of my source port build stuff, looks like you're doing pretty good work here. I'll assume this is Linux Doom on CSFML? You did a good thing by going with SFML and not SDL. It is a much simpler layer, always wondered why other source ports don't use it. yes it's the OG Linux DOOM, I'm also using some of the C++ version(mus2midi, as I have a very poor grasp on how midi works) 1 Quote Share this post Link to post
Gibbon Posted September 28, 2021 Any plans on ripping out X11 and rendering it with CSFML entirely? Also, I love how you're not using CMake. Simplicity all the way! 0 Quote Share this post Link to post
BBQgiraffe Posted September 28, 2021 1 minute ago, Gibbon said: Any plans on ripping out X11 and rendering it with CSFML entirely? Also, I love how you're not using CMake. Simplicity all the way! already did lol 1 Quote Share this post Link to post
Gibbon Posted September 28, 2021 (edited) 2 minutes ago, BBQgiraffe said: already did lol Ahh, nice. I assumed by using the X11 linker (-lXext -lX11) you did not remove it entirely. Edited September 28, 2021 by Gibbon 1 Quote Share this post Link to post
BBQgiraffe Posted September 28, 2021 6 hours ago, Gibbon said: Ahh, nice. I assumed by using the X11 linker (-lXext -lX11) you did not remove it entirely. yeah I just forgot lool 1 Quote Share this post Link to post
Gibbon Posted September 28, 2021 1 hour ago, BBQgiraffe said: yeah I just forgot lool No worries. I tried compiling it on MacOS but I noticed that it is still using the linux kernel headers for sound stuff. Otherwise, this is pretty damn good for such a short time. 0 Quote Share this post Link to post
BBQgiraffe Posted September 29, 2021 (edited) currently trying to get fluidsynth to behave should have it working sometime tomorrow, after that I gotta fix some input stuff and I'll have a functional port, my main issue is I can't dynamically resize an array so I think I'll just take the easy route and make a temp file and load that into sfml Edited September 29, 2021 by BBQgiraffe 1 Quote Share this post Link to post
Gibbon Posted September 29, 2021 Another source port to the list, any ideas for a cooler name? :) 2 Quote Share this post Link to post
xdude_gamer Posted September 29, 2021 1 hour ago, Gibbon said: Another source port to the list, any ideas for a cooler name? :) Well it is vanilla, so what about something like: Neapolitan Doom (vanilla (320x200 resolution), but a little bit chocolate (support for widescreen), with a hint of strawberry (new coding)) VANDOOM+ (vanilla Doom with a few added features) 2 Quote Share this post Link to post
Dark Pulse Posted September 29, 2021 Tafkald - The App Formerly Known As Linux Doom. 3 Quote Share this post Link to post
BBQgiraffe Posted September 30, 2021 14 hours ago, xdude_gamer said: Well it is vanilla, so what about something like: Neapolitan Doom (vanilla (320x200 resolution), but a little bit chocolate (support for widescreen), with a hint of strawberry (new coding)) VANDOOM+ (vanilla Doom with a few added features) 15 hours ago, Gibbon said: Another source port to the list, any ideas for a cooler name? :) I'll probably go with Neapolitan Doom, I do plan on adding some features like widescreen and perhaps Lua scripting(since it's an easy to use language and I already have experience embedding it) 1 Quote Share this post Link to post
Biodegradable Posted September 30, 2021 (edited) Neapolitan Doom is an excellent name. It complements the ice-cream motif/terminology the community uses like Vanilla, plus its sourceport counterparts (Chocolate, Crispy, Rum & Raisin) really well on multiple levels. :^) Edited September 30, 2021 by Biodegradable 4 Quote Share this post Link to post
BBQgiraffe Posted September 30, 2021 I finally I finally got music converted to a wav file but apparently fluidsynth writes to a wav type that can't be read by SFML 3 Quote Share this post Link to post
BBQgiraffe Posted September 30, 2021 wav files are just a few bytes of header followed by pcm data so I guess I could just load the raw bytes as samples and see how that works 2 Quote Share this post Link to post
BBQgiraffe Posted September 30, 2021 it works!! although if I try to stop playing a song it crashes so I gotta fix that before I can release 3 Quote Share this post Link to post
Gibbon Posted September 30, 2021 (edited) @Redneckerz will probably be overtime on the wiki this month :) 2 hours ago, Biodegradable said: Neapolitan Doom is an excellent name. It complements the ice-cream motif/terminology the community uses like Vanilla, plus its sourceport counterparts (Chocolate, Crispy, Rum & Raisin) really well on multiple levels. :^) But it makes me hungry.. Edited September 30, 2021 by Gibbon 2 Quote Share this post Link to post
BBQgiraffe Posted September 30, 2021 (edited) music is mostly working, it takes a few seconds to load and it crashes a lot during the intro screen, I was just going to do E1M1 but I got distracted because I love DOOM using FluidSynth with the Roland SC-55 v3.7 soundfont Edited September 30, 2021 by BBQgiraffe 3 Quote Share this post Link to post
BBQgiraffe Posted September 30, 2021 I also implemented pitch shifting but I can't figure out how to add new menu options 1 Quote Share this post Link to post
Gibbon Posted September 30, 2021 2 hours ago, BBQgiraffe said: I also implemented pitch shifting but I can't figure out how to add new menu options You'll have an 'm_misc.c' file. You add a config there (extern your ints from where you declared them). For a new entry, mostly you can use 'ss_none' and 'wad_no'. Then in m_menu.c you can add the menu entry and bind it to your variable so that it changes with the reading of the config. 2 Quote Share this post Link to post
BBQgiraffe Posted September 30, 2021 so turns out precaching music as pcm audio uses just a whole lot of memory, I'm going to try implementing real time playback but it might take some fiddling to sound right since SFML isn't really designed for that 2 Quote Share this post Link to post
xdude_gamer Posted September 30, 2021 8 hours ago, Biodegradable said: Neapolitan Doom is an excellent name. It complements the ice-cream motif/terminology the community uses like Vanilla, plus its sourceport counterparts (Chocolate, Crispy, Rum & Raisin) really well on multiple levels. :^) Thank you so much! :D 2 Quote Share this post Link to post
Redneckerz Posted September 30, 2021 11 hours ago, BBQgiraffe said: I'll probably go with Neapolitan Doom, I do plan on adding some features like widescreen and perhaps Lua scripting(since it's an easy to use language and I already have experience embedding it) If you throw in Lua Scripting, it will definitely get a page. For now a port to SFML is unusual and this stuff is highly impressive. But ill duke it out (heh) till you feel comfortable on the sense of direction you want to go with this :) Lua scripting could be great to have, i can't quickly think of a port that supports that. I know Lua is pretty easy to understand even for a non-programmer (is me) so i'd love to see how far you want to go with that idea. Maybe it easifies mod author to implement scripts. And as for mod authors: How are your thoughts on supports for common standards, like DeHacked, MBF21? 8 hours ago, Gibbon said: @Redneckerz will probably be overtime on the wiki this month :) Lol, indeed, especially now with DoomXS around the corner. But i have ran into a fever so ill see how far i can go. 2 Quote Share this post Link to post
Gibbon Posted September 30, 2021 (edited) Luca scripting would be sweet. Also it is a walk in the park to embed and assign functionality to the interpreter. The easiest proof of concept would be to change the config script into a Lua script and read those values via the embedded interpreter instead of how it's currently done. Edited September 30, 2021 by Gibbon 2 Quote Share this post Link to post
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.