Skip to content

Instantly share code, notes, and snippets.

View larsfu's full-sized avatar

Lars Funke larsfu

  • Technische Universität Dortmund
  • Dortmund
View GitHub Profile
@larsfu
larsfu / gist:e9e9a20d5b1e19c481c6
Created November 21, 2014 21:12
pascal triangle
#include <iostream>
using namespace std;
int main(void)
{
unsigned int n, k;
unsigned int indent;
unsigned int size = 8;
int **triangle = new int*[size];
#ifndef SERVER_CONTENT_HEADER
#define SERVER_CONTENT_HEADER
struct SOUND
{
int m_Id;
const char* m_pFilename;
};
struct SOUNDSET
{
const char* m_pName;
#ifndef ENGINE_DEMO_H
#define ENGINE_DEMO_H
#include "kernel.h"
class IDemoPlayer : public IInterface
{
MACRO_INTERFACE("demoplayer", 0)
public:
class CInfo
$ bam all
[ 1/16] #1 c++ src/engine/shared/demorec.cpp
src/engine/demo.h: In constructor »CDemoRecorder::CDemoRecorder(CSnapshotDelta*)«:
src/engine/demo.h:32: Fehler: »IDemoRecorder::~IDemoRecorder()« ist privat
src/engine/shared/demorec.cpp:13: Fehler: in diesem Zusammenhang
In file included from src/engine/shared/demorec.cpp:5:
src/engine/demo.h: In destructor »virtual CDemoRecorder::~CDemoRecorder()«:
src/engine/demo.h:32: Fehler: »IDemoRecorder::~IDemoRecorder()« ist privat
src/engine/shared/demorec.h:17: Fehler: in diesem Zusammenhang
src/engine/shared/demorec.cpp: At global scope:
[1/3] #1 c++ src/game/client/gameclient.cpp
In file included from src/engine/graphics.h:5,
from src/game/client/gameclient.cpp:2:
src/engine/kernel.h: In member function »TINTERFACE* IKernel::RequestInterface() [with TINTERFACE = IDemoRecorder]«:
src/game/client/gameclient.cpp:123: instantiated from here
src/engine/kernel.h:62: Fehler: incomplete type »IDemoRecorder« used in nested name specifier
bam: 'objs/game/client/gameclient.o' error 256
diff --git a/src/game/client/component.h b/src/game/client/component.h
index 410be62..6e4b371 100755
--- a/src/game/client/component.h
+++ b/src/game/client/component.h
@@ -23,6 +23,7 @@ protected:
class CRenderTools *RenderTools() const { return m_pClient->RenderTools(); }
class IConsole *Console() const { return m_pClient->Console(); }
class IDemoPlayer *DemoPlayer() const { return m_pClient->DemoPlayer(); }
+ class IDemoRecorder *DemoRecorder() const { return m_pClient->DemoRecorder(); }
class IServerBrowser *ServerBrowser() const { return m_pClient->ServerBrowser(); }
#ifndef ENGINE_SHARED_DEMOREC_H
#define ENGINE_SHARED_DEMOREC_H
#include <engine/demo.h>
#include "snapshot.h"
struct CDemoHeader
{
char m_aMarker[8];
char m_aNetversion[64];
const char *CClient::DemoRecorder_Start(const char *pFilename)
{
if(State() != IClient::STATE_ONLINE)
dbg_msg("demorec/record", "client is not online");
else
{
char aFilename[512];
str_format(aFilename, sizeof(aFilename), "demos/%s.demo", pFilename);
m_DemoRecorder.Start(Storage(), aFilename, GameClient()->NetVersion(), m_aCurrentMap, m_CurrentMapCrc, "client");
}
if(!DemoRecorder()->IsRecording())
{
MainView.VSplitLeft(100.0f, &Button, &MainView);
MainView.VSplitLeft(150.0f, &Button, &MainView);
if(DoButton_Menu(&s_DemoButton, Localize("Record demo"), 0, &Button))
{
// find filename
char aFilename[128];
time_t Time;
(gdb) bt
#0 __memcpy_ssse3 () at ../sysdeps/i386/i686/multiarch/memcpy-ssse3.S:1281
#1 0x08087c15 in CClient::OnDemoPlayerSnapshot(void*, int) ()
#2 0x080548da in CMenus::RenderGame(CUIRect) ()
#3 0x0806e5ac in CMenus::Render() ()
#4 0x0806ebdd in CMenus::OnRender() ()
#5 0x080508d7 in CGameClient::OnRender() ()
#6 0x08089527 in CClient::Render() ()
#7 0x0808ba9d in CClient::Run() ()
#8 0x0808bf7e in main ()