mirror of
				https://github.com/KartKrewDev/RingRacers.git
				synced 2025-10-30 08:01:28 +00:00 
			
		
		
		
	Merge public master
This commit is contained in:
		
						commit
						a2d11a61f1
					
				
					 6 changed files with 40 additions and 28 deletions
				
			
		|  | @ -17,9 +17,12 @@ Debian testing GCC: | |||
|     name: "$CI_PROJECT_PATH_SLUG-$CI_COMMIT_REF_SLUG-$CI_COMMIT_SHORT_SHA-testing-gcc" | ||||
| 
 | ||||
|   variables: | ||||
|     CC: gcc | ||||
|     CXX: g++ | ||||
|     LDFLAGS: -Wl,-fuse-ld=gold | ||||
|     CC: /usr/bin/x86_64-linux-gnu-gcc | ||||
|     CXX: /usr/bin/x86_64-linux-gnu-g++ | ||||
|     OBJCOPY: /usr/bin/x86_64-linux-gnu-objcopy | ||||
|     OBJDUMP: /usr/bin/x86_64-linux-gnu-objdump | ||||
|     PKG_CONFIG_PATH: /usr/lib/x86_64-linux-gnu/pkgconfig | ||||
|     LD: /usr/bin/x86_64-linux-gnu-ld | ||||
| 
 | ||||
|   script: | ||||
|     - - | | ||||
|  |  | |||
|  | @ -5,6 +5,8 @@ Windows x64: | |||
| 
 | ||||
|   when: manual | ||||
| 
 | ||||
|   timeout: 2h | ||||
| 
 | ||||
|   allow_failure: true | ||||
| 
 | ||||
|   artifacts: | ||||
|  |  | |||
|  | @ -5,6 +5,8 @@ Windows x86: | |||
| 
 | ||||
|   when: on_success | ||||
| 
 | ||||
|   timeout: 2h | ||||
| 
 | ||||
|   cache: | ||||
|     - key: ccache-$CI_JOB_NAME_SLUG-$CI_COMMIT_REF_SLUG | ||||
|       fallback_keys: | ||||
|  |  | |||
|  | @ -1762,7 +1762,7 @@ static void HWR_ProcessSeg(void) // Sort of like GLWall::Process in GZDoom | |||
| 						if (rover->alpha < 256 || rover->blend) | ||||
| 						{ | ||||
| 							blendmode = HWR_GetBlendModeFlag(rover->blend); | ||||
| 							Surf.PolyColor.s.alpha = (UINT8)(rover->alpha-1); | ||||
| 							Surf.PolyColor.s.alpha = max(0, min(rover->alpha, 255)); | ||||
| 						} | ||||
| 					} | ||||
| 
 | ||||
|  | @ -1891,7 +1891,7 @@ static void HWR_ProcessSeg(void) // Sort of like GLWall::Process in GZDoom | |||
| 						if (rover->alpha < 256 || rover->blend) | ||||
| 						{ | ||||
| 							blendmode = HWR_GetBlendModeFlag(rover->blend); | ||||
| 							Surf.PolyColor.s.alpha = (UINT8)(rover->alpha-1); | ||||
| 							Surf.PolyColor.s.alpha = max(0, min(rover->alpha, 255)); | ||||
| 						} | ||||
| 					} | ||||
| 
 | ||||
