Ouchface
Register | User Profile | Member List | F.A.Q | Privacy Policy | New Blog | Search Forums | Forums Home
Doomworld Forums : Powered by vBulletin version 2.2.5 Doomworld Forums > Classic Doom > Doom Editing > DOOM and DOOM Editors in BASIC
 
Author
All times are GMT. The time now is 15:58. Post New Thread    Post A Reply
Coding Co-op
Newbie


Posts: 6
Registered: 12-11


Hi everyone!

I've been a DOOMer since the shareware release (I still have the original 5.25" diskettes). I've been a BASIC programmer since the 1970s.

One thing that has bothered me since the beginning is the lack of editors in BASIC. If the DOOM source code and some key editors were translated to BASIC, imagine what would happen...a whole new generation of engines and editors made by people like me that have long wanted to, but didn't understand C or C++ enought to do the job. Think about it: Everyone who wants to make an ENDOOM resource pretty much has to use Endoomer, a very old DOS based editor. Everyone to this day, relies on WinTex which is old and relies on a DeuTex library to do everything. I am now working on a VB.NET version of an incomplete level editor called HIDE and a VB.NET ENDOOM editor call EndEdit.NET.

If this at all interests you, please email me.

Old Post 12-13-11 21:24 #
Coding Co-op is offline Profile || Blog || PM || Email || Homepage || Search || Add Buddy IP || Edit/Delete || Quote
esselfortium
Cumulonimbus Antagonistic Posting


Posts: 5268
Registered: 01-02



Coding Co-op said:
Think about it: Everyone who wants to make an ENDOOM resource pretty much has to use Endoomer, a very old DOS based editor. Everyone to this day, relies on WinTex which is old and relies on a DeuTex library to do everything.

Wait, we do?

Old Post 12-13-11 21:26 #
esselfortium is offline Profile || Blog || PM || Email || Homepage || Search || Add Buddy IP || Edit/Delete || Quote
Coding Co-op
Newbie


Posts: 6
Registered: 12-11


Slade does not do ENDOOM, does it? Can it do sprite allignment? Merge multiple wad files? Edit level geometry?

Old Post 12-13-11 21:44 #
Coding Co-op is offline Profile || Blog || PM || Email || Homepage || Search || Add Buddy IP || Edit/Delete || Quote
Marnetmar
Forum Staple


Posts: 2023
Registered: 09-10



Coding Co-op said:
Edit level geometry?


http://www.doombuilder.com/

Old Post 12-13-11 21:49 #
Marnetmar is offline Profile || Blog || PM || Email || Search || Add Buddy IP || Edit/Delete || Quote
esselfortium
Cumulonimbus Antagonistic Posting


Posts: 5268
Registered: 01-02


I'm not sure if it does ENDOOM yet, but XWE still works for it, at least.

Sprite alignment, yup. SLADE, as well as slightly older utilities SLumpEd and XWE, can do that.

Merging wad files can be done, though I don't think there's a single function to automagically do it for you. With all the different lumps and formats and such that can be in use in a wad nowadays, it's safer and saner to let users merge stuff together themselves using copy and paste of lumps and texture entries.

Editing level geometry in SLADE 3.0 is still in progress, but Doom Builder 2 is a fully functional and highly capable map editor, and earlier versions of SLADE supported level editing as well.

Old Post 12-13-11 21:53 #
esselfortium is offline Profile || Blog || PM || Email || Homepage || Search || Add Buddy IP || Edit/Delete || Quote
Coding Co-op
Newbie


Posts: 6
Registered: 12-11


I tried to build the project with VC++ 2010 express and it didn't couldn't find half of the files. Again, it's a nice project, but in C++.

Old Post 12-13-11 22:09 #
Coding Co-op is offline Profile || Blog || PM || Email || Homepage || Search || Add Buddy IP || Edit/Delete || Quote
Coding Co-op
Newbie


Posts: 6
Registered: 12-11


My whole point is, if there were BASIC versions of editors and the game source out there, many, many, more projects would be done. There are so many things for which there are either no programs for, or what programs are there are so old, that thier functionality is in danger of becoming extinct. Name the last editor that could edit saved games?

Old Post 12-13-11 22:39 #
Coding Co-op is offline Profile || Blog || PM || Email || Homepage || Search || Add Buddy IP || Edit/Delete || Quote
esselfortium
Cumulonimbus Antagonistic Posting


Posts: 5268
Registered: 01-02



Coding Co-op said:
My whole point is, if there were BASIC versions of editors and the game source out there, many, many, more projects would be done. There are so many things for which there are either no programs for, or what programs are there are so old, that thier functionality is in danger of becoming extinct. Name the last editor that could edit saved games?

