Advertisement
Bambony

Highlight Players

Jul 5th, 2020
1,084
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #include <OpenGLES/ES2/gl.h>
  2. #include <OpenGLES/ES2/glext.h>
  3. #include "dlfcn.h"
  4. void (*_glDrawElements)(GLenum mode, GLsizei count, GLenum type, const void *indices);
  5. GLint (*_glGetUniformLocation)(GLuint program,const GLchar *name);
  6. GLint $glGetUniformLocation(GLuint program,const GLchar *name)
  7.  {
  8.  NSLog(@"%s",name);
  9.  return _glGetUniformLocation(program,name);
  10.  }
  11. //disable metal framework for unity
  12. %hook NSBundle
  13. + (id)bundleWithPath:(NSString *)fullPath
  14. {
  15.   if ([fullPath isEqual:@"/System/Library/Frameworks/Metal.framework"])
  16.   {
  17.     NSLog(@"distable metal framework");
  18.     return NULL;
  19.   }
  20.   return %orig(fullPath);
  21. }
  22. %end
  23.  
  24. void $glDrawElements(GLenum mode, GLsizei count, GLenum type, const void *indices) {
  25.     _glDrawElements(mode, count, type, indices);
  26.     if (mode != GL_TRIANGLES || count < 1000) return;{
  27.     GLint currProgram;
  28.     glGetIntegerv(GL_CURRENT_PROGRAM, &currProgram);
  29.     GLint id = _glGetUniformLocation(currProgram, "_BumpMap");
  30.     if (id == -1) return;
  31.     // draw elements on 2d screen coordinates level
  32.     glDepthRangef(1, 0.5);
  33. #define _DRAW_RGB_3 0,255,0
  34.     // enable and write rgb into frame buffer
  35.     glColorMask (_DRAW_RGB_3, 0);
  36.     glEnable(GL_BLEND);
  37.     glBlendFunc(GL_SRC_ALPHA, GL_ONE);
  38.     // draw chams on elements
  39. if([switches isSwitchOn:@"Highlight Players"]) {
  40.     _glDrawElements(mode, count, type, indices);
  41. }
  42.     // now cleaning up
  43.     glDepthRangef(0.5, 1);
  44.     glColorMask(1, 1, 1, 1);
  45.     glDisable(GL_BLEND);
  46. }
  47. }
  48. %ctor {
  49. MSHookFunction((dlsym(RTLD_DEFAULT, "glDrawElements")), (void *)$glDrawElements, (void **)&_glDrawElements);
  50. MSHookFunction((dlsym(RTLD_DEFAULT, "glGetUniformLocation")), (void *)$glGetUniformLocation, (void **)&_glGetUniformLocation);
  51. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement