From 1ffa9bb30f0e8fc16266f0f5fffeecf84dbff883 Mon Sep 17 00:00:00 2001 From: IlDucci Date: Wed, 3 Feb 2021 19:41:17 +0100 Subject: [PATCH 01/12] Adding strings to re3's GXT, recompiling GXT files Contains the same new elements as #1017 --- gamefiles/TEXT/french.gxt | Bin 467752 -> 467876 bytes gamefiles/TEXT/german.gxt | Bin 459466 -> 459590 bytes gamefiles/TEXT/italian.gxt | Bin 456762 -> 456886 bytes gamefiles/TEXT/spanish.gxt | Bin 454498 -> 454562 bytes utils/gxt/french.txt | 14 ++++++++++++++ utils/gxt/german.txt | 14 ++++++++++++++ utils/gxt/italian.txt | 14 ++++++++++++++ utils/gxt/spanish.txt | 6 ++++++ 8 files changed, 48 insertions(+) diff --git a/gamefiles/TEXT/french.gxt b/gamefiles/TEXT/french.gxt index cff9f3dcb9367e017e435eb346b13601ebbfdd2f..bd9c658b68eb908a2592a174374975bf139222db 100644 GIT binary patch delta 1097 zcmY+?Pe>GT6bJCHyE9vn7*UkSf<_2Sq_lqwA)$Uwv+lUFGsDbm?t0lGAqxZv352B; z61+$V9TM?iAYr5sxTLp4EH4!uB=-#0_4sDNF@>Tf%f$$2+o?RjC%%zHcf;#~~dhn-(pp<73=;!=;^SCxq#=zD{zU zdZu{aIbn*|FACFB#0+6-V6-S9tr<*LDL%$+tFE2J-UA5(s-fBy7Ds(SELZ}~PXi~h zvJp6i+J4|3jDC}lVH$rnd}#RQlNgD}UYt*2^$6K?Rh>M0Qii6eicPcIIpsU=0#j#X zR5Zi2O-iaJWn@*aVKg+dreq!0#iAoaXG2AmCX^`zPM~}@a1yhR0;jO}Oh!&)IgN(x zz98plbNWf!GR!MXx3vMpUdpgCnobQ=P<`Vscn7ifWNmnukrzLaO`A^|n?HQ>oQY7x zi}Nl!T71)_vDHboO>Zh+&->>2OKIOcztxDqW{T>NahXe*FWZY5Q~l delta 998 zcmXxiO=#3W6bJCPZn7#=Eh6^dA{8nWskQr2DI(}JO}k^V$&zI4ZYf$kskA7f(86Mb z3f+TXLFhpQD-XhYePW;+=nmJrSnK?V%|Wa3(5S$;xEqZ%rNtyRbUliTN%ZW3-N3Zr);68EVHzH0S2!SD4v4fvI)&T` zJQqoQIh`ysYM5#q=7!}50k!)&*=)FKVnT0+W8=8%v2)b=Aa*SXPA$SFu45(?0RC-bo`gJ$Y~~0QCxJn zutOS?rh$X7=SEW*KPoNqI|iji{=H&~JZ6|aeDfS^gay;)8LC_mi<0eNMB65WMOucm z%dl%$;u0NKq{XK5)6&tVw^QVs-jK+de<>|;ZoHQkIX$Z>3Rndv;k)@KZQwsRf4F69 z^kNv_L9;D(mOk!_oujAwVau$pUt4~WeAu~swQHF|90%}k?#v#_Qy5w8K@h^i!2M$cN$YcVbZ2LFW}2DJ)kE7sLc&8G0uKu- zL}^g42M>}SI!Fi!3QATe*rAm0&_Nah>*PhSl3GamL;c>q8K{K^pZDJH_ul*cX5Ze8 zytx-CM@s2qAu!j~%qTE^!gmbVjQEZNsb=2^VC$UkcA)WM2wlw7GnCtz^i8=_8Q+vU za@9BG7H@Dn7Qd@;tmcwsQo?N6-=KuVW8ahznek1Rtv(}bx=OiNT@j{KR9_2IDmLDc zv-tv#+20~t%9at&g4dO|K{?d{Y6NNeSJW$qW^kak(AUb96|zCG@DK>XcX%Lq&hW zVkkZg9LLQ^ffIv4GC$c@wXwrEzCPHvMbCx5&1^8Jk=nN|CFF9s^U=Z%CcN@ z&I1OH$|z~3=U5c9eoBU})(S@PJXuq8*YmKGlwq*mK9xGOl?oig{9xcX9^4O1B~Qr6 zYAmZ!vj?7#vvfH9e$B|Rt}w&VdQg2T!%k}k6;Q&#qL}as)>p_{e?KEHuahl@cN%*Y zVIDKFE6l6xtP0b$7&sh;?O3(0JU=PSWi%VbN@`6GrrVSecJbzy$!{H-ut)#>3e%hSR`nA*|1>z jx8fj2yY4?R4&|h1ZlQ@pyQ6CjAsP}5d1F|90%}k?#w{sp+CA3be7nHF0P?-{D=9KBM?&oC7=9G)>C22~<*js5zg}+8FRW6B` z(NAQLMP20qq(7%%GQYlG`6?WUZ47V5^@Y!Z99DP8o=@-S)_;V{ZbX$v{wmXHv->od zW$KysR}U)Fe&cavx<$I6Obt{zH1t?5b2!iv3I{w2Y*a@z^m3O6G0S1|np!ZbbT4rp z+Yb^KF!M5TJHCI=P-K?48){#qDHGa;w3x)q7TJrqL(c4KuuN_SG`qB}*IkZ)^#eL$ z%Z&n$f}A5dY+i2|I7PNhJB%U>cj$0f{{W{64Rt4OLt!{^9{cYmF5uRE9VLsEEE@Lu zBXWs~)9=P(9o_}z1XeG`p6Kw4mO~B1xV|74q624%Yz+=Fa_0)!3&f-`@=;pEWH+Qm zm&?DU#kaM-*MJ{*^{JdYEG^vSHp-(J)$E6WfOTr>7 zhu1#YGi`B+%}`ntZN4lmiWaUK2zk&eVmfD~Ma=1E(jw;RqJfB2=p>4%Nt^T^w6^?^ zi+=hJYCDPB@NGA79@T$jn-4V3ze)XSo`2O+Y@BaCQ|oBhn!0I>PZ;BSUKryI+fx%g PO(}Xbdi1%TCgbOS{ww9T diff --git a/gamefiles/TEXT/italian.gxt b/gamefiles/TEXT/italian.gxt index 95758c8118d5f02a77597e4890e58e545b24d36a..2c2bd3bcfec12e6abbb77d662804402d32df7af9 100644 GIT binary patch delta 1120 zcmXxiT}TvB6bJCX?#v=oWDvcmWE8QOf%_qBq|x1RbjO{Y8D?hvLRtf%ARl}RC1DB$ zUqYmZC=e+$h{y<(j1nItK}f=<9)fh~DpkWE&}Fxh7|`&XQUHA)j8=TFwr2L0=AOU&A{N52r|sdbyDp_Mw)8(^U_pXx+YDv zCvS1PHa|<5Dm$<(D!@Z|g9>V&NmD^=L7EPG`<`s%bgIS6HDO+=d=#cq)PE-Ddx|_~ zXq#*^KU3&MdM5&nIpz4?cW#%5@n|n7FC6B^;T(`{hwcHd54j7LPdmjb6k$4T;5fNJ zJyU$RMw;S&gET!wQ(BrDsL~X)8x}Kl+Ovz>)qOXI>M;c!x~01Ti=%2>E?5E+4?-s~ zFdI6Bjg`>Nxc^B(mKprn(DGH7Ponfom``HxAKCVGlN>uxU}(DL((L9Hwd{gVuj!bI zz_5JRrlcRIROIw>!)UueHng1Q`|3uPS!A~fdJJDV!=BYTOu2MeT=-nO151-X{0xWdCvZ} zFz+(;TbL$|G@@`^yF8Vq6T&=y__Q$3e||m+mub33#$~b=WOdVsqc+1Aj%m?|N;)@B zi(@8BwzV98h|Nx6zNynM%s0*6h{Ds|4xY2|SeWOO=7o9A-B(fgtcOkl%q?M!-a+=_ zH?ioZ@1Xxr=mds#Lnl$aN6zWJjkg!qBCD|@FXk%IuCro$-dYSAuOB@-QVy8KPUc`r z+ObW{O1lMbaVP!rYQ=}~_0h@o(Te5u(aJk>^d<~2IP|w+L5D{d^+qd`;u`(=m*Jv7 hcRXo^Hmb5wPZ5XmE%;!Qt#uK)6uQ*q*1G87m;ZX`|Ih#c delta 998 zcmXxiPe>F|90%~P?abn#!b5aO4WkGXgZ7VBNA-G37W=Jg%Gon!A*ffS*wA0X8m1kYbKCK)KB+Wy+n(C{u1>Oqp^Y z-4OO%an|hJh6C53gz1Os1trXvlqsQHR;I%)ye69#r(B#_k)~A4zLlm_ls=I&!&gL1 z{Ttb3ekwnL>UsnQ%Qp7Me+qkI8*SS`W07TE3~Re&H%sq;u<5Q(FG-*1mc95K> zo@sykh%)VeKBY{zsGL=%28t;SmrRG*oN5jVd))Ud%uQh}%*>!4q!+D=R(*YfU z>G+;YLDvuKuy~_kyy+sFhL!VubR>1yY-ohjgbwwFj$>~ubOM!Ip_5p?rz2ysj7h^j z_mrHW;`G~^*WnH_+cW!dqNF36Hf?Gkz+71_L8fMp*9F^D823OaZ0orMd(d+s^+#pyTWm3W31Gzv2w;oGVL3L4@4trD~>p6{Tajz;&rI=Y0=J!l(kn^LH zJg4%JY%zDRI0pMu2r9Gv_{3LkhlkPFDfttdIdLrQk}aFofZgBRMbo97%73Kkw7zBq zYLVVd@dHt5if2zs(=7%P()0kMUqM*Rpz3No6hIVBcHyC)|sfj6^( zlTaQ8PNBULxEp=z3bIV+cSH7rFz>{4U6^;GyiK-T%^-Wf6zHm^I@G&?f5JtVYWIgx z(oNT~D5=&OMo#k|j9QGWtGR;f!tDveU?XE1btrW%a01>`;3Qt&4xGZZxiIoN%j?wa z*b{P|HmBd#voNd+%y9G!+7`pGv${bKDBhUL7E-rL1P?ag;NBVjCv4$Q$P7 zX>m;C$(EYqmsqle`KFai!hF-cs}U45C&P2z%?tCKrLr*3dHNy(myOa%z@eJ3O8>!3 z?6a7R(07n(1WsUdD{vC_HaVw_U0z-d-8|K@zOWBzjZLQW=JJ`?&cT+dAIMLdmbrYQ z_h)}o{Z7=Ije1QhQE%Vdg)S2eLo@)#mktY^B%4OYkI>reW^0IsLLF|90%~P?aU@oAi7bc2M->iR%rhyizxV<#@%sdXQtWN{DY9tp-aRb1ot3J zQRJS)s8fVcY~iKTN_r4dFzOK1!N{P0*d@>+Xo(1eesABKg@Mm|^ZUL(znur4+jl;- zFLVT3tr4(7!LSp6a!fi2be@n-0qdR8X`p&ax(Bd&BN$?~IYQYRebSVT4@*<_#e_6v zTP|^X4&Q6(X2XGFQ($#ozMw$=qBI3&A4=0^W6Na2)G3SHnlME%xG79g)L)VFV;6YM z^gFV{{GsAFTDBw5nA@1|_{i4vXfF-a!BL^&r@?7W? zHgAVcW4ji*2m8+y%kcz;t zeb1qyN~;P}Z(JCaIN8w5g6|{NtHNTV<2rSy-WNKF%v9(UE?*0s#+d~bd4uH*YWChD zIZunzZ|S}Y=RC7KBa5x73O8q1besTdkHvuB;La1WF)_i&l?}4v@lGT2TA0^VcZB&Z zl^?>?Y5a*q;d)M^E0v?dy#7m6VeeWR?$H%cd4(M!0!d z0v&m>qnZ2=C0Cd)I(<=?FS>dqih}NCdCk>Z!n~$*Png$CJ&M9-W3&_S=DDy&|G{AV zy%>zrcToQtI*H@oLZ{HOOE&d!tF{rDIaxa!-#b$4@B2B>w06C_Jl9=rTIntyczSm( R))t{hp+{YbwMFMY{0E(^=Ar-q diff --git a/utils/gxt/french.txt b/utils/gxt/french.txt index a7d011c3..a817ff41 100644 --- a/utils/gxt/french.txt +++ b/utils/gxt/french.txt @@ -14557,6 +14557,20 @@ L'heure est venue pour l'ange gardien des taxis Kaufman de froisser de la tôle! [TAX3_5:TAXIWA3] Hé mec, j'vais te bousiller ta caisse! +{ re3 updates } +{ new languages } +[FEL_JAP] +JAPONAIS + +[FEL_POL] +POLONAIS + +[FEL_RUS] +RUSSE + +[FEA_FMN] +RADIO ETEINTE + [DUMMY] THIS LABEL NEEDS TO BE HERE !!! AS THE LAST LABEL DOES NOT GET COMPILED \ No newline at end of file diff --git a/utils/gxt/german.txt b/utils/gxt/german.txt index 965db366..a2c86414 100644 --- a/utils/gxt/german.txt +++ b/utils/gxt/german.txt @@ -14557,6 +14557,20 @@ Wird Zeit, dass der Schutzengel von Kaufman-Taxis eine vor den Latz kriegt! [TAX3_5:TAXIWA3] Hey, Freundchen, dir zieh ich das Fell über die Ohren! +{ re3 updates } +{ new languages } +[FEL_JAP] +JAPANISCH + +[FEL_POL] +POLNISCH + +[FEL_RUS] +RUSSISCH + +[FEA_FMN] +RADIO AUS + [DUMMY] THIS LABEL NEEDS TO BE HERE !!! AS THE LAST LABEL DOES NOT GET COMPILED \ No newline at end of file diff --git a/utils/gxt/italian.txt b/utils/gxt/italian.txt index 7b02017f..84804cb3 100644 --- a/utils/gxt/italian.txt +++ b/utils/gxt/italian.txt @@ -14566,6 +14566,20 @@ La compagnia dei taxi d'ora in poi genererà introiti per un massimo di ~1~$. Ri [TAX3_5:TAXIWA3] Ehi ragazzo, ti abbronzo il fondoschiena! +{ re3 updates } +{ new languages } +[FEL_JAP] +GIAPPONESE + +[FEL_POL] +POLACCO + +[FEL_RUS] +RUSSO + +[FEA_FMN] +RADIO SPENTA + [DUMMY] THIS LABEL NEEDS TO BE HERE !!! AS THE LAST LABEL DOES NOT GET COMPILED \ No newline at end of file diff --git a/utils/gxt/spanish.txt b/utils/gxt/spanish.txt index 335c5d2c..836d062a 100644 --- a/utils/gxt/spanish.txt +++ b/utils/gxt/spanish.txt @@ -14366,6 +14366,12 @@ XBOX [FEC_IVP] INVERTIR VERTICALIDAD MANDO +[FEM_NON] +NADA + +[FEA_FMN] +RADIO APAGADA + { end of file } [DUMMY] THIS LABEL NEEDS TO BE HERE !!! From edc3c48e05ed5c466686075dac0f1bdf8093b7bf Mon Sep 17 00:00:00 2001 From: withmorten Date: Wed, 3 Feb 2021 20:28:34 +0100 Subject: [PATCH 02/12] add gamefiles and dlls to premake workflows --- .github/workflows/reVC_msvc_amd64.yml | 14 +++++++++++--- .github/workflows/reVC_msvc_x86.yml | 15 ++++++++++++--- 2 files changed, 23 insertions(+), 6 deletions(-) diff --git a/.github/workflows/reVC_msvc_amd64.yml b/.github/workflows/reVC_msvc_amd64.yml index 71e0ff1d..49a266b7 100644 --- a/.github/workflows/reVC_msvc_amd64.yml +++ b/.github/workflows/reVC_msvc_amd64.yml @@ -48,14 +48,22 @@ jobs: - name: Build run: | msbuild -m build/reVC.sln /property:Configuration=${{matrix.buildtype}} /property:Platform=${{matrix.platform}} - - name: Pack artifacts + # - name: Pack artifacts + # run: | + # 7z a reVC_${{matrix.buildtype}}_${{matrix.platform}}.zip ./bin/${{matrix.platform}}/${{matrix.buildtype}}/* + - name: Move binaries to gamefiles run: | - 7z a reVC_${{matrix.buildtype}}_${{matrix.platform}}.zip ./bin/${{matrix.platform}}/${{matrix.buildtype}}/* + mv ./bin/${{matrix.platform}}/${{matrix.buildtype}}/reVC.exe ./gamefiles/ + mv ./bin/${{matrix.platform}}/${{matrix.buildtype}}/reVC.pdb ./gamefiles/ + - name: Move dynamic dependencies to gamefiles + run: | + mv ./vendor/mpg123/dist/Win64/libmpg123-0.dll ./gamefiles/ + mv ./vendor/openal-soft/dist/Win64/OpenAL32.dll ./gamefiles/ - name: Upload artifact to actions uses: actions/upload-artifact@v2 with: name: reVC_${{matrix.buildtype}}_${{matrix.platform}} - path: ./bin/${{matrix.platform}}/${{matrix.buildtype}} + path: ./gamefiles/* # - name: Upload artifact to Bintray # uses: hpcsc/upload-bintray-docker-action@v1 # with: diff --git a/.github/workflows/reVC_msvc_x86.yml b/.github/workflows/reVC_msvc_x86.yml index f7484ec2..21b0dda9 100644 --- a/.github/workflows/reVC_msvc_x86.yml +++ b/.github/workflows/reVC_msvc_x86.yml @@ -48,14 +48,23 @@ jobs: - name: Build run: | msbuild -m build/reVC.sln /property:Configuration=${{matrix.buildtype}} /property:Platform=${{matrix.platform}} - - name: Pack artifacts + # - name: Pack artifacts + # run: | + # 7z a reVC_${{matrix.buildtype}}_${{matrix.platform}}.zip ./bin/${{matrix.platform}}/${{matrix.buildtype}}/* + - name: Move binaries to gamefiles run: | - 7z a reVC_${{matrix.buildtype}}_${{matrix.platform}}.zip ./bin/${{matrix.platform}}/${{matrix.buildtype}}/* + mv ./bin/${{matrix.platform}}/${{matrix.buildtype}}/reVC.exe ./gamefiles/ + mv ./bin/${{matrix.platform}}/${{matrix.buildtype}}/reVC.pdb ./gamefiles/ + - if: contains(matrix.platform, 'oal') + name: Move dynamic dependencies to gamefiles + run: | + mv ./vendor/mpg123/dist/Win32/libmpg123-0.dll ./gamefiles/ + mv ./vendor/openal-soft/dist/Win32/OpenAL32.dll ./gamefiles/ - name: Upload artifact to actions uses: actions/upload-artifact@v2 with: name: reVC_${{matrix.buildtype}}_${{matrix.platform}} - path: reVC_${{matrix.buildtype}}_${{matrix.platform}}.zip + path: ./gamefiles/* # - name: Upload artifact to Bintray # uses: hpcsc/upload-bintray-docker-action@v1 # with: From ca65c764197bcd065f101cdf7da7c48b286c8208 Mon Sep 17 00:00:00 2001 From: Nikolay Korolev Date: Wed, 3 Feb 2021 15:35:06 +0300 Subject: [PATCH 03/12] fix --- src/control/AutoPilot.cpp | 8 ++++---- src/control/AutoPilot.h | 4 ++-- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/control/AutoPilot.cpp b/src/control/AutoPilot.cpp index c956a6f1..d3de6ac2 100644 --- a/src/control/AutoPilot.cpp +++ b/src/control/AutoPilot.cpp @@ -52,8 +52,8 @@ void CAutoPilot::Save(uint8*& buf) WriteSaveBuf(buf, m_nCurrentRouteNode); WriteSaveBuf(buf, m_nNextRouteNode); WriteSaveBuf(buf, m_nPrevRouteNode); - WriteSaveBuf(buf, m_nTimeEnteredCurve); - WriteSaveBuf(buf, m_nTimeToSpendOnCurrentCurve); + WriteSaveBuf(buf, m_nTimeEnteredCurve); + WriteSaveBuf(buf, m_nTimeToSpendOnCurrentCurve); WriteSaveBuf(buf, m_nCurrentPathNodeInfo); WriteSaveBuf(buf, m_nNextPathNodeInfo); WriteSaveBuf(buf, m_nPreviousPathNodeInfo); @@ -95,8 +95,8 @@ void CAutoPilot::Load(uint8*& buf) m_nCurrentRouteNode = ReadSaveBuf(buf); m_nNextRouteNode = ReadSaveBuf(buf); m_nPrevRouteNode = ReadSaveBuf(buf); - m_nTimeEnteredCurve = ReadSaveBuf(buf); - m_nTimeToSpendOnCurrentCurve = ReadSaveBuf(buf); + m_nTimeEnteredCurve = ReadSaveBuf(buf); + m_nTimeToSpendOnCurrentCurve = ReadSaveBuf(buf); m_nCurrentPathNodeInfo = ReadSaveBuf(buf); m_nNextPathNodeInfo = ReadSaveBuf(buf); m_nPreviousPathNodeInfo = ReadSaveBuf(buf); diff --git a/src/control/AutoPilot.h b/src/control/AutoPilot.h index aa14ccdd..ec3bb8d8 100644 --- a/src/control/AutoPilot.h +++ b/src/control/AutoPilot.h @@ -64,8 +64,8 @@ public: int32 m_nCurrentRouteNode; int32 m_nNextRouteNode; int32 m_nPrevRouteNode; - uint32 m_nTimeEnteredCurve; - uint32 m_nTimeToSpendOnCurrentCurve; + int32 m_nTimeEnteredCurve; + int32 m_nTimeToSpendOnCurrentCurve; uint32 m_nCurrentPathNodeInfo; uint32 m_nNextPathNodeInfo; uint32 m_nPreviousPathNodeInfo; From ca48ebcb6e22b17e217afc8661c572f83827b83d Mon Sep 17 00:00:00 2001 From: erorcun Date: Wed, 3 Feb 2021 23:03:00 +0300 Subject: [PATCH 04/12] MP3 player fixes --- src/audio/sampman_oal.cpp | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/src/audio/sampman_oal.cpp b/src/audio/sampman_oal.cpp index 2091fb05..ae4b1cbb 100644 --- a/src/audio/sampman_oal.cpp +++ b/src/audio/sampman_oal.cpp @@ -1908,6 +1908,9 @@ cSampleManager::StopStreamedFile(uint8 nStream) { delete stream; aStream[nStream] = NULL; + + if ( nStream == 0 ) + _bIsMp3Active = false; } } @@ -1920,7 +1923,21 @@ cSampleManager::GetStreamedFilePosition(uint8 nStream) if ( stream ) { - return stream->GetPosMS(); + if ( _bIsMp3Active ) + { + tMP3Entry *mp3 = _GetMP3EntryByIndex(_CurMP3Index); + + if ( mp3 != NULL ) + { + return stream->GetPosMS() + mp3->nTrackStreamPos; + } + else + return 0; + } + else + { + return stream->GetPosMS(); + } } return 0; From bba01a42e10de9a2a30acdfe96610482cae3ef87 Mon Sep 17 00:00:00 2001 From: withmorten Date: Wed, 3 Feb 2021 21:40:04 +0100 Subject: [PATCH 05/12] sync readme with master --- README.md | 66 +++++++++++++++++++++++++++++++++++++++++++++---------- 1 file changed, 54 insertions(+), 12 deletions(-) diff --git a/README.md b/README.md index a51bc65c..f69c8512 100644 --- a/README.md +++ b/README.md @@ -13,27 +13,69 @@ The aim of this project is to reverse GTA Vice City for PC. - (Optional) If you want to use optional features, copy the files in /gamefiles folder to your game root folder. - Move reVC.exe to GTA VC directory and run it. -## Preparing the environment for building +## Latest standalone executables to download -You may want to point GTA_VC_RE_DIR environment variable to GTA VC root folder if you want executable to be moved there via post-build script. +(Put content of selected archive into gamedir) -- For Linux, proceed: [Building on Linux](https://github.com/GTAmodding/re3/wiki/Building-on-Linux) -- For FreeBSD, proceed: [Building on FreeBSD](https://github.com/GTAmodding/re3/wiki/Building-on-FreeBSD) -- For Windows, assuming you have Visual Studio: - - Clone the repo using the argument `--recursive`. - - Run one of the `premake-vsXXXX.cmd` variants on root folder. - - Open the project via Visual Studio +- [Windows D3D9 MSS 32bit](https://nightly.link/GTAmodding/re3/workflows/reVC_msvc_x86/miami/reVC_Release_win-x86-librw_d3d9-mss.zip) +- [Windows D3D9 64bit](https://nightly.link/GTAmodding/re3/workflows/reVC_msvc_amd64/miami/reVC_Release_win-amd64-librw_d3d9-oal.zip) +- [Windows OpenGL 64bit](https://nightly.link/GTAmodding/re3/workflows/reVC_msvc_amd64/miami/reVC_Release_win-amd64-librw_gl3_glfw-oal.zip) +- [Linux 64bit](https://nightly.link/GTAmodding/re3/workflows/build-cmake-conan/miami/ubuntu-latest-gl3.zip) +- [MacOS 64bit](https://nightly.link/GTAmodding/re3/workflows/build-cmake-conan/miami/macos-latest-gl3.zip) + +## Building from Source + +When using premake, you may want to point GTA_VC_RE_DIR environment variable to GTA Vice City root folder, if you want executable to be moved there via post-build script. + +
Linux Premake + +For Linux using premake, proceed: [Building on Linux](https://github.com/GTAmodding/re3/wiki/Building-on-Linux) + +
+ +
Linux Conan + +Obtain source code. +``` +git clone https://github.com/GTAmodding/re3.git reVC -b miami +cd reVC +git submodule init +git submodule update --recursive +``` +Install python and conan, and then run build. +``` +conan export vendor/librw librw/master@ +mkdir build +cd build +conan install .. reVC/master@ -if build -o reVC:audio=openal -o librw:platform=gl3 -o librw:gl3_gfxlib=glfw --build missing -s reVC:build_type=RelWithDebInfo -s librw:build_type=RelWithDebInfo +conan build .. -if build -bf build -pf package +``` +
+ +
FreeBSD + +For FreeBSD using premake, proceed: [Building on FreeBSD](https://github.com/GTAmodding/re3/wiki/Building-on-FreeBSD) + +
+ +
Windows + +Assuming you have Visual Studio: +- Clone the repo using the argument `--recursive`. +- Run one of the `premake-vsXXXX.cmd` variants on root folder. +- Open the project via Visual Studio **If you use 64-bit D3D9**: We don't ship 64-bit Dx9 SDK. You need to download it from Microsoft if you don't have it(although it should come pre-installed after some Windows version) -There are various settings at the very bottom of [config.h](https://github.com/GTAmodding/re3/tree/miami/src/core/config.h), you may want to take a look there. i.e. FIX_BUGS define fixes the bugs we've come across. +**If you choose OpenAL on Windows** You must read [Running OpenAL build on Windows](https://github.com/GTAmodding/re3/wiki/Running-OpenAL-build-on-Windows). +
-> :information_source: **If you choose OpenAL on Windows** You must read [Running OpenAL build on Windows](https://github.com/GTAmodding/re3/wiki/Running-OpenAL-build-on-Windows). +> :information_source: There are various settings in [config.h](https://github.com/GTAmodding/re3/tree/miami/src/core/config.h), you may want to take a look there. i.e. FIX_BUGS define fixes the bugs we've come across. -> :information_source: **Did you notice librw?** reVC uses completely homebrew RenderWare-replacement rendering engine; [librw](https://github.com/aap/librw/). librw comes as submodule of reVC, but you also can use LIBRW enviorenment variable to specify path to your own librw. +> :information_source: **Did you notice librw?** reVC uses completely homebrew RenderWare-replacement rendering engine; [librw](https://github.com/aap/librw/). librw comes as submodule of re3, but you also can use LIBRW enviorenment variable to specify path to your own librw. ## Contributing -Please read the [Coding Style](https://github.com/GTAmodding/re3/blob/master/CODING_STYLE.md) Document +Please read the [Coding Style](https://github.com/GTAmodding/re3/blob/miami/CODING_STYLE.md) Document ### Unreversed / incomplete classes From 1525b105e2d107bd7392a17ed17cac561e0493a1 Mon Sep 17 00:00:00 2001 From: withmorten Date: Wed, 3 Feb 2021 23:26:19 +0100 Subject: [PATCH 06/12] reduce warnings in msvc librw build --- premake5.lua | 1 + 1 file changed, 1 insertion(+) diff --git a/premake5.lua b/premake5.lua index f2e6a71f..f49e024c 100644 --- a/premake5.lua +++ b/premake5.lua @@ -204,6 +204,7 @@ project "librw" architecture "amd64" filter "platforms:win*" + defines { "_CRT_SECURE_NO_WARNINGS", "_CRT_NONSTDC_NO_DEPRECATE" } staticruntime "on" buildoptions { "/Zc:sizedDealloc-" } From 958c828a2c8ec55dbaa9fecb4712a5964d2d7adc Mon Sep 17 00:00:00 2001 From: withmorten Date: Thu, 4 Feb 2021 01:42:42 +0100 Subject: [PATCH 07/12] readme fix --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index f69c8512..84713f99 100644 --- a/README.md +++ b/README.md @@ -72,7 +72,7 @@ Assuming you have Visual Studio: > :information_source: There are various settings in [config.h](https://github.com/GTAmodding/re3/tree/miami/src/core/config.h), you may want to take a look there. i.e. FIX_BUGS define fixes the bugs we've come across. -> :information_source: **Did you notice librw?** reVC uses completely homebrew RenderWare-replacement rendering engine; [librw](https://github.com/aap/librw/). librw comes as submodule of re3, but you also can use LIBRW enviorenment variable to specify path to your own librw. +> :information_source: **Did you notice librw?** reVC uses completely homebrew RenderWare-replacement rendering engine; [librw](https://github.com/aap/librw/). librw comes as submodule of reVC, but you also can use LIBRW enviorenment variable to specify path to your own librw. ## Contributing Please read the [Coding Style](https://github.com/GTAmodding/re3/blob/miami/CODING_STYLE.md) Document From 42342745f3e8506be79b4ebc8eb5bfe5982818ba Mon Sep 17 00:00:00 2001 From: withmorten Date: Thu, 4 Feb 2021 18:29:47 +0100 Subject: [PATCH 08/12] CHud::Draw fix --- src/render/Hud.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/render/Hud.cpp b/src/render/Hud.cpp index ba7d52db..91503917 100644 --- a/src/render/Hud.cpp +++ b/src/render/Hud.cpp @@ -1140,18 +1140,18 @@ void CHud::Draw() if (IntroRect.m_nTextureId >= 0) { CRect rect ( IntroRect.m_sRect.left, - IntroRect.m_sRect.top, + IntroRect.m_sRect.bottom, IntroRect.m_sRect.right, - IntroRect.m_sRect.bottom ); + IntroRect.m_sRect.top ); CTheScripts::ScriptSprites[IntroRect.m_nTextureId].Draw(rect, IntroRect.m_sColor); } else { CRect rect ( IntroRect.m_sRect.left, - IntroRect.m_sRect.top, + IntroRect.m_sRect.bottom, IntroRect.m_sRect.right, - IntroRect.m_sRect.bottom ); + IntroRect.m_sRect.top ); CSprite2d::DrawRect(rect, IntroRect.m_sColor); } From 8553120fdbfd74eb2d1609326acbdd8aaa382bea Mon Sep 17 00:00:00 2001 From: withmorten Date: Thu, 4 Feb 2021 19:47:47 +0100 Subject: [PATCH 09/12] add missing ASCII_STRCMP stuff --- src/core/config.h | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/core/config.h b/src/core/config.h index e75cdfb0..cc82f8d6 100644 --- a/src/core/config.h +++ b/src/core/config.h @@ -251,6 +251,12 @@ enum Config { #define FIX_BUGS_64 // Must have fixes to be able to run 64 bit build #endif +#define ASCII_STRCMP // use faster ascii str comparisons + +#if !defined _WIN32 || defined __MWERKS__ || defined __MINGW32__ || defined VANILLA_DEFINES +#undef ASCII_STRCMP +#endif + // Just debug menu entries #ifdef DEBUGMENU #define RELOADABLES // some debug menu options to reload TXD files From a78212ea800fe1919d5380beb25514e3887bcdea Mon Sep 17 00:00:00 2001 From: withmorten Date: Thu, 4 Feb 2021 23:43:04 +0100 Subject: [PATCH 10/12] fix MASTER crashes --- src/core/common.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/core/common.h b/src/core/common.h index 75ba8863..d39531cc 100644 --- a/src/core/common.h +++ b/src/core/common.h @@ -355,7 +355,7 @@ __inline__ void TRACE(char *f, ...) { } // this is re3 only, and so the function #ifndef MASTER #define assert(_Expression) (void)( (!!(_Expression)) || (re3_assert(#_Expression, __FILE__, __LINE__, __FUNCTION__), 0) ) #else -#define assert(_Expression) +#define assert(_Expression) (_Expression) #endif #define ASSERT assert From 09de511c37c32e13af3f72ded7f0f9e19f395ae2 Mon Sep 17 00:00:00 2001 From: Nikolay Korolev Date: Fri, 5 Feb 2021 11:31:54 +0300 Subject: [PATCH 11/12] fixed plane AI --- src/control/CarCtrl.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/control/CarCtrl.cpp b/src/control/CarCtrl.cpp index c6d78882..d05d9827 100644 --- a/src/control/CarCtrl.cpp +++ b/src/control/CarCtrl.cpp @@ -2757,7 +2757,7 @@ void CCarCtrl::SteerAIPlaneTowardsTargetCoors(CAutomobile* pPlane) up.Normalise(); CVector forward(Cos(pPlane->m_fOrientation), Sin(pPlane->m_fOrientation), fForwardZ); forward.Normalise(); - CVector right = CrossProduct(forward, up); + CVector right = CrossProduct(up, forward); right.z -= 5.0f * pPlane->m_fPlaneSteer; right.Normalise(); up = CrossProduct(forward, right); From 102d105e0a50f829c6085a2e95082aedb7727b41 Mon Sep 17 00:00:00 2001 From: Nikolay Korolev Date: Fri, 5 Feb 2021 14:45:03 +0300 Subject: [PATCH 12/12] fix --- src/control/Script7.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/control/Script7.cpp b/src/control/Script7.cpp index 34a364a7..71099cc4 100644 --- a/src/control/Script7.cpp +++ b/src/control/Script7.cpp @@ -431,12 +431,12 @@ int8 CRunningScript::ProcessCommands1200To1299(int32 command) CPed* pPed = CPools::GetPedPool()->GetAt(ScriptParams[0]); script_assert(pPed); if (ScriptParams[1]) { - pPed->bIsDucking = true; + pPed->bCrouchWhenShooting = true; pPed->SetDuck(ScriptParams[2], true); } else { pPed->ClearDuck(true); - pPed->bIsDucking = false; + pPed->bCrouchWhenShooting = false; } return 0; }