diff --git a/README-OS4.md b/README-OS4.md new file mode 100644 index 0000000..a051cd8 --- /dev/null +++ b/README-OS4.md @@ -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 + diff --git a/icons/tbftss.info b/icons/tbftss.info new file mode 100644 index 0000000..98bc0dc Binary files /dev/null and b/icons/tbftss.info differ diff --git a/makefile.os4 b/makefile.os4 index 478a25f..e4c34f9 100644 --- a/makefile.os4 +++ b/makefile.os4 @@ -34,45 +34,20 @@ LDFLAGS += -lSDL2 -lpthread -athread=native -lstdc++ $(PROG): $(OBJS) $(CC) -o $@ $(OBJS) $(LDFLAGS) -install: - mkdir -p $(INST_BIN_DIR) - install -m 0755 $(PROG) $(INST_BIN_DIR) - mkdir -p $(INST_DATA_DIR) - cp -r data $(INST_DATA_DIR) - cp -r gfx $(INST_DATA_DIR) - cp -r manual $(INST_DATA_DIR) - cp -r music $(INST_DATA_DIR) - cp -r sound $(INST_DATA_DIR) - mkdir -p $(INST_ICON_DIR)/16x16/apps - mkdir -p $(INST_ICON_DIR)/32x32/apps - mkdir -p $(INST_ICON_DIR)/64x64/apps - mkdir -p $(INST_ICON_DIR)/128x128/apps - cp -p icons/$(PROG)-16x16.png $(INST_ICON_DIR)/16x16/apps/$(PROG).png - cp -p icons/$(PROG)-32x32.png $(INST_ICON_DIR)/32x32/apps/$(PROG).png - cp -p icons/$(PROG)-64x64.png $(INST_ICON_DIR)/64x64/apps/$(PROG).png - cp -p icons/$(PROG)-128x128.png $(INST_ICON_DIR)/128x128/apps/$(PROG).png - mkdir -p $(INST_DESKTOP_DIR) - cp -p icons/$(PROG).desktop $(INST_DESKTOP_DIR) +# 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/ - @for f in $(LOCALE_MO); do \ - lang=`echo $$f | sed -e 's/^locale\///;s/\.mo$$//'`; \ - mkdir -p $(INST_LOCALE_DIR)/$$lang/LC_MESSAGES; \ - cp -v $$f $(INST_LOCALE_DIR)/$$lang/LC_MESSAGES/$(PROG).mo; \ - done - -uninstall: - $(RM) $(BIN_DIR)/$(PROG) - $(RM) -rf $(DATA_DIR) - $(RM) $(ICON_DIR)/16x16/apps/$(PROG).png - $(RM) $(ICON_DIR)/32x32/apps/$(PROG).png - $(RM) $(ICON_DIR)/64x64/apps/$(PROG).png - $(RM) $(ICON_DIR)/128x128/apps/$(PROG).png - $(RM) $(DESKTOP_DIR)/$(PROG).desktop - - @for f in $(LOCALE_MO); do \ - lang=`echo $$f | sed -e 's/^locale\///;s/\.mo$$//'`; \ - $(RM) -v $(LOCALE_DIR)/$$lang/LC_MESSAGES/$(PROG).mo; \ - done .PHONY: dist diff --git a/src/battle/effects.c b/src/battle/effects.c index 053210a..f540edc 100644 --- a/src/battle/effects.c +++ b/src/battle/effects.c @@ -702,7 +702,7 @@ static float calculateEffectsValue(unsigned int val) #if defined(__amigaos4__) if (app.effects) { - return val>>(app.effects<<1); + return val / (app.effects * 2); } #endif diff --git a/src/game/options.c b/src/game/options.c index 8fb776e..8f2fd59 100644 --- a/src/game/options.c +++ b/src/game/options.c @@ -121,9 +121,11 @@ static void drawMain(void) drawWidgets("options"); 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; SDL_SetRenderTarget(app.renderer, app.backBuffer);