Feb 16, 2019 at 12:26 AM
tscTable["VOC"]=function (paramIterator) local subCommand = paramIterator() if subCommand=="file?" then local f = io.open(paramIterator(), "rb") if f == nil then return tonumber(paramIterator()) end f:close() return end if subCommand=="load" then local name=paramIterator() vocBuffers[name]=dsound.loadSound(paramIterator()) return end if subCommand=="play" then local buf=vocBuffers[paramIterator()] if buf~=nil then dsound.playSound(buf) end return end if subCommand=="playloop" then local buf=vocBuffers[paramIterator()] if buf~=nil then dsound.playSound(buf,true) end return end if subCommand=="stop" then local buf=vocBuffers[paramIterator()] if buf~=nil then dsound.stopSound(buf) end return end if subCommand=="free" then local nam=paramIterator() local buf=vocBuffers[nam] if buf~=nil then dsound.stopSound(buf) dsound.freeSound(buf) vocBuffers[nam]=nil end return end error("Unknown VOC sub-command: "..subCommand) end
what the hell does this meanAhrumbl. There's something that's just occurred to me that would further unsettle matters, what with this being a github project. I've noticed that for a lot of other game decomp/recomps, modders will just start publicly copying the base repo to work on and soon there'll be endless clones of mostly the same tenuously-legal code lying around indefinitely. I am really, really not a fan of the general wastefulness of this sort of attitude and I'd very much prefer if we could preemptively try and focus on avoiding it. I'm sure we can find workarounds for any inconvenience it might cause users without any great difficulty.
it basically means a bunch of people can use the github source stuff and create a bunch of mods of it, which means there's a bunch of the same code lying around on github and it might cause people trying to find the original difficulty.what the hell does this mean
Here's v1.1 of regular CSE2. The EXEs are 32-bit, and should be compatible with Windows XP.
The code's about as accurate as I can get it before restoring the original DirectSound/DirectDraw/WinAPI code. A lot of subtle behaviour inaccuracies have been weeded out along the way. CSE2 also now comes with its own DoConfig clone.
For developers, there's been a pretty big change since v1.0: the project now uses CMake, allowing it to be compiled by more than just GCC/MinGW. Notably, it can be built with MSVC, for you Visual Studio fans out there. In fact, I actually recommend using Visual Studio if you're a novice, since you avoid the learning curve of MSYS2's package manager.
...Yeah, if you're clued-in on this kind of stuff, CSE2 doesn't even need you to install packages for its dependencies anymore. Don't get me wrong, it's preferred, but it's not required. The repo comes with a copy of each dependency's source code, and if CMake detects that a dependency is not installed, it will just compile it into the executable itself.