Skip to content

Commit

Permalink
Merge pull request #1 from jorisvddonk/2.3_updates
Browse files Browse the repository at this point in the history
Update repository structure and add ability to toggle antialiasing in space
  • Loading branch information
jorisvddonk authored Sep 27, 2023
2 parents f643e6e + 5816e1c commit da2deee
Show file tree
Hide file tree
Showing 107 changed files with 789 additions and 193 deletions.
9 changes: 9 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
data/CURRENT.BIN
data/SURFACE.BIN
data/GOESFILE.TXT

modules/NOCTIS.EXE

gallery/*
movies/*
source/BIN/*
44 changes: 40 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,40 @@
This is the entire revision history of Noctis IV Plus, starting with R0 (vanilla NIV) all the way up to R2.2b.
This repository has automatically been generated with [a fairly simple tool](https://github.com/jorisvddonk/nivplus_source_to_git_converter)

Please check elsewhere in this repository for more information.
# Noctis IV Plus

This is the home of Noctis IV Plus, a basic modification of Alessandro Ghignola's excellent [Noctis IV](https://80.style/#/hsp/noctis_iv/noctis_iv_download_JmsLdos_onlyK) space exploration simulator.

![](gallery/SAMPLE.BMP)

For a list of changes, see [source/NIVPLUS_CHANGES.TXT](source/NIVPLUS_CHANGES.TXT)

For the manual, see [manual/noctis_iv_manual.html](manual/noctis_iv_manual.html)

## Getting Noctis IV Plus to run on modern computers

Noctis IV was made for MS-DOS and early Windows versions that still supported 16-bit MS-DOS executables natively, and as such, you'll need to be able to run DOS on your computer. To run Noctis IV plus on modern computers, you have three main options, in order of simplest to most complicated to setup:

1. [DosBOS-X](https://dosbox-x.com/) (all modern operating systems)
2. [DOSEMU](http://www.dosemu.org/) (Linux only)
3. A [FreeDOS](https://www.freedos.org/) or MS-DOS environment running inside of a virtual machine like [VirtualBox](https://www.virtualbox.org/)

The author of Noctis IV Plus recommends DosBOS-X, using the "dynamic_x86" CPU core, simulating a Pentium III 866MHz EB (~407000 cycles). Note that with this setup, a completely empty Stardrifter floating in space may actually give you *lower* frames per second than one that's orbiting a planet in a star system. You may want to play around with the cycle count a bit to find the right number for your computer.

Once you've got an MS-DOS setup running, simply run the following from within the MS-DOS environment:

```batch
cd <directory where NIVPlus is installed>
cd modules
noctis.exe
```

## Compiling

To compile Noctis IV Plus, follow these steps:

1. Get a working MS-DOS setup, as per the above.
2. Install Borland C++ 3.1 for DOS to `c:\bc.31`
3. Run the following from within the MS-DOS environment:
```batch
cd <directory where NIVPlus is installed>
cd source
compile.bat
```
Binary file added data/GUIDE.BIN
Binary file not shown.
Binary file added data/STARMAP.BIN
Binary file not shown.
File renamed without changes.
Binary file added gallery/SAMPLE.BMP
Binary file not shown.
Binary file added manual/files/BACK.JPG
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added manual/files/COMPUTER.GIF
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added manual/files/FELYSIA.GIF
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added manual/files/GOES.GIF
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added manual/files/HUD.JPG
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added manual/files/LAUNCH.JPG
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added manual/files/NOCTIS.GIF
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added manual/files/PULSAR.GIF
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added manual/files/RYAN_BURY_-_NOCTIS.MID
Binary file not shown.
Binary file added manual/files/SD.JPG
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added manual/files/STAR.GIF
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added manual/files/VIMANA.GIF
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added manual/files/moviemaker.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
139 changes: 139 additions & 0 deletions manual/moviemaking.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,139 @@
<html>
<title>Noctis IV Moviemaking - The Manual</title>

<body bgcolor=000000 text=0099ff></body>
<center>
<font size=6>Noctis IV Moviemaking - The Manual</font>
</center><br>
<b>Notes by neuzd:<BR> some changes over this document have been made to keep it up to date.
The version of the moviemaker ported into NIV+ is that of NICE r11.5, arguably it's the latest version
developed.</b><br>
<br>
<br>
Finally this version of the moviemaker <b>works also in space</b>, the second part of this manual explains the main
changes.<BR>
A quite interesting feature is that the movie does not get interrupted if you choose to land on the surface of a
planet.<BR>
When getting back from the surface otherwise, only 100 "game" frames gets recorded after which the movie shuts off
automatically.<BR>
<BR>
In any occasion, to access the Moviemaker, hit F3.<br>
<br>

<BR>
<h2>Mega's original manual:</h2><BR>
The Moviemaker is a simple utility that really does nothing more than taking a snapshot at a constant rate. For example,
the user can take a snapshot every 5 in-game frames. Since we do not know if Felysians suffer from epilepsy, you'll be
able to disable the black flash that you'll see whenever you take a snapshot. To actually turn a recorded movie into a
.avi
file, you'll need a utility that allows you to do that. <a href="https://ffmpeg.org/">ffmpeg</a> can do this for you,
for free!<br>
<br>
<h3>Using the moviemaker</h3>
Now, you'll probably be wondering what the Moviemaker actually looks like, eh? Well, here it is:<br>
<center><img src=./files/moviemaker.png></center><br>
<br>
As you can hopefully see, the moviemaker is in this case already running. I'll describe to you what each and every thing
does.<br>
<b>"NOCTIS IV CE MOVIEMAKER"</b> - This is just the title of the tool. One little note though: the background of this
text will brighten a bit whenever you're recording.<br>
<b>"FPS: ##.##"</b> - Shows the average Frames Per Second rate of the movie so-far you've recorded it. If you want to
turn your movie into an .avi file, inputting the number next to "FPS:" as the .avi's FPS rate, you'll have a perfect
1-ingame-second-every-real-second movie. The FPS rate will only show whenever you're recording a movie.<br>
<b>"MOVIEDECK ### (CTRL +/-)"</b> - This displays the current Moviedeck used. A Moviedeck is nothing more than a
specific folder named after the moviedeck's number. If the moviedeck's number is 1, the folder it'll record to is named
"001". If the number is 604, the folder it'll record to is named "604". You can find the moviedecks in your
"Noctis\Movies" folder. You can change Moviedeck by holding Control and the + or - keys. The Moviedeck number will be 1
every time you start up Noctis.<br>
<b>"CAPTURE EVERY ### FRAMES (+/-)"</b> - This shows how (or actually: when) frames will be captured. If this is 1,
every frame will be captured (capture,capture,capture,capture). If this is 2, every 2nd frame will be captured
(capture,nocapture,capture,nocapture). If this is 3, every 3rd frame will be captured
(capture,nocapture,nocapture,nocapture,capture). Change this number by pressing the + or - keys. This will be 1 every
time you start up Noctis, and if you want a realtime (read: not timelapsed) movie, keep this at 1.<br>
<b>"NO FLASH WHEN SCREENCAPTURE / BLACK FLASH WHEN SCREENCAPTURE (F)"</b> - This shows whether a black flash will be
there when a frame is captured, or not. It's recommended to NOT have a black flash, since those black flashes can be
quite irritating. Besides, a bright or dark line at the bottom of the screen will already signal you whenever a frame is
captured. However, on old PCs, having a black flash MIGHT speedup the game. Use as your own risk, though. Toggle by
pressing the F key.<br>
<b>"WARNING: BLACK SCREEN! / MOVIEDECK EXISTS!"</b> - This shows you the warning signals. If this doesn't show up,
you're ready to capture a movie without any complications, however, if this DOES show up, you should reconcider what
you're doing. "BLACK SCREEN!" means that you've got both the black flash enabled, AND you're capturing every frame. This
results in a screen that will remain black for the entire time you're capturing a movie. "MOVIEDECK EXISTS!" means that
a moviedeck is already being used by a different movie. You can still overwrite the old movie, but this can result in a
moviedeck containing one movie, and part of another. Imagine you've captured a 100 frame movie, and now you're capturing
a 50 frame movie over it. This will mean that in the current moviedeck selected, you'll have two halves of a movie, and
it'll be 100 frames total in length. So generally speaking, you should never ever capture a movie on a preexisting
moviedeck!<br>
<b>"START RECORDING / STOP RECORDING (ENTER)"</b> - This is just a text that tells you how to start or stop recording a
movie. Just hit ENTER and you'll be capturing your very own movie. Now just hope that those actors will do whatever YOU
want them to do.. As every director knows, animals are hard to handle with... Note that as soon as you hit enter, the
Moviemaker window will close. You can only <b>start</b> recording when the Moviemaker window is open, but
<b>stopping</b> recording always works, even when the Moviemaker window is closed.<br>

<br>
<B>Pausing the recording of a movie ('p' key)</b><BR>
This new feature allows you to pause the recording of your movie....easy since here, uh?<BR>
When you pause a movie either a message will show (if in the SD) or the movie maker status window will pop up open
again.<BR>
To resume the recording press P again or ENTER.<BR>
Be very careful when using this feature though, if you always remember when you paused a movie and later on you resume
and correctly "close" it, nothing bad should happen.<BR>
<br>

<b>neuzd Space Moviemaking manual:</b>
<br>
Here we are! Every Stardrifter has been dreaming of this and now it is real....ok I only found an effective way to port
Mega's work onto NIV+, yeah...lame, but who cares! SPACE MOVIEMAKING!</BR>
The moviemaker control panel is now displayed as messages on the lower right of the HUD.<BR>
This also means you will not have any information displayed while on the roof of your stardrifter, but it just means you
cannot see it, so have your movie set up inside the SD and then do whatever you want!<BR>
<BR>


Here's a list of messages which reflect the status of the movie.
<BR>
<BR>
<B>MOVIEMAKER</B> : default message, it serves to remind you the movie control panel is ON.<BR>

<B>MVMENU OFF</B> : when you close the moviemaker.
<BR>
<BR>
<B>CAPT x FR</B> (capture every x frames)<BR>
Appears when you change the capture rate (+/-)<BR>
<BR>
<B>x EXISTS</B> : moviedeck x already exists watch out<BR>
<B>MD x FREE</B> : moviedeck x does not exist, you're free to start recording<BR>
These 2 messages appear while you're changing moviedeck (CTRL +/-). Also this information is the first message that
appears when you bring up the moviemaker<BR>
<BR>
<B>BLK FLASH</B> : the black screen flashing every frame is active.<BR>
<B>NO FLASH</B> : there's no flashing when recording.<BR>
The "black screen when capture" feature has been restored though no warning could be displayed for a total black screen
situation.<BR>
<BR>
<B>PAUSE REC</B> : movie recording has been paused<BR>
<B>RESUME REC</B> : movie recording has been resumed from pause<BR>
These 2 messages appear whenever P is pressed. To resume a paused recording ENTER might be pressed as well.
<BR><BR>
Enjoy. neuzd
<br>
<br>

<h3>Converting a set of BMP files into a video file</h3>

So, now you know how to record a movie using the Moviemaker, but you still don't know how to actually turn a movie into
a video file.. Therefore, what follows is a simple step-to-step guide on how to do that using the excellent <a
href="https://ffmpeg.org/">ffmpeg</a>
tool.<br>
1. Open a (terminal) command prompt<br>
2. Navigate to (nivplus folder)/movies/(movie deck number), for example, `cd ~/nivplus/movies/001`<br>
3. Run the following command:<br>
<pre>
ffmpeg -framerate 10 -i "%8d.BMP" -c:v libx265 -r 10 -an -crf 17 output.mp4
</pre><br>
You can lower the 'crf' argument to get better quality, at the expense of file size.
<br><br>
<br>
Note that the compression rate depends on the movie. A lot of detail (read: Felysian grass, for example) means larger
filesize, OR worse quality.<br>
Experiment a bit until you get the desired result...<br>
Loading

0 comments on commit da2deee

Please sign in to comment.