Compare commits
19 Commits
773b59be23
...
v1.2.0
| Author | SHA1 | Date | |
|---|---|---|---|
| 8df6a82b80 | |||
| 7e84495701 | |||
| 0981882fd3 | |||
| 8c4233e90e | |||
| f3f4639abe | |||
| 60a0ca2b0e | |||
| f21a4808f5 | |||
| 283f3f58f5 | |||
| 7cbf75ffd9 | |||
| 2bfe750ccc | |||
| 438e24ab9e | |||
| ccc4f760b2 | |||
| fd2b90fb3b | |||
| f8b42bc986 | |||
| f638d4e262 | |||
| 3a0cba54ba | |||
| e30bbc5f8c | |||
| a69aa23490 | |||
| 24f693e357 |
3
.gitignore
vendored
3
.gitignore
vendored
@@ -2,4 +2,5 @@
|
|||||||
*.exe
|
*.exe
|
||||||
arounders
|
arounders
|
||||||
arounders_debug
|
arounders_debug
|
||||||
*.dll
|
./*.dll
|
||||||
|
release/*
|
||||||
44
Info.plist
Normal file
44
Info.plist
Normal file
@@ -0,0 +1,44 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||||
|
<plist version="1.0">
|
||||||
|
<dict>
|
||||||
|
<key>BuildMachineOSBuild</key>
|
||||||
|
<string>19H2</string>
|
||||||
|
<key>CFBundleDevelopmentRegion</key>
|
||||||
|
<string>en</string>
|
||||||
|
<key>CFBundleDisplayName</key>
|
||||||
|
<string>arounders</string>
|
||||||
|
<key>CFBundleExecutable</key>
|
||||||
|
<string>arounders</string>
|
||||||
|
<key>CFBundleIconFile</key>
|
||||||
|
<string>arounders</string>
|
||||||
|
<key>CFBundleIconName</key>
|
||||||
|
<string>arounders</string>
|
||||||
|
<key>CFBundleIdentifier</key>
|
||||||
|
<string>net.jailers.arounders</string>
|
||||||
|
<key>CFBundleInfoDictionaryVersion</key>
|
||||||
|
<string>6.0</string>
|
||||||
|
<key>CFBundleName</key>
|
||||||
|
<string>arounders</string>
|
||||||
|
<key>CFBundlePackageType</key>
|
||||||
|
<string>APPL</string>
|
||||||
|
<key>CFBundleShortVersionString</key>
|
||||||
|
<string>1.2.0</string>
|
||||||
|
<key>CFBundleSignature</key>
|
||||||
|
<string>????</string>
|
||||||
|
<key>CFBundleVersion</key>
|
||||||
|
<string>1.2.0</string>
|
||||||
|
<key>CSResourcesFileMapped</key>
|
||||||
|
<true/>
|
||||||
|
<key>LSMinimumSystemVersion</key>
|
||||||
|
<string>10.12</string>
|
||||||
|
<key>NSHighResolutionCapable</key>
|
||||||
|
<true/>
|
||||||
|
<key>NSHumanReadableCopyright</key>
|
||||||
|
<string>Copyright 2023 JailDoctor</string>
|
||||||
|
<key>NSPrincipalClass</key>
|
||||||
|
<string>NSApplication</string>
|
||||||
|
<key>SUPublicDSAKeyFile</key>
|
||||||
|
<string>dsa_pub.pem</string>
|
||||||
|
</dict>
|
||||||
|
</plist>
|
||||||
129
Makefile
129
Makefile
@@ -1,27 +1,140 @@
|
|||||||
executable = arounders
|
executable = arounders
|
||||||
source = source/*.cpp
|
source = source/*.cpp
|
||||||
|
appName = arounders
|
||||||
|
releaseFolder = release
|
||||||
|
version = v1.2.1
|
||||||
|
|
||||||
|
# Release names
|
||||||
|
windowsRelease = $(executable)-$(version)-win32-x64.zip
|
||||||
|
macosIntelRelease = $(executable)-$(version)-macos-intel.dmg
|
||||||
|
macosAppleSiliconRelease = $(executable)-$(version)-macos-apple-silicon.dmg
|
||||||
|
linuxRelease = $(executable)-$(version)-linux.tar.gz
|
||||||
|
|
||||||
windows:
|
windows:
|
||||||
@echo off
|
@echo off
|
||||||
g++ $(source) icon.res -Wall -Os -ffunction-sections -fdata-sections -Wl,--gc-sections -lmingw32 -lSDL2main -lSDL2 -lSDL2_mixer -mwindows -o "$(executable).exe"
|
windres icon.rc -O coff icon.res
|
||||||
|
g++ $(source) icon.res -D VERSION=\"$(version)\" -Wall -Os -ffunction-sections -fdata-sections -Wl,--gc-sections -lmingw32 -lSDL2main -lSDL2 -lSDL2_mixer -mwindows -o "$(executable).exe"
|
||||||
strip -s -R .comment -R .gnu.version --strip-unneeded "$(executable).exe"
|
strip -s -R .comment -R .gnu.version --strip-unneeded "$(executable).exe"
|
||||||
|
|
||||||
windows_debug:
|
windows_debug:
|
||||||
@echo off
|
@echo off
|
||||||
g++ $(source) -D DEBUG -g -Wall -fvar-tracking -lmingw32 -lSDL2main -lSDL2 -lSDL2_mixer -o "$(executable)_debug.exe"
|
g++ $(source) -D DEBUG -D VERSION=\"$(version)\" -g -Wall -fvar-tracking -lmingw32 -lSDL2main -lSDL2 -lSDL2_mixer -o "$(executable)_debug.exe"
|
||||||
|
|
||||||
|
windows_release:
|
||||||
|
@echo off
|
||||||
|
|
||||||
|
# Fem el paquetet
|
||||||
|
respak2 -p
|
||||||
|
|
||||||
|
# Create release folder
|
||||||
|
powershell if (Test-Path "$(releaseFolder)") {Remove-Item "$(releaseFolder)" -Recurse -Force}
|
||||||
|
powershell if (-not (Test-Path "$(releaseFolder)")) {New-Item "$(releaseFolder)" -ItemType Directory}
|
||||||
|
|
||||||
|
# Copy root files
|
||||||
|
powershell Copy-Item "data.jf2" -Destination "$(releaseFolder)"
|
||||||
|
powershell Copy-Item "versions.txt" -Destination "$(releaseFolder)"
|
||||||
|
powershell Copy-Item "README.md" -Destination "$(releaseFolder)"
|
||||||
|
powershell Copy-Item "bin\*.dll" -Destination "$(releaseFolder)"
|
||||||
|
|
||||||
|
# Build
|
||||||
|
windres icon.rc -O coff icon.res
|
||||||
|
g++ $(source) icon.res -D VERSION=\"$(version)\" -Wall -Os -ffunction-sections -fdata-sections -Wl,--gc-sections -lmingw32 -lSDL2main -lSDL2 -lSDL2_mixer -mwindows -o "$(releaseFolder)/$(executable).exe"
|
||||||
|
strip -s -R .comment -R .gnu.version --strip-unneeded "$(releaseFolder)/$(executable).exe"
|
||||||
|
|
||||||
|
# Create ZIP
|
||||||
|
powershell if (Test-Path $(windowsRelease)) {Remove-Item $(windowsRelease)}
|
||||||
|
powershell Compress-Archive -Path "$(releaseFolder)"/* -DestinationPath $(windowsRelease)
|
||||||
|
|
||||||
|
# Remove folder
|
||||||
|
powershell if (Test-Path "$(releaseFolder)") {Remove-Item "$(releaseFolder)" -Recurse -Force}
|
||||||
|
|
||||||
macos:
|
macos:
|
||||||
clang++ $(source) -Wall -Os -std=c++11 -ffunction-sections -fdata-sections -lSDL2 -lSDL2_mixer -o "$(executable)"
|
clang++ $(source) -D VERSION=\"$(version)\" -Wall -Os -std=c++11 -ffunction-sections -fdata-sections -lSDL2 -lSDL2_mixer -o "$(executable)"
|
||||||
|
|
||||||
macos_debug:
|
macos_debug:
|
||||||
clang++ $(source) -D DEBUG -g -Wall -Os -std=c++11 -ffunction-sections -fdata-sections -lSDL2 -lSDL2_mixer -o "$(executable)_debug"
|
clang++ $(source) -D DEBUG -D VERSION=\"$(version)\" -g -Wall -std=c++11 -lSDL2 -lSDL2_mixer -o "$(executable)_debug"
|
||||||
|
|
||||||
|
macos_release:
|
||||||
|
# Remove data and possible data from previous builds
|
||||||
|
rm -rdf "$(releaseFolder)"
|
||||||
|
rm -rdf Frameworks
|
||||||
|
rm -f tmp.dmg
|
||||||
|
rm -f "$(macosIntelRelease)"
|
||||||
|
rm -f "$(macosAppleSiliconRelease)"
|
||||||
|
|
||||||
|
# Create folders
|
||||||
|
mkdir -p "$(releaseFolder)/$(appName).app/Contents/Frameworks"
|
||||||
|
mkdir -p "$(releaseFolder)/$(appName).app/Contents/MacOS"
|
||||||
|
mkdir -p "$(releaseFolder)/$(appName).app/Contents/Resources"
|
||||||
|
mkdir -p Frameworks
|
||||||
|
|
||||||
|
# Fem el paquetet
|
||||||
|
respak2 -p
|
||||||
|
|
||||||
|
# Copy folders
|
||||||
|
cp data.jf2 "$(releaseFolder)/$(appName).app/Contents/Resources"
|
||||||
|
cp -R bin/*.framework "$(releaseFolder)/$(appName).app/Contents/Frameworks"
|
||||||
|
cp -R bin/*.framework Frameworks
|
||||||
|
|
||||||
|
# Copy files
|
||||||
|
cp *.icns "$(releaseFolder)/$(appName).app/Contents/Resources"
|
||||||
|
cp Info.plist "$(releaseFolder)/$(appName).app/Contents"
|
||||||
|
cp versions.txt "$(releaseFolder)"
|
||||||
|
cp README.md "$(releaseFolder)"
|
||||||
|
|
||||||
|
# Create links
|
||||||
|
ln -s /Applications "$(releaseFolder)"/Applications
|
||||||
|
|
||||||
|
# Build INTEL
|
||||||
|
clang++ $(source) -D MACOS_BUNDLE -D VERSION=\"$(version)\" -Wall -Os -std=c++11 -framework SDL2 -framework SDL2_mixer -F ./Frameworks -ffunction-sections -fdata-sections -o "$(releaseFolder)/$(appName).app/Contents/MacOS/$(executable)" -rpath @executable_path/../Frameworks/ -target x86_64-apple-macos10.12
|
||||||
|
|
||||||
|
# Build INTEL DMG
|
||||||
|
hdiutil create tmp.dmg -ov -volname "$(appName)" -fs HFS+ -srcfolder "$(releaseFolder)"
|
||||||
|
hdiutil convert tmp.dmg -format UDZO -o "$(macosIntelRelease)"
|
||||||
|
rm -f tmp.dmg
|
||||||
|
|
||||||
|
# Build APPLE SILICON
|
||||||
|
clang++ $(source) -D MACOS_BUNDLE -D VERSION=\"$(version)\" -std=c++11 -Wall -Os -framework SDL2 -framework SDL2_mixer -F ./Frameworks -ffunction-sections -fdata-sections -o "$(releaseFolder)/$(appName).app/Contents/MacOS/$(executable)" -rpath @executable_path/../Frameworks/ -target arm64-apple-macos11
|
||||||
|
|
||||||
|
# Build APPLE SILICON DMG
|
||||||
|
hdiutil create tmp.dmg -ov -volname "$(appName)" -fs HFS+ -srcfolder "$(releaseFolder)"
|
||||||
|
hdiutil convert tmp.dmg -format UDZO -o "$(macosAppleSiliconRelease)"
|
||||||
|
rm -f tmp.dmg
|
||||||
|
|
||||||
|
# Remove data
|
||||||
|
rm -rdf Frameworks
|
||||||
|
rm -rdf "$(releaseFolder)"
|
||||||
|
|
||||||
macos_bundle:
|
|
||||||
clang++ $(source) -D MACOS_BUNDLE -Wall -Os -std=c++11 -framework SDL2 -framework SDL2_mixer -F /Library/Frameworks -ffunction-sections -fdata-sections -o mini_bundle -rpath @executable_path/../Frameworks/ -target x86_64-apple-macos10.12
|
|
||||||
|
|
||||||
linux:
|
linux:
|
||||||
g++ $(source) -Wall -Os -ffunction-sections -fdata-sections -Wl,--gc-sections -lSDL2 -lSDL2_mixer -o "$(executable)"
|
g++ $(source) -D VERSION=\"$(version)\" -Wall -Os -ffunction-sections -fdata-sections -Wl,--gc-sections -lSDL2 -lSDL2_mixer -o "$(executable)"
|
||||||
strip -s -R .comment -R .gnu.version --strip-unneeded "$(executable)"
|
strip -s -R .comment -R .gnu.version --strip-unneeded "$(executable)"
|
||||||
|
|
||||||
linux_debug:
|
linux_debug:
|
||||||
g++ $(source) -D DEBUG -g -Wall -fvar-tracking -lSDL2 -lSDL2_mixer -o "$(executable)_debug"
|
g++ $(source) -D DEBUG -D VERSION=\"$(version)\" -g -Wall -fvar-tracking -lSDL2 -lSDL2_mixer -o "$(executable)_debug"
|
||||||
|
|
||||||
|
linux_release:
|
||||||
|
# Remove data
|
||||||
|
rm -rdf "$(releaseFolder)"
|
||||||
|
|
||||||
|
# Create folders
|
||||||
|
mkdir -p "$(releaseFolder)"
|
||||||
|
|
||||||
|
# Fem el paquetet
|
||||||
|
respak2 -p
|
||||||
|
|
||||||
|
# Copy data
|
||||||
|
cp data.jf2 "$(releaseFolder)"
|
||||||
|
cp versions.txt "$(releaseFolder)"
|
||||||
|
cp README.md "$(releaseFolder)"
|
||||||
|
|
||||||
|
# Build
|
||||||
|
g++ $(source) -D VERSION=\"$(version)\" -Wall -Os -ffunction-sections -fdata-sections -Wl,--gc-sections -lSDL2 -lSDL2_mixer -o "$(releaseFolder)/$(executable)"
|
||||||
|
strip -s -R .comment -R .gnu.version --strip-unneeded "$(releaseFolder)/$(executable)"
|
||||||
|
|
||||||
|
# Pack files
|
||||||
|
rm -f "$(linuxRelease)"
|
||||||
|
cd "$(releaseFolder)" && tar -czvf "../$(linuxRelease)" *
|
||||||
|
|
||||||
|
# Remove data
|
||||||
|
rm -rdf "$(releaseFolder)"
|
||||||
|
|||||||
89
README.md
89
README.md
@@ -1,14 +1,9 @@
|
|||||||
JailGames Presenta...
|
# AROUNDERS
|
||||||
*******************************************************************************************
|
|
||||||
** **
|
|
||||||
** AROUNDERS **
|
|
||||||
** **
|
|
||||||
*******************************************************************************************
|
|
||||||
versió 1.2
|
versió 1.2
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
HISTÒRIA
|
## HISTÒRIA
|
||||||
========
|
|
||||||
|
|
||||||
Al principi dels temps l'univers era una massa concetrada de materia que va explotar i...
|
Al principi dels temps l'univers era una massa concetrada de materia que va explotar i...
|
||||||
però avancem un poc en la història: Açò era baloo, barba peluda, el pelo pinxo i pantaló
|
però avancem un poc en la història: Açò era baloo, barba peluda, el pelo pinxo i pantaló
|
||||||
@@ -16,79 +11,78 @@ bermuda, que se anava a menjar narantxes, se ana a dentr para hechar desmadre, p
|
|||||||
se ana a fer-se un cortaet... i aixó pot ser FATAL...
|
se ana a fer-se un cortaet... i aixó pot ser FATAL...
|
||||||
|
|
||||||
|
|
||||||
REQUERIMENTS TÈCNICS
|
## REQUERIMENTS TÈCNICS
|
||||||
====================
|
|
||||||
|
|
||||||
[NOTA de 2023: Hui en dia açò va en qualsevol cosa que tinga CPU]
|
[NOTA de 2023: Hui en dia açò va en qualsevol cosa que tinga CPU]
|
||||||
|
|
||||||
Aquest joc s'ha testejat en un Core2Duo 2.66GHz i 2Mb de RAM sense cap mena de problemes
|
Aquest joc s'ha testejat en un Core2Duo 2.66GHz i 2Mb de RAM sense cap mena de problemes
|
||||||
Teòricament, deuria funcionar amb comps molt més xungos, pero no tinc temps ara de provar-ho.
|
Teòricament, deuria funcionar amb comps molt més xungos, pero no tinc temps ara de provar-ho.
|
||||||
|
|
||||||
* Targeta de só.
|
- Targeta de só.
|
||||||
* Targeta de video.
|
- Targeta de video.
|
||||||
* Ratolí.
|
- Ratolí.
|
||||||
* Teclat.
|
- Teclat.
|
||||||
* Disc Dur.
|
- Disc Dur.
|
||||||
* Monitor.
|
- Monitor.
|
||||||
* Impresora (¿¿??)
|
- Impresora (¿¿??)
|
||||||
OPCIONAL: Scanner, scanner!
|
OPCIONAL: Scanner, scanner!
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
INSTRUCCIONS
|
## INSTRUCCIONS
|
||||||
============
|
|
||||||
|
|
||||||
Has de dur a tots els arounders necessaris des d'una porta del nivell fins l'altra.
|
Has de dur a tots els arounders necessaris des d'una porta del nivell fins l'altra.
|
||||||
|
|
||||||
Teclat:
|
**Teclat**:
|
||||||
ESC: Mostra el menú intern del joc, desde el qual pots:
|
- **ESC**: Mostra el menú intern del joc, desde el qual pots:
|
||||||
CONTINUAR: Continues jugant per on anaves
|
- **CONTINUAR**: Continues jugant per on anaves
|
||||||
REINICIAR: Reinicia el nivell actual
|
- **REINICIAR**: Reinicia el nivell actual
|
||||||
TORNAR AL MENU: Pos aixó
|
- **TORNAR AL MENU**: Pos aixó
|
||||||
EIXIR: Eix del programa
|
- **EIXIR**: Eix del programa
|
||||||
P: Pausa (tornar a apretar per a eixir de la Pausa)
|
- **P**: Pausa (tornar a apretar per a eixir de la Pausa)
|
||||||
|
|
||||||
Ratolí:
|
**Ratolí**:
|
||||||
Botó Esquerre: Seleccionar arounder / seleccionar acció
|
- Botó Esquerre: Seleccionar arounder / seleccionar acció
|
||||||
Botó Dret: El arounder seleccionat deixa de fer el que està fent. Si te una acció en cua la executa.
|
- Botó Dret: El arounder seleccionat deixa de fer el que està fent. Si te una acció en cua la executa.
|
||||||
Boto del mig: Pausa
|
- Boto del mig: Pausa
|
||||||
|
|
||||||
Accions: (ordenades d'esquerra a dreta de la barra)
|
**Accions**: (ordenades d'esquerra a dreta de la barra)
|
||||||
|
|
||||||
* Aroundar:
|
- **Aroundar**:
|
||||||
Per defecte, no farà falta mai que apretem aquest botó. El arounder caminarà fins que
|
Per defecte, no farà falta mai que apretem aquest botó. El arounder caminarà fins que
|
||||||
no puga seguir (i pegarà la volta) o fins la mort...
|
no puga seguir (i pegarà la volta) o fins la mort...
|
||||||
|
|
||||||
* Parar:
|
- **Parar**:
|
||||||
El arounder pararà de aroundar i, a més, farà pegar la volta a tots els arounders que
|
El arounder pararà de aroundar i, a més, farà pegar la volta a tots els arounders que
|
||||||
se li acosten. Aquesta acció es du a terme nomes pulsar el botó.
|
se li acosten. Aquesta acció es du a terme nomes pulsar el botó.
|
||||||
|
|
||||||
* Cavar:
|
- **Cavar**:
|
||||||
El arounder farà un forat en la paret fins que no hi haja res més que foradar. Aquesta
|
El arounder farà un forat en la paret fins que no hi haja res més que foradar. Aquesta
|
||||||
acció es du a terme quan el arounder es trobe amb una paret.
|
acció es du a terme quan el arounder es trobe amb una paret.
|
||||||
|
|
||||||
* Escalar:
|
- **Escalar**:
|
||||||
El arounder escalarà fins que arrive dalt del tot, o no puga seguir. Es dú a terme al
|
El arounder escalarà fins que arrive dalt del tot, o no puga seguir. Es dú a terme al
|
||||||
trobar-se una paret.
|
trobar-se una paret.
|
||||||
|
|
||||||
* Perforar:
|
- **Perforar**:
|
||||||
Fà un forat en terra, fins que no puga seguir avall. Es dú a terme només pulsar el botó.
|
Fà un forat en terra, fins que no puga seguir avall. Es dú a terme només pulsar el botó.
|
||||||
|
|
||||||
* Escalera:
|
- **Escalera**:
|
||||||
Construeix una escalera fins que no puga seguir o s'acaven els escalons. Es dú a terme
|
Construeix una escalera fins que no puga seguir o s'acaven els escalons. Es dú a terme
|
||||||
nomes pulsar el botó.
|
nomes pulsar el botó.
|
||||||
|
|
||||||
* Pasarela:
|
- **Pasarela**:
|
||||||
Com la escalera però en horitzontal. Construeix un pont. Es dú a terme al trobar un precipici.
|
Com la escalera però en horitzontal. Construeix un pont. Es dú a terme al trobar un precipici.
|
||||||
|
|
||||||
* Corda:
|
- **Corda**:
|
||||||
El arounder solta una corda desde un precipici fins a terra. Es dú a terme al trobar-se
|
El arounder solta una corda desde un precipici fins a terra. Es dú a terme al trobar-se
|
||||||
un precipici. Tots els arounders que arriven a un precipici amb corda, baixaran per ella,
|
un precipici. Tots els arounders que arriven a un precipici amb corda, baixaran per ella,
|
||||||
pero els que se troben baix pujaran per ella. Si pugen per el costat equivocat, cauran.
|
pero els que se troben baix pujaran per ella. Si pugen per el costat equivocat, cauran.
|
||||||
|
|
||||||
* Suicidi:
|
- **Suicidi**:
|
||||||
El arounder agarra i explota de rabia. La mort es immediata.
|
El arounder agarra i explota de rabia. La mort es immediata.
|
||||||
|
|
||||||
* Fast Forward:
|
- **Fast Forward**:
|
||||||
No es una acció per al arounder seleccionat, sino que accelera la partida per a que els
|
No es una acció per al arounder seleccionat, sino que accelera la partida per a que els
|
||||||
arounders vagen més apresa.
|
arounders vagen més apresa.
|
||||||
|
|
||||||
@@ -99,8 +93,7 @@ Si es vol anul·lar una acció en cua, es pot tornar a pulsar el botó correspon
|
|||||||
Crec que tot lo demés ja parla per si sol...
|
Crec que tot lo demés ja parla per si sol...
|
||||||
|
|
||||||
|
|
||||||
RECOMANACIONS
|
## RECOMANACIONS
|
||||||
=============
|
|
||||||
|
|
||||||
- El secret de la majoria dels nivells és començar bé. Deuràs tindre reflexos d'acer per a
|
- El secret de la majoria dels nivells és començar bé. Deuràs tindre reflexos d'acer per a
|
||||||
completar els nivells !!!
|
completar els nivells !!!
|
||||||
@@ -119,15 +112,15 @@ passar-te'l, pot ser no apures el suficient.
|
|||||||
|
|
||||||
- Recorda que totes les accions es poden parar quan a tu t'interese pulsant el botó dret.
|
- Recorda que totes les accions es poden parar quan a tu t'interese pulsant el botó dret.
|
||||||
|
|
||||||
BUGS & POLLS
|
## BUGS & POLLS
|
||||||
============
|
|
||||||
|
|
||||||
**** Si trobes un polls, dis-me EXACTAMENT que has fet per a que passe. Si et dona ****
|
|
||||||
**** algun missatge d'error, apuntalo EXACTAMENT com el fica. Gracies. ****
|
Si trobes un polls, dis-me EXACTAMENT que has fet per a que passe. Si et dona
|
||||||
|
algun missatge d'error, apuntalo EXACTAMENT com el fica. Gracies.
|
||||||
|
|
||||||
Pots comunicar els polls que trobes ací: https://gitea.sustancia.synology.me/JailDoctor/arounders/issues
|
Pots comunicar els polls que trobes ací: https://gitea.sustancia.synology.me/JailDoctor/arounders/issues
|
||||||
|
|
||||||
* La acció corda és molt sensible. Si la utilitzes, i abans del precipici hi ha un desnivell
|
- La acció corda és molt sensible. Si la utilitzes, i abans del precipici hi ha un desnivell
|
||||||
d'uns pocs pixels, el arounder intentarà sense exit utilitzar la corda, perdent-la.
|
d'uns pocs pixels, el arounder intentarà sense exit utilitzar la corda, perdent-la.
|
||||||
|
|
||||||
Dubtes, consultes, consells, polls, cheques al portador...
|
Dubtes, consultes, consells, polls, cheques al portador...
|
||||||
|
|||||||
BIN
arounders.icns
Normal file
BIN
arounders.icns
Normal file
Binary file not shown.
BIN
bin/SDL2.dll
Normal file
BIN
bin/SDL2.dll
Normal file
Binary file not shown.
BIN
bin/SDL2_mixer.dll
Normal file
BIN
bin/SDL2_mixer.dll
Normal file
Binary file not shown.
BIN
bin/libgcc_s_seh-1.dll
Normal file
BIN
bin/libgcc_s_seh-1.dll
Normal file
Binary file not shown.
BIN
bin/libogg-0.dll
Normal file
BIN
bin/libogg-0.dll
Normal file
Binary file not shown.
BIN
bin/libstdc++-6.dll
Normal file
BIN
bin/libstdc++-6.dll
Normal file
Binary file not shown.
BIN
bin/libwinpthread-1.dll
Normal file
BIN
bin/libwinpthread-1.dll
Normal file
Binary file not shown.
@@ -1,30 +1 @@
|
|||||||
|
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>®<EFBFBD>Ǧ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƺ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ø<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>żç<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>³<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>®<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>»<EFBFBD><EFBFBD>
|
||||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>®<EFBFBD><EFBFBD>
|
|
||||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ø<EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ż<EFBFBD>
|
|
||||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>»<EFBFBD><EFBFBD>
|
|
||||||
@@ -34,3 +34,4 @@ PRINT 79 29 3 'ELS MEUS MAPES US ADORMIRE'
|
|||||||
PRINT 79 39 3 'AMB UNA PRACTICA DE TAL!!'
|
PRINT 79 39 3 'AMB UNA PRACTICA DE TAL!!'
|
||||||
ESPERAR 2000
|
ESPERAR 2000
|
||||||
FADEOUT
|
FADEOUT
|
||||||
|
END
|
||||||
|
|||||||
@@ -11,3 +11,4 @@ PRINT 9 19 1 'ARA TINDREU QUE SUPERAR'
|
|||||||
PRINT 9 29 1 '5 MAPES AMB COST EXPONENCIAL!'
|
PRINT 9 29 1 '5 MAPES AMB COST EXPONENCIAL!'
|
||||||
ESPERAR 3000
|
ESPERAR 3000
|
||||||
FADEOUT
|
FADEOUT
|
||||||
|
END
|
||||||
|
|||||||
@@ -14,3 +14,4 @@ ESPERAR 1000
|
|||||||
PRINT 159 79 1 'SUPEREU ELS MEUS MAPES!'
|
PRINT 159 79 1 'SUPEREU ELS MEUS MAPES!'
|
||||||
ESPERAR 2000
|
ESPERAR 2000
|
||||||
FADEOUT
|
FADEOUT
|
||||||
|
END
|
||||||
|
|||||||
@@ -15,3 +15,4 @@ PRINT 29 29 1 'QUE NO ELS SUPERA'
|
|||||||
PRINT 29 39 1 'QUASI QUASI NINGU'
|
PRINT 29 39 1 'QUASI QUASI NINGU'
|
||||||
ESPERAR 3000
|
ESPERAR 3000
|
||||||
FADEOUT
|
FADEOUT
|
||||||
|
END
|
||||||
|
|||||||
@@ -15,3 +15,4 @@ PRINT 29 29 1 'O ME COMPRAIS UNA PRECIOSA'
|
|||||||
PRINT 29 39 1 'CHAQUETA DE CUERO O NADA DE NADA'
|
PRINT 29 39 1 'CHAQUETA DE CUERO O NADA DE NADA'
|
||||||
ESPERAR 3000
|
ESPERAR 3000
|
||||||
FADEOUT
|
FADEOUT
|
||||||
|
END
|
||||||
|
|||||||
@@ -3,3 +3,4 @@ PRINT 159 19 0 'HI HA ALGU MES A QUI'
|
|||||||
PRINT 159 29 0 'ET TENS QUE ENFRONTAR!'
|
PRINT 159 29 0 'ET TENS QUE ENFRONTAR!'
|
||||||
ESPERAR 3000
|
ESPERAR 3000
|
||||||
FADEOUT
|
FADEOUT
|
||||||
|
END
|
||||||
|
|||||||
@@ -59,3 +59,4 @@ SHOW 'SEQ74.GIF'
|
|||||||
PRINT 169 129 0 'FINS LA PROXIMA.'
|
PRINT 169 129 0 'FINS LA PROXIMA.'
|
||||||
ESPERAR 5000
|
ESPERAR 5000
|
||||||
FADEOUT
|
FADEOUT
|
||||||
|
END
|
||||||
|
|||||||
@@ -46,3 +46,4 @@ PRINT 109 9 1 '"LA CAGAMOL!!!'
|
|||||||
PRINT 109 16 1 'AHORAL QUE HAGOL!"'
|
PRINT 109 16 1 'AHORAL QUE HAGOL!"'
|
||||||
ESPERAR 5000
|
ESPERAR 5000
|
||||||
FADEOUT
|
FADEOUT
|
||||||
|
END
|
||||||
|
|||||||
@@ -1,7 +1,6 @@
|
|||||||
#include "gamestates.h"
|
#include "gamestates.h"
|
||||||
#include "jgame.h"
|
#include "jgame.h"
|
||||||
#include "aux_font.h"
|
#include "aux_font.h"
|
||||||
#include "versio.h"
|
|
||||||
|
|
||||||
namespace gamestate
|
namespace gamestate
|
||||||
{
|
{
|
||||||
@@ -55,7 +54,9 @@ namespace gamestate
|
|||||||
|
|
||||||
draw::draw(fondo);
|
draw::draw(fondo);
|
||||||
|
|
||||||
font::print(277,192, versio);
|
#ifdef VERSION
|
||||||
|
font::print(277,192, VERSION);
|
||||||
|
#endif
|
||||||
|
|
||||||
draw::setSource(cursor);
|
draw::setSource(cursor);
|
||||||
draw::draw(x, y);
|
draw::draw(x, y);
|
||||||
|
|||||||
@@ -31,6 +31,9 @@ namespace gamestate
|
|||||||
void init()
|
void init()
|
||||||
{
|
{
|
||||||
exit = password::eixir::no;
|
exit = password::eixir::no;
|
||||||
|
for (int i=0; i<10; ++i) password[i] = 32;
|
||||||
|
password[10] = 0;
|
||||||
|
indice = 0;
|
||||||
|
|
||||||
// Carrega el gif del fondo
|
// Carrega el gif del fondo
|
||||||
fondo = draw::loadSurface("prefase.gif", true);
|
fondo = draw::loadSurface("prefase.gif", true);
|
||||||
@@ -115,6 +118,7 @@ namespace gamestate
|
|||||||
|
|
||||||
const int getFaseFromPassword()
|
const int getFaseFromPassword()
|
||||||
{
|
{
|
||||||
|
password[10] = 0;
|
||||||
int filesize = 0;
|
int filesize = 0;
|
||||||
const char *buffer = file::getFileBuffer("offsets.bal", &filesize);
|
const char *buffer = file::getFileBuffer("offsets.bal", &filesize);
|
||||||
|
|
||||||
@@ -126,10 +130,8 @@ namespace gamestate
|
|||||||
|
|
||||||
while ( numPassword < 30 && !salir ) {
|
while ( numPassword < 30 && !salir ) {
|
||||||
for (int i=0;i<10;i++) {
|
for (int i=0;i<10;i++) {
|
||||||
punter++;
|
passFile[i] = buffer[punter++] - (101+i);
|
||||||
passFile[i] = buffer[punter] - (101+i);
|
|
||||||
}
|
}
|
||||||
punter++;
|
|
||||||
|
|
||||||
salir = true;
|
salir = true;
|
||||||
for (int i=0;i<10;i++) {
|
for (int i=0;i<10;i++) {
|
||||||
|
|||||||
@@ -106,9 +106,10 @@ namespace gamestate
|
|||||||
{
|
{
|
||||||
char *buffer = file::getFileBuffer("offsets.bal");
|
char *buffer = file::getFileBuffer("offsets.bal");
|
||||||
|
|
||||||
int punter = (game::getConfig("fase")-1)*11;
|
int punter = (game::getConfig("fase")-1)*10;
|
||||||
char passFile[11];
|
char passFile[11];
|
||||||
for (int i=0;i<10;i++) passFile[i] = uint8_t(buffer[++punter]) - (101+i);
|
for (int i=0;i<10;i++) passFile[i] = uint8_t(buffer[punter++]) - (101+i);
|
||||||
|
passFile[10] = 0;
|
||||||
free(buffer);
|
free(buffer);
|
||||||
|
|
||||||
return passFile;
|
return passFile;
|
||||||
|
|||||||
@@ -79,7 +79,6 @@ namespace gamestate
|
|||||||
|
|
||||||
if (command=="ESPERAR") {
|
if (command=="ESPERAR") {
|
||||||
fscanf(sequence_file, "%i", &val);
|
fscanf(sequence_file, "%i", &val);
|
||||||
printf("ESPERAR %i\n", val);
|
|
||||||
wait_until = SDL_GetTicks() + val;
|
wait_until = SDL_GetTicks() + val;
|
||||||
|
|
||||||
} else if (command=="FADEIN") {
|
} else if (command=="FADEIN") {
|
||||||
@@ -108,6 +107,16 @@ namespace gamestate
|
|||||||
} else if (command=="FADEOUTMUSIC") {
|
} else if (command=="FADEOUTMUSIC") {
|
||||||
draw::fadeout();
|
draw::fadeout();
|
||||||
audio::fadeoutMusic();
|
audio::fadeoutMusic();
|
||||||
|
|
||||||
|
} else if (command=="END") {
|
||||||
|
fclose(sequence_file);
|
||||||
|
const int fase = game::getConfig("fase");
|
||||||
|
if ( fase == -1 || fase == 30) {
|
||||||
|
gamestate::menu::init();
|
||||||
|
} else {
|
||||||
|
gamestate::prefase::init();
|
||||||
|
}
|
||||||
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -104,8 +104,8 @@ namespace file
|
|||||||
|
|
||||||
// Variables
|
// Variables
|
||||||
// ===============================================================================================================================
|
// ===============================================================================================================================
|
||||||
static std::string resource_filename = ""; // Nom de l'arxiu de recursos
|
static std::string resource_filename = DEFAULT_FILENAME; // Nom de l'arxiu de recursos
|
||||||
static std::string resource_folder = ""; // Nom de la carpeta de recursos
|
static std::string resource_folder = DEFAULT_FOLDER; // Nom de la carpeta de recursos
|
||||||
static int file_source = SOURCE_FILE; // D'on anem a pillar els recursos, arxiu o carpeta
|
static int file_source = SOURCE_FILE; // D'on anem a pillar els recursos, arxiu o carpeta
|
||||||
static std::string config_folder; // Nom de la carpeta on guardar la configuració
|
static std::string config_folder; // Nom de la carpeta on guardar la configuració
|
||||||
std::vector<keyvalue_t> config; // Vector amb els valors guardats a l'arxiu de configuració
|
std::vector<keyvalue_t> config; // Vector amb els valors guardats a l'arxiu de configuració
|
||||||
@@ -131,7 +131,7 @@ namespace file
|
|||||||
file_source = src % 2; // mod 2 de forma que sempre es un valor vàlid, 0 (arxiu) o 1 (carpeta)
|
file_source = src % 2; // mod 2 de forma que sempre es un valor vàlid, 0 (arxiu) o 1 (carpeta)
|
||||||
|
|
||||||
// Si volem que busque en carpeta i encara no haviem especificat una carpeta, usem la per defecte
|
// Si volem que busque en carpeta i encara no haviem especificat una carpeta, usem la per defecte
|
||||||
if (src == SOURCE_FOLDER && resource_folder == "")
|
if (/*src == SOURCE_FOLDER && */resource_folder == "")
|
||||||
{
|
{
|
||||||
setResourceFolder(DEFAULT_FOLDER);
|
setResourceFolder(DEFAULT_FOLDER);
|
||||||
}
|
}
|
||||||
@@ -165,7 +165,7 @@ namespace file
|
|||||||
// Per a cada arxiu inclos en l'arxiu de recursos...
|
// Per a cada arxiu inclos en l'arxiu de recursos...
|
||||||
for (unsigned int i = 0; i < num_files; ++i)
|
for (unsigned int i = 0; i < num_files; ++i)
|
||||||
{
|
{
|
||||||
// Llegim en quina posició està i quant copua
|
// Llegim en quina posició està i quant ocupa
|
||||||
uint32_t file_offset, file_size;
|
uint32_t file_offset, file_size;
|
||||||
fi.read((char *)&file_offset, 4);
|
fi.read((char *)&file_offset, 4);
|
||||||
fi.read((char *)&file_size, 4);
|
fi.read((char *)&file_size, 4);
|
||||||
@@ -215,7 +215,7 @@ namespace file
|
|||||||
uint32_t count = 0;
|
uint32_t count = 0;
|
||||||
while (!found && count < toc.size())
|
while (!found && count < toc.size())
|
||||||
{
|
{
|
||||||
found = (resourcename == toc[count].path);
|
found = (resource_folder + resourcename == toc[count].path);
|
||||||
if (!found)
|
if (!found)
|
||||||
{
|
{
|
||||||
count++;
|
count++;
|
||||||
@@ -286,7 +286,7 @@ namespace file
|
|||||||
uint32_t count = 0;
|
uint32_t count = 0;
|
||||||
while (!found && count < toc.size())
|
while (!found && count < toc.size())
|
||||||
{
|
{
|
||||||
found = (resourcename == toc[count].path);
|
found = (resource_folder + resourcename == toc[count].path);
|
||||||
if (!found)
|
if (!found)
|
||||||
{
|
{
|
||||||
count++;
|
count++;
|
||||||
|
|||||||
@@ -1,3 +0,0 @@
|
|||||||
#pragma once
|
|
||||||
|
|
||||||
const char *versio = "v1.2.0";
|
|
||||||
Reference in New Issue
Block a user