|  | @ -2636,7 +2636,7 @@ static void HWR_Subsector(size_t num) | |||
| 										   false, | ||||
| 					                       *rover->bottomheight, | ||||
| 					                       *gl_frontsector->lightlist[light].lightlevel, | ||||
| 					                       rover->alpha-1, rover->master->frontsector, blendmode, | ||||
| 										   max(0, min(rover->alpha, 255)), rover->master->frontsector, blendmode, | ||||
| 					                       false, *gl_frontsector->lightlist[light].extra_colormap); | ||||
| 				} | ||||
| 				else | ||||
|  | @ -2684,7 +2684,7 @@ static void HWR_Subsector(size_t num) | |||
| 											true, | ||||
| 					                        *rover->topheight, | ||||
| 					                        *gl_frontsector->lightlist[light].lightlevel, | ||||
| 					                        rover->alpha-1, rover->master->frontsector, blendmode, | ||||
| 											max(0, min(rover->alpha, 255)), rover->master->frontsector, blendmode, | ||||
| 					                        false, *gl_frontsector->lightlist[light].extra_colormap); | ||||
| 				} | ||||
| 				else | ||||
|  |  | |||
|  | @ -724,6 +724,8 @@ static int player_get(lua_State *L) | |||
| 		lua_pushinteger(L, plr->griefWarned);		 | ||||
| 	else if (fastcmp(field,"splitscreenindex")) | ||||
| 		lua_pushinteger(L, plr->splitscreenindex); | ||||
| 	else if (fastcmp(field,"whip")) | ||||
| 		LUA_PushUserdata(L, plr->whip, META_MOBJ); | ||||
| #ifdef HWRENDER | ||||
| 	else if (fastcmp(field,"fovadd")) | ||||
| 		lua_pushfixed(L, plr->fovadd); | ||||
|  | @ -1321,6 +1323,13 @@ static int player_set(lua_State *L) | |||
| 		plr->griefWarned = luaL_checkinteger(L, 3); | ||||
| 	else if (fastcmp(field,"splitscreenindex")) | ||||
| 		return NOSET; | ||||
| 	else if (fastcmp(field,"whip")) | ||||
| 	{ | ||||
| 		mobj_t *mo = NULL; | ||||
| 		if (!lua_isnil(L, 3)) | ||||
| 			mo = *((mobj_t **)luaL_checkudata(L, 3, META_MOBJ)); | ||||
| 		P_SetTarget(&plr->whip, mo); | ||||
| 	} | ||||
| #ifdef HWRENDER | ||||
| 	else if (fastcmp(field,"fovadd")) | ||||
| 		plr->fovadd = luaL_checkfixed(L, 3); | ||||
|  |  | |||
							
								
								
									
										38
									
								
								src/p_spec.c
									
										
									
									
									
								
							
							
						
						
									
										38
									
								
								src/p_spec.c
									
										
									
									
									
								
							|  | @ -3883,19 +3883,18 @@ boolean P_ProcessSpecial(activator_t *activator, INT16 special, INT32 *args, cha | |||
| 						foundrover = true; | ||||
| 
 | ||||
| 						// If fading an invisible FOF whose render flags we did not yet set,
 | ||||
| 						// initialize its alpha to 1
 | ||||
| 						// for relative alpha calc
 | ||||
| 						// initialize its alpha to 0 for relative alpha calculation
 | ||||
| 						if (!(args[3] & TMST_DONTDOTRANSLUCENT) &&      // do translucent
 | ||||
| 							(rover->spawnflags & FOF_NOSHADE) && // do not include light blocks, which don't set FOF_NOSHADE
 | ||||
| 							!(rover->spawnflags & FOF_RENDERSIDES) && | ||||
| 							!(rover->spawnflags & FOF_RENDERPLANES) && | ||||
| 							!(rover->fofflags & FOF_RENDERALL)) | ||||
| 							rover->alpha = 1; | ||||
| 							rover->alpha = 0; | ||||
| 
 | ||||
| 						P_RemoveFakeFloorFader(rover); | ||||
| 						P_FadeFakeFloor(rover, | ||||
| 							rover->alpha, | ||||
| 							max(1, min(256, (args[3] & TMST_RELATIVE) ? rover->alpha + destvalue : destvalue)), | ||||
| 							max(0, min(255, (args[3] & TMST_RELATIVE) ? rover->alpha + destvalue : destvalue)), | ||||
| 							0,                                         // set alpha immediately
 | ||||
| 							false, NULL,                               // tic-based logic
 | ||||
| 							false,                                     // do not handle FOF_EXISTS
 | ||||
|  | @ -3969,19 +3968,18 @@ boolean P_ProcessSpecial(activator_t *activator, INT16 special, INT32 *args, cha | |||
| 						else | ||||
| 						{ | ||||
| 							// If fading an invisible FOF whose render flags we did not yet set,
 | ||||
| 							// initialize its alpha to 1
 | ||||
| 							// for relative alpha calc
 | ||||
| 							// initialize its alpha to 0 for relative alpha calculation
 | ||||
| 							if (!(args[4] & TMFT_DONTDOTRANSLUCENT) &&      // do translucent
 | ||||
| 								(rover->spawnflags & FOF_NOSHADE) && // do not include light blocks, which don't set FOF_NOSHADE
 | ||||
| 								!(rover->spawnflags & FOF_RENDERSIDES) && | ||||
| 								!(rover->spawnflags & FOF_RENDERPLANES) && | ||||
| 								!(rover->fofflags & FOF_RENDERALL)) | ||||
| 								rover->alpha = 1; | ||||
| 								rover->alpha = 0; | ||||
| 
 | ||||
| 							P_RemoveFakeFloorFader(rover); | ||||
| 							P_FadeFakeFloor(rover, | ||||
| 								rover->alpha, | ||||
| 								max(1, min(256, (args[4] & TMFT_RELATIVE) ? rover->alpha + destvalue : destvalue)), | ||||
| 								max(0, min(255, (args[4] & TMFT_RELATIVE) ? rover->alpha + destvalue : destvalue)), | ||||
| 								0,                                         // set alpha immediately
 | ||||
| 								false, NULL,                               // tic-based logic
 | ||||
| 								!(args[4] & TMFT_DONTDOEXISTS),      // do not handle FOF_EXISTS
 | ||||
|  | @ -8557,15 +8555,14 @@ static boolean P_FadeFakeFloor(ffloor_t *rover, INT16 sourcevalue, INT16 destval | |||
| 	if (rover->master->special == 258) // Laser block
 | ||||
| 		return false; | ||||
| 
 | ||||
| 	// If fading an invisible FOF whose render flags we did not yet set,
 | ||||
| 	// initialize its alpha to 1
 | ||||
| 	// If fading an invisible FOF whose render flags we did not yet set, initialize its alpha to 0
 | ||||
| 	if (dotranslucent && | ||||
| 		(rover->spawnflags & FOF_NOSHADE) && // do not include light blocks, which don't set FOF_NOSHADE
 | ||||
| 		!(rover->fofflags & FOF_FOG) && // do not include fog
 | ||||
| 		!(rover->spawnflags & FOF_RENDERSIDES) && | ||||
| 		!(rover->spawnflags & FOF_RENDERPLANES) && | ||||
| 		!(rover->fofflags & FOF_RENDERALL)) | ||||
| 		rover->alpha = 1; | ||||
| 		rover->alpha = 0; | ||||
| 
 | ||||
| 	if (fadingdata) | ||||
| 		alpha = fadingdata->alpha; | ||||
|  | @ -8651,7 +8648,7 @@ static boolean P_FadeFakeFloor(ffloor_t *rover, INT16 sourcevalue, INT16 destval | |||
| 	{ | ||||
| 		if (doexists && !(rover->spawnflags & FOF_BUSTUP)) | ||||
| 		{ | ||||
| 			if (alpha <= 1) | ||||
| 			if (alpha <= 0) | ||||
| 				rover->fofflags &= ~FOF_EXISTS; | ||||
| 			else | ||||
| 				rover->fofflags |= FOF_EXISTS; | ||||
|  | @ -8663,7 +8660,7 @@ static boolean P_FadeFakeFloor(ffloor_t *rover, INT16 sourcevalue, INT16 destval | |||
| 
 | ||||
| 		if (dotranslucent && !(rover->fofflags & FOF_FOG)) | ||||
| 		{ | ||||
| 			if (alpha >= 256) | ||||
| 			if (alpha >= 255) | ||||
| 			{ | ||||
| 				if (!(rover->fofflags & FOF_CUTSOLIDS) && | ||||
| 					(rover->spawnflags & FOF_CUTSOLIDS)) | ||||
|  | @ -8763,11 +8760,11 @@ static boolean P_FadeFakeFloor(ffloor_t *rover, INT16 sourcevalue, INT16 destval | |||
| 		else // clamp fadingdata->alpha to software's alpha levels
 | ||||
| 		{ | ||||
| 			if (alpha < 12) | ||||
| 				rover->alpha = destvalue < 12 ? destvalue : 1; // Don't even draw it
 | ||||
| 				rover->alpha = destvalue < 12 ? destvalue : 0; // Don't even draw it
 | ||||
| 			else if (alpha < 38) | ||||
| 				rover->alpha = destvalue >= 12 && destvalue < 38 ? destvalue : 25; | ||||
| 			else if (alpha < 64) | ||||
| 				rover->alpha = destvalue >=38 && destvalue < 64 ? destvalue : 51; | ||||
| 				rover->alpha = destvalue >= 38 && destvalue < 64 ? destvalue : 51; | ||||
| 			else if (alpha < 89) | ||||
| 				rover->alpha = destvalue >= 64 && destvalue < 89 ? destvalue : 76; | ||||
| 			else if (alpha < 115) | ||||
|  | @ -8783,7 +8780,7 @@ static boolean P_FadeFakeFloor(ffloor_t *rover, INT16 sourcevalue, INT16 destval | |||
| 			else if (alpha < 243) | ||||
| 				rover->alpha = destvalue >= 217 && destvalue < 243 ? destvalue : 230; | ||||
| 			else // Opaque
 | ||||
| 				rover->alpha = destvalue >= 243 ? destvalue : 256; | ||||
| 				rover->alpha = destvalue >= 243 ? destvalue : 255; | ||||
| 		} | ||||
| 	} | ||||
| 
 | ||||
|  | @ -8813,17 +8810,16 @@ static void P_AddFakeFloorFader(ffloor_t *rover, size_t sectornum, size_t ffloor | |||
| { | ||||
| 	fade_t *d; | ||||
| 
 | ||||
| 	// If fading an invisible FOF whose render flags we did not yet set,
 | ||||
| 	// initialize its alpha to 1
 | ||||
| 	// If fading an invisible FOF whose render flags we did not yet set, initialize its alpha to 0
 | ||||
| 	if (dotranslucent && | ||||
| 		(rover->spawnflags & FOF_NOSHADE) && // do not include light blocks, which don't set FOF_NOSHADE
 | ||||
| 		!(rover->spawnflags & FOF_RENDERSIDES) && | ||||
| 		!(rover->spawnflags & FOF_RENDERPLANES) && | ||||
| 		!(rover->fofflags & FOF_RENDERALL)) | ||||
| 		rover->alpha = 1; | ||||
| 		rover->alpha = 0; | ||||
| 
 | ||||
| 	// already equal, nothing to do
 | ||||
| 	if (rover->alpha == max(1, min(256, relative ? rover->alpha + destvalue : destvalue))) | ||||
| 	if (rover->alpha == max(0, min(255, relative ? rover->alpha + destvalue : destvalue))) | ||||
| 		return; | ||||
| 
 | ||||
| 	d = Z_LevelPoolCalloc(sizeof (*d)); | ||||
|  | @ -8836,7 +8832,7 @@ static void P_AddFakeFloorFader(ffloor_t *rover, size_t sectornum, size_t ffloor | |||
| 	d->ffloornum = (UINT32)ffloornum; | ||||
| 
 | ||||
| 	d->alpha = d->sourcevalue = rover->alpha; | ||||
| 	d->destvalue = max(1, min(256, relative ? rover->alpha + destvalue : destvalue)); // rover->alpha is 1-256
 | ||||
| 	d->destvalue = max(0, min(255, relative ? rover->alpha + destvalue : destvalue)); // rover->alpha is 0-255
 | ||||
| 
 | ||||
| 	if (ticbased) | ||||
| 	{ | ||||
|  |  | |||
		Loading…
	
	Add table
		
		Reference in a new issue
	
	 Eidolon
						Eidolon