Angband Forums

Angband Forums (http://angband.oook.cz/forum/index.php)
-   Development (http://angband.oook.cz/forum/forumdisplay.php?f=10)
-   -   Help me make my new variant! (please!) (http://angband.oook.cz/forum/showthread.php?t=10608)

will_asher March 3, 2021 07:10

Help me make my new variant! (please!)
 
So, I'm looking into making a new variant since I just came back to Angband, and I always think the most fun thing to do with a game is tweak it, tinker with it, tamper with it, customize it, alter it, twist it, slime it, and otherwise modify it. But I'm going to need some help because I am much more of a hack than an actual coder/programmer, so this thread is where I'll ask questions.

First, is the "angband_visual_studio_step_by_step" file updated and current? (It doesn't seem like it...)
I've only used two compilers before. One is Visual Studio, and I don't remember what other was, but it's old, probably obsolete, and anyway it isn't one of the options listed in the compiling instructions here:

https://angband.readthedocs.io/en/la...g.html#windows

I just downloaded Visual Studio and it's changed a bit since I last used it too. When you bring up the list of languages, it lists C# and C++, but not C. Do I need to use an older version of Visual Studio? Or is C pretty much included under C++?

PS: Should this go here or in the variants subforum?

Pete Mack March 3, 2021 15:35

Sort of. You will end up with mangled symbols, but so long as its entirely compiled in C++ and doesn't rely on C libraries, it'll run. You may need a few extern C declarations. The trouble is it's hard to maintain back compatibility.
Gcc is not hard to use. And there is a graphical debugger. The trouble is it doesn't include an IDE.

backwardsEric March 3, 2021 18:06

Quote:

Originally Posted by will_asher (Post 151430)
First, is the "angband_visual_studio_step_by_step" file updated and current? (It doesn't seem like it...)
I've only used two compilers before. One is Visual Studio, and I don't remember what other was, but it's old, probably obsolete, and anyway it isn't one of the options listed in the compiling instructions here:

https://angband.readthedocs.io/en/la...g.html#windows

Last fall, someone tried to follow those step-by-step instructions. The discussion that resulted starts with this post . The documentation was updated a bit and the source can be found on the GitHub site. There was still some questions about what to use for the locale and encoding of source code character strings and that's an open issue on the GitHub site.

will_asher March 3, 2021 21:16

Quote:

Originally Posted by backwardsEric (Post 151439)
Last fall, someone tried to follow those step-by-step instructions. The discussion that resulted starts with this post . The documentation was updated a bit and the source can be found on the GitHub site. There was still some questions about what to use for the locale and encoding of source code character strings and that's an open issue on the GitHub site.

okay, I'll make sure I follow the compiling instructions you linked to, to make sure I have the recent update of them.

Quote:

Originally Posted by Pete Mack (Post 151434)
Sort of. You will end up with mangled symbols, but so long as its entirely compiled in C++ and doesn't rely on C libraries, it'll run. You may need a few extern C declarations. The trouble is it's hard to maintain back compatibility.
Gcc is not hard to use. And there is a graphical debugger. The trouble is it doesn't include an IDE.

What's an IDE?
So Gcc is another compiler? There's no instructions for compiling with it on the manual here: https://angband.readthedocs.io/en/la...compiling.html
Do you think Gcc would be easier than using Visual Studio (even though Visual Studio is the only one I've used before)?

backwardsEric March 3, 2021 22:17

Quote:

Originally Posted by will_asher (Post 151451)
okay, I'll make sure I follow the compiling instructions you linked to, to make sure I have the recent update of them.

Eastwind921 contributed instructions and project files for Visual Studio 2019, so that's an alternative to the step-by-step instructions mentioned in the documentation. Those instructions and project files are in src/win/vs2019. It's possible that the list of files within the project files is somewhat out-of-date for 4.2.1.

Quote:

Originally Posted by will_asher (Post 151451)
What's an IDE?
So Gcc is another compiler? There's no instructions for compiling with it on the manual here: https://angband.readthedocs.io/en/la...compiling.html
Do you think Gcc would be easier than using Visual Studio (even though Visual Studio is the only one I've used before)?

IDE is an integrated development environment, usually providing access to an editor, a compiler, a debugger, and other tools in the same interface. Visual Studio is an IDE.

Yes, gcc is another compiler, usually used on Linux or Unix systems. For Windows, one would likely use MinGW port of gcc. The basic instructions for using that to compile Angband are in this part of the documentation . Pete Mack or someone else can chime in about what's easier to use, though the answer will likely depend on what you're used to.

will_asher March 4, 2021 05:23

Quote:

Originally Posted by backwardsEric (Post 151453)
Eastwind921 contributed instructions and project files for Visual Studio 2019, so that's an alternative to the step-by-step instructions mentioned in the documentation. Those instructions and project files are in src/win/vs2019. It's possible that the list of files within the project files is somewhat out-of-date for 4.2.1.

Thanks, I'll look for that.

Quote:

Originally Posted by backwardsEric (Post 151453)
IDE is an integrated development environment, usually providing access to an editor, a compiler, a debugger, and other tools in the same interface. Visual Studio is an IDE.

Yes, gcc is another compiler, usually used on Linux or Unix systems. For Windows, one would likely use MinGW port of gcc. The basic instructions for using that to compile Angband are in this part of the documentation . Pete Mack or someone else can chime in about what's easier to use, though the answer will likely depend on what you're used to.

Well, I'm going to need an IDE for making a variant, so gcc isn't going to work for this.

Pete Mack March 4, 2021 09:53

You still can create C projects in VS2019.
https://www.bing.com/videos/search?q...ram+in+vs+2019

will_asher March 4, 2021 20:51

Quote:

Originally Posted by Pete Mack (Post 151467)
You still can create C projects in VS2019.
https://www.bing.com/videos/search?q...ram+in+vs+2019

Thanks. that'll help

(now why didn't I think of doing a search for it?)

Pete Mack March 4, 2021 23:36

I found your assertion highly improbable because I know MS still writes kernel code, and kernel adjacent code like device drivers, in C. C++ is just not a good language for this kind of thing. There are managed code kernels, but the languages are really crazy.

Tibarius March 9, 2021 12:56

variant creation
 
1. I would like to point out that it would be much better if variants could be created by using a text editor just modifying setup files. Unluckily the latest developments were a step back in this question. The new book shop code was hardcoded instead to use configuration files.

2. You don't need an IDE. I come along quite fine with notepad++ as texteditor (windows system) and using a c++ compiler to create executabels. The advantage of notepad++ is, it is fast, handles different encoding standards and is easy to use while offering almost everything one can think of in form of customization.


All times are GMT +1. The time now is 09:32.

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2021, vBulletin Solutions Inc.