Saved games for which source port? There are so many in use nowadays, far more prominently than the original DOS exe, and it's not unheard of for a port's savegames to be incompatible from one major version to the next.

But overall I'm just not sure what huge set of features you're not seeing. SLADE handles lump editing with great ease, power, and stability. Doom Builder is the most advanced and capable map editor we've ever had for Doom. There's even tools like WhackEd to make Dehacked patches editable in Windows.

Old Post 12-13-11 22:46 #
esselfortium is offline Profile || Blog || PM || Email || Homepage || Search || Add Buddy IP || Edit/Delete || Quote
david_a


Posts: 1350
Registered: 09-02


Do you honestly think there is a flood of BASIC developers clamoring to mess with Doom? The language is a relatively minor obstacle compared to the arcane file formats Doom uses anyway; you're going to have to do a lot of low-level bit twiddling no matter the language. If it was only a question of the language we would be flooded with C#/Java/python/ruby/etc tools.

Old Post 12-13-11 23:46 #
david_a is offline Profile || Blog || PM || Search || Add Buddy IP || Edit/Delete || Quote
hex11
Senior Member


Posts: 1481
Registered: 09-09


Well, it's not like you can't manipulate bits in Perl (and I'm guessing also Python, Java, and maybe even Lua). Heck, the xwadtools package includes this:


$ man -k tkwad
tkwadcad (6) - a Doom/Heretic/Hexen/Strife WAD map editor


Yep, good old Tcl/Tk. :)

So I'm guessing VB can probably handle many things, but I'm not personally interested in it (or other Win32 tools). Something like FreePascal might be better, since it's highly portable and lots of people (hobbyists) use it to make games these days. Also, quite a bit of the old DOS Doom tools were written in Turbo Pascal, and some of them even include source code in the ZIP file.

Old Post 12-14-11 00:40 #
hex11 is online now Profile || Blog || PM || Search || Add Buddy IP || Edit/Delete || Quote
Coding Co-op
Newbie


Posts: 6
Registered: 12-11


I'm not saying there's a bunch of BASIC developers, but, there are poeple who would understand how to do things much better if they could see how BASIC handles things like reading and displaying textures, putting textures on walls, hacking the executable, etc. I have many sets of source codes for all kinds of things, but I can't make heads or tails of it. BASIC (with lots of comments) would just make everything so much easier to understand.

Old Post 12-14-11 01:04 #
Coding Co-op is offline Profile || Blog || PM || Email || Homepage || Search || Add Buddy IP || Edit/Delete || Quote
Xaser
Senior Member


Posts: 1628
Registered: 07-03



Coding Co-op said:
BASIC (with lots of comments) would just make everything so much easier to understand.

Yes. For you. To someone such as myself who has only worked with C/C++/Java, it would make things harder to understand. Only slightly, most likely, but switching to BASIC not a universal readability improvement.

I'm just not understanding what you're wanting here. Being a BASIC programmer, editor sources would be easier to understand for you if they were written in BASIC -- I get that. But the reason there aren't many BASIC Doom editors floating around is because nobody has written them. You're asking a chicken & egg question here -- they're not there because they're not there, plain and simple. Why not change the scene by pressing forward and writing an editor in BASIC? If you don't, who else will?

For the sake of providing something constructive, though, IIRC the 1.x versions of Doom Builder were written in VB.NET. Maybe there's something from there that you can use as a reference?

[EDIT] VB6, actually, if Hobbs is to be trusted. :P

Old Post 12-14-11 01:19 #
Xaser is offline Profile || Blog || PM || Homepage || Search || Add Buddy IP || Edit/Delete || Quote
John Smith
not hobbs


Posts: 587
Registered: 05-07


I have to ask, what dialect of BASIC are you talking about? Not that there's a correct answer but I want to play along and see where this shit leads.


Xaser said:
For the sake of providing something constructive, though, IIRC the 1.x versions of Doom Builder were written in VB.NET. Maybe there's something from there that you can use as a reference?

Doom Builder 1.x was written in Visual Basic 6, which is why it has massive problems on any OS newer than Windows XP.

Old Post 12-14-11 01:20 #
John Smith is offline Profile || Blog || PM || Search || Add Buddy IP || Edit/Delete || Quote
Coding Co-op
Newbie


Posts: 6
Registered: 12-11


