summaryrefslogtreecommitdiff
path: root/CHANGELOG.md
blob: 5bf7bc7cbc035fe6c541672da661e5fb41e7edd3 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
# Changelog

This is the changelog of Bowshock.
See `"README.md"` for more information.

## 0.13.0-2

* Fix weird crate versions
* Bump dependency versions

### Core

* Implement `Clone`, `Copy`, `Display`, `Eq`, and `PartialEq` for `net::SessionToken`
* Add more variants to `Response`
* Add `net::ServerStatus` type

### Client

* Refactor

### Server

* Add `Session` type
* Restructure `Server`
* Handle and respond to requests
* Add `Error` and `Result` types
* Handle errors (instead of just panicking)
* Depend on `rand`
* Add `Config` structure
* Depend on `configparser`
* Add test configuration

## 0.13.0-1

* Update logo
* Update lints
* Bump dependency versions

### Core

* Add `net` module
* Add `net::Request` and `net::Response` types
* Add `net::SessionToken` type
* Add `net::DEFAULT_SERVER_PORT` constant

### Client

* Add `ServerConnection` type
* Add `Client` type
* Depend on `bzipper`

### Server

* Rename `App` to `Server`
* Depend on `bzipper`

## 0.13.0-0

* Rewrite in Rust
* Update copyright years
* Update gitignore
* Use decimal versioning
* Add core library
* Add client and server executables
* Reformat changelog
* Reformat credits

### Core

* Depend on `bzipper`

### Client

### Server

## 0.12.0-18

* Update readme
* Improve commenting

## 0.12.0-17

* Fix readme

## 0.12.0-16

* Update readme
* Add dependencies subsection to readme
* Add function for logging

## 0.12.0-15

* Fix and update readme
* Update and fix installation script
* Put version number in readme

## 0.12.0-14

* Update readme
* Add function for getting the hull mass of a ship type
* Update commenting
* Don't define object-kind type types inside their appropriate class
* Rename ware_mass to ware_density
* Add ship type 'canis'

## 0.12.0-13

* Update readme

## 0.12.0-12

* Update readme (add logo)

## 0.12.0-11

* Update readme
* Update changelog style

## 0.12.0-10

* Update readme (eg. use non-ASCII characters)

## 0.12.0-9

* Fix CMake not complaining about data directory not being specified
* Find packages in CMake
* Update exception specifiers
* Add terminal parameter for specifying the port number
* Update help screen
* Rename terminal paramaeter 'name' to 'save'
* Add server configuration structure
* Clean up code
* Improve commenting
* Update ware list
* Add linked-list class for object roots
* Fix gravitate in the case of overlaping objects
* Add our own terminate functions for unrecoverable errors
* Improve error handling
* Add new header for network formats
* Fix save path
* Make readme Markdown
* Make changelog Markdown
* Rename home_directory to base_directory

## 0.12.0-8

* Fix shader validation script
* Fix shader

## 0.12.0-7

* Update readme
* Split program into client-side and server-side
* Use inheritance for objects (instead of using unions) and rework them
* Rework application structure
* Remove 'random' facilities
* Improve commenting
* Update and fix quotes
* Use OpenGL 3.2
* Allow sixteen characters in commander names (was 14).
* Update save format (bump format version)
* Update default name: Caelum => Corneille
* Create app-specific directory (save files in a subdirectory here)
* Rework save path setting
* Rework terminal parameters
* Update help print
* Add copyright symbol to startup notice
* Bump version specified in CMake

## 0.12.0-6

* Check I/O results
* Fix credits print
* Add structure for wares
* Disable language extensions
* Don't overwrite save by default
* Load save file before start sequence
* Fix quotes
* Fix logs
* Fix save loader

## 0.12.0-5

* Update readme
* Fix version constant

## 0.12.0-4

* Drop zp in favour of the standard library
* Drop ly in favour of the standard library
* Update code style
* Update naming convention
* Use libfmt
* Remove abort function
* Add background to main logo
* Update readme
* Print shader errors at run-time
* Update help screen
* Fix objects not being deleted

## 0.12.0-3

* Enable more warnings

## 0.12.0-2

* Enforce new naming convention
* Use fixed-width floating-point types
* Update shader validation script
* Rename bs module to bas
* Register SIGTERM handler
* Make cmpshd static
* Rename crd to prcrd

## 0.12.0-1

* Update naming convention
* Use trailing return types
* Use C++20
* Don't use minimum-width types
* Update some typings
* Rename intro to start sequence

## 0.12.0-0

* Migrate from Zap to zp
* Migrate from Flux to ly
* Tag development versions
* Use minimum-width types

## 0.11.2

* Fix data directory not being set correctly by CMake

## 0.11.1

* Fortify sources
* Use Flux more

## 0.11.0

* Use generator expressions in CMake
* Use OpenGL 4.1
* Migrate to C++
* Implement main program as a class
* Use exceptions
* Use references
* Update readme
* Add more quotes
* Fix launch options not being listed on the help print

## 0.10.0

* Remove satellite object type
* Fix viewport size being too small on some devices
* Update mass unit
* Add macros for branch prediction
* Add new modules 'init' and 'run'
* Remove module 'gfx'
* Add more ship types
* Use OpenGL 4.0
* Use GLAD
* Specify OpenGL profile
* Update code style
* Update gitignore
* Update naming convention
* Add more station types
* Create script for validating shaders
* Add install script
* Add script for extracting glad
* Add launch option 'credits'
* Make code more modular
* Add readme
* Update credits
* Switch back to CMake
* Add minimal MSVC support
* Specify underlying type for enumerations
* Add more quotes
* Rename launch option 'restart' to 'new'
* Add assumption macro
* Improve precision of gravitational constant

## 0.9.0

* Fix compilation warning
* Optimise mechanical functions
* Add system generation routine
* Remove 'info' module
* Add intro
* Add terminal parameters
* Update units
* Make window fullscreen
* Resume time
* Update gitignore
* Make code more modular

## 0.8.1

* Update renderer
* Add canister to simulation
* Update mechanical functions

## 0.8.0

* Make code more modular
* Don't use global variables
* Add more launch options
* Fix memory leak
* Add abort routine
* Add copyright notices to source files
* Add patch version to version number
* Enable more warnings
* Draw simulation in window

## 0.7

* Make window fullscreen
* Update object data (store both positional and rotational velocity)
* Update save format
* Add credits file
* Add more quotes
* Standardise and optimise save format
* Perform checks on save file
* Fix bad module name
* Use 'pragma once'
* (Temporarily) define some constants as macros instead of as compile-time variables
* Create object system

## 0.6

* Update versioning: Use major.minor
* Update save format
* Fix invalid symbol
* Add quotes
* Save simulation result to image

## 5

* Update save data format
* Add continue routine
* Read command line parameters
* Set SIGINT handler
* Print quote on start
* Add log function for errors
* Update flux usage
* Optimise grav

## 4

* Add simple save routine
* Add logo
* Add clean and purge targets to makefile

## 3

* Fix incorrect symbol names
* Add basic graphics instancing

## 2

* Rename project to Bowshock (from Procyon)
* Rewrite project
* Add gravity engine

## 1

* Move save handlers into their own module 'sav'
* Add new module 'evt'
* Move shipnm into new module 'info'
* Update save format
* Add jump function
* Rename ship to shipid
* Add ship structure
* Store ship information in player data
* Add function for getting the length to a system
* Add function for determining the jump range of a ship
* Add desktop entry

## 0

* Initial