@@ -22,6 +22,10 @@ list(APPEND FFMPEG_CONFIGURE
|
|||||||
"--enable-static"
|
"--enable-static"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
if(CMAKE_POSITION_INDEPENDENT_CODE)
|
||||||
|
list(APPEND FFMPEG_CONFIGURE "--enable-pic")
|
||||||
|
endif()
|
||||||
|
|
||||||
if(MACOSX)
|
if(MACOSX)
|
||||||
# TODO: Remove these two items when Mac OS X StepMania builds in 64-bit.
|
# TODO: Remove these two items when Mac OS X StepMania builds in 64-bit.
|
||||||
list(APPEND FFMPEG_CONFIGURE
|
list(APPEND FFMPEG_CONFIGURE
|
||||||
|
|||||||
@@ -0,0 +1,266 @@
|
|||||||
|
[Screen]
|
||||||
|
HelpText=&BACK; Keluar &START; Select &SELECT; Pilihan &MENULEFT;&MENURIGHT;&MENUUP;&MENUDOWN; Pindah
|
||||||
|
|
||||||
|
[ScreenWithMenuElements]
|
||||||
|
HelpText=&BACK; Keluar &START; Select &MENULEFT;&MENURIGHT; Pindah
|
||||||
|
StageCounter=%s Stage
|
||||||
|
EventStageCounter=Stage %03i
|
||||||
|
|
||||||
|
[ScreenTitleMenu]
|
||||||
|
HelpText=&BACK; Keluar &START; Select &MENUUP;&MENUDOWN; Pindah
|
||||||
|
Network OK=Jaringan OK
|
||||||
|
Offline=Luring
|
||||||
|
Connected to %s=Tersambung ke %s
|
||||||
|
CurrentGametype=Sedang bermain: %s
|
||||||
|
LifeDifficulty=Kesulitan Nyawa: %s
|
||||||
|
TimingDifficulty=Kesulitan Timing: %s
|
||||||
|
%i Lagu (%i Grup), %i Courses=%i Lagu (%i Grup), %i Kursus
|
||||||
|
|
||||||
|
[ScreenTitleJoin]
|
||||||
|
HelpText=Tekan &START; untuk Bermain
|
||||||
|
HelpTextJoin=Tekan &START; untuk Bermain
|
||||||
|
HelpTextWait=Masukan Kredit!
|
||||||
|
EventMode=Modus Acara
|
||||||
|
JointPremiumMain=Joint Premium
|
||||||
|
JointPremiumSecondary=Dua pemain dapat bermain dengan satu kredit!
|
||||||
|
DoublesPremiumMain=Premium Dobel
|
||||||
|
DoublesPremiumSecondary=Bermain Dobel untuk satu kredit!
|
||||||
|
|
||||||
|
[ScreenCaution]
|
||||||
|
HelpText=&START; Lanjut
|
||||||
|
|
||||||
|
[ScreenDemonstration]
|
||||||
|
Demonstration=Demonstrasi
|
||||||
|
%s - %s [dari %s]=%s - %s\n[dari %s]
|
||||||
|
|
||||||
|
[ScreenQuickSetupOverview]
|
||||||
|
Explanation=Setup Cepat memberikan cara mudah untuk mengatur ubahan-umum dan preferensi-preferensi berguna.
|
||||||
|
|
||||||
|
[ScreenProfileLoad]
|
||||||
|
HelpText=... Memuat profile, silahkan tunggu ...
|
||||||
|
|
||||||
|
[ScreenSelectProfile]
|
||||||
|
%d Lagu Dimainkan=%d Lagu telah dimainkan
|
||||||
|
%d Lagu Dimainkan=%d Lagu telah dimainkan
|
||||||
|
PressStart=Tekan &START; untuk bergabung.
|
||||||
|
HelpText=&MENUUP;&MENUDOWN; Ganti Profil &START; Pilih/Gabung &BACK; Cabut
|
||||||
|
|
||||||
|
[ScreenSelectMaster]
|
||||||
|
HelpText=&BACK; Keluar &START; Pilih / Gabung &MENULEFT;&MENURIGHT; Pindah
|
||||||
|
|
||||||
|
[ScreenSelectPlayMode]
|
||||||
|
HelpText=&BACK; Keluar &START; Pilih / Gabung &MENULEFT;&MENURIGHT; Pindah
|
||||||
|
EasyExplanation=Sebuah modus untuk Pemula.
|
||||||
|
HardExplanation= Untuk ahli.
|
||||||
|
OldNormalExplanation=Tak terlalu gampang, tak terlalu sulit.
|
||||||
|
NormalExplanation=Mainkan semua lagu favorit-mu!
|
||||||
|
RaveExplanation=Bertarung antar teman atau musuh.
|
||||||
|
NonstopExplanation=Beberapa lagu berturut-turut
|
||||||
|
OniExplanation=Sebuah tes skil yang sejati.
|
||||||
|
EndlessExplanation=Tak berhenti, terus berjalan.
|
||||||
|
|
||||||
|
[ScreenSelectPlayStyle]
|
||||||
|
HelpText=&BACK; Keluar &START; Pilih &MENULEFT;&MENURIGHT; Pindah
|
||||||
|
|
||||||
|
[ScreenGameInformation]
|
||||||
|
HelpText=&BACK; Keluar &START; Lewati
|
||||||
|
|
||||||
|
[ScreenSelectMusic]
|
||||||
|
NEW!=BARU!
|
||||||
|
Press Start For Options=Tekan &START; untuk Pilihan
|
||||||
|
Entering Options=Memasuki Pilihan
|
||||||
|
HelpText=&BACK; Keluar &START; Pilih / Gabung &SELECT; Kode Ajaib &MENULEFT;&MENURIGHT; Pindah::&AUXWHITE;+[KEY] Sortir ke [KEY]
|
||||||
|
AlternateHelpText=&SELECT;+&MENULEFT;&MENURIGHT; Ubah Kesulitan &SELECT;+&START; Sortir Cepat
|
||||||
|
|
||||||
|
[ScreenSelectCourse]
|
||||||
|
HelpText=&BACK; Keluar &START; Pilih / Gabung &SELECT; Kode Ajaib &MENULEFT;&MENURIGHT; Pindah::&UP;&DOWN;&UP;&DOWN; untuk tipe course yang lain
|
||||||
|
|
||||||
|
[ScreenOptions]
|
||||||
|
HelpText=&BACK; Keluar &START; Pilih &SELECT; Ke Atas &MENULEFT;&MENURIGHT;&MENUUP;&MENUDOWN; Pindah
|
||||||
|
Disqualified=Skor akan didiskualifikasi!
|
||||||
|
|
||||||
|
[ScreenStageInformation]
|
||||||
|
HelpText=
|
||||||
|
|
||||||
|
[ScreenGameplay]
|
||||||
|
GiveUpAbortedText=
|
||||||
|
GiveUpStartText=Tekan dua kali &START; untuk mengakses menu
|
||||||
|
GiveUpBackText=Tekan dua kali &BACK; untuk mengakses menu
|
||||||
|
SkipSongText=Tekan dua kali &SELECT; untuk mengakses menu
|
||||||
|
HelpText=
|
||||||
|
|
||||||
|
[PauseMenu]
|
||||||
|
continue_playing=Lanjutkan Bermain
|
||||||
|
end_course=Akhiri Course
|
||||||
|
forfeit_course=Tinggalkan Course
|
||||||
|
forfeit_song=Tinggalkan lagu
|
||||||
|
pause_count=Hitungan Tunda
|
||||||
|
restart_song=Mulai ulang Lagu
|
||||||
|
skip_song=Lewati Lagu
|
||||||
|
|
||||||
|
[ScreenHeartEntry]
|
||||||
|
Enter Heart Rate=Masukan Detak Jantung
|
||||||
|
Song Length=Panjang Lagu
|
||||||
|
Heart Rate=Detak Jantung
|
||||||
|
|
||||||
|
[ScreenEvaluation]
|
||||||
|
HelpText=&BACK; Keluar &START; Lanjutkan &MENULEFT;+&MENURIGHT; atau &SELECT; Ambil Gambar
|
||||||
|
LifeDifficulty=Kesulitan Nyawa: %s
|
||||||
|
TimingDifficulty=Kesulitan Timing: %s
|
||||||
|
MachineRecord=Rekor Mesin #%i!
|
||||||
|
PersonalRecord=Rekor Personal #%i!
|
||||||
|
ITG DP:=ITG DP:
|
||||||
|
MIGS DP:=MIGS DP:
|
||||||
|
|
||||||
|
[ScreenContinue]
|
||||||
|
HelpText=&START; Advance Timer
|
||||||
|
|
||||||
|
[OptionTitles]
|
||||||
|
AutoSetStyle=Auto Set Style
|
||||||
|
NotePosition=Posisi Not
|
||||||
|
ComboOnRolls=Rolls Increment Combo
|
||||||
|
ComboUnderField=Combo Under Field
|
||||||
|
|
||||||
|
GameplayShowScore=Tunjukan Skor
|
||||||
|
GameplayShowStepsDisplay=Tunjukan Steps
|
||||||
|
ShowLotsaOptions=Kepadatan Opsi
|
||||||
|
LongFail=Panjang Kegagalan
|
||||||
|
FlashyCombo=Kombo Berkedip-kedip
|
||||||
|
GameplayFooter=Gameplay Footer
|
||||||
|
FancyUIBG=Latar Belakang UI Indah
|
||||||
|
TimingDisplay=Layar Timing
|
||||||
|
|
||||||
|
[OptionExplanations]
|
||||||
|
AutoSetStyle=Memperbolehkan game untuk mengumpulan seluruh modus 1P dan 2P daripada satu style saja. Ini mungkin membutuhkan mulai ulang Stepmania (atau tekan Shift+F2).
|
||||||
|
NotePosition=Menentukan dimana reseptor panah diletakan pada saat bermain.
|
||||||
|
ComboOnRolls=Pilih apabila Gulir (Rolls) akan menambah Kombo atau tidak. Jika Anda mengubah pilihan ini, Anda butuh memuat ulang metrics-nya (via Shift+F2) supaya efek ini berlaku.
|
||||||
|
ComboUnderField=Menentukan Apabila Kombo harus terletak dibawah not atau tidak.
|
||||||
|
|
||||||
|
GameplayShowScore=Tunjukan atau Sembunyikan layar skor saat bermain.
|
||||||
|
GameplayShowStepsDisplay=Tunjukan atau Sembunyikan Informasi step saat bermain.
|
||||||
|
ShowLotsaOptions=Pilih Berapa banyak garis/baris pilihan untuk dipilih dari. &oq;Few&cq; Tetapkan daftar menjadi minimal. &oq;Many&cq; tambah berbagai mod-mod pamer.
|
||||||
|
LongFail=Pilih antara gagal sm-scc "Panjang" orisinil atau gagal "Pendek" diadopsi nanti.
|
||||||
|
FlashyCombo=Menentukan apabila kilat kombo harus ditunjukan atau tidak.
|
||||||
|
GameplayFooter=Jika menyala, Munculkan footer yang menghalangi penglihatan akan datangnya panah untuk di beberapa negara (Bingkai skor DDR).
|
||||||
|
FancyUIBG=Mati/Nyalakan latar belakang UI indah. "Mati (Off)" disarankan untuk komputer yang lama. Ubahan akan berlaku pada layar awal.
|
||||||
|
TimingDisplay=Mati/Nyalakan layar segmen timing pada meteran progres lagu.
|
||||||
|
|
||||||
|
ScoringType=Menetapkan metode skoring mana untuk digunakan. Jika Istimewa dipilih, Anda dapat memilih Modus Penskoran Istimewa (Special Scoring Mode) pada Opsi Tema.
|
||||||
|
|
||||||
|
Speed=Atur kelajuan panah berjalan terhadap target.
|
||||||
|
Accel=Ubah cara panah mendekati target.
|
||||||
|
Effect=Ubah ukuran atau gerakan dari panah dan/atau target.
|
||||||
|
Appearance=Kontrol penglihatan dari panah.
|
||||||
|
Turn=Ubah koreografi step dengan mengatur posisi panah.
|
||||||
|
Insert=Tambah not injak kedalam koreografi step.
|
||||||
|
Holds=Ubah beberapa not injak menjadi not tahan.
|
||||||
|
Mines=Tambah atau singkirkan not ranjau.
|
||||||
|
PlayerAutoPlay=Notefield bermain dengan sendirinya.
|
||||||
|
ScoreDisplay=Ubah cara skor terlihat.
|
||||||
|
ProTiming=Ubah cara Judgement terlihat.
|
||||||
|
Scroll=Atur arah aliran panah untuk menemui target.
|
||||||
|
NoteSkins=Pilih tampilan panah-panah yang berbeda.
|
||||||
|
Handicap=Menyingkirkan not-not. Penggunaan ini akan membatalkan skor tertinggi.
|
||||||
|
Hide=Gelap (Dark) menyembunyikan reseptor. Buta (Blind) menyembunyikan judgement. Tirai (Cover) menyembunyikan latar belakang.
|
||||||
|
Persp=Ubah sudut pandang dari aliran panah.
|
||||||
|
Steps=Atur tingkat kesulitan dari step-step.
|
||||||
|
Characters=Orang-orang berdansa.
|
||||||
|
SaveToProfileHelp=Membutuhkan profil atau kartu memori (memory card).
|
||||||
|
MusicRateHelp=Mainkan musik pada tingkat yang lebih cepat.
|
||||||
|
|
||||||
|
[StepsListDisplayRow StepsType]
|
||||||
|
Dance_Single=4
|
||||||
|
Dance_Double=8
|
||||||
|
Dance_Couple=8
|
||||||
|
Dance_Solo=6
|
||||||
|
Dance_Routine=8
|
||||||
|
Dance_Threepanel=3
|
||||||
|
Pump_Single=5
|
||||||
|
Pump_Double=10
|
||||||
|
Pump_Halfdouble=6
|
||||||
|
Pump_Couple=5
|
||||||
|
Pump_Routine=10
|
||||||
|
Kb7_Single=7
|
||||||
|
Ez2_Single=ES
|
||||||
|
Ez2_Double=ED
|
||||||
|
Ez2_Real=ER
|
||||||
|
Para_Single=PS
|
||||||
|
Ds3ddx_Single=XS
|
||||||
|
Bm_Single5=5
|
||||||
|
Bm_Double5=10
|
||||||
|
Bm_Single7=7
|
||||||
|
Bm_Double7=14
|
||||||
|
Maniax_Single=MS
|
||||||
|
Maniax_Double=MD
|
||||||
|
Techno_Single4=4
|
||||||
|
Techno_Single5=5
|
||||||
|
Techno_Single8=8
|
||||||
|
Techno_Double4=D4
|
||||||
|
Techno_Double5=D5
|
||||||
|
Techno_Double8=D8
|
||||||
|
Pnm_Five=5
|
||||||
|
Pnm_Nine=9
|
||||||
|
Guitar_Five=5
|
||||||
|
Karaoke=V
|
||||||
|
Lights_Cabinet=!
|
||||||
|
|
||||||
|
[ScreenHowToInstallSongs]
|
||||||
|
BodyHeader=Cara Mendapatkan dan Memasang Lagu untuk Stepmania
|
||||||
|
Finding Songs=Dimana untuk Mencari Lagu
|
||||||
|
Installing Songs=Cara Memasang Lagu
|
||||||
|
Importing Songs=Mengimpor dari instalasi2 Stepmania yang ada
|
||||||
|
Reload Songs=Muat ulang Lagu
|
||||||
|
Exit=Kembali ke Menu Awal
|
||||||
|
|
||||||
|
Explanation-WhereToFind=Luncurkan sebuah laman web dengan informasi dalam mencari lagu untuk digunakan pada Stepmania.
|
||||||
|
Explanation-HowToInstall=Luncurkan sebuah Laman web dengan instruksi-instruksi pemasangan lagu.
|
||||||
|
Explanation-AdditionalFolders=Apabila anda memiliki instalasi Stepmania yang lain, Anda dapat menggunakan preferensi AdditionalFolders untuk memuatnya pada Stepmania 5.
|
||||||
|
Explanation-ReloadSongs=Muat ulang lagu-lagu. Ini dibutuhkan apabila Anda telah menambahkan/mengubah/menghapus lagu selagi Stepmania sedang berjalan.
|
||||||
|
Explanation-Exit=Kembali ke menu awal.
|
||||||
|
|
||||||
|
[OptionNames]
|
||||||
|
Custom=Istimewa (Special)
|
||||||
|
Many=Banyak (Many)
|
||||||
|
Few=Sedikit (Few)
|
||||||
|
Normal=Normal
|
||||||
|
Lower=Rendah (Lower)
|
||||||
|
Short=Pendek (Short)
|
||||||
|
Long=Panjang (Long)
|
||||||
|
|
||||||
|
[ScreenTestInput]
|
||||||
|
HelpText=Tahan &BACK; atau &START; untuk Keluar.
|
||||||
|
|
||||||
|
[PaneDisplay]
|
||||||
|
Taps=Injak
|
||||||
|
Jumps=Loncat
|
||||||
|
Holds=Tahan
|
||||||
|
Mines=Ranjau
|
||||||
|
Hands=Tangan
|
||||||
|
Rolls=Gulir
|
||||||
|
Lifts=Angkat
|
||||||
|
Fakes=Palsu
|
||||||
|
S=S
|
||||||
|
V=V
|
||||||
|
A=A
|
||||||
|
F=F
|
||||||
|
C=C
|
||||||
|
|
||||||
|
[ScreenMapControllers]
|
||||||
|
Exit=Keluar
|
||||||
|
|
||||||
|
[ScreenGameOver]
|
||||||
|
GAME OVER=GAME OVER (Permainan Tamat)
|
||||||
|
Play again soon!=Main lagi nanti!
|
||||||
|
|
||||||
|
[ScreenHowToPlay]
|
||||||
|
How To Play StepMania=Cara bermain StepMania
|
||||||
|
Information=Informasi
|
||||||
|
|
||||||
|
Feet=Kaki Anda digungakan untuk bermain!
|
||||||
|
Tap=Saat panah menaik pada titik ini,\ninjak panel yang sesuai.
|
||||||
|
Jump=Injak pada kedua panel jika dua panah\nberbeda muncul bersamaan!
|
||||||
|
Miss=Jika Anda kelewat step-nya berulang kali, meteran \ndance Anda akan berkurang sampai\npermainan sudah tamat (Game Over)!
|
||||||
|
|
||||||
|
|
||||||
|
[Protiming]
|
||||||
|
MS=MD
|
||||||
Vendored
+1
-1
@@ -2,7 +2,7 @@ set(GLEW_SRC "glew-1.5.8/src/glew.c")
|
|||||||
|
|
||||||
source_group("" FILES ${GLEW_SRC})
|
source_group("" FILES ${GLEW_SRC})
|
||||||
|
|
||||||
add_library("glew" ${GLEW_SRC})
|
add_library("glew" STATIC ${GLEW_SRC})
|
||||||
|
|
||||||
set_property(TARGET "glew" PROPERTY FOLDER "External Libraries")
|
set_property(TARGET "glew" PROPERTY FOLDER "External Libraries")
|
||||||
|
|
||||||
|
|||||||
Vendored
+1
-1
@@ -16,7 +16,7 @@ list(APPEND JSON_HPP
|
|||||||
|
|
||||||
source_group("" FILES ${JSON_SRC} ${JSON_HPP})
|
source_group("" FILES ${JSON_SRC} ${JSON_HPP})
|
||||||
|
|
||||||
add_library("jsoncpp" ${JSON_SRC} ${JSON_HPP})
|
add_library("jsoncpp" STATIC ${JSON_SRC} ${JSON_HPP})
|
||||||
|
|
||||||
set_property(TARGET "jsoncpp" PROPERTY FOLDER "External Libraries")
|
set_property(TARGET "jsoncpp" PROPERTY FOLDER "External Libraries")
|
||||||
|
|
||||||
|
|||||||
Vendored
+1
-1
@@ -58,7 +58,7 @@ set(LUA_HPP
|
|||||||
source_group("" FILES ${LUA_SRC})
|
source_group("" FILES ${LUA_SRC})
|
||||||
source_group("" FILES ${LUA_HPP})
|
source_group("" FILES ${LUA_HPP})
|
||||||
|
|
||||||
add_library("lua-5.1" ${LUA_SRC} ${LUA_HPP})
|
add_library("lua-5.1" STATIC ${LUA_SRC} ${LUA_HPP})
|
||||||
|
|
||||||
set_property(TARGET "lua-5.1" PROPERTY FOLDER "External Libraries")
|
set_property(TARGET "lua-5.1" PROPERTY FOLDER "External Libraries")
|
||||||
|
|
||||||
|
|||||||
Vendored
+1
-1
@@ -43,7 +43,7 @@ source_group("Source Files" FILES ${MAD_SRC})
|
|||||||
source_group("Header Files" FILES ${MAD_HPP})
|
source_group("Header Files" FILES ${MAD_HPP})
|
||||||
source_group("Data Files" FILES ${MAD_DAT})
|
source_group("Data Files" FILES ${MAD_DAT})
|
||||||
|
|
||||||
add_library("mad" ${MAD_SRC} ${MAD_HPP} ${MAD_DAT})
|
add_library("mad" STATIC ${MAD_SRC} ${MAD_HPP} ${MAD_DAT})
|
||||||
|
|
||||||
set_property(TARGET "mad" PROPERTY FOLDER "External Libraries")
|
set_property(TARGET "mad" PROPERTY FOLDER "External Libraries")
|
||||||
|
|
||||||
|
|||||||
Vendored
+1
-1
@@ -14,7 +14,7 @@ list(APPEND OGG_HPP
|
|||||||
source_group("Source Files" FILES ${OGG_SRC})
|
source_group("Source Files" FILES ${OGG_SRC})
|
||||||
source_group("Header Files" FILES ${OGG_HPP})
|
source_group("Header Files" FILES ${OGG_HPP})
|
||||||
|
|
||||||
add_library("ogg" ${OGG_SRC} ${OGG_HPP} ${OGG_DAT})
|
add_library("ogg" STATIC ${OGG_SRC} ${OGG_HPP} ${OGG_DAT})
|
||||||
|
|
||||||
set_property(TARGET "ogg" PROPERTY FOLDER "External Libraries")
|
set_property(TARGET "ogg" PROPERTY FOLDER "External Libraries")
|
||||||
|
|
||||||
|
|||||||
Vendored
+1
-1
@@ -30,7 +30,7 @@ set(PNG_HPP
|
|||||||
source_group("" FILES ${PNG_SRC})
|
source_group("" FILES ${PNG_SRC})
|
||||||
source_group("" FILES ${PNG_HPP})
|
source_group("" FILES ${PNG_HPP})
|
||||||
|
|
||||||
add_library("png" ${PNG_SRC} ${PNG_HPP})
|
add_library("png" STATIC ${PNG_SRC} ${PNG_HPP})
|
||||||
|
|
||||||
set_property(TARGET "png" PROPERTY FOLDER "External Libraries")
|
set_property(TARGET "png" PROPERTY FOLDER "External Libraries")
|
||||||
|
|
||||||
|
|||||||
Vendored
+1
-1
@@ -265,7 +265,7 @@ list(APPEND TOMCRYPT_HPP
|
|||||||
|
|
||||||
source_group("headers" FILES ${TOMCRYPT_HPP})
|
source_group("headers" FILES ${TOMCRYPT_HPP})
|
||||||
|
|
||||||
add_library("tomcrypt" ${TOMCRYPT_SRC} ${TOMCRYPT_HPP})
|
add_library("tomcrypt" STATIC ${TOMCRYPT_SRC} ${TOMCRYPT_HPP})
|
||||||
|
|
||||||
set_property(TARGET "tomcrypt" PROPERTY FOLDER "External Libraries")
|
set_property(TARGET "tomcrypt" PROPERTY FOLDER "External Libraries")
|
||||||
|
|
||||||
|
|||||||
Vendored
+1
-1
@@ -131,7 +131,7 @@ list(APPEND TOMMATH_HPP
|
|||||||
source_group("" FILES ${TOMMATH_SRC})
|
source_group("" FILES ${TOMMATH_SRC})
|
||||||
source_group("" FILES ${TOMMATH_HPP})
|
source_group("" FILES ${TOMMATH_HPP})
|
||||||
|
|
||||||
add_library("tommath" ${TOMMATH_SRC} ${TOMMATH_HPP})
|
add_library("tommath" STATIC ${TOMMATH_SRC} ${TOMMATH_HPP})
|
||||||
|
|
||||||
set_property(TARGET "tommath" PROPERTY FOLDER "External Libraries")
|
set_property(TARGET "tommath" PROPERTY FOLDER "External Libraries")
|
||||||
|
|
||||||
|
|||||||
+5
-5
@@ -129,7 +129,7 @@ void BannerCache::LoadBanner( RString sBannerPath )
|
|||||||
{
|
{
|
||||||
/* The file doesn't exist. It's possible that the banner cache file is
|
/* The file doesn't exist. It's possible that the banner cache file is
|
||||||
* missing, so try to create it. Don't do this first, for efficiency. */
|
* missing, so try to create it. Don't do this first, for efficiency. */
|
||||||
LOG->Trace( "Cached banner load of '%s' ('%s') failed, trying to cache ...", sBannerPath.c_str(), sCachePath.c_str() );
|
//LOG->Trace( "Cached banner load of '%s' ('%s') failed, trying to cache ...", sBannerPath.c_str(), sCachePath.c_str() );
|
||||||
|
|
||||||
/* Skip the up-to-date check; it failed to load, so it can't be up
|
/* Skip the up-to-date check; it failed to load, so it can't be up
|
||||||
* to date. */
|
* to date. */
|
||||||
@@ -138,7 +138,7 @@ void BannerCache::LoadBanner( RString sBannerPath )
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
LOG->Trace( "Cached banner load of '%s' ('%s') failed", sBannerPath.c_str(), sCachePath.c_str() );
|
//LOG->Trace( "Cached banner load of '%s' ('%s') failed", sBannerPath.c_str(), sCachePath.c_str() );
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -272,7 +272,7 @@ RageTextureID BannerCache::LoadCachedBanner( RString sBannerPath )
|
|||||||
if( sBannerPath == "" )
|
if( sBannerPath == "" )
|
||||||
return ID;
|
return ID;
|
||||||
|
|
||||||
LOG->Trace( "BannerCache::LoadCachedBanner(%s): %s", sBannerPath.c_str(), ID.filename.c_str() );
|
//LOG->Trace( "BannerCache::LoadCachedBanner(%s): %s", sBannerPath.c_str(), ID.filename.c_str() );
|
||||||
|
|
||||||
/* Hack: make sure Banner::Load doesn't change our return value and end up
|
/* Hack: make sure Banner::Load doesn't change our return value and end up
|
||||||
* reloading. */
|
* reloading. */
|
||||||
@@ -308,8 +308,8 @@ RageTextureID BannerCache::LoadCachedBanner( RString sBannerPath )
|
|||||||
if( TEXTUREMAN->IsTextureRegistered(ID) )
|
if( TEXTUREMAN->IsTextureRegistered(ID) )
|
||||||
return ID; /* It's all set. */
|
return ID; /* It's all set. */
|
||||||
|
|
||||||
LOG->Trace( "Loading banner texture %s; src %ix%i; image %ix%i",
|
//LOG->Trace( "Loading banner texture %s; src %ix%i; image %ix%i",
|
||||||
ID.filename.c_str(), iSourceWidth, iSourceHeight, pImage->w, pImage->h );
|
// ID.filename.c_str(), iSourceWidth, iSourceHeight, pImage->w, pImage->h );
|
||||||
RageTexture *pTexture = new BannerTexture( ID, pImage, iSourceWidth, iSourceHeight );
|
RageTexture *pTexture = new BannerTexture( ID, pImage, iSourceWidth, iSourceHeight );
|
||||||
|
|
||||||
ID.Policy = RageTextureID::TEX_VOLATILE;
|
ID.Policy = RageTextureID::TEX_VOLATILE;
|
||||||
|
|||||||
+2
-2
@@ -413,8 +413,8 @@ void CubicSpline::p_and_tfrac_from_t(float t, bool loop, size_t& p, float& tfrac
|
|||||||
if(loop)
|
if(loop)
|
||||||
{
|
{
|
||||||
float max_t= static_cast<float>(m_points.size());
|
float max_t= static_cast<float>(m_points.size());
|
||||||
while(t >= max_t) { t-= max_t; }
|
t= std::fmod(t, max_t);
|
||||||
while(t < 0.0f) { t+= max_t; }
|
if(t < 0.0f) { t+= max_t; }
|
||||||
p= static_cast<size_t>(t);
|
p= static_cast<size_t>(t);
|
||||||
tfrac= t - static_cast<float>(p);
|
tfrac= t - static_cast<float>(p);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -169,6 +169,10 @@ namespace
|
|||||||
new_screen= after_screen;
|
new_screen= after_screen;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if(!SCREENMAN->IsScreenNameValid(new_screen))
|
||||||
|
{
|
||||||
|
new_screen= "ScreenInitialScreenIsInvalid";
|
||||||
|
}
|
||||||
SCREENMAN->SetNewScreen(new_screen);
|
SCREENMAN->SetNewScreen(new_screen);
|
||||||
|
|
||||||
g_NewTheme = RString();
|
g_NewTheme = RString();
|
||||||
|
|||||||
@@ -1102,7 +1102,7 @@ bool SMLoader::LoadNoteDataFromSimfile( const RString &path, Steps &out )
|
|||||||
|
|
||||||
bool SMLoader::LoadFromSimfile( const RString &sPath, Song &out, bool bFromCache )
|
bool SMLoader::LoadFromSimfile( const RString &sPath, Song &out, bool bFromCache )
|
||||||
{
|
{
|
||||||
LOG->Trace( "Song::LoadFromSMFile(%s)", sPath.c_str() );
|
//LOG->Trace( "Song::LoadFromSMFile(%s)", sPath.c_str() );
|
||||||
|
|
||||||
MsdFile msd;
|
MsdFile msd;
|
||||||
if( !msd.ReadFile( sPath, true ) ) // unescape
|
if( !msd.ReadFile( sPath, true ) ) // unescape
|
||||||
|
|||||||
@@ -940,7 +940,7 @@ bool SSCLoader::LoadNoteDataFromSimfile( const RString & cachePath, Steps &out )
|
|||||||
|
|
||||||
bool SSCLoader::LoadFromSimfile( const RString &sPath, Song &out, bool bFromCache )
|
bool SSCLoader::LoadFromSimfile( const RString &sPath, Song &out, bool bFromCache )
|
||||||
{
|
{
|
||||||
LOG->Trace( "Song::LoadFromSSCFile(%s)", sPath.c_str() );
|
//LOG->Trace( "Song::LoadFromSSCFile(%s)", sPath.c_str() );
|
||||||
|
|
||||||
MsdFile msd;
|
MsdFile msd;
|
||||||
if( !msd.ReadFile( sPath, true ) )
|
if( !msd.ReadFile( sPath, true ) )
|
||||||
|
|||||||
@@ -348,10 +348,10 @@ void RageBitmapTexture::Create()
|
|||||||
if( actualID.bStretch ) sProperties += "stretch ";
|
if( actualID.bStretch ) sProperties += "stretch ";
|
||||||
if( actualID.bDither ) sProperties += "dither ";
|
if( actualID.bDither ) sProperties += "dither ";
|
||||||
sProperties.erase( sProperties.size()-1 );
|
sProperties.erase( sProperties.size()-1 );
|
||||||
LOG->Trace( "RageBitmapTexture: Loaded '%s' (%ux%u); %s, source %d,%d; image %d,%d.",
|
//LOG->Trace( "RageBitmapTexture: Loaded '%s' (%ux%u); %s, source %d,%d; image %d,%d.",
|
||||||
actualID.filename.c_str(), GetTextureWidth(), GetTextureHeight(),
|
// actualID.filename.c_str(), GetTextureWidth(), GetTextureHeight(),
|
||||||
sProperties.c_str(), m_iSourceWidth, m_iSourceHeight,
|
// sProperties.c_str(), m_iSourceWidth, m_iSourceHeight,
|
||||||
m_iImageWidth, m_iImageHeight );
|
// m_iImageWidth, m_iImageHeight );
|
||||||
}
|
}
|
||||||
|
|
||||||
void RageBitmapTexture::Destroy()
|
void RageBitmapTexture::Destroy()
|
||||||
|
|||||||
+34
-47
@@ -595,60 +595,47 @@ void RageMatrixTranspose( RageMatrix* pOut, const RageMatrix* pIn )
|
|||||||
pOut->m[j][i] = pIn->m[i][j];
|
pOut->m[j][i] = pIn->m[i][j];
|
||||||
}
|
}
|
||||||
|
|
||||||
float RageFastSin( float x )
|
static const unsigned int sine_table_size= 1024;
|
||||||
|
static const unsigned int sine_index_mod= sine_table_size * 2;
|
||||||
|
static const double sine_table_index_mult= static_cast<double>(sine_index_mod) / (PI*2);
|
||||||
|
static float sine_table[sine_table_size];
|
||||||
|
struct sine_initter
|
||||||
{
|
{
|
||||||
// from 0 to PI
|
sine_initter()
|
||||||
// sizeof(table) == 4096 == one page of memory in Windows
|
|
||||||
static float table[1024];
|
|
||||||
|
|
||||||
static bool bInited = false;
|
|
||||||
if( !bInited )
|
|
||||||
{
|
{
|
||||||
bInited = true;
|
for(unsigned int i= 0; i < sine_table_size; ++i)
|
||||||
for( unsigned i=0; i<ARRAYLEN(table); i++ )
|
|
||||||
{
|
{
|
||||||
float z = SCALE(i,0,ARRAYLEN(table),0.0f,PI);
|
float angle= SCALE(i, 0, sine_table_size, 0.0f, PI);
|
||||||
table[i] = sinf(z);
|
sine_table[i]= sinf(angle);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
};
|
||||||
|
static sine_initter sinner;
|
||||||
|
|
||||||
// optimization
|
float RageFastSin(float angle)
|
||||||
if( x == 0 )
|
{
|
||||||
return 0;
|
if(angle == 0) { return 0; }
|
||||||
|
float index= angle * sine_table_index_mult;
|
||||||
float fIndex = SCALE( x, 0.0f, PI*2, 0, ARRAYLEN(table)*2 );
|
int first_index= static_cast<int>(index);
|
||||||
|
int second_index= (first_index + 1) % sine_index_mod;
|
||||||
// lerp using samples from the table
|
float remainder= index - first_index;
|
||||||
int iSampleIndex[2];
|
first_index%= sine_index_mod;
|
||||||
iSampleIndex[0] = (int)floorf(fIndex);
|
float first= 0.0f;
|
||||||
iSampleIndex[1] = iSampleIndex[0]+1;
|
float second= 0.0f;
|
||||||
|
#define SET_SAMPLE(sample) \
|
||||||
float fRemainder = fIndex - iSampleIndex[0];
|
if(sample##_index >= sine_table_size) \
|
||||||
for( unsigned i=0; i<ARRAYLEN(iSampleIndex); i++ )
|
{ \
|
||||||
iSampleIndex[i] %= ARRAYLEN(table) * 2;
|
sample= -sine_table[sample##_index - sine_table_size]; \
|
||||||
|
} \
|
||||||
DEBUG_ASSERT( fRemainder>=0 && fRemainder<=1 );
|
else \
|
||||||
|
{ \
|
||||||
float fValue[ARRAYLEN(iSampleIndex)];
|
sample= sine_table[sample##_index]; \
|
||||||
for( unsigned i=0; i<ARRAYLEN(iSampleIndex); i++ )
|
|
||||||
{
|
|
||||||
int &iSample = iSampleIndex[i];
|
|
||||||
float &fVal = fValue[i];
|
|
||||||
|
|
||||||
if( iSample >= int(ARRAYLEN(table)) ) // PI <= iSample < 2*PI
|
|
||||||
{
|
|
||||||
// sin(x) == -sin(PI+x)
|
|
||||||
iSample -= ARRAYLEN(table);
|
|
||||||
DEBUG_ASSERT( iSample>=0 && iSample<int(ARRAYLEN(table)) );
|
|
||||||
fVal = -table[iSample];
|
|
||||||
}
|
}
|
||||||
else
|
SET_SAMPLE(first);
|
||||||
{
|
SET_SAMPLE(second);
|
||||||
fVal = table[iSample];
|
#undef SET_SAMPLE
|
||||||
}
|
float result= lerp(remainder, first, second);
|
||||||
}
|
return result;
|
||||||
|
|
||||||
return SCALE( fRemainder, 0.0f, 1.0f, fValue[0], fValue[1] );
|
|
||||||
}
|
}
|
||||||
|
|
||||||
float RageFastCos( float x )
|
float RageFastCos( float x )
|
||||||
|
|||||||
@@ -233,7 +233,7 @@ void RageTextureManager::UnloadTexture( RageTexture *t )
|
|||||||
void RageTextureManager::DeleteTexture( RageTexture *t )
|
void RageTextureManager::DeleteTexture( RageTexture *t )
|
||||||
{
|
{
|
||||||
ASSERT( t->m_iRefCount == 0 );
|
ASSERT( t->m_iRefCount == 0 );
|
||||||
LOG->Trace( "RageTextureManager: deleting '%s'.", t->GetID().filename.c_str() );
|
//LOG->Trace( "RageTextureManager: deleting '%s'.", t->GetID().filename.c_str() );
|
||||||
|
|
||||||
map<RageTexture*, RageTextureID>::iterator id_entry=
|
map<RageTexture*, RageTextureID>::iterator id_entry=
|
||||||
m_texture_ids_by_pointer.find(t);
|
m_texture_ids_by_pointer.find(t);
|
||||||
|
|||||||
@@ -642,7 +642,7 @@ void ScreenManager::PrepareScreen( const RString &sScreenName )
|
|||||||
}
|
}
|
||||||
*/
|
*/
|
||||||
|
|
||||||
TEXTUREMAN->DiagnosticOutput();
|
//TEXTUREMAN->DiagnosticOutput();
|
||||||
}
|
}
|
||||||
|
|
||||||
void ScreenManager::GroupScreen( const RString &sScreenName )
|
void ScreenManager::GroupScreen( const RString &sScreenName )
|
||||||
|
|||||||
@@ -272,7 +272,7 @@ EventDevice::~EventDevice()
|
|||||||
|
|
||||||
InputHandler_Linux_Event::InputHandler_Linux_Event()
|
InputHandler_Linux_Event::InputHandler_Linux_Event()
|
||||||
{
|
{
|
||||||
m_NextDevice = DEVICE_JOY1;
|
m_NextDevice = DEVICE_JOY10;
|
||||||
m_bDevicesChanged = false;
|
m_bDevicesChanged = false;
|
||||||
|
|
||||||
if(LINUXINPUT == NULL) LINUXINPUT = new LinuxInputManager;
|
if(LINUXINPUT == NULL) LINUXINPUT = new LinuxInputManager;
|
||||||
|
|||||||
Reference in New Issue
Block a user