Skip to content

Instantly share code, notes, and snippets.

View eXpl0it3r's full-sized avatar

Lukas Dürrenberger eXpl0it3r

View GitHub Profile
@eXpl0it3r
eXpl0it3r / IbEeaC.cpp
Last active October 10, 2018 20:44
I before E except after C
#include <iostream>
#include <fstream>
#include <string>
bool IbEeaC(const std::string& word)
{
for(auto position = word.find("ei"); position != std::string::npos; position = word.find("ei", position += 2))
{
if (position == 0 || word[position - 1] != 'c')
{
// Link statically with GLEW
#define GLEW_STATIC
// Headers
#include <GL/glew.h>
#include <SOIL.h>
#include <SFML/Window.hpp>
// Shader sources
const GLchar* vertexSource = R"glsl(
@eXpl0it3r
eXpl0it3r / main.cpp
Created June 10, 2018 22:07
Visual Studio - std::ftell performance issue - better example
#define _CRT_SECURE_NO_WARNINGS
#include <cstdio>
int main()
{
// Search the first 32MiB for a Z character
constexpr auto maxToRead = 32 * 1024 * 1024;
auto f = std::fopen("test.dat", "rb");
@eXpl0it3r
eXpl0it3r / main.cpp
Created June 10, 2018 21:19
Visual Studio - std::ftell performance issue
#define _CRT_SECURE_NO_WARNINGS
#include <cstdio>
#include <chrono>
int main()
{
using namespace std::chrono_literals;
auto f = std::fopen("test.dat", "rb");
@eXpl0it3r
eXpl0it3r / main.cpp
Created May 10, 2018 21:24
Example Input Test
#include <SFML/Graphics.hpp>
#include <iostream>
int main()
{
sf::RenderWindow window(sf::VideoMode(1280, 720), "Minimal, complete and verifiable example");
window.setFramerateLimit(60);
while (window.isOpen())
{
@eXpl0it3r
eXpl0it3r / main.cpp
Created April 27, 2018 09:29
SFML "Benchmark"
#include <random>
#include <vector>
#include <SFML/Graphics.hpp>
int main()
{
sf::RenderWindow window{ {1280, 720}, "Test window" };
std::random_device rd;
@eXpl0it3r
eXpl0it3r / Application.cpp
Created April 26, 2018 23:11
Sample SFML Setup
#include "Application.hpp"
Application::Application()
: m_window{{1280, 720}, "Sample SFML Setup"}
, m_shape{{200.f, 200.f}}
{
}
void Application::run()
{
@eXpl0it3r
eXpl0it3r / main.cpp
Created April 26, 2018 22:49
Sample Game
#include <SFML/Graphics.hpp>
#include <SFML/Audio.hpp>
#include "world.h"
int main()
{
initializegame();
generatecurrentlevel(levelnumber);
while(window.isOpen() && !sf::Keyboard::isKeyPressed(sf::Keyboard::Escape))
@eXpl0it3r
eXpl0it3r / faster.cpp
Created April 26, 2018 21:08
std::copy vs std::memcpy
#include<algorithm>
#include<cstddef>
#include<cstring>
auto data = new std::byte[100];
auto copy = new std::byte[100];
int main() {
std::copy(data, data + 100, copy);
std::memcpy(copy, data, 100);
auto arrowProps = createProjectileProperties({
position = position,
direction = direction,
speed = 10.0f,
size = {16.0f, 7.0f},
collisionRadius = 8.0f,
ttl = 120,
owner = owner,
texture = "assets.arrow"_hash
}, data)