Compare commits

...

33 Commits

Author SHA1 Message Date
George Sokianos c9462d0617 Some more changes and prepared the release files 2022-08-23 00:04:28 +01:00
George Sokianos 52e45ff1cb Fixed the screenshot save path 2022-08-22 22:13:12 +01:00
George Sokianos 29dd25a23a Cleaned up the effects reduction code and moved it to a separate method 2022-08-22 22:11:45 +01:00
George Sokianos 0ab9bfac9d Fixed the controls crash 2022-08-22 19:40:53 +01:00
George Sokianos 3b3fe085fa Added effects reduction option for game speed up 2022-08-21 23:49:36 +01:00
George Sokianos 69b714860b Fixes and setup to compile under AmigaOS 4 2022-08-21 23:47:37 +01:00
Steve 82af33d075 Windows make file update. 2019-11-22 07:30:03 +00:00
Steve 3329d1375a Trim all whitespace. 2019-11-07 08:13:57 +00:00
Steve 98274ffa34 Slightly modified UTF-8 handling. Based on http://man7.org/linux/man-pages/man7/utf-8.7.html. 2019-11-06 19:18:03 +00:00
Steve cbd7425a31 Stale bot config. 2019-10-23 18:43:30 +01:00
Steve ca36f8163b Typo fix. 2019-10-23 18:43:19 +01:00
Steve f7d1d3dadb Compile fixes. 2019-10-22 18:48:11 +01:00
Steve 85507506f9 Updated credits. 2019-10-22 18:47:55 +01:00
Steve 0e1b412bd4 README update. 2019-10-22 18:47:08 +01:00
Stephen J Sweeney 19ab4c72be
Merge pull request #51 from oriolhub/patch-1
Update ca.po
2019-10-22 17:55:47 +01:00
oriolhub 6ec06b3c5e
Update ca.po 2019-10-22 13:02:23 +02:00
Stephen J Sweeney 89190cde92
Update README.md 2019-08-17 17:27:44 +01:00
Steve 6430217bcb Decreased file size of atlas image. 2019-04-08 11:37:22 +01:00
Steve 5f6c872075 Bit of tidying. 2019-04-08 11:35:44 +01:00
Steve eb5fbb8824 Use all available threads to compile. 2019-04-08 11:34:06 +01:00
Steve 02bea0492a Only award Revenge trophy if epic battle. 2019-04-08 11:33:52 +01:00
Steve c453074778 Slightly increase remainder resolution. 2019-04-08 11:33:38 +01:00
Steve 43b9e9ff32 Readme format update. 2019-01-16 08:30:16 +00:00
Steve 44c7f6c372 New close button. 2019-01-16 08:30:08 +00:00
Steve 4887fd2a6c Don't retain highlighted widget. 2019-01-16 08:30:01 +00:00
Steve d8aa7f70f2 Updated copyright. 2019-01-01 16:14:11 +00:00
Steve db10231eeb Fixed credits memory leak. 2019-01-01 16:10:28 +00:00
Steve d4f4fdb0c8 Darken screen correctly on challenge home. 2018-12-31 16:46:44 +00:00
Steve 5f15797043 Move planet slightly faster than background. 2018-12-31 16:46:13 +00:00
Steve 8dfaefd992 Removed redundant color parameters. 2018-12-23 15:52:38 +00:00
Steve 38ca6c24fe Use pre-calculated UI offset values. 2018-12-22 15:07:55 +00:00
Steve cc4829a3a6 Draw dark overlay on main screen. 2018-12-21 07:27:47 +00:00
Steve 0ef2cda22e v1.5.1 2018-12-21 07:27:28 +00:00
141 changed files with 3644 additions and 4252 deletions

16
.github/stale.yml vendored Normal file
View File

@ -0,0 +1,16 @@
# Number of days of inactivity before an issue becomes stale
daysUntilStale: 335
# Number of days of inactivity before a stale issue is closed
daysUntilClose: 30
# Issues with these labels will never be considered stale
exemptLabels:
- help+wanted
# Label to use when marking an issue as stale
staleLabel: invalid
# Comment to post when marking an issue as stale. Set to `false` to disable
markComment: >
This issue has been automatically marked as stale because it has not had
recent activity. It will be closed if no further activity occurs. Thank you
for your contributions.
# Comment to post when closing a stale issue. Set to `false` to disable
closeComment: true

View File

@ -1,5 +1,10 @@
Changelog
1.5.1
* Updated Catalan translation (thanks, oriolhub)
* Misc bug and compile fixes.
1.5
* Game now renders at chosen resolution instead of scaling up from 1280 x 720

50
README-OS4.md Normal file
View File

@ -0,0 +1,50 @@
# The Battle for the Solar System : The Pandoran War
This is the port of the "The Battle for the Solar System : The Pandoran War"
v1.50.1 for the AmigaOS 4.
The Pandoran War is a 2D mission-based space shooter based on the BATTLE FOR
THE SOLAR SYSTEM space opera and set between books two and three: THE THIRD
SIDE and THE ATTTRIBUTE OF THE STRONG. The game features many missions,
with many different objectives and craft.
It requires a fast system to play the game as fast as possible, and a
graphics card that supports either opengl/opengles2 with SDL2.
It is tested and runs well on X5000/40 with a RadeonRX 550.
This archive does not contain any data files. In order to play the game, you
need to download the data separately. From the following website download
the "tbftss-1.5.1.linux-x86_64.tar.gz" file.
https://www.battleforthesolarsystem.com/games/pw/#downloads
To install it, extract the data file anywhere at you hard disk
and copy over all the files from this archive. A requester will show up
to replace some files, which you need to confirm for all of them.
If you like the game and would like to support its developer, you can go and
buy it at:
https://parallelrealities.itch.io/tbftss-the-pandoran-war
### How to make it faster
The game should run in 60fps but on my test system I get around 30fps with all
the effects enabled. That's why I introduced an option at the Options screen,
named "Effects Reduction" with values from 0 to 3. With 0 you have full effects
everywhere, and with 3 you have less effects shown. That increases a lot the
speed, but you might still see slowdowns in situations where there is a lot of
action on the screen.
It is recommended to open the SDL2 prefs and set the Driver to opengl/opengl2
depending your gfx card and the drivers you have installed.
On my system "Batching Mode: enabled" leads to some crashes. I recommend you
to set this to default. But feel free to experiment with it, in case it
works better for you.
I'd love to hear how it works on your system.
### Changelog
1.50.1r1 (2022-08-22)
* First release

View File

@ -2,9 +2,9 @@
2D mission-based space shooter, based on the Battle for the Solar System space opera novel trilogy.
The develop branch on GitHub (https://github.com/stephenjsweeney/tbftss/tree/develop) is where all the dev work happens. Stable(ish) releases will go in to master (https://github.com/stephenjsweeney/tbftss/tree/master).
![Alt text](dev/screenshots/v0.6-06.png?raw=true "Screenshot")
You can support development of this game by purchasing one of the books in the trilogy: www.battleforthesolarsystem.com/purchase/
The develop branch on GitHub (https://github.com/stephenjsweeney/tbftss/tree/develop) is where all the dev work happens. Stable(ish) releases will go in to master (https://github.com/stephenjsweeney/tbftss/tree/master).
Website: www.battleforthesolarsystem.com
Email: stephenjsweeney@battleforthesolarsystem.com
@ -17,22 +17,26 @@ Screenshots from various versions can be found here: https://github.com/stephenj
### GRAPHICS
gfx/planets/earth.png - derived from the the Blue Marble NASA photograph: http://visibleearth.nasa.gov/view.php?id=57723
gfx/trophies/bronze.png - dervied from Trophy icon, by Lorc (CC BY 3.0): http://game-icons.net/lorc/originals/trophy.html
gfx/trophies/gold.png - dervied from Trophy icon, by Lorc (CC BY 3.0): http://game-icons.net/lorc/originals/trophy.html
gfx/trophies/platinum.png - dervied from Trophy icon, by Lorc (CC BY 3.0): http://game-icons.net/lorc/originals/trophy.html
gfx/trophies/silver.png - dervied from Trophy icon, by Lorc (CC BY 3.0): http://game-icons.net/lorc/originals/trophy.html
gfx/trophies/unearned.png - dervied from Trophy icon, by Lorc (CC BY 3.0): http://game-icons.net/lorc/originals/trophy.html
* gfx/planets/earth.png - derived from the the Blue Marble NASA photograph: http://visibleearth.nasa.gov/view.php?id=57723
* gfx/trophies/bronze.png - dervied from Trophy icon, by Lorc (CC BY 3.0): http://game-icons.net/lorc/originals/trophy.html
* gfx/trophies/gold.png - dervied from Trophy icon, by Lorc (CC BY 3.0): http://game-icons.net/lorc/originals/trophy.html
* gfx/trophies/platinum.png - dervied from Trophy icon, by Lorc (CC BY 3.0): http://game-icons.net/lorc/originals/trophy.html
* gfx/trophies/silver.png - dervied from Trophy icon, by Lorc (CC BY 3.0): http://game-icons.net/lorc/originals/trophy.html
* gfx/trophies/unearned.png - dervied from Trophy icon, by Lorc (CC BY 3.0): http://game-icons.net/lorc/originals/trophy.html
All other graphics are CC BY-NC-SA 3.0, with the following attribution: Copyright 2015-2016, Stephen J Sweeney | www.battleforthesolarsystem.com
<img src="gfx/by-nc-sa.png?raw=true" alt="CC BY-NC-SA logo" width="125">
### DATA FILES
data/fonts/Roboto-Medium.ttf, by Christian Robertson. Licensed under the Apache License, version 2.0
data/fonts/Khosrau.ttf, by Fereydoun Rostam. Free for non-commercial use (http://www.dafont.com/khosrau.font)
* data/fonts/Roboto-Medium.ttf, by Christian Robertson. Licensed under the Apache License, version 2.0
* data/fonts/Khosrau.ttf, by Fereydoun Rostam. Free for non-commercial use (http://www.dafont.com/khosrau.font)
All other data files are CC BY-NC-SA 3.0, with the following attribution: Copyright 2015-2016, Stephen J Sweeney | www.battleforthesolarsystem.com
<img src="gfx/by-nc-sa.png?raw=true" alt="CC BY-NC-SA logo" width="125">
### SOUND
* 000000_large_explosion.ogg - created by combining

View File

@ -1,10 +1,11 @@
VERSION = 1.5
REVISION = 0
REVISION = 1
LOCALE_MO = $(patsubst %.po,%.mo,$(wildcard locale/*.po))
OUT = bin
SEARCHPATH += src/ src/battle
SEARCHPATH += src
SEARCHPATH += src/battle
SEARCHPATH += src/challenges
SEARCHPATH += src/game
SEARCHPATH += src/galaxy
@ -49,8 +50,11 @@ $(OUT)/%.o: %.c %.h $(DEPS)
$(CC) $(CFLAGS) $(CXXFLAGS) -c -o $@ $<
%.mo: %.po
ifneq ($(shell uname), AmigaOS)
msgfmt -c -o $@ $<
endif
# cleaning everything that can be automatically recreated with "make".
clean:
$(RM) $(OBJS) $(PROG) $(LOCALE_MO)

View File

@ -1,6 +1,7 @@
{
"winWidth" : 1280,
"winHeight" : 720,
"effects" : 0,
"fullscreen" : 0,
"musicVolume" : 8,
"soundVolume" : 10,
@ -41,3 +42,4 @@
"healthBars" : 1
}
}

File diff suppressed because it is too large Load Diff

View File

@ -37,6 +37,7 @@
"75 30 TRANSLATIONS",
"30 24 Lumidify Productions (German)",
"0 24 ekrempel (German)",
"0 24 oriolhub (Catalan)",
"75 30 DEVELOPMENT SOFTWARE",
@ -309,7 +310,7 @@
"75 30 SPECIAL THANKS",
"0 24 akien-mga, bentley, Bertram25, ChliHug, Imerion, nnesse, ptitSeb, Szunti",
"150 24 This is a work of fiction. Names, characters, businesses, places, events and incidents are either the products of the author's imagination or used in a fictitious manner. Any resemblance to actual persons, living or dead, or actual events is purely coincidental. The Battle for the Solar System : The Pandoran War is (C) 2015-2016, Stephen J Sweeney, Some Rights Reserved. The Battle for the Solar System and all related materials (including, but not limited to, characters, setting, and story elements) are (C) 2009-2016, Stephen J Sweeney, All Rights Reserved.",
"150 24 This is a work of fiction. Names, characters, businesses, places, events and incidents are either the products of the author's imagination or used in a fictitious manner. Any resemblance to actual persons, living or dead, or actual events is purely coincidental. The Battle for the Solar System : The Pandoran War is (C) 2015-2019, Stephen J Sweeney, Some Rights Reserved. The Battle for the Solar System and all related materials (including, but not limited to, characters, setting, and story elements) are (C) 2009-2016, Stephen J Sweeney, All Rights Reserved.",
"500 30 www.battleforthesolarsystem.com"
]

View File

@ -10,6 +10,17 @@
"w" : 400,
"h": 34
},
{
"name" : "effects",
"group" : "options",
"type" : "WT_SELECT",
"text" : "Effects Reduction",
"options" : "0;1;2;3",
"x" : -1,
"y" : 225,
"w" : 400,
"h": 34
},
{
"name" : "soundVolume",
"group" : "options",
@ -17,7 +28,7 @@
"text" : "Sound Volume",
"options" : "0;1;2;3;4;5;6;7;8;9;10",
"x" : -1,
"y" : 250,
"y" : 275,
"w" : 400,
"h": 34
},
@ -64,3 +75,4 @@
"h": 34
}
]

View File

@ -12,11 +12,12 @@
{
"name" : "close",
"group" : "starSystem",
"type" : "WT_BUTTON",
"type" : "WT_IMG_BUTTON",
"text" : "X",
"x" : 1060,
"y" : 98,
"w" : 34,
"h": 34
"x" : 1040,
"y" : 75,
"w" : 32,
"h": 32,
"texture" : "gfx/widgets/close.png"
}
]

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.8 MiB

After

Width:  |  Height:  |  Size: 2.9 MiB

BIN
gfx/by-nc-sa.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

BIN
icons/tbftss.info Normal file

Binary file not shown.

View File

@ -39,7 +39,7 @@ msgid "%s (Gun)"
msgstr "%s (arma)"
msgid "We've lost engines! We're a sitting duck!"
msgstr "Hem perdut motors! Som un ànec assegut!"
msgstr "Hem perdut motors! Som un blanc fàcil!"
msgid "Our guns have been shot out! We have no defences!"
msgstr "Les nostres armes s'han disparat! No tenim cap defensa!"
@ -48,7 +48,7 @@ msgid "Be advised, we're taking damage here. Please step up support."
msgstr "Tingueu en compte que estem fent mal aquí. Augmenta el suport."
msgid "We're sustaining heavy damage! All fighters, please assist, ASAP!"
msgstr "Estem patint danys greus! Tots els lluitadors, si us plau, ajuden, ¡AVANÇ!"
msgstr "Estem patint danys greus! A tots els lluitadors, si us plau ajudeu, RÀPID!"
msgid "Mayday! Mayday! Defences are critical. We can't hold out much longer!"
msgstr "Auxili! Auxili! Les defenses són crítiques. No podem aguantar molt més!"
@ -60,7 +60,7 @@ msgid "Civilian has been killed"
msgstr "Civil ha estat assassinat"
msgid "Ally has been killed"
msgstr "Ally ha estat assassinada"
msgstr "Un aliat ha estat assassinat"
msgid "Particle Cannon"
msgstr "Canó de partícules"
@ -72,10 +72,10 @@ msgid "Laser Cannon"
msgstr "Canó làser"
msgid "Mag Cannon"
msgstr "Mag Cannon"
msgstr "Can màgic"
msgid "Rockets"
msgstr "Rockets"
msgstr "Cohets"
msgid "Missiles"
msgstr "Míssils"
@ -102,10 +102,10 @@ msgid "Objective: %.2fkm"
msgstr "Objectiu:% .2fkm"
msgid "Jumpgate: %.2fkm"
msgstr "Jumpgate:% .2fkm"
msgstr "Porta de salt:% .2fkm"
msgid "SELECT NEW FIGHTER"
msgstr "SELECCIONEU NOU PERSONAL"
msgstr "SELECCIONEU NOU LLUITADOR"
msgid "Suspicion"
msgstr "Sospita"
@ -114,7 +114,7 @@ msgid "Remaining Pilots: %d"
msgstr "Pilots restants: %d"
msgid "WARNING: INCOMING MISSILE!"
msgstr "ADVERTIMENT: INCOMPLE MISSIL!"
msgstr "ADVERTIMENT: MÍSSIL ENTRANT!"
msgid "Picked up %s"
msgstr "S'ha escollit %s"
@ -159,16 +159,16 @@ msgid "Destroy at least %d enemy fighters"
msgstr "Destrueix com a mínim %d combatents enemics"
msgid "Challenge Failed!"
msgstr "El repte va fallar!"
msgstr "El repte no s'ha superat!"
msgid "Target not in range"
msgstr "Orientació no dins del rang"
msgstr "Orientació fora del rang"
msgid "Out of missiles"
msgstr "Fora de míssils"
msgstr "Sense míssils"
msgid "Caution: Leaving battle area - turn around."
msgstr "Precaució: deixar la zona de batalla: girar-se."
msgstr "Precaució: sortint de la zona de batalla - gira't."
msgid "Tow rope attached"
msgstr "Corda de remolc adjunta"
@ -183,7 +183,7 @@ msgid "Cannot activate waypoint - outstanding objectives not yet complete"
msgstr "No es pot activar el waypoint: els objectius pendents encara no s'han completat"
msgid "Cannot activate waypoint - eliminate enemies first"
msgstr "No es pot activar el waypoint: elimineu primer als enemics"
msgstr "No es pot activar el waypoint: elimineu primer els enemics"
msgid "Cannot activate waypoint - team mates too far away"
msgstr "No es pot activar el waypoint: companys d'equip massa lluny"
@ -240,7 +240,7 @@ msgid "Do not lose any team mates"
msgstr "No perdeu cap company d'equip"
msgid "Do not lose more than 1 team mate"
msgstr "No perdis més de 1 company d'equip"
msgstr "No perdis més d'1 company d'equip"
msgid "Do not lose more than %d team mates"
msgstr "No perdis més de %d companys d'equip"
@ -252,7 +252,7 @@ msgid "Disable %d or more enemy fighters"
msgstr "Desactiveu %d o més lluitadors enemics"
msgid "Collect %d packages"
msgstr "Recol·leu %d paquets"
msgstr "Recolliu %d paquets"
msgid "Rescue %d civilians"
msgstr "Rescata %d civils"
@ -330,16 +330,16 @@ msgid "Optional Missions Completed"
msgstr "S'han completat les missions opcionals"
msgid "Challenges Started"
msgstr "Els reptes van començar"
msgstr "Els reptes han començat"
msgid "Challenges Completed"
msgstr "Reptes finalitzats"
msgid "Shots Fired"
msgstr "Xuts disparats"
msgstr "Trets disparats"
msgid "Shots Hit"
msgstr "Xuts colpejar"
msgstr "Trets encertats"
msgid "Accuracy"
msgstr "Precisió"
@ -348,19 +348,19 @@ msgid "Rockets Fired"
msgstr "Coets llançats"
msgid "Rockets Hit"
msgstr "Rockets Hit"
msgstr "Cohets encertats"
msgid "Missiles Fired"
msgstr "Míssils acomiadats"
msgstr "Míssils llançats"
msgid "Missiles Hit"
msgstr "Míssils colpejar"
msgstr "Míssils encertats"
msgid "Enemies Killed"
msgstr "Enemics assassinats"
msgid "Enemies Killed (Player)"
msgstr "Enemics killed (Jugador)"
msgstr "Enemics assassinats (Jugador)"
msgid "Allies Killed"
msgstr "Aliats assassinats"
@ -417,7 +417,7 @@ msgid "Capital Ships Destroyed"
msgstr "Vaixells de capital destruïts"
msgid "Capital Ships Lost"
msgstr "Capital Ships Lost"
msgstr "Vaixells de capital perduts"
msgid "Mines Destroyed"
msgstr "Mines destruïdes"
@ -444,7 +444,7 @@ msgid "Fire"
msgstr "Foc"
msgid "Accelerate"
msgstr "Accelerate"
msgstr "Accelerar"
msgid "Boost"
msgstr "Estímul"
@ -507,7 +507,7 @@ msgid "Continue"
msgstr "Continua"
msgid "Resume"
msgstr "Resum"
msgstr "Reprèn"
msgid "Return to Title"
msgstr "Torna al títol"
@ -525,10 +525,10 @@ msgid "Restart"
msgstr "Reinicia"
msgid "Cancel"
msgstr "Cancel · lar"
msgstr "Cancel·lar"
msgid "Window Size"
msgstr "Mida de finestra"
msgstr "Mida de la finestra"
msgid "Sound Volume"
msgstr "Volum de so"
@ -555,7 +555,7 @@ msgid "Credits"
msgstr "Crèdits"
msgid "Patrol #1"
msgstr "Patrulla nº 1"
msgstr "Patrulla núm. 1"
msgid "With the Pandorans having invaded Independent systems boardering the Mitikas Empire, we need to become more vigilant. Patrols around Torelli are being stepped up. Ensure you hit all the waypoints, and report any unusual activity that you encounter."
msgstr "Quan els Pandorans havien envaït els sistemes independents que travessen l'Imperi Mitikas, hem de ser més vigilants. S'estan intensificant les patrulles de Torelli. Assegureu-vos que toqueu tots els punts de cerca i informeu sobre qualsevol activitat inusual que trobareu."
@ -567,13 +567,13 @@ msgid "Anyone got anything to report?"
msgstr "Algú ha rebut alguna cosa per informar?"
msgid "You getting paranoid, Curtis?"
msgstr "Et fas paranoico, Curtis?"
msgstr "T'ests tornant paranoic, Curtis?"
msgid "You all saw what happened at Coyote."
msgstr "Tots vèiem el que va passar al Coyote."
msgstr "Tots vam veure el que li va passar al Coyote."
msgid "So, those Pandorans are, what, robots?"
msgstr "Per tant, els Pandorans són, què, robots?"
msgstr "Per tant, els Pandorans són, què? robots?"
msgid "Alien-Human hybrid, I heard."
msgstr "Alien-Híbrid humà, he escoltat."
@ -582,22 +582,22 @@ msgid "Hard to kill, whatever they are. Heard they'll still be coming at you eve
msgstr "Difícil de matar, siguin quines siguin. Heu escoltat que encara us arribaran encara que treguis els dos braços."
msgid "And what'll they do then? Bite you to death?"
msgstr "I què faran llavors? Mosseguis a mort?"
msgstr "I què faran llavors? Et mossegaran fins a la mort?"
msgid "Eyes open, lads."
msgstr "Ulls oberts, nois."
msgstr "Obriu els ulls, nois."
msgid "We're done. Anyone detect anything unusual?"
msgstr "Estaven fets. Qualsevol persona detecta alguna cosa inusual?"
msgstr "Hem acabat. Qualsevol persona detecta alguna cosa inusual?"
msgid "Same old, same old."
msgstr "Mateix vell, igual antic."
msgstr "El mateix de sempre."
msgid "Believe me, that's a good thing. Right, let's head home and report in."
msgstr "Creieu-me, això és bo. Dret, anem a casa i ens informem."
msgstr "Creieu-me, això és bo. Correcte, anem a casa i ens informem."
msgid "Patrol #2"
msgstr "Patrulla nº 2"
msgstr "Patrulla núm. 2"
msgid "Patrols so far have not uncovered anything unusual, and it seems as though the increase in military presence is reducing the amount of illegal activity in this sector, with reported incidents down 80%%. Still, we cannot afford to become complacent, and must continue with our sweeps."
msgstr "Les patrulles fins ara no han descobert res inusual, i sembla que l'augment de la presència militar és reduir la quantitat d'activitat il·legal en aquest sector, amb incidents denunciats un 80 %% menys. Tot i això, no podem permetre'ns tornar-nos complaents i continuar amb els nostres escombrats."
@ -606,10 +606,10 @@ msgid "Check all Waypoints"
msgstr "Marqueu tots els Waypoints"
msgid "Destroy Pandoran fighters"
msgstr "Destruir els lluitadors de Pandoran"
msgstr "Destruiu els lluitadors de Pandoran"
msgid "Eightballers, you have hostiles incoming. Identified as 3 Mitikas fighters; Jackals, possibly Pandoran. Engage, but exercise extreme caution."
msgstr "Obleballers, tens hostils entrants. Identificat com 3 lluitadors Mitikas; Jackals, possiblement Pandoran. Participa, però exerceix una gran precaució."
msgstr "Eightballers, tens hostils entrants. Identificats com 3 lluitadors Mitikas; Jackals, possiblement Pandoran. Participa, però exerceix una gran precaució."
msgid "Control, enemies have been dispatched. Wasn't a comfortable fight."
msgstr "Control, els enemics s'han enviat. No era una baralla confortable."
@ -621,7 +621,7 @@ msgid "Got it. See you soon."
msgstr "Ho tinc. Fins aviat."
msgid "Patrol #3"
msgstr "Patrulla nº 3"
msgstr "Patrulla núm. 3"
msgid "Following the devastating loss of the Iliad system, we need to continue to be vigilant against incursion into the Alba system. Check all five waypoints, and report immediate any unusual or suspicious activity you encounter."
msgstr "Després de la pèrdua devastadora del sistema Ilíada, hem de seguir vigilant contra la incursió al sistema Alba. Comproveu els cinc waypoints i informe immediatament qualsevol activitat inusual o sospitosa que trobeu."
@ -666,10 +666,10 @@ msgid "What about?"
msgstr "I què passa amb?"
msgid "How long it'll be before the Pandorans show up here."
msgstr "Quant de temps serà abans que els Pandorans apareguin aquí."
msgstr "Quant de temps passarà abans que els Pandorans apareguin aquí."
msgid "They came by earlier, in case you don't remember."
msgstr "Van venir abans, en cas que no us recordeu."
msgstr "Van venir abans, en cas que no us en recordeu."
msgid "And haven't been back since. Maybe we scared them off."
msgstr "I no he tornat des de llavors. Potser els hem espantat."
@ -681,10 +681,10 @@ msgid "Where the hell are the CSN? Why weren't they at Iliad?"
msgstr "On són els inferns el CSN? Per què no estaven a la Ilíada?"
msgid "They weren't wanted, apparently. Iliad and the UNF aren't getting along so well at the moment."
msgstr "No eren volguts, aparentment. La Ilíada i la UNF no estan aconseguint tan bé en aquest moment."
msgstr "No eren volguts, aparentment. La Ilíada i la UNF no estan tan bé en aquest moment."
msgid "Something to do with Adrian Parsons?"
msgstr "Alguna cosa que veure amb Adrian Parsons?"
msgstr "Alguna cosa a veure amb Adrian Parsons?"
msgid "That bloody idiot? It wouldn't surprise me. He's the reason we're now in this mess! If I ever meet that guy, nothing'll stop me from-"
msgstr "Aquest idiota sagnant? No m'estranyaria. Ell és el motiu pel qual estem ara en aquest embolic! Si alguna vegada conec a aquest noi,"
@ -750,7 +750,7 @@ msgid "Enemies sighted."
msgstr "Enemics observats."
msgid "Break and attack, people!"
msgstr "Trencar i atacar, gent!"
msgstr "Trenqueu i ataqueu, gent!"
msgid "That's the first group handled. Let's get to the next waypoint."
msgstr "Aquest és el primer grup manejat. Anem al següent punt de referència."
@ -792,7 +792,7 @@ msgid "Destroy INF Burnside"
msgstr "Destrueix INF Burnside"
msgid "Break and attack, lads. Let's send these guys back home."
msgstr "Trencar i atacar, nois. Anem a enviar aquests nois a casa seva."
msgstr "Trenqueu i ataqueu, nois. Enviem aquests nois a casa seva."
msgid "More Tzac fighters incoming."
msgstr "Més entrenadors de Tzac entrants."

View File

@ -19,6 +19,9 @@ _OBJS += unixInit.o
include common.mk
NPROCS = $(shell grep -c 'processor' /proc/cpuinfo)
MAKEFLAGS += -j$(NPROCS)
CXXFLAGS += `sdl2-config --cflags` -DVERSION=$(VERSION) -DREVISION=$(REVISION) -DDATA_DIR=\"$(DATA_DIR)\" -DLOCALE_DIR=\"$(LOCALE_DIR)\"
CXXFLAGS += -ansi -pedantic
CXXFLAGS += -g -lefence

53
makefile.os4 Normal file
View File

@ -0,0 +1,53 @@
PROG = tbftss
CC = gcc-11
PREFIX ?= /usr
BIN_DIR ?= $(PREFIX)/bin
DATA_DIR ?= data
LOCALE_DIR = locale
ICON_DIR = $(PREFIX)/share/icons/hicolor
DESKTOP_DIR = $(PREFIX)/share/applications
DESTDIR ?=
INST_BIN_DIR = $(DESTDIR)$(BIN_DIR)
INST_DATA_DIR = $(DESTDIR)$(DATA_DIR)
INST_LOCALE_DIR = $(DESTDIR)$(LOCALE_DIR)
INST_ICON_DIR = $(DESTDIR)$(ICON_DIR)
INST_DESKTOP_DIR = $(DESTDIR)$(DESKTOP_DIR)
SEARCHPATH += src/plat/os4
_OBJS += os4Init.o
include common.mk
CXXFLAGS += -DVERSION=$(VERSION) -DREVISION=$(REVISION) -DDATA_DIR=\"$(DATA_DIR)\" -DLOCALE_DIR=\"$(LOCALE_DIR)\" -D__USE_INLINE__
CXXFLAGS += -pedantic
CXXFLAGS += -g -lefence
CXXFLAGS += -Wall -Wempty-body -Werror -Wstrict-prototypes -Werror=maybe-uninitialized -Warray-bounds
# CXXFLAGS += -gstabs
LDFLAGS += -lauto -lSDL2_image -lSDL2_ttf -lft2 -ltiff -lwebp -lpng -ljpeg -lz -lm
LDFLAGS += -lSDL2_mixer -lmikmod -lmodplug -lFLAC -lsmpeg2 -lvorbisfile -lvorbis -logg
LDFLAGS += -lSDL2 -lpthread -athread=native -lstdc++
# LDFLAGS += -gstabs
# linking the program.
$(PROG): $(OBJS)
$(CC) -o $@ $(OBJS) $(LDFLAGS)
# prepare an archive for the program
dist:
mkdir -p release/$(PROG)-$(VERSION).$(REVISION)/data/app
mkdir -p release/$(PROG)-$(VERSION).$(REVISION)/data/widgets
cp $(PROG) release/$(PROG)-$(VERSION).$(REVISION)/
strip release/$(PROG)-$(VERSION).$(REVISION)/$(PROG)
cp icons/tbftss.info release/$(PROG)-$(VERSION).$(REVISION)/$(PROG).info
cp data/app/config.json release/$(PROG)-$(VERSION).$(REVISION)/data/app/
cp data/widgets/options.json release/$(PROG)-$(VERSION).$(REVISION)/data/widgets/
cp LICENSE release/$(PROG)-$(VERSION).$(REVISION)/
cp README.md release/$(PROG)-$(VERSION).$(REVISION)/
cp README-OS4.md release/$(PROG)-$(VERSION).$(REVISION)/
lha -aeqr3 a $(PROG)-$(VERSION).$(REVISION).lha release/
.PHONY: dist

View File

@ -7,8 +7,11 @@ LOCALE_DIR = locale
SEARCHPATH += src/plat/win32
_OBJS += win32Init.o
NPROCS = $(shell grep -c 'processor' /proc/cpuinfo)
MAKEFLAGS += -j$(NPROCS)
CXXFLAGS += `$(SDLC) --cflags` -DVERSION=$(VERSION) -DREVISION=$(REVISION) -DDATA_DIR=\"$(DATA_DIR)\" -DLOCALE_DIR=\"$(LOCALE_DIR)\"
CXXFLAGS += -ansi
CXXFLAGS += -Wall -Wempty-body -ansi -pedantic -Werror -Wstrict-prototypes -Werror=maybe-uninitialized -Warray-bounds
LDFLAGS += `$(SDLC) --libs` -lm -lSDL2_mixer -lSDL2_image -lSDL2_ttf -lSDL2main

View File

@ -1,5 +1,5 @@
/*
Copyright (C) 2015-2018 Parallel Realities
Copyright (C) 2015-2019 Parallel Realities
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License

View File

@ -1,5 +1,5 @@
/*
Copyright (C) 2015-2018 Parallel Realities
Copyright (C) 2015-2019 Parallel Realities
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License

View File

@ -1,5 +1,5 @@
/*
Copyright (C) 2015-2018 Parallel Realities
Copyright (C) 2015-2019 Parallel Realities
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
@ -143,8 +143,8 @@ static void doBattle(void)
scrollBackground(-ssx * 0.1, -ssy * 0.1);
battle.planet.x -= ssx * 0.1;
battle.planet.y -= ssy * 0.1;
battle.planet.x -= ssx * 0.15;
battle.planet.y -= ssy * 0.15;
doObjectives();

View File

@ -1,5 +1,5 @@
/*
Copyright (C) 2015-2018 Parallel Realities
Copyright (C) 2015-2019 Parallel Realities
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License

View File

@ -1,5 +1,5 @@
/*
Copyright (C) 2015-2018 Parallel Realities
Copyright (C) 2015-2019 Parallel Realities
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
@ -244,7 +244,7 @@ static void checkCollisions(Bullet *b)
battle.lastKilledPlayer = b->owner;
}
if (b->owner == player && e == battle.lastKilledPlayer)
if (battle.isEpic && b->owner == player && e == battle.lastKilledPlayer)
{
awardTrophy("REVENGE");
}

View File

@ -1,5 +1,5 @@
/*
Copyright (C) 2015-2018 Parallel Realities
Copyright (C) 2015-2019 Parallel Realities
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License

View File

@ -1,5 +1,5 @@
/*
Copyright (C) 2015-2018 Parallel Realities
Copyright (C) 2015-2019 Parallel Realities
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License

View File

@ -1,5 +1,5 @@
/*
Copyright (C) 2015-2018 Parallel Realities
Copyright (C) 2015-2019 Parallel Realities
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License

View File

@ -1,5 +1,5 @@
/*
Copyright (C) 2015-2018 Parallel Realities
Copyright (C) 2015-2019 Parallel Realities
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License

View File

@ -1,5 +1,5 @@
/*
Copyright (C) 2015-2018 Parallel Realities
Copyright (C) 2015-2019 Parallel Realities
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License

View File

@ -1,5 +1,5 @@
/*
Copyright (C) 2015-2018 Parallel Realities
Copyright (C) 2015-2019 Parallel Realities
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
@ -24,6 +24,7 @@ static void setRandomFlameHue(Effect *e);
static void setRandomShieldHue(Effect *e);
static void resizeDrawList(void);
static int pointOnScreen(float x, float y);
static float calculateEffectsValue(unsigned int);
static AtlasImage *explosionTexture;
static AtlasImage *shieldHitTexture;
@ -202,7 +203,7 @@ void addBulletHitEffect(int x, int y, int r, int g, int b)
e->type = EFFECT_TEXTURE;
e->texture = explosionTexture;
e->size = 16;
e->size = calculateEffectsValue(16);
e->x = x;
e->y = y;
@ -215,7 +216,7 @@ void addBulletHitEffect(int x, int y, int r, int g, int b)
e->g = g;
e->b = b;
e->a = 64;
e->health = e->a;
e->health = calculateEffectsValue(e->a);
}
}
@ -233,12 +234,12 @@ void addSmallFighterExplosion(void)
e->x = self->x + (rand() % 16 - rand() % 16);
e->y = self->y + (rand() % 16 - rand() % 16);
e->texture = explosionTexture;
e->size = 32;
e->size = calculateEffectsValue(32);
setRandomFlameHue(e);
e->a = 128 + (rand() % 128);
e->health = e->a;
e->health = calculateEffectsValue(e->a);
e->x -= e->size / 2;
e->y -= e->size / 2;
@ -258,12 +259,12 @@ void addDebrisFire(int x, int y)
e->x = x + (rand() % 8 - rand() % 8);
e->y = y + (rand() % 8 - rand() % 8);
e->texture = explosionTexture;
e->size = 4 + rand() % 12;
e->size = calculateEffectsValue(4 + rand() % 12);
setRandomFlameHue(e);
e->a = rand() % 256;
e->health = e->a;
e->health = calculateEffectsValue(e->a);
e->x -= e->size / 2;
e->y -= e->size / 2;
@ -290,13 +291,13 @@ void addSmallExplosion(void)
e->dy = (rand() % 25) - (rand() % 25);
e->dy *= 0.025;
e->texture = explosionTexture;
e->size = 32 + (rand() % 64);
e->size = calculateEffectsValue(32 + (rand() % 64));
e->r = 255;
setRandomFlameHue(e);
e->a = 128 + (rand() % 128);
e->health = e->a;
e->health = calculateEffectsValue(e->a);
e->x -= e->size / 2;
e->y -= e->size / 2;
@ -318,7 +319,7 @@ void addSmallExplosion(void)
e->dy *= 0.1;
e->a = 128;
e->health = e->a;
e->health = calculateEffectsValue(e->a);
setRandomFlameHue(e);
}
@ -341,13 +342,13 @@ void addMineExplosion(void)
e->x = self->x + rand() % 64 - rand() % 64;
e->y = self->y + rand() % 64 - rand() % 64;
e->texture = explosionTexture;
e->size = 64 + (rand() % 64);
e->size = calculateEffectsValue(64 + (rand() % 64));
e->r = 255;
setRandomFlameHue(e);
e->a = 32 + (rand() % 192);
e->health = e->a;
e->health = calculateEffectsValue(e->a);
e->x -= e->size / 2;
e->y -= e->size / 2;
@ -362,7 +363,7 @@ void addMineExplosion(void)
e->type = EFFECT_HALO;
e->x = self->x;
e->y = self->y;
e->size = 64;
e->size = calculateEffectsValue(64);
e->scaleAmount = 6;
e->texture = haloTexture;
@ -371,7 +372,7 @@ void addMineExplosion(void)
e->b = 255;
e->a = 128;
e->health = 128;
e->health = calculateEffectsValue(128);
}
void addLargeExplosion(void)
@ -395,13 +396,13 @@ void addLargeExplosion(void)
e->dy = (rand() % 25) - (rand() % 25);
e->dy *= 0.01;
e->texture = explosionTexture;
e->size = 128 + (rand() % 512);
e->size = calculateEffectsValue(128 + (rand() % 512));
e->r = 255;
setRandomFlameHue(e);
e->a = 128 + (rand() % 128);
e->health = e->a;
e->health = calculateEffectsValue(e->a);
e->x -= e->size / 2;
e->y -= e->size / 2;
@ -416,7 +417,7 @@ void addLargeExplosion(void)
e->type = EFFECT_HALO;
e->x = self->x;
e->y = self->y;
e->size = 256;
e->size = calculateEffectsValue(256);
e->scaleAmount = 4;
e->texture = haloTexture;
@ -425,7 +426,7 @@ void addLargeExplosion(void)
e->b = 255;
e->a = 255;
e->health = 255;
e->health = calculateEffectsValue(255);
}
void addMissileExplosion(Bullet *b)
@ -449,13 +450,13 @@ void addMissileExplosion(Bullet *b)
e->dy = (rand() % 25) - (rand() % 25);
e->dy *= 0.025;
e->texture = explosionTexture;
e->size = 32 + (rand() % 64);
e->size = calculateEffectsValue(32 + (rand() % 64));
e->r = 255;
setRandomFlameHue(e);
e->a = 128 + (rand() % 128);
e->health = e->a;
e->health = calculateEffectsValue(e->a);
e->x -= e->size / 2;
e->y -= e->size / 2;
@ -477,7 +478,7 @@ void addMissileExplosion(Bullet *b)
e->dy *= 0.1;
e->a = 128;
e->health = e->a;
e->health = calculateEffectsValue(e->a);
setRandomFlameHue(e);
}
@ -507,13 +508,13 @@ void addEngineEffect(void)
e->x += rand() % 4 - rand() % 4;
e->texture = explosionTexture;
e->size = 16;
e->size = calculateEffectsValue(16);
e->r = 128;
e->g = 128;
e->b = 255;
e->a = 64;
e->health = e->a;
e->health = calculateEffectsValue(e->a);
e->x -= e->size / 2;
e->y -= e->size / 2;
@ -540,13 +541,13 @@ void addLargeEngineEffect(void)
e->x -= rand() % 4;
e->texture = explosionTexture;
e->size = 64;
e->size = calculateEffectsValue(64);
e->r = 128;
e->g = 128;
e->b = 255;
e->a = 64;
e->health = e->a;
e->health = calculateEffectsValue(e->a);
e->x -= e->size / 2;
e->y -= e->size / 2;
@ -573,11 +574,11 @@ void addMissileEngineEffect(Bullet *b)
e->x -= rand() % 4;
e->texture = explosionTexture;
e->size = 12;
e->size = calculateEffectsValue(12);
setRandomFlameHue(e);
e->a = 128;
e->health = e->a;
e->health = calculateEffectsValue(e->a);
e->x -= e->size / 2;
e->y -= e->size / 2;
@ -695,3 +696,16 @@ void destroyEffects(void)
effectsToDraw = NULL;
}
static float calculateEffectsValue(unsigned int val)
{
#if defined(__amigaos4__)
if (app.effects)
{
return val / (app.effects * 2);
}
#endif
return (float)val;
}

View File

@ -1,5 +1,5 @@
/*
Copyright (C) 2015-2018 Parallel Realities
Copyright (C) 2015-2019 Parallel Realities
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License

View File

@ -1,5 +1,5 @@
/*
Copyright (C) 2015-2018 Parallel Realities
Copyright (C) 2015-2019 Parallel Realities
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License

View File

@ -1,5 +1,5 @@
/*
Copyright (C) 2015-2018 Parallel Realities
Copyright (C) 2015-2019 Parallel Realities
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License

View File

@ -1,5 +1,5 @@
/*
Copyright (C) 2015-2018 Parallel Realities
Copyright (C) 2015-2019 Parallel Realities
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License

View File

@ -1,5 +1,5 @@
/*
Copyright (C) 2015-2018 Parallel Realities
Copyright (C) 2015-2019 Parallel Realities
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License

View File

@ -1,5 +1,5 @@
/*
Copyright (C) 2015-2018 Parallel Realities
Copyright (C) 2015-2019 Parallel Realities
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License

View File

@ -1,5 +1,5 @@
/*
Copyright (C) 2015-2018 Parallel Realities
Copyright (C) 2015-2019 Parallel Realities
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License

View File

@ -1,5 +1,5 @@
/*
Copyright (C) 2015-2018 Parallel Realities
Copyright (C) 2015-2019 Parallel Realities
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License

View File

@ -1,5 +1,5 @@
/*
Copyright (C) 2015-2018 Parallel Realities
Copyright (C) 2015-2019 Parallel Realities
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License

View File

@ -1,5 +1,5 @@
/*
Copyright (C) 2015-2018 Parallel Realities
Copyright (C) 2015-2019 Parallel Realities
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License

View File

@ -1,5 +1,5 @@
/*
Copyright (C) 2015-2018 Parallel Realities
Copyright (C) 2015-2019 Parallel Realities
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License

View File

@ -1,5 +1,5 @@
/*
Copyright (C) 2015-2018 Parallel Realities
Copyright (C) 2015-2019 Parallel Realities
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License

View File

@ -1,5 +1,5 @@
/*
Copyright (C) 2015-2018 Parallel Realities
Copyright (C) 2015-2019 Parallel Realities
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License

View File

@ -1,5 +1,5 @@
/*
Copyright (C) 2015-2018 Parallel Realities
Copyright (C) 2015-2019 Parallel Realities
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License

View File

@ -1,5 +1,5 @@
/*
Copyright (C) 2015-2018 Parallel Realities
Copyright (C) 2015-2019 Parallel Realities
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License

View File

@ -1,5 +1,5 @@
/*
Copyright (C) 2015-2018 Parallel Realities
Copyright (C) 2015-2019 Parallel Realities
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License

View File

@ -1,5 +1,5 @@
/*
Copyright (C) 2015-2018 Parallel Realities
Copyright (C) 2015-2019 Parallel Realities
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License

View File

@ -1,5 +1,5 @@
/*
Copyright (C) 2015-2018 Parallel Realities
Copyright (C) 2015-2019 Parallel Realities
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License

View File

@ -1,5 +1,5 @@
/*
Copyright (C) 2015-2018 Parallel Realities
Copyright (C) 2015-2019 Parallel Realities
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License

View File

@ -1,5 +1,5 @@
/*
Copyright (C) 2015-2018 Parallel Realities
Copyright (C) 2015-2019 Parallel Realities
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License

View File

@ -1,5 +1,5 @@
/*
Copyright (C) 2015-2018 Parallel Realities
Copyright (C) 2015-2019 Parallel Realities
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License

View File

@ -1,5 +1,5 @@
/*
Copyright (C) 2015-2018 Parallel Realities
Copyright (C) 2015-2019 Parallel Realities
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License

View File

@ -1,5 +1,5 @@
/*
Copyright (C) 2015-2018 Parallel Realities
Copyright (C) 2015-2019 Parallel Realities
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License

View File

@ -1,5 +1,5 @@
/*
Copyright (C) 2015-2018 Parallel Realities
Copyright (C) 2015-2019 Parallel Realities
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License

View File

@ -1,5 +1,5 @@
/*
Copyright (C) 2015-2018 Parallel Realities
Copyright (C) 2015-2019 Parallel Realities
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License

View File

@ -1,5 +1,5 @@
/*
Copyright (C) 2015-2018 Parallel Realities
Copyright (C) 2015-2019 Parallel Realities
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License

View File

@ -1,5 +1,5 @@
/*
Copyright (C) 2015-2018 Parallel Realities
Copyright (C) 2015-2019 Parallel Realities
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License

View File

@ -1,5 +1,5 @@
/*
Copyright (C) 2015-2018 Parallel Realities
Copyright (C) 2015-2019 Parallel Realities
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License

View File

@ -1,5 +1,5 @@
/*
Copyright (C) 2015-2018 Parallel Realities
Copyright (C) 2015-2019 Parallel Realities
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License

View File

@ -1,5 +1,5 @@
/*
Copyright (C) 2015-2018 Parallel Realities
Copyright (C) 2015-2019 Parallel Realities
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License

View File

@ -1,5 +1,5 @@
/*
Copyright (C) 2015-2018 Parallel Realities
Copyright (C) 2015-2019 Parallel Realities
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License

View File

@ -1,5 +1,5 @@
/*
Copyright (C) 2015-2018 Parallel Realities
Copyright (C) 2015-2019 Parallel Realities
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License

View File

@ -1,5 +1,5 @@
/*
Copyright (C) 2015-2018 Parallel Realities
Copyright (C) 2015-2019 Parallel Realities
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License

View File

@ -1,5 +1,5 @@
/*
Copyright (C) 2015-2018 Parallel Realities
Copyright (C) 2015-2019 Parallel Realities
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License

View File

@ -1,5 +1,5 @@
/*
Copyright (C) 2015-2018 Parallel Realities
Copyright (C) 2015-2019 Parallel Realities
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License

View File

@ -1,5 +1,5 @@
/*
Copyright (C) 2015-2018 Parallel Realities
Copyright (C) 2015-2019 Parallel Realities
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License

View File

@ -1,5 +1,5 @@
/*
Copyright (C) 2015-2018 Parallel Realities
Copyright (C) 2015-2019 Parallel Realities
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License

View File

@ -1,5 +1,5 @@
/*
Copyright (C) 2015-2018 Parallel Realities
Copyright (C) 2015-2019 Parallel Realities
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
@ -308,6 +308,14 @@ static void draw(void)
drawStars();
if (show == SHOW_MENU)
{
SDL_SetRenderDrawBlendMode(app.renderer, SDL_BLENDMODE_BLEND);
SDL_SetRenderDrawColor(app.renderer, 0, 0, 0, 128);
SDL_RenderFillRect(app.renderer, NULL);
SDL_SetRenderDrawBlendMode(app.renderer, SDL_BLENDMODE_NONE);
}
SDL_SetRenderTarget(app.renderer, app.uiBuffer);
drawText(UI_WIDTH / 2, 40, 28, TA_CENTER, colors.white, CHALLENGES_TEXT);
@ -447,11 +455,6 @@ static void drawMenu(void)
{
SDL_Rect r;
SDL_SetRenderDrawBlendMode(app.renderer, SDL_BLENDMODE_BLEND);
SDL_SetRenderDrawColor(app.renderer, 0, 0, 0, 128);
SDL_RenderFillRect(app.renderer, NULL);
SDL_SetRenderDrawBlendMode(app.renderer, SDL_BLENDMODE_NONE);
r.w = 400;
r.h = 500;
r.x = (UI_WIDTH / 2) - r.w / 2;

View File

@ -1,5 +1,5 @@
/*
Copyright (C) 2015-2018 Parallel Realities
Copyright (C) 2015-2019 Parallel Realities
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License

View File

@ -1,5 +1,5 @@
/*
Copyright (C) 2015-2018 Parallel Realities
Copyright (C) 2015-2019 Parallel Realities
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License

View File

@ -1,5 +1,5 @@
/*
Copyright (C) 2015-2018 Parallel Realities
Copyright (C) 2015-2019 Parallel Realities
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License

View File

@ -1,5 +1,5 @@
/*
Copyright (C) 2015-2018 Parallel Realities
Copyright (C) 2015-2019 Parallel Realities
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License

View File

@ -1,5 +1,5 @@
/*
Copyright (C) 2015-2018 Parallel Realities
Copyright (C) 2015-2019 Parallel Realities
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
@ -80,7 +80,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
#define NUM_ATLAS_BUCKETS 64
#define NUM_GLYPH_BUCKETS 128
#define MAX_STARS 500
#define MAX_STARS 100
#define MAX_CHALLENGES 3
@ -421,3 +421,4 @@ enum
TROPHY_UNEARNED,
TROPHY_MAX
};

View File

@ -1,5 +1,5 @@
/*
Copyright (C) 2015-2018 Parallel Realities
Copyright (C) 2015-2019 Parallel Realities
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
@ -806,13 +806,13 @@ static void drawMenu(void)
{
SDL_Rect r;
SDL_SetRenderTarget(app.renderer, app.uiBuffer);
SDL_SetRenderDrawBlendMode(app.renderer, SDL_BLENDMODE_BLEND);
SDL_SetRenderDrawColor(app.renderer, 0, 0, 0, 128);
SDL_RenderFillRect(app.renderer, NULL);
SDL_SetRenderDrawBlendMode(app.renderer, SDL_BLENDMODE_NONE);
SDL_SetRenderTarget(app.renderer, app.uiBuffer);
r.w = 400;
r.h = 500;
r.x = (UI_WIDTH / 2) - r.w / 2;

View File

@ -1,5 +1,5 @@
/*
Copyright (C) 2015-2018 Parallel Realities
Copyright (C) 2015-2019 Parallel Realities
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License

View File

@ -1,5 +1,5 @@
/*
Copyright (C) 2015-2018 Parallel Realities
Copyright (C) 2015-2019 Parallel Realities
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License

View File

@ -1,5 +1,5 @@
/*
Copyright (C) 2015-2018 Parallel Realities
Copyright (C) 2015-2019 Parallel Realities
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License

View File

@ -1,5 +1,5 @@
/*
Copyright (C) 2015-2018 Parallel Realities
Copyright (C) 2015-2019 Parallel Realities
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License

View File

@ -1,5 +1,5 @@
/*
Copyright (C) 2015-2018 Parallel Realities
Copyright (C) 2015-2019 Parallel Realities
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License

View File

@ -1,5 +1,5 @@
/*
Copyright (C) 2015-2018 Parallel Realities
Copyright (C) 2015-2019 Parallel Realities
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
@ -24,6 +24,7 @@ static void loadCredits(void);
static void logic(void);
static void draw(void);
static void handleKeyboard(void);
void destroyCredits(void);
static SDL_Texture *background;
static AtlasImage *earthTexture;
@ -78,6 +79,8 @@ static void logic(void)
{
app.hideMouse = 0;
destroyCredits();
initTitle();
}
}

View File

@ -1,5 +1,5 @@
/*
Copyright (C) 2015-2018 Parallel Realities
Copyright (C) 2015-2019 Parallel Realities
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License

View File

@ -1,5 +1,5 @@
/*
Copyright (C) 2015-2018 Parallel Realities
Copyright (C) 2015-2019 Parallel Realities
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License

View File

@ -1,5 +1,5 @@
/*
Copyright (C) 2015-2018 Parallel Realities
Copyright (C) 2015-2019 Parallel Realities
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License

View File

@ -1,5 +1,5 @@
/*
Copyright (C) 2015-2018 Parallel Realities
Copyright (C) 2015-2019 Parallel Realities
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License

View File

@ -1,5 +1,5 @@
/*
Copyright (C) 2015-2018 Parallel Realities
Copyright (C) 2015-2019 Parallel Realities
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License

View File

@ -1,5 +1,5 @@
/*
Copyright (C) 2015-2018 Parallel Realities
Copyright (C) 2015-2019 Parallel Realities
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License

View File

@ -1,5 +1,5 @@
/*
Copyright (C) 2015-2018 Parallel Realities
Copyright (C) 2015-2019 Parallel Realities
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License

View File

@ -1,5 +1,5 @@
/*
Copyright (C) 2015-2018 Parallel Realities
Copyright (C) 2015-2019 Parallel Realities
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
@ -21,6 +21,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
#include "options.h"
static void changeWindowSize(char *value);
static void changeEffectsReduction(char *value);
static void changeSoundVolume(char *value);
static void changeMusicVolume(char *value);
static void changeFullscreen(char *value);
@ -41,6 +42,7 @@ void initOptions(void (*rtn)(void))
selectWidget("windowSize", "options");
getWidget("windowSize", "options")->onChange = changeWindowSize;
getWidget("effects", "options")->onChange = changeEffectsReduction;
getWidget("soundVolume", "options")->onChange = changeSoundVolume;
getWidget("musicVolume", "options")->onChange = changeMusicVolume;
getWidget("fullscreen", "options")->onChange = changeFullscreen;
@ -51,6 +53,9 @@ void initOptions(void (*rtn)(void))
sprintf(optionStr, "%d x %d", app.winWidth, app.winHeight);
setWidgetOption("windowSize", "options", optionStr);
sprintf(optionStr, "%d", app.effects);
setWidgetOption("effects", "options", optionStr);
sprintf(optionStr, "%d", app.soundVolume);
setWidgetOption("soundVolume", "options", optionStr);
@ -117,7 +122,9 @@ static void drawMain(void)
app.textWidth = r.w - 100;
#if !defined(__amigaos4__)
drawText(UI_WIDTH / 2, r.y + r.h - 135, 16, TA_CENTER, colors.yellow, RESOLUTION_TEXT);
#endif
app.textWidth = 0;
@ -172,6 +179,11 @@ static void changeWindowSize(char *value)
initStars();
}
static void changeEffectsReduction(char *value)
{
app.effects = atoi(value);
}
static void changeSoundVolume(char *value)
{
app.soundVolume = atoi(value);
@ -204,3 +216,4 @@ static void controlsOK(void)
{
show = SHOW_MAIN;
}

View File

@ -1,5 +1,5 @@
/*
Copyright (C) 2015-2018 Parallel Realities
Copyright (C) 2015-2019 Parallel Realities
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License

View File

@ -1,5 +1,5 @@
/*
Copyright (C) 2015-2018 Parallel Realities
Copyright (C) 2015-2019 Parallel Realities
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License

View File

@ -1,5 +1,5 @@
/*
Copyright (C) 2015-2018 Parallel Realities
Copyright (C) 2015-2019 Parallel Realities
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License

View File

@ -1,5 +1,5 @@
/*
Copyright (C) 2015-2018 Parallel Realities
Copyright (C) 2015-2019 Parallel Realities
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License

View File

@ -1,5 +1,5 @@
/*
Copyright (C) 2015-2018 Parallel Realities
Copyright (C) 2015-2019 Parallel Realities
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License

View File

@ -1,5 +1,5 @@
/*
Copyright (C) 2015-2018 Parallel Realities
Copyright (C) 2015-2019 Parallel Realities
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
@ -195,7 +195,7 @@ static void draw(void)
blit(pandoranWar, app.winWidth / 2, 110, 1);
drawText(10, app.winHeight - 25, 14, TA_LEFT, colors.white, "Copyright Parallel Realities, 2015-2018");
drawText(10, app.winHeight - 25, 14, TA_LEFT, colors.white, "Copyright Parallel Realities, 2015-2019");
drawText(app.winWidth - 10, app.winHeight - 25, 14, TA_RIGHT, colors.white, "Version %.2f.%d", VERSION, REVISION);
switch (show)

View File

@ -1,5 +1,5 @@
/*
Copyright (C) 2015-2018 Parallel Realities
Copyright (C) 2015-2019 Parallel Realities
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License

View File

@ -1,5 +1,5 @@
/*
Copyright (C) 2015-2018 Parallel Realities
Copyright (C) 2015-2019 Parallel Realities
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
@ -426,7 +426,7 @@ void awardStatsTrophies(void)
void awardCampaignTrophies(void)
{
char trophyId[MAX_NAME_LENGTH];
char trophyId[MAX_NAME_LENGTH * 2];
char name[MAX_NAME_LENGTH];
int i, len;
StarSystem *starSystem;
@ -533,3 +533,4 @@ static void setSparkleColor(Trophy *t)
break;
}
}

View File

@ -1,5 +1,5 @@
/*
Copyright (C) 2015-2018 Parallel Realities
Copyright (C) 2015-2019 Parallel Realities
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License

View File

@ -1,5 +1,5 @@
/*
Copyright (C) 2015-2018 Parallel Realities
Copyright (C) 2015-2019 Parallel Realities
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
@ -155,7 +155,7 @@ static void capFrameRate(long *then, float *remainder)
SDL_Delay(wait);
*remainder += 0.667;
*remainder += 0.666667;
*then = SDL_GetTicks();
}

View File

@ -1,5 +1,5 @@
/*
Copyright (C) 2015-2018 Parallel Realities
Copyright (C) 2015-2019 Parallel Realities
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License

101
src/plat/os4/os4Init.c Normal file
View File

@ -0,0 +1,101 @@
/*
Copyright (C) 2015-2019,2022 Parallel Realities
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 2
of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
#include <errno.h>
#include <pwd.h>
#include <sys/stat.h>
#include <unistd.h>
#include <proto/dos.h>
#include <proto/exec.h>
#include "../../common.h"
#include "os4Init.h"
#define VSTRING "tbftss 1.50.1r1 (22.08.2022)"
#define VERSTAG "\0$VER: " VSTRING
static CONST_STRPTR stack USED = "$STACK:102400";
static CONST_STRPTR version USED = VERSTAG;
extern App app;
extern Dev dev;
void createSaveFolder(void)
{
// char *dir;
// int i;
BPTR savesPathLock = Lock("PROGDIR:saves", SHARED_LOCK);
if (!savesPathLock)
{
SDL_LogMessage(SDL_LOG_CATEGORY_APPLICATION, SDL_LOG_PRIORITY_INFO, "Saves folder not found. I am going to create it.");
// mkpath("PROGDIR:saves");
if (mkdir("PROGDIR:saves", S_IRWXU | S_IRWXG | S_IROTH | S_IXOTH) != 0 && errno != EEXIST)
{
SDL_LogMessage(SDL_LOG_CATEGORY_APPLICATION, SDL_LOG_PRIORITY_WARN, "Failed to create save dir.");
return;
}
}
else {
UnLock(savesPathLock);
}
// for (i = 0 ; i < MAX_SAVE_SLOTS ; i++)
// {
// dir = buildFormattedString("saves/%d", i);
// mkpath(dir);
// free(dir);
// }
// app.saveDir = "saves";
STRNCPY(app.saveDir, "saves", MAX_FILENAME_LENGTH);
// char *userHome;
// char dir[MAX_FILENAME_LENGTH];
// userHome = getenv("HOME");
// if (!userHome)
// {
// SDL_LogMessage(SDL_LOG_CATEGORY_APPLICATION, SDL_LOG_PRIORITY_WARN, "Unable to determine user save folder. Will save to current dir.");
// return;
// }
// SDL_LogMessage(SDL_LOG_CATEGORY_APPLICATION, SDL_LOG_PRIORITY_INFO, "User home = %s", userHome);
// sprintf(dir, "%s/.local/share/tbftss", userHome);
// if (mkdir(dir, S_IRWXU | S_IRWXG | S_IROTH | S_IXOTH) != 0 && errno != EEXIST)
// {
// SDL_LogMessage(SDL_LOG_CATEGORY_APPLICATION, SDL_LOG_PRIORITY_WARN, "Failed to create save dir '%s'. Will save to current dir.", dir);
// return;
// }
// STRNCPY(app.saveDir, dir, MAX_FILENAME_LENGTH);
}
void createScreenshotFolder(void)
{
mkdir("PROGDIR:screenshots", S_IRWXU | S_IRWXG | S_IROTH | S_IXOTH);
dev.screenshotFolder = "screenshots";
}

22
src/plat/os4/os4Init.h Executable file
View File

@ -0,0 +1,22 @@
/*
Copyright (C) 2015-2019,2022 Parallel Realities
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 2
of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
void createScreenshotFolder(void);
void createSaveFolder(void);

View File

@ -1,5 +1,5 @@
/*
Copyright (C) 2015-2018 Parallel Realities
Copyright (C) 2015-2019 Parallel Realities
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License

Some files were not shown because too many files have changed in this diff Show More