Well, in a perfect world, GWBASIC would be ideal because it is not only the simplest, but it forces you to follow the program flow because of its linear nature. VB1 through VB6 would get most of the jobs done. VB.NET can do everything, but is so cryptic that it almost defeats the purpose. Maybe I can beg someone to give me the VB6 code from Doom Builder 1.x? Although it likely uses a substantial amount of dlls, I'm sure it would help somehow. Anyway, I am working on stuff. I was hoping I could generate some interest. I do have a VB6 level editor in progress. It displays Hexen maps perfectly, but can't edit anything. I appreciate your feedback and comments, though. I am taking a look at FreePascal, but again, its not as simple as I would like.

Old Post 12-14-11 01:38 #
Coding Co-op is offline Profile || Blog || PM || Email || Homepage || Search || Add Buddy IP || Edit/Delete || Quote
EarthQuake
9.5 on the Richter!


Posts: 2745
Registered: 05-03


Although I've never had the need to use it myself yet, Exl has a VB6 class module for manipulating wad files. You might find it useful though.

Also, the original Doom Builder source is here. Also probably useful if you're going to messing around with VB.

Old Post 12-14-11 01:52 #
EarthQuake is offline Profile || Blog || PM || Email || Homepage || Search || Add Buddy IP || Edit/Delete || Quote
shadow1013
Junior Member


Posts: 228
Registered: 08-10


GWBASIC? You must be confusing it with QuickBASIC, because GWBASIC would be insanely difficult to create something really good, whose source code is actually legible. Although I do agree maybe QuickBASIC or VB/VB.NET programs might be a good idea, GWBASIC is most definitely not suited for this job

Old Post 12-14-11 02:49 #
shadow1013 is offline Profile || Blog || PM || Email || Search || Add Buddy IP || Edit/Delete || Quote
GreyGhost
a ghost... only grey


Posts: 5700
Registered: 01-08



Coding Co-op said:
I am taking a look at FreePascal, but again, its not as simple as I would like.
One aspect of BASIC that's long bugged me is it's lack of portability, have you looked at BlitzMax?

Old Post 12-14-11 03:02 #
GreyGhost is offline Profile || Blog || PM || Email || Search || Add Buddy IP || Edit/Delete || Quote
fraggle
Super Moderator


Posts: 5999
Registered: 07-00



Coding Co-op said:
My whole point is, if there were BASIC versions of editors and the game source out there, many, many, more projects would be done.
Nope. Programming doesn't get any easier just because you change the syntax.

Coding Co-op said:
I'm not saying there's a bunch of BASIC developers
Exactly. There aren't.


but, there are poeple who would understand how to do things much better if they could see how BASIC handles things like reading and displaying textures, putting textures on walls, hacking the executable, etc.
Nope. These are skills that require developing a way of thinking - a mindset that lets you understand how something is structured - and use it to solve problems. That is the essence of programming.

If you have that mindset then the language used is irrelevant. If you don't have that mindset, you'll be extremely limited in what you can achieve, regardless of the language.


I have many sets of source codes for all kinds of things, but I can't make heads or tails of it. BASIC (with lots of comments) would just make everything so much easier to understand.
So is it comments or BASIC you want? Converting the source code to that language won't magically add a bunch of comments that explain how it works.

Instead of complaining that things are written in a different language to the one that you know and trying to make the world adapt to you, have you tried just learning different languages and adapting yourself? Have you considered that there may be very good reasons that all those programs you're complaining about weren't written in BASIC?


Edsger W. Dijkstra said:
It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration.

Old Post 12-14-11 09:54 #
fraggle is online now Profile || Blog || PM || Email || Homepage || Search || Add Buddy IP || Edit/Delete || Quote
CodeImp
Moderator


Posts: 1461
Registered: 12-03


Db1 was indeed written mostly with VB6, apart for some "high performance" routines which are in a C dll. DB2 is written in C# which (I believe) can be converted to VB.NET if you look for the right tools on the internet. I'm not sure if VB.NET can deal with the "unsafe" pointer stuff tough.

I personally think it is best for your own development if you learn other languages instead of trying to get everything in VB. But suit yourself.

Old Post 12-14-11 10:29 #
CodeImp is offline Profile || Blog || PM || Homepage || Search || Add Buddy IP || Edit/Delete || Quote
ellmo
Custom Title


Posts: 1505
Registered: 04-03


Isn't BASIC basically deader than shit along with Fortran, Cobol, Pascal and other unfriendly languages?

I thought the only medium-level language that gets any support is C and all C-derivatives.


CodeImp said:
That said, I personally think it is best for your own development if you learn other languages instead of trying to get everything in VB. But suit yourself.

I don't think he meant VB which is basically a Windows-only language. Translating C# to VB wouldn't really help all those non-Windows programmers. I think he meant the good old, basic BASIC.

Old Post 12-14-11 10:29 #
ellmo is offline Profile || Blog || PM || Email || Search || Add Buddy IP || Edit/Delete || Quote
andrewj
Senior Member


Posts: 1379
Registered: 04-02



Edsger W. Dijkstra said:
It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration.

There's no truth in that statement.

All it shows is Dijkstra's intellectual bigotry.

Old Post 12-14-11 11:30 #
andrewj is offline Profile || Blog || PM || Search || Add Buddy IP || Edit/Delete || Quote
fraggle
Super Moderator


Posts: 5999
Registered: 07-00



andrewj said:
There's no truth in that statement.
Heh. It's perhaps overstated, but there is certainly some truth to it. That quote is from 1975; you have to look at it in the context of what the BASIC language was like at that time he said it: no support for function calls, few high level programming constructs and rampant use of the GOTO statement. Dijkstra spent his career arguing in favour of structured programming, something that today we take for granted nowadays because it is now the foundation of all modern/popular programming languages. The BASIC of the time was effectively the antithesis of everything he was arguing for, teaching people all the wrong habits for how to program well.

Of course, you'll surely now point out that modern versions of BASIC like VB.NET include all those structured programming concepts. And I'll agree: VB.NET is certainly nothing like the BASIC of the '70s and '80s - VB.NET is actually almost identical to C#, just with a different syntax. But the quote is relevant, because the OP is specifically asking for GWBASIC, an implementation of BASIC from that era, and exactly the kind of thing that Dijkstra was arguing against.

Old Post 12-14-11 11:48 #
fraggle is online now Profile || Blog || PM || Email || Homepage || Search || Add Buddy IP || Edit/Delete || Quote
Gez
Why don't I have a custom title by now?!


Posts: 7036
Registered: 07-07


I remember chatting with someone, a long while ago, who said he regretted ever learning BASIC because he couldn't wrap his mind around code written with function calls rather than GOTOs. All the concepts of call stack, scope, and the like frightened him. And it was the beginning of the OOP hype, so it only seemed to get increasingly weirder with a lot of scary concepts and the apparent need to do UML diagrams before you even start writing code. The horror!

Don't know if he had read Dijkstra or not, but he did blame BASIC for his inability to do serious programming. Personally I found it more like intellectual laziness, but I didn't tell him that.

Old Post 12-14-11 12:20 #
Gez is offline Profile || Blog || PM || Search || Add Buddy IP || Edit/Delete || Quote
hex11
Senior Member


Posts: 1481
Registered: 09-09


Doesn't GWBASIC have GOSUB at least? Even the old BASIC dialects bundled with Amstrad and Amiga machines could effectively do function calls that way (along with CALL for the machine language equivalent, after you POKE'd it up).

Anyway, there are more modern dialects such as FreeBASIC, and in fact that's what drives the game engine for the Doom RPG that TheSpazztikOne is making (he posted about it here).

Old Post 12-14-11 12:43 #
hex11 is online now Profile || Blog || PM || Search || Add Buddy IP || Edit/Delete || Quote
david_a


Posts: 1350
Registered: 09-02



ellmo said:
Isn't BASIC basically deader than shit along with Fortran, Cobol, Pascal and other unfriendly languages?

Well... Fortran is still used because there are tons of large mathematical libraries that have had decades of optimizations and bug fixes. COBOL, Delphi (the 'enterprise' version of Pascal, more or less), and, yes, Visual Basic are still used in crusty old internal apps for large corporations. Certainly for any new development none of these languages would be a sane choice (other than Fortran for very specialized numeric/scientific computing).

Old Post 12-14-11 15:43 #
david_a is offline Profile || Blog || PM || Search || Add Buddy IP || Edit/Delete || Quote
_bruce_
Forum Regular


Posts: 798
Registered: 11-07


C was easy to learn, never got how Basic works... too confusing, not my way of thinking.
DB1 using VB for the frontend was a clever move. I remember being too silly to figure that out at first and was wondering... "how the heck does this fella do the menus???".
Also had to search for the VS6 Enterprise edition.

Old Post 12-14-11 16:38 #
_bruce_ is offline Profile || Blog || PM || Email || Search || Add Buddy IP || Edit/Delete || Quote
All times are GMT. The time now is 15:58. Post New Thread    Post A Reply
 
Doomworld Forums : Powered by vBulletin version 2.2.5 Doomworld Forums > Classic Doom > Doom Editing > DOOM and DOOM Editors in BASIC

Show Printable Version | Email this Page | Subscribe to this Thread

 

Forum Rules:
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
HTML code is OFF
vB code is ON
Smilies are OFF
[IMG] code is ON
 

< Contact Us - Doomworld >

Powered by: vBulletin Version 2.2.5
Copyright ©2000, 2001, Jelsoft Enterprises Limited.

Forums